Matched m460Dll
This commit is contained in:
parent
fb98d348e2
commit
8e91e6ecf6
8 changed files with 2639 additions and 172 deletions
|
|
@ -86,167 +86,167 @@ fn_1_91E4 = .text:0x000091E4; // type:function size:0x8C
|
||||||
fn_1_9270 = .text:0x00009270; // type:function size:0x164
|
fn_1_9270 = .text:0x00009270; // type:function size:0x164
|
||||||
_ctors = .ctors:0x00000000; // type:label scope:global data:4byte
|
_ctors = .ctors:0x00000000; // type:label scope:global data:4byte
|
||||||
_dtors = .dtors: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:0xC data:4byte
|
lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0xC scope:local data:float
|
||||||
lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0xC data:4byte
|
lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0xC scope:local data:float
|
||||||
lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 data:float
|
lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 data:float
|
lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 data:float
|
lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 data:float
|
lbl_1_rodata_34 = .rodata:0x00000034; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float
|
lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float
|
lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float
|
lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float
|
lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float
|
lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float
|
lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float
|
lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float
|
lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float
|
lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 data:double
|
lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x8 scope:local data:double
|
||||||
lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 data:double
|
lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x8 scope:local data:double
|
||||||
lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 data:float
|
lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 data:float
|
lbl_1_rodata_74 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 data:float
|
lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 data:double
|
lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x8 scope:local data:double
|
||||||
lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float
|
lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:double
|
lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:double
|
||||||
lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:4byte
|
lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:4byte
|
||||||
lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x50
|
lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x50 scope:local data:float
|
||||||
lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x14 data:4byte
|
lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x14 scope:local data:4byte
|
||||||
lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 data:float
|
lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 data:float
|
lbl_1_rodata_104 = .rodata:0x00000104; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 data:float
|
lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 data:float
|
lbl_1_rodata_10C = .rodata:0x0000010C; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 data:float
|
lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x10 data:4byte
|
lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x10 scope:local data:4byte
|
||||||
lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 data:float
|
lbl_1_rodata_124 = .rodata:0x00000124; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float
|
lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float
|
lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float
|
lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float
|
lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 data:float
|
lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 data:float
|
lbl_1_rodata_13C = .rodata:0x0000013C; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double
|
lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 scope:local data:double
|
||||||
lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:double
|
lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double
|
||||||
lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double
|
lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double
|
||||||
lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 data:float
|
lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 data:float
|
lbl_1_rodata_15C = .rodata:0x0000015C; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x10 data:4byte
|
lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x10 scope:local data:float
|
||||||
lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x30 data:4byte
|
lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x30 scope:local data:float
|
||||||
lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float
|
lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float
|
lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float
|
lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float
|
lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float
|
lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float
|
lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float
|
lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 data:float
|
lbl_1_rodata_1BC = .rodata:0x000001BC; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x18 data:4byte
|
lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x18 scope:local data:float
|
||||||
lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x18 data:4byte
|
lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x18 scope:local data:float
|
||||||
lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float
|
lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float
|
lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 data:float
|
lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 data:float
|
lbl_1_rodata_1FC = .rodata:0x000001FC; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 data:float
|
lbl_1_rodata_200 = .rodata:0x00000200; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 data:float
|
lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 data:float
|
lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_20C = .rodata:0x0000020C; // type:object size:0x4 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:0x4 data:float
|
lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 data:double
|
lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x8 scope:local data:double
|
||||||
lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 data:double
|
lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 scope:local data:double
|
||||||
lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float
|
lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 data:double
|
lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x8 scope:local data:double
|
||||||
lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 data:double
|
lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x8 scope:local data:double
|
||||||
lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 data:float
|
lbl_1_rodata_240 = .rodata:0x00000240; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 data:float
|
lbl_1_rodata_244 = .rodata:0x00000244; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x18 data:4byte
|
lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x18 scope:local data:float
|
||||||
lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 data:4byte
|
lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x8 scope:local data:4byte
|
||||||
lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 data:float
|
lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 data:float
|
lbl_1_rodata_26C = .rodata:0x0000026C; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 data:float
|
lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 data:float
|
lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 data:float
|
lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 data:float
|
lbl_1_rodata_27C = .rodata:0x0000027C; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float
|
lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float
|
lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 data:float
|
lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x8 data:double
|
lbl_1_rodata_290 = .rodata:0x00000290; // type:object size:0x8 scope:local data:double
|
||||||
lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 data:float
|
lbl_1_rodata_298 = .rodata:0x00000298; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 data:float
|
lbl_1_rodata_29C = .rodata:0x0000029C; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float
|
lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 data:float
|
lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float
|
lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float
|
lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float
|
lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float
|
lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float
|
lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 data:float
|
lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 data:float
|
lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 data:float
|
lbl_1_rodata_2C4 = .rodata:0x000002C4; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 data:float
|
lbl_1_rodata_2C8 = .rodata:0x000002C8; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 data:float
|
lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 data:float
|
lbl_1_rodata_2D0 = .rodata:0x000002D0; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 data:float
|
lbl_1_rodata_2D4 = .rodata:0x000002D4; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float
|
lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float
|
lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float
|
lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float
|
lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 data:float
|
lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 data:float
|
lbl_1_rodata_2EC = .rodata:0x000002EC; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float
|
lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double
|
lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 scope:local data:double
|
||||||
lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 data:double
|
lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x8 scope:local data:double
|
||||||
lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 data:float
|
lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 data:float
|
lbl_1_rodata_30C = .rodata:0x0000030C; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float
|
lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 data:float
|
lbl_1_rodata_314 = .rodata:0x00000314; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 data:float
|
lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 data:float
|
lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float
|
lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 data:float
|
lbl_1_rodata_324 = .rodata:0x00000324; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 data:float
|
lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 data:float
|
lbl_1_rodata_32C = .rodata:0x0000032C; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 data:float
|
lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 data:float
|
lbl_1_rodata_334 = .rodata:0x00000334; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 data:float
|
lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 data:float
|
lbl_1_rodata_33C = .rodata:0x0000033C; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 data:float
|
lbl_1_rodata_340 = .rodata:0x00000340; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x1 data:byte
|
lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:byte
|
||||||
lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x1 data:byte
|
lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:byte
|
||||||
lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0xC data:4byte
|
lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0xC scope:local data:4byte
|
||||||
lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 data:float
|
lbl_1_rodata_358 = .rodata:0x00000358; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 data:float
|
lbl_1_rodata_35C = .rodata:0x0000035C; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 data:float
|
lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 data:float
|
lbl_1_rodata_364 = .rodata:0x00000364; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 data:float
|
lbl_1_rodata_368 = .rodata:0x00000368; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 data:float
|
lbl_1_rodata_36C = .rodata:0x0000036C; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 data:float
|
lbl_1_rodata_370 = .rodata:0x00000370; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 data:float
|
lbl_1_rodata_374 = .rodata:0x00000374; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 data:float
|
lbl_1_rodata_378 = .rodata:0x00000378; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 data:float
|
lbl_1_rodata_37C = .rodata:0x0000037C; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 data:float
|
lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 data:float
|
lbl_1_rodata_384 = .rodata:0x00000384; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 data:float
|
lbl_1_rodata_388 = .rodata:0x00000388; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 data:float
|
lbl_1_rodata_38C = .rodata:0x0000038C; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 data:float
|
lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 data:float
|
lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 data:float
|
lbl_1_rodata_398 = .rodata:0x00000398; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 data:float
|
lbl_1_rodata_39C = .rodata:0x0000039C; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 data:float
|
lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 data:float
|
lbl_1_rodata_3A4 = .rodata:0x000003A4; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 data:float
|
lbl_1_rodata_3A8 = .rodata:0x000003A8; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 data:float
|
lbl_1_rodata_3AC = .rodata:0x000003AC; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x8 data:float
|
lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x8 scope:local data:float
|
||||||
lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 data:float
|
lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 data:float
|
lbl_1_rodata_3BC = .rodata:0x000003BC; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 data:float
|
lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 data:float
|
lbl_1_rodata_3C4 = .rodata:0x000003C4; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 data:float
|
lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 data:float
|
lbl_1_rodata_3CC = .rodata:0x000003CC; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 data:double
|
lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x8 scope:local data:double
|
||||||
lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 data:float
|
lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 data:float
|
lbl_1_rodata_3DC = .rodata:0x000003DC; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 data:float
|
lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 data:float
|
lbl_1_rodata_3E4 = .rodata:0x000003E4; // type:object size:0x4 scope:local data:float
|
||||||
lbl_1_data_0 = .data:0x00000000; // type:object size:0xC
|
lbl_1_data_0 = .data:0x00000000; // type:object size:0xC
|
||||||
lbl_1_data_C = .data:0x0000000C; // type:object size:0xC
|
lbl_1_data_C = .data:0x0000000C; // type:object size:0xC
|
||||||
lbl_1_data_18 = .data:0x00000018; // type:object size:0xC data:float
|
lbl_1_data_18 = .data:0x00000018; // type:object size:0xC data:float
|
||||||
|
|
@ -259,9 +259,9 @@ lbl_1_data_70 = .data:0x00000070; // type:object size:0x24
|
||||||
lbl_1_data_94 = .data:0x00000094; // type:object size:0xC
|
lbl_1_data_94 = .data:0x00000094; // type:object size:0xC
|
||||||
lbl_1_data_A0 = .data:0x000000A0; // type:object size:0xC
|
lbl_1_data_A0 = .data:0x000000A0; // type:object size:0xC
|
||||||
lbl_1_data_AC = .data:0x000000AC; // type:object size:0xC
|
lbl_1_data_AC = .data:0x000000AC; // type:object size:0xC
|
||||||
lbl_1_data_B8 = .data:0x000000B8; // type:object size:0x1 data:byte
|
lbl_1_data_B8 = .data:0x000000B8; // type:object size:0x4 data:byte
|
||||||
lbl_1_data_BC = .data:0x000000BC; // type:object size:0x1A data:string
|
lbl_1_data_BC = .data:0x000000BC; // type:object size:0x1A scope:local data:string
|
||||||
lbl_1_data_D6 = .data:0x000000D6; // type:object size:0x19 data:string
|
lbl_1_data_D6 = .data:0x000000D6; // type:object size:0x19 scope:local data:string
|
||||||
lbl_1_data_F0 = .data:0x000000F0; // type:object size:0x20
|
lbl_1_data_F0 = .data:0x000000F0; // type:object size:0x20
|
||||||
lbl_1_data_110 = .data:0x00000110; // type:object size:0xA0
|
lbl_1_data_110 = .data:0x00000110; // type:object size:0xA0
|
||||||
jumptable_1_data_1B0 = .data:0x000001B0; // type:object size:0x24 scope:local
|
jumptable_1_data_1B0 = .data:0x000001B0; // type:object size:0x24 scope:local
|
||||||
|
|
@ -273,10 +273,10 @@ lbl_1_data_334 = .data:0x00000334; // type:object size:0xC
|
||||||
lbl_1_data_340 = .data:0x00000340; // type:object size:0xC
|
lbl_1_data_340 = .data:0x00000340; // type:object size:0xC
|
||||||
lbl_1_data_34C = .data:0x0000034C; // type:object size:0x8
|
lbl_1_data_34C = .data:0x0000034C; // type:object size:0x8
|
||||||
lbl_1_data_354 = .data:0x00000354; // type:object size:0x8
|
lbl_1_data_354 = .data:0x00000354; // type:object size:0x8
|
||||||
lbl_1_data_35C = .data:0x0000035C; // type:object size:0x7 data:string
|
lbl_1_data_35C = .data:0x0000035C; // type:object size:0x7 scope:local data:string
|
||||||
lbl_1_data_363 = .data:0x00000363; // type:object size:0x7 data:string
|
lbl_1_data_363 = .data:0x00000363; // type:object size:0x7 scope:local data:string
|
||||||
lbl_1_data_36C = .data:0x0000036C; // type:object size:0xC
|
lbl_1_data_36C = .data:0x0000036C; // type:object size:0xC
|
||||||
lbl_1_data_378 = .data:0x00000378; // type:object size:0x8 data:byte
|
lbl_1_data_378 = .data:0x00000378; // type:object size:0x4 data:byte
|
||||||
lbl_1_data_380 = .data:0x00000380; // type:object size:0xC
|
lbl_1_data_380 = .data:0x00000380; // type:object size:0xC
|
||||||
lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte
|
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_4 = .bss:0x00000004; // type:object size:0x4 data:4byte
|
||||||
|
|
|
||||||
|
|
@ -1273,10 +1273,10 @@ config.libs = [
|
||||||
Rel(
|
Rel(
|
||||||
"m460Dll", # Doors of Doom
|
"m460Dll", # Doors of Doom
|
||||||
objects={
|
objects={
|
||||||
Object(NonMatching, "REL/m460Dll/main.c"),
|
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m460Dll/main.c"),
|
||||||
Object(NonMatching, "REL/m460Dll/player.c"),
|
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m460Dll/player.c"),
|
||||||
Object(NonMatching, "REL/m460Dll/map.c"),
|
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m460Dll/map.c"),
|
||||||
Object(NonMatching, "REL/m460Dll/score.c"),
|
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m460Dll/score.c"),
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
Rel(
|
Rel(
|
||||||
|
|
|
||||||
64
include/REL/m460Dll.h
Normal file
64
include/REL/m460Dll.h
Normal file
|
|
@ -0,0 +1,64 @@
|
||||||
|
#ifndef M460DLL_H
|
||||||
|
#define M460DLL_H
|
||||||
|
|
||||||
|
#include "game/object.h"
|
||||||
|
|
||||||
|
typedef struct UnkM460DllStruct {
|
||||||
|
float unk_00;
|
||||||
|
float unk_04;
|
||||||
|
float unk_08;
|
||||||
|
float unk_0C;
|
||||||
|
} UnkM460DllStruct;
|
||||||
|
|
||||||
|
typedef struct M460DllCameraStruct {
|
||||||
|
s32 unk_00;
|
||||||
|
s32 unk_04;
|
||||||
|
s32 unk_08;
|
||||||
|
u32 unk_0C;
|
||||||
|
float unk_10;
|
||||||
|
float unk_14;
|
||||||
|
float unk_18;
|
||||||
|
Vec unk_1C;
|
||||||
|
Vec unk_28;
|
||||||
|
float unk_34;
|
||||||
|
s32 unk_38;
|
||||||
|
s32 unk_3C;
|
||||||
|
float unk_40;
|
||||||
|
UnkM460DllStruct unk_44;
|
||||||
|
char unk54[0x30];
|
||||||
|
float unk_84;
|
||||||
|
char unk88[0x4];
|
||||||
|
float unk_8C;
|
||||||
|
float unk_90;
|
||||||
|
s32 unk_94;
|
||||||
|
char unk98[0xC];
|
||||||
|
} M460DllCameraStruct; /* size = 0xA4 */ // same as M443DllCameraStruct // TODO does this have to be here?
|
||||||
|
|
||||||
|
void fn_1_3E68(u32 arg0);
|
||||||
|
M460DllCameraStruct *fn_1_3E90(s32 arg0);
|
||||||
|
M460DllCameraStruct *fn_1_3F2C(s32 arg0);
|
||||||
|
u32 fn_1_414C(void);
|
||||||
|
u32 fn_1_4164(void);
|
||||||
|
s32 fn_1_419C(void);
|
||||||
|
void fn_1_41B4(s32 arg0, s32 arg1, s32 arg2);
|
||||||
|
void fn_1_41F4(s32 arg0);
|
||||||
|
void fn_1_4224(s32 arg0);
|
||||||
|
void fn_1_42BC(u32 arg0);
|
||||||
|
s32 fn_1_42F0(void);
|
||||||
|
void fn_1_4308(void);
|
||||||
|
s32 fn_1_4324(void);
|
||||||
|
void fn_1_433C(void);
|
||||||
|
s32 fn_1_4358(void);
|
||||||
|
u32 fn_1_4370(void);
|
||||||
|
float fn_1_47D0(float arg8, float arg9, float argA);
|
||||||
|
|
||||||
|
void fn_1_49A0(Process *process);
|
||||||
|
void fn_1_4BE4(void);
|
||||||
|
void fn_1_67B4(Process *process);
|
||||||
|
void fn_1_6814(void);
|
||||||
|
void fn_1_8BA0(float arg8);
|
||||||
|
void fn_1_8CAC(Process *process, s16 arg1);
|
||||||
|
void fn_1_8F38(void);
|
||||||
|
void fn_1_8FAC(s32 arg0);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
@ -87,7 +87,7 @@ typedef struct M453DllWork2 {
|
||||||
M453DllUnkStruct unk_5C;
|
M453DllUnkStruct unk_5C;
|
||||||
u8 unk_9C;
|
u8 unk_9C;
|
||||||
s32 unk_A0;
|
s32 unk_A0;
|
||||||
} M453DllWork2; /* size 0xA4 */
|
} M453DllWork2; /* size 0xA4 */ // same as Unkm403Struct_01
|
||||||
|
|
||||||
void fn_1_440(omObjData *object);
|
void fn_1_440(omObjData *object);
|
||||||
void fn_1_460(omObjData *object);
|
void fn_1_460(omObjData *object);
|
||||||
|
|
|
||||||
1015
src/REL/m460Dll/main.c
Normal file
1015
src/REL/m460Dll/main.c
Normal file
File diff suppressed because it is too large
Load diff
547
src/REL/m460Dll/map.c
Normal file
547
src/REL/m460Dll/map.c
Normal file
|
|
@ -0,0 +1,547 @@
|
||||||
|
#include "datadir_enum.h"
|
||||||
|
#include "dolphin/gx/GXEnum.h"
|
||||||
|
#include "dolphin/gx/GXVert.h"
|
||||||
|
#include "ext_math.h"
|
||||||
|
#include "game/audio.h"
|
||||||
|
#include "game/chrman.h"
|
||||||
|
#include "game/gamework_data.h"
|
||||||
|
#include "game/hsfanim.h"
|
||||||
|
#include "game/hsfman.h"
|
||||||
|
#include "game/hsfmotion.h"
|
||||||
|
#include "game/memory.h"
|
||||||
|
#include "game/object.h"
|
||||||
|
#include "game/pad.h"
|
||||||
|
#include "game/sprite.h"
|
||||||
|
#include "string.h"
|
||||||
|
|
||||||
|
#include "REL/m460Dll.h"
|
||||||
|
|
||||||
|
#ifndef __MWERKS__
|
||||||
|
#include "game/frand.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef struct UnkM460MapWork {
|
||||||
|
s32 unk_00;
|
||||||
|
u32 unk_04;
|
||||||
|
s32 unk_08;
|
||||||
|
s32 unk_0C;
|
||||||
|
s32 unk_10;
|
||||||
|
s32 unk_14;
|
||||||
|
s32 unk_18;
|
||||||
|
s32 unk_1C;
|
||||||
|
char unk20[4];
|
||||||
|
u32 unk_24;
|
||||||
|
s32 unk_28;
|
||||||
|
s32 unk_2C;
|
||||||
|
u32 unk_30;
|
||||||
|
float unk_34;
|
||||||
|
float unk_38;
|
||||||
|
Vec unk_3C;
|
||||||
|
Vec unk_48;
|
||||||
|
HsfObject *unk_54;
|
||||||
|
u32 unk_58;
|
||||||
|
void *unk_5C;
|
||||||
|
} UnkM460MapWork; /* size = 0x60 */
|
||||||
|
|
||||||
|
void fn_1_6818(omObjData *object);
|
||||||
|
void fn_1_6C00(omObjData *object);
|
||||||
|
void fn_1_73F8(omObjData *object);
|
||||||
|
u32 fn_1_76C4(u32 arg0, u32 arg1);
|
||||||
|
void fn_1_7724(ModelData *model, Mtx mtx);
|
||||||
|
void fn_1_7790(ModelData *model, Mtx mtx);
|
||||||
|
void fn_1_7B94(s32 arg0);
|
||||||
|
void fn_1_7DA8(omObjData *object, Vec *arg1, u32 arg2);
|
||||||
|
|
||||||
|
float lbl_1_data_1E8[8][8] = {
|
||||||
|
{ 0.0f, 325.0f, -387.0f, -8.25f, 15.0f, 0.0f, 1208.0f, 38.65f },
|
||||||
|
{ 0.0f, 325.0f, -387.0f, -8.25f, -15.0f, 0.0f, 1208.0f, 38.65f },
|
||||||
|
{ 0.0f, 325.0f, -700.0f, -45.0f, 18.0f, 0.0f, 1500.0f, 41.5f },
|
||||||
|
{ 0.0f, 325.0f, -700.0f, -45.0f, 0.0f, 0.0f, 1500.0f, 41.5f },
|
||||||
|
{ 0.0f, 325.0f, -700.0f, -45.0f, -18.0f, 0.0f, 925.0f, 68.0f },
|
||||||
|
{ 0.0f, 302.0f, -783.0f, 14.25f, 28.5f, 0.0f, 833.0f, 61.0f },
|
||||||
|
{ 0.0f, 302.0f, -783.0f, 14.25f, 0.0f, 0.0f, 833.0f, 61.0f },
|
||||||
|
{ 0.0f, 302.0f, -783.0f, 14.25f, -28.5f, 0.0f, 833.0f, 61.0f },
|
||||||
|
};
|
||||||
|
float lbl_1_data_2E8[2][8] = {
|
||||||
|
{ -250.0f, 200.0f, -1000.0f, -10.0f, 0.0f, 0.0f, 1200.0f, 41.5f },
|
||||||
|
{ 250.0f, 200.0f, -1000.0f, -10.0f, 0.0f, 0.0f, 1200.0f, 41.5f },
|
||||||
|
};
|
||||||
|
s32 lbl_1_data_328[3] = { DATA_MAKE_NUM(DATADIR_M460, 0x00), DATA_MAKE_NUM(DATADIR_M460, 0x01), DATA_MAKE_NUM(DATADIR_M460, 0x02) };
|
||||||
|
s32 lbl_1_data_334[3] = { DATA_MAKE_NUM(DATADIR_M460, 0x03), DATA_MAKE_NUM(DATADIR_M460, 0x04), DATA_MAKE_NUM(DATADIR_M460, 0x05) };
|
||||||
|
s32 lbl_1_data_340[3] = { DATA_MAKE_NUM(DATADIR_M460, 0x06), DATA_MAKE_NUM(DATADIR_M460, 0x07), DATA_MAKE_NUM(DATADIR_M460, 0x08) };
|
||||||
|
s32 lbl_1_data_34C[2] = { DATA_MAKE_NUM(DATADIR_M460, 0x09), DATA_MAKE_NUM(DATADIR_M460, 0x0A) };
|
||||||
|
s32 lbl_1_data_354[2] = { DATA_MAKE_NUM(DATADIR_M460, 0x0B), DATA_MAKE_NUM(DATADIR_M460, 0x0C) };
|
||||||
|
|
||||||
|
// UnkM460MapWork
|
||||||
|
omObjData *lbl_1_bss_48;
|
||||||
|
|
||||||
|
void fn_1_67B4(Process *process)
|
||||||
|
{
|
||||||
|
omObjData *var_r31 = omAddObjEx(process, 0x1E, 0x10, 0, -1, fn_1_6818);
|
||||||
|
lbl_1_bss_48 = var_r31;
|
||||||
|
var_r31->work[0] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void fn_1_6814(void) { }
|
||||||
|
|
||||||
|
void fn_1_6818(omObjData *object)
|
||||||
|
{
|
||||||
|
s32 var_r31;
|
||||||
|
s32 var_r30;
|
||||||
|
UnkM460MapWork *var_r28;
|
||||||
|
HsfanimStruct01 *var_r27;
|
||||||
|
|
||||||
|
var_r28 = object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkM460MapWork), MEMORY_DEFAULT_NUM);
|
||||||
|
memset(var_r28, 0, sizeof(UnkM460MapWork));
|
||||||
|
omSetTra(object, 0.0f, 0.0f, 0.0f);
|
||||||
|
for (var_r31 = 0; var_r31 < 3; var_r31++) {
|
||||||
|
var_r30 = Hu3DModelCreateFile(lbl_1_data_328[var_r31]);
|
||||||
|
object->model[var_r31] = var_r30;
|
||||||
|
Hu3DModelLayerSet(var_r30, 1);
|
||||||
|
Hu3DModelAttrSet(var_r30, HU3D_ATTR_DISPOFF);
|
||||||
|
}
|
||||||
|
for (var_r31 = 0; var_r31 < 3; var_r31++) {
|
||||||
|
var_r30 = Hu3DModelCreateFile(lbl_1_data_334[var_r31]);
|
||||||
|
object->model[var_r31 + 3] = var_r30;
|
||||||
|
Hu3DModelLayerSet(var_r30, 1);
|
||||||
|
Hu3DModelAttrSet(var_r30, HU3D_ATTR_DISPOFF);
|
||||||
|
}
|
||||||
|
for (var_r31 = 0; var_r31 < 3; var_r31++) {
|
||||||
|
var_r30 = Hu3DModelCreateFile(lbl_1_data_340[var_r31]);
|
||||||
|
object->model[var_r31 + 6] = var_r30;
|
||||||
|
Hu3DModelLayerSet(var_r30, 1);
|
||||||
|
Hu3DModelAttrSet(var_r30, HU3D_ATTR_DISPOFF);
|
||||||
|
}
|
||||||
|
for (var_r31 = 0; var_r31 < 2; var_r31++) {
|
||||||
|
var_r30 = Hu3DModelCreateFile(lbl_1_data_34C[var_r31]);
|
||||||
|
object->model[var_r31 + 9] = var_r30;
|
||||||
|
Hu3DModelLayerSet(var_r30, 1);
|
||||||
|
Hu3DModelAttrSet(var_r30, HU3D_MOTATTR_LOOP);
|
||||||
|
}
|
||||||
|
for (var_r31 = 0; var_r31 < 2; var_r31++) {
|
||||||
|
var_r30 = Hu3DModelCreateFile(lbl_1_data_354[var_r31]);
|
||||||
|
object->model[var_r31 + 0xB] = var_r30;
|
||||||
|
Hu3DModelLayerSet(var_r30, 3);
|
||||||
|
Hu3DModelAttrSet(var_r30, HU3D_ATTR_DISPOFF);
|
||||||
|
}
|
||||||
|
var_r28->unk_08 = 8;
|
||||||
|
fn_1_73F8(object);
|
||||||
|
var_r30 = Hu3DHookFuncCreate(fn_1_7724);
|
||||||
|
object->model[13] = var_r30;
|
||||||
|
Hu3DModelCameraSet(var_r30, 1);
|
||||||
|
Hu3DModelLayerSet(var_r30, 7);
|
||||||
|
var_r30 = Hu3DHookFuncCreate(fn_1_7790);
|
||||||
|
object->model[14] = var_r30;
|
||||||
|
Hu3DModelCameraSet(var_r30, 2);
|
||||||
|
Hu3DModelLayerSet(var_r30, 7);
|
||||||
|
var_r28->unk_58 = GXGetTexBufferSize(0x280, 0x1E0, 5, 0, 0);
|
||||||
|
var_r28->unk_5C = HuMemDirectMallocNum(HEAP_SYSTEM, var_r28->unk_58, MEMORY_DEFAULT_NUM);
|
||||||
|
DCFlushRange(var_r28->unk_5C, var_r28->unk_58);
|
||||||
|
var_r30 = Hu3DParticleCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_M460, 0x23)), 0x100);
|
||||||
|
object->model[15] = var_r30;
|
||||||
|
Hu3DModelLayerSet(var_r30, 4);
|
||||||
|
for (var_r27 = ((ParticleData *)Hu3DData[var_r30].unk_120)->unk_48, var_r31 = 0; var_r31 < 0x100; var_r31++, var_r27++) {
|
||||||
|
var_r27->unk2C = 0.0f;
|
||||||
|
var_r27->unk40.a = 0;
|
||||||
|
var_r27->unk00 = 0;
|
||||||
|
}
|
||||||
|
DCStoreRange(((ParticleData *)Hu3DData[var_r30].unk_120)->unk_48, 0x4400);
|
||||||
|
var_r28->unk_28 = 1;
|
||||||
|
var_r28->unk_2C = -1;
|
||||||
|
object->func = fn_1_6C00;
|
||||||
|
}
|
||||||
|
|
||||||
|
void fn_1_6C00(omObjData *object)
|
||||||
|
{
|
||||||
|
Vec sp14;
|
||||||
|
Vec sp8;
|
||||||
|
float var_f31;
|
||||||
|
UnkM460MapWork *var_r31;
|
||||||
|
M460DllCameraStruct *var_r30;
|
||||||
|
M460DllCameraStruct *var_r28;
|
||||||
|
u32 var_r27;
|
||||||
|
s32 var_r26;
|
||||||
|
s32 var_r25;
|
||||||
|
|
||||||
|
var_r31 = object->data;
|
||||||
|
var_r30 = fn_1_3E90(1);
|
||||||
|
var_r28 = fn_1_3E90(2);
|
||||||
|
switch (fn_1_4164()) {
|
||||||
|
case 1:
|
||||||
|
var_r31->unk_18 = 0;
|
||||||
|
var_r31->unk_1C = 0;
|
||||||
|
var_r31->unk_24 = 0;
|
||||||
|
if (var_r31->unk_00 != 0) {
|
||||||
|
fn_1_73F8(object);
|
||||||
|
var_r31->unk_00 = 0;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
var_r27 = fn_1_42F0();
|
||||||
|
Hu3DMotionSpeedSet(object->model[var_r27 + 9], 1.5f);
|
||||||
|
if (var_r31->unk_18 == 0) {
|
||||||
|
if (fn_1_4324() != 0) {
|
||||||
|
var_r31->unk_18 = 1;
|
||||||
|
if (var_r27 == 0) {
|
||||||
|
var_r31->unk_2C = object->model[var_r31->unk_14 + 3];
|
||||||
|
var_r31->unk_54 = Hu3DModelObjPtrGet(var_r31->unk_2C, "door_l");
|
||||||
|
}
|
||||||
|
else if (var_r27 == 1) {
|
||||||
|
var_r31->unk_2C = object->model[var_r31->unk_10 + 6];
|
||||||
|
var_r31->unk_54 = Hu3DModelObjPtrGet(var_r31->unk_2C, "door_r");
|
||||||
|
}
|
||||||
|
var_r31->unk_28 = 0;
|
||||||
|
var_r31->unk_30 = 0;
|
||||||
|
Hu3DModelAttrReset(object->model[var_r27 + 0xB], HU3D_ATTR_DISPOFF);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (var_r31->unk_28 != 0) {
|
||||||
|
fn_1_433C();
|
||||||
|
var_r30->unk_10 -= 0.116666675f;
|
||||||
|
}
|
||||||
|
if (var_r31->unk_1C == 0) {
|
||||||
|
var_r31->unk_24++;
|
||||||
|
if (var_r31->unk_24 > 102.0f) {
|
||||||
|
var_r31->unk_1C = 1;
|
||||||
|
fn_1_8BA0(0.041666668f);
|
||||||
|
var_r30->unk_1C.x = lbl_1_data_2E8[var_r27][0];
|
||||||
|
var_r30->unk_1C.y = lbl_1_data_2E8[var_r27][1];
|
||||||
|
var_r30->unk_1C.z = lbl_1_data_2E8[var_r27][2];
|
||||||
|
var_r30->unk_28.x = lbl_1_data_2E8[var_r27][3];
|
||||||
|
var_r30->unk_28.y = lbl_1_data_2E8[var_r27][4];
|
||||||
|
var_r30->unk_28.z = lbl_1_data_2E8[var_r27][5];
|
||||||
|
var_r30->unk_34 = lbl_1_data_2E8[var_r27][6];
|
||||||
|
var_r30->unk_10 = lbl_1_data_2E8[var_r27][7];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
var_r30->unk_10 -= 0.116666675f;
|
||||||
|
var_r31->unk_00 = 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if ((var_r31->unk_28 == 0) && (var_r31->unk_2C >= 0)) {
|
||||||
|
if (var_r31->unk_30 == 0) {
|
||||||
|
var_r31->unk_34 = 0.0f;
|
||||||
|
var_r31->unk_38 = 0.0f;
|
||||||
|
var_r31->unk_3C.x = var_r31->unk_3C.y = var_r31->unk_3C.z = 0.0f;
|
||||||
|
var_r31->unk_48 = var_r31->unk_3C;
|
||||||
|
var_r31->unk_38 = 2.9166667f;
|
||||||
|
if (var_r31->unk_54) {
|
||||||
|
sp14.x = var_r31->unk_54->data.base.pos.x;
|
||||||
|
sp14.y = 10.0f + var_r31->unk_54->data.base.pos.y;
|
||||||
|
sp14.z = 20.0f + var_r31->unk_54->data.base.pos.z;
|
||||||
|
fn_1_7DA8(object, &sp14, 0);
|
||||||
|
}
|
||||||
|
HuAudFXPlay(0x818);
|
||||||
|
}
|
||||||
|
if (var_r31->unk_30 < 24.0f) {
|
||||||
|
var_r31->unk_38 *= 0.93f;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
var_f31 = 3.888889f;
|
||||||
|
var_r31->unk_38 = var_r31->unk_38 + (0.033333335f * var_f31);
|
||||||
|
if (var_r31->unk_38 > var_f31) {
|
||||||
|
var_r31->unk_38 = var_f31;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var_r26 = 0.5f + (0.2f * var_r31->unk_34);
|
||||||
|
var_r31->unk_34 = var_r31->unk_34 + var_r31->unk_38;
|
||||||
|
if (var_r31->unk_34 >= 350.0f) {
|
||||||
|
var_r31->unk_34 = 350.0f;
|
||||||
|
var_r31->unk_28 = 1;
|
||||||
|
HuAudFXPlay(0x819);
|
||||||
|
if (var_r31->unk_54) {
|
||||||
|
sp14.x = var_r31->unk_54->data.base.pos.x;
|
||||||
|
sp14.y = (var_r31->unk_54->data.base.pos.y + var_r31->unk_34) - 15.000001f;
|
||||||
|
sp14.z = 10.0f + var_r31->unk_54->data.base.pos.z;
|
||||||
|
fn_1_7DA8(object, &sp14, 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var_r25 = 0.5f + (0.2f * var_r31->unk_34);
|
||||||
|
if (var_r26 != var_r25) {
|
||||||
|
var_r31->unk_48.x = 100.0f * ((0.00003f * frandmod(0x3E8)) - 0.015f);
|
||||||
|
var_r31->unk_48.y = 100.0f * ((0.00006f * frandmod(0x3E8)) - 0.03f);
|
||||||
|
var_r31->unk_48.z = 100.0f * ((0.00006f * frandmod(0x3E8)) - 0.03f);
|
||||||
|
if (var_r31->unk_54) {
|
||||||
|
sp14.x = var_r31->unk_54->data.base.pos.x;
|
||||||
|
sp14.y = (var_r31->unk_54->data.base.pos.y + var_r31->unk_34) - 15.000001f;
|
||||||
|
sp14.z = 15.000001f + var_r31->unk_54->data.base.pos.z;
|
||||||
|
fn_1_7DA8(object, &sp14, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
PSVECSubtract(&var_r31->unk_48, &var_r31->unk_3C, &sp8);
|
||||||
|
PSVECScale(&sp8, &sp8, 0.4f);
|
||||||
|
PSVECAdd(&var_r31->unk_3C, &sp8, &sp14);
|
||||||
|
sp14.y += var_r31->unk_34;
|
||||||
|
Hu3DModelPosSetV(var_r31->unk_2C, &sp14);
|
||||||
|
var_r31->unk_30++;
|
||||||
|
}
|
||||||
|
fn_1_7B94(object->model[15]);
|
||||||
|
if (var_r28->unk_00 != 0) {
|
||||||
|
var_r28->unk_90 = var_r28->unk_90 + var_r28->unk_8C;
|
||||||
|
if (var_r28->unk_90 > 1.0f) {
|
||||||
|
var_r28->unk_00 = 0;
|
||||||
|
var_r28->unk_90 = 1.0f;
|
||||||
|
fn_1_3E68(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Vec lbl_1_data_36C = { 0.0f, 0.0f, 0.0f };
|
||||||
|
GXColor lbl_1_data_378 = { 0, 0, 0, 0x80 };
|
||||||
|
|
||||||
|
void fn_1_73F8(omObjData *object)
|
||||||
|
{
|
||||||
|
UnkM460MapWork *var_r31;
|
||||||
|
M460DllCameraStruct *var_r29;
|
||||||
|
u32 var_r28;
|
||||||
|
|
||||||
|
var_r31 = object->data;
|
||||||
|
Hu3DModelAttrSet(object->model[var_r31->unk_0C], HU3D_ATTR_DISPOFF);
|
||||||
|
Hu3DModelAttrSet(object->model[var_r31->unk_10 + 6], HU3D_ATTR_DISPOFF);
|
||||||
|
Hu3DModelAttrSet(object->model[var_r31->unk_14 + 3], HU3D_ATTR_DISPOFF);
|
||||||
|
Hu3DModelAttrSet(object->model[11], HU3D_ATTR_DISPOFF);
|
||||||
|
Hu3DModelAttrSet(object->model[12], HU3D_ATTR_DISPOFF);
|
||||||
|
if (var_r31->unk_04 != 0) {
|
||||||
|
var_r31->unk_0C = fn_1_76C4(3, var_r31->unk_0C);
|
||||||
|
var_r31->unk_14 = fn_1_76C4(3, var_r31->unk_14);
|
||||||
|
var_r31->unk_10 = fn_1_76C4(3, var_r31->unk_10);
|
||||||
|
var_r29 = fn_1_3E90(1);
|
||||||
|
var_r28 = var_r31->unk_08 = fn_1_76C4(8, var_r31->unk_08);
|
||||||
|
var_r29->unk_1C.x = lbl_1_data_1E8[var_r28][0];
|
||||||
|
var_r29->unk_1C.y = lbl_1_data_1E8[var_r28][1];
|
||||||
|
var_r29->unk_1C.z = lbl_1_data_1E8[var_r28][2];
|
||||||
|
var_r29->unk_28.x = lbl_1_data_1E8[var_r28][3];
|
||||||
|
var_r29->unk_28.y = lbl_1_data_1E8[var_r28][4];
|
||||||
|
var_r29->unk_28.z = lbl_1_data_1E8[var_r28][5];
|
||||||
|
var_r29->unk_34 = lbl_1_data_1E8[var_r28][6];
|
||||||
|
var_r29->unk_10 = lbl_1_data_1E8[var_r28][7];
|
||||||
|
}
|
||||||
|
Hu3DMotionTimeSet(object->model[9], 0.0f);
|
||||||
|
Hu3DMotionSpeedSet(object->model[9], 0.0f);
|
||||||
|
Hu3DMotionTimeSet(object->model[10], 0.0f);
|
||||||
|
Hu3DMotionSpeedSet(object->model[10], 0.0f);
|
||||||
|
Hu3DModelAttrReset(object->model[var_r31->unk_0C], HU3D_ATTR_DISPOFF);
|
||||||
|
Hu3DModelAttrReset(object->model[var_r31->unk_14 + 3], HU3D_ATTR_DISPOFF);
|
||||||
|
Hu3DModelAttrReset(object->model[var_r31->unk_10 + 6], HU3D_ATTR_DISPOFF);
|
||||||
|
Hu3DModelPosSetV(object->model[var_r31->unk_14 + 3], &lbl_1_data_36C);
|
||||||
|
Hu3DModelPosSetV(object->model[var_r31->unk_10 + 6], &lbl_1_data_36C);
|
||||||
|
var_r31->unk_04++;
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 fn_1_76C4(u32 arg0, u32 arg8)
|
||||||
|
{
|
||||||
|
u32 var_r31 = frandmod(arg0);
|
||||||
|
if (var_r31 == arg8) {
|
||||||
|
var_r31++;
|
||||||
|
}
|
||||||
|
var_r31 %= arg0;
|
||||||
|
return var_r31;
|
||||||
|
}
|
||||||
|
|
||||||
|
void fn_1_7724(ModelData *model, Mtx mtx)
|
||||||
|
{
|
||||||
|
UnkM460MapWork *var_r31 = lbl_1_bss_48->data;
|
||||||
|
GXSetTexCopySrc(0, 0, 0x280, 0x1E0);
|
||||||
|
GXSetTexCopyDst(0x280, 0x1E0, GX_TF_RGB5A3, 0);
|
||||||
|
GXCopyTex(var_r31->unk_5C, 0);
|
||||||
|
GXPixModeSync();
|
||||||
|
}
|
||||||
|
|
||||||
|
void fn_1_7790(ModelData *model, Mtx mtx)
|
||||||
|
{
|
||||||
|
Mtx sp5C;
|
||||||
|
Mtx sp2C;
|
||||||
|
GXTexObj spC;
|
||||||
|
float var_f31;
|
||||||
|
float var_f30;
|
||||||
|
float var_f29;
|
||||||
|
UnkM460MapWork *var_r31;
|
||||||
|
M460DllCameraStruct *var_r30;
|
||||||
|
|
||||||
|
var_r31 = lbl_1_bss_48->data;
|
||||||
|
var_r30 = fn_1_3F2C(2);
|
||||||
|
lbl_1_data_378.a = 255.0f * var_r30->unk_90;
|
||||||
|
DCStoreRange(&lbl_1_data_378, 4);
|
||||||
|
C_MTXPerspective(sp2C, 41.5f, 1.2f, 100.0f, 5500.0f);
|
||||||
|
GXSetProjection(sp2C, GX_PERSPECTIVE);
|
||||||
|
PSMTXIdentity(sp5C);
|
||||||
|
GXLoadPosMtxImm(sp5C, 0);
|
||||||
|
GXSetNumChans(1);
|
||||||
|
GXSetChanCtrl(GX_COLOR0A0, 0, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE);
|
||||||
|
GXInitTexObj(&spC, var_r31->unk_5C, 0x280, 0x1E0, 5, GX_CLAMP, GX_CLAMP, 0);
|
||||||
|
GXInitTexObjLOD(&spC, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, 0, 0, GX_ANISO_1);
|
||||||
|
GXLoadTexObj(&spC, GX_TEXMAP0);
|
||||||
|
C_MTXLightPerspective(sp2C, 41.5f, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f);
|
||||||
|
GXLoadTexMtxImm(sp2C, 0x1E, GX_MTX3x4);
|
||||||
|
GXSetNumTexGens(1);
|
||||||
|
GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, 0x1E, 0, 0x7D);
|
||||||
|
GXSetNumTevStages(1);
|
||||||
|
GXSetTevColor(GX_TEVREG0, lbl_1_data_378);
|
||||||
|
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0);
|
||||||
|
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_TEXC);
|
||||||
|
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 0, GX_TEVPREV);
|
||||||
|
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0);
|
||||||
|
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, 0, GX_TEVPREV);
|
||||||
|
GXSetAlphaCompare(GX_GEQUAL, 1, GX_AOP_AND, GX_GEQUAL, 1);
|
||||||
|
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_SET);
|
||||||
|
GXSetZMode(0, GX_LEQUAL, 0);
|
||||||
|
GXClearVtxDesc();
|
||||||
|
GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
|
||||||
|
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
|
||||||
|
var_f31 = 4125.0f;
|
||||||
|
var_f30 = 2750.0f;
|
||||||
|
var_f29 = 2530.0f;
|
||||||
|
GXBegin(GX_QUADS, GX_VTXFMT0, 4);
|
||||||
|
GXPosition3f32(-var_f31, var_f30, -var_f29);
|
||||||
|
GXPosition3f32(var_f31, var_f30, -var_f29);
|
||||||
|
GXPosition3f32(var_f31, -var_f30, -var_f29);
|
||||||
|
GXPosition3f32(-var_f31, -var_f30, -var_f29);
|
||||||
|
}
|
||||||
|
|
||||||
|
void fn_1_7B94(s32 arg0)
|
||||||
|
{
|
||||||
|
HsfanimStruct01 *var_r31;
|
||||||
|
ParticleData *var_r30;
|
||||||
|
s32 var_r29;
|
||||||
|
|
||||||
|
var_r30 = Hu3DData[arg0].unk_120;
|
||||||
|
for (var_r31 = var_r30->unk_48, var_r29 = 0; var_r29 < var_r30->unk_30; var_r29++, var_r31++) {
|
||||||
|
if (var_r31->unk00_s16 != 0) {
|
||||||
|
PSVECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34);
|
||||||
|
switch (var_r31->unk02) {
|
||||||
|
case 0:
|
||||||
|
var_r31->unk2C += 1.0f;
|
||||||
|
var_r31->unk20 *= 0.99f;
|
||||||
|
var_r31->unk08.y += 0.019444447f;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
var_r31->unk2C += 2.0f;
|
||||||
|
var_r31->unk20 *= 0.98f;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
var_r31->unk2C += 1.0f;
|
||||||
|
var_r31->unk20 *= 0.995f;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (var_r31->unk00_s16 < 12.0f) {
|
||||||
|
var_r31->unk20 = 0.9f * var_r31->unk20;
|
||||||
|
}
|
||||||
|
var_r31->unk40.a = var_r31->unk20;
|
||||||
|
if (--var_r31->unk00_s16 == 0) {
|
||||||
|
var_r31->unk00 = 0;
|
||||||
|
var_r31->unk2C = 0.0f;
|
||||||
|
var_r31->unk40.a = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
DCStoreRange(var_r30->unk_48, var_r30->unk_30 * 0x44);
|
||||||
|
}
|
||||||
|
|
||||||
|
void fn_1_7DA8(omObjData *object, Vec *arg1, u32 arg2)
|
||||||
|
{
|
||||||
|
Vec sp1C;
|
||||||
|
float var_f31;
|
||||||
|
|
||||||
|
HsfanimStruct01 *var_r31;
|
||||||
|
ParticleData *var_r30;
|
||||||
|
s32 var_r28;
|
||||||
|
u32 var_r27;
|
||||||
|
|
||||||
|
GXColor spC = { 0xA2, 0x97, 0x7B, 0x80 };
|
||||||
|
GXColor sp8 = { 0xE7, 0xDD, 0xC0, 0xFF };
|
||||||
|
s32 sp10[3] = { 0x00000032, 4, 0x00000046 };
|
||||||
|
|
||||||
|
var_r30 = Hu3DData[object->model[15]].unk_120;
|
||||||
|
if (arg2 > 2) {
|
||||||
|
arg2 = 1;
|
||||||
|
}
|
||||||
|
var_r27 = sp10[arg2];
|
||||||
|
for (var_r31 = var_r30->unk_48, var_r28 = 0; var_r28 < var_r30->unk_30; var_r28++, var_r31++) {
|
||||||
|
if (var_r31->unk00_s16 == 0) {
|
||||||
|
var_r31->unk02 = arg2;
|
||||||
|
sp1C.x = 100.0f * ((0.0026f * frandmod(0x3E8)) - 1.3f);
|
||||||
|
sp1C.y = 0.0f;
|
||||||
|
sp1C.z = 100.0f * ((0.000100000005f * frandmod(0x3E8)) - 0.05f);
|
||||||
|
PSVECAdd(&sp1C, arg1, &var_r31->unk34);
|
||||||
|
var_r31->unk30 = 0.0031415902f * frandmod(0x3E8);
|
||||||
|
switch (arg2) {
|
||||||
|
case 0:
|
||||||
|
var_r31->unk00_s16 = 60.0f * (0.8f + (0.0007f * frandmod(0x3E8)));
|
||||||
|
var_r31->unk08.x = 1.6666667f * (0.000100000005f * frandmod(0x3E8) - 0.05f);
|
||||||
|
var_r31->unk08.y = 1.6666667f * (0.05f + (0.00020000001f * frandmod(0x3E8)));
|
||||||
|
var_r31->unk08.z = 1.6666667f * (0.1f + (0.0006f * frandmod(0x3E8)));
|
||||||
|
var_f31 = 0.001f * frandmod(0x3E8);
|
||||||
|
var_r31->unk2C = 30.0f + (30.0f * var_f31);
|
||||||
|
var_r31->unk40.a = 40.0f + (40.0f * (1.0f - var_f31));
|
||||||
|
var_r31->unk40.r = spC.r + (var_f31 * (sp8.r - spC.r));
|
||||||
|
var_r31->unk40.g = spC.g + (var_f31 * (sp8.g - spC.g));
|
||||||
|
var_r31->unk40.b = spC.b + (var_f31 * (sp8.b - spC.b));
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
sp1C.x = 100.0f * (1.1f + (0.00020000001f * frandmod(0x3E8)));
|
||||||
|
sp1C.y = 100.0f * (0.2f + (0.0005f * frandmod(0x3E8)));
|
||||||
|
if (frandmod(0x3E8) < 0x1F4) {
|
||||||
|
sp1C.x *= -1.0f;
|
||||||
|
}
|
||||||
|
PSVECAdd(&sp1C, arg1, &var_r31->unk34);
|
||||||
|
var_r31->unk00 = 60.0f * (0.2f + (0.0005f * frandmod(0x3E8)));
|
||||||
|
var_r31->unk08.x = 1.6666667f * ((0.000100000005f * frandmod(0x3E8)) - 0.05f);
|
||||||
|
var_r31->unk08.y = -1.6666667f * (0.2f + (0.0003f * frandmod(0x3E8)));
|
||||||
|
var_r31->unk08.z = 1.6666667f * (0.05f + (0.000100000005f * frandmod(0x3E8)));
|
||||||
|
var_f31 = 0.001f * frandmod(0x3E8);
|
||||||
|
var_r31->unk2C = 20.0f + (30.0f * var_f31);
|
||||||
|
var_r31->unk40.a = 8.0f + (13.0f * (1.0f - var_f31));
|
||||||
|
var_r31->unk40.r = spC.r + (var_f31 * (sp8.r - spC.r));
|
||||||
|
var_r31->unk40.g = spC.g + (var_f31 * (sp8.g - spC.g));
|
||||||
|
var_r31->unk40.b = spC.b + (var_f31 * (sp8.b - spC.b));
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
var_r31->unk00 = 60.0f * (0.9f + (0.00080000004f * frandmod(0x3E8)));
|
||||||
|
var_r31->unk08.x = 1.6666667f * ((0.00020000001f * frandmod(0x3E8)) - 0.1f);
|
||||||
|
var_r31->unk08.y = -1.6666667f * (0.1f + (0.0007f * frandmod(0x3E8)));
|
||||||
|
var_r31->unk08.z = 1.6666667f * ((0.00020000001f * frandmod(0x3E8)) - 0.1f);
|
||||||
|
var_f31 = 0.001f * frandmod(0x3E8);
|
||||||
|
var_r31->unk2C = 40.0f + (60.0f * var_f31);
|
||||||
|
var_r31->unk40.a = 8.0f + (10.0f * (1.0f - var_f31));
|
||||||
|
var_r31->unk40.r = spC.r + (var_f31 * (sp8.r - spC.r));
|
||||||
|
var_r31->unk40.g = spC.g + (var_f31 * (sp8.g - spC.g));
|
||||||
|
var_r31->unk40.b = spC.b + (var_f31 * (sp8.b - spC.b));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
var_r31->unk20 = var_r31->unk40.a;
|
||||||
|
var_r27--;
|
||||||
|
if (var_r27 < 1) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
DCStoreRange(var_r30->unk_48, var_r30->unk_30 * sizeof(HsfanimStruct01));
|
||||||
|
}
|
||||||
|
|
||||||
|
void fn_1_8BA0(float arg8)
|
||||||
|
{
|
||||||
|
M460DllCameraStruct *var_r31;
|
||||||
|
M460DllCameraStruct *var_r30;
|
||||||
|
|
||||||
|
var_r30 = fn_1_3E90(1);
|
||||||
|
var_r31 = fn_1_3E90(2);
|
||||||
|
var_r31->unk_00 = 1;
|
||||||
|
var_r31->unk_1C = var_r30->unk_1C;
|
||||||
|
var_r31->unk_28 = var_r30->unk_28;
|
||||||
|
var_r31->unk_34 = var_r30->unk_34;
|
||||||
|
var_r31->unk_10 = var_r30->unk_10;
|
||||||
|
var_r31->unk_44 = var_r30->unk_44;
|
||||||
|
var_r31->unk_40 = var_r30->unk_40;
|
||||||
|
var_r31->unk_8C = arg8;
|
||||||
|
var_r31->unk_90 = 0.0f;
|
||||||
|
fn_1_3E68(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 fn_1_8C78(void)
|
||||||
|
{
|
||||||
|
M460DllCameraStruct *var_r31 = fn_1_3E90(2);
|
||||||
|
return var_r31->unk_00;
|
||||||
|
}
|
||||||
658
src/REL/m460Dll/player.c
Normal file
658
src/REL/m460Dll/player.c
Normal file
|
|
@ -0,0 +1,658 @@
|
||||||
|
#include "datadir_enum.h"
|
||||||
|
#include "ext_math.h"
|
||||||
|
#include "game/audio.h"
|
||||||
|
#include "game/chrman.h"
|
||||||
|
#include "game/gamework_data.h"
|
||||||
|
#include "game/hsfman.h"
|
||||||
|
#include "game/hsfmotion.h"
|
||||||
|
#include "game/memory.h"
|
||||||
|
#include "game/object.h"
|
||||||
|
#include "game/pad.h"
|
||||||
|
#include "string.h"
|
||||||
|
|
||||||
|
#include "REL/m460Dll.h"
|
||||||
|
|
||||||
|
#ifndef __MWERKS__
|
||||||
|
#include "game/frand.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef struct UnkData110Struct {
|
||||||
|
/* 0x00 */ u16 unk_00;
|
||||||
|
/* 0x04 */ float unk_04;
|
||||||
|
/* 0x08 */ float unk_08;
|
||||||
|
/* 0x0C */ float unk_0C;
|
||||||
|
/* 0x10 */ u32 unk_10;
|
||||||
|
} UnkData110Struct; /* size = 0x14 */
|
||||||
|
|
||||||
|
typedef struct UnkM460DllPlayerWork {
|
||||||
|
s32 unk_00;
|
||||||
|
s32 unk_04;
|
||||||
|
s32 unk_08;
|
||||||
|
s32 unk_0C;
|
||||||
|
s32 unk_10;
|
||||||
|
u32 unk_14;
|
||||||
|
u32 unk_18;
|
||||||
|
float unk_1C;
|
||||||
|
float unk_20;
|
||||||
|
s32 unk_24;
|
||||||
|
s32 unk_28;
|
||||||
|
u16 unk_2C;
|
||||||
|
s32 unk_30;
|
||||||
|
char unk34[0x4];
|
||||||
|
s16 unk_38;
|
||||||
|
char unk3A[6];
|
||||||
|
s32 unk_40;
|
||||||
|
float unk_44;
|
||||||
|
float unk_48;
|
||||||
|
float unk_4C;
|
||||||
|
float unk_50;
|
||||||
|
float unk_54;
|
||||||
|
s32 unk_58;
|
||||||
|
float unk_5C;
|
||||||
|
Vec unk_60;
|
||||||
|
Vec unk_6C;
|
||||||
|
Vec unk_78;
|
||||||
|
s32 unk_84;
|
||||||
|
} UnkM460DllPlayerWork; /* size = 0x88 */
|
||||||
|
|
||||||
|
void fn_1_4C08(omObjData *object);
|
||||||
|
void fn_1_4F6C(omObjData *object);
|
||||||
|
void fn_1_5168(omObjData *object);
|
||||||
|
void fn_1_55EC(omObjData *object);
|
||||||
|
void fn_1_57D8(omObjData *object);
|
||||||
|
s32 fn_1_58C8(omObjData *object, float arg8, float arg9);
|
||||||
|
void fn_1_5A14(omObjData *object);
|
||||||
|
void fn_1_5C88(omObjData *object);
|
||||||
|
void fn_1_5CE0(omObjData *object, u32 arg1);
|
||||||
|
s32 fn_1_5E6C(omObjData *object);
|
||||||
|
void fn_1_60B0(omObjData *object);
|
||||||
|
void fn_1_61F4(omObjData *object);
|
||||||
|
|
||||||
|
u32 lbl_1_data_F0[8] = { 0, 2, 3, 0x590015, 0x59000D, 0x17, 0x18, 0x1A };
|
||||||
|
struct UnkData110Struct lbl_1_data_110[8] = {
|
||||||
|
{ 0, 0.2f, 0.0f, -1.0f, 0x40000001 },
|
||||||
|
{ 1, 0.2f, 0.0f, -1.0f, 0x40000001 },
|
||||||
|
{ 2, 0.2f, 0.0f, -1.0f, 0x40000001 },
|
||||||
|
{ 3, 0.2f, 0.0f, -1.0f, 0x40000001 },
|
||||||
|
{ 4, 0.2f, 0.0f, -1.0f, 0 },
|
||||||
|
{ 5, 0.2f, 0.0f, -1.0f, 0 },
|
||||||
|
{ 6, 0.2f, 0.0f, -1.0f, 0 },
|
||||||
|
{ 7, 0.2f, 0.0f, -1.0f, 0x40000001 },
|
||||||
|
};
|
||||||
|
|
||||||
|
omObjData *lbl_1_bss_40[1];
|
||||||
|
omObjData *lbl_1_bss_3C;
|
||||||
|
s32 lbl_1_bss_38[1];
|
||||||
|
|
||||||
|
void fn_1_49A0(Process *process)
|
||||||
|
{
|
||||||
|
u32 spC[1];
|
||||||
|
u32 sp8[1];
|
||||||
|
|
||||||
|
s16 var_r31;
|
||||||
|
s16 var_r30;
|
||||||
|
u32 var_r29;
|
||||||
|
omObjData *var_r27;
|
||||||
|
|
||||||
|
for (var_r31 = 0; var_r31 < 1; var_r31++) {
|
||||||
|
spC[var_r31] = GWPlayerCfg[var_r31].group;
|
||||||
|
sp8[var_r31] = var_r31;
|
||||||
|
}
|
||||||
|
for (var_r31 = 0; var_r31 < 0; var_r31++) {
|
||||||
|
for (var_r30 = var_r31 + 1; var_r30 < 1; var_r30++) {
|
||||||
|
if (spC[var_r31] > spC[var_r30]) {
|
||||||
|
var_r29 = spC[var_r31];
|
||||||
|
spC[var_r31] = spC[var_r30];
|
||||||
|
spC[var_r30] = var_r29;
|
||||||
|
var_r29 = sp8[var_r31];
|
||||||
|
sp8[var_r31] = sp8[var_r30];
|
||||||
|
sp8[var_r30] = var_r29;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (var_r31 = 0; var_r31 < 1; var_r31++) {
|
||||||
|
lbl_1_bss_38[sp8[var_r31]] = var_r31;
|
||||||
|
}
|
||||||
|
omMakeGroupEx(process, 0, 1);
|
||||||
|
omGetGroupMemberListEx(process, 0);
|
||||||
|
for (var_r31 = 0; var_r31 < 1; var_r31++) {
|
||||||
|
var_r27 = lbl_1_bss_40[var_r31] = omAddObjEx(process, 0x28, 1, 8, 0, fn_1_4C08);
|
||||||
|
var_r27->work[0] = var_r31;
|
||||||
|
}
|
||||||
|
lbl_1_bss_3C = omAddObjEx(process, 0x28, 1, 5, -1, fn_1_60B0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void fn_1_4BE4(void)
|
||||||
|
{
|
||||||
|
CharModelKill(-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void fn_1_4C08(omObjData *object)
|
||||||
|
{
|
||||||
|
UnkM460DllPlayerWork *var_r31;
|
||||||
|
s32 var_r29;
|
||||||
|
|
||||||
|
float sp8[4] = { 0.25f, 0.5f, 0.75f, 1.0f };
|
||||||
|
Vec sp18[4] = {
|
||||||
|
{ 0.0f, 0.0f, 300.0f },
|
||||||
|
{ -450.0f, 0.0f, -50.0f },
|
||||||
|
{ 0.0f, 0.0f, -350.0f },
|
||||||
|
{ 450.0f, 0.0f, -50.0f },
|
||||||
|
};
|
||||||
|
object->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkM460DllPlayerWork), MEMORY_DEFAULT_NUM);
|
||||||
|
var_r31 = object->data;
|
||||||
|
memset(var_r31, 0, sizeof(UnkM460DllPlayerWork));
|
||||||
|
object->stat |= 0x100;
|
||||||
|
var_r31->unk_00 = GWPlayerCfg[object->work[0]].character;
|
||||||
|
var_r31->unk_08 = lbl_1_bss_38[object->work[0]];
|
||||||
|
fn_1_41B4(object->work[0], var_r31->unk_08, var_r31->unk_00);
|
||||||
|
var_r31->unk_54 = sp8[GWPlayerCfg[object->work[0]].diff & 3];
|
||||||
|
var_r31->unk_24 = GWPlayerCfg[object->work[0]].iscom;
|
||||||
|
object->model[0] = CharModelCreate(var_r31->unk_00, 2);
|
||||||
|
Hu3DModelLayerSet(object->model[0], 1);
|
||||||
|
CharModelLayerSetAll(2);
|
||||||
|
Hu3DModelShadowSet(object->model[0]);
|
||||||
|
for (var_r29 = 0; var_r29 < 8; var_r29++) {
|
||||||
|
if (lbl_1_data_F0[var_r29] < 0x10000) {
|
||||||
|
object->motion[var_r29] = CharModelMotionCreate(var_r31->unk_00, lbl_1_data_F0[var_r29]);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
object->motion[var_r29] = Hu3DJointMotionFile(object->model[0], var_r31->unk_00 + lbl_1_data_F0[var_r29]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
CharModelMotionDataClose(var_r31->unk_00);
|
||||||
|
CharModelEffectNpcInitSilent(object->model[0], object->motion[3], 1);
|
||||||
|
object->trans.x = var_r31->unk_60.x = sp18[var_r31->unk_08].x;
|
||||||
|
object->trans.y = var_r31->unk_60.y = sp18[var_r31->unk_08].y;
|
||||||
|
object->trans.z = var_r31->unk_60.z = sp18[var_r31->unk_08].z;
|
||||||
|
var_r31->unk_44 = var_r31->unk_48 = 0.0f;
|
||||||
|
var_r31->unk_4C = 0.0f;
|
||||||
|
var_r31->unk_50 = 0.02f;
|
||||||
|
var_r31->unk_5C = 50.0f;
|
||||||
|
var_r31->unk_58 = 0;
|
||||||
|
var_r31->unk_2C = 0;
|
||||||
|
var_r31->unk_04 = -1;
|
||||||
|
fn_1_5CE0(object, 0);
|
||||||
|
var_r31->unk_84 = -1;
|
||||||
|
object->func = fn_1_4F6C;
|
||||||
|
}
|
||||||
|
|
||||||
|
void fn_1_4F6C(omObjData *object)
|
||||||
|
{
|
||||||
|
UnkM460DllPlayerWork *var_r31;
|
||||||
|
s32 var_r29;
|
||||||
|
|
||||||
|
var_r31 = object->data;
|
||||||
|
var_r31->unk_14 = var_r31->unk_18 = 0;
|
||||||
|
var_r31->unk_0C = var_r31->unk_10 = 0;
|
||||||
|
var_r31->unk_1C = 0.0f;
|
||||||
|
var_r31->unk_20 = 0.0f;
|
||||||
|
switch (var_r31->unk_2C) {
|
||||||
|
case 0:
|
||||||
|
var_r31->unk_44 = var_r31->unk_48 = 180.0f;
|
||||||
|
var_r31->unk_60.x = 0.0f;
|
||||||
|
var_r31->unk_60.y = 0.0f;
|
||||||
|
var_r31->unk_60.z = -450.0f;
|
||||||
|
fn_1_5CE0(object, 7);
|
||||||
|
var_r31->unk_2C = 1;
|
||||||
|
var_r31->unk_30 = 0;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
if (fn_1_414C() == 1) {
|
||||||
|
var_r31->unk_60.x = 0.0f;
|
||||||
|
var_r31->unk_60.y = 0.0f;
|
||||||
|
var_r31->unk_60.z = -100.0f;
|
||||||
|
var_r31->unk_78.x = 0.0f;
|
||||||
|
var_r31->unk_78.y = 0.0f;
|
||||||
|
var_r31->unk_78.z = -450.0f;
|
||||||
|
var_r31->unk_2C = 2;
|
||||||
|
var_r31->unk_30 = 0;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
var_r29 = fn_1_58C8(object, 0.5f, 20.0f);
|
||||||
|
fn_1_5A14(object);
|
||||||
|
if (var_r29 != 0) {
|
||||||
|
var_r31->unk_2C = 3;
|
||||||
|
var_r31->unk_30 = 0;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
PSVECAdd(&var_r31->unk_60, &var_r31->unk_6C, &var_r31->unk_60);
|
||||||
|
fn_1_57D8(object);
|
||||||
|
if (fn_1_414C() == 2) {
|
||||||
|
var_r31->unk_2C = 0;
|
||||||
|
object->func = fn_1_5168;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void fn_1_5168(omObjData *object)
|
||||||
|
{
|
||||||
|
UnkM460DllPlayerWork *var_r31;
|
||||||
|
s32 var_r29;
|
||||||
|
u32 var_r28;
|
||||||
|
s32 var_r27;
|
||||||
|
|
||||||
|
var_r31 = object->data;
|
||||||
|
var_r27 = 0;
|
||||||
|
{
|
||||||
|
Vec sp20[2] = {
|
||||||
|
{ -250.0f, 0.0f, -900.0f },
|
||||||
|
{ 250.0f, 0.0f, -900.0f },
|
||||||
|
};
|
||||||
|
|
||||||
|
Vec sp8[2] = {
|
||||||
|
{ -250.0f, 0.0f, -1400.0f },
|
||||||
|
{ 250.0f, 0.0f, -1400.0f },
|
||||||
|
};
|
||||||
|
var_r31->unk_14 = var_r31->unk_18 = 0;
|
||||||
|
var_r31->unk_0C = var_r31->unk_10 = 0;
|
||||||
|
var_r31->unk_1C = 0.0f;
|
||||||
|
var_r31->unk_20 = 0.0f;
|
||||||
|
if (fn_1_4164() == 2) {
|
||||||
|
if (var_r31->unk_24 != 0) {
|
||||||
|
fn_1_5C88(object);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (HuPadTrigL[GWPlayerCfg[object->work[0]].pad_idx] > 0x28) {
|
||||||
|
var_r31->unk_14 = 1;
|
||||||
|
}
|
||||||
|
if (HuPadTrigR[GWPlayerCfg[object->work[0]].pad_idx] > 0x28) {
|
||||||
|
var_r31->unk_18 = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
switch (var_r31->unk_2C) {
|
||||||
|
case 0:
|
||||||
|
if (fn_1_4370() != 0) {
|
||||||
|
var_r31->unk_60.x = -140.0f;
|
||||||
|
var_r31->unk_60.y = 0.0f;
|
||||||
|
var_r31->unk_60.z = -150.0f;
|
||||||
|
}
|
||||||
|
var_r31->unk_78.x = 0.0f;
|
||||||
|
var_r31->unk_78.y = 0.0f;
|
||||||
|
var_r31->unk_78.z = -450.0f;
|
||||||
|
var_r31->unk_40 = 3;
|
||||||
|
var_r31->unk_2C = 4;
|
||||||
|
case 4:
|
||||||
|
var_r29 = fn_1_58C8(object, 0.5f, 20.0f);
|
||||||
|
fn_1_5A14(object);
|
||||||
|
if ((var_r29 != 0) && (fn_1_4164() == 2)) {
|
||||||
|
var_r31->unk_48 = 180.0f;
|
||||||
|
var_r31->unk_6C.x = var_r31->unk_6C.y = var_r31->unk_6C.z = 0.0f;
|
||||||
|
var_r31->unk_2C = 5;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
var_r29 = 0;
|
||||||
|
fn_1_5A14(object);
|
||||||
|
if (CharModelMotionShiftIDGet(var_r31->unk_00) < 0) {
|
||||||
|
var_r29 = 1;
|
||||||
|
}
|
||||||
|
var_r28 = fn_1_42F0();
|
||||||
|
if (var_r28 == 3) {
|
||||||
|
if (var_r29 != 0) {
|
||||||
|
if (var_r31->unk_14 != 0) {
|
||||||
|
var_r28 = 0;
|
||||||
|
}
|
||||||
|
else if (var_r31->unk_18 != 0) {
|
||||||
|
var_r28 = 1;
|
||||||
|
}
|
||||||
|
if (var_r28 != 3) {
|
||||||
|
fn_1_42BC(var_r28);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
var_r31->unk_40 = var_r28;
|
||||||
|
var_r31->unk_78 = sp20[var_r31->unk_40];
|
||||||
|
var_r31->unk_2C = 6;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
var_r29 = fn_1_58C8(object, 1.0f, 20.0f);
|
||||||
|
fn_1_5A14(object);
|
||||||
|
if (var_r29 != 0) {
|
||||||
|
fn_1_4308();
|
||||||
|
var_r31->unk_48 = 180.0f;
|
||||||
|
var_r31->unk_6C.x = var_r31->unk_6C.y = var_r31->unk_6C.z = 0.0f;
|
||||||
|
var_r31->unk_2C = 7;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 7:
|
||||||
|
fn_1_5A14(object);
|
||||||
|
if (fn_1_4358() != 0) {
|
||||||
|
if (fn_1_419C() == 0) {
|
||||||
|
var_r31->unk_78 = sp8[var_r31->unk_40];
|
||||||
|
var_r31->unk_2C = 8;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
var_r27 = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 8:
|
||||||
|
var_r29 = fn_1_58C8(object, 0.5f, 20.0f);
|
||||||
|
fn_1_5A14(object);
|
||||||
|
|
||||||
|
default:
|
||||||
|
if (fn_1_4164() == 1) {
|
||||||
|
var_r31->unk_2C = 0;
|
||||||
|
}
|
||||||
|
var_r27 = 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
PSVECAdd(&var_r31->unk_60, &var_r31->unk_6C, &var_r31->unk_60);
|
||||||
|
fn_1_57D8(object);
|
||||||
|
if ((fn_1_4164() == 5) && (var_r27 != 0)) {
|
||||||
|
var_r31->unk_2C = 0;
|
||||||
|
object->func = fn_1_55EC;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void fn_1_55EC(omObjData *object)
|
||||||
|
{
|
||||||
|
Vec sp8;
|
||||||
|
UnkM460DllPlayerWork *var_r31;
|
||||||
|
s32 var_r29;
|
||||||
|
|
||||||
|
var_r31 = object->data;
|
||||||
|
var_r29 = 0;
|
||||||
|
switch (var_r31->unk_2C) {
|
||||||
|
case 0:
|
||||||
|
fn_1_41F4(object->work[0]);
|
||||||
|
fn_1_5CE0(object, 4);
|
||||||
|
sp8 = var_r31->unk_60;
|
||||||
|
sp8.y += 160.0f;
|
||||||
|
var_r31->unk_2C = 9;
|
||||||
|
break;
|
||||||
|
case 9:
|
||||||
|
if (fn_1_5E6C(object) != 0) {
|
||||||
|
var_r31->unk_78.x = 0.0f;
|
||||||
|
var_r31->unk_78.y = 0.0f;
|
||||||
|
var_r31->unk_78.z = 500.0f;
|
||||||
|
fn_1_4224(object->work[0]);
|
||||||
|
HuAudCharVoicePlay(var_r31->unk_00, 0x128);
|
||||||
|
var_r31->unk_28 = 1;
|
||||||
|
var_r31->unk_2C = 0xA;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 10:
|
||||||
|
var_r29 = fn_1_58C8(object, 1.0f, 20.0f);
|
||||||
|
fn_1_5A14(object);
|
||||||
|
if (var_r29 != 0) {
|
||||||
|
var_r31->unk_6C.x = var_r31->unk_6C.y = var_r31->unk_6C.z = 0.0f;
|
||||||
|
var_r31->unk_2C = 0xB;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 11:
|
||||||
|
fn_1_5CE0(object, 0);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
PSVECAdd(&var_r31->unk_60, &var_r31->unk_6C, &var_r31->unk_60);
|
||||||
|
fn_1_57D8(object);
|
||||||
|
if (var_r31->unk_84 >= 0) {
|
||||||
|
sp8 = var_r31->unk_60;
|
||||||
|
sp8.y += 160.0f;
|
||||||
|
HuAudFXEmiterUpDate(var_r31->unk_84, &sp8);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void fn_1_57D8(omObjData *object)
|
||||||
|
{
|
||||||
|
UnkM460DllPlayerWork *var_r31 = object->data;
|
||||||
|
var_r31->unk_38++;
|
||||||
|
var_r31->unk_30++;
|
||||||
|
object->trans.x = var_r31->unk_60.x;
|
||||||
|
object->trans.y = var_r31->unk_60.y;
|
||||||
|
object->trans.z = var_r31->unk_60.z;
|
||||||
|
var_r31->unk_4C = var_r31->unk_4C + var_r31->unk_50;
|
||||||
|
if (var_r31->unk_4C > 0.45f) {
|
||||||
|
var_r31->unk_4C = 0.45f;
|
||||||
|
}
|
||||||
|
var_r31->unk_44 = fn_1_47D0(var_r31->unk_44, var_r31->unk_48, var_r31->unk_4C);
|
||||||
|
object->rot.y = var_r31->unk_44;
|
||||||
|
Hu3DModelPosSetV(object->model[0], &var_r31->unk_60);
|
||||||
|
Hu3DModelRotSet(object->model[0], 0.0f, var_r31->unk_44, 0.0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 fn_1_58C8(omObjData *object, float arg8, float arg9)
|
||||||
|
{
|
||||||
|
Vec spC;
|
||||||
|
float var_f31;
|
||||||
|
UnkM460DllPlayerWork *var_r31;
|
||||||
|
s32 var_r30;
|
||||||
|
|
||||||
|
var_r31 = object->data;
|
||||||
|
var_r30 = 0;
|
||||||
|
PSVECSubtract(&var_r31->unk_78, &var_r31->unk_60, &spC);
|
||||||
|
spC.y = 0.0f;
|
||||||
|
var_f31 = PSVECMag(&spC);
|
||||||
|
if (var_f31 < arg9) {
|
||||||
|
var_f31 = 0.0f;
|
||||||
|
var_r30 = 1;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (PSVECMag(&spC) >= 100.0f) {
|
||||||
|
var_f31 = 100.0f;
|
||||||
|
}
|
||||||
|
var_f31 = 0.2f + (0.008f * var_f31);
|
||||||
|
}
|
||||||
|
var_r31->unk_1C = atan2d(spC.x, spC.z);
|
||||||
|
var_r31->unk_20 = var_f31;
|
||||||
|
if (var_r31->unk_20 > arg8) {
|
||||||
|
var_r31->unk_20 = arg8;
|
||||||
|
}
|
||||||
|
return var_r30;
|
||||||
|
}
|
||||||
|
|
||||||
|
void fn_1_5A14(omObjData *object)
|
||||||
|
{
|
||||||
|
float var_f31;
|
||||||
|
float var_f30;
|
||||||
|
|
||||||
|
UnkM460DllPlayerWork *var_r31 = object->data;
|
||||||
|
if (var_r31->unk_20 > 0.0f) {
|
||||||
|
var_r31->unk_48 = var_r31->unk_1C;
|
||||||
|
}
|
||||||
|
if (var_r31->unk_20 > 0.05f) {
|
||||||
|
// 1 / REFRESH_RATE?
|
||||||
|
var_r31->unk_6C.x = 0.01666666753590107 * (550.0 * (var_r31->unk_20 * sind(var_r31->unk_1C)));
|
||||||
|
var_r31->unk_6C.z = 0.01666666753590107 * (550.0 * (var_r31->unk_20 * cosd(var_r31->unk_1C)));
|
||||||
|
if (var_r31->unk_28 != 0) {
|
||||||
|
var_r31->unk_6C.x *= 1.5f;
|
||||||
|
var_r31->unk_6C.z *= 1.5f;
|
||||||
|
}
|
||||||
|
var_r31->unk_4C = 0.2f;
|
||||||
|
var_r31->unk_50 = 0.0f;
|
||||||
|
if (CharModelMotionShiftIDGet(var_r31->unk_00) < 0) {
|
||||||
|
var_f31 = 0.5f;
|
||||||
|
if (var_r31->unk_04 == 2) {
|
||||||
|
var_f31 = 0.45f;
|
||||||
|
}
|
||||||
|
if (var_r31->unk_20 > var_f31) {
|
||||||
|
if (var_r31->unk_28 != 0) {
|
||||||
|
fn_1_5CE0(object, 3);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
fn_1_5CE0(object, 2);
|
||||||
|
}
|
||||||
|
var_f30 = var_r31->unk_20;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
fn_1_5CE0(object, 1);
|
||||||
|
var_f30 = var_r31->unk_20 / var_f31;
|
||||||
|
}
|
||||||
|
CharModelMotionSpeedSet(var_r31->unk_00, var_f30);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
var_r31->unk_6C.x = var_r31->unk_6C.y = var_r31->unk_6C.z = 0.0f;
|
||||||
|
if (CharModelMotionShiftIDGet(var_r31->unk_00) < 0) {
|
||||||
|
fn_1_5CE0(object, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void fn_1_5C88(omObjData *object)
|
||||||
|
{
|
||||||
|
UnkM460DllPlayerWork *var_r31 = object->data;
|
||||||
|
if (frandmod(0x3E8) < 0x1F4) {
|
||||||
|
var_r31->unk_14 = 1;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var_r31->unk_18 = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
void fn_1_5CE0(omObjData *object, u32 arg1)
|
||||||
|
{
|
||||||
|
UnkM460DllPlayerWork *var_r30 = object->data;
|
||||||
|
if ((var_r30->unk_04 != arg1) && (arg1 < 8)) {
|
||||||
|
float var_f31 = 60.0f * lbl_1_data_110[arg1].unk_04;
|
||||||
|
if (var_r30->unk_04 < 0) {
|
||||||
|
var_f31 = 0.0f;
|
||||||
|
}
|
||||||
|
var_r30->unk_04 = arg1;
|
||||||
|
CharModelMotionShiftSet(
|
||||||
|
var_r30->unk_00, object->motion[lbl_1_data_110[arg1].unk_00], 60.0f * lbl_1_data_110[arg1].unk_08, var_f31, lbl_1_data_110[arg1].unk_10);
|
||||||
|
if (lbl_1_data_110[arg1].unk_0C >= 0.0f) {
|
||||||
|
Hu3DMotionShiftStartEndSet(object->model[0], 60.0f * lbl_1_data_110[arg1].unk_08, 60.0f * lbl_1_data_110[arg1].unk_0C);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 fn_1_5E6C(omObjData *object)
|
||||||
|
{
|
||||||
|
M460DllCameraStruct *var_r31 = object->data;
|
||||||
|
s32 var_r30 = 0;
|
||||||
|
if ((CharModelMotionEndCheck(var_r31->unk_00) != 0) && (CharModelMotionShiftIDGet(var_r31->unk_00) < 0)) {
|
||||||
|
var_r30 = 1;
|
||||||
|
}
|
||||||
|
return var_r30;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 fn_1_5EE0(omObjData *object, u32 arg1)
|
||||||
|
{
|
||||||
|
s32 var_r27 = 0;
|
||||||
|
if (fn_1_5E6C(object)) {
|
||||||
|
fn_1_5CE0(object, arg1);
|
||||||
|
var_r27 = 1;
|
||||||
|
}
|
||||||
|
return var_r27;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 lbl_1_data_1D4[5] = {
|
||||||
|
DATA_MAKE_NUM(DATADIR_M460, 0x1E),
|
||||||
|
DATA_MAKE_NUM(DATADIR_M460, 0x1F),
|
||||||
|
DATA_MAKE_NUM(DATADIR_M460, 0x20),
|
||||||
|
DATA_MAKE_NUM(DATADIR_M460, 0x21),
|
||||||
|
DATA_MAKE_NUM(DATADIR_M460, 0x22),
|
||||||
|
};
|
||||||
|
|
||||||
|
void fn_1_60B0(omObjData *object)
|
||||||
|
{
|
||||||
|
s32 var_r30;
|
||||||
|
s32 var_r29;
|
||||||
|
|
||||||
|
omSetTra(object, 0.0f, 0.0f, 0.0f);
|
||||||
|
var_r30 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M460, 0x1D));
|
||||||
|
object->model[0] = var_r30;
|
||||||
|
Hu3DModelLayerSet(var_r30, 1);
|
||||||
|
Hu3DModelShadowSet(var_r30);
|
||||||
|
Hu3DModelAttrSet(var_r30, HU3D_ATTR_DISPOFF);
|
||||||
|
for (var_r29 = 0; var_r29 < 5; var_r29++) {
|
||||||
|
object->motion[var_r29] = Hu3DJointMotionFile(var_r30, lbl_1_data_1D4[var_r29]);
|
||||||
|
}
|
||||||
|
CharModelEffectNpcInitSilent(var_r30, object->motion[1], 0);
|
||||||
|
CharModelEffectNpcInitSilent(var_r30, object->motion[2], 1);
|
||||||
|
CharModelEffectNpcInitSilent(var_r30, object->motion[3], 1);
|
||||||
|
object->work[1] = 0;
|
||||||
|
object->func = fn_1_61F4;
|
||||||
|
}
|
||||||
|
|
||||||
|
void fn_1_61F4(omObjData *object)
|
||||||
|
{
|
||||||
|
float var_f31;
|
||||||
|
float var_f30;
|
||||||
|
s32 var_r30;
|
||||||
|
s32 var_r29;
|
||||||
|
|
||||||
|
Vec sp1C[2] = {
|
||||||
|
{ -250.0f, 0.0f, -2200.0f },
|
||||||
|
{ 250.0f, 0.0f, -2200.0f },
|
||||||
|
};
|
||||||
|
Vec sp10;
|
||||||
|
s32 sp8[2] = { 6, 21 };
|
||||||
|
switch (object->work[1]) {
|
||||||
|
case 0:
|
||||||
|
if ((fn_1_4164() == 3) && (fn_1_419C() != 0) && (fn_1_4324() != 0)) {
|
||||||
|
Hu3DModelAttrReset(object->model[0], HU3D_ATTR_DISPOFF);
|
||||||
|
Hu3DMotionShiftSet(object->model[0], object->motion[0], 0.0f, 0.0f, HU3D_MOTATTR_LOOP);
|
||||||
|
var_r30 = fn_1_42F0();
|
||||||
|
object->trans.x = sp1C[var_r30].x;
|
||||||
|
object->trans.y = sp1C[var_r30].y;
|
||||||
|
object->trans.z = sp1C[var_r30].z;
|
||||||
|
object->rot.y = 0.0f;
|
||||||
|
object->work[1] = 1;
|
||||||
|
object->work[2] = 0;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
object->work[2]++;
|
||||||
|
if (object->work[2] > 18.0f) {
|
||||||
|
Hu3DMotionShiftSet(object->model[0], object->motion[2], 0.0f, 30.0f, HU3D_MOTATTR_LOOP);
|
||||||
|
object->work[1] = 2;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
sp10.x = (*lbl_1_bss_40)->trans.x - object->trans.x;
|
||||||
|
sp10.y = 0.0f;
|
||||||
|
sp10.z = (*lbl_1_bss_40)->trans.z - object->trans.z;
|
||||||
|
object->rot.y = fn_1_47D0(object->rot.y, atan2d(sp10.x, sp10.z), 0.1f);
|
||||||
|
object->trans.z += 6.666667f;
|
||||||
|
if (fn_1_4358() != 0) {
|
||||||
|
HuAudFXPlay(0x3C);
|
||||||
|
Hu3DMotionShiftSet(object->model[0], object->motion[3], 0.0f, 30.0f, HU3D_MOTATTR_LOOP);
|
||||||
|
object->work[1] = 3;
|
||||||
|
object->work[3] = 0x3C;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
Hu3DMotionSpeedSet(object->model[0], 0.9f);
|
||||||
|
var_r29 = Hu3DMotionTimeGet(object->model[0]);
|
||||||
|
for (var_r30 = 0; var_r30 < 2; var_r30++) {
|
||||||
|
if (var_r29 == sp8[var_r30]) {
|
||||||
|
var_f30 = 2.1166666f * object->work[3];
|
||||||
|
HuAudFXPlayVol(0x6B, var_f30);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sp10.x = (*lbl_1_bss_40)->trans.x - object->trans.x;
|
||||||
|
sp10.y = 0.0f;
|
||||||
|
sp10.z = (*lbl_1_bss_40)->trans.z - object->trans.z;
|
||||||
|
object->rot.y = fn_1_47D0(object->rot.y, atan2d(sp10.x, sp10.z), 0.1f);
|
||||||
|
if (object->trans.z < -900.0f) {
|
||||||
|
// depending on refresh rate?
|
||||||
|
object->trans.z += 11.666667f;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
var_f31 = PSVECMag(&sp10);
|
||||||
|
if (var_f31 < 20.0f) {
|
||||||
|
var_f31 = 0.0f;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (PSVECMag(&sp10) >= 100.0f) {
|
||||||
|
var_f31 = 100.0f;
|
||||||
|
}
|
||||||
|
var_f31 = 0.2f + (0.008f * var_f31);
|
||||||
|
var_f31 *= 11.666667f;
|
||||||
|
}
|
||||||
|
object->trans.x = object->trans.x + (var_f31 * sind(object->rot.y));
|
||||||
|
object->trans.z = object->trans.z + (var_f31 * cosd(object->rot.y));
|
||||||
|
}
|
||||||
|
if ((object->trans.z > 450.0f) && (object->work[3] != 0)) {
|
||||||
|
object->work[3]--;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
183
src/REL/m460Dll/score.c
Normal file
183
src/REL/m460Dll/score.c
Normal file
|
|
@ -0,0 +1,183 @@
|
||||||
|
#include "datadir_enum.h"
|
||||||
|
#include "game/data.h"
|
||||||
|
|
||||||
|
#include "REL/m460Dll.h"
|
||||||
|
#include "game/memory.h"
|
||||||
|
|
||||||
|
#include "game/esprite.h"
|
||||||
|
#ifndef __MWERKS__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef struct UnkM460DllScoreWork {
|
||||||
|
s32 unk_00;
|
||||||
|
s32 unk_04;
|
||||||
|
s16 unk_08;
|
||||||
|
s16 unk_0A;
|
||||||
|
s16 unk_0C[6];
|
||||||
|
s32 unk_18;
|
||||||
|
float unk_1C;
|
||||||
|
} UnkM460DllScoreWork; /* size = 0x20 */
|
||||||
|
|
||||||
|
typedef void (*UnkM460DllScoreFunc)(void);
|
||||||
|
|
||||||
|
void fn_1_9020(s32 arg0);
|
||||||
|
void fn_1_9050(omObjData *object);
|
||||||
|
void fn_1_916C(void);
|
||||||
|
void fn_1_91E4(void);
|
||||||
|
void fn_1_9270(void);
|
||||||
|
|
||||||
|
UnkM460DllScoreFunc lbl_1_data_380[3] = { fn_1_916C, fn_1_91E4, fn_1_9270 };
|
||||||
|
|
||||||
|
Process *lbl_1_bss_54;
|
||||||
|
omObjData *lbl_1_bss_50;
|
||||||
|
// ? lbl_1_rodata_3D0;
|
||||||
|
|
||||||
|
void fn_1_8CAC(Process *process, s16 arg1)
|
||||||
|
{
|
||||||
|
UnkM460DllScoreWork *var_r31;
|
||||||
|
u32 var_r30;
|
||||||
|
|
||||||
|
lbl_1_bss_54 = process;
|
||||||
|
lbl_1_bss_50 = omAddObjEx(lbl_1_bss_54, 0x800, 0, 0, 7, fn_1_9050);
|
||||||
|
lbl_1_bss_50->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(UnkM460DllScoreWork), MEMORY_DEFAULT_NUM);
|
||||||
|
var_r31 = lbl_1_bss_50->data;
|
||||||
|
var_r31->unk_08 = arg1;
|
||||||
|
var_r31->unk_0A = 0;
|
||||||
|
var_r31->unk_0C[4] = espEntry(0x590024, 2, 0);
|
||||||
|
espColorSet(var_r31->unk_0C[4], 0, 0, 0);
|
||||||
|
espTPLvlSet(var_r31->unk_0C[4], 0.5f);
|
||||||
|
espPosSet(var_r31->unk_0C[4], 508.0f, 64.0f);
|
||||||
|
var_r31->unk_0C[5] = espEntry(0x610037, 1, 0);
|
||||||
|
espPosSet(var_r31->unk_0C[5], 490.0f, 56.0f);
|
||||||
|
for (var_r30 = 0; var_r30 < 2; var_r30++) {
|
||||||
|
var_r31->unk_0C[var_r30] = espEntry(0x610030, 0, 0);
|
||||||
|
espPosSet(var_r31->unk_0C[var_r30], (var_r30 * 0x10) + 0x1FE, 56.0f);
|
||||||
|
espDispOff(var_r31->unk_0C[var_r30]);
|
||||||
|
}
|
||||||
|
for (var_r30 = 0; var_r30 < 2; var_r30++) {
|
||||||
|
var_r31->unk_0C[var_r30 + 2] = espEntry(0x610031, 1, 0);
|
||||||
|
espPosSet(var_r31->unk_0C[var_r30 + 2], (var_r30 * 0x10) + 0x1FE, 74.0f);
|
||||||
|
}
|
||||||
|
for (var_r30 = 0; var_r30 < 6; var_r30++) {
|
||||||
|
espDispOff(var_r31->unk_0C[var_r30]);
|
||||||
|
}
|
||||||
|
HuDataDirClose(DATA_MAKE_NUM(DATADIR_MGCONST, 0));
|
||||||
|
fn_1_9020(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void fn_1_8F38(void)
|
||||||
|
{
|
||||||
|
s32 var_r31;
|
||||||
|
UnkM460DllScoreWork *var_r30 = lbl_1_bss_50->data;
|
||||||
|
for (var_r31 = 0; var_r31 < 6; var_r31++) {
|
||||||
|
espKill(var_r30->unk_0C[var_r31]);
|
||||||
|
}
|
||||||
|
HuMemDirectFree(lbl_1_bss_50->data);
|
||||||
|
}
|
||||||
|
|
||||||
|
void fn_1_8FAC(s32 arg0)
|
||||||
|
{
|
||||||
|
s32 sp8;
|
||||||
|
s32 var_r3;
|
||||||
|
|
||||||
|
switch (arg0) {
|
||||||
|
case 0:
|
||||||
|
fn_1_9020(1);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
fn_1_9020(2);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void fn_1_8FFC(void)
|
||||||
|
{
|
||||||
|
fn_1_9020(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void fn_1_9020(s32 arg0)
|
||||||
|
{
|
||||||
|
UnkM460DllScoreWork *var_r31;
|
||||||
|
|
||||||
|
var_r31 = lbl_1_bss_50->data;
|
||||||
|
var_r31->unk_00 = arg0;
|
||||||
|
var_r31->unk_04 = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void fn_1_9050(omObjData *arg0)
|
||||||
|
{
|
||||||
|
UnkM460DllScoreWork *var_r31;
|
||||||
|
s16 var_r30;
|
||||||
|
|
||||||
|
var_r31 = lbl_1_bss_50->data;
|
||||||
|
lbl_1_data_380[var_r31->unk_00]();
|
||||||
|
var_r30 = var_r31->unk_08;
|
||||||
|
espBankSet(var_r31->unk_0C[0], var_r30 / 10);
|
||||||
|
var_r30 -= (var_r30 / 10) * 10;
|
||||||
|
espBankSet(var_r31->unk_0C[1], var_r30);
|
||||||
|
var_r30 = var_r31->unk_0A;
|
||||||
|
espBankSet(var_r31->unk_0C[2], var_r30 / 10);
|
||||||
|
var_r30 -= (var_r30 / 10) * 10;
|
||||||
|
espBankSet(var_r31->unk_0C[3], var_r30);
|
||||||
|
}
|
||||||
|
|
||||||
|
void fn_1_916C(void)
|
||||||
|
{
|
||||||
|
UnkM460DllScoreWork *var_r31;
|
||||||
|
s32 var_r30;
|
||||||
|
|
||||||
|
var_r31 = lbl_1_bss_50->data;
|
||||||
|
if (var_r31->unk_04 == 0) {
|
||||||
|
for (var_r30 = 0; var_r30 < 6; var_r30++) {
|
||||||
|
espDispOff(var_r31->unk_0C[var_r30]);
|
||||||
|
}
|
||||||
|
var_r31->unk_04++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void fn_1_91E4(void)
|
||||||
|
{
|
||||||
|
UnkM460DllScoreWork *var_r31;
|
||||||
|
s16 var_r30;
|
||||||
|
|
||||||
|
var_r31 = lbl_1_bss_50->data;
|
||||||
|
if (var_r31->unk_04 == 0) {
|
||||||
|
for (var_r30 = 0; var_r30 < 6; var_r30++) {
|
||||||
|
espDispOn(var_r31->unk_0C[var_r30]);
|
||||||
|
}
|
||||||
|
var_r31->unk_04++;
|
||||||
|
}
|
||||||
|
var_r31->unk_0A = fn_1_4370();
|
||||||
|
}
|
||||||
|
|
||||||
|
void fn_1_9270(void)
|
||||||
|
{
|
||||||
|
UnkM460DllScoreWork *var_r31;
|
||||||
|
s32 var_r30;
|
||||||
|
|
||||||
|
var_r31 = lbl_1_bss_50->data;
|
||||||
|
if (var_r31->unk_04 == 0) {
|
||||||
|
var_r31->unk_18 = 0;
|
||||||
|
var_r31->unk_1C = 1.0f;
|
||||||
|
if (var_r31->unk_0A > var_r31->unk_08) {
|
||||||
|
var_r31->unk_08 = var_r31->unk_0A;
|
||||||
|
}
|
||||||
|
var_r31->unk_04++;
|
||||||
|
}
|
||||||
|
if (var_r31->unk_18 == 0) {
|
||||||
|
if ((var_r31->unk_1C += 0.02f) >= 1.2f) {
|
||||||
|
var_r31->unk_1C = 1.2f;
|
||||||
|
var_r31->unk_18 = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if ((var_r31->unk_1C -= 0.04f) <= 1.0f) {
|
||||||
|
var_r31->unk_1C = 1.0f;
|
||||||
|
var_r31->unk_18 = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (var_r30 = 0; var_r30 <= 1; var_r30++) {
|
||||||
|
espScaleSet(var_r31->unk_0C[var_r30], var_r31->unk_1C, var_r31->unk_1C);
|
||||||
|
}
|
||||||
|
espScaleSet(var_r31->unk_0C[5], var_r31->unk_1C, var_r31->unk_1C);
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue