diff --git a/.hgignore b/.hgignore index b29a2fa6af..7722d4a054 100644 --- a/.hgignore +++ b/.hgignore @@ -48,7 +48,7 @@ Docs/doxygen PBProject/build Xcode/build *.xcodeproj/xcuserdata -*.xcodeproj/project.xcworkspace/xcuserdata +*.xcodeproj/project.xcworkspace src/build-* src/Release-* src/libtomcrypt/build-* diff --git a/Data/AI.ini b/Data/AI.ini index 7ca232dfac..421c8757b7 100644 --- a/Data/AI.ini +++ b/Data/AI.ini @@ -39,17 +39,17 @@ WeightW2=30 WeightW1=50 [Skill5] -WeightMiss=8 -WeightW5=1 -WeightW4=1 +WeightMiss=2 +WeightW5=3 +WeightW4=5 WeightW3=5 WeightW2=30 WeightW1=55 [Skill6] -WeightMiss=8 -WeightW5=1 -WeightW4=1 +WeightMiss=2 +WeightW5=3 +WeightW4=5 WeightW3=5 WeightW2=30 WeightW1=55 diff --git a/Docs/Changelog_SSCformat.txt b/Docs/Changelog_SSCformat.txt index 721673f31d..75c9fe55ec 100644 --- a/Docs/Changelog_SSCformat.txt +++ b/Docs/Changelog_SSCformat.txt @@ -9,6 +9,10 @@ change to JSON, but it is unsure if this will be done. Implement .ssc at your own risk. ________________________________________________________________________________ +[v0.77] - Wolfman2000 +* Add the cache tag #STEPFILENAME to gain access to the proper #NOTES when + required. + [v0.76] - Wolfman2000 * Expand the #COMBOS tag to allow for Miss Combos. Anyone that is crazy enough to put in a 51 miss combo in their tags should be...oh wait: it's already diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 7f632cfb55..ce445d891e 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -8,6 +8,18 @@ ________________________________________________________________________________ StepMania 5.0 ????????? | 20110??? -------------------------------------------------------------------------------- +2011/07/19 +---------- +* [LoadingWindow] Added the ability for themes to have custom splash banners. + (Currently Windows-only.) [AJ] + +2011/07/17 +---------- +* [Cache] No longer store #NOTES in the cache. This should speed things up + on the first load if there is not much to write. (General note: this was + taken from another branch, but results at that point were great.) + [Wolfman2000] + 2011/07/13 ---------- * [Difficulty] Allow ALL StepsTypes to use CustomDifficulty properly. diff --git a/Docs/SimfileFormats/ssc_msd5.txt b/Docs/SimfileFormats/ssc_msd5.txt index 07ae7177ed..b8e5a2aea3 100644 --- a/Docs/SimfileFormats/ssc_msd5.txt +++ b/Docs/SimfileFormats/ssc_msd5.txt @@ -25,15 +25,15 @@ #SAMPLELENGTH:; #DISPLAYBPM:[xxx][xxx:xxx]|[*]; #SELECTABLE:; -#LASTBEATHINT:; +#LASTSECONDHINT:; #BGCHANGES:; #FGCHANGES:; #KEYSOUNDS:; #ATTACKS:; // stored in cache -#FIRSTBEAT:; // calculated -#LASTBEAT:; // calculated +#FIRSTSECOND:; // calculated +#LASTSECOND:; // calculated #SONGFILENAME:; #MUSICBYTES:; // ignored by loader #HASMUSIC:; @@ -66,5 +66,8 @@ #ATTACKS:; #DISPLAYBPM:; -// actual step data +// only in cache files +#STEPFILENAME:; + +// actual step data (not in cache files) #NOTES:; diff --git a/Installer/custom-sm5.bmp b/Installer/custom-sm5.bmp index 4d4a4490d8..17c427c6b4 100644 Binary files a/Installer/custom-sm5.bmp and b/Installer/custom-sm5.bmp differ diff --git a/Installer/header-sm5.bmp b/Installer/header-sm5.bmp index 8b5662310f..73a0be357f 100644 Binary files a/Installer/header-sm5.bmp and b/Installer/header-sm5.bmp differ diff --git a/Installer/install.ico b/Installer/install.ico index 6a5de183f0..60a8122e56 100644 Binary files a/Installer/install.ico and b/Installer/install.ico differ diff --git a/Installer/welcome-sm5.bmp b/Installer/welcome-sm5.bmp index e460d85781..08b7d503bf 100644 Binary files a/Installer/welcome-sm5.bmp and b/Installer/welcome-sm5.bmp differ diff --git a/Songs/StepMania 5/MechaTribe Assault/Mecha-Tribe Assault.ssc b/Songs/StepMania 5/MechaTribe Assault/Mecha-Tribe Assault.ssc index a053075757..48cc7a4d43 100644 --- a/Songs/StepMania 5/MechaTribe Assault/Mecha-Tribe Assault.ssc +++ b/Songs/StepMania 5/MechaTribe Assault/Mecha-Tribe Assault.ssc @@ -1,4 +1,4 @@ -#VERSION:0.76; +#VERSION:0.77; #TITLE:Mecha-Tribe Assault; #SUBTITLE:; #ARTIST:Kommisar; @@ -17,49 +17,42 @@ #SAMPLESTART:48.018002; #SAMPLELENGTH:16.040001; #SELECTABLE:YES; -#BPMS:0.000000=180.000000 -; +#BPMS:0.000000=180.000000; #STOPS:; #DELAYS:; #WARPS:; -#TIMESIGNATURES:0.000000=4=4 -; -#TICKCOUNTS:0.000000=2 -; -#COMBOS:0.000000=1 -; -#SPEEDS:0.000000=1.000000=0.000000=0 -; -#SCROLLS:0.000000=1.000000 -; -#LABELS:0.000000=Song Start -,16.000000=Verse 1A -,32.000000=Verse 1B -,48.000000=Verse 2A -,64.000000=Verse 2B -,80.000000=Verse 3A -,96.000000=Verse 3B -,112.000000=Verse 4A -,128.000000=Verse 4B -,144.000000=Verse 5A -,160.000000=Verse 5B -,176.000000=Verse 6A -,192.000000=Verse 6B -,208.000000=Verse 7A -,224.000000=Verse 7B -,240.000000=Verse 8A -,256.000000=Verse 8B -,272.000000=Verse 9A -,288.000000=Verse 9B -,304.000000=Fin -; +#TIMESIGNATURES:0.000000=4=4; +#TICKCOUNTS:0.000000=4; +#COMBOS:0.000000=1; +#SPEEDS:0.000000=1.000000=0.000000=0; +#SCROLLS:0.000000=1.000000; +#LABELS:0.000000=Song Start, +16.000000=Verse 1A, +32.000000=Verse 1B, +48.000000=Verse 2A, +64.000000=Verse 2B, +80.000000=Verse 3A, +96.000000=Verse 3B, +112.000000=Verse 4A, +128.000000=Verse 4B, +144.000000=Verse 5A, +160.000000=Verse 5B, +176.000000=Verse 6A, +192.000000=Verse 6B, +208.000000=Verse 7A, +224.000000=Verse 7B, +240.000000=Verse 8A, +256.000000=Verse 8B, +272.000000=Verse 9A, +288.000000=Verse 9B, +304.000000=Fin; #BGCHANGES:; #KEYSOUNDS:; #ATTACKS:; //---------------dance-single - ---------------- #NOTEDATA:; -#CHARTNAME:Wyde: +#CHARTNAME:Wyde; #STEPSTYPE:dance-single; #DESCRIPTION:; #CHARTSTYLE:; @@ -105,8 +98,7 @@ ,288.000000=Verse 9B ,304.000000=Fin ; -#ATTACKS: -; +#ATTACKS:; #NOTES: 0000 0000 @@ -1015,7 +1007,7 @@ M000 //---------------dance-single - ---------------- #NOTEDATA:; -#CHARTNAME:Wyde: +#CHARTNAME:Wyde; #STEPSTYPE:dance-single; #DESCRIPTION:; #CHARTSTYLE:; @@ -1061,8 +1053,7 @@ M000 ,288.000000=Verse 9B ,304.000000=Fin ; -#ATTACKS: -; +#ATTACKS:; #NOTES: 0000 0000 @@ -1863,7 +1854,7 @@ M100 //---------------dance-single - ---------------- #NOTEDATA:; -#CHARTNAME:Wyde: +#CHARTNAME:Wyde; #STEPSTYPE:dance-single; #DESCRIPTION:; #CHARTSTYLE:; @@ -1909,8 +1900,7 @@ M100 ,288.000000=Verse 9B ,304.000000=Fin ; -#ATTACKS: -; +#ATTACKS:; #NOTES: 0000 0000 @@ -2535,7 +2525,7 @@ M100 //---------------dance-single - ---------------- #NOTEDATA:; -#CHARTNAME:Wyde: +#CHARTNAME:Wyde; #STEPSTYPE:dance-single; #DESCRIPTION:; #CHARTSTYLE:; @@ -2581,8 +2571,7 @@ M100 ,288.000000=Verse 9B ,304.000000=Fin ; -#ATTACKS: -; +#ATTACKS:; #NOTES: 0000 0000 @@ -3119,7 +3108,7 @@ M100 //---------------dance-single - ---------------- #NOTEDATA:; -#CHARTNAME:Wyde: +#CHARTNAME:Wyde; #STEPSTYPE:dance-single; #DESCRIPTION:; #CHARTSTYLE:; @@ -3165,8 +3154,7 @@ M100 ,288.000000=Verse 9B ,304.000000=Fin ; -#ATTACKS: -; +#ATTACKS:; #NOTES: 0000 0000 @@ -3555,7 +3543,7 @@ M00M //---------------dance-solo - ---------------- #NOTEDATA:; -#CHARTNAME:Hard: +#CHARTNAME:Hard; #STEPSTYPE:dance-solo; #DESCRIPTION:; #CHARTSTYLE:Pad; @@ -3602,8 +3590,7 @@ M00M ,288.000000=Verse 9B ,304.000000=Fin ; -#ATTACKS: -; +#ATTACKS:; #NOTES: 000000 000000 @@ -4424,7 +4411,7 @@ MMMMMM //---------------pump-single - ---------------- #NOTEDATA:; -#CHARTNAME:Vin.il: +#CHARTNAME:Vin.il; #STEPSTYPE:pump-single; #DESCRIPTION:; #CHARTSTYLE:Pad; @@ -4553,10 +4540,7 @@ MMMMMM ,288.000000=Verse 9B ,304.000000=Fin ; -#ATTACKS: -TIME=101.194664: -LEN=7.000000: -MODS=*0.2399996928003932 Reverse, Overhead; +#ATTACKS:TIME=101.194664:LEN=7.000000:MODS=*0.2399996928003932 Reverse, Overhead; #NOTES: 00000 00000 @@ -5481,7 +5465,7 @@ M0000 //---------------pump-single - ---------------- #NOTEDATA:; -#CHARTNAME:Vin.il: +#CHARTNAME:Vin.il; #STEPSTYPE:pump-single; #DESCRIPTION:; #CHARTSTYLE:Pad; @@ -5536,8 +5520,7 @@ M0000 ,288.000000=Verse 9B ,304.000000=Fin ; -#ATTACKS: -; +#ATTACKS:; #NOTES: 00000 00000 @@ -6354,7 +6337,7 @@ M0000 //---------------pump-single - ---------------- #NOTEDATA:; -#CHARTNAME:Vin.il: +#CHARTNAME:Vin.il; #STEPSTYPE:pump-single; #DESCRIPTION:; #CHARTSTYLE:Pad; @@ -6458,8 +6441,7 @@ M0000 ,288.000000=Verse 9B ,304.000000=Fin ; -#ATTACKS: -; +#ATTACKS:; #NOTES: 00000 00000 @@ -7016,7 +6998,7 @@ M0000 //---------------dance-couple - Simple Chart---------------- #NOTEDATA:; -#CHARTNAME:Small Tribe: +#CHARTNAME:Small Tribe; #STEPSTYPE:dance-couple; #DESCRIPTION:Simple Chart; #CHARTSTYLE:Pad; @@ -7064,377 +7046,376 @@ M0000 ; #ATTACKS:; #NOTES: -// measure 0 00000000 00000000 00000000 00000000 -, // measure 1 +, 00000000 00000000 00000000 00000000 -, // measure 2 +, 00000000 00000000 00000000 00000000 -, // measure 3 +, 00000000 00000000 00000000 00000000 -, // measure 4 +, 10000001 00000000 00000000 00000000 -, // measure 5 +, 01000010 00000000 00000000 00000000 -, // measure 6 +, 00100100 00000000 00000000 00000000 -, // measure 7 +, 00011000 00000000 00000000 00000000 -, // measure 8 +, 01000010 00000000 00000000 00000000 -, // measure 9 +, 00100100 00000000 00000000 00000000 -, // measure 10 +, 10000001 00000000 00000000 00000000 -, // measure 11 +, 00011000 00000000 00000000 00000000 -, // measure 12 +, 10000001 00000000 00100001 00000000 -, // measure 13 +, 10000001 00000000 00100001 00000000 -, // measure 14 +, 01001000 00000000 00011000 00000000 -, // measure 15 +, 01001000 00000000 00011000 00000000 -, // measure 16 +, 00100010 00000000 01000010 00000000 -, // measure 17 +, 00100010 00000000 01000010 00000000 -, // measure 18 +, 10000100 00000000 00010100 00000000 -, // measure 19 +, 20020200 00000000 00000000 30030300 -, // measure 20 +, 10000001 00000000 10000100 00000000 -, // measure 21 +, 10000001 00000000 10000100 00000000 -, // measure 22 +, 00010010 00000000 00011000 00000000 -, // measure 23 +, 00010010 00000000 00011000 00000000 -, // measure 24 +, 01000100 00000000 01000010 00000000 -, // measure 25 +, 01000100 00000000 01000010 00000000 -, // measure 26 +, 00100001 00000000 00101000 00000000 -, // measure 27 +, 00202002 00000000 00000000 00303003 -, // measure 28 +, 00000001 00100000 00000100 00010000 -, // measure 29 +, 00001000 10000000 00000100 00100000 -, // measure 30 +, 00000001 01000000 00000010 00010000 -, // measure 31 +, 20000002 32000203 03200320 00322030 -, // measure 32 +, 10033000 00000100 00100000 00001000 -, // measure 33 +, 00010000 00000001 00100000 00000100 -, // measure 34 +, 10000000 00000010 01000000 00001000 -, // measure 35 +, 20000002 30200023 02300230 03022300 -, // measure 36 +, 10033010 00000000 00011000 00000000 -, // measure 37 +, 00100100 00000000 01000001 00000000 -, // measure 38 +, 10000010 00000000 01000100 00000000 -, // measure 39 +, 02202000 00000000 00000000 03303000 -, // measure 40 +, 01000001 00000000 00011000 00000000 -, // measure 41 +, 00100100 00000000 10000010 00000000 -, // measure 42 +, 01000001 00000000 00100010 00000000 -, // measure 43 +, 00020220 00000000 00000000 00030330 -, // measure 44 +, 10000001 00001000 00010100 00010010 -, // measure 45 +, 01000100 00001000 00100010 00100100 -, // measure 46 +, 10000001 00000010 01000100 01000010 -, // measure 47 +, 00200002 00000000 00000000 00300003 -, // measure 48 +, 10000001 00010000 00101000 01001000 -, // measure 49 +, 00100010 00010000 01000100 00100100 -, // measure 50 +, 10000001 01000000 00100010 01000010 -, // measure 51 +, 20000200 00000000 00000000 30000300 -, // measure 52 +, 00022000 00000000 00000000 20033002 -, // measure 53 +, 30200203 00000000 02300320 00000000 -, // measure 54 +, 03022030 00000000 00000000 00100100 -, // measure 55 +, 00233200 00000000 00000000 00000000 -, // measure 56 +, 02300320 00000000 23000032 00000000 -, // measure 57 +, 30200203 00000000 02300320 00000000 -, // measure 58 +, 03022030 00000000 20033002 00000000 -, // measure 59 +, 32000023 00000000 03200230 00000000 -, // measure 60 +, 00322300 00000000 00000000 00000000 -, // measure 61 +, 20033002 00000000 00000000 00000000 -, // measure 62 +, 30200203 00000000 00000000 01000010 -, // measure 63 +, 02300320 00000000 00000000 00000000 -, // measure 64 +, 03022030 00000000 20033002 00000000 -, // measure 65 +, 30200203 00000000 02300320 00000000 -, // measure 66 +, 03022030 00000000 00233200 00000000 -, // measure 67 +, 02300320 00000000 23000032 00000000 -, // measure 68 +, 30011003 00000000 00000000 00000000 -, // measure 69 +, 01100110 00000000 00000000 00000000 -, // measure 70 +, 10011001 00000000 00000000 10011001 -, // measure 71 +, 10011001 00000000 00000000 00000000 -, // measure 72 +, 01100110 00000000 00000000 00000000 -, // measure 73 +, 10011001 00000000 00000000 00000000 -, // measure 74 +, 01100110 00000000 00000000 @@ -7443,14 +7424,1104 @@ M0000 00000000 00000000 20022002 -, // measure 75 +, 00000000 00000000 00000000 00000000 -, // measure 76 +, 30033003 00000000 00000000 00000000 ; + +//---------------dance-threepanel - It's a 3 panel chart.---------------- +#NOTEDATA:; +#CHARTNAME:Simple; +#STEPSTYPE:dance-threepanel; +#DESCRIPTION:It's a 3 panel chart.; +#CHARTSTYLE:Pad; +#DIFFICULTY:Easy; +#METER:2; +#RADARVALUES:0.144,0.214,0.105,0.000,0.000,95.000,11.000,0.000,0.000,0.000,0.000,0.000,0.000,0.144,0.214,0.105,0.000,0.000,95.000,11.000,0.000,0.000,0.000,0.000,0.000,0.000; +#CREDIT:Jason Felds; +#OFFSET:-0.028000; +#BPMS:0.000000=180.000000 +; +#STOPS:; +#DELAYS:; +#WARPS:; +#TIMESIGNATURES:0.000000=4=4 +; +#TICKCOUNTS:0.000000=2 +; +#COMBOS:0.000000=1 +; +#SPEEDS:0.000000=1.000000=0.000000=0 +; +#SCROLLS:0.000000=1.000000 +; +#FAKES:; +#LABELS:0.000000=Song Start +,16.000000=Verse 1A +,32.000000=Verse 1B +,48.000000=Verse 2A +,64.000000=Verse 2B +,80.000000=Verse 3A +,96.000000=Verse 3B +,112.000000=Verse 4A +,128.000000=Verse 4B +,144.000000=Verse 5A +,160.000000=Verse 5B +,176.000000=Verse 6A +,192.000000=Verse 6B +,208.000000=Verse 7A +,224.000000=Verse 7B +,240.000000=Verse 8A +,256.000000=Verse 8B +,272.000000=Verse 9A +,288.000000=Verse 9B +,304.000000=Fin +; +#ATTACKS:; +#NOTES: +000 +000 +000 +000 +, +000 +000 +000 +000 +, +000 +000 +000 +000 +, +000 +000 +000 +000 +, +100 +000 +000 +000 +, +000 +000 +000 +000 +, +001 +000 +000 +000 +, +000 +000 +000 +000 +, +010 +000 +000 +000 +, +000 +000 +000 +000 +, +001 +000 +000 +000 +, +000 +000 +000 +000 +, +100 +000 +000 +000 +, +010 +000 +000 +000 +, +001 +000 +000 +000 +, +010 +000 +000 +000 +, +100 +000 +000 +000 +, +001 +000 +000 +000 +, +010 +000 +000 +000 +, +001 +000 +000 +000 +, +101 +000 +000 +000 +, +010 +000 +000 +000 +, +100 +000 +000 +000 +, +001 +000 +000 +000 +, +010 +000 +000 +000 +, +001 +000 +000 +000 +, +100 +000 +000 +000 +, +010 +000 +000 +000 +, +101 +000 +100 +000 +, +100 +000 +100 +000 +, +100 +000 +000 +000 +, +110 +000 +000 +000 +, +001 +000 +001 +000 +, +001 +000 +001 +000 +, +001 +000 +000 +000 +, +011 +000 +000 +000 +, +100 +000 +010 +000 +, +100 +000 +001 +000 +, +100 +000 +000 +000 +, +101 +000 +000 +000 +, +001 +000 +010 +000 +, +001 +000 +100 +000 +, +001 +000 +000 +000 +, +101 +000 +000 +000 +, +010 +000 +001 +000 +, +100 +000 +010 +000 +, +100 +000 +001 +000 +, +010 +000 +000 +000 +, +010 +000 +100 +000 +, +001 +000 +010 +000 +, +001 +000 +100 +000 +, +010 +000 +000 +000 +, +011 +000 +000 +000 +, +110 +000 +000 +000 +, +101 +000 +101 +000 +, +101 +000 +000 +000 +, +010 +000 +000 +001 +, +001 +000 +000 +100 +, +100 +000 +000 +010 +, +010 +000 +000 +000 +, +100 +000 +000 +001 +, +001 +000 +000 +010 +, +010 +000 +000 +001 +, +001 +000 +000 +100 +, +100 +000 +001 +000 +, +010 +000 +001 +000 +, +100 +000 +010 +000 +, +100 +000 +001 +000 +, +010 +000 +000 +000 +, +001 +000 +000 +000 +, +100 +000 +000 +010 +, +010 +000 +000 +000 +, +100 +000 +000 +000 +, +001 +000 +000 +000 +, +010 +000 +000 +000 +, +001 +000 +000 +000 +; + +//---------------pump-halfdouble - Community Skype Chart---------------- +#NOTEDATA:; +#CHARTNAME:Steam Pump; +#STEPSTYPE:pump-halfdouble; +#DESCRIPTION:Community Skype Chart; +#CHARTSTYLE:Pad; +#DIFFICULTY:Medium; +#METER:11; +#RADARVALUES:0.589,0.891,0.400,0.610,0.019,333.000,42.000,64.000,0.000,0.000,0.000,6.000,0.000,0.589,0.891,0.400,0.610,0.019,333.000,42.000,64.000,0.000,0.000,0.000,6.000,0.000; +#CREDIT:Jason Felds; +#OFFSET:-0.028000; +#BPMS:0.000000=180.000000 +; +#STOPS:; +#DELAYS:; +#WARPS:; +#TIMESIGNATURES:0.000000=4=4 +; +#TICKCOUNTS:0.000000=4 +; +#COMBOS:0.000000=1 +; +#SPEEDS:0.000000=1.000000=0.000000=0 +; +#SCROLLS:0.000000=1.000000 +; +#FAKES:; +#LABELS:0.000000=Song Start +,16.000000=Verse 1A +,32.000000=Verse 1B +,48.000000=Verse 2A +,64.000000=Verse 2B +,80.000000=Verse 3A +,96.000000=Verse 3B +,112.000000=Verse 4A +,128.000000=Verse 4B +,144.000000=Verse 5A +,160.000000=Verse 5B +,176.000000=Verse 6A +,192.000000=Verse 6B +,208.000000=Verse 7A +,224.000000=Verse 7B +,240.000000=Verse 8A +,256.000000=Verse 8B +,272.000000=Verse 9A +,288.000000=Verse 9B +,304.000000=Fin +; +#ATTACKS:; +#NOTES: +// measure 0 +000000 +000000 +000000 +000000 +, // measure 1 +000000 +000000 +000000 +000000 +, // measure 2 +000000 +000000 +000000 +000000 +, // measure 3 +000000 +000000 +000000 +000000 +, // measure 4 +000100 +000000 +000000 +001000 +000000 +000000 +000010 +000000 +, // measure 5 +000100 +000000 +000000 +000001 +000000 +000000 +000010 +000000 +, // measure 6 +000100 +000000 +000000 +000001 +000000 +000000 +000100 +000000 +, // measure 7 +010000 +000000 +000000 +001000 +000000 +000000 +100000 +000000 +, // measure 8 +001000 +000000 +000000 +000010 +000000 +000000 +000001 +000000 +, // measure 9 +000100 +000000 +000000 +000010 +000000 +000000 +010000 +000000 +, // measure 10 +001000 +000000 +000000 +100000 +000000 +000000 +000100 +000000 +, // measure 11 +010000 +000000 +000000 +000010 +000000 +000000 +001000 +000000 +, // measure 12 +000100 +100000 +000000 +101000 +000000 +001000 +000000 +011000 +, // measure 13 +000000 +010000 +000000 +010010 +000000 +000010 +000100 +000001 +, // measure 14 +001000 +000010 +000000 +000110 +000000 +000100 +000000 +000101 +, // measure 15 +000000 +000001 +000000 +001001 +000000 +001000 +000100 +010000 +, // measure 16 +000010 +001000 +000000 +001100 +000000 +000100 +000000 +010100 +, // measure 17 +000000 +010000 +000000 +011000 +000000 +001000 +100000 +000100 +, // measure 18 +001000 +000010 +000000 +010000 +000000 +000001 +000000 +100000 +, // measure 19 +000010 +000000 +000000 +0100L0 +000000 +000000 +0L0010 +000000 +000000 +0100L0 +000000 +000000 +010010 +000000 +000000 +000000 +, // measure 20 +001000 +000001 +000000 +000101 +000000 +000100 +000000 +000110 +, // measure 21 +000000 +000010 +000000 +010010 +000000 +010000 +001000 +100000 +, // measure 22 +000100 +010000 +000000 +011000 +000000 +001000 +000000 +101000 +, // measure 23 +000000 +100000 +000000 +100100 +000000 +000100 +001000 +000010 +, // measure 24 +010000 +000100 +000000 +001100 +000000 +001000 +000000 +001010 +, // measure 25 +000000 +000010 +000000 +000110 +000000 +000100 +000001 +001000 +, // measure 26 +000100 +010000 +000000 +000010 +000000 +100000 +000000 +000001 +, // measure 27 +010000 +000000 +000000 +0L0010 +000000 +000000 +0100L0 +000000 +000000 +0L0010 +000000 +000000 +010010 +000000 +000000 +000000 +, // measure 28 +000100 +010000 +000010 +001000 +, // measure 29 +000001 +100000 +001000 +010000 +, // measure 30 +000100 +001000 +000010 +010000 +, // measure 31 +000001 +000010 +000100 +001000 +010000 +100000 +110000 +000000 +, // measure 32 +001000 +000010 +010000 +000100 +, // measure 33 +100000 +000001 +000100 +000010 +, // measure 34 +001000 +000100 +010000 +000010 +, // measure 35 +100000 +010000 +001000 +000100 +000010 +000001 +000011 +000000 +, // measure 36 +000002 +000100 +000003 +000002 +001000 +000003 +000002 +010000 +, // measure 37 +000003 +000002 +100000 +000003 +000001 +000100 +000010 +001000 +, // measure 38 +000100 +001000 +000000 +000010 +000100 +000000 +000001 +001000 +, // measure 39 +000010 +000100 +000001 +010000 +000100 +001000 +001010 +000000 +, // measure 40 +200000 +001000 +300000 +200000 +000100 +300000 +200000 +000010 +, // measure 41 +300000 +200000 +000001 +300000 +100000 +001000 +010000 +000100 +, // measure 42 +001000 +000100 +000000 +010000 +001000 +000000 +100000 +000100 +, // measure 43 +010000 +001000 +100000 +000010 +001000 +000100 +010100 +000000 +, // measure 44 +200000 +000000 +300200 +002300 +000000 +003020 +020030 +030002 +, // measure 45 +000023 +000000 +000230 +002300 +000000 +003020 +020030 +032000 +, // measure 46 +203000 +000000 +320000 +032000 +000000 +003200 +000320 +000032 +, // measure 47 +010003 +000010 +010000 +000010 +010000 +000010 +010010 +000000 +, // measure 48 +000002 +000000 +020003 +030020 +000000 +002030 +003200 +200300 +, // measure 49 +302000 +000000 +023000 +030020 +000000 +002030 +003200 +000320 +, // measure 50 +000032 +000000 +000203 +000320 +000000 +020030 +032000 +203000 +, // measure 51 +300100 +001000 +000100 +001000 +000100 +001000 +001100 +000000 +, // measure 52 +000002 +000000 +000000 +200003 +, // measure 53 +300200 +000000 +002300 +000000 +, // measure 54 +003010 +010000 +000010 +010000 +, // measure 55 +000100 +001000 +000100 +001000 +, // measure 56 +000020 +001030 +002000 +003100 +, // measure 57 +000200 +010300 +020000 +030001 +, // measure 58 +000002 +100003 +200000 +300100 +, // measure 59 +000200 +010300 +020000 +030010 +, // measure 60 +000020 +000000 +002030 +003200 +, // measure 61 +200300 +000000 +300020 +000230 +, // measure 62 +000301 +100000 +000010 +010000 +, // measure 63 +000100 +001000 +000010 +010000 +, // measure 64 +000001 +000011 +000010 +000110 +, // measure 65 +000100 +001100 +001000 +011000 +, // measure 66 +010000 +110000 +100000 +100001 +, // measure 67 +000100 +010100 +001000 +001010 +, // measure 68 +001100 +000000 +000000 +000100 +010000 +000000 +000000 +010000 +, // measure 69 +001000 +000000 +000000 +001000 +100000 +000000 +000000 +100000 +, // measure 70 +000001 +000000 +000000 +000001 +000100 +000000 +000010 +000000 +, // measure 71 +001000 +000100 +010000 +000010 +, // measure 72 +001100 +000000 +000000 +001000 +000010 +000000 +000000 +000010 +, // measure 73 +000100 +000000 +000000 +000100 +000001 +000000 +000000 +000001 +, // measure 74 +100000 +000000 +000000 +100000 +001000 +000000 +010000 +000000 +, // measure 75 +000100 +000000 +001000 +000000 +000010 +000000 +020000 +002000 +, // measure 76 +000000 +000000 +000000 +000000 +, // measure 77 +000000 +000000 +000000 +000000 +, // measure 78 +033000 +000000 +000000 +000000 +; diff --git a/Themes/_fallback/BGAnimations/ScreenGameplay background.lua b/Themes/_fallback/BGAnimations/ScreenGameplay background.lua new file mode 100644 index 0000000000..989e15f73d --- /dev/null +++ b/Themes/_fallback/BGAnimations/ScreenGameplay background.lua @@ -0,0 +1 @@ +return Def.ActorFrame { Name="YOU_WISH_YOU_WERE_PLAYING_BEATMANIA_RIGHT_NOW" }; \ No newline at end of file diff --git a/Themes/_fallback/BGAnimations/ScreenGameplay background.redir b/Themes/_fallback/BGAnimations/ScreenGameplay background.redir deleted file mode 100644 index 04b2ead777..0000000000 --- a/Themes/_fallback/BGAnimations/ScreenGameplay background.redir +++ /dev/null @@ -1 +0,0 @@ -_blank \ No newline at end of file diff --git a/Themes/_fallback/BGAnimations/ScreenNameEntryTraditional underlay/default.lua b/Themes/_fallback/BGAnimations/ScreenNameEntryTraditional underlay/default.lua index 994e3caf01..66e7d7daa7 100644 --- a/Themes/_fallback/BGAnimations/ScreenNameEntryTraditional underlay/default.lua +++ b/Themes/_fallback/BGAnimations/ScreenNameEntryTraditional underlay/default.lua @@ -46,26 +46,30 @@ function MakeScoreList(StagesAgo) OffCommand=cmd(linear,0.3;addx,150;diffusealpha,0); }; - LoadFont( "_regra bold 30px" ) .. { + LoadFont( "Common Normal" ) .. { +-- LoadFont( "_regra bold 30px" ) .. { Name="PlayerScoreP1"; InitCommand=cmd(x,-135;diffuse,color("#fdf991");shadowlength,0;zoom,0.6); OnCommand=cmd(x,-135;addx,50;zoom,0;diffusealpha,0;sleep,0.1;accelerate,0.3;addx,-50;diffusealpha,1;zoom,0.6); OffCommand=cmd(linear,0.3;diffusealpha,0); }; - LoadFont( "_regra bold 30px" ) .. { + LoadFont( "Common Normal" ) .. { +-- LoadFont( "_regra bold 30px" ) .. { Name="PlayerScoreP2"; InitCommand=cmd(x,135;diffuse,color("#abfe8e");shadowlength,0;zoom,0.6); OnCommand=cmd(x,135;addx,-50;zoom,0;diffusealpha,0;sleep,0.1;accelerate,0.3;addx,50;diffusealpha,1;zoom,0.6); OffCommand=cmd(linear,0.3;diffusealpha,0); }; - LoadFont( "_regra bold 30px" ) .. { + LoadFont( "Common Normal" ) .. { +-- LoadFont( "_regra bold 30px" ) .. { Name="MachineBestP1"; InitCommand=cmd(diffuse,color("#ffffff");shadowlength,0;zoom,0.5); OnCommand=cmd(x,-250;addx,-250;diffusealpha,1;decelerate,0.3;addx,250); OffCommand=cmd(linear,0.3;addx,-150;diffusealpha,0); }; - LoadFont( "_regra bold 30px" ) .. { + LoadFont( "Common Normal" ) .. { +-- LoadFont( "_regra bold 30px" ) .. { Name="MachineBestP2"; InitCommand=cmd(diffuse,color("#ffffff");shadowlength,0;zoom,0.5); OnCommand=cmd(x,250;addx,250;diffusealpha,1;decelerate,0.3;addx,-250); @@ -130,7 +134,7 @@ function MakeScoreList(StagesAgo) if visible then assert(CurrentPart[pn]); - c.Difficulty[pn]:SetDifficultyAndStepsTypeFrame( CurrentPart[pn] ); +-- c.Difficulty[pn]:SetDifficultyAndStepsTypeFrame( CurrentPart[pn] ); local hsl = MachineProfile:GetHighScoreList( Current, CurrentPart[pn] ); assert( hsl ); @@ -198,8 +202,8 @@ for i = 1,5 do }; end -children[#children+1] = - LoadActor( THEME:GetPathB("","_shared underlay") ) .. { OnCommand=cmd(); }; +--[[ children[#children+1] = + LoadActor( THEME:GetPathB("","_shared underlay") ) .. { OnCommand=cmd(); }; --]] children[#children+1] = LoadActor( "keyboard" ) .. { InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y+80); @@ -217,7 +221,8 @@ for pn in ivalues(PlayerNumber) do OffCommand=cmd(stoptweening;bouncebegin,0.3;zoom,0;addx,-200*P1); }; - children[#children+1] = LoadFont( "_regra bold 30px" ) .. { + children[#children+1] = LoadFont( "Common Normal" ) .. { +-- children[#children+1] = LoadFont( "_regra bold 30px" ) .. { Name="PlayerText"; InitCommand=cmd(x,pn == PLAYER_1 and (SCREEN_CENTER_X-WideScale(310,330)) or (SCREEN_CENTER_X+WideScale(198,204)); halign,0; diff --git a/Themes/_fallback/BGAnimations/ScreenNameEntryTraditional underlay/keyboard.lua b/Themes/_fallback/BGAnimations/ScreenNameEntryTraditional underlay/keyboard.lua index 052c378720..08852dbaba 100644 --- a/Themes/_fallback/BGAnimations/ScreenNameEntryTraditional underlay/keyboard.lua +++ b/Themes/_fallback/BGAnimations/ScreenNameEntryTraditional underlay/keyboard.lua @@ -19,7 +19,8 @@ end local MapNameToLetter = {}; local MapLetterToName = {}; -local letter = LoadFont( "_regra bold 30px" ) .. { +local letter = LoadFont( "Common Normal" ) .. { +-- local letter = LoadFont( "_regra bold 30px" ) .. { InitCommand=cmd(zoom,0.8;shadowlength,0); PulseCommand = function(self) self:finishtweening(); @@ -37,13 +38,18 @@ for l in ivalues(Letters) do Text = l; }; if l == "BACK" or l == "ENTER" then - children[#children].File = THEME:GetPathF("", "_venacti 26px normal"); + children[#children].File = THEME:GetPathF("", "Common Normal"); +-- children[#children].File = THEME:GetPathF("", "_venacti 26px normal"); end; end; -children[#children+1] = LoadActor( THEME:GetPathS(Var "LoadingScreen", "type key") ) .. { Name = "Type"; SupportPan = true; } +--[[ children[#children+1] = LoadActor( THEME:GetPathS(Var "LoadingScreen", "type key") ) .. { Name = "Type"; SupportPan = true; } children[#children+1] = LoadActor( THEME:GetPathS(Var "LoadingScreen", "back") ) .. { Name = "Back"; SupportPan = true; } children[#children+1] = LoadActor( THEME:GetPathS(Var "LoadingScreen", "enter") ) .. { Name = "Enter"; SupportPan = true; } -children[#children+1] = LoadActor( THEME:GetPathS(Var "LoadingScreen", "move cursor") ) .. { Name = "Move"; SupportPan = true; } +children[#children+1] = LoadActor( THEME:GetPathS(Var "LoadingScreen", "move cursor") ) .. { Name = "Move"; SupportPan = true; } --]] +children[#children+1] = LoadActor( THEME:GetPathS("Common", "value") ) .. { Name = "Type"; SupportPan = true; } +children[#children+1] = LoadActor( THEME:GetPathS("Common", "cancel") ) .. { Name = "Back"; SupportPan = true; } +children[#children+1] = LoadActor( THEME:GetPathS("Common", "start") ).. { Name = "Enter"; SupportPan = true; } +children[#children+1] = LoadActor( THEME:GetPathS("MusicWheel", "change") ) .. { Name = "Move"; SupportPan = true; } local CursorFiles = { [PLAYER_1] = "Cursor P1", diff --git a/Themes/_fallback/Graphics/Common splash.png b/Themes/_fallback/Graphics/Common splash.png new file mode 100644 index 0000000000..2c365a3306 Binary files /dev/null and b/Themes/_fallback/Graphics/Common splash.png differ diff --git a/Themes/_fallback/Languages/en.ini_ b/Themes/_fallback/Languages/en.ini_ deleted file mode 100644 index 8a64fd7dcc..0000000000 --- a/Themes/_fallback/Languages/en.ini_ +++ /dev/null @@ -1,407 +0,0 @@ -# 01 # Global -# 02 # System -# 03 # Attract -# 04 # Base -# 05 # -# 06 # - -# 01 # -[ScreenDebugOverlay] -Debug Menu=Debug Menu - -Multitexture=Multitexture -Assist=Assist -Visual Delay Up=Visual Delay Up -Visual Delay Down=Visual Delay Down -Rendering Stats=Rendering Stats -Volume Up=Volume Up -Volume Down=Volume Down -Reload=Reload -Reload Theme and Textures=Reload Theme and Textures -Autosync=Autosync -Halt=Halt -Slow=Slow -Uptime=Uptime -Machine=Machine -Profile=Profile -CoinMode=CoinMode -Show Masks=Show Masks -Vsync=Vertical Sync -Write Preferences=Write Preferences -Monkey Input=Hampsterblade Mode -Send Off To Screen=Send Off To Screen -Send On To Screen=Send On To Screen -Write Profiles=Write Profiles -Lights Debug=Lights Debug -Fill Profile Stats=Fill Profile Stats -off=Off -Pull Back Camera=Pull Back Camera -Force Crash=Force Crash -Song=Song -Restart=Restart -on=On -Tempo=Tempo -Screen Test Mode=Screen Test Mode -AutoPlay=AutoPlay -Clear Profile Stats=Clear Profile Stats -Flush Log=Flush Log -%s in gameplay=%s in gameplay -Send Notes Ended=Send Notes Ended -or=or -CPU=CPU -Menu Timer=Menu Timer -# 02 # -[ScreenBookkeeping] -Coin Data by Day of Week, All-Time=Coin Data by Day of Week, All-Time -Coin Data of Last %d Weeks=Coin Data of Last %d Weeks -Coin Data of Last %d Days=Coin Data of Last %d Days -Coin Data by Hour of Day, All-Time=Coin Data by Hour of Day, All-Time -All-time Coin Total:=All-time Coin Total: -Total Song Plays: %d=Total Song Plays: %d -# 03 # - -# 04 # -[ScreenEdit] -%s notes=%s notes -Can't undo - no undo data.=Can't undo - no undo data. -Do you want to revert from disk?=Do you want to revert from disk? -Do you want to revert to your last save?=Do you want to revert to your last save? -Do you want to save changes before exiting?=Do you want to save changes before exiting? -Enter a new BPM value.=Enter a new BPM value. -Enter a new Stop value.=Enter a new Stop value. -Enter a new artist transliteration.=Enter a new artist transliteration. -Enter a new artist.=Enter a new artist. -Enter a new credit.=Enter a new credit. -Enter a new description.=Enter a new description. -Enter a new last beat hint.=Enter a new last beat hint. -Enter a new main title transliteration.=Enter a new main title transliteration. -Enter a new main title.=Enter a new main title. -Enter a new sub title transliteration.=Enter a new sub title transliteration. -Enter a new sub title.=Enter a new sub title. -More than %d notes per measure is not allowed. This change has been reverted.=More than %d notes per measure is not allowed. This change has been reverted. -No backgrounds available=No backgrounds available -EditHelpText=Up/Down:\n change beat\nLeft/Right:\n change snap\nNumber keys:\n add/remove\n tap note\nCreate hold note:\n Hold a number\n while moving\n Up or Down\nSpace bar:\n Set area\n marker\nEnter:\n Area Menu\nEscape:\n Main Menu\nF1:\n Show help\n -PlayRecordHelpText=Press START to end -Save successful.=Save successful. -Saved as SM and DWI.=Saved as SM and DWI. -Saved as SM.=Saved as SM. -Switched to=Switched to -The change has been reverted.=The change has been reverted. -This change creates more than %d notes in a measure.=This change creates more than %d notes in a measure. -This change creates notes past the end of the music and is not allowed.=This change creates notes past the end of the music and is not allowed. -This will destroy all unsaved changes.=This will destroy all unsaved changes. -Undo=Undo - -Current beat=Current beat -Current second=Current second -Snap to=Snap to -Selection beat=Selection beat -Difficulty=Difficulty -Description=Description -Main title=Main title -Subtitle=Subtitle -Tap Steps=Tap Steps -Jumps=Jumps -Hands=Hands -Holds=Holds -Mines=Mines -Rolls=Rolls -Beat 0 offset=Beat 0 offset -Preview Start=Preview Start -Preview Length=Preview Length -[ScreenEditMenu] -Continue with delete?=Continue with delete? -Enter a description for this edit.=Enter a description for this edit. -ExplanationAction=In this mode, you can edit existing notes patterns, create note patterns, or synchronize notes with the music. -ExplanationGroup=In this mode, you can edit existing notes patterns, create note patterns, or synchronize notes with the music. -ExplanationSong=In this mode, you can edit existing notes patterns, create note patterns, or synchronize notes with the music. -ExplanationSourceSteps=In this mode, you can edit existing notes patterns, create note patterns, or synchronize notes with the music. -ExplanationSourceStepsType=In this mode, you can edit existing notes patterns, create note patterns, or synchronize notes with the music. -ExplanationSteps=In this mode, you can edit existing notes patterns, create note patterns, or synchronize notes with the music. -ExplanationStepsType=In this mode, you can edit existing notes patterns, create note patterns, or synchronize notes with the music. -Profile name cannot be blank.=Profile name can not be blank. -The name you chose conflicts with another profile. Please use a different name.=The name you chose conflicts with another profile. Please use a different name. -These steps are produced by autogen. You do not need to delete them.=These steps are produced by autogen. You do not need to delete them. -These steps will be lost permanently.=These steps will be lost permanently. -This song is missing a music file and cannot be edited.=This song is missing a music file and can not be edited. -The song directory is read-only and cannot be edited.=The song directory is read-only and cannot be edited. -Blank=Blank -[ScreenMapControllers] -InvalidButton=That key can not be mapped. -%s slots=%s slots -[ScreenNetRoom] -Enter a description for the room:=Enter a description for the room: -Enter a password for the room (blank, no password):=Enter a password for the room (blank, no password): -Enter Room's Password:=Enter Room's Password: -[ScreenNetworkOptions] -Disconnected from server.=Disconnected from server. -Enter a network address.=Enter a network address. -Server failed: %s Code:%d=Server failed: %s Code:%d -Use 127.0.0.1 to connect to yourself.=Use 127.0.0.1 to connect to yourself. -Connect=Connect -Disconnect=Disconnect -ScoreOn=On -ScoreOff=Off -[ScreenOptionsCourseOverview] -Course saved successfully.=Course saved successfully. -Error saving course.=Error saving course. -Enter a name for the course.=Enter a name for the course. -Error saving workout.=Error saving workout. -Workout saved successfully.=Workout saved successfully. -Enter a name for the workout.=Enter a name for the workout. -[ScreenOptionsEditCourse] --Empty-=-Empty- -Song=Song -Steps=Steps -minutes=minutes -You must enable at least %d songs.=You must enable at least %d songs. -[ScreenOptionsManageCourses] -Error renaming file.=Error renameing file. -Continue with delete?=Continue with delete? -Enter a name for the course.=Enter a name for the course. -This course will be lost permanently.=This course will be lost permanently. -You have %d, the maximum number allowed.=You have %d, the maximum number allowed. -You must delete an existing before creating a new.=You must delete an existing before creating a new. -Error deleting the file '%s'.=Error deleting the file "%s". -[ScreenOptionsManageEditSteps] -Continue with delete?=Continue with delete? -Enter a name for these steps.=Enter a name for these steps. -These steps will be lost permanently.=These steps will be lost permanently. -You have %d step edits, the maximum number allowed.=You have %d step edits, the maximum number allowed. -You must delete an existing steps edit before creating a new steps edit.=You must delete an existing steps edit before creating a new steps edit. -[ScreenOptionsManageProfiles] -Are you sure you want to clear all data in the profile '%s'?=Are you sure you want to clear all data in the profile &oq;%s&cq;? -Are you sure you want to delete the profile '%s'?=Are you sure you want to delete the profile &oq;%s&cq;? -Enter a name for the profile.=Enter a -NewProfileDefaultName=New -[ScreenOptionsMasterPrefs] -Off=Off -[ScreenOptionsMemoryCard] -Error mounting card: %s=Error mounting card: %s -[ScreenPackages] -Download cancelled.=Download cancelled. -Enter URL=Enter URL -[ScreenSaveSync] -Choosing NO will discard your changes.=Choosing NO will discard your changes. -Would you like to save these changes?=Would you like to save these changes? -You have changed the timing of=You have changed the timing of -[ScreenServiceAction] -%d added=%d added -%d copied=%d copied -%d overwritten=%d overwritten -%d deleted=%d deleted -%d edits cleared, %d errors.=%d edits cleared, %d errors. -%d failed=%d failed -%d ignored=%d ignored -Bookkeeping data cleared.=Bookkeeping data cleared. -Copied from P%d card:=Copied from P%d card: -Copied to P%d card:=Copied to P%d card: -Edits not cleared - No memory cards ready.=Edits not cleared - No memory cards ready. -Edits not copied - No memory cards ready.=Edits not copied - No memory cards ready. -Error saving machine stats to P%d card.=Error saving machine stats to P%d card. -Machine stats cleared.=Machine stats cleared. -Machine stats loaded from P%d card.=Machine stats loaded from P%d card. -Machine stats saved to P%d card.=Machine stats saved to P%d card. -Preferences reset.=Preferences reset. -Stats not loaded - No memory cards ready.=Stats not loaded - No memory cards ready. -Stats not saved - No memory cards ready.=Stats not saved - No memory cards ready. -The profile on P%d card contains corrupt or tampered data.=The profile on P%d card contains corrupt or tampered data. -There is no machine profile on P%d card.=There is no machine profile on P%d card. -[ScreenSMOnlineLogin] -Each player needs a unique Profile.=Each player needs a unique Profile. -Enter your password.=Enter your password. -No Styles are selectable.=No Styles are selectable. -You are logging on as:=You are logging on as: -You must define a Profile.=You must define a Profile. -Depending on the server you're connected to, you may have to register for an account on their website.=Depending on the server you're connected to, you may have to register for an account on their website. -[ScreenSyncOverlay] -AutoPlay=AutoPlay -AutoPlayCPU=AutoPlayCPU -AutoSync Machine=AutoSync Machine -AutoSync Song=AutoSync Song -AutoSync Tempo=AutoSync Tempo -Can't sync while playing a course.=Can't sync while playing a course. -Sync changes reverted.=Sync changes reverted. -Revert sync changes=Revert sync changes -Current BPM - smaller/larger=Current BPM - smaller/larger -Song offset - notes earlier/later=Song offset - notes earlier/later -Machine offset - notes earlier/later=Machine offset - notes earlier/later -(hold Alt for smaller increment)=(hold Alt for smaller increment) -Old offset=Old offset -New offset=New offset -Collecting sample=Collecting sample -Standard deviation=Standard deviation -[ScreenSystemLayer] -CreditsCardChanged=CARD SWITCHED -CreditsCardChecking=CARD CHECK -CreditsCardMountFailed=CARD MOUNT ERROR -CreditsCardNoName=NoName -CreditsCardReady=READY -CreditsCardRemoved=CARD GONE -CreditsCardTestFailed=CARD WRITE ERROR -CreditsCardTooLate=CARD TOO LATE -CreditsCredits=CREDIT(S) -CreditsMax=(MAX) -CreditsFreePlay=FREE PLAY -CreditsInsertCard=INSERT CARD -CreditsLoadFailed=SIGNATURE FAILED -CreditsLoadedFromLastGoodAppend= (backup) -CreditsNotPresent=NOT PRESENT -CreditsPressStart=PRESS START -[ScreenTestFonts] -# W is annoying: -Text1=WWWWWWWWWWWW -# Realistic excerpt: -Text2=The argument goes something like this: &oq;I refuse to prove that I exist,&cq; says God, &oq;for proof denies faith, and without faith I am nothing.&cq;::::&oq;But,&cq; says Man, &oq;The Babel fish is a dead giveaway, isn't it? It could not have evolved by chance. It proves you exist, and so therefore, by your own arguments, you don't. QED.&cq;::::&oq;Oh dear,&cq; says God, &oq;I hadn't thought of that,&cq; and promptly vanished in a puff of logic. -# Numbers test: -Text3=01234567890 ::100.00% 12345% 9:00 50/100 -# General symbol test, and test alignment against another font. -Text4=$50% (Test) "test's" &oq;test's&cq;, #1! 1+2-3*4/5.6::3:00 a; b; 5<6 6>5 2^3=8 Why? test@example.com::[Foo] {bar} Press &START; 3|4 &oq;1_2_3&cq; -Text5= -[ScreenTestInput] -Controller=Controller -not mapped=not mapped -secondary=secondary -[ScreenTestLights] -Auto Cycle=Auto Cycle -Manual Cycle=Manual Cycle -cabinet light=cabinet light -controller light=controller light -[ScreenTextEntry] -Backspace=Backsp -Cancel=Cancel -Done=Done -HeaderText= -Space=Space -"%s" is an invalid floating point value.="%s" is an invalid floating point value. -[ScreenTitleMenu] -%d songs in %d groups=%d songs in %d groups -%d courses in %d groups=%d courses in %d groups -%d unlocks=%d unlocks -Gametype:=Gametype: -Difficulty:=Difficulty: -Announcer=Announcer -Play Online=Network Play -Edit/Share=Edit/Share -Exit=Exit -Game Start=Game Start -Jukebox=Jukebox -Select Game=Select Game -Theme=Theme -Credits=Credits -Options=Options -[AdjustSync] -%s BPM from %.3f BPM to %.3f BPM.=%s BPM from %.3f BPM to %.3f BPM. -Autosync Machine=Autosync Machine -Autosync Song=Autosync Song -Autosync Tempo=Autosync Tempo -Autosync: Correction NOT applied. Deviation too high.=Autosync: Correction NOT applied. Deviation too high. -Autosync: Correction applied.=Autosync: Correction applied. -Global Offset from %+.3f to %+.3f (notes %s)=Global Offset from %+.3f to %+.3f (notes %s) -Song offset from %+.3f to %+.3f (notes %s)=Song offset from %+.3f to %+.3f (notes %s) -The stop segment #%d changed from %+.3fs to %+.3fs (change of %+.3f).=The stop segment number #%d changed from %+.3fs to %+.3fs (change of %+.3f). -earlier=earlier -later=later -Average Error %.5fs=Average Error %.5fs -Etc.=Etc. -%d taps ignored.=%d taps ignored. -[Common] -WindowTitle=StepMania -StepMania=StepMania -[CourseUtil] -The course name cannot contain any of the following characters: %s=The course name cannot contain any of the following characters: %s -You must supply a name for your course.=You must supply a name for your course. -The name you chose conflicts with another course. Please use a different name.=The name you chose conflicts with another course. Please use a different name. -[GameCommand] -Could not launch web browser.=Could not launch web browser. -[NotesWriterSM] -Error renaming file. Destination file '%s' already exists.=Error renaming file. Destination file '%s' already exists. -Error writing file '%s'.=Error writing file '%s'. -[OptionRowHandler] -Off=Off -[RoomInfoDisplay] -Last Round Info:=Last Round Info: -Room Name:=Name: -Room Description:=Description: -Song Title:=Title: -Song Subtitle:=Subtitle: -Song Artist:=Artist: -Players=Players -[SongUtil] -You must supply a name for your new edit.=You must supply a name for your new edit. -The name you chose conflicts with another edit. Please use a different name.=The name you chose conflicts with another edit. Please use a different name. -The edit name cannot contain any of the following characters: %s=The edit name can not contain any of the following characters: %s -[Sort] -NotAvailable=N/A -Other=Other -[StepMania] -Announcer=Announcer -Couldn't open any loading windows.=Couldn't open any loading windows. -Fullscreen=Fullscreen -Initializing %s...=Initializing %s... -No video renderers attempted.=No video renderers attempted. -NoSmoothLines=NoSmoothLines -NoVsync=NoVsync -Please do not file this error as a bug! Use the web page below to troubleshoot this problem.=Please do not file this error as a bug! Use the web page below to troubleshoot this problem. -Service switch pressed=Service switch pressed -SmoothLines=SmoothLines -There was an error while initializing your video card.=There was an error while initializing your video card. -Unknown video renderer value: %s=Unknown video renderer value: %s -Video Driver: %s=Video Driver: %s -Vsync=Vsync -Windowed=Windowed -color=color -texture=texture -[DeviceButton] -Home=Home -End=End -Up=Up -Down=Down -Space=Space -Shift=Shift -Ctrl=Ctrl -Alt=Alt -Insert=Insert -Delete=Delete -PgUp=PgUp -PgDn=PgDn -Backslash=Backslash -[Arch] -Couldn't create a movie driver.=Couldn't create a movie driver. -Input Handlers cannot be empty.=Input Handlers can not be empty. -Movie Drivers cannot be empty.=Movie Drivers can not be empty. -Sound Drivers cannot be empty.=Sound Drivers can not be empty. -[LowLevelWindow_Win32] -OpenGL hardware acceleration is not available.=OpenGL hardware acceleration is not available. -[Dialog-Prompt] -Prompt=Prompt -OK=OK -&Don't display this message again=&Don't display this message again -Error=Error -[Dialog-Uninstall Old Packages] -Uninstall Old Packages=Uninstall Old Packages -&Yes=&Yes -&No=&No -Cancel=Cancel -The following packages are already installed. It is strongly recommended that they be deleted before installing this package.=The following packages are already installed. It is strongly recommended that they be deleted before installing this package. -Delete old packages?=Delete old packages? -[EditMenu] -Blank=Blank -[EditMenuRow] -Action=Action -Group=Group -Song=Song -SourceSteps=Fill Steps -SourceStepsType=Fill Type -Steps=Steps -StepsType=Type -[RoomWheel] -Enter room name=Enter room name -[RageDisplay_OGL] -Obtain an updated driver from your video card manufacturer.=Obtain an updated driver from your video card manufacturer. -GLDirect was detected. GLDirect is not compatible with this game and should be disabled.=GLDirect was detected. GLDirect is not compatible with this game and should be disabled. -[RageDisplay_D3D] -DirectX 8.1 or greater is not installed. You can download it from:=DirectX 8.1 or greater is not installed. You can download it from: -Your system is reporting that Direct3D hardware acceleration is not available. Please obtain an updated driver from your video card manufacturer.=Your system is reporting that Direct3D hardware acceleration is not available. Please obtain an updated driver from your video card manufacturer. -[RageDisplay] -SetVideoMode failed:=SetVideoMode failed: \ No newline at end of file diff --git a/Themes/_fallback/Languages/pl.ini b/Themes/_fallback/Languages/pl.ini new file mode 100644 index 0000000000..639574ad01 --- /dev/null +++ b/Themes/_fallback/Languages/pl.ini @@ -0,0 +1,2377 @@ +[Common] +WindowTitle=StepMania PL +StepMania=StepMania PL + +[Arch] +Couldn't create a movie driver.=Nie udało się utworzyć sterownika filmów. +Input Handlers cannot be empty.=Handlery wejściowe nie mogą być puste. +Movie Drivers cannot be empty.=Sterowniki Filmów nie mogą być puste. +Sound Drivers cannot be empty.=Sterowniki Dźwięku nie mogą być puste. + +[ArchHooks_Unix] +Couldn't find 'Songs'=Nie udało się znaleźć 'Songs' + +[CSMPackageInstallDlg] +Could not open file '%s'.=Nie udało się otworzyć pliku '%s'. +Installing. Please wait...=Instalacja. Proszę czekać... +'%s' is not a valid zip archive.='%s' nie jest prawidłowym archiwum ZIP. +Error opening source file '%s': %s=Błąd przy otwarciu pliku źródłowego '%s': %s +Error opening destination file '%s': %s=Błąd przy otwieraniu pliku docelowego '%s': %s +Error copying file '%s': %s=Błąd podczas kopiowania pliku '%s': %s +No Installations found. Exiting.=Nie znaleziono instalatorów. Przerywam. +Package installed successfully!=Pakiet zainstalowano pomyślnie! + +[CSmpackageApp] +The file Stats.xml has not yet been created. It will be created once the game is run.=Plik Stats.xml nie był jeszcze tworzony. Zostanie utworzony po pierwszym uruchomieniu gry. +Failed to open '%s': %s=Nie udało się otworzyć '%s': %s +The file '%s' does not exist. Aborting installation.=Plik '%s' nie istnieje. Przerywam instalację. + +[CSmpackageExportDlg] +No items are checked.=Nie zaznaczono żadnej opcji. +Successfully exported package '%s' to your Desktop.Eksport pakietu '%s' na twój Pulpit zakończony powodzeniem. +The following packages failed to export:=Tych pakietów nie udało się wyeksportować: +The following packages were exported to your Desktop:=Te pakiety zostały wyeksportowane na twój Pulpit: + +[CatalogXml] +Saving %s ...=Zapis %s ... + +[CustomDifficulty] +Beginner=Początkujący +Easy=Łatwy +Medium=Normalny +Hard=Trudny +Challenge=Ekspert +Edit=Zmodyfikowany +Couple=Duet +Routine=Układ +# +Freestyle=Freestyle +Crazy=Szaleństwo +Nightmare=Koszmar +HalfDouble=Half-Double + +[CourseDifficulty] +Beginner=Początkujący +Challenge=Ekspert +Hard=Trudny +Easy=Łatwy +Edit=Zmodyfikowany +Medium=Normalny + +[CourseEntryType] +Best=Najczęściej Wybierane +Fixed=Piosenka Zdefiniowana +Random=Piosenka Losowa +RandomWithinGroup=Piosenka Losowa z Grupy +Worst=Najżadziej wybierane + +[CourseType] +Endless=Nieskończony +Nonstop=Nonstop +Oni=Oni +Survival=Surwiwal + +[EditInstallations] +You must type a program directory before clicking Add.=Należy podać ścieżkę do katalogu programu przed wciśnięciem Dodaj. +'%s' is not a valid installation directory.='%s' nie jest poprawnym katalogiem instalacyjnym. + +[EditMenuAction] +Create=Utwórz Nowy Układ +Delete=Skasuj Istniejący Układ +Edit=Edytuj Istniejący Układ +Practice=Test + +[EditMenu] +Blank=Nowy Układ + +[EditMenuRow] +Action=Akcja +Group=Grupa +Song=Piosenka +SourceSteps=Źródło Kroków Poziom +SourceStepsType=Źródło Kroków Typ +Steps=Poziom +StepsType=Typ Kroków + +[GameButton] +Back=Cofnij +Down=Dół +Center=Środek +DownLeft=DółLewo +DownRight=DółPrawo +Coin=Wrzuć Żeton +Left=Lewo +MenuDown=MenuDół +MenuLeft=MenuLewo +MenuRight=MenuPrawo +MenuUp=MenuGóra +Operator=Operator +EffectUp=EffectGóra +EffectDown=EffectDół +Right=Prawo +Select=Wybierz +Start=Start +Up=Góra +UpLeft=GóraLewo +UpRight=GóraPrawo +Key1=Klawisz 1 +Key2=Klawisz 2 +Key3=Klawisz 3 +Key4=Klawisz 4 +Key5=Klawisz 5 +Key6=Klawisz 6 +Key7=Klawisz 7 +Scratch up=Scratch góra +Scratch down=Scratch dół +Fret1=Próg 1 +Fret2=Próg 2 +Fret3=Próg 3 +Fret4=Próg 4 +Fret5=Próg 5 +StrumUp=Struna Góra +StrumDown=Struna Dół +Tilt=Przechył +FootUpLeft=StopaGóraLewo +FootUpRight=StopaGóraPrawo +FootDown=StopaDół +HandUpLeft=RękaGóraLewo +HandUpRight=RękaGóraPrawo +HandLrLeft=RękaNiższeLewo +HandLrRight=RękaNiższePrawo + +[GameCommand] +Could not launch web browser.=Nie udało się uruchomić przeglądarki internetowej. + +[GameState] +CPU=CPU +Player 1=Gracz 1 +Player 2=Gracz 2 + +[Headers] +Edit Courses=Edycja Maratonów +Edit Steps=Edycja Piosenek +Jukebox=Odtwarzacz +Log In=Logowanie +Theme Options=Opcje Theme`u +Network Options=Opcje Sieciowe +Export Packages=Eksport Pakietów +Select Character=Wybierz Postać Tancerza +Select Course=Wybierz Maraton +Select Difficulty=Wybierz Poziomu Trudności +Select Music=Wybierz Piosenkę +Select Style=Wybierz Tryb +Set Time=Ustaw Zegar +Summary=Podsumowanie +Test Input=Test Urządzeń Wejściowych +Results=Rezultaty + +[HoldNoteScore] +Held=OK +LetGo=ŹLE +None=None + +[InputMapper] +Connected=Podłączony +Disconnected=Rozłączony +Auto-mapping all joysticks.=Auto-mapowanie wszystkich kontrolerów. + +[Language] +Name=Polski + +[LanguagesDlg] +Error parsing file '%s'.=Błąd przetwarzania pliku '%s'. +Error reading '%s'.=Błąd podczas odczytu '%s'. +Error reading line '%s' from '%s': Each line must have either 3 or 4 values. This row has %d values.=Błąd podczas odczytu linii '%s' z '%s': Każda linia musi mieć 3 lub 4 wartości. Ta linia ma %d wartość(ci). +Error reading file '%s'.=Błąd odczytu pliku '%s'. +Exported to your Desktop as '%s'.=Wyeksportowane na pulpit jako '%s'. +Failed to save '%s'.=Nie udało się zapisać '%s'. +Imported %d strings into '%s'.\n - %d were added.\n - %d were modified\n - %d were unchanged\n - %d empty strings were ignored=Zaimportowano %d ciągów do '%s'.\n - %d zostało dodane.\n - %d zostało zmodyfikowanych\n - %d zostało zmienionych\n - %d pustych ciągów zignorowano. +Importing these strings will override all data in '%s'. Continue?=Import tych ciągów nadpisze wszystkie dane w '%s'. Kontynuować? +There are no strings to export for this language.=Brak ciągów do eksportu dla tego języka. +This will permanently delete '%s'. Continue?=Operacja skasuje całkowicie '%s'. Kontynuować? + +[LowLevelWindow_X11] +Failed to establish a connection with the X server=Nie udało się nawiązać połączeniem z serwerem X`ów. + +[MainMenuDlg] +'%s' cleared='%s' wyczyszczony +'%s' doesn't exist. It will be created next time you start the game.='%s' nie istnieje. Zostanie utworzony przy następnym uruchomieniu gry. +'%s' is already cleared.='%s' został już wyczyszczony. +Failed to copy music file '%s' to '%s': %s=Nie udało się skopiować pliku z muzyką '%s' do '%s': %s +Failed to create directory '%s': %s=Nie udało się utworzyć katalogu '%s': %s +Failed to create song directory '%s': %s=Nie udało się utworzyć katalogu piosenki '%s': %s +Failed to create the song file '%s'.=Nie udało się utworzyć pliku z piosenką '%s'. +Failed to delete file '%s'.=Nie udało się skasować pliku '%s'. +Failed to open '%s': %s=Nie udało się otworzyć '%s': %s +Music file=Plik z muzyką +Success. Created the song '%s'.=Sukces. Utworzono piosenkę '%s'. +The song directory '%s' already exists. You cannot override an existing song.=Katalog piosenki '%s' już istnieje. Nie można nadpisywać istniejących piosenek. + +[MultiPlayer] +P1=P1 +P2=P2 +P3=P3 +P4=P4 +P5=P5 +P6=P6 +P7=P7 +P8=P8 +P9=P9 +P10=P10 +P11=P11 +P12=P12 +P13=P13 +P14=P14 +P15=P15 +P16=P16 +P17=P17 +P18=P18 +P19=P19 +P20=P20 +P21=P21 +P22=P22 +P23=P23 +P24=P24 +P25=P25 +P26=P26 +P27=P27 +P28=P28 +P29=P29 +P30=P30 +P31=P31 +P32=P32 + +[MusicWheel] +ArtistText=Artysta +BpmText=BPM +EasyMeterText=Poziom Łatwy +GenreText=Gatunek +GroupText=Grupa +HardMeterText=Poziom Trudny +ChallengeMeterText=Poziom Ekspert +DoubleEasyMeterText=Poziom Łatwy (Double) +DoubleMediumMeterText=Poziom Normalny (Double) +DoubleHardMeterText=Poziom Trudny (Double) +DoubleChallengeMeterText=Poziom Ekspert (Double) +LengthText=Czas Utworu +MediumMeterText=Poziom Normalny +PopularityText=Najczęściej wybierane! +Portal=Portal +PreferredText=Preferowane +Random=Losowa +Roulette=Ruletka +TitleText=Tytuł +RecentText=Ostatnio Wybrane +TopGradesText=Najwyższa ocena +CoursesText=Maratony +AllCoursesText=Wszystkie Maratony +NonstopText=Maratony Nonstop +OniText=Maratony Oni +EndlessText=Maratony Nieskończone +SurvivalText=Maratony Surwiwal +NormalModeText=Tryb Normalny +BattleModeText=Tryb Bitwy (Wyłączone) + +[NetworkSyncManager] +Connection failed.=Połączenie nieudane. +Connection to '%s' successful.=Połączenie do '%s' udane. +Connection to server dropped.=Połączenie z serwerem porzucone. +Initializing Client Network...=Inicjalizowanie Sieci Klienckiej... +Not Supported=Tryb nie działa w trakcie gry sieciowej. + +[NoteType] +4th=4ek +8th=8ek +12th=12ek +16th=16ek +24th=24ek +32nd=32ek +48th=48ek +64th=64ek +192nd=192ek + +[OptionExplanations] +Accel=Przyśpieszanie, Spowolnienie lub innymi słowy ustawienie prędkości strzałek. +AllowExtraStage=Włączony (nawet w trybie Impreza), pozwala by gracz mógł zdobyć możliwośc zagrania dodatkowej piosenki po spełnieniu pewnych określonych wymagań. +AllowW1=Włącza/wyłącza ocenę Fantastic. NIGDY - ocena wyłączona w każdym trybie, TYLKO MARATONY - użycie tylko podczas maratonów, ZAWSZE - działa w każdym trybie gry. +Announcer=Umożliwia wybór Komentatora. +Appearance=Wygląd +Appearance Options=Zmiana/wybór motywu graficznego, komentatora, innych opcji stylu. +Theme Options=Zmiana opcji specyficznych dla danego motywu graficznego. +ArcadeOptionsNavigation=&oq;Styl SM&cq;: Klawisz start przesuwa na koniec, Góra/Dół przełącza pomiędzy opcjami. &oq;Tryb Automatowy&cq;: Start przesuwa kursor do następnej opcji (Góra/Dół ignorowane). +Assist=Asysta +Attacks=Decyduje czy ataki nie przypisane do maratonów będą pojawiać się podczas gry. +AttractSoundFrequency=Ustawiony na ZAWSZE odgrywa muzykę na każdym ekranie prezentacyjnym. Opcja ustawiona na N-RAZY odgrywa dźwięku tylko N razy. +AutoAdjust=AutoKorekta +AutoMapOnJoyChange=Jeśli ta opcja jest włączona &oq;On&cq;, gra przemapuje automatycznie wszystkie, nie podłączone wcześniej, joystiki. Włączenie Automatycznego Mapowanie nadpisze wszystkie ręcznie ustawione mapowania. +AutoPlay=Ta opcja może być użyteczna dla tych którzy z jakiegoś niezrozumiałego powodu chcą grać bez maty. W trybie AutoPlay nie da się zapisywać wyników ani zdobywać możliwości grania dodatkowych piosenek. +AutogenGroupCourses=Pokazuje Maratony wygenerowane przez opcję AutoGen w grupach NonStop i Nieskończone. +AutogenSteps=Automatyczne generowanie kroków dla innych typów gier nie uwzględnionych w stepchart`cie. +BGBrightness=Ustala poziom jasność filmów odtwarzanych w tle piosenki. Zmniejsz wartość opcji jeśli masz trudności z widzeniem strzałek. +Background=Zmienia opcje kontrolujące tła odtwarzanych w trakcie gry. +BarDrain=Zużycie Energii +BatLives=Ilość pasków baterii +Bookkeeping=Statystyka rzuconych żetonów/monet/kredytów. +Calibrate Machine Sync=Kalibracja synchronizacji dźwięku. +CelShadeModels=Decyduje czy Postacie Tańczące w tle są generowane z użyciem algorytmu Cel Shading. +Center Image=Centrowanie obrazu monitora. +Characters=Tańczące Postacie +Clear Bookkeeping Data=Zerowanie statystyk wrzuconych żetonów/monet/kredytów. +Clear Machine Edits=Usunięcie wszystkich edycji kroków wgranych na maszynę. +Clear USB edits=Zerowanie plików programu na pamięci USB +Clear Machine Stats=Usunięcie wszystkich statystyk zapisanych na maszynie. +CoinMode=&oq;DOM&cq;: Opcje dostępne na ekranie tytułowym. &oq;PŁATNY&cq;: Opcje są ukryte. By zagrać trzeba wrzucić kredyt. &oq;GRA DARMOWA&cq;: Opcje są ukryte. Nie trzeba wrzucać kredytu by zagrać. +CoinModeNoHome=Kiedy tryb jest ustawiony na PŁATNY by zagrać należy wrzucić kredyt. Kiedy tryb jest ustawinye na GRA DARMOWA można grać bez wrzucania kredytu. +CoinsPerCredit=Liczba kredytów które muszą być wrzucone by móc zagrać (w trakcie trybu PŁATNY) +Connection=Połącz z serwerem +CourseSortOrder=Określa sposób sortowania Maratonów. +CreateNew= +Create New Course=Utwórz nowy Maraton. +Create New Profile=Utwórz nowy profil gracza. +DancePointsForOni=Decyduje czy w trybie Oni wyświetlane są punkty czy procenty. +DefaultFailType=NATYCHMIAST przerywa grę kiedy graczowi skończy się energia. 30 MISS`ów przerywa grę po następujących po sobie 30 niezaliczonych strzałkach. NA KONIEC PIOSENKI przerywa grę dopiero po na koniec piosenki nawet jeśli graczowi skończy się wcześniej energia. OFF wyłącza przerywanie gry. +DefaultFailTypeNoOff=NATYCHMIAST przerywa grę kiedy graczowi skończy się energia. 30 MISS`ów przerywa grę po następujących po sobie 30 niezaliczonych strzałkach. NA KONIEC PIOSENKI przerywa grę dopiero po na koniec piosenki nawet jeśli graczowi skończy się wcześniej energia. +DefaultNoteSkin=Ustala domyślny wygląd strzałek używanych podczas gry. +DelayedBack=Jeśli jest &oq;On&cq;, do przerwania gry jest koniecznie przytrzymanie klawisza BACK na 0.5 sekundy. Użyteczne jeśli ktoś często przypadkowo naciska ten klawisz na swojej macie. +DelayedTextureDelete=Włączona opcja powoduje że tekstury zostaną zatrzymane w pamięci. To eliminuje czas potrzebny na załadowanie ich ponownie. Nie ustawiać jeśli komputer posiada mniej niż 128MB RAM. +Delete= +Difficulty= +DisplayAspectRatio=Pozwala na ustawienie proporcji ekranu zastosowanego w monitorze, w celu uniknięcia deformacji wyświetlanej grafiki. +DisplayColorDepth=Głębia odwzorowania przestrzeni kolorów. Może nie działać w trybie okienkowym. +DisplayResolution=Rozdzielczość ekranu. Wyższa rozdzielczość wyświetla dokładniejszy obraz, ale wymaga szybszej karty graficznej. +EasterEggs=Włącza lub wyłącza ukryte w programie niespodzianki. +Edit Courses=Edycja Maratonów +Edit Songs/Steps=Edycja Piosenek +Practice Songs/Steps=Testowanie Piosenek +EditorShowBGChangesPlay=Wyświetlanie tła piosenki podczas gry. +Effect=Efekt +EnableAttackSounds=Włączenie opcji spowoduje że w momencie ataku będzie odgrywany dźwięk. +EnableMineHitSound=Włączenie opcji spowoduje że w momencie nastąpienia na minę będzie odegrany dźwięk wybuchu. +EventMode=Włączona opcja spowoduje że będzie można grać w nieskończoność. Zaliczenie, bądź niezaliczenie piosenki, za każdym razem przeniesie na ekran wyboru piosenki. +Exit= +Fail=Porażka +FastLoad=Włączona opcja spowoduje przyśpieszenie wczytywania piosenek podczas startu programu, po przez pominięcie sprawdzania ew. zmian w plikach piosenki. Należy na to zwrócić uwagę w trakcie tworzenia nowych piosenek. +Fill Machine Stats= +Game=Zmiana aktualnego trybu gry. +GetRankingName=Decyduje czy ekran wpisu do tabeli z wynikami jest włączony i w jakich sytuacjach wyświetlany. +Graphics/Sound Options=Opcje pozwalające na zmianę rozdzielczości i trybu pracy ekranu oraz opcje dzwięku. +Group=Grupa +HiddenSongs=Niektóre piosenki są dostępne tylko podczas trybu Oni, Maratonów lub w trybie Ruletki. Ta opcja powinna być wyłączona jeśli gra ma zawsze wyświetlać wszystkie piosenki. +Hide=Ukryj +Holds=Holdy +Insert=Wstaw +Insert Credit=Wrzuć Kredyt +Key Joy Mappings=Mapowanie klawiszy i przyciski padów, mat, joystików do poszczególnych funkcji oferowanych przez grę. +Language=Wybierz język aplikacji. +LifeDifficulty=Zwiększenie tej wartości sprawia że pasek energii wyczerpuje się szybciej i wolniej regeneruje. +LifeType=Rodzaj licznika energii. +Advanced Options=Można tu zmienić zaawansowane opcje programu takie jak system naliczania punktów, dokładność oceniania i zużycia paska energii. +MasterVolume= +HighResolutionTextures=Decyduje o użyciu przez program tekstur o wyższej rozdzielczości. Ustawiony tryb Auto spowoduje włączenie tekstur o wysokiej rozdzielczości przy ustawieni rozdzielczości ekranu wyższej niż 480. +MaxTextureResolution=Ustawia wielkość użytych tekstur. Każde ustawienie poniżej 1024 spowoduje że tekstury będą rozmyte, ale dzięki temu można zwiększyć framerate. +MenuTimer=Włącznie uruchamia licznik czasu na podjęcie decyzji np. podczas wyboru piosenki. +Mines=Miny +MoveRandomToEnd=Określa czy Maratony z losowymi piosenkami będą wyświetlane na końcu koła wyboru. +MovieColorDepth=Ustawienie głębi odwzorowania koloru filmów. +MusicWheelSwitchSpeed=Regulacja prędkości obrotu koła wyboru piosenek. +MusicWheelUsesSections=&oq;Zawsze&cq; oznacza że koło używa podziału na Grupy + ABC; &oq;Nigdy&cq; brak podziału; &oq;Tylko Tytuły&cq; używa tylko alfabetycznego sortowania po tytułach piosenek. +Network Options=Podłączanie do serwera sieciowego lub zmiana jego opcji. +No Memory Card=Nie znaleziono żadnych kart USB. +NoteSkins=Wygląd Strzałek +NumBackgrounds=Określa maksymalną liczbę losowych teł które są ładowanych za jednym razem do pamięci. +OnlyDedicatedMenuButtons=Pozwala na ograniczenie nawigacji programem do zdefiniowanych przycisków z pominięciem maty. Przed włączeniem "tylko przyciski dedykowane" należy się upewnić, że wspomniane przyciski są już prawidłowo zmapowane. +OptionsRandomJukebox= +OsMountPlayer1= +OsMountPlayer2= +Persp=Perspective +Player1Profile= +Player2Profile= +PlayerAutoPlay=PlayerAutoPlay +PreloadSounds=Włączona opcja spowoduje załadowanie większości dźwięków naraz do pamięci. Użycie zwiększa czas ładowania i normalnie opcja powinna być wyłączona. +Premium=Ustawia rodzaj używanego bonusu (Tryb Płatny) +Profile= +Export Packages=Eksport zainstalowanych piosenek i dodatków do pakietu .smzip. +Profiles=Zarządzanie profilami graczy. +ProgressiveLifebar=Ustawienie to ma wpływ na to, czy pomyłka (boo/miss) będzie skutkowała coraz większymi spadkami energii. OFF - Standardowe ustawienie, 8 - każda pomyłka będzie karana zwielokrotnionym ubytkiem energii w stosunku do pierwszej pomyłki. +ProgressiveNonstopLifebar=Ustawienie to decyduje czy pasek energii będzie opadał szybciej wraz z kolejnymi etapami w trybie NonStop. +ProgressiveStageLifebar=Ustawienie to decyduje czy pasek energii będzie opadał szybciej wraz z kolejnymi zaliczanymi piosenkami. (Nie działa w trybie Impreza) +ProTiming=Alternatywny, do tradycyjnego 5-cio stopniowego, sposób wyświetlania dokładności trafienia. +RandomBackgroundMode=Sposób wyświetlania tła. &oq;Animacje&cq; używa losowych animacji z folderu BGAnimations; &oq;Losowe Filmy&cq; cyklicznie odtwarza filmy z folderu RandomMovies. +More Options=Dostęp do bardziej zaawansowanych opcji. +RandomModifiers= +Rate=Tempo +RefreshRate=Kontrola częstotliwości odświeżania ekranu. Działa tylko w trybie pełnoekranowym. +Reload Songs=Ponowne przeładowanie wszystkich piosenek i maratonów. +Remove=Ułatwienia piosenki usuwające strzałki. +Rename= +Reset To Defaults=Przywrócenie wartości domyślnych dla wszystkich opcji. +SaveScores=Zapis wyników. +SaveReplays=Włączenie zapisywania powtórek. +SaveStats=Włączenie lub wyłączenie zapisywania pliku Stats.xml +ScoreDisplay=Wyświetlanie wyników. +Scoreboard=Wyświetlanie listy najlepszych wyników. +ScoringType=Określenie metody naliczania punktów. +Scroll=Przesuwanie +Select Group=Wybór grupy piosenek +Select Profile=Wybór profilu +Server=Uruchomienie lokalnego serwera stepmanii +Servers=Serwery +ShowBanners=Zarządzanie wyświetlaniem bannerów piosenek. +ShowBeginnerHelper=Włączona opcja wyświetla podczas gry na poziomie Początkujący, demonstrującą podstawowe ruchy postać tancerza. +ShowCaution=Wyświetlanie ekranu z ostrzeżeniem przed każdym rozpoczęciem gry. +ShowDancingCharacters=Wyświetlanie tańczących postaci w tle piosenki. +ShowDanger=Wyświetlanie błyskającego w tle ekranu z ostrzeżeniem o niskim poziomie energii podczas gry. +ShowInstructions=Wyświetlanie ekranu z Instrukcjami +ShowLyrics=Wyświetlanie dołączonych do piosenek tekstów ze słowami. (pliki .LRC) +ShowNativeLanguage=Przełączanie trybu wyświetlania tytułów piosenek. W języku ojczystym (日本語) lub gdzie to możliwe po przez transliterację. +ShowSelectGroup=Włączenie wyświetlania ekranu wyboru grupy piosenek. +ShowSongOptions=Ustawienie dostępności ekranu z opcjami utworu. Pozycja HIDE, opcje niedostępne. Pozycja SHOW, opcje zawsze będą pokazywane. Pozycja ASK, niewidoczne, jednakże dostepne poprzez naciśniecie przycisku start w sekundę po ekranie z opcjami gracza. +ShowStats=Wyświetlanie Statystyk Wydajności w prawym górnym rogu ekranu. FPS = liczba klatek na sec. TPF = liczba trójkątów na klatkę. DPF = liczba linii na klatkę. +SmoothLines=Wygładzanie krawędzi wykresu Groove Radar. +Center1Player=Wyśrodkowanie strzałek podczas gry tylko jednego gracza. +SongsPerPlay=Liczba piosenek w trakcie normalnej gry (przy wyłączonym trybie Imprezy) +SoundEffect=Efekty dźwiękowe +SoundResampleQuality=Ustawienie jakości resampligu. +SoundVolume=Regulacja poziomu dźwięku w grze. +SoundVolumeAttract=Regulacja poziomu dźwięku w trybie demonstracji. +Speed=Prędkość. +StepMania Credits=Autorzy uczestniczący w tworzeniu programu. +Steps=Kroki +Style= +Test Input=Test poprawności połączenia i mapowania mat, padów, joystików. +Test Lights=Test poprawności podłączonych świateł. +TextureColorDepth=Wybór głębi odwzorowania kolorów tekstur. 32bitowe tekstry zużywają więcej pamięci, ale ładniej wyglądają. +Theme=Wybór motywu graficznego. +TimingWindowScale=Zwiększenie tej wartości spowoduje że program będzie bardziej wymagajacy wobec graczy podczas trafiania w strzałki. Im wyższa wartość tym mniejsza tolerancja na pomyłkę ze strony gracza (mniej czasu na naciśnięcie strzałki). +Toggle Song=Włączenie piosenek +Turn=Obrót +Transfer Edits to USB=Transfer Zmodyfikowanych Układów Kroków do pamięci USB +Transfer Edits from USB=Transfer Zmodyfikowanych Układów Kroków z pamięci USB +UseUnlockSystem=Włączenie systemu odblokowywania piosenek. +VisualDelaySeconds=Kalibracja opóźnienia ekranu. +Vsync=Blokowanie framerate do czasu odświeżania ekranu, w celu uzyskania płynniejszego obrazu. Działa tylko w trybie pełnoekranowym. +WideScreen16_9=Włączenie obsługi ekranów panoramicznych. +WideScreen16_10=Włączenie obsługi ekranów panoramicznych. +Windowed=Przełączanie pomiędzy trybem okienkowym a pełnoekranowym. + +# +UI Options=Ustawienia różnych opcji interfejsu użytkownika. +Input Options=Ustawienia opcji takich jak opóźnienie i prędkość. +Arcade Options=Ustawienia opcji Automatowych takich jak licznik czasu w menu. +Select Game=Wybór trybu gry. +System Direction=Najczęściej zmienianie ustawienia. + +# +OnlyPreferredDifficulties=Tylko wybrane poziomy trudności. + +# +PercentageScoring=Sposób wyświetlania wyników: punkty czy procenty. + +# course +Select Course=Edytuj ten maraton +Max Minutes=Jak długi powinien być maraton. +Choose Song=Wybierz piosenkę do tego gniazda. +Choose Steps=Wybierz typ kroków dla tej piosenki. + + +Play=Odtwórz maraton +Save=Zapisz maraton. +Edit Course=Modyfikuj zawartość maratonu +Shuffle=Przemieszaj piosenki. + +# +GamePrefDefaultFail=Natychmiastowy tryb przegranej spowoduje śmierć gracza w momencie kiedy pasek energii osiągnie 0. NatychmiastowyKontynuowany pozwoli mu na dalszą grę. +# +UserPrefScoringMode=Wybór preferowanej metody naliczania punktacji poza trybem maratonu. + +[OptionNames] +0=0 +0.25x=0.25x +0.3x=0.3x +0.4x=0.4x +0.5x=0.5x +0.6x=0.6x +0.7x=0.7x +0.75x=0.75x +0.8x=0.8x +0.9x=0.9x +1=1 +1.0x=1.0x +1.1x=1.1x +1.2x=1.2x +1.25x=1.25x +1.3x=1.3x +1.4x=1.4x +1.5x=1.5x +1.6x=1.6x +1.7x=1.7x +1.75x=1.75x +x1.75=1.75x +1.8x=1.8x +1.9x=1.9x +x2.25=2.25x +x2.5=2.5x +10=10 +11=11 +12=12 +12th=12ki +13=13 +16bit=16bit +16th=16ki +192nd=192ki +2=2 +2 Players for 1 Credit=2 graczy za 1 Kredyt +2 Times=2 razy +2.0x=2.0x +24th=24ki +3=3 +3 Times=3 razy +32bit=32bit +32nd=32ki +4=4 +4 Times=4 razy +48th=48ki +4th=4ki +5=5 +5 Times=5 razy +6=6 +64th=64ki +7=7 +8=8 +8th=8ki +9=9 +Actual=Aktualny +Add=Addatywny +All Music=Wszystkie Piosenki +AllDifficulties=Wszystkie Poziomy +AllGroups=Wszystkie Grupy +Alternate=Alternatywne +Always=Zawsze +Animations=Animacje +Arcade Style=Styl Automatowy +Ask=Pytaj +AttackMines=Miny +Auto=Auto +Autogen To Fill Width=Wypełnij Autogeneratorem. +AutosyncMachine=Autosynch. Maszyny +Average=Średnia +Average Feet=Średnia Stópek +Backwards=Do tyłu +Baked Random=Baked Random +Bar=Pasek +Battery=Bateria +Beat=Beat +Beats=Beaty +Big=Duże +Blind=Oślepienie +Blink=Miganie +BMRize=BMRize +Boomerang=Bumerang +Boost=Dopała +Both=Oba +Brake=Hamulec +Bumpy=Nierówny +C150=C150 +C300=C300 +CPU-Controlled=Kontrolowany przez komputer +Centered=Wyśrodkowany +Choose=Wybierz +Clap=Klaśnięcie +Clear Left=Wyczyść Lewą +Clear Right=Wyczyść Prawą +Collapse Left=Złącz do Lewej +Collapse To One=Złącz do jednego +Compress 2x=Kompresuj 2x +Compress 3->2=Kompresuj 3->2 +Compress 4->3=Kompresuj 4->3 +Confusion=Dezorientacja +Connect=Połącz... +Copy Left To Right=Kopiuj z Lewej do Prawej +Copy Right To Left=Kopiuj z Prawej do Lewej +Courses Only=Tylko Maratony +Create New=Stwórz Nowe +Cross=Krzyż +Custom=Użytkownika +Dance Points=Dance Points +Dark=Mrok +Default=Domyślny(e) +Default to Off=Domyślnie Wyłączone +Default to Random=Domyślnie Losowe +DifficultCourses=Trudność +Disconnect=Rozłącz +Distant=Daleki +Dizzy=Oszołomiony +Don'tSave=Nie Zapisuj +Double for 1 Credit=Double za 1 Kredyt +Drunk=Pijane +Dynamic Random=Losowe Dynamicznie +Echo=Echo +End of Song=Koniec Piosenki +FailAtEnd=Porażka na Końcu +EffectSpeed=Prędkość +EffectPitch=Wysokość tonu +Event=Tryb Imprezy +Exit=Wyjście +Expand=Rozszerz +Expand 2->3=Rozszerz 2->3 +Expand 2x=Rozszerz 2x +Expand 3->4=Rozszerz 3->4 +Fast=Szybko +Flat=Płasko +Flip=Przewrócone +Floored=Powalone +Free Play=Darmowa Gra +Force Off=Wymuś Wyłączenie +Force On=Wymuś Włączenie +Full Screen=Pełny Ekran +Global BGAnimation=BGAnimation Globalnie +Global Movie=Film Globalnie +Global Movie from Song Group=Film Globalnie z Grupy Piosenek +Global Movie from Song Group and Genre=Film Globalnie z Grupy Piosenek i Gatunku +HIDE=Ukryj +Hallway=Hol +Haste=Pośpiech +Hidden=Ukryte +HiddenOffset=Ukryty Offset +Hide=Schowane +High Quality=Wysoka Jakość +Hold=Hold +HoldsToRolls=Holdy na Rolle +Home=Dom +Immediate=Natychmiast +ImmediateContinue=Z opóźnieniem +Incoming=Nadciągające +Insanity=Obłęd +Insert Entry=Wstaw Wpis +Instant=Natychmiast +Invert=Odwrócone +Justice=Sprawiedliwie +Left=Lewo +LifeTime=Surwiwal +Little=Małe +Metronome=Metronom +Mines=Miny +Mini=Mini +Mirror=Lustro +N/A=N/D +Native Language=Język Ojczysty +Never=Nigdy +New=Nowy +NewEdit=-Nowa edycja- +No=Nie +NoAttacks=Bez Ataków +NoHands=Bez Rąk +NoHolds=Bez Holdów +NoJumps=Bez Skoków +NoMines=Bez Min +NoRolls=Bez Rolls +NoQuads=Bez Quadów +NoRecover=Bez Regeneracji +NoStretch=Bez Rozciągania +NoLifts=Bez Liftów +NoFakes=Bez Fakeów +None=Żaden +Normal=Normalny +Num Songs=Num Songs +Off=Wyłącz +Old=Stare +On=Włącz +On (recommended)=Włącz (zalecane) +Only Dedicated Buttons=Tylko Dedykowane Przyciski +Overhead=Standard +Pay=Płatny +Percent=Procent +Planted=Zagnieżdżone +Press Start=Naciśnij Start +Quick=Szybkie +R.Vanish=Los.Znik. +Random=Losowe +RandomAttacks=Losowe Ataki +RandomBG=Losowe Tła +Random Movies=Losowe Filmy +Ranking=Ranking +Ranking Songs=Piosenki Rankingowe +Really Fast=Naprawdę szybko +RegularCourses=Normalne +Remove=Usuń +Reverse=Odwrócenie +Right=Prawo +Roll=Roll +Romanization=Transliteracja +SHOW=Pokaż +Seconds=Sekundy +Select=Wybierz +Servers=Serwery +Shift Left=Przesunięcie w Lewo +Shift Right=Przesunięcie w Prawo +Show=Pokaż +Shuffle=Mieszanie +Silent=Bezgłośny +Skip=Pomiń +Skippy=Pomijacz +Slow=Wolno +SN2=Supernova 2 +SongAttacks=Ataki +StepAttacks=Ataki +Song BGAnimation=BGAnimation Piosenki +Song Bitmap=Bitmapa w Piosence +Song Movie=Film Piosenki +Space=Przestrzeń +Specified=Określony +Split=Podział +Standard=Standard +Start=Start +StaticBG=Statyczne Tło +Stealth=Ukryty +StepMania Style=Styl StepManii +Stomp=Krok +Stop=Stop +Subtract=Substraktywne +Sudden=Nagłe +SuddenDeath=Nagła Śmierć +SuddenOffset=Nagły Offset +SuperShuffle=Betoniarka +SoftShuffle=Lekkie Mieszanie +Swap Sides=Zamiana Stronami +Sync Machine=Synch. Maszyny +Sync Song=Synch. Piosenki +Sync Tempo=Synch. Tempa +Tiny=Mini +Tipsy=Podpite +Title Only=Tylko Tytuły +Tornado=Tornado +Total Feet=Total Feet +Twirl=Wir +Twister=Krętacz +Use Gameplay Buttons=Używaj Przycisków Kontrolera +Visible=Widoczne +Wave=Fala +Wide=Szeroko +Windowed=Okno +Yes=Tak +x0.25=x0.25 +x0.50=x0.50 +x0.75=x0.75 +x1=x1 +x1.5=x1.5 +x2=x2 +x3=x3 +x4=x4 +x5=x5 +x8=x8 +PercentageScoring=Punktacja Procentowa + +Tiny=Tycie +Bumpy=Nierówny +Beat=Beat +GKS=GKS +Cover=Pokrywa +XMode=XMode +[OptionRowHandler] +Off=Wyłączone + +[OptionTitles] +Accel=Przyśpieszenie +Add/Edit Background Change=Dodaj/Edytuj Zmianę Tła +Air=Skoki +AllowExtraStage=Pozwalaj na Dodatkową Piosenkę +AllowW1=Ocena Fantastic +Alter=Zmiana +Announcer=Komentator +Appearance=Wygląd +Appearance Options=Opcje Wyglądu +Theme Options=Opcje Theme`u +ArcadeOptionsNavigation=Nawigacja po opcjach +Artist=Artysta +Artist transliteration=Transliteracja pola Artysta +Assist=Asysta +Attacks=Ataki +AttractSoundFrequency=Częstotliwość dźwięku Ataku +AutoAdjust=Auto Korekta +AutoMapOnJoyChange=Automapowanie Joysticków +AutoPlay=AutoPlay +AutogenGroupCourses=Autogen. Grup Maratonów +AutogenSteps=Autogen. Kroków +BGBrightness=Jasność +Background=Tło +BarDrain=Zużycie Energii +BatLives=Ilość pasków Baterii +Base Difficulty=Podstawowy Poziom +Beat 0 Offset=Beat 0 Offset +Bookkeeping=Statystyka +Calibrate Machine Sync=Kalibracja Synchronizacji Dźwięku +CPUSkill=Poziom CPU +CelShadeModels=Cel-shadedowane Modele +Center Image=Centrowanie Obrazu +Chaos=Chaos +Characters=Tancerze +Chart Style=Styl Chart`a +Choose=Wybierz +Clear Bookkeeping Data=Czyść dane wyrzutnika monet +Clear Machine Edits=Czyść Zmodyfikowane Układy +Clear Machine Stats=Czyść dane statystyczne +Clear USB edits=Czyść Zmodyfikowane Układy na USB +Clear area=Czyść Pole +Clear clipboard=Czyść Schowek +CoinMode=Tryb Pracy +CoinModeNoHome=Tryb Płatny +CoinsPerCredit=Monet na Kredyt +Connection=Połączenie +Convert pause to beats=Zamień pauzy na beat`y +Convert delay to beats=Zamień opóźnienia na beaty`y +Convert selection to pause=Zmień zaznaczenie na pauzę +Convert selection to delay=Zmień zaznaczenie na opóźnienie +Convert selection to warp=Zmień zaznaczenie na Segment Warp +Convert selection to fake=Zmień zaznaczenie na Segment Fake +Copy=Kopiuj +Copy timing data=Kopiuj timing +CourseSortOrder=Sortowanie Maratonów +Create New=Stwórz Nowy +Create New Course=Stwórz Nowy +Create New Profile=Stwórz Nowy Profil +Credit=Kredyt +Cut=Wytnij +DancePointsForOni=Wyświetlanie Punktów w Oni +DefaultFailType=Domyślny tryb Fail`a +DefaultFailTypeNoOff=Domyślny tryb Fail`a +DefaultNoteSkin=Domyślny NoteSkin +DelayedBack=Opóźnienie Cofnięcia +DelayedTextureDelete=Trzymaj tekstury w pamięci +Delete=Skasuj +Delete beat and shift up=Skasuj beat i podnieś do góry +Description=Opis +Designate as Music Preview=Przypisz jako Pogląd Piosenki +Designate last second at current beat=Przypisz ostatnią sekundę na bieżącym beat`cie +Difficulty=Poziom Trudności +Display BPM=Pokaż BPM +DisplayAspectRatio=Proporcje Ekranu +DisplayColorDepth=Głębia Kolorów Ekranu +DisplayResolution=Rozdzielczość Ekranu +Duration seconds=okres sekund +EasterEggs=Niespodzianki +Edit Songs/Steps=Edycja Piosenek +Genre=Gatunek +Practice Songs/Steps=Testuj Piosenki +Edit Courses=Edycja Maratonów +Edit BPM change=Wprowadź zmianę BPM +Edit song info=Edycja informacji piosenki +Edit steps information=Edycja informacji o krokach +Exit Edit Mode=Wyjście +Edit stop=Modyfikacja Pauzy +Edit delay=Modyfikacja Opóźnienia +Edit Timing Data=Modyfikacja Timingu +Edit time signature=Modyfikacja sygnatury czasowej +Edit tickcount=Edycja tickcount +Edit combo=Edycja combo +Edit label=Edycja etykietki +Edit warp=Modyfikacja Warp`a +Edit speed (percent)=Edycja prędkości (procenty) +Edit speed (wait)=Edycja prędkości (długość) +Edit speed (mode)=Edycja prędkości (tryb) +Edit scrolling factor=Edycja parametru przesuwania +Edit fake=Modyfikacja segmentu Fake +Editor options=Opcje +EditorShowBGChangesPlay=Pokaż tła +Erase step timing=Skasuj timing +Effect=Efekt +EnableAttackSounds=Dźwięki Ataków +EnableMineHitSound=Dźwięki Min +Entry %d=Wpis %d +EventMode=Tryb Imprezy +Exit=Exit +Fail=Fail +FastLoad=Szybkie\nŁadowanie +File1 Global BGAnimation=Globalne BGAnimation Plik1 +File1 Global Movie=Globalny Film Plik1 +File1 Global Movie (Group + Genre)=Globalny Film Plik1 (Grupa + Gatunek) +File1 Global Movie (Group)=Globalny Film Plik1 (Grupa) +File1 Song BGAnimation=BGAnimation w Piosence Plik1 +File1 Song Movie=Film w Piosence Plik1 +File1 Song Still=Obrazek w Piosence Plik1 +File1 Type=Tekst Plik1 +File2 Global BGAnimation=Globalne BGAnimation Plik1 +File2 Global Movie=Globalny Film Plik1 +File2 Global Movie (Group + Genre)=Globalny Film Plik1 (Grupa + Gatunek) +File2 Global Movie (Group)=Globalny Film Plik1 (Grupa) +File2 Song BGAnimation=BGAnimation w Piosence Plik1 +File2 Song Movie=Film w Piosence Plik1 +File2 Song Still=Obrazek w Piosence Plik1 +File2 Type=Tekst Plik1 +Fill Machine Stats=Wypełnij Statystyki Maszyny +Force Color 1=Wymuś Kolor 1 +Force Color 2=Wymuś Kolor 2 +Force Effect=Wymuś Efekt +Force Transition=Wymuś Przejście +Freeze=Zatrzymanie +Game=Gra +GetRankingName=Pokaż Pole Wpisu +Graphics/Sound Options=Opcje Grafiki i Dźwięku +Group=Grupa +Hands=Ręce +HiddenSongs=Ukryte Piosenki +Hide=Ukryj +High Meter=High Meter +HighResolutionTextures=Tekstury wysokiej roz. +Holds=Holdy +Insert=Wstaw +Insert Credit=Wrzuć Kredyt +Insert beat and shift down=Wstaw Beat i przesuń w dół +Insert Entry=Wstaw Pole +Jumps=Skoki +Key Joy Mappings=Mapowanie Kontrolerów +Language=Język +Last second hint=Wskaźnik ostatniej sekundy +Layer=Warstwa +LifeDifficulty=Zużycie Energii +LifeType=Rodzaj Energii +Low Meter=Low Meter +Advanced Options=Opcje Zaawansowane +Main title=Tytuł +Main title transliteration=Transliteracja Tytułu +Max BPM=Maks. Określone BPM +MaxTextureResolution=Rozdzielczość Tekstur +MenuTimer=Licznik w Menu +Meter=Licznik +Min BPM=Min. Określone BPM +Mines=Miny +MoveRandomToEnd=Losowa na koniec +More Options=Więcej Opcji +MovieColorDepth=Głębia kolorów filmów +MusicWheelSwitchSpeed=Prędkość Koła +MusicWheelUsesSections=Sekcje Koła +Network Options=Opcje Sieciowe +No USB memory cards found=Nie znaleziono karty USB +NoteSkins=NoteSkiny +NumBackgrounds=Losowe Tła +OptionsRandomJukebox=Modyfikatory +OnlyDedicatedMenuButtons=Klawisze Menu +OsMountPlayer1=OS Mount Player1 +OsMountPlayer2=OS Mount Player2 +Paste at begin marker=Wklej na początku zaznaczenia +Paste at current beat=Wklej na bieżącym beat`cie +Paste timing data=Wklej timing +Persp=Widok +Play current beat to end=Odtwórz bieżący beat do końca +Play preview music=Odtwórz Podgląd Muzyki +Play whole song=Odtwórz całą piosenkę +Play mods from course=Odtwórz mody z maratonu +Play selection=Odtwórz Zaznaczenie +Player1Profile=Profil 1-go Gracza +Player2Profile=Profil 2-go Gracza +PlayerAutoPlay=AutoPlay +Predicted Meter=Przewidywany Poziom Trudności +Preferences=Ustawienia +PreloadSounds=Preload Dźwięków +Premium=Premium +Preview Length=Długość Podglądu +Preview Start=Początek Podglądu +Export Packages=Eksport Pakietów +Profile=Profil +Profiles=Profile +ProgressiveLifebar=Progresywny Pasek Energii +ProgressiveNonstopLifebar=Progresywny Pasek Energii w NonStop +ProgressiveStageLifebar=Progresywny Pasek Energii w Poziomie +ProTiming=Protiming +Quads=Quady +Quantize=Quantize +RandomBackgroundMode=Tryb Tła +RandomModifiers=Modyfikatory +Rate=Tempo +Record in selection=Nagraj w zaznaczeniu +RefreshRate=Częstotliwość odświeżania +Reload Songs=Przeładowanie Piosenek +Remove=Usuń +Remove Change=Usuń Zmianę +Rename=Zmień nazwę +Reset To Defaults=Zresetuj opcje do domyślnych wartości +Revert from disk=Przywróć z dysku +Revert to last save=Przywróć z Cache +Save=Zapisz +SaveScores=Zapisz Wyniki +SaveReplays=Zapisz Powtórki +SaveStats=Zapisz Statystyki +ScoreDisplay=Wyświetlanie Punków +Scoreboard=Wyniki na serwerze +ScoringType=Metoda Punktacji +Scroll=Przesuwanie +Secret=Sekret +Server=Serwer +Servers=Serwery +Set P1=Ustaw dla P1 +Set P2=Ustaw dla P2 +Set modifiers=Ustaw modyfikatory +Set Mods=Ustaw Mody +Set selection start=Ustaw początek zaznaczenia +Set selection end=Ustaw koniec zaznaczenia +Shift all timing changes down=Przesuń wszystkie zmiany timingów w dół +Shift all timing changes up=Przesuń wszystkie zmiany timingów w górę +ShowBanners=Pokaż Bannery +ShowBeginnerHelper=Pomoc dla Początkującego +ShowCaution=Ostrzeżenie +ShowDancingCharacters=Tańczące Postacie +ShowDanger=Uwaga +ShowInstructions=Instrukcje +ShowLyrics=Teksty piosenek +ShowNativeLanguage=Translacje +ShowSelectGroup=Wybór Grupy Piosenek +ShowSongOptions=Pokaż Opcje Piosenki +ShowStats=Pokaż Statystyki +SmoothLines=Wygładzanie krawędzi +SoundEffect=Efekty Dźwiękowe +StepMania Credits=Podziękowania +Center1Player=Centruj 1 Gracza +Song=Piosenka +Song Group=Grupa Piosenek +Song Options=Opcje Piosenki +SongsPerPlay=Piosenki Na Grę +Sort=Sortowanie +SoundResampleQuality=Jakość Resamplingu +SoundVolume=Poziom Dźwięku +SoundVolumeAttract=Poziom Dźwięku Demonstracji +Speed=Prędkość +Step Author=Autor Kroków +Steps=Kroki +Stream=Strumień +Style=Styl +Sub title=Podtytuł +Sub title transliteration=Transliteracja Podtytułu +SuperGrowth=Super Rozrost +Tap Steps=Ilość kroków +Tempo=Tempo +Test Input=Test Kontrolerów +Test Lights=Test Świateł +TextureColorDepth=Głębia Kolorów Tekstur +Theme=Theme +TimingWindowScale=Ocena Trafień +Transform=Transformacja +Transfer Edits to USB=Transfer Edycji do USB +Transfer Edits from USB=Transfer Edycji z USB +Type=Typ +Turn=Obrót +Undo=Cofnij +UseUnlockSystem=System Odblokowania +VisualDelaySeconds=Opóźnienie Obrazu +Voltage=Woltaż +Vsync=Synchronizacja Pionowa +WideScreen16_9=Ekran Panoramiczny +WideScreen16_10=Ekran Panoramiczny +Windowed=Tryb Wyświetlania + +# +UI Options=Opcje Interfejsu +Input Options=Opcje Kontrolerów +Arcade Options=Opcje Automatowe +Select Game=Wybór Rodzaju Gry +System Direction=Ustawienia Systemu + +# +OnlyPreferredDifficulties=Tylko Wybrane Poziomy +# +PercentageScoring=Punktacja Procentowa + +Max Minutes=Max Minut +Play=Odtwórz +Edit Course=Edycja Maratonu +Shuffle=Mieszaj +# +GamePrefDefaultFail=Domyślny Typ Fail`a +# +UserPrefScoringMode=Naliczanie Punktów +[PaneDisplay] +Steps=Kroki +Holds=Holdy +Jumps=Skoki +Mines=Miny +Rolls=Rolle +Hands=Ręce +MachineHigh=Naj. Wynik +EmptyMachineHighScoreName=Best +NotAvailable=N/D + +[PlayMode] +Battle=Bitwa +Endless=Nieskończony +Nonstop=Nonstop +Oni=Oni +Rave=Rave +Regular=Zwykły + +[AdjustSync] +%s BPM od %.3f BPM do %.3f BPM.=%s BPM od %.3f BPM do %.3f BPM. +Autosync Machine=Autosynch. Maszyny +Autosync Song=Autosynch. Piosenki +Autosync Tempo=Autosynch. Tempo +Autosync: Correction NOT applied. Deviation too high.=Autosynch.: Korekcja nienaniesiona. Zbyt duże odchylenie. +Autosync: Correction applied.=Autosynch.: Poprawka naniesiona. +Global Offset from %+.3f to %+.3f (notes %s)=Global Offset z %+.3f na %+.3f (nuty %s) +Song offset from %+.3f to %+.3f (notes %s)=Offset Piosenki z %+.3f na %+.3f (nuty %s) +The stop segment #%d changed from %+.3fs to %+.3fs (change of %+.3f).=Segment STOP o numerze #%d zmieniony z %+.3fs na %+.3fs (Zmiana %+.3f). +earlier=wcześniej +later=później +Average Error %.5fs=Średnia błędu %.5fs +Etc.=itp. +%d taps ignored.=%d uderzeń zignorowanych. + +[ProfileAction] +Clear=Czyść +Delete=Usuń +Edit=Modyfikuj +Rename=Zmień nazwę +SetDefaultP1=Ustaw dla P1 +SetDefaultP2=Ustaw dla P2 + +[RadarCategory] +Air=Skoki +Chaos=Chaos +Freeze=Zatrzymania +Hands=Ręce +Holds=Trzymania +Jumps=Skoki +Mines=Miny +Rolls=Rolle +Stream=Ciągłość +Taps=Kroki +TapsAndHolds=Kroki i Holdy +Voltage=Woltaż +MinMidiNote=MinMidiNote +MaxMidiNote=MaxMidiNote + +[RageSoundManager] +Couldn't find a sound driver that works=Nie udało się znaleźć działającego sterownika dźwięku + +[RageUtil] +NumNd=nd +NumPrefix= +NumRd=rd +NumSt=st +NumTh=th + +[RoomWheel] +Enter room name=Wprowadź nazwę pokoju + +[RoomInfoDisplay] +Last Round Info:=Ostatnia runda: +Room Name:=Nazwa: +Room Description:=Opis: +Song Title:=Tytuł: +Song Subtitle:=Podtytuł: +Song Artist:=Artysta: +Players=Gracze + +[SMPackageUtil] +Could not find '%s'.=Nie udało się znaleźć '%s'. +[Screen] +HeaderText= +[ScreenAppearanceOptions] +HeaderText=Wygląd +HeaderSubText=Dostosuj grę pod siebie + +[ScreenOptionsGraphicsSound] +HeaderText=Grafika / Dzwięk +HeaderSubText=Ustaw najlepszą wydajność + +[ScreenOptionsAdvanced] +HeaderText=Opcje Zaawansowane +HeaderSubText=Ustawienia przeznaczone dla zaawansowanych użytkowników + +[ScreenBookkeeping] +All-time Coin Total:=Suma Wszystkich Monet: +Total Song Plays: %d=Liczba Odegranych piosenek: %d +Coin Data by Day of Week, All-Time=Wszystkie Monety z podz. na dni tygodnia +Coin Data by Hour of Day, All-Time=Wszystkie Monety z podz. na godziny +Coin Data of Last %d Days=Monety z Ostatnich %d Dni +Coin Data of Last %d Weeks=Monety z Ostatnich %d Tygodni +HeaderText=Statystyki + +[ScreenCaution] +Caution=UWAGA! +CautionText=Zadbaj by mata taneczna znajdowała się w bezpiecznej odległości od monitora i mebli.\n\nZwraóć uwagę by podczas tańca nie skrzywdzić zwierząt, dzieci i obserwatorów + + +[ScreenDebugOverlay] +%s in gameplay=%s w trakcie gry +Assist=Asysta +AutoPlay=AutoPlay +Autosync=Autosynch. +CPU=CPU +Clear Profile Stats=Wyczyść Statystki Profilu +CoinMode=Tryb Pracy +Debug Menu=Debug Menu +Fill Profile Stats=Wypełnij Statystyki Profilu +Flush Log=Zapisz Log +Force Crash=Wymuś Crash +Halt=Zatrzymaj +Lights Debug=Sprawdź Światła +Machine=Maszyna +Menu Timer=Licznik Menu +Monkey Input=Sym. Małpy +Multitexture=Multitekstura +Profile=Profil +Pull Back Camera=Odsuń Kamerę +Restart=Restart +Reload=Przeładuj +Reload Theme and Textures=Przeładuj Theme i Tekstury +Rendering Stats=Statystki Renderowania +Screen Test Mode=Tryb Testu Ekranu +Send Off To Screen=Wyślij Off na Ekran +Send On To Screen=Wyślij On na Ekran +Send Notes Ended=Wyślij Notes Ended +Show Masks=Pokaż Maski +Slow=Zwolnienie +Song=Piosenka +Tempo=Tempo +Uptime=Czas Pracy +Visual Delay Down=Zmniejsz Opóźnienie Ekranu +Visual Delay Up=Zwiększ Opóźnienie Ekranu +Volume Down=Dźwięk Ciszej +Volume Up=Dźwięk Głośniej +Vsync=Synch. Pionowa +Write Preferences=Zapisz Ustawienia +Write Profiles=Zapisz Profile +off=wyłączone +on=włączone +or=lub + +[ScreenEdit] +%s notes=%s +Can't undo - no undo data.=Nie mogę cofnąć - brak wcześniejszych danych. +Do you want to revert from disk?=Czy chcesz przywrócić układ z dysku? +Do you want to revert to your last save?=Czy chcesz cofnąć się do ostatniego zapisu? +Do you want to save changes before exiting?=Czy chcesz zapisać przed wyjściem? +Enter a new BPM value.=Wpisz nową wartość BPM.\n\nWpisz poprzednią wartość by usunąć. +Enter a new Stop value.=Wpisz nową wartość STOP.\n\nWpisz "0" by usunąć. +Enter a new Delay value.=Wpisz nową wartość DELAY.\n\nWpisz "0" by usunąć. +Enter a new Time Signature.=Wpisz nowe metrum\nUżyj formatu "x/y".\nWpisz poprzednią wartość by usunąć. +Enter a new Tickcount value.=Wpisz nową wartość Tickcount.\n\nWpisz poprzednią wartość by usunąć. +Enter a new Combo value.=Wpisz nową wartość Combo.\n\nWpisz poprzednią wartość by usunąć. +Enter a new Label value.=Wpisz nazwę tej sekcji układu.\n\nWpisz poprzednią nazwę by usunąć. +Enter a new Warp value.=Wpisz liczbę beat`ów które przeWARPujesz.\n\nWpisz "0" by usunąć ten segment. +Enter a new Speed percent value.=Wpisz współczynnik prędkości przewijania.\nWpisz poprzednią wartość by usunąć.\nWartość "1" to przewijanie domyślne. +Enter a new Speed wait value.=Wpisz w sekundach/beatach jak długa ma być zmiana.\n\n0 - natychmiast. +Enter a new Speed mode value.=Wpisz jak segment ma być obsługiwany.\n\n Wpisz 0 dla beatów, 1 dla sekund. +Enter a new Scroll value.=Wpisz nową wartość Przewijania +Enter a new Fake value.=Wpisz liczbę beatów które nie będą podlegały ocenianiu.\n\nWpisz "0" by to usunąć. +Are you sure you want to erase this chart's timing data?=Czy jesteś pewien, że chcesz usunąć dane timingu tego układu? +Enter a new artist transliteration.=Wpisz transliterację pola Artysta. +Enter a new artist.=Wpisz Artystę. +Enter a new genre.=Wpisz Gatunek. +Enter a new credit.=Wpisz Podziękowania +Enter a new description.=Wpisz Opis +Enter a new chart style.=Wpisz przeznaczenie układu (np. "Mata", "Klawiatura") +Enter a new meter.=Wpisz ocenę poziomu trudności układu. +Enter the author who made this step pattern.=Wpisz autora układu kroków. +Enter the offset for the song.=Wpisz wartość offset dla tej piosenki. +Enter a new last second hint.=Wpisz wskaźnik ostatniej sekundy piosenki. +Enter a new main title transliteration.=Wpisz transliterację pola Tytuł. +Enter a new main title.=Wpisz Tytuł piosenki. +Enter a new sub title transliteration.=Wpisz transliterację pola Podtytuł +Enter a new sub title.=Wpisz Podtytuł piosenki. +Enter a new preview start.=Wpisz moment od którego ma się zaczynać podgląd piosenki. +Enter a new preview length.=Wpisz długość trwania podglądu piosenki. +Enter a new min BPM.=Wpisz minimalną wartość wyświetlaną przez licznik BPM +Enter a new max BPM.=Wpisz maksymalną wartość wyświetlaną przez licznik BPM +More than %d notes per measure is not allowed. This change has been reverted.=Nie można tworzyć więcej niż %d nut na pomiar. Zmiana cofnięta. +No backgrounds available=Brak dostępnych teł. +EditHelpText=Góra/Dół:\n zmiana beat`u\nPrawo/Lewo:\n zmiana skoku notacji\nKlawisze z cyframi:\n dodaj/usuń\n strzałkę/nutę\nklawisze N i M:\n zamiana rodzaju strzałek\nCtrl + N/M:\n zmiana rodzaju segmentu\nCtrl + ,/.:\n Poruszanie po segmentach\nTworzenie Hold`a:\n Wciśnij cyfrę\n i trzymając przeciągnij\n w Górę lub w Dół\nTworzenie Roll`a:\n Przytrzymaj Shift,\n a następnie utwórz\n hold`a.\nSpacja: Ustawianie\n rejonu zaznaczenia\nKlawisz T: Przełączanie Timingu\nEnter: Menu opcji zaznaczenia\nKlawisz A: Menu Modyfikacyjne\nEscape: Menu główne\nF4: Menu Timingu\nF1: Pokaż pomoc\n +PlayRecordHelpText=Naciśnij Start by zakończyć +Save successful.=Zapis zakończony powodzeniem. +Saved as SM and DWI.=Zapisano w formacie SM i DWI. +Saved as SM.=Zapisanow w formacie SM. +Switched to=Przełączono do +The change has been reverted.=Zmiana została cofnięta. +This change creates more than %d notes in a measure.=Ta zmiana tworzy więcej niż %d nut w pomiarze. +This change creates notes past the end of the music and is not allowed.=Ta zmiana tworzy nuty poza końcem muzyki i nie jest dozwolona. +This will destroy all unsaved changes.=Operacja zniszczy wszystkie niezapisane zmiany. +Undo=Cofnij +You must be in Song Timing Mode to edit BG Changes.=By móc modyfikować BG Changes należy przejść do tybu Timing`u. +You must have an area selected to enter the Alter Menu.=Musisz mieć jakiś zaznaczony fragment by móc wejść do Menu Modyfikacyjnego + +Current beat=Bieżący Beat +Current second=Bieżąca Sekunda +Snap to=Przyciągaj do +Selection beat=Beat Zaznaczenia +Difficulty=Poziom Trudności +Description=Opis +Chart Style=Styl Układu +Step Author=Autor Kroków +Main title=Tytuł piosenki +Subtitle=Podtytuł +Tap Note=Rodzaj Nuty +Segment=Segment +Tap Steps=Ilość strzałek +Jumps=Skoki +Hands=Handy +Holds=Holdy +Mines=Miny +Rolls=Rolle +Lifts=Lifty +Fakes=Fake`i +Timing Mode=Tryb Timingu +Step Timing=Timing Kroków +Song Timing=Timing Piosenki +Beat 0 offset=Offset +Preview Start=Początek Podglądu +Preview Length=Długość Podglądu +Help=Pomoc +Info=Informacja +Routine Player=Gracz + +[ScreenEditMenu] +HeaderText=Edycja Piosenki +HeaderSubText=Wypieść swoją piosenkę +Continue with delete?=Kontynuować usunięcie? +Enter a description for this edit.=Wpisz opis dla tej edycji. +ExplanationAction=W tym trybie możesz modyfikować istniejące układy strzałek, tworzyć nowe strzałki i synchronizować je z muzyką. +ExplanationGroup=W tym trybie możesz modyfikować istniejące układy strzałek, tworzyć nowe strzałki i synchronizować je z muzyką. +ExplanationSong=W tym trybie możesz modyfikować istniejące układy strzałek, tworzyć nowe strzałki i synchronizować je z muzyką. +ExplanationSourceSteps=W tym trybie możesz modyfikować istniejące układy strzałek, tworzyć nowe strzałki i synchronizować je z muzyką. +ExplanationSourceStepsType=W tym trybie możesz modyfikować istniejące układy strzałek, tworzyć nowe strzałki i synchronizować je z muzyką. +ExplanationSteps=W tym trybie możesz modyfikować istniejące układy strzałek, tworzyć nowe strzałki i synchronizować je z muzyką. +ExplanationStepsType=W tym trybie możesz modyfikować istniejące układy strzałek, tworzyć nowe strzałki i synchronizować je z muzyką. +Profile name cannot be blank.=Nazwa Profilu nie może być pusta. +The name you chose conflicts with another profile. Please use a different name.=Wybrana nazwa konfliktuje z już istniejącym profilem. Proszę użyć innej. +These steps are produced by autogen. You do not need to delete them.=Te kroki utworzył Autogenerator. Nie trzeba ich kasować. +These steps will be lost permanently.=Kroki zostaną całkowicie usunięte. +This song is missing a music file and cannot be edited.=Ta piosenka nie ma pliku z muzyką i nie może być edytowana. +The song directory is read-only and cannot be edited.=Ten katalog piosenki jest w trybie "tylko do odczytu" i nie może być edytowany. +Blank=Pusty + +[ScreenPracticeMenu] +HeaderText=Sprawdź Piosenki + +ExplanationGroup=Wybierz Grupę piosenek. +ExplanationSong=Wybierz piosenkę którą chcesz sprawdzić. +ExplanationAction=Naciśnij START by zacząć. +ExplanationStepsType=Wybierz typ kroków który chcesz sprawdzić. +ExplanationSteps=Wybierz układ kroków. + +[ScreenEvaluation] +HeaderText=Twoje Wyniki +HeaderSubText=Twój taniec był wspaniały! +[ScreenEvaluationSummary] +HeaderText=Ostateczne Wyniki +[ScreenGameplay] +GiveUpAbortedText=Nie poddawaj się! +GiveUpStartText=Trzymaj dalej &START; by się poddać +GiveUpBackText=Trzymaj dalej &START; by się poddać + +[ScreenGameplaySyncMachine] +Standard deviation=Odchylenie standardowe +New offset=Nowy offset +Old offset=Stary offset +Collecting sample=Zebrane próbki + +[ScreenInstructions] +PlayMode_Regular title=Jak Grać +PlayMode_Regular instructions=W trakcie gry należy uważać na Hold`y i Miny. +PlayMode_Nonstop title=Tryb Nonstop +PlayMode_Nonstop instructions=Tryb Nonstop pozwala na granie kilku piosenek pod rząd, (zazwyczaj 4, czasami więcej), przy użyciu zasad normalnego trybu gry. +PlayMode_Oni title=Tryb Oni +PlayMode_Oni instructions=Tryb Oni pozwala na grę wg. dwóch zestawów zasad.\nW pierwszym pasek energii zastępuje bateria z ograniczoną ilością żyć (standardowo 4). Każde niezaliczenie strzałki rozładowuje jeden pasek baterii.\nW drugim trybie należy przejść piosenkę w określonym czasie. +PlayMode_Endless title=Tryb Nieskończony +PlayMode_Endless instructions=Tryb Nieskończony polega na przechodzeniu jednej piosenki za drugą bez opcji przerwy. Gra kończy się w momencie utraty całej energii. +PlayMode_Rave title=Tryb Rave +PlayMode_Rave instructions= +PlayMode_Battle title=Tryb Bitwy +PlayMode_Battle instructions= +Hold instructions=Strzałki typu Hold by zostały zaliczone, muszą być przytrzymane przez określony czas. Poprawnie zaliczona strzałka da ocenę OK. Nieprawidłowo - NG. +Mine instructions=Miny wybuchają i obniżają poziom energii. Zdecydowanie należny ich unikać. Włączą się, jeśli pozostawi się nogę na przycisku, kiedy przelatują + +[ScreenLegal] +Warning=Ostrzeżenie +BodyText=Kod źródłowy programu Stepmania jest objęty licencją open-source\n\nNazwa i logo "Stepmania" są chronionymi znakami towarowymi.\n\nDOMYŚLNE DZWIĘKI SCHEMATU WYGLĄDU STEPMANII SĄ WŁASNOŚCIĄ ICH TWÓRCÓW. INNE ELEMENTY SCHEMATU WYGLĄDU SĄ OBJĘTE LICENCJĄ STEPMANII.\n\nZe szczegółami proszę zapoznać się w pliku license.txt + + +[ScreenMapControllers] +HeaderText=Mapowanie Kontrolerów +InvalidButton=Ten klawisz nie może zostać zmapowany +%s slots=Strona gracza %s + +[ScreenNetRoom] +Enter a description for the room:=Utwórz opis pokoju: +Enter a password for the room (blank, no password):=Utwórz hasło dla Pokoju (puste, brak hasła): +Enter Room's Password:=Wpisz Hasło do Pokoju: +HeaderText=StepMania Online +HeaderSubText=Wybór Pokoju +HelpText=Ctrl+ENTER Wybiera &BACK; Wyjście &MENULEFT;&MENURIGHT; Poruszanie + +[ScreenNetSelectMusic] +HeaderText=Wybierz Muzykę do Gry Sieciowej. +HeaderSubText=Wybór piosenki +HelpText=Ctrl+ENTER Zatwierdź &BACK; Wyjście &MENULEFT;&MENURIGHT; Wybierz::&MENUUP; Opcje Gracza &MENUDOWN; Zmiana Poziomu Trud. + +[ScreenNetworkOptions] +Disconnected from server.=Odłączony od serwera. +Enter a network address.=Wpisz adres sieciowy. +Server failed: %s Code:%d=Błąd Serwera: %s Kod:%d +Use 127.0.0.1 to connect to yourself.=Użyj 127.0.0.1 do połączenia ze samym sobą. +Connect=Połącz +Disconnect=Odłącz +ScoreOn=Włącz +ScoreOff=Wyłącz +HeaderText=Opcje Sieciowe +HeaderSubText=Konfiguracja gry sieciowej + +[ScreenOptionsEditCourse] +The maximum number of entries per course is %d. This course already has %d entries.=Maksymalna liczba wpisów na maraton: %d. Ten maraton już ma %d wpisów. +You cannot delete the last entry in a course.=Nie można kasować ostatniego wpisu w maratonie. + +[ScreenOptionsEditCourseEntry] +No songs loaded.=Nie załadowano żadnych piosenek. + +[ScreenOptionsManageCourses] +Continue with delete?=Kontynuować i usunąć? +Enter a name for the course.=Wpisz nazwę maratonu +You have %d, the maximum number allowed.=Istniej już %d. To jest maksymalna dozwolona liczba. +You must delete an existing before creating a new.=Trzeba skasować istniejący nim utworzy się nowy. +Error renaming file.=Błąd podczas zmiany nazwy pliku. +This course will be lost permanently.=Ten maraton zostanie całkowicie usunięty. +Error deleting the file '%s'.=Błąd podczas kasowania pliku '%s'. + +[ScreenOptionsManageEditSteps] +Enter a name for these steps.=Wprowadź nazwę dla tych kroków. +These steps will be lost permanently.=Kroki zostaną całkowicie usunięte. +You have %d step edits, the maximum number allowed.=Istnieje już %d edycji. Jest to maksymalna dozwolona liczba. +You must delete an existing steps edit before creating a new steps edit.=Należy usunąć istniejące kroki przed utworzeniem nowych. +Continue with delete?=Kontynuować i usunąć? + +[ScreenOptionsCourseOverview] +Error saving course.=Błąd podczas zapisu maratonu. +Course saved successfully.=Maraton poprawnie zapisany. +Enter a name for the course.= +Enter a name for the course.Wpisz nazwę maratonu. +This course will be lost permanently.=Ten maraton zostanie całkowicie usunięty. +Continue with delete?=Kontynuować i usunąć? +Error deleting the file '%s'.=Błąd podczas usuwania pliku "%s". + +[NotesWriterSM] +Error renaming file. Destination file '%s' already exists.=Błąd podczas zmiany nazwy pliku. Docelowy plik '%s' już isnieje. +Error writing file '%s'.=Błąd podczas zapisu pliku '%s'. + +[NotesWriterSSC] +Error renaming file. Destination file '%s' already exists.=Błąd podczas zmiany nazwy pliku. Docelowy plik '%s' już isnieje. +Error writing file '%s'.=Błąd podczas zapisu pliku '%s'. + +[ScreenOptionsManageProfiles] +Are you sure you want to clear all data in the profile '%s'?=Czy na pewno chcesz wyczyścić wszystkie dane z profilu &oq;%s&cq;? +Are you sure you want to delete the profile '%s'?=Czy na pewno chcesz skasować profil &oq;%s&cq;? +Enter a name for the profile.=Wpisz nazwę profilu +NewProfileDefaultName=Nowy + +[ScreenOptionsMaster] +Exit=Wyjście + +[ScreenOptionsMasterPrefs] +Off=Wyłącz + +[ScreenOptionsMemoryCard] +Error mounting card: %s=Błąd podłączania karty: %s +(no label)=(brak nazwy) +size ???=rozmiar ??? +%dMB=%dMB + +[ScreenOptionsService] +HeaderText=Opcje +HeaderSubText=Tu można skonfigurować grę. + +[ScreenPackages] +DL @ %d KB/s=DL @ %d KB/s +Download cancelled.=Pobieranie przerwane. +Enter URL=Podaj URL +Failed.=Niepowodzenie. +Failed to connect.=Nie udało się nawiązać połączenia. +File Already Exists=Plik Już Istnieje +Header Sent.=Wysłano Nagłówek. +Invalid URL.=Nieprawidłowy URL. +VisitURL=--Odwiedź URL-- +Waiting for header.=Oczekiwanie na nagłówek. + +[ScreenPrompt] +OK=OK +No=NIE +Yes=TAK +Cancel=PRZERWIJ + +[ScreenRanking] + +[ScreenSMOnlineLogin] +Each player needs a unique Profile.=Każdy gracz potrzebuje unikalnego Profilu. +Enter your password.=Podaj hasło. +No Styles are selectable.=Nie można wybrać żadnego Stylu. +You are logging on as:=Logujesz się jako: +You must define a Profile.=Musisz określić Profil. +HeaderText=Logowanie Do Serwera +HeaderSubText=Wybierz profil do logowania. +Depending on the server you're connected to, you may have to register for an account on their website.=W zależności od serwera z którym się łączysz, może być wymagana rejestracja na ich portalu. + +[ScreenSaveSync] +Choosing NO will discard your changes.=Wybranie NIE anuluje zmiany. +Would you like to save these changes?=Czy chciałbyś zapiać te zmiany? +You have changed the timing of=Zmieniłeś timing + +[ScreenWithMenuElements] +; Put all help text in this one group and have metrics look up the strings here. That will help make sure +; that strings are in a consistent style and that strings aren't duplicated. +HelpTextNormal=Użyj &MENULEFT;&MENURIGHT; by wybrać, i naciśnij &START; +HelpTextSelectMusic=Użyj &MENULEFT;&MENURIGHT; by wybrać, i naciśnij &START; +HelpTextDifficultyPart=&UP;&UP; łatwiejszy poziom &DOWN;&DOWN; trudniejszy poziom +HelpTextOptions=&MENUUP;&MENUDOWN; wiersz &MENULEFT;&MENURIGHT; zmień &START; zatwierdź +HelpTextOptionsAndBack=&MENUUP;&MENUDOWN; wiersz &MENULEFT;&MENURIGHT; zmień &START; zatwierdź &BACK; cofnij +HelpTextOptionsSimple=&MENUUP;&MENUDOWN; zmień &START; zatwierdź +HelpTextOptionsSimpleAndBack=&MENUUP;&MENUDOWN; wiersz &START; zatwierdź &BACK; cofnij +HelpTextSort=&UP;&DOWN;&UP;&DOWN; zmiana sortowania +HelpTextContinue=Naciśnij dowolny klawisz. Naciśnij ESCAPE by zakończyć. +HelpTextEvaluation=Naciśnij &START; by kontynuować +HelpTextScreenshot=Naciśnij &SELECT; by zapisać ekran. +HelpTextTestInput=Naciśnij dowolny klawisz. Naciśnij ESCAPE by zakończyć. +HelpTextTestLights=Naciśnij &MENULEFT;&MENURIGHT; by zmienić światła. Naciśnij ESCAPE by zakończyć. +HelpTextTextEntry=Wpisz wartość przy użyciu klawiatury. Naciśnij Enter by zakończyć. +HelpTextMapControllers=Użyj klawiszy strzałek do nawigacji, ENTER by przydzielić, SPACJĘ by wyczyścić pole::Naciśnij ESCAPE by zakończyć. +HelpTextOnline=setepmaniaonline.eu by połączyć sięz oficjalnym Europejskim Serwerem Stepmania Online.:: Sprawdź www.stepmaniaonline.eu w celu rejestracji konta. +HelpTextNetSelectMusic=Ctrl + Enter by wybrać pokój/piosenkę::&UP; Opcje Gracza +HelpTextBookkeeping=Naciśnij &MENULEFT;&MENURIGHT; by przeglądać dane. Naciśnij ESCAPE by zakończyć. + +[ScreenSelectGame] +HeaderText=Wybierz Grę +HeaderSubText=Dla każdego coś miłego. + +[ScreenSelectGroup] +ALL MUSIC=CAŁA MUZYKA + +[ScreenSelectMusic] +HeaderText=Wybierz Muzykę +HeaderSubText=Nie ma czego się bać. Wybierz to co Ci się podoba. + +[ScreenSelectCourse] +HeaderText=Wybierz Maraton + +[ScreenSelectGroup] +HeaderText=Wybierz Grupę + +[ScreenSelectStyle] +HeaderText=Wybierz Styl +HeaderSubText=Pokaż w czym jesteś dobry. + +[ScreenSelectPlayMode] +NormalExplanation=WYBIERZ SWOJE\nULUBIONE PIOSENKI +NonstopExplanation=PRZEJDŹ PIOSENKI\nOD POCZĄTKU DO KOŃCA +ChallengeExplanation=NIE ZGUB\nZBYT WIELU KROKÓW +SurvivalExplanation=POKONAJ LICZNIK\nBY WYGRAĆ +EndlessExplanation=TAŃCZ\nAŻ PADNIESZ +HeaderText=Wybierz Tryb +HeaderSubText=Zaczynajmy. Na pewno dasz radę. + +[ScreenServiceAction] +%d added=%d dodano +%d copied=%d skopiowano +%d overwritten=%d nadpisano +%d deleted=%d skasowano +%d edits cleared, %d errors.=%d edycji wyczyszczono, %d błędów. +%d failed=%d niewczytano +%d ignored=%d zignowowano +Bookkeeping data cleared.=Statystyki wyczyszczone. +Copied from P%d card:=Skopiowane z karty P%d: +Copied to P%d card:=Skopiowane na kartę P%d: +Edits not cleared - No memory cards ready.=Edycje nieusunięte - Brak karty. +Edits not copied - No memory cards ready.=Edycje nieskopiowane - Brak karty. +Error saving machine stats to P%d card.=Błąd podczas zapisu statystyk na kartę P%d. +Machine stats cleared.=Statystyki maszyny usunięte. +Machine stats loaded from P%d card.=Statystyki maszyny wczytane z karty P%d. +Machine stats saved to P%d card.=Statystyki maszyny zapisane na kartę P%d. +Preferences reset.=Zresetowano ustawienia. +Stats not loaded - No memory cards ready.=Statystyki niewczytane - Brak karty. +Stats not saved - No memory cards ready.=Statystyki niezapisane - Brak karty. +The profile on P%d card contains corrupt or tampered data.=Profil na karcie P%d zawiera uszkodzone lub modyfikowane ręcznie dane. +There is no machine profile on P%d card.=Na karcie P%d nie ma żadnych profili maszyny. + +[ScreenSyncOverlay] +AutoPlay=AutoPlay +AutoPlayCPU=AutoPlayCPU +AutoSync Machine=AutoSync. Machine +AutoSync Song=AutoSync. Song +AutoSync Tempo=AutoSync. Tempo +Can't sync while playing a course.=Nie można synchronizować podczas maratonu. +Sync changes reverted.=Przywrócono stare ustawienia synchronizacji. +Revert sync changes=Przywróć stare ustawienia synchronizacji +Current BPM - smaller/larger=Bieżące BPM - większe/mniejsze +Song offset - notes earlier/later=Offset Piosenki - strzałki wcześniej/później +Machine offset - notes earlier/later=Offset Maszyny - strzałki wcześniej/później +(hold Alt for smaller increment)=(przytrzymaj Alt by zmniejszyć przyrost wartości) +Old offset=Stary offset +New offset=Nowy offset +Collecting sample=Zbierane próbki +Standard deviation=Odchylenie standardowe + +[ScreenSystemLayer] +CreditsCardChanged=PODMIENIONA KARTA +CreditsCardChecking=SPRAWDZANIE KARTY +CreditsCardMountFailed=BŁĄD PODŁĄCZENIA +CreditsCardNoName=Anonim +CreditsCardReady=GOTOWE +CreditsCardRemoved=KARTA WYJĘTA +CreditsCardTestFailed=BŁĄD ZAPISU +CreditsCardTooLate=ZA PÓŹNO WŁOŻONA +CreditsCredits=KREDYT(Y) +CreditsMax=(MAX) +CreditsFreePlay=DARMOWA GRA +CreditsInsertCard=WŁÓŻ KARTĘ +CreditsLoadFailed=BŁĄD PODPISU +CreditsLoadedFromLastGoodAppend= (backup) +CreditsNotPresent=NIEOBECNY +CreditsPressStart=NACIŚNIJ START + +[ScreenTestFonts] +# W is annoying: +Text1=WWWWWWWWWWWW +# Realistic excerpt: +Text2=Ta dyskusja przebiegała mniej więcej tak: &oq;Odmawiam udowodnienia, że istnieję&oq; mówi Bóg, &oq; dowód niszczy wiarę, a bez wiary nie istnieję.&cq;::::&oq;Ale,&cq; mówi Człowiek, &oq; Rybka Babel to niezły dowód, prawda? Nie mogła wyewoluować przypadkiem. Dowodzi, że istniejesz i cytując twój argument, więc ty nie. QED.&cq;::::&oq;No masz,&cq; mówi Bóg, &oq; Nie pomyślałem o tym&cq; i szybko znikną w pufnięciu logiki. + +# Numbers test: +Text3=01234567890 ::100.00% 12345% 9:00 50/100 +# General symbol test, and test alignment against another font. +Text4=$50% (Test) "test's" &oq;test's&cq;, #1! 1+2-3*4/5.6::3:00 a; b; 5<6 6>5 2^3=8 Czemu? test@example.com::[Foo] {bar} Naciśnij &START; 3|4 &oq;1_2_3&cq; +Text5= + +[ScreenTestInput] +Controller=Kontroler +not mapped=niezmapowany +secondary=drugorzędne + +[ScreenTestLights] +Auto Cycle=Automatyczne Zapalanie +Manual Cycle=Ręczne Zapalanie +cabinet light=światła automatu +controller light=światłą mat + +[ScreenTextEntry] +Backspace=Backsp +Cancel=Cofnij +Done=Gotowe +HeaderText= +Space=Spacja +"%s" is an invalid floating point value.="%s" jest nieprawidłową wartością zmiennoprzecinkową. +AnswerCaret=_ +AnswerBlank= + +[ScreenTitleMenu] +%d songs in %d groups=%d piosenek w %d grupach +%d courses in %d groups=%d maratonów w %d grupach +%d unlocks=%d odblokowane +Gametype:=Rodzaj Gry: +Difficulty:=Poziom Trudności: +Announcer=Komentator +Play Online=Gra Sieciowa +Edit/Share=Edycja +Exit=Wyjście +Game Start=Start +Jukebox=Odtwarzacz +Select Game=Wybór trybu gry +Theme=Motyw graficzny +Credits=Autorzy +Options=Opcje +Setup=Szybka konfiguracja + +[SmpackageExportDlg] +Error adding file '%s'.=Błąd podczas dodawania pliku '%s'. + +[SongManager] +Loading courses...=Ładowanie maratonów... +Loading songs...=Ładowanie piosenek... +Reloading...=Przeładowanie... +Unloading songs...=Wyładowanie piosenek... +Unloading courses...=Wyładowanie maratonów... +The folder "%s" appears to be a song folder. All song folders must reside in a group folder. For example, "Songs/Originals/My Song".=Katalog "%s" wygląda jak katalog piosenki. Wszystkie katalogi z piosenkami muszą się znajdować w kataogu Grupy. Np.: Dopiero "Songs/Moje/Moja Piosenka" może zawierać pliki muzyczne (mp3, ogg...), pliki kroków (.ssc, .sm, .dwi, .kfs) i inne powiązane pliki. + +[SongUtil] +You must supply a name for your new edit.=Musisz podać nazwę dla nowej edycji. +The name you chose conflicts with another edit. Please use a different name.=Wybrana nazwa konfliktuje z już istniejącą edycją. Proszę podać nową. +The edit name cannot contain any of the following characters: %s=Nazwa edycji nie może zawierać znaków: %s +The step author's name cannot contain any of the following characters: %s=Pole Autor Kroków nie może zawierać znaków: %s + +[SongSort] +FewestPlays=Najrzadziej Wybierane +LowestGrades=Najniższe Oceny +MostPlays=Najczęściej Wybierane +Randomize=Losuj +TopGrades=Najwyższe Oceny + +[Sort] +NotAvailable=N/D +Other=Inne + +[SortOrder] +AllCourses=Wszystkie Maratony +Artist=Artysta +BPM=BPM +Endless=Nieskończony +Genre=Gatunek +Group=Grupa +ModeMenu=Tryby Sortowania +Nonstop=Nonstop +Oni=Oni +Popularity=Najczęściej Wybierane +Preferred=Preferowane +Title=Tytuł +TopGrades=Najwyższa Ocena +Roulette=Ruletka +Length=Czas Utworu +Recent=Ostatnio Wybrane +BeginnerMeter=Poziom Początkujący +EasyMeter=Poziom Łatwy +MediumMeter=Poziom Normalny +HardMeter=Poziom Trudny +ChallengeMeter=Poziom Ekspert +DoubleEasyMeter=Poziom Łatwy (Double) +DoubleMediumMeter=Poziom Normalny (Double) +DoubleHardMeter=Poziom Trudny (Double) +DoubleChallengeMeter=Poziom Ekspert (Double) + +[StepMania] +Announcer=Komentator +Couldn't open any loading windows.=Nie udało się otworzyć żadnego okna ładowania. +Fullscreen=Pełny Ekran +Initializing %s...=Inicjalizacja %s... +No video renderers attempted.=Nie podjęto próby inicjalizacji rendererów wideo. +NoSmoothLines=Brak wygładzania krawędzi. +NoVsync=Brak synchronizacji pionowej (Vsynch) +Please do not file this error as a bug! Use the web page below to troubleshoot this problem.=Proszę nie zgłaszać tego problemu jako błąd. Użyj informacji ze strony www by rozwiązać problem. +Service switch pressed=Naciśnięto przycisk serwisowy. +SmoothLines=Gładkie krawędzie. +There was an error while initializing your video card.=Zaistniał błąd podczas inicjalizacji twojej karty graficznej. +Unknown video renderer value: %s=Nieznana wartość renderera wideo: %s +Video Driver: %s=Sterownik Obrazu: %s +Vsync=Synchronizacja pionowa (Vsync) +Windowed=Tryb Okienkowy +color=kolor +texture=tekstura + +[StepsType] +dance-couple=couple +dance-double=double +dance-single=single +dance-solo=solo +dance-threepanel=3panel +dance-routine=routine +lights-cabinet=Lights +# SSC +Dance_Single=Single +Dance_Double=Double +Dance_Threepanel=3 Panels + +[TapNoteScore] +AvoidMine=Uniknięta Miny +HitMine=Trafiona Miny +Miss=Puszczona +CheckpointMiss=Puszczony Hold +CheckpointHit=Trafiony Hold +None=Żadna +W1=Flawless +W2=Perfect +W3=Great +W4=Good +W5=Boo + +[ThemeManager] +Reloaded metrics=Przeładowano parametry +Reloaded metrics and textures=Przeładowano parametry i tekstury +Reloaded scripts=Przeładowano skrypty +Reloaded overlay screens=Przeładowano ekrany nakładki + +[WorkoutManager] +You must supply a name for your workout.=Musisz nadać nazwę dla treningu. +The name you chose conflicts with another workout. Please use a different name.=Wybrana nazwa konfliktuje z już istniejącą. Proszę podać inną. +The workout name cannot contain any of the following characters: %s=Nazwa treningu nie może zawierać znaków: %s +%d/%d songs enabled=%d/%d włączonych piosenek + +[Dialog-Add A Comment] +Add A Comment=Dodaj Komentarz +Cancel=Przerwij +OK=OK +Package Comment=Komentarz Pakietu +You can add a message to display before a user installs your package.=Możesz dodać wiadomość, która się wyświetli dla użytkownika przed instalacją pakietu. +Show a comment=Pokaż komentarz +Don't display this dialog in the future=Nie pokazuj więcej tego komunikatu + +[Dialog-Change Game Settings] +Cancel=Przerwij +Change Game Settings=Zmień Ustawienia Gry +Default (recommended)=Domyślne (zalecane) +Direct3D=Direct3D +DirectSound Hardware=Sprzęt DirectSound +DirectSound Software=Oprogramowanie DirectSound +Graphics API=API Grafiki +Log to Disk=Loguj na dysk +Other=Inne +Force 60Hz Refresh=Wymuś 60Hz Odświeżanie +Null (no sound)=Null (bez dźwięku) +OK=OK +OpenGL=OpenGL +Show Log Window=Pokaż okno log`a +Sound API=API Dźwięku +Tip: Change these only if you experience problems when using the default settings.=Sugestia: Te opcje zmieniaj tylko jeśli wystąpią problemy z domyślnymi ustawieniami. +WaveOut=WaveOut + +[Dialog-Create Language] +Cancel=Przerwij +Choose a language=Wybierz język +Create Language=Stwórz język +OK=OK + +[Dialog-Edit Installations] +Add=Dodaj +Add New Installation=Dodaj nową Instalację +Cancel=Przerwij +Current Installations=Bieżące Instalacje +Current Installations (the top installation is the default)=Bieżące Instalacje (najwyższa instalacja jest domyślna) +Edit Installations=Edytuj Instalacje +Enter the complete path to a StepMania or DWI installation\ne.g. "C:\Program Files\StepMania"=Podaj kompletną ścieżkę do zainstalowanej instancji Stepmanii lub DWI, np.: "C:\Program Files\StepMania" +Make Default=Ustaw jako domyślny +OK=OK +Remove=Usuń +The top installation is the default.=Najwyższa instalacja jest domyślna. + +[Dialog-Export Packages] +Close=Zamknij +Edit Installations=Edytuj Instalacje +Export As Individual=Eksportuj Pojedynczo +Export As One=Eksportuj do Jednego Pakietu +Export Packages=Eksportuj Pakiety +Installation=Instalacja +Launch Game=Uruchom Grę +Open Program Folder=Otwórz Folder Programu +Select Installation:=Wybierz Instalację: +Tree2=Drzewo2 + +[Dialog-Language Translations] +1) Create a new language\n2) Export the theme strings to a CSV\n3) Edit the CSV using Excel or a text editor\n4) Import the CSV file back into the same language=1) Stwórz nowy język\n2) Wyeksportuj ciągi z Theme`u do CSV\n3)Edytuj CSV przy pomocy Excel`a lub edytora tekstu\n4) Zaimportuj plik CSV do języka +Check Language=Sprawdź Język +Close=Zamknij +Create Language=Stwórz Język +Delete Language=Skasuj Język +Export CSV=Eksport do CSV +Export already translated strings=Eksportuj już przetłumaczone ciągi +Import CSV=Import z CSV +Language Translations=Przetłumaczone Języki +Languages=Języki +Need translation:=Potrzebne tłumaczenie: +Selection details=Szczegóły zaznaczenia +Themes=Theme`y +Total Strings:=Wszystkie Ciągi: + +[Dialog-StepMania Tools] +Close=Zamknij +Export As Individual=Eksportuj Pojedynczo +Export As One=Eksportuj do Jednego Pakietu +Export Packages=Eksportuj Pakiety +Launch Game=Uruchom Grę +Open Program Folder=Otwórz Folder Programu +Select Installation:=Wybierz Instalację: +StepMania Tools=Narzędzia Stepmanii +Tree2=Drzewo2 + +[Dialog-StepMania Tools Main Menu] +Change Preferences=Zmień Ustawienia +Change the graphics API, sound API, and other settings that the game will use.=Zmień API Graficzne, API Dźwiękowe i inne ustawienia używane przez grę. +Clear Mappings=Wyczyść Mapowanie +Clear Preferences=Wyczyść Ustawienia +Clear all preferences if you've made changes and the game won't start.=Przywraca wszystkie ustawienia jeśli po wprowadzonych zmianach gra nie startuje. +Create .smzip package files to share with other users.=Tworzy pakiet .smzip do wymiany z innymi użytkownikami. +Create .smzip package files to share with other users. Packages can contain songs, courses, themes, backgrounds, and more.=Tworzy pakiet .smzip do wymiany z innymi użytkownikami. Pakiety mogą zawierać piosenki, maratony, theme`y, tła, itp. +Create Song=Utwórz Piosenkę +Create a new or manage existing language translations.=Tworzy nowe lub zarządza istniejącymi tłumaczeniami. +Create a new song in from your favorite mp3 or ogg music file.=Tworzy nową piosenkę z pliku mp3 lub ogg. +Create and Share=Tworzenie i Wymiana +Edit Installations=Edycja Instalacji +Erase all of your keyboard and joystick mappings if you've made a mistake.=Wymazanie wszystkich ustawień i mapowań joystików, padów i mat. +Exit=Wyjście +Export Packages=Eksport Pakietów +Installation=Instalacja +Languages=Języki +Launch Game=Uruchom Grę +Open Preferences=Otwórz Ustawienia +Open the preferences file to make changes by hand.=Otwiera plik z ustawieniami, które można nanieść ręcznie. +StepMania Tools Main Menu=Narzędzia Stepmanii Menu Główne +Troubleshooting=Rozwiązywanie Problemów + +[ChangeGameSettings] +Error writing file '%s': %s=Błąd podczas zapisu pliku '%s': %s + +[Dialog-Name Your Package] +Name Your Package=Nazwij swój pakiet +Enter a name for your new package:=Wprowadź nazwę nowego pakietu: +OK=OK +Cancel=Przerwij +Note: leave off the ".smzip" extention=Uwaga: wpisz bez rozszerzenia ".smzip" + +[Dialog-Install a package] +Finish >=Zakończ > +Cancel=Przerwij +< Back=< Cofnij +Install a package=Instaluj pakiet +Edit Installations=Edytuj Instalacje +You have chosen to install the package:=Wybrałeś do zainstalowania pakiet: +This package contains the following files:=Ten pakiet zawiera następujące pliki: +The package will be installed in the following program folder:=Pakiet zostanie zainstalowany do folderu: + +[PlayerNumber] +P1=P1 +P2=P2 + +[UnlockRewardType] +Song=Piosenka +Steps=Kroki +StepsType=TypKroków +Course=Maraton +Modifier=Modyfikator + +[RageDisplay_Legacy] +Obtain an updated driver from your video card manufacturer.=Zdobądź aktualny sterownik od producenta twojej karty graficznej. +GLDirect was detected. GLDirect is not compatible with this game and should be disabled.=Wykryto GLDirect. GLDirect nie jest kompatybilny z tą grą i powinien zostać wyłączony. + +[RageDisplay_D3D] +DirectX 8.1 or greater is not installed. You can download it from:=Brak zainstalowanego DirectX 8.1 (lub wyższego). Można go pobrać z: +Your system is reporting that Direct3D hardware acceleration is not available. Please obtain an updated driver from your video card manufacturer.=Twój system raportuje brak dostępnej akceleracji Direct3D. Zdobądź aktualny sterownik od producenta twojej karty graficznej. + +[RageDisplay] +SetVideoMode failed:=SetVideoMode nie udane: + +[Dialog-Prompt] +Prompt=Linia poleceń +OK=OK +&Don't display this message again=&Nie wyświetlaj tej informacji ponownie +Error=Błąd + +[Dialog-Uninstall Old Packages] +Uninstall Old Packages=Odinstaluj Stare Pakiety +&Yes=&Tak +&No=&Nie +Cancel=Przerwij +The following packages are already installed. It is strongly recommended that they be deleted before installing this package.=Poniższe pakiety są już zainstalowane. Mocno zalecane jest ich wcześniejsze skasowanie przed instalacja tego pakietu. +Delete old packages?=Skasować stare pakiety? + +[DeviceButton] +Home=Home +End=End +Up=Góra +Down=Dół +Space=Spacja +Shift=Shift +Ctrl=Ctrl +Alt=Alt +Insert=Insert +Delete=Delete +PgUp=PgUp +PgDn=PgDn +Backslash=Backslash + +[EditHelpDescription] +Move cursor=Przesuwanie kursora +Jump measure=Przeskocz pomiar +Select region=Zaznacz region +Jump to first/last beat=Skocz do pierwszego/ostatniego beat`u +Change zoom=Zmień powiększenie +Play=Odtwórz +Play current beat to end=Odtwórz od bieżącego beat`u do końca +Play whole song=Odtwórz całą piosenkę +Record=Nagraj +Set selection=Ustaw zaznaczenie +Toggle assist tick=Włącz tyknięcie pomocnicze +Next/prev steps of same StepsType=Następne/Poprzednie kroki tego samego Typu +Decrease/increase BPM at cur beat=Zmniejsz/Zwiększ BPM na bieżącym beat`cie +Decrease/increase stop at cur beat=Zmniejsz/Zwiększ Pauzę na bieżącym beat`cie +Decrease/increase music offset=Zmniejsz/Zwiększ Offset +Decrease/increase sample music start=Zmniejsz/Zwiększ początek podglądu +Decrease/increase sample music length=Zmniejsz/Zwiększ długość podglądu +Play sample music=Odtwórz podgląd +Add/Edit Background Change=Dodaj/Edytuj Zmianę Tła (Tylko w trybie Timing Piosenki) +Insert beat and shift down=Wstaw beat i przesuń w dół. +Shift BPM changes and stops down one beat=Przesuń zmiany BPM i przesuń w dół o jeden beat +Delete beat and shift up=Skasuj beat i przesuń w górę +Shift BPM changes and stops up one beat=Przesuń zmiany BPM i przesuń w górę o jeden beat +Cycle between tap notes=Przełącz rodzaj nuty +Lay mine=Stwórz minę +Lay lift=Stwórz lift +Add to/remove from right half=Dodaj/Usuń z prawej połowy +Switch Timing=Przełącz Timing +Switch player (Routine only)=Przełącz gracza (tylko w trybie Routine) + +[Grade] +Tier01=AAAA +Tier02=AAA +Tier03=AA +Tier04=A +Tier05=B +Tier06=C +Tier07=D +Tier08=D +Failed=F +None= + +[ScreenOptionsEditCourse] +-Empty-=-Puste- +Song=Piosenka +Steps=Kroki +minutes=minuty +You must enable at least %d songs.=Musisz włączyć przynajmniej %d piosenki. + +[LowLevelWindow_Win32] +OpenGL hardware acceleration is not available.=Sprzętowe przyspieszenie OpenGL niedostępne. + +[Premium] +Off=Wyłącz +DoubleFor1Credit=Double za 1 kredyt +2PlayersFor1Credit=2 Graczy z 1 kredyt + +[Stage] +1st=1sza +2nd=2ga +3rd=3cia +4th=4ta +5th=5ta +6th=6ta +Next=Następna +Final=Finał +Extra1=Ekstra +Extra2=Dodatkowa +Nonstop=Nonstop +Oni=Oni +Endless=Nieskończony +Event=Impreza +Demo=Demonstracja + +[JudgmentLine] +W1=Flawless +W2=Perfect +W3=Great +W4=Good +W5=Boo +Held=Held +MaxCombo=Max Combo +Miss=Miss + +[NativeLanguageNames] +Afar=Afar +Abkhazian=????? ?????? +Afrikaans=Afrikaans +Amharic=Amharic +Arabic=??????? +Assamese=Assamese +Aymara=Aymara +Azerbaijani=az?rbaycan +Bashkir=Bashkir +Byelorussian=?????????? +Bulgarian=????????? +Bihari=Bihari +Bislama=Bislama +Bengali=Bengali +Tibetan=Tibetan +Breton=Breton +Catalan=Catala +Corsican=Corsican +Czech=čeština +Welsh=Cymraeg +Danish=Dansk +German=Deutsch +Bhutani=Bhutani +Greek=???????? +English=English +Esperanto=Esperanto +Spanish=Espanol +Estonian=Eesti +Basque=euskera +Persian=????? +Finnish=Suomi +Fiji=Fiji +Faeroese=Faeroese +French=Français +Frisian=Frisian +Irish=Gaeilge +Gaelic=Gaelic +Galician=Galego +Guarani=Guarani +Gujarati=Gujarati +Hausa=Hausa +Hebrew=????? +Hindi=????? +Croatian=Hrvatski +Hungarian=Magyar +Armenian=??????? +Interlingua=Interlingua +Indonesian=Bahasa indonesia +Interlingue=Interlingue +Inupiak=Inupiak +Indonesian=Bahasa indonesia +Icelandic=Íslenska +Italian=Italiano +Hebrew=????? +Japanese=??? +Yiddish=Yiddish +Javanese=Javanese +Georgian=Georgian +Kazakh=????? +Greenlandic=Greenlandic +Cambodian=Cambodian +Kannada=????? +Korean=??? +Kashmiri=Kashmiri +Kurdish=Kurdish +Kirghiz=?????? +Latin=Latin +Lingala=Lingala +Laothian=Laothian +Lithuanian=Lietuviškai +Latvian=Latviešu +Malagasy=Malagasy +Maori=Maori +Macedonian=?????????? +Malayalam=Malayalam +Mongolian=Mongolian +Moldavian=Moldavian +Marathi=Marathi +Malay=Bahasa melayu +Maltese=Malti +Burmese=Burmese +Nauru=Nauru +Nepali=Nepali +Dutch=Nederlands +Norwegian=Norsk +Occitan=Occitan +Oromo=Oromo +Oriya=Oriya +Punjabi=Punjabi +Polish=Polski +Pashto=???? +Portuguese=portugues +Quechua=Quechua +Rhaeto-Romance=Rhaeto-Romance +Kirundi=Kirundi +Romanian=Română +Russian=Pycc??? +Kinyarwanda=Kinyarwanda +Sanskrit=Sanskrit +Sindhi=Sindhi +Sangro=Sangro +Serbo-Croatian=Serbo-Croatian +Singhalese=Singhalese +Slovak=Slovenčina +Slovenian=Slovenščina +Samoan=Samoan +Shona=Shona +Somali=Somali +Albanian=Shqip +Serbian=Srpski +Siswati=Siswati +Sesotho=Sesotho +Sudanese=Sudanese +Swedish=svenska +Swahili=Kiswahili +Tamil=Tamil +Tegulu=?????? +Tajik=Tajik +Thai=??????? +Tigrinya=Tigrinya +Turkmen=Turkmen +Tagalog=Tagalog +Setswana=Setswana +Tonga=Tonga +Turkish=T?rkçe +Tsonga=Tsonga +Tatar=Tatar +Twi=Twi +Ukrainian=?????????? +Urdu=???? +Uzbek=o'zbek +Vietnamese=Tie´ng Vie?t +Volapuk=Volapuk +Wolof=Wolof +Xhosa=isiXhosa +Yiddish=Yiddish +Yoruba=Yorubá +Chinese=?? +Zulu=isiZulu + +[ScreenPlayerOptions] +HeaderText=Wybierz modyfikatory +HeaderSubText=Utrudnij grę by sprawdzić swoje umiejętności! + +[ScreenSongOptions] +HeaderText=Opcje piosenki +HeaderSubText=Wybrałeś świetną piosenkę... teraz zatańczmy! + +[StageAward] +FullComboW3=Pełne Combo! +SingleDigitW3=Pojedyncza Cyfra\nGreat`ów! +OneW3=Jeden Great! +FullComboW2=Pełne Combo\nna Perfect`ach!! +SingleDigitW2=Pojedyncza Cyfra\nPerfectów`ów! +OneW2=Jeden Perfect!! +FullComboW1=Pełne Combo\nna Fantastic`ach !!! +80PercentW3=80% Great`ów! +90PercentW3=90% Great`ów!! +100PercentW3=100% Great`ów!!! + +[PeakComboAward] +1000=Szczytowe Combo 1000! +2000=Szczytowe Combo 2000! +3000=Szczytowe Combo 3000! +4000=Szczytowe Combo 4000! +5000=Szczytowe Combo 5000!! +6000=Szczytowe Combo 6000!! +7000=Szczytowe Combo 7000!! +8000=Szczytowe Combo 8000!! +9000=Szczytowe Combo 9000!! +10000=Szczytowe Combo 10000!!! + +[ScreenOptionsExportPackage] +HeaderText=Eksport Pakietów +HeaderSubText=Podziel się swoją twórczością z innymi + +[ScreenOptionsEdit] +HeaderText=Edycja Piosenek +HeaderSubText=Pokaż swoja kreatywność + +[ScreenMiniMenuEditHelp] +HeaderText=Pomoc do Edycji + +[ScreenMiniMenuMainMenu] +HeaderText=Menu Główne + +[ScreenMiniMenuAreaMenu] +HeaderText=Menu Zaznaczenia + +[ScreenMiniMenuStepsInformation] +HeaderText=Informacje o krokach + +[ScreenMiniMenuSongInformation] +HeaderText=Informacji Piosenki + +[ScreenMiniMenuBackgroundChange] +HeaderText=Zmiana Tła + +[ScreenMiniMenuInsertTapAttack] +HeaderText=Wstaw Atak + +[ScreenMiniMenuInsertCourseAttack] +HeaderText=Wstaw Atak + +[ScreenMiniMenuCourseDisplay] +HeaderText=Wyświetl Maratony + +[CourseUtil] +You must supply a name for your course.=Musisz nadać nazwę dla maratonu +The course name cannot contain any of the following characters: %s=Nazwa maratonu nie może zawierać znaków: %s +The name you chose conflicts with another course. Please use a different name.=Podana nazwa konfliktuje z już istniejącą. Proszę podać inną. +[ScreenProfileSave] +HeaderText= +[ScreenTestInput] +HeaderText=Test Kontrolerów +[ScreenMiniMenuContext] +HeaderText=! +[ScreenOptionsManageProfiles] +HeaderText=Profile +[ScreenOptionsSystemDirection] +HeaderText=Ustawienia Systemu +[ScreenOptionsUI] +HeaderText=Ustawienia Interfejsu +[ScreenOptionsArcade] +HeaderText=Opcje Automatowe +[ScreenOptionsInput] +HeaderText=Opcje Wejścia +[ScreenOptionsTheme] +HeaderText=Opcje Motywu Graficznego +[ScreenOptionsManageCourses] +HeaderText=Maratony +[ScreenEditOptions] +HeaderText= +[ScreenOptionsEditCourse] +HeaderText=Edycja Maratonów +HelpText=&MENUUP;&MENUDOWN; Poruszanie &MENULEFT;&MENURIGHT; Zmiana wartości +[ScreenOptionsCourseOverview] +HeaderText=Przegląd Maratonów +[ScreenSelectProfile] +HeaderText=Wybierz Profil +[ScreenSelectPlayStyle] +HeaderText=Wybierz Styl +[ScreenGameInformation] +HeaderText=Informacje +[StepsDisplay StepsType] +Dance_Single=Single +Dance_Double=Double +Dance_Couple=Couple +Dance_Solo=Solo +Dance_Routine=Routine +Dance_Threepanel=3 Panels +Pump_Single=Single +Pump_Double=Double +Pump_Halfdouble=Half-Double +Pump_Couple=Couple +Pump_Routine=Routine +Kb7_Single=KB7 +Ez2_Single=Single +Ez2_Double=Double +Ez2_Real=Real +Para_Single=Single +Ds3ddx_Single=Single +Bm_Single5=5 Klawiszy +Bm_Double5=10 Klawiszy +Bm_Single7=7 Klawiszy +Bm_Double7=14 Klawiszy +Maniax_Single=Single +Maniax_Double=Double +Techno_Single4=Single 4 +Techno_Single5=Single 5 +Techno_Single8=Single 8 +Techno_Double4=Double 4 +Techno_Double5=Double 5 +Pnm_Five=5 Przycisków +Pnm_Nine=9 Przycisków +Guitar_Five=5 Progów +Karaoke=Karaoke +Lights_Cabinet=Światła +[StepsListDisplayRow StepsType] +Dance_Single=Single +Dance_Double=Double +Dance_Couple=Couple +Dance_Solo=Solo +Dance_Routine=Routine +Dance_Threepanel=3panel +Pump_Single=Single +Pump_Double=Double +Pump_Halfdouble=Half-Double +Pump_Couple=Couple +Pump_Routine=Routine +Kb7_Single=KB7 +Ez2_Single=Single +Ez2_Double=Double +Ez2_Real=Real +Para_Single=Single +Ds3ddx_Single=Single +Bm_Single5=5 Keys +Bm_Double5=10 Keys +Bm_Single7=7 Keys +Bm_Double7=14 Keys +Maniax_Single=Single +Maniax_Double=Double +Techno_Single4=Single 4 +Techno_Single5=Single 5 +Techno_Single8=Single 8 +Techno_Double4=Double 4 +Techno_Double5=Double 5 +Pnm_Five=5 Button +Pnm_Nine=9 Button +Guitar_Five=5 Frets +Karaoke=Karaoke +Lights_Cabinet=Światła + +[ScreenHowToInstallSongs] +HeaderText=Instalowanie Piosenek + +[ThemePrefs] +IniFileMissing=Brak pliku ini. Nie mogę czytać ani zapisywać na dysk :( +UnknownPreference=Nieznane ustawienie "%s" + +[ThemePrefsRows] +ChoicesSizeMismatch=Opcje i Wartości mają różne rozmiary (%d, %d) +NoDefaultInValues=Ustawienie "%s" nie posiada wartości odpowiadającej domyślnej. +TypeMismatch=Niezgodność typów pomiędzy domyślną (%s) i wartością %d (%s) +>>>>>>> inne \ No newline at end of file diff --git a/Themes/_fallback/Scripts/02 Colors.lua b/Themes/_fallback/Scripts/02 Colors.lua index 9cfe09c54c..b46d9c5fe5 100644 --- a/Themes/_fallback/Scripts/02 Colors.lua +++ b/Themes/_fallback/Scripts/02 Colors.lua @@ -1,5 +1,5 @@ -- SSC Color Module and Library -local nilColor = color("0,0,0,0") + -- Original Color Module. Color = { -- Color Library @@ -16,7 +16,7 @@ Color = { Purple = color("#92278f"), Outline = color("0,0,0,0.5"), Invisible = color("1,1,1,0"), - Stealth = nilColor, + Stealth = color("0,0,0,0"), -- Color Functions -- These functions alter colors in a certain way so that you can make -- new ones without having to copy a color or find a new one. @@ -30,8 +30,11 @@ Color = { return { c[1],c[2],c[3],fAlpha }; end } + +setmetatable(Color, { __call = function(self, c) return self[c] end }) + -- Remapped Color Module, since some themes are crazy -Colors = Color; +-- Colors = Color; GameColor = { PlayerColors = { @@ -95,10 +98,6 @@ GameColor.Difficulty["Nightmare"] = GameColor.Difficulty["Challenge"]; GameColor.Difficulty["HalfDouble"] = GameColor.Difficulty["Medium"]; --[[ Fallbacks ]] -function Color(c) - return Colors[c] -end - function BoostColor( cColor, fBoost ) local c = cColor return { c[1]*fBoost, c[2]*fBoost, c[3]*fBoost, c[4] } diff --git a/Themes/_fallback/Scripts/03 Gameplay.lua b/Themes/_fallback/Scripts/03 Gameplay.lua index 3fd0d83e4b..629453ff5a 100644 --- a/Themes/_fallback/Scripts/03 Gameplay.lua +++ b/Themes/_fallback/Scripts/03 Gameplay.lua @@ -187,7 +187,11 @@ function HoldTiming() end function ShowHoldJudgments() - return not GAMESTATE:GetCurrentGame():GetName() == "pump" + if GAMESTATE:GetCurrentGame():GetName() == "pump" then + return false + else + return true + end end function HoldHeadStep() @@ -271,4 +275,4 @@ end function ComboUnderField() return GetUserPrefB("UserPrefComboUnderField") -end \ No newline at end of file +end diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index da55d7ef33..7255b9a842 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -200,6 +200,8 @@ DrunkOffsetFrequency=10 DrunkArrowMagnitude=0.5 BeatOffsetHeight=15 BeatPIHeight=2 +MiniPercentBase=0.5 +MiniPercentGate=1 TinyPercentBase=0.5 TinyPercentGate=1 DizzyHoldHeads=false diff --git a/Themes/default-dev-midi/metrics.ini b/Themes/default-dev-midi/metrics.ini index 72b1cbe014..2f0e2571a5 100644 --- a/Themes/default-dev-midi/metrics.ini +++ b/Themes/default-dev-midi/metrics.ini @@ -1,5 +1,8 @@ [Global] FallbackTheme=default +[ScreenTitleMenu] +ChoiceNames="1,4,5,6,PopScreen,7" +ChoicePopScreen="name,Boobs;text,Boobs"; [ScreenGameplay] # LifeP1OnCommand=visible,false -# LifeP2OnCommand=visible,false \ No newline at end of file +# LifeP2OnCommand=visible,false diff --git a/Themes/default/BGAnimations/ScreenCredits background/default.lua b/Themes/default/BGAnimations/ScreenCredits background/default.lua index 47e9237339..8cd4a8ea35 100644 --- a/Themes/default/BGAnimations/ScreenCredits background/default.lua +++ b/Themes/default/BGAnimations/ScreenCredits background/default.lua @@ -13,7 +13,7 @@ local t = Def.ActorFrame { LoadActor("_grid")..{ InitCommand=cmd(customtexturerect,0,0,(SCREEN_WIDTH+1)/4,SCREEN_HEIGHT/4;SetTextureFiltering,true); OnCommand=cmd(zoomto,SCREEN_WIDTH+1,SCREEN_HEIGHT;diffuse,Color("Black");diffuseshift;effecttiming,(1/8)*4,0,(7/8)*4,0;effectclock,'beatnooffset'; - effectcolor2,Color("Black");effectcolor1,Colors.Alpha(Color("Black"),0.45);fadebottom,0.25;fadetop,0.25;croptop,48/480;cropbottom,48/480;diffusealpha,0.345); + effectcolor2,Color("Black");effectcolor1,Color.Alpha(Color("Black"),0.45);fadebottom,0.25;fadetop,0.25;croptop,48/480;cropbottom,48/480;diffusealpha,0.345); }; }; diff --git a/Themes/default/BGAnimations/ScreenGameplay background.lua b/Themes/default/BGAnimations/ScreenGameplay background.lua new file mode 100644 index 0000000000..989e15f73d --- /dev/null +++ b/Themes/default/BGAnimations/ScreenGameplay background.lua @@ -0,0 +1 @@ +return Def.ActorFrame { Name="YOU_WISH_YOU_WERE_PLAYING_BEATMANIA_RIGHT_NOW" }; \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenGameplay next course song/default.lua b/Themes/default/BGAnimations/ScreenGameplay next course song/default.lua index de7cf0b949..732b6a912d 100644 --- a/Themes/default/BGAnimations/ScreenGameplay next course song/default.lua +++ b/Themes/default/BGAnimations/ScreenGameplay next course song/default.lua @@ -7,7 +7,7 @@ t[#t+1] = Def.Sprite { BeforeLoadingNextCourseSongMessageCommand=function(self) self:LoadFromSongBackground( SCREENMAN:GetTopScreen():GetNextCourseSong() ) end; ChangeCourseSongInMessageCommand=cmd(scaletoclipped,SCREEN_WIDTH,SCREEN_HEIGHT); StartCommand=cmd(diffusealpha,0;decelerate,0.5;diffusealpha,1;); - FinishCommand=cmd(linear,0.1;glow,Colors.Alpha(Color("White"),0.5);decelerate,0.4;glow,Color("Invisible");diffusealpha,0); + FinishCommand=cmd(linear,0.1;glow,Color.Alpha(Color("White"),0.5);decelerate,0.4;glow,Color("Invisible");diffusealpha,0); }; t[#t+1] = Def.ActorFrame { diff --git a/Themes/default/BGAnimations/ScreenPlayerOptions background.lua b/Themes/default/BGAnimations/ScreenPlayerOptions background.lua index e7cafc1283..f06580a070 100644 --- a/Themes/default/BGAnimations/ScreenPlayerOptions background.lua +++ b/Themes/default/BGAnimations/ScreenPlayerOptions background.lua @@ -24,7 +24,7 @@ t[#t+1] = Def.ActorFrame { --[[ LoadActor(THEME:GetPathB("ScreenWithMenuElements","background/_grid")).. { InitCommand=cmd(customtexturerect,0,0,(SCREEN_WIDTH+1)/4,SCREEN_HEIGHT/4;SetTextureFiltering,true); OnCommand=cmd(zoomto,SCREEN_WIDTH+1,SCREEN_HEIGHT;diffuse,Color("Black");diffuseshift;effecttiming,(1/8)*4,0,(7/8)*4,0;effectclock,'beatnooffset'; - effectcolor2,Color("Black");effectcolor1,Colors.Alpha(Color("Black"),0.45);fadebottom,0.25;fadetop,0.25;croptop,48/480;cropbottom,48/480;diffusealpha,0.345); + effectcolor2,Color("Black");effectcolor1,Color.Alpha(Color("Black"),0.45);fadebottom,0.25;fadetop,0.25;croptop,48/480;cropbottom,48/480;diffusealpha,0.345); }; --]] LoadActor(THEME:GetPathB("ScreenWithMenuElements","background/_bg top")) .. { InitCommand=cmd(scaletoclipped,SCREEN_WIDTH+1,SCREEN_HEIGHT); diff --git a/Themes/default/BGAnimations/ScreenWithMenuElements background/default.lua b/Themes/default/BGAnimations/ScreenWithMenuElements background/default.lua index 2a5ef20e90..73c5519edb 100644 --- a/Themes/default/BGAnimations/ScreenWithMenuElements background/default.lua +++ b/Themes/default/BGAnimations/ScreenWithMenuElements background/default.lua @@ -33,7 +33,7 @@ t[#t+1] = Def.ActorFrame { --[[ LoadActor("_grid") .. { InitCommand=cmd(customtexturerect,0,0,(SCREEN_WIDTH+1)/4,SCREEN_HEIGHT/4;SetTextureFiltering,true); OnCommand=cmd(zoomto,SCREEN_WIDTH+1,SCREEN_HEIGHT;diffuse,Color("Orange");diffuseshift;effecttiming,(1/8)*2,0,(7/8)*2,0;effectclock,'beatnooffset'; - effectcolor2,Color("Orange");effectcolor1,Colors.Alpha(Color("Orange"),0.45);fadebottom,0.25;fadetop,0.25;croptop,48/480;cropbottom,48/480); + effectcolor2,Color("Orange");effectcolor1,Color.Alpha(Color("Orange"),0.45);fadebottom,0.25;fadetop,0.25;croptop,48/480;cropbottom,48/480); }; --]] LoadActor("_bg top") .. { InitCommand=cmd(scaletoclipped,SCREEN_WIDTH+1,SCREEN_HEIGHT); diff --git a/Themes/default/Graphics/Player toasty/default.lua b/Themes/default/Graphics/Player toasty/default.lua index bbc4c72c04..206e223510 100644 --- a/Themes/default/Graphics/Player toasty/default.lua +++ b/Themes/default/Graphics/Player toasty/default.lua @@ -13,7 +13,7 @@ return Def.ActorFrame { InitCommand=cmd(zoomto,fWidth,SCREEN_HEIGHT;diffuse,PlayerColor(Player);diffusealpha,0;fadeleft,32/(256+16);faderight,32/(256+16)); ToastyAchievedMessageCommand=function(self,params) if params.PlayerNumber == Player then - (cmd(stoptweening;linear,2.125;diffuse,Colors.Alpha( PlayerColor(Player), 0.345 );glow,color("1,1,1,0.5");decelerate,3;glow,Colors.Alpha( ColorDarkTone( PlayerColor(Player) ), 0 );diffuseramp; + (cmd(stoptweening;linear,2.125;diffuse,Color.Alpha( PlayerColor(Player), 0.345 );glow,color("1,1,1,0.5");decelerate,3;glow,Color.Alpha( ColorDarkTone( PlayerColor(Player) ), 0 );diffuseramp; effectcolor1,ColorLightTone( PlayerColor(Player) );effectcolor2,PlayerColor(Player); effectclock,'beat';effectperiod,2; ))(self); @@ -23,7 +23,7 @@ return Def.ActorFrame { ToastyDroppedMessageCommand=function(self,params) if params.PlayerNumber == Player then if HasToasty then - (cmd(finishtweening;stopeffect;glow,color("1,1,1,0.5");decelerate,0.35;diffuse,Colors.Alpha( Color("Black"), 0.25 );glow,color("1,1,1,0");linear,0.35*0.25;diffusealpha,0))(self); + (cmd(finishtweening;stopeffect;glow,color("1,1,1,0.5");decelerate,0.35;diffuse,Color.Alpha( Color("Black"), 0.25 );glow,color("1,1,1,0");linear,0.35*0.25;diffusealpha,0))(self); HasToasty = false; else return diff --git a/Themes/default/Graphics/ScreenGameplay StageDisplay.lua b/Themes/default/Graphics/ScreenGameplay StageDisplay.lua index a20a1c542f..81761ccc77 100644 --- a/Themes/default/Graphics/ScreenGameplay StageDisplay.lua +++ b/Themes/default/Graphics/ScreenGameplay StageDisplay.lua @@ -13,6 +13,7 @@ end for s in ivalues(Stage) do stages[#stages+1] = MakeBitmapTest() .. { + InitCommand=cmd(shadowlength,2); SetCommand=function(self, params) local Stage = GAMESTATE:GetCurrentStage(); local StageIndex = GAMESTATE:GetCurrentStageIndex(); diff --git a/Themes/default/Graphics/ScreenTitleMenu TimingDifficulty.lua b/Themes/default/Graphics/ScreenTitleMenu TimingDifficulty.lua index 0437d83b4d..1be2c9961f 100644 --- a/Themes/default/Graphics/ScreenTitleMenu TimingDifficulty.lua +++ b/Themes/default/Graphics/ScreenTitleMenu TimingDifficulty.lua @@ -2,7 +2,7 @@ return Def.ActorFrame { --[[ LoadActor(THEME:GetPathG("ScreenTitleMenu","PreferenceFrame")) .. { OnCommand=function(self) if GetTimingDifficulty() == 7 then - (cmd(glowshift;diffuse,Color("Yellow");diffuserightedge,Color("Red");effectcolor1,Colors.Alpha( Color("Red"), 0.5 );effectcolor2,Color("Invisible");effectperiod,1.25/2))(self); + (cmd(glowshift;diffuse,Color("Yellow");diffuserightedge,Color("Red");effectcolor1,Color.Alpha( Color("Red"), 0.5 );effectcolor2,Color("Invisible");effectperiod,1.25/2))(self); elseif GetTimingDifficulty() < 4 then (cmd(diffuseshift;effectcolor1,Color("Blue");effectcolor2,ColorDarkTone(Color("Blue"));effectperiod,1.25))(self); elseif GetTimingDifficulty() > 4 and GetTimingDifficulty < 6 then diff --git a/Themes/default/Graphics/ScreenWithMenuElements StageDisplay.lua b/Themes/default/Graphics/ScreenWithMenuElements StageDisplay.lua index abc1409fa6..9853636553 100644 --- a/Themes/default/Graphics/ScreenWithMenuElements StageDisplay.lua +++ b/Themes/default/Graphics/ScreenWithMenuElements StageDisplay.lua @@ -69,7 +69,7 @@ else self:settextf( "Stage %03i", RealStage); self:diffuse( StageToColor('Stage_1st') ); self:diffusebottomedge( ColorMidTone(StageToColor('Stage_1st')) ); - self:strokecolor( Colors.Alpha( ColorDarkTone(StageToColor('Stage_1st')), 0.75) ); + self:strokecolor( Color.Alpha( ColorDarkTone(StageToColor('Stage_1st')), 0.75) ); end; end; } diff --git a/Themes/default/Languages/pl.ini b/Themes/default/Languages/pl.ini new file mode 100644 index 0000000000..1416b30994 --- /dev/null +++ b/Themes/default/Languages/pl.ini @@ -0,0 +1,183 @@ +[Screen] +HelpText=&BACK; Wyjście &START; Zatwierdź &SELECT; Opcje &MENULEFT;&MENURIGHT;&MENUUP;&MENUDOWN; Wybierz + +[ScreenWithMenuElements] +HelpText=&BACK; Wyjście &START; Zatwierdź &MENULEFT;&MENURIGHT; Wybierz + +[ScreenTitleMenu] +HelpText=&BACK; Wyjście &START; Zatwierdź &MENUUP;&MENUDOWN; Wybierz +Network OK=Sieć OK +Offline=Brak połączenia +Connected to %s=Podłączony do %s +CurrentGametype=Tryb gry: %s +LifeDifficulty=Zużycie energii: %s +TimingDifficulty=Ocena trafień: %s + +[ScreenTitleJoin] +HelpText=Naciśnij &START; by rozpocząć grę +HelpTextJoin=Naciśnij &START; by rozpocząć grę +HelpTextWait=Wrzuć żeton... +EventMode=Tryb Imprezy +JointPremiumMain=Premia Łączona +JointPremiumSecondary=Dwóch graczy może grac za jeden kredyt! +DoublesPremiumMain=Podwójna Premia +DoublesPremiumSecondary=Graj w trybie Double za jeden kredyt! + +[ScreenDemonstration] +Demonstration=Demonstracja + +[ScreenQuickSetupOverview] +Explanation=Podstawowe ustawienia umożliwiają szybkie skonfigurowanie najczęściej używanych opcji + +[ScreenProfileLoad] +HelpText=... Ładowanie profili, proszę czekać ... + +[ScreenSelectProfile] +HelpText=&MENUUP;&MENUDOWN; Zmień profil &START; Wybierz/Dołącz &BACK; Odznacz + +[ScreenSelectMaster] +HelpText=&BACK; Wyjście &START; Zatwierdź / Dołącz &MENULEFT;&MENURIGHT; Wybierz + +[ScreenSelectPlayMode] +HelpText=&BACK; Wyjście &START; Zatwierdź / Dołącz &MENULEFT;&MENURIGHT; Wybierz +EasyExplanation=Tryb dla początkujących +HardExplanation=Dla ekspertów. +OldNormalExplanation=Nie za łatwo, nie za trudno. +NormalExplanation=Graj w swoje ulubione piosenki! +RaveExplanation=Bitwa dwóch graczy przeciwko sobie. +ExtendedExplanation=Kilka piosenek pod rząd. +OniExplanation=Prawdziwy test umiejętności. +EndlessExplanation=Tańcz aż padniesz. + +[ScreenSelectPlayStyle] +HelpText=&BACK; Wyjście &START; Zatwierdź &MENULEFT;&MENURIGHT; Wybierz + +[ScreenGameInformation] +HelpText=&BACK; Wyjście &START; Pomiń + +[ScreenSelectMusic] +HelpText=&BACK; Wyjście &START; Zatwierdź / Dołącz &SELECT; Magiczne kody &MENULEFT;&MENURIGHT; Wybierz::&AUXWHITE;+[LITERA] Sortowanie wg. [LITERY] +AlternateHelpText=&SELECT;+&MENULEFT;&MENURIGHT; Zmiana poziomu trudności &SELECT;+&START; Wybór trybu sortowania + +[ScreenSelectCourse] +HelpText=&BACK; Wyjście &START; Zatwierdź / Dołącz &SELECT; Magiczne kody &MENULEFT;&MENURIGHT; Sekwencja ::&UP;&DOWN;&UP;&DOWN; - inne tryby maratonu. + +[ScreenOptions] +HelpText=&BACK; Wyjście &START; Zatwierdź &MENULEFT;&MENURIGHT;&MENUUP;&MENUDOWN; Wybierz + +[ScreenStageInformation] +HelpText= + +[ScreenGameplay] +HelpText= + +[ScreenEvaluation] +HelpText=&BACK; Wyjście &START; Dalej &MENULEFT;+&MENURIGHT; or &SELECT; Screenshot +LifeDifficulty=Zużycie energii: %s +TimingDifficulty=Ocena trafień: %s + +[OptionTitles] +UserPrefAutoSetStyle=Automatycznie Ustaw Styl +UserPrefNotePosition=Pozycja Strzałek +UserPrefComboOnRolls=Narastające combo w Rolls +UserPrefComboUnderField=Combo Pod Strzałkami + +UserPrefGameplayShowScore=Pokazuj wyniki +UserPrefGameplayShowStepsDisplay=Pokazuj Kroki +UserPrefShowLotsaOptions=Ilość opcji +UserPrefLongFail=Tryb Fail`a +UserPrefFlashyCombo=Błyskające Combo +UserPrefGameplayFooter=Stopka Na Ekranie Gry + +[OptionExplanations] +UserPrefAutoSetStyle=Pozwala grze jednoczesne wyświetlenie trybów dla dwóch graczy a nie tylko dla jednego. Wprowadzenie zmiany możne wymagać restartu Stepmanii (lub naciśnięcia klawisza F2) +UserPrefNotePosition=Określa pozycje receptorów strzałek podczas gry. +UserPrefComboOnRolls=Włącza naliczanie licznika Combo w sposób narastający dla strzałek typu ROLL. +UserPrefComboUnderField=Określa czy wskaźnik Combo powinien być wyświetlany nad czy pod strzałkami. + + +UserPrefGameplayShowScore=Wyświetla lub ukrywa licznik punktów podczas gry. +UserPrefGameplayShowStepsDisplay=Wyświetla lub ukrywa statystykę strzałek podczas gry. +UserPrefShowLotsaOptions=Określa jak dużo modyfikatorów wyświetlić na ekranie opcji piosenki. +UserPrefLongFail=Określa długość czasu animacji ogrywanej po niezaliczanej piosence. Oryginalny (Długi) z SM-SSC, nowy (Krotki) +UserPrefFlashyCombo=Określa czy licznik Combo może błyskać czy nie. +UserPrefGameplayFooter=Włączona opcja wyświetla, ograniczająca widoczność nadlatujących strzałek, stopkę u dołu ekranu. + +ScoringType=Opcja pozwala na określenie metody naliczania punktacji. +Speed=Regulacja prędkości nadlatujących strzałek. +Accel=Zmiana ścieżki trasy która lecą strzałki. +Effect=Zmiana rozmiaru lub rodzaju ruchu strzałek lub ich receptorów/celów. +Appearance=Kontrola widoczności strzałek. +Turn=Zmiana choreografii stepchart`a po przez modyfikacje pozycji istniejących strzałek. +Insert=Zmiana choreografii stepchart`a po przez proceduralne dodanie nowych strzałek. +Holds=Zmienia cześć strzałki w HOLD`y +Mines=Dodanie lub usuniecie min. +PlayerAutoPlay=Program odgrywa piosenkę automatycznie +ScoreDisplay=Zmiana sposobu wyświetlania punktacji. +ProTiming=Zmiana sposobu wyświetlania dokładności trafienia w strzałkę. +Scroll=Modyfikacje kierunku ruchu strzałek. +NoteSkins=Wybór wyglądu grafiki strzałek/nut. +Remove=Usuwanie strzałek ze stepchart`a. Opcje ułatwiające ukończenie piosenki. Użycie dyskwalifikuje z rankingu. +Hide=Modyfikacja widoczności receptorów/strzałek celu +Persp=Tryby widoku nadlatujących strzałek. +Steps=Ustawienie poziomu trudności piosenki. +Characters=Wybór modelu tańczącej postaci w tle. +SaveToProfileHelp=Wymaga włączonego profilu, karty pamięci lub pendrive`a. +MusicRateHelp=Prędkość odtwarzania muzyki. +Attacks=Określa czy podczas gry będą użyte, nie będące częścią Maratonu, zdefiniowane w piosence, Ataki Modyfikatorowe. + +[StepsListDisplayRow StepsType] +Dance_Single=4 +Dance_Double=8 +Dance_Couple=8 +Dance_Solo=6 +Dance_Routine=8 +Dance_Threepanel=3 +Pump_Single=5 +Pump_Double=10 +Pump_Halfdouble=6 +Pump_Couple=5 +Pump_Routine=10 +Kb7_Single=7 +Ez2_Single=ES +Ez2_Double=ED +Ez2_Real=ER +Para_Single=PS +Ds3ddx_Single=XS +Bm_Single5=5 +Bm_Double5=10 +Bm_Single7=7 +Bm_Double7=14 +Maniax_Single=MS +Maniax_Double=MD +Techno_Single4=4 +Techno_Single5=5 +Techno_Single8=8 +Techno_Double4=D4 +Techno_Double5=D5 +Pnm_Five=5 +Pnm_Nine=9 +Guitar_Five=5 +Karaoke=V +Lights_Cabinet=! + +[ScreenHowToInstallSongs] +BodyHeader=Jak Zdobyć i Zainstalować Piosenki do Stepmanii +Finding Songs=Gdzie Znaleźć Piosenki +Installing Songs=Jak Zainstalować Piosenki +Importing Songs=Importowanie piosenek z zainstalowanych wcześniej wersji Stepmanii +Reload Songs=Przeładowanie Piosenek +Exit=Powrót do Ekranu Startowego + + +Explanation-WhereToFind=Uruchamia stronę www z informacja miejscach i sposobach na znalezienie piosenek. +Explanation-HowToInstall=Uruchamia stronę www z instrukcja instalacji piosenek. +Explanation-AdditionalFolders=Jeśli masz zainstalowane inne instancje Stepmanii, możesz użyć opcji AdditionalFolder z pliku ustawień by załadować je bez konieczności ich kopiowania. +Explanation-ReloadSongs=Ta czynność jest konieczna jeśli dodano/zmieniono/osunięto piosenki w trakcie pracy programu. +Explanation-Exit=Powrót do Ekranu Startowego. + +[OptionNames] +Custom=Specjalny + +[ScreenTestInput] +HelpText=Przytrzymaj &BACK; lub &START; aby wyjść. \ No newline at end of file diff --git a/Themes/default/metrics.ini b/Themes/default/metrics.ini index 5b83cf0ef7..11e368b4e4 100644 --- a/Themes/default/metrics.ini +++ b/Themes/default/metrics.ini @@ -110,7 +110,7 @@ ItemsSpacingY=24 NumShownItems=8 [FadingBanner] -BannerFadeFromCachedCommand=diffusealpha,1;stoptweening;accelerate,0.05;glow,Colors.Alpha( Color("White"), 0.45 );decelerate,0.175;diffusealpha,0;glow,Color("Invisible"); +BannerFadeFromCachedCommand=diffusealpha,1;stoptweening;accelerate,0.05;glow,Color.Alpha( Color("White"), 0.45 );decelerate,0.175;diffusealpha,0;glow,Color("Invisible"); [Gameplay] @@ -422,7 +422,7 @@ end; ShowAutogen=true AutogenX=0 AutogenY=0 -#AutogenOnCommand=diffuseshift;effectcolor1,Colors.Alpha( Color("Green") , 0.5 );effectcolor2,ColorLightTone( Color("Green") ); +#AutogenOnCommand=diffuseshift;effectcolor1,Color.Alpha( Color("Green") , 0.5 );effectcolor2,ColorLightTone( Color("Green") ); AutogenOnCommand=blend,Blend.Add;diffuseshift;effectcolor1,color("#FFCC00FF");effectcolor2,color("#FFCC0088"); # ShowStepsType=GetUserPrefB("UserPrefAutoSetStyle") @@ -479,6 +479,7 @@ Fallback="StepsDisplay" # end; PillTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \ local fItemWidth = ( 256 / numItems ) \ + self:x( ((itemIndex-(numItems/2))*fItemWidth) + ( numItems / 2 ) ); \ self:zoomtowidth(fItemWidth); \ end; # PillTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \ @@ -489,8 +490,8 @@ end; # self:effecttiming(1,0.01875*itemIndex,1,1-(0.01875*itemIndex)); \ # self:effectclock('beatnooffset'); \ # end; -TextureCoordScaleX=1 -NumPills=1 +TextureCoordScaleX=256/16 +NumPills=16 [TextBanner] TitleOnCommand=horizalign,left;shadowlength,1; @@ -1333,10 +1334,10 @@ BPMDisplayY=SCREEN_BOTTOM-16 BPMDisplayOnCommand=draworder,101 BPMDisplayOffCommand=bounceend,0.25;zoom,0 # -ShowStageDisplay=false +ShowStageDisplay=true StageDisplayX=SCREEN_CENTER_X StageDisplayY=SCREEN_TOP+24 -StageDisplayOnCommand=zoom,0.5; +StageDisplayOnCommand=zoom,0.675; StageDisplayOffCommand=bounceend,0.25;zoom,0 # ShowScoreFrame=GetUserPrefB("GameplayFooter"); diff --git a/Xcode/Info-StepMania.plist b/Xcode/Info-StepMania.plist index 580247540e..e95a68ff7a 100644 --- a/Xcode/Info-StepMania.plist +++ b/Xcode/Info-StepMania.plist @@ -47,6 +47,8 @@ Step CFBundleVersion PRODUCT_VER_BARE + LSApplicationCategoryType + public.app-category.music-games LSMinimumSystemVersion 10.4.10 NSHumanReadableCopyright diff --git a/Xcode/stepmania.xcodeproj/project.pbxproj b/Xcode/stepmania.xcodeproj/project.pbxproj index 0f026901f7..36f73f5a4b 100644 --- a/Xcode/stepmania.xcodeproj/project.pbxproj +++ b/Xcode/stepmania.xcodeproj/project.pbxproj @@ -7918,7 +7918,7 @@ "-fno-exceptions", "-falign-loops=16", ); - PRODUCT_NAME = "StepMania-debug"; + PRODUCT_NAME = StepMania; SYMROOT = "$(SRCROOT)/.."; WRAPPER_EXTENSION = app; }; @@ -8629,7 +8629,7 @@ "-fno-exceptions", "-falign-loops=16", ); - PRODUCT_NAME = "StepMania-FastDebug"; + PRODUCT_NAME = StepMania; STRIP_INSTALLED_PRODUCT = NO; SYMROOT = "$(SRCROOT)/.."; WRAPPER_EXTENSION = app; diff --git a/Xcode/stepmania_xcode4.xcodeproj/project.pbxproj b/Xcode/stepmania_xcode4.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..f828e54f60 --- /dev/null +++ b/Xcode/stepmania_xcode4.xcodeproj/project.pbxproj @@ -0,0 +1,8855 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXAggregateTarget section */ + AA7A2BB30AE09D0F0054C5BA /* all lua */ = { + isa = PBXAggregateTarget; + buildConfigurationList = AA7A2BBD0AE09D4E0054C5BA /* Build configuration list for PBXAggregateTarget "all lua" */; + buildPhases = ( + ); + dependencies = ( + AA7A2BB50AE09D160054C5BA /* PBXTargetDependency */, + AA7A2BB70AE09D160054C5BA /* PBXTargetDependency */, + ); + name = "all lua"; + productName = "all lua"; + }; +/* End PBXAggregateTarget section */ + +/* Begin PBXBuildFile section */ + 1215D7A208C6559A00B87D8B /* ScreenGameplayNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1215D7A008C6559A00B87D8B /* ScreenGameplayNormal.cpp */; }; + 2B17AB7713980FF6001AE57D /* png.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BC6130D13773C8E00CC8BBD /* png.c */; }; + 2B17AB7813980FF6001AE57D /* png.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BC6130E13773C8E00CC8BBD /* png.h */; }; + 2B17AB7913980FF6001AE57D /* pngconf.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BC6130F13773C8E00CC8BBD /* pngconf.h */; }; + 2B17AB7A13980FF6001AE57D /* pngdebug.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BC6131013773C8E00CC8BBD /* pngdebug.h */; }; + 2B17AB7B13980FF6001AE57D /* pngerror.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BC6131113773C8E00CC8BBD /* pngerror.c */; }; + 2B17AB7C13980FF6001AE57D /* pngget.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BC6131213773C8E00CC8BBD /* pngget.c */; }; + 2B17AB7D13980FF6001AE57D /* pnginfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BC6131313773C8E00CC8BBD /* pnginfo.h */; }; + 2B17AB7E13980FF6001AE57D /* pnglibconf.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BC6133D13773D2C00CC8BBD /* pnglibconf.h */; }; + 2B17AB7F13980FF6001AE57D /* pngmem.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BC6131413773C8E00CC8BBD /* pngmem.c */; }; + 2B17AB8013980FF6001AE57D /* pngpread.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BC6131513773C8E00CC8BBD /* pngpread.c */; }; + 2B17AB8113980FF6001AE57D /* pngpriv.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BC6131613773C8E00CC8BBD /* pngpriv.h */; }; + 2B17AB8213980FF6001AE57D /* pngread.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BC6131713773C8E00CC8BBD /* pngread.c */; }; + 2B17AB8313980FF6001AE57D /* pngrio.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BC6131813773C8E00CC8BBD /* pngrio.c */; }; + 2B17AB8413980FF6001AE57D /* pngrtran.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BC6131913773C8E00CC8BBD /* pngrtran.c */; }; + 2B17AB8513980FF6001AE57D /* pngrutil.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BC6131A13773C8E00CC8BBD /* pngrutil.c */; }; + 2B17AB8613980FF6001AE57D /* pngset.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BC6131B13773C8E00CC8BBD /* pngset.c */; }; + 2B17AB8713980FF6001AE57D /* pngstruct.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BC6131C13773C8E00CC8BBD /* pngstruct.h */; }; + 2B17AB8813980FF6001AE57D /* pngtrans.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BC6131E13773C8E00CC8BBD /* pngtrans.c */; }; + 2B17AB8913980FF6001AE57D /* pngwio.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BC6132013773C8E00CC8BBD /* pngwio.c */; }; + 2B17AB8A13980FF6001AE57D /* pngwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BC6132113773C8E00CC8BBD /* pngwrite.c */; }; + 2B17AB8B13980FF6001AE57D /* pngwtran.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BC6132213773C8E00CC8BBD /* pngwtran.c */; }; + 2B17AB8C13980FF6001AE57D /* pngwutil.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BC6132313773C8E00CC8BBD /* pngwutil.c */; }; + 2B17AB9F13981271001AE57D /* libpng-1.5.1-sm5.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2B17AB7213980FDF001AE57D /* libpng-1.5.1-sm5.a */; }; + 2B17ABC51398153F001AE57D /* glew.c in Sources */ = {isa = PBXBuildFile; fileRef = EE879BAA132E06C50078FDDC /* glew.c */; }; + 2B17ABCF139815E0001AE57D /* libglew-sm5.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2B17ABC013981521001AE57D /* libglew-sm5.a */; }; + 2B17ABE51398179E001AE57D /* chartables.c in Sources */ = {isa = PBXBuildFile; fileRef = AA8B6C7904AFD87300D02EE9 /* chartables.c */; }; + 2B17ABE61398179E001AE57D /* get.c in Sources */ = {isa = PBXBuildFile; fileRef = AA8B6C7A04AFD87300D02EE9 /* get.c */; }; + 2B17ABE71398179E001AE57D /* internal.h in Headers */ = {isa = PBXBuildFile; fileRef = AA8B6C7B04AFD87300D02EE9 /* internal.h */; }; + 2B17ABE81398179E001AE57D /* maketables.c in Sources */ = {isa = PBXBuildFile; fileRef = AA8B6C7C04AFD87300D02EE9 /* maketables.c */; }; + 2B17ABE91398179E001AE57D /* pcre.c in Sources */ = {isa = PBXBuildFile; fileRef = AA8B6C7D04AFD87300D02EE9 /* pcre.c */; }; + 2B17ABEA1398179E001AE57D /* pcre.h in Headers */ = {isa = PBXBuildFile; fileRef = AA8B6C7E04AFD87300D02EE9 /* pcre.h */; }; + 2B17ABEB1398179E001AE57D /* study.c in Sources */ = {isa = PBXBuildFile; fileRef = AA8B6C7F04AFD87300D02EE9 /* study.c */; }; + 2B17ABFC139817D5001AE57D /* libpcre-sm5.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2B17ABE013981756001AE57D /* libpcre-sm5.a */; }; + 2B17ABFD139817D6001AE57D /* libpcre-sm5.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2B17ABE013981756001AE57D /* libpcre-sm5.a */; }; + 2B30D6821315EA7E00044B68 /* MouseDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B30D6801315EA7E00044B68 /* MouseDevice.cpp */; }; + 2B30D6831315EA7E00044B68 /* MouseDevice.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B30D6811315EA7E00044B68 /* MouseDevice.h */; }; + 2B43509513949F37006FA051 /* TimingSegments.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B43509313949F37006FA051 /* TimingSegments.h */; }; + 2B43509613949F37006FA051 /* TimingSegments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B43509413949F37006FA051 /* TimingSegments.cpp */; }; + 2B76698B132FF71500586512 /* NotesLoaderSMA.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B766989132FF71500586512 /* NotesLoaderSMA.h */; }; + 2B76698C132FF71500586512 /* NotesLoaderSMA.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B76698A132FF71500586512 /* NotesLoaderSMA.cpp */; }; + 2B9C2E8D137A138B004C92F3 /* NotesLoaderJson.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B9C2E89137A138B004C92F3 /* NotesLoaderJson.cpp */; }; + 2B9C2E8E137A138B004C92F3 /* NotesLoaderJson.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B9C2E8A137A138B004C92F3 /* NotesLoaderJson.h */; }; + 2B9C2E8F137A138B004C92F3 /* NotesWriterJson.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B9C2E8B137A138B004C92F3 /* NotesWriterJson.cpp */; }; + 2B9C2E90137A138B004C92F3 /* NotesWriterJson.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B9C2E8C137A138B004C92F3 /* NotesWriterJson.h */; }; + 2BA7925E1304F20D002BD8E1 /* NotesLoaderSSC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA7925A1304F20D002BD8E1 /* NotesLoaderSSC.cpp */; }; + 2BA7925F1304F20D002BD8E1 /* NotesLoaderSSC.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BA7925B1304F20D002BD8E1 /* NotesLoaderSSC.h */; }; + 2BA792601304F20D002BD8E1 /* NotesWriterSSC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BA7925C1304F20D002BD8E1 /* NotesWriterSSC.cpp */; }; + 2BA792611304F20D002BD8E1 /* NotesWriterSSC.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BA7925D1304F20D002BD8E1 /* NotesWriterSSC.h */; }; + 2BD06FEE137242680018CB9F /* json_batchallocator.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BD06FDD137240CF0018CB9F /* json_batchallocator.h */; }; + 2BD06FEF137242680018CB9F /* json_internalarray.inl in Resources */ = {isa = PBXBuildFile; fileRef = 2BD06FDE137240CF0018CB9F /* json_internalarray.inl */; }; + 2BD06FF0137242680018CB9F /* json_internalmap.inl in Resources */ = {isa = PBXBuildFile; fileRef = 2BD06FDF137240CF0018CB9F /* json_internalmap.inl */; }; + 2BD06FF1137242680018CB9F /* json_reader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BD06FE0137240CF0018CB9F /* json_reader.cpp */; }; + 2BD06FF2137242680018CB9F /* json_value.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BD06FE1137240CF0018CB9F /* json_value.cpp */; }; + 2BD06FF3137242680018CB9F /* json_valueiterator.inl in Resources */ = {isa = PBXBuildFile; fileRef = 2BD06FE2137240CF0018CB9F /* json_valueiterator.inl */; }; + 2BD06FF4137242680018CB9F /* json_writer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BD06FE3137240CF0018CB9F /* json_writer.cpp */; }; + 2BDB88E9137201F700E6FD3A /* lapi.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BDB88B2137201F700E6FD3A /* lapi.c */; }; + 2BDB88EA137201F700E6FD3A /* lapi.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDB88B3137201F700E6FD3A /* lapi.h */; }; + 2BDB88EB137201F700E6FD3A /* lauxlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BDB88B4137201F700E6FD3A /* lauxlib.c */; }; + 2BDB88EC137201F700E6FD3A /* lauxlib.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDB88B5137201F700E6FD3A /* lauxlib.h */; }; + 2BDB88ED137201F700E6FD3A /* lbaselib.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BDB88B6137201F700E6FD3A /* lbaselib.c */; }; + 2BDB88EE137201F700E6FD3A /* lcode.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BDB88B7137201F700E6FD3A /* lcode.c */; }; + 2BDB88EF137201F700E6FD3A /* lcode.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDB88B8137201F700E6FD3A /* lcode.h */; }; + 2BDB88F0137201F700E6FD3A /* ldblib.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BDB88B9137201F700E6FD3A /* ldblib.c */; }; + 2BDB88F1137201F700E6FD3A /* ldebug.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BDB88BA137201F700E6FD3A /* ldebug.c */; }; + 2BDB88F2137201F700E6FD3A /* ldebug.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDB88BB137201F700E6FD3A /* ldebug.h */; }; + 2BDB88F3137201F700E6FD3A /* ldo.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BDB88BC137201F700E6FD3A /* ldo.c */; }; + 2BDB88F4137201F700E6FD3A /* ldo.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDB88BD137201F700E6FD3A /* ldo.h */; }; + 2BDB88F5137201F700E6FD3A /* ldump.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BDB88BE137201F700E6FD3A /* ldump.c */; }; + 2BDB88F6137201F700E6FD3A /* lfunc.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BDB88BF137201F700E6FD3A /* lfunc.c */; }; + 2BDB88F7137201F700E6FD3A /* lfunc.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDB88C0137201F700E6FD3A /* lfunc.h */; }; + 2BDB88F8137201F700E6FD3A /* lgc.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BDB88C1137201F700E6FD3A /* lgc.c */; }; + 2BDB88F9137201F700E6FD3A /* lgc.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDB88C2137201F700E6FD3A /* lgc.h */; }; + 2BDB88FA137201F700E6FD3A /* linit.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BDB88C3137201F700E6FD3A /* linit.c */; }; + 2BDB88FB137201F700E6FD3A /* liolib.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BDB88C4137201F700E6FD3A /* liolib.c */; }; + 2BDB88FC137201F700E6FD3A /* llex.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BDB88C5137201F700E6FD3A /* llex.c */; }; + 2BDB88FD137201F700E6FD3A /* llex.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDB88C6137201F700E6FD3A /* llex.h */; }; + 2BDB88FE137201F700E6FD3A /* llimits.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDB88C7137201F700E6FD3A /* llimits.h */; }; + 2BDB88FF137201F700E6FD3A /* lmathlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BDB88C8137201F700E6FD3A /* lmathlib.c */; }; + 2BDB8900137201F700E6FD3A /* lmem.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BDB88C9137201F700E6FD3A /* lmem.c */; }; + 2BDB8901137201F700E6FD3A /* lmem.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDB88CA137201F700E6FD3A /* lmem.h */; }; + 2BDB8902137201F700E6FD3A /* loadlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BDB88CB137201F700E6FD3A /* loadlib.c */; }; + 2BDB8903137201F700E6FD3A /* lobject.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BDB88CC137201F700E6FD3A /* lobject.c */; }; + 2BDB8904137201F700E6FD3A /* lobject.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDB88CD137201F700E6FD3A /* lobject.h */; }; + 2BDB8905137201F700E6FD3A /* lopcodes.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BDB88CE137201F700E6FD3A /* lopcodes.c */; }; + 2BDB8906137201F700E6FD3A /* lopcodes.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDB88CF137201F700E6FD3A /* lopcodes.h */; }; + 2BDB8907137201F700E6FD3A /* loslib.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BDB88D0137201F700E6FD3A /* loslib.c */; }; + 2BDB8908137201F700E6FD3A /* lparser.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BDB88D1137201F700E6FD3A /* lparser.c */; }; + 2BDB8909137201F700E6FD3A /* lparser.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDB88D2137201F700E6FD3A /* lparser.h */; }; + 2BDB890A137201F700E6FD3A /* lstate.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BDB88D3137201F700E6FD3A /* lstate.c */; }; + 2BDB890B137201F700E6FD3A /* lstate.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDB88D4137201F700E6FD3A /* lstate.h */; }; + 2BDB890C137201F700E6FD3A /* lstring.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BDB88D5137201F700E6FD3A /* lstring.c */; }; + 2BDB890D137201F700E6FD3A /* lstring.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDB88D6137201F700E6FD3A /* lstring.h */; }; + 2BDB890E137201F700E6FD3A /* lstrlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BDB88D7137201F700E6FD3A /* lstrlib.c */; }; + 2BDB890F137201F700E6FD3A /* ltable.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BDB88D8137201F700E6FD3A /* ltable.c */; }; + 2BDB8910137201F700E6FD3A /* ltable.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDB88D9137201F700E6FD3A /* ltable.h */; }; + 2BDB8911137201F700E6FD3A /* ltablib.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BDB88DA137201F700E6FD3A /* ltablib.c */; }; + 2BDB8912137201F700E6FD3A /* ltm.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BDB88DB137201F700E6FD3A /* ltm.c */; }; + 2BDB8913137201F700E6FD3A /* ltm.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDB88DC137201F700E6FD3A /* ltm.h */; }; + 2BDB8914137201F700E6FD3A /* lua.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BDB88DD137201F700E6FD3A /* lua.c */; }; + 2BDB8915137201F700E6FD3A /* lua.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDB88DE137201F700E6FD3A /* lua.h */; }; + 2BDB8916137201F700E6FD3A /* luac.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BDB88DF137201F700E6FD3A /* luac.c */; }; + 2BDB8917137201F700E6FD3A /* luaconf.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDB88E0137201F700E6FD3A /* luaconf.h */; }; + 2BDB8918137201F700E6FD3A /* lualib.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDB88E1137201F700E6FD3A /* lualib.h */; }; + 2BDB8919137201F700E6FD3A /* lundump.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BDB88E2137201F700E6FD3A /* lundump.c */; }; + 2BDB891A137201F700E6FD3A /* lundump.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDB88E3137201F700E6FD3A /* lundump.h */; }; + 2BDB891B137201F700E6FD3A /* lvm.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BDB88E4137201F700E6FD3A /* lvm.c */; }; + 2BDB891C137201F700E6FD3A /* lvm.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDB88E5137201F700E6FD3A /* lvm.h */; }; + 2BDB891D137201F700E6FD3A /* lzio.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BDB88E6137201F700E6FD3A /* lzio.c */; }; + 2BDB891E137201F700E6FD3A /* lzio.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDB88E7137201F700E6FD3A /* lzio.h */; }; + 2BDB891F137201F700E6FD3A /* print.c in Sources */ = {isa = PBXBuildFile; fileRef = 2BDB88E8137201F700E6FD3A /* print.c */; }; + 3659B56F0F902143002B6B68 /* CommandLineActions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3659B56D0F902143002B6B68 /* CommandLineActions.cpp */; }; + 3659B5700F902143002B6B68 /* CommandLineActions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3659B56E0F902143002B6B68 /* CommandLineActions.h */; }; + 367D575B0EDE56F200B46814 /* ScreenHighScores.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 367D57590EDE56F200B46814 /* ScreenHighScores.cpp */; }; + 3688B8530BD42DAA004186AD /* NotesLoaderMidi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3688B8510BD42DAA004186AD /* NotesLoaderMidi.cpp */; }; + 36C6888311297FFE00453295 /* RageFileDriverReadAhead.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 36C6887F11297FFE00453295 /* RageFileDriverReadAhead.cpp */; }; + 36C6888411297FFE00453295 /* RageFileDriverReadAhead.h in Headers */ = {isa = PBXBuildFile; fileRef = 36C6888011297FFE00453295 /* RageFileDriverReadAhead.h */; }; + 36C6888511297FFE00453295 /* RageFileManager_ReadAhead.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 36C6888111297FFE00453295 /* RageFileManager_ReadAhead.cpp */; }; + 36C6888611297FFE00453295 /* RageFileManager_ReadAhead.h in Headers */ = {isa = PBXBuildFile; fileRef = 36C6888211297FFE00453295 /* RageFileManager_ReadAhead.h */; }; + 36CA531C0F91564A0063D59D /* ScreenOptionsCourseOverview.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 36CA531A0F91564A0063D59D /* ScreenOptionsCourseOverview.cpp */; }; + 36CA531D0F91564A0063D59D /* ScreenOptionsCourseOverview.h in Headers */ = {isa = PBXBuildFile; fileRef = 36CA531B0F91564A0063D59D /* ScreenOptionsCourseOverview.h */; }; + 36CA53200F9156860063D59D /* ScreenOptionsEditCourse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 36CA531E0F9156860063D59D /* ScreenOptionsEditCourse.cpp */; }; + 36CA53210F9156860063D59D /* ScreenOptionsEditCourse.h in Headers */ = {isa = PBXBuildFile; fileRef = 36CA531F0F9156860063D59D /* ScreenOptionsEditCourse.h */; }; + AA059ABC0B8CCFB5006F8139 /* ActorMultiTexture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA059ABA0B8CCFB5006F8139 /* ActorMultiTexture.cpp */; }; + AA059ABD0B8CCFB5006F8139 /* ActorMultiTexture.h in Headers */ = {isa = PBXBuildFile; fileRef = AA059ABB0B8CCFB5006F8139 /* ActorMultiTexture.h */; }; + AA059ABE0B8CCFB5006F8139 /* ActorMultiTexture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA059ABA0B8CCFB5006F8139 /* ActorMultiTexture.cpp */; }; + AA059E2B0B8F0C67006F8139 /* libz_link.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AA059E2A0B8F0C66006F8139 /* libz_link.a */; }; + AA059E2C0B8F0C67006F8139 /* libz_link.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AA059E2A0B8F0C66006F8139 /* libz_link.a */; }; + AA05A0B00BA2EFF3006F8139 /* OptionsList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA05A0AE0BA2EFF3006F8139 /* OptionsList.cpp */; }; + AA05A0B10BA2EFF3006F8139 /* OptionsList.h in Headers */ = {isa = PBXBuildFile; fileRef = AA05A0AF0BA2EFF3006F8139 /* OptionsList.h */; }; + AA05A0B20BA2EFF3006F8139 /* OptionsList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA05A0AE0BA2EFF3006F8139 /* OptionsList.cpp */; }; + AA07008A0B61F177003B85BB /* RageSoundReader_PostBuffering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA0700880B61F177003B85BB /* RageSoundReader_PostBuffering.cpp */; }; + AA07008C0B61F177003B85BB /* RageSoundReader_PostBuffering.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA0700880B61F177003B85BB /* RageSoundReader_PostBuffering.cpp */; }; + AA07008D0B61F177003B85BB /* RageSoundReader_PostBuffering.h in Headers */ = {isa = PBXBuildFile; fileRef = AA0700890B61F177003B85BB /* RageSoundReader_PostBuffering.h */; }; + AA0732900954381800F396C5 /* XmlFileUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA07328C0954381800F396C5 /* XmlFileUtil.cpp */; }; + AA07A55F0843E72B00E33D21 /* ScreenDebugOverlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA07A5550843E72B00E33D21 /* ScreenDebugOverlay.cpp */; }; + AA07A5630843E72B00E33D21 /* ScreenSaveSync.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA07A5590843E72B00E33D21 /* ScreenSaveSync.cpp */; }; + AA07A5650843E72B00E33D21 /* ScreenSMOnlineLogin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA07A55B0843E72B00E33D21 /* ScreenSMOnlineLogin.cpp */; }; + AA07A5670843E72B00E33D21 /* ScreenSyncOverlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA07A55D0843E72B00E33D21 /* ScreenSyncOverlay.cpp */; }; + AA0A3DE8060513A00044E6B1 /* ScreenSetTime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA0A3DE6060513A00044E6B1 /* ScreenSetTime.cpp */; }; + AA0E04D4076C4CD500716D81 /* RageFileBasic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA0E04CE076C4CD500716D81 /* RageFileBasic.cpp */; }; + AA0E04D6076C4CD500716D81 /* RageFileDriverDeflate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA0E04D0076C4CD500716D81 /* RageFileDriverDeflate.cpp */; }; + AA0E04D8076C4CD500716D81 /* RageFileDriverSlice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA0E04D2076C4CD500716D81 /* RageFileDriverSlice.cpp */; }; + AA1145DD075DFADF0050A3D1 /* ScreenPackages.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA1145D9075DFADF0050A3D1 /* ScreenPackages.cpp */; }; + AA1145DF075DFADF0050A3D1 /* ScreenSystemLayer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA1145DB075DFADF0050A3D1 /* ScreenSystemLayer.cpp */; }; + AA11A20F0DC5A1B0006BD8AC /* ModIcon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA11A20B0DC5A1B0006BD8AC /* ModIcon.cpp */; }; + AA11A2110DC5A1B0006BD8AC /* ModIconRow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA11A20D0DC5A1B0006BD8AC /* ModIconRow.cpp */; }; + AA11A2130DC5A1B0006BD8AC /* ModIcon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA11A20B0DC5A1B0006BD8AC /* ModIcon.cpp */; }; + AA11A2140DC5A1B0006BD8AC /* ModIcon.h in Headers */ = {isa = PBXBuildFile; fileRef = AA11A20C0DC5A1B0006BD8AC /* ModIcon.h */; }; + AA11A2150DC5A1B0006BD8AC /* ModIconRow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA11A20D0DC5A1B0006BD8AC /* ModIconRow.cpp */; }; + AA11A2160DC5A1B0006BD8AC /* ModIconRow.h in Headers */ = {isa = PBXBuildFile; fileRef = AA11A20E0DC5A1B0006BD8AC /* ModIconRow.h */; }; + AA139C4706923EBE00C1F6ED /* Style.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA139C4606923EBE00C1F6ED /* Style.cpp */; }; + AA147F1B0A0F78D8006EADF6 /* VectorHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA147F190A0F78D8006EADF6 /* VectorHelper.cpp */; }; + AA147F1C0A0F78D8006EADF6 /* VectorHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = AA147F180A0F78D8006EADF6 /* VectorHelper.h */; }; + AA147F1D0A0F78D8006EADF6 /* VectorHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA147F190A0F78D8006EADF6 /* VectorHelper.cpp */; }; + AA1893600BD777C500AEC0BF /* ScreenProfileLoad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA18935C0BD777C400AEC0BF /* ScreenProfileLoad.cpp */; }; + AA1893610BD777C500AEC0BF /* ScreenProfileLoad.h in Headers */ = {isa = PBXBuildFile; fileRef = AA18935D0BD777C400AEC0BF /* ScreenProfileLoad.h */; }; + AA1893620BD777C500AEC0BF /* ScreenProfileSave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA18935E0BD777C400AEC0BF /* ScreenProfileSave.cpp */; }; + AA1893630BD777C500AEC0BF /* ScreenProfileSave.h in Headers */ = {isa = PBXBuildFile; fileRef = AA18935F0BD777C400AEC0BF /* ScreenProfileSave.h */; }; + AA1893640BD777C500AEC0BF /* ScreenProfileLoad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA18935C0BD777C400AEC0BF /* ScreenProfileLoad.cpp */; }; + AA1893660BD777C500AEC0BF /* ScreenProfileSave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA18935E0BD777C400AEC0BF /* ScreenProfileSave.cpp */; }; + AA18937D0BD77ECE00AEC0BF /* NotesLoaderMidi.h in Headers */ = {isa = PBXBuildFile; fileRef = 3688B8520BD42DAA004186AD /* NotesLoaderMidi.h */; }; + AA18937E0BD77ECF00AEC0BF /* NotesLoaderMidi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3688B8510BD42DAA004186AD /* NotesLoaderMidi.cpp */; }; + AA1B083C0762532800835464 /* Command.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA1B08370762532800835464 /* Command.cpp */; }; + AA1B083E0762532800835464 /* GameCommand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA1B08390762532800835464 /* GameCommand.cpp */; }; + AA1B08400762532800835464 /* Preference.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA1B083B0762532800835464 /* Preference.cpp */; }; + AA1CD943060AE571003702C4 /* RageSoundDriver_Generic_Software.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA1CD941060AE571003702C4 /* RageSoundDriver_Generic_Software.cpp */; }; + AA1DE9570C5468CE00D59F20 /* Hardware.plist in Resources */ = {isa = PBXBuildFile; fileRef = AA1DE9560C5468CE00D59F20 /* Hardware.plist */; }; + AA1DE9580C5468CE00D59F20 /* Hardware.plist in Resources */ = {isa = PBXBuildFile; fileRef = AA1DE9560C5468CE00D59F20 /* Hardware.plist */; }; + AA1F9C4809AF1BF5002C15A8 /* PumpDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA1F9C4609AF1BF5002C15A8 /* PumpDevice.cpp */; }; + AA1F9C4909AF1BF5002C15A8 /* PumpDevice.h in Headers */ = {isa = PBXBuildFile; fileRef = AA1F9C4509AF1BF5002C15A8 /* PumpDevice.h */; }; + AA1F9C4A09AF1BF5002C15A8 /* PumpDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA1F9C4609AF1BF5002C15A8 /* PumpDevice.cpp */; }; + AA21D59D0712ADE4008B825F /* ScreenDimensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA21D59C0712ADE4008B825F /* ScreenDimensions.cpp */; }; + AA21E4790A9826CD00684CEA /* libjpeg_link.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AA21E4730A9826CD00684CEA /* libjpeg_link.a */; }; + AA21E47B0A9826CD00684CEA /* libogg_link.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AA21E4750A9826CD00684CEA /* libogg_link.a */; }; + AA21E47D0A9826CD00684CEA /* libtheora_link.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AA21E4770A9826CD00684CEA /* libtheora_link.a */; }; + AA21E47E0A9826CD00684CEA /* libvorbis_link.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AA21E4780A9826CD00684CEA /* libvorbis_link.a */; }; + AA21E47F0A9826CD00684CEA /* libjpeg_link.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AA21E4730A9826CD00684CEA /* libjpeg_link.a */; }; + AA21E4810A9826CD00684CEA /* libogg_link.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AA21E4750A9826CD00684CEA /* libogg_link.a */; }; + AA21E4830A9826CD00684CEA /* libtheora_link.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AA21E4770A9826CD00684CEA /* libtheora_link.a */; }; + AA21E4840A9826CD00684CEA /* libvorbis_link.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AA21E4780A9826CD00684CEA /* libvorbis_link.a */; }; + AA22CBA506DE909C0083BA97 /* ScreenNetSelectMusic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA22CBA306DE909C0083BA97 /* ScreenNetSelectMusic.cpp */; }; + AA230EB006043704002672F3 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AA230EAE06043704002672F3 /* AudioToolbox.framework */; }; + AA230EB106043704002672F3 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AA230EAF06043704002672F3 /* AudioUnit.framework */; }; + AA251B7705841FCE00027ACB /* RageFileDriverZip.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA251B7505841FCE00027ACB /* RageFileDriverZip.cpp */; }; + AA2828B3062FC0B8006F61EC /* SignalHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AADB4E8B04D50FB900D02EE9 /* SignalHandler.cpp */; }; + AA28B47C058F2F5E0097C109 /* MemoryCardManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA28B47A058F2F5D0097C109 /* MemoryCardManager.cpp */; }; + AA29CD3E0558741A00961A51 /* smicon.icns in Resources */ = {isa = PBXBuildFile; fileRef = AAB895E504A9057100D02EE9 /* smicon.icns */; }; + AA29CD420558741A00961A51 /* RageBitmapTexture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFD6D04770A7C005F316C /* RageBitmapTexture.cpp */; }; + AA29CD430558741A00961A51 /* RageDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFD6F04770A7C005F316C /* RageDisplay.cpp */; }; + AA29CD440558741A00961A51 /* RageException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFD7204770A7C005F316C /* RageException.cpp */; }; + AA29CD450558741A00961A51 /* RageInput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFD7404770A7C005F316C /* RageInput.cpp */; }; + AA29CD460558741A00961A51 /* RageInputDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFD7604770A7C005F316C /* RageInputDevice.cpp */; }; + AA29CD470558741A00961A51 /* RageLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFD7804770A7C005F316C /* RageLog.cpp */; }; + AA29CD480558741A00961A51 /* RageMath.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFD7A04770A7C005F316C /* RageMath.cpp */; }; + AA29CD490558741A00961A51 /* RageSound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFD7C04770A7C005F316C /* RageSound.cpp */; }; + AA29CD4A0558741A00961A51 /* RageSoundManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFD7E04770A7C005F316C /* RageSoundManager.cpp */; }; + AA29CD4B0558741A00961A51 /* RageSoundReader_Preload.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFD8004770A7C005F316C /* RageSoundReader_Preload.cpp */; }; + AA29CD4E0558741A00961A51 /* RageTexture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFD8904770A7C005F316C /* RageTexture.cpp */; }; + AA29CD4F0558741A00961A51 /* RageTextureManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFD8B04770A7C005F316C /* RageTextureManager.cpp */; }; + AA29CD500558741A00961A51 /* RageThreads.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFD8D04770A7C005F316C /* RageThreads.cpp */; }; + AA29CD510558741A00961A51 /* RageTimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFD8F04770A7C005F316C /* RageTimer.cpp */; }; + AA29CD520558741A00961A51 /* RageUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFD9204770A7C005F316C /* RageUtil.cpp */; }; + AA29CD560558741A00961A51 /* Character.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDCB04770C79005F316C /* Character.cpp */; }; + AA29CD570558741A00961A51 /* CodeDetector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDCD04770C79005F316C /* CodeDetector.cpp */; }; + AA29CD580558741A00961A51 /* Course.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDCF04770C79005F316C /* Course.cpp */; }; + AA29CD590558741A00961A51 /* Font.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDD104770C79005F316C /* Font.cpp */; }; + AA29CD5A0558741A00961A51 /* FontCharAliases.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDD304770C79005F316C /* FontCharAliases.cpp */; }; + AA29CD5B0558741A00961A51 /* FontCharmaps.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDD504770C79005F316C /* FontCharmaps.cpp */; }; + AA29CD5C0558741A00961A51 /* FontManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDD704770C79005F316C /* FontManager.cpp */; }; + AA29CD5D0558741A00961A51 /* GameConstantsAndTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDD904770C79005F316C /* GameConstantsAndTypes.cpp */; }; + AA29CD5F0558741A00961A51 /* GameInput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDDD04770C79005F316C /* GameInput.cpp */; }; + AA29CD600558741A00961A51 /* Grade.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDDF04770C79005F316C /* Grade.cpp */; }; + AA29CD610558741A00961A51 /* Inventory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDE104770C79005F316C /* Inventory.cpp */; }; + AA29CD620558741A00961A51 /* LyricsLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDE304770C79005F316C /* LyricsLoader.cpp */; }; + AA29CD630558741A00961A51 /* NoteData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDE504770C79005F316C /* NoteData.cpp */; }; + AA29CD640558741A00961A51 /* NoteDataWithScoring.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDE704770C79005F316C /* NoteDataWithScoring.cpp */; }; + AA29CD660558741A00961A51 /* NotesLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDED04770C79005F316C /* NotesLoader.cpp */; }; + AA29CD670558741A00961A51 /* NotesLoaderBMS.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDEF04770C79005F316C /* NotesLoaderBMS.cpp */; }; + AA29CD680558741A00961A51 /* NotesLoaderDWI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDF104770C79005F316C /* NotesLoaderDWI.cpp */; }; + AA29CD690558741A00961A51 /* NotesLoaderKSF.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDF304770C79005F316C /* NotesLoaderKSF.cpp */; }; + AA29CD6A0558741A00961A51 /* NotesLoaderSM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDF504770C79005F316C /* NotesLoaderSM.cpp */; }; + AA29CD6B0558741A00961A51 /* NotesWriterDWI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDF704770C79005F316C /* NotesWriterDWI.cpp */; }; + AA29CD6C0558741A00961A51 /* NotesWriterSM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDF904770C79005F316C /* NotesWriterSM.cpp */; }; + AA29CD6D0558741A00961A51 /* NoteTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDFB04770C79005F316C /* NoteTypes.cpp */; }; + AA29CD6E0558741A00961A51 /* Player.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDFD04770C79005F316C /* Player.cpp */; }; + AA29CD6F0558741A00961A51 /* PlayerAI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDFF04770C79005F316C /* PlayerAI.cpp */; }; + AA29CD700558741A00961A51 /* PlayerNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE0104770C79005F316C /* PlayerNumber.cpp */; }; + AA29CD710558741A00961A51 /* PlayerOptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE0304770C79005F316C /* PlayerOptions.cpp */; }; + AA29CD720558741A00961A51 /* SongOptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE0704770C79005F316C /* SongOptions.cpp */; }; + AA29CD730558741A00961A51 /* StageStats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE0904770C79005F316C /* StageStats.cpp */; }; + AA29CD750558741A00961A51 /* TitleSubstitution.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE0E04770C79005F316C /* TitleSubstitution.cpp */; }; + AA29CD760558741A00961A51 /* IniFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE5804770CAA005F316C /* IniFile.cpp */; }; + AA29CD770558741A00961A51 /* MsdFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE5A04770CAA005F316C /* MsdFile.cpp */; }; + AA29CD780558741A00961A51 /* StepMania.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE6304770CF7005F316C /* StepMania.cpp */; }; + AA29CD790558741A00961A51 /* Banner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE6E04770D61005F316C /* Banner.cpp */; }; + AA29CD7A0558741A00961A51 /* BPMDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE7604770E7C005F316C /* BPMDisplay.cpp */; }; + AA29CD7B0558741A00961A51 /* CourseContentsList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE7804770E7C005F316C /* CourseContentsList.cpp */; }; + AA29CD7D0558741A00961A51 /* DifficultyIcon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE7E04770E7C005F316C /* DifficultyIcon.cpp */; }; + AA29CD800558741A00961A51 /* EditMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE8404770E7C005F316C /* EditMenu.cpp */; }; + AA29CD810558741A00961A51 /* FadingBanner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE8A04770E7C005F316C /* FadingBanner.cpp */; }; + AA29CD820558741A00961A51 /* GradeDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE8C04770E7C005F316C /* GradeDisplay.cpp */; }; + AA29CD840558741A00961A51 /* GrooveRadar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE9004770E7C005F316C /* GrooveRadar.cpp */; }; + AA29CD860558741A00961A51 /* HelpDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE9404770E7C005F316C /* HelpDisplay.cpp */; }; + AA29CD890558741A00961A51 /* MenuTimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE9A04770E7C005F316C /* MenuTimer.cpp */; }; + AA29CD8A0558741A00961A51 /* MeterDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE9C04770E7C005F316C /* MeterDisplay.cpp */; }; + AA29CD8E0558741A00961A51 /* MusicWheel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFEA404770E7C005F316C /* MusicWheel.cpp */; }; + AA29CD8F0558741A00961A51 /* MusicWheelItem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFEA604770E7C005F316C /* MusicWheelItem.cpp */; }; + AA29CD920558741A00961A51 /* OptionsCursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFEAC04770E7C005F316C /* OptionsCursor.cpp */; }; + AA29CD930558741A00961A51 /* ScrollBar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFEAE04770E7C005F316C /* ScrollBar.cpp */; }; + AA29CD950558741A00961A51 /* SnapDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFEB204770E7C005F316C /* SnapDisplay.cpp */; }; + AA29CD960558741A00961A51 /* TextBanner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFEB404770E7C005F316C /* TextBanner.cpp */; }; + AA29CD970558741A00961A51 /* WheelNotifyIcon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFEB604770E7C005F316C /* WheelNotifyIcon.cpp */; }; + AA29CD980558741A00961A51 /* ArrowEffects.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFEFD04770F63005F316C /* ArrowEffects.cpp */; }; + AA29CD990558741A00961A51 /* Background.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFEFF04770F63005F316C /* Background.cpp */; }; + AA29CD9A0558741A00961A51 /* BGAnimation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF0104770F63005F316C /* BGAnimation.cpp */; }; + AA29CD9B0558741A00961A51 /* BGAnimationLayer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF0304770F63005F316C /* BGAnimationLayer.cpp */; }; + AA29CD9D0558741A00961A51 /* DancingCharacters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF0704770F63005F316C /* DancingCharacters.cpp */; }; + AA29CD9F0558741A00961A51 /* GhostArrowRow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF0D04770F63005F316C /* GhostArrowRow.cpp */; }; + AA29CDA30558741A00961A51 /* HoldJudgment.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF1504770F63005F316C /* HoldJudgment.cpp */; }; + AA29CDA50558741A00961A51 /* LifeMeterBar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF1B04770F63005F316C /* LifeMeterBar.cpp */; }; + AA29CDA60558741A00961A51 /* LifeMeterBattery.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF1D04770F63005F316C /* LifeMeterBattery.cpp */; }; + AA29CDA70558741A00961A51 /* LyricDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF1F04770F63005F316C /* LyricDisplay.cpp */; }; + AA29CDA80558741A00961A51 /* NoteDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF2104770F63005F316C /* NoteDisplay.cpp */; }; + AA29CDA90558741A00961A51 /* NoteField.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF2304770F63005F316C /* NoteField.cpp */; }; + AA29CDAA0558741A00961A51 /* ScoreDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF2504770F63005F316C /* ScoreDisplay.cpp */; }; + AA29CDAB0558741A00961A51 /* ScoreDisplayBattle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF2704770F63005F316C /* ScoreDisplayBattle.cpp */; }; + AA29CDAC0558741A00961A51 /* ScoreDisplayNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF2904770F63005F316C /* ScoreDisplayNormal.cpp */; }; + AA29CDAD0558741A00961A51 /* ScoreDisplayOni.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF2B04770F63005F316C /* ScoreDisplayOni.cpp */; }; + AA29CDAE0558741A00961A51 /* ScoreDisplayRave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF2D04770F63005F316C /* ScoreDisplayRave.cpp */; }; + AA29CDB10558741A00961A51 /* Transition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF7004770F86005F316C /* Transition.cpp */; }; + AA29CDB20558741A00961A51 /* Actor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF7504770FFD005F316C /* Actor.cpp */; }; + AA29CDB30558741A00961A51 /* ActorFrame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF7704770FFD005F316C /* ActorFrame.cpp */; }; + AA29CDB40558741A00961A51 /* ActorScroller.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF7904770FFD005F316C /* ActorScroller.cpp */; }; + AA29CDB50558741A00961A51 /* BitmapText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFFB904770FFD005F316C /* BitmapText.cpp */; }; + AA29CDB70558741A00961A51 /* Model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFFBD04770FFD005F316C /* Model.cpp */; }; + AA29CDB80558741A00961A51 /* ModelTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFFBF04770FFD005F316C /* ModelTypes.cpp */; }; + AA29CDB90558741A00961A51 /* Sprite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFFC204770FFD005F316C /* Sprite.cpp */; }; + AA29CDBA0558741A00961A51 /* Screen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E000A047711F3005F316C /* Screen.cpp */; }; + AA29CDBB0558741A00961A51 /* ScreenAttract.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E0010047711F3005F316C /* ScreenAttract.cpp */; }; + AA29CDBE0558741A00961A51 /* ScreenDemonstration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E001B047711F3005F316C /* ScreenDemonstration.cpp */; }; + AA29CDBF0558741A00961A51 /* ScreenEdit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E001D047711F3005F316C /* ScreenEdit.cpp */; settings = {COMPILER_FLAGS = "-finline-limit=300"; }; }; + AA29CDC00558741A00961A51 /* ScreenEditMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E001F047711F3005F316C /* ScreenEditMenu.cpp */; }; + AA29CDC10558741A00961A51 /* ScreenEvaluation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E0021047711F3005F316C /* ScreenEvaluation.cpp */; }; + AA29CDC50558741A00961A51 /* ScreenGameplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E0029047711F3005F316C /* ScreenGameplay.cpp */; }; + AA29CDC60558741A00961A51 /* ScreenJukebox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E0037047711F3005F316C /* ScreenJukebox.cpp */; }; + AA29CDC90558741A00961A51 /* ScreenManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E003F047711F3005F316C /* ScreenManager.cpp */; }; + AA29CDCA0558741A00961A51 /* ScreenMapControllers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E0041047711F3005F316C /* ScreenMapControllers.cpp */; }; + AA29CDCB0558741A00961A51 /* ScreenMiniMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E0045047711F3005F316C /* ScreenMiniMenu.cpp */; }; + AA29CDCD0558741A00961A51 /* ScreenNameEntry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E0049047711F3005F316C /* ScreenNameEntry.cpp */; }; + AA29CDCE0558741A00961A51 /* ScreenOptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E004B047711F3005F316C /* ScreenOptions.cpp */; }; + AA29CDCF0558741A00961A51 /* ScreenPlayerOptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E004F047711F3005F316C /* ScreenPlayerOptions.cpp */; }; + AA29CDD00558741A00961A51 /* ScreenPrompt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E0051047711F3005F316C /* ScreenPrompt.cpp */; }; + AA29CDD10558741A00961A51 /* ScreenRanking.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E0053047711F3005F316C /* ScreenRanking.cpp */; }; + AA29CDD30558741A00961A51 /* ScreenSandbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E0057047711F3005F316C /* ScreenSandbox.cpp */; }; + AA29CDD40558741A00961A51 /* ScreenSelect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E0059047711F3005F316C /* ScreenSelect.cpp */; }; + AA29CDD50558741A00961A51 /* ScreenSelectCharacter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E005B047711F3005F316C /* ScreenSelectCharacter.cpp */; }; + AA29CDDB0558741A00961A51 /* ScreenSelectMusic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E0069047711F3005F316C /* ScreenSelectMusic.cpp */; }; + AA29CDDD0558741A00961A51 /* ScreenSongOptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E006F047711F3005F316C /* ScreenSongOptions.cpp */; }; + AA29CDE20558741A00961A51 /* ScreenTestSound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E007B047711F3005F316C /* ScreenTestSound.cpp */; }; + AA29CDE30558741A00961A51 /* ScreenTextEntry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E007D047711F3005F316C /* ScreenTextEntry.cpp */; }; + AA29CDE40558741A00961A51 /* ScreenTitleMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E007F047711F3005F316C /* ScreenTitleMenu.cpp */; }; + AA29CDE60558741A00961A51 /* AnnouncerManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E00FF0477128A005F316C /* AnnouncerManager.cpp */; }; + AA29CDE70558741A00961A51 /* GameManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E01010477128A005F316C /* GameManager.cpp */; }; + AA29CDE80558741A00961A51 /* GameState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E01030477128A005F316C /* GameState.cpp */; }; + AA29CDE90558741A00961A51 /* InputFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E01050477128A005F316C /* InputFilter.cpp */; }; + AA29CDEA0558741A00961A51 /* InputMapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E01070477128A005F316C /* InputMapper.cpp */; }; + AA29CDEB0558741A00961A51 /* InputQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E01090477128A005F316C /* InputQueue.cpp */; }; + AA29CDEC0558741A00961A51 /* NoteSkinManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E010B0477128A005F316C /* NoteSkinManager.cpp */; }; + AA29CDED0558741A00961A51 /* PrefsManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E010D0477128A005F316C /* PrefsManager.cpp */; }; + AA29CDEE0558741A00961A51 /* SongManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E010F0477128A005F316C /* SongManager.cpp */; }; + AA29CDEF0558741A00961A51 /* ThemeManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E01120477128A005F316C /* ThemeManager.cpp */; }; + AA29CDF10558741A00961A51 /* RageSoundDriver_Null.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E012E047712BE005F316C /* RageSoundDriver_Null.cpp */; }; + AA29CDF50558741A00961A51 /* MovieTexture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E01DB04771F11005F316C /* MovieTexture.cpp */; }; + AA29CDF60558741A00961A51 /* SongCacheIndex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E01DE04772005005F316C /* SongCacheIndex.cpp */; }; + AA29CDF70558741A00961A51 /* Song.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E01E20477205A005F316C /* Song.cpp */; }; + AA29CDF80558741A00961A51 /* RandomSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E01E6047720A3005F316C /* RandomSample.cpp */; }; + AA29CDFA0558741A00961A51 /* RageUtil_CharConversions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAC23F7E0485E68D005F316C /* RageUtil_CharConversions.cpp */; }; + AA29CDFB0558741A00961A51 /* BannerCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AABE35EB04967E25005F316C /* BannerCache.cpp */; }; + AA29CDFE0558741A00961A51 /* ScreenSelectMaster.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA1DC47404A4861700D02EE9 /* ScreenSelectMaster.cpp */; }; + AA29CE000558741A00961A51 /* CombinedLifeMeterTug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAE443EB04B0F9F600D02EE9 /* CombinedLifeMeterTug.cpp */; }; + AA29CE010558741A00961A51 /* ScoreKeeperRave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAE443F304B0FEB700D02EE9 /* ScoreKeeperRave.cpp */; }; + AA29CE070558741A00961A51 /* RageUtil_FileDB.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAF580A704B3E2DC00D02EE9 /* RageUtil_FileDB.cpp */; }; + AA29CE090558741A00961A51 /* ActorUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAA983CA04B9060A00D02EE9 /* ActorUtil.cpp */; }; + AA29CE0B0558741A00961A51 /* ArchHooks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA3F283B04BE6DDC00D02EE9 /* ArchHooks.cpp */; }; + AA29CE0C0558741A00961A51 /* InputHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB3B36B04C38B4600D02EE9 /* InputHandler.cpp */; }; + AA29CE0E0558741A00961A51 /* MovieTexture_Null.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB3B39004C5921800D02EE9 /* MovieTexture_Null.cpp */; }; + AA29CE100558741A00961A51 /* RageFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA272C3004CD757100D02EE9 /* RageFile.cpp */; }; + AA29CE140558741A00961A51 /* CrashHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA76D15404D9D2D200D02EE9 /* CrashHandler.cpp */; }; + AA29CE150558741A00961A51 /* CrashHandlerChild.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA76D15504D9D2D200D02EE9 /* CrashHandlerChild.cpp */; }; + AA29CE170558741A00961A51 /* ver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA52E9BD04DBBCF400D02EE9 /* ver.cpp */; }; + AA29CE180558741A00961A51 /* Steps.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAF430FD04DC98BC00D02EE9 /* Steps.cpp */; }; + AA29CE190558741A00961A51 /* NoteDataUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA4F38C004E2D0B700D02EE9 /* NoteDataUtil.cpp */; }; + AA29CE1E0558741A00961A51 /* BeginnerHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAC28BB904F758E500D02EE9 /* BeginnerHelper.cpp */; }; + AA29CE200558741A00961A51 /* MovieTexture_FFMpeg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA14ED0F0509F40000E3FAD7 /* MovieTexture_FFMpeg.cpp */; }; + AA29CE220558741A00961A51 /* ProfileManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA1C6556050D234B0073A143 /* ProfileManager.cpp */; }; + AA29CE230558741A00961A51 /* RageSoundReader_WAV.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA1C65A6050FD21F0073A143 /* RageSoundReader_WAV.cpp */; }; + AA29CE240558741A00961A51 /* RageSoundReader_FileReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFC7FF00513A67700D02EE9 /* RageSoundReader_FileReader.cpp */; }; + AA29CE250558741A00961A51 /* RageSoundReader_MP3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFC7FF10513A67700D02EE9 /* RageSoundReader_MP3.cpp */; }; + AA29CE260558741A00961A51 /* RageSoundReader_Vorbisfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA1C65A4050FD21F0073A143 /* RageSoundReader_Vorbisfile.cpp */; }; + AA29CE280558741A00961A51 /* RageSoundReader_Resample_Good.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAAE28F4052254A900D02EE9 /* RageSoundReader_Resample_Good.cpp */; }; + AA29CE290558741A00961A51 /* ScreenExit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAECF8BF05265DB600D02EE9 /* ScreenExit.cpp */; }; + AA29CE2B0558741A00961A51 /* ScreenOptionsMaster.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA53D28405277DAF00D02EE9 /* ScreenOptionsMaster.cpp */; }; + AA29CE2C0558741A00961A51 /* ScreenOptionsMasterPrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA53D28605277DAF00D02EE9 /* ScreenOptionsMasterPrefs.cpp */; }; + AA29CE2D0558741A00961A51 /* ScreenReloadSongs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA53D28805277DAF00D02EE9 /* ScreenReloadSongs.cpp */; }; + AA29CE2F0558741A00961A51 /* ScreenInstructions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E0033047711F3005F316C /* ScreenInstructions.cpp */; }; + AA29CE300558741A00961A51 /* ScreenHowToPlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E002F047711F3005F316C /* ScreenHowToPlay.cpp */; }; + AA29CE310558741A00961A51 /* PercentageDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAD620A5052EC78B00D02EE9 /* PercentageDisplay.cpp */; }; + AA29CE320558741A00961A51 /* ScoreDisplayPercentage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6DAF0805300B3D00D02EE9 /* ScoreDisplayPercentage.cpp */; }; + AA29CE340558741A00961A51 /* ScreenTestInput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAC622FA05389A0500D02EE9 /* ScreenTestInput.cpp */; }; + AA29CE350558741A00961A51 /* ScreenBookkeeping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AADBE360053D5F8A00D02EE9 /* ScreenBookkeeping.cpp */; }; + AA29CE360558741A00961A51 /* ScreenNameEntryTraditional.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AADBE362053D5F8A00D02EE9 /* ScreenNameEntryTraditional.cpp */; }; + AA29CE370558741A00961A51 /* Bookkeeper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AADBE368053DA38C00D02EE9 /* Bookkeeper.cpp */; }; + AA29CE380558741A00961A51 /* GraphDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFF551D0549F39700D02EE9 /* GraphDisplay.cpp */; }; + AA29CE390558741A00961A51 /* ComboGraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFF55210549F43A00D02EE9 /* ComboGraph.cpp */; }; + AA29CE3A0558741A00961A51 /* Attack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFF5541054E736D00D02EE9 /* Attack.cpp */; }; + AA29CE3C0558741A00961A51 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; }; + AA29CE3D0558741A00961A51 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AAA0F7CE047AC7BF005F316C /* Carbon.framework */; }; + AA29CE3E0558741A00961A51 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AAA0F7D0047AC7EA005F316C /* IOKit.framework */; }; + AA29CE3F0558741A00961A51 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AAA0F7D2047ACBC9005F316C /* QuickTime.framework */; }; + AA29CE400558741A00961A51 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AA8DD84904A2E51400D02EE9 /* OpenGL.framework */; }; + AA29CE420558741A00961A51 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AAF33F2A04FF213100F93C24 /* CoreFoundation.framework */; }; + AA2C9CA10BAD6F54002441E9 /* CodeSet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA2C9C9F0BAD6F54002441E9 /* CodeSet.cpp */; }; + AA2C9CA20BAD6F55002441E9 /* CodeSet.h in Headers */ = {isa = PBXBuildFile; fileRef = AA2C9CA00BAD6F54002441E9 /* CodeSet.h */; }; + AA2C9CA30BAD6F55002441E9 /* CodeSet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA2C9C9F0BAD6F54002441E9 /* CodeSet.cpp */; }; + AA2CA89F0BB745BD002441E9 /* ScreenContinue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA2CA89D0BB745BD002441E9 /* ScreenContinue.cpp */; }; + AA2CA8A00BB745BD002441E9 /* ScreenContinue.h in Headers */ = {isa = PBXBuildFile; fileRef = AA2CA89E0BB745BD002441E9 /* ScreenContinue.h */; }; + AA2CA8A10BB745BD002441E9 /* ScreenContinue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA2CA89D0BB745BD002441E9 /* ScreenContinue.cpp */; }; + AA2EA0010A770208003A0C11 /* ScreenSelectLanguage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA2E9FFF0A770208003A0C11 /* ScreenSelectLanguage.cpp */; }; + AA2EA0030A770208003A0C11 /* ScreenSelectLanguage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA2E9FFF0A770208003A0C11 /* ScreenSelectLanguage.cpp */; }; + AA2EA0040A770208003A0C11 /* ScreenSelectLanguage.h in Headers */ = {isa = PBXBuildFile; fileRef = AA2EA0000A770208003A0C11 /* ScreenSelectLanguage.h */; }; + AA2FB639091212B0000FD574 /* LifeMeter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA2FB638091212AF000FD574 /* LifeMeter.cpp */; }; + AA31D5210B1EC6540016AB6B /* RageSoundReader_PitchChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA31D51C0B1EC6540016AB6B /* RageSoundReader_PitchChange.cpp */; }; + AA31D5230B1EC6540016AB6B /* RageSoundReader_SpeedChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA31D51E0B1EC6540016AB6B /* RageSoundReader_SpeedChange.cpp */; }; + AA31D5250B1EC6550016AB6B /* RageSoundReader_Filter.h in Headers */ = {isa = PBXBuildFile; fileRef = AA31D51B0B1EC6540016AB6B /* RageSoundReader_Filter.h */; }; + AA31D5260B1EC6550016AB6B /* RageSoundReader_PitchChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA31D51C0B1EC6540016AB6B /* RageSoundReader_PitchChange.cpp */; }; + AA31D5270B1EC6550016AB6B /* RageSoundReader_PitchChange.h in Headers */ = {isa = PBXBuildFile; fileRef = AA31D51D0B1EC6540016AB6B /* RageSoundReader_PitchChange.h */; }; + AA31D5280B1EC6550016AB6B /* RageSoundReader_SpeedChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA31D51E0B1EC6540016AB6B /* RageSoundReader_SpeedChange.cpp */; }; + AA31D5290B1EC6550016AB6B /* RageSoundReader_SpeedChange.h in Headers */ = {isa = PBXBuildFile; fileRef = AA31D51F0B1EC6540016AB6B /* RageSoundReader_SpeedChange.h */; }; + AA3396B80BDE195E00E1475F /* RageSoundReader_Merge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA3396B60BDE195E00E1475F /* RageSoundReader_Merge.cpp */; }; + AA3396B90BDE195E00E1475F /* RageSoundReader_Merge.h in Headers */ = {isa = PBXBuildFile; fileRef = AA3396B70BDE195E00E1475F /* RageSoundReader_Merge.h */; }; + AA3396BA0BDE195E00E1475F /* RageSoundReader_Merge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA3396B60BDE195E00E1475F /* RageSoundReader_Merge.cpp */; }; + AA339A7E0BF0FA6400E1475F /* LoadingWindow_Null.h in Headers */ = {isa = PBXBuildFile; fileRef = AA339A7D0BF0FA6300E1475F /* LoadingWindow_Null.h */; }; + AA3A706206AA1645006F755E /* StyleUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA3A706006AA1645006F755E /* StyleUtil.cpp */; }; + AA3D5E6008214C77002AA665 /* ScoreDisplayLifeTime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA3D5E5C08214C77002AA665 /* ScoreDisplayLifeTime.cpp */; }; + AA3D5E91082152B6002AA665 /* StreamDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA3D5E8F082152B6002AA665 /* StreamDisplay.cpp */; }; + AA3D5E95082152E5002AA665 /* LifeMeterTime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA3D5E5A08214C77002AA665 /* LifeMeterTime.cpp */; }; + AA3D790106A275E90064B980 /* RadarValues.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA3D78FF06A275E90064B980 /* RadarValues.cpp */; }; + AA3D793306A279530064B980 /* DateTime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA3D793106A279530064B980 /* DateTime.cpp */; }; + AA3E3DF109D96A1400A259C7 /* CrashHandlerInternal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA3E3DF009D96A1400A259C7 /* CrashHandlerInternal.cpp */; }; + AA3E3DF209D96A1400A259C7 /* CrashHandlerInternal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA3E3DF009D96A1400A259C7 /* CrashHandlerInternal.cpp */; }; + AA40D1B909A08D650068C0D5 /* StepMania.pch in Headers */ = {isa = PBXBuildFile; fileRef = AAD64AA10603FE7300EF8CDE /* StepMania.pch */; }; + AA40D1BA09A08D650068C0D5 /* RageBitmapTexture.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFD6E04770A7C005F316C /* RageBitmapTexture.h */; }; + AA40D1BB09A08D650068C0D5 /* RageDisplay.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFD7004770A7C005F316C /* RageDisplay.h */; }; + AA40D1BC09A08D650068C0D5 /* RageException.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFD7304770A7C005F316C /* RageException.h */; }; + AA40D1BD09A08D650068C0D5 /* RageInput.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFD7504770A7C005F316C /* RageInput.h */; }; + AA40D1BE09A08D650068C0D5 /* RageLog.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFD7904770A7C005F316C /* RageLog.h */; }; + AA40D1BF09A08D650068C0D5 /* RageMath.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFD7B04770A7C005F316C /* RageMath.h */; }; + AA40D1C009A08D650068C0D5 /* RageSound.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFD7D04770A7C005F316C /* RageSound.h */; }; + AA40D1C109A08D650068C0D5 /* RageSoundManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFD7F04770A7C005F316C /* RageSoundManager.h */; }; + AA40D1C209A08D650068C0D5 /* RageSoundReader_Preload.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFD8104770A7C005F316C /* RageSoundReader_Preload.h */; }; + AA40D1C409A08D650068C0D5 /* RageSoundReader.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFD8604770A7C005F316C /* RageSoundReader.h */; }; + AA40D1C509A08D650068C0D5 /* RageTexture.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFD8A04770A7C005F316C /* RageTexture.h */; }; + AA40D1C609A08D650068C0D5 /* RageTextureManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFD8C04770A7C005F316C /* RageTextureManager.h */; }; + AA40D1C709A08D650068C0D5 /* RageThreads.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFD8E04770A7C005F316C /* RageThreads.h */; }; + AA40D1C809A08D650068C0D5 /* RageTimer.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFD9004770A7C005F316C /* RageTimer.h */; }; + AA40D1C909A08D650068C0D5 /* RageTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFD9104770A7C005F316C /* RageTypes.h */; }; + AA40D1CA09A08D650068C0D5 /* RageUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFD9304770A7C005F316C /* RageUtil.h */; }; + AA40D1CB09A08D650068C0D5 /* Character.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFDCC04770C79005F316C /* Character.h */; }; + AA40D1CC09A08D650068C0D5 /* CodeDetector.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFDCE04770C79005F316C /* CodeDetector.h */; }; + AA40D1CD09A08D650068C0D5 /* Course.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFDD004770C79005F316C /* Course.h */; }; + AA40D1CE09A08D650068C0D5 /* Font.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFDD204770C79005F316C /* Font.h */; }; + AA40D1CF09A08D650068C0D5 /* FontCharAliases.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFDD404770C79005F316C /* FontCharAliases.h */; }; + AA40D1D009A08D650068C0D5 /* FontCharmaps.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFDD604770C79005F316C /* FontCharmaps.h */; }; + AA40D1D109A08D650068C0D5 /* FontManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFDD804770C79005F316C /* FontManager.h */; }; + AA40D1D209A08D650068C0D5 /* GameConstantsAndTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFDDA04770C79005F316C /* GameConstantsAndTypes.h */; }; + AA40D1D309A08D650068C0D5 /* GameInput.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFDDE04770C79005F316C /* GameInput.h */; }; + AA40D1D409A08D650068C0D5 /* Grade.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFDE004770C79005F316C /* Grade.h */; }; + AA40D1D509A08D650068C0D5 /* Inventory.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFDE204770C79005F316C /* Inventory.h */; }; + AA40D1D609A08D650068C0D5 /* LyricsLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFDE404770C79005F316C /* LyricsLoader.h */; }; + AA40D1D709A08D650068C0D5 /* NoteData.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFDE604770C79005F316C /* NoteData.h */; }; + AA40D1D809A08D650068C0D5 /* NoteDataWithScoring.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFDE804770C79005F316C /* NoteDataWithScoring.h */; }; + AA40D1DA09A08D650068C0D5 /* NotesLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFDEE04770C79005F316C /* NotesLoader.h */; }; + AA40D1DB09A08D650068C0D5 /* NotesLoaderBMS.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFDF004770C79005F316C /* NotesLoaderBMS.h */; }; + AA40D1DC09A08D650068C0D5 /* NotesLoaderDWI.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFDF204770C79005F316C /* NotesLoaderDWI.h */; }; + AA40D1DD09A08D650068C0D5 /* NotesLoaderKSF.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFDF404770C79005F316C /* NotesLoaderKSF.h */; }; + AA40D1DE09A08D650068C0D5 /* NotesLoaderSM.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFDF604770C79005F316C /* NotesLoaderSM.h */; }; + AA40D1DF09A08D650068C0D5 /* NotesWriterDWI.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFDF804770C79005F316C /* NotesWriterDWI.h */; }; + AA40D1E009A08D650068C0D5 /* NotesWriterSM.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFDFA04770C79005F316C /* NotesWriterSM.h */; }; + AA40D1E109A08D650068C0D5 /* NoteTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFDFC04770C79005F316C /* NoteTypes.h */; }; + AA40D1E209A08D650068C0D5 /* Player.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFDFE04770C79005F316C /* Player.h */; }; + AA40D1E309A08D650068C0D5 /* PlayerAI.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFE0004770C79005F316C /* PlayerAI.h */; }; + AA40D1E409A08D650068C0D5 /* PlayerNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFE0204770C79005F316C /* PlayerNumber.h */; }; + AA40D1E509A08D650068C0D5 /* PlayerOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFE0404770C79005F316C /* PlayerOptions.h */; }; + AA40D1E609A08D650068C0D5 /* SongOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFE0804770C79005F316C /* SongOptions.h */; }; + AA40D1E709A08D650068C0D5 /* StageStats.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFE0A04770C79005F316C /* StageStats.h */; }; + AA40D1E909A08D650068C0D5 /* TitleSubstitution.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFE0F04770C79005F316C /* TitleSubstitution.h */; }; + AA40D1EA09A08D650068C0D5 /* IniFile.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFE5904770CAA005F316C /* IniFile.h */; }; + AA40D1EB09A08D650068C0D5 /* MsdFile.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFE5B04770CAA005F316C /* MsdFile.h */; }; + AA40D1EC09A08D650068C0D5 /* global.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFE6004770CF7005F316C /* global.h */; }; + AA40D1ED09A08D650068C0D5 /* ScreenDimensions.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFE6104770CF7005F316C /* ScreenDimensions.h */; }; + AA40D1EE09A08D650068C0D5 /* StdString.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFE6204770CF7005F316C /* StdString.h */; }; + AA40D1EF09A08D650068C0D5 /* StepMania.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFE6404770CF7005F316C /* StepMania.h */; }; + AA40D1F009A08D650068C0D5 /* Banner.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFE6F04770D61005F316C /* Banner.h */; }; + AA40D1F109A08D650068C0D5 /* BPMDisplay.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFE7704770E7C005F316C /* BPMDisplay.h */; }; + AA40D1F209A08D650068C0D5 /* CourseContentsList.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFE7904770E7C005F316C /* CourseContentsList.h */; }; + AA40D1F409A08D650068C0D5 /* DifficultyIcon.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFE7F04770E7C005F316C /* DifficultyIcon.h */; }; + AA40D1F709A08D650068C0D5 /* EditMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFE8504770E7C005F316C /* EditMenu.h */; }; + AA40D1F809A08D650068C0D5 /* FadingBanner.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFE8B04770E7C005F316C /* FadingBanner.h */; }; + AA40D1F909A08D650068C0D5 /* GradeDisplay.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFE8D04770E7C005F316C /* GradeDisplay.h */; }; + AA40D1FA09A08D650068C0D5 /* GrooveRadar.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFE9104770E7C005F316C /* GrooveRadar.h */; }; + AA40D1FC09A08D650068C0D5 /* HelpDisplay.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFE9504770E7C005F316C /* HelpDisplay.h */; }; + AA40D1FD09A08D650068C0D5 /* MenuTimer.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFE9B04770E7C005F316C /* MenuTimer.h */; }; + AA40D1FE09A08D650068C0D5 /* MeterDisplay.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFE9D04770E7C005F316C /* MeterDisplay.h */; }; + AA40D20209A08D650068C0D5 /* MusicWheel.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFEA504770E7C005F316C /* MusicWheel.h */; }; + AA40D20309A08D650068C0D5 /* MusicWheelItem.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFEA704770E7C005F316C /* MusicWheelItem.h */; }; + AA40D20609A08D650068C0D5 /* OptionsCursor.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFEAD04770E7C005F316C /* OptionsCursor.h */; }; + AA40D20709A08D650068C0D5 /* ScrollBar.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFEAF04770E7C005F316C /* ScrollBar.h */; }; + AA40D20909A08D650068C0D5 /* SnapDisplay.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFEB304770E7C005F316C /* SnapDisplay.h */; }; + AA40D20A09A08D650068C0D5 /* TextBanner.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFEB504770E7C005F316C /* TextBanner.h */; }; + AA40D20B09A08D650068C0D5 /* WheelNotifyIcon.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFEB704770E7C005F316C /* WheelNotifyIcon.h */; }; + AA40D20C09A08D650068C0D5 /* ArrowEffects.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFEFE04770F63005F316C /* ArrowEffects.h */; }; + AA40D20D09A08D650068C0D5 /* Background.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFF0004770F63005F316C /* Background.h */; }; + AA40D20E09A08D650068C0D5 /* BGAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFF0204770F63005F316C /* BGAnimation.h */; }; + AA40D20F09A08D650068C0D5 /* BGAnimationLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFF0404770F63005F316C /* BGAnimationLayer.h */; }; + AA40D21109A08D650068C0D5 /* DancingCharacters.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFF0804770F63005F316C /* DancingCharacters.h */; }; + AA40D21209A08D650068C0D5 /* GhostArrowRow.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFF0E04770F63005F316C /* GhostArrowRow.h */; }; + AA40D21309A08D650068C0D5 /* HoldJudgment.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFF1604770F63005F316C /* HoldJudgment.h */; }; + AA40D21509A08D650068C0D5 /* LifeMeter.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFF1A04770F63005F316C /* LifeMeter.h */; }; + AA40D21609A08D650068C0D5 /* LifeMeterBar.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFF1C04770F63005F316C /* LifeMeterBar.h */; }; + AA40D21709A08D650068C0D5 /* LifeMeterBattery.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFF1E04770F63005F316C /* LifeMeterBattery.h */; }; + AA40D21809A08D650068C0D5 /* LyricDisplay.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFF2004770F63005F316C /* LyricDisplay.h */; }; + AA40D21909A08D650068C0D5 /* NoteDisplay.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFF2204770F63005F316C /* NoteDisplay.h */; }; + AA40D21A09A08D650068C0D5 /* NoteField.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFF2404770F63005F316C /* NoteField.h */; }; + AA40D21B09A08D650068C0D5 /* ScoreDisplay.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFF2604770F63005F316C /* ScoreDisplay.h */; }; + AA40D21C09A08D650068C0D5 /* ScoreDisplayBattle.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFF2804770F63005F316C /* ScoreDisplayBattle.h */; }; + AA40D21D09A08D650068C0D5 /* ScoreDisplayNormal.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFF2A04770F63005F316C /* ScoreDisplayNormal.h */; }; + AA40D21E09A08D650068C0D5 /* ScoreDisplayOni.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFF2C04770F63005F316C /* ScoreDisplayOni.h */; }; + AA40D21F09A08D650068C0D5 /* ScoreDisplayRave.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFF2E04770F63005F316C /* ScoreDisplayRave.h */; }; + AA40D22009A08D650068C0D5 /* ScoreKeeper.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFF3004770F63005F316C /* ScoreKeeper.h */; }; + AA40D22109A08D650068C0D5 /* Transition.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFF7104770F86005F316C /* Transition.h */; }; + AA40D22209A08D650068C0D5 /* Actor.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFF7604770FFD005F316C /* Actor.h */; }; + AA40D22309A08D650068C0D5 /* ActorFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFF7804770FFD005F316C /* ActorFrame.h */; }; + AA40D22409A08D650068C0D5 /* ActorScroller.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFF7A04770FFD005F316C /* ActorScroller.h */; }; + AA40D22509A08D650068C0D5 /* BitmapText.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFFBA04770FFD005F316C /* BitmapText.h */; }; + AA40D22609A08D650068C0D5 /* Model.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFFBE04770FFD005F316C /* Model.h */; }; + AA40D22709A08D650068C0D5 /* ModelTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFFC004770FFD005F316C /* ModelTypes.h */; }; + AA40D22809A08D650068C0D5 /* Quad.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFFC104770FFD005F316C /* Quad.h */; }; + AA40D22909A08D650068C0D5 /* Sprite.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFFC304770FFD005F316C /* Sprite.h */; }; + AA40D22A09A08D650068C0D5 /* Screen.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E000B047711F3005F316C /* Screen.h */; }; + AA40D22B09A08D650068C0D5 /* ScreenAttract.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E0011047711F3005F316C /* ScreenAttract.h */; }; + AA40D22D09A08D650068C0D5 /* ScreenDemonstration.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E001C047711F3005F316C /* ScreenDemonstration.h */; }; + AA40D22E09A08D650068C0D5 /* ScreenEdit.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E001E047711F3005F316C /* ScreenEdit.h */; }; + AA40D22F09A08D650068C0D5 /* ScreenEditMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E0020047711F3005F316C /* ScreenEditMenu.h */; }; + AA40D23009A08D650068C0D5 /* ScreenEvaluation.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E0022047711F3005F316C /* ScreenEvaluation.h */; }; + AA40D23309A08D650068C0D5 /* ScreenGameplay.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E002A047711F3005F316C /* ScreenGameplay.h */; }; + AA40D23409A08D650068C0D5 /* ScreenInstructions.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E0034047711F3005F316C /* ScreenInstructions.h */; }; + AA40D23509A08D650068C0D5 /* ScreenJukebox.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E0038047711F3005F316C /* ScreenJukebox.h */; }; + AA40D23609A08D650068C0D5 /* ScreenManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E0040047711F3005F316C /* ScreenManager.h */; }; + AA40D23709A08D650068C0D5 /* ScreenMapControllers.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E0042047711F3005F316C /* ScreenMapControllers.h */; }; + AA40D23809A08D650068C0D5 /* ScreenMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E0044047711F3005F316C /* ScreenMessage.h */; }; + AA40D23909A08D650068C0D5 /* ScreenMiniMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E0046047711F3005F316C /* ScreenMiniMenu.h */; }; + AA40D23B09A08D650068C0D5 /* ScreenNameEntry.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E004A047711F3005F316C /* ScreenNameEntry.h */; }; + AA40D23C09A08D650068C0D5 /* ScreenOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E004C047711F3005F316C /* ScreenOptions.h */; }; + AA40D23D09A08D650068C0D5 /* ScreenPlayerOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E0050047711F3005F316C /* ScreenPlayerOptions.h */; }; + AA40D23E09A08D650068C0D5 /* ScreenPrompt.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E0052047711F3005F316C /* ScreenPrompt.h */; }; + AA40D23F09A08D650068C0D5 /* ScreenRanking.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E0054047711F3005F316C /* ScreenRanking.h */; }; + AA40D24009A08D650068C0D5 /* ScreenSandbox.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E0058047711F3005F316C /* ScreenSandbox.h */; }; + AA40D24109A08D650068C0D5 /* ScreenSelect.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E005A047711F3005F316C /* ScreenSelect.h */; }; + AA40D24209A08D650068C0D5 /* ScreenSelectCharacter.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E005C047711F3005F316C /* ScreenSelectCharacter.h */; }; + AA40D24609A08D650068C0D5 /* ScreenSelectMusic.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E006A047711F3005F316C /* ScreenSelectMusic.h */; }; + AA40D24809A08D650068C0D5 /* ScreenSongOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E0070047711F3005F316C /* ScreenSongOptions.h */; }; + AA40D24B09A08D650068C0D5 /* ScreenTestSound.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E007C047711F3005F316C /* ScreenTestSound.h */; }; + AA40D24C09A08D650068C0D5 /* ScreenTextEntry.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E007E047711F3005F316C /* ScreenTextEntry.h */; }; + AA40D24D09A08D650068C0D5 /* ScreenTitleMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E0080047711F3005F316C /* ScreenTitleMenu.h */; }; + AA40D24E09A08D650068C0D5 /* AnnouncerManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E01000477128A005F316C /* AnnouncerManager.h */; }; + AA40D24F09A08D650068C0D5 /* GameManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E01020477128A005F316C /* GameManager.h */; }; + AA40D25009A08D650068C0D5 /* GameState.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E01040477128A005F316C /* GameState.h */; }; + AA40D25109A08D650068C0D5 /* InputFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E01060477128A005F316C /* InputFilter.h */; }; + AA40D25209A08D650068C0D5 /* InputMapper.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E01080477128A005F316C /* InputMapper.h */; }; + AA40D25309A08D650068C0D5 /* InputQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E010A0477128A005F316C /* InputQueue.h */; }; + AA40D25409A08D650068C0D5 /* NoteSkinManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E010C0477128A005F316C /* NoteSkinManager.h */; }; + AA40D25509A08D650068C0D5 /* PrefsManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E010E0477128A005F316C /* PrefsManager.h */; }; + AA40D25609A08D650068C0D5 /* SongManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E01100477128A005F316C /* SongManager.h */; }; + AA40D25709A08D650068C0D5 /* ThemeManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E01130477128A005F316C /* ThemeManager.h */; }; + AA40D25809A08D650068C0D5 /* RageSoundDriver_Null.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E012F047712BE005F316C /* RageSoundDriver_Null.h */; }; + AA40D25909A08D650068C0D5 /* LowLevelWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E01630477136A005F316C /* LowLevelWindow.h */; }; + AA40D25A09A08D650068C0D5 /* SongCacheIndex.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E01DF04772005005F316C /* SongCacheIndex.h */; }; + AA40D25C09A08D650068C0D5 /* RandomSample.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E01E7047720A3005F316C /* RandomSample.h */; }; + AA40D25E09A08D650068C0D5 /* RageUtil_CharConversions.h in Headers */ = {isa = PBXBuildFile; fileRef = AAC23F7F0485E68D005F316C /* RageUtil_CharConversions.h */; }; + AA40D25F09A08D650068C0D5 /* BannerCache.h in Headers */ = {isa = PBXBuildFile; fileRef = AABE35EC04967E26005F316C /* BannerCache.h */; }; + AA40D26109A08D650068C0D5 /* arch_default.h in Headers */ = {isa = PBXBuildFile; fileRef = AABE36F60497CE16005F316C /* arch_default.h */; }; + AA40D26309A08D650068C0D5 /* ArchHooks.h in Headers */ = {isa = PBXBuildFile; fileRef = AABE36FC0497CE44005F316C /* ArchHooks.h */; }; + AA40D26409A08D650068C0D5 /* RageSoundDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = AABE37030497CF85005F316C /* RageSoundDriver.h */; }; + AA40D26609A08D650068C0D5 /* ActorUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = AA1DC47204A485E900D02EE9 /* ActorUtil.h */; }; + AA40D26709A08D650068C0D5 /* ScreenSelectMaster.h in Headers */ = {isa = PBXBuildFile; fileRef = AA1DC47504A4861700D02EE9 /* ScreenSelectMaster.h */; }; + AA40D26B09A08D650068C0D5 /* CombinedLifeMeterTug.h in Headers */ = {isa = PBXBuildFile; fileRef = AAE443EC04B0F9F600D02EE9 /* CombinedLifeMeterTug.h */; }; + AA40D26C09A08D650068C0D5 /* ScoreKeeperRave.h in Headers */ = {isa = PBXBuildFile; fileRef = AAE443F404B0FEB700D02EE9 /* ScoreKeeperRave.h */; }; + AA40D26F09A08D650068C0D5 /* RageUtil_FileDB.h in Headers */ = {isa = PBXBuildFile; fileRef = AAF580A804B3E2DC00D02EE9 /* RageUtil_FileDB.h */; }; + AA40D27109A08D650068C0D5 /* LoadingWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = AAEF3D1004B53E2900D02EE9 /* LoadingWindow.h */; }; + AA40D27209A08D650068C0D5 /* InputHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = AAB3B36C04C38B4600D02EE9 /* InputHandler.h */; }; + AA40D27309A08D650068C0D5 /* MovieTexture.h in Headers */ = {isa = PBXBuildFile; fileRef = AAB3B37704C38BF600D02EE9 /* MovieTexture.h */; }; + AA40D27509A08D650068C0D5 /* MovieTexture_Null.h in Headers */ = {isa = PBXBuildFile; fileRef = AAB3B39104C5921800D02EE9 /* MovieTexture_Null.h */; }; + AA40D27609A08D650068C0D5 /* RageFile.h in Headers */ = {isa = PBXBuildFile; fileRef = AA272C3104CD757100D02EE9 /* RageFile.h */; }; + AA40D27709A08D650068C0D5 /* RageInputDevice.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6EFD7704770A7C005F316C /* RageInputDevice.h */; }; + AA40D27809A08D650068C0D5 /* RageSoundReader_FileReader.h in Headers */ = {isa = PBXBuildFile; fileRef = AADB4E7A04D4FE5D00D02EE9 /* RageSoundReader_FileReader.h */; }; + AA40D27909A08D650068C0D5 /* arch_setup.h in Headers */ = {isa = PBXBuildFile; fileRef = AADB4E8F04D5263200D02EE9 /* arch_setup.h */; }; + AA40D27A09A08D650068C0D5 /* CrashHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = AADB4E8804D50FB900D02EE9 /* CrashHandler.h */; }; + AA40D27B09A08D650068C0D5 /* CrashHandlerInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = AADB4E8A04D50FB900D02EE9 /* CrashHandlerInternal.h */; }; + AA40D27C09A08D650068C0D5 /* Crash.h in Headers */ = {isa = PBXBuildFile; fileRef = AADB4F5904D9220700D02EE9 /* Crash.h */; }; + AA40D27D09A08D650068C0D5 /* Steps.h in Headers */ = {isa = PBXBuildFile; fileRef = AAF430FE04DC98BC00D02EE9 /* Steps.h */; }; + AA40D27E09A08D650068C0D5 /* NoteDataUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = AA4F38C104E2D0B700D02EE9 /* NoteDataUtil.h */; }; + AA40D27F09A08D650068C0D5 /* ProductInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = AAADA4AE04E5F3DE00D02EE9 /* ProductInfo.h */; }; + AA40D28009A08D650068C0D5 /* BeginnerHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = AAC28BBA04F758E500D02EE9 /* BeginnerHelper.h */; }; + AA40D28209A08D650068C0D5 /* MovieTexture_FFMpeg.h in Headers */ = {isa = PBXBuildFile; fileRef = AA14ED100509F40000E3FAD7 /* MovieTexture_FFMpeg.h */; }; + AA40D28309A08D650068C0D5 /* ProfileManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AA1C6557050D234B0073A143 /* ProfileManager.h */; }; + AA40D28409A08D650068C0D5 /* RageSoundReader_WAV.h in Headers */ = {isa = PBXBuildFile; fileRef = AA1C65A7050FD21F0073A143 /* RageSoundReader_WAV.h */; }; + AA40D28609A08D650068C0D5 /* RageSoundReader_Vorbisfile.h in Headers */ = {isa = PBXBuildFile; fileRef = AA1C65A5050FD21F0073A143 /* RageSoundReader_Vorbisfile.h */; }; + AA40D28809A08D650068C0D5 /* RageSoundReader_Resample_Good.h in Headers */ = {isa = PBXBuildFile; fileRef = AAAE28F5052254A900D02EE9 /* RageSoundReader_Resample_Good.h */; }; + AA40D28909A08D650068C0D5 /* ScreenExit.h in Headers */ = {isa = PBXBuildFile; fileRef = AAECF8C005265DB600D02EE9 /* ScreenExit.h */; }; + AA40D28A09A08D650068C0D5 /* ScreenOptionsMaster.h in Headers */ = {isa = PBXBuildFile; fileRef = AA53D28505277DAF00D02EE9 /* ScreenOptionsMaster.h */; }; + AA40D28B09A08D650068C0D5 /* ScreenOptionsMasterPrefs.h in Headers */ = {isa = PBXBuildFile; fileRef = AA53D28705277DAF00D02EE9 /* ScreenOptionsMasterPrefs.h */; }; + AA40D28C09A08D650068C0D5 /* ScreenReloadSongs.h in Headers */ = {isa = PBXBuildFile; fileRef = AA53D28905277DAF00D02EE9 /* ScreenReloadSongs.h */; }; + AA40D28D09A08D650068C0D5 /* ScreenHowToPlay.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6E0030047711F3005F316C /* ScreenHowToPlay.h */; }; + AA40D28E09A08D650068C0D5 /* PercentageDisplay.h in Headers */ = {isa = PBXBuildFile; fileRef = AAD620A6052EC78B00D02EE9 /* PercentageDisplay.h */; }; + AA40D28F09A08D650068C0D5 /* ScoreDisplayPercentage.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6DAF0905300B3D00D02EE9 /* ScoreDisplayPercentage.h */; }; + AA40D29109A08D650068C0D5 /* ScreenTestInput.h in Headers */ = {isa = PBXBuildFile; fileRef = AAC622FB05389A0500D02EE9 /* ScreenTestInput.h */; }; + AA40D29209A08D650068C0D5 /* ScreenBookkeeping.h in Headers */ = {isa = PBXBuildFile; fileRef = AADBE361053D5F8A00D02EE9 /* ScreenBookkeeping.h */; }; + AA40D29309A08D650068C0D5 /* ScreenNameEntryTraditional.h in Headers */ = {isa = PBXBuildFile; fileRef = AADBE363053D5F8A00D02EE9 /* ScreenNameEntryTraditional.h */; }; + AA40D29409A08D650068C0D5 /* Bookkeeper.h in Headers */ = {isa = PBXBuildFile; fileRef = AADBE369053DA38C00D02EE9 /* Bookkeeper.h */; }; + AA40D29509A08D650068C0D5 /* GraphDisplay.h in Headers */ = {isa = PBXBuildFile; fileRef = AAFF551E0549F39700D02EE9 /* GraphDisplay.h */; }; + AA40D29609A08D650068C0D5 /* ComboGraph.h in Headers */ = {isa = PBXBuildFile; fileRef = AAFF55220549F43A00D02EE9 /* ComboGraph.h */; }; + AA40D29709A08D650068C0D5 /* Attack.h in Headers */ = {isa = PBXBuildFile; fileRef = AAFF5542054E736D00D02EE9 /* Attack.h */; }; + AA40D29809A08D650068C0D5 /* RageTextureID.h in Headers */ = {isa = PBXBuildFile; fileRef = AA9EC2F1055F5126007E5098 /* RageTextureID.h */; }; + AA40D29909A08D650068C0D5 /* CombinedLifeMeter.h in Headers */ = {isa = PBXBuildFile; fileRef = AA9D236C0561B6CE00FC7F14 /* CombinedLifeMeter.h */; }; + AA40D29A09A08D650068C0D5 /* LightsManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AAC6DCE40567660A00B5D56F /* LightsManager.h */; }; + AA40D29B09A08D650068C0D5 /* LightsDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = AAC6DCEE0567663800B5D56F /* LightsDriver.h */; }; + AA40D29D09A08D650068C0D5 /* PaneDisplay.h in Headers */ = {isa = PBXBuildFile; fileRef = AAC6DDDF0569C71000B5D56F /* PaneDisplay.h */; }; + AA40D29E09A08D650068C0D5 /* DifficultyList.h in Headers */ = {isa = PBXBuildFile; fileRef = AAC6DDE70569C80900B5D56F /* DifficultyList.h */; }; + AA40D29F09A08D650068C0D5 /* LightsDriver_SystemMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = AAB691F305704FA50078BED4 /* LightsDriver_SystemMessage.h */; }; + AA40D2A009A08D650068C0D5 /* AttackDisplay.h in Headers */ = {isa = PBXBuildFile; fileRef = AAB005F10579B8CB000BBA58 /* AttackDisplay.h */; }; + AA40D2A109A08D650068C0D5 /* RageFileDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = AAB0085C057F4F7A000BBA58 /* RageFileDriver.h */; }; + AA40D2A209A08D650068C0D5 /* RageFileDriverDirect.h in Headers */ = {isa = PBXBuildFile; fileRef = AAB0085E057F4F7A000BBA58 /* RageFileDriverDirect.h */; }; + AA40D2A309A08D650068C0D5 /* RageFileManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AAB00860057F4F7A000BBA58 /* RageFileManager.h */; }; + AA40D2A409A08D650068C0D5 /* RageFileDriverZip.h in Headers */ = {isa = PBXBuildFile; fileRef = AA251B7605841FCE00027ACB /* RageFileDriverZip.h */; }; + AA40D2A509A08D650068C0D5 /* Style.h in Headers */ = {isa = PBXBuildFile; fileRef = AA25200D0587225500027ACB /* Style.h */; }; + AA40D2A609A08D650068C0D5 /* MemoryCardManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AA28B47B058F2F5D0097C109 /* MemoryCardManager.h */; }; + AA40D2A709A08D650068C0D5 /* MemoryCardDriver_Null.h in Headers */ = {isa = PBXBuildFile; fileRef = AABE78760591287100E8BF50 /* MemoryCardDriver_Null.h */; }; + AA40D2A809A08D650068C0D5 /* DualScrollBar.h in Headers */ = {isa = PBXBuildFile; fileRef = AABE788B05912B0600E8BF50 /* DualScrollBar.h */; }; + AA40D2A909A08D650068C0D5 /* TimingData.h in Headers */ = {isa = PBXBuildFile; fileRef = AA729C430599B50D00779F33 /* TimingData.h */; }; + AA40D2AA09A08D650068C0D5 /* MemoryCardDisplay.h in Headers */ = {isa = PBXBuildFile; fileRef = AA729C470599B54D00779F33 /* MemoryCardDisplay.h */; }; + AA40D2AB09A08D650068C0D5 /* ReceptorArrow.h in Headers */ = {isa = PBXBuildFile; fileRef = AA729C4F0599B58D00779F33 /* ReceptorArrow.h */; }; + AA40D2AC09A08D650068C0D5 /* ReceptorArrowRow.h in Headers */ = {isa = PBXBuildFile; fileRef = AA729C510599B58D00779F33 /* ReceptorArrowRow.h */; }; + AA40D2AD09A08D650068C0D5 /* ScreenEnding.h in Headers */ = {isa = PBXBuildFile; fileRef = AABE321B05ACD8ED001A0E84 /* ScreenEnding.h */; }; + AA40D2AE09A08D650068C0D5 /* Foreground.h in Headers */ = {isa = PBXBuildFile; fileRef = AABE321F05ACD931001A0E84 /* Foreground.h */; }; + AA40D2AF09A08D650068C0D5 /* RageFileDriverDirectHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = AABE322305ACDA52001A0E84 /* RageFileDriverDirectHelpers.h */; }; + AA40D2B009A08D650068C0D5 /* RageUtil_CircularBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = AAD3D5AB05B5AB4E00014FAC /* RageUtil_CircularBuffer.h */; }; + AA40D2B109A08D650068C0D5 /* ModelManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AAF4206605D63FA700056441 /* ModelManager.h */; }; + AA40D2B209A08D650068C0D5 /* RageModelGeometry.h in Headers */ = {isa = PBXBuildFile; fileRef = AAF4206A05D6400800056441 /* RageModelGeometry.h */; }; + AA40D2B309A08D650068C0D5 /* Profile.h in Headers */ = {isa = PBXBuildFile; fileRef = AA50201E05D6D7B200ACEFD0 /* Profile.h */; }; + AA40D2B409A08D650068C0D5 /* XmlFile.h in Headers */ = {isa = PBXBuildFile; fileRef = AAC6889A05D7F3C800964E6D /* XmlFile.h */; }; + AA40D2B509A08D650068C0D5 /* HighScore.h in Headers */ = {isa = PBXBuildFile; fileRef = AABBD80705D8E9FC00B44FC2 /* HighScore.h */; }; + AA40D2B609A08D650068C0D5 /* CryptManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AABD0B3705DF3F22004F7929 /* CryptManager.h */; }; + AA40D2B809A08D650068C0D5 /* Backtrace.h in Headers */ = {isa = PBXBuildFile; fileRef = AAED6F290601C528002D2DEE /* Backtrace.h */; }; + AA40D2B909A08D650068C0D5 /* BacktraceNames.h in Headers */ = {isa = PBXBuildFile; fileRef = AAED6F2B0601C528002D2DEE /* BacktraceNames.h */; }; + AA40D2BA09A08D650068C0D5 /* ScreenSetTime.h in Headers */ = {isa = PBXBuildFile; fileRef = AA0A3DE7060513A00044E6B1 /* ScreenSetTime.h */; }; + AA40D2BB09A08D650068C0D5 /* NetworkSyncManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AAE7804A060814AC0034E65F /* NetworkSyncManager.h */; }; + AA40D2BD09A08D650068C0D5 /* ActiveAttackList.h in Headers */ = {isa = PBXBuildFile; fileRef = AAE7812C0608249E0034E65F /* ActiveAttackList.h */; }; + AA40D2BF09A08D650068C0D5 /* ScreenTestLights.h in Headers */ = {isa = PBXBuildFile; fileRef = AAF7435A06110E8D00B19AD1 /* ScreenTestLights.h */; }; + AA40D2C009A08D650068C0D5 /* RageDisplay_Null.h in Headers */ = {isa = PBXBuildFile; fileRef = AAF7458F061181F700B19AD1 /* RageDisplay_Null.h */; }; + AA40D2CB09A08D650068C0D5 /* EnumHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = AA8F136F0624BAB200C6A467 /* EnumHelper.h */; }; + AA40D2CC09A08D650068C0D5 /* RageSoundPosMap.h in Headers */ = {isa = PBXBuildFile; fileRef = AAD36083062BB8AE00D0CED8 /* RageSoundPosMap.h */; }; + AA40D2CD09A08D650068C0D5 /* SignalHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = AADB4E8C04D50FB900D02EE9 /* SignalHandler.h */; }; + AA40D2CE09A08D650068C0D5 /* CourseUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = AA5C73F80637A5F000AFB891 /* CourseUtil.h */; }; + AA40D2CF09A08D650068C0D5 /* SongUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = AA5C73FA0637A5F000AFB891 /* SongUtil.h */; }; + AA40D2D009A08D650068C0D5 /* StepsUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = AA5C73FC0637A5F000AFB891 /* StepsUtil.h */; }; + AA40D2D109A08D650068C0D5 /* ScreenWithMenuElements.h in Headers */ = {isa = PBXBuildFile; fileRef = AAA6BFEB0644AB3700AFBBC8 /* ScreenWithMenuElements.h */; }; + AA40D2F209A08D650068C0D5 /* RageSurface_Load_GIF.h in Headers */ = {isa = PBXBuildFile; fileRef = AABBF66D0659E78D00738526 /* RageSurface_Load_GIF.h */; }; + AA40D2F309A08D650068C0D5 /* RageSurface_Load_JPEG.h in Headers */ = {isa = PBXBuildFile; fileRef = AABBF66F0659E78D00738526 /* RageSurface_Load_JPEG.h */; }; + AA40D2F409A08D650068C0D5 /* RageSurface_Load_PNG.h in Headers */ = {isa = PBXBuildFile; fileRef = AABBF6710659E78D00738526 /* RageSurface_Load_PNG.h */; }; + AA40D2F509A08D650068C0D5 /* RageSurface_Load_XPM.h in Headers */ = {isa = PBXBuildFile; fileRef = AABBF6730659E78D00738526 /* RageSurface_Load_XPM.h */; }; + AA40D2F609A08D650068C0D5 /* RageSurface_Load.h in Headers */ = {isa = PBXBuildFile; fileRef = AABBF6750659E78D00738526 /* RageSurface_Load.h */; }; + AA40D2F809A08D650068C0D5 /* Difficulty.h in Headers */ = {isa = PBXBuildFile; fileRef = AAD6A713065E0FDF0042165A /* Difficulty.h */; }; + AA40D2F909A08D650068C0D5 /* Foreach.h in Headers */ = {isa = PBXBuildFile; fileRef = AA70E3640663112800DAE1FD /* Foreach.h */; }; + AA40D2FA09A08D650068C0D5 /* Trail.h in Headers */ = {isa = PBXBuildFile; fileRef = AA70E3660663112800DAE1FD /* Trail.h */; }; + AA40D2FB09A08D650068C0D5 /* TrailUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = AA70E3680663112800DAE1FD /* TrailUtil.h */; }; + AA40D2FC09A08D650068C0D5 /* ScreenNetworkOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = AA42F5E7067068D30013509E /* ScreenNetworkOptions.h */; }; + AA40D2FD09A08D650068C0D5 /* Dialog.h in Headers */ = {isa = PBXBuildFile; fileRef = AAD675F006795175006002B0 /* Dialog.h */; }; + AA40D2FE09A08D650068C0D5 /* DialogDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = AAD675F106795175006002B0 /* DialogDriver.h */; }; + AA40D30009A08D650068C0D5 /* Threads.h in Headers */ = {isa = PBXBuildFile; fileRef = AA60E0BC067992D7008ADC41 /* Threads.h */; }; + AA40D30109A08D650068C0D5 /* Threads_Pthreads.h in Headers */ = {isa = PBXBuildFile; fileRef = AA60E0BE067992D7008ADC41 /* Threads_Pthreads.h */; }; + AA40D30209A08D650068C0D5 /* RageSurface.h in Headers */ = {isa = PBXBuildFile; fileRef = AA91587A067D2C2C00078E36 /* RageSurface.h */; }; + AA40D30309A08D650068C0D5 /* RageSurface_Load_BMP.h in Headers */ = {isa = PBXBuildFile; fileRef = AA9091A0067ED43000C1FCFF /* RageSurface_Load_BMP.h */; }; + AA40D30409A08D650068C0D5 /* RageSurface_Save_BMP.h in Headers */ = {isa = PBXBuildFile; fileRef = AA9091A4067ED46400C1FCFF /* RageSurface_Save_BMP.h */; }; + AA40D30509A08D650068C0D5 /* GameSoundManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AAC9F32F069E22BB00D53E2C /* GameSoundManager.h */; }; + AA40D30609A08D650068C0D5 /* MemoryCardDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = AAC9F333069E22CF00D53E2C /* MemoryCardDriver.h */; }; + AA40D30709A08D650068C0D5 /* RadarValues.h in Headers */ = {isa = PBXBuildFile; fileRef = AA3D790006A275E90064B980 /* RadarValues.h */; }; + AA40D30809A08D650068C0D5 /* DateTime.h in Headers */ = {isa = PBXBuildFile; fileRef = AA3D793206A279530064B980 /* DateTime.h */; }; + AA40D30909A08D650068C0D5 /* CommonMetrics.h in Headers */ = {isa = PBXBuildFile; fileRef = AA3A705E06AA144C006F755E /* CommonMetrics.h */; }; + AA40D30A09A08D650068C0D5 /* StyleUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = AA3A706106AA1645006F755E /* StyleUtil.h */; }; + AA40D30B09A08D650068C0D5 /* Game.h in Headers */ = {isa = PBXBuildFile; fileRef = AA9A78AA06B5C72200B03E97 /* Game.h */; }; + AA40D30C09A08D650068C0D5 /* ScreenNetSelectMusic.h in Headers */ = {isa = PBXBuildFile; fileRef = AA22CBA406DE909C0083BA97 /* ScreenNetSelectMusic.h */; }; + AA40D30E09A08D650068C0D5 /* RageSurfaceUtils_Palettize.h in Headers */ = {isa = PBXBuildFile; fileRef = AAB9C8AC06EAF64400AD97CD /* RageSurfaceUtils_Palettize.h */; }; + AA40D30F09A08D650068C0D5 /* RageSurfaceUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = AAB9C8AE06EAF64400AD97CD /* RageSurfaceUtils.h */; }; + AA40D31009A08D650068C0D5 /* ScreenNetEvaluation.h in Headers */ = {isa = PBXBuildFile; fileRef = AAB9C8B406EAF66C00AD97CD /* ScreenNetEvaluation.h */; }; + AA40D31109A08D650068C0D5 /* RageFileDriverMemory.h in Headers */ = {isa = PBXBuildFile; fileRef = AA64218706EC606F00C21584 /* RageFileDriverMemory.h */; }; + AA40D31209A08D650068C0D5 /* DarwinThreadHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = AA8A3EC806EDDAE4002F25AB /* DarwinThreadHelpers.h */; }; + AA40D31309A08D650068C0D5 /* RageUtil_BackgroundLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = AA8A405006EEFF72002F25AB /* RageUtil_BackgroundLoader.h */; }; + AA40D31409A08D650068C0D5 /* Preference.h in Headers */ = {isa = PBXBuildFile; fileRef = AA54709106F559DF008EB9B2 /* Preference.h */; }; + AA40D31509A08D650068C0D5 /* ThemeMetric.h in Headers */ = {isa = PBXBuildFile; fileRef = AA21D5A10712AE16008B825F /* ThemeMetric.h */; }; + AA40D31609A08D650068C0D5 /* InputHandler_MonkeyKeyboard.h in Headers */ = {isa = PBXBuildFile; fileRef = AAFC6CF0072A30440053AAD3 /* InputHandler_MonkeyKeyboard.h */; }; + AA40D31709A08D650068C0D5 /* AutoKeysounds.h in Headers */ = {isa = PBXBuildFile; fileRef = AAAB2CDE072BD2EC00CD9FC9 /* AutoKeysounds.h */; }; + AA40D31809A08D650068C0D5 /* RageSoundMixBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = AAAB2CE2072BD2FA00CD9FC9 /* RageSoundMixBuffer.h */; }; + AA40D31909A08D650068C0D5 /* RageSoundReader_Chain.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7ADC24072CAB7F00C50A7F /* RageSoundReader_Chain.h */; }; + AA40D31A09A08D650068C0D5 /* RageSoundUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7ADC26072CAB7F00C50A7F /* RageSoundUtil.h */; }; + AA40D31B09A08D650068C0D5 /* ScreenNetRoom.h in Headers */ = {isa = PBXBuildFile; fileRef = AAF793F2074FE69E00D74516 /* ScreenNetRoom.h */; }; + AA40D31C09A08D650068C0D5 /* ScreenNetSelectBase.h in Headers */ = {isa = PBXBuildFile; fileRef = AAF793F4074FE69E00D74516 /* ScreenNetSelectBase.h */; }; + AA40D31D09A08D650068C0D5 /* ScreenPackages.h in Headers */ = {isa = PBXBuildFile; fileRef = AA1145DA075DFADF0050A3D1 /* ScreenPackages.h */; }; + AA40D31E09A08D650068C0D5 /* ScreenSystemLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = AA1145DC075DFADF0050A3D1 /* ScreenSystemLayer.h */; }; + AA40D31F09A08D650068C0D5 /* Command.h in Headers */ = {isa = PBXBuildFile; fileRef = AA1B08380762532800835464 /* Command.h */; }; + AA40D32009A08D650068C0D5 /* GameCommand.h in Headers */ = {isa = PBXBuildFile; fileRef = AA1B083A0762532800835464 /* GameCommand.h */; }; + AA40D32109A08D650068C0D5 /* RageFileBasic.h in Headers */ = {isa = PBXBuildFile; fileRef = AA0E04CF076C4CD500716D81 /* RageFileBasic.h */; }; + AA40D32209A08D650068C0D5 /* RageFileDriverDeflate.h in Headers */ = {isa = PBXBuildFile; fileRef = AA0E04D1076C4CD500716D81 /* RageFileDriverDeflate.h */; }; + AA40D32309A08D650068C0D5 /* RageFileDriverSlice.h in Headers */ = {isa = PBXBuildFile; fileRef = AA0E04D3076C4CD500716D81 /* RageFileDriverSlice.h */; }; + AA40D32409A08D650068C0D5 /* RageSurface_Save_JPEG.h in Headers */ = {isa = PBXBuildFile; fileRef = AAEBC6C707A20AFE00793F0E /* RageSurface_Save_JPEG.h */; }; + AA40D32509A08D650068C0D5 /* RageSurfaceUtils_Dither.h in Headers */ = {isa = PBXBuildFile; fileRef = AAEBC6C907A20AFE00793F0E /* RageSurfaceUtils_Dither.h */; }; + AA40D32609A08D650068C0D5 /* RageSurfaceUtils_Zoom.h in Headers */ = {isa = PBXBuildFile; fileRef = AAEBC6CB07A20AFE00793F0E /* RageSurfaceUtils_Zoom.h */; }; + AA40D32709A08D650068C0D5 /* LuaBinding.h in Headers */ = {isa = PBXBuildFile; fileRef = AAEBC78C07A4FF5600793F0E /* LuaBinding.h */; }; + AA40D32809A08D650068C0D5 /* LuaManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AAEBC78E07A4FF5600793F0E /* LuaManager.h */; }; + AA40D32909A08D650068C0D5 /* PlayerState.h in Headers */ = {isa = PBXBuildFile; fileRef = AAEBC78F07A4FF5600793F0E /* PlayerState.h */; }; + AA40D32C09A08D650068C0D5 /* RageFileDriverTimeout.h in Headers */ = {isa = PBXBuildFile; fileRef = AACA592B07B5E23400763545 /* RageFileDriverTimeout.h */; }; + AA40D32D09A08D650068C0D5 /* RageUtil_AutoPtr.h in Headers */ = {isa = PBXBuildFile; fileRef = AACA592C07B5E23400763545 /* RageUtil_AutoPtr.h */; }; + AA40D32E09A08D650068C0D5 /* RageUtil_WorkerThread.h in Headers */ = {isa = PBXBuildFile; fileRef = AACA592E07B5E23400763545 /* RageUtil_WorkerThread.h */; }; + AA40D32F09A08D650068C0D5 /* LuaReference.h in Headers */ = {isa = PBXBuildFile; fileRef = AA8BD2A207C9391B00EA04E1 /* LuaReference.h */; }; + AA40D33009A08D650068C0D5 /* MessageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AA8BD2A407C9391B00EA04E1 /* MessageManager.h */; }; + AA40D33109A08D650068C0D5 /* StatsManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AA8BD2A607C9391B00EA04E1 /* StatsManager.h */; }; + AA40D33209A08D650068C0D5 /* SubscriptionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AA8BD2A707C9391B00EA04E1 /* SubscriptionManager.h */; }; + AA40D33309A08D650068C0D5 /* AutoActor.h in Headers */ = {isa = PBXBuildFile; fileRef = AA8BD2B007C9395400EA04E1 /* AutoActor.h */; }; + AA40D33409A08D650068C0D5 /* OptionRow.h in Headers */ = {isa = PBXBuildFile; fileRef = AA8BD2B507C939A200EA04E1 /* OptionRow.h */; }; + AA40D33509A08D650068C0D5 /* PlayerStageStats.h in Headers */ = {isa = PBXBuildFile; fileRef = AA8BD2B907C939F800EA04E1 /* PlayerStageStats.h */; }; + AA40D33609A08D650068C0D5 /* RollingNumbers.h in Headers */ = {isa = PBXBuildFile; fileRef = AA8BD2BC07C939F800EA04E1 /* RollingNumbers.h */; }; + AA40D33709A08D650068C0D5 /* ScoreDisplayCalories.h in Headers */ = {isa = PBXBuildFile; fileRef = AA8BD2BE07C939F800EA04E1 /* ScoreDisplayCalories.h */; }; + AA40D34009A08D650068C0D5 /* UnlockManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AA80C75307F20D0D00C99272 /* UnlockManager.h */; }; + AA40D34109A08D650068C0D5 /* OptionRowHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = AA80C75807F20D6600C99272 /* OptionRowHandler.h */; }; + AA40D34209A08D650068C0D5 /* ScoreDisplayAliveTime.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7144B00809EEEC00545684 /* ScoreDisplayAliveTime.h */; }; + AA40D34309A08D650068C0D5 /* ScoreDisplayLifeTime.h in Headers */ = {isa = PBXBuildFile; fileRef = AA3D5E5D08214C77002AA665 /* ScoreDisplayLifeTime.h */; }; + AA40D34409A08D650068C0D5 /* StreamDisplay.h in Headers */ = {isa = PBXBuildFile; fileRef = AA3D5E90082152B6002AA665 /* StreamDisplay.h */; }; + AA40D34509A08D650068C0D5 /* LifeMeterTime.h in Headers */ = {isa = PBXBuildFile; fileRef = AA3D5E5B08214C77002AA665 /* LifeMeterTime.h */; }; + AA40D34609A08D650068C0D5 /* WheelBase.h in Headers */ = {isa = PBXBuildFile; fileRef = AAAFE81D0835E7FF00FC43E0 /* WheelBase.h */; }; + AA40D34709A08D650068C0D5 /* WheelItemBase.h in Headers */ = {isa = PBXBuildFile; fileRef = AAAFE81F0835E7FF00FC43E0 /* WheelItemBase.h */; }; + AA40D34909A08D650068C0D5 /* ScreenDebugOverlay.h in Headers */ = {isa = PBXBuildFile; fileRef = AA07A5560843E72B00E33D21 /* ScreenDebugOverlay.h */; }; + AA40D34B09A08D650068C0D5 /* ScreenSaveSync.h in Headers */ = {isa = PBXBuildFile; fileRef = AA07A55A0843E72B00E33D21 /* ScreenSaveSync.h */; }; + AA40D34D09A08D650068C0D5 /* ScreenSyncOverlay.h in Headers */ = {isa = PBXBuildFile; fileRef = AA07A55E0843E72B00E33D21 /* ScreenSyncOverlay.h */; }; + AA40D34E09A08D650068C0D5 /* BackgroundUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7DA2F0085760E90057F1EA /* BackgroundUtil.h */; }; + AA40D34F09A08D650068C0D5 /* ScreenSplash.h in Headers */ = {isa = PBXBuildFile; fileRef = AAB6B476085761B700CEE7BA /* ScreenSplash.h */; }; + AA40D35009A08D650068C0D5 /* RageTexturePreloader.h in Headers */ = {isa = PBXBuildFile; fileRef = AA91ACB00878BB2C00FB2F8F /* RageTexturePreloader.h */; }; + AA40D35109A08D650068C0D5 /* ScreenOptionsEditProfile.h in Headers */ = {isa = PBXBuildFile; fileRef = AAFAB5BC0889098600767BF7 /* ScreenOptionsEditProfile.h */; }; + AA40D35209A08D650068C0D5 /* GameLoop.h in Headers */ = {isa = PBXBuildFile; fileRef = AAFAB5CC08890B5200767BF7 /* GameLoop.h */; }; + AA40D35309A08D650068C0D5 /* CharacterManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AA77E74608B64B1400FA24CA /* CharacterManager.h */; }; + AA40D35409A08D650068C0D5 /* CourseLoaderCRS.h in Headers */ = {isa = PBXBuildFile; fileRef = AA77E74C08B64B5600FA24CA /* CourseLoaderCRS.h */; }; + AA40D35509A08D650068C0D5 /* CourseWriterCRS.h in Headers */ = {isa = PBXBuildFile; fileRef = AA77E74E08B64B5600FA24CA /* CourseWriterCRS.h */; }; + AA40D35909A08D650068C0D5 /* ScreenOptionsManageCourses.h in Headers */ = {isa = PBXBuildFile; fileRef = AA77E75C08B64B9A00FA24CA /* ScreenOptionsManageCourses.h */; }; + AA40D35A09A08D650068C0D5 /* ScreenOptionsManageProfiles.h in Headers */ = {isa = PBXBuildFile; fileRef = AA77E75E08B64B9A00FA24CA /* ScreenOptionsManageProfiles.h */; }; + AA40D35B09A08D650068C0D5 /* ScreenGameplayNormal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1215D7A108C6559A00B87D8B /* ScreenGameplayNormal.h */; }; + AA40D35C09A08D650068C0D5 /* ActorSound.h in Headers */ = {isa = PBXBuildFile; fileRef = AACFBE2708E7D793005087FC /* ActorSound.h */; }; + AA40D35D09A08D650068C0D5 /* InputEventPlus.h in Headers */ = {isa = PBXBuildFile; fileRef = AACFBE3908E7D832005087FC /* InputEventPlus.h */; }; + AA40D35F09A08D650068C0D5 /* ScreenGameplayLesson.h in Headers */ = {isa = PBXBuildFile; fileRef = AACFBE4A08E7D893005087FC /* ScreenGameplayLesson.h */; }; + AA40D36209A08D650068C0D5 /* LuaExpressionTransform.h in Headers */ = {isa = PBXBuildFile; fileRef = AACFBE6208E7DBA8005087FC /* LuaExpressionTransform.h */; }; + AA40D36309A08D650068C0D5 /* DynamicActorScroller.h in Headers */ = {isa = PBXBuildFile; fileRef = AAF3442A08F1C36A0006EDB7 /* DynamicActorScroller.h */; }; + AA40D36409A08D650068C0D5 /* ScoreKeeperNormal.h in Headers */ = {isa = PBXBuildFile; fileRef = AAF34ADD0900AEBD0006EDB7 /* ScoreKeeperNormal.h */; }; + AA40D36509A08D650068C0D5 /* ScreenStatsOverlay.h in Headers */ = {isa = PBXBuildFile; fileRef = AAF34AEC0900B00C0006EDB7 /* ScreenStatsOverlay.h */; }; + AA40D36709A08D650068C0D5 /* MovieTexture_Generic.h in Headers */ = {isa = PBXBuildFile; fileRef = AAA372D10909934500141131 /* MovieTexture_Generic.h */; }; + AA40D36809A08D650068C0D5 /* MovieTexture_Theora.h in Headers */ = {isa = PBXBuildFile; fileRef = AAA372D30909934500141131 /* MovieTexture_Theora.h */; }; + AA40D36B09A08D650068C0D5 /* SpecialFiles.h in Headers */ = {isa = PBXBuildFile; fileRef = AAFBEED0094D7FCB000029DE /* SpecialFiles.h */; }; + AA40D36C09A08D650068C0D5 /* ScreenOptionsManageEditSteps.h in Headers */ = {isa = PBXBuildFile; fileRef = AAFBEEE6094D807E000029DE /* ScreenOptionsManageEditSteps.h */; }; + AA40D36D09A08D650068C0D5 /* ScreenOptionsMemoryCard.h in Headers */ = {isa = PBXBuildFile; fileRef = AAFBEEE8094D807E000029DE /* ScreenOptionsMemoryCard.h */; }; + AA40D36E09A08D650068C0D5 /* ScreenServiceAction.h in Headers */ = {isa = PBXBuildFile; fileRef = AAFBEEEA094D807E000029DE /* ScreenServiceAction.h */; }; + AA40D36F09A08D650068C0D5 /* DisplayResolutions.h in Headers */ = {isa = PBXBuildFile; fileRef = AA07328B0954381800F396C5 /* DisplayResolutions.h */; }; + AA40D37009A08D650068C0D5 /* XmlFileUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = AA07328D0954381800F396C5 /* XmlFileUtil.h */; }; + AA40D37109A08D650068C0D5 /* LocalizedString.h in Headers */ = {isa = PBXBuildFile; fileRef = AADD1CC3095C233F0088C9DF /* LocalizedString.h */; }; + AA40D37509A08D650068C0D5 /* HIDDevice.h in Headers */ = {isa = PBXBuildFile; fileRef = AA44705209846B0800983E82 /* HIDDevice.h */; }; + AA40D37609A08D650068C0D5 /* JoystickDevice.h in Headers */ = {isa = PBXBuildFile; fileRef = AA44708C0984720900983E82 /* JoystickDevice.h */; }; + AA40D37709A08D650068C0D5 /* KeyboardDevice.h in Headers */ = {isa = PBXBuildFile; fileRef = AA4470BA098476F600983E82 /* KeyboardDevice.h */; }; + AA40D37809A08D650068C0D5 /* Tween.h in Headers */ = {isa = PBXBuildFile; fileRef = AAC0C8C10984AE3B0075FC53 /* Tween.h */; }; + AA40D37909A08D650068C0D5 /* ScreenUnlockStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = AA65877A098C322800CE55CC /* ScreenUnlockStatus.h */; }; + AA40D37A09A08D650068C0D5 /* AdjustSync.h in Headers */ = {isa = PBXBuildFile; fileRef = AA84B7060996F8370085EECB /* AdjustSync.h */; }; + AA40D37C09A08D650068C0D5 /* smicon.icns in Resources */ = {isa = PBXBuildFile; fileRef = AAB895E504A9057100D02EE9 /* smicon.icns */; }; + AA40D38109A08D650068C0D5 /* RageUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFD9204770A7C005F316C /* RageUtil.cpp */; }; + AA40D38209A08D650068C0D5 /* RageBitmapTexture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFD6D04770A7C005F316C /* RageBitmapTexture.cpp */; }; + AA40D38309A08D650068C0D5 /* RageDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFD6F04770A7C005F316C /* RageDisplay.cpp */; }; + AA40D38409A08D650068C0D5 /* RageException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFD7204770A7C005F316C /* RageException.cpp */; }; + AA40D38509A08D650068C0D5 /* RageInput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFD7404770A7C005F316C /* RageInput.cpp */; }; + AA40D38609A08D650068C0D5 /* RageInputDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFD7604770A7C005F316C /* RageInputDevice.cpp */; }; + AA40D38709A08D650068C0D5 /* RageLog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFD7804770A7C005F316C /* RageLog.cpp */; }; + AA40D38809A08D650068C0D5 /* RageMath.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFD7A04770A7C005F316C /* RageMath.cpp */; }; + AA40D38909A08D650068C0D5 /* RageSound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFD7C04770A7C005F316C /* RageSound.cpp */; }; + AA40D38A09A08D650068C0D5 /* RageSoundManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFD7E04770A7C005F316C /* RageSoundManager.cpp */; }; + AA40D38B09A08D650068C0D5 /* RageSoundReader_Preload.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFD8004770A7C005F316C /* RageSoundReader_Preload.cpp */; }; + AA40D38D09A08D650068C0D5 /* RageTexture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFD8904770A7C005F316C /* RageTexture.cpp */; }; + AA40D38E09A08D650068C0D5 /* RageTextureManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFD8B04770A7C005F316C /* RageTextureManager.cpp */; }; + AA40D38F09A08D650068C0D5 /* RageThreads.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFD8D04770A7C005F316C /* RageThreads.cpp */; }; + AA40D39009A08D650068C0D5 /* RageTimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFD8F04770A7C005F316C /* RageTimer.cpp */; }; + AA40D39109A08D650068C0D5 /* Character.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDCB04770C79005F316C /* Character.cpp */; }; + AA40D39209A08D650068C0D5 /* CodeDetector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDCD04770C79005F316C /* CodeDetector.cpp */; }; + AA40D39309A08D650068C0D5 /* Course.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDCF04770C79005F316C /* Course.cpp */; }; + AA40D39409A08D650068C0D5 /* Font.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDD104770C79005F316C /* Font.cpp */; }; + AA40D39509A08D650068C0D5 /* FontCharAliases.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDD304770C79005F316C /* FontCharAliases.cpp */; }; + AA40D39609A08D650068C0D5 /* FontCharmaps.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDD504770C79005F316C /* FontCharmaps.cpp */; }; + AA40D39709A08D650068C0D5 /* FontManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDD704770C79005F316C /* FontManager.cpp */; }; + AA40D39809A08D650068C0D5 /* GameConstantsAndTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDD904770C79005F316C /* GameConstantsAndTypes.cpp */; }; + AA40D39909A08D650068C0D5 /* GameInput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDDD04770C79005F316C /* GameInput.cpp */; }; + AA40D39A09A08D650068C0D5 /* Grade.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDDF04770C79005F316C /* Grade.cpp */; }; + AA40D39B09A08D650068C0D5 /* Inventory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDE104770C79005F316C /* Inventory.cpp */; }; + AA40D39C09A08D650068C0D5 /* LyricsLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDE304770C79005F316C /* LyricsLoader.cpp */; }; + AA40D39D09A08D650068C0D5 /* NoteData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDE504770C79005F316C /* NoteData.cpp */; }; + AA40D39E09A08D650068C0D5 /* NoteDataWithScoring.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDE704770C79005F316C /* NoteDataWithScoring.cpp */; }; + AA40D3A009A08D650068C0D5 /* NotesLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDED04770C79005F316C /* NotesLoader.cpp */; }; + AA40D3A109A08D650068C0D5 /* NotesLoaderBMS.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDEF04770C79005F316C /* NotesLoaderBMS.cpp */; }; + AA40D3A209A08D650068C0D5 /* NotesLoaderDWI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDF104770C79005F316C /* NotesLoaderDWI.cpp */; }; + AA40D3A309A08D650068C0D5 /* NotesLoaderKSF.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDF304770C79005F316C /* NotesLoaderKSF.cpp */; }; + AA40D3A409A08D650068C0D5 /* NotesLoaderSM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDF504770C79005F316C /* NotesLoaderSM.cpp */; }; + AA40D3A509A08D650068C0D5 /* NotesWriterDWI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDF704770C79005F316C /* NotesWriterDWI.cpp */; }; + AA40D3A609A08D650068C0D5 /* NotesWriterSM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDF904770C79005F316C /* NotesWriterSM.cpp */; }; + AA40D3A709A08D650068C0D5 /* NoteTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDFB04770C79005F316C /* NoteTypes.cpp */; }; + AA40D3A809A08D650068C0D5 /* Player.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDFD04770C79005F316C /* Player.cpp */; }; + AA40D3A909A08D650068C0D5 /* PlayerAI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFDFF04770C79005F316C /* PlayerAI.cpp */; }; + AA40D3AA09A08D650068C0D5 /* PlayerNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE0104770C79005F316C /* PlayerNumber.cpp */; }; + AA40D3AB09A08D650068C0D5 /* PlayerOptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE0304770C79005F316C /* PlayerOptions.cpp */; }; + AA40D3AC09A08D650068C0D5 /* SongOptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE0704770C79005F316C /* SongOptions.cpp */; }; + AA40D3AD09A08D650068C0D5 /* StageStats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE0904770C79005F316C /* StageStats.cpp */; }; + AA40D3AE09A08D650068C0D5 /* TitleSubstitution.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE0E04770C79005F316C /* TitleSubstitution.cpp */; }; + AA40D3AF09A08D650068C0D5 /* IniFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE5804770CAA005F316C /* IniFile.cpp */; }; + AA40D3B009A08D650068C0D5 /* MsdFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE5A04770CAA005F316C /* MsdFile.cpp */; }; + AA40D3B109A08D650068C0D5 /* StepMania.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE6304770CF7005F316C /* StepMania.cpp */; }; + AA40D3B209A08D650068C0D5 /* Banner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE6E04770D61005F316C /* Banner.cpp */; }; + AA40D3B309A08D650068C0D5 /* BPMDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE7604770E7C005F316C /* BPMDisplay.cpp */; }; + AA40D3B409A08D650068C0D5 /* CourseContentsList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE7804770E7C005F316C /* CourseContentsList.cpp */; }; + AA40D3B609A08D650068C0D5 /* DifficultyIcon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE7E04770E7C005F316C /* DifficultyIcon.cpp */; }; + AA40D3B909A08D650068C0D5 /* EditMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE8404770E7C005F316C /* EditMenu.cpp */; }; + AA40D3BA09A08D650068C0D5 /* FadingBanner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE8A04770E7C005F316C /* FadingBanner.cpp */; }; + AA40D3BB09A08D650068C0D5 /* GradeDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE8C04770E7C005F316C /* GradeDisplay.cpp */; }; + AA40D3BC09A08D650068C0D5 /* GrooveRadar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE9004770E7C005F316C /* GrooveRadar.cpp */; }; + AA40D3BE09A08D650068C0D5 /* HelpDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE9404770E7C005F316C /* HelpDisplay.cpp */; }; + AA40D3BF09A08D650068C0D5 /* MenuTimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE9A04770E7C005F316C /* MenuTimer.cpp */; }; + AA40D3C009A08D650068C0D5 /* MeterDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFE9C04770E7C005F316C /* MeterDisplay.cpp */; }; + AA40D3C409A08D650068C0D5 /* MusicWheel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFEA404770E7C005F316C /* MusicWheel.cpp */; }; + AA40D3C509A08D650068C0D5 /* MusicWheelItem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFEA604770E7C005F316C /* MusicWheelItem.cpp */; }; + AA40D3C809A08D650068C0D5 /* OptionsCursor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFEAC04770E7C005F316C /* OptionsCursor.cpp */; }; + AA40D3C909A08D650068C0D5 /* ScrollBar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFEAE04770E7C005F316C /* ScrollBar.cpp */; }; + AA40D3CB09A08D650068C0D5 /* SnapDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFEB204770E7C005F316C /* SnapDisplay.cpp */; }; + AA40D3CC09A08D650068C0D5 /* TextBanner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFEB404770E7C005F316C /* TextBanner.cpp */; }; + AA40D3CD09A08D650068C0D5 /* WheelNotifyIcon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFEB604770E7C005F316C /* WheelNotifyIcon.cpp */; }; + AA40D3CE09A08D650068C0D5 /* ArrowEffects.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFEFD04770F63005F316C /* ArrowEffects.cpp */; }; + AA40D3CF09A08D650068C0D5 /* Background.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFEFF04770F63005F316C /* Background.cpp */; }; + AA40D3D009A08D650068C0D5 /* BGAnimation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF0104770F63005F316C /* BGAnimation.cpp */; }; + AA40D3D109A08D650068C0D5 /* BGAnimationLayer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF0304770F63005F316C /* BGAnimationLayer.cpp */; }; + AA40D3D309A08D650068C0D5 /* DancingCharacters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF0704770F63005F316C /* DancingCharacters.cpp */; }; + AA40D3D409A08D650068C0D5 /* GhostArrowRow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF0D04770F63005F316C /* GhostArrowRow.cpp */; }; + AA40D3D509A08D650068C0D5 /* HoldJudgment.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF1504770F63005F316C /* HoldJudgment.cpp */; }; + AA40D3D709A08D650068C0D5 /* LifeMeterBar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF1B04770F63005F316C /* LifeMeterBar.cpp */; }; + AA40D3D809A08D650068C0D5 /* LifeMeterBattery.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF1D04770F63005F316C /* LifeMeterBattery.cpp */; }; + AA40D3D909A08D650068C0D5 /* LyricDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF1F04770F63005F316C /* LyricDisplay.cpp */; }; + AA40D3DA09A08D650068C0D5 /* NoteDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF2104770F63005F316C /* NoteDisplay.cpp */; }; + AA40D3DB09A08D650068C0D5 /* NoteField.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF2304770F63005F316C /* NoteField.cpp */; }; + AA40D3DC09A08D650068C0D5 /* ScoreDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF2504770F63005F316C /* ScoreDisplay.cpp */; }; + AA40D3DD09A08D650068C0D5 /* ScoreDisplayBattle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF2704770F63005F316C /* ScoreDisplayBattle.cpp */; }; + AA40D3DE09A08D650068C0D5 /* ScoreDisplayNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF2904770F63005F316C /* ScoreDisplayNormal.cpp */; }; + AA40D3DF09A08D650068C0D5 /* ScoreDisplayOni.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF2B04770F63005F316C /* ScoreDisplayOni.cpp */; }; + AA40D3E009A08D650068C0D5 /* ScoreDisplayRave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF2D04770F63005F316C /* ScoreDisplayRave.cpp */; }; + AA40D3E109A08D650068C0D5 /* Transition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF7004770F86005F316C /* Transition.cpp */; }; + AA40D3E209A08D650068C0D5 /* Actor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF7504770FFD005F316C /* Actor.cpp */; }; + AA40D3E309A08D650068C0D5 /* ActorFrame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF7704770FFD005F316C /* ActorFrame.cpp */; }; + AA40D3E409A08D650068C0D5 /* ActorScroller.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFF7904770FFD005F316C /* ActorScroller.cpp */; }; + AA40D3E509A08D650068C0D5 /* BitmapText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFFB904770FFD005F316C /* BitmapText.cpp */; }; + AA40D3E609A08D650068C0D5 /* Model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFFBD04770FFD005F316C /* Model.cpp */; }; + AA40D3E709A08D650068C0D5 /* ModelTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFFBF04770FFD005F316C /* ModelTypes.cpp */; }; + AA40D3E809A08D650068C0D5 /* Sprite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6EFFC204770FFD005F316C /* Sprite.cpp */; }; + AA40D3E909A08D650068C0D5 /* Screen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E000A047711F3005F316C /* Screen.cpp */; }; + AA40D3EA09A08D650068C0D5 /* ScreenAttract.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E0010047711F3005F316C /* ScreenAttract.cpp */; }; + AA40D3EC09A08D650068C0D5 /* ScreenDemonstration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E001B047711F3005F316C /* ScreenDemonstration.cpp */; }; + AA40D3ED09A08D650068C0D5 /* ScreenEdit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E001D047711F3005F316C /* ScreenEdit.cpp */; settings = {COMPILER_FLAGS = "-finline-limit=300"; }; }; + AA40D3EE09A08D650068C0D5 /* ScreenEditMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E001F047711F3005F316C /* ScreenEditMenu.cpp */; }; + AA40D3EF09A08D650068C0D5 /* ScreenEvaluation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E0021047711F3005F316C /* ScreenEvaluation.cpp */; }; + AA40D3F209A08D650068C0D5 /* ScreenGameplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E0029047711F3005F316C /* ScreenGameplay.cpp */; }; + AA40D3F309A08D650068C0D5 /* ScreenJukebox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E0037047711F3005F316C /* ScreenJukebox.cpp */; }; + AA40D3F409A08D650068C0D5 /* ScreenManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E003F047711F3005F316C /* ScreenManager.cpp */; }; + AA40D3F509A08D650068C0D5 /* ScreenMapControllers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E0041047711F3005F316C /* ScreenMapControllers.cpp */; }; + AA40D3F609A08D650068C0D5 /* ScreenMiniMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E0045047711F3005F316C /* ScreenMiniMenu.cpp */; }; + AA40D3F809A08D650068C0D5 /* ScreenNameEntry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E0049047711F3005F316C /* ScreenNameEntry.cpp */; }; + AA40D3F909A08D650068C0D5 /* ScreenOptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E004B047711F3005F316C /* ScreenOptions.cpp */; }; + AA40D3FA09A08D650068C0D5 /* ScreenPlayerOptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E004F047711F3005F316C /* ScreenPlayerOptions.cpp */; }; + AA40D3FB09A08D650068C0D5 /* ScreenPrompt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E0051047711F3005F316C /* ScreenPrompt.cpp */; }; + AA40D3FC09A08D650068C0D5 /* ScreenRanking.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E0053047711F3005F316C /* ScreenRanking.cpp */; }; + AA40D3FD09A08D650068C0D5 /* ScreenSandbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E0057047711F3005F316C /* ScreenSandbox.cpp */; }; + AA40D3FE09A08D650068C0D5 /* ScreenSelect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E0059047711F3005F316C /* ScreenSelect.cpp */; }; + AA40D3FF09A08D650068C0D5 /* ScreenSelectCharacter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E005B047711F3005F316C /* ScreenSelectCharacter.cpp */; }; + AA40D40309A08D650068C0D5 /* ScreenSelectMusic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E0069047711F3005F316C /* ScreenSelectMusic.cpp */; }; + AA40D40509A08D650068C0D5 /* ScreenSongOptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E006F047711F3005F316C /* ScreenSongOptions.cpp */; }; + AA40D40809A08D650068C0D5 /* ScreenTestSound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E007B047711F3005F316C /* ScreenTestSound.cpp */; }; + AA40D40909A08D650068C0D5 /* ScreenTextEntry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E007D047711F3005F316C /* ScreenTextEntry.cpp */; }; + AA40D40A09A08D650068C0D5 /* ScreenTitleMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E007F047711F3005F316C /* ScreenTitleMenu.cpp */; }; + AA40D40B09A08D650068C0D5 /* AnnouncerManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E00FF0477128A005F316C /* AnnouncerManager.cpp */; }; + AA40D40C09A08D650068C0D5 /* GameManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E01010477128A005F316C /* GameManager.cpp */; }; + AA40D40D09A08D650068C0D5 /* GameState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E01030477128A005F316C /* GameState.cpp */; }; + AA40D40E09A08D650068C0D5 /* InputFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E01050477128A005F316C /* InputFilter.cpp */; }; + AA40D40F09A08D650068C0D5 /* InputMapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E01070477128A005F316C /* InputMapper.cpp */; }; + AA40D41009A08D650068C0D5 /* InputQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E01090477128A005F316C /* InputQueue.cpp */; }; + AA40D41109A08D650068C0D5 /* NoteSkinManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E010B0477128A005F316C /* NoteSkinManager.cpp */; }; + AA40D41209A08D650068C0D5 /* PrefsManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E010D0477128A005F316C /* PrefsManager.cpp */; }; + AA40D41309A08D650068C0D5 /* SongManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E010F0477128A005F316C /* SongManager.cpp */; }; + AA40D41409A08D650068C0D5 /* ThemeManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E01120477128A005F316C /* ThemeManager.cpp */; }; + AA40D41509A08D650068C0D5 /* RageSoundDriver_Null.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E012E047712BE005F316C /* RageSoundDriver_Null.cpp */; }; + AA40D41709A08D650068C0D5 /* MovieTexture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E01DB04771F11005F316C /* MovieTexture.cpp */; }; + AA40D41809A08D650068C0D5 /* SongCacheIndex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E01DE04772005005F316C /* SongCacheIndex.cpp */; }; + AA40D41909A08D650068C0D5 /* Song.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E01E20477205A005F316C /* Song.cpp */; }; + AA40D41A09A08D650068C0D5 /* RandomSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E01E6047720A3005F316C /* RandomSample.cpp */; }; + AA40D41C09A08D650068C0D5 /* RageUtil_CharConversions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAC23F7E0485E68D005F316C /* RageUtil_CharConversions.cpp */; }; + AA40D41D09A08D650068C0D5 /* BannerCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AABE35EB04967E25005F316C /* BannerCache.cpp */; }; + AA40D42009A08D650068C0D5 /* ScreenSelectMaster.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA1DC47404A4861700D02EE9 /* ScreenSelectMaster.cpp */; }; + AA40D42109A08D650068C0D5 /* CombinedLifeMeterTug.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAE443EB04B0F9F600D02EE9 /* CombinedLifeMeterTug.cpp */; }; + AA40D42209A08D650068C0D5 /* ScoreKeeperRave.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAE443F304B0FEB700D02EE9 /* ScoreKeeperRave.cpp */; }; + AA40D42709A08D650068C0D5 /* RageUtil_FileDB.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAF580A704B3E2DC00D02EE9 /* RageUtil_FileDB.cpp */; }; + AA40D42909A08D650068C0D5 /* ActorUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAA983CA04B9060A00D02EE9 /* ActorUtil.cpp */; }; + AA40D42A09A08D650068C0D5 /* ArchHooks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA3F283B04BE6DDC00D02EE9 /* ArchHooks.cpp */; }; + AA40D42B09A08D650068C0D5 /* InputHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB3B36B04C38B4600D02EE9 /* InputHandler.cpp */; }; + AA40D42D09A08D650068C0D5 /* MovieTexture_Null.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB3B39004C5921800D02EE9 /* MovieTexture_Null.cpp */; }; + AA40D42E09A08D650068C0D5 /* RageFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA272C3004CD757100D02EE9 /* RageFile.cpp */; }; + AA40D42F09A08D650068C0D5 /* CrashHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA76D15404D9D2D200D02EE9 /* CrashHandler.cpp */; }; + AA40D43009A08D650068C0D5 /* CrashHandlerChild.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA76D15504D9D2D200D02EE9 /* CrashHandlerChild.cpp */; }; + AA40D43109A08D650068C0D5 /* ver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA52E9BD04DBBCF400D02EE9 /* ver.cpp */; }; + AA40D43209A08D650068C0D5 /* Steps.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAF430FD04DC98BC00D02EE9 /* Steps.cpp */; }; + AA40D43309A08D650068C0D5 /* NoteDataUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA4F38C004E2D0B700D02EE9 /* NoteDataUtil.cpp */; }; + AA40D43409A08D650068C0D5 /* BeginnerHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAC28BB904F758E500D02EE9 /* BeginnerHelper.cpp */; }; + AA40D43609A08D650068C0D5 /* MovieTexture_FFMpeg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA14ED0F0509F40000E3FAD7 /* MovieTexture_FFMpeg.cpp */; }; + AA40D43709A08D650068C0D5 /* ProfileManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA1C6556050D234B0073A143 /* ProfileManager.cpp */; }; + AA40D43809A08D650068C0D5 /* RageSoundReader_WAV.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA1C65A6050FD21F0073A143 /* RageSoundReader_WAV.cpp */; }; + AA40D43909A08D650068C0D5 /* RageSoundReader_FileReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFC7FF00513A67700D02EE9 /* RageSoundReader_FileReader.cpp */; }; + AA40D43B09A08D650068C0D5 /* RageSoundReader_Vorbisfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA1C65A4050FD21F0073A143 /* RageSoundReader_Vorbisfile.cpp */; }; + AA40D43D09A08D650068C0D5 /* RageSoundReader_Resample_Good.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAAE28F4052254A900D02EE9 /* RageSoundReader_Resample_Good.cpp */; }; + AA40D43E09A08D650068C0D5 /* ScreenExit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAECF8BF05265DB600D02EE9 /* ScreenExit.cpp */; }; + AA40D43F09A08D650068C0D5 /* ScreenOptionsMaster.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA53D28405277DAF00D02EE9 /* ScreenOptionsMaster.cpp */; }; + AA40D44009A08D650068C0D5 /* ScreenOptionsMasterPrefs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA53D28605277DAF00D02EE9 /* ScreenOptionsMasterPrefs.cpp */; }; + AA40D44109A08D650068C0D5 /* ScreenReloadSongs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA53D28805277DAF00D02EE9 /* ScreenReloadSongs.cpp */; }; + AA40D44209A08D650068C0D5 /* ScreenInstructions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E0033047711F3005F316C /* ScreenInstructions.cpp */; }; + AA40D44309A08D650068C0D5 /* ScreenHowToPlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E002F047711F3005F316C /* ScreenHowToPlay.cpp */; }; + AA40D44409A08D650068C0D5 /* PercentageDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAD620A5052EC78B00D02EE9 /* PercentageDisplay.cpp */; }; + AA40D44509A08D650068C0D5 /* ScoreDisplayPercentage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6DAF0805300B3D00D02EE9 /* ScoreDisplayPercentage.cpp */; }; + AA40D44709A08D650068C0D5 /* ScreenTestInput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAC622FA05389A0500D02EE9 /* ScreenTestInput.cpp */; }; + AA40D44809A08D650068C0D5 /* ScreenBookkeeping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AADBE360053D5F8A00D02EE9 /* ScreenBookkeeping.cpp */; }; + AA40D44909A08D650068C0D5 /* ScreenNameEntryTraditional.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AADBE362053D5F8A00D02EE9 /* ScreenNameEntryTraditional.cpp */; }; + AA40D44A09A08D650068C0D5 /* Bookkeeper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AADBE368053DA38C00D02EE9 /* Bookkeeper.cpp */; }; + AA40D44B09A08D650068C0D5 /* GraphDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFF551D0549F39700D02EE9 /* GraphDisplay.cpp */; }; + AA40D44C09A08D650068C0D5 /* ComboGraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFF55210549F43A00D02EE9 /* ComboGraph.cpp */; }; + AA40D44D09A08D650068C0D5 /* Attack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFF5541054E736D00D02EE9 /* Attack.cpp */; }; + AA40D44E09A08D650068C0D5 /* RageTextureID.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA9EC2F0055F5126007E5098 /* RageTextureID.cpp */; }; + AA40D44F09A08D650068C0D5 /* LightsManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAC6DCE30567660A00B5D56F /* LightsManager.cpp */; }; + AA40D45009A08D650068C0D5 /* PaneDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAC6DDDE0569C71000B5D56F /* PaneDisplay.cpp */; }; + AA40D45109A08D650068C0D5 /* DifficultyList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAC6DDE60569C80900B5D56F /* DifficultyList.cpp */; }; + AA40D45209A08D650068C0D5 /* LightsDriver_SystemMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB691F205704FA50078BED4 /* LightsDriver_SystemMessage.cpp */; }; + AA40D45309A08D650068C0D5 /* AttackDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB005F00579B8CB000BBA58 /* AttackDisplay.cpp */; }; + AA40D45409A08D650068C0D5 /* RageFileDriver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB0085B057F4F7A000BBA58 /* RageFileDriver.cpp */; }; + AA40D45509A08D650068C0D5 /* RageFileDriverDirect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB0085D057F4F7A000BBA58 /* RageFileDriverDirect.cpp */; }; + AA40D45609A08D650068C0D5 /* RageFileManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB0085F057F4F7A000BBA58 /* RageFileManager.cpp */; }; + AA40D45709A08D650068C0D5 /* RageFileDriverZip.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA251B7505841FCE00027ACB /* RageFileDriverZip.cpp */; }; + AA40D45809A08D650068C0D5 /* MemoryCardManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA28B47A058F2F5D0097C109 /* MemoryCardManager.cpp */; }; + AA40D45909A08D650068C0D5 /* DualScrollBar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AABE788C05912B0600E8BF50 /* DualScrollBar.cpp */; }; + AA40D45A09A08D650068C0D5 /* TimingData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA729C420599B50D00779F33 /* TimingData.cpp */; }; + AA40D45B09A08D650068C0D5 /* MemoryCardDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA729C460599B54D00779F33 /* MemoryCardDisplay.cpp */; }; + AA40D45C09A08D650068C0D5 /* ReceptorArrow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA729C4E0599B58D00779F33 /* ReceptorArrow.cpp */; }; + AA40D45D09A08D650068C0D5 /* ReceptorArrowRow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA729C500599B58D00779F33 /* ReceptorArrowRow.cpp */; }; + AA40D45E09A08D650068C0D5 /* ScreenEnding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AABE321A05ACD8ED001A0E84 /* ScreenEnding.cpp */; }; + AA40D45F09A08D650068C0D5 /* Foreground.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AABE321E05ACD931001A0E84 /* Foreground.cpp */; }; + AA40D46009A08D650068C0D5 /* RageFileDriverDirectHelpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AABE322205ACDA52001A0E84 /* RageFileDriverDirectHelpers.cpp */; }; + AA40D46109A08D650068C0D5 /* ModelManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAF4206505D63FA700056441 /* ModelManager.cpp */; }; + AA40D46209A08D650068C0D5 /* RageModelGeometry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAF4206905D6400800056441 /* RageModelGeometry.cpp */; }; + AA40D46309A08D650068C0D5 /* Profile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA50201D05D6D7B200ACEFD0 /* Profile.cpp */; }; + AA40D46409A08D650068C0D5 /* HighScore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AABBD80605D8E9FC00B44FC2 /* HighScore.cpp */; }; + AA40D46509A08D650068C0D5 /* CryptManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AABD0B3605DF3F22004F7929 /* CryptManager.cpp */; settings = {COMPILER_FLAGS = "-O0 -Wno-uninitialized"; }; }; + AA40D46609A08D650068C0D5 /* global.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAA71EA005EE154E00D2E8FF /* global.cpp */; }; + AA40D46709A08D650068C0D5 /* Backtrace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAED6F280601C528002D2DEE /* Backtrace.cpp */; }; + AA40D46809A08D650068C0D5 /* BacktraceNames.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAED6F2A0601C528002D2DEE /* BacktraceNames.cpp */; }; + AA40D46909A08D650068C0D5 /* ScreenSetTime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA0A3DE6060513A00044E6B1 /* ScreenSetTime.cpp */; }; + AA40D46A09A08D650068C0D5 /* NetworkSyncManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAE78049060814AC0034E65F /* NetworkSyncManager.cpp */; }; + AA40D46C09A08D650068C0D5 /* ActiveAttackList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAE7812B0608249E0034E65F /* ActiveAttackList.cpp */; }; + AA40D46D09A08D650068C0D5 /* RageSoundDriver_Generic_Software.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA1CD941060AE571003702C4 /* RageSoundDriver_Generic_Software.cpp */; }; + AA40D46E09A08D650068C0D5 /* ScreenTestLights.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAF7435906110E8D00B19AD1 /* ScreenTestLights.cpp */; }; + AA40D46F09A08D650068C0D5 /* RageDisplay_Null.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAF7458E061181F700B19AD1 /* RageDisplay_Null.cpp */; }; + AA40D47409A08D650068C0D5 /* RageSoundPosMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAD36082062BB8AE00D0CED8 /* RageSoundPosMap.cpp */; }; + AA40D47509A08D650068C0D5 /* SignalHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AADB4E8B04D50FB900D02EE9 /* SignalHandler.cpp */; }; + AA40D47609A08D650068C0D5 /* CourseUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA5C73F70637A5F000AFB891 /* CourseUtil.cpp */; }; + AA40D47709A08D650068C0D5 /* SongUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA5C73F90637A5F000AFB891 /* SongUtil.cpp */; }; + AA40D47809A08D650068C0D5 /* StepsUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA5C73FB0637A5F000AFB891 /* StepsUtil.cpp */; }; + AA40D47909A08D650068C0D5 /* ScreenWithMenuElements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAA6BFEA0644AB3700AFBBC8 /* ScreenWithMenuElements.cpp */; }; + AA40D49009A08D650068C0D5 /* RageSurface_Load_GIF.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AABBF66C0659E78D00738526 /* RageSurface_Load_GIF.cpp */; }; + AA40D49109A08D650068C0D5 /* RageSurface_Load_JPEG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AABBF66E0659E78D00738526 /* RageSurface_Load_JPEG.cpp */; }; + AA40D49209A08D650068C0D5 /* RageSurface_Load_PNG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AABBF6700659E78D00738526 /* RageSurface_Load_PNG.cpp */; }; + AA40D49309A08D650068C0D5 /* RageSurface_Load_XPM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AABBF6720659E78D00738526 /* RageSurface_Load_XPM.cpp */; }; + AA40D49409A08D650068C0D5 /* RageSurface_Load.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AABBF6740659E78D00738526 /* RageSurface_Load.cpp */; }; + AA40D49609A08D650068C0D5 /* Difficulty.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAD6A712065E0FDF0042165A /* Difficulty.cpp */; }; + AA40D49709A08D650068C0D5 /* Trail.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA70E3650663112800DAE1FD /* Trail.cpp */; }; + AA40D49809A08D650068C0D5 /* TrailUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA70E3670663112800DAE1FD /* TrailUtil.cpp */; }; + AA40D49909A08D650068C0D5 /* ScreenNetworkOptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA42F5E6067068D30013509E /* ScreenNetworkOptions.cpp */; }; + AA40D49A09A08D650068C0D5 /* Dialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAD675EF06795175006002B0 /* Dialog.cpp */; }; + AA40D49C09A08D650068C0D5 /* Threads_Pthreads.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA60E0BD067992D7008ADC41 /* Threads_Pthreads.cpp */; }; + AA40D49D09A08D650068C0D5 /* RageSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA915879067D2C2C00078E36 /* RageSurface.cpp */; }; + AA40D49E09A08D650068C0D5 /* RageSurface_Load_BMP.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA90919F067ED43000C1FCFF /* RageSurface_Load_BMP.cpp */; }; + AA40D49F09A08D650068C0D5 /* RageSurface_Save_BMP.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA9091A3067ED46400C1FCFF /* RageSurface_Save_BMP.cpp */; }; + AA40D4A009A08D650068C0D5 /* Style.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA139C4606923EBE00C1F6ED /* Style.cpp */; }; + AA40D4A109A08D650068C0D5 /* GameSoundManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAC9F32E069E22BB00D53E2C /* GameSoundManager.cpp */; }; + AA40D4A209A08D650068C0D5 /* MemoryCardDriver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAC9F332069E22CF00D53E2C /* MemoryCardDriver.cpp */; }; + AA40D4A309A08D650068C0D5 /* RadarValues.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA3D78FF06A275E90064B980 /* RadarValues.cpp */; }; + AA40D4A409A08D650068C0D5 /* DateTime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA3D793106A279530064B980 /* DateTime.cpp */; }; + AA40D4A509A08D650068C0D5 /* StyleUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA3A706006AA1645006F755E /* StyleUtil.cpp */; }; + AA40D4A609A08D650068C0D5 /* Game.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA9A78A906B5C72200B03E97 /* Game.cpp */; }; + AA40D4A709A08D650068C0D5 /* ScreenNetSelectMusic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA22CBA306DE909C0083BA97 /* ScreenNetSelectMusic.cpp */; }; + AA40D4A909A08D650068C0D5 /* RageSurfaceUtils_Palettize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB9C8AB06EAF64400AD97CD /* RageSurfaceUtils_Palettize.cpp */; }; + AA40D4AA09A08D650068C0D5 /* RageSurfaceUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB9C8AD06EAF64400AD97CD /* RageSurfaceUtils.cpp */; }; + AA40D4AB09A08D650068C0D5 /* ScreenNetEvaluation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB9C8B306EAF66C00AD97CD /* ScreenNetEvaluation.cpp */; }; + AA40D4AC09A08D650068C0D5 /* RageFileDriverMemory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA64218606EC606F00C21584 /* RageFileDriverMemory.cpp */; }; + AA40D4AD09A08D650068C0D5 /* DarwinThreadHelpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8A3E6306EDCD11002F25AB /* DarwinThreadHelpers.cpp */; }; + AA40D4AE09A08D650068C0D5 /* RageUtil_BackgroundLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8A404F06EEFF72002F25AB /* RageUtil_BackgroundLoader.cpp */; }; + AA40D4AF09A08D650068C0D5 /* ScreenDimensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA21D59C0712ADE4008B825F /* ScreenDimensions.cpp */; }; + AA40D4B009A08D650068C0D5 /* InputHandler_MonkeyKeyboard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFC6CEF072A30440053AAD3 /* InputHandler_MonkeyKeyboard.cpp */; }; + AA40D4B109A08D650068C0D5 /* AutoKeysounds.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAAB2CDD072BD2EC00CD9FC9 /* AutoKeysounds.cpp */; }; + AA40D4B209A08D650068C0D5 /* RageSoundMixBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAAB2CE1072BD2FA00CD9FC9 /* RageSoundMixBuffer.cpp */; }; + AA40D4B309A08D650068C0D5 /* RageSoundReader_Chain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA7ADC23072CAB7F00C50A7F /* RageSoundReader_Chain.cpp */; }; + AA40D4B409A08D650068C0D5 /* RageSoundUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA7ADC25072CAB7F00C50A7F /* RageSoundUtil.cpp */; }; + AA40D4B509A08D650068C0D5 /* ScreenNetRoom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAF793F1074FE69E00D74516 /* ScreenNetRoom.cpp */; }; + AA40D4B609A08D650068C0D5 /* ScreenNetSelectBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAF793F3074FE69E00D74516 /* ScreenNetSelectBase.cpp */; }; + AA40D4B709A08D650068C0D5 /* ScreenPackages.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA1145D9075DFADF0050A3D1 /* ScreenPackages.cpp */; }; + AA40D4B809A08D650068C0D5 /* ScreenSystemLayer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA1145DB075DFADF0050A3D1 /* ScreenSystemLayer.cpp */; }; + AA40D4B909A08D650068C0D5 /* Command.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA1B08370762532800835464 /* Command.cpp */; }; + AA40D4BA09A08D650068C0D5 /* GameCommand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA1B08390762532800835464 /* GameCommand.cpp */; }; + AA40D4BB09A08D650068C0D5 /* Preference.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA1B083B0762532800835464 /* Preference.cpp */; }; + AA40D4BC09A08D650068C0D5 /* RageFileBasic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA0E04CE076C4CD500716D81 /* RageFileBasic.cpp */; }; + AA40D4BD09A08D650068C0D5 /* RageFileDriverDeflate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA0E04D0076C4CD500716D81 /* RageFileDriverDeflate.cpp */; }; + AA40D4BE09A08D650068C0D5 /* RageFileDriverSlice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA0E04D2076C4CD500716D81 /* RageFileDriverSlice.cpp */; }; + AA40D4BF09A08D650068C0D5 /* RageSurface_Save_JPEG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAEBC6C607A20AFE00793F0E /* RageSurface_Save_JPEG.cpp */; }; + AA40D4C009A08D650068C0D5 /* RageSurfaceUtils_Dither.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAEBC6C807A20AFE00793F0E /* RageSurfaceUtils_Dither.cpp */; }; + AA40D4C109A08D650068C0D5 /* RageSurfaceUtils_Zoom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAEBC6CA07A20AFE00793F0E /* RageSurfaceUtils_Zoom.cpp */; }; + AA40D4C209A08D650068C0D5 /* LuaManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAEBC78D07A4FF5600793F0E /* LuaManager.cpp */; }; + AA40D4C609A08D650068C0D5 /* RageFileDriverTimeout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AACA592A07B5E23400763545 /* RageFileDriverTimeout.cpp */; }; + AA40D4C709A08D650068C0D5 /* RageUtil_WorkerThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AACA592D07B5E23400763545 /* RageUtil_WorkerThread.cpp */; }; + AA40D4C809A08D650068C0D5 /* LuaReference.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8BD2A107C9391B00EA04E1 /* LuaReference.cpp */; }; + AA40D4C909A08D650068C0D5 /* MessageManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8BD2A307C9391B00EA04E1 /* MessageManager.cpp */; }; + AA40D4CA09A08D650068C0D5 /* StatsManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8BD2A507C9391B00EA04E1 /* StatsManager.cpp */; }; + AA40D4CB09A08D650068C0D5 /* AutoActor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8BD2AF07C9395400EA04E1 /* AutoActor.cpp */; }; + AA40D4CC09A08D650068C0D5 /* OptionRow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8BD2B407C939A200EA04E1 /* OptionRow.cpp */; }; + AA40D4CD09A08D650068C0D5 /* PlayerStageStats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8BD2B807C939F800EA04E1 /* PlayerStageStats.cpp */; }; + AA40D4CE09A08D650068C0D5 /* PlayerState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8BD2BA07C939F800EA04E1 /* PlayerState.cpp */; }; + AA40D4CF09A08D650068C0D5 /* RollingNumbers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8BD2BB07C939F800EA04E1 /* RollingNumbers.cpp */; }; + AA40D4D009A08D650068C0D5 /* ScoreDisplayCalories.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8BD2BD07C939F800EA04E1 /* ScoreDisplayCalories.cpp */; }; + AA40D4D109A08D650068C0D5 /* CommonMetrics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8BD2C607C93A1E00EA04E1 /* CommonMetrics.cpp */; }; + AA40D4D209A08D650068C0D5 /* UnlockManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA80C75207F20D0D00C99272 /* UnlockManager.cpp */; }; + AA40D4D309A08D650068C0D5 /* OptionRowHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA80C75707F20D6600C99272 /* OptionRowHandler.cpp */; }; + AA40D4D409A08D650068C0D5 /* ScreenMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA80C75B07F20D7F00C99272 /* ScreenMessage.cpp */; }; + AA40D4D509A08D650068C0D5 /* Quad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E6E0907F518E800C3EBB4 /* Quad.cpp */; }; + AA40D4D609A08D650068C0D5 /* ScoreDisplayAliveTime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA7144AF0809EEEC00545684 /* ScoreDisplayAliveTime.cpp */; }; + AA40D4D709A08D650068C0D5 /* ScoreDisplayLifeTime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA3D5E5C08214C77002AA665 /* ScoreDisplayLifeTime.cpp */; }; + AA40D4D809A08D650068C0D5 /* StreamDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA3D5E8F082152B6002AA665 /* StreamDisplay.cpp */; }; + AA40D4D909A08D650068C0D5 /* LifeMeterTime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA3D5E5A08214C77002AA665 /* LifeMeterTime.cpp */; }; + AA40D4DA09A08D650068C0D5 /* WheelBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAAFE81C0835E7FF00FC43E0 /* WheelBase.cpp */; }; + AA40D4DB09A08D650068C0D5 /* WheelItemBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAAFE81E0835E7FF00FC43E0 /* WheelItemBase.cpp */; }; + AA40D4DD09A08D650068C0D5 /* ScreenDebugOverlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA07A5550843E72B00E33D21 /* ScreenDebugOverlay.cpp */; }; + AA40D4DF09A08D650068C0D5 /* ScreenSaveSync.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA07A5590843E72B00E33D21 /* ScreenSaveSync.cpp */; }; + AA40D4E109A08D650068C0D5 /* ScreenSyncOverlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA07A55D0843E72B00E33D21 /* ScreenSyncOverlay.cpp */; }; + AA40D4E209A08D650068C0D5 /* BackgroundUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA7DA2EF085760E90057F1EA /* BackgroundUtil.cpp */; }; + AA40D4E309A08D650068C0D5 /* ScreenSplash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB6B475085761B700CEE7BA /* ScreenSplash.cpp */; }; + AA40D4E409A08D650068C0D5 /* LuaBinding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8EE0750866E266002C51A7 /* LuaBinding.cpp */; }; + AA40D4E509A08D650068C0D5 /* RageTexturePreloader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA91ACAF0878BB2C00FB2F8F /* RageTexturePreloader.cpp */; }; + AA40D4E609A08D650068C0D5 /* ScreenOptionsEditProfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFAB5BB0889098600767BF7 /* ScreenOptionsEditProfile.cpp */; }; + AA40D4E709A08D650068C0D5 /* GameLoop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFAB5CB08890B5200767BF7 /* GameLoop.cpp */; }; + AA40D4E809A08D650068C0D5 /* CharacterManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA77E74508B64B1400FA24CA /* CharacterManager.cpp */; }; + AA40D4E909A08D650068C0D5 /* CourseLoaderCRS.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA77E74B08B64B5600FA24CA /* CourseLoaderCRS.cpp */; }; + AA40D4EA09A08D650068C0D5 /* CourseWriterCRS.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA77E74D08B64B5600FA24CA /* CourseWriterCRS.cpp */; }; + AA40D4EE09A08D650068C0D5 /* ScreenOptionsManageCourses.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA77E75B08B64B9A00FA24CA /* ScreenOptionsManageCourses.cpp */; }; + AA40D4EF09A08D650068C0D5 /* ScreenOptionsManageProfiles.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA77E75D08B64B9A00FA24CA /* ScreenOptionsManageProfiles.cpp */; }; + AA40D4F109A08D650068C0D5 /* ScreenGameplayNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1215D7A008C6559A00B87D8B /* ScreenGameplayNormal.cpp */; }; + AA40D4F209A08D650068C0D5 /* ActorSound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AACFBE2608E7D793005087FC /* ActorSound.cpp */; }; + AA40D4F409A08D650068C0D5 /* ScreenGameplayLesson.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AACFBE4908E7D893005087FC /* ScreenGameplayLesson.cpp */; }; + AA40D4F709A08D650068C0D5 /* LuaExpressionTransform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AACFBE6108E7DBA8005087FC /* LuaExpressionTransform.cpp */; }; + AA40D4F809A08D650068C0D5 /* DynamicActorScroller.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAF3442908F1C36A0006EDB7 /* DynamicActorScroller.cpp */; }; + AA40D4F909A08D650068C0D5 /* ScoreKeeperNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAF34ADC0900AEBD0006EDB7 /* ScoreKeeperNormal.cpp */; }; + AA40D4FA09A08D650068C0D5 /* ScreenStatsOverlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAF34AEB0900B00C0006EDB7 /* ScreenStatsOverlay.cpp */; }; + AA40D4FC09A08D650068C0D5 /* MovieTexture_Generic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAA372D00909934500141131 /* MovieTexture_Generic.cpp */; }; + AA40D4FD09A08D650068C0D5 /* MovieTexture_Theora.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAA372D20909934500141131 /* MovieTexture_Theora.cpp */; }; + AA40D4FF09A08D650068C0D5 /* LifeMeter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA2FB638091212AF000FD574 /* LifeMeter.cpp */; }; + AA40D50109A08D650068C0D5 /* SpecialFiles.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFBEECF094D7FCB000029DE /* SpecialFiles.cpp */; }; + AA40D50209A08D650068C0D5 /* ScreenOptionsManageEditSteps.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFBEEE5094D807E000029DE /* ScreenOptionsManageEditSteps.cpp */; }; + AA40D50309A08D650068C0D5 /* ScreenOptionsMemoryCard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFBEEE7094D807E000029DE /* ScreenOptionsMemoryCard.cpp */; }; + AA40D50409A08D650068C0D5 /* ScreenServiceAction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFBEEE9094D807E000029DE /* ScreenServiceAction.cpp */; }; + AA40D50609A08D650068C0D5 /* XmlFileUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA07328C0954381800F396C5 /* XmlFileUtil.cpp */; }; + AA40D50709A08D650068C0D5 /* XmlFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAC6889905D7F3C800964E6D /* XmlFile.cpp */; }; + AA40D50809A08D650068C0D5 /* LocalizedString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AADD1CC2095C233E0088C9DF /* LocalizedString.cpp */; }; + AA40D50D09A08D650068C0D5 /* SMMain.mm in Sources */ = {isa = PBXBuildFile; fileRef = AABBFCD209838C3A00F077E2 /* SMMain.mm */; }; + AA40D50E09A08D650068C0D5 /* HIDDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA44705309846B0800983E82 /* HIDDevice.cpp */; }; + AA40D50F09A08D650068C0D5 /* JoystickDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA44708D0984720900983E82 /* JoystickDevice.cpp */; }; + AA40D51009A08D650068C0D5 /* KeyboardDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA4470BB098476F600983E82 /* KeyboardDevice.cpp */; }; + AA40D51109A08D650068C0D5 /* Tween.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAC0C8C00984AE3B0075FC53 /* Tween.cpp */; }; + AA40D51209A08D650068C0D5 /* ScreenUnlockStatus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA658779098C322800CE55CC /* ScreenUnlockStatus.cpp */; }; + AA40D51309A08D650068C0D5 /* AdjustSync.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA84B7050996F8370085EECB /* AdjustSync.cpp */; }; + AA40D51509A08D650068C0D5 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; }; + AA40D51609A08D650068C0D5 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AAA0F7CE047AC7BF005F316C /* Carbon.framework */; }; + AA40D51709A08D650068C0D5 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AAA0F7D0047AC7EA005F316C /* IOKit.framework */; }; + AA40D51809A08D650068C0D5 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AAA0F7D2047ACBC9005F316C /* QuickTime.framework */; }; + AA40D51909A08D650068C0D5 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AA8DD84904A2E51400D02EE9 /* OpenGL.framework */; }; + AA40D51A09A08D650068C0D5 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AAF33F2A04FF213100F93C24 /* CoreFoundation.framework */; }; + AA40D51C09A08D650068C0D5 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AA230EAE06043704002672F3 /* AudioToolbox.framework */; }; + AA40D51D09A08D650068C0D5 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AA230EAF06043704002672F3 /* AudioUnit.framework */; }; + AA40D51E09A08D650068C0D5 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AAA8E0020696984300FCE1F9 /* CoreAudio.framework */; }; + AA40D51F09A08D650068C0D5 /* vecLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AA77E8A108B6ABD500FA24CA /* vecLib.framework */; }; + AA42F5E8067068D30013509E /* ScreenNetworkOptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA42F5E6067068D30013509E /* ScreenNetworkOptions.cpp */; }; + AA44705509846B0800983E82 /* HIDDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA44705309846B0800983E82 /* HIDDevice.cpp */; }; + AA44708F0984720900983E82 /* JoystickDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA44708D0984720900983E82 /* JoystickDevice.cpp */; }; + AA4470BD098476F600983E82 /* KeyboardDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA4470BB098476F600983E82 /* KeyboardDevice.cpp */; }; + AA4F27B20B2C01B400ADEA79 /* RageSoundReader_ChannelSplit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA4F27AE0B2C01B400ADEA79 /* RageSoundReader_ChannelSplit.cpp */; }; + AA4F27B40B2C01B400ADEA79 /* RageSoundReader_Pan.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA4F27B00B2C01B400ADEA79 /* RageSoundReader_Pan.cpp */; }; + AA4F27B60B2C01B400ADEA79 /* RageSoundReader_ChannelSplit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA4F27AE0B2C01B400ADEA79 /* RageSoundReader_ChannelSplit.cpp */; }; + AA4F27B70B2C01B400ADEA79 /* RageSoundReader_ChannelSplit.h in Headers */ = {isa = PBXBuildFile; fileRef = AA4F27AF0B2C01B400ADEA79 /* RageSoundReader_ChannelSplit.h */; }; + AA4F27B80B2C01B400ADEA79 /* RageSoundReader_Pan.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA4F27B00B2C01B400ADEA79 /* RageSoundReader_Pan.cpp */; }; + AA4F27B90B2C01B400ADEA79 /* RageSoundReader_Pan.h in Headers */ = {isa = PBXBuildFile; fileRef = AA4F27B10B2C01B400ADEA79 /* RageSoundReader_Pan.h */; }; + AA50201F05D6D7B200ACEFD0 /* Profile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA50201D05D6D7B200ACEFD0 /* Profile.cpp */; }; + AA5A51F40A8441AA006DBB92 /* ModsGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = AA5A51F20A8441AA006DBB92 /* ModsGroup.h */; }; + AA5C73FD0637A5F100AFB891 /* CourseUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA5C73F70637A5F000AFB891 /* CourseUtil.cpp */; }; + AA5C73FF0637A5F100AFB891 /* SongUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA5C73F90637A5F000AFB891 /* SongUtil.cpp */; }; + AA5C74010637A5F100AFB891 /* StepsUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA5C73FB0637A5F000AFB891 /* StepsUtil.cpp */; }; + AA5D16570A79805C00F17E86 /* RageTextureRenderTarget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA5D16550A79805C00F17E86 /* RageTextureRenderTarget.cpp */; }; + AA5D16590A79805C00F17E86 /* RageTextureRenderTarget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA5D16550A79805C00F17E86 /* RageTextureRenderTarget.cpp */; }; + AA5D165A0A79805C00F17E86 /* RageTextureRenderTarget.h in Headers */ = {isa = PBXBuildFile; fileRef = AA5D16560A79805C00F17E86 /* RageTextureRenderTarget.h */; }; + AA5D166C0A798C0E00F17E86 /* ActorFrameTexture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA5D166A0A798C0E00F17E86 /* ActorFrameTexture.cpp */; }; + AA5D166E0A798C0E00F17E86 /* ActorFrameTexture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA5D166A0A798C0E00F17E86 /* ActorFrameTexture.cpp */; }; + AA5D166F0A798C0E00F17E86 /* ActorFrameTexture.h in Headers */ = {isa = PBXBuildFile; fileRef = AA5D166B0A798C0E00F17E86 /* ActorFrameTexture.h */; }; + AA608EC00B0F85E400B39AC4 /* DialogDriver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA608EBF0B0F85E400B39AC4 /* DialogDriver.cpp */; }; + AA608EC10B0F85E400B39AC4 /* DialogDriver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA608EBF0B0F85E400B39AC4 /* DialogDriver.cpp */; }; + AA608FAD0B0F9A4E00B39AC4 /* RageSoundDriver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA608FAC0B0F9A4E00B39AC4 /* RageSoundDriver.cpp */; }; + AA608FAE0B0F9A4E00B39AC4 /* RageSoundDriver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA608FAC0B0F9A4E00B39AC4 /* RageSoundDriver.cpp */; }; + AA6090E60B141D1C00B39AC4 /* GamePreferences.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6090E40B141D1C00B39AC4 /* GamePreferences.cpp */; }; + AA6090E80B141D1C00B39AC4 /* GamePreferences.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6090E40B141D1C00B39AC4 /* GamePreferences.cpp */; }; + AA6090E90B141D1C00B39AC4 /* GamePreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6090E50B141D1C00B39AC4 /* GamePreferences.h */; }; + AA60E0C2067992D7008ADC41 /* Threads_Pthreads.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA60E0BD067992D7008ADC41 /* Threads_Pthreads.cpp */; }; + AA64218806EC606F00C21584 /* RageFileDriverMemory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA64218606EC606F00C21584 /* RageFileDriverMemory.cpp */; }; + AA65877B098C322800CE55CC /* ScreenUnlockStatus.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA658779098C322800CE55CC /* ScreenUnlockStatus.cpp */; }; + AA6999610ACE1CBB000237F9 /* ControllerStateDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA69995F0ACE1CBB000237F9 /* ControllerStateDisplay.cpp */; }; + AA6999620ACE1CBB000237F9 /* ControllerStateDisplay.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6999600ACE1CBB000237F9 /* ControllerStateDisplay.h */; }; + AA6999630ACE1CBB000237F9 /* ControllerStateDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA69995F0ACE1CBB000237F9 /* ControllerStateDisplay.cpp */; }; + AA6C6AD80DC6B17B00E7A13E /* ArchHooks_MacOSX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6C6AD60DC6B17B00E7A13E /* ArchHooks_MacOSX.cpp */; }; + AA6C6ADA0DC6B17B00E7A13E /* ArchHooks_MacOSX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6C6AD60DC6B17B00E7A13E /* ArchHooks_MacOSX.cpp */; }; + AA6C6ADB0DC6B17B00E7A13E /* ArchHooks_MacOSX.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6C6AD70DC6B17B00E7A13E /* ArchHooks_MacOSX.h */; }; + AA6C6ADE0DC6B1DC00E7A13E /* DialogDriver_MacOSX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6C6ADC0DC6B1DC00E7A13E /* DialogDriver_MacOSX.cpp */; }; + AA6C6AE00DC6B1DC00E7A13E /* DialogDriver_MacOSX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6C6ADC0DC6B1DC00E7A13E /* DialogDriver_MacOSX.cpp */; }; + AA6C6AE10DC6B1DC00E7A13E /* DialogDriver_MacOSX.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6C6ADD0DC6B1DC00E7A13E /* DialogDriver_MacOSX.h */; }; + AA6C6AE50DC6B22800E7A13E /* LoadingWindow_MacOSX.mm in Sources */ = {isa = PBXBuildFile; fileRef = AA6C6AE30DC6B22800E7A13E /* LoadingWindow_MacOSX.mm */; }; + AA6C6AE60DC6B22800E7A13E /* LoadingWindow_MacOSX.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6C6AE20DC6B22800E7A13E /* LoadingWindow_MacOSX.h */; }; + AA6C6AE70DC6B22800E7A13E /* LoadingWindow_MacOSX.mm in Sources */ = {isa = PBXBuildFile; fileRef = AA6C6AE30DC6B22800E7A13E /* LoadingWindow_MacOSX.mm */; }; + AA6C6B030DC6B2B400E7A13E /* LowLevelWindow_MacOSX.mm in Sources */ = {isa = PBXBuildFile; fileRef = AA6C6B010DC6B2B400E7A13E /* LowLevelWindow_MacOSX.mm */; }; + AA6C6B040DC6B2B400E7A13E /* LowLevelWindow_MacOSX.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6C6B000DC6B2B400E7A13E /* LowLevelWindow_MacOSX.h */; }; + AA6C6B050DC6B2B400E7A13E /* LowLevelWindow_MacOSX.mm in Sources */ = {isa = PBXBuildFile; fileRef = AA6C6B010DC6B2B400E7A13E /* LowLevelWindow_MacOSX.mm */; }; + AA6C6B080DC6B30E00E7A13E /* MemoryCardDriverThreaded_MacOSX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6C6B060DC6B30E00E7A13E /* MemoryCardDriverThreaded_MacOSX.cpp */; }; + AA6C6B0A0DC6B30E00E7A13E /* MemoryCardDriverThreaded_MacOSX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6C6B060DC6B30E00E7A13E /* MemoryCardDriverThreaded_MacOSX.cpp */; }; + AA6C6B0B0DC6B30E00E7A13E /* MemoryCardDriverThreaded_MacOSX.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6C6B070DC6B30E00E7A13E /* MemoryCardDriverThreaded_MacOSX.h */; }; + AA6C6B0E0DC6B48C00E7A13E /* InputHandler_MacOSX_HID.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6C6B0C0DC6B48C00E7A13E /* InputHandler_MacOSX_HID.cpp */; }; + AA6C6B100DC6B48C00E7A13E /* InputHandler_MacOSX_HID.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6C6B0C0DC6B48C00E7A13E /* InputHandler_MacOSX_HID.cpp */; }; + AA6C6B110DC6B48C00E7A13E /* InputHandler_MacOSX_HID.h in Headers */ = {isa = PBXBuildFile; fileRef = AA6C6B0D0DC6B48C00E7A13E /* InputHandler_MacOSX_HID.h */; }; + AA6E6E0A07F518E800C3EBB4 /* Quad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA6E6E0907F518E800C3EBB4 /* Quad.cpp */; }; + AA70E36A0663112800DAE1FD /* Trail.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA70E3650663112800DAE1FD /* Trail.cpp */; }; + AA70E36C0663112800DAE1FD /* TrailUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA70E3670663112800DAE1FD /* TrailUtil.cpp */; }; + AA7144B10809EEEC00545684 /* ScoreDisplayAliveTime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA7144AF0809EEEC00545684 /* ScoreDisplayAliveTime.cpp */; }; + AA729C440599B50D00779F33 /* TimingData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA729C420599B50D00779F33 /* TimingData.cpp */; }; + AA729C480599B54D00779F33 /* MemoryCardDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA729C460599B54D00779F33 /* MemoryCardDisplay.cpp */; }; + AA729C520599B58D00779F33 /* ReceptorArrow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA729C4E0599B58D00779F33 /* ReceptorArrow.cpp */; }; + AA729C540599B58D00779F33 /* ReceptorArrowRow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA729C500599B58D00779F33 /* ReceptorArrowRow.cpp */; }; + AA77E74708B64B1400FA24CA /* CharacterManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA77E74508B64B1400FA24CA /* CharacterManager.cpp */; }; + AA77E74F08B64B5600FA24CA /* CourseLoaderCRS.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA77E74B08B64B5600FA24CA /* CourseLoaderCRS.cpp */; }; + AA77E75108B64B5600FA24CA /* CourseWriterCRS.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA77E74D08B64B5600FA24CA /* CourseWriterCRS.cpp */; }; + AA77E76508B64B9A00FA24CA /* ScreenOptionsManageCourses.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA77E75B08B64B9A00FA24CA /* ScreenOptionsManageCourses.cpp */; }; + AA77E76708B64B9A00FA24CA /* ScreenOptionsManageProfiles.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA77E75D08B64B9A00FA24CA /* ScreenOptionsManageProfiles.cpp */; }; + AA77E8B108B6ABD500FA24CA /* vecLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AA77E8A108B6ABD500FA24CA /* vecLib.framework */; }; + AA7A2BAF0AE09CEC0054C5BA /* liblua-5.1-sm5.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AAE7817E0AC7E37B00AEFC64 /* liblua-5.1-sm5.a */; }; + AA7A2BB00AE09CF10054C5BA /* liblua-5.1-sm5.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AAE7817E0AC7E37B00AEFC64 /* liblua-5.1-sm5.a */; }; + AA7ADC27072CAB7F00C50A7F /* RageSoundReader_Chain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA7ADC23072CAB7F00C50A7F /* RageSoundReader_Chain.cpp */; }; + AA7ADC29072CAB7F00C50A7F /* RageSoundUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA7ADC25072CAB7F00C50A7F /* RageSoundUtil.cpp */; }; + AA7C8AFC0B6744F700FD9940 /* bn_error.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A800B6744F600FD9940 /* bn_error.c */; }; + AA7C8AFD0B6744F700FD9940 /* bn_fast_mp_invmod.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A810B6744F600FD9940 /* bn_fast_mp_invmod.c */; }; + AA7C8AFE0B6744F700FD9940 /* bn_fast_mp_montgomery_reduce.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A820B6744F600FD9940 /* bn_fast_mp_montgomery_reduce.c */; }; + AA7C8AFF0B6744F700FD9940 /* bn_fast_s_mp_mul_digs.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A830B6744F600FD9940 /* bn_fast_s_mp_mul_digs.c */; }; + AA7C8B000B6744F700FD9940 /* bn_fast_s_mp_mul_high_digs.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A840B6744F600FD9940 /* bn_fast_s_mp_mul_high_digs.c */; }; + AA7C8B010B6744F700FD9940 /* bn_fast_s_mp_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A850B6744F600FD9940 /* bn_fast_s_mp_sqr.c */; }; + AA7C8B020B6744F700FD9940 /* bn_mp_2expt.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A860B6744F600FD9940 /* bn_mp_2expt.c */; }; + AA7C8B030B6744F700FD9940 /* bn_mp_abs.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A870B6744F600FD9940 /* bn_mp_abs.c */; }; + AA7C8B040B6744F700FD9940 /* bn_mp_add.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A880B6744F600FD9940 /* bn_mp_add.c */; }; + AA7C8B050B6744F700FD9940 /* bn_mp_add_d.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A890B6744F600FD9940 /* bn_mp_add_d.c */; }; + AA7C8B060B6744F700FD9940 /* bn_mp_addmod.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A8A0B6744F600FD9940 /* bn_mp_addmod.c */; }; + AA7C8B070B6744F700FD9940 /* bn_mp_and.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A8B0B6744F600FD9940 /* bn_mp_and.c */; }; + AA7C8B080B6744F700FD9940 /* bn_mp_clamp.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A8C0B6744F600FD9940 /* bn_mp_clamp.c */; }; + AA7C8B090B6744F700FD9940 /* bn_mp_clear.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A8D0B6744F600FD9940 /* bn_mp_clear.c */; }; + AA7C8B0A0B6744F700FD9940 /* bn_mp_clear_multi.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A8E0B6744F600FD9940 /* bn_mp_clear_multi.c */; }; + AA7C8B0B0B6744F700FD9940 /* bn_mp_cmp.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A8F0B6744F600FD9940 /* bn_mp_cmp.c */; }; + AA7C8B0C0B6744F700FD9940 /* bn_mp_cmp_d.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A900B6744F600FD9940 /* bn_mp_cmp_d.c */; }; + AA7C8B0D0B6744F700FD9940 /* bn_mp_cmp_mag.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A910B6744F600FD9940 /* bn_mp_cmp_mag.c */; }; + AA7C8B0E0B6744F700FD9940 /* bn_mp_cnt_lsb.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A920B6744F600FD9940 /* bn_mp_cnt_lsb.c */; }; + AA7C8B0F0B6744F700FD9940 /* bn_mp_copy.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A930B6744F600FD9940 /* bn_mp_copy.c */; }; + AA7C8B100B6744F700FD9940 /* bn_mp_count_bits.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A940B6744F600FD9940 /* bn_mp_count_bits.c */; }; + AA7C8B110B6744F700FD9940 /* bn_mp_div.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A950B6744F600FD9940 /* bn_mp_div.c */; }; + AA7C8B120B6744F700FD9940 /* bn_mp_div_2.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A960B6744F600FD9940 /* bn_mp_div_2.c */; }; + AA7C8B130B6744F700FD9940 /* bn_mp_div_2d.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A970B6744F600FD9940 /* bn_mp_div_2d.c */; }; + AA7C8B140B6744F700FD9940 /* bn_mp_div_3.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A980B6744F600FD9940 /* bn_mp_div_3.c */; }; + AA7C8B150B6744F700FD9940 /* bn_mp_div_d.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A990B6744F600FD9940 /* bn_mp_div_d.c */; }; + AA7C8B160B6744F700FD9940 /* bn_mp_dr_is_modulus.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A9A0B6744F600FD9940 /* bn_mp_dr_is_modulus.c */; }; + AA7C8B170B6744F700FD9940 /* bn_mp_dr_reduce.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A9B0B6744F600FD9940 /* bn_mp_dr_reduce.c */; }; + AA7C8B180B6744F700FD9940 /* bn_mp_dr_setup.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A9C0B6744F600FD9940 /* bn_mp_dr_setup.c */; }; + AA7C8B190B6744F700FD9940 /* bn_mp_exch.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A9D0B6744F600FD9940 /* bn_mp_exch.c */; }; + AA7C8B1A0B6744F700FD9940 /* bn_mp_expt_d.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A9E0B6744F600FD9940 /* bn_mp_expt_d.c */; }; + AA7C8B1B0B6744F700FD9940 /* bn_mp_exptmod.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8A9F0B6744F600FD9940 /* bn_mp_exptmod.c */; }; + AA7C8B1C0B6744F700FD9940 /* bn_mp_exptmod_fast.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AA00B6744F600FD9940 /* bn_mp_exptmod_fast.c */; }; + AA7C8B1D0B6744F700FD9940 /* bn_mp_exteuclid.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AA10B6744F600FD9940 /* bn_mp_exteuclid.c */; }; + AA7C8B1E0B6744F700FD9940 /* bn_mp_fread.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AA20B6744F600FD9940 /* bn_mp_fread.c */; }; + AA7C8B1F0B6744F700FD9940 /* bn_mp_fwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AA30B6744F600FD9940 /* bn_mp_fwrite.c */; }; + AA7C8B200B6744F700FD9940 /* bn_mp_gcd.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AA40B6744F600FD9940 /* bn_mp_gcd.c */; }; + AA7C8B210B6744F700FD9940 /* bn_mp_get_int.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AA50B6744F600FD9940 /* bn_mp_get_int.c */; }; + AA7C8B220B6744F700FD9940 /* bn_mp_grow.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AA60B6744F600FD9940 /* bn_mp_grow.c */; }; + AA7C8B230B6744F700FD9940 /* bn_mp_init.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AA70B6744F600FD9940 /* bn_mp_init.c */; }; + AA7C8B240B6744F700FD9940 /* bn_mp_init_copy.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AA80B6744F600FD9940 /* bn_mp_init_copy.c */; }; + AA7C8B250B6744F700FD9940 /* bn_mp_init_multi.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AA90B6744F600FD9940 /* bn_mp_init_multi.c */; }; + AA7C8B260B6744F700FD9940 /* bn_mp_init_set.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AAA0B6744F600FD9940 /* bn_mp_init_set.c */; }; + AA7C8B270B6744F700FD9940 /* bn_mp_init_set_int.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AAB0B6744F600FD9940 /* bn_mp_init_set_int.c */; }; + AA7C8B280B6744F700FD9940 /* bn_mp_init_size.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AAC0B6744F600FD9940 /* bn_mp_init_size.c */; }; + AA7C8B290B6744F700FD9940 /* bn_mp_invmod.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AAD0B6744F600FD9940 /* bn_mp_invmod.c */; }; + AA7C8B2A0B6744F700FD9940 /* bn_mp_invmod_slow.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AAE0B6744F600FD9940 /* bn_mp_invmod_slow.c */; }; + AA7C8B2B0B6744F700FD9940 /* bn_mp_is_square.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AAF0B6744F600FD9940 /* bn_mp_is_square.c */; }; + AA7C8B2C0B6744F700FD9940 /* bn_mp_jacobi.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AB00B6744F600FD9940 /* bn_mp_jacobi.c */; }; + AA7C8B2D0B6744F700FD9940 /* bn_mp_karatsuba_mul.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AB10B6744F600FD9940 /* bn_mp_karatsuba_mul.c */; }; + AA7C8B2E0B6744F700FD9940 /* bn_mp_karatsuba_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AB20B6744F600FD9940 /* bn_mp_karatsuba_sqr.c */; }; + AA7C8B2F0B6744F700FD9940 /* bn_mp_lcm.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AB30B6744F600FD9940 /* bn_mp_lcm.c */; }; + AA7C8B300B6744F700FD9940 /* bn_mp_lshd.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AB40B6744F700FD9940 /* bn_mp_lshd.c */; }; + AA7C8B310B6744F700FD9940 /* bn_mp_mod.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AB50B6744F700FD9940 /* bn_mp_mod.c */; }; + AA7C8B320B6744F700FD9940 /* bn_mp_mod_2d.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AB60B6744F700FD9940 /* bn_mp_mod_2d.c */; }; + AA7C8B330B6744F700FD9940 /* bn_mp_mod_d.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AB70B6744F700FD9940 /* bn_mp_mod_d.c */; }; + AA7C8B340B6744F700FD9940 /* bn_mp_montgomery_calc_normalization.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AB80B6744F700FD9940 /* bn_mp_montgomery_calc_normalization.c */; }; + AA7C8B350B6744F700FD9940 /* bn_mp_montgomery_reduce.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AB90B6744F700FD9940 /* bn_mp_montgomery_reduce.c */; }; + AA7C8B360B6744F700FD9940 /* bn_mp_montgomery_setup.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8ABA0B6744F700FD9940 /* bn_mp_montgomery_setup.c */; }; + AA7C8B370B6744F700FD9940 /* bn_mp_mul.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8ABB0B6744F700FD9940 /* bn_mp_mul.c */; }; + AA7C8B380B6744F700FD9940 /* bn_mp_mul_2.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8ABC0B6744F700FD9940 /* bn_mp_mul_2.c */; }; + AA7C8B390B6744F700FD9940 /* bn_mp_mul_2d.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8ABD0B6744F700FD9940 /* bn_mp_mul_2d.c */; }; + AA7C8B3A0B6744F700FD9940 /* bn_mp_mul_d.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8ABE0B6744F700FD9940 /* bn_mp_mul_d.c */; }; + AA7C8B3B0B6744F700FD9940 /* bn_mp_mulmod.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8ABF0B6744F700FD9940 /* bn_mp_mulmod.c */; }; + AA7C8B3C0B6744F700FD9940 /* bn_mp_n_root.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AC00B6744F700FD9940 /* bn_mp_n_root.c */; }; + AA7C8B3D0B6744F700FD9940 /* bn_mp_neg.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AC10B6744F700FD9940 /* bn_mp_neg.c */; }; + AA7C8B3E0B6744F700FD9940 /* bn_mp_or.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AC20B6744F700FD9940 /* bn_mp_or.c */; }; + AA7C8B3F0B6744F700FD9940 /* bn_mp_prime_fermat.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AC30B6744F700FD9940 /* bn_mp_prime_fermat.c */; }; + AA7C8B400B6744F700FD9940 /* bn_mp_prime_is_divisible.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AC40B6744F700FD9940 /* bn_mp_prime_is_divisible.c */; }; + AA7C8B410B6744F700FD9940 /* bn_mp_prime_is_prime.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AC50B6744F700FD9940 /* bn_mp_prime_is_prime.c */; }; + AA7C8B420B6744F700FD9940 /* bn_mp_prime_miller_rabin.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AC60B6744F700FD9940 /* bn_mp_prime_miller_rabin.c */; }; + AA7C8B430B6744F700FD9940 /* bn_mp_prime_next_prime.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AC70B6744F700FD9940 /* bn_mp_prime_next_prime.c */; }; + AA7C8B440B6744F700FD9940 /* bn_mp_prime_rabin_miller_trials.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AC80B6744F700FD9940 /* bn_mp_prime_rabin_miller_trials.c */; }; + AA7C8B450B6744F700FD9940 /* bn_mp_prime_random_ex.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AC90B6744F700FD9940 /* bn_mp_prime_random_ex.c */; }; + AA7C8B460B6744F700FD9940 /* bn_mp_radix_size.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8ACA0B6744F700FD9940 /* bn_mp_radix_size.c */; }; + AA7C8B470B6744F700FD9940 /* bn_mp_radix_smap.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8ACB0B6744F700FD9940 /* bn_mp_radix_smap.c */; }; + AA7C8B480B6744F700FD9940 /* bn_mp_rand.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8ACC0B6744F700FD9940 /* bn_mp_rand.c */; }; + AA7C8B490B6744F700FD9940 /* bn_mp_read_radix.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8ACD0B6744F700FD9940 /* bn_mp_read_radix.c */; }; + AA7C8B4A0B6744F700FD9940 /* bn_mp_read_signed_bin.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8ACE0B6744F700FD9940 /* bn_mp_read_signed_bin.c */; }; + AA7C8B4B0B6744F700FD9940 /* bn_mp_read_unsigned_bin.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8ACF0B6744F700FD9940 /* bn_mp_read_unsigned_bin.c */; }; + AA7C8B4C0B6744F700FD9940 /* bn_mp_reduce.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AD00B6744F700FD9940 /* bn_mp_reduce.c */; }; + AA7C8B4D0B6744F700FD9940 /* bn_mp_reduce_2k.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AD10B6744F700FD9940 /* bn_mp_reduce_2k.c */; }; + AA7C8B4E0B6744F700FD9940 /* bn_mp_reduce_2k_l.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AD20B6744F700FD9940 /* bn_mp_reduce_2k_l.c */; }; + AA7C8B4F0B6744F700FD9940 /* bn_mp_reduce_2k_setup.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AD30B6744F700FD9940 /* bn_mp_reduce_2k_setup.c */; }; + AA7C8B500B6744F700FD9940 /* bn_mp_reduce_2k_setup_l.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AD40B6744F700FD9940 /* bn_mp_reduce_2k_setup_l.c */; }; + AA7C8B510B6744F700FD9940 /* bn_mp_reduce_is_2k.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AD50B6744F700FD9940 /* bn_mp_reduce_is_2k.c */; }; + AA7C8B520B6744F700FD9940 /* bn_mp_reduce_is_2k_l.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AD60B6744F700FD9940 /* bn_mp_reduce_is_2k_l.c */; }; + AA7C8B530B6744F700FD9940 /* bn_mp_reduce_setup.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AD70B6744F700FD9940 /* bn_mp_reduce_setup.c */; }; + AA7C8B540B6744F700FD9940 /* bn_mp_rshd.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AD80B6744F700FD9940 /* bn_mp_rshd.c */; }; + AA7C8B550B6744F700FD9940 /* bn_mp_set.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AD90B6744F700FD9940 /* bn_mp_set.c */; }; + AA7C8B560B6744F700FD9940 /* bn_mp_set_int.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8ADA0B6744F700FD9940 /* bn_mp_set_int.c */; }; + AA7C8B570B6744F700FD9940 /* bn_mp_shrink.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8ADB0B6744F700FD9940 /* bn_mp_shrink.c */; }; + AA7C8B580B6744F700FD9940 /* bn_mp_signed_bin_size.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8ADC0B6744F700FD9940 /* bn_mp_signed_bin_size.c */; }; + AA7C8B590B6744F700FD9940 /* bn_mp_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8ADD0B6744F700FD9940 /* bn_mp_sqr.c */; }; + AA7C8B5A0B6744F700FD9940 /* bn_mp_sqrmod.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8ADE0B6744F700FD9940 /* bn_mp_sqrmod.c */; }; + AA7C8B5B0B6744F700FD9940 /* bn_mp_sqrt.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8ADF0B6744F700FD9940 /* bn_mp_sqrt.c */; }; + AA7C8B5C0B6744F700FD9940 /* bn_mp_sub.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AE00B6744F700FD9940 /* bn_mp_sub.c */; }; + AA7C8B5D0B6744F700FD9940 /* bn_mp_sub_d.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AE10B6744F700FD9940 /* bn_mp_sub_d.c */; }; + AA7C8B5E0B6744F700FD9940 /* bn_mp_submod.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AE20B6744F700FD9940 /* bn_mp_submod.c */; }; + AA7C8B5F0B6744F700FD9940 /* bn_mp_to_signed_bin.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AE30B6744F700FD9940 /* bn_mp_to_signed_bin.c */; }; + AA7C8B600B6744F700FD9940 /* bn_mp_to_signed_bin_n.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AE40B6744F700FD9940 /* bn_mp_to_signed_bin_n.c */; }; + AA7C8B610B6744F700FD9940 /* bn_mp_to_unsigned_bin.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AE50B6744F700FD9940 /* bn_mp_to_unsigned_bin.c */; }; + AA7C8B620B6744F700FD9940 /* bn_mp_to_unsigned_bin_n.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AE60B6744F700FD9940 /* bn_mp_to_unsigned_bin_n.c */; }; + AA7C8B630B6744F700FD9940 /* bn_mp_toom_mul.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AE70B6744F700FD9940 /* bn_mp_toom_mul.c */; }; + AA7C8B640B6744F700FD9940 /* bn_mp_toom_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AE80B6744F700FD9940 /* bn_mp_toom_sqr.c */; }; + AA7C8B650B6744F700FD9940 /* bn_mp_toradix.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AE90B6744F700FD9940 /* bn_mp_toradix.c */; }; + AA7C8B660B6744F700FD9940 /* bn_mp_toradix_n.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AEA0B6744F700FD9940 /* bn_mp_toradix_n.c */; }; + AA7C8B670B6744F700FD9940 /* bn_mp_unsigned_bin_size.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AEB0B6744F700FD9940 /* bn_mp_unsigned_bin_size.c */; }; + AA7C8B680B6744F700FD9940 /* bn_mp_xor.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AEC0B6744F700FD9940 /* bn_mp_xor.c */; }; + AA7C8B690B6744F700FD9940 /* bn_mp_zero.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AED0B6744F700FD9940 /* bn_mp_zero.c */; }; + AA7C8B6A0B6744F700FD9940 /* bn_prime_tab.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AEE0B6744F700FD9940 /* bn_prime_tab.c */; }; + AA7C8B6B0B6744F700FD9940 /* bn_reverse.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AEF0B6744F700FD9940 /* bn_reverse.c */; }; + AA7C8B6C0B6744F700FD9940 /* bn_s_mp_add.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AF00B6744F700FD9940 /* bn_s_mp_add.c */; }; + AA7C8B6D0B6744F700FD9940 /* bn_s_mp_exptmod.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AF10B6744F700FD9940 /* bn_s_mp_exptmod.c */; }; + AA7C8B6E0B6744F700FD9940 /* bn_s_mp_mul_digs.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AF20B6744F700FD9940 /* bn_s_mp_mul_digs.c */; }; + AA7C8B6F0B6744F700FD9940 /* bn_s_mp_mul_high_digs.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AF30B6744F700FD9940 /* bn_s_mp_mul_high_digs.c */; }; + AA7C8B700B6744F700FD9940 /* bn_s_mp_sqr.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AF40B6744F700FD9940 /* bn_s_mp_sqr.c */; }; + AA7C8B710B6744F700FD9940 /* bn_s_mp_sub.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AF50B6744F700FD9940 /* bn_s_mp_sub.c */; }; + AA7C8B720B6744F700FD9940 /* bncore.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8AF60B6744F700FD9940 /* bncore.c */; }; + AA7C8B730B6744F700FD9940 /* tommath.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C8AF90B6744F700FD9940 /* tommath.h */; }; + AA7C8B740B6744F700FD9940 /* tommath_class.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C8AFA0B6744F700FD9940 /* tommath_class.h */; }; + AA7C8B750B6744F700FD9940 /* tommath_superclass.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C8AFB0B6744F700FD9940 /* tommath_superclass.h */; }; + AA7C8C560B67467D00FD9940 /* aes.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8B950B67467C00FD9940 /* aes.c */; }; + AA7C8C580B67467D00FD9940 /* hash_memory.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8B990B67467C00FD9940 /* hash_memory.c */; }; + AA7C8C590B67467D00FD9940 /* md5.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8B9A0B67467C00FD9940 /* md5.c */; }; + AA7C8C5A0B67467D00FD9940 /* sha1.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8B9B0B67467C00FD9940 /* sha1.c */; }; + AA7C8C5B0B67467D00FD9940 /* tomcrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C8B9D0B67467C00FD9940 /* tomcrypt.h */; }; + AA7C8C5C0B67467D00FD9940 /* tomcrypt_argchk.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C8B9E0B67467C00FD9940 /* tomcrypt_argchk.h */; }; + AA7C8C5D0B67467D00FD9940 /* tomcrypt_cfg.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C8B9F0B67467C00FD9940 /* tomcrypt_cfg.h */; }; + AA7C8C5E0B67467D00FD9940 /* tomcrypt_cipher.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C8BA00B67467C00FD9940 /* tomcrypt_cipher.h */; }; + AA7C8C5F0B67467D00FD9940 /* tomcrypt_custom.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C8BA10B67467C00FD9940 /* tomcrypt_custom.h */; }; + AA7C8C600B67467D00FD9940 /* tomcrypt_hash.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C8BA20B67467C00FD9940 /* tomcrypt_hash.h */; }; + AA7C8C610B67467D00FD9940 /* tomcrypt_mac.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C8BA30B67467C00FD9940 /* tomcrypt_mac.h */; }; + AA7C8C620B67467D00FD9940 /* tomcrypt_macros.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C8BA40B67467C00FD9940 /* tomcrypt_macros.h */; }; + AA7C8C630B67467D00FD9940 /* tomcrypt_math.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C8BA50B67467C00FD9940 /* tomcrypt_math.h */; }; + AA7C8C640B67467D00FD9940 /* tomcrypt_misc.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C8BA60B67467C00FD9940 /* tomcrypt_misc.h */; }; + AA7C8C650B67467D00FD9940 /* tomcrypt_pk.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C8BA70B67467C00FD9940 /* tomcrypt_pk.h */; }; + AA7C8C660B67467D00FD9940 /* tomcrypt_pkcs.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C8BA80B67467C00FD9940 /* tomcrypt_pkcs.h */; }; + AA7C8C670B67467D00FD9940 /* tomcrypt_prng.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C8BA90B67467C00FD9940 /* tomcrypt_prng.h */; }; + AA7C8C680B67467D00FD9940 /* ltc_ecc_fp_mulmod.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BAC0B67467C00FD9940 /* ltc_ecc_fp_mulmod.c */; }; + AA7C8C690B67467D00FD9940 /* ltm_desc.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BAD0B67467C00FD9940 /* ltm_desc.c */; }; + AA7C8C6A0B67467D00FD9940 /* multi.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BAE0B67467C00FD9940 /* multi.c */; }; + AA7C8C6B0B67467D00FD9940 /* rand_prime.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BAF0B67467C00FD9940 /* rand_prime.c */; }; + AA7C8C6C0B67467D00FD9940 /* base64_decode.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BB20B67467C00FD9940 /* base64_decode.c */; }; + AA7C8C6D0B67467D00FD9940 /* base64_encode.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BB30B67467C00FD9940 /* base64_encode.c */; }; + AA7C8C6E0B67467D00FD9940 /* burn_stack.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BB40B67467C00FD9940 /* burn_stack.c */; }; + AA7C8C6F0B67467D00FD9940 /* crypt.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BB60B67467C00FD9940 /* crypt.c */; }; + AA7C8C700B67467D00FD9940 /* crypt_argchk.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BB70B67467C00FD9940 /* crypt_argchk.c */; }; + AA7C8C710B67467D00FD9940 /* crypt_cipher_descriptor.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BB80B67467C00FD9940 /* crypt_cipher_descriptor.c */; }; + AA7C8C720B67467D00FD9940 /* crypt_cipher_is_valid.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BB90B67467C00FD9940 /* crypt_cipher_is_valid.c */; }; + AA7C8C730B67467D00FD9940 /* crypt_find_cipher.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BBA0B67467C00FD9940 /* crypt_find_cipher.c */; }; + AA7C8C740B67467D00FD9940 /* crypt_find_cipher_any.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BBB0B67467C00FD9940 /* crypt_find_cipher_any.c */; }; + AA7C8C750B67467D00FD9940 /* crypt_find_cipher_id.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BBC0B67467C00FD9940 /* crypt_find_cipher_id.c */; }; + AA7C8C760B67467D00FD9940 /* crypt_find_hash.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BBD0B67467C00FD9940 /* crypt_find_hash.c */; }; + AA7C8C770B67467D00FD9940 /* crypt_find_hash_any.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BBE0B67467C00FD9940 /* crypt_find_hash_any.c */; }; + AA7C8C780B67467D00FD9940 /* crypt_find_hash_id.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BBF0B67467C00FD9940 /* crypt_find_hash_id.c */; }; + AA7C8C790B67467D00FD9940 /* crypt_find_hash_oid.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BC00B67467C00FD9940 /* crypt_find_hash_oid.c */; }; + AA7C8C7A0B67467D00FD9940 /* crypt_find_prng.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BC10B67467C00FD9940 /* crypt_find_prng.c */; }; + AA7C8C7B0B67467D00FD9940 /* crypt_fsa.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BC20B67467C00FD9940 /* crypt_fsa.c */; }; + AA7C8C7C0B67467D00FD9940 /* crypt_hash_descriptor.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BC30B67467C00FD9940 /* crypt_hash_descriptor.c */; }; + AA7C8C7D0B67467D00FD9940 /* crypt_hash_is_valid.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BC40B67467C00FD9940 /* crypt_hash_is_valid.c */; }; + AA7C8C7E0B67467D00FD9940 /* crypt_ltc_mp_descriptor.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BC50B67467C00FD9940 /* crypt_ltc_mp_descriptor.c */; }; + AA7C8C7F0B67467D00FD9940 /* crypt_prng_descriptor.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BC60B67467C00FD9940 /* crypt_prng_descriptor.c */; }; + AA7C8C800B67467D00FD9940 /* crypt_prng_is_valid.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BC70B67467C00FD9940 /* crypt_prng_is_valid.c */; }; + AA7C8C810B67467D00FD9940 /* crypt_register_cipher.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BC80B67467C00FD9940 /* crypt_register_cipher.c */; }; + AA7C8C820B67467D00FD9940 /* crypt_register_hash.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BC90B67467C00FD9940 /* crypt_register_hash.c */; }; + AA7C8C830B67467D00FD9940 /* crypt_register_prng.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BCA0B67467C00FD9940 /* crypt_register_prng.c */; }; + AA7C8C840B67467D00FD9940 /* crypt_unregister_cipher.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BCB0B67467C00FD9940 /* crypt_unregister_cipher.c */; }; + AA7C8C850B67467D00FD9940 /* crypt_unregister_hash.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BCC0B67467C00FD9940 /* crypt_unregister_hash.c */; }; + AA7C8C860B67467D00FD9940 /* crypt_unregister_prng.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BCD0B67467C00FD9940 /* crypt_unregister_prng.c */; }; + AA7C8C870B67467D00FD9940 /* error_to_string.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BCE0B67467C00FD9940 /* error_to_string.c */; }; + AA7C8C880B67467D00FD9940 /* pkcs_5_1.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BD00B67467C00FD9940 /* pkcs_5_1.c */; }; + AA7C8C890B67467D00FD9940 /* pkcs_5_2.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BD10B67467C00FD9940 /* pkcs_5_2.c */; }; + AA7C8C8A0B67467D00FD9940 /* zeromem.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BD20B67467C00FD9940 /* zeromem.c */; }; + AA7C8C8B0B67467D00FD9940 /* cbc_decrypt.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BD50B67467C00FD9940 /* cbc_decrypt.c */; }; + AA7C8C8C0B67467D00FD9940 /* cbc_done.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BD60B67467C00FD9940 /* cbc_done.c */; }; + AA7C8C8D0B67467D00FD9940 /* cbc_encrypt.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BD70B67467C00FD9940 /* cbc_encrypt.c */; }; + AA7C8C8E0B67467D00FD9940 /* cbc_getiv.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BD80B67467C00FD9940 /* cbc_getiv.c */; }; + AA7C8C8F0B67467D00FD9940 /* cbc_setiv.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BD90B67467C00FD9940 /* cbc_setiv.c */; }; + AA7C8C900B67467D00FD9940 /* cbc_start.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BDA0B67467C00FD9940 /* cbc_start.c */; }; + AA7C8C910B67467D00FD9940 /* cfb_decrypt.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BDC0B67467C00FD9940 /* cfb_decrypt.c */; }; + AA7C8C920B67467D00FD9940 /* cfb_done.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BDD0B67467C00FD9940 /* cfb_done.c */; }; + AA7C8C930B67467D00FD9940 /* cfb_encrypt.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BDE0B67467C00FD9940 /* cfb_encrypt.c */; }; + AA7C8C940B67467D00FD9940 /* cfb_getiv.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BDF0B67467C00FD9940 /* cfb_getiv.c */; }; + AA7C8C950B67467D00FD9940 /* cfb_setiv.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BE00B67467C00FD9940 /* cfb_setiv.c */; }; + AA7C8C960B67467D00FD9940 /* cfb_start.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BE10B67467C00FD9940 /* cfb_start.c */; }; + AA7C8C970B67467D00FD9940 /* ctr_decrypt.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BE30B67467C00FD9940 /* ctr_decrypt.c */; }; + AA7C8C980B67467D00FD9940 /* ctr_done.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BE40B67467C00FD9940 /* ctr_done.c */; }; + AA7C8C990B67467D00FD9940 /* ctr_encrypt.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BE50B67467C00FD9940 /* ctr_encrypt.c */; }; + AA7C8C9A0B67467D00FD9940 /* ctr_getiv.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BE60B67467C00FD9940 /* ctr_getiv.c */; }; + AA7C8C9B0B67467D00FD9940 /* ctr_setiv.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BE70B67467C00FD9940 /* ctr_setiv.c */; }; + AA7C8C9C0B67467D00FD9940 /* ctr_start.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BE80B67467C00FD9940 /* ctr_start.c */; }; + AA7C8C9D0B67467D00FD9940 /* ctr_test.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BE90B67467C00FD9940 /* ctr_test.c */; }; + AA7C8C9E0B67467D00FD9940 /* ecb_decrypt.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BEB0B67467C00FD9940 /* ecb_decrypt.c */; }; + AA7C8C9F0B67467D00FD9940 /* ecb_done.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BEC0B67467C00FD9940 /* ecb_done.c */; }; + AA7C8CA00B67467D00FD9940 /* ecb_encrypt.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BED0B67467C00FD9940 /* ecb_encrypt.c */; }; + AA7C8CA10B67467D00FD9940 /* ecb_start.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BEE0B67467C00FD9940 /* ecb_start.c */; }; + AA7C8CA20B67467D00FD9940 /* ofb_decrypt.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BF00B67467C00FD9940 /* ofb_decrypt.c */; }; + AA7C8CA30B67467D00FD9940 /* ofb_done.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BF10B67467C00FD9940 /* ofb_done.c */; }; + AA7C8CA40B67467D00FD9940 /* ofb_encrypt.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BF20B67467C00FD9940 /* ofb_encrypt.c */; }; + AA7C8CA50B67467D00FD9940 /* ofb_getiv.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BF30B67467C00FD9940 /* ofb_getiv.c */; }; + AA7C8CA60B67467D00FD9940 /* ofb_setiv.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BF40B67467C00FD9940 /* ofb_setiv.c */; }; + AA7C8CA70B67467D00FD9940 /* ofb_start.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BF50B67467C00FD9940 /* ofb_start.c */; }; + AA7C8CA80B67467D00FD9940 /* der_decode_bit_string.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BFA0B67467C00FD9940 /* der_decode_bit_string.c */; }; + AA7C8CA90B67467D00FD9940 /* der_encode_bit_string.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BFB0B67467C00FD9940 /* der_encode_bit_string.c */; }; + AA7C8CAA0B67467D00FD9940 /* der_length_bit_string.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BFC0B67467C00FD9940 /* der_length_bit_string.c */; }; + AA7C8CAB0B67467D00FD9940 /* der_decode_boolean.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BFE0B67467C00FD9940 /* der_decode_boolean.c */; }; + AA7C8CAC0B67467D00FD9940 /* der_encode_boolean.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8BFF0B67467C00FD9940 /* der_encode_boolean.c */; }; + AA7C8CAD0B67467D00FD9940 /* der_length_boolean.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C000B67467C00FD9940 /* der_length_boolean.c */; }; + AA7C8CAE0B67467D00FD9940 /* der_decode_choice.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C020B67467C00FD9940 /* der_decode_choice.c */; }; + AA7C8CAF0B67467D00FD9940 /* der_decode_ia5_string.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C040B67467C00FD9940 /* der_decode_ia5_string.c */; }; + AA7C8CB00B67467D00FD9940 /* der_encode_ia5_string.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C050B67467D00FD9940 /* der_encode_ia5_string.c */; }; + AA7C8CB10B67467D00FD9940 /* der_length_ia5_string.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C060B67467D00FD9940 /* der_length_ia5_string.c */; }; + AA7C8CB20B67467D00FD9940 /* der_decode_integer.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C080B67467D00FD9940 /* der_decode_integer.c */; }; + AA7C8CB30B67467D00FD9940 /* der_encode_integer.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C090B67467D00FD9940 /* der_encode_integer.c */; }; + AA7C8CB40B67467D00FD9940 /* der_length_integer.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C0A0B67467D00FD9940 /* der_length_integer.c */; }; + AA7C8CB50B67467D00FD9940 /* der_decode_object_identifier.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C0C0B67467D00FD9940 /* der_decode_object_identifier.c */; }; + AA7C8CB60B67467D00FD9940 /* der_encode_object_identifier.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C0D0B67467D00FD9940 /* der_encode_object_identifier.c */; }; + AA7C8CB70B67467D00FD9940 /* der_length_object_identifier.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C0E0B67467D00FD9940 /* der_length_object_identifier.c */; }; + AA7C8CB80B67467D00FD9940 /* der_decode_octet_string.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C100B67467D00FD9940 /* der_decode_octet_string.c */; }; + AA7C8CB90B67467D00FD9940 /* der_encode_octet_string.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C110B67467D00FD9940 /* der_encode_octet_string.c */; }; + AA7C8CBA0B67467D00FD9940 /* der_length_octet_string.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C120B67467D00FD9940 /* der_length_octet_string.c */; }; + AA7C8CBB0B67467D00FD9940 /* der_decode_printable_string.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C140B67467D00FD9940 /* der_decode_printable_string.c */; }; + AA7C8CBC0B67467D00FD9940 /* der_encode_printable_string.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C150B67467D00FD9940 /* der_encode_printable_string.c */; }; + AA7C8CBD0B67467D00FD9940 /* der_length_printable_string.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C160B67467D00FD9940 /* der_length_printable_string.c */; }; + AA7C8CBE0B67467D00FD9940 /* der_decode_sequence_ex.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C180B67467D00FD9940 /* der_decode_sequence_ex.c */; }; + AA7C8CBF0B67467D00FD9940 /* der_decode_sequence_flexi.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C190B67467D00FD9940 /* der_decode_sequence_flexi.c */; }; + AA7C8CC00B67467D00FD9940 /* der_decode_sequence_multi.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C1A0B67467D00FD9940 /* der_decode_sequence_multi.c */; }; + AA7C8CC10B67467D00FD9940 /* der_encode_sequence_ex.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C1B0B67467D00FD9940 /* der_encode_sequence_ex.c */; }; + AA7C8CC20B67467D00FD9940 /* der_encode_sequence_multi.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C1C0B67467D00FD9940 /* der_encode_sequence_multi.c */; }; + AA7C8CC30B67467D00FD9940 /* der_length_sequence.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C1D0B67467D00FD9940 /* der_length_sequence.c */; }; + AA7C8CC40B67467D00FD9940 /* der_sequence_free.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C1E0B67467D00FD9940 /* der_sequence_free.c */; }; + AA7C8CC50B67467D00FD9940 /* der_encode_set.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C200B67467D00FD9940 /* der_encode_set.c */; }; + AA7C8CC60B67467D00FD9940 /* der_encode_setof.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C210B67467D00FD9940 /* der_encode_setof.c */; }; + AA7C8CC70B67467D00FD9940 /* der_decode_short_integer.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C230B67467D00FD9940 /* der_decode_short_integer.c */; }; + AA7C8CC80B67467D00FD9940 /* der_encode_short_integer.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C240B67467D00FD9940 /* der_encode_short_integer.c */; }; + AA7C8CC90B67467D00FD9940 /* der_length_short_integer.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C250B67467D00FD9940 /* der_length_short_integer.c */; }; + AA7C8CCA0B67467D00FD9940 /* der_decode_utctime.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C270B67467D00FD9940 /* der_decode_utctime.c */; }; + AA7C8CCB0B67467D00FD9940 /* der_encode_utctime.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C280B67467D00FD9940 /* der_encode_utctime.c */; }; + AA7C8CCC0B67467D00FD9940 /* der_length_utctime.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C290B67467D00FD9940 /* der_length_utctime.c */; }; + AA7C8CCD0B67467D00FD9940 /* der_decode_utf8_string.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C2B0B67467D00FD9940 /* der_decode_utf8_string.c */; }; + AA7C8CCE0B67467D00FD9940 /* der_encode_utf8_string.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C2C0B67467D00FD9940 /* der_encode_utf8_string.c */; }; + AA7C8CCF0B67467D00FD9940 /* der_length_utf8_string.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C2D0B67467D00FD9940 /* der_length_utf8_string.c */; }; + AA7C8CD00B67467D00FD9940 /* dsa_decrypt_key.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C2F0B67467D00FD9940 /* dsa_decrypt_key.c */; }; + AA7C8CD10B67467D00FD9940 /* dsa_encrypt_key.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C300B67467D00FD9940 /* dsa_encrypt_key.c */; }; + AA7C8CD20B67467D00FD9940 /* dsa_export.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C310B67467D00FD9940 /* dsa_export.c */; }; + AA7C8CD30B67467D00FD9940 /* dsa_free.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C320B67467D00FD9940 /* dsa_free.c */; }; + AA7C8CD40B67467D00FD9940 /* dsa_import.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C330B67467D00FD9940 /* dsa_import.c */; }; + AA7C8CD50B67467D00FD9940 /* dsa_make_key.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C340B67467D00FD9940 /* dsa_make_key.c */; }; + AA7C8CD60B67467D00FD9940 /* dsa_shared_secret.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C350B67467D00FD9940 /* dsa_shared_secret.c */; }; + AA7C8CD70B67467D00FD9940 /* dsa_sign_hash.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C360B67467D00FD9940 /* dsa_sign_hash.c */; }; + AA7C8CD80B67467D00FD9940 /* dsa_verify_hash.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C370B67467D00FD9940 /* dsa_verify_hash.c */; }; + AA7C8CD90B67467D00FD9940 /* dsa_verify_key.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C380B67467D00FD9940 /* dsa_verify_key.c */; }; + AA7C8CDA0B67467D00FD9940 /* pkcs_1_i2osp.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C3A0B67467D00FD9940 /* pkcs_1_i2osp.c */; }; + AA7C8CDB0B67467D00FD9940 /* pkcs_1_mgf1.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C3B0B67467D00FD9940 /* pkcs_1_mgf1.c */; }; + AA7C8CDC0B67467D00FD9940 /* pkcs_1_oaep_decode.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C3C0B67467D00FD9940 /* pkcs_1_oaep_decode.c */; }; + AA7C8CDD0B67467D00FD9940 /* pkcs_1_oaep_encode.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C3D0B67467D00FD9940 /* pkcs_1_oaep_encode.c */; }; + AA7C8CDE0B67467D00FD9940 /* pkcs_1_os2ip.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C3E0B67467D00FD9940 /* pkcs_1_os2ip.c */; }; + AA7C8CDF0B67467D00FD9940 /* pkcs_1_pss_decode.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C3F0B67467D00FD9940 /* pkcs_1_pss_decode.c */; }; + AA7C8CE00B67467D00FD9940 /* pkcs_1_pss_encode.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C400B67467D00FD9940 /* pkcs_1_pss_encode.c */; }; + AA7C8CE10B67467D00FD9940 /* pkcs_1_v1_5_decode.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C410B67467D00FD9940 /* pkcs_1_v1_5_decode.c */; }; + AA7C8CE20B67467D00FD9940 /* pkcs_1_v1_5_encode.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C420B67467D00FD9940 /* pkcs_1_v1_5_encode.c */; }; + AA7C8CE30B67467D00FD9940 /* rsa_decrypt_key.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C440B67467D00FD9940 /* rsa_decrypt_key.c */; }; + AA7C8CE40B67467D00FD9940 /* rsa_encrypt_key.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C450B67467D00FD9940 /* rsa_encrypt_key.c */; }; + AA7C8CE50B67467D00FD9940 /* rsa_export.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C460B67467D00FD9940 /* rsa_export.c */; }; + AA7C8CE60B67467D00FD9940 /* rsa_exptmod.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C470B67467D00FD9940 /* rsa_exptmod.c */; }; + AA7C8CE70B67467D00FD9940 /* rsa_free.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C480B67467D00FD9940 /* rsa_free.c */; }; + AA7C8CE80B67467D00FD9940 /* rsa_import.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C490B67467D00FD9940 /* rsa_import.c */; }; + AA7C8CE90B67467D00FD9940 /* rsa_make_key.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C4A0B67467D00FD9940 /* rsa_make_key.c */; }; + AA7C8CEA0B67467D00FD9940 /* rsa_sign_hash.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C4B0B67467D00FD9940 /* rsa_sign_hash.c */; }; + AA7C8CEB0B67467D00FD9940 /* rsa_verify_hash.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C4C0B67467D00FD9940 /* rsa_verify_hash.c */; }; + AA7C8CEC0B67467D00FD9940 /* fortuna.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C4E0B67467D00FD9940 /* fortuna.c */; }; + AA7C8CED0B67467D00FD9940 /* rc4.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C4F0B67467D00FD9940 /* rc4.c */; }; + AA7C8CEE0B67467D00FD9940 /* rng_get_bytes.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C500B67467D00FD9940 /* rng_get_bytes.c */; }; + AA7C8CEF0B67467D00FD9940 /* rng_make_prng.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C510B67467D00FD9940 /* rng_make_prng.c */; }; + AA7C8CF00B67467D00FD9940 /* sober128.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C520B67467D00FD9940 /* sober128.c */; }; + AA7C8CF20B67467D00FD9940 /* sprng.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C540B67467D00FD9940 /* sprng.c */; }; + AA7C8CF30B67467D00FD9940 /* yarrow.c in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8C550B67467D00FD9940 /* yarrow.c */; }; + AA7C8D1F0B6748E300FD9940 /* libtommath-sm5.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AA7C895F0B67444700FD9940 /* libtommath-sm5.a */; }; + AA7C8D200B6748E400FD9940 /* libtomcrypt-sm5.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AA7C8B8B0B67460600FD9940 /* libtomcrypt-sm5.a */; }; + AA7C8D430B674F4E00FD9940 /* libtommath-sm5.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AA7C895F0B67444700FD9940 /* libtommath-sm5.a */; }; + AA7C8D440B674F4F00FD9940 /* libtomcrypt-sm5.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AA7C8B8B0B67460600FD9940 /* libtomcrypt-sm5.a */; }; + AA7C8DAE0B68CB2200FD9940 /* GameplayAssist.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8DAC0B68CB2200FD9940 /* GameplayAssist.cpp */; }; + AA7C8DAF0B68CB2200FD9940 /* GameplayAssist.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7C8DAD0B68CB2200FD9940 /* GameplayAssist.h */; }; + AA7C8DB00B68CB2200FD9940 /* GameplayAssist.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA7C8DAC0B68CB2200FD9940 /* GameplayAssist.cpp */; }; + AA7CDD950D8395F90001DAFC /* Song.h in Headers */ = {isa = PBXBuildFile; fileRef = AA7CDD930D8395F90001DAFC /* Song.h */; }; + AA7DA2F1085760E90057F1EA /* BackgroundUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA7DA2EF085760E90057F1EA /* BackgroundUtil.cpp */; }; + AA80C75407F20D0D00C99272 /* UnlockManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA80C75207F20D0D00C99272 /* UnlockManager.cpp */; }; + AA80C75907F20D6600C99272 /* OptionRowHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA80C75707F20D6600C99272 /* OptionRowHandler.cpp */; }; + AA80C75C07F20D8000C99272 /* ScreenMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA80C75B07F20D7F00C99272 /* ScreenMessage.cpp */; }; + AA84B7070996F8370085EECB /* AdjustSync.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA84B7050996F8370085EECB /* AdjustSync.cpp */; }; + AA8A3E6406EDCD11002F25AB /* DarwinThreadHelpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8A3E6306EDCD11002F25AB /* DarwinThreadHelpers.cpp */; }; + AA8A405106EEFF72002F25AB /* RageUtil_BackgroundLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8A404F06EEFF72002F25AB /* RageUtil_BackgroundLoader.cpp */; }; + AA8BD2A807C9391B00EA04E1 /* LuaReference.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8BD2A107C9391B00EA04E1 /* LuaReference.cpp */; }; + AA8BD2AA07C9391B00EA04E1 /* MessageManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8BD2A307C9391B00EA04E1 /* MessageManager.cpp */; }; + AA8BD2AC07C9391B00EA04E1 /* StatsManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8BD2A507C9391B00EA04E1 /* StatsManager.cpp */; }; + AA8BD2B107C9395400EA04E1 /* AutoActor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8BD2AF07C9395400EA04E1 /* AutoActor.cpp */; }; + AA8BD2B607C939A200EA04E1 /* OptionRow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8BD2B407C939A200EA04E1 /* OptionRow.cpp */; }; + AA8BD2BF07C939F800EA04E1 /* PlayerStageStats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8BD2B807C939F800EA04E1 /* PlayerStageStats.cpp */; }; + AA8BD2C107C939F800EA04E1 /* PlayerState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8BD2BA07C939F800EA04E1 /* PlayerState.cpp */; }; + AA8BD2C207C939F800EA04E1 /* RollingNumbers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8BD2BB07C939F800EA04E1 /* RollingNumbers.cpp */; }; + AA8BD2C407C939F800EA04E1 /* ScoreDisplayCalories.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8BD2BD07C939F800EA04E1 /* ScoreDisplayCalories.cpp */; }; + AA8BD2C707C93A1E00EA04E1 /* CommonMetrics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8BD2C607C93A1E00EA04E1 /* CommonMetrics.cpp */; }; + AA8CF5180A4518BE0005F1B4 /* RageSoundDriver_AU.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8CF5160A4518BE0005F1B4 /* RageSoundDriver_AU.cpp */; }; + AA8CF5190A4518BE0005F1B4 /* RageSoundDriver_AU.h in Headers */ = {isa = PBXBuildFile; fileRef = AA8CF5150A4518BE0005F1B4 /* RageSoundDriver_AU.h */; }; + AA8CF51A0A4518BE0005F1B4 /* RageSoundDriver_AU.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8CF5160A4518BE0005F1B4 /* RageSoundDriver_AU.cpp */; }; + AA8EE0760866E266002C51A7 /* LuaBinding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA8EE0750866E266002C51A7 /* LuaBinding.cpp */; }; + AA9091A1067ED43000C1FCFF /* RageSurface_Load_BMP.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA90919F067ED43000C1FCFF /* RageSurface_Load_BMP.cpp */; }; + AA9091A5067ED46400C1FCFF /* RageSurface_Save_BMP.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA9091A3067ED46400C1FCFF /* RageSurface_Save_BMP.cpp */; }; + AA909E1F0B45B676002852D3 /* RageDriver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA909E1D0B45B676002852D3 /* RageDriver.cpp */; }; + AA909E210B45B676002852D3 /* RageDriver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA909E1D0B45B676002852D3 /* RageDriver.cpp */; }; + AA909E220B45B676002852D3 /* RageDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = AA909E1E0B45B676002852D3 /* RageDriver.h */; }; + AA909E240B45B696002852D3 /* LowLevelWindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA909E230B45B696002852D3 /* LowLevelWindow.cpp */; }; + AA909E250B45B696002852D3 /* LowLevelWindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA909E230B45B696002852D3 /* LowLevelWindow.cpp */; }; + AA909E270B45B6AC002852D3 /* LoadingWindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA909E260B45B6AB002852D3 /* LoadingWindow.cpp */; }; + AA909E280B45B6AC002852D3 /* LoadingWindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA909E260B45B6AB002852D3 /* LoadingWindow.cpp */; }; + AA909E3D0B45B8FB002852D3 /* RageSoundReader_Extend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA909E390B45B8FA002852D3 /* RageSoundReader_Extend.cpp */; }; + AA909E3F0B45B8FB002852D3 /* RageSoundReader_ThreadedBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA909E3B0B45B8FA002852D3 /* RageSoundReader_ThreadedBuffer.cpp */; }; + AA909E410B45B8FB002852D3 /* RageSoundReader_Extend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA909E390B45B8FA002852D3 /* RageSoundReader_Extend.cpp */; }; + AA909E420B45B8FB002852D3 /* RageSoundReader_Extend.h in Headers */ = {isa = PBXBuildFile; fileRef = AA909E3A0B45B8FA002852D3 /* RageSoundReader_Extend.h */; }; + AA909E430B45B8FB002852D3 /* RageSoundReader_ThreadedBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA909E3B0B45B8FA002852D3 /* RageSoundReader_ThreadedBuffer.cpp */; }; + AA909E440B45B8FB002852D3 /* RageSoundReader_ThreadedBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = AA909E3C0B45B8FA002852D3 /* RageSoundReader_ThreadedBuffer.h */; }; + AA909E490B45B93E002852D3 /* LightsDriver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA909E480B45B93E002852D3 /* LightsDriver.cpp */; }; + AA909E4A0B45B93E002852D3 /* LightsDriver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA909E480B45B93E002852D3 /* LightsDriver.cpp */; }; + AA91587D067D2C2C00078E36 /* RageSurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA915879067D2C2C00078E36 /* RageSurface.cpp */; }; + AA91ACB10878BB2C00FB2F8F /* RageTexturePreloader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA91ACAF0878BB2C00FB2F8F /* RageTexturePreloader.cpp */; }; + AA9A78AB06B5C72200B03E97 /* Game.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA9A78A906B5C72200B03E97 /* Game.cpp */; }; + AA9EC2F2055F5126007E5098 /* RageTextureID.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AA9EC2F0055F5126007E5098 /* RageTextureID.cpp */; }; + AAA0704E0CE5082E005A3060 /* libffmpeg_link.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AAA0704D0CE5082D005A3060 /* libffmpeg_link.a */; }; + AAA0704F0CE5082E005A3060 /* libffmpeg_link.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AAA0704D0CE5082D005A3060 /* libffmpeg_link.a */; }; + AAA0713D0CE7B3BB005A3060 /* bit.c in Sources */ = {isa = PBXBuildFile; fileRef = AAA070B40CE7B3AD005A3060 /* bit.c */; }; + AAA0713E0CE7B3BB005A3060 /* bit.h in Headers */ = {isa = PBXBuildFile; fileRef = AAA070B50CE7B3AD005A3060 /* bit.h */; }; + AAA071490CE7B3BB005A3060 /* decoder.c in Sources */ = {isa = PBXBuildFile; fileRef = AAA070C00CE7B3AD005A3060 /* decoder.c */; }; + AAA0714A0CE7B3BB005A3060 /* decoder.h in Headers */ = {isa = PBXBuildFile; fileRef = AAA070C10CE7B3AD005A3060 /* decoder.h */; }; + AAA0714C0CE7B3BB005A3060 /* fixed.c in Sources */ = {isa = PBXBuildFile; fileRef = AAA070C30CE7B3AD005A3060 /* fixed.c */; }; + AAA0714D0CE7B3BB005A3060 /* fixed.h in Headers */ = {isa = PBXBuildFile; fileRef = AAA070C40CE7B3AD005A3060 /* fixed.h */; }; + AAA0714E0CE7B3BB005A3060 /* frame.c in Sources */ = {isa = PBXBuildFile; fileRef = AAA070C50CE7B3AD005A3060 /* frame.c */; }; + AAA0714F0CE7B3BB005A3060 /* frame.h in Headers */ = {isa = PBXBuildFile; fileRef = AAA070C60CE7B3AD005A3060 /* frame.h */; }; + AAA071500CE7B3BB005A3060 /* global.h in Headers */ = {isa = PBXBuildFile; fileRef = AAA070C70CE7B3AD005A3060 /* global.h */; }; + AAA071510CE7B3BB005A3060 /* huffman.c in Sources */ = {isa = PBXBuildFile; fileRef = AAA070C80CE7B3AD005A3060 /* huffman.c */; }; + AAA071520CE7B3BB005A3060 /* huffman.h in Headers */ = {isa = PBXBuildFile; fileRef = AAA070C90CE7B3AD005A3060 /* huffman.h */; }; + AAA071570CE7B3BB005A3060 /* layer12.c in Sources */ = {isa = PBXBuildFile; fileRef = AAA070CE0CE7B3AD005A3060 /* layer12.c */; }; + AAA071580CE7B3BB005A3060 /* layer12.h in Headers */ = {isa = PBXBuildFile; fileRef = AAA070CF0CE7B3AD005A3060 /* layer12.h */; }; + AAA071590CE7B3BB005A3060 /* layer3.c in Sources */ = {isa = PBXBuildFile; fileRef = AAA070D00CE7B3AD005A3060 /* layer3.c */; }; + AAA0715A0CE7B3BB005A3060 /* layer3.h in Headers */ = {isa = PBXBuildFile; fileRef = AAA070D10CE7B3AD005A3060 /* layer3.h */; }; + AAA0715D0CE7B3BB005A3060 /* mad.h in Headers */ = {isa = PBXBuildFile; fileRef = AAA070D40CE7B3AD005A3060 /* mad.h */; }; + AAA0716F0CE7B3BB005A3060 /* stream.c in Sources */ = {isa = PBXBuildFile; fileRef = AAA070E80CE7B3AD005A3060 /* stream.c */; }; + AAA071700CE7B3BB005A3060 /* stream.h in Headers */ = {isa = PBXBuildFile; fileRef = AAA070E90CE7B3AD005A3060 /* stream.h */; }; + AAA071710CE7B3BB005A3060 /* synth.c in Sources */ = {isa = PBXBuildFile; fileRef = AAA070EA0CE7B3AD005A3060 /* synth.c */; }; + AAA071720CE7B3BB005A3060 /* synth.h in Headers */ = {isa = PBXBuildFile; fileRef = AAA070EB0CE7B3AD005A3060 /* synth.h */; }; + AAA071730CE7B3BB005A3060 /* timer.c in Sources */ = {isa = PBXBuildFile; fileRef = AAA070EC0CE7B3AD005A3060 /* timer.c */; }; + AAA071740CE7B3BB005A3060 /* timer.h in Headers */ = {isa = PBXBuildFile; fileRef = AAA070ED0CE7B3AD005A3060 /* timer.h */; }; + AAA071770CE7B3BB005A3060 /* version.c in Sources */ = {isa = PBXBuildFile; fileRef = AAA070F00CE7B3AE005A3060 /* version.c */; }; + AAA071780CE7B3BB005A3060 /* version.h in Headers */ = {isa = PBXBuildFile; fileRef = AAA070F10CE7B3AE005A3060 /* version.h */; }; + AAA0717F0CE7B4FB005A3060 /* version.h in Headers */ = {isa = PBXBuildFile; fileRef = AAA070F10CE7B3AE005A3060 /* version.h */; }; + AAA071800CE7B4FB005A3060 /* version.c in Sources */ = {isa = PBXBuildFile; fileRef = AAA070F00CE7B3AE005A3060 /* version.c */; }; + AAA071810CE7B4FC005A3060 /* timer.h in Headers */ = {isa = PBXBuildFile; fileRef = AAA070ED0CE7B3AD005A3060 /* timer.h */; }; + AAA071820CE7B4FD005A3060 /* timer.c in Sources */ = {isa = PBXBuildFile; fileRef = AAA070EC0CE7B3AD005A3060 /* timer.c */; }; + AAA071830CE7B4FE005A3060 /* synth.h in Headers */ = {isa = PBXBuildFile; fileRef = AAA070EB0CE7B3AD005A3060 /* synth.h */; }; + AAA071840CE7B4FE005A3060 /* synth.c in Sources */ = {isa = PBXBuildFile; fileRef = AAA070EA0CE7B3AD005A3060 /* synth.c */; }; + AAA071850CE7B4FF005A3060 /* stream.h in Headers */ = {isa = PBXBuildFile; fileRef = AAA070E90CE7B3AD005A3060 /* stream.h */; }; + AAA071860CE7B501005A3060 /* stream.c in Sources */ = {isa = PBXBuildFile; fileRef = AAA070E80CE7B3AD005A3060 /* stream.c */; }; + AAA071870CE7B502005A3060 /* mad.h in Headers */ = {isa = PBXBuildFile; fileRef = AAA070D40CE7B3AD005A3060 /* mad.h */; }; + AAA071880CE7B502005A3060 /* layer3.h in Headers */ = {isa = PBXBuildFile; fileRef = AAA070D10CE7B3AD005A3060 /* layer3.h */; }; + AAA071890CE7B503005A3060 /* layer3.c in Sources */ = {isa = PBXBuildFile; fileRef = AAA070D00CE7B3AD005A3060 /* layer3.c */; }; + AAA0718A0CE7B503005A3060 /* layer12.h in Headers */ = {isa = PBXBuildFile; fileRef = AAA070CF0CE7B3AD005A3060 /* layer12.h */; }; + AAA0718B0CE7B505005A3060 /* layer12.c in Sources */ = {isa = PBXBuildFile; fileRef = AAA070CE0CE7B3AD005A3060 /* layer12.c */; }; + AAA0718C0CE7B505005A3060 /* huffman.h in Headers */ = {isa = PBXBuildFile; fileRef = AAA070C90CE7B3AD005A3060 /* huffman.h */; }; + AAA0718D0CE7B506005A3060 /* huffman.c in Sources */ = {isa = PBXBuildFile; fileRef = AAA070C80CE7B3AD005A3060 /* huffman.c */; }; + AAA0718E0CE7B508005A3060 /* global.h in Headers */ = {isa = PBXBuildFile; fileRef = AAA070C70CE7B3AD005A3060 /* global.h */; }; + AAA0718F0CE7B508005A3060 /* frame.h in Headers */ = {isa = PBXBuildFile; fileRef = AAA070C60CE7B3AD005A3060 /* frame.h */; }; + AAA071900CE7B509005A3060 /* frame.c in Sources */ = {isa = PBXBuildFile; fileRef = AAA070C50CE7B3AD005A3060 /* frame.c */; }; + AAA071910CE7B509005A3060 /* fixed.h in Headers */ = {isa = PBXBuildFile; fileRef = AAA070C40CE7B3AD005A3060 /* fixed.h */; }; + AAA071920CE7B50A005A3060 /* fixed.c in Sources */ = {isa = PBXBuildFile; fileRef = AAA070C30CE7B3AD005A3060 /* fixed.c */; }; + AAA071930CE7B50B005A3060 /* decoder.h in Headers */ = {isa = PBXBuildFile; fileRef = AAA070C10CE7B3AD005A3060 /* decoder.h */; }; + AAA071940CE7B50B005A3060 /* decoder.c in Sources */ = {isa = PBXBuildFile; fileRef = AAA070C00CE7B3AD005A3060 /* decoder.c */; }; + AAA071950CE7B50C005A3060 /* bit.h in Headers */ = {isa = PBXBuildFile; fileRef = AAA070B50CE7B3AD005A3060 /* bit.h */; }; + AAA071960CE7B50D005A3060 /* bit.c in Sources */ = {isa = PBXBuildFile; fileRef = AAA070B40CE7B3AD005A3060 /* bit.c */; }; + AAA071B40CE7C9C9005A3060 /* libmad-sm5.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AAA070A90CE7B0DF005A3060 /* libmad-sm5.a */; }; + AAA372D40909934500141131 /* MovieTexture_Generic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAA372D00909934500141131 /* MovieTexture_Generic.cpp */; }; + AAA372D60909934500141131 /* MovieTexture_Theora.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAA372D20909934500141131 /* MovieTexture_Theora.cpp */; }; + AAA6BFEC0644AB3700AFBBC8 /* ScreenWithMenuElements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAA6BFEA0644AB3700AFBBC8 /* ScreenWithMenuElements.cpp */; }; + AAA71EA105EE154E00D2E8FF /* global.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAA71EA005EE154E00D2E8FF /* global.cpp */; }; + AAA7D4C90C7E872600FB8F78 /* ScreenOptionsToggleSongs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAA7D4C70C7E872500FB8F78 /* ScreenOptionsToggleSongs.cpp */; }; + AAA7D4CB0C7E872600FB8F78 /* ScreenOptionsToggleSongs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAA7D4C70C7E872500FB8F78 /* ScreenOptionsToggleSongs.cpp */; }; + AAA7D4CC0C7E872600FB8F78 /* ScreenOptionsToggleSongs.h in Headers */ = {isa = PBXBuildFile; fileRef = AAA7D4C80C7E872500FB8F78 /* ScreenOptionsToggleSongs.h */; }; + AAA8E0030696984300FCE1F9 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AAA8E0020696984300FCE1F9 /* CoreAudio.framework */; }; + AAAA11C70A662F9D00B2BD88 /* ScoreKeeperShared.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAAA11C50A662F9C00B2BD88 /* ScoreKeeperShared.cpp */; }; + AAAA11C80A662F9D00B2BD88 /* ScoreKeeperShared.h in Headers */ = {isa = PBXBuildFile; fileRef = AAAA11C40A662F9C00B2BD88 /* ScoreKeeperShared.h */; }; + AAAA11C90A662F9D00B2BD88 /* ScoreKeeperShared.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAAA11C50A662F9C00B2BD88 /* ScoreKeeperShared.cpp */; }; + AAAB2CDF072BD2EC00CD9FC9 /* AutoKeysounds.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAAB2CDD072BD2EC00CD9FC9 /* AutoKeysounds.cpp */; }; + AAAB2CE3072BD2FA00CD9FC9 /* RageSoundMixBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAAB2CE1072BD2FA00CD9FC9 /* RageSoundMixBuffer.cpp */; }; + AAAFE8200835E7FF00FC43E0 /* WheelBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAAFE81C0835E7FF00FC43E0 /* WheelBase.cpp */; }; + AAAFE8220835E7FF00FC43E0 /* WheelItemBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAAFE81E0835E7FF00FC43E0 /* WheelItemBase.cpp */; }; + AAAFE8300835E8B100FC43E0 /* RoomWheel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAAFE82E0835E8B100FC43E0 /* RoomWheel.cpp */; }; + AAB005F20579B8CB000BBA58 /* AttackDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB005F00579B8CB000BBA58 /* AttackDisplay.cpp */; }; + AAB00861057F4F7A000BBA58 /* RageFileDriver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB0085B057F4F7A000BBA58 /* RageFileDriver.cpp */; }; + AAB00863057F4F7A000BBA58 /* RageFileDriverDirect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB0085D057F4F7A000BBA58 /* RageFileDriverDirect.cpp */; }; + AAB00865057F4F7A000BBA58 /* RageFileManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB0085F057F4F7A000BBA58 /* RageFileManager.cpp */; }; + AAB3B7DC0C6C582E001BF487 /* ScreenSelectProfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB3B7DA0C6C582D001BF487 /* ScreenSelectProfile.cpp */; }; + AAB3B7DE0C6C582E001BF487 /* ScreenSelectProfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB3B7DA0C6C582D001BF487 /* ScreenSelectProfile.cpp */; }; + AAB3B7DF0C6C582E001BF487 /* ScreenSelectProfile.h in Headers */ = {isa = PBXBuildFile; fileRef = AAB3B7DB0C6C582D001BF487 /* ScreenSelectProfile.h */; }; + AAB3BB590C718F2D001BF487 /* RageUtil_CachedObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB3BB570C718F2C001BF487 /* RageUtil_CachedObject.cpp */; }; + AAB3BB5B0C718F2D001BF487 /* RageUtil_CachedObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB3BB570C718F2C001BF487 /* RageUtil_CachedObject.cpp */; }; + AAB3BB5C0C718F2D001BF487 /* RageUtil_CachedObject.h in Headers */ = {isa = PBXBuildFile; fileRef = AAB3BB580C718F2C001BF487 /* RageUtil_CachedObject.h */; }; + AAB55EBB09A7E3D3008FDC69 /* ScreenGameplaySyncMachine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB55EB509A7E3D3008FDC69 /* ScreenGameplaySyncMachine.cpp */; }; + AAB55EBD09A7E3D3008FDC69 /* ScreenUnlockBrowse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB55EB709A7E3D3008FDC69 /* ScreenUnlockBrowse.cpp */; }; + AAB55EBF09A7E3D3008FDC69 /* ScreenUnlockCelebrate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB55EB909A7E3D3008FDC69 /* ScreenUnlockCelebrate.cpp */; }; + AAB55FFF09A84E62008FDC69 /* ScreenUnlockCelebrate.h in Headers */ = {isa = PBXBuildFile; fileRef = AAB55EBA09A7E3D3008FDC69 /* ScreenUnlockCelebrate.h */; }; + AAB5600009A84E63008FDC69 /* ScreenUnlockCelebrate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB55EB909A7E3D3008FDC69 /* ScreenUnlockCelebrate.cpp */; }; + AAB5600109A84E64008FDC69 /* ScreenUnlockBrowse.h in Headers */ = {isa = PBXBuildFile; fileRef = AAB55EB809A7E3D3008FDC69 /* ScreenUnlockBrowse.h */; }; + AAB5600209A84E65008FDC69 /* ScreenUnlockBrowse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB55EB709A7E3D3008FDC69 /* ScreenUnlockBrowse.cpp */; }; + AAB691F405704FA50078BED4 /* LightsDriver_SystemMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB691F205704FA50078BED4 /* LightsDriver_SystemMessage.cpp */; }; + AAB6B477085761B700CEE7BA /* ScreenSplash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB6B475085761B700CEE7BA /* ScreenSplash.cpp */; }; + AAB779FB0B0D9CB200B74314 /* ScoreKeeperGuitar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB779F90B0D9CB200B74314 /* ScoreKeeperGuitar.cpp */; }; + AAB779FD0B0D9CB200B74314 /* ScoreKeeperGuitar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB779F90B0D9CB200B74314 /* ScoreKeeperGuitar.cpp */; }; + AAB779FE0B0D9CB200B74314 /* ScoreKeeperGuitar.h in Headers */ = {isa = PBXBuildFile; fileRef = AAB779FA0B0D9CB200B74314 /* ScoreKeeperGuitar.h */; }; + AAB9C8AF06EAF64400AD97CD /* RageSurfaceUtils_Palettize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB9C8AB06EAF64400AD97CD /* RageSurfaceUtils_Palettize.cpp */; }; + AAB9C8B106EAF64400AD97CD /* RageSurfaceUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB9C8AD06EAF64400AD97CD /* RageSurfaceUtils.cpp */; }; + AAB9C8B506EAF66C00AD97CD /* ScreenNetEvaluation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB9C8B306EAF66C00AD97CD /* ScreenNetEvaluation.cpp */; }; + AABBD80805D8E9FC00B44FC2 /* HighScore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AABBD80605D8E9FC00B44FC2 /* HighScore.cpp */; }; + AABBF6760659E78D00738526 /* RageSurface_Load_GIF.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AABBF66C0659E78D00738526 /* RageSurface_Load_GIF.cpp */; }; + AABBF6780659E78D00738526 /* RageSurface_Load_JPEG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AABBF66E0659E78D00738526 /* RageSurface_Load_JPEG.cpp */; }; + AABBF67A0659E78D00738526 /* RageSurface_Load_PNG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AABBF6700659E78D00738526 /* RageSurface_Load_PNG.cpp */; }; + AABBF67C0659E78D00738526 /* RageSurface_Load_XPM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AABBF6720659E78D00738526 /* RageSurface_Load_XPM.cpp */; }; + AABBF67E0659E78D00738526 /* RageSurface_Load.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AABBF6740659E78D00738526 /* RageSurface_Load.cpp */; }; + AABBFCD309838C3A00F077E2 /* SMMain.mm in Sources */ = {isa = PBXBuildFile; fileRef = AABBFCD209838C3A00F077E2 /* SMMain.mm */; }; + AABD0B3A05DF3F22004F7929 /* CryptManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AABD0B3605DF3F22004F7929 /* CryptManager.cpp */; settings = {COMPILER_FLAGS = "-O0 -Wno-uninitialized"; }; }; + AABE321C05ACD8ED001A0E84 /* ScreenEnding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AABE321A05ACD8ED001A0E84 /* ScreenEnding.cpp */; }; + AABE322005ACD931001A0E84 /* Foreground.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AABE321E05ACD931001A0E84 /* Foreground.cpp */; }; + AABE322405ACDA52001A0E84 /* RageFileDriverDirectHelpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AABE322205ACDA52001A0E84 /* RageFileDriverDirectHelpers.cpp */; }; + AABE788E05912B0600E8BF50 /* DualScrollBar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AABE788C05912B0600E8BF50 /* DualScrollBar.cpp */; }; + AABE830E0A9524D400001678 /* ModsGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AABE830D0A9524D400001678 /* ModsGroup.cpp */; }; + AABE830F0A9524D400001678 /* ModsGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AABE830D0A9524D400001678 /* ModsGroup.cpp */; }; + AAC0BFE10E2951EC00F56EEB /* CryptHelpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAC0BFDF0E2951EC00F56EEB /* CryptHelpers.cpp */; }; + AAC0BFE30E2951EC00F56EEB /* CryptHelpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAC0BFDF0E2951EC00F56EEB /* CryptHelpers.cpp */; }; + AAC0BFE40E2951EC00F56EEB /* CryptHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = AAC0BFE00E2951EC00F56EEB /* CryptHelpers.h */; }; + AAC0C8C20984AE3B0075FC53 /* Tween.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAC0C8C00984AE3B0075FC53 /* Tween.cpp */; }; + AAC6DCE50567660A00B5D56F /* LightsManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAC6DCE30567660A00B5D56F /* LightsManager.cpp */; }; + AAC6DDE00569C71000B5D56F /* PaneDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAC6DDDE0569C71000B5D56F /* PaneDisplay.cpp */; }; + AAC6DDE80569C80900B5D56F /* DifficultyList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAC6DDE60569C80900B5D56F /* DifficultyList.cpp */; }; + AAC9F330069E22BB00D53E2C /* GameSoundManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAC9F32E069E22BB00D53E2C /* GameSoundManager.cpp */; }; + AAC9F334069E22CF00D53E2C /* MemoryCardDriver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAC9F332069E22CF00D53E2C /* MemoryCardDriver.cpp */; }; + AACA593107B5E23400763545 /* RageFileDriverTimeout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AACA592A07B5E23400763545 /* RageFileDriverTimeout.cpp */; }; + AACA593407B5E23400763545 /* RageUtil_WorkerThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AACA592D07B5E23400763545 /* RageUtil_WorkerThread.cpp */; }; + AACFBE2808E7D793005087FC /* ActorSound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AACFBE2608E7D793005087FC /* ActorSound.cpp */; }; + AACFBE4F08E7D893005087FC /* ScreenGameplayLesson.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AACFBE4908E7D893005087FC /* ScreenGameplayLesson.cpp */; }; + AACFBE6308E7DBA8005087FC /* LuaExpressionTransform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AACFBE6108E7DBA8005087FC /* LuaExpressionTransform.cpp */; }; + AAD36084062BB8AE00D0CED8 /* RageSoundPosMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAD36082062BB8AE00D0CED8 /* RageSoundPosMap.cpp */; }; + AAD5219C095513DA00073D86 /* XmlFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAC6889905D7F3C800964E6D /* XmlFile.cpp */; }; + AAD675F606795175006002B0 /* Dialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAD675EF06795175006002B0 /* Dialog.cpp */; }; + AAD6A714065E0FDF0042165A /* Difficulty.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAD6A712065E0FDF0042165A /* Difficulty.cpp */; }; + AAD8F9340A4B97DF000311CF /* ScreenGameplayShared.h in Headers */ = {isa = PBXBuildFile; fileRef = AAD8F9320A4B97DF000311CF /* ScreenGameplayShared.h */; }; + AAD8F9350A4B97DF000311CF /* ScreenGameplayShared.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAD8F9330A4B97DF000311CF /* ScreenGameplayShared.cpp */; }; + AAD8F9370A4B97DF000311CF /* ScreenGameplayShared.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAD8F9330A4B97DF000311CF /* ScreenGameplayShared.cpp */; }; + AADD1CC5095C233F0088C9DF /* LocalizedString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AADD1CC2095C233E0088C9DF /* LocalizedString.cpp */; }; + AAE2D6D40A67481E00071546 /* ScoreKeeper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAE2D6D30A67481E00071546 /* ScoreKeeper.cpp */; }; + AAE2D6D50A67481E00071546 /* ScoreKeeper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAE2D6D30A67481E00071546 /* ScoreKeeper.cpp */; }; + AAE77F580AC3B52500AEFC64 /* RageTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAE77F570AC3B52500AEFC64 /* RageTypes.cpp */; }; + AAE77F590AC3B52500AEFC64 /* RageTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAE77F570AC3B52500AEFC64 /* RageTypes.cpp */; }; + AAE780400AC76A1200AEFC64 /* WorkoutGraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAE7803C0AC76A1200AEFC64 /* WorkoutGraph.cpp */; }; + AAE780440AC76A1200AEFC64 /* WorkoutGraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAE7803C0AC76A1200AEFC64 /* WorkoutGraph.cpp */; }; + AAE780450AC76A1200AEFC64 /* WorkoutGraph.h in Headers */ = {isa = PBXBuildFile; fileRef = AAE7803D0AC76A1200AEFC64 /* WorkoutGraph.h */; }; + AAE7804B060814AC0034E65F /* NetworkSyncManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAE78049060814AC0034E65F /* NetworkSyncManager.cpp */; }; + AAE7808706081A000034E65F /* ezsockets.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAE7808506081A000034E65F /* ezsockets.cpp */; }; + AAE7812D0608249E0034E65F /* ActiveAttackList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAE7812B0608249E0034E65F /* ActiveAttackList.cpp */; }; + AAE782030AC7E64D00AEFC64 /* liblua-5.1-sm5.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AAE7817E0AC7E37B00AEFC64 /* liblua-5.1-sm5.a */; }; + AAE782040AC7E65200AEFC64 /* liblua-5.1-sm5.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AAE7817E0AC7E37B00AEFC64 /* liblua-5.1-sm5.a */; }; + AAEBC6CC07A20AFE00793F0E /* RageSurface_Save_JPEG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAEBC6C607A20AFE00793F0E /* RageSurface_Save_JPEG.cpp */; }; + AAEBC6CE07A20AFE00793F0E /* RageSurfaceUtils_Dither.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAEBC6C807A20AFE00793F0E /* RageSurfaceUtils_Dither.cpp */; }; + AAEBC6D007A20AFE00793F0E /* RageSurfaceUtils_Zoom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAEBC6CA07A20AFE00793F0E /* RageSurfaceUtils_Zoom.cpp */; }; + AAEBC79107A4FF5600793F0E /* LuaManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAEBC78D07A4FF5600793F0E /* LuaManager.cpp */; }; + AAEBF5600B5C517E005F3C7C /* SampleHistory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAEBF55E0B5C517E005F3C7C /* SampleHistory.cpp */; }; + AAEBF5620B5C517E005F3C7C /* SampleHistory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAEBF55E0B5C517E005F3C7C /* SampleHistory.cpp */; }; + AAEBF5630B5C517E005F3C7C /* SampleHistory.h in Headers */ = {isa = PBXBuildFile; fileRef = AAEBF55F0B5C517E005F3C7C /* SampleHistory.h */; }; + AAEBF57E0B5C83F4005F3C7C /* SoundEffectControl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAEBF57C0B5C83F4005F3C7C /* SoundEffectControl.cpp */; }; + AAEBF5800B5C83F4005F3C7C /* SoundEffectControl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAEBF57C0B5C83F4005F3C7C /* SoundEffectControl.cpp */; }; + AAEBF5810B5C83F4005F3C7C /* SoundEffectControl.h in Headers */ = {isa = PBXBuildFile; fileRef = AAEBF57D0B5C83F4005F3C7C /* SoundEffectControl.h */; }; + AAED6F2C0601C528002D2DEE /* Backtrace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAED6F280601C528002D2DEE /* Backtrace.cpp */; }; + AAED6F2E0601C528002D2DEE /* BacktraceNames.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAED6F2A0601C528002D2DEE /* BacktraceNames.cpp */; }; + AAEDFD690A03762B00590617 /* Crash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAEDFD680A03762B00590617 /* Crash.cpp */; }; + AAEDFD6A0A03762B00590617 /* Crash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAEDFD680A03762B00590617 /* Crash.cpp */; }; + AAF3442B08F1C36A0006EDB7 /* DynamicActorScroller.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAF3442908F1C36A0006EDB7 /* DynamicActorScroller.cpp */; }; + AAF34ADE0900AEBD0006EDB7 /* ScoreKeeperNormal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAF34ADC0900AEBD0006EDB7 /* ScoreKeeperNormal.cpp */; }; + AAF34AED0900B00C0006EDB7 /* ScreenStatsOverlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAF34AEB0900B00C0006EDB7 /* ScreenStatsOverlay.cpp */; }; + AAF4206705D63FA700056441 /* ModelManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAF4206505D63FA700056441 /* ModelManager.cpp */; }; + AAF4206B05D6400800056441 /* RageModelGeometry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAF4206905D6400800056441 /* RageModelGeometry.cpp */; }; + AAF6A2F909B695BA00D5C614 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = AAF6A2F709B695BA00D5C614 /* Localizable.strings */; }; + AAF6A2FA09B695BA00D5C614 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = AAF6A2F709B695BA00D5C614 /* Localizable.strings */; }; + AAF7435B06110E8D00B19AD1 /* ScreenTestLights.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAF7435906110E8D00B19AD1 /* ScreenTestLights.cpp */; }; + AAF74590061181F700B19AD1 /* RageDisplay_Null.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAF7458E061181F700B19AD1 /* RageDisplay_Null.cpp */; }; + AAF793F5074FE69E00D74516 /* ScreenNetRoom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAF793F1074FE69E00D74516 /* ScreenNetRoom.cpp */; }; + AAF793F7074FE69E00D74516 /* ScreenNetSelectBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAF793F3074FE69E00D74516 /* ScreenNetSelectBase.cpp */; }; + AAFAB5C10889098600767BF7 /* ScreenOptionsEditProfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFAB5BB0889098600767BF7 /* ScreenOptionsEditProfile.cpp */; }; + AAFAB5CD08890B5200767BF7 /* GameLoop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFAB5CB08890B5200767BF7 /* GameLoop.cpp */; }; + AAFAFC8F0AC8DB9F00427A6E /* EnumHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFAFC8E0AC8DB9F00427A6E /* EnumHelper.cpp */; }; + AAFAFC900AC8DB9F00427A6E /* EnumHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFAFC8E0AC8DB9F00427A6E /* EnumHelper.cpp */; }; + AAFB549E0B1BC32700FC3A81 /* RageSoundReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFB549D0B1BC32700FC3A81 /* RageSoundReader.cpp */; }; + AAFB549F0B1BC32700FC3A81 /* RageSoundReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFB549D0B1BC32700FC3A81 /* RageSoundReader.cpp */; }; + AAFBEED1094D7FCB000029DE /* SpecialFiles.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFBEECF094D7FCB000029DE /* SpecialFiles.cpp */; }; + AAFBEEEB094D807E000029DE /* ScreenOptionsManageEditSteps.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFBEEE5094D807E000029DE /* ScreenOptionsManageEditSteps.cpp */; }; + AAFBEEED094D807E000029DE /* ScreenOptionsMemoryCard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFBEEE7094D807E000029DE /* ScreenOptionsMemoryCard.cpp */; }; + AAFBEEEF094D807E000029DE /* ScreenServiceAction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFBEEE9094D807E000029DE /* ScreenServiceAction.cpp */; }; + AAFC6CF1072A30440053AAD3 /* InputHandler_MonkeyKeyboard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFC6CEF072A30440053AAD3 /* InputHandler_MonkeyKeyboard.cpp */; }; + AAFE710B0A91ADE6005F2290 /* ActorProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFE71090A91ADE6005F2290 /* ActorProxy.cpp */; }; + AAFE710D0A91ADE6005F2290 /* ActorProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFE71090A91ADE6005F2290 /* ActorProxy.cpp */; }; + AAFE710E0A91ADE6005F2290 /* ActorProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = AAFE710A0A91ADE6005F2290 /* ActorProxy.h */; }; + AAFE711F0A91B551005F2290 /* RageSurface_Save_PNG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFE711C0A91B551005F2290 /* RageSurface_Save_PNG.cpp */; }; + AAFE71200A91B551005F2290 /* RoomInfoDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFE711D0A91B551005F2290 /* RoomInfoDisplay.cpp */; }; + AAFE71220A91B551005F2290 /* RageSurface_Save_PNG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFE711C0A91B551005F2290 /* RageSurface_Save_PNG.cpp */; }; + AAFE712A0A91B58F005F2290 /* RageSurface_Save_PNG.h in Headers */ = {isa = PBXBuildFile; fileRef = AAFE71280A91B58F005F2290 /* RageSurface_Save_PNG.h */; }; + AAFF41A30F5BD4AD00FFDB67 /* ScreenOptionsExportPackage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFF41A10F5BD4AD00FFDB67 /* ScreenOptionsExportPackage.cpp */; }; + AAFF41A40F5BD4AD00FFDB67 /* ScreenOptionsExportPackage.h in Headers */ = {isa = PBXBuildFile; fileRef = AAFF41A20F5BD4AD00FFDB67 /* ScreenOptionsExportPackage.h */; }; + AAFF41A50F5BD4AD00FFDB67 /* ScreenOptionsExportPackage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAFF41A10F5BD4AD00FFDB67 /* ScreenOptionsExportPackage.cpp */; }; + AAFF41A60F5BD4AD00FFDB67 /* ScreenOptionsExportPackage.h in Headers */ = {isa = PBXBuildFile; fileRef = AAFF41A20F5BD4AD00FFDB67 /* ScreenOptionsExportPackage.h */; }; + B71A60C0139B41DB00183A27 /* InGameLoadingWindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B71A60BE139B41DB00183A27 /* InGameLoadingWindow.cpp */; }; + B71A60C1139B41DB00183A27 /* InGameLoadingWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = B71A60BF139B41DB00183A27 /* InGameLoadingWindow.h */; }; + B75CE3B5137963350076A82D /* SongPosition.h in Headers */ = {isa = PBXBuildFile; fileRef = B75CE3B3137963350076A82D /* SongPosition.h */; }; + B75CE3B6137963350076A82D /* SongPosition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B75CE3B4137963350076A82D /* SongPosition.cpp */; }; + EE2153A910A75BEE0074B01B /* NotesLoaderPMS.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EE2153A710A75BEE0074B01B /* NotesLoaderPMS.cpp */; }; + EE2153AA10A75BEE0074B01B /* NotesLoaderPMS.h in Headers */ = {isa = PBXBuildFile; fileRef = EE2153A810A75BEE0074B01B /* NotesLoaderPMS.h */; }; + EE879B60132DEE720078FDDC /* RageDisplay_Legacy_Helpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EE879B5C132DEE720078FDDC /* RageDisplay_Legacy_Helpers.cpp */; }; + EE879B61132DEE720078FDDC /* RageDisplay_Legacy_Helpers.h in Headers */ = {isa = PBXBuildFile; fileRef = EE879B5D132DEE720078FDDC /* RageDisplay_Legacy_Helpers.h */; }; + EE879B62132DEE720078FDDC /* RageDisplay_Legacy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EE879B5E132DEE720078FDDC /* RageDisplay_Legacy.cpp */; }; + EE879B63132DEE720078FDDC /* RageDisplay_Legacy.h in Headers */ = {isa = PBXBuildFile; fileRef = EE879B5F132DEE720078FDDC /* RageDisplay_Legacy.h */; }; + EE906F6612BF3A1B00146C96 /* ScreenInstallOverlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EE906F6412BF3A1B00146C96 /* ScreenInstallOverlay.cpp */; }; + EE906F6712BF3A1B00146C96 /* ScreenInstallOverlay.h in Headers */ = {isa = PBXBuildFile; fileRef = EE906F6512BF3A1B00146C96 /* ScreenInstallOverlay.h */; }; + EE906F8212BF3AF800146C96 /* JsonUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EE906F8012BF3AF800146C96 /* JsonUtil.cpp */; }; + EE906F8312BF3AF800146C96 /* JsonUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = EE906F8112BF3AF800146C96 /* JsonUtil.h */; }; + EE906F8A12BF3C7C00146C96 /* FileDownload.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EE906F8812BF3C7C00146C96 /* FileDownload.cpp */; }; + EE906F8B12BF3C7C00146C96 /* FileDownload.h in Headers */ = {isa = PBXBuildFile; fileRef = EE906F8912BF3C7C00146C96 /* FileDownload.h */; }; + EEA7C84310A805A300082E7B /* ScreenPackagesSSC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EEA7C84110A805A300082E7B /* ScreenPackagesSSC.cpp */; }; + EEA7C84410A805A300082E7B /* ScreenPackagesSSC.h in Headers */ = {isa = PBXBuildFile; fileRef = EEA7C84210A805A300082E7B /* ScreenPackagesSSC.h */; }; + EEC7863F0E58208B00F559BC /* StepsDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EEC7863D0E58208B00F559BC /* StepsDisplay.cpp */; }; + F4BC045409E6B578003F770B /* ScreenGameplaySyncMachine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AAB55EB509A7E3D3008FDC69 /* ScreenGameplaySyncMachine.cpp */; }; + F4BC045509E6B582003F770B /* ScreenGameplaySyncMachine.h in Headers */ = {isa = PBXBuildFile; fileRef = AAB55EB609A7E3D3008FDC69 /* ScreenGameplaySyncMachine.h */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 2B17AB8D13981009001AE57D /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; + proxyType = 1; + remoteGlobalIDString = 2B17AB7113980FDF001AE57D; + remoteInfo = png; + }; + 2B17ABD0139815EB001AE57D /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; + proxyType = 1; + remoteGlobalIDString = 2B17ABBF13981521001AE57D; + remoteInfo = glew; + }; + 2B17ABFE139817DF001AE57D /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; + proxyType = 1; + remoteGlobalIDString = 2B17ABDF13981756001AE57D; + remoteInfo = pcre; + }; + AA30C61907F5E2EF0066F398 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; + proxyType = 1; + remoteGlobalIDString = AA30C60F07F5E24A0066F398; + remoteInfo = version; + }; + AA40D1B609A08D650068C0D5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; + proxyType = 1; + remoteGlobalIDString = AA30C60F07F5E24A0066F398; + remoteInfo = version; + }; + AA7A2BA50AE09C9B0054C5BA /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; + proxyType = 1; + remoteGlobalIDString = AAE7817D0AC7E37B00AEFC64; + remoteInfo = "lua-5.1"; + }; + AA7A2BAD0AE09CDB0054C5BA /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; + proxyType = 1; + remoteGlobalIDString = AAE7817D0AC7E37B00AEFC64; + remoteInfo = "lua-5.1"; + }; + AA7A2BB40AE09D160054C5BA /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; + proxyType = 1; + remoteGlobalIDString = AA7A2B930AE09B520054C5BA; + remoteInfo = lua; + }; + AA7A2BB60AE09D160054C5BA /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; + proxyType = 1; + remoteGlobalIDString = AA7A2BAA0AE09CD50054C5BA; + remoteInfo = luac; + }; + AA7C8D150B6748B800FD9940 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; + proxyType = 1; + remoteGlobalIDString = AA7C895E0B67444700FD9940; + remoteInfo = tommath; + }; + AA7C8D170B6748B800FD9940 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; + proxyType = 1; + remoteGlobalIDString = AA7C8B8A0B67460600FD9940; + remoteInfo = tomcrypt; + }; + AA7C8D1B0B6748CD00FD9940 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; + proxyType = 1; + remoteGlobalIDString = AA7C895E0B67444700FD9940; + remoteInfo = tommath; + }; + AA7C8D1D0B6748CD00FD9940 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; + proxyType = 1; + remoteGlobalIDString = AA7C8B8A0B67460600FD9940; + remoteInfo = tomcrypt; + }; + AAA071A90CE7B879005A3060 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; + proxyType = 1; + remoteGlobalIDString = AAA070A80CE7B0DF005A3060; + remoteInfo = mad; + }; + AAE781FD0AC7E61900AEFC64 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; + proxyType = 1; + remoteGlobalIDString = AAE7817D0AC7E37B00AEFC64; + remoteInfo = "lua-5.1"; + }; + AAE782010AC7E63100AEFC64 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; + proxyType = 1; + remoteGlobalIDString = AAE7817D0AC7E37B00AEFC64; + remoteInfo = "lua-5.1"; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + AA40D37D09A08D650068C0D5 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AA4B428C05733DF2005FB5DB /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; + 1215D7A008C6559A00B87D8B /* ScreenGameplayNormal.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenGameplayNormal.cpp; path = ../src/ScreenGameplayNormal.cpp; sourceTree = ""; }; + 1215D7A108C6559A00B87D8B /* ScreenGameplayNormal.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenGameplayNormal.h; path = ../src/ScreenGameplayNormal.h; sourceTree = ""; }; + 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; + 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; + 2B17AB7213980FDF001AE57D /* libpng-1.5.1-sm5.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libpng-1.5.1-sm5.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 2B17ABC013981521001AE57D /* libglew-sm5.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libglew-sm5.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 2B17ABE013981756001AE57D /* libpcre-sm5.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libpcre-sm5.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 2B30D6801315EA7E00044B68 /* MouseDevice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MouseDevice.cpp; sourceTree = ""; }; + 2B30D6811315EA7E00044B68 /* MouseDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MouseDevice.h; sourceTree = ""; }; + 2B43509313949F37006FA051 /* TimingSegments.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TimingSegments.h; path = ../src/TimingSegments.h; sourceTree = SOURCE_ROOT; }; + 2B43509413949F37006FA051 /* TimingSegments.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TimingSegments.cpp; path = ../src/TimingSegments.cpp; sourceTree = SOURCE_ROOT; }; + 2B766989132FF71500586512 /* NotesLoaderSMA.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NotesLoaderSMA.h; path = ../src/NotesLoaderSMA.h; sourceTree = SOURCE_ROOT; }; + 2B76698A132FF71500586512 /* NotesLoaderSMA.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NotesLoaderSMA.cpp; path = ../src/NotesLoaderSMA.cpp; sourceTree = SOURCE_ROOT; }; + 2B9C2E89137A138B004C92F3 /* NotesLoaderJson.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NotesLoaderJson.cpp; path = ../src/NotesLoaderJson.cpp; sourceTree = SOURCE_ROOT; }; + 2B9C2E8A137A138B004C92F3 /* NotesLoaderJson.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NotesLoaderJson.h; path = ../src/NotesLoaderJson.h; sourceTree = SOURCE_ROOT; }; + 2B9C2E8B137A138B004C92F3 /* NotesWriterJson.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NotesWriterJson.cpp; path = ../src/NotesWriterJson.cpp; sourceTree = SOURCE_ROOT; }; + 2B9C2E8C137A138B004C92F3 /* NotesWriterJson.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NotesWriterJson.h; path = ../src/NotesWriterJson.h; sourceTree = SOURCE_ROOT; }; + 2BA7925A1304F20D002BD8E1 /* NotesLoaderSSC.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NotesLoaderSSC.cpp; path = ../src/NotesLoaderSSC.cpp; sourceTree = SOURCE_ROOT; }; + 2BA7925B1304F20D002BD8E1 /* NotesLoaderSSC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NotesLoaderSSC.h; path = ../src/NotesLoaderSSC.h; sourceTree = SOURCE_ROOT; }; + 2BA7925C1304F20D002BD8E1 /* NotesWriterSSC.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NotesWriterSSC.cpp; path = ../src/NotesWriterSSC.cpp; sourceTree = SOURCE_ROOT; }; + 2BA7925D1304F20D002BD8E1 /* NotesWriterSSC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NotesWriterSSC.h; path = ../src/NotesWriterSSC.h; sourceTree = SOURCE_ROOT; }; + 2BC6130D13773C8E00CC8BBD /* png.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = png.c; path = ../extern/libpng/include/png.c; sourceTree = SOURCE_ROOT; }; + 2BC6130E13773C8E00CC8BBD /* png.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = png.h; path = ../extern/libpng/include/png.h; sourceTree = SOURCE_ROOT; }; + 2BC6130F13773C8E00CC8BBD /* pngconf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = ../extern/libpng/include/pngconf.h; sourceTree = SOURCE_ROOT; }; + 2BC6131013773C8E00CC8BBD /* pngdebug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pngdebug.h; path = ../extern/libpng/include/pngdebug.h; sourceTree = SOURCE_ROOT; }; + 2BC6131113773C8E00CC8BBD /* pngerror.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = ../extern/libpng/include/pngerror.c; sourceTree = SOURCE_ROOT; }; + 2BC6131213773C8E00CC8BBD /* pngget.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = ../extern/libpng/include/pngget.c; sourceTree = SOURCE_ROOT; }; + 2BC6131313773C8E00CC8BBD /* pnginfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = ../extern/libpng/include/pnginfo.h; sourceTree = SOURCE_ROOT; }; + 2BC6131413773C8E00CC8BBD /* pngmem.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = ../extern/libpng/include/pngmem.c; sourceTree = SOURCE_ROOT; }; + 2BC6131513773C8E00CC8BBD /* pngpread.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = ../extern/libpng/include/pngpread.c; sourceTree = SOURCE_ROOT; }; + 2BC6131613773C8E00CC8BBD /* pngpriv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = ../extern/libpng/include/pngpriv.h; sourceTree = SOURCE_ROOT; }; + 2BC6131713773C8E00CC8BBD /* pngread.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = ../extern/libpng/include/pngread.c; sourceTree = SOURCE_ROOT; }; + 2BC6131813773C8E00CC8BBD /* pngrio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = ../extern/libpng/include/pngrio.c; sourceTree = SOURCE_ROOT; }; + 2BC6131913773C8E00CC8BBD /* pngrtran.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = ../extern/libpng/include/pngrtran.c; sourceTree = SOURCE_ROOT; }; + 2BC6131A13773C8E00CC8BBD /* pngrutil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = ../extern/libpng/include/pngrutil.c; sourceTree = SOURCE_ROOT; }; + 2BC6131B13773C8E00CC8BBD /* pngset.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = ../extern/libpng/include/pngset.c; sourceTree = SOURCE_ROOT; }; + 2BC6131C13773C8E00CC8BBD /* pngstruct.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = ../extern/libpng/include/pngstruct.h; sourceTree = SOURCE_ROOT; }; + 2BC6131E13773C8E00CC8BBD /* pngtrans.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = ../extern/libpng/include/pngtrans.c; sourceTree = SOURCE_ROOT; }; + 2BC6132013773C8E00CC8BBD /* pngwio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = ../extern/libpng/include/pngwio.c; sourceTree = SOURCE_ROOT; }; + 2BC6132113773C8E00CC8BBD /* pngwrite.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = ../extern/libpng/include/pngwrite.c; sourceTree = SOURCE_ROOT; }; + 2BC6132213773C8E00CC8BBD /* pngwtran.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = ../extern/libpng/include/pngwtran.c; sourceTree = SOURCE_ROOT; }; + 2BC6132313773C8E00CC8BBD /* pngwutil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = ../extern/libpng/include/pngwutil.c; sourceTree = SOURCE_ROOT; }; + 2BC6133D13773D2C00CC8BBD /* pnglibconf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pnglibconf.h; path = ../extern/libpng/include/pnglibconf.h; sourceTree = SOURCE_ROOT; }; + 2BD06FDD137240CF0018CB9F /* json_batchallocator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = json_batchallocator.h; path = ../extern/jsoncpp/src/lib_json/json_batchallocator.h; sourceTree = SOURCE_ROOT; }; + 2BD06FDE137240CF0018CB9F /* json_internalarray.inl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = json_internalarray.inl; path = ../extern/jsoncpp/src/lib_json/json_internalarray.inl; sourceTree = SOURCE_ROOT; }; + 2BD06FDF137240CF0018CB9F /* json_internalmap.inl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = json_internalmap.inl; path = ../extern/jsoncpp/src/lib_json/json_internalmap.inl; sourceTree = SOURCE_ROOT; }; + 2BD06FE0137240CF0018CB9F /* json_reader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = json_reader.cpp; path = ../extern/jsoncpp/src/lib_json/json_reader.cpp; sourceTree = SOURCE_ROOT; }; + 2BD06FE1137240CF0018CB9F /* json_value.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = json_value.cpp; path = ../extern/jsoncpp/src/lib_json/json_value.cpp; sourceTree = SOURCE_ROOT; }; + 2BD06FE2137240CF0018CB9F /* json_valueiterator.inl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = json_valueiterator.inl; path = ../extern/jsoncpp/src/lib_json/json_valueiterator.inl; sourceTree = SOURCE_ROOT; }; + 2BD06FE3137240CF0018CB9F /* json_writer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = json_writer.cpp; path = ../extern/jsoncpp/src/lib_json/json_writer.cpp; sourceTree = SOURCE_ROOT; }; + 2BDB88B2137201F700E6FD3A /* lapi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = lapi.c; path = "../extern/lua-5.1/src/lapi.c"; sourceTree = SOURCE_ROOT; }; + 2BDB88B3137201F700E6FD3A /* lapi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lapi.h; path = "../extern/lua-5.1/src/lapi.h"; sourceTree = SOURCE_ROOT; }; + 2BDB88B4137201F700E6FD3A /* lauxlib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = lauxlib.c; path = "../extern/lua-5.1/src/lauxlib.c"; sourceTree = SOURCE_ROOT; }; + 2BDB88B5137201F700E6FD3A /* lauxlib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lauxlib.h; path = "../extern/lua-5.1/src/lauxlib.h"; sourceTree = SOURCE_ROOT; }; + 2BDB88B6137201F700E6FD3A /* lbaselib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = lbaselib.c; path = "../extern/lua-5.1/src/lbaselib.c"; sourceTree = SOURCE_ROOT; }; + 2BDB88B7137201F700E6FD3A /* lcode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = lcode.c; path = "../extern/lua-5.1/src/lcode.c"; sourceTree = SOURCE_ROOT; }; + 2BDB88B8137201F700E6FD3A /* lcode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lcode.h; path = "../extern/lua-5.1/src/lcode.h"; sourceTree = SOURCE_ROOT; }; + 2BDB88B9137201F700E6FD3A /* ldblib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ldblib.c; path = "../extern/lua-5.1/src/ldblib.c"; sourceTree = SOURCE_ROOT; }; + 2BDB88BA137201F700E6FD3A /* ldebug.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ldebug.c; path = "../extern/lua-5.1/src/ldebug.c"; sourceTree = SOURCE_ROOT; }; + 2BDB88BB137201F700E6FD3A /* ldebug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ldebug.h; path = "../extern/lua-5.1/src/ldebug.h"; sourceTree = SOURCE_ROOT; }; + 2BDB88BC137201F700E6FD3A /* ldo.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ldo.c; path = "../extern/lua-5.1/src/ldo.c"; sourceTree = SOURCE_ROOT; }; + 2BDB88BD137201F700E6FD3A /* ldo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ldo.h; path = "../extern/lua-5.1/src/ldo.h"; sourceTree = SOURCE_ROOT; }; + 2BDB88BE137201F700E6FD3A /* ldump.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ldump.c; path = "../extern/lua-5.1/src/ldump.c"; sourceTree = SOURCE_ROOT; }; + 2BDB88BF137201F700E6FD3A /* lfunc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = lfunc.c; path = "../extern/lua-5.1/src/lfunc.c"; sourceTree = SOURCE_ROOT; }; + 2BDB88C0137201F700E6FD3A /* lfunc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lfunc.h; path = "../extern/lua-5.1/src/lfunc.h"; sourceTree = SOURCE_ROOT; }; + 2BDB88C1137201F700E6FD3A /* lgc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = lgc.c; path = "../extern/lua-5.1/src/lgc.c"; sourceTree = SOURCE_ROOT; }; + 2BDB88C2137201F700E6FD3A /* lgc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lgc.h; path = "../extern/lua-5.1/src/lgc.h"; sourceTree = SOURCE_ROOT; }; + 2BDB88C3137201F700E6FD3A /* linit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = linit.c; path = "../extern/lua-5.1/src/linit.c"; sourceTree = SOURCE_ROOT; }; + 2BDB88C4137201F700E6FD3A /* liolib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = liolib.c; path = "../extern/lua-5.1/src/liolib.c"; sourceTree = SOURCE_ROOT; }; + 2BDB88C5137201F700E6FD3A /* llex.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = llex.c; path = "../extern/lua-5.1/src/llex.c"; sourceTree = SOURCE_ROOT; }; + 2BDB88C6137201F700E6FD3A /* llex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = llex.h; path = "../extern/lua-5.1/src/llex.h"; sourceTree = SOURCE_ROOT; }; + 2BDB88C7137201F700E6FD3A /* llimits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = llimits.h; path = "../extern/lua-5.1/src/llimits.h"; sourceTree = SOURCE_ROOT; }; + 2BDB88C8137201F700E6FD3A /* lmathlib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = lmathlib.c; path = "../extern/lua-5.1/src/lmathlib.c"; sourceTree = SOURCE_ROOT; }; + 2BDB88C9137201F700E6FD3A /* lmem.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = lmem.c; path = "../extern/lua-5.1/src/lmem.c"; sourceTree = SOURCE_ROOT; }; + 2BDB88CA137201F700E6FD3A /* lmem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lmem.h; path = "../extern/lua-5.1/src/lmem.h"; sourceTree = SOURCE_ROOT; }; + 2BDB88CB137201F700E6FD3A /* loadlib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = loadlib.c; path = "../extern/lua-5.1/src/loadlib.c"; sourceTree = SOURCE_ROOT; }; + 2BDB88CC137201F700E6FD3A /* lobject.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = lobject.c; path = "../extern/lua-5.1/src/lobject.c"; sourceTree = SOURCE_ROOT; }; + 2BDB88CD137201F700E6FD3A /* lobject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lobject.h; path = "../extern/lua-5.1/src/lobject.h"; sourceTree = SOURCE_ROOT; }; + 2BDB88CE137201F700E6FD3A /* lopcodes.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = lopcodes.c; path = "../extern/lua-5.1/src/lopcodes.c"; sourceTree = SOURCE_ROOT; }; + 2BDB88CF137201F700E6FD3A /* lopcodes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lopcodes.h; path = "../extern/lua-5.1/src/lopcodes.h"; sourceTree = SOURCE_ROOT; }; + 2BDB88D0137201F700E6FD3A /* loslib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = loslib.c; path = "../extern/lua-5.1/src/loslib.c"; sourceTree = SOURCE_ROOT; }; + 2BDB88D1137201F700E6FD3A /* lparser.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = lparser.c; path = "../extern/lua-5.1/src/lparser.c"; sourceTree = SOURCE_ROOT; }; + 2BDB88D2137201F700E6FD3A /* lparser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lparser.h; path = "../extern/lua-5.1/src/lparser.h"; sourceTree = SOURCE_ROOT; }; + 2BDB88D3137201F700E6FD3A /* lstate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = lstate.c; path = "../extern/lua-5.1/src/lstate.c"; sourceTree = SOURCE_ROOT; }; + 2BDB88D4137201F700E6FD3A /* lstate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lstate.h; path = "../extern/lua-5.1/src/lstate.h"; sourceTree = SOURCE_ROOT; }; + 2BDB88D5137201F700E6FD3A /* lstring.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = lstring.c; path = "../extern/lua-5.1/src/lstring.c"; sourceTree = SOURCE_ROOT; }; + 2BDB88D6137201F700E6FD3A /* lstring.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lstring.h; path = "../extern/lua-5.1/src/lstring.h"; sourceTree = SOURCE_ROOT; }; + 2BDB88D7137201F700E6FD3A /* lstrlib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = lstrlib.c; path = "../extern/lua-5.1/src/lstrlib.c"; sourceTree = SOURCE_ROOT; }; + 2BDB88D8137201F700E6FD3A /* ltable.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ltable.c; path = "../extern/lua-5.1/src/ltable.c"; sourceTree = SOURCE_ROOT; }; + 2BDB88D9137201F700E6FD3A /* ltable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ltable.h; path = "../extern/lua-5.1/src/ltable.h"; sourceTree = SOURCE_ROOT; }; + 2BDB88DA137201F700E6FD3A /* ltablib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ltablib.c; path = "../extern/lua-5.1/src/ltablib.c"; sourceTree = SOURCE_ROOT; }; + 2BDB88DB137201F700E6FD3A /* ltm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ltm.c; path = "../extern/lua-5.1/src/ltm.c"; sourceTree = SOURCE_ROOT; }; + 2BDB88DC137201F700E6FD3A /* ltm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ltm.h; path = "../extern/lua-5.1/src/ltm.h"; sourceTree = SOURCE_ROOT; }; + 2BDB88DD137201F700E6FD3A /* lua.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = lua.c; path = "../extern/lua-5.1/src/lua.c"; sourceTree = SOURCE_ROOT; }; + 2BDB88DE137201F700E6FD3A /* lua.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lua.h; path = "../extern/lua-5.1/src/lua.h"; sourceTree = SOURCE_ROOT; }; + 2BDB88DF137201F700E6FD3A /* luac.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = luac.c; path = "../extern/lua-5.1/src/luac.c"; sourceTree = SOURCE_ROOT; }; + 2BDB88E0137201F700E6FD3A /* luaconf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = luaconf.h; path = "../extern/lua-5.1/src/luaconf.h"; sourceTree = SOURCE_ROOT; }; + 2BDB88E1137201F700E6FD3A /* lualib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lualib.h; path = "../extern/lua-5.1/src/lualib.h"; sourceTree = SOURCE_ROOT; }; + 2BDB88E2137201F700E6FD3A /* lundump.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = lundump.c; path = "../extern/lua-5.1/src/lundump.c"; sourceTree = SOURCE_ROOT; }; + 2BDB88E3137201F700E6FD3A /* lundump.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lundump.h; path = "../extern/lua-5.1/src/lundump.h"; sourceTree = SOURCE_ROOT; }; + 2BDB88E4137201F700E6FD3A /* lvm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = lvm.c; path = "../extern/lua-5.1/src/lvm.c"; sourceTree = SOURCE_ROOT; }; + 2BDB88E5137201F700E6FD3A /* lvm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lvm.h; path = "../extern/lua-5.1/src/lvm.h"; sourceTree = SOURCE_ROOT; }; + 2BDB88E6137201F700E6FD3A /* lzio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = lzio.c; path = "../extern/lua-5.1/src/lzio.c"; sourceTree = SOURCE_ROOT; }; + 2BDB88E7137201F700E6FD3A /* lzio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lzio.h; path = "../extern/lua-5.1/src/lzio.h"; sourceTree = SOURCE_ROOT; }; + 2BDB88E8137201F700E6FD3A /* print.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = print.c; path = "../extern/lua-5.1/src/print.c"; sourceTree = SOURCE_ROOT; }; + 3659B56D0F902143002B6B68 /* CommandLineActions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CommandLineActions.cpp; sourceTree = ""; }; + 3659B56E0F902143002B6B68 /* CommandLineActions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CommandLineActions.h; sourceTree = ""; }; + 367D57590EDE56F200B46814 /* ScreenHighScores.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScreenHighScores.cpp; path = ../src/ScreenHighScores.cpp; sourceTree = SOURCE_ROOT; }; + 367D575A0EDE56F200B46814 /* ScreenHighScores.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScreenHighScores.h; path = ../src/ScreenHighScores.h; sourceTree = SOURCE_ROOT; }; + 3688B8510BD42DAA004186AD /* NotesLoaderMidi.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = NotesLoaderMidi.cpp; path = ../src/NotesLoaderMidi.cpp; sourceTree = ""; }; + 3688B8520BD42DAA004186AD /* NotesLoaderMidi.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = NotesLoaderMidi.h; path = ../src/NotesLoaderMidi.h; sourceTree = ""; }; + 36C6887F11297FFE00453295 /* RageFileDriverReadAhead.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RageFileDriverReadAhead.cpp; path = ../src/RageFileDriverReadAhead.cpp; sourceTree = SOURCE_ROOT; }; + 36C6888011297FFE00453295 /* RageFileDriverReadAhead.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RageFileDriverReadAhead.h; path = ../src/RageFileDriverReadAhead.h; sourceTree = SOURCE_ROOT; }; + 36C6888111297FFE00453295 /* RageFileManager_ReadAhead.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RageFileManager_ReadAhead.cpp; path = ../src/RageFileManager_ReadAhead.cpp; sourceTree = SOURCE_ROOT; }; + 36C6888211297FFE00453295 /* RageFileManager_ReadAhead.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RageFileManager_ReadAhead.h; path = ../src/RageFileManager_ReadAhead.h; sourceTree = SOURCE_ROOT; }; + 36CA531A0F91564A0063D59D /* ScreenOptionsCourseOverview.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScreenOptionsCourseOverview.cpp; path = ../src/ScreenOptionsCourseOverview.cpp; sourceTree = SOURCE_ROOT; }; + 36CA531B0F91564A0063D59D /* ScreenOptionsCourseOverview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScreenOptionsCourseOverview.h; path = ../src/ScreenOptionsCourseOverview.h; sourceTree = SOURCE_ROOT; }; + 36CA531E0F9156860063D59D /* ScreenOptionsEditCourse.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScreenOptionsEditCourse.cpp; path = ../src/ScreenOptionsEditCourse.cpp; sourceTree = SOURCE_ROOT; }; + 36CA531F0F9156860063D59D /* ScreenOptionsEditCourse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScreenOptionsEditCourse.h; path = ../src/ScreenOptionsEditCourse.h; sourceTree = SOURCE_ROOT; }; + AA059ABA0B8CCFB5006F8139 /* ActorMultiTexture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ActorMultiTexture.cpp; path = ../src/ActorMultiTexture.cpp; sourceTree = ""; }; + AA059ABB0B8CCFB5006F8139 /* ActorMultiTexture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ActorMultiTexture.h; path = ../src/ActorMultiTexture.h; sourceTree = ""; }; + AA059E2A0B8F0C66006F8139 /* libz_link.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libz_link.a; sourceTree = ""; }; + AA05A0AE0BA2EFF3006F8139 /* OptionsList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OptionsList.cpp; path = ../src/OptionsList.cpp; sourceTree = ""; }; + AA05A0AF0BA2EFF3006F8139 /* OptionsList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OptionsList.h; path = ../src/OptionsList.h; sourceTree = ""; }; + AA0700880B61F177003B85BB /* RageSoundReader_PostBuffering.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RageSoundReader_PostBuffering.cpp; path = ../src/RageSoundReader_PostBuffering.cpp; sourceTree = ""; }; + AA0700890B61F177003B85BB /* RageSoundReader_PostBuffering.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RageSoundReader_PostBuffering.h; path = ../src/RageSoundReader_PostBuffering.h; sourceTree = ""; }; + AA07328B0954381800F396C5 /* DisplayResolutions.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = DisplayResolutions.h; path = ../src/DisplayResolutions.h; sourceTree = ""; }; + AA07328C0954381800F396C5 /* XmlFileUtil.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = XmlFileUtil.cpp; path = ../src/XmlFileUtil.cpp; sourceTree = ""; }; + AA07328D0954381800F396C5 /* XmlFileUtil.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = XmlFileUtil.h; path = ../src/XmlFileUtil.h; sourceTree = ""; }; + AA07A5550843E72B00E33D21 /* ScreenDebugOverlay.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenDebugOverlay.cpp; path = ../src/ScreenDebugOverlay.cpp; sourceTree = ""; }; + AA07A5560843E72B00E33D21 /* ScreenDebugOverlay.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenDebugOverlay.h; path = ../src/ScreenDebugOverlay.h; sourceTree = ""; }; + AA07A5590843E72B00E33D21 /* ScreenSaveSync.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenSaveSync.cpp; path = ../src/ScreenSaveSync.cpp; sourceTree = ""; }; + AA07A55A0843E72B00E33D21 /* ScreenSaveSync.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenSaveSync.h; path = ../src/ScreenSaveSync.h; sourceTree = ""; }; + AA07A55B0843E72B00E33D21 /* ScreenSMOnlineLogin.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenSMOnlineLogin.cpp; path = ../src/ScreenSMOnlineLogin.cpp; sourceTree = ""; }; + AA07A55C0843E72B00E33D21 /* ScreenSMOnlineLogin.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenSMOnlineLogin.h; path = ../src/ScreenSMOnlineLogin.h; sourceTree = ""; }; + AA07A55D0843E72B00E33D21 /* ScreenSyncOverlay.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenSyncOverlay.cpp; path = ../src/ScreenSyncOverlay.cpp; sourceTree = ""; }; + AA07A55E0843E72B00E33D21 /* ScreenSyncOverlay.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenSyncOverlay.h; path = ../src/ScreenSyncOverlay.h; sourceTree = ""; }; + AA0A3DE6060513A00044E6B1 /* ScreenSetTime.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenSetTime.cpp; path = ../src/ScreenSetTime.cpp; sourceTree = ""; }; + AA0A3DE7060513A00044E6B1 /* ScreenSetTime.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenSetTime.h; path = ../src/ScreenSetTime.h; sourceTree = ""; }; + AA0E04CE076C4CD500716D81 /* RageFileBasic.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageFileBasic.cpp; path = ../src/RageFileBasic.cpp; sourceTree = ""; }; + AA0E04CF076C4CD500716D81 /* RageFileBasic.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageFileBasic.h; path = ../src/RageFileBasic.h; sourceTree = ""; }; + AA0E04D0076C4CD500716D81 /* RageFileDriverDeflate.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageFileDriverDeflate.cpp; path = ../src/RageFileDriverDeflate.cpp; sourceTree = ""; }; + AA0E04D1076C4CD500716D81 /* RageFileDriverDeflate.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageFileDriverDeflate.h; path = ../src/RageFileDriverDeflate.h; sourceTree = ""; }; + AA0E04D2076C4CD500716D81 /* RageFileDriverSlice.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageFileDriverSlice.cpp; path = ../src/RageFileDriverSlice.cpp; sourceTree = ""; }; + AA0E04D3076C4CD500716D81 /* RageFileDriverSlice.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageFileDriverSlice.h; path = ../src/RageFileDriverSlice.h; sourceTree = ""; }; + AA1145D9075DFADF0050A3D1 /* ScreenPackages.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenPackages.cpp; path = ../src/ScreenPackages.cpp; sourceTree = ""; }; + AA1145DA075DFADF0050A3D1 /* ScreenPackages.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenPackages.h; path = ../src/ScreenPackages.h; sourceTree = ""; }; + AA1145DB075DFADF0050A3D1 /* ScreenSystemLayer.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenSystemLayer.cpp; path = ../src/ScreenSystemLayer.cpp; sourceTree = ""; }; + AA1145DC075DFADF0050A3D1 /* ScreenSystemLayer.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenSystemLayer.h; path = ../src/ScreenSystemLayer.h; sourceTree = ""; }; + AA11A20B0DC5A1B0006BD8AC /* ModIcon.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ModIcon.cpp; path = ../src/ModIcon.cpp; sourceTree = SOURCE_ROOT; }; + AA11A20C0DC5A1B0006BD8AC /* ModIcon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ModIcon.h; path = ../src/ModIcon.h; sourceTree = SOURCE_ROOT; }; + AA11A20D0DC5A1B0006BD8AC /* ModIconRow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ModIconRow.cpp; path = ../src/ModIconRow.cpp; sourceTree = SOURCE_ROOT; }; + AA11A20E0DC5A1B0006BD8AC /* ModIconRow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ModIconRow.h; path = ../src/ModIconRow.h; sourceTree = SOURCE_ROOT; }; + AA139C4606923EBE00C1F6ED /* Style.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Style.cpp; path = ../src/Style.cpp; sourceTree = ""; }; + AA147F180A0F78D8006EADF6 /* VectorHelper.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = VectorHelper.h; sourceTree = ""; }; + AA147F190A0F78D8006EADF6 /* VectorHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VectorHelper.cpp; sourceTree = ""; }; + AA14ED0F0509F40000E3FAD7 /* MovieTexture_FFMpeg.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = MovieTexture_FFMpeg.cpp; path = MovieTexture/MovieTexture_FFMpeg.cpp; sourceTree = ""; }; + AA14ED100509F40000E3FAD7 /* MovieTexture_FFMpeg.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = MovieTexture_FFMpeg.h; path = MovieTexture/MovieTexture_FFMpeg.h; sourceTree = ""; }; + AA18935C0BD777C400AEC0BF /* ScreenProfileLoad.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScreenProfileLoad.cpp; path = ../src/ScreenProfileLoad.cpp; sourceTree = ""; }; + AA18935D0BD777C400AEC0BF /* ScreenProfileLoad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScreenProfileLoad.h; path = ../src/ScreenProfileLoad.h; sourceTree = ""; }; + AA18935E0BD777C400AEC0BF /* ScreenProfileSave.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScreenProfileSave.cpp; path = ../src/ScreenProfileSave.cpp; sourceTree = ""; }; + AA18935F0BD777C400AEC0BF /* ScreenProfileSave.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScreenProfileSave.h; path = ../src/ScreenProfileSave.h; sourceTree = ""; }; + AA1B08370762532800835464 /* Command.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Command.cpp; path = ../src/Command.cpp; sourceTree = ""; }; + AA1B08380762532800835464 /* Command.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Command.h; path = ../src/Command.h; sourceTree = ""; }; + AA1B08390762532800835464 /* GameCommand.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = GameCommand.cpp; path = ../src/GameCommand.cpp; sourceTree = ""; }; + AA1B083A0762532800835464 /* GameCommand.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = GameCommand.h; path = ../src/GameCommand.h; sourceTree = ""; }; + AA1B083B0762532800835464 /* Preference.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Preference.cpp; path = ../src/Preference.cpp; sourceTree = ""; }; + AA1C6556050D234B0073A143 /* ProfileManager.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ProfileManager.cpp; path = ../src/ProfileManager.cpp; sourceTree = ""; }; + AA1C6557050D234B0073A143 /* ProfileManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ProfileManager.h; path = ../src/ProfileManager.h; sourceTree = ""; }; + AA1C65A4050FD21F0073A143 /* RageSoundReader_Vorbisfile.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageSoundReader_Vorbisfile.cpp; path = ../src/RageSoundReader_Vorbisfile.cpp; sourceTree = ""; }; + AA1C65A5050FD21F0073A143 /* RageSoundReader_Vorbisfile.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageSoundReader_Vorbisfile.h; path = ../src/RageSoundReader_Vorbisfile.h; sourceTree = ""; }; + AA1C65A6050FD21F0073A143 /* RageSoundReader_WAV.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageSoundReader_WAV.cpp; path = ../src/RageSoundReader_WAV.cpp; sourceTree = ""; }; + AA1C65A7050FD21F0073A143 /* RageSoundReader_WAV.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageSoundReader_WAV.h; path = ../src/RageSoundReader_WAV.h; sourceTree = ""; }; + AA1CD941060AE571003702C4 /* RageSoundDriver_Generic_Software.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; path = RageSoundDriver_Generic_Software.cpp; sourceTree = ""; }; + AA1DC47204A485E900D02EE9 /* ActorUtil.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ActorUtil.h; path = ../src/ActorUtil.h; sourceTree = ""; }; + AA1DC47404A4861700D02EE9 /* ScreenSelectMaster.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenSelectMaster.cpp; path = ../src/ScreenSelectMaster.cpp; sourceTree = ""; }; + AA1DC47504A4861700D02EE9 /* ScreenSelectMaster.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenSelectMaster.h; path = ../src/ScreenSelectMaster.h; sourceTree = ""; }; + AA1DE9560C5468CE00D59F20 /* Hardware.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Hardware.plist; sourceTree = ""; }; + AA1DE9590C5468FE00D59F20 /* Hardware.in.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Hardware.in.plist; sourceTree = ""; }; + AA1F9C4509AF1BF5002C15A8 /* PumpDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PumpDevice.h; sourceTree = ""; }; + AA1F9C4609AF1BF5002C15A8 /* PumpDevice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PumpDevice.cpp; sourceTree = ""; }; + AA21D59C0712ADE4008B825F /* ScreenDimensions.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenDimensions.cpp; path = ../src/ScreenDimensions.cpp; sourceTree = ""; }; + AA21D5A10712AE16008B825F /* ThemeMetric.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ThemeMetric.h; path = ../src/ThemeMetric.h; sourceTree = ""; }; + AA21E4730A9826CD00684CEA /* libjpeg_link.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libjpeg_link.a; sourceTree = ""; }; + AA21E4750A9826CD00684CEA /* libogg_link.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libogg_link.a; sourceTree = ""; }; + AA21E4770A9826CD00684CEA /* libtheora_link.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libtheora_link.a; sourceTree = ""; }; + AA21E4780A9826CD00684CEA /* libvorbis_link.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libvorbis_link.a; sourceTree = ""; }; + AA22CBA306DE909C0083BA97 /* ScreenNetSelectMusic.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenNetSelectMusic.cpp; path = ../src/ScreenNetSelectMusic.cpp; sourceTree = ""; }; + AA22CBA406DE909C0083BA97 /* ScreenNetSelectMusic.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenNetSelectMusic.h; path = ../src/ScreenNetSelectMusic.h; sourceTree = ""; }; + AA230EAE06043704002672F3 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; + AA230EAF06043704002672F3 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = ""; }; + AA230ECF06043EFD002672F3 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; + AA251B7505841FCE00027ACB /* RageFileDriverZip.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageFileDriverZip.cpp; path = ../src/RageFileDriverZip.cpp; sourceTree = ""; }; + AA251B7605841FCE00027ACB /* RageFileDriverZip.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageFileDriverZip.h; path = ../src/RageFileDriverZip.h; sourceTree = ""; }; + AA25200D0587225500027ACB /* Style.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Style.h; path = ../src/Style.h; sourceTree = ""; }; + AA272C3004CD757100D02EE9 /* RageFile.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageFile.cpp; path = ../src/RageFile.cpp; sourceTree = ""; }; + AA272C3104CD757100D02EE9 /* RageFile.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageFile.h; path = ../src/RageFile.h; sourceTree = ""; }; + AA28B47A058F2F5D0097C109 /* MemoryCardManager.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = MemoryCardManager.cpp; path = ../src/MemoryCardManager.cpp; sourceTree = ""; }; + AA28B47B058F2F5D0097C109 /* MemoryCardManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = MemoryCardManager.h; path = ../src/MemoryCardManager.h; sourceTree = ""; }; + AA29CE570558741A00961A51 /* Info-StepMania.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; path = "Info-StepMania.plist"; sourceTree = SOURCE_ROOT; }; + AA29CE580558741A00961A51 /* StepMania.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = StepMania.app; sourceTree = BUILT_PRODUCTS_DIR; }; + AA2C9C9F0BAD6F54002441E9 /* CodeSet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CodeSet.cpp; path = ../src/CodeSet.cpp; sourceTree = ""; }; + AA2C9CA00BAD6F54002441E9 /* CodeSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CodeSet.h; path = ../src/CodeSet.h; sourceTree = ""; }; + AA2CA89D0BB745BD002441E9 /* ScreenContinue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScreenContinue.cpp; path = ../src/ScreenContinue.cpp; sourceTree = ""; }; + AA2CA89E0BB745BD002441E9 /* ScreenContinue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScreenContinue.h; path = ../src/ScreenContinue.h; sourceTree = ""; }; + AA2E9FFF0A770208003A0C11 /* ScreenSelectLanguage.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = ScreenSelectLanguage.cpp; path = ../src/ScreenSelectLanguage.cpp; sourceTree = ""; }; + AA2EA0000A770208003A0C11 /* ScreenSelectLanguage.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ScreenSelectLanguage.h; path = ../src/ScreenSelectLanguage.h; sourceTree = ""; }; + AA2FB638091212AF000FD574 /* LifeMeter.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = LifeMeter.cpp; path = ../src/LifeMeter.cpp; sourceTree = ""; }; + AA31D51B0B1EC6540016AB6B /* RageSoundReader_Filter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = RageSoundReader_Filter.h; path = ../src/RageSoundReader_Filter.h; sourceTree = ""; }; + AA31D51C0B1EC6540016AB6B /* RageSoundReader_PitchChange.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = RageSoundReader_PitchChange.cpp; path = ../src/RageSoundReader_PitchChange.cpp; sourceTree = ""; }; + AA31D51D0B1EC6540016AB6B /* RageSoundReader_PitchChange.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = RageSoundReader_PitchChange.h; path = ../src/RageSoundReader_PitchChange.h; sourceTree = ""; }; + AA31D51E0B1EC6540016AB6B /* RageSoundReader_SpeedChange.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = RageSoundReader_SpeedChange.cpp; path = ../src/RageSoundReader_SpeedChange.cpp; sourceTree = ""; }; + AA31D51F0B1EC6540016AB6B /* RageSoundReader_SpeedChange.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = RageSoundReader_SpeedChange.h; path = ../src/RageSoundReader_SpeedChange.h; sourceTree = ""; }; + AA3396B60BDE195E00E1475F /* RageSoundReader_Merge.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RageSoundReader_Merge.cpp; path = ../src/RageSoundReader_Merge.cpp; sourceTree = ""; }; + AA3396B70BDE195E00E1475F /* RageSoundReader_Merge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RageSoundReader_Merge.h; path = ../src/RageSoundReader_Merge.h; sourceTree = ""; }; + AA339A7D0BF0FA6300E1475F /* LoadingWindow_Null.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoadingWindow_Null.h; sourceTree = ""; }; + AA3A705E06AA144C006F755E /* CommonMetrics.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = CommonMetrics.h; path = ../src/CommonMetrics.h; sourceTree = ""; }; + AA3A706006AA1645006F755E /* StyleUtil.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = StyleUtil.cpp; path = ../src/StyleUtil.cpp; sourceTree = ""; }; + AA3A706106AA1645006F755E /* StyleUtil.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = StyleUtil.h; path = ../src/StyleUtil.h; sourceTree = ""; }; + AA3D5E5A08214C77002AA665 /* LifeMeterTime.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = LifeMeterTime.cpp; path = ../src/LifeMeterTime.cpp; sourceTree = ""; }; + AA3D5E5B08214C77002AA665 /* LifeMeterTime.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = LifeMeterTime.h; path = ../src/LifeMeterTime.h; sourceTree = ""; }; + AA3D5E5C08214C77002AA665 /* ScoreDisplayLifeTime.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScoreDisplayLifeTime.cpp; path = ../src/ScoreDisplayLifeTime.cpp; sourceTree = ""; }; + AA3D5E5D08214C77002AA665 /* ScoreDisplayLifeTime.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScoreDisplayLifeTime.h; path = ../src/ScoreDisplayLifeTime.h; sourceTree = ""; }; + AA3D5E8F082152B6002AA665 /* StreamDisplay.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = StreamDisplay.cpp; path = ../src/StreamDisplay.cpp; sourceTree = ""; }; + AA3D5E90082152B6002AA665 /* StreamDisplay.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = StreamDisplay.h; path = ../src/StreamDisplay.h; sourceTree = ""; }; + AA3D78FF06A275E90064B980 /* RadarValues.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RadarValues.cpp; path = ../src/RadarValues.cpp; sourceTree = ""; }; + AA3D790006A275E90064B980 /* RadarValues.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RadarValues.h; path = ../src/RadarValues.h; sourceTree = ""; }; + AA3D793106A279530064B980 /* DateTime.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = DateTime.cpp; path = ../src/DateTime.cpp; sourceTree = ""; }; + AA3D793206A279530064B980 /* DateTime.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = DateTime.h; path = ../src/DateTime.h; sourceTree = ""; }; + AA3E3DF009D96A1400A259C7 /* CrashHandlerInternal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CrashHandlerInternal.cpp; sourceTree = ""; }; + AA3F283B04BE6DDC00D02EE9 /* ArchHooks.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ArchHooks.cpp; path = ArchHooks/ArchHooks.cpp; sourceTree = ""; }; + AA40D52B09A08D660068C0D5 /* sm-ssc.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "sm-ssc.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + AA42F5E6067068D30013509E /* ScreenNetworkOptions.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenNetworkOptions.cpp; path = ../src/ScreenNetworkOptions.cpp; sourceTree = ""; }; + AA42F5E7067068D30013509E /* ScreenNetworkOptions.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenNetworkOptions.h; path = ../src/ScreenNetworkOptions.h; sourceTree = ""; }; + AA44705209846B0800983E82 /* HIDDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HIDDevice.h; sourceTree = ""; }; + AA44705309846B0800983E82 /* HIDDevice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HIDDevice.cpp; sourceTree = ""; }; + AA44708C0984720900983E82 /* JoystickDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JoystickDevice.h; sourceTree = ""; }; + AA44708D0984720900983E82 /* JoystickDevice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JoystickDevice.cpp; sourceTree = ""; }; + AA4470BA098476F600983E82 /* KeyboardDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KeyboardDevice.h; sourceTree = ""; }; + AA4470BB098476F600983E82 /* KeyboardDevice.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = KeyboardDevice.cpp; sourceTree = ""; }; + AA4F27AE0B2C01B400ADEA79 /* RageSoundReader_ChannelSplit.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = RageSoundReader_ChannelSplit.cpp; path = ../src/RageSoundReader_ChannelSplit.cpp; sourceTree = ""; }; + AA4F27AF0B2C01B400ADEA79 /* RageSoundReader_ChannelSplit.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = RageSoundReader_ChannelSplit.h; path = ../src/RageSoundReader_ChannelSplit.h; sourceTree = ""; }; + AA4F27B00B2C01B400ADEA79 /* RageSoundReader_Pan.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = RageSoundReader_Pan.cpp; path = ../src/RageSoundReader_Pan.cpp; sourceTree = ""; }; + AA4F27B10B2C01B400ADEA79 /* RageSoundReader_Pan.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = RageSoundReader_Pan.h; path = ../src/RageSoundReader_Pan.h; sourceTree = ""; }; + AA4F38C004E2D0B700D02EE9 /* NoteDataUtil.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = NoteDataUtil.cpp; path = ../src/NoteDataUtil.cpp; sourceTree = ""; }; + AA4F38C104E2D0B700D02EE9 /* NoteDataUtil.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = NoteDataUtil.h; path = ../src/NoteDataUtil.h; sourceTree = ""; }; + AA50201D05D6D7B200ACEFD0 /* Profile.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Profile.cpp; path = ../src/Profile.cpp; sourceTree = ""; }; + AA50201E05D6D7B200ACEFD0 /* Profile.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Profile.h; path = ../src/Profile.h; sourceTree = ""; }; + AA52E9BD04DBBCF400D02EE9 /* ver.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; path = ver.cpp; sourceTree = ""; }; + AA53D28405277DAF00D02EE9 /* ScreenOptionsMaster.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenOptionsMaster.cpp; path = ../src/ScreenOptionsMaster.cpp; sourceTree = ""; }; + AA53D28505277DAF00D02EE9 /* ScreenOptionsMaster.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenOptionsMaster.h; path = ../src/ScreenOptionsMaster.h; sourceTree = ""; }; + AA53D28605277DAF00D02EE9 /* ScreenOptionsMasterPrefs.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenOptionsMasterPrefs.cpp; path = ../src/ScreenOptionsMasterPrefs.cpp; sourceTree = ""; }; + AA53D28705277DAF00D02EE9 /* ScreenOptionsMasterPrefs.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenOptionsMasterPrefs.h; path = ../src/ScreenOptionsMasterPrefs.h; sourceTree = ""; }; + AA53D28805277DAF00D02EE9 /* ScreenReloadSongs.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenReloadSongs.cpp; path = ../src/ScreenReloadSongs.cpp; sourceTree = ""; }; + AA53D28905277DAF00D02EE9 /* ScreenReloadSongs.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenReloadSongs.h; path = ../src/ScreenReloadSongs.h; sourceTree = ""; }; + AA54709106F559DF008EB9B2 /* Preference.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Preference.h; path = ../src/Preference.h; sourceTree = ""; }; + AA5A51F20A8441AA006DBB92 /* ModsGroup.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ModsGroup.h; path = ../src/ModsGroup.h; sourceTree = ""; }; + AA5C73F70637A5F000AFB891 /* CourseUtil.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = CourseUtil.cpp; path = ../src/CourseUtil.cpp; sourceTree = ""; }; + AA5C73F80637A5F000AFB891 /* CourseUtil.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = CourseUtil.h; path = ../src/CourseUtil.h; sourceTree = ""; }; + AA5C73F90637A5F000AFB891 /* SongUtil.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = SongUtil.cpp; path = ../src/SongUtil.cpp; sourceTree = ""; }; + AA5C73FA0637A5F000AFB891 /* SongUtil.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = SongUtil.h; path = ../src/SongUtil.h; sourceTree = ""; }; + AA5C73FB0637A5F000AFB891 /* StepsUtil.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = StepsUtil.cpp; path = ../src/StepsUtil.cpp; sourceTree = ""; }; + AA5C73FC0637A5F000AFB891 /* StepsUtil.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = StepsUtil.h; path = ../src/StepsUtil.h; sourceTree = ""; }; + AA5D16550A79805C00F17E86 /* RageTextureRenderTarget.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = RageTextureRenderTarget.cpp; path = ../src/RageTextureRenderTarget.cpp; sourceTree = ""; }; + AA5D16560A79805C00F17E86 /* RageTextureRenderTarget.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = RageTextureRenderTarget.h; path = ../src/RageTextureRenderTarget.h; sourceTree = ""; }; + AA5D166A0A798C0E00F17E86 /* ActorFrameTexture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ActorFrameTexture.cpp; path = ../src/ActorFrameTexture.cpp; sourceTree = ""; }; + AA5D166B0A798C0E00F17E86 /* ActorFrameTexture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ActorFrameTexture.h; path = ../src/ActorFrameTexture.h; sourceTree = ""; }; + AA608EBF0B0F85E400B39AC4 /* DialogDriver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DialogDriver.cpp; sourceTree = ""; }; + AA608FAC0B0F9A4E00B39AC4 /* RageSoundDriver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RageSoundDriver.cpp; sourceTree = ""; }; + AA6090E40B141D1C00B39AC4 /* GamePreferences.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = GamePreferences.cpp; path = ../src/GamePreferences.cpp; sourceTree = ""; }; + AA6090E50B141D1C00B39AC4 /* GamePreferences.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = GamePreferences.h; path = ../src/GamePreferences.h; sourceTree = ""; }; + AA60E0BC067992D7008ADC41 /* Threads.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = Threads.h; sourceTree = ""; }; + AA60E0BD067992D7008ADC41 /* Threads_Pthreads.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; path = Threads_Pthreads.cpp; sourceTree = ""; }; + AA60E0BE067992D7008ADC41 /* Threads_Pthreads.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = Threads_Pthreads.h; sourceTree = ""; }; + AA64218606EC606F00C21584 /* RageFileDriverMemory.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageFileDriverMemory.cpp; path = ../src/RageFileDriverMemory.cpp; sourceTree = ""; }; + AA64218706EC606F00C21584 /* RageFileDriverMemory.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageFileDriverMemory.h; path = ../src/RageFileDriverMemory.h; sourceTree = ""; }; + AA658779098C322800CE55CC /* ScreenUnlockStatus.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = ScreenUnlockStatus.cpp; path = ../src/ScreenUnlockStatus.cpp; sourceTree = ""; }; + AA65877A098C322800CE55CC /* ScreenUnlockStatus.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ScreenUnlockStatus.h; path = ../src/ScreenUnlockStatus.h; sourceTree = ""; }; + AA69995F0ACE1CBB000237F9 /* ControllerStateDisplay.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = ControllerStateDisplay.cpp; path = ../src/ControllerStateDisplay.cpp; sourceTree = ""; }; + AA6999600ACE1CBB000237F9 /* ControllerStateDisplay.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ControllerStateDisplay.h; path = ../src/ControllerStateDisplay.h; sourceTree = ""; }; + AA6C6AD60DC6B17B00E7A13E /* ArchHooks_MacOSX.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ArchHooks_MacOSX.cpp; path = ArchHooks/ArchHooks_MacOSX.cpp; sourceTree = ""; }; + AA6C6AD70DC6B17B00E7A13E /* ArchHooks_MacOSX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ArchHooks_MacOSX.h; path = ArchHooks/ArchHooks_MacOSX.h; sourceTree = ""; }; + AA6C6ADC0DC6B1DC00E7A13E /* DialogDriver_MacOSX.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DialogDriver_MacOSX.cpp; sourceTree = ""; }; + AA6C6ADD0DC6B1DC00E7A13E /* DialogDriver_MacOSX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DialogDriver_MacOSX.h; sourceTree = ""; }; + AA6C6AE20DC6B22800E7A13E /* LoadingWindow_MacOSX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoadingWindow_MacOSX.h; sourceTree = ""; }; + AA6C6AE30DC6B22800E7A13E /* LoadingWindow_MacOSX.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = LoadingWindow_MacOSX.mm; sourceTree = ""; }; + AA6C6B000DC6B2B400E7A13E /* LowLevelWindow_MacOSX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LowLevelWindow_MacOSX.h; sourceTree = ""; }; + AA6C6B010DC6B2B400E7A13E /* LowLevelWindow_MacOSX.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = LowLevelWindow_MacOSX.mm; sourceTree = ""; }; + AA6C6B060DC6B30E00E7A13E /* MemoryCardDriverThreaded_MacOSX.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MemoryCardDriverThreaded_MacOSX.cpp; sourceTree = ""; }; + AA6C6B070DC6B30E00E7A13E /* MemoryCardDriverThreaded_MacOSX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MemoryCardDriverThreaded_MacOSX.h; sourceTree = ""; }; + AA6C6B0C0DC6B48C00E7A13E /* InputHandler_MacOSX_HID.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InputHandler_MacOSX_HID.cpp; sourceTree = ""; }; + AA6C6B0D0DC6B48C00E7A13E /* InputHandler_MacOSX_HID.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InputHandler_MacOSX_HID.h; sourceTree = ""; }; + AA6DAF0805300B3D00D02EE9 /* ScoreDisplayPercentage.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScoreDisplayPercentage.cpp; path = ../src/ScoreDisplayPercentage.cpp; sourceTree = ""; }; + AA6DAF0905300B3D00D02EE9 /* ScoreDisplayPercentage.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScoreDisplayPercentage.h; path = ../src/ScoreDisplayPercentage.h; sourceTree = ""; }; + AA6E000A047711F3005F316C /* Screen.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Screen.cpp; path = ../src/Screen.cpp; sourceTree = ""; }; + AA6E000B047711F3005F316C /* Screen.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Screen.h; path = ../src/Screen.h; sourceTree = ""; }; + AA6E0010047711F3005F316C /* ScreenAttract.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenAttract.cpp; path = ../src/ScreenAttract.cpp; sourceTree = ""; }; + AA6E0011047711F3005F316C /* ScreenAttract.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenAttract.h; path = ../src/ScreenAttract.h; sourceTree = ""; }; + AA6E001B047711F3005F316C /* ScreenDemonstration.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenDemonstration.cpp; path = ../src/ScreenDemonstration.cpp; sourceTree = ""; }; + AA6E001C047711F3005F316C /* ScreenDemonstration.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenDemonstration.h; path = ../src/ScreenDemonstration.h; sourceTree = ""; }; + AA6E001D047711F3005F316C /* ScreenEdit.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenEdit.cpp; path = ../src/ScreenEdit.cpp; sourceTree = ""; }; + AA6E001E047711F3005F316C /* ScreenEdit.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenEdit.h; path = ../src/ScreenEdit.h; sourceTree = ""; }; + AA6E001F047711F3005F316C /* ScreenEditMenu.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenEditMenu.cpp; path = ../src/ScreenEditMenu.cpp; sourceTree = ""; }; + AA6E0020047711F3005F316C /* ScreenEditMenu.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenEditMenu.h; path = ../src/ScreenEditMenu.h; sourceTree = ""; }; + AA6E0021047711F3005F316C /* ScreenEvaluation.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenEvaluation.cpp; path = ../src/ScreenEvaluation.cpp; sourceTree = ""; }; + AA6E0022047711F3005F316C /* ScreenEvaluation.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenEvaluation.h; path = ../src/ScreenEvaluation.h; sourceTree = ""; }; + AA6E0029047711F3005F316C /* ScreenGameplay.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenGameplay.cpp; path = ../src/ScreenGameplay.cpp; sourceTree = ""; }; + AA6E002A047711F3005F316C /* ScreenGameplay.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenGameplay.h; path = ../src/ScreenGameplay.h; sourceTree = ""; }; + AA6E002F047711F3005F316C /* ScreenHowToPlay.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenHowToPlay.cpp; path = ../src/ScreenHowToPlay.cpp; sourceTree = ""; }; + AA6E0030047711F3005F316C /* ScreenHowToPlay.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenHowToPlay.h; path = ../src/ScreenHowToPlay.h; sourceTree = ""; }; + AA6E0033047711F3005F316C /* ScreenInstructions.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenInstructions.cpp; path = ../src/ScreenInstructions.cpp; sourceTree = ""; }; + AA6E0034047711F3005F316C /* ScreenInstructions.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenInstructions.h; path = ../src/ScreenInstructions.h; sourceTree = ""; }; + AA6E0037047711F3005F316C /* ScreenJukebox.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenJukebox.cpp; path = ../src/ScreenJukebox.cpp; sourceTree = ""; }; + AA6E0038047711F3005F316C /* ScreenJukebox.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenJukebox.h; path = ../src/ScreenJukebox.h; sourceTree = ""; }; + AA6E003F047711F3005F316C /* ScreenManager.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenManager.cpp; path = ../src/ScreenManager.cpp; sourceTree = ""; }; + AA6E0040047711F3005F316C /* ScreenManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenManager.h; path = ../src/ScreenManager.h; sourceTree = ""; }; + AA6E0041047711F3005F316C /* ScreenMapControllers.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenMapControllers.cpp; path = ../src/ScreenMapControllers.cpp; sourceTree = ""; }; + AA6E0042047711F3005F316C /* ScreenMapControllers.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenMapControllers.h; path = ../src/ScreenMapControllers.h; sourceTree = ""; }; + AA6E0044047711F3005F316C /* ScreenMessage.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenMessage.h; path = ../src/ScreenMessage.h; sourceTree = ""; }; + AA6E0045047711F3005F316C /* ScreenMiniMenu.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenMiniMenu.cpp; path = ../src/ScreenMiniMenu.cpp; sourceTree = ""; }; + AA6E0046047711F3005F316C /* ScreenMiniMenu.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenMiniMenu.h; path = ../src/ScreenMiniMenu.h; sourceTree = ""; }; + AA6E0049047711F3005F316C /* ScreenNameEntry.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenNameEntry.cpp; path = ../src/ScreenNameEntry.cpp; sourceTree = ""; }; + AA6E004A047711F3005F316C /* ScreenNameEntry.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenNameEntry.h; path = ../src/ScreenNameEntry.h; sourceTree = ""; }; + AA6E004B047711F3005F316C /* ScreenOptions.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenOptions.cpp; path = ../src/ScreenOptions.cpp; sourceTree = ""; }; + AA6E004C047711F3005F316C /* ScreenOptions.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenOptions.h; path = ../src/ScreenOptions.h; sourceTree = ""; }; + AA6E004F047711F3005F316C /* ScreenPlayerOptions.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenPlayerOptions.cpp; path = ../src/ScreenPlayerOptions.cpp; sourceTree = ""; }; + AA6E0050047711F3005F316C /* ScreenPlayerOptions.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenPlayerOptions.h; path = ../src/ScreenPlayerOptions.h; sourceTree = ""; }; + AA6E0051047711F3005F316C /* ScreenPrompt.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenPrompt.cpp; path = ../src/ScreenPrompt.cpp; sourceTree = ""; }; + AA6E0052047711F3005F316C /* ScreenPrompt.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenPrompt.h; path = ../src/ScreenPrompt.h; sourceTree = ""; }; + AA6E0053047711F3005F316C /* ScreenRanking.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenRanking.cpp; path = ../src/ScreenRanking.cpp; sourceTree = ""; }; + AA6E0054047711F3005F316C /* ScreenRanking.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenRanking.h; path = ../src/ScreenRanking.h; sourceTree = ""; }; + AA6E0057047711F3005F316C /* ScreenSandbox.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenSandbox.cpp; path = ../src/ScreenSandbox.cpp; sourceTree = ""; }; + AA6E0058047711F3005F316C /* ScreenSandbox.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenSandbox.h; path = ../src/ScreenSandbox.h; sourceTree = ""; }; + AA6E0059047711F3005F316C /* ScreenSelect.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenSelect.cpp; path = ../src/ScreenSelect.cpp; sourceTree = ""; }; + AA6E005A047711F3005F316C /* ScreenSelect.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenSelect.h; path = ../src/ScreenSelect.h; sourceTree = ""; }; + AA6E005B047711F3005F316C /* ScreenSelectCharacter.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenSelectCharacter.cpp; path = ../src/ScreenSelectCharacter.cpp; sourceTree = ""; }; + AA6E005C047711F3005F316C /* ScreenSelectCharacter.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenSelectCharacter.h; path = ../src/ScreenSelectCharacter.h; sourceTree = ""; }; + AA6E0069047711F3005F316C /* ScreenSelectMusic.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenSelectMusic.cpp; path = ../src/ScreenSelectMusic.cpp; sourceTree = ""; }; + AA6E006A047711F3005F316C /* ScreenSelectMusic.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenSelectMusic.h; path = ../src/ScreenSelectMusic.h; sourceTree = ""; }; + AA6E006F047711F3005F316C /* ScreenSongOptions.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenSongOptions.cpp; path = ../src/ScreenSongOptions.cpp; sourceTree = ""; }; + AA6E0070047711F3005F316C /* ScreenSongOptions.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenSongOptions.h; path = ../src/ScreenSongOptions.h; sourceTree = ""; }; + AA6E007B047711F3005F316C /* ScreenTestSound.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenTestSound.cpp; path = ../src/ScreenTestSound.cpp; sourceTree = ""; }; + AA6E007C047711F3005F316C /* ScreenTestSound.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenTestSound.h; path = ../src/ScreenTestSound.h; sourceTree = ""; }; + AA6E007D047711F3005F316C /* ScreenTextEntry.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenTextEntry.cpp; path = ../src/ScreenTextEntry.cpp; sourceTree = ""; }; + AA6E007E047711F3005F316C /* ScreenTextEntry.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenTextEntry.h; path = ../src/ScreenTextEntry.h; sourceTree = ""; }; + AA6E007F047711F3005F316C /* ScreenTitleMenu.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenTitleMenu.cpp; path = ../src/ScreenTitleMenu.cpp; sourceTree = ""; }; + AA6E0080047711F3005F316C /* ScreenTitleMenu.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenTitleMenu.h; path = ../src/ScreenTitleMenu.h; sourceTree = ""; }; + AA6E00FF0477128A005F316C /* AnnouncerManager.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = AnnouncerManager.cpp; path = ../src/AnnouncerManager.cpp; sourceTree = ""; }; + AA6E01000477128A005F316C /* AnnouncerManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = AnnouncerManager.h; path = ../src/AnnouncerManager.h; sourceTree = ""; }; + AA6E01010477128A005F316C /* GameManager.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = GameManager.cpp; path = ../src/GameManager.cpp; sourceTree = ""; }; + AA6E01020477128A005F316C /* GameManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = GameManager.h; path = ../src/GameManager.h; sourceTree = ""; }; + AA6E01030477128A005F316C /* GameState.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = GameState.cpp; path = ../src/GameState.cpp; sourceTree = ""; }; + AA6E01040477128A005F316C /* GameState.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = GameState.h; path = ../src/GameState.h; sourceTree = ""; }; + AA6E01050477128A005F316C /* InputFilter.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = InputFilter.cpp; path = ../src/InputFilter.cpp; sourceTree = ""; }; + AA6E01060477128A005F316C /* InputFilter.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = InputFilter.h; path = ../src/InputFilter.h; sourceTree = ""; }; + AA6E01070477128A005F316C /* InputMapper.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = InputMapper.cpp; path = ../src/InputMapper.cpp; sourceTree = ""; }; + AA6E01080477128A005F316C /* InputMapper.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = InputMapper.h; path = ../src/InputMapper.h; sourceTree = ""; }; + AA6E01090477128A005F316C /* InputQueue.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = InputQueue.cpp; path = ../src/InputQueue.cpp; sourceTree = ""; }; + AA6E010A0477128A005F316C /* InputQueue.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = InputQueue.h; path = ../src/InputQueue.h; sourceTree = ""; }; + AA6E010B0477128A005F316C /* NoteSkinManager.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = NoteSkinManager.cpp; path = ../src/NoteSkinManager.cpp; sourceTree = ""; }; + AA6E010C0477128A005F316C /* NoteSkinManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = NoteSkinManager.h; path = ../src/NoteSkinManager.h; sourceTree = ""; }; + AA6E010D0477128A005F316C /* PrefsManager.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = PrefsManager.cpp; path = ../src/PrefsManager.cpp; sourceTree = ""; }; + AA6E010E0477128A005F316C /* PrefsManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = PrefsManager.h; path = ../src/PrefsManager.h; sourceTree = ""; }; + AA6E010F0477128A005F316C /* SongManager.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = SongManager.cpp; path = ../src/SongManager.cpp; sourceTree = ""; }; + AA6E01100477128A005F316C /* SongManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = SongManager.h; path = ../src/SongManager.h; sourceTree = ""; }; + AA6E01120477128A005F316C /* ThemeManager.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; name = ThemeManager.cpp; path = ../src/ThemeManager.cpp; sourceTree = ""; }; + AA6E01130477128A005F316C /* ThemeManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ThemeManager.h; path = ../src/ThemeManager.h; sourceTree = ""; }; + AA6E012E047712BE005F316C /* RageSoundDriver_Null.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; path = RageSoundDriver_Null.cpp; sourceTree = ""; }; + AA6E012F047712BE005F316C /* RageSoundDriver_Null.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = RageSoundDriver_Null.h; sourceTree = ""; }; + AA6E01630477136A005F316C /* LowLevelWindow.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = LowLevelWindow.h; sourceTree = ""; }; + AA6E01DB04771F11005F316C /* MovieTexture.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = MovieTexture.cpp; path = MovieTexture/MovieTexture.cpp; sourceTree = ""; }; + AA6E01DE04772005005F316C /* SongCacheIndex.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = SongCacheIndex.cpp; path = ../src/SongCacheIndex.cpp; sourceTree = ""; }; + AA6E01DF04772005005F316C /* SongCacheIndex.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = SongCacheIndex.h; path = ../src/SongCacheIndex.h; sourceTree = ""; }; + AA6E01E20477205A005F316C /* Song.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Song.cpp; path = ../src/Song.cpp; sourceTree = ""; }; + AA6E01E6047720A3005F316C /* RandomSample.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RandomSample.cpp; path = ../src/RandomSample.cpp; sourceTree = ""; }; + AA6E01E7047720A3005F316C /* RandomSample.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RandomSample.h; path = ../src/RandomSample.h; sourceTree = ""; }; + AA6E6E0907F518E800C3EBB4 /* Quad.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Quad.cpp; path = ../src/Quad.cpp; sourceTree = ""; }; + AA6EFD6D04770A7C005F316C /* RageBitmapTexture.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageBitmapTexture.cpp; path = ../src/RageBitmapTexture.cpp; sourceTree = ""; }; + AA6EFD6E04770A7C005F316C /* RageBitmapTexture.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageBitmapTexture.h; path = ../src/RageBitmapTexture.h; sourceTree = ""; }; + AA6EFD6F04770A7C005F316C /* RageDisplay.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageDisplay.cpp; path = ../src/RageDisplay.cpp; sourceTree = ""; }; + AA6EFD7004770A7C005F316C /* RageDisplay.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageDisplay.h; path = ../src/RageDisplay.h; sourceTree = ""; }; + AA6EFD7204770A7C005F316C /* RageException.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageException.cpp; path = ../src/RageException.cpp; sourceTree = ""; }; + AA6EFD7304770A7C005F316C /* RageException.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageException.h; path = ../src/RageException.h; sourceTree = ""; }; + AA6EFD7404770A7C005F316C /* RageInput.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageInput.cpp; path = ../src/RageInput.cpp; sourceTree = ""; }; + AA6EFD7504770A7C005F316C /* RageInput.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageInput.h; path = ../src/RageInput.h; sourceTree = ""; }; + AA6EFD7604770A7C005F316C /* RageInputDevice.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageInputDevice.cpp; path = ../src/RageInputDevice.cpp; sourceTree = ""; }; + AA6EFD7704770A7C005F316C /* RageInputDevice.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageInputDevice.h; path = ../src/RageInputDevice.h; sourceTree = ""; }; + AA6EFD7804770A7C005F316C /* RageLog.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageLog.cpp; path = ../src/RageLog.cpp; sourceTree = ""; }; + AA6EFD7904770A7C005F316C /* RageLog.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageLog.h; path = ../src/RageLog.h; sourceTree = ""; }; + AA6EFD7A04770A7C005F316C /* RageMath.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageMath.cpp; path = ../src/RageMath.cpp; sourceTree = ""; }; + AA6EFD7B04770A7C005F316C /* RageMath.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageMath.h; path = ../src/RageMath.h; sourceTree = ""; }; + AA6EFD7C04770A7C005F316C /* RageSound.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageSound.cpp; path = ../src/RageSound.cpp; sourceTree = ""; }; + AA6EFD7D04770A7C005F316C /* RageSound.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageSound.h; path = ../src/RageSound.h; sourceTree = ""; }; + AA6EFD7E04770A7C005F316C /* RageSoundManager.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageSoundManager.cpp; path = ../src/RageSoundManager.cpp; sourceTree = ""; }; + AA6EFD7F04770A7C005F316C /* RageSoundManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageSoundManager.h; path = ../src/RageSoundManager.h; sourceTree = ""; }; + AA6EFD8004770A7C005F316C /* RageSoundReader_Preload.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageSoundReader_Preload.cpp; path = ../src/RageSoundReader_Preload.cpp; sourceTree = ""; }; + AA6EFD8104770A7C005F316C /* RageSoundReader_Preload.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageSoundReader_Preload.h; path = ../src/RageSoundReader_Preload.h; sourceTree = ""; }; + AA6EFD8604770A7C005F316C /* RageSoundReader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageSoundReader.h; path = ../src/RageSoundReader.h; sourceTree = ""; }; + AA6EFD8904770A7C005F316C /* RageTexture.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageTexture.cpp; path = ../src/RageTexture.cpp; sourceTree = ""; }; + AA6EFD8A04770A7C005F316C /* RageTexture.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageTexture.h; path = ../src/RageTexture.h; sourceTree = ""; }; + AA6EFD8B04770A7C005F316C /* RageTextureManager.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageTextureManager.cpp; path = ../src/RageTextureManager.cpp; sourceTree = ""; }; + AA6EFD8C04770A7C005F316C /* RageTextureManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageTextureManager.h; path = ../src/RageTextureManager.h; sourceTree = ""; }; + AA6EFD8D04770A7C005F316C /* RageThreads.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageThreads.cpp; path = ../src/RageThreads.cpp; sourceTree = ""; }; + AA6EFD8E04770A7C005F316C /* RageThreads.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageThreads.h; path = ../src/RageThreads.h; sourceTree = ""; }; + AA6EFD8F04770A7C005F316C /* RageTimer.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageTimer.cpp; path = ../src/RageTimer.cpp; sourceTree = ""; }; + AA6EFD9004770A7C005F316C /* RageTimer.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageTimer.h; path = ../src/RageTimer.h; sourceTree = ""; }; + AA6EFD9104770A7C005F316C /* RageTypes.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageTypes.h; path = ../src/RageTypes.h; sourceTree = ""; }; + AA6EFD9204770A7C005F316C /* RageUtil.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageUtil.cpp; path = ../src/RageUtil.cpp; sourceTree = ""; }; + AA6EFD9304770A7C005F316C /* RageUtil.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageUtil.h; path = ../src/RageUtil.h; sourceTree = ""; }; + AA6EFDCB04770C79005F316C /* Character.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Character.cpp; path = ../src/Character.cpp; sourceTree = ""; }; + AA6EFDCC04770C79005F316C /* Character.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Character.h; path = ../src/Character.h; sourceTree = ""; }; + AA6EFDCD04770C79005F316C /* CodeDetector.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = CodeDetector.cpp; path = ../src/CodeDetector.cpp; sourceTree = ""; }; + AA6EFDCE04770C79005F316C /* CodeDetector.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = CodeDetector.h; path = ../src/CodeDetector.h; sourceTree = ""; }; + AA6EFDCF04770C79005F316C /* Course.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Course.cpp; path = ../src/Course.cpp; sourceTree = ""; }; + AA6EFDD004770C79005F316C /* Course.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Course.h; path = ../src/Course.h; sourceTree = ""; }; + AA6EFDD104770C79005F316C /* Font.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Font.cpp; path = ../src/Font.cpp; sourceTree = ""; }; + AA6EFDD204770C79005F316C /* Font.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Font.h; path = ../src/Font.h; sourceTree = ""; }; + AA6EFDD304770C79005F316C /* FontCharAliases.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = FontCharAliases.cpp; path = ../src/FontCharAliases.cpp; sourceTree = ""; }; + AA6EFDD404770C79005F316C /* FontCharAliases.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = FontCharAliases.h; path = ../src/FontCharAliases.h; sourceTree = ""; }; + AA6EFDD504770C79005F316C /* FontCharmaps.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = FontCharmaps.cpp; path = ../src/FontCharmaps.cpp; sourceTree = ""; }; + AA6EFDD604770C79005F316C /* FontCharmaps.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = FontCharmaps.h; path = ../src/FontCharmaps.h; sourceTree = ""; }; + AA6EFDD704770C79005F316C /* FontManager.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = FontManager.cpp; path = ../src/FontManager.cpp; sourceTree = ""; }; + AA6EFDD804770C79005F316C /* FontManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = FontManager.h; path = ../src/FontManager.h; sourceTree = ""; }; + AA6EFDD904770C79005F316C /* GameConstantsAndTypes.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = GameConstantsAndTypes.cpp; path = ../src/GameConstantsAndTypes.cpp; sourceTree = ""; }; + AA6EFDDA04770C79005F316C /* GameConstantsAndTypes.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = GameConstantsAndTypes.h; path = ../src/GameConstantsAndTypes.h; sourceTree = ""; }; + AA6EFDDD04770C79005F316C /* GameInput.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = GameInput.cpp; path = ../src/GameInput.cpp; sourceTree = ""; }; + AA6EFDDE04770C79005F316C /* GameInput.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = GameInput.h; path = ../src/GameInput.h; sourceTree = ""; }; + AA6EFDDF04770C79005F316C /* Grade.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Grade.cpp; path = ../src/Grade.cpp; sourceTree = ""; }; + AA6EFDE004770C79005F316C /* Grade.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Grade.h; path = ../src/Grade.h; sourceTree = ""; }; + AA6EFDE104770C79005F316C /* Inventory.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Inventory.cpp; path = ../src/Inventory.cpp; sourceTree = ""; }; + AA6EFDE204770C79005F316C /* Inventory.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Inventory.h; path = ../src/Inventory.h; sourceTree = ""; }; + AA6EFDE304770C79005F316C /* LyricsLoader.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = LyricsLoader.cpp; path = ../src/LyricsLoader.cpp; sourceTree = ""; }; + AA6EFDE404770C79005F316C /* LyricsLoader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = LyricsLoader.h; path = ../src/LyricsLoader.h; sourceTree = ""; }; + AA6EFDE504770C79005F316C /* NoteData.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = NoteData.cpp; path = ../src/NoteData.cpp; sourceTree = ""; }; + AA6EFDE604770C79005F316C /* NoteData.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = NoteData.h; path = ../src/NoteData.h; sourceTree = ""; }; + AA6EFDE704770C79005F316C /* NoteDataWithScoring.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = NoteDataWithScoring.cpp; path = ../src/NoteDataWithScoring.cpp; sourceTree = ""; }; + AA6EFDE804770C79005F316C /* NoteDataWithScoring.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = NoteDataWithScoring.h; path = ../src/NoteDataWithScoring.h; sourceTree = ""; }; + AA6EFDED04770C79005F316C /* NotesLoader.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = NotesLoader.cpp; path = ../src/NotesLoader.cpp; sourceTree = ""; }; + AA6EFDEE04770C79005F316C /* NotesLoader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = NotesLoader.h; path = ../src/NotesLoader.h; sourceTree = ""; }; + AA6EFDEF04770C79005F316C /* NotesLoaderBMS.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = NotesLoaderBMS.cpp; path = ../src/NotesLoaderBMS.cpp; sourceTree = ""; }; + AA6EFDF004770C79005F316C /* NotesLoaderBMS.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = NotesLoaderBMS.h; path = ../src/NotesLoaderBMS.h; sourceTree = ""; }; + AA6EFDF104770C79005F316C /* NotesLoaderDWI.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = NotesLoaderDWI.cpp; path = ../src/NotesLoaderDWI.cpp; sourceTree = ""; }; + AA6EFDF204770C79005F316C /* NotesLoaderDWI.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = NotesLoaderDWI.h; path = ../src/NotesLoaderDWI.h; sourceTree = ""; }; + AA6EFDF304770C79005F316C /* NotesLoaderKSF.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = NotesLoaderKSF.cpp; path = ../src/NotesLoaderKSF.cpp; sourceTree = ""; }; + AA6EFDF404770C79005F316C /* NotesLoaderKSF.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = NotesLoaderKSF.h; path = ../src/NotesLoaderKSF.h; sourceTree = ""; }; + AA6EFDF504770C79005F316C /* NotesLoaderSM.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = NotesLoaderSM.cpp; path = ../src/NotesLoaderSM.cpp; sourceTree = ""; }; + AA6EFDF604770C79005F316C /* NotesLoaderSM.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = NotesLoaderSM.h; path = ../src/NotesLoaderSM.h; sourceTree = ""; }; + AA6EFDF704770C79005F316C /* NotesWriterDWI.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = NotesWriterDWI.cpp; path = ../src/NotesWriterDWI.cpp; sourceTree = ""; }; + AA6EFDF804770C79005F316C /* NotesWriterDWI.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = NotesWriterDWI.h; path = ../src/NotesWriterDWI.h; sourceTree = ""; }; + AA6EFDF904770C79005F316C /* NotesWriterSM.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = NotesWriterSM.cpp; path = ../src/NotesWriterSM.cpp; sourceTree = ""; }; + AA6EFDFA04770C79005F316C /* NotesWriterSM.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = NotesWriterSM.h; path = ../src/NotesWriterSM.h; sourceTree = ""; }; + AA6EFDFB04770C79005F316C /* NoteTypes.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = NoteTypes.cpp; path = ../src/NoteTypes.cpp; sourceTree = ""; }; + AA6EFDFC04770C79005F316C /* NoteTypes.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = NoteTypes.h; path = ../src/NoteTypes.h; sourceTree = ""; }; + AA6EFDFD04770C79005F316C /* Player.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Player.cpp; path = ../src/Player.cpp; sourceTree = ""; }; + AA6EFDFE04770C79005F316C /* Player.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Player.h; path = ../src/Player.h; sourceTree = ""; }; + AA6EFDFF04770C79005F316C /* PlayerAI.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = PlayerAI.cpp; path = ../src/PlayerAI.cpp; sourceTree = ""; }; + AA6EFE0004770C79005F316C /* PlayerAI.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = PlayerAI.h; path = ../src/PlayerAI.h; sourceTree = ""; }; + AA6EFE0104770C79005F316C /* PlayerNumber.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = PlayerNumber.cpp; path = ../src/PlayerNumber.cpp; sourceTree = ""; }; + AA6EFE0204770C79005F316C /* PlayerNumber.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = PlayerNumber.h; path = ../src/PlayerNumber.h; sourceTree = ""; }; + AA6EFE0304770C79005F316C /* PlayerOptions.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = PlayerOptions.cpp; path = ../src/PlayerOptions.cpp; sourceTree = ""; }; + AA6EFE0404770C79005F316C /* PlayerOptions.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = PlayerOptions.h; path = ../src/PlayerOptions.h; sourceTree = ""; }; + AA6EFE0704770C79005F316C /* SongOptions.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = SongOptions.cpp; path = ../src/SongOptions.cpp; sourceTree = ""; }; + AA6EFE0804770C79005F316C /* SongOptions.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = SongOptions.h; path = ../src/SongOptions.h; sourceTree = ""; }; + AA6EFE0904770C79005F316C /* StageStats.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = StageStats.cpp; path = ../src/StageStats.cpp; sourceTree = ""; }; + AA6EFE0A04770C79005F316C /* StageStats.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = StageStats.h; path = ../src/StageStats.h; sourceTree = ""; }; + AA6EFE0E04770C79005F316C /* TitleSubstitution.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = TitleSubstitution.cpp; path = ../src/TitleSubstitution.cpp; sourceTree = ""; }; + AA6EFE0F04770C79005F316C /* TitleSubstitution.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = TitleSubstitution.h; path = ../src/TitleSubstitution.h; sourceTree = ""; }; + AA6EFE5804770CAA005F316C /* IniFile.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = IniFile.cpp; path = ../src/IniFile.cpp; sourceTree = ""; }; + AA6EFE5904770CAA005F316C /* IniFile.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = IniFile.h; path = ../src/IniFile.h; sourceTree = ""; }; + AA6EFE5A04770CAA005F316C /* MsdFile.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = MsdFile.cpp; path = ../src/MsdFile.cpp; sourceTree = ""; }; + AA6EFE5B04770CAA005F316C /* MsdFile.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = MsdFile.h; path = ../src/MsdFile.h; sourceTree = ""; }; + AA6EFE6004770CF7005F316C /* global.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = global.h; sourceTree = ""; }; + AA6EFE6104770CF7005F316C /* ScreenDimensions.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenDimensions.h; path = ../src/ScreenDimensions.h; sourceTree = ""; }; + AA6EFE6204770CF7005F316C /* StdString.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = StdString.h; sourceTree = ""; }; + AA6EFE6304770CF7005F316C /* StepMania.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; path = StepMania.cpp; sourceTree = ""; }; + AA6EFE6404770CF7005F316C /* StepMania.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = StepMania.h; sourceTree = ""; }; + AA6EFE6E04770D61005F316C /* Banner.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Banner.cpp; path = ../src/Banner.cpp; sourceTree = ""; }; + AA6EFE6F04770D61005F316C /* Banner.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Banner.h; path = ../src/Banner.h; sourceTree = ""; }; + AA6EFE7604770E7C005F316C /* BPMDisplay.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = BPMDisplay.cpp; path = ../src/BPMDisplay.cpp; sourceTree = ""; }; + AA6EFE7704770E7C005F316C /* BPMDisplay.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = BPMDisplay.h; path = ../src/BPMDisplay.h; sourceTree = ""; }; + AA6EFE7804770E7C005F316C /* CourseContentsList.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = CourseContentsList.cpp; path = ../src/CourseContentsList.cpp; sourceTree = ""; }; + AA6EFE7904770E7C005F316C /* CourseContentsList.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = CourseContentsList.h; path = ../src/CourseContentsList.h; sourceTree = ""; }; + AA6EFE7E04770E7C005F316C /* DifficultyIcon.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = DifficultyIcon.cpp; path = ../src/DifficultyIcon.cpp; sourceTree = ""; }; + AA6EFE7F04770E7C005F316C /* DifficultyIcon.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = DifficultyIcon.h; path = ../src/DifficultyIcon.h; sourceTree = ""; }; + AA6EFE8404770E7C005F316C /* EditMenu.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = EditMenu.cpp; path = ../src/EditMenu.cpp; sourceTree = ""; }; + AA6EFE8504770E7C005F316C /* EditMenu.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = EditMenu.h; path = ../src/EditMenu.h; sourceTree = ""; }; + AA6EFE8A04770E7C005F316C /* FadingBanner.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = FadingBanner.cpp; path = ../src/FadingBanner.cpp; sourceTree = ""; }; + AA6EFE8B04770E7C005F316C /* FadingBanner.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = FadingBanner.h; path = ../src/FadingBanner.h; sourceTree = ""; }; + AA6EFE8C04770E7C005F316C /* GradeDisplay.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = GradeDisplay.cpp; path = ../src/GradeDisplay.cpp; sourceTree = ""; }; + AA6EFE8D04770E7C005F316C /* GradeDisplay.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = GradeDisplay.h; path = ../src/GradeDisplay.h; sourceTree = ""; }; + AA6EFE9004770E7C005F316C /* GrooveRadar.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = GrooveRadar.cpp; path = ../src/GrooveRadar.cpp; sourceTree = ""; }; + AA6EFE9104770E7C005F316C /* GrooveRadar.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = GrooveRadar.h; path = ../src/GrooveRadar.h; sourceTree = ""; }; + AA6EFE9404770E7C005F316C /* HelpDisplay.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = HelpDisplay.cpp; path = ../src/HelpDisplay.cpp; sourceTree = ""; }; + AA6EFE9504770E7C005F316C /* HelpDisplay.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = HelpDisplay.h; path = ../src/HelpDisplay.h; sourceTree = ""; }; + AA6EFE9A04770E7C005F316C /* MenuTimer.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = MenuTimer.cpp; path = ../src/MenuTimer.cpp; sourceTree = ""; }; + AA6EFE9B04770E7C005F316C /* MenuTimer.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = MenuTimer.h; path = ../src/MenuTimer.h; sourceTree = ""; }; + AA6EFE9C04770E7C005F316C /* MeterDisplay.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = MeterDisplay.cpp; path = ../src/MeterDisplay.cpp; sourceTree = ""; }; + AA6EFE9D04770E7C005F316C /* MeterDisplay.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = MeterDisplay.h; path = ../src/MeterDisplay.h; sourceTree = ""; }; + AA6EFEA404770E7C005F316C /* MusicWheel.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = MusicWheel.cpp; path = ../src/MusicWheel.cpp; sourceTree = ""; }; + AA6EFEA504770E7C005F316C /* MusicWheel.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = MusicWheel.h; path = ../src/MusicWheel.h; sourceTree = ""; }; + AA6EFEA604770E7C005F316C /* MusicWheelItem.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = MusicWheelItem.cpp; path = ../src/MusicWheelItem.cpp; sourceTree = ""; }; + AA6EFEA704770E7C005F316C /* MusicWheelItem.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = MusicWheelItem.h; path = ../src/MusicWheelItem.h; sourceTree = ""; }; + AA6EFEAC04770E7C005F316C /* OptionsCursor.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = OptionsCursor.cpp; path = ../src/OptionsCursor.cpp; sourceTree = ""; }; + AA6EFEAD04770E7C005F316C /* OptionsCursor.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = OptionsCursor.h; path = ../src/OptionsCursor.h; sourceTree = ""; }; + AA6EFEAE04770E7C005F316C /* ScrollBar.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScrollBar.cpp; path = ../src/ScrollBar.cpp; sourceTree = ""; }; + AA6EFEAF04770E7C005F316C /* ScrollBar.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScrollBar.h; path = ../src/ScrollBar.h; sourceTree = ""; }; + AA6EFEB204770E7C005F316C /* SnapDisplay.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = SnapDisplay.cpp; path = ../src/SnapDisplay.cpp; sourceTree = ""; }; + AA6EFEB304770E7C005F316C /* SnapDisplay.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = SnapDisplay.h; path = ../src/SnapDisplay.h; sourceTree = ""; }; + AA6EFEB404770E7C005F316C /* TextBanner.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = TextBanner.cpp; path = ../src/TextBanner.cpp; sourceTree = ""; }; + AA6EFEB504770E7C005F316C /* TextBanner.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = TextBanner.h; path = ../src/TextBanner.h; sourceTree = ""; }; + AA6EFEB604770E7C005F316C /* WheelNotifyIcon.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = WheelNotifyIcon.cpp; path = ../src/WheelNotifyIcon.cpp; sourceTree = ""; }; + AA6EFEB704770E7C005F316C /* WheelNotifyIcon.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = WheelNotifyIcon.h; path = ../src/WheelNotifyIcon.h; sourceTree = ""; }; + AA6EFEFD04770F63005F316C /* ArrowEffects.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ArrowEffects.cpp; path = ../src/ArrowEffects.cpp; sourceTree = ""; }; + AA6EFEFE04770F63005F316C /* ArrowEffects.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ArrowEffects.h; path = ../src/ArrowEffects.h; sourceTree = ""; }; + AA6EFEFF04770F63005F316C /* Background.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Background.cpp; path = ../src/Background.cpp; sourceTree = ""; }; + AA6EFF0004770F63005F316C /* Background.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Background.h; path = ../src/Background.h; sourceTree = ""; }; + AA6EFF0104770F63005F316C /* BGAnimation.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = BGAnimation.cpp; path = ../src/BGAnimation.cpp; sourceTree = ""; }; + AA6EFF0204770F63005F316C /* BGAnimation.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = BGAnimation.h; path = ../src/BGAnimation.h; sourceTree = ""; }; + AA6EFF0304770F63005F316C /* BGAnimationLayer.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = BGAnimationLayer.cpp; path = ../src/BGAnimationLayer.cpp; sourceTree = ""; }; + AA6EFF0404770F63005F316C /* BGAnimationLayer.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = BGAnimationLayer.h; path = ../src/BGAnimationLayer.h; sourceTree = ""; }; + AA6EFF0704770F63005F316C /* DancingCharacters.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = DancingCharacters.cpp; path = ../src/DancingCharacters.cpp; sourceTree = ""; }; + AA6EFF0804770F63005F316C /* DancingCharacters.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = DancingCharacters.h; path = ../src/DancingCharacters.h; sourceTree = ""; }; + AA6EFF0D04770F63005F316C /* GhostArrowRow.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = GhostArrowRow.cpp; path = ../src/GhostArrowRow.cpp; sourceTree = ""; }; + AA6EFF0E04770F63005F316C /* GhostArrowRow.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = GhostArrowRow.h; path = ../src/GhostArrowRow.h; sourceTree = ""; }; + AA6EFF1504770F63005F316C /* HoldJudgment.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = HoldJudgment.cpp; path = ../src/HoldJudgment.cpp; sourceTree = ""; }; + AA6EFF1604770F63005F316C /* HoldJudgment.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = HoldJudgment.h; path = ../src/HoldJudgment.h; sourceTree = ""; }; + AA6EFF1A04770F63005F316C /* LifeMeter.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = LifeMeter.h; path = ../src/LifeMeter.h; sourceTree = ""; }; + AA6EFF1B04770F63005F316C /* LifeMeterBar.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = LifeMeterBar.cpp; path = ../src/LifeMeterBar.cpp; sourceTree = ""; }; + AA6EFF1C04770F63005F316C /* LifeMeterBar.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = LifeMeterBar.h; path = ../src/LifeMeterBar.h; sourceTree = ""; }; + AA6EFF1D04770F63005F316C /* LifeMeterBattery.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = LifeMeterBattery.cpp; path = ../src/LifeMeterBattery.cpp; sourceTree = ""; }; + AA6EFF1E04770F63005F316C /* LifeMeterBattery.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = LifeMeterBattery.h; path = ../src/LifeMeterBattery.h; sourceTree = ""; }; + AA6EFF1F04770F63005F316C /* LyricDisplay.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = LyricDisplay.cpp; path = ../src/LyricDisplay.cpp; sourceTree = ""; }; + AA6EFF2004770F63005F316C /* LyricDisplay.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = LyricDisplay.h; path = ../src/LyricDisplay.h; sourceTree = ""; }; + AA6EFF2104770F63005F316C /* NoteDisplay.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = NoteDisplay.cpp; path = ../src/NoteDisplay.cpp; sourceTree = ""; }; + AA6EFF2204770F63005F316C /* NoteDisplay.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = NoteDisplay.h; path = ../src/NoteDisplay.h; sourceTree = ""; }; + AA6EFF2304770F63005F316C /* NoteField.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = NoteField.cpp; path = ../src/NoteField.cpp; sourceTree = ""; }; + AA6EFF2404770F63005F316C /* NoteField.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = NoteField.h; path = ../src/NoteField.h; sourceTree = ""; }; + AA6EFF2504770F63005F316C /* ScoreDisplay.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScoreDisplay.cpp; path = ../src/ScoreDisplay.cpp; sourceTree = ""; }; + AA6EFF2604770F63005F316C /* ScoreDisplay.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScoreDisplay.h; path = ../src/ScoreDisplay.h; sourceTree = ""; }; + AA6EFF2704770F63005F316C /* ScoreDisplayBattle.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScoreDisplayBattle.cpp; path = ../src/ScoreDisplayBattle.cpp; sourceTree = ""; }; + AA6EFF2804770F63005F316C /* ScoreDisplayBattle.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScoreDisplayBattle.h; path = ../src/ScoreDisplayBattle.h; sourceTree = ""; }; + AA6EFF2904770F63005F316C /* ScoreDisplayNormal.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScoreDisplayNormal.cpp; path = ../src/ScoreDisplayNormal.cpp; sourceTree = ""; }; + AA6EFF2A04770F63005F316C /* ScoreDisplayNormal.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScoreDisplayNormal.h; path = ../src/ScoreDisplayNormal.h; sourceTree = ""; }; + AA6EFF2B04770F63005F316C /* ScoreDisplayOni.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScoreDisplayOni.cpp; path = ../src/ScoreDisplayOni.cpp; sourceTree = ""; }; + AA6EFF2C04770F63005F316C /* ScoreDisplayOni.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScoreDisplayOni.h; path = ../src/ScoreDisplayOni.h; sourceTree = ""; }; + AA6EFF2D04770F63005F316C /* ScoreDisplayRave.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScoreDisplayRave.cpp; path = ../src/ScoreDisplayRave.cpp; sourceTree = ""; }; + AA6EFF2E04770F63005F316C /* ScoreDisplayRave.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScoreDisplayRave.h; path = ../src/ScoreDisplayRave.h; sourceTree = ""; }; + AA6EFF3004770F63005F316C /* ScoreKeeper.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScoreKeeper.h; path = ../src/ScoreKeeper.h; sourceTree = ""; }; + AA6EFF7004770F86005F316C /* Transition.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Transition.cpp; path = ../src/Transition.cpp; sourceTree = ""; }; + AA6EFF7104770F86005F316C /* Transition.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Transition.h; path = ../src/Transition.h; sourceTree = ""; }; + AA6EFF7504770FFD005F316C /* Actor.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Actor.cpp; path = ../src/Actor.cpp; sourceTree = ""; }; + AA6EFF7604770FFD005F316C /* Actor.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Actor.h; path = ../src/Actor.h; sourceTree = ""; }; + AA6EFF7704770FFD005F316C /* ActorFrame.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ActorFrame.cpp; path = ../src/ActorFrame.cpp; sourceTree = ""; }; + AA6EFF7804770FFD005F316C /* ActorFrame.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ActorFrame.h; path = ../src/ActorFrame.h; sourceTree = ""; }; + AA6EFF7904770FFD005F316C /* ActorScroller.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ActorScroller.cpp; path = ../src/ActorScroller.cpp; sourceTree = ""; }; + AA6EFF7A04770FFD005F316C /* ActorScroller.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ActorScroller.h; path = ../src/ActorScroller.h; sourceTree = ""; }; + AA6EFFB904770FFD005F316C /* BitmapText.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = BitmapText.cpp; path = ../src/BitmapText.cpp; sourceTree = ""; }; + AA6EFFBA04770FFD005F316C /* BitmapText.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = BitmapText.h; path = ../src/BitmapText.h; sourceTree = ""; }; + AA6EFFBD04770FFD005F316C /* Model.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Model.cpp; path = ../src/Model.cpp; sourceTree = ""; }; + AA6EFFBE04770FFD005F316C /* Model.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Model.h; path = ../src/Model.h; sourceTree = ""; }; + AA6EFFBF04770FFD005F316C /* ModelTypes.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ModelTypes.cpp; path = ../src/ModelTypes.cpp; sourceTree = ""; }; + AA6EFFC004770FFD005F316C /* ModelTypes.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ModelTypes.h; path = ../src/ModelTypes.h; sourceTree = ""; }; + AA6EFFC104770FFD005F316C /* Quad.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Quad.h; path = ../src/Quad.h; sourceTree = ""; }; + AA6EFFC204770FFD005F316C /* Sprite.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Sprite.cpp; path = ../src/Sprite.cpp; sourceTree = ""; }; + AA6EFFC304770FFD005F316C /* Sprite.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Sprite.h; path = ../src/Sprite.h; sourceTree = ""; }; + AA70E3640663112800DAE1FD /* Foreach.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = Foreach.h; sourceTree = ""; }; + AA70E3650663112800DAE1FD /* Trail.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Trail.cpp; path = ../src/Trail.cpp; sourceTree = ""; }; + AA70E3660663112800DAE1FD /* Trail.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Trail.h; path = ../src/Trail.h; sourceTree = ""; }; + AA70E3670663112800DAE1FD /* TrailUtil.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = TrailUtil.cpp; path = ../src/TrailUtil.cpp; sourceTree = ""; }; + AA70E3680663112800DAE1FD /* TrailUtil.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = TrailUtil.h; path = ../src/TrailUtil.h; sourceTree = ""; }; + AA7144AF0809EEEC00545684 /* ScoreDisplayAliveTime.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScoreDisplayAliveTime.cpp; path = ../src/ScoreDisplayAliveTime.cpp; sourceTree = ""; }; + AA7144B00809EEEC00545684 /* ScoreDisplayAliveTime.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScoreDisplayAliveTime.h; path = ../src/ScoreDisplayAliveTime.h; sourceTree = ""; }; + AA729C420599B50D00779F33 /* TimingData.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = TimingData.cpp; path = ../src/TimingData.cpp; sourceTree = ""; }; + AA729C430599B50D00779F33 /* TimingData.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = TimingData.h; path = ../src/TimingData.h; sourceTree = ""; }; + AA729C460599B54D00779F33 /* MemoryCardDisplay.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = MemoryCardDisplay.cpp; path = ../src/MemoryCardDisplay.cpp; sourceTree = ""; }; + AA729C470599B54D00779F33 /* MemoryCardDisplay.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = MemoryCardDisplay.h; path = ../src/MemoryCardDisplay.h; sourceTree = ""; }; + AA729C4E0599B58D00779F33 /* ReceptorArrow.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ReceptorArrow.cpp; path = ../src/ReceptorArrow.cpp; sourceTree = ""; }; + AA729C4F0599B58D00779F33 /* ReceptorArrow.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ReceptorArrow.h; path = ../src/ReceptorArrow.h; sourceTree = ""; }; + AA729C500599B58D00779F33 /* ReceptorArrowRow.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ReceptorArrowRow.cpp; path = ../src/ReceptorArrowRow.cpp; sourceTree = ""; }; + AA729C510599B58D00779F33 /* ReceptorArrowRow.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ReceptorArrowRow.h; path = ../src/ReceptorArrowRow.h; sourceTree = ""; }; + AA76D15404D9D2D200D02EE9 /* CrashHandler.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; path = CrashHandler.cpp; sourceTree = ""; }; + AA76D15504D9D2D200D02EE9 /* CrashHandlerChild.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; path = CrashHandlerChild.cpp; sourceTree = ""; }; + AA77E74508B64B1400FA24CA /* CharacterManager.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = CharacterManager.cpp; path = ../src/CharacterManager.cpp; sourceTree = ""; }; + AA77E74608B64B1400FA24CA /* CharacterManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = CharacterManager.h; path = ../src/CharacterManager.h; sourceTree = ""; }; + AA77E74B08B64B5600FA24CA /* CourseLoaderCRS.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = CourseLoaderCRS.cpp; path = ../src/CourseLoaderCRS.cpp; sourceTree = ""; }; + AA77E74C08B64B5600FA24CA /* CourseLoaderCRS.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = CourseLoaderCRS.h; path = ../src/CourseLoaderCRS.h; sourceTree = ""; }; + AA77E74D08B64B5600FA24CA /* CourseWriterCRS.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = CourseWriterCRS.cpp; path = ../src/CourseWriterCRS.cpp; sourceTree = ""; }; + AA77E74E08B64B5600FA24CA /* CourseWriterCRS.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = CourseWriterCRS.h; path = ../src/CourseWriterCRS.h; sourceTree = ""; }; + AA77E75B08B64B9A00FA24CA /* ScreenOptionsManageCourses.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenOptionsManageCourses.cpp; path = ../src/ScreenOptionsManageCourses.cpp; sourceTree = ""; }; + AA77E75C08B64B9A00FA24CA /* ScreenOptionsManageCourses.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenOptionsManageCourses.h; path = ../src/ScreenOptionsManageCourses.h; sourceTree = ""; }; + AA77E75D08B64B9A00FA24CA /* ScreenOptionsManageProfiles.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenOptionsManageProfiles.cpp; path = ../src/ScreenOptionsManageProfiles.cpp; sourceTree = ""; }; + AA77E75E08B64B9A00FA24CA /* ScreenOptionsManageProfiles.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenOptionsManageProfiles.h; path = ../src/ScreenOptionsManageProfiles.h; sourceTree = ""; }; + AA77E8A108B6ABD500FA24CA /* vecLib.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = vecLib.framework; path = /System/Library/Frameworks/vecLib.framework; sourceTree = ""; }; + AA7A2B940AE09B520054C5BA /* lua */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = lua; sourceTree = BUILT_PRODUCTS_DIR; }; + AA7A2BAB0AE09CD50054C5BA /* luac */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = luac; sourceTree = BUILT_PRODUCTS_DIR; }; + AA7ADC23072CAB7F00C50A7F /* RageSoundReader_Chain.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageSoundReader_Chain.cpp; path = ../src/RageSoundReader_Chain.cpp; sourceTree = ""; }; + AA7ADC24072CAB7F00C50A7F /* RageSoundReader_Chain.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageSoundReader_Chain.h; path = ../src/RageSoundReader_Chain.h; sourceTree = ""; }; + AA7ADC25072CAB7F00C50A7F /* RageSoundUtil.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageSoundUtil.cpp; path = ../src/RageSoundUtil.cpp; sourceTree = ""; }; + AA7ADC26072CAB7F00C50A7F /* RageSoundUtil.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageSoundUtil.h; path = ../src/RageSoundUtil.h; sourceTree = ""; }; + AA7C895F0B67444700FD9940 /* libtommath-sm5.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libtommath-sm5.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + AA7C8A800B6744F600FD9940 /* bn_error.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_error.c; sourceTree = ""; }; + AA7C8A810B6744F600FD9940 /* bn_fast_mp_invmod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_fast_mp_invmod.c; sourceTree = ""; }; + AA7C8A820B6744F600FD9940 /* bn_fast_mp_montgomery_reduce.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_fast_mp_montgomery_reduce.c; sourceTree = ""; }; + AA7C8A830B6744F600FD9940 /* bn_fast_s_mp_mul_digs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_fast_s_mp_mul_digs.c; sourceTree = ""; }; + AA7C8A840B6744F600FD9940 /* bn_fast_s_mp_mul_high_digs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_fast_s_mp_mul_high_digs.c; sourceTree = ""; }; + AA7C8A850B6744F600FD9940 /* bn_fast_s_mp_sqr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_fast_s_mp_sqr.c; sourceTree = ""; }; + AA7C8A860B6744F600FD9940 /* bn_mp_2expt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_2expt.c; sourceTree = ""; }; + AA7C8A870B6744F600FD9940 /* bn_mp_abs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_abs.c; sourceTree = ""; }; + AA7C8A880B6744F600FD9940 /* bn_mp_add.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_add.c; sourceTree = ""; }; + AA7C8A890B6744F600FD9940 /* bn_mp_add_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_add_d.c; sourceTree = ""; }; + AA7C8A8A0B6744F600FD9940 /* bn_mp_addmod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_addmod.c; sourceTree = ""; }; + AA7C8A8B0B6744F600FD9940 /* bn_mp_and.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_and.c; sourceTree = ""; }; + AA7C8A8C0B6744F600FD9940 /* bn_mp_clamp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_clamp.c; sourceTree = ""; }; + AA7C8A8D0B6744F600FD9940 /* bn_mp_clear.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_clear.c; sourceTree = ""; }; + AA7C8A8E0B6744F600FD9940 /* bn_mp_clear_multi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_clear_multi.c; sourceTree = ""; }; + AA7C8A8F0B6744F600FD9940 /* bn_mp_cmp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_cmp.c; sourceTree = ""; }; + AA7C8A900B6744F600FD9940 /* bn_mp_cmp_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_cmp_d.c; sourceTree = ""; }; + AA7C8A910B6744F600FD9940 /* bn_mp_cmp_mag.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_cmp_mag.c; sourceTree = ""; }; + AA7C8A920B6744F600FD9940 /* bn_mp_cnt_lsb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_cnt_lsb.c; sourceTree = ""; }; + AA7C8A930B6744F600FD9940 /* bn_mp_copy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_copy.c; sourceTree = ""; }; + AA7C8A940B6744F600FD9940 /* bn_mp_count_bits.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_count_bits.c; sourceTree = ""; }; + AA7C8A950B6744F600FD9940 /* bn_mp_div.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_div.c; sourceTree = ""; }; + AA7C8A960B6744F600FD9940 /* bn_mp_div_2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_div_2.c; sourceTree = ""; }; + AA7C8A970B6744F600FD9940 /* bn_mp_div_2d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_div_2d.c; sourceTree = ""; }; + AA7C8A980B6744F600FD9940 /* bn_mp_div_3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_div_3.c; sourceTree = ""; }; + AA7C8A990B6744F600FD9940 /* bn_mp_div_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_div_d.c; sourceTree = ""; }; + AA7C8A9A0B6744F600FD9940 /* bn_mp_dr_is_modulus.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_dr_is_modulus.c; sourceTree = ""; }; + AA7C8A9B0B6744F600FD9940 /* bn_mp_dr_reduce.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_dr_reduce.c; sourceTree = ""; }; + AA7C8A9C0B6744F600FD9940 /* bn_mp_dr_setup.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_dr_setup.c; sourceTree = ""; }; + AA7C8A9D0B6744F600FD9940 /* bn_mp_exch.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_exch.c; sourceTree = ""; }; + AA7C8A9E0B6744F600FD9940 /* bn_mp_expt_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_expt_d.c; sourceTree = ""; }; + AA7C8A9F0B6744F600FD9940 /* bn_mp_exptmod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_exptmod.c; sourceTree = ""; }; + AA7C8AA00B6744F600FD9940 /* bn_mp_exptmod_fast.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_exptmod_fast.c; sourceTree = ""; }; + AA7C8AA10B6744F600FD9940 /* bn_mp_exteuclid.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_exteuclid.c; sourceTree = ""; }; + AA7C8AA20B6744F600FD9940 /* bn_mp_fread.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_fread.c; sourceTree = ""; }; + AA7C8AA30B6744F600FD9940 /* bn_mp_fwrite.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_fwrite.c; sourceTree = ""; }; + AA7C8AA40B6744F600FD9940 /* bn_mp_gcd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_gcd.c; sourceTree = ""; }; + AA7C8AA50B6744F600FD9940 /* bn_mp_get_int.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_get_int.c; sourceTree = ""; }; + AA7C8AA60B6744F600FD9940 /* bn_mp_grow.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_grow.c; sourceTree = ""; }; + AA7C8AA70B6744F600FD9940 /* bn_mp_init.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_init.c; sourceTree = ""; }; + AA7C8AA80B6744F600FD9940 /* bn_mp_init_copy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_init_copy.c; sourceTree = ""; }; + AA7C8AA90B6744F600FD9940 /* bn_mp_init_multi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_init_multi.c; sourceTree = ""; }; + AA7C8AAA0B6744F600FD9940 /* bn_mp_init_set.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_init_set.c; sourceTree = ""; }; + AA7C8AAB0B6744F600FD9940 /* bn_mp_init_set_int.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_init_set_int.c; sourceTree = ""; }; + AA7C8AAC0B6744F600FD9940 /* bn_mp_init_size.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_init_size.c; sourceTree = ""; }; + AA7C8AAD0B6744F600FD9940 /* bn_mp_invmod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_invmod.c; sourceTree = ""; }; + AA7C8AAE0B6744F600FD9940 /* bn_mp_invmod_slow.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_invmod_slow.c; sourceTree = ""; }; + AA7C8AAF0B6744F600FD9940 /* bn_mp_is_square.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_is_square.c; sourceTree = ""; }; + AA7C8AB00B6744F600FD9940 /* bn_mp_jacobi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_jacobi.c; sourceTree = ""; }; + AA7C8AB10B6744F600FD9940 /* bn_mp_karatsuba_mul.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_karatsuba_mul.c; sourceTree = ""; }; + AA7C8AB20B6744F600FD9940 /* bn_mp_karatsuba_sqr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_karatsuba_sqr.c; sourceTree = ""; }; + AA7C8AB30B6744F600FD9940 /* bn_mp_lcm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_lcm.c; sourceTree = ""; }; + AA7C8AB40B6744F700FD9940 /* bn_mp_lshd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_lshd.c; sourceTree = ""; }; + AA7C8AB50B6744F700FD9940 /* bn_mp_mod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mod.c; sourceTree = ""; }; + AA7C8AB60B6744F700FD9940 /* bn_mp_mod_2d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mod_2d.c; sourceTree = ""; }; + AA7C8AB70B6744F700FD9940 /* bn_mp_mod_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mod_d.c; sourceTree = ""; }; + AA7C8AB80B6744F700FD9940 /* bn_mp_montgomery_calc_normalization.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_montgomery_calc_normalization.c; sourceTree = ""; }; + AA7C8AB90B6744F700FD9940 /* bn_mp_montgomery_reduce.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_montgomery_reduce.c; sourceTree = ""; }; + AA7C8ABA0B6744F700FD9940 /* bn_mp_montgomery_setup.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_montgomery_setup.c; sourceTree = ""; }; + AA7C8ABB0B6744F700FD9940 /* bn_mp_mul.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mul.c; sourceTree = ""; }; + AA7C8ABC0B6744F700FD9940 /* bn_mp_mul_2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mul_2.c; sourceTree = ""; }; + AA7C8ABD0B6744F700FD9940 /* bn_mp_mul_2d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mul_2d.c; sourceTree = ""; }; + AA7C8ABE0B6744F700FD9940 /* bn_mp_mul_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mul_d.c; sourceTree = ""; }; + AA7C8ABF0B6744F700FD9940 /* bn_mp_mulmod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_mulmod.c; sourceTree = ""; }; + AA7C8AC00B6744F700FD9940 /* bn_mp_n_root.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_n_root.c; sourceTree = ""; }; + AA7C8AC10B6744F700FD9940 /* bn_mp_neg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_neg.c; sourceTree = ""; }; + AA7C8AC20B6744F700FD9940 /* bn_mp_or.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_or.c; sourceTree = ""; }; + AA7C8AC30B6744F700FD9940 /* bn_mp_prime_fermat.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_prime_fermat.c; sourceTree = ""; }; + AA7C8AC40B6744F700FD9940 /* bn_mp_prime_is_divisible.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_prime_is_divisible.c; sourceTree = ""; }; + AA7C8AC50B6744F700FD9940 /* bn_mp_prime_is_prime.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_prime_is_prime.c; sourceTree = ""; }; + AA7C8AC60B6744F700FD9940 /* bn_mp_prime_miller_rabin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_prime_miller_rabin.c; sourceTree = ""; }; + AA7C8AC70B6744F700FD9940 /* bn_mp_prime_next_prime.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_prime_next_prime.c; sourceTree = ""; }; + AA7C8AC80B6744F700FD9940 /* bn_mp_prime_rabin_miller_trials.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_prime_rabin_miller_trials.c; sourceTree = ""; }; + AA7C8AC90B6744F700FD9940 /* bn_mp_prime_random_ex.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_prime_random_ex.c; sourceTree = ""; }; + AA7C8ACA0B6744F700FD9940 /* bn_mp_radix_size.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_radix_size.c; sourceTree = ""; }; + AA7C8ACB0B6744F700FD9940 /* bn_mp_radix_smap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_radix_smap.c; sourceTree = ""; }; + AA7C8ACC0B6744F700FD9940 /* bn_mp_rand.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_rand.c; sourceTree = ""; }; + AA7C8ACD0B6744F700FD9940 /* bn_mp_read_radix.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_read_radix.c; sourceTree = ""; }; + AA7C8ACE0B6744F700FD9940 /* bn_mp_read_signed_bin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_read_signed_bin.c; sourceTree = ""; }; + AA7C8ACF0B6744F700FD9940 /* bn_mp_read_unsigned_bin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_read_unsigned_bin.c; sourceTree = ""; }; + AA7C8AD00B6744F700FD9940 /* bn_mp_reduce.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_reduce.c; sourceTree = ""; }; + AA7C8AD10B6744F700FD9940 /* bn_mp_reduce_2k.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_reduce_2k.c; sourceTree = ""; }; + AA7C8AD20B6744F700FD9940 /* bn_mp_reduce_2k_l.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_reduce_2k_l.c; sourceTree = ""; }; + AA7C8AD30B6744F700FD9940 /* bn_mp_reduce_2k_setup.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_reduce_2k_setup.c; sourceTree = ""; }; + AA7C8AD40B6744F700FD9940 /* bn_mp_reduce_2k_setup_l.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_reduce_2k_setup_l.c; sourceTree = ""; }; + AA7C8AD50B6744F700FD9940 /* bn_mp_reduce_is_2k.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_reduce_is_2k.c; sourceTree = ""; }; + AA7C8AD60B6744F700FD9940 /* bn_mp_reduce_is_2k_l.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_reduce_is_2k_l.c; sourceTree = ""; }; + AA7C8AD70B6744F700FD9940 /* bn_mp_reduce_setup.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_reduce_setup.c; sourceTree = ""; }; + AA7C8AD80B6744F700FD9940 /* bn_mp_rshd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_rshd.c; sourceTree = ""; }; + AA7C8AD90B6744F700FD9940 /* bn_mp_set.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_set.c; sourceTree = ""; }; + AA7C8ADA0B6744F700FD9940 /* bn_mp_set_int.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_set_int.c; sourceTree = ""; }; + AA7C8ADB0B6744F700FD9940 /* bn_mp_shrink.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_shrink.c; sourceTree = ""; }; + AA7C8ADC0B6744F700FD9940 /* bn_mp_signed_bin_size.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_signed_bin_size.c; sourceTree = ""; }; + AA7C8ADD0B6744F700FD9940 /* bn_mp_sqr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_sqr.c; sourceTree = ""; }; + AA7C8ADE0B6744F700FD9940 /* bn_mp_sqrmod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_sqrmod.c; sourceTree = ""; }; + AA7C8ADF0B6744F700FD9940 /* bn_mp_sqrt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_sqrt.c; sourceTree = ""; }; + AA7C8AE00B6744F700FD9940 /* bn_mp_sub.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_sub.c; sourceTree = ""; }; + AA7C8AE10B6744F700FD9940 /* bn_mp_sub_d.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_sub_d.c; sourceTree = ""; }; + AA7C8AE20B6744F700FD9940 /* bn_mp_submod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_submod.c; sourceTree = ""; }; + AA7C8AE30B6744F700FD9940 /* bn_mp_to_signed_bin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_to_signed_bin.c; sourceTree = ""; }; + AA7C8AE40B6744F700FD9940 /* bn_mp_to_signed_bin_n.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_to_signed_bin_n.c; sourceTree = ""; }; + AA7C8AE50B6744F700FD9940 /* bn_mp_to_unsigned_bin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_to_unsigned_bin.c; sourceTree = ""; }; + AA7C8AE60B6744F700FD9940 /* bn_mp_to_unsigned_bin_n.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_to_unsigned_bin_n.c; sourceTree = ""; }; + AA7C8AE70B6744F700FD9940 /* bn_mp_toom_mul.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_toom_mul.c; sourceTree = ""; }; + AA7C8AE80B6744F700FD9940 /* bn_mp_toom_sqr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_toom_sqr.c; sourceTree = ""; }; + AA7C8AE90B6744F700FD9940 /* bn_mp_toradix.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_toradix.c; sourceTree = ""; }; + AA7C8AEA0B6744F700FD9940 /* bn_mp_toradix_n.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_toradix_n.c; sourceTree = ""; }; + AA7C8AEB0B6744F700FD9940 /* bn_mp_unsigned_bin_size.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_unsigned_bin_size.c; sourceTree = ""; }; + AA7C8AEC0B6744F700FD9940 /* bn_mp_xor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_xor.c; sourceTree = ""; }; + AA7C8AED0B6744F700FD9940 /* bn_mp_zero.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_mp_zero.c; sourceTree = ""; }; + AA7C8AEE0B6744F700FD9940 /* bn_prime_tab.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_prime_tab.c; sourceTree = ""; }; + AA7C8AEF0B6744F700FD9940 /* bn_reverse.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_reverse.c; sourceTree = ""; }; + AA7C8AF00B6744F700FD9940 /* bn_s_mp_add.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_s_mp_add.c; sourceTree = ""; }; + AA7C8AF10B6744F700FD9940 /* bn_s_mp_exptmod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_s_mp_exptmod.c; sourceTree = ""; }; + AA7C8AF20B6744F700FD9940 /* bn_s_mp_mul_digs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_s_mp_mul_digs.c; sourceTree = ""; }; + AA7C8AF30B6744F700FD9940 /* bn_s_mp_mul_high_digs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_s_mp_mul_high_digs.c; sourceTree = ""; }; + AA7C8AF40B6744F700FD9940 /* bn_s_mp_sqr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_s_mp_sqr.c; sourceTree = ""; }; + AA7C8AF50B6744F700FD9940 /* bn_s_mp_sub.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bn_s_mp_sub.c; sourceTree = ""; }; + AA7C8AF60B6744F700FD9940 /* bncore.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bncore.c; sourceTree = ""; }; + AA7C8AF90B6744F700FD9940 /* tommath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tommath.h; sourceTree = ""; }; + AA7C8AFA0B6744F700FD9940 /* tommath_class.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tommath_class.h; sourceTree = ""; }; + AA7C8AFB0B6744F700FD9940 /* tommath_superclass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tommath_superclass.h; sourceTree = ""; }; + AA7C8B8B0B67460600FD9940 /* libtomcrypt-sm5.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libtomcrypt-sm5.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + AA7C8B950B67467C00FD9940 /* aes.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = aes.c; sourceTree = ""; }; + AA7C8B960B67467C00FD9940 /* aes_tab.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = aes_tab.c; sourceTree = ""; }; + AA7C8B990B67467C00FD9940 /* hash_memory.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = hash_memory.c; sourceTree = ""; }; + AA7C8B9A0B67467C00FD9940 /* md5.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = md5.c; sourceTree = ""; }; + AA7C8B9B0B67467C00FD9940 /* sha1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sha1.c; sourceTree = ""; }; + AA7C8B9D0B67467C00FD9940 /* tomcrypt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tomcrypt.h; sourceTree = ""; }; + AA7C8B9E0B67467C00FD9940 /* tomcrypt_argchk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tomcrypt_argchk.h; sourceTree = ""; }; + AA7C8B9F0B67467C00FD9940 /* tomcrypt_cfg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tomcrypt_cfg.h; sourceTree = ""; }; + AA7C8BA00B67467C00FD9940 /* tomcrypt_cipher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tomcrypt_cipher.h; sourceTree = ""; }; + AA7C8BA10B67467C00FD9940 /* tomcrypt_custom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tomcrypt_custom.h; sourceTree = ""; }; + AA7C8BA20B67467C00FD9940 /* tomcrypt_hash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tomcrypt_hash.h; sourceTree = ""; }; + AA7C8BA30B67467C00FD9940 /* tomcrypt_mac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tomcrypt_mac.h; sourceTree = ""; }; + AA7C8BA40B67467C00FD9940 /* tomcrypt_macros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tomcrypt_macros.h; sourceTree = ""; }; + AA7C8BA50B67467C00FD9940 /* tomcrypt_math.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tomcrypt_math.h; sourceTree = ""; }; + AA7C8BA60B67467C00FD9940 /* tomcrypt_misc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tomcrypt_misc.h; sourceTree = ""; }; + AA7C8BA70B67467C00FD9940 /* tomcrypt_pk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tomcrypt_pk.h; sourceTree = ""; }; + AA7C8BA80B67467C00FD9940 /* tomcrypt_pkcs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tomcrypt_pkcs.h; sourceTree = ""; }; + AA7C8BA90B67467C00FD9940 /* tomcrypt_prng.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tomcrypt_prng.h; sourceTree = ""; }; + AA7C8BAC0B67467C00FD9940 /* ltc_ecc_fp_mulmod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ltc_ecc_fp_mulmod.c; sourceTree = ""; }; + AA7C8BAD0B67467C00FD9940 /* ltm_desc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ltm_desc.c; sourceTree = ""; }; + AA7C8BAE0B67467C00FD9940 /* multi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = multi.c; sourceTree = ""; }; + AA7C8BAF0B67467C00FD9940 /* rand_prime.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = rand_prime.c; sourceTree = ""; }; + AA7C8BB20B67467C00FD9940 /* base64_decode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = base64_decode.c; sourceTree = ""; }; + AA7C8BB30B67467C00FD9940 /* base64_encode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = base64_encode.c; sourceTree = ""; }; + AA7C8BB40B67467C00FD9940 /* burn_stack.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = burn_stack.c; sourceTree = ""; }; + AA7C8BB60B67467C00FD9940 /* crypt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crypt.c; sourceTree = ""; }; + AA7C8BB70B67467C00FD9940 /* crypt_argchk.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crypt_argchk.c; sourceTree = ""; }; + AA7C8BB80B67467C00FD9940 /* crypt_cipher_descriptor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crypt_cipher_descriptor.c; sourceTree = ""; }; + AA7C8BB90B67467C00FD9940 /* crypt_cipher_is_valid.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crypt_cipher_is_valid.c; sourceTree = ""; }; + AA7C8BBA0B67467C00FD9940 /* crypt_find_cipher.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crypt_find_cipher.c; sourceTree = ""; }; + AA7C8BBB0B67467C00FD9940 /* crypt_find_cipher_any.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crypt_find_cipher_any.c; sourceTree = ""; }; + AA7C8BBC0B67467C00FD9940 /* crypt_find_cipher_id.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crypt_find_cipher_id.c; sourceTree = ""; }; + AA7C8BBD0B67467C00FD9940 /* crypt_find_hash.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crypt_find_hash.c; sourceTree = ""; }; + AA7C8BBE0B67467C00FD9940 /* crypt_find_hash_any.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crypt_find_hash_any.c; sourceTree = ""; }; + AA7C8BBF0B67467C00FD9940 /* crypt_find_hash_id.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crypt_find_hash_id.c; sourceTree = ""; }; + AA7C8BC00B67467C00FD9940 /* crypt_find_hash_oid.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crypt_find_hash_oid.c; sourceTree = ""; }; + AA7C8BC10B67467C00FD9940 /* crypt_find_prng.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crypt_find_prng.c; sourceTree = ""; }; + AA7C8BC20B67467C00FD9940 /* crypt_fsa.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crypt_fsa.c; sourceTree = ""; }; + AA7C8BC30B67467C00FD9940 /* crypt_hash_descriptor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crypt_hash_descriptor.c; sourceTree = ""; }; + AA7C8BC40B67467C00FD9940 /* crypt_hash_is_valid.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crypt_hash_is_valid.c; sourceTree = ""; }; + AA7C8BC50B67467C00FD9940 /* crypt_ltc_mp_descriptor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crypt_ltc_mp_descriptor.c; sourceTree = ""; }; + AA7C8BC60B67467C00FD9940 /* crypt_prng_descriptor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crypt_prng_descriptor.c; sourceTree = ""; }; + AA7C8BC70B67467C00FD9940 /* crypt_prng_is_valid.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crypt_prng_is_valid.c; sourceTree = ""; }; + AA7C8BC80B67467C00FD9940 /* crypt_register_cipher.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crypt_register_cipher.c; sourceTree = ""; }; + AA7C8BC90B67467C00FD9940 /* crypt_register_hash.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crypt_register_hash.c; sourceTree = ""; }; + AA7C8BCA0B67467C00FD9940 /* crypt_register_prng.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crypt_register_prng.c; sourceTree = ""; }; + AA7C8BCB0B67467C00FD9940 /* crypt_unregister_cipher.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crypt_unregister_cipher.c; sourceTree = ""; }; + AA7C8BCC0B67467C00FD9940 /* crypt_unregister_hash.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crypt_unregister_hash.c; sourceTree = ""; }; + AA7C8BCD0B67467C00FD9940 /* crypt_unregister_prng.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crypt_unregister_prng.c; sourceTree = ""; }; + AA7C8BCE0B67467C00FD9940 /* error_to_string.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = error_to_string.c; sourceTree = ""; }; + AA7C8BD00B67467C00FD9940 /* pkcs_5_1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkcs_5_1.c; sourceTree = ""; }; + AA7C8BD10B67467C00FD9940 /* pkcs_5_2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkcs_5_2.c; sourceTree = ""; }; + AA7C8BD20B67467C00FD9940 /* zeromem.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = zeromem.c; sourceTree = ""; }; + AA7C8BD50B67467C00FD9940 /* cbc_decrypt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cbc_decrypt.c; sourceTree = ""; }; + AA7C8BD60B67467C00FD9940 /* cbc_done.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cbc_done.c; sourceTree = ""; }; + AA7C8BD70B67467C00FD9940 /* cbc_encrypt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cbc_encrypt.c; sourceTree = ""; }; + AA7C8BD80B67467C00FD9940 /* cbc_getiv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cbc_getiv.c; sourceTree = ""; }; + AA7C8BD90B67467C00FD9940 /* cbc_setiv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cbc_setiv.c; sourceTree = ""; }; + AA7C8BDA0B67467C00FD9940 /* cbc_start.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cbc_start.c; sourceTree = ""; }; + AA7C8BDC0B67467C00FD9940 /* cfb_decrypt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cfb_decrypt.c; sourceTree = ""; }; + AA7C8BDD0B67467C00FD9940 /* cfb_done.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cfb_done.c; sourceTree = ""; }; + AA7C8BDE0B67467C00FD9940 /* cfb_encrypt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cfb_encrypt.c; sourceTree = ""; }; + AA7C8BDF0B67467C00FD9940 /* cfb_getiv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cfb_getiv.c; sourceTree = ""; }; + AA7C8BE00B67467C00FD9940 /* cfb_setiv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cfb_setiv.c; sourceTree = ""; }; + AA7C8BE10B67467C00FD9940 /* cfb_start.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cfb_start.c; sourceTree = ""; }; + AA7C8BE30B67467C00FD9940 /* ctr_decrypt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ctr_decrypt.c; sourceTree = ""; }; + AA7C8BE40B67467C00FD9940 /* ctr_done.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ctr_done.c; sourceTree = ""; }; + AA7C8BE50B67467C00FD9940 /* ctr_encrypt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ctr_encrypt.c; sourceTree = ""; }; + AA7C8BE60B67467C00FD9940 /* ctr_getiv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ctr_getiv.c; sourceTree = ""; }; + AA7C8BE70B67467C00FD9940 /* ctr_setiv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ctr_setiv.c; sourceTree = ""; }; + AA7C8BE80B67467C00FD9940 /* ctr_start.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ctr_start.c; sourceTree = ""; }; + AA7C8BE90B67467C00FD9940 /* ctr_test.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ctr_test.c; sourceTree = ""; }; + AA7C8BEB0B67467C00FD9940 /* ecb_decrypt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ecb_decrypt.c; sourceTree = ""; }; + AA7C8BEC0B67467C00FD9940 /* ecb_done.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ecb_done.c; sourceTree = ""; }; + AA7C8BED0B67467C00FD9940 /* ecb_encrypt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ecb_encrypt.c; sourceTree = ""; }; + AA7C8BEE0B67467C00FD9940 /* ecb_start.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ecb_start.c; sourceTree = ""; }; + AA7C8BF00B67467C00FD9940 /* ofb_decrypt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ofb_decrypt.c; sourceTree = ""; }; + AA7C8BF10B67467C00FD9940 /* ofb_done.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ofb_done.c; sourceTree = ""; }; + AA7C8BF20B67467C00FD9940 /* ofb_encrypt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ofb_encrypt.c; sourceTree = ""; }; + AA7C8BF30B67467C00FD9940 /* ofb_getiv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ofb_getiv.c; sourceTree = ""; }; + AA7C8BF40B67467C00FD9940 /* ofb_setiv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ofb_setiv.c; sourceTree = ""; }; + AA7C8BF50B67467C00FD9940 /* ofb_start.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ofb_start.c; sourceTree = ""; }; + AA7C8BFA0B67467C00FD9940 /* der_decode_bit_string.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_decode_bit_string.c; sourceTree = ""; }; + AA7C8BFB0B67467C00FD9940 /* der_encode_bit_string.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_encode_bit_string.c; sourceTree = ""; }; + AA7C8BFC0B67467C00FD9940 /* der_length_bit_string.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_length_bit_string.c; sourceTree = ""; }; + AA7C8BFE0B67467C00FD9940 /* der_decode_boolean.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_decode_boolean.c; sourceTree = ""; }; + AA7C8BFF0B67467C00FD9940 /* der_encode_boolean.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_encode_boolean.c; sourceTree = ""; }; + AA7C8C000B67467C00FD9940 /* der_length_boolean.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_length_boolean.c; sourceTree = ""; }; + AA7C8C020B67467C00FD9940 /* der_decode_choice.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_decode_choice.c; sourceTree = ""; }; + AA7C8C040B67467C00FD9940 /* der_decode_ia5_string.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_decode_ia5_string.c; sourceTree = ""; }; + AA7C8C050B67467D00FD9940 /* der_encode_ia5_string.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_encode_ia5_string.c; sourceTree = ""; }; + AA7C8C060B67467D00FD9940 /* der_length_ia5_string.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_length_ia5_string.c; sourceTree = ""; }; + AA7C8C080B67467D00FD9940 /* der_decode_integer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_decode_integer.c; sourceTree = ""; }; + AA7C8C090B67467D00FD9940 /* der_encode_integer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_encode_integer.c; sourceTree = ""; }; + AA7C8C0A0B67467D00FD9940 /* der_length_integer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_length_integer.c; sourceTree = ""; }; + AA7C8C0C0B67467D00FD9940 /* der_decode_object_identifier.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_decode_object_identifier.c; sourceTree = ""; }; + AA7C8C0D0B67467D00FD9940 /* der_encode_object_identifier.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_encode_object_identifier.c; sourceTree = ""; }; + AA7C8C0E0B67467D00FD9940 /* der_length_object_identifier.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_length_object_identifier.c; sourceTree = ""; }; + AA7C8C100B67467D00FD9940 /* der_decode_octet_string.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_decode_octet_string.c; sourceTree = ""; }; + AA7C8C110B67467D00FD9940 /* der_encode_octet_string.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_encode_octet_string.c; sourceTree = ""; }; + AA7C8C120B67467D00FD9940 /* der_length_octet_string.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_length_octet_string.c; sourceTree = ""; }; + AA7C8C140B67467D00FD9940 /* der_decode_printable_string.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_decode_printable_string.c; sourceTree = ""; }; + AA7C8C150B67467D00FD9940 /* der_encode_printable_string.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_encode_printable_string.c; sourceTree = ""; }; + AA7C8C160B67467D00FD9940 /* der_length_printable_string.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_length_printable_string.c; sourceTree = ""; }; + AA7C8C180B67467D00FD9940 /* der_decode_sequence_ex.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_decode_sequence_ex.c; sourceTree = ""; }; + AA7C8C190B67467D00FD9940 /* der_decode_sequence_flexi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_decode_sequence_flexi.c; sourceTree = ""; }; + AA7C8C1A0B67467D00FD9940 /* der_decode_sequence_multi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_decode_sequence_multi.c; sourceTree = ""; }; + AA7C8C1B0B67467D00FD9940 /* der_encode_sequence_ex.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_encode_sequence_ex.c; sourceTree = ""; }; + AA7C8C1C0B67467D00FD9940 /* der_encode_sequence_multi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_encode_sequence_multi.c; sourceTree = ""; }; + AA7C8C1D0B67467D00FD9940 /* der_length_sequence.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_length_sequence.c; sourceTree = ""; }; + AA7C8C1E0B67467D00FD9940 /* der_sequence_free.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_sequence_free.c; sourceTree = ""; }; + AA7C8C200B67467D00FD9940 /* der_encode_set.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_encode_set.c; sourceTree = ""; }; + AA7C8C210B67467D00FD9940 /* der_encode_setof.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_encode_setof.c; sourceTree = ""; }; + AA7C8C230B67467D00FD9940 /* der_decode_short_integer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_decode_short_integer.c; sourceTree = ""; }; + AA7C8C240B67467D00FD9940 /* der_encode_short_integer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_encode_short_integer.c; sourceTree = ""; }; + AA7C8C250B67467D00FD9940 /* der_length_short_integer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_length_short_integer.c; sourceTree = ""; }; + AA7C8C270B67467D00FD9940 /* der_decode_utctime.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_decode_utctime.c; sourceTree = ""; }; + AA7C8C280B67467D00FD9940 /* der_encode_utctime.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_encode_utctime.c; sourceTree = ""; }; + AA7C8C290B67467D00FD9940 /* der_length_utctime.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_length_utctime.c; sourceTree = ""; }; + AA7C8C2B0B67467D00FD9940 /* der_decode_utf8_string.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_decode_utf8_string.c; sourceTree = ""; }; + AA7C8C2C0B67467D00FD9940 /* der_encode_utf8_string.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_encode_utf8_string.c; sourceTree = ""; }; + AA7C8C2D0B67467D00FD9940 /* der_length_utf8_string.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = der_length_utf8_string.c; sourceTree = ""; }; + AA7C8C2F0B67467D00FD9940 /* dsa_decrypt_key.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = dsa_decrypt_key.c; sourceTree = ""; }; + AA7C8C300B67467D00FD9940 /* dsa_encrypt_key.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = dsa_encrypt_key.c; sourceTree = ""; }; + AA7C8C310B67467D00FD9940 /* dsa_export.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = dsa_export.c; sourceTree = ""; }; + AA7C8C320B67467D00FD9940 /* dsa_free.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = dsa_free.c; sourceTree = ""; }; + AA7C8C330B67467D00FD9940 /* dsa_import.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = dsa_import.c; sourceTree = ""; }; + AA7C8C340B67467D00FD9940 /* dsa_make_key.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = dsa_make_key.c; sourceTree = ""; }; + AA7C8C350B67467D00FD9940 /* dsa_shared_secret.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = dsa_shared_secret.c; sourceTree = ""; }; + AA7C8C360B67467D00FD9940 /* dsa_sign_hash.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = dsa_sign_hash.c; sourceTree = ""; }; + AA7C8C370B67467D00FD9940 /* dsa_verify_hash.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = dsa_verify_hash.c; sourceTree = ""; }; + AA7C8C380B67467D00FD9940 /* dsa_verify_key.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = dsa_verify_key.c; sourceTree = ""; }; + AA7C8C3A0B67467D00FD9940 /* pkcs_1_i2osp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkcs_1_i2osp.c; sourceTree = ""; }; + AA7C8C3B0B67467D00FD9940 /* pkcs_1_mgf1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkcs_1_mgf1.c; sourceTree = ""; }; + AA7C8C3C0B67467D00FD9940 /* pkcs_1_oaep_decode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkcs_1_oaep_decode.c; sourceTree = ""; }; + AA7C8C3D0B67467D00FD9940 /* pkcs_1_oaep_encode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkcs_1_oaep_encode.c; sourceTree = ""; }; + AA7C8C3E0B67467D00FD9940 /* pkcs_1_os2ip.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkcs_1_os2ip.c; sourceTree = ""; }; + AA7C8C3F0B67467D00FD9940 /* pkcs_1_pss_decode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkcs_1_pss_decode.c; sourceTree = ""; }; + AA7C8C400B67467D00FD9940 /* pkcs_1_pss_encode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkcs_1_pss_encode.c; sourceTree = ""; }; + AA7C8C410B67467D00FD9940 /* pkcs_1_v1_5_decode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkcs_1_v1_5_decode.c; sourceTree = ""; }; + AA7C8C420B67467D00FD9940 /* pkcs_1_v1_5_encode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pkcs_1_v1_5_encode.c; sourceTree = ""; }; + AA7C8C440B67467D00FD9940 /* rsa_decrypt_key.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = rsa_decrypt_key.c; sourceTree = ""; }; + AA7C8C450B67467D00FD9940 /* rsa_encrypt_key.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = rsa_encrypt_key.c; sourceTree = ""; }; + AA7C8C460B67467D00FD9940 /* rsa_export.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = rsa_export.c; sourceTree = ""; }; + AA7C8C470B67467D00FD9940 /* rsa_exptmod.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = rsa_exptmod.c; sourceTree = ""; }; + AA7C8C480B67467D00FD9940 /* rsa_free.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = rsa_free.c; sourceTree = ""; }; + AA7C8C490B67467D00FD9940 /* rsa_import.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = rsa_import.c; sourceTree = ""; }; + AA7C8C4A0B67467D00FD9940 /* rsa_make_key.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = rsa_make_key.c; sourceTree = ""; }; + AA7C8C4B0B67467D00FD9940 /* rsa_sign_hash.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = rsa_sign_hash.c; sourceTree = ""; }; + AA7C8C4C0B67467D00FD9940 /* rsa_verify_hash.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = rsa_verify_hash.c; sourceTree = ""; }; + AA7C8C4E0B67467D00FD9940 /* fortuna.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = fortuna.c; sourceTree = ""; }; + AA7C8C4F0B67467D00FD9940 /* rc4.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = rc4.c; sourceTree = ""; }; + AA7C8C500B67467D00FD9940 /* rng_get_bytes.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = rng_get_bytes.c; sourceTree = ""; }; + AA7C8C510B67467D00FD9940 /* rng_make_prng.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = rng_make_prng.c; sourceTree = ""; }; + AA7C8C520B67467D00FD9940 /* sober128.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sober128.c; sourceTree = ""; }; + AA7C8C530B67467D00FD9940 /* sober128tab.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sober128tab.c; sourceTree = ""; }; + AA7C8C540B67467D00FD9940 /* sprng.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sprng.c; sourceTree = ""; }; + AA7C8C550B67467D00FD9940 /* yarrow.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = yarrow.c; sourceTree = ""; }; + AA7C8DAC0B68CB2200FD9940 /* GameplayAssist.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GameplayAssist.cpp; path = ../src/GameplayAssist.cpp; sourceTree = ""; }; + AA7C8DAD0B68CB2200FD9940 /* GameplayAssist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GameplayAssist.h; path = ../src/GameplayAssist.h; sourceTree = ""; }; + AA7CDD930D8395F90001DAFC /* Song.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Song.h; path = ../src/Song.h; sourceTree = SOURCE_ROOT; }; + AA7DA2EF085760E90057F1EA /* BackgroundUtil.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = BackgroundUtil.cpp; path = ../src/BackgroundUtil.cpp; sourceTree = ""; }; + AA7DA2F0085760E90057F1EA /* BackgroundUtil.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = BackgroundUtil.h; path = ../src/BackgroundUtil.h; sourceTree = ""; }; + AA80C75207F20D0D00C99272 /* UnlockManager.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = UnlockManager.cpp; path = ../src/UnlockManager.cpp; sourceTree = ""; }; + AA80C75307F20D0D00C99272 /* UnlockManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = UnlockManager.h; path = ../src/UnlockManager.h; sourceTree = ""; }; + AA80C75707F20D6600C99272 /* OptionRowHandler.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = OptionRowHandler.cpp; path = ../src/OptionRowHandler.cpp; sourceTree = ""; }; + AA80C75807F20D6600C99272 /* OptionRowHandler.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = OptionRowHandler.h; path = ../src/OptionRowHandler.h; sourceTree = ""; }; + AA80C75B07F20D7F00C99272 /* ScreenMessage.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenMessage.cpp; path = ../src/ScreenMessage.cpp; sourceTree = ""; }; + AA84B7050996F8370085EECB /* AdjustSync.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = AdjustSync.cpp; path = ../src/AdjustSync.cpp; sourceTree = ""; }; + AA84B7060996F8370085EECB /* AdjustSync.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = AdjustSync.h; path = ../src/AdjustSync.h; sourceTree = ""; }; + AA8A3E6306EDCD11002F25AB /* DarwinThreadHelpers.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; path = DarwinThreadHelpers.cpp; sourceTree = ""; }; + AA8A3EC806EDDAE4002F25AB /* DarwinThreadHelpers.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = DarwinThreadHelpers.h; sourceTree = ""; }; + AA8A404F06EEFF72002F25AB /* RageUtil_BackgroundLoader.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageUtil_BackgroundLoader.cpp; path = ../src/RageUtil_BackgroundLoader.cpp; sourceTree = ""; }; + AA8A405006EEFF72002F25AB /* RageUtil_BackgroundLoader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageUtil_BackgroundLoader.h; path = ../src/RageUtil_BackgroundLoader.h; sourceTree = ""; }; + AA8B6C7904AFD87300D02EE9 /* chartables.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.c; path = chartables.c; sourceTree = ""; }; + AA8B6C7A04AFD87300D02EE9 /* get.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.c; path = get.c; sourceTree = ""; }; + AA8B6C7B04AFD87300D02EE9 /* internal.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = internal.h; sourceTree = ""; }; + AA8B6C7C04AFD87300D02EE9 /* maketables.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.c; path = maketables.c; sourceTree = ""; }; + AA8B6C7D04AFD87300D02EE9 /* pcre.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.c; path = pcre.c; sourceTree = ""; }; + AA8B6C7E04AFD87300D02EE9 /* pcre.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = pcre.h; sourceTree = ""; }; + AA8B6C7F04AFD87300D02EE9 /* study.c */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.c; path = study.c; sourceTree = ""; }; + AA8B8C49091F48C000D14C5F /* product.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = product.xcconfig; sourceTree = SOURCE_ROOT; }; + AA8BD2A107C9391B00EA04E1 /* LuaReference.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = LuaReference.cpp; path = ../src/LuaReference.cpp; sourceTree = ""; }; + AA8BD2A207C9391B00EA04E1 /* LuaReference.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = LuaReference.h; path = ../src/LuaReference.h; sourceTree = ""; }; + AA8BD2A307C9391B00EA04E1 /* MessageManager.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = MessageManager.cpp; path = ../src/MessageManager.cpp; sourceTree = ""; }; + AA8BD2A407C9391B00EA04E1 /* MessageManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = MessageManager.h; path = ../src/MessageManager.h; sourceTree = ""; }; + AA8BD2A507C9391B00EA04E1 /* StatsManager.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = StatsManager.cpp; path = ../src/StatsManager.cpp; sourceTree = ""; }; + AA8BD2A607C9391B00EA04E1 /* StatsManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = StatsManager.h; path = ../src/StatsManager.h; sourceTree = ""; }; + AA8BD2A707C9391B00EA04E1 /* SubscriptionManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = SubscriptionManager.h; path = ../src/SubscriptionManager.h; sourceTree = ""; }; + AA8BD2AF07C9395400EA04E1 /* AutoActor.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = AutoActor.cpp; path = ../src/AutoActor.cpp; sourceTree = ""; }; + AA8BD2B007C9395400EA04E1 /* AutoActor.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = AutoActor.h; path = ../src/AutoActor.h; sourceTree = ""; }; + AA8BD2B407C939A200EA04E1 /* OptionRow.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = OptionRow.cpp; path = ../src/OptionRow.cpp; sourceTree = ""; }; + AA8BD2B507C939A200EA04E1 /* OptionRow.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = OptionRow.h; path = ../src/OptionRow.h; sourceTree = ""; }; + AA8BD2B807C939F800EA04E1 /* PlayerStageStats.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = PlayerStageStats.cpp; path = ../src/PlayerStageStats.cpp; sourceTree = ""; }; + AA8BD2B907C939F800EA04E1 /* PlayerStageStats.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = PlayerStageStats.h; path = ../src/PlayerStageStats.h; sourceTree = ""; }; + AA8BD2BA07C939F800EA04E1 /* PlayerState.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = PlayerState.cpp; path = ../src/PlayerState.cpp; sourceTree = ""; }; + AA8BD2BB07C939F800EA04E1 /* RollingNumbers.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RollingNumbers.cpp; path = ../src/RollingNumbers.cpp; sourceTree = ""; }; + AA8BD2BC07C939F800EA04E1 /* RollingNumbers.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RollingNumbers.h; path = ../src/RollingNumbers.h; sourceTree = ""; }; + AA8BD2BD07C939F800EA04E1 /* ScoreDisplayCalories.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScoreDisplayCalories.cpp; path = ../src/ScoreDisplayCalories.cpp; sourceTree = ""; }; + AA8BD2BE07C939F800EA04E1 /* ScoreDisplayCalories.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScoreDisplayCalories.h; path = ../src/ScoreDisplayCalories.h; sourceTree = ""; }; + AA8BD2C607C93A1E00EA04E1 /* CommonMetrics.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = CommonMetrics.cpp; path = ../src/CommonMetrics.cpp; sourceTree = ""; }; + AA8CF5150A4518BE0005F1B4 /* RageSoundDriver_AU.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RageSoundDriver_AU.h; sourceTree = ""; }; + AA8CF5160A4518BE0005F1B4 /* RageSoundDriver_AU.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RageSoundDriver_AU.cpp; sourceTree = ""; }; + AA8DD84904A2E51400D02EE9 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; }; + AA8EE0750866E266002C51A7 /* LuaBinding.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = LuaBinding.cpp; path = ../src/LuaBinding.cpp; sourceTree = ""; }; + AA8F136F0624BAB200C6A467 /* EnumHelper.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = EnumHelper.h; path = ../src/EnumHelper.h; sourceTree = ""; }; + AA90919F067ED43000C1FCFF /* RageSurface_Load_BMP.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageSurface_Load_BMP.cpp; path = ../src/RageSurface_Load_BMP.cpp; sourceTree = ""; }; + AA9091A0067ED43000C1FCFF /* RageSurface_Load_BMP.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageSurface_Load_BMP.h; path = ../src/RageSurface_Load_BMP.h; sourceTree = ""; }; + AA9091A3067ED46400C1FCFF /* RageSurface_Save_BMP.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageSurface_Save_BMP.cpp; path = ../src/RageSurface_Save_BMP.cpp; sourceTree = ""; }; + AA9091A4067ED46400C1FCFF /* RageSurface_Save_BMP.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageSurface_Save_BMP.h; path = ../src/RageSurface_Save_BMP.h; sourceTree = ""; }; + AA909E1D0B45B676002852D3 /* RageDriver.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RageDriver.cpp; sourceTree = ""; }; + AA909E1E0B45B676002852D3 /* RageDriver.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RageDriver.h; sourceTree = ""; }; + AA909E230B45B696002852D3 /* LowLevelWindow.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = LowLevelWindow.cpp; sourceTree = ""; }; + AA909E260B45B6AB002852D3 /* LoadingWindow.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = LoadingWindow.cpp; sourceTree = ""; }; + AA909E390B45B8FA002852D3 /* RageSoundReader_Extend.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = RageSoundReader_Extend.cpp; path = ../src/RageSoundReader_Extend.cpp; sourceTree = ""; }; + AA909E3A0B45B8FA002852D3 /* RageSoundReader_Extend.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = RageSoundReader_Extend.h; path = ../src/RageSoundReader_Extend.h; sourceTree = ""; }; + AA909E3B0B45B8FA002852D3 /* RageSoundReader_ThreadedBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = RageSoundReader_ThreadedBuffer.cpp; path = ../src/RageSoundReader_ThreadedBuffer.cpp; sourceTree = ""; }; + AA909E3C0B45B8FA002852D3 /* RageSoundReader_ThreadedBuffer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = RageSoundReader_ThreadedBuffer.h; path = ../src/RageSoundReader_ThreadedBuffer.h; sourceTree = ""; }; + AA909E480B45B93E002852D3 /* LightsDriver.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = LightsDriver.cpp; sourceTree = ""; }; + AA915879067D2C2C00078E36 /* RageSurface.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageSurface.cpp; path = ../src/RageSurface.cpp; sourceTree = ""; }; + AA91587A067D2C2C00078E36 /* RageSurface.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageSurface.h; path = ../src/RageSurface.h; sourceTree = ""; }; + AA91ACAF0878BB2C00FB2F8F /* RageTexturePreloader.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageTexturePreloader.cpp; path = ../src/RageTexturePreloader.cpp; sourceTree = ""; }; + AA91ACB00878BB2C00FB2F8F /* RageTexturePreloader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageTexturePreloader.h; path = ../src/RageTexturePreloader.h; sourceTree = ""; }; + AA9A78A906B5C72200B03E97 /* Game.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Game.cpp; path = ../src/Game.cpp; sourceTree = ""; }; + AA9A78AA06B5C72200B03E97 /* Game.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Game.h; path = ../src/Game.h; sourceTree = ""; }; + AA9D236C0561B6CE00FC7F14 /* CombinedLifeMeter.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = CombinedLifeMeter.h; path = ../src/CombinedLifeMeter.h; sourceTree = ""; }; + AA9EC2F0055F5126007E5098 /* RageTextureID.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageTextureID.cpp; path = ../src/RageTextureID.cpp; sourceTree = ""; }; + AA9EC2F1055F5126007E5098 /* RageTextureID.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageTextureID.h; path = ../src/RageTextureID.h; sourceTree = ""; }; + AAA0704D0CE5082D005A3060 /* libffmpeg_link.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libffmpeg_link.a; sourceTree = ""; }; + AAA070A90CE7B0DF005A3060 /* libmad-sm5.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libmad-sm5.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + AAA070B40CE7B3AD005A3060 /* bit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bit.c; sourceTree = ""; }; + AAA070B50CE7B3AD005A3060 /* bit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bit.h; sourceTree = ""; }; + AAA070C00CE7B3AD005A3060 /* decoder.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = decoder.c; sourceTree = ""; }; + AAA070C10CE7B3AD005A3060 /* decoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = decoder.h; sourceTree = ""; }; + AAA070C30CE7B3AD005A3060 /* fixed.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = fixed.c; sourceTree = ""; }; + AAA070C40CE7B3AD005A3060 /* fixed.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fixed.h; sourceTree = ""; }; + AAA070C50CE7B3AD005A3060 /* frame.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = frame.c; sourceTree = ""; }; + AAA070C60CE7B3AD005A3060 /* frame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = frame.h; sourceTree = ""; }; + AAA070C70CE7B3AD005A3060 /* global.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = global.h; sourceTree = ""; }; + AAA070C80CE7B3AD005A3060 /* huffman.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = huffman.c; sourceTree = ""; }; + AAA070C90CE7B3AD005A3060 /* huffman.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = huffman.h; sourceTree = ""; }; + AAA070CE0CE7B3AD005A3060 /* layer12.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = layer12.c; sourceTree = ""; }; + AAA070CF0CE7B3AD005A3060 /* layer12.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = layer12.h; sourceTree = ""; }; + AAA070D00CE7B3AD005A3060 /* layer3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = layer3.c; sourceTree = ""; }; + AAA070D10CE7B3AD005A3060 /* layer3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = layer3.h; sourceTree = ""; }; + AAA070D40CE7B3AD005A3060 /* mad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mad.h; sourceTree = ""; }; + AAA070E80CE7B3AD005A3060 /* stream.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = stream.c; sourceTree = ""; }; + AAA070E90CE7B3AD005A3060 /* stream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stream.h; sourceTree = ""; }; + AAA070EA0CE7B3AD005A3060 /* synth.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = synth.c; sourceTree = ""; }; + AAA070EB0CE7B3AD005A3060 /* synth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = synth.h; sourceTree = ""; }; + AAA070EC0CE7B3AD005A3060 /* timer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = timer.c; sourceTree = ""; }; + AAA070ED0CE7B3AD005A3060 /* timer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = timer.h; sourceTree = ""; }; + AAA070F00CE7B3AE005A3060 /* version.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = version.c; sourceTree = ""; }; + AAA070F10CE7B3AE005A3060 /* version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = version.h; sourceTree = ""; }; + AAA0F7CE047AC7BF005F316C /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = ""; }; + AAA0F7D0047AC7EA005F316C /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = ""; }; + AAA0F7D2047ACBC9005F316C /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = ""; }; + AAA372D00909934500141131 /* MovieTexture_Generic.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = MovieTexture_Generic.cpp; path = MovieTexture/MovieTexture_Generic.cpp; sourceTree = ""; }; + AAA372D10909934500141131 /* MovieTexture_Generic.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = MovieTexture_Generic.h; path = MovieTexture/MovieTexture_Generic.h; sourceTree = ""; }; + AAA372D20909934500141131 /* MovieTexture_Theora.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = MovieTexture_Theora.cpp; path = MovieTexture/MovieTexture_Theora.cpp; sourceTree = ""; }; + AAA372D30909934500141131 /* MovieTexture_Theora.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = MovieTexture_Theora.h; path = MovieTexture/MovieTexture_Theora.h; sourceTree = ""; }; + AAA6BFEA0644AB3700AFBBC8 /* ScreenWithMenuElements.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenWithMenuElements.cpp; path = ../src/ScreenWithMenuElements.cpp; sourceTree = ""; }; + AAA6BFEB0644AB3700AFBBC8 /* ScreenWithMenuElements.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenWithMenuElements.h; path = ../src/ScreenWithMenuElements.h; sourceTree = ""; }; + AAA71EA005EE154E00D2E8FF /* global.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; path = global.cpp; sourceTree = ""; }; + AAA7D4C70C7E872500FB8F78 /* ScreenOptionsToggleSongs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScreenOptionsToggleSongs.cpp; path = ../src/ScreenOptionsToggleSongs.cpp; sourceTree = ""; }; + AAA7D4C80C7E872500FB8F78 /* ScreenOptionsToggleSongs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScreenOptionsToggleSongs.h; path = ../src/ScreenOptionsToggleSongs.h; sourceTree = ""; }; + AAA8E0020696984300FCE1F9 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; + AAA983CA04B9060A00D02EE9 /* ActorUtil.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ActorUtil.cpp; path = ../src/ActorUtil.cpp; sourceTree = ""; }; + AAAA11C40A662F9C00B2BD88 /* ScoreKeeperShared.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScoreKeeperShared.h; path = ../src/ScoreKeeperShared.h; sourceTree = ""; }; + AAAA11C50A662F9C00B2BD88 /* ScoreKeeperShared.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScoreKeeperShared.cpp; path = ../src/ScoreKeeperShared.cpp; sourceTree = ""; }; + AAAB2CDD072BD2EC00CD9FC9 /* AutoKeysounds.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = AutoKeysounds.cpp; path = ../src/AutoKeysounds.cpp; sourceTree = ""; }; + AAAB2CDE072BD2EC00CD9FC9 /* AutoKeysounds.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = AutoKeysounds.h; path = ../src/AutoKeysounds.h; sourceTree = ""; }; + AAAB2CE1072BD2FA00CD9FC9 /* RageSoundMixBuffer.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageSoundMixBuffer.cpp; path = ../src/RageSoundMixBuffer.cpp; sourceTree = ""; }; + AAAB2CE2072BD2FA00CD9FC9 /* RageSoundMixBuffer.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageSoundMixBuffer.h; path = ../src/RageSoundMixBuffer.h; sourceTree = ""; }; + AAADA4AE04E5F3DE00D02EE9 /* ProductInfo.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = ProductInfo.h; sourceTree = ""; }; + AAAE28F4052254A900D02EE9 /* RageSoundReader_Resample_Good.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageSoundReader_Resample_Good.cpp; path = ../src/RageSoundReader_Resample_Good.cpp; sourceTree = ""; }; + AAAE28F5052254A900D02EE9 /* RageSoundReader_Resample_Good.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageSoundReader_Resample_Good.h; path = ../src/RageSoundReader_Resample_Good.h; sourceTree = ""; }; + AAAFE81C0835E7FF00FC43E0 /* WheelBase.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = WheelBase.cpp; path = ../src/WheelBase.cpp; sourceTree = ""; }; + AAAFE81D0835E7FF00FC43E0 /* WheelBase.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = WheelBase.h; path = ../src/WheelBase.h; sourceTree = ""; }; + AAAFE81E0835E7FF00FC43E0 /* WheelItemBase.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = WheelItemBase.cpp; path = ../src/WheelItemBase.cpp; sourceTree = ""; }; + AAAFE81F0835E7FF00FC43E0 /* WheelItemBase.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = WheelItemBase.h; path = ../src/WheelItemBase.h; sourceTree = ""; }; + AAAFE82E0835E8B100FC43E0 /* RoomWheel.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RoomWheel.cpp; path = ../src/RoomWheel.cpp; sourceTree = ""; }; + AAAFE82F0835E8B100FC43E0 /* RoomWheel.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RoomWheel.h; path = ../src/RoomWheel.h; sourceTree = ""; }; + AAB005F00579B8CB000BBA58 /* AttackDisplay.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = AttackDisplay.cpp; path = ../src/AttackDisplay.cpp; sourceTree = ""; }; + AAB005F10579B8CB000BBA58 /* AttackDisplay.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = AttackDisplay.h; path = ../src/AttackDisplay.h; sourceTree = ""; }; + AAB0085B057F4F7A000BBA58 /* RageFileDriver.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageFileDriver.cpp; path = ../src/RageFileDriver.cpp; sourceTree = ""; }; + AAB0085C057F4F7A000BBA58 /* RageFileDriver.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageFileDriver.h; path = ../src/RageFileDriver.h; sourceTree = ""; }; + AAB0085D057F4F7A000BBA58 /* RageFileDriverDirect.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageFileDriverDirect.cpp; path = ../src/RageFileDriverDirect.cpp; sourceTree = ""; }; + AAB0085E057F4F7A000BBA58 /* RageFileDriverDirect.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageFileDriverDirect.h; path = ../src/RageFileDriverDirect.h; sourceTree = ""; }; + AAB0085F057F4F7A000BBA58 /* RageFileManager.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageFileManager.cpp; path = ../src/RageFileManager.cpp; sourceTree = ""; }; + AAB00860057F4F7A000BBA58 /* RageFileManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageFileManager.h; path = ../src/RageFileManager.h; sourceTree = ""; }; + AAB3B36B04C38B4600D02EE9 /* InputHandler.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; path = InputHandler.cpp; sourceTree = ""; }; + AAB3B36C04C38B4600D02EE9 /* InputHandler.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = InputHandler.h; sourceTree = ""; }; + AAB3B37704C38BF600D02EE9 /* MovieTexture.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = MovieTexture.h; path = MovieTexture/MovieTexture.h; sourceTree = ""; }; + AAB3B39004C5921800D02EE9 /* MovieTexture_Null.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = MovieTexture_Null.cpp; path = MovieTexture/MovieTexture_Null.cpp; sourceTree = ""; }; + AAB3B39104C5921800D02EE9 /* MovieTexture_Null.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = MovieTexture_Null.h; path = MovieTexture/MovieTexture_Null.h; sourceTree = ""; }; + AAB3B7DA0C6C582D001BF487 /* ScreenSelectProfile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScreenSelectProfile.cpp; path = ../src/ScreenSelectProfile.cpp; sourceTree = ""; }; + AAB3B7DB0C6C582D001BF487 /* ScreenSelectProfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScreenSelectProfile.h; path = ../src/ScreenSelectProfile.h; sourceTree = ""; }; + AAB3BB570C718F2C001BF487 /* RageUtil_CachedObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RageUtil_CachedObject.cpp; path = ../src/RageUtil_CachedObject.cpp; sourceTree = ""; }; + AAB3BB580C718F2C001BF487 /* RageUtil_CachedObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RageUtil_CachedObject.h; path = ../src/RageUtil_CachedObject.h; sourceTree = ""; }; + AAB55EB509A7E3D3008FDC69 /* ScreenGameplaySyncMachine.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = ScreenGameplaySyncMachine.cpp; path = ../src/ScreenGameplaySyncMachine.cpp; sourceTree = ""; }; + AAB55EB609A7E3D3008FDC69 /* ScreenGameplaySyncMachine.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ScreenGameplaySyncMachine.h; path = ../src/ScreenGameplaySyncMachine.h; sourceTree = ""; }; + AAB55EB709A7E3D3008FDC69 /* ScreenUnlockBrowse.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = ScreenUnlockBrowse.cpp; path = ../src/ScreenUnlockBrowse.cpp; sourceTree = ""; }; + AAB55EB809A7E3D3008FDC69 /* ScreenUnlockBrowse.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ScreenUnlockBrowse.h; path = ../src/ScreenUnlockBrowse.h; sourceTree = ""; }; + AAB55EB909A7E3D3008FDC69 /* ScreenUnlockCelebrate.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = ScreenUnlockCelebrate.cpp; path = ../src/ScreenUnlockCelebrate.cpp; sourceTree = ""; }; + AAB55EBA09A7E3D3008FDC69 /* ScreenUnlockCelebrate.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ScreenUnlockCelebrate.h; path = ../src/ScreenUnlockCelebrate.h; sourceTree = ""; }; + AAB691F205704FA50078BED4 /* LightsDriver_SystemMessage.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; path = LightsDriver_SystemMessage.cpp; sourceTree = ""; }; + AAB691F305704FA50078BED4 /* LightsDriver_SystemMessage.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = LightsDriver_SystemMessage.h; sourceTree = ""; }; + AAB6B475085761B700CEE7BA /* ScreenSplash.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenSplash.cpp; path = ../src/ScreenSplash.cpp; sourceTree = ""; }; + AAB6B476085761B700CEE7BA /* ScreenSplash.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenSplash.h; path = ../src/ScreenSplash.h; sourceTree = ""; }; + AAB779F90B0D9CB200B74314 /* ScoreKeeperGuitar.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = ScoreKeeperGuitar.cpp; path = ../src/ScoreKeeperGuitar.cpp; sourceTree = ""; }; + AAB779FA0B0D9CB200B74314 /* ScoreKeeperGuitar.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ScoreKeeperGuitar.h; path = ../src/ScoreKeeperGuitar.h; sourceTree = ""; }; + AAB895E504A9057100D02EE9 /* smicon.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = smicon.icns; sourceTree = ""; }; + AAB9C8AB06EAF64400AD97CD /* RageSurfaceUtils_Palettize.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageSurfaceUtils_Palettize.cpp; path = ../src/RageSurfaceUtils_Palettize.cpp; sourceTree = ""; }; + AAB9C8AC06EAF64400AD97CD /* RageSurfaceUtils_Palettize.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageSurfaceUtils_Palettize.h; path = ../src/RageSurfaceUtils_Palettize.h; sourceTree = ""; }; + AAB9C8AD06EAF64400AD97CD /* RageSurfaceUtils.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageSurfaceUtils.cpp; path = ../src/RageSurfaceUtils.cpp; sourceTree = ""; }; + AAB9C8AE06EAF64400AD97CD /* RageSurfaceUtils.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageSurfaceUtils.h; path = ../src/RageSurfaceUtils.h; sourceTree = ""; }; + AAB9C8B306EAF66C00AD97CD /* ScreenNetEvaluation.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenNetEvaluation.cpp; path = ../src/ScreenNetEvaluation.cpp; sourceTree = ""; }; + AAB9C8B406EAF66C00AD97CD /* ScreenNetEvaluation.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenNetEvaluation.h; path = ../src/ScreenNetEvaluation.h; sourceTree = ""; }; + AABBD80605D8E9FC00B44FC2 /* HighScore.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = HighScore.cpp; path = ../src/HighScore.cpp; sourceTree = ""; }; + AABBD80705D8E9FC00B44FC2 /* HighScore.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = HighScore.h; path = ../src/HighScore.h; sourceTree = ""; }; + AABBF66C0659E78D00738526 /* RageSurface_Load_GIF.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageSurface_Load_GIF.cpp; path = ../src/RageSurface_Load_GIF.cpp; sourceTree = ""; }; + AABBF66D0659E78D00738526 /* RageSurface_Load_GIF.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageSurface_Load_GIF.h; path = ../src/RageSurface_Load_GIF.h; sourceTree = ""; }; + AABBF66E0659E78D00738526 /* RageSurface_Load_JPEG.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageSurface_Load_JPEG.cpp; path = ../src/RageSurface_Load_JPEG.cpp; sourceTree = ""; }; + AABBF66F0659E78D00738526 /* RageSurface_Load_JPEG.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageSurface_Load_JPEG.h; path = ../src/RageSurface_Load_JPEG.h; sourceTree = ""; }; + AABBF6700659E78D00738526 /* RageSurface_Load_PNG.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageSurface_Load_PNG.cpp; path = ../src/RageSurface_Load_PNG.cpp; sourceTree = ""; }; + AABBF6710659E78D00738526 /* RageSurface_Load_PNG.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageSurface_Load_PNG.h; path = ../src/RageSurface_Load_PNG.h; sourceTree = ""; }; + AABBF6720659E78D00738526 /* RageSurface_Load_XPM.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageSurface_Load_XPM.cpp; path = ../src/RageSurface_Load_XPM.cpp; sourceTree = ""; }; + AABBF6730659E78D00738526 /* RageSurface_Load_XPM.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageSurface_Load_XPM.h; path = ../src/RageSurface_Load_XPM.h; sourceTree = ""; }; + AABBF6740659E78D00738526 /* RageSurface_Load.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageSurface_Load.cpp; path = ../src/RageSurface_Load.cpp; sourceTree = ""; }; + AABBF6750659E78D00738526 /* RageSurface_Load.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageSurface_Load.h; path = ../src/RageSurface_Load.h; sourceTree = ""; }; + AABBFCD209838C3A00F077E2 /* SMMain.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = SMMain.mm; sourceTree = ""; }; + AABD0B3605DF3F22004F7929 /* CryptManager.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = CryptManager.cpp; path = ../src/CryptManager.cpp; sourceTree = ""; }; + AABD0B3705DF3F22004F7929 /* CryptManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = CryptManager.h; path = ../src/CryptManager.h; sourceTree = ""; }; + AABE321A05ACD8ED001A0E84 /* ScreenEnding.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenEnding.cpp; path = ../src/ScreenEnding.cpp; sourceTree = ""; }; + AABE321B05ACD8ED001A0E84 /* ScreenEnding.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenEnding.h; path = ../src/ScreenEnding.h; sourceTree = ""; }; + AABE321E05ACD931001A0E84 /* Foreground.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Foreground.cpp; path = ../src/Foreground.cpp; sourceTree = ""; }; + AABE321F05ACD931001A0E84 /* Foreground.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Foreground.h; path = ../src/Foreground.h; sourceTree = ""; }; + AABE322205ACDA52001A0E84 /* RageFileDriverDirectHelpers.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageFileDriverDirectHelpers.cpp; path = ../src/RageFileDriverDirectHelpers.cpp; sourceTree = ""; }; + AABE322305ACDA52001A0E84 /* RageFileDriverDirectHelpers.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageFileDriverDirectHelpers.h; path = ../src/RageFileDriverDirectHelpers.h; sourceTree = ""; }; + AABE35EB04967E25005F316C /* BannerCache.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = BannerCache.cpp; path = ../src/BannerCache.cpp; sourceTree = ""; }; + AABE35EC04967E26005F316C /* BannerCache.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = BannerCache.h; path = ../src/BannerCache.h; sourceTree = ""; }; + AABE36F60497CE16005F316C /* arch_default.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = arch_default.h; sourceTree = ""; }; + AABE36FC0497CE44005F316C /* ArchHooks.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ArchHooks.h; path = ArchHooks/ArchHooks.h; sourceTree = ""; }; + AABE37030497CF85005F316C /* RageSoundDriver.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = RageSoundDriver.h; sourceTree = ""; }; + AABE78760591287100E8BF50 /* MemoryCardDriver_Null.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = MemoryCardDriver_Null.h; sourceTree = ""; }; + AABE788B05912B0600E8BF50 /* DualScrollBar.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = DualScrollBar.h; path = ../src/DualScrollBar.h; sourceTree = ""; }; + AABE788C05912B0600E8BF50 /* DualScrollBar.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = DualScrollBar.cpp; path = ../src/DualScrollBar.cpp; sourceTree = ""; }; + AABE830D0A9524D400001678 /* ModsGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ModsGroup.cpp; path = ../src/ModsGroup.cpp; sourceTree = ""; }; + AAC0BFDF0E2951EC00F56EEB /* CryptHelpers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CryptHelpers.cpp; path = ../src/CryptHelpers.cpp; sourceTree = SOURCE_ROOT; }; + AAC0BFE00E2951EC00F56EEB /* CryptHelpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CryptHelpers.h; path = ../src/CryptHelpers.h; sourceTree = SOURCE_ROOT; }; + AAC0C8C00984AE3B0075FC53 /* Tween.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Tween.cpp; path = ../src/Tween.cpp; sourceTree = ""; }; + AAC0C8C10984AE3B0075FC53 /* Tween.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = Tween.h; path = ../src/Tween.h; sourceTree = ""; }; + AAC23F7E0485E68D005F316C /* RageUtil_CharConversions.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageUtil_CharConversions.cpp; path = ../src/RageUtil_CharConversions.cpp; sourceTree = ""; }; + AAC23F7F0485E68D005F316C /* RageUtil_CharConversions.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageUtil_CharConversions.h; path = ../src/RageUtil_CharConversions.h; sourceTree = ""; }; + AAC28BB904F758E500D02EE9 /* BeginnerHelper.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = BeginnerHelper.cpp; path = ../src/BeginnerHelper.cpp; sourceTree = ""; }; + AAC28BBA04F758E500D02EE9 /* BeginnerHelper.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = BeginnerHelper.h; path = ../src/BeginnerHelper.h; sourceTree = ""; }; + AAC622FA05389A0500D02EE9 /* ScreenTestInput.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenTestInput.cpp; path = ../src/ScreenTestInput.cpp; sourceTree = ""; }; + AAC622FB05389A0500D02EE9 /* ScreenTestInput.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenTestInput.h; path = ../src/ScreenTestInput.h; sourceTree = ""; }; + AAC6889905D7F3C800964E6D /* XmlFile.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = XmlFile.cpp; path = ../src/XmlFile.cpp; sourceTree = ""; }; + AAC6889A05D7F3C800964E6D /* XmlFile.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = XmlFile.h; path = ../src/XmlFile.h; sourceTree = ""; }; + AAC6DCE30567660A00B5D56F /* LightsManager.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = LightsManager.cpp; path = ../src/LightsManager.cpp; sourceTree = ""; }; + AAC6DCE40567660A00B5D56F /* LightsManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = LightsManager.h; path = ../src/LightsManager.h; sourceTree = ""; }; + AAC6DCEE0567663800B5D56F /* LightsDriver.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = LightsDriver.h; sourceTree = ""; }; + AAC6DDDE0569C71000B5D56F /* PaneDisplay.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = PaneDisplay.cpp; path = ../src/PaneDisplay.cpp; sourceTree = ""; }; + AAC6DDDF0569C71000B5D56F /* PaneDisplay.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = PaneDisplay.h; path = ../src/PaneDisplay.h; sourceTree = ""; }; + AAC6DDE60569C80900B5D56F /* DifficultyList.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = DifficultyList.cpp; path = ../src/DifficultyList.cpp; sourceTree = ""; }; + AAC6DDE70569C80900B5D56F /* DifficultyList.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = DifficultyList.h; path = ../src/DifficultyList.h; sourceTree = ""; }; + AAC9F32E069E22BB00D53E2C /* GameSoundManager.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = GameSoundManager.cpp; path = ../src/GameSoundManager.cpp; sourceTree = ""; }; + AAC9F32F069E22BB00D53E2C /* GameSoundManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = GameSoundManager.h; path = ../src/GameSoundManager.h; sourceTree = ""; }; + AAC9F332069E22CF00D53E2C /* MemoryCardDriver.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; path = MemoryCardDriver.cpp; sourceTree = ""; }; + AAC9F333069E22CF00D53E2C /* MemoryCardDriver.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = MemoryCardDriver.h; sourceTree = ""; }; + AACA592A07B5E23400763545 /* RageFileDriverTimeout.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageFileDriverTimeout.cpp; path = ../src/RageFileDriverTimeout.cpp; sourceTree = ""; }; + AACA592B07B5E23400763545 /* RageFileDriverTimeout.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageFileDriverTimeout.h; path = ../src/RageFileDriverTimeout.h; sourceTree = ""; }; + AACA592C07B5E23400763545 /* RageUtil_AutoPtr.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageUtil_AutoPtr.h; path = ../src/RageUtil_AutoPtr.h; sourceTree = ""; }; + AACA592D07B5E23400763545 /* RageUtil_WorkerThread.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageUtil_WorkerThread.cpp; path = ../src/RageUtil_WorkerThread.cpp; sourceTree = ""; }; + AACA592E07B5E23400763545 /* RageUtil_WorkerThread.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageUtil_WorkerThread.h; path = ../src/RageUtil_WorkerThread.h; sourceTree = ""; }; + AACFBE2608E7D793005087FC /* ActorSound.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ActorSound.cpp; path = ../src/ActorSound.cpp; sourceTree = ""; }; + AACFBE2708E7D793005087FC /* ActorSound.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ActorSound.h; path = ../src/ActorSound.h; sourceTree = ""; }; + AACFBE3908E7D832005087FC /* InputEventPlus.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = InputEventPlus.h; path = ../src/InputEventPlus.h; sourceTree = ""; }; + AACFBE4908E7D893005087FC /* ScreenGameplayLesson.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenGameplayLesson.cpp; path = ../src/ScreenGameplayLesson.cpp; sourceTree = ""; }; + AACFBE4A08E7D893005087FC /* ScreenGameplayLesson.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenGameplayLesson.h; path = ../src/ScreenGameplayLesson.h; sourceTree = ""; }; + AACFBE6108E7DBA8005087FC /* LuaExpressionTransform.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = LuaExpressionTransform.cpp; path = ../src/LuaExpressionTransform.cpp; sourceTree = ""; }; + AACFBE6208E7DBA8005087FC /* LuaExpressionTransform.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = LuaExpressionTransform.h; path = ../src/LuaExpressionTransform.h; sourceTree = ""; }; + AAD36082062BB8AE00D0CED8 /* RageSoundPosMap.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageSoundPosMap.cpp; path = ../src/RageSoundPosMap.cpp; sourceTree = ""; }; + AAD36083062BB8AE00D0CED8 /* RageSoundPosMap.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageSoundPosMap.h; path = ../src/RageSoundPosMap.h; sourceTree = ""; }; + AAD3D5AB05B5AB4E00014FAC /* RageUtil_CircularBuffer.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageUtil_CircularBuffer.h; path = ../src/RageUtil_CircularBuffer.h; sourceTree = ""; }; + AAD620A5052EC78B00D02EE9 /* PercentageDisplay.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = PercentageDisplay.cpp; path = ../src/PercentageDisplay.cpp; sourceTree = ""; }; + AAD620A6052EC78B00D02EE9 /* PercentageDisplay.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = PercentageDisplay.h; path = ../src/PercentageDisplay.h; sourceTree = ""; }; + AAD64AA10603FE7300EF8CDE /* StepMania.pch */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = StepMania.pch; sourceTree = ""; }; + AAD675EF06795175006002B0 /* Dialog.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; path = Dialog.cpp; sourceTree = ""; }; + AAD675F006795175006002B0 /* Dialog.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = Dialog.h; sourceTree = ""; }; + AAD675F106795175006002B0 /* DialogDriver.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = DialogDriver.h; sourceTree = ""; }; + AAD6A712065E0FDF0042165A /* Difficulty.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Difficulty.cpp; path = ../src/Difficulty.cpp; sourceTree = ""; }; + AAD6A713065E0FDF0042165A /* Difficulty.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Difficulty.h; path = ../src/Difficulty.h; sourceTree = ""; }; + AAD8F9320A4B97DF000311CF /* ScreenGameplayShared.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScreenGameplayShared.h; path = ../src/ScreenGameplayShared.h; sourceTree = ""; }; + AAD8F9330A4B97DF000311CF /* ScreenGameplayShared.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScreenGameplayShared.cpp; path = ../src/ScreenGameplayShared.cpp; sourceTree = ""; }; + AADB4E7A04D4FE5D00D02EE9 /* RageSoundReader_FileReader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageSoundReader_FileReader.h; path = ../src/RageSoundReader_FileReader.h; sourceTree = ""; }; + AADB4E8804D50FB900D02EE9 /* CrashHandler.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = CrashHandler.h; sourceTree = ""; }; + AADB4E8A04D50FB900D02EE9 /* CrashHandlerInternal.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = CrashHandlerInternal.h; sourceTree = ""; }; + AADB4E8B04D50FB900D02EE9 /* SignalHandler.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; path = SignalHandler.cpp; sourceTree = ""; }; + AADB4E8C04D50FB900D02EE9 /* SignalHandler.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = SignalHandler.h; sourceTree = ""; }; + AADB4E8F04D5263200D02EE9 /* arch_setup.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = arch_setup.h; sourceTree = ""; }; + AADB4F5904D9220700D02EE9 /* Crash.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = Crash.h; sourceTree = ""; }; + AADBE360053D5F8A00D02EE9 /* ScreenBookkeeping.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenBookkeeping.cpp; path = ../src/ScreenBookkeeping.cpp; sourceTree = ""; }; + AADBE361053D5F8A00D02EE9 /* ScreenBookkeeping.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenBookkeeping.h; path = ../src/ScreenBookkeeping.h; sourceTree = ""; }; + AADBE362053D5F8A00D02EE9 /* ScreenNameEntryTraditional.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenNameEntryTraditional.cpp; path = ../src/ScreenNameEntryTraditional.cpp; sourceTree = ""; }; + AADBE363053D5F8A00D02EE9 /* ScreenNameEntryTraditional.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenNameEntryTraditional.h; path = ../src/ScreenNameEntryTraditional.h; sourceTree = ""; }; + AADBE368053DA38C00D02EE9 /* Bookkeeper.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Bookkeeper.cpp; path = ../src/Bookkeeper.cpp; sourceTree = ""; }; + AADBE369053DA38C00D02EE9 /* Bookkeeper.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Bookkeeper.h; path = ../src/Bookkeeper.h; sourceTree = ""; }; + AADD1CC2095C233E0088C9DF /* LocalizedString.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = LocalizedString.cpp; path = ../src/LocalizedString.cpp; sourceTree = ""; }; + AADD1CC3095C233F0088C9DF /* LocalizedString.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = LocalizedString.h; path = ../src/LocalizedString.h; sourceTree = ""; }; + AAE2D6D30A67481E00071546 /* ScoreKeeper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScoreKeeper.cpp; path = ../src/ScoreKeeper.cpp; sourceTree = ""; }; + AAE443EB04B0F9F600D02EE9 /* CombinedLifeMeterTug.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = CombinedLifeMeterTug.cpp; path = ../src/CombinedLifeMeterTug.cpp; sourceTree = ""; }; + AAE443EC04B0F9F600D02EE9 /* CombinedLifeMeterTug.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = CombinedLifeMeterTug.h; path = ../src/CombinedLifeMeterTug.h; sourceTree = ""; }; + AAE443F304B0FEB700D02EE9 /* ScoreKeeperRave.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScoreKeeperRave.cpp; path = ../src/ScoreKeeperRave.cpp; sourceTree = ""; }; + AAE443F404B0FEB700D02EE9 /* ScoreKeeperRave.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScoreKeeperRave.h; path = ../src/ScoreKeeperRave.h; sourceTree = ""; }; + AAE77F570AC3B52500AEFC64 /* RageTypes.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = RageTypes.cpp; path = ../src/RageTypes.cpp; sourceTree = ""; }; + AAE7803C0AC76A1200AEFC64 /* WorkoutGraph.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = WorkoutGraph.cpp; path = ../src/WorkoutGraph.cpp; sourceTree = ""; }; + AAE7803D0AC76A1200AEFC64 /* WorkoutGraph.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = WorkoutGraph.h; path = ../src/WorkoutGraph.h; sourceTree = ""; }; + AAE78049060814AC0034E65F /* NetworkSyncManager.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = NetworkSyncManager.cpp; path = ../src/NetworkSyncManager.cpp; sourceTree = ""; }; + AAE7804A060814AC0034E65F /* NetworkSyncManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = NetworkSyncManager.h; path = ../src/NetworkSyncManager.h; sourceTree = ""; }; + AAE7808506081A000034E65F /* ezsockets.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ezsockets.cpp; path = ../src/ezsockets.cpp; sourceTree = ""; }; + AAE7808606081A000034E65F /* ezsockets.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ezsockets.h; path = ../src/ezsockets.h; sourceTree = ""; }; + AAE7812B0608249E0034E65F /* ActiveAttackList.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ActiveAttackList.cpp; path = ../src/ActiveAttackList.cpp; sourceTree = ""; }; + AAE7812C0608249E0034E65F /* ActiveAttackList.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ActiveAttackList.h; path = ../src/ActiveAttackList.h; sourceTree = ""; }; + AAE7817E0AC7E37B00AEFC64 /* liblua-5.1-sm5.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "liblua-5.1-sm5.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + AAEBC6C607A20AFE00793F0E /* RageSurface_Save_JPEG.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageSurface_Save_JPEG.cpp; path = ../src/RageSurface_Save_JPEG.cpp; sourceTree = ""; }; + AAEBC6C707A20AFE00793F0E /* RageSurface_Save_JPEG.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageSurface_Save_JPEG.h; path = ../src/RageSurface_Save_JPEG.h; sourceTree = ""; }; + AAEBC6C807A20AFE00793F0E /* RageSurfaceUtils_Dither.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageSurfaceUtils_Dither.cpp; path = ../src/RageSurfaceUtils_Dither.cpp; sourceTree = ""; }; + AAEBC6C907A20AFE00793F0E /* RageSurfaceUtils_Dither.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageSurfaceUtils_Dither.h; path = ../src/RageSurfaceUtils_Dither.h; sourceTree = ""; }; + AAEBC6CA07A20AFE00793F0E /* RageSurfaceUtils_Zoom.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageSurfaceUtils_Zoom.cpp; path = ../src/RageSurfaceUtils_Zoom.cpp; sourceTree = ""; }; + AAEBC6CB07A20AFE00793F0E /* RageSurfaceUtils_Zoom.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageSurfaceUtils_Zoom.h; path = ../src/RageSurfaceUtils_Zoom.h; sourceTree = ""; }; + AAEBC78C07A4FF5600793F0E /* LuaBinding.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = LuaBinding.h; path = ../src/LuaBinding.h; sourceTree = ""; }; + AAEBC78D07A4FF5600793F0E /* LuaManager.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = LuaManager.cpp; path = ../src/LuaManager.cpp; sourceTree = ""; }; + AAEBC78E07A4FF5600793F0E /* LuaManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = LuaManager.h; path = ../src/LuaManager.h; sourceTree = ""; }; + AAEBC78F07A4FF5600793F0E /* PlayerState.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = PlayerState.h; path = ../src/PlayerState.h; sourceTree = ""; }; + AAEBF55E0B5C517E005F3C7C /* SampleHistory.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = SampleHistory.cpp; path = ../src/SampleHistory.cpp; sourceTree = ""; }; + AAEBF55F0B5C517E005F3C7C /* SampleHistory.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SampleHistory.h; path = ../src/SampleHistory.h; sourceTree = ""; }; + AAEBF57C0B5C83F4005F3C7C /* SoundEffectControl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SoundEffectControl.cpp; path = ../src/SoundEffectControl.cpp; sourceTree = ""; }; + AAEBF57D0B5C83F4005F3C7C /* SoundEffectControl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SoundEffectControl.h; path = ../src/SoundEffectControl.h; sourceTree = ""; }; + AAECF8BF05265DB600D02EE9 /* ScreenExit.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenExit.cpp; path = ../src/ScreenExit.cpp; sourceTree = ""; }; + AAECF8C005265DB600D02EE9 /* ScreenExit.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenExit.h; path = ../src/ScreenExit.h; sourceTree = ""; }; + AAED6F280601C528002D2DEE /* Backtrace.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; path = Backtrace.cpp; sourceTree = ""; }; + AAED6F290601C528002D2DEE /* Backtrace.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = Backtrace.h; sourceTree = ""; }; + AAED6F2A0601C528002D2DEE /* BacktraceNames.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; path = BacktraceNames.cpp; sourceTree = ""; }; + AAED6F2B0601C528002D2DEE /* BacktraceNames.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = BacktraceNames.h; sourceTree = ""; }; + AAEDFD680A03762B00590617 /* Crash.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Crash.cpp; sourceTree = ""; }; + AAEF3D1004B53E2900D02EE9 /* LoadingWindow.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = LoadingWindow.h; sourceTree = ""; }; + AAF33F2A04FF213100F93C24 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; }; + AAF3442908F1C36A0006EDB7 /* DynamicActorScroller.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = DynamicActorScroller.cpp; path = ../src/DynamicActorScroller.cpp; sourceTree = ""; }; + AAF3442A08F1C36A0006EDB7 /* DynamicActorScroller.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = DynamicActorScroller.h; path = ../src/DynamicActorScroller.h; sourceTree = ""; }; + AAF34ADC0900AEBD0006EDB7 /* ScoreKeeperNormal.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScoreKeeperNormal.cpp; path = ../src/ScoreKeeperNormal.cpp; sourceTree = ""; }; + AAF34ADD0900AEBD0006EDB7 /* ScoreKeeperNormal.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScoreKeeperNormal.h; path = ../src/ScoreKeeperNormal.h; sourceTree = ""; }; + AAF34AEB0900B00C0006EDB7 /* ScreenStatsOverlay.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenStatsOverlay.cpp; path = ../src/ScreenStatsOverlay.cpp; sourceTree = ""; }; + AAF34AEC0900B00C0006EDB7 /* ScreenStatsOverlay.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenStatsOverlay.h; path = ../src/ScreenStatsOverlay.h; sourceTree = ""; }; + AAF4206505D63FA700056441 /* ModelManager.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ModelManager.cpp; path = ../src/ModelManager.cpp; sourceTree = ""; }; + AAF4206605D63FA700056441 /* ModelManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ModelManager.h; path = ../src/ModelManager.h; sourceTree = ""; }; + AAF4206905D6400800056441 /* RageModelGeometry.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageModelGeometry.cpp; path = ../src/RageModelGeometry.cpp; sourceTree = ""; }; + AAF4206A05D6400800056441 /* RageModelGeometry.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageModelGeometry.h; path = ../src/RageModelGeometry.h; sourceTree = ""; }; + AAF430FD04DC98BC00D02EE9 /* Steps.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Steps.cpp; path = ../src/Steps.cpp; sourceTree = ""; }; + AAF430FE04DC98BC00D02EE9 /* Steps.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Steps.h; path = ../src/Steps.h; sourceTree = ""; }; + AAF580A704B3E2DC00D02EE9 /* RageUtil_FileDB.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageUtil_FileDB.cpp; path = ../src/RageUtil_FileDB.cpp; sourceTree = ""; }; + AAF580A804B3E2DC00D02EE9 /* RageUtil_FileDB.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageUtil_FileDB.h; path = ../src/RageUtil_FileDB.h; sourceTree = ""; }; + AAF6A33109B69C7700D5C614 /* it */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; + AAF6A38F09B6A2A600D5C614 /* es */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; + AAF6A3AE09B6A88800D5C614 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; + AAF6A3B109B6A90C00D5C614 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; + AAF6A3B209B6A91000D5C614 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = ""; }; + AAF6A3B309B6A91600D5C614 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + AAF7435906110E8D00B19AD1 /* ScreenTestLights.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenTestLights.cpp; path = ../src/ScreenTestLights.cpp; sourceTree = ""; }; + AAF7435A06110E8D00B19AD1 /* ScreenTestLights.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenTestLights.h; path = ../src/ScreenTestLights.h; sourceTree = ""; }; + AAF7458E061181F700B19AD1 /* RageDisplay_Null.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageDisplay_Null.cpp; path = ../src/RageDisplay_Null.cpp; sourceTree = ""; }; + AAF7458F061181F700B19AD1 /* RageDisplay_Null.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageDisplay_Null.h; path = ../src/RageDisplay_Null.h; sourceTree = ""; }; + AAF793F1074FE69E00D74516 /* ScreenNetRoom.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenNetRoom.cpp; path = ../src/ScreenNetRoom.cpp; sourceTree = ""; }; + AAF793F2074FE69E00D74516 /* ScreenNetRoom.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenNetRoom.h; path = ../src/ScreenNetRoom.h; sourceTree = ""; }; + AAF793F3074FE69E00D74516 /* ScreenNetSelectBase.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenNetSelectBase.cpp; path = ../src/ScreenNetSelectBase.cpp; sourceTree = ""; }; + AAF793F4074FE69E00D74516 /* ScreenNetSelectBase.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenNetSelectBase.h; path = ../src/ScreenNetSelectBase.h; sourceTree = ""; }; + AAFAB5BB0889098600767BF7 /* ScreenOptionsEditProfile.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenOptionsEditProfile.cpp; path = ../src/ScreenOptionsEditProfile.cpp; sourceTree = ""; }; + AAFAB5BC0889098600767BF7 /* ScreenOptionsEditProfile.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenOptionsEditProfile.h; path = ../src/ScreenOptionsEditProfile.h; sourceTree = ""; }; + AAFAB5CB08890B5200767BF7 /* GameLoop.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; path = GameLoop.cpp; sourceTree = ""; }; + AAFAB5CC08890B5200767BF7 /* GameLoop.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = GameLoop.h; sourceTree = ""; }; + AAFAFC8E0AC8DB9F00427A6E /* EnumHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = EnumHelper.cpp; path = ../src/EnumHelper.cpp; sourceTree = ""; }; + AAFB549D0B1BC32700FC3A81 /* RageSoundReader.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = RageSoundReader.cpp; path = ../src/RageSoundReader.cpp; sourceTree = ""; }; + AAFBEECF094D7FCB000029DE /* SpecialFiles.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; path = SpecialFiles.cpp; sourceTree = ""; }; + AAFBEED0094D7FCB000029DE /* SpecialFiles.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = SpecialFiles.h; sourceTree = ""; }; + AAFBEEE5094D807E000029DE /* ScreenOptionsManageEditSteps.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenOptionsManageEditSteps.cpp; path = ../src/ScreenOptionsManageEditSteps.cpp; sourceTree = ""; }; + AAFBEEE6094D807E000029DE /* ScreenOptionsManageEditSteps.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenOptionsManageEditSteps.h; path = ../src/ScreenOptionsManageEditSteps.h; sourceTree = ""; }; + AAFBEEE7094D807E000029DE /* ScreenOptionsMemoryCard.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenOptionsMemoryCard.cpp; path = ../src/ScreenOptionsMemoryCard.cpp; sourceTree = ""; }; + AAFBEEE8094D807E000029DE /* ScreenOptionsMemoryCard.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenOptionsMemoryCard.h; path = ../src/ScreenOptionsMemoryCard.h; sourceTree = ""; }; + AAFBEEE9094D807E000029DE /* ScreenServiceAction.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenServiceAction.cpp; path = ../src/ScreenServiceAction.cpp; sourceTree = ""; }; + AAFBEEEA094D807E000029DE /* ScreenServiceAction.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenServiceAction.h; path = ../src/ScreenServiceAction.h; sourceTree = ""; }; + AAFC6CEF072A30440053AAD3 /* InputHandler_MonkeyKeyboard.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; path = InputHandler_MonkeyKeyboard.cpp; sourceTree = ""; }; + AAFC6CF0072A30440053AAD3 /* InputHandler_MonkeyKeyboard.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; path = InputHandler_MonkeyKeyboard.h; sourceTree = ""; }; + AAFC7FF00513A67700D02EE9 /* RageSoundReader_FileReader.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageSoundReader_FileReader.cpp; path = ../src/RageSoundReader_FileReader.cpp; sourceTree = ""; }; + AAFC7FF10513A67700D02EE9 /* RageSoundReader_MP3.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageSoundReader_MP3.cpp; path = ../src/RageSoundReader_MP3.cpp; sourceTree = ""; }; + AAFC7FF20513A67700D02EE9 /* RageSoundReader_MP3.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageSoundReader_MP3.h; path = ../src/RageSoundReader_MP3.h; sourceTree = ""; }; + AAFE71090A91ADE6005F2290 /* ActorProxy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ActorProxy.cpp; path = ../src/ActorProxy.cpp; sourceTree = ""; }; + AAFE710A0A91ADE6005F2290 /* ActorProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ActorProxy.h; path = ../src/ActorProxy.h; sourceTree = ""; }; + AAFE711C0A91B551005F2290 /* RageSurface_Save_PNG.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RageSurface_Save_PNG.cpp; path = ../src/RageSurface_Save_PNG.cpp; sourceTree = ""; }; + AAFE711D0A91B551005F2290 /* RoomInfoDisplay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RoomInfoDisplay.cpp; path = ../src/RoomInfoDisplay.cpp; sourceTree = ""; }; + AAFE711E0A91B551005F2290 /* RoomInfoDisplay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RoomInfoDisplay.h; path = ../src/RoomInfoDisplay.h; sourceTree = ""; }; + AAFE71280A91B58F005F2290 /* RageSurface_Save_PNG.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RageSurface_Save_PNG.h; path = ../src/RageSurface_Save_PNG.h; sourceTree = ""; }; + AAFF41A10F5BD4AD00FFDB67 /* ScreenOptionsExportPackage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScreenOptionsExportPackage.cpp; path = ../src/ScreenOptionsExportPackage.cpp; sourceTree = SOURCE_ROOT; }; + AAFF41A20F5BD4AD00FFDB67 /* ScreenOptionsExportPackage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScreenOptionsExportPackage.h; path = ../src/ScreenOptionsExportPackage.h; sourceTree = SOURCE_ROOT; }; + AAFF551D0549F39700D02EE9 /* GraphDisplay.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = GraphDisplay.cpp; path = ../src/GraphDisplay.cpp; sourceTree = ""; }; + AAFF551E0549F39700D02EE9 /* GraphDisplay.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = GraphDisplay.h; path = ../src/GraphDisplay.h; sourceTree = ""; }; + AAFF55210549F43A00D02EE9 /* ComboGraph.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ComboGraph.cpp; path = ../src/ComboGraph.cpp; sourceTree = ""; }; + AAFF55220549F43A00D02EE9 /* ComboGraph.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ComboGraph.h; path = ../src/ComboGraph.h; sourceTree = ""; }; + AAFF5541054E736D00D02EE9 /* Attack.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Attack.cpp; path = ../src/Attack.cpp; sourceTree = ""; }; + AAFF5542054E736D00D02EE9 /* Attack.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Attack.h; path = ../src/Attack.h; sourceTree = ""; }; + B71A60BE139B41DB00183A27 /* InGameLoadingWindow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InGameLoadingWindow.cpp; path = ../src/InGameLoadingWindow.cpp; sourceTree = ""; }; + B71A60BF139B41DB00183A27 /* InGameLoadingWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = InGameLoadingWindow.h; path = ../src/InGameLoadingWindow.h; sourceTree = ""; }; + B75CE3B3137963350076A82D /* SongPosition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SongPosition.h; path = ../src/SongPosition.h; sourceTree = SOURCE_ROOT; }; + B75CE3B4137963350076A82D /* SongPosition.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SongPosition.cpp; path = ../src/SongPosition.cpp; sourceTree = SOURCE_ROOT; }; + EE2153A710A75BEE0074B01B /* NotesLoaderPMS.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NotesLoaderPMS.cpp; path = ../src/NotesLoaderPMS.cpp; sourceTree = SOURCE_ROOT; }; + EE2153A810A75BEE0074B01B /* NotesLoaderPMS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NotesLoaderPMS.h; path = ../src/NotesLoaderPMS.h; sourceTree = SOURCE_ROOT; }; + EE879B5C132DEE720078FDDC /* RageDisplay_Legacy_Helpers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RageDisplay_Legacy_Helpers.cpp; path = ../src/RageDisplay_Legacy_Helpers.cpp; sourceTree = SOURCE_ROOT; }; + EE879B5D132DEE720078FDDC /* RageDisplay_Legacy_Helpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RageDisplay_Legacy_Helpers.h; path = ../src/RageDisplay_Legacy_Helpers.h; sourceTree = SOURCE_ROOT; }; + EE879B5E132DEE720078FDDC /* RageDisplay_Legacy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RageDisplay_Legacy.cpp; path = ../src/RageDisplay_Legacy.cpp; sourceTree = SOURCE_ROOT; }; + EE879B5F132DEE720078FDDC /* RageDisplay_Legacy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RageDisplay_Legacy.h; path = ../src/RageDisplay_Legacy.h; sourceTree = SOURCE_ROOT; }; + EE879BAA132E06C50078FDDC /* glew.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = glew.c; path = src/glew.c; sourceTree = ""; }; + EE906F6412BF3A1B00146C96 /* ScreenInstallOverlay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScreenInstallOverlay.cpp; path = ../src/ScreenInstallOverlay.cpp; sourceTree = SOURCE_ROOT; }; + EE906F6512BF3A1B00146C96 /* ScreenInstallOverlay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScreenInstallOverlay.h; path = ../src/ScreenInstallOverlay.h; sourceTree = SOURCE_ROOT; }; + EE906F8012BF3AF800146C96 /* JsonUtil.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JsonUtil.cpp; path = ../src/JsonUtil.cpp; sourceTree = SOURCE_ROOT; }; + EE906F8112BF3AF800146C96 /* JsonUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JsonUtil.h; path = ../src/JsonUtil.h; sourceTree = SOURCE_ROOT; }; + EE906F8812BF3C7C00146C96 /* FileDownload.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FileDownload.cpp; path = ../src/FileDownload.cpp; sourceTree = SOURCE_ROOT; }; + EE906F8912BF3C7C00146C96 /* FileDownload.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FileDownload.h; path = ../src/FileDownload.h; sourceTree = SOURCE_ROOT; }; + EEA7C84110A805A300082E7B /* ScreenPackagesSSC.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScreenPackagesSSC.cpp; path = ../src/ScreenPackagesSSC.cpp; sourceTree = SOURCE_ROOT; }; + EEA7C84210A805A300082E7B /* ScreenPackagesSSC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScreenPackagesSSC.h; path = ../src/ScreenPackagesSSC.h; sourceTree = SOURCE_ROOT; }; + EEC7863D0E58208B00F559BC /* StepsDisplay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StepsDisplay.cpp; path = ../src/StepsDisplay.cpp; sourceTree = ""; }; + EEC7863E0E58208B00F559BC /* StepsDisplay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StepsDisplay.h; path = ../src/StepsDisplay.h; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 2B17AB7013980FDF001AE57D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 2B17ABBE13981521001AE57D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 2B17ABDE13981756001AE57D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AA29CE3B0558741A00961A51 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + AA29CE3C0558741A00961A51 /* Cocoa.framework in Frameworks */, + AA29CE3D0558741A00961A51 /* Carbon.framework in Frameworks */, + AA29CE3E0558741A00961A51 /* IOKit.framework in Frameworks */, + AA29CE3F0558741A00961A51 /* QuickTime.framework in Frameworks */, + AA29CE400558741A00961A51 /* OpenGL.framework in Frameworks */, + AA29CE420558741A00961A51 /* CoreFoundation.framework in Frameworks */, + AA230EB006043704002672F3 /* AudioToolbox.framework in Frameworks */, + AA230EB106043704002672F3 /* AudioUnit.framework in Frameworks */, + AAA8E0030696984300FCE1F9 /* CoreAudio.framework in Frameworks */, + AA77E8B108B6ABD500FA24CA /* vecLib.framework in Frameworks */, + AA21E4790A9826CD00684CEA /* libjpeg_link.a in Frameworks */, + AA21E47B0A9826CD00684CEA /* libogg_link.a in Frameworks */, + AA21E47D0A9826CD00684CEA /* libtheora_link.a in Frameworks */, + AA21E47E0A9826CD00684CEA /* libvorbis_link.a in Frameworks */, + AAE782030AC7E64D00AEFC64 /* liblua-5.1-sm5.a in Frameworks */, + AA7C8D200B6748E400FD9940 /* libtomcrypt-sm5.a in Frameworks */, + AA7C8D1F0B6748E300FD9940 /* libtommath-sm5.a in Frameworks */, + AA059E2C0B8F0C67006F8139 /* libz_link.a in Frameworks */, + AAA0704E0CE5082E005A3060 /* libffmpeg_link.a in Frameworks */, + AAA071B40CE7C9C9005A3060 /* libmad-sm5.a in Frameworks */, + 2B17AB9F13981271001AE57D /* libpng-1.5.1-sm5.a in Frameworks */, + 2B17ABCF139815E0001AE57D /* libglew-sm5.a in Frameworks */, + 2B17ABFC139817D5001AE57D /* libpcre-sm5.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AA40D51409A08D650068C0D5 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + AA40D51509A08D650068C0D5 /* Cocoa.framework in Frameworks */, + AA40D51609A08D650068C0D5 /* Carbon.framework in Frameworks */, + AA40D51709A08D650068C0D5 /* IOKit.framework in Frameworks */, + AA40D51809A08D650068C0D5 /* QuickTime.framework in Frameworks */, + AA40D51909A08D650068C0D5 /* OpenGL.framework in Frameworks */, + AA40D51A09A08D650068C0D5 /* CoreFoundation.framework in Frameworks */, + AA40D51C09A08D650068C0D5 /* AudioToolbox.framework in Frameworks */, + AA40D51D09A08D650068C0D5 /* AudioUnit.framework in Frameworks */, + AA40D51E09A08D650068C0D5 /* CoreAudio.framework in Frameworks */, + AA40D51F09A08D650068C0D5 /* vecLib.framework in Frameworks */, + AA21E47F0A9826CD00684CEA /* libjpeg_link.a in Frameworks */, + AA21E4810A9826CD00684CEA /* libogg_link.a in Frameworks */, + AA21E4830A9826CD00684CEA /* libtheora_link.a in Frameworks */, + AA21E4840A9826CD00684CEA /* libvorbis_link.a in Frameworks */, + AAE782040AC7E65200AEFC64 /* liblua-5.1-sm5.a in Frameworks */, + AA7C8D440B674F4F00FD9940 /* libtomcrypt-sm5.a in Frameworks */, + AA7C8D430B674F4E00FD9940 /* libtommath-sm5.a in Frameworks */, + AA059E2B0B8F0C67006F8139 /* libz_link.a in Frameworks */, + AAA0704F0CE5082E005A3060 /* libffmpeg_link.a in Frameworks */, + 2B17ABFD139817D6001AE57D /* libpcre-sm5.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AA7A2B920AE09B520054C5BA /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + AA7A2BAF0AE09CEC0054C5BA /* liblua-5.1-sm5.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AA7A2BA90AE09CD50054C5BA /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + AA7A2BB00AE09CF10054C5BA /* liblua-5.1-sm5.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AA7C895D0B67444700FD9940 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AA7C8B890B67460600FD9940 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AAA070A70CE7B0DF005A3060 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AAE7817C0AC7E37B00AEFC64 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = { + isa = PBXGroup; + children = ( + AA230EAE06043704002672F3 /* AudioToolbox.framework */, + AA230EAF06043704002672F3 /* AudioUnit.framework */, + AAA0F7CE047AC7BF005F316C /* Carbon.framework */, + 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, + AAA8E0020696984300FCE1F9 /* CoreAudio.framework */, + AAF33F2A04FF213100F93C24 /* CoreFoundation.framework */, + AA230ECF06043EFD002672F3 /* CoreServices.framework */, + AAA0F7D0047AC7EA005F316C /* IOKit.framework */, + AA8DD84904A2E51400D02EE9 /* OpenGL.framework */, + AAA0F7D2047ACBC9005F316C /* QuickTime.framework */, + AA77E8A108B6ABD500FA24CA /* vecLib.framework */, + ); + name = "Linked Frameworks"; + sourceTree = ""; + }; + 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = { + isa = PBXGroup; + children = ( + 29B97325FDCFA39411CA2CEA /* Foundation.framework */, + 29B97324FDCFA39411CA2CEA /* AppKit.framework */, + ); + name = "Other Frameworks"; + sourceTree = ""; + }; + 19C28FACFE9D520D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + AA29CE580558741A00961A51 /* StepMania.app */, + AA40D52B09A08D660068C0D5 /* sm-ssc.app */, + AAE7817E0AC7E37B00AEFC64 /* liblua-5.1-sm5.a */, + AA7A2B940AE09B520054C5BA /* lua */, + AA7A2BAB0AE09CD50054C5BA /* luac */, + AA7C895F0B67444700FD9940 /* libtommath-sm5.a */, + AA7C8B8B0B67460600FD9940 /* libtomcrypt-sm5.a */, + AAA070A90CE7B0DF005A3060 /* libmad-sm5.a */, + 2B17AB7213980FDF001AE57D /* libpng-1.5.1-sm5.a */, + 2B17ABC013981521001AE57D /* libglew-sm5.a */, + 2B17ABE013981756001AE57D /* libpcre-sm5.a */, + ); + name = Products; + sourceTree = ""; + }; + 29B97314FDCFA39411CA2CEA /* SDL App */ = { + isa = PBXGroup; + children = ( + 2BDB87261371F7FF00E6FD3A /* extern */, + AA6EFF7404770F8B005F316C /* Actors */, + AA6EFEFA04770E84005F316C /* ActorsInGameplay */, + AA6EFE6D04770D3E005F316C /* ActorsInMenus */, + AA6E01400477136A005F316C /* arch */, + AA6E017E0477136A005F316C /* archutils */, + AA6EFDC804770AF1005F316C /* DataStructures */, + AA6EFE5704770C7E005F316C /* FileTypes */, + AA6E00FE047711FF005F316C /* GlobalSingletons */, + 2B766980132FF62B00586512 /* NoteParsing */, + 29B97315FDCFA39411CA2CEA /* Other Source */, + AA6EFDBB04770A83005F316C /* Rage */, + AA6EFE6A04770D01005F316C /* StepMania */, + AA6E00090477103E005F316C /* Screens */, + AA52E9BD04DBBCF400D02EE9 /* ver.cpp */, + AA29CE570558741A00961A51 /* Info-StepMania.plist */, + AAA3741C09099ADA00141131 /* Libraries */, + 29B97323FDCFA39411CA2CEA /* Frameworks */, + 19C28FACFE9D520D11CA2CBB /* Products */, + 29B97317FDCFA39411CA2CEA /* Resources */, + AA8B8C49091F48C000D14C5F /* product.xcconfig */, + ); + name = "SDL App"; + sourceTree = ""; + }; + 29B97315FDCFA39411CA2CEA /* Other Source */ = { + isa = PBXGroup; + children = ( + AA70E3640663112800DAE1FD /* Foreach.h */, + 3659B56D0F902143002B6B68 /* CommandLineActions.cpp */, + 3659B56E0F902143002B6B68 /* CommandLineActions.h */, + ); + name = "Other Source"; + path = ../src; + sourceTree = ""; + }; + 29B97317FDCFA39411CA2CEA /* Resources */ = { + isa = PBXGroup; + children = ( + AA1DE9590C5468FE00D59F20 /* Hardware.in.plist */, + AA1DE9560C5468CE00D59F20 /* Hardware.plist */, + AAF6A2F709B695BA00D5C614 /* Localizable.strings */, + AAB895E504A9057100D02EE9 /* smicon.icns */, + ); + name = Resources; + sourceTree = ""; + }; + 29B97323FDCFA39411CA2CEA /* Frameworks */ = { + isa = PBXGroup; + children = ( + 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */, + 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */, + ); + name = Frameworks; + sourceTree = ""; + }; + 2B766980132FF62B00586512 /* NoteParsing */ = { + isa = PBXGroup; + children = ( + AA6EFDED04770C79005F316C /* NotesLoader.cpp */, + AA6EFDEE04770C79005F316C /* NotesLoader.h */, + AA6EFDEF04770C79005F316C /* NotesLoaderBMS.cpp */, + AA6EFDF004770C79005F316C /* NotesLoaderBMS.h */, + AA6EFDF104770C79005F316C /* NotesLoaderDWI.cpp */, + AA6EFDF204770C79005F316C /* NotesLoaderDWI.h */, + 2B9C2E89137A138B004C92F3 /* NotesLoaderJson.cpp */, + 2B9C2E8A137A138B004C92F3 /* NotesLoaderJson.h */, + AA6EFDF304770C79005F316C /* NotesLoaderKSF.cpp */, + AA6EFDF404770C79005F316C /* NotesLoaderKSF.h */, + 3688B8510BD42DAA004186AD /* NotesLoaderMidi.cpp */, + 3688B8520BD42DAA004186AD /* NotesLoaderMidi.h */, + EE2153A710A75BEE0074B01B /* NotesLoaderPMS.cpp */, + EE2153A810A75BEE0074B01B /* NotesLoaderPMS.h */, + AA6EFDF504770C79005F316C /* NotesLoaderSM.cpp */, + AA6EFDF604770C79005F316C /* NotesLoaderSM.h */, + 2B76698A132FF71500586512 /* NotesLoaderSMA.cpp */, + 2B766989132FF71500586512 /* NotesLoaderSMA.h */, + 2BA7925A1304F20D002BD8E1 /* NotesLoaderSSC.cpp */, + 2BA7925B1304F20D002BD8E1 /* NotesLoaderSSC.h */, + 2B9C2E8B137A138B004C92F3 /* NotesWriterJson.cpp */, + 2B9C2E8C137A138B004C92F3 /* NotesWriterJson.h */, + AA6EFDF704770C79005F316C /* NotesWriterDWI.cpp */, + AA6EFDF804770C79005F316C /* NotesWriterDWI.h */, + AA6EFDF904770C79005F316C /* NotesWriterSM.cpp */, + AA6EFDFA04770C79005F316C /* NotesWriterSM.h */, + 2BA7925C1304F20D002BD8E1 /* NotesWriterSSC.cpp */, + 2BA7925D1304F20D002BD8E1 /* NotesWriterSSC.h */, + ); + name = NoteParsing; + sourceTree = ""; + }; + 2BC6130C13773C6800CC8BBD /* libpng */ = { + isa = PBXGroup; + children = ( + 2BC6130D13773C8E00CC8BBD /* png.c */, + 2BC6130E13773C8E00CC8BBD /* png.h */, + 2BC6130F13773C8E00CC8BBD /* pngconf.h */, + 2BC6131013773C8E00CC8BBD /* pngdebug.h */, + 2BC6131113773C8E00CC8BBD /* pngerror.c */, + 2BC6131213773C8E00CC8BBD /* pngget.c */, + 2BC6131313773C8E00CC8BBD /* pnginfo.h */, + 2BC6133D13773D2C00CC8BBD /* pnglibconf.h */, + 2BC6131413773C8E00CC8BBD /* pngmem.c */, + 2BC6131513773C8E00CC8BBD /* pngpread.c */, + 2BC6131613773C8E00CC8BBD /* pngpriv.h */, + 2BC6131713773C8E00CC8BBD /* pngread.c */, + 2BC6131813773C8E00CC8BBD /* pngrio.c */, + 2BC6131913773C8E00CC8BBD /* pngrtran.c */, + 2BC6131A13773C8E00CC8BBD /* pngrutil.c */, + 2BC6131B13773C8E00CC8BBD /* pngset.c */, + 2BC6131C13773C8E00CC8BBD /* pngstruct.h */, + 2BC6131E13773C8E00CC8BBD /* pngtrans.c */, + 2BC6132013773C8E00CC8BBD /* pngwio.c */, + 2BC6132113773C8E00CC8BBD /* pngwrite.c */, + 2BC6132213773C8E00CC8BBD /* pngwtran.c */, + 2BC6132313773C8E00CC8BBD /* pngwutil.c */, + ); + name = libpng; + path = ../extern/libpng; + sourceTree = ""; + }; + 2BDB87261371F7FF00E6FD3A /* extern */ = { + isa = PBXGroup; + children = ( + EE879B8E132E06C50078FDDC /* glew-1.5.8 */, + EE906F6F12BF3A5B00146C96 /* json */, + 2BC6130C13773C6800CC8BBD /* libpng */, + AA7C8A7F0B6744F600FD9940 /* libtommath */, + AA7C8B920B67467C00FD9940 /* libtomcrypt */, + AAE781870AC7E46E00AEFC64 /* lua-5.1 */, + AAA070B20CE7B3AD005A3060 /* mad-0.15.1b */, + AA8B6C7804AFD82B00D02EE9 /* pcre */, + ); + name = extern; + sourceTree = ""; + }; + AA60E0BB067992D7008ADC41 /* Threads */ = { + isa = PBXGroup; + children = ( + AA60E0BC067992D7008ADC41 /* Threads.h */, + AA60E0BD067992D7008ADC41 /* Threads_Pthreads.cpp */, + AA60E0BE067992D7008ADC41 /* Threads_Pthreads.h */, + ); + path = Threads; + sourceTree = ""; + }; + AA6E00090477103E005F316C /* Screens */ = { + isa = PBXGroup; + children = ( + AA6E000A047711F3005F316C /* Screen.cpp */, + AA6E000B047711F3005F316C /* Screen.h */, + AA6E0010047711F3005F316C /* ScreenAttract.cpp */, + AA6E0011047711F3005F316C /* ScreenAttract.h */, + AADBE360053D5F8A00D02EE9 /* ScreenBookkeeping.cpp */, + AADBE361053D5F8A00D02EE9 /* ScreenBookkeeping.h */, + AA2CA89D0BB745BD002441E9 /* ScreenContinue.cpp */, + AA2CA89E0BB745BD002441E9 /* ScreenContinue.h */, + AA07A5550843E72B00E33D21 /* ScreenDebugOverlay.cpp */, + AA07A5560843E72B00E33D21 /* ScreenDebugOverlay.h */, + AA6E001B047711F3005F316C /* ScreenDemonstration.cpp */, + AA6E001C047711F3005F316C /* ScreenDemonstration.h */, + AA21D59C0712ADE4008B825F /* ScreenDimensions.cpp */, + AA6EFE6104770CF7005F316C /* ScreenDimensions.h */, + AA6E001D047711F3005F316C /* ScreenEdit.cpp */, + AA6E001E047711F3005F316C /* ScreenEdit.h */, + AA6E001F047711F3005F316C /* ScreenEditMenu.cpp */, + AA6E0020047711F3005F316C /* ScreenEditMenu.h */, + AABE321A05ACD8ED001A0E84 /* ScreenEnding.cpp */, + AABE321B05ACD8ED001A0E84 /* ScreenEnding.h */, + AA6E0021047711F3005F316C /* ScreenEvaluation.cpp */, + AA6E0022047711F3005F316C /* ScreenEvaluation.h */, + AAECF8BF05265DB600D02EE9 /* ScreenExit.cpp */, + AAECF8C005265DB600D02EE9 /* ScreenExit.h */, + AA6E0029047711F3005F316C /* ScreenGameplay.cpp */, + AA6E002A047711F3005F316C /* ScreenGameplay.h */, + AACFBE4908E7D893005087FC /* ScreenGameplayLesson.cpp */, + AACFBE4A08E7D893005087FC /* ScreenGameplayLesson.h */, + 1215D7A008C6559A00B87D8B /* ScreenGameplayNormal.cpp */, + 1215D7A108C6559A00B87D8B /* ScreenGameplayNormal.h */, + AAD8F9330A4B97DF000311CF /* ScreenGameplayShared.cpp */, + AAD8F9320A4B97DF000311CF /* ScreenGameplayShared.h */, + AAB55EB509A7E3D3008FDC69 /* ScreenGameplaySyncMachine.cpp */, + AAB55EB609A7E3D3008FDC69 /* ScreenGameplaySyncMachine.h */, + 367D57590EDE56F200B46814 /* ScreenHighScores.cpp */, + 367D575A0EDE56F200B46814 /* ScreenHighScores.h */, + AA6E002F047711F3005F316C /* ScreenHowToPlay.cpp */, + AA6E0030047711F3005F316C /* ScreenHowToPlay.h */, + EE906F6412BF3A1B00146C96 /* ScreenInstallOverlay.cpp */, + EE906F6512BF3A1B00146C96 /* ScreenInstallOverlay.h */, + AA6E0033047711F3005F316C /* ScreenInstructions.cpp */, + AA6E0034047711F3005F316C /* ScreenInstructions.h */, + AA6E0037047711F3005F316C /* ScreenJukebox.cpp */, + AA6E0038047711F3005F316C /* ScreenJukebox.h */, + AA6E0041047711F3005F316C /* ScreenMapControllers.cpp */, + AA6E0042047711F3005F316C /* ScreenMapControllers.h */, + AA80C75B07F20D7F00C99272 /* ScreenMessage.cpp */, + AA6E0044047711F3005F316C /* ScreenMessage.h */, + AA6E0045047711F3005F316C /* ScreenMiniMenu.cpp */, + AA6E0046047711F3005F316C /* ScreenMiniMenu.h */, + AA6E0049047711F3005F316C /* ScreenNameEntry.cpp */, + AA6E004A047711F3005F316C /* ScreenNameEntry.h */, + AADBE362053D5F8A00D02EE9 /* ScreenNameEntryTraditional.cpp */, + AADBE363053D5F8A00D02EE9 /* ScreenNameEntryTraditional.h */, + AAB9C8B306EAF66C00AD97CD /* ScreenNetEvaluation.cpp */, + AAB9C8B406EAF66C00AD97CD /* ScreenNetEvaluation.h */, + AAF793F1074FE69E00D74516 /* ScreenNetRoom.cpp */, + AAF793F2074FE69E00D74516 /* ScreenNetRoom.h */, + AAF793F3074FE69E00D74516 /* ScreenNetSelectBase.cpp */, + AAF793F4074FE69E00D74516 /* ScreenNetSelectBase.h */, + AA22CBA306DE909C0083BA97 /* ScreenNetSelectMusic.cpp */, + AA22CBA406DE909C0083BA97 /* ScreenNetSelectMusic.h */, + AA42F5E6067068D30013509E /* ScreenNetworkOptions.cpp */, + AA42F5E7067068D30013509E /* ScreenNetworkOptions.h */, + AA6E004B047711F3005F316C /* ScreenOptions.cpp */, + AA6E004C047711F3005F316C /* ScreenOptions.h */, + 36CA531A0F91564A0063D59D /* ScreenOptionsCourseOverview.cpp */, + 36CA531B0F91564A0063D59D /* ScreenOptionsCourseOverview.h */, + 36CA531E0F9156860063D59D /* ScreenOptionsEditCourse.cpp */, + 36CA531F0F9156860063D59D /* ScreenOptionsEditCourse.h */, + AAFAB5BB0889098600767BF7 /* ScreenOptionsEditProfile.cpp */, + AAFAB5BC0889098600767BF7 /* ScreenOptionsEditProfile.h */, + AAFF41A10F5BD4AD00FFDB67 /* ScreenOptionsExportPackage.cpp */, + AAFF41A20F5BD4AD00FFDB67 /* ScreenOptionsExportPackage.h */, + AA77E75B08B64B9A00FA24CA /* ScreenOptionsManageCourses.cpp */, + AA77E75C08B64B9A00FA24CA /* ScreenOptionsManageCourses.h */, + AAFBEEE5094D807E000029DE /* ScreenOptionsManageEditSteps.cpp */, + AAFBEEE6094D807E000029DE /* ScreenOptionsManageEditSteps.h */, + AA77E75D08B64B9A00FA24CA /* ScreenOptionsManageProfiles.cpp */, + AA77E75E08B64B9A00FA24CA /* ScreenOptionsManageProfiles.h */, + AA53D28405277DAF00D02EE9 /* ScreenOptionsMaster.cpp */, + AA53D28505277DAF00D02EE9 /* ScreenOptionsMaster.h */, + AA53D28605277DAF00D02EE9 /* ScreenOptionsMasterPrefs.cpp */, + AA53D28705277DAF00D02EE9 /* ScreenOptionsMasterPrefs.h */, + AAFBEEE7094D807E000029DE /* ScreenOptionsMemoryCard.cpp */, + AAFBEEE8094D807E000029DE /* ScreenOptionsMemoryCard.h */, + AAA7D4C70C7E872500FB8F78 /* ScreenOptionsToggleSongs.cpp */, + AAA7D4C80C7E872500FB8F78 /* ScreenOptionsToggleSongs.h */, + AA1145D9075DFADF0050A3D1 /* ScreenPackages.cpp */, + AA1145DA075DFADF0050A3D1 /* ScreenPackages.h */, + EEA7C84110A805A300082E7B /* ScreenPackagesSSC.cpp */, + EEA7C84210A805A300082E7B /* ScreenPackagesSSC.h */, + AA6E004F047711F3005F316C /* ScreenPlayerOptions.cpp */, + AA6E0050047711F3005F316C /* ScreenPlayerOptions.h */, + AA18935C0BD777C400AEC0BF /* ScreenProfileLoad.cpp */, + AA18935D0BD777C400AEC0BF /* ScreenProfileLoad.h */, + AA18935E0BD777C400AEC0BF /* ScreenProfileSave.cpp */, + AA18935F0BD777C400AEC0BF /* ScreenProfileSave.h */, + AA6E0051047711F3005F316C /* ScreenPrompt.cpp */, + AA6E0052047711F3005F316C /* ScreenPrompt.h */, + AA6E0053047711F3005F316C /* ScreenRanking.cpp */, + AA6E0054047711F3005F316C /* ScreenRanking.h */, + AA53D28805277DAF00D02EE9 /* ScreenReloadSongs.cpp */, + AA53D28905277DAF00D02EE9 /* ScreenReloadSongs.h */, + AA6E0057047711F3005F316C /* ScreenSandbox.cpp */, + AA6E0058047711F3005F316C /* ScreenSandbox.h */, + AA07A5590843E72B00E33D21 /* ScreenSaveSync.cpp */, + AA07A55A0843E72B00E33D21 /* ScreenSaveSync.h */, + AA6E0059047711F3005F316C /* ScreenSelect.cpp */, + AA6E005A047711F3005F316C /* ScreenSelect.h */, + AA6E005B047711F3005F316C /* ScreenSelectCharacter.cpp */, + AA6E005C047711F3005F316C /* ScreenSelectCharacter.h */, + AA2E9FFF0A770208003A0C11 /* ScreenSelectLanguage.cpp */, + AA2EA0000A770208003A0C11 /* ScreenSelectLanguage.h */, + AA1DC47404A4861700D02EE9 /* ScreenSelectMaster.cpp */, + AA1DC47504A4861700D02EE9 /* ScreenSelectMaster.h */, + AA6E0069047711F3005F316C /* ScreenSelectMusic.cpp */, + AA6E006A047711F3005F316C /* ScreenSelectMusic.h */, + AAB3B7DA0C6C582D001BF487 /* ScreenSelectProfile.cpp */, + AAB3B7DB0C6C582D001BF487 /* ScreenSelectProfile.h */, + AAFBEEE9094D807E000029DE /* ScreenServiceAction.cpp */, + AAFBEEEA094D807E000029DE /* ScreenServiceAction.h */, + AA0A3DE6060513A00044E6B1 /* ScreenSetTime.cpp */, + AA0A3DE7060513A00044E6B1 /* ScreenSetTime.h */, + AA07A55B0843E72B00E33D21 /* ScreenSMOnlineLogin.cpp */, + AA07A55C0843E72B00E33D21 /* ScreenSMOnlineLogin.h */, + AA6E006F047711F3005F316C /* ScreenSongOptions.cpp */, + AA6E0070047711F3005F316C /* ScreenSongOptions.h */, + AAB6B475085761B700CEE7BA /* ScreenSplash.cpp */, + AAB6B476085761B700CEE7BA /* ScreenSplash.h */, + AAF34AEB0900B00C0006EDB7 /* ScreenStatsOverlay.cpp */, + AAF34AEC0900B00C0006EDB7 /* ScreenStatsOverlay.h */, + AA07A55D0843E72B00E33D21 /* ScreenSyncOverlay.cpp */, + AA07A55E0843E72B00E33D21 /* ScreenSyncOverlay.h */, + AA1145DB075DFADF0050A3D1 /* ScreenSystemLayer.cpp */, + AA1145DC075DFADF0050A3D1 /* ScreenSystemLayer.h */, + AAC622FA05389A0500D02EE9 /* ScreenTestInput.cpp */, + AAC622FB05389A0500D02EE9 /* ScreenTestInput.h */, + AAF7435906110E8D00B19AD1 /* ScreenTestLights.cpp */, + AAF7435A06110E8D00B19AD1 /* ScreenTestLights.h */, + AA6E007B047711F3005F316C /* ScreenTestSound.cpp */, + AA6E007C047711F3005F316C /* ScreenTestSound.h */, + AA6E007D047711F3005F316C /* ScreenTextEntry.cpp */, + AA6E007E047711F3005F316C /* ScreenTextEntry.h */, + AA6E007F047711F3005F316C /* ScreenTitleMenu.cpp */, + AA6E0080047711F3005F316C /* ScreenTitleMenu.h */, + AAB55EB709A7E3D3008FDC69 /* ScreenUnlockBrowse.cpp */, + AAB55EB809A7E3D3008FDC69 /* ScreenUnlockBrowse.h */, + AAB55EB909A7E3D3008FDC69 /* ScreenUnlockCelebrate.cpp */, + AAB55EBA09A7E3D3008FDC69 /* ScreenUnlockCelebrate.h */, + AA658779098C322800CE55CC /* ScreenUnlockStatus.cpp */, + AA65877A098C322800CE55CC /* ScreenUnlockStatus.h */, + AAA6BFEA0644AB3700AFBBC8 /* ScreenWithMenuElements.cpp */, + AAA6BFEB0644AB3700AFBBC8 /* ScreenWithMenuElements.h */, + ); + name = Screens; + sourceTree = ""; + }; + AA6E00FE047711FF005F316C /* GlobalSingletons */ = { + isa = PBXGroup; + children = ( + AA6E00FF0477128A005F316C /* AnnouncerManager.cpp */, + AA6E01000477128A005F316C /* AnnouncerManager.h */, + AADBE368053DA38C00D02EE9 /* Bookkeeper.cpp */, + AADBE369053DA38C00D02EE9 /* Bookkeeper.h */, + AA77E74508B64B1400FA24CA /* CharacterManager.cpp */, + AA77E74608B64B1400FA24CA /* CharacterManager.h */, + AAC0BFDF0E2951EC00F56EEB /* CryptHelpers.cpp */, + AAC0BFE00E2951EC00F56EEB /* CryptHelpers.h */, + AABD0B3605DF3F22004F7929 /* CryptManager.cpp */, + AABD0B3705DF3F22004F7929 /* CryptManager.h */, + AA6E01010477128A005F316C /* GameManager.cpp */, + AA6E01020477128A005F316C /* GameManager.h */, + AAC9F32E069E22BB00D53E2C /* GameSoundManager.cpp */, + AAC9F32F069E22BB00D53E2C /* GameSoundManager.h */, + AA6E01030477128A005F316C /* GameState.cpp */, + AA6E01040477128A005F316C /* GameState.h */, + AA6E01050477128A005F316C /* InputFilter.cpp */, + AA6E01060477128A005F316C /* InputFilter.h */, + AA6E01070477128A005F316C /* InputMapper.cpp */, + AA6E01080477128A005F316C /* InputMapper.h */, + AA6E01090477128A005F316C /* InputQueue.cpp */, + AA6E010A0477128A005F316C /* InputQueue.h */, + AAC6DCE30567660A00B5D56F /* LightsManager.cpp */, + AAC6DCE40567660A00B5D56F /* LightsManager.h */, + AA8EE0750866E266002C51A7 /* LuaBinding.cpp */, + AAEBC78C07A4FF5600793F0E /* LuaBinding.h */, + AAEBC78D07A4FF5600793F0E /* LuaManager.cpp */, + AAEBC78E07A4FF5600793F0E /* LuaManager.h */, + AA8BD2A107C9391B00EA04E1 /* LuaReference.cpp */, + AA8BD2A207C9391B00EA04E1 /* LuaReference.h */, + AA28B47A058F2F5D0097C109 /* MemoryCardManager.cpp */, + AA28B47B058F2F5D0097C109 /* MemoryCardManager.h */, + AA8BD2A307C9391B00EA04E1 /* MessageManager.cpp */, + AA8BD2A407C9391B00EA04E1 /* MessageManager.h */, + AAF4206505D63FA700056441 /* ModelManager.cpp */, + AAF4206605D63FA700056441 /* ModelManager.h */, + AAE78049060814AC0034E65F /* NetworkSyncManager.cpp */, + AAE7804A060814AC0034E65F /* NetworkSyncManager.h */, + AA6E010B0477128A005F316C /* NoteSkinManager.cpp */, + AA6E010C0477128A005F316C /* NoteSkinManager.h */, + AA6E010D0477128A005F316C /* PrefsManager.cpp */, + AA6E010E0477128A005F316C /* PrefsManager.h */, + AA1C6556050D234B0073A143 /* ProfileManager.cpp */, + AA1C6557050D234B0073A143 /* ProfileManager.h */, + AAB0085F057F4F7A000BBA58 /* RageFileManager.cpp */, + AAB00860057F4F7A000BBA58 /* RageFileManager.h */, + AA6EFD7404770A7C005F316C /* RageInput.cpp */, + AA6EFD7504770A7C005F316C /* RageInput.h */, + AA6EFD7804770A7C005F316C /* RageLog.cpp */, + AA6EFD7904770A7C005F316C /* RageLog.h */, + AA6EFD7E04770A7C005F316C /* RageSoundManager.cpp */, + AA6EFD7F04770A7C005F316C /* RageSoundManager.h */, + AA6EFD8B04770A7C005F316C /* RageTextureManager.cpp */, + AA6EFD8C04770A7C005F316C /* RageTextureManager.h */, + AA6E003F047711F3005F316C /* ScreenManager.cpp */, + AA6E0040047711F3005F316C /* ScreenManager.h */, + AA6E01DE04772005005F316C /* SongCacheIndex.cpp */, + AA6E01DF04772005005F316C /* SongCacheIndex.h */, + AA6E010F0477128A005F316C /* SongManager.cpp */, + AA6E01100477128A005F316C /* SongManager.h */, + AA8BD2A507C9391B00EA04E1 /* StatsManager.cpp */, + AA8BD2A607C9391B00EA04E1 /* StatsManager.h */, + AA8BD2A707C9391B00EA04E1 /* SubscriptionManager.h */, + AA6E01120477128A005F316C /* ThemeManager.cpp */, + AA6E01130477128A005F316C /* ThemeManager.h */, + AA80C75207F20D0D00C99272 /* UnlockManager.cpp */, + AA80C75307F20D0D00C99272 /* UnlockManager.h */, + ); + name = GlobalSingletons; + sourceTree = ""; + }; + AA6E012D04771299005F316C /* Sound */ = { + isa = PBXGroup; + children = ( + AA608FAC0B0F9A4E00B39AC4 /* RageSoundDriver.cpp */, + AABE37030497CF85005F316C /* RageSoundDriver.h */, + AA8CF5160A4518BE0005F1B4 /* RageSoundDriver_AU.cpp */, + AA8CF5150A4518BE0005F1B4 /* RageSoundDriver_AU.h */, + AA1CD941060AE571003702C4 /* RageSoundDriver_Generic_Software.cpp */, + AA6E012E047712BE005F316C /* RageSoundDriver_Null.cpp */, + AA6E012F047712BE005F316C /* RageSoundDriver_Null.h */, + ); + path = Sound; + sourceTree = ""; + }; + AA6E01400477136A005F316C /* arch */ = { + isa = PBXGroup; + children = ( + AABE36F60497CE16005F316C /* arch_default.h */, + AABE36FE0497CE67005F316C /* ArchHooks */, + AAD675EE06795175006002B0 /* Dialog */, + AA6E01540477136A005F316C /* InputHandler */, + AAC6DCED0567663800B5D56F /* Lights */, + AA6E015A0477136A005F316C /* LoadingWindow */, + AA6E01620477136A005F316C /* LowLevelWindow */, + AABE78720591287100E8BF50 /* MemoryCard */, + AA6E01DD04771F19005F316C /* MovieTexture */, + AA909E1D0B45B676002852D3 /* RageDriver.cpp */, + AA909E1E0B45B676002852D3 /* RageDriver.h */, + AA6E012D04771299005F316C /* Sound */, + AA60E0BB067992D7008ADC41 /* Threads */, + ); + name = arch; + path = ../src/arch; + sourceTree = ""; + }; + AA6E01540477136A005F316C /* InputHandler */ = { + isa = PBXGroup; + children = ( + AAB3B36B04C38B4600D02EE9 /* InputHandler.cpp */, + AAB3B36C04C38B4600D02EE9 /* InputHandler.h */, + AA6C6B0C0DC6B48C00E7A13E /* InputHandler_MacOSX_HID.cpp */, + AA6C6B0D0DC6B48C00E7A13E /* InputHandler_MacOSX_HID.h */, + AAFC6CEF072A30440053AAD3 /* InputHandler_MonkeyKeyboard.cpp */, + AAFC6CF0072A30440053AAD3 /* InputHandler_MonkeyKeyboard.h */, + ); + path = InputHandler; + sourceTree = ""; + }; + AA6E015A0477136A005F316C /* LoadingWindow */ = { + isa = PBXGroup; + children = ( + AA909E260B45B6AB002852D3 /* LoadingWindow.cpp */, + AAEF3D1004B53E2900D02EE9 /* LoadingWindow.h */, + AA6C6AE20DC6B22800E7A13E /* LoadingWindow_MacOSX.h */, + AA6C6AE30DC6B22800E7A13E /* LoadingWindow_MacOSX.mm */, + AA339A7D0BF0FA6300E1475F /* LoadingWindow_Null.h */, + ); + path = LoadingWindow; + sourceTree = ""; + }; + AA6E01620477136A005F316C /* LowLevelWindow */ = { + isa = PBXGroup; + children = ( + AA909E230B45B696002852D3 /* LowLevelWindow.cpp */, + AA6E01630477136A005F316C /* LowLevelWindow.h */, + AA6C6B000DC6B2B400E7A13E /* LowLevelWindow_MacOSX.h */, + AA6C6B010DC6B2B400E7A13E /* LowLevelWindow_MacOSX.mm */, + ); + path = LowLevelWindow; + sourceTree = ""; + }; + AA6E017E0477136A005F316C /* archutils */ = { + isa = PBXGroup; + children = ( + AADB4E8E04D5263200D02EE9 /* Darwin */, + AADB4E8604D50FB900D02EE9 /* Unix */, + ); + name = archutils; + path = ../src/archutils; + sourceTree = ""; + }; + AA6E01DD04771F19005F316C /* MovieTexture */ = { + isa = PBXGroup; + children = ( + AA6E01DB04771F11005F316C /* MovieTexture.cpp */, + AAB3B37704C38BF600D02EE9 /* MovieTexture.h */, + AA14ED0F0509F40000E3FAD7 /* MovieTexture_FFMpeg.cpp */, + AA14ED100509F40000E3FAD7 /* MovieTexture_FFMpeg.h */, + AAA372D00909934500141131 /* MovieTexture_Generic.cpp */, + AAA372D10909934500141131 /* MovieTexture_Generic.h */, + AAB3B39004C5921800D02EE9 /* MovieTexture_Null.cpp */, + AAB3B39104C5921800D02EE9 /* MovieTexture_Null.h */, + AAA372D20909934500141131 /* MovieTexture_Theora.cpp */, + AAA372D30909934500141131 /* MovieTexture_Theora.h */, + ); + name = MovieTexture; + sourceTree = ""; + }; + AA6EFDBB04770A83005F316C /* Rage */ = { + isa = PBXGroup; + children = ( + AA6EFD6D04770A7C005F316C /* RageBitmapTexture.cpp */, + AA6EFD6E04770A7C005F316C /* RageBitmapTexture.h */, + AA6EFD6F04770A7C005F316C /* RageDisplay.cpp */, + AA6EFD7004770A7C005F316C /* RageDisplay.h */, + EE879B5E132DEE720078FDDC /* RageDisplay_Legacy.cpp */, + EE879B5F132DEE720078FDDC /* RageDisplay_Legacy.h */, + EE879B5C132DEE720078FDDC /* RageDisplay_Legacy_Helpers.cpp */, + EE879B5D132DEE720078FDDC /* RageDisplay_Legacy_Helpers.h */, + AAF7458E061181F700B19AD1 /* RageDisplay_Null.cpp */, + AAF7458F061181F700B19AD1 /* RageDisplay_Null.h */, + AA6EFD7204770A7C005F316C /* RageException.cpp */, + AA6EFD7304770A7C005F316C /* RageException.h */, + AA272C3004CD757100D02EE9 /* RageFile.cpp */, + AA272C3104CD757100D02EE9 /* RageFile.h */, + AA0E04CE076C4CD500716D81 /* RageFileBasic.cpp */, + AA0E04CF076C4CD500716D81 /* RageFileBasic.h */, + AAB0085B057F4F7A000BBA58 /* RageFileDriver.cpp */, + AAB0085C057F4F7A000BBA58 /* RageFileDriver.h */, + AA0E04D0076C4CD500716D81 /* RageFileDriverDeflate.cpp */, + AA0E04D1076C4CD500716D81 /* RageFileDriverDeflate.h */, + AAB0085D057F4F7A000BBA58 /* RageFileDriverDirect.cpp */, + AAB0085E057F4F7A000BBA58 /* RageFileDriverDirect.h */, + AABE322205ACDA52001A0E84 /* RageFileDriverDirectHelpers.cpp */, + AABE322305ACDA52001A0E84 /* RageFileDriverDirectHelpers.h */, + AA64218606EC606F00C21584 /* RageFileDriverMemory.cpp */, + AA64218706EC606F00C21584 /* RageFileDriverMemory.h */, + 36C6887F11297FFE00453295 /* RageFileDriverReadAhead.cpp */, + 36C6888011297FFE00453295 /* RageFileDriverReadAhead.h */, + AA0E04D2076C4CD500716D81 /* RageFileDriverSlice.cpp */, + AA0E04D3076C4CD500716D81 /* RageFileDriverSlice.h */, + AACA592A07B5E23400763545 /* RageFileDriverTimeout.cpp */, + AACA592B07B5E23400763545 /* RageFileDriverTimeout.h */, + AA251B7505841FCE00027ACB /* RageFileDriverZip.cpp */, + AA251B7605841FCE00027ACB /* RageFileDriverZip.h */, + 36C6888111297FFE00453295 /* RageFileManager_ReadAhead.cpp */, + 36C6888211297FFE00453295 /* RageFileManager_ReadAhead.h */, + AA6EFD7604770A7C005F316C /* RageInputDevice.cpp */, + AA6EFD7704770A7C005F316C /* RageInputDevice.h */, + AA6EFD7A04770A7C005F316C /* RageMath.cpp */, + AA6EFD7B04770A7C005F316C /* RageMath.h */, + AAF4206905D6400800056441 /* RageModelGeometry.cpp */, + AAF4206A05D6400800056441 /* RageModelGeometry.h */, + AA6EFD7C04770A7C005F316C /* RageSound.cpp */, + AA6EFD7D04770A7C005F316C /* RageSound.h */, + AAAB2CE1072BD2FA00CD9FC9 /* RageSoundMixBuffer.cpp */, + AAAB2CE2072BD2FA00CD9FC9 /* RageSoundMixBuffer.h */, + AAD36082062BB8AE00D0CED8 /* RageSoundPosMap.cpp */, + AAD36083062BB8AE00D0CED8 /* RageSoundPosMap.h */, + AAFB549D0B1BC32700FC3A81 /* RageSoundReader.cpp */, + AA6EFD8604770A7C005F316C /* RageSoundReader.h */, + AA7ADC23072CAB7F00C50A7F /* RageSoundReader_Chain.cpp */, + AA7ADC24072CAB7F00C50A7F /* RageSoundReader_Chain.h */, + AA4F27AE0B2C01B400ADEA79 /* RageSoundReader_ChannelSplit.cpp */, + AA4F27AF0B2C01B400ADEA79 /* RageSoundReader_ChannelSplit.h */, + AA909E390B45B8FA002852D3 /* RageSoundReader_Extend.cpp */, + AA909E3A0B45B8FA002852D3 /* RageSoundReader_Extend.h */, + AAFC7FF00513A67700D02EE9 /* RageSoundReader_FileReader.cpp */, + AADB4E7A04D4FE5D00D02EE9 /* RageSoundReader_FileReader.h */, + AA31D51B0B1EC6540016AB6B /* RageSoundReader_Filter.h */, + AA3396B60BDE195E00E1475F /* RageSoundReader_Merge.cpp */, + AA3396B70BDE195E00E1475F /* RageSoundReader_Merge.h */, + AAFC7FF10513A67700D02EE9 /* RageSoundReader_MP3.cpp */, + AAFC7FF20513A67700D02EE9 /* RageSoundReader_MP3.h */, + AA4F27B00B2C01B400ADEA79 /* RageSoundReader_Pan.cpp */, + AA4F27B10B2C01B400ADEA79 /* RageSoundReader_Pan.h */, + AA31D51C0B1EC6540016AB6B /* RageSoundReader_PitchChange.cpp */, + AA31D51D0B1EC6540016AB6B /* RageSoundReader_PitchChange.h */, + AA0700880B61F177003B85BB /* RageSoundReader_PostBuffering.cpp */, + AA0700890B61F177003B85BB /* RageSoundReader_PostBuffering.h */, + AA6EFD8004770A7C005F316C /* RageSoundReader_Preload.cpp */, + AA6EFD8104770A7C005F316C /* RageSoundReader_Preload.h */, + AAAE28F4052254A900D02EE9 /* RageSoundReader_Resample_Good.cpp */, + AAAE28F5052254A900D02EE9 /* RageSoundReader_Resample_Good.h */, + AA31D51E0B1EC6540016AB6B /* RageSoundReader_SpeedChange.cpp */, + AA31D51F0B1EC6540016AB6B /* RageSoundReader_SpeedChange.h */, + AA909E3B0B45B8FA002852D3 /* RageSoundReader_ThreadedBuffer.cpp */, + AA909E3C0B45B8FA002852D3 /* RageSoundReader_ThreadedBuffer.h */, + AA1C65A4050FD21F0073A143 /* RageSoundReader_Vorbisfile.cpp */, + AA1C65A5050FD21F0073A143 /* RageSoundReader_Vorbisfile.h */, + AA1C65A6050FD21F0073A143 /* RageSoundReader_WAV.cpp */, + AA1C65A7050FD21F0073A143 /* RageSoundReader_WAV.h */, + AA7ADC25072CAB7F00C50A7F /* RageSoundUtil.cpp */, + AA7ADC26072CAB7F00C50A7F /* RageSoundUtil.h */, + AA915879067D2C2C00078E36 /* RageSurface.cpp */, + AA91587A067D2C2C00078E36 /* RageSurface.h */, + AABBF6740659E78D00738526 /* RageSurface_Load.cpp */, + AABBF6750659E78D00738526 /* RageSurface_Load.h */, + AA90919F067ED43000C1FCFF /* RageSurface_Load_BMP.cpp */, + AA9091A0067ED43000C1FCFF /* RageSurface_Load_BMP.h */, + AABBF66C0659E78D00738526 /* RageSurface_Load_GIF.cpp */, + AABBF66D0659E78D00738526 /* RageSurface_Load_GIF.h */, + AABBF66E0659E78D00738526 /* RageSurface_Load_JPEG.cpp */, + AABBF66F0659E78D00738526 /* RageSurface_Load_JPEG.h */, + AABBF6700659E78D00738526 /* RageSurface_Load_PNG.cpp */, + AABBF6710659E78D00738526 /* RageSurface_Load_PNG.h */, + AABBF6720659E78D00738526 /* RageSurface_Load_XPM.cpp */, + AABBF6730659E78D00738526 /* RageSurface_Load_XPM.h */, + AA9091A3067ED46400C1FCFF /* RageSurface_Save_BMP.cpp */, + AA9091A4067ED46400C1FCFF /* RageSurface_Save_BMP.h */, + AAEBC6C607A20AFE00793F0E /* RageSurface_Save_JPEG.cpp */, + AAEBC6C707A20AFE00793F0E /* RageSurface_Save_JPEG.h */, + AAFE711C0A91B551005F2290 /* RageSurface_Save_PNG.cpp */, + AAFE71280A91B58F005F2290 /* RageSurface_Save_PNG.h */, + AAB9C8AD06EAF64400AD97CD /* RageSurfaceUtils.cpp */, + AAB9C8AE06EAF64400AD97CD /* RageSurfaceUtils.h */, + AAEBC6C807A20AFE00793F0E /* RageSurfaceUtils_Dither.cpp */, + AAEBC6C907A20AFE00793F0E /* RageSurfaceUtils_Dither.h */, + AAB9C8AB06EAF64400AD97CD /* RageSurfaceUtils_Palettize.cpp */, + AAB9C8AC06EAF64400AD97CD /* RageSurfaceUtils_Palettize.h */, + AAEBC6CA07A20AFE00793F0E /* RageSurfaceUtils_Zoom.cpp */, + AAEBC6CB07A20AFE00793F0E /* RageSurfaceUtils_Zoom.h */, + AA6EFD8904770A7C005F316C /* RageTexture.cpp */, + AA6EFD8A04770A7C005F316C /* RageTexture.h */, + AA9EC2F0055F5126007E5098 /* RageTextureID.cpp */, + AA9EC2F1055F5126007E5098 /* RageTextureID.h */, + AA91ACAF0878BB2C00FB2F8F /* RageTexturePreloader.cpp */, + AA91ACB00878BB2C00FB2F8F /* RageTexturePreloader.h */, + AA5D16550A79805C00F17E86 /* RageTextureRenderTarget.cpp */, + AA5D16560A79805C00F17E86 /* RageTextureRenderTarget.h */, + AA6EFD8D04770A7C005F316C /* RageThreads.cpp */, + AA6EFD8E04770A7C005F316C /* RageThreads.h */, + AA6EFD8F04770A7C005F316C /* RageTimer.cpp */, + AA6EFD9004770A7C005F316C /* RageTimer.h */, + AAE77F570AC3B52500AEFC64 /* RageTypes.cpp */, + AA6EFD9104770A7C005F316C /* RageTypes.h */, + AA6EFD9204770A7C005F316C /* RageUtil.cpp */, + AA6EFD9304770A7C005F316C /* RageUtil.h */, + AACA592C07B5E23400763545 /* RageUtil_AutoPtr.h */, + AA8A404F06EEFF72002F25AB /* RageUtil_BackgroundLoader.cpp */, + AA8A405006EEFF72002F25AB /* RageUtil_BackgroundLoader.h */, + AAB3BB570C718F2C001BF487 /* RageUtil_CachedObject.cpp */, + AAB3BB580C718F2C001BF487 /* RageUtil_CachedObject.h */, + AAC23F7E0485E68D005F316C /* RageUtil_CharConversions.cpp */, + AAC23F7F0485E68D005F316C /* RageUtil_CharConversions.h */, + AAD3D5AB05B5AB4E00014FAC /* RageUtil_CircularBuffer.h */, + AAF580A704B3E2DC00D02EE9 /* RageUtil_FileDB.cpp */, + AAF580A804B3E2DC00D02EE9 /* RageUtil_FileDB.h */, + AACA592D07B5E23400763545 /* RageUtil_WorkerThread.cpp */, + AACA592E07B5E23400763545 /* RageUtil_WorkerThread.h */, + ); + name = Rage; + sourceTree = ""; + }; + AA6EFDC804770AF1005F316C /* DataStructures */ = { + isa = PBXGroup; + children = ( + AA84B7050996F8370085EECB /* AdjustSync.cpp */, + AA84B7060996F8370085EECB /* AdjustSync.h */, + AAFF5541054E736D00D02EE9 /* Attack.cpp */, + AAFF5542054E736D00D02EE9 /* Attack.h */, + AAAB2CDD072BD2EC00CD9FC9 /* AutoKeysounds.cpp */, + AAAB2CDE072BD2EC00CD9FC9 /* AutoKeysounds.h */, + AA7DA2EF085760E90057F1EA /* BackgroundUtil.cpp */, + AA7DA2F0085760E90057F1EA /* BackgroundUtil.h */, + AABE35EB04967E25005F316C /* BannerCache.cpp */, + AABE35EC04967E26005F316C /* BannerCache.h */, + AA6EFDCB04770C79005F316C /* Character.cpp */, + AA6EFDCC04770C79005F316C /* Character.h */, + AA6EFDCD04770C79005F316C /* CodeDetector.cpp */, + AA6EFDCE04770C79005F316C /* CodeDetector.h */, + AA2C9C9F0BAD6F54002441E9 /* CodeSet.cpp */, + AA2C9CA00BAD6F54002441E9 /* CodeSet.h */, + AA1B08370762532800835464 /* Command.cpp */, + AA1B08380762532800835464 /* Command.h */, + AA8BD2C607C93A1E00EA04E1 /* CommonMetrics.cpp */, + AA3A705E06AA144C006F755E /* CommonMetrics.h */, + AA6EFDCF04770C79005F316C /* Course.cpp */, + AA6EFDD004770C79005F316C /* Course.h */, + AA77E74B08B64B5600FA24CA /* CourseLoaderCRS.cpp */, + AA77E74C08B64B5600FA24CA /* CourseLoaderCRS.h */, + AA5C73F70637A5F000AFB891 /* CourseUtil.cpp */, + AA5C73F80637A5F000AFB891 /* CourseUtil.h */, + AA77E74D08B64B5600FA24CA /* CourseWriterCRS.cpp */, + AA77E74E08B64B5600FA24CA /* CourseWriterCRS.h */, + AA3D793106A279530064B980 /* DateTime.cpp */, + AA3D793206A279530064B980 /* DateTime.h */, + AAD6A712065E0FDF0042165A /* Difficulty.cpp */, + AAD6A713065E0FDF0042165A /* Difficulty.h */, + AA07328B0954381800F396C5 /* DisplayResolutions.h */, + AAFAFC8E0AC8DB9F00427A6E /* EnumHelper.cpp */, + AA8F136F0624BAB200C6A467 /* EnumHelper.h */, + AAE7808506081A000034E65F /* ezsockets.cpp */, + AAE7808606081A000034E65F /* ezsockets.h */, + EE906F8812BF3C7C00146C96 /* FileDownload.cpp */, + EE906F8912BF3C7C00146C96 /* FileDownload.h */, + AA6EFDD104770C79005F316C /* Font.cpp */, + AA6EFDD204770C79005F316C /* Font.h */, + AA6EFDD304770C79005F316C /* FontCharAliases.cpp */, + AA6EFDD404770C79005F316C /* FontCharAliases.h */, + AA6EFDD504770C79005F316C /* FontCharmaps.cpp */, + AA6EFDD604770C79005F316C /* FontCharmaps.h */, + AA6EFDD704770C79005F316C /* FontManager.cpp */, + AA6EFDD804770C79005F316C /* FontManager.h */, + AA9A78A906B5C72200B03E97 /* Game.cpp */, + AA9A78AA06B5C72200B03E97 /* Game.h */, + AA1B08390762532800835464 /* GameCommand.cpp */, + AA1B083A0762532800835464 /* GameCommand.h */, + AA6EFDD904770C79005F316C /* GameConstantsAndTypes.cpp */, + AA6EFDDA04770C79005F316C /* GameConstantsAndTypes.h */, + AA6EFDDD04770C79005F316C /* GameInput.cpp */, + AA6EFDDE04770C79005F316C /* GameInput.h */, + AA7C8DAC0B68CB2200FD9940 /* GameplayAssist.cpp */, + AA7C8DAD0B68CB2200FD9940 /* GameplayAssist.h */, + AA6090E40B141D1C00B39AC4 /* GamePreferences.cpp */, + AA6090E50B141D1C00B39AC4 /* GamePreferences.h */, + AA6EFDDF04770C79005F316C /* Grade.cpp */, + AA6EFDE004770C79005F316C /* Grade.h */, + AABBD80605D8E9FC00B44FC2 /* HighScore.cpp */, + AABBD80705D8E9FC00B44FC2 /* HighScore.h */, + AACFBE3908E7D832005087FC /* InputEventPlus.h */, + EE906F8012BF3AF800146C96 /* JsonUtil.cpp */, + EE906F8112BF3AF800146C96 /* JsonUtil.h */, + AADD1CC2095C233E0088C9DF /* LocalizedString.cpp */, + AADD1CC3095C233F0088C9DF /* LocalizedString.h */, + AACFBE6108E7DBA8005087FC /* LuaExpressionTransform.cpp */, + AACFBE6208E7DBA8005087FC /* LuaExpressionTransform.h */, + AA6EFDE304770C79005F316C /* LyricsLoader.cpp */, + AA6EFDE404770C79005F316C /* LyricsLoader.h */, + AABE830D0A9524D400001678 /* ModsGroup.cpp */, + AA5A51F20A8441AA006DBB92 /* ModsGroup.h */, + AA6EFDE504770C79005F316C /* NoteData.cpp */, + AA6EFDE604770C79005F316C /* NoteData.h */, + AA4F38C004E2D0B700D02EE9 /* NoteDataUtil.cpp */, + AA4F38C104E2D0B700D02EE9 /* NoteDataUtil.h */, + AA6EFDE704770C79005F316C /* NoteDataWithScoring.cpp */, + AA6EFDE804770C79005F316C /* NoteDataWithScoring.h */, + AA6EFDFB04770C79005F316C /* NoteTypes.cpp */, + AA6EFDFC04770C79005F316C /* NoteTypes.h */, + AA80C75707F20D6600C99272 /* OptionRowHandler.cpp */, + AA80C75807F20D6600C99272 /* OptionRowHandler.h */, + AA6EFDFF04770C79005F316C /* PlayerAI.cpp */, + AA6EFE0004770C79005F316C /* PlayerAI.h */, + AA6EFE0104770C79005F316C /* PlayerNumber.cpp */, + AA6EFE0204770C79005F316C /* PlayerNumber.h */, + AA6EFE0304770C79005F316C /* PlayerOptions.cpp */, + AA6EFE0404770C79005F316C /* PlayerOptions.h */, + AA8BD2B807C939F800EA04E1 /* PlayerStageStats.cpp */, + AA8BD2B907C939F800EA04E1 /* PlayerStageStats.h */, + AA8BD2BA07C939F800EA04E1 /* PlayerState.cpp */, + AAEBC78F07A4FF5600793F0E /* PlayerState.h */, + AA1B083B0762532800835464 /* Preference.cpp */, + AA54709106F559DF008EB9B2 /* Preference.h */, + AA50201D05D6D7B200ACEFD0 /* Profile.cpp */, + AA50201E05D6D7B200ACEFD0 /* Profile.h */, + AA3D78FF06A275E90064B980 /* RadarValues.cpp */, + AA3D790006A275E90064B980 /* RadarValues.h */, + AA6E01E6047720A3005F316C /* RandomSample.cpp */, + AA6E01E7047720A3005F316C /* RandomSample.h */, + AAEBF55E0B5C517E005F3C7C /* SampleHistory.cpp */, + AAEBF55F0B5C517E005F3C7C /* SampleHistory.h */, + AAE2D6D30A67481E00071546 /* ScoreKeeper.cpp */, + AA6EFF3004770F63005F316C /* ScoreKeeper.h */, + AAB779F90B0D9CB200B74314 /* ScoreKeeperGuitar.cpp */, + AAB779FA0B0D9CB200B74314 /* ScoreKeeperGuitar.h */, + AAF34ADC0900AEBD0006EDB7 /* ScoreKeeperNormal.cpp */, + AAF34ADD0900AEBD0006EDB7 /* ScoreKeeperNormal.h */, + AAE443F304B0FEB700D02EE9 /* ScoreKeeperRave.cpp */, + AAE443F404B0FEB700D02EE9 /* ScoreKeeperRave.h */, + AAAA11C50A662F9C00B2BD88 /* ScoreKeeperShared.cpp */, + AAAA11C40A662F9C00B2BD88 /* ScoreKeeperShared.h */, + AA6E01E20477205A005F316C /* Song.cpp */, + AA7CDD930D8395F90001DAFC /* Song.h */, + AA6EFE0704770C79005F316C /* SongOptions.cpp */, + AA6EFE0804770C79005F316C /* SongOptions.h */, + B75CE3B4137963350076A82D /* SongPosition.cpp */, + B75CE3B3137963350076A82D /* SongPosition.h */, + AA5C73F90637A5F000AFB891 /* SongUtil.cpp */, + AA5C73FA0637A5F000AFB891 /* SongUtil.h */, + AAEBF57C0B5C83F4005F3C7C /* SoundEffectControl.cpp */, + AAEBF57D0B5C83F4005F3C7C /* SoundEffectControl.h */, + AA6EFE0904770C79005F316C /* StageStats.cpp */, + AA6EFE0A04770C79005F316C /* StageStats.h */, + AAF430FD04DC98BC00D02EE9 /* Steps.cpp */, + AAF430FE04DC98BC00D02EE9 /* Steps.h */, + AA5C73FB0637A5F000AFB891 /* StepsUtil.cpp */, + AA5C73FC0637A5F000AFB891 /* StepsUtil.h */, + AA139C4606923EBE00C1F6ED /* Style.cpp */, + AA25200D0587225500027ACB /* Style.h */, + AA3A706006AA1645006F755E /* StyleUtil.cpp */, + AA3A706106AA1645006F755E /* StyleUtil.h */, + AA21D5A10712AE16008B825F /* ThemeMetric.h */, + AA729C420599B50D00779F33 /* TimingData.cpp */, + AA729C430599B50D00779F33 /* TimingData.h */, + 2B43509413949F37006FA051 /* TimingSegments.cpp */, + 2B43509313949F37006FA051 /* TimingSegments.h */, + AA6EFE0E04770C79005F316C /* TitleSubstitution.cpp */, + AA6EFE0F04770C79005F316C /* TitleSubstitution.h */, + AA70E3650663112800DAE1FD /* Trail.cpp */, + AA70E3660663112800DAE1FD /* Trail.h */, + AA70E3670663112800DAE1FD /* TrailUtil.cpp */, + AA70E3680663112800DAE1FD /* TrailUtil.h */, + AA07328C0954381800F396C5 /* XmlFileUtil.cpp */, + AA07328D0954381800F396C5 /* XmlFileUtil.h */, + ); + name = DataStructures; + sourceTree = ""; + }; + AA6EFE5704770C7E005F316C /* FileTypes */ = { + isa = PBXGroup; + children = ( + AA6EFE5804770CAA005F316C /* IniFile.cpp */, + AA6EFE5904770CAA005F316C /* IniFile.h */, + AA6EFE5A04770CAA005F316C /* MsdFile.cpp */, + AA6EFE5B04770CAA005F316C /* MsdFile.h */, + AAC6889905D7F3C800964E6D /* XmlFile.cpp */, + AAC6889A05D7F3C800964E6D /* XmlFile.h */, + ); + name = FileTypes; + sourceTree = ""; + }; + AA6EFE6A04770D01005F316C /* StepMania */ = { + isa = PBXGroup; + children = ( + AAFAB5CB08890B5200767BF7 /* GameLoop.cpp */, + AAFAB5CC08890B5200767BF7 /* GameLoop.h */, + AAA71EA005EE154E00D2E8FF /* global.cpp */, + AA6EFE6004770CF7005F316C /* global.h */, + AAADA4AE04E5F3DE00D02EE9 /* ProductInfo.h */, + AAFBEECF094D7FCB000029DE /* SpecialFiles.cpp */, + AAFBEED0094D7FCB000029DE /* SpecialFiles.h */, + AA6EFE6204770CF7005F316C /* StdString.h */, + AA6EFE6304770CF7005F316C /* StepMania.cpp */, + AA6EFE6404770CF7005F316C /* StepMania.h */, + ); + name = StepMania; + path = ../src; + sourceTree = ""; + }; + AA6EFE6D04770D3E005F316C /* ActorsInMenus */ = { + isa = PBXGroup; + children = ( + AA6EFE6E04770D61005F316C /* Banner.cpp */, + AA6EFE6F04770D61005F316C /* Banner.h */, + AA6EFE7604770E7C005F316C /* BPMDisplay.cpp */, + AA6EFE7704770E7C005F316C /* BPMDisplay.h */, + AAFF55210549F43A00D02EE9 /* ComboGraph.cpp */, + AAFF55220549F43A00D02EE9 /* ComboGraph.h */, + AA69995F0ACE1CBB000237F9 /* ControllerStateDisplay.cpp */, + AA6999600ACE1CBB000237F9 /* ControllerStateDisplay.h */, + AA6EFE7804770E7C005F316C /* CourseContentsList.cpp */, + AA6EFE7904770E7C005F316C /* CourseContentsList.h */, + AA6EFE7E04770E7C005F316C /* DifficultyIcon.cpp */, + AA6EFE7F04770E7C005F316C /* DifficultyIcon.h */, + AAC6DDE60569C80900B5D56F /* DifficultyList.cpp */, + AAC6DDE70569C80900B5D56F /* DifficultyList.h */, + AABE788C05912B0600E8BF50 /* DualScrollBar.cpp */, + AABE788B05912B0600E8BF50 /* DualScrollBar.h */, + AA6EFE8404770E7C005F316C /* EditMenu.cpp */, + AA6EFE8504770E7C005F316C /* EditMenu.h */, + AA6EFE8A04770E7C005F316C /* FadingBanner.cpp */, + AA6EFE8B04770E7C005F316C /* FadingBanner.h */, + AA6EFE8C04770E7C005F316C /* GradeDisplay.cpp */, + AA6EFE8D04770E7C005F316C /* GradeDisplay.h */, + AAFF551D0549F39700D02EE9 /* GraphDisplay.cpp */, + AAFF551E0549F39700D02EE9 /* GraphDisplay.h */, + AA6EFE9004770E7C005F316C /* GrooveRadar.cpp */, + AA6EFE9104770E7C005F316C /* GrooveRadar.h */, + AA6EFE9404770E7C005F316C /* HelpDisplay.cpp */, + AA6EFE9504770E7C005F316C /* HelpDisplay.h */, + B71A60BE139B41DB00183A27 /* InGameLoadingWindow.cpp */, + B71A60BF139B41DB00183A27 /* InGameLoadingWindow.h */, + AA729C460599B54D00779F33 /* MemoryCardDisplay.cpp */, + AA729C470599B54D00779F33 /* MemoryCardDisplay.h */, + AA6EFE9A04770E7C005F316C /* MenuTimer.cpp */, + AA6EFE9B04770E7C005F316C /* MenuTimer.h */, + AA6EFE9C04770E7C005F316C /* MeterDisplay.cpp */, + AA6EFE9D04770E7C005F316C /* MeterDisplay.h */, + AA11A20B0DC5A1B0006BD8AC /* ModIcon.cpp */, + AA11A20C0DC5A1B0006BD8AC /* ModIcon.h */, + AA11A20D0DC5A1B0006BD8AC /* ModIconRow.cpp */, + AA11A20E0DC5A1B0006BD8AC /* ModIconRow.h */, + AA6EFEA404770E7C005F316C /* MusicWheel.cpp */, + AA6EFEA504770E7C005F316C /* MusicWheel.h */, + AA6EFEA604770E7C005F316C /* MusicWheelItem.cpp */, + AA6EFEA704770E7C005F316C /* MusicWheelItem.h */, + AA8BD2B407C939A200EA04E1 /* OptionRow.cpp */, + AA8BD2B507C939A200EA04E1 /* OptionRow.h */, + AA6EFEAC04770E7C005F316C /* OptionsCursor.cpp */, + AA6EFEAD04770E7C005F316C /* OptionsCursor.h */, + AA05A0AE0BA2EFF3006F8139 /* OptionsList.cpp */, + AA05A0AF0BA2EFF3006F8139 /* OptionsList.h */, + AAC6DDDE0569C71000B5D56F /* PaneDisplay.cpp */, + AAC6DDDF0569C71000B5D56F /* PaneDisplay.h */, + AAFE711D0A91B551005F2290 /* RoomInfoDisplay.cpp */, + AAFE711E0A91B551005F2290 /* RoomInfoDisplay.h */, + AAAFE82E0835E8B100FC43E0 /* RoomWheel.cpp */, + AAAFE82F0835E8B100FC43E0 /* RoomWheel.h */, + AA6EFEAE04770E7C005F316C /* ScrollBar.cpp */, + AA6EFEAF04770E7C005F316C /* ScrollBar.h */, + AA6EFEB204770E7C005F316C /* SnapDisplay.cpp */, + AA6EFEB304770E7C005F316C /* SnapDisplay.h */, + EEC7863D0E58208B00F559BC /* StepsDisplay.cpp */, + EEC7863E0E58208B00F559BC /* StepsDisplay.h */, + AA6EFEB404770E7C005F316C /* TextBanner.cpp */, + AA6EFEB504770E7C005F316C /* TextBanner.h */, + AA6EFF7004770F86005F316C /* Transition.cpp */, + AA6EFF7104770F86005F316C /* Transition.h */, + AAAFE81C0835E7FF00FC43E0 /* WheelBase.cpp */, + AAAFE81D0835E7FF00FC43E0 /* WheelBase.h */, + AAAFE81E0835E7FF00FC43E0 /* WheelItemBase.cpp */, + AAAFE81F0835E7FF00FC43E0 /* WheelItemBase.h */, + AA6EFEB604770E7C005F316C /* WheelNotifyIcon.cpp */, + AA6EFEB704770E7C005F316C /* WheelNotifyIcon.h */, + ); + name = ActorsInMenus; + sourceTree = ""; + }; + AA6EFEFA04770E84005F316C /* ActorsInGameplay */ = { + isa = PBXGroup; + children = ( + AAE7812B0608249E0034E65F /* ActiveAttackList.cpp */, + AAE7812C0608249E0034E65F /* ActiveAttackList.h */, + AA6EFEFD04770F63005F316C /* ArrowEffects.cpp */, + AA6EFEFE04770F63005F316C /* ArrowEffects.h */, + AAB005F00579B8CB000BBA58 /* AttackDisplay.cpp */, + AAB005F10579B8CB000BBA58 /* AttackDisplay.h */, + AA6EFEFF04770F63005F316C /* Background.cpp */, + AA6EFF0004770F63005F316C /* Background.h */, + AAC28BB904F758E500D02EE9 /* BeginnerHelper.cpp */, + AAC28BBA04F758E500D02EE9 /* BeginnerHelper.h */, + AA9D236C0561B6CE00FC7F14 /* CombinedLifeMeter.h */, + AAE443EB04B0F9F600D02EE9 /* CombinedLifeMeterTug.cpp */, + AAE443EC04B0F9F600D02EE9 /* CombinedLifeMeterTug.h */, + AA6EFF0704770F63005F316C /* DancingCharacters.cpp */, + AA6EFF0804770F63005F316C /* DancingCharacters.h */, + AABE321E05ACD931001A0E84 /* Foreground.cpp */, + AABE321F05ACD931001A0E84 /* Foreground.h */, + AA6EFF0D04770F63005F316C /* GhostArrowRow.cpp */, + AA6EFF0E04770F63005F316C /* GhostArrowRow.h */, + AA6EFF1504770F63005F316C /* HoldJudgment.cpp */, + AA6EFF1604770F63005F316C /* HoldJudgment.h */, + AA6EFDE104770C79005F316C /* Inventory.cpp */, + AA6EFDE204770C79005F316C /* Inventory.h */, + AA2FB638091212AF000FD574 /* LifeMeter.cpp */, + AA6EFF1A04770F63005F316C /* LifeMeter.h */, + AA6EFF1B04770F63005F316C /* LifeMeterBar.cpp */, + AA6EFF1C04770F63005F316C /* LifeMeterBar.h */, + AA6EFF1D04770F63005F316C /* LifeMeterBattery.cpp */, + AA6EFF1E04770F63005F316C /* LifeMeterBattery.h */, + AA3D5E5A08214C77002AA665 /* LifeMeterTime.cpp */, + AA3D5E5B08214C77002AA665 /* LifeMeterTime.h */, + AA6EFF1F04770F63005F316C /* LyricDisplay.cpp */, + AA6EFF2004770F63005F316C /* LyricDisplay.h */, + AA6EFF2104770F63005F316C /* NoteDisplay.cpp */, + AA6EFF2204770F63005F316C /* NoteDisplay.h */, + AA6EFF2304770F63005F316C /* NoteField.cpp */, + AA6EFF2404770F63005F316C /* NoteField.h */, + AAD620A5052EC78B00D02EE9 /* PercentageDisplay.cpp */, + AAD620A6052EC78B00D02EE9 /* PercentageDisplay.h */, + AA6EFDFD04770C79005F316C /* Player.cpp */, + AA6EFDFE04770C79005F316C /* Player.h */, + AA729C4E0599B58D00779F33 /* ReceptorArrow.cpp */, + AA729C4F0599B58D00779F33 /* ReceptorArrow.h */, + AA729C500599B58D00779F33 /* ReceptorArrowRow.cpp */, + AA729C510599B58D00779F33 /* ReceptorArrowRow.h */, + AA6EFF2504770F63005F316C /* ScoreDisplay.cpp */, + AA6EFF2604770F63005F316C /* ScoreDisplay.h */, + AA7144AF0809EEEC00545684 /* ScoreDisplayAliveTime.cpp */, + AA7144B00809EEEC00545684 /* ScoreDisplayAliveTime.h */, + AA6EFF2704770F63005F316C /* ScoreDisplayBattle.cpp */, + AA6EFF2804770F63005F316C /* ScoreDisplayBattle.h */, + AA8BD2BD07C939F800EA04E1 /* ScoreDisplayCalories.cpp */, + AA8BD2BE07C939F800EA04E1 /* ScoreDisplayCalories.h */, + AA3D5E5C08214C77002AA665 /* ScoreDisplayLifeTime.cpp */, + AA3D5E5D08214C77002AA665 /* ScoreDisplayLifeTime.h */, + AA6EFF2904770F63005F316C /* ScoreDisplayNormal.cpp */, + AA6EFF2A04770F63005F316C /* ScoreDisplayNormal.h */, + AA6EFF2B04770F63005F316C /* ScoreDisplayOni.cpp */, + AA6EFF2C04770F63005F316C /* ScoreDisplayOni.h */, + AA6DAF0805300B3D00D02EE9 /* ScoreDisplayPercentage.cpp */, + AA6DAF0905300B3D00D02EE9 /* ScoreDisplayPercentage.h */, + AA6EFF2D04770F63005F316C /* ScoreDisplayRave.cpp */, + AA6EFF2E04770F63005F316C /* ScoreDisplayRave.h */, + AA3D5E8F082152B6002AA665 /* StreamDisplay.cpp */, + AA3D5E90082152B6002AA665 /* StreamDisplay.h */, + AAE7803C0AC76A1200AEFC64 /* WorkoutGraph.cpp */, + AAE7803D0AC76A1200AEFC64 /* WorkoutGraph.h */, + ); + name = ActorsInGameplay; + sourceTree = ""; + }; + AA6EFF7404770F8B005F316C /* Actors */ = { + isa = PBXGroup; + children = ( + AA6EFF7504770FFD005F316C /* Actor.cpp */, + AA6EFF7604770FFD005F316C /* Actor.h */, + AA6EFF7704770FFD005F316C /* ActorFrame.cpp */, + AA6EFF7804770FFD005F316C /* ActorFrame.h */, + AA5D166A0A798C0E00F17E86 /* ActorFrameTexture.cpp */, + AA5D166B0A798C0E00F17E86 /* ActorFrameTexture.h */, + AA059ABA0B8CCFB5006F8139 /* ActorMultiTexture.cpp */, + AA059ABB0B8CCFB5006F8139 /* ActorMultiTexture.h */, + AAFE71090A91ADE6005F2290 /* ActorProxy.cpp */, + AAFE710A0A91ADE6005F2290 /* ActorProxy.h */, + AA6EFF7904770FFD005F316C /* ActorScroller.cpp */, + AA6EFF7A04770FFD005F316C /* ActorScroller.h */, + AACFBE2608E7D793005087FC /* ActorSound.cpp */, + AACFBE2708E7D793005087FC /* ActorSound.h */, + AAA983CA04B9060A00D02EE9 /* ActorUtil.cpp */, + AA1DC47204A485E900D02EE9 /* ActorUtil.h */, + AA8BD2AF07C9395400EA04E1 /* AutoActor.cpp */, + AA8BD2B007C9395400EA04E1 /* AutoActor.h */, + AA6EFF0104770F63005F316C /* BGAnimation.cpp */, + AA6EFF0204770F63005F316C /* BGAnimation.h */, + AA6EFF0304770F63005F316C /* BGAnimationLayer.cpp */, + AA6EFF0404770F63005F316C /* BGAnimationLayer.h */, + AA6EFFB904770FFD005F316C /* BitmapText.cpp */, + AA6EFFBA04770FFD005F316C /* BitmapText.h */, + AAF3442908F1C36A0006EDB7 /* DynamicActorScroller.cpp */, + AAF3442A08F1C36A0006EDB7 /* DynamicActorScroller.h */, + AA6EFFBD04770FFD005F316C /* Model.cpp */, + AA6EFFBE04770FFD005F316C /* Model.h */, + AA6EFFBF04770FFD005F316C /* ModelTypes.cpp */, + AA6EFFC004770FFD005F316C /* ModelTypes.h */, + AA6E6E0907F518E800C3EBB4 /* Quad.cpp */, + AA6EFFC104770FFD005F316C /* Quad.h */, + AA8BD2BB07C939F800EA04E1 /* RollingNumbers.cpp */, + AA8BD2BC07C939F800EA04E1 /* RollingNumbers.h */, + AA6EFFC204770FFD005F316C /* Sprite.cpp */, + AA6EFFC304770FFD005F316C /* Sprite.h */, + AAC0C8C00984AE3B0075FC53 /* Tween.cpp */, + AAC0C8C10984AE3B0075FC53 /* Tween.h */, + ); + name = Actors; + sourceTree = ""; + }; + AA7C8A7F0B6744F600FD9940 /* libtommath */ = { + isa = PBXGroup; + children = ( + AA7C8A800B6744F600FD9940 /* bn_error.c */, + AA7C8A810B6744F600FD9940 /* bn_fast_mp_invmod.c */, + AA7C8A820B6744F600FD9940 /* bn_fast_mp_montgomery_reduce.c */, + AA7C8A830B6744F600FD9940 /* bn_fast_s_mp_mul_digs.c */, + AA7C8A840B6744F600FD9940 /* bn_fast_s_mp_mul_high_digs.c */, + AA7C8A850B6744F600FD9940 /* bn_fast_s_mp_sqr.c */, + AA7C8A860B6744F600FD9940 /* bn_mp_2expt.c */, + AA7C8A870B6744F600FD9940 /* bn_mp_abs.c */, + AA7C8A880B6744F600FD9940 /* bn_mp_add.c */, + AA7C8A890B6744F600FD9940 /* bn_mp_add_d.c */, + AA7C8A8A0B6744F600FD9940 /* bn_mp_addmod.c */, + AA7C8A8B0B6744F600FD9940 /* bn_mp_and.c */, + AA7C8A8C0B6744F600FD9940 /* bn_mp_clamp.c */, + AA7C8A8D0B6744F600FD9940 /* bn_mp_clear.c */, + AA7C8A8E0B6744F600FD9940 /* bn_mp_clear_multi.c */, + AA7C8A8F0B6744F600FD9940 /* bn_mp_cmp.c */, + AA7C8A900B6744F600FD9940 /* bn_mp_cmp_d.c */, + AA7C8A910B6744F600FD9940 /* bn_mp_cmp_mag.c */, + AA7C8A920B6744F600FD9940 /* bn_mp_cnt_lsb.c */, + AA7C8A930B6744F600FD9940 /* bn_mp_copy.c */, + AA7C8A940B6744F600FD9940 /* bn_mp_count_bits.c */, + AA7C8A950B6744F600FD9940 /* bn_mp_div.c */, + AA7C8A960B6744F600FD9940 /* bn_mp_div_2.c */, + AA7C8A970B6744F600FD9940 /* bn_mp_div_2d.c */, + AA7C8A980B6744F600FD9940 /* bn_mp_div_3.c */, + AA7C8A990B6744F600FD9940 /* bn_mp_div_d.c */, + AA7C8A9A0B6744F600FD9940 /* bn_mp_dr_is_modulus.c */, + AA7C8A9B0B6744F600FD9940 /* bn_mp_dr_reduce.c */, + AA7C8A9C0B6744F600FD9940 /* bn_mp_dr_setup.c */, + AA7C8A9D0B6744F600FD9940 /* bn_mp_exch.c */, + AA7C8A9E0B6744F600FD9940 /* bn_mp_expt_d.c */, + AA7C8A9F0B6744F600FD9940 /* bn_mp_exptmod.c */, + AA7C8AA00B6744F600FD9940 /* bn_mp_exptmod_fast.c */, + AA7C8AA10B6744F600FD9940 /* bn_mp_exteuclid.c */, + AA7C8AA20B6744F600FD9940 /* bn_mp_fread.c */, + AA7C8AA30B6744F600FD9940 /* bn_mp_fwrite.c */, + AA7C8AA40B6744F600FD9940 /* bn_mp_gcd.c */, + AA7C8AA50B6744F600FD9940 /* bn_mp_get_int.c */, + AA7C8AA60B6744F600FD9940 /* bn_mp_grow.c */, + AA7C8AA70B6744F600FD9940 /* bn_mp_init.c */, + AA7C8AA80B6744F600FD9940 /* bn_mp_init_copy.c */, + AA7C8AA90B6744F600FD9940 /* bn_mp_init_multi.c */, + AA7C8AAA0B6744F600FD9940 /* bn_mp_init_set.c */, + AA7C8AAB0B6744F600FD9940 /* bn_mp_init_set_int.c */, + AA7C8AAC0B6744F600FD9940 /* bn_mp_init_size.c */, + AA7C8AAD0B6744F600FD9940 /* bn_mp_invmod.c */, + AA7C8AAE0B6744F600FD9940 /* bn_mp_invmod_slow.c */, + AA7C8AAF0B6744F600FD9940 /* bn_mp_is_square.c */, + AA7C8AB00B6744F600FD9940 /* bn_mp_jacobi.c */, + AA7C8AB10B6744F600FD9940 /* bn_mp_karatsuba_mul.c */, + AA7C8AB20B6744F600FD9940 /* bn_mp_karatsuba_sqr.c */, + AA7C8AB30B6744F600FD9940 /* bn_mp_lcm.c */, + AA7C8AB40B6744F700FD9940 /* bn_mp_lshd.c */, + AA7C8AB50B6744F700FD9940 /* bn_mp_mod.c */, + AA7C8AB60B6744F700FD9940 /* bn_mp_mod_2d.c */, + AA7C8AB70B6744F700FD9940 /* bn_mp_mod_d.c */, + AA7C8AB80B6744F700FD9940 /* bn_mp_montgomery_calc_normalization.c */, + AA7C8AB90B6744F700FD9940 /* bn_mp_montgomery_reduce.c */, + AA7C8ABA0B6744F700FD9940 /* bn_mp_montgomery_setup.c */, + AA7C8ABB0B6744F700FD9940 /* bn_mp_mul.c */, + AA7C8ABC0B6744F700FD9940 /* bn_mp_mul_2.c */, + AA7C8ABD0B6744F700FD9940 /* bn_mp_mul_2d.c */, + AA7C8ABE0B6744F700FD9940 /* bn_mp_mul_d.c */, + AA7C8ABF0B6744F700FD9940 /* bn_mp_mulmod.c */, + AA7C8AC00B6744F700FD9940 /* bn_mp_n_root.c */, + AA7C8AC10B6744F700FD9940 /* bn_mp_neg.c */, + AA7C8AC20B6744F700FD9940 /* bn_mp_or.c */, + AA7C8AC30B6744F700FD9940 /* bn_mp_prime_fermat.c */, + AA7C8AC40B6744F700FD9940 /* bn_mp_prime_is_divisible.c */, + AA7C8AC50B6744F700FD9940 /* bn_mp_prime_is_prime.c */, + AA7C8AC60B6744F700FD9940 /* bn_mp_prime_miller_rabin.c */, + AA7C8AC70B6744F700FD9940 /* bn_mp_prime_next_prime.c */, + AA7C8AC80B6744F700FD9940 /* bn_mp_prime_rabin_miller_trials.c */, + AA7C8AC90B6744F700FD9940 /* bn_mp_prime_random_ex.c */, + AA7C8ACA0B6744F700FD9940 /* bn_mp_radix_size.c */, + AA7C8ACB0B6744F700FD9940 /* bn_mp_radix_smap.c */, + AA7C8ACC0B6744F700FD9940 /* bn_mp_rand.c */, + AA7C8ACD0B6744F700FD9940 /* bn_mp_read_radix.c */, + AA7C8ACE0B6744F700FD9940 /* bn_mp_read_signed_bin.c */, + AA7C8ACF0B6744F700FD9940 /* bn_mp_read_unsigned_bin.c */, + AA7C8AD00B6744F700FD9940 /* bn_mp_reduce.c */, + AA7C8AD10B6744F700FD9940 /* bn_mp_reduce_2k.c */, + AA7C8AD20B6744F700FD9940 /* bn_mp_reduce_2k_l.c */, + AA7C8AD30B6744F700FD9940 /* bn_mp_reduce_2k_setup.c */, + AA7C8AD40B6744F700FD9940 /* bn_mp_reduce_2k_setup_l.c */, + AA7C8AD50B6744F700FD9940 /* bn_mp_reduce_is_2k.c */, + AA7C8AD60B6744F700FD9940 /* bn_mp_reduce_is_2k_l.c */, + AA7C8AD70B6744F700FD9940 /* bn_mp_reduce_setup.c */, + AA7C8AD80B6744F700FD9940 /* bn_mp_rshd.c */, + AA7C8AD90B6744F700FD9940 /* bn_mp_set.c */, + AA7C8ADA0B6744F700FD9940 /* bn_mp_set_int.c */, + AA7C8ADB0B6744F700FD9940 /* bn_mp_shrink.c */, + AA7C8ADC0B6744F700FD9940 /* bn_mp_signed_bin_size.c */, + AA7C8ADD0B6744F700FD9940 /* bn_mp_sqr.c */, + AA7C8ADE0B6744F700FD9940 /* bn_mp_sqrmod.c */, + AA7C8ADF0B6744F700FD9940 /* bn_mp_sqrt.c */, + AA7C8AE00B6744F700FD9940 /* bn_mp_sub.c */, + AA7C8AE10B6744F700FD9940 /* bn_mp_sub_d.c */, + AA7C8AE20B6744F700FD9940 /* bn_mp_submod.c */, + AA7C8AE30B6744F700FD9940 /* bn_mp_to_signed_bin.c */, + AA7C8AE40B6744F700FD9940 /* bn_mp_to_signed_bin_n.c */, + AA7C8AE50B6744F700FD9940 /* bn_mp_to_unsigned_bin.c */, + AA7C8AE60B6744F700FD9940 /* bn_mp_to_unsigned_bin_n.c */, + AA7C8AE70B6744F700FD9940 /* bn_mp_toom_mul.c */, + AA7C8AE80B6744F700FD9940 /* bn_mp_toom_sqr.c */, + AA7C8AE90B6744F700FD9940 /* bn_mp_toradix.c */, + AA7C8AEA0B6744F700FD9940 /* bn_mp_toradix_n.c */, + AA7C8AEB0B6744F700FD9940 /* bn_mp_unsigned_bin_size.c */, + AA7C8AEC0B6744F700FD9940 /* bn_mp_xor.c */, + AA7C8AED0B6744F700FD9940 /* bn_mp_zero.c */, + AA7C8AEE0B6744F700FD9940 /* bn_prime_tab.c */, + AA7C8AEF0B6744F700FD9940 /* bn_reverse.c */, + AA7C8AF00B6744F700FD9940 /* bn_s_mp_add.c */, + AA7C8AF10B6744F700FD9940 /* bn_s_mp_exptmod.c */, + AA7C8AF20B6744F700FD9940 /* bn_s_mp_mul_digs.c */, + AA7C8AF30B6744F700FD9940 /* bn_s_mp_mul_high_digs.c */, + AA7C8AF40B6744F700FD9940 /* bn_s_mp_sqr.c */, + AA7C8AF50B6744F700FD9940 /* bn_s_mp_sub.c */, + AA7C8AF60B6744F700FD9940 /* bncore.c */, + AA7C8AF90B6744F700FD9940 /* tommath.h */, + AA7C8AFA0B6744F700FD9940 /* tommath_class.h */, + AA7C8AFB0B6744F700FD9940 /* tommath_superclass.h */, + ); + name = libtommath; + path = ../src/libtommath; + sourceTree = ""; + }; + AA7C8B920B67467C00FD9940 /* libtomcrypt */ = { + isa = PBXGroup; + children = ( + AA7C8B930B67467C00FD9940 /* ciphers */, + AA7C8B970B67467C00FD9940 /* hashes */, + AA7C8B9C0B67467C00FD9940 /* headers */, + AA7C8BAA0B67467C00FD9940 /* math */, + AA7C8BB00B67467C00FD9940 /* misc */, + AA7C8BD30B67467C00FD9940 /* modes */, + AA7C8BF60B67467C00FD9940 /* pk */, + AA7C8C4D0B67467D00FD9940 /* prngs */, + ); + name = libtomcrypt; + path = ../src/libtomcrypt/src; + sourceTree = ""; + }; + AA7C8B930B67467C00FD9940 /* ciphers */ = { + isa = PBXGroup; + children = ( + AA7C8B940B67467C00FD9940 /* aes */, + ); + path = ciphers; + sourceTree = ""; + }; + AA7C8B940B67467C00FD9940 /* aes */ = { + isa = PBXGroup; + children = ( + AA7C8B950B67467C00FD9940 /* aes.c */, + AA7C8B960B67467C00FD9940 /* aes_tab.c */, + ); + path = aes; + sourceTree = ""; + }; + AA7C8B970B67467C00FD9940 /* hashes */ = { + isa = PBXGroup; + children = ( + AA7C8B980B67467C00FD9940 /* helper */, + AA7C8B9A0B67467C00FD9940 /* md5.c */, + AA7C8B9B0B67467C00FD9940 /* sha1.c */, + ); + path = hashes; + sourceTree = ""; + }; + AA7C8B980B67467C00FD9940 /* helper */ = { + isa = PBXGroup; + children = ( + AA7C8B990B67467C00FD9940 /* hash_memory.c */, + ); + path = helper; + sourceTree = ""; + }; + AA7C8B9C0B67467C00FD9940 /* headers */ = { + isa = PBXGroup; + children = ( + AA7C8B9D0B67467C00FD9940 /* tomcrypt.h */, + AA7C8B9E0B67467C00FD9940 /* tomcrypt_argchk.h */, + AA7C8B9F0B67467C00FD9940 /* tomcrypt_cfg.h */, + AA7C8BA00B67467C00FD9940 /* tomcrypt_cipher.h */, + AA7C8BA10B67467C00FD9940 /* tomcrypt_custom.h */, + AA7C8BA20B67467C00FD9940 /* tomcrypt_hash.h */, + AA7C8BA30B67467C00FD9940 /* tomcrypt_mac.h */, + AA7C8BA40B67467C00FD9940 /* tomcrypt_macros.h */, + AA7C8BA50B67467C00FD9940 /* tomcrypt_math.h */, + AA7C8BA60B67467C00FD9940 /* tomcrypt_misc.h */, + AA7C8BA70B67467C00FD9940 /* tomcrypt_pk.h */, + AA7C8BA80B67467C00FD9940 /* tomcrypt_pkcs.h */, + AA7C8BA90B67467C00FD9940 /* tomcrypt_prng.h */, + ); + path = headers; + sourceTree = ""; + }; + AA7C8BAA0B67467C00FD9940 /* math */ = { + isa = PBXGroup; + children = ( + AA7C8BAB0B67467C00FD9940 /* fp */, + AA7C8BAD0B67467C00FD9940 /* ltm_desc.c */, + AA7C8BAE0B67467C00FD9940 /* multi.c */, + AA7C8BAF0B67467C00FD9940 /* rand_prime.c */, + ); + path = math; + sourceTree = ""; + }; + AA7C8BAB0B67467C00FD9940 /* fp */ = { + isa = PBXGroup; + children = ( + AA7C8BAC0B67467C00FD9940 /* ltc_ecc_fp_mulmod.c */, + ); + path = fp; + sourceTree = ""; + }; + AA7C8BB00B67467C00FD9940 /* misc */ = { + isa = PBXGroup; + children = ( + AA7C8BB10B67467C00FD9940 /* base64 */, + AA7C8BB40B67467C00FD9940 /* burn_stack.c */, + AA7C8BB50B67467C00FD9940 /* crypt */, + AA7C8BCE0B67467C00FD9940 /* error_to_string.c */, + AA7C8BCF0B67467C00FD9940 /* pkcs5 */, + AA7C8BD20B67467C00FD9940 /* zeromem.c */, + ); + path = misc; + sourceTree = ""; + }; + AA7C8BB10B67467C00FD9940 /* base64 */ = { + isa = PBXGroup; + children = ( + AA7C8BB20B67467C00FD9940 /* base64_decode.c */, + AA7C8BB30B67467C00FD9940 /* base64_encode.c */, + ); + path = base64; + sourceTree = ""; + }; + AA7C8BB50B67467C00FD9940 /* crypt */ = { + isa = PBXGroup; + children = ( + AA7C8BB60B67467C00FD9940 /* crypt.c */, + AA7C8BB70B67467C00FD9940 /* crypt_argchk.c */, + AA7C8BB80B67467C00FD9940 /* crypt_cipher_descriptor.c */, + AA7C8BB90B67467C00FD9940 /* crypt_cipher_is_valid.c */, + AA7C8BBA0B67467C00FD9940 /* crypt_find_cipher.c */, + AA7C8BBB0B67467C00FD9940 /* crypt_find_cipher_any.c */, + AA7C8BBC0B67467C00FD9940 /* crypt_find_cipher_id.c */, + AA7C8BBD0B67467C00FD9940 /* crypt_find_hash.c */, + AA7C8BBE0B67467C00FD9940 /* crypt_find_hash_any.c */, + AA7C8BBF0B67467C00FD9940 /* crypt_find_hash_id.c */, + AA7C8BC00B67467C00FD9940 /* crypt_find_hash_oid.c */, + AA7C8BC10B67467C00FD9940 /* crypt_find_prng.c */, + AA7C8BC20B67467C00FD9940 /* crypt_fsa.c */, + AA7C8BC30B67467C00FD9940 /* crypt_hash_descriptor.c */, + AA7C8BC40B67467C00FD9940 /* crypt_hash_is_valid.c */, + AA7C8BC50B67467C00FD9940 /* crypt_ltc_mp_descriptor.c */, + AA7C8BC60B67467C00FD9940 /* crypt_prng_descriptor.c */, + AA7C8BC70B67467C00FD9940 /* crypt_prng_is_valid.c */, + AA7C8BC80B67467C00FD9940 /* crypt_register_cipher.c */, + AA7C8BC90B67467C00FD9940 /* crypt_register_hash.c */, + AA7C8BCA0B67467C00FD9940 /* crypt_register_prng.c */, + AA7C8BCB0B67467C00FD9940 /* crypt_unregister_cipher.c */, + AA7C8BCC0B67467C00FD9940 /* crypt_unregister_hash.c */, + AA7C8BCD0B67467C00FD9940 /* crypt_unregister_prng.c */, + ); + path = crypt; + sourceTree = ""; + }; + AA7C8BCF0B67467C00FD9940 /* pkcs5 */ = { + isa = PBXGroup; + children = ( + AA7C8BD00B67467C00FD9940 /* pkcs_5_1.c */, + AA7C8BD10B67467C00FD9940 /* pkcs_5_2.c */, + ); + path = pkcs5; + sourceTree = ""; + }; + AA7C8BD30B67467C00FD9940 /* modes */ = { + isa = PBXGroup; + children = ( + AA7C8BD40B67467C00FD9940 /* cbc */, + AA7C8BDB0B67467C00FD9940 /* cfb */, + AA7C8BE20B67467C00FD9940 /* ctr */, + AA7C8BEA0B67467C00FD9940 /* ecb */, + AA7C8BEF0B67467C00FD9940 /* ofb */, + ); + path = modes; + sourceTree = ""; + }; + AA7C8BD40B67467C00FD9940 /* cbc */ = { + isa = PBXGroup; + children = ( + AA7C8BD50B67467C00FD9940 /* cbc_decrypt.c */, + AA7C8BD60B67467C00FD9940 /* cbc_done.c */, + AA7C8BD70B67467C00FD9940 /* cbc_encrypt.c */, + AA7C8BD80B67467C00FD9940 /* cbc_getiv.c */, + AA7C8BD90B67467C00FD9940 /* cbc_setiv.c */, + AA7C8BDA0B67467C00FD9940 /* cbc_start.c */, + ); + path = cbc; + sourceTree = ""; + }; + AA7C8BDB0B67467C00FD9940 /* cfb */ = { + isa = PBXGroup; + children = ( + AA7C8BDC0B67467C00FD9940 /* cfb_decrypt.c */, + AA7C8BDD0B67467C00FD9940 /* cfb_done.c */, + AA7C8BDE0B67467C00FD9940 /* cfb_encrypt.c */, + AA7C8BDF0B67467C00FD9940 /* cfb_getiv.c */, + AA7C8BE00B67467C00FD9940 /* cfb_setiv.c */, + AA7C8BE10B67467C00FD9940 /* cfb_start.c */, + ); + path = cfb; + sourceTree = ""; + }; + AA7C8BE20B67467C00FD9940 /* ctr */ = { + isa = PBXGroup; + children = ( + AA7C8BE30B67467C00FD9940 /* ctr_decrypt.c */, + AA7C8BE40B67467C00FD9940 /* ctr_done.c */, + AA7C8BE50B67467C00FD9940 /* ctr_encrypt.c */, + AA7C8BE60B67467C00FD9940 /* ctr_getiv.c */, + AA7C8BE70B67467C00FD9940 /* ctr_setiv.c */, + AA7C8BE80B67467C00FD9940 /* ctr_start.c */, + AA7C8BE90B67467C00FD9940 /* ctr_test.c */, + ); + path = ctr; + sourceTree = ""; + }; + AA7C8BEA0B67467C00FD9940 /* ecb */ = { + isa = PBXGroup; + children = ( + AA7C8BEB0B67467C00FD9940 /* ecb_decrypt.c */, + AA7C8BEC0B67467C00FD9940 /* ecb_done.c */, + AA7C8BED0B67467C00FD9940 /* ecb_encrypt.c */, + AA7C8BEE0B67467C00FD9940 /* ecb_start.c */, + ); + path = ecb; + sourceTree = ""; + }; + AA7C8BEF0B67467C00FD9940 /* ofb */ = { + isa = PBXGroup; + children = ( + AA7C8BF00B67467C00FD9940 /* ofb_decrypt.c */, + AA7C8BF10B67467C00FD9940 /* ofb_done.c */, + AA7C8BF20B67467C00FD9940 /* ofb_encrypt.c */, + AA7C8BF30B67467C00FD9940 /* ofb_getiv.c */, + AA7C8BF40B67467C00FD9940 /* ofb_setiv.c */, + AA7C8BF50B67467C00FD9940 /* ofb_start.c */, + ); + path = ofb; + sourceTree = ""; + }; + AA7C8BF60B67467C00FD9940 /* pk */ = { + isa = PBXGroup; + children = ( + AA7C8BF70B67467C00FD9940 /* asn1 */, + AA7C8C2E0B67467D00FD9940 /* dsa */, + AA7C8C390B67467D00FD9940 /* pkcs1 */, + AA7C8C430B67467D00FD9940 /* rsa */, + ); + path = pk; + sourceTree = ""; + }; + AA7C8BF70B67467C00FD9940 /* asn1 */ = { + isa = PBXGroup; + children = ( + AA7C8BF80B67467C00FD9940 /* der */, + ); + path = asn1; + sourceTree = ""; + }; + AA7C8BF80B67467C00FD9940 /* der */ = { + isa = PBXGroup; + children = ( + AA7C8BF90B67467C00FD9940 /* bit */, + AA7C8BFD0B67467C00FD9940 /* boolean */, + AA7C8C010B67467C00FD9940 /* choice */, + AA7C8C030B67467C00FD9940 /* ia5 */, + AA7C8C070B67467D00FD9940 /* integer */, + AA7C8C0B0B67467D00FD9940 /* object_identifier */, + AA7C8C0F0B67467D00FD9940 /* octet */, + AA7C8C130B67467D00FD9940 /* printable_string */, + AA7C8C170B67467D00FD9940 /* sequence */, + AA7C8C1F0B67467D00FD9940 /* set */, + AA7C8C220B67467D00FD9940 /* short_integer */, + AA7C8C260B67467D00FD9940 /* utctime */, + AA7C8C2A0B67467D00FD9940 /* utf8 */, + ); + path = der; + sourceTree = ""; + }; + AA7C8BF90B67467C00FD9940 /* bit */ = { + isa = PBXGroup; + children = ( + AA7C8BFA0B67467C00FD9940 /* der_decode_bit_string.c */, + AA7C8BFB0B67467C00FD9940 /* der_encode_bit_string.c */, + AA7C8BFC0B67467C00FD9940 /* der_length_bit_string.c */, + ); + path = bit; + sourceTree = ""; + }; + AA7C8BFD0B67467C00FD9940 /* boolean */ = { + isa = PBXGroup; + children = ( + AA7C8BFE0B67467C00FD9940 /* der_decode_boolean.c */, + AA7C8BFF0B67467C00FD9940 /* der_encode_boolean.c */, + AA7C8C000B67467C00FD9940 /* der_length_boolean.c */, + ); + path = boolean; + sourceTree = ""; + }; + AA7C8C010B67467C00FD9940 /* choice */ = { + isa = PBXGroup; + children = ( + AA7C8C020B67467C00FD9940 /* der_decode_choice.c */, + ); + path = choice; + sourceTree = ""; + }; + AA7C8C030B67467C00FD9940 /* ia5 */ = { + isa = PBXGroup; + children = ( + AA7C8C040B67467C00FD9940 /* der_decode_ia5_string.c */, + AA7C8C050B67467D00FD9940 /* der_encode_ia5_string.c */, + AA7C8C060B67467D00FD9940 /* der_length_ia5_string.c */, + ); + path = ia5; + sourceTree = ""; + }; + AA7C8C070B67467D00FD9940 /* integer */ = { + isa = PBXGroup; + children = ( + AA7C8C080B67467D00FD9940 /* der_decode_integer.c */, + AA7C8C090B67467D00FD9940 /* der_encode_integer.c */, + AA7C8C0A0B67467D00FD9940 /* der_length_integer.c */, + ); + path = integer; + sourceTree = ""; + }; + AA7C8C0B0B67467D00FD9940 /* object_identifier */ = { + isa = PBXGroup; + children = ( + AA7C8C0C0B67467D00FD9940 /* der_decode_object_identifier.c */, + AA7C8C0D0B67467D00FD9940 /* der_encode_object_identifier.c */, + AA7C8C0E0B67467D00FD9940 /* der_length_object_identifier.c */, + ); + path = object_identifier; + sourceTree = ""; + }; + AA7C8C0F0B67467D00FD9940 /* octet */ = { + isa = PBXGroup; + children = ( + AA7C8C100B67467D00FD9940 /* der_decode_octet_string.c */, + AA7C8C110B67467D00FD9940 /* der_encode_octet_string.c */, + AA7C8C120B67467D00FD9940 /* der_length_octet_string.c */, + ); + path = octet; + sourceTree = ""; + }; + AA7C8C130B67467D00FD9940 /* printable_string */ = { + isa = PBXGroup; + children = ( + AA7C8C140B67467D00FD9940 /* der_decode_printable_string.c */, + AA7C8C150B67467D00FD9940 /* der_encode_printable_string.c */, + AA7C8C160B67467D00FD9940 /* der_length_printable_string.c */, + ); + path = printable_string; + sourceTree = ""; + }; + AA7C8C170B67467D00FD9940 /* sequence */ = { + isa = PBXGroup; + children = ( + AA7C8C180B67467D00FD9940 /* der_decode_sequence_ex.c */, + AA7C8C190B67467D00FD9940 /* der_decode_sequence_flexi.c */, + AA7C8C1A0B67467D00FD9940 /* der_decode_sequence_multi.c */, + AA7C8C1B0B67467D00FD9940 /* der_encode_sequence_ex.c */, + AA7C8C1C0B67467D00FD9940 /* der_encode_sequence_multi.c */, + AA7C8C1D0B67467D00FD9940 /* der_length_sequence.c */, + AA7C8C1E0B67467D00FD9940 /* der_sequence_free.c */, + ); + path = sequence; + sourceTree = ""; + }; + AA7C8C1F0B67467D00FD9940 /* set */ = { + isa = PBXGroup; + children = ( + AA7C8C200B67467D00FD9940 /* der_encode_set.c */, + AA7C8C210B67467D00FD9940 /* der_encode_setof.c */, + ); + path = set; + sourceTree = ""; + }; + AA7C8C220B67467D00FD9940 /* short_integer */ = { + isa = PBXGroup; + children = ( + AA7C8C230B67467D00FD9940 /* der_decode_short_integer.c */, + AA7C8C240B67467D00FD9940 /* der_encode_short_integer.c */, + AA7C8C250B67467D00FD9940 /* der_length_short_integer.c */, + ); + path = short_integer; + sourceTree = ""; + }; + AA7C8C260B67467D00FD9940 /* utctime */ = { + isa = PBXGroup; + children = ( + AA7C8C270B67467D00FD9940 /* der_decode_utctime.c */, + AA7C8C280B67467D00FD9940 /* der_encode_utctime.c */, + AA7C8C290B67467D00FD9940 /* der_length_utctime.c */, + ); + path = utctime; + sourceTree = ""; + }; + AA7C8C2A0B67467D00FD9940 /* utf8 */ = { + isa = PBXGroup; + children = ( + AA7C8C2B0B67467D00FD9940 /* der_decode_utf8_string.c */, + AA7C8C2C0B67467D00FD9940 /* der_encode_utf8_string.c */, + AA7C8C2D0B67467D00FD9940 /* der_length_utf8_string.c */, + ); + path = utf8; + sourceTree = ""; + }; + AA7C8C2E0B67467D00FD9940 /* dsa */ = { + isa = PBXGroup; + children = ( + AA7C8C2F0B67467D00FD9940 /* dsa_decrypt_key.c */, + AA7C8C300B67467D00FD9940 /* dsa_encrypt_key.c */, + AA7C8C310B67467D00FD9940 /* dsa_export.c */, + AA7C8C320B67467D00FD9940 /* dsa_free.c */, + AA7C8C330B67467D00FD9940 /* dsa_import.c */, + AA7C8C340B67467D00FD9940 /* dsa_make_key.c */, + AA7C8C350B67467D00FD9940 /* dsa_shared_secret.c */, + AA7C8C360B67467D00FD9940 /* dsa_sign_hash.c */, + AA7C8C370B67467D00FD9940 /* dsa_verify_hash.c */, + AA7C8C380B67467D00FD9940 /* dsa_verify_key.c */, + ); + path = dsa; + sourceTree = ""; + }; + AA7C8C390B67467D00FD9940 /* pkcs1 */ = { + isa = PBXGroup; + children = ( + AA7C8C3A0B67467D00FD9940 /* pkcs_1_i2osp.c */, + AA7C8C3B0B67467D00FD9940 /* pkcs_1_mgf1.c */, + AA7C8C3C0B67467D00FD9940 /* pkcs_1_oaep_decode.c */, + AA7C8C3D0B67467D00FD9940 /* pkcs_1_oaep_encode.c */, + AA7C8C3E0B67467D00FD9940 /* pkcs_1_os2ip.c */, + AA7C8C3F0B67467D00FD9940 /* pkcs_1_pss_decode.c */, + AA7C8C400B67467D00FD9940 /* pkcs_1_pss_encode.c */, + AA7C8C410B67467D00FD9940 /* pkcs_1_v1_5_decode.c */, + AA7C8C420B67467D00FD9940 /* pkcs_1_v1_5_encode.c */, + ); + path = pkcs1; + sourceTree = ""; + }; + AA7C8C430B67467D00FD9940 /* rsa */ = { + isa = PBXGroup; + children = ( + AA7C8C440B67467D00FD9940 /* rsa_decrypt_key.c */, + AA7C8C450B67467D00FD9940 /* rsa_encrypt_key.c */, + AA7C8C460B67467D00FD9940 /* rsa_export.c */, + AA7C8C470B67467D00FD9940 /* rsa_exptmod.c */, + AA7C8C480B67467D00FD9940 /* rsa_free.c */, + AA7C8C490B67467D00FD9940 /* rsa_import.c */, + AA7C8C4A0B67467D00FD9940 /* rsa_make_key.c */, + AA7C8C4B0B67467D00FD9940 /* rsa_sign_hash.c */, + AA7C8C4C0B67467D00FD9940 /* rsa_verify_hash.c */, + ); + path = rsa; + sourceTree = ""; + }; + AA7C8C4D0B67467D00FD9940 /* prngs */ = { + isa = PBXGroup; + children = ( + AA7C8C4E0B67467D00FD9940 /* fortuna.c */, + AA7C8C4F0B67467D00FD9940 /* rc4.c */, + AA7C8C500B67467D00FD9940 /* rng_get_bytes.c */, + AA7C8C510B67467D00FD9940 /* rng_make_prng.c */, + AA7C8C520B67467D00FD9940 /* sober128.c */, + AA7C8C530B67467D00FD9940 /* sober128tab.c */, + AA7C8C540B67467D00FD9940 /* sprng.c */, + AA7C8C550B67467D00FD9940 /* yarrow.c */, + ); + path = prngs; + sourceTree = ""; + }; + AA8B6C7804AFD82B00D02EE9 /* pcre */ = { + isa = PBXGroup; + children = ( + AA8B6C7904AFD87300D02EE9 /* chartables.c */, + AA8B6C7A04AFD87300D02EE9 /* get.c */, + AA8B6C7B04AFD87300D02EE9 /* internal.h */, + AA8B6C7C04AFD87300D02EE9 /* maketables.c */, + AA8B6C7D04AFD87300D02EE9 /* pcre.c */, + AA8B6C7E04AFD87300D02EE9 /* pcre.h */, + AA8B6C7F04AFD87300D02EE9 /* study.c */, + ); + name = pcre; + path = ../extern/pcre; + sourceTree = ""; + }; + AAA070B20CE7B3AD005A3060 /* mad-0.15.1b */ = { + isa = PBXGroup; + children = ( + AAA070B40CE7B3AD005A3060 /* bit.c */, + AAA070B50CE7B3AD005A3060 /* bit.h */, + AAA070C00CE7B3AD005A3060 /* decoder.c */, + AAA070C10CE7B3AD005A3060 /* decoder.h */, + AAA070C30CE7B3AD005A3060 /* fixed.c */, + AAA070C40CE7B3AD005A3060 /* fixed.h */, + AAA070C50CE7B3AD005A3060 /* frame.c */, + AAA070C60CE7B3AD005A3060 /* frame.h */, + AAA070C70CE7B3AD005A3060 /* global.h */, + AAA070C80CE7B3AD005A3060 /* huffman.c */, + AAA070C90CE7B3AD005A3060 /* huffman.h */, + AAA070CE0CE7B3AD005A3060 /* layer12.c */, + AAA070CF0CE7B3AD005A3060 /* layer12.h */, + AAA070D00CE7B3AD005A3060 /* layer3.c */, + AAA070D10CE7B3AD005A3060 /* layer3.h */, + AAA070D40CE7B3AD005A3060 /* mad.h */, + AAA070E80CE7B3AD005A3060 /* stream.c */, + AAA070E90CE7B3AD005A3060 /* stream.h */, + AAA070EA0CE7B3AD005A3060 /* synth.c */, + AAA070EB0CE7B3AD005A3060 /* synth.h */, + AAA070EC0CE7B3AD005A3060 /* timer.c */, + AAA070ED0CE7B3AD005A3060 /* timer.h */, + AAA070F00CE7B3AE005A3060 /* version.c */, + AAA070F10CE7B3AE005A3060 /* version.h */, + ); + name = "mad-0.15.1b"; + path = "../extern/mad-0.15.1b"; + sourceTree = ""; + }; + AAA3741C09099ADA00141131 /* Libraries */ = { + isa = PBXGroup; + children = ( + AAA0704D0CE5082D005A3060 /* libffmpeg_link.a */, + AA21E4730A9826CD00684CEA /* libjpeg_link.a */, + AA21E4750A9826CD00684CEA /* libogg_link.a */, + AA21E4770A9826CD00684CEA /* libtheora_link.a */, + AA21E4780A9826CD00684CEA /* libvorbis_link.a */, + AA059E2A0B8F0C66006F8139 /* libz_link.a */, + ); + path = Libraries; + sourceTree = ""; + }; + AABE36FE0497CE67005F316C /* ArchHooks */ = { + isa = PBXGroup; + children = ( + AA3F283B04BE6DDC00D02EE9 /* ArchHooks.cpp */, + AABE36FC0497CE44005F316C /* ArchHooks.h */, + AA6C6AD60DC6B17B00E7A13E /* ArchHooks_MacOSX.cpp */, + AA6C6AD70DC6B17B00E7A13E /* ArchHooks_MacOSX.h */, + ); + name = ArchHooks; + sourceTree = ""; + }; + AABE78720591287100E8BF50 /* MemoryCard */ = { + isa = PBXGroup; + children = ( + AAC9F332069E22CF00D53E2C /* MemoryCardDriver.cpp */, + AAC9F333069E22CF00D53E2C /* MemoryCardDriver.h */, + AABE78760591287100E8BF50 /* MemoryCardDriver_Null.h */, + AA6C6B060DC6B30E00E7A13E /* MemoryCardDriverThreaded_MacOSX.cpp */, + AA6C6B070DC6B30E00E7A13E /* MemoryCardDriverThreaded_MacOSX.h */, + ); + path = MemoryCard; + sourceTree = ""; + }; + AAC6DCED0567663800B5D56F /* Lights */ = { + isa = PBXGroup; + children = ( + AA909E480B45B93E002852D3 /* LightsDriver.cpp */, + AAC6DCEE0567663800B5D56F /* LightsDriver.h */, + AAB691F205704FA50078BED4 /* LightsDriver_SystemMessage.cpp */, + AAB691F305704FA50078BED4 /* LightsDriver_SystemMessage.h */, + ); + path = Lights; + sourceTree = ""; + }; + AAD675EE06795175006002B0 /* Dialog */ = { + isa = PBXGroup; + children = ( + AAD675EF06795175006002B0 /* Dialog.cpp */, + AAD675F006795175006002B0 /* Dialog.h */, + AA608EBF0B0F85E400B39AC4 /* DialogDriver.cpp */, + AAD675F106795175006002B0 /* DialogDriver.h */, + AA6C6ADC0DC6B1DC00E7A13E /* DialogDriver_MacOSX.cpp */, + AA6C6ADD0DC6B1DC00E7A13E /* DialogDriver_MacOSX.h */, + ); + path = Dialog; + sourceTree = ""; + }; + AADB4E8604D50FB900D02EE9 /* Unix */ = { + isa = PBXGroup; + children = ( + AAED6F280601C528002D2DEE /* Backtrace.cpp */, + AAED6F290601C528002D2DEE /* Backtrace.h */, + AAED6F2A0601C528002D2DEE /* BacktraceNames.cpp */, + AAED6F2B0601C528002D2DEE /* BacktraceNames.h */, + AA76D15404D9D2D200D02EE9 /* CrashHandler.cpp */, + AADB4E8804D50FB900D02EE9 /* CrashHandler.h */, + AA76D15504D9D2D200D02EE9 /* CrashHandlerChild.cpp */, + AADB4E8A04D50FB900D02EE9 /* CrashHandlerInternal.h */, + AADB4E8B04D50FB900D02EE9 /* SignalHandler.cpp */, + AADB4E8C04D50FB900D02EE9 /* SignalHandler.h */, + AA3E3DF009D96A1400A259C7 /* CrashHandlerInternal.cpp */, + ); + path = Unix; + sourceTree = ""; + }; + AADB4E8E04D5263200D02EE9 /* Darwin */ = { + isa = PBXGroup; + children = ( + AADB4E8F04D5263200D02EE9 /* arch_setup.h */, + AAEDFD680A03762B00590617 /* Crash.cpp */, + AADB4F5904D9220700D02EE9 /* Crash.h */, + AA8A3E6306EDCD11002F25AB /* DarwinThreadHelpers.cpp */, + AA8A3EC806EDDAE4002F25AB /* DarwinThreadHelpers.h */, + AA44705309846B0800983E82 /* HIDDevice.cpp */, + AA44705209846B0800983E82 /* HIDDevice.h */, + AA44708D0984720900983E82 /* JoystickDevice.cpp */, + AA44708C0984720900983E82 /* JoystickDevice.h */, + AA4470BB098476F600983E82 /* KeyboardDevice.cpp */, + AA4470BA098476F600983E82 /* KeyboardDevice.h */, + 2B30D6801315EA7E00044B68 /* MouseDevice.cpp */, + 2B30D6811315EA7E00044B68 /* MouseDevice.h */, + AA1F9C4609AF1BF5002C15A8 /* PumpDevice.cpp */, + AA1F9C4509AF1BF5002C15A8 /* PumpDevice.h */, + AABBFCD209838C3A00F077E2 /* SMMain.mm */, + AAD64AA10603FE7300EF8CDE /* StepMania.pch */, + AA147F190A0F78D8006EADF6 /* VectorHelper.cpp */, + AA147F180A0F78D8006EADF6 /* VectorHelper.h */, + ); + path = Darwin; + sourceTree = ""; + }; + AAE781870AC7E46E00AEFC64 /* lua-5.1 */ = { + isa = PBXGroup; + children = ( + 2BDB88B2137201F700E6FD3A /* lapi.c */, + 2BDB88B3137201F700E6FD3A /* lapi.h */, + 2BDB88B4137201F700E6FD3A /* lauxlib.c */, + 2BDB88B5137201F700E6FD3A /* lauxlib.h */, + 2BDB88B6137201F700E6FD3A /* lbaselib.c */, + 2BDB88B7137201F700E6FD3A /* lcode.c */, + 2BDB88B8137201F700E6FD3A /* lcode.h */, + 2BDB88B9137201F700E6FD3A /* ldblib.c */, + 2BDB88BA137201F700E6FD3A /* ldebug.c */, + 2BDB88BB137201F700E6FD3A /* ldebug.h */, + 2BDB88BC137201F700E6FD3A /* ldo.c */, + 2BDB88BD137201F700E6FD3A /* ldo.h */, + 2BDB88BE137201F700E6FD3A /* ldump.c */, + 2BDB88BF137201F700E6FD3A /* lfunc.c */, + 2BDB88C0137201F700E6FD3A /* lfunc.h */, + 2BDB88C1137201F700E6FD3A /* lgc.c */, + 2BDB88C2137201F700E6FD3A /* lgc.h */, + 2BDB88C3137201F700E6FD3A /* linit.c */, + 2BDB88C4137201F700E6FD3A /* liolib.c */, + 2BDB88C5137201F700E6FD3A /* llex.c */, + 2BDB88C6137201F700E6FD3A /* llex.h */, + 2BDB88C7137201F700E6FD3A /* llimits.h */, + 2BDB88C8137201F700E6FD3A /* lmathlib.c */, + 2BDB88C9137201F700E6FD3A /* lmem.c */, + 2BDB88CA137201F700E6FD3A /* lmem.h */, + 2BDB88CB137201F700E6FD3A /* loadlib.c */, + 2BDB88CC137201F700E6FD3A /* lobject.c */, + 2BDB88CD137201F700E6FD3A /* lobject.h */, + 2BDB88CE137201F700E6FD3A /* lopcodes.c */, + 2BDB88CF137201F700E6FD3A /* lopcodes.h */, + 2BDB88D0137201F700E6FD3A /* loslib.c */, + 2BDB88D1137201F700E6FD3A /* lparser.c */, + 2BDB88D2137201F700E6FD3A /* lparser.h */, + 2BDB88D3137201F700E6FD3A /* lstate.c */, + 2BDB88D4137201F700E6FD3A /* lstate.h */, + 2BDB88D5137201F700E6FD3A /* lstring.c */, + 2BDB88D6137201F700E6FD3A /* lstring.h */, + 2BDB88D7137201F700E6FD3A /* lstrlib.c */, + 2BDB88D8137201F700E6FD3A /* ltable.c */, + 2BDB88D9137201F700E6FD3A /* ltable.h */, + 2BDB88DA137201F700E6FD3A /* ltablib.c */, + 2BDB88DB137201F700E6FD3A /* ltm.c */, + 2BDB88DC137201F700E6FD3A /* ltm.h */, + 2BDB88DD137201F700E6FD3A /* lua.c */, + 2BDB88DE137201F700E6FD3A /* lua.h */, + 2BDB88DF137201F700E6FD3A /* luac.c */, + 2BDB88E0137201F700E6FD3A /* luaconf.h */, + 2BDB88E1137201F700E6FD3A /* lualib.h */, + 2BDB88E2137201F700E6FD3A /* lundump.c */, + 2BDB88E3137201F700E6FD3A /* lundump.h */, + 2BDB88E4137201F700E6FD3A /* lvm.c */, + 2BDB88E5137201F700E6FD3A /* lvm.h */, + 2BDB88E6137201F700E6FD3A /* lzio.c */, + 2BDB88E7137201F700E6FD3A /* lzio.h */, + 2BDB88E8137201F700E6FD3A /* print.c */, + ); + name = "lua-5.1"; + path = "../extern/lua-5.1"; + sourceTree = ""; + }; + EE879B8E132E06C50078FDDC /* glew-1.5.8 */ = { + isa = PBXGroup; + children = ( + EE879BAA132E06C50078FDDC /* glew.c */, + ); + name = "glew-1.5.8"; + path = "../extern/glew-1.5.8"; + sourceTree = SOURCE_ROOT; + }; + EE906F6F12BF3A5B00146C96 /* json */ = { + isa = PBXGroup; + children = ( + 2BD06FDD137240CF0018CB9F /* json_batchallocator.h */, + 2BD06FDE137240CF0018CB9F /* json_internalarray.inl */, + 2BD06FDF137240CF0018CB9F /* json_internalmap.inl */, + 2BD06FE0137240CF0018CB9F /* json_reader.cpp */, + 2BD06FE1137240CF0018CB9F /* json_value.cpp */, + 2BD06FE2137240CF0018CB9F /* json_valueiterator.inl */, + 2BD06FE3137240CF0018CB9F /* json_writer.cpp */, + ); + name = json; + path = ../extern/jsoncpp; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 2B17AB6E13980FDF001AE57D /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 2B17AB7813980FF6001AE57D /* png.h in Headers */, + 2B17AB7913980FF6001AE57D /* pngconf.h in Headers */, + 2B17AB7A13980FF6001AE57D /* pngdebug.h in Headers */, + 2B17AB7D13980FF6001AE57D /* pnginfo.h in Headers */, + 2B17AB7E13980FF6001AE57D /* pnglibconf.h in Headers */, + 2B17AB8113980FF6001AE57D /* pngpriv.h in Headers */, + 2B17AB8713980FF6001AE57D /* pngstruct.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 2B17ABBC13981521001AE57D /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 2B17ABDC13981756001AE57D /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 2B17ABE71398179E001AE57D /* internal.h in Headers */, + 2B17ABEA1398179E001AE57D /* pcre.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AA29CC270558741A00961A51 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + AAFF41A40F5BD4AD00FFDB67 /* ScreenOptionsExportPackage.h in Headers */, + 3659B5700F902143002B6B68 /* CommandLineActions.h in Headers */, + 36CA531D0F91564A0063D59D /* ScreenOptionsCourseOverview.h in Headers */, + 36CA53210F9156860063D59D /* ScreenOptionsEditCourse.h in Headers */, + EE2153AA10A75BEE0074B01B /* NotesLoaderPMS.h in Headers */, + EEA7C84410A805A300082E7B /* ScreenPackagesSSC.h in Headers */, + 36C6888411297FFE00453295 /* RageFileDriverReadAhead.h in Headers */, + 36C6888611297FFE00453295 /* RageFileManager_ReadAhead.h in Headers */, + EE906F6712BF3A1B00146C96 /* ScreenInstallOverlay.h in Headers */, + EE906F8312BF3AF800146C96 /* JsonUtil.h in Headers */, + EE906F8B12BF3C7C00146C96 /* FileDownload.h in Headers */, + 2BA7925F1304F20D002BD8E1 /* NotesLoaderSSC.h in Headers */, + 2BA792611304F20D002BD8E1 /* NotesWriterSSC.h in Headers */, + 2B30D6831315EA7E00044B68 /* MouseDevice.h in Headers */, + EE879B61132DEE720078FDDC /* RageDisplay_Legacy_Helpers.h in Headers */, + EE879B63132DEE720078FDDC /* RageDisplay_Legacy.h in Headers */, + 2B76698B132FF71500586512 /* NotesLoaderSMA.h in Headers */, + 2BD06FEE137242680018CB9F /* json_batchallocator.h in Headers */, + B75CE3B5137963350076A82D /* SongPosition.h in Headers */, + 2B9C2E8E137A138B004C92F3 /* NotesLoaderJson.h in Headers */, + 2B9C2E90137A138B004C92F3 /* NotesWriterJson.h in Headers */, + 2B43509513949F37006FA051 /* TimingSegments.h in Headers */, + B71A60C1139B41DB00183A27 /* InGameLoadingWindow.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AA40D1B809A08D650068C0D5 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + AA40D1B909A08D650068C0D5 /* StepMania.pch in Headers */, + AA40D1BA09A08D650068C0D5 /* RageBitmapTexture.h in Headers */, + AA40D1BB09A08D650068C0D5 /* RageDisplay.h in Headers */, + AA40D1BC09A08D650068C0D5 /* RageException.h in Headers */, + AA40D1BD09A08D650068C0D5 /* RageInput.h in Headers */, + AA40D1BE09A08D650068C0D5 /* RageLog.h in Headers */, + AA40D1BF09A08D650068C0D5 /* RageMath.h in Headers */, + AA40D1C009A08D650068C0D5 /* RageSound.h in Headers */, + AA40D1C109A08D650068C0D5 /* RageSoundManager.h in Headers */, + AA40D1C209A08D650068C0D5 /* RageSoundReader_Preload.h in Headers */, + AA40D1C409A08D650068C0D5 /* RageSoundReader.h in Headers */, + AA40D1C509A08D650068C0D5 /* RageTexture.h in Headers */, + AA40D1C609A08D650068C0D5 /* RageTextureManager.h in Headers */, + AA40D1C709A08D650068C0D5 /* RageThreads.h in Headers */, + AA40D1C809A08D650068C0D5 /* RageTimer.h in Headers */, + AA40D1C909A08D650068C0D5 /* RageTypes.h in Headers */, + AA40D1CA09A08D650068C0D5 /* RageUtil.h in Headers */, + AA40D1CB09A08D650068C0D5 /* Character.h in Headers */, + AA40D1CC09A08D650068C0D5 /* CodeDetector.h in Headers */, + AA40D1CD09A08D650068C0D5 /* Course.h in Headers */, + AA40D1CE09A08D650068C0D5 /* Font.h in Headers */, + AA40D1CF09A08D650068C0D5 /* FontCharAliases.h in Headers */, + AA40D1D009A08D650068C0D5 /* FontCharmaps.h in Headers */, + AA40D1D109A08D650068C0D5 /* FontManager.h in Headers */, + AA40D1D209A08D650068C0D5 /* GameConstantsAndTypes.h in Headers */, + AA40D1D309A08D650068C0D5 /* GameInput.h in Headers */, + AA40D1D409A08D650068C0D5 /* Grade.h in Headers */, + AA40D1D509A08D650068C0D5 /* Inventory.h in Headers */, + AA40D1D609A08D650068C0D5 /* LyricsLoader.h in Headers */, + AA40D1D709A08D650068C0D5 /* NoteData.h in Headers */, + AA40D1D809A08D650068C0D5 /* NoteDataWithScoring.h in Headers */, + AA40D1DA09A08D650068C0D5 /* NotesLoader.h in Headers */, + AA40D1DB09A08D650068C0D5 /* NotesLoaderBMS.h in Headers */, + AA40D1DC09A08D650068C0D5 /* NotesLoaderDWI.h in Headers */, + AA40D1DD09A08D650068C0D5 /* NotesLoaderKSF.h in Headers */, + AA40D1DE09A08D650068C0D5 /* NotesLoaderSM.h in Headers */, + AA40D1DF09A08D650068C0D5 /* NotesWriterDWI.h in Headers */, + AA40D1E009A08D650068C0D5 /* NotesWriterSM.h in Headers */, + AA40D1E109A08D650068C0D5 /* NoteTypes.h in Headers */, + AA40D1E209A08D650068C0D5 /* Player.h in Headers */, + AA40D1E309A08D650068C0D5 /* PlayerAI.h in Headers */, + AA40D1E409A08D650068C0D5 /* PlayerNumber.h in Headers */, + AA40D1E509A08D650068C0D5 /* PlayerOptions.h in Headers */, + AA40D1E609A08D650068C0D5 /* SongOptions.h in Headers */, + AA40D1E709A08D650068C0D5 /* StageStats.h in Headers */, + AA40D1E909A08D650068C0D5 /* TitleSubstitution.h in Headers */, + AA40D1EA09A08D650068C0D5 /* IniFile.h in Headers */, + AA40D1EB09A08D650068C0D5 /* MsdFile.h in Headers */, + AA40D1EC09A08D650068C0D5 /* global.h in Headers */, + AA40D1ED09A08D650068C0D5 /* ScreenDimensions.h in Headers */, + AA40D1EE09A08D650068C0D5 /* StdString.h in Headers */, + AA40D1EF09A08D650068C0D5 /* StepMania.h in Headers */, + AA40D1F009A08D650068C0D5 /* Banner.h in Headers */, + AA40D1F109A08D650068C0D5 /* BPMDisplay.h in Headers */, + AA40D1F209A08D650068C0D5 /* CourseContentsList.h in Headers */, + AA40D1F409A08D650068C0D5 /* DifficultyIcon.h in Headers */, + AA40D1F709A08D650068C0D5 /* EditMenu.h in Headers */, + AA40D1F809A08D650068C0D5 /* FadingBanner.h in Headers */, + AA40D1F909A08D650068C0D5 /* GradeDisplay.h in Headers */, + AA40D1FA09A08D650068C0D5 /* GrooveRadar.h in Headers */, + AA40D1FC09A08D650068C0D5 /* HelpDisplay.h in Headers */, + AA40D1FD09A08D650068C0D5 /* MenuTimer.h in Headers */, + AA40D1FE09A08D650068C0D5 /* MeterDisplay.h in Headers */, + AA40D20209A08D650068C0D5 /* MusicWheel.h in Headers */, + AA40D20309A08D650068C0D5 /* MusicWheelItem.h in Headers */, + AA40D20609A08D650068C0D5 /* OptionsCursor.h in Headers */, + AA40D20709A08D650068C0D5 /* ScrollBar.h in Headers */, + AA40D20909A08D650068C0D5 /* SnapDisplay.h in Headers */, + AA40D20A09A08D650068C0D5 /* TextBanner.h in Headers */, + AA40D20B09A08D650068C0D5 /* WheelNotifyIcon.h in Headers */, + AA40D20C09A08D650068C0D5 /* ArrowEffects.h in Headers */, + AA40D20D09A08D650068C0D5 /* Background.h in Headers */, + AA40D20E09A08D650068C0D5 /* BGAnimation.h in Headers */, + AA40D20F09A08D650068C0D5 /* BGAnimationLayer.h in Headers */, + AA40D21109A08D650068C0D5 /* DancingCharacters.h in Headers */, + AA40D21209A08D650068C0D5 /* GhostArrowRow.h in Headers */, + AA40D21309A08D650068C0D5 /* HoldJudgment.h in Headers */, + AA40D21509A08D650068C0D5 /* LifeMeter.h in Headers */, + AA40D21609A08D650068C0D5 /* LifeMeterBar.h in Headers */, + AA40D21709A08D650068C0D5 /* LifeMeterBattery.h in Headers */, + AA40D21809A08D650068C0D5 /* LyricDisplay.h in Headers */, + AA40D21909A08D650068C0D5 /* NoteDisplay.h in Headers */, + AA40D21A09A08D650068C0D5 /* NoteField.h in Headers */, + AA40D21B09A08D650068C0D5 /* ScoreDisplay.h in Headers */, + AA40D21C09A08D650068C0D5 /* ScoreDisplayBattle.h in Headers */, + AA40D21D09A08D650068C0D5 /* ScoreDisplayNormal.h in Headers */, + AA40D21E09A08D650068C0D5 /* ScoreDisplayOni.h in Headers */, + AA40D21F09A08D650068C0D5 /* ScoreDisplayRave.h in Headers */, + AA40D22009A08D650068C0D5 /* ScoreKeeper.h in Headers */, + AA40D22109A08D650068C0D5 /* Transition.h in Headers */, + AA40D22209A08D650068C0D5 /* Actor.h in Headers */, + AA40D22309A08D650068C0D5 /* ActorFrame.h in Headers */, + AA40D22409A08D650068C0D5 /* ActorScroller.h in Headers */, + AA40D22509A08D650068C0D5 /* BitmapText.h in Headers */, + AA40D22609A08D650068C0D5 /* Model.h in Headers */, + AA40D22709A08D650068C0D5 /* ModelTypes.h in Headers */, + AA40D22809A08D650068C0D5 /* Quad.h in Headers */, + AA40D22909A08D650068C0D5 /* Sprite.h in Headers */, + AA40D22A09A08D650068C0D5 /* Screen.h in Headers */, + AA40D22B09A08D650068C0D5 /* ScreenAttract.h in Headers */, + AA40D22D09A08D650068C0D5 /* ScreenDemonstration.h in Headers */, + AA40D22E09A08D650068C0D5 /* ScreenEdit.h in Headers */, + AA40D22F09A08D650068C0D5 /* ScreenEditMenu.h in Headers */, + AA40D23009A08D650068C0D5 /* ScreenEvaluation.h in Headers */, + AA40D23309A08D650068C0D5 /* ScreenGameplay.h in Headers */, + AA40D23409A08D650068C0D5 /* ScreenInstructions.h in Headers */, + AA40D23509A08D650068C0D5 /* ScreenJukebox.h in Headers */, + AA40D23609A08D650068C0D5 /* ScreenManager.h in Headers */, + AA40D23709A08D650068C0D5 /* ScreenMapControllers.h in Headers */, + AA40D23809A08D650068C0D5 /* ScreenMessage.h in Headers */, + AA40D23909A08D650068C0D5 /* ScreenMiniMenu.h in Headers */, + AA40D23B09A08D650068C0D5 /* ScreenNameEntry.h in Headers */, + AA40D23C09A08D650068C0D5 /* ScreenOptions.h in Headers */, + AA40D23D09A08D650068C0D5 /* ScreenPlayerOptions.h in Headers */, + AA40D23E09A08D650068C0D5 /* ScreenPrompt.h in Headers */, + AA40D23F09A08D650068C0D5 /* ScreenRanking.h in Headers */, + AA40D24009A08D650068C0D5 /* ScreenSandbox.h in Headers */, + AA40D24109A08D650068C0D5 /* ScreenSelect.h in Headers */, + AA40D24209A08D650068C0D5 /* ScreenSelectCharacter.h in Headers */, + AA40D24609A08D650068C0D5 /* ScreenSelectMusic.h in Headers */, + AA40D24809A08D650068C0D5 /* ScreenSongOptions.h in Headers */, + AA40D24B09A08D650068C0D5 /* ScreenTestSound.h in Headers */, + AA40D24C09A08D650068C0D5 /* ScreenTextEntry.h in Headers */, + AA40D24D09A08D650068C0D5 /* ScreenTitleMenu.h in Headers */, + AA40D24E09A08D650068C0D5 /* AnnouncerManager.h in Headers */, + AA40D24F09A08D650068C0D5 /* GameManager.h in Headers */, + AA40D25009A08D650068C0D5 /* GameState.h in Headers */, + AA40D25109A08D650068C0D5 /* InputFilter.h in Headers */, + AA40D25209A08D650068C0D5 /* InputMapper.h in Headers */, + AA40D25309A08D650068C0D5 /* InputQueue.h in Headers */, + AA40D25409A08D650068C0D5 /* NoteSkinManager.h in Headers */, + AA40D25509A08D650068C0D5 /* PrefsManager.h in Headers */, + AA40D25609A08D650068C0D5 /* SongManager.h in Headers */, + AA40D25709A08D650068C0D5 /* ThemeManager.h in Headers */, + AA40D25809A08D650068C0D5 /* RageSoundDriver_Null.h in Headers */, + AA40D25909A08D650068C0D5 /* LowLevelWindow.h in Headers */, + AA40D25A09A08D650068C0D5 /* SongCacheIndex.h in Headers */, + AA40D25C09A08D650068C0D5 /* RandomSample.h in Headers */, + AA40D25E09A08D650068C0D5 /* RageUtil_CharConversions.h in Headers */, + AA40D25F09A08D650068C0D5 /* BannerCache.h in Headers */, + AA40D26109A08D650068C0D5 /* arch_default.h in Headers */, + AA40D26309A08D650068C0D5 /* ArchHooks.h in Headers */, + AA40D26409A08D650068C0D5 /* RageSoundDriver.h in Headers */, + AA40D26609A08D650068C0D5 /* ActorUtil.h in Headers */, + AA40D26709A08D650068C0D5 /* ScreenSelectMaster.h in Headers */, + AA40D26B09A08D650068C0D5 /* CombinedLifeMeterTug.h in Headers */, + AA40D26C09A08D650068C0D5 /* ScoreKeeperRave.h in Headers */, + AA40D26F09A08D650068C0D5 /* RageUtil_FileDB.h in Headers */, + AA40D27109A08D650068C0D5 /* LoadingWindow.h in Headers */, + AA40D27209A08D650068C0D5 /* InputHandler.h in Headers */, + AA40D27309A08D650068C0D5 /* MovieTexture.h in Headers */, + AA40D27509A08D650068C0D5 /* MovieTexture_Null.h in Headers */, + AA40D27609A08D650068C0D5 /* RageFile.h in Headers */, + AA40D27709A08D650068C0D5 /* RageInputDevice.h in Headers */, + AA40D27809A08D650068C0D5 /* RageSoundReader_FileReader.h in Headers */, + AA40D27909A08D650068C0D5 /* arch_setup.h in Headers */, + AA40D27A09A08D650068C0D5 /* CrashHandler.h in Headers */, + AA40D27B09A08D650068C0D5 /* CrashHandlerInternal.h in Headers */, + AA40D27C09A08D650068C0D5 /* Crash.h in Headers */, + AA40D27D09A08D650068C0D5 /* Steps.h in Headers */, + AA40D27E09A08D650068C0D5 /* NoteDataUtil.h in Headers */, + AA40D27F09A08D650068C0D5 /* ProductInfo.h in Headers */, + AA40D28009A08D650068C0D5 /* BeginnerHelper.h in Headers */, + AA40D28209A08D650068C0D5 /* MovieTexture_FFMpeg.h in Headers */, + AA40D28309A08D650068C0D5 /* ProfileManager.h in Headers */, + AA40D28409A08D650068C0D5 /* RageSoundReader_WAV.h in Headers */, + AA40D28609A08D650068C0D5 /* RageSoundReader_Vorbisfile.h in Headers */, + AA40D28809A08D650068C0D5 /* RageSoundReader_Resample_Good.h in Headers */, + AA40D28909A08D650068C0D5 /* ScreenExit.h in Headers */, + AA40D28A09A08D650068C0D5 /* ScreenOptionsMaster.h in Headers */, + AA40D28B09A08D650068C0D5 /* ScreenOptionsMasterPrefs.h in Headers */, + AA40D28C09A08D650068C0D5 /* ScreenReloadSongs.h in Headers */, + AA40D28D09A08D650068C0D5 /* ScreenHowToPlay.h in Headers */, + AA40D28E09A08D650068C0D5 /* PercentageDisplay.h in Headers */, + AA40D28F09A08D650068C0D5 /* ScoreDisplayPercentage.h in Headers */, + AA40D29109A08D650068C0D5 /* ScreenTestInput.h in Headers */, + AA40D29209A08D650068C0D5 /* ScreenBookkeeping.h in Headers */, + AA40D29309A08D650068C0D5 /* ScreenNameEntryTraditional.h in Headers */, + AA40D29409A08D650068C0D5 /* Bookkeeper.h in Headers */, + AA40D29509A08D650068C0D5 /* GraphDisplay.h in Headers */, + AA40D29609A08D650068C0D5 /* ComboGraph.h in Headers */, + AA40D29709A08D650068C0D5 /* Attack.h in Headers */, + AA40D29809A08D650068C0D5 /* RageTextureID.h in Headers */, + AA40D29909A08D650068C0D5 /* CombinedLifeMeter.h in Headers */, + AA40D29A09A08D650068C0D5 /* LightsManager.h in Headers */, + AA40D29B09A08D650068C0D5 /* LightsDriver.h in Headers */, + AA40D29D09A08D650068C0D5 /* PaneDisplay.h in Headers */, + AA40D29E09A08D650068C0D5 /* DifficultyList.h in Headers */, + AA40D29F09A08D650068C0D5 /* LightsDriver_SystemMessage.h in Headers */, + AA40D2A009A08D650068C0D5 /* AttackDisplay.h in Headers */, + AA40D2A109A08D650068C0D5 /* RageFileDriver.h in Headers */, + AA40D2A209A08D650068C0D5 /* RageFileDriverDirect.h in Headers */, + AA40D2A309A08D650068C0D5 /* RageFileManager.h in Headers */, + AA40D2A409A08D650068C0D5 /* RageFileDriverZip.h in Headers */, + AA40D2A509A08D650068C0D5 /* Style.h in Headers */, + AA40D2A609A08D650068C0D5 /* MemoryCardManager.h in Headers */, + AA40D2A709A08D650068C0D5 /* MemoryCardDriver_Null.h in Headers */, + AA40D2A809A08D650068C0D5 /* DualScrollBar.h in Headers */, + AA40D2A909A08D650068C0D5 /* TimingData.h in Headers */, + AA40D2AA09A08D650068C0D5 /* MemoryCardDisplay.h in Headers */, + AA40D2AB09A08D650068C0D5 /* ReceptorArrow.h in Headers */, + AA40D2AC09A08D650068C0D5 /* ReceptorArrowRow.h in Headers */, + AA40D2AD09A08D650068C0D5 /* ScreenEnding.h in Headers */, + AA40D2AE09A08D650068C0D5 /* Foreground.h in Headers */, + AA40D2AF09A08D650068C0D5 /* RageFileDriverDirectHelpers.h in Headers */, + AA40D2B009A08D650068C0D5 /* RageUtil_CircularBuffer.h in Headers */, + AA40D2B109A08D650068C0D5 /* ModelManager.h in Headers */, + AA40D2B209A08D650068C0D5 /* RageModelGeometry.h in Headers */, + AA40D2B309A08D650068C0D5 /* Profile.h in Headers */, + AA40D2B409A08D650068C0D5 /* XmlFile.h in Headers */, + AA40D2B509A08D650068C0D5 /* HighScore.h in Headers */, + AA40D2B609A08D650068C0D5 /* CryptManager.h in Headers */, + AA40D2B809A08D650068C0D5 /* Backtrace.h in Headers */, + AA40D2B909A08D650068C0D5 /* BacktraceNames.h in Headers */, + AA40D2BA09A08D650068C0D5 /* ScreenSetTime.h in Headers */, + AA40D2BB09A08D650068C0D5 /* NetworkSyncManager.h in Headers */, + AA40D2BD09A08D650068C0D5 /* ActiveAttackList.h in Headers */, + AA40D2BF09A08D650068C0D5 /* ScreenTestLights.h in Headers */, + AA40D2C009A08D650068C0D5 /* RageDisplay_Null.h in Headers */, + AA40D2CB09A08D650068C0D5 /* EnumHelper.h in Headers */, + AA40D2CC09A08D650068C0D5 /* RageSoundPosMap.h in Headers */, + AA40D2CD09A08D650068C0D5 /* SignalHandler.h in Headers */, + AA40D2CE09A08D650068C0D5 /* CourseUtil.h in Headers */, + AA40D2CF09A08D650068C0D5 /* SongUtil.h in Headers */, + AA40D2D009A08D650068C0D5 /* StepsUtil.h in Headers */, + AA40D2D109A08D650068C0D5 /* ScreenWithMenuElements.h in Headers */, + AA40D2F209A08D650068C0D5 /* RageSurface_Load_GIF.h in Headers */, + AA40D2F309A08D650068C0D5 /* RageSurface_Load_JPEG.h in Headers */, + AA40D2F409A08D650068C0D5 /* RageSurface_Load_PNG.h in Headers */, + AA40D2F509A08D650068C0D5 /* RageSurface_Load_XPM.h in Headers */, + AA40D2F609A08D650068C0D5 /* RageSurface_Load.h in Headers */, + AA40D2F809A08D650068C0D5 /* Difficulty.h in Headers */, + AA40D2F909A08D650068C0D5 /* Foreach.h in Headers */, + AA40D2FA09A08D650068C0D5 /* Trail.h in Headers */, + AA40D2FB09A08D650068C0D5 /* TrailUtil.h in Headers */, + AA40D2FC09A08D650068C0D5 /* ScreenNetworkOptions.h in Headers */, + AA40D2FD09A08D650068C0D5 /* Dialog.h in Headers */, + AA40D2FE09A08D650068C0D5 /* DialogDriver.h in Headers */, + AA40D30009A08D650068C0D5 /* Threads.h in Headers */, + AA40D30109A08D650068C0D5 /* Threads_Pthreads.h in Headers */, + AA40D30209A08D650068C0D5 /* RageSurface.h in Headers */, + AA40D30309A08D650068C0D5 /* RageSurface_Load_BMP.h in Headers */, + AA40D30409A08D650068C0D5 /* RageSurface_Save_BMP.h in Headers */, + AA40D30509A08D650068C0D5 /* GameSoundManager.h in Headers */, + AA40D30609A08D650068C0D5 /* MemoryCardDriver.h in Headers */, + AA40D30709A08D650068C0D5 /* RadarValues.h in Headers */, + AA40D30809A08D650068C0D5 /* DateTime.h in Headers */, + AA40D30909A08D650068C0D5 /* CommonMetrics.h in Headers */, + AA40D30A09A08D650068C0D5 /* StyleUtil.h in Headers */, + AA40D30B09A08D650068C0D5 /* Game.h in Headers */, + AA40D30C09A08D650068C0D5 /* ScreenNetSelectMusic.h in Headers */, + AA40D30E09A08D650068C0D5 /* RageSurfaceUtils_Palettize.h in Headers */, + AA40D30F09A08D650068C0D5 /* RageSurfaceUtils.h in Headers */, + AA40D31009A08D650068C0D5 /* ScreenNetEvaluation.h in Headers */, + AA40D31109A08D650068C0D5 /* RageFileDriverMemory.h in Headers */, + AA40D31209A08D650068C0D5 /* DarwinThreadHelpers.h in Headers */, + AA40D31309A08D650068C0D5 /* RageUtil_BackgroundLoader.h in Headers */, + AA40D31409A08D650068C0D5 /* Preference.h in Headers */, + AA40D31509A08D650068C0D5 /* ThemeMetric.h in Headers */, + AA40D31609A08D650068C0D5 /* InputHandler_MonkeyKeyboard.h in Headers */, + AA40D31709A08D650068C0D5 /* AutoKeysounds.h in Headers */, + AA40D31809A08D650068C0D5 /* RageSoundMixBuffer.h in Headers */, + AA40D31909A08D650068C0D5 /* RageSoundReader_Chain.h in Headers */, + AA40D31A09A08D650068C0D5 /* RageSoundUtil.h in Headers */, + AA40D31B09A08D650068C0D5 /* ScreenNetRoom.h in Headers */, + AA40D31C09A08D650068C0D5 /* ScreenNetSelectBase.h in Headers */, + AA40D31D09A08D650068C0D5 /* ScreenPackages.h in Headers */, + AA40D31E09A08D650068C0D5 /* ScreenSystemLayer.h in Headers */, + AA40D31F09A08D650068C0D5 /* Command.h in Headers */, + AA40D32009A08D650068C0D5 /* GameCommand.h in Headers */, + AA40D32109A08D650068C0D5 /* RageFileBasic.h in Headers */, + AA40D32209A08D650068C0D5 /* RageFileDriverDeflate.h in Headers */, + AA40D32309A08D650068C0D5 /* RageFileDriverSlice.h in Headers */, + AA40D32409A08D650068C0D5 /* RageSurface_Save_JPEG.h in Headers */, + AA40D32509A08D650068C0D5 /* RageSurfaceUtils_Dither.h in Headers */, + AA40D32609A08D650068C0D5 /* RageSurfaceUtils_Zoom.h in Headers */, + AA40D32709A08D650068C0D5 /* LuaBinding.h in Headers */, + AA40D32809A08D650068C0D5 /* LuaManager.h in Headers */, + AA40D32909A08D650068C0D5 /* PlayerState.h in Headers */, + AA40D32C09A08D650068C0D5 /* RageFileDriverTimeout.h in Headers */, + AA40D32D09A08D650068C0D5 /* RageUtil_AutoPtr.h in Headers */, + AA40D32E09A08D650068C0D5 /* RageUtil_WorkerThread.h in Headers */, + AA40D32F09A08D650068C0D5 /* LuaReference.h in Headers */, + AA40D33009A08D650068C0D5 /* MessageManager.h in Headers */, + AA40D33109A08D650068C0D5 /* StatsManager.h in Headers */, + AA40D33209A08D650068C0D5 /* SubscriptionManager.h in Headers */, + AA40D33309A08D650068C0D5 /* AutoActor.h in Headers */, + AA40D33409A08D650068C0D5 /* OptionRow.h in Headers */, + AA40D33509A08D650068C0D5 /* PlayerStageStats.h in Headers */, + AA40D33609A08D650068C0D5 /* RollingNumbers.h in Headers */, + AA40D33709A08D650068C0D5 /* ScoreDisplayCalories.h in Headers */, + AA40D34009A08D650068C0D5 /* UnlockManager.h in Headers */, + AA40D34109A08D650068C0D5 /* OptionRowHandler.h in Headers */, + AA40D34209A08D650068C0D5 /* ScoreDisplayAliveTime.h in Headers */, + AA40D34309A08D650068C0D5 /* ScoreDisplayLifeTime.h in Headers */, + AA40D34409A08D650068C0D5 /* StreamDisplay.h in Headers */, + AA40D34509A08D650068C0D5 /* LifeMeterTime.h in Headers */, + AA40D34609A08D650068C0D5 /* WheelBase.h in Headers */, + AA40D34709A08D650068C0D5 /* WheelItemBase.h in Headers */, + AA40D34909A08D650068C0D5 /* ScreenDebugOverlay.h in Headers */, + AA40D34B09A08D650068C0D5 /* ScreenSaveSync.h in Headers */, + AA40D34D09A08D650068C0D5 /* ScreenSyncOverlay.h in Headers */, + AA40D34E09A08D650068C0D5 /* BackgroundUtil.h in Headers */, + AA40D34F09A08D650068C0D5 /* ScreenSplash.h in Headers */, + AA40D35009A08D650068C0D5 /* RageTexturePreloader.h in Headers */, + AA40D35109A08D650068C0D5 /* ScreenOptionsEditProfile.h in Headers */, + AA40D35209A08D650068C0D5 /* GameLoop.h in Headers */, + AA40D35309A08D650068C0D5 /* CharacterManager.h in Headers */, + AA40D35409A08D650068C0D5 /* CourseLoaderCRS.h in Headers */, + AA40D35509A08D650068C0D5 /* CourseWriterCRS.h in Headers */, + AA40D35909A08D650068C0D5 /* ScreenOptionsManageCourses.h in Headers */, + AA40D35A09A08D650068C0D5 /* ScreenOptionsManageProfiles.h in Headers */, + AA40D35B09A08D650068C0D5 /* ScreenGameplayNormal.h in Headers */, + AA40D35C09A08D650068C0D5 /* ActorSound.h in Headers */, + AA40D35D09A08D650068C0D5 /* InputEventPlus.h in Headers */, + AA40D35F09A08D650068C0D5 /* ScreenGameplayLesson.h in Headers */, + AA40D36209A08D650068C0D5 /* LuaExpressionTransform.h in Headers */, + AA40D36309A08D650068C0D5 /* DynamicActorScroller.h in Headers */, + AA40D36409A08D650068C0D5 /* ScoreKeeperNormal.h in Headers */, + AA40D36509A08D650068C0D5 /* ScreenStatsOverlay.h in Headers */, + AA40D36709A08D650068C0D5 /* MovieTexture_Generic.h in Headers */, + AA40D36809A08D650068C0D5 /* MovieTexture_Theora.h in Headers */, + AA40D36B09A08D650068C0D5 /* SpecialFiles.h in Headers */, + AA40D36C09A08D650068C0D5 /* ScreenOptionsManageEditSteps.h in Headers */, + AA40D36D09A08D650068C0D5 /* ScreenOptionsMemoryCard.h in Headers */, + AA40D36E09A08D650068C0D5 /* ScreenServiceAction.h in Headers */, + AA40D36F09A08D650068C0D5 /* DisplayResolutions.h in Headers */, + AA40D37009A08D650068C0D5 /* XmlFileUtil.h in Headers */, + AA40D37109A08D650068C0D5 /* LocalizedString.h in Headers */, + AA40D37509A08D650068C0D5 /* HIDDevice.h in Headers */, + AA40D37609A08D650068C0D5 /* JoystickDevice.h in Headers */, + AA40D37709A08D650068C0D5 /* KeyboardDevice.h in Headers */, + AA40D37809A08D650068C0D5 /* Tween.h in Headers */, + AA40D37909A08D650068C0D5 /* ScreenUnlockStatus.h in Headers */, + AA40D37A09A08D650068C0D5 /* AdjustSync.h in Headers */, + AAB55FFF09A84E62008FDC69 /* ScreenUnlockCelebrate.h in Headers */, + AAB5600109A84E64008FDC69 /* ScreenUnlockBrowse.h in Headers */, + AA1F9C4909AF1BF5002C15A8 /* PumpDevice.h in Headers */, + F4BC045509E6B582003F770B /* ScreenGameplaySyncMachine.h in Headers */, + AA147F1C0A0F78D8006EADF6 /* VectorHelper.h in Headers */, + AA8CF5190A4518BE0005F1B4 /* RageSoundDriver_AU.h in Headers */, + AAD8F9340A4B97DF000311CF /* ScreenGameplayShared.h in Headers */, + AAAA11C80A662F9D00B2BD88 /* ScoreKeeperShared.h in Headers */, + AA2EA0040A770208003A0C11 /* ScreenSelectLanguage.h in Headers */, + AA5D165A0A79805C00F17E86 /* RageTextureRenderTarget.h in Headers */, + AA5D166F0A798C0E00F17E86 /* ActorFrameTexture.h in Headers */, + AA5A51F40A8441AA006DBB92 /* ModsGroup.h in Headers */, + AAFE710E0A91ADE6005F2290 /* ActorProxy.h in Headers */, + AAFE712A0A91B58F005F2290 /* RageSurface_Save_PNG.h in Headers */, + AAE780450AC76A1200AEFC64 /* WorkoutGraph.h in Headers */, + AA6999620ACE1CBB000237F9 /* ControllerStateDisplay.h in Headers */, + AAB779FE0B0D9CB200B74314 /* ScoreKeeperGuitar.h in Headers */, + AA6090E90B141D1C00B39AC4 /* GamePreferences.h in Headers */, + AA31D5250B1EC6550016AB6B /* RageSoundReader_Filter.h in Headers */, + AA31D5270B1EC6550016AB6B /* RageSoundReader_PitchChange.h in Headers */, + AA31D5290B1EC6550016AB6B /* RageSoundReader_SpeedChange.h in Headers */, + AA4F27B70B2C01B400ADEA79 /* RageSoundReader_ChannelSplit.h in Headers */, + AA4F27B90B2C01B400ADEA79 /* RageSoundReader_Pan.h in Headers */, + AA909E220B45B676002852D3 /* RageDriver.h in Headers */, + AA909E420B45B8FB002852D3 /* RageSoundReader_Extend.h in Headers */, + AA909E440B45B8FB002852D3 /* RageSoundReader_ThreadedBuffer.h in Headers */, + AAEBF5630B5C517E005F3C7C /* SampleHistory.h in Headers */, + AAEBF5810B5C83F4005F3C7C /* SoundEffectControl.h in Headers */, + AA07008D0B61F177003B85BB /* RageSoundReader_PostBuffering.h in Headers */, + AA7C8DAF0B68CB2200FD9940 /* GameplayAssist.h in Headers */, + AA059ABD0B8CCFB5006F8139 /* ActorMultiTexture.h in Headers */, + AA05A0B10BA2EFF3006F8139 /* OptionsList.h in Headers */, + AA2C9CA20BAD6F55002441E9 /* CodeSet.h in Headers */, + AA2CA8A00BB745BD002441E9 /* ScreenContinue.h in Headers */, + AA1893610BD777C500AEC0BF /* ScreenProfileLoad.h in Headers */, + AA1893630BD777C500AEC0BF /* ScreenProfileSave.h in Headers */, + AA18937D0BD77ECE00AEC0BF /* NotesLoaderMidi.h in Headers */, + AA3396B90BDE195E00E1475F /* RageSoundReader_Merge.h in Headers */, + AA339A7E0BF0FA6400E1475F /* LoadingWindow_Null.h in Headers */, + AAB3B7DF0C6C582E001BF487 /* ScreenSelectProfile.h in Headers */, + AAB3BB5C0C718F2D001BF487 /* RageUtil_CachedObject.h in Headers */, + AAA7D4CC0C7E872600FB8F78 /* ScreenOptionsToggleSongs.h in Headers */, + AAA0713E0CE7B3BB005A3060 /* bit.h in Headers */, + AAA0714A0CE7B3BB005A3060 /* decoder.h in Headers */, + AAA0714D0CE7B3BB005A3060 /* fixed.h in Headers */, + AAA0714F0CE7B3BB005A3060 /* frame.h in Headers */, + AAA071500CE7B3BB005A3060 /* global.h in Headers */, + AAA071520CE7B3BB005A3060 /* huffman.h in Headers */, + AAA071580CE7B3BB005A3060 /* layer12.h in Headers */, + AAA0715A0CE7B3BB005A3060 /* layer3.h in Headers */, + AAA0715D0CE7B3BB005A3060 /* mad.h in Headers */, + AAA071700CE7B3BB005A3060 /* stream.h in Headers */, + AAA071720CE7B3BB005A3060 /* synth.h in Headers */, + AAA071740CE7B3BB005A3060 /* timer.h in Headers */, + AAA071780CE7B3BB005A3060 /* version.h in Headers */, + AA7CDD950D8395F90001DAFC /* Song.h in Headers */, + AA11A2140DC5A1B0006BD8AC /* ModIcon.h in Headers */, + AA11A2160DC5A1B0006BD8AC /* ModIconRow.h in Headers */, + AA6C6ADB0DC6B17B00E7A13E /* ArchHooks_MacOSX.h in Headers */, + AA6C6AE10DC6B1DC00E7A13E /* DialogDriver_MacOSX.h in Headers */, + AA6C6AE60DC6B22800E7A13E /* LoadingWindow_MacOSX.h in Headers */, + AA6C6B040DC6B2B400E7A13E /* LowLevelWindow_MacOSX.h in Headers */, + AA6C6B0B0DC6B30E00E7A13E /* MemoryCardDriverThreaded_MacOSX.h in Headers */, + AA6C6B110DC6B48C00E7A13E /* InputHandler_MacOSX_HID.h in Headers */, + AAC0BFE40E2951EC00F56EEB /* CryptHelpers.h in Headers */, + AAFF41A60F5BD4AD00FFDB67 /* ScreenOptionsExportPackage.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AA7C895B0B67444700FD9940 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + AA7C8B730B6744F700FD9940 /* tommath.h in Headers */, + AA7C8B740B6744F700FD9940 /* tommath_class.h in Headers */, + AA7C8B750B6744F700FD9940 /* tommath_superclass.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AA7C8B870B67460600FD9940 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + AA7C8C5B0B67467D00FD9940 /* tomcrypt.h in Headers */, + AA7C8C5C0B67467D00FD9940 /* tomcrypt_argchk.h in Headers */, + AA7C8C5D0B67467D00FD9940 /* tomcrypt_cfg.h in Headers */, + AA7C8C5E0B67467D00FD9940 /* tomcrypt_cipher.h in Headers */, + AA7C8C5F0B67467D00FD9940 /* tomcrypt_custom.h in Headers */, + AA7C8C600B67467D00FD9940 /* tomcrypt_hash.h in Headers */, + AA7C8C610B67467D00FD9940 /* tomcrypt_mac.h in Headers */, + AA7C8C620B67467D00FD9940 /* tomcrypt_macros.h in Headers */, + AA7C8C630B67467D00FD9940 /* tomcrypt_math.h in Headers */, + AA7C8C640B67467D00FD9940 /* tomcrypt_misc.h in Headers */, + AA7C8C650B67467D00FD9940 /* tomcrypt_pk.h in Headers */, + AA7C8C660B67467D00FD9940 /* tomcrypt_pkcs.h in Headers */, + AA7C8C670B67467D00FD9940 /* tomcrypt_prng.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AAA070A50CE7B0DF005A3060 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + AAA0717F0CE7B4FB005A3060 /* version.h in Headers */, + AAA071810CE7B4FC005A3060 /* timer.h in Headers */, + AAA071830CE7B4FE005A3060 /* synth.h in Headers */, + AAA071850CE7B4FF005A3060 /* stream.h in Headers */, + AAA071870CE7B502005A3060 /* mad.h in Headers */, + AAA071880CE7B502005A3060 /* layer3.h in Headers */, + AAA0718A0CE7B503005A3060 /* layer12.h in Headers */, + AAA0718C0CE7B505005A3060 /* huffman.h in Headers */, + AAA0718E0CE7B508005A3060 /* global.h in Headers */, + AAA0718F0CE7B508005A3060 /* frame.h in Headers */, + AAA071910CE7B509005A3060 /* fixed.h in Headers */, + AAA071930CE7B50B005A3060 /* decoder.h in Headers */, + AAA071950CE7B50C005A3060 /* bit.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AAE7817A0AC7E37B00AEFC64 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 2BDB88EA137201F700E6FD3A /* lapi.h in Headers */, + 2BDB88EC137201F700E6FD3A /* lauxlib.h in Headers */, + 2BDB88EF137201F700E6FD3A /* lcode.h in Headers */, + 2BDB88F2137201F700E6FD3A /* ldebug.h in Headers */, + 2BDB88F4137201F700E6FD3A /* ldo.h in Headers */, + 2BDB88F7137201F700E6FD3A /* lfunc.h in Headers */, + 2BDB88F9137201F700E6FD3A /* lgc.h in Headers */, + 2BDB88FD137201F700E6FD3A /* llex.h in Headers */, + 2BDB88FE137201F700E6FD3A /* llimits.h in Headers */, + 2BDB8901137201F700E6FD3A /* lmem.h in Headers */, + 2BDB8904137201F700E6FD3A /* lobject.h in Headers */, + 2BDB8906137201F700E6FD3A /* lopcodes.h in Headers */, + 2BDB8909137201F700E6FD3A /* lparser.h in Headers */, + 2BDB890B137201F700E6FD3A /* lstate.h in Headers */, + 2BDB890D137201F700E6FD3A /* lstring.h in Headers */, + 2BDB8910137201F700E6FD3A /* ltable.h in Headers */, + 2BDB8913137201F700E6FD3A /* ltm.h in Headers */, + 2BDB8915137201F700E6FD3A /* lua.h in Headers */, + 2BDB8917137201F700E6FD3A /* luaconf.h in Headers */, + 2BDB8918137201F700E6FD3A /* lualib.h in Headers */, + 2BDB891A137201F700E6FD3A /* lundump.h in Headers */, + 2BDB891C137201F700E6FD3A /* lvm.h in Headers */, + 2BDB891E137201F700E6FD3A /* lzio.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXLegacyTarget section */ + AA30C60F07F5E24A0066F398 /* version */ = { + isa = PBXLegacyTarget; + buildArgumentsString = "-w scripts/increment_version.pl"; + buildConfigurationList = AAC8450B0856A19700A9FEAB /* Build configuration list for PBXLegacyTarget "version" */; + buildPhases = ( + ); + buildToolPath = /usr/bin/perl; + dependencies = ( + ); + name = version; + passBuildSettingsInEnvironment = 1; + productName = version; + }; +/* End PBXLegacyTarget section */ + +/* Begin PBXNativeTarget section */ + 2B17AB7113980FDF001AE57D /* png */ = { + isa = PBXNativeTarget; + buildConfigurationList = 2B17AB8F13981052001AE57D /* Build configuration list for PBXNativeTarget "png" */; + buildPhases = ( + 2B17AB6E13980FDF001AE57D /* Headers */, + 2B17AB6F13980FDF001AE57D /* Sources */, + 2B17AB7013980FDF001AE57D /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = png; + productName = png; + productReference = 2B17AB7213980FDF001AE57D /* libpng-1.5.1-sm5.a */; + productType = "com.apple.product-type.library.static"; + }; + 2B17ABBF13981521001AE57D /* glew */ = { + isa = PBXNativeTarget; + buildConfigurationList = 2B17ABCC139815AC001AE57D /* Build configuration list for PBXNativeTarget "glew" */; + buildPhases = ( + 2B17ABBC13981521001AE57D /* Headers */, + 2B17ABBD13981521001AE57D /* Sources */, + 2B17ABBE13981521001AE57D /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = glew; + productName = glew; + productReference = 2B17ABC013981521001AE57D /* libglew-sm5.a */; + productType = "com.apple.product-type.library.static"; + }; + 2B17ABDF13981756001AE57D /* pcre */ = { + isa = PBXNativeTarget; + buildConfigurationList = 2B17ABF9139817C3001AE57D /* Build configuration list for PBXNativeTarget "pcre" */; + buildPhases = ( + 2B17ABDC13981756001AE57D /* Headers */, + 2B17ABDD13981756001AE57D /* Sources */, + 2B17ABDE13981756001AE57D /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = pcre; + productName = pcre; + productReference = 2B17ABE013981756001AE57D /* libpcre-sm5.a */; + productType = "com.apple.product-type.library.static"; + }; + AA29CC240558741A00961A51 /* stepmania */ = { + isa = PBXNativeTarget; + buildConfigurationList = AAC8450F0856A19700A9FEAB /* Build configuration list for PBXNativeTarget "stepmania" */; + buildPhases = ( + AAA74CCF090CE268003F9A36 /* ShellScript */, + AA1DE8F30C54668900D59F20 /* ShellScript */, + AA29CC270558741A00961A51 /* Headers */, + AA29CD3C0558741A00961A51 /* Resources */, + AA4B428C05733DF2005FB5DB /* CopyFiles */, + AA29CD410558741A00961A51 /* Sources */, + AA29CE3B0558741A00961A51 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + AAE781FE0AC7E61900AEFC64 /* PBXTargetDependency */, + 2B17ABD1139815EB001AE57D /* PBXTargetDependency */, + AA7C8D180B6748B800FD9940 /* PBXTargetDependency */, + AA7C8D160B6748B800FD9940 /* PBXTargetDependency */, + 2B17AB8E13981009001AE57D /* PBXTargetDependency */, + AAA071AA0CE7B879005A3060 /* PBXTargetDependency */, + 2B17ABFF139817DF001AE57D /* PBXTargetDependency */, + AA30C61A07F5E2EF0066F398 /* PBXTargetDependency */, + ); + name = stepmania; + productInstallPath = "$(HOME)/Applications"; + productName = "SDL App"; + productReference = AA29CE580558741A00961A51 /* StepMania.app */; + productType = "com.apple.product-type.application"; + }; + AA40D1B409A08D650068C0D5 /* stepmania-bare */ = { + isa = PBXNativeTarget; + buildConfigurationList = AA40D52709A08D650068C0D5 /* Build configuration list for PBXNativeTarget "stepmania-bare" */; + buildPhases = ( + AA40D1B709A08D650068C0D5 /* ShellScript */, + AA21E4880A98289F00684CEA /* ShellScript */, + AA1DE95A0C54693D00D59F20 /* ShellScript */, + AA40D1B809A08D650068C0D5 /* Headers */, + AA40D37B09A08D650068C0D5 /* Resources */, + AA40D37D09A08D650068C0D5 /* CopyFiles */, + AA40D38009A08D650068C0D5 /* Sources */, + AA40D51409A08D650068C0D5 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + AAE782020AC7E63100AEFC64 /* PBXTargetDependency */, + AA7C8D1E0B6748CD00FD9940 /* PBXTargetDependency */, + AA7C8D1C0B6748CD00FD9940 /* PBXTargetDependency */, + AA40D1B509A08D650068C0D5 /* PBXTargetDependency */, + ); + name = "stepmania-bare"; + productInstallPath = "$(HOME)/Applications"; + productName = "SDL App"; + productReference = AA40D52B09A08D660068C0D5 /* sm-ssc.app */; + productType = "com.apple.product-type.application"; + }; + AA7A2B930AE09B520054C5BA /* lua */ = { + isa = PBXNativeTarget; + buildConfigurationList = AA7A2B990AE09BA50054C5BA /* Build configuration list for PBXNativeTarget "lua" */; + buildPhases = ( + AA7A2B910AE09B520054C5BA /* Sources */, + AA7A2B920AE09B520054C5BA /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + AA7A2BA60AE09C9B0054C5BA /* PBXTargetDependency */, + ); + name = lua; + productName = lua; + productReference = AA7A2B940AE09B520054C5BA /* lua */; + productType = "com.apple.product-type.tool"; + }; + AA7A2BAA0AE09CD50054C5BA /* luac */ = { + isa = PBXNativeTarget; + buildConfigurationList = AA7A2BB90AE09D4E0054C5BA /* Build configuration list for PBXNativeTarget "luac" */; + buildPhases = ( + AA7A2BA80AE09CD50054C5BA /* Sources */, + AA7A2BA90AE09CD50054C5BA /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + AA7A2BAE0AE09CDB0054C5BA /* PBXTargetDependency */, + ); + name = luac; + productName = luac; + productReference = AA7A2BAB0AE09CD50054C5BA /* luac */; + productType = "com.apple.product-type.tool"; + }; + AA7C895E0B67444700FD9940 /* tommath */ = { + isa = PBXNativeTarget; + buildConfigurationList = AA7C89810B67447E00FD9940 /* Build configuration list for PBXNativeTarget "tommath" */; + buildPhases = ( + AA7C895B0B67444700FD9940 /* Headers */, + AA7C895C0B67444700FD9940 /* Sources */, + AA7C895D0B67444700FD9940 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = tommath; + productName = tommath; + productReference = AA7C895F0B67444700FD9940 /* libtommath-sm5.a */; + productType = "com.apple.product-type.library.static"; + }; + AA7C8B8A0B67460600FD9940 /* tomcrypt */ = { + isa = PBXNativeTarget; + buildConfigurationList = AA7C8B8E0B67464300FD9940 /* Build configuration list for PBXNativeTarget "tomcrypt" */; + buildPhases = ( + AA7C8B870B67460600FD9940 /* Headers */, + AA7C8B880B67460600FD9940 /* Sources */, + AA7C8B890B67460600FD9940 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = tomcrypt; + productName = tomcrypt; + productReference = AA7C8B8B0B67460600FD9940 /* libtomcrypt-sm5.a */; + productType = "com.apple.product-type.library.static"; + }; + AAA070A80CE7B0DF005A3060 /* mad */ = { + isa = PBXNativeTarget; + buildConfigurationList = AAA070AE0CE7B138005A3060 /* Build configuration list for PBXNativeTarget "mad" */; + buildPhases = ( + AAA070A50CE7B0DF005A3060 /* Headers */, + AAA070A60CE7B0DF005A3060 /* Sources */, + AAA070A70CE7B0DF005A3060 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = mad; + productName = mad; + productReference = AAA070A90CE7B0DF005A3060 /* libmad-sm5.a */; + productType = "com.apple.product-type.library.static"; + }; + AAE7817D0AC7E37B00AEFC64 /* lua-5.1 */ = { + isa = PBXNativeTarget; + buildConfigurationList = AAE7817F0AC7E3BF00AEFC64 /* Build configuration list for PBXNativeTarget "lua-5.1" */; + buildPhases = ( + AAE7817A0AC7E37B00AEFC64 /* Headers */, + AAE7817B0AC7E37B00AEFC64 /* Sources */, + AAE7817C0AC7E37B00AEFC64 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "lua-5.1"; + productName = "lua-5.1"; + productReference = AAE7817E0AC7E37B00AEFC64 /* liblua-5.1-sm5.a */; + productType = "com.apple.product-type.library.static"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 29B97313FDCFA39411CA2CEA /* Project object */ = { + isa = PBXProject; + buildConfigurationList = AAC845130856A19700A9FEAB /* Build configuration list for PBXProject "stepmania_xcode4" */; + compatibilityVersion = "Xcode 3.1"; + developmentRegion = English; + hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + it, + es, + de, + en, + ja, + fr, + ); + mainGroup = 29B97314FDCFA39411CA2CEA /* SDL App */; + projectDirPath = ""; + projectRoot = ..; + targets = ( + AA29CC240558741A00961A51 /* stepmania */, + AA30C60F07F5E24A0066F398 /* version */, + AA40D1B409A08D650068C0D5 /* stepmania-bare */, + AAE7817D0AC7E37B00AEFC64 /* lua-5.1 */, + AA7A2B930AE09B520054C5BA /* lua */, + AA7A2BAA0AE09CD50054C5BA /* luac */, + AA7A2BB30AE09D0F0054C5BA /* all lua */, + AA7C895E0B67444700FD9940 /* tommath */, + AA7C8B8A0B67460600FD9940 /* tomcrypt */, + AAA070A80CE7B0DF005A3060 /* mad */, + 2B17AB7113980FDF001AE57D /* png */, + 2B17ABBF13981521001AE57D /* glew */, + 2B17ABDF13981756001AE57D /* pcre */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + AA29CD3C0558741A00961A51 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + AA29CD3E0558741A00961A51 /* smicon.icns in Resources */, + AAF6A2F909B695BA00D5C614 /* Localizable.strings in Resources */, + AA1DE9580C5468CE00D59F20 /* Hardware.plist in Resources */, + 2BD06FEF137242680018CB9F /* json_internalarray.inl in Resources */, + 2BD06FF0137242680018CB9F /* json_internalmap.inl in Resources */, + 2BD06FF3137242680018CB9F /* json_valueiterator.inl in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AA40D37B09A08D650068C0D5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + AA40D37C09A08D650068C0D5 /* smicon.icns in Resources */, + AAF6A2FA09B695BA00D5C614 /* Localizable.strings in Resources */, + AA1DE9570C5468CE00D59F20 /* Hardware.plist in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + AA1DE8F30C54668900D59F20 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "$(SRCROOT)/Hardware.in.plist", + ); + outputPaths = ( + "$(SRCROOT)/Hardware.plist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "plutil -convert binary1 -o \"$SRCROOT/Hardware.plist\" \"$SRCROOT/Hardware.in.plist\""; + }; + AA1DE95A0C54693D00D59F20 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "$(SRCROOT)/Hardware.in.plist", + ); + outputPaths = ( + "$(SRCROOT)/Hardware.plist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "plutil -convert binary1 -o \"$SRCROOT/Hardware.plist\" \"$SRCROOT/Hardware.in.plist\""; + }; + AA21E4880A98289F00684CEA /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 12; + files = ( + ); + inputPaths = ( + "$(SRCROOT)/Libraries/libpng.a", + "$(SRCROOT)/Libraries/libogg.a", + "$(SRCROOT)/Libraries/libjpeg.a", + "$(SRCROOT)/Libraries/libvorbis.a", + "$(SRCROOT)/Libraries/libtheora.a", + "$(SRCROOT)/Libraries/libffmpeg.a", + ); + outputPaths = ( + "$(SRCROOT)/Libraries/libpng_link.a", + "$(SRCROOT)/Libraries/libogg_link.a", + "$(SRCROOT)/Libraries/libjpeg_link.a", + "$(SRCROOT)/Libraries/libvorbis_link.a", + "$(SRCROOT)/Libraries/libtheora_link.a", + "$(SRCROOT)/Libraries/libffmpeg_link.a", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "for i in ffmpeg theora vorbis jpeg ogg png z; do\n\tcp \"$SRCROOT\"/Libraries/lib${i}.a \"$SRCROOT\"/Libraries/lib${i}_link.a\n\tranlib \"$SRCROOT\"/Libraries/lib${i}_link.a\ndone"; + }; + AA40D1B709A08D650068C0D5 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + comments = "Work around stupid linker thinking archives are out of date if they've been moved."; + files = ( + ); + inputPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "rm -rf \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Frameworks/mad.framework\"\n"; + }; + AAA74CCF090CE268003F9A36 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + comments = "Work around stupid linker thinking archives are out of date if they've been moved."; + files = ( + ); + inputPaths = ( + "$(SRCROOT)/Libraries/libvorbis.a", + "$(SRCROOT)/Libraries/libtheora.a", + "$(SRCROOT)/Libraries/libpng.a", + "$(SRCROOT)/Libraries/libogg.a", + "$(SRCROOT)/Libraries/libjpeg.a", + "$(SRCROOT)/Libraries/libffmpeg.a", + ); + outputPaths = ( + "$(SRCROOT)/Libraries/libvorbis_link.a", + "$(SRCROOT)/Libraries/libtheora_link.a", + "$(SRCROOT)/Libraries/libpng_link.a", + "$(SRCROOT)/Libraries/libogg_link.a", + "$(SRCROOT)/Libraries/libjpeg_link.a", + "$(SRCROOT)/Libraries/libffmpeg_link.a", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "for i in ffmpeg theora vorbis jpeg ogg png z; do\n\tcp \"$SRCROOT\"/Libraries/lib${i}.a \"$SRCROOT\"/Libraries/lib${i}_link.a\n\tranlib \"$SRCROOT\"/Libraries/lib${i}_link.a\ndone"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 2B17AB6F13980FDF001AE57D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 2B17AB7713980FF6001AE57D /* png.c in Sources */, + 2B17AB7B13980FF6001AE57D /* pngerror.c in Sources */, + 2B17AB7C13980FF6001AE57D /* pngget.c in Sources */, + 2B17AB7F13980FF6001AE57D /* pngmem.c in Sources */, + 2B17AB8013980FF6001AE57D /* pngpread.c in Sources */, + 2B17AB8213980FF6001AE57D /* pngread.c in Sources */, + 2B17AB8313980FF6001AE57D /* pngrio.c in Sources */, + 2B17AB8413980FF6001AE57D /* pngrtran.c in Sources */, + 2B17AB8513980FF6001AE57D /* pngrutil.c in Sources */, + 2B17AB8613980FF6001AE57D /* pngset.c in Sources */, + 2B17AB8813980FF6001AE57D /* pngtrans.c in Sources */, + 2B17AB8913980FF6001AE57D /* pngwio.c in Sources */, + 2B17AB8A13980FF6001AE57D /* pngwrite.c in Sources */, + 2B17AB8B13980FF6001AE57D /* pngwtran.c in Sources */, + 2B17AB8C13980FF6001AE57D /* pngwutil.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 2B17ABBD13981521001AE57D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 2B17ABC51398153F001AE57D /* glew.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 2B17ABDD13981756001AE57D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 2B17ABE51398179E001AE57D /* chartables.c in Sources */, + 2B17ABE61398179E001AE57D /* get.c in Sources */, + 2B17ABE81398179E001AE57D /* maketables.c in Sources */, + 2B17ABE91398179E001AE57D /* pcre.c in Sources */, + 2B17ABEB1398179E001AE57D /* study.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AA29CD410558741A00961A51 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + comments = "We need a better way of organizing compile order here."; + files = ( + AA29CD520558741A00961A51 /* RageUtil.cpp in Sources */, + AA29CD420558741A00961A51 /* RageBitmapTexture.cpp in Sources */, + AA29CD430558741A00961A51 /* RageDisplay.cpp in Sources */, + AA29CD440558741A00961A51 /* RageException.cpp in Sources */, + AA29CD450558741A00961A51 /* RageInput.cpp in Sources */, + AA29CD460558741A00961A51 /* RageInputDevice.cpp in Sources */, + AA29CD470558741A00961A51 /* RageLog.cpp in Sources */, + AA29CD480558741A00961A51 /* RageMath.cpp in Sources */, + AA29CD490558741A00961A51 /* RageSound.cpp in Sources */, + AA29CD4A0558741A00961A51 /* RageSoundManager.cpp in Sources */, + AA29CD4B0558741A00961A51 /* RageSoundReader_Preload.cpp in Sources */, + AA29CD4E0558741A00961A51 /* RageTexture.cpp in Sources */, + AA29CD4F0558741A00961A51 /* RageTextureManager.cpp in Sources */, + AA29CD500558741A00961A51 /* RageThreads.cpp in Sources */, + AA29CD510558741A00961A51 /* RageTimer.cpp in Sources */, + AA29CD560558741A00961A51 /* Character.cpp in Sources */, + AA29CD570558741A00961A51 /* CodeDetector.cpp in Sources */, + AA29CD580558741A00961A51 /* Course.cpp in Sources */, + AA29CD590558741A00961A51 /* Font.cpp in Sources */, + AA29CD5A0558741A00961A51 /* FontCharAliases.cpp in Sources */, + AA29CD5B0558741A00961A51 /* FontCharmaps.cpp in Sources */, + AA29CD5C0558741A00961A51 /* FontManager.cpp in Sources */, + AA29CD5D0558741A00961A51 /* GameConstantsAndTypes.cpp in Sources */, + AA29CD5F0558741A00961A51 /* GameInput.cpp in Sources */, + AA29CD600558741A00961A51 /* Grade.cpp in Sources */, + AA29CD610558741A00961A51 /* Inventory.cpp in Sources */, + AA29CD620558741A00961A51 /* LyricsLoader.cpp in Sources */, + AA29CD630558741A00961A51 /* NoteData.cpp in Sources */, + AA29CD640558741A00961A51 /* NoteDataWithScoring.cpp in Sources */, + AA29CD660558741A00961A51 /* NotesLoader.cpp in Sources */, + AA29CD670558741A00961A51 /* NotesLoaderBMS.cpp in Sources */, + AA29CD680558741A00961A51 /* NotesLoaderDWI.cpp in Sources */, + 2B9C2E8D137A138B004C92F3 /* NotesLoaderJson.cpp in Sources */, + AA29CD690558741A00961A51 /* NotesLoaderKSF.cpp in Sources */, + EE2153A910A75BEE0074B01B /* NotesLoaderPMS.cpp in Sources */, + AA29CD6A0558741A00961A51 /* NotesLoaderSM.cpp in Sources */, + 2B76698C132FF71500586512 /* NotesLoaderSMA.cpp in Sources */, + 2BA7925E1304F20D002BD8E1 /* NotesLoaderSSC.cpp in Sources */, + AA29CD6B0558741A00961A51 /* NotesWriterDWI.cpp in Sources */, + 2B9C2E8F137A138B004C92F3 /* NotesWriterJson.cpp in Sources */, + AA29CD6C0558741A00961A51 /* NotesWriterSM.cpp in Sources */, + B75CE3B6137963350076A82D /* SongPosition.cpp in Sources */, + AA29CD6D0558741A00961A51 /* NoteTypes.cpp in Sources */, + AA29CD6E0558741A00961A51 /* Player.cpp in Sources */, + AA29CD6F0558741A00961A51 /* PlayerAI.cpp in Sources */, + AA29CD700558741A00961A51 /* PlayerNumber.cpp in Sources */, + AA29CD710558741A00961A51 /* PlayerOptions.cpp in Sources */, + AA29CD720558741A00961A51 /* SongOptions.cpp in Sources */, + AA29CD730558741A00961A51 /* StageStats.cpp in Sources */, + AA29CD750558741A00961A51 /* TitleSubstitution.cpp in Sources */, + AA29CD760558741A00961A51 /* IniFile.cpp in Sources */, + AA29CD770558741A00961A51 /* MsdFile.cpp in Sources */, + AA29CD780558741A00961A51 /* StepMania.cpp in Sources */, + AA29CD790558741A00961A51 /* Banner.cpp in Sources */, + AA29CD7A0558741A00961A51 /* BPMDisplay.cpp in Sources */, + AA29CD7B0558741A00961A51 /* CourseContentsList.cpp in Sources */, + AA29CD7D0558741A00961A51 /* DifficultyIcon.cpp in Sources */, + AA29CD800558741A00961A51 /* EditMenu.cpp in Sources */, + AA29CD810558741A00961A51 /* FadingBanner.cpp in Sources */, + AA29CD820558741A00961A51 /* GradeDisplay.cpp in Sources */, + AA29CD840558741A00961A51 /* GrooveRadar.cpp in Sources */, + AA29CD860558741A00961A51 /* HelpDisplay.cpp in Sources */, + AA29CD890558741A00961A51 /* MenuTimer.cpp in Sources */, + AA29CD8A0558741A00961A51 /* MeterDisplay.cpp in Sources */, + AA29CD8E0558741A00961A51 /* MusicWheel.cpp in Sources */, + AA29CD8F0558741A00961A51 /* MusicWheelItem.cpp in Sources */, + AA29CD920558741A00961A51 /* OptionsCursor.cpp in Sources */, + AA29CD930558741A00961A51 /* ScrollBar.cpp in Sources */, + AA29CD950558741A00961A51 /* SnapDisplay.cpp in Sources */, + AA29CD960558741A00961A51 /* TextBanner.cpp in Sources */, + AA29CD970558741A00961A51 /* WheelNotifyIcon.cpp in Sources */, + AA29CD980558741A00961A51 /* ArrowEffects.cpp in Sources */, + AA29CD990558741A00961A51 /* Background.cpp in Sources */, + AA29CD9A0558741A00961A51 /* BGAnimation.cpp in Sources */, + AA29CD9B0558741A00961A51 /* BGAnimationLayer.cpp in Sources */, + AA29CD9D0558741A00961A51 /* DancingCharacters.cpp in Sources */, + AA29CD9F0558741A00961A51 /* GhostArrowRow.cpp in Sources */, + AA29CDA30558741A00961A51 /* HoldJudgment.cpp in Sources */, + AA29CDA50558741A00961A51 /* LifeMeterBar.cpp in Sources */, + AA29CDA60558741A00961A51 /* LifeMeterBattery.cpp in Sources */, + AA29CDA70558741A00961A51 /* LyricDisplay.cpp in Sources */, + AA29CDA80558741A00961A51 /* NoteDisplay.cpp in Sources */, + AA29CDA90558741A00961A51 /* NoteField.cpp in Sources */, + AA29CDAA0558741A00961A51 /* ScoreDisplay.cpp in Sources */, + AA29CDAB0558741A00961A51 /* ScoreDisplayBattle.cpp in Sources */, + AA29CDAC0558741A00961A51 /* ScoreDisplayNormal.cpp in Sources */, + AA29CDAD0558741A00961A51 /* ScoreDisplayOni.cpp in Sources */, + AA29CDAE0558741A00961A51 /* ScoreDisplayRave.cpp in Sources */, + AA29CDB10558741A00961A51 /* Transition.cpp in Sources */, + AA29CDB20558741A00961A51 /* Actor.cpp in Sources */, + AA29CDB30558741A00961A51 /* ActorFrame.cpp in Sources */, + AA29CDB40558741A00961A51 /* ActorScroller.cpp in Sources */, + AA29CDB50558741A00961A51 /* BitmapText.cpp in Sources */, + AA29CDB70558741A00961A51 /* Model.cpp in Sources */, + AA29CDB80558741A00961A51 /* ModelTypes.cpp in Sources */, + AA29CDB90558741A00961A51 /* Sprite.cpp in Sources */, + AA29CDBA0558741A00961A51 /* Screen.cpp in Sources */, + AA29CDBB0558741A00961A51 /* ScreenAttract.cpp in Sources */, + AA29CDBE0558741A00961A51 /* ScreenDemonstration.cpp in Sources */, + AA29CDBF0558741A00961A51 /* ScreenEdit.cpp in Sources */, + AA29CDC00558741A00961A51 /* ScreenEditMenu.cpp in Sources */, + AA29CDC10558741A00961A51 /* ScreenEvaluation.cpp in Sources */, + AA29CDC50558741A00961A51 /* ScreenGameplay.cpp in Sources */, + AA29CDC60558741A00961A51 /* ScreenJukebox.cpp in Sources */, + AA29CDC90558741A00961A51 /* ScreenManager.cpp in Sources */, + AA29CDCA0558741A00961A51 /* ScreenMapControllers.cpp in Sources */, + AA29CDCB0558741A00961A51 /* ScreenMiniMenu.cpp in Sources */, + AA29CDCD0558741A00961A51 /* ScreenNameEntry.cpp in Sources */, + AA29CDCE0558741A00961A51 /* ScreenOptions.cpp in Sources */, + AA29CDCF0558741A00961A51 /* ScreenPlayerOptions.cpp in Sources */, + AA29CDD00558741A00961A51 /* ScreenPrompt.cpp in Sources */, + AA29CDD10558741A00961A51 /* ScreenRanking.cpp in Sources */, + AA29CDD30558741A00961A51 /* ScreenSandbox.cpp in Sources */, + AA29CDD40558741A00961A51 /* ScreenSelect.cpp in Sources */, + AA29CDD50558741A00961A51 /* ScreenSelectCharacter.cpp in Sources */, + AA29CDDB0558741A00961A51 /* ScreenSelectMusic.cpp in Sources */, + AA29CDDD0558741A00961A51 /* ScreenSongOptions.cpp in Sources */, + AA29CDE20558741A00961A51 /* ScreenTestSound.cpp in Sources */, + AA29CDE30558741A00961A51 /* ScreenTextEntry.cpp in Sources */, + AA29CDE40558741A00961A51 /* ScreenTitleMenu.cpp in Sources */, + AA29CDE60558741A00961A51 /* AnnouncerManager.cpp in Sources */, + AA29CDE70558741A00961A51 /* GameManager.cpp in Sources */, + AA29CDE80558741A00961A51 /* GameState.cpp in Sources */, + AA29CDE90558741A00961A51 /* InputFilter.cpp in Sources */, + AA29CDEA0558741A00961A51 /* InputMapper.cpp in Sources */, + AA29CDEB0558741A00961A51 /* InputQueue.cpp in Sources */, + AA29CDEC0558741A00961A51 /* NoteSkinManager.cpp in Sources */, + AA29CDED0558741A00961A51 /* PrefsManager.cpp in Sources */, + AA29CDEE0558741A00961A51 /* SongManager.cpp in Sources */, + AA29CDEF0558741A00961A51 /* ThemeManager.cpp in Sources */, + AA29CDF10558741A00961A51 /* RageSoundDriver_Null.cpp in Sources */, + AA29CDF50558741A00961A51 /* MovieTexture.cpp in Sources */, + AA29CDF60558741A00961A51 /* SongCacheIndex.cpp in Sources */, + AA29CDF70558741A00961A51 /* Song.cpp in Sources */, + AA29CDF80558741A00961A51 /* RandomSample.cpp in Sources */, + AA29CDFA0558741A00961A51 /* RageUtil_CharConversions.cpp in Sources */, + AA29CDFB0558741A00961A51 /* BannerCache.cpp in Sources */, + AA29CDFE0558741A00961A51 /* ScreenSelectMaster.cpp in Sources */, + AA29CE000558741A00961A51 /* CombinedLifeMeterTug.cpp in Sources */, + AA29CE010558741A00961A51 /* ScoreKeeperRave.cpp in Sources */, + AA29CE070558741A00961A51 /* RageUtil_FileDB.cpp in Sources */, + AA29CE090558741A00961A51 /* ActorUtil.cpp in Sources */, + AA29CE0B0558741A00961A51 /* ArchHooks.cpp in Sources */, + AA29CE0C0558741A00961A51 /* InputHandler.cpp in Sources */, + AA29CE0E0558741A00961A51 /* MovieTexture_Null.cpp in Sources */, + AA29CE100558741A00961A51 /* RageFile.cpp in Sources */, + AA29CE140558741A00961A51 /* CrashHandler.cpp in Sources */, + AA29CE150558741A00961A51 /* CrashHandlerChild.cpp in Sources */, + AA29CE170558741A00961A51 /* ver.cpp in Sources */, + AA29CE180558741A00961A51 /* Steps.cpp in Sources */, + AA29CE190558741A00961A51 /* NoteDataUtil.cpp in Sources */, + AA29CE1E0558741A00961A51 /* BeginnerHelper.cpp in Sources */, + AA29CE200558741A00961A51 /* MovieTexture_FFMpeg.cpp in Sources */, + AA29CE220558741A00961A51 /* ProfileManager.cpp in Sources */, + AA29CE230558741A00961A51 /* RageSoundReader_WAV.cpp in Sources */, + AA29CE240558741A00961A51 /* RageSoundReader_FileReader.cpp in Sources */, + AA29CE250558741A00961A51 /* RageSoundReader_MP3.cpp in Sources */, + AA29CE260558741A00961A51 /* RageSoundReader_Vorbisfile.cpp in Sources */, + AA29CE280558741A00961A51 /* RageSoundReader_Resample_Good.cpp in Sources */, + AA29CE290558741A00961A51 /* ScreenExit.cpp in Sources */, + AA29CE2B0558741A00961A51 /* ScreenOptionsMaster.cpp in Sources */, + AA29CE2C0558741A00961A51 /* ScreenOptionsMasterPrefs.cpp in Sources */, + AA29CE2D0558741A00961A51 /* ScreenReloadSongs.cpp in Sources */, + AA29CE2F0558741A00961A51 /* ScreenInstructions.cpp in Sources */, + AA29CE300558741A00961A51 /* ScreenHowToPlay.cpp in Sources */, + AA29CE310558741A00961A51 /* PercentageDisplay.cpp in Sources */, + AA29CE320558741A00961A51 /* ScoreDisplayPercentage.cpp in Sources */, + AA29CE340558741A00961A51 /* ScreenTestInput.cpp in Sources */, + AA29CE350558741A00961A51 /* ScreenBookkeeping.cpp in Sources */, + AA29CE360558741A00961A51 /* ScreenNameEntryTraditional.cpp in Sources */, + AA29CE370558741A00961A51 /* Bookkeeper.cpp in Sources */, + AA29CE380558741A00961A51 /* GraphDisplay.cpp in Sources */, + AA29CE390558741A00961A51 /* ComboGraph.cpp in Sources */, + AA29CE3A0558741A00961A51 /* Attack.cpp in Sources */, + AA9EC2F2055F5126007E5098 /* RageTextureID.cpp in Sources */, + AAC6DCE50567660A00B5D56F /* LightsManager.cpp in Sources */, + AAC6DDE00569C71000B5D56F /* PaneDisplay.cpp in Sources */, + AAC6DDE80569C80900B5D56F /* DifficultyList.cpp in Sources */, + AAB691F405704FA50078BED4 /* LightsDriver_SystemMessage.cpp in Sources */, + AAB005F20579B8CB000BBA58 /* AttackDisplay.cpp in Sources */, + AAB00861057F4F7A000BBA58 /* RageFileDriver.cpp in Sources */, + AAB00863057F4F7A000BBA58 /* RageFileDriverDirect.cpp in Sources */, + AAB00865057F4F7A000BBA58 /* RageFileManager.cpp in Sources */, + AA251B7705841FCE00027ACB /* RageFileDriverZip.cpp in Sources */, + AA28B47C058F2F5E0097C109 /* MemoryCardManager.cpp in Sources */, + AABE788E05912B0600E8BF50 /* DualScrollBar.cpp in Sources */, + AA729C440599B50D00779F33 /* TimingData.cpp in Sources */, + AA729C480599B54D00779F33 /* MemoryCardDisplay.cpp in Sources */, + AA729C520599B58D00779F33 /* ReceptorArrow.cpp in Sources */, + AA729C540599B58D00779F33 /* ReceptorArrowRow.cpp in Sources */, + AABE321C05ACD8ED001A0E84 /* ScreenEnding.cpp in Sources */, + AABE322005ACD931001A0E84 /* Foreground.cpp in Sources */, + AABE322405ACDA52001A0E84 /* RageFileDriverDirectHelpers.cpp in Sources */, + AAF4206705D63FA700056441 /* ModelManager.cpp in Sources */, + AAF4206B05D6400800056441 /* RageModelGeometry.cpp in Sources */, + AA50201F05D6D7B200ACEFD0 /* Profile.cpp in Sources */, + AABBD80805D8E9FC00B44FC2 /* HighScore.cpp in Sources */, + AABD0B3A05DF3F22004F7929 /* CryptManager.cpp in Sources */, + AAA71EA105EE154E00D2E8FF /* global.cpp in Sources */, + AAED6F2C0601C528002D2DEE /* Backtrace.cpp in Sources */, + AAED6F2E0601C528002D2DEE /* BacktraceNames.cpp in Sources */, + AA0A3DE8060513A00044E6B1 /* ScreenSetTime.cpp in Sources */, + AAE7804B060814AC0034E65F /* NetworkSyncManager.cpp in Sources */, + AAE7808706081A000034E65F /* ezsockets.cpp in Sources */, + AAE7812D0608249E0034E65F /* ActiveAttackList.cpp in Sources */, + AA1CD943060AE571003702C4 /* RageSoundDriver_Generic_Software.cpp in Sources */, + AAF7435B06110E8D00B19AD1 /* ScreenTestLights.cpp in Sources */, + AAF74590061181F700B19AD1 /* RageDisplay_Null.cpp in Sources */, + AAD36084062BB8AE00D0CED8 /* RageSoundPosMap.cpp in Sources */, + AA2828B3062FC0B8006F61EC /* SignalHandler.cpp in Sources */, + AA5C73FD0637A5F100AFB891 /* CourseUtil.cpp in Sources */, + AA5C73FF0637A5F100AFB891 /* SongUtil.cpp in Sources */, + AA5C74010637A5F100AFB891 /* StepsUtil.cpp in Sources */, + AAA6BFEC0644AB3700AFBBC8 /* ScreenWithMenuElements.cpp in Sources */, + AABBF6760659E78D00738526 /* RageSurface_Load_GIF.cpp in Sources */, + AABBF6780659E78D00738526 /* RageSurface_Load_JPEG.cpp in Sources */, + AABBF67A0659E78D00738526 /* RageSurface_Load_PNG.cpp in Sources */, + AABBF67C0659E78D00738526 /* RageSurface_Load_XPM.cpp in Sources */, + AABBF67E0659E78D00738526 /* RageSurface_Load.cpp in Sources */, + AAD6A714065E0FDF0042165A /* Difficulty.cpp in Sources */, + AA70E36A0663112800DAE1FD /* Trail.cpp in Sources */, + AA70E36C0663112800DAE1FD /* TrailUtil.cpp in Sources */, + AA42F5E8067068D30013509E /* ScreenNetworkOptions.cpp in Sources */, + AAD675F606795175006002B0 /* Dialog.cpp in Sources */, + AA60E0C2067992D7008ADC41 /* Threads_Pthreads.cpp in Sources */, + AA91587D067D2C2C00078E36 /* RageSurface.cpp in Sources */, + AA9091A1067ED43000C1FCFF /* RageSurface_Load_BMP.cpp in Sources */, + AA9091A5067ED46400C1FCFF /* RageSurface_Save_BMP.cpp in Sources */, + AA139C4706923EBE00C1F6ED /* Style.cpp in Sources */, + AAC9F330069E22BB00D53E2C /* GameSoundManager.cpp in Sources */, + AAC9F334069E22CF00D53E2C /* MemoryCardDriver.cpp in Sources */, + AA3D790106A275E90064B980 /* RadarValues.cpp in Sources */, + AA3D793306A279530064B980 /* DateTime.cpp in Sources */, + AA3A706206AA1645006F755E /* StyleUtil.cpp in Sources */, + AA9A78AB06B5C72200B03E97 /* Game.cpp in Sources */, + AA22CBA506DE909C0083BA97 /* ScreenNetSelectMusic.cpp in Sources */, + AAB9C8AF06EAF64400AD97CD /* RageSurfaceUtils_Palettize.cpp in Sources */, + AAB9C8B106EAF64400AD97CD /* RageSurfaceUtils.cpp in Sources */, + AAB9C8B506EAF66C00AD97CD /* ScreenNetEvaluation.cpp in Sources */, + AA64218806EC606F00C21584 /* RageFileDriverMemory.cpp in Sources */, + AA8A3E6406EDCD11002F25AB /* DarwinThreadHelpers.cpp in Sources */, + AA8A405106EEFF72002F25AB /* RageUtil_BackgroundLoader.cpp in Sources */, + AA21D59D0712ADE4008B825F /* ScreenDimensions.cpp in Sources */, + AAFC6CF1072A30440053AAD3 /* InputHandler_MonkeyKeyboard.cpp in Sources */, + AAAB2CDF072BD2EC00CD9FC9 /* AutoKeysounds.cpp in Sources */, + AAAB2CE3072BD2FA00CD9FC9 /* RageSoundMixBuffer.cpp in Sources */, + AA7ADC27072CAB7F00C50A7F /* RageSoundReader_Chain.cpp in Sources */, + AA7ADC29072CAB7F00C50A7F /* RageSoundUtil.cpp in Sources */, + AAF793F5074FE69E00D74516 /* ScreenNetRoom.cpp in Sources */, + AAF793F7074FE69E00D74516 /* ScreenNetSelectBase.cpp in Sources */, + AA1145DD075DFADF0050A3D1 /* ScreenPackages.cpp in Sources */, + AA1145DF075DFADF0050A3D1 /* ScreenSystemLayer.cpp in Sources */, + AA1B083C0762532800835464 /* Command.cpp in Sources */, + AA1B083E0762532800835464 /* GameCommand.cpp in Sources */, + AA1B08400762532800835464 /* Preference.cpp in Sources */, + AA0E04D4076C4CD500716D81 /* RageFileBasic.cpp in Sources */, + AA0E04D6076C4CD500716D81 /* RageFileDriverDeflate.cpp in Sources */, + AA0E04D8076C4CD500716D81 /* RageFileDriverSlice.cpp in Sources */, + AAEBC6CC07A20AFE00793F0E /* RageSurface_Save_JPEG.cpp in Sources */, + AAEBC6CE07A20AFE00793F0E /* RageSurfaceUtils_Dither.cpp in Sources */, + AAEBC6D007A20AFE00793F0E /* RageSurfaceUtils_Zoom.cpp in Sources */, + AAEBC79107A4FF5600793F0E /* LuaManager.cpp in Sources */, + AACA593107B5E23400763545 /* RageFileDriverTimeout.cpp in Sources */, + AACA593407B5E23400763545 /* RageUtil_WorkerThread.cpp in Sources */, + AA8BD2A807C9391B00EA04E1 /* LuaReference.cpp in Sources */, + AA8BD2AA07C9391B00EA04E1 /* MessageManager.cpp in Sources */, + AA8BD2AC07C9391B00EA04E1 /* StatsManager.cpp in Sources */, + AA8BD2B107C9395400EA04E1 /* AutoActor.cpp in Sources */, + AA8BD2B607C939A200EA04E1 /* OptionRow.cpp in Sources */, + AA8BD2BF07C939F800EA04E1 /* PlayerStageStats.cpp in Sources */, + AA8BD2C107C939F800EA04E1 /* PlayerState.cpp in Sources */, + AA8BD2C207C939F800EA04E1 /* RollingNumbers.cpp in Sources */, + AA8BD2C407C939F800EA04E1 /* ScoreDisplayCalories.cpp in Sources */, + AA8BD2C707C93A1E00EA04E1 /* CommonMetrics.cpp in Sources */, + AA80C75407F20D0D00C99272 /* UnlockManager.cpp in Sources */, + AA80C75907F20D6600C99272 /* OptionRowHandler.cpp in Sources */, + AA80C75C07F20D8000C99272 /* ScreenMessage.cpp in Sources */, + AA6E6E0A07F518E800C3EBB4 /* Quad.cpp in Sources */, + AA7144B10809EEEC00545684 /* ScoreDisplayAliveTime.cpp in Sources */, + AA3D5E6008214C77002AA665 /* ScoreDisplayLifeTime.cpp in Sources */, + AA3D5E91082152B6002AA665 /* StreamDisplay.cpp in Sources */, + AA3D5E95082152E5002AA665 /* LifeMeterTime.cpp in Sources */, + AAAFE8200835E7FF00FC43E0 /* WheelBase.cpp in Sources */, + AAAFE8220835E7FF00FC43E0 /* WheelItemBase.cpp in Sources */, + AAAFE8300835E8B100FC43E0 /* RoomWheel.cpp in Sources */, + AA07A55F0843E72B00E33D21 /* ScreenDebugOverlay.cpp in Sources */, + AA07A5630843E72B00E33D21 /* ScreenSaveSync.cpp in Sources */, + AA07A5650843E72B00E33D21 /* ScreenSMOnlineLogin.cpp in Sources */, + AA07A5670843E72B00E33D21 /* ScreenSyncOverlay.cpp in Sources */, + AA7DA2F1085760E90057F1EA /* BackgroundUtil.cpp in Sources */, + AAB6B477085761B700CEE7BA /* ScreenSplash.cpp in Sources */, + AA8EE0760866E266002C51A7 /* LuaBinding.cpp in Sources */, + AA91ACB10878BB2C00FB2F8F /* RageTexturePreloader.cpp in Sources */, + AAFAB5C10889098600767BF7 /* ScreenOptionsEditProfile.cpp in Sources */, + AAFAB5CD08890B5200767BF7 /* GameLoop.cpp in Sources */, + AA77E74708B64B1400FA24CA /* CharacterManager.cpp in Sources */, + AA77E74F08B64B5600FA24CA /* CourseLoaderCRS.cpp in Sources */, + AA77E75108B64B5600FA24CA /* CourseWriterCRS.cpp in Sources */, + AA77E76508B64B9A00FA24CA /* ScreenOptionsManageCourses.cpp in Sources */, + AA77E76708B64B9A00FA24CA /* ScreenOptionsManageProfiles.cpp in Sources */, + 1215D7A208C6559A00B87D8B /* ScreenGameplayNormal.cpp in Sources */, + AACFBE2808E7D793005087FC /* ActorSound.cpp in Sources */, + AACFBE4F08E7D893005087FC /* ScreenGameplayLesson.cpp in Sources */, + AACFBE6308E7DBA8005087FC /* LuaExpressionTransform.cpp in Sources */, + AAF3442B08F1C36A0006EDB7 /* DynamicActorScroller.cpp in Sources */, + AAF34ADE0900AEBD0006EDB7 /* ScoreKeeperNormal.cpp in Sources */, + AAF34AED0900B00C0006EDB7 /* ScreenStatsOverlay.cpp in Sources */, + AAA372D40909934500141131 /* MovieTexture_Generic.cpp in Sources */, + AAA372D60909934500141131 /* MovieTexture_Theora.cpp in Sources */, + AA2FB639091212B0000FD574 /* LifeMeter.cpp in Sources */, + AAFBEED1094D7FCB000029DE /* SpecialFiles.cpp in Sources */, + AAFBEEEB094D807E000029DE /* ScreenOptionsManageEditSteps.cpp in Sources */, + AAFBEEED094D807E000029DE /* ScreenOptionsMemoryCard.cpp in Sources */, + AAFBEEEF094D807E000029DE /* ScreenServiceAction.cpp in Sources */, + AA0732900954381800F396C5 /* XmlFileUtil.cpp in Sources */, + AAD5219C095513DA00073D86 /* XmlFile.cpp in Sources */, + AADD1CC5095C233F0088C9DF /* LocalizedString.cpp in Sources */, + AABBFCD309838C3A00F077E2 /* SMMain.mm in Sources */, + AA44705509846B0800983E82 /* HIDDevice.cpp in Sources */, + AA44708F0984720900983E82 /* JoystickDevice.cpp in Sources */, + AA4470BD098476F600983E82 /* KeyboardDevice.cpp in Sources */, + AAC0C8C20984AE3B0075FC53 /* Tween.cpp in Sources */, + AA65877B098C322800CE55CC /* ScreenUnlockStatus.cpp in Sources */, + AA84B7070996F8370085EECB /* AdjustSync.cpp in Sources */, + AAB55EBB09A7E3D3008FDC69 /* ScreenGameplaySyncMachine.cpp in Sources */, + AAB55EBD09A7E3D3008FDC69 /* ScreenUnlockBrowse.cpp in Sources */, + AAB55EBF09A7E3D3008FDC69 /* ScreenUnlockCelebrate.cpp in Sources */, + AA1F9C4809AF1BF5002C15A8 /* PumpDevice.cpp in Sources */, + AA3E3DF109D96A1400A259C7 /* CrashHandlerInternal.cpp in Sources */, + AAEDFD690A03762B00590617 /* Crash.cpp in Sources */, + AA147F1B0A0F78D8006EADF6 /* VectorHelper.cpp in Sources */, + AA8CF5180A4518BE0005F1B4 /* RageSoundDriver_AU.cpp in Sources */, + AAD8F9370A4B97DF000311CF /* ScreenGameplayShared.cpp in Sources */, + AAAA11C70A662F9D00B2BD88 /* ScoreKeeperShared.cpp in Sources */, + AAE2D6D40A67481E00071546 /* ScoreKeeper.cpp in Sources */, + AA2EA0010A770208003A0C11 /* ScreenSelectLanguage.cpp in Sources */, + AA5D16570A79805C00F17E86 /* RageTextureRenderTarget.cpp in Sources */, + AA5D166C0A798C0E00F17E86 /* ActorFrameTexture.cpp in Sources */, + AAFE710B0A91ADE6005F2290 /* ActorProxy.cpp in Sources */, + AAFE711F0A91B551005F2290 /* RageSurface_Save_PNG.cpp in Sources */, + AAFE71200A91B551005F2290 /* RoomInfoDisplay.cpp in Sources */, + AABE830E0A9524D400001678 /* ModsGroup.cpp in Sources */, + AAE77F580AC3B52500AEFC64 /* RageTypes.cpp in Sources */, + AAE780400AC76A1200AEFC64 /* WorkoutGraph.cpp in Sources */, + AAFAFC900AC8DB9F00427A6E /* EnumHelper.cpp in Sources */, + AA6999630ACE1CBB000237F9 /* ControllerStateDisplay.cpp in Sources */, + AAB779FB0B0D9CB200B74314 /* ScoreKeeperGuitar.cpp in Sources */, + AA608EC00B0F85E400B39AC4 /* DialogDriver.cpp in Sources */, + AA608FAD0B0F9A4E00B39AC4 /* RageSoundDriver.cpp in Sources */, + AA6090E60B141D1C00B39AC4 /* GamePreferences.cpp in Sources */, + AAFB549E0B1BC32700FC3A81 /* RageSoundReader.cpp in Sources */, + AA31D5210B1EC6540016AB6B /* RageSoundReader_PitchChange.cpp in Sources */, + AA31D5230B1EC6540016AB6B /* RageSoundReader_SpeedChange.cpp in Sources */, + AA4F27B20B2C01B400ADEA79 /* RageSoundReader_ChannelSplit.cpp in Sources */, + AA4F27B40B2C01B400ADEA79 /* RageSoundReader_Pan.cpp in Sources */, + AA909E1F0B45B676002852D3 /* RageDriver.cpp in Sources */, + AA909E240B45B696002852D3 /* LowLevelWindow.cpp in Sources */, + AA909E270B45B6AC002852D3 /* LoadingWindow.cpp in Sources */, + AA909E3D0B45B8FB002852D3 /* RageSoundReader_Extend.cpp in Sources */, + AA909E3F0B45B8FB002852D3 /* RageSoundReader_ThreadedBuffer.cpp in Sources */, + AA909E490B45B93E002852D3 /* LightsDriver.cpp in Sources */, + AAEBF5600B5C517E005F3C7C /* SampleHistory.cpp in Sources */, + AAEBF57E0B5C83F4005F3C7C /* SoundEffectControl.cpp in Sources */, + AA07008A0B61F177003B85BB /* RageSoundReader_PostBuffering.cpp in Sources */, + AA7C8DB00B68CB2200FD9940 /* GameplayAssist.cpp in Sources */, + AA059ABE0B8CCFB5006F8139 /* ActorMultiTexture.cpp in Sources */, + AA05A0B20BA2EFF3006F8139 /* OptionsList.cpp in Sources */, + AA2C9CA30BAD6F55002441E9 /* CodeSet.cpp in Sources */, + AA2CA8A10BB745BD002441E9 /* ScreenContinue.cpp in Sources */, + 3688B8530BD42DAA004186AD /* NotesLoaderMidi.cpp in Sources */, + AA1893640BD777C500AEC0BF /* ScreenProfileLoad.cpp in Sources */, + AA1893660BD777C500AEC0BF /* ScreenProfileSave.cpp in Sources */, + AA3396BA0BDE195E00E1475F /* RageSoundReader_Merge.cpp in Sources */, + AAB3B7DC0C6C582E001BF487 /* ScreenSelectProfile.cpp in Sources */, + AAB3BB590C718F2D001BF487 /* RageUtil_CachedObject.cpp in Sources */, + AAA7D4C90C7E872600FB8F78 /* ScreenOptionsToggleSongs.cpp in Sources */, + AA11A20F0DC5A1B0006BD8AC /* ModIcon.cpp in Sources */, + AA11A2110DC5A1B0006BD8AC /* ModIconRow.cpp in Sources */, + AA6C6AD80DC6B17B00E7A13E /* ArchHooks_MacOSX.cpp in Sources */, + AA6C6ADE0DC6B1DC00E7A13E /* DialogDriver_MacOSX.cpp in Sources */, + AA6C6AE50DC6B22800E7A13E /* LoadingWindow_MacOSX.mm in Sources */, + AA6C6B030DC6B2B400E7A13E /* LowLevelWindow_MacOSX.mm in Sources */, + AA6C6B080DC6B30E00E7A13E /* MemoryCardDriverThreaded_MacOSX.cpp in Sources */, + AA6C6B0E0DC6B48C00E7A13E /* InputHandler_MacOSX_HID.cpp in Sources */, + AAC0BFE10E2951EC00F56EEB /* CryptHelpers.cpp in Sources */, + EEC7863F0E58208B00F559BC /* StepsDisplay.cpp in Sources */, + 367D575B0EDE56F200B46814 /* ScreenHighScores.cpp in Sources */, + AAFF41A30F5BD4AD00FFDB67 /* ScreenOptionsExportPackage.cpp in Sources */, + 3659B56F0F902143002B6B68 /* CommandLineActions.cpp in Sources */, + 36CA531C0F91564A0063D59D /* ScreenOptionsCourseOverview.cpp in Sources */, + 36CA53200F9156860063D59D /* ScreenOptionsEditCourse.cpp in Sources */, + EEA7C84310A805A300082E7B /* ScreenPackagesSSC.cpp in Sources */, + 36C6888311297FFE00453295 /* RageFileDriverReadAhead.cpp in Sources */, + 36C6888511297FFE00453295 /* RageFileManager_ReadAhead.cpp in Sources */, + EE906F6612BF3A1B00146C96 /* ScreenInstallOverlay.cpp in Sources */, + EE906F8212BF3AF800146C96 /* JsonUtil.cpp in Sources */, + EE906F8A12BF3C7C00146C96 /* FileDownload.cpp in Sources */, + 2BA792601304F20D002BD8E1 /* NotesWriterSSC.cpp in Sources */, + 2B30D6821315EA7E00044B68 /* MouseDevice.cpp in Sources */, + EE879B60132DEE720078FDDC /* RageDisplay_Legacy_Helpers.cpp in Sources */, + EE879B62132DEE720078FDDC /* RageDisplay_Legacy.cpp in Sources */, + 2BD06FF1137242680018CB9F /* json_reader.cpp in Sources */, + 2BD06FF2137242680018CB9F /* json_value.cpp in Sources */, + 2BD06FF4137242680018CB9F /* json_writer.cpp in Sources */, + 2B43509613949F37006FA051 /* TimingSegments.cpp in Sources */, + B71A60C0139B41DB00183A27 /* InGameLoadingWindow.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AA40D38009A08D650068C0D5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + AA40D38109A08D650068C0D5 /* RageUtil.cpp in Sources */, + AA40D38209A08D650068C0D5 /* RageBitmapTexture.cpp in Sources */, + AA40D38309A08D650068C0D5 /* RageDisplay.cpp in Sources */, + AA40D38409A08D650068C0D5 /* RageException.cpp in Sources */, + AA40D38509A08D650068C0D5 /* RageInput.cpp in Sources */, + AA40D38609A08D650068C0D5 /* RageInputDevice.cpp in Sources */, + AA40D38709A08D650068C0D5 /* RageLog.cpp in Sources */, + AA40D38809A08D650068C0D5 /* RageMath.cpp in Sources */, + AA40D38909A08D650068C0D5 /* RageSound.cpp in Sources */, + AA40D38A09A08D650068C0D5 /* RageSoundManager.cpp in Sources */, + AA40D38B09A08D650068C0D5 /* RageSoundReader_Preload.cpp in Sources */, + AA40D38D09A08D650068C0D5 /* RageTexture.cpp in Sources */, + AA40D38E09A08D650068C0D5 /* RageTextureManager.cpp in Sources */, + AA40D38F09A08D650068C0D5 /* RageThreads.cpp in Sources */, + AA40D39009A08D650068C0D5 /* RageTimer.cpp in Sources */, + AA40D39109A08D650068C0D5 /* Character.cpp in Sources */, + AA40D39209A08D650068C0D5 /* CodeDetector.cpp in Sources */, + AA40D39309A08D650068C0D5 /* Course.cpp in Sources */, + AA40D39409A08D650068C0D5 /* Font.cpp in Sources */, + AA40D39509A08D650068C0D5 /* FontCharAliases.cpp in Sources */, + AA40D39609A08D650068C0D5 /* FontCharmaps.cpp in Sources */, + AA40D39709A08D650068C0D5 /* FontManager.cpp in Sources */, + AA40D39809A08D650068C0D5 /* GameConstantsAndTypes.cpp in Sources */, + AA40D39909A08D650068C0D5 /* GameInput.cpp in Sources */, + AA40D39A09A08D650068C0D5 /* Grade.cpp in Sources */, + AA40D39B09A08D650068C0D5 /* Inventory.cpp in Sources */, + AA40D39C09A08D650068C0D5 /* LyricsLoader.cpp in Sources */, + AA40D39D09A08D650068C0D5 /* NoteData.cpp in Sources */, + AA40D39E09A08D650068C0D5 /* NoteDataWithScoring.cpp in Sources */, + AA40D3A009A08D650068C0D5 /* NotesLoader.cpp in Sources */, + AA40D3A109A08D650068C0D5 /* NotesLoaderBMS.cpp in Sources */, + AA40D3A209A08D650068C0D5 /* NotesLoaderDWI.cpp in Sources */, + AA40D3A309A08D650068C0D5 /* NotesLoaderKSF.cpp in Sources */, + AA40D3A409A08D650068C0D5 /* NotesLoaderSM.cpp in Sources */, + AA40D3A509A08D650068C0D5 /* NotesWriterDWI.cpp in Sources */, + AA40D3A609A08D650068C0D5 /* NotesWriterSM.cpp in Sources */, + AA40D3A709A08D650068C0D5 /* NoteTypes.cpp in Sources */, + AA40D3A809A08D650068C0D5 /* Player.cpp in Sources */, + AA40D3A909A08D650068C0D5 /* PlayerAI.cpp in Sources */, + AA40D3AA09A08D650068C0D5 /* PlayerNumber.cpp in Sources */, + AA40D3AB09A08D650068C0D5 /* PlayerOptions.cpp in Sources */, + AA40D3AC09A08D650068C0D5 /* SongOptions.cpp in Sources */, + AA40D3AD09A08D650068C0D5 /* StageStats.cpp in Sources */, + AA40D3AE09A08D650068C0D5 /* TitleSubstitution.cpp in Sources */, + AA40D3AF09A08D650068C0D5 /* IniFile.cpp in Sources */, + AA40D3B009A08D650068C0D5 /* MsdFile.cpp in Sources */, + AA40D3B109A08D650068C0D5 /* StepMania.cpp in Sources */, + AA40D3B209A08D650068C0D5 /* Banner.cpp in Sources */, + AA40D3B309A08D650068C0D5 /* BPMDisplay.cpp in Sources */, + AA40D3B409A08D650068C0D5 /* CourseContentsList.cpp in Sources */, + AA40D3B609A08D650068C0D5 /* DifficultyIcon.cpp in Sources */, + AA40D3B909A08D650068C0D5 /* EditMenu.cpp in Sources */, + AA40D3BA09A08D650068C0D5 /* FadingBanner.cpp in Sources */, + AA40D3BB09A08D650068C0D5 /* GradeDisplay.cpp in Sources */, + AA40D3BC09A08D650068C0D5 /* GrooveRadar.cpp in Sources */, + AA40D3BE09A08D650068C0D5 /* HelpDisplay.cpp in Sources */, + AA40D3BF09A08D650068C0D5 /* MenuTimer.cpp in Sources */, + AA40D3C009A08D650068C0D5 /* MeterDisplay.cpp in Sources */, + AA40D3C409A08D650068C0D5 /* MusicWheel.cpp in Sources */, + AA40D3C509A08D650068C0D5 /* MusicWheelItem.cpp in Sources */, + AA40D3C809A08D650068C0D5 /* OptionsCursor.cpp in Sources */, + AA40D3C909A08D650068C0D5 /* ScrollBar.cpp in Sources */, + AA40D3CB09A08D650068C0D5 /* SnapDisplay.cpp in Sources */, + AA40D3CC09A08D650068C0D5 /* TextBanner.cpp in Sources */, + AA40D3CD09A08D650068C0D5 /* WheelNotifyIcon.cpp in Sources */, + AA40D3CE09A08D650068C0D5 /* ArrowEffects.cpp in Sources */, + AA40D3CF09A08D650068C0D5 /* Background.cpp in Sources */, + AA40D3D009A08D650068C0D5 /* BGAnimation.cpp in Sources */, + AA40D3D109A08D650068C0D5 /* BGAnimationLayer.cpp in Sources */, + AA40D3D309A08D650068C0D5 /* DancingCharacters.cpp in Sources */, + AA40D3D409A08D650068C0D5 /* GhostArrowRow.cpp in Sources */, + AA40D3D509A08D650068C0D5 /* HoldJudgment.cpp in Sources */, + AA40D3D709A08D650068C0D5 /* LifeMeterBar.cpp in Sources */, + AA40D3D809A08D650068C0D5 /* LifeMeterBattery.cpp in Sources */, + AA40D3D909A08D650068C0D5 /* LyricDisplay.cpp in Sources */, + AA40D3DA09A08D650068C0D5 /* NoteDisplay.cpp in Sources */, + AA40D3DB09A08D650068C0D5 /* NoteField.cpp in Sources */, + AA40D3DC09A08D650068C0D5 /* ScoreDisplay.cpp in Sources */, + AA40D3DD09A08D650068C0D5 /* ScoreDisplayBattle.cpp in Sources */, + AA40D3DE09A08D650068C0D5 /* ScoreDisplayNormal.cpp in Sources */, + AA40D3DF09A08D650068C0D5 /* ScoreDisplayOni.cpp in Sources */, + AA40D3E009A08D650068C0D5 /* ScoreDisplayRave.cpp in Sources */, + AA40D3E109A08D650068C0D5 /* Transition.cpp in Sources */, + AA40D3E209A08D650068C0D5 /* Actor.cpp in Sources */, + AA40D3E309A08D650068C0D5 /* ActorFrame.cpp in Sources */, + AA40D3E409A08D650068C0D5 /* ActorScroller.cpp in Sources */, + AA40D3E509A08D650068C0D5 /* BitmapText.cpp in Sources */, + AA40D3E609A08D650068C0D5 /* Model.cpp in Sources */, + AA40D3E709A08D650068C0D5 /* ModelTypes.cpp in Sources */, + AA40D3E809A08D650068C0D5 /* Sprite.cpp in Sources */, + AA40D3E909A08D650068C0D5 /* Screen.cpp in Sources */, + AA40D3EA09A08D650068C0D5 /* ScreenAttract.cpp in Sources */, + AA40D3EC09A08D650068C0D5 /* ScreenDemonstration.cpp in Sources */, + AA40D3ED09A08D650068C0D5 /* ScreenEdit.cpp in Sources */, + AA40D3EE09A08D650068C0D5 /* ScreenEditMenu.cpp in Sources */, + AA40D3EF09A08D650068C0D5 /* ScreenEvaluation.cpp in Sources */, + AA40D3F209A08D650068C0D5 /* ScreenGameplay.cpp in Sources */, + AA40D3F309A08D650068C0D5 /* ScreenJukebox.cpp in Sources */, + AA40D3F409A08D650068C0D5 /* ScreenManager.cpp in Sources */, + AA40D3F509A08D650068C0D5 /* ScreenMapControllers.cpp in Sources */, + AA40D3F609A08D650068C0D5 /* ScreenMiniMenu.cpp in Sources */, + AA40D3F809A08D650068C0D5 /* ScreenNameEntry.cpp in Sources */, + AA40D3F909A08D650068C0D5 /* ScreenOptions.cpp in Sources */, + AA40D3FA09A08D650068C0D5 /* ScreenPlayerOptions.cpp in Sources */, + AA40D3FB09A08D650068C0D5 /* ScreenPrompt.cpp in Sources */, + AA40D3FC09A08D650068C0D5 /* ScreenRanking.cpp in Sources */, + AA40D3FD09A08D650068C0D5 /* ScreenSandbox.cpp in Sources */, + AA40D3FE09A08D650068C0D5 /* ScreenSelect.cpp in Sources */, + AA40D3FF09A08D650068C0D5 /* ScreenSelectCharacter.cpp in Sources */, + AA40D40309A08D650068C0D5 /* ScreenSelectMusic.cpp in Sources */, + AA40D40509A08D650068C0D5 /* ScreenSongOptions.cpp in Sources */, + AA40D40809A08D650068C0D5 /* ScreenTestSound.cpp in Sources */, + AA40D40909A08D650068C0D5 /* ScreenTextEntry.cpp in Sources */, + AA40D40A09A08D650068C0D5 /* ScreenTitleMenu.cpp in Sources */, + AA40D40B09A08D650068C0D5 /* AnnouncerManager.cpp in Sources */, + AA40D40C09A08D650068C0D5 /* GameManager.cpp in Sources */, + AA40D40D09A08D650068C0D5 /* GameState.cpp in Sources */, + AA40D40E09A08D650068C0D5 /* InputFilter.cpp in Sources */, + AA40D40F09A08D650068C0D5 /* InputMapper.cpp in Sources */, + AA40D41009A08D650068C0D5 /* InputQueue.cpp in Sources */, + AA40D41109A08D650068C0D5 /* NoteSkinManager.cpp in Sources */, + AA40D41209A08D650068C0D5 /* PrefsManager.cpp in Sources */, + AA40D41309A08D650068C0D5 /* SongManager.cpp in Sources */, + AA40D41409A08D650068C0D5 /* ThemeManager.cpp in Sources */, + AA40D41509A08D650068C0D5 /* RageSoundDriver_Null.cpp in Sources */, + AA40D41709A08D650068C0D5 /* MovieTexture.cpp in Sources */, + AA40D41809A08D650068C0D5 /* SongCacheIndex.cpp in Sources */, + AA40D41909A08D650068C0D5 /* Song.cpp in Sources */, + AA40D41A09A08D650068C0D5 /* RandomSample.cpp in Sources */, + AA40D41C09A08D650068C0D5 /* RageUtil_CharConversions.cpp in Sources */, + AA40D41D09A08D650068C0D5 /* BannerCache.cpp in Sources */, + AA40D42009A08D650068C0D5 /* ScreenSelectMaster.cpp in Sources */, + AA40D42109A08D650068C0D5 /* CombinedLifeMeterTug.cpp in Sources */, + AA40D42209A08D650068C0D5 /* ScoreKeeperRave.cpp in Sources */, + AA40D42709A08D650068C0D5 /* RageUtil_FileDB.cpp in Sources */, + AA40D42909A08D650068C0D5 /* ActorUtil.cpp in Sources */, + AA40D42A09A08D650068C0D5 /* ArchHooks.cpp in Sources */, + AA40D42B09A08D650068C0D5 /* InputHandler.cpp in Sources */, + AA40D42D09A08D650068C0D5 /* MovieTexture_Null.cpp in Sources */, + AA40D42E09A08D650068C0D5 /* RageFile.cpp in Sources */, + AA40D42F09A08D650068C0D5 /* CrashHandler.cpp in Sources */, + AA40D43009A08D650068C0D5 /* CrashHandlerChild.cpp in Sources */, + AA40D43109A08D650068C0D5 /* ver.cpp in Sources */, + AA40D43209A08D650068C0D5 /* Steps.cpp in Sources */, + AA40D43309A08D650068C0D5 /* NoteDataUtil.cpp in Sources */, + AA40D43409A08D650068C0D5 /* BeginnerHelper.cpp in Sources */, + AA40D43609A08D650068C0D5 /* MovieTexture_FFMpeg.cpp in Sources */, + AA40D43709A08D650068C0D5 /* ProfileManager.cpp in Sources */, + AA40D43809A08D650068C0D5 /* RageSoundReader_WAV.cpp in Sources */, + AA40D43909A08D650068C0D5 /* RageSoundReader_FileReader.cpp in Sources */, + AA40D43B09A08D650068C0D5 /* RageSoundReader_Vorbisfile.cpp in Sources */, + AA40D43D09A08D650068C0D5 /* RageSoundReader_Resample_Good.cpp in Sources */, + AA40D43E09A08D650068C0D5 /* ScreenExit.cpp in Sources */, + AA40D43F09A08D650068C0D5 /* ScreenOptionsMaster.cpp in Sources */, + AA40D44009A08D650068C0D5 /* ScreenOptionsMasterPrefs.cpp in Sources */, + AA40D44109A08D650068C0D5 /* ScreenReloadSongs.cpp in Sources */, + AA40D44209A08D650068C0D5 /* ScreenInstructions.cpp in Sources */, + AA40D44309A08D650068C0D5 /* ScreenHowToPlay.cpp in Sources */, + AA40D44409A08D650068C0D5 /* PercentageDisplay.cpp in Sources */, + AA40D44509A08D650068C0D5 /* ScoreDisplayPercentage.cpp in Sources */, + AA40D44709A08D650068C0D5 /* ScreenTestInput.cpp in Sources */, + AA40D44809A08D650068C0D5 /* ScreenBookkeeping.cpp in Sources */, + AA40D44909A08D650068C0D5 /* ScreenNameEntryTraditional.cpp in Sources */, + AA40D44A09A08D650068C0D5 /* Bookkeeper.cpp in Sources */, + AA40D44B09A08D650068C0D5 /* GraphDisplay.cpp in Sources */, + AA40D44C09A08D650068C0D5 /* ComboGraph.cpp in Sources */, + AA40D44D09A08D650068C0D5 /* Attack.cpp in Sources */, + AA40D44E09A08D650068C0D5 /* RageTextureID.cpp in Sources */, + AA40D44F09A08D650068C0D5 /* LightsManager.cpp in Sources */, + AA40D45009A08D650068C0D5 /* PaneDisplay.cpp in Sources */, + AA40D45109A08D650068C0D5 /* DifficultyList.cpp in Sources */, + AA40D45209A08D650068C0D5 /* LightsDriver_SystemMessage.cpp in Sources */, + AA40D45309A08D650068C0D5 /* AttackDisplay.cpp in Sources */, + AA40D45409A08D650068C0D5 /* RageFileDriver.cpp in Sources */, + AA40D45509A08D650068C0D5 /* RageFileDriverDirect.cpp in Sources */, + AA40D45609A08D650068C0D5 /* RageFileManager.cpp in Sources */, + AA40D45709A08D650068C0D5 /* RageFileDriverZip.cpp in Sources */, + AA40D45809A08D650068C0D5 /* MemoryCardManager.cpp in Sources */, + AA40D45909A08D650068C0D5 /* DualScrollBar.cpp in Sources */, + AA40D45A09A08D650068C0D5 /* TimingData.cpp in Sources */, + AA40D45B09A08D650068C0D5 /* MemoryCardDisplay.cpp in Sources */, + AA40D45C09A08D650068C0D5 /* ReceptorArrow.cpp in Sources */, + AA40D45D09A08D650068C0D5 /* ReceptorArrowRow.cpp in Sources */, + AA40D45E09A08D650068C0D5 /* ScreenEnding.cpp in Sources */, + AA40D45F09A08D650068C0D5 /* Foreground.cpp in Sources */, + AA40D46009A08D650068C0D5 /* RageFileDriverDirectHelpers.cpp in Sources */, + AA40D46109A08D650068C0D5 /* ModelManager.cpp in Sources */, + AA40D46209A08D650068C0D5 /* RageModelGeometry.cpp in Sources */, + AA40D46309A08D650068C0D5 /* Profile.cpp in Sources */, + AA40D46409A08D650068C0D5 /* HighScore.cpp in Sources */, + AA40D46509A08D650068C0D5 /* CryptManager.cpp in Sources */, + AA40D46609A08D650068C0D5 /* global.cpp in Sources */, + AA40D46709A08D650068C0D5 /* Backtrace.cpp in Sources */, + AA40D46809A08D650068C0D5 /* BacktraceNames.cpp in Sources */, + AA40D46909A08D650068C0D5 /* ScreenSetTime.cpp in Sources */, + AA40D46A09A08D650068C0D5 /* NetworkSyncManager.cpp in Sources */, + AA40D46C09A08D650068C0D5 /* ActiveAttackList.cpp in Sources */, + AA40D46D09A08D650068C0D5 /* RageSoundDriver_Generic_Software.cpp in Sources */, + AA40D46E09A08D650068C0D5 /* ScreenTestLights.cpp in Sources */, + AA40D46F09A08D650068C0D5 /* RageDisplay_Null.cpp in Sources */, + AA40D47409A08D650068C0D5 /* RageSoundPosMap.cpp in Sources */, + AA40D47509A08D650068C0D5 /* SignalHandler.cpp in Sources */, + AA40D47609A08D650068C0D5 /* CourseUtil.cpp in Sources */, + AA40D47709A08D650068C0D5 /* SongUtil.cpp in Sources */, + AA40D47809A08D650068C0D5 /* StepsUtil.cpp in Sources */, + AA40D47909A08D650068C0D5 /* ScreenWithMenuElements.cpp in Sources */, + AA40D49009A08D650068C0D5 /* RageSurface_Load_GIF.cpp in Sources */, + AA40D49109A08D650068C0D5 /* RageSurface_Load_JPEG.cpp in Sources */, + AA40D49209A08D650068C0D5 /* RageSurface_Load_PNG.cpp in Sources */, + AA40D49309A08D650068C0D5 /* RageSurface_Load_XPM.cpp in Sources */, + AA40D49409A08D650068C0D5 /* RageSurface_Load.cpp in Sources */, + AA40D49609A08D650068C0D5 /* Difficulty.cpp in Sources */, + AA40D49709A08D650068C0D5 /* Trail.cpp in Sources */, + AA40D49809A08D650068C0D5 /* TrailUtil.cpp in Sources */, + AA40D49909A08D650068C0D5 /* ScreenNetworkOptions.cpp in Sources */, + AA40D49A09A08D650068C0D5 /* Dialog.cpp in Sources */, + AA40D49C09A08D650068C0D5 /* Threads_Pthreads.cpp in Sources */, + AA40D49D09A08D650068C0D5 /* RageSurface.cpp in Sources */, + AA40D49E09A08D650068C0D5 /* RageSurface_Load_BMP.cpp in Sources */, + AA40D49F09A08D650068C0D5 /* RageSurface_Save_BMP.cpp in Sources */, + AA40D4A009A08D650068C0D5 /* Style.cpp in Sources */, + AA40D4A109A08D650068C0D5 /* GameSoundManager.cpp in Sources */, + AA40D4A209A08D650068C0D5 /* MemoryCardDriver.cpp in Sources */, + AA40D4A309A08D650068C0D5 /* RadarValues.cpp in Sources */, + AA40D4A409A08D650068C0D5 /* DateTime.cpp in Sources */, + AA40D4A509A08D650068C0D5 /* StyleUtil.cpp in Sources */, + AA40D4A609A08D650068C0D5 /* Game.cpp in Sources */, + AA40D4A709A08D650068C0D5 /* ScreenNetSelectMusic.cpp in Sources */, + AA40D4A909A08D650068C0D5 /* RageSurfaceUtils_Palettize.cpp in Sources */, + AA40D4AA09A08D650068C0D5 /* RageSurfaceUtils.cpp in Sources */, + AA40D4AB09A08D650068C0D5 /* ScreenNetEvaluation.cpp in Sources */, + AA40D4AC09A08D650068C0D5 /* RageFileDriverMemory.cpp in Sources */, + AA40D4AD09A08D650068C0D5 /* DarwinThreadHelpers.cpp in Sources */, + AA40D4AE09A08D650068C0D5 /* RageUtil_BackgroundLoader.cpp in Sources */, + AA40D4AF09A08D650068C0D5 /* ScreenDimensions.cpp in Sources */, + AA40D4B009A08D650068C0D5 /* InputHandler_MonkeyKeyboard.cpp in Sources */, + AA40D4B109A08D650068C0D5 /* AutoKeysounds.cpp in Sources */, + AA40D4B209A08D650068C0D5 /* RageSoundMixBuffer.cpp in Sources */, + AA40D4B309A08D650068C0D5 /* RageSoundReader_Chain.cpp in Sources */, + AA40D4B409A08D650068C0D5 /* RageSoundUtil.cpp in Sources */, + AA40D4B509A08D650068C0D5 /* ScreenNetRoom.cpp in Sources */, + AA40D4B609A08D650068C0D5 /* ScreenNetSelectBase.cpp in Sources */, + AA40D4B709A08D650068C0D5 /* ScreenPackages.cpp in Sources */, + AA40D4B809A08D650068C0D5 /* ScreenSystemLayer.cpp in Sources */, + AA40D4B909A08D650068C0D5 /* Command.cpp in Sources */, + AA40D4BA09A08D650068C0D5 /* GameCommand.cpp in Sources */, + AA40D4BB09A08D650068C0D5 /* Preference.cpp in Sources */, + AA40D4BC09A08D650068C0D5 /* RageFileBasic.cpp in Sources */, + AA40D4BD09A08D650068C0D5 /* RageFileDriverDeflate.cpp in Sources */, + AA40D4BE09A08D650068C0D5 /* RageFileDriverSlice.cpp in Sources */, + AA40D4BF09A08D650068C0D5 /* RageSurface_Save_JPEG.cpp in Sources */, + AA40D4C009A08D650068C0D5 /* RageSurfaceUtils_Dither.cpp in Sources */, + AA40D4C109A08D650068C0D5 /* RageSurfaceUtils_Zoom.cpp in Sources */, + AA40D4C209A08D650068C0D5 /* LuaManager.cpp in Sources */, + AA40D4C609A08D650068C0D5 /* RageFileDriverTimeout.cpp in Sources */, + AA40D4C709A08D650068C0D5 /* RageUtil_WorkerThread.cpp in Sources */, + AA40D4C809A08D650068C0D5 /* LuaReference.cpp in Sources */, + AA40D4C909A08D650068C0D5 /* MessageManager.cpp in Sources */, + AA40D4CA09A08D650068C0D5 /* StatsManager.cpp in Sources */, + AA40D4CB09A08D650068C0D5 /* AutoActor.cpp in Sources */, + AA40D4CC09A08D650068C0D5 /* OptionRow.cpp in Sources */, + AA40D4CD09A08D650068C0D5 /* PlayerStageStats.cpp in Sources */, + AA40D4CE09A08D650068C0D5 /* PlayerState.cpp in Sources */, + AA40D4CF09A08D650068C0D5 /* RollingNumbers.cpp in Sources */, + AA40D4D009A08D650068C0D5 /* ScoreDisplayCalories.cpp in Sources */, + AA40D4D109A08D650068C0D5 /* CommonMetrics.cpp in Sources */, + AA40D4D209A08D650068C0D5 /* UnlockManager.cpp in Sources */, + AA40D4D309A08D650068C0D5 /* OptionRowHandler.cpp in Sources */, + AA40D4D409A08D650068C0D5 /* ScreenMessage.cpp in Sources */, + AA40D4D509A08D650068C0D5 /* Quad.cpp in Sources */, + AA40D4D609A08D650068C0D5 /* ScoreDisplayAliveTime.cpp in Sources */, + AA40D4D709A08D650068C0D5 /* ScoreDisplayLifeTime.cpp in Sources */, + AA40D4D809A08D650068C0D5 /* StreamDisplay.cpp in Sources */, + AA40D4D909A08D650068C0D5 /* LifeMeterTime.cpp in Sources */, + AA40D4DA09A08D650068C0D5 /* WheelBase.cpp in Sources */, + AA40D4DB09A08D650068C0D5 /* WheelItemBase.cpp in Sources */, + AA40D4DD09A08D650068C0D5 /* ScreenDebugOverlay.cpp in Sources */, + AA40D4DF09A08D650068C0D5 /* ScreenSaveSync.cpp in Sources */, + AA40D4E109A08D650068C0D5 /* ScreenSyncOverlay.cpp in Sources */, + AA40D4E209A08D650068C0D5 /* BackgroundUtil.cpp in Sources */, + AA40D4E309A08D650068C0D5 /* ScreenSplash.cpp in Sources */, + AA40D4E409A08D650068C0D5 /* LuaBinding.cpp in Sources */, + AA40D4E509A08D650068C0D5 /* RageTexturePreloader.cpp in Sources */, + AA40D4E609A08D650068C0D5 /* ScreenOptionsEditProfile.cpp in Sources */, + AA40D4E709A08D650068C0D5 /* GameLoop.cpp in Sources */, + AA40D4E809A08D650068C0D5 /* CharacterManager.cpp in Sources */, + AA40D4E909A08D650068C0D5 /* CourseLoaderCRS.cpp in Sources */, + AA40D4EA09A08D650068C0D5 /* CourseWriterCRS.cpp in Sources */, + AA40D4EE09A08D650068C0D5 /* ScreenOptionsManageCourses.cpp in Sources */, + AA40D4EF09A08D650068C0D5 /* ScreenOptionsManageProfiles.cpp in Sources */, + AA40D4F109A08D650068C0D5 /* ScreenGameplayNormal.cpp in Sources */, + AA40D4F209A08D650068C0D5 /* ActorSound.cpp in Sources */, + AA40D4F409A08D650068C0D5 /* ScreenGameplayLesson.cpp in Sources */, + AA40D4F709A08D650068C0D5 /* LuaExpressionTransform.cpp in Sources */, + AA40D4F809A08D650068C0D5 /* DynamicActorScroller.cpp in Sources */, + AA40D4F909A08D650068C0D5 /* ScoreKeeperNormal.cpp in Sources */, + AA40D4FA09A08D650068C0D5 /* ScreenStatsOverlay.cpp in Sources */, + AA40D4FC09A08D650068C0D5 /* MovieTexture_Generic.cpp in Sources */, + AA40D4FD09A08D650068C0D5 /* MovieTexture_Theora.cpp in Sources */, + AA40D4FF09A08D650068C0D5 /* LifeMeter.cpp in Sources */, + AA40D50109A08D650068C0D5 /* SpecialFiles.cpp in Sources */, + AA40D50209A08D650068C0D5 /* ScreenOptionsManageEditSteps.cpp in Sources */, + AA40D50309A08D650068C0D5 /* ScreenOptionsMemoryCard.cpp in Sources */, + AA40D50409A08D650068C0D5 /* ScreenServiceAction.cpp in Sources */, + AA40D50609A08D650068C0D5 /* XmlFileUtil.cpp in Sources */, + AA40D50709A08D650068C0D5 /* XmlFile.cpp in Sources */, + AA40D50809A08D650068C0D5 /* LocalizedString.cpp in Sources */, + AA40D50D09A08D650068C0D5 /* SMMain.mm in Sources */, + AA40D50E09A08D650068C0D5 /* HIDDevice.cpp in Sources */, + AA40D50F09A08D650068C0D5 /* JoystickDevice.cpp in Sources */, + AA40D51009A08D650068C0D5 /* KeyboardDevice.cpp in Sources */, + AA40D51109A08D650068C0D5 /* Tween.cpp in Sources */, + AA40D51209A08D650068C0D5 /* ScreenUnlockStatus.cpp in Sources */, + AA40D51309A08D650068C0D5 /* AdjustSync.cpp in Sources */, + AAB5600009A84E63008FDC69 /* ScreenUnlockCelebrate.cpp in Sources */, + AAB5600209A84E65008FDC69 /* ScreenUnlockBrowse.cpp in Sources */, + AA1F9C4A09AF1BF5002C15A8 /* PumpDevice.cpp in Sources */, + AA3E3DF209D96A1400A259C7 /* CrashHandlerInternal.cpp in Sources */, + F4BC045409E6B578003F770B /* ScreenGameplaySyncMachine.cpp in Sources */, + AAEDFD6A0A03762B00590617 /* Crash.cpp in Sources */, + AA147F1D0A0F78D8006EADF6 /* VectorHelper.cpp in Sources */, + AA8CF51A0A4518BE0005F1B4 /* RageSoundDriver_AU.cpp in Sources */, + AAD8F9350A4B97DF000311CF /* ScreenGameplayShared.cpp in Sources */, + AAAA11C90A662F9D00B2BD88 /* ScoreKeeperShared.cpp in Sources */, + AAE2D6D50A67481E00071546 /* ScoreKeeper.cpp in Sources */, + AA2EA0030A770208003A0C11 /* ScreenSelectLanguage.cpp in Sources */, + AA5D16590A79805C00F17E86 /* RageTextureRenderTarget.cpp in Sources */, + AA5D166E0A798C0E00F17E86 /* ActorFrameTexture.cpp in Sources */, + AAFE710D0A91ADE6005F2290 /* ActorProxy.cpp in Sources */, + AAFE71220A91B551005F2290 /* RageSurface_Save_PNG.cpp in Sources */, + AABE830F0A9524D400001678 /* ModsGroup.cpp in Sources */, + AAE77F590AC3B52500AEFC64 /* RageTypes.cpp in Sources */, + AAE780440AC76A1200AEFC64 /* WorkoutGraph.cpp in Sources */, + AAFAFC8F0AC8DB9F00427A6E /* EnumHelper.cpp in Sources */, + AA6999610ACE1CBB000237F9 /* ControllerStateDisplay.cpp in Sources */, + AAB779FD0B0D9CB200B74314 /* ScoreKeeperGuitar.cpp in Sources */, + AA608EC10B0F85E400B39AC4 /* DialogDriver.cpp in Sources */, + AA608FAE0B0F9A4E00B39AC4 /* RageSoundDriver.cpp in Sources */, + AA6090E80B141D1C00B39AC4 /* GamePreferences.cpp in Sources */, + AAFB549F0B1BC32700FC3A81 /* RageSoundReader.cpp in Sources */, + AA31D5260B1EC6550016AB6B /* RageSoundReader_PitchChange.cpp in Sources */, + AA31D5280B1EC6550016AB6B /* RageSoundReader_SpeedChange.cpp in Sources */, + AA4F27B60B2C01B400ADEA79 /* RageSoundReader_ChannelSplit.cpp in Sources */, + AA4F27B80B2C01B400ADEA79 /* RageSoundReader_Pan.cpp in Sources */, + AA909E210B45B676002852D3 /* RageDriver.cpp in Sources */, + AA909E250B45B696002852D3 /* LowLevelWindow.cpp in Sources */, + AA909E280B45B6AC002852D3 /* LoadingWindow.cpp in Sources */, + AA909E410B45B8FB002852D3 /* RageSoundReader_Extend.cpp in Sources */, + AA909E430B45B8FB002852D3 /* RageSoundReader_ThreadedBuffer.cpp in Sources */, + AA909E4A0B45B93E002852D3 /* LightsDriver.cpp in Sources */, + AAEBF5620B5C517E005F3C7C /* SampleHistory.cpp in Sources */, + AAEBF5800B5C83F4005F3C7C /* SoundEffectControl.cpp in Sources */, + AA07008C0B61F177003B85BB /* RageSoundReader_PostBuffering.cpp in Sources */, + AA7C8DAE0B68CB2200FD9940 /* GameplayAssist.cpp in Sources */, + AA059ABC0B8CCFB5006F8139 /* ActorMultiTexture.cpp in Sources */, + AA05A0B00BA2EFF3006F8139 /* OptionsList.cpp in Sources */, + AA2C9CA10BAD6F54002441E9 /* CodeSet.cpp in Sources */, + AA2CA89F0BB745BD002441E9 /* ScreenContinue.cpp in Sources */, + AA1893600BD777C500AEC0BF /* ScreenProfileLoad.cpp in Sources */, + AA1893620BD777C500AEC0BF /* ScreenProfileSave.cpp in Sources */, + AA18937E0BD77ECF00AEC0BF /* NotesLoaderMidi.cpp in Sources */, + AA3396B80BDE195E00E1475F /* RageSoundReader_Merge.cpp in Sources */, + AAB3B7DE0C6C582E001BF487 /* ScreenSelectProfile.cpp in Sources */, + AAB3BB5B0C718F2D001BF487 /* RageUtil_CachedObject.cpp in Sources */, + AAA7D4CB0C7E872600FB8F78 /* ScreenOptionsToggleSongs.cpp in Sources */, + AAA0713D0CE7B3BB005A3060 /* bit.c in Sources */, + AAA071490CE7B3BB005A3060 /* decoder.c in Sources */, + AAA0714C0CE7B3BB005A3060 /* fixed.c in Sources */, + AAA0714E0CE7B3BB005A3060 /* frame.c in Sources */, + AAA071510CE7B3BB005A3060 /* huffman.c in Sources */, + AAA071570CE7B3BB005A3060 /* layer12.c in Sources */, + AAA071590CE7B3BB005A3060 /* layer3.c in Sources */, + AAA0716F0CE7B3BB005A3060 /* stream.c in Sources */, + AAA071710CE7B3BB005A3060 /* synth.c in Sources */, + AAA071730CE7B3BB005A3060 /* timer.c in Sources */, + AAA071770CE7B3BB005A3060 /* version.c in Sources */, + AA11A2130DC5A1B0006BD8AC /* ModIcon.cpp in Sources */, + AA11A2150DC5A1B0006BD8AC /* ModIconRow.cpp in Sources */, + AA6C6ADA0DC6B17B00E7A13E /* ArchHooks_MacOSX.cpp in Sources */, + AA6C6AE00DC6B1DC00E7A13E /* DialogDriver_MacOSX.cpp in Sources */, + AA6C6AE70DC6B22800E7A13E /* LoadingWindow_MacOSX.mm in Sources */, + AA6C6B050DC6B2B400E7A13E /* LowLevelWindow_MacOSX.mm in Sources */, + AA6C6B0A0DC6B30E00E7A13E /* MemoryCardDriverThreaded_MacOSX.cpp in Sources */, + AA6C6B100DC6B48C00E7A13E /* InputHandler_MacOSX_HID.cpp in Sources */, + AAC0BFE30E2951EC00F56EEB /* CryptHelpers.cpp in Sources */, + AAFF41A50F5BD4AD00FFDB67 /* ScreenOptionsExportPackage.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AA7A2B910AE09B520054C5BA /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AA7A2BA80AE09CD50054C5BA /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AA7C895C0B67444700FD9940 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + AA7C8AFC0B6744F700FD9940 /* bn_error.c in Sources */, + AA7C8AFD0B6744F700FD9940 /* bn_fast_mp_invmod.c in Sources */, + AA7C8AFE0B6744F700FD9940 /* bn_fast_mp_montgomery_reduce.c in Sources */, + AA7C8AFF0B6744F700FD9940 /* bn_fast_s_mp_mul_digs.c in Sources */, + AA7C8B000B6744F700FD9940 /* bn_fast_s_mp_mul_high_digs.c in Sources */, + AA7C8B010B6744F700FD9940 /* bn_fast_s_mp_sqr.c in Sources */, + AA7C8B020B6744F700FD9940 /* bn_mp_2expt.c in Sources */, + AA7C8B030B6744F700FD9940 /* bn_mp_abs.c in Sources */, + AA7C8B040B6744F700FD9940 /* bn_mp_add.c in Sources */, + AA7C8B050B6744F700FD9940 /* bn_mp_add_d.c in Sources */, + AA7C8B060B6744F700FD9940 /* bn_mp_addmod.c in Sources */, + AA7C8B070B6744F700FD9940 /* bn_mp_and.c in Sources */, + AA7C8B080B6744F700FD9940 /* bn_mp_clamp.c in Sources */, + AA7C8B090B6744F700FD9940 /* bn_mp_clear.c in Sources */, + AA7C8B0A0B6744F700FD9940 /* bn_mp_clear_multi.c in Sources */, + AA7C8B0B0B6744F700FD9940 /* bn_mp_cmp.c in Sources */, + AA7C8B0C0B6744F700FD9940 /* bn_mp_cmp_d.c in Sources */, + AA7C8B0D0B6744F700FD9940 /* bn_mp_cmp_mag.c in Sources */, + AA7C8B0E0B6744F700FD9940 /* bn_mp_cnt_lsb.c in Sources */, + AA7C8B0F0B6744F700FD9940 /* bn_mp_copy.c in Sources */, + AA7C8B100B6744F700FD9940 /* bn_mp_count_bits.c in Sources */, + AA7C8B110B6744F700FD9940 /* bn_mp_div.c in Sources */, + AA7C8B120B6744F700FD9940 /* bn_mp_div_2.c in Sources */, + AA7C8B130B6744F700FD9940 /* bn_mp_div_2d.c in Sources */, + AA7C8B140B6744F700FD9940 /* bn_mp_div_3.c in Sources */, + AA7C8B150B6744F700FD9940 /* bn_mp_div_d.c in Sources */, + AA7C8B160B6744F700FD9940 /* bn_mp_dr_is_modulus.c in Sources */, + AA7C8B170B6744F700FD9940 /* bn_mp_dr_reduce.c in Sources */, + AA7C8B180B6744F700FD9940 /* bn_mp_dr_setup.c in Sources */, + AA7C8B190B6744F700FD9940 /* bn_mp_exch.c in Sources */, + AA7C8B1A0B6744F700FD9940 /* bn_mp_expt_d.c in Sources */, + AA7C8B1B0B6744F700FD9940 /* bn_mp_exptmod.c in Sources */, + AA7C8B1C0B6744F700FD9940 /* bn_mp_exptmod_fast.c in Sources */, + AA7C8B1D0B6744F700FD9940 /* bn_mp_exteuclid.c in Sources */, + AA7C8B1E0B6744F700FD9940 /* bn_mp_fread.c in Sources */, + AA7C8B1F0B6744F700FD9940 /* bn_mp_fwrite.c in Sources */, + AA7C8B200B6744F700FD9940 /* bn_mp_gcd.c in Sources */, + AA7C8B210B6744F700FD9940 /* bn_mp_get_int.c in Sources */, + AA7C8B220B6744F700FD9940 /* bn_mp_grow.c in Sources */, + AA7C8B230B6744F700FD9940 /* bn_mp_init.c in Sources */, + AA7C8B240B6744F700FD9940 /* bn_mp_init_copy.c in Sources */, + AA7C8B250B6744F700FD9940 /* bn_mp_init_multi.c in Sources */, + AA7C8B260B6744F700FD9940 /* bn_mp_init_set.c in Sources */, + AA7C8B270B6744F700FD9940 /* bn_mp_init_set_int.c in Sources */, + AA7C8B280B6744F700FD9940 /* bn_mp_init_size.c in Sources */, + AA7C8B290B6744F700FD9940 /* bn_mp_invmod.c in Sources */, + AA7C8B2A0B6744F700FD9940 /* bn_mp_invmod_slow.c in Sources */, + AA7C8B2B0B6744F700FD9940 /* bn_mp_is_square.c in Sources */, + AA7C8B2C0B6744F700FD9940 /* bn_mp_jacobi.c in Sources */, + AA7C8B2D0B6744F700FD9940 /* bn_mp_karatsuba_mul.c in Sources */, + AA7C8B2E0B6744F700FD9940 /* bn_mp_karatsuba_sqr.c in Sources */, + AA7C8B2F0B6744F700FD9940 /* bn_mp_lcm.c in Sources */, + AA7C8B300B6744F700FD9940 /* bn_mp_lshd.c in Sources */, + AA7C8B310B6744F700FD9940 /* bn_mp_mod.c in Sources */, + AA7C8B320B6744F700FD9940 /* bn_mp_mod_2d.c in Sources */, + AA7C8B330B6744F700FD9940 /* bn_mp_mod_d.c in Sources */, + AA7C8B340B6744F700FD9940 /* bn_mp_montgomery_calc_normalization.c in Sources */, + AA7C8B350B6744F700FD9940 /* bn_mp_montgomery_reduce.c in Sources */, + AA7C8B360B6744F700FD9940 /* bn_mp_montgomery_setup.c in Sources */, + AA7C8B370B6744F700FD9940 /* bn_mp_mul.c in Sources */, + AA7C8B380B6744F700FD9940 /* bn_mp_mul_2.c in Sources */, + AA7C8B390B6744F700FD9940 /* bn_mp_mul_2d.c in Sources */, + AA7C8B3A0B6744F700FD9940 /* bn_mp_mul_d.c in Sources */, + AA7C8B3B0B6744F700FD9940 /* bn_mp_mulmod.c in Sources */, + AA7C8B3C0B6744F700FD9940 /* bn_mp_n_root.c in Sources */, + AA7C8B3D0B6744F700FD9940 /* bn_mp_neg.c in Sources */, + AA7C8B3E0B6744F700FD9940 /* bn_mp_or.c in Sources */, + AA7C8B3F0B6744F700FD9940 /* bn_mp_prime_fermat.c in Sources */, + AA7C8B400B6744F700FD9940 /* bn_mp_prime_is_divisible.c in Sources */, + AA7C8B410B6744F700FD9940 /* bn_mp_prime_is_prime.c in Sources */, + AA7C8B420B6744F700FD9940 /* bn_mp_prime_miller_rabin.c in Sources */, + AA7C8B430B6744F700FD9940 /* bn_mp_prime_next_prime.c in Sources */, + AA7C8B440B6744F700FD9940 /* bn_mp_prime_rabin_miller_trials.c in Sources */, + AA7C8B450B6744F700FD9940 /* bn_mp_prime_random_ex.c in Sources */, + AA7C8B460B6744F700FD9940 /* bn_mp_radix_size.c in Sources */, + AA7C8B470B6744F700FD9940 /* bn_mp_radix_smap.c in Sources */, + AA7C8B480B6744F700FD9940 /* bn_mp_rand.c in Sources */, + AA7C8B490B6744F700FD9940 /* bn_mp_read_radix.c in Sources */, + AA7C8B4A0B6744F700FD9940 /* bn_mp_read_signed_bin.c in Sources */, + AA7C8B4B0B6744F700FD9940 /* bn_mp_read_unsigned_bin.c in Sources */, + AA7C8B4C0B6744F700FD9940 /* bn_mp_reduce.c in Sources */, + AA7C8B4D0B6744F700FD9940 /* bn_mp_reduce_2k.c in Sources */, + AA7C8B4E0B6744F700FD9940 /* bn_mp_reduce_2k_l.c in Sources */, + AA7C8B4F0B6744F700FD9940 /* bn_mp_reduce_2k_setup.c in Sources */, + AA7C8B500B6744F700FD9940 /* bn_mp_reduce_2k_setup_l.c in Sources */, + AA7C8B510B6744F700FD9940 /* bn_mp_reduce_is_2k.c in Sources */, + AA7C8B520B6744F700FD9940 /* bn_mp_reduce_is_2k_l.c in Sources */, + AA7C8B530B6744F700FD9940 /* bn_mp_reduce_setup.c in Sources */, + AA7C8B540B6744F700FD9940 /* bn_mp_rshd.c in Sources */, + AA7C8B550B6744F700FD9940 /* bn_mp_set.c in Sources */, + AA7C8B560B6744F700FD9940 /* bn_mp_set_int.c in Sources */, + AA7C8B570B6744F700FD9940 /* bn_mp_shrink.c in Sources */, + AA7C8B580B6744F700FD9940 /* bn_mp_signed_bin_size.c in Sources */, + AA7C8B590B6744F700FD9940 /* bn_mp_sqr.c in Sources */, + AA7C8B5A0B6744F700FD9940 /* bn_mp_sqrmod.c in Sources */, + AA7C8B5B0B6744F700FD9940 /* bn_mp_sqrt.c in Sources */, + AA7C8B5C0B6744F700FD9940 /* bn_mp_sub.c in Sources */, + AA7C8B5D0B6744F700FD9940 /* bn_mp_sub_d.c in Sources */, + AA7C8B5E0B6744F700FD9940 /* bn_mp_submod.c in Sources */, + AA7C8B5F0B6744F700FD9940 /* bn_mp_to_signed_bin.c in Sources */, + AA7C8B600B6744F700FD9940 /* bn_mp_to_signed_bin_n.c in Sources */, + AA7C8B610B6744F700FD9940 /* bn_mp_to_unsigned_bin.c in Sources */, + AA7C8B620B6744F700FD9940 /* bn_mp_to_unsigned_bin_n.c in Sources */, + AA7C8B630B6744F700FD9940 /* bn_mp_toom_mul.c in Sources */, + AA7C8B640B6744F700FD9940 /* bn_mp_toom_sqr.c in Sources */, + AA7C8B650B6744F700FD9940 /* bn_mp_toradix.c in Sources */, + AA7C8B660B6744F700FD9940 /* bn_mp_toradix_n.c in Sources */, + AA7C8B670B6744F700FD9940 /* bn_mp_unsigned_bin_size.c in Sources */, + AA7C8B680B6744F700FD9940 /* bn_mp_xor.c in Sources */, + AA7C8B690B6744F700FD9940 /* bn_mp_zero.c in Sources */, + AA7C8B6A0B6744F700FD9940 /* bn_prime_tab.c in Sources */, + AA7C8B6B0B6744F700FD9940 /* bn_reverse.c in Sources */, + AA7C8B6C0B6744F700FD9940 /* bn_s_mp_add.c in Sources */, + AA7C8B6D0B6744F700FD9940 /* bn_s_mp_exptmod.c in Sources */, + AA7C8B6E0B6744F700FD9940 /* bn_s_mp_mul_digs.c in Sources */, + AA7C8B6F0B6744F700FD9940 /* bn_s_mp_mul_high_digs.c in Sources */, + AA7C8B700B6744F700FD9940 /* bn_s_mp_sqr.c in Sources */, + AA7C8B710B6744F700FD9940 /* bn_s_mp_sub.c in Sources */, + AA7C8B720B6744F700FD9940 /* bncore.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AA7C8B880B67460600FD9940 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + AA7C8C560B67467D00FD9940 /* aes.c in Sources */, + AA7C8C580B67467D00FD9940 /* hash_memory.c in Sources */, + AA7C8C590B67467D00FD9940 /* md5.c in Sources */, + AA7C8C5A0B67467D00FD9940 /* sha1.c in Sources */, + AA7C8C680B67467D00FD9940 /* ltc_ecc_fp_mulmod.c in Sources */, + AA7C8C690B67467D00FD9940 /* ltm_desc.c in Sources */, + AA7C8C6A0B67467D00FD9940 /* multi.c in Sources */, + AA7C8C6B0B67467D00FD9940 /* rand_prime.c in Sources */, + AA7C8C6C0B67467D00FD9940 /* base64_decode.c in Sources */, + AA7C8C6D0B67467D00FD9940 /* base64_encode.c in Sources */, + AA7C8C6E0B67467D00FD9940 /* burn_stack.c in Sources */, + AA7C8C6F0B67467D00FD9940 /* crypt.c in Sources */, + AA7C8C700B67467D00FD9940 /* crypt_argchk.c in Sources */, + AA7C8C710B67467D00FD9940 /* crypt_cipher_descriptor.c in Sources */, + AA7C8C720B67467D00FD9940 /* crypt_cipher_is_valid.c in Sources */, + AA7C8C730B67467D00FD9940 /* crypt_find_cipher.c in Sources */, + AA7C8C740B67467D00FD9940 /* crypt_find_cipher_any.c in Sources */, + AA7C8C750B67467D00FD9940 /* crypt_find_cipher_id.c in Sources */, + AA7C8C760B67467D00FD9940 /* crypt_find_hash.c in Sources */, + AA7C8C770B67467D00FD9940 /* crypt_find_hash_any.c in Sources */, + AA7C8C780B67467D00FD9940 /* crypt_find_hash_id.c in Sources */, + AA7C8C790B67467D00FD9940 /* crypt_find_hash_oid.c in Sources */, + AA7C8C7A0B67467D00FD9940 /* crypt_find_prng.c in Sources */, + AA7C8C7B0B67467D00FD9940 /* crypt_fsa.c in Sources */, + AA7C8C7C0B67467D00FD9940 /* crypt_hash_descriptor.c in Sources */, + AA7C8C7D0B67467D00FD9940 /* crypt_hash_is_valid.c in Sources */, + AA7C8C7E0B67467D00FD9940 /* crypt_ltc_mp_descriptor.c in Sources */, + AA7C8C7F0B67467D00FD9940 /* crypt_prng_descriptor.c in Sources */, + AA7C8C800B67467D00FD9940 /* crypt_prng_is_valid.c in Sources */, + AA7C8C810B67467D00FD9940 /* crypt_register_cipher.c in Sources */, + AA7C8C820B67467D00FD9940 /* crypt_register_hash.c in Sources */, + AA7C8C830B67467D00FD9940 /* crypt_register_prng.c in Sources */, + AA7C8C840B67467D00FD9940 /* crypt_unregister_cipher.c in Sources */, + AA7C8C850B67467D00FD9940 /* crypt_unregister_hash.c in Sources */, + AA7C8C860B67467D00FD9940 /* crypt_unregister_prng.c in Sources */, + AA7C8C870B67467D00FD9940 /* error_to_string.c in Sources */, + AA7C8C880B67467D00FD9940 /* pkcs_5_1.c in Sources */, + AA7C8C890B67467D00FD9940 /* pkcs_5_2.c in Sources */, + AA7C8C8A0B67467D00FD9940 /* zeromem.c in Sources */, + AA7C8C8B0B67467D00FD9940 /* cbc_decrypt.c in Sources */, + AA7C8C8C0B67467D00FD9940 /* cbc_done.c in Sources */, + AA7C8C8D0B67467D00FD9940 /* cbc_encrypt.c in Sources */, + AA7C8C8E0B67467D00FD9940 /* cbc_getiv.c in Sources */, + AA7C8C8F0B67467D00FD9940 /* cbc_setiv.c in Sources */, + AA7C8C900B67467D00FD9940 /* cbc_start.c in Sources */, + AA7C8C910B67467D00FD9940 /* cfb_decrypt.c in Sources */, + AA7C8C920B67467D00FD9940 /* cfb_done.c in Sources */, + AA7C8C930B67467D00FD9940 /* cfb_encrypt.c in Sources */, + AA7C8C940B67467D00FD9940 /* cfb_getiv.c in Sources */, + AA7C8C950B67467D00FD9940 /* cfb_setiv.c in Sources */, + AA7C8C960B67467D00FD9940 /* cfb_start.c in Sources */, + AA7C8C970B67467D00FD9940 /* ctr_decrypt.c in Sources */, + AA7C8C980B67467D00FD9940 /* ctr_done.c in Sources */, + AA7C8C990B67467D00FD9940 /* ctr_encrypt.c in Sources */, + AA7C8C9A0B67467D00FD9940 /* ctr_getiv.c in Sources */, + AA7C8C9B0B67467D00FD9940 /* ctr_setiv.c in Sources */, + AA7C8C9C0B67467D00FD9940 /* ctr_start.c in Sources */, + AA7C8C9D0B67467D00FD9940 /* ctr_test.c in Sources */, + AA7C8C9E0B67467D00FD9940 /* ecb_decrypt.c in Sources */, + AA7C8C9F0B67467D00FD9940 /* ecb_done.c in Sources */, + AA7C8CA00B67467D00FD9940 /* ecb_encrypt.c in Sources */, + AA7C8CA10B67467D00FD9940 /* ecb_start.c in Sources */, + AA7C8CA20B67467D00FD9940 /* ofb_decrypt.c in Sources */, + AA7C8CA30B67467D00FD9940 /* ofb_done.c in Sources */, + AA7C8CA40B67467D00FD9940 /* ofb_encrypt.c in Sources */, + AA7C8CA50B67467D00FD9940 /* ofb_getiv.c in Sources */, + AA7C8CA60B67467D00FD9940 /* ofb_setiv.c in Sources */, + AA7C8CA70B67467D00FD9940 /* ofb_start.c in Sources */, + AA7C8CA80B67467D00FD9940 /* der_decode_bit_string.c in Sources */, + AA7C8CA90B67467D00FD9940 /* der_encode_bit_string.c in Sources */, + AA7C8CAA0B67467D00FD9940 /* der_length_bit_string.c in Sources */, + AA7C8CAB0B67467D00FD9940 /* der_decode_boolean.c in Sources */, + AA7C8CAC0B67467D00FD9940 /* der_encode_boolean.c in Sources */, + AA7C8CAD0B67467D00FD9940 /* der_length_boolean.c in Sources */, + AA7C8CAE0B67467D00FD9940 /* der_decode_choice.c in Sources */, + AA7C8CAF0B67467D00FD9940 /* der_decode_ia5_string.c in Sources */, + AA7C8CB00B67467D00FD9940 /* der_encode_ia5_string.c in Sources */, + AA7C8CB10B67467D00FD9940 /* der_length_ia5_string.c in Sources */, + AA7C8CB20B67467D00FD9940 /* der_decode_integer.c in Sources */, + AA7C8CB30B67467D00FD9940 /* der_encode_integer.c in Sources */, + AA7C8CB40B67467D00FD9940 /* der_length_integer.c in Sources */, + AA7C8CB50B67467D00FD9940 /* der_decode_object_identifier.c in Sources */, + AA7C8CB60B67467D00FD9940 /* der_encode_object_identifier.c in Sources */, + AA7C8CB70B67467D00FD9940 /* der_length_object_identifier.c in Sources */, + AA7C8CB80B67467D00FD9940 /* der_decode_octet_string.c in Sources */, + AA7C8CB90B67467D00FD9940 /* der_encode_octet_string.c in Sources */, + AA7C8CBA0B67467D00FD9940 /* der_length_octet_string.c in Sources */, + AA7C8CBB0B67467D00FD9940 /* der_decode_printable_string.c in Sources */, + AA7C8CBC0B67467D00FD9940 /* der_encode_printable_string.c in Sources */, + AA7C8CBD0B67467D00FD9940 /* der_length_printable_string.c in Sources */, + AA7C8CBE0B67467D00FD9940 /* der_decode_sequence_ex.c in Sources */, + AA7C8CBF0B67467D00FD9940 /* der_decode_sequence_flexi.c in Sources */, + AA7C8CC00B67467D00FD9940 /* der_decode_sequence_multi.c in Sources */, + AA7C8CC10B67467D00FD9940 /* der_encode_sequence_ex.c in Sources */, + AA7C8CC20B67467D00FD9940 /* der_encode_sequence_multi.c in Sources */, + AA7C8CC30B67467D00FD9940 /* der_length_sequence.c in Sources */, + AA7C8CC40B67467D00FD9940 /* der_sequence_free.c in Sources */, + AA7C8CC50B67467D00FD9940 /* der_encode_set.c in Sources */, + AA7C8CC60B67467D00FD9940 /* der_encode_setof.c in Sources */, + AA7C8CC70B67467D00FD9940 /* der_decode_short_integer.c in Sources */, + AA7C8CC80B67467D00FD9940 /* der_encode_short_integer.c in Sources */, + AA7C8CC90B67467D00FD9940 /* der_length_short_integer.c in Sources */, + AA7C8CCA0B67467D00FD9940 /* der_decode_utctime.c in Sources */, + AA7C8CCB0B67467D00FD9940 /* der_encode_utctime.c in Sources */, + AA7C8CCC0B67467D00FD9940 /* der_length_utctime.c in Sources */, + AA7C8CCD0B67467D00FD9940 /* der_decode_utf8_string.c in Sources */, + AA7C8CCE0B67467D00FD9940 /* der_encode_utf8_string.c in Sources */, + AA7C8CCF0B67467D00FD9940 /* der_length_utf8_string.c in Sources */, + AA7C8CD00B67467D00FD9940 /* dsa_decrypt_key.c in Sources */, + AA7C8CD10B67467D00FD9940 /* dsa_encrypt_key.c in Sources */, + AA7C8CD20B67467D00FD9940 /* dsa_export.c in Sources */, + AA7C8CD30B67467D00FD9940 /* dsa_free.c in Sources */, + AA7C8CD40B67467D00FD9940 /* dsa_import.c in Sources */, + AA7C8CD50B67467D00FD9940 /* dsa_make_key.c in Sources */, + AA7C8CD60B67467D00FD9940 /* dsa_shared_secret.c in Sources */, + AA7C8CD70B67467D00FD9940 /* dsa_sign_hash.c in Sources */, + AA7C8CD80B67467D00FD9940 /* dsa_verify_hash.c in Sources */, + AA7C8CD90B67467D00FD9940 /* dsa_verify_key.c in Sources */, + AA7C8CDA0B67467D00FD9940 /* pkcs_1_i2osp.c in Sources */, + AA7C8CDB0B67467D00FD9940 /* pkcs_1_mgf1.c in Sources */, + AA7C8CDC0B67467D00FD9940 /* pkcs_1_oaep_decode.c in Sources */, + AA7C8CDD0B67467D00FD9940 /* pkcs_1_oaep_encode.c in Sources */, + AA7C8CDE0B67467D00FD9940 /* pkcs_1_os2ip.c in Sources */, + AA7C8CDF0B67467D00FD9940 /* pkcs_1_pss_decode.c in Sources */, + AA7C8CE00B67467D00FD9940 /* pkcs_1_pss_encode.c in Sources */, + AA7C8CE10B67467D00FD9940 /* pkcs_1_v1_5_decode.c in Sources */, + AA7C8CE20B67467D00FD9940 /* pkcs_1_v1_5_encode.c in Sources */, + AA7C8CE30B67467D00FD9940 /* rsa_decrypt_key.c in Sources */, + AA7C8CE40B67467D00FD9940 /* rsa_encrypt_key.c in Sources */, + AA7C8CE50B67467D00FD9940 /* rsa_export.c in Sources */, + AA7C8CE60B67467D00FD9940 /* rsa_exptmod.c in Sources */, + AA7C8CE70B67467D00FD9940 /* rsa_free.c in Sources */, + AA7C8CE80B67467D00FD9940 /* rsa_import.c in Sources */, + AA7C8CE90B67467D00FD9940 /* rsa_make_key.c in Sources */, + AA7C8CEA0B67467D00FD9940 /* rsa_sign_hash.c in Sources */, + AA7C8CEB0B67467D00FD9940 /* rsa_verify_hash.c in Sources */, + AA7C8CEC0B67467D00FD9940 /* fortuna.c in Sources */, + AA7C8CED0B67467D00FD9940 /* rc4.c in Sources */, + AA7C8CEE0B67467D00FD9940 /* rng_get_bytes.c in Sources */, + AA7C8CEF0B67467D00FD9940 /* rng_make_prng.c in Sources */, + AA7C8CF00B67467D00FD9940 /* sober128.c in Sources */, + AA7C8CF20B67467D00FD9940 /* sprng.c in Sources */, + AA7C8CF30B67467D00FD9940 /* yarrow.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AAA070A60CE7B0DF005A3060 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + AAA071800CE7B4FB005A3060 /* version.c in Sources */, + AAA071820CE7B4FD005A3060 /* timer.c in Sources */, + AAA071840CE7B4FE005A3060 /* synth.c in Sources */, + AAA071860CE7B501005A3060 /* stream.c in Sources */, + AAA071890CE7B503005A3060 /* layer3.c in Sources */, + AAA0718B0CE7B505005A3060 /* layer12.c in Sources */, + AAA0718D0CE7B506005A3060 /* huffman.c in Sources */, + AAA071900CE7B509005A3060 /* frame.c in Sources */, + AAA071920CE7B50A005A3060 /* fixed.c in Sources */, + AAA071940CE7B50B005A3060 /* decoder.c in Sources */, + AAA071960CE7B50D005A3060 /* bit.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AAE7817B0AC7E37B00AEFC64 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 2BDB88E9137201F700E6FD3A /* lapi.c in Sources */, + 2BDB88EB137201F700E6FD3A /* lauxlib.c in Sources */, + 2BDB88ED137201F700E6FD3A /* lbaselib.c in Sources */, + 2BDB88EE137201F700E6FD3A /* lcode.c in Sources */, + 2BDB88F0137201F700E6FD3A /* ldblib.c in Sources */, + 2BDB88F1137201F700E6FD3A /* ldebug.c in Sources */, + 2BDB88F3137201F700E6FD3A /* ldo.c in Sources */, + 2BDB88F5137201F700E6FD3A /* ldump.c in Sources */, + 2BDB88F6137201F700E6FD3A /* lfunc.c in Sources */, + 2BDB88F8137201F700E6FD3A /* lgc.c in Sources */, + 2BDB88FA137201F700E6FD3A /* linit.c in Sources */, + 2BDB88FB137201F700E6FD3A /* liolib.c in Sources */, + 2BDB88FC137201F700E6FD3A /* llex.c in Sources */, + 2BDB88FF137201F700E6FD3A /* lmathlib.c in Sources */, + 2BDB8900137201F700E6FD3A /* lmem.c in Sources */, + 2BDB8902137201F700E6FD3A /* loadlib.c in Sources */, + 2BDB8903137201F700E6FD3A /* lobject.c in Sources */, + 2BDB8905137201F700E6FD3A /* lopcodes.c in Sources */, + 2BDB8907137201F700E6FD3A /* loslib.c in Sources */, + 2BDB8908137201F700E6FD3A /* lparser.c in Sources */, + 2BDB890A137201F700E6FD3A /* lstate.c in Sources */, + 2BDB890C137201F700E6FD3A /* lstring.c in Sources */, + 2BDB890E137201F700E6FD3A /* lstrlib.c in Sources */, + 2BDB890F137201F700E6FD3A /* ltable.c in Sources */, + 2BDB8911137201F700E6FD3A /* ltablib.c in Sources */, + 2BDB8912137201F700E6FD3A /* ltm.c in Sources */, + 2BDB8914137201F700E6FD3A /* lua.c in Sources */, + 2BDB8916137201F700E6FD3A /* luac.c in Sources */, + 2BDB8919137201F700E6FD3A /* lundump.c in Sources */, + 2BDB891B137201F700E6FD3A /* lvm.c in Sources */, + 2BDB891D137201F700E6FD3A /* lzio.c in Sources */, + 2BDB891F137201F700E6FD3A /* print.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 2B17AB8E13981009001AE57D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 2B17AB7113980FDF001AE57D /* png */; + targetProxy = 2B17AB8D13981009001AE57D /* PBXContainerItemProxy */; + }; + 2B17ABD1139815EB001AE57D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 2B17ABBF13981521001AE57D /* glew */; + targetProxy = 2B17ABD0139815EB001AE57D /* PBXContainerItemProxy */; + }; + 2B17ABFF139817DF001AE57D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 2B17ABDF13981756001AE57D /* pcre */; + targetProxy = 2B17ABFE139817DF001AE57D /* PBXContainerItemProxy */; + }; + AA30C61A07F5E2EF0066F398 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = AA30C60F07F5E24A0066F398 /* version */; + targetProxy = AA30C61907F5E2EF0066F398 /* PBXContainerItemProxy */; + }; + AA40D1B509A08D650068C0D5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = AA30C60F07F5E24A0066F398 /* version */; + targetProxy = AA40D1B609A08D650068C0D5 /* PBXContainerItemProxy */; + }; + AA7A2BA60AE09C9B0054C5BA /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = AAE7817D0AC7E37B00AEFC64 /* lua-5.1 */; + targetProxy = AA7A2BA50AE09C9B0054C5BA /* PBXContainerItemProxy */; + }; + AA7A2BAE0AE09CDB0054C5BA /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = AAE7817D0AC7E37B00AEFC64 /* lua-5.1 */; + targetProxy = AA7A2BAD0AE09CDB0054C5BA /* PBXContainerItemProxy */; + }; + AA7A2BB50AE09D160054C5BA /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = AA7A2B930AE09B520054C5BA /* lua */; + targetProxy = AA7A2BB40AE09D160054C5BA /* PBXContainerItemProxy */; + }; + AA7A2BB70AE09D160054C5BA /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = AA7A2BAA0AE09CD50054C5BA /* luac */; + targetProxy = AA7A2BB60AE09D160054C5BA /* PBXContainerItemProxy */; + }; + AA7C8D160B6748B800FD9940 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = AA7C895E0B67444700FD9940 /* tommath */; + targetProxy = AA7C8D150B6748B800FD9940 /* PBXContainerItemProxy */; + }; + AA7C8D180B6748B800FD9940 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = AA7C8B8A0B67460600FD9940 /* tomcrypt */; + targetProxy = AA7C8D170B6748B800FD9940 /* PBXContainerItemProxy */; + }; + AA7C8D1C0B6748CD00FD9940 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = AA7C895E0B67444700FD9940 /* tommath */; + targetProxy = AA7C8D1B0B6748CD00FD9940 /* PBXContainerItemProxy */; + }; + AA7C8D1E0B6748CD00FD9940 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = AA7C8B8A0B67460600FD9940 /* tomcrypt */; + targetProxy = AA7C8D1D0B6748CD00FD9940 /* PBXContainerItemProxy */; + }; + AAA071AA0CE7B879005A3060 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = AAA070A80CE7B0DF005A3060 /* mad */; + targetProxy = AAA071A90CE7B879005A3060 /* PBXContainerItemProxy */; + }; + AAE781FE0AC7E61900AEFC64 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = AAE7817D0AC7E37B00AEFC64 /* lua-5.1 */; + targetProxy = AAE781FD0AC7E61900AEFC64 /* PBXContainerItemProxy */; + }; + AAE782020AC7E63100AEFC64 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = AAE7817D0AC7E37B00AEFC64 /* lua-5.1 */; + targetProxy = AAE782010AC7E63100AEFC64 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + AAF6A2F709B695BA00D5C614 /* Localizable.strings */ = { + isa = PBXVariantGroup; + children = ( + AAF6A33109B69C7700D5C614 /* it */, + AAF6A38F09B6A2A600D5C614 /* es */, + AAF6A3AE09B6A88800D5C614 /* de */, + AAF6A3B109B6A90C00D5C614 /* en */, + AAF6A3B209B6A91000D5C614 /* ja */, + AAF6A3B309B6A91600D5C614 /* fr */, + ); + name = Localizable.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 2B17AB7313980FE0001AE57D /* Native */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_MODEL_TUNING = G5; + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GCC_PREFIX_HEADER = ""; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; + GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; + GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; + GCC_WARN_ABOUT_MISSING_NEWLINE = NO; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; + GCC_WARN_ABOUT_RETURN_TYPE = NO; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; + GCC_WARN_INHIBIT_ALL_WARNINGS = YES; + GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; + GCC_WARN_MISSING_PARENTHESES = NO; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO; + GCC_WARN_PROTOTYPE_CONVERSION = NO; + GCC_WARN_SHADOW = NO; + GCC_WARN_SIGN_COMPARE = NO; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO; + GCC_WARN_UNDECLARED_SELECTOR = NO; + GCC_WARN_UNINITIALIZED_AUTOS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + GCC_WARN_UNUSED_FUNCTION = NO; + GCC_WARN_UNUSED_LABEL = NO; + GCC_WARN_UNUSED_VALUE = NO; + GCC_WARN_UNUSED_VARIABLE = NO; + HEADER_SEARCH_PATHS = "../extern/libpng/**"; + INSTALL_PATH = /usr/local/lib; + OTHER_LDFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = "png-1.5.1-sm5"; + USER_HEADER_SEARCH_PATHS = ""; + }; + name = Native; + }; + 2B17AB7413980FE0001AE57D /* PerformanceDebug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_MODEL_TUNING = G5; + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GCC_PREFIX_HEADER = ""; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; + GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; + GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; + GCC_WARN_ABOUT_MISSING_NEWLINE = NO; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; + GCC_WARN_ABOUT_RETURN_TYPE = NO; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; + GCC_WARN_INHIBIT_ALL_WARNINGS = YES; + GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; + GCC_WARN_MISSING_PARENTHESES = NO; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO; + GCC_WARN_PROTOTYPE_CONVERSION = NO; + GCC_WARN_SHADOW = NO; + GCC_WARN_SIGN_COMPARE = NO; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO; + GCC_WARN_UNDECLARED_SELECTOR = NO; + GCC_WARN_UNINITIALIZED_AUTOS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + GCC_WARN_UNUSED_FUNCTION = NO; + GCC_WARN_UNUSED_LABEL = NO; + GCC_WARN_UNUSED_VALUE = NO; + GCC_WARN_UNUSED_VARIABLE = NO; + HEADER_SEARCH_PATHS = "../extern/libpng/**"; + INSTALL_PATH = /usr/local/lib; + OTHER_LDFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = "png-1.5.1-sm5"; + USER_HEADER_SEARCH_PATHS = ""; + }; + name = PerformanceDebug; + }; + 2B17AB7613980FE0001AE57D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GCC_PREFIX_HEADER = ""; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; + GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; + GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; + GCC_WARN_ABOUT_MISSING_NEWLINE = NO; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; + GCC_WARN_ABOUT_RETURN_TYPE = NO; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; + GCC_WARN_INHIBIT_ALL_WARNINGS = YES; + GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; + GCC_WARN_MISSING_PARENTHESES = NO; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO; + GCC_WARN_PROTOTYPE_CONVERSION = NO; + GCC_WARN_SHADOW = NO; + GCC_WARN_SIGN_COMPARE = NO; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO; + GCC_WARN_UNDECLARED_SELECTOR = NO; + GCC_WARN_UNINITIALIZED_AUTOS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + GCC_WARN_UNUSED_FUNCTION = NO; + GCC_WARN_UNUSED_LABEL = NO; + GCC_WARN_UNUSED_VALUE = NO; + GCC_WARN_UNUSED_VARIABLE = NO; + HEADER_SEARCH_PATHS = "../extern/libpng/**"; + INSTALL_PATH = /usr/local/lib; + OTHER_LDFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = "png-1.5.1-sm5"; + USER_HEADER_SEARCH_PATHS = ""; + }; + name = Debug; + }; + 2B17ABC113981522001AE57D /* Native */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_MODEL_TUNING = G5; + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GCC_PREFIX_HEADER = ""; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; + GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; + GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; + GCC_WARN_ABOUT_MISSING_NEWLINE = NO; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; + GCC_WARN_ABOUT_RETURN_TYPE = NO; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; + GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; + GCC_WARN_MISSING_PARENTHESES = NO; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO; + GCC_WARN_PROTOTYPE_CONVERSION = NO; + GCC_WARN_SHADOW = NO; + GCC_WARN_SIGN_COMPARE = NO; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO; + GCC_WARN_UNDECLARED_SELECTOR = NO; + GCC_WARN_UNINITIALIZED_AUTOS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + GCC_WARN_UNUSED_FUNCTION = NO; + GCC_WARN_UNUSED_LABEL = NO; + GCC_WARN_UNUSED_VALUE = NO; + GCC_WARN_UNUSED_VARIABLE = NO; + HEADER_SEARCH_PATHS = "../extern/glew-1.5.8/include"; + INSTALL_PATH = /usr/local/lib; + OTHER_LDFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = "glew-sm5"; + USER_HEADER_SEARCH_PATHS = ""; + }; + name = Native; + }; + 2B17ABC213981522001AE57D /* PerformanceDebug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_MODEL_TUNING = G5; + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GCC_PREFIX_HEADER = ""; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; + GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; + GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; + GCC_WARN_ABOUT_MISSING_NEWLINE = NO; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; + GCC_WARN_ABOUT_RETURN_TYPE = NO; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; + GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; + GCC_WARN_MISSING_PARENTHESES = NO; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO; + GCC_WARN_PROTOTYPE_CONVERSION = NO; + GCC_WARN_SHADOW = NO; + GCC_WARN_SIGN_COMPARE = NO; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO; + GCC_WARN_UNDECLARED_SELECTOR = NO; + GCC_WARN_UNINITIALIZED_AUTOS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + GCC_WARN_UNUSED_FUNCTION = NO; + GCC_WARN_UNUSED_LABEL = NO; + GCC_WARN_UNUSED_VALUE = NO; + GCC_WARN_UNUSED_VARIABLE = NO; + HEADER_SEARCH_PATHS = "../extern/glew-1.5.8/include"; + INSTALL_PATH = /usr/local/lib; + OTHER_LDFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = "glew-sm5"; + USER_HEADER_SEARCH_PATHS = ""; + }; + name = PerformanceDebug; + }; + 2B17ABC413981522001AE57D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GCC_PREFIX_HEADER = ""; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; + GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; + GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; + GCC_WARN_ABOUT_MISSING_NEWLINE = NO; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; + GCC_WARN_ABOUT_RETURN_TYPE = NO; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; + GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; + GCC_WARN_MISSING_PARENTHESES = NO; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO; + GCC_WARN_PROTOTYPE_CONVERSION = NO; + GCC_WARN_SHADOW = NO; + GCC_WARN_SIGN_COMPARE = NO; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO; + GCC_WARN_UNDECLARED_SELECTOR = NO; + GCC_WARN_UNINITIALIZED_AUTOS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + GCC_WARN_UNUSED_FUNCTION = NO; + GCC_WARN_UNUSED_LABEL = NO; + GCC_WARN_UNUSED_VALUE = NO; + GCC_WARN_UNUSED_VARIABLE = NO; + HEADER_SEARCH_PATHS = "../extern/glew-1.5.8/include"; + INSTALL_PATH = /usr/local/lib; + OTHER_LDFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = "glew-sm5"; + USER_HEADER_SEARCH_PATHS = ""; + }; + name = Debug; + }; + 2B17ABE113981757001AE57D /* Native */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_MODEL_TUNING = G5; + GCC_PRECOMPILE_PREFIX_HEADER = ""; + GCC_PREFIX_HEADER = ""; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; + GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; + GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; + GCC_WARN_ABOUT_MISSING_NEWLINE = NO; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; + GCC_WARN_ABOUT_RETURN_TYPE = NO; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; + GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; + GCC_WARN_MISSING_PARENTHESES = NO; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO; + GCC_WARN_PROTOTYPE_CONVERSION = NO; + GCC_WARN_SHADOW = NO; + GCC_WARN_SIGN_COMPARE = NO; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO; + GCC_WARN_UNDECLARED_SELECTOR = NO; + GCC_WARN_UNINITIALIZED_AUTOS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + GCC_WARN_UNUSED_FUNCTION = NO; + GCC_WARN_UNUSED_LABEL = NO; + GCC_WARN_UNUSED_VALUE = NO; + GCC_WARN_UNUSED_VARIABLE = NO; + INSTALL_PATH = /usr/local/lib; + OTHER_LDFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = "pcre-sm5"; + }; + name = Native; + }; + 2B17ABE213981757001AE57D /* PerformanceDebug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_MODEL_TUNING = G5; + GCC_PRECOMPILE_PREFIX_HEADER = ""; + GCC_PREFIX_HEADER = ""; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; + GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; + GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; + GCC_WARN_ABOUT_MISSING_NEWLINE = NO; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; + GCC_WARN_ABOUT_RETURN_TYPE = NO; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; + GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; + GCC_WARN_MISSING_PARENTHESES = NO; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO; + GCC_WARN_PROTOTYPE_CONVERSION = NO; + GCC_WARN_SHADOW = NO; + GCC_WARN_SIGN_COMPARE = NO; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO; + GCC_WARN_UNDECLARED_SELECTOR = NO; + GCC_WARN_UNINITIALIZED_AUTOS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + GCC_WARN_UNUSED_FUNCTION = NO; + GCC_WARN_UNUSED_LABEL = NO; + GCC_WARN_UNUSED_VALUE = NO; + GCC_WARN_UNUSED_VARIABLE = NO; + INSTALL_PATH = /usr/local/lib; + OTHER_LDFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = "pcre-sm5"; + }; + name = PerformanceDebug; + }; + 2B17ABE413981757001AE57D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = ""; + GCC_PREFIX_HEADER = ""; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; + GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; + GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; + GCC_WARN_ABOUT_MISSING_NEWLINE = NO; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; + GCC_WARN_ABOUT_RETURN_TYPE = NO; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; + GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; + GCC_WARN_MISSING_PARENTHESES = NO; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO; + GCC_WARN_PROTOTYPE_CONVERSION = NO; + GCC_WARN_SHADOW = NO; + GCC_WARN_SIGN_COMPARE = NO; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO; + GCC_WARN_UNDECLARED_SELECTOR = NO; + GCC_WARN_UNINITIALIZED_AUTOS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + GCC_WARN_UNUSED_FUNCTION = NO; + GCC_WARN_UNUSED_LABEL = NO; + GCC_WARN_UNUSED_VALUE = NO; + GCC_WARN_UNUSED_VARIABLE = NO; + INSTALL_PATH = /usr/local/lib; + OTHER_LDFLAGS = ""; + PREBINDING = NO; + PRODUCT_NAME = "pcre-sm5"; + }; + name = Debug; + }; + AA0AA8FE0963CF7700427F4D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; + GCC_WARN_SHADOW = NO; + GCC_WARN_SIGN_COMPARE = YES; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNKNOWN_PRAGMAS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_LABEL = NO; + GCC_WARN_UNUSED_PARAMETER = NO; + GCC_WARN_UNUSED_VALUE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + LIBRARY_STYLE = Bundle; + MACOSX_DEPLOYMENT_TARGET = 10.5; + PRODUCT_NAME = version; + ZERO_LINK = NO; + }; + name = Debug; + }; + AA0AA8FF0963CF7700427F4D /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AA8B8C49091F48C000D14C5F /* product.xcconfig */; + buildSettings = { + CONFIGURATION_BUILD_DIR = "$(SYMROOT)"; + FULL_NAME = "$(PRODUCT_NAME).$(WRAPPER_EXTENSION)"; + GCC_AUTO_VECTORIZATION = NO; + GCC_ENABLE_SSE3_EXTENSIONS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_PREFIX_HEADER = "$(SRCROOT)/../src/archutils/Darwin/StepMania.pch"; + GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../src", + "$(SRCROOT)/../src/ffmpeg/include", + "$(SRCROOT)/../src/vorbis", + "$(SRCROOT)/../src/libjpeg", + "$(SRCROOT)/../src/libpng/include", + ); + INFOPLIST_FILE = "Info-StepMania.plist"; + INFOPLIST_PREFIX_HEADER = "$(SRCROOT)/../src/ProductInfo.h"; + INFOPLIST_PREPROCESS = YES; + INFOPLIST_PREPROCESSOR_DEFINITIONS = "EXECUTABLE_NAME=\"$(PRODUCT_NAME)\""; + LIBRARY_SEARCH_PATHS = ( + "$(SRCROOT)/build/$(CONFIGURATION)", + "$(SRCROOT)/Libraries", + "\"$(SRCROOT)/../extern/mad-0.15.1b/msvc++/Release\"", + ); + LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/build\""; + LINKER_DISPLAYS_MANGLED_NAMES = NO; + OBJROOT = "$(SRCROOT)/build"; + OTHER_CPLUSPLUSFLAGS = ( + "-finline-limit=300", + "-fconstant-cfstrings", + "-fno-exceptions", + "-falign-loops=16", + ); + OTHER_LDFLAGS = ( + "-read_only_relocs", + suppress, + ); + PRODUCT_NAME = StepMania; + SYMROOT = "$(SRCROOT)/.."; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + AA0AA9000963CF7700427F4D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUILD_VARIANTS = normal; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)"; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES = "*.nib *.lproj *.framework *.gch *.xcode* (*) CVS .svn .hg .git"; + GCC_ALTIVEC_EXTENSIONS = YES; + GCC_DEBUGGING_SYMBOLS = full; + GCC_DYNAMIC_NO_PIC = YES; + GCC_ENABLE_CPP_EXCEPTIONS = NO; + GCC_ENABLE_SYMBOL_SEPARATION = NO; + GCC_FAST_MATH = NO; + GCC_FAST_OBJC_DISPATCH = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = YES; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PFE_FILE_C_DIALECTS = "c objective-c c++ objective-c++"; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; + GCC_STRICT_ALIASING = YES; + GCC_UNROLL_LOOPS = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES; + GCC_WARN_ABOUT_MISSING_NEWLINE = YES; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO; + GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES; + GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; + GCC_WARN_MISSING_PARENTHESES = YES; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; + GCC_WARN_PROTOTYPE_CONVERSION = YES; + GCC_WARN_SHADOW = YES; + GCC_WARN_SIGN_COMPARE = YES; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_LABEL = YES; + GCC_WARN_UNUSED_VALUE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + LINKER_DISPLAYS_MANGLED_NAMES = YES; + MACOSX_DEPLOYMENT_TARGET = 10.5; + ONLY_LINK_ESSENTIAL_SYMBOLS = YES; + PREBINDING = NO; + PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES; + SDKROOT = macosx10.5; + SHARED_PRECOMPS_DIR = "/Library/Caches/com.apple.Xcode.$(UID)/SharedPrecompiledHeaders/$(PRODUCT_NAME)/$(CONFIGURATION)"; + STRIP_INSTALLED_PRODUCT = NO; + STRIP_STYLE = "non-global"; + USER_HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/../extern/glew-1.5.8/include $(PROJECT_DIR)/../extern/jsoncpp/include"; + }; + name = Debug; + }; + AA40D52809A08D650068C0D5 /* Native */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AA8B8C49091F48C000D14C5F /* product.xcconfig */; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ( + "$(SRCROOT)/Frameworks", + "$(SYSTEM_LIBRARY_DIR)/Frameworks", + "$(SYSTEM_LIBRARY_DIR)/Frameworks/CoreServices.framework/Versions/Current/Frameworks", + ); + FULL_NAME = "$(PRODUCT_NAME).$(WRAPPER_EXTENSION)"; + GCC_PREFIX_HEADER = "$(SRCROOT)/../src/archutils/Darwin/StepMania.pch"; + GCC_PREPROCESSOR_DEFINITIONS = ( + NO_MP3_SUPPORT, + WITHOUT_NETWORKING, + ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../src", + "$(SRCROOT)/Frameworks/ffmpeg.framework/Headers", + "$(SRCROOT)/../src/vorbis", + "$(SRCROOT)/../src/libjpeg", + "$(SRCROOT)/../src/libpng/include", + "$(SYSTEM_LIBRARY_DIR)/Frameworks/CoreServices.framework/Versions/Current/Frameworks/CarbonCore.framework/Versions/A/Headers", + ); + INFOPLIST_FILE = "Info-StepMania.plist"; + INFOPLIST_PREFIX_HEADER = "$(SRCROOT)/../src/ProductInfo.h"; + INFOPLIST_PREPROCESS = YES; + INFOPLIST_PREPROCESSOR_DEFINITIONS = "EXECUTABLE_NAME=\"$(PRODUCT_NAME)\""; + INSTALL_PATH = "$(HOME)/Applications"; + LIBRARY_SEARCH_PATHS = ( + "$(SRCROOT)/Libraries", + "$(SRCROOT)/build/$(CONFIGURATION)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_1)", + "\"$(SRCROOT)/../extern/mad-0.15.1b/msvc++/Release\"", + ); + LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/build\""; + OBJROOT = "$(SRCROOT)/build"; + OTHER_CPLUSPLUSFLAGS = ( + "-finline-limit=300", + "-fconstant-cfstrings", + "-fsingle-precision-constant", + "-fno-exceptions", + ); + PRODUCT_NAME = "$(value)"; + SYMROOT = "$(SRCROOT)/.."; + WRAPPER_EXTENSION = app; + }; + name = Native; + }; + AA40D52A09A08D660068C0D5 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AA8B8C49091F48C000D14C5F /* product.xcconfig */; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ( + "$(SRCROOT)/Frameworks", + "$(SYSTEM_LIBRARY_DIR)/Frameworks", + "$(SYSTEM_LIBRARY_DIR)/Frameworks/CoreServices.framework/Versions/Current/Frameworks", + ); + FULL_NAME = "$(PRODUCT_NAME).$(WRAPPER_EXTENSION)"; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREFIX_HEADER = "$(SRCROOT)/../src/archutils/Darwin/StepMania.pch"; + GCC_PREPROCESSOR_DEFINITIONS = ( + NO_MP3_SUPPORT, + WITHOUT_NETWORKING, + "$(value)", + ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../src", + "$(SRCROOT)/Frameworks/ffmpeg.framework/Headers", + "$(SRCROOT)/../src/vorbis", + "$(SRCROOT)/../src/libjpeg", + "$(SRCROOT)/../src/libpng/include", + "$(SYSTEM_LIBRARY_DIR)/Frameworks/CoreServices.framework/Versions/Current/Frameworks/CarbonCore.framework/Versions/A/Headers", + ); + INFOPLIST_FILE = "Info-StepMania.plist"; + INFOPLIST_PREFIX_HEADER = "$(SRCROOT)/../src/ProductInfo.h"; + INFOPLIST_PREPROCESS = YES; + INFOPLIST_PREPROCESSOR_DEFINITIONS = "EXECUTABLE_NAME=\"$(PRODUCT_NAME)\""; + INSTALL_PATH = "$(HOME)/Applications"; + LIBRARY_SEARCH_PATHS = ( + "$(SRCROOT)/Libraries", + "$(SRCROOT)/build/$(CONFIGURATION)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_1)", + "\"$(SRCROOT)/../extern/mad-0.15.1b/msvc++/Release\"", + ); + LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/build\""; + OBJROOT = "$(SRCROOT)/build"; + OTHER_CPLUSPLUSFLAGS = ( + "-finline-limit=300", + "-fconstant-cfstrings", + "-fsingle-precision-constant", + "-fno-exceptions", + ); + PRODUCT_NAME = "$(value)"; + SYMROOT = "$(SRCROOT)/.."; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + AA7A2B9A0AE09BA50054C5BA /* Native */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_DYNAMIC_NO_PIC = YES; + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GCC_PREFIX_HEADER = ""; + GCC_PREPROCESSOR_DEFINITIONS = ( + LUA_USE_MACOSX, + "$(value)", + ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + INSTALL_PATH = "$(HOME)/bin"; + LIBRARY_SEARCH_PATHS = "$(SRCROOT)/build/$(CONFIGURATION)"; + OBJROOT = "$(SRCROOT)/build"; + PRODUCT_NAME = lua; + SYMROOT = "$(SRCROOT)/build"; + }; + name = Native; + }; + AA7A2B9C0AE09BA50054C5BA /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_DYNAMIC_NO_PIC = YES; + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GCC_PREFIX_HEADER = ""; + GCC_PREPROCESSOR_DEFINITIONS = ( + LUA_USE_MACOSX, + "$(value)", + ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + INSTALL_PATH = "$(HOME)/bin"; + LIBRARY_SEARCH_PATHS = "$(SRCROOT)/build/$(CONFIGURATION)"; + OBJROOT = "$(SRCROOT)/build"; + PRODUCT_NAME = lua; + SYMROOT = "$(SRCROOT)/build"; + }; + name = Debug; + }; + AA7A2BBA0AE09D4E0054C5BA /* Native */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_DYNAMIC_NO_PIC = YES; + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GCC_PREFIX_HEADER = ""; + GCC_PREPROCESSOR_DEFINITIONS = LUA_USE_MACOSX; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + INSTALL_PATH = "$(HOME)/bin"; + LIBRARY_SEARCH_PATHS = "$(SRCROOT)/build/$(CONFIGURATION)"; + OBJROOT = "$(SRCROOT)/build"; + PRODUCT_NAME = luac; + SYMROOT = "$(SRCROOT)/build"; + }; + name = Native; + }; + AA7A2BBC0AE09D4E0054C5BA /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_DYNAMIC_NO_PIC = YES; + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GCC_PREFIX_HEADER = ""; + GCC_PREPROCESSOR_DEFINITIONS = LUA_USE_MACOSX; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + INSTALL_PATH = "$(HOME)/bin"; + LIBRARY_SEARCH_PATHS = "$(SRCROOT)/build/$(CONFIGURATION)"; + OBJROOT = "$(SRCROOT)/build"; + PRODUCT_NAME = luac; + SYMROOT = "$(SRCROOT)/build"; + }; + name = Debug; + }; + AA7A2BBE0AE09D4E0054C5BA /* Native */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "all lua"; + }; + name = Native; + }; + AA7A2BC00AE09D4E0054C5BA /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + PRODUCT_NAME = "all lua"; + }; + name = Debug; + }; + AA7C89820B67447E00FD9940 /* Native */ = { + isa = XCBuildConfiguration; + buildSettings = { + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; + GCC_DYNAMIC_NO_PIC = YES; + GCC_MODEL_TUNING = G5; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_PROTOTYPE_CONVERSION = NO; + INSTALL_PATH = /usr/local/lib; + PRODUCT_NAME = "tommath-sm5"; + SYMROOT = "$(SRCROOT)/build"; + }; + name = Native; + }; + AA7C89840B67447E00FD9940 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; + GCC_DYNAMIC_NO_PIC = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_PROTOTYPE_CONVERSION = NO; + INSTALL_PATH = /usr/local/lib; + PRODUCT_NAME = "tommath-sm5"; + SYMROOT = "$(SRCROOT)/build"; + }; + name = Debug; + }; + AA7C8B8F0B67464300FD9940 /* Native */ = { + isa = XCBuildConfiguration; + buildSettings = { + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = NO; + GCC_DYNAMIC_NO_PIC = YES; + GCC_ENABLE_CPP_RTTI = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_PROTOTYPE_CONVERSION = NO; + INSTALL_PATH = /usr/local/lib; + KEEP_PRIVATE_EXTERNS = YES; + PRODUCT_NAME = "tomcrypt-sm5"; + SYMROOT = "$(SRCROOT)/build"; + }; + name = Native; + }; + AA7C8B910B67464300FD9940 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = NO; + GCC_DYNAMIC_NO_PIC = YES; + GCC_ENABLE_CPP_RTTI = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + LTC_NO_ROLC, + "DEBUG=1", + ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_PROTOTYPE_CONVERSION = NO; + INSTALL_PATH = /usr/local/lib; + KEEP_PRIVATE_EXTERNS = YES; + PRODUCT_NAME = "tomcrypt-sm5"; + SYMROOT = "$(SRCROOT)/build"; + }; + name = Debug; + }; + AAA070AA0CE7B0E2005A3060 /* Native */ = { + isa = XCBuildConfiguration; + buildSettings = { + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; + FPM = ""; + "FPM[arch=i386]" = FPM_INTEL; + "FPM[arch=ppc]" = FPM_PPC; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_MODEL_TUNING = G5; + GCC_PREPROCESSOR_DEFINITIONS = ( + "HAVE_ASSERT_H=1", + "HAVE_DLFCN_H=1", + "HAVE_ERRNO_H=1", + "HAVE_FORK=1", + "HAVE_INTTYPES_H=1", + "HAVE_LIMITS_H=1", + "HAVE_MEMORY_H=1", + "HAVE_WAITPID=1", + "SIZEOF_LONG=4", + "$(FPM)", + ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; + GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_PROTOTYPE_CONVERSION = NO; + GCC_WARN_SHADOW = NO; + GCC_WARN_SIGN_COMPARE = NO; + HEADER_SEARCH_PATHS = "$(SRCROOT)/../src/mad-0.15.1b"; + INSTALL_PATH = /usr/local/lib; + PREBINDING = NO; + PRODUCT_NAME = "mad-sm5"; + }; + name = Native; + }; + AAA070AB0CE7B0E2005A3060 /* PerformanceDebug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; + FPM = ""; + "FPM[arch=i386]" = FPM_INTEL; + "FPM[arch=ppc]" = FPM_PPC; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_MODEL_TUNING = G5; + GCC_PREPROCESSOR_DEFINITIONS = ( + "HAVE_ASSERT_H=1", + "HAVE_DLFCN_H=1", + "HAVE_ERRNO_H=1", + "HAVE_FORK=1", + "HAVE_INTTYPES_H=1", + "HAVE_LIMITS_H=1", + "HAVE_MEMORY_H=1", + "HAVE_WAITPID=1", + "SIZEOF_LONG=4", + "$(FPM)", + ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; + GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_PROTOTYPE_CONVERSION = NO; + GCC_WARN_SHADOW = NO; + GCC_WARN_SIGN_COMPARE = NO; + HEADER_SEARCH_PATHS = "$(SRCROOT)/../src/mad-0.15.1b"; + INSTALL_PATH = /usr/local/lib; + PREBINDING = NO; + PRODUCT_NAME = "mad-sm5"; + }; + name = PerformanceDebug; + }; + AAA070AD0CE7B0E2005A3060 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + FPM = ""; + "FPM[arch=i386]" = FPM_INTEL; + "FPM[arch=ppc]" = FPM_PPC; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "HAVE_ASSERT_H=1", + "HAVE_DLFCN_H=1", + "HAVE_ERRNO_H=1", + "HAVE_FORK=1", + "HAVE_INTTYPES_H=1", + "HAVE_LIMITS_H=1", + "HAVE_MEMORY_H=1", + "HAVE_WAITPID=1", + "SIZEOF_LONG=4", + "$(FPM)", + ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; + GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_PROTOTYPE_CONVERSION = NO; + GCC_WARN_SHADOW = NO; + GCC_WARN_SIGN_COMPARE = NO; + HEADER_SEARCH_PATHS = "$(SRCROOT)/../src/mad-0.15.1b"; + INSTALL_PATH = /usr/local/lib; + PREBINDING = NO; + PRODUCT_NAME = "mad-sm5"; + }; + name = Debug; + }; + AABF4DBA0CD37960005A3060 /* PerformanceDebug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUILD_VARIANTS = normal; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)"; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES = "*.nib *.lproj *.framework *.gch *.xcode* (*) CVS .svn .hg .git"; + GCC_ALTIVEC_EXTENSIONS = YES; + GCC_DEBUGGING_SYMBOLS = full; + GCC_DYNAMIC_NO_PIC = YES; + GCC_ENABLE_CPP_EXCEPTIONS = NO; + GCC_ENABLE_SYMBOL_SEPARATION = NO; + GCC_FAST_MATH = NO; + GCC_FAST_OBJC_DISPATCH = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = YES; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PFE_FILE_C_DIALECTS = "c objective-c c++ objective-c++"; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_STRICT_ALIASING = YES; + GCC_UNROLL_LOOPS = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES; + GCC_WARN_ABOUT_MISSING_NEWLINE = YES; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO; + GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES; + GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; + GCC_WARN_MISSING_PARENTHESES = YES; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; + GCC_WARN_PROTOTYPE_CONVERSION = YES; + GCC_WARN_SHADOW = YES; + GCC_WARN_SIGN_COMPARE = YES; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNKNOWN_PRAGMAS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_LABEL = YES; + GCC_WARN_UNUSED_VALUE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + LINKER_DISPLAYS_MANGLED_NAMES = YES; + MACOSX_DEPLOYMENT_TARGET = 10.5; + ONLY_LINK_ESSENTIAL_SYMBOLS = YES; + PREBINDING = NO; + PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES; + SDKROOT = macosx10.5; + SHARED_PRECOMPS_DIR = "/Library/Caches/com.apple.Xcode.$(UID)/SharedPrecompiledHeaders/$(PRODUCT_NAME)/$(CONFIGURATION)"; + STRIP_INSTALLED_PRODUCT = YES; + STRIP_STYLE = "non-global"; + USER_HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/../extern/glew-1.5.8/include $(PROJECT_DIR)/../extern/jsoncpp/include"; + }; + name = PerformanceDebug; + }; + AABF4DBB0CD37960005A3060 /* PerformanceDebug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AA8B8C49091F48C000D14C5F /* product.xcconfig */; + buildSettings = { + CONFIGURATION_BUILD_DIR = "$(SYMROOT)"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = stabs; + FULL_NAME = "$(PRODUCT_NAME).$(WRAPPER_EXTENSION)"; + GCC_AUTO_VECTORIZATION = NO; + GCC_ENABLE_SSE3_EXTENSIONS = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_INLINES_ARE_PRIVATE_EXTERN = NO; + GCC_PREFIX_HEADER = "$(SRCROOT)/../src/archutils/Darwin/StepMania.pch"; + GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../src", + "$(SRCROOT)/../src/ffmpeg/include", + "$(SRCROOT)/../src/vorbis", + "$(SRCROOT)/../src/libjpeg", + "$(SRCROOT)/../src/libpng/include", + ); + INFOPLIST_FILE = "Info-StepMania.plist"; + INFOPLIST_PREFIX_HEADER = "$(SRCROOT)/../src/ProductInfo.h"; + INFOPLIST_PREPROCESS = YES; + INFOPLIST_PREPROCESSOR_DEFINITIONS = "EXECUTABLE_NAME=\"$(PRODUCT_NAME)\""; + LIBRARY_SEARCH_PATHS = ( + "$(SRCROOT)/build/$(CONFIGURATION)", + "$(SRCROOT)/Libraries", + "\"$(SRCROOT)/../extern/mad-0.15.1b/msvc++/Release\"", + ); + LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/build\""; + LINKER_DISPLAYS_MANGLED_NAMES = NO; + OBJROOT = "$(SRCROOT)/build"; + OTHER_CPLUSPLUSFLAGS = ( + "-finline-limit=300", + "-fconstant-cfstrings", + "-fno-exceptions", + "-falign-loops=16", + ); + OTHER_LDFLAGS = ( + "-read_only_relocs", + suppress, + ); + PRODUCT_NAME = StepMania; + STRIP_INSTALLED_PRODUCT = NO; + SYMROOT = "$(SRCROOT)/.."; + WRAPPER_EXTENSION = app; + }; + name = PerformanceDebug; + }; + AABF4DBC0CD37960005A3060 /* PerformanceDebug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; + GCC_WARN_SHADOW = NO; + GCC_WARN_SIGN_COMPARE = YES; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNKNOWN_PRAGMAS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_LABEL = NO; + GCC_WARN_UNUSED_PARAMETER = NO; + GCC_WARN_UNUSED_VALUE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + LIBRARY_STYLE = Bundle; + MACOSX_DEPLOYMENT_TARGET = 10.5; + PRODUCT_NAME = version; + ZERO_LINK = NO; + }; + name = PerformanceDebug; + }; + AABF4DBD0CD37960005A3060 /* PerformanceDebug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AA8B8C49091F48C000D14C5F /* product.xcconfig */; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ( + "$(SRCROOT)/Frameworks", + "$(SYSTEM_LIBRARY_DIR)/Frameworks", + "$(SYSTEM_LIBRARY_DIR)/Frameworks/CoreServices.framework/Versions/Current/Frameworks", + ); + FULL_NAME = "$(PRODUCT_NAME).$(WRAPPER_EXTENSION)"; + GCC_PREFIX_HEADER = "$(SRCROOT)/../src/archutils/Darwin/StepMania.pch"; + GCC_PREPROCESSOR_DEFINITIONS = ( + NO_MP3_SUPPORT, + WITHOUT_NETWORKING, + ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../src", + "$(SRCROOT)/Frameworks/ffmpeg.framework/Headers", + "$(SRCROOT)/../src/vorbis", + "$(SRCROOT)/../src/libjpeg", + "$(SRCROOT)/../src/libpng/include", + "$(SYSTEM_LIBRARY_DIR)/Frameworks/CoreServices.framework/Versions/Current/Frameworks/CarbonCore.framework/Versions/A/Headers", + ); + INFOPLIST_FILE = "Info-StepMania.plist"; + INFOPLIST_PREFIX_HEADER = "$(SRCROOT)/../src/ProductInfo.h"; + INFOPLIST_PREPROCESS = YES; + INFOPLIST_PREPROCESSOR_DEFINITIONS = "EXECUTABLE_NAME=\"$(PRODUCT_NAME)\""; + INSTALL_PATH = "$(HOME)/Applications"; + LIBRARY_SEARCH_PATHS = ( + "$(SRCROOT)/Libraries", + "$(SRCROOT)/build/$(CONFIGURATION)", + "$(LIBRARY_SEARCH_PATHS_QUOTED_1)", + "\"$(SRCROOT)/../extern/mad-0.15.1b/msvc++/Release\"", + ); + LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/build\""; + OBJROOT = "$(SRCROOT)/build"; + OTHER_CPLUSPLUSFLAGS = ( + "-finline-limit=300", + "-fconstant-cfstrings", + "-fsingle-precision-constant", + "-fno-exceptions", + ); + PRODUCT_NAME = "$(value)"; + SYMROOT = "$(SRCROOT)/.."; + WRAPPER_EXTENSION = app; + }; + name = PerformanceDebug; + }; + AABF4DBE0CD37960005A3060 /* PerformanceDebug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; + GCC_DEBUGGING_SYMBOLS = full; + GCC_DYNAMIC_NO_PIC = YES; + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GCC_PREFIX_HEADER = ""; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(value)", + LUA_USE_MACOSX, + ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_PROTOTYPE_CONVERSION = NO; + GCC_WARN_SHADOW = NO; + INSTALL_PATH = /usr/local/lib; + OBJROOT = "$(SRCROOT)/build"; + PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO; + PRODUCT_NAME = "lua-5.1-sm5"; + SYMROOT = "$(SRCROOT)/build"; + }; + name = PerformanceDebug; + }; + AABF4DBF0CD37960005A3060 /* PerformanceDebug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_DYNAMIC_NO_PIC = YES; + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GCC_PREFIX_HEADER = ""; + GCC_PREPROCESSOR_DEFINITIONS = ( + LUA_USE_MACOSX, + "$(value)", + ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + INSTALL_PATH = "$(HOME)/bin"; + LIBRARY_SEARCH_PATHS = "$(SRCROOT)/build/$(CONFIGURATION)"; + OBJROOT = "$(SRCROOT)/build"; + PRODUCT_NAME = lua; + SYMROOT = "$(SRCROOT)/build"; + }; + name = PerformanceDebug; + }; + AABF4DC00CD37960005A3060 /* PerformanceDebug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_DYNAMIC_NO_PIC = YES; + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GCC_PREFIX_HEADER = ""; + GCC_PREPROCESSOR_DEFINITIONS = LUA_USE_MACOSX; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + INSTALL_PATH = "$(HOME)/bin"; + LIBRARY_SEARCH_PATHS = "$(SRCROOT)/build/$(CONFIGURATION)"; + OBJROOT = "$(SRCROOT)/build"; + PRODUCT_NAME = luac; + SYMROOT = "$(SRCROOT)/build"; + }; + name = PerformanceDebug; + }; + AABF4DC10CD37960005A3060 /* PerformanceDebug */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "all lua"; + }; + name = PerformanceDebug; + }; + AABF4DC20CD37960005A3060 /* PerformanceDebug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; + GCC_DYNAMIC_NO_PIC = YES; + GCC_MODEL_TUNING = G5; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_PROTOTYPE_CONVERSION = NO; + INSTALL_PATH = /usr/local/lib; + PRODUCT_NAME = "tommath-sm5"; + SYMROOT = "$(SRCROOT)/build"; + }; + name = PerformanceDebug; + }; + AABF4DC30CD37960005A3060 /* PerformanceDebug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = NO; + GCC_DYNAMIC_NO_PIC = YES; + GCC_ENABLE_CPP_RTTI = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_PROTOTYPE_CONVERSION = NO; + INSTALL_PATH = /usr/local/lib; + KEEP_PRIVATE_EXTERNS = YES; + PRODUCT_NAME = "tomcrypt-sm5"; + SYMROOT = "$(SRCROOT)/build"; + }; + name = PerformanceDebug; + }; + AAC8450D0856A19700A9FEAB /* Native */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; + GCC_WARN_SHADOW = NO; + GCC_WARN_SIGN_COMPARE = YES; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNKNOWN_PRAGMAS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_LABEL = NO; + GCC_WARN_UNUSED_PARAMETER = NO; + GCC_WARN_UNUSED_VALUE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + LIBRARY_STYLE = Bundle; + MACOSX_DEPLOYMENT_TARGET = 10.5; + PRODUCT_NAME = version; + ZERO_LINK = NO; + }; + name = Native; + }; + AAC845110856A19700A9FEAB /* Native */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AA8B8C49091F48C000D14C5F /* product.xcconfig */; + buildSettings = { + CONFIGURATION_BUILD_DIR = "$(SYMROOT)"; + FULL_NAME = "$(PRODUCT_NAME).$(WRAPPER_EXTENSION)"; + GCC_AUTO_VECTORIZATION = YES; + GCC_ENABLE_SSE3_EXTENSIONS = YES; + GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; + GCC_PREFIX_HEADER = "$(SRCROOT)/../src/archutils/Darwin/StepMania.pch"; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ( + "$(SRCROOT)/../src", + "$(SRCROOT)/../src/ffmpeg/include", + "$(SRCROOT)/../src/vorbis", + "$(SRCROOT)/../src/libjpeg", + "$(SRCROOT)/../src/libpng/include", + ); + INFOPLIST_FILE = "Info-StepMania.plist"; + INFOPLIST_PREFIX_HEADER = "$(SRCROOT)/../src/ProductInfo.h"; + INFOPLIST_PREPROCESS = YES; + INFOPLIST_PREPROCESSOR_DEFINITIONS = "EXECUTABLE_NAME=\"$(PRODUCT_NAME)\""; + LIBRARY_SEARCH_PATHS = ( + "$(SRCROOT)/build/$(CONFIGURATION)", + "$(SRCROOT)/Libraries", + "\"$(SRCROOT)/../extern/mad-0.15.1b/msvc++/Release\"", + ); + LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/build\""; + LINKER_DISPLAYS_MANGLED_NAMES = NO; + OBJROOT = "$(SRCROOT)/build"; + OTHER_CPLUSPLUSFLAGS = ( + "-finline-limit=300", + "-fconstant-cfstrings", + "-fno-exceptions", + "-falign-loops=16", + ); + OTHER_LDFLAGS = ( + "-read_only_relocs", + suppress, + ); + PRODUCT_NAME = StepMania; + SYMROOT = "$(SRCROOT)/.."; + WRAPPER_EXTENSION = app; + }; + name = Native; + }; + AAC845150856A19700A9FEAB /* Native */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUILD_VARIANTS = normal; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)"; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES = "*.nib *.lproj *.framework *.gch *.xcode* (*) CVS .svn .hg .git"; + GCC_ALTIVEC_EXTENSIONS = YES; + GCC_DEBUGGING_SYMBOLS = full; + GCC_DYNAMIC_NO_PIC = YES; + GCC_ENABLE_CPP_EXCEPTIONS = NO; + GCC_ENABLE_SYMBOL_SEPARATION = NO; + GCC_FAST_MATH = NO; + GCC_FAST_OBJC_DISPATCH = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_INLINES_ARE_PRIVATE_EXTERN = YES; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 3; + GCC_PFE_FILE_C_DIALECTS = "c objective-c c++ objective-c++"; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_STRICT_ALIASING = YES; + GCC_UNROLL_LOOPS = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES; + GCC_WARN_ABOUT_MISSING_NEWLINE = YES; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO; + GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES; + GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; + GCC_WARN_MISSING_PARENTHESES = YES; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; + GCC_WARN_PROTOTYPE_CONVERSION = YES; + GCC_WARN_SHADOW = YES; + GCC_WARN_SIGN_COMPARE = YES; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNKNOWN_PRAGMAS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_LABEL = YES; + GCC_WARN_UNUSED_VALUE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + LINKER_DISPLAYS_MANGLED_NAMES = YES; + MACOSX_DEPLOYMENT_TARGET = 10.5; + ONLY_LINK_ESSENTIAL_SYMBOLS = YES; + PREBINDING = NO; + PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES; + SDKROOT = macosx10.5; + SHARED_PRECOMPS_DIR = "/Library/Caches/com.apple.Xcode.$(UID)/SharedPrecompiledHeaders/$(PRODUCT_NAME)/$(CONFIGURATION)"; + STRIP_INSTALLED_PRODUCT = YES; + STRIP_STYLE = "non-global"; + USER_HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/../extern/glew-1.5.8/include $(PROJECT_DIR)/../extern/jsoncpp/include"; + }; + name = Native; + }; + AAE781800AC7E3BF00AEFC64 /* Native */ = { + isa = XCBuildConfiguration; + buildSettings = { + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; + GCC_DEBUGGING_SYMBOLS = full; + GCC_DYNAMIC_NO_PIC = YES; + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GCC_PREFIX_HEADER = ""; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(value)", + LUA_USE_MACOSX, + ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_PROTOTYPE_CONVERSION = NO; + GCC_WARN_SHADOW = NO; + INSTALL_PATH = /usr/local/lib; + OBJROOT = "$(SRCROOT)/build"; + PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO; + PRODUCT_NAME = "lua-5.1-sm5"; + SYMROOT = "$(SRCROOT)/build"; + }; + name = Native; + }; + AAE781820AC7E3BF00AEFC64 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; + GCC_DEBUGGING_SYMBOLS = full; + GCC_DYNAMIC_NO_PIC = YES; + GCC_PRECOMPILE_PREFIX_HEADER = NO; + GCC_PREFIX_HEADER = ""; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(value)", + LUA_USE_MACOSX, + ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_PROTOTYPE_CONVERSION = NO; + GCC_WARN_SHADOW = NO; + INSTALL_PATH = /usr/local/lib; + OBJROOT = "$(SRCROOT)/build"; + PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO; + PRODUCT_NAME = "lua-5.1-sm5"; + SYMROOT = "$(SRCROOT)/build"; + }; + name = Debug; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 2B17AB8F13981052001AE57D /* Build configuration list for PBXNativeTarget "png" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 2B17AB7313980FE0001AE57D /* Native */, + 2B17AB7413980FE0001AE57D /* PerformanceDebug */, + 2B17AB7613980FE0001AE57D /* Debug */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Native; + }; + 2B17ABCC139815AC001AE57D /* Build configuration list for PBXNativeTarget "glew" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 2B17ABC113981522001AE57D /* Native */, + 2B17ABC213981522001AE57D /* PerformanceDebug */, + 2B17ABC413981522001AE57D /* Debug */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Native; + }; + 2B17ABF9139817C3001AE57D /* Build configuration list for PBXNativeTarget "pcre" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 2B17ABE113981757001AE57D /* Native */, + 2B17ABE213981757001AE57D /* PerformanceDebug */, + 2B17ABE413981757001AE57D /* Debug */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Native; + }; + AA40D52709A08D650068C0D5 /* Build configuration list for PBXNativeTarget "stepmania-bare" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + AA40D52809A08D650068C0D5 /* Native */, + AABF4DBD0CD37960005A3060 /* PerformanceDebug */, + AA40D52A09A08D660068C0D5 /* Debug */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Native; + }; + AA7A2B990AE09BA50054C5BA /* Build configuration list for PBXNativeTarget "lua" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + AA7A2B9A0AE09BA50054C5BA /* Native */, + AABF4DBF0CD37960005A3060 /* PerformanceDebug */, + AA7A2B9C0AE09BA50054C5BA /* Debug */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Native; + }; + AA7A2BB90AE09D4E0054C5BA /* Build configuration list for PBXNativeTarget "luac" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + AA7A2BBA0AE09D4E0054C5BA /* Native */, + AABF4DC00CD37960005A3060 /* PerformanceDebug */, + AA7A2BBC0AE09D4E0054C5BA /* Debug */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Native; + }; + AA7A2BBD0AE09D4E0054C5BA /* Build configuration list for PBXAggregateTarget "all lua" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + AA7A2BBE0AE09D4E0054C5BA /* Native */, + AABF4DC10CD37960005A3060 /* PerformanceDebug */, + AA7A2BC00AE09D4E0054C5BA /* Debug */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Native; + }; + AA7C89810B67447E00FD9940 /* Build configuration list for PBXNativeTarget "tommath" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + AA7C89820B67447E00FD9940 /* Native */, + AABF4DC20CD37960005A3060 /* PerformanceDebug */, + AA7C89840B67447E00FD9940 /* Debug */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Native; + }; + AA7C8B8E0B67464300FD9940 /* Build configuration list for PBXNativeTarget "tomcrypt" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + AA7C8B8F0B67464300FD9940 /* Native */, + AABF4DC30CD37960005A3060 /* PerformanceDebug */, + AA7C8B910B67464300FD9940 /* Debug */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Native; + }; + AAA070AE0CE7B138005A3060 /* Build configuration list for PBXNativeTarget "mad" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + AAA070AA0CE7B0E2005A3060 /* Native */, + AAA070AB0CE7B0E2005A3060 /* PerformanceDebug */, + AAA070AD0CE7B0E2005A3060 /* Debug */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Native; + }; + AAC8450B0856A19700A9FEAB /* Build configuration list for PBXLegacyTarget "version" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + AAC8450D0856A19700A9FEAB /* Native */, + AABF4DBC0CD37960005A3060 /* PerformanceDebug */, + AA0AA8FE0963CF7700427F4D /* Debug */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Native; + }; + AAC8450F0856A19700A9FEAB /* Build configuration list for PBXNativeTarget "stepmania" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + AAC845110856A19700A9FEAB /* Native */, + AABF4DBB0CD37960005A3060 /* PerformanceDebug */, + AA0AA8FF0963CF7700427F4D /* Debug */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Native; + }; + AAC845130856A19700A9FEAB /* Build configuration list for PBXProject "stepmania_xcode4" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + AAC845150856A19700A9FEAB /* Native */, + AABF4DBA0CD37960005A3060 /* PerformanceDebug */, + AA0AA9000963CF7700427F4D /* Debug */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Native; + }; + AAE7817F0AC7E3BF00AEFC64 /* Build configuration list for PBXNativeTarget "lua-5.1" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + AAE781800AC7E3BF00AEFC64 /* Native */, + AABF4DBE0CD37960005A3060 /* PerformanceDebug */, + AAE781820AC7E3BF00AEFC64 /* Debug */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Native; + }; +/* End XCConfigurationList section */ + }; + rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; +} diff --git a/sm-ssc.nsi b/sm-ssc.nsi index 4655f8e1ba..f0644064db 100644 --- a/sm-ssc.nsi +++ b/sm-ssc.nsi @@ -52,8 +52,16 @@ SetDateSave on ; (can be on to have files restored to their orginal date) ; I think it may need actual admin privs for writing to the registry... -aj - ; RequestExecutionLevel user - ; this folder may not be the best idea for Windows Vista/7. -aj + ;RequestExecutionLevel user + + ;GetVersion::WindowsServicePackMajor + ;Pop $R0 + ;${If} $R0 >= 6 + ; vista & 7 + ;${Else} + ; xp and below + ;${EndIf} + InstallDir "$PROGRAMFILES\${PRODUCT_ID}" InstallDirRegKey HKEY_LOCAL_MACHINE "SOFTWARE\${PRODUCT_ID}" "" @@ -846,8 +854,37 @@ Section "Uninstall" RMDir "$INSTDIR" ; will delete only if empty SetShellVarContext current - Delete "$DESKTOP\Play StepMania CVS.lnk" - Delete "$DESKTOP\${PRODUCT_DISPLAY}.lnk" + + ; kill shortcuts + !ifdef MAKE_DESKTOP_SHORTCUT + Delete "$DESKTOP\$(TEXT_IO_RUN).lnk" + !endif + !ifdef MAKE_DESKTOP_SHORTCUT + Delete "$DESKTOP\$(TEXT_IO_RUN).lnk" + !endif + + Delete "$SMPROGRAMS\${PRODUCT_ID}\$(TEXT_IO_RUN).lnk" + Delete "$SMPROGRAMS\${PRODUCT_ID}\$(TEXT_IO_RUN_WITHOUT_SSE2).lnk" + + !ifdef MAKE_OPEN_PROGRAM_FOLDER_SHORTCUT + Delete "$SMPROGRAMS\${PRODUCT_ID}\$(TEXT_IO_OPEN_PROGRAM_FOLDER).lnk" + !endif + !ifdef MAKE_OPEN_SETTINGS_FOLDER_SHORTCUT + Delete "$SMPROGRAMS\${PRODUCT_ID}\$(TEXT_IO_OPEN_SETTINGS_FOLDER).lnk" + !endif + + ;Delete "$SMPROGRAMS\${PRODUCT_ID}\$(TEXT_IO_VIEW_STATISTICS).lnk" + ;Delete "$SMPROGRAMS\${PRODUCT_ID}\$(TEXT_IO_TOOLS).lnk" + Delete "$SMPROGRAMS\${PRODUCT_ID}\$(TEXT_IO_MANUAL).lnk" + Delete "$SMPROGRAMS\${PRODUCT_ID}\$(TEXT_IO_UNINSTALL).lnk" + Delete "$SMPROGRAMS\${PRODUCT_ID}\$(TEXT_IO_WEB_SITE).lnk" + Delete "$SMPROGRAMS\${PRODUCT_ID}\$(TEXT_IO_TEXTURE_FONT_GENERATOR).lnk" + !ifdef MAKE_UPDATES_SHORTCUT + Delete "$SMPROGRAMS\${PRODUCT_ID}\$(TEXT_IO_CHECK_FOR_UPDATES).lnk" + !endif + Delete "$INSTDIR\${PRODUCT_ID}.lnk" + Delete "$INSTDIR\${PRODUCT_ID} (non-SSE2).lnk" + ; I'm being paranoid here: Delete "$SMPROGRAMS\${PRODUCT_ID}\*.*" RMDir "$SMPROGRAMS\${PRODUCT_ID}" diff --git a/src/Actor.cpp b/src/Actor.cpp index d7e8f3f4b2..917f4cc45f 100644 --- a/src/Actor.cpp +++ b/src/Actor.cpp @@ -722,12 +722,13 @@ void Actor::UpdateInternal( float fDeltaTime ) // todo: account for SSC_FUTURES -aj switch( m_Effect ) { - case spin: - m_current.rotation += m_fEffectDelta*m_vEffectMagnitude; - wrap( m_current.rotation.x, 360 ); - wrap( m_current.rotation.y, 360 ); - wrap( m_current.rotation.z, 360 ); - break; + case spin: + m_current.rotation += m_fEffectDelta*m_vEffectMagnitude; + wrap( m_current.rotation.x, 360 ); + wrap( m_current.rotation.y, 360 ); + wrap( m_current.rotation.z, 360 ); + break; + default: break; } UpdateTweening( fDeltaTime ); diff --git a/src/AdjustSync.cpp b/src/AdjustSync.cpp index bc0425293d..7e7ec96247 100644 --- a/src/AdjustSync.cpp +++ b/src/AdjustSync.cpp @@ -266,14 +266,23 @@ void AdjustSync::AutosyncTempo() GAMESTATE->m_pCurSong->m_SongTiming.m_fBeat0OffsetInSeconds += fIntercept; const float fScaleBPM = 1.0f/(1.0f - fSlope); - FOREACH( BPMSegment, GAMESTATE->m_pCurSong->m_SongTiming.m_BPMSegments, i ) - i->SetBPM( i->GetBPM() * fScaleBPM ); + TimingData &timing = GAMESTATE->m_pCurSong->m_SongTiming; + vector &bpms = timing.allTimingSegments[SEGMENT_BPM]; + for (unsigned i = 0; i < bpms.size(); i++) + { + BPMSegment *b = static_cast(bpms[i]); + b->SetBPM(b->GetBPM() * fScaleBPM); + } /* We assume that the stops were measured as a number of beats. * Therefore, if we change the bpms, we need to make a similar * change to the stops. */ - FOREACH( StopSegment, GAMESTATE->m_pCurSong->m_SongTiming.m_StopSegments, i ) - i->SetPause(i->GetPause() * (1.0f - fSlope)); + vector &stops = timing.allTimingSegments[SEGMENT_STOP_DELAY]; + for (unsigned i = 0; i < stops.size(); i++) + { + StopSegment *s = static_cast(stops[i]); + s->SetPause(s->GetPause() * (1.0f - fSlope)); + } SCREENMAN->SystemMessage( AUTOSYNC_CORRECTION_APPLIED.GetValue() ); } @@ -343,10 +352,14 @@ void AdjustSync::GetSyncChangeTextSong( vector &vsAddTo ) } } - for( unsigned i=0; i< testing.m_BPMSegments.size(); i++ ) + vector &bpmTest = testing.allTimingSegments[SEGMENT_BPM]; + vector &bpmOrig = original.allTimingSegments[SEGMENT_BPM]; + for( unsigned i=0; i< bpmTest.size(); i++ ) { - float fOld = Quantize( original.m_BPMSegments[i].GetBPM(), 0.001f ); - float fNew = Quantize( testing.m_BPMSegments[i].GetBPM(), 0.001f ); + BPMSegment *bT = static_cast(bpmTest[i]); + BPMSegment *bO = static_cast(bpmOrig[i]); + float fOld = Quantize( bO->GetBPM(), 0.001f ); + float fNew = Quantize( bT->GetBPM(), 0.001f ); float fDelta = fNew - fOld; if( fabsf(fDelta) > 0.0001f ) @@ -364,10 +377,14 @@ void AdjustSync::GetSyncChangeTextSong( vector &vsAddTo ) } } - for( unsigned i=0; i< testing.m_StopSegments.size(); i++ ) + vector &stopTest = testing.allTimingSegments[SEGMENT_STOP_DELAY]; + vector &stopOrig = original.allTimingSegments[SEGMENT_STOP_DELAY]; + for( unsigned i=0; i< stopTest.size(); i++ ) { - float fOld = Quantize( original.m_StopSegments[i].GetPause(), 0.001f ); - float fNew = Quantize( testing.m_StopSegments[i].GetPause(), 0.001f ); + StopSegment *sT = static_cast(stopTest[i]); + StopSegment *sO = static_cast(stopOrig[i]); + float fOld = Quantize( sO->GetPause(), 0.001f ); + float fNew = Quantize( sT->GetPause(), 0.001f ); float fDelta = fNew - fOld; if( fabsf(fDelta) > 0.0001f ) diff --git a/src/BGAnimationLayer.cpp b/src/BGAnimationLayer.cpp index 42a09a5571..d7ff56ca07 100644 --- a/src/BGAnimationLayer.cpp +++ b/src/BGAnimationLayer.cpp @@ -189,11 +189,11 @@ void BGAnimationLayer::LoadFromAniLayerFile( const RString& sPath ) switch( effect ) { - case EFFECT_STRETCH_SCROLL_LEFT: m_fTexCoordVelocityX = +0.5f; m_fTexCoordVelocityY = 0; break; - case EFFECT_STRETCH_SCROLL_RIGHT: m_fTexCoordVelocityX = -0.5f; m_fTexCoordVelocityY = 0; break; - case EFFECT_STRETCH_SCROLL_UP: m_fTexCoordVelocityX = 0; m_fTexCoordVelocityY = +0.5f; break; - case EFFECT_STRETCH_SCROLL_DOWN: m_fTexCoordVelocityX = 0; m_fTexCoordVelocityY = -0.5f; break; - break; + case EFFECT_STRETCH_SCROLL_LEFT: m_fTexCoordVelocityX = +0.5f; m_fTexCoordVelocityY = 0; break; + case EFFECT_STRETCH_SCROLL_RIGHT: m_fTexCoordVelocityX = -0.5f; m_fTexCoordVelocityY = 0; break; + case EFFECT_STRETCH_SCROLL_UP: m_fTexCoordVelocityX = 0; m_fTexCoordVelocityY = +0.5f; break; + case EFFECT_STRETCH_SCROLL_DOWN: m_fTexCoordVelocityX = 0; m_fTexCoordVelocityY = -0.5f; break; + default: break; } } break; diff --git a/src/Background.cpp b/src/Background.cpp index d5b14b308b..c987102faa 100644 --- a/src/Background.cpp +++ b/src/Background.cpp @@ -421,35 +421,41 @@ void BackgroundImpl::LoadFromRandom( float fFirstBeat, float fEndBeat, const Bac const TimingData &timing = m_pSong->m_SongTiming; // change BG every time signature change or 4 measures - FOREACH_CONST( TimeSignatureSegment, timing.m_vTimeSignatureSegments, iter ) + const vector &tSigs = timing.allTimingSegments[SEGMENT_TIME_SIG]; + + for (unsigned i = 0; i < tSigs.size(); i++) { - vector::const_iterator next = iter; - next++; - int iSegmentEndRow = (next == timing.m_vTimeSignatureSegments.end()) ? iEndRow : next->GetRow(); + TimeSignatureSegment *ts = static_cast(tSigs[i]); + int iSegmentEndRow = (i + 1 == tSigs.size()) ? iEndRow : tSigs[i+1]->GetRow(); - for( int i=max(iter->GetRow(),iStartRow); iGetNoteRowsPerMeasure() ) + + for(int j=max(ts->GetRow(),iStartRow); + jGetNoteRowsPerMeasure()) { // Don't fade. It causes frame rate dip, especially on slower machines. - BackgroundDef bd = m_Layer[0].CreateRandomBGA( m_pSong, change.m_def.m_sEffect, m_RandomBGAnimations, this ); + BackgroundDef bd = m_Layer[0].CreateRandomBGA(m_pSong, + change.m_def.m_sEffect, + m_RandomBGAnimations, this); if( !bd.IsEmpty() ) { BackgroundChange c = change; c.m_def = bd; - c.m_fStartBeat = NoteRowToBeat(i); + c.m_fStartBeat = NoteRowToBeat(j); m_Layer[0].m_aBGChanges.push_back( c ); } } } // change BG every BPM change that is at the beginning of a measure - for( unsigned i=0; i &bpms = timing.allTimingSegments[SEGMENT_BPM]; + for( unsigned i=0; iGetRow()) % iter->GetNoteRowsPerMeasure() == 0 ) + TimeSignatureSegment *ts = static_cast(tSigs[j]); + if ((bpms[i]->GetRow() - ts->GetRow()) % ts->GetNoteRowsPerMeasure() == 0) { bAtBeginningOfMeasure = true; break; @@ -460,7 +466,7 @@ void BackgroundImpl::LoadFromRandom( float fFirstBeat, float fEndBeat, const Bac continue; // skip // start so that we don't create a BGChange right on top of fEndBeat - bool bInRange = bpmseg.GetRow() >= iStartRow && bpmseg.GetRow() < iEndRow; + bool bInRange = bpms[i]->GetRow() >= iStartRow && bpms[i]->GetRow() < iEndRow; if( !bInRange ) continue; // skip @@ -470,7 +476,7 @@ void BackgroundImpl::LoadFromRandom( float fFirstBeat, float fEndBeat, const Bac BackgroundChange c = change; c.m_def.m_sFile1 = bd.m_sFile1; c.m_def.m_sFile2 = bd.m_sFile2; - c.m_fStartBeat = bpmseg.GetBeat(); + c.m_fStartBeat = bpms[i]->GetBeat(); m_Layer[0].m_aBGChanges.push_back( c ); } } diff --git a/src/BackgroundUtil.cpp b/src/BackgroundUtil.cpp index 6644d1593d..d101be23e1 100644 --- a/src/BackgroundUtil.cpp +++ b/src/BackgroundUtil.cpp @@ -68,6 +68,25 @@ RString BackgroundChange::GetTextDescription() const return s; } +RString BackgroundChange::ToString() const +{ + /* TODO: Technically we need to double-escape the filename + * (because it might contain '=') and then unescape the value + * returned by the MsdFile. */ + return ssprintf("%.3f=%s=%.3f=%d=%d=%d=%s=%s=%s=%s=%s", + this->m_fStartBeat, + SmEscape(this->m_def.m_sFile1).c_str(), + this->m_fRate, + this->m_sTransition == SBT_CrossFade, // backward compat + this->m_def.m_sEffect == SBE_StretchRewind, // backward compat + this->m_def.m_sEffect != SBE_StretchNoLoop, // backward compat + this->m_def.m_sEffect.c_str(), + this->m_def.m_sFile2.c_str(), + this->m_sTransition.c_str(), + SmEscape(RageColor::NormalizeColorString(this->m_def.m_sColor1)).c_str(), + SmEscape(RageColor::NormalizeColorString(this->m_def.m_sColor2)).c_str()); +} + const RString BACKGROUND_EFFECTS_DIR = "BackgroundEffects/"; const RString BACKGROUND_TRANSITIONS_DIR = "BackgroundTransitions/"; diff --git a/src/BackgroundUtil.h b/src/BackgroundUtil.h index 80d36b8a92..c4907b590c 100644 --- a/src/BackgroundUtil.h +++ b/src/BackgroundUtil.h @@ -64,6 +64,11 @@ struct BackgroundChange RString m_sTransition; RString GetTextDescription() const; + + /** + * @brief Get the string representation of the change. + * @return the string representation. */ + RString ToString() const; }; /** @brief Shared background-related routines. */ namespace BackgroundUtil diff --git a/src/Course.cpp b/src/Course.cpp index 8993e8b44b..bfe93c1e70 100644 --- a/src/Course.cpp +++ b/src/Course.cpp @@ -429,12 +429,14 @@ bool Course::GetTrailUnsorted( StepsType st, CourseDifficulty cd, Trail &trail ) { trail.Init(); + // XXX: Why are beginner and challenge excluded here? -Wolfman2000 switch( cd ) { - case Difficulty_Beginner: - return false; - case Difficulty_Challenge: - return false; + case Difficulty_Beginner: + return false; + case Difficulty_Challenge: + return false; + default: break; } // Construct a new Trail, add it to the cache, then return it. diff --git a/src/DancingCharacters.cpp b/src/DancingCharacters.cpp index 403277580c..6b2228e267 100644 --- a/src/DancingCharacters.cpp +++ b/src/DancingCharacters.cpp @@ -131,10 +131,11 @@ DancingCharacters::DancingCharacters(): m_bDrawDangerLight(false), switch( GAMESTATE->m_PlayMode ) { - case PLAY_MODE_BATTLE: - case PLAY_MODE_RAVE: - m_pCharacter[p]->SetRotationY( MODEL_ROTATIONY_TWO_PLAYERS[p] ); - break; + case PLAY_MODE_BATTLE: + case PLAY_MODE_RAVE: + m_pCharacter[p]->SetRotationY( MODEL_ROTATIONY_TWO_PLAYERS[p] ); + default: + break; } m_pCharacter[p]->LoadMilkshapeAscii( pChar->GetModelPath() ); diff --git a/src/EditMenu.cpp b/src/EditMenu.cpp index 274ff975b8..72076ba71b 100644 --- a/src/EditMenu.cpp +++ b/src/EditMenu.cpp @@ -275,12 +275,12 @@ bool EditMenu::RowIsSelectable( EditMenuRow row ) { switch( row ) { - case ROW_SOURCE_STEPS_TYPE: - case ROW_SOURCE_STEPS: - return false; + case ROW_SOURCE_STEPS_TYPE: + case ROW_SOURCE_STEPS: + return false; + default: return true; } } - return true; } diff --git a/src/GameCommand.cpp b/src/GameCommand.cpp index 0f6ac72104..a78091761e 100644 --- a/src/GameCommand.cpp +++ b/src/GameCommand.cpp @@ -465,22 +465,21 @@ static bool AreStyleAndPlayModeCompatible( const Style *style, PlayMode pm ) switch( pm ) { - case PLAY_MODE_BATTLE: - case PLAY_MODE_RAVE: - // Can't play rave if there isn't enough room for two players. - // This is correct for dance (ie, no rave for solo and doubles), - // and should be okay for pump.. not sure about other game types. - // Techno Motion scales down versus arrows, though, so allow this. - if( style->m_iColsPerPlayer >= 6 && RString(GAMESTATE->m_pCurGame->m_szName) != "techno" ) - return false; + case PLAY_MODE_BATTLE: + case PLAY_MODE_RAVE: + // Can't play rave if there isn't enough room for two players. + // This is correct for dance (ie, no rave for solo and doubles), + // and should be okay for pump.. not sure about other game types. + // Techno Motion scales down versus arrows, though, so allow this. + if( style->m_iColsPerPlayer >= 6 && RString(GAMESTATE->m_pCurGame->m_szName) != "techno" ) + return false; - // Don't allow battle modes if the style takes both sides. - if( style->m_StyleType==StyleType_OnePlayerTwoSides || - style->m_StyleType==StyleType_TwoPlayersSharedSides ) - return false; + // Don't allow battle modes if the style takes both sides. + if( style->m_StyleType==StyleType_OnePlayerTwoSides || + style->m_StyleType==StyleType_TwoPlayersSharedSides ) + return false; + default: return true; } - - return true; } bool GameCommand::IsPlayable( RString *why ) const @@ -500,9 +499,10 @@ bool GameCommand::IsPlayable( RString *why ) const switch( GAMESTATE->GetCoinMode() ) { - case CoinMode_Home: - case CoinMode_Free: - iCredits = NUM_PLAYERS; // not iNumCreditsPaid + case CoinMode_Home: + case CoinMode_Free: + iCredits = NUM_PLAYERS; // not iNumCreditsPaid + default: break; } /* With PREFSMAN->m_bDelayedCreditsReconcile disabled, enough credits must diff --git a/src/GameSoundManager.cpp b/src/GameSoundManager.cpp index 27933d5d82..183b3ccf48 100644 --- a/src/GameSoundManager.cpp +++ b/src/GameSoundManager.cpp @@ -60,8 +60,8 @@ struct MusicPlaying RageSound *m_Music; MusicPlaying( RageSound *Music ) { - m_Timing.AddBPMSegment( BPMSegment(0,120) ); - m_NewTiming.AddBPMSegment( BPMSegment(0,120) ); + m_Timing.AddSegment( SEGMENT_BPM, new BPMSegment(0,120) ); + m_NewTiming.AddSegment( SEGMENT_BPM, new BPMSegment(0,120) ); m_bHasTiming = false; m_bTimingDelayed = false; m_bApplyMusicRate = false; diff --git a/src/GameState.cpp b/src/GameState.cpp index 35d61decd0..ff265e5f5b 100644 --- a/src/GameState.cpp +++ b/src/GameState.cpp @@ -747,7 +747,9 @@ void GameState::CancelStage() { case PLAY_MODE_BATTLE: case PLAY_MODE_RAVE: - m_iPlayerStageTokens[p] = PREFSMAN->m_iSongsPerPlay; + m_iPlayerStageTokens[p] = PREFSMAN->m_iSongsPerPlay; + default: + break; } } @@ -1169,12 +1171,12 @@ bool GameState::IsPlayerEnabled( PlayerNumber pn ) const // In rave, all players are present. Non-human players are CPU controlled. switch( m_PlayMode ) { - case PLAY_MODE_BATTLE: - case PLAY_MODE_RAVE: - return true; + case PLAY_MODE_BATTLE: + case PLAY_MODE_RAVE: + return true; + default: + return IsHumanPlayer(pn); } - - return IsHumanPlayer( pn ); } bool GameState::IsMultiPlayerEnabled( MultiPlayer mp ) const @@ -1346,16 +1348,17 @@ StageResult GameState::GetStageResult( PlayerNumber pn ) const { switch( m_PlayMode ) { - case PLAY_MODE_BATTLE: - case PLAY_MODE_RAVE: - if( fabsf(m_fTugLifePercentP1 - 0.5f) < 0.0001f ) - return RESULT_DRAW; - switch( pn ) - { - case PLAYER_1: return (m_fTugLifePercentP1>=0.5f)?RESULT_WIN:RESULT_LOSE; - case PLAYER_2: return (m_fTugLifePercentP1<0.5f)?RESULT_WIN:RESULT_LOSE; - default: ASSERT(0); return RESULT_LOSE; - } + case PLAY_MODE_BATTLE: + case PLAY_MODE_RAVE: + if( fabsf(m_fTugLifePercentP1 - 0.5f) < 0.0001f ) + return RESULT_DRAW; + switch( pn ) + { + case PLAYER_1: return (m_fTugLifePercentP1>=0.5f)?RESULT_WIN:RESULT_LOSE; + case PLAYER_2: return (m_fTugLifePercentP1<0.5f)?RESULT_WIN:RESULT_LOSE; + default: FAIL_M("Invalid player for battle! Aborting..."); return RESULT_LOSE; + } + default: break; } StageResult win = RESULT_WIN; diff --git a/src/Inventory.cpp b/src/Inventory.cpp index b45b779449..70928245c7 100644 --- a/src/Inventory.cpp +++ b/src/Inventory.cpp @@ -72,16 +72,19 @@ void Inventory::Load( PlayerState* pPlayerState ) // don't load battle sounds if they're not going to be used switch( GAMESTATE->m_PlayMode ) { - case PLAY_MODE_BATTLE: - m_soundAcquireItem.Load( THEME->GetPathS("Inventory","aquire item") ); - for( unsigned i=0; iLoad( THEME->GetPathS("Inventory",ssprintf("use item %u",i+1)) ); - m_vpSoundUseItem.push_back( pSound ); + m_soundAcquireItem.Load( THEME->GetPathS("Inventory","aquire item") ); + for( unsigned i=0; iLoad( THEME->GetPathS("Inventory",ssprintf("use item %u",i+1)) ); + m_vpSoundUseItem.push_back( pSound ); + } + m_soundItemEnding.Load( THEME->GetPathS("Inventory","item ending") ); + break; } - m_soundItemEnding.Load( THEME->GetPathS("Inventory","item ending") ); - break; + default: break; } } diff --git a/src/JsonUtil.h b/src/JsonUtil.h index 87942336e0..22c33ae4ec 100644 --- a/src/JsonUtil.h +++ b/src/JsonUtil.h @@ -31,6 +31,24 @@ namespace JsonUtil for(unsigned i=0; i + static void SerializeVectorPointers(const vector &v, void fn(const T &, Json::Value &), Json::Value &root) + { + root = Json::Value(Json::arrayValue); + root.resize(v.size()); + for(unsigned i=0; i + static void SerializeVectorPointers(const vector &v, void fn(const T *, Json::Value &), Json::Value &root) + { + root = Json::Value(Json::arrayValue); + root.resize(v.size()); + for(unsigned i=0; i static void SerializeArray(const V &v, void fn(const T &, Json::Value &), Json::Value &root) @@ -149,6 +167,19 @@ namespace JsonUtil fn(*v[i], root[i]); } } + + template + static void DeserializeVectorPointers(vector &v, void fn(T *, const Json::Value &), const Json::Value &root) + { + for(unsigned i=0; i static void DeserializeArrayValues(vector &v, const Json::Value &root) diff --git a/src/LifeMeterBar.cpp b/src/LifeMeterBar.cpp index bbc101058a..4c7eee2ed7 100644 --- a/src/LifeMeterBar.cpp +++ b/src/LifeMeterBar.cpp @@ -212,12 +212,13 @@ void LifeMeterBar::ChangeLife( float fDeltaLife ) switch( GAMESTATE->m_SongOptions.GetSong().m_DrainType ) { - case SongOptions::DRAIN_NORMAL: - case SongOptions::DRAIN_NO_RECOVER: - if( fDeltaLife > 0 ) - fDeltaLife *= m_fLifeDifficulty; - else - fDeltaLife /= m_fLifeDifficulty; + case SongOptions::DRAIN_NORMAL: + case SongOptions::DRAIN_NO_RECOVER: + if( fDeltaLife > 0 ) + fDeltaLife *= m_fLifeDifficulty; + else + fDeltaLife /= m_fLifeDifficulty; + default: break; } diff --git a/src/MemoryCardManager.cpp b/src/MemoryCardManager.cpp index 6a40d6ee6a..b3ddb9e87e 100644 --- a/src/MemoryCardManager.cpp +++ b/src/MemoryCardManager.cpp @@ -449,22 +449,23 @@ void MemoryCardManager::CheckStateChanges() { switch( new_device.m_State ) { - case UsbStorageDevice::STATE_NONE: - state = MemoryCardState_NoCard; - break; + case UsbStorageDevice::STATE_NONE: + state = MemoryCardState_NoCard; + break; - case UsbStorageDevice::STATE_CHECKING: - state = MemoryCardState_Checking; - break; + case UsbStorageDevice::STATE_CHECKING: + state = MemoryCardState_Checking; + break; - case UsbStorageDevice::STATE_ERROR: - state = MemoryCardState_Error; - sError = new_device.m_sError; - break; + case UsbStorageDevice::STATE_ERROR: + state = MemoryCardState_Error; + sError = new_device.m_sError; + break; - case UsbStorageDevice::STATE_READY: - state = MemoryCardState_Ready; - break; + case UsbStorageDevice::STATE_READY: + state = MemoryCardState_Ready; + break; + default: break; } } @@ -476,23 +477,24 @@ void MemoryCardManager::CheckStateChanges() params.m_bIsCriticalSound = true; switch( state ) { - case MemoryCardState_NoCard: - case MemoryCardState_Removed: - if( LastState == MemoryCardState_Ready ) - { - m_soundDisconnect.Play( ¶ms ); - MESSAGEMAN->Broadcast( (MessageID)(Message_CardRemovedP1+p) ); - } - break; - case MemoryCardState_Ready: - m_soundReady.Play( ¶ms ); - break; - case MemoryCardState_TooLate: - m_soundTooLate.Play( ¶ms ); - break; - case MemoryCardState_Error: - m_soundError.Play( ¶ms ); - break; + case MemoryCardState_NoCard: + case MemoryCardState_Removed: + if( LastState == MemoryCardState_Ready ) + { + m_soundDisconnect.Play( ¶ms ); + MESSAGEMAN->Broadcast( (MessageID)(Message_CardRemovedP1+p) ); + } + break; + case MemoryCardState_Ready: + m_soundReady.Play( ¶ms ); + break; + case MemoryCardState_TooLate: + m_soundTooLate.Play( ¶ms ); + break; + case MemoryCardState_Error: + m_soundError.Play( ¶ms ); + break; + default: break; } m_State[p] = state; diff --git a/src/MusicWheel.cpp b/src/MusicWheel.cpp index 5c7d9a6b6b..ebdb79338d 100644 --- a/src/MusicWheel.cpp +++ b/src/MusicWheel.cpp @@ -42,23 +42,23 @@ static SortOrder ForceAppropriateSort( PlayMode pm, SortOrder so ) { switch( pm ) { - // in course modes, force a particular sort - case PLAY_MODE_ONI: return SORT_ONI_COURSES; - case PLAY_MODE_NONSTOP: return SORT_NONSTOP_COURSES; - case PLAY_MODE_ENDLESS: return SORT_ENDLESS_COURSES; + // in course modes, force a particular sort + case PLAY_MODE_ONI: return SORT_ONI_COURSES; + case PLAY_MODE_NONSTOP: return SORT_NONSTOP_COURSES; + case PLAY_MODE_ENDLESS: return SORT_ENDLESS_COURSES; + default: break; } // If we're not in a course mode, don't start in a course sort. switch( so ) { - case SORT_ONI_COURSES: - case SORT_NONSTOP_COURSES: - case SORT_ENDLESS_COURSES: - so = SortOrder_Invalid; - break; + case SORT_ONI_COURSES: + case SORT_NONSTOP_COURSES: + case SORT_ENDLESS_COURSES: + so = SortOrder_Invalid; + default: + return so; } - - return so; } MusicWheelItem *MusicWheel::MakeItem() @@ -490,7 +490,7 @@ void MusicWheel::BuildWheelItemDatas( vector &arrayWheelIt { switch( so ) { - case SORT_MODE_MENU: + case SORT_MODE_MENU: { arrayWheelItemDatas.clear(); // clear out the previous wheel items vector vsNames; @@ -510,22 +510,22 @@ void MusicWheel::BuildWheelItemDatas( vector &arrayWheelIt } break; } - case SORT_PREFERRED: - case SORT_ROULETTE: - case SORT_GROUP: - case SORT_TITLE: - case SORT_BPM: - case SORT_POPULARITY: - case SORT_TOP_GRADES: - case SORT_ARTIST: - case SORT_GENRE: - case SORT_BEGINNER_METER: - case SORT_EASY_METER: - case SORT_MEDIUM_METER: - case SORT_HARD_METER: - case SORT_CHALLENGE_METER: - case SORT_LENGTH: - case SORT_RECENT: + case SORT_PREFERRED: + case SORT_ROULETTE: + case SORT_GROUP: + case SORT_TITLE: + case SORT_BPM: + case SORT_POPULARITY: + case SORT_TOP_GRADES: + case SORT_ARTIST: + case SORT_GENRE: + case SORT_BEGINNER_METER: + case SORT_EASY_METER: + case SORT_MEDIUM_METER: + case SORT_HARD_METER: + case SORT_CHALLENGE_METER: + case SORT_LENGTH: + case SORT_RECENT: { // Make an array of Song*, then sort them vector arraySongs; @@ -536,72 +536,72 @@ void MusicWheel::BuildWheelItemDatas( vector &arrayWheelIt // sort the songs switch( so ) { - case SORT_PREFERRED: - // obey order specified by the preferred sort list - break; - case SORT_ROULETTE: - { - StepsType st; - Difficulty dc; - SongUtil::GetStepsTypeAndDifficultyFromSortOrder( SORT_EASY_METER, st, dc ); - SongUtil::SortSongPointerArrayByStepsTypeAndMeter( arraySongs, st, dc ); - if( (bool)PREFSMAN->m_bPreferredSortUsesGroups ) - stable_sort( arraySongs.begin(), arraySongs.end(), SongUtil::CompareSongPointersByGroup ); - bUseSections = false; - break; - } - case SORT_GROUP: - SongUtil::SortSongPointerArrayByGroupAndTitle( arraySongs ); - if(USE_SECTIONS_WITH_PREFERRED_GROUP) - bUseSections = true; - else - bUseSections = GAMESTATE->m_sPreferredSongGroup == GROUP_ALL; - break; - case SORT_TITLE: - SongUtil::SortSongPointerArrayByTitle( arraySongs ); - break; - case SORT_BPM: - SongUtil::SortSongPointerArrayByBPM( arraySongs ); - break; - case SORT_POPULARITY: - if( (int) arraySongs.size() > MOST_PLAYED_SONGS_TO_SHOW ) - arraySongs.erase( arraySongs.begin()+MOST_PLAYED_SONGS_TO_SHOW, arraySongs.end() ); - bUseSections = false; - break; - case SORT_TOP_GRADES: - SongUtil::SortSongPointerArrayByGrades( arraySongs, true ); - break; - case SORT_ARTIST: - SongUtil::SortSongPointerArrayByArtist( arraySongs ); - break; - case SORT_GENRE: - SongUtil::SortSongPointerArrayByGenre( arraySongs ); - break; - case SORT_LENGTH: - SongUtil::SortSongPointerArrayByLength( arraySongs ); - break; - case SORT_RECENT: - SongUtil::SortByMostRecentlyPlayedForMachine( arraySongs ); - if( (int) arraySongs.size() > RECENT_SONGS_TO_SHOW ) - arraySongs.erase( arraySongs.begin()+RECENT_SONGS_TO_SHOW, arraySongs.end() ); - bUseSections = false; - break; - case SORT_BEGINNER_METER: - case SORT_EASY_METER: - case SORT_MEDIUM_METER: - case SORT_HARD_METER: - case SORT_CHALLENGE_METER: - case SORT_DOUBLE_EASY_METER: - case SORT_DOUBLE_MEDIUM_METER: - case SORT_DOUBLE_HARD_METER: - case SORT_DOUBLE_CHALLENGE_METER: - StepsType st; - Difficulty dc; - SongUtil::GetStepsTypeAndDifficultyFromSortOrder( so, st, dc ); - SongUtil::SortSongPointerArrayByStepsTypeAndMeter( arraySongs, st, dc ); - break; - default: - ASSERT(0); // unhandled SortOrder + case SORT_PREFERRED: + // obey order specified by the preferred sort list + break; + case SORT_ROULETTE: + { + StepsType st; + Difficulty dc; + SongUtil::GetStepsTypeAndDifficultyFromSortOrder( SORT_EASY_METER, st, dc ); + SongUtil::SortSongPointerArrayByStepsTypeAndMeter( arraySongs, st, dc ); + if( (bool)PREFSMAN->m_bPreferredSortUsesGroups ) + stable_sort( arraySongs.begin(), arraySongs.end(), SongUtil::CompareSongPointersByGroup ); + bUseSections = false; + break; + } + case SORT_GROUP: + SongUtil::SortSongPointerArrayByGroupAndTitle( arraySongs ); + if(USE_SECTIONS_WITH_PREFERRED_GROUP) + bUseSections = true; + else + bUseSections = GAMESTATE->m_sPreferredSongGroup == GROUP_ALL; + break; + case SORT_TITLE: + SongUtil::SortSongPointerArrayByTitle( arraySongs ); + break; + case SORT_BPM: + SongUtil::SortSongPointerArrayByBPM( arraySongs ); + break; + case SORT_POPULARITY: + if( (int) arraySongs.size() > MOST_PLAYED_SONGS_TO_SHOW ) + arraySongs.erase( arraySongs.begin()+MOST_PLAYED_SONGS_TO_SHOW, arraySongs.end() ); + bUseSections = false; + break; + case SORT_TOP_GRADES: + SongUtil::SortSongPointerArrayByGrades( arraySongs, true ); + break; + case SORT_ARTIST: + SongUtil::SortSongPointerArrayByArtist( arraySongs ); + break; + case SORT_GENRE: + SongUtil::SortSongPointerArrayByGenre( arraySongs ); + break; + case SORT_LENGTH: + SongUtil::SortSongPointerArrayByLength( arraySongs ); + break; + case SORT_RECENT: + SongUtil::SortByMostRecentlyPlayedForMachine( arraySongs ); + if( (int) arraySongs.size() > RECENT_SONGS_TO_SHOW ) + arraySongs.erase( arraySongs.begin()+RECENT_SONGS_TO_SHOW, arraySongs.end() ); + bUseSections = false; + break; + case SORT_BEGINNER_METER: + case SORT_EASY_METER: + case SORT_MEDIUM_METER: + case SORT_HARD_METER: + case SORT_CHALLENGE_METER: + case SORT_DOUBLE_EASY_METER: + case SORT_DOUBLE_MEDIUM_METER: + case SORT_DOUBLE_HARD_METER: + case SORT_DOUBLE_CHALLENGE_METER: + StepsType st; + Difficulty dc; + SongUtil::GetStepsTypeAndDifficultyFromSortOrder( so, st, dc ); + SongUtil::SortSongPointerArrayByStepsTypeAndMeter( arraySongs, st, dc ); + break; + default: + FAIL_M("Unhandled sort order! Aborting..."); } // Build an array of WheelItemDatas from the sorted list of Song*'s @@ -610,13 +610,15 @@ void MusicWheel::BuildWheelItemDatas( vector &arrayWheelIt switch( PREFSMAN->m_MusicWheelUsesSections ) { - case MusicWheelUsesSections_NEVER: - bUseSections = false; - break; - case MusicWheelUsesSections_ABC_ONLY: - if( so != SORT_TITLE && so != SORT_GROUP ) + case MusicWheelUsesSections_NEVER: bUseSections = false; - break; + break; + case MusicWheelUsesSections_ABC_ONLY: + if( so != SORT_TITLE && so != SORT_GROUP ) + bUseSections = false; + break; + default: + break; } if( bUseSections ) @@ -630,13 +632,13 @@ void MusicWheel::BuildWheelItemDatas( vector &arrayWheelIt /* We're using sections, so use the section name as the top-level sort. */ switch( so ) { - case SORT_PREFERRED: - case SORT_TOP_GRADES: - case SORT_BPM: - break; // don't sort by section - default: - SongUtil::SortSongPointerArrayBySectionName(arraySongs, so); - break; + case SORT_PREFERRED: + case SORT_TOP_GRADES: + case SORT_BPM: + break; // don't sort by section + default: + SongUtil::SortSongPointerArrayBySectionName(arraySongs, so); + break; } } @@ -731,10 +733,10 @@ void MusicWheel::BuildWheelItemDatas( vector &arrayWheelIt } break; } - case SORT_ALL_COURSES: - case SORT_NONSTOP_COURSES: - case SORT_ONI_COURSES: - case SORT_ENDLESS_COURSES: + case SORT_ALL_COURSES: + case SORT_NONSTOP_COURSES: + case SORT_ONI_COURSES: + case SORT_ENDLESS_COURSES: { bool bOnlyPreferred = PREFSMAN->m_CourseSortOrder == COURSE_SORT_PREFERRED; @@ -769,21 +771,21 @@ void MusicWheel::BuildWheelItemDatas( vector &arrayWheelIt switch( PREFSMAN->m_CourseSortOrder ) { - case COURSE_SORT_SONGS: - CourseUtil::SortCoursePointerArrayByDifficulty( apCourses ); - break; - case COURSE_SORT_PREFERRED: - break; - case COURSE_SORT_METER: - CourseUtil::SortCoursePointerArrayByAvgDifficulty( apCourses ); - break; - case COURSE_SORT_METER_SUM: - CourseUtil::SortCoursePointerArrayByTotalDifficulty( apCourses ); - break; - case COURSE_SORT_RANK: - CourseUtil::SortCoursePointerArrayByRanking( apCourses ); - break; - default: ASSERT(0); + case COURSE_SORT_SONGS: + CourseUtil::SortCoursePointerArrayByDifficulty( apCourses ); + break; + case COURSE_SORT_PREFERRED: + break; + case COURSE_SORT_METER: + CourseUtil::SortCoursePointerArrayByAvgDifficulty( apCourses ); + break; + case COURSE_SORT_METER_SUM: + CourseUtil::SortCoursePointerArrayByTotalDifficulty( apCourses ); + break; + case COURSE_SORT_RANK: + CourseUtil::SortCoursePointerArrayByRanking( apCourses ); + break; + default: FAIL_M("Impossible to sort the courses! Aborting..."); } // since we can't agree, make it an option @@ -810,9 +812,10 @@ void MusicWheel::BuildWheelItemDatas( vector &arrayWheelIt { switch( pCourse->GetPlayMode() ) { - case PLAY_MODE_ONI: sThisSection = "Oni"; break; - case PLAY_MODE_NONSTOP: sThisSection = "Nonstop"; break; - case PLAY_MODE_ENDLESS: sThisSection = "Endless"; break; + case PLAY_MODE_ONI: sThisSection = "Oni"; break; + case PLAY_MODE_NONSTOP: sThisSection = "Nonstop"; break; + case PLAY_MODE_ENDLESS: sThisSection = "Endless"; break; + default: break; } } @@ -833,6 +836,8 @@ void MusicWheel::BuildWheelItemDatas( vector &arrayWheelIt } break; } + default: + break; } // init music status icons @@ -1227,23 +1232,24 @@ bool MusicWheel::Select() // return true if this selection ends the screen switch( m_WheelState ) { - case STATE_FLYING_OFF_BEFORE_NEXT_SORT: - case STATE_ROULETTE_SLOWING_DOWN: - return false; - case STATE_ROULETTE_SPINNING: - m_WheelState = STATE_ROULETTE_SLOWING_DOWN; - m_iSwitchesLeftInSpinDown = ROULETTE_SLOW_DOWN_SWITCHES/2+1 + RandomInt( ROULETTE_SLOW_DOWN_SWITCHES/2 ); - m_fTimeLeftInState = 0.1f; - return false; - case STATE_RANDOM_SPINNING: - m_fPositionOffsetFromSelection = max(m_fPositionOffsetFromSelection, 0.3f); - m_WheelState = STATE_LOCKED; - SCREENMAN->PlayStartSound(); - m_fLockedWheelVelocity = 0; - // Set m_Moving to zero to stop the sounds from playing. - m_Moving = 0; - SCREENMAN->PostMessageToTopScreen( SM_SongChanged, 0 ); - return true; + case STATE_FLYING_OFF_BEFORE_NEXT_SORT: + case STATE_ROULETTE_SLOWING_DOWN: + return false; + case STATE_ROULETTE_SPINNING: + m_WheelState = STATE_ROULETTE_SLOWING_DOWN; + m_iSwitchesLeftInSpinDown = ROULETTE_SLOW_DOWN_SWITCHES/2+1 + RandomInt( ROULETTE_SLOW_DOWN_SWITCHES/2 ); + m_fTimeLeftInState = 0.1f; + return false; + case STATE_RANDOM_SPINNING: + m_fPositionOffsetFromSelection = max(m_fPositionOffsetFromSelection, 0.3f); + m_WheelState = STATE_LOCKED; + SCREENMAN->PlayStartSound(); + m_fLockedWheelVelocity = 0; + // Set m_Moving to zero to stop the sounds from playing. + m_Moving = 0; + SCREENMAN->PostMessageToTopScreen( SM_SongChanged, 0 ); + return true; + default: break; } if( !WheelBase::Select() ) @@ -1251,29 +1257,25 @@ bool MusicWheel::Select() // return true if this selection ends the screen switch( m_CurWheelItemData[m_iSelection]->m_Type ) { - case TYPE_ROULETTE: - StartRoulette(); - return false; - case TYPE_RANDOM: - StartRandom(); - return false; - case TYPE_SONG: - case TYPE_COURSE: - case TYPE_PORTAL: - break; - case TYPE_SORT: - GetCurWheelItemData(m_iSelection)->m_pAction->ApplyToAllPlayers(); - ChangeSort( GAMESTATE->m_PreferredSortOrder ); - m_sLastModeMenuItem = GetCurWheelItemData(m_iSelection)->m_pAction->m_sName; - return false; - case TYPE_CUSTOM: - GetCurWheelItemData(m_iSelection)->m_pAction->ApplyToAllPlayers(); - if( GetCurWheelItemData(m_iSelection)->m_pAction->m_sScreen != "" ) - return true; - else + case TYPE_ROULETTE: + StartRoulette(); return false; + case TYPE_RANDOM: + StartRandom(); + return false; + case TYPE_SORT: + GetCurWheelItemData(m_iSelection)->m_pAction->ApplyToAllPlayers(); + ChangeSort( GAMESTATE->m_PreferredSortOrder ); + m_sLastModeMenuItem = GetCurWheelItemData(m_iSelection)->m_pAction->m_sName; + return false; + case TYPE_CUSTOM: + GetCurWheelItemData(m_iSelection)->m_pAction->ApplyToAllPlayers(); + if( GetCurWheelItemData(m_iSelection)->m_pAction->m_sScreen != "" ) + return true; + else + return false; + default: return true; } - return true; } void MusicWheel::StartRoulette() @@ -1517,11 +1519,11 @@ Song* MusicWheel::GetSelectedSong() { switch( m_CurWheelItemData[m_iSelection]->m_Type ) { - case TYPE_PORTAL: - return GetPreferredSelectionForRandomOrPortal(); + case TYPE_PORTAL: + return GetPreferredSelectionForRandomOrPortal(); + default: + return GetCurWheelItemData(m_iSelection)->m_pSong; } - - return GetCurWheelItemData(m_iSelection)->m_pSong; } /* Find a random song. If possible, find one that has the preferred difficulties of diff --git a/src/NoteData.cpp b/src/NoteData.cpp index 78880dfbbe..91c83e7891 100644 --- a/src/NoteData.cpp +++ b/src/NoteData.cpp @@ -547,10 +547,12 @@ bool NoteData::RowNeedsAtLeastSimultaneousPresses( int iMinSimultaneousPresses, const TapNote &tn = GetTapNote(t, row); switch( tn.type ) { - case TapNote::mine: - case TapNote::empty: - case TapNote::fake: - continue; // skip these types - they don't count + case TapNote::mine: + case TapNote::empty: + case TapNote::fake: + case TapNote::lift: // you don't "press" on a lift. + continue; // skip these types - they don't count + default: break; } ++iNumNotesThisIndex; } diff --git a/src/NoteDataUtil.cpp b/src/NoteDataUtil.cpp index eff74fb0ae..924d7d1676 100644 --- a/src/NoteDataUtil.cpp +++ b/src/NoteDataUtil.cpp @@ -800,11 +800,12 @@ RadarStats CalculateRadarStatsFast( const NoteData &in, RadarStats &out ) const TapNote &tn = in.GetTapNote(t, r); switch( tn.type ) { - case TapNote::mine: - case TapNote::empty: - case TapNote::fake: - case TapNote::autoKeysound: - continue; // skip these types - they don't count + case TapNote::mine: + case TapNote::empty: + case TapNote::fake: + case TapNote::autoKeysound: + continue; // skip these types - they don't count + default: break; } if( (itr = simultaneousMap.find(r)) == simultaneousMap.end() ) @@ -830,10 +831,11 @@ RadarStats CalculateRadarStatsFast( const NoteData &in, RadarStats &out ) { switch( in.GetTapNote(t, rr).type ) { - case TapNote::mine: - case TapNote::empty: - case TapNote::fake: - continue; // skip these types - they don't count + case TapNote::mine: + case TapNote::empty: + case TapNote::fake: + continue; // skip these types - they don't count + default: break; } if( (itr = simultaneousMap.find(rr)) == simultaneousMap.end() ) simultaneousMap[rr] = 1; diff --git a/src/NoteField.cpp b/src/NoteField.cpp index 952f6466c4..c2f4885609 100644 --- a/src/NoteField.cpp +++ b/src/NoteField.cpp @@ -849,27 +849,26 @@ void NoteField::DrawPrimitives() } const TimingData *pTiming = GetDisplayedTiming(m_pPlayerState); - + const vector *segs = pTiming->allTimingSegments; + unsigned i = 0; // Draw beat bars if( ( GAMESTATE->IsEditing() || SHOW_BEAT_BARS ) && pTiming != NULL ) { - const TimingData &timing = *pTiming; - const vector &vTimeSignatureSegments = timing.m_vTimeSignatureSegments; + const vector &tSigs = segs[SEGMENT_TIME_SIG]; int iMeasureIndex = 0; - FOREACH_CONST( TimeSignatureSegment, vTimeSignatureSegments, iter ) + for (i = 0; i < tSigs.size(); i++) { - vector::const_iterator next = iter; - next++; - int iSegmentEndRow = (next == vTimeSignatureSegments.end()) ? iLastRowToDraw : next->GetRow(); - + TimeSignatureSegment *ts = static_cast(tSigs[i]); + int iSegmentEndRow = (i + 1 == tSigs.size()) ? iLastRowToDraw : tSigs[i+1]->GetRow(); + // beat bars every 16th note - int iDrawBeatBarsEveryRows = BeatToNoteRow( ((float)iter->GetDen()) / 4 ) / 4; + int iDrawBeatBarsEveryRows = BeatToNoteRow( ((float)ts->GetDen()) / 4 ) / 4; // In 4/4, every 16th beat bar is a measure - int iMeasureBarFrequency = iter->GetNum() * 4; + int iMeasureBarFrequency = ts->GetNum() * 4; int iBeatBarsDrawn = 0; - for( int i=iter->GetRow(); i < iSegmentEndRow; i += iDrawBeatBarsEveryRows ) + for( int j=ts->GetRow(); j < iSegmentEndRow; j += iDrawBeatBarsEveryRows ) { bool bMeasureBar = iBeatBarsDrawn % iMeasureBarFrequency == 0; BeatBarType type = quarter_beat; @@ -879,7 +878,7 @@ void NoteField::DrawPrimitives() type = beat; else if( iBeatBarsDrawn % 2 == 0 ) type = half_beat; - float fBeat = NoteRowToBeat(i); + float fBeat = NoteRowToBeat(j); if( IS_ON_SCREEN(fBeat) ) { @@ -902,8 +901,9 @@ void NoteField::DrawPrimitives() // Scroll text if( GAMESTATE->m_bIsUsingStepTiming ) { - FOREACH_CONST( ScrollSegment, timing.m_ScrollSegments, seg ) + for (i = 0; i < segs[SEGMENT_SCROLL].size(); i++) { + ScrollSegment *seg = static_cast(segs[SEGMENT_SCROLL][i]); if( seg->GetRow() >= iFirstRowToDraw && seg->GetRow() <= iLastRowToDraw ) { float fBeat = seg->GetBeat(); @@ -914,8 +914,9 @@ void NoteField::DrawPrimitives() } // BPM text - FOREACH_CONST( BPMSegment, timing.m_BPMSegments, seg ) + for (i = 0; i < segs[SEGMENT_BPM].size(); i++) { + BPMSegment *seg = static_cast(segs[SEGMENT_BPM][i]); if( seg->GetRow() >= iFirstRowToDraw && seg->GetRow() <= iLastRowToDraw ) { float fBeat = seg->GetBeat(); @@ -925,8 +926,9 @@ void NoteField::DrawPrimitives() } // Freeze text - FOREACH_CONST( StopSegment, timing.m_StopSegments, seg ) + for (i = 0; i < segs[SEGMENT_STOP_DELAY].size(); i++) { + StopSegment *seg = static_cast(segs[SEGMENT_STOP_DELAY][i]); if( seg->GetRow() >= iFirstRowToDraw && seg->GetRow() <= iLastRowToDraw ) { float fBeat = seg->GetBeat(); @@ -936,8 +938,9 @@ void NoteField::DrawPrimitives() } // Warp text - FOREACH_CONST( WarpSegment, timing.m_WarpSegments, seg ) + for (i = 0; i < segs[SEGMENT_WARP].size(); i++) { + WarpSegment *seg = static_cast(segs[SEGMENT_WARP][i]); if( seg->GetRow() >= iFirstRowToDraw && seg->GetRow() <= iLastRowToDraw ) { float fBeat = seg->GetBeat(); @@ -948,8 +951,9 @@ void NoteField::DrawPrimitives() // Time Signature text - FOREACH_CONST( TimeSignatureSegment, timing.m_vTimeSignatureSegments, seg ) + for (i = 0; i < segs[SEGMENT_TIME_SIG].size(); i++) { + TimeSignatureSegment *seg = static_cast(segs[SEGMENT_TIME_SIG][i]); if( seg->GetRow() >= iFirstRowToDraw && seg->GetRow() <= iLastRowToDraw ) { float fBeat = seg->GetBeat(); @@ -961,8 +965,9 @@ void NoteField::DrawPrimitives() if( GAMESTATE->m_bIsUsingStepTiming ) { // Tickcount text - FOREACH_CONST( TickcountSegment, timing.m_TickcountSegments, seg ) + for (i = 0; i < segs[SEGMENT_TICKCOUNT].size(); i++) { + TickcountSegment *seg = static_cast(segs[SEGMENT_TICKCOUNT][i]); if( seg->GetRow() >= iFirstRowToDraw && seg->GetRow() <= iLastRowToDraw ) { float fBeat = seg->GetBeat(); @@ -975,8 +980,9 @@ void NoteField::DrawPrimitives() if( GAMESTATE->m_bIsUsingStepTiming ) { // Combo text - FOREACH_CONST( ComboSegment, timing.m_ComboSegments, seg ) + for (i = 0; i < segs[SEGMENT_COMBO].size(); i++) { + ComboSegment *seg = static_cast(segs[SEGMENT_COMBO][i]); if( seg->GetRow() >= iFirstRowToDraw && seg->GetRow() <= iLastRowToDraw ) { float fBeat = seg->GetBeat(); @@ -987,8 +993,9 @@ void NoteField::DrawPrimitives() } // Label text - FOREACH_CONST( LabelSegment, timing.m_LabelSegments, seg ) + for (i = 0; i < segs[SEGMENT_LABEL].size(); i++) { + LabelSegment *seg = static_cast(segs[SEGMENT_LABEL][i]); if( seg->GetRow() >= iFirstRowToDraw && seg->GetRow() <= iLastRowToDraw ) { float fBeat = seg->GetBeat(); @@ -999,8 +1006,10 @@ void NoteField::DrawPrimitives() if( GAMESTATE->m_bIsUsingStepTiming ) { - FOREACH_CONST( SpeedSegment, timing.m_SpeedSegments, seg ) + // Speed text + for (i = 0; i < segs[SEGMENT_SPEED].size(); i++) { + SpeedSegment *seg = static_cast(segs[SEGMENT_SPEED][i]); if( seg->GetRow() >= iFirstRowToDraw && seg->GetRow() <= iLastRowToDraw ) { float fBeat = seg->GetBeat(); @@ -1011,11 +1020,12 @@ void NoteField::DrawPrimitives() } } - // Speed text + // Fake text if( GAMESTATE->m_bIsUsingStepTiming ) { - FOREACH_CONST( FakeSegment, timing.m_FakeSegments, seg ) + for (i = 0; i < segs[SEGMENT_FAKE].size(); i++) { + FakeSegment *seg = static_cast(segs[SEGMENT_FAKE][i]); if( seg->GetRow() >= iFirstRowToDraw && seg->GetRow() <= iLastRowToDraw ) { float fBeat = seg->GetBeat(); @@ -1074,55 +1084,55 @@ void NoteField::DrawPrimitives() case EditMode_Full: { vector::iterator iter[NUM_BackgroundLayer]; - FOREACH_BackgroundLayer( i ) - iter[i] = GAMESTATE->m_pCurSong->GetBackgroundChanges(i).begin(); + FOREACH_BackgroundLayer( j ) + iter[j] = GAMESTATE->m_pCurSong->GetBackgroundChanges(j).begin(); while( 1 ) { float fLowestBeat = FLT_MAX; vector viLowestIndex; - FOREACH_BackgroundLayer( i ) + FOREACH_BackgroundLayer( j ) { - if( iter[i] == GAMESTATE->m_pCurSong->GetBackgroundChanges(i).end() ) + if( iter[j] == GAMESTATE->m_pCurSong->GetBackgroundChanges(j).end() ) continue; - float fBeat = iter[i]->m_fStartBeat; + float fBeat = iter[j]->m_fStartBeat; if( fBeat < fLowestBeat ) { fLowestBeat = fBeat; viLowestIndex.clear(); - viLowestIndex.push_back( i ); + viLowestIndex.push_back( j ); } else if( fBeat == fLowestBeat ) { - viLowestIndex.push_back( i ); + viLowestIndex.push_back( j ); } } if( viLowestIndex.empty() ) { - FOREACH_BackgroundLayer( i ) - ASSERT( iter[i] == GAMESTATE->m_pCurSong->GetBackgroundChanges(i).end() ); + FOREACH_BackgroundLayer( j ) + ASSERT( iter[j] == GAMESTATE->m_pCurSong->GetBackgroundChanges(j).end() ); break; } if( IS_ON_SCREEN(fLowestBeat) ) { vector vsBGChanges; - FOREACH_CONST( BackgroundLayer, viLowestIndex, i ) + FOREACH_CONST( BackgroundLayer, viLowestIndex, bl ) { - ASSERT( iter[*i] != GAMESTATE->m_pCurSong->GetBackgroundChanges(*i).end() ); - const BackgroundChange& change = *iter[*i]; + ASSERT( iter[*bl] != GAMESTATE->m_pCurSong->GetBackgroundChanges(*bl).end() ); + const BackgroundChange& change = *iter[*bl]; RString s = change.GetTextDescription(); - if( *i!=0 ) - s = ssprintf("%d: ",*i) + s; + if( *bl!=0 ) + s = ssprintf("%d: ",*bl) + s; vsBGChanges.push_back( s ); } DrawBGChangeText( fLowestBeat, join("\n",vsBGChanges) ); } - FOREACH_CONST( BackgroundLayer, viLowestIndex, i ) - iter[*i]++; + FOREACH_CONST( BackgroundLayer, viLowestIndex, bl ) + iter[*bl]++; } } break; @@ -1166,9 +1176,9 @@ void NoteField::DrawPrimitives() ssprintf("NumTracks %d = ColsPerPlayer %d",m_pNoteData->GetNumTracks(), GAMESTATE->GetCurrentStyle()->m_iColsPerPlayer)); - for( int i=0; iGetNumTracks(); i++ ) // for each arrow column + for( int j=0; jGetNumTracks(); j++ ) // for each arrow column { - const int c = pStyle->m_iColumnDrawOrder[i]; + const int c = pStyle->m_iColumnDrawOrder[j]; bool bAnyUpcomingInThisCol = false; @@ -1179,7 +1189,7 @@ void NoteField::DrawPrimitives() for( ; begin != end; ++begin ) { - const TapNote &tn = begin->second; //m_pNoteData->GetTapNote(c, i); + const TapNote &tn = begin->second; //m_pNoteData->GetTapNote(c, j); if( tn.type != TapNote::hold_head ) continue; // skip @@ -1255,6 +1265,7 @@ void NoteField::DrawPrimitives() //if (tn.subType == TapNote::hold_head_roll) continue; // skip } + default: break; } // Don't draw hidden (fully judged) steps. diff --git a/src/NoteTypes.h b/src/NoteTypes.h index 795eef7131..7339ec1292 100644 --- a/src/NoteTypes.h +++ b/src/NoteTypes.h @@ -217,16 +217,26 @@ inline const RString TapNoteTypeToString( TapNote::Type tn ) { switch( tn ) { - case TapNote::empty: return RString("empty"); - case TapNote::tap: return RString("tap"); - case TapNote::hold_head: return RString("hold_head"); - case TapNote::hold_tail: return RString("hold_tail"); - case TapNote::mine: return RString("mine"); - case TapNote::lift: return RString("lift"); - case TapNote::attack: return RString("attack"); - case TapNote::autoKeysound: return RString("autoKeysound"); - case TapNote::fake: return RString("fake"); - default: return RString(); + case TapNote::empty: + return RString("empty"); + case TapNote::tap: + return RString("tap"); + case TapNote::hold_head: + return RString("hold_head"); + case TapNote::hold_tail: + return RString("hold_tail"); + case TapNote::mine: + return RString("mine"); + case TapNote::lift: + return RString("lift"); + case TapNote::attack: + return RString("attack"); + case TapNote::autoKeysound: + return RString("autoKeysound"); + case TapNote::fake: + return RString("fake"); + default: + return RString(""); } } diff --git a/src/NotesLoaderBMS.cpp b/src/NotesLoaderBMS.cpp index c6bab7c292..885b5df706 100644 --- a/src/NotesLoaderBMS.cpp +++ b/src/NotesLoaderBMS.cpp @@ -459,13 +459,16 @@ static bool SearchForKeysound( const RString &sPath, RString nDataOriginal, map< * Do a search. Don't do a wildcard search; if sData is "song.wav", * we might also have "song.png", which we shouldn't match. */ RString nData = nDataOriginal; - if( !IsAFile(out.GetSongDir()+nData) ) + RString dir = out.GetSongDir(); + if (dir.empty()) + dir = Dirname(sPath); + if( !IsAFile(dir+nData) ) { const char *exts[] = { "oga", "ogg", "wav", "mp3", NULL }; // XXX: stop duplicating these everywhere for( unsigned i = 0; exts[i] != NULL; ++i ) { RString fn = SetExtension( nData, exts[i] ); - if( IsAFile(out.GetSongDir()+fn) ) + if( IsAFile(dir+fn) ) { nData = fn; break; @@ -473,9 +476,9 @@ static bool SearchForKeysound( const RString &sPath, RString nDataOriginal, map< } } - if( !IsAFile(out.GetSongDir()+nData) ) + if( !IsAFile(dir+nData) ) { - LOG->UserLog( "Song file", out.GetSongDir(), "references key \"%s\" that can't be found", nData.c_str() ); + LOG->UserLog( "Song file", dir, "references key \"%s\" that can't be found", nData.c_str() ); return false; } @@ -573,8 +576,8 @@ static bool LoadFromBMSFile( const RString &sPath, const NameToData_t &mapNameTo if( fBPM > 0.0f ) { - BPMSegment newSeg( 0, fBPM ); - out.m_Timing.AddBPMSegment( newSeg ); + BPMSegment * newSeg = new BPMSegment( 0, fBPM ); + out.m_Timing.AddSegment(SEGMENT_BPM, newSeg ); LOG->Trace( "Inserting new BPM change at beat %f, BPM %f", NoteRowToBeat(0), fBPM ); } else @@ -663,9 +666,9 @@ static bool LoadFromBMSFile( const RString &sPath, const NameToData_t &mapNameTo float fBeats = StringToFloat( sBeats ) / 48.0f; float fFreezeSecs = fBeats / fBPS; - StopSegment newSeg( BeatToNoteRow(fBeat), fFreezeSecs ); - out.m_Timing.AddStopSegment( newSeg ); - LOG->Trace( "Inserting new Freeze at beat %f, secs %f", fBeat, newSeg.GetPause() ); + StopSegment * newSeg = new StopSegment( fBeat, fFreezeSecs ); + out.m_Timing.AddSegment( SEGMENT_STOP_DELAY, newSeg ); + LOG->Trace( "Inserting new Freeze at beat %f, secs %f", fBeat, newSeg->GetPause() ); } else { @@ -1067,6 +1070,75 @@ void BMSLoader::GetApplicableFiles( const RString &sPath, vector &out ) GetDirListing( sPath + RString("*.bml"), out ); } +bool BMSLoader::LoadNoteDataFromSimfile( const RString & cachePath, Steps & out ) +{ + Song dummy; + // TODO: Simplify this copy/paste from LoadFromDir. + + vector BMSData; + BMSData.push_back(NameToData_t()); + ReadBMSFile(cachePath, BMSData.back()); + + RString commonSubstring; + GetCommonTagFromMapList( BMSData, "#title", commonSubstring ); + + Steps *copy = dummy.CreateSteps(); + + copy->SetDifficulty( Difficulty_Medium ); + RString sTag; + if( GetTagFromMap( BMSData[0], "#title", sTag ) && sTag.size() != commonSubstring.size() ) + { + sTag = sTag.substr( commonSubstring.size(), sTag.size() - commonSubstring.size() ); + sTag.MakeLower(); + + if( sTag.find('l') != sTag.npos ) + { + unsigned lPos = sTag.find('l'); + if( lPos > 2 && sTag.substr(lPos-2,4) == "solo" ) + { + copy->SetDifficulty( Difficulty_Edit ); + } + else + { + copy->SetDifficulty( Difficulty_Easy ); + } + } + else if( sTag.find('a') != sTag.npos ) + copy->SetDifficulty( Difficulty_Hard ); + else if( sTag.find('b') != sTag.npos ) + copy->SetDifficulty( Difficulty_Beginner ); + } + if( commonSubstring == "" ) + { + copy->SetDifficulty(Difficulty_Medium); + RString localTag; + if (GetTagFromMap(BMSData[0], "#title#", localTag)) + SearchForDifficulty(localTag, copy); + } + ReadGlobalTags( BMSData[0], dummy ); + if( commonSubstring.size() > 2 && commonSubstring[commonSubstring.size() - 2] == ' ' ) + { + switch( commonSubstring[commonSubstring.size() - 1] ) + { + case '[': + case '(': + case '<': + commonSubstring = commonSubstring.substr(0, commonSubstring.size() - 2); + default: + break; + } + } + map mapFilenameToKeysoundIndex; + + + const bool ok = LoadFromBMSFile( cachePath, BMSData[0], *copy, dummy, mapFilenameToKeysoundIndex ); + if( ok ) + { + out.SetNoteData(copy->GetNoteData()); + } + return ok; +} + bool BMSLoader::LoadFromDir( const RString &sDir, Song &out ) { LOG->Trace( "Song::LoadFromBMSDir(%s)", sDir.c_str() ); @@ -1171,6 +1243,7 @@ bool BMSLoader::LoadFromDir( const RString &sDir, Song &out ) iMainDataIndex = i; ReadGlobalTags( aBMSData[iMainDataIndex], out ); + out.m_sSongFileName = out.GetSongDir() + arrayBMSFileNames[iMainDataIndex]; // The brackets before the difficulty are in common substring, so remove them if it's found. if( commonSubstring.size() > 2 && commonSubstring[commonSubstring.size() - 2] == ' ' ) @@ -1203,6 +1276,7 @@ bool BMSLoader::LoadFromDir( const RString &sDir, Song &out ) if( i == static_cast(iMainDataIndex) ) out.m_SongTiming = pNewNotes->m_Timing; + pNewNotes->SetFilename(out.GetSongDir() + arrayBMSFileNames[i]); out.AddSteps( pNewNotes ); } else diff --git a/src/NotesLoaderBMS.h b/src/NotesLoaderBMS.h index caf8372d64..caf124f07b 100644 --- a/src/NotesLoaderBMS.h +++ b/src/NotesLoaderBMS.h @@ -2,11 +2,13 @@ #define NOTES_LOADER_BMS_H class Song; +class Steps; /** @brief Reads a Song from a set of .BMS files. */ namespace BMSLoader { void GetApplicableFiles( const RString &sPath, vector &out ); bool LoadFromDir( const RString &sDir, Song &out ); + bool LoadNoteDataFromSimfile( const RString & cachePath, Steps &out ); } #endif diff --git a/src/NotesLoaderDWI.cpp b/src/NotesLoaderDWI.cpp index e7483e6fb6..242108bbe3 100644 --- a/src/NotesLoaderDWI.cpp +++ b/src/NotesLoaderDWI.cpp @@ -170,6 +170,238 @@ Difficulty DwiCompatibleStringToDifficulty( const RString& sDC ) else return Difficulty_Invalid; } +static StepsType GetTypeFromMode(const RString &mode) +{ + if( mode == "SINGLE" ) + return StepsType_dance_single; + else if( mode == "DOUBLE" ) + return StepsType_dance_double; + else if( mode == "COUPLE" ) + return StepsType_dance_couple; + else if( mode == "SOLO" ) + return StepsType_dance_solo; + ASSERT_M(0, "Unrecognized DWI notes format " + mode + "!"); + return StepsType_Invalid; // just in case. +} + +static NoteData ParseNoteData(RString &step1, RString &step2, + Steps &out, const RString &path) +{ + g_mapDanceNoteToNoteDataColumn.clear(); + switch( out.m_StepsType ) + { + case StepsType_dance_single: + g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD1_LEFT] = 0; + g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD1_DOWN] = 1; + g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD1_UP] = 2; + g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD1_RIGHT] = 3; + break; + case StepsType_dance_double: + case StepsType_dance_couple: + g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD1_LEFT] = 0; + g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD1_DOWN] = 1; + g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD1_UP] = 2; + g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD1_RIGHT] = 3; + g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD2_LEFT] = 4; + g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD2_DOWN] = 5; + g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD2_UP] = 6; + g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD2_RIGHT] = 7; + break; + case StepsType_dance_solo: + g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD1_LEFT] = 0; + g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD1_UPLEFT] = 1; + g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD1_DOWN] = 2; + g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD1_UP] = 3; + g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD1_UPRIGHT] = 4; + g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD1_RIGHT] = 5; + break; + DEFAULT_FAIL( out.m_StepsType ); + } + + NoteData newNoteData; + newNoteData.SetNumTracks( g_mapDanceNoteToNoteDataColumn.size() ); + + for( int pad=0; pad<2; pad++ ) // foreach pad + { + RString sStepData; + switch( pad ) + { + case 0: + sStepData = step1; + break; + case 1: + if( step2 == "" ) // no data + continue; // skip + sStepData = step2; + break; + DEFAULT_FAIL( pad ); + } + + sStepData.Replace("\n", ""); + sStepData.Replace("\r", ""); + sStepData.Replace("\t", ""); + sStepData.Replace(" ", ""); + + double fCurrentBeat = 0; + double fCurrentIncrementer = 1.0/8 * BEATS_PER_MEASURE; + + for( size_t i=0; i': + fCurrentIncrementer = 1.0/8 * BEATS_PER_MEASURE; + break; + + default: // this is a note character + { + if( c == '!' ) + { + LOG->UserLog( + "Song file", + path, + "has an unexpected character: '!'." ); + continue; + } + + bool jump = false; + if( c == '<' ) + { + /* Arr. Is this a jump or a 1/192 marker? */ + if( Is192( sStepData, i ) ) + { + fCurrentIncrementer = 1.0/192 * BEATS_PER_MEASURE; + break; + } + + /* It's a jump. + * We need to keep reading notes until we hit a >. */ + jump = true; + i++; + } + + const int iIndex = BeatToNoteRow( (float)fCurrentBeat ); + i--; + do { + c = sStepData[i++]; + + if( jump && c == '>' ) + break; + + int iCol1, iCol2; + DWIcharToNoteCol( + c, + (GameController)pad, + iCol1, + iCol2, + path ); + + if( iCol1 != -1 ) + newNoteData.SetTapNote(iCol1, + iIndex, + TAP_ORIGINAL_TAP); + if( iCol2 != -1 ) + newNoteData.SetTapNote(iCol2, + iIndex, + TAP_ORIGINAL_TAP); + + if(i>=sStepData.length()) + { + break; + //we ran out of data + //while looking for the ending > mark + } + + if( sStepData[i] == '!' ) + { + i++; + const char holdChar = sStepData[i++]; + + DWIcharToNoteCol(holdChar, + (GameController)pad, + iCol1, + iCol2, + path ); + + if( iCol1 != -1 ) + newNoteData.SetTapNote(iCol1, + iIndex, + TAP_ORIGINAL_HOLD_HEAD); + if( iCol2 != -1 ) + newNoteData.SetTapNote(iCol2, + iIndex, + TAP_ORIGINAL_HOLD_HEAD); + } + } + while( jump ); + fCurrentBeat += fCurrentIncrementer; + } + break; + } + } + } + + /* Fill in iDuration. */ + for( int t=0; tUserLog("Song file", + path, + "failed to close a hold note in \"%s\" on track %i", + DifficultyToString(out.GetDifficulty()).c_str(), + t); + + newNoteData.SetTapNote( t, iHeadRow, TAP_EMPTY ); + } + } + } + + ASSERT( newNoteData.GetNumTracks() > 0 ); + return newNoteData; +} + /** * @brief Look through the notes tag to extract the data. * @param sMode the steps type. @@ -192,216 +424,17 @@ static bool LoadFromDWITokens( { CHECKPOINT_M( "DWILoader::LoadFromDWITokens()" ); - out.m_StepsType = StepsType_Invalid; + out.m_StepsType = GetTypeFromMode(sMode); - if( sMode == "SINGLE" ) out.m_StepsType = StepsType_dance_single; - else if( sMode == "DOUBLE" ) out.m_StepsType = StepsType_dance_double; - else if( sMode == "COUPLE" ) out.m_StepsType = StepsType_dance_couple; - else if( sMode == "SOLO" ) out.m_StepsType = StepsType_dance_solo; - else - { - ASSERT_M(0, "Unrecognized DWI notes format " + sMode + "!"); - out.m_StepsType = StepsType_dance_single; - } + out.SetMeter(StringToInt(sNumFeet)); - - g_mapDanceNoteToNoteDataColumn.clear(); - switch( out.m_StepsType ) - { - case StepsType_dance_single: - g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD1_LEFT] = 0; - g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD1_DOWN] = 1; - g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD1_UP] = 2; - g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD1_RIGHT] = 3; - break; - case StepsType_dance_double: - case StepsType_dance_couple: - g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD1_LEFT] = 0; - g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD1_DOWN] = 1; - g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD1_UP] = 2; - g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD1_RIGHT] = 3; - g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD2_LEFT] = 4; - g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD2_DOWN] = 5; - g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD2_UP] = 6; - g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD2_RIGHT] = 7; - break; - case StepsType_dance_solo: - g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD1_LEFT] = 0; - g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD1_UPLEFT] = 1; - g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD1_DOWN] = 2; - g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD1_UP] = 3; - g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD1_UPRIGHT] = 4; - g_mapDanceNoteToNoteDataColumn[DANCE_NOTE_PAD1_RIGHT] = 5; - break; - DEFAULT_FAIL( out.m_StepsType ); - } - - int iNumFeet = StringToInt(sNumFeet); - // out.SetDescription(sDescription); // Don't put garbage in the description. - out.SetMeter(iNumFeet); out.SetDifficulty( DwiCompatibleStringToDifficulty(sDescription) ); - - NoteData newNoteData; - newNoteData.SetNumTracks( g_mapDanceNoteToNoteDataColumn.size() ); - - for( int pad=0; pad<2; pad++ ) // foreach pad - { - RString sStepData; - switch( pad ) - { - case 0: - sStepData = sStepData1; - break; - case 1: - if( sStepData2 == "" ) // no data - continue; // skip - sStepData = sStepData2; - break; - DEFAULT_FAIL( pad ); - } - - sStepData.Replace("\n", ""); - sStepData.Replace("\r", ""); - sStepData.Replace("\t", ""); - sStepData.Replace(" ", ""); - - double fCurrentBeat = 0; - double fCurrentIncrementer = 1.0/8 * BEATS_PER_MEASURE; - - for( size_t i=0; i': - fCurrentIncrementer = 1.0/8 * BEATS_PER_MEASURE; - break; - - default: // this is a note character - { - if( c == '!' ) - { - LOG->UserLog( "Song file", sPath, "has an unexpected character: '!'." ); - continue; - } - - bool jump = false; - if( c == '<' ) - { - /* Arr. Is this a jump or a 1/192 marker? */ - if( Is192( sStepData, i ) ) - { - fCurrentIncrementer = 1.0/192 * BEATS_PER_MEASURE; - break; - } - - /* It's a jump. We need to keep reading notes until we hit a >. */ - jump = true; - i++; - } - - const int iIndex = BeatToNoteRow( (float)fCurrentBeat ); - i--; - do { - c = sStepData[i++]; - - if( jump && c == '>' ) - break; - - int iCol1, iCol2; - DWIcharToNoteCol( c, (GameController)pad, iCol1, iCol2, sPath ); - - if( iCol1 != -1 ) - newNoteData.SetTapNote(iCol1, iIndex, TAP_ORIGINAL_TAP); - if( iCol2 != -1 ) - newNoteData.SetTapNote(iCol2, iIndex, TAP_ORIGINAL_TAP); - - if(i>=sStepData.length()) { - break;//we ran out of data while looking for the ending > mark - } - - if( sStepData[i] == '!' ) - { - i++; - const char holdChar = sStepData[i++]; - - DWIcharToNoteCol( holdChar, (GameController)pad, iCol1, iCol2, sPath ); - - if( iCol1 != -1 ) - newNoteData.SetTapNote(iCol1, iIndex, TAP_ORIGINAL_HOLD_HEAD); - if( iCol2 != -1 ) - newNoteData.SetTapNote(iCol2, iIndex, TAP_ORIGINAL_HOLD_HEAD); - } - } - while( jump ); - fCurrentBeat += fCurrentIncrementer; - } - break; - } - } - } - - /* Fill in iDuration. */ - for( int t=0; tUserLog( "Song file", sPath, "failed to close a hold note in \"%s\" on track %i", - sDescription.c_str(), t ); - - newNoteData.SetTapNote( t, iHeadRow, TAP_EMPTY ); - } - } - } - - ASSERT( newNoteData.GetNumTracks() > 0 ); - - out.SetNoteData( newNoteData ); + + out.SetNoteData( ParseNoteData(sStepData1, sStepData2, out, sPath) ); out.TidyUpData(); out.SetSavedToDisk( true ); // we're loading from disk, so this is by definintion already saved - return true; } @@ -444,17 +477,55 @@ void DWILoader::GetApplicableFiles( const RString &sPath, vector &out ) GetDirListing( sPath + RString("*.dwi"), out ); } +bool DWILoader::LoadNoteDataFromSimfile( const RString &path, Steps &out ) +{ + MsdFile msd; + if( !msd.ReadFile( path, false ) ) // don't unescape + { + LOG->UserLog("Song file", + path, + "couldn't be opened: %s", + msd.GetError().c_str() ); + return false; + } + + for( unsigned i=0; i &BlacklistedImages ) { vector aFileNames; GetApplicableFiles( sPath_, aFileNames ); - + if( aFileNames.size() > 1 ) { LOG->UserLog( "Song", sPath_, "has more than one DWI file. There should be only one!" ); return false; } - + /* We should have exactly one; if we had none, we shouldn't have been called to begin with. */ ASSERT( aFileNames.size() == 1 ); const RString sPath = sPath_ + aFileNames[0]; @@ -468,6 +539,8 @@ bool DWILoader::LoadFromDir( const RString &sPath_, Song &out, set &Bla return false; } + out.m_sSongFileName = sPath; + for( unsigned i=0; i &Bla if( PREFSMAN->m_bQuirksMode ) { - out.m_SongTiming.AddBPMSegment( BPMSegment(0, fBPM) ); + out.m_SongTiming.AddSegment( SEGMENT_BPM, new BPMSegment(0, fBPM) ); } else{ if( fBPM > 0.0f ) - out.m_SongTiming.AddBPMSegment( BPMSegment(0, fBPM) ); + out.m_SongTiming.AddSegment( SEGMENT_BPM, new BPMSegment(0, fBPM) ); else - LOG->UserLog( "Song file", sPath, "has an invalid BPM change at beat %f, BPM %f.", - NoteRowToBeat(0), fBPM ); + LOG->UserLog("Song file", + sPath, + "has an invalid BPM change at beat %f, BPM %f.", + 0.0f, fBPM ); } } else if( sValueName.EqualsNoCase("DISPLAYBPM") ) @@ -576,7 +651,7 @@ bool DWILoader::LoadFromDir( const RString &sPath_, Song &out, set &Bla int iFreezeRow = BeatToNoteRow( StringToFloat(arrayFreezeValues[0]) / 4.0f ); float fFreezeSeconds = StringToFloat( arrayFreezeValues[1] ) / 1000.0f; - out.m_SongTiming.AddStopSegment( StopSegment(iFreezeRow, fFreezeSeconds) ); + out.m_SongTiming.AddSegment( SEGMENT_STOP_DELAY, new StopSegment(iFreezeRow, fFreezeSeconds) ); // LOG->Trace( "Adding a freeze segment: beat: %f, seconds = %f", fFreezeBeat, fFreezeSeconds ); } } @@ -600,8 +675,8 @@ bool DWILoader::LoadFromDir( const RString &sPath_, Song &out, set &Bla float fBPM = StringToFloat( arrayBPMChangeValues[1] ); if( fBPM > 0.0f ) { - BPMSegment bs( iStartIndex, fBPM ); - out.m_SongTiming.AddBPMSegment( bs ); + BPMSegment * bs = new BPMSegment( iStartIndex, fBPM ); + out.m_SongTiming.AddSegment( SEGMENT_BPM, bs ); } else { @@ -627,7 +702,10 @@ bool DWILoader::LoadFromDir( const RString &sPath_, Song &out, set &Bla sPath ); if( pNewNotes->m_StepsType != StepsType_Invalid ) + { + pNewNotes->SetFilename( sPath ); out.AddSteps( pNewNotes ); + } else delete pNewNotes; } @@ -662,7 +740,6 @@ bool DWILoader::LoadFromDir( const RString &sPath_, Song &out, set &Bla // do nothing. We don't care about this value name } } - out.TidyUpData(); return true; } diff --git a/src/NotesLoaderDWI.h b/src/NotesLoaderDWI.h index 1aa9e729c4..c121d0dc28 100644 --- a/src/NotesLoaderDWI.h +++ b/src/NotesLoaderDWI.h @@ -6,6 +6,7 @@ #include class Song; +class Steps; /** @brief The DWILoader handles parsing the .dwi file. */ namespace DWILoader @@ -24,6 +25,8 @@ namespace DWILoader * @return its success or failure. */ bool LoadFromDir( const RString &sPath, Song &out, set &BlacklistedImages ); + + bool LoadNoteDataFromSimfile( const RString &path, Steps &out ); } #endif diff --git a/src/NotesLoaderJson.cpp b/src/NotesLoaderJson.cpp index dab70f29ee..4021b0e85e 100644 --- a/src/NotesLoaderJson.cpp +++ b/src/NotesLoaderJson.cpp @@ -10,29 +10,39 @@ #include "Steps.h" #include "GameManager.h" -void Deserialize(BPMSegment &seg, const Json::Value &root); - void NotesLoaderJson::GetApplicableFiles( const RString &sPath, vector &out ) { GetDirListing( sPath + RString("*.json"), out ); } -void Deserialize(BPMSegment &seg, const Json::Value &root) +static void Deserialize(TimingSegment &seg_, const Json::Value &root) { - seg.SetBeat((float)(root["Beat"].asDouble())); - seg.SetBPM((float)(root["BPM"].asDouble())); -} - -static void Deserialize(StopSegment &seg, const Json::Value &root) -{ - seg.SetBeat((float)(root["Beat"].asDouble())); - seg.SetPause((float)(root["Seconds"].asDouble())); + TimingSegment *seg = &seg_; + + float fBeat = root["Beat"].asDouble(); + seg->SetBeat(fBeat); + switch (seg->GetType()) + { + case SEGMENT_BPM: + { + float fBPM = root["BPM"].asDouble(); + static_cast(seg)->SetBPM(fBPM); + break; + } + case SEGMENT_STOP_DELAY: + { + float fStop = root["Seconds"].asDouble(); + static_cast(seg)->SetPause(fStop); + break; + } + default: break; // The rest are unused. + } } static void Deserialize(TimingData &td, const Json::Value &root) { - JsonUtil::DeserializeVectorObjects( td.m_BPMSegments, Deserialize, root["BpmSegments"] ); - JsonUtil::DeserializeVectorObjects( td.m_StopSegments, Deserialize, root["StopSegments"] ); + JsonUtil::DeserializeVectorPointers( td.allTimingSegments[SEGMENT_BPM], Deserialize, root["BpmSegments"] ); + JsonUtil::DeserializeVectorPointers( td.allTimingSegments[SEGMENT_STOP_DELAY], Deserialize, root["StopSegments"] ); } static void Deserialize(LyricSegment &o, const Json::Value &root) diff --git a/src/NotesLoaderKSF.cpp b/src/NotesLoaderKSF.cpp index 133096ce5d..1d2735c8ad 100644 --- a/src/NotesLoaderKSF.cpp +++ b/src/NotesLoaderKSF.cpp @@ -17,10 +17,10 @@ static void HandleBunki( TimingData &timing, const float fEarlyBPM, const float beat = (fPos + fGap) * BeatsPerSecond; LOG->Trace( "BPM %f, BPS %f, BPMPos %f, beat %f", fEarlyBPM, BeatsPerSecond, fPos, beat ); - timing.AddBPMSegment( BPMSegment(BeatToNoteRow(beat), fCurBPM) ); + timing.AddSegment( SEGMENT_BPM, new BPMSegment(beat, fCurBPM) ); } -static bool LoadFromKSFFile( const RString &sPath, Steps &out, const Song &song, bool bKIUCompliant ) +static bool LoadFromKSFFile( const RString &sPath, Steps &out, Song &song, bool bKIUCompliant ) { LOG->Trace( "Steps::LoadFromKSFFile( '%s' )", sPath.c_str() ); @@ -54,13 +54,12 @@ static bool LoadFromKSFFile( const RString &sPath, Steps &out, const Song &song, if (sValueName=="TITLE" || EndsWith(sValueName, "INTRO") || EndsWith(sValueName, "FILE") ) { - ; + } - else if( sValueName=="BPM" ) { BPM1 = StringToFloat(sParams[1]); - stepsTiming.AddBPMSegment( BPMSegment(0, BPM1) ); + stepsTiming.AddSegment( SEGMENT_BPM, new BPMSegment(0, BPM1) ); } else if( sValueName=="BPM2" ) { @@ -137,7 +136,7 @@ static bool LoadFromKSFFile( const RString &sPath, Steps &out, const Song &song, LOG->UserLog( "Song file", sPath, "has an invalid tick count: %d.", iTickCount ); return false; } - stepsTiming.AddTickcountSegment(TickcountSegment(0, iTickCount)); + stepsTiming.AddSegment( SEGMENT_TICKCOUNT, new TickcountSegment(0, iTickCount)); } else if( sValueName=="DIFFICULTY" ) @@ -195,28 +194,43 @@ static bool LoadFromKSFFile( const RString &sPath, Steps &out, const Song &song, out.SetDifficulty( Difficulty_Edit ); if( !out.GetMeter() ) out.SetMeter( 25 ); } - else if( sFName.find("wild") != string::npos || sFName.find("wd") != string::npos || sFName.find("crazy+") != string::npos || sFName.find("cz+") != string::npos || sFName.find("hardcore") != string::npos ) + else if(sFName.find("wild") != string::npos || + sFName.find("wd") != string::npos || + sFName.find("crazy+") != string::npos || + sFName.find("cz+") != string::npos || + sFName.find("hardcore") != string::npos ) { out.SetDifficulty( Difficulty_Challenge ); if( !out.GetMeter() ) out.SetMeter( 20 ); } - else if( sFName.find("crazy") != string::npos || sFName.find("cz") != string::npos || sFName.find("nightmare") != string::npos || sFName.find("nm") != string::npos || sFName.find("crazydouble") != string::npos ) + else if(sFName.find("crazy") != string::npos || + sFName.find("cz") != string::npos || + sFName.find("nightmare") != string::npos || + sFName.find("nm") != string::npos || + sFName.find("crazydouble") != string::npos ) { out.SetDifficulty( Difficulty_Hard ); if( !out.GetMeter() ) out.SetMeter( 14 ); // Set the meters to the Pump scale, not DDR. } - else if( sFName.find("hard") != string::npos || sFName.find("hd") != string::npos || sFName.find("freestyle") != string::npos || sFName.find("fs") != string::npos || sFName.find("double") != string::npos ) + else if(sFName.find("hard") != string::npos || + sFName.find("hd") != string::npos || + sFName.find("freestyle") != string::npos || + sFName.find("fs") != string::npos || + sFName.find("double") != string::npos ) { out.SetDifficulty( Difficulty_Medium ); if( !out.GetMeter() ) out.SetMeter( 8 ); } - else if( sFName.find("easy") != string::npos || sFName.find("ez") != string::npos || sFName.find("normal") != string::npos ) + else if(sFName.find("easy") != string::npos || + sFName.find("ez") != string::npos || + sFName.find("normal") != string::npos ) { // I wonder if I should leave easy fall into the Beginner difficulty... -DaisuMaster out.SetDifficulty( Difficulty_Easy ); if( !out.GetMeter() ) out.SetMeter( 4 ); } - else if( sFName.find("beginner") != string::npos || sFName.find("practice") != string::npos || sFName.find("pr") != string::npos ) + else if(sFName.find("beginner") != string::npos || + sFName.find("practice") != string::npos || sFName.find("pr") != string::npos ) { out.SetDifficulty( Difficulty_Beginner ); if( !out.GetMeter() ) out.SetMeter( 4 ); @@ -230,10 +244,18 @@ static bool LoadFromKSFFile( const RString &sPath, Steps &out, const Song &song, out.m_StepsType = StepsType_pump_single; // Check for "halfdouble" before "double". - if( sFName.find("halfdouble") != string::npos || sFName.find("half-double") != string::npos || sFName.find("h_double") != string::npos || sFName.find("hdb") != string::npos ) + if(sFName.find("halfdouble") != string::npos || + sFName.find("half-double") != string::npos || + sFName.find("h_double") != string::npos || + sFName.find("hdb") != string::npos ) out.m_StepsType = StepsType_pump_halfdouble; // Handle bDoublesChart from above as well. -aj - else if( sFName.find("double") != string::npos || sFName.find("nightmare") != string::npos || sFName.find("freestyle") != string::npos || sFName.find("db") != string::npos || sFName.find("nm") != string::npos || sFName.find("fs") != string::npos || bDoublesChart ) + else if(sFName.find("double") != string::npos || + sFName.find("nightmare") != string::npos || + sFName.find("freestyle") != string::npos || + sFName.find("db") != string::npos || + sFName.find("nm") != string::npos || + sFName.find("fs") != string::npos || bDoublesChart ) out.m_StepsType = StepsType_pump_double; else if( sFName.find("_1") != string::npos ) out.m_StepsType = StepsType_pump_single; @@ -280,19 +302,31 @@ static bool LoadFromKSFFile( const RString &sPath, Steps &out, const Song &song, if( iHoldStartRow[t] == BeatToNoteRow(prevBeat) ) notedata.SetTapNote( t, iHoldStartRow[t], TAP_ORIGINAL_TAP ); else - notedata.AddHoldNote( t, iHoldStartRow[t], BeatToNoteRow(prevBeat) , TAP_ORIGINAL_HOLD_HEAD ); + notedata.AddHoldNote(t, + iHoldStartRow[t], + BeatToNoteRow(prevBeat), + TAP_ORIGINAL_HOLD_HEAD ); } } + /* have this row be the last moment in the song, unless + * a future step ends later. */ + float curTime = stepsTiming.GetElapsedTimeFromBeat(fCurBeat); + if (curTime > song.GetSpecifiedLastSecond()) + { + song.SetSpecifiedLastSecond(curTime); + } break; } else if( BeginsWith(sRowString, "|") ) { + /* if (bKIUCompliant) { // Log an error, ignore the line. continue; } + */ // gotta do something tricky here: if the bpm is below one then a couple of calculations // for scrollsegments will be made, example, bpm 0.2, tick 4000, the scrollsegment will // be 0. if the tickcount is non a stepmania standard then it will be adapted, a scroll @@ -300,6 +334,7 @@ static bool LoadFromKSFFile( const RString &sPath, Steps &out, const Song &song, // eh better do it considering the tickcount (high tickcounts) // I'm making some experiments, please spare me... + //continue; RString temp = sRowString.substr(2,sRowString.size()-3); float numTemp = StringToFloat(temp); @@ -307,53 +342,7 @@ static bool LoadFromKSFFile( const RString &sPath, Steps &out, const Song &song, { // duh iTickCount = static_cast(numTemp); - //if( iTickCount > ROWS_PER_BEAT ) - - /* adapt tickcounts // - // valid tickcounts for SM: 1, 2, 3, 4, 6, 8, 12, 16, 24, 32, 64, ROWS_PER_BEAT - // put this inside the tickcount handling condition yes/no - - if( iTickCount > ROWS_PER_BEAT ) // beyond 48 - { - // clamp/scale/whatever and use scroll segments - } - else if( iTickCount > 32 || iTickCount < ROWS_PER_BEAT ) // ranging from 33 to 48, approximate to 32 - { - fScrollRatio = 32; - iTickCount = 32; - } - else if( iTickCount > 24 || iTickCount < 32 ) // ranging from 25 to 31, approximate to 24 - { - fScrollRatio = 24; - iTickCount = 24; - } - else if( iTickCount > 16 || iTickCount < 24 ) // ranging from 17 to 23, approximate to 16 - { - fScrollRatio = 16; - iTickCount = 16; - } - else if( iTickCount > 12 || iTickCount < 16 ) // ranging from 13 to 15, approximate to 12 - { - fScrollRatio = 12; - iTickCount = 12; - } - else if( iTickCount > 8 || iTickCount < 12 ) // ranging from 9 to 11, approximate to 8 - { - fScrollRatio = 8; - iTickCount = 8; - } - else if( iTickCount > 6 || iTickCount < 8 ) // 7, approximate to 6 - { - fScrollRatio = 6 / iTickCountt; - iTickCount = 6; - } - else if( iTickCount > 4 || iTickCount < 6 ) // 5, approximate to 4 - { - fScrollRatio = iTickCount / 4; - iTickCount = 4; - } - //*/ - + // I have been owned by the man -DaisuMaster stepsTiming.SetTickcountAtBeat( fCurBeat, clamp(iTickCount, 0, ROWS_PER_BEAT) ); } else if (BeginsWith(sRowString, "|B")) @@ -392,7 +381,7 @@ static bool LoadFromKSFFile( const RString &sPath, Steps &out, const Song &song, { // scroll segments stepsTiming.SetScrollAtBeat( fCurBeat, numTemp ); - return true; + //return true; } continue; @@ -516,7 +505,21 @@ static void LoadTags( const RString &str, Song &out ) out.m_sArtist = artist; } -static bool LoadGlobalData( const RString &sPath, Song &out, bool bKIUCompliant ) +static void ProcessTickcounts( const RString & value, int & ticks, TimingData & timing ) +{ + /* TICKCOUNT will be used below if there are DM compliant BPM changes + * and stops. It will be called again in LoadFromKSFFile for the + * actual steps. */ + ticks = StringToInt( value ); + ticks = ticks > 0 ? ticks : 4; + // add a tickcount for those using the [Player] + // CheckpointsUseTimeSignatures metric. -aj + // It's not with timesigs now -DaisuMaster + TickcountSegment * tcs = new TickcountSegment(0, ticks > ROWS_PER_BEAT ? ROWS_PER_BEAT : ticks); + timing.AddSegment( SEGMENT_TICKCOUNT, tcs ); +} + +static bool LoadGlobalData( const RString &sPath, Song &out, bool &bKIUCompliant ) { MsdFile msd; if( !msd.ReadFile( sPath, false ) ) // don't unescape @@ -554,7 +557,7 @@ static bool LoadGlobalData( const RString &sPath, Song &out, bool bKIUCompliant else if( sValueName=="BPM" ) { BPM1 = StringToFloat(sParams[1]); - out.m_SongTiming.AddBPMSegment( BPMSegment(0, BPM1) ); + out.m_SongTiming.AddSegment( SEGMENT_BPM, new BPMSegment(0, BPM1) ); } else if( sValueName=="BPM2" ) { @@ -590,21 +593,11 @@ static bool LoadGlobalData( const RString &sPath, Song &out, bool bKIUCompliant else if ( sValueName=="STARTTIME3" ) { // STARTTIME3 only ensures this is a KIU compliant simfile. - bKIUCompliant = true; + //bKIUCompliant = true; } else if ( sValueName=="TICKCOUNT" ) { - /* TICKCOUNT will be used below if there are DM compliant BPM changes - * and stops. It will be called again in LoadFromKSFFile for the - * actual steps. */ - iTickCount = StringToInt( sParams[1] ); - iTickCount = iTickCount > 0 ? iTickCount : 4; - // add a tickcount for those using the [Player] - // CheckpointsUseTimeSignatures metric. -aj - // It's not with timesigs now -DaisuMaster - TickcountSegment tcs(0); - tcs.SetTicks(iTickCount > ROWS_PER_BEAT ? ROWS_PER_BEAT : iTickCount); - out.m_SongTiming.AddTickcountSegment( tcs ); + ProcessTickcounts(sParams[1], iTickCount, out.m_SongTiming); } else if ( sValueName=="STEP" ) { @@ -614,10 +607,10 @@ static bool LoadGlobalData( const RString &sPath, Song &out, bool bKIUCompliant TrimLeft( theSteps ); split( theSteps, "\n", vNoteRows, true ); } - - else if( sValueName=="DIFFICULTY" ) + else if( sValueName=="DIFFICULTY" || sValueName=="PLAYER" ) { - /* DIFFICULTY is handled only in LoadFromKSFFile. Ignore it here. */ + /* DIFFICULTY and PLAYER are handled only in LoadFromKSFFile. + Ignore those here. */ continue; } // New cases noted in Aldo_MX's code: @@ -689,7 +682,6 @@ static bool LoadGlobalData( const RString &sPath, Song &out, bool bKIUCompliant } // This is where the DMRequired test will take place. - //if (BeginsWith(NoteRowString, "|T") || BeginsWith(NoteRowString, "|B") || BeginsWith(NoteRowString, "|D") || BeginsWith(NoteRowString, "|E") ) if ( BeginsWith( NoteRowString, "|" ) ) { // have a static timing for everything @@ -723,6 +715,22 @@ void KSFLoader::GetApplicableFiles( const RString &sPath, vector &out ) GetDirListing( sPath + RString("*.ksf"), out ); } +bool KSFLoader::LoadNoteDataFromSimfile( const RString & cachePath, Steps &out ) +{ + bool KIUCompliant = false; + Song dummy; + if (!LoadGlobalData(cachePath, dummy, KIUCompliant)) + return false; + Steps *notes = dummy.CreateSteps(); + if (LoadFromKSFFile(cachePath, *notes, dummy, KIUCompliant)) + { + KIUCompliant = true; // yeah, reusing a variable. + out.SetNoteData(notes->GetNoteData()); + } + delete notes; + return KIUCompliant; +} + bool KSFLoader::LoadFromDir( const RString &sDir, Song &out ) { LOG->Trace( "KSFLoader::LoadFromDir(%s)", sDir.c_str() ); @@ -733,7 +741,7 @@ bool KSFLoader::LoadFromDir( const RString &sDir, Song &out ) // We shouldn't have been called to begin with if there were no KSFs. ASSERT( arrayKSFFileNames.size() ); - //bool bKIUCompliant = false; + bool bKIUCompliant = false; /* With Split Timing, there has to be a backup Song Timing in case * anything goes wrong. As these files are kept in alphabetical * order (hopefully), it is best to use the LAST file for timing @@ -751,22 +759,24 @@ bool KSFLoader::LoadFromDir( const RString &sDir, Song &out ) // for directmove though, and we're just gathering basic info anyway, and // most of the time all the KSF files have the same info in the #TITLE:; section unsigned files = arrayKSFFileNames.size(); - if( !LoadGlobalData(out.GetSongDir() + arrayKSFFileNames[0], out, false) ) + RString dir = out.GetSongDir(); + if( !LoadGlobalData(dir + arrayKSFFileNames[files - 1], out, bKIUCompliant) ) return false; + out.m_sSongFileName = dir + arrayKSFFileNames[files - 1]; // load the Steps from the rest of the KSF files for( unsigned i=0; iSetFilename(dir + arrayKSFFileNames[i]); out.AddSteps( pNewNotes ); } - out.TidyUpData(); + out.TidyUpData(false, true); return true; } diff --git a/src/NotesLoaderKSF.h b/src/NotesLoaderKSF.h index b18e94a1e9..650f7aa44f 100644 --- a/src/NotesLoaderKSF.h +++ b/src/NotesLoaderKSF.h @@ -2,11 +2,13 @@ #define NOTES_LOADER_KSF_H class Song; +class Steps; /** @brief Reads a Song from a set of .KSF files. */ namespace KSFLoader { void GetApplicableFiles( const RString &sPath, vector &out ); bool LoadFromDir( const RString &sDir, Song &out ); + bool LoadNoteDataFromSimfile( const RString & cachePath, Steps &out ); } #endif diff --git a/src/NotesLoaderMidi.cpp b/src/NotesLoaderMidi.cpp index 8a3377b527..2dfd891be7 100644 --- a/src/NotesLoaderMidi.cpp +++ b/src/NotesLoaderMidi.cpp @@ -677,21 +677,22 @@ static bool LoadFromMidi( const RString &sPath, Song &songOut ) FOREACH_CONST( MidiFileIn::TempoChange, midi.tempoEvents_, iter ) { - BPMSegment bpmSeg; - bpmSeg.SetRow( MidiCountToNoteRow( iter->count ) ); + BPMSegment * bpmSeg = NULL; + bpmSeg->SetRow( MidiCountToNoteRow( iter->count ) ); double fSecondsPerBeat = (iter->tickSeconds * GUITAR_MIDI_COUNTS_PER_BEAT); - bpmSeg.SetBPS( float( 1. / fSecondsPerBeat ) ); + bpmSeg->SetBPS( float( 1. / fSecondsPerBeat ) ); - songOut.m_SongTiming.AddBPMSegment( bpmSeg ); + songOut.m_SongTiming.AddSegment( SEGMENT_BPM, bpmSeg ); } FOREACH_CONST( MidiFileIn::TimeSignatureChange, midi.timeSignatureEvents_, iter ) { - TimeSignatureSegment seg(MidiCountToNoteRow( iter->count ), - iter->numerator, - iter->denominator); + TimeSignatureSegment * seg = + new TimeSignatureSegment(MidiCountToNoteRow( iter->count ), + iter->numerator, + iter->denominator); - songOut.m_SongTiming.AddTimeSignatureSegment( seg ); + songOut.m_SongTiming.AddSegment( SEGMENT_TIME_SIG, seg ); } @@ -816,8 +817,8 @@ skip_track: // Check for termination of a sustain note switch( midiEventType ) { - case note_off: - case note_on: + case note_off: + case note_on: if( bNonTerminatedNote ) { if( length >= 240 ) @@ -832,14 +833,15 @@ skip_track: bNonTerminatedNote = false; bNoteHandled = true; + break; } - break; + default: break; } switch( midiEventType ) { - case note_on: + case note_on: { TapNote tn = TAP_ORIGINAL_TAP; @@ -866,7 +868,9 @@ skip_track: bNonTerminatedNote = true; bNoteHandled = true; + break; } + default: break; } countOfLastNote = count; @@ -955,7 +959,7 @@ bool MidiLoader::LoadFromDir( const RString &sDir, Song &out ) if( !LoadFromMidi(sDir+vsFiles[0], out) ) return false; - out.TidyUpData(); + out.TidyUpData(false, true); return true; } diff --git a/src/NotesLoaderPMS.cpp b/src/NotesLoaderPMS.cpp index f0d742973c..ca4c672091 100644 --- a/src/NotesLoaderPMS.cpp +++ b/src/NotesLoaderPMS.cpp @@ -573,7 +573,7 @@ static bool LoadFromPMSFile( const RString &sPath, const NameToData_t &mapNameTo return true; } -static void ReadGlobalTags( const NameToData_t &mapNameToData, Song &out, MeasureToTimeSig_t &sigAdjustmentsOut, map &idToKeySoundIndexOut ) +static void ReadGlobalTags( const RString &sPath, const NameToData_t &mapNameToData, Song &out, MeasureToTimeSig_t &sigAdjustmentsOut, map &idToKeySoundIndexOut ) { RString sData; if( GetTagFromMap(mapNameToData, "#title", sData) ) @@ -590,8 +590,7 @@ static void ReadGlobalTags( const NameToData_t &mapNameToData, Song &out, Measur if( fBPM > 0.0f ) { - BPMSegment newSeg( 0, fBPM ); - out.m_SongTiming.AddBPMSegment( newSeg ); + out.m_SongTiming.AddSegment( SEGMENT_BPM, new BPMSegment(0, fBPM) ); LOG->Trace( "Inserting new BPM change at beat %f, BPM %f", NoteRowToBeat(0), fBPM ); } else @@ -612,26 +611,29 @@ static void ReadGlobalTags( const NameToData_t &mapNameToData, Song &out, Measur // this is keysound file name. Looks like "#WAV1A" RString nData = it->second; RString sWavID = sName.Right(2); + RString dir = out.GetSongDir(); + if (dir.empty()) + dir = Dirname(sPath); /* Due to bugs in some programs, many PMS files have a "WAV" extension * on files in the PMS for files that actually have some other extension. * Do a search. Don't do a wildcard search; if sData is "song.wav", * we might also have "song.png", which we shouldn't match. */ - if( !IsAFile(out.GetSongDir()+nData) ) + if( !IsAFile(dir+nData) ) { const char *exts[] = { "oga", "ogg", "wav", "mp3", NULL }; // XXX: stop duplicating these everywhere for( unsigned i = 0; exts[i] != NULL; ++i ) { RString fn = SetExtension( nData, exts[i] ); - if( IsAFile(out.GetSongDir()+fn) ) + if( IsAFile(dir+fn) ) { nData = fn; break; } } } - if( !IsAFile(out.GetSongDir()+nData) ) - LOG->UserLog( "Song file", out.GetSongDir(), "references key \"%s\" that can't be found", nData.c_str() ); + if( !IsAFile(dir+nData) ) + LOG->UserLog( "Song file", dir, "references key \"%s\" that can't be found", nData.c_str() ); sWavID.MakeUpper(); // HACK: undo the MakeLower() out.m_vsKeysoundFile.push_back( nData ); @@ -693,9 +695,9 @@ static void ReadGlobalTags( const NameToData_t &mapNameToData, Song &out, Measur if( fBPM > 0.0f ) { - BPMSegment newSeg( BeatToNoteRow(fBeat), fBPM ); - out.m_SongTiming.AddBPMSegment( newSeg ); - LOG->Trace( "Inserting new BPM change at beat %f, BPM %f", fBeat, newSeg.GetBPM() ); + BPMSegment * newSeg = new BPMSegment( fBeat, fBPM ); + out.m_SongTiming.AddSegment( SEGMENT_BPM, newSeg ); + LOG->Trace( "Inserting new BPM change at beat %f, BPM %f", fBeat, newSeg->GetBPM() ); } else { @@ -720,9 +722,9 @@ static void ReadGlobalTags( const NameToData_t &mapNameToData, Song &out, Measur float fBeats = StringToFloat( sBeats ) / 48.0f; float fFreezeSecs = fBeats / fBPS; - StopSegment newSeg( BeatToNoteRow(fBeat), fFreezeSecs ); - out.m_SongTiming.AddStopSegment( newSeg ); - LOG->Trace( "Inserting new Freeze at beat %f, secs %f", fBeat, newSeg.GetPause() ); + StopSegment * newSeg = new StopSegment( fBeat, fFreezeSecs ); + out.m_SongTiming.AddSegment( SEGMENT_STOP_DELAY, newSeg ); + LOG->Trace( "Inserting new Freeze at beat %f, secs %f", fBeat, newSeg->GetPause() ); } else { @@ -749,9 +751,11 @@ static void ReadGlobalTags( const NameToData_t &mapNameToData, Song &out, Measur if( fBPM > 0.0f ) { - BPMSegment newSeg( iStepIndex, fBPM ); - out.m_SongTiming.AddBPMSegment( newSeg ); - LOG->Trace( "Inserting new BPM change at beat %f, BPM %f", newSeg.GetBeat(), newSeg.GetBPM() ); + BPMSegment * newSeg = new BPMSegment( iStepIndex, fBPM ); + out.m_SongTiming.AddSegment( SEGMENT_BPM, newSeg ); + LOG->Trace("Inserting new BPM change at beat %f, BPM %f", + newSeg->GetBeat(), + newSeg->GetBPM() ); } else @@ -809,6 +813,64 @@ void PMSLoader::GetApplicableFiles( const RString &sPath, vector &out ) GetDirListing( sPath + RString("*.pms"), out ); } +bool PMSLoader::LoadNoteDataFromSimfile(const RString &cachePath, Steps &out) +{ + Song dummy; + // TODO: Simplify this copy/paste from LoadFromDir. + + vector BMSData; + BMSData.push_back(NameToData_t()); + ReadPMSFile(cachePath, BMSData.back()); + + RString commonSubstring; + GetCommonTagFromMapList( BMSData, "#title", commonSubstring ); + + Steps *copy = dummy.CreateSteps(); + + copy->SetDifficulty( Difficulty_Medium ); + RString sTag; + if( GetTagFromMap( BMSData[0], "#title", sTag ) && sTag.size() != commonSubstring.size() ) + { + sTag = sTag.substr( commonSubstring.size(), sTag.size() - commonSubstring.size() ); + sTag.MakeLower(); + + if( sTag.find('l') != sTag.npos ) + { + unsigned lPos = sTag.find('l'); + if( lPos > 2 && sTag.substr(lPos-2,4) == "solo" ) + { + copy->SetDifficulty( Difficulty_Edit ); + } + else + { + copy->SetDifficulty( Difficulty_Easy ); + } + } + else if( sTag.find('a') != sTag.npos ) + copy->SetDifficulty( Difficulty_Hard ); + else if( sTag.find('b') != sTag.npos ) + copy->SetDifficulty( Difficulty_Beginner ); + } + if( commonSubstring == "" ) + { + copy->SetDifficulty(Difficulty_Medium); + RString unused; + if (GetTagFromMap(BMSData[0], "#title#", sTag)) + SearchForDifficulty(unused, copy); + } + MeasureToTimeSig_t sigAdjustments; + map idToKeysoundIndex; + ReadGlobalTags( cachePath, BMSData[0], dummy, sigAdjustments, idToKeysoundIndex ); + + const bool ok = LoadFromPMSFile( cachePath, BMSData[0], *copy, sigAdjustments, idToKeysoundIndex ); + if( ok ) + { + out.SetNoteData(copy->GetNoteData()); + } + return ok; + +} + bool PMSLoader::LoadFromDir( const RString &sDir, Song &out ) { LOG->Trace( "Song::LoadFromPMSDir(%s)", sDir.c_str() ); @@ -914,7 +976,8 @@ bool PMSLoader::LoadFromDir( const RString &sDir, Song &out ) MeasureToTimeSig_t sigAdjustments; map idToKeysoundIndex; - ReadGlobalTags( aPMSData[iMainDataIndex], out, sigAdjustments, idToKeysoundIndex ); + ReadGlobalTags( sDir, aPMSData[iMainDataIndex], out, sigAdjustments, idToKeysoundIndex ); + out.m_sSongFileName = out.GetSongDir() + arrayPMSFileNames[iMainDataIndex]; // Override what that global tag said about the title if we have a good substring. // Prevents clobbering and catches "MySong (7keys)" / "MySong (Another) (7keys)" @@ -929,7 +992,10 @@ bool PMSLoader::LoadFromDir( const RString &sDir, Song &out ) Steps* pNewNotes = apSteps[i]; const bool ok = LoadFromPMSFile( out.GetSongDir() + arrayPMSFileNames[i], aPMSData[i], *pNewNotes, sigAdjustments, idToKeysoundIndex ); if( ok ) + { + pNewNotes->SetFilename(out.GetSongDir() + arrayPMSFileNames[i]); out.AddSteps( pNewNotes ); + } else delete pNewNotes; } @@ -940,7 +1006,7 @@ bool PMSLoader::LoadFromDir( const RString &sDir, Song &out ) ConvertString( out.m_sArtist, "utf-8,japanese" ); ConvertString( out.m_sGenre, "utf-8,japanese" ); - out.TidyUpData(); + out.TidyUpData(false, true); return true; } diff --git a/src/NotesLoaderPMS.h b/src/NotesLoaderPMS.h index 0cdc0d398d..65ec7f4ecb 100644 --- a/src/NotesLoaderPMS.h +++ b/src/NotesLoaderPMS.h @@ -2,11 +2,13 @@ #define NOTES_LOADER_PMS_H class Song; +class Steps; /** @brief Reads a Song from a set of .PMS files. */ namespace PMSLoader { void GetApplicableFiles( const RString &sPath, vector &out ); bool LoadFromDir( const RString &sDir, Song &out ); + bool LoadNoteDataFromSimfile(const RString & cachePath, Steps & out); } #endif diff --git a/src/NotesLoaderSM.cpp b/src/NotesLoaderSM.cpp index ef764b97d0..c74e867a18 100644 --- a/src/NotesLoaderSM.cpp +++ b/src/NotesLoaderSM.cpp @@ -10,6 +10,7 @@ #include "Song.h" #include "SongManager.h" #include "Steps.h" +#include "Attack.h" #include "PrefsManager.h" void SMLoader::SetSongTitle(const RString & title) @@ -95,23 +96,6 @@ void SMLoader::LoadFromTokens( } out.SetMeter( StringToInt(sMeter) ); - vector saValues; - split( sRadarValues, ",", saValues, true ); - int categories = NUM_RadarCategory - 1; // Fakes aren't counted in the radar values. - if( saValues.size() == (unsigned)categories * NUM_PLAYERS ) - { - RadarValues v[NUM_PLAYERS]; - FOREACH_PlayerNumber( pn ) - { - // Can't use the foreach anymore due to flexible radar lines. - for( RadarCategory rc = (RadarCategory)0; rc < categories; - enum_add( rc, 1 ) ) - { - v[pn][rc] = StringToFloat( saValues[pn*categories + rc] ); - } - } - out.SetCachedRadarValues( v ); - } out.SetSMNoteData( sNoteData ); @@ -149,7 +133,8 @@ void SMLoader::ProcessAttackString( vector & attacks, MsdFile::value_t { RString tmp = params[s]; Trim(tmp); - attacks.push_back( tmp ); + if (tmp.size() > 0) + attacks.push_back( tmp ); } } @@ -251,8 +236,8 @@ bool SMLoader::ProcessBPMs( TimingData &out, const RString line, const int rowsP if( negBPM < 0 ) { float endBeat = fBeat + (fNewBPM / -negBPM) * (fBeat - negBeat); - WarpSegment new_seg(negBeat, endBeat - negBeat); - out.AddWarpSegment( new_seg ); + out.AddSegment(SEGMENT_WARP, + new WarpSegment(negBeat, endBeat - negBeat)); negBeat = -1; negBPM = 1; @@ -267,13 +252,13 @@ bool SMLoader::ProcessBPMs( TimingData &out, const RString line, const int rowsP // add in a warp. if( highspeedBeat > 0 ) { - WarpSegment new_seg(highspeedBeat, fBeat - highspeedBeat); - out.AddWarpSegment( new_seg ); + out.AddSegment(SEGMENT_WARP, + new WarpSegment(highspeedBeat, fBeat - highspeedBeat) ); highspeedBeat = -1; } { - BPMSegment new_seg( BeatToNoteRow( fBeat ), fNewBPM ); - out.AddBPMSegment( new_seg ); + out.AddSegment(SEGMENT_BPM, + new BPMSegment(fBeat, fNewBPM)); } } } @@ -310,15 +295,14 @@ void SMLoader::ProcessStops( TimingData &out, const RString line, const int rows // Process the prior stop. if( negPause > 0 ) { - BPMSegment oldBPM = out.GetBPMSegmentAtRow(BeatToNoteRow(negBeat)); - float fSecondsPerBeat = 60 / oldBPM.GetBPM(); + BPMSegment * oldBPM = out.GetBPMSegmentAtRow(BeatToNoteRow(negBeat)); + float fSecondsPerBeat = 60 / oldBPM->GetBPM(); float fSkipBeats = negPause / fSecondsPerBeat; if( negBeat + fSkipBeats > fFreezeBeat ) fSkipBeats = fFreezeBeat - negBeat; - WarpSegment ws( negBeat, fSkipBeats); - out.AddWarpSegment( ws ); + out.AddSegment(SEGMENT_WARP, new WarpSegment(negBeat, fSkipBeats)); negBeat = -1; negPause = 0; @@ -331,8 +315,8 @@ void SMLoader::ProcessStops( TimingData &out, const RString line, const int rows } else if( fFreezeSeconds > 0.0f ) { - StopSegment ss( BeatToNoteRow(fFreezeBeat), fFreezeSeconds ); - out.AddStopSegment( ss ); + out.AddSegment(SEGMENT_STOP_DELAY, + new StopSegment(fFreezeBeat, fFreezeSeconds)); } } @@ -340,12 +324,11 @@ void SMLoader::ProcessStops( TimingData &out, const RString line, const int rows // Process the prior stop if there was one. if( negPause > 0 ) { - BPMSegment oldBPM = out.GetBPMSegmentAtRow(BeatToNoteRow(negBeat)); - float fSecondsPerBeat = 60 / oldBPM.GetBPM(); + BPMSegment * oldBPM = out.GetBPMSegmentAtBeat(negBeat); + float fSecondsPerBeat = 60 / oldBPM->GetBPM(); float fSkipBeats = negPause / fSecondsPerBeat; - WarpSegment ws( negBeat, fSkipBeats); - out.AddWarpSegment( ws ); + out.AddSegment(SEGMENT_WARP, new WarpSegment(negBeat, fSkipBeats)); } } @@ -370,15 +353,14 @@ void SMLoader::ProcessDelays( TimingData &out, const RString line, const int row const float fFreezeBeat = RowToBeat( arrayDelayValues[0], rowsPerBeat ); const float fFreezeSeconds = StringToFloat( arrayDelayValues[1] ); - StopSegment new_seg( fFreezeBeat, fFreezeSeconds, true ); - // XXX: Remove Negatives Bug? - new_seg.SetBeat(fFreezeBeat); - new_seg.SetPause(fFreezeSeconds); + StopSegment * new_seg = new StopSegment(fFreezeBeat, + fFreezeSeconds, + true); // LOG->Trace( "Adding a delay segment: beat: %f, seconds = %f", new_seg.m_fStartBeat, new_seg.m_fStopSeconds ); if(fFreezeSeconds > 0.0f) - out.AddStopSegment( new_seg ); + out.AddSegment( SEGMENT_STOP_DELAY, new_seg ); else LOG->UserLog( "Song file", @@ -409,7 +391,10 @@ void SMLoader::ProcessTimeSignatures( TimingData &out, const RString line, const const float fBeat = RowToBeat( vs2[0], rowsPerBeat ); - TimeSignatureSegment seg( fBeat, StringToInt( vs2[1] ), StringToInt( vs2[2] )); + TimeSignatureSegment * seg = + new TimeSignatureSegment(fBeat, + StringToInt( vs2[1] ), + StringToInt( vs2[2] )); if( fBeat < 0 ) { @@ -420,25 +405,25 @@ void SMLoader::ProcessTimeSignatures( TimingData &out, const RString line, const continue; } - if( seg.GetNum() < 1 ) + if( seg->GetNum() < 1 ) { LOG->UserLog("Song file", this->GetSongTitle(), "has an invalid time signature change with beat %f, iNumerator %i.", - fBeat, seg.GetNum() ); + fBeat, seg->GetNum() ); continue; } - if( seg.GetDen() < 1 ) + if( seg->GetDen() < 1 ) { LOG->UserLog("Song file", this->GetSongTitle(), "has an invalid time signature change with beat %f, iDenominator %i.", - fBeat, seg.GetDen() ); + fBeat, seg->GetDen() ); continue; } - out.AddTimeSignatureSegment( seg ); + out.AddSegment( SEGMENT_TIME_SIG, seg ); } } @@ -463,8 +448,8 @@ void SMLoader::ProcessTickcounts( TimingData &out, const RString line, const int const float fTickcountBeat = RowToBeat( arrayTickcountValues[0], rowsPerBeat ); int iTicks = clamp(atoi( arrayTickcountValues[1] ), 0, ROWS_PER_BEAT); - TickcountSegment new_seg( fTickcountBeat, iTicks ); - out.AddTickcountSegment( new_seg ); + out.AddSegment( SEGMENT_TICKCOUNT, + new TickcountSegment(fTickcountBeat, iTicks) ); } } @@ -499,8 +484,10 @@ void SMLoader::ProcessSpeeds( TimingData &out, const RString line, const int row const float fBeat = RowToBeat( vs2[0], rowsPerBeat ); - SpeedSegment seg( fBeat, StringToFloat( vs2[1] ), StringToFloat( vs2[2] )); - seg.SetUnit(StringToInt(vs2[3])); + SpeedSegment * seg = new SpeedSegment(fBeat, + StringToFloat( vs2[1] ), + StringToFloat( vs2[2] )); + seg->SetUnit(StringToInt(vs2[3])); if( fBeat < 0 ) { @@ -511,16 +498,16 @@ void SMLoader::ProcessSpeeds( TimingData &out, const RString line, const int row continue; } - if( seg.GetLength() < 0 ) + if( seg->GetLength() < 0 ) { LOG->UserLog("Song file", this->GetSongTitle(), "has an speed change with beat %f, length %f.", - fBeat, seg.GetLength() ); + fBeat, seg->GetLength() ); continue; } - out.AddSpeedSegment( seg ); + out.AddSegment( SEGMENT_SPEED, seg ); } } @@ -546,7 +533,7 @@ void SMLoader::ProcessFakes( TimingData &out, const RString line, const int rows const float fNewBeat = StringToFloat( arrayFakeValues[1] ); if(fNewBeat > 0) - out.AddFakeSegment( FakeSegment(fBeat, fNewBeat) ); + out.AddSegment( SEGMENT_FAKE, new FakeSegment(fBeat, fNewBeat) ); else { LOG->UserLog("Song file", @@ -643,9 +630,8 @@ bool SMLoader::LoadFromBGChangesString( BackgroundChange &change, const RString return aBGChangeValues.size() >= 2; } -bool SMLoader::LoadNotedataFromSimfile( const RString &path, Steps &out ) +bool SMLoader::LoadNoteDataFromSimfile( const RString &path, Steps &out ) { - // stub: do this later. MsdFile msd; if( !msd.ReadFile( path, true ) ) // unescape { @@ -696,7 +682,7 @@ bool SMLoader::LoadNotedataFromSimfile( const RString &path, Steps &out ) RString noteData = sParams[6]; Trim( noteData ); out.SetSMNoteData( noteData ); - + out.TidyUpData(); return true; } } @@ -715,6 +701,7 @@ bool SMLoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCache } out.m_SongTiming.m_sFile = sPath; + out.m_sSongFileName = sPath; for( unsigned i=0; iSetFilename(sPath); out.AddSteps( pNewNotes ); } // XXX: Does anyone know what LEADTRACK is for? -Wolfman2000 @@ -932,7 +920,8 @@ bool SMLoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCache } // Ensure all warps from negative time changes are in order. - sort(out.m_SongTiming.m_WarpSegments.begin(), out.m_SongTiming.m_WarpSegments.end()); + vector &warps = out.m_SongTiming.allTimingSegments[SEGMENT_WARP]; + sort(warps.begin(), warps.end()); TidyUpData( out, bFromCache ); return true; } @@ -1107,7 +1096,10 @@ void SMLoader::TidyUpData( Song &song, bool bFromCache ) bg.push_back( BackgroundChange(lastBeat,song.m_sBackgroundFile) ); } while(0); } - song.TidyUpData( bFromCache ); + if (bFromCache) + { + song.TidyUpData( bFromCache, true ); + } } /* diff --git a/src/NotesLoaderSM.h b/src/NotesLoaderSM.h index 6654c5bc62..6ba22589d6 100644 --- a/src/NotesLoaderSM.h +++ b/src/NotesLoaderSM.h @@ -46,7 +46,7 @@ struct SMLoader * @brief Retrieve the relevant notedata from the simfile. * @param path the path where the simfile lives. * @param out the Steps we are loading the data into. */ - virtual bool LoadNotedataFromSimfile(const RString &path, Steps &out ); + virtual bool LoadNoteDataFromSimfile(const RString &path, Steps &out ); /** * @brief Attempt to load the specified sm file. diff --git a/src/NotesLoaderSMA.cpp b/src/NotesLoaderSMA.cpp index a47b639350..1a3cf4ef00 100644 --- a/src/NotesLoaderSMA.cpp +++ b/src/NotesLoaderSMA.cpp @@ -38,8 +38,8 @@ void SMALoader::ProcessMultipliers( TimingData &out, const int iRowsPerBeat, con const int iMisses = (size == 2 || size == 4 ? iCombos : StringToInt(arrayMultiplierValues[2])); - ComboSegment new_seg( fComboBeat, iCombos, iMisses ); - out.AddComboSegment( new_seg ); + out.AddSegment(SEGMENT_COMBO, + new ComboSegment( fComboBeat, iCombos, iMisses )); } } @@ -64,7 +64,9 @@ void SMALoader::ProcessBeatsPerMeasure( TimingData &out, const RString sParam ) const float fBeat = StringToFloat( vs2[0] ); - TimeSignatureSegment seg( fBeat, StringToInt( vs2[1] ), 4 ); + TimeSignatureSegment * seg = new TimeSignatureSegment(fBeat, + StringToInt(vs2[1]), + 4 ); if( fBeat < 0 ) { @@ -75,16 +77,16 @@ void SMALoader::ProcessBeatsPerMeasure( TimingData &out, const RString sParam ) continue; } - if( seg.GetNum() < 1 ) + if( seg->GetNum() < 1 ) { LOG->UserLog("Song file", this->GetSongTitle(), "has an invalid time signature change with beat %f, iNumerator %i.", - fBeat, seg.GetNum() ); + fBeat, seg->GetNum() ); continue; } - out.AddTimeSignatureSegment( seg ); + out.AddSegment( SEGMENT_TIME_SIG, seg ); } } @@ -123,8 +125,10 @@ void SMALoader::ProcessSpeeds( TimingData &out, const RString line, const int ro unsigned short tmp = ((backup != vs2[2]) ? 1 : 0); - SpeedSegment seg(fBeat, StringToFloat( vs2[1] ), StringToFloat(vs2[2]), tmp); - //seg.SetUnit(tmp); + SpeedSegment * seg = new SpeedSegment(fBeat, + StringToFloat( vs2[1] ), + StringToFloat(vs2[2]), + tmp); if( fBeat < 0 ) { @@ -135,16 +139,16 @@ void SMALoader::ProcessSpeeds( TimingData &out, const RString line, const int ro continue; } - if( seg.GetLength() < 0 ) + if( seg->GetLength() < 0 ) { LOG->UserLog("Song file", this->GetSongTitle(), "has an speed change with beat %f, length %f.", - fBeat, seg.GetLength() ); + fBeat, seg->GetLength() ); continue; } - out.AddSpeedSegment( seg ); + out.AddSegment( SEGMENT_SPEED, seg ); } } @@ -160,6 +164,7 @@ bool SMALoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCach } out.m_SongTiming.m_sFile = sPath; // songs still have their fallback timing. + out.m_sSongFileName = sPath; int state = SMA_GETTING_SONG_INFO; Steps* pNewNotes = NULL; @@ -446,7 +451,7 @@ bool SMALoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCach sParams[5], sParams[6], *pNewNotes ); - + pNewNotes->SetFilename(sPath); out.AddSteps( pNewNotes ); } else if( sValueName=="TIMESIGNATURES" || sValueName=="LEADTRACK" ) @@ -458,7 +463,7 @@ bool SMALoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCach sValueName.c_str() ); } TidyUpData(out, false); - out.TidyUpData(); + out.TidyUpData(false, true); return true; } diff --git a/src/NotesLoaderSSC.cpp b/src/NotesLoaderSSC.cpp index 83c249d579..bcefb97fad 100644 --- a/src/NotesLoaderSSC.cpp +++ b/src/NotesLoaderSSC.cpp @@ -37,10 +37,10 @@ void SSCLoader::ProcessWarps( TimingData &out, const RString sParam, const float // Early versions were absolute in beats. They should be relative. if( ( fVersion < VERSION_SPLIT_TIMING && fNewBeat > fBeat ) ) { - out.AddWarpSegment( WarpSegment(fBeat, fNewBeat - fBeat) ); + out.AddSegment( SEGMENT_WARP, new WarpSegment(fBeat, fNewBeat - fBeat) ); } else if( fNewBeat > 0 ) - out.AddWarpSegment( WarpSegment(fBeat, fNewBeat) ); + out.AddSegment( SEGMENT_WARP, new WarpSegment(fBeat, fNewBeat) ); else { LOG->UserLog("Song file", @@ -73,7 +73,7 @@ void SSCLoader::ProcessLabels( TimingData &out, const RString sParam ) RString sLabel = arrayLabelValues[1]; TrimRight(sLabel); if( fBeat >= 0.0f ) - out.AddLabelSegment( LabelSegment(fBeat, sLabel) ); + out.AddSegment( SEGMENT_LABEL, new LabelSegment(fBeat, sLabel) ); else { LOG->UserLog("Song file", @@ -106,8 +106,7 @@ void SSCLoader::ProcessCombos( TimingData &out, const RString line, const int ro const float fComboBeat = StringToFloat( arrayComboValues[0] ); const int iCombos = StringToInt( arrayComboValues[1] ); const int iMisses = (size == 2 ? iCombos : StringToInt(arrayComboValues[2])); - ComboSegment new_seg( fComboBeat, iCombos, iMisses ); - out.AddComboSegment( new_seg ); + out.AddSegment( SEGMENT_COMBO, new ComboSegment( fComboBeat, iCombos, iMisses ) ); } } @@ -132,7 +131,7 @@ void SSCLoader::ProcessScrolls( TimingData &out, const RString sParam ) const float fBeat = StringToFloat( vs2[0] ); - ScrollSegment seg( fBeat, StringToFloat( vs2[1] ) ); + ScrollSegment * seg = new ScrollSegment(fBeat, StringToFloat( vs2[1] ) ); if( fBeat < 0 ) { @@ -143,10 +142,99 @@ void SSCLoader::ProcessScrolls( TimingData &out, const RString sParam ) continue; } - out.AddScrollSegment( seg ); + out.AddSegment( SEGMENT_SCROLL, seg ); } } +bool SSCLoader::LoadNoteDataFromSimfile( const RString & cachePath, Steps &out ) +{ + LOG->Trace( "Loading notes from %s", cachePath.c_str() ); + + MsdFile msd; + if (!msd.ReadFile(cachePath, true)) + { + LOG->UserLog("Unable to load any notes from", + cachePath, + "for this reason: %s", + msd.GetError().c_str()); + return false; + } + + bool tryingSteps = false; + float storedVersion = 0; + const unsigned values = msd.GetNumValues(); + + for (unsigned i = 0; i < values; i++) + { + const MsdFile::value_t ¶ms = msd.GetValue(i); + RString valueName = params[0]; + valueName.MakeUpper(); + RString matcher = params[1]; // mainly for debugging. + Trim(matcher); + + if (valueName=="VERSION") + { + storedVersion = StringToFloat(matcher); + } + if (tryingSteps) + { + if( valueName=="STEPSTYPE" ) + { + if (out.m_StepsType != GAMEMAN->StringToStepsType(matcher)) + tryingSteps = false; + } + else if( valueName=="CHARTNAME") + { + if (storedVersion >= VERSION_CHART_NAME_TAG && out.GetChartName() != matcher) + tryingSteps = false; + } + else if( valueName=="DESCRIPTION" ) + { + if (storedVersion < VERSION_CHART_NAME_TAG) + { + if (out.GetChartName() != matcher) + tryingSteps = false; + } + else if (out.GetDescription() != matcher) + tryingSteps = false; + } + + else if( valueName=="DIFFICULTY" ) + { + if (out.GetDifficulty() != StringToDifficulty(matcher)) + tryingSteps = false; + } + + else if( valueName=="METER" ) + { + if (out.GetMeter() != StringToInt(matcher)) + tryingSteps = false; + } + + else if( valueName=="CREDIT" ) + { + if (out.GetCredit() != matcher) + tryingSteps = false; + } + + else if( valueName=="NOTES" || valueName=="NOTES2" ) + { + out.SetSMNoteData(matcher); + out.TidyUpData(); + return true; + } + } + else + { + if(valueName == "NOTEDATA") + { + tryingSteps = true; + } + } + } + return false; +} + bool SSCLoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCache ) { LOG->Trace( "Song::LoadFromSSCFile(%s)", sPath.c_str() ); @@ -159,6 +247,7 @@ bool SSCLoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCach } out.m_SongTiming.m_sFile = sPath; // songs still have their fallback timing. + out.m_sSongFileName = sPath; int state = GETTING_SONG_INFO; const unsigned values = msd.GetNumValues(); @@ -485,27 +574,35 @@ bool SSCLoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCach else if( sValueName=="RADARVALUES" ) { - vector saValues; - split( sParams[1], ",", saValues, true ); - - int categories = NUM_RadarCategory; - if( out.m_fVersion < VERSION_RADAR_FAKE ) - categories -= 1; - - if( saValues.size() == (unsigned)categories * NUM_PLAYERS ) + if (bFromCache) { - RadarValues v[NUM_PLAYERS]; - FOREACH_PlayerNumber( pn ) + vector saValues; + split( sParams[1], ",", saValues, true ); + + int categories = NUM_RadarCategory; + if( out.m_fVersion < VERSION_RADAR_FAKE ) + categories -= 1; + + if( saValues.size() == (unsigned)categories * NUM_PLAYERS ) { - // Can't use the foreach anymore due to flexible radar lines. - for( RadarCategory rc = (RadarCategory)0; rc < categories; - enum_add( rc, +1 ) ) + RadarValues v[NUM_PLAYERS]; + FOREACH_PlayerNumber( pn ) { - v[pn][rc] = StringToFloat( saValues[pn*categories + rc] ); + // Can't use the foreach anymore due to flexible radar lines. + for( RadarCategory rc = (RadarCategory)0; rc < categories; + enum_add( rc, +1 ) ) + { + v[pn][rc] = StringToFloat( saValues[pn*categories + rc] ); + } } + pNewNotes->SetCachedRadarValues( v ); } - pNewNotes->SetCachedRadarValues( v ); } + else + { + // just recalc at time. + } + } else if( sValueName=="CREDIT" ) @@ -520,6 +617,7 @@ bool SSCLoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCach pNewNotes->m_Timing = stepsTiming; pNewNotes->SetSMNoteData( sParams[1] ); pNewNotes->TidyUpData(); + pNewNotes->SetFilename(sPath); out.AddSteps( pNewNotes ); } @@ -606,6 +704,14 @@ bool SSCLoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCach pNewNotes->SetMaxBPM(StringToFloat(sParams[2])); } } + else if( sValueName=="STEPFILENAME" ) + { + state = GETTING_SONG_INFO; + if( bHasOwnTiming ) + pNewNotes->m_Timing = stepsTiming; + pNewNotes->SetFilename(sParams[1]); + out.AddSteps( pNewNotes ); + } break; } } diff --git a/src/NotesLoaderSSC.h b/src/NotesLoaderSSC.h index 5b35cc5c4c..3d8f8ca634 100644 --- a/src/NotesLoaderSSC.h +++ b/src/NotesLoaderSSC.h @@ -30,6 +30,8 @@ const float VERSION_SPLIT_TIMING = 0.7f; const float VERSION_OFFSET_BEFORE_ATTACK = 0.72f; /** @brief The version that introduced the Chart Name tag. */ const float VERSION_CHART_NAME_TAG = 0.74f; +/** @brief The version that introduced the cache switch tag. */ +const float VERSION_CACHE_SWITCH_TAG = 0.77f; /** * @brief The SSCLoader handles all of the parsing needed for .ssc files. @@ -65,6 +67,12 @@ struct SSCLoader : public SMLoader */ bool LoadEditFromMsd( const MsdFile &msd, const RString &sEditFilePath, ProfileSlot slot, bool bAddStepsToSong ); + /** + * @brief Retrieve the specific NoteData from the file. + * @param cachePath the path to the cache file. + * @param out the Steps to receive just the particular notedata. + * @return true if successful, false otherwise. */ + virtual bool LoadNoteDataFromSimfile( const RString &cachePath, Steps &out ); void ProcessWarps( TimingData &, const RString, const float ); void ProcessLabels( TimingData &, const RString ); diff --git a/src/NotesWriterDWI.cpp b/src/NotesWriterDWI.cpp index 4c451d836a..33809c357c 100644 --- a/src/NotesWriterDWI.cpp +++ b/src/NotesWriterDWI.cpp @@ -123,9 +123,10 @@ static RString NotesToDWIString( const TapNote tnCols[6] ) { switch( tnCols[col].type ) { - case TapNote::empty: - case TapNote::mine: - continue; + case TapNote::empty: + case TapNote::mine: + continue; + default: break; } if( tnCols[col].type == TapNote::hold_head ) @@ -352,9 +353,13 @@ bool NotesWriterDWI::Write( RString sPath, const Song &out ) /* Write transliterations, if we have them, since DWI doesn't support UTF-8. */ f.PutLine( ssprintf("#TITLE:%s;", DwiEscape(out.GetTranslitFullTitle()).c_str()) ); f.PutLine( ssprintf("#ARTIST:%s;", DwiEscape(out.GetTranslitArtist()).c_str()) ); - ASSERT( out.m_SongTiming.m_BPMSegments[0].GetRow() == 0 ); + + const vector &bpms = out.m_SongTiming.allTimingSegments[SEGMENT_BPM]; + + ASSERT_M(bpms[0]->GetRow() == 0, + ssprintf("The first BPM Segment must be defined at row 0, not %d!", bpms[0]->GetRow()) ); f.PutLine( ssprintf("#FILE:%s;", DwiEscape(out.m_sMusicFile).c_str()) ); - f.PutLine( ssprintf("#BPM:%.3f;", out.m_SongTiming.m_BPMSegments[0].GetBPM()) ); + f.PutLine( ssprintf("#BPM:%.3f;", static_cast(bpms[0])->GetBPM()) ); f.PutLine( ssprintf("#GAP:%ld;", -lrintf( out.m_SongTiming.m_fBeat0OffsetInSeconds*1000 )) ); f.PutLine( ssprintf("#SAMPLESTART:%.3f;", out.m_fMusicSampleStartSeconds) ); f.PutLine( ssprintf("#SAMPLELENGTH:%.3f;", out.m_fMusicSampleLengthSeconds) ); @@ -376,29 +381,30 @@ bool NotesWriterDWI::Write( RString sPath, const Song &out ) break; } - if( !out.m_SongTiming.m_StopSegments.empty() ) + const vector &stops = out.m_SongTiming.allTimingSegments[SEGMENT_STOP_DELAY]; + if( !stops.empty() ) { f.Write( "#FREEZE:" ); - for( unsigned i=0; i(stops[i]); + f.Write( ssprintf("%.3f=%.3f", fs->GetRow() * 4.0f / ROWS_PER_BEAT, + roundf(fs->GetPause()*1000)) ); + if( i != stops.size()-1 ) f.Write( "," ); } f.PutLine( ";" ); } - if( out.m_SongTiming.m_BPMSegments.size() > 1) + if( bpms.size() > 1) { f.Write( "#CHANGEBPM:" ); - for( unsigned i=1; i(bpms[i]); + f.Write( ssprintf("%.3f=%.3f", bs->GetRow() * 4.0f / ROWS_PER_BEAT, bs->GetBPM() ) ); + if( i != bpms.size()-1 ) f.Write( "," ); } f.PutLine( ";" ); diff --git a/src/NotesWriterJson.cpp b/src/NotesWriterJson.cpp index 8320c3d4b9..984a895295 100644 --- a/src/NotesWriterJson.cpp +++ b/src/NotesWriterJson.cpp @@ -9,22 +9,23 @@ #include "NoteData.h" #include "GameManager.h" -static void Serialize(const BPMSegment &seg, Json::Value &root) +static void Serialize(const TimingSegment &seg, Json::Value &root) { root["Beat"] = seg.GetBeat(); - root["BPM"] = seg.GetBPM(); -} - -static void Serialize(const StopSegment &seg, Json::Value &root) -{ - root["Beat"] = seg.GetBeat(); - root["Seconds"] = seg.GetPause(); + if (seg.GetType() == SEGMENT_BPM) + { + root["BPM"] = static_cast(const_cast(seg)).GetBPM(); + } + else + { + root["Seconds"] = static_cast(const_cast(seg)).GetPause(); + } } static void Serialize(const TimingData &td, Json::Value &root) { - JsonUtil::SerializeVectorObjects( td.m_BPMSegments, Serialize, root["BpmSegments"] ); - JsonUtil::SerializeVectorObjects( td.m_StopSegments, Serialize, root["StopSegments"] ); + JsonUtil::SerializeVectorPointers( td.allTimingSegments[SEGMENT_BPM], Serialize, root["BpmSegments"] ); + JsonUtil::SerializeVectorPointers( td.allTimingSegments[SEGMENT_STOP_DELAY], Serialize, root["StopSegments"] ); } static void Serialize(const LyricSegment &o, Json::Value &root) diff --git a/src/NotesWriterSM.cpp b/src/NotesWriterSM.cpp index cbcea62ef0..81eca70991 100644 --- a/src/NotesWriterSM.cpp +++ b/src/NotesWriterSM.cpp @@ -19,37 +19,13 @@ ThemeMetric USE_CREDIT ( "NotesWriterSM", "DescriptionUsesCreditField" ); -/** - * @brief Turn the BackgroundChange into a string. - * @param bgc the BackgroundChange in question. - * @return the converted string. */ -static RString BackgroundChangeToString( const BackgroundChange &bgc ) -{ - // TODO: Technically we need to double-escape the filename (because it might - // contain '=') and then unescape the value returned by the MsdFile. - RString s = ssprintf( - "%.3f=%s=%.3f=%d=%d=%d=%s=%s=%s=%s=%s", - bgc.m_fStartBeat, - SmEscape(bgc.m_def.m_sFile1).c_str(), - bgc.m_fRate, - bgc.m_sTransition == SBT_CrossFade, // backward compat - bgc.m_def.m_sEffect == SBE_StretchRewind, // backward compat - bgc.m_def.m_sEffect != SBE_StretchNoLoop, // backward compat - bgc.m_def.m_sEffect.c_str(), - bgc.m_def.m_sFile2.c_str(), - bgc.m_sTransition.c_str(), - SmEscape(RageColor::NormalizeColorString(bgc.m_def.m_sColor1)).c_str(), - SmEscape(RageColor::NormalizeColorString(bgc.m_def.m_sColor2)).c_str() - ); - return s; -} - /** * @brief Write out the common tags for .SM files. * @param f the file in question. * @param out the Song in question. */ static void WriteGlobalTags( RageFile &f, Song &out ) { + TimingData &timing = out.m_SongTiming; f.PutLine( ssprintf( "#TITLE:%s;", SmEscape(out.m_sMainTitle).c_str() ) ); f.PutLine( ssprintf( "#SUBTITLE:%s;", SmEscape(out.m_sSubTitle).c_str() ) ); f.PutLine( ssprintf( "#ARTIST:%s;", SmEscape(out.m_sArtist).c_str() ) ); @@ -99,44 +75,46 @@ static void WriteGlobalTags( RageFile &f, Song &out ) f.Write( "#BPMS:" ); - for( unsigned i=0; i &bpms = timing.allTimingSegments[SEGMENT_BPM]; + for( unsigned i=0; i(bpms[i]); - f.PutLine( ssprintf( "%.3f=%.3f", bs.GetBeat(), bs.GetBPM() ) ); - if( i != out.m_SongTiming.m_BPMSegments.size()-1 ) + f.PutLine( ssprintf( "%.3f=%.3f", bs->GetBeat(), bs->GetBPM() ) ); + if( i != bpms.size()-1 ) f.Write( "," ); } f.PutLine( ";" ); - unsigned wSize = out.m_SongTiming.m_WarpSegments.size(); + vector &warps = timing.allTimingSegments[SEGMENT_WARP]; + unsigned wSize = warps.size(); if( wSize > 0 ) { for( unsigned i=0; i < wSize; i++ ) { - int iRow = out.m_SongTiming.m_WarpSegments[i].GetRow(); + const WarpSegment *ws = static_cast(warps[i]); + int iRow = ws->GetRow(); float fBPS = 60 / out.m_SongTiming.GetBPMAtRow(iRow); - float fSkip = fBPS * out.m_SongTiming.m_WarpSegments[i].GetLength(); - StopSegment ss(iRow, -fSkip, false); - out.m_SongTiming.AddStopSegment( ss ); + float fSkip = fBPS * ws->GetLength(); + out.m_SongTiming.AddSegment(SEGMENT_STOP_DELAY, + new StopSegment(iRow, -fSkip, false) ); } } f.Write( "#STOPS:" ); - for( unsigned i=0; i &stops = timing.allTimingSegments[SEGMENT_STOP_DELAY]; + for( unsigned i=0; i(stops[i]); + float fBeat = fs->GetBeat(); + if (fs->GetDelay()) fBeat--; - f.PutLine( ssprintf( "%.3f=%.3f", fBeat, fs.GetPause() ) ); - if( i != out.m_SongTiming.m_StopSegments.size()-1 ) + f.PutLine( ssprintf( "%.3f=%.3f", fBeat, fs->GetPause() ) ); + if( i != stops.size()-1 ) f.Write( "," ); - if( fs.GetPause() < 0 ) + if( fs->GetPause() < 0 ) { - out.m_SongTiming.m_StopSegments.erase( - out.m_SongTiming.m_StopSegments.begin()+i, - out.m_SongTiming.m_StopSegments.begin()+i+1 ); + stops.erase(stops.begin()+i,stops.begin()+i+1 ); i--; } } @@ -152,7 +130,7 @@ static void WriteGlobalTags( RageFile &f, Song &out ) f.Write( ssprintf("#BGCHANGES%d:", b+1) ); FOREACH_CONST( BackgroundChange, out.GetBackgroundChanges(b), bgc ) - f.PutLine( BackgroundChangeToString(*bgc)+"," ); + f.PutLine( (*bgc).ToString() +"," ); /* If there's an animation plan at all, add a dummy "-nosongbg-" tag to indicate that * this file doesn't want a song BG entry added at the end. See SMLoader::TidyUpData. @@ -168,7 +146,7 @@ static void WriteGlobalTags( RageFile &f, Song &out ) f.Write( "#FGCHANGES:" ); FOREACH_CONST( BackgroundChange, out.GetForegroundChanges(), bgc ) { - f.PutLine( BackgroundChangeToString(*bgc)+"," ); + f.PutLine( (*bgc).ToString() +"," ); } f.PutLine( ";" ); } @@ -182,16 +160,7 @@ static void WriteGlobalTags( RageFile &f, Song &out ) } f.PutLine( ";" ); - f.Write( "#ATTACKS:" ); - for( unsigned a=0; a < out.m_sAttackString.size(); a++ ) - { - RString sData = out.m_sAttackString[a]; - f.Write( ssprintf( "%s", sData.c_str() ) ); - - if( a != (out.m_sAttackString.size() - 1) ) - f.Write( ":" ); // Not the end, so write a divider ':' - } - f.PutLine( ";" ); + f.PutLine( ssprintf("#ATTACKS:%s;", out.GetAttackString().c_str()) ); } /** diff --git a/src/NotesWriterSSC.cpp b/src/NotesWriterSSC.cpp index d9edfb1946..0a47768f41 100644 --- a/src/NotesWriterSSC.cpp +++ b/src/NotesWriterSSC.cpp @@ -16,31 +16,6 @@ #include "Song.h" #include "Steps.h" -/** - * @brief Turn the BackgroundChange into a string. - * @param bgc the BackgroundChange in question. - * @return the converted string. */ -static RString BackgroundChangeToString( const BackgroundChange &bgc ) -{ - // TODO: Technically we need to double-escape the filename (because it might contain '=') and then - // unescape the value returned by the MsdFile. - RString s = ssprintf( - "%.3f=%s=%.3f=%d=%d=%d=%s=%s=%s=%s=%s", - bgc.m_fStartBeat, - SmEscape(bgc.m_def.m_sFile1).c_str(), - bgc.m_fRate, - bgc.m_sTransition == SBT_CrossFade, // backward compat - bgc.m_def.m_sEffect == SBE_StretchRewind, // backward compat - bgc.m_def.m_sEffect != SBE_StretchNoLoop, // backward compat - bgc.m_def.m_sEffect.c_str(), - bgc.m_def.m_sFile2.c_str(), - bgc.m_sTransition.c_str(), - SmEscape(RageColor::NormalizeColorString(bgc.m_def.m_sColor1)).c_str(), - SmEscape(RageColor::NormalizeColorString(bgc.m_def.m_sColor2)).c_str() - ); - return s; -} - /** * @brief Turn a vector of lines into a single line joined by newline characters. * @param lines the list of lines to join. @@ -90,45 +65,71 @@ static void GetTimingTags( vector &lines, TimingData timing, bool bIsSo TimingTagWriter w ( &lines ); timing.TidyUpData(); + unsigned i = 0; w.Init( "BPMS" ); - FOREACH_CONST( BPMSegment, timing.m_BPMSegments, bs ) + vector &bpms = timing.allTimingSegments[SEGMENT_BPM]; + for (; i < bpms.size(); i++) + { + BPMSegment *bs = static_cast(bpms[i]); w.Write( bs->GetRow(), bs->GetBPM() ); + } w.Finish(); w.Init( "STOPS" ); - FOREACH_CONST( StopSegment, timing.m_StopSegments, ss ) + vector &stops = timing.allTimingSegments[SEGMENT_STOP_DELAY]; + for (i = 0; i < stops.size(); i++) + { + StopSegment *ss = static_cast(stops[i]); if( !ss->GetDelay() ) w.Write( ss->GetRow(), ss->GetPause() ); + } w.Finish(); w.Init( "DELAYS" ); - FOREACH_CONST( StopSegment, timing.m_StopSegments, ss ) + for (i = 0; i < stops.size(); i++) + { + StopSegment *ss = static_cast(stops[i]); if( ss->GetDelay() ) w.Write( ss->GetRow(), ss->GetPause() ); + } w.Finish(); w.Init( "WARPS" ); - FOREACH_CONST( WarpSegment, timing.m_WarpSegments, ws ) + vector &warps = timing.allTimingSegments[SEGMENT_WARP]; + for (i = 0; i < warps.size(); i++) + { + WarpSegment *ws = static_cast(warps[i]); w.Write( ws->GetRow(), ws->GetLength() ); + } w.Finish(); - ASSERT( !timing.m_vTimeSignatureSegments.empty() ); + vector &tSigs = timing.allTimingSegments[SEGMENT_TIME_SIG]; + ASSERT( !tSigs.empty() ); w.Init( "TIMESIGNATURES" ); - FOREACH_CONST( TimeSignatureSegment, timing.m_vTimeSignatureSegments, iter ) - w.Write( iter->GetRow(), iter->GetNum(), iter->GetDen() ); + for (i = 0; i < tSigs.size(); i++) + { + TimeSignatureSegment *ts = static_cast(tSigs[i]); + w.Write( ts->GetRow(), ts->GetNum(), ts->GetDen() ); + } w.Finish(); - ASSERT( !timing.m_TickcountSegments.empty() ); + vector &ticks = timing.allTimingSegments[SEGMENT_TICKCOUNT]; + ASSERT( !ticks.empty() ); w.Init( "TICKCOUNTS" ); - FOREACH_CONST( TickcountSegment, timing.m_TickcountSegments, ts ) + for (i = 0; i < ticks.size(); i++) + { + TickcountSegment *ts = static_cast(ticks[i]); w.Write( ts->GetRow(), ts->GetTicks() ); + } w.Finish(); - ASSERT( !timing.m_ComboSegments.empty() ); + vector &combos = timing.allTimingSegments[SEGMENT_COMBO]; + ASSERT( !combos.empty() ); w.Init( "COMBOS" ); - FOREACH_CONST( ComboSegment, timing.m_ComboSegments, cs ) + for (i = 0; i < combos.size(); i++) { + ComboSegment *cs = static_cast(combos[i]); if (cs->GetCombo() == cs->GetMissCombo()) w.Write( cs->GetRow(), cs->GetCombo() ); else @@ -137,38 +138,71 @@ static void GetTimingTags( vector &lines, TimingData timing, bool bIsSo w.Finish(); // Song Timing should only have the initial value. + vector &speeds = timing.allTimingSegments[SEGMENT_SPEED]; w.Init( "SPEEDS" ); - FOREACH_CONST( SpeedSegment, timing.m_SpeedSegments, ss ) + for (i = 0; i < speeds.size(); i++) + { + SpeedSegment *ss = static_cast(speeds[i]); w.Write( ss->GetRow(), ss->GetRatio(), ss->GetLength(), ss->GetUnit() ); + } w.Finish(); w.Init( "SCROLLS" ); - FOREACH_CONST( ScrollSegment, timing.m_ScrollSegments, ss ) + vector &scrolls = timing.allTimingSegments[SEGMENT_SCROLL]; + for (i = 0; i < scrolls.size(); i++) + { + ScrollSegment *ss = static_cast(scrolls[i]); w.Write( ss->GetRow(), ss->GetRatio() ); + } w.Finish(); if( !bIsSong ) { + vector &fakes = timing.allTimingSegments[SEGMENT_FAKE]; w.Init( "FAKES" ); - FOREACH_CONST( FakeSegment, timing.m_FakeSegments, fs ) + for (i = 0; i < fakes.size(); i++) + { + FakeSegment *fs = static_cast(fakes[i]); w.Write( fs->GetRow(), fs->GetLength() ); + } w.Finish(); } w.Init( "LABELS" ); - FOREACH_CONST( LabelSegment, timing.m_LabelSegments, ls ) + vector &labels = timing.allTimingSegments[SEGMENT_LABEL]; + for (i = 0; i < labels.size(); i++) + { + LabelSegment *ls = static_cast(labels[i]); w.Write( ls->GetRow(), ls->GetLabel().c_str() ); + } w.Finish(); } static void WriteTimingTags( RageFile &f, const TimingData &timing, bool bIsSong = false ) { - - vector lines; - - GetTimingTags( lines, timing, bIsSong ); - - f.PutLine( JoinLineList( lines ) ); + f.PutLine(ssprintf("#BPMS:%s;", + join(",\r\n", timing.ToVectorString(SEGMENT_BPM)).c_str())); + f.PutLine(ssprintf("#STOPS:%s;", + join(",\r\n", timing.ToVectorString(SEGMENT_STOP_DELAY, false)).c_str())); + f.PutLine(ssprintf("#DELAYS:%s;", + join(",\r\n", timing.ToVectorString(SEGMENT_STOP_DELAY, true)).c_str())); + f.PutLine(ssprintf("#WARPS:%s;", + join(",\r\n", timing.ToVectorString(SEGMENT_WARP)).c_str())); + f.PutLine(ssprintf("#TIMESIGNATURES:%s;", + join(",\r\n", timing.ToVectorString(SEGMENT_TIME_SIG)).c_str())); + f.PutLine(ssprintf("#TICKCOUNTS:%s;", + join(",\r\n", timing.ToVectorString(SEGMENT_TICKCOUNT)).c_str())); + f.PutLine(ssprintf("#COMBOS:%s;", + join(",\r\n", timing.ToVectorString(SEGMENT_COMBO)).c_str())); + f.PutLine(ssprintf("#SPEEDS:%s;", + join(",\r\n", timing.ToVectorString(SEGMENT_SPEED)).c_str())); + f.PutLine(ssprintf("#SCROLLS:%s;", + join(",\r\n", timing.ToVectorString(SEGMENT_SCROLL)).c_str())); + if (!bIsSong) + f.PutLine(ssprintf("#FAKES:%s;", + join(",\r\n", timing.ToVectorString(SEGMENT_FAKE)).c_str())); + f.PutLine(ssprintf("#LABELS:%s;", + join(",\r\n", timing.ToVectorString(SEGMENT_LABEL)).c_str())); } @@ -195,10 +229,7 @@ static void WriteGlobalTags( RageFile &f, const Song &out ) f.PutLine( ssprintf( "#MUSIC:%s;", SmEscape(out.m_sMusicFile).c_str() ) ); { - vector vs; - FOREACH_ENUM( InstrumentTrack, it ) - if( out.HasInstrumentTrack(it) ) - vs.push_back( InstrumentTrackToString(it) + "=" + out.m_sInstrumentTrackFile[it] ); + vector vs = out.GetInstrumentTracksToVectorString(); if( !vs.empty() ) { RString s = join( ",", vs ); @@ -212,7 +243,7 @@ static void WriteGlobalTags( RageFile &f, const Song &out ) f.Write( "#SELECTABLE:" ); switch(out.m_SelectionDisplay) { - default: ASSERT(0); // fall through + default: ASSERT_M(0, "An invalid selectable value was found for this song!"); // fall through case Song::SHOW_ALWAYS: f.Write( "YES" ); break; //case Song::SHOW_NONSTOP: f.Write( "NONSTOP" ); break; case Song::SHOW_NEVER: f.Write( "NO" ); break; @@ -250,7 +281,7 @@ static void WriteGlobalTags( RageFile &f, const Song &out ) f.Write( ssprintf("#BGCHANGES%d:", b+1) ); FOREACH_CONST( BackgroundChange, out.GetBackgroundChanges(b), bgc ) - f.PutLine( BackgroundChangeToString(*bgc)+"," ); + f.PutLine( (*bgc).ToString() +"," ); /* If there's an animation plan at all, add a dummy "-nosongbg-" tag to * indicate that this file doesn't want a song BG entry added at the end. @@ -266,7 +297,7 @@ static void WriteGlobalTags( RageFile &f, const Song &out ) f.Write( "#FGCHANGES:" ); FOREACH_CONST( BackgroundChange, out.GetForegroundChanges(), bgc ) { - f.PutLine( BackgroundChangeToString(*bgc)+"," ); + f.PutLine( (*bgc).ToString() +"," ); } f.PutLine( ";" ); } @@ -280,16 +311,7 @@ static void WriteGlobalTags( RageFile &f, const Song &out ) } f.PutLine( ";" ); - f.Write( "#ATTACKS:" ); - for( unsigned a=0; a < out.m_sAttackString.size(); a++ ) - { - RString sData = out.m_sAttackString[a]; - f.Write( ssprintf( "%s", sData.c_str() ) ); - - if( a != (out.m_sAttackString.size() - 1) ) - f.Write( ":" ); // Not the end, so write a divider ':' - } - f.PutLine( ";" ); + f.PutLine( ssprintf("#ATTACKS:%s;", out.GetAttackString().c_str()) ); } /** @@ -307,7 +329,7 @@ static RString GetSSCNoteData( const Song &song, const Steps &in, bool bSavingCa lines.push_back( ssprintf("//---------------%s - %s----------------", GAMEMAN->GetStepsTypeInfo(in.m_StepsType).szName, SmEscape(in.GetDescription()).c_str()) ); lines.push_back( "#NOTEDATA:;" ); // our new separator. - lines.push_back( ssprintf( "#CHARTNAME:%s:", SmEscape(in.GetChartName()).c_str())); + lines.push_back( ssprintf( "#CHARTNAME:%s;", SmEscape(in.GetChartName()).c_str())); lines.push_back( ssprintf( "#STEPSTYPE:%s;", GAMEMAN->GetStepsTypeInfo(in.m_StepsType).szName ) ); lines.push_back( ssprintf( "#DESCRIPTION:%s;", SmEscape(in.GetDescription()).c_str() ) ); lines.push_back( ssprintf( "#CHARTSTYLE:%s;", SmEscape(in.GetChartStyle()).c_str() ) ); @@ -328,17 +350,7 @@ static RString GetSSCNoteData( const Song &song, const Steps &in, bool bSavingCa GetTimingTags( lines, in.m_Timing ); - RString attacks = ""; - for( unsigned a=0; a < in.m_sAttackString.size(); a++ ) - { - RString sData = in.m_sAttackString[a]; - attacks += sData; - - if( a != (in.m_sAttackString.size() - 1) ) - attacks += ":\r\n"; // Not the end, so write a divider ':' - } - Trim(attacks, ":"); // just in case something screwy happens. - lines.push_back( ssprintf( "#ATTACKS:%s;", attacks.c_str())); + lines.push_back( ssprintf("#ATTACKS:%s;", in.GetAttackString().c_str())); switch( in.GetDisplayBPM() ) { @@ -359,16 +371,21 @@ static RString GetSSCNoteData( const Song &song, const Steps &in, bool bSavingCa lines.push_back( ssprintf( "#DISPLAYBPM:*;" ) ); break; } - - RString sNoteData; - in.GetSMNoteData( sNoteData ); + if (bSavingCache) + { + lines.push_back(ssprintf("#STEPFILENAME:%s;", in.GetFilename().c_str())); + } + else + { + RString sNoteData; + in.GetSMNoteData( sNoteData ); - lines.push_back( song.m_vsKeysoundFile.empty() ? "#NOTES:" : "#NOTES2:" ); - - TrimLeft(sNoteData); - split( sNoteData, "\n", lines, true ); - lines.push_back( ";" ); + lines.push_back( song.m_vsKeysoundFile.empty() ? "#NOTES:" : "#NOTES2:" ); + TrimLeft(sNoteData); + split( sNoteData, "\n", lines, true ); + lines.push_back( ";" ); + } return JoinLineList( lines ); } diff --git a/src/OptionRow.cpp b/src/OptionRow.cpp index 4f50268542..472dc2a1e4 100644 --- a/src/OptionRow.cpp +++ b/src/OptionRow.cpp @@ -426,15 +426,18 @@ void OptionRow::AfterImportOptions( PlayerNumber pn ) switch( m_pHand->m_Def.m_selectType ) { - case SELECT_ONE: - // Make sure the row actually has a selection. - int iSelection = GetOneSelection(pn, true); - if( iSelection == -1 ) + case SELECT_ONE: { - ASSERT( !m_vbSelected[pn].empty() ); - m_vbSelected[pn][0] = true; + // Make sure the row actually has a selection. + int iSelection = GetOneSelection(pn, true); + if( iSelection == -1 ) + { + ASSERT( !m_vbSelected[pn].empty() ); + m_vbSelected[pn][0] = true; + } } - break; + default: + break; } ResetFocusFromSelection( pn ); @@ -503,7 +506,7 @@ void OptionRow::UpdateText( PlayerNumber p ) { switch( m_pHand->m_Def.m_layoutType ) { - case LAYOUT_SHOW_ONE_IN_ROW: + case LAYOUT_SHOW_ONE_IN_ROW: { unsigned pn = m_pHand->m_Def.m_bOneChoiceForAllPlayers ? 0 : p; int iChoiceWithFocus = m_iChoiceInRowWithFocus[pn]; @@ -519,7 +522,7 @@ void OptionRow::UpdateText( PlayerNumber p ) m_textItems[index]->SetText( sText ); } - break; + default: break; } } @@ -757,10 +760,11 @@ void OptionRow::ResetFocusFromSelection( PlayerNumber pn ) int iSelection = -1; switch( m_pHand->m_Def.m_selectType ) { - case SELECT_ONE: - // Import the focus from the selected option. - iSelection = GetOneSelection( pn, true ); - break; + case SELECT_ONE: + // Import the focus from the selected option. + iSelection = GetOneSelection( pn, true ); + default: + break; } // HACK: Set focus to one item in the row, which is "go down" diff --git a/src/PaneDisplay.cpp b/src/PaneDisplay.cpp index e812156cd3..0e3a82ca4c 100644 --- a/src/PaneDisplay.cpp +++ b/src/PaneDisplay.cpp @@ -137,13 +137,14 @@ void PaneDisplay::SetContent( PaneCategory c ) { switch( c ) { - case PaneCategory_MachineHighName: - str = EMPTY_MACHINE_HIGH_SCORE_NAME; - break; - case PaneCategory_MachineHighScore: - case PaneCategory_ProfileHighScore: - str = NOT_AVAILABLE; - break; + case PaneCategory_MachineHighName: + str = EMPTY_MACHINE_HIGH_SCORE_NAME; + break; + case PaneCategory_MachineHighScore: + case PaneCategory_ProfileHighScore: + str = NOT_AVAILABLE; + break; + default: break; } } @@ -157,13 +158,14 @@ void PaneDisplay::SetContent( PaneCategory c ) { switch( c ) { - case PaneCategory_MachineHighName: - str = EMPTY_MACHINE_HIGH_SCORE_NAME; - break; - case PaneCategory_MachineHighScore: - case PaneCategory_ProfileHighScore: - str = NOT_AVAILABLE; - break; + case PaneCategory_MachineHighName: + str = EMPTY_MACHINE_HIGH_SCORE_NAME; + break; + case PaneCategory_MachineHighScore: + case PaneCategory_ProfileHighScore: + str = NOT_AVAILABLE; + break; + default: break; } } @@ -184,8 +186,9 @@ void PaneDisplay::SetContent( PaneCategory c ) ProfileSlot slot = ProfileSlot_Machine; switch( c ) { - case PaneCategory_ProfileHighScore: - slot = (ProfileSlot) m_PlayerNumber; + case PaneCategory_ProfileHighScore: + slot = (ProfileSlot) m_PlayerNumber; + default: break; } if( pSteps ) @@ -201,55 +204,58 @@ void PaneDisplay::SetContent( PaneCategory c ) switch( c ) { - case PaneCategory_NumSteps: val = rv[RadarCategory_TapsAndHolds]; break; - case PaneCategory_Jumps: val = rv[RadarCategory_Jumps]; break; - case PaneCategory_Holds: val = rv[RadarCategory_Holds]; break; - case PaneCategory_Rolls: val = rv[RadarCategory_Rolls]; break; - case PaneCategory_Mines: val = rv[RadarCategory_Mines]; break; - case PaneCategory_Hands: val = rv[RadarCategory_Hands]; break; - case PaneCategory_Lifts: val = rv[RadarCategory_Lifts]; break; - case PaneCategory_Fakes: val = rv[RadarCategory_Fakes]; break; - case PaneCategory_ProfileHighScore: - case PaneCategory_MachineHighName: // set val for color - case PaneCategory_MachineHighScore: - CHECKPOINT; - val = pHSL->GetTopScore().GetPercentDP(); - break; + case PaneCategory_NumSteps: val = rv[RadarCategory_TapsAndHolds]; break; + case PaneCategory_Jumps: val = rv[RadarCategory_Jumps]; break; + case PaneCategory_Holds: val = rv[RadarCategory_Holds]; break; + case PaneCategory_Rolls: val = rv[RadarCategory_Rolls]; break; + case PaneCategory_Mines: val = rv[RadarCategory_Mines]; break; + case PaneCategory_Hands: val = rv[RadarCategory_Hands]; break; + case PaneCategory_Lifts: val = rv[RadarCategory_Lifts]; break; + case PaneCategory_Fakes: val = rv[RadarCategory_Fakes]; break; + case PaneCategory_ProfileHighScore: + case PaneCategory_MachineHighName: // set val for color + case PaneCategory_MachineHighScore: + CHECKPOINT; + val = pHSL->GetTopScore().GetPercentDP(); + break; + default: break; }; if( val != RADAR_VAL_UNKNOWN ) { switch( c ) { - case PaneCategory_MachineHighName: - if( pHSL->vHighScores.empty() ) - { - str = EMPTY_MACHINE_HIGH_SCORE_NAME; - } - else - { - str = pHSL->GetTopScore().GetName(); - if( str.empty() ) - str = "????"; - } - break; - case PaneCategory_MachineHighScore: - case PaneCategory_ProfileHighScore: - // Don't show or save machine high scores for edits loaded from a player profile. - if( bIsPlayerEdit ) - str = NOT_AVAILABLE; - else - str = PlayerStageStats::FormatPercentScore( val ); - break; - case PaneCategory_NumSteps: - case PaneCategory_Jumps: - case PaneCategory_Holds: - case PaneCategory_Rolls: - case PaneCategory_Mines: - case PaneCategory_Hands: - case PaneCategory_Lifts: - case PaneCategory_Fakes: - str = ssprintf( COUNT_FORMAT.GetValue(), val ); + case PaneCategory_MachineHighName: + if( pHSL->vHighScores.empty() ) + { + str = EMPTY_MACHINE_HIGH_SCORE_NAME; + } + else + { + str = pHSL->GetTopScore().GetName(); + if( str.empty() ) + str = "????"; + } + break; + case PaneCategory_MachineHighScore: + case PaneCategory_ProfileHighScore: + // Don't show or save machine high scores for edits loaded from a player profile. + if( bIsPlayerEdit ) + str = NOT_AVAILABLE; + else + str = PlayerStageStats::FormatPercentScore( val ); + break; + case PaneCategory_NumSteps: + case PaneCategory_Jumps: + case PaneCategory_Holds: + case PaneCategory_Rolls: + case PaneCategory_Mines: + case PaneCategory_Hands: + case PaneCategory_Lifts: + case PaneCategory_Fakes: + str = ssprintf( COUNT_FORMAT.GetValue(), val ); + break; + default: break; } } } diff --git a/src/Player.cpp b/src/Player.cpp index 8638d33cff..e4f53fea05 100644 --- a/src/Player.cpp +++ b/src/Player.cpp @@ -628,8 +628,8 @@ void Player::Load() switch( GAMESTATE->m_PlayMode ) { - case PLAY_MODE_RAVE: - case PLAY_MODE_BATTLE: + case PLAY_MODE_RAVE: + case PLAY_MODE_BATTLE: { // ugly, ugly, ugly. Works only w/ dance. // Why does this work only with dance? - Steve @@ -659,8 +659,9 @@ void Player::Load() count++; count %= 4; } + break; } - break; + default: break; } int iDrawDistanceAfterTargetsPixels = GAMESTATE->IsEditing() ? -100 : DRAW_DISTANCE_AFTER_TARGET_PIXELS; @@ -2879,41 +2880,46 @@ void Player::CrossedRows( int iLastRowCrossed, const RageTimer &now ) int iTrack = iter.Track(); switch( tn.type ) { - case TapNote::hold_head: - tn.HoldResult.fLife = INITIAL_HOLD_LIFE; - if( !REQUIRE_STEP_ON_HOLD_HEADS ) + case TapNote::hold_head: { + tn.HoldResult.fLife = INITIAL_HOLD_LIFE; + if( !REQUIRE_STEP_ON_HOLD_HEADS ) + { + PlayerNumber pn = m_pPlayerState->m_PlayerNumber; + GameInput GameI = GAMESTATE->GetCurrentStyle()->StyleInputToGameInput( iTrack, pn ); + if( PREFSMAN->m_fPadStickSeconds > 0.f ) + { + float fSecsHeld = INPUTMAPPER->GetSecsHeld( GameI, m_pPlayerState->m_mp ); + if( fSecsHeld >= PREFSMAN->m_fPadStickSeconds ) + Step( iTrack, -1, now - PREFSMAN->m_fPadStickSeconds, true, false ); + } + else if( INPUTMAPPER->IsBeingPressed(GameI, m_pPlayerState->m_mp) ) + { + Step( iTrack, -1, now, true, false ); + } + } + break; + } + case TapNote::mine: + { + // Hold the panel while crossing a mine will cause the mine to explode + // TODO: Remove use of PlayerNumber. PlayerNumber pn = m_pPlayerState->m_PlayerNumber; GameInput GameI = GAMESTATE->GetCurrentStyle()->StyleInputToGameInput( iTrack, pn ); - if( PREFSMAN->m_fPadStickSeconds > 0.f ) + if( PREFSMAN->m_fPadStickSeconds > 0 ) { float fSecsHeld = INPUTMAPPER->GetSecsHeld( GameI, m_pPlayerState->m_mp ); if( fSecsHeld >= PREFSMAN->m_fPadStickSeconds ) Step( iTrack, -1, now - PREFSMAN->m_fPadStickSeconds, true, false ); } - else if( INPUTMAPPER->IsBeingPressed(GameI, m_pPlayerState->m_mp) ) + else { - Step( iTrack, -1, now, true, false ); + if( INPUTMAPPER->IsBeingPressed(GameI, m_pPlayerState->m_mp) ) + Step( iTrack, iRow, now, true, false ); } + break; } - break; - case TapNote::mine: - // Hold the panel while crossing a mine will cause the mine to explode - // TODO: Remove use of PlayerNumber. - PlayerNumber pn = m_pPlayerState->m_PlayerNumber; - GameInput GameI = GAMESTATE->GetCurrentStyle()->StyleInputToGameInput( iTrack, pn ); - if( PREFSMAN->m_fPadStickSeconds > 0 ) - { - float fSecsHeld = INPUTMAPPER->GetSecsHeld( GameI, m_pPlayerState->m_mp ); - if( fSecsHeld >= PREFSMAN->m_fPadStickSeconds ) - Step( iTrack, -1, now - PREFSMAN->m_fPadStickSeconds, true, false ); - } - else - { - if( INPUTMAPPER->IsBeingPressed(GameI, m_pPlayerState->m_mp) ) - Step( iTrack, iRow, now, true, false ); - } - break; + default: break; } if( iRow != iLastSeenRow ) @@ -2956,21 +2962,21 @@ void Player::CrossedRows( int iLastRowCrossed, const RageTimer &now ) } else if( CHECKPOINTS_USE_TIME_SIGNATURES ) { - TimeSignatureSegment & tSignature = m_Timing->GetTimeSignatureSegmentAtRow( iLastRowCrossed ); + TimeSignatureSegment * tSignature = m_Timing->GetTimeSignatureSegmentAtRow( iLastRowCrossed ); // Most songs are in 4/4 time. The frequency for checking tick counts should reflect that. - iCheckpointFrequencyRows = ROWS_PER_BEAT * tSignature.GetDen() / (tSignature.GetNum() * 4); + iCheckpointFrequencyRows = ROWS_PER_BEAT * tSignature->GetDen() / (tSignature->GetNum() * 4); } if( iCheckpointFrequencyRows > 0 ) { // "the first row after the start of the range that lands on a beat" - int iFirstCheckpointInRange = QuantizeUp(m_iFirstUncrossedRow, - iCheckpointFrequencyRows); + int iFirstCheckpointInRange = ((m_iFirstUncrossedRow+iCheckpointFrequencyRows-1) + /iCheckpointFrequencyRows) * iCheckpointFrequencyRows; // "the last row or first row earlier that lands on a beat" - int iLastCheckpointInRange = QuantizeDown(iLastRowCrossed, - iCheckpointFrequencyRows); + int iLastCheckpointInRange = ((iLastRowCrossed)/iCheckpointFrequencyRows) + * iCheckpointFrequencyRows; for( int r = iFirstCheckpointInRange; r <= iLastCheckpointInRange; r += iCheckpointFrequencyRows ) { @@ -2992,12 +2998,12 @@ void Player::CrossedRows( int iLastRowCrossed, const RageTimer &now ) int iTrack = nIter.Track(); // "the first row after the hold head that lands on a beat" - int iFirstCheckpointOfHold = QuantizeUp(iStartRow, - iCheckpointFrequencyRows); + int iFirstCheckpointOfHold = ((iStartRow+iCheckpointFrequencyRows)/iCheckpointFrequencyRows) + * iCheckpointFrequencyRows; // "the end row or the first earlier row that lands on a beat" - int iLastCheckpointOfHold = QuantizeDown(iEndRow, - iCheckpointFrequencyRows); + int iLastCheckpointOfHold = ((iEndRow)/iCheckpointFrequencyRows) + * iCheckpointFrequencyRows; // count the end of the hold as a checkpoint bool bHoldOverlapsRow = iFirstCheckpointOfHold <= r && r <= iLastCheckpointOfHold; diff --git a/src/PlayerStageStats.cpp b/src/PlayerStageStats.cpp index e57682c843..4e8a0eb050 100644 --- a/src/PlayerStageStats.cpp +++ b/src/PlayerStageStats.cpp @@ -274,6 +274,7 @@ float PlayerStageStats::GetCurMaxPercentDancePoints() const return fCurMaxPercentDancePoints; } +// TODO: Make this use lua. Let more judgments be possible. -Wolfman2000 int PlayerStageStats::GetLessonScoreActual() const { int iScore = 0; @@ -282,14 +283,15 @@ int PlayerStageStats::GetLessonScoreActual() const { switch( tns ) { - case TNS_AvoidMine: - case TNS_W5: - case TNS_W4: - case TNS_W3: - case TNS_W2: - case TNS_W1: - iScore += m_iTapNoteScores[tns]; - break; + case TNS_AvoidMine: + case TNS_W5: + case TNS_W4: + case TNS_W3: + case TNS_W2: + case TNS_W1: + iScore += m_iTapNoteScores[tns]; + default: + break; } } @@ -297,9 +299,10 @@ int PlayerStageStats::GetLessonScoreActual() const { switch( hns ) { - case HNS_Held: - iScore += m_iHoldNoteScores[hns]; - break; + case HNS_Held: + iScore += m_iHoldNoteScores[hns]; + default: + break; } } diff --git a/src/RageDisplay_Legacy.cpp b/src/RageDisplay_Legacy.cpp index 4247510dc7..bedb5c7133 100644 --- a/src/RageDisplay_Legacy.cpp +++ b/src/RageDisplay_Legacy.cpp @@ -340,7 +340,7 @@ GLhandleARB CompileShader( GLenum ShaderType, RString sFile, vector asD GLhandleARB LoadShader( GLenum ShaderType, RString sFile, vector asDefines ) { // Don't do anything here if not the hardware/driver can't do it! - if (!GLEW_ARB_fragment_program && GLEW_ARB_shading_language_100 && ShaderType == GL_FRAGMENT_SHADER_ARB) + if (!GLEW_ARB_fragment_shader && ShaderType == GL_FRAGMENT_SHADER_ARB) return 0; if (!GLEW_ARB_vertex_shader && ShaderType == GL_VERTEX_SHADER_ARB) return 0; @@ -1625,6 +1625,7 @@ void RageDisplay_Legacy::SetTextureMode( TextureUnit tu, TextureMode tm ) glTexEnvi(GL_TEXTURE_ENV, GLenum(GL_OPERAND1_ALPHA_EXT), GL_SRC_ALPHA); glTexEnvi(GL_TEXTURE_ENV, GLenum(GL_SOURCE1_ALPHA_EXT), GL_TEXTURE); break; + default: break; } } @@ -1662,21 +1663,22 @@ void RageDisplay_Legacy::SetTextureFiltering( TextureUnit tu, bool b ) void RageDisplay_Legacy::SetEffectMode( EffectMode effect ) { - if (!GLEW_ARB_fragment_program && !GLEW_ARB_shading_language_100) + if (!GLEW_ARB_fragment_shader) return; GLhandleARB hShader = 0; switch (effect) { - case EffectMode_Normal: hShader = 0; break; - case EffectMode_Unpremultiply: hShader = g_bUnpremultiplyShader; break; - case EffectMode_ColorBurn: hShader = g_bColorBurnShader; break; - case EffectMode_ColorDodge: hShader = g_bColorDodgeShader; break; - case EffectMode_VividLight: hShader = g_bVividLightShader; break; - case EffectMode_HardMix: hShader = g_hHardMixShader; break; - case EffectMode_Overlay: hShader = g_hOverlayShader; break; - case EffectMode_Screen: hShader = g_hScreenShader; break; - case EffectMode_YUYV422: hShader = g_hYUYV422Shader; break; + case EffectMode_Normal: hShader = 0; break; + case EffectMode_Unpremultiply: hShader = g_bUnpremultiplyShader; break; + case EffectMode_ColorBurn: hShader = g_bColorBurnShader; break; + case EffectMode_ColorDodge: hShader = g_bColorDodgeShader; break; + case EffectMode_VividLight: hShader = g_bVividLightShader; break; + case EffectMode_HardMix: hShader = g_hHardMixShader; break; + case EffectMode_Overlay: hShader = g_hOverlayShader; break; + case EffectMode_Screen: hShader = g_hScreenShader; break; + case EffectMode_YUYV422: hShader = g_hYUYV422Shader; break; + default: break; } DebugFlushGLErrors(); @@ -1703,18 +1705,17 @@ bool RageDisplay_Legacy::IsEffectModeSupported( EffectMode effect ) { switch( effect ) { - case EffectMode_Normal: return true; - case EffectMode_Unpremultiply: return g_bUnpremultiplyShader != 0; - case EffectMode_ColorBurn: return g_bColorBurnShader != 0; - case EffectMode_ColorDodge: return g_bColorDodgeShader != 0; - case EffectMode_VividLight: return g_bVividLightShader != 0; - case EffectMode_HardMix: return g_hHardMixShader != 0; - case EffectMode_Overlay: return g_hOverlayShader != 0; - case EffectMode_Screen: return g_hScreenShader != 0; - case EffectMode_YUYV422: return g_hYUYV422Shader != 0; + case EffectMode_Normal: return true; + case EffectMode_Unpremultiply: return g_bUnpremultiplyShader != 0; + case EffectMode_ColorBurn: return g_bColorBurnShader != 0; + case EffectMode_ColorDodge: return g_bColorDodgeShader != 0; + case EffectMode_VividLight: return g_bVividLightShader != 0; + case EffectMode_HardMix: return g_hHardMixShader != 0; + case EffectMode_Overlay: return g_hOverlayShader != 0; + case EffectMode_Screen: return g_hScreenShader != 0; + case EffectMode_YUYV422: return g_hYUYV422Shader != 0; + default: return false; } - - return false; } void RageDisplay_Legacy::SetBlendMode( BlendMode mode ) @@ -2648,11 +2649,9 @@ void RageDisplay_Legacy::SetSphereEnvironmentMapping(TextureUnit tu, bool b) } } -GLint iCelTexture1, iCelTexture2 = 0; - void RageDisplay_Legacy::SetCelShaded( int stage ) { - if (!GLEW_ARB_fragment_program && !GL_ARB_shading_language_100) + if (!GLEW_ARB_fragment_shader) return; // not supported switch (stage) diff --git a/src/RageSound.cpp b/src/RageSound.cpp index f114329fbc..0d0dc575b9 100644 --- a/src/RageSound.cpp +++ b/src/RageSound.cpp @@ -576,15 +576,16 @@ void RageSound::ApplyParams() switch( GetStopMode() ) { - case RageSoundParams::M_LOOP: - m_pSource->SetProperty( "Loop", 1.0f ); - break; - case RageSoundParams::M_STOP: - m_pSource->SetProperty( "Stop", 1.0f ); - break; - case RageSoundParams::M_CONTINUE: - m_pSource->SetProperty( "Continue", 1.0f ); - break; + case RageSoundParams::M_LOOP: + m_pSource->SetProperty( "Loop", 1.0f ); + break; + case RageSoundParams::M_STOP: + m_pSource->SetProperty( "Stop", 1.0f ); + break; + case RageSoundParams::M_CONTINUE: + m_pSource->SetProperty( "Continue", 1.0f ); + break; + default: break; } } diff --git a/src/RageSoundReader_FileReader.cpp b/src/RageSoundReader_FileReader.cpp index 85ff85346d..5c43fc080b 100644 --- a/src/RageSoundReader_FileReader.cpp +++ b/src/RageSoundReader_FileReader.cpp @@ -67,17 +67,18 @@ RageSoundReader_FileReader *RageSoundReader_FileReader::TryOpenFile( RageFileBas bKeepTrying = (ret != OPEN_FATAL_ERROR); switch( ret ) { - case OPEN_UNKNOWN_FILE_FORMAT: - bKeepTrying = true; - error = "Unknown file format"; - break; + case OPEN_UNKNOWN_FILE_FORMAT: + bKeepTrying = true; + error = "Unknown file format"; + break; - case OPEN_FATAL_ERROR: - /* The file matched, but failed to load. We know it's this type of data; - * don't bother trying the other file types. */ - bKeepTrying = false; - error = err; - break; + case OPEN_FATAL_ERROR: + /* The file matched, but failed to load. We know it's this type of data; + * don't bother trying the other file types. */ + bKeepTrying = false; + error = err; + break; + default: break; } return NULL; diff --git a/src/RageSurface_Load.cpp b/src/RageSurface_Load.cpp index 3d332a90c4..aa23902358 100644 --- a/src/RageSurface_Load.cpp +++ b/src/RageSurface_Load.cpp @@ -57,16 +57,17 @@ static RageSurface *TryOpenFile( RString sPath, bool bHeaderOnly, RString &error bKeepTrying = (result != RageSurfaceUtils::OPEN_FATAL_ERROR); switch( result ) { - case RageSurfaceUtils::OPEN_UNKNOWN_FILE_FORMAT: - bKeepTrying = true; - error = "Unknown file format"; - break; + case RageSurfaceUtils::OPEN_UNKNOWN_FILE_FORMAT: + bKeepTrying = true; + error = "Unknown file format"; + break; - case RageSurfaceUtils::OPEN_FATAL_ERROR: - /* The file matched, but failed to load. We know it's this type of data; - * don't bother trying the other file types. */ - bKeepTrying = false; - break; + case RageSurfaceUtils::OPEN_FATAL_ERROR: + /* The file matched, but failed to load. We know it's this type of data; + * don't bother trying the other file types. */ + bKeepTrying = false; + break; + default: break; } return NULL; diff --git a/src/RageUtil.cpp b/src/RageUtil.cpp index d72a4780dd..bcfadb1720 100644 --- a/src/RageUtil.cpp +++ b/src/RageUtil.cpp @@ -1731,6 +1731,13 @@ bool StringToFloat( const RString &sString, float &fOut ) return sString.size() && *endPtr == '\0' && isfinite( fOut ); } +RString FloatToString( const float &num ) +{ + stringstream ss; + ss << num; + return ss.str(); +} + const wchar_t INVALID_CHAR = 0xFFFD; /* U+FFFD REPLACEMENT CHARACTER */ wstring RStringToWstring( const RString &s ) diff --git a/src/RageUtil.h b/src/RageUtil.h index 17f4d24f0e..e3a83e576f 100644 --- a/src/RageUtil.h +++ b/src/RageUtil.h @@ -416,6 +416,7 @@ int StringToInt( const RString &sString ); * @return the string we are after. */ RString IntToString( const int &iNum ); float StringToFloat( const RString &sString ); +RString FloatToString( const float &num ); bool StringToFloat( const RString &sString, float &fOut ); RString WStringToRString( const wstring &sString ); diff --git a/src/ScoreKeeperNormal.cpp b/src/ScoreKeeperNormal.cpp index 07b2cbd213..695c640a28 100644 --- a/src/ScoreKeeperNormal.cpp +++ b/src/ScoreKeeperNormal.cpp @@ -429,14 +429,14 @@ void ScoreKeeperNormal::HandleTapNoteScoreInternal( TapNoteScore tns, TapNoteSco // update judged row totals. Respect Combo segments here. TimingData &td = GAMESTATE->m_pCurSteps[m_pPlayerState->m_PlayerNumber]->m_Timing; - ComboSegment &cs = td.GetComboSegmentAtRow(row); + ComboSegment *cs = td.GetComboSegmentAtRow(row); if (tns == TNS_CheckpointHit || tns >= m_MinScoreToContinueCombo) { - m_pPlayerStageStats->m_iTapNoteScores[tns] += cs.GetCombo(); + m_pPlayerStageStats->m_iTapNoteScores[tns] += cs->GetCombo(); } else if (tns == TNS_CheckpointMiss || tns < m_MinScoreToMaintainCombo) { - m_pPlayerStageStats->m_iTapNoteScores[tns] += cs.GetMissCombo(); + m_pPlayerStageStats->m_iTapNoteScores[tns] += cs->GetMissCombo(); } else { @@ -464,13 +464,13 @@ void ScoreKeeperNormal::HandleComboInternal( int iNumHitContinueCombo, int iNumH TimingData td = GAMESTATE->m_pCurSteps[m_pPlayerState->m_PlayerNumber]->m_Timing; if( iNumBreakCombo == 0 ) { - int multiplier = ( iRow == -1 ? 1 : td.GetComboSegmentAtRow( iRow ).GetCombo() ); + int multiplier = ( iRow == -1 ? 1 : td.GetComboSegmentAtRow( iRow )->GetCombo() ); m_pPlayerStageStats->m_iCurCombo += iNumHitContinueCombo * multiplier; } else { m_pPlayerStageStats->m_iCurCombo = 0; - int multiplier = ( iRow == -1 ? 1 : td.GetComboSegmentAtRow(iRow).GetMissCombo()); + int multiplier = ( iRow == -1 ? 1 : td.GetComboSegmentAtRow(iRow)->GetMissCombo()); m_pPlayerStageStats->m_iCurMissCombo += ( m_MissComboIsPerRow ? 1 : iNumBreakCombo ) * multiplier; } } @@ -485,7 +485,7 @@ void ScoreKeeperNormal::HandleRowComboInternal( TapNoteScore tns, int iNumTapsIn if ( tns >= m_MinScoreToContinueCombo ) { m_pPlayerStageStats->m_iCurMissCombo = 0; - int multiplier = ( iRow == -1 ? 1 : td.GetComboSegmentAtRow( iRow ).GetCombo() ); + int multiplier = ( iRow == -1 ? 1 : td.GetComboSegmentAtRow( iRow )->GetCombo() ); m_pPlayerStageStats->m_iCurCombo += iNumTapsInRow * multiplier; } else if ( tns < m_MinScoreToMaintainCombo ) @@ -494,7 +494,7 @@ void ScoreKeeperNormal::HandleRowComboInternal( TapNoteScore tns, int iNumTapsIn if( tns <= m_MaxScoreToIncrementMissCombo ) { - int multiplier = ( iRow == -1 ? 1 : td.GetComboSegmentAtRow(iRow).GetMissCombo()); + int multiplier = ( iRow == -1 ? 1 : td.GetComboSegmentAtRow(iRow)->GetMissCombo()); m_pPlayerStageStats->m_iCurMissCombo += ( m_MissComboIsPerRow ? 1 : iNumTapsInRow ) * multiplier; } } diff --git a/src/ScoreKeeperRave.cpp b/src/ScoreKeeperRave.cpp index 6b3b68107b..22d2e82706 100644 --- a/src/ScoreKeeperRave.cpp +++ b/src/ScoreKeeperRave.cpp @@ -83,7 +83,10 @@ void ScoreKeeperRave::HandleHoldScore( const TapNote &tn ) float fPercentToMove = 0; switch( tapScore ) { - case TNS_HitMine: fPercentToMove = g_fSuperMeterPercentChange[SE_HitMine]; break; + case TNS_HitMine: + fPercentToMove = g_fSuperMeterPercentChange[SE_HitMine]; + default: + break; } AddSuperMeterDelta( fPercentToMove ); } diff --git a/src/Screen.cpp b/src/Screen.cpp index 80624afae2..ba91803110 100644 --- a/src/Screen.cpp +++ b/src/Screen.cpp @@ -226,6 +226,7 @@ void Screen::Input( const InputEventPlus &input ) case GAME_BUTTON_START: this->MenuStart ( input ); return; case GAME_BUTTON_SELECT:this->MenuSelect( input ); return; case GAME_BUTTON_COIN: this->MenuCoin ( input ); return; + default: return; } } diff --git a/src/ScreenAttract.cpp b/src/ScreenAttract.cpp index ac16f7a5fb..c5777804b8 100644 --- a/src/ScreenAttract.cpp +++ b/src/ScreenAttract.cpp @@ -75,34 +75,36 @@ void ScreenAttract::AttractInput( const InputEventPlus &input, ScreenWithMenuEle switch( input.MenuI ) { - case GAME_BUTTON_BACK: - if( !(bool)BACK_GOES_TO_START_SCREEN ) - break; - // fall through - case GAME_BUTTON_START: - case GAME_BUTTON_COIN: - switch( GAMESTATE->GetCoinMode() ) - { - case CoinMode_Pay: - LOG->Trace("ScreenAttract::AttractInput: COIN_PAY (%i/%i, %i)", GAMESTATE->m_iCoins.Get(), PREFSMAN->m_iCoinsPerCredit.Get(), GAMESTATE->GetNumSidesJoined() ); - if( GAMESTATE->m_iCoins < PREFSMAN->m_iCoinsPerCredit && GAMESTATE->GetNumSidesJoined() == 0 ) - break; // don't fall through + case GAME_BUTTON_BACK: + if( !BACK_GOES_TO_START_SCREEN ) + break; // fall through - case CoinMode_Home: - case CoinMode_Free: - if( pScreen->IsTransitioning() ) - return; + case GAME_BUTTON_START: + case GAME_BUTTON_COIN: + switch( GAMESTATE->GetCoinMode() ) + { + case CoinMode_Pay: + LOG->Trace("ScreenAttract::AttractInput: COIN_PAY (%i/%i, %i)", + GAMESTATE->m_iCoins.Get(), + PREFSMAN->m_iCoinsPerCredit.Get(), + GAMESTATE->GetNumSidesJoined() ); + if( GAMESTATE->m_iCoins < PREFSMAN->m_iCoinsPerCredit && GAMESTATE->GetNumSidesJoined() == 0 ) + break; // don't fall through + // fall through + case CoinMode_Home: + case CoinMode_Free: + if( pScreen->IsTransitioning() ) + return; - // HandleGlobalInputs() already played the coin sound. Don't play it again. - if( input.MenuI != GAME_BUTTON_COIN ) - SCREENMAN->PlayStartSound(); + // HandleGlobalInputs() already played the coin sound. Don't play it again. + if( input.MenuI != GAME_BUTTON_COIN ) + SCREENMAN->PlayStartSound(); - pScreen->Cancel( SM_GoToStartScreen ); - break; - default: - ASSERT(0); - } - break; + pScreen->Cancel( SM_GoToStartScreen ); + break; + default: FAIL_M("Invalid Coin Mode! Aborting..."); + } + default: break; } if( pScreen->IsTransitioning() ) @@ -110,10 +112,11 @@ void ScreenAttract::AttractInput( const InputEventPlus &input, ScreenWithMenuEle switch( input.MenuI ) { - case GAME_BUTTON_LEFT: - case GAME_BUTTON_RIGHT: - SCREENMAN->PostMessageToTopScreen( SM_BeginFadingOut, 0 ); - break; + case GAME_BUTTON_LEFT: + case GAME_BUTTON_RIGHT: + SCREENMAN->PostMessageToTopScreen( SM_BeginFadingOut, 0 ); + default: + break; } // Screen::Input( input ); diff --git a/src/ScreenContinue.cpp b/src/ScreenContinue.cpp index c9da2e45fa..4c8d0cbbfb 100644 --- a/src/ScreenContinue.cpp +++ b/src/ScreenContinue.cpp @@ -63,18 +63,21 @@ void ScreenContinue::Input( const InputEventPlus &input ) { switch( input.MenuI ) { - case GAME_BUTTON_START: - case GAME_BUTTON_UP: - case GAME_BUTTON_DOWN: - case GAME_BUTTON_LEFT: - case GAME_BUTTON_RIGHT: - float fSeconds = floorf(m_MenuTimer->GetSeconds()) - 0.0001f; - fSeconds = max( fSeconds, 0.0001f ); // don't set to 0 - m_MenuTimer->SetSeconds( fSeconds ); - Message msg("HurryTimer"); - msg.SetParam( "PlayerNumber", input.pn ); - this->HandleMessage( msg ); - return; // handled + case GAME_BUTTON_START: + case GAME_BUTTON_UP: + case GAME_BUTTON_DOWN: + case GAME_BUTTON_LEFT: + case GAME_BUTTON_RIGHT: + { + float fSeconds = floorf(m_MenuTimer->GetSeconds()) - 0.0001f; + fSeconds = max( fSeconds, 0.0001f ); // don't set to 0 + m_MenuTimer->SetSeconds( fSeconds ); + Message msg("HurryTimer"); + msg.SetParam( "PlayerNumber", input.pn ); + this->HandleMessage( msg ); + return; // handled + } + default: break; } } diff --git a/src/ScreenDebugOverlay.cpp b/src/ScreenDebugOverlay.cpp index e6c731fa2c..4b698123b7 100644 --- a/src/ScreenDebugOverlay.cpp +++ b/src/ScreenDebugOverlay.cpp @@ -813,12 +813,11 @@ class DebugLineProfileSlot : public IDebugLine { switch( g_ProfileSlot ) { - case ProfileSlot_Machine: return "Machine"; - case ProfileSlot_Player1: return "Player 1"; - case ProfileSlot_Player2: return "Player 2"; + case ProfileSlot_Machine: return "Machine"; + case ProfileSlot_Player1: return "Player 1"; + case ProfileSlot_Player2: return "Player 2"; + default: return RString(); } - - return RString(); } virtual bool IsEnabled() { return IsSelectProfilePersistent(); } virtual RString GetPageName() const { return "Profiles"; } diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index f0dacde5c0..600dd013d1 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -257,6 +257,7 @@ void ScreenEdit::InitEditMappings() m_EditMappingsDeviceInput.hold[EDIT_BUTTON_DELETE_SHIFT_PAUSES][0] = DeviceInput(DEVICE_KEYBOARD, KEY_LCTRL); m_EditMappingsDeviceInput.hold[EDIT_BUTTON_DELETE_SHIFT_PAUSES][1] = DeviceInput(DEVICE_KEYBOARD, KEY_RCTRL); break; + default: break; } m_EditMappingsDeviceInput.button[EDIT_BUTTON_COLUMN_0][0] = DeviceInput(DEVICE_KEYBOARD, KEY_C1); @@ -812,7 +813,7 @@ void ScreenEdit::Init() InitEditMappings(); - currentCycleSegment = "label"; + currentCycleSegment = SEGMENT_LABEL; // save the originals for reverting later CopyToLastSave(); @@ -1261,7 +1262,7 @@ void ScreenEdit::UpdateTextInfo() sText += ssprintf( MAIN_TITLE_FORMAT.GetValue(), MAIN_TITLE.GetValue().c_str(), m_pSong->m_sMainTitle.c_str() ); if( m_pSong->m_sSubTitle.size() ) sText += ssprintf( SUBTITLE_FORMAT.GetValue(), SUBTITLE.GetValue().c_str(), m_pSong->m_sSubTitle.c_str() ); - sText += ssprintf( SEGMENT_TYPE_FORMAT.GetValue(), SEGMENT_TYPE.GetValue().c_str(), currentCycleSegment.c_str() ); + sText += ssprintf( SEGMENT_TYPE_FORMAT.GetValue(), SEGMENT_TYPE.GetValue().c_str(), TimingSegmentTypeToString(currentCycleSegment).c_str() ); sText += ssprintf( TAP_NOTE_TYPE_FORMAT.GetValue(), TAP_NOTE_TYPE.GetValue().c_str(), TapNoteTypeToString( m_selectedTap.type ).c_str() ); break; } @@ -1465,7 +1466,7 @@ void ScreenEdit::InputEdit( const InputEventPlus &input, EditButton EditB ) } TimingData &sTiming = GetAppropriateTiming(); float playerBeat = GetAppropriatePosition().m_fSongBeat; - int beatsPerMeasure = sTiming.GetTimeSignatureSegmentAtBeat( playerBeat ).GetNum(); + int beatsPerMeasure = sTiming.GetTimeSignatureSegmentAtBeat( playerBeat )->GetNum(); switch( EditB ) { @@ -1559,60 +1560,15 @@ void ScreenEdit::InputEdit( const InputEventPlus &input, EditButton EditB ) } case EDIT_BUTTON_CYCLE_SEGMENT_LEFT: { - if (this->currentCycleSegment == "label") - this->currentCycleSegment = "fake"; - else if (this->currentCycleSegment == "fake") - this->currentCycleSegment = "scroll"; - else if (this->currentCycleSegment == "scroll") - this->currentCycleSegment = "speed"; - else if (this->currentCycleSegment == "speed") - this->currentCycleSegment = "combo"; - else if (this->currentCycleSegment == "combo") - this->currentCycleSegment = "tickcount"; - else if (this->currentCycleSegment == "tickcount") - this->currentCycleSegment = "timeSig"; - else if (this->currentCycleSegment == "timeSig") - this->currentCycleSegment = "warp"; - else if (this->currentCycleSegment == "warp") - this->currentCycleSegment = "delay"; - else if (this->currentCycleSegment == "delay") - this->currentCycleSegment = "stop"; - else if (this->currentCycleSegment == "stop") - this->currentCycleSegment = "bpm"; - else if (this->currentCycleSegment == "bpm") - this->currentCycleSegment = "label"; - // fallback gracefully instead of assert. - else this->currentCycleSegment = "label"; + int tmp = enum_add2( this->currentCycleSegment, -1 ); + wrap( *ConvertValue(&tmp), NUM_TimingSegmentType ); break; } case EDIT_BUTTON_CYCLE_SEGMENT_RIGHT: { - if (this->currentCycleSegment == "label") - this->currentCycleSegment = "bpm"; - else if (this->currentCycleSegment == "bpm") - this->currentCycleSegment = "stop"; - else if (this->currentCycleSegment == "stop") - this->currentCycleSegment = "delay"; - else if (this->currentCycleSegment == "delay") - this->currentCycleSegment = "warp"; - else if (this->currentCycleSegment == "warp") - this->currentCycleSegment = "timeSig"; - else if (this->currentCycleSegment == "timeSig") - this->currentCycleSegment = "tickcount"; - else if (this->currentCycleSegment == "tickcount") - this->currentCycleSegment = "combo"; - else if (this->currentCycleSegment == "combo") - this->currentCycleSegment = "speed"; - else if (this->currentCycleSegment == "speed") - this->currentCycleSegment = "scroll"; - else if (this->currentCycleSegment == "scroll") - this->currentCycleSegment = "fake"; - else if (this->currentCycleSegment == "fake") - this->currentCycleSegment = "label"; - // fallback gracefully instead of assert. - else this->currentCycleSegment = "label"; - break; - } + int tmp = enum_add2( this->currentCycleSegment, +1 ); + wrap( *ConvertValue(&tmp), NUM_TimingSegmentType ); + break; } case EDIT_BUTTON_SCROLL_SPEED_UP: case EDIT_BUTTON_SCROLL_SPEED_DOWN: { @@ -1729,56 +1685,18 @@ void ScreenEdit::InputEdit( const InputEventPlus &input, EditButton EditB ) break; case EDIT_BUTTON_SEGMENT_NEXT: { + // TODO: Work around Stops and Delays. We MAY have to separate them. TimingData &timing = GetAppropriateTiming(); - if (this->currentCycleSegment == "label") - ScrollTo(timing.GetNextLabelSegmentBeatAtBeat(GetBeat())); - else if (this->currentCycleSegment == "bpm") - ScrollTo(timing.GetNextBPMSegmentBeatAtBeat(GetBeat())); - else if (this->currentCycleSegment == "stop") - ScrollTo(timing.GetNextStopSegmentBeatAtBeat(GetBeat())); - else if (this->currentCycleSegment == "delay") - ScrollTo(timing.GetNextDelaySegmentBeatAtBeat(GetBeat())); - else if (this->currentCycleSegment == "warp") - ScrollTo(timing.GetNextWarpSegmentBeatAtBeat(GetBeat())); - else if (this->currentCycleSegment == "timeSig") - ScrollTo(timing.GetNextTimeSignatureSegmentBeatAtBeat(GetBeat())); - else if (this->currentCycleSegment == "tickcount") - ScrollTo(timing.GetNextTickcountSegmentBeatAtBeat(GetBeat())); - else if (this->currentCycleSegment == "combo") - ScrollTo(timing.GetNextComboSegmentBeatAtBeat(GetBeat())); - else if (this->currentCycleSegment == "speed") - ScrollTo(timing.GetNextSpeedSegmentBeatAtBeat(GetBeat())); - else if (this->currentCycleSegment == "scroll") - ScrollTo(timing.GetNextScrollSegmentBeatAtBeat(GetBeat())); - else if (this->currentCycleSegment == "fake") - ScrollTo(timing.GetNextFakeSegmentBeatAtBeat(GetBeat())); + ScrollTo(timing.GetNextSegmentBeatAtBeat(this->currentCycleSegment, + GetBeat())); } break; case EDIT_BUTTON_SEGMENT_PREV: { + // TODO: Work around Stops and Delays. We MAY have to separate them. TimingData &timing = GetAppropriateTiming(); - if (this->currentCycleSegment == "label") - ScrollTo(timing.GetPreviousLabelSegmentBeatAtBeat(GetBeat())); - else if (this->currentCycleSegment == "bpm") - ScrollTo(timing.GetPreviousBPMSegmentBeatAtBeat(GetBeat())); - else if (this->currentCycleSegment == "stop") - ScrollTo(timing.GetPreviousStopSegmentBeatAtBeat(GetBeat())); - else if (this->currentCycleSegment == "delay") - ScrollTo(timing.GetPreviousDelaySegmentBeatAtBeat(GetBeat())); - else if (this->currentCycleSegment == "warp") - ScrollTo(timing.GetPreviousWarpSegmentBeatAtBeat(GetBeat())); - else if (this->currentCycleSegment == "timeSig") - ScrollTo(timing.GetPreviousTimeSignatureSegmentBeatAtBeat(GetBeat())); - else if (this->currentCycleSegment == "tickcount") - ScrollTo(timing.GetPreviousTickcountSegmentBeatAtBeat(GetBeat())); - else if (this->currentCycleSegment == "combo") - ScrollTo(timing.GetPreviousComboSegmentBeatAtBeat(GetBeat())); - else if (this->currentCycleSegment == "speed") - ScrollTo(timing.GetPreviousSpeedSegmentBeatAtBeat(GetBeat())); - else if (this->currentCycleSegment == "scroll") - ScrollTo(timing.GetPreviousScrollSegmentBeatAtBeat(GetBeat())); - else if (this->currentCycleSegment == "fake") - ScrollTo(timing.GetPreviousFakeSegmentBeatAtBeat(GetBeat())); + ScrollTo(timing.GetPreviousSegmentBeatAtBeat(this->currentCycleSegment, + GetBeat())); } break; case EDIT_BUTTON_SNAP_NEXT: @@ -1972,24 +1890,26 @@ void ScreenEdit::InputEdit( const InputEventPlus &input, EditButton EditB ) fDelta *= 40; } unsigned i; - for( i=0; i &stops = GetAppropriateTiming().allTimingSegments[SEGMENT_STOP_DELAY]; + for( i=0; iGetRow() == GetRow() ) break; } - if( i == GetAppropriateTiming().m_StopSegments.size() ) // there is no StopSegment at the current beat + if( i == stops.size() ) // there is no StopSegment at the current beat { // create a new StopSegment if( fDelta > 0 ) - GetAppropriateTiming().AddStopSegment( StopSegment( GetRow(), fDelta) ); + GetAppropriateTiming().AddSegment(SEGMENT_STOP_DELAY, + new StopSegment( GetRow(), fDelta) ); } else // StopSegment being modified is m_SongTiming.m_StopSegments[i] { - vector &s = GetAppropriateTiming().m_StopSegments; - s[i].SetPause(s[i].GetPause() + fDelta); - if( s[i].GetPause() <= 0 ) - s.erase( s.begin()+i, s.begin()+i+1); + StopSegment *s = static_cast(stops[i]); + s->SetPause(s->GetPause() + fDelta); + if( s->GetPause() <= 0 ) + stops.erase( stops.begin()+i, stops.begin()+i+1); } (fDelta>0 ? m_soundValueIncrease : m_soundValueDecrease).Play(); SetDirty( true ); @@ -2468,6 +2388,7 @@ void ScreenEdit::InputEdit( const InputEventPlus &input, EditButton EditB ) GAMESTATE->m_bIsUsingStepTiming = !GAMESTATE->m_bIsUsingStepTiming; m_soundSwitchTiming.Play(); break; + default: break; } } @@ -2575,6 +2496,7 @@ void ScreenEdit::InputRecordPaused( const InputEventPlus &input, EditButton Edit case EDIT_BUTTON_RETURN_TO_EDIT: TransitionEditState( STATE_EDITING ); break; + default: break; } } @@ -2623,6 +2545,7 @@ void ScreenEdit::InputPlay( const InputEventPlus &input, EditButton EditB ) } } break; + default: break; } } @@ -2665,6 +2588,7 @@ void ScreenEdit::InputPlay( const InputEventPlus &input, EditButton EditB ) } } break; + default: break; } } } @@ -2731,6 +2655,7 @@ void ScreenEdit::TransitionEditState( EditState em ) CheckNumberOfNotesAndUndo(); break; + default: break; } } @@ -2831,6 +2756,7 @@ void ScreenEdit::TransitionEditState( EditState em ) m_NoteFieldRecord.m_iEndMarker = m_iStopPlayingAt; break; + default: break; } // Show/hide depending on edit state (em) @@ -2857,6 +2783,7 @@ void ScreenEdit::TransitionEditState( EditState em ) { case STATE_PLAYING: case STATE_RECORDING: + { const float fStartSeconds = GetAppropriateTiming().GetElapsedTimeFromBeat( GetBeat() ); LOG->Trace( "Starting playback at %f", fStartSeconds ); @@ -2867,6 +2794,8 @@ void ScreenEdit::TransitionEditState( EditState em ) m_pSoundMusic->SetProperty( "AccurateSync", true ); m_pSoundMusic->Play( &p ); break; + } + default: break; } m_EditState = em; @@ -3646,7 +3575,7 @@ void ScreenEdit::DisplayTimingMenu() { float fBeat = GetBeat(); TimingData &pTime = GetAppropriateTiming(); - bool bHasSpeedOnThisRow = pTime.GetSpeedSegmentAtBeat( fBeat ).GetBeat() == fBeat; + bool bHasSpeedOnThisRow = pTime.GetSpeedSegmentAtBeat( fBeat )->GetBeat() == fBeat; g_TimingDataInformation.rows[beat_0_offset].SetOneUnthemedChoice( ssprintf("%.6f", pTime.m_fBeat0OffsetInSeconds) ); g_TimingDataInformation.rows[bpm].SetOneUnthemedChoice( ssprintf("%.6f", pTime.GetBPMAtBeat( fBeat ) ) ); @@ -4316,6 +4245,7 @@ void ScreenEdit::HandleAlterMenuChoice(AlterMenuChoice c, const vector &iAn } break; } + default: break; } } @@ -4589,6 +4519,7 @@ void ScreenEdit::HandleSongInformationChoice( SongInformationChoice c, const vec ssprintf("%.6f", pSong->m_fSpecifiedBPMMax), 20, ScreenTextEntry::FloatValidate, ChangeMaxBPM, NULL ); break; + default: break; }; SetDirty(true); } @@ -4645,11 +4576,11 @@ void ScreenEdit::HandleTimingDataInformationChoice( TimingDataInformationChoice break; case time_signature: { - TimeSignatureSegment &ts = GetAppropriateTiming().GetTimeSignatureSegmentAtBeat( GetBeat() ); + TimeSignatureSegment * ts = GetAppropriateTiming().GetTimeSignatureSegmentAtBeat( GetBeat() ); ScreenTextEntry::TextEntry( SM_BackFromTimeSignatureChange, ENTER_TIME_SIGNATURE_VALUE, - ssprintf( "%d/%d", ts.GetNum(), ts.GetDen() ), + ssprintf( "%d/%d", ts->GetNum(), ts->GetDen() ), 8 ); break; @@ -4664,12 +4595,12 @@ void ScreenEdit::HandleTimingDataInformationChoice( TimingDataInformationChoice break; case combo: { - ComboSegment &cs = GetAppropriateTiming().GetComboSegmentAtBeat(GetBeat()); + ComboSegment *cs = GetAppropriateTiming().GetComboSegmentAtBeat(GetBeat()); ScreenTextEntry::TextEntry(SM_BackFromComboChange, ENTER_COMBO_VALUE, ssprintf( "%d/%d", - cs.GetCombo(), - cs.GetMissCombo()), + cs->GetCombo(), + cs->GetMissCombo()), 7); break; } @@ -4693,7 +4624,7 @@ void ScreenEdit::HandleTimingDataInformationChoice( TimingDataInformationChoice ScreenTextEntry::TextEntry( SM_BackFromSpeedPercentChange, ENTER_SPEED_PERCENT_VALUE, - ssprintf( "%.6f", GetAppropriateTiming().GetSpeedSegmentAtBeat( GetBeat() ).GetRatio() ), + ssprintf( "%.6f", GetAppropriateTiming().GetSpeedSegmentAtBeat( GetBeat() )->GetRatio() ), 10 ); break; @@ -4701,7 +4632,7 @@ void ScreenEdit::HandleTimingDataInformationChoice( TimingDataInformationChoice ScreenTextEntry::TextEntry( SM_BackFromScrollChange, ENTER_SCROLL_VALUE, - ssprintf( "%.6f", GetAppropriateTiming().GetScrollSegmentAtBeat( GetBeat() ).GetRatio() ), + ssprintf( "%.6f", GetAppropriateTiming().GetScrollSegmentAtBeat( GetBeat() )->GetRatio() ), 10 ); break; @@ -4709,7 +4640,7 @@ void ScreenEdit::HandleTimingDataInformationChoice( TimingDataInformationChoice ScreenTextEntry::TextEntry( SM_BackFromSpeedWaitChange, ENTER_SPEED_WAIT_VALUE, - ssprintf( "%.6f", GetAppropriateTiming().GetSpeedSegmentAtBeat( GetBeat() ).GetLength() ), + ssprintf( "%.6f", GetAppropriateTiming().GetSpeedSegmentAtBeat( GetBeat() )->GetLength() ), 10 ); break; @@ -4980,8 +4911,8 @@ void ScreenEdit::CheckNumberOfNotesAndUndo() if( EDIT_MODE.GetValue() != EditMode_Home ) return; - TimeSignatureSegment &curTime = GAMESTATE->m_pCurSong->m_SongTiming.GetTimeSignatureSegmentAtBeat( GAMESTATE->m_pPlayerState[PLAYER_1]->m_Position.m_fSongBeat ); - int rowsPerMeasure = curTime.GetDen() * curTime.GetNum(); + TimeSignatureSegment * curTime = GAMESTATE->m_pCurSong->m_SongTiming.GetTimeSignatureSegmentAtBeat( GAMESTATE->m_pPlayerState[PLAYER_1]->m_Position.m_fSongBeat ); + int rowsPerMeasure = curTime->GetDen() * curTime->GetNum(); for( int row=0; row<=m_NoteDataEdit.GetLastRow(); row+=rowsPerMeasure ) { @@ -5035,7 +4966,7 @@ float ScreenEdit::GetMaximumBeatForNewNote() const * beats. */ TimingData &timing = s.m_SongTiming; float playerBeat = GetAppropriatePosition().m_fSongBeat; - int beatsPerMeasure = timing.GetTimeSignatureSegmentAtBeat( playerBeat ).GetNum(); + int beatsPerMeasure = timing.GetTimeSignatureSegmentAtBeat( playerBeat )->GetNum(); fEndBeat += beatsPerMeasure; fEndBeat = ftruncf( fEndBeat, (float)beatsPerMeasure ); diff --git a/src/ScreenEdit.h b/src/ScreenEdit.h index 6aa9954500..f2e8c66212 100644 --- a/src/ScreenEdit.h +++ b/src/ScreenEdit.h @@ -286,7 +286,7 @@ protected: TapNote m_selectedTap; /** @brief The type of segment users will jump back and forth between. */ - RString currentCycleSegment; + TimingSegmentType currentCycleSegment; void UpdateTextInfo(); BitmapText m_textInfo; // status information that changes diff --git a/src/ScreenEditMenu.cpp b/src/ScreenEditMenu.cpp index 37aba49e5c..f11da45efd 100644 --- a/src/ScreenEditMenu.cpp +++ b/src/ScreenEditMenu.cpp @@ -193,33 +193,38 @@ void ScreenEditMenu::MenuStart( const InputEventPlus &input ) switch( m_Selector.EDIT_MODE ) { - case EditMode_Full: - { - RString sDir = pSong->GetSongDir(); - RString sTempFile = sDir + TEMP_FILE_NAME; - RageFile file; - if( !file.Open( sTempFile, RageFile::WRITE ) ) + case EditMode_Full: { - ScreenPrompt::Prompt( SM_None, SONG_DIR_READ_ONLY ); - return; - } + RString sDir = pSong->GetSongDir(); + RString sTempFile = sDir + TEMP_FILE_NAME; + RageFile file; + if( !file.Open( sTempFile, RageFile::WRITE ) ) + { + ScreenPrompt::Prompt( SM_None, SONG_DIR_READ_ONLY ); + return; + } - file.Close(); - FILEMAN->Remove( sTempFile ); - break; - } + file.Close(); + FILEMAN->Remove( sTempFile ); + break; + } + default: + break; } switch( action ) { - case EditMenuAction_Delete: - ASSERT( pSteps ); - if( pSteps->IsAutogen() ) + case EditMenuAction_Delete: { - SCREENMAN->PlayInvalidSound(); - SCREENMAN->SystemMessage( DELETED_AUTOGEN_STEPS.GetValue() ); - return; + ASSERT( pSteps ); + if( pSteps->IsAutogen() ) + { + SCREENMAN->PlayInvalidSound(); + SCREENMAN->SystemMessage( DELETED_AUTOGEN_STEPS.GetValue() ); + return; + } } + default: break; } // Do work diff --git a/src/ScreenEnding.cpp b/src/ScreenEnding.cpp index 18b37a5ca8..31b92250f0 100644 --- a/src/ScreenEnding.cpp +++ b/src/ScreenEnding.cpp @@ -93,10 +93,11 @@ void ScreenEnding::Init() m_sprRemoveMemoryCard[p].Load( THEME->GetPathG("ScreenEnding",ssprintf("remove card P%d",p+1)) ); switch( MEMCARDMAN->GetCardState(p) ) { - case MemoryCardState_Removed: - case MemoryCardState_NoCard: - m_sprRemoveMemoryCard[p].SetVisible( false ); - break; + case MemoryCardState_Removed: + case MemoryCardState_NoCard: + m_sprRemoveMemoryCard[p].SetVisible( false ); + default: + break; } LOAD_ALL_COMMANDS_AND_SET_XY_AND_ON_COMMAND( m_sprRemoveMemoryCard[p] ); this->AddChild( &m_sprRemoveMemoryCard[p] ); @@ -114,9 +115,10 @@ void ScreenEnding::Input( const InputEventPlus &input ) { switch( input.MenuI ) { - case GAME_BUTTON_START: - SCREENMAN->PostMessageToTopScreen( SM_BeginFadingOut, 0 ); - break; + case GAME_BUTTON_START: + SCREENMAN->PostMessageToTopScreen( SM_BeginFadingOut, 0 ); + default: + break; } } diff --git a/src/ScreenEvaluation.cpp b/src/ScreenEvaluation.cpp index 654f1d0bb5..8d3a55d541 100644 --- a/src/ScreenEvaluation.cpp +++ b/src/ScreenEvaluation.cpp @@ -182,25 +182,26 @@ void ScreenEvaluation::Init() { switch( rc ) { - case RadarCategory_Stream: - case RadarCategory_Voltage: - case RadarCategory_Air: - case RadarCategory_Freeze: - case RadarCategory_Chaos: - ss.m_player[p].m_radarPossible[rc] = randomf( 0, 1 ); - ss.m_player[p].m_radarActual[rc] = randomf( 0, ss.m_player[p].m_radarPossible[rc] ); - break; - case RadarCategory_TapsAndHolds: - case RadarCategory_Jumps: - case RadarCategory_Holds: - case RadarCategory_Mines: - case RadarCategory_Hands: - case RadarCategory_Rolls: - case RadarCategory_Lifts: - case RadarCategory_Fakes: - ss.m_player[p].m_radarPossible[rc] = 1 + (rand() % 200); - ss.m_player[p].m_radarActual[rc] = rand() % (int)(ss.m_player[p].m_radarPossible[rc]); - break; + case RadarCategory_Stream: + case RadarCategory_Voltage: + case RadarCategory_Air: + case RadarCategory_Freeze: + case RadarCategory_Chaos: + ss.m_player[p].m_radarPossible[rc] = randomf( 0, 1 ); + ss.m_player[p].m_radarActual[rc] = randomf( 0, ss.m_player[p].m_radarPossible[rc] ); + break; + case RadarCategory_TapsAndHolds: + case RadarCategory_Jumps: + case RadarCategory_Holds: + case RadarCategory_Mines: + case RadarCategory_Hands: + case RadarCategory_Rolls: + case RadarCategory_Lifts: + case RadarCategory_Fakes: + ss.m_player[p].m_radarPossible[rc] = 1 + (rand() % 200); + ss.m_player[p].m_radarActual[rc] = rand() % (int)(ss.m_player[p].m_radarPossible[rc]); + break; + default: break; } ; // filled in by ScreenGameplay on start of notes @@ -651,11 +652,12 @@ void ScreenEvaluation::Init() switch( best_grade ) { - case Grade_Tier01: - case Grade_Tier02: - case Grade_Tier03: - this->PostScreenMessage( SM_PlayCheer, CHEER_DELAY_SECONDS ); - break; + case Grade_Tier01: + case Grade_Tier02: + case Grade_Tier03: + this->PostScreenMessage( SM_PlayCheer, CHEER_DELAY_SECONDS ); + default: + break; } } diff --git a/src/ScreenGameplay.cpp b/src/ScreenGameplay.cpp index 650c9c3a3f..5e9ddbf5db 100644 --- a/src/ScreenGameplay.cpp +++ b/src/ScreenGameplay.cpp @@ -151,10 +151,11 @@ void PlayerInfo::Load( PlayerNumber pn, MultiPlayer mp, bool bShowNoteField, int switch( GAMESTATE->m_PlayMode ) { - case PLAY_MODE_RAVE: - m_pSecondaryScoreDisplay = new ScoreDisplayRave; - m_pSecondaryScoreDisplay->SetName( "ScoreDisplayRave" ); - break; + case PLAY_MODE_RAVE: + m_pSecondaryScoreDisplay = new ScoreDisplayRave; + m_pSecondaryScoreDisplay->SetName( "ScoreDisplayRave" ); + default: + break; } if( m_pSecondaryScoreDisplay ) @@ -164,9 +165,10 @@ void PlayerInfo::Load( PlayerNumber pn, MultiPlayer mp, bool bShowNoteField, int switch( GAMESTATE->m_PlayMode ) { - case PLAY_MODE_RAVE: - m_pSecondaryScoreKeeper = new ScoreKeeperRave( pPlayerState, pPlayerStageStats ); - break; + case PLAY_MODE_RAVE: + m_pSecondaryScoreKeeper = new ScoreKeeperRave( pPlayerState, pPlayerStageStats ); + default: + break; } m_ptextPlayerOptions = NULL; @@ -393,9 +395,33 @@ void ScreenGameplay::Init() /* Called once per stage (single song or single course). */ GAMESTATE->BeginStage(); + int player = 1; + FOREACH_EnabledPlayerInfo( m_vPlayerInfo, pi ) + { + unsigned int count = pi->m_vpStepsQueue.size(); + + for (unsigned int i = 0; i < count; i++) + { + Steps *curSteps = pi->m_vpStepsQueue[i]; + if (curSteps->IsNoteDataEmpty()) + { + if (curSteps->GetNoteDataFromSimfile()) + { + LOG->Trace("Notes should be loaded for player %d", player); + } + else + { + LOG->Trace("Error loading notes for player %d", player); + } + } + } + player++; + } + if(!GAMESTATE->IsCourseMode() && !GAMESTATE->m_bDemonstrationOrJukebox) { // fill in difficulty of CPU players with that of the first human player + // this should not need to worry about step content. FOREACH_PotentialCpuPlayer(p) GAMESTATE->m_pCurSteps[p].Set( GAMESTATE->m_pCurSteps[ GAMESTATE->GetFirstHumanPlayer() ] ); @@ -498,13 +524,14 @@ void ScreenGameplay::Init() // Add combined life meter switch( GAMESTATE->m_PlayMode ) { - case PLAY_MODE_BATTLE: - case PLAY_MODE_RAVE: - m_pCombinedLifeMeter = new CombinedLifeMeterTug; - m_pCombinedLifeMeter->SetName( "CombinedLife" ); - LOAD_ALL_COMMANDS_AND_SET_XY( *m_pCombinedLifeMeter ); - this->AddChild( m_pCombinedLifeMeter ); - break; + case PLAY_MODE_BATTLE: + case PLAY_MODE_RAVE: + m_pCombinedLifeMeter = new CombinedLifeMeterTug; + m_pCombinedLifeMeter->SetName( "CombinedLife" ); + LOAD_ALL_COMMANDS_AND_SET_XY( *m_pCombinedLifeMeter ); + this->AddChild( m_pCombinedLifeMeter ); + default: + break; } // Before the lifemeter loads, if Networking is required @@ -517,25 +544,26 @@ void ScreenGameplay::Init() // Add individual life meter switch( GAMESTATE->m_PlayMode ) { - case PLAY_MODE_REGULAR: - case PLAY_MODE_ONI: - case PLAY_MODE_NONSTOP: - case PLAY_MODE_ENDLESS: - FOREACH_PlayerNumberInfo( m_vPlayerInfo, pi ) - { - if( !GAMESTATE->IsPlayerEnabled(pi->m_pn) && !SHOW_LIFE_METER_FOR_DISABLED_PLAYERS ) - continue; // skip + case PLAY_MODE_REGULAR: + case PLAY_MODE_ONI: + case PLAY_MODE_NONSTOP: + case PLAY_MODE_ENDLESS: + FOREACH_PlayerNumberInfo( m_vPlayerInfo, pi ) + { + if( !GAMESTATE->IsPlayerEnabled(pi->m_pn) && !SHOW_LIFE_METER_FOR_DISABLED_PLAYERS ) + continue; // skip - pi->m_pLifeMeter = LifeMeter::MakeLifeMeter( GAMESTATE->m_SongOptions.GetStage().m_LifeType ); - pi->m_pLifeMeter->Load( pi->GetPlayerState(), pi->GetPlayerStageStats() ); - pi->m_pLifeMeter->SetName( ssprintf("Life%s",pi->GetName().c_str()) ); - LOAD_ALL_COMMANDS_AND_SET_XY( pi->m_pLifeMeter ); - this->AddChild( pi->m_pLifeMeter ); - } - break; - case PLAY_MODE_BATTLE: - case PLAY_MODE_RAVE: - break; + pi->m_pLifeMeter = LifeMeter::MakeLifeMeter( GAMESTATE->m_SongOptions.GetStage().m_LifeType ); + pi->m_pLifeMeter->Load( pi->GetPlayerState(), pi->GetPlayerStageStats() ); + pi->m_pLifeMeter->SetName( ssprintf("Life%s",pi->GetName().c_str()) ); + LOAD_ALL_COMMANDS_AND_SET_XY( pi->m_pLifeMeter ); + this->AddChild( pi->m_pLifeMeter ); + } + break; + case PLAY_MODE_BATTLE: + case PLAY_MODE_RAVE: + default: + break; } m_bShowScoreboard = false; @@ -694,11 +722,12 @@ void ScreenGameplay::Init() switch( GAMESTATE->m_PlayMode ) { - case PLAY_MODE_BATTLE: - m_soundBattleTrickLevel1.Load( THEME->GetPathS(m_sName,"battle trick level1"), true ); - m_soundBattleTrickLevel2.Load( THEME->GetPathS(m_sName,"battle trick level2"), true ); - m_soundBattleTrickLevel3.Load( THEME->GetPathS(m_sName,"battle trick level3"), true ); - break; + case PLAY_MODE_BATTLE: + m_soundBattleTrickLevel1.Load( THEME->GetPathS(m_sName,"battle trick level1"), true ); + m_soundBattleTrickLevel2.Load( THEME->GetPathS(m_sName,"battle trick level2"), true ); + m_soundBattleTrickLevel3.Load( THEME->GetPathS(m_sName,"battle trick level3"), true ); + default: + break; } } @@ -972,9 +1001,10 @@ void ScreenGameplay::SetupSong( int iSongIndex ) RString sType; switch( GAMESTATE->m_SongOptions.GetCurrent().m_SoundEffectType ) { - case SongOptions::SOUNDEFFECT_OFF: sType = "SoundEffectControl_Off"; break; - case SongOptions::SOUNDEFFECT_SPEED: sType = "SoundEffectControl_Speed"; break; - case SongOptions::SOUNDEFFECT_PITCH: sType = "SoundEffectControl_Pitch"; break; + case SongOptions::SOUNDEFFECT_OFF: sType = "SoundEffectControl_Off"; break; + case SongOptions::SOUNDEFFECT_SPEED: sType = "SoundEffectControl_Speed"; break; + case SongOptions::SOUNDEFFECT_PITCH: sType = "SoundEffectControl_Pitch"; break; + default: break; } pi->m_SoundEffectControl.Load( sType, pi->GetPlayerState(), &pi->m_NoteData ); @@ -1606,246 +1636,250 @@ void ScreenGameplay::Update( float fDeltaTime ) switch( m_DancingState ) { - case STATE_DANCING: - /* Set STATSMAN->m_CurStageStats.bFailed for failed players. In, FAIL_IMMEDIATE, send - * SM_BeginFailed if all players failed, and kill dead Oni players. */ - FOREACH_EnabledPlayerInfo( m_vPlayerInfo, pi ) + case STATE_DANCING: { - PlayerNumber pn = pi->GetStepsAndTrailIndex(); - - PlayerOptions::FailType ft = GAMESTATE->GetPlayerFailType( pi->GetPlayerState() ); - SongOptions::LifeType lt = GAMESTATE->m_SongOptions.GetCurrent().m_LifeType; - - if( ft == PlayerOptions::FAIL_OFF || ft == PlayerOptions::FAIL_AT_END ) - continue; - - // check for individual fail - if( pi->m_pLifeMeter == NULL || !pi->m_pLifeMeter->IsFailing() ) - continue; /* isn't failing */ - if( pi->GetPlayerStageStats()->m_bFailed ) - continue; /* failed and is already dead */ - - LOG->Trace("Player %d failed", (int)pn); - pi->GetPlayerStageStats()->m_bFailed = true; // fail - + /* Set STATSMAN->m_CurStageStats.bFailed for failed players. In, FAIL_IMMEDIATE, send + * SM_BeginFailed if all players failed, and kill dead Oni players. */ + FOREACH_EnabledPlayerInfo( m_vPlayerInfo, pi ) { - Message msg("PlayerFailed"); - msg.SetParam( "PlayerNumber", pi->m_pn ); - MESSAGEMAN->Broadcast( msg ); - } + PlayerNumber pn = pi->GetStepsAndTrailIndex(); + + PlayerOptions::FailType ft = GAMESTATE->GetPlayerFailType( pi->GetPlayerState() ); + SongOptions::LifeType lt = GAMESTATE->m_SongOptions.GetCurrent().m_LifeType; + + if( ft == PlayerOptions::FAIL_OFF || ft == PlayerOptions::FAIL_AT_END ) + continue; + + // check for individual fail + if( pi->m_pLifeMeter == NULL || !pi->m_pLifeMeter->IsFailing() ) + continue; /* isn't failing */ + if( pi->GetPlayerStageStats()->m_bFailed ) + continue; /* failed and is already dead */ + + LOG->Trace("Player %d failed", (int)pn); + pi->GetPlayerStageStats()->m_bFailed = true; // fail - // Check for and do Oni die. - bool bAllowOniDie = false; - switch( lt ) - { - case SongOptions::LIFE_BATTERY: - bAllowOniDie = true; - break; - } - if( bAllowOniDie && ft == PlayerOptions::FAIL_IMMEDIATE ) - { - if( !STATSMAN->m_CurStageStats.AllFailed() ) // if not the last one to fail { - // kill them! - SOUND->PlayOnceFromDir( THEME->GetPathS(m_sName,"oni die") ); - pi->ShowOniGameOver(); - pi->m_NoteData.Init(); // remove all notes and scoring - pi->m_pPlayer->FadeToFail(); // tell the NoteField to fade to white + Message msg("PlayerFailed"); + msg.SetParam( "PlayerNumber", pi->m_pn ); + MESSAGEMAN->Broadcast( msg ); + } + + // Check for and do Oni die. + bool bAllowOniDie = false; + switch( lt ) + { + case SongOptions::LIFE_BATTERY: + bAllowOniDie = true; + default: + break; + } + if( bAllowOniDie && ft == PlayerOptions::FAIL_IMMEDIATE ) + { + if( !STATSMAN->m_CurStageStats.AllFailed() ) // if not the last one to fail + { + // kill them! + SOUND->PlayOnceFromDir( THEME->GetPathS(m_sName,"oni die") ); + pi->ShowOniGameOver(); + pi->m_NoteData.Init(); // remove all notes and scoring + pi->m_pPlayer->FadeToFail(); // tell the NoteField to fade to white + } } } - } - bool bAllFailed = true; - FOREACH_EnabledPlayerInfo( m_vPlayerInfo, pi ) - { - PlayerOptions::FailType ft = GAMESTATE->GetPlayerFailType( pi->GetPlayerState() ); - switch( ft ) + bool bAllFailed = true; + FOREACH_EnabledPlayerInfo( m_vPlayerInfo, pi ) { - case PlayerOptions::FAIL_IMMEDIATE: - if( pi->m_pLifeMeter == NULL || (pi->m_pLifeMeter && !pi->m_pLifeMeter->IsFailing()) ) - bAllFailed = false; - break; - case PlayerOptions::FAIL_IMMEDIATE_CONTINUE: - case PlayerOptions::FAIL_AT_END: - bAllFailed = false; // wait until the end of the song to fail. - break; - case PlayerOptions::FAIL_OFF: - bAllFailed = false; // never fail. - break; - default: - ASSERT(0); - } - } - - if( bAllFailed ) - { - m_pSoundMusic->StopPlaying(); - SCREENMAN->PostMessageToTopScreen( SM_NotesEnded, 0 ); - // todo: stop lyrics (m_LyricDisplay) from animating -aj - } - - // Update living players' alive time - // HACK: Don't scale alive time when using tab/tilde. Instead of accumulating time from a timer, - // this time should instead be tied to the music position. - float fUnscaledDeltaTime = m_timerGameplaySeconds.GetDeltaTime(); - - FOREACH_EnabledPlayerInfo( m_vPlayerInfo, pi ) - if( !pi->GetPlayerStageStats()->m_bFailed ) - pi->GetPlayerStageStats()->m_fAliveSeconds += fUnscaledDeltaTime * GAMESTATE->m_SongOptions.GetCurrent().m_fMusicRate; - - // update fGameplaySeconds - STATSMAN->m_CurStageStats.m_fGameplaySeconds += fUnscaledDeltaTime; - float curBeat = GAMESTATE->m_Position.m_fSongBeat; - Song &s = *GAMESTATE->m_pCurSong; - - if( curBeat >= s.GetFirstBeat() && curBeat < s.GetLastBeat() ) - { - STATSMAN->m_CurStageStats.m_fStepsSeconds += fUnscaledDeltaTime; - - if( GAMESTATE->m_SongOptions.GetCurrent().m_fHaste != 0.0f ) - { - float fHasteRate = GetHasteRate(); - GAMESTATE->m_fAccumulatedHasteSeconds += (fUnscaledDeltaTime * fHasteRate) - fUnscaledDeltaTime; - } - } - - // Check for end of song - { - float fSecondsToStartFadingOutMusic, fSecondsToStartTransitioningOut; - GetMusicEndTiming( fSecondsToStartFadingOutMusic, fSecondsToStartTransitioningOut ); - - bool bAllReallyFailed = STATSMAN->m_CurStageStats.AllFailed(); - if( bAllReallyFailed ) - fSecondsToStartTransitioningOut += BEGIN_FAILED_DELAY; - - if( GAMESTATE->m_Position.m_fMusicSeconds >= fSecondsToStartTransitioningOut && !m_NextSong.IsTransitioning() ) - this->PostScreenMessage( SM_NotesEnded, 0 ); - } - - // update 2d dancing characters - FOREACH_EnabledPlayerNumberInfo( m_vPlayerInfo, pi ) - { - DancingCharacters *pCharacter = NULL; - if( m_pSongBackground ) - pCharacter = m_pSongBackground->GetDancingCharacters(); - if( pCharacter != NULL ) - { - TapNoteScore tns = pi->m_pPlayer->GetLastTapNoteScore(); - - ANIM_STATES_2D state = AS2D_MISS; - - switch( tns ) + PlayerOptions::FailType ft = GAMESTATE->GetPlayerFailType( pi->GetPlayerState() ); + switch( ft ) { - case TNS_W4: - case TNS_W3: - state = AS2D_GOOD; + case PlayerOptions::FAIL_IMMEDIATE: + if( pi->m_pLifeMeter == NULL || (pi->m_pLifeMeter && !pi->m_pLifeMeter->IsFailing()) ) + bAllFailed = false; break; - case TNS_W2: - case TNS_W1: - state = AS2D_GREAT; + case PlayerOptions::FAIL_IMMEDIATE_CONTINUE: + case PlayerOptions::FAIL_AT_END: + bAllFailed = false; // wait until the end of the song to fail. + break; + case PlayerOptions::FAIL_OFF: + bAllFailed = false; // never fail. break; default: - state = AS2D_MISS; - break; - } - - if( state == AS2D_GREAT && pi->GetPlayerState()->m_HealthState == HealthState_Hot ) - state = AS2D_FEVER; - - pCharacter->Change2DAnimState( pi->m_pn, state ); - } - } - - // Check for enemy death in enemy battle - static float fLastSeenEnemyHealth = 1; - if( fLastSeenEnemyHealth != GAMESTATE->m_fOpponentHealthPercent ) - { - fLastSeenEnemyHealth = GAMESTATE->m_fOpponentHealthPercent; - - if( GAMESTATE->m_fOpponentHealthPercent == 0 ) - { - // HACK: Load incorrect directory on purpose for now. - PlayAnnouncer( "gameplay battle damage level3", 0 ); - - GAMESTATE->RemoveAllActiveAttacks(); - - FOREACH_EnabledPlayerNumberInfo( m_vPlayerInfo, pi ) - { - if( !GAMESTATE->IsCpuPlayer(pi->m_pn) ) - continue; - - SOUND->PlayOnceFromDir( THEME->GetPathS(m_sName,"oni die") ); - pi->ShowOniGameOver(); - pi->m_NoteData.Init(); // remove all notes and scoring - pi->m_pPlayer->FadeToFail(); // tell the NoteField to fade to white + FAIL_M("Invalid fail type! Aborting..."); } } - } - // update give up - bool bGiveUpTimerFired = !m_GiveUpTimer.IsZero() && m_GiveUpTimer.Ago() > 2.5f; - - - bool bAllHumanHaveBigMissCombo = true; - FOREACH_EnabledPlayerNumberInfo( m_vPlayerInfo, pi ) - { - if (pi->GetPlayerState()->m_PlayerOptions.GetCurrent().m_FailType == PlayerOptions::FAIL_OFF || - pi->GetPlayerState()->m_HealthState < HealthState_Dead ) - { - bAllHumanHaveBigMissCombo = false; - break; - } - } - if (bAllHumanHaveBigMissCombo) // possible to get in here. - { - bAllHumanHaveBigMissCombo = FAIL_ON_MISS_COMBO.GetValue() != -1 && STATSMAN->m_CurStageStats.GetMinimumMissCombo() >= FAIL_ON_MISS_COMBO; - } - if( bGiveUpTimerFired || bAllHumanHaveBigMissCombo ) - { - STATSMAN->m_CurStageStats.m_bGaveUp = true; - FOREACH_EnabledPlayerNumberInfo( m_vPlayerInfo, pi ) - { - pi->GetPlayerStageStats()->m_bFailed |= bAllHumanHaveBigMissCombo; - pi->GetPlayerStageStats()->m_bDisqualified |= bGiveUpTimerFired; // Don't disqualify if failing for miss combo. The player should still be eligable for a high score on courses. - } - - AbortGiveUp( false ); - - if( GIVING_UP_GOES_TO_PREV_SCREEN ) - { - BeginBackingOutFromGameplay(); - } - else + if( bAllFailed ) { m_pSoundMusic->StopPlaying(); - this->PostScreenMessage( SM_NotesEnded, 0 ); + SCREENMAN->PostMessageToTopScreen( SM_NotesEnded, 0 ); + // todo: stop lyrics (m_LyricDisplay) from animating -aj } - return; - } - // Check to see if it's time to play a ScreenGameplay comment - m_fTimeSinceLastDancingComment += fDeltaTime; + // Update living players' alive time + // HACK: Don't scale alive time when using tab/tilde. Instead of accumulating time from a timer, + // this time should instead be tied to the music position. + float fUnscaledDeltaTime = m_timerGameplaySeconds.GetDeltaTime(); - switch( GAMESTATE->m_PlayMode ) - { - case PLAY_MODE_REGULAR: - case PLAY_MODE_BATTLE: - case PLAY_MODE_RAVE: - if( GAMESTATE->OneIsHot() ) - PlayAnnouncer( "gameplay comment hot", SECONDS_BETWEEN_COMMENTS ); - else if( GAMESTATE->AllAreInDangerOrWorse() ) - PlayAnnouncer( "gameplay comment danger", SECONDS_BETWEEN_COMMENTS ); - else - PlayAnnouncer( "gameplay comment good", SECONDS_BETWEEN_COMMENTS ); - break; - case PLAY_MODE_NONSTOP: - case PLAY_MODE_ONI: - case PLAY_MODE_ENDLESS: - PlayAnnouncer( "gameplay comment oni", SECONDS_BETWEEN_COMMENTS ); - break; - default: - ASSERT(0); - } + FOREACH_EnabledPlayerInfo( m_vPlayerInfo, pi ) + if( !pi->GetPlayerStageStats()->m_bFailed ) + pi->GetPlayerStageStats()->m_fAliveSeconds += fUnscaledDeltaTime * GAMESTATE->m_SongOptions.GetCurrent().m_fMusicRate; + + // update fGameplaySeconds + STATSMAN->m_CurStageStats.m_fGameplaySeconds += fUnscaledDeltaTime; + float curBeat = GAMESTATE->m_Position.m_fSongBeat; + Song &s = *GAMESTATE->m_pCurSong; + + if( curBeat >= s.GetFirstBeat() && curBeat < s.GetLastBeat() ) + { + STATSMAN->m_CurStageStats.m_fStepsSeconds += fUnscaledDeltaTime; + + if( GAMESTATE->m_SongOptions.GetCurrent().m_fHaste != 0.0f ) + { + float fHasteRate = GetHasteRate(); + GAMESTATE->m_fAccumulatedHasteSeconds += (fUnscaledDeltaTime * fHasteRate) - fUnscaledDeltaTime; + } + } + + // Check for end of song + { + float fSecondsToStartFadingOutMusic, fSecondsToStartTransitioningOut; + GetMusicEndTiming( fSecondsToStartFadingOutMusic, fSecondsToStartTransitioningOut ); + + bool bAllReallyFailed = STATSMAN->m_CurStageStats.AllFailed(); + if( bAllReallyFailed ) + fSecondsToStartTransitioningOut += BEGIN_FAILED_DELAY; + + if( GAMESTATE->m_Position.m_fMusicSeconds >= fSecondsToStartTransitioningOut && !m_NextSong.IsTransitioning() ) + this->PostScreenMessage( SM_NotesEnded, 0 ); + } + + // update 2d dancing characters + FOREACH_EnabledPlayerNumberInfo( m_vPlayerInfo, pi ) + { + DancingCharacters *pCharacter = NULL; + if( m_pSongBackground ) + pCharacter = m_pSongBackground->GetDancingCharacters(); + if( pCharacter != NULL ) + { + TapNoteScore tns = pi->m_pPlayer->GetLastTapNoteScore(); + + ANIM_STATES_2D state = AS2D_MISS; + + switch( tns ) + { + case TNS_W4: + case TNS_W3: + state = AS2D_GOOD; + break; + case TNS_W2: + case TNS_W1: + state = AS2D_GREAT; + break; + default: + state = AS2D_MISS; + break; + } + + if( state == AS2D_GREAT && pi->GetPlayerState()->m_HealthState == HealthState_Hot ) + state = AS2D_FEVER; + + pCharacter->Change2DAnimState( pi->m_pn, state ); + } + } + + // Check for enemy death in enemy battle + static float fLastSeenEnemyHealth = 1; + if( fLastSeenEnemyHealth != GAMESTATE->m_fOpponentHealthPercent ) + { + fLastSeenEnemyHealth = GAMESTATE->m_fOpponentHealthPercent; + + if( GAMESTATE->m_fOpponentHealthPercent == 0 ) + { + // HACK: Load incorrect directory on purpose for now. + PlayAnnouncer( "gameplay battle damage level3", 0 ); + + GAMESTATE->RemoveAllActiveAttacks(); + + FOREACH_EnabledPlayerNumberInfo( m_vPlayerInfo, pi ) + { + if( !GAMESTATE->IsCpuPlayer(pi->m_pn) ) + continue; + + SOUND->PlayOnceFromDir( THEME->GetPathS(m_sName,"oni die") ); + pi->ShowOniGameOver(); + pi->m_NoteData.Init(); // remove all notes and scoring + pi->m_pPlayer->FadeToFail(); // tell the NoteField to fade to white + } + } + } + + // update give up + bool bGiveUpTimerFired = !m_GiveUpTimer.IsZero() && m_GiveUpTimer.Ago() > 2.5f; + + + bool bAllHumanHaveBigMissCombo = true; + FOREACH_EnabledPlayerNumberInfo( m_vPlayerInfo, pi ) + { + if (pi->GetPlayerState()->m_PlayerOptions.GetCurrent().m_FailType == PlayerOptions::FAIL_OFF || + pi->GetPlayerState()->m_HealthState < HealthState_Dead ) + { + bAllHumanHaveBigMissCombo = false; + break; + } + } + if (bAllHumanHaveBigMissCombo) // possible to get in here. + { + bAllHumanHaveBigMissCombo = FAIL_ON_MISS_COMBO.GetValue() != -1 && STATSMAN->m_CurStageStats.GetMinimumMissCombo() >= FAIL_ON_MISS_COMBO; + } + if( bGiveUpTimerFired || bAllHumanHaveBigMissCombo ) + { + STATSMAN->m_CurStageStats.m_bGaveUp = true; + FOREACH_EnabledPlayerNumberInfo( m_vPlayerInfo, pi ) + { + pi->GetPlayerStageStats()->m_bFailed |= bAllHumanHaveBigMissCombo; + pi->GetPlayerStageStats()->m_bDisqualified |= bGiveUpTimerFired; // Don't disqualify if failing for miss combo. The player should still be eligable for a high score on courses. + } + + AbortGiveUp( false ); + + if( GIVING_UP_GOES_TO_PREV_SCREEN ) + { + BeginBackingOutFromGameplay(); + } + else + { + m_pSoundMusic->StopPlaying(); + this->PostScreenMessage( SM_NotesEnded, 0 ); + } + return; + } + + // Check to see if it's time to play a ScreenGameplay comment + m_fTimeSinceLastDancingComment += fDeltaTime; + + switch( GAMESTATE->m_PlayMode ) + { + case PLAY_MODE_REGULAR: + case PLAY_MODE_BATTLE: + case PLAY_MODE_RAVE: + if( GAMESTATE->OneIsHot() ) + PlayAnnouncer( "gameplay comment hot", SECONDS_BETWEEN_COMMENTS ); + else if( GAMESTATE->AllAreInDangerOrWorse() ) + PlayAnnouncer( "gameplay comment danger", SECONDS_BETWEEN_COMMENTS ); + else + PlayAnnouncer( "gameplay comment good", SECONDS_BETWEEN_COMMENTS ); + break; + case PLAY_MODE_NONSTOP: + case PLAY_MODE_ONI: + case PLAY_MODE_ENDLESS: + PlayAnnouncer( "gameplay comment oni", SECONDS_BETWEEN_COMMENTS ); + break; + default: + ASSERT(0); + } + } + default: break; } PlayTicks(); diff --git a/src/ScreenJukebox.cpp b/src/ScreenJukebox.cpp index 5059d2ecf1..233107b35b 100644 --- a/src/ScreenJukebox.cpp +++ b/src/ScreenJukebox.cpp @@ -248,10 +248,12 @@ void ScreenJukebox::Input( const InputEventPlus &input ) switch( input.MenuI ) { - case GAME_BUTTON_LEFT: - case GAME_BUTTON_RIGHT: - SCREENMAN->PostMessageToTopScreen( SM_NotesEnded, 0 ); - return; + case GAME_BUTTON_LEFT: + case GAME_BUTTON_RIGHT: + SCREENMAN->PostMessageToTopScreen( SM_NotesEnded, 0 ); + return; + default: + break; } ScreenAttract::AttractInput( input, this ); diff --git a/src/ScreenNetSelectMusic.cpp b/src/ScreenNetSelectMusic.cpp index 3397ae997b..fe76ec4108 100644 --- a/src/ScreenNetSelectMusic.cpp +++ b/src/ScreenNetSelectMusic.cpp @@ -54,7 +54,7 @@ void ScreenNetSelectMusic::Init() m_StepsDisplays[p].SetName( ssprintf("StepsDisplayP%d",p+1) ); m_StepsDisplays[p].Load( "StepsDisplayNet", NULL ); - LOAD_ALL_COMMANDS_AND_SET_XY_AND_ON_COMMAND( m_StepsDisplays[p] ); + LOAD_ALL_COMMANDS_AND_SET_XY( m_StepsDisplays[p] ); this->AddChild( &m_StepsDisplays[p] ); } @@ -66,20 +66,13 @@ void ScreenNetSelectMusic::Init() this->AddChild( &m_MusicWheel ); this->MoveToHead( &m_MusicWheel ); - // todo: handle me theme-side -aj - m_BPMDisplay.SetName( "BPMDisplay" ); - m_BPMDisplay.LoadFromFont( THEME->GetPathF("BPMDisplay","bpm") ); - m_BPMDisplay.Load(); - LOAD_ALL_COMMANDS_AND_SET_XY_AND_ON_COMMAND( m_BPMDisplay ); - this->AddChild( &m_BPMDisplay ); - // todo: handle me theme-side -aj FOREACH_EnabledPlayer( p ) { m_ModIconRow[p].SetName( ssprintf("ModIconsP%d",p+1) ); m_ModIconRow[p].Load( "ModIconRowSelectMusic", p ); m_ModIconRow[p].SetFromGameState(); - LOAD_ALL_COMMANDS_AND_SET_XY_AND_ON_COMMAND( m_ModIconRow[p] ); + LOAD_ALL_COMMANDS_AND_SET_XY( m_ModIconRow[p] ); this->AddChild( &m_ModIconRow[p] ); } @@ -435,8 +428,6 @@ void ScreenNetSelectMusic::TweenOffScreen() OFF_COMMAND( m_MusicWheel ); - OFF_COMMAND( m_BPMDisplay ); - FOREACH_EnabledPlayer (pn) { OFF_COMMAND( m_StepsDisplays[pn] ); @@ -495,7 +486,6 @@ void ScreenNetSelectMusic::MusicChanged() { if( GAMESTATE->m_pCurSong == NULL ) { - m_BPMDisplay.NoBPM(); FOREACH_EnabledPlayer (pn) UpdateDifficulties( pn ); @@ -504,7 +494,6 @@ void ScreenNetSelectMusic::MusicChanged() // SOUND->PlayMusic( m_sSectionMusicPath, NULL, true, 0, -1 ); return; } - m_BPMDisplay.SetBpmFromSong( GAMESTATE->m_pCurSong ); FOREACH_EnabledPlayer (pn) { diff --git a/src/ScreenOptions.cpp b/src/ScreenOptions.cpp index 1afe97c5ee..d9bfc480da 100644 --- a/src/ScreenOptions.cpp +++ b/src/ScreenOptions.cpp @@ -465,12 +465,13 @@ void ScreenOptions::TweenCursor( PlayerNumber pn ) bool bCanGoRight = false; switch( row.GetRowDef().m_layoutType ) { - case LAYOUT_SHOW_ONE_IN_ROW: - bCanGoLeft = iChoiceWithFocus > 0; - bCanGoRight = iChoiceWithFocus >= 0 && iChoiceWithFocus < (int) row.GetRowDef().m_vsChoices.size()-1; - break; - case LAYOUT_SHOW_ALL_IN_ROW: - break; + case LAYOUT_SHOW_ONE_IN_ROW: + bCanGoLeft = iChoiceWithFocus > 0; + bCanGoRight = iChoiceWithFocus >= 0 && iChoiceWithFocus < (int) row.GetRowDef().m_vsChoices.size()-1; + break; + case LAYOUT_SHOW_ALL_IN_ROW: + break; + default: break; } cursor.SetCanGo( bCanGoLeft, bCanGoRight ); @@ -505,13 +506,15 @@ void ScreenOptions::Input( const InputEventPlus &input ) { switch( input.MenuI ) { - case GAME_BUTTON_START: - case GAME_BUTTON_SELECT: - case GAME_BUTTON_MENURIGHT: - case GAME_BUTTON_MENULEFT: - INPUTMAPPER->ResetKeyRepeat( GAME_BUTTON_START, input.pn ); - INPUTMAPPER->ResetKeyRepeat( GAME_BUTTON_RIGHT, input.pn ); - INPUTMAPPER->ResetKeyRepeat( GAME_BUTTON_LEFT, input.pn ); + case GAME_BUTTON_START: + case GAME_BUTTON_SELECT: + case GAME_BUTTON_MENURIGHT: + case GAME_BUTTON_MENULEFT: + INPUTMAPPER->ResetKeyRepeat( GAME_BUTTON_START, input.pn ); + INPUTMAPPER->ResetKeyRepeat( GAME_BUTTON_RIGHT, input.pn ); + INPUTMAPPER->ResetKeyRepeat( GAME_BUTTON_LEFT, input.pn ); + default: + break; } } @@ -736,12 +739,13 @@ void ScreenOptions::AfterChangeValueOrRow( PlayerNumber pn ) BitmapText *pText = NULL; switch( m_InputMode ) { - case INPUTMODE_INDIVIDUAL: - pText = &m_textExplanation[pn]; - break; - case INPUTMODE_SHARE_CURSOR: - pText = &m_textExplanationTogether; - break; + case INPUTMODE_INDIVIDUAL: + pText = &m_textExplanation[pn]; + break; + case INPUTMODE_SHARE_CURSOR: + pText = &m_textExplanationTogether; + break; + default: break; } if( pText->GetText() != text ) { @@ -787,8 +791,8 @@ void ScreenOptions::MenuStart( const InputEventPlus &input ) * GAME_BUTTON_RIGHT are being held. */ switch( m_OptionsNavigation ) { - case NAV_THREE_KEY: - case NAV_TOGGLE_THREE_KEY: + case NAV_THREE_KEY: + case NAV_TOGGLE_THREE_KEY: { bool bHoldingLeftAndRight = INPUTMAPPER->IsBeingPressed( GAME_BUTTON_RIGHT, pn ) && @@ -800,6 +804,7 @@ void ScreenOptions::MenuStart( const InputEventPlus &input ) return; } } + default: break; } this->ProcessMenuStart( input ); @@ -1170,23 +1175,26 @@ void ScreenOptions::AfterChangeRow( PlayerNumber pn ) OptionRow &row = *m_pRows[iRow]; switch( m_OptionsNavigation ) { - case NAV_TOGGLE_FIVE_KEY: - if( row.GetRowDef().m_layoutType != LAYOUT_SHOW_ONE_IN_ROW ) + case NAV_TOGGLE_FIVE_KEY: { - int iSelectionDist = -1; - for( unsigned i = 0; i < row.GetTextItemsSize(); ++i ) + if( row.GetRowDef().m_layoutType != LAYOUT_SHOW_ONE_IN_ROW ) { - int iWidth, iX, iY; - GetWidthXY( pn, m_iCurrentRow[pn], i, iWidth, iX, iY ); - const int iDist = abs( iX-m_iFocusX[pn] ); - if( iSelectionDist == -1 || iDist < iSelectionDist ) + int iSelectionDist = -1; + for( unsigned i = 0; i < row.GetTextItemsSize(); ++i ) { - iSelectionDist = iDist; - row.SetChoiceInRowWithFocus( pn, i ); + int iWidth, iX, iY; + GetWidthXY( pn, m_iCurrentRow[pn], i, iWidth, iX, iY ); + const int iDist = abs( iX-m_iFocusX[pn] ); + if( iSelectionDist == -1 || iDist < iSelectionDist ) + { + iSelectionDist = iDist; + row.SetChoiceInRowWithFocus( pn, i ); + } } } + break; } - break; + default: break; } if( row.GetFirstItemGoesDown() ) diff --git a/src/ScreenOptionsExportPackage.cpp b/src/ScreenOptionsExportPackage.cpp index 1ff29e1f0c..405ba4f786 100644 --- a/src/ScreenOptionsExportPackage.cpp +++ b/src/ScreenOptionsExportPackage.cpp @@ -11,7 +11,9 @@ #include "SpecialFiles.h" #include "SpecialFiles.h" #include "ScreenPrompt.h" +#include "SongManager.h" +// main page (type list) REGISTER_SCREEN_CLASS( ScreenOptionsExportPackage ); void ScreenOptionsExportPackage::Init() @@ -24,51 +26,130 @@ void ScreenOptionsExportPackage::Init() void ScreenOptionsExportPackage::BeginScreen() { - // Fill m_vsPossibleDirsToExport - // todo: Split these out over multiple screens so the scroller - // isn't so overloaded. (See ScreenOptionsToggleSongs) -freem + // Fill m_vsPackageTypes: + m_vsPackageTypes.push_back("Themes"); + m_vsPackageTypes.push_back("NoteSkins"); + m_vsPackageTypes.push_back("Courses"); + m_vsPackageTypes.push_back("Songs"); + // announcers, characters, others? + + vector OptionRowHandlers; + FOREACH_CONST( RString, m_vsPackageTypes, s ) { - // Add themes - { - GetDirListing( SpecialFiles::THEMES_DIR + "*", m_vsPossibleDirsToExport, true, true ); - } + OptionRowHandler *pHand = OptionRowHandlerUtil::MakeNull(); + OptionRowDefinition &def = pHand->m_Def; - // Add NoteSkins - { - vector vs; - GetDirListing( SpecialFiles::NOTESKINS_DIR + "*", vs, true, true ); - FOREACH_CONST( RString, vs, s ) - GetDirListing( *s + "*", m_vsPossibleDirsToExport, true, true ); - } + def.m_sName = *s; + def.m_bAllowExplanation = false; + //def.m_sExplanationName = "# files, # MB, # subdirs"; + def.m_bAllowThemeTitle = false; + def.m_bAllowThemeItems = false; + def.m_layoutType = LAYOUT_SHOW_ALL_IN_ROW; + def.m_bOneChoiceForAllPlayers = true; + def.m_vsChoices.clear(); + def.m_vsChoices.push_back( "" ); + OptionRowHandlers.push_back( pHand ); + } + ScreenOptions::InitMenu( OptionRowHandlers ); + ScreenOptions::BeginScreen(); +} + +void ScreenOptionsExportPackage::ProcessMenuStart( const InputEventPlus &input ) +{ + if( IsTransitioning() ) + return; + + // switch to the subpage with the specified type + //int iCurRow = m_iCurrentRow[GAMESTATE->GetMasterPlayerNumber()]; + int iRow = GetCurrentRow(); + if( m_pRows[iRow]->GetRowType() == OptionRow::RowType_Exit ) + { + ScreenOptions::ProcessMenuStart( input ); + return; + } + + ExportPackages::m_sPackageType = m_vsPackageTypes[iRow]; + SCREENMAN->SetNewScreen("ScreenOptionsExportPackageSubPage"); +} + +void ScreenOptionsExportPackage::ImportOptions( int iRow, const vector &vpns ) +{ + +} + +void ScreenOptionsExportPackage::ExportOptions( int iRow, const vector &vpns ) +{ + +} + + +// subpage (has all folders for the specified type) +REGISTER_SCREEN_CLASS( ScreenOptionsExportPackageSubPage ); +void ScreenOptionsExportPackageSubPage::Init() +{ + ScreenOptions::Init(); + + SetNavigation( NAV_THREE_KEY_MENU ); + SetInputMode( INPUTMODE_SHARE_CURSOR ); +} + +void ScreenOptionsExportPackageSubPage::BeginScreen() +{ + // Check type and fill m_vsPossibleDirsToExport + const RString *s_packageType = &ExportPackages::m_sPackageType; + if( *s_packageType == "Themes" ) + { + // add themes + GetDirListing( SpecialFiles::THEMES_DIR + "*", m_vsPossibleDirsToExport, true, true ); + } + else if( *s_packageType == "NoteSkins" ) + { + // add noteskins + vector vs; + GetDirListing( SpecialFiles::NOTESKINS_DIR + "*", vs, true, true ); + FOREACH_CONST( RString, vs, s ) + GetDirListing( *s + "*", m_vsPossibleDirsToExport, true, true ); + } + else if( *s_packageType == "Courses" ) + { // Add courses. Only support courses that are in a group folder. // Support for courses not in a group folder should be phased out. + vector vs; + GetDirListing( SpecialFiles::COURSES_DIR + "*", vs, true, true ); + StripCvsAndSvn( vs ); + StripMacResourceForks( vs ); + FOREACH_CONST( RString, vs, s ) { - vector vs; - GetDirListing( SpecialFiles::COURSES_DIR + "*", vs, true, true ); - StripCvsAndSvn( vs ); - StripMacResourceForks( vs ); - FOREACH_CONST( RString, vs, s ) - { - m_vsPossibleDirsToExport.push_back( *s ); - GetDirListing( *s + "/*", m_vsPossibleDirsToExport, true, true ); - } + m_vsPossibleDirsToExport.push_back( *s ); + GetDirListing( *s + "/*", m_vsPossibleDirsToExport, true, true ); } - - // Add songs - { - vector vs; - GetDirListing( SpecialFiles::SONGS_DIR + "*", vs, true, true ); - FOREACH_CONST( RString, vs, s ) - { - m_vsPossibleDirsToExport.push_back( *s ); - GetDirListing( *s + "/*", m_vsPossibleDirsToExport, true, true ); - } - } - - StripCvsAndSvn( m_vsPossibleDirsToExport ); - StripMacResourceForks( m_vsPossibleDirsToExport ); } + else if( *s_packageType == "Songs" ) + { + // Add song groups + vector asAllGroups; + SONGMAN->GetSongGroupNames(asAllGroups); + FOREACH_CONST( RString, asAllGroups , s ) + { + m_vsPossibleDirsToExport.push_back(*s); + } + } + else if( *s_packageType == "SubGroup" ) + { + //ExportPackages::m_sFolder + /* + vector vs; + GetDirListing( SpecialFiles::SONGS_DIR + "*", vs, true, true ); + FOREACH_CONST( RString, vs, s ) + { + m_vsPossibleDirsToExport.push_back( *s ); + GetDirListing( *s + "/*", m_vsPossibleDirsToExport, true, true ); + } + */ + } + StripCvsAndSvn( m_vsPossibleDirsToExport ); + StripMacResourceForks( m_vsPossibleDirsToExport ); vector OptionRowHandlers; FOREACH_CONST( RString, m_vsPossibleDirsToExport, s ) @@ -142,7 +223,7 @@ static bool ExportPackage( RString sPackageName, RString sDirToExport, RString & return false; } -void ScreenOptionsExportPackage::ProcessMenuStart( const InputEventPlus &input ) +void ScreenOptionsExportPackageSubPage::ProcessMenuStart( const InputEventPlus &input ) { if( IsTransitioning() ) return; @@ -154,6 +235,17 @@ void ScreenOptionsExportPackage::ProcessMenuStart( const InputEventPlus &input ) return; } + if( ExportPackages::m_sPackageType == "Courses" + || ExportPackages::m_sPackageType == "NoteSkins" + || ExportPackages::m_sPackageType == "Songs" ) + { + // find folder name + ExportPackages::m_sPackageType = "SubGroup"; + ExportPackages::m_sFolder = m_vsPossibleDirsToExport[iCurRow]; + SCREENMAN->SetNewScreen("ScreenOptionsExportPackageSubPage"); + return; + } + RString sDirToExport = m_vsPossibleDirsToExport[ iCurRow ]; RString sPackageName = ReplaceInvalidFileNameChars( sDirToExport + ".smzip" ); @@ -164,12 +256,12 @@ void ScreenOptionsExportPackage::ProcessMenuStart( const InputEventPlus &input ) ScreenPrompt::Prompt( SM_None, ssprintf("Failed to export package: %s",sError.c_str()) ); } -void ScreenOptionsExportPackage::ImportOptions( int iRow, const vector &vpns ) +void ScreenOptionsExportPackageSubPage::ImportOptions( int iRow, const vector &vpns ) { } -void ScreenOptionsExportPackage::ExportOptions( int iRow, const vector &vpns ) +void ScreenOptionsExportPackageSubPage::ExportOptions( int iRow, const vector &vpns ) { } diff --git a/src/ScreenOptionsExportPackage.h b/src/ScreenOptionsExportPackage.h index 13952e1ff7..80e6c1059c 100644 --- a/src/ScreenOptionsExportPackage.h +++ b/src/ScreenOptionsExportPackage.h @@ -6,6 +6,13 @@ class Course; +// Can this be done any better? -aj +namespace ExportPackages +{ + RString m_sPackageType; + RString m_sFolder; // used for more subpages +} + /** @brief A menu for exporting packages. */ class ScreenOptionsExportPackage : public ScreenOptions { @@ -13,6 +20,21 @@ public: void Init(); virtual void BeginScreen(); +protected: + virtual void ImportOptions( int iRow, const vector &vpns ); + virtual void ExportOptions( int iRow, const vector &vpns ); + + virtual void ProcessMenuStart( const InputEventPlus &input ); + + vector m_vsPackageTypes; +}; + +class ScreenOptionsExportPackageSubPage : public ScreenOptions +{ +public: + void Init(); + virtual void BeginScreen(); + protected: virtual void ImportOptions( int iRow, const vector &vpns ); virtual void ExportOptions( int iRow, const vector &vpns ); diff --git a/src/ScreenPrompt.cpp b/src/ScreenPrompt.cpp index 15f5455d3c..5ae2ed4505 100644 --- a/src/ScreenPrompt.cpp +++ b/src/ScreenPrompt.cpp @@ -118,12 +118,13 @@ void ScreenPrompt::Input( const InputEventPlus &input ) { switch( input.DeviceI.button ) { - case KEY_LEFT: - this->MenuLeft( input ); - return; - case KEY_RIGHT: - this->MenuRight( input ); - return; + case KEY_LEFT: + this->MenuLeft( input ); + return; + case KEY_RIGHT: + this->MenuRight( input ); + return; + default: break; } } @@ -198,12 +199,13 @@ void ScreenPrompt::End( bool bCancelled ) { switch( m_Answer ) { - case ANSWER_YES: - m_smSendOnPop = SM_Success; - break; - case ANSWER_NO: - m_smSendOnPop = SM_Failure; - break; + case ANSWER_YES: + m_smSendOnPop = SM_Success; + break; + case ANSWER_NO: + m_smSendOnPop = SM_Failure; + break; + default: break; } if( bCancelled ) @@ -218,14 +220,15 @@ void ScreenPrompt::End( bool bCancelled ) switch( m_Answer ) { - case ANSWER_YES: - if( g_pOnYes ) - g_pOnYes(g_pCallbackData); - break; - case ANSWER_NO: - if( g_pOnNo ) - g_pOnNo(g_pCallbackData); - break; + case ANSWER_YES: + if( g_pOnYes ) + g_pOnYes(g_pCallbackData); + break; + case ANSWER_NO: + if( g_pOnNo ) + g_pOnNo(g_pCallbackData); + break; + default: break; } s_LastAnswer = bCancelled ? ANSWER_CANCEL : m_Answer; @@ -251,8 +254,9 @@ void ScreenPrompt::TweenOffScreen() // lua start /* #include "LuaBinding.h" - -/** @brief Allow Lua to have access to the ScreenPrompt. + + // use proper doxygen when lua is enabled. + @brief Allow Lua to have access to the ScreenPrompt. class LunaScreenPrompt: public Luna { public: diff --git a/src/ScreenRanking.cpp b/src/ScreenRanking.cpp index b3df65d662..af57adc86e 100644 --- a/src/ScreenRanking.cpp +++ b/src/ScreenRanking.cpp @@ -212,14 +212,15 @@ float ScreenRanking::SetPage( const PageToShow &pts ) bool bShowTime = false; switch( RANKING_TYPE ) { - case RankingType_Category: - bShowScores = true; - break; - case RankingType_SpecificTrail: - bShowScores = !pts.pCourse->IsOni(); - bShowPoints = pts.pCourse->IsOni(); - bShowTime = pts.pCourse->IsOni(); - break; + case RankingType_Category: + bShowScores = true; + break; + case RankingType_SpecificTrail: + bShowScores = !pts.pCourse->IsOni(); + bShowPoints = pts.pCourse->IsOni(); + bShowTime = pts.pCourse->IsOni(); + break; + default: break; } for( int l=0; l apCharacters; - CHARMAN->GetCharacters( apCharacters ); - m_iSelectedCharacter[pnAffected] += deltaValue; - wrap( m_iSelectedCharacter[pnAffected], apCharacters.size() ); - AfterValueChange(pn); - m_soundChange.Play(); - break; + case CHOOSING_CPU_CHARACTER: + case CHOOSING_HUMAN_CHARACTER: + { + vector apCharacters; + CHARMAN->GetCharacters( apCharacters ); + m_iSelectedCharacter[pnAffected] += deltaValue; + wrap( m_iSelectedCharacter[pnAffected], apCharacters.size() ); + AfterValueChange(pn); + m_soundChange.Play(); + break; + } + default: break; } } @@ -332,12 +337,13 @@ void ScreenSelectCharacter::MakeSelection( PlayerNumber pn ) BeforeRowChange(pn); switch( m_SelectionRow[pn] ) { - case CHOOSING_HUMAN_CHARACTER: - m_SelectionRow[pn] = GAMESTATE->AnyPlayersAreCpu() ? CHOOSING_CPU_CHARACTER : FINISHED_CHOOSING; - break; - case CHOOSING_CPU_CHARACTER: - m_SelectionRow[pn] = FINISHED_CHOOSING; - break; + case CHOOSING_HUMAN_CHARACTER: + m_SelectionRow[pn] = GAMESTATE->AnyPlayersAreCpu() ? CHOOSING_CPU_CHARACTER : FINISHED_CHOOSING; + break; + case CHOOSING_CPU_CHARACTER: + m_SelectionRow[pn] = FINISHED_CHOOSING; + break; + default: break; } AfterRowChange(pn); AfterValueChange(pn); diff --git a/src/ScreenSelectMusic.cpp b/src/ScreenSelectMusic.cpp index 4251ae73ab..dbf4882317 100644 --- a/src/ScreenSelectMusic.cpp +++ b/src/ScreenSelectMusic.cpp @@ -528,21 +528,22 @@ void ScreenSelectMusic::Input( const InputEventPlus &input ) { switch( input.MenuI ) { - case GAME_BUTTON_LEFT: - ChangeSteps( input.pn, -1 ); - m_bAcceptSelectRelease[input.pn] = false; - break; - case GAME_BUTTON_RIGHT: - ChangeSteps( input.pn, +1 ); - m_bAcceptSelectRelease[input.pn] = false; - break; - case GAME_BUTTON_START: - m_bAcceptSelectRelease[input.pn] = false; - if( MODE_MENU_AVAILABLE ) - m_MusicWheel.NextSort(); - else - m_soundLocked.Play(); - break; + case GAME_BUTTON_LEFT: + ChangeSteps( input.pn, -1 ); + m_bAcceptSelectRelease[input.pn] = false; + break; + case GAME_BUTTON_RIGHT: + ChangeSteps( input.pn, +1 ); + m_bAcceptSelectRelease[input.pn] = false; + break; + case GAME_BUTTON_START: + m_bAcceptSelectRelease[input.pn] = false; + if( MODE_MENU_AVAILABLE ) + m_MusicWheel.NextSort(); + else + m_soundLocked.Play(); + break; + default: break; } } else if( input.type == IET_FIRST_PRESS && input.MenuI != GAME_BUTTON_SELECT ) diff --git a/src/ScreenSyncOverlay.cpp b/src/ScreenSyncOverlay.cpp index e91cf6569d..af5b52cf44 100644 --- a/src/ScreenSyncOverlay.cpp +++ b/src/ScreenSyncOverlay.cpp @@ -212,17 +212,21 @@ bool ScreenSyncOverlay::OverlayInput( const InputEventPlus &input ) } switch( input.type ) { - case IET_RELEASE: fDelta *= 0; break; - case IET_REPEAT: - if( INPUTFILTER->GetSecsHeld(input.DeviceI) < 1.0f ) - fDelta *= 0; - else - fDelta *= 10; + case IET_RELEASE: fDelta *= 0; break; + case IET_REPEAT: + { + if( INPUTFILTER->GetSecsHeld(input.DeviceI) < 1.0f ) + fDelta *= 0; + else + fDelta *= 10; + break; + } + default: break; } if( GAMESTATE->m_pCurSong != NULL ) { - BPMSegment& seg = GAMESTATE->m_pCurSong->m_SongTiming.GetBPMSegmentAtBeat( GAMESTATE->m_Position.m_fSongBeat ); - seg.SetBPS( seg.GetBPS() + fDelta ); + BPMSegment * seg = GAMESTATE->m_pCurSong->m_SongTiming.GetBPMSegmentAtBeat( GAMESTATE->m_Position.m_fSongBeat ); + seg->SetBPS( seg->GetBPS() + fDelta ); } } break; @@ -237,31 +241,39 @@ bool ScreenSyncOverlay::OverlayInput( const InputEventPlus &input ) } switch( input.type ) { - case IET_RELEASE: fDelta *= 0; break; - case IET_REPEAT: - if( INPUTFILTER->GetSecsHeld(input.DeviceI) < 1.0f ) - fDelta *= 0; - else - fDelta *= 10; + case IET_RELEASE: fDelta *= 0; break; + case IET_REPEAT: + { + if( INPUTFILTER->GetSecsHeld(input.DeviceI) < 1.0f ) + fDelta *= 0; + else + fDelta *= 10; + } + default: break; } switch( a ) { - case ChangeGlobalOffset: + case ChangeGlobalOffset: + { PREFSMAN->m_fGlobalOffsetSeconds.Set( PREFSMAN->m_fGlobalOffsetSeconds + fDelta ); break; - - case ChangeSongOffset: - if( GAMESTATE->m_pCurSong != NULL ) - { - GAMESTATE->m_pCurSong->m_SongTiming.m_fBeat0OffsetInSeconds += fDelta; - const vector& vpSteps = GAMESTATE->m_pCurSong->GetAllSteps(); - FOREACH( Steps*, const_cast&>(vpSteps), s ) - { - (*s)->m_Timing.m_fBeat0OffsetInSeconds += fDelta; - } } - break; + + case ChangeSongOffset: + { + if( GAMESTATE->m_pCurSong != NULL ) + { + GAMESTATE->m_pCurSong->m_SongTiming.m_fBeat0OffsetInSeconds += fDelta; + const vector& vpSteps = GAMESTATE->m_pCurSong->GetAllSteps(); + FOREACH( Steps*, const_cast&>(vpSteps), s ) + { + (*s)->m_Timing.m_fBeat0OffsetInSeconds += fDelta; + } + } + break; + } + default: break; } } break; diff --git a/src/ScreenTestInput.cpp b/src/ScreenTestInput.cpp index cabf9849ff..d0390babb1 100644 --- a/src/ScreenTestInput.cpp +++ b/src/ScreenTestInput.cpp @@ -95,14 +95,19 @@ void ScreenTestInput::Input( const InputEventPlus &input ) RString sMessage = input.DeviceI.ToString(); switch( input.type ) { - case IET_FIRST_PRESS: - case IET_RELEASE: - switch( input.type ) + case IET_FIRST_PRESS: + case IET_RELEASE: { - case IET_FIRST_PRESS: sMessage += "Pressed"; break; - case IET_RELEASE: sMessage += "Released"; break; + switch( input.type ) + { + case IET_FIRST_PRESS: sMessage += "Pressed"; break; + case IET_RELEASE: sMessage += "Released"; break; + default: break; + } + MESSAGEMAN->Broadcast( sMessage ); + break; } - MESSAGEMAN->Broadcast( sMessage ); + default: break; } Screen::Input( input ); // default handler diff --git a/src/ScreenTestLights.cpp b/src/ScreenTestLights.cpp index 87b0b0eb35..e83a11f6a5 100644 --- a/src/ScreenTestLights.cpp +++ b/src/ScreenTestLights.cpp @@ -59,12 +59,13 @@ void ScreenTestLights::Update( float fDeltaTime ) switch( LIGHTSMAN->GetLightsMode() ) { - case LIGHTSMODE_TEST_AUTO_CYCLE: - s += AUTO_CYCLE.GetValue()+"\n"; - break; - case LIGHTSMODE_TEST_MANUAL_CYCLE: - s += MANUAL_CYCLE.GetValue()+"\n"; - break; + case LIGHTSMODE_TEST_AUTO_CYCLE: + s += AUTO_CYCLE.GetValue()+"\n"; + break; + case LIGHTSMODE_TEST_MANUAL_CYCLE: + s += MANUAL_CYCLE.GetValue()+"\n"; + break; + default: break; } if( cl == CabinetLight_Invalid ) diff --git a/src/ScreenTestSound.cpp b/src/ScreenTestSound.cpp index 813f5cf6fa..9883f9fbec 100644 --- a/src/ScreenTestSound.cpp +++ b/src/ScreenTestSound.cpp @@ -137,68 +137,69 @@ void ScreenTestSound::Input( const InputEventPlus &input ) case DEVICE_KEYBOARD: switch( input.DeviceI.button ) { - case '1': - case '2': - case '3': - case '4': - case '5': selected = input.DeviceI.button - '0'-1; break; - case 'p': - { - /* We want to be able to read the position of copied sounds; if we let - * RageSound copy itself, then the copy will be owned by RageSoundManager - * and we won't be allowed to touch it. Copy it ourself. */ - RageSound *pCopy = new RageSound( s[selected].s ); - m_sSoundCopies[selected].push_back( pCopy ); - pCopy->Play(); - break; - } - case 's': - for( int i = 0; i < nsounds; ++i ) + case '1': + case '2': + case '3': + case '4': + case '5': selected = input.DeviceI.button - '0'-1; break; + case 'p': { - /* Stop copied sounds. */ - vector &snds = m_sSoundCopies[i]; - for( unsigned j = 0; j < snds.size(); ++j ) - snds[j]->Stop(); + /* We want to be able to read the position of copied sounds; if we let + * RageSound copy itself, then the copy will be owned by RageSoundManager + * and we won't be allowed to touch it. Copy it ourself. */ + RageSound *pCopy = new RageSound( s[selected].s ); + m_sSoundCopies[selected].push_back( pCopy ); + pCopy->Play(); + break; } - break; - case 'l': + case 's': + { + for( int i = 0; i < nsounds; ++i ) + { + /* Stop copied sounds. */ + vector &snds = m_sSoundCopies[i]; + for( unsigned j = 0; j < snds.size(); ++j ) + snds[j]->Stop(); + } + break; + } + case 'l': { RageSoundParams p = s[selected].s.GetParams(); p.StopMode = RageSoundParams::M_LOOP; s[selected].s.SetParams( p ); + break; } - - break; - case 'a': + case 'a': { RageSoundParams p = s[selected].s.GetParams(); p.StopMode = RageSoundParams::M_STOP; s[selected].s.SetParams( p ); + break; } - break; - case 'c': + case 'c': { RageSoundParams p = s[selected].s.GetParams(); p.StopMode = RageSoundParams::M_CONTINUE; s[selected].s.SetParams( p ); + break; } - break; - -/* case KEY_LEFT: - obj.SetX(obj.GetX() - 10); - break; - case KEY_RIGHT: - obj.SetX(obj.GetX() + 10); - break; - case KEY_UP: - obj.SetY(obj.GetY() - 10); - break; - case KEY_DOWN: - obj.SetY(obj.GetY() + 10); - break; +/* case KEY_LEFT: + obj.SetX(obj.GetX() - 10); + break; + case KEY_RIGHT: + obj.SetX(obj.GetX() + 10); + break; + case KEY_UP: + obj.SetY(obj.GetY() - 10); + break; + case KEY_DOWN: + obj.SetY(obj.GetY() + 10); + break; */ + default: break; } - + default: break; } } diff --git a/src/ScreenTextEntry.cpp b/src/ScreenTextEntry.cpp index ee5fa14164..620a0f7bcc 100644 --- a/src/ScreenTextEntry.cpp +++ b/src/ScreenTextEntry.cpp @@ -200,10 +200,11 @@ void ScreenTextEntry::Input( const InputEventPlus &input ) { switch( input.type ) { - case IET_FIRST_PRESS: - case IET_REPEAT: - BackspaceInAnswer(); - break; + case IET_FIRST_PRESS: + case IET_REPEAT: + BackspaceInAnswer(); + default: + break; } } else if( input.type == IET_FIRST_PRESS ) diff --git a/src/Song.cpp b/src/Song.cpp index 5a93c27078..604953e83d 100644 --- a/src/Song.cpp +++ b/src/Song.cpp @@ -41,7 +41,7 @@ * @brief The internal version of the cache for StepMania. * * Increment this value to invalidate the current cache. */ -const int FILE_CACHE_VERSION = 191; +const int FILE_CACHE_VERSION = 196; /** @brief How long does a song sample last by default? */ const float DEFAULT_MUSIC_SAMPLE_LENGTH = 12.f; @@ -258,7 +258,7 @@ static set BlacklistedImages; bool Song::LoadFromSongDir( RString sDir ) { // LOG->Trace( "Song::LoadFromSongDir(%s)", sDir.c_str() ); - ASSERT( sDir != "" ); + ASSERT_M( sDir != "", "Songs can't be loaded from an empty directory!" ); // make sure there is a trailing slash at the end of sDir if( sDir.Right(1) != "/" ) @@ -321,10 +321,14 @@ bool Song::LoadFromSongDir( RString sDir ) LOG->UserLog( "Song", sDir, "has no music file either. Ignoring this song directory." ); return false; } - + // Make sure we have a future filename figured out. + vector folders; + split(sDir, "/", folders); + RString songName = folders[2] + ".ssc"; + this->m_sSongFileName = sDir + songName; // Continue on with a blank Song so that people can make adjustments using the editor. } - TidyUpData(); + TidyUpData(false, true); // save a cache file so we don't have to parse it all over again next time if( !SaveToCacheFile() ) @@ -333,8 +337,6 @@ bool Song::LoadFromSongDir( RString sDir ) FOREACH( Steps*, m_vpSteps, s ) { - (*s)->SetFilename( sCacheFilePath ); - /* Compress all Steps. During initial caching, this will remove cached * NoteData; during cached loads, this will just remove cached SMData. */ (*s)->Compress(); @@ -446,7 +448,7 @@ void FixupPath( RString &path, const RString &sSongPath ) } // Songs in BlacklistImages will never be autodetected as song images. -void Song::TidyUpData( bool bFromCache ) +void Song::TidyUpData( bool fromCache, bool duringCache ) { // We need to do this before calling any of HasMusic, HasHasCDTitle, etc. ASSERT_M( m_sSongDir.Left(3) != "../", m_sSongDir ); // meaningless @@ -543,7 +545,7 @@ void Song::TidyUpData( bool bFromCache ) /* Generate these before we autogen notes, so the new notes can inherit * their source's values. */ - ReCalculateRadarValuesAndLastSecond( bFromCache ); + ReCalculateRadarValuesAndLastSecond( fromCache, true ); Trim( m_sMainTitle ); Trim( m_sSubTitle ); @@ -779,11 +781,11 @@ void Song::TidyUpData( bool bFromCache ) * music starts. */ if( arrayPossibleMovies.size() == 1 ) this->AddBackgroundChange(BACKGROUND_LAYER_1, - BackgroundChange(0, - arrayPossibleMovies[0], - "", - 1.f, - SBE_StretchNoLoop)); + BackgroundChange(0, + arrayPossibleMovies[0], + "", + 1.f, + SBE_StretchNoLoop)); } @@ -791,64 +793,6 @@ void Song::TidyUpData( bool bFromCache ) * for edits). We should be able to use difficulty names as unique * identifiers for steps. */ SongUtil::AdjustDuplicateSteps( this ); - - { - /* Generated filename; this doesn't always point to a loadable file, - * but instead points to the file we should write changed files to, - * and will always be a .SSC. - * - * This is a little tricky. We can't always use the song title directly, - * since it might contain characters we can't store in filenames. Two - * easy options: we could manually filter out invalid characters, or we - * could use the name of the directory, which is always a valid filename - * and should always be the same as the song. The former might not catch - * everything--filename restrictions are platform-specific; we might even - * be on an 8.3 filesystem, so let's do the latter. - * - * We can't rely on searching for other data filenames; it works for DWIs, - * but not KSFs and BMSs. - * - * So, let's do this (by priority): - * 1. If there's a .SSC file, use that filename. No reason to use anything - * else; it's the filename in use. - * 2. If there's an .SM, use it with a changed extension. - * 3. If there's a .DWI, use it with a changed extension. - * 4. Otherwise, use the name of the directory, since it's definitely a valid - * filename, and should always be the title of the song (unlike KSFs). */ - m_sSongFileName = m_sSongDir; - vector asFileNames; - do - { - GetDirListing( m_sSongDir+"*.ssc", asFileNames ); - if( !asFileNames.empty() ) - { - m_sSongFileName += asFileNames[0]; - break; - } - - GetDirListing( m_sSongDir+"*.sma", asFileNames ); - if (!asFileNames.empty() ) - { - m_sSongFileName += SetExtension( asFileNames[0], "ssc" ); - break; - } - - GetDirListing( m_sSongDir+"*.sm", asFileNames ); - if( !asFileNames.empty() ) - { - m_sSongFileName += SetExtension( asFileNames[0], "ssc" ); - break; - } - - GetDirListing( m_sSongDir+"*.dwi", asFileNames ); - if( !asFileNames.empty() ) { - m_sSongFileName += SetExtension( asFileNames[0], "ssc" ); - break; - } - m_sSongFileName += Basename(m_sSongDir); - m_sSongFileName += ".ssc"; - } while(0); - } } void Song::TranslateTitles() @@ -863,9 +807,9 @@ void Song::TranslateTitles() m_sMainTitleTranslit, m_sSubTitleTranslit, m_sArtistTranslit ); } -void Song::ReCalculateRadarValuesAndLastSecond( bool bFromCache ) +void Song::ReCalculateRadarValuesAndLastSecond(bool fromCache, bool duringCache) { - if( bFromCache && this->GetFirstSecond() >= 0 && this->GetLastSecond() > 0 ) + if( fromCache && this->GetFirstSecond() >= 0 && this->GetLastSecond() > 0 ) { // this is loaded from cache, then we just have to calculate the radar values. for( unsigned i=0; iCalculateRadarValues( m_fMusicLengthSeconds ); + // Must initialize before the gotos. + NoteData tempNoteData; + pSteps->GetNoteData( tempNoteData ); + // calculate lastSecond // If it's autogen, then first/last beat will come from the parent. if( pSteps->IsAutogen() ) - continue; + goto wipe_notedata; /* Don't calculate with edits unless the song only contains an edit * chart, like those in Mungyodance 3. Otherwise, edits installed on * the machine could extend the length of the song. */ if( pSteps->IsAnEdit() && m_vpSteps.size() > 1 ) - continue; + goto wipe_notedata; // Don't set first/last beat based on lights. They often start very // early and end very late. if( pSteps->m_StepsType == StepsType_lights_cabinet ) - continue; - - NoteData tempNoteData; - pSteps->GetNoteData( tempNoteData ); + continue; // no need to wipe this. /* Many songs have stray, empty song patterns. Ignore them, so they * don't force the first beat of the whole song to 0. */ - if( tempNoteData.GetLastRow() == 0 ) - continue; - - localFirst = min(localFirst, + if( tempNoteData.GetLastRow() != 0 ) + { + localFirst = min(localFirst, pSteps->m_Timing.GetElapsedTimeFromBeat(tempNoteData.GetFirstBeat())); - localLast = max(localLast, + localLast = max(localLast, pSteps->m_Timing.GetElapsedTimeFromBeat(tempNoteData.GetLastBeat())); + } + wipe_notedata: + if (duringCache) + { + NoteData dummy; + dummy.SetNumTracks(tempNoteData.GetNumTracks()); + pSteps->SetNoteData(dummy); + } } - this->firstSecond = localFirst; + // Yes, for some reason we can have freaky stuff take place here. + this->firstSecond = (localFirst < localLast) ? localFirst : 0; this->lastSecond = localLast; } @@ -1005,11 +958,15 @@ bool Song::SaveToSMFile() bool Song::SaveToSSCFile( RString sPath, bool bSavingCache ) { - LOG->Trace( "Song::SaveToSSCFile('%s')", sPath.c_str() ); + RString path = sPath; + if (!bSavingCache) + path = SetExtension(sPath, "ssc"); + + LOG->Trace( "Song::SaveToSSCFile('%s')", path.c_str() ); // If the file exists, make a backup. - if( !bSavingCache && IsAFile(sPath) ) - FileCopy( sPath, sPath + ".old" ); + if( !bSavingCache && IsAFile(path) ) + FileCopy( path, path + ".old" ); vector vpStepsToSave; FOREACH_CONST( Steps*, m_vpSteps, s ) @@ -1022,16 +979,23 @@ bool Song::SaveToSSCFile( RString sPath, bool bSavingCache ) if( pSteps->WasLoadedFromProfile() ) continue; + if (!bSavingCache) + pSteps->SetFilename(path); vpStepsToSave.push_back( pSteps ); } + + if (bSavingCache) + { + return NotesWriterSSC::Write(path, *this, vpStepsToSave, bSavingCache); + } - if( !NotesWriterSSC::Write(sPath, *this, vpStepsToSave, bSavingCache) ) + if( !NotesWriterSSC::Write(path, *this, vpStepsToSave, bSavingCache) ) return false; - if( !bSavingCache && g_BackUpAllSongSaves.Get() ) + if( g_BackUpAllSongSaves.Get() ) { - RString sExt = GetExtension( sPath ); - RString sBackupFile = SetExtension( sPath, "" ); + RString sExt = GetExtension( path ); + RString sBackupFile = SetExtension( path, "" ); time_t cur_time; time( &cur_time ); @@ -1043,18 +1007,15 @@ bool Song::SaveToSSCFile( RString sPath, bool bSavingCache ) sBackupFile = SetExtension( sBackupFile, sExt ); sBackupFile += ssprintf( ".old" ); - if( FileCopy(sPath, sBackupFile) ) - LOG->Trace( "Backed up %s to %s", sPath.c_str(), sBackupFile.c_str() ); + if( FileCopy(path, sBackupFile) ) + LOG->Trace( "Backed up %s to %s", path.c_str(), sBackupFile.c_str() ); else - LOG->Trace( "Failed to back up %s to %s", sPath.c_str(), sBackupFile.c_str() ); + LOG->Trace( "Failed to back up %s to %s", path.c_str(), sBackupFile.c_str() ); } - if( !bSavingCache ) - { - // Mark these steps saved to disk. - FOREACH( Steps*, vpStepsToSave, s ) - (*s)->SetSavedToDisk( true ); - } + // Mark these steps saved to disk. + FOREACH( Steps*, vpStepsToSave, s ) + (*s)->SetSavedToDisk( true ); return true; } @@ -1063,13 +1024,7 @@ bool Song::SaveToCacheFile() { SONGINDEX->AddCacheIndex(m_sSongDir, GetHashForDirectory(m_sSongDir)); const RString sPath = GetCacheFilePath(); - if( !SaveToSSCFile(sPath, true) ) - return false; - - FOREACH( Steps*, m_vpSteps, pSteps ) - (*pSteps)->SetFilename( sPath ); - - return true; + return SaveToSSCFile(sPath, true); } bool Song::SaveToDWIFile() @@ -1295,6 +1250,45 @@ vector &Song::GetForegroundChanges() return *m_ForegroundChanges.Get(); } +vector Song::GetChangesToVectorString(const vector & changes) const +{ + vector ret; + FOREACH_CONST( BackgroundChange, changes, bgc ) + { + ret.push_back((*bgc).ToString()); + } + return ret; +} + +vector Song::GetBGChanges1ToVectorString() const +{ + return this->GetChangesToVectorString(this->GetBackgroundChanges(BACKGROUND_LAYER_1)); +} + +vector Song::GetBGChanges2ToVectorString() const +{ + return this->GetChangesToVectorString(this->GetBackgroundChanges(BACKGROUND_LAYER_2)); +} + +vector Song::GetFGChanges1ToVectorString() const +{ + return this->GetChangesToVectorString(this->GetForegroundChanges()); +} + +vector Song::GetInstrumentTracksToVectorString() const +{ + vector ret; + FOREACH_ENUM(InstrumentTrack, it) + { + if (this->HasInstrumentTrack(it)) + { + ret.push_back(InstrumentTrackToString(it) + + "=" + + this->m_sInstrumentTrackFile[it]); + } + } + return ret; +} RString GetSongAssetPath( RString sPath, const RString &sSongPath ) { diff --git a/src/Song.h b/src/Song.h index a75b740dcd..5f17ad8969 100644 --- a/src/Song.h +++ b/src/Song.h @@ -20,7 +20,7 @@ void FixupPath( RString &path, const RString &sSongPath ); RString GetSongAssetPath( RString sPath, const RString &sSongPath ); /** @brief The version of the .ssc file format. */ -const static float STEPFILE_VERSION_NUMBER = 0.76f; +const static float STEPFILE_VERSION_NUMBER = 0.77f; /** @brief How many edits for this song can each profile have? */ const int MAX_EDITS_PER_SONG_PER_PROFILE = 15; @@ -91,14 +91,19 @@ public: // This one takes the effort to reuse Steps pointers as best as it can bool ReloadFromSongDir( RString sDir ); - /** @brief Call this after loading a song to clean up invalid data. */ - void TidyUpData( bool bFromCache = false ); + /** + * @brief Call this after loading a song to clean up invalid data. + * @param fromCache was this data loaded from the cache file? + * @param duringCache was this data loaded during the cache process? */ + void TidyUpData( bool fromCache = false, bool duringCache = false ); /** * @brief Get the new radar values, and determine the last second at the same time. * - * This is called by TidyUpData, after saving the Song. */ - void ReCalculateRadarValuesAndLastSecond( bool bFromCache = false ); + * This is called by TidyUpData, after saving the Song. + * @param fromCache was this data loaded from the cache file? + * @param duringCache was this data loaded during the cache process? */ + void ReCalculateRadarValuesAndLastSecond(bool fromCache = false, bool duringCache = false); /** * @brief Translate any titles that aren't in english. * @@ -180,7 +185,6 @@ public: RString GetDisplaySubTitle() const; RString GetDisplayArtist() const; - // Returns the transliterated titles, if any; otherwise returns the main titles. /** * @brief Retrieve the transliterated title, or the main title if there is no translit. * @return the proper title. */ @@ -315,12 +319,20 @@ private: * * This must be sorted before gameplay. */ AutoPtrCopyOnWrite m_ForegroundChanges; + + vector GetChangesToVectorString(const vector & changes) const; public: const vector &GetBackgroundChanges( BackgroundLayer bl ) const; vector &GetBackgroundChanges( BackgroundLayer bl ); const vector &GetForegroundChanges() const; vector &GetForegroundChanges(); + vector GetBGChanges1ToVectorString() const; + vector GetBGChanges2ToVectorString() const; + vector GetFGChanges1ToVectorString() const; + + vector GetInstrumentTracksToVectorString() const; + /** * @brief The list of LyricSegments. * @@ -426,6 +438,11 @@ public: CachedObject m_CachedObject; + RString GetAttackString() const + { + return join(":", this->m_sAttackString); + } + // Lua void PushSelf( lua_State *L ); diff --git a/src/SongManager.cpp b/src/SongManager.cpp index 59bf15fc1f..997f8f95ba 100644 --- a/src/SongManager.cpp +++ b/src/SongManager.cpp @@ -499,7 +499,7 @@ RageColor SongManager::GetSongColor( const Song* pSong ) const int i = m_vPreferredSongSort.size(); return SONG_GROUP_COLOR.GetValue( i%NUM_SONG_GROUP_COLORS ); } - else + else // TODO: Have a better fallback plan with colors? { /* XXX: Previously, this matched all notes, which set a song to "extra" * if it had any 10-foot steps at all, even edits or doubles. @@ -518,9 +518,10 @@ RageColor SongManager::GetSongColor( const Song* pSong ) const const Steps* pSteps = vpSteps[i]; switch( pSteps->GetDifficulty() ) { - case Difficulty_Challenge: - case Difficulty_Edit: - continue; + case Difficulty_Challenge: + case Difficulty_Edit: + continue; + default: break; } //if(pSteps->m_StepsType != st) @@ -529,7 +530,7 @@ RageColor SongManager::GetSongColor( const Song* pSong ) const if( pSteps->GetMeter() >= EXTRA_COLOR_METER ) return (RageColor)EXTRA_COLOR; } - if( pSong->m_sMainTitle == "DVNO") + if( pSong->m_sMainTitle == "DVNO") // XXX: What IS this? An easter egg? -Wolfman2000 { return RageColor(1.0f,0.8f,0.0f,1.0f); } diff --git a/src/StageStats.cpp b/src/StageStats.cpp index d30e7bfe9f..28ac23f8b7 100644 --- a/src/StageStats.cpp +++ b/src/StageStats.cpp @@ -166,9 +166,10 @@ void StageStats::FinalizeScores( bool bSummary ) { switch( GAMESTATE->m_PlayMode ) { - case PLAY_MODE_BATTLE: - case PLAY_MODE_RAVE: - return; // don't save scores in battle + case PLAY_MODE_BATTLE: + case PLAY_MODE_RAVE: + return; // don't save scores in battle + default: break; } if( PREFSMAN->m_sTestInitialScreen.Get() != "" ) diff --git a/src/StepMania-net2008.vcproj b/src/StepMania-net2008.vcproj index de9c6271f7..fa58c85a68 100644 --- a/src/StepMania-net2008.vcproj +++ b/src/StepMania-net2008.vcproj @@ -2,7 +2,7 @@ - sm-ssc + StepMania {AF209DBD-24BD-4356-8DFE-41751B221195} StepMania MFCProj @@ -67,15 +67,15 @@ <_ProjectFileVersion>10.0.30319.1 - $(TargetDir) - $(SolutionDir)/build-$(SolutionName)/$(ProjectName)/$(Configuration)\ + $(SolutionDir)$(Configuration)\ + $(Configuration)\ true true - $(TargetDir) - $(SolutionDir)/build-$(SolutionName)/$(ProjectName)/$(Configuration)\ + $(SolutionDir)$(Configuration)\ + $(Configuration)\ false - $(TargetDir) - $(SolutionDir)/build-$(SolutionName)/$(ProjectName)/$(Configuration)\ + $(SolutionDir)$(Configuration)\ + $(Configuration)\ true true $(SolutionDir)$(Configuration)\ diff --git a/src/StepMania.cpp b/src/StepMania.cpp index 9c9b4f2758..5b4c687d4c 100644 --- a/src/StepMania.cpp +++ b/src/StepMania.cpp @@ -1060,13 +1060,14 @@ int main(int argc, char* argv[]) GAMESTATE->m_bDopefish = true; { - /* Now that THEME is loaded, load the icon for the current theme into - * the loading window. */ + /* Now that THEME is loaded, load the icon and splash for the current + * theme into the loading window. */ RString sError; RageSurface *pIcon = RageSurfaceUtils::LoadFile( THEME->GetPathG( "Common", "window icon" ), sError ); if( pIcon ) pLoadingWindow->SetIcon( pIcon ); delete pIcon; + pLoadingWindow->SetSplash( THEME->GetPathG("Common","splash") ); } if( PREFSMAN->m_iSoundWriteAhead ) @@ -1296,28 +1297,29 @@ bool HandleGlobalInputs( const InputEventPlus &input ) switch( input.MenuI ) { - case GAME_BUTTON_OPERATOR: - /* Global operator key, to get quick access to the options menu. Don't - * do this if we're on a "system menu", which includes the editor - * (to prevent quitting without storing changes). */ - if( SCREENMAN->AllowOperatorMenuButton() ) - { - SCREENMAN->SystemMessage( SERVICE_SWITCH_PRESSED ); - SCREENMAN->PopAllScreens(); - GAMESTATE->Reset(); - SCREENMAN->SetNewScreen( CommonMetrics::OPERATOR_MENU_SCREEN ); - } - return true; + case GAME_BUTTON_OPERATOR: + /* Global operator key, to get quick access to the options menu. Don't + * do this if we're on a "system menu", which includes the editor + * (to prevent quitting without storing changes). */ + if( SCREENMAN->AllowOperatorMenuButton() ) + { + SCREENMAN->SystemMessage( SERVICE_SWITCH_PRESSED ); + SCREENMAN->PopAllScreens(); + GAMESTATE->Reset(); + SCREENMAN->SetNewScreen( CommonMetrics::OPERATOR_MENU_SCREEN ); + } + return true; - case GAME_BUTTON_COIN: - // Handle a coin insertion. - if( GAMESTATE->IsEditing() ) // no coins while editing - { - LOG->Trace( "Ignored coin insertion (editing)" ); - break; - } - StepMania::InsertCoin(); - return false; // Attract needs to know because it goes to TitleMenu on > 1 credit + case GAME_BUTTON_COIN: + // Handle a coin insertion. + if( GAMESTATE->IsEditing() ) // no coins while editing + { + LOG->Trace( "Ignored coin insertion (editing)" ); + break; + } + StepMania::InsertCoin(); + return false; // Attract needs to know because it goes to TitleMenu on > 1 credit + default: break; } /* Re-added for StepMania 3.9 theming veterans, plus it's just faster than diff --git a/src/Steps.cpp b/src/Steps.cpp index 5961172f93..9700de9a1b 100644 --- a/src/Steps.cpp +++ b/src/Steps.cpp @@ -24,6 +24,11 @@ #include "NoteDataUtil.h" #include "NotesLoaderSSC.h" #include "NotesLoaderSM.h" +#include "NotesLoaderSMA.h" +#include "NotesLoaderDWI.h" +#include "NotesLoaderKSF.h" +#include "NotesLoaderBMS.h" +#include "NotesLoaderPMS.h" #include @@ -78,6 +83,50 @@ unsigned Steps::GetHash() const return m_iHash; } +bool Steps::IsNoteDataEmpty() const +{ + return this->m_sNoteDataCompressed.empty(); +} + +bool Steps::GetNoteDataFromSimfile() +{ + // Replace the line below with the Steps' cache file. + RString stepFile = this->GetFilename(); + RString extension = GetExtension(stepFile); + if (extension.empty() || extension == "ssc") // remember cache files. + { + SSCLoader loader; + return loader.LoadNoteDataFromSimfile(stepFile, *this); + } + else if (extension == "sm") + { + SMLoader loader; + return loader.LoadNoteDataFromSimfile(stepFile, *this); + } + else if (extension == "sma") + { + SMALoader loader; + return loader.LoadNoteDataFromSimfile(stepFile, *this); + } + else if (extension == "dwi") + { + return DWILoader::LoadNoteDataFromSimfile(stepFile, *this); + } + else if (extension == "ksf") + { + return KSFLoader::LoadNoteDataFromSimfile(stepFile, *this); + } + else if (extension == "bms" || extension == "bml" || extension == "bme") + { + return BMSLoader::LoadNoteDataFromSimfile(stepFile, *this); + } + else if (extension == "pms") + { + return PMSLoader::LoadNoteDataFromSimfile(stepFile, *this); + } + return false; +} + void Steps::SetNoteData( const NoteData& noteDataNew ) { ASSERT( noteDataNew.GetNumTracks() == GAMEMAN->GetStepsTypeInfo(m_StepsType).iNumTracks ); @@ -89,7 +138,6 @@ void Steps::SetNoteData( const NoteData& noteDataNew ) m_sNoteDataCompressed = RString(); m_iHash = 0; - m_sFilename = RString(); // We can no longer read from the file because it has changed in memory. } void Steps::GetNoteData( NoteData& noteDataOut ) const @@ -121,7 +169,6 @@ void Steps::SetSMNoteData( const RString ¬es_comp_ ) m_sNoteDataCompressed = notes_comp_; m_iHash = 0; - m_sFilename = RString(); // We can no longer read from the file because it has changed in memory. } /* XXX: this function should pull data from m_sFilename, like Decompress() */ @@ -250,6 +297,11 @@ void Steps::CalculateRadarValues( float fMusicLengthSeconds ) } void Steps::Decompress() const +{ + const_cast(this)->Decompress(); +} + +void Steps::Decompress() { if( m_bNoteDataIsFilled ) return; // already decompressed @@ -279,38 +331,14 @@ void Steps::Decompress() const if( !m_sFilename.empty() && m_sNoteDataCompressed.empty() ) { - // We have data on disk and not in memory. Load it. - Song s; - SSCLoader loaderSSC; - bool bLoadedFromSSC = loaderSSC.LoadFromSimfile(m_sFilename, s, true); - if( !bLoadedFromSSC ) + // We have NoteData on disk and not in memory. Load it. + if (!this->GetNoteDataFromSimfile()) { - // try reading from .sm instead - SMLoader loaderSM; - if( !loaderSM.LoadFromSimfile(m_sFilename, s, true) ) - { - LOG->Warn( "Couldn't load \"%s\"", m_sFilename.c_str() ); - return; - } - } - - /* Find the steps. */ - StepsID ID; - ID.FromSteps( this ); - - /* We're using a StepsID to search in a different copy of a Song than - * the one it was created with. Clear the cache before doing this, - * or search results will come from cache and point to the original - * copy. */ - CachedObject::ClearCacheAll(); - Steps *pSteps = ID.ToSteps( &s, true ); - if( pSteps == NULL ) - { - LOG->Warn( "Couldn't find %s in \"%s\"", ID.ToString().c_str(), m_sFilename.c_str() ); + LOG->Warn("Couldn't load \"%s\"", m_sFilename.c_str()); return; } - pSteps->GetSMNoteData( m_sNoteDataCompressed ); + this->GetSMNoteData( m_sNoteDataCompressed ); } if( m_sNoteDataCompressed.empty() ) diff --git a/src/Steps.h b/src/Steps.h index a6a4aded2e..f954e39d32 100644 --- a/src/Steps.h +++ b/src/Steps.h @@ -49,6 +49,7 @@ public: void Compress() const; void Decompress() const; + void Decompress(); /** * @brief Determine if these steps were created by the autogenerator. * @return true if they were, false otherwise. @@ -138,6 +139,18 @@ public: void SetNoteData( const NoteData& noteDataNew ); void SetSMNoteData( const RString ¬es_comp ); void GetSMNoteData( RString ¬es_comp_out ) const; + + /** + * @brief Retrieve the NoteData from the original source. + * @return true if successful, false for failure. */ + bool GetNoteDataFromSimfile(); + + /** + * @brief Determine if we are missing any note data. + * + * This takes advantage of the fact that we usually compress our data. + * @return true if our notedata is empty, false otherwise. */ + bool IsNoteDataEmpty() const; void TidyUpData(); void CalculateRadarValues( float fMusicLengthSeconds ); @@ -200,6 +213,11 @@ public: void GetDisplayBpms( DisplayBpms &addTo) const; + RString GetAttackString() const + { + return join(":", this->m_sAttackString); + } + private: inline const Steps *Real() const { return parent ? parent : this; } void DeAutogen( bool bCopyNoteData = true ); /* If this Steps is autogenerated, make it a real Steps. */ diff --git a/src/TimingData.cpp b/src/TimingData.cpp index 5ecfa97a96..8c3961c0ca 100644 --- a/src/TimingData.cpp +++ b/src/TimingData.cpp @@ -8,156 +8,186 @@ #include -TimingData::TimingData() : - m_fBeat0OffsetInSeconds(0) -{ -} - TimingData::TimingData(float fOffset) : m_fBeat0OffsetInSeconds(fOffset) -{ +{ + // allTimingSegments[SEGMENT_BPM] = new vector(); +} + +TimingData::~TimingData() +{ } void TimingData::GetActualBPM( float &fMinBPMOut, float &fMaxBPMOut, float highest ) const { fMinBPMOut = FLT_MAX; fMaxBPMOut = 0; - FOREACH_CONST( BPMSegment, m_BPMSegments, seg ) + const vector &bpms = this->allTimingSegments[SEGMENT_BPM]; + for (unsigned i = 0; i < bpms.size(); i++) { + BPMSegment *seg = static_cast(bpms[i]); const float fBPM = seg->GetBPM(); fMaxBPMOut = clamp(max( fBPM, fMaxBPMOut ), 0, highest); fMinBPMOut = min( fBPM, fMinBPMOut ); } } +struct ts_less : binary_function { + bool operator() (const TimingSegment *x, const TimingSegment *y) const { + return (*x) < (*y); + } +}; -void TimingData::AddBPMSegment( const BPMSegment &seg ) +void TimingData::AddSegment(TimingSegmentType tst, TimingSegment * seg) { - m_BPMSegments.insert( upper_bound(m_BPMSegments.begin(), m_BPMSegments.end(), seg), seg ); + vector &segs = this->allTimingSegments[tst]; + // Unsure if this uses the proper comparison. + segs.insert(upper_bound(segs.begin(), segs.end(), seg, ts_less()), seg); } -void TimingData::AddStopSegment( const StopSegment &seg ) +int TimingData::GetSegmentIndexAtRow(TimingSegmentType tst, + int row, bool isDelay) const { - m_StopSegments.insert( upper_bound(m_StopSegments.begin(), m_StopSegments.end(), seg), seg ); + const vector &segs = this->allTimingSegments[tst]; + unsigned i = 0; + for (; i < segs.size() - 1; i++) + { + TimingSegment *seg = segs[i+1]; + if (seg->GetRow() > row) + { + // put conditions here for individual segments. + if (tst == SEGMENT_STOP_DELAY && + static_cast(seg)->GetDelay() != isDelay) + continue; + break; + } + } + return static_cast(i); } -void TimingData::AddTimeSignatureSegment( const TimeSignatureSegment &seg ) +float TimingData::GetNextSegmentBeatAtRow(TimingSegmentType tst, + int row, bool isDelay) const { - m_vTimeSignatureSegments.insert( upper_bound(m_vTimeSignatureSegments.begin(), m_vTimeSignatureSegments.end(), seg), seg ); + const vector segs = this->allTimingSegments[tst]; + for (unsigned i = 0; i < segs.size(); i++ ) + { + if( segs[i]->GetRow() <= row ) + { + continue; + } + if (tst != SEGMENT_STOP_DELAY || + static_cast(segs[i])->GetDelay() == isDelay) + return segs[i]->GetBeat(); + } + return NoteRowToBeat(row); } -void TimingData::AddWarpSegment( const WarpSegment &seg ) +float TimingData::GetPreviousSegmentBeatAtRow(TimingSegmentType tst, + int row, bool isDelay) const { - m_WarpSegments.insert( upper_bound(m_WarpSegments.begin(), m_WarpSegments.end(), seg), seg ); + float backup = -1; + const vector segs = this->allTimingSegments[tst]; + for (unsigned i = 0; i < segs.size(); i++ ) + { + if( segs[i]->GetRow() >= row ) + { + break; + } + if (tst != SEGMENT_STOP_DELAY || + static_cast(segs[i])->GetDelay() == isDelay) + backup = segs[i]->GetBeat(); + } + return (backup > -1) ? backup : NoteRowToBeat(row); } -void TimingData::AddTickcountSegment( const TickcountSegment &seg ) -{ - m_TickcountSegments.insert( upper_bound(m_TickcountSegments.begin(), m_TickcountSegments.end(), seg), seg ); -} - -void TimingData::AddComboSegment( const ComboSegment &seg ) -{ - m_ComboSegments.insert( upper_bound(m_ComboSegments.begin(), m_ComboSegments.end(), seg), seg ); -} - -void TimingData::AddLabelSegment( const LabelSegment &seg ) -{ - m_LabelSegments.insert( upper_bound(m_LabelSegments.begin(), m_LabelSegments.end(), seg), seg ); -} - -void TimingData::AddSpeedSegment( const SpeedSegment &seg ) -{ - m_SpeedSegments.insert( upper_bound(m_SpeedSegments.begin(), m_SpeedSegments.end(), seg), seg ); -} - -void TimingData::AddScrollSegment( const ScrollSegment &seg ) -{ - m_ScrollSegments.insert( upper_bound(m_ScrollSegments.begin(), m_ScrollSegments.end(), seg), seg ); -} - -void TimingData::AddFakeSegment( const FakeSegment &seg ) -{ - m_FakeSegments.insert( upper_bound(m_FakeSegments.begin(), m_FakeSegments.end(), seg), seg ); -} +// TODO: Find a way to combine all of these SetAtRows to one. /* Change an existing BPM segment, merge identical segments together or insert a new one. */ void TimingData::SetBPMAtRow( int iNoteRow, float fBPM ) { unsigned i; - for( i=0; i= iNoteRow ) + vector &bpms = this->allTimingSegments[SEGMENT_BPM]; + for( i=0; iGetRow() >= iNoteRow ) break; - if( i == m_BPMSegments.size() || m_BPMSegments[i].GetRow() != iNoteRow ) + BPMSegment *bs = static_cast(bpms[i]); + if( i == bpms.size() || bs->GetRow() != iNoteRow ) { // There is no BPMSegment at the specified beat. If the BPM being set differs // from the last BPMSegment's BPM, create a new BPMSegment. - if( i == 0 || fabsf(m_BPMSegments[i-1].GetBPM() - fBPM) > 1e-5f ) - AddBPMSegment( BPMSegment(iNoteRow, fBPM) ); + if (i == 0 || + fabsf(static_cast(bpms[i-1])->GetBPM() - fBPM) > 1e-5f ) + AddSegment( SEGMENT_BPM, new BPMSegment(iNoteRow, fBPM) ); } else // BPMSegment being modified is m_BPMSegments[i] { - if( i > 0 && fabsf(m_BPMSegments[i-1].GetBPM() - fBPM) < 1e-5f ) - m_BPMSegments.erase( m_BPMSegments.begin()+i, m_BPMSegments.begin()+i+1 ); + if (i > 0 && + fabsf(static_cast(bpms[i-1])->GetBPM() - fBPM) < 1e-5f ) + bpms.erase( bpms.begin()+i, bpms.begin()+i+1 ); else - m_BPMSegments[i].SetBPM(fBPM); + bs->SetBPM(fBPM); } } void TimingData::SetStopAtRow( int iRow, float fSeconds, bool bDelay ) { unsigned i; - for( i=0; i &stops = this->allTimingSegments[SEGMENT_STOP_DELAY]; + for( i=0; iGetRow() == iRow && + static_cast(stops[i])->GetDelay() == bDelay ) break; - if( i == m_StopSegments.size() ) // there is no Stop/Delay Segment at the current beat + StopSegment *ss = static_cast(stops[i]); + if( i == stops.size() ) // there is no Stop/Delay Segment at the current beat { // create a new StopSegment if( fSeconds > 0 ) { - AddStopSegment( StopSegment(iRow, fSeconds, bDelay) ); + AddSegment( SEGMENT_STOP_DELAY, new StopSegment(iRow, fSeconds, bDelay) ); } } else // StopSegment being modified is m_StopSegments[i] { if( fSeconds > 0 ) { - m_StopSegments[i].SetPause(fSeconds); + ss->SetPause(fSeconds); } else - m_StopSegments.erase( m_StopSegments.begin()+i, m_StopSegments.begin()+i+1 ); + stops.erase( stops.begin()+i, stops.begin()+i+1 ); } } void TimingData::SetTimeSignatureAtRow( int iRow, int iNumerator, int iDenominator ) { unsigned i; - for( i = 0; i < m_vTimeSignatureSegments.size(); i++ ) + vector &tSigs = this->allTimingSegments[SEGMENT_TIME_SIG]; + for( i = 0; i < tSigs.size(); i++ ) { - if( m_vTimeSignatureSegments[i].GetRow() >= iRow) + if( tSigs[i]->GetRow() >= iRow) break; // We found our segment. } - if ( i == m_vTimeSignatureSegments.size() || m_vTimeSignatureSegments[i].GetRow() != iRow ) + TimeSignatureSegment *ts = static_cast(tSigs[i]); + if ( i == tSigs.size() || ts->GetRow() != iRow ) { - // No specific segmeent here: place one if it differs. - if( i == 0 || - ( m_vTimeSignatureSegments[i-1].GetNum() != iNumerator - || m_vTimeSignatureSegments[i-1].GetDen() != iDenominator ) ) - AddTimeSignatureSegment( TimeSignatureSegment(iRow, iNumerator, iDenominator) ); + // No specific segment here: place one if it differs. + if (i == 0 || + (static_cast(tSigs[i-1])->GetNum() != iNumerator || + static_cast(tSigs[i-1])->GetDen() != iDenominator ) ) + AddSegment( SEGMENT_TIME_SIG, new TimeSignatureSegment(iRow, iNumerator, iDenominator) ); } else // TimeSignatureSegment being modified is m_vTimeSignatureSegments[i] { - if( i > 0 && m_vTimeSignatureSegments[i-1].GetNum() == iNumerator - && m_vTimeSignatureSegments[i-1].GetDen() == iDenominator ) - m_vTimeSignatureSegments.erase( m_vTimeSignatureSegments.begin()+i, - m_vTimeSignatureSegments.begin()+i+1 ); + if (i > 0 && + static_cast(tSigs[i-1])->GetNum() == iNumerator && + static_cast(tSigs[i-1])->GetDen() == iDenominator ) + tSigs.erase( tSigs.begin()+i, tSigs.begin()+i+1 ); else { - m_vTimeSignatureSegments[i].SetNum(iNumerator); - m_vTimeSignatureSegments[i].SetDen(iDenominator); + ts->SetNum(iNumerator); + ts->SetDen(iDenominator); } } } @@ -166,86 +196,105 @@ void TimingData::SetTimeSignatureNumeratorAtRow( int iRow, int iNumerator ) { this->SetTimeSignatureAtRow(iRow, iNumerator, - GetTimeSignatureSegmentAtRow(iRow).GetDen()); + GetTimeSignatureSegmentAtRow(iRow)->GetDen()); } void TimingData::SetTimeSignatureDenominatorAtRow( int iRow, int iDenominator ) { this->SetTimeSignatureAtRow(iRow, - GetTimeSignatureSegmentAtRow(iRow).GetNum(), + GetTimeSignatureSegmentAtRow(iRow)->GetNum(), iDenominator); } void TimingData::SetWarpAtRow( int iRow, float fNew ) { unsigned i; - for( i=0; i &warps = this->allTimingSegments[SEGMENT_WARP]; + for( i=0; iGetRow() == iRow ) break; bool valid = iRow > 0 && fNew > 0; - if( i == m_WarpSegments.size() ) + if( i == warps.size() ) { if( valid ) { - AddWarpSegment( WarpSegment(iRow, fNew) ); + AddSegment( SEGMENT_WARP, new WarpSegment(iRow, fNew) ); } } else { if( valid ) { - m_WarpSegments[i].SetLength(fNew); + static_cast(warps[i])->SetLength(fNew); } else - m_WarpSegments.erase( m_WarpSegments.begin()+i, m_WarpSegments.begin()+i+1 ); + warps.erase( warps.begin()+i, warps.begin()+i+1 ); } } /* Change an existing Tickcount segment, merge identical segments together or insert a new one. */ void TimingData::SetTickcountAtRow( int iRow, int iTicks ) { - unsigned i; - for( i=0; i= iRow ) + LOG->Trace( "TimingData::SetTickcountAtRow( '%i' , '%i' )", iRow, iTicks ); + + unsigned i = 0; + vector &ticks = this->allTimingSegments[SEGMENT_TICKCOUNT]; + for( i=0; iGetRow() >= iRow ) break; - if( i == m_TickcountSegments.size() || m_TickcountSegments[i].GetRow() != iRow ) + // this thing causes an invalid parameter crash + TickcountSegment *ts = static_cast(ticks[i]); + LOG->Trace( "Done with that thing again" ); + + if( i == ticks.size() || ts->GetRow() != iRow ) { + LOG->Trace( "New TickSegment" ); // No TickcountSegment here. Make a new segment if required. - if( i == 0 || m_TickcountSegments[i-1].GetTicks() != iTicks ) - AddTickcountSegment( TickcountSegment(iRow, iTicks ) ); + if (i == 0 || + static_cast(ticks[i-1])->GetTicks() != iTicks ) + AddSegment( SEGMENT_TICKCOUNT, new TickcountSegment(iRow, iTicks ) ); } else // TickcountSegment being modified is m_TickcountSegments[i] { - if( i > 0 && m_TickcountSegments[i-1].GetTicks() == iTicks ) - m_TickcountSegments.erase( m_TickcountSegments.begin()+i, m_TickcountSegments.begin()+i+1 ); + LOG->Trace( "Editing TickSegment" ); + if (i > 0 && + static_cast(ticks[i-1])->GetTicks() == iTicks ) + ticks.erase( ticks.begin()+i, ticks.begin()+i+1 ); else - m_TickcountSegments[i].SetTicks(iTicks); + ts->SetTicks(iTicks); } + + LOG->Trace( "DONE" ); } void TimingData::SetComboAtRow( int iRow, int iCombo, int iMiss ) { unsigned i; - for( i=0; i= iRow ) + vector &combos = this->allTimingSegments[SEGMENT_COMBO]; + for( i=0; iGetRow() >= iRow ) break; - if( i == m_ComboSegments.size() || m_ComboSegments[i].GetRow() != iRow ) + ComboSegment *cs = static_cast(combos[i]); + + if( i == combos.size() || cs->GetRow() != iRow ) { - if(i == 0 || m_ComboSegments[i-1].GetCombo() != iCombo || - m_ComboSegments[i-1].GetMissCombo() != iMiss) - AddComboSegment( ComboSegment(iRow, iCombo ) ); + if (i == 0 || + static_cast(combos[i-1])->GetCombo() != iCombo || + static_cast(combos[i-1])->GetMissCombo() != iMiss) + AddSegment( SEGMENT_COMBO, new ComboSegment(iRow, iCombo, iMiss ) ); } else { - if(i > 0 && m_ComboSegments[i-1].GetCombo() == iCombo && - m_ComboSegments[i-1].GetMissCombo() == iMiss) - m_ComboSegments.erase( m_ComboSegments.begin()+i, m_ComboSegments.begin()+i+1 ); + if (i > 0 && + static_cast(combos[i-1])->GetCombo() == iCombo && + static_cast(combos[i-1])->GetMissCombo() == iMiss) + combos.erase( combos.begin()+i, combos.begin()+i+1 ); else { - m_ComboSegments[i].SetCombo(iCombo); - m_ComboSegments[i].SetMissCombo(iMiss); + cs->SetCombo(iCombo); + cs->SetMissCombo(iMiss); } } } @@ -254,63 +303,73 @@ void TimingData::SetHitComboAtRow(int iRow, int iCombo) { this->SetComboAtRow(iRow, iCombo, - this->GetComboSegmentAtRow(iRow).GetMissCombo()); + this->GetComboSegmentAtRow(iRow)->GetMissCombo()); } void TimingData::SetMissComboAtRow(int iRow, int iMiss) { this->SetComboAtRow(iRow, - this->GetComboSegmentAtRow(iRow).GetCombo(), + this->GetComboSegmentAtRow(iRow)->GetCombo(), iMiss); } void TimingData::SetLabelAtRow( int iRow, const RString sLabel ) { unsigned i; - for( i=0; i= iRow ) + vector &labels = this->allTimingSegments[SEGMENT_LABEL]; + for( i=0; iGetRow() >= iRow ) break; - if( i == m_LabelSegments.size() || m_LabelSegments[i].GetRow() != iRow ) + LabelSegment *ls = static_cast(labels[i]); + + if( i == labels.size() || ls->GetRow() != iRow ) { - if( i == 0 || m_LabelSegments[i-1].GetLabel() != sLabel ) - AddLabelSegment( LabelSegment(iRow, sLabel ) ); + if (i == 0 || + static_cast(labels[i-1])->GetLabel() != sLabel ) + AddSegment( SEGMENT_LABEL, new LabelSegment(iRow, sLabel ) ); } else { - if( i > 0 && ( m_LabelSegments[i-1].GetLabel() == sLabel || sLabel == "" ) ) - m_LabelSegments.erase( m_LabelSegments.begin()+i, m_LabelSegments.begin()+i+1 ); + if (i > 0 && + ( static_cast(labels[i-1])->GetLabel() == sLabel || + sLabel == "" ) ) + labels.erase( labels.begin()+i, labels.begin()+i+1 ); else - m_LabelSegments[i].SetLabel(sLabel); + ls->SetLabel(sLabel); } } void TimingData::SetSpeedAtRow( int iRow, float fPercent, float fWait, unsigned short usMode ) { unsigned i; - for( i = 0; i < m_SpeedSegments.size(); i++ ) + vector &speeds = this->allTimingSegments[SEGMENT_SPEED]; + for( i = 0; i < speeds.size(); i++ ) { - if( m_SpeedSegments[i].GetRow() >= iRow) + if( speeds[i]->GetRow() >= iRow) break; } - if ( i == m_SpeedSegments.size() || m_SpeedSegments[i].GetRow() != iRow ) + SpeedSegment *ss = static_cast(speeds[i]); + + if ( i == speeds.size() || ss->GetRow() != iRow ) { // the core mod itself matters the most for comparisons. - if( i == 0 || m_SpeedSegments[i-1].GetRatio() != fPercent ) - AddSpeedSegment( SpeedSegment(iRow, fPercent, fWait, usMode) ); + if (i == 0 || + static_cast(speeds[i-1])->GetRatio() != fPercent ) + AddSegment( SEGMENT_SPEED, new SpeedSegment(iRow, fPercent, fWait, usMode) ); } else { // The others aren't compared: only the mod itself matters. - if( i > 0 && m_SpeedSegments[i-1].GetRatio() == fPercent ) - m_SpeedSegments.erase( m_SpeedSegments.begin()+i, - m_SpeedSegments.begin()+i+1 ); + if (i > 0 && + static_cast(speeds[i-1])->GetRatio() == fPercent ) + speeds.erase( speeds.begin()+i, speeds.begin()+i+1 ); else { - m_SpeedSegments[i].SetRatio(fPercent); - m_SpeedSegments[i].SetLength(fWait); - m_SpeedSegments[i].SetUnit(usMode); + ss->SetRatio(fPercent); + ss->SetLength(fWait); + ss->SetUnit(usMode); } } } @@ -318,27 +377,30 @@ void TimingData::SetSpeedAtRow( int iRow, float fPercent, float fWait, unsigned void TimingData::SetScrollAtRow( int iRow, float fPercent ) { unsigned i; - for( i = 0; i < m_ScrollSegments.size(); i++ ) + vector &scrolls = this->allTimingSegments[SEGMENT_SCROLL]; + for( i = 0; i < scrolls.size(); i++ ) { - if( m_ScrollSegments[i].GetRow() >= iRow) + if( scrolls[i]->GetRow() >= iRow) break; } - if ( i == m_ScrollSegments.size() || m_ScrollSegments[i].GetRow() != iRow ) + ScrollSegment *ss = static_cast(scrolls[i]); + if ( i == scrolls.size() || ss->GetRow() != iRow ) { // the core mod itself matters the most for comparisons. - if( i == 0 || m_ScrollSegments[i-1].GetRatio() != fPercent ) - AddScrollSegment( ScrollSegment(iRow, fPercent) ); + if (i == 0 || + static_cast(scrolls[i-1])->GetRatio() != fPercent ) + AddSegment( SEGMENT_SCROLL, new ScrollSegment(iRow, fPercent) ); } else { // The others aren't compared: only the mod itself matters. - if( i > 0 && m_ScrollSegments[i-1].GetRatio() == fPercent ) - m_ScrollSegments.erase( m_ScrollSegments.begin()+i, - m_ScrollSegments.begin()+i+1 ); + if (i > 0 && + static_cast(scrolls[i-1])->GetRatio() == fPercent ) + scrolls.erase( scrolls.begin()+i, scrolls.begin()+i+1 ); else { - m_ScrollSegments[i].SetRatio(fPercent); + ss->SetRatio(fPercent); } } } @@ -346,25 +408,26 @@ void TimingData::SetScrollAtRow( int iRow, float fPercent ) void TimingData::SetFakeAtRow( int iRow, float fNew ) { unsigned i; - for( i=0; i &fakes = this->allTimingSegments[SEGMENT_FAKE]; + for( i=0; iGetRow() == iRow ) break; bool valid = iRow > 0 && fNew > 0; - if( i == m_FakeSegments.size() ) + if( i == fakes.size() ) { if( valid ) { - AddFakeSegment( FakeSegment(iRow, fNew) ); + AddSegment( SEGMENT_FAKE, new FakeSegment(iRow, fNew) ); } } else { if( valid ) { - m_FakeSegments[i].SetLength(fNew); + static_cast(fakes[i])->SetLength(fNew); } else - m_FakeSegments.erase( m_FakeSegments.begin()+i, m_FakeSegments.begin()+i+1 ); + fakes.erase( fakes.begin()+i, fakes.begin()+i+1 ); } } @@ -372,35 +435,36 @@ void TimingData::SetSpeedPercentAtRow( int iRow, float fPercent ) { SetSpeedAtRow( iRow, fPercent, - GetSpeedSegmentAtBeat( NoteRowToBeat( iRow ) ).GetLength(), - GetSpeedSegmentAtBeat( NoteRowToBeat( iRow ) ).GetUnit()); + GetSpeedSegmentAtRow( iRow )->GetLength(), + GetSpeedSegmentAtRow( iRow )->GetUnit()); } void TimingData::SetSpeedWaitAtRow( int iRow, float fWait ) { SetSpeedAtRow( iRow, - GetSpeedSegmentAtBeat( NoteRowToBeat( iRow ) ).GetRatio(), + GetSpeedSegmentAtRow( iRow )->GetRatio(), fWait, - GetSpeedSegmentAtBeat( NoteRowToBeat( iRow ) ).GetUnit()); + GetSpeedSegmentAtRow( iRow )->GetUnit()); } void TimingData::SetSpeedModeAtRow( int iRow, unsigned short usMode ) { SetSpeedAtRow( iRow, - GetSpeedSegmentAtBeat( NoteRowToBeat( iRow ) ).GetRatio(), - GetSpeedSegmentAtBeat( NoteRowToBeat( iRow ) ).GetLength(), + GetSpeedSegmentAtRow( iRow )->GetRatio(), + GetSpeedSegmentAtRow( iRow )->GetLength(), usMode ); } float TimingData::GetStopAtRow( int iNoteRow, bool bDelay ) const { - for( unsigned i=0; i &stops = this->allTimingSegments[SEGMENT_STOP_DELAY]; + for( unsigned i=0; i(stops[i]); + if( s->GetDelay() == bDelay && s->GetRow() == iNoteRow ) { - return s.GetPause(); + return s->GetPause(); } } return 0; @@ -419,26 +483,33 @@ float TimingData::GetDelayAtRow( int iRow ) const int TimingData::GetComboAtRow( int iNoteRow ) const { - return m_ComboSegments[this->GetComboSegmentIndexAtRow(iNoteRow)].GetCombo(); + const vector &c = this->allTimingSegments[SEGMENT_COMBO]; + const int index = this->GetSegmentIndexAtRow(SEGMENT_COMBO, iNoteRow); + return static_cast(c[index])->GetCombo(); } int TimingData::GetMissComboAtRow(int iNoteRow) const { - return m_ComboSegments[this->GetComboSegmentIndexAtRow(iNoteRow)].GetMissCombo(); + const vector &c = this->allTimingSegments[SEGMENT_COMBO]; + const int index = this->GetSegmentIndexAtRow(SEGMENT_COMBO, iNoteRow); + return static_cast(c[index])->GetMissCombo(); } RString TimingData::GetLabelAtRow( int iRow ) const { - return m_LabelSegments[GetLabelSegmentIndexAtRow( iRow )].GetLabel(); + const vector &l = this->allTimingSegments[SEGMENT_LABEL]; + const int index = this->GetSegmentIndexAtRow(SEGMENT_LABEL, iRow); + return static_cast(l[index])->GetLabel(); } float TimingData::GetWarpAtRow( int iWarpRow ) const { - for( unsigned i=0; i &warps = this->allTimingSegments[SEGMENT_WARP]; + for( unsigned i=0; iGetRow() == iWarpRow ) { - return m_WarpSegments[i].GetLength(); + return static_cast(warps[i])->GetLength(); } } return 0; @@ -446,31 +517,32 @@ float TimingData::GetWarpAtRow( int iWarpRow ) const float TimingData::GetSpeedPercentAtRow( int iRow ) { - return GetSpeedSegmentAtRow( iRow ).GetRatio(); + return GetSpeedSegmentAtRow( iRow )->GetRatio(); } float TimingData::GetSpeedWaitAtRow( int iRow ) { - return GetSpeedSegmentAtRow( iRow ).GetLength(); + return GetSpeedSegmentAtRow( iRow )->GetLength(); } unsigned short TimingData::GetSpeedModeAtRow( int iRow ) { - return GetSpeedSegmentAtRow( iRow ).GetUnit(); + return GetSpeedSegmentAtRow( iRow )->GetUnit(); } float TimingData::GetScrollAtRow( int iRow ) { - return GetScrollSegmentAtRow( iRow ).GetRatio(); + return GetScrollSegmentAtRow( iRow )->GetRatio(); } float TimingData::GetFakeAtRow( int iFakeRow ) const { - for( unsigned i=0; i &fakes = this->allTimingSegments[SEGMENT_FAKE]; + for( unsigned i=0; iGetRow() == iFakeRow ) { - return m_FakeSegments[i].GetLength(); + return static_cast(fakes[i])->GetLength(); } } return 0; @@ -480,11 +552,13 @@ float TimingData::GetFakeAtRow( int iFakeRow ) const void TimingData::MultiplyBPMInBeatRange( int iStartIndex, int iEndIndex, float fFactor ) { // Change all other BPM segments in this range. - for( unsigned i=0; i &bpms = this->allTimingSegments[SEGMENT_BPM]; + for( unsigned i=0; i(bpms[i]); + const int iStartIndexThisSegment = bs->GetRow(); + const bool bIsLastBPMSegment = i == bpms.size()-1; + const int iStartIndexNextSegment = bIsLastBPMSegment ? INT_MAX : bpms[i+1]->GetRow(); if( iStartIndexThisSegment <= iStartIndex && iStartIndexNextSegment <= iStartIndex ) continue; @@ -493,9 +567,10 @@ void TimingData::MultiplyBPMInBeatRange( int iStartIndex, int iEndIndex, float f * split it into two. */ if( iStartIndexThisSegment < iStartIndex && iStartIndexNextSegment > iStartIndex ) { - BPMSegment b = m_BPMSegments[i]; - b.SetRow(iStartIndexNextSegment); - m_BPMSegments.insert( m_BPMSegments.begin()+i+1, b ); + + BPMSegment * b = new BPMSegment(iStartIndexNextSegment, + bs->GetBPS()); + bpms.insert(bpms.begin()+i+1, b); /* Don't apply the BPM change to the first half of the segment we * just split, since it lies outside the range. */ @@ -505,83 +580,40 @@ void TimingData::MultiplyBPMInBeatRange( int iStartIndex, int iEndIndex, float f // If this BPM segment crosses the end of the range, split it into two. if( iStartIndexThisSegment < iEndIndex && iStartIndexNextSegment > iEndIndex ) { - BPMSegment b = m_BPMSegments[i]; - b.SetRow(iEndIndex); - m_BPMSegments.insert( m_BPMSegments.begin()+i+1, b ); + BPMSegment * b = new BPMSegment(iEndIndex, + bs->GetBPS()); + bpms.insert(bpms.begin()+i+1, b); } else if( iStartIndexNextSegment > iEndIndex ) continue; - m_BPMSegments[i].SetBPM(m_BPMSegments[i].GetBPM() * fFactor); + bs->SetBPM(bs->GetBPM() * fFactor); } } float TimingData::GetBPMAtRow( int iNoteRow ) const { unsigned i; - for( i=0; i iNoteRow ) + const vector &bpms = this->allTimingSegments[SEGMENT_BPM]; + for( i=0; iGetRow() > iNoteRow ) break; - return m_BPMSegments[i].GetBPM(); -} - -int TimingData::GetBPMSegmentIndexAtRow( int iNoteRow ) const -{ - unsigned i; - for( i=0; i iNoteRow ) - break; - return static_cast(i); -} - -int TimingData::GetStopSegmentIndexAtRow( int iNoteRow, bool bDelay ) const -{ - unsigned i; - for( i=0; i iNoteRow && s.GetDelay() == bDelay ) - break; - } - return static_cast(i); -} - -int TimingData::GetWarpSegmentIndexAtRow( int iNoteRow ) const -{ - unsigned i; - for( i=0; i iNoteRow ) - break; - } - return static_cast(i); -} - -int TimingData::GetFakeSegmentIndexAtRow( int iNoteRow ) const -{ - unsigned i; - for( i=0; i iNoteRow ) - break; - } - return static_cast(i); + return static_cast(bpms[i])->GetBPM(); } bool TimingData::IsWarpAtRow( int iNoteRow ) const { - if( m_WarpSegments.empty() ) + const vector &warps = this->allTimingSegments[SEGMENT_WARP]; + if( warps.empty() ) return false; - int i = GetWarpSegmentIndexAtRow( iNoteRow ); - const WarpSegment& s = m_WarpSegments[i]; + int i = GetSegmentIndexAtRow( SEGMENT_WARP, iNoteRow ); + const WarpSegment *s = static_cast(warps[i]); float beatRow = NoteRowToBeat(iNoteRow); - if( s.GetBeat() <= beatRow && beatRow < (s.GetBeat() + s.GetLength() ) ) + if( s->GetBeat() <= beatRow && beatRow < (s->GetBeat() + s->GetLength() ) ) { // Allow stops inside warps to allow things like stop, warp, stop, warp, stop, and so on. - if( m_StopSegments.empty() ) + if( this->allTimingSegments[SEGMENT_STOP_DELAY].empty() ) { return true; } @@ -596,502 +628,144 @@ bool TimingData::IsWarpAtRow( int iNoteRow ) const bool TimingData::IsFakeAtRow( int iNoteRow ) const { - if( m_FakeSegments.empty() ) + const vector &fakes = this->allTimingSegments[SEGMENT_FAKE]; + if( fakes.empty() ) return false; - int i = GetFakeSegmentIndexAtRow( iNoteRow ); - const FakeSegment& s = m_FakeSegments[i]; + int i = GetSegmentIndexAtRow( SEGMENT_FAKE, iNoteRow ); + const FakeSegment *s = static_cast(fakes[i]); float beatRow = NoteRowToBeat(iNoteRow); - if( s.GetBeat() <= beatRow && beatRow < ( s.GetBeat() + s.GetLength() ) ) + if( s->GetBeat() <= beatRow && beatRow < ( s->GetBeat() + s->GetLength() ) ) { return true; } return false; } -int TimingData::GetTimeSignatureSegmentIndexAtRow( int iRow ) const -{ - unsigned i; - for (i=0; i < m_vTimeSignatureSegments.size() - 1; i++ ) - if( m_vTimeSignatureSegments[i+1].GetRow() > iRow ) - break; - return static_cast(i); -} - -int TimingData::GetComboSegmentIndexAtRow( int iRow ) const -{ - unsigned i; - for( i=0; i iRow ) - break; - } - return static_cast(i); -} - -int TimingData::GetLabelSegmentIndexAtRow( int iRow ) const -{ - unsigned i; - for( i=0; i iRow ) - break; - } - return static_cast(i); -} - -int TimingData::GetSpeedSegmentIndexAtRow( int iRow ) const -{ - unsigned i; - for (i=0; i < m_SpeedSegments.size() - 1; i++ ) - if( m_SpeedSegments[i+1].GetRow() > iRow ) - break; - return static_cast(i); -} - -int TimingData::GetScrollSegmentIndexAtRow( int iRow ) const -{ - unsigned i; - for (i=0; i < m_ScrollSegments.size() - 1; i++ ) - if( m_ScrollSegments[i+1].GetRow() > iRow ) - break; - return static_cast(i); -} - -BPMSegment& TimingData::GetBPMSegmentAtRow( int iNoteRow ) +BPMSegment* TimingData::GetBPMSegmentAtRow( int iNoteRow ) { + vector &bpms = this->allTimingSegments[SEGMENT_BPM]; static BPMSegment empty; - if( m_BPMSegments.empty() ) - return empty; + if( bpms.empty() ) + return new BPMSegment(); - int i = GetBPMSegmentIndexAtRow( iNoteRow ); - return m_BPMSegments[i]; + int i = GetSegmentIndexAtRow( SEGMENT_BPM, iNoteRow ); + return static_cast(bpms[i]); } -TimeSignatureSegment& TimingData::GetTimeSignatureSegmentAtRow( int iRow ) +TimeSignatureSegment* TimingData::GetTimeSignatureSegmentAtRow( int iRow ) { unsigned i; - for( i=0; i iRow ) + vector &tSigs = this->allTimingSegments[SEGMENT_TIME_SIG]; + for( i=0; iGetRow() > iRow ) break; - return m_vTimeSignatureSegments[i]; + return static_cast(tSigs[i]); } -SpeedSegment& TimingData::GetSpeedSegmentAtRow( int iRow ) +SpeedSegment* TimingData::GetSpeedSegmentAtRow( int iRow ) { unsigned i; - for( i=0; i iRow ) + vector &speeds = this->allTimingSegments[SEGMENT_SPEED]; + for( i=0; iGetRow() > iRow ) break; - return m_SpeedSegments[i]; + return static_cast(speeds[i]); } -ScrollSegment& TimingData::GetScrollSegmentAtRow( int iRow ) +ScrollSegment* TimingData::GetScrollSegmentAtRow( int iRow ) { unsigned i; - for( i=0; i iRow ) + vector &scrolls = this->allTimingSegments[SEGMENT_SCROLL]; + for( i=0; iGetRow() > iRow ) break; - return m_ScrollSegments[i]; + return static_cast(scrolls[i]); } int TimingData::GetTimeSignatureNumeratorAtRow( int iRow ) { - return GetTimeSignatureSegmentAtRow( iRow ).GetNum(); + return GetTimeSignatureSegmentAtRow( iRow )->GetNum(); } int TimingData::GetTimeSignatureDenominatorAtRow( int iRow ) { - return GetTimeSignatureSegmentAtRow( iRow ).GetDen(); + return GetTimeSignatureSegmentAtRow( iRow )->GetDen(); } -ComboSegment& TimingData::GetComboSegmentAtRow( int iRow ) +ComboSegment* TimingData::GetComboSegmentAtRow( int iRow ) { unsigned i; - for( i=0; i iRow ) + vector &combos = this->allTimingSegments[SEGMENT_COMBO]; + for( i=0; iGetRow() > iRow ) break; - return m_ComboSegments[i]; + return static_cast(combos[i]); } -LabelSegment& TimingData::GetLabelSegmentAtRow( int iRow ) +LabelSegment* TimingData::GetLabelSegmentAtRow( int iRow ) { unsigned i; - for( i=0; i iRow ) + vector &labels = this->allTimingSegments[SEGMENT_LABEL]; + for( i=0; iGetRow() > iRow ) break; - return m_LabelSegments[i]; + return static_cast(labels[i]); } -StopSegment& TimingData::GetStopSegmentAtRow( int iNoteRow, bool bDelay ) +StopSegment* TimingData::GetStopSegmentAtRow( int iNoteRow, bool bDelay ) { - static StopSegment empty; - if( m_StopSegments.empty() ) - return empty; + vector &stops = this->allTimingSegments[SEGMENT_STOP_DELAY]; + if( stops.empty() ) + return new StopSegment(); - int i = GetStopSegmentIndexAtRow( iNoteRow, bDelay ); - return m_StopSegments[i]; + int i = GetSegmentIndexAtRow( SEGMENT_STOP_DELAY, iNoteRow, bDelay ); + return static_cast(stops[i]); } -WarpSegment& TimingData::GetWarpSegmentAtRow( int iRow ) +WarpSegment* TimingData::GetWarpSegmentAtRow( int iRow ) { - static WarpSegment empty; - if( m_WarpSegments.empty() ) - return empty; + vector &warps = this->allTimingSegments[SEGMENT_WARP]; + if( warps.empty() ) + return new WarpSegment(); - int i = GetWarpSegmentIndexAtRow( iRow ); - return m_WarpSegments[i]; + int i = GetSegmentIndexAtRow( SEGMENT_WARP, iRow ); + return static_cast(warps[i]); } -FakeSegment& TimingData::GetFakeSegmentAtRow( int iRow ) +FakeSegment* TimingData::GetFakeSegmentAtRow( int iRow ) { - static FakeSegment empty; - if( m_FakeSegments.empty() ) - return empty; + vector &fakes = this->allTimingSegments[SEGMENT_FAKE]; + if( fakes.empty() ) + return new FakeSegment(); - int i = GetFakeSegmentIndexAtRow( iRow ); - return m_FakeSegments[i]; + int i = GetSegmentIndexAtRow( SEGMENT_FAKE, iRow ); + return static_cast(fakes[i]); } -int TimingData::GetTickcountSegmentIndexAtRow( int iRow ) const +TickcountSegment* TimingData::GetTickcountSegmentAtRow( int iRow ) { - unsigned i; - for (i=0; i < m_TickcountSegments.size() - 1; i++ ) - if( m_TickcountSegments[i+1].GetRow() > iRow ) - break; - return static_cast(i); -} - -TickcountSegment& TimingData::GetTickcountSegmentAtRow( int iRow ) -{ - static TickcountSegment empty; - if( m_TickcountSegments.empty() ) - return empty; + vector &ticks = this->allTimingSegments[SEGMENT_TICKCOUNT]; + if( ticks.empty() ) + return new TickcountSegment(); - int i = GetTickcountSegmentIndexAtBeat( iRow ); - return m_TickcountSegments[i]; + int i = GetSegmentIndexAtRow( SEGMENT_TICKCOUNT, iRow ); + return static_cast(ticks[i]); } int TimingData::GetTickcountAtRow( int iRow ) const { - return m_TickcountSegments[GetTickcountSegmentIndexAtRow( iRow )].GetTicks(); -} - -float TimingData::GetPreviousBPMSegmentBeatAtRow( int iRow ) const -{ - float backup = -1; - for (unsigned i = 0; i < m_BPMSegments.size(); i++ ) - { - if( m_BPMSegments[i].GetRow() >= iRow ) - { - break; - } - backup = m_BPMSegments[i].GetBeat(); - } - return (backup > -1) ? backup : NoteRowToBeat(iRow); -} - -float TimingData::GetNextBPMSegmentBeatAtRow( int iRow ) const -{ - for (unsigned i = 0; i < m_BPMSegments.size(); i++ ) - { - if( m_BPMSegments[i].GetRow() <= iRow ) - { - continue; - } - return m_BPMSegments[i].GetBeat(); - } - return NoteRowToBeat(iRow); -} - -float TimingData::GetPreviousStopSegmentBeatAtRow( int iRow ) const -{ - float backup = -1; - for (unsigned i = 0; i < m_StopSegments.size(); i++ ) - { - const StopSegment &s = m_StopSegments[i]; - if( s.GetRow() >= iRow ) - { - break; - } - if (!s.GetDelay()) - backup = s.GetBeat(); - } - return (backup > -1) ? backup : NoteRowToBeat(iRow); -} - -float TimingData::GetNextStopSegmentBeatAtRow( int iRow ) const -{ - for (unsigned i = 0; i < m_StopSegments.size(); i++ ) - { - const StopSegment &s = m_StopSegments[i]; - if( s.GetRow() <= iRow ) - { - continue; - } - if (!s.GetDelay()) - return s.GetBeat(); - } - return NoteRowToBeat(iRow); -} - -float TimingData::GetPreviousDelaySegmentBeatAtRow( int iRow ) const -{ - float backup = -1; - for (unsigned i = 0; i < m_StopSegments.size(); i++ ) - { - const StopSegment &s = m_StopSegments[i]; - if( s.GetRow() >= iRow ) - { - break; - } - if (s.GetDelay()) - backup = s.GetBeat(); - } - return (backup > -1) ? backup : NoteRowToBeat(iRow); -} - -float TimingData::GetNextDelaySegmentBeatAtRow( int iRow ) const -{ - for (unsigned i = 0; i < m_StopSegments.size(); i++ ) - { - const StopSegment &s = m_StopSegments[i]; - if( s.GetRow() <= iRow ) - { - continue; - } - if (s.GetDelay()) - return s.GetBeat(); - } - return NoteRowToBeat(iRow); -} - -float TimingData::GetPreviousTimeSignatureSegmentBeatAtRow( int iRow ) const -{ - float backup = -1; - for (unsigned i = 0; i < m_vTimeSignatureSegments.size(); i++ ) - { - if( m_vTimeSignatureSegments[i].GetRow() >= iRow ) - { - break; - } - backup = m_vTimeSignatureSegments[i].GetBeat(); - } - return (backup > -1) ? backup : NoteRowToBeat(iRow); -} - -float TimingData::GetNextTimeSignatureSegmentBeatAtRow( int iRow ) const -{ - for (unsigned i = 0; i < m_vTimeSignatureSegments.size(); i++ ) - { - if( m_vTimeSignatureSegments[i].GetRow() <= iRow ) - { - continue; - } - return m_vTimeSignatureSegments[i].GetBeat(); - } - return NoteRowToBeat(iRow); -} - - -float TimingData::GetPreviousTickcountSegmentBeatAtRow( int iRow ) const -{ - float backup = -1; - for (unsigned i = 0; i < m_TickcountSegments.size(); i++ ) - { - if( m_TickcountSegments[i].GetRow() >= iRow ) - { - break; - } - backup = m_TickcountSegments[i].GetBeat(); - } - return (backup > -1) ? backup : NoteRowToBeat(iRow); -} - -float TimingData::GetNextTickcountSegmentBeatAtRow( int iRow ) const -{ - for (unsigned i = 0; i < m_TickcountSegments.size(); i++ ) - { - if( m_TickcountSegments[i].GetRow() <= iRow ) - { - continue; - } - return m_TickcountSegments[i].GetBeat(); - } - return NoteRowToBeat(iRow); -} - -float TimingData::GetPreviousComboSegmentBeatAtRow( int iRow ) const -{ - float backup = -1; - for (unsigned i = 0; i < m_ComboSegments.size(); i++ ) - { - if( m_ComboSegments[i].GetRow() >= iRow ) - { - break; - } - backup = m_ComboSegments[i].GetBeat(); - } - return (backup > -1) ? backup : NoteRowToBeat(iRow); -} - -float TimingData::GetNextComboSegmentBeatAtRow( int iRow ) const -{ - for (unsigned i = 0; i < m_ComboSegments.size(); i++ ) - { - if( m_ComboSegments[i].GetRow() <= iRow ) - { - continue; - } - return m_ComboSegments[i].GetBeat(); - } - return NoteRowToBeat(iRow); -} - - - -float TimingData::GetPreviousWarpSegmentBeatAtRow( int iRow ) const -{ - float backup = -1; - for (unsigned i = 0; i < m_WarpSegments.size(); i++ ) - { - if( m_WarpSegments[i].GetRow() >= iRow ) - { - break; - } - backup = m_WarpSegments[i].GetBeat(); - } - return (backup > -1) ? backup : NoteRowToBeat(iRow); -} - -float TimingData::GetNextWarpSegmentBeatAtRow( int iRow ) const -{ - for (unsigned i = 0; i < m_WarpSegments.size(); i++ ) - { - if( m_WarpSegments[i].GetRow() <= iRow ) - { - continue; - } - return m_WarpSegments[i].GetBeat(); - } - return NoteRowToBeat(iRow); -} - -float TimingData::GetPreviousFakeSegmentBeatAtRow( int iRow ) const -{ - float backup = -1; - for (unsigned i = 0; i < m_FakeSegments.size(); i++ ) - { - if( m_FakeSegments[i].GetRow() >= iRow ) - { - break; - } - backup = m_FakeSegments[i].GetBeat(); - } - return (backup > -1) ? backup : NoteRowToBeat(iRow); -} - -float TimingData::GetNextFakeSegmentBeatAtRow( int iRow ) const -{ - for (unsigned i = 0; i < m_FakeSegments.size(); i++ ) - { - if( m_FakeSegments[i].GetRow() <= iRow ) - { - continue; - } - return m_FakeSegments[i].GetBeat(); - } - return NoteRowToBeat(iRow); -} - -float TimingData::GetPreviousSpeedSegmentBeatAtRow( int iRow ) const -{ - float backup = -1; - for (unsigned i = 0; i < m_SpeedSegments.size(); i++ ) - { - if( m_SpeedSegments[i].GetRow() >= iRow ) - { - break; - } - backup = m_SpeedSegments[i].GetBeat(); - } - return (backup > -1) ? backup : NoteRowToBeat(iRow); -} - -float TimingData::GetNextSpeedSegmentBeatAtRow( int iRow ) const -{ - for (unsigned i = 0; i < m_SpeedSegments.size(); i++ ) - { - if( m_SpeedSegments[i].GetRow() <= iRow ) - { - continue; - } - return m_SpeedSegments[i].GetBeat(); - } - return NoteRowToBeat(iRow); -} - -float TimingData::GetPreviousScrollSegmentBeatAtRow( int iRow ) const -{ - float backup = -1; - for (unsigned i = 0; i < m_ScrollSegments.size(); i++ ) - { - if( m_ScrollSegments[i].GetRow() >= iRow ) - { - break; - } - backup = m_ScrollSegments[i].GetBeat(); - } - return (backup > -1) ? backup : NoteRowToBeat(iRow); -} - -float TimingData::GetNextScrollSegmentBeatAtRow( int iRow ) const -{ - for (unsigned i = 0; i < m_ScrollSegments.size(); i++ ) - { - if( m_ScrollSegments[i].GetRow() <= iRow ) - { - continue; - } - return m_ScrollSegments[i].GetBeat(); - } - return NoteRowToBeat(iRow); -} - -float TimingData::GetPreviousLabelSegmentBeatAtRow( int iRow ) const -{ - float backup = -1; - for (unsigned i = 0; i < m_LabelSegments.size(); i++ ) - { - if( m_LabelSegments[i].GetRow() >= iRow ) - { - break; - } - backup = m_LabelSegments[i].GetBeat(); - } - return (backup > -1) ? backup : NoteRowToBeat(iRow); -} - -float TimingData::GetNextLabelSegmentBeatAtRow( int iRow ) const -{ - for (unsigned i = 0; i < m_LabelSegments.size(); i++ ) - { - if( m_LabelSegments[i].GetRow() <= iRow ) - { - continue; - } - return m_LabelSegments[i].GetBeat(); - } - return NoteRowToBeat(iRow); + const vector &ticks = this->allTimingSegments[SEGMENT_TICKCOUNT]; + const int index = GetSegmentIndexAtRow( SEGMENT_TICKCOUNT, iRow ); + return static_cast(ticks[index])->GetTicks(); } bool TimingData::DoesLabelExist( RString sLabel ) const { - FOREACH_CONST( LabelSegment, m_LabelSegments, seg ) + const vector &labels = this->allTimingSegments[SEGMENT_LABEL]; + for (unsigned i = 0; i < labels.size(); i++) { - if( seg->GetLabel() == sLabel ) + if (static_cast(labels[i])->GetLabel() == sLabel) return true; } return false; @@ -1116,10 +790,10 @@ enum void TimingData::GetBeatAndBPSFromElapsedTimeNoOffset( float fElapsedTime, float &fBeatOut, float &fBPSOut, bool &bFreezeOut, bool &bDelayOut, int &iWarpBeginOut, float &fWarpDestinationOut ) const { - - vector::const_iterator itBPMS = m_BPMSegments.begin(); - vector::const_iterator itWS = m_WarpSegments.begin(); - vector::const_iterator itSS = m_StopSegments.begin(); + const vector * segs = this->allTimingSegments; + vector::const_iterator itBPMS = segs[SEGMENT_BPM].begin(); + vector::const_iterator itWS = segs[SEGMENT_WARP].begin(); + vector::const_iterator itSS = segs[SEGMENT_STOP_DELAY].begin(); bFreezeOut = false; bDelayOut = false; @@ -1142,19 +816,22 @@ void TimingData::GetBeatAndBPSFromElapsedTimeNoOffset( float fElapsedTime, float iEventRow = BeatToNoteRow(fWarpDestination); iEventType = FOUND_WARP_DESTINATION; } - if( itBPMS != m_BPMSegments.end() && itBPMS->GetRow() < iEventRow ) + if (itBPMS != segs[SEGMENT_BPM].end() && + (*itBPMS)->GetRow() < iEventRow ) { - iEventRow = itBPMS->GetRow(); + iEventRow = (*itBPMS)->GetRow(); iEventType = FOUND_BPM_CHANGE; } - if( itSS != m_StopSegments.end() && itSS->GetRow() < iEventRow ) + if (itSS != segs[SEGMENT_STOP_DELAY].end() && + (*itSS)->GetRow() < iEventRow ) { - iEventRow = itSS->GetRow(); + iEventRow = (*itSS)->GetRow(); iEventType = FOUND_STOP; } - if( itWS != m_WarpSegments.end() && itWS->GetRow() < iEventRow ) + if (itWS != segs[SEGMENT_WARP].end() && + (*itWS)->GetRow() < iEventRow ) { - iEventRow = itWS->GetRow(); + iEventRow = (*itWS)->GetRow(); iEventType = FOUND_WARP; } if( iEventType == NOT_FOUND ) @@ -1174,19 +851,20 @@ void TimingData::GetBeatAndBPSFromElapsedTimeNoOffset( float fElapsedTime, float bIsWarping = false; break; case FOUND_BPM_CHANGE: - fBPS = itBPMS->GetBPS(); + fBPS = static_cast(*itBPMS)->GetBPS(); itBPMS ++; break; case FOUND_STOP: { - fTimeToNextEvent = itSS->GetPause(); + const StopSegment *ss = static_cast(*itSS); + fTimeToNextEvent = ss->GetPause(); fNextEventTime = fLastTime + fTimeToNextEvent; - const bool bIsDelay = itSS->GetDelay(); + const bool bIsDelay = ss->GetDelay(); if ( fElapsedTime < fNextEventTime ) { bFreezeOut = !bIsDelay; bDelayOut = bIsDelay; - fBeatOut = itSS->GetBeat(); + fBeatOut = ss->GetBeat(); fBPSOut = fBPS; return; } @@ -1197,7 +875,8 @@ void TimingData::GetBeatAndBPSFromElapsedTimeNoOffset( float fElapsedTime, float case FOUND_WARP: { bIsWarping = true; - float fWarpSum = itWS->GetLength() + itWS->GetBeat(); + const WarpSegment *ws = static_cast(*itWS); + float fWarpSum = ws->GetLength() + ws->GetBeat(); if( fWarpSum > fWarpDestination ) { fWarpDestination = fWarpSum; @@ -1223,10 +902,10 @@ float TimingData::GetElapsedTimeFromBeat( float fBeat ) const float TimingData::GetElapsedTimeFromBeatNoOffset( float fBeat ) const { - - vector::const_iterator itBPMS = m_BPMSegments.begin(); - vector::const_iterator itWS = m_WarpSegments.begin(); - vector::const_iterator itSS = m_StopSegments.begin(); + const vector * segs = this->allTimingSegments; + vector::const_iterator itBPMS = segs[SEGMENT_BPM].begin(); + vector::const_iterator itWS = segs[SEGMENT_WARP].begin(); + vector::const_iterator itSS = segs[SEGMENT_STOP_DELAY].begin(); int iLastRow = 0; float fLastTime = -m_fBeat0OffsetInSeconds; @@ -1244,14 +923,17 @@ float TimingData::GetElapsedTimeFromBeatNoOffset( float fBeat ) const iEventRow = BeatToNoteRow(fWarpDestination); iEventType = FOUND_WARP_DESTINATION; } - if( itBPMS != m_BPMSegments.end() && itBPMS->GetRow() < iEventRow ) + if (itBPMS != segs[SEGMENT_BPM].end() && + (*itBPMS)->GetRow() < iEventRow ) { - iEventRow = itBPMS->GetRow(); + iEventRow = (*itBPMS)->GetRow(); iEventType = FOUND_BPM_CHANGE; } - if( itSS != m_StopSegments.end() && itSS->GetDelay() && itSS->GetRow() < iEventRow ) // delays (come before marker) + if (itSS != segs[SEGMENT_STOP_DELAY].end() && + static_cast(*itSS)->GetDelay() && + (*itSS)->GetRow() < iEventRow ) // delays (come before marker) { - iEventRow = itSS->GetRow(); + iEventRow = (*itSS)->GetRow(); iEventType = FOUND_STOP; } if( BeatToNoteRow(fBeat) < iEventRow ) @@ -1259,14 +941,17 @@ float TimingData::GetElapsedTimeFromBeatNoOffset( float fBeat ) const iEventRow = BeatToNoteRow(fBeat); iEventType = FOUND_MARKER; } - if( itSS != m_StopSegments.end() && !itSS->GetDelay() && itSS->GetRow() < iEventRow ) // stops (come after marker) + if (itSS != segs[SEGMENT_STOP_DELAY].end() && + !static_cast(*itSS)->GetDelay() && + (*itSS)->GetRow() < iEventRow ) // stops (come after marker) { - iEventRow = itSS->GetRow(); + iEventRow = (*itSS)->GetRow(); iEventType = FOUND_STOP; } - if( itWS != m_WarpSegments.end() && itWS->GetRow() < iEventRow ) + if (itWS != segs[SEGMENT_WARP].end() && + (*itWS)->GetRow() < iEventRow ) { - iEventRow = itWS->GetRow(); + iEventRow = (*itWS)->GetRow(); iEventType = FOUND_WARP; } float fTimeToNextEvent = bIsWarping ? 0 : NoteRowToBeat( iEventRow - iLastRow ) / fBPS; @@ -1278,11 +963,11 @@ float TimingData::GetElapsedTimeFromBeatNoOffset( float fBeat ) const bIsWarping = false; break; case FOUND_BPM_CHANGE: - fBPS = itBPMS->GetBPS(); + fBPS = static_cast(*itBPMS)->GetBPS(); itBPMS ++; break; case FOUND_STOP: - fTimeToNextEvent = itSS->GetPause(); + fTimeToNextEvent = static_cast(*itSS)->GetPause(); fNextEventTime = fLastTime + fTimeToNextEvent; fLastTime = fNextEventTime; itSS ++; @@ -1292,7 +977,8 @@ float TimingData::GetElapsedTimeFromBeatNoOffset( float fBeat ) const case FOUND_WARP: { bIsWarping = true; - float fWarpSum = itWS->GetLength() + itWS->GetBeat(); + WarpSegment *ws = static_cast(*itWS); + float fWarpSum = ws->GetLength() + ws->GetBeat(); if( fWarpSum > fWarpDestination ) { fWarpDestination = fWarpSum; @@ -1310,18 +996,26 @@ float TimingData::GetElapsedTimeFromBeatNoOffset( float fBeat ) const float TimingData::GetDisplayedBeat( float fBeat ) const { - vector::const_iterator it = m_ScrollSegments.begin(), end = m_ScrollSegments.end(); + const vector &scrolls = this->allTimingSegments[SEGMENT_SCROLL]; + vector::const_iterator it = scrolls.begin(), end = scrolls.end(); float fOutBeat = 0; + for( it = it + 1; it != end; it++ ) + { + ASSERT((*(it-1))->GetBeat() <= (*it)->GetBeat()); + } + it = scrolls.begin(); for( ; it != end; it++ ) { - if( it+1 == end || fBeat <= (it+1)->GetBeat() ) + if( it+1 == end || fBeat <= (*(it+1))->GetBeat() ) { - fOutBeat += ( fBeat - (it)->GetBeat() ) * (it)->GetRatio(); + fOutBeat += ( fBeat - (*it)->GetBeat() ) * + static_cast(*it)->GetRatio(); break; } else { - fOutBeat += ( (it+1)->GetBeat() - (it)->GetBeat() ) * (it)->GetRatio(); + fOutBeat += ( (*(it+1))->GetBeat() - (*it)->GetBeat() ) * + static_cast(*it)->GetRatio(); } } return fOutBeat; @@ -1336,52 +1030,34 @@ void TimingData::ScaleRegion( float fScale, int iStartIndex, int iEndIndex, bool int length = iEndIndex - iStartIndex; int newLength = lrintf( fScale * length ); - for ( unsigned i = 0; i < m_BPMSegments.size(); i++ ) - m_BPMSegments[i].Scale( iStartIndex, length, newLength ); - - for( unsigned i = 0; i < m_StopSegments.size(); i++ ) - m_StopSegments[i].Scale( iStartIndex, length, newLength ); - - for( unsigned i = 0; i < m_vTimeSignatureSegments.size(); i++ ) - m_vTimeSignatureSegments[i].Scale( iStartIndex, length, newLength ); - - for( unsigned i = 0; i < m_WarpSegments.size(); i++ ) - m_WarpSegments[i].Scale( iStartIndex, length, newLength ); - - for ( unsigned i = 0; i < m_TickcountSegments.size(); i++ ) - m_TickcountSegments[i].Scale( iStartIndex, length, newLength ); - - for ( unsigned i = 0; i < m_ComboSegments.size(); i++ ) - m_ComboSegments[i].Scale( iStartIndex, length, newLength ); - - for ( unsigned i = 0; i < m_LabelSegments.size(); i++ ) - m_LabelSegments[i].Scale( iStartIndex, length, newLength ); - - for ( unsigned i = 0; i < m_SpeedSegments.size(); i++ ) - m_SpeedSegments[i].Scale( iStartIndex, length, newLength ); - - for( unsigned i = 0; i < m_FakeSegments.size(); i++ ) - m_FakeSegments[i].Scale( iStartIndex, length, newLength ); - - for( unsigned i = 0; i < m_ScrollSegments.size(); i++ ) - m_ScrollSegments[i].Scale( iStartIndex, length, newLength ); + // TODO: Confirm this works as intended. + for (unsigned i = 0; i < NUM_TimingSegmentType; i++) + { + vector &segs = this->allTimingSegments[i]; + for (unsigned j = 0; j < segs.size(); j++) + { + segs[i][j].Scale(iStartIndex, length, newLength); + } + } // adjust BPM changes to preserve timing if( bAdjustBPM ) { int iNewEndIndex = iStartIndex + newLength; float fEndBPMBeforeScaling = GetBPMAtRow(iNewEndIndex); + vector &bpms = this->allTimingSegments[SEGMENT_BPM]; // adjust BPM changes "between" iStartIndex and iNewEndIndex - for ( unsigned i = 0; i < m_BPMSegments.size(); i++ ) + for ( unsigned i = 0; i < bpms.size(); i++ ) { - const int iSegStart = m_BPMSegments[i].GetRow(); + BPMSegment *bpm = static_cast(bpms[i]); + const int iSegStart = bpm->GetRow(); if( iSegStart <= iStartIndex ) continue; else if( iSegStart >= iNewEndIndex ) continue; else - m_BPMSegments[i].SetBPM( m_BPMSegments[i].GetBPM() * fScale ); + bpm->SetBPM( bpm->GetBPM() * fScale ); } // set BPM at iStartIndex and iNewEndIndex. @@ -1393,91 +1069,25 @@ void TimingData::ScaleRegion( float fScale, int iStartIndex, int iEndIndex, bool void TimingData::InsertRows( int iStartRow, int iRowsToAdd ) { - for( unsigned i = 0; i < m_BPMSegments.size(); i++ ) + for (unsigned i = 0; i < NUM_TimingSegmentType; i++) { - BPMSegment &bpm = m_BPMSegments[i]; - if( bpm.GetRow() < iStartRow ) - continue; - bpm.SetRow( bpm.GetRow() + iRowsToAdd ); - } - - for( unsigned i = 0; i < m_StopSegments.size(); i++ ) - { - StopSegment &stop = m_StopSegments[i]; - if( stop.GetRow() < iStartRow ) - continue; - stop.SetRow(stop.GetRow() + iRowsToAdd); - } - - for( unsigned i = 0; i < m_WarpSegments.size(); i++ ) - { - WarpSegment &warp = m_WarpSegments[i]; - if( warp.GetRow() < iStartRow ) - continue; - warp.SetRow(warp.GetRow() + iRowsToAdd); - } - - for( unsigned i = 0; i < m_vTimeSignatureSegments.size(); i++ ) - { - TimeSignatureSegment &time = m_vTimeSignatureSegments[i]; - if( time.GetRow() < iStartRow ) - continue; - time.SetRow(time.GetRow() + iRowsToAdd); - } - - for( unsigned i = 0; i < m_TickcountSegments.size(); i++ ) - { - TickcountSegment &tick = m_TickcountSegments[i]; - if( tick.GetRow() < iStartRow ) - continue; - tick.SetRow(tick.GetRow() + iRowsToAdd); - } - - for( unsigned i = 0; i < m_ComboSegments.size(); i++ ) - { - ComboSegment &comb = m_ComboSegments[i]; - if( comb.GetRow() < iStartRow ) - continue; - comb.SetRow(comb.GetRow() + iRowsToAdd); - } - for( unsigned i = 0; i < m_LabelSegments.size(); i++ ) - { - LabelSegment &labl = m_LabelSegments[i]; - if( labl.GetRow() < iStartRow ) - continue; - labl.SetRow(labl.GetRow() + iRowsToAdd); - } - - for( unsigned i = 0; i < m_SpeedSegments.size(); i++ ) - { - SpeedSegment &sped = m_SpeedSegments[i]; - if( sped.GetRow() < iStartRow ) - continue; - sped.SetRow(sped.GetRow() + iRowsToAdd); - } - - for( unsigned i = 0; i < m_FakeSegments.size(); i++ ) - { - FakeSegment &fake = m_FakeSegments[i]; - if( fake.GetRow() < iStartRow ) - continue; - fake.SetRow(fake.GetRow() + iRowsToAdd); - } - - for( unsigned i = 0; i < m_ScrollSegments.size(); i++ ) - { - ScrollSegment &scrl = m_ScrollSegments[i]; - if( scrl.GetRow() < iStartRow ) - continue; - scrl.SetRow(scrl.GetRow() + iRowsToAdd); + vector &segs = this->allTimingSegments[i]; + for (unsigned j = 0; j < segs.size(); j++) + { + TimingSegment *seg = segs[j]; + if (seg->GetRow() < iStartRow) + continue; + seg->SetRow(seg->GetRow() + iRowsToAdd); + } } if( iStartRow == 0 ) { /* If we're shifting up at the beginning, we just shifted up the first * BPMSegment. That segment must always begin at 0. */ - ASSERT( m_BPMSegments.size() > 0 ); - m_BPMSegments[0].SetRow(0); + vector &bpms = this->allTimingSegments[SEGMENT_BPM]; + ASSERT_M( bpms.size() > 0, "There must be at least one BPM Segment in the chart!" ); + bpms[0]->SetRow(0); } } @@ -1489,192 +1099,29 @@ void TimingData::DeleteRows( int iStartRow, int iRowsToDelete ) /* We're moving rows up. Delete any BPM changes and stops in the region * being deleted. */ - for( unsigned i = 0; i < m_BPMSegments.size(); i++ ) + for (unsigned i = 0; i < NUM_TimingSegmentType; i++) { - BPMSegment &bpm = m_BPMSegments[i]; - - // Before deleted region: - if( bpm.GetRow() < iStartRow ) - continue; - - // Inside deleted region: - if( bpm.GetRow() < iStartRow+iRowsToDelete ) + vector &segs = this->allTimingSegments[i]; + for (unsigned j = 0; j < segs.size(); j++) { - m_BPMSegments.erase( m_BPMSegments.begin()+i, m_BPMSegments.begin()+i+1 ); - --i; - continue; + TimingSegment *seg = segs[j]; + // Before deleted region: + if (seg->GetRow() < iStartRow) + continue; + + // Inside deleted region: + if (seg->GetRow() < iStartRow + iRowsToDelete) + { + segs.erase(segs.begin()+j, segs.begin()+j+1); + --j; + continue; + } + + // After deleted regions: + seg->SetRow(seg->GetRow() - iRowsToDelete); } - - // After deleted region: - bpm.SetRow( bpm.GetRow() - iRowsToDelete ); - } - - for( unsigned i = 0; i < m_StopSegments.size(); i++ ) - { - StopSegment &stop = m_StopSegments[i]; - int keyRow = stop.GetRow(); - // Before deleted region: - if( keyRow < iStartRow ) - continue; - - // Inside deleted region: - if( keyRow < iStartRow+iRowsToDelete ) - { - m_StopSegments.erase( m_StopSegments.begin()+i, m_StopSegments.begin()+i+1 ); - --i; - continue; - } - - // After deleted region: - stop.SetRow(keyRow - iRowsToDelete); } - for( unsigned i = 0; i < m_WarpSegments.size(); i++ ) - { - WarpSegment &warp = m_WarpSegments[i]; - int keyRow = warp.GetRow(); - if( keyRow < iStartRow ) - continue; - - if( keyRow < iStartRow+iRowsToDelete ) - { - m_WarpSegments.erase( m_WarpSegments.begin()+i, m_WarpSegments.begin()+i+1 ); - --i; - continue; - } - - warp.SetRow(keyRow - iRowsToDelete); - } - - for( unsigned i = 0; i < m_vTimeSignatureSegments.size(); i++ ) - { - TimeSignatureSegment &time = m_vTimeSignatureSegments[i]; - int keyRow = time.GetRow(); - // Before deleted region: - if( keyRow < iStartRow ) - continue; - - // Inside deleted region: - if( keyRow < iStartRow+iRowsToDelete ) - { - m_vTimeSignatureSegments.erase( - m_vTimeSignatureSegments.begin()+i, - m_vTimeSignatureSegments.begin()+i+1 ); - --i; - continue; - } - - // After deleted region: - - - time.SetRow(keyRow - iRowsToDelete); - } - - for( unsigned i = 0; i < m_TickcountSegments.size(); i++ ) - { - TickcountSegment &tick = m_TickcountSegments[i]; - int keyRow = tick.GetRow(); - // Before deleted region: - if( keyRow < iStartRow ) - continue; - - // Inside deleted region: - if( keyRow < iStartRow+iRowsToDelete ) - { - m_TickcountSegments.erase( m_TickcountSegments.begin()+i, m_TickcountSegments.begin()+i+1 ); - --i; - continue; - } - - // After deleted region: - tick.SetRow(keyRow - iRowsToDelete); - } - - for( unsigned i = 0; i < m_ComboSegments.size(); i++ ) - { - ComboSegment &comb = m_ComboSegments[i]; - int keyRow = comb.GetRow(); - // Before deleted region: - if( keyRow < iStartRow ) - continue; - - // Inside deleted region: - if( keyRow < iStartRow+iRowsToDelete ) - { - m_ComboSegments.erase( m_ComboSegments.begin()+i, m_ComboSegments.begin()+i+1 ); - --i; - continue; - } - - // After deleted region: - comb.SetRow(keyRow - iRowsToDelete); - } - - for( unsigned i = 0; i < m_LabelSegments.size(); i++ ) - { - LabelSegment &labl = m_LabelSegments[i]; - int keyRow = labl.GetRow(); - if( keyRow < iStartRow ) - continue; - - if( keyRow < iStartRow+iRowsToDelete ) - { - m_LabelSegments.erase( m_LabelSegments.begin()+i, m_LabelSegments.begin()+i+1 ); - --i; - continue; - } - labl.SetRow(keyRow - iRowsToDelete); - } - - for( unsigned i = 0; i < m_SpeedSegments.size(); i++ ) - { - SpeedSegment &sped = m_SpeedSegments[i]; - int keyRow = sped.GetRow(); - if( keyRow < iStartRow ) - continue; - - if( keyRow < iStartRow+iRowsToDelete ) - { - m_SpeedSegments.erase( m_SpeedSegments.begin()+i, m_SpeedSegments.begin()+i+1 ); - --i; - continue; - } - sped.SetRow(keyRow - iRowsToDelete); - } - - for( unsigned i = 0; i < m_FakeSegments.size(); i++ ) - { - FakeSegment &fake = m_FakeSegments[i]; - int keyRow = fake.GetRow(); - if( keyRow < iStartRow ) - continue; - - if( keyRow < iStartRow+iRowsToDelete ) - { - m_FakeSegments.erase( m_FakeSegments.begin()+i, m_FakeSegments.begin()+i+1 ); - --i; - continue; - } - - fake.SetRow(keyRow - iRowsToDelete); - } - - for( unsigned i = 0; i < m_ScrollSegments.size(); i++ ) - { - ScrollSegment &scrl = m_ScrollSegments[i]; - int keyRow = scrl.GetRow(); - if( keyRow < iStartRow ) - continue; - - if( keyRow < iStartRow+iRowsToDelete ) - { - m_ScrollSegments.erase( m_ScrollSegments.begin()+i, m_ScrollSegments.begin()+i+1 ); - --i; - continue; - } - scrl.SetRow(keyRow - iRowsToDelete); - } - this->SetBPMAtRow( iStartRow, fNewBPM ); } @@ -1685,45 +1132,51 @@ float TimingData::GetDisplayedSpeedPercent( float fSongBeat, float fMusicSeconds * leaving the editor. Still, cover our butts in case this instance * isn't existing. */ if (!this) return 1.0f; - if( m_SpeedSegments.size() == 0 ) + + const vector &speeds = this->allTimingSegments[SEGMENT_SPEED]; + if( speeds.size() == 0 ) return 1.0f; - const int index = GetSpeedSegmentIndexAtBeat( fSongBeat ); + const int index = GetSegmentIndexAtBeat( SEGMENT_SPEED, fSongBeat ); - const SpeedSegment &seg = m_SpeedSegments[index]; - float fStartBeat = seg.GetBeat(); + const SpeedSegment *seg = static_cast(speeds[index]); + float fStartBeat = seg->GetBeat(); float fStartTime = GetElapsedTimeFromBeat( fStartBeat ) - GetDelayAtBeat( fStartBeat ); float fEndTime; float fCurTime = fMusicSeconds; - if( seg.GetUnit() == 1 ) // seconds + if( seg->GetUnit() == 1 ) // seconds { - fEndTime = fStartTime + seg.GetLength(); + fEndTime = fStartTime + seg->GetLength(); } else { - fEndTime = GetElapsedTimeFromBeat( fStartBeat + seg.GetLength() ) - - GetDelayAtBeat( fStartBeat + seg.GetLength() ); + fEndTime = GetElapsedTimeFromBeat( fStartBeat + seg->GetLength() ) + - GetDelayAtBeat( fStartBeat + seg->GetLength() ); } - if( ( index == 0 && m_SpeedSegments[0].GetLength() > 0.0 ) && fCurTime < fStartTime ) + SpeedSegment *first = static_cast(speeds[0]); + + if( ( index == 0 && first->GetLength() > 0.0 ) && fCurTime < fStartTime ) { return 1.0f; } - else if( fEndTime >= fCurTime && ( index > 0 || m_SpeedSegments[0].GetLength() > 0.0 ) ) + else if( fEndTime >= fCurTime && ( index > 0 || first->GetLength() > 0.0 ) ) { - const float fPriorSpeed = ( index == 0 ? 1 : m_SpeedSegments[index - 1].GetRatio() ); + const float fPriorSpeed = (index == 0 ? + 1 : + static_cast(speeds[index - 1])->GetRatio() ); float fTimeUsed = fCurTime - fStartTime; float fDuration = fEndTime - fStartTime; float fRatioUsed = fDuration == 0.0 ? 1 : fTimeUsed / fDuration; - float fDistance = fPriorSpeed - seg.GetRatio(); + float fDistance = fPriorSpeed - seg->GetRatio(); float fRatioNeed = fRatioUsed * -fDistance; return (fPriorSpeed + fRatioNeed); } else { - return seg.GetRatio(); + return seg->GetRatio(); } } @@ -1731,59 +1184,54 @@ float TimingData::GetDisplayedSpeedPercent( float fSongBeat, float fMusicSeconds void TimingData::TidyUpData() { // If there are no BPM segments, provide a default. - if( m_BPMSegments.empty() ) + vector *segs = this->allTimingSegments; + if( segs[SEGMENT_BPM].empty() ) { LOG->UserLog( "Song file", m_sFile, "has no BPM segments, default provided." ); - AddBPMSegment( BPMSegment(0, 60) ); + AddSegment( SEGMENT_BPM, new BPMSegment(0, 60) ); } // Make sure the first BPM segment starts at beat 0. - if( m_BPMSegments[0].GetRow() != 0 ) - m_BPMSegments[0].SetRow(0); + if( segs[SEGMENT_BPM][0]->GetRow() != 0 ) + segs[SEGMENT_BPM][0]->SetRow(0); // If no time signature specified, assume 4/4 time for the whole song. - if( m_vTimeSignatureSegments.empty() ) + if( segs[SEGMENT_TIME_SIG].empty() ) { - TimeSignatureSegment seg(0, 4, 4); - m_vTimeSignatureSegments.push_back( seg ); + segs[SEGMENT_TIME_SIG].push_back( new TimeSignatureSegment(0, 4, 4) ); } - // Likewise, if no tickcount signature is specified, assume 2 ticks - //per beat for the entire song. The default of 2 is chosen more - //for compatibility with the Pump Pro series than anything else. - if( m_TickcountSegments.empty() ) + // Likewise, if no tickcount signature is specified, assume 4 ticks + //per beat for the entire song. The default of 4 is chosen more + //for compatibility with the main Pump series than anything else. + if( segs[SEGMENT_TICKCOUNT].empty() ) { - TickcountSegment seg(0, 2); - m_TickcountSegments.push_back( seg ); + segs[SEGMENT_TICKCOUNT].push_back( new TickcountSegment(0, 4) ); } // Have a default combo segment of one just in case. - if( m_ComboSegments.empty() ) + if( segs[SEGMENT_COMBO].empty() ) { - ComboSegment seg(0, 1, 1); - m_ComboSegments.push_back( seg ); + segs[SEGMENT_COMBO].push_back( new ComboSegment(0, 1, 1) ); } // Have a default label segment just in case. - if( m_LabelSegments.empty() ) + if( segs[SEGMENT_LABEL].empty() ) { - LabelSegment seg(0, "Song Start"); - m_LabelSegments.push_back( seg ); + segs[SEGMENT_LABEL].push_back( new LabelSegment(0, "Song Start") ); } // Always be sure there is a starting speed. - if( m_SpeedSegments.empty() ) + if( segs[SEGMENT_SPEED].empty() ) { - SpeedSegment seg(0, 1, 0); - m_SpeedSegments.push_back( seg ); + segs[SEGMENT_SPEED].push_back( new SpeedSegment(0, 1, 0) ); } // Always be sure there is a starting scrolling factor. - if( m_ScrollSegments.empty() ) + if( segs[SEGMENT_SCROLL].empty() ) { - ScrollSegment seg(0, 1); - m_ScrollSegments.push_back( seg ); + segs[SEGMENT_SCROLL].push_back( new ScrollSegment(0, 1) ); } } @@ -1793,50 +1241,53 @@ void TimingData::TidyUpData() bool TimingData::HasBpmChanges() const { - return m_BPMSegments.size()>1; + return this->allTimingSegments[SEGMENT_BPM].size()>1; } bool TimingData::HasStops() const { - return m_StopSegments.size()>0; + return this->allTimingSegments[SEGMENT_STOP_DELAY].size()>0; } bool TimingData::HasWarps() const { - return m_WarpSegments.size()>0; + return this->allTimingSegments[SEGMENT_WARP].size()>0; } bool TimingData::HasFakes() const { - return m_FakeSegments.size()>0; + return this->allTimingSegments[SEGMENT_FAKE].size()>0; } bool TimingData::HasSpeedChanges() const { - return m_SpeedSegments.size()>1 || m_SpeedSegments[0].GetRatio() != 1; + const vector &speeds = this->allTimingSegments[SEGMENT_SPEED]; + return (speeds.size()>1 || + static_cast(speeds[0])->GetRatio() != 1); } bool TimingData::HasScrollChanges() const { - return m_ScrollSegments.size()>1 || m_ScrollSegments[0].GetRatio() != 1; + const vector &scrolls = this->allTimingSegments[SEGMENT_SCROLL]; + return (scrolls.size()>1 || + static_cast(scrolls[0])->GetRatio() != 1); } void TimingData::NoteRowToMeasureAndBeat( int iNoteRow, int &iMeasureIndexOut, int &iBeatIndexOut, int &iRowsRemainder ) const { iMeasureIndexOut = 0; - - FOREACH_CONST( TimeSignatureSegment, m_vTimeSignatureSegments, iter ) + const vector &tSigs = this->allTimingSegments[SEGMENT_TIME_SIG]; + for (unsigned i = 0; i < tSigs.size(); i++) { - vector::const_iterator next = iter; - next++; - int iSegmentEndRow = (next == m_vTimeSignatureSegments.end()) ? INT_MAX : next->GetRow(); + TimeSignatureSegment *curSig = static_cast(tSigs[i]); + int iSegmentEndRow = (i + 1 == tSigs.size()) ? INT_MAX : curSig->GetRow(); + + int iRowsPerMeasureThisSegment = curSig->GetNoteRowsPerMeasure(); - int iRowsPerMeasureThisSegment = iter->GetNoteRowsPerMeasure(); - - if( iNoteRow >= iter->GetRow() ) + if( iNoteRow >= curSig->GetRow() ) { // iNoteRow lands in this segment - int iNumRowsThisSegment = iNoteRow - iter->GetRow(); + int iNumRowsThisSegment = iNoteRow - curSig->GetRow(); int iNumMeasuresThisSegment = (iNumRowsThisSegment) / iRowsPerMeasureThisSegment; // don't round up iMeasureIndexOut += iNumMeasuresThisSegment; iBeatIndexOut = iNumRowsThisSegment / iRowsPerMeasureThisSegment; @@ -1846,8 +1297,9 @@ void TimingData::NoteRowToMeasureAndBeat( int iNoteRow, int &iMeasureIndexOut, i else { // iNoteRow lands after this segment - int iNumRowsThisSegment = iSegmentEndRow - iter->GetRow(); - int iNumMeasuresThisSegment = (iNumRowsThisSegment + iRowsPerMeasureThisSegment - 1) / iRowsPerMeasureThisSegment; // round up + int iNumRowsThisSegment = iSegmentEndRow - curSig->GetRow(); + int iNumMeasuresThisSegment = (iNumRowsThisSegment + iRowsPerMeasureThisSegment - 1) + / iRowsPerMeasureThisSegment; // round up iMeasureIndexOut += iNumMeasuresThisSegment; } } @@ -1856,6 +1308,24 @@ void TimingData::NoteRowToMeasureAndBeat( int iNoteRow, int &iMeasureIndexOut, i return; } +vector TimingData::ToVectorString(TimingSegmentType tst, + bool isDelay, int dec) const +{ + const vector segs = this->allTimingSegments[tst]; + vector ret; + + for (unsigned i = 0; i < segs.size(); i++) + { + if (tst == SEGMENT_STOP_DELAY) + { + StopSegment *seg = static_cast(segs[i]); + if (seg->GetDelay() != isDelay) + continue; + } + ret.push_back(segs[i]->ToString(dec)); + } + return ret; +} // lua start #include "LuaBinding.h" @@ -1872,125 +1342,56 @@ public: static int HasScrollChanges( T* p, lua_State *L ) { lua_pushboolean(L, p->HasScrollChanges()); return 1; } static int GetWarps( T* p, lua_State *L ) { - vector vWarps; - FOREACH_CONST( WarpSegment, p->m_WarpSegments, seg ) - { - const float length = seg->GetLength(); - const float beat = seg->GetBeat(); - vWarps.push_back( ssprintf("%f=%f", beat, length) ); - } - LuaHelpers::CreateTableFromArray(vWarps, L); + LuaHelpers::CreateTableFromArray(p->ToVectorString(SEGMENT_WARP), L); return 1; } static int GetFakes( T* p, lua_State *L ) { - vector vFakes; - FOREACH_CONST( FakeSegment, p->m_FakeSegments, seg ) - { - const float length = seg->GetLength(); - const float beat = seg->GetBeat(); - vFakes.push_back( ssprintf("%f=%f", beat, length) ); - } - LuaHelpers::CreateTableFromArray(vFakes, L); + LuaHelpers::CreateTableFromArray(p->ToVectorString(SEGMENT_FAKE), L); return 1; } static int GetScrolls( T* p, lua_State *L ) { - vector vScrolls; - FOREACH_CONST( ScrollSegment, p->m_ScrollSegments, seg ) - { - const float ratio = seg->GetRatio(); - const float beat = seg->GetBeat(); - vScrolls.push_back( ssprintf("%f=%f", beat, ratio) ); - } - LuaHelpers::CreateTableFromArray(vScrolls, L); + LuaHelpers::CreateTableFromArray(p->ToVectorString(SEGMENT_SCROLL), L); return 1; } static int GetSpeeds( T* p, lua_State *L ) { - vector vSpeeds; - FOREACH_CONST( SpeedSegment, p->m_SpeedSegments, seg ) - { - const float length = seg->GetLength(); - const float ratio = seg->GetRatio(); - const unsigned short unit = seg->GetUnit(); - const float beat = seg->GetBeat(); - vSpeeds.push_back( ssprintf("%f=%f=%f=%uh", beat, ratio, length, unit) ); - } - LuaHelpers::CreateTableFromArray(vSpeeds, L); + LuaHelpers::CreateTableFromArray(p->ToVectorString(SEGMENT_SPEED), L); return 1; } static int GetTimeSignatures( T* p, lua_State *L ) { - vector vTimes; - FOREACH_CONST( TimeSignatureSegment, p->m_vTimeSignatureSegments, seg ) - { - const int numerator = seg->GetNum(); - const int denominator = seg->GetDen(); - const float beat = seg->GetBeat(); - vTimes.push_back( ssprintf("%f=%d=%d", beat, numerator, denominator) ); - } - LuaHelpers::CreateTableFromArray(vTimes, L); + LuaHelpers::CreateTableFromArray(p->ToVectorString(SEGMENT_TIME_SIG), L); return 1; } static int GetCombos( T* p, lua_State *L ) { - vector vCombos; - FOREACH_CONST( ComboSegment, p->m_ComboSegments, seg ) - { - const int combo = seg->GetCombo(); - const int miss = seg->GetMissCombo(); - const float beat = seg->GetBeat(); - vCombos.push_back( ssprintf("%f=%d=%d", beat, combo, miss) ); - } - LuaHelpers::CreateTableFromArray(vCombos, L); + LuaHelpers::CreateTableFromArray(p->ToVectorString(SEGMENT_COMBO), L); return 1; } static int GetTickcounts( T* p, lua_State *L ) { - vector vTicks; - FOREACH_CONST( TickcountSegment, p->m_TickcountSegments, seg ) - { - const int ticks = seg->GetTicks(); - const float beat = seg->GetBeat(); - vTicks.push_back( ssprintf("%f=%d", beat, ticks) ); - } - LuaHelpers::CreateTableFromArray(vTicks, L); + LuaHelpers::CreateTableFromArray(p->ToVectorString(SEGMENT_TICKCOUNT), L); return 1; } static int GetStops( T* p, lua_State *L ) { - vector vStops; - FOREACH_CONST( StopSegment, p->m_StopSegments, seg ) - { - const float fStartBeat = seg->GetBeat(); - const float fStopLength = seg->GetPause(); - if(!seg->GetDelay()) - vStops.push_back( ssprintf("%f=%f", fStartBeat, fStopLength) ); - } - - LuaHelpers::CreateTableFromArray(vStops, L); + LuaHelpers::CreateTableFromArray(p->ToVectorString(SEGMENT_STOP_DELAY, false), L); return 1; } static int GetDelays( T* p, lua_State *L ) { - vector vDelays; - FOREACH_CONST( StopSegment, p->m_StopSegments, seg ) - { - const float fStartBeat = seg->GetBeat(); - const float fStopLength = seg->GetPause(); - if(seg->GetDelay()) - vDelays.push_back( ssprintf("%f=%f", fStartBeat, fStopLength) ); - } - - LuaHelpers::CreateTableFromArray(vDelays, L); + LuaHelpers::CreateTableFromArray(p->ToVectorString(SEGMENT_STOP_DELAY, true), L); return 1; } static int GetBPMs( T* p, lua_State *L ) { vector vBPMs; - FOREACH_CONST( BPMSegment, p->m_BPMSegments, seg ) + vector &bpms = p->allTimingSegments[SEGMENT_BPM]; + for (unsigned i = 0; i < bpms.size(); i++) { + BPMSegment *seg = static_cast(bpms[i]); const float fBPM = seg->GetBPM(); vBPMs.push_back( fBPM ); } @@ -2000,27 +1401,12 @@ public: } static int GetLabels( T* p, lua_State *L ) { - vector vLabels; - FOREACH_CONST( LabelSegment, p->m_LabelSegments, seg ) - { - const float fStartRow = seg->GetBeat(); - const RString sLabel = seg->GetLabel(); - vLabels.push_back( ssprintf("%f=%s", fStartRow, sLabel.c_str()) ); - } - LuaHelpers::CreateTableFromArray(vLabels, L); + LuaHelpers::CreateTableFromArray(p->ToVectorString(SEGMENT_LABEL), L); return 1; } static int GetBPMsAndTimes( T* p, lua_State *L ) { - vector vBPMs; - FOREACH_CONST( BPMSegment, p->m_BPMSegments, seg ) - { - const float fStartRow = seg->GetBeat(); - const float fBPM = seg->GetBPM(); - vBPMs.push_back( ssprintf("%f=%f", fStartRow, fBPM) ); - } - - LuaHelpers::CreateTableFromArray(vBPMs, L); + LuaHelpers::CreateTableFromArray(p->ToVectorString(SEGMENT_BPM), L); return 1; } static int GetActualBPM( T* p, lua_State *L ) diff --git a/src/TimingData.h b/src/TimingData.h index 27656363ed..2486ff5701 100644 --- a/src/TimingData.h +++ b/src/TimingData.h @@ -16,14 +16,41 @@ struct lua_State; class TimingData { public: - /** - * @brief Sets up initial timing data. - */ - TimingData(); + void AddSegment(TimingSegmentType tst, TimingSegment * seg); + + int GetSegmentIndexAtRow(TimingSegmentType tst, + int row, bool isDelay = false) const; + + int GetSegmentIndexAtBeat(TimingSegmentType tst, + float beat, bool isDelay = false) const + { + return this->GetSegmentIndexAtRow(tst, BeatToNoteRow(beat), isDelay); + } + + float GetNextSegmentBeatAtRow(TimingSegmentType tst, + int row, bool isDelay = false) const; + + float GetNextSegmentBeatAtBeat(TimingSegmentType tst, + float beat, bool isDelay = false) const + { + return this->GetNextSegmentBeatAtRow(tst, BeatToNoteRow(beat), isDelay); + } + + float GetPreviousSegmentBeatAtRow(TimingSegmentType tst, + int row, bool isDelay = false) const; + + float GetPreviousSegmentBeatAtBeat(TimingSegmentType tst, + float beat, bool isDelay = false) const + { + return this->GetPreviousSegmentBeatAtRow(tst, BeatToNoteRow(beat), isDelay); + } + /** * @brief Sets up initial timing data with a defined offset. * @param fOffset the offset from the 0th beat. */ - TimingData(float fOffset); + TimingData(float fOffset = 0); + + ~TimingData(); /** * @brief Gets the actual BPM of the song, * while respecting a limit. @@ -63,62 +90,13 @@ public: * @param iNoteRow the row that has a BPMSegment. * @return the BPMSegment in question. */ - BPMSegment& GetBPMSegmentAtRow( int iNoteRow ); + BPMSegment* GetBPMSegmentAtRow( int iNoteRow ); /** * @brief Retrieve the BPMSegment at the specified beat. * @param fBeat the beat that has a BPMSegment. * @return the BPMSegment in question. */ - BPMSegment& GetBPMSegmentAtBeat( float fBeat ) { return GetBPMSegmentAtRow( (int)BeatToNoteRow(fBeat)); } - /** - * @brief Retrieve the index of the BPMSegments at the specified row. - * @param iNoteRow the row that has a BPMSegment. - * @return the BPMSegment's index in question. - */ - int GetBPMSegmentIndexAtRow( int iNoteRow ) const; - /** - * @brief Retrieve the index of the BPMSegments at the specified beat. - * @param fBeat the beat that has a BPMSegment. - * @return the BPMSegment's index in question. - */ - int GetBPMSegmentIndexAtBeat( float fBeat ) const { return GetBPMSegmentIndexAtRow( BeatToNoteRow(fBeat)); } - /** - * @brief Add the BPMSegment to the TimingData. - * @param seg the new BPMSegment. - */ - void AddBPMSegment( const BPMSegment &seg ); - - /** - * @brief Retrieve the next beat that contains a BPMSegment. - * @param iRow the present row. - * @return the next beat with a BPMSegment, or fBeat if there is none ahead. - */ - float GetNextBPMSegmentBeatAtRow( int iRow ) const; - /** - * @brief Retrieve the previous beat that contains a BPMSegment. - * @param fBeat the present beat. - * @return the next beat with a BPMSegment, or fBeat if there is none ahead. - */ - float GetNextBPMSegmentBeatAtBeat( float fBeat ) const - { - return this->GetNextBPMSegmentBeatAtRow( BeatToNoteRow(fBeat) ); - } - /** - * @brief Retrieve the previous beat that contains a BPMSegment. - * @param iRow the present row. - * @return the previous beat with a BPMSegment, or fBeat if there is none prior. - */ - float GetPreviousBPMSegmentBeatAtRow( int iRow ) const; - /** - * @brief Retrieve the previous beat that contains a BPMSegment. - * @param fBeat the present beat. - * @return the previous beat with a BPMSegment, or fBeat if there is none prior. - */ - float GetPreviousBPMSegmentBeatAtBeat( float fBeat ) const - { - return this->GetPreviousBPMSegmentBeatAtRow( BeatToNoteRow(fBeat) ); - } - + BPMSegment* GetBPMSegmentAtBeat( float fBeat ) { return GetBPMSegmentAtRow( (int)BeatToNoteRow(fBeat)); } /** * @brief Retrieve the Stop/Delay at the given row. @@ -209,145 +187,40 @@ public: * @param iNoteRow the row that has a StopSegment. * @return the StopSegment in question. */ - StopSegment& GetStopSegmentAtRow( int iNoteRow ) { return GetStopSegmentAtRow( iNoteRow, false ); } + StopSegment* GetStopSegmentAtRow( int iNoteRow ) { return GetStopSegmentAtRow( iNoteRow, false ); } /** * @brief Retrieve the StopSegment at the specified beat. * @param fBeat the beat that has a StopSegment. * @return the StopSegment in question. */ - StopSegment& GetStopSegmentAtBeat( float fBeat ) { return GetStopSegmentAtRow( BeatToNoteRow(fBeat), false); } + StopSegment* GetStopSegmentAtBeat( float fBeat ) { return GetStopSegmentAtRow( BeatToNoteRow(fBeat), false); } /** * @brief Retrieve the StopSegment at the specified row. * @param iNoteRow the row that has a StopSegment. * @param bDelay If true, this is actually a DelaySegment. * @return the StopSegment in question. */ - StopSegment& GetStopSegmentAtRow( int iNoteRow, bool bDelay ); + StopSegment* GetStopSegmentAtRow( int iNoteRow, bool bDelay ); /** * @brief Retrieve the StopSegment at the specified beat. * @param fBeat the beat that has a StopSegment. * @param bDelay If true, this is actually a DelaySegment. * @return the StopSegment in question. */ - StopSegment& GetStopSegmentAtBeat( float fBeat, bool bDelay ) { return GetStopSegmentAtRow( BeatToNoteRow(fBeat), bDelay ); } + StopSegment* GetStopSegmentAtBeat( float fBeat, bool bDelay ) { return GetStopSegmentAtRow( BeatToNoteRow(fBeat), bDelay ); } /** * @brief Retrieve the DelaySegment at the specified row. * @param iNoteRow the row that has a DelaySegment. * @return the DelaySegment in question. */ - StopSegment& GetDelaySegmentAtRow( int iNoteRow ) { return GetStopSegmentAtRow( iNoteRow, true ); } + StopSegment* GetDelaySegmentAtRow( int iNoteRow ) { return GetStopSegmentAtRow( iNoteRow, true ); } /** * @brief Retrieve the DelaySegment at the specified beat. * @param fBeat the beat that has a DelaySegment. * @return the DelaySegment in question. */ - StopSegment& GetDelaySegmentAtBeat( float fBeat ) { return GetStopSegmentAtRow( BeatToNoteRow(fBeat), true); } - /** - * @brief Retrieve the index of the StopSegments at the specified row. - * @param iNoteRow the row that has a StopSegment. - * @return the StopSegment's index in question. - */ - int GetStopSegmentIndexAtRow( int iNoteRow ) const { return GetStopSegmentIndexAtRow( iNoteRow, false ); } - /** - * @brief Retrieve the index of the StopSegments at the specified beat. - * @param fBeat the beat that has a StopSegment. - * @return the StopSegment's index in question. - */ - int GetStopSegmentIndexAtBeat( float fBeat ) const { return GetStopSegmentIndexAtRow( BeatToNoteRow(fBeat), false ); } - /** - * @brief Retrieve the index of the StopSegments at the specified row. - * @param iNoteRow the row that has a StopSegment. - * @param bDelay If true, it's a Delay Segment. Otherwise, it's a StopSegment. - * @return the StopSegment's index in question. - */ - int GetStopSegmentIndexAtRow( int iNoteRow, bool bDelay ) const; - /** - * @brief Retrieve the index of the StopSegments at the specified beat. - * @param fBeat the beat that has a StopSegment. - * @param bDelay If true, it's a Delay Segment. Otherwise, it's a StopSegment. - * @return the StopSegment's index in question. - */ - int GetStopSegmentIndexAtBeat( float fBeat, bool bDelay ) const { return GetStopSegmentIndexAtRow( BeatToNoteRow(fBeat), bDelay ); } - /** - * @brief Retrieve the index of the Delay Segments at the specified row. - * @param iNoteRow the row that has a Delay Segment. - * @return the StopSegment's index in question. - */ - int GetDelaySegmentIndexAtRow( int iNoteRow ) const { return GetStopSegmentIndexAtRow( iNoteRow, true ); } - /** - * @brief Retrieve the index of the Delay Segments at the specified beat. - * @param fBeat the beat that has a Delay Segment. - * @return the StopSegment's index in question. - */ - int GetDelaySegmentIndexAtBeat( float fBeat ) const { return GetStopSegmentIndexAtRow( BeatToNoteRow(fBeat), true ); } - /** - * @brief Add the StopSegment to the TimingData. - * @param seg the new StopSegment. - */ - void AddStopSegment( const StopSegment &seg ); - - /** - * @brief Retrieve the next beat that contains a StopSegment. - * @param iRow the present row. - * @return the next beat with a StopSegment, or fBeat if there is none ahead. - */ - float GetNextStopSegmentBeatAtRow( int iRow ) const; - /** - * @brief Retrieve the previous beat that contains a StopSegment. - * @param fBeat the present beat. - * @return the next beat with a StopSegment, or fBeat if there is none ahead. - */ - float GetNextStopSegmentBeatAtBeat( float fBeat ) const - { - return this->GetNextStopSegmentBeatAtRow( BeatToNoteRow(fBeat) ); - } - /** - * @brief Retrieve the previous beat that contains a StopSegment. - * @param iRow the present row. - * @return the previous beat with a StopSegment, or fBeat if there is none prior. - */ - float GetPreviousStopSegmentBeatAtRow( int iRow ) const; - /** - * @brief Retrieve the previous beat that contains a StopSegment. - * @param fBeat the present beat. - * @return the previous beat with a StopSegment, or fBeat if there is none prior. - */ - float GetPreviousStopSegmentBeatAtBeat( float fBeat ) const - { - return this->GetPreviousStopSegmentBeatAtRow( BeatToNoteRow(fBeat) ); - } - - /** - * @brief Retrieve the next beat that contains a DelaySegment. - * @param iRow the present row. - * @return the next beat with a DelaySegment, or fBeat if there is none ahead. - */ - float GetNextDelaySegmentBeatAtRow( int iRow ) const; - /** - * @brief Retrieve the previous beat that contains a DelaySegment. - * @param fBeat the present beat. - * @return the next beat with a DelaySegment, or fBeat if there is none ahead. - */ - float GetNextDelaySegmentBeatAtBeat( float fBeat ) const - { - return this->GetNextDelaySegmentBeatAtRow( BeatToNoteRow(fBeat) ); - } - /** - * @brief Retrieve the previous beat that contains a DelaySegment. - * @param iRow the present row. - * @return the previous beat with a DelaySegment, or fBeat if there is none prior. - */ - float GetPreviousDelaySegmentBeatAtRow( int iRow ) const; - /** - * @brief Retrieve the previous beat that contains a DelaySegment. - * @param fBeat the present beat. - * @return the previous beat with a DelaySegment, or fBeat if there is none prior. - */ - float GetPreviousDelaySegmentBeatAtBeat( float fBeat ) const - { - return this->GetPreviousDelaySegmentBeatAtRow( BeatToNoteRow(fBeat) ); - } - + StopSegment* GetDelaySegmentAtBeat( float fBeat ) { return GetStopSegmentAtRow( BeatToNoteRow(fBeat), true); } + /** * @brief Retrieve the Time Signature's numerator at the given row. * @param iNoteRow the row in question. @@ -415,68 +288,19 @@ public: * @param iNoteRow the row that has a TimeSignatureSegment. * @return the TimeSignatureSegment in question. */ - TimeSignatureSegment& GetTimeSignatureSegmentAtRow( int iNoteRow ); + TimeSignatureSegment* GetTimeSignatureSegmentAtRow( int iNoteRow ); /** * @brief Retrieve the TimeSignatureSegment at the specified beat. * @param fBeat the beat that has a TimeSignatureSegment. * @return the TimeSignatureSegment in question. */ - TimeSignatureSegment& GetTimeSignatureSegmentAtBeat( float fBeat ) { return GetTimeSignatureSegmentAtRow( BeatToNoteRow(fBeat) ); } - /** - * @brief Retrieve the index of the TimeSignatureSegments at the specified row. - * @param iNoteRow the row that has a TimeSignatureSegment. - * @return the TimeSignatureSegment's index in question. - */ - int GetTimeSignatureSegmentIndexAtRow( int iNoteRow ) const; - /** - * @brief Retrieve the index of the TimeSignatureSegments at the specified beat. - * @param fBeat the beat that has a TimeSignatureSegment. - * @return the TimeSignatureSegment's index in question. - */ - int GetTimeSignatureSegmentIndexAtBeat( float fBeat ) const { return GetTimeSignatureSegmentIndexAtRow( BeatToNoteRow(fBeat) ); } - /** - * @brief Add the TimeSignatureSegment to the TimingData. - * @param seg the new TimeSignatureSegment. - */ - void AddTimeSignatureSegment( const TimeSignatureSegment &seg ); + TimeSignatureSegment* GetTimeSignatureSegmentAtBeat( float fBeat ) { return GetTimeSignatureSegmentAtRow( BeatToNoteRow(fBeat) ); } + /** * @brief Determine the beat to warp to. * @param iRow The row you start on. * @return the beat you warp to. */ - - /** - * @brief Retrieve the next beat that contains a TimeSignatureSegment. - * @param iRow the present row. - * @return the next beat with a TimeSignatureSegment, or fBeat if there is none ahead. - */ - float GetNextTimeSignatureSegmentBeatAtRow( int iRow ) const; - /** - * @brief Retrieve the previous beat that contains a TimeSignatureSegment. - * @param fBeat the present beat. - * @return the next beat with a TimeSignatureSegment, or fBeat if there is none ahead. - */ - float GetNextTimeSignatureSegmentBeatAtBeat( float fBeat ) const - { - return this->GetNextTimeSignatureSegmentBeatAtRow( BeatToNoteRow(fBeat) ); - } - /** - * @brief Retrieve the previous beat that contains a TimeSignatureSegment. - * @param iRow the present row. - * @return the previous beat with a TimeSignatureSegment, or fBeat if there is none prior. - */ - float GetPreviousTimeSignatureSegmentBeatAtRow( int iRow ) const; - /** - * @brief Retrieve the previous beat that contains a TimeSignatureSegment. - * @param fBeat the present beat. - * @return the previous beat with a TimeSignatureSegment, or fBeat if there is none prior. - */ - float GetPreviousTimeSignatureSegmentBeatAtBeat( float fBeat ) const - { - return this->GetPreviousTimeSignatureSegmentBeatAtRow( BeatToNoteRow(fBeat) ); - } - - float GetWarpAtRow( int iRow ) const; /** * @brief Determine the beat to warp to. @@ -501,25 +325,13 @@ public: * @param iRow the row to focus on. * @return the WarpSegment in question. */ - WarpSegment& GetWarpSegmentAtRow( int iRow ); + WarpSegment* GetWarpSegmentAtRow( int iRow ); /** * @brief Retrieve the WarpSegment at the specified beat. * @param fBeat the beat to focus on. * @return the WarpSegment in question. */ - WarpSegment& GetWarpSegmentAtBeat( float fBeat ) { return GetWarpSegmentAtRow( BeatToNoteRow( fBeat ) ); } - /** - * @brief Retrieve the index of the WarpSegment at the specified row. - * @param iRow the row to focus on. - * @return the index in question. - */ - int GetWarpSegmentIndexAtRow( int iRow ) const; - /** - * @brief Retrieve the index of the WarpSegment at the specified beat. - * @param fBeat the beat to focus on. - * @return the index in question. - */ - int GetWarpSegmentIndexAtBeat( float fBeat ) const { return GetWarpSegmentIndexAtRow( BeatToNoteRow( fBeat ) ); } + WarpSegment* GetWarpSegmentAtBeat( float fBeat ) { return GetWarpSegmentAtRow( BeatToNoteRow( fBeat ) ); } /** * @brief Checks if the row is inside a warp. * @param iRow the row to focus on. @@ -532,43 +344,6 @@ public: * @return true if the row is inside a warp, false otherwise. */ bool IsWarpAtBeat( float fBeat ) const { return IsWarpAtRow( BeatToNoteRow( fBeat ) ); } - /** - * @brief Add the WarpSegment to the TimingData. - * @param seg the new WarpSegment. - */ - void AddWarpSegment( const WarpSegment &seg ); - - - /** - * @brief Retrieve the next beat that contains a WarpSegment. - * @param iRow the present row. - * @return the next beat with a WarpSegment, or fBeat if there is none ahead. - */ - float GetNextWarpSegmentBeatAtRow( int iRow ) const; - /** - * @brief Retrieve the previous beat that contains a WarpSegment. - * @param fBeat the present beat. - * @return the next beat with a WarpSegment, or fBeat if there is none ahead. - */ - float GetNextWarpSegmentBeatAtBeat( float fBeat ) const - { - return this->GetNextWarpSegmentBeatAtRow( BeatToNoteRow(fBeat) ); - } - /** - * @brief Retrieve the previous beat that contains a WarpSegment. - * @param iRow the present row. - * @return the previous beat with a WarpSegment, or fBeat if there is none prior. - */ - float GetPreviousWarpSegmentBeatAtRow( int iRow ) const; - /** - * @brief Retrieve the previous beat that contains a WarpSegment. - * @param fBeat the present beat. - * @return the previous beat with a WarpSegment, or fBeat if there is none prior. - */ - float GetPreviousWarpSegmentBeatAtBeat( float fBeat ) const - { - return this->GetPreviousWarpSegmentBeatAtRow( BeatToNoteRow(fBeat) ); - } /** * @brief Retrieve the Tickcount at the given row. @@ -599,62 +374,13 @@ public: * @param iNoteRow the row that has a TickcountSegment. * @return the TickcountSegment in question. */ - TickcountSegment& GetTickcountSegmentAtRow( int iNoteRow ); + TickcountSegment* GetTickcountSegmentAtRow( int iNoteRow ); /** * @brief Retrieve the TickcountSegment at the specified beat. * @param fBeat the beat that has a TickcountSegment. * @return the TickcountSegment in question. */ - TickcountSegment& GetTickcountSegmentAtBeat( float fBeat ) { return GetTickcountSegmentAtRow( BeatToNoteRow(fBeat) ); } - /** - * @brief Retrieve the index of the TickcountSegments at the specified row. - * @param iNoteRow the row that has a TickcountSegment. - * @return the TickcountSegment's index in question. - */ - int GetTickcountSegmentIndexAtRow( int iNoteRow ) const; - /** - * @brief Retrieve the index of the TickcountSegments at the specified beat. - * @param fBeat the beat that has a TickcountSegment. - * @return the TickcountSegment's index in question. - */ - int GetTickcountSegmentIndexAtBeat( float fBeat ) const { return GetTickcountSegmentIndexAtRow( BeatToNoteRow(fBeat) ); } - /** - * @brief Add the TickcountSegment to the TimingData. - * @param seg the new TickcountSegment. - */ - void AddTickcountSegment( const TickcountSegment &seg ); - - /** - * @brief Retrieve the next beat that contains a TickcountSegment. - * @param iRow the present row. - * @return the next beat with a TickcountSegment, or fBeat if there is none ahead. - */ - float GetNextTickcountSegmentBeatAtRow( int iRow ) const; - /** - * @brief Retrieve the previous beat that contains a TickcountSegment. - * @param fBeat the present beat. - * @return the next beat with a TickcountSegment, or fBeat if there is none ahead. - */ - float GetNextTickcountSegmentBeatAtBeat( float fBeat ) const - { - return this->GetNextTickcountSegmentBeatAtRow( BeatToNoteRow(fBeat) ); - } - /** - * @brief Retrieve the previous beat that contains a TickcountSegment. - * @param iRow the present row. - * @return the previous beat with a TickcountSegment, or fBeat if there is none prior. - */ - float GetPreviousTickcountSegmentBeatAtRow( int iRow ) const; - /** - * @brief Retrieve the previous beat that contains a TickcountSegment. - * @param fBeat the present beat. - * @return the previous beat with a TickcountSegment, or fBeat if there is none prior. - */ - float GetPreviousTickcountSegmentBeatAtBeat( float fBeat ) const - { - return this->GetPreviousTickcountSegmentBeatAtRow( BeatToNoteRow(fBeat) ); - } - + TickcountSegment* GetTickcountSegmentAtBeat( float fBeat ) { return GetTickcountSegmentAtRow( BeatToNoteRow(fBeat) ); } /** * @brief Retrieve the Combo at the given row. @@ -735,62 +461,13 @@ public: * @param iNoteRow the row that has a ComboSegment. * @return the ComboSegment in question. */ - ComboSegment& GetComboSegmentAtRow( int iNoteRow ); + ComboSegment* GetComboSegmentAtRow( int iNoteRow ); /** * @brief Retrieve the ComboSegment at the specified beat. * @param fBeat the beat that has a ComboSegment. * @return the ComboSegment in question. */ - ComboSegment& GetComboSegmentAtBeat( float fBeat ) { return GetComboSegmentAtRow( BeatToNoteRow(fBeat) ); } - /** - * @brief Retrieve the index of the ComboSegments at the specified row. - * @param iNoteRow the row that has a ComboSegment. - * @return the ComboSegment's index in question. - */ - int GetComboSegmentIndexAtRow( int iNoteRow ) const; - /** - * @brief Retrieve the index of the ComboSegments at the specified beat. - * @param fBeat the beat that has a ComboSegment. - * @return the ComboSegment's index in question. - */ - int GetComboSegmentIndexAtBeat( float fBeat ) const { return GetComboSegmentIndexAtRow( BeatToNoteRow(fBeat) ); } - /** - * @brief Add the ComboSegment to the TimingData. - * @param seg the new ComboSegment. - */ - void AddComboSegment( const ComboSegment &seg ); - - /** - * @brief Retrieve the next beat that contains a ComboSegment. - * @param iRow the present row. - * @return the next beat with a ComboSegment, or fBeat if there is none ahead. - */ - float GetNextComboSegmentBeatAtRow( int iRow ) const; - /** - * @brief Retrieve the previous beat that contains a ComboSegment. - * @param fBeat the present beat. - * @return the next beat with a ComboSegment, or fBeat if there is none ahead. - */ - float GetNextComboSegmentBeatAtBeat( float fBeat ) const - { - return this->GetNextComboSegmentBeatAtRow( BeatToNoteRow(fBeat) ); - } - /** - * @brief Retrieve the previous beat that contains a ComboSegment. - * @param iRow the present row. - * @return the previous beat with a ComboSegment, or fBeat if there is none prior. - */ - float GetPreviousComboSegmentBeatAtRow( int iRow ) const; - /** - * @brief Retrieve the previous beat that contains a ComboSegment. - * @param fBeat the present beat. - * @return the previous beat with a ComboSegment, or fBeat if there is none prior. - */ - float GetPreviousComboSegmentBeatAtBeat( float fBeat ) const - { - return this->GetPreviousComboSegmentBeatAtRow( BeatToNoteRow(fBeat) ); - } - + ComboSegment* GetComboSegmentAtBeat( float fBeat ) { return GetComboSegmentAtRow( BeatToNoteRow(fBeat) ); } /** * @brief Retrieve the Label at the given row. @@ -821,70 +498,20 @@ public: * @param iNoteRow the row that has a LabelSegment. * @return the LabelSegment in question. */ - LabelSegment& GetLabelSegmentAtRow( int iNoteRow ); + LabelSegment* GetLabelSegmentAtRow( int iNoteRow ); /** * @brief Retrieve the LabelSegment at the specified beat. * @param fBeat the beat that has a LabelSegment. * @return the LabelSegment in question. */ - LabelSegment& GetLabelSegmentAtBeat( float fBeat ) { return GetLabelSegmentAtRow( BeatToNoteRow(fBeat) ); } - /** - * @brief Retrieve the index of the LabelSegments at the specified row. - * @param iNoteRow the row that has a LabelSegment. - * @return the LabelSegment's index in question. - */ - int GetLabelSegmentIndexAtRow( int iNoteRow ) const; - /** - * @brief Retrieve the index of the LabelSegments at the specified beat. - * @param fBeat the beat that has a LabelSegment. - * @return the LabelSegment's index in question. - */ - int GetLabelSegmentIndexAtBeat( float fBeat ) const { return GetLabelSegmentIndexAtRow( BeatToNoteRow(fBeat) ); } - /** - * @brief Add the LabelSegment to the TimingData. - * @param seg the new LabelSegment. - */ - void AddLabelSegment( const LabelSegment &seg ); + LabelSegment* GetLabelSegmentAtBeat( float fBeat ) { return GetLabelSegmentAtRow( BeatToNoteRow(fBeat) ); } - /** - * @brief Retrieve the previous beat that contains a LabelSegment. - * @param iRow the present row. - * @return the previous beat with a LabelSegment, or fBeat if there is none prior. - */ - float GetPreviousLabelSegmentBeatAtRow( int iRow ) const; - /** - * @brief Retrieve the previous beat that contains a LabelSegment. - * @param fBeat the present beat. - * @return the previous beat with a LabelSegment, or fBeat if there is none prior. - */ - float GetPreviousLabelSegmentBeatAtBeat( float fBeat ) const - { - return this->GetPreviousLabelSegmentBeatAtRow( BeatToNoteRow(fBeat) ); - } - /** * @brief Determine if the requisite label already exists. * @param sLabel the label to check. * @return true if it exists, false otherwise. */ bool DoesLabelExist( RString sLabel ) const; - /** - * @brief Retrieve the next beat that contains a LabelSegment. - * @param iRow the present row. - * @return the next beat with a LabelSegment, or fBeat if there is none ahead. - */ - float GetNextLabelSegmentBeatAtRow( int iRow ) const; - /** - * @brief Retrieve the previous beat that contains a LabelSegment. - * @param fBeat the present beat. - * @return the next beat with a LabelSegment, or fBeat if there is none ahead. - */ - float GetNextLabelSegmentBeatAtBeat( float fBeat ) const - { - return this->GetNextLabelSegmentBeatAtRow( BeatToNoteRow(fBeat) ); - } - - /** * @brief Retrieve the Speed's percent at the given row. * @param iNoteRow the row in question. @@ -978,65 +605,16 @@ public: * @param iNoteRow the row that has a SpeedSegment. * @return the SpeedSegment in question. */ - SpeedSegment& GetSpeedSegmentAtRow( int iNoteRow ); + SpeedSegment* GetSpeedSegmentAtRow( int iNoteRow ); /** * @brief Retrieve the SpeedSegment at the specified beat. * @param fBeat the beat that has a SpeedSegment. * @return the SpeedSegment in question. */ - SpeedSegment& GetSpeedSegmentAtBeat( float fBeat ) { return GetSpeedSegmentAtRow( BeatToNoteRow(fBeat) ); } - /** - * @brief Retrieve the index of the SpeedSegments at the specified row. - * @param iNoteRow the row that has a SpeedSegment. - * @return the SpeedSegment's index in question. - */ - int GetSpeedSegmentIndexAtRow( int iNoteRow ) const; - /** - * @brief Retrieve the index of the SpeedSegments at the specified beat. - * @param fBeat the beat that has a SpeedSegment. - * @return the SpeedSegment's index in question. - */ - int GetSpeedSegmentIndexAtBeat( float fBeat ) const { return GetSpeedSegmentIndexAtRow( BeatToNoteRow(fBeat) ); } - /** - * @brief Add the SpeedSegment to the TimingData. - * @param seg the new SpeedSegment. - */ - void AddSpeedSegment( const SpeedSegment &seg ); + SpeedSegment* GetSpeedSegmentAtBeat( float fBeat ) { return GetSpeedSegmentAtRow( BeatToNoteRow(fBeat) ); } float GetDisplayedSpeedPercent( float fBeat, float fMusicSeconds ) const; - /** - * @brief Retrieve the next beat that contains a SpeedSegment. - * @param iRow the present row. - * @return the next beat with a SpeedSegment, or fBeat if there is none ahead. - */ - float GetNextSpeedSegmentBeatAtRow( int iRow ) const; - /** - * @brief Retrieve the previous beat that contains a SpeedSegment. - * @param fBeat the present beat. - * @return the next beat with a SpeedSegment, or fBeat if there is none ahead. - */ - float GetNextSpeedSegmentBeatAtBeat( float fBeat ) const - { - return this->GetNextSpeedSegmentBeatAtRow( BeatToNoteRow(fBeat) ); - } - /** - * @brief Retrieve the previous beat that contains a SpeedSegment. - * @param iRow the present row. - * @return the previous beat with a SpeedSegment, or fBeat if there is none prior. - */ - float GetPreviousSpeedSegmentBeatAtRow( int iRow ) const; - /** - * @brief Retrieve the previous beat that contains a SpeedSegment. - * @param fBeat the present beat. - * @return the previous beat with a SpeedSegment, or fBeat if there is none prior. - */ - float GetPreviousSpeedSegmentBeatAtBeat( float fBeat ) const - { - return this->GetPreviousSpeedSegmentBeatAtRow( BeatToNoteRow(fBeat) ); - } - - /** * @brief Retrieve the scrolling factor at the given row. * @param iNoteRow the row in question. @@ -1068,64 +646,13 @@ public: * @param iNoteRow the row that has a ScrollSegment. * @return the ScrollSegment in question. */ - ScrollSegment& GetScrollSegmentAtRow( int iNoteRow ); + ScrollSegment* GetScrollSegmentAtRow( int iNoteRow ); /** * @brief Retrieve the ScrollSegment at the specified beat. * @param fBeat the beat that has a ScrollSegment. * @return the ScrollSegment in question. */ - ScrollSegment& GetScrollSegmentAtBeat( float fBeat ) { return GetScrollSegmentAtRow( BeatToNoteRow(fBeat) ); } - - /** - * @brief Retrieve the index of the ScrollSegment at the specified row. - * @param iNoteRow the row that has a ScrollSegment. - * @return the ScrollSegment's index in question. - */ - int GetScrollSegmentIndexAtRow( int iNoteRow ) const; - /** - * @brief Retrieve the index of the ScrollSegment at the specified beat. - * @param fBeat the beat that has a ScrollSegment. - * @return the ScrollSegment's index in question. - */ - int GetScrollSegmentIndexAtBeat( float fBeat ) const { return GetScrollSegmentIndexAtRow( BeatToNoteRow(fBeat) ); } - - /** - * @brief Add the ScrollSegment to the TimingData. - * @param seg the new ScrollSegment. - */ - void AddScrollSegment( const ScrollSegment &seg ); - - /** - * @brief Retrieve the next beat that contains a ScrollSegment. - * @param iRow the present row. - * @return the next beat with a ScrollSegment, or fBeat if there is none ahead. - */ - float GetNextScrollSegmentBeatAtRow( int iRow ) const; - /** - * @brief Retrieve the previous beat that contains a ScrollSegment. - * @param fBeat the present beat. - * @return the next beat with a ScrollSegment, or fBeat if there is none ahead. - */ - float GetNextScrollSegmentBeatAtBeat( float fBeat ) const - { - return this->GetNextScrollSegmentBeatAtRow( BeatToNoteRow(fBeat) ); - } - /** - * @brief Retrieve the previous beat that contains a ScrollSegment. - * @param iRow the present row. - * @return the previous beat with a ScrollSegment, or fBeat if there is none prior. - */ - float GetPreviousScrollSegmentBeatAtRow( int iRow ) const; - /** - * @brief Retrieve the previous beat that contains a ScrollSegment. - * @param fBeat the present beat. - * @return the previous beat with a ScrollSegment, or fBeat if there is none prior. - */ - float GetPreviousScrollSegmentBeatAtBeat( float fBeat ) const - { - return this->GetPreviousScrollSegmentBeatAtRow( BeatToNoteRow(fBeat) ); - } - + ScrollSegment* GetScrollSegmentAtBeat( float fBeat ) { return GetScrollSegmentAtRow( BeatToNoteRow(fBeat) ); } /** * @brief Determine when the fakes end. @@ -1156,25 +683,13 @@ public: * @param iRow the row to focus on. * @return the FakeSegment in question. */ - FakeSegment& GetFakeSegmentAtRow( int iRow ); + FakeSegment* GetFakeSegmentAtRow( int iRow ); /** * @brief Retrieve the FakeSegment at the specified beat. * @param fBeat the beat to focus on. * @return the FakeSegment in question. */ - FakeSegment& GetFakeSegmentAtBeat( float fBeat ) { return GetFakeSegmentAtRow( BeatToNoteRow( fBeat ) ); } - /** - * @brief Retrieve the index of the FakeSegment at the specified row. - * @param iRow the row to focus on. - * @return the index in question. - */ - int GetFakeSegmentIndexAtRow( int iRow ) const; - /** - * @brief Retrieve the index of the FakeSegment at the specified beat. - * @param fBeat the beat to focus on. - * @return the index in question. - */ - int GetFakeSegmentIndexAtBeat( float fBeat ) const { return GetFakeSegmentIndexAtRow( BeatToNoteRow( fBeat ) ); } + FakeSegment* GetFakeSegmentAtBeat( float fBeat ) { return GetFakeSegmentAtRow( BeatToNoteRow( fBeat ) ); } /** * @brief Checks if the row is inside a fake. * @param iRow the row to focus on. @@ -1187,43 +702,6 @@ public: * @return true if the row is inside a fake, false otherwise. */ bool IsFakeAtBeat( float fBeat ) const { return IsFakeAtRow( BeatToNoteRow( fBeat ) ); } - /** - * @brief Add the FakeSegment to the TimingData. - * @param seg the new FakeSegment. - */ - void AddFakeSegment( const FakeSegment &seg ); - - /** - * @brief Retrieve the next beat that contains a FakeSegment. - * @param iRow the present row. - * @return the next beat with a FakeSegment, or fBeat if there is none ahead. - */ - float GetNextFakeSegmentBeatAtRow( int iRow ) const; - /** - * @brief Retrieve the previous beat that contains a FakeSegment. - * @param fBeat the present beat. - * @return the next beat with a FakeSegment, or fBeat if there is none ahead. - */ - float GetNextFakeSegmentBeatAtBeat( float fBeat ) const - { - return this->GetNextFakeSegmentBeatAtRow( BeatToNoteRow(fBeat) ); - } - /** - * @brief Retrieve the previous beat that contains a FakeSegment. - * @param iRow the present row. - * @return the previous beat with a FakeSegment, or fBeat if there is none prior. - */ - float GetPreviousFakeSegmentBeatAtRow( int iRow ) const; - /** - * @brief Retrieve the previous beat that contains a FakeSegment. - * @param fBeat the present beat. - * @return the previous beat with a FakeSegment, or fBeat if there is none prior. - */ - float GetPreviousFakeSegmentBeatAtBeat( float fBeat ) const - { - return this->GetPreviousFakeSegmentBeatAtRow( BeatToNoteRow(fBeat) ); - } - /** * @brief Determine if this notes on this row can be judged. @@ -1303,36 +781,14 @@ public: */ bool operator==( const TimingData &other ) { - COMPARE( m_BPMSegments.size() ); - for( unsigned i=0; i m_BPMSegments; - /** - * @brief The collection of StopSegments & DelaySegments. - */ - vector m_StopSegments; - /** - * @brief The collection of TimeSignatureSegments. - */ - vector m_vTimeSignatureSegments; - /** - * @brief The collection of WarpSegments. - */ - vector m_WarpSegments; - /** - * @brief The collection of TickcountSegments. - */ - vector m_TickcountSegments; - /** - * @brief The collection of ComboSegments. - */ - vector m_ComboSegments; - /** - * @brief The collection of LabelSegments. - */ - vector m_LabelSegments; - /** @brief The collection of SpeedSegments. */ - vector m_SpeedSegments; - /** @brief The collection of ScrollSegments. */ - vector m_ScrollSegments; - /** @brief The collection of FakeSegments. */ - vector m_FakeSegments; + + + vector allTimingSegments[NUM_TimingSegmentType]; /** * @brief The initial offset of a song. */ float m_fBeat0OffsetInSeconds; + + vector ToVectorString(TimingSegmentType tst, bool isDelay = false, int dec = 6) const; }; #undef COMPARE diff --git a/src/TimingSegments.cpp b/src/TimingSegments.cpp index a26f94df23..deec665226 100644 --- a/src/TimingSegments.cpp +++ b/src/TimingSegments.cpp @@ -1,5 +1,20 @@ #include "global.h" #include "TimingSegments.h" +#include "EnumHelper.h" + +static const char *TimingSegmentTypeNames[] = { + "BPM", + "Stop/Delay", // TODO: separate when stops and delays are separate. + "Time Sig", + "Warp", + "Label", + "Tickcount", + "Combo", + "Speed", + "Scroll", + "Fake" +}; +XToString( TimingSegmentType ); #define LTCOMPARE(x) if(this->x < other.x) return true; if(this->x > other.x) return false; diff --git a/src/TimingSegments.h b/src/TimingSegments.h index 39cbeffc34..b8f954d467 100644 --- a/src/TimingSegments.h +++ b/src/TimingSegments.h @@ -18,9 +18,12 @@ enum TimingSegmentType SEGMENT_SPEED, SEGMENT_SCROLL, SEGMENT_FAKE, - NUM_TimingSegmentTypes + NUM_TimingSegmentType, + TimingSegmentType_Invalid, }; +const RString& TimingSegmentTypeToString( TimingSegmentType tst ); + /** * @brief The base timing segment for all of the changing glory. */ @@ -74,7 +77,15 @@ struct TimingSegment * @return the starting beat. */ float GetBeat() const; - virtual TimingSegmentType GetType() const = 0; + virtual TimingSegmentType GetType() const + { + return TimingSegmentType_Invalid; + } + // TODO: Remove isDelay optional param and split Stops and Delays. + virtual RString ToString(int dec) const + { + return FloatToString(this->GetBeat()); + } /** * @brief Compares two DrivedSegments to see if one is less than the other. @@ -200,6 +211,13 @@ struct FakeSegment : public TimingSegment TimingSegmentType GetType() const { return SEGMENT_FAKE; } + virtual RString ToString(int dec) const + { + RString str = "%.0" + IntToString(dec) + + "f=%.0" + IntToString(dec) + "f"; + return ssprintf(str.c_str(), this->GetBeat(), this->GetLength()); + } + private: /** * @brief The number of beats the FakeSegment is alive for. @@ -254,6 +272,13 @@ struct WarpSegment : public TimingSegment void Scale( int start, int length, int newLength ); + virtual RString ToString(int dec) const + { + RString str = "%.0" + IntToString(dec) + + "f=%.0" + IntToString(dec) + "f"; + return ssprintf(str.c_str(), this->GetBeat(), this->GetLength()); + } + /* * @brief Compares two WarpSegments to see if one is less than the other. * @param other the other WarpSegment to compare to. @@ -320,6 +345,12 @@ struct TickcountSegment : public TimingSegment * @param i the tickcount. */ void SetTicks(const int i); + virtual RString ToString(int dec) const + { + const RString str = "%.0" + IntToString(dec) + "f=%i"; + return ssprintf(str.c_str(), this->GetBeat(), this->GetTicks()); + } + /** * @brief Compares two TickcountSegments to see if one is less than the other. * @param other the other TickcountSegment to compare to. @@ -350,7 +381,7 @@ struct ComboSegment : public TimingSegment * It is best to override the values as soon as possible. */ ComboSegment() : - TimingSegment(-1), combo(1) { } + TimingSegment(-1), combo(1), missCombo(1) { } ComboSegment(const ComboSegment &other) : TimingSegment(other.GetRow()), @@ -398,6 +429,17 @@ struct ComboSegment : public TimingSegment * @param i the miss combo. */ void SetMissCombo(const int i); + virtual RString ToString(int dec) const + { + RString str = "%.0" + IntToString(dec) + "f=%i"; + if (this->GetCombo() == this->GetMissCombo()) + { + return ssprintf(str.c_str(), this->GetBeat(), this->GetCombo()); + } + str += "=%i"; + return ssprintf(str.c_str(), this->GetBeat(), this->GetCombo(), this->GetMissCombo()); + } + /** * @brief Compares two ComboSegments to see if one is less than the other. * @param other the other ComboSegment to compare to. @@ -456,6 +498,12 @@ struct LabelSegment : public TimingSegment * @param l the label. */ void SetLabel(const RString l); + virtual RString ToString(int dec) const + { + const RString str = "%.0" + IntToString(dec) + "f=%s"; + return ssprintf(str.c_str(), this->GetBeat(), this->GetLabel().c_str()); + } + /** * @brief Compares two LabelSegments to see if one is less than the other. * @param other the other LabelSegment to compare to. @@ -520,6 +568,13 @@ struct BPMSegment : public TimingSegment * @param l the label. */ void SetBPS(const float newBPS); + virtual RString ToString(int dec) const + { + const RString str = "%.0" + IntToString(dec) + + "f=%.0" + IntToString(dec) + "f"; + return ssprintf(str.c_str(), this->GetBeat(), this->GetBPM()); + } + /** * @brief Compares two LabelSegments to see if one is less than the other. * @param other the other LabelSegment to compare to. @@ -598,6 +653,12 @@ struct TimeSignatureSegment : public TimingSegment * @param i the denominator. */ void SetDen(const int i); + virtual RString ToString(int dec) const + { + const RString str = "%.0" + IntToString(dec) + "f=%i=%i"; + return ssprintf(str.c_str(), this->GetBeat(), this->GetNum(), this->GetDen()); + } + /** * @brief Retrieve the number of note rows per measure within the TimeSignatureSegment. * @@ -721,6 +782,15 @@ struct SpeedSegment : public TimingSegment void SetUnit(const int i); void Scale( int start, int length, int newLength ); + + virtual RString ToString(int dec) const + { + const RString str = "%.0" + IntToString(dec) + + "f=%.0" + IntToString(dec) + "f=%.0" + + IntToString(dec) + "f=%u"; + return ssprintf(str.c_str(), this->GetBeat(), this->GetRatio(), + this->GetLength(), this->GetUnit()); + } /** * @brief Compares two SpeedSegments to see if one is less than the other. @@ -786,6 +856,13 @@ struct ScrollSegment : public TimingSegment * @param i the ratio. */ void SetRatio(const float i); + virtual RString ToString(int dec) const + { + const RString str = "%.0" + IntToString(dec) + + "f=%.0" + IntToString(dec) + "f"; + return ssprintf(str.c_str(), this->GetBeat(), this->GetRatio()); + } + /** * @brief Compares two ScrollSegment to see if one is less than the other. * @param other the other ScrollSegment to compare to. @@ -861,6 +938,13 @@ struct StopSegment : public TimingSegment * @brief Set the behavior in this StopSegment. * @param i the behavior. */ void SetDelay(const bool i); + + virtual RString ToString(int dec) const + { + const RString str = "%.0" + IntToString(dec) + + "f=%.0" + IntToString(dec) + "f"; + return ssprintf(str.c_str(), this->GetBeat(), this->GetPause()); + } /** * @brief Compares two StopSegments to see if one is less than the other. diff --git a/src/UnlockManager.cpp b/src/UnlockManager.cpp index b3d045d649..e8075bbb2c 100644 --- a/src/UnlockManager.cpp +++ b/src/UnlockManager.cpp @@ -268,18 +268,20 @@ static float GetArcadePoints( const Profile *pProfile ) { switch(pm) { - case PLAY_MODE_NONSTOP: - case PLAY_MODE_ONI: - case PLAY_MODE_ENDLESS: - fAP += pProfile->m_iNumSongsPlayedByPlayMode[pm]; - break; + case PLAY_MODE_NONSTOP: + case PLAY_MODE_ONI: + case PLAY_MODE_ENDLESS: + { + fAP += pProfile->m_iNumSongsPlayedByPlayMode[pm]; + } + default: break; } - } return fAP; } +// TODO: Make this more flexible for games with many grade tiers. Lua-ize it? -Wolfman2000 static float GetSongPoints( const Profile *pProfile ) { float fSP = 0; @@ -297,6 +299,7 @@ static float GetSongPoints( const Profile *pProfile ) case Grade_Tier07:/*D*/ fSP += 1* pProfile->m_iNumStagesPassedByGrade[g]; break; case Grade_Failed: case Grade_NoData: + default: ; // no points break; } @@ -306,11 +309,13 @@ static float GetSongPoints( const Profile *pProfile ) { switch(pm) { - case PLAY_MODE_NONSTOP: - case PLAY_MODE_ONI: - case PLAY_MODE_ENDLESS: + case PLAY_MODE_NONSTOP: + case PLAY_MODE_ONI: + case PLAY_MODE_ENDLESS: + { fSP += pProfile->m_iNumSongsPlayedByPlayMode[pm]; - break; + } + default: break; } } diff --git a/src/arch/InputHandler/InputHandler_MacOSX_HID.cpp b/src/arch/InputHandler/InputHandler_MacOSX_HID.cpp index c9e1b86243..ee7072e93e 100644 --- a/src/arch/InputHandler/InputHandler_MacOSX_HID.cpp +++ b/src/arch/InputHandler/InputHandler_MacOSX_HID.cpp @@ -347,6 +347,7 @@ RString InputHandler_MacOSX_HID::GetDeviceSpecificInputString( const DeviceInput case OTHER(48): return "non US backslash"; case OTHER(49): return "application"; case OTHER(50): return "prior"; + default: break; } #undef OTHER } @@ -365,6 +366,7 @@ RString InputHandler_MacOSX_HID::GetDeviceSpecificInputString( const DeviceInput case JOY_BUTTON_9: return "P2 MID"; case JOY_BUTTON_10: return "P2 DL"; case JOY_BUTTON_11: return "P2 DR"; + default: break; } } diff --git a/src/arch/LoadingWindow/LoadingWindow.h b/src/arch/LoadingWindow/LoadingWindow.h index 4cc23cd097..ec92728e1f 100644 --- a/src/arch/LoadingWindow/LoadingWindow.h +++ b/src/arch/LoadingWindow/LoadingWindow.h @@ -13,6 +13,7 @@ public: virtual void SetText( RString str ) = 0; virtual void SetIcon( const RageSurface *pIcon ) { } + virtual void SetSplash( const RString sPath ) { } virtual void SetProgress( const int progress ) { m_progress=progress; } virtual void SetTotalWork( const int totalWork ) { m_totalWork=totalWork; } virtual void SetIndeterminate( bool indeterminate ) { m_indeterminate=indeterminate; } diff --git a/src/arch/LoadingWindow/LoadingWindow_Gtk.h b/src/arch/LoadingWindow/LoadingWindow_Gtk.h index 6abeb87b4d..3ccca35841 100644 --- a/src/arch/LoadingWindow/LoadingWindow_Gtk.h +++ b/src/arch/LoadingWindow/LoadingWindow_Gtk.h @@ -12,6 +12,7 @@ public: RString Init(); ~LoadingWindow_Gtk(); void SetText( RString str ); + void SetSplash( const RString str ) {} void SetProgress( const int progress ); void SetTotalWork( const int totalWork ); void SetIndeterminate( bool indeterminate ); diff --git a/src/arch/LoadingWindow/LoadingWindow_MacOSX.h b/src/arch/LoadingWindow/LoadingWindow_MacOSX.h index 3a521a3170..37694a9a93 100644 --- a/src/arch/LoadingWindow/LoadingWindow_MacOSX.h +++ b/src/arch/LoadingWindow/LoadingWindow_MacOSX.h @@ -9,6 +9,7 @@ public: LoadingWindow_MacOSX(); ~LoadingWindow_MacOSX(); void SetText( RString str ); + void SetSplash( const RString path ) {} void SetProgress( const int progress ); void SetTotalWork( const int totalWork ); void SetIndeterminate( bool indeterminate ); diff --git a/src/arch/LoadingWindow/LoadingWindow_Null.h b/src/arch/LoadingWindow/LoadingWindow_Null.h index 1ca5d89341..6d8f48b664 100644 --- a/src/arch/LoadingWindow/LoadingWindow_Null.h +++ b/src/arch/LoadingWindow/LoadingWindow_Null.h @@ -7,6 +7,7 @@ class LoadingWindow_Null: public LoadingWindow { public: void SetText( RString str ) { } + void SetSplash( const RString str ) { } }; #define USE_LOADING_WINDOW_NULL diff --git a/src/arch/LoadingWindow/LoadingWindow_Win32.cpp b/src/arch/LoadingWindow/LoadingWindow_Win32.cpp index f628d22a65..96b043c3d4 100644 --- a/src/arch/LoadingWindow/LoadingWindow_Win32.cpp +++ b/src/arch/LoadingWindow/LoadingWindow_Win32.cpp @@ -22,8 +22,7 @@ static HBITMAP g_hBitmap = NULL; #pragma comment(linker,"\"/manifestdependency:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"") - -/* Load a RageSurface into a GDI surface. */ +// Load a RageSurface into a GDI surface. static HBITMAP LoadWin32Surface( RageSurface *&s ) { RageSurfaceUtils::ConvertSurface( s, s->w, s->h, 32, 0xFF000000, 0x00FF0000, 0x0000FF00, 0 ); @@ -37,14 +36,14 @@ static HBITMAP LoadWin32Surface( RageSurface *&s ) HDC BitmapDC = CreateCompatibleDC( hScreen ); SelectObject( BitmapDC, bitmap ); - /* This is silly, but simple. We only do this once, on a small image. */ + // This is silly, but simple. We only do this once, on a small image. for( int y = 0; y < s->h; ++y ) { unsigned const char *line = ((unsigned char *) s->pixels) + (y * s->pitch); for( int x = 0; x < s->w; ++x ) { unsigned const char *data = line + (x*s->format->BytesPerPixel); - + SetPixelV( BitmapDC, x, y, RGB( data[3], data[2], data[1] ) ); } } @@ -64,7 +63,7 @@ static HBITMAP LoadWin32Surface( RString sFile, HWND hWnd ) if( pSurface == NULL ) return NULL; - /* Resize the splash image to fit the dialog. Stretch to fit horizontally, + /* Resize the splash image to fit the dialog. Stretch to fit horizontally, * maintaining aspect ratio. */ { RECT r; @@ -84,7 +83,6 @@ static HBITMAP LoadWin32Surface( RString sFile, HWND hWnd ) INT_PTR CALLBACK LoadingWindow_Win32::DlgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ) { - LoadingWindow_Win32 *self; if(msg==WM_INITDIALOG) { @@ -171,7 +169,7 @@ INT_PTR CALLBACK LoadingWindow_Win32::DlgProc( HWND hWnd, UINT msg, WPARAM wPara void LoadingWindow_Win32::SetIcon( const RageSurface *pIcon ) { - if( m_hIcon != NULL ) + if( g_hBitmap != NULL ) DestroyIcon( m_hIcon ); m_hIcon = IconFromSurface( pIcon ); @@ -179,6 +177,26 @@ void LoadingWindow_Win32::SetIcon( const RageSurface *pIcon ) SetClassLong( hwnd, GCL_HICON, (LONG) m_hIcon ); } +void LoadingWindow_Win32::SetSplash( const RString sPath ) +{ + if( g_hBitmap != NULL ) + { + DeleteObject( g_hBitmap ); + g_hBitmap = NULL; + } + + g_hBitmap = LoadWin32Surface( sPath, hwnd ); + if( g_hBitmap != NULL ) + { + SendDlgItemMessage( + hwnd, IDC_SPLASH, + STM_SETIMAGE, + (WPARAM) IMAGE_BITMAP, + (LPARAM) (HANDLE) g_hBitmap + ); + } +} + LoadingWindow_Win32::LoadingWindow_Win32() { @@ -194,7 +212,7 @@ LoadingWindow_Win32::LoadingWindow_Win32() #endif m_hIcon = NULL; - + runMessageLoop=true; guiReadyEvent=CreateEvent(NULL,FALSE,FALSE,NULL); diff --git a/src/arch/LoadingWindow/LoadingWindow_Win32.h b/src/arch/LoadingWindow/LoadingWindow_Win32.h index f51dc28e3a..491137aa99 100644 --- a/src/arch/LoadingWindow/LoadingWindow_Win32.h +++ b/src/arch/LoadingWindow/LoadingWindow_Win32.h @@ -21,6 +21,7 @@ public: void SetText( RString sText ); void SetIcon( const RageSurface *pIcon ); + void SetSplash( const RString sPath ); void SetProgress( const int progress ); void SetTotalWork( const int totalWork ); void SetIndeterminate( bool indeterminate ); diff --git a/src/archutils/Win32/WindowsResources.rc b/src/archutils/Win32/WindowsResources.rc index 91007fdd3a..a9792bbfe8 100644 --- a/src/archutils/Win32/WindowsResources.rc +++ b/src/archutils/Win32/WindowsResources.rc @@ -13,11 +13,13 @@ #undef APSTUDIO_READONLY_SYMBOLS ///////////////////////////////////////////////////////////////////////////// -// English (United States) resources +// English (U.S.) resources #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US #pragma code_page(1252) +#endif //_WIN32 ///////////////////////////////////////////////////////////////////////////// // @@ -47,11 +49,11 @@ EXSTYLE WS_EX_APPWINDOW CAPTION "Stepmania" FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN - CTEXT "line1",IDC_STATIC_MESSAGE1,0,67,310,10,SS_NOPREFIX | SS_CENTERIMAGE - CTEXT "line2",IDC_STATIC_MESSAGE2,0,76,310,10,SS_NOPREFIX | SS_CENTERIMAGE - CTEXT "line3",IDC_STATIC_MESSAGE3,0,84,310,10,SS_NOPREFIX | SS_CENTERIMAGE + CTEXT "line1",IDC_STATIC_MESSAGE1,7,43,303,10,SS_NOPREFIX | SS_CENTERIMAGE + CTEXT "line2",IDC_STATIC_MESSAGE2,7,52,303,10,SS_NOPREFIX | SS_CENTERIMAGE + CTEXT "line3",IDC_STATIC_MESSAGE3,7,61,303,10,SS_NOPREFIX | SS_CENTERIMAGE CONTROL "",IDC_SPLASH,"Static",SS_BITMAP,0,0,310,25 - CONTROL "",IDC_PROGRESS,"msctls_progress32",0x0,7,51,298,14 + CONTROL "",IDC_PROGRESS,"msctls_progress32",0x0,7,73,303,14 END IDD_DISASM_CRASH DIALOGEX 0, 0, 332, 114 @@ -103,7 +105,7 @@ END // #ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO +GUIDELINES DESIGNINFO BEGIN IDD_LOADING_DIALOG, DIALOG BEGIN @@ -213,7 +215,7 @@ BEGIN END END -#endif // English (United States) resources +#endif // English (U.S.) resources ///////////////////////////////////////////////////////////////////////////// diff --git a/src/archutils/Win32/mapconv.exe b/src/archutils/Win32/mapconv.exe index 5d30c815fa..8b23d80115 100644 Binary files a/src/archutils/Win32/mapconv.exe and b/src/archutils/Win32/mapconv.exe differ diff --git a/src/archutils/Win32/verinc.exe b/src/archutils/Win32/verinc.exe index 545ffec5db..d17008756a 100644 Binary files a/src/archutils/Win32/verinc.exe and b/src/archutils/Win32/verinc.exe differ diff --git a/src/sm-ssc-net2003.sln b/src/sm5-net2003.sln similarity index 100% rename from src/sm-ssc-net2003.sln rename to src/sm5-net2003.sln diff --git a/src/sm-ssc-net2005.sln b/src/sm5-net2005.sln similarity index 100% rename from src/sm-ssc-net2005.sln rename to src/sm5-net2005.sln diff --git a/src/sm-ssc-net2008.sln b/src/sm5-net2008.sln similarity index 100% rename from src/sm-ssc-net2008.sln rename to src/sm5-net2008.sln diff --git a/src/sm-ssc-net2010.sln b/src/sm5-net2010.sln similarity index 100% rename from src/sm-ssc-net2010.sln rename to src/sm5-net2010.sln