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