Add symbols for instdll and resultdll in us (#562)

* Label most of w01Dll

* Add symbols for instdll and resultdll in us

* Fix pal symbols for instDll

* Build resultdll+symbols for pal
This commit is contained in:
Liam Coleman 2025-02-06 10:41:45 -06:00 committed by GitHub
parent ea3af4e95a
commit 560a592518
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 1876 additions and 1875 deletions

View file

@ -1,16 +1,16 @@
_prolog = .text:0x00000000; // type:function size:0x54 scope:global
_epilog = .text:0x00000054; // type:function size:0x4C scope:global
ObjectSetup = .text:0x000000A0; // type:function size:0x8F4
fn_1_994 = .text:0x00000994; // type:function size:0xE50 scope:local
fn_1_17E4 = .text:0x000017E4; // type:function size:0xA28 scope:local
fn_1_220C = .text:0x0000220C; // type:function size:0x5F8 scope:local
fn_1_2804 = .text:0x00002804; // type:function size:0x79C scope:local
fn_1_2FA0 = .text:0x00002FA0; // type:function size:0x11D4 scope:local
fn_1_4174 = .text:0x00004174; // type:function size:0x3B4 scope:local
fn_1_4528 = .text:0x00004528; // type:function size:0xB88 scope:local
fn_1_50B0 = .text:0x000050B0; // type:function size:0xAB4 scope:local
fn_1_5B64 = .text:0x00005B64; // type:function size:0x340 scope:local
fn_1_5EA4 = .text:0x00005EA4; // type:function size:0x4B8
InstMain = .text:0x00000994; // type:function size:0xE50 scope:local
InstPlayerMain = .text:0x000017E4; // type:function size:0xA28 scope:local
InstHostMain = .text:0x0000220C; // type:function size:0x5F8 scope:local
InstWinMain = .text:0x00002804; // type:function size:0x79C scope:local
InstNameMain = .text:0x00002FA0; // type:function size:0x11D4 scope:local
CameraOutView = .text:0x00004174; // type:function size:0x3B4 scope:local
CameraDebug = .text:0x00004528; // type:function size:0xB88 scope:local
InstPicDraw = .text:0x000050B0; // type:function size:0xAB4 scope:local
ShadowDraw = .text:0x00005B64; // type:function size:0x340 scope:local
FontCreate = .text:0x00005EA4; // type:function size:0x4B8
_ctors = .ctors:0x00000000; // type:label scope:global data:4byte
_dtors = .dtors:0x00000000; // type:label scope:global data:4byte
lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float
@ -115,38 +115,38 @@ lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:
lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float
lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 scope:local data:double
lbl_1_data_0 = .data:0x00000000; // type:object size:0x2 scope:local data:2byte
instMode = .data:0x00000000; // type:object size:0x2 scope:local data:2byte
lbl_1_data_2 = .data:0x00000002; // type:object size:0x24 scope:local data:string
lbl_1_data_26 = .data:0x00000026; // type:object size:0x20 scope:local
lbl_1_data_46 = .data:0x00000046; // type:object size:0x8 scope:local
lbl_1_data_50 = .data:0x00000050; // type:object size:0x20 scope:local
lbl_1_data_70 = .data:0x00000070; // type:object size:0x20 scope:local
instGrpTbl = .data:0x00000026; // type:object size:0x20 scope:local
instPlayerNumTbl = .data:0x00000046; // type:object size:0x8 scope:local
instBoxFile = .data:0x00000050; // type:object size:0x20 scope:local
instBackFile = .data:0x00000070; // type:object size:0x20 scope:local
lbl_1_data_90 = .data:0x00000090; // type:object size:0x8 scope:local data:string
lbl_1_data_98 = .data:0x00000098; // type:object size:0x8 scope:local data:string
lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x8 scope:local data:string
lbl_1_data_A8 = .data:0x000000A8; // type:object size:0x8 scope:local data:string
lbl_1_data_B0 = .data:0x000000B0; // type:object size:0x10 scope:local
lbl_1_data_C0 = .data:0x000000C0; // type:object size:0x4 scope:local
lbl_1_data_C4 = .data:0x000000C4; // type:object size:0x48 scope:local
lbl_1_data_10C = .data:0x0000010C; // type:object size:0x18 scope:local
lbl_1_data_124 = .data:0x00000124; // type:object size:0x20 scope:local data:float
lbl_1_data_144 = .data:0x00000144; // type:object size:0x4 scope:local
playerPosNameTbl = .data:0x000000B0; // type:object size:0x10 scope:local
playerDelayTbl = .data:0x000000C0; // type:object size:0x4 scope:local
hostFileTbl = .data:0x000000C4; // type:object size:0x48 scope:local
hostSeTbl = .data:0x0000010C; // type:object size:0x18 scope:local
instNamePosTbl = .data:0x00000124; // type:object size:0x20 scope:local data:float
cameraMask$858 = .data:0x00000144; // type:object size:0x4 scope:local
lbl_1_data_148 = .data:0x00000148; // type:object size:0x4 scope:local
lbl_1_data_14C = .data:0x0000014C; // type:object size:0x4 scope:local data:float
lbl_1_data_150 = .data:0x00000150; // type:object size:0x318 scope:local
lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 scope:local data:4byte
lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x2 scope:local data:2byte
lbl_1_bss_6 = .bss:0x00000006; // type:object size:0x2 scope:local data:2byte
lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x1 scope:local data:byte
lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 scope:local data:float
lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x2 scope:local data:2byte
lbl_1_bss_12 = .bss:0x00000012; // type:object size:0x2 scope:local data:2byte
lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x2 scope:local data:2byte
lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 scope:local data:4byte
lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 scope:local data:4byte
lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x8 scope:local data:float
lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x18 scope:local data:float
lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x18 scope:local data:float
lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x4 scope:local data:4byte
lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0x4 scope:local data:4byte
instPicRadius = .data:0x0000014C; // type:object size:0x4 scope:local data:float
FontCharFile = .data:0x00000150; // type:object size:0x318 scope:local
debugCamOnF = .bss:0x00000000; // type:object size:0x4 scope:local data:4byte
instBusyF = .bss:0x00000004; // type:object size:0x2 scope:local data:2byte
instPage = .bss:0x00000006; // type:object size:0x2 scope:local data:2byte
LanguageNo = .bss:0x00000008; // type:object size:0x1 scope:local data:byte
instFov = .bss:0x0000000C; // type:object size:0x4 scope:local data:float
instMesOfs = .bss:0x00000010; // type:object size:0x2 scope:local data:2byte
instHostNo = .bss:0x00000012; // type:object size:0x2 scope:local data:2byte
instMgNo = .bss:0x00000014; // type:object size:0x2 scope:local data:2byte
instPicAnim = .bss:0x00000018; // type:object size:0x4 scope:local data:4byte
instBoxMdlId = .bss:0x0000001C; // type:object size:0x4 scope:local data:4byte
cameraZoom = .bss:0x00000020; // type:object size:0x8 data:float
cameraPos = .bss:0x00000028; // type:object size:0x18 data:float
cameraRot = .bss:0x00000040; // type:object size:0x18 data:float
objman = .bss:0x00000058; // type:object size:0x4 data:4byte
outViewObj = .bss:0x0000005C; // type:object size:0x4 scope:local data:4byte
lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x4 scope:local data:4byte

View file

@ -1,34 +1,34 @@
_prolog = .text:0x00000000; // type:function size:0x54 scope:global
_epilog = .text:0x00000054; // type:function size:0x4C scope:global
ObjectSetup = .text:0x000000A0; // type:function size:0x438
fn_1_4D8 = .text:0x000004D8; // type:function size:0x3B0
fn_1_888 = .text:0x00000888; // type:function size:0x2F0
fn_1_B78 = .text:0x00000B78; // type:function size:0x13D4
fn_1_1F4C = .text:0x00001F4C; // type:function size:0xB90
fn_1_2ADC = .text:0x00002ADC; // type:function size:0x1074
fn_1_3B50 = .text:0x00003B50; // type:function size:0x15C
fn_1_3CAC = .text:0x00003CAC; // type:function size:0x15C
fn_1_3E08 = .text:0x00003E08; // type:function size:0x1D0
fn_1_3FD8 = .text:0x00003FD8; // type:function size:0x104
fn_1_40DC = .text:0x000040DC; // type:function size:0x160
fn_1_423C = .text:0x0000423C; // type:function size:0x3E0
fn_1_461C = .text:0x0000461C; // type:function size:0x1E0
fn_1_47FC = .text:0x000047FC; // type:function size:0x1084
fn_1_5880 = .text:0x00005880; // type:function size:0xC10
fn_1_6490 = .text:0x00006490; // type:function size:0x2D0
fn_1_6760 = .text:0x00006760; // type:function size:0xC4
fn_1_6824 = .text:0x00006824; // type:function size:0xD20
fn_1_7544 = .text:0x00007544; // type:function size:0xA54
fn_1_7F98 = .text:0x00007F98; // type:function size:0x3A0
fn_1_8338 = .text:0x00008338; // type:function size:0x14C
fn_1_8484 = .text:0x00008484; // type:function size:0x1D4
fn_1_8658 = .text:0x00008658; // type:function size:0x84
fn_1_86DC = .text:0x000086DC; // type:function size:0x2BC
fn_1_8998 = .text:0x00008998; // type:function size:0x320
fn_1_8CB8 = .text:0x00008CB8; // type:function size:0x340
fn_1_8FF8 = .text:0x00008FF8; // type:function size:0x284
fn_1_927C = .text:0x0000927C; // type:function size:0x138
fn_1_93B4 = .text:0x000093B4; // type:function size:0x78
ResultMain = .text:0x000004D8; // type:function size:0x3B0 scope:local
ResultIdle = .text:0x00000888; // type:function size:0x2F0 scope:local
ResultCreate = .text:0x00000B78; // type:function size:0x13D4 scope:local
ResultStatAdd = .text:0x00001F4C; // type:function size:0xB90 scope:local
ResultOrderApply = .text:0x00002ADC; // type:function size:0x1074 scope:local
ResultSprNumSet = .text:0x00003B50; // type:function size:0x15C scope:local
ResultCoinAddNumSet = .text:0x00003CAC; // type:function size:0x15C scope:local
ResultOrderSet = .text:0x00003E08; // type:function size:0x1D0 scope:local
ResultBoardDataRead = .text:0x00003FD8; // type:function size:0x104
ResultCoinAdd = .text:0x000040DC; // type:function size:0x160
ResultCoinNumGet = .text:0x0000423C; // type:function size:0x3E0
SaveExec = .text:0x0000461C; // type:function size:0x1E0 scope:local
ResultTeamExec = .text:0x000047FC; // type:function size:0x1084 scope:local
CameraDebug = .text:0x00005880; // type:function size:0xC10
ResultBattleMain = .text:0x00006490; // type:function size:0x2D0
ResultBattleIdle = .text:0x00006760; // type:function size:0xC4 scope:local
ResultBattleCreate = .text:0x00006824; // type:function size:0xD20 scope:local
ResultBattleStatAdd = .text:0x00007544; // type:function size:0xA54 scope:local
ResultBattleCoinAddShow = .text:0x00007F98; // type:function size:0x3A0 scope:local
ResultBattleCoinAddNumSet = .text:0x00008338; // type:function size:0x14C scope:local
ResultBattleOrderSet = .text:0x00008484; // type:function size:0x1D4 scope:local
CoinEffectInit = .text:0x00008658; // type:function size:0x84 scope:local
CoinEffectAdd = .text:0x000086DC; // type:function size:0x2BC scope:local
CoinEffectMain = .text:0x00008998; // type:function size:0x320 scope:local
ResultShadowDraw = .text:0x00008CB8; // type:function size:0x340 scope:local
StageModelCreate = .text:0x00008FF8; // type:function size:0x284
StageSpriteCreate = .text:0x0000927C; // type:function size:0x138
StageSpriteKill = .text:0x000093B4; // type:function size:0x78
_ctors = .ctors:0x00000000; // type:label scope:global data:4byte
_dtors = .dtors:0x00000000; // type:label scope:global data:4byte
lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float
@ -134,77 +134,77 @@ lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:
lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float
lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 scope:local data:double
lbl_1_data_0 = .data:0x00000000; // type:object size:0x2A4
lbl_1_data_2A4 = .data:0x000002A4; // type:object size:0xDC data:4byte
lbl_1_data_380 = .data:0x00000380; // type:object size:0x2 data:2byte
resultModel = .data:0x00000000; // type:object size:0x2A4 scope:local
resultSprite = .data:0x000002A4; // type:object size:0xDC scope:local data:4byte
rankNewGrpId = .data:0x00000380; // type:object size:0x2 scope:local data:2byte
lbl_1_data_382 = .data:0x00000382; // type:object size:0x26 scope:local data:string
lbl_1_data_3A8 = .data:0x000003A8; // type:object size:0x18
lbl_1_data_3C0 = .data:0x000003C0; // type:object size:0x18
lbl_1_data_3D8 = .data:0x000003D8; // type:object size:0x20
lbl_1_data_3F8 = .data:0x000003F8; // type:object size:0x10
lbl_1_data_408 = .data:0x00000408; // type:object size:0x30
lbl_1_data_438 = .data:0x00000438; // type:object size:0x10
resultBackFile = .data:0x000003A8; // type:object size:0x18 scope:local
resultLetterFile = .data:0x000003C0; // type:object size:0x18 scope:local
resultStatPosTbl = .data:0x000003D8; // type:object size:0x20 scope:local
resultRankPosTbl = .data:0x000003F8; // type:object size:0x10 scope:local
resultCharPosTbl = .data:0x00000408; // type:object size:0x30 scope:local
resultCoinAddPosTbl = .data:0x00000438; // type:object size:0x10 scope:local
lbl_1_data_448 = .data:0x00000448; // type:object size:0x5 scope:local data:string
lbl_1_data_450 = .data:0x00000450; // type:object size:0x18
lbl_1_data_468 = .data:0x00000468; // type:object size:0x20
lbl_1_data_488 = .data:0x00000488; // type:object size:0x30
resultBoardDirTbl = .data:0x00000450; // type:object size:0x18 scope:local
resultCharMdlTbl = .data:0x00000468; // type:object size:0x20 scope:local
resultTeamCharPosTbl = .data:0x00000488; // type:object size:0x30 scope:local
lbl_1_data_4B8 = .data:0x000004B8; // type:object size:0x11 scope:local data:string
lbl_1_data_4C9 = .data:0x000004C9; // type:object size:0x11 scope:local data:string
lbl_1_data_4DA = .data:0x000004DA; // type:object size:0xB scope:local data:string
lbl_1_data_4E8 = .data:0x000004E8; // type:object size:0x270
lbl_1_data_758 = .data:0x00000758; // type:object size:0x28
lbl_1_data_780 = .data:0x00000780; // type:object size:0x50
lbl_1_data_7D0 = .data:0x000007D0; // type:object size:0x20
lbl_1_data_7F0 = .data:0x000007F0; // type:object size:0x30
resultBattleModel = .data:0x000004E8; // type:object size:0x270 scope:local
resultBattleSprite = .data:0x00000758; // type:object size:0x28 scope:local
resultBattleEffParMan = .data:0x00000780; // type:object size:0x50 scope:local
resultStatPosTbl = .data:0x000007D0; // type:object size:0x20 scope:local
playerPosTbl = .data:0x000007F0; // type:object size:0x30 scope:local
lbl_1_data_820 = .data:0x00000820; // type:object size:0x10
lbl_1_data_830 = .data:0x00000830; // type:object size:0x10
lbl_1_data_840 = .data:0x00000840; // type:object size:0x20
lbl_1_data_860 = .data:0x00000860; // type:object size:0x20
lbl_1_data_880 = .data:0x00000880; // type:object size:0x20
lbl_1_data_8A0 = .data:0x000008A0; // type:object size:0x6 data:2byte
lbl_1_data_8A6 = .data:0x000008A6; // type:object size:0x8 scope:local data:float
lbl_1_data_8AE = .data:0x000008AE; // type:object size:0x8 scope:local data:float
lbl_1_data_8B8 = .data:0x000008B8; // type:object size:0x60
lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte
lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte
lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x2 data:2byte
lbl_1_bss_A = .bss:0x0000000A; // type:object size:0x8
lbl_1_bss_12 = .bss:0x00000012; // type:object size:0x28
lbl_1_bss_3A = .bss:0x0000003A; // type:object size:0x8
lbl_1_bss_42 = .bss:0x00000042; // type:object size:0x8
lbl_1_bss_4A = .bss:0x0000004A; // type:object size:0x8
lbl_1_bss_52 = .bss:0x00000052; // type:object size:0x2 data:2byte
lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x8
lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0x40
lbl_1_bss_9C = .bss:0x0000009C; // type:object size:0x2 data:2byte
lbl_1_bss_9E = .bss:0x0000009E; // type:object size:0x30
lbl_1_bss_CE = .bss:0x000000CE; // type:object size:0x12
lbl_1_bss_E0 = .bss:0x000000E0; // type:object size:0x4 data:4byte
lbl_1_bss_E4 = .bss:0x000000E4; // type:object size:0x60
lbl_1_bss_144 = .bss:0x00000144; // type:object size:0x14
lbl_1_bss_158 = .bss:0x00000158; // type:object size:0x10
lbl_1_bss_168 = .bss:0x00000168; // type:object size:0x8
lbl_1_bss_170 = .bss:0x00000170; // type:object size:0x2 data:2byte
lbl_1_bss_172 = .bss:0x00000172; // type:object size:0x2 data:2byte
lbl_1_bss_174 = .bss:0x00000174; // type:object size:0x4 data:4byte
lbl_1_bss_178 = .bss:0x00000178; // type:object size:0x4 data:4byte
lbl_1_bss_17C = .bss:0x0000017C; // type:object size:0x2 data:2byte
lbl_1_bss_180 = .bss:0x00000180; // type:object size:0x4 data:4byte
lbl_1_bss_184 = .bss:0x00000184; // type:object size:0x4 data:4byte
bomheiCubeMdlTbl = .data:0x00000830; // type:object size:0x10 scope:local
coinEffectYOfs = .data:0x00000840; // type:object size:0x20 scope:local
coinAddYOfs = .data:0x00000860; // type:object size:0x20 scope:local
coinBlankYOfs = .data:0x00000880; // type:object size:0x20 scope:local
coinNumXOfs = .data:0x000008A0; // type:object size:0x6 scope:local data:2byte
lbl_1_data_8A6 = .data:0x000008A6; // type:object size:0x8 scope:local data:string
lbl_1_data_8AE = .data:0x000008AE; // type:object size:0x8 scope:local data:string
cameraShakeOfs = .data:0x000008B8; // type:object size:0x60 scope:local
resultReorderF = .bss:0x00000000; // type:object size:0x4 scope:local data:4byte
resultSkipF = .bss:0x00000004; // type:object size:0x4 scope:local data:4byte
resultTeamOrder = .bss:0x00000008; // type:object size:0x2 scope:local data:2byte
resultCharCubeMdlId = .bss:0x0000000A; // type:object size:0x8 scope:local
resultCoinAddSprId = .bss:0x00000012; // type:object size:0x28 scope:local
resultCoinAddGrpId = .bss:0x0000003A; // type:object size:0x8 scope:local
resultRank = .bss:0x00000042; // type:object size:0x8 scope:local
resultOrder = .bss:0x0000004A; // type:object size:0x8 scope:local
resultRankGrpId = .bss:0x00000052; // type:object size:0x2 scope:local data:2byte
resultPlayerCubeMdlId = .bss:0x00000054; // type:object size:0x8 scope:local
resultCubeMdlId = .bss:0x0000005C; // type:object size:0x40 scope:local
resultCrownGrpId = .bss:0x0000009C; // type:object size:0x2 scope:local data:2byte
resultNumSprId = .bss:0x0000009E; // type:object size:0x30 scope:local
resultNumGrpId = .bss:0x000000CE; // type:object size:0x10 scope:local
resultCrownAnim = .bss:0x000000E0; // type:object size:0x4 scope:local data:4byte
resultCharAnim = .bss:0x000000E4; // type:object size:0x60 scope:local
resultRankAnim = .bss:0x00000144; // type:object size:0x14 scope:local
statShadowMdlId = .bss:0x00000158; // type:object size:0x10 scope:local
charShadowMdlId = .bss:0x00000168; // type:object size:0x8 scope:local
teamResultGrpId = .bss:0x00000170; // type:object size:0x2 scope:local data:2byte
resultBonusPlayer = .bss:0x00000172; // type:object size:0x2 data:2byte
resultFastF = .bss:0x00000174; // type:object size:0x4 data:4byte
resultReadEndF = .bss:0x00000178; // type:object size:0x4 data:4byte
resultMgNo = .bss:0x0000017C; // type:object size:0x2 data:2byte
objman = .bss:0x00000180; // type:object size:0x4 data:4byte
outViewObj = .bss:0x00000184; // type:object size:0x4 scope:local data:4byte
lbl_1_bss_188 = .bss:0x00000188; // type:object size:0x4 data:4byte
lbl_1_bss_190 = .bss:0x00000190; // type:object size:0x4 data:4byte
lbl_1_bss_194 = .bss:0x00000194; // type:object size:0x1680
lbl_1_bss_1814 = .bss:0x00001814; // type:object size:0x8
resultBattleSkipF = .bss:0x00000190; // type:object size:0x4 scope:local data:4byte
coinEffectData = .bss:0x00000194; // type:object size:0x1680 scope:local
resultBattleEffParManId = .bss:0x00001814; // type:object size:0x8 scope:local
lbl_1_bss_181C = .bss:0x0000181C; // type:object size:0xC
lbl_1_bss_1828 = .bss:0x00001828; // type:object size:0x168 data:2byte
lbl_1_bss_1990 = .bss:0x00001990; // type:object size:0x20
lbl_1_bss_19B0 = .bss:0x000019B0; // type:object size:0x8
lbl_1_bss_19B8 = .bss:0x000019B8; // type:object size:0x28
lbl_1_bss_19E0 = .bss:0x000019E0; // type:object size:0x8
lbl_1_bss_19E8 = .bss:0x000019E8; // type:object size:0x8
lbl_1_bss_19F0 = .bss:0x000019F0; // type:object size:0x8
coinEffectMdlId = .bss:0x00001828; // type:object size:0x168 scope:local data:2byte
resultBattleCharMot = .bss:0x00001990; // type:object size:0x20 scope:local
resultBattleCharMdl = .bss:0x000019B0; // type:object size:0x8 scope:local
coinNumSprId = .bss:0x000019B8; // type:object size:0x28 scope:local
coinNumGrpId = .bss:0x000019E0; // type:object size:0x8 scope:local
resultBattleRank = .bss:0x000019E8; // type:object size:0x8 scope:local
resultBattleOrder = .bss:0x000019F0; // type:object size:0x8 scope:local
lbl_1_bss_19F8 = .bss:0x000019F8; // type:object size:0x20
lbl_1_bss_1A18 = .bss:0x00001A18; // type:object size:0x2
lbl_1_bss_1A1A = .bss:0x00001A1A; // type:object size:0x42 data:2byte
lbl_1_bss_1A5C = .bss:0x00001A5C; // type:object size:0x40 data:2byte
lbl_1_bss_1A9C = .bss:0x00001A9C; // type:object size:0x40 data:2byte
stageSprId = .bss:0x00001A1A; // type:object size:0x42 data:2byte
stageMotId = .bss:0x00001A5C; // type:object size:0x40 data:2byte
stageSprId = .bss:0x00001A9C; // type:object size:0x40 data:2byte

View file

@ -1,16 +1,16 @@
_prolog = .text:0x00000000; // type:function size:0x54 scope:global
_epilog = .text:0x00000054; // type:function size:0x4C scope:global
ObjectSetup = .text:0x000000A0; // type:function size:0x8F4
fn_1_994 = .text:0x00000994; // type:function size:0xE50
fn_1_17E4 = .text:0x000017E4; // type:function size:0xA28
fn_1_220C = .text:0x0000220C; // type:function size:0x5F8
fn_1_2804 = .text:0x00002804; // type:function size:0x79C
fn_1_2FA0 = .text:0x00002FA0; // type:function size:0x11D4
fn_1_4174 = .text:0x00004174; // type:function size:0x3B4
fn_1_4528 = .text:0x00004528; // type:function size:0xB88
fn_1_50B0 = .text:0x000050B0; // type:function size:0xAB4
fn_1_5B64 = .text:0x00005B64; // type:function size:0x340
fn_1_5EA4 = .text:0x00005EA4; // type:function size:0x3F8
InstMain = .text:0x00000994; // type:function size:0xE50 scope:local
InstPlayerMain = .text:0x000017E4; // type:function size:0xA28 scope:local
InstHostMain = .text:0x0000220C; // type:function size:0x5F8 scope:local
InstWinMain = .text:0x00002804; // type:function size:0x79C scope:local
InstNameMain = .text:0x00002FA0; // type:function size:0x11D4 scope:local
CameraOutView = .text:0x00004174; // type:function size:0x3B4 scope:local
CameraDebug = .text:0x00004528; // type:function size:0xB88 scope:local
InstPicDraw = .text:0x000050B0; // type:function size:0xAB4 scope:local
ShadowDraw = .text:0x00005B64; // type:function size:0x340 scope:local
FontCreate = .text:0x00005EA4; // type:function size:0x3F8
_ctors = .ctors:0x00000000; // type:label scope:global data:4byte
_dtors = .dtors:0x00000000; // type:label scope:global data:4byte
lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float
@ -112,36 +112,38 @@ lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float
lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float
lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float
lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 data:double
lbl_1_data_0 = .data:0x00000000; // type:object size:0x2 data:2byte
lbl_1_data_2 = .data:0x00000002; // type:object size:0x24 data:string
lbl_1_data_26 = .data:0x00000026; // type:object size:0x20
lbl_1_data_46 = .data:0x00000046; // type:object size:0xA
lbl_1_data_50 = .data:0x00000050; // type:object size:0x20
lbl_1_data_70 = .data:0x00000070; // type:object size:0x20
lbl_1_data_90 = .data:0x00000090; // type:object size:0x8 data:string
lbl_1_data_98 = .data:0x00000098; // type:object size:0x8 data:string
lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x8 data:string
lbl_1_data_A8 = .data:0x000000A8; // type:object size:0x8 data:string
lbl_1_data_B0 = .data:0x000000B0; // type:object size:0x10
lbl_1_data_C0 = .data:0x000000C0; // type:object size:0x4
lbl_1_data_C4 = .data:0x000000C4; // type:object size:0x48
lbl_1_data_10C = .data:0x0000010C; // type:object size:0x18
lbl_1_data_124 = .data:0x00000124; // type:object size:0x20 data:float
lbl_1_data_144 = .data:0x00000144; // type:object size:0x8
lbl_1_data_14C = .data:0x0000014C; // type:object size:0x4 data:float
lbl_1_data_150 = .data:0x00000150; // type:object size:0x4C0
lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte
lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x2 data:2byte
lbl_1_bss_6 = .bss:0x00000006; // type:object size:0x2 data:2byte
lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x1 data:byte
lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:float
lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x2 data:2byte
lbl_1_bss_12 = .bss:0x00000012; // type:object size:0x2 data:2byte
lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x2 data:2byte
lbl_1_bss_18 = .bss:0x00000018; // type:object size:0x4 data:4byte
lbl_1_bss_1C = .bss:0x0000001C; // type:object size:0x4 data:4byte
lbl_1_bss_20 = .bss:0x00000020; // type:object size:0x8 data:float
lbl_1_bss_28 = .bss:0x00000028; // type:object size:0x18 data:float
lbl_1_bss_40 = .bss:0x00000040; // type:object size:0x18 data:float
lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x4 data:4byte
lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0x8 data:4byte
instMode = .data:0x00000000; // type:object size:0x2 scope:local data:2byte
lbl_1_data_2 = .data:0x00000002; // type:object size:0x24 scope:local data:string
instGrpTbl = .data:0x00000026; // type:object size:0x20 scope:local
instPlayerNumTbl = .data:0x00000046; // type:object size:0x8 scope:local
instBoxFile = .data:0x00000050; // type:object size:0x20 scope:local
instBackFile = .data:0x00000070; // type:object size:0x20 scope:local
lbl_1_data_90 = .data:0x00000090; // type:object size:0x8 scope:local data:string
lbl_1_data_98 = .data:0x00000098; // type:object size:0x8 scope:local data:string
lbl_1_data_A0 = .data:0x000000A0; // type:object size:0x8 scope:local data:string
lbl_1_data_A8 = .data:0x000000A8; // type:object size:0x8 scope:local data:string
playerPosNameTbl = .data:0x000000B0; // type:object size:0x10 scope:local
playerDelayTbl = .data:0x000000C0; // type:object size:0x4 scope:local
hostFileTbl = .data:0x000000C4; // type:object size:0x48 scope:local
hostSeTbl = .data:0x0000010C; // type:object size:0x18 scope:local
instNamePosTbl = .data:0x00000124; // type:object size:0x20 scope:local data:float
cameraMask$858 = .data:0x00000144; // type:object size:0x4 scope:local
lbl_1_data_148 = .data:0x00000148; // type:object size:0x4 scope:local
instPicRadius = .data:0x0000014C; // type:object size:0x4 scope:local data:float
FontCharFile = .data:0x00000150; // type:object size:0x4C0 scope:local
debugCamOnF = .bss:0x00000000; // type:object size:0x4 scope:local data:4byte
instBusyF = .bss:0x00000004; // type:object size:0x2 scope:local data:2byte
instPage = .bss:0x00000006; // type:object size:0x2 scope:local data:2byte
LanguageNo = .bss:0x00000008; // type:object size:0x1 scope:local data:byte
instFov = .bss:0x0000000C; // type:object size:0x4 scope:local data:float
instMesOfs = .bss:0x00000010; // type:object size:0x2 scope:local data:2byte
instHostNo = .bss:0x00000012; // type:object size:0x2 scope:local data:2byte
instMgNo = .bss:0x00000014; // type:object size:0x2 scope:local data:2byte
instPicAnim = .bss:0x00000018; // type:object size:0x4 scope:local data:4byte
instBoxMdlId = .bss:0x0000001C; // type:object size:0x4 scope:local data:4byte
cameraZoom = .bss:0x00000020; // type:object size:0x8 data:float
cameraPos = .bss:0x00000028; // type:object size:0x18 data:float
cameraRot = .bss:0x00000040; // type:object size:0x18 data:float
objman = .bss:0x00000058; // type:object size:0x4 data:4byte
outViewObj = .bss:0x0000005C; // type:object size:0x4 scope:local data:4byte
lbl_1_bss_60 = .bss:0x00000060; // type:object size:0x4 scope:local data:4byte

View file

@ -1,34 +1,34 @@
_prolog = .text:0x00000000; // type:function size:0x54 scope:global
_epilog = .text:0x00000054; // type:function size:0x4C scope:global
ObjectSetup = .text:0x000000A0; // type:function size:0x438
fn_1_4D8 = .text:0x000004D8; // type:function size:0x3B0
fn_1_888 = .text:0x00000888; // type:function size:0x2F0
fn_1_B78 = .text:0x00000B78; // type:function size:0x13D4
fn_1_1F4C = .text:0x00001F4C; // type:function size:0xB90
fn_1_2ADC = .text:0x00002ADC; // type:function size:0x1074
fn_1_3B50 = .text:0x00003B50; // type:function size:0x15C
fn_1_3CAC = .text:0x00003CAC; // type:function size:0x15C
fn_1_3E08 = .text:0x00003E08; // type:function size:0x1D0
fn_1_3FD8 = .text:0x00003FD8; // type:function size:0x104
fn_1_40DC = .text:0x000040DC; // type:function size:0x160
fn_1_423C = .text:0x0000423C; // type:function size:0x3E0
fn_1_461C = .text:0x0000461C; // type:function size:0x1E0
fn_1_47FC = .text:0x000047FC; // type:function size:0x1084
fn_1_5880 = .text:0x00005880; // type:function size:0xC10
fn_1_6490 = .text:0x00006490; // type:function size:0x2D0
fn_1_6760 = .text:0x00006760; // type:function size:0xC4
fn_1_6824 = .text:0x00006824; // type:function size:0xD20
fn_1_7544 = .text:0x00007544; // type:function size:0xA54
fn_1_7F98 = .text:0x00007F98; // type:function size:0x3A0
fn_1_8338 = .text:0x00008338; // type:function size:0x14C
fn_1_8484 = .text:0x00008484; // type:function size:0x1D4
fn_1_8658 = .text:0x00008658; // type:function size:0x84
fn_1_86DC = .text:0x000086DC; // type:function size:0x2BC
fn_1_8998 = .text:0x00008998; // type:function size:0x320
fn_1_8CB8 = .text:0x00008CB8; // type:function size:0x340
fn_1_8FF8 = .text:0x00008FF8; // type:function size:0x284
fn_1_927C = .text:0x0000927C; // type:function size:0x138
fn_1_93B4 = .text:0x000093B4; // type:function size:0x78
ResultMain = .text:0x000004D8; // type:function size:0x3B0 scope:local
ResultIdle = .text:0x00000888; // type:function size:0x2F0 scope:local
ResultCreate = .text:0x00000B78; // type:function size:0x13D4 scope:local
ResultStatAdd = .text:0x00001F4C; // type:function size:0xB90 scope:local
ResultOrderApply = .text:0x00002ADC; // type:function size:0x1074 scope:local
ResultSprNumSet = .text:0x00003B50; // type:function size:0x15C scope:local
ResultCoinAddNumSet = .text:0x00003CAC; // type:function size:0x15C scope:local
ResultOrderSet = .text:0x00003E08; // type:function size:0x1D0 scope:local
ResultBoardDataRead = .text:0x00003FD8; // type:function size:0x104
ResultCoinAdd = .text:0x000040DC; // type:function size:0x160
ResultCoinNumGet = .text:0x0000423C; // type:function size:0x3E0
SaveExec = .text:0x0000461C; // type:function size:0x1E0 scope:local
ResultTeamExec = .text:0x000047FC; // type:function size:0x1084 scope:local
CameraDebug = .text:0x00005880; // type:function size:0xC10
ResultBattleMain = .text:0x00006490; // type:function size:0x2D0
ResultBattleIdle = .text:0x00006760; // type:function size:0xC4 scope:local
ResultBattleCreate = .text:0x00006824; // type:function size:0xD20 scope:local
ResultBattleStatAdd = .text:0x00007544; // type:function size:0xA54 scope:local
ResultBattleCoinAddShow = .text:0x00007F98; // type:function size:0x3A0 scope:local
ResultBattleCoinAddNumSet = .text:0x00008338; // type:function size:0x14C scope:local
ResultBattleOrderSet = .text:0x00008484; // type:function size:0x1D4 scope:local
CoinEffectInit = .text:0x00008658; // type:function size:0x84 scope:local
CoinEffectAdd = .text:0x000086DC; // type:function size:0x2BC scope:local
CoinEffectMain = .text:0x00008998; // type:function size:0x320 scope:local
ResultShadowDraw = .text:0x00008CB8; // type:function size:0x340 scope:local
StageModelCreate = .text:0x00008FF8; // type:function size:0x284
StageSpriteCreate = .text:0x0000927C; // type:function size:0x138
StageSpriteKill = .text:0x000093B4; // type:function size:0x78
_ctors = .ctors:0x00000000; // type:label scope:global data:4byte
_dtors = .dtors:0x00000000; // type:label scope:global data:4byte
lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float
@ -94,7 +94,7 @@ lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:
lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x4 scope:local data:float
lbl_1_rodata_154 = .rodata:0x00000154; // type:object size:0x4 scope:local data:float
lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 scope:local data:float
lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float
lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float
lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float
lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float
@ -134,77 +134,77 @@ lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:
lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x4 scope:local data:float
lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x8 scope:local data:double
lbl_1_data_0 = .data:0x00000000; // type:object size:0x2A4
lbl_1_data_2A4 = .data:0x000002A4; // type:object size:0xDC data:4byte
lbl_1_data_380 = .data:0x00000380; // type:object size:0x2 data:2byte
resultModel = .data:0x00000000; // type:object size:0x2A4 scope:local
resultSprite = .data:0x000002A4; // type:object size:0xDC scope:local data:4byte
rankNewGrpId = .data:0x00000380; // type:object size:0x2 scope:local data:2byte
lbl_1_data_382 = .data:0x00000382; // type:object size:0x26 scope:local data:string
lbl_1_data_3A8 = .data:0x000003A8; // type:object size:0x18
lbl_1_data_3C0 = .data:0x000003C0; // type:object size:0x18
lbl_1_data_3D8 = .data:0x000003D8; // type:object size:0x20
lbl_1_data_3F8 = .data:0x000003F8; // type:object size:0x10
lbl_1_data_408 = .data:0x00000408; // type:object size:0x30
lbl_1_data_438 = .data:0x00000438; // type:object size:0x10
lbl_1_data_448 = .data:0x00000448; // type:object size:0x8 scope:local
lbl_1_data_450 = .data:0x00000450; // type:object size:0x18
lbl_1_data_468 = .data:0x00000468; // type:object size:0x20
lbl_1_data_488 = .data:0x00000488; // type:object size:0x30
resultBackFile = .data:0x000003A8; // type:object size:0x18 scope:local
resultLetterFile = .data:0x000003C0; // type:object size:0x18 scope:local
resultStatPosTbl = .data:0x000003D8; // type:object size:0x20 scope:local
resultRankPosTbl = .data:0x000003F8; // type:object size:0x10 scope:local
resultCharPosTbl = .data:0x00000408; // type:object size:0x30 scope:local
resultCoinAddPosTbl = .data:0x00000438; // type:object size:0x10 scope:local
lbl_1_data_448 = .data:0x00000448; // type:object size:0x5 scope:local data:string
resultBoardDirTbl = .data:0x00000450; // type:object size:0x18 scope:local
resultCharMdlTbl = .data:0x00000468; // type:object size:0x20 scope:local
resultTeamCharPosTbl = .data:0x00000488; // type:object size:0x30 scope:local
lbl_1_data_4B8 = .data:0x000004B8; // type:object size:0x11 scope:local data:string
lbl_1_data_4C9 = .data:0x000004C9; // type:object size:0x11 scope:local data:string
lbl_1_data_4DA = .data:0x000004DA; // type:object size:0xB scope:local data:string
lbl_1_data_4E8 = .data:0x000004E8; // type:object size:0x270
lbl_1_data_758 = .data:0x00000758; // type:object size:0x28
lbl_1_data_780 = .data:0x00000780; // type:object size:0x50
lbl_1_data_7D0 = .data:0x000007D0; // type:object size:0x20
lbl_1_data_7F0 = .data:0x000007F0; // type:object size:0x30
resultBattleModel = .data:0x000004E8; // type:object size:0x270 scope:local
resultBattleSprite = .data:0x00000758; // type:object size:0x28 scope:local
resultBattleEffParMan = .data:0x00000780; // type:object size:0x50 scope:local
resultStatPosTbl = .data:0x000007D0; // type:object size:0x20 scope:local
playerPosTbl = .data:0x000007F0; // type:object size:0x30 scope:local
lbl_1_data_820 = .data:0x00000820; // type:object size:0x10
lbl_1_data_830 = .data:0x00000830; // type:object size:0x10
lbl_1_data_840 = .data:0x00000840; // type:object size:0x20
lbl_1_data_860 = .data:0x00000860; // type:object size:0x20
lbl_1_data_880 = .data:0x00000880; // type:object size:0x20
lbl_1_data_8A0 = .data:0x000008A0; // type:object size:0x6 data:2byte
lbl_1_data_8A6 = .data:0x000008A6; // type:object size:0x8 scope:local data:float
lbl_1_data_8AE = .data:0x000008AE; // type:object size:0x8 scope:local data:float
lbl_1_data_8B8 = .data:0x000008B8; // type:object size:0x60
lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte
lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte
lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x2 data:2byte
lbl_1_bss_A = .bss:0x0000000A; // type:object size:0x8
lbl_1_bss_12 = .bss:0x00000012; // type:object size:0x28
lbl_1_bss_3A = .bss:0x0000003A; // type:object size:0x8
lbl_1_bss_42 = .bss:0x00000042; // type:object size:0x8
lbl_1_bss_4A = .bss:0x0000004A; // type:object size:0x8
lbl_1_bss_52 = .bss:0x00000052; // type:object size:0x2 data:2byte
lbl_1_bss_54 = .bss:0x00000054; // type:object size:0x8
lbl_1_bss_5C = .bss:0x0000005C; // type:object size:0x40
lbl_1_bss_9C = .bss:0x0000009C; // type:object size:0x2 data:2byte
lbl_1_bss_9E = .bss:0x0000009E; // type:object size:0x30
lbl_1_bss_CE = .bss:0x000000CE; // type:object size:0x12
lbl_1_bss_E0 = .bss:0x000000E0; // type:object size:0x4 data:4byte
lbl_1_bss_E4 = .bss:0x000000E4; // type:object size:0x60
lbl_1_bss_144 = .bss:0x00000144; // type:object size:0x14
lbl_1_bss_158 = .bss:0x00000158; // type:object size:0x10
lbl_1_bss_168 = .bss:0x00000168; // type:object size:0x8
lbl_1_bss_170 = .bss:0x00000170; // type:object size:0x2 data:2byte
lbl_1_bss_172 = .bss:0x00000172; // type:object size:0x2 data:2byte
lbl_1_bss_174 = .bss:0x00000174; // type:object size:0x4 data:4byte
lbl_1_bss_178 = .bss:0x00000178; // type:object size:0x4 data:4byte
lbl_1_bss_17C = .bss:0x0000017C; // type:object size:0x2 data:2byte
lbl_1_bss_180 = .bss:0x00000180; // type:object size:0x4 data:4byte
lbl_1_bss_184 = .bss:0x00000184; // type:object size:0x4 data:4byte
bomheiCubeMdlTbl = .data:0x00000830; // type:object size:0x10 scope:local
coinEffectYOfs = .data:0x00000840; // type:object size:0x20 scope:local
coinAddYOfs = .data:0x00000860; // type:object size:0x20 scope:local
coinBlankYOfs = .data:0x00000880; // type:object size:0x20 scope:local
coinNumXOfs = .data:0x000008A0; // type:object size:0x6 scope:local data:2byte
lbl_1_data_8A6 = .data:0x000008A6; // type:object size:0x8 scope:local data:string
lbl_1_data_8AE = .data:0x000008AE; // type:object size:0x8 scope:local data:string
cameraShakeOfs = .data:0x000008B8; // type:object size:0x60 scope:local
resultReorderF = .bss:0x00000000; // type:object size:0x4 scope:local data:4byte
resultSkipF = .bss:0x00000004; // type:object size:0x4 scope:local data:4byte
resultTeamOrder = .bss:0x00000008; // type:object size:0x2 scope:local data:2byte
resultCharCubeMdlId = .bss:0x0000000A; // type:object size:0x8 scope:local
resultCoinAddSprId = .bss:0x00000012; // type:object size:0x28 scope:local
resultCoinAddGrpId = .bss:0x0000003A; // type:object size:0x8 scope:local
resultRank = .bss:0x00000042; // type:object size:0x8 scope:local
resultOrder = .bss:0x0000004A; // type:object size:0x8 scope:local
resultRankGrpId = .bss:0x00000052; // type:object size:0x2 scope:local data:2byte
resultPlayerCubeMdlId = .bss:0x00000054; // type:object size:0x8 scope:local
resultCubeMdlId = .bss:0x0000005C; // type:object size:0x40 scope:local
resultCrownGrpId = .bss:0x0000009C; // type:object size:0x2 scope:local data:2byte
resultNumSprId = .bss:0x0000009E; // type:object size:0x30 scope:local
resultNumGrpId = .bss:0x000000CE; // type:object size:0x10 scope:local
resultCrownAnim = .bss:0x000000E0; // type:object size:0x4 scope:local data:4byte
resultCharAnim = .bss:0x000000E4; // type:object size:0x60 scope:local
resultRankAnim = .bss:0x00000144; // type:object size:0x14 scope:local
statShadowMdlId = .bss:0x00000158; // type:object size:0x10 scope:local
charShadowMdlId = .bss:0x00000168; // type:object size:0x8 scope:local
teamResultGrpId = .bss:0x00000170; // type:object size:0x2 scope:local data:2byte
resultBonusPlayer = .bss:0x00000172; // type:object size:0x2 data:2byte
resultFastF = .bss:0x00000174; // type:object size:0x4 data:4byte
resultReadEndF = .bss:0x00000178; // type:object size:0x4 data:4byte
resultMgNo = .bss:0x0000017C; // type:object size:0x2 data:2byte
objman = .bss:0x00000180; // type:object size:0x4 data:4byte
outViewObj = .bss:0x00000184; // type:object size:0x4 scope:local data:4byte
lbl_1_bss_188 = .bss:0x00000188; // type:object size:0x4 data:4byte
lbl_1_bss_190 = .bss:0x00000190; // type:object size:0x4 data:4byte
lbl_1_bss_194 = .bss:0x00000194; // type:object size:0x1680
lbl_1_bss_1814 = .bss:0x00001814; // type:object size:0x8
resultBattleSkipF = .bss:0x00000190; // type:object size:0x4 scope:local data:4byte
coinEffectData = .bss:0x00000194; // type:object size:0x1680 scope:local
resultBattleEffParManId = .bss:0x00001814; // type:object size:0x8 scope:local
lbl_1_bss_181C = .bss:0x0000181C; // type:object size:0xC
lbl_1_bss_1828 = .bss:0x00001828; // type:object size:0x168 data:2byte
lbl_1_bss_1990 = .bss:0x00001990; // type:object size:0x20
lbl_1_bss_19B0 = .bss:0x000019B0; // type:object size:0x8
lbl_1_bss_19B8 = .bss:0x000019B8; // type:object size:0x28
lbl_1_bss_19E0 = .bss:0x000019E0; // type:object size:0x8
lbl_1_bss_19E8 = .bss:0x000019E8; // type:object size:0x8
lbl_1_bss_19F0 = .bss:0x000019F0; // type:object size:0x8
coinEffectMdlId = .bss:0x00001828; // type:object size:0x168 scope:local data:2byte
resultBattleCharMot = .bss:0x00001990; // type:object size:0x20 scope:local
resultBattleCharMdl = .bss:0x000019B0; // type:object size:0x8 scope:local
coinNumSprId = .bss:0x000019B8; // type:object size:0x28 scope:local
coinNumGrpId = .bss:0x000019E0; // type:object size:0x8 scope:local
resultBattleRank = .bss:0x000019E8; // type:object size:0x8 scope:local
resultBattleOrder = .bss:0x000019F0; // type:object size:0x8 scope:local
lbl_1_bss_19F8 = .bss:0x000019F8; // type:object size:0x20
lbl_1_bss_1A18 = .bss:0x00001A18; // type:object size:0x2
lbl_1_bss_1A1A = .bss:0x00001A1A; // type:object size:0x42 data:2byte
lbl_1_bss_1A5C = .bss:0x00001A5C; // type:object size:0x40 data:2byte
lbl_1_bss_1A9C = .bss:0x00001A9C; // type:object size:0x40 data:2byte
stageSprId = .bss:0x00001A1A; // type:object size:0x42 data:2byte
stageMotId = .bss:0x00001A5C; // type:object size:0x40 data:2byte
stageSprId = .bss:0x00001A9C; // type:object size:0x40 data:2byte

View file

@ -1457,9 +1457,9 @@ config.libs = [
Rel(
"resultDll",
objects={
Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/resultDll/main.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/resultDll/battle.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPJ01_00"), "REL/resultDll/datalist.c"),
Object(Matching, "REL/resultDll/main.c"),
Object(Matching, "REL/resultDll/battle.c"),
Object(Matching, "REL/resultDll/datalist.c"),
},
),
Rel(

View file

@ -3,6 +3,6 @@
#include "game/minigame_seq.h"
s32 fn_1_5EA4(SeqWork *work, char *mess, s16 jp_flag);
s32 FontCreate(SeqWork *work, char *mess, s16 jp_flag);
#endif

View file

@ -7,7 +7,7 @@
#include "game/sprite.h"
typedef struct datalist_model {
typedef struct StageModel_s {
s32 datanum;
u32 attr;
s16 type;
@ -16,33 +16,33 @@ typedef struct datalist_model {
Vec pos;
Vec rot;
Vec scale;
} DataListModel;
} StageModel;
typedef struct datalist_sprite {
typedef struct StageSprite_s {
u32 datanum;
s16 attr;
s16 prio;
float x;
float y;
GXColor color;
} DataListSprite;
} StageSprite;
void fn_1_3FD8(void);
void fn_1_40DC(void);
void fn_1_423C(s16 *data);
void ResultBoardDataRead(void);
void ResultCoinAdd(void);
void ResultCoinNumGet(s16 *coinNum);
void fn_1_6490(void);
void ResultBattleMain(void);
void fn_1_8FF8(DataListModel *model_list);
void fn_1_927C(DataListSprite *sprite_list);
void fn_1_93B4(void);
void StageModelCreate(StageModel *model_list);
void StageSpriteCreate(StageSprite *sprite_list);
void StageSpriteKill(void);
extern s16 lbl_1_bss_1A9C[32];
extern s16 lbl_1_bss_1A5C[32];
extern s16 lbl_1_bss_1A1A[33];
extern s16 stageMdlId[32];
extern s16 stageMotId[32];
extern s16 stageSprId[33];
extern s16 lbl_1_bss_1A18;
extern s32 lbl_1_bss_178;
extern s32 lbl_1_bss_174;
extern s16 lbl_1_bss_172;
extern s32 resultReadEndF;
extern s32 resultFastF;
extern s16 resultBonusPlayer;
#endif

View file

@ -2,7 +2,7 @@
#include "REL/instDll.h"
s32 lbl_1_data_150[0xC6] = {
static s32 FontCharFile[0xC6] = {
0,
0,
0,
@ -203,115 +203,115 @@ s32 lbl_1_data_150[0xC6] = {
DATA_MAKE_NUM(DATADIR_INST, 0x25),
};
s32 fn_1_5EA4(SeqWork *work, char *mess, s16 jp_flag)
s32 FontCreate(SeqWork *work, char *mess, s16 jp_flag)
{
char *var_r31;
s16 var_r30;
s16 *var_r29;
s16 var_r28;
s32 *var_r27;
s16 var_r26;
s16 var_r25;
s32 var_r24;
s16 *var_r22;
AnimData **var_r21;
s16 var_r20;
s16 var_r19;
char *str;
s16 len;
s16 *posY;
s16 charNum;
s32 *fileTbl;
s16 i;
s16 grpNo;
s32 file;
s16 *posX;
AnimData **animP;
s16 gid;
s16 sprid;
var_r27 = lbl_1_data_150;
for (var_r25 = 0; var_r25 < 0x10; var_r25++) {
if (work->spr_grp[var_r25] == -1) {
fileTbl = FontCharFile;
for (grpNo = 0; grpNo < 0x10; grpNo++) {
if (work->spr_grp[grpNo] == -1) {
break;
}
}
if (var_r25 == 0x10) {
if (grpNo == 0x10) {
return -1;
}
var_r21 = HuMemDirectMalloc(HEAP_SYSTEM, 0x190);
var_r22 = HuMemDirectMalloc(HEAP_SYSTEM, 0xC8);
var_r29 = HuMemDirectMalloc(HEAP_SYSTEM, 0xC8);
animP = HuMemDirectMalloc(HEAP_SYSTEM, 0x190);
posX = HuMemDirectMalloc(HEAP_SYSTEM, 0xC8);
posY = HuMemDirectMalloc(HEAP_SYSTEM, 0xC8);
for (var_r31 = mess, var_r30 = 0, var_r28 = 0; var_r31[0] != 0; var_r31++) {
if (var_r31[0] == 0x20 || var_r31[0] == 0x10) {
var_r30 += 0xE;
for (str = mess, len = 0, charNum = 0; str[0] != 0; str++) {
if (str[0] == 0x20 || str[0] == 0x10) {
len += 0xE;
}
else if (var_r31[0] < 0x30) {
else if (str[0] < 0x30) {
}
else if (var_r31[0] == 0x80) {
else if (str[0] == 0x80) {
}
else if (var_r31[0] == 0x81) {
else if (str[0] == 0x81) {
}
else {
if (var_r31[1] == 0x80) {
if ((var_r31[0] >= 0x96) && (var_r31[0] <= 0xA4)) {
var_r24 = var_r27[var_r31[0] + 0x6A];
if (str[1] == 0x80) {
if ((str[0] >= 0x96) && (str[0] <= 0xA4)) {
file = fileTbl[str[0] + 0x6A];
}
else if ((var_r31[0] >= 0xAA) && (var_r31[0] <= 0xAE)) {
var_r24 = var_r27[var_r31[0] + 0x65];
else if ((str[0] >= 0xAA) && (str[0] <= 0xAE)) {
file = fileTbl[str[0] + 0x65];
}
else if ((var_r31[0] >= 0xD6) && (var_r31[0] <= 0xE4)) {
var_r24 = var_r27[var_r31[0] + 0x43];
else if ((str[0] >= 0xD6) && (str[0] <= 0xE4)) {
file = fileTbl[str[0] + 0x43];
}
else if ((var_r31[0] >= 0xEA) && (var_r31[0] <= 0xEE)) {
var_r24 = var_r27[var_r31[0] + 0x3E];
else if ((str[0] >= 0xEA) && (str[0] <= 0xEE)) {
file = fileTbl[str[0] + 0x3E];
}
}
else if (var_r31[1] == 0x81) {
if ((var_r31[0] >= 0xAA) && (var_r31[0] <= 0xAE)) {
var_r24 = var_r27[var_r31[0] + 0x6A];
else if (str[1] == 0x81) {
if ((str[0] >= 0xAA) && (str[0] <= 0xAE)) {
file = fileTbl[str[0] + 0x6A];
}
else if ((var_r31[0] >= 0xEA) && (var_r31[0] <= 0xEE)) {
var_r24 = var_r27[var_r31[0] + 0x43];
else if ((str[0] >= 0xEA) && (str[0] <= 0xEE)) {
file = fileTbl[str[0] + 0x43];
}
}
else {
var_r24 = var_r27[var_r31[0]];
file = fileTbl[str[0]];
}
var_r21[var_r28] = HuSprAnimReadFile(var_r24);
var_r22[var_r28] = var_r30;
if ((var_r31[0] >= 0x61) && (var_r31[0] <= 0x7A)) {
var_r29[var_r28] = 2;
var_r30 += 0x12;
animP[charNum] = HuSprAnimReadFile(file);
posX[charNum] = len;
if ((str[0] >= 0x61) && (str[0] <= 0x7A)) {
posY[charNum] = 2;
len += 0x12;
}
else if ((var_r31[0] == 0xC2) || (var_r31[0] == 0xC3)) {
var_r29[var_r28] = 0;
var_r30 += 0x12;
else if ((str[0] == 0xC2) || (str[0] == 0xC3)) {
posY[charNum] = 0;
len += 0x12;
}
else if (var_r31[0] == 0x5C || var_r31[0] == 0x85) {
var_r29[var_r28] = 0;
var_r30 += 8;
else if (str[0] == 0x5C || str[0] == 0x85) {
posY[charNum] = 0;
len += 8;
}
else if ((var_r31[0] >= 0x87) && (var_r31[0] <= 0x8F)) {
var_r29[var_r28] = 4;
var_r30 += 0x18;
else if ((str[0] >= 0x87) && (str[0] <= 0x8F)) {
posY[charNum] = 4;
len += 0x18;
}
else if ((var_r31[0] >= 0xC7) && (var_r31[0] <= 0xCF)) {
var_r29[var_r28] = 4;
var_r30 += 0x18;
else if ((str[0] >= 0xC7) && (str[0] <= 0xCF)) {
posY[charNum] = 4;
len += 0x18;
}
else if ((var_r31[0] == 0x3D) || (var_r31[0] == 0x84)) {
var_r29[var_r28] = 0;
var_r30 += 0x14;
else if ((str[0] == 0x3D) || (str[0] == 0x84)) {
posY[charNum] = 0;
len += 0x14;
}
else {
var_r29[var_r28] = 0;
var_r30 += 0x1C;
posY[charNum] = 0;
len += 0x1C;
}
var_r28++;
charNum++;
}
}
var_r20 = HuSprGrpCreate(var_r28);
work->spr_grp[var_r25] = var_r20;
work->alt_word_len = var_r30;
var_r30 = (var_r30 / 2) - 0xE;
for (var_r26 = 0; var_r26 < var_r28; var_r26++) {
var_r19 = HuSprCreate(var_r21[var_r26], 0, 0);
HuSprGrpMemberSet(var_r20, var_r26, var_r19);
HuSprPosSet(var_r20, var_r26, var_r22[var_r26] - var_r30, var_r29[var_r26]);
gid = HuSprGrpCreate(charNum);
work->spr_grp[grpNo] = gid;
work->alt_word_len = len;
len = (len / 2) - 0xE;
for (i = 0; i < charNum; i++) {
sprid = HuSprCreate(animP[i], 0, 0);
HuSprGrpMemberSet(gid, i, sprid);
HuSprPosSet(gid, i, posX[i] - len, posY[i]);
}
work->word_len = var_r28;
HuMemDirectFree(var_r21);
HuMemDirectFree(var_r22);
HuMemDirectFree(var_r29);
return var_r25;
work->word_len = charNum;
HuMemDirectFree(animP);
HuMemDirectFree(posX);
HuMemDirectFree(posY);
return grpNo;
}

File diff suppressed because it is too large Load diff

View file

@ -19,7 +19,9 @@
#include "REL/resultdll.h"
DataListModel lbl_1_data_4E8[] = { { DATA_MAKE_NUM(DATADIR_RESULT, 0x08), 0, 0, -1, -1, { -300, 0, 0 }, { 0, 0, 0 }, { 0.9f, 0.9f, 0.9f } },
#define COIN_EFFECT_MAX 180
static StageModel resultBattleModel[] = { { DATA_MAKE_NUM(DATADIR_RESULT, 0x08), 0, 0, -1, -1, { -300, 0, 0 }, { 0, 0, 0 }, { 0.9f, 0.9f, 0.9f } },
{ DATA_MAKE_NUM(DATADIR_RESULT, 0x09), 0, 0, -1, -1, { -100, 0, 0 }, { 0, 0, 0 }, { 0.9f, 0.9f, 0.9f } },
{ DATA_MAKE_NUM(DATADIR_RESULT, 0x0A), 0, 0, -1, -1, { 100, 0, 0 }, { 0, 0, 0 }, { 0.9f, 0.9f, 0.9f } },
{ DATA_MAKE_NUM(DATADIR_RESULT, 0x0A), 0, 0, -1, -1, { 300, 0, 0 }, { 0, 0, 0 }, { 0.9f, 0.9f, 0.9f } },
@ -32,12 +34,12 @@ DataListModel lbl_1_data_4E8[] = { { DATA_MAKE_NUM(DATADIR_RESULT, 0x08), 0, 0,
{ DATA_MAKE_NUM(DATADIR_RESULT, 0x0F), 0x40000002, 0, -1, -1, { 5000, 0, 0 }, { 0, 0, 0 }, { 2.0f, 2.0f, 2.0f } },
{ -1, 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } } };
DataListSprite lbl_1_data_758[] = {
static StageSprite resultBattleSprite[] = {
{ DATA_MAKE_NUM(DATADIR_RESULT, 0x43), 0, 10, 288, 240, { 255, 255, 255, 255 } },
{ 0, 0, 0, 0, 0, { 0, 0, 0, 0 } },
};
HsfanimStruct00 lbl_1_data_780 = { 80, { 0, 0 }, 3, 30, 90, { 0, -0.2, 0 }, 5.0f, 0.95f, 10.0f, 0.995f, 2,
static HsfanimStruct00 resultBattleEffParMan = { 80, { 0, 0 }, 3, 30, 90, { 0, -0.2, 0 }, 5.0f, 0.95f, 10.0f, 0.995f, 2,
{
{ 255, 192, 112, 255 },
{ 0, 0, 0, 0 },
@ -49,9 +51,10 @@ HsfanimStruct00 lbl_1_data_780 = { 80, { 0, 0 }, 3, 30, 90, { 0, -0.2, 0 }, 5.0f
{ 0, 0, 0, 0 },
{ 0, 0, 0, 0 },
{ 0, 0, 0, 0 },
} };
}
};
s16 lbl_1_data_7D0[] = {
static s16 resultStatPosTbl[] = {
320,
132,
500,
@ -70,103 +73,103 @@ s16 lbl_1_data_7D0[] = {
387,
};
Vec lbl_1_data_7F0[] = { { -300, 270, 0 }, { -100, 180, 500 }, { 100, 90, 500 }, { 300, 0, 500 } };
static Vec playerPosTbl[] = { { -300, 270, 0 }, { -100, 180, 500 }, { 100, 90, 500 }, { 300, 0, 500 } };
s16 lbl_1_data_820[] = { -284, 148, -84, 233, 116, 318, 316, 403 };
s32 lbl_1_data_830[] = { DATA_MAKE_NUM(DATADIR_RESULT, 0x08), DATA_MAKE_NUM(DATADIR_RESULT, 0x09), DATA_MAKE_NUM(DATADIR_RESULT, 0x0A),
static s32 bomheiCubeMdlTbl[] = { DATA_MAKE_NUM(DATADIR_RESULT, 0x08), DATA_MAKE_NUM(DATADIR_RESULT, 0x09), DATA_MAKE_NUM(DATADIR_RESULT, 0x0A),
DATA_MAKE_NUM(DATADIR_RESULT, 0x0A) };
float lbl_1_data_840[] = { 130, 150, 170, 150, 150, 130, 170, 190 };
static float coinEffectYOfs[] = { 130, 150, 170, 150, 150, 130, 170, 190 };
float lbl_1_data_860[] = { 130, 150, 180, 150, 150, 170, 180, 210 };
static float coinAddYOfs[] = { 130, 150, 180, 150, 150, 170, 180, 210 };
float lbl_1_data_880[] = { 140, 160, 180, 150, 150, 120, 180, 210 };
static float coinBlankYOfs[] = { 140, 160, 180, 150, 150, 120, 180, 210 };
s16 lbl_1_data_8A0[] = { 8, 0, -8 };
static s16 coinNumXOfs[] = { 8, 0, -8 };
typedef struct struct_unk194 {
s16 unk0;
s16 unk2;
Vec unk4;
Vec unk10;
float unk1C;
} StructUnk194;
typedef struct CoinEffect_s {
s16 playerNo;
s16 rank;
Vec pos;
Vec rotVel;
float velY;
} CoinEffect;
u8 lbl_1_bss_19F8[32];
s16 lbl_1_bss_19F0[4];
s16 lbl_1_bss_19E8[4];
s16 lbl_1_bss_19E0[4];
s16 lbl_1_bss_19B8[4][5];
s16 lbl_1_bss_19B0[4];
s16 lbl_1_bss_1990[4][4];
s16 lbl_1_bss_1828[180];
static s16 resultBattleOrder[4];
static s16 resultBattleRank[4];
static s16 coinNumGrpId[4];
static s16 coinNumSprId[4][5];
static s16 resultBattleCharMdl[4];
static s16 resultBattleCharMot[4][4];
static s16 coinEffectMdlId[COIN_EFFECT_MAX];
s16 lbl_1_bss_181C[6];
s16 lbl_1_bss_1814[4];
StructUnk194 lbl_1_bss_194[180];
s32 lbl_1_bss_190;
static s16 resultBattleEffParManId[4];
static CoinEffect coinEffectData[COIN_EFFECT_MAX];
static s32 resultBattleSkipF;
void fn_1_6760(void);
void fn_1_6824(void);
void fn_1_7544(void);
static void ResultBattleIdle(void);
static void ResultBattleCreate(void);
static void ResultBattleStatAdd(void);
void fn_1_6490(void)
void ResultBattleMain(void)
{
s16 player;
s16 playerNo;
s16 i;
s16 window;
s16 button;
Process *process = HuPrcCurrentGet();
s16 winId;
s16 btnDown;
Process *proc = HuPrcCurrentGet();
HuAudSeqPlay(10);
for (i = player = 0; i < 4; i++) {
for (i = playerNo = 0; i < 4; i++) {
if (GWPlayerCfg[i].iscom) {
player++;
playerNo++;
}
}
if (player == 4) {
lbl_1_bss_190 = 1;
if (playerNo == 4) {
resultBattleSkipF = 1;
}
else {
lbl_1_bss_190 = 0;
resultBattleSkipF = 0;
}
fn_1_6824();
HuPrcChildCreate(fn_1_6760, 100, 8192, 0, process);
ResultBattleCreate();
HuPrcChildCreate(ResultBattleIdle, 100, 8192, 0, proc);
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 20);
while (WipeStatGet()) {
HuPrcVSleep();
}
lbl_1_bss_178 = 0;
HuPrcChildCreate(fn_1_3FD8, 100, 12288, 0, process);
resultReadEndF = 0;
HuPrcChildCreate(ResultBoardDataRead, 100, 12288, 0, proc);
HuPrcSleep(10);
if (!lbl_1_bss_174) {
if (!resultFastF) {
HuPrcSleep(20);
}
fn_1_7544();
fn_1_40DC();
window = HuWinCreate(-10000.0f, 400.0f, 320, 40, 0);
HuWinMesSpeedSet(window, 0);
HuWinBGTPLvlSet(window, 0);
HuWinAttrSet(window, 0x800);
HuWinMesSet(window, MAKE_MESSID(0x24, 0x07));
ResultBattleStatAdd();
ResultCoinAdd();
winId = HuWinCreate(-10000.0f, 400.0f, 320, 40, 0);
HuWinMesSpeedSet(winId, 0);
HuWinBGTPLvlSet(winId, 0);
HuWinAttrSet(winId, 0x800);
HuWinMesSet(winId, MAKE_MESSID(0x24, 0x07));
i = 0;
while (1) {
if (lbl_1_bss_190 && i > 120) {
if (resultBattleSkipF && i > 120) {
break;
}
for (player = button = 0; player < 4; player++) {
if (!GWPlayerCfg[player].iscom) {
button |= HuPadBtnDown[GWPlayerCfg[player].pad_idx];
for (playerNo = btnDown = 0; playerNo < 4; playerNo++) {
if (!GWPlayerCfg[playerNo].iscom) {
btnDown |= HuPadBtnDown[GWPlayerCfg[playerNo].pad_idx];
}
}
if (button & PAD_BUTTON_A) {
if (btnDown & PAD_BUTTON_A) {
HuAudFXPlay(28);
break;
}
HuPrcVSleep();
i++;
}
HuWinKill(window);
while (!lbl_1_bss_178) {
HuWinKill(winId);
while (!resultReadEndF) {
HuPrcVSleep();
}
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30);
@ -183,45 +186,45 @@ void fn_1_6490(void)
}
}
void fn_1_6760(void)
static void ResultBattleIdle(void)
{
Vec temp;
temp.z = 0.0f;
temp.y = 0.0f;
temp.x = 0.0f;
while (1) {
if (((HuPadBtn[0] | HuPadBtn[1] | HuPadBtn[2] | HuPadBtn[3]) & 0x100) != 0 || lbl_1_bss_190 != 0) {
lbl_1_bss_174 = 1;
if (((HuPadBtn[0] | HuPadBtn[1] | HuPadBtn[2] | HuPadBtn[3]) & 0x100) != 0 || resultBattleSkipF != 0) {
resultFastF = 1;
}
else {
lbl_1_bss_174 = 0;
resultFastF = 0;
}
HuPrcVSleep();
}
}
void fn_1_7F98(void);
void fn_1_8338(s16 group, s16 value);
void fn_1_8484(void);
void fn_1_8658(void);
void fn_1_86DC(s16 player);
void fn_1_8CB8(struct model_data *model, Mtx matrix);
static void ResultBattleCoinAddShow(void);
static void ResultBattleCoinAddNumSet(s16 grpId, s16 value);
static void ResultBattleOrderSet(void);
static void CoinEffectInit(void);
static void CoinEffectAdd(s16 playerNo);
static void ResultShadowDraw(struct model_data *model, Mtx matrix);
void fn_1_6824(void)
static void ResultBattleCreate(void)
{
s16 i;
s16 character;
s16 player;
s16 x_ofs;
s16 charNo;
s16 playerNo;
s16 xOfs;
AnimData *anim;
AnimData *anim2;
AnimData *anim3;
s16 char_mdl;
s16 charMdlId;
Vec pos;
Vec target;
Vec up;
s16 gains[5];
Process *process = HuPrcCurrentGet();
s16 coinNum[5];
Process *proc = HuPrcCurrentGet();
CRot.x = 0;
CRot.y = 0;
CRot.z = 0;
@ -240,168 +243,167 @@ void fn_1_6824(void)
up.y = 1;
up.z = 0;
Hu3DShadowPosSet(&pos, &up, &target);
i = Hu3DHookFuncCreate(fn_1_8CB8);
i = Hu3DHookFuncCreate(ResultShadowDraw);
Hu3DModelPosSet(i, 0, 0, 0);
fn_1_8484();
fn_1_423C(gains);
gains[lbl_1_bss_172] += gains[4];
ResultBattleOrderSet();
ResultCoinNumGet(coinNum);
coinNum[resultBonusPlayer] += coinNum[4];
for (i = 0; i < 4; i++) {
lbl_1_data_4E8[i].datanum = lbl_1_data_830[lbl_1_bss_19E8[i]];
if (lbl_1_bss_19E8[i] == 3) {
lbl_1_data_4E8[i].attr = 1;
resultBattleModel[i].datanum = bomheiCubeMdlTbl[resultBattleRank[i]];
if (resultBattleRank[i] == 3) {
resultBattleModel[i].attr = 1;
}
}
fn_1_8FF8(lbl_1_data_4E8);
fn_1_927C(lbl_1_data_758);
espDrawNoSet(lbl_1_bss_1A1A[0], 127);
StageModelCreate(resultBattleModel);
StageSpriteCreate(resultBattleSprite);
espDrawNoSet(stageSprId[0], 127);
for (i = 0; i < 4; i++) {
Hu3DModelShadowSet(lbl_1_bss_1A9C[i]);
Hu3DModelShadowSet(stageMdlId[i]);
}
for (i = 0; i < 4; i++) {
anim = HuSprAnimRead(HuDataReadNum(lbl_1_bss_19E8[i] + DATA_MAKE_NUM(DATADIR_RESULT, 0x44), MEMORY_DEFAULT_NUM));
;
if (lbl_1_bss_19E8[i] <= 2) {
anim = HuSprAnimRead(HuDataReadNum(resultBattleRank[i] + DATA_MAKE_NUM(DATADIR_RESULT, 0x44), MEMORY_DEFAULT_NUM));
if (resultBattleRank[i] <= 2) {
anim2 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_RESULT, 0x48), MEMORY_DEFAULT_NUM));
}
else {
anim2 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_RESULT, 0x48), MEMORY_DEFAULT_NUM));
}
Hu3DAnimCreate(anim, lbl_1_bss_1A9C[i + 4], "ys22_a0");
Hu3DAnimCreate(anim2, lbl_1_bss_1A9C[i + 4], "ys22_a1");
Hu3DModelAttrSet(lbl_1_bss_1A9C[i + 4], HU3D_MOTATTR_PAUSE);
Hu3DAnimCreate(anim, stageMdlId[i + 4], "ys22_a0");
Hu3DAnimCreate(anim2, stageMdlId[i + 4], "ys22_a1");
Hu3DModelAttrSet(stageMdlId[i + 4], HU3D_MOTATTR_PAUSE);
}
anim = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_RESULT, 0x3D), MEMORY_DEFAULT_NUM));
anim2 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_RESULT, 0x3B), MEMORY_DEFAULT_NUM));
anim3 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_RESULT, 0x3C), MEMORY_DEFAULT_NUM));
for (i = 0; i < 4; i++) {
if (gains[lbl_1_bss_19F0[i]] >= 100) {
x_ofs = lbl_1_data_8A0[2];
if (coinNum[resultBattleOrder[i]] >= 100) {
xOfs = coinNumXOfs[2];
}
else if (gains[lbl_1_bss_19F0[i]] >= 10) {
x_ofs = lbl_1_data_8A0[1];
else if (coinNum[resultBattleOrder[i]] >= 10) {
xOfs = coinNumXOfs[1];
}
else {
x_ofs = lbl_1_data_8A0[0];
xOfs = coinNumXOfs[0];
}
lbl_1_bss_19E0[i] = HuSprGrpCreate(5);
lbl_1_bss_19B8[i][0] = HuSprCreate(anim, 10, 0);
HuSprGrpMemberSet(lbl_1_bss_19E0[i], 0, lbl_1_bss_19B8[i][0]);
HuSprPosSet(lbl_1_bss_19E0[i], 0, 17, -32);
lbl_1_bss_19B8[i][1] = HuSprCreate(anim2, 0, 0);
HuSprGrpMemberSet(lbl_1_bss_19E0[i], 1, lbl_1_bss_19B8[i][1]);
HuSprPosSet(lbl_1_bss_19E0[i], 1, x_ofs, -36);
lbl_1_bss_19B8[i][2] = HuSprCreate(anim3, 0, 0);
HuSprGrpMemberSet(lbl_1_bss_19E0[i], 2, lbl_1_bss_19B8[i][2]);
HuSprPosSet(lbl_1_bss_19E0[i], 2, x_ofs + 16, -36);
lbl_1_bss_19B8[i][3] = HuSprCreate(anim3, 0, 0);
HuSprGrpMemberSet(lbl_1_bss_19E0[i], 3, lbl_1_bss_19B8[i][3]);
HuSprPosSet(lbl_1_bss_19E0[i], 3, x_ofs + 32, -36);
lbl_1_bss_19B8[i][4] = HuSprCreate(anim3, 0, 0);
HuSprGrpMemberSet(lbl_1_bss_19E0[i], 4, lbl_1_bss_19B8[i][4]);
HuSprPosSet(lbl_1_bss_19E0[i], 4, x_ofs + 48, -36);
HuSprGrpPosSet(lbl_1_bss_19E0[i], 0, 0);
fn_1_8338(lbl_1_bss_19E0[i], 9);
HuSprGrpScaleSet(lbl_1_bss_19E0[i], 0, 0);
coinNumGrpId[i] = HuSprGrpCreate(5);
coinNumSprId[i][0] = HuSprCreate(anim, 10, 0);
HuSprGrpMemberSet(coinNumGrpId[i], 0, coinNumSprId[i][0]);
HuSprPosSet(coinNumGrpId[i], 0, 17, -32);
coinNumSprId[i][1] = HuSprCreate(anim2, 0, 0);
HuSprGrpMemberSet(coinNumGrpId[i], 1, coinNumSprId[i][1]);
HuSprPosSet(coinNumGrpId[i], 1, xOfs, -36);
coinNumSprId[i][2] = HuSprCreate(anim3, 0, 0);
HuSprGrpMemberSet(coinNumGrpId[i], 2, coinNumSprId[i][2]);
HuSprPosSet(coinNumGrpId[i], 2, xOfs + 16, -36);
coinNumSprId[i][3] = HuSprCreate(anim3, 0, 0);
HuSprGrpMemberSet(coinNumGrpId[i], 3, coinNumSprId[i][3]);
HuSprPosSet(coinNumGrpId[i], 3, xOfs + 32, -36);
coinNumSprId[i][4] = HuSprCreate(anim3, 0, 0);
HuSprGrpMemberSet(coinNumGrpId[i], 4, coinNumSprId[i][4]);
HuSprPosSet(coinNumGrpId[i], 4, xOfs + 48, -36);
HuSprGrpPosSet(coinNumGrpId[i], 0, 0);
ResultBattleCoinAddNumSet(coinNumGrpId[i], 9);
HuSprGrpScaleSet(coinNumGrpId[i], 0, 0);
}
(void)anim3;
Hu3DMotionSet(lbl_1_bss_1A9C[8], lbl_1_bss_1A5C[9]);
Hu3DModelAttrSet(lbl_1_bss_1A9C[8], HU3D_MOTATTR_LOOP);
Hu3DModelShadowSet(lbl_1_bss_1A9C[8]);
for (i = 0; i < 180; i++) {
Hu3DMotionSet(stageMdlId[8], stageMotId[9]);
Hu3DModelAttrSet(stageMdlId[8], HU3D_MOTATTR_LOOP);
Hu3DModelShadowSet(stageMdlId[8]);
for (i = 0; i < COIN_EFFECT_MAX; i++) {
if (i == 0) {
lbl_1_bss_1828[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x0C));
coinEffectMdlId[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x0C));
}
else {
lbl_1_bss_1828[i] = Hu3DModelLink(lbl_1_bss_1828[0]);
coinEffectMdlId[i] = Hu3DModelLink(coinEffectMdlId[0]);
}
Hu3DModelScaleSet(lbl_1_bss_1828[i], 0.5f, 0.5f, 0.5f);
Hu3DModelAttrSet(lbl_1_bss_1828[i], HU3D_ATTR_DISPOFF);
Hu3DModelScaleSet(coinEffectMdlId[i], 0.5f, 0.5f, 0.5f);
Hu3DModelAttrSet(coinEffectMdlId[i], HU3D_ATTR_DISPOFF);
}
fn_1_8658();
CoinEffectInit();
anim = HuSprAnimRead(HuAR_ARAMtoMRAMFileRead(DATA_MAKE_NUM(DATADIR_EFFECT, 4), MEMORY_DEFAULT_NUM, HEAP_DATA));
for (i = 0; i < 4; i++) {
lbl_1_bss_1814[i] = Hu3DParManCreate(anim, 300, &lbl_1_data_780);
Hu3DParManAttrSet(lbl_1_bss_1814[i], 0x65);
Hu3DParticleBlendModeSet(Hu3DParManModelIDGet(lbl_1_bss_1814[i]), 1);
Hu3DParManRotSet(lbl_1_bss_1814[i], 90, 0, 0);
resultBattleEffParManId[i] = Hu3DParManCreate(anim, 300, &resultBattleEffParMan);
Hu3DParManAttrSet(resultBattleEffParManId[i], 0x65);
Hu3DParticleBlendModeSet(Hu3DParManModelIDGet(resultBattleEffParManId[i]), 1);
Hu3DParManRotSet(resultBattleEffParManId[i], 90, 0, 0);
}
HuDataDirClose(DATADIR_RESULT);
for (i = 0; i < 4; i++) {
player = lbl_1_bss_19F0[i];
character = GWPlayerCfg[lbl_1_bss_19F0[i]].character;
char_mdl = CharModelCreate(character, 2);
lbl_1_bss_19B0[player] = char_mdl;
lbl_1_bss_1990[player][0] = CharModelMotionCreate(character, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00));
lbl_1_bss_1990[player][1] = CharModelMotionCreate(character, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x17));
lbl_1_bss_1990[player][2] = CharModelMotionCreate(character, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x49));
CharModelVoiceEnableSet(character, lbl_1_bss_1990[player][1], 0);
CharModelMotionSet(character, lbl_1_bss_1990[player][0]);
Hu3DModelPosSet(char_mdl, lbl_1_data_7F0[i].x, lbl_1_data_7F0[lbl_1_bss_19E8[i]].y, 0);
Hu3DModelAttrSet(char_mdl, HU3D_MOTATTR_LOOP);
Hu3DModelShadowSet(char_mdl);
playerNo = resultBattleOrder[i];
charNo = GWPlayerCfg[resultBattleOrder[i]].character;
charMdlId = CharModelCreate(charNo, 2);
resultBattleCharMdl[playerNo] = charMdlId;
resultBattleCharMot[playerNo][0] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x00));
resultBattleCharMot[playerNo][1] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x17));
resultBattleCharMot[playerNo][2] = CharModelMotionCreate(charNo, DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x49));
CharModelVoiceEnableSet(charNo, resultBattleCharMot[playerNo][1], 0);
CharModelMotionSet(charNo, resultBattleCharMot[playerNo][0]);
Hu3DModelPosSet(charMdlId, playerPosTbl[i].x, playerPosTbl[resultBattleRank[i]].y, 0);
Hu3DModelAttrSet(charMdlId, HU3D_MOTATTR_LOOP);
Hu3DModelShadowSet(charMdlId);
}
CharModelDataClose(-1);
}
Vec lbl_1_data_8B8[] = { { 8, 0, 0 }, { 0, 8, 0 }, { 10, 5, 0 }, { -5, 10, 0 }, { 0, -8, 0 }, { 8, 10, 0 }, { -10, 8, 0 }, { 15, 0, 0 } };
static Vec cameraShakeOfs[] = { { 8, 0, 0 }, { 0, 8, 0 }, { 10, 5, 0 }, { -5, 10, 0 }, { 0, -8, 0 }, { 8, 10, 0 }, { -10, 8, 0 }, { 15, 0, 0 } };
void fn_1_7544(void)
static void ResultBattleStatAdd(void)
{
s16 i;
s16 time;
s16 done_cnt;
float pos_y;
s16 gains[5];
s16 time_player[4];
fn_1_423C(gains);
s16 coinNum[5];
s16 delay[4];
ResultCoinNumGet(coinNum);
for (time = 0; time <= 5; time++) {
pos_y = ((5 - time) * 50) + 580;
for (i = 0; i < 4; i++) {
Hu3DModelPosSet(lbl_1_bss_1A9C[i + 4], lbl_1_data_7F0[i].x, pos_y, 0);
Hu3DModelPosSet(stageMdlId[i + 4], playerPosTbl[i].x, pos_y, 0);
}
HuPrcVSleep();
}
for (i = 0; i < 4; i++) {
Hu3DModelAttrReset(lbl_1_bss_1A9C[i + 4], HU3D_MOTATTR_PAUSE);
Hu3DMotionSpeedSet(lbl_1_bss_1A9C[i + 4], 1.5f);
Hu3DModelAttrReset(stageMdlId[i + 4], HU3D_MOTATTR_PAUSE);
Hu3DMotionSpeedSet(stageMdlId[i + 4], 1.5f);
}
HuPrcSleep(35);
for (i = 0; i < 4; i++) {
if (gains[lbl_1_bss_19F0[i]] > 0) {
Hu3DParManAttrReset(lbl_1_bss_1814[i], 1);
time_player[i] = frandmod(10);
if (coinNum[resultBattleOrder[i]] > 0) {
Hu3DParManAttrReset(resultBattleEffParManId[i], 1);
delay[i] = frandmod(10);
}
else {
time_player[i] = 0;
delay[i] = 0;
}
Hu3DParManPosSet(lbl_1_bss_1814[i], lbl_1_data_7F0[i].x, 610.0f, 0.0f);
Hu3DParManPosSet(resultBattleEffParManId[i], playerPosTbl[i].x, 610.0f, 0.0f);
}
while (1) {
for (i = done_cnt = 0; i < 4; i++) {
if (time_player[i]) {
time_player[i]--;
if (delay[i]) {
delay[i]--;
continue;
}
if (gains[lbl_1_bss_19F0[i]] <= 0) {
Hu3DParManAttrSet(lbl_1_bss_1814[i], 1);
if (coinNum[resultBattleOrder[i]] <= 0) {
Hu3DParManAttrSet(resultBattleEffParManId[i], 1);
done_cnt++;
}
else {
fn_1_86DC(i);
gains[lbl_1_bss_19F0[i]]--;
if (gains[lbl_1_bss_19F0[i]] <= 10) {
time_player[i] = 4;
CoinEffectAdd(i);
coinNum[resultBattleOrder[i]]--;
if (coinNum[resultBattleOrder[i]] <= 10) {
delay[i] = 4;
}
else {
if (gains[lbl_1_bss_19F0[i]] <= 20) {
time_player[i] = 3;
if (coinNum[resultBattleOrder[i]] <= 20) {
delay[i] = 3;
}
else {
if (gains[lbl_1_bss_19F0[i]] <= 40) {
time_player[i] = 2;
if (coinNum[resultBattleOrder[i]] <= 40) {
delay[i] = 2;
}
else {
time_player[i] = 1;
delay[i] = 1;
}
}
}
@ -412,234 +414,233 @@ void fn_1_7544(void)
}
HuPrcVSleep();
}
if (gains[4]) {
if (coinNum[4]) {
HuPrcSleep(20);
Hu3DModelRotSet(lbl_1_bss_1A9C[8], 0, -90, 0);
Hu3DModelScaleSet(lbl_1_bss_1A9C[8], 0.8f, 0.8f, 0.8f);
Hu3DMotionSpeedSet(lbl_1_bss_1A9C[8], 2.0f);
Hu3DModelRotSet(stageMdlId[8], 0, -90, 0);
Hu3DModelScaleSet(stageMdlId[8], 0.8f, 0.8f, 0.8f);
Hu3DMotionSpeedSet(stageMdlId[8], 2.0f);
for (i = 0; i <= 40; i++) {
Hu3DModelPosSet(lbl_1_bss_1A9C[8], 500.0f * (1.0f - (i / 40.0f)), 0, 100.0f);
Hu3DModelPosSet(stageMdlId[8], 500.0f * (1.0f - (i / 40.0f)), 0, 100.0f);
HuPrcVSleep();
}
HuAudFXPlay(828);
Hu3DModelAttrReset(lbl_1_bss_1A9C[10], HU3D_MOTATTR_PAUSE);
Hu3DModelPosSet(lbl_1_bss_1A9C[10], 0, 0, 200);
for (i = 0; i < Hu3DMotionMaxTimeGet(lbl_1_bss_1A9C[10]); i++) {
Hu3DModelAttrReset(stageMdlId[10], HU3D_MOTATTR_PAUSE);
Hu3DModelPosSet(stageMdlId[10], 0, 0, 200);
for (i = 0; i < Hu3DMotionMaxTimeGet(stageMdlId[10]); i++) {
if (i > 10) {
Hu3DModelAttrSet(lbl_1_bss_1A9C[8], HU3D_ATTR_DISPOFF);
Hu3DModelAttrSet(stageMdlId[8], HU3D_ATTR_DISPOFF);
}
Center.x = lbl_1_data_8B8[(i / 2) & 0x7].x;
Center.y = 330.0f + lbl_1_data_8B8[(i / 2) & 0x7].y;
Center.z = lbl_1_data_8B8[(i / 2) & 0x7].z;
espPosSet(lbl_1_bss_1A1A[0], 288.0f + lbl_1_data_8B8[(i / 2) & 0x7].x, 240.0f - lbl_1_data_8B8[(i / 2) & 0x7].y);
Center.x = cameraShakeOfs[(i / 2) & 0x7].x;
Center.y = 330.0f + cameraShakeOfs[(i / 2) & 0x7].y;
Center.z = cameraShakeOfs[(i / 2) & 0x7].z;
espPosSet(stageSprId[0], 288.0f + cameraShakeOfs[(i / 2) & 0x7].x, 240.0f - cameraShakeOfs[(i / 2) & 0x7].y);
HuPrcVSleep();
}
espPosSet(lbl_1_bss_1A1A[0], 288.0, 240.0);
espPosSet(stageSprId[0], 288.0, 240.0);
Center.x = 0;
Center.y = 330;
Center.z = 0;
time_player[0] = 10;
delay[0] = 10;
for (i = 0; i < 4; i++) {
if (lbl_1_bss_172 == lbl_1_bss_19F0[i]) {
if (resultBonusPlayer == resultBattleOrder[i]) {
break;
}
}
Hu3DParManAttrReset(lbl_1_bss_1814[i], 1);
Hu3DParManAttrReset(resultBattleEffParManId[i], 1);
while (1) {
if (time_player[0] != 0) {
time_player[0]--;
if (delay[0] != 0) {
delay[0]--;
HuPrcVSleep();
continue;
}
if (gains[4] <= 0) {
Hu3DParManAttrSet(lbl_1_bss_1814[i], 1);
if (coinNum[4] <= 0) {
Hu3DParManAttrSet(resultBattleEffParManId[i], 1);
break;
}
fn_1_86DC(i);
gains[4]--;
time_player[0] = 5;
CoinEffectAdd(i);
coinNum[4]--;
delay[0] = 5;
HuPrcVSleep();
}
Hu3DParManAttrSet(lbl_1_bss_1814[i], 1);
Hu3DParManAttrSet(resultBattleEffParManId[i], 1);
}
fn_1_423C(gains);
gains[lbl_1_bss_172] += gains[4];
ResultCoinNumGet(coinNum);
coinNum[resultBonusPlayer] += coinNum[4];
for (i = 0; i < 4; i++) {
if (gains[lbl_1_bss_19F0[i]]) {
CharModelMotionShiftSet(GWPlayerCfg[lbl_1_bss_19F0[i]].character, lbl_1_bss_1990[lbl_1_bss_19F0[i]][1], 0, 4, HU3D_MOTATTR_NONE);
HuAudPlayerVoicePlay(lbl_1_bss_19F0[i], 293);
if (coinNum[resultBattleOrder[i]]) {
CharModelMotionShiftSet(GWPlayerCfg[resultBattleOrder[i]].character, resultBattleCharMot[resultBattleOrder[i]][1], 0, 4, HU3D_MOTATTR_NONE);
HuAudPlayerVoicePlay(resultBattleOrder[i], 293);
}
else {
CharModelMotionShiftSet(GWPlayerCfg[lbl_1_bss_19F0[i]].character, lbl_1_bss_1990[lbl_1_bss_19F0[i]][2], 0, 4, HU3D_MOTATTR_NONE);
CharModelMotionShiftSet(GWPlayerCfg[resultBattleOrder[i]].character, resultBattleCharMot[resultBattleOrder[i]][2], 0, 4, HU3D_MOTATTR_NONE);
}
}
HuPrcSleep(20);
fn_1_7F98();
ResultBattleCoinAddShow();
HuPrcSleep(120);
}
void fn_1_7F98(void)
static void ResultBattleCoinAddShow(void)
{
s16 i;
s16 time;
s16 delay;
s16 gains[5];
Vec pos_3d;
Vec pos_2d;
fn_1_423C(gains);
gains[lbl_1_bss_172] += gains[4];
s16 speed;
s16 coinNum[5];
Vec pos3D;
Vec pos2D;
ResultCoinNumGet(coinNum);
coinNum[resultBonusPlayer] += coinNum[4];
for (i = 0; i < 4; i++) {
fn_1_8338(lbl_1_bss_19E0[i], gains[lbl_1_bss_19F0[i]]);
pos_3d.x = lbl_1_data_7F0[i].x;
if (gains[lbl_1_bss_19F0[i]]) {
pos_3d.y = lbl_1_data_7F0[lbl_1_bss_19E8[i]].y + lbl_1_data_860[GWPlayerCfg[lbl_1_bss_19F0[i]].character];
ResultBattleCoinAddNumSet(coinNumGrpId[i], coinNum[resultBattleOrder[i]]);
pos3D.x = playerPosTbl[i].x;
if (coinNum[resultBattleOrder[i]]) {
pos3D.y = playerPosTbl[resultBattleRank[i]].y + coinAddYOfs[GWPlayerCfg[resultBattleOrder[i]].character];
}
else {
pos_3d.y = lbl_1_data_7F0[lbl_1_bss_19E8[i]].y + lbl_1_data_880[GWPlayerCfg[lbl_1_bss_19F0[i]].character];
pos3D.y = playerPosTbl[resultBattleRank[i]].y + coinBlankYOfs[GWPlayerCfg[resultBattleOrder[i]].character];
}
pos_3d.z = 0;
Hu3D3Dto2D(&pos_3d, 1, &pos_2d);
HuSprGrpPosSet(lbl_1_bss_19E0[i], pos_2d.x, pos_2d.y);
pos3D.z = 0;
Hu3D3Dto2D(&pos3D, 1, &pos2D);
HuSprGrpPosSet(coinNumGrpId[i], pos2D.x, pos2D.y);
}
delay = (lbl_1_bss_174) ? 3 : 10;
for (time = 0; time <= delay; time++) {
float scale = sind((90.0 / delay) * time);
speed = (resultFastF) ? 3 : 10;
for (time = 0; time <= speed; time++) {
float scale = sind((90.0 / speed) * time);
for (i = 0; i < 4; i++) {
HuSprGrpScaleSet(lbl_1_bss_19E0[i], scale, scale);
HuSprGrpScaleSet(coinNumGrpId[i], scale, scale);
}
HuPrcVSleep();
}
for (i = 0; i < 4; i++) {
HuSprGrpScaleSet(lbl_1_bss_19E0[i], 1.0f, 1.0f);
HuSprGrpScaleSet(coinNumGrpId[i], 1.0f, 1.0f);
}
}
void fn_1_8338(s16 group, s16 value)
static void ResultBattleCoinAddNumSet(s16 grpId, s16 value)
{
s16 digit;
s16 digit_value;
digit = 2;
digit_value = value / 100;
if (digit_value != 0) {
HuSprBankSet(group, digit, digit_value);
HuSprAttrReset(group, digit, 4);
digit++;
s16 no;
s16 bank;
no = 2;
bank = value / 100;
if (bank != 0) {
HuSprBankSet(grpId, no, bank);
HuSprAttrReset(grpId, no, 4);
no++;
}
value -= digit_value * 100;
digit_value = value / 10;
if (digit_value != 0 || digit == 3) {
HuSprBankSet(group, digit, digit_value);
HuSprAttrReset(group, digit, 4);
digit++;
value -= bank * 100;
bank = value / 10;
if (bank != 0 || no == 3) {
HuSprBankSet(grpId, no, bank);
HuSprAttrReset(grpId, no, 4);
no++;
}
value -= digit_value * 10;
HuSprBankSet(group, digit, value);
HuSprAttrReset(group, digit, 4);
digit++;
for (digit_value = digit; digit_value < 5; digit_value++) {
HuSprAttrSet(group, digit_value, 4);
value -= bank * 10;
HuSprBankSet(grpId, no, value);
HuSprAttrReset(grpId, no, 4);
no++;
for (bank = no; bank < 5; bank++) {
HuSprAttrSet(grpId, bank, 4);
}
}
void fn_1_8484(void)
static void ResultBattleOrderSet(void)
{
s16 i;
s16 j;
for (i = 0; i < 4; i++) {
lbl_1_bss_19E8[i] = GWPlayerCoinWinGet(i);
lbl_1_bss_19F0[i] = i;
resultBattleRank[i] = GWPlayerCoinWinGet(i);
resultBattleOrder[i] = i;
}
for (j = 1; j < 4; j++) {
for (i = 0; i < 4 - j; i++) {
if (lbl_1_bss_19E8[i] > lbl_1_bss_19E8[i + 1]) {
if (resultBattleRank[i] > resultBattleRank[i + 1]) {
s16 temp;
temp = lbl_1_bss_19E8[i];
lbl_1_bss_19E8[i] = lbl_1_bss_19E8[i + 1];
lbl_1_bss_19E8[i + 1] = temp;
temp = lbl_1_bss_19F0[i];
lbl_1_bss_19F0[i] = lbl_1_bss_19F0[i + 1];
lbl_1_bss_19F0[i + 1] = temp;
temp = resultBattleRank[i];
resultBattleRank[i] = resultBattleRank[i + 1];
resultBattleRank[i + 1] = temp;
temp = resultBattleOrder[i];
resultBattleOrder[i] = resultBattleOrder[i + 1];
resultBattleOrder[i + 1] = temp;
}
}
}
}
void fn_1_8998(void);
static void CoinEffectMain(void);
void fn_1_8658(void)
static void CoinEffectInit(void)
{
s16 i;
Process *process = HuPrcCurrentGet();
for (i = 0; i < 180; i++) {
lbl_1_bss_194[i].unk0 = -1;
for (i = 0; i < COIN_EFFECT_MAX; i++) {
coinEffectData[i].playerNo = -1;
}
HuPrcChildCreate(fn_1_8998, 100, 8192, 0, process);
HuPrcChildCreate(CoinEffectMain, 100, 8192, 0, process);
}
void fn_1_86DC(s16 player)
static void CoinEffectAdd(s16 playerNo)
{
s16 i;
for (i = 0; i < 180; i++) {
if (lbl_1_bss_194[i].unk0 == -1) {
for (i = 0; i < COIN_EFFECT_MAX; i++) {
if (coinEffectData[i].playerNo == -1) {
break;
}
}
if (i == 180) {
if (i == COIN_EFFECT_MAX) {
return;
}
lbl_1_bss_194[i].unk0 = player;
lbl_1_bss_194[i].unk4.x = lbl_1_data_7F0[player].x;
lbl_1_bss_194[i].unk4.y = 610.0f;
lbl_1_bss_194[i].unk4.z = 0.0f;
lbl_1_bss_194[i].unk2 = lbl_1_bss_19E8[player];
lbl_1_bss_194[i].unk10.x = frandmod(20) - 10.0f;
lbl_1_bss_194[i].unk10.y = frandmod(20) - 10.0f;
lbl_1_bss_194[i].unk10.z = 0;
lbl_1_bss_194[i].unk1C = 10.0f;
Hu3DModelAttrReset(lbl_1_bss_1828[i], HU3D_ATTR_DISPOFF);
Hu3DModelPosSet(lbl_1_bss_1828[i], 0, 100, 0);
Hu3DModelRotSet(lbl_1_bss_1828[i], 0, 0, 0);
coinEffectData[i].playerNo = playerNo;
coinEffectData[i].pos.x = playerPosTbl[playerNo].x;
coinEffectData[i].pos.y = 610.0f;
coinEffectData[i].pos.z = 0.0f;
coinEffectData[i].rank = resultBattleRank[playerNo];
coinEffectData[i].rotVel.x = frandmod(20) - 10.0f;
coinEffectData[i].rotVel.y = frandmod(20) - 10.0f;
coinEffectData[i].rotVel.z = 0;
coinEffectData[i].velY = 10.0f;
Hu3DModelAttrReset(coinEffectMdlId[i], HU3D_ATTR_DISPOFF);
Hu3DModelPosSet(coinEffectMdlId[i], 0, 100, 0);
Hu3DModelRotSet(coinEffectMdlId[i], 0, 0, 0);
}
void fn_1_8998(void)
static void CoinEffectMain(void)
{
s16 i;
ModelData *model_ptr;
ModelData *modelP;
s16 player;
while (1) {
for (i = 0; i < 180; i++) {
if (lbl_1_bss_194[i].unk0 == -1) {
for (i = 0; i < COIN_EFFECT_MAX; i++) {
if (coinEffectData[i].playerNo == -1) {
continue;
}
player = lbl_1_bss_194[i].unk0;
model_ptr = &Hu3DData[lbl_1_bss_1828[i]];
model_ptr->pos = lbl_1_bss_194[i].unk4;
model_ptr->rot.x += lbl_1_bss_194[i].unk10.x;
model_ptr->rot.y += lbl_1_bss_194[i].unk10.y;
lbl_1_bss_194[i].unk4.y -= lbl_1_bss_194[i].unk1C;
lbl_1_bss_194[i].unk1C += 0.2f;
if (lbl_1_bss_194[i].unk4.y < ((3 - lbl_1_bss_194[i].unk2) * 100) + lbl_1_data_840[GWPlayerCfg[lbl_1_bss_19F0[player]].character]) {
player = coinEffectData[i].playerNo;
modelP = &Hu3DData[coinEffectMdlId[i]];
modelP->pos = coinEffectData[i].pos;
modelP->rot.x += coinEffectData[i].rotVel.x;
modelP->rot.y += coinEffectData[i].rotVel.y;
coinEffectData[i].pos.y -= coinEffectData[i].velY;
coinEffectData[i].velY += 0.2f;
if (coinEffectData[i].pos.y < ((3 - coinEffectData[i].rank) * 100) + coinEffectYOfs[GWPlayerCfg[resultBattleOrder[player]].character]) {
Vec pos;
pos.x = lbl_1_data_7F0[player].x;
pos.y = ((3 - lbl_1_bss_194[i].unk2) * 100) + lbl_1_data_840[GWPlayerCfg[lbl_1_bss_19F0[player]].character];
pos.x = playerPosTbl[player].x;
pos.y = ((3 - coinEffectData[i].rank) * 100) + coinEffectYOfs[GWPlayerCfg[resultBattleOrder[player]].character];
pos.z = 0.0f;
CharModelCoinEffectCreate(1, &pos);
lbl_1_bss_194[i].unk0 = -1;
coinEffectData[i].playerNo = -1;
HuAudFXPlay(7);
Hu3DModelAttrSet(lbl_1_bss_1828[i], HU3D_ATTR_DISPOFF);
Hu3DModelAttrSet(coinEffectMdlId[i], HU3D_ATTR_DISPOFF);
}
}
HuPrcVSleep();
}
}
void fn_1_8CB8(struct model_data *model, Mtx matrix)
static void ResultShadowDraw(struct model_data *model, Mtx matrix)
{
s32 sp8 = 0;
GXTexObj tex;
Mtx final;
Mtx inv_camera;
Mtx invCamera;
Mtx shadow;
GXClearVtxDesc();
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
@ -647,8 +648,8 @@ void fn_1_8CB8(struct model_data *model, Mtx matrix)
GXInitTexObj(&tex, Hu3DShadowData.unk_04, Hu3DShadowData.unk_02, Hu3DShadowData.unk_02, GX_TF_I8, GX_CLAMP, GX_CLAMP, GX_FALSE);
GXInitTexObjLOD(&tex, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1);
GXLoadTexObj(&tex, 0);
MTXInverse(Hu3DCameraMtx, inv_camera);
MTXConcat(inv_camera, matrix, final);
MTXInverse(Hu3DCameraMtx, invCamera);
MTXConcat(invCamera, matrix, final);
MTXConcat(Hu3DShadowData.unk_68, Hu3DShadowData.unk_38, shadow);
MTXConcat(shadow, final, final);
GXLoadTexMtxImm(final, GX_TEXMTX9, GX_MTX3x4);

View file

@ -1,13 +1,13 @@
#include "REL/resultdll.h"
s16 lbl_1_bss_1A9C[32];
s16 lbl_1_bss_1A5C[32];
s16 lbl_1_bss_1A1A[33];
s16 stageMdlId[32];
s16 stageMotId[32];
s16 stageSprId[33];
s16 lbl_1_bss_1A18;
void fn_1_8FF8(DataListModel *model_list)
void StageModelCreate(StageModel *model_list)
{
DataListModel *list;
StageModel *list;
s16 i;
s16 model;
s16 clear_i;
@ -15,24 +15,24 @@ void fn_1_8FF8(DataListModel *model_list)
void *data;
list = model_list;
for(clear_i=0; clear_i<32; clear_i++) {
lbl_1_bss_1A9C[clear_i] = lbl_1_bss_1A5C[clear_i] = -1;
stageMdlId[clear_i] = stageMotId[clear_i] = -1;
}
for(i=0; list->datanum != DATA_NUM_LISTEND; list++, i++) {
if(list->type == 0) {
data = HuDataSelHeapReadNum(list->datanum, MEMORY_DEFAULT_NUM, HEAP_DATA);
model = Hu3DModelCreate(data);
lbl_1_bss_1A9C[i] = model;
stageMdlId[i] = model;
Hu3DModelAttrSet(model, list->attr);
Hu3DModelPosSetV(model, &list->pos);
Hu3DModelRotSetV(model, &list->rot);
Hu3DModelScaleSetV(model, &list->scale);
model_ptr = &Hu3DData[model];
if(model_ptr->unk_08 != -1) {
lbl_1_bss_1A5C[i] = model_ptr->unk_08;
stageMotId[i] = model_ptr->unk_08;
}
} else if(list->type == 1) {
data = HuDataSelHeapReadNum(list->datanum, MEMORY_DEFAULT_NUM, HEAP_DATA);
lbl_1_bss_1A5C[i] = Hu3DJointMotion(lbl_1_bss_1A9C[list->mot_link], data);
stageMotId[i] = Hu3DJointMotion(stageMdlId[list->mot_link], data);
}
(void)i;
@ -40,33 +40,33 @@ void fn_1_8FF8(DataListModel *model_list)
list = model_list;
for(i=0; list->datanum != DATA_NUM_LISTEND; list++, i++) {
if(list->type == 2) {
model = Hu3DModelLink(lbl_1_bss_1A9C[list->link]);
lbl_1_bss_1A9C[i] = model;
model = Hu3DModelLink(stageMdlId[list->link]);
stageMdlId[i] = model;
Hu3DModelAttrSet(model, list->attr);
Hu3DModelPosSetV(model, &list->pos);
Hu3DModelRotSetV(model, &list->rot);
Hu3DModelScaleSetV(model, &list->scale);
}
if(list->mot_link != -1) {
Hu3DMotionSet(lbl_1_bss_1A9C[i], lbl_1_bss_1A5C[list->mot_link]);
Hu3DMotionSet(stageMdlId[i], stageMotId[list->mot_link]);
}
(void)i;
}
}
void fn_1_927C(DataListSprite *sprite_list)
void StageSpriteCreate(StageSprite *sprite_list)
{
DataListSprite *list;
StageSprite *list;
s16 sprite;
s16 clear_i;
s16 i;
list = sprite_list;
for(clear_i=0; clear_i<32; clear_i++) {
lbl_1_bss_1A1A[clear_i] = -1;
stageSprId[clear_i] = -1;
}
for(i=0; list->datanum; i++, list++) {
sprite = espEntry(list->datanum, 100, 0);
lbl_1_bss_1A1A[i] = sprite;
stageSprId[i] = sprite;
espPosSet(sprite, list->x, list->y);
espColorSet(sprite, list->color.r, list->color.g, list->color.b);
espTPLvlSet(sprite, list->color.a/255.0f);
@ -75,12 +75,12 @@ void fn_1_927C(DataListSprite *sprite_list)
}
}
void fn_1_93B4(void)
void StageSpriteKill(void)
{
s16 i;
for(i=0; i<32; i++) {
if(lbl_1_bss_1A1A[i] != -1) {
espKill(lbl_1_bss_1A1A[i]);
if(stageSprId[i] != -1) {
espKill(stageSprId[i]);
}
}
}

File diff suppressed because it is too large Load diff