Where people come together to learn, code, and play. Custom-built HTTP server, site generator, and website from scratch using no external libraries. Goal is to be as minimalistic and fun as possible. http://projectdivar.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
SigPlace/ArcadeReader.java

127 lines
3.6 KiB

import java.nio.file.Path;
import readers.DDRReader;
import readers.ITGReader;
import readers.LoveLiveReader;
import readers.PopnReader;
import readers.Reader;
import readers.SoundVoltexReader;
public class ArcadeReader {
/*
* Important data we would like to know for all games:
* Score
* Rank (Probably implementation-specific)
* Note accuracy [List]
* Marvelous
* Perfect
* Great
* Good
* Bad
* OK
* Miss
* Difficulty
* Song Name / Title
* Percentage (Can be EX Score, a percentage accuracy or survival percent)
* Max Combo
* Other (Not used by the auto detecter, used for storing misc. data.)
*
* Notes about Readers:
* Love Live
* - Does not use: Marvelous, OK
* Project Diva
* - Does not use: Marvelous, OK
* - Fail condition is MISSxTAKE
* DDR
* - Does not use: Max Combo (Cannot calculate in combo carryover mode), Bad
* - Fail condition is E rank.
* Pop'n Music
* - Does not use: Marvelous, Bad, OK
* - Stores number of bars filled in Percentage.
* - Fail condition is <17 in the meter (max is 24)
* Sound Voltex
* - Sound Voltex uses the note accuracy list slots as follows:
* Early:
* Error - Marvelous
* Near - Perfect
* Critical - Great
* S-Critical - Good
* Critical - Bad
* Near - OK
* Error - Miss
* - Sound Voltex stores EX score in Percentage.
* - Max Combo is Max Chain
* - Sound Voltex will store additional data about accuracy of note types as such:
* {"chip":{"scritical":0,"critical":0,"near":0,"error":0},"long":{"scritical":0,"error":0},"vol":{"scritical":0,"error":0},"gauge":<excessive|normal>,"gauge_pct":100}
* //Also storing what type of clear gauge was met and the % of the gauge.
* - Fail condition is <70% normal gauge.
* IIDX
* - Not going to support right now.
*
*/
final int DDR_AAA=0;
final int DDR_AAPLUS=1;
final int DDR_AA=2;
final int DDR_AAMINUS=3;
final int DDR_APLUS=4;
final int DDR_A=5;
final int DDR_AMINUS=6;
final int DDR_BPLUS=7;
final int DDR_B=8;
final int DDR_BMINUS=9;
final int DDR_CPLUS=10;
final int DDR_C=11;
final int DDR_CMINUS=12;
final int DDR_DPLUS=13;
final int DDR_D=14;
final int ITG_QUAD=0;
final int ITG_TRI=1;
final int ITG_DOUB=2;
final int ITG_STAR=3;
final int ITG_SPLUS=4;
final int ITG_S=5;
final int ITG_SMINUS=6;
final int ITG_APLUS=7;
final int ITG_A=8;
final int ITG_AMINUS=9;
final int ITG_BPLUS=10;
final int ITG_B=11;
final int ITG_BMINUS=12;
final int ITG_CPLUS=13;
final int ITG_C=14;
final int ITG_CMINUS=15;
final int ITG_D=16;
final int LOVELIVE_SSS=0;
final int LOVELIVE_SS=1;
final int LOVELIVE_S=2;
final int LOVELIVE_A=3;
final int LOVELIVE_B=4;
final int LOVELIVE_C=5;
final int LOVELIVE_D=6;
final int POPN_S=0;
final int POPN_AAA=1;
final int POPN_AA=2;
final int POPN_A=3;
final int POPN_B=4;
final int POPN_C=5;
final int POPN_D=6;
final int POPN_E=7;
final int SDVX_S=0;
final int SDVX_AAAPLUS=1;
final int SDVX_AAA=2;
final int SDVX_AAPLUS=3;
final int SDVX_AA=4;
final int SDVX_APLUS=5;
final int SDVX_A=6;
final int SDVX_B=7;
final int SDVX_C=8;
final int SDVX_D=9;
public static void runTests() {
test("ddr1.png",DDRReader.class,
994790/*score*/,
0/*rank*/);
}
}