From 9c3ad6ccfe28d7997b7c31faf5382e78dfa6241a Mon Sep 17 00:00:00 2001 From: gamemasterplc Date: Sat, 16 Nov 2024 09:49:45 -0600 Subject: [PATCH] More board PAL ports --- config/GMPE01_00/symbols.txt | 6 +- config/GMPP01_00/config.yml | 2 +- config/GMPP01_00/splits.txt | 116 ++++ config/GMPP01_00/symbols.txt | 1187 +++++++++++++++++----------------- config/GMPP01_02/config.yml | 2 +- configure.py | 28 +- include/game/board/window.h | 1 + src/game/board/char_wheel.c | 19 + src/game/board/item.c | 4 +- src/game/board/roll.c | 107 +-- src/game/board/shop.c | 27 +- src/game/board/star.c | 28 +- src/game/board/ui.c | 22 +- 13 files changed, 886 insertions(+), 663 deletions(-) diff --git a/config/GMPE01_00/symbols.txt b/config/GMPE01_00/symbols.txt index 889f9a19..63e036f3 100644 --- a/config/GMPE01_00/symbols.txt +++ b/config/GMPE01_00/symbols.txt @@ -3611,8 +3611,8 @@ pickSpr = .rodata:0x8011DFD0; // type:object size:0x20 scope:local handMdl = .rodata:0x8011DFF0; // type:object size:0x20 scope:local ticketSpr = .rodata:0x8011E010; // type:object size:0x10 scope:local lbl_8011E020 = .rodata:0x8011E020; // type:object size:0x20 data:4byte -lbl_8011E040 = .rodata:0x8011E040; // type:object size:0x24 -lbl_8011E064 = .rodata:0x8011E064; // type:object size:0x4C +starMesTbl1 = .rodata:0x8011E040; // type:object size:0x24 scope:local +starMesTbl2 = .rodata:0x8011E064; // type:object size:0x48 scope:local lbl_8011E0B0 = .rodata:0x8011E0B0; // type:object size:0x10 data:4byte lbl_8011E0C0 = .rodata:0x8011E0C0; // type:object size:0x54 data:4byte lbl_8011E118 = .rodata:0x8011E118; // type:object size:0x38 data:4byte @@ -5005,7 +5005,7 @@ itemPickupMdlId = .sdata:0x801D3790; // type:object size:0x2 scope:local data:2b yourTurnSprGrp = .sdata:0x801D3792; // type:object size:0x2 scope:local data:2byte jumpMot = .sdata:0x801D3798; // type:object size:0x2 scope:local data:2byte starMdl = .sdata:0x801D379A; // type:object size:0x2 scope:local data:2byte -lbl_801D37A0 = .sdata:0x801D37A0; // type:object size:0x8 +itemMotTbl = .sdata:0x801D37A0; // type:object size:0x8 scope:local lbl_801D37A8 = .sdata:0x801D37A8; // type:object size:0x8 jumpMot = .sdata:0x801D37B0; // type:object size:0x2 scope:local data:2byte scareMot = .sdata:0x801D37B2; // type:object size:0x2 scope:local data:2byte diff --git a/config/GMPP01_00/config.yml b/config/GMPP01_00/config.yml index f54fa822..352ced1a 100644 --- a/config/GMPP01_00/config.yml +++ b/config/GMPP01_00/config.yml @@ -5,7 +5,7 @@ symbols: config/GMPP01_00/symbols.txt splits: config/GMPP01_00/splits.txt quick_analysis: false # Faster re-runs after initial analysis mw_comment_version: 10 # GC 2.6 linker -force_active: [__register_global_object] +force_active: [__register_global_object, lbl_801D40D0] detect_objects: true detect_strings: true diff --git a/config/GMPP01_00/splits.txt b/config/GMPP01_00/splits.txt index a23be990..dad1284d 100644 --- a/config/GMPP01_00/splits.txt +++ b/config/GMPP01_00/splits.txt @@ -376,3 +376,119 @@ game/board/space.c: .sdata start:0x801F0AA8 end:0x801F0AB0 .sbss start:0x801F1368 end:0x801F13A0 .sdata2 start:0x801F2780 end:0x801F2800 + +game/board/shop.c: + .text start:0x80077888 end:0x8007A6B4 + .data start:0x80157090 end:0x80157210 + .bss start:0x801C1E00 end:0x801C1E30 + .sdata start:0x801F0AB0 end:0x801F0AD0 + .sbss start:0x801F13A0 end:0x801F13C0 + .sdata2 start:0x801F2800 end:0x801F28D8 + +game/board/lottery.c: + .text start:0x8007A6B4 end:0x8007F9C8 + .rodata start:0x8011DD10 end:0x8011DE40 + .data start:0x80157210 end:0x80157578 + .bss start:0x801C1E30 end:0x801C1E60 + .sdata start:0x801F0AD0 end:0x801F0AF0 + .sbss start:0x801F13C0 end:0x801F13E0 + .sdata2 start:0x801F28D8 end:0x801F2A68 + +game/board/basic_space.c: + .text start:0x8007F9C8 end:0x80080BCC + .data start:0x80157578 end:0x801575B0 + .sdata2 start:0x801F2A68 end:0x801F2AF8 + +game/board/warp.c: + .text start:0x80080BCC end:0x80081544 + .rodata start:0x8011DE40 end:0x8011DE60 + .data start:0x801575B0 end:0x801575D0 + .bss start:0x801C1E60 end:0x801C1E70 + .sdata start:0x801F0AF0 end:0x801F0B00 + .sbss start:0x801F13E0 end:0x801F13F8 + .sdata2 start:0x801F2AF8 end:0x801F2B48 + +game/board/char_wheel.c: + .text start:0x80081544 end:0x80082B3C + .data start:0x801575D0 end:0x80157638 + .sdata start:0x801F0B00 end:0x801F0B08 + .sbss start:0x801F13F8 end:0x801F1418 + .sdata2 start:0x801F2B48 end:0x801F2BD8 + +game/board/mushroom.c: + .text start:0x80082B3C end:0x80083D88 + .sdata start:0x801F0B08 end:0x801F0B18 + .sbss start:0x801F1418 end:0x801F1428 + .sdata2 start:0x801F2BD8 end:0x801F2C60 + +game/board/star.c: + .text start:0x80083D88 end:0x80085B74 + .rodata start:0x8011DE60 end:0x8011DED0 + .data start:0x80157638 end:0x801576F0 + .bss start:0x801C1E70 end:0x801C1E80 + .sdata start:0x801F0B18 end:0x801F0B20 + .sbss start:0x801F1428 end:0x801F1440 + .sdata2 start:0x801F2C60 end:0x801F2D00 + +game/board/roll.c: + .text start:0x80085B74 end:0x800882B4 + .rodata start:0x8011DED0 end:0x8011DF38 + .data start:0x801576F0 end:0x80157790 + .bss start:0x801C1E80 end:0x801C1E90 + .sdata start:0x801F0B20 end:0x801F0B38 + .sbss start:0x801F1440 end:0x801F1460 + .sdata2 start:0x801F2D00 end:0x801F2DB0 + +game/board/ui.c: + .text start:0x800882B4 end:0x8008DE88 + .rodata start:0x8011DF38 end:0x8011E020 + .data start:0x80157790 end:0x80157990 + .bss start:0x801C1E90 end:0x801C1F20 + .sdata start:0x801F0B38 end:0x801F0B40 + .sbss start:0x801F1460 end:0x801F1498 + .sdata2 start:0x801F2DB0 end:0x801F2E70 + +game/board/block.c: + .text start:0x8008DE88 end:0x8008ED48 + .rodata start:0x8011E020 end:0x8011E040 + .data start:0x80157990 end:0x801579A8 + .bss start:0x801C1F20 end:0x801C1F48 + .sdata start:0x801F0B40 end:0x801F0B48 + .sbss start:0x801F1498 end:0x801F14B0 + .sdata2 start:0x801F2E70 end:0x801F2EC8 + +game/board/item.c: + .text start:0x8008ED48 end:0x800974CC + .rodata start:0x8011E040 end:0x8011E058 + .data start:0x801579A8 end:0x80157D98 + .bss start:0x801C1F48 end:0x801C1F88 + .sdata start:0x801F0B48 end:0x801F0B58 + .sbss start:0x801F14B0 end:0x801F14F0 + .sdata2 start:0x801F2EC8 end:0x801F3100 + +game/board/bowser.c: + .text start:0x800974CC end:0x8009B3F4 + .rodata start:0x8011E058 end:0x8011E120 + .data start:0x80157D98 end:0x80157DE8 + .bss start:0x801C1F88 end:0x801C1FD0 + .sdata start:0x801F0B58 end:0x801F0B70 + .sbss start:0x801F14F0 end:0x801F1530 + .sdata2 start:0x801F3100 end:0x801F31B0 + +game/board/battle.c: + .text start:0x8009B3F4 end:0x8009D068 + .rodata start:0x8011E120 end:0x8011E1A0 + .data start:0x80157DE8 end:0x80157E98 + .bss start:0x801C1FD0 end:0x801C1FE0 + .sdata start:0x801F0B70 end:0x801F0B78 + .sbss start:0x801F1530 end:0x801F1558 + .sdata2 start:0x801F31B0 end:0x801F3258 + +game/board/fortune.c: + .text start:0x8009D068 end:0x8009DEF0 + .rodata start:0x8011E1A0 end:0x8011E1C8 + .data start:0x80157E98 end:0x80157EB0 + .bss start:0x801C1FE0 end:0x801C1FF8 + .sdata start:0x801F0B78 end:0x801F0B80 + .sbss start:0x801F1558 end:0x801F1568 + .sdata2 start:0x801F3258 end:0x801F3268 diff --git a/config/GMPP01_00/symbols.txt b/config/GMPP01_00/symbols.txt index 27fb9696..faf05c99 100644 --- a/config/GMPP01_00/symbols.txt +++ b/config/GMPP01_00/symbols.txt @@ -1420,177 +1420,177 @@ BoardShopHostGet = .text:0x80077890; // type:function size:0x8 BoardShopInit = .text:0x80077898; // type:function size:0xD4 BoardShopKill = .text:0x8007796C; // type:function size:0xA0 BoardShopExec = .text:0x80077A0C; // type:function size:0x9C -fn_80077AA8 = .text:0x80077AA8; // type:function size:0x800 -fn_800782A8 = .text:0x800782A8; // type:function size:0xD4 -fn_8007837C = .text:0x8007837C; // type:function size:0x1B4 -fn_80078530 = .text:0x80078530; // type:function size:0xBC -fn_800785EC = .text:0x800785EC; // type:function size:0x13C -fn_80078728 = .text:0x80078728; // type:function size:0x314 -fn_80078A3C = .text:0x80078A3C; // type:function size:0x168 -fn_80078BA4 = .text:0x80078BA4; // type:function size:0x2C -fn_80078BD0 = .text:0x80078BD0; // type:function size:0x18C -fn_80078D5C = .text:0x80078D5C; // type:function size:0x168 -fn_80078EC4 = .text:0x80078EC4; // type:function size:0x34C -fn_80079210 = .text:0x80079210; // type:function size:0x144 -fn_80079354 = .text:0x80079354; // type:function size:0x6C -fn_800793C0 = .text:0x800793C0; // type:function size:0x280 -fn_80079640 = .text:0x80079640; // type:function size:0xA0 -fn_800796E0 = .text:0x800796E0; // type:function size:0x14C -fn_8007982C = .text:0x8007982C; // type:function size:0x1C8 -fn_800799F4 = .text:0x800799F4; // type:function size:0x60 -fn_80079A54 = .text:0x80079A54; // type:function size:0x158 -fn_80079BAC = .text:0x80079BAC; // type:function size:0x30 -fn_80079BDC = .text:0x80079BDC; // type:function size:0x238 -fn_80079E14 = .text:0x80079E14; // type:function size:0xC -fn_80079E20 = .text:0x80079E20; // type:function size:0x38 -fn_80079E58 = .text:0x80079E58; // type:function size:0x24C -fn_8007A0A4 = .text:0x8007A0A4; // type:function size:0x104 -fn_8007A1A8 = .text:0x8007A1A8; // type:function size:0x30 -fn_8007A1D8 = .text:0x8007A1D8; // type:function size:0x4DC -fn_8007A6B4 = .text:0x8007A6B4; // type:function size:0x8 -fn_8007A6BC = .text:0x8007A6BC; // type:function size:0x8 +ExecShop = .text:0x80077AA8; // type:function size:0x800 scope:local +DestroyShop = .text:0x800782A8; // type:function size:0xD4 scope:local +PopupShop = .text:0x8007837C; // type:function size:0x1B4 scope:local +CloseShop = .text:0x80078530; // type:function size:0xBC scope:local +CreateShopWin = .text:0x800785EC; // type:function size:0x13C scope:local +UpdateShopWin = .text:0x80078728; // type:function size:0x314 scope:local +SetShopWinItem = .text:0x80078A3C; // type:function size:0x168 scope:local +PauseShopWin = .text:0x80078BA4; // type:function size:0x2C scope:local +StartItemGive = .text:0x80078BD0; // type:function size:0x18C scope:local +ExecItemGive = .text:0x80078D5C; // type:function size:0x168 scope:local +MoveItemGive = .text:0x80078EC4; // type:function size:0x34C scope:local +ShrinkItemGive = .text:0x80079210; // type:function size:0x144 scope:local +WaitItemGive = .text:0x80079354; // type:function size:0x6C scope:local +GetShopItems = .text:0x800793C0; // type:function size:0x280 scope:local +GetDefaultShopItems = .text:0x80079640; // type:function size:0xA0 scope:local +SortShopItems = .text:0x800796E0; // type:function size:0x14C scope:local +DecideComEnter = .text:0x8007982C; // type:function size:0x1C8 scope:local +DecideComBuy = .text:0x800799F4; // type:function size:0x60 scope:local +GetComItemChoice = .text:0x80079A54; // type:function size:0x158 scope:local +WaitItemChoice = .text:0x80079BAC; // type:function size:0x30 scope:local +CreateShopItemChoice = .text:0x80079BDC; // type:function size:0x238 scope:local +GetShopItemChoice = .text:0x80079E14; // type:function size:0xC scope:local +GetShopItemWinChoice = .text:0x80079E20; // type:function size:0x38 scope:local +MoveShopItemChoice = .text:0x80079E58; // type:function size:0x24C scope:local +UpdateShopItemChoice = .text:0x8007A0A4; // type:function size:0x104 scope:local +GetShopItemChoiceInput = .text:0x8007A1A8; // type:function size:0x30 scope:local +BoardShopTutorialExec = .text:0x8007A1D8; // type:function size:0x4DC +BoardLotteryHostSet = .text:0x8007A6B4; // type:function size:0x8 +BoardLotteryHostGet = .text:0x8007A6BC; // type:function size:0x8 BoardLotteryExec = .text:0x8007A6C4; // type:function size:0x8C BoardLotteryInit = .text:0x8007A750; // type:function size:0x16C -fn_8007A8BC = .text:0x8007A8BC; // type:function size:0x3B4 -fn_8007AC70 = .text:0x8007AC70; // type:function size:0x1FC +CreateModel = .text:0x8007A8BC; // type:function size:0x3B4 scope:local +KillModel = .text:0x8007AC70; // type:function size:0x1FC scope:local BoardLotteryKill = .text:0x8007AE6C; // type:function size:0x64 -fn_8007AED0 = .text:0x8007AED0; // type:function size:0xB0 -fn_8007AF80 = .text:0x8007AF80; // type:function size:0x798 -fn_8007B718 = .text:0x8007B718; // type:function size:0x20C -fn_8007B924 = .text:0x8007B924; // type:function size:0x1BC -fn_8007BAE0 = .text:0x8007BAE0; // type:function size:0xF0 -fn_8007BBD0 = .text:0x8007BBD0; // type:function size:0x3C8 -fn_8007BF98 = .text:0x8007BF98; // type:function size:0x140 -fn_8007C0D8 = .text:0x8007C0D8; // type:function size:0x914 -fn_8007C9EC = .text:0x8007C9EC; // type:function size:0xC8 -fn_8007CAB4 = .text:0x8007CAB4; // type:function size:0x27C -fn_8007CD30 = .text:0x8007CD30; // type:function size:0x30C -fn_8007D03C = .text:0x8007D03C; // type:function size:0x3AC -fn_8007D3E8 = .text:0x8007D3E8; // type:function size:0x6C -fn_8007D454 = .text:0x8007D454; // type:function size:0x21C -fn_8007D670 = .text:0x8007D670; // type:function size:0x68 -fn_8007D6D8 = .text:0x8007D6D8; // type:function size:0x288 -fn_8007D960 = .text:0x8007D960; // type:function size:0x3DC -fn_8007DD3C = .text:0x8007DD3C; // type:function size:0x14C -fn_8007DE88 = .text:0x8007DE88; // type:function size:0xD0 -fn_8007DF58 = .text:0x8007DF58; // type:function size:0x160 -fn_8007E0B8 = .text:0x8007E0B8; // type:function size:0xA8 -fn_8007E160 = .text:0x8007E160; // type:function size:0x84 -fn_8007E1E4 = .text:0x8007E1E4; // type:function size:0x6B0 -fn_8007E894 = .text:0x8007E894; // type:function size:0x440 -fn_8007ECD4 = .text:0x8007ECD4; // type:function size:0x338 -fn_8007F00C = .text:0x8007F00C; // type:function size:0x68 -fn_8007F074 = .text:0x8007F074; // type:function size:0x4C0 -fn_8007F534 = .text:0x8007F534; // type:function size:0xA4 -fn_8007F5D8 = .text:0x8007F5D8; // type:function size:0xFC -fn_8007F6D4 = .text:0x8007F6D4; // type:function size:0x38 +DestroyLottery = .text:0x8007AED0; // type:function size:0xB0 scope:local +ExecLottery = .text:0x8007AF80; // type:function size:0x798 scope:local +DoMiniJumpUp = .text:0x8007B718; // type:function size:0x20C scope:local +DoMiniJumpDown = .text:0x8007B924; // type:function size:0x1BC scope:local +PayEnterFee = .text:0x8007BAE0; // type:function size:0xF0 scope:local +ShowTicket = .text:0x8007BBD0; // type:function size:0x3C8 scope:local +SetupTicket = .text:0x8007BF98; // type:function size:0x140 scope:local +ExecBallGame = .text:0x8007C0D8; // type:function size:0x914 scope:local +SetBallPrize = .text:0x8007C9EC; // type:function size:0xC8 scope:local +ExecBallPrize = .text:0x8007CAB4; // type:function size:0x27C scope:local +ExecScratchTicket = .text:0x8007CD30; // type:function size:0x30C scope:local +ExecScratch = .text:0x8007D03C; // type:function size:0x3AC scope:local +KillScratch = .text:0x8007D3E8; // type:function size:0x6C scope:local +ExecScratchSpr = .text:0x8007D454; // type:function size:0x21C scope:local +HideScratchSpr = .text:0x8007D670; // type:function size:0x68 scope:local +InitScratchSpr = .text:0x8007D6D8; // type:function size:0x288 scope:local +ExecScratchPick = .text:0x8007D960; // type:function size:0x3DC scope:local +InitScratchPick = .text:0x8007DD3C; // type:function size:0x14C scope:local +InitTicketPrizes = .text:0x8007DE88; // type:function size:0xD0 scope:local +ExecTicketFocus = .text:0x8007DF58; // type:function size:0x160 scope:local +ScratchTicketCheckDone = .text:0x8007E0B8; // type:function size:0xA8 scope:local +TicketGetPixel = .text:0x8007E160; // type:function size:0x84 scope:local +TicketUpdate = .text:0x8007E1E4; // type:function size:0x6B0 scope:local +ExecCoinPrize = .text:0x8007E894; // type:function size:0x440 scope:local +ExecItemPrize = .text:0x8007ECD4; // type:function size:0x338 scope:local +KillCoin = .text:0x8007F00C; // type:function size:0x68 scope:local +ExecPrize = .text:0x8007F074; // type:function size:0x4C0 scope:local +ExecLose = .text:0x8007F534; // type:function size:0xA4 scope:local +CreateLotteryWin = .text:0x8007F5D8; // type:function size:0xFC scope:local +KillLotteryWin = .text:0x8007F6D4; // type:function size:0x38 scope:local BoardLotteryTutorialExec = .text:0x8007F70C; // type:function size:0x2BC BoardLandBlueExec = .text:0x8007F9C8; // type:function size:0x184 BoardLandRedExec = .text:0x8007FB4C; // type:function size:0x19C BoardCoinChgCreate = .text:0x8007FCE8; // type:function size:0x1E8 BoardCoinChgExist = .text:0x8007FED0; // type:function size:0x6C BoardCoinChgHide = .text:0x8007FF3C; // type:function size:0x60 -fn_8007FF9C = .text:0x8007FF9C; // type:function size:0x23C -fn_800801D8 = .text:0x800801D8; // type:function size:0x198 -fn_80080370 = .text:0x80080370; // type:function size:0x1B8 -fn_80080528 = .text:0x80080528; // type:function size:0x29C -fn_800807C4 = .text:0x800807C4; // type:function size:0x1A8 -fn_8008096C = .text:0x8008096C; // type:function size:0x260 +CreateCoinChg = .text:0x8007FF9C; // type:function size:0x23C scope:local +UpdateCoinChg = .text:0x800801D8; // type:function size:0x198 scope:local +CoinChgAppear = .text:0x80080370; // type:function size:0x1B8 scope:local +CoinChgSeparate = .text:0x80080528; // type:function size:0x29C scope:local +CoinChgShow = .text:0x800807C4; // type:function size:0x1A8 scope:local +CoinChgDisappear = .text:0x8008096C; // type:function size:0x260 scope:local BoardWarpExec = .text:0x80080BCC; // type:function size:0xA4 -fn_80080C70 = .text:0x80080C70; // type:function size:0x250 -fn_80080EC0 = .text:0x80080EC0; // type:function size:0x5C -fn_80080F1C = .text:0x80080F1C; // type:function size:0x118 -fn_80081034 = .text:0x80081034; // type:function size:0xBC -fn_800810F0 = .text:0x800810F0; // type:function size:0x1B0 -fn_800812A0 = .text:0x800812A0; // type:function size:0xA4 -fn_80081344 = .text:0x80081344; // type:function size:0x200 -fn_80081544 = .text:0x80081544; // type:function size:0x11C -fn_80081660 = .text:0x80081660; // type:function size:0x34 -fn_80081694 = .text:0x80081694; // type:function size:0x50 -fn_800816E4 = .text:0x800816E4; // type:function size:0x18 -fn_800816FC = .text:0x800816FC; // type:function size:0x1C -fn_80081718 = .text:0x80081718; // type:function size:0x118 -fn_80081830 = .text:0x80081830; // type:function size:0x754 -fn_80081F84 = .text:0x80081F84; // type:function size:0x320 -fn_800822A4 = .text:0x800822A4; // type:function size:0x164 -fn_80082408 = .text:0x80082408; // type:function size:0x12C -fn_80082534 = .text:0x80082534; // type:function size:0x10C -fn_80082640 = .text:0x80082640; // type:function size:0x38 -fn_80082678 = .text:0x80082678; // type:function size:0xBC -fn_80082734 = .text:0x80082734; // type:function size:0x224 -fn_80082958 = .text:0x80082958; // type:function size:0x10 -fn_80082968 = .text:0x80082968; // type:function size:0x148 -fn_80082AB0 = .text:0x80082AB0; // type:function size:0x8C +WarpProcess = .text:0x80080C70; // type:function size:0x250 scope:local +WarpKill = .text:0x80080EC0; // type:function size:0x5C scope:local +WarpInit = .text:0x80080F1C; // type:function size:0x118 scope:local +WarpLaunch = .text:0x80081034; // type:function size:0xBC scope:local +WarpStartImpact = .text:0x800810F0; // type:function size:0x1B0 scope:local +WarpFall = .text:0x800812A0; // type:function size:0xA4 scope:local +WarpImpact = .text:0x80081344; // type:function size:0x200 scope:local +BoardCharWheelInit = .text:0x80081544; // type:function size:0x11C +BoardCharWheelCheck = .text:0x80081660; // type:function size:0x34 +BoardCharWheelWait = .text:0x80081694; // type:function size:0x50 +BoardCharWheelResultGet = .text:0x800816E4; // type:function size:0x18 +BoardCharWheelSpeedSet = .text:0x800816FC; // type:function size:0x1C +ExecCharWheel = .text:0x80081718; // type:function size:0x118 scope:local +InitCharWheel = .text:0x80081830; // type:function size:0x754 scope:local +UpdateCharWheel = .text:0x80081F84; // type:function size:0x320 scope:local +StopCharWheel = .text:0x800822A4; // type:function size:0x164 scope:local +GrowCharWheel = .text:0x80082408; // type:function size:0x12C scope:local +ShrinkCharWheel = .text:0x80082534; // type:function size:0x10C scope:local +KillCharWheelSpr = .text:0x80082640; // type:function size:0x38 scope:local +SetCharWheelChars = .text:0x80082678; // type:function size:0xBC scope:local +GetInput = .text:0x80082734; // type:function size:0x224 scope:local +BoardCharWheelTargetSet = .text:0x80082958; // type:function size:0x10 +GetComDelay = .text:0x80082968; // type:function size:0x148 scope:local +GetComInput = .text:0x80082AB0; // type:function size:0x8C scope:local BoardMushroomExec = .text:0x80082B3C; // type:function size:0xA4 -fn_80082BE0 = .text:0x80082BE0; // type:function size:0x38C -fn_80082F6C = .text:0x80082F6C; // type:function size:0x58 -fn_80082FC4 = .text:0x80082FC4; // type:function size:0x118 -fn_800830DC = .text:0x800830DC; // type:function size:0x114 -fn_800831F0 = .text:0x800831F0; // type:function size:0x160 -fn_80083350 = .text:0x80083350; // type:function size:0x68 -fn_800833B8 = .text:0x800833B8; // type:function size:0xD4 -fn_8008348C = .text:0x8008348C; // type:function size:0x2EC -fn_80083778 = .text:0x80083778; // type:function size:0x64 -fn_800837DC = .text:0x800837DC; // type:function size:0x34 -fn_80083810 = .text:0x80083810; // type:function size:0x54 -fn_80083864 = .text:0x80083864; // type:function size:0x34 -fn_80083898 = .text:0x80083898; // type:function size:0x5C -fn_800838F4 = .text:0x800838F4; // type:function size:0x58 -fn_8008394C = .text:0x8008394C; // type:function size:0x60 -fn_800839AC = .text:0x800839AC; // type:function size:0x240 -fn_80083BEC = .text:0x80083BEC; // type:function size:0xD4 -fn_80083CC0 = .text:0x80083CC0; // type:function size:0x38 -fn_80083CF8 = .text:0x80083CF8; // type:function size:0x48 -fn_80083D40 = .text:0x80083D40; // type:function size:0x48 +MushroomMain = .text:0x80082BE0; // type:function size:0x38C scope:local +KillMushroom = .text:0x80082F6C; // type:function size:0x58 scope:local +BoxMain = .text:0x80082FC4; // type:function size:0x118 scope:local +ShowBox = .text:0x800830DC; // type:function size:0x114 scope:local +ExitBox = .text:0x800831F0; // type:function size:0x160 scope:local +HideBox = .text:0x80083350; // type:function size:0x68 scope:local +CenterBox = .text:0x800833B8; // type:function size:0xD4 scope:local +InitBox = .text:0x8008348C; // type:function size:0x2EC scope:local +MarkKillBox = .text:0x80083778; // type:function size:0x64 scope:local +SetBoxHide = .text:0x800837DC; // type:function size:0x34 scope:local +SetBoxCenter = .text:0x80083810; // type:function size:0x54 scope:local +SetBoxShow = .text:0x80083864; // type:function size:0x34 scope:local +WaitBoxOpen = .text:0x80083898; // type:function size:0x5C scope:local +WaitBoxCenter = .text:0x800838F4; // type:function size:0x58 scope:local +CheckBox = .text:0x8008394C; // type:function size:0x60 scope:local +DoItemGive = .text:0x800839AC; // type:function size:0x240 scope:local +StartItemGive = .text:0x80083BEC; // type:function size:0xD4 scope:local +KillItemMdl = .text:0x80083CC0; // type:function size:0x38 scope:local +ShowItemMdl = .text:0x80083CF8; // type:function size:0x48 scope:local +WaitItemGive = .text:0x80083D40; // type:function size:0x48 scope:local BoardStarHostSet = .text:0x80083D88; // type:function size:0xA8 BoardStarHostMdlGet = .text:0x80083E30; // type:function size:0x8 BoardStarExec = .text:0x80083E38; // type:function size:0xCC -fn_80083F04 = .text:0x80083F04; // type:function size:0x8F4 -fn_800847F8 = .text:0x800847F8; // type:function size:0x84 -fn_8008487C = .text:0x8008487C; // type:function size:0x160 -fn_800849DC = .text:0x800849DC; // type:function size:0x144 -fn_80084B20 = .text:0x80084B20; // type:function size:0x10C -fn_80084C2C = .text:0x80084C2C; // type:function size:0x180 -fn_80084DAC = .text:0x80084DAC; // type:function size:0x204 -fn_80084FB0 = .text:0x80084FB0; // type:function size:0x38 -fn_80084FE8 = .text:0x80084FE8; // type:function size:0xB4 -fn_8008509C = .text:0x8008509C; // type:function size:0x40 -fn_800850DC = .text:0x800850DC; // type:function size:0x31C -fn_800853F8 = .text:0x800853F8; // type:function size:0x628 -fn_80085A20 = .text:0x80085A20; // type:function size:0x130 -fn_80085B50 = .text:0x80085B50; // type:function size:0x24 +ExecStar = .text:0x80083F04; // type:function size:0x8F4 scope:local +DestroyStar = .text:0x800847F8; // type:function size:0x84 scope:local +GiveStarMain = .text:0x8008487C; // type:function size:0x160 scope:local +UpdateStarAngle = .text:0x800849DC; // type:function size:0x144 scope:local +InitGiveStar = .text:0x80084B20; // type:function size:0x10C scope:local +MoveGiveStar = .text:0x80084C2C; // type:function size:0x180 scope:local +ShrinkGiveStar = .text:0x80084DAC; // type:function size:0x204 scope:local +StopGiveStar = .text:0x80084FB0; // type:function size:0x38 scope:local +InitGiveStarEffect = .text:0x80084FE8; // type:function size:0xB4 scope:local +KillGiveStarEffect = .text:0x8008509C; // type:function size:0x40 scope:local +BoardStarGive = .text:0x800850DC; // type:function size:0x31C +BoardStarShowNext = .text:0x800853F8; // type:function size:0x628 +ShowNextUpdate = .text:0x80085A20; // type:function size:0x130 scope:local +HideNextHost = .text:0x80085B50; // type:function size:0x24 scope:local BoardRollExec = .text:0x80085B74; // type:function size:0x1EC -fn_80085D60 = .text:0x80085D60; // type:function size:0x21C +RollWinCreate = .text:0x80085D60; // type:function size:0x21C scope:local BoardRollKill = .text:0x80085F7C; // type:function size:0x38 -fn_80085FB4 = .text:0x80085FB4; // type:function size:0x84 -fn_80086038 = .text:0x80086038; // type:function size:0x4C -fn_80086084 = .text:0x80086084; // type:function size:0x314 -fn_80086398 = .text:0x80086398; // type:function size:0x280 -fn_80086618 = .text:0x80086618; // type:function size:0x1C8 -fn_800867E0 = .text:0x800867E0; // type:function size:0x60 -fn_80086840 = .text:0x80086840; // type:function size:0x130 -fn_80086970 = .text:0x80086970; // type:function size:0x60 -fn_800869D0 = .text:0x800869D0; // type:function size:0x7E4 -fn_800871B4 = .text:0x800871B4; // type:function size:0x40 -fn_800871F4 = .text:0x800871F4; // type:function size:0x90 -fn_80087284 = .text:0x80087284; // type:function size:0xE0 -fn_80087364 = .text:0x80087364; // type:function size:0x84 -fn_800873E8 = .text:0x800873E8; // type:function size:0x94 -fn_8008747C = .text:0x8008747C; // type:function size:0x8C -fn_80087508 = .text:0x80087508; // type:function size:0x58 -fn_80087560 = .text:0x80087560; // type:function size:0xC0 -fn_80087620 = .text:0x80087620; // type:function size:0x200 -fn_80087820 = .text:0x80087820; // type:function size:0xAC -fn_800878CC = .text:0x800878CC; // type:function size:0x68 -fn_80087934 = .text:0x80087934; // type:function size:0xB4 -fn_800879E8 = .text:0x800879E8; // type:function size:0x390 -fn_80087D78 = .text:0x80087D78; // type:function size:0x110 -fn_80087E88 = .text:0x80087E88; // type:function size:0x248 -fn_800880D0 = .text:0x800880D0; // type:function size:0x110 -fn_800881E0 = .text:0x800881E0; // type:function size:0x88 -fn_80088268 = .text:0x80088268; // type:function size:0x4C -fn_800882B4 = .text:0x800882B4; // type:function size:0x90 -fn_80088344 = .text:0x80088344; // type:function size:0x98 +BoardRollUPauseSet = .text:0x80085FB4; // type:function size:0x84 +BoardRollWinDispSet = .text:0x80086038; // type:function size:0x4C +RollMain = .text:0x80086084; // type:function size:0x314 scope:local +DiceCreate = .text:0x80086398; // type:function size:0x280 scope:local +DoInput = .text:0x80086618; // type:function size:0x1C8 scope:local +DiceWaitFull = .text:0x800867E0; // type:function size:0x60 scope:local +DiceSetHit = .text:0x80086840; // type:function size:0x130 scope:local +RollDestroy = .text:0x80086970; // type:function size:0x60 scope:local +DiceMain = .text:0x800869D0; // type:function size:0x7E4 scope:local +DicePause = .text:0x800871B4; // type:function size:0x40 scope:local +DicePauseAll = .text:0x800871F4; // type:function size:0x90 scope:local +BoardDiceEffectCreate = .text:0x80087284; // type:function size:0xE0 +DiceHideEffect = .text:0x80087364; // type:function size:0x84 scope:local +BoardDicePauseAll = .text:0x800873E8; // type:function size:0x94 +BoardDiceDoneCheck = .text:0x8008747C; // type:function size:0x8C +BoardDiceStop = .text:0x80087508; // type:function size:0x58 +BoardDiceVisibleSet = .text:0x80087560; // type:function size:0xC0 +BoardDiceValueSet = .text:0x80087620; // type:function size:0x200 +DiceDigitMain = .text:0x80087820; // type:function size:0xAC scope:local +DiceDigitKill = .text:0x800878CC; // type:function size:0x68 scope:local +DiceKill = .text:0x80087934; // type:function size:0xB4 scope:local +DiceDigitMove = .text:0x800879E8; // type:function size:0x390 scope:local +DiceDigitRotate = .text:0x80087D78; // type:function size:0x110 scope:local +SameRollExec = .text:0x80087E88; // type:function size:0x248 scope:local +GetBtnRoll = .text:0x800880D0; // type:function size:0x110 scope:local +GetComBtnRoll = .text:0x800881E0; // type:function size:0x88 scope:local +BoardRollTutorialSet = .text:0x80088268; // type:function size:0x4C +BoardItemModelGet = .text:0x800882B4; // type:function size:0x90 +BoardItemNameGet = .text:0x80088344; // type:function size:0x98 BoardStatusStopCheck = .text:0x800883DC; // type:function size:0x48 BoardStatusVisibleGet = .text:0x80088424; // type:function size:0x1C BoardStatusShowSetAll = .text:0x80088440; // type:function size:0x48 @@ -1607,207 +1607,207 @@ BoardStatusHammerShowSet = .text:0x80088AA0; // type:function size:0x94 BoardStatusHammerKill = .text:0x80088B34; // type:function size:0x6C BoardStatusKill = .text:0x80088BA0; // type:function size:0x90 BoardStatusCreate = .text:0x80088C30; // type:function size:0x20C -fn_80088E3C = .text:0x80088E3C; // type:function size:0x98 -fn_80088ED4 = .text:0x80088ED4; // type:function size:0x36C +KillAllBoardStatus = .text:0x80088E3C; // type:function size:0x98 scope:local +CreateBoardStatusSprite = .text:0x80088ED4; // type:function size:0x36C scope:local BoardSpriteCreate = .text:0x80089240; // type:function size:0x8C -fn_800892CC = .text:0x800892CC; // type:function size:0x210 -fn_800894DC = .text:0x800894DC; // type:function size:0x40 -fn_8008951C = .text:0x8008951C; // type:function size:0x180 -fn_8008969C = .text:0x8008969C; // type:function size:0x140 -fn_800897DC = .text:0x800897DC; // type:function size:0xB8 +UpdateBoardStatus = .text:0x800892CC; // type:function size:0x210 scope:local +BoardStatusProc = .text:0x800894DC; // type:function size:0x40 scope:local +MoveBoardStatus = .text:0x8008951C; // type:function size:0x180 scope:local +BoardSpriteDigitUpdate = .text:0x8008969C; // type:function size:0x140 +UpdateStatusItem = .text:0x800897DC; // type:function size:0xB8 scope:local BoardPickerCreate = .text:0x80089894; // type:function size:0x29C BoardPickerBackFlagSet = .text:0x80089B30; // type:function size:0x74 BoardPickerDoneCheck = .text:0x80089BA4; // type:function size:0x1C BoardPickerPosGet = .text:0x80089BC0; // type:function size:0x48 BoardPickerChoiceGet = .text:0x80089C08; // type:function size:0xC -fn_80089C14 = .text:0x80089C14; // type:function size:0xFC -fn_80089D10 = .text:0x80089D10; // type:function size:0x15C -fn_80089E6C = .text:0x80089E6C; // type:function size:0x110 -fn_80089F7C = .text:0x80089F7C; // type:function size:0x30 -fn_80089FAC = .text:0x80089FAC; // type:function size:0x19C +UpdatePicker = .text:0x80089C14; // type:function size:0xFC scope:local +UpdatePickerInput = .text:0x80089D10; // type:function size:0x15C scope:local +MovePicker = .text:0x80089E6C; // type:function size:0x110 scope:local +UpdateComPickerButton = .text:0x80089F7C; // type:function size:0x30 scope:local +CheckPickerButton = .text:0x80089FAC; // type:function size:0x19C scope:local BoardYourTurnExec = .text:0x8008A148; // type:function size:0x1E4 -fn_8008A32C = .text:0x8008A32C; // type:function size:0xD4 -fn_8008A400 = .text:0x8008A400; // type:function size:0xD8 -fn_8008A4D8 = .text:0x8008A4D8; // type:function size:0xEC -fn_8008A5C4 = .text:0x8008A5C4; // type:function size:0xC8 +UpdateYourTurn = .text:0x8008A32C; // type:function size:0xD4 scope:local +GrowYourTurn = .text:0x8008A400; // type:function size:0xD8 scope:local +WaitYourTurn = .text:0x8008A4D8; // type:function size:0xEC scope:local +ShrinkYourTurn = .text:0x8008A5C4; // type:function size:0xC8 scope:local BoardItemUseExec = .text:0x8008A68C; // type:function size:0x80 -fn_8008A70C = .text:0x8008A70C; // type:function size:0x4A8 -fn_8008ABB4 = .text:0x8008ABB4; // type:function size:0x370 -fn_8008AF24 = .text:0x8008AF24; // type:function size:0x174 -fn_8008B098 = .text:0x8008B098; // type:function size:0x78 -fn_8008B110 = .text:0x8008B110; // type:function size:0x74 -fn_8008B184 = .text:0x8008B184; // type:function size:0xE8 -fn_8008B26C = .text:0x8008B26C; // type:function size:0x650 -fn_8008B8BC = .text:0x8008B8BC; // type:function size:0x3AC -fn_8008BC68 = .text:0x8008BC68; // type:function size:0x420 -fn_8008C088 = .text:0x8008C088; // type:function size:0x248 -fn_8008C2D0 = .text:0x8008C2D0; // type:function size:0xA8 -fn_8008C378 = .text:0x8008C378; // type:function size:0x104 +ItemUseTeamProc = .text:0x8008A70C; // type:function size:0x4A8 scope:local +ItemUseProc = .text:0x8008ABB4; // type:function size:0x370 scope:local +FinishItemUse = .text:0x8008AF24; // type:function size:0x174 scope:local +DestroyItemUse = .text:0x8008B098; // type:function size:0x78 scope:local +BoardMakeRandomItem = .text:0x8008B110; // type:function size:0x74 +TeamItemPosSet = .text:0x8008B184; // type:function size:0xE8 scope:local +ExecItemPick = .text:0x8008B26C; // type:function size:0x650 scope:local +UpdateItemPick = .text:0x8008B8BC; // type:function size:0x3AC scope:local +MakeItemPickSpace = .text:0x8008BC68; // type:function size:0x420 scope:local +SetItemUIStatus = .text:0x8008C088; // type:function size:0x248 scope:local +BoardItemGetDestPos = .text:0x8008C2D0; // type:function size:0xA8 +ItemGetPos = .text:0x8008C378; // type:function size:0x104 scope:local BoardItemStatusKill = .text:0x8008C47C; // type:function size:0x400 -fn_8008C87C = .text:0x8008C87C; // type:function size:0x388 -fn_8008CC04 = .text:0x8008CC04; // type:function size:0x674 -fn_8008D278 = .text:0x8008D278; // type:function size:0x50 -fn_8008D2C8 = .text:0x8008D2C8; // type:function size:0x38 -fn_8008D300 = .text:0x8008D300; // type:function size:0x5A4 -fn_8008D8A4 = .text:0x8008D8A4; // type:function size:0x58 -fn_8008D8FC = .text:0x8008D8FC; // type:function size:0x38 -fn_8008D934 = .text:0x8008D934; // type:function size:0xA4 -fn_8008D9D8 = .text:0x8008D9D8; // type:function size:0x350 -fn_8008DD28 = .text:0x8008DD28; // type:function size:0x11C -fn_8008DE44 = .text:0x8008DE44; // type:function size:0x44 +UpdateItemPickGfx = .text:0x8008C87C; // type:function size:0x388 scope:local +UpdateItemPickup = .text:0x8008CC04; // type:function size:0x674 scope:local +CheckItemWindow = .text:0x8008D278; // type:function size:0x50 scope:local +HideItemWindow = .text:0x8008D2C8; // type:function size:0x38 scope:local +CreateItemWindow = .text:0x8008D300; // type:function size:0x5A4 scope:local +CheckItemWindowSlide = .text:0x8008D8A4; // type:function size:0x58 scope:local +KillItemWindow = .text:0x8008D8FC; // type:function size:0x38 scope:local +SetItemWindowCurr = .text:0x8008D934; // type:function size:0xA4 scope:local +UpdateItemWindow = .text:0x8008D9D8; // type:function size:0x350 scope:local +CreatePickerWindow = .text:0x8008DD28; // type:function size:0x11C scope:local +KillPickerWindow = .text:0x8008DE44; // type:function size:0x44 scope:local BoardBlockExec = .text:0x8008DE88; // type:function size:0x84 -fn_8008DF0C = .text:0x8008DF0C; // type:function size:0x358 -fn_8008E264 = .text:0x8008E264; // type:function size:0x54 -fn_8008E2B8 = .text:0x8008E2B8; // type:function size:0x1F4 -fn_8008E4AC = .text:0x8008E4AC; // type:function size:0x12C -fn_8008E5D8 = .text:0x8008E5D8; // type:function size:0x38 -fn_8008E610 = .text:0x8008E610; // type:function size:0x120 -fn_8008E730 = .text:0x8008E730; // type:function size:0xCC -fn_8008E7FC = .text:0x8008E7FC; // type:function size:0x140 -fn_8008E93C = .text:0x8008E93C; // type:function size:0x2C -fn_8008E968 = .text:0x8008E968; // type:function size:0x2C -fn_8008E994 = .text:0x8008E994; // type:function size:0x48 -fn_8008E9DC = .text:0x8008E9DC; // type:function size:0x94 -fn_8008EA70 = .text:0x8008EA70; // type:function size:0x9C -fn_8008EB0C = .text:0x8008EB0C; // type:function size:0x10C -fn_8008EC18 = .text:0x8008EC18; // type:function size:0x130 +BlockProc = .text:0x8008DF0C; // type:function size:0x358 scope:local +DestroyBlock = .text:0x8008E264; // type:function size:0x54 scope:local +CreateBlockObj = .text:0x8008E2B8; // type:function size:0x1F4 scope:local +ExecBlockObj = .text:0x8008E4AC; // type:function size:0x12C scope:local +DestroyBlockObj = .text:0x8008E5D8; // type:function size:0x38 scope:local +SpawnBlock = .text:0x8008E610; // type:function size:0x120 scope:local +HitBlock = .text:0x8008E730; // type:function size:0xCC scope:local +OpenBlock = .text:0x8008E7FC; // type:function size:0x140 scope:local +SetBlockOpen = .text:0x8008E93C; // type:function size:0x2C scope:local +SetBlockStop = .text:0x8008E968; // type:function size:0x2C scope:local +WaitBlockHit = .text:0x8008E994; // type:function size:0x48 scope:local +CreateCoinMdl = .text:0x8008E9DC; // type:function size:0x94 scope:local +KillCoinMdl = .text:0x8008EA70; // type:function size:0x9C scope:local +PopupCoin = .text:0x8008EB0C; // type:function size:0x10C scope:local +PopupCoinExec = .text:0x8008EC18; // type:function size:0x130 scope:local BoardItemStart = .text:0x8008ED48; // type:function size:0x74 BoardItemDoneCheck = .text:0x8008EDBC; // type:function size:0x1C BoardItemPlayerRestore = .text:0x8008EDD8; // type:function size:0x6C -fn_8008EE44 = .text:0x8008EE44; // type:function size:0x64 -fn_8008EEA8 = .text:0x8008EEA8; // type:function size:0x64 -fn_8008EF0C = .text:0x8008EF0C; // type:function size:0xC -fn_8008EF18 = .text:0x8008EF18; // type:function size:0xC -fn_8008EF24 = .text:0x8008EF24; // type:function size:0x180 -fn_8008F0A4 = .text:0x8008F0A4; // type:function size:0x1BC -fn_8008F260 = .text:0x8008F260; // type:function size:0x220 -fn_8008F480 = .text:0x8008F480; // type:function size:0x374 -fn_8008F7F4 = .text:0x8008F7F4; // type:function size:0x204 -fn_8008F9F8 = .text:0x8008F9F8; // type:function size:0xA4 -fn_8008FA9C = .text:0x8008FA9C; // type:function size:0xA4 -fn_8008FB40 = .text:0x8008FB40; // type:function size:0xA4 -fn_8008FBE4 = .text:0x8008FBE4; // type:function size:0xA4 -fn_8008FC88 = .text:0x8008FC88; // type:function size:0x584 -fn_8009020C = .text:0x8009020C; // type:function size:0xD34 -fn_80090F40 = .text:0x80090F40; // type:function size:0xEBC -fn_80091DFC = .text:0x80091DFC; // type:function size:0x4FC -fn_800922F8 = .text:0x800922F8; // type:function size:0xC8 -fn_800923C0 = .text:0x800923C0; // type:function size:0xE3C -fn_800931FC = .text:0x800931FC; // type:function size:0x3D4 -fn_800935D0 = .text:0x800935D0; // type:function size:0x1370 -fn_80094940 = .text:0x80094940; // type:function size:0x488 -fn_80094DC8 = .text:0x80094DC8; // type:function size:0x388 -fn_80095150 = .text:0x80095150; // type:function size:0xB0 -fn_80095200 = .text:0x80095200; // type:function size:0x7A4 -fn_800959A4 = .text:0x800959A4; // type:function size:0x9D8 -fn_8009637C = .text:0x8009637C; // type:function size:0x628 -fn_800969A4 = .text:0x800969A4; // type:function size:0x3C -fn_800969E0 = .text:0x800969E0; // type:function size:0x13C -fn_80096B1C = .text:0x80096B1C; // type:function size:0xDC -fn_80096BF8 = .text:0x80096BF8; // type:function size:0x584 -fn_8009717C = .text:0x8009717C; // type:function size:0x1C -fn_80097198 = .text:0x80097198; // type:function size:0x2C -fn_800971C4 = .text:0x800971C4; // type:function size:0x2C -fn_800971F0 = .text:0x800971F0; // type:function size:0x2C -fn_8009721C = .text:0x8009721C; // type:function size:0x2C -fn_80097248 = .text:0x80097248; // type:function size:0x284 +ItemProcess = .text:0x8008EE44; // type:function size:0x64 scope:local +RestoreProcess = .text:0x8008EEA8; // type:function size:0x64 scope:local +ItemDestroy = .text:0x8008EF0C; // type:function size:0xC scope:local +RestoreDestroy = .text:0x8008EF18; // type:function size:0xC scope:local +ItemSizeShowAnim = .text:0x8008EF24; // type:function size:0x180 scope:local +ItemRotProc = .text:0x8008F0A4; // type:function size:0x1BC scope:local +ItemShowProc = .text:0x8008F260; // type:function size:0x220 scope:local +ItemGetTarget = .text:0x8008F480; // type:function size:0x374 scope:local +ItemSizeSet = .text:0x8008F7F4; // type:function size:0x204 scope:local +ExecItemMini = .text:0x8008F9F8; // type:function size:0xA4 scope:local +ExecItemMega = .text:0x8008FA9C; // type:function size:0xA4 scope:local +ExecItemMiniSuper = .text:0x8008FB40; // type:function size:0xA4 scope:local +ExecItemMegaSuper = .text:0x8008FBE4; // type:function size:0xA4 scope:local +ExecItemHammer = .text:0x8008FC88; // type:function size:0x584 scope:local +ExecItemPipe = .text:0x8009020C; // type:function size:0xD34 scope:local +ExecItemSwap = .text:0x80090F40; // type:function size:0xEBC scope:local +ExecItemSpark = .text:0x80091DFC; // type:function size:0x4FC scope:local +ExecItemLight = .text:0x800922F8; // type:function size:0xC8 scope:local +ExecItemWhistle = .text:0x800923C0; // type:function size:0xE3C scope:local +ExecItemBowser = .text:0x800931FC; // type:function size:0x3D4 scope:local +ExecItemBooBall = .text:0x800935D0; // type:function size:0x1370 scope:local +LampParticleUpdate = .text:0x80094940; // type:function size:0x488 scope:local +GenieParticleUpdate = .text:0x80094DC8; // type:function size:0x388 scope:local +GenieCameraProc = .text:0x80095150; // type:function size:0xB0 scope:local +GenieCameraCalc = .text:0x80095200; // type:function size:0x7A4 scope:local +GenieSceneExec = .text:0x800959A4; // type:function size:0x9D8 scope:local +ExecItemGenie = .text:0x8009637C; // type:function size:0x628 scope:local +BoardItemBagItemSet = .text:0x800969A4; // type:function size:0x3C +ExecItemBagJump = .text:0x800969E0; // type:function size:0x13C scope:local +ExecItemBagShow = .text:0x80096B1C; // type:function size:0xDC scope:local +ExecItemBag = .text:0x80096BF8; // type:function size:0x584 scope:local +RestoreItemNull = .text:0x8009717C; // type:function size:0x1C scope:local +RestoreItemMini = .text:0x80097198; // type:function size:0x2C scope:local +RestoreItemMega = .text:0x800971C4; // type:function size:0x2C scope:local +RestoreItemMiniSuper = .text:0x800971F0; // type:function size:0x2C scope:local +RestoreItemMegaSuper = .text:0x8009721C; // type:function size:0x2C scope:local +RestoreItemBowser = .text:0x80097248; // type:function size:0x284 scope:local BoardBowserExec = .text:0x800974CC; // type:function size:0x144 -fn_80097610 = .text:0x80097610; // type:function size:0x28C -fn_8009789C = .text:0x8009789C; // type:function size:0x208 -fn_80097AA4 = .text:0x80097AA4; // type:function size:0x1DC -fn_80097C80 = .text:0x80097C80; // type:function size:0x30 -fn_80097CB0 = .text:0x80097CB0; // type:function size:0x148 -fn_80097DF8 = .text:0x80097DF8; // type:function size:0x1B4 -fn_80097FAC = .text:0x80097FAC; // type:function size:0x250 -fn_800981FC = .text:0x800981FC; // type:function size:0x220 -fn_8009841C = .text:0x8009841C; // type:function size:0x2B0 -fn_800986CC = .text:0x800986CC; // type:function size:0x160 -fn_8009882C = .text:0x8009882C; // type:function size:0xB8 -fn_800988E4 = .text:0x800988E4; // type:function size:0x1C -fn_80098900 = .text:0x80098900; // type:function size:0x148 -fn_80098A48 = .text:0x80098A48; // type:function size:0x210 -fn_80098C58 = .text:0x80098C58; // type:function size:0x228 -fn_80098E80 = .text:0x80098E80; // type:function size:0x230 -fn_800990B0 = .text:0x800990B0; // type:function size:0x270 -fn_80099320 = .text:0x80099320; // type:function size:0x58 -fn_80099378 = .text:0x80099378; // type:function size:0x44 -fn_800993BC = .text:0x800993BC; // type:function size:0x150 -fn_8009950C = .text:0x8009950C; // type:function size:0x128 -fn_80099634 = .text:0x80099634; // type:function size:0x34 -fn_80099668 = .text:0x80099668; // type:function size:0x5C -fn_800996C4 = .text:0x800996C4; // type:function size:0xD4 -fn_80099798 = .text:0x80099798; // type:function size:0x1C -fn_800997B4 = .text:0x800997B4; // type:function size:0x18C -fn_80099940 = .text:0x80099940; // type:function size:0x1E8 -fn_80099B28 = .text:0x80099B28; // type:function size:0x38 -fn_80099B60 = .text:0x80099B60; // type:function size:0x24 -fn_80099B84 = .text:0x80099B84; // type:function size:0xEC -fn_80099C70 = .text:0x80099C70; // type:function size:0x1C8 -fn_80099E38 = .text:0x80099E38; // type:function size:0x108 -fn_80099F40 = .text:0x80099F40; // type:function size:0x160 -fn_8009A0A0 = .text:0x8009A0A0; // type:function size:0x1AC -fn_8009A24C = .text:0x8009A24C; // type:function size:0xB8 -fn_8009A304 = .text:0x8009A304; // type:function size:0x90 -fn_8009A394 = .text:0x8009A394; // type:function size:0x160 -fn_8009A4F4 = .text:0x8009A4F4; // type:function size:0xE4 -fn_8009A5D8 = .text:0x8009A5D8; // type:function size:0xCC -fn_8009A6A4 = .text:0x8009A6A4; // type:function size:0x40 -fn_8009A6E4 = .text:0x8009A6E4; // type:function size:0x188 -fn_8009A86C = .text:0x8009A86C; // type:function size:0x2C4 -fn_8009AB30 = .text:0x8009AB30; // type:function size:0x2B8 -fn_8009ADE8 = .text:0x8009ADE8; // type:function size:0x24 -fn_8009AE0C = .text:0x8009AE0C; // type:function size:0xC -fn_8009AE18 = .text:0x8009AE18; // type:function size:0x10 -fn_8009AE28 = .text:0x8009AE28; // type:function size:0x14C -fn_8009AF74 = .text:0x8009AF74; // type:function size:0x120 -fn_8009B094 = .text:0x8009B094; // type:function size:0xB4 -fn_8009B148 = .text:0x8009B148; // type:function size:0x88 -fn_8009B1D0 = .text:0x8009B1D0; // type:function size:0x80 -fn_8009B250 = .text:0x8009B250; // type:function size:0xD8 -fn_8009B328 = .text:0x8009B328; // type:function size:0x6C -fn_8009B394 = .text:0x8009B394; // type:function size:0x60 +ExecBowser = .text:0x80097610; // type:function size:0x28C scope:local +ExecBowserMain = .text:0x8009789C; // type:function size:0x208 scope:local +ExecMGReturn = .text:0x80097AA4; // type:function size:0x1DC scope:local +DestroyBowser = .text:0x80097C80; // type:function size:0x30 scope:local +SquishPlayers = .text:0x80097CB0; // type:function size:0x148 scope:local +ExecBowserSpecial = .text:0x80097DF8; // type:function size:0x1B4 scope:local +ExecBowserGame = .text:0x80097FAC; // type:function size:0x250 scope:local +DoMGReturnEffect = .text:0x800981FC; // type:function size:0x220 scope:local +ExecBowserShuffle = .text:0x8009841C; // type:function size:0x2B0 scope:local +ExecBowserRevo = .text:0x800986CC; // type:function size:0x160 scope:local +ExecBowserSuit = .text:0x8009882C; // type:function size:0xB8 scope:local +CheckSuitGive = .text:0x800988E4; // type:function size:0x1C scope:local +StartSuitGive = .text:0x80098900; // type:function size:0x148 scope:local +SuitGiveMain = .text:0x80098A48; // type:function size:0x210 scope:local +CreateBowserObj = .text:0x80098C58; // type:function size:0x228 scope:local +ExecBowserObj = .text:0x80098E80; // type:function size:0x230 scope:local +ExecBowserFall = .text:0x800990B0; // type:function size:0x270 scope:local +ExecBowserLaugh = .text:0x80099320; // type:function size:0x58 scope:local +ExecBowserFire = .text:0x80099378; // type:function size:0x44 scope:local +ExecBowserJump = .text:0x800993BC; // type:function size:0x150 scope:local +ExecBowserPowerUp = .text:0x8009950C; // type:function size:0x128 scope:local +SetBowserState = .text:0x80099634; // type:function size:0x34 scope:local +CheckBowserIdle = .text:0x80099668; // type:function size:0x5C scope:local +CreateMiniBowser = .text:0x800996C4; // type:function size:0xD4 scope:local +CheckMiniBowser = .text:0x80099798; // type:function size:0x1C scope:local +ExecMiniBowser = .text:0x800997B4; // type:function size:0x18C scope:local +CreateBowserEvent = .text:0x80099940; // type:function size:0x1E8 scope:local +CheckBowserEvent = .text:0x80099B28; // type:function size:0x38 scope:local +StopBowserEvent = .text:0x80099B60; // type:function size:0x24 scope:local +ExecBowserEvent = .text:0x80099B84; // type:function size:0xEC scope:local +ShowBowserEvent = .text:0x80099C70; // type:function size:0x1C8 scope:local +HideBowserEvent = .text:0x80099E38; // type:function size:0x108 scope:local +ConfigBowserEvent = .text:0x80099F40; // type:function size:0x160 scope:local +CreatePlayerMot = .text:0x8009A0A0; // type:function size:0x1AC scope:local +KillPlayerMot = .text:0x8009A24C; // type:function size:0xB8 scope:local +InitBowserFire = .text:0x8009A304; // type:function size:0x90 scope:local +BowserFireHook = .text:0x8009A394; // type:function size:0x160 scope:local +SpawnBowserFire = .text:0x8009A4F4; // type:function size:0xE4 scope:local +CheckBowserFire = .text:0x8009A5D8; // type:function size:0xCC scope:local +KillBowserFire = .text:0x8009A6A4; // type:function size:0x40 scope:local +ExecMiniBowserEvent = .text:0x8009A6E4; // type:function size:0x188 scope:local +MiniBowserTake = .text:0x8009A86C; // type:function size:0x2C4 scope:local +MiniBowserTakeAll = .text:0x8009AB30; // type:function size:0x2B8 scope:local +MiniBowserBalloonStop = .text:0x8009ADE8; // type:function size:0x24 scope:local +GetMiniBowserBalloonState = .text:0x8009AE0C; // type:function size:0xC scope:local +SetMiniBowserBalloonState = .text:0x8009AE18; // type:function size:0x10 scope:local +CreateMiniBowserBalloon = .text:0x8009AE28; // type:function size:0x14C scope:local +ExecMiniBowserBalloon = .text:0x8009AF74; // type:function size:0x120 scope:local +MiniBowserBalloonHover = .text:0x8009B094; // type:function size:0xB4 scope:local +MiniBowserBalloonFall = .text:0x8009B148; // type:function size:0x88 scope:local +MiniBowserBalloonRaise = .text:0x8009B1D0; // type:function size:0x80 scope:local +SetMiniBowserMotion = .text:0x8009B250; // type:function size:0xD8 scope:local +SetMiniBowserMotionPause = .text:0x8009B328; // type:function size:0x6C scope:local +WaitMiniBowserMotion = .text:0x8009B394; // type:function size:0x60 scope:local BoardBattleExec = .text:0x8009B3F4; // type:function size:0x124 -fn_8009B518 = .text:0x8009B518; // type:function size:0x2C -fn_8009B544 = .text:0x8009B544; // type:function size:0x708 -fn_8009BC4C = .text:0x8009BC4C; // type:function size:0x1D4 -fn_8009BE20 = .text:0x8009BE20; // type:function size:0x1FC -fn_8009C01C = .text:0x8009C01C; // type:function size:0x24 -fn_8009C040 = .text:0x8009C040; // type:function size:0x2D0 -fn_8009C310 = .text:0x8009C310; // type:function size:0x1E8 -fn_8009C4F8 = .text:0x8009C4F8; // type:function size:0x1A0 -fn_8009C698 = .text:0x8009C698; // type:function size:0x64 -fn_8009C6FC = .text:0x8009C6FC; // type:function size:0x88 -fn_8009C784 = .text:0x8009C784; // type:function size:0x124 -fn_8009C8A8 = .text:0x8009C8A8; // type:function size:0x8C -fn_8009C934 = .text:0x8009C934; // type:function size:0x260 -fn_8009CB94 = .text:0x8009CB94; // type:function size:0x128 -fn_8009CCBC = .text:0x8009CCBC; // type:function size:0x12C -fn_8009CDE8 = .text:0x8009CDE8; // type:function size:0x58 -fn_8009CE40 = .text:0x8009CE40; // type:function size:0x64 -fn_8009CEA4 = .text:0x8009CEA4; // type:function size:0x24 -fn_8009CEC8 = .text:0x8009CEC8; // type:function size:0x10 -fn_8009CED8 = .text:0x8009CED8; // type:function size:0x34 -fn_8009CF0C = .text:0x8009CF0C; // type:function size:0x15C +DestroyBattle = .text:0x8009B518; // type:function size:0x2C scope:local +ExecBattle = .text:0x8009B544; // type:function size:0x708 scope:local +TakeCoins = .text:0x8009BC4C; // type:function size:0x1D4 scope:local +InitExplode = .text:0x8009BE20; // type:function size:0x1FC scope:local +CheckExplode = .text:0x8009C01C; // type:function size:0x24 scope:local +UpdateExplode = .text:0x8009C040; // type:function size:0x2D0 scope:local +CreateBattleMain = .text:0x8009C310; // type:function size:0x1E8 scope:local +UpdateBattleMain = .text:0x8009C4F8; // type:function size:0x1A0 scope:local +DescendBattleBomb = .text:0x8009C698; // type:function size:0x64 scope:local +EndBattle = .text:0x8009C6FC; // type:function size:0x88 scope:local +ShowBattleGame = .text:0x8009C784; // type:function size:0x124 scope:local +RaiseBattleGame = .text:0x8009C8A8; // type:function size:0x8C scope:local +UpdateBattleCoin = .text:0x8009C934; // type:function size:0x260 scope:local +ShowBattleCoin = .text:0x8009CB94; // type:function size:0x128 scope:local +InitBattleGameSpr = .text:0x8009CCBC; // type:function size:0x12C scope:local +HideBattleSpr = .text:0x8009CDE8; // type:function size:0x58 scope:local +VibratePad = .text:0x8009CE40; // type:function size:0x64 scope:local +StopBattleBomb = .text:0x8009CEA4; // type:function size:0x24 scope:local +GetBattleBombState = .text:0x8009CEC8; // type:function size:0x10 scope:local +SetBattleBombState = .text:0x8009CED8; // type:function size:0x34 scope:local +SetBattleCoinValue = .text:0x8009CF0C; // type:function size:0x15C scope:local BoardFortuneExec = .text:0x8009D068; // type:function size:0x124 -fn_8009D18C = .text:0x8009D18C; // type:function size:0x74 -fn_8009D200 = .text:0x8009D200; // type:function size:0xC -fn_8009D20C = .text:0x8009D20C; // type:function size:0x340 -fn_8009D54C = .text:0x8009D54C; // type:function size:0xF8 -fn_8009D644 = .text:0x8009D644; // type:function size:0x160 -fn_8009D7A4 = .text:0x8009D7A4; // type:function size:0x5C -fn_8009D800 = .text:0x8009D800; // type:function size:0x198 -fn_8009D998 = .text:0x8009D998; // type:function size:0x18C -fn_8009DB24 = .text:0x8009DB24; // type:function size:0x20C -fn_8009DD30 = .text:0x8009DD30; // type:function size:0x78 -fn_8009DDA8 = .text:0x8009DDA8; // type:function size:0x78 -fn_8009DE20 = .text:0x8009DE20; // type:function size:0x68 -fn_8009DE88 = .text:0x8009DE88; // type:function size:0x68 -fn_8009DEF0 = .text:0x8009DEF0; // type:function size:0x11C -fn_8009E00C = .text:0x8009E00C; // type:function size:0x2C -fn_8009E038 = .text:0x8009E038; // type:function size:0x2A8 +FortuneExec = .text:0x8009D18C; // type:function size:0x74 scope:local +DestroyFortune = .text:0x8009D200; // type:function size:0xC scope:local +FortuneMain = .text:0x8009D20C; // type:function size:0x340 scope:local +FortunePostMG = .text:0x8009D54C; // type:function size:0xF8 scope:local +CreateFortunePlatform = .text:0x8009D644; // type:function size:0x160 scope:local +CameraCalcFortune = .text:0x8009D7A4; // type:function size:0x5C scope:local +ExecFortunePlatform = .text:0x8009D800; // type:function size:0x198 scope:local +ExecComFortuneWin = .text:0x8009D998; // type:function size:0x18C scope:local +ConfigComFortune = .text:0x8009DB24; // type:function size:0x20C scope:local +ComFortuneAddStar = .text:0x8009DD30; // type:function size:0x78 scope:local +ComFortuneAddCoin = .text:0x8009DDA8; // type:function size:0x78 scope:local +ComFortuneSwapCoin = .text:0x8009DE20; // type:function size:0x68 scope:local +ComFortuneSwapStar = .text:0x8009DE88; // type:function size:0x68 scope:local +BoardBooCreate = .text:0x8009DEF0; // type:function size:0x11C +BoardBooKill = .text:0x8009E00C; // type:function size:0x2C +BoardBooStealTypeSet = .text:0x8009E038; // type:function size:0x2A8 fn_8009E2E0 = .text:0x8009E2E0; // type:function size:0x1D4 fn_8009E4B4 = .text:0x8009E4B4; // type:function size:0xE8 -fn_8009E59C = .text:0x8009E59C; // type:function size:0x280 +BoardBooStealMain = .text:0x8009E59C; // type:function size:0x280 fn_8009E81C = .text:0x8009E81C; // type:function size:0xC0 fn_8009E8DC = .text:0x8009E8DC; // type:function size:0xA8 fn_8009E984 = .text:0x8009E984; // type:function size:0x94 @@ -1847,8 +1847,8 @@ fn_800A13E4 = .text:0x800A13E4; // type:function size:0x68 fn_800A144C = .text:0x800A144C; // type:function size:0x168 fn_800A15B4 = .text:0x800A15B4; // type:function size:0x184 fn_800A1738 = .text:0x800A1738; // type:function size:0x1C -fn_800A1754 = .text:0x800A1754; // type:function size:0x30 -fn_800A1784 = .text:0x800A1784; // type:function size:0x20 +BoardBooStealValueGet = .text:0x800A1754; // type:function size:0x30 +BoardBooStealLightCheck = .text:0x800A1784; // type:function size:0x20 fn_800A17A4 = .text:0x800A17A4; // type:function size:0x1B0 BoardMGSetupExec = .text:0x800A1954; // type:function size:0x60 fn_800A19B4 = .text:0x800A19B4; // type:function size:0x1C @@ -1868,11 +1868,11 @@ fn_800A3BC8 = .text:0x800A3BC8; // type:function size:0xA8 fn_800A3C70 = .text:0x800A3C70; // type:function size:0x430 fn_800A40A0 = .text:0x800A40A0; // type:function size:0x8FC BoardMGSetupPlayClear = .text:0x800A499C; // type:function size:0x74 -fn_800A4A10 = .text:0x800A4A10; // type:function size:0xC8 -fn_800A4AD8 = .text:0x800A4AD8; // type:function size:0xD0 -fn_800A4BA8 = .text:0x800A4BA8; // type:function size:0x2E4 -fn_800A4E8C = .text:0x800A4E8C; // type:function size:0x8 -fn_800A4E94 = .text:0x800A4E94; // type:function size:0x8 +BoardMGSetupPlaySearch = .text:0x800A4A10; // type:function size:0xC8 +BoardMGSetupPlayPush = .text:0x800A4AD8; // type:function size:0xD0 +BoardMGSetupTutorialExec = .text:0x800A4BA8; // type:function size:0x2E4 +BoardBooHouseHostSet = .text:0x800A4E8C; // type:function size:0x8 +BoardBooHouseHostGet = .text:0x800A4E94; // type:function size:0x8 BoardBooHouseCreate = .text:0x800A4E9C; // type:function size:0xB4 BoardBooHouseKill = .text:0x800A4F50; // type:function size:0x50 BoardBooHouseExec = .text:0x800A4FA0; // type:function size:0x94 @@ -4626,12 +4626,12 @@ lbl_8011DD10 = .rodata:0x8011DD10; // type:object size:0x10 data:4byte lbl_8011DD20 = .rodata:0x8011DD20; // type:object size:0x90 data:4byte lbl_8011DDB0 = .rodata:0x8011DDB0; // type:object size:0x20 data:4byte lbl_8011DDD0 = .rodata:0x8011DDD0; // type:object size:0x20 data:4byte -lbl_8011DDF0 = .rodata:0x8011DDF0; // type:object size:0x20 -lbl_8011DE10 = .rodata:0x8011DE10; // type:object size:0x20 -lbl_8011DE30 = .rodata:0x8011DE30; // type:object size:0x10 +pickSpr = .rodata:0x8011DDF0; // type:object size:0x20 scope:local +handMdl = .rodata:0x8011DE10; // type:object size:0x20 scope:local +ticketSpr = .rodata:0x8011DE30; // type:object size:0x10 scope:local lbl_8011DE40 = .rodata:0x8011DE40; // type:object size:0x20 data:4byte -lbl_8011DE60 = .rodata:0x8011DE60; // type:object size:0x24 -lbl_8011DE84 = .rodata:0x8011DE84; // type:object size:0x4C +starMesTbl1 = .rodata:0x8011DE60; // type:object size:0x24 scope:local +starMesTbl2 = .rodata:0x8011DE84; // type:object size:0x48 scope:local lbl_8011DED0 = .rodata:0x8011DED0; // type:object size:0x68 data:4byte lbl_8011DF38 = .rodata:0x8011DF38; // type:object size:0x38 data:4byte lbl_8011DF70 = .rodata:0x8011DF70; // type:object size:0x3C data:4byte @@ -4644,10 +4644,10 @@ lbl_8011E040 = .rodata:0x8011E040; // type:object size:0xC data:4byte lbl_8011E04C = .rodata:0x8011E04C; // type:object size:0xC data:4byte lbl_8011E058 = .rodata:0x8011E058; // type:object size:0xC data:4byte lbl_8011E064 = .rodata:0x8011E064; // type:object size:0xC data:4byte -lbl_8011E070 = .rodata:0x8011E070; // type:object size:0x18 +bowserMotTbl = .rodata:0x8011E070; // type:object size:0x18 scope:local lbl_8011E088 = .rodata:0x8011E088; // type:object size:0x70 data:4byte lbl_8011E0F8 = .rodata:0x8011E0F8; // type:object size:0xC data:byte -lbl_8011E104 = .rodata:0x8011E104; // type:object size:0x1C +miniBowserMotTbl = .rodata:0x8011E104; // type:object size:0x1C scope:local lbl_8011E120 = .rodata:0x8011E120; // type:object size:0x24 data:4byte lbl_8011E144 = .rodata:0x8011E144; // type:object size:0x20 data:4byte lbl_8011E164 = .rodata:0x8011E164; // type:object size:0x2C data:4byte @@ -5225,44 +5225,56 @@ overheadCamPosZ = .data:0x8015702C; // type:object size:0x24 scope:local spaceImgIdx = .data:0x80157050; // type:object size:0xC scope:local spaceHiliteImgIdx = .data:0x8015705C; // type:object size:0xC scope:local jumptable_80157068 = .data:0x80157068; // type:object size:0x28 scope:local -lbl_80157090 = .data:0x80157090; // type:object size:0x24 -lbl_801570B4 = .data:0x801570B4; // type:object size:0x10 -lbl_801570C4 = .data:0x801570C4; // type:object size:0x6C -lbl_80157130 = .data:0x80157130; // type:object size:0xB0 -lbl_801571E0 = .data:0x801571E0; // type:object size:0x30 data:float -lbl_80157210 = .data:0x80157210; // type:object size:0x1A8 -lbl_801573B8 = .data:0x801573B8; // type:object size:0xDA +hostMessTbl = .data:0x80157090; // type:object size:0x24 scope:local +itemPriceTbl = .data:0x801570B4; // type:object size:0x10 scope:local +shopMotTbl = .data:0x801570C4; // type:object size:0x6C scope:local +lbl_80157130 = .data:0x80157130; // type:object size:0xA data:string +itemPrioTbl = .data:0x8015713A; // type:object size:0x8C scope:local +rankItemGroupTbl = .data:0x801571C6; // type:object size:0x18 scope:local +cursorPosTbl = .data:0x801571E0; // type:object size:0x30 scope:local data:float +comInputDraw1 = .data:0x80157210; // type:object size:0xEE scope:local +comInputDraw2 = .data:0x801572FE; // type:object size:0xBA scope:local +comInputBall = .data:0x801573B8; // type:object size:0xCE scope:local +lbl_80157486 = .data:0x80157486; // type:object size:0xC scope:local data:string lbl_80157492 = .data:0x80157492; // type:object size:0x13 lbl_801574A5 = .data:0x801574A5; // type:object size:0x23 jumptable_801574C8 = .data:0x801574C8; // type:object size:0x24 scope:local -lbl_801574EC = .data:0x801574EC; // type:object size:0x30 -lbl_8015751C = .data:0x8015751C; // type:object size:0xC -lbl_80157528 = .data:0x80157528; // type:object size:0xC data:4byte -lbl_80157534 = .data:0x80157534; // type:object size:0x20 -lbl_80157554 = .data:0x80157554; // type:object size:0x24 -lbl_80157578 = .data:0x80157578; // type:object size:0x10 -lbl_80157588 = .data:0x80157588; // type:object size:0x28 +ticketObj = .data:0x801574EC; // type:object size:0x30 scope:local +ticketPrize = .data:0x8015751C; // type:object size:0xC scope:local +handLastPos = .data:0x80157528; // type:object size:0xC scope:local data:4byte +loseSoundTbl = .data:0x80157534; // type:object size:0x20 scope:local +loseMotTbl = .data:0x80157554; // type:object size:0x24 scope:local +coinChgObj = .data:0x80157578; // type:object size:0x10 scope:local +coinDigitMdl = .data:0x80157588; // type:object size:0x28 scope:local jumptable_801575B0 = .data:0x801575B0; // type:object size:0x1C scope:local -lbl_801575D0 = .data:0x801575D0; // type:object size:0x58 +wheelSprTbl = .data:0x801575D0; // type:object size:0x28 scope:local +wheelSprPrio = .data:0x801575F8; // type:object size:0xE scope:local +wheelCharIconTbl = .data:0x80157608; // type:object size:0x20 scope:local lbl_80157628 = .data:0x80157628; // type:object size:0x10 -lbl_80157638 = .data:0x80157638; // type:object size:0x20 -lbl_80157658 = .data:0x80157658; // type:object size:0x48 -lbl_801576A0 = .data:0x801576A0; // type:object size:0x50 -lbl_801576F0 = .data:0x801576F0; // type:object size:0xC data:4byte -lbl_801576FC = .data:0x801576FC; // type:object size:0xC data:4byte -lbl_80157708 = .data:0x80157708; // type:object size:0xC -lbl_80157714 = .data:0x80157714; // type:object size:0x50 -lbl_80157764 = .data:0x80157764; // type:object size:0x2C -lbl_80157790 = .data:0x80157790; // type:object size:0xC4 data:byte -lbl_80157854 = .data:0x80157854; // type:object size:0x20 data:float -lbl_80157874 = .data:0x80157874; // type:object size:0x10 -lbl_80157884 = .data:0x80157884; // type:object size:0x88 -lbl_8015790C = .data:0x8015790C; // type:object size:0x30 -lbl_8015793C = .data:0x8015793C; // type:object size:0x54 -lbl_80157990 = .data:0x80157990; // type:object size:0x18 -lbl_801579A8 = .data:0x801579A8; // type:object size:0x38 -lbl_801579E0 = .data:0x801579E0; // type:object size:0x38 -lbl_80157A18 = .data:0x80157A18; // type:object size:0x70 +boardStarSndTbl = .data:0x80157638; // type:object size:0x20 +hostMotTbl = .data:0x80157658; // type:object size:0x48 scope:local +starEffParam = .data:0x801576A0; // type:object size:0x50 scope:local noreloc +diceObj = .data:0x801576F0; // type:object size:0xC scope:local data:4byte +diceDigitObj = .data:0x801576FC; // type:object size:0xC scope:local data:4byte +diceSndStatus = .data:0x80157708; // type:object size:0xC scope:local +diceEffParam = .data:0x80157714; // type:object size:0x50 scope:local +diceDigitMdlTbl = .data:0x80157764; // type:object size:0x28 scope:local +uiStatus = .data:0x80157790; // type:object size:0x70 scope:local data:byte +statusSprTbl = .data:0x80157800; // type:object size:0x2C scope:local data:byte +statusSprPrioTbl = .data:0x8015782C; // type:object size:0x18 scope:local data:byte +statusHideOfsTbl = .data:0x80157844; // type:object size:0x10 scope:local data:byte +statusPosTbl = .data:0x80157854; // type:object size:0x20 scope:local data:float +statusColTbl = .data:0x80157874; // type:object size:0x10 scope:local +statusSprPosTbl = .data:0x80157884; // type:object size:0x88 scope:local +statusItemPosTbl = .data:0x8015790C; // type:object size:0x30 scope:local +itemMdlTbl = .data:0x8015793C; // type:object size:0x38 scope:local +teamItemStatusPosTbl = .data:0x80157974; // type:object size:0x18 scope:local +coinMdl = .data:0x80157990; // type:object size:0x14 scope:local +itemFuncTbl = .data:0x801579A8; // type:object size:0x38 scope:local +itemRestoreFuncTbl = .data:0x801579E0; // type:object size:0x38 scope:local +itemMdlTbl = .data:0x80157A18; // type:object size:0x38 scope:local +forceMoveSfxTbl = .data:0x80157A50; // type:object size:0x18 scope:local +callMotTbl = .data:0x80157A68; // type:object size:0x20 scope:local lbl_80157A88 = .data:0x80157A88; // type:object size:0x13 data:string lbl_80157A9B = .data:0x80157A9B; // type:object size:0x13 data:string lbl_80157AAE = .data:0x80157AAE; // type:object size:0x13 data:string @@ -5270,19 +5282,30 @@ lbl_80157AC1 = .data:0x80157AC1; // type:object size:0x13 data:string lbl_80157AD4 = .data:0x80157AD4; // type:object size:0x13 data:string lbl_80157AE7 = .data:0x80157AE7; // type:object size:0x13 data:string lbl_80157AFA = .data:0x80157AFA; // type:object size:0x13 data:string -lbl_80157B0D = .data:0x80157B0D; // type:object size:0x63 -lbl_80157B70 = .data:0x80157B70; // type:object size:0x40 +lbl_80157B0D = .data:0x80157B0D; // type:object size:0x13 data:string +callHookTbl = .data:0x80157B20; // type:object size:0x20 scope:local +callAttackMotTbl = .data:0x80157B40; // type:object size:0x18 scope:local +callAttackMotTbl2 = .data:0x80157B58; // type:object size:0x18 scope:local +suitMotTbl = .data:0x80157B70; // type:object size:0x40 scope:local lbl_80157BB0 = .data:0x80157BB0; // type:object size:0x10 -lbl_80157BC0 = .data:0x80157BC0; // type:object size:0x1D8 -lbl_80157D98 = .data:0x80157D98; // type:object size:0x20 +booMotTbl = .data:0x80157BC0; // type:object size:0xC scope:local +shadowPos = .data:0x80157BCC; // type:object size:0xC scope:local +shadowTarget = .data:0x80157BD8; // type:object size:0xC scope:local +shadowUp = .data:0x80157BE4; // type:object size:0xC scope:local +armUpMotTbl = .data:0x80157BF0; // type:object size:0x20 scope:local +scareMotTbl = .data:0x80157C10; // type:object size:0x20 scope:local +impactMotTbl = .data:0x80157C30; // type:object size:0x20 scope:local +cameraDataTbl = .data:0x80157C50; // type:object size:0x134 scope:local +genieMotTbl = .data:0x80157D84; // type:object size:0x10 scope:local +scareFXTbl = .data:0x80157D98; // type:object size:0x20 scope:local jumptable_80157DB8 = .data:0x80157DB8; // type:object size:0x1C scope:local lbl_80157DD4 = .data:0x80157DD4; // type:object size:0x14 -lbl_80157DE8 = .data:0x80157DE8; // type:object size:0x18 -lbl_80157E00 = .data:0x80157E00; // type:object size:0x20 -lbl_80157E20 = .data:0x80157E20; // type:object size:0x18 +battleCursorPosTbl = .data:0x80157DE8; // type:object size:0x18 scope:local +bombFXTbl = .data:0x80157E00; // type:object size:0x20 scope:local +battleSprPrioTbl = .data:0x80157E20; // type:object size:0x16 scope:local jumptable_80157E38 = .data:0x80157E38; // type:object size:0x24 scope:local -lbl_80157E5C = .data:0x80157E5C; // type:object size:0x3C -lbl_80157E98 = .data:0x80157E98; // type:object size:0x18 +battleChanceTbl = .data:0x80157E5C; // type:object size:0x3C scope:local +comPrizeMessTbl = .data:0x80157E98; // type:object size:0x18 scope:local lbl_80157EB0 = .data:0x80157EB0; // type:object size:0xC0 lbl_80157F70 = .data:0x80157F70; // type:object size:0x80 lbl_80157FF0 = .data:0x80157FF0; // type:object size:0x18 @@ -5555,25 +5578,28 @@ spaceData = .bss:0x801BADB0; // type:object size:0x7000 scope:local data:4byte boardSpaceStarTbl = .bss:0x801C1DB0; // type:object size:0x10 spaceTex = .bss:0x801C1DC0; // type:object size:0x20 scope:local spaceHiliteTex = .bss:0x801C1DE0; // type:object size:0x20 scope:local -lbl_801C1E00 = .bss:0x801C1E00; // type:object size:0x14 data:4byte -lbl_801C1E14 = .bss:0x801C1E14; // type:object size:0x1C +activeItemTbl = .bss:0x801C1E00; // type:object size:0x14 scope:local data:4byte +choiceEnableTbl = .bss:0x801C1E14; // type:object size:0x18 scope:local lbl_801C1E30 = .bss:0x801C1E30; // type:object size:0xC data:2byte lbl_801C1E3C = .bss:0x801C1E3C; // type:object size:0xC lbl_801C1E48 = .bss:0x801C1E48; // type:object size:0x18 data:2byte -lbl_801C1E60 = .bss:0x801C1E60; // type:object size:0x10 -lbl_801C1E70 = .bss:0x801C1E70; // type:object size:0x10 data:4byte -lbl_801C1E80 = .bss:0x801C1E80; // type:object size:0x10 -lbl_801C1E90 = .bss:0x801C1E90; // type:object size:0x18 -lbl_801C1EA8 = .bss:0x801C1EA8; // type:object size:0x30 -lbl_801C1ED8 = .bss:0x801C1ED8; // type:object size:0x48 -lbl_801C1F20 = .bss:0x801C1F20; // type:object size:0x28 -lbl_801C1F48 = .bss:0x801C1F48; // type:object size:0xC data:4byte -lbl_801C1F54 = .bss:0x801C1F54; // type:object size:0x34 data:float -lbl_801C1F88 = .bss:0x801C1F88; // type:object size:0x30 -lbl_801C1FB8 = .bss:0x801C1FB8; // type:object size:0x18 -lbl_801C1FD0 = .bss:0x801C1FD0; // type:object size:0x10 data:2byte -lbl_801C1FE0 = .bss:0x801C1FE0; // type:object size:0xC data:4byte -lbl_801C1FEC = .bss:0x801C1FEC; // type:object size:0xC data:float +warpPos = .bss:0x801C1E60; // type:object size:0xC scope:local +starCharPos = .bss:0x801C1E70; // type:object size:0xC scope:local data:4byte +tutorialRoll = .bss:0x801C1E80; // type:object size:0xC scope:local +itemMdlId = .bss:0x801C1E90; // type:object size:0x18 scope:local +pickerPos = .bss:0x801C1EA8; // type:object size:0x30 scope:local +itemPosTemp = .bss:0x801C1ED8; // type:object size:0x48 scope:local +coinF = .bss:0x801C1F20; // type:object size:0x28 scope:local +booBallPos = .bss:0x801C1F48; // type:object size:0xC scope:local data:4byte +booBallScale = .bss:0x801C1F54; // type:object size:0xC scope:local data:float +booCamPos = .bss:0x801C1F60; // type:object size:0xC scope:local data:float +booCamTarget = .bss:0x801C1F6C; // type:object size:0xC scope:local data:float +booCamUp = .bss:0x801C1F78; // type:object size:0xC scope:local data:float +playerPosTemp = .bss:0x801C1F88; // type:object size:0x30 scope:local +bowserEvent = .bss:0x801C1FB8; // type:object size:0x16 scope:local +battleMGList = .bss:0x801C1FD0; // type:object size:0x10 scope:local data:2byte +camPosFortune = .bss:0x801C1FE0; // type:object size:0xC scope:local data:4byte +camTargetFortune = .bss:0x801C1FEC; // type:object size:0xC scope:local data:float lbl_801C1FF8 = .bss:0x801C1FF8; // type:object size:0x20 data:2byte lbl_801C2018 = .bss:0x801C2018; // type:object size:0x40 data:2byte lbl_801C2058 = .bss:0x801C2058; // type:object size:0x10 @@ -5589,7 +5615,7 @@ lbl_801C20D8 = .bss:0x801C20D8; // type:object size:0x20 lbl_801C20F8 = .bss:0x801C20F8; // type:object size:0x10 data:float lbl_801C2108 = .bss:0x801C2108; // type:object size:0x500 data:byte lbl_801C2608 = .bss:0x801C2608; // type:object size:0x80 -lbl_801C2688 = .bss:0x801C2688; // type:object size:0x18 data:4byte +boardTutorialData = .bss:0x801C2688; // type:object size:0x10 data:4byte DriveInfo = .bss:0x801C26A0; // type:object size:0x20 scope:local __OSErrorTable = .bss:0x801C26F0; // type:object size:0x40 scope:global lbl_801C2740 = .bss:0x801C2740; // type:object size:0x20 @@ -5848,49 +5874,49 @@ buttonWin = .sdata:0x801F0AA0; // type:object size:0x2 scope:local data:2byte focusMdl = .sdata:0x801F0AA2; // type:object size:0x2 scope:local data:2byte spaceDrawMdl = .sdata:0x801F0AA8; // type:object size:0x2 scope:local data:2byte starPlatMdl = .sdata:0x801F0AAA; // type:object size:0x2 scope:local data:2byte -lbl_801F0AB0 = .sdata:0x801F0AB0; // type:object size:0x2 data:2byte -lbl_801F0AB2 = .sdata:0x801F0AB2; // type:object size:0x1 data:byte -lbl_801F0AB4 = .sdata:0x801F0AB4; // type:object size:0x8 -lbl_801F0ABC = .sdata:0x801F0ABC; // type:object size:0x2 data:2byte -lbl_801F0ABE = .sdata:0x801F0ABE; // type:object size:0x6 data:2byte -lbl_801F0AC4 = .sdata:0x801F0AC4; // type:object size:0x1 data:byte -lbl_801F0AC5 = .sdata:0x801F0AC5; // type:object size:0xB -lbl_801F0AD0 = .sdata:0x801F0AD0; // type:object size:0x2 data:2byte -lbl_801F0AD2 = .sdata:0x801F0AD2; // type:object size:0x8 data:2byte -lbl_801F0ADA = .sdata:0x801F0ADA; // type:object size:0x2 data:2byte -lbl_801F0ADC = .sdata:0x801F0ADC; // type:object size:0x2 data:2byte -lbl_801F0ADE = .sdata:0x801F0ADE; // type:object size:0x2 data:2byte -lbl_801F0AE2 = .sdata:0x801F0AE2; // type:object size:0x2 data:2byte -lbl_801F0AE4 = .sdata:0x801F0AE4; // type:object size:0x8 -lbl_801F0AEC = .sdata:0x801F0AEC; // type:object size:0x2 data:2byte -lbl_801F0AEE = .sdata:0x801F0AEE; // type:object size:0x2 data:2byte -lbl_801F0AF0 = .sdata:0x801F0AF0; // type:object size:0x2 data:2byte -lbl_801F0AF2 = .sdata:0x801F0AF2; // type:object size:0x2 data:2byte -lbl_801F0AF4 = .sdata:0x801F0AF4; // type:object size:0x4 +itemMdl = .sdata:0x801F0AB0; // type:object size:0x2 scope:local data:2byte +itemChoice = .sdata:0x801F0AB2; // type:object size:0x1 scope:local data:byte +shopMdlParam = .sdata:0x801F0AB4; // type:object size:0x8 scope:local +hostMdl = .sdata:0x801F0ABC; // type:object size:0x2 scope:local data:2byte +shopMot = .sdata:0x801F0ABE; // type:object size:0x6 scope:local data:2byte +itemCurChoice = .sdata:0x801F0AC4; // type:object size:0x1 scope:local data:byte +defaultItemTbl = .sdata:0x801F0AC5; // type:object size:0x5 scope:local +hostMdl = .sdata:0x801F0AD0; // type:object size:0x2 scope:local data:2byte +lotteryMot = .sdata:0x801F0AD2; // type:object size:0x8 scope:local data:2byte +lotterySpr = .sdata:0x801F0ADA; // type:object size:0x2 scope:local data:2byte +lotteryInstWin = .sdata:0x801F0ADC; // type:object size:0x2 scope:local data:2byte +gripMdl = .sdata:0x801F0ADE; // type:object size:0x4 scope:local data:2byte +turnMot = .sdata:0x801F0AE2; // type:object size:0x2 scope:local data:2byte +ballMdl = .sdata:0x801F0AE4; // type:object size:0x8 scope:local +loseMot = .sdata:0x801F0AEC; // type:object size:0x2 scope:local data:2byte +ticketSprGrp = .sdata:0x801F0AEE; // type:object size:0x2 data:2byte +warpSpringMdl = .sdata:0x801F0AF0; // type:object size:0x2 scope:local data:2byte +warpImpactMdl = .sdata:0x801F0AF2; // type:object size:0x2 scope:local data:2byte +warpImpactPlayer = .sdata:0x801F0AF4; // type:object size:0x4 scope:local lbl_801F0AF8 = .sdata:0x801F0AF8; // type:object size:0x8 -lbl_801F0B00 = .sdata:0x801F0B00; // type:object size:0x1 data:byte -lbl_801F0B02 = .sdata:0x801F0B02; // type:object size:0x2 data:2byte -lbl_801F0B04 = .sdata:0x801F0B04; // type:object size:0x4 data:4byte -lbl_801F0B08 = .sdata:0x801F0B08; // type:object size:0x8 -lbl_801F0B10 = .sdata:0x801F0B10; // type:object size:0x8 data:2byte -lbl_801F0B18 = .sdata:0x801F0B18; // type:object size:0x2 data:2byte -lbl_801F0B1A = .sdata:0x801F0B1A; // type:object size:0x6 data:2byte -lbl_801F0B20 = .sdata:0x801F0B20; // type:object size:0x6 -lbl_801F0B26 = .sdata:0x801F0B26; // type:object size:0x6 -lbl_801F0B2C = .sdata:0x801F0B2C; // type:object size:0x2 data:2byte -lbl_801F0B2E = .sdata:0x801F0B2E; // type:object size:0xA -lbl_801F0B38 = .sdata:0x801F0B38; // type:object size:0x2 data:2byte -lbl_801F0B3A = .sdata:0x801F0B3A; // type:object size:0x6 data:2byte -lbl_801F0B40 = .sdata:0x801F0B40; // type:object size:0x2 data:2byte -lbl_801F0B42 = .sdata:0x801F0B42; // type:object size:0x6 data:2byte -lbl_801F0B48 = .sdata:0x801F0B48; // type:object size:0x8 +wheelPos = .sdata:0x801F0B00; // type:object size:0x1 scope:local data:byte +wheelSprGrp = .sdata:0x801F0B02; // type:object size:0x2 scope:local data:2byte +wheelFXStat = .sdata:0x801F0B04; // type:object size:0x4 scope:local data:4byte +boxObj = .sdata:0x801F0B08; // type:object size:0x8 scope:local +itemMdl = .sdata:0x801F0B10; // type:object size:0x2 scope:local data:2byte +starParman = .sdata:0x801F0B18; // type:object size:0x2 scope:local data:2byte +hostMdl = .sdata:0x801F0B1A; // type:object size:0x2 scope:local data:2byte +diceMdl = .sdata:0x801F0B20; // type:object size:0x6 scope:local +diceEff = .sdata:0x801F0B26; // type:object size:0x6 scope:local +rollWin = .sdata:0x801F0B2C; // type:object size:0x2 scope:local data:2byte +lbl_801F0B2E = .sdata:0x801F0B2E; // type:object size:0x3 data:string +itemPickupMdlId = .sdata:0x801F0B38; // type:object size:0x2 scope:local data:2byte +yourTurnSprGrp = .sdata:0x801F0B3A; // type:object size:0x2 scope:local data:2byte +jumpMot = .sdata:0x801F0B40; // type:object size:0x2 scope:local data:2byte +starMdl = .sdata:0x801F0B42; // type:object size:0x2 scope:local data:2byte +itemMotTbl = .sdata:0x801F0B48; // type:object size:0x8 scope:local lbl_801F0B50 = .sdata:0x801F0B50; // type:object size:0x8 -lbl_801F0B58 = .sdata:0x801F0B58; // type:object size:0x2 data:2byte -lbl_801F0B5A = .sdata:0x801F0B5A; // type:object size:0x2 data:2byte -lbl_801F0B5C = .sdata:0x801F0B5C; // type:object size:0x2 data:2byte -lbl_801F0B5E = .sdata:0x801F0B5E; // type:object size:0x2 data:2byte +jumpMot = .sdata:0x801F0B58; // type:object size:0x2 scope:local data:2byte +scareMot = .sdata:0x801F0B5A; // type:object size:0x2 scope:local data:2byte +suitItemMdl = .sdata:0x801F0B5C; // type:object size:0x2 scope:local data:2byte +bowserMdl = .sdata:0x801F0B5E; // type:object size:0x2 scope:local data:2byte lbl_801F0B60 = .sdata:0x801F0B60; // type:object size:0x3 data:string -lbl_801F0B63 = .sdata:0x801F0B63; // type:object size:0xD +lbl_801F0B63 = .sdata:0x801F0B63; // type:object size:0x8 data:string lbl_801F0B70 = .sdata:0x801F0B70; // type:object size:0x8 lbl_801F0B78 = .sdata:0x801F0B78; // type:object size:0x8 lbl_801F0B80 = .sdata:0x801F0B80; // type:object size:0x8 @@ -6365,132 +6391,133 @@ spaceHiliteTexData = .sbss:0x801F138C; // type:object size:0x4 scope:local data: spaceTexData = .sbss:0x801F1390; // type:object size:0x4 scope:local data:4byte spaceAttr = .sbss:0x801F1394; // type:object size:0x8 scope:local data:4byte spaceCnt = .sbss:0x801F139C; // type:object size:0x4 scope:local data:2byte -lbl_801F13A0 = .sbss:0x801F13A0; // type:object size:0x4 data:4byte -lbl_801F13A4 = .sbss:0x801F13A4; // type:object size:0x4 data:4byte -lbl_801F13A8 = .sbss:0x801F13A8; // type:object size:0x4 data:4byte -lbl_801F13AC = .sbss:0x801F13AC; // type:object size:0x4 data:4byte -lbl_801F13B0 = .sbss:0x801F13B0; // type:object size:0x4 data:4byte -lbl_801F13B4 = .sbss:0x801F13B4; // type:object size:0x2 data:2byte -lbl_801F13B6 = .sbss:0x801F13B6; // type:object size:0x1 data:byte -lbl_801F13B8 = .sbss:0x801F13B8; // type:object size:0x4 data:4byte -lbl_801F13BC = .sbss:0x801F13BC; // type:object size:0x4 -lbl_801F13C0 = .sbss:0x801F13C0; // type:object size:0x4 data:4byte -lbl_801F13C4 = .sbss:0x801F13C4; // type:object size:0x4 data:4byte -lbl_801F13C8 = .sbss:0x801F13C8; // type:object size:0x4 data:4byte -lbl_801F13CC = .sbss:0x801F13CC; // type:object size:0x4 data:4byte -lbl_801F13D0 = .sbss:0x801F13D0; // type:object size:0x1 data:byte -lbl_801F13D1 = .sbss:0x801F13D1; // type:object size:0x1 data:byte -lbl_801F13D2 = .sbss:0x801F13D2; // type:object size:0x1 data:byte -lbl_801F13D3 = .sbss:0x801F13D3; // type:object size:0x1 data:byte -lbl_801F13D4 = .sbss:0x801F13D4; // type:object size:0x1 data:byte -lbl_801F13D6 = .sbss:0x801F13D6; // type:object size:0x2 data:2byte -lbl_801F13D8 = .sbss:0x801F13D8; // type:object size:0x8 data:4byte -lbl_801F13E0 = .sbss:0x801F13E0; // type:object size:0x4 data:4byte -lbl_801F13E4 = .sbss:0x801F13E4; // type:object size:0x4 data:float -lbl_801F13E8 = .sbss:0x801F13E8; // type:object size:0x4 data:float -lbl_801F13EC = .sbss:0x801F13EC; // type:object size:0x2 data:2byte -lbl_801F13EE = .sbss:0x801F13EE; // type:object size:0x1 data:byte -lbl_801F13EF = .sbss:0x801F13EF; // type:object size:0x1 data:byte -lbl_801F13F0 = .sbss:0x801F13F0; // type:object size:0x8 data:byte -lbl_801F13F8 = .sbss:0x801F13F8; // type:object size:0x4 data:4byte -lbl_801F13FC = .sbss:0x801F13FC; // type:object size:0x2 data:2byte -lbl_801F1400 = .sbss:0x801F1400; // type:object size:0x4 data:float -lbl_801F1404 = .sbss:0x801F1404; // type:object size:0x2 data:2byte -lbl_801F1408 = .sbss:0x801F1408; // type:object size:0x4 data:float -lbl_801F140C = .sbss:0x801F140C; // type:object size:0x2 data:2byte -lbl_801F140E = .sbss:0x801F140E; // type:object size:0x2 data:2byte -lbl_801F1410 = .sbss:0x801F1410; // type:object size:0x8 data:byte -lbl_801F1418 = .sbss:0x801F1418; // type:object size:0x4 data:4byte -lbl_801F141C = .sbss:0x801F141C; // type:object size:0x4 data:4byte -lbl_801F1420 = .sbss:0x801F1420; // type:object size:0x1 data:byte -lbl_801F1421 = .sbss:0x801F1421; // type:object size:0x7 data:byte -lbl_801F1428 = .sbss:0x801F1428; // type:object size:0x4 data:4byte -lbl_801F142C = .sbss:0x801F142C; // type:object size:0x4 data:4byte -lbl_801F1430 = .sbss:0x801F1430; // type:object size:0x4 data:4byte -lbl_801F1434 = .sbss:0x801F1434; // type:object size:0x2 data:2byte -lbl_801F1438 = .sbss:0x801F1438; // type:object size:0x4 data:4byte -lbl_801F143C = .sbss:0x801F143C; // type:object size:0x2 data:2byte -lbl_801F1440 = .sbss:0x801F1440; // type:object size:0x4 data:4byte -lbl_801F1444 = .sbss:0x801F1444; // type:object size:0x1 data:byte -lbl_801F1445 = .sbss:0x801F1445; // type:object size:0xB -lbl_801F1450 = .sbss:0x801F1450; // type:object size:0x4 data:4byte -lbl_801F1454 = .sbss:0x801F1454; // type:object size:0x1 data:byte -lbl_801F1455 = .sbss:0x801F1455; // type:object size:0x1 data:byte -lbl_801F1456 = .sbss:0x801F1456; // type:object size:0x1 data:byte -lbl_801F1457 = .sbss:0x801F1457; // type:object size:0x1 data:byte -lbl_801F1458 = .sbss:0x801F1458; // type:object size:0x1 data:byte -lbl_801F1459 = .sbss:0x801F1459; // type:object size:0x1 data:byte -lbl_801F145A = .sbss:0x801F145A; // type:object size:0x6 data:byte -lbl_801F1460 = .sbss:0x801F1460; // type:object size:0x4 data:4byte -lbl_801F1464 = .sbss:0x801F1464; // type:object size:0x4 data:4byte -lbl_801F1468 = .sbss:0x801F1468; // type:object size:0x4 data:4byte -lbl_801F146C = .sbss:0x801F146C; // type:object size:0x4 data:4byte -lbl_801F1470 = .sbss:0x801F1470; // type:object size:0x4 data:4byte -lbl_801F1474 = .sbss:0x801F1474; // type:object size:0x4 data:4byte -lbl_801F1478 = .sbss:0x801F1478; // type:object size:0x4 data:float -lbl_801F147C = .sbss:0x801F147C; // type:object size:0x6 -lbl_801F1482 = .sbss:0x801F1482; // type:object size:0x1 data:byte -lbl_801F1483 = .sbss:0x801F1483; // type:object size:0x1 data:byte -lbl_801F1484 = .sbss:0x801F1484; // type:object size:0x1 data:byte -lbl_801F1486 = .sbss:0x801F1486; // type:object size:0x6 data:2byte -lbl_801F148C = .sbss:0x801F148C; // type:object size:0x4 data:4byte -lbl_801F1490 = .sbss:0x801F1490; // type:object size:0x1 data:byte -lbl_801F1491 = .sbss:0x801F1491; // type:object size:0x1 data:byte -lbl_801F1492 = .sbss:0x801F1492; // type:object size:0x1 data:byte -lbl_801F1493 = .sbss:0x801F1493; // type:object size:0x1 data:byte -lbl_801F1494 = .sbss:0x801F1494; // type:object size:0x1 data:byte -lbl_801F1498 = .sbss:0x801F1498; // type:object size:0x4 data:4byte -lbl_801F149C = .sbss:0x801F149C; // type:object size:0x4 data:4byte -lbl_801F14A0 = .sbss:0x801F14A0; // type:object size:0x4 data:float -lbl_801F14A4 = .sbss:0x801F14A4; // type:object size:0x4 data:float -lbl_801F14A8 = .sbss:0x801F14A8; // type:object size:0x8 data:float -lbl_801F14B0 = .sbss:0x801F14B0; // type:object size:0x4 data:4byte -lbl_801F14B4 = .sbss:0x801F14B4; // type:object size:0x8 data:2byte -lbl_801F14BC = .sbss:0x801F14BC; // type:object size:0x4 data:4byte -lbl_801F14C0 = .sbss:0x801F14C0; // type:object size:0x4 data:float -lbl_801F14C4 = .sbss:0x801F14C4; // type:object size:0x8 -lbl_801F14CC = .sbss:0x801F14CC; // type:object size:0x4 data:float -lbl_801F14D0 = .sbss:0x801F14D0; // type:object size:0x2 data:2byte -lbl_801F14D4 = .sbss:0x801F14D4; // type:object size:0x8 data:4byte -lbl_801F14DC = .sbss:0x801F14DC; // type:object size:0x8 data:4byte -lbl_801F14E4 = .sbss:0x801F14E4; // type:object size:0x2 data:2byte -lbl_801F14E6 = .sbss:0x801F14E6; // type:object size:0x1 data:byte -lbl_801F14E7 = .sbss:0x801F14E7; // type:object size:0x1 data:byte -lbl_801F14E8 = .sbss:0x801F14E8; // type:object size:0x8 -lbl_801F14F0 = .sbss:0x801F14F0; // type:object size:0x4 data:4byte -lbl_801F14F4 = .sbss:0x801F14F4; // type:object size:0x4 data:4byte -lbl_801F14F8 = .sbss:0x801F14F8; // type:object size:0x4 data:4byte -lbl_801F14FC = .sbss:0x801F14FC; // type:object size:0x4 data:4byte -lbl_801F1500 = .sbss:0x801F1500; // type:object size:0x4 data:4byte -lbl_801F1504 = .sbss:0x801F1504; // type:object size:0x4 data:4byte -lbl_801F1508 = .sbss:0x801F1508; // type:object size:0x8 -lbl_801F1510 = .sbss:0x801F1510; // type:object size:0x8 -lbl_801F1518 = .sbss:0x801F1518; // type:object size:0x4 data:4byte -lbl_801F151C = .sbss:0x801F151C; // type:object size:0x2 data:2byte -lbl_801F151E = .sbss:0x801F151E; // type:object size:0x8 data:2byte -lbl_801F1526 = .sbss:0x801F1526; // type:object size:0x2 data:2byte -lbl_801F1528 = .sbss:0x801F1528; // type:object size:0x1 data:byte -lbl_801F1529 = .sbss:0x801F1529; // type:object size:0x7 data:byte -lbl_801F1530 = .sbss:0x801F1530; // type:object size:0x4 data:4byte -lbl_801F1534 = .sbss:0x801F1534; // type:object size:0x4 data:4byte -lbl_801F1538 = .sbss:0x801F1538; // type:object size:0x4 data:4byte -lbl_801F153C = .sbss:0x801F153C; // type:object size:0x4 data:float -lbl_801F1540 = .sbss:0x801F1540; // type:object size:0x4 data:float -lbl_801F1544 = .sbss:0x801F1544; // type:object size:0x8 -lbl_801F154C = .sbss:0x801F154C; // type:object size:0x1 data:byte -lbl_801F154E = .sbss:0x801F154E; // type:object size:0x1 data:byte -lbl_801F1550 = .sbss:0x801F1550; // type:object size:0x2 data:2byte -lbl_801F1552 = .sbss:0x801F1552; // type:object size:0x1 data:byte -lbl_801F1553 = .sbss:0x801F1553; // type:object size:0x1 data:byte -lbl_801F1554 = .sbss:0x801F1554; // type:object size:0x1 data:byte -lbl_801F1558 = .sbss:0x801F1558; // type:object size:0x4 data:4byte -lbl_801F155C = .sbss:0x801F155C; // type:object size:0x4 data:4byte -lbl_801F1560 = .sbss:0x801F1560; // type:object size:0x1 data:byte -lbl_801F1561 = .sbss:0x801F1561; // type:object size:0x1 data:byte -lbl_801F1562 = .sbss:0x801F1562; // type:object size:0x1 data:byte -lbl_801F1563 = .sbss:0x801F1563; // type:object size:0x1 data:byte -lbl_801F1564 = .sbss:0x801F1564; // type:object size:0x1 data:byte -lbl_801F1565 = .sbss:0x801F1565; // type:object size:0x1 data:byte +shopProc = .sbss:0x801F13A0; // type:object size:0x4 scope:local data:4byte +shopWinObj = .sbss:0x801F13A4; // type:object size:0x4 scope:local data:4byte +itemGiveObj = .sbss:0x801F13A8; // type:object size:0x4 scope:local data:4byte +itemChoiceObj = .sbss:0x801F13AC; // type:object size:0x4 scope:local data:4byte +comF = .sbss:0x801F13B0; // type:object size:0x4 scope:local data:4byte +angleVal = .sbss:0x801F13B4; // type:object size:0x2 scope:local data:2byte +shopPlayer = .sbss:0x801F13B6; // type:object size:0x1 scope:local data:byte +shopMdlPtr = .sbss:0x801F13B8; // type:object size:0x4 scope:local data:4byte +shopMdlIdx = .sbss:0x801F13BC; // type:object size:0x4 scope:local +lotteryProc = .sbss:0x801F13C0; // type:object size:0x4 scope:local data:4byte +comInputDrawP = .sbss:0x801F13C4; // type:object size:0x4 scope:local data:4byte +lotteryTicketPickObj = .sbss:0x801F13C8; // type:object size:0x4 scope:local data:4byte +handUpdateF = .sbss:0x801F13CC; // type:object size:0x4 scope:local data:4byte +comInputPos = .sbss:0x801F13D0; // type:object size:0x1 scope:local data:byte +comLotteryWinType = .sbss:0x801F13D1; // type:object size:0x1 scope:local data:byte +comLotteryType = .sbss:0x801F13D2; // type:object size:0x1 scope:local data:byte +lbl_801D401B = .sbss:0x801F13D3; // type:object size:0x1 scope:local data:byte +currPrize = .sbss:0x801F13D4; // type:object size:0x1 scope:local data:byte +lotterySpace = .sbss:0x801F13D6; // type:object size:0x2 scope:local data:2byte +lotteryMessBase = .sbss:0x801F13D8; // type:object size:0x4 scope:local data:4byte +warpProcess = .sbss:0x801F13E0; // type:object size:0x4 scope:local data:4byte +warpYVel = .sbss:0x801F13E4; // type:object size:0x4 scope:local data:float +warpYFloor = .sbss:0x801F13E8; // type:object size:0x4 scope:local data:float +warpSpace = .sbss:0x801F13EC; // type:object size:0x2 scope:local data:2byte +warpImpactCnt = .sbss:0x801F13EE; // type:object size:0x1 scope:local data:byte +warpTarget = .sbss:0x801F13EF; // type:object size:0x1 scope:local data:byte +warpState = .sbss:0x801F13F0; // type:object size:0x1 scope:local data:byte +charWheelObj = .sbss:0x801F13F8; // type:object size:0x4 scope:local data:4byte +targetF = .sbss:0x801F13FC; // type:object size:0x2 scope:local data:2byte +angleOfs = .sbss:0x801F1400; // type:object size:0x4 scope:local data:float +targetVal = .sbss:0x801F1404; // type:object size:0x2 scope:local data:2byte +wheelSpeed = .sbss:0x801F1408; // type:object size:0x4 scope:local data:float +wheelTimer = .sbss:0x801F140C; // type:object size:0x2 scope:local data:2byte +comDelay = .sbss:0x801F140E; // type:object size:0x2 scope:local data:2byte +wheelChars = .sbss:0x801F1410; // type:object size:0x4 scope:local data:byte +mushroomProc = .sbss:0x801F1418; // type:object size:0x4 scope:local data:4byte +itemGiveObj = .sbss:0x801F141C; // type:object size:0x4 scope:local data:4byte +pickerChoice = .sbss:0x801F1420; // type:object size:0x1 scope:local data:byte +itemResult = .sbss:0x801F1421; // type:object size:0x1 scope:local data:byte +starProc = .sbss:0x801F1428; // type:object size:0x4 scope:local data:4byte +giveStarObj = .sbss:0x801F142C; // type:object size:0x4 scope:local data:4byte +starEffAnim = .sbss:0x801F1430; // type:object size:0x4 scope:local data:4byte +starDoneF = .sbss:0x801F1434; // type:object size:0x2 scope:local data:2byte +showNextObj = .sbss:0x801F1438; // type:object size:0x4 scope:local data:4byte +hostMot = .sbss:0x801F143C; // type:object size:0x4 scope:local data:2byte +rollProc = .sbss:0x801F1440; // type:object size:0x4 scope:local data:4byte +tutorialRollF = .sbss:0x801F1444; // type:object size:0x1 scope:local data:byte +sameRollCoinStr = .sbss:0x801F1445; // type:object size:0x8 scope:local +lbl_801D4098 = .sbss:0x801F1450; // type:object size:0x4 data:4byte +diceSize = .sbss:0x801F1454; // type:object size:0x1 scope:local data:byte +destMode = .sbss:0x801F1455; // type:object size:0x1 scope:local data:byte +maxRoll = .sbss:0x801F1456; // type:object size:0x1 scope:local data:byte +inputTimer = .sbss:0x801F1457; // type:object size:0x1 scope:local data:byte +numDice = .sbss:0x801F1458; // type:object size:0x1 scope:local data:byte +rollPlayer = .sbss:0x801F1459; // type:object size:0x1 scope:local data:byte +diceValue = .sbss:0x801F145A; // type:object size:0x3 scope:local data:byte +statusProc = .sbss:0x801F1460; // type:object size:0x4 scope:local data:4byte +itemWindowObj = .sbss:0x801F1464; // type:object size:0x4 scope:local data:4byte +pickerObj = .sbss:0x801F1468; // type:object size:0x4 scope:local data:4byte +yourTurnObj = .sbss:0x801F146C; // type:object size:0x4 scope:local data:4byte +itemUseProc = .sbss:0x801F1470; // type:object size:0x4 scope:local data:4byte +itemPickObj = .sbss:0x801F1474; // type:object size:0x4 scope:local data:4byte +itemPickupPos = .sbss:0x801F1478; // type:object size:0x4 scope:local data:float +itemRandTbl = .sbss:0x801F147C; // type:object size:0x6 scope:local +teamItemPlayer = .sbss:0x801F1482; // type:object size:0x1 scope:local data:byte +itemUsed = .sbss:0x801F1483; // type:object size:0x1 scope:local data:byte +itemPlayer = .sbss:0x801F1484; // type:object size:0x1 scope:local data:byte +yourTurnSpr = .sbss:0x801F1486; // type:object size:0x2 scope:local data:2byte +lbl_801D40D0 = .sbss:0x801F1488; // type:object size:0x4 data:2byte +pickerBackF = .sbss:0x801F148C; // type:object size:0x4 scope:local data:4byte +pickerChoiceDefault = .sbss:0x801F1490; // type:object size:0x1 scope:local data:byte +pickerChoice = .sbss:0x801F1491; // type:object size:0x1 scope:local data:byte +boardItemUser = .sbss:0x801F1492; // type:object size:0x1 data:byte +itemTeamF = .sbss:0x801F1493; // type:object size:0x1 scope:local data:byte +itemTeam = .sbss:0x801F1494; // type:object size:0x1 scope:local data:byte +blockProc = .sbss:0x801F1498; // type:object size:0x4 scope:local data:4byte +blockObj = .sbss:0x801F149C; // type:object size:0x4 scope:local data:4byte +rotY = .sbss:0x801F14A0; // type:object size:0x4 scope:local data:float +scaleAngle = .sbss:0x801F14A4; // type:object size:0x4 scope:local data:float +rotMax = .sbss:0x801F14A8; // type:object size:0x4 scope:local data:float +itemProc = .sbss:0x801F14B0; // type:object size:0x4 scope:local data:4byte +geniePlayerMot = .sbss:0x801F14B4; // type:object size:0x6 scope:local data:2byte +genieParticleAnim = .sbss:0x801F14BC; // type:object size:0x4 scope:local data:4byte +genieFov = .sbss:0x801F14C0; // type:object size:0x4 scope:local data:float +booCoinStr = .sbss:0x801F14C4; // type:object size:0x8 scope:local +booBallAlpha = .sbss:0x801F14CC; // type:object size:0x4 scope:local data:float +booBallMdl = .sbss:0x801F14D0; // type:object size:0x2 scope:local data:2byte +suitCommonMot = .sbss:0x801F14D4; // type:object size:0x8 scope:local data:4byte +suitMot = .sbss:0x801F14DC; // type:object size:0x8 scope:local data:4byte +suitMdl = .sbss:0x801F14E4; // type:object size:0x2 scope:local data:2byte +currItem = .sbss:0x801F14E6; // type:object size:0x1 scope:local data:byte +currItemRestore = .sbss:0x801F14E7; // type:object size:0x1 scope:local data:byte +itemBagItems = .sbss:0x801F14E8; // type:object size:0x6 scope:local +bowserProc = .sbss:0x801F14F0; // type:object size:0x4 scope:local data:4byte +bowserObj = .sbss:0x801F14F4; // type:object size:0x4 scope:local data:4byte +miniBowserObj = .sbss:0x801F14F8; // type:object size:0x4 scope:local data:4byte +bowserEventObj = .sbss:0x801F14FC; // type:object size:0x4 scope:local data:4byte +miniBowserBalloonObj = .sbss:0x801F1500; // type:object size:0x4 scope:local data:4byte +suitGiveObj = .sbss:0x801F1504; // type:object size:0x4 scope:local data:4byte +coinStealStr = .sbss:0x801F1508; // type:object size:0x8 scope:local +coinStealStrAll = .sbss:0x801F1510; // type:object size:0x8 scope:local +fireAnim = .sbss:0x801F1518; // type:object size:0x4 scope:local data:4byte +fireParMan = .sbss:0x801F151C; // type:object size:0x2 scope:local data:2byte +playerMot = .sbss:0x801F151E; // type:object size:0x8 scope:local data:2byte +eventSpace = .sbss:0x801F1526; // type:object size:0x2 scope:local data:2byte +eventType = .sbss:0x801F1528; // type:object size:0x1 scope:local data:byte +eventPlayer = .sbss:0x801F1529; // type:object size:0x1 scope:local data:byte +battleProc = .sbss:0x801F1530; // type:object size:0x4 scope:local data:4byte +battleObj = .sbss:0x801F1534; // type:object size:0x4 scope:local data:4byte +explodeObj = .sbss:0x801F1538; // type:object size:0x4 scope:local data:4byte +battleCoinPosF = .sbss:0x801F153C; // type:object size:0x4 scope:local data:float +battleCoinSpeed = .sbss:0x801F1540; // type:object size:0x4 scope:local data:float +totalCoinStr = .sbss:0x801F1544; // type:object size:0x8 scope:local +battleMGIdx = .sbss:0x801F154C; // type:object size:0x2 scope:local data:byte +battleCoinIdx = .sbss:0x801F154E; // type:object size:0x1 scope:local data:byte +currSpace = .sbss:0x801F1550; // type:object size:0x2 scope:local data:2byte +mgChoice = .sbss:0x801F1552; // type:object size:0x1 scope:local data:byte +coinTakeMax = .sbss:0x801F1553; // type:object size:0x1 scope:local data:byte +currPlayer = .sbss:0x801F1554; // type:object size:0x1 scope:local data:byte +fortuneProc = .sbss:0x801F1558; // type:object size:0x4 scope:local data:4byte +fortunePlatformObj = .sbss:0x801F155C; // type:object size:0x4 scope:local data:4byte +comStar = .sbss:0x801F1560; // type:object size:0x1 scope:local data:byte +comCoin = .sbss:0x801F1561; // type:object size:0x1 scope:local data:byte +comPrize = .sbss:0x801F1562; // type:object size:0x1 scope:local data:byte +comPlayer1 = .sbss:0x801F1563; // type:object size:0x1 scope:local data:byte +comPlayer2 = .sbss:0x801F1564; // type:object size:0x1 scope:local data:byte +currPlayer = .sbss:0x801F1565; // type:object size:0x1 scope:local data:byte lbl_801F1568 = .sbss:0x801F1568; // type:object size:0x4 data:4byte lbl_801F156C = .sbss:0x801F156C; // type:object size:0x4 data:4byte lbl_801F1570 = .sbss:0x801F1570; // type:object size:0x4 data:4byte @@ -7593,7 +7620,7 @@ lbl_801F2A68 = .sdata2:0x801F2A68; // type:object size:0x4 data:float lbl_801F2A6C = .sdata2:0x801F2A6C; // type:object size:0x4 data:float lbl_801F2A70 = .sdata2:0x801F2A70; // type:object size:0x4 data:float lbl_801F2A74 = .sdata2:0x801F2A74; // type:object size:0x4 data:float -lbl_801F2A78 = .sdata2:0x801F2A78; // type:object size:0x8 +coinSignMdl = .sdata2:0x801F2A78; // type:object size:0x8 scope:local lbl_801F2A80 = .sdata2:0x801F2A80; // type:object size:0x4 data:float lbl_801F2A84 = .sdata2:0x801F2A84; // type:object size:0x4 data:float lbl_801F2A88 = .sdata2:0x801F2A88; // type:object size:0x4 data:float @@ -7661,7 +7688,7 @@ lbl_801F2BB8 = .sdata2:0x801F2BB8; // type:object size:0x8 data:double lbl_801F2BC0 = .sdata2:0x801F2BC0; // type:object size:0x4 data:float lbl_801F2BC8 = .sdata2:0x801F2BC8; // type:object size:0x8 data:double lbl_801F2BD0 = .sdata2:0x801F2BD0; // type:object size:0x8 data:float -lbl_801F2BD8 = .sdata2:0x801F2BD8; // type:object size:0x8 +boxOfs = .sdata2:0x801F2BD8; // type:object size:0x8 scope:local lbl_801F2BE0 = .sdata2:0x801F2BE0; // type:object size:0x4 data:float lbl_801F2BE4 = .sdata2:0x801F2BE4; // type:object size:0x4 data:float lbl_801F2BE8 = .sdata2:0x801F2BE8; // type:object size:0x4 data:float @@ -7980,7 +8007,7 @@ lbl_801F319A = .sdata2:0x801F319A; // type:object size:0x1 data:byte lbl_801F319C = .sdata2:0x801F319C; // type:object size:0x4 data:float lbl_801F31A0 = .sdata2:0x801F31A0; // type:object size:0x8 data:double lbl_801F31A8 = .sdata2:0x801F31A8; // type:object size:0x8 data:float -lbl_801F31B0 = .sdata2:0x801F31B0; // type:object size:0x8 +battleCoinTbl = .sdata2:0x801F31B0; // type:object size:0x5 scope:local lbl_801F31B8 = .sdata2:0x801F31B8; // type:object size:0x4 data:float lbl_801F31BC = .sdata2:0x801F31BC; // type:object size:0x4 data:float lbl_801F31C0 = .sdata2:0x801F31C0; // type:object size:0x4 data:float diff --git a/config/GMPP01_02/config.yml b/config/GMPP01_02/config.yml index 81dce3b1..19380dcf 100644 --- a/config/GMPP01_02/config.yml +++ b/config/GMPP01_02/config.yml @@ -5,7 +5,7 @@ symbols: config/GMPP01_00/symbols.txt splits: config/GMPP01_00/splits.txt quick_analysis: false # Faster re-runs after initial analysis mw_comment_version: 10 # GC 2.6 linker -force_active: [__register_global_object] +force_active: [__register_global_object, lbl_801D40D0] detect_objects: true detect_strings: true diff --git a/configure.py b/configure.py index 201b0dcc..1d2efd07 100644 --- a/configure.py +++ b/configure.py @@ -430,20 +430,20 @@ config.libs = [ Object(Matching, "game/board/com.c"), Object(Matching, "game/board/view.c"), Object(Matching, "game/board/space.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/shop.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/lottery.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/basic_space.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/warp.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/char_wheel.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/mushroom.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/star.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/roll.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/ui.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/block.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/item.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/bowser.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/battle.c"), - Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/fortune.c"), + Object(Matching, "game/board/shop.c"), + Object(Matching, "game/board/lottery.c"), + Object(Matching, "game/board/basic_space.c"), + Object(Matching, "game/board/warp.c"), + Object(Matching, "game/board/char_wheel.c"), + Object(Matching, "game/board/mushroom.c"), + Object(Matching, "game/board/star.c"), + Object(Matching, "game/board/roll.c"), + Object(Matching, "game/board/ui.c"), + Object(Matching, "game/board/block.c"), + Object(Matching, "game/board/item.c"), + Object(Matching, "game/board/bowser.c"), + Object(Matching, "game/board/battle.c"), + Object(Matching, "game/board/fortune.c"), Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/boo.c"), Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/mg_setup.c"), Object(MatchingFor("GMPE01_00", "GMPE01_01"), "game/board/boo_house.c"), diff --git a/include/game/board/window.h b/include/game/board/window.h index eb015c5f..dd0b87df 100644 --- a/include/game/board/window.h +++ b/include/game/board/window.h @@ -31,5 +31,6 @@ s32 BoardWinPortraitGetStar(void); void BoardWinPlayerSet(s32 player); void BoardWinStartComKeySet(void); void BoardWinComKeyFuncSet(BoardWinComKeyFunc func); +s16 BoardWinIDGet(void); #endif \ No newline at end of file diff --git a/src/game/board/char_wheel.c b/src/game/board/char_wheel.c index 380fc7bc..13e4664f 100755 --- a/src/game/board/char_wheel.c +++ b/src/game/board/char_wheel.c @@ -132,6 +132,12 @@ static void ExecCharWheel(omObjData *arg0) { temp_r31 = OM_GET_WORK_PTR(arg0, CharWheelWork);; if (temp_r31->unk00_field0 != 0 || BoardIsKill()) { KillCharWheelSpr(); + #if VERSION_PAL + if (wheelFXStat != -1) { + HuAudFXStop(wheelFXStat); + wheelFXStat = -1; + } + #endif charWheelObj = NULL; omDelObjEx(HuPrcCurrentGet(), arg0); return; @@ -322,7 +328,13 @@ static void UpdateCharWheel(CharWheelWork *arg0) { } var_f23 = 8191.0f - 8191.0f * (var_f25 / wheelSpeed); OSf32tos16(&var_f23, &var_r17); + #if VERSION_PAL + if(wheelFXStat != -1) { + HuAudFXPitchSet(wheelFXStat, -var_r17); + } + #else HuAudFXPitchSet(wheelFXStat, -var_r17); + #endif if (var_f25 > -0.0000001f && var_f25 < 0.0000001f) { arg0->unk00_field3 = 3; if (wheelFXStat != -1) { @@ -379,7 +391,14 @@ static void GrowCharWheel(CharWheelWork *arg0) { } arg0->unk02 = 90; arg0->unk00_field3 = 2; + #if VERSION_PAL + if(!BoardIsKill()) { + wheelFXStat = HuAudFXPlay(0x30A); + } + #else wheelFXStat = HuAudFXPlay(0x30A); + #endif + } OSs8tof32(&arg0->unk02, &temp_f30); HuSprGrpScaleSet(wheelSprGrp, sind(temp_f30), sind(temp_f30)); diff --git a/src/game/board/item.c b/src/game/board/item.c index df2f49b1..4386a4a7 100755 --- a/src/game/board/item.c +++ b/src/game/board/item.c @@ -112,7 +112,7 @@ static AnimData *genieParticleAnim; static s16 geniePlayerMot[3]; static Process *itemProc; -s32 lbl_801D37A0[2] = { DATA_MAKE_NUM(DATADIR_BOARD, 117), -1 }; +static s32 itemMotTbl[2] = { DATA_MAKE_NUM(DATADIR_BOARD, 117), -1 }; static void (*itemFuncTbl[])(void) = { ExecItemMini, ExecItemMega, ExecItemMiniSuper, ExecItemMegaSuper, ExecItemHammer, ExecItemPipe, ExecItemSwap, ExecItemSpark, ExecItemLight, ExecItemWhistle, ExecItemBowser, ExecItemBooBall, ExecItemGenie, ExecItemBag }; @@ -1183,7 +1183,7 @@ static void ExecItemSpark(void) BoardModelLayerSet(temp_r30, 3); BoardModelVisibilitySet(temp_r30, 0); HuAudFXPlay(0x350); - suitMdl = BoardModelCreate(itemMdlTbl[currItem], lbl_801D37A0, 0); + suitMdl = BoardModelCreate(itemMdlTbl[currItem], itemMotTbl, 0); BoardModelLayerSet(suitMdl, 2); ItemShowProc(NULL, NULL); temp_r28 = GWPlayer[currItemRestore].space_curr; diff --git a/src/game/board/roll.c b/src/game/board/roll.c index fecf6dd3..c52bd6a5 100755 --- a/src/game/board/roll.c +++ b/src/game/board/roll.c @@ -139,6 +139,71 @@ s32 BoardRollExec(s32 arg0) return destMode; } +static void RollWinCreate(s32 playerNo) +{ + float sp8[2]; + float posX; + float posY; + s32 var_r29; + s32 var_r27; + s32 temp_r25; + + if (!_CheckFlag(FLAG_ID_MAKE(1, 11))) { + var_r27 = BoardPlayerItemCount(playerNo); + if (GWTeamGet()) { + temp_r25 = BoardPlayerSameTeamFind(playerNo); + var_r27 += BoardPlayerItemCount(temp_r25); + } + if (BoardItemPrevGet() != -1 || var_r27 == 0 || _CheckFlag(FLAG_ID_MAKE(1, 9)) || BoardMegaDoubleDiceCheck()) { + var_r29 = MAKE_MESSID(0x09, 0x04); + } + else { + var_r29 = MAKE_MESSID(0x09, 0x02); + } + if (inputTimer != 0) { + var_r29 = MAKE_MESSID(0x30, 0x25); + } + HuWinMesMaxSizeGet(1, sp8, var_r29); + #if VERSION_PAL + posY = HU_DISP_HEIGHT - 176; + switch (GWGameStat.language) { + case 0: + case 4: + posX = -10000.0f; + break; + + case 3: + posX = HU_DISP_CENTERX - (sp8[0] / 2 - 32.0f); + break; + + case 5: + posX = HU_DISP_CENTERX - (sp8[0] / 2 - 16.0f); + posY = 258; + break; + + default: + posX = HU_DISP_CENTERX - (sp8[0] / 2 - 16.0f); + break; + } + #else + switch (GWGameStat.language) { + case 0: + posX = -10000.0f; + break; + case 1: + posX = HU_DISP_CENTERX - (sp8[0] / 2 - 16.0f); + break; + } + posY = HU_DISP_HEIGHT - 176; + #endif + + rollWin = HuWinCreate(posX, posY, sp8[0], sp8[1], 0); + HuWinBGTPLvlSet(rollWin, 0.0f); + HuWinMesSpeedSet(rollWin, 0); + HuWinMesSet(rollWin, var_r29); + } +} + void BoardRollKill(void) { if (rollProc) { @@ -177,15 +242,11 @@ void BoardRollWinDispSet(s32 arg0) static void RollMain(void) { - float sp8[2]; - float var_f31; - float var_f30; + s32 var_r28; - s32 var_r27; - s32 temp_r26; - s32 temp_r25; + s32 var_r30; - s32 var_r29; + s32 i; diceValue[0] = diceValue[1] = diceValue[2] = 0; @@ -195,37 +256,7 @@ static void RollMain(void) BoardCameraMotionWait(); BoardCameraTargetModelSet(-1); for (i = 0; i < numDice; i++) { - temp_r26 = rollPlayer; - if (!_CheckFlag(FLAG_ID_MAKE(1, 11))) { - var_r27 = BoardPlayerItemCount(temp_r26); - if (GWTeamGet()) { - temp_r25 = BoardPlayerSameTeamFind(temp_r26); - var_r27 += BoardPlayerItemCount(temp_r25); - } - if (BoardItemPrevGet() != -1 || var_r27 == 0 || _CheckFlag(FLAG_ID_MAKE(1, 9)) || BoardMegaDoubleDiceCheck()) { - var_r29 = MAKE_MESSID(0x09, 0x04); - } - else { - var_r29 = MAKE_MESSID(0x09, 0x02); - } - if (inputTimer != 0) { - var_r29 = MAKE_MESSID(0x30, 0x25); - } - HuWinMesMaxSizeGet(1, sp8, var_r29); - switch (GWGameStat.language) { - case 0: - var_f31 = -10000.0f; - break; - case 1: - var_f31 = HU_DISP_CENTERX - (sp8[0] / 2 - 16.0f); - break; - } - var_f30 = HU_DISP_HEIGHT - 176; - rollWin = HuWinCreate(var_f31, var_f30, sp8[0], sp8[1], 0); - HuWinBGTPLvlSet(rollWin, 0.0f); - HuWinMesSpeedSet(rollWin, 0); - HuWinMesSet(rollWin, var_r29); - } + RollWinCreate(rollPlayer); DiceCreate(i); DiceWaitFull(i); DoInput(i); diff --git a/src/game/board/shop.c b/src/game/board/shop.c index 92198602..47b332c3 100755 --- a/src/game/board/shop.c +++ b/src/game/board/shop.c @@ -984,7 +984,12 @@ static void CreateShopItemChoice(s32 arg0, s32 arg1) { omObjData *temp_r30; ItemChoiceWork *var_r31; s16 spC; - + s16 i; + #if VERSION_PAL + for(i=0; i<6; i++) { + cursorPosTbl[i][0] = 190; + } + #endif temp_r30 = omAddObjEx(boardObjMan, 0x7E01, 0, 0, -1, UpdateShopItemChoice); itemChoiceObj = temp_r30; itemChoice = -1; @@ -996,11 +1001,29 @@ static void CreateShopItemChoice(s32 arg0, s32 arg1) { var_r31->unk02 = 0; var_r31->unk03 = arg1; var_r31->unk06 = HuSprGrpCreate(1); + #if VERSION_PAL + if (GWLanguageGet() != 0) { + s16 winId = BoardWinIDGet(); + if(winId != -1) { + WindowData *winP = &winData[winId]; + for(i=0; i<6; i++) { + cursorPosTbl[i][0] = winP->pos_x+96; + } + } else { + for(i=0; i<6; i++) { + cursorPosTbl[i][0] = 166; + } + } + } + temp_r30->trans.x = cursorPosTbl[0][0]; + temp_r30->trans.y = cursorPosTbl[0][1]; + #else temp_r30->trans.x = cursorPosTbl[0][0]; temp_r30->trans.y = cursorPosTbl[0][1]; if (GWLanguageGet() != 0) { temp_r30->trans.x -= 24.0f; } + #endif if (GWPlayer[arg0].com) { var_r31->unk01 = GWMessDelayGet(); } @@ -1032,9 +1055,11 @@ static void MoveShopItemChoice(omObjData *arg0, ItemChoiceWork *arg1) { temp_r28 = arg1->unk02; arg0->trans.x = cursorPosTbl[arg1->unk02][0]; arg0->trans.y = cursorPosTbl[arg1->unk02][1]; + #if VERSION_NTSC if (GWLanguageGet() != 0) { arg0->trans.x -= 24.0f; } + #endif if (GWPlayer[arg1->unk00_field1].com) { GetShopItemChoiceInput(arg1, arg0, &sp8); } else { diff --git a/src/game/board/star.c b/src/game/board/star.c index f4579aa8..3f2a0ba5 100755 --- a/src/game/board/star.c +++ b/src/game/board/star.c @@ -74,7 +74,7 @@ static Process *starProc; static s16 starParman = -1; static s16 hostMdl = -1; -const s32 lbl_8011E040[9] = { +static const s32 starMesTbl1[9] = { MAKE_MESSID(12, 0), MAKE_MESSID(12, 9), MAKE_MESSID(12, 18), @@ -86,7 +86,7 @@ const s32 lbl_8011E040[9] = { MAKE_MESSID(12, 0) }; -const s32 lbl_8011E064[9][2] = { +static const s32 starMesTbl2[9][2] = { { MAKE_MESSID(21, 34), MAKE_MESSID(21, 40) }, { MAKE_MESSID(21, 35), MAKE_MESSID(21, 41) }, { MAKE_MESSID(21, 36), MAKE_MESSID(21, 42) }, @@ -249,12 +249,12 @@ static void ExecStar(void) { BoardCameraViewSet(3); BoardCameraMotionWait(); if (GWStarsGet(temp_r31) >= 999) { - temp_r29 = lbl_8011E040[temp_r27] + 5; + temp_r29 = starMesTbl1[temp_r27] + 5; BoardWinCreate(0, temp_r29, BoardWinPortraitGetStar()); BoardWinWait(); BoardWinKill(); } else if (BoardPlayerCoinsGet(temp_r31) < 20 && GWSystem.last5_effect != 4) { - temp_r29 = lbl_8011E040[temp_r27] + 2; + temp_r29 = starMesTbl1[temp_r27] + 2; BoardWinCreate(2, temp_r29, BoardWinPortraitGetStar()); BoardWinWait(); BoardWinKill(); @@ -263,7 +263,7 @@ static void ExecStar(void) { while (!BoardStatusStopCheck(0) || !BoardStatusStopCheck(1) || !BoardStatusStopCheck(2) || !BoardStatusStopCheck(3)) { HuPrcVSleep(); } - temp_r29 = lbl_8011E040[temp_r27]; + temp_r29 = starMesTbl1[temp_r27]; BoardWinCreate(2, temp_r29, BoardWinPortraitGetStar()); BoardWinInsertMesSet(BoardPlayerGetCharMess(temp_r31), 0); BoardWinWait(); @@ -275,12 +275,12 @@ static void ExecStar(void) { HuPrcVSleep(); } if (GWSystem.last5_effect == 4) { - temp_r29 = lbl_8011E040[temp_r27] + 8; + temp_r29 = starMesTbl1[temp_r27] + 8; BoardWinCreate(2, temp_r29, BoardWinPortraitGetStar()); BoardWinWait(); break; } - temp_r29 = lbl_8011E040[temp_r27] + 1; + temp_r29 = starMesTbl1[temp_r27] + 1; BoardWinCreateChoice(1, temp_r29, BoardWinPortraitGetStar(), 0); BoardWinAttrSet(0x10); if (GWPlayer[temp_r31].com) { @@ -294,7 +294,7 @@ static void ExecStar(void) { switch (BoardWinChoiceGet()) { case 0: if (BoardPlayerCoinsGet(temp_r31) < 20) { - temp_r29 = lbl_8011E040[temp_r27] + 2; + temp_r29 = starMesTbl1[temp_r27] + 2; BoardWinCreate(2, temp_r29, BoardWinPortraitGetStar()); BoardWinWait(); BoardStatusShowSet(temp_r31, 0); @@ -306,7 +306,7 @@ static void ExecStar(void) { } goto block_A; case 1: - temp_r29 = lbl_8011E040[temp_r27] + 4; + temp_r29 = starMesTbl1[temp_r27] + 4; BoardWinCreate(2, temp_r29, BoardWinPortraitGetStar()); BoardWinWait(); BoardStatusShowSet(temp_r31, 0); @@ -326,7 +326,7 @@ static void ExecStar(void) { } } block_A: - temp_r29 = lbl_8011E040[temp_r27] + 3; + temp_r29 = starMesTbl1[temp_r27] + 3; BoardWinCreate(2, temp_r29, BoardWinPortraitGetStar()); BoardWinWait(); BoardWinKill(); @@ -734,9 +734,9 @@ void BoardStarShowNext(s32 arg0) { HuPrcVSleep(); } if (var_r28 == 0) { - var_r30 = lbl_8011E040[GWBoardGet()] + 6; + var_r30 = starMesTbl1[GWBoardGet()] + 6; } else { - var_r30 = lbl_8011E064[GWBoardGet()][0]; + var_r30 = starMesTbl2[GWBoardGet()][0]; } BoardWinCreate(3, var_r30, -1); BoardWinPause(); @@ -748,9 +748,9 @@ void BoardStarShowNext(s32 arg0) { BoardWinKill(); HuPrcSleep(3); if (var_r28 == 0) { - var_r30 = lbl_8011E040[GWBoardGet()] + 7; + var_r30 = starMesTbl1[GWBoardGet()] + 7; } else { - var_r30 = lbl_8011E064[GWBoardGet()][1]; + var_r30 = starMesTbl2[GWBoardGet()][1]; } BoardWinCreate(3, var_r30, -1); BoardWinWait(); diff --git a/src/game/board/ui.c b/src/game/board/ui.c index d8f89499..4259f29d 100755 --- a/src/game/board/ui.c +++ b/src/game/board/ui.c @@ -1951,28 +1951,32 @@ static void UpdateItemWindow(omObjData *arg0) { static void CreatePickerWindow(UnkUiWork01 *arg0, s32 arg1) { float spC[2]; - float var_f31; - float var_f30; - float var_f29; + + float posX; + float posY; + float yOfs; s32 var_r30; - + #if VERSION_NTSC switch (GWGameStat.language) { case 1: - var_f31 = 0.0f; + yOfs = 0.0f; break; case 0: - var_f31 = 0.0f; + yOfs = 0.0f; break; } + #else + yOfs = 0; + #endif if (arg1 != 0) { var_r30 = MAKE_MESSID(0x10, 0x1A); } else { var_r30 = MAKE_MESSID(0x10, 0x1B); } HuWinMesMaxSizeGet(1, spC, var_r30); - var_f30 = -10000.0f; - var_f29 = var_f31 + (HU_DISP_HEIGHT-128); - arg0->unk06 = HuWinCreate(var_f30, var_f29, spC[0], spC[1], 0); + posX = -10000.0f; + posY = yOfs + (HU_DISP_HEIGHT-128); + arg0->unk06 = HuWinCreate(posX, posY, spC[0], spC[1], 0); HuWinBGTPLvlSet(arg0->unk06, 0.0f); HuWinMesSpeedSet(arg0->unk06, 0); HuWinMesSet(arg0->unk06, var_r30);