From 586ceb55fdfd8e752aa22ab9e27a66dd175c37bd Mon Sep 17 00:00:00 2001 From: dbalatoni13 Date: Tue, 26 Nov 2024 02:15:44 +0100 Subject: [PATCH] Split Japanese DOL till minigame_seq.c --- config/GMPE01_00/symbols.txt | 44 ++-- config/GMPE01_01/symbols.txt | 54 ++-- config/GMPJ01_00/splits.txt | 13 + config/GMPJ01_00/symbols.txt | 469 ++++++++++++++++++----------------- config/GMPP01_00/symbols.txt | 42 ++-- configure.py | 4 +- include/game/minigame_seq.h | 26 ++ src/game/minigame_seq.c | 303 +++++++++++++--------- 8 files changed, 540 insertions(+), 415 deletions(-) diff --git a/config/GMPE01_00/symbols.txt b/config/GMPE01_00/symbols.txt index a6e13c9b..25979f04 100644 --- a/config/GMPE01_00/symbols.txt +++ b/config/GMPE01_00/symbols.txt @@ -666,29 +666,29 @@ MGSeqKillAll = .text:0x80035A0C; // type:function size:0x3C MGSeqDoneCheck = .text:0x80035A48; // type:function size:0xA4 MGSeqStub = .text:0x80035AEC; // type:function size:0x4 MGSeqSprKill = .text:0x80035AF0; // type:function size:0x8C -SeqInitTimer = .text:0x80035B7C; // type:function size:0x2E0 scope:local -SeqUpdateTimer = .text:0x80035E5C; // type:function size:0x69C scope:local -SeqInitType2 = .text:0x800364F8; // type:function size:0x3D8 scope:local -SeqUpdateType2 = .text:0x800368D0; // type:function size:0x2F8 scope:local +MGSeqInitTimer = .text:0x80035B7C; // type:function size:0x2E0 +MGSeqUpdateTimer = .text:0x80035E5C; // type:function size:0x69C +MGSeqInitType2 = .text:0x800364F8; // type:function size:0x3D8 +MGSeqUpdateType2 = .text:0x800368D0; // type:function size:0x2F8 fn_80036BC8 = .text:0x80036BC8; // type:function size:0x188 SeqMakeWord = .text:0x80036D50; // type:function size:0x1D0 scope:local SeqLoadFontChar = .text:0x80036F20; // type:function size:0x26C scope:local -SeqInitMGBasic = .text:0x8003718C; // type:function size:0x194 scope:local -SeqUpdateMGBasic = .text:0x80037320; // type:function size:0x9D0 scope:local -SeqInitMGCommon = .text:0x80037CF0; // type:function size:0x2A4 scope:local -SeqUpdateMGBattle = .text:0x80037F94; // type:function size:0xDA4 scope:local -SeqUpdateMG1vs3 = .text:0x80038D38; // type:function size:0xDA4 scope:local -SeqUpdateMGStory = .text:0x80039ADC; // type:function size:0xBB8 scope:local -SeqUpdateMG2vs2 = .text:0x8003A694; // type:function size:0xAB4 scope:local -SeqInitFlip = .text:0x8003B148; // type:function size:0x3C4 scope:local -SeqUpdateFlip = .text:0x8003B50C; // type:function size:0x91C scope:local -SeqUpdateMGBowser = .text:0x8003BE28; // type:function size:0xC84 scope:local -SeqInitDraw = .text:0x8003CAAC; // type:function size:0xDC scope:local -SeqUpdateDraw = .text:0x8003CB88; // type:function size:0x3DC scope:local -SeqInitWin = .text:0x8003CF64; // type:function size:0x8A0 scope:local -SeqUpdateWin = .text:0x8003D804; // type:function size:0x72C scope:local -SeqInitRecord = .text:0x8003DF30; // type:function size:0x774 scope:local -SeqUpdateRecord = .text:0x8003E6A4; // type:function size:0x304 scope:local +MGSeqInitMGBasic = .text:0x8003718C; // type:function size:0x194 +MGSeqUpdateMGBasic = .text:0x80037320; // type:function size:0x9D0 +MGSeqInitMGCommon = .text:0x80037CF0; // type:function size:0x2A4 +MGSeqUpdateMGBattle = .text:0x80037F94; // type:function size:0xDA4 +MGSeqUpdateMG1vs3 = .text:0x80038D38; // type:function size:0xDA4 +MGSeqUpdateMGStory = .text:0x80039ADC; // type:function size:0xBB8 +MGSeqUpdateMG2vs2 = .text:0x8003A694; // type:function size:0xAB4 +MGSeqInitFlip = .text:0x8003B148; // type:function size:0x3C4 +MGSeqUpdateFlip = .text:0x8003B50C; // type:function size:0x91C +MGSeqUpdateMGBowser = .text:0x8003BE28; // type:function size:0xC84 +MGSeqInitDraw = .text:0x8003CAAC; // type:function size:0xDC +MGSeqUpdateDraw = .text:0x8003CB88; // type:function size:0x3DC +MGSeqInitWin = .text:0x8003CF64; // type:function size:0x8A0 +MGSeqUpdateWin = .text:0x8003D804; // type:function size:0x72C +MGSeqInitRecord = .text:0x8003DF30; // type:function size:0x774 +MGSeqUpdateRecord = .text:0x8003E6A4; // type:function size:0x304 MGSeqPauseInit = .text:0x8003E9A8; // type:function size:0x6C PauseProc = .text:0x8003EA14; // type:function size:0x94C scope:local MGSeqPauseKill = .text:0x8003F360; // type:function size:0xC @@ -3921,7 +3921,7 @@ lbl_8012F0C5 = .data:0x8012F0C5; // type:object size:0x3A lbl_8012F0FF = .data:0x8012F0FF; // type:object size:0x31 seqInfoTbl = .data:0x8012F130; // type:object size:0x1DC scope:local seqType2SprTbl = .data:0x8012F30C; // type:object size:0x18 scope:local -mgSeqTypeTbl = .data:0x8012F324; // type:object size:0x12 scope:local +mgSeqTypeTbl = .data:0x8012F324; // type:object size:0x12 scope:local data:2byte lbl_8012F336 = .data:0x8012F336; // type:object size:0x53 scope:local data:string lbl_8012F389 = .data:0x8012F389; // type:object size:0x9 scope:local data:string lbl_8012F392 = .data:0x8012F392; // type:object size:0x9 scope:local data:string @@ -4916,7 +4916,7 @@ lbl_801D359E = .sdata:0x801D359E; // type:object size:0x5 scope:local data:strin lbl_801D35A3 = .sdata:0x801D35A3; // type:object size:0x7 scope:local lbl_801D35AA = .sdata:0x801D35AA; // type:object size:0x6 scope:local lbl_801D35B0 = .sdata:0x801D35B0; // type:object size:0x6 scope:local data:string -pauseStr$2216 = .sdata:0x801D35B8; // type:object size:0x8 scope:local +pauseStr = .sdata:0x801D35B8; // type:object size:0x8 scope:local lbl_801D35C0 = .sdata:0x801D35C0; // type:object size:0x8 lbl_801D35C8 = .sdata:0x801D35C8; // type:object size:0x8 lbl_801D35D0 = .sdata:0x801D35D0; // type:object size:0x8 diff --git a/config/GMPE01_01/symbols.txt b/config/GMPE01_01/symbols.txt index a14c4673..4a3aaa79 100644 --- a/config/GMPE01_01/symbols.txt +++ b/config/GMPE01_01/symbols.txt @@ -666,29 +666,29 @@ MGSeqKillAll = .text:0x80035A0C; // type:function size:0x3C MGSeqDoneCheck = .text:0x80035A48; // type:function size:0xA4 MGSeqStub = .text:0x80035AEC; // type:function size:0x4 MGSeqSprKill = .text:0x80035AF0; // type:function size:0x8C -SeqInitTimer = .text:0x80035B7C; // type:function size:0x2E0 scope:local -SeqUpdateTimer = .text:0x80035E5C; // type:function size:0x69C scope:local -SeqInitType2 = .text:0x800364F8; // type:function size:0x3D8 scope:local -SeqUpdateType2 = .text:0x800368D0; // type:function size:0x2F8 scope:local +MGSeqInitTimer = .text:0x80035B7C; // type:function size:0x2E0 +MGSeqUpdateTimer = .text:0x80035E5C; // type:function size:0x69C +MGSeqInitType2 = .text:0x800364F8; // type:function size:0x3D8 +MGSeqUpdateType2 = .text:0x800368D0; // type:function size:0x2F8 fn_80036BC8 = .text:0x80036BC8; // type:function size:0x188 SeqMakeWord = .text:0x80036D50; // type:function size:0x1D0 scope:local SeqLoadFontChar = .text:0x80036F20; // type:function size:0x26C scope:local -SeqInitMGBasic = .text:0x8003718C; // type:function size:0x194 scope:local -SeqUpdateMGBasic = .text:0x80037320; // type:function size:0x9D0 scope:local -SeqInitMGCommon = .text:0x80037CF0; // type:function size:0x2A4 scope:local -SeqUpdateMGBattle = .text:0x80037F94; // type:function size:0xDA4 scope:local -SeqUpdateMG1vs3 = .text:0x80038D38; // type:function size:0xDA4 scope:local -SeqUpdateMGStory = .text:0x80039ADC; // type:function size:0xBB8 scope:local -SeqUpdateMG2vs2 = .text:0x8003A694; // type:function size:0xAB4 scope:local -SeqInitFlip = .text:0x8003B148; // type:function size:0x3C4 scope:local -SeqUpdateFlip = .text:0x8003B50C; // type:function size:0x91C scope:local -SeqUpdateMGBowser = .text:0x8003BE28; // type:function size:0xC84 scope:local -SeqInitDraw = .text:0x8003CAAC; // type:function size:0xDC scope:local -SeqUpdateDraw = .text:0x8003CB88; // type:function size:0x3DC scope:local -SeqInitWin = .text:0x8003CF64; // type:function size:0x8A0 scope:local -SeqUpdateWin = .text:0x8003D804; // type:function size:0x72C scope:local -SeqInitRecord = .text:0x8003DF30; // type:function size:0x774 scope:local -SeqUpdateRecord = .text:0x8003E6A4; // type:function size:0x304 scope:local +MGSeqInitMGBasic = .text:0x8003718C; // type:function size:0x194 +MGSeqUpdateMGBasic = .text:0x80037320; // type:function size:0x9D0 +MGSeqInitMGCommon = .text:0x80037CF0; // type:function size:0x2A4 +MGSeqUpdateMGBattle = .text:0x80037F94; // type:function size:0xDA4 +MGSeqUpdateMG1vs3 = .text:0x80038D38; // type:function size:0xDA4 +MGSeqUpdateMGStory = .text:0x80039ADC; // type:function size:0xBB8 +MGSeqUpdateMG2vs2 = .text:0x8003A694; // type:function size:0xAB4 +MGSeqInitFlip = .text:0x8003B148; // type:function size:0x3C4 +MGSeqUpdateFlip = .text:0x8003B50C; // type:function size:0x91C +MGSeqUpdateMGBowser = .text:0x8003BE28; // type:function size:0xC84 +MGSeqInitDraw = .text:0x8003CAAC; // type:function size:0xDC +MGSeqUpdateDraw = .text:0x8003CB88; // type:function size:0x3DC +MGSeqInitWin = .text:0x8003CF64; // type:function size:0x8A0 +MGSeqUpdateWin = .text:0x8003D804; // type:function size:0x72C +MGSeqInitRecord = .text:0x8003DF30; // type:function size:0x774 +MGSeqUpdateRecord = .text:0x8003E6A4; // type:function size:0x304 MGSeqPauseInit = .text:0x8003E9A8; // type:function size:0x6C PauseProc = .text:0x8003EA14; // type:function size:0x94C scope:local MGSeqPauseKill = .text:0x8003F360; // type:function size:0xC @@ -3588,7 +3588,7 @@ __init_cpp_exceptions_reference = .ctors:0x8011DCC0; // type:object size:0x4 sco _dtors = .dtors:0x8011DCE0; // type:label scope:global data:4byte __destroy_global_chain_reference = .dtors:0x8011DCE0; // type:object size:0x4 scope:global __fini_cpp_exceptions_reference = .dtors:0x8011DCE4; // type:object size:0x4 scope:global -lbl_8011DD00 = .rodata:0x8011DD00; // type:object size:0x10 data:4byte scope:local +lbl_8011DD00 = .rodata:0x8011DD00; // type:object size:0x10 scope:local data:4byte lbl_8011DD10 = .rodata:0x8011DD10; // type:object size:0x10 data:4byte lbl_8011DD20 = .rodata:0x8011DD20; // type:object size:0xC data:4byte lbl_8011DD30 = .rodata:0x8011DD30; // type:object size:0x20 data:byte @@ -3680,7 +3680,7 @@ pbOffsets$890 = .rodata:0x8011EBA0; // type:object size:0x18 scope:local inpColdMIDIDefaults = .rodata:0x8011EBB8; // type:object size:0x88 scope:local inpWarmMIDIDefaults = .rodata:0x8011EC40; // type:object size:0x88 scope:local data:byte itdOffTab = .rodata:0x8011ECC8; // type:object size:0x100 scope:local -lbl_8011EDE0 = .data:0x8011EDE0; // type:object size:0x10 data:string scope:local +lbl_8011EDE0 = .data:0x8011EDE0; // type:object size:0x10 scope:local data:string chanTbl = .data:0x8011EDF0; // type:object size:0x10 scope:local correctDiskID = .data:0x8011EE00; // type:object size:0x124 scope:local jumptable_8011EF24 = .data:0x8011EF24; // type:object size:0x34 scope:local @@ -4847,11 +4847,11 @@ fio = .bss:0x801D3150; // type:object size:0xC scope:local data:4byte mus = .bss:0x801D3160; // type:object size:0x178 scope:local data:2byte se = .bss:0x801D32D8; // type:object size:0xDC scope:local data:4byte StreamInfo = .bss:0x801D33C0; // type:object size:0x60 scope:local align:32 data:4byte -lbl_801D3420 = .sdata:0x801D3420; // type:object size:0x5 data:string scope:local +lbl_801D3420 = .sdata:0x801D3420; // type:object size:0x5 scope:local data:string lbl_801D3425 = .sdata:0x801D3425; // type:object size:0x7 scope:local rnd_seed = .sdata:0x801D342C; // type:object size:0x4 data:4byte -lbl_801D3430 = .sdata:0x801D3430; // type:object size:0x6 data:string scope:local -lbl_801D3436 = .sdata:0x801D3436; // type:object size:0x2 data:string scope:local +lbl_801D3430 = .sdata:0x801D3430; // type:object size:0x6 scope:local data:string +lbl_801D3436 = .sdata:0x801D3436; // type:object size:0x2 scope:local data:string lbl_801D3438 = .sdata:0x801D3438; // type:object size:0x7 data:string lbl_801D343F = .sdata:0x801D343F; // type:object size:0x9 FirstFrame = .sdata:0x801D3448; // type:object size:0x4 scope:local data:4byte @@ -4915,7 +4915,7 @@ lbl_801D359E = .sdata:0x801D359E; // type:object size:0x5 scope:local data:strin lbl_801D35A3 = .sdata:0x801D35A3; // type:object size:0x7 scope:local lbl_801D35AA = .sdata:0x801D35AA; // type:object size:0x6 scope:local lbl_801D35B0 = .sdata:0x801D35B0; // type:object size:0x6 scope:local data:string -pauseStr$2216 = .sdata:0x801D35B8; // type:object size:0x8 scope:local +pauseStr = .sdata:0x801D35B8; // type:object size:0x8 scope:local lbl_801D35C0 = .sdata:0x801D35C0; // type:object size:0x8 lbl_801D35C8 = .sdata:0x801D35C8; // type:object size:0x8 lbl_801D35D0 = .sdata:0x801D35D0; // type:object size:0x8 @@ -6020,7 +6020,7 @@ SendMailData = .sbss:0x801D4940; // type:object size:0x4 scope:local data:4byte RecvDataLeng = .sbss:0x801D4944; // type:object size:0x4 scope:local data:4byte pEXIInputFlag = .sbss:0x801D4948; // type:object size:0x4 scope:local data:4byte EXIInputFlag = .sbss:0x801D494C; // type:object size:0x1 scope:local data:byte -lbl_801D4960 = .sdata2:0x801D4960; // type:object size:0x8 data:double scope:local +lbl_801D4960 = .sdata2:0x801D4960; // type:object size:0x8 scope:local data:double lbl_801D4968 = .sdata2:0x801D4968; // type:object size:0x4 data:float lbl_801D496C = .sdata2:0x801D496C; // type:object size:0x4 data:float lbl_801D4970 = .sdata2:0x801D4970; // type:object size:0x8 data:double diff --git a/config/GMPJ01_00/splits.txt b/config/GMPJ01_00/splits.txt index e3b4c039..0cecdb13 100644 --- a/config/GMPJ01_00/splits.txt +++ b/config/GMPJ01_00/splits.txt @@ -188,3 +188,16 @@ game/audio.c: .sdata start:0x801D3150 end:0x801D3158 .sbss start:0x801D39D8 end:0x801D3A08 .sdata2 start:0x801D4980 end:0x801D4990 + +game/EnvelopeExec.c: + .text start:0x80033EEC end:0x800353AC + .sbss start:0x801D3A08 end:0x801D3A38 + .sdata2 start:0x801D4990 end:0x801D49A8 + +game/minigame_seq.c: + .text start:0x800353AC end:0x8003F690 + .data start:0x8012ED10 end:0x8012F378 + .bss start:0x801900F0 end:0x80190500 + .sdata start:0x801D3158 end:0x801D3258 + .sbss start:0x801D3A38 end:0x801D3A58 + .sdata2 start:0x801D49A8 end:0x801D4B60 diff --git a/config/GMPJ01_00/symbols.txt b/config/GMPJ01_00/symbols.txt index 65e081fc..b21e9dc2 100644 --- a/config/GMPJ01_00/symbols.txt +++ b/config/GMPJ01_00/symbols.txt @@ -667,29 +667,29 @@ MGSeqKillAll = .text:0x80035A0C; // type:function size:0x3C MGSeqDoneCheck = .text:0x80035A48; // type:function size:0xA4 MGSeqStub = .text:0x80035AEC; // type:function size:0x4 MGSeqSprKill = .text:0x80035AF0; // type:function size:0x8C -SeqInitTimer = .text:0x80035B7C; // type:function size:0x2E0 scope:local -SeqUpdateTimer = .text:0x80035E5C; // type:function size:0x69C scope:local -SeqInitType2 = .text:0x800364F8; // type:function size:0x3D8 scope:local -SeqUpdateType2 = .text:0x800368D0; // type:function size:0x2F8 scope:local +MGSeqInitTimer = .text:0x80035B7C; // type:function size:0x2E0 +MGSeqUpdateTimer = .text:0x80035E5C; // type:function size:0x69C +MGSeqInitType2 = .text:0x800364F8; // type:function size:0x3D8 +MGSeqUpdateType2 = .text:0x800368D0; // type:function size:0x2F8 fn_80036BC8 = .text:0x80036BC8; // type:function size:0x188 SeqMakeWord = .text:0x80036D50; // type:function size:0x1E4 scope:local SeqLoadFontChar = .text:0x80036F34; // type:function size:0x23C scope:local -SeqInitMGBasic = .text:0x80037170; // type:function size:0x194 scope:local -SeqUpdateMGBasic = .text:0x80037304; // type:function size:0x9D0 scope:local -SeqInitMGCommon = .text:0x80037CD4; // type:function size:0x2A4 scope:local -SeqUpdateMGBattle = .text:0x80037F78; // type:function size:0xDA4 scope:local -SeqUpdateMG1vs3 = .text:0x80038D1C; // type:function size:0xDA4 scope:local -SeqUpdateMGStory = .text:0x80039AC0; // type:function size:0xBB8 scope:local -SeqUpdateMG2vs2 = .text:0x8003A678; // type:function size:0xAB4 scope:local -SeqInitFlip = .text:0x8003B12C; // type:function size:0x3C4 scope:local -SeqUpdateFlip = .text:0x8003B4F0; // type:function size:0x91C scope:local -SeqUpdateMGBowser = .text:0x8003BE0C; // type:function size:0xC84 scope:local -SeqInitDraw = .text:0x8003CA90; // type:function size:0xDC scope:local -SeqUpdateDraw = .text:0x8003CB6C; // type:function size:0x3DC scope:local -SeqInitWin = .text:0x8003CF48; // type:function size:0x6B8 scope:local -SeqUpdateWin = .text:0x8003D600; // type:function size:0x708 scope:local -SeqInitRecord = .text:0x8003DD08; // type:function size:0x774 scope:local -SeqUpdateRecord = .text:0x8003E47C; // type:function size:0x304 scope:local +MGSeqInitMGBasic = .text:0x80037170; // type:function size:0x194 +MGSeqUpdateMGBasic = .text:0x80037304; // type:function size:0x9D0 +MGSeqInitMGCommon = .text:0x80037CD4; // type:function size:0x2A4 +MGSeqUpdateMGBattle = .text:0x80037F78; // type:function size:0xDA4 +MGSeqUpdateMG1vs3 = .text:0x80038D1C; // type:function size:0xDA4 +MGSeqUpdateMGStory = .text:0x80039AC0; // type:function size:0xBB8 +MGSeqUpdateMG2vs2 = .text:0x8003A678; // type:function size:0xAB4 +MGSeqInitFlip = .text:0x8003B12C; // type:function size:0x3C4 +MGSeqUpdateFlip = .text:0x8003B4F0; // type:function size:0x91C +MGSeqUpdateMGBowser = .text:0x8003BE0C; // type:function size:0xC84 +MGSeqInitDraw = .text:0x8003CA90; // type:function size:0xDC +MGSeqUpdateDraw = .text:0x8003CB6C; // type:function size:0x3DC +MGSeqInitWin = .text:0x8003CF48; // type:function size:0x6B8 +MGSeqUpdateWin = .text:0x8003D600; // type:function size:0x708 +MGSeqInitRecord = .text:0x8003DD08; // type:function size:0x774 +MGSeqUpdateRecord = .text:0x8003E47C; // type:function size:0x304 MGSeqPauseInit = .text:0x8003E780; // type:function size:0x6C PauseProc = .text:0x8003E7EC; // type:function size:0x94C scope:local MGSeqPauseKill = .text:0x8003F138; // type:function size:0xC @@ -3905,24 +3905,33 @@ lbl_8012E2F5 = .data:0x8012E2F5; // type:object size:0x273 scope:local lbl_8012E568 = .data:0x8012E568; // type:object size:0x12 scope:local data:string lbl_8012E57A = .data:0x8012E57A; // type:object size:0xD6 scope:local sndGrpTable = .data:0x8012E650; // type:object size:0x5B0 -lbl_8012ec00 = .data:0x8012EC00; // type:object size:0x94 scope:local +lbl_8012EC00 = .data:0x8012EC00; // type:object size:0x94 scope:local lbl_8012EC94 = .data:0x8012EC94; // type:object size:0x11 scope:local data:string lbl_8012ECA5 = .data:0x8012ECA5; // type:object size:0x3A scope:local lbl_8012ECDF = .data:0x8012ECDF; // type:object size:0x31 scope:local -lbl_8012ED10 = .data:0x8012ED10; // type:object size:0x1DC -lbl_8012EEEC = .data:0x8012EEEC; // type:object size:0x18 -lbl_8012EF04 = .data:0x8012EF04; // type:object size:0x120 -lbl_8012F024 = .data:0x8012F024; // type:object size:0x18 -lbl_8012F03C = .data:0x8012F03C; // type:object size:0x40 -lbl_8012F07C = .data:0x8012F07C; // type:object size:0x1C -lbl_8012F098 = .data:0x8012F098; // type:object size:0x38 -lbl_8012F0D0 = .data:0x8012F0D0; // type:object size:0x9 data:string -lbl_8012F0D9 = .data:0x8012F0D9; // type:object size:0x83 -lbl_8012F15C = .data:0x8012F15C; // type:object size:0x24 -lbl_8012F180 = .data:0x8012F180; // type:object size:0x50 -lbl_8012F1D0 = .data:0x8012F1D0; // type:object size:0xAC -lbl_8012F27C = .data:0x8012F27C; // type:object size:0xC -lbl_8012F288 = .data:0x8012F288; // type:object size:0xF0 +seqInfoTbl = .data:0x8012ED10; // type:object size:0x1DC scope:local +seqType2SprTbl = .data:0x8012EEEC; // type:object size:0x18 scope:local +mgSeqTypeTbl = .data:0x8012EF04; // type:object size:0x12 scope:local data:2byte +lbl_8012F336 = .data:0x8012EF16; // type:object size:0x53 scope:local data:string +lbl_8012F389 = .data:0x8012EF69; // type:object size:0x9 scope:local data:string +lbl_8012F392 = .data:0x8012EF72; // type:object size:0x9 scope:local data:string +seqFontAlphaTbl = .data:0x8012EF7B; // type:object size:0x35 scope:local data:string +seqFontKanaTbl = .data:0x8012EFB0; // type:object size:0x52 scope:local data:string +seqFontNumTbl = .data:0x8012F002; // type:object size:0xB scope:local data:string +letterBufTbl = .data:0x8012F010; // type:object size:0x14 scope:local +wordMgTbl = .data:0x8012F024; // type:object size:0x18 scope:local +letterOfs$1005 = .data:0x8012F03C; // type:object size:0x40 scope:local data:float +letterOfs$1482 = .data:0x8012F07C; // type:object size:0x1C scope:local data:2byte +letterOfs$1856 = .data:0x8012F098; // type:object size:0x38 scope:local data:float +@1986 = .data:0x8012F0D0; // type:object size:0x9 scope:local data:string +@1988 = .data:0x8012F0D9; // type:object size:0xB scope:local data:string +winCharNameTbl = .data:0x8012F0E4; // type:object size:0x78 scope:local data:string_table +@1996 = .data:0x8012F15C; // type:object size:0xA scope:local data:string +winWordTbl = .data:0x8012F168; // type:object size:0x18 scope:local +winPosOfs = .data:0x8012F180; // type:object size:0x50 scope:local +practiceTbl = .data:0x8012F1D0; // type:object size:0xAC scope:local +yPosTbl$2429 = .data:0x8012F27C; // type:object size:0xC scope:local +seqStartFXTbl = .data:0x8012F288; // type:object size:0xEC scope:local lbl_8012F378 = .data:0x8012F378; // type:object size:0x15 data:string lbl_8012F38D = .data:0x8012F38D; // type:object size:0x10 data:string lbl_8012F39D = .data:0x8012F39D; // type:object size:0x13 data:string @@ -4097,7 +4106,7 @@ lbl_80130D0C = .data:0x80130D0C; // type:object size:0xBC lbl_80130DC8 = .data:0x80130DC8; // type:object size:0x100 lbl_80130EC8 = .data:0x80130EC8; // type:object size:0x4D lbl_80130F15 = .data:0x80130F15; // type:object size:0x1B -lbl_80130F30 = .data:0x80130F30; // type:object size:0xE00 data:2byte +mgInfoTbl = .data:0x80130F30; // type:object size:0xE00 data:2byte lbl_80131D30 = .data:0x80131D30; // type:object size:0x40 lbl_80131D70 = .data:0x80131D70; // type:object size:0x14 lbl_80131D84 = .data:0x80131D84; // type:object size:0xC data:string @@ -4417,8 +4426,8 @@ CZoomM = .bss:0x8018FE40; // type:object size:0x40 omDLLinfoTbl = .bss:0x8018FE80; // type:object size:0x50 sndFXBuf = .bss:0x8018FED0; // type:object size:0x200 scope:local charVoiceGroupStat = .bss:0x801900D0; // type:object size:0x20 -lbl_801900F0 = .bss:0x801900F0; // type:object size:0x400 data:4byte -lbl_801904F0 = .bss:0x801904F0; // type:object size:0x10 data:2byte +seqWorkData = .bss:0x801900F0; // type:object size:0x400 scope:local data:4byte +winnerNameW = .bss:0x801904F0; // type:object size:0x10 scope:local data:2byte lbl_80190500 = .bss:0x80190500; // type:object size:0x600 data:2byte lbl_80190B00 = .bss:0x80190B00; // type:object size:0x1200 data:4byte lbl_80191D00 = .bss:0x80191D00; // type:object size:0x100 @@ -4643,50 +4652,50 @@ titleMes = .sdata:0x801D3140; // type:object size:0x4 scope:local data:4byte lbl_801D3144 = .sdata:0x801D3144; // type:object size:0xC scope:local lbl_801D3150 = .sdata:0x801D3150; // type:object size:0x1 scope:local lbl_801D3151 = .sdata:0x801D3151; // type:object size:0x7 scope:local -lbl_801D3158 = .sdata:0x801D3158; // type:object size:0x4 data:4byte -lbl_801D315C = .sdata:0x801D315C; // type:object size:0x7 data:string -lbl_801D3163 = .sdata:0x801D3163; // type:object size:0x1 data:byte -lbl_801D3166 = .sdata:0x801D3166; // type:object size:0x6 -lbl_801D316C = .sdata:0x801D316C; // type:object size:0x8 -lbl_801D3174 = .sdata:0x801D3174; // type:object size:0x6 -lbl_801D317A = .sdata:0x801D317A; // type:object size:0x8 data:string -lbl_801D3182 = .sdata:0x801D3182; // type:object size:0x6 data:string -lbl_801D3188 = .sdata:0x801D3188; // type:object size:0x4 -lbl_801D318C = .sdata:0x801D318C; // type:object size:0x6 data:string -lbl_801D3192 = .sdata:0x801D3192; // type:object size:0x6 -lbl_801D3198 = .sdata:0x801D3198; // type:object size:0x6 data:string -lbl_801D319E = .sdata:0x801D319E; // type:object size:0x5 -lbl_801D31A3 = .sdata:0x801D31A3; // type:object size:0x6 data:string -lbl_801D31A9 = .sdata:0x801D31A9; // type:object size:0x5 -lbl_801D31AE = .sdata:0x801D31AE; // type:object size:0x6 data:string -lbl_801D31B4 = .sdata:0x801D31B4; // type:object size:0x4 -lbl_801D31B8 = .sdata:0x801D31B8; // type:object size:0x6 data:string -lbl_801D31BE = .sdata:0x801D31BE; // type:object size:0x6 -lbl_801D31C4 = .sdata:0x801D31C4; // type:object size:0x3 data:string -lbl_801D31C7 = .sdata:0x801D31C7; // type:object size:0x7 -lbl_801D31CE = .sdata:0x801D31CE; // type:object size:0x6 data:string -lbl_801D31D4 = .sdata:0x801D31D4; // type:object size:0x7 -lbl_801D31DB = .sdata:0x801D31DB; // type:object size:0x8 data:string -lbl_801D31E3 = .sdata:0x801D31E3; // type:object size:0x5 -lbl_801D31E8 = .sdata:0x801D31E8; // type:object size:0x7 data:string -lbl_801D31EF = .sdata:0x801D31EF; // type:object size:0x6 -lbl_801D31F5 = .sdata:0x801D31F5; // type:object size:0x5 data:string -lbl_801D31FA = .sdata:0x801D31FA; // type:object size:0x5 -lbl_801D31FF = .sdata:0x801D31FF; // type:object size:0x6 data:string -lbl_801D3205 = .sdata:0x801D3205; // type:object size:0x4 -lbl_801D3209 = .sdata:0x801D3209; // type:object size:0x8 data:string -lbl_801D3211 = .sdata:0x801D3211; // type:object size:0x5 -lbl_801D3216 = .sdata:0x801D3216; // type:object size:0x7 -lbl_801D321D = .sdata:0x801D321D; // type:object size:0x6 -lbl_801D3223 = .sdata:0x801D3223; // type:object size:0x7 data:string -lbl_801D322A = .sdata:0x801D322A; // type:object size:0x3 -lbl_801D322D = .sdata:0x801D322D; // type:object size:0x5 data:string -lbl_801D3232 = .sdata:0x801D3232; // type:object size:0x6 -lbl_801D3238 = .sdata:0x801D3238; // type:object size:0x5 data:string -lbl_801D323D = .sdata:0x801D323D; // type:object size:0x7 -lbl_801D3244 = .sdata:0x801D3244; // type:object size:0x6 -lbl_801D324A = .sdata:0x801D324A; // type:object size:0x6 data:string -lbl_801D3250 = .sdata:0x801D3250; // type:object size:0x8 +mgSeqOvlPrev = .sdata:0x801D3158; // type:object size:0x4 data:4byte +wordStartE = .sdata:0x801D315C; // type:object size:0x7 scope:local data:string +seqPunctTbl = .sdata:0x801D3163; // type:object size:0x3 scope:local data:byte +wordStartJ = .sdata:0x801D3166; // type:object size:0x6 scope:local +wordFinishJ = .sdata:0x801D316C; // type:object size:0x8 scope:local +wordDrawJ = .sdata:0x801D3174; // type:object size:0x6 scope:local +wordFinishE = .sdata:0x801D317A; // type:object size:0x8 scope:local data:string +wordDrawE = .sdata:0x801D3182; // type:object size:0x6 scope:local data:string +@1961 = .sdata:0x801D3188; // type:object size:0x4 scope:local data:string +@1962 = .sdata:0x801D318C; // type:object size:0x6 scope:local data:string +@1963 = .sdata:0x801D3192; // type:object size:0x6 scope:local +@1964 = .sdata:0x801D3198; // type:object size:0x6 scope:local data:string +@1965 = .sdata:0x801D319E; // type:object size:0x5 scope:local +@1966 = .sdata:0x801D31A3; // type:object size:0x6 scope:local data:string +@1967 = .sdata:0x801D31A9; // type:object size:0x5 scope:local +@1968 = .sdata:0x801D31AE; // type:object size:0x6 scope:local data:string +@1969 = .sdata:0x801D31B4; // type:object size:0x4 scope:local +@1970 = .sdata:0x801D31B8; // type:object size:0x6 scope:local data:string +@1971 = .sdata:0x801D31BE; // type:object size:0x6 scope:local +@1972 = .sdata:0x801D31C4; // type:object size:0x3 scope:local data:string +@1973 = .sdata:0x801D31C7; // type:object size:0x7 scope:local +@1974 = .sdata:0x801D31CE; // type:object size:0x6 scope:local data:string +@1975 = .sdata:0x801D31D4; // type:object size:0x7 scope:local +@1976 = .sdata:0x801D31DB; // type:object size:0x8 scope:local data:string +@1977 = .sdata:0x801D31E3; // type:object size:0x5 scope:local +@1978 = .sdata:0x801D31E8; // type:object size:0x7 scope:local data:string +@1979 = .sdata:0x801D31EF; // type:object size:0x6 scope:local +@1980 = .sdata:0x801D31F5; // type:object size:0x5 scope:local data:string +@1981 = .sdata:0x801D31FA; // type:object size:0x5 scope:local +@1982 = .sdata:0x801D31FF; // type:object size:0x6 scope:local data:string +@1983 = .sdata:0x801D3205; // type:object size:0x4 scope:local +@1984 = .sdata:0x801D3209; // type:object size:0x8 scope:local data:string +@1985 = .sdata:0x801D3211; // type:object size:0x5 scope:local +@1986 = .sdata:0x801D3216; // type:object size:0x7 scope:local +@1987 = .sdata:0x801D321D; // type:object size:0x6 scope:local +@1988 = .sdata:0x801D3223; // type:object size:0x7 scope:local data:string +@1989 = .sdata:0x801D322A; // type:object size:0x3 scope:local +@1990 = .sdata:0x801D322D; // type:object size:0x5 scope:local data:string +@1991 = .sdata:0x801D3232; // type:object size:0x6 scope:local +@1992 = .sdata:0x801D3238; // type:object size:0x5 scope:local data:string +@1993 = .sdata:0x801D323D; // type:object size:0x7 scope:local +@1994 = .sdata:0x801D3244; // type:object size:0x6 scope:local +@1995 = .sdata:0x801D324A; // type:object size:0x6 scope:local data:string +pauseStr$2283 = .sdata:0x801D3250; // type:object size:0x8 scope:local lbl_801D3258 = .sdata:0x801D3258; // type:object size:0x8 lbl_801D3260 = .sdata:0x801D3260; // type:object size:0x8 lbl_801D3268 = .sdata:0x801D3268; // type:object size:0x8 @@ -5107,31 +5116,31 @@ auxBNoBak = .sbss:0x801D39F8; // type:object size:0x4 scope:local data:4byte auxANoBak = .sbss:0x801D39FC; // type:object size:0x4 scope:local data:4byte sndGroupBak = .sbss:0x801D3A00; // type:object size:0x2 scope:local data:2byte Hu3DAudVol = .sbss:0x801D3A02; // type:object size:0x6 scope:local data:2byte -Meshno = .sbss:0x801D3A08; // type:object size:0x4 data:4byte -lbl_801D3A0C = .sbss:0x801D3A0C; // type:object size:0x4 data:4byte -lbl_801D3A10 = .sbss:0x801D3A10; // type:object size:0x4 data:4byte -lbl_801D3A14 = .sbss:0x801D3A14; // type:object size:0x4 data:4byte -lbl_801D3A18 = .sbss:0x801D3A18; // type:object size:0x4 data:4byte -lbl_801D3A1C = .sbss:0x801D3A1C; // type:object size:0x4 data:4byte -lbl_801D3A20 = .sbss:0x801D3A20; // type:object size:0x4 data:4byte -lbl_801D3A24 = .sbss:0x801D3A24; // type:object size:0x4 data:4byte -lbl_801D3A28 = .sbss:0x801D3A28; // type:object size:0x4 data:4byte -lbl_801D3A2C = .sbss:0x801D3A2C; // type:object size:0x4 data:4byte -lbl_801D3A30 = .sbss:0x801D3A30; // type:object size:0x8 data:4byte -lbl_801D3A38 = .sbss:0x801D3A38; // type:object size:0x4 data:4byte -lbl_801D3A3C = .sbss:0x801D3A3C; // type:object size:0x4 data:4byte -lbl_801D3A40 = .sbss:0x801D3A40; // type:object size:0x4 data:4byte -lbl_801D3A44 = .sbss:0x801D3A44; // type:object size:0x4 data:4byte -lbl_801D3A48 = .sbss:0x801D3A48; // type:object size:0x4 data:4byte -lbl_801D3A4C = .sbss:0x801D3A4C; // type:object size:0x4 data:4byte -lbl_801D3A50 = .sbss:0x801D3A50; // type:object size:0x2 data:2byte -lbl_801D3A52 = .sbss:0x801D3A52; // type:object size:0x2 data:2byte +Meshno = .sbss:0x801D3A08; // type:object size:0x4 scope:local data:4byte +Meshcnt = .sbss:0x801D3A0C; // type:object size:0x4 scope:local data:4byte +normtop = .sbss:0x801D3A10; // type:object size:0x4 scope:local data:4byte +normenv = .sbss:0x801D3A14; // type:object size:0x4 scope:local data:4byte +vtxenv = .sbss:0x801D3A18; // type:object size:0x4 scope:local data:4byte +CurHsf = .sbss:0x801D3A1C; // type:object size:0x4 scope:local data:4byte +objtop = .sbss:0x801D3A20; // type:object size:0x4 scope:local data:4byte +nMesh = .sbss:0x801D3A24; // type:object size:0x4 scope:local data:4byte +nObj = .sbss:0x801D3A28; // type:object size:0x4 scope:local data:4byte +MtxTop = .sbss:0x801D3A2C; // type:object size:0x4 data:4byte +Vertextop = .sbss:0x801D3A30; // type:object size:0x4 data:4byte +seqLanguage = .sbss:0x801D3A38; // type:object size:0x4 scope:local data:4byte +pauseProcess = .sbss:0x801D3A3C; // type:object size:0x4 scope:local data:4byte +pauseActiveF = .sbss:0x801D3A40; // type:object size:0x4 scope:local data:4byte +pauseExitF = .sbss:0x801D3A44; // type:object size:0x4 scope:local data:4byte +pauseWaitF = .sbss:0x801D3A48; // type:object size:0x4 scope:local data:4byte +seqRecordVal = .sbss:0x801D3A4C; // type:object size:0x4 scope:local data:4byte +seqPauseF = .sbss:0x801D3A50; // type:object size:0x2 scope:local data:2byte +seqSpeed = .sbss:0x801D3A52; // type:object size:0x2 scope:local data:2byte lbl_801D3A54 = .sbss:0x801D3A54; // type:object size:0x1 data:byte -lbl_801D3A55 = .sbss:0x801D3A55; // type:object size:0x1 data:byte -lbl_801D3A56 = .sbss:0x801D3A56; // type:object size:0x2 data:2byte +seqDoneF = .sbss:0x801D3A55; // type:object size:0x1 scope:local data:byte +seqTimer = .sbss:0x801D3A56; // type:object size:0x2 scope:local data:2byte lbl_801D3A58 = .sbss:0x801D3A58; // type:object size:0x8 data:2byte lbl_801D3A60 = .sbss:0x801D3A60; // type:object size:0x8 -lbl_801D3A68 = .sbss:0x801D3A68; // type:object size:0x8 data:4byte +wipeFadeInF = .sbss:0x801D3A68; // type:object size:0x8 data:4byte lbl_801D3A70 = .sbss:0x801D3A70; // type:object size:0x4 data:4byte lbl_801D3A74 = .sbss:0x801D3A74; // type:object size:0x1 data:byte lbl_801D3A76 = .sbss:0x801D3A76; // type:object size:0x2 data:2byte @@ -5185,8 +5194,8 @@ lbl_801D3B30 = .sbss:0x801D3B30; // type:object size:0x4 data:4byte lbl_801D3B34 = .sbss:0x801D3B34; // type:object size:0xC data:4byte lbl_801D3B40 = .sbss:0x801D3B40; // type:object size:0x4 lbl_801D3B44 = .sbss:0x801D3B44; // type:object size:0x4 -lbl_801D3B48 = .sbss:0x801D3B48; // type:object size:0x4 data:4byte -lbl_801D3B4C = .sbss:0x801D3B4C; // type:object size:0x4 data:4byte +mgPracticeEnableF = .sbss:0x801D3B48; // type:object size:0x4 data:4byte +mgQuitExtraF = .sbss:0x801D3B4C; // type:object size:0x4 data:4byte lbl_801D3B50 = .sbss:0x801D3B50; // type:object size:0x4 lbl_801D3B54 = .sbss:0x801D3B54; // type:object size:0x2 lbl_801D3B56 = .sbss:0x801D3B56; // type:object size:0x2 @@ -5341,7 +5350,7 @@ lbl_801D3D8A = .sbss:0x801D3D8A; // type:object size:0x1 data:byte lbl_801D3D8B = .sbss:0x801D3D8B; // type:object size:0x1 data:byte lbl_801D3D8C = .sbss:0x801D3D8C; // type:object size:0x1 data:byte lbl_801D3D8E = .sbss:0x801D3D8E; // type:object size:0x6 data:2byte -lbl_801D3D94 = .sbss:0x801D3D94; // type:object size:0x4 data:4byte +lbl_801D3D94_2 = .sbss:0x801D3D94; // type:object size:0x4 data:4byte lbl_801D3D98 = .sbss:0x801D3D98; // type:object size:0x1 data:byte lbl_801D3D99 = .sbss:0x801D3D99; // type:object size:0x1 data:byte lbl_801D3D9A = .sbss:0x801D3D9A; // type:object size:0x1 data:byte @@ -5968,129 +5977,129 @@ lbl_801D4970 = .sdata2:0x801D4970; // type:object size:0x4 scope:local data:floa lbl_801D4978 = .sdata2:0x801D4978; // type:object size:0x8 scope:local data:double lbl_801D4980 = .sdata2:0x801D4980; // type:object size:0x8 scope:local data:double lbl_801D4988 = .sdata2:0x801D4988; // type:object size:0x8 scope:local data:double -lbl_801D4990 = .sdata2:0x801D4990; // type:object size:0x4 data:float -lbl_801D4994 = .sdata2:0x801D4994; // type:object size:0x4 data:float -lbl_801D4998 = .sdata2:0x801D4998; // type:object size:0x4 data:float -lbl_801D49A0 = .sdata2:0x801D49A0; // type:object size:0x8 data:double -lbl_801D49A8 = .sdata2:0x801D49A8; // type:object size:0x4 data:float -lbl_801D49AC = .sdata2:0x801D49AC; // type:object size:0x4 data:float -lbl_801D49B0 = .sdata2:0x801D49B0; // type:object size:0x8 data:double -lbl_801D49B8 = .sdata2:0x801D49B8; // type:object size:0x8 data:double -lbl_801D49C0 = .sdata2:0x801D49C0; // type:object size:0x8 data:double -lbl_801D49C8 = .sdata2:0x801D49C8; // type:object size:0x8 data:double -lbl_801D49D0 = .sdata2:0x801D49D0; // type:object size:0x8 data:double -lbl_801D49D8 = .sdata2:0x801D49D8; // type:object size:0x8 data:double -lbl_801D49E0 = .sdata2:0x801D49E0; // type:object size:0x4 data:float -lbl_801D49E4 = .sdata2:0x801D49E4; // type:object size:0x4 data:float -lbl_801D49E8 = .sdata2:0x801D49E8; // type:object size:0x8 data:double -lbl_801D49F0 = .sdata2:0x801D49F0; // type:object size:0x4 data:float -lbl_801D49F4 = .sdata2:0x801D49F4; // type:object size:0x4 data:float -lbl_801D49F8 = .sdata2:0x801D49F8; // type:object size:0x4 data:float -lbl_801D49FC = .sdata2:0x801D49FC; // type:object size:0x4 data:float -lbl_801D4A00 = .sdata2:0x801D4A00; // type:object size:0x4 data:float -lbl_801D4A04 = .sdata2:0x801D4A04; // type:object size:0x4 data:float -lbl_801D4A08 = .sdata2:0x801D4A08; // type:object size:0x4 data:float -lbl_801D4A0C = .sdata2:0x801D4A0C; // type:object size:0x4 data:float -lbl_801D4A10 = .sdata2:0x801D4A10; // type:object size:0x4 data:float -lbl_801D4A14 = .sdata2:0x801D4A14; // type:object size:0x4 data:float -lbl_801D4A18 = .sdata2:0x801D4A18; // type:object size:0x4 data:float -lbl_801D4A1C = .sdata2:0x801D4A1C; // type:object size:0x4 data:float -lbl_801D4A20 = .sdata2:0x801D4A20; // type:object size:0x4 data:float -lbl_801D4A24 = .sdata2:0x801D4A24; // type:object size:0x4 data:float -lbl_801D4A28 = .sdata2:0x801D4A28; // type:object size:0x4 data:float -lbl_801D4A2C = .sdata2:0x801D4A2C; // type:object size:0x4 data:float -lbl_801D4A30 = .sdata2:0x801D4A30; // type:object size:0x4 data:float -lbl_801D4A34 = .sdata2:0x801D4A34; // type:object size:0x4 data:float -lbl_801D4A38 = .sdata2:0x801D4A38; // type:object size:0x8 data:double -lbl_801D4A40 = .sdata2:0x801D4A40; // type:object size:0x4 data:float -lbl_801D4A44 = .sdata2:0x801D4A44; // type:object size:0x4 data:float -lbl_801D4A48 = .sdata2:0x801D4A48; // type:object size:0x8 data:double -lbl_801D4A50 = .sdata2:0x801D4A50; // type:object size:0x8 data:double -lbl_801D4A58 = .sdata2:0x801D4A58; // type:object size:0x4 data:float -lbl_801D4A5C = .sdata2:0x801D4A5C; // type:object size:0x4 data:float -lbl_801D4A60 = .sdata2:0x801D4A60; // type:object size:0x8 data:double -lbl_801D4A68 = .sdata2:0x801D4A68; // type:object size:0x4 data:float -lbl_801D4A6C = .sdata2:0x801D4A6C; // type:object size:0x4 data:float -lbl_801D4A70 = .sdata2:0x801D4A70; // type:object size:0x4 data:float -lbl_801D4A74 = .sdata2:0x801D4A74; // type:object size:0x4 data:float -lbl_801D4A78 = .sdata2:0x801D4A78; // type:object size:0x4 data:float -lbl_801D4A80 = .sdata2:0x801D4A80; // type:object size:0x8 data:double -lbl_801D4A88 = .sdata2:0x801D4A88; // type:object size:0x4 data:float -lbl_801D4A90 = .sdata2:0x801D4A90; // type:object size:0x8 data:double -lbl_801D4A98 = .sdata2:0x801D4A98; // type:object size:0x4 data:float -lbl_801D4A9C = .sdata2:0x801D4A9C; // type:object size:0x4 data:float -lbl_801D4AA0 = .sdata2:0x801D4AA0; // type:object size:0x4 data:float -lbl_801D4AA4 = .sdata2:0x801D4AA4; // type:object size:0x4 data:float -lbl_801D4AA8 = .sdata2:0x801D4AA8; // type:object size:0x8 data:double -lbl_801D4AB0 = .sdata2:0x801D4AB0; // type:object size:0x4 data:float -lbl_801D4AB8 = .sdata2:0x801D4AB8; // type:object size:0x8 data:double -lbl_801D4AC0 = .sdata2:0x801D4AC0; // type:object size:0x8 data:double -lbl_801D4AC8 = .sdata2:0x801D4AC8; // type:object size:0x8 data:double -lbl_801D4AD0 = .sdata2:0x801D4AD0; // type:object size:0x4 data:float -lbl_801D4AD8 = .sdata2:0x801D4AD8; // type:object size:0x8 data:double -lbl_801D4AE0 = .sdata2:0x801D4AE0; // type:object size:0x4 data:float -lbl_801D4AE4 = .sdata2:0x801D4AE4; // type:object size:0x4 data:float -lbl_801D4AE8 = .sdata2:0x801D4AE8; // type:object size:0x4 data:float -lbl_801D4AEC = .sdata2:0x801D4AEC; // type:object size:0x4 data:float -lbl_801D4AF0 = .sdata2:0x801D4AF0; // type:object size:0x4 data:float -lbl_801D4AF4 = .sdata2:0x801D4AF4; // type:object size:0x4 data:float -lbl_801D4AF8 = .sdata2:0x801D4AF8; // type:object size:0x4 data:float -lbl_801D4AFC = .sdata2:0x801D4AFC; // type:object size:0x4 data:float -lbl_801D4B00 = .sdata2:0x801D4B00; // type:object size:0x8 data:double -lbl_801D4B08 = .sdata2:0x801D4B08; // type:object size:0x8 data:double -lbl_801D4B10 = .sdata2:0x801D4B10; // type:object size:0x8 data:double -lbl_801D4B18 = .sdata2:0x801D4B18; // type:object size:0x2 data:2byte -lbl_801D4B1A = .sdata2:0x801D4B1A; // type:object size:0x2 data:2byte -lbl_801D4B1C = .sdata2:0x801D4B1C; // type:object size:0x2 data:2byte -lbl_801D4B20 = .sdata2:0x801D4B20; // type:object size:0x4 data:float -lbl_801D4B24 = .sdata2:0x801D4B24; // type:object size:0x4 data:float -lbl_801D4B28 = .sdata2:0x801D4B28; // type:object size:0x4 data:float -lbl_801D4B2C = .sdata2:0x801D4B2C; // type:object size:0x4 data:float -lbl_801D4B30 = .sdata2:0x801D4B30; // type:object size:0x4 data:float -lbl_801D4B34 = .sdata2:0x801D4B34; // type:object size:0x4 data:float -lbl_801D4B38 = .sdata2:0x801D4B38; // type:object size:0x4 data:float -lbl_801D4B3C = .sdata2:0x801D4B3C; // type:object size:0x4 data:float -lbl_801D4B40 = .sdata2:0x801D4B40; // type:object size:0x4 data:float -lbl_801D4B44 = .sdata2:0x801D4B44; // type:object size:0x4 data:float -lbl_801D4B48 = .sdata2:0x801D4B48; // type:object size:0x8 data:double -lbl_801D4B50 = .sdata2:0x801D4B50; // type:object size:0x8 data:double -lbl_801D4B58 = .sdata2:0x801D4B58; // type:object size:0x4 data:float -lbl_801D4B5C = .sdata2:0x801D4B5C; // type:object size:0x4 data:float -lbl_801D4B60 = .sdata2:0x801D4B60; // type:object size:0x4 data:float -lbl_801D4B68 = .sdata2:0x801D4B68; // type:object size:0x8 data:double -lbl_801D4B70 = .sdata2:0x801D4B70; // type:object size:0x8 data:double -lbl_801D4B78 = .sdata2:0x801D4B78; // type:object size:0x4 data:float -lbl_801D4B7C = .sdata2:0x801D4B7C; // type:object size:0x4 data:float -lbl_801D4B80 = .sdata2:0x801D4B80; // type:object size:0x8 data:double -lbl_801D4B88 = .sdata2:0x801D4B88; // type:object size:0x4 data:float -lbl_801D4B8C = .sdata2:0x801D4B8C; // type:object size:0x4 data:float -lbl_801D4B90 = .sdata2:0x801D4B90; // type:object size:0x8 data:double -lbl_801D4B98 = .sdata2:0x801D4B98; // type:object size:0x4 data:float -lbl_801D4BA0 = .sdata2:0x801D4BA0; // type:object size:0x8 data:double -lbl_801D4BA8 = .sdata2:0x801D4BA8; // type:object size:0x4 data:float -lbl_801D4BAC = .sdata2:0x801D4BAC; // type:object size:0x4 data:float -lbl_801D4BB0 = .sdata2:0x801D4BB0; // type:object size:0x4 data:float -lbl_801D4BB4 = .sdata2:0x801D4BB4; // type:object size:0x4 data:float -lbl_801D4BB8 = .sdata2:0x801D4BB8; // type:object size:0x8 data:double -lbl_801D4BC0 = .sdata2:0x801D4BC0; // type:object size:0x4 data:float -lbl_801D4BC4 = .sdata2:0x801D4BC4; // type:object size:0x4 data:float -lbl_801D4BC8 = .sdata2:0x801D4BC8; // type:object size:0x4 data:float -lbl_801D4BCC = .sdata2:0x801D4BCC; // type:object size:0x4 data:float -lbl_801D4BD0 = .sdata2:0x801D4BD0; // type:object size:0x4 data:float -lbl_801D4BD8 = .sdata2:0x801D4BD8; // type:object size:0x8 data:double -lbl_801D4BE0 = .sdata2:0x801D4BE0; // type:object size:0x4 data:float -lbl_801D4BE4 = .sdata2:0x801D4BE4; // type:object size:0x4 data:float -lbl_801D4BE8 = .sdata2:0x801D4BE8; // type:object size:0x4 data:float -lbl_801D4BEC = .sdata2:0x801D4BEC; // type:object size:0x4 data:float -lbl_801D4BF0 = .sdata2:0x801D4BF0; // type:object size:0x4 data:float -lbl_801D4BF4 = .sdata2:0x801D4BF4; // type:object size:0x4 data:float -lbl_801D4BF8 = .sdata2:0x801D4BF8; // type:object size:0x8 data:double -lbl_801D4C00 = .sdata2:0x801D4C00; // type:object size:0x4 data:float -lbl_801D4C08 = .sdata2:0x801D4C08; // type:object size:0x8 data:double -lbl_801D4C10 = .sdata2:0x801D4C10; // type:object size:0x4 data:float -lbl_801D4C18 = .sdata2:0x801D4C18; // type:object size:0x8 data:double -lbl_801D4C20 = .sdata2:0x801D4C20; // type:object size:0x4 data:float -lbl_801D4C24 = .sdata2:0x801D4C24; // type:object size:0x4 data:float +lbl_801D4990 = .sdata2:0x801D4990; // type:object size:0x4 scope:local data:float +lbl_801D4994 = .sdata2:0x801D4994; // type:object size:0x4 scope:local data:float +lbl_801D4998 = .sdata2:0x801D4998; // type:object size:0x4 scope:local data:float +lbl_801D49A0 = .sdata2:0x801D49A0; // type:object size:0x8 scope:local data:double +lbl_801D49A8 = .sdata2:0x801D49A8; // type:object size:0x4 scope:local data:float +lbl_801D49AC = .sdata2:0x801D49AC; // type:object size:0x4 scope:local data:float +lbl_801D49B0 = .sdata2:0x801D49B0; // type:object size:0x8 scope:local data:double +lbl_801D49B8 = .sdata2:0x801D49B8; // type:object size:0x8 scope:local data:double +lbl_801D49C0 = .sdata2:0x801D49C0; // type:object size:0x8 scope:local data:double +lbl_801D49C8 = .sdata2:0x801D49C8; // type:object size:0x8 scope:local data:double +lbl_801D49D0 = .sdata2:0x801D49D0; // type:object size:0x8 scope:local data:double +lbl_801D49D8 = .sdata2:0x801D49D8; // type:object size:0x8 scope:local data:double +lbl_801D49E0 = .sdata2:0x801D49E0; // type:object size:0x4 scope:local data:float +lbl_801D49E4 = .sdata2:0x801D49E4; // type:object size:0x4 scope:local data:float +lbl_801D49E8 = .sdata2:0x801D49E8; // type:object size:0x8 scope:local data:double +lbl_801D49F0 = .sdata2:0x801D49F0; // type:object size:0x4 scope:local data:float +lbl_801D49F4 = .sdata2:0x801D49F4; // type:object size:0x4 scope:local data:float +lbl_801D49F8 = .sdata2:0x801D49F8; // type:object size:0x4 scope:local data:float +lbl_801D49FC = .sdata2:0x801D49FC; // type:object size:0x4 scope:local data:float +lbl_801D4A00 = .sdata2:0x801D4A00; // type:object size:0x4 scope:local data:float +lbl_801D4A04 = .sdata2:0x801D4A04; // type:object size:0x4 scope:local data:float +lbl_801D4A08 = .sdata2:0x801D4A08; // type:object size:0x4 scope:local data:float +lbl_801D4A0C = .sdata2:0x801D4A0C; // type:object size:0x4 scope:local data:float +lbl_801D4A10 = .sdata2:0x801D4A10; // type:object size:0x4 scope:local data:float +lbl_801D4A14 = .sdata2:0x801D4A14; // type:object size:0x4 scope:local data:float +lbl_801D4A18 = .sdata2:0x801D4A18; // type:object size:0x4 scope:local data:float +lbl_801D4A1C = .sdata2:0x801D4A1C; // type:object size:0x4 scope:local data:float +lbl_801D4A20 = .sdata2:0x801D4A20; // type:object size:0x4 scope:local data:float +lbl_801D4A24 = .sdata2:0x801D4A24; // type:object size:0x4 scope:local data:float +lbl_801D4A28 = .sdata2:0x801D4A28; // type:object size:0x4 scope:local data:float +lbl_801D4A2C = .sdata2:0x801D4A2C; // type:object size:0x4 scope:local data:float +lbl_801D4A30 = .sdata2:0x801D4A30; // type:object size:0x4 scope:local data:float +lbl_801D4A34 = .sdata2:0x801D4A34; // type:object size:0x4 scope:local data:float +lbl_801D4A38 = .sdata2:0x801D4A38; // type:object size:0x8 scope:local data:double +lbl_801D4A40 = .sdata2:0x801D4A40; // type:object size:0x4 scope:local data:float +lbl_801D4A44 = .sdata2:0x801D4A44; // type:object size:0x4 scope:local data:float +lbl_801D4A48 = .sdata2:0x801D4A48; // type:object size:0x8 scope:local data:double +lbl_801D4A50 = .sdata2:0x801D4A50; // type:object size:0x8 scope:local data:double +lbl_801D4A58 = .sdata2:0x801D4A58; // type:object size:0x4 scope:local data:float +lbl_801D4A5C = .sdata2:0x801D4A5C; // type:object size:0x4 scope:local data:float +lbl_801D4A60 = .sdata2:0x801D4A60; // type:object size:0x8 scope:local data:double +lbl_801D4A68 = .sdata2:0x801D4A68; // type:object size:0x4 scope:local data:float +lbl_801D4A6C = .sdata2:0x801D4A6C; // type:object size:0x4 scope:local data:float +lbl_801D4A70 = .sdata2:0x801D4A70; // type:object size:0x4 scope:local data:float +lbl_801D4A74 = .sdata2:0x801D4A74; // type:object size:0x4 scope:local data:float +lbl_801D4A78 = .sdata2:0x801D4A78; // type:object size:0x4 scope:local data:float +lbl_801D4A80 = .sdata2:0x801D4A80; // type:object size:0x8 scope:local data:double +lbl_801D4A88 = .sdata2:0x801D4A88; // type:object size:0x4 scope:local data:float +lbl_801D4A90 = .sdata2:0x801D4A90; // type:object size:0x8 scope:local data:double +lbl_801D4A98 = .sdata2:0x801D4A98; // type:object size:0x4 scope:local data:float +lbl_801D4A9C = .sdata2:0x801D4A9C; // type:object size:0x4 scope:local data:float +lbl_801D4AA0 = .sdata2:0x801D4AA0; // type:object size:0x4 scope:local data:float +lbl_801D4AA4 = .sdata2:0x801D4AA4; // type:object size:0x4 scope:local data:float +lbl_801D4AA8 = .sdata2:0x801D4AA8; // type:object size:0x8 scope:local data:double +lbl_801D4AB0 = .sdata2:0x801D4AB0; // type:object size:0x4 scope:local data:float +lbl_801D4AB8 = .sdata2:0x801D4AB8; // type:object size:0x8 scope:local data:double +lbl_801D4AC0 = .sdata2:0x801D4AC0; // type:object size:0x8 scope:local data:double +lbl_801D4AC8 = .sdata2:0x801D4AC8; // type:object size:0x8 scope:local data:double +lbl_801D4AD0 = .sdata2:0x801D4AD0; // type:object size:0x4 scope:local data:float +lbl_801D4AD8 = .sdata2:0x801D4AD8; // type:object size:0x8 scope:local data:double +lbl_801D4AE0 = .sdata2:0x801D4AE0; // type:object size:0x4 scope:local data:float +lbl_801D4AE4 = .sdata2:0x801D4AE4; // type:object size:0x4 scope:local data:float +lbl_801D4AE8 = .sdata2:0x801D4AE8; // type:object size:0x4 scope:local data:float +lbl_801D4AEC = .sdata2:0x801D4AEC; // type:object size:0x4 scope:local data:float +lbl_801D4AF0 = .sdata2:0x801D4AF0; // type:object size:0x4 scope:local data:float +lbl_801D4AF4 = .sdata2:0x801D4AF4; // type:object size:0x4 scope:local data:float +lbl_801D4AF8 = .sdata2:0x801D4AF8; // type:object size:0x4 scope:local data:float +lbl_801D4AFC = .sdata2:0x801D4AFC; // type:object size:0x4 scope:local data:float +lbl_801D4B00 = .sdata2:0x801D4B00; // type:object size:0x8 scope:local data:double +lbl_801D4B08 = .sdata2:0x801D4B08; // type:object size:0x8 scope:local data:double +lbl_801D4B10 = .sdata2:0x801D4B10; // type:object size:0x8 scope:local data:double +lbl_801D4B18 = .sdata2:0x801D4B18; // type:object size:0x2 scope:local data:2byte +lbl_801D4B1A = .sdata2:0x801D4B1A; // type:object size:0x2 scope:local data:2byte +lbl_801D4B1C = .sdata2:0x801D4B1C; // type:object size:0x2 scope:local data:2byte +lbl_801D4B20 = .sdata2:0x801D4B20; // type:object size:0x4 scope:local data:float +lbl_801D4B24 = .sdata2:0x801D4B24; // type:object size:0x4 scope:local data:float +lbl_801D4B28 = .sdata2:0x801D4B28; // type:object size:0x4 scope:local data:float +lbl_801D4B2C = .sdata2:0x801D4B2C; // type:object size:0x4 scope:local data:float +lbl_801D4B30 = .sdata2:0x801D4B30; // type:object size:0x4 scope:local data:float +lbl_801D4B34 = .sdata2:0x801D4B34; // type:object size:0x4 scope:local data:float +lbl_801D4B38 = .sdata2:0x801D4B38; // type:object size:0x4 scope:local data:float +lbl_801D4B3C = .sdata2:0x801D4B3C; // type:object size:0x4 scope:local data:float +lbl_801D4B40 = .sdata2:0x801D4B40; // type:object size:0x4 scope:local data:float +lbl_801D4B44 = .sdata2:0x801D4B44; // type:object size:0x4 scope:local data:float +lbl_801D4B48 = .sdata2:0x801D4B48; // type:object size:0x8 scope:local data:double +lbl_801D4B50 = .sdata2:0x801D4B50; // type:object size:0x8 scope:local data:double +lbl_801D4B58 = .sdata2:0x801D4B58; // type:object size:0x4 scope:local data:float +lbl_801D4B5C = .sdata2:0x801D4B5C; // type:object size:0x4 scope:local data:float +lbl_801D4B60 = .sdata2:0x801D4B60; // type:object size:0x4 scope:local data:float +lbl_801D4B68 = .sdata2:0x801D4B68; // type:object size:0x8 scope:local data:double +lbl_801D4B70 = .sdata2:0x801D4B70; // type:object size:0x8 scope:local data:double +lbl_801D4B78 = .sdata2:0x801D4B78; // type:object size:0x4 scope:local data:float +lbl_801D4B7C = .sdata2:0x801D4B7C; // type:object size:0x4 scope:local data:float +lbl_801D4B80 = .sdata2:0x801D4B80; // type:object size:0x8 scope:local data:double +lbl_801D4B88 = .sdata2:0x801D4B88; // type:object size:0x4 scope:local data:float +lbl_801D4B8C = .sdata2:0x801D4B8C; // type:object size:0x4 scope:local data:float +lbl_801D4B90 = .sdata2:0x801D4B90; // type:object size:0x8 scope:local data:double +lbl_801D4B98 = .sdata2:0x801D4B98; // type:object size:0x4 scope:local data:float +lbl_801D4BA0 = .sdata2:0x801D4BA0; // type:object size:0x8 scope:local data:double +lbl_801D4BA8 = .sdata2:0x801D4BA8; // type:object size:0x4 scope:local data:float +lbl_801D4BAC = .sdata2:0x801D4BAC; // type:object size:0x4 scope:local data:float +lbl_801D4BB0 = .sdata2:0x801D4BB0; // type:object size:0x4 scope:local data:float +lbl_801D4BB4 = .sdata2:0x801D4BB4; // type:object size:0x4 scope:local data:float +lbl_801D4BB8 = .sdata2:0x801D4BB8; // type:object size:0x8 scope:local data:double +lbl_801D4BC0 = .sdata2:0x801D4BC0; // type:object size:0x4 scope:local data:float +lbl_801D4BC4 = .sdata2:0x801D4BC4; // type:object size:0x4 scope:local data:float +lbl_801D4BC8 = .sdata2:0x801D4BC8; // type:object size:0x4 scope:local data:float +lbl_801D4BCC = .sdata2:0x801D4BCC; // type:object size:0x4 scope:local data:float +lbl_801D4BD0 = .sdata2:0x801D4BD0; // type:object size:0x4 scope:local data:float +lbl_801D4BD8 = .sdata2:0x801D4BD8; // type:object size:0x8 scope:local data:double +lbl_801D4BE0 = .sdata2:0x801D4BE0; // type:object size:0x4 scope:local data:float +lbl_801D4BE4 = .sdata2:0x801D4BE4; // type:object size:0x4 scope:local data:float +lbl_801D4BE8 = .sdata2:0x801D4BE8; // type:object size:0x4 scope:local data:float +lbl_801D4BEC = .sdata2:0x801D4BEC; // type:object size:0x4 scope:local data:float +lbl_801D4BF0 = .sdata2:0x801D4BF0; // type:object size:0x4 scope:local data:float +lbl_801D4BF4 = .sdata2:0x801D4BF4; // type:object size:0x4 scope:local data:float +lbl_801D4BF8 = .sdata2:0x801D4BF8; // type:object size:0x8 scope:local data:double +lbl_801D4C00 = .sdata2:0x801D4C00; // type:object size:0x4 scope:local data:float +lbl_801D4C08 = .sdata2:0x801D4C08; // type:object size:0x8 scope:local data:double +lbl_801D4C10 = .sdata2:0x801D4C10; // type:object size:0x4 scope:local data:float +lbl_801D4C18 = .sdata2:0x801D4C18; // type:object size:0x8 scope:local data:double +lbl_801D4C20 = .sdata2:0x801D4C20; // type:object size:0x4 scope:local data:float +lbl_801D4C24 = .sdata2:0x801D4C24; // type:object size:0x4 scope:local data:float lbl_801D4C28 = .sdata2:0x801D4C28; // type:object size:0x4 data:float lbl_801D4C30 = .sdata2:0x801D4C30; // type:object size:0x8 data:double lbl_801D4C38 = .sdata2:0x801D4C38; // type:object size:0x8 data:double diff --git a/config/GMPP01_00/symbols.txt b/config/GMPP01_00/symbols.txt index 03c4876c..a679c466 100644 --- a/config/GMPP01_00/symbols.txt +++ b/config/GMPP01_00/symbols.txt @@ -666,29 +666,29 @@ MGSeqKillAll = .text:0x80035A28; // type:function size:0x3C MGSeqDoneCheck = .text:0x80035A64; // type:function size:0xA4 MGSeqStub = .text:0x80035B08; // type:function size:0x4 MGSeqSprKill = .text:0x80035B0C; // type:function size:0x8C -SeqInitTimer = .text:0x80035B98; // type:function size:0x2F0 scope:local -SeqUpdateTimer = .text:0x80035E88; // type:function size:0x69C scope:local -SeqInitType2 = .text:0x80036524; // type:function size:0x3D8 -SeqUpdateType2 = .text:0x800368FC; // type:function size:0x2F8 +MGSeqInitTimer = .text:0x80035B98; // type:function size:0x2F0 +MGSeqUpdateTimer = .text:0x80035E88; // type:function size:0x69C +MGSeqInitType2 = .text:0x80036524; // type:function size:0x3D8 +MGSeqUpdateType2 = .text:0x800368FC; // type:function size:0x2F8 fn_80036BC8 = .text:0x80036BF4; // type:function size:0x188 SeqMakeWord = .text:0x80036D7C; // type:function size:0x1D0 scope:local SeqLoadFontChar = .text:0x80036F4C; // type:function size:0x26C scope:local -SeqInitMGBasic = .text:0x800371B8; // type:function size:0x194 scope:local -SeqUpdateMGBasic = .text:0x8003734C; // type:function size:0x9D0 scope:local -SeqInitMGCommon = .text:0x80037D1C; // type:function size:0x2A4 scope:local -SeqUpdateMGBattle = .text:0x80037FC0; // type:function size:0xDA4 scope:local -SeqUpdateMG1vs3 = .text:0x80038D64; // type:function size:0xDA4 scope:local -SeqUpdateMGStory = .text:0x80039B08; // type:function size:0xBB8 scope:local -SeqUpdateMG2vs2 = .text:0x8003A6C0; // type:function size:0xAB4 scope:local -SeqInitFlip = .text:0x8003B174; // type:function size:0x3C4 scope:local -SeqUpdateFlip = .text:0x8003B538; // type:function size:0x91C scope:local -SeqUpdateMGBowser = .text:0x8003BE54; // type:function size:0xC84 scope:local -SeqInitDraw = .text:0x8003CAD8; // type:function size:0xDC scope:local -SeqUpdateDraw = .text:0x8003CBB4; // type:function size:0x3DC scope:local -SeqInitWin = .text:0x8003CF90; // type:function size:0x6D0 scope:local -SeqUpdateWin = .text:0x8003D660; // type:function size:0x708 scope:local -SeqInitRecord = .text:0x8003DD68; // type:function size:0x764 scope:local -SeqUpdateRecord = .text:0x8003E4CC; // type:function size:0x304 scope:local +MGSeqInitMGBasic = .text:0x800371B8; // type:function size:0x194 +MGSeqUpdateMGBasic = .text:0x8003734C; // type:function size:0x9D0 +MGSeqInitMGCommon = .text:0x80037D1C; // type:function size:0x2A4 +MGSeqUpdateMGBattle = .text:0x80037FC0; // type:function size:0xDA4 +MGSeqUpdateMG1vs3 = .text:0x80038D64; // type:function size:0xDA4 +MGSeqUpdateMGStory = .text:0x80039B08; // type:function size:0xBB8 +MGSeqUpdateMG2vs2 = .text:0x8003A6C0; // type:function size:0xAB4 +MGSeqInitFlip = .text:0x8003B174; // type:function size:0x3C4 +MGSeqUpdateFlip = .text:0x8003B538; // type:function size:0x91C +MGSeqUpdateMGBowser = .text:0x8003BE54; // type:function size:0xC84 +MGSeqInitDraw = .text:0x8003CAD8; // type:function size:0xDC +MGSeqUpdateDraw = .text:0x8003CBB4; // type:function size:0x3DC +MGSeqInitWin = .text:0x8003CF90; // type:function size:0x6D0 +MGSeqUpdateWin = .text:0x8003D660; // type:function size:0x708 +MGSeqInitRecord = .text:0x8003DD68; // type:function size:0x764 +MGSeqUpdateRecord = .text:0x8003E4CC; // type:function size:0x304 MGSeqPauseInit = .text:0x8003E7D0; // type:function size:0x6C PauseProc = .text:0x8003E83C; // type:function size:0x94C scope:local MGSeqPauseKill = .text:0x8003F188; // type:function size:0xC @@ -5842,7 +5842,7 @@ lbl_801F0946 = .sdata:0x801F0946; // type:object size:0x5 scope:local data:strin lbl_801F094B = .sdata:0x801F094B; // type:object size:0x7 scope:local lbl_801F0952 = .sdata:0x801F0952; // type:object size:0x6 scope:local lbl_801F0958 = .sdata:0x801F0958; // type:object size:0x8 scope:local -pauseStr$2309 = .sdata:0x801F0960; // type:object size:0x8 scope:local +pauseStr = .sdata:0x801F0960; // type:object size:0x8 scope:local lbl_801F0968 = .sdata:0x801F0968; // type:object size:0x8 scope:local lbl_801F0970 = .sdata:0x801F0970; // type:object size:0x8 lbl_801F0978 = .sdata:0x801F0978; // type:object size:0x8 diff --git a/configure.py b/configure.py index c4097c0a..bad7edb8 100644 --- a/configure.py +++ b/configure.py @@ -402,8 +402,8 @@ config.libs = [ Object(Matching, "game/objdll.c"), Object(Matching, "game/frand.c"), Object(Matching, "game/audio.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/EnvelopeExec.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/minigame_seq.c"), + Object(Matching, "game/EnvelopeExec.c"), + Object(Matching, "game/minigame_seq.c"), Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/ovllist.c"), Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/esprite.c"), Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/code_8003FF68.c"), diff --git a/include/game/minigame_seq.h b/include/game/minigame_seq.h index 8e443630..a345b0fe 100644 --- a/include/game/minigame_seq.h +++ b/include/game/minigame_seq.h @@ -91,6 +91,32 @@ void MGSeqPauseEnableCtrl(s32 flag); void MGSeqPracticeInit(void); void MGSeqPracticeExitCheck(omObjData *object); +s32 MGSeqInitTimer(SeqWork *work, va_list params); +s32 MGSeqUpdateTimer(SeqWork *work); + +s32 MGSeqInitType2(SeqWork *work, va_list params); +s32 MGSeqUpdateType2(SeqWork *work); + +s32 MGSeqUpdateMGBattle(SeqWork *work); + +s32 MGSeqInitMGBasic(SeqWork *work, va_list params); +s32 MGSeqUpdateMGBasic(SeqWork *work); +s32 MGSeqInitMGCommon(SeqWork *work, va_list params); +s32 MGSeqUpdateMG1vs3(SeqWork *work); +s32 MGSeqUpdateMGStory(SeqWork *work); +s32 MGSeqUpdateMG2vs2(SeqWork *work); +s32 MGSeqUpdateMGBowser(SeqWork *work); + +s32 MGSeqInitWin(SeqWork *work, va_list params); +s32 MGSeqUpdateWin(SeqWork *work); +s32 MGSeqInitDraw(SeqWork *work, va_list params); +s32 MGSeqUpdateDraw(SeqWork *work); +s32 MGSeqInitRecord(SeqWork *work, va_list params); +s32 MGSeqUpdateRecord(SeqWork *work); + +s32 MGSeqInitFlip(SeqWork *work, va_list params); +s32 MGSeqUpdateFlip(SeqWork *work); + extern OverlayID mgSeqOvlPrev; #endif diff --git a/src/game/minigame_seq.c b/src/game/minigame_seq.c index b163d790..886a1adc 100644 --- a/src/game/minigame_seq.c +++ b/src/game/minigame_seq.c @@ -33,69 +33,55 @@ typedef struct seq_info { s32 time_max; } SeqInfo; -static s32 SeqInitTimer(SeqWork *work, va_list params); -static s32 SeqUpdateTimer(SeqWork *work); - -static s32 SeqInitType2(SeqWork *work, va_list params); -static s32 SeqUpdateType2(SeqWork *work); - -static s32 SeqInitMGBasic(SeqWork *work, va_list params); -static s32 SeqUpdateMGBasic(SeqWork *work); -static s32 SeqInitMGCommon(SeqWork *work, va_list params); -static s32 SeqUpdateMG1vs3(SeqWork *work); -static s32 SeqUpdateMGBattle(SeqWork *work); -static s32 SeqUpdateMGStory(SeqWork *work); -static s32 SeqUpdateMG2vs2(SeqWork *work); -static s32 SeqUpdateMGBowser(SeqWork *work); - -static s32 SeqInitWin(SeqWork *work, va_list params); -static s32 SeqUpdateWin(SeqWork *work); -static s32 SeqInitDraw(SeqWork *work, va_list params); -static s32 SeqUpdateDraw(SeqWork *work); -static s32 SeqInitRecord(SeqWork *work, va_list params); -static s32 SeqUpdateRecord(SeqWork *work); - -static s32 SeqInitFlip(SeqWork *work, va_list params); -static s32 SeqUpdateFlip(SeqWork *work); - OverlayID mgSeqOvlPrev = OVL_INVALID; static SeqInfo seqInfoTbl[] = { { NULL, NULL, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 60 }, - { SeqInitTimer, SeqUpdateTimer, HU_DISP_CENTERX + 4, 64.0f, 1.0f, 1.0f, 60 }, - { SeqInitType2, SeqUpdateType2, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 0.5f, 0.5f, 60 }, - { SeqInitMGBasic, SeqUpdateMGBasic, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, - { SeqInitMGCommon, SeqUpdateMG1vs3, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, - { SeqInitWin, SeqUpdateWin, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, - { SeqInitMGCommon, SeqUpdateMGBattle, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, - { SeqInitMGCommon, SeqUpdateMGStory, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, - { SeqInitMGBasic, SeqUpdateMGBasic, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, - { SeqInitMGCommon, SeqUpdateMG2vs2, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, - { SeqInitFlip, SeqUpdateFlip, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, - { SeqInitMGCommon, SeqUpdateMGBowser, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, - { SeqInitWin, SeqUpdateWin, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, - { SeqInitDraw, SeqUpdateDraw, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 60 }, - { SeqInitRecord, SeqUpdateRecord, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, + { MGSeqInitTimer, MGSeqUpdateTimer, HU_DISP_CENTERX + 4, 64.0f, 1.0f, 1.0f, 60 }, + { MGSeqInitType2, MGSeqUpdateType2, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 0.5f, 0.5f, 60 }, + { MGSeqInitMGBasic, MGSeqUpdateMGBasic, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, + { MGSeqInitMGCommon, MGSeqUpdateMG1vs3, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, + { MGSeqInitWin, MGSeqUpdateWin, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, + { MGSeqInitMGCommon, MGSeqUpdateMGBattle, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, + { MGSeqInitMGCommon, MGSeqUpdateMGStory, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, + { MGSeqInitMGBasic, MGSeqUpdateMGBasic, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, + { MGSeqInitMGCommon, MGSeqUpdateMG2vs2, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, + { MGSeqInitFlip, MGSeqUpdateFlip, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, + { MGSeqInitMGCommon, MGSeqUpdateMGBowser, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, + { MGSeqInitWin, MGSeqUpdateWin, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, + { MGSeqInitDraw, MGSeqUpdateDraw, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 60 }, + { MGSeqInitRecord, MGSeqUpdateRecord, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 180 }, { NULL, NULL, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 60 }, { NULL, NULL, HU_DISP_CENTERX + 4, HU_DISP_CENTERY, 1.0f, 1.0f, 60 }, }; static s32 seqType2SprTbl[6] = { 0, 0, 0, 0, 0, 0 }; -static s16 mgSeqTypeTbl[9] = { MG_SEQ_TYPE_4P, MG_SEQ_TYPE_1VS3, MG_SEQ_TYPE_2VS2, MG_SEQ_TYPE_BOWSER, MG_SEQ_TYPE_BATTLE, MG_SEQ_TYPE_PINBALL, - MG_SEQ_TYPE_STORY, MG_SEQ_TYPE_BOWSER, MG_SEQ_TYPE_STORY }; +static s16 mgSeqTypeTbl[9] = { + MG_SEQ_TYPE_4P, + MG_SEQ_TYPE_1VS3, + MG_SEQ_TYPE_2VS2, + MG_SEQ_TYPE_BOWSER, + MG_SEQ_TYPE_BATTLE, + MG_SEQ_TYPE_PINBALL, + MG_SEQ_TYPE_STORY, + MG_SEQ_TYPE_BOWSER, + MG_SEQ_TYPE_STORY, +}; -static char lbl_8012F336[] = { "アイウエオカキク" - "ケコサシスセソタ" - "チツテトナニヌネ" - "ノハヒフヘホマミ" - "ムメモヤユヨラリ" - "ルレロワヲンァィ" - "ゥェォャュョッカ" - "キクコサシスセソ" - "タチツテトハヒフ" - "ヘホハヒフヘホ" - "!?ー" }; +static char lbl_8012F336[] = { + "アイウエオカキク" + "ケコサシスセソタ" + "チツテトナニヌネ" + "ノハヒフヘホマミ" + "ムメモヤユヨラリ" + "ルレロワヲンァィ" + "ゥェォャュョッカ" + "キクコサシスセソ" + "タチツテトハヒフ" + "ヘホハヒフヘホ" + "!?ー", +}; static char lbl_8012F389[] = "x first\n"; static char lbl_8012F392[] = "y first\n"; @@ -339,7 +325,7 @@ static void *SeqReadFile(s32 file) return HuAR_ARAMtoMRAMFileRead(file, MEMORY_DEFAULT_NUM, HEAP_DATA); } -static s32 SeqInitTimer(SeqWork *work, va_list params) +s32 MGSeqInitTimer(SeqWork *work, va_list params) { AnimData *spr_anim; s16 sprite; @@ -401,7 +387,7 @@ static s32 SeqInitTimer(SeqWork *work, va_list params) return 1; } -static s32 SeqUpdateTimer(SeqWork *work) +s32 MGSeqUpdateTimer(SeqWork *work) { float scale; float tp_lvl; @@ -558,7 +544,7 @@ static s32 SeqUpdateTimer(SeqWork *work) } } -static s32 SeqInitType2(SeqWork *work, va_list params) +s32 MGSeqInitType2(SeqWork *work, va_list params) { s16 spr_idx; s16 spr_grp; @@ -667,7 +653,7 @@ static s32 SeqInitType2(SeqWork *work, va_list params) return 1; } -static s32 SeqUpdateType2(SeqWork *work) +s32 MGSeqUpdateType2(SeqWork *work) { float tp_lvl; s16 spr_grp; @@ -818,14 +804,20 @@ static AnimData *SeqLoadFontChar(char *str, s16 flags); static s32 SeqMakeWord(SeqWork *work, char *str, s16 flags) { + s16 len; + s16 x; + s16 i; + s16 grp_idx; +#if VERSION_JAP + char *str_ptr; + AnimData **char_anim; + s16 *char_pos; +#else + AnimData **char_anim; s16 *char_pos; char *str_ptr; +#endif s16 spr_grp; - s16 i; - s16 x; - s16 grp_idx; - s16 len; - AnimData **char_anim; for (grp_idx = 0; grp_idx < 16; grp_idx++) { if (work->spr_grp[grp_idx] == -1) { break; @@ -839,13 +831,27 @@ static s32 SeqMakeWord(SeqWork *work, char *str, s16 flags) str_ptr = str; x = 0; len = 0; - while (*str_ptr != 0) { + while (*str_ptr != '\0') { +#if VERSION_JAP + if (*str_ptr == ' ') { + x += 56; + } + else { + char_anim[len] = SeqLoadFontChar(str_ptr, flags); + if (char_anim[len]) { + char_pos[len] = x; + x += 56; + len++; + } + } +#else char_anim[len] = SeqLoadFontChar(str_ptr, flags); if (char_anim[len]) { char_pos[len] = x; x += 56; len++; } +#endif str_ptr++; } work->spr_grp[grp_idx] = spr_grp = HuSprGrpCreate(len); @@ -870,24 +876,26 @@ static AnimData *SeqLoadFontChar(char *str, s16 flags) if (c == 222 || c == 223) { return NULL; } +#if !VERSION_JAP if (c == 32) { return HuSprAnimRead(SeqReadFile(DATA_MAKE_NUM(DATADIR_GAMEMES, 10))); } +#endif for (id = 0, list = seqFontAlphaTbl; *list != 0; id++, list++) { if (*list == c) { - data_num = DATA_MAKE_NUM(DATADIR_GAMEMES, id + 21); + data_num = DATA_MAKE_NUM(DATADIR_GAMEMES, id + (VERSION_JAP ? 20 : 21)); return HuSprAnimRead(SeqReadFile(data_num)); } } for (id = 0, list = seqFontNumTbl; *list != 0; id++, list++) { if (*list == c) { - data_num = DATA_MAKE_NUM(DATADIR_GAMEMES, id + 11); + data_num = DATA_MAKE_NUM(DATADIR_GAMEMES, id + (VERSION_JAP ? 10 : 11)); return HuSprAnimRead(SeqReadFile(data_num)); } } for (id = 0, list = seqPunctTbl; *list != 0; id++, list++) { if (*list == c) { - data_num = DATA_MAKE_NUM(DATADIR_GAMEMES, id + 154); + data_num = DATA_MAKE_NUM(DATADIR_GAMEMES, id + (VERSION_JAP ? 153 : 154)); return HuSprAnimRead(SeqReadFile(data_num)); } } @@ -908,10 +916,10 @@ static AnimData *SeqLoadFontChar(char *str, s16 flags) while (*list != 0) { if (*list == c) { if (flags & 0x1) { - data_num = DATA_MAKE_NUM(DATADIR_GAMEMES, id + 156); + data_num = DATA_MAKE_NUM(DATADIR_GAMEMES, id + (VERSION_JAP ? 155 : 156)); } else { - data_num = DATA_MAKE_NUM(DATADIR_GAMEMES, id + 73); + data_num = DATA_MAKE_NUM(DATADIR_GAMEMES, id + (VERSION_JAP ? 72 : 73)); } return HuSprAnimRead(SeqReadFile(data_num)); } @@ -928,14 +936,14 @@ static float ForceDefine480() static void SeqPlayStartFX(void); -static s32 SeqInitMGBasic(SeqWork *work, va_list params) +s32 MGSeqInitMGBasic(SeqWork *work, va_list params) { s16 i; s16 word_grp; work->state = va_arg(params, int); if (work->state == 2) { - return SeqInitDraw(work, params); + return MGSeqInitDraw(work, params); } work->type = 0; work->angle = 0; @@ -978,7 +986,7 @@ static s32 SeqInitMGBasic(SeqWork *work, va_list params) return 1; } -static s32 SeqUpdateMGBasic(SeqWork *work) +s32 MGSeqUpdateMGBasic(SeqWork *work) { s16 idx; float scale; @@ -1147,7 +1155,7 @@ static s32 SeqUpdateMGBasic(SeqWork *work) return 1; } -static s32 SeqInitMGCommon(SeqWork *work, va_list params) +s32 MGSeqInitMGCommon(SeqWork *work, va_list params) { s16 i; float tp_lvl; @@ -1156,7 +1164,7 @@ static s32 SeqInitMGCommon(SeqWork *work, va_list params) work->state = va_arg(params, int); if (work->state == 2) { - return SeqInitDraw(work, params); + return MGSeqInitDraw(work, params); } work->type = 0; work->angle = 0; @@ -1226,7 +1234,7 @@ static s32 SeqInitMGCommon(SeqWork *work, va_list params) return 1; } -static s32 SeqUpdateMGBattle(SeqWork *work) +s32 MGSeqUpdateMGBattle(SeqWork *work) { s16 idx; float scale; @@ -1465,7 +1473,7 @@ static s32 SeqUpdateMGBattle(SeqWork *work) return 1; } -static s32 SeqUpdateMG1vs3(SeqWork *work) +s32 MGSeqUpdateMG1vs3(SeqWork *work) { s16 idx; float scale; @@ -1678,7 +1686,7 @@ static s32 SeqUpdateMG1vs3(SeqWork *work) return 1; } -static s32 SeqUpdateMGStory(SeqWork *work) +s32 MGSeqUpdateMGStory(SeqWork *work) { s16 idx; float scale; @@ -1889,7 +1897,7 @@ static s32 SeqUpdateMGStory(SeqWork *work) return 1; } -static s32 SeqUpdateMG2vs2(SeqWork *work) +s32 MGSeqUpdateMG2vs2(SeqWork *work) { s16 idx; float scale; @@ -2062,14 +2070,14 @@ static s32 SeqUpdateMG2vs2(SeqWork *work) return 1; } -static s32 SeqInitFlip(SeqWork *work, va_list params) +s32 MGSeqInitFlip(SeqWork *work, va_list params) { s16 i; s16 word_grp; s16 word_ofs; work->state = va_arg(params, int); if (work->state == 2) { - return SeqInitDraw(work, params); + return MGSeqInitDraw(work, params); } work->type = 0; work->angle = 0; @@ -2148,7 +2156,7 @@ static s32 SeqInitFlip(SeqWork *work, va_list params) return 1; } -static s32 SeqUpdateFlip(SeqWork *work) +s32 MGSeqUpdateFlip(SeqWork *work) { s16 idx; float scale; @@ -2321,7 +2329,7 @@ static s32 SeqUpdateFlip(SeqWork *work) return 1; } -static s32 SeqUpdateMGBowser(SeqWork *work) +s32 MGSeqUpdateMGBowser(SeqWork *work) { s16 idx; float scale; @@ -2545,7 +2553,7 @@ static s32 SeqUpdateMGBowser(SeqWork *work) return 1; } -static s32 SeqInitDraw(SeqWork *work, va_list params) +s32 MGSeqInitDraw(SeqWork *work, va_list params) { s16 word_grp; work->state = 2; @@ -2576,7 +2584,7 @@ static s32 SeqInitDraw(SeqWork *work, va_list params) return 1; } -static s32 SeqUpdateDraw(SeqWork *work) +s32 MGSeqUpdateDraw(SeqWork *work) { s16 idx; float scale; @@ -2665,22 +2673,54 @@ static s32 SeqUpdateDraw(SeqWork *work) return 1; } -static char *winCharNameTbl[] - = { "マリオ", "MARIO", "ルイージ", "LUIGI", "ピーチ", "PEACH", "ヨッシー", "YOSHI", "ワリオ", "WARIO", "ドンキー", " DK ", "デイジー", "DAISY", "ワルイージ", "WALUIGI", - "クッパ", "BOWSER", "キノピオ", "TOAD", "ヘイホー", "SHY GUY", "テレサ", "BOO", "ノコノコ", "KOOPA", "ミニクッパ", VERSION_NTSC ? "KOOPA KID" : "MINI BOWSER", "クリボー", "GOOMBA" }; +static char *winCharNameTbl[] = { + "マリオ", + "MARIO", + "ルイージ", + "LUIGI", + "ピーチ", + "PEACH", + "ヨッシー", + "YOSHI", + "ワリオ", + "WARIO", + "ドンキー", + VERSION_JAP ? "DK" : " DK ", + "デイジー", + "DAISY", + "ワルイージ", + "WALUIGI", + "クッパ", + "BOWSER", + "キノピオ", + "TOAD", + "ヘイホー", + VERSION_JAP ? "HEHOH" : "SHY GUY", + "テレサ", + VERSION_JAP ? "TERETHA" : "BOO", + "ノコノコ", + VERSION_JAP ? "NOKONOKO" : "KOOPA", + "ミニクッパ", + VERSION_NTSC ? (VERSION_ENG ? "KOOPA KID" : "BABYBOWSER") : "MINI BOWSER", + "クリボー", + VERSION_JAP ? "KURIBO" : "GOOMBA", +}; static char *winWordTbl[] = { "カチ", "WON!", "ハイボク", "LOSE", "ユウショウ!", "CHAMPION!" }; -static s16 winPosOfs[][5][2] - = { { { 114, 0 }, { -144, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } }, { { 0, 35 }, { -144, -35 }, { 144, -35 }, { 0, 0 }, { 0, 0 } }, - { { 0, 105 }, { 0, -105 }, { -144, 0 }, { 144, 0 }, { 0, 0 } }, { { 0, 105 }, { -144, -105 }, { 144, -105 }, { -144, 0 }, { 144, 0 } } }; +static s16 winPosOfs[][5][2] = { + { { VERSION_JAP ? 144 : 114, 0 }, { -144, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } }, + { { 0, 35 }, { -144, -35 }, { 144, -35 }, { 0, 0 }, { 0, 0 } }, + { { 0, 105 }, { 0, -105 }, { -144, 0 }, { 144, 0 }, { 0, 0 } }, + { { 0, 105 }, { -144, -105 }, { 144, -105 }, { -144, 0 }, { 144, 0 } }, +}; static s16 winnerNameW[8]; #define GET_LANG_IDX() ((seqLanguage == 0) ? 0 : 1) #define GET_WIN_KANAF() ((seqLanguage == 0) ? 1 : 0) -static s32 SeqInitWin(SeqWork *work, va_list params) +s32 MGSeqInitWin(SeqWork *work, va_list params) { int win_type = va_arg(params, int); s16 word_idx; @@ -2705,13 +2745,17 @@ static s32 SeqInitWin(SeqWork *work, va_list params) } } word_grp = SeqMakeWord(work, winWordTbl[word_idx], GET_WIN_KANAF()); - winnerNameW[0] = work->word_len * 50; + winnerNameW[0] = work->word_len * (VERSION_JAP ? 56 : 50); +#if !VERSION_JAP for (i = 0; i < work->word_len; i++) { HuSprPosSet(work->spr_grp[word_grp], i, 25.0f + ((i * 50) - (0.5f * (work->word_len * 50))), 0.0f); HuSprAttrSet(work->spr_grp[word_grp], i, HUSPR_ATTR_LINEAR); } +#endif num_winners = 0; +#if !VERSION_JAP work->win_scale = 1.0f; +#endif for (j = 0; j < 4; j++) { int winner = va_arg(params, int); (void)winner; // to match PAL @@ -2719,7 +2763,7 @@ static s32 SeqInitWin(SeqWork *work, va_list params) continue; } word_grp = SeqMakeWord(work, winCharNameTbl[(winner * 2) + GET_LANG_IDX()], 0); -#if VERSION_NTSC +#if VERSION_ENG if (seqLanguage != 0) { char *name = winCharNameTbl[(winner * 2) + GET_LANG_IDX()]; word_w = 0.0f; @@ -2751,21 +2795,19 @@ static s32 SeqInitWin(SeqWork *work, va_list params) } winnerNameW[num_winners + 1] = word_w; } - else { - if (winner == 7 || winner == 13) { - for (i = 0; i < work->word_len; i++) { - HuSprPosSet(work->spr_grp[word_grp], i, 26.0f + ((i * 52) - (0.5f * (work->word_len * 52))), 0.0f); - HuSprAttrSet(work->spr_grp[word_grp], i, HUSPR_ATTR_LINEAR); - } - work->win_scale = 0.8f; - winnerNameW[num_winners + 1] = work->word_len * 52; - } - else { - work->win_scale = 1.0f; - winnerNameW[num_winners + 1] = work->word_len * 56; + else if (winner == 7 || winner == 13) { + for (i = 0; i < work->word_len; i++) { + HuSprPosSet(work->spr_grp[word_grp], i, 26.0f + ((i * 52) - (0.5f * (work->word_len * 52))), 0.0f); + HuSprAttrSet(work->spr_grp[word_grp], i, HUSPR_ATTR_LINEAR); } + work->win_scale = 0.8f; + winnerNameW[num_winners + 1] = work->word_len * 52; } -#else + else { + work->win_scale = 1.0f; + winnerNameW[num_winners + 1] = work->word_len * 56; + } +#elif VERSION_PAL for (i = 0; i < work->word_len; i++) { HuSprPosSet(work->spr_grp[word_grp], i, 25.0f + ((i * 50) - (0.5f * (work->word_len * 50))), 0.0f); HuSprAttrSet(work->spr_grp[word_grp], i, HUSPR_ATTR_LINEAR); @@ -2780,6 +2822,27 @@ static s32 SeqInitWin(SeqWork *work, va_list params) work->win_scale = 0.75f; } winnerNameW[num_winners + 1] = work->word_len * 50; +#else + if (seqLanguage != 0) { + for (i = 0; i < work->word_len; i++) { + HuSprPosSet(work->spr_grp[word_grp], i, 25.0f + (i * 50 - (0.5f * (work->word_len * 50))), 0.0f); + HuSprAttrSet(work->spr_grp[word_grp], i, HUSPR_ATTR_LINEAR); + } + work->win_scale = 0.75f; + winnerNameW[num_winners + 1] = work->word_len * 50; + } + else if (winner == 7 || winner == 13) { + for (i = 0; i < work->word_len; i++) { + HuSprPosSet(work->spr_grp[word_grp], i, 26.0f + ((i * 52) - (0.5f * (work->word_len * 52))), 0.0f); + HuSprAttrSet(work->spr_grp[word_grp], i, HUSPR_ATTR_LINEAR); + } + work->win_scale = 0.8f; + winnerNameW[num_winners + 1] = work->word_len * 52; + } + else { + work->win_scale = 1.0f; + winnerNameW[num_winners + 1] = work->word_len * 56; + } #endif num_winners++; } @@ -2792,7 +2855,11 @@ static s32 SeqInitWin(SeqWork *work, va_list params) work->type = 0; for (j = 0; j < num_winners + 1; j++) { if (num_winners == 1) { +#if VERSION_JAP + word_x = 32 + (winnerNameW[1] + winnerNameW[0]); +#else word_x = 32.0f + ((float)winnerNameW[0] + (winnerNameW[1] * work->win_scale)); +#endif if (j == 0) { word_x = (((HU_DISP_WIDTH - word_x) / 2.0f) + (word_x - (winnerNameW[0] / 2))) - HU_DISP_CENTERX; } @@ -2802,7 +2869,7 @@ static s32 SeqInitWin(SeqWork *work, va_list params) } else { if (abs(winPosOfs[num_winners - 1][j][0]) == 144.0f) { -#if VERSION_NTSC +#if VERSION_ENG if (winnerNameW[j] + 32 < HU_DISP_CENTERX) { word_x = 176.0f; } @@ -2815,7 +2882,7 @@ static s32 SeqInitWin(SeqWork *work, va_list params) else { word_x = (HU_DISP_WIDTH - word_x) - HU_DISP_CENTERX; } -#else +#elif VERSION_PAL if (32.0f + (work->win_scale * winnerNameW[j]) < HU_DISP_CENTERX) { word_x = 32.0f + ((winnerNameW[j] * work->win_scale) / 2.0f); } @@ -2825,6 +2892,16 @@ static s32 SeqInitWin(SeqWork *work, va_list params) if (winPosOfs[num_winners - 1][j][0] < 0) { word_x = -word_x; } +#else + if (32 + winnerNameW[j] < HU_DISP_CENTERX) { + word_x = 32 + winnerNameW[j] / 2; + } + else { + word_x = 120.0f; + } + if (winPosOfs[num_winners - 1][j][0] < 0) { + word_x = -word_x; + } #endif } else { @@ -2846,7 +2923,7 @@ static s32 SeqInitWin(SeqWork *work, va_list params) return 1; } -static s32 SeqUpdateWin(SeqWork *work) +s32 MGSeqUpdateWin(SeqWork *work) { s32 idx; float tp_lvl; @@ -2923,15 +3000,15 @@ static s32 SeqUpdateWin(SeqWork *work) else { if (abs(winPosOfs[work->word_len - 2][idx][0]) == 144.0f) { if (winnerNameW[idx] + 32 < HU_DISP_CENTERX) { - pos_x = VERSION_NTSC ? 176.0f : winnerNameW[idx] / 2 + 32; + pos_x = VERSION_ENG ? 176.0f : winnerNameW[idx] / 2 + 32; } else { - pos_x = VERSION_NTSC ? 32.0f + ((winnerNameW[idx] * work->win_scale) / 2.0f) : 128.0f; + pos_x = VERSION_ENG ? 32.0f + ((winnerNameW[idx] * work->win_scale) / 2.0f) : 128.0f; } if (winPosOfs[work->word_len - 2][idx][0] < 0) { - pos_x = VERSION_NTSC ? -(HU_DISP_CENTERX - pos_x) : -pos_x; + pos_x = VERSION_ENG ? -(HU_DISP_CENTERX - pos_x) : -pos_x; } -#if VERSION_NTSC +#if VERSION_ENG else { pos_x = (HU_DISP_WIDTH - pos_x) - HU_DISP_CENTERX; } @@ -2974,7 +3051,7 @@ static s32 SeqUpdateWin(SeqWork *work) return 1; } -static s32 SeqInitRecord(SeqWork *work, va_list params) +s32 MGSeqInitRecord(SeqWork *work, va_list params) { AnimData *spr_data; s16 spr_grp; @@ -3093,7 +3170,7 @@ static s32 SeqInitRecord(SeqWork *work, va_list params) return 1; } -static s32 SeqUpdateRecord(SeqWork *work) +s32 MGSeqUpdateRecord(SeqWork *work) { s16 group; if (_CheckFlag(FLAG_ID_MAKE(1, 12))) {