From 560a59251803183e9608037fa4f6a0306703303a Mon Sep 17 00:00:00 2001 From: Liam Coleman Date: Thu, 6 Feb 2025 10:41:45 -0600 Subject: [PATCH] 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 --- config/GMPE01_00/rels/instDll/symbols.txt | 76 +- config/GMPE01_00/rels/resultDll/symbols.txt | 184 +-- config/GMPP01_00/rels/instDll/symbols.txt | 88 +- config/GMPP01_00/rels/resultDll/symbols.txt | 188 +-- configure.py | 6 +- include/REL/instDll.h | 2 +- include/REL/resultdll.h | 34 +- src/REL/instDll/font.c | 156 +-- src/REL/instDll/main.c | 1033 +++++++------- src/REL/resultDll/battle.c | 589 ++++---- src/REL/resultDll/datalist.c | 38 +- src/REL/resultDll/main.c | 1357 +++++++++---------- 12 files changed, 1876 insertions(+), 1875 deletions(-) diff --git a/config/GMPE01_00/rels/instDll/symbols.txt b/config/GMPE01_00/rels/instDll/symbols.txt index 0580b867..cc0a6047 100644 --- a/config/GMPE01_00/rels/instDll/symbols.txt +++ b/config/GMPE01_00/rels/instDll/symbols.txt @@ -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 diff --git a/config/GMPE01_00/rels/resultDll/symbols.txt b/config/GMPE01_00/rels/resultDll/symbols.txt index 14dbe624..db16ef1b 100644 --- a/config/GMPE01_00/rels/resultDll/symbols.txt +++ b/config/GMPE01_00/rels/resultDll/symbols.txt @@ -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 diff --git a/config/GMPP01_00/rels/instDll/symbols.txt b/config/GMPP01_00/rels/instDll/symbols.txt index 5cb1ad79..da39c5b5 100644 --- a/config/GMPP01_00/rels/instDll/symbols.txt +++ b/config/GMPP01_00/rels/instDll/symbols.txt @@ -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 diff --git a/config/GMPP01_00/rels/resultDll/symbols.txt b/config/GMPP01_00/rels/resultDll/symbols.txt index b0b7a9af..db16ef1b 100644 --- a/config/GMPP01_00/rels/resultDll/symbols.txt +++ b/config/GMPP01_00/rels/resultDll/symbols.txt @@ -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 diff --git a/configure.py b/configure.py index bd9561f0..1e740726 100644 --- a/configure.py +++ b/configure.py @@ -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( diff --git a/include/REL/instDll.h b/include/REL/instDll.h index 8b00303e..adf1fe5c 100644 --- a/include/REL/instDll.h +++ b/include/REL/instDll.h @@ -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 diff --git a/include/REL/resultdll.h b/include/REL/resultdll.h index afaf5df3..240731b4 100644 --- a/include/REL/resultdll.h +++ b/include/REL/resultdll.h @@ -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 \ No newline at end of file diff --git a/src/REL/instDll/font.c b/src/REL/instDll/font.c index af50f5d5..9986bd62 100644 --- a/src/REL/instDll/font.c +++ b/src/REL/instDll/font.c @@ -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; } diff --git a/src/REL/instDll/main.c b/src/REL/instDll/main.c index 5bfac016..5d7b064c 100644 --- a/src/REL/instDll/main.c +++ b/src/REL/instDll/main.c @@ -23,55 +23,55 @@ #include "REL/instDll.h" -static s16 lbl_1_data_0 = 1; +static s16 instMode = 1; static omObjData *lbl_1_bss_60; -static omObjData *lbl_1_bss_5C; -static Process *lbl_1_bss_58; -static Vec lbl_1_bss_40[2]; -static Vec lbl_1_bss_28[2]; -static float lbl_1_bss_20[2]; -static s32 lbl_1_bss_1C; -static AnimData *lbl_1_bss_18; -static u16 lbl_1_bss_14; -static u16 lbl_1_bss_12; -static u16 lbl_1_bss_10; -static float lbl_1_bss_C; -static u8 lbl_1_bss_8; -static u16 lbl_1_bss_6; -static u16 lbl_1_bss_4; -static s32 lbl_1_bss_0; +static omObjData *outViewObj; +Process *objman; +Vec cameraRot[2]; +Vec cameraPos[2]; +float cameraZoom[2]; +static s32 instBoxMdlId; +static AnimData *instPicAnim; +static u16 instMgNo; +static u16 instHostNo; +static u16 instMesOfs; +static float instFov; +static u8 LanguageNo; +static u16 instPage; +static u16 instBusyF; +static s32 debugCamOnF; -static void fn_1_994(void); -static void fn_1_17E4(void); -static void fn_1_220C(void); -static void fn_1_2804(void); -static void fn_1_2FA0(void); -static void fn_1_4174(omObjData *object); -static void fn_1_4528(omObjData *object); +static void InstMain(void); +static void InstPlayerMain(void); +static void InstHostMain(void); +static void InstWinMain(void); +static void InstNameMain(void); +static void CameraOutView(omObjData *object); +static void CameraDebug(omObjData *object); void ObjectSetup(void) { s32 i; omOvlHisData *his; - s32 light; + s32 lightId; OSReport("******* INST ObjectSetup *********\n"); - lbl_1_bss_58 = omInitObjMan(50, 8192); - omGameSysInit(lbl_1_bss_58); - lbl_1_bss_8 = GWLanguageGet(); - lbl_1_bss_14 = GWSystem.mg_next; - lbl_1_bss_10 = 0; - lbl_1_bss_4 = 0; + objman = omInitObjMan(50, 8192); + omGameSysInit(objman); + LanguageNo = GWLanguageGet(); + instMgNo = GWSystem.mg_next; + instMesOfs = 0; + instBusyF = 0; _ClearFlag(0x1000C); for (i = 0; sndGrpTable[i].ovl != OVL_INVALID; i++) { - if (sndGrpTable[i].ovl == mgInfoTbl[lbl_1_bss_14].ovl) { + if (sndGrpTable[i].ovl == mgInfoTbl[instMgNo].ovl) { break; } } if (sndGrpTable[i].ovl != OVL_INVALID) { HuAudSndGrpSetSet(sndGrpTable[i].grpSet); } - if (mgInfoTbl[lbl_1_bss_14].ovl == OVL_M411) { + if (mgInfoTbl[instMgNo].ovl == OVL_M411) { if (GWMGTypeGet() == -1) { GWMGTypeSet(frandmod(3)); } @@ -79,10 +79,10 @@ void ObjectSetup(void) else { GWMGTypeSet(-1); } - HuDataDirClose(mgInfoTbl[lbl_1_bss_14].data_dir); + HuDataDirClose(mgInfoTbl[instMgNo].data_dir); his = omOvlHisGet(0); omOvlHisChg(0, OVL_RESULT, his->event, his->stat); - if (omovlevtno == 0 && mgInfoTbl[lbl_1_bss_14].ovl == OVL_M430) { + if (omovlevtno == 0 && mgInfoTbl[instMgNo].ovl == OVL_M430) { s32 team_cnt[2]; s32 team_players[2][2]; team_cnt[0] = team_cnt[1] = 0; @@ -106,53 +106,53 @@ void ObjectSetup(void) GWPlayerCfg[team_players[1][1]].group = 2; } } - if (mgInfoTbl[lbl_1_bss_14].type == 3 || mgInfoTbl[lbl_1_bss_14].type == 5 || mgInfoTbl[lbl_1_bss_14].type == 6 - || mgInfoTbl[lbl_1_bss_14].type == 8 || !_CheckFlag(FLAG_ID_MAKE(0, 11))) { + if (mgInfoTbl[instMgNo].type == 3 || mgInfoTbl[instMgNo].type == 5 || mgInfoTbl[instMgNo].type == 6 + || mgInfoTbl[instMgNo].type == 8 || !_CheckFlag(FLAG_ID_MAKE(0, 11))) { HuDataDirClose(DATADIR_INST); omSysPauseEnable(1); - omOvlCallEx(mgInfoTbl[lbl_1_bss_14].ovl, 1, 0, 0); + omOvlCallEx(mgInfoTbl[instMgNo].ovl, 1, 0, 0); return; } - lbl_1_bss_40[0].x = -67.0f; - lbl_1_bss_40[0].y = 40.0f; - lbl_1_bss_40[0].z = 0.0f; - lbl_1_bss_28[0].x = 260.0f; - lbl_1_bss_28[0].y = -103.0f; - lbl_1_bss_28[0].z = -18.0f; - lbl_1_bss_20[0] = 2885.0f; - lbl_1_bss_C = 20.0f; - lbl_1_bss_12 = GWSystem.board; + cameraRot[0].x = -67.0f; + cameraRot[0].y = 40.0f; + cameraRot[0].z = 0.0f; + cameraPos[0].x = 260.0f; + cameraPos[0].y = -103.0f; + cameraPos[0].z = -18.0f; + cameraZoom[0] = 2885.0f; + instFov = 20.0f; + instHostNo = GWSystem.board; if (mgBoardHostEnableF) { - lbl_1_bss_12 = 1; + instHostNo = 1; } - lbl_1_bss_40[1].x = lbl_1_bss_40[1].y = lbl_1_bss_40[1].z = 0.0f; - lbl_1_bss_28[1].x = lbl_1_bss_28[1].y = lbl_1_bss_28[1].z = 0.0f; - lbl_1_bss_20[1] = 1000.0f; + cameraRot[1].x = cameraRot[1].y = cameraRot[1].z = 0.0f; + cameraPos[1].x = cameraPos[1].y = cameraPos[1].z = 0.0f; + cameraZoom[1] = 1000.0f; omSysPauseEnable(0); Hu3DCameraCreate(3); Hu3DCameraPerspectiveSet(1, 30.0f, 20.0f, 15000.0f, 1.2f); Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1); Hu3DCameraPerspectiveSet(2, 30.0f, 20.0f, 15000.0f, 1.2f); Hu3DCameraViewportSet(2, 0, 0, 640, 480, 0, 1); - light = Hu3DGLightCreate(0, 100, 1000, 0, -0.5, -1, 255, 255, 255); - Hu3DGLightInfinitytSet(light); - HuPrcChildCreate(fn_1_994, 100, 12288, 0, lbl_1_bss_58); - HuPrcChildCreate(fn_1_17E4, 100, 12288, 0, lbl_1_bss_58); - HuPrcChildCreate(fn_1_220C, 100, 12288, 0, lbl_1_bss_58); - HuPrcChildCreate(fn_1_2804, 100, 12288, 0, lbl_1_bss_58); - HuPrcChildCreate(fn_1_2FA0, 100, 12288, 0, lbl_1_bss_58); - lbl_1_bss_5C = omAddObjEx(lbl_1_bss_58, 32730, 0, 0, -1, fn_1_4174); - omAddObjEx(lbl_1_bss_58, 0, 32, 32, -1, fn_1_4528); + lightId = Hu3DGLightCreate(0, 100, 1000, 0, -0.5, -1, 255, 255, 255); + Hu3DGLightInfinitytSet(lightId); + HuPrcChildCreate(InstMain, 100, 12288, 0, objman); + HuPrcChildCreate(InstPlayerMain, 100, 12288, 0, objman); + HuPrcChildCreate(InstHostMain, 100, 12288, 0, objman); + HuPrcChildCreate(InstWinMain, 100, 12288, 0, objman); + HuPrcChildCreate(InstNameMain, 100, 12288, 0, objman); + outViewObj = omAddObjEx(objman, 32730, 0, 0, -1, CameraOutView); + omAddObjEx(objman, 0, 32, 32, -1, CameraDebug); HuAudSeqPlay(59); Hu3DBGColorSet(0, 0, 0); HuWinInit(1); } -static s8 lbl_1_data_26[] = { 3, 2, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 2, 3, 3, 2, 1, 0, 0, -1, -1, -1, 0, -1, -1, -1, 3, 2, 1, 0 }; +static s8 instGrpTbl[] = { 3, 2, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 2, 3, 3, 2, 1, 0, 0, -1, -1, -1, 0, -1, -1, -1, 3, 2, 1, 0 }; -static s8 lbl_1_data_46[] = { 4, 4, 4, 4, 4, 1, 1, 4 }; +static s8 instPlayerNumTbl[] = { 4, 4, 4, 4, 4, 1, 1, 4 }; -static s32 lbl_1_data_50[] = { +static s32 instBoxFile[] = { DATA_MAKE_NUM(DATADIR_INST, 0), DATA_MAKE_NUM(DATADIR_INST, 1), DATA_MAKE_NUM(DATADIR_INST, 2), @@ -163,7 +163,7 @@ static s32 lbl_1_data_50[] = { DATA_MAKE_NUM(DATADIR_INST, 0), }; -static s32 lbl_1_data_70[] = { +static s32 instBackFile[] = { DATA_MAKE_NUM(DATADIR_INST, 9), DATA_MAKE_NUM(DATADIR_INST, 10), DATA_MAKE_NUM(DATADIR_INST, 11), @@ -174,51 +174,50 @@ static s32 lbl_1_data_70[] = { DATA_MAKE_NUM(DATADIR_INST, 9), }; -static void fn_1_50B0(ModelData *model, Mtx mtx); -static void fn_1_5B64(ModelData *model, Mtx mtx); +static void InstPicDraw(ModelData *model, Mtx mtx); +static void ShadowDraw(ModelData *model, Mtx mtx); -static void fn_1_994(void) +static void InstMain(void) { - Vec pos; Vec target; Vec up; - Vec spC; - Process *process; + Vec rot; + Process *proc; s16 i; s16 model; - s16 num_coms; + s16 comNum; s16 j; - s16 btns; - s32 status; - s32 done; - s16 group; - s32 pic; + s16 btnDown; + s32 statId; + s32 endF; + s16 grpId; + s32 picFile; omOvlHisData *his; - s16 sprite; + s16 sprId; AnimData *anim; - float pos_z; + float z; float time; - float fov_vel; - float rot_x; + float fovSpeed; + float rotX; - process = HuPrcCurrentGet(); - status = -1; - group = HuSprGrpCreate(1); - anim = HuSprAnimRead(HuDataReadNum(lbl_1_data_70[mgInfoTbl[lbl_1_bss_14].type], MEMORY_DEFAULT_NUM)); - sprite = HuSprCreate(anim, 0, 0); - HuSprGrpMemberSet(group, 0, sprite); - HuSprGrpDrawNoSet(group, 127); - HuSprPosSet(group, 0, 288, 240); + proc = HuPrcCurrentGet(); + statId = -1; + grpId = HuSprGrpCreate(1); + anim = HuSprAnimRead(HuDataReadNum(instBackFile[mgInfoTbl[instMgNo].type], MEMORY_DEFAULT_NUM)); + sprId = HuSprCreate(anim, 0, 0); + HuSprGrpMemberSet(grpId, 0, sprId); + HuSprGrpDrawNoSet(grpId, 127); + HuSprPosSet(grpId, 0, 288, 240); if (GWMGTypeGet() == -1) { - pic = mgInfoTbl[lbl_1_bss_14].inst_pic[0]; + picFile = mgInfoTbl[instMgNo].inst_pic[0]; } else { - pic = mgInfoTbl[lbl_1_bss_14].inst_pic[GWMGTypeGet()]; + picFile = mgInfoTbl[instMgNo].inst_pic[GWMGTypeGet()]; } - lbl_1_bss_18 = HuSprAnimRead(HuDataReadNumHeapShortForce(pic, MEMORY_DEFAULT_NUM, HEAP_DATA)); + instPicAnim = HuSprAnimRead(HuDataReadNumHeapShortForce(picFile, MEMORY_DEFAULT_NUM, HEAP_DATA)); Hu3DShadowCreate(20, 500, 8000); Hu3DShadowTPLvlSet(0); Hu3DShadowSizeSet(192); @@ -228,34 +227,34 @@ static void fn_1_994(void) up.x = up.y = 0.0f; up.z = 1.0f; Hu3DShadowPosSet(&pos, &up, &target); - model = Hu3DModelCreateFile(lbl_1_data_50[mgInfoTbl[lbl_1_bss_14].type]); - lbl_1_bss_1C = model; + model = Hu3DModelCreateFile(instBoxFile[mgInfoTbl[instMgNo].type]); + instBoxMdlId = model; Hu3DModelPosSet(model, 0, 2000, 0); Hu3DModelAttrSet(model, HU3D_MOTATTR_PAUSE); Hu3DModelCameraSet(model, 1); Hu3DModelShadowSet(model); - i = Hu3DHookFuncCreate(fn_1_5B64); + i = Hu3DHookFuncCreate(ShadowDraw); Hu3DModelPosSet(i, 0, -200, 0); Hu3DModelCameraSet(i, 1); WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 10); while (WipeStatGet()) { HuPrcVSleep(); } - pos_z = -500.0f; + z = -500.0f; for (i = 0; i <= 50; i++) { - Hu3DModelPosSet(model, 0.0f, 2500.0 * cosd(i * 1.8f) - 200.0, pos_z); + Hu3DModelPosSet(model, 0.0f, 2500.0 * cosd(i * 1.8f) - 200.0, z); Hu3DModelRotSet(model, 0, 0, 45.0f * (1.0f - (i / 50.0f))); - pos_z += 50.0 / 7.0; + z += 50.0 / 7.0; Hu3DShadowTPLvlSet(0.5 * (i / 50.0f)); HuPrcVSleep(); } HuAudFXPlay(1211); Hu3DModelAttrReset(model, HU3D_MOTATTR_PAUSE); for (i = 1; i <= 20; i++) { - Hu3DModelPosSet(model, 0.0f, (200.0 * (sind(i * 2.25f) * (1.0 / sind(45)))) - 200.0, pos_z); - rot_x = (20 - i) * cosd(i * 13.5f); - Hu3DModelRotSet(model, rot_x, 0.0f, 0.0f); - pos_z += 50.0 / 7.0; + Hu3DModelPosSet(model, 0.0f, (200.0 * (sind(i * 2.25f) * (1.0 / sind(45)))) - 200.0, z); + rotX = (20 - i) * cosd(i * 13.5f); + Hu3DModelRotSet(model, rotX, 0.0f, 0.0f); + z += 50.0 / 7.0; HuPrcVSleep(); } Hu3DModelPosSet(model, 0.0f, 0.0f, 0.0f); @@ -263,52 +262,52 @@ static void fn_1_994(void) HuPrcSleep(10); HuAudFXPlay(1212); Hu3DModelAttrReset(model, HU3D_MOTATTR_PAUSE); - i = Hu3DHookFuncCreate(fn_1_50B0); + i = Hu3DHookFuncCreate(InstPicDraw); Hu3DModelCameraSet(i, 1); Hu3DModelPosSet(i, 0, 415, 0); - lbl_1_data_0 = 0; + instMode = 0; while (Hu3DMotionTimeGet(model) < 80.0f) { if (Hu3DMotionTimeGet(model) > 30.0f) { - lbl_1_data_0 = 2; + instMode = 2; } HuPrcVSleep(); } Hu3DModelAttrSet(model, HU3D_MOTATTR_PAUSE); HuDataDirClose(DATADIR_INST); - status = HuDataDirReadAsync(mgInfoTbl[lbl_1_bss_14].data_dir); - while (lbl_1_data_0 != 1) { + statId = HuDataDirReadAsync(mgInfoTbl[instMgNo].data_dir); + while (instMode != 1) { HuPrcVSleep(); } - done = 0; - for (i = num_coms = 0; i < 4; i++) { + endF = 0; + for (i = comNum = 0; i < 4; i++) { if (GWPlayerCfg[i].iscom) { - num_coms++; + comNum++; } } i = 0; while (1) { - if (!done) { - for (btns = j = 0; j < 4; j++) { + if (!endF) { + for (btnDown = j = 0; j < 4; j++) { if (!GWPlayerCfg[j].iscom) { - btns |= HuPadBtnDown[GWPlayerCfg[j].pad_idx]; + btnDown |= HuPadBtnDown[GWPlayerCfg[j].pad_idx]; } } - if ((btns == PAD_BUTTON_START) || omSysExitReq || (num_coms == 4 && i > 60)) { + if ((btnDown == PAD_BUTTON_START) || omSysExitReq || (comNum == 4 && i > 60)) { HuAudFXPlay(2); - done = 1; + endF = 1; } - if (btns == PAD_TRIGGER_Z) { + if (btnDown == PAD_TRIGGER_Z) { HuAudFXPlay(1); - done = 1; + endF = 1; his = omOvlHisGet(0); omOvlHisChg(0, OVL_INST, 1, his->stat); _SetFlag(0x1000C); } - if (mgInstExitEnableF && (btns & PAD_BUTTON_B)) { + if (mgInstExitEnableF && (btnDown & PAD_BUTTON_B)) { HuAudFXPlay(3); - if (status != -1) { - while (!HuDataGetAsyncStat(status)) { + if (statId != -1) { + while (!HuDataGetAsyncStat(statId)) { HuPrcVSleep(); } } @@ -317,10 +316,10 @@ static void fn_1_994(void) while (WipeStatGet()) { HuPrcVSleep(); } - HuDataDirClose(mgInfoTbl[lbl_1_bss_14].data_dir); - if (mgInfoTbl[lbl_1_bss_14].ovl == OVL_M430) { - for (num_coms = 0; num_coms < 4; num_coms++) { - GWPlayerCfg[num_coms].group = GWPlayerCfg[num_coms].group / 2; + HuDataDirClose(mgInfoTbl[instMgNo].data_dir); + if (mgInfoTbl[instMgNo].ovl == OVL_M430) { + for (comNum = 0; comNum < 4; comNum++) { + GWPlayerCfg[comNum].group = GWPlayerCfg[comNum].group / 2; } } omOvlReturnEx(1, 1); @@ -330,7 +329,7 @@ static void fn_1_994(void) } } } - if (!lbl_1_bss_4 || !done) { + if (!instBusyF || !endF) { HuPrcVSleep(); i++; continue; @@ -339,32 +338,32 @@ static void fn_1_994(void) break; } } - if (status != -1) { - while (!HuDataGetAsyncStat(status)) { + if (statId != -1) { + while (!HuDataGetAsyncStat(statId)) { HuPrcVSleep(); } } - spC = lbl_1_bss_40[0]; - pos = lbl_1_bss_28[0]; - pos_z = lbl_1_bss_20[0]; + rot = cameraRot[0]; + pos = cameraPos[0]; + z = cameraZoom[0]; WipeColorSet(255, 255, 255); - lbl_1_data_0 = 3; + instMode = 3; HuPrcSleep(20); - lbl_1_data_0 = 4; + instMode = 4; HuPrcSleep(10); Hu3DModelAttrReset(model, HU3D_MOTATTR_PAUSE); HuPrcSleep(10); - fov_vel = 0; + fovSpeed = 0; for (i = 0; i <= 60; i++) { time = i / 60.0f; - lbl_1_bss_40[0].x = spC.x + ((-65.0f - spC.x) * time); - lbl_1_bss_40[0].y = spC.y + ((8.0f - spC.y) * time); - lbl_1_bss_40[0].z = spC.z + (-spC.z) * time; - lbl_1_bss_28[0].x = pos.x + ((17.0f - pos.x) * time); - lbl_1_bss_28[0].y = pos.y + ((5.0f - pos.y) * time); - lbl_1_bss_28[0].z = pos.z + ((-188.0f - pos.z) * time); - lbl_1_bss_20[0] = pos_z + ((1173.0f - pos_z) * time); + cameraRot[0].x = rot.x + ((-65.0f - rot.x) * time); + cameraRot[0].y = rot.y + ((8.0f - rot.y) * time); + cameraRot[0].z = rot.z + (-rot.z) * time; + cameraPos[0].x = pos.x + ((17.0f - pos.x) * time); + cameraPos[0].y = pos.y + ((5.0f - pos.y) * time); + cameraPos[0].z = pos.z + ((-188.0f - pos.z) * time); + cameraZoom[0] = z + ((1173.0f - z) * time); if (i == 30) { HuAudFXPlay(1210); WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 30); @@ -374,25 +373,25 @@ static void fn_1_994(void) Hu3DModelAttrSet(model, HU3D_MOTATTR_PAUSE); } if (i > 20) { - lbl_1_bss_C += fov_vel; - fov_vel += 0.04; + instFov += fovSpeed; + fovSpeed += 0.04; } HuPrcVSleep(); } while (WipeStatGet()) { - lbl_1_bss_C += fov_vel; - fov_vel += 0.04; + instFov += fovSpeed; + fovSpeed += 0.04; HuPrcVSleep(); } - lbl_1_data_0 = 6; + instMode = 6; HuPrcVSleep(); omSysPauseEnable(1); if (omSysExitReq) { - HuDataDirClose(mgInfoTbl[lbl_1_bss_14].data_dir); + HuDataDirClose(mgInfoTbl[instMgNo].data_dir); omOvlReturnEx(1, 1); } else { - omOvlCallEx(mgInfoTbl[lbl_1_bss_14].ovl, 1, 0, 0); + omOvlCallEx(mgInfoTbl[instMgNo].ovl, 1, 0, 0); } HuPrcEnd(); while (1) { @@ -400,133 +399,133 @@ static void fn_1_994(void) } } -static char *lbl_1_data_B0[] = { "p_pos_a", "p_pos_b", "p_pos_c", "p_pos_d" }; +static char *playerPosNameTbl[] = { "p_pos_a", "p_pos_b", "p_pos_c", "p_pos_d" }; -static u8 lbl_1_data_C0[] = { 8, 0, 12, 4 }; +static u8 playerDelayTbl[] = { 8, 0, 12, 4 }; -static void fn_1_17E4(void) +static void InstPlayerMain(void) { - float tplvl; + float tpLvl; s16 i; s16 j; s16 time; - s16 player_cnt; + s16 playerNum; s16 order; s16 type; - s16 group_type; + s16 grpType; s16 group; - ModelData *model; - s16 player_mdl[4]; - s16 char_tbl[4]; - s16 platform_mdl[4]; - s16 player_order[4]; - s16 mot_tbl[4][3]; - Vec player_pos[4]; + ModelData *modelP; + s16 playerMdlId[4]; + s16 charNo[4]; + s16 shadowMdl[4]; + s16 playerOrder[4]; + s16 motId[4][3]; + Vec playerPos[4]; - type = mgInfoTbl[lbl_1_bss_14].type; - player_cnt = lbl_1_data_46[type]; - for (i = 0; i < player_cnt; i++) { - player_order[i] = -1; + type = mgInfoTbl[instMgNo].type; + playerNum = instPlayerNumTbl[type]; + for (i = 0; i < playerNum; i++) { + playerOrder[i] = -1; } - if (mgInfoTbl[lbl_1_bss_14].ovl != OVL_M430) { - group_type = type; + if (mgInfoTbl[instMgNo].ovl != OVL_M430) { + grpType = type; } else { - group_type = 0; + grpType = 0; } - for (i = 0; i < player_cnt; i++) { - group = lbl_1_data_26[(group_type * 4) + i]; + for (i = 0; i < playerNum; i++) { + group = instGrpTbl[(grpType * 4) + i]; for (j = 0; j < 4; j++) { if (group == GWPlayerCfg[j].group) { for (order = 0; order < i; order++) { - if (j == player_order[order]) { + if (j == playerOrder[order]) { break; } } if (order == i) { - player_order[i] = j; + playerOrder[i] = j; break; } } } } - for (i = 0; i < player_cnt; i++) { - if (player_order[i] == -1) { - for (j = 0; j < player_cnt; j++) { - player_order[j] = j; + for (i = 0; i < playerNum; i++) { + if (playerOrder[i] == -1) { + for (j = 0; j < playerNum; j++) { + playerOrder[j] = j; } break; } } - for (i = 0; i < player_cnt; i++) { - char_tbl[i] = GWPlayerCfg[player_order[i]].character; - player_mdl[i] = CharModelCreate(char_tbl[i], 2); - Hu3DModelPosSet(player_mdl[i], 5000.0f, 0.0f, 0.0f); - Hu3DModelRotSet(player_mdl[i], 0.0f, 180.0f, 0.0f); - Hu3DModelCameraSet(player_mdl[i], 1); - mot_tbl[i][0] = CharModelMotionCreate(char_tbl[i], DATA_MAKE_NUM(DATADIR_MARIOMOT, 0)); - mot_tbl[i][1] = CharModelMotionCreate(char_tbl[i], DATA_MAKE_NUM(DATADIR_MARIOMOT, 5)); - mot_tbl[i][2] = CharModelMotionCreate(char_tbl[i], DATA_MAKE_NUM(DATADIR_MARIOMOT, 6)); - CharModelVoiceEnableSet(char_tbl[i], mot_tbl[i][1], 0); - CharModelMotionSet(char_tbl[i], mot_tbl[i][1]); + for (i = 0; i < playerNum; i++) { + charNo[i] = GWPlayerCfg[playerOrder[i]].character; + playerMdlId[i] = CharModelCreate(charNo[i], 2); + Hu3DModelPosSet(playerMdlId[i], 5000.0f, 0.0f, 0.0f); + Hu3DModelRotSet(playerMdlId[i], 0.0f, 180.0f, 0.0f); + Hu3DModelCameraSet(playerMdlId[i], 1); + motId[i][0] = CharModelMotionCreate(charNo[i], DATA_MAKE_NUM(DATADIR_MARIOMOT, 0)); + motId[i][1] = CharModelMotionCreate(charNo[i], DATA_MAKE_NUM(DATADIR_MARIOMOT, 5)); + motId[i][2] = CharModelMotionCreate(charNo[i], DATA_MAKE_NUM(DATADIR_MARIOMOT, 6)); + CharModelVoiceEnableSet(charNo[i], motId[i][1], 0); + CharModelMotionSet(charNo[i], motId[i][1]); CharModelDataClose(-1); - platform_mdl[i] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_INST, 7)); - Hu3DModelTPLvlSet(platform_mdl[i], 0.0f); - Hu3DModelScaleSet(platform_mdl[i], 0.0f, 0.0f, 0.0f); + shadowMdl[i] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_INST, 7)); + Hu3DModelTPLvlSet(shadowMdl[i], 0.0f); + Hu3DModelScaleSet(shadowMdl[i], 0.0f, 0.0f, 0.0f); } - while (lbl_1_data_0 != 2) { + while (instMode != 2) { HuPrcVSleep(); } - for (i = 0; i < player_cnt; i++) { - Hu3DModelObjPosGet(lbl_1_bss_1C, lbl_1_data_B0[i], &player_pos[i]); - Hu3DModelPosSet(platform_mdl[i], player_pos[i].x, 10 + player_pos[i].y, player_pos[i].z); + for (i = 0; i < playerNum; i++) { + Hu3DModelObjPosGet(instBoxMdlId, playerPosNameTbl[i], &playerPos[i]); + Hu3DModelPosSet(shadowMdl[i], playerPos[i].x, 10 + playerPos[i].y, playerPos[i].z); } HuPrcSleep(10); for (i = 0; i <= 50; i++) { - for (j = 0; j < player_cnt; j++) { - time = i - lbl_1_data_C0[j]; + for (j = 0; j < playerNum; j++) { + time = i - playerDelayTbl[j]; if (time < 0) { continue; } if (time == 15) { - CharModelMotionSet(char_tbl[j], mot_tbl[j][2]); + CharModelMotionSet(charNo[j], motId[j][2]); } if (time == 30) { - CharModelMotionShiftSet(char_tbl[j], mot_tbl[j][0], 0, 10, HU3D_MOTATTR_LOOP); + CharModelMotionShiftSet(charNo[j], motId[j][0], 0, 10, HU3D_MOTATTR_LOOP); } if (time <= 20) { - Hu3DModelPosSet(player_mdl[j], player_pos[j].x, player_pos[j].y + 1000.0 * cosd(time * 4.5f), player_pos[j].z); + Hu3DModelPosSet(playerMdlId[j], playerPos[j].x, playerPos[j].y + 1000.0 * cosd(time * 4.5f), playerPos[j].z); time -= 10; if (time >= 0) { - tplvl = 0.1 * time; - Hu3DModelTPLvlSet(platform_mdl[j], 0.5 * tplvl); - Hu3DModelScaleSet(platform_mdl[j], tplvl, tplvl, tplvl); + tpLvl = 0.1 * time; + Hu3DModelTPLvlSet(shadowMdl[j], 0.5 * tpLvl); + Hu3DModelScaleSet(shadowMdl[j], tpLvl, tpLvl, tpLvl); } } } HuPrcVSleep(); } - model = &Hu3DData[player_mdl[0]]; - while (lbl_1_data_0 != 4) { + modelP = &Hu3DData[playerMdlId[0]]; + while (instMode != 4) { HuPrcVSleep(); } for (i = 0; i <= 45; i++) { - for (j = 0; j < player_cnt; j++) { - time = i - lbl_1_data_C0[j]; + for (j = 0; j < playerNum; j++) { + time = i - playerDelayTbl[j]; if (time < 0) { continue; } if (time == 0) { - Hu3DModelAttrReset(player_mdl[j], HU3D_MOTATTR_LOOP); - CharModelVoiceEnableSet(char_tbl[i], mot_tbl[i][1], 1); - CharModelMotionSet(char_tbl[j], mot_tbl[j][1]); + Hu3DModelAttrReset(playerMdlId[j], HU3D_MOTATTR_LOOP); + CharModelVoiceEnableSet(charNo[i], motId[i][1], 1); + CharModelMotionSet(charNo[j], motId[j][1]); } if (time <= 30) { - Hu3DModelPosSet(player_mdl[j], player_pos[j].x, player_pos[j].y + (300.0 * sind(time * 9.0f)), player_pos[j].z - (time * 20)); + Hu3DModelPosSet(playerMdlId[j], playerPos[j].x, playerPos[j].y + (300.0 * sind(time * 9.0f)), playerPos[j].z - (time * 20)); if (time <= 10) { - tplvl = 1 - (0.1 * time); - Hu3DModelTPLvlSet(platform_mdl[j], 0.5 * tplvl); - Hu3DModelScaleSet(platform_mdl[j], tplvl, tplvl, tplvl); + tpLvl = 1 - (0.1 * time); + Hu3DModelTPLvlSet(shadowMdl[j], 0.5 * tpLvl); + Hu3DModelScaleSet(shadowMdl[j], tpLvl, tpLvl, tpLvl); } } } @@ -538,7 +537,7 @@ static void fn_1_17E4(void) } } -static s32 lbl_1_data_C4[] = { +static s32 hostFileTbl[] = { DATA_MAKE_NUM(DATADIR_INST, 19), DATA_MAKE_NUM(DATADIR_INST, 20), DATA_MAKE_NUM(DATADIR_INST, 21), @@ -559,57 +558,57 @@ static s32 lbl_1_data_C4[] = { DATA_MAKE_NUM(DATADIR_INST, 36), }; -static u16 lbl_1_data_10C[] = { 55, 57, 68, 67, 64, 65, 75, 76, 70, 71, 62, 62 }; +static u16 hostSeTbl[] = { 55, 57, 68, 67, 64, 65, 75, 76, 70, 71, 62, 62 }; -static void fn_1_220C(void) +static void InstHostMain(void) { - float ofs_x; + float ofsX; s16 i; - s16 model; - s16 motion[2]; - ModelData *model_ptr; - model = Hu3DModelCreateFile(lbl_1_data_C4[lbl_1_bss_12 * 3]); - motion[0] = Hu3DJointMotionFile(model, lbl_1_data_C4[(lbl_1_bss_12 * 3) + 1]); - motion[1] = Hu3DJointMotionFile(model, lbl_1_data_C4[(lbl_1_bss_12 * 3) + 2]); - Hu3DMotionSet(model, motion[1]); - if (lbl_1_bss_12 == 3) { - ofs_x = 50; + s16 modelId; + s16 motId[2]; + ModelData *modelP; + modelId = Hu3DModelCreateFile(hostFileTbl[instHostNo * 3]); + motId[0] = Hu3DJointMotionFile(modelId, hostFileTbl[(instHostNo * 3) + 1]); + motId[1] = Hu3DJointMotionFile(modelId, hostFileTbl[(instHostNo * 3) + 2]); + Hu3DMotionSet(modelId, motId[1]); + if (instHostNo == 3) { + ofsX = 50; } else { - ofs_x = 0; + ofsX = 0; } - Hu3DModelPosSet(model, -353.0f + ofs_x, -150, 356); - Hu3DModelRotSet(model, 0, 90, 0); - Hu3DModelCameraSet(model, 2); - while (lbl_1_data_0 != 2) { + Hu3DModelPosSet(modelId, -353.0f + ofsX, -150, 356); + Hu3DModelRotSet(modelId, 0, 90, 0); + Hu3DModelCameraSet(modelId, 2); + while (instMode != 2) { HuPrcVSleep(); } HuPrcSleep(30); - Hu3DMotionTimeSet(model, 40); - HuAudFXPlay(lbl_1_data_10C[lbl_1_bss_12 * 2]); + Hu3DMotionTimeSet(modelId, 40); + HuAudFXPlay(hostSeTbl[instHostNo * 2]); for (i = 0; i <= 20; i++) { - Hu3DModelPosSet(model, -153.0f - (100.0f - (100.0f * (i / 20.0f))), (100.0 * sind(i * 9.0f)) + -150.0 + ofs_x, 356.0f); + Hu3DModelPosSet(modelId, -153.0f - (100.0f - (100.0f * (i / 20.0f))), (100.0 * sind(i * 9.0f)) + -150.0 + ofsX, 356.0f); HuPrcVSleep(); } for (i = 0; i <= 10; i++) { - Hu3DModelPosSet(model, -153.0f, (15.0 * sind(i * 18.0f)) + -150.f + ofs_x, 356.0f); - Hu3DModelRotSet(model, 0.0f, 90 - ((i / 10.0f) * 70), 0); + Hu3DModelPosSet(modelId, -153.0f, (15.0 * sind(i * 18.0f)) + -150.f + ofsX, 356.0f); + Hu3DModelRotSet(modelId, 0.0f, 90 - ((i / 10.0f) * 70), 0); HuPrcVSleep(); } - Hu3DMotionShiftSet(model, motion[0], 0, 10, HU3D_MOTATTR_LOOP); - model_ptr = &Hu3DData[model]; + Hu3DMotionShiftSet(modelId, motId[0], 0, 10, HU3D_MOTATTR_LOOP); + modelP = &Hu3DData[modelId]; while (1) { fontcolor = FONT_COLOR_RED; - if (lbl_1_data_0 == 3) { + if (instMode == 3) { break; } HuPrcVSleep(); } - Hu3DMotionSet(model, motion[1]); + Hu3DMotionSet(modelId, motId[1]); HuPrcSleep(20); - HuAudFXPlay(lbl_1_data_10C[(lbl_1_bss_12 * 2) + 1]); + HuAudFXPlay(hostSeTbl[(instHostNo * 2) + 1]); for (i = 0; i <= 30; i++) { - Hu3DModelPosSet(model, (i * 5) - 153, (50.0 * sind(i * 9.0f)) + -150.0 + ofs_x, (i * 20) + 356); + Hu3DModelPosSet(modelId, (i * 5) - 153, (50.0 * sind(i * 9.0f)) + -150.0 + ofsX, (i * 20) + 356); HuPrcVSleep(); } HuPrcEnd(); @@ -618,31 +617,31 @@ static void fn_1_220C(void) } } -static void fn_1_2804(void) +static void InstWinMain(void) { - float pos_x; + float posX; s16 i; - s16 window; - s16 window_other; + s16 winId; + s16 win2Id; s16 j; s16 insert_idx; - s16 rtrig; + s16 trigR; s16 groupCnt[4]; s16 charTbl[4][4]; - window = HuWinExCreateStyled(640, 320, 412, 120, -1, 1); - while (lbl_1_data_0 != 0) { + winId = HuWinExCreateStyled(640, 320, 412, 120, -1, 1); + while (instMode != 0) { HuPrcVSleep(); } - HuWinDispOn(window); - HuWinMesSet(window, mgInfoTbl[lbl_1_bss_14].inst_mess[0]); - HuWinMesPalSet(window, 7, 0, 0, 192); - HuWinMesSpeedSet(window, 0); - window_other = HuWinExCreateStyled(640, 320, 412, 120, -1, 1); - HuWinDispOn(window_other); - HuWinMesSpeedSet(window_other, 0); - HuWinPosSet(window_other, 142.0f, 640.0f); - lbl_1_bss_6 = 0; + HuWinDispOn(winId); + HuWinMesSet(winId, mgInfoTbl[instMgNo].inst_mess[0]); + HuWinMesPalSet(winId, 7, 0, 0, 192); + HuWinMesSpeedSet(winId, 0); + win2Id = HuWinExCreateStyled(640, 320, 412, 120, -1, 1); + HuWinDispOn(win2Id); + HuWinMesSpeedSet(win2Id, 0); + HuWinPosSet(win2Id, 142.0f, 640.0f); + instPage = 0; for (i = 0; i < 4; i++) { groupCnt[i] = 0; } @@ -653,57 +652,57 @@ static void fn_1_2804(void) } for (i = insert_idx = 0; i < 4; i++) { for (j = 0; j < groupCnt[i]; j++) { - HuWinInsertMesSet(window, charTbl[i][j], (s16)insert_idx); + HuWinInsertMesSet(winId, charTbl[i][j], (s16)insert_idx); insert_idx++; } } - while (lbl_1_data_0 != 2) { + while (instMode != 2) { HuPrcVSleep(); } HuPrcSleep(40); for (i = 0; i <= 20; i++) { - pos_x = 500.0 * cosd(i * 4.5f) + 142.0; - HuWinPosSet(window, pos_x, 320); + posX = 500.0 * cosd(i * 4.5f) + 142.0; + HuWinPosSet(winId, posX, 320); HuPrcVSleep(); } - lbl_1_data_0 = 1; - while (lbl_1_data_0 != 3) { - for (i = rtrig = 0; i < 4; i++) { + instMode = 1; + while (instMode != 3) { + for (i = trigR = 0; i < 4; i++) { if (!GWPlayerCfg[i].iscom) { - rtrig |= HuPadTrigR[GWPlayerCfg[i].pad_idx] & 0xC0; + trigR |= HuPadTrigR[GWPlayerCfg[i].pad_idx] & 0xC0; } } - if (rtrig) { + if (trigR) { HuAudFXPlay(1213); - lbl_1_bss_4 = 0; - HuWinMesSet(window_other, mgInfoTbl[lbl_1_bss_14].inst_mess[lbl_1_bss_6]); - HuWinMesPalSet(window_other, 7, 0, 0, 192); - lbl_1_bss_6++; - if (mgInfoTbl[lbl_1_bss_14].inst_mess[lbl_1_bss_6] == 0) { - lbl_1_bss_6++; + instBusyF = 0; + HuWinMesSet(win2Id, mgInfoTbl[instMgNo].inst_mess[instPage]); + HuWinMesPalSet(win2Id, 7, 0, 0, 192); + instPage++; + if (mgInfoTbl[instMgNo].inst_mess[instPage] == 0) { + instPage++; } - if (lbl_1_bss_6 >= 4) { - lbl_1_bss_6 = 0; + if (instPage >= 4) { + instPage = 0; } - HuWinMesSet(window, mgInfoTbl[lbl_1_bss_14].inst_mess[lbl_1_bss_6]); - HuWinMesPalSet(window, 7, 0, 0, 192); - HuWinPosSet(window_other, 142.0f, 320.0f); + HuWinMesSet(winId, mgInfoTbl[instMgNo].inst_mess[instPage]); + HuWinMesPalSet(winId, 7, 0, 0, 192); + HuWinPosSet(win2Id, 142.0f, 320.0f); for (i = 0; i <= 10; i++) { #if VERSION_NTSC - HuWinPosSet(window_other, 30.0 * sind(i * 9.0f) + 142.0, 160.0 * (1.0 - cosd(i * 9.0f)) + 320.0); + HuWinPosSet(win2Id, 30.0 * sind(i * 9.0f) + 142.0, 160.0 * (1.0 - cosd(i * 9.0f)) + 320.0); #else - HuWinPosSet(window_other, 30.0 * sind(i * 9.0f) + 142.0, 180.0 * (1.0 - cosd(i * 9.0f)) + 320.0); + HuWinPosSet(win2Id, 30.0 * sind(i * 9.0f) + 142.0, 180.0 * (1.0 - cosd(i * 9.0f)) + 320.0); #endif HuPrcVSleep(); } HuPrcSleep(5); } - lbl_1_bss_4 = 1; + instBusyF = 1; HuPrcVSleep(); } for (i = 0; i <= 20; i++) { - pos_x = 500.0 * (1.0 - cosd(i * 4.5f)) + 142.0; - HuWinPosSet(window, pos_x, 320); + posX = 500.0 * (1.0 - cosd(i * 4.5f)) + 142.0; + HuWinPosSet(winId, posX, 320); HuPrcVSleep(); } HuWinAllKill(); @@ -713,7 +712,7 @@ static void fn_1_2804(void) } } -static float lbl_1_data_124[] = { 420, 70, 488, 186, 476, 242, 400, 292 }; +static float instNamePosTbl[] = { 420, 70, 488, 186, 476, 242, 400, 292 }; #if VERSION_NTSC #define WIN_ANIM_OFS 201 @@ -721,238 +720,238 @@ static float lbl_1_data_124[] = { 420, 70, 488, 186, 476, 242, 400, 292 }; #define WIN_ANIM_OFS 219 #endif -static void fn_1_2FA0(void) +static void InstNameMain(void) { - float temp_f31; - float temp_f30; - float temp_f29; - float temp_f28; - float temp_f27; - s16 temp_r31; - s16 temp_r30; - char *temp_r29; - AnimData *temp_r28; - s16 temp_r27; - s16 temp_r26; - s16 temp_r25; - s16 temp_r24; - s16 temp_r23; - s16 temp_r22; - u16 temp_r21; - char *temp_r20; - s16 temp_r17; - s16 spA; - s16 sp8; + float posX; + float t; + float nameX; + float nameY; + float nameScaleY; + s16 i; + s16 j; + char *mes; + AnimData *nameAnim; + s16 rulesWinId; + s16 mesSpaceNum; + s16 nameGrpId; + s16 startGrpId; + s16 practiceGrpId; + s16 nameW; + u16 prevPage; + char *mesWord; + s16 nameSprId; + s16 startSprId; + s16 practiceSprId; s16 spC[2]; s16 sp10[4]; SeqWork work; - temp_r21 = 0; - for (temp_r31 = 0; temp_r31 < 16; temp_r31++) { - work.sprite[temp_r31] = work.spr_grp[temp_r31] = -1; + prevPage = 0; + for (i = 0; i < 16; i++) { + work.sprite[i] = work.spr_grp[i] = -1; } - temp_r20 = MessData_MesPtrGet(messDataPtr, mgInfoTbl[lbl_1_bss_14].name_mess); - temp_r29 = temp_r20; - temp_r31 = 0; - temp_r26 = 0; + mesWord = MessData_MesPtrGet(messDataPtr, mgInfoTbl[instMgNo].name_mess); + mes = mesWord; + i = 0; + mesSpaceNum = 0; while (1) { - if (*temp_r29 == 0 || *temp_r29 == 10) { - if (*temp_r29 == 0) { - temp_r31 = 1; + if (*mes == 0 || *mes == 10) { + if (*mes == 0) { + i = 1; } - *temp_r29 = 0; - fn_1_5EA4(&work, temp_r20, (lbl_1_bss_8 == 0) ? 1 : 0); - HuSprGrpPosSet(work.spr_grp[temp_r26], 288.0f, 240.0f); - spC[temp_r26] = work.alt_word_len; - temp_r26++; - if (temp_r31) { + *mes = 0; + FontCreate(&work, mesWord, (LanguageNo == 0) ? 1 : 0); + HuSprGrpPosSet(work.spr_grp[mesSpaceNum], 288.0f, 240.0f); + spC[mesSpaceNum] = work.alt_word_len; + mesSpaceNum++; + if (i) { break; } - temp_r20 = temp_r29 + 1; + mesWord = mes + 1; } - temp_r29++; + mes++; } #if VERSION_NTSC - if (temp_r26 == 1) { - temp_r22 = spC[0]; - temp_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_INST, 18)); - temp_f29 = ((576.0f - temp_r22) - 24.0f) - 16.0f + 227; - temp_f28 = 78; - temp_f27 = 0.5f; + if (mesSpaceNum == 1) { + nameW = spC[0]; + nameAnim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_INST, 18)); + nameX = ((576.0f - nameW) - 24.0f) - 16.0f + 227; + nameY = 78; + nameScaleY = 0.5f; } else { - temp_r22 = (spC[0] > spC[1]) ? spC[0] : spC[1]; - temp_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_INST, 15)); + nameW = (spC[0] > spC[1]) ? spC[0] : spC[1]; + nameAnim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_INST, 15)); - temp_f29 = ((576.0f - temp_r22) - 24.0f) - 16.0f + 172.0f; - temp_f28 = 84; - temp_f27 = 1.0f; + nameX = ((576.0f - nameW) - 24.0f) - 16.0f + 172.0f; + nameY = 84; + nameScaleY = 1.0f; } #else - if (temp_r26 == 1) { - temp_r22 = spC[0]; - temp_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_INST, 18)); - temp_f29 = ((576.0f - temp_r22) - 24.0f) - 16.0f + 235; - temp_f28 = 78; - temp_f27 = 0.5f; + if (mesSpaceNum == 1) { + nameW = spC[0]; + nameAnim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_INST, 18)); + nameX = ((576.0f - nameW) - 24.0f) - 16.0f + 235; + nameY = 78; + nameScaleY = 0.5f; } else { - temp_r22 = (spC[0] > spC[1]) ? spC[0] : spC[1]; - temp_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_INST, 15)); + nameW = (spC[0] > spC[1]) ? spC[0] : spC[1]; + nameAnim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_INST, 15)); - temp_f29 = ((576.0f - temp_r22) - 24.0f) - 16.0f + 235; - temp_f28 = 84; - temp_f27 = 1.0f; + nameX = ((576.0f - nameW) - 24.0f) - 16.0f + 235; + nameY = 84; + nameScaleY = 1.0f; } #endif - temp_r25 = HuSprGrpCreate(1); - temp_r17 = HuSprCreate(temp_r28, 0, 0); - HuSprGrpMemberSet(temp_r25, 0, temp_r17); - HuSprPriSet(temp_r25, 0, 100); - HuSprGrpPosSet(temp_r25, 10000, 70); - HuSprScaleSet(temp_r25, 0, 1.0f, temp_f27); - for (temp_r31 = 0; temp_r31 < temp_r26; temp_r31++) { - HuSprGrpPosSet(work.spr_grp[temp_r31], 1000, 70); + nameGrpId = HuSprGrpCreate(1); + nameSprId = HuSprCreate(nameAnim, 0, 0); + HuSprGrpMemberSet(nameGrpId, 0, nameSprId); + HuSprPriSet(nameGrpId, 0, 100); + HuSprGrpPosSet(nameGrpId, 10000, 70); + HuSprScaleSet(nameGrpId, 0, 1.0f, nameScaleY); + for (i = 0; i < mesSpaceNum; i++) { + HuSprGrpPosSet(work.spr_grp[i], 1000, 70); } - temp_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_INST, 16)); - temp_r24 = HuSprGrpCreate(1); - spA = HuSprCreate(temp_r28, 0, 0); - HuSprGrpMemberSet(temp_r24, 0, spA); - HuSprGrpPosSet(temp_r24, 1000, 186); - HuSprPriSet(temp_r24, 0, 1000); + nameAnim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_INST, 16)); + startGrpId = HuSprGrpCreate(1); + startSprId = HuSprCreate(nameAnim, 0, 0); + HuSprGrpMemberSet(startGrpId, 0, startSprId); + HuSprGrpPosSet(startGrpId, 1000, 186); + HuSprPriSet(startGrpId, 0, 1000); sp10[0] = HuWinCreate(1000, 186, 456, 42, 0); - HuWinMesSet(sp10[0], MAKE_MESSID(0x24, lbl_1_bss_10)); + HuWinMesSet(sp10[0], MAKE_MESSID(0x24, instMesOfs)); HuWinBGTPLvlSet(sp10[0], 0.0f); - temp_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_INST, 17)); - temp_r23 = HuSprGrpCreate(1); - sp8 = HuSprCreate(temp_r28, 0, 0); - HuSprGrpMemberSet(temp_r23, 0, sp8); - HuSprGrpPosSet(temp_r23, 1000, 242); - HuSprPriSet(temp_r23, 0, 1000); + nameAnim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_INST, 17)); + practiceGrpId = HuSprGrpCreate(1); + practiceSprId = HuSprCreate(nameAnim, 0, 0); + HuSprGrpMemberSet(practiceGrpId, 0, practiceSprId); + HuSprGrpPosSet(practiceGrpId, 1000, 242); + HuSprPriSet(practiceGrpId, 0, 1000); sp10[1] = HuWinCreate(1000, 242, 456, 42, 0); - HuWinMesSet(sp10[1], lbl_1_bss_10 + MAKE_MESSID(0x24, 0x01)); + HuWinMesSet(sp10[1], instMesOfs + MAKE_MESSID(0x24, 0x01)); HuWinBGTPLvlSet(sp10[1], 0.0f); - temp_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_INST, 18)); + nameAnim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_INST, 18)); sp10[2] = HuWinCreate(1000, 292, 456, 42, 0); - HuWinMesSet(sp10[2], lbl_1_bss_10 + MAKE_MESSID(0x24, 0x02)); + HuWinMesSet(sp10[2], instMesOfs + MAKE_MESSID(0x24, 0x02)); HuWinBGTPLvlSet(sp10[2], 0.0f); HuWinMesSpeedSet(sp10[2], 0); - temp_r31 = HuWinAnimSet(sp10[2], temp_r28, 0, WIN_ANIM_OFS, 18); - HuWinSprPriSet(sp10[2], temp_r31, 1000); - temp_r27 = HuWinCreate(1000, 292, 456, 42, 0); - HuWinBGTPLvlSet(temp_r27, 0.0f); - HuWinMesSpeedSet(temp_r27, 0); - HuWinMesSet(temp_r27, lbl_1_bss_10 + MAKE_MESSID(0x24, 0x02)); - temp_r31 = HuWinAnimSet(temp_r27, temp_r28, 0, WIN_ANIM_OFS, 18); - HuWinPriSet(temp_r27, 10); - HuWinSprPriSet(temp_r27, temp_r31, 11); - while (lbl_1_data_0 != 0) { + i = HuWinAnimSet(sp10[2], nameAnim, 0, WIN_ANIM_OFS, 18); + HuWinSprPriSet(sp10[2], i, 1000); + rulesWinId = HuWinCreate(1000, 292, 456, 42, 0); + HuWinBGTPLvlSet(rulesWinId, 0.0f); + HuWinMesSpeedSet(rulesWinId, 0); + HuWinMesSet(rulesWinId, instMesOfs + MAKE_MESSID(0x24, 0x02)); + i = HuWinAnimSet(rulesWinId, nameAnim, 0, WIN_ANIM_OFS, 18); + HuWinPriSet(rulesWinId, 10); + HuWinSprPriSet(rulesWinId, i, 11); + while (instMode != 0) { HuPrcVSleep(); } - for (temp_r31 = 0; temp_r31 < 36; temp_r31++) { - temp_f30 = temp_r31; - if (temp_f30 <= 20.0f) { + for (i = 0; i < 36; i++) { + t = i; + if (t <= 20.0f) { #if VERSION_NTSC - temp_f31 = 300.0 * cosd(4.5f * temp_f30) + temp_f29; - HuSprGrpPosSet(temp_r25, temp_f31, temp_f28); - temp_f31 = 300.0 * cosd(4.5f * temp_f30) + (576.0f - (temp_r22 / 2) - 24.0f); - for (temp_r30 = 0; temp_r30 < temp_r26; temp_r30++) { - HuSprGrpPosSet(work.spr_grp[temp_r30], temp_f31, (temp_r30 * 28) + 70); + posX = 300.0 * cosd(4.5f * t) + nameX; + HuSprGrpPosSet(nameGrpId, posX, nameY); + posX = 300.0 * cosd(4.5f * t) + (576.0f - (nameW / 2) - 24.0f); + for (j = 0; j < mesSpaceNum; j++) { + HuSprGrpPosSet(work.spr_grp[j], posX, (j * 28) + 70); } #else - temp_f31 = 500.0 * cosd(4.5f * temp_f30) + temp_f29; - HuSprGrpPosSet(temp_r25, temp_f31, temp_f28); - temp_f31 = 500.0 * cosd(4.5f * temp_f30) + (576.0f - (temp_r22 / 2) - 24.0f); - for (temp_r30 = 0; temp_r30 < temp_r26; temp_r30++) { - HuSprGrpPosSet(work.spr_grp[temp_r30], temp_f31, (temp_r30 * 28) + 70); + posX = 500.0 * cosd(4.5f * t) + nameX; + HuSprGrpPosSet(nameGrpId, posX, nameY); + posX = 500.0 * cosd(4.5f * t) + (576.0f - (nameW / 2) - 24.0f); + for (j = 0; j < mesSpaceNum; j++) { + HuSprGrpPosSet(work.spr_grp[j], posX, (j * 28) + 70); } #endif } - temp_f30 = temp_r31 - 3; - if (temp_f30 > 0.0f) { - if (temp_f30 <= 20.0f) { - temp_f31 = 300.0 * cosd(4.5f * temp_f30) + lbl_1_data_124[2]; - HuSprGrpPosSet(temp_r24, temp_f31, 186.0f); - temp_f31 = 300.0 * cosd(4.5f * temp_f30) + (lbl_1_data_124[2] - 88.0f); + t = i - 3; + if (t > 0.0f) { + if (t <= 20.0f) { + posX = 300.0 * cosd(4.5f * t) + instNamePosTbl[2]; + HuSprGrpPosSet(startGrpId, posX, 186.0f); + posX = 300.0 * cosd(4.5f * t) + (instNamePosTbl[2] - 88.0f); #if VERSION_NTSC - HuWinPosSet(sp10[0], 16.0f + temp_f31, 168.0f); + HuWinPosSet(sp10[0], 16.0f + posX, 168.0f); #else - HuWinPosSet(sp10[0], 8.0f + temp_f31, 168.0f); + HuWinPosSet(sp10[0], 8.0f + posX, 168.0f); #endif } } - temp_f30 = temp_r31 - 6; - if (temp_f30 > 0.0f) { - if (temp_f30 <= 20.0f) { - temp_f31 = 300.0 * cosd(4.5f * temp_f30) + lbl_1_data_124[4]; - HuSprGrpPosSet(temp_r23, temp_f31, 242.0f); - temp_f31 = 300.0 * cosd(4.5f * temp_f30) + (lbl_1_data_124[4] - 100.0f); + t = i - 6; + if (t > 0.0f) { + if (t <= 20.0f) { + posX = 300.0 * cosd(4.5f * t) + instNamePosTbl[4]; + HuSprGrpPosSet(practiceGrpId, posX, 242.0f); + posX = 300.0 * cosd(4.5f * t) + (instNamePosTbl[4] - 100.0f); #if VERSION_NTSC - HuWinPosSet(sp10[1], 16.0f + temp_f31, 224.0f); + HuWinPosSet(sp10[1], 16.0f + posX, 224.0f); #else - HuWinPosSet(sp10[1], 8.0f + temp_f31, 224.0f); + HuWinPosSet(sp10[1], 8.0f + posX, 224.0f); #endif } } - temp_f30 = temp_r31 - 9; - if (temp_f30 > 0.0f) { - if (temp_f30 <= 20.0f) { - temp_f31 = 300.0 * cosd(4.5f * temp_f30) + (lbl_1_data_124[6] - (WIN_ANIM_OFS+16)); - HuWinPosSet(sp10[2], 16.0f + temp_f31, 274.0f); + t = i - 9; + if (t > 0.0f) { + if (t <= 20.0f) { + posX = 300.0 * cosd(4.5f * t) + (instNamePosTbl[6] - (WIN_ANIM_OFS+16)); + HuWinPosSet(sp10[2], 16.0f + posX, 274.0f); } } HuPrcVSleep(); } - while (lbl_1_data_0 != 3) { - if (temp_r21 != lbl_1_bss_6) { - temp_f31 = 16.0f + (lbl_1_data_124[6] - (WIN_ANIM_OFS+16)); - HuWinMesSet(temp_r27, MAKE_MESSID(0x24, 0x02) + lbl_1_bss_10 + temp_r21); - temp_r21 = lbl_1_bss_6; - if (lbl_1_bss_6 == 1) { - if (mgInfoTbl[lbl_1_bss_14].inst_mess[2]) { - HuWinMesSet(sp10[2], MAKE_MESSID(0x24, 0x02) + lbl_1_bss_10 + lbl_1_bss_6); + while (instMode != 3) { + if (prevPage != instPage) { + posX = 16.0f + (instNamePosTbl[6] - (WIN_ANIM_OFS+16)); + HuWinMesSet(rulesWinId, MAKE_MESSID(0x24, 0x02) + instMesOfs + prevPage); + prevPage = instPage; + if (instPage == 1) { + if (mgInfoTbl[instMgNo].inst_mess[2]) { + HuWinMesSet(sp10[2], MAKE_MESSID(0x24, 0x02) + instMesOfs + instPage); } else { - HuWinMesSet(sp10[2], MAKE_MESSID(0x24, 0x06) + lbl_1_bss_10); + HuWinMesSet(sp10[2], MAKE_MESSID(0x24, 0x06) + instMesOfs); } } else { - HuWinMesSet(sp10[2], MAKE_MESSID(0x24, 0x02) + lbl_1_bss_10 + lbl_1_bss_6); + HuWinMesSet(sp10[2], MAKE_MESSID(0x24, 0x02) + instMesOfs + instPage); } - for (temp_r31 = 0; temp_r31 <= 10; temp_r31++) { + for (i = 0; i <= 10; i++) { #if VERSION_NTSC - HuWinPosSet(temp_r27, 30.0 * sind(temp_r31 * 9.0f) + temp_f31, 200.0 * (1.0 - cosd(temp_r31 * 9.0f)) + 274.0); + HuWinPosSet(rulesWinId, 30.0 * sind(i * 9.0f) + posX, 200.0 * (1.0 - cosd(i * 9.0f)) + 274.0); #else - HuWinPosSet(temp_r27, 30.0 * sind(temp_r31 * 9.0f) + temp_f31, 220.0 * (1.0 - cosd(temp_r31 * 9.0f)) + 274.0); + HuWinPosSet(rulesWinId, 30.0 * sind(i * 9.0f) + posX, 220.0 * (1.0 - cosd(i * 9.0f)) + 274.0); #endif HuPrcVSleep(); } } HuPrcVSleep(); } - for (temp_r31 = 0; temp_r31 < 20; temp_r31++) { - temp_f30 = 1.0 - cosd(temp_r31 * 4.5f); - temp_f31 = temp_f29 + (500.0f * temp_f30); - HuSprGrpPosSet(temp_r25, temp_f31, temp_f28); - temp_f31 = ((576.0f - (work.alt_word_len / 2)) - 24.0f) + (500.0f * temp_f30); - for (temp_r30 = 0; temp_r30 < temp_r26; temp_r30++) { - HuSprGrpPosSet(work.spr_grp[temp_r30], temp_f31, (temp_r30 * 28) + 70); + for (i = 0; i < 20; i++) { + t = 1.0 - cosd(i * 4.5f); + posX = nameX + (500.0f * t); + HuSprGrpPosSet(nameGrpId, posX, nameY); + posX = ((576.0f - (work.alt_word_len / 2)) - 24.0f) + (500.0f * t); + for (j = 0; j < mesSpaceNum; j++) { + HuSprGrpPosSet(work.spr_grp[j], posX, (j * 28) + 70); } - temp_f31 = lbl_1_data_124[2] + (300.0f * temp_f30); - HuSprGrpPosSet(temp_r24, temp_f31, 186.0f); - temp_f31 = (lbl_1_data_124[2] - 88.0f) + (300.0f * temp_f30); - HuWinPosSet(sp10[0], 16.0f + temp_f31, 168); - temp_f31 = lbl_1_data_124[4] + (300.0f * temp_f30); - HuSprGrpPosSet(temp_r23, temp_f31, 242.0f); - temp_f31 = (lbl_1_data_124[4] - 100.0f) + (300.0f * temp_f30); - HuWinPosSet(sp10[1], 16.0f + temp_f31, 224); + posX = instNamePosTbl[2] + (300.0f * t); + HuSprGrpPosSet(startGrpId, posX, 186.0f); + posX = (instNamePosTbl[2] - 88.0f) + (300.0f * t); + HuWinPosSet(sp10[0], 16.0f + posX, 168); + posX = instNamePosTbl[4] + (300.0f * t); + HuSprGrpPosSet(practiceGrpId, posX, 242.0f); + posX = (instNamePosTbl[4] - 100.0f) + (300.0f * t); + HuWinPosSet(sp10[1], 16.0f + posX, 224); #if VERSION_NTSC - temp_f31 = (lbl_1_data_124[6] - 184.0f) + (400.0f * temp_f30); + posX = (instNamePosTbl[6] - 184.0f) + (400.0f * t); #else - temp_f31 = (lbl_1_data_124[6] - 235.0f) + (400.0f * temp_f30); + posX = (instNamePosTbl[6] - 235.0f) + (400.0f * t); #endif - HuWinPosSet(sp10[2], 16.0f + temp_f31, 274); + HuWinPosSet(sp10[2], 16.0f + posX, 274); HuPrcVSleep(); } MGSeqSprKill(&work); @@ -962,98 +961,98 @@ static void fn_1_2FA0(void) } } -static u16 lbl_1_data_144[2] = { 1, 2 }; -static void fn_1_4174(omObjData *object) +static void CameraOutView(omObjData *object) { s16 i; + static u16 cameraMask[] = { HU3D_CAM0, HU3D_CAM1 }; for (i = 0; i < 2; i++) { Vec pos, target, up; float x, y, z; - x = lbl_1_bss_40[i].x; - y = lbl_1_bss_40[i].y; - z = lbl_1_bss_40[i].z; + x = cameraRot[i].x; + y = cameraRot[i].y; + z = cameraRot[i].z; - pos.x = (((sind(y) * cosd(x)) * lbl_1_bss_20[i]) + lbl_1_bss_28[i].x); - pos.y = (-sind(x) * lbl_1_bss_20[i]) + lbl_1_bss_28[i].y; - pos.z = ((cosd(y) * cosd(x)) * lbl_1_bss_20[i]) + lbl_1_bss_28[i].z; - target.x = lbl_1_bss_28[i].x; - target.y = lbl_1_bss_28[i].y; - target.z = lbl_1_bss_28[i].z; + pos.x = (((sind(y) * cosd(x)) * cameraZoom[i]) + cameraPos[i].x); + pos.y = (-sind(x) * cameraZoom[i]) + cameraPos[i].y; + pos.z = ((cosd(y) * cosd(x)) * cameraZoom[i]) + cameraPos[i].z; + target.x = cameraPos[i].x; + target.y = cameraPos[i].y; + target.z = cameraPos[i].z; up.x = sind(y) * sind(x); up.y = cosd(x); up.z = cosd(y) * sind(x); - Hu3DCameraPosSet(lbl_1_data_144[i], pos.x, pos.y, pos.z, up.x, up.y, up.z, target.x, target.y, target.z); + Hu3DCameraPosSet(cameraMask[i], pos.x, pos.y, pos.z, up.x, up.y, up.z, target.x, target.y, target.z); } } -static void fn_1_4528(omObjData *object) +static void CameraDebug(omObjData *object) { Vec pos; Vec offset; Vec dir; - Vec y_offset; + Vec yOffset; - f32 z_rot; - s8 stick_pos; + float rotZ; + s8 stickPos; - if (lbl_1_bss_0 != 0) { - lbl_1_bss_40[0].y += 0.1f * HuPadStkX[0]; - lbl_1_bss_40[0].x += 0.1f * HuPadStkY[0]; - lbl_1_bss_20[0] += HuPadTrigL[0] / 2; - lbl_1_bss_20[0] -= HuPadTrigR[0] / 2; - if (lbl_1_bss_20[0] < 100.0f) { - lbl_1_bss_20[0] = 100.0f; + if (debugCamOnF != 0) { + cameraRot[0].y += 0.1f * HuPadStkX[0]; + cameraRot[0].x += 0.1f * HuPadStkY[0]; + cameraZoom[0] += HuPadTrigL[0] / 2; + cameraZoom[0] -= HuPadTrigR[0] / 2; + if (cameraZoom[0] < 100.0f) { + cameraZoom[0] = 100.0f; } - pos.x = lbl_1_bss_28[0].x + (lbl_1_bss_20[0] * (sind(lbl_1_bss_40[0].y) * cosd(lbl_1_bss_40[0].x))); - pos.y = (lbl_1_bss_28[0].y + (lbl_1_bss_20[0] * -sind(lbl_1_bss_40[0].x))); - pos.z = (lbl_1_bss_28[0].z + (lbl_1_bss_20[0] * (cosd(lbl_1_bss_40[0].y) * cosd(lbl_1_bss_40[0].x)))); - offset.x = lbl_1_bss_28[0].x - pos.x; - offset.y = lbl_1_bss_28[0].y - pos.y; - offset.z = lbl_1_bss_28[0].z - pos.z; - dir.x = (sind(lbl_1_bss_40[0].y) * sind(lbl_1_bss_40[0].x)); - dir.y = cosd(lbl_1_bss_40[0].x); - dir.z = (cosd(lbl_1_bss_40[0].y) * sind(lbl_1_bss_40[0].x)); - z_rot = lbl_1_bss_40[0].z; - y_offset.x = dir.x * (offset.x * offset.x + (1.0f - offset.x * offset.x) * cosd(z_rot)) - + dir.y * (offset.x * offset.y * (1.0f - cosd(z_rot)) - offset.z * sind(z_rot)) - + dir.z * (offset.x * offset.z * (1.0f - cosd(z_rot)) + offset.y * sind(z_rot)); + pos.x = cameraPos[0].x + (cameraZoom[0] * (sind(cameraRot[0].y) * cosd(cameraRot[0].x))); + pos.y = (cameraPos[0].y + (cameraZoom[0] * -sind(cameraRot[0].x))); + pos.z = (cameraPos[0].z + (cameraZoom[0] * (cosd(cameraRot[0].y) * cosd(cameraRot[0].x)))); + offset.x = cameraPos[0].x - pos.x; + offset.y = cameraPos[0].y - pos.y; + offset.z = cameraPos[0].z - pos.z; + dir.x = (sind(cameraRot[0].y) * sind(cameraRot[0].x)); + dir.y = cosd(cameraRot[0].x); + dir.z = (cosd(cameraRot[0].y) * sind(cameraRot[0].x)); + rotZ = cameraRot[0].z; + yOffset.x = dir.x * (offset.x * offset.x + (1.0f - offset.x * offset.x) * cosd(rotZ)) + + dir.y * (offset.x * offset.y * (1.0f - cosd(rotZ)) - offset.z * sind(rotZ)) + + dir.z * (offset.x * offset.z * (1.0f - cosd(rotZ)) + offset.y * sind(rotZ)); - y_offset.y = dir.y * (offset.y * offset.y + (1.0f - offset.y * offset.y) * cosd(z_rot)) - + dir.x * (offset.x * offset.y * (1.0f - cosd(z_rot)) + offset.z * sind(z_rot)) - + dir.z * (offset.y * offset.z * (1.0f - cosd(z_rot)) - offset.x * sind(z_rot)); + yOffset.y = dir.y * (offset.y * offset.y + (1.0f - offset.y * offset.y) * cosd(rotZ)) + + dir.x * (offset.x * offset.y * (1.0f - cosd(rotZ)) + offset.z * sind(rotZ)) + + dir.z * (offset.y * offset.z * (1.0f - cosd(rotZ)) - offset.x * sind(rotZ)); - y_offset.z = dir.z * (offset.z * offset.z + (1.0f - offset.z * offset.z) * cosd(z_rot)) - + (dir.x * (offset.x * offset.z * (1.0 - cosd(z_rot)) - offset.y * sind(z_rot)) - + dir.y * (offset.y * offset.z * (1.0 - cosd(z_rot)) + offset.x * sind(z_rot))); + yOffset.z = dir.z * (offset.z * offset.z + (1.0f - offset.z * offset.z) * cosd(rotZ)) + + (dir.x * (offset.x * offset.z * (1.0 - cosd(rotZ)) - offset.y * sind(rotZ)) + + dir.y * (offset.y * offset.z * (1.0 - cosd(rotZ)) + offset.x * sind(rotZ))); VECCrossProduct(&dir, &offset, &offset); VECNormalize(&offset, &offset); - stick_pos = (HuPadSubStkX[0] & 0xF8); - if (stick_pos != 0) { - lbl_1_bss_28[0].x += 0.05f * (offset.x * stick_pos); - lbl_1_bss_28[0].y += 0.05f * (offset.y * stick_pos); - lbl_1_bss_28[0].z += 0.05f * (offset.z * stick_pos); + stickPos = (HuPadSubStkX[0] & 0xF8); + if (stickPos != 0) { + cameraPos[0].x += 0.05f * (offset.x * stickPos); + cameraPos[0].y += 0.05f * (offset.y * stickPos); + cameraPos[0].z += 0.05f * (offset.z * stickPos); } - VECNormalize(&y_offset, &offset); - stick_pos = -(HuPadSubStkY[0] & 0xF8); - if (stick_pos != 0) { - lbl_1_bss_28[0].x += 0.05f * (offset.x * stick_pos); - lbl_1_bss_28[0].y += 0.05f * (offset.y * stick_pos); - lbl_1_bss_28[0].z += 0.05f * (offset.z * stick_pos); + VECNormalize(&yOffset, &offset); + stickPos = -(HuPadSubStkY[0] & 0xF8); + if (stickPos != 0) { + cameraPos[0].x += 0.05f * (offset.x * stickPos); + cameraPos[0].y += 0.05f * (offset.y * stickPos); + cameraPos[0].z += 0.05f * (offset.z * stickPos); } } } static float lbl_1_data_148 = 842; -static float lbl_1_data_14C = 34; +static float instPicRadius = 34; -static void fn_1_50B0(ModelData *model, Mtx mtx) +static void InstPicDraw(ModelData *model, Mtx mtx) { Mtx final; - Mtx inv_camera; - Mtx lookatlight; + Mtx invCamera; + Mtx lookAtLight; Mtx light; Mtx lookat; Vec pos; @@ -1067,7 +1066,7 @@ static void fn_1_50B0(ModelData *model, Mtx mtx) u8 b; s16 row; - s32 sp8 = 0; + s32 practiceSprId = 0; GXClearVtxDesc(); GXSetVtxDesc(GX_VA_POS, GX_DIRECT); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0); @@ -1076,22 +1075,22 @@ static void fn_1_50B0(ModelData *model, Mtx mtx) GXSetVtxDesc(GX_VA_NRM, GX_DIRECT); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_F32, 0); target.x = target.z = 0.0f; - target.x = lbl_1_data_14C * sind(lbl_1_bss_40[0].y); - target.z = lbl_1_data_14C * cosd(lbl_1_bss_40[0].y); + target.x = instPicRadius * sind(cameraRot[0].y); + target.z = instPicRadius * cosd(cameraRot[0].y); target.y = 415.0f; - pos.x = (sind(lbl_1_bss_40[0].y) * cosd(lbl_1_bss_40[0].x) * lbl_1_bss_20[0]) + lbl_1_bss_28[0].x; - pos.y = (-sind(lbl_1_bss_40[0].x) * lbl_1_bss_20[0]) + lbl_1_bss_28[0].y; - pos.z = (cosd(lbl_1_bss_40[0].y) * cosd(lbl_1_bss_40[0].x) * lbl_1_bss_20[0]) + lbl_1_bss_28[0].z; - up.x = -sind(lbl_1_bss_40[0].y); - up.z = -cosd(lbl_1_bss_40[0].y); + pos.x = (sind(cameraRot[0].y) * cosd(cameraRot[0].x) * cameraZoom[0]) + cameraPos[0].x; + pos.y = (-sind(cameraRot[0].x) * cameraZoom[0]) + cameraPos[0].y; + pos.z = (cosd(cameraRot[0].y) * cosd(cameraRot[0].x) * cameraZoom[0]) + cameraPos[0].z; + up.x = -sind(cameraRot[0].y); + up.z = -cosd(cameraRot[0].y); up.y = 0; MTXLookAt(lookat, &pos, &up, &target); - MTXLightPerspective(light, lbl_1_bss_C, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f); - HuSprTexLoad(lbl_1_bss_18, 0, 0, GX_CLAMP, GX_CLAMP, GX_NEAR); - MTXInverse(Hu3DCameraMtx, inv_camera); - MTXConcat(inv_camera, mtx, final); - MTXConcat(light, lookat, lookatlight); - MTXConcat(lookatlight, final, final); + MTXLightPerspective(light, instFov, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f); + HuSprTexLoad(instPicAnim, 0, 0, GX_CLAMP, GX_CLAMP, GX_NEAR); + MTXInverse(Hu3DCameraMtx, invCamera); + MTXConcat(invCamera, mtx, final); + MTXConcat(light, lookat, lookAtLight); + MTXConcat(lookAtLight, final, final); GXLoadTexMtxImm(final, GX_TEXMTX0, GX_MTX3x4); GXSetTexCoordGen(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, GX_TEXMTX0); GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); @@ -1144,12 +1143,12 @@ static void fn_1_50B0(ModelData *model, Mtx mtx) GXEnd(); } -static void fn_1_5B64(ModelData *model, Mtx mtx) +static void ShadowDraw(ModelData *model, Mtx mtx) { - s32 sp8 = 0; + s32 temp = 0; GXTexObj tex; Mtx final; - Mtx inv_camera; + Mtx invCamera; Mtx shadow; GXClearVtxDesc(); GXSetVtxDesc(GX_VA_POS, GX_DIRECT); @@ -1157,8 +1156,8 @@ static void fn_1_5B64(ModelData *model, Mtx mtx) 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, mtx, final); + MTXInverse(Hu3DCameraMtx, invCamera); + MTXConcat(invCamera, mtx, final); MTXConcat(Hu3DShadowData.unk_68, Hu3DShadowData.unk_38, shadow); MTXConcat(shadow, final, final); GXLoadTexMtxImm(final, GX_TEXMTX9, GX_MTX3x4); diff --git a/src/REL/resultDll/battle.c b/src/REL/resultDll/battle.c index 8818f975..8baf9450 100644 --- a/src/REL/resultDll/battle.c +++ b/src/REL/resultDll/battle.c @@ -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); diff --git a/src/REL/resultDll/datalist.c b/src/REL/resultDll/datalist.c index 6b5705a2..1a37f8a0 100644 --- a/src/REL/resultDll/datalist.c +++ b/src/REL/resultDll/datalist.c @@ -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]); } } } \ No newline at end of file diff --git a/src/REL/resultDll/main.c b/src/REL/resultDll/main.c index bda3b255..57433d33 100644 --- a/src/REL/resultDll/main.c +++ b/src/REL/resultDll/main.c @@ -18,7 +18,7 @@ #include "REL/resultdll.h" -DataListModel lbl_1_data_0[] = { { DATA_MAKE_NUM(DATADIR_RESULT, 0x00), 1, 0, -1, -1, { 148, 132, 500 }, { 0, 0, 0 }, { 1, 1, 1 } }, +static StageModel resultModel[] = { { DATA_MAKE_NUM(DATADIR_RESULT, 0x00), 1, 0, -1, -1, { 148, 132, 500 }, { 0, 0, 0 }, { 1, 1, 1 } }, { DATA_MAKE_NUM(DATADIR_RESULT, 0x01), 1, 0, -1, -1, { 148, 217, 500 }, { 0, 0, 0 }, { 1, 1, 1 } }, { DATA_MAKE_NUM(DATADIR_RESULT, 0x02), 1, 0, -1, -1, { 148, 302, 500 }, { 0, 0, 0 }, { 1, 1, 1 } }, { DATA_MAKE_NUM(DATADIR_RESULT, 0x03), 1, 0, -1, -1, { 148, 387, 500 }, { 0, 0, 0 }, { 1, 1, 1 } }, @@ -32,7 +32,7 @@ DataListModel lbl_1_data_0[] = { { DATA_MAKE_NUM(DATADIR_RESULT, 0x00), 1, 0, -1 { DATA_MAKE_NUM(DATADIR_RESULT, 0x06), 0, 2, 8, -1, { 410, 387, 500 }, { 0, 0, 0 }, { 1, 1, 1 } }, { -1, 0, 0, -1, -1, { 0, 0, 0 }, { 0, 0, 0 }, { 1, 1, 1 } } }; -DataListSprite lbl_1_data_2A4[] = { +static StageSprite resultSprite[] = { { DATA_MAKE_NUM(DATADIR_RESULT, 0x43), 0, 10, 288, 240, { 255, 255, 255, 255 } }, { DATA_MAKE_NUM(DATADIR_RESULT, 0x1D), 0, 10, 288, 60, { 255, 255, 255, 255 } }, { DATA_MAKE_NUM(DATADIR_RESULT, 0x1A), 0, 10, 270, 132, { 255, 255, 255, 255 } }, @@ -46,60 +46,60 @@ DataListSprite lbl_1_data_2A4[] = { { 0, 0, 0, 0, 0, { 0, 0, 0, 0 } }, }; -s16 lbl_1_data_380 = -1; +static s16 rankNewGrpId = -1; omObjData *lbl_1_bss_188; -omObjData *lbl_1_bss_184; -Process *lbl_1_bss_180; -s16 lbl_1_bss_17C; -s32 lbl_1_bss_178; -s32 lbl_1_bss_174; -s16 lbl_1_bss_172; -s16 lbl_1_bss_170; -s16 lbl_1_bss_168[4]; -s16 lbl_1_bss_158[8]; -AnimData *lbl_1_bss_144[5]; -AnimData *lbl_1_bss_E4[8][3]; -AnimData *lbl_1_bss_E0; -s16 lbl_1_bss_CE[9]; -s16 lbl_1_bss_9E[8][3]; -s16 lbl_1_bss_9C; -s16 lbl_1_bss_5C[8][4]; -s16 lbl_1_bss_54[4]; -s16 lbl_1_bss_52; -s16 lbl_1_bss_4A[4]; -s16 lbl_1_bss_42[4]; -s16 lbl_1_bss_3A[4]; -s16 lbl_1_bss_12[4][5]; -s16 lbl_1_bss_A[4]; -s16 lbl_1_bss_8; -s32 lbl_1_bss_4; -s32 lbl_1_bss_0; +static omObjData *outViewObj; +Process *objman; +s16 resultMgNo; +s32 resultReadEndF; +s32 resultFastF; +s16 resultBonusPlayer; +static s16 teamResultGrpId; +static s16 charShadowMdlId[4]; +static s16 statShadowMdlId[8]; +static AnimData *resultRankAnim[5]; +static AnimData *resultCharAnim[8][3]; +static AnimData *resultCrownAnim; +static s16 resultNumGrpId[8]; +static s16 resultNumSprId[8][3]; +static s16 resultCrownGrpId; +static s16 resultCubeMdlId[8][4]; +static s16 resultPlayerCubeMdlId[4]; +static s16 resultRankGrpId; +static s16 resultOrder[4]; +static s16 resultRank[4]; +static s16 resultCoinAddGrpId[4]; +static s16 resultCoinAddSprId[4][5]; +static s16 resultCharCubeMdlId[4]; +static s16 resultTeamOrder; +static s32 resultSkipF; +static s32 resultReorderF; -void fn_1_4D8(void); -void fn_1_888(void); +static void ResultMain(void); +static void ResultIdle(void); -void fn_1_B78(void); -void fn_1_1F4C(void); -void fn_1_2ADC(void); -void fn_1_461C(void); -void fn_1_47FC(void); +static void ResultCreate(void); +static void ResultStatAdd(void); +static void ResultOrderApply(void); +static void SaveExec(void); +static void ResultTeamExec(void); void ObjectSetup(void) { s32 i; - s32 light; + s32 lightId; OSReport("******* RESULT ObjectSetup *********\n"); - lbl_1_bss_180 = omInitObjMan(50, 8192); - lbl_1_bss_17C = GWSystem.mg_next; + objman = omInitObjMan(50, 8192); + resultMgNo = GWSystem.mg_next; - if (mgInfoTbl[lbl_1_bss_17C].ovl == OVL_M430) { + if (mgInfoTbl[resultMgNo].ovl == OVL_M430) { for (i = 0; i < 4; i++) { GWPlayerCfg[i].group = GWPlayerCfg[i].group / 2; } } - HuDataDirClose(mgInfoTbl[lbl_1_bss_17C].data_dir); - if (mgInfoTbl[lbl_1_bss_17C].type == 3 || mgInfoTbl[lbl_1_bss_17C].type == 5 || mgInfoTbl[lbl_1_bss_17C].type == 6 + HuDataDirClose(mgInfoTbl[resultMgNo].data_dir); + if (mgInfoTbl[resultMgNo].type == 3 || mgInfoTbl[resultMgNo].type == 5 || mgInfoTbl[resultMgNo].type == 6 || !_CheckFlag(FLAG_ID_MAKE(1, 0))) { if (_CheckFlag(0x10000)) { HuAR_DVDtoARAM(DATADIR_BOARD); @@ -119,27 +119,27 @@ void ObjectSetup(void) Hu3DCameraCreate(1); Hu3DCameraPerspectiveSet(1, 20.0f, 20.0f, 15000.0f, 1.2f); Hu3DCameraViewportSet(1, 0, 0, 640, 480, 0, 1); - light = Hu3DGLightCreate(0, 100, 1000, 0, -0.5, -1, 255, 255, 255); - Hu3DGLightInfinitytSet(light); - lbl_1_bss_174 = 0; + lightId = Hu3DGLightCreate(0, 100, 1000, 0, -0.5, -1, 255, 255, 255); + Hu3DGLightInfinitytSet(lightId); + resultFastF = 0; if (mgInfoTbl[GWSystem.mg_next].type != 4) { - HuPrcChildCreate(fn_1_4D8, 100, 12288, 0, lbl_1_bss_180); + HuPrcChildCreate(ResultMain, 100, 12288, 0, objman); } else { - HuPrcChildCreate(fn_1_6490, 100, 12288, 0, lbl_1_bss_180); + HuPrcChildCreate(ResultBattleMain, 100, 12288, 0, objman); } - lbl_1_bss_184 = omAddObjEx(lbl_1_bss_180, 32730, 0, 0, -1, omOutView); + outViewObj = omAddObjEx(objman, 32730, 0, 0, -1, omOutView); HuWinInit(1); - lbl_1_bss_172 = frandmod(4); + resultBonusPlayer = frandmod(4); } -void fn_1_4D8(void) +static void ResultMain(void) { s16 player; s16 i; - s16 window; - s16 button; - Process *process_curr = HuPrcCurrentGet(); + s16 winId; + s16 btnDown; + Process *proc = HuPrcCurrentGet(); HuAudSeqPlay(57); for (i = player = 0; i < 4; i++) { if (GWPlayerCfg[i].iscom) { @@ -147,43 +147,43 @@ void fn_1_4D8(void) } } if (player == 4) { - lbl_1_bss_4 = 1; + resultSkipF = 1; } else { - lbl_1_bss_4 = 0; + resultSkipF = 0; } - fn_1_B78(); - HuPrcChildCreate(fn_1_888, 100, 8192, 0, lbl_1_bss_180); + ResultCreate(); + HuPrcChildCreate(ResultIdle, 100, 8192, 0, objman); WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 20); while (WipeStatGet()) { HuPrcVSleep(); } HuDataDirClose(DATADIR_RESULT); - lbl_1_bss_178 = 0; - HuPrcChildCreate(fn_1_3FD8, 100, 12288, 0, lbl_1_bss_180); + resultReadEndF = 0; + HuPrcChildCreate(ResultBoardDataRead, 100, 12288, 0, objman); HuPrcSleep(10); - if (!lbl_1_bss_174) { + if (!resultFastF) { HuPrcSleep(20); } - fn_1_1F4C(); - fn_1_40DC(); - fn_1_2ADC(); - window = HuWinCreate(-10000.0f, 400.0f, 320, 40, 0); - HuWinMesSpeedSet(window, 0); - HuWinBGTPLvlSet(window, 0); - HuWinPriSet(window, 5); - HuWinAttrSet(window, 0x800); - HuWinMesSet(window, MAKE_MESSID(0x24, 0x07)); + ResultStatAdd(); + ResultCoinAdd(); + ResultOrderApply(); + winId = HuWinCreate(-10000.0f, 400.0f, 320, 40, 0); + HuWinMesSpeedSet(winId, 0); + HuWinBGTPLvlSet(winId, 0); + HuWinPriSet(winId, 5); + HuWinAttrSet(winId, 0x800); + HuWinMesSet(winId, MAKE_MESSID(0x24, 0x07)); HuPrcSleep(4); i = 0; while (1) { - if (!lbl_1_bss_4 || i <= 120) { - for (player = button = 0; player < 4; player++) { + if (!resultSkipF || i <= 120) { + for (player = btnDown = 0; player < 4; player++) { if (!GWPlayerCfg[player].iscom) { - button |= HuPadBtnDown[GWPlayerCfg[player].pad_idx]; + btnDown |= HuPadBtnDown[GWPlayerCfg[player].pad_idx]; } } - if (button & PAD_BUTTON_A) { + if (btnDown & PAD_BUTTON_A) { HuAudFXPlay(28); break; } @@ -194,11 +194,11 @@ void fn_1_4D8(void) break; } } - HuWinKill(window); + HuWinKill(winId); if (GWTeamGet()) { - fn_1_47FC(); + ResultTeamExec(); } - while (!lbl_1_bss_178) { + while (!resultReadEndF) { HuPrcVSleep(); } HuAudSeqAllFadeOut(1000); @@ -208,7 +208,7 @@ void fn_1_4D8(void) while (WipeStatGet()) { HuPrcVSleep(); } - fn_1_461C(); + SaveExec(); } else { WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); @@ -224,51 +224,51 @@ void fn_1_4D8(void) } } -void fn_1_888(void) +static void ResultIdle(void) { - f32 var_f29; - f32 var_f31; - f32 var_f30; + float rotRightSpeed; + float rotLeft; + float rotRight; - var_f31 = 0.0f; - var_f30 = 0.0f; - var_f29 = 0.0f; - lbl_1_bss_0 = 0; + rotLeft = 0.0f; + rotRight = 0.0f; + rotRightSpeed = 0.0f; + resultReorderF = 0; while (1) { - if (((HuPadBtn[0] | HuPadBtn[1] | HuPadBtn[2] | HuPadBtn[3]) & 0x100) != 0 || lbl_1_bss_4 != 0) { - lbl_1_bss_174 = 1; + if (((HuPadBtn[0] | HuPadBtn[1] | HuPadBtn[2] | HuPadBtn[3]) & PAD_BUTTON_A) != 0 || resultSkipF != 0) { + resultFastF = 1; } else { - lbl_1_bss_174 = 0; + resultFastF = 0; } - Hu3DModelRotSet(lbl_1_bss_1A9C[4], 0.0f, var_f31, 0.0f); - Hu3DModelRotSet(lbl_1_bss_1A9C[5], 0.0f, -var_f31, 0.0f); - Hu3DModelRotSet(lbl_1_bss_1A9C[6], 0.0f, var_f31, 0.0f); - Hu3DModelRotSet(lbl_1_bss_1A9C[7], 0.0f, -var_f31, 0.0f); - var_f31 += 0.2; - if (var_f31 >= 360.0f) { - var_f31 -= 360.0f; + Hu3DModelRotSet(stageMdlId[4], 0.0f, rotLeft, 0.0f); + Hu3DModelRotSet(stageMdlId[5], 0.0f, -rotLeft, 0.0f); + Hu3DModelRotSet(stageMdlId[6], 0.0f, rotLeft, 0.0f); + Hu3DModelRotSet(stageMdlId[7], 0.0f, -rotLeft, 0.0f); + rotLeft += 0.2; + if (rotLeft >= 360.0f) { + rotLeft -= 360.0f; } - if (lbl_1_bss_0 != 0) { - Hu3DModelRotSet(lbl_1_bss_1A9C[8], 0.0f, var_f30, 0.0f); - Hu3DModelRotSet(lbl_1_bss_1A9C[9], 0.0f, -var_f30, 0.0f); - Hu3DModelRotSet(lbl_1_bss_1A9C[10], 0.0f, var_f30, 0.0f); - Hu3DModelRotSet(lbl_1_bss_1A9C[11], 0.0f, -var_f30, 0.0f); - var_f29 += 0.001; - if (var_f29 > 0.1) { - var_f29 = 0.1f; + if (resultReorderF != 0) { + Hu3DModelRotSet(stageMdlId[8], 0.0f, rotRight, 0.0f); + Hu3DModelRotSet(stageMdlId[9], 0.0f, -rotRight, 0.0f); + Hu3DModelRotSet(stageMdlId[10], 0.0f, rotRight, 0.0f); + Hu3DModelRotSet(stageMdlId[11], 0.0f, -rotRight, 0.0f); + rotRightSpeed += 0.001; + if (rotRightSpeed > 0.1) { + rotRightSpeed = 0.1f; } - var_f30 += var_f29; - if (var_f30 >= 360.0f) { - var_f30 -= 360.0f; + rotRight += rotRightSpeed; + if (rotRight >= 360.0f) { + rotRight -= 360.0f; } } HuPrcVSleep(); } } -s32 lbl_1_data_3A8[] = { +static s32 resultBackFile[] = { DATA_MAKE_NUM(DATADIR_RESULT, 0x10), DATA_MAKE_NUM(DATADIR_RESULT, 0x11), DATA_MAKE_NUM(DATADIR_RESULT, 0x12), @@ -277,7 +277,7 @@ s32 lbl_1_data_3A8[] = { DATA_MAKE_NUM(DATADIR_RESULT, 0x15), }; -s32 lbl_1_data_3C0[] = { +static s32 resultLetterFile[] = { DATA_MAKE_NUM(DATADIR_RESULT, 0x1F), DATA_MAKE_NUM(DATADIR_RESULT, 0x1E), DATA_MAKE_NUM(DATADIR_RESULT, 0x1D), @@ -286,7 +286,7 @@ s32 lbl_1_data_3C0[] = { DATA_MAKE_NUM(DATADIR_RESULT, 0x1F), }; -s16 lbl_1_data_3D8[] = { +static s16 resultStatPosTbl[] = { 320, 132, 500, @@ -305,123 +305,123 @@ s16 lbl_1_data_3D8[] = { 387, }; -s16 lbl_1_data_3F8[] = { 74, 132, 74, 217, 74, 302, 74, 387 }; +static s16 resultRankPosTbl[] = { 74, 132, 74, 217, 74, 302, 74, 387 }; -Vec lbl_1_data_408[4] = { { 148, 132, 500 }, { 148, 217, 500 }, { 148, 302, 500 }, { 148, 387, 500 } }; +static Vec resultCharPosTbl[4] = { { 148, 132, 500 }, { 148, 217, 500 }, { 148, 302, 500 }, { 148, 387, 500 } }; -s16 lbl_1_data_438[] = { 164, 148, 164, 233, 164, 318, 164, 403 }; +static s16 resultCoinAddPosTbl[] = { 164, 148, 164, 233, 164, 318, 164, 403 }; -void fn_1_3B50(s16 group, s16 value); -void fn_1_3CAC(s16 group, s16 value); +static void ResultSprNumSet(s16 grpId, s16 value); +static void ResultCoinAddNumSet(s16 grpId, s16 value); -void fn_1_3E08(void); +static void ResultOrderSet(void); -void fn_1_B78(void) +static void ResultCreate(void) { Vec pos; - s16 sp8[5]; + s16 coinNum[5]; s16 i; s16 j; - s16 character; + s16 charNo; AnimData *anim; - s16 sprite; - s16 group; - s16 model; + s16 sprId; + s16 grpId; + s16 mdlId; AnimData *anim2; AnimData *anim3; AnimData *anim4; - fn_1_8FF8(lbl_1_data_0); - lbl_1_data_2A4[0].datanum = lbl_1_data_3A8[mgInfoTbl[lbl_1_bss_17C].type]; - lbl_1_data_2A4[1].datanum = lbl_1_data_3C0[mgInfoTbl[lbl_1_bss_17C].type]; - fn_1_927C(lbl_1_data_2A4); - espDrawNoSet(lbl_1_bss_1A1A[0], 127); + StageModelCreate(resultModel); + resultSprite[0].datanum = resultBackFile[mgInfoTbl[resultMgNo].type]; + resultSprite[1].datanum = resultLetterFile[mgInfoTbl[resultMgNo].type]; + StageSpriteCreate(resultSprite); + espDrawNoSet(stageSprId[0], 127); anim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x1B)); for (i = 0; i < 8; i++) { - lbl_1_bss_CE[i] = HuSprGrpCreate(3); - lbl_1_bss_9E[i][0] = HuSprCreate(anim, 0, 0); - HuSprGrpMemberSet(lbl_1_bss_CE[i], 0, lbl_1_bss_9E[i][0]); - HuSprPosSet(lbl_1_bss_CE[i], 0, -28.0f, 0.0f); - lbl_1_bss_9E[i][1] = HuSprCreate(anim, 0, 0); - HuSprGrpMemberSet(lbl_1_bss_CE[i], 1, lbl_1_bss_9E[i][1]); - HuSprPosSet(lbl_1_bss_CE[i], 1, 0.0f, 0.0f); - lbl_1_bss_9E[i][2] = HuSprCreate(anim, 0, 0); - HuSprGrpMemberSet(lbl_1_bss_CE[i], 2, lbl_1_bss_9E[i][2]); - HuSprPosSet(lbl_1_bss_CE[i], 2, 28.0f, 0.0f); - HuSprGrpPosSet(lbl_1_bss_CE[i], lbl_1_data_3D8[(i * 2)], lbl_1_data_3D8[(i * 2) + 1]); - fn_1_3B50(lbl_1_bss_CE[i], 999); + resultNumGrpId[i] = HuSprGrpCreate(3); + resultNumSprId[i][0] = HuSprCreate(anim, 0, 0); + HuSprGrpMemberSet(resultNumGrpId[i], 0, resultNumSprId[i][0]); + HuSprPosSet(resultNumGrpId[i], 0, -28.0f, 0.0f); + resultNumSprId[i][1] = HuSprCreate(anim, 0, 0); + HuSprGrpMemberSet(resultNumGrpId[i], 1, resultNumSprId[i][1]); + HuSprPosSet(resultNumGrpId[i], 1, 0.0f, 0.0f); + resultNumSprId[i][2] = HuSprCreate(anim, 0, 0); + HuSprGrpMemberSet(resultNumGrpId[i], 2, resultNumSprId[i][2]); + HuSprPosSet(resultNumGrpId[i], 2, 28.0f, 0.0f); + HuSprGrpPosSet(resultNumGrpId[i], resultStatPosTbl[(i * 2)], resultStatPosTbl[(i * 2) + 1]); + ResultSprNumSet(resultNumGrpId[i], 999); } - fn_1_3E08(); - fn_1_423C(sp8); + ResultOrderSet(); + ResultCoinNumGet(coinNum); anim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x3A)); anim3 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x3B)); anim2 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x3C)); anim4 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x3E)); for (i = 0; i < 4; i++) { - lbl_1_bss_3A[i] = HuSprGrpCreate(5); - if (sp8[lbl_1_bss_4A[i]] < 100) { - lbl_1_bss_12[i][0] = HuSprCreate(anim, 10, 0); - HuSprGrpMemberSet(lbl_1_bss_3A[i], 0, lbl_1_bss_12[i][0]); - HuSprPosSet(lbl_1_bss_3A[i], 0, 30.0f, -25.0f); + resultCoinAddGrpId[i] = HuSprGrpCreate(5); + if (coinNum[resultOrder[i]] < 100) { + resultCoinAddSprId[i][0] = HuSprCreate(anim, 10, 0); + HuSprGrpMemberSet(resultCoinAddGrpId[i], 0, resultCoinAddSprId[i][0]); + HuSprPosSet(resultCoinAddGrpId[i], 0, 30.0f, -25.0f); } else { - lbl_1_bss_12[i][0] = HuSprCreate(anim4, 10, 0); - HuSprGrpMemberSet(lbl_1_bss_3A[i], 0, lbl_1_bss_12[i][0]); - HuSprPosSet(lbl_1_bss_3A[i], 0, 40.0f, -21.0f); + resultCoinAddSprId[i][0] = HuSprCreate(anim4, 10, 0); + HuSprGrpMemberSet(resultCoinAddGrpId[i], 0, resultCoinAddSprId[i][0]); + HuSprPosSet(resultCoinAddGrpId[i], 0, 40.0f, -21.0f); } - lbl_1_bss_12[i][1] = HuSprCreate(anim3, 0, 0); - HuSprGrpMemberSet(lbl_1_bss_3A[i], 1, lbl_1_bss_12[i][1]); - HuSprPosSet(lbl_1_bss_3A[i], 1, 12.0f, -25.0f); - lbl_1_bss_12[i][2] = HuSprCreate(anim2, 0, 0); - HuSprGrpMemberSet(lbl_1_bss_3A[i], 2, lbl_1_bss_12[i][2]); - HuSprPosSet(lbl_1_bss_3A[i], 2, 28.0f, -25.0f); - lbl_1_bss_12[i][3] = HuSprCreate(anim2, 0, 0); - HuSprGrpMemberSet(lbl_1_bss_3A[i], 3, lbl_1_bss_12[i][3]); - HuSprPosSet(lbl_1_bss_3A[i], 3, 44.0f, -25.0f); - lbl_1_bss_12[i][4] = HuSprCreate(anim2, 0, 0); - HuSprGrpMemberSet(lbl_1_bss_3A[i], 4, lbl_1_bss_12[i][4]); - HuSprPosSet(lbl_1_bss_3A[i], 4, 60.0f, -25.0f); - HuSprGrpPosSet(lbl_1_bss_3A[i], lbl_1_data_438[(i * 2)], lbl_1_data_438[(i * 2) + 1]); - fn_1_3CAC(lbl_1_bss_3A[i], 9); - HuSprGrpScaleSet(lbl_1_bss_3A[i], 0.0f, 0.0f); + resultCoinAddSprId[i][1] = HuSprCreate(anim3, 0, 0); + HuSprGrpMemberSet(resultCoinAddGrpId[i], 1, resultCoinAddSprId[i][1]); + HuSprPosSet(resultCoinAddGrpId[i], 1, 12.0f, -25.0f); + resultCoinAddSprId[i][2] = HuSprCreate(anim2, 0, 0); + HuSprGrpMemberSet(resultCoinAddGrpId[i], 2, resultCoinAddSprId[i][2]); + HuSprPosSet(resultCoinAddGrpId[i], 2, 28.0f, -25.0f); + resultCoinAddSprId[i][3] = HuSprCreate(anim2, 0, 0); + HuSprGrpMemberSet(resultCoinAddGrpId[i], 3, resultCoinAddSprId[i][3]); + HuSprPosSet(resultCoinAddGrpId[i], 3, 44.0f, -25.0f); + resultCoinAddSprId[i][4] = HuSprCreate(anim2, 0, 0); + HuSprGrpMemberSet(resultCoinAddGrpId[i], 4, resultCoinAddSprId[i][4]); + HuSprPosSet(resultCoinAddGrpId[i], 4, 60.0f, -25.0f); + HuSprGrpPosSet(resultCoinAddGrpId[i], resultCoinAddPosTbl[(i * 2)], resultCoinAddPosTbl[(i * 2) + 1]); + ResultCoinAddNumSet(resultCoinAddGrpId[i], 9); + HuSprGrpScaleSet(resultCoinAddGrpId[i], 0.0f, 0.0f); } for (i = 0; i < 4; i++) { - character = GWPlayerCfg[i].character; - lbl_1_bss_E4[character][0] = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x22) + (character * 3)); - lbl_1_bss_E4[character][1] = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x23) + (character * 3)); - lbl_1_bss_E4[character][2] = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x24) + (character * 3)); + charNo = GWPlayerCfg[i].character; + resultCharAnim[charNo][0] = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x22) + (charNo * 3)); + resultCharAnim[charNo][1] = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x23) + (charNo * 3)); + resultCharAnim[charNo][2] = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x24) + (charNo * 3)); for (j = 0; j < 4; j++) { - lbl_1_bss_5C[character][j] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x00) + j); - Hu3DModelScaleSet(lbl_1_bss_5C[character][j], 1.1f, 1.1f, 1.1f); - Hu3DAnimCreate(lbl_1_bss_E4[character][0], lbl_1_bss_5C[character][j], "ys22"); - Hu3DModelAttrSet(lbl_1_bss_5C[character][j], HU3D_ATTR_DISPOFF); + resultCubeMdlId[charNo][j] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x00) + j); + Hu3DModelScaleSet(resultCubeMdlId[charNo][j], 1.1f, 1.1f, 1.1f); + Hu3DAnimCreate(resultCharAnim[charNo][0], resultCubeMdlId[charNo][j], "ys22"); + Hu3DModelAttrSet(resultCubeMdlId[charNo][j], HU3D_ATTR_DISPOFF); } } for (i = 0; i < 4; i++) { - lbl_1_bss_144[i] = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x16) + i); + resultRankAnim[i] = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x16) + i); } - lbl_1_bss_52 = HuSprGrpCreate(4); + resultRankGrpId = HuSprGrpCreate(4); for (i = 0; i < 4; i++) { - sprite = HuSprCreate(lbl_1_bss_144[lbl_1_bss_42[i]], i, 0); - HuSprGrpMemberSet(lbl_1_bss_52, i, sprite); - HuSprPosSet(lbl_1_bss_52, i, lbl_1_data_3F8[(i * 2)], lbl_1_data_3F8[(i * 2) + 1]); - fn_1_3B50(lbl_1_bss_CE[(i * 2)], GWStarsGet(lbl_1_bss_4A[i])); - fn_1_3B50(lbl_1_bss_CE[(i * 2) + 1], BoardPlayerCoinsGet(lbl_1_bss_4A[i])); - character = GWPlayerCfg[lbl_1_bss_4A[i]].character; - Hu3D2Dto3D(&lbl_1_data_408[i], 1, &pos); - Hu3DModelPosSetV(lbl_1_bss_5C[character][lbl_1_bss_42[i]], &pos); - Hu3DModelAttrReset(lbl_1_bss_5C[character][lbl_1_bss_42[i]], HU3D_ATTR_DISPOFF); + sprId = HuSprCreate(resultRankAnim[resultRank[i]], i, 0); + HuSprGrpMemberSet(resultRankGrpId, i, sprId); + HuSprPosSet(resultRankGrpId, i, resultRankPosTbl[(i * 2)], resultRankPosTbl[(i * 2) + 1]); + ResultSprNumSet(resultNumGrpId[(i * 2)], GWStarsGet(resultOrder[i])); + ResultSprNumSet(resultNumGrpId[(i * 2) + 1], BoardPlayerCoinsGet(resultOrder[i])); + charNo = GWPlayerCfg[resultOrder[i]].character; + Hu3D2Dto3D(&resultCharPosTbl[i], 1, &pos); + Hu3DModelPosSetV(resultCubeMdlId[charNo][resultRank[i]], &pos); + Hu3DModelAttrReset(resultCubeMdlId[charNo][resultRank[i]], HU3D_ATTR_DISPOFF); } for (i = 4; i <= 11; i++) { - Hu3D2Dto3D(&lbl_1_data_0[i].pos, 1, &pos); - Hu3DModelPosSetV(lbl_1_bss_1A9C[i], &pos); + Hu3D2Dto3D(&resultModel[i].pos, 1, &pos); + Hu3DModelPosSetV(stageMdlId[i], &pos); Hu3D3Dto2D(&pos, 1, &pos); } - model = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x04)); + mdlId = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x04)); for (i = 0; i < 4; i++) { - j = Hu3DModelLink(model); - lbl_1_bss_168[i] = j; - pos = lbl_1_data_408[i]; + j = Hu3DModelLink(mdlId); + charShadowMdlId[i] = j; + pos = resultCharPosTbl[i]; pos.x += 5.0f; pos.y += 3.0f; pos.z += 200.0f; @@ -429,12 +429,12 @@ void fn_1_B78(void) Hu3DModelPosSetV(j, &pos); Hu3DModelScaleSet(j, 1.5f, 1.5f, 1.5f); } - Hu3DModelAttrSet(model, HU3D_ATTR_DISPOFF); - model = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x07)); + Hu3DModelAttrSet(mdlId, HU3D_ATTR_DISPOFF); + mdlId = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x07)); for (i = 0; i < 8; i++) { - j = Hu3DModelLink(model); - lbl_1_bss_158[i] = j; - pos = lbl_1_data_0[i + 4].pos; + j = Hu3DModelLink(mdlId); + statShadowMdlId[i] = j; + pos = resultModel[i + 4].pos; pos.x += 5.0f; pos.y += 3.0f; pos.z += 200.0f; @@ -442,461 +442,460 @@ void fn_1_B78(void) Hu3DModelPosSetV(j, &pos); Hu3DModelScaleSet(j, 1.5f, 1.5f, 1.5f); } - Hu3DModelAttrSet(model, HU3D_ATTR_DISPOFF); - lbl_1_bss_E0 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x1C)); - lbl_1_bss_9C = HuSprGrpCreate(4); + Hu3DModelAttrSet(mdlId, HU3D_ATTR_DISPOFF); + resultCrownAnim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x1C)); + resultCrownGrpId = HuSprGrpCreate(4); for (i = 0; i < 4; i++) { - sprite = HuSprCreate(lbl_1_bss_E0, i, 0); - HuSprGrpMemberSet(lbl_1_bss_9C, i, sprite); - HuSprScaleSet(lbl_1_bss_9C, i, 0.0f, 0.0f); - HuSprPosSet(lbl_1_bss_9C, i, lbl_1_data_408[i].x - 4.0f, lbl_1_data_408[i].y - 35.0f); - HuSprAttrSet(lbl_1_bss_9C, i, 4); + sprId = HuSprCreate(resultCrownAnim, i, 0); + HuSprGrpMemberSet(resultCrownGrpId, i, sprId); + HuSprScaleSet(resultCrownGrpId, i, 0.0f, 0.0f); + HuSprPosSet(resultCrownGrpId, i, resultCharPosTbl[i].x - 4.0f, resultCharPosTbl[i].y - 35.0f); + HuSprAttrSet(resultCrownGrpId, i, 4); } - group = HuSprGrpCreate(4); - lbl_1_bss_170 = group; + grpId = HuSprGrpCreate(4); + teamResultGrpId = grpId; anim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x3F)); - sprite = HuSprCreate(anim, 100, 0); - HuSprGrpMemberSet(group, 0, sprite); - HuSprAttrSet(group, 0, 4); - HuSprDrawNoSet(group, 0, 127); + sprId = HuSprCreate(anim, 100, 0); + HuSprGrpMemberSet(grpId, 0, sprId); + HuSprAttrSet(grpId, 0, 4); + HuSprDrawNoSet(grpId, 0, 127); anim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x40)); - sprite = HuSprCreate(anim, 90, 0); - HuSprGrpMemberSet(group, 1, sprite); - HuSprAttrSet(group, 1, 4); + sprId = HuSprCreate(anim, 90, 0); + HuSprGrpMemberSet(grpId, 1, sprId); + HuSprAttrSet(grpId, 1, 4); anim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x41)); - sprite = HuSprCreate(anim, 80, 0); - HuSprGrpMemberSet(group, 2, sprite); - HuSprAttrSet(group, 2, 4); - HuSprDrawNoSet(group, 2, 127); + sprId = HuSprCreate(anim, 80, 0); + HuSprGrpMemberSet(grpId, 2, sprId); + HuSprAttrSet(grpId, 2, 4); + HuSprDrawNoSet(grpId, 2, 127); anim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x42)); - sprite = HuSprCreate(anim, 80, 0); - HuSprGrpMemberSet(group, 3, sprite); - HuSprAttrSet(group, 3, 4); - HuSprDrawNoSet(group, 3, 127); - (void)sprite; + sprId = HuSprCreate(anim, 80, 0); + HuSprGrpMemberSet(grpId, 3, sprId); + HuSprAttrSet(grpId, 3, 4); + HuSprDrawNoSet(grpId, 3, 127); + (void)sprId; } -void fn_1_1F4C(void) +static void ResultStatAdd(void) { - float temp_f31; - float temp_f30; + float scale; + float addTime; s16 i; - s16 temp_r30; - s16 temp_r29; - s16 temp_r28; - s32 status; - s32 temp_r26; - s32 sp24[4]; - float sp14[4]; - s16 sp8[5]; + s16 time; + s16 maxTime; + s16 crownTime; + s32 seNo; + s32 sePlayF; + s32 doneF[4]; + float coinRot[4]; + s16 coinNum[5]; - fn_1_423C(sp8); + ResultCoinNumGet(coinNum); for (i = 0; i < 4; i++) { - fn_1_3CAC(lbl_1_bss_3A[i], sp8[lbl_1_bss_4A[i]]); - sp24[i] = 0; + ResultCoinAddNumSet(resultCoinAddGrpId[i], coinNum[resultOrder[i]]); + doneF[i] = 0; } - temp_r29 = (lbl_1_bss_174) ? 3 : 10; - for (temp_r30 = 0; temp_r30 <= temp_r29; temp_r30++) { - temp_f31 = sind((90.0 / temp_r29) * temp_r30); + maxTime = (resultFastF) ? 3 : 10; + for (time = 0; time <= maxTime; time++) { + scale = sind((90.0 / maxTime) * time); for (i = 0; i < 4; i++) { - HuSprGrpScaleSet(lbl_1_bss_3A[i], temp_f31, temp_f31); + HuSprGrpScaleSet(resultCoinAddGrpId[i], scale, scale); } HuPrcVSleep(); } for (i = 0; i < 4; i++) { - HuSprGrpScaleSet(lbl_1_bss_3A[i], 1.0f, 1.0f); + HuSprGrpScaleSet(resultCoinAddGrpId[i], 1.0f, 1.0f); } - for (temp_r28 = 0; temp_r28 <= 14;) { + for (crownTime = 0; crownTime <= 14;) { for (i = 0; i < 4; i++) { - if (GWPlayerCoinWinGet(lbl_1_bss_4A[i]) >= 10) { - HuSprAttrReset(lbl_1_bss_9C, i, 4); + if (GWPlayerCoinWinGet(resultOrder[i]) >= 10) { + HuSprAttrReset(resultCrownGrpId, i, 4); } - HuSprScaleSet(lbl_1_bss_9C, i, sind((120.0f / 14.0f) * temp_r28) * (0.8 * (1.0 / sin((M_PI * 2) / 3))), - 0.8 * (sind((120.0f / 14.0f) * temp_r28) * (1.0 / sin((M_PI * 2) / 3)))); + HuSprScaleSet(resultCrownGrpId, i, sind((120.0f / 14.0f) * crownTime) * (0.8 * (1.0 / sin((M_PI * 2) / 3))), + 0.8 * (sind((120.0f / 14.0f) * crownTime) * (1.0 / sin((M_PI * 2) / 3)))); } - temp_r28 += (lbl_1_bss_174) ? 2 : 1; + crownTime += (resultFastF) ? 2 : 1; HuPrcVSleep(); } - if (!lbl_1_bss_174) { + if (!resultFastF) { HuPrcSleep(15); } for (i = 0; i < 4; i++) { - sp14[i] = 0.0f; + coinRot[i] = 0.0f; } - for (i = temp_r30 = 0; i < 4; i++) { - temp_r30 += sp8[i]; + for (i = time = 0; i < 4; i++) { + time += coinNum[i]; } - status = -1; - if (temp_r30) { - status = HuAudFXPlay(23); + seNo = -1; + if (time) { + seNo = HuAudFXPlay(23); } - temp_r30 = 0; - temp_f30 = temp_r30; - temp_r30 = 0; + time = 0; + addTime = time; + time = 0; while (1) { - temp_r26 = 0; - temp_f30 += (lbl_1_bss_174) ? 1.0f : 0.2f; - temp_r30 = temp_f30; - for (i = temp_r29 = 0; i < 4; i++) { - if (sp8[lbl_1_bss_4A[i]] - temp_r30 <= 0) { - if (!sp24[lbl_1_bss_4A[i]] && sp8[lbl_1_bss_4A[i]] != 0) { - sp24[lbl_1_bss_4A[i]] = 1; - if (!temp_r26) { + sePlayF = FALSE; + addTime += (resultFastF) ? 1.0f : 0.2f; + time = addTime; + for (i = maxTime = 0; i < 4; i++) { + if (coinNum[resultOrder[i]] - time <= 0) { + if (!doneF[resultOrder[i]] && coinNum[resultOrder[i]] != 0) { + doneF[resultOrder[i]] = 1; + if (!sePlayF) { HuAudFXPlay(9); - temp_r26 = 1; + sePlayF = TRUE; } } - temp_r29++; - fn_1_3CAC(lbl_1_bss_3A[i], 0); - fn_1_3B50(lbl_1_bss_CE[(i * 2) + 1], sp8[lbl_1_bss_4A[i]] + BoardPlayerCoinsGet(lbl_1_bss_4A[i])); - if (!sp14[i]) { + maxTime++; + ResultCoinAddNumSet(resultCoinAddGrpId[i], 0); + ResultSprNumSet(resultNumGrpId[(i * 2) + 1], coinNum[resultOrder[i]] + BoardPlayerCoinsGet(resultOrder[i])); + if (!coinRot[i]) { continue; } - sp14[i] += 20.0f; - if (sp14[i] >= 360.0f) { - sp14[i] -= 360.0f; + coinRot[i] += 20.0f; + if (coinRot[i] >= 360.0f) { + coinRot[i] -= 360.0f; } - Hu3DModelRotSet(lbl_1_bss_1A9C[i + 8], 0.0f, sp14[i], 0.0f); + Hu3DModelRotSet(stageMdlId[i + 8], 0.0f, coinRot[i], 0.0f); } else { - fn_1_3CAC(lbl_1_bss_3A[i], sp8[lbl_1_bss_4A[i]] - temp_r30); - fn_1_3B50(lbl_1_bss_CE[(i * 2) + 1], (s32)temp_r30 + BoardPlayerCoinsGet(lbl_1_bss_4A[i])); - sp14[i] += 20.0f; - if (sp14[i] >= 360.0f) { - sp14[i] -= 360.0f; + ResultCoinAddNumSet(resultCoinAddGrpId[i], coinNum[resultOrder[i]] - time); + ResultSprNumSet(resultNumGrpId[(i * 2) + 1], (s32)time + BoardPlayerCoinsGet(resultOrder[i])); + coinRot[i] += 20.0f; + if (coinRot[i] >= 360.0f) { + coinRot[i] -= 360.0f; } - Hu3DModelRotSet(lbl_1_bss_1A9C[i + 8], 0.0f, sp14[i], 0.0f); + Hu3DModelRotSet(stageMdlId[i + 8], 0.0f, coinRot[i], 0.0f); } } - if (temp_r29 == 4) { + if (maxTime == 4) { break; } HuPrcVSleep(); } - if (status != -1) { - HuAudFXStop(status); + if (seNo != -1) { + HuAudFXStop(seNo); } - temp_r29 = 0; + maxTime = 0; while (1) { - for (i = temp_r30 = 0; i < 4; i++) { - if (sp14[i]) { - sp14[i] += 20.0f; - if (sp14[i] >= 360.0f) { - sp14[i] -= 360.0f; + for (i = time = 0; i < 4; i++) { + if (coinRot[i]) { + coinRot[i] += 20.0f; + if (coinRot[i] >= 360.0f) { + coinRot[i] -= 360.0f; } - Hu3DModelRotSet(lbl_1_bss_1A9C[i + 8], 0.0f, sp14[i], 0.0f); + Hu3DModelRotSet(stageMdlId[i + 8], 0.0f, coinRot[i], 0.0f); } else { - temp_r30++; + time++; } } - if (temp_r30 >= 4) { + if (time >= 4) { break; } HuPrcVSleep(); - temp_r29++; + maxTime++; } - if (temp_r29 < 30) { - HuPrcSleep(30 - temp_r29); + if (maxTime < 30) { + HuPrcSleep(30 - maxTime); } - temp_r29 = (lbl_1_bss_174) ? 3 : 10; - for (temp_r30 = 0; temp_r30 <= temp_r29; temp_r30++) { - temp_f31 = cosd((90.0 / temp_r29) * temp_r30); + maxTime = (resultFastF) ? 3 : 10; + for (time = 0; time <= maxTime; time++) { + scale = cosd((90.0 / maxTime) * time); for (i = 0; i < 4; i++) { - HuSprGrpScaleSet(lbl_1_bss_3A[i], temp_f31, temp_f31); + HuSprGrpScaleSet(resultCoinAddGrpId[i], scale, scale); } HuPrcVSleep(); } for (i = 0; i < 4; i++) { - HuSprGrpScaleSet(lbl_1_bss_3A[i], 0.0f, 0.0f); + HuSprGrpScaleSet(resultCoinAddGrpId[i], 0.0f, 0.0f); } } - -void fn_1_2ADC(void) +static void ResultOrderApply(void) { - float temp_f31; + float weight; s16 i; - s16 temp_r30; - s16 temp_r29; - s16 temp_r28; - s16 temp_r27; - s16 temp_r26; - s16 temp_r25; - s16 temp_r24; - float sp54[4]; - Vec sp48; - s32 sp38[4] = { -1, -1, -1, -1 }; - s16 sp30[4]; - s16 sp28[4]; - s16 sp20[4]; - s16 sp18[4]; - s16 sp10[4]; - s16 sp8[4]; + s16 charNo; + s16 num; + s16 scaleTime; + s16 rankTime; + s16 doneNum; + s16 sePlayF; + s16 sprId; + float cubeRot[4]; + Vec cubePos; + s32 voiceSeNo[4] = { -1, -1, -1, -1 }; + s16 order[4]; + s16 statOrder[4]; + s16 statRank[4]; + s16 rank[4]; + s16 coin[4]; + s16 star[4]; for (i = 0; i < 4; i++) { - sp30[i] = sp28[i] = lbl_1_bss_4A[i]; - sp18[i] = sp20[i] = lbl_1_bss_42[i]; - sp10[i] = BoardPlayerCoinsGet(lbl_1_bss_4A[i]); - sp8[i] = GWStarsGet(lbl_1_bss_4A[i]); + order[i] = statOrder[i] = resultOrder[i]; + rank[i] = statRank[i] = resultRank[i]; + coin[i] = BoardPlayerCoinsGet(resultOrder[i]); + star[i] = GWStarsGet(resultOrder[i]); } - fn_1_3E08(); + ResultOrderSet(); for (i = 0; i < 4; i++) { - if (sp30[i] != lbl_1_bss_4A[i] || sp18[i] != lbl_1_bss_42[i]) { + if (order[i] != resultOrder[i] || rank[i] != resultRank[i]) { break; } } if (i == 4) { - lbl_1_bss_0 = 1; + resultReorderF = 1; return; } - lbl_1_data_380 = HuSprGrpCreate(4); + rankNewGrpId = HuSprGrpCreate(4); for (i = 0; i < 4; i++) { - temp_r24 = HuSprCreate(lbl_1_bss_144[lbl_1_bss_42[i]], i, 0); - HuSprGrpMemberSet(lbl_1_data_380, i, temp_r24); - HuSprPosSet(lbl_1_data_380, i, lbl_1_data_3F8[(i * 2)], lbl_1_data_3F8[(i * 2) + 1]); - HuSprAttrSet(lbl_1_data_380, i, 4); - temp_r30 = GWPlayerCfg[lbl_1_bss_4A[i]].character; - lbl_1_bss_54[i] = lbl_1_bss_A[i] = Hu3DModelLink(lbl_1_bss_5C[temp_r30][lbl_1_bss_42[i]]); - Hu3D2Dto3D(&lbl_1_data_408[i], 1, &sp48); - Hu3DModelPosSetV(lbl_1_bss_A[i], &sp48); - if (sp30[i] == lbl_1_bss_4A[i] && sp18[i] == lbl_1_bss_42[i]) { - Hu3DModelAttrSet(lbl_1_bss_5C[temp_r30][sp18[i]], HU3D_ATTR_DISPOFF); - Hu3DModelAttrReset(lbl_1_bss_A[i], HU3D_ATTR_DISPOFF); - Hu3DModelScaleSet(lbl_1_bss_A[i], 1.1f, 1.1f, 1.1f); + sprId = HuSprCreate(resultRankAnim[resultRank[i]], i, 0); + HuSprGrpMemberSet(rankNewGrpId, i, sprId); + HuSprPosSet(rankNewGrpId, i, resultRankPosTbl[(i * 2)], resultRankPosTbl[(i * 2) + 1]); + HuSprAttrSet(rankNewGrpId, i, 4); + charNo = GWPlayerCfg[resultOrder[i]].character; + resultPlayerCubeMdlId[i] = resultCharCubeMdlId[i] = Hu3DModelLink(resultCubeMdlId[charNo][resultRank[i]]); + Hu3D2Dto3D(&resultCharPosTbl[i], 1, &cubePos); + Hu3DModelPosSetV(resultCharCubeMdlId[i], &cubePos); + if (order[i] == resultOrder[i] && rank[i] == resultRank[i]) { + Hu3DModelAttrSet(resultCubeMdlId[charNo][rank[i]], HU3D_ATTR_DISPOFF); + Hu3DModelAttrReset(resultCharCubeMdlId[i], HU3D_ATTR_DISPOFF); + Hu3DModelScaleSet(resultCharCubeMdlId[i], 1.1f, 1.1f, 1.1f); } else { - Hu3DModelAttrSet(lbl_1_bss_A[i], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(resultCharCubeMdlId[i], HU3D_ATTR_DISPOFF); } } for (i = 0; i < 4; i++) { - sp54[i] = 0; + cubeRot[i] = 0; } - temp_r25 = 0; - temp_r28 = 0; + sePlayF = 0; + scaleTime = 0; while (1) { - for (temp_r26 = i = 0; i < 4; i++) { - if (sp30[i] == lbl_1_bss_4A[i] && sp18[i] == lbl_1_bss_42[i]) { - temp_r26++; - fn_1_3B50(lbl_1_bss_CE[(i * 2)], GWStarsGet(lbl_1_bss_4A[i])); - fn_1_3B50(lbl_1_bss_CE[(i * 2) + 1], BoardPlayerCoinsGet(lbl_1_bss_4A[i])); + for (doneNum = i = 0; i < 4; i++) { + if (order[i] == resultOrder[i] && rank[i] == resultRank[i]) { + doneNum++; + ResultSprNumSet(resultNumGrpId[(i * 2)], GWStarsGet(resultOrder[i])); + ResultSprNumSet(resultNumGrpId[(i * 2) + 1], BoardPlayerCoinsGet(resultOrder[i])); } else { - if (temp_r28 > (i * 20)) { - temp_r27 = temp_r28 - (i * 20); - if (temp_r27 <= 20) { - if (temp_r27 <= 10) { - HuSprScaleSet(lbl_1_bss_52, i, 1.0f, cosd(9.0f * temp_r27)); + if (scaleTime > (i * 20)) { + rankTime = scaleTime - (i * 20); + if (rankTime <= 20) { + if (rankTime <= 10) { + HuSprScaleSet(resultRankGrpId, i, 1.0f, cosd(9.0f * rankTime)); } else { - HuSprAttrSet(lbl_1_bss_52, i, 4); - HuSprAttrReset(lbl_1_data_380, i, 4); - HuSprScaleSet(lbl_1_data_380, i, 1.0f, sind(9.0f * (temp_r27 - 10))); + HuSprAttrSet(resultRankGrpId, i, 4); + HuSprAttrReset(rankNewGrpId, i, 4); + HuSprScaleSet(rankNewGrpId, i, 1.0f, sind(9.0f * (rankTime - 10))); } - temp_f31 = temp_r27 / 20.0f; - temp_r29 = GWStarsGet(sp28[i]) + (temp_f31 * (GWStarsGet(lbl_1_bss_4A[i]) - GWStarsGet(sp28[i]))); - fn_1_3B50(lbl_1_bss_CE[(i * 2)], temp_r29); - temp_r29 = BoardPlayerCoinsGet(sp28[i]) + (temp_f31 * (BoardPlayerCoinsGet(lbl_1_bss_4A[i]) - BoardPlayerCoinsGet(sp28[i]))); - fn_1_3B50(lbl_1_bss_CE[(i * 2) + 1], temp_r29); + weight = rankTime / 20.0f; + num = GWStarsGet(statOrder[i]) + (weight * (GWStarsGet(resultOrder[i]) - GWStarsGet(statOrder[i]))); + ResultSprNumSet(resultNumGrpId[(i * 2)], num); + num = BoardPlayerCoinsGet(statOrder[i]) + (weight * (BoardPlayerCoinsGet(resultOrder[i]) - BoardPlayerCoinsGet(statOrder[i]))); + ResultSprNumSet(resultNumGrpId[(i * 2) + 1], num); } else { - temp_r30 = GWPlayerCfg[sp28[i]].character; - Hu3DModelAttrSet(lbl_1_bss_5C[temp_r30][sp18[i]], HU3D_ATTR_DISPOFF); - temp_r30 = GWPlayerCfg[lbl_1_bss_4A[i]].character; - Hu3DModelAttrReset(lbl_1_bss_A[i], HU3D_ATTR_DISPOFF); - Hu3DModelScaleSet(lbl_1_bss_A[i], 1.1f, 1.1f, 1.1f); - fn_1_3B50(lbl_1_bss_CE[(i * 2)], GWStarsGet(lbl_1_bss_4A[i])); - fn_1_3B50(lbl_1_bss_CE[(i * 2) + 1], BoardPlayerCoinsGet(lbl_1_bss_4A[i])); - for (temp_r29 = 0; temp_r29 < 4; temp_r29++) { - if (sp28[temp_r29] == lbl_1_bss_4A[i]) { + charNo = GWPlayerCfg[statOrder[i]].character; + Hu3DModelAttrSet(resultCubeMdlId[charNo][rank[i]], HU3D_ATTR_DISPOFF); + charNo = GWPlayerCfg[resultOrder[i]].character; + Hu3DModelAttrReset(resultCharCubeMdlId[i], HU3D_ATTR_DISPOFF); + Hu3DModelScaleSet(resultCharCubeMdlId[i], 1.1f, 1.1f, 1.1f); + ResultSprNumSet(resultNumGrpId[(i * 2)], GWStarsGet(resultOrder[i])); + ResultSprNumSet(resultNumGrpId[(i * 2) + 1], BoardPlayerCoinsGet(resultOrder[i])); + for (num = 0; num < 4; num++) { + if (statOrder[num] == resultOrder[i]) { break; } } - if (lbl_1_bss_42[i] != sp20[temp_r29]) { - if (lbl_1_bss_42[i] < sp20[temp_r29]) { - Hu3DAnimCreate(lbl_1_bss_E4[temp_r30][1], lbl_1_bss_5C[temp_r30][lbl_1_bss_42[i]], "ys22"); + if (resultRank[i] != statRank[num]) { + if (resultRank[i] < statRank[num]) { + Hu3DAnimCreate(resultCharAnim[charNo][1], resultCubeMdlId[charNo][resultRank[i]], "ys22"); } else { - Hu3DAnimCreate(lbl_1_bss_E4[temp_r30][2], lbl_1_bss_5C[temp_r30][lbl_1_bss_42[i]], "ys22"); + Hu3DAnimCreate(resultCharAnim[charNo][2], resultCubeMdlId[charNo][resultRank[i]], "ys22"); } - if (lbl_1_bss_42[i] == 0) { - sp38[lbl_1_bss_4A[i]] = HuAudPlayerVoicePlay(lbl_1_bss_4A[i], 293); + if (resultRank[i] == 0) { + voiceSeNo[resultOrder[i]] = HuAudPlayerVoicePlay(resultOrder[i], 293); } - if (!temp_r25) { - temp_r25 = 1; + if (!sePlayF) { + sePlayF = 1; HuAudFXPlay(27); } } - sp30[i] = lbl_1_bss_4A[i]; - sp18[i] = lbl_1_bss_42[i]; + order[i] = resultOrder[i]; + rank[i] = resultRank[i]; } } - sp54[i] += 20.0f; - if (sp54[i] >= 360.0f) { - sp54[i] -= 360.0f; + cubeRot[i] += 20.0f; + if (cubeRot[i] >= 360.0f) { + cubeRot[i] -= 360.0f; } - temp_r30 = GWPlayerCfg[sp28[i]].character; - Hu3DModelRotSet(lbl_1_bss_5C[temp_r30][sp18[i]], sp54[i] / (4 - i), sp54[i], 0.0f); + charNo = GWPlayerCfg[statOrder[i]].character; + Hu3DModelRotSet(resultCubeMdlId[charNo][rank[i]], cubeRot[i] / (4 - i), cubeRot[i], 0.0f); } } - if (temp_r28 <= 10) { + if (scaleTime <= 10) { for (i = 0; i < 4; i++) { - HuSprScaleSet(lbl_1_bss_9C, i, cosd(9.0f * temp_r28), cosd(9.0f * temp_r28)); + HuSprScaleSet(resultCrownGrpId, i, cosd(9.0f * scaleTime), cosd(9.0f * scaleTime)); } } else { for (i = 0; i < 4; i++) { - HuSprScaleSet(lbl_1_bss_9C, i, 0.0f, 0.0f); + HuSprScaleSet(resultCrownGrpId, i, 0.0f, 0.0f); } } - if (temp_r26 >= 4) { + if (doneNum >= 4) { break; } - if (lbl_1_bss_174) { - temp_r28 += 2; + if (resultFastF) { + scaleTime += 2; } HuPrcVSleep(); - temp_r28++; + scaleTime++; } for (i = 0; i < 4; i++) { - HuSprScaleSet(lbl_1_bss_9C, i, 0.0f, 0.0f); + HuSprScaleSet(resultCrownGrpId, i, 0.0f, 0.0f); } - lbl_1_bss_0 = 1; + resultReorderF = 1; } -void fn_1_3B50(s16 group, s16 value) +static void ResultSprNumSet(s16 grpId, s16 value) { - s16 digit; - s16 digit_value; + s16 no; + s16 bank; if (value > 999) { value = 999; } - digit = 0; - digit_value = value / 100; - if (digit_value != 0) { - HuSprBankSet(group, digit, digit_value); - HuSprAttrReset(group, digit, 4); - digit++; + no = 0; + 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 == 1) { - HuSprBankSet(group, digit, digit_value); - HuSprAttrReset(group, digit, 4); - digit++; + value -= bank * 100; + bank = value / 10; + if (bank != 0 || no == 1) { + 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 < 3; digit_value++) { - HuSprAttrSet(group, digit_value, 4); + value -= bank * 10; + HuSprBankSet(grpId, no, value); + HuSprAttrReset(grpId, no, 4); + no++; + for (bank = no; bank < 3; bank++) { + HuSprAttrSet(grpId, bank, 4); } } -void fn_1_3CAC(s16 group, s16 value) +static void ResultCoinAddNumSet(s16 grpId, s16 value) { - s16 digit; - s16 digit_value; + s16 no; + s16 bank; if (value > 999) { value = 999; } - digit = 2; - digit_value = value / 100; - if (digit_value != 0) { - HuSprBankSet(group, digit, digit_value); - HuSprAttrReset(group, digit, 4); - digit++; + 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_3E08(void) +static void ResultOrderSet(void) { s16 i; s16 j; for (i = 0; i < 4; i++) { - lbl_1_bss_42[i] = BoardPlayerRankCalc(i); - lbl_1_bss_4A[i] = i; + resultRank[i] = BoardPlayerRankCalc(i); + resultOrder[i] = i; } for (j = 1; j < 4; j++) { for (i = 0; i < 4 - j; i++) { - if (lbl_1_bss_42[i] > lbl_1_bss_42[i + 1]) { - s16 temp = lbl_1_bss_42[i]; - lbl_1_bss_42[i] = lbl_1_bss_42[i + 1]; - lbl_1_bss_42[i + 1] = temp; - temp = lbl_1_bss_4A[i]; - lbl_1_bss_4A[i] = lbl_1_bss_4A[i + 1]; - lbl_1_bss_4A[i + 1] = temp; + if (resultRank[i] > resultRank[i + 1]) { + s16 temp = resultRank[i]; + resultRank[i] = resultRank[i + 1]; + resultRank[i + 1] = temp; + temp = resultOrder[i]; + resultOrder[i] = resultOrder[i + 1]; + resultOrder[i + 1] = temp; } } } } -s32 lbl_1_data_450[] = { DATADIR_W01, DATADIR_W02, DATADIR_W03, DATADIR_W04, DATADIR_W05, DATADIR_W06 }; +static s32 resultBoardDirTbl[] = { DATADIR_W01, DATADIR_W02, DATADIR_W03, DATADIR_W04, DATADIR_W05, DATADIR_W06 }; -void fn_1_3FD8(void) +void ResultBoardDataRead(void) { - s32 status; - u32 ardma; + s32 statId; + u32 aMemP; if (!_CheckFlag(0x10000)) { - lbl_1_bss_178 = 1; + resultReadEndF = 1; HuPrcEnd(); while (1) { HuPrcVSleep(); } } - status = HuDataDirReadAsync(DATADIR_BOARD); - if (status != -1) { - while (!HuDataGetAsyncStat(status)) { + statId = HuDataDirReadAsync(DATADIR_BOARD); + if (statId != -1) { + while (!HuDataGetAsyncStat(statId)) { HuPrcVSleep(); } } - ardma = HuAR_MRAMtoARAM(DATADIR_BOARD); - if (ardma) { + aMemP = HuAR_MRAMtoARAM(DATADIR_BOARD); + if (aMemP) { while (HuARDMACheck()) { HuPrcVSleep(); } } HuDataDirClose(DATADIR_BOARD); - status = HuDataDirReadAsync(lbl_1_data_450[GWSystem.board]); - if (status != -1) { - while (!HuDataGetAsyncStat(status)) { + statId = HuDataDirReadAsync(resultBoardDirTbl[GWSystem.board]); + if (statId != -1) { + while (!HuDataGetAsyncStat(statId)) { HuPrcVSleep(); } } - lbl_1_bss_178 = 1; + resultReadEndF = 1; HuPrcEnd(); while (1) { HuPrcVSleep(); } } -void fn_1_40DC(void) +void ResultCoinAdd(void) { s16 i; - s16 sp8[5]; - fn_1_423C(sp8); - sp8[lbl_1_bss_172] += sp8[4]; + s16 coinNum[5]; + ResultCoinNumGet(coinNum); + coinNum[resultBonusPlayer] += coinNum[4]; for (i = 0; i < 4; i++) { - GWCoinsAdd(i, sp8[i]); + GWCoinsAdd(i, coinNum[i]); GWPlayerCoinWinSet(i, 0); GWPlayerCoinCollectSet(i, 0); if (mgInfoTbl[GWSystem.mg_next].type != 4) { - GWPlayer[i].coins_mg += sp8[i]; + GWPlayer[i].coins_mg += coinNum[i]; if (GWPlayer[i].coins_mg > 9999) { GWPlayer[i].coins_mg = 9999; } @@ -904,99 +903,99 @@ void fn_1_40DC(void) } } -void fn_1_423C(s16 *data) +void ResultCoinNumGet(s16 *coinNum) { s16 i; s32 coin; - u32 mul_coin; + u32 coinMul; u32 coin_battle; - s16 temp_r26; - s16 mgtype; - float sp10[4]; - s16 sp8[4]; - mgtype = mgInfoTbl[GWSystem.mg_next].type; - switch (mgtype) { + s16 unkRankF; + s16 mgType; + float scale[4]; + s16 rank[4]; + mgType = mgInfoTbl[GWSystem.mg_next].type; + switch (mgType) { case 4: - temp_r26 = 0; + unkRankF = 0; for (i = coin_battle = 0; i < 4; i++) { coin_battle += GWPlayerCoinBattleGet(i); } - sp8[0] = sp8[1] = sp8[2] = sp8[3] = 0; + rank[0] = rank[1] = rank[2] = rank[3] = 0; for (i = 0; i < 4; i++) { - sp8[GWPlayerCoinWinGet(i)]++; + rank[GWPlayerCoinWinGet(i)]++; } - sp10[0] = sp10[1] = sp10[2] = sp10[3] = 0; - if (sp8[0] == 1 && sp8[1] == 1 && sp8[2] == 1) { - sp10[0] = 0.7f; - sp10[1] = 0.3f; + scale[0] = scale[1] = scale[2] = scale[3] = 0; + if (rank[0] == 1 && rank[1] == 1 && rank[2] == 1) { + scale[0] = 0.7f; + scale[1] = 0.3f; } - else if (sp8[0] == 2) { - sp10[0] = 0.5f; + else if (rank[0] == 2) { + scale[0] = 0.5f; } - else if (sp8[0] == 3) { - sp10[0] = 0.3333333f; + else if (rank[0] == 3) { + scale[0] = 0.3333333f; } - else if (sp8[0] == 1 && sp8[1] == 2) { - sp10[0] = 0.6f; - sp10[1] = 0.2f; + else if (rank[0] == 1 && rank[1] == 2) { + scale[0] = 0.6f; + scale[1] = 0.2f; } - else if (sp8[0] == 1 && sp8[1] == 3) { - sp10[0] = 0.7f; - sp10[1] = 0.1f; + else if (rank[0] == 1 && rank[1] == 3) { + scale[0] = 0.7f; + scale[1] = 0.1f; } - else if (sp8[0] == 1 && sp8[1] == 1 && sp8[2] == 2) { - sp10[0] = 0.7f; - sp10[1] = 0.3f; + else if (rank[0] == 1 && rank[1] == 1 && rank[2] == 2) { + scale[0] = 0.7f; + scale[1] = 0.3f; } - else if (sp8[0] == 4) { - sp10[0] = 0.25f; + else if (rank[0] == 4) { + scale[0] = 0.25f; } else { - temp_r26 = 1; + unkRankF = 1; } for (i = coin = 0; i < 4; i++) { - if (!temp_r26) { - mul_coin = coin_battle * sp10[GWPlayerCoinWinGet(i)]; + if (!unkRankF) { + coinMul = coin_battle * scale[GWPlayerCoinWinGet(i)]; } else { - mul_coin = GWPlayerCoinBattleGet(i); + coinMul = GWPlayerCoinBattleGet(i); } - data[i] = mul_coin; - coin += mul_coin; + coinNum[i] = coinMul; + coin += coinMul; } if (coin < coin_battle) { - data[4] = coin_battle - coin; + coinNum[4] = coin_battle - coin; } else { - data[4] = 0; + coinNum[4] = 0; } break; default: for (i = 0; i < 4; i++) { coin = GWPlayerCoinWinGet(i) + GWPlayerCoinCollectGet(i); - mul_coin = GWLuckyValueGet(); - if (mul_coin == 0) { - mul_coin = 1; + coinMul = GWLuckyValueGet(); + if (coinMul == 0) { + coinMul = 1; } - coin *= mul_coin; - data[i] = coin; + coin *= coinMul; + coinNum[i] = coin; } break; } } -void fn_1_461C(void) +static void SaveExec(void) { - s16 sprite; + s16 sprId; Hu3DAllKill(); HuSprClose(); HuSprInit(); espInit(); HuPrcVSleep(); - sprite = espEntry(0x860020, 5000, 0); - espPosSet(sprite, 288.0, 240.0); - espAttrReset(sprite, HUSPR_ATTR_DISPOFF); + sprId = espEntry(0x860020, 5000, 0); + espPosSet(sprId, 288.0, 240.0); + espAttrReset(sprId, HUSPR_ATTR_DISPOFF); Hu3DBGColorSet(0, 0, 0); WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 20); while (WipeStatGet()) { @@ -1026,222 +1025,222 @@ void fn_1_461C(void) } } -s32 lbl_1_data_468[] = { DATADIR_MARIOMDL1, DATADIR_LUIGIMDL1, DATADIR_PEACHMDL1, DATADIR_YOSHIMDL1, DATADIR_WARIOMDL1, DATADIR_DONKEYMDL1, +static s32 resultCharMdlTbl[] = { DATADIR_MARIOMDL1, DATADIR_LUIGIMDL1, DATADIR_PEACHMDL1, DATADIR_YOSHIMDL1, DATADIR_WARIOMDL1, DATADIR_DONKEYMDL1, DATADIR_DAISYMDL1, DATADIR_WALUIGIMDL1 }; -Vec lbl_1_data_488[] = { +static Vec resultTeamCharPosTbl[] = { { 160, 185, 500 }, { 240, 185, 500 }, { 160, 355, 500 }, { 240, 355, 500 }, }; -void fn_1_47FC(void) +static void ResultTeamExec(void) { - s16 temp_r31; - s16 temp_r24; - s16 temp_r21; - s16 temp_r20; - s16 temp_r19; - s16 temp_r18; - s16 temp_r17; - Vec sp40; - Vec sp34; - s16 sp2C[4]; - s16 sp28[2]; - s16 sp24[2]; - s16 sp20[2]; - s16 sp1C[2]; - s16 sp18[2]; - AnimData *sp14; - s32 sp10; - s16 spC; - s16 spA; - s16 sp8; + s16 i; + s16 temp; + s16 winId; + s16 player; + s16 j; + s16 cubeMdlId; + s16 teamNo; + Vec pos3D; + Vec pos2D; + s16 charNo[4]; + s16 coinNum[2]; + s16 starNum[2]; + s16 teamYPos[2]; + s16 teamPlayerNo[2]; + s16 rank[2]; + AnimData *rankAnim; + s32 cubeNo; + s16 rankGrpId; + s16 rankSprId; + s16 btnDown; WipeColorSet(0, 0, 0); WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 10); while (WipeStatGet()) { HuPrcVSleep(); } - espAttrSet(lbl_1_bss_1A1A[0], HUSPR_ATTR_DISPOFF); - espAttrSet(lbl_1_bss_1A1A[1], HUSPR_ATTR_DISPOFF); - for (temp_r31 = 0; temp_r31 < 2; temp_r31++) { - Hu3DModelAttrSet(lbl_1_bss_1A9C[temp_r31 + 6], HU3D_ATTR_DISPOFF); - Hu3DModelAttrSet(lbl_1_bss_1A9C[temp_r31 + 10], HU3D_ATTR_DISPOFF); + espAttrSet(stageSprId[0], HUSPR_ATTR_DISPOFF); + espAttrSet(stageSprId[1], HUSPR_ATTR_DISPOFF); + for (i = 0; i < 2; i++) { + Hu3DModelAttrSet(stageMdlId[i + 6], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(stageMdlId[i + 10], HU3D_ATTR_DISPOFF); } - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - espAttrSet(lbl_1_bss_1A1A[temp_r31 + 6], HUSPR_ATTR_DISPOFF); + for (i = 0; i < 4; i++) { + espAttrSet(stageSprId[i + 6], HUSPR_ATTR_DISPOFF); } - for (temp_r31 = 4; temp_r31 < 8; temp_r31++) { - Hu3DModelAttrSet(lbl_1_bss_158[temp_r31], HU3D_ATTR_DISPOFF); + for (i = 4; i < 8; i++) { + Hu3DModelAttrSet(statShadowMdlId[i], HU3D_ATTR_DISPOFF); } - for (temp_r31 = 4; temp_r31 < 8; temp_r31++) { - HuSprGrpTPLvlSet(lbl_1_bss_CE[temp_r31], 0.0f); + for (i = 4; i < 8; i++) { + HuSprGrpTPLvlSet(resultNumGrpId[i], 0.0f); } - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - for (temp_r19 = 0; temp_r19 < 4; temp_r19++) { - Hu3DModelAttrSet(lbl_1_bss_5C[GWPlayerCfg[temp_r31].character][temp_r19], HU3D_ATTR_DISPOFF); + for (i = 0; i < 4; i++) { + for (j = 0; j < 4; j++) { + Hu3DModelAttrSet(resultCubeMdlId[GWPlayerCfg[i].character][j], HU3D_ATTR_DISPOFF); } - Hu3DModelAttrSet(lbl_1_bss_54[temp_r31], HU3D_ATTR_DISPOFF); + Hu3DModelAttrSet(resultPlayerCubeMdlId[i], HU3D_ATTR_DISPOFF); } - HuSprGrpKill(lbl_1_bss_9C); - HuSprGrpKill(lbl_1_bss_52); - if (lbl_1_data_380 != -1) { - HuSprGrpKill(lbl_1_data_380); + HuSprGrpKill(resultCrownGrpId); + HuSprGrpKill(resultRankGrpId); + if (rankNewGrpId != -1) { + HuSprGrpKill(rankNewGrpId); } - sp28[0] = sp28[1] = 0; - sp24[0] = sp24[1] = 0; - sp1C[0] = 0; - sp1C[1] = 2; - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - temp_r17 = GWPlayer[temp_r31].team; - sp28[temp_r17] += BoardPlayerCoinsGet(temp_r31); - sp24[temp_r17] += GWStarsGet(temp_r31); - sp2C[sp1C[temp_r17]++] = GWPlayerCfg[temp_r31].character; + coinNum[0] = coinNum[1] = 0; + starNum[0] = starNum[1] = 0; + teamPlayerNo[0] = 0; + teamPlayerNo[1] = 2; + for (i = 0; i < 4; i++) { + teamNo = GWPlayer[i].team; + coinNum[teamNo] += BoardPlayerCoinsGet(i); + starNum[teamNo] += GWStarsGet(i); + charNo[teamPlayerNo[teamNo]++] = GWPlayerCfg[i].character; } - sp18[0] = 0; - sp18[1] = 1; - if (sp24[0] > sp24[1]) { - lbl_1_bss_8 = 0; + rank[0] = 0; + rank[1] = 1; + if (starNum[0] > starNum[1]) { + resultTeamOrder = 0; } else { - if (sp24[0] == sp24[1]) { - if (sp28[0] > sp28[1]) { - lbl_1_bss_8 = 0; + if (starNum[0] == starNum[1]) { + if (coinNum[0] > coinNum[1]) { + resultTeamOrder = 0; } - else if (sp28[0] == sp28[1]) { - sp18[0] = sp18[1] = 0; - lbl_1_bss_8 = 0; + else if (coinNum[0] == coinNum[1]) { + rank[0] = rank[1] = 0; + resultTeamOrder = 0; } else { - lbl_1_bss_8 = 1; + resultTeamOrder = 1; } } else { - lbl_1_bss_8 = 1; + resultTeamOrder = 1; } } - HuSprAttrReset(lbl_1_bss_170, 0, 4); - HuSprAttrReset(lbl_1_bss_170, 1, 4); - HuSprPosSet(lbl_1_bss_170, 1, 0, -180); - HuSprAttrReset(lbl_1_bss_170, 2, 4); - HuSprAttrReset(lbl_1_bss_170, 3, 4); - if (lbl_1_bss_8 == 0) { - sp20[0] = -55; - sp20[1] = 115; + HuSprAttrReset(teamResultGrpId, 0, 4); + HuSprAttrReset(teamResultGrpId, 1, 4); + HuSprPosSet(teamResultGrpId, 1, 0, -180); + HuSprAttrReset(teamResultGrpId, 2, 4); + HuSprAttrReset(teamResultGrpId, 3, 4); + if (resultTeamOrder == 0) { + teamYPos[0] = -55; + teamYPos[1] = 115; } else { - sp20[0] = 115; - sp20[1] = -55; - temp_r24 = sp2C[0]; - sp2C[0] = sp2C[2]; - sp2C[2] = temp_r24; - temp_r24 = sp2C[1]; - sp2C[1] = sp2C[3]; - sp2C[3] = temp_r24; - temp_r24 = sp28[0]; - sp28[0] = sp28[1]; - sp28[1] = temp_r24; - temp_r24 = sp24[0]; - sp24[0] = sp24[1]; - sp24[1] = temp_r24; + teamYPos[0] = 115; + teamYPos[1] = -55; + temp = charNo[0]; + charNo[0] = charNo[2]; + charNo[2] = temp; + temp = charNo[1]; + charNo[1] = charNo[3]; + charNo[3] = temp; + temp = coinNum[0]; + coinNum[0] = coinNum[1]; + coinNum[1] = temp; + temp = starNum[0]; + starNum[0] = starNum[1]; + starNum[1] = temp; } - HuSprPosSet(lbl_1_bss_170, 2, 0, sp20[0]); - HuSprPosSet(lbl_1_bss_170, 3, 0, sp20[1]); - HuSprGrpPosSet(lbl_1_bss_170, 288, 240); - for (temp_r31 = 0; temp_r31 < 4; temp_r31++) { - if (temp_r31 < 2) { - sp10 = 0; + HuSprPosSet(teamResultGrpId, 2, 0, teamYPos[0]); + HuSprPosSet(teamResultGrpId, 3, 0, teamYPos[1]); + HuSprGrpPosSet(teamResultGrpId, 288, 240); + for (i = 0; i < 4; i++) { + if (i < 2) { + cubeNo = 0; } else { - sp10 = 1; + cubeNo = 1; } - temp_r18 = lbl_1_bss_5C[sp2C[temp_r31]][sp10]; - Hu3DAnimCreate(lbl_1_bss_E4[sp2C[temp_r31]][0], temp_r18, "ys22"); - Hu3DModelAttrReset(temp_r18, HU3D_ATTR_DISPOFF); - Hu3D2Dto3D(&lbl_1_data_488[temp_r31], 1, &sp40); - Hu3DModelPosSetV(temp_r18, &sp40); - Hu3DModelRotSet(temp_r18, 0, 0, 0); - sp34 = lbl_1_data_488[temp_r31]; - sp34.y += 5.0f; - sp34.x += 3.0f; - sp34.z += 200.0f; - Hu3D2Dto3D(&sp34, 1, &sp40); - Hu3DModelPosSetV(lbl_1_bss_168[temp_r31], &sp40); + cubeMdlId = resultCubeMdlId[charNo[i]][cubeNo]; + Hu3DAnimCreate(resultCharAnim[charNo[i]][0], cubeMdlId, "ys22"); + Hu3DModelAttrReset(cubeMdlId, HU3D_ATTR_DISPOFF); + Hu3D2Dto3D(&resultTeamCharPosTbl[i], 1, &pos3D); + Hu3DModelPosSetV(cubeMdlId, &pos3D); + Hu3DModelRotSet(cubeMdlId, 0, 0, 0); + pos2D = resultTeamCharPosTbl[i]; + pos2D.y += 5.0f; + pos2D.x += 3.0f; + pos2D.z += 200.0f; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + Hu3DModelPosSetV(charShadowMdlId[i], &pos3D); } - spC = HuSprGrpCreate(2); - for (temp_r31 = 0; temp_r31 < 2; temp_r31++) { - sp14 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x16) + sp18[temp_r31]); - spA = HuSprCreate(sp14, temp_r31, 0); - HuSprGrpMemberSet(spC, temp_r31, spA); - HuSprPosSet(spC, temp_r31, (lbl_1_data_488[temp_r31 * 2].x) - 80.0f, lbl_1_data_488[temp_r31 * 2].y); - sp34 = lbl_1_data_488[temp_r31 * 2]; - sp34.x += 180.0f; - sp34.y -= 35.0f; - Hu3D2Dto3D(&sp34, 1, &sp40); - Hu3DModelPosSetV(lbl_1_bss_1A9C[temp_r31 + 4], &sp40); - sp34.y += 5.0f; - sp34.x += 3.0f; - sp34.z += 200.0f; - Hu3D2Dto3D(&sp34, 1, &sp40); - Hu3DModelPosSetV(lbl_1_bss_158[temp_r31 * 2], &sp40); - espPosSet(lbl_1_bss_1A1A[(temp_r31 * 2) + 2], 230.0f + lbl_1_data_488[temp_r31 * 2].x, lbl_1_data_488[temp_r31 * 2].y - 35.0f); - fn_1_3B50(lbl_1_bss_CE[temp_r31 * 2], sp24[temp_r31]); - HuSprGrpPosSet(lbl_1_bss_CE[temp_r31 * 2], 320.0f + lbl_1_data_488[temp_r31 * 2].x, lbl_1_data_488[temp_r31 * 2].y - 35.0f); - sp34 = lbl_1_data_488[temp_r31 * 2]; - sp34.x += 180.0f; - sp34.y += 35.0f; - Hu3D2Dto3D(&sp34, 1, &sp40); - Hu3DModelPosSetV(lbl_1_bss_1A9C[temp_r31 + 8], &sp40); - sp34.y += 5.0f; - sp34.x += 3.0f; - sp34.z += 200.0f; - Hu3D2Dto3D(&sp34, 1, &sp40); - Hu3DModelPosSetV(lbl_1_bss_158[(temp_r31 * 2) + 1], &sp40); - espPosSet(lbl_1_bss_1A1A[(temp_r31 * 2) + 3], 230.0f + lbl_1_data_488[temp_r31 * 2].x, 35.0f + lbl_1_data_488[temp_r31 * 2].y); - fn_1_3B50(lbl_1_bss_CE[(temp_r31 * 2) + 1], sp28[temp_r31]); - HuSprGrpPosSet(lbl_1_bss_CE[(temp_r31 * 2) + 1], 320.0f + lbl_1_data_488[temp_r31 * 2].x, 35.0f + lbl_1_data_488[temp_r31 * 2].y); + rankGrpId = HuSprGrpCreate(2); + for (i = 0; i < 2; i++) { + rankAnim = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_RESULT, 0x16) + rank[i]); + rankSprId = HuSprCreate(rankAnim, i, 0); + HuSprGrpMemberSet(rankGrpId, i, rankSprId); + HuSprPosSet(rankGrpId, i, (resultTeamCharPosTbl[i * 2].x) - 80.0f, resultTeamCharPosTbl[i * 2].y); + pos2D = resultTeamCharPosTbl[i * 2]; + pos2D.x += 180.0f; + pos2D.y -= 35.0f; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + Hu3DModelPosSetV(stageMdlId[i + 4], &pos3D); + pos2D.y += 5.0f; + pos2D.x += 3.0f; + pos2D.z += 200.0f; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + Hu3DModelPosSetV(statShadowMdlId[i * 2], &pos3D); + espPosSet(stageSprId[(i * 2) + 2], 230.0f + resultTeamCharPosTbl[i * 2].x, resultTeamCharPosTbl[i * 2].y - 35.0f); + ResultSprNumSet(resultNumGrpId[i * 2], starNum[i]); + HuSprGrpPosSet(resultNumGrpId[i * 2], 320.0f + resultTeamCharPosTbl[i * 2].x, resultTeamCharPosTbl[i * 2].y - 35.0f); + pos2D = resultTeamCharPosTbl[i * 2]; + pos2D.x += 180.0f; + pos2D.y += 35.0f; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + Hu3DModelPosSetV(stageMdlId[i + 8], &pos3D); + pos2D.y += 5.0f; + pos2D.x += 3.0f; + pos2D.z += 200.0f; + Hu3D2Dto3D(&pos2D, 1, &pos3D); + Hu3DModelPosSetV(statShadowMdlId[(i * 2) + 1], &pos3D); + espPosSet(stageSprId[(i * 2) + 3], 230.0f + resultTeamCharPosTbl[i * 2].x, 35.0f + resultTeamCharPosTbl[i * 2].y); + ResultSprNumSet(resultNumGrpId[(i * 2) + 1], coinNum[i]); + HuSprGrpPosSet(resultNumGrpId[(i * 2) + 1], 320.0f + resultTeamCharPosTbl[i * 2].x, 35.0f + resultTeamCharPosTbl[i * 2].y); } WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 10); while (WipeStatGet()) { HuPrcVSleep(); } - temp_r21 = HuWinCreate(-10000.0f, 400.0f, 320, 40, 0); - HuWinMesSpeedSet(temp_r21, 0); - HuWinBGTPLvlSet(temp_r21, 0); - HuWinPriSet(temp_r21, 5); - HuWinAttrSet(temp_r21, 0x800); - HuWinMesSet(temp_r21, MAKE_MESSID(0x24, 0x07)); + winId = HuWinCreate(-10000.0f, 400.0f, 320, 40, 0); + HuWinMesSpeedSet(winId, 0); + HuWinBGTPLvlSet(winId, 0); + HuWinPriSet(winId, 5); + HuWinAttrSet(winId, 0x800); + HuWinMesSet(winId, MAKE_MESSID(0x24, 0x07)); HuPrcSleep(4); - temp_r31 = 0; + i = 0; while (1) { - if (lbl_1_bss_4 && temp_r31 > 120) { + if (resultSkipF && i > 120) { break; } - for (temp_r20 = sp8 = 0; temp_r20 < 4; temp_r20++) { - if (!GWPlayerCfg[temp_r20].iscom) { - sp8 |= HuPadBtnDown[GWPlayerCfg[temp_r20].pad_idx]; + for (player = btnDown = 0; player < 4; player++) { + if (!GWPlayerCfg[player].iscom) { + btnDown |= HuPadBtnDown[GWPlayerCfg[player].pad_idx]; } } - if (sp8 & PAD_BUTTON_A) { + if (btnDown & PAD_BUTTON_A) { HuAudFXPlay(28); break; } HuPrcVSleep(); - temp_r31++; + i++; } - HuWinKill(temp_r21); + HuWinKill(winId); } -void fn_1_5880(omObjData *object) +void CameraDebug(omObjData *object) { Vec pos; Vec offset; Vec dir; - Vec y_offset; + Vec yOfs; - f32 z_rot; - s8 stick_pos; + float z_rot; + s8 stickPos; if (HuPadBtn[0] & PAD_BUTTON_UP) { CRot.x += 2.0f; @@ -1274,31 +1273,31 @@ void fn_1_5880(omObjData *object) dir.y = cosd(CRot.x); dir.z = (cosd(CRot.y) * sind(CRot.x)); z_rot = CRot.z; - y_offset.x = dir.x * (offset.x * offset.x + (1.0f - offset.x * offset.x) * cosd(z_rot)) + yOfs.x = dir.x * (offset.x * offset.x + (1.0f - offset.x * offset.x) * cosd(z_rot)) + dir.y * (offset.x * offset.y * (1.0f - cosd(z_rot)) - offset.z * sind(z_rot)) + dir.z * (offset.x * offset.z * (1.0f - cosd(z_rot)) + offset.y * sind(z_rot)); - y_offset.y = dir.y * (offset.y * offset.y + (1.0f - offset.y * offset.y) * cosd(z_rot)) + yOfs.y = dir.y * (offset.y * offset.y + (1.0f - offset.y * offset.y) * cosd(z_rot)) + dir.x * (offset.x * offset.y * (1.0f - cosd(z_rot)) + offset.z * sind(z_rot)) + dir.z * (offset.y * offset.z * (1.0f - cosd(z_rot)) - offset.x * sind(z_rot)); - y_offset.z = dir.z * (offset.z * offset.z + (1.0f - offset.z * offset.z) * cosd(z_rot)) + yOfs.z = dir.z * (offset.z * offset.z + (1.0f - offset.z * offset.z) * cosd(z_rot)) + (dir.x * (offset.x * offset.z * (1.0 - cosd(z_rot)) - offset.y * sind(z_rot)) + dir.y * (offset.y * offset.z * (1.0 - cosd(z_rot)) + offset.x * sind(z_rot))); VECCrossProduct(&dir, &offset, &offset); VECNormalize(&offset, &offset); - stick_pos = (HuPadSubStkX[0] & 0xF8); - if (stick_pos != 0) { - Center.x += 0.05f * (offset.x * stick_pos); - Center.y += 0.05f * (offset.y * stick_pos); - Center.z += 0.05f * (offset.z * stick_pos); + stickPos = (HuPadSubStkX[0] & 0xF8); + if (stickPos != 0) { + Center.x += 0.05f * (offset.x * stickPos); + Center.y += 0.05f * (offset.y * stickPos); + Center.z += 0.05f * (offset.z * stickPos); } - VECNormalize(&y_offset, &offset); - stick_pos = -(HuPadSubStkY[0] & 0xF8); - if (stick_pos != 0) { - Center.x += 0.05f * (offset.x * stick_pos); - Center.y += 0.05f * (offset.y * stick_pos); - Center.z += 0.05f * (offset.z * stick_pos); + VECNormalize(&yOfs, &offset); + stickPos = -(HuPadSubStkY[0] & 0xF8); + if (stickPos != 0) { + Center.x += 0.05f * (offset.x * stickPos); + Center.y += 0.05f * (offset.y * stickPos); + Center.z += 0.05f * (offset.z * stickPos); } }