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":,"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*/); } }