From 17020537fc3f52f0c78cee96ca4a1c6f27d6d608 Mon Sep 17 00:00:00 2001 From: dbalatoni13 Date: Tue, 26 Nov 2024 19:12:16 +0100 Subject: [PATCH] Split Japanese DOL till board/player.c --- config/GMPJ01_00/config.yml | 18 ++ config/GMPJ01_00/splits.txt | 25 +++ config/GMPJ01_00/symbols.txt | 341 ++++++++++++++++++----------------- configure.py | 4 +- src/game/board/main.c | 6 +- src/game/board/player.c | 17 +- src/game/sreset.c | 29 ++- 7 files changed, 263 insertions(+), 177 deletions(-) diff --git a/config/GMPJ01_00/config.yml b/config/GMPJ01_00/config.yml index 92defe35..b7b70d66 100644 --- a/config/GMPJ01_00/config.yml +++ b/config/GMPJ01_00/config.yml @@ -548,3 +548,21 @@ extract: - symbol: Ascii8x8_1bpp binary: Ascii8x8_1bpp.bin header: Ascii8x8_1bpp.inc +- symbol: coveropen_jp + binary: coveropen_jp.bin + header: coveropen_jp.inc +- symbol: fatalerror_jp + binary: fatalerror_jp.bin + header: fatalerror_jp.inc +- symbol: loading_jp + binary: loading_jp.bin + header: loading_jp.inc +- symbol: nodisc_jp + binary: nodisc_jp.bin + header: nodisc_jp.inc +- symbol: retryerror_jp + binary: retryerror_jp.bin + header: retryerror_jp.inc +- symbol: wrongdisc_jp + binary: wrongdisc_jp.bin + header: wrongdisc_jp.inc diff --git a/config/GMPJ01_00/splits.txt b/config/GMPJ01_00/splits.txt index 76144e31..787212a6 100644 --- a/config/GMPJ01_00/splits.txt +++ b/config/GMPJ01_00/splits.txt @@ -307,3 +307,28 @@ game/saveload.c: .sdata start:0x801D32D8 end:0x801D3300 .sbss start:0x801D3B68 end:0x801D3B78 .sdata2 start:0x801D4DF8 end:0x801D4E08 + +game/sreset.c: + .text start:0x8005A324 end:0x8005AD7C + .data start:0x80131E00 end:0x80139438 + .bss start:0x8019C0E0 end:0x8019D480 + .sdata start:0x801D3300 end:0x801D3318 + .sbss start:0x801D3B78 end:0x801D3B90 + +game/board/main.c: + .text start:0x8005AD7C end:0x80061BB4 + .rodata start:0x8011D940 end:0x8011D970 + .data start:0x80139438 end:0x80139538 + .bss start:0x8019D480 end:0x8019D608 + .sdata start:0x801D3318 end:0x801D3328 + .sbss start:0x801D3B90 end:0x801D3BE0 + .sdata2 start:0x801D4E08 end:0x801D4EB8 + +game/board/player.c: + .text start:0x80061BB4 end:0x8006CEF8 + .rodata start:0x8011D970 end:0x8011DA40 + .data start:0x80139538 end:0x80139740 + .bss start:0x8019D608 end:0x8019D638 + .sdata start:0x801D3328 end:0x801D3388 + .sbss start:0x801D3BE0 end:0x801D3C18 + .sdata2 start:0x801D4EB8 end:0x801D4FC0 diff --git a/config/GMPJ01_00/symbols.txt b/config/GMPJ01_00/symbols.txt index dceced17..f2e3abc5 100644 --- a/config/GMPJ01_00/symbols.txt +++ b/config/GMPJ01_00/symbols.txt @@ -1672,7 +1672,7 @@ PopupCoin = .text:0x8008E7DC; // type:function size:0x10C scope:local PopupCoinExec = .text:0x8008E8E8; // type:function size:0x130 scope:local BoardItemStart = .text:0x8008EA18; // type:function size:0x74 BoardItemDoneCheck = .text:0x8008EA8C; // type:function size:0x1C -BoardItemPlayerRestore = .text:0x8008EAA8; // type:function size:0x6C scope:local +BoardItemPlayerRestore = .text:0x8008EAA8; // type:function size:0x6C ItemProcess = .text:0x8008EB14; // type:function size:0x64 scope:local RestoreProcess = .text:0x8008EB78; // type:function size:0x64 scope:local ItemDestroy = .text:0x8008EBDC; // type:function size:0xC scope:local @@ -3594,12 +3594,12 @@ lbl_8011D8F0 = .rodata:0x8011D8F0; // type:object size:0x10 scope:local data:4by lbl_8011D900 = .rodata:0x8011D900; // type:object size:0x10 scope:local data:4byte lbl_8011D910 = .rodata:0x8011D910; // type:object size:0x20 scope:local data:byte lbl_8011D930 = .rodata:0x8011D930; // type:object size:0x10 data:4byte -lbl_8011D940 = .rodata:0x8011D940; // type:object size:0x24 data:4byte -lbl_8011D964 = .rodata:0x8011D964; // type:object size:0xC data:4byte -lbl_8011D970 = .rodata:0x8011D970; // type:object size:0x20 data:4byte -lbl_8011D990 = .rodata:0x8011D990; // type:object size:0x7C data:4byte -lbl_8011DA0C = .rodata:0x8011DA0C; // type:object size:0x24 data:4byte -lbl_8011DA30 = .rodata:0x8011DA30; // type:object size:0x10 data:4byte +lbl_8011D940 = .rodata:0x8011D940; // type:object size:0x24 scope:local data:4byte +lbl_8011D964 = .rodata:0x8011D964; // type:object size:0xC scope:local data:4byte +lbl_8011D970 = .rodata:0x8011D970; // type:object size:0x20 scope:local data:4byte +lbl_8011D990 = .rodata:0x8011D990; // type:object size:0x7C scope:local data:4byte +lbl_8011DA0C = .rodata:0x8011DA0C; // type:object size:0x24 scope:local data:4byte +lbl_8011DA30 = .rodata:0x8011DA30; // type:object size:0x10 scope:local data:4byte lbl_8011DA40 = .rodata:0x8011DA40; // type:object size:0x38 data:4byte lbl_8011DA78 = .rodata:0x8011DA78; // type:object size:0x38 data:4byte lbl_8011DAB0 = .rodata:0x8011DAB0; // type:object size:0x20 data:4byte @@ -4123,37 +4123,45 @@ lbl_80131D90 = .data:0x80131D90; // type:object size:0xC scope:local data:string lbl_80131D9C = .data:0x80131D9C; // type:object size:0xC scope:local data:string SaveFileNameTbl = .data:0x80131DA8; // type:object size:0xC jumptable_80131DB4 = .data:0x80131DB4; // type:object size:0x34 scope:local -lbl_80131E00 = .data:0x80131E00; // type:object size:0x20 -lbl_80131E20 = .data:0x80131E20; // type:object size:0x13A0 -lbl_801331C0 = .data:0x801331C0; // type:object size:0x13A0 -lbl_80134560 = .data:0x80134560; // type:object size:0x13A0 -lbl_80135900 = .data:0x80135900; // type:object size:0x13A0 -lbl_80136CA0 = .data:0x80136CA0; // type:object size:0x13A0 -lbl_80138040 = .data:0x80138040; // type:object size:0x1384 +SR_PreRstChk = .data:0x80131E00; // type:object size:0x10 scope:local +padding = .data:0x80131E10; // type:object size:0x10 scope:local +coveropen_jp = .data:0x80131E20; // type:object size:0x13A0 noreloc +fatalerror_jp = .data:0x801331C0; // type:object size:0x13A0 noreloc +loading_jp = .data:0x80134560; // type:object size:0x13A0 noreloc +nodisc_jp = .data:0x80135900; // type:object size:0x13A0 noreloc +retryerror_jp = .data:0x80136CA0; // type:object size:0x13A0 noreloc +wrongdisc_jp = .data:0x80138040; // type:object size:0x1384 noreloc jumptable_801393C4 = .data:0x801393C4; // type:object size:0x34 scope:local -lbl_801393F8 = .data:0x801393F8; // type:object size:0x18 -lbl_80139410 = .data:0x80139410; // type:object size:0x13 data:string -lbl_80139423 = .data:0x80139423; // type:object size:0x15 -lbl_80139438 = .data:0x80139438; // type:object size:0x24 +bmpMes$327 = .data:0x801393F8; // type:object size:0x18 scope:local +@391 = .data:0x80139410; // type:object size:0x13 scope:local data:string +@392 = .data:0x80139423; // type:object size:0x12 scope:local data:string +camViewTbl = .data:0x80139438; // type:object size:0x24 scope:local jumptable_8013945C = .data:0x8013945C; // type:object size:0x24 scope:local -lbl_80139480 = .data:0x80139480; // type:object size:0x48 -lbl_801394C8 = .data:0x801394C8; // type:object size:0xC -lbl_801394D4 = .data:0x801394D4; // type:object size:0x30 -lbl_80139504 = .data:0x80139504; // type:object size:0x10 -lbl_80139514 = .data:0x80139514; // type:object size:0x24 -lbl_80139538 = .data:0x80139538; // type:object size:0x10 -lbl_80139548 = .data:0x80139548; // type:object size:0x10 -lbl_80139558 = .data:0x80139558; // type:object size:0xA data:2byte -lbl_80139562 = .data:0x80139562; // type:object size:0x17 data:string -lbl_80139579 = .data:0x80139579; // type:object size:0x17 data:string -lbl_80139590 = .data:0x80139590; // type:object size:0xE data:string -lbl_8013959E = .data:0x8013959E; // type:object size:0xE data:string -lbl_801395AC = .data:0x801395AC; // type:object size:0x18 data:string -lbl_801395C4 = .data:0x801395C4; // type:object size:0x18 data:string -lbl_801395DC = .data:0x801395DC; // type:object size:0xA0 -lbl_8013967C = .data:0x8013967C; // type:object size:0x20 -lbl_8013969C = .data:0x8013969C; // type:object size:0x74 -lbl_80139710 = .data:0x80139710; // type:object size:0x30 +confettiLightTbl = .data:0x80139480; // type:object size:0x48 scope:local +last5GfxSprTbl = .data:0x801394C8; // type:object size:0xC scope:local +last5GfxPosTbl = .data:0x801394D4; // type:object size:0x30 scope:local +tauntActiveFXTbl = .data:0x80139504; // type:object size:0x10 scope:local +tauntFXTbl = .data:0x80139514; // type:object size:0x20 scope:local +diceJumpObj = .data:0x80139538; // type:object size:0x10 scope:local +motDoneF = .data:0x80139548; // type:object size:0x10 scope:local +bowserSuitMot = .data:0x80139558; // type:object size:0xA scope:local data:2byte +lbl_80139562 = .data:0x80139562; // type:object size:0x17 scope:local data:string +lbl_80139579 = .data:0x80139579; // type:object size:0x17 scope:local data:string +lbl_80139590 = .data:0x80139590; // type:object size:0xE scope:local data:string +lbl_8013959E = .data:0x8013959E; // type:object size:0xE scope:local data:string +lbl_801395AC = .data:0x801395AC; // type:object size:0x18 scope:local data:string +lbl_801395C4 = .data:0x801395C4; // type:object size:0x18 scope:local data:string +eyeMatTbl = .data:0x801395DC; // type:object size:0x40 scope:local +lbl_8013997C = .data:0x8013961C; // type:object size:0x20 +boardMotTbl = .data:0x8013963C; // type:object size:0x20 scope:local +boardMotRevTbl = .data:0x8013965C; // type:object size:0x20 scope:local +bowserSuitCharMdlTbl = .data:0x8013967C; // type:object size:0x20 scope:local +bowserSuitMotTbl = .data:0x8013969C; // type:object size:0x14 scope:local +sparkMotTbl = .data:0x801396B0; // type:object size:0x20 scope:local +boardSparkSfxTbl = .data:0x801396D0; // type:object size:0x20 scope:local +boardSparkSfxTblAlt = .data:0x801396F0; // type:object size:0x20 scope:local +megaSquishObj = .data:0x80139710; // type:object size:0x10 scope:local +megaSquishSfxTbl = .data:0x80139720; // type:object size:0x20 scope:local lbl_80139740 = .data:0x80139740; // type:object size:0x24 lbl_80139764 = .data:0x80139764; // type:object size:0x24 lbl_80139788 = .data:0x80139788; // type:object size:0x18 @@ -4476,12 +4484,16 @@ mgTicTacToeGrid = .bss:0x80198098; // type:object size:0x12 _Sys_Flag = .bss:0x801980B0; // type:object size:0x10 scope:local curFileInfo = .bss:0x801980C0; // type:object size:0x14 saveBuf = .bss:0x801980E0; // type:object size:0x4000 -lbl_8019C0E0 = .bss:0x8019C0E0; // type:object size:0x13A0 -lbl_8019D480 = .bss:0x8019D480; // type:object size:0xC4 data:byte -lbl_8019D544 = .bss:0x8019D544; // type:object size:0xC4 -lbl_8019D608 = .bss:0x8019D608; // type:object size:0x10 -lbl_8019D618 = .bss:0x8019D618; // type:object size:0x10 -lbl_8019D628 = .bss:0x8019D628; // type:object size:0x10 +ToeMessageQueue = .bss:0x8019C0E0; // type:object size:0x20 scope:local +padStat$238 = .bss:0x8019C100; // type:object size:0x30 scope:local +ToeMessageArray = .bss:0x8019C130; // type:object size:0x40 scope:local +ToeThread = .bss:0x8019C170; // type:object size:0x310 scope:local +ToeThreadStack = .bss:0x8019C480; // type:object size:0x1000 scope:local +boardCamera = .bss:0x8019D480; // type:object size:0xC4 data:byte +cameraBackup = .bss:0x8019D544; // type:object size:0xC4 scope:local +preTurnHook = .bss:0x8019D608; // type:object size:0x10 scope:local +postTurnHook = .bss:0x8019D618; // type:object size:0x10 scope:local +playerMatCopy = .bss:0x8019D628; // type:object size:0x10 scope:local lbl_8019D638 = .bss:0x8019D638; // type:object size:0x20 lbl_8019D658 = .bss:0x8019D658; // type:object size:0x40 lbl_8019D698 = .bss:0x8019D698; // type:object size:0xC data:float @@ -4737,32 +4749,29 @@ lbl_801D32EB = .sdata:0x801D32EB; // type:object size:0x4 scope:local slotIconMesTbl = .sdata:0x801D32F0; // type:object size:0x8 scope:local sjisSpace = .sdata:0x801D32F8; // type:object size:0x3 scope:local data:byte saveMessWin = .sdata:0x801D32FC; // type:object size:0x4 scope:local data:4byte -lbl_801D3300 = .sdata:0x801D3300; // type:object size:0x8 data:2byte -lbl_801D3308 = .sdata:0x801D3308; // type:object size:0x1 data:byte -lbl_801D330C = .sdata:0x801D330C; // type:object size:0xC data:4byte -lbl_801D3318 = .sdata:0x801D3318; // type:object size:0x4 data:4byte -lbl_801D331C = .sdata:0x801D331C; // type:object size:0x1 data:byte -lbl_801D331D = .sdata:0x801D331D; // type:object size:0x1 data:byte -lbl_801D331E = .sdata:0x801D331E; // type:object size:0x1 data:byte -lbl_801D331F = .sdata:0x801D331F; // type:object size:0x1 data:byte -lbl_801D3320 = .sdata:0x801D3320; // type:object size:0x8 -lbl_801D3328 = .sdata:0x801D3328; // type:object size:0x2 data:2byte -lbl_801D332A = .sdata:0x801D332A; // type:object size:0x2 data:2byte -lbl_801D332C = .sdata:0x801D332C; // type:object size:0x2 data:2byte -lbl_801D332E = .sdata:0x801D332E; // type:object size:0x5 data:string -lbl_801D3333 = .sdata:0x801D3333; // type:object size:0x5 data:string -lbl_801D3338 = .sdata:0x801D3338; // type:object size:0x6 data:string -lbl_801D333E = .sdata:0x801D333E; // type:object size:0x6 data:string -lbl_801D3344 = .sdata:0x801D3344; // type:object size:0x6 data:string -lbl_801D334A = .sdata:0x801D334A; // type:object size:0x6 data:string -lbl_801D3350 = .sdata:0x801D3350; // type:object size:0x6 data:string -lbl_801D3356 = .sdata:0x801D3356; // type:object size:0x6 data:string -lbl_801D335C = .sdata:0x801D335C; // type:object size:0x6 data:string -lbl_801D3362 = .sdata:0x801D3362; // type:object size:0x6 data:string -lbl_801D3368 = .sdata:0x801D3368; // type:object size:0x6 data:string -lbl_801D336E = .sdata:0x801D336E; // type:object size:0x6 data:string -lbl_801D3374 = .sdata:0x801D3374; // type:object size:0x6 data:string -lbl_801D337A = .sdata:0x801D337A; // type:object size:0xE +SR_PushTime = .sdata:0x801D3300; // type:object size:0x8 scope:local data:2byte +SR_ResetPad = .sdata:0x801D3308; // type:object size:0x1 scope:local data:byte +Xfb = .sdata:0x801D330C; // type:object size:0x8 scope:local data:4byte +nextOvl = .sdata:0x801D3318; // type:object size:0x4 scope:local data:4byte +lbl_801D331C = .sdata:0x801D331C; // type:object size:0x4 scope:local data:byte +lbl_801D3320 = .sdata:0x801D3320; // type:object size:0x6 scope:local data:string +suitMdl = .sdata:0x801D3328; // type:object size:0x2 scope:local data:2byte +suitPlayerMdl = .sdata:0x801D332A; // type:object size:0x2 scope:local data:2byte +suitCurrMot = .sdata:0x801D332C; // type:object size:0x2 scope:local data:2byte +lbl_801D332E = .sdata:0x801D332E; // type:object size:0x5 scope:local data:string +lbl_801D3333 = .sdata:0x801D3333; // type:object size:0x5 scope:local data:string +lbl_801D3338 = .sdata:0x801D3338; // type:object size:0x6 scope:local data:string +lbl_801D333E = .sdata:0x801D333E; // type:object size:0x6 scope:local data:string +lbl_801D3344 = .sdata:0x801D3344; // type:object size:0x6 scope:local data:string +lbl_801D334A = .sdata:0x801D334A; // type:object size:0x6 scope:local data:string +lbl_801D3350 = .sdata:0x801D3350; // type:object size:0x6 scope:local data:string +lbl_801D3356 = .sdata:0x801D3356; // type:object size:0x6 scope:local data:string +lbl_801D335C = .sdata:0x801D335C; // type:object size:0x6 scope:local data:string +lbl_801D3362 = .sdata:0x801D3362; // type:object size:0x6 scope:local data:string +lbl_801D3368 = .sdata:0x801D3368; // type:object size:0x6 scope:local data:string +lbl_801D336E = .sdata:0x801D336E; // type:object size:0x6 scope:local data:string +lbl_801D3374 = .sdata:0x801D3374; // type:object size:0x6 scope:local data:string +lbl_801D337A = .sdata:0x801D337A; // type:object size:0xE scope:local lbl_801D3388 = .sdata:0x801D3388; // type:object size:0x8 data:2byte lbl_801D3390 = .sdata:0x801D3390; // type:object size:0x8 data:4byte lbl_801D3398 = .sdata:0x801D3398; // type:object size:0x8 data:byte @@ -5212,43 +5221,43 @@ curSlotNo = .sbss:0x801D3B68; // type:object size:0x2 data:2byte curBoxNo = .sbss:0x801D3B6A; // type:object size:0x1 data:byte saveExecF = .sbss:0x801D3B6C; // type:object size:0x4 SLSerialNo = .sbss:0x801D3B70; // type:object size:0x8 data:4byte -lbl_801D3B78 = .sbss:0x801D3B78; // type:object size:0x4 data:4byte -lbl_801D3B7C = .sbss:0x801D3B7C; // type:object size:0x4 data:4byte -lbl_801D3B80 = .sbss:0x801D3B80; // type:object size:0x4 data:4byte -lbl_801D3B84 = .sbss:0x801D3B84; // type:object size:0x4 data:4byte -lbl_801D3B88 = .sbss:0x801D3B88; // type:object size:0x4 data:4byte -lbl_801D3B8C = .sbss:0x801D3B8C; // type:object size:0x2 data:2byte -lbl_801D3B8E = .sbss:0x801D3B8E; // type:object size:0x2 data:2byte -lbl_801D3B90 = .sbss:0x801D3B90; // type:object size:0x4 data:4byte -lbl_801D3B94 = .sbss:0x801D3B94; // type:object size:0x4 data:4byte -lbl_801D3B98 = .sbss:0x801D3B98; // type:object size:0x4 data:4byte -lbl_801D3B9C = .sbss:0x801D3B9C; // type:object size:0x4 data:4byte -lbl_801D3BA0 = .sbss:0x801D3BA0; // type:object size:0x4 data:4byte -lbl_801D3BA4 = .sbss:0x801D3BA4; // type:object size:0x4 data:4byte -lbl_801D3BA8 = .sbss:0x801D3BA8; // type:object size:0x4 data:4byte -lbl_801D3BAC = .sbss:0x801D3BAC; // type:object size:0x4 data:4byte -lbl_801D3BB0 = .sbss:0x801D3BB0; // type:object size:0x4 data:4byte -lbl_801D3BB4 = .sbss:0x801D3BB4; // type:object size:0x4 data:4byte -lbl_801D3BB8 = .sbss:0x801D3BB8; // type:object size:0x4 data:4byte -lbl_801D3BBC = .sbss:0x801D3BBC; // type:object size:0x4 data:4byte -lbl_801D3BC0 = .sbss:0x801D3BC0; // type:object size:0x4 data:4byte -lbl_801D3BC4 = .sbss:0x801D3BC4; // type:object size:0x4 data:4byte -lbl_801D3BC8 = .sbss:0x801D3BC8; // type:object size:0x4 data:4byte -lbl_801D3BCC = .sbss:0x801D3BCC; // type:object size:0x4 data:4byte -lbl_801D3BD0 = .sbss:0x801D3BD0; // type:object size:0x4 data:4byte -lbl_801D3BD4 = .sbss:0x801D3BD4; // type:object size:0x4 data:4byte -lbl_801D3BD8 = .sbss:0x801D3BD8; // type:object size:0x8 data:4byte -lbl_801D3BE0 = .sbss:0x801D3BE0; // type:object size:0x4 data:4byte -lbl_801D3BE4 = .sbss:0x801D3BE4; // type:object size:0x4 data:4byte -lbl_801D3BE8 = .sbss:0x801D3BE8; // type:object size:0x4 data:4byte -lbl_801D3BEC = .sbss:0x801D3BEC; // type:object size:0x4 data:4byte -lbl_801D3BF0 = .sbss:0x801D3BF0; // type:object size:0x4 data:4byte -lbl_801D3BF4 = .sbss:0x801D3BF4; // type:object size:0x4 data:4byte -lbl_801D3BF8 = .sbss:0x801D3BF8; // type:object size:0x8 -lbl_801D3C00 = .sbss:0x801D3C00; // type:object size:0x1 data:byte -lbl_801D3C04 = .sbss:0x801D3C04; // type:object size:0x1 data:byte -lbl_801D3C06 = .sbss:0x801D3C06; // type:object size:0x8 -lbl_801D3C0E = .sbss:0x801D3C0E; // type:object size:0xA +H_ResetReady = .sbss:0x801D3B78; // type:object size:0x4 scope:local data:4byte +SR_RestartChk = .sbss:0x801D3B7C; // type:object size:0x4 scope:local data:4byte +SR_ExecReset = .sbss:0x801D3B80; // type:object size:0x4 data:4byte +trychkBusyWait = .sbss:0x801D3B84; // type:object size:0x4 scope:local data:4byte +XfbProg = .sbss:0x801D3B88; // type:object size:0x4 scope:local data:4byte +XfbH = .sbss:0x801D3B8C; // type:object size:0x2 scope:local data:2byte +XfbW = .sbss:0x801D3B8E; // type:object size:0x2 scope:local data:2byte +boardMainProc = .sbss:0x801D3B90; // type:object size:0x4 data:4byte +boardObjMan = .sbss:0x801D3B94; // type:object size:0x4 data:4byte +cameraObj = .sbss:0x801D3B98; // type:object size:0x4 scope:local data:4byte +tauntObj = .sbss:0x801D3B9C; // type:object size:0x4 scope:local data:4byte +cameraUseBackup = .sbss:0x801D3BA0; // type:object size:0x4 scope:local data:4byte +createFunc = .sbss:0x801D3BA4; // type:object size:0x4 scope:local data:4byte +destroyFunc = .sbss:0x801D3BA8; // type:object size:0x4 scope:local data:4byte +boardLightSetHook = .sbss:0x801D3BAC; // type:object size:0x4 data:4byte +boardLightResetHook = .sbss:0x801D3BB0; // type:object size:0x4 data:4byte +boardTurnFunc = .sbss:0x801D3BB4; // type:object size:0x4 data:4byte +boardStarGiveHook = .sbss:0x801D3BB8; // type:object size:0x4 data:4byte +boardStarShowNextHook = .sbss:0x801D3BBC; // type:object size:0x4 data:4byte +boardBowserHook = .sbss:0x801D3BC0; // type:object size:0x4 data:4byte +boardTurnStartFunc = .sbss:0x801D3BC4; // type:object size:0x4 data:4byte +filterObj = .sbss:0x801D3BC8; // type:object size:0x4 scope:local data:4byte +confettiObj = .sbss:0x801D3BCC; // type:object size:0x4 scope:local data:4byte +last5GfxObj = .sbss:0x801D3BD0; // type:object size:0x4 scope:local data:4byte +boardRandSeed = .sbss:0x801D3BD4; // type:object size:0x4 data:4byte +boardMainObj = .sbss:0x801D3BD8; // type:object size:0x4 data:4byte +megaDoubleDiceF = .sbss:0x801D3BE0; // type:object size:0x4 scope:local data:4byte +bowserSuitObj = .sbss:0x801D3BE4; // type:object size:0x4 scope:local data:4byte +junctionMask = .sbss:0x801D3BE8; // type:object size:0x4 scope:local data:4byte +junctionObj = .sbss:0x801D3BEC; // type:object size:0x4 scope:local data:4byte +rollObj = .sbss:0x801D3BF0; // type:object size:0x4 scope:local data:4byte +moveAwayObj = .sbss:0x801D3BF4; // type:object size:0x4 scope:local data:4byte +junctionArrowRot = .sbss:0x801D3BF8; // type:object size:0x8 scope:local +moveAwayPlayer = .sbss:0x801D3C00; // type:object size:0x4 scope:local data:byte +itemPrev = .sbss:0x801D3C04; // type:object size:0x1 scope:local data:byte +playerMot = .sbss:0x801D3C06; // type:object size:0x8 scope:local +boardPlayerMdl = .sbss:0x801D3C0E; // type:object size:0xA lbl_801D3C18 = .sbss:0x801D3C18; // type:object size:0x4 data:4byte lbl_801D3C1C = .sbss:0x801D3C1C; // type:object size:0x4 data:4byte lbl_801D3C20 = .sbss:0x801D3C20; // type:object size:0x8 data:2byte @@ -5491,9 +5500,9 @@ lbl_801D3F60 = .sbss:0x801D3F60; // type:object size:0x1 data:byte lbl_801D3F61 = .sbss:0x801D3F61; // type:object size:0x1 data:byte lbl_801D3F62 = .sbss:0x801D3F62; // type:object size:0x1 data:byte lbl_801D3F64 = .sbss:0x801D3F64; // type:object size:0x4 data:4byte -lbl_801D3F68 = .sbss:0x801D3F68; // type:object size:0x2 data:2byte -lbl_801D3F6A = .sbss:0x801D3F6A; // type:object size:0x1 data:byte -lbl_801D3F6B = .sbss:0x801D3F6B; // type:object size:0x1 data:byte +boardTutorialDirInputTime = .sbss:0x801D3F68; // type:object size:0x2 data:2byte +boardTutorialDirInputY = .sbss:0x801D3F6A; // type:object size:0x1 data:byte +boardTutorialDirInputX = .sbss:0x801D3F6B; // type:object size:0x1 data:byte lbl_801D3F6C = .sbss:0x801D3F6C; // type:object size:0x4 data:4byte BootInfo = .sbss:0x801D3F70; // type:object size:0x4 scope:local data:4byte BI2DebugFlag = .sbss:0x801D3F74; // type:object size:0x4 scope:local data:4byte @@ -6223,64 +6232,64 @@ lbl_801D4E70 = .sdata2:0x801D4E70; // type:object size:0x8 scope:local data:doub lbl_801D4E78 = .sdata2:0x801D4E78; // type:object size:0x4 scope:local data:float lbl_801D4E7C = .sdata2:0x801D4E7C; // type:object size:0x4 scope:local data:float lbl_801D4E80 = .sdata2:0x801D4E80; // type:object size:0x4 scope:local data:float -lbl_801D4E84 = .sdata2:0x801D4E84; // type:object size:0x4 data:float -lbl_801D4E88 = .sdata2:0x801D4E88; // type:object size:0x4 data:float -lbl_801D4E8C = .sdata2:0x801D4E8C; // type:object size:0x4 data:float -lbl_801D4E90 = .sdata2:0x801D4E90; // type:object size:0x4 data:float -lbl_801D4E94 = .sdata2:0x801D4E94; // type:object size:0x4 data:float -lbl_801D4E98 = .sdata2:0x801D4E98; // type:object size:0x4 data:float -lbl_801D4E9C = .sdata2:0x801D4E9C; // type:object size:0x4 data:float -lbl_801D4EA0 = .sdata2:0x801D4EA0; // type:object size:0x4 data:float -lbl_801D4EA4 = .sdata2:0x801D4EA4; // type:object size:0x4 data:float -lbl_801D4EA8 = .sdata2:0x801D4EA8; // type:object size:0x4 data:float -lbl_801D4EAC = .sdata2:0x801D4EAC; // type:object size:0x4 data:float -lbl_801D4EB0 = .sdata2:0x801D4EB0; // type:object size:0x4 data:float -lbl_801D4EB4 = .sdata2:0x801D4EB4; // type:object size:0x4 data:float -lbl_801D4EB8 = .sdata2:0x801D4EB8; // type:object size:0x4 data:float -lbl_801D4EBC = .sdata2:0x801D4EBC; // type:object size:0x4 data:float -lbl_801D4EC0 = .sdata2:0x801D4EC0; // type:object size:0x4 data:float -lbl_801D4EC4 = .sdata2:0x801D4EC4; // type:object size:0x4 data:float -lbl_801D4EC8 = .sdata2:0x801D4EC8; // type:object size:0x4 data:float -lbl_801D4ECC = .sdata2:0x801D4ECC; // type:object size:0x4 data:float -lbl_801D4ED0 = .sdata2:0x801D4ED0; // type:object size:0x4 data:float -lbl_801D4ED8 = .sdata2:0x801D4ED8; // type:object size:0x8 data:double -lbl_801D4EE0 = .sdata2:0x801D4EE0; // type:object size:0x8 data:double -lbl_801D4EE8 = .sdata2:0x801D4EE8; // type:object size:0x4 data:float -lbl_801D4EF0 = .sdata2:0x801D4EF0; // type:object size:0x8 data:double -lbl_801D4EF8 = .sdata2:0x801D4EF8; // type:object size:0x4 data:float -lbl_801D4F00 = .sdata2:0x801D4F00; // type:object size:0x8 data:double -lbl_801D4F08 = .sdata2:0x801D4F08; // type:object size:0x4 data:float -lbl_801D4F0C = .sdata2:0x801D4F0C; // type:object size:0x4 data:float -lbl_801D4F10 = .sdata2:0x801D4F10; // type:object size:0x4 data:float -lbl_801D4F14 = .sdata2:0x801D4F14; // type:object size:0x4 data:float -lbl_801D4F18 = .sdata2:0x801D4F18; // type:object size:0x8 data:double -lbl_801D4F20 = .sdata2:0x801D4F20; // type:object size:0x8 data:double -lbl_801D4F28 = .sdata2:0x801D4F28; // type:object size:0x4 data:float -lbl_801D4F2C = .sdata2:0x801D4F2C; // type:object size:0x4 data:float -lbl_801D4F30 = .sdata2:0x801D4F30; // type:object size:0x4 data:float -lbl_801D4F34 = .sdata2:0x801D4F34; // type:object size:0x4 data:float -lbl_801D4F38 = .sdata2:0x801D4F38; // type:object size:0x4 data:float -lbl_801D4F3C = .sdata2:0x801D4F3C; // type:object size:0x4 data:float -lbl_801D4F40 = .sdata2:0x801D4F40; // type:object size:0x4 data:float -lbl_801D4F44 = .sdata2:0x801D4F44; // type:object size:0x4 data:float -lbl_801D4F48 = .sdata2:0x801D4F48; // type:object size:0x4 data:float -lbl_801D4F4C = .sdata2:0x801D4F4C; // type:object size:0x4 data:float -lbl_801D4F50 = .sdata2:0x801D4F50; // type:object size:0x4 data:float -lbl_801D4F54 = .sdata2:0x801D4F54; // type:object size:0x4 data:float -lbl_801D4F58 = .sdata2:0x801D4F58; // type:object size:0x4 data:float -lbl_801D4F5C = .sdata2:0x801D4F5C; // type:object size:0x4 data:float -lbl_801D4F60 = .sdata2:0x801D4F60; // type:object size:0x4 data:4byte -lbl_801D4F64 = .sdata2:0x801D4F64; // type:object size:0x4 data:4byte -lbl_801D4F68 = .sdata2:0x801D4F68; // type:object size:0x4 data:float -lbl_801D4F6C = .sdata2:0x801D4F6C; // type:object size:0x4 data:float -lbl_801D4F70 = .sdata2:0x801D4F70; // type:object size:0x4 data:float -lbl_801D4F74 = .sdata2:0x801D4F74; // type:object size:0x4 data:float -lbl_801D4F78 = .sdata2:0x801D4F78; // type:object size:0x4 data:float -lbl_801D4F7C = .sdata2:0x801D4F7C; // type:object size:0x4 data:float -lbl_801D4F80 = .sdata2:0x801D4F80; // type:object size:0x4 data:float -lbl_801D4F84 = .sdata2:0x801D4F84; // type:object size:0x4 data:float -lbl_801D4F88 = .sdata2:0x801D4F88; // type:object size:0x4 data:float -lbl_801D4F8C = .sdata2:0x801D4F8C; // type:object size:0x2 data:2byte +lbl_801D4E84 = .sdata2:0x801D4E84; // type:object size:0x4 scope:local data:float +lbl_801D4E88 = .sdata2:0x801D4E88; // type:object size:0x4 scope:local data:float +lbl_801D4E8C = .sdata2:0x801D4E8C; // type:object size:0x4 scope:local data:float +lbl_801D4E90 = .sdata2:0x801D4E90; // type:object size:0x4 scope:local data:float +lbl_801D4E94 = .sdata2:0x801D4E94; // type:object size:0x4 scope:local data:float +lbl_801D4E98 = .sdata2:0x801D4E98; // type:object size:0x4 scope:local data:float +lbl_801D4E9C = .sdata2:0x801D4E9C; // type:object size:0x4 scope:local data:float +lbl_801D4EA0 = .sdata2:0x801D4EA0; // type:object size:0x4 scope:local data:float +lbl_801D4EA4 = .sdata2:0x801D4EA4; // type:object size:0x4 scope:local data:float +lbl_801D4EA8 = .sdata2:0x801D4EA8; // type:object size:0x4 scope:local data:float +lbl_801D4EAC = .sdata2:0x801D4EAC; // type:object size:0x4 scope:local data:float +lbl_801D4EB0 = .sdata2:0x801D4EB0; // type:object size:0x4 scope:local data:float +lbl_801D4EB4 = .sdata2:0x801D4EB4; // type:object size:0x4 scope:local data:float +lbl_801D4EB8 = .sdata2:0x801D4EB8; // type:object size:0x4 scope:local data:float +lbl_801D4EBC = .sdata2:0x801D4EBC; // type:object size:0x4 scope:local data:float +lbl_801D4EC0 = .sdata2:0x801D4EC0; // type:object size:0x4 scope:local data:float +lbl_801D4EC4 = .sdata2:0x801D4EC4; // type:object size:0x4 scope:local data:float +lbl_801D4EC8 = .sdata2:0x801D4EC8; // type:object size:0x4 scope:local data:float +lbl_801D4ECC = .sdata2:0x801D4ECC; // type:object size:0x4 scope:local data:float +lbl_801D4ED0 = .sdata2:0x801D4ED0; // type:object size:0x4 scope:local data:float +lbl_801D4ED8 = .sdata2:0x801D4ED8; // type:object size:0x8 scope:local data:double +lbl_801D4EE0 = .sdata2:0x801D4EE0; // type:object size:0x8 scope:local data:double +lbl_801D4EE8 = .sdata2:0x801D4EE8; // type:object size:0x4 scope:local data:float +lbl_801D4EF0 = .sdata2:0x801D4EF0; // type:object size:0x8 scope:local data:double +lbl_801D4EF8 = .sdata2:0x801D4EF8; // type:object size:0x4 scope:local data:float +lbl_801D4F00 = .sdata2:0x801D4F00; // type:object size:0x8 scope:local data:double +lbl_801D4F08 = .sdata2:0x801D4F08; // type:object size:0x4 scope:local data:float +lbl_801D4F0C = .sdata2:0x801D4F0C; // type:object size:0x4 scope:local data:float +lbl_801D4F10 = .sdata2:0x801D4F10; // type:object size:0x4 scope:local data:float +lbl_801D4F14 = .sdata2:0x801D4F14; // type:object size:0x4 scope:local data:float +lbl_801D4F18 = .sdata2:0x801D4F18; // type:object size:0x8 scope:local data:double +lbl_801D4F20 = .sdata2:0x801D4F20; // type:object size:0x8 scope:local data:double +lbl_801D4F28 = .sdata2:0x801D4F28; // type:object size:0x4 scope:local data:float +lbl_801D4F2C = .sdata2:0x801D4F2C; // type:object size:0x4 scope:local data:float +lbl_801D4F30 = .sdata2:0x801D4F30; // type:object size:0x4 scope:local data:float +lbl_801D4F34 = .sdata2:0x801D4F34; // type:object size:0x4 scope:local data:float +lbl_801D4F38 = .sdata2:0x801D4F38; // type:object size:0x4 scope:local data:float +lbl_801D4F3C = .sdata2:0x801D4F3C; // type:object size:0x4 scope:local data:float +lbl_801D4F40 = .sdata2:0x801D4F40; // type:object size:0x4 scope:local data:float +lbl_801D4F44 = .sdata2:0x801D4F44; // type:object size:0x4 scope:local data:float +lbl_801D4F48 = .sdata2:0x801D4F48; // type:object size:0x4 scope:local data:float +lbl_801D4F4C = .sdata2:0x801D4F4C; // type:object size:0x4 scope:local data:float +lbl_801D4F50 = .sdata2:0x801D4F50; // type:object size:0x4 scope:local data:float +lbl_801D4F54 = .sdata2:0x801D4F54; // type:object size:0x4 scope:local data:float +lbl_801D4F58 = .sdata2:0x801D4F58; // type:object size:0x4 scope:local data:float +lbl_801D4F5C = .sdata2:0x801D4F5C; // type:object size:0x4 scope:local data:float +lbl_801D4F60 = .sdata2:0x801D4F60; // type:object size:0x4 scope:local data:4byte +lbl_801D4F64 = .sdata2:0x801D4F64; // type:object size:0x4 scope:local data:4byte +lbl_801D4F68 = .sdata2:0x801D4F68; // type:object size:0x4 scope:local data:float +lbl_801D4F6C = .sdata2:0x801D4F6C; // type:object size:0x4 scope:local data:float +lbl_801D4F70 = .sdata2:0x801D4F70; // type:object size:0x4 scope:local data:float +lbl_801D4F74 = .sdata2:0x801D4F74; // type:object size:0x4 scope:local data:float +lbl_801D4F78 = .sdata2:0x801D4F78; // type:object size:0x4 scope:local data:float +lbl_801D4F7C = .sdata2:0x801D4F7C; // type:object size:0x4 scope:local data:float +lbl_801D4F80 = .sdata2:0x801D4F80; // type:object size:0x4 scope:local data:float +lbl_801D4F84 = .sdata2:0x801D4F84; // type:object size:0x4 scope:local data:float +lbl_801D4F88 = .sdata2:0x801D4F88; // type:object size:0x4 scope:local data:float +lbl_801D4F8C = .sdata2:0x801D4F8C; // type:object size:0x2 scope:local data:2byte lbl_801D4F8E = .sdata2:0x801D4F8E; // type:object size:0x2 data:2byte lbl_801D4F90 = .sdata2:0x801D4F90; // type:object size:0x2 data:2byte lbl_801D4F92 = .sdata2:0x801D4F92; // type:object size:0x2 data:2byte diff --git a/configure.py b/configure.py index 675c7809..aa1b0b54 100644 --- a/configure.py +++ b/configure.py @@ -423,8 +423,8 @@ config.libs = [ Object(Matching, "game/flag.c"), Object(Matching, "game/saveload.c"), Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/sreset.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/main.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/player.c"), + Object(Matching, "game/board/main.c"), + Object(Matching, "game/board/player.c"), Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/model.c"), Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/window.c"), Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "game/board/audio.c"), diff --git a/src/game/board/main.c b/src/game/board/main.c index eaa31aa0..a1a904e3 100644 --- a/src/game/board/main.c +++ b/src/game/board/main.c @@ -1988,11 +1988,15 @@ void BoardLast5GfxInit(void) } else { prio = 1400; } +#if !VERSION_JPN spr_file = last5GfxSprTbl[i]; if(i == 2 && work->is_last && GWLanguageGet() != 0) { spr_file = DATA_MAKE_NUM(DATADIR_BOARD, 98); } BoardSpriteCreate(spr_file, prio, NULL, &work->sprites[i]); +#else + BoardSpriteCreate(last5GfxSprTbl[i], prio, NULL, &work->sprites[i]); +#endif HuSprGrpMemberSet(work->group, i, work->sprites[i]); HuSprAttrSet(work->group, i, HUSPR_ATTR_LINEAR); HuSprPosSet(work->group, i, last5GfxPosTbl[lastF][i][0], last5GfxPosTbl[lastF][i][1]); @@ -2203,4 +2207,4 @@ void BoardDataAsyncWait(s32 status) while(!HuDataGetAsyncStat(status)) { HuPrcVSleep(); } -} \ No newline at end of file +} diff --git a/src/game/board/player.c b/src/game/board/player.c index 6f57f1ea..c73efa85 100644 --- a/src/game/board/player.c +++ b/src/game/board/player.c @@ -137,6 +137,18 @@ static s32 bowserSuitCharMdlTbl[] = { static s32 bowserSuitMotTbl[] = { DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 0x19), DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 0x1A), DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 0x1B), DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 0x1E), DATA_MAKE_NUM(DATADIR_BKOOPASUIT, 0x1F) }; +#if VERSION_JPN +static s32 sparkMotTbl[] = { + DATA_MAKE_NUM(DATADIR_BOARD, 0x94), + DATA_MAKE_NUM(DATADIR_BOARD, 0x95), + DATA_MAKE_NUM(DATADIR_BOARD, 0x96), + DATA_MAKE_NUM(DATADIR_BOARD, 0x97), + DATA_MAKE_NUM(DATADIR_BOARD, 0x98), + DATA_MAKE_NUM(DATADIR_BOARD, 0x99), + DATA_MAKE_NUM(DATADIR_BOARD, 0x9A), + DATA_MAKE_NUM(DATADIR_BOARD, 0x9B), +}; +#else static s32 sparkMotTbl[] = { DATA_MAKE_NUM(DATADIR_BOARD, 0x95), DATA_MAKE_NUM(DATADIR_BOARD, 0x96), @@ -147,6 +159,7 @@ static s32 sparkMotTbl[] = { DATA_MAKE_NUM(DATADIR_BOARD, 0x9B), DATA_MAKE_NUM(DATADIR_BOARD, 0x9C), }; +#endif static s32 boardSparkSfxTbl[] = { 0x128, @@ -2499,7 +2512,7 @@ static s32 DoSparkSpace(s32 player, s32 pause_cam) BoardCameraMotionWait(); BoardCameraTargetPlayerSet(player); BoardPlayerIdleSet(player); - temp_r28 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x74), NULL, 0); + temp_r28 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, VERSION_JPN ? 0x73 : 0x74), NULL, 0); BoardModelMotionStart(temp_r28, 0, 0x40000002); BoardModelMotionTimeSet(temp_r28, 30.0f); BoardModelAttrSet(temp_r28, 0x40000002); @@ -2507,7 +2520,7 @@ static s32 DoSparkSpace(s32 player, s32 pause_cam) BoardModelScaleSet(temp_r28, 2.0f, 2.0f, 2.0f); BoardModelVisibilitySet(temp_r28, 0); BoardModelLayerSet(temp_r28, 1); - sp2E = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x67), NULL, 0); + sp2E = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, VERSION_JPN ? 0x66 : 0x67), NULL, 0); BoardModelLayerSet(sp2E, 1); BoardModelMotionStart(sp2E, 0, 0); HuAudFXPlay(796); diff --git a/src/game/sreset.c b/src/game/sreset.c index 2ddadd51..44679b73 100644 --- a/src/game/sreset.c +++ b/src/game/sreset.c @@ -22,7 +22,11 @@ extern s32 HuDvdErrWait; static s32 SR_PreRstChk[4] = {}; -#if VERSION_NTSC +#if VERSION_JPN +static s32 padding[4] = {}; +#endif + +#if VERSION_ENG #include "coveropen_en.inc" #include "fatalerror_en.inc" @@ -31,7 +35,7 @@ static s32 SR_PreRstChk[4] = {}; #include "retryerror_en.inc" #include "wrongdisc_en.inc" -#else +#elif VERSION_PAL #include "coveropen_en.inc" #include "fatalerror_en.inc" @@ -68,6 +72,15 @@ static s32 SR_PreRstChk[4] = {}; #include "retryerror_sp.inc" #include "wrongdisc_sp.inc" +#else + +#include "coveropen_jp.inc" +#include "fatalerror_jp.inc" +#include "loading_jp.inc" +#include "nodisc_jp.inc" +#include "retryerror_jp.inc" +#include "wrongdisc_jp.inc" + #endif static s16 SR_PushTime[4] = {}; @@ -287,11 +300,11 @@ static void ToeDispCheck(void) static void _HuDvdErrDispXFB(s32 error) { - #if VERSION_NTSC + #if VERSION_ENG static void *bmpMes[][6] = { - loading_en, coveropen_en, nodisc_en, wrongdisc_en, retryerror_en, fatalerror_en + loading_en, coveropen_en, nodisc_en, wrongdisc_en, retryerror_en, fatalerror_en }; - #else + #elif VERSION_PAL static void *bmpMes[][6] = { loading_en, coveropen_en, nodisc_en, wrongdisc_en, retryerror_en, fatalerror_en, loading_fr, coveropen_fr, nodisc_fr, wrongdisc_fr, retryerror_fr, fatalerror_fr, @@ -299,6 +312,10 @@ static void _HuDvdErrDispXFB(s32 error) loading_it, coveropen_it, nodisc_it, wrongdisc_it, retryerror_it, fatalerror_it, loading_sp, coveropen_sp, nodisc_sp, wrongdisc_sp, retryerror_sp, fatalerror_sp }; + #else + static void *bmpMes[][6] = { + loading_jp, coveropen_jp, nodisc_jp, wrongdisc_jp, retryerror_jp, fatalerror_jp + }; #endif s16 *bmpData; @@ -524,4 +541,4 @@ static void HuSoftResetPostProc(void) HuPadRumbleAllStop(); SR_ExecReset = TRUE; } -} \ No newline at end of file +}