diff --git a/config/GMPE01_00/symbols.txt b/config/GMPE01_00/symbols.txt index 524a75ae..2cae51f6 100644 --- a/config/GMPE01_00/symbols.txt +++ b/config/GMPE01_00/symbols.txt @@ -1152,7 +1152,7 @@ BoardPlayerCoinsAdd = .text:0x80063EEC; // type:function size:0x9C BoardPlayerStarsAdd = .text:0x80063F88; // type:function size:0x48 BoardPlayerSizeSet = .text:0x80063FD0; // type:function size:0x16C BoardPlayerSizeGet = .text:0x8006413C; // type:function size:0x40 -BoardPlayerTeamCount = .text:0x8006417C; // type:function size:0x7C +BoardPlayerSameTeamFind = .text:0x8006417C; // type:function size:0x7C BoardPlayerTeamFind = .text:0x800641F8; // type:function size:0x7C BoardPlayerRankCalc = .text:0x80064274; // type:function size:0xC4 BoardPlayerPreTurnHookSet = .text:0x80064338; // type:function size:0x18 @@ -1587,72 +1587,72 @@ fn_80087F3C = .text:0x80087F3C; // type:function size:0x248 fn_80088184 = .text:0x80088184; // type:function size:0x110 fn_80088294 = .text:0x80088294; // type:function size:0x88 fn_8008831C = .text:0x8008831C; // type:function size:0x4C -fn_80088368 = .text:0x80088368; // type:function size:0x90 -fn_800883F8 = .text:0x800883F8; // type:function size:0x98 -fn_80088490 = .text:0x80088490; // type:function size:0x48 -fn_800884D8 = .text:0x800884D8; // type:function size:0x1C -fn_800884F4 = .text:0x800884F4; // type:function size:0x48 -fn_8008853C = .text:0x8008853C; // type:function size:0xFC -fn_80088638 = .text:0x80088638; // type:function size:0x24 -fn_8008865C = .text:0x8008865C; // type:function size:0x134 -fn_80088790 = .text:0x80088790; // type:function size:0x138 -fn_800888C8 = .text:0x800888C8; // type:function size:0x50 -fn_80088918 = .text:0x80088918; // type:function size:0x44 -fn_8008895C = .text:0x8008895C; // type:function size:0x34 -fn_80088990 = .text:0x80088990; // type:function size:0x6C -fn_800889FC = .text:0x800889FC; // type:function size:0x158 -fn_80088B54 = .text:0x80088B54; // type:function size:0x94 -fn_80088BE8 = .text:0x80088BE8; // type:function size:0x6C -fn_80088C54 = .text:0x80088C54; // type:function size:0x90 -fn_80088CE4 = .text:0x80088CE4; // type:function size:0x20C -fn_80088EF0 = .text:0x80088EF0; // type:function size:0x98 -fn_80088F88 = .text:0x80088F88; // type:function size:0x36C -fn_800892F4 = .text:0x800892F4; // type:function size:0x8C -fn_80089380 = .text:0x80089380; // type:function size:0x210 -fn_80089590 = .text:0x80089590; // type:function size:0x40 -fn_800895D0 = .text:0x800895D0; // type:function size:0x180 -fn_80089750 = .text:0x80089750; // type:function size:0x140 -fn_80089890 = .text:0x80089890; // type:function size:0xB8 -fn_80089948 = .text:0x80089948; // type:function size:0x29C -fn_80089BE4 = .text:0x80089BE4; // type:function size:0x74 -fn_80089C58 = .text:0x80089C58; // type:function size:0x1C -fn_80089C74 = .text:0x80089C74; // type:function size:0x48 -fn_80089CBC = .text:0x80089CBC; // type:function size:0xC -fn_80089CC8 = .text:0x80089CC8; // type:function size:0xFC -fn_80089DC4 = .text:0x80089DC4; // type:function size:0x15C -fn_80089F20 = .text:0x80089F20; // type:function size:0x110 -fn_8008A030 = .text:0x8008A030; // type:function size:0x30 -fn_8008A060 = .text:0x8008A060; // type:function size:0x19C -fn_8008A1FC = .text:0x8008A1FC; // type:function size:0x1E4 -fn_8008A3E0 = .text:0x8008A3E0; // type:function size:0xD4 -fn_8008A4B4 = .text:0x8008A4B4; // type:function size:0xD8 -fn_8008A58C = .text:0x8008A58C; // type:function size:0xEC -fn_8008A678 = .text:0x8008A678; // type:function size:0xC8 -fn_8008A740 = .text:0x8008A740; // type:function size:0x80 -fn_8008A7C0 = .text:0x8008A7C0; // type:function size:0x4A8 -fn_8008AC68 = .text:0x8008AC68; // type:function size:0x370 -fn_8008AFD8 = .text:0x8008AFD8; // type:function size:0x174 -fn_8008B14C = .text:0x8008B14C; // type:function size:0x78 -fn_8008B1C4 = .text:0x8008B1C4; // type:function size:0x74 -fn_8008B238 = .text:0x8008B238; // type:function size:0xE8 -fn_8008B320 = .text:0x8008B320; // type:function size:0x650 -fn_8008B970 = .text:0x8008B970; // type:function size:0x3AC -fn_8008BD1C = .text:0x8008BD1C; // type:function size:0x420 -fn_8008C13C = .text:0x8008C13C; // type:function size:0x248 -fn_8008C384 = .text:0x8008C384; // type:function size:0xA8 -fn_8008C42C = .text:0x8008C42C; // type:function size:0x104 -fn_8008C530 = .text:0x8008C530; // type:function size:0x400 -fn_8008C930 = .text:0x8008C930; // type:function size:0x388 -fn_8008CCB8 = .text:0x8008CCB8; // type:function size:0x674 -fn_8008D32C = .text:0x8008D32C; // type:function size:0x50 -fn_8008D37C = .text:0x8008D37C; // type:function size:0x38 -fn_8008D3B4 = .text:0x8008D3B4; // type:function size:0x5A4 -fn_8008D958 = .text:0x8008D958; // type:function size:0x58 -fn_8008D9B0 = .text:0x8008D9B0; // type:function size:0x38 -fn_8008D9E8 = .text:0x8008D9E8; // type:function size:0xA4 -fn_8008DA8C = .text:0x8008DA8C; // type:function size:0x350 -fn_8008DDDC = .text:0x8008DDDC; // type:function size:0x148 -fn_8008DF24 = .text:0x8008DF24; // type:function size:0x44 +BoardItemModelGet = .text:0x80088368; // type:function size:0x90 +BoardItemNameGet = .text:0x800883F8; // type:function size:0x98 +BoardStatusStopCheck = .text:0x80088490; // type:function size:0x48 +BoardStatusVisibleGet = .text:0x800884D8; // type:function size:0x1C +BoardStatusShowSetAll = .text:0x800884F4; // type:function size:0x48 +BoardStatusItemSet = .text:0x8008853C; // type:function size:0xFC +BoardStatusShowSetForce = .text:0x80088638; // type:function size:0x24 +BoardStatusGraySet = .text:0x8008865C; // type:function size:0x134 +BoardStatusShowSet = .text:0x80088790; // type:function size:0x138 +BoardStatusItemHideSet = .text:0x800888C8; // type:function size:0x50 +BoardStatusTargetPosSet = .text:0x80088918; // type:function size:0x44 +BoardStatusPosGet = .text:0x8008895C; // type:function size:0x34 +BoardStatusPosSet = .text:0x80088990; // type:function size:0x6C +BoardStatusHammerCreate = .text:0x800889FC; // type:function size:0x158 +BoardStatusHammerShowSet = .text:0x80088B54; // type:function size:0x94 +BoardStatusHammerKill = .text:0x80088BE8; // type:function size:0x6C +BoardStatusKill = .text:0x80088C54; // type:function size:0x90 +BoardStatusCreate = .text:0x80088CE4; // type:function size:0x20C +KillAllBoardStatus = .text:0x80088EF0; // type:function size:0x98 scope:local +CreateBoardStatusSprite = .text:0x80088F88; // type:function size:0x36C scope:local +BoardSpriteCreate = .text:0x800892F4; // type:function size:0x8C +UpdateBoardStatus = .text:0x80089380; // type:function size:0x210 scope:local +BoardStatusProc = .text:0x80089590; // type:function size:0x40 scope:local +MoveBoardStatus = .text:0x800895D0; // type:function size:0x180 scope:local +BoardSpriteDigitUpdate = .text:0x80089750; // type:function size:0x140 +UpdateStatusItem = .text:0x80089890; // type:function size:0xB8 scope:local +BoardPickerCreate = .text:0x80089948; // type:function size:0x29C +BoardPickerBackFlagSet = .text:0x80089BE4; // type:function size:0x74 +BoardPickerDoneCheck = .text:0x80089C58; // type:function size:0x1C +BoardPickerPosGet = .text:0x80089C74; // type:function size:0x48 +BoardPickerChoiceGet = .text:0x80089CBC; // type:function size:0xC +UpdatePicker = .text:0x80089CC8; // type:function size:0xFC scope:local +UpdatePickerInput = .text:0x80089DC4; // type:function size:0x15C scope:local +MovePicker = .text:0x80089F20; // type:function size:0x110 scope:local +UpdateComPickerButton = .text:0x8008A030; // type:function size:0x30 scope:local +CheckPickerButton = .text:0x8008A060; // type:function size:0x19C scope:local +BoardYourTurnExec = .text:0x8008A1FC; // type:function size:0x1E4 +UpdateYourTurn = .text:0x8008A3E0; // type:function size:0xD4 scope:local +GrowYourTurn = .text:0x8008A4B4; // type:function size:0xD8 scope:local +WaitYourTurn = .text:0x8008A58C; // type:function size:0xEC scope:local +ShrinkYourTurn = .text:0x8008A678; // type:function size:0xC8 scope:local +BoardItemUseExec = .text:0x8008A740; // type:function size:0x80 +ItemUseTeamProc = .text:0x8008A7C0; // type:function size:0x4A8 scope:local +ItemUseProc = .text:0x8008AC68; // type:function size:0x370 scope:local +FinishItemUse = .text:0x8008AFD8; // type:function size:0x174 scope:local +DestroyItemUse = .text:0x8008B14C; // type:function size:0x78 scope:local +BoardMakeRandomItem = .text:0x8008B1C4; // type:function size:0x74 +TeamItemPosSet = .text:0x8008B238; // type:function size:0xE8 scope:local +ExecItemPick = .text:0x8008B320; // type:function size:0x650 scope:local +UpdateItemPick = .text:0x8008B970; // type:function size:0x3AC scope:local +MakeItemPickSpace = .text:0x8008BD1C; // type:function size:0x420 scope:local +SetItemUIStatus = .text:0x8008C13C; // type:function size:0x248 scope:local +BoardItemGetDestPos = .text:0x8008C384; // type:function size:0xA8 +ItemGetPos = .text:0x8008C42C; // type:function size:0x104 scope:local +BoardItemStatusKill = .text:0x8008C530; // type:function size:0x400 +UpdateItemPickGfx = .text:0x8008C930; // type:function size:0x388 scope:local +UpdateItemPickup = .text:0x8008CCB8; // type:function size:0x674 scope:local +CheckItemWindow = .text:0x8008D32C; // type:function size:0x50 scope:local +HideItemWindow = .text:0x8008D37C; // type:function size:0x38 scope:local +CreateItemWindow = .text:0x8008D3B4; // type:function size:0x5A4 scope:local +CheckItemWindowSlide = .text:0x8008D958; // type:function size:0x58 scope:local +KillItemWindow = .text:0x8008D9B0; // type:function size:0x38 scope:local +SetItemWindowCurr = .text:0x8008D9E8; // type:function size:0xA4 scope:local +UpdateItemWindow = .text:0x8008DA8C; // type:function size:0x350 scope:local +CreatePickerWindow = .text:0x8008DDDC; // type:function size:0x148 scope:local +KillPickerWindow = .text:0x8008DF24; // type:function size:0x44 scope:local fn_8008DF68 = .text:0x8008DF68; // type:function size:0x84 fn_8008DFEC = .text:0x8008DFEC; // type:function size:0x358 fn_8008E344 = .text:0x8008E344; // type:function size:0x54 @@ -5218,12 +5218,16 @@ lbl_8013A374 = .data:0x8013A374; // type:object size:0xC data:4byte lbl_8013A380 = .data:0x8013A380; // type:object size:0xC lbl_8013A38C = .data:0x8013A38C; // type:object size:0x50 lbl_8013A3DC = .data:0x8013A3DC; // type:object size:0x2C -lbl_8013A408 = .data:0x8013A408; // type:object size:0xC4 data:byte -lbl_8013A4CC = .data:0x8013A4CC; // type:object size:0x20 data:float -lbl_8013A4EC = .data:0x8013A4EC; // type:object size:0x10 -lbl_8013A4FC = .data:0x8013A4FC; // type:object size:0x88 -lbl_8013A584 = .data:0x8013A584; // type:object size:0x30 -lbl_8013A5B4 = .data:0x8013A5B4; // type:object size:0x54 +uiStatus = .data:0x8013A408; // type:object size:0x70 scope:local data:4byte +statusSprTbl = .data:0x8013A478; // type:object size:0x2C scope:local +statusSprPrioTbl = .data:0x8013A4A4; // type:object size:0x18 scope:local +statusHideOfsTbl = .data:0x8013A4BC; // type:object size:0x10 scope:local data:float +statusPosTbl = .data:0x8013A4CC; // type:object size:0x20 scope:local data:float +statusColTbl = .data:0x8013A4EC; // type:object size:0x10 scope:local +statusSprPosTbl = .data:0x8013A4FC; // type:object size:0x88 scope:local data:float +statusItemPosTbl = .data:0x8013A584; // type:object size:0x30 scope:local data:float +itemMdlTbl = .data:0x8013A5B4; // type:object size:0x38 scope:local +teamItemStatusPosTbl = .data:0x8013A5EC; // type:object size:0x18 scope:local data:float lbl_8013A608 = .data:0x8013A608; // type:object size:0x18 lbl_8013A620 = .data:0x8013A620; // type:object size:0x38 lbl_8013A658 = .data:0x8013A658; // type:object size:0x38 @@ -5541,9 +5545,9 @@ lbl_801A4AA8 = .bss:0x801A4AA8; // type:object size:0x18 data:2byte lbl_801A4AC0 = .bss:0x801A4AC0; // type:object size:0x10 lbl_801A4AD0 = .bss:0x801A4AD0; // type:object size:0x10 data:4byte lbl_801A4AE0 = .bss:0x801A4AE0; // type:object size:0x10 -lbl_801A4AF0 = .bss:0x801A4AF0; // type:object size:0x18 -lbl_801A4B08 = .bss:0x801A4B08; // type:object size:0x30 -lbl_801A4B38 = .bss:0x801A4B38; // type:object size:0x48 +itemMdlId = .bss:0x801A4AF0; // type:object size:0x18 scope:local +pickerPos = .bss:0x801A4B08; // type:object size:0x30 scope:local +itemPosTemp = .bss:0x801A4B38; // type:object size:0x48 scope:local lbl_801A4B80 = .bss:0x801A4B80; // type:object size:0x28 lbl_801A4BA8 = .bss:0x801A4BA8; // type:object size:0xC data:4byte lbl_801A4BB4 = .bss:0x801A4BB4; // type:object size:0x34 data:float @@ -5860,8 +5864,8 @@ lbl_801D3778 = .sdata:0x801D3778; // type:object size:0x6 lbl_801D377E = .sdata:0x801D377E; // type:object size:0x6 lbl_801D3784 = .sdata:0x801D3784; // type:object size:0x2 data:2byte lbl_801D3786 = .sdata:0x801D3786; // type:object size:0xA -lbl_801D3790 = .sdata:0x801D3790; // type:object size:0x2 data:2byte -lbl_801D3792 = .sdata:0x801D3792; // type:object size:0x6 data:2byte +itemPickupMdlId = .sdata:0x801D3790; // type:object size:0x2 scope:local data:2byte +yourTurnSprGrp = .sdata:0x801D3792; // type:object size:0x2 scope:local data:2byte lbl_801D3798 = .sdata:0x801D3798; // type:object size:0x2 data:2byte lbl_801D379A = .sdata:0x801D379A; // type:object size:0x6 data:2byte lbl_801D37A0 = .sdata:0x801D37A0; // type:object size:0x8 @@ -6402,24 +6406,25 @@ lbl_801D409F = .sbss:0x801D409F; // type:object size:0x1 data:byte lbl_801D40A0 = .sbss:0x801D40A0; // type:object size:0x1 data:byte lbl_801D40A1 = .sbss:0x801D40A1; // type:object size:0x1 data:byte lbl_801D40A2 = .sbss:0x801D40A2; // type:object size:0x6 data:byte -lbl_801D40A8 = .sbss:0x801D40A8; // type:object size:0x4 data:4byte -lbl_801D40AC = .sbss:0x801D40AC; // type:object size:0x4 data:4byte -lbl_801D40B0 = .sbss:0x801D40B0; // type:object size:0x4 data:4byte -lbl_801D40B4 = .sbss:0x801D40B4; // type:object size:0x4 data:4byte -lbl_801D40B8 = .sbss:0x801D40B8; // type:object size:0x4 data:4byte -lbl_801D40BC = .sbss:0x801D40BC; // type:object size:0x4 data:4byte -lbl_801D40C0 = .sbss:0x801D40C0; // type:object size:0x4 data:float -lbl_801D40C4 = .sbss:0x801D40C4; // type:object size:0x6 -lbl_801D40CA = .sbss:0x801D40CA; // type:object size:0x1 data:byte -lbl_801D40CB = .sbss:0x801D40CB; // type:object size:0x1 data:byte -lbl_801D40CC = .sbss:0x801D40CC; // type:object size:0x1 data:byte -lbl_801D40CE = .sbss:0x801D40CE; // type:object size:0x6 data:2byte -lbl_801D40D4 = .sbss:0x801D40D4; // type:object size:0x4 data:4byte -lbl_801D40D8 = .sbss:0x801D40D8; // type:object size:0x1 data:byte -lbl_801D40D9 = .sbss:0x801D40D9; // type:object size:0x1 data:byte -lbl_801D40DA = .sbss:0x801D40DA; // type:object size:0x1 data:byte -lbl_801D40DB = .sbss:0x801D40DB; // type:object size:0x1 data:byte -lbl_801D40DC = .sbss:0x801D40DC; // type:object size:0x1 data:byte +statusProc = .sbss:0x801D40A8; // type:object size:0x4 scope:local data:4byte +itemWindowObj = .sbss:0x801D40AC; // type:object size:0x4 scope:local data:4byte +pickerObj = .sbss:0x801D40B0; // type:object size:0x4 scope:local data:4byte +yourTurnObj = .sbss:0x801D40B4; // type:object size:0x4 scope:local data:4byte +itemUseProc = .sbss:0x801D40B8; // type:object size:0x4 scope:local data:4byte +itemPickObj = .sbss:0x801D40BC; // type:object size:0x4 scope:local data:4byte +itemPickupPos = .sbss:0x801D40C0; // type:object size:0x4 scope:local data:float +itemRandTbl = .sbss:0x801D40C4; // type:object size:0x6 scope:local +teamItemPlayer = .sbss:0x801D40CA; // type:object size:0x1 scope:local data:byte +itemUsed = .sbss:0x801D40CB; // type:object size:0x1 scope:local data:byte +itemPlayer = .sbss:0x801D40CC; // type:object size:0x1 scope:local data:byte +yourTurnSpr = .sbss:0x801D40CE; // type:object size:0x2 scope:local data:2byte +lbl_801D40D0 = .sbss:0x801D40D0; // type:object size:0x4 data:4byte +pickerBackF = .sbss:0x801D40D4; // type:object size:0x4 scope:local data:4byte +pickerChoiceDefault = .sbss:0x801D40D8; // type:object size:0x1 scope:local data:byte +pickerChoice = .sbss:0x801D40D9; // type:object size:0x1 scope:local data:byte +boardItemUser = .sbss:0x801D40DA; // type:object size:0x1 data:byte +itemTeamF = .sbss:0x801D40DB; // type:object size:0x1 scope:local data:byte +itemTeam = .sbss:0x801D40DC; // type:object size:0x1 scope:local data:byte lbl_801D40E0 = .sbss:0x801D40E0; // type:object size:0x4 data:4byte lbl_801D40E4 = .sbss:0x801D40E4; // type:object size:0x4 data:4byte lbl_801D40E8 = .sbss:0x801D40E8; // type:object size:0x4 data:float diff --git a/include/functions.h b/include/functions.h index 685d9e38..2e9beefc 100644 --- a/include/functions.h +++ b/include/functions.h @@ -56,10 +56,10 @@ void BoardSpacePosGet(s32, s32, Vec*); void fn_8007A360(s32); void fn_8007F894(void); s16 fn_80083F84(void); -void fn_800884F4(s32); +void BoardStatusShowSetAll(s32); void fn_800A4C88(void); void fn_800A6B10(void); -void fn_8008853C(s32); +void BoardStatusItemSet(s32); void BoardTutorialItemSet(s32); void fn_80082AAC(s32); void BoardTutorialDirInputSet(s32, s32, s32); diff --git a/include/game/board/basic_space.h b/include/game/board/basic_space.h index d9bde4f7..cc7b5a9f 100644 --- a/include/game/board/basic_space.h +++ b/include/game/board/basic_space.h @@ -7,8 +7,8 @@ extern Process *boardObjMan; -void BoardEventLandBlue(s32); -void BoardEventLandRed(s32); +void BoardEventLandBlue(s32, s16); +void BoardEventLandRed(s32, s16); s8 BoardCoinChgCreate(Vec*, s8); s32 BoardCoinChgExist(s32); void BoardCoinChgHide(s32); \ No newline at end of file diff --git a/src/REL/w10Dll/scene.c b/src/REL/w10Dll/scene.c index c3e6d1dc..376f4d5a 100644 --- a/src/REL/w10Dll/scene.c +++ b/src/REL/w10Dll/scene.c @@ -177,7 +177,7 @@ void fn_1_13A4(void) { GWPlayer[i].color = 1; } fn_800A4C88(); - fn_800884F4(0); + BoardStatusShowSetAll(0); fn_1_C10(0); fn_1_BA0(0x2E002B); sp8.x = -33.0f; diff --git a/src/REL/w10Dll/tutorial.c b/src/REL/w10Dll/tutorial.c index 64791830..9e13732c 100644 --- a/src/REL/w10Dll/tutorial.c +++ b/src/REL/w10Dll/tutorial.c @@ -108,7 +108,7 @@ void fn_1_18BC(void) { fn_1_BA0(0x2E0028); fn_1_BA0(0x2E0029); boardTutorialData = 0; - fn_8008853C(0); + BoardStatusItemSet(0); } void fn_1_1908(void) { diff --git a/src/game/board/basic_space.c b/src/game/board/basic_space.c index 30b45700..346a9eac 100644 --- a/src/game/board/basic_space.c +++ b/src/game/board/basic_space.c @@ -61,12 +61,13 @@ static s32 coinDigitMdl[10] = { MAKE_DATA_NUM(DATADIR_BOARD, 21), }; -void BoardEventLandBlue(s32 player) { +void BoardEventLandBlue(s32 player, s16 space) { Vec pos; s32 i; s8 coin_chg; s32 coins; - + + BoardCameraViewSet(2); BoardPlayerAnimBlendSet(player, 0, 15); while (BoardPlayerAnimBlendCheck(player) == 0) { @@ -101,7 +102,7 @@ void BoardEventLandBlue(s32 player) { BoardRotateDiceNumbers(player); } -void BoardEventLandRed(s32 player) { +void BoardEventLandRed(s32 player, s16 space) { Vec pos; s32 i; s8 coin_chg;