Merge branch 'main' into main

This commit is contained in:
CreateSource 2025-01-19 12:33:42 -05:00 committed by GitHub
commit aba9cabf59
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
99 changed files with 19364 additions and 7059 deletions

View file

@ -10,13 +10,13 @@ REL/executor.c:
.text start:0x00000000 end:0x000000A0 .text start:0x00000000 end:0x000000A0
REL/m428Dll/main.c: REL/m428Dll/main.c:
.text start:0x000000A0 end:0x000040A4 .text start:0x000000A0 end:0x000043C8
.rodata start:0x00000000 end:0x000000D8 .rodata start:0x00000000 end:0x000000D8
.data start:0x00000000 end:0x00000130 .data start:0x00000000 end:0x00000130
.bss start:0x00000000 end:0x00000090 .bss start:0x00000000 end:0x00000090
REL/m428Dll/map.c: REL/m428Dll/map.c:
.text start:0x000040A4 end:0x00009F5C .text start:0x000043C8 end:0x00009F5C
.rodata start:0x000000D8 end:0x00000228 .rodata start:0x000000D8 end:0x00000228
.data start:0x00000130 end:0x00000150 .data start:0x00000130 end:0x00000150
.bss start:0x00000090 end:0x00000130 .bss start:0x00000090 end:0x00000130

View file

@ -124,222 +124,222 @@ fn_1_14560 = .text:0x00014560; // type:function size:0x98
fn_1_145F8 = .text:0x000145F8; // type:function size:0x98 fn_1_145F8 = .text:0x000145F8; // type:function size:0x98
_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:0x4 data:float lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float
lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float
lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float
lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float
lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 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_5C = .rodata:0x0000005C; // type:object size:0x4 data:float lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float
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:0x8 data:double lbl_1_rodata_70 = .rodata:0x00000070; // type:object size:0x8 scope:local data:double
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_8C = .rodata:0x0000008C; // type:object size:0x4 data:float lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float
lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float
lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float
lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double
lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 scope:local data:float
lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float
lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 data:double lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x8 scope:local data:double
lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:float lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 scope:local data:float
lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float
lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float
lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float
lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 scope:local data:float
lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float
lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 data:double lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 scope:local data:double
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_110 = .rodata:0x00000110; // type:object size:0x8 data:double lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 scope:local data:double
lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float
lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float
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:0x4 data:float lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float
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:0x4 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 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: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:0x4 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 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 data:float lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float
lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float
lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float
lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float
lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float
lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float
lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float
lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float
lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float
lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float
lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 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:0x4 data:float lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 data:float lbl_1_rodata_1C4 = .rodata:0x000001C4; // type:object size:0x4 scope:local data:float
lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 data:double lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 scope:local data:double
lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 data:double lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 scope:local data:double
lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 data:float lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 data:float lbl_1_rodata_1DC = .rodata:0x000001DC; // type:object size:0x4 scope:local data:float
lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 data:double lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x8 scope:local data:double
lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 data:double lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x8 scope:local data:double
lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 data:double lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0x8 scope:local data:double
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_208 = .rodata:0x00000208; // type:object size:0x8 data:double lbl_1_rodata_208 = .rodata:0x00000208; // type:object size:0x8 scope:local data:double
lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 data:double lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0x8 scope:local data:double
lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 data:float lbl_1_rodata_218 = .rodata:0x00000218; // type:object size:0x4 scope:local data:float
lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 data:float lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 data:float lbl_1_rodata_220 = .rodata:0x00000220; // type:object size:0x8 scope:local data:float
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_22C = .rodata:0x0000022C; // type:object size:0x4 data:float lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 data:float lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0x4 scope:local data:float
lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 data:float lbl_1_rodata_234 = .rodata:0x00000234; // type:object size:0x4 scope:local data:float
lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 data:float lbl_1_rodata_238 = .rodata:0x00000238; // type:object size:0x4 scope:local data:float
lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 data:float lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0x4 scope:local data:float
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:0x4 data:float lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float
lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 data:float lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0x4 scope:local data:float
lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float
lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float
lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float
lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float
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_270 = .rodata:0x00000270; // type:object size:0x8 data:double lbl_1_rodata_270 = .rodata:0x00000270; // type:object size:0x8 scope:local data:double
lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 data:double lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x8 scope:local data:double
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_28C = .rodata:0x0000028C; // type:object size:0x4 data:float lbl_1_rodata_28C = .rodata:0x0000028C; // 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:0x8 data:double lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x8 scope:local data:double
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_2D8 = .rodata:0x000002D8; // type:object size:0x8 data:double lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x8 scope:local data:double
lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 data:double lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x8 scope:local data:double
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_2F0 = .rodata:0x000002F0; // type:object size:0x8 data:double lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x8 scope:local data:double
lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 data:float lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 data:float lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float
lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float
lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 data:double lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 scope:local data:double
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:0x8 data:double lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 scope:local data:double
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:0x8 data:double lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 scope:local data:double
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:0x4 data:float lbl_1_rodata_344 = .rodata:0x00000344; // type:object size:0x4 scope:local data:float
lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 data:float lbl_1_rodata_348 = .rodata:0x00000348; // type:object size:0x4 scope:local data:float
lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 data:float lbl_1_rodata_34C = .rodata:0x0000034C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x8 data:double lbl_1_rodata_350 = .rodata:0x00000350; // type:object size:0x8 scope:local data:double
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_360 = .rodata:0x00000360; // type:object size:0x8 data:double lbl_1_rodata_360 = .rodata:0x00000360; // type:object size:0x8 scope:local data:double
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:0x8 data:double lbl_1_rodata_380 = .rodata:0x00000380; // type:object size:0x8 scope:local data:double
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:0x8 data:double lbl_1_rodata_390 = .rodata:0x00000390; // type:object size:0x8 scope:local data:double
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:0x8 data:double lbl_1_rodata_3A0 = .rodata:0x000003A0; // type:object size:0x8 scope:local data:double
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:0x4 data:float lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 data:float lbl_1_rodata_3B4 = .rodata:0x000003B4; // type:object size:0x4 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_3C0 = .rodata:0x000003C0; // type:object size:0x8 data:double lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 scope:local data:double
lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 data:double lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 scope:local data:double
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:0x8 data:double lbl_1_rodata_3D8 = .rodata:0x000003D8; // type:object size:0x8 scope:local data:double
lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 data:double lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 scope:local data:double
lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x8 data:double lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x8 scope:local data:double
lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 data:float lbl_1_rodata_3F0 = .rodata:0x000003F0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 data:float lbl_1_rodata_3F4 = .rodata:0x000003F4; // type:object size:0x4 scope:local data:float
lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 data:float lbl_1_rodata_3F8 = .rodata:0x000003F8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 data:float lbl_1_rodata_3FC = .rodata:0x000003FC; // type:object size:0x4 scope:local data:float
lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x8 data:double lbl_1_rodata_400 = .rodata:0x00000400; // type:object size:0x8 scope:local data:double
lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x8 data:double lbl_1_rodata_408 = .rodata:0x00000408; // type:object size:0x8 scope:local data:double
lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 data:float lbl_1_rodata_410 = .rodata:0x00000410; // type:object size:0x4 scope:local data:float
lbl_1_data_0 = .data:0x00000000; // type:object size:0x54 data:float lbl_1_data_0 = .data:0x00000000; // type:object size:0x54 data:float
lbl_1_data_54 = .data:0x00000054; // type:object size:0xC lbl_1_data_54 = .data:0x00000054; // type:object size:0xC
lbl_1_data_60 = .data:0x00000060; // type:object size:0xC lbl_1_data_60 = .data:0x00000060; // type:object size:0xC
lbl_1_data_6C = .data:0x0000006C; // type:object size:0xC lbl_1_data_6C = .data:0x0000006C; // type:object size:0xC
lbl_1_data_78 = .data:0x00000078; // type:object size:0x23 data:string lbl_1_data_78 = .data:0x00000078; // type:object size:0x23 scope:local data:string
lbl_1_data_9C = .data:0x0000009C; // type:object size:0xC lbl_1_data_9C = .data:0x0000009C; // type:object size:0xC
lbl_1_data_A8 = .data:0x000000A8; // type:object size:0xC lbl_1_data_A8 = .data:0x000000A8; // type:object size:0xC
lbl_1_data_B4 = .data:0x000000B4; // type:object size:0x4 lbl_1_data_B4 = .data:0x000000B4; // type:object size:0x4
jumptable_1_data_B8 = .data:0x000000B8; // type:object size:0x30 scope:local jumptable_1_data_B8 = .data:0x000000B8; // type:object size:0x30 scope:local
lbl_1_data_E8 = .data:0x000000E8; // type:object size:0x4 data:byte lbl_1_data_E8 = .data:0x000000E8; // type:object size:0x4 data:byte
lbl_1_data_EC = .data:0x000000EC; // type:object size:0x44 data:byte lbl_1_data_EC = .data:0x000000EC; // type:object size:0x44 data:4byte
lbl_1_data_130 = .data:0x00000130; // type:object size:0x14 lbl_1_data_130 = .data:0x00000130; // type:object size:0x14 scope:local data:string
lbl_1_data_144 = .data:0x00000144; // type:object size:0x8 lbl_1_data_144 = .data:0x00000144; // type:object size:0x8 scope:local data:string
lbl_1_data_14C = .data:0x0000014C; // type:object size:0x4 data:4byte lbl_1_data_14C = .data:0x0000014C; // type:object size:0x4 data:4byte
lbl_1_data_150 = .data:0x00000150; // type:object size:0x30 data:float lbl_1_data_150 = .data:0x00000150; // type:object size:0x30 data:float
lbl_1_data_180 = .data:0x00000180; // type:object size:0x30 lbl_1_data_180 = .data:0x00000180; // type:object size:0x30
@ -351,18 +351,19 @@ lbl_1_data_500 = .data:0x00000500; // type:object size:0x60
lbl_1_data_560 = .data:0x00000560; // type:object size:0x80 lbl_1_data_560 = .data:0x00000560; // type:object size:0x80
lbl_1_data_5E0 = .data:0x000005E0; // type:object size:0x60 lbl_1_data_5E0 = .data:0x000005E0; // type:object size:0x60
lbl_1_data_640 = .data:0x00000640; // type:object size:0x10 lbl_1_data_640 = .data:0x00000640; // type:object size:0x10
lbl_1_data_650 = .data:0x00000650; // type:object size:0x1 data:byte lbl_1_data_650 = .data:0x00000650; // type:object size:0x4 data:byte
lbl_1_data_654 = .data:0x00000654; // type:object size:0x1 data:byte lbl_1_data_654 = .data:0x00000654; // type:object size:0x4 data:byte
lbl_1_data_658 = .data:0x00000658; // type:object size:0x14 lbl_1_data_658 = .data:0x00000658; // type:object size:0x14 scope:local data:string
jumptable_1_data_66C = .data:0x0000066C; // type:object size:0x28 scope:local jumptable_1_data_66C = .data:0x0000066C; // type:object size:0x28 scope:local
lbl_1_data_694 = .data:0x00000694; // type:object size:0x8 lbl_1_data_694 = .data:0x00000694; // type:object size:0x8
lbl_1_data_69C = .data:0x0000069C; // type:object size:0x4 lbl_1_data_69C = .data:0x0000069C; // type:object size:0x4
lbl_1_data_6A0 = .data:0x000006A0; // type:object size:0x2 data:2byte lbl_1_data_6A0 = .data:0x000006A0; // type:object size:0x4 data:2byte
lbl_1_data_6A4 = .data:0x000006A4; // type:object size:0x30 lbl_1_data_6A4 = .data:0x000006A4; // type:object size:0x30
lbl_1_data_6D4 = .data:0x000006D4; // type:object size:0x20 lbl_1_data_6D4 = .data:0x000006D4; // type:object size:0x20
lbl_1_data_6F4 = .data:0x000006F4; // type:object size:0x19 data:string lbl_1_data_6F4 = .data:0x000006F4; // type:object size:0x19 scope:local data:string
lbl_1_data_70D = .data:0x0000070D; // type:object size:0x5 data:string lbl_1_data_70D = .data:0x0000070D; // type:object size:0x5 scope:local data:string
lbl_1_bss_0 = .bss:0x00000000; // type:object size:0xC data:4byte lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte
lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x8 data:4byte
lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x4 data:4byte
lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte lbl_1_bss_10 = .bss:0x00000010; // type:object size:0x4 data:4byte
lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte lbl_1_bss_14 = .bss:0x00000014; // type:object size:0x4 data:4byte

View file

@ -4,7 +4,7 @@ fn_1_A4 = .text:0x000000A4; // type:function size:0x2C8
_prolog = .text:0x0000036C; // type:function size:0x54 scope:global _prolog = .text:0x0000036C; // type:function size:0x54 scope:global
_epilog = .text:0x000003C0; // type:function size:0x4C scope:global _epilog = .text:0x000003C0; // type:function size:0x4C scope:global
fn_1_40C = .text:0x0000040C; // type:function size:0xE4 fn_1_40C = .text:0x0000040C; // type:function size:0xE4
fn_1_4F0 = .text:0x000004F0; // type:function size:0xE4 ObjectSetup = .text:0x000004F0; // type:function size:0xE4
fn_1_5D4 = .text:0x000005D4; // type:function size:0x28 fn_1_5D4 = .text:0x000005D4; // type:function size:0x28
fn_1_5FC = .text:0x000005FC; // type:function size:0x20 fn_1_5FC = .text:0x000005FC; // type:function size:0x20
fn_1_61C = .text:0x0000061C; // type:function size:0xD8 fn_1_61C = .text:0x0000061C; // type:function size:0xD8
@ -202,315 +202,315 @@ fn_1_1E558 = .text:0x0001E558; // type:function size:0x2C8
fn_1_1E820 = .text:0x0001E820; // type:function size:0x8E0 fn_1_1E820 = .text:0x0001E820; // type:function size:0x8E0
_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:0x4 data:float lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float
lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float
lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 data:double lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x8 scope:local data:double
lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 data:double lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x8 scope:local data:double
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_30 = .rodata:0x00000030; // type:object size:0x8 data:double lbl_1_rodata_30 = .rodata:0x00000030; // type:object size:0x8 scope:local data:double
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:0x4 data:float lbl_1_rodata_68 = .rodata:0x00000068; // type:object size:0x4 scope:local data:float
lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 data:float lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0x4 scope:local data:float
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_7C = .rodata:0x0000007C; // type:object size:0x4 data:float lbl_1_rodata_7C = .rodata:0x0000007C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float
lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float
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_8C = .rodata:0x0000008C; // type:object size:0x4 data:float lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float
lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 data:float lbl_1_rodata_94 = .rodata:0x00000094; // type:object size:0x4 scope:local data:float
lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 data:float lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x4 scope:local data:float
lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 data:float lbl_1_rodata_9C = .rodata:0x0000009C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 data:float lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float
lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double
lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 data:double lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x8 scope:local data:double
lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 data:float lbl_1_rodata_CC = .rodata:0x000000CC; // type:object size:0x4 scope:local data:float
lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 scope:local data:float
lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0xC data:4byte lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0xC scope:local data:4byte
lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0xC data:4byte lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0xC scope:local data:4byte
lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0xC data:4byte lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0xC scope:local data:4byte
lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 data:float lbl_1_rodata_FC = .rodata:0x000000FC; // type:object size:0x4 scope:local data:float
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_110 = .rodata:0x00000110; // type:object size:0x8 data:double lbl_1_rodata_110 = .rodata:0x00000110; // type:object size:0x8 scope:local data:double
lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float
lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float
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:0x4 data:float lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float
lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 data:float lbl_1_rodata_144 = .rodata:0x00000144; // type:object size:0x4 scope:local data:float
lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 data:float lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x4 scope:local data:float
lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 data:float lbl_1_rodata_14C = .rodata:0x0000014C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x20 data:4byte lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x20 scope:local data:float
lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float
lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 scope:local data:float
lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 scope:local data:float
lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float
lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float
lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float
lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 data:float lbl_1_rodata_18C = .rodata:0x0000018C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float
lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float
lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local data:float
lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 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:0x1 data:byte lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 scope:local data:byte
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:0xC data:4byte lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0xC 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:0x20 data:4byte lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x20 scope:local data:float
lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 scope:local data:float
lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 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_214 = .rodata:0x00000214; // type:object size:0x4 data:float lbl_1_rodata_214 = .rodata:0x00000214; // 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:0x4 data:float lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local data:float
lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x8 data:4byte lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x8 scope:local data:4byte
lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 data:float lbl_1_rodata_254 = .rodata:0x00000254; // type:object size:0x4 scope:local data:float
lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 data:float lbl_1_rodata_258 = .rodata:0x00000258; // type:object size:0x4 scope:local data:float
lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 data:float lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 data:float lbl_1_rodata_260 = .rodata:0x00000260; // type:object size:0x4 scope:local data:float
lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 data:float lbl_1_rodata_264 = .rodata:0x00000264; // type:object size:0x4 scope:local data:float
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:0x24 data:4byte lbl_1_rodata_278 = .rodata:0x00000278; // type:object size:0x24 scope:local data:4byte
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:0x24 data:4byte lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x24 scope:local data:4byte
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:0x10 data:4byte lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x10 scope:local data:float
lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 data:float lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 data:float lbl_1_rodata_2FC = .rodata:0x000002FC; // type:object size:0x4 scope:local data:float
lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float
lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x18 data:4byte lbl_1_rodata_304 = .rodata:0x00000304; // type:object size:0x18 scope:local data:4byte
lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x78 lbl_1_rodata_31C = .rodata:0x0000031C; // type:object size:0x78 scope:local
lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x18 data:4byte lbl_1_rodata_394 = .rodata:0x00000394; // type:object size:0x18 scope:local data:4byte
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:0x4 data:float lbl_1_rodata_3B0 = .rodata:0x000003B0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x8 data:double lbl_1_rodata_3B8 = .rodata:0x000003B8; // type:object size:0x8 scope:local data:double
lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 data:double lbl_1_rodata_3C0 = .rodata:0x000003C0; // type:object size:0x8 scope:local data:double
lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 data:double lbl_1_rodata_3C8 = .rodata:0x000003C8; // type:object size:0x8 scope:local data:double
lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 data:float lbl_1_rodata_3D0 = .rodata:0x000003D0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 data:float lbl_1_rodata_3D4 = .rodata:0x000003D4; // type:object size:0x4 scope:local data:float
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_3E0 = .rodata:0x000003E0; // type:object size:0x8 data:double lbl_1_rodata_3E0 = .rodata:0x000003E0; // type:object size:0x8 scope:local data:double
lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 data:float lbl_1_rodata_3E8 = .rodata:0x000003E8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x28 data:4byte lbl_1_rodata_3EC = .rodata:0x000003EC; // type:object size:0x28 scope:local data:4byte
lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x8 data:double lbl_1_rodata_418 = .rodata:0x00000418; // type:object size:0x8 scope:local data:double
lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x1 data:byte lbl_1_rodata_420 = .rodata:0x00000420; // type:object size:0x4 scope:local data:byte
lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 data:float lbl_1_rodata_424 = .rodata:0x00000424; // type:object size:0x4 scope:local data:float
lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 data:float lbl_1_rodata_428 = .rodata:0x00000428; // type:object size:0x4 scope:local data:float
lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 data:float lbl_1_rodata_42C = .rodata:0x0000042C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 data:float lbl_1_rodata_430 = .rodata:0x00000430; // type:object size:0x4 scope:local data:float
lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 data:float lbl_1_rodata_434 = .rodata:0x00000434; // type:object size:0x4 scope:local data:float
lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 data:float lbl_1_rodata_438 = .rodata:0x00000438; // type:object size:0x4 scope:local data:float
lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 data:float lbl_1_rodata_43C = .rodata:0x0000043C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 data:float lbl_1_rodata_440 = .rodata:0x00000440; // type:object size:0x4 scope:local data:float
lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 data:float lbl_1_rodata_444 = .rodata:0x00000444; // type:object size:0x4 scope:local data:float
lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 data:float lbl_1_rodata_448 = .rodata:0x00000448; // type:object size:0x4 scope:local data:float
lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 data:float lbl_1_rodata_44C = .rodata:0x0000044C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 data:float lbl_1_rodata_450 = .rodata:0x00000450; // type:object size:0x4 scope:local data:float
lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 data:float lbl_1_rodata_454 = .rodata:0x00000454; // type:object size:0x4 scope:local data:float
lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 data:float lbl_1_rodata_458 = .rodata:0x00000458; // type:object size:0x4 scope:local data:float
lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 data:float lbl_1_rodata_45C = .rodata:0x0000045C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 data:float lbl_1_rodata_460 = .rodata:0x00000460; // type:object size:0x4 scope:local data:float
lbl_1_rodata_464 = .rodata:0x00000464; // type:object size:0x4 data:float lbl_1_rodata_464 = .rodata:0x00000464; // type:object size:0x4 scope:local data:float
lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 data:float lbl_1_rodata_468 = .rodata:0x00000468; // type:object size:0x4 scope:local data:float
lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x1C data:4byte lbl_1_rodata_46C = .rodata:0x0000046C; // type:object size:0x1C scope:local data:4byte
lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 data:float lbl_1_rodata_488 = .rodata:0x00000488; // type:object size:0x4 scope:local data:float
lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x8 data:double lbl_1_rodata_490 = .rodata:0x00000490; // type:object size:0x8 scope:local data:double
lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x8 data:double lbl_1_rodata_498 = .rodata:0x00000498; // type:object size:0x8 scope:local data:double
lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 data:float lbl_1_rodata_4A0 = .rodata:0x000004A0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 data:float lbl_1_rodata_4A4 = .rodata:0x000004A4; // type:object size:0x4 scope:local data:float
lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 data:float lbl_1_rodata_4A8 = .rodata:0x000004A8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 data:float lbl_1_rodata_4AC = .rodata:0x000004AC; // type:object size:0x4 scope:local data:float
lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 data:float lbl_1_rodata_4B0 = .rodata:0x000004B0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 data:float lbl_1_rodata_4B4 = .rodata:0x000004B4; // type:object size:0x4 scope:local data:float
lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 data:float lbl_1_rodata_4B8 = .rodata:0x000004B8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 data:float lbl_1_rodata_4BC = .rodata:0x000004BC; // type:object size:0x4 scope:local data:float
lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 data:float lbl_1_rodata_4C0 = .rodata:0x000004C0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 data:float lbl_1_rodata_4C4 = .rodata:0x000004C4; // type:object size:0x4 scope:local data:float
lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x4 data:float lbl_1_rodata_4C8 = .rodata:0x000004C8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_4CC = .rodata:0x000004CC; // type:object size:0x4 data:float lbl_1_rodata_4CC = .rodata:0x000004CC; // type:object size:0x4 scope:local data:float
lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 data:float lbl_1_rodata_4D0 = .rodata:0x000004D0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 data:float lbl_1_rodata_4D4 = .rodata:0x000004D4; // type:object size:0x4 scope:local data:float
lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 data:float lbl_1_rodata_4D8 = .rodata:0x000004D8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 data:float lbl_1_rodata_4DC = .rodata:0x000004DC; // type:object size:0x4 scope:local data:float
lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 data:float lbl_1_rodata_4E0 = .rodata:0x000004E0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 data:float lbl_1_rodata_4E4 = .rodata:0x000004E4; // type:object size:0x4 scope:local data:float
lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 data:float lbl_1_rodata_4E8 = .rodata:0x000004E8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x4 data:float lbl_1_rodata_4EC = .rodata:0x000004EC; // type:object size:0x4 scope:local data:float
lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 data:float lbl_1_rodata_4F0 = .rodata:0x000004F0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 data:float lbl_1_rodata_4F4 = .rodata:0x000004F4; // type:object size:0x4 scope:local data:float
lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 data:float lbl_1_rodata_4F8 = .rodata:0x000004F8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 data:float lbl_1_rodata_4FC = .rodata:0x000004FC; // type:object size:0x4 scope:local data:float
lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 data:float lbl_1_rodata_500 = .rodata:0x00000500; // type:object size:0x4 scope:local data:float
lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 data:float lbl_1_rodata_504 = .rodata:0x00000504; // type:object size:0x4 scope:local data:float
lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 data:float lbl_1_rodata_508 = .rodata:0x00000508; // type:object size:0x4 scope:local data:float
lbl_1_rodata_50C = .rodata:0x0000050C; // type:object size:0x4 data:float lbl_1_rodata_50C = .rodata:0x0000050C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x4 data:float lbl_1_rodata_510 = .rodata:0x00000510; // type:object size:0x4 scope:local data:float
lbl_1_rodata_514 = .rodata:0x00000514; // type:object size:0x4 data:float lbl_1_rodata_514 = .rodata:0x00000514; // type:object size:0x4 scope:local data:float
lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 data:float lbl_1_rodata_518 = .rodata:0x00000518; // type:object size:0x4 scope:local data:float
lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 data:float lbl_1_rodata_51C = .rodata:0x0000051C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 data:float lbl_1_rodata_520 = .rodata:0x00000520; // type:object size:0x4 scope:local data:float
lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x4 data:float lbl_1_rodata_524 = .rodata:0x00000524; // type:object size:0x4 scope:local data:float
lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 data:float lbl_1_rodata_528 = .rodata:0x00000528; // type:object size:0x4 scope:local data:float
lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 data:float lbl_1_rodata_52C = .rodata:0x0000052C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x4 data:float lbl_1_rodata_530 = .rodata:0x00000530; // type:object size:0x4 scope:local data:float
lbl_1_rodata_534 = .rodata:0x00000534; // type:object size:0x4 data:float lbl_1_rodata_534 = .rodata:0x00000534; // type:object size:0x4 scope:local data:float
lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0x4 data:float lbl_1_rodata_538 = .rodata:0x00000538; // type:object size:0x4 scope:local data:float
lbl_1_rodata_53C = .rodata:0x0000053C; // type:object size:0x4 data:float lbl_1_rodata_53C = .rodata:0x0000053C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0x4 data:float lbl_1_rodata_540 = .rodata:0x00000540; // type:object size:0x4 scope:local data:float
lbl_1_rodata_544 = .rodata:0x00000544; // type:object size:0x4 data:float lbl_1_rodata_544 = .rodata:0x00000544; // type:object size:0x4 scope:local data:float
lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x4 data:float lbl_1_rodata_548 = .rodata:0x00000548; // type:object size:0x4 scope:local data:float
lbl_1_rodata_54C = .rodata:0x0000054C; // type:object size:0x14 data:4byte lbl_1_rodata_54C = .rodata:0x0000054C; // type:object size:0x14 scope:local data:4byte
lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x3C data:4byte lbl_1_rodata_560 = .rodata:0x00000560; // type:object size:0x3C scope:local data:4byte
lbl_1_rodata_59C = .rodata:0x0000059C; // type:object size:0x18 data:4byte lbl_1_rodata_59C = .rodata:0x0000059C; // type:object size:0x18 scope:local data:4byte
lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 data:float lbl_1_rodata_5B4 = .rodata:0x000005B4; // type:object size:0x4 scope:local data:float
lbl_1_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x4 data:float lbl_1_rodata_5B8 = .rodata:0x000005B8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_5BC = .rodata:0x000005BC; // type:object size:0x4 data:float lbl_1_rodata_5BC = .rodata:0x000005BC; // type:object size:0x4 scope:local data:float
lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x4 data:float lbl_1_rodata_5C0 = .rodata:0x000005C0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_5C4 = .rodata:0x000005C4; // type:object size:0x4 data:float lbl_1_rodata_5C4 = .rodata:0x000005C4; // type:object size:0x4 scope:local data:float
lbl_1_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x4 data:float lbl_1_rodata_5C8 = .rodata:0x000005C8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_5CC = .rodata:0x000005CC; // type:object size:0x4 data:float lbl_1_rodata_5CC = .rodata:0x000005CC; // type:object size:0x4 scope:local data:float
lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 data:float lbl_1_rodata_5D0 = .rodata:0x000005D0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x8 data:double lbl_1_rodata_5D8 = .rodata:0x000005D8; // type:object size:0x8 scope:local data:double
lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 data:float lbl_1_rodata_5E0 = .rodata:0x000005E0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_5E4 = .rodata:0x000005E4; // type:object size:0x4 data:float lbl_1_rodata_5E4 = .rodata:0x000005E4; // type:object size:0x4 scope:local data:float
lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x8 data:double lbl_1_rodata_5E8 = .rodata:0x000005E8; // type:object size:0x8 scope:local data:double
lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x4 data:float lbl_1_rodata_5F0 = .rodata:0x000005F0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x8 data:double lbl_1_rodata_5F8 = .rodata:0x000005F8; // type:object size:0x8 scope:local data:double
lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x8 data:double lbl_1_rodata_600 = .rodata:0x00000600; // type:object size:0x8 scope:local data:double
lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x8 data:double lbl_1_rodata_608 = .rodata:0x00000608; // type:object size:0x8 scope:local data:double
lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x8 data:double lbl_1_rodata_610 = .rodata:0x00000610; // type:object size:0x8 scope:local data:double
lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x4 data:float lbl_1_rodata_618 = .rodata:0x00000618; // type:object size:0x4 scope:local data:float
lbl_1_rodata_620 = .rodata:0x00000620; // type:object size:0x8 data:double lbl_1_rodata_620 = .rodata:0x00000620; // type:object size:0x8 scope:local data:double
lbl_1_rodata_628 = .rodata:0x00000628; // type:object size:0x8 data:double lbl_1_rodata_628 = .rodata:0x00000628; // type:object size:0x8 scope:local data:double
lbl_1_rodata_630 = .rodata:0x00000630; // type:object size:0x4 data:float lbl_1_rodata_630 = .rodata:0x00000630; // type:object size:0x4 scope:local data:float
lbl_1_rodata_634 = .rodata:0x00000634; // type:object size:0x4 data:float lbl_1_rodata_634 = .rodata:0x00000634; // type:object size:0x4 scope:local data:float
lbl_1_rodata_638 = .rodata:0x00000638; // type:object size:0x8 data:double lbl_1_rodata_638 = .rodata:0x00000638; // type:object size:0x8 scope:local data:double
lbl_1_rodata_640 = .rodata:0x00000640; // type:object size:0x4 data:float lbl_1_rodata_640 = .rodata:0x00000640; // type:object size:0x4 scope:local data:float
lbl_1_data_0 = .data:0x00000000; // type:object size:0x70 lbl_1_data_0 = .data:0x00000000; // type:object size:0x70
lbl_1_data_70 = .data:0x00000070; // type:object size:0x25 data:string lbl_1_data_70 = .data:0x00000070; // type:object size:0x25 scope:local data:string
lbl_1_data_95 = .data:0x00000095; // type:object size:0xD data:string lbl_1_data_95 = .data:0x00000095; // type:object size:0xD scope:local data:string
lbl_1_data_A4 = .data:0x000000A4; // type:object size:0x8 lbl_1_data_A4 = .data:0x000000A4; // type:object size:0x8
lbl_1_data_AC = .data:0x000000AC; // type:object size:0x28 data:string lbl_1_data_AC = .data:0x000000AC; // type:object size:0x28 scope:local data:string
lbl_1_data_D4 = .data:0x000000D4; // type:object size:0x10 data:string lbl_1_data_D4 = .data:0x000000D4; // type:object size:0x10 scope:local data:string
lbl_1_data_E4 = .data:0x000000E4; // type:object size:0x3 data:string lbl_1_data_E4 = .data:0x000000E4; // type:object size:0x3 scope:local data:string
lbl_1_data_E7 = .data:0x000000E7; // type:object size:0x1A data:string lbl_1_data_E7 = .data:0x000000E7; // type:object size:0x1A scope:local data:string
lbl_1_data_101 = .data:0x00000101; // type:object size:0x1A data:string lbl_1_data_101 = .data:0x00000101; // type:object size:0x1A scope:local data:string
lbl_1_data_11B = .data:0x0000011B; // type:object size:0xE data:string lbl_1_data_11B = .data:0x0000011B; // type:object size:0xE scope:local data:string
lbl_1_data_130 = .data:0x00000130; // type:object size:0x30 data:float lbl_1_data_130 = .data:0x00000130; // type:object size:0x30 data:float
lbl_1_data_160 = .data:0x00000160; // type:object size:0x50 lbl_1_data_160 = .data:0x00000160; // type:object size:0x50
lbl_1_data_1B0 = .data:0x000001B0; // type:object size:0x50 lbl_1_data_1B0 = .data:0x000001B0; // type:object size:0x50
lbl_1_data_200 = .data:0x00000200; // type:object size:0x50 lbl_1_data_200 = .data:0x00000200; // type:object size:0x50
lbl_1_data_250 = .data:0x00000250; // type:object size:0x16 data:string lbl_1_data_250 = .data:0x00000250; // type:object size:0x16 scope:local data:string
lbl_1_data_266 = .data:0x00000266; // type:object size:0x15 data:string lbl_1_data_266 = .data:0x00000266; // type:object size:0x15 scope:local data:string
lbl_1_data_27B = .data:0x0000027B; // type:object size:0x16 data:string lbl_1_data_27B = .data:0x0000027B; // type:object size:0x16 scope:local data:string
lbl_1_data_291 = .data:0x00000291; // type:object size:0x15 data:string lbl_1_data_291 = .data:0x00000291; // type:object size:0x15 scope:local data:string
lbl_1_data_2A6 = .data:0x000002A6; // type:object size:0x16 data:string lbl_1_data_2A6 = .data:0x000002A6; // type:object size:0x16 scope:local data:string
lbl_1_data_2BC = .data:0x000002BC; // type:object size:0x15 data:string lbl_1_data_2BC = .data:0x000002BC; // type:object size:0x15 scope:local data:string
lbl_1_data_2D1 = .data:0x000002D1; // type:object size:0x17 data:string lbl_1_data_2D1 = .data:0x000002D1; // type:object size:0x17 scope:local data:string
lbl_1_data_2E8 = .data:0x000002E8; // type:object size:0x16 data:string lbl_1_data_2E8 = .data:0x000002E8; // type:object size:0x16 scope:local data:string
lbl_1_data_2FE = .data:0x000002FE; // type:object size:0xF data:string lbl_1_data_2FE = .data:0x000002FE; // type:object size:0xF scope:local data:string
lbl_1_data_30D = .data:0x0000030D; // type:object size:0x1C data:string lbl_1_data_30D = .data:0x0000030D; // type:object size:0x1C scope:local data:string
lbl_1_data_329 = .data:0x00000329; // type:object size:0x1D data:string lbl_1_data_329 = .data:0x00000329; // type:object size:0x1D scope:local data:string
lbl_1_data_346 = .data:0x00000346; // type:object size:0x1C data:string lbl_1_data_346 = .data:0x00000346; // type:object size:0x1C scope:local data:string
lbl_1_data_364 = .data:0x00000364; // type:object size:0x8 data:4byte lbl_1_data_364 = .data:0x00000364; // type:object size:0x4 data:4byte
lbl_1_data_36C = .data:0x0000036C; // type:object size:0xC lbl_1_data_36C = .data:0x0000036C; // type:object size:0xC data:float
lbl_1_data_378 = .data:0x00000378; // type:object size:0xF data:string lbl_1_data_378 = .data:0x00000378; // type:object size:0xF scope:local data:string
lbl_1_data_387 = .data:0x00000387; // type:object size:0x10 data:string lbl_1_data_387 = .data:0x00000387; // type:object size:0x10 scope:local data:string
jumptable_1_data_398 = .data:0x00000398; // type:object size:0x30 scope:local jumptable_1_data_398 = .data:0x00000398; // type:object size:0x30 scope:local
lbl_1_data_3C8 = .data:0x000003C8; // type:object size:0x46 data:string lbl_1_data_3C8 = .data:0x000003C8; // type:object size:0x46 scope:local data:string
lbl_1_data_40E = .data:0x0000040E; // type:object size:0x30 data:string lbl_1_data_40E = .data:0x0000040E; // type:object size:0x30 scope:local data:string
lbl_1_data_43E = .data:0x0000043E; // type:object size:0x14 data:string lbl_1_data_43E = .data:0x0000043E; // type:object size:0x14 scope:local data:string
lbl_1_data_452 = .data:0x00000452; // type:object size:0x14 data:string lbl_1_data_452 = .data:0x00000452; // type:object size:0x14 scope:local data:string
lbl_1_data_466 = .data:0x00000466; // type:object size:0x14 data:string lbl_1_data_466 = .data:0x00000466; // type:object size:0x14 scope:local data:string
lbl_1_data_47A = .data:0x0000047A; // type:object size:0x14 data:string lbl_1_data_47A = .data:0x0000047A; // type:object size:0x14 scope:local data:string
lbl_1_data_48E = .data:0x0000048E; // type:object size:0x14 data:string lbl_1_data_48E = .data:0x0000048E; // type:object size:0x14 scope:local data:string
lbl_1_data_4A2 = .data:0x000004A2; // type:object size:0x10 data:string lbl_1_data_4A2 = .data:0x000004A2; // type:object size:0x10 scope:local data:string
lbl_1_data_4B2 = .data:0x000004B2; // type:object size:0x10 data:string lbl_1_data_4B2 = .data:0x000004B2; // type:object size:0x10 scope:local data:string
lbl_1_data_4C2 = .data:0x000004C2; // type:object size:0x10 data:string lbl_1_data_4C2 = .data:0x000004C2; // type:object size:0x10 scope:local data:string
lbl_1_data_4D2 = .data:0x000004D2; // type:object size:0x10 data:string lbl_1_data_4D2 = .data:0x000004D2; // type:object size:0x10 scope:local data:string
lbl_1_data_4E2 = .data:0x000004E2; // type:object size:0x10 data:string lbl_1_data_4E2 = .data:0x000004E2; // type:object size:0x10 scope:local data:string
lbl_1_data_4F2 = .data:0x000004F2; // type:object size:0x12 lbl_1_data_4F2 = .data:0x000004F2; // type:object size:0x10 scope:local data:string
lbl_1_data_504 = .data:0x00000504; // type:object size:0x288 lbl_1_data_504 = .data:0x00000504; // type:object size:0x288
lbl_1_data_78C = .data:0x0000078C; // type:object size:0x5 lbl_1_data_78C = .data:0x0000078C; // type:object size:0x50
lbl_1_data_7E0 = .data:0x000007E0; // type:object size:0x16 data:string lbl_1_data_7E0 = .data:0x000007E0; // type:object size:0x16 scope:local data:string
lbl_1_data_7F6 = .data:0x000007F6; // type:object size:0x15 data:string lbl_1_data_7F6 = .data:0x000007F6; // type:object size:0x15 scope:local data:string
lbl_1_data_80B = .data:0x0000080B; // type:object size:0x16 data:string lbl_1_data_80B = .data:0x0000080B; // type:object size:0x16 scope:local data:string
lbl_1_data_821 = .data:0x00000821; // type:object size:0x15 data:string lbl_1_data_821 = .data:0x00000821; // type:object size:0x15 scope:local data:string
lbl_1_data_836 = .data:0x00000836; // type:object size:0x16 data:string lbl_1_data_836 = .data:0x00000836; // type:object size:0x16 scope:local data:string
lbl_1_data_84C = .data:0x0000084C; // type:object size:0x15 data:string lbl_1_data_84C = .data:0x0000084C; // type:object size:0x15 scope:local data:string
lbl_1_data_861 = .data:0x00000861; // type:object size:0x17 data:string lbl_1_data_861 = .data:0x00000861; // type:object size:0x17 scope:local data:string
lbl_1_data_878 = .data:0x00000878; // type:object size:0x16 data:string lbl_1_data_878 = .data:0x00000878; // type:object size:0x16 scope:local data:string
lbl_1_data_88E = .data:0x0000088E; // type:object size:0xF data:string lbl_1_data_88E = .data:0x0000088E; // type:object size:0xF scope:local data:string
lbl_1_data_89D = .data:0x0000089D; // type:object size:0x1C data:string lbl_1_data_89D = .data:0x0000089D; // type:object size:0x1C scope:local data:string
lbl_1_data_8B9 = .data:0x000008B9; // type:object size:0x1D data:string lbl_1_data_8B9 = .data:0x000008B9; // type:object size:0x1D scope:local data:string
lbl_1_data_8D6 = .data:0x000008D6; // type:object size:0x49 data:string lbl_1_data_8D6 = .data:0x000008D6; // type:object size:0x49 scope:local data:string
lbl_1_data_91F = .data:0x0000091F; // type:object size:0x48 data:string lbl_1_data_91F = .data:0x0000091F; // type:object size:0x48 scope:local data:string
lbl_1_data_967 = .data:0x00000967; // type:object size:0x48 data:string lbl_1_data_967 = .data:0x00000967; // type:object size:0x48 scope:local data:string
lbl_1_data_9AF = .data:0x000009AF; // type:object size:0x52 data:string lbl_1_data_9AF = .data:0x000009AF; // type:object size:0x52 scope:local data:string
lbl_1_data_A01 = .data:0x00000A01; // type:object size:0x30 data:string lbl_1_data_A01 = .data:0x00000A01; // type:object size:0x30 scope:local data:string
lbl_1_data_A31 = .data:0x00000A31; // type:object size:0x2A data:string lbl_1_data_A31 = .data:0x00000A31; // type:object size:0x2A scope:local data:string
lbl_1_data_A5B = .data:0x00000A5B; // type:object size:0x1A data:string lbl_1_data_A5B = .data:0x00000A5B; // type:object size:0x1A scope:local data:string
lbl_1_data_A75 = .data:0x00000A75; // type:object size:0x1B lbl_1_data_A75 = .data:0x00000A75; // type:object size:0x19 scope:local data:string
lbl_1_data_A90 = .data:0x00000A90; // type:object size:0x13 data:string lbl_1_data_A90 = .data:0x00000A90; // type:object size:0x13 scope:local data:string
lbl_1_data_AA3 = .data:0x00000AA3; // type:object size:0x8 data:string lbl_1_data_AA3 = .data:0x00000AA3; // type:object size:0x8 scope:local data:string
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:0x44 data:float lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x44 data:float
lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x10 data:float lbl_1_bss_48 = .bss:0x00000048; // type:object size:0x10 data:float
lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x10 data:4byte lbl_1_bss_58 = .bss:0x00000058; // type:object size:0x4 data:4byte
lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x40 data:4byte lbl_1_bss_68 = .bss:0x00000068; // type:object size:0x40 data:4byte
lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x4 data:4byte lbl_1_bss_A8 = .bss:0x000000A8; // type:object size:0x4 data:4byte
lbl_1_bss_AC = .bss:0x000000AC; // type:object size:0x4 data:float lbl_1_bss_AC = .bss:0x000000AC; // type:object size:0x4 data:float
@ -542,7 +542,7 @@ lbl_1_bss_18F4 = .bss:0x000018F4; // type:object size:0xA0
lbl_1_bss_1994 = .bss:0x00001994; // type:object size:0x28 data:4byte lbl_1_bss_1994 = .bss:0x00001994; // type:object size:0x28 data:4byte
lbl_1_bss_19BC = .bss:0x000019BC; // type:object size:0x28 data:4byte lbl_1_bss_19BC = .bss:0x000019BC; // type:object size:0x28 data:4byte
lbl_1_bss_19E4 = .bss:0x000019E4; // type:object size:0x28 data:4byte lbl_1_bss_19E4 = .bss:0x000019E4; // type:object size:0x28 data:4byte
lbl_1_bss_1A0C = .bss:0x00001A0C; // type:object size:0x2DC data:float lbl_1_bss_1A0C = .bss:0x00001A0C; // type:object size:0x2D8 data:float
lbl_1_bss_1CE8 = .bss:0x00001CE8; // type:object size:0x2 data:2byte lbl_1_bss_1CE8 = .bss:0x00001CE8; // type:object size:0x2 data:2byte
lbl_1_bss_1CEC = .bss:0x00001CEC; // type:object size:0x4 data:4byte lbl_1_bss_1CEC = .bss:0x00001CEC; // type:object size:0x4 data:4byte
lbl_1_bss_1CF0 = .bss:0x00001CF0; // type:object size:0x4 data:4byte lbl_1_bss_1CF0 = .bss:0x00001CF0; // type:object size:0x4 data:4byte

View file

@ -3568,15 +3568,15 @@ msmStreamSetOutputMode = .text:0x8011A61C; // type:function size:0x114
msmStreamAmemFree = .text:0x8011A730; // type:function size:0x68 msmStreamAmemFree = .text:0x8011A730; // type:function size:0x68
msmStreamAmemAlloc = .text:0x8011A798; // type:function size:0x10C msmStreamAmemAlloc = .text:0x8011A798; // type:function size:0x10C
msmStreamInit = .text:0x8011A8A4; // type:function size:0x2A8 msmStreamInit = .text:0x8011A8A4; // type:function size:0x2A8
msmStreamPauseOff = .text:0x8011AB4C; // type:function size:0x2B8 msmStreamPauseOff = .text:0x8011AB4C; // type:function size:0x2B8 scope:local
msmStreamPauseOn = .text:0x8011AE04; // type:function size:0x1AC msmStreamPauseOn = .text:0x8011AE04; // type:function size:0x1AC scope:local
msmStreamPauseFade = .text:0x8011AFB0; // type:function size:0x2E8 scope:local msmStreamPauseFade = .text:0x8011AFB0; // type:function size:0x2E8 scope:local
msmStreamFade = .text:0x8011B298; // type:function size:0x33C scope:local msmStreamFade = .text:0x8011B298; // type:function size:0x33C scope:local
msmStreamStopSub = .text:0x8011B5D4; // type:function size:0x13C scope:local msmStreamStopSub = .text:0x8011B5D4; // type:function size:0x13C scope:local
msmStreamSetParamSub = .text:0x8011B710; // type:function size:0xE0 scope:local msmStreamSetParamSub = .text:0x8011B710; // type:function size:0xE0 scope:local
msmStreamPackStartStereo = .text:0x8011B7F0; // type:function size:0x448 msmStreamPackStartStereo = .text:0x8011B7F0; // type:function size:0x448 scope:local
msmStreamPackStartMono = .text:0x8011BC38; // type:function size:0x2DC msmStreamPackStartMono = .text:0x8011BC38; // type:function size:0x2DC scope:local
msmStreamSlotOff = .text:0x8011BF14; // type:function size:0xD0 msmStreamSlotOff = .text:0x8011BF14; // type:function size:0xD0 scope:local
msmStreamData = .text:0x8011BFE4; // type:function size:0x320 scope:local msmStreamData = .text:0x8011BFE4; // type:function size:0x320 scope:local
msmStreamDvdCallback = .text:0x8011C304; // type:function size:0x4A8 scope:local msmStreamDvdCallback = .text:0x8011C304; // type:function size:0x4A8 scope:local
msmStreamDvdCallback2 = .text:0x8011C7AC; // type:function size:0x188 scope:local msmStreamDvdCallback2 = .text:0x8011C7AC; // type:function size:0x188 scope:local

View file

@ -3568,15 +3568,15 @@ msmStreamSetOutputMode = .text:0x8011A61C; // type:function size:0x114
msmStreamAmemFree = .text:0x8011A730; // type:function size:0x68 msmStreamAmemFree = .text:0x8011A730; // type:function size:0x68
msmStreamAmemAlloc = .text:0x8011A798; // type:function size:0x10C msmStreamAmemAlloc = .text:0x8011A798; // type:function size:0x10C
msmStreamInit = .text:0x8011A8A4; // type:function size:0x2A8 msmStreamInit = .text:0x8011A8A4; // type:function size:0x2A8
msmStreamPauseOff = .text:0x8011AB4C; // type:function size:0x2B8 msmStreamPauseOff = .text:0x8011AB4C; // type:function size:0x2B8 scope:local
msmStreamPauseOn = .text:0x8011AE04; // type:function size:0x1AC msmStreamPauseOn = .text:0x8011AE04; // type:function size:0x1AC scope:local
msmStreamPauseFade = .text:0x8011AFB0; // type:function size:0x2E8 msmStreamPauseFade = .text:0x8011AFB0; // type:function size:0x2E8 scope:local
msmStreamFade = .text:0x8011B298; // type:function size:0x33C msmStreamFade = .text:0x8011B298; // type:function size:0x33C scope:local
msmStreamStopSub = .text:0x8011B5D4; // type:function size:0x13C scope:local msmStreamStopSub = .text:0x8011B5D4; // type:function size:0x13C scope:local
msmStreamSetParamSub = .text:0x8011B710; // type:function size:0xE0 scope:local msmStreamSetParamSub = .text:0x8011B710; // type:function size:0xE0 scope:local
msmStreamPackStartStereo = .text:0x8011B7F0; // type:function size:0x448 msmStreamPackStartStereo = .text:0x8011B7F0; // type:function size:0x448 scope:local
msmStreamPackStartMono = .text:0x8011BC38; // type:function size:0x2DC msmStreamPackStartMono = .text:0x8011BC38; // type:function size:0x2DC scope:local
msmStreamSlotOff = .text:0x8011BF14; // type:function size:0xD0 msmStreamSlotOff = .text:0x8011BF14; // type:function size:0xD0 scope:local
msmStreamData = .text:0x8011BFE4; // type:function size:0x320 scope:local msmStreamData = .text:0x8011BFE4; // type:function size:0x320 scope:local
msmStreamDvdCallback = .text:0x8011C304; // type:function size:0x4A8 scope:local msmStreamDvdCallback = .text:0x8011C304; // type:function size:0x4A8 scope:local
msmStreamDvdCallback2 = .text:0x8011C7AC; // type:function size:0x188 scope:local msmStreamDvdCallback2 = .text:0x8011C7AC; // type:function size:0x188 scope:local

View file

@ -5,3 +5,12 @@ Sections:
.rodata type:rodata align:8 .rodata type:rodata align:8
.data type:data align:8 .data type:data align:8
.bss type:bss align:8 .bss type:bss align:8
REL/executor.c:
.text start:0x00000000 end:0x000000A0
REL/m426Dll/main.c:
.text start:0x000000A0 end:0x00009AC4
.rodata start:0x00000000 end:0x000001DC
.data start:0x00000000 end:0x00000368
.bss start:0x00000000 end:0x0000009C

View file

@ -1,170 +1,170 @@
_prolog = .text:0x00000000; // type:function size:0x54 scope:global _prolog = .text:0x00000000; // type:function size:0x54 scope:global
_epilog = .text:0x00000054; // type:function size:0x4C scope:global _epilog = .text:0x00000054; // type:function size:0x4C scope:global
fn_1_A0 = .text:0x000000A0; // type:function size:0x16C ObjectSetup = .text:0x000000A0; // type:function size:0x16C
fn_1_20C = .text:0x0000020C; // type:function size:0x124 fn_1_20C = .text:0x0000020C; // type:function size:0x124
fn_1_330 = .text:0x00000330; // type:function size:0xA80 fn_1_330 = .text:0x00000330; // type:function size:0xA80
fn_1_DB0 = .text:0x00000DB0; // type:function size:0x60 fn_1_DB8 = .text:0x00000DB0; // type:function size:0x60
fn_1_E10 = .text:0x00000E10; // type:function size:0xA0 fn_1_E18 = .text:0x00000E10; // type:function size:0xA0
fn_1_EB0 = .text:0x00000EB0; // type:function size:0x14C fn_1_EB8 = .text:0x00000EB0; // type:function size:0x14C
fn_1_FFC = .text:0x00000FFC; // type:function size:0x178 fn_1_1004 = .text:0x00000FFC; // type:function size:0x178
fn_1_1174 = .text:0x00001174; // type:function size:0x70 fn_1_117C = .text:0x00001174; // type:function size:0x70
fn_1_11E4 = .text:0x000011E4; // type:function size:0x70 fn_1_11EC = .text:0x000011E4; // type:function size:0x70
fn_1_1254 = .text:0x00001254; // type:function size:0x49C fn_1_125C = .text:0x00001254; // type:function size:0x49C
fn_1_16F0 = .text:0x000016F0; // type:function size:0x13F4 fn_1_16F8 = .text:0x000016F0; // type:function size:0x13F4
fn_1_2AE4 = .text:0x00002AE4; // type:function size:0x14 fn_1_2AC8 = .text:0x00002AE4; // type:function size:0x14
fn_1_2AF8 = .text:0x00002AF8; // type:function size:0x98 fn_1_2ADC = .text:0x00002AF8; // type:function size:0x98
fn_1_2B90 = .text:0x00002B90; // type:function size:0x368 fn_1_2B74 = .text:0x00002B90; // type:function size:0x368
fn_1_2EF8 = .text:0x00002EF8; // type:function size:0x80 fn_1_2EDC = .text:0x00002EF8; // type:function size:0x80
fn_1_2F78 = .text:0x00002F78; // type:function size:0x6F8 fn_1_2F5C = .text:0x00002F78; // type:function size:0x6F8
fn_1_3670 = .text:0x00003670; // type:function size:0x70 fn_1_3654 = .text:0x00003670; // type:function size:0x70
fn_1_36E0 = .text:0x000036E0; // type:function size:0x50 fn_1_36C4 = .text:0x000036E0; // type:function size:0x50
fn_1_3730 = .text:0x00003730; // type:function size:0x7E8 fn_1_3714 = .text:0x00003730; // type:function size:0x7E8
fn_1_3F18 = .text:0x00003F18; // type:function size:0x700 fn_1_3EFC = .text:0x00003F18; // type:function size:0x700
fn_1_4618 = .text:0x00004618; // type:function size:0x48 fn_1_45FC = .text:0x00004618; // type:function size:0x48
fn_1_4660 = .text:0x00004660; // type:function size:0x60 fn_1_4644 = .text:0x00004660; // type:function size:0x60
fn_1_46C0 = .text:0x000046C0; // type:function size:0x94 fn_1_46A4 = .text:0x000046C0; // type:function size:0x94
fn_1_4754 = .text:0x00004754; // type:function size:0x15C fn_1_4738 = .text:0x00004754; // type:function size:0x15C
fn_1_48B0 = .text:0x000048B0; // type:function size:0x5C fn_1_4894 = .text:0x000048B0; // type:function size:0x5C
fn_1_490C = .text:0x0000490C; // type:function size:0x178 fn_1_48F0 = .text:0x0000490C; // type:function size:0x178
fn_1_4A84 = .text:0x00004A84; // type:function size:0x8C fn_1_4A68 = .text:0x00004A84; // type:function size:0x8C
fn_1_4B10 = .text:0x00004B10; // type:function size:0x3D0 fn_1_4AF4 = .text:0x00004B10; // type:function size:0x3D0
fn_1_4EE0 = .text:0x00004EE0; // type:function size:0x50 fn_1_4EC4 = .text:0x00004EE0; // type:function size:0x50
fn_1_4F30 = .text:0x00004F30; // type:function size:0x220 fn_1_4F14 = .text:0x00004F30; // type:function size:0x220
fn_1_5150 = .text:0x00005150; // type:function size:0xA20 fn_1_5134 = .text:0x00005150; // type:function size:0xA20
fn_1_5B70 = .text:0x00005B70; // type:function size:0x14 fn_1_5B34 = .text:0x00005B70; // type:function size:0x14
fn_1_5B84 = .text:0x00005B84; // type:function size:0x40 fn_1_5B48 = .text:0x00005B84; // type:function size:0x40
fn_1_5BC4 = .text:0x00005BC4; // type:function size:0xE4 fn_1_5B88 = .text:0x00005BC4; // type:function size:0xE4
fn_1_5CA8 = .text:0x00005CA8; // type:function size:0xD0 fn_1_5C6C = .text:0x00005CA8; // type:function size:0xD0
fn_1_5D78 = .text:0x00005D78; // type:function size:0x130 fn_1_5D3C = .text:0x00005D78; // type:function size:0x130
fn_1_5EA8 = .text:0x00005EA8; // type:function size:0x50 fn_1_5E6C = .text:0x00005EA8; // type:function size:0x50
fn_1_5EF8 = .text:0x00005EF8; // type:function size:0x14C fn_1_5EBC = .text:0x00005EF8; // type:function size:0x14C
fn_1_6044 = .text:0x00006044; // type:function size:0x178 fn_1_6008 = .text:0x00006044; // type:function size:0x178
fn_1_61BC = .text:0x000061BC; // type:function size:0x60 fn_1_6180 = .text:0x000061BC; // type:function size:0x60
fn_1_621C = .text:0x0000621C; // type:function size:0x68 fn_1_61E0 = .text:0x0000621C; // type:function size:0x68
fn_1_6284 = .text:0x00006284; // type:function size:0xC8 fn_1_6248 = .text:0x00006284; // type:function size:0xC8
fn_1_634C = .text:0x0000634C; // type:function size:0xA8 fn_1_6310 = .text:0x0000634C; // type:function size:0xA8
fn_1_63F4 = .text:0x000063F4; // type:function size:0x1DC fn_1_63B8 = .text:0x000063F4; // type:function size:0x1DC
fn_1_65D0 = .text:0x000065D0; // type:function size:0x50 fn_1_6594 = .text:0x000065D0; // type:function size:0x50
fn_1_6620 = .text:0x00006620; // type:function size:0x120 fn_1_65E4 = .text:0x00006620; // type:function size:0x120
fn_1_6740 = .text:0x00006740; // type:function size:0x118 fn_1_6704 = .text:0x00006740; // type:function size:0x118
fn_1_6858 = .text:0x00006858; // type:function size:0x28 fn_1_681C = .text:0x00006858; // type:function size:0x28
fn_1_6880 = .text:0x00006880; // type:function size:0x44 fn_1_6844 = .text:0x00006880; // type:function size:0x44
fn_1_68C4 = .text:0x000068C4; // type:function size:0x15C fn_1_6888 = .text:0x000068C4; // type:function size:0x15C
fn_1_6A20 = .text:0x00006A20; // type:function size:0x50 fn_1_69E4 = .text:0x00006A20; // type:function size:0x50
fn_1_6A70 = .text:0x00006A70; // type:function size:0x38C fn_1_6A34 = .text:0x00006A70; // type:function size:0x38C
fn_1_6DFC = .text:0x00006DFC; // type:function size:0x410 fn_1_6DC0 = .text:0x00006DFC; // type:function size:0x410
fn_1_720C = .text:0x0000720C; // type:function size:0xA8 fn_1_71D0 = .text:0x0000720C; // type:function size:0xA8
fn_1_72B4 = .text:0x000072B4; // type:function size:0xB0 fn_1_7278 = .text:0x000072B4; // type:function size:0xB0
fn_1_7364 = .text:0x00007364; // type:function size:0xB4 fn_1_7328 = .text:0x00007364; // type:function size:0xB4
fn_1_7418 = .text:0x00007418; // type:function size:0x1B0 fn_1_73DC = .text:0x00007418; // type:function size:0x1B0
fn_1_75C8 = .text:0x000075C8; // type:function size:0x20 fn_1_758C = .text:0x000075C8; // type:function size:0x20
fn_1_75E8 = .text:0x000075E8; // type:function size:0x4 fn_1_75AC = .text:0x000075E8; // type:function size:0x4
fn_1_75EC = .text:0x000075EC; // type:function size:0xC fn_1_75B0 = .text:0x000075EC; // type:function size:0xC
fn_1_75F8 = .text:0x000075F8; // type:function size:0x38 fn_1_75BC = .text:0x000075F8; // type:function size:0x38
fn_1_7630 = .text:0x00007630; // type:function size:0x118 fn_1_75F4 = .text:0x00007630; // type:function size:0x118
fn_1_7748 = .text:0x00007748; // type:function size:0x250 fn_1_770C = .text:0x00007748; // type:function size:0x250
fn_1_7998 = .text:0x00007998; // type:function size:0x46C fn_1_795C = .text:0x00007998; // type:function size:0x46C
fn_1_7E04 = .text:0x00007E04; // type:function size:0x314 fn_1_7DC8 = .text:0x00007E04; // type:function size:0x314
fn_1_8118 = .text:0x00008118; // type:function size:0x7D8 fn_1_80DC = .text:0x00008118; // type:function size:0x7D8
fn_1_88F0 = .text:0x000088F0; // type:function size:0x55C fn_1_88B4 = .text:0x000088F0; // type:function size:0x55C
fn_1_8E4C = .text:0x00008E4C; // type:function size:0x38 fn_1_8E10 = .text:0x00008E4C; // type:function size:0x38
fn_1_8E84 = .text:0x00008E84; // type:function size:0x2E8 fn_1_8E48 = .text:0x00008E84; // type:function size:0x2E8
fn_1_916C = .text:0x0000916C; // type:function size:0x100 fn_1_9130 = .text:0x0000916C; // type:function size:0x100
fn_1_926C = .text:0x0000926C; // type:function size:0x314 fn_1_9230 = .text:0x0000926C; // type:function size:0x314
fn_1_9580 = .text:0x00009580; // type:function size:0x1D8 fn_1_9544 = .text:0x00009580; // type:function size:0x1D8
fn_1_9758 = .text:0x00009758; // type:function size:0x7C fn_1_971C = .text:0x00009758; // type:function size:0x7C
fn_1_97D4 = .text:0x000097D4; // type:function size:0x54 fn_1_9798 = .text:0x000097D4; // type:function size:0x54
fn_1_9828 = .text:0x00009828; // type:function size:0x7C fn_1_97EC = .text:0x00009828; // type:function size:0x7C
fn_1_98A4 = .text:0x000098A4; // type:function size:0x7C fn_1_9868 = .text:0x000098A4; // type:function size:0x7C
fn_1_9920 = .text:0x00009920; // type:function size:0x78 fn_1_98E4 = .text:0x00009920; // type:function size:0x78
fn_1_9998 = .text:0x00009998; // type:function size:0x12C fn_1_995C = .text:0x00009998; // type:function size:0x12C
_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:0x4 data:float lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local data:float
lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 scope:local data:float
lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 scope:local data:float
lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 data:float lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0x4 scope:local data:float
lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 data:float lbl_1_rodata_24 = .rodata:0x00000024; // type:object size:0x4 scope:local data:float
lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 data:4byte lbl_1_rodata_28 = .rodata:0x00000028; // type:object size:0x8 scope:local data:4byte
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:0x8 data:double lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x8 scope:local data:double
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_48 = .rodata:0x00000048; // type:object size:0x8 data:double lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x8 scope:local data:double
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_5C = .rodata:0x0000005C; // type:object size:0x4 data:float lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 data:float lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0x4 scope:local data:float
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:0x8 data:double lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0x8 scope:local data:double
lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 data:float lbl_1_rodata_80 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float
lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local data:float
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_8C = .rodata:0x0000008C; // type:object size:0x4 data:float lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 data:float lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x4 scope:local data:float
lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 data:double lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0x8 scope:local data:double
lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 data:double lbl_1_rodata_A0 = .rodata:0x000000A0; // type:object size:0x8 scope:local data:double
lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 data:double lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x8 scope:local data:double
lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 data:double lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x8 scope:local data:double
lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 data:float lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 data:float lbl_1_rodata_BC = .rodata:0x000000BC; // type:object size:0x4 scope:local data:float
lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 data:float lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 data:float lbl_1_rodata_C4 = .rodata:0x000000C4; // type:object size:0x4 scope:local data:float
lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 data:float lbl_1_rodata_C8 = .rodata:0x000000C8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 data:double lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x8 scope:local data:double
lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 scope:local data:float
lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 scope:local data:float
lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 scope:local data:float
lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 data:double lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x8 scope:local data:double
lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 data:float lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 data:double lbl_1_rodata_100 = .rodata:0x00000100; // type:object size:0x8 scope:local data:double
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:0x4 data:float lbl_1_rodata_114 = .rodata:0x00000114; // type:object size:0x4 scope:local data:float
lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 data:float lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x4 scope:local data:float
lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 data:float lbl_1_rodata_11C = .rodata:0x0000011C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 data:float lbl_1_rodata_120 = .rodata:0x00000120; // type:object size:0x4 scope:local data:float
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:0x4 data:float lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x4 scope:local data:float
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:0x4 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 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:0x4 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:0x8 data:double lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x8 scope:local data:double
lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float
lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local data:float
lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 scope:local data:float
lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 data:double lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x8 scope:local data:double
lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 scope:local data:float
lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 scope:local data:float
lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 data:double lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x8 scope:local data:double
lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 data:float lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x4 scope:local data:float
lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 data:float lbl_1_rodata_194 = .rodata:0x00000194; // type:object size:0x4 scope:local data:float
lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 data:double lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x8 scope:local data:double
lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 data:double lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x8 scope:local data:double
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_1C0 = .rodata:0x000001C0; // type:object size:0x8 data:double lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 scope:local data:double
lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 data:double lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 scope:local data:double
lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 data:double lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x8 scope:local data:double
lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x1 data:byte lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x1 scope:local data:byte
lbl_1_data_0 = .data:0x00000000; // type:object size:0x30 lbl_1_data_0 = .data:0x00000000; // type:object size:0x30
lbl_1_data_30 = .data:0x00000030; // type:object size:0xC lbl_1_data_30 = .data:0x00000030; // type:object size:0xC
lbl_1_data_3C = .data:0x0000003C; // type:object size:0xC lbl_1_data_3C = .data:0x0000003C; // type:object size:0xC
@ -173,7 +173,7 @@ lbl_1_data_4C = .data:0x0000004C; // type:object size:0x54 data:float
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:0xC lbl_1_data_B8 = .data:0x000000B8; // type:object size:0xC
lbl_1_data_C4 = .data:0x000000C4; // type:object size:0x24 lbl_1_data_C4 = .data:0x000000C4; // type:object size:0x24 scope:local data:string
jumptable_1_data_E8 = .data:0x000000E8; // type:object size:0x24 scope:local jumptable_1_data_E8 = .data:0x000000E8; // type:object size:0x24 scope:local
lbl_1_data_10C = .data:0x0000010C; // type:object size:0x4 lbl_1_data_10C = .data:0x0000010C; // type:object size:0x4
lbl_1_data_110 = .data:0x00000110; // type:object size:0x60 data:4byte lbl_1_data_110 = .data:0x00000110; // type:object size:0x60 data:4byte

View file

@ -1065,14 +1065,14 @@ config.libs = [
Rel( Rel(
"m425Dll", # The Great Deflate "m425Dll", # The Great Deflate
objects={ objects={
Object(NonMatching, "REL/m425Dll/main.c"), Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m425Dll/main.c"),
Object(NonMatching, "REL/m425Dll/thwomp.c"), Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m425Dll/thwomp.c"),
}, },
), ),
Rel( Rel(
"m426Dll", # Revers-a-Bomb "m426Dll", # Revers-a-Bomb
objects={ objects={
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m426Dll/main.c"), Object(MatchingFor("GMPE01_00", "GMPE01_01", "GMPP01_00", "GMPP01_02"), "REL/m426Dll/main.c"),
}, },
), ),
Rel( Rel(
@ -1086,9 +1086,9 @@ config.libs = [
Rel( Rel(
"m428Dll", # Cliffhangers "m428Dll", # Cliffhangers
objects={ objects={
Object(NonMatching, "REL/m428Dll/main.c"), Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m428Dll/main.c"),
Object(NonMatching, "REL/m428Dll/map.c"), Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m428Dll/map.c"),
Object(NonMatching, "REL/m428Dll/player.c"), Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m428Dll/player.c"),
}, },
), ),
Rel( Rel(
@ -1396,10 +1396,10 @@ config.libs = [
Rel( Rel(
"mstory3Dll", "mstory3Dll",
objects={ objects={
Object(NonMatching, "REL/mstory3Dll/main.c"), Object(MatchingFor("GMPE01_00"), "REL/mstory3Dll/main.c"),
Object(NonMatching, "REL/mstory3Dll/result_seq.c"), Object(MatchingFor("GMPE01_00"), "REL/mstory3Dll/result_seq.c"),
Object(NonMatching, "REL/mstory3Dll/result.c"), Object(MatchingFor("GMPE01_00"), "REL/mstory3Dll/result.c"),
Object(NonMatching, "REL/mstory3Dll/win_effect.c"), Object(MatchingFor("GMPE01_00"), "REL/mstory3Dll/win_effect.c"),
}, },
), ),
Rel( Rel(

34
include/REL/m428Dll.h Normal file
View file

@ -0,0 +1,34 @@
#ifndef M428DLL_H
#define M428DLL_H
#include "game/object.h"
s32 fn_1_26E0(void);
void fn_1_4170(s16 arg0, s32 arg1);
void fn_1_4324(s32 arg0, Vec *arg1, Vec *arg2, Vec *arg3);
void fn_1_43C8(Process *arg0);
void fn_1_4630(void);
u8 fn_1_9990(Vec *arg0);
void fn_1_9A30(u8 arg0, float arg8, Vec *arg1, Vec *arg2, float arg9);
void fn_1_9ADC(u8 arg0);
void fn_1_9DE8(u8 arg0, float arg8, s8 arg1);
void fn_1_9EA8(u8 arg0);
omObjData *fn_1_9F5C(Process *process);
void fn_1_A0B0(void);
s32 fn_1_F354(void);
s32 fn_1_F3BC(s32 arg0);
void fn_1_F414(s32 arg0);
void fn_1_F454(s32 arg0, s32 arg1);
void fn_1_F46C(s32 arg0, s32 arg1);
void fn_1_F4B4(s32 arg0, s32 arg1, float arg8);
s32 fn_1_F4E8(s32 arg0);
void fn_1_116C4(s32 arg0, s32 arg1);
void fn_1_11754(s32 arg0, float arg8);
void fn_1_11798(s32 arg0);
extern s16 lbl_1_bss_50[4];
extern s32 lbl_1_bss_18;
#endif

View file

@ -1,5 +1,5 @@
#ifndef M4303LL_H #ifndef M430DLL_H
#define M4303LL_H #define M430DLL_H
#include "game/object.h" #include "game/object.h"

99
include/REL/mstory3Dll.h Executable file
View file

@ -0,0 +1,99 @@
#ifndef MSTORY3DLL_H
#define MSTORY3DLL_H
#include "game/object.h"
#include "game/process.h"
#include "dolphin.h"
// For future reference: seems to be identical to StructFn352C in mstoryDll.
typedef struct {
/* 0x00 */ s32 unk00;
/* 0x04 */ s32 unk04;
/* 0x08 */ s32 unk08;
/* 0x0C */ s32 unk0C;
/* 0x10 */ s32 unk10;
/* 0x14 */ s32 unk14;
/* 0x18 */ s32 unk18;
/* 0x1C */ s32 unk1C;
/* 0x20 */ s32 unk20;
/* 0x24 */ s32 unk24;
/* 0x28 */ s32 unk28;
/* 0x2C */ s32 unk2C;
/* 0x30 */ char unk30[4];
} StructFn352C; // Size 0x34
// For future reference: seems to be identical to StructBss4 in mstoryDll.
typedef struct {
/* 0x00 */ void (*unk00)(void);
/* 0x04 */ void (*unk04)(void);
/* 0x08 */ Vec unk08;
/* 0x14 */ float unk14;
/* 0x18 */ float unk18;
/* 0x1C */ float unk1C;
/* 0x20 */ Vec unk20;
/* 0x2C */ float unk2C;
/* 0x30 */ float unk30;
/* 0x34 */ float unk34;
/* 0x38 */ float unk38;
/* 0x3C */ float unk3C;
/* 0x40 */ s32 unk40;
} StructBss4; // Size 0x44
typedef struct {
/* 0x00 */ omObjData* unk00;
/* 0x04 */ void (*unk04)(omObjData*, ...);
/* 0x08 */ s32 unk08;
/* 0x0C */ s32 unk0C;
/* 0x10 */ s32 unk10;
/* 0x14 */ s32 unk14;
/* 0x18 */ s32 unk18;
/* 0x1C */ s32 unk1C;
/* 0x20 */ char unk20[8];
} StructBss1530; // Size 0x28
// main.c
float fn_1_5D4(float arg8, float arg9, float argA, float argB);
float fn_1_5FC(float arg8, float arg9, float argA);
float fn_1_61C(float arg0, float arg1, float arg2, float arg3);
float fn_1_6F4(float arg0, float arg1, float arg2, float arg3);
float fn_1_7BC(float arg0, float arg1, float arg2, float arg3);
float fn_1_878(float arg0, float arg1, float arg2, float arg3);
void fn_1_938(void);
void fn_1_958(s32 arg0);
void fn_1_9A0(void);
void fn_1_9C4(void);
s32 fn_1_1624(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4);
s32 fn_1_1834(u32 arg0, s32 arg1);
void fn_1_1A24(s32 arg0);
void fn_1_1AB0(s32 arg0);
void fn_1_1B18(s32 arg0, s32 arg1);
void fn_1_1D44(s32 arg0, s32 arg1);
void fn_1_1E28(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4);
void fn_1_2280(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3);
void fn_1_2310(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3);
void fn_1_2420(s32 arg0, s32 arg1);
void fn_1_2834(void (*arg0)(void));
void fn_1_290C(Process* arg0, void (*arg1)(void));
void fn_1_2DD4(omObjData* arg0, s32 arg1, Vec arg2, float arg3, float arg4, float arg5);
void fn_1_35C8(s16 arg0);
void fn_1_3650(StructFn352C* arg0, s32 arg1);
s32 fn_1_36E4(void);
s32 fn_1_373C(void);
s32 fn_1_37C8(s32 arg0);
void fn_1_38B4(void);
void fn_1_39B4(StructBss4* arg0);
void fn_1_4400(StructBss4* arg0, StructBss4* arg1, float arg2, float arg3, float arg4);
void fn_1_4CC0(StructBss4* arg0, StructBss4* arg1, float arg2, float arg3);
void fn_1_514C(StructBss4* arg0, StructBss4* arg1, float arg2, float arg3, float arg4);
// result_seq.c
void fn_1_6E34(Process* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4);
// result.c
void fn_1_157F0(Process* arg0, s32 arg1, s32 arg2, s32 arg3);
extern StructBss4 lbl_1_bss_4;
extern s32 lbl_1_data_0[][4];
#endif

View file

@ -20,6 +20,8 @@ void GXLoadPosMtxImm(f32 mtx[3][4], u32 id);
void GXLoadNrmMtxImm(f32 mtx[3][4], u32 id); void GXLoadNrmMtxImm(f32 mtx[3][4], u32 id);
void GXLoadTexMtxImm(f32 mtx[][4], u32 id, GXTexMtxType type); void GXLoadTexMtxImm(f32 mtx[][4], u32 id, GXTexMtxType type);
#endif #endif
void GXProject(f32 x, f32 y, f32 z, const f32 mtx[3][4], const f32 *pm, const f32 *vp, f32 *sx, f32 *sy, f32 *sz);
void GXGetViewportv(f32 *vp);
void GXSetViewport(f32 left, f32 top, f32 wd, f32 ht, f32 nearz, f32 farz); void GXSetViewport(f32 left, f32 top, f32 wd, f32 ht, f32 nearz, f32 farz);
void GXSetCurrentMtx(u32 id); void GXSetCurrentMtx(u32 id);
void GXSetViewportJitter(f32 left, f32 top, f32 wd, f32 ht, f32 nearz, f32 farz, u32 field); void GXSetViewportJitter(f32 left, f32 top, f32 wd, f32 ht, f32 nearz, f32 farz, u32 field);

View file

@ -15,10 +15,10 @@ void GWCharColorGet(s32 character, GXColor *color);
void GWBoardPlayCountSet(s32 board, u8 value); void GWBoardPlayCountSet(s32 board, u8 value);
void GWBoardPlayCountAdd(s32 board, u8 value); void GWBoardPlayCountAdd(s32 board, u8 value);
u8 GWBoardPlayCountGet(s32 board); u8 GWBoardPlayCountGet(s32 board);
void GWBoardMaxStarsSet(s32 board, s32 value); void GWBoardMaxStarsSet(s32 board, s16 value);
u16 GWBoardMaxStarsGet(s32 board); s32 GWBoardMaxStarsGet(s32 board);
void GWBoardMaxCoinsSet(s32 board, s32 value); void GWBoardMaxCoinsSet(s32 board, s32 value);
u16 GWBoardMaxCoinsGet(s32 board); s32 GWBoardMaxCoinsGet(s32 board);
s32 GWBoardWinCountInc(s32 character, s32 board); s32 GWBoardWinCountInc(s32 character, s32 board);
s32 GWBoardWinCountGet(s32 character, s32 board); s32 GWBoardWinCountGet(s32 character, s32 board);
void GWBoardWinCountSet(s32 character, s32 board, s32 value); void GWBoardWinCountSet(s32 character, s32 board, s32 value);

View file

@ -325,6 +325,11 @@ static inline s32 GWPlayerTeamGet(s32 player)
return GWPlayer[player].team; return GWPlayer[player].team;
} }
static inline s32 GWPlayerHandicapGet(s32 player)
{
return GWPlayer[player].handicap;
}
static inline s32 GWLuckyValueGet(void) static inline s32 GWLuckyValueGet(void)
{ {
return GWSystem.lucky_value; return GWSystem.lucky_value;

View file

@ -3,6 +3,7 @@
#include "dolphin.h" #include "dolphin.h"
#include "musyx/musyx.h" #include "musyx/musyx.h"
#include "game/msm_data.h"
#define MSM_SEPARAM_NONE 0 #define MSM_SEPARAM_NONE 0
#define MSM_SEPARAM_VOL (1 << 0) #define MSM_SEPARAM_VOL (1 << 0)
@ -40,25 +41,24 @@
#define MSM_ERR_READFAIL -2 #define MSM_ERR_READFAIL -2
#define MSM_ERR_OUTOFMEM -10 #define MSM_ERR_OUTOFMEM -10
#define MSM_ERR_OUTOFAMEM -20 #define MSM_ERR_OUTOFAMEM -20
#define MSM_ERR_INITFAIL -20 #define MSM_ERR_INITFAIL -30
#define MSM_ERR_1E -30
#define MSM_ERR_INVALID_AUXPARAM -31 #define MSM_ERR_INVALID_AUXPARAM -31
#define MSM_ERR_20 -32 #define MSM_ERR_GRP_FAILPUSH -32
#define MSM_ERR_PLAYFAIL -33 #define MSM_ERR_PLAYFAIL -33
#define MSM_ERR_22 -34 #define MSM_LISTENER_NO_UPDATA -34
#define MSM_ERR_STREAMALLOC_FAIL -35 #define MSM_ERR_STREAMALLOC_FAIL -35
#define MSM_ERR_INSTALLED -36 #define MSM_ERR_INSTALLED -36
#define MSM_ERR_64 -100 #define MSM_ERR_64 -100
#define MSM_ERR_65 -101 #define MSM_ERR_STACK_OVERFLOW -101
#define MSM_ERR_GRP_NOTLOADED -103 #define MSM_ERR_GRP_NOTLOADED -103
#define MSM_ERR_6E -110 #define MSM_ERR_CHANLIMIT -110
#define MSM_ERR_6F -111 #define MSM_ERR_INVALIDSE -111
#define MSM_ERR_INVALIDID -120 #define MSM_ERR_INVALIDID -120
#define MSM_ERR_INVALIDFILE -121 #define MSM_ERR_INVALIDFILE -121
#define MSM_ERR_REMOVEDID -122 #define MSM_ERR_REMOVEDID -122
#define MSM_ERR_MUSGRP_NOTLOADED -123 #define MSM_ERR_MUSGRP_NOTLOADED -123
#define MSM_ERR_OUTOFMUS -130 #define MSM_ERR_OUTOFMUS -130
#define MSM_ERR_8C -140 #define MSM_ERR_RANGE_STREAM -140
#define MSM_VOL_MAX 127 #define MSM_VOL_MAX 127
#define MSM_PAN_LEFT 32 #define MSM_PAN_LEFT 32
@ -132,19 +132,6 @@ typedef struct msmSeParam_s {
Vec pos; Vec pos;
} MSM_SEPARAM; } MSM_SEPARAM;
typedef struct msmSe_s {
u16 groupId;
u16 fxId;
s8 vol;
s8 pan;
s16 pitchBend;
u8 span;
u8 reverb;
u8 chorus;
s8 doppler;
s8 comp;
u8 pad[3];
} MSMSE;
typedef struct msmSeListener_s { typedef struct msmSeListener_s {
s32 flag; s32 flag;
@ -173,10 +160,11 @@ typedef struct msmStreamParam_s {
} MSM_STREAMPARAM; } MSM_STREAMPARAM;
s32 msmSysInit(MSM_INIT *init, MSM_ARAM *aram); s32 msmSysInit(MSM_INIT *init, MSM_ARAM *aram);
s32 msmSysSetOutputMode(SND_OUTPUTMODE mode); BOOL msmSysSetOutputMode(SND_OUTPUTMODE mode);
s32 msmSysDelGroupAll(void); s32 msmSysDelGroupAll(void);
s32 msmSysGetSampSize(BOOL baseGrp); s32 msmSysGetSampSize(BOOL baseGrp);
s32 msmSysDelGroupBase(s32 grpNum); s32 msmSysDelGroupBase(s32 grpNum);
s32 msmSysSetAux(s32 auxA, s32 auxB);
s32 msmSeSetParam(int seNo, MSM_SEPARAM *param); s32 msmSeSetParam(int seNo, MSM_SEPARAM *param);
int msmSePlay(int seId, MSM_SEPARAM *param); int msmSePlay(int seId, MSM_SEPARAM *param);
@ -190,6 +178,8 @@ void msmSeDelListener(void);
s32 msmSeGetStatus(int seNo); s32 msmSeGetStatus(int seNo);
s32 msmSeGetNumPlay(BOOL baseGrp); s32 msmSeGetNumPlay(BOOL baseGrp);
s32 msmSeGetEntryID(s32 seId, int *seNo); s32 msmSeGetEntryID(s32 seId, int *seNo);
void msmSeSetMasterVolume(s32 vol);
MSM_SE* msmSeGetIndexPtr(s32 seId);
int msmMusPlay(int musId, MSM_MUSPARAM *musParam); int msmMusPlay(int musId, MSM_MUSPARAM *musParam);
s32 msmMusStop(int musNo, s32 speed); s32 msmMusStop(int musNo, s32 speed);
@ -199,6 +189,8 @@ s32 msmMusGetMidiCtrl(int musNo, s32 channel, s32 ctrl);
void msmMusStopAll(BOOL checkGrp, s32 speed); void msmMusStopAll(BOOL checkGrp, s32 speed);
s32 msmMusGetStatus(int musNo); s32 msmMusGetStatus(int musNo);
s32 msmMusGetNumPlay(BOOL baseGrp); s32 msmMusGetNumPlay(BOOL baseGrp);
s32 msmMusSetParam(s32 musNo, MSM_MUSPARAM *param);
void msmMusSetMasterVolume(s32 vol);
int msmStreamPlay(int streamId, MSM_STREAMPARAM *streamParam); int msmStreamPlay(int streamId, MSM_STREAMPARAM *streamParam);
s32 msmStreamStop(int streamNo, s32 speed); s32 msmStreamStop(int streamNo, s32 speed);
@ -207,5 +199,7 @@ s32 msmStreamPause(int streamNo, BOOL pause, s32 speed);
void msmStreamStopAll(s32 speed); void msmStreamStopAll(s32 speed);
s32 msmStreamGetStatus(int streamNo); s32 msmStreamGetStatus(int streamNo);
void msmStreamSetMasterVolume(s32 arg0);
void msmStreamSetOutputMode(s32 outputMode);
#endif #endif

185
include/game/msm_data.h Normal file
View file

@ -0,0 +1,185 @@
#ifndef _MSM_DATA_H
#define _MSM_DATA_H
#include "dolphin.h"
#include "musyx/musyx.h"
#define MSM_STREAM_FLAG_STEREO 0x1
#define MSM_STREAM_FLAG_LOOP 0x2
#define MSM_FILE_VERSION 2
#define MSM_PDT_FILE_VERSION 1
typedef struct MSMHeader_s {
s32 magic;
s32 version;
s32 endOfs;
s32 endSize;
s32 infoOfs;
u32 infoSize;
s32 auxParamOfs;
u32 auxParamSize;
s32 grpInfoOfs;
s32 grpInfoSize;
s32 musOfs;
s32 musSize;
s32 seOfs;
s32 seSize;
s32 grpDataOfs;
s32 grpDataSize;
s32 sampOfs;
s32 sampSize;
s32 dummyMusOfs;
s32 dummyMusSize;
s32 grpSetOfs;
s32 grpSetSize;
s32 pad[2];
} MSM_HEADER; // sizeof 0x60
typedef struct MSMInfo_s {
s8 voices;
s8 music;
s8 sfx;
s8 grpMax;
s16 musMax;
s16 seMax;
s8 musChanMax;
s8 stackDepthA;
s8 stackDepthB;
s8 surroundF;
s8 unkC[2];
s8 auxParamA;
s8 auxParamB;
s32 minMem;
s32 aramSize;
s32 grpBufSizeA;
s32 grpBufSizeB;
s32 dummyMusSize;
s32 unk24;
s8 baseGrpNum;
s8 baseGrp[23];
} MSM_INFO;
typedef struct {
u32 tempDisableFX;
f32 coloration;
f32 mix;
f32 time;
f32 damping;
f32 preDelay;
f32 crosstalk;
} MSM_AUXPARAM_REVERBHI;
typedef struct {
u32 tempDisableFX;
f32 coloration;
f32 mix;
f32 time;
f32 damping;
f32 preDelay;
f32 crosstalk;
} MSM_AUXPARAM_REVERBSTD;
typedef struct {
u32 baseDelay;
u32 variation;
u32 period;
} MSM_AUXPARAM_CHORUS;
typedef struct {
u32 delay[3];
u32 feedback[3];
u32 output[3];
} MSM_AUXPARAM_DELAY;
typedef struct MSMAuxParam_s {
s8 type;
u8 pad[3];
union {
MSM_AUXPARAM_REVERBHI revHi;
MSM_AUXPARAM_REVERBSTD revStd;
MSM_AUXPARAM_CHORUS chorus;
MSM_AUXPARAM_DELAY delay;
};
} MSM_AUXPARAM;
typedef struct MSMSe_s {
SND_GROUPID gid;
SND_FXID fxId;
s8 vol;
s8 pan;
s16 pitchBend;
u8 span;
u8 reverb;
u8 chorus;
s8 emitterF;
s8 emiComp;
u8 pad[3];
} MSM_SE;
typedef struct MSMMus_s {
SND_GROUPID sgid;
SND_SONGID sid;
s32 songOfs;
s32 songSize;
s8 songGrp;
s8 vol;
u8 pad[2];
} MSM_MUS; // Size 0x10
typedef struct MSMGrpHead_s {
s32 poolOfs;
s32 projOfs;
s32 sdirOfs;
s32 sngOfs;
} MSM_GRP_HEAD;
typedef struct MSMGrpInfo_s {
SND_GROUPID gid;
s8 stackNo;
s8 subGrpId;
s32 dataOfs;
s32 dataSize;
s32 sampOfs;
s32 sampSize;
u8 pad[12];
} MSM_GRP_INFO;
typedef struct MSMGrpSet_s {
s8 numGrpSet;
s8 grpSetW;
s8 data[1];
} MSM_GRP_SET;
typedef struct MSMStreamHeader_s {
s16 version;
s16 streamMax;
s32 chanMax;
s32 sampleFrq;
s32 maxBufs;
u32 streamPackListOfs;
u32 adpcmParamOfs;
u32 streamPackOfs;
u32 sampleOfs;
} MSM_STREAM_HEADER;
typedef struct MSMStream_s {
s32 sampleOfs;
s16 adpcmParamIdx;
u16 pad;
} MSM_STREAM;
typedef struct MSMStreamPack_s {
s8 flag;
s8 vol;
s8 pan;
s8 span;
s8 auxA;
s8 auxB;
u16 frq;
u32 loopOfsEnd;
u32 loopOfsStart;
MSM_STREAM stream[2];
} MSM_STREAM_PACK; // Size unknown
#endif

View file

@ -3,8 +3,8 @@
#include "dolphin/types.h" #include "dolphin/types.h"
void msmMemFree(void *); void msmMemFree(void *ptr);
void *msmMemAlloc(u32); void *msmMemAlloc(u32 sze);
void msmMemInit(void *, u32); void msmMemInit(void *ptr, u32 size);
#endif #endif

View file

@ -16,6 +16,6 @@ s32 msmMusPause(int musNo, BOOL pause, s32 speed);
void msmMusStopAll(BOOL checkGrp, s32 speed); void msmMusStopAll(BOOL checkGrp, s32 speed);
s32 msmMusStop(int musNo, s32 speed); s32 msmMusStop(int musNo, s32 speed);
int msmMusPlay(int musId, MSM_MUSPARAM* musParam); int msmMusPlay(int musId, MSM_MUSPARAM* musParam);
s32 msmMusInit(sysData* arg0, DVDFileInfo* arg1); s32 msmMusInit(MSM_SYS* arg0, DVDFileInfo* arg1);
#endif #endif

View file

@ -5,7 +5,7 @@
#include "msm/msmsys.h" #include "msm/msmsys.h"
void msmSePeriodicProc(void); void msmSePeriodicProc(void);
MSMSE* msmSeGetIndexPtr(s32 arg0); MSM_SE* msmSeGetIndexPtr(s32 arg0);
void msmSeDelListener(void); void msmSeDelListener(void);
s32 msmSeUpdataListener(Vec* pos, Vec* heading); s32 msmSeUpdataListener(Vec* pos, Vec* heading);
s32 msmSeSetListener(Vec* pos, Vec* heading, float sndDist, float sndSpeed, MSM_SELISTENER* listener); s32 msmSeSetListener(Vec* pos, Vec* heading, float sndDist, float sndSpeed, MSM_SELISTENER* listener);
@ -18,6 +18,6 @@ void msmSePauseAll(BOOL pause, s32 speed);
void msmSeStopAll(BOOL checkGrp, s32 speed); void msmSeStopAll(BOOL checkGrp, s32 speed);
s32 msmSeStop(int seNo, s32 speed); s32 msmSeStop(int seNo, s32 speed);
int msmSePlay(int seId, MSM_SEPARAM* param); int msmSePlay(int seId, MSM_SEPARAM* param);
s32 msmSeInit(sysData* arg0, DVDFileInfo* arg1); s32 msmSeInit(MSM_SYS* arg0, DVDFileInfo* arg1);
#endif #endif

View file

@ -13,10 +13,6 @@ void msmStreamSetOutputMode(s32 arg0);
void msmStreamAmemFree(void); void msmStreamAmemFree(void);
s32 msmStreamAmemAlloc(void); s32 msmStreamAmemAlloc(void);
s32 msmStreamInit(char* arg0); s32 msmStreamInit(char* arg0);
void msmStreamPauseOff(s32 arg0);
void msmStreamPauseOn(s32 streamNo, s32 arg1);
s32 msmStreamPackStartStereo(s32 arg0, MSM_STREAMPARAM* arg1, s32 arg2);
s32 msmStreamPackStartMono(s32 arg0, MSM_STREAMPARAM* arg1, s32 arg2);
void msmStreamSlotOff(s32 streamNo);
#endif #endif

View file

@ -5,167 +5,63 @@
#include "dolphin.h" #include "dolphin.h"
typedef struct { #define MSM_AUX_REVERBHI 0
u32 tempDisableFX; #define MSM_AUX_REVERBSTD 1
f32 coloration; #define MSM_AUX_CHORUS 2
f32 mix; #define MSM_AUX_DELAY 3
f32 time;
f32 damping;
f32 preDelay;
f32 crosstalk;
} SubStructRev;
typedef struct { #define MSM_AUXNO_NULL -2
u32 baseDelay; #define MSM_AUXNO_UNSET -1
u32 variation;
u32 period;
} SubStructCh;
typedef struct {
u32 delay[3];
u32 feedback[3];
u32 output[3];
} SubDelay;
typedef struct _unkSubStruct {
s8 unk0;
union {
SubStructRev rev;
SubStructCh ch;
SubDelay delay;
};
} unkSubStruct;
typedef union { typedef union {
SND_AUX_REVERBHI revHi; SND_AUX_REVERBHI revHi;
SND_AUX_REVERBSTD revStd; SND_AUX_REVERBSTD revStd;
SND_AUX_CHORUS ch; SND_AUX_CHORUS chorus;
SND_AUX_DELAY delay; SND_AUX_DELAY delay;
} UnkSndAuxUnion; // Size 0x1E0 } MSM_AUX; // Size 0x1E0
typedef struct _unkSubStruct3 { typedef struct MSMGrpWork_s {
char unk[0x4]; s8 grpId;
s32 unk4; s8 baseGrpF;
char unk8[0x8]; u32 num;
s32 unk10; // offset void *buf;
u32 unk14; // length } MSM_GRP_STACK;
s32 unk18; // offset
u32 unk1C; // length
s32 unk20;
s32 unk24;
s32 unk28;
s32 unk2C;
s32 unk30;
s32 unk34;
s32 unk38;
char unk3C[4];
s32 unk40;
char unk44[4];
s32 unk48;
char unk4C[4];
s32 unk50;
s32 unk54;
char unk58[8];
} unkSubStruct3; // sizeof 0x60
typedef struct _unkStruct3 { typedef struct MSMSys_s {
s32 unk0; s32 msmEntryNum;
s32 unk4; s8 outputMode;
s32 unk8;
} unkStruct3;
typedef struct _sndInitData {
s8 unk0;
s8 unk1;
s8 unk2;
s8 unk3;
s16 unk4;
s16 unk6;
s8 unk8;
s8 unk9;
s8 unkA;
s8 unkB;
char unkC[2];
s8 unkE;
s8 unkF;
u32 unk10;
s32 unk14;
s32 unk18;
s32 unk1C;
s32 unk20;
char unk24[4];
s8 unk28;
s8 unk29[10]; // size unknown
} sndInitData;
typedef struct {
/* 0x00 */ s8 unk00;
/* 0x01 */ s8 unk01;
/* 0x02 */ char unk02[2];
/* 0x04 */ u32 unk04;
/* 0x08 */ void *unk08;
} UnkStructSys43C; // Size 0xC
typedef struct _unkStruct4 {
SND_GROUPID unk0;
s8 unk2;
s8 unk3;
s32 unk4;
s32 unk8;
s32 unkC;
s32 unk10;
char unk14[0xC];
} unkStruct4; // Size 0x20
typedef struct {
/* 0x00 */ s8 unk00;
/* 0x01 */ s8 unk01;
/* 0x02 */ s8 unk02[1]; // unknown array length
} UnkSys3F0Struct; // Size unknown
typedef struct _sysData {
s32 unk0;
s8 unk4;
s8 unk5; s8 unk5;
s8 unk6; s8 unk6;
s8 unk7; s8 arInitF;
s32 unk8; s32 aramP;
unkSubStruct3 *unkC; MSM_HEADER *header;
sndInitData *unk10; MSM_INFO *info;
unkSubStruct *unk14; MSM_AUXPARAM *auxParam;
s8 unk18[2]; s8 auxParamNo[2];
s8 unk1A; MSM_AUX aux[2]; // 0: userA, 1: userB
s8 unk1B; s8 grpMax;
UnkSndAuxUnion unk1C[2]; // 0: userA, 1: userB s32 grpNum;
s8 unk3DC; u32 sampSize;
char unk3DD[3]; u32 sampSizeBase;
s32 unk3E0; MSM_GRP_INFO *grpInfo;
u32 unk3E4; MSM_GRP_SET *grpSet;
u32 unk3E8; s8 baseGrpNum;
unkStruct4 *unk3EC; MSM_GRP_HEAD *grpData[15];
UnkSys3F0Struct *unk3F0; s8 grpStackAMax;
s8 unk3F4; u8 grpStackADepth;
unkStruct3 *unk3F8[1]; // unknown array length s8 grpStackAOfs;
char unk3FC[0x38]; void *grpBufA;
s8 unk434; MSM_GRP_STACK grpStackA[4];
u8 unk435; s8 grpStackBMax;
s8 unk436; u8 grpStackBDepth;
char unk437[1]; s8 grpStackBOfs;
void *unk438; void *grpBufB;
UnkStructSys43C unk43C[1]; // unknown array length MSM_GRP_STACK grpStackB[10];
char unk448[0x24]; s32 irqDepth;
s8 unk46C; BOOL irqState;
u8 unk46D; AIDCallback oldAIDCallback;
s8 unk46E; s32 timer;
char unk46F[1]; } MSM_SYS;
void *unk470;
UnkStructSys43C unk474[1]; // unknown array length
char unk480[0x6C];
s32 unk4EC;
BOOL unk4F0;
AIDCallback unk4F4;
s32 unk4F8;
} sysData;
s32 msmSysSearchGroupStack(s32 arg0, s32 arg1); s32 msmSysSearchGroupStack(s32 arg0, s32 arg1);
s32 msmSysGroupInit(DVDFileInfo *arg0); s32 msmSysGroupInit(DVDFileInfo *arg0);
@ -176,8 +72,7 @@ void *msmSysGetGroupDataPtr(s32 arg0);
BOOL msmSysCheckLoadGroupID(s32 arg0); BOOL msmSysCheckLoadGroupID(s32 arg0);
void msmSysRegularProc(void); void msmSysRegularProc(void);
s32 msmSysGetOutputMode(void); s32 msmSysGetOutputMode(void);
s32 msmSysSetOutputMode(SND_OUTPUTMODE mode); BOOL msmSysSetOutputMode(SND_OUTPUTMODE mode);
s32 msmSysSetAux(s32 arg0, s32 arg1);
s32 msmSysGetSampSize(BOOL baseGrp); s32 msmSysGetSampSize(BOOL baseGrp);
s32 msmSysDelGroupAll(void); s32 msmSysDelGroupAll(void);
s32 msmSysDelGroupBase(s32 grpNum); s32 msmSysDelGroupBase(s32 grpNum);

View file

@ -579,7 +579,7 @@ static void fn_1_1A60(Vec *arg0, s16 arg1, Vec *arg2)
} }
temp_r31 = &Hu3DCamera[i]; temp_r31 = &Hu3DCamera[i];
C_MTXLookAt(sp1C, &temp_r31->pos, &temp_r31->up, &temp_r31->target); C_MTXLookAt(sp1C, &temp_r31->pos, &temp_r31->up, &temp_r31->target);
PSMTXMultVec(sp1C, arg0, &sp10); MTXMultVec(sp1C, arg0, &sp10);
temp_f30 = sp10.z * (sind(temp_r31->fov / 2) / cosd(temp_r31->fov / 2)) * temp_r31->aspect; temp_f30 = sp10.z * (sind(temp_r31->fov / 2) / cosd(temp_r31->fov / 2)) * temp_r31->aspect;
temp_f29 = sp10.z * (sind(temp_r31->fov / 2) / cosd(temp_r31->fov / 2)); temp_f29 = sp10.z * (sind(temp_r31->fov / 2) / cosd(temp_r31->fov / 2));
temp_f28 = 0.9f * temp_r31->viewport_x; temp_f28 = 0.9f * temp_r31->viewport_x;
@ -606,9 +606,9 @@ static void fn_1_1D70(s16 arg0, char *arg1, Vec *arg2, Mtx arg3)
var_r30 = &Hu3DData[arg0]; var_r30 = &Hu3DData[arg0];
Hu3DModelObjMtxGet(arg0, arg1, spC); Hu3DModelObjMtxGet(arg0, arg1, spC);
PSMTXConcat(var_r30->unk_F0, spC, spC); MTXConcat(var_r30->unk_F0, spC, spC);
if (NULL != arg3) { if (NULL != arg3) {
PSMTXCopy(spC, arg3); MTXCopy(spC, arg3);
} }
arg2->x = spC[0][3]; arg2->x = spC[0][3];
arg2->y = spC[1][3]; arg2->y = spC[1][3];
@ -1425,9 +1425,9 @@ static void fn_1_70E4(omObjData *arg0)
spC.y = 0.0f; spC.y = 0.0f;
spC.z = var_f27; spC.z = var_f27;
temp_r31->unk24.z *= 0.92f; temp_r31->unk24.z *= 0.92f;
PSMTXIdentity(sp18); MTXIdentity(sp18);
mtxRot(sp18, temp_r31->unk24.x, temp_r31->unk24.y, 0.0f); mtxRot(sp18, temp_r31->unk24.x, temp_r31->unk24.y, 0.0f);
PSMTXMultVec(sp18, &spC, &spC); MTXMultVec(sp18, &spC, &spC);
VECAdd(&spC, &temp_r31->unk00, &temp_r31->unk00); VECAdd(&spC, &temp_r31->unk00, &temp_r31->unk00);
omSetTra(arg0, temp_r31->unk00.x, temp_r31->unk00.y, temp_r31->unk00.z); omSetTra(arg0, temp_r31->unk00.x, temp_r31->unk00.y, temp_r31->unk00.z);
Hu3DModelTPLvlSet(arg0->model[0], temp_r31->unk30); Hu3DModelTPLvlSet(arg0->model[0], temp_r31->unk30);

View file

@ -1384,18 +1384,18 @@ static void fn_1_46E4(Mtx arg0, float arg1, float arg2, float arg3)
Mtx sp8; Mtx sp8;
if (arg3 != 0.0f) { if (arg3 != 0.0f) {
PSMTXRotRad(arg0, 'Z', MTXDegToRad(arg3)); MTXRotRad(arg0, 'Z', MTXDegToRad(arg3));
} }
else { else {
PSMTXIdentity(arg0); MTXIdentity(arg0);
} }
if (arg1 != 0.0f) { if (arg1 != 0.0f) {
PSMTXRotRad(sp38, 'X', MTXDegToRad(arg1)); MTXRotRad(sp38, 'X', MTXDegToRad(arg1));
PSMTXConcat(sp38, arg0, arg0); MTXConcat(sp38, arg0, arg0);
} }
if (arg2 != 0.0f) { if (arg2 != 0.0f) {
PSMTXRotRad(sp8, 'Y', MTXDegToRad(arg2)); MTXRotRad(sp8, 'Y', MTXDegToRad(arg2));
PSMTXConcat(sp8, arg0, arg0); MTXConcat(sp8, arg0, arg0);
} }
} }

View file

@ -307,12 +307,12 @@ static void fn_1_6ED8(omObjData *arg0)
Mtx sp8; Mtx sp8;
s32 i; s32 i;
PSMTXTrans(sp38, arg0->trans.x, arg0->trans.y, arg0->trans.z); MTXTrans(sp38, arg0->trans.x, arg0->trans.y, arg0->trans.z);
mtxRot(sp8, arg0->rot.x, arg0->rot.y, arg0->rot.z); mtxRot(sp8, arg0->rot.x, arg0->rot.y, arg0->rot.z);
PSMTXConcat(sp38, sp8, sp38); MTXConcat(sp38, sp8, sp38);
for (i = 0; i < 6; i++) { for (i = 0; i < 6; i++) {
PSMTXTrans(sp8, lbl_1_data_A88[i].x, lbl_1_data_A88[i].y, lbl_1_data_A88[i].z); MTXTrans(sp8, lbl_1_data_A88[i].x, lbl_1_data_A88[i].y, lbl_1_data_A88[i].z);
PSMTXConcat(sp38, sp8, sp8); MTXConcat(sp38, sp8, sp8);
Hu3DModelPosSet(arg0->model[i + 1], sp8[0][3], sp8[1][3], sp8[2][3]); Hu3DModelPosSet(arg0->model[i + 1], sp8[0][3], sp8[1][3], sp8[2][3]);
Hu3DModelRotSet(arg0->model[i + 1], arg0->rot.x, arg0->rot.y, arg0->rot.z); Hu3DModelRotSet(arg0->model[i + 1], arg0->rot.x, arg0->rot.y, arg0->rot.z);
} }
@ -598,16 +598,16 @@ static s32 fn_1_7D04(float arg0, float arg1, Vec *arg2)
temp_r28 -= 6; temp_r28 -= 6;
fn_1_7BD4(temp_r21, &sp10); fn_1_7BD4(temp_r21, &sp10);
sp10 = lbl_1_data_A88[temp_r21]; sp10 = lbl_1_data_A88[temp_r21];
PSMTXTrans(sp4C, temp_r31->trans.x, temp_r31->trans.y, temp_r31->trans.z); MTXTrans(sp4C, temp_r31->trans.x, temp_r31->trans.y, temp_r31->trans.z);
mtxRot(sp1C, temp_r31->rot.x, temp_r31->rot.y, temp_r31->rot.z); mtxRot(sp1C, temp_r31->rot.x, temp_r31->rot.y, temp_r31->rot.z);
PSMTXConcat(sp4C, sp1C, sp4C); MTXConcat(sp4C, sp1C, sp4C);
PSMTXTrans(sp1C, sp10.x, sp10.y, sp10.z); MTXTrans(sp1C, sp10.x, sp10.y, sp10.z);
PSMTXConcat(sp4C, sp1C, sp4C); MTXConcat(sp4C, sp1C, sp4C);
var_r30 = lbl_1_data_AFC[temp_r28]; var_r30 = lbl_1_data_AFC[temp_r28];
temp_r23 = lbl_1_data_B14[temp_r28]; temp_r23 = lbl_1_data_B14[temp_r28];
for (i = 0; i < temp_r23; i++) { for (i = 0; i < temp_r23; i++) {
PSMTXTrans(sp1C, var_r30->x, var_r30->y, var_r30->z); MTXTrans(sp1C, var_r30->x, var_r30->y, var_r30->z);
PSMTXConcat(sp4C, sp1C, sp1C); MTXConcat(sp4C, sp1C, sp1C);
arg2->x = sp1C[0][3]; arg2->x = sp1C[0][3];
arg2->y = sp1C[1][3]; arg2->y = sp1C[1][3];
arg2->z = sp1C[2][3]; arg2->z = sp1C[2][3];
@ -703,17 +703,17 @@ s32 fn_1_8470(Vec *arg0)
temp_r30 = lbl_1_bss_9C[lbl_1_bss_94]; temp_r30 = lbl_1_bss_9C[lbl_1_bss_94];
temp_r27 = temp_r30->data; temp_r27 = temp_r30->data;
var_r25 = fn_1_8274(temp_r27, sp8); var_r25 = fn_1_8274(temp_r27, sp8);
PSMTXTrans(sp50, temp_r30->trans.x, temp_r30->trans.y, temp_r30->trans.z); MTXTrans(sp50, temp_r30->trans.x, temp_r30->trans.y, temp_r30->trans.z);
mtxRot(sp20, temp_r30->rot.x, temp_r30->rot.y, temp_r30->rot.z); mtxRot(sp20, temp_r30->rot.x, temp_r30->rot.y, temp_r30->rot.z);
PSMTXConcat(sp50, sp20, sp50); MTXConcat(sp50, sp20, sp50);
for (i = 0; i < var_r25; i++) { for (i = 0; i < var_r25; i++) {
fn_1_7BD4(sp8[i], arg0); fn_1_7BD4(sp8[i], arg0);
temp_r26 = fn_1_7C20(temp_r27, sp8[i]) - 6; temp_r26 = fn_1_7C20(temp_r27, sp8[i]) - 6;
arg0->x += lbl_1_data_B2C[temp_r26].x; arg0->x += lbl_1_data_B2C[temp_r26].x;
arg0->y += lbl_1_data_B2C[temp_r26].y; arg0->y += lbl_1_data_B2C[temp_r26].y;
arg0->z += lbl_1_data_B2C[temp_r26].z; arg0->z += lbl_1_data_B2C[temp_r26].z;
PSMTXTrans(sp20, arg0->x, arg0->y, arg0->z); MTXTrans(sp20, arg0->x, arg0->y, arg0->z);
PSMTXConcat(sp50, sp20, sp20); MTXConcat(sp50, sp20, sp20);
arg0->x = sp20[0][3]; arg0->x = sp20[0][3];
arg0->y = sp20[1][3]; arg0->y = sp20[1][3];
arg0->z = sp20[2][3]; arg0->z = sp20[2][3];

View file

@ -571,7 +571,7 @@ void fn_1_1A60(Vec *arg0, s16 arg1, Vec *arg2)
} }
temp_r31 = &Hu3DCamera[i]; temp_r31 = &Hu3DCamera[i];
C_MTXLookAt(sp1C, &temp_r31->pos, &temp_r31->up, &temp_r31->target); C_MTXLookAt(sp1C, &temp_r31->pos, &temp_r31->up, &temp_r31->target);
PSMTXMultVec(sp1C, arg0, &sp10); MTXMultVec(sp1C, arg0, &sp10);
temp_f30 = sp10.z * (sind(temp_r31->fov / 2) / cosd(temp_r31->fov / 2)) * temp_r31->aspect; temp_f30 = sp10.z * (sind(temp_r31->fov / 2) / cosd(temp_r31->fov / 2)) * temp_r31->aspect;
temp_f29 = sp10.z * (sind(temp_r31->fov / 2) / cosd(temp_r31->fov / 2)); temp_f29 = sp10.z * (sind(temp_r31->fov / 2) / cosd(temp_r31->fov / 2));
temp_f28 = 0.9f * temp_r31->viewport_x; temp_f28 = 0.9f * temp_r31->viewport_x;
@ -598,9 +598,9 @@ void fn_1_1D70(s16 arg0, char *arg1, Vec *arg2, Mtx arg3)
var_r30 = &Hu3DData[arg0]; var_r30 = &Hu3DData[arg0];
Hu3DModelObjMtxGet(arg0, arg1, spC); Hu3DModelObjMtxGet(arg0, arg1, spC);
PSMTXConcat(var_r30->unk_F0, spC, spC); MTXConcat(var_r30->unk_F0, spC, spC);
if (NULL != arg3) { if (NULL != arg3) {
PSMTXCopy(spC, arg3); MTXCopy(spC, arg3);
} }
arg2->x = spC[0][3]; arg2->x = spC[0][3];
arg2->y = spC[1][3]; arg2->y = spC[1][3];
@ -928,7 +928,7 @@ void fn_1_37A4(ModelData *arg0, Mtx arg1)
UnkBss10Struct *temp_r31; UnkBss10Struct *temp_r31;
GXLoadPosMtxImm(arg1, GX_PNMTX0); GXLoadPosMtxImm(arg1, GX_PNMTX0);
PSMTXInvXpose(arg1, spEC); MTXInvXpose(arg1, spEC);
GXLoadNrmMtxImm(spEC, GX_PNMTX0); GXLoadNrmMtxImm(spEC, GX_PNMTX0);
temp_r31 = &lbl_1_data_10[2]; temp_r31 = &lbl_1_data_10[2];
GXInitTexObj(&spC, temp_r31->unk00, temp_r31->unk08, temp_r31->unk0A, GX_TF_RGB565, GX_CLAMP, GX_CLAMP, GX_FALSE); GXInitTexObj(&spC, temp_r31->unk00, temp_r31->unk08, temp_r31->unk0A, GX_TF_RGB565, GX_CLAMP, GX_CLAMP, GX_FALSE);
@ -941,31 +941,31 @@ void fn_1_37A4(ModelData *arg0, Mtx arg1)
GXLoadTexObj(&spC, GX_TEXMAP3); GXLoadTexObj(&spC, GX_TEXMAP3);
GXSetNumTexGens(4); GXSetNumTexGens(4);
C_MTXLightPerspective(sp2C, 30.0f, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f); C_MTXLightPerspective(sp2C, 30.0f, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f);
PSMTXInverse(Hu3DCameraMtx, spEC); MTXInverse(Hu3DCameraMtx, spEC);
PSMTXConcat(spEC, arg1, spEC); MTXConcat(spEC, arg1, spEC);
PSMTXConcat(sp2C, Hu3DCameraMtx, spBC); MTXConcat(sp2C, Hu3DCameraMtx, spBC);
PSMTXConcat(spBC, spEC, spBC); MTXConcat(spBC, spEC, spBC);
GXLoadTexMtxImm(spBC, GX_TEXMTX0, GX_MTX3x4); GXLoadTexMtxImm(spBC, GX_TEXMTX0, GX_MTX3x4);
C_MTXLightPerspective(sp2C, 30.0f, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f); C_MTXLightPerspective(sp2C, 30.0f, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f);
PSMTXInverse(Hu3DCameraMtx, spEC); MTXInverse(Hu3DCameraMtx, spEC);
PSMTXConcat(spEC, arg1, spEC); MTXConcat(spEC, arg1, spEC);
PSMTXConcat(sp2C, Hu3DCameraMtx, spBC); MTXConcat(sp2C, Hu3DCameraMtx, spBC);
PSMTXConcat(spBC, spEC, spBC); MTXConcat(spBC, spEC, spBC);
GXLoadTexMtxImm(spBC, GX_TEXMTX1, GX_MTX3x4); GXLoadTexMtxImm(spBC, GX_TEXMTX1, GX_MTX3x4);
PSMTXRotRad(spEC, 'X', MTXDegToRad(-90)); MTXRotRad(spEC, 'X', MTXDegToRad(-90));
var_f31 = 0.0004f; var_f31 = 0.0004f;
PSMTXScale(sp8C, 0.00083333335f, var_f31, 0.0004f); MTXScale(sp8C, 0.00083333335f, var_f31, 0.0004f);
PSMTXConcat(sp8C, spEC, sp5C); MTXConcat(sp8C, spEC, sp5C);
PSMTXTrans(spBC, 0.5f, 0.5f, 0.5f); MTXTrans(spBC, 0.5f, 0.5f, 0.5f);
PSMTXConcat(spBC, sp5C, sp5C); MTXConcat(spBC, sp5C, sp5C);
sp5C[0][1] = -0.01f; sp5C[0][1] = -0.01f;
GXLoadTexMtxImm(sp5C, GX_TEXMTX2, GX_MTX2x4); GXLoadTexMtxImm(sp5C, GX_TEXMTX2, GX_MTX2x4);
PSMTXRotRad(spEC, 'X', MTXDegToRad(-90)); MTXRotRad(spEC, 'X', MTXDegToRad(-90));
var_f31 = 0.0004f; var_f31 = 0.0004f;
PSMTXScale(sp8C, var_f31, var_f31, var_f31); MTXScale(sp8C, var_f31, var_f31, var_f31);
PSMTXConcat(sp8C, spEC, sp5C); MTXConcat(sp8C, spEC, sp5C);
PSMTXTrans(spBC, 0.5f, 0.5f, 0.0f); MTXTrans(spBC, 0.5f, 0.5f, 0.0f);
PSMTXConcat(spBC, sp5C, sp5C); MTXConcat(spBC, sp5C, sp5C);
GXLoadTexMtxImm(sp5C, GX_TEXMTX3, GX_MTX2x4); GXLoadTexMtxImm(sp5C, GX_TEXMTX3, GX_MTX2x4);
GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, GX_TEXMTX0, GX_FALSE, GX_PTIDENTITY); GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, GX_TEXMTX0, GX_FALSE, GX_PTIDENTITY);
GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX3x4, GX_TG_POS, GX_TEXMTX1, GX_FALSE, GX_PTIDENTITY); GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX3x4, GX_TG_POS, GX_TEXMTX1, GX_FALSE, GX_PTIDENTITY);
@ -974,12 +974,12 @@ void fn_1_37A4(ModelData *arg0, Mtx arg1)
GXSetNumIndStages(2); GXSetNumIndStages(2);
GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD2, GX_TEXMAP2); GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD2, GX_TEXMAP2);
GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1); GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1);
PSMTXScale(spBC, -0.2f, -0.2f, 0.2f); MTXScale(spBC, -0.2f, -0.2f, 0.2f);
GXSetIndTexMtx(GX_ITM_0, (float(*)[3])spBC, -2); GXSetIndTexMtx(GX_ITM_0, (float(*)[3])spBC, -2);
GXSetTevIndWarp(GX_TEVSTAGE0, GX_INDTEXSTAGE0, GX_TRUE, GX_FALSE, GX_ITM_0); GXSetTevIndWarp(GX_TEVSTAGE0, GX_INDTEXSTAGE0, GX_TRUE, GX_FALSE, GX_ITM_0);
GXSetIndTexOrder(GX_INDTEXSTAGE1, GX_TEXCOORD3, GX_TEXMAP3); GXSetIndTexOrder(GX_INDTEXSTAGE1, GX_TEXCOORD3, GX_TEXMAP3);
GXSetIndTexCoordScale(GX_INDTEXSTAGE1, GX_ITS_1, GX_ITS_1); GXSetIndTexCoordScale(GX_INDTEXSTAGE1, GX_ITS_1, GX_ITS_1);
PSMTXScale(spBC, 0.5f, 0.5f, 0.5f); MTXScale(spBC, 0.5f, 0.5f, 0.5f);
GXSetIndTexMtx(GX_ITM_1, (float(*)[3])spBC, 0); GXSetIndTexMtx(GX_ITM_1, (float(*)[3])spBC, 0);
GXSetTevIndWarp(GX_TEVSTAGE1, GX_INDTEXSTAGE1, GX_TRUE, GX_FALSE, GX_ITM_1); GXSetTevIndWarp(GX_TEVSTAGE1, GX_INDTEXSTAGE1, GX_TRUE, GX_FALSE, GX_ITM_1);
GXSetNumTevStages(2); GXSetNumTevStages(2);
@ -1031,10 +1031,10 @@ void fn_1_4024(ModelData *arg0, Mtx arg1)
fn_1_2714(1, GX_FALSE); fn_1_2714(1, GX_FALSE);
GXLoadPosMtxImm(arg1, GX_PNMTX0); GXLoadPosMtxImm(arg1, GX_PNMTX0);
C_MTXLightPerspective(sp98, 30.0f, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f); C_MTXLightPerspective(sp98, 30.0f, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f);
PSMTXInverse(Hu3DCameraMtx, sp68); MTXInverse(Hu3DCameraMtx, sp68);
PSMTXConcat(sp68, arg1, sp68); MTXConcat(sp68, arg1, sp68);
PSMTXConcat(sp98, Hu3DCameraMtx, sp38); MTXConcat(sp98, Hu3DCameraMtx, sp38);
PSMTXConcat(sp38, sp68, sp68); MTXConcat(sp38, sp68, sp68);
GXLoadTexMtxImm(sp68, GX_TEXMTX0, GX_MTX3x4); GXLoadTexMtxImm(sp68, GX_TEXMTX0, GX_MTX3x4);
GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, GX_TEXMTX0, GX_FALSE, GX_PTIDENTITY); GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, GX_TEXMTX0, GX_FALSE, GX_PTIDENTITY);
GXSetNumChans(1); GXSetNumChans(1);
@ -1096,7 +1096,7 @@ void fn_1_4700(ModelData *arg0, Mtx arg1)
C_MTXOrtho(sp20, 0.0f, 480.0f, 0.0f, 640.0f, 0.0f, 100.0f); C_MTXOrtho(sp20, 0.0f, 480.0f, 0.0f, 640.0f, 0.0f, 100.0f);
GXSetProjection(sp20, GX_ORTHOGRAPHIC); GXSetProjection(sp20, GX_ORTHOGRAPHIC);
PSMTXIdentity(sp60); MTXIdentity(sp60);
GXLoadPosMtxImm(sp60, GX_PNMTX0); GXLoadPosMtxImm(sp60, GX_PNMTX0);
GXSetNumChans(1); GXSetNumChans(1);
GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_CLAMP, GX_AF_NONE); GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_CLAMP, GX_AF_NONE);

View file

@ -1083,7 +1083,7 @@ void fn_1_45BC(ModelData *arg0, Mtx arg1)
} }
if (!var_r31->unk_28) { if (!var_r31->unk_28) {
GXLoadPosMtxImm(arg1, 0); GXLoadPosMtxImm(arg1, 0);
PSMTXInvXpose(arg1, sp10); MTXInvXpose(arg1, sp10);
GXLoadNrmMtxImm(sp10, 0); GXLoadNrmMtxImm(sp10, 0);
var_r26 = fn_1_D06C(arg0, Hu3DCameraMtx, Hu3DCameraMtxXPose, 2.0f); var_r26 = fn_1_D06C(arg0, Hu3DCameraMtx, Hu3DCameraMtxXPose, 2.0f);
GXSetNumTevStages(1); GXSetNumTevStages(1);
@ -2149,7 +2149,7 @@ void fn_1_82C8(Mtx arg0, s32 arg1, float arg8)
sp80.z = arg0[2][3]; sp80.z = arg0[2][3];
sp74.x = sp74.z = 0.0f; sp74.x = sp74.z = 0.0f;
sp74.y = atan2d(arg0[0][0], arg0[2][0]); sp74.y = atan2d(arg0[0][0], arg0[2][0]);
PSMTXCopy(arg0, sp8C); MTXCopy(arg0, sp8C);
sp8C[0][3] = sp8C[1][3] = sp8C[2][3] = sp8C[3][3] = 0.0f; sp8C[0][3] = sp8C[1][3] = sp8C[2][3] = sp8C[3][3] = 0.0f;
sp68.x = -25.0f; sp68.x = -25.0f;
sp68.z = -50.0f; sp68.z = -50.0f;
@ -2227,7 +2227,7 @@ void fn_1_8F98(void)
var_r31->unk_10 = 0.0f; var_r31->unk_10 = 0.0f;
var_r31->unk_14 = 6.0f; var_r31->unk_14 = 6.0f;
var_r31->unk_18 = 1.0f; var_r31->unk_18 = 1.0f;
PSMTXIdentity(var_r31->unk_1C); MTXIdentity(var_r31->unk_1C);
if (var_r30 == 0) { if (var_r30 == 0) {
var_r31->unk_04 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M406, 59)); var_r31->unk_04 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M406, 59));
} }
@ -2246,7 +2246,7 @@ void fn_1_8F98(void)
var_r31->unk_10 = 0.0f; var_r31->unk_10 = 0.0f;
var_r31->unk_14 = 6.0f; var_r31->unk_14 = 6.0f;
var_r31->unk_18 = 1.0f; var_r31->unk_18 = 1.0f;
PSMTXIdentity(var_r31->unk_1C); MTXIdentity(var_r31->unk_1C);
if (var_r30 == 0) { if (var_r30 == 0) {
var_r31->unk_04 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M406, 60)); var_r31->unk_04 = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_M406, 60));
} }
@ -2278,8 +2278,8 @@ void fn_1_91E0(void)
var_f31 = var_r31->unk_18 * cosd((90.0f * var_f30)); var_f31 = var_r31->unk_18 * cosd((90.0f * var_f30));
var_f31 = var_f31; var_f31 = var_f31;
var_r30 = &Hu3DData[var_r31->unk_04]; var_r30 = &Hu3DData[var_r31->unk_04];
PSMTXScale(sp8, var_f31, var_f31, var_f31); MTXScale(sp8, var_f31, var_f31, var_f31);
PSMTXConcat(var_r31->unk_1C, sp8, var_r30->unk_F0); MTXConcat(var_r31->unk_1C, sp8, var_r30->unk_F0);
var_r30->unk_F0[0][3] = var_r31->unk_1C[0][3]; var_r30->unk_F0[0][3] = var_r31->unk_1C[0][3];
var_r30->unk_F0[1][3] = var_r31->unk_1C[1][3]; var_r30->unk_F0[1][3] = var_r31->unk_1C[1][3];
var_r30->unk_F0[2][3] = var_r31->unk_1C[2][3]; var_r30->unk_F0[2][3] = var_r31->unk_1C[2][3];
@ -2299,8 +2299,8 @@ void fn_1_91E0(void)
var_f31 = var_r31->unk_18 * cosd((90.0f * var_f30)); var_f31 = var_r31->unk_18 * cosd((90.0f * var_f30));
var_f31 = var_f31; var_f31 = var_f31;
var_r30 = &Hu3DData[var_r31->unk_04]; var_r30 = &Hu3DData[var_r31->unk_04];
PSMTXScale(sp8, var_f31, var_f31, var_f31); MTXScale(sp8, var_f31, var_f31, var_f31);
PSMTXConcat(var_r31->unk_1C, sp8, var_r30->unk_F0); MTXConcat(var_r31->unk_1C, sp8, var_r30->unk_F0);
var_r30->unk_F0[0][3] = var_r31->unk_1C[0][3]; var_r30->unk_F0[0][3] = var_r31->unk_1C[0][3];
var_r30->unk_F0[1][3] = var_r31->unk_1C[1][3]; var_r30->unk_F0[1][3] = var_r31->unk_1C[1][3];
var_r30->unk_F0[2][3] = var_r31->unk_1C[2][3]; var_r30->unk_F0[2][3] = var_r31->unk_1C[2][3];
@ -2340,7 +2340,7 @@ s32 fn_1_94C0(Mtx arg0, s32 arg1, s32 arg2)
sp64.z = arg0[2][3]; sp64.z = arg0[2][3];
sp58.x = sp58.z = 0.0f; sp58.x = sp58.z = 0.0f;
sp58.y = atan2d(arg0[0][0], arg0[2][0]); sp58.y = atan2d(arg0[0][0], arg0[2][0]);
PSMTXCopy(arg0, spA0); MTXCopy(arg0, spA0);
spA0[0][3] = spA0[1][3] = spA0[2][3] = spA0[3][3] = 0.0f; spA0[0][3] = spA0[1][3] = spA0[2][3] = spA0[3][3] = 0.0f;
if (!arg2) { if (!arg2) {
sp4C.x = 25.0f; sp4C.x = 25.0f;
@ -2419,12 +2419,12 @@ s32 fn_1_94C0(Mtx arg0, s32 arg1, s32 arg2)
var_r31->unk_10 = 1.0f; var_r31->unk_10 = 1.0f;
var_r31->unk_14 = 6.0f; var_r31->unk_14 = 6.0f;
var_r31->unk_18 = var_f31; var_r31->unk_18 = var_f31;
PSMTXCopy(arg0, var_r31->unk_1C); MTXCopy(arg0, var_r31->unk_1C);
Hu3DMotionTimeSet(var_r31->unk_04, 0.0f); Hu3DMotionTimeSet(var_r31->unk_04, 0.0f);
Hu3DMotionSpeedSet(var_r31->unk_04, 0.0f); Hu3DMotionSpeedSet(var_r31->unk_04, 0.0f);
var_r27 = &Hu3DData[var_r31->unk_04]; var_r27 = &Hu3DData[var_r31->unk_04];
PSMTXScale(sp70, var_f31, var_f31, var_f31); MTXScale(sp70, var_f31, var_f31, var_f31);
PSMTXConcat(arg0, sp70, var_r27->unk_F0); MTXConcat(arg0, sp70, var_r27->unk_F0);
var_r27->unk_F0[0][3] = arg0[0][3]; var_r27->unk_F0[0][3] = arg0[0][3];
var_r27->unk_F0[1][3] = arg0[1][3]; var_r27->unk_F0[1][3] = arg0[1][3];
var_r27->unk_F0[2][3] = arg0[2][3]; var_r27->unk_F0[2][3] = arg0[2][3];
@ -2630,7 +2630,7 @@ void fn_1_ADB4(ModelData *arg0, float (*arg1)[4])
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0); 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, GX_TRUE, GX_TEVPREV); GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
PSMTXIdentity(sp50); MTXIdentity(sp50);
GXLoadPosMtxImm(sp50, 0); GXLoadPosMtxImm(sp50, 0);
GXSetZMode(GX_FALSE, GX_ALWAYS, GX_TRUE); GXSetZMode(GX_FALSE, GX_ALWAYS, GX_TRUE);
GXSetNumChans(1); GXSetNumChans(1);
@ -2954,7 +2954,7 @@ void fn_1_BC18(ModelData *arg0, float (*arg1)[4])
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
GXSetArray(GX_VA_TEX0, var_r31->unk_44, 8); GXSetArray(GX_VA_TEX0, var_r31->unk_44, 8);
if (HmfInverseMtxF3X3(arg1, sp128) == 0) { if (HmfInverseMtxF3X3(arg1, sp128) == 0) {
PSMTXIdentity(sp128); MTXIdentity(sp128);
} }
PSMTXReorder(sp128, sp8); PSMTXReorder(sp128, sp8);
if (var_r31->unk_4C) { if (var_r31->unk_4C) {
@ -2993,9 +2993,9 @@ void fn_1_BC18(ModelData *arg0, float (*arg1)[4])
VECScale(&lbl_1_data_8E0[1], &sp98[1], var_r29->unk_28); VECScale(&lbl_1_data_8E0[1], &sp98[1], var_r29->unk_28);
VECScale(&lbl_1_data_8E0[2], &sp98[2], var_r29->unk_28); VECScale(&lbl_1_data_8E0[2], &sp98[2], var_r29->unk_28);
VECScale(&lbl_1_data_8E0[3], &sp98[3], var_r29->unk_28); VECScale(&lbl_1_data_8E0[3], &sp98[3], var_r29->unk_28);
PSMTXRotRad(spC8, 90, var_r29->unk_2C); MTXRotRad(spC8, 90, var_r29->unk_2C);
PSMTXConcat(sp128, spC8, spF8); MTXConcat(sp128, spC8, spF8);
PSMTXMultVecArray(spF8, &sp98[0], &sp68[0], 4); MTXMultVecArray(spF8, &sp98[0], &sp68[0], 4);
VECAdd(&sp68[0], &var_r29->unk_30, var_r30++); VECAdd(&sp68[0], &var_r29->unk_30, var_r30++);
VECAdd(&sp68[1], &var_r29->unk_30, var_r30++); VECAdd(&sp68[1], &var_r29->unk_30, var_r30++);
VECAdd(&sp68[2], &var_r29->unk_30, var_r30++); VECAdd(&sp68[2], &var_r29->unk_30, var_r30++);
@ -3167,7 +3167,7 @@ void fn_1_C86C(ModelData *arg0, Mtx arg1)
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_CLR0, GX_CLR_RGBA, GX_RGBA8, 0);
GXSetArray(GX_VA_CLR0, &var_r31->unk_3C->unk_3C, 0x44); GXSetArray(GX_VA_CLR0, &var_r31->unk_3C->unk_3C, 0x44);
if (HmfInverseMtxF3X3(arg1, sp9C) == 0) { if (HmfInverseMtxF3X3(arg1, sp9C) == 0) {
PSMTXIdentity(sp9C); MTXIdentity(sp9C);
} }
PSMTXReorder(sp9C, spC); PSMTXReorder(sp9C, spC);
if (var_r31->unk_4C) { if (var_r31->unk_4C) {
@ -3362,8 +3362,8 @@ void fn_1_D13C(LightData *arg0, s16 arg1, Mtx arg2, Mtx arg3, float arg8)
break; break;
} }
if (arg0->unk_00 & 0x8000) { if (arg0->unk_00 & 0x8000) {
PSMTXMultVec(arg2, &arg0->unk_28, &sp24); MTXMultVec(arg2, &arg0->unk_28, &sp24);
PSMTXMultVec(arg3, &arg0->unk_1C, &sp18); MTXMultVec(arg3, &arg0->unk_1C, &sp18);
GXInitLightPos(&sp30, sp18.x, sp18.y, sp18.z); GXInitLightPos(&sp30, sp18.x, sp18.y, sp18.z);
} }
else { else {

View file

@ -666,11 +666,11 @@ void fn_1_E214(omObjData *object)
} }
Hu3DModelScaleSet(object->model[5], var_f30, var_f30, var_f30); Hu3DModelScaleSet(object->model[5], var_f30, var_f30, var_f30);
var_r31->unk_50 += VECMag(&var_r31->unk_2C) / 3.125f; var_r31->unk_50 += VECMag(&var_r31->unk_2C) / 3.125f;
PSMTXTrans(sp94, -var_r31->unk_68, -var_r31->unk_6C, -var_r31->unk_70); MTXTrans(sp94, -var_r31->unk_68, -var_r31->unk_6C, -var_r31->unk_70);
PSMTXRotRad(sp64, 0x78, 0.017453292f * var_r31->unk_50); MTXRotRad(sp64, 0x78, 0.017453292f * var_r31->unk_50);
PSMTXConcat(sp64, sp94, sp34); MTXConcat(sp64, sp94, sp34);
PSMTXTrans(sp94, var_r31->unk_68, var_r31->unk_6C, var_r31->unk_70); MTXTrans(sp94, var_r31->unk_68, var_r31->unk_6C, var_r31->unk_70);
PSMTXConcat(sp94, sp34, var_r26->unk_F0); MTXConcat(sp94, sp34, var_r26->unk_F0);
var_r27 = 6; var_r27 = 6;
var_f31 = 2.0f; var_f31 = 2.0f;
var_r25 = 0; var_r25 = 0;
@ -690,14 +690,14 @@ void fn_1_E214(omObjData *object)
var_r31->unk_2C.x = var_r31->unk_2C.y = var_r31->unk_2C.z = 0.0f; var_r31->unk_2C.x = var_r31->unk_2C.y = var_r31->unk_2C.z = 0.0f;
} }
var_r31->unk_50 = fn_1_13AF4(var_r31->unk_50, 0.0f, 0.5f); var_r31->unk_50 = fn_1_13AF4(var_r31->unk_50, 0.0f, 0.5f);
PSMTXTrans(sp94, -var_r31->unk_68, -var_r31->unk_6C, -var_r31->unk_70); MTXTrans(sp94, -var_r31->unk_68, -var_r31->unk_6C, -var_r31->unk_70);
PSMTXRotRad(sp64, 0x78, 0.017453292f * var_r31->unk_50); MTXRotRad(sp64, 0x78, 0.017453292f * var_r31->unk_50);
PSMTXConcat(sp64, sp94, sp34); MTXConcat(sp64, sp94, sp34);
PSMTXTrans(sp94, var_r31->unk_68, var_r31->unk_6C, var_r31->unk_70); MTXTrans(sp94, var_r31->unk_68, var_r31->unk_6C, var_r31->unk_70);
PSMTXConcat(sp94, sp34, var_r26->unk_F0); MTXConcat(sp94, sp34, var_r26->unk_F0);
if (var_r31->unk_5E != 0) { if (var_r31->unk_5E != 0) {
PSMTXTrans(sp94, 100.0f * (0.2f * (((var_r31->unk_5E & 1) * 2) - 1)), 0.0f, 0.0f); MTXTrans(sp94, 100.0f * (0.2f * (((var_r31->unk_5E & 1) * 2) - 1)), 0.0f, 0.0f);
PSMTXConcat(sp94, var_r26->unk_F0, var_r26->unk_F0); MTXConcat(sp94, var_r26->unk_F0, var_r26->unk_F0);
if (--var_r31->unk_5E == 0) { if (--var_r31->unk_5E == 0) {
if (++var_r31->unk_5C >= 4) { if (++var_r31->unk_5C >= 4) {
var_r31->unk_00_field3 = 0; var_r31->unk_00_field3 = 0;
@ -708,7 +708,7 @@ void fn_1_E214(omObjData *object)
Hu3DModelPosSet(object->model[6], object->trans.x + var_r31->unk_68, object->trans.y + var_r31->unk_6C, Hu3DModelPosSet(object->model[6], object->trans.x + var_r31->unk_68, object->trans.y + var_r31->unk_6C,
object->trans.z + var_r31->unk_70); object->trans.z + var_r31->unk_70);
Hu3DModelAttrReset(object->model[6], HU3D_ATTR_DISPOFF); Hu3DModelAttrReset(object->model[6], HU3D_ATTR_DISPOFF);
PSMTXIdentity(var_r26->unk_F0); MTXIdentity(var_r26->unk_F0);
fn_1_117BC(var_r31->unk_14.x, 25.0f, &var_r31->unk_44, &var_r31->unk_2C); fn_1_117BC(var_r31->unk_14.x, 25.0f, &var_r31->unk_44, &var_r31->unk_2C);
} }
} }
@ -733,7 +733,7 @@ void fn_1_E214(omObjData *object)
if (fn_1_6A44(sp28) == 1) { if (fn_1_6A44(sp28) == 1) {
var_r31->unk_00_field0 = 1; var_r31->unk_00_field0 = 1;
var_r26 = &Hu3DData[object->model[0]]; var_r26 = &Hu3DData[object->model[0]];
PSMTXIdentity(var_r26->unk_F0); MTXIdentity(var_r26->unk_F0);
omVibrate(var_r31->unk_02, 0xC, 4, 2); omVibrate(var_r31->unk_02, 0xC, 4, 2);
HuAudCharVoicePlayPos(var_r31->unk_0C, 0x123, &object->trans); HuAudCharVoicePlayPos(var_r31->unk_0C, 0x123, &object->trans);
for (var_r24 = 0; var_r24 < 2; var_r24++) { for (var_r24 = 0; var_r24 < 2; var_r24++) {
@ -804,13 +804,13 @@ void fn_1_F194(omObjData *object)
mtxTransCat(sp80, var_r30->pos.x, var_r30->pos.y, var_r30->pos.z); mtxTransCat(sp80, var_r30->pos.x, var_r30->pos.y, var_r30->pos.z);
VECCrossProduct(&sp44, &sp8, &sp44); VECCrossProduct(&sp44, &sp8, &sp44);
if (sp44.y >= 0.0f) { if (sp44.y >= 0.0f) {
PSMTXTrans(sp50, -10.0f, 0.0f, 0.0f); MTXTrans(sp50, -10.0f, 0.0f, 0.0f);
PSMTXConcat(sp50, sp80, sp80); MTXConcat(sp50, sp80, sp80);
fn_1_94C0(sp80, 10, 0); fn_1_94C0(sp80, 10, 0);
} }
else { else {
PSMTXTrans(sp50, 10.0f, 0.0f, 0.0f); MTXTrans(sp50, 10.0f, 0.0f, 0.0f);
PSMTXConcat(sp50, sp80, sp80); MTXConcat(sp50, sp80, sp80);
fn_1_94C0(sp80, 10, 1); fn_1_94C0(sp80, 10, 1);
} }
} }
@ -868,13 +868,13 @@ void fn_1_F694(omObjData *object)
mtxTransCat(sp68, var_r30->pos.x, var_r30->pos.y, var_r30->pos.z); mtxTransCat(sp68, var_r30->pos.x, var_r30->pos.y, var_r30->pos.z);
VECCrossProduct(&sp20, &sp14, &sp8); VECCrossProduct(&sp20, &sp14, &sp8);
if (sp8.y >= 0.0f) { if (sp8.y >= 0.0f) {
PSMTXTrans(sp38, -10.0f, 0.0f, 0.0f); MTXTrans(sp38, -10.0f, 0.0f, 0.0f);
PSMTXConcat(sp38, sp68, sp68); MTXConcat(sp38, sp68, sp68);
fn_1_94C0(sp68, 10, 0); fn_1_94C0(sp68, 10, 0);
} }
else { else {
PSMTXTrans(sp38, 10.0f, 0.0f, 0.0f); MTXTrans(sp38, 10.0f, 0.0f, 0.0f);
PSMTXConcat(sp38, sp68, sp68); MTXConcat(sp38, sp68, sp68);
fn_1_94C0(sp68, 10, 1); fn_1_94C0(sp68, 10, 1);
} }
} }
@ -1228,8 +1228,8 @@ void fn_1_10744(omObjData *object)
if ((var_r31->unk_64 < 0x50) && (var_r31->unk_64 > 0x1E)) { if ((var_r31->unk_64 < 0x50) && (var_r31->unk_64 > 0x1E)) {
mtxRot(sp48, var_r29->rot.x, var_r29->rot.y, var_r29->rot.z); mtxRot(sp48, var_r29->rot.x, var_r29->rot.y, var_r29->rot.z);
mtxTransCat(sp48, var_r29->pos.x, var_r29->pos.y, var_r29->pos.z); mtxTransCat(sp48, var_r29->pos.x, var_r29->pos.y, var_r29->pos.z);
PSMTXTrans(sp18, 10.0f, 0.0f, 0.0f); MTXTrans(sp18, 10.0f, 0.0f, 0.0f);
PSMTXConcat(sp18, sp48, sp48); MTXConcat(sp18, sp48, sp48);
fn_1_94C0(sp48, 10, 0); fn_1_94C0(sp48, 10, 0);
} }
var_r31->unk_2C.x = var_r31->unk_54 * (100.0 * (0.10000000149011612 * sind(180.0f + var_r31->unk_14.x))); var_r31->unk_2C.x = var_r31->unk_54 * (100.0 * (0.10000000149011612 * sind(180.0f + var_r31->unk_14.x)));
@ -1345,15 +1345,15 @@ void fn_1_114A0(omObjData *object)
} }
mtxRot(sp9C, object->rot.x, object->rot.y, object->trans.z); mtxRot(sp9C, object->rot.x, object->rot.y, object->trans.z);
mtxScaleCat(sp9C, object->scale.x, object->scale.y, object->scale.z); mtxScaleCat(sp9C, object->scale.x, object->scale.y, object->scale.z);
PSMTXTrans(sp9C, object->trans.x, object->trans.y, object->trans.z); MTXTrans(sp9C, object->trans.x, object->trans.y, object->trans.z);
PSMTXRotRad(sp6C, 0x78, 0.017453292f * var_r31->unk_50); MTXRotRad(sp6C, 0x78, 0.017453292f * var_r31->unk_50);
PSMTXConcat(sp9C, sp6C, sp9C); MTXConcat(sp9C, sp6C, sp9C);
PSMTXCopy(sp9C, spC); MTXCopy(sp9C, spC);
mtxScaleCat(spC, 2.0f, 2.0f, 2.0f); mtxScaleCat(spC, 2.0f, 2.0f, 2.0f);
PSMTXCopy(spC, Hu3DData[object->model[5]].unk_F0); MTXCopy(spC, Hu3DData[object->model[5]].unk_F0);
PSMTXTrans(sp3C, 0.0f, 110.0f, 0.0f); MTXTrans(sp3C, 0.0f, 110.0f, 0.0f);
PSMTXConcat(sp9C, sp3C, spC); MTXConcat(sp9C, sp3C, spC);
PSMTXCopy(spC, Hu3DData[object->model[7]].unk_F0); MTXCopy(spC, Hu3DData[object->model[7]].unk_F0);
} }
void fn_1_117BC(float arg8, float arg9, UnkM406PlayerStruct2 *arg0, Vec *arg1) void fn_1_117BC(float arg8, float arg9, UnkM406PlayerStruct2 *arg0, Vec *arg1)
@ -1753,7 +1753,7 @@ void fn_1_12BC4(omObjData *object)
var_r30->target.z = Center.z; var_r30->target.z = Center.z;
C_MTXLookAt(spA8, &var_r30->pos, &var_r30->up, &var_r30->target); C_MTXLookAt(spA8, &var_r30->pos, &var_r30->up, &var_r30->target);
for (var_r31 = 0; var_r31 < lbl_1_bss_1C4; var_r31++) { for (var_r31 = 0; var_r31 < lbl_1_bss_1C4; var_r31++) {
PSMTXMultVec(spA8, &lbl_1_bss_104[var_r31], &sp198[var_r31]); MTXMultVec(spA8, &lbl_1_bss_104[var_r31], &sp198[var_r31]);
spD8[var_r31].x = sp198[var_r31].x / (sp198[var_r31].z * (sind((var_r30->fov / 2)) / cosd((var_r30->fov / 2)))); spD8[var_r31].x = sp198[var_r31].x / (sp198[var_r31].z * (sind((var_r30->fov / 2)) / cosd((var_r30->fov / 2))));
spD8[var_r31].y = sp198[var_r31].y / (sp198[var_r31].z * (sind((var_r30->fov / 2)) / cosd((var_r30->fov / 2)))); spD8[var_r31].y = sp198[var_r31].y / (sp198[var_r31].z * (sind((var_r30->fov / 2)) / cosd((var_r30->fov / 2))));
} }
@ -1811,13 +1811,13 @@ s32 fn_1_136AC(HsfObject *arg0, Mtx arg1, char *arg2, Mtx arg3)
HsfTransform *var_r31 = &arg0->data.curr; HsfTransform *var_r31 = &arg0->data.curr;
mtxRot(sp144, var_r31->rot.x, var_r31->rot.y, var_r31->rot.z); mtxRot(sp144, var_r31->rot.x, var_r31->rot.y, var_r31->rot.z);
PSMTXScale(sp174, var_r31->scale.x, var_r31->scale.y, var_r31->scale.z); MTXScale(sp174, var_r31->scale.x, var_r31->scale.y, var_r31->scale.z);
PSMTXConcat(sp144, sp174, sp174); MTXConcat(sp144, sp174, sp174);
mtxTransCat(sp174, var_r31->pos.x, var_r31->pos.y, var_r31->pos.z); mtxTransCat(sp174, var_r31->pos.x, var_r31->pos.y, var_r31->pos.z);
PSMTXConcat(arg1, sp174, sp174); MTXConcat(arg1, sp174, sp174);
strcpy(sp4A4, MakeObjectName(arg2)); strcpy(sp4A4, MakeObjectName(arg2));
if (strcmp(sp4A4, arg0->name) == 0) { if (strcmp(sp4A4, arg0->name) == 0) {
PSMTXCopy(sp174, arg3); MTXCopy(sp174, arg3);
return 1; return 1;
} }
for (var_r23 = 0; var_r23 < arg0->data.childrenCount; var_r23++) { for (var_r23 = 0; var_r23 < arg0->data.childrenCount; var_r23++) {
@ -1838,7 +1838,7 @@ void fn_1_13A88(s16 arg0, char *arg1, Mtx arg2)
var_r31 = &Hu3DData[arg0]; var_r31 = &Hu3DData[arg0];
var_r30 = var_r31->hsfData; var_r30 = var_r31->hsfData;
PSMTXIdentity(sp14); MTXIdentity(sp14);
fn_1_136AC(var_r30->root, sp14, arg1, arg2); fn_1_136AC(var_r30->root, sp14, arg1, arg2);
} }

File diff suppressed because it is too large Load diff

View file

@ -1416,9 +1416,9 @@ void fn_1_602C(ModelData *arg0, f32 (*arg1)[4])
} }
else { else {
fn_1_6778(&temp_r30->unk2C, &sp38, &var_r29->unk34, 4); fn_1_6778(&temp_r30->unk2C, &sp38, &var_r29->unk34, 4);
PSMTXRotRad(spC8, 0x5A, 0.017453292f * var_r29->unk30); MTXRotRad(spC8, 0x5A, 0.017453292f * var_r29->unk30);
PSMTXConcat(sp128, spC8, sp98); MTXConcat(sp128, spC8, sp98);
PSMTXMultVecArray(sp98, &sp38, &sp8, 4); MTXMultVecArray(sp98, &sp38, &sp8, 4);
VECAdd(&sp8, &var_r29->unk40, var_r31++); VECAdd(&sp8, &var_r29->unk40, var_r31++);
VECAdd(&sp14, &var_r29->unk40, var_r31++); VECAdd(&sp14, &var_r29->unk40, var_r31++);
VECAdd(&sp20, &var_r29->unk40, var_r31++); VECAdd(&sp20, &var_r29->unk40, var_r31++);

View file

@ -956,9 +956,9 @@ void fn_1_6968(omObjData *object)
sp8.z = -var_r31->unk_1C.x; sp8.z = -var_r31->unk_1C.x;
var_f30 = VECMag(&sp8) / 30.000002f; var_f30 = VECMag(&sp8) / 30.000002f;
if (var_f30 >= 0.001f) { if (var_f30 >= 0.001f) {
PSMTXRotAxisRad(sp14, &sp8, var_f30); MTXRotAxisRad(sp14, &sp8, var_f30);
var_r28 = &Hu3DData[object->model[var_r30]]; var_r28 = &Hu3DData[object->model[var_r30]];
PSMTXConcat(sp14, var_r28->unk_F0, var_r28->unk_F0); MTXConcat(sp14, var_r28->unk_F0, var_r28->unk_F0);
} }
} }
} }
@ -1238,8 +1238,8 @@ s32 fn_1_79F8(s16 arg0, char *arg1, Mtx arg2)
var_r30 = var_r31->hsfData; var_r30 = var_r31->hsfData;
lbl_1_bss_30 = 0; lbl_1_bss_30 = 0;
mtxRot(sp14, var_r31->rot.x, var_r31->rot.y, var_r31->rot.z); mtxRot(sp14, var_r31->rot.x, var_r31->rot.y, var_r31->rot.z);
PSMTXScale(sp44, var_r31->scale.x, var_r31->scale.y, var_r31->scale.z); MTXScale(sp44, var_r31->scale.x, var_r31->scale.y, var_r31->scale.z);
PSMTXConcat(sp14, sp44, sp44); MTXConcat(sp14, sp44, sp44);
mtxTransCat(sp44, var_r31->pos.x, var_r31->pos.y, var_r31->pos.z); mtxTransCat(sp44, var_r31->pos.x, var_r31->pos.y, var_r31->pos.z);
fn_1_7AC4(var_r30->root, sp44, arg1, arg2); fn_1_7AC4(var_r30->root, sp44, arg1, arg2);
return lbl_1_bss_30; return lbl_1_bss_30;
@ -1274,12 +1274,12 @@ void fn_1_7AC4(HsfObject *arg0, Mtx arg1, char *arg2, Mtx arg3)
var_r31 = &arg0->data.curr; var_r31 = &arg0->data.curr;
mtxRot(sp12C, var_r31->rot.x, var_r31->rot.y, var_r31->rot.z); mtxRot(sp12C, var_r31->rot.x, var_r31->rot.y, var_r31->rot.z);
PSMTXScale(sp15C, var_r31->scale.x, var_r31->scale.y, var_r31->scale.z); MTXScale(sp15C, var_r31->scale.x, var_r31->scale.y, var_r31->scale.z);
PSMTXConcat(sp12C, sp15C, sp15C); MTXConcat(sp12C, sp15C, sp15C);
mtxTransCat(sp15C, var_r31->pos.x, var_r31->pos.y, var_r31->pos.z); mtxTransCat(sp15C, var_r31->pos.x, var_r31->pos.y, var_r31->pos.z);
PSMTXConcat(arg1, sp15C, sp15C); MTXConcat(arg1, sp15C, sp15C);
if (!strcmp(arg2, arg0->name)) { if (!strcmp(arg2, arg0->name)) {
PSMTXCopy(sp15C, arg3); MTXCopy(sp15C, arg3);
lbl_1_bss_30 = 1; lbl_1_bss_30 = 1;
} }
@ -1288,12 +1288,12 @@ void fn_1_7AC4(HsfObject *arg0, Mtx arg1, char *arg2, Mtx arg3)
if (!lbl_1_bss_30) { if (!lbl_1_bss_30) {
var_r30 = &var_r27->data.curr; var_r30 = &var_r27->data.curr;
mtxRot(spFC, var_r30->rot.x, var_r30->rot.y, var_r30->rot.z); mtxRot(spFC, var_r30->rot.x, var_r30->rot.y, var_r30->rot.z);
PSMTXScale(spCC, var_r30->scale.x, var_r30->scale.y, var_r30->scale.z); MTXScale(spCC, var_r30->scale.x, var_r30->scale.y, var_r30->scale.z);
PSMTXConcat(spFC, spCC, spCC); MTXConcat(spFC, spCC, spCC);
mtxTransCat(spCC, var_r30->pos.x, var_r30->pos.y, var_r30->pos.z); mtxTransCat(spCC, var_r30->pos.x, var_r30->pos.y, var_r30->pos.z);
PSMTXConcat(sp15C, spCC, spCC); MTXConcat(sp15C, spCC, spCC);
if (!strcmp(arg2, var_r27->name)) { if (!strcmp(arg2, var_r27->name)) {
PSMTXCopy(spCC, arg3); MTXCopy(spCC, arg3);
lbl_1_bss_30 = 1; lbl_1_bss_30 = 1;
} }
for (var_r22 = 0; var_r22 < var_r27->data.childrenCount; var_r22++) { for (var_r22 = 0; var_r22 < var_r27->data.childrenCount; var_r22++) {
@ -1301,12 +1301,12 @@ void fn_1_7AC4(HsfObject *arg0, Mtx arg1, char *arg2, Mtx arg3)
if (!lbl_1_bss_30) { if (!lbl_1_bss_30) {
var_r29 = &var_r26->data.curr; var_r29 = &var_r26->data.curr;
mtxRot(sp9C, var_r29->rot.x, var_r29->rot.y, var_r29->rot.z); mtxRot(sp9C, var_r29->rot.x, var_r29->rot.y, var_r29->rot.z);
PSMTXScale(sp6C, var_r29->scale.x, var_r29->scale.y, var_r29->scale.z); MTXScale(sp6C, var_r29->scale.x, var_r29->scale.y, var_r29->scale.z);
PSMTXConcat(sp9C, sp6C, sp6C); MTXConcat(sp9C, sp6C, sp6C);
mtxTransCat(sp6C, var_r29->pos.x, var_r29->pos.y, var_r29->pos.z); mtxTransCat(sp6C, var_r29->pos.x, var_r29->pos.y, var_r29->pos.z);
PSMTXConcat(spCC, sp6C, sp6C); MTXConcat(spCC, sp6C, sp6C);
if (!strcmp(arg2, var_r26->name)) { if (!strcmp(arg2, var_r26->name)) {
PSMTXCopy(sp6C, arg3); MTXCopy(sp6C, arg3);
lbl_1_bss_30 = 1; lbl_1_bss_30 = 1;
} }
@ -1315,12 +1315,12 @@ void fn_1_7AC4(HsfObject *arg0, Mtx arg1, char *arg2, Mtx arg3)
if (!lbl_1_bss_30) { if (!lbl_1_bss_30) {
var_r28 = &var_r25->data.curr; var_r28 = &var_r25->data.curr;
mtxRot(sp3C, var_r28->rot.x, var_r28->rot.y, var_r28->rot.z); mtxRot(sp3C, var_r28->rot.x, var_r28->rot.y, var_r28->rot.z);
PSMTXScale(spC, var_r28->scale.x, var_r28->scale.y, var_r28->scale.z); MTXScale(spC, var_r28->scale.x, var_r28->scale.y, var_r28->scale.z);
PSMTXConcat(sp3C, spC, spC); MTXConcat(sp3C, spC, spC);
mtxTransCat(spC, var_r28->pos.x, var_r28->pos.y, var_r28->pos.z); mtxTransCat(spC, var_r28->pos.x, var_r28->pos.y, var_r28->pos.z);
PSMTXConcat(sp6C, spC, spC); MTXConcat(sp6C, spC, spC);
if (!strcmp(arg2, var_r25->name)) { if (!strcmp(arg2, var_r25->name)) {
PSMTXCopy(spC, arg3); MTXCopy(spC, arg3);
lbl_1_bss_30 = 1; lbl_1_bss_30 = 1;
} }

View file

@ -93,7 +93,7 @@ void ObjectSetup(void)
sp8.x = sp8.z = 0.0f; sp8.x = sp8.z = 0.0f;
sp8.y = lbl_1_data_18.z; sp8.y = lbl_1_data_18.z;
mtxRot(sp20, lbl_1_data_18.x, lbl_1_data_18.y, 0.0f); mtxRot(sp20, lbl_1_data_18.x, lbl_1_data_18.y, 0.0f);
PSMTXMultVec(sp20, &sp8, &sp8); MTXMultVec(sp20, &sp8, &sp8);
Hu3DGLightPosAimSetV(lbl_1_bss_16, &sp8, &sp14); Hu3DGLightPosAimSetV(lbl_1_bss_16, &sp8, &sp14);
Hu3DShadowPosSet(&sp8, &lbl_1_data_34, &sp14); Hu3DShadowPosSet(&sp8, &lbl_1_data_34, &sp14);
lbl_1_bss_14 = lbl_1_bss_12 = lbl_1_bss_10 = -1; lbl_1_bss_14 = lbl_1_bss_12 = lbl_1_bss_10 = -1;

View file

@ -1075,8 +1075,8 @@ void fn_1_B140(ModelData *arg0, Mtx arg1)
DCStoreRange(&sp10, 4); DCStoreRange(&sp10, 4);
DCStoreRange(&lbl_1_data_294, 32); DCStoreRange(&lbl_1_data_294, 32);
PSMTXTrans(spF4, -400.0f, 400.0f, -700.0f); MTXTrans(spF4, -400.0f, 400.0f, -700.0f);
PSMTXConcat(Hu3DCameraMtx, spF4, sp64); MTXConcat(Hu3DCameraMtx, spF4, sp64);
GXLoadPosMtxImm(sp64, 0); GXLoadPosMtxImm(sp64, 0);
GXSetNumChans(1); GXSetNumChans(1);
GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE);
@ -1086,10 +1086,10 @@ void fn_1_B140(ModelData *arg0, Mtx arg1)
HuSprTexLoad(lbl_1_bss_70, 0, 1, GX_REPEAT, GX_REPEAT, GX_LINEAR); HuSprTexLoad(lbl_1_bss_70, 0, 1, GX_REPEAT, GX_REPEAT, GX_LINEAR);
GXSetNumTexGens(2); GXSetNumTexGens(2);
C_MTXLightPerspective(sp94, 41.5f, 1.2f, 0.5555555f, -0.5f, 0.5555555f, 0.5f); C_MTXLightPerspective(sp94, 41.5f, 1.2f, 0.5555555f, -0.5f, 0.5555555f, 0.5f);
PSMTXConcat(sp94, Hu3DCameraMtx, sp94); MTXConcat(sp94, Hu3DCameraMtx, sp94);
PSMTXInverse(Hu3DCameraMtx, sp34); MTXInverse(Hu3DCameraMtx, sp34);
PSMTXConcat(sp34, sp64, sp124); MTXConcat(sp34, sp64, sp124);
PSMTXConcat(sp94, sp124, spF4); MTXConcat(sp94, sp124, spF4);
GXLoadTexMtxImm(spF4, 30, GX_MTX3x4); GXLoadTexMtxImm(spF4, 30, GX_MTX3x4);
GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, 30, GX_FALSE, 125); GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, 30, GX_FALSE, 125);
GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX2x4, GX_TG_TEXCOORD0, 33, GX_FALSE, 125); GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX2x4, GX_TG_TEXCOORD0, 33, GX_FALSE, 125);
@ -1097,7 +1097,7 @@ void fn_1_B140(ModelData *arg0, Mtx arg1)
GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD1, GX_TEXMAP1); GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD1, GX_TEXMAP1);
GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1); GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1);
GXSetTevIndWarp(GX_TEVSTAGE0, GX_INDTEXSTAGE0, GX_TRUE, GX_FALSE, GX_ITM_0); GXSetTevIndWarp(GX_TEVSTAGE0, GX_INDTEXSTAGE0, GX_TRUE, GX_FALSE, GX_ITM_0);
PSMTXScale(spF4, -0.5f, -0.5f, 0.5f); MTXScale(spF4, -0.5f, -0.5f, 0.5f);
GXSetIndTexMtx(GX_ITM_0, (float(*)[3])spF4, -1); GXSetIndTexMtx(GX_ITM_0, (float(*)[3])spF4, -1);
GXSetNumTevStages(1); GXSetNumTevStages(1);
GXSetTevColor(GX_TEVREG1, sp10); GXSetTevColor(GX_TEVREG1, sp10);
@ -1124,17 +1124,17 @@ void fn_1_B140(ModelData *arg0, Mtx arg1)
if (var_r31->unk_00) { if (var_r31->unk_00) {
lbl_1_data_294[var_r31->unk_02].a = 255.0f * var_r31->unk_0C; lbl_1_data_294[var_r31->unk_02].a = 255.0f * var_r31->unk_0C;
GXSetTevColor(GX_TEVREG0, lbl_1_data_294[var_r31->unk_02]); GXSetTevColor(GX_TEVREG0, lbl_1_data_294[var_r31->unk_02]);
PSMTXTrans(spF4, var_r31->unk_10.x, var_r31->unk_10.y, var_r31->unk_10.z); MTXTrans(spF4, var_r31->unk_10.x, var_r31->unk_10.y, var_r31->unk_10.z);
PSMTXRotRad(sp124, 90, 0.017453292f * var_r31->unk_08); MTXRotRad(sp124, 90, 0.017453292f * var_r31->unk_08);
PSMTXConcat(spF4, sp124, spF4); MTXConcat(spF4, sp124, spF4);
PSMTXScale(spC4, var_r31->unk_04, var_r31->unk_04, var_r31->unk_04); MTXScale(spC4, var_r31->unk_04, var_r31->unk_04, var_r31->unk_04);
PSMTXConcat(spF4, spC4, spF4); MTXConcat(spF4, spC4, spF4);
PSMTXConcat(Hu3DCameraMtx, spF4, sp64); MTXConcat(Hu3DCameraMtx, spF4, sp64);
GXLoadPosMtxImm(sp64, 0); GXLoadPosMtxImm(sp64, 0);
PSMTXConcat(sp34, sp64, sp124); MTXConcat(sp34, sp64, sp124);
PSMTXConcat(sp94, sp124, spF4); MTXConcat(sp94, sp124, spF4);
GXLoadTexMtxImm(spF4, 30, GX_MTX3x4); GXLoadTexMtxImm(spF4, 30, GX_MTX3x4);
PSMTXRotRad(sp124, 90, 0.017453292f * -var_r31->unk_08); MTXRotRad(sp124, 90, 0.017453292f * -var_r31->unk_08);
GXLoadTexMtxImm(sp124, 33, GX_MTX2x4); GXLoadTexMtxImm(sp124, 33, GX_MTX2x4);
GXCallDisplayList(var_r30->unk_120.unk_E5C, var_r30->unk_120.unk_E58); GXCallDisplayList(var_r30->unk_120.unk_E5C, var_r30->unk_120.unk_E58);
} }

View file

@ -513,8 +513,8 @@ void fn_1_1A60(unkStruct3 *arg0)
for (var_r31 = -1; var_r31 < 2; var_r31 += 2) { for (var_r31 = -1; var_r31 < 2; var_r31 += 2) {
for (var_r29 = -1; var_r29 < 2; var_r29 += 2) { for (var_r29 = -1; var_r29 < 2; var_r29 += 2) {
MTXRotDeg(sp118, 0x59, temp_f30); MTXRotDeg(sp118, 0x59, temp_f30);
PSMTXTrans(spE8, (var_r30 * var_r31), 0.0f, (var_r30 * var_r29)); MTXTrans(spE8, (var_r30 * var_r31), 0.0f, (var_r30 * var_r29));
PSMTXConcat(sp118, spE8, spE8); MTXConcat(sp118, spE8, spE8);
if ((spB8[0].y > spE8[2][3]) || ((spB8[0].y == spE8[2][3]) && (spB8[0].x > spE8[0][3]))) { if ((spB8[0].y > spE8[2][3]) || ((spB8[0].y == spE8[2][3]) && (spB8[0].x > spE8[0][3]))) {
spB8[0].x = spE8[0][3]; spB8[0].x = spE8[0][3];
spB8[0].y = spE8[2][3]; spB8[0].y = spE8[2][3];
@ -1604,15 +1604,15 @@ void fn_1_6958(Mtx arg0, f32 arg8, f32 arg9, f32 argA)
MTXRotDeg(arg0, 0x5A, argA); MTXRotDeg(arg0, 0x5A, argA);
} }
else { else {
PSMTXIdentity(arg0); MTXIdentity(arg0);
} }
if (arg8 != 0.0f) { if (arg8 != 0.0f) {
MTXRotDeg(sp38, 0x58, arg8); MTXRotDeg(sp38, 0x58, arg8);
PSMTXConcat(sp38, arg0, arg0); MTXConcat(sp38, arg0, arg0);
} }
if (arg9 != 0.0f) { if (arg9 != 0.0f) {
MTXRotDeg(sp8, 0x59, arg9); MTXRotDeg(sp8, 0x59, arg9);
PSMTXConcat(sp8, arg0, arg0); MTXConcat(sp8, arg0, arg0);
} }
} }

File diff suppressed because it is too large Load diff

View file

@ -79,7 +79,7 @@ void ObjectSetup(void)
sp8.x = sp8.z = 0.0f; sp8.x = sp8.z = 0.0f;
sp8.y = lbl_1_data_18.z; sp8.y = lbl_1_data_18.z;
mtxRot(sp38, lbl_1_data_18.x, lbl_1_data_18.y, 0.0f); mtxRot(sp38, lbl_1_data_18.x, lbl_1_data_18.y, 0.0f);
PSMTXMultVec(sp38, &sp8, &sp8); MTXMultVec(sp38, &sp8, &sp8);
Hu3DGLightPosAimSetV(lbl_1_bss_8[0], &sp8, &sp14); Hu3DGLightPosAimSetV(lbl_1_bss_8[0], &sp8, &sp14);
lbl_1_data_28.x = 200.0f; lbl_1_data_28.x = 200.0f;
lbl_1_data_28.y = 3000.0f; lbl_1_data_28.y = 3000.0f;
@ -481,18 +481,18 @@ void fn_1_310C(float arg8, float arg9, float argA, float *arg0, float *arg1, flo
Mtx sp8; Mtx sp8;
if (arg8 != 0.0f) { if (arg8 != 0.0f) {
PSMTXRotRad(sp38, 88, 0.017453292f * arg8); MTXRotRad(sp38, 88, 0.017453292f * arg8);
} }
else { else {
PSMTXIdentity(sp38); MTXIdentity(sp38);
} }
if (arg9 != 0.0f) { if (arg9 != 0.0f) {
PSMTXRotRad(sp8, 89, 0.017453292f * arg9); MTXRotRad(sp8, 89, 0.017453292f * arg9);
PSMTXConcat(sp38, sp8, sp38); MTXConcat(sp38, sp8, sp38);
} }
if (argA != 0.0f) { if (argA != 0.0f) {
PSMTXRotRad(sp8, 90, 0.017453292f * argA); MTXRotRad(sp8, 90, 0.017453292f * argA);
PSMTXConcat(sp38, sp8, sp38); MTXConcat(sp38, sp8, sp38);
} }
fn_1_30D8(NULL, arg0, arg1, arg2); fn_1_30D8(NULL, arg0, arg1, arg2);
} }

View file

@ -270,22 +270,22 @@ void fn_1_7C8C(omObjData *object)
var_r31->unk_70 = 0.02f; var_r31->unk_70 = 0.02f;
if (var_r31->unk_0C) { if (var_r31->unk_0C) {
Vec sp18 = { 0.0f, 1.0f, 0.0f }; Vec sp18 = { 0.0f, 1.0f, 0.0f };
PSMTXRotAxisRad(var_r31->unk_1C4, &sp18, 0.017453292f * var_r31->unk_64); MTXRotAxisRad(var_r31->unk_1C4, &sp18, 0.017453292f * var_r31->unk_64);
} }
else { else {
Vec spC = { 0.0f, 1.0f, 0.0f }; Vec spC = { 0.0f, 1.0f, 0.0f };
PSMTXIdentity(var_r31->unk_1C4); MTXIdentity(var_r31->unk_1C4);
C_QUATRotAxisRad(&var_r31->unk_184, &spC, 0.0f); C_QUATRotAxisRad(&var_r31->unk_184, &spC, 0.0f);
var_r31->unk_194 = var_r31->unk_184; var_r31->unk_194 = var_r31->unk_184;
PSQUATInverse(&var_r31->unk_194, &var_r31->unk_1A4); QUATInverse(&var_r31->unk_194, &var_r31->unk_1A4);
var_r31->unk_1B4 = var_r31->unk_1A4; var_r31->unk_1B4 = var_r31->unk_1A4;
var_r31->unk_164 = var_r31->unk_194; var_r31->unk_164 = var_r31->unk_194;
var_r31->unk_174 = var_r31->unk_194; var_r31->unk_174 = var_r31->unk_194;
var_r31->unk_144 = 1.0f; var_r31->unk_144 = 1.0f;
var_r31->unk_D4.z += 50.0f; var_r31->unk_D4.z += 50.0f;
} }
PSMTXInverse(var_r31->unk_1C4, var_r31->unk_1F4); MTXInverse(var_r31->unk_1C4, var_r31->unk_1F4);
PSMTXCopy(var_r31->unk_1F4, var_r31->unk_224); MTXCopy(var_r31->unk_1F4, var_r31->unk_224);
var_r31->unk_134 = var_r31->unk_138 = 0.0f; var_r31->unk_134 = var_r31->unk_138 = 0.0f;
var_r31->unk_12C = 1.0f; var_r31->unk_12C = 1.0f;
var_r31->unk_08 = -1; var_r31->unk_08 = -1;
@ -634,7 +634,7 @@ void fn_1_9298(omObjData *object)
else if (var_r31->unk_B4.x < 0.0f) { else if (var_r31->unk_B4.x < 0.0f) {
var_r31->unk_B4.x += 360.0f; var_r31->unk_B4.x += 360.0f;
} }
PSMTXRotAxisRad(var_r31->unk_1C4, &sp8, 0.017453292f * var_r31->unk_B4.x); MTXRotAxisRad(var_r31->unk_1C4, &sp8, 0.017453292f * var_r31->unk_B4.x);
} }
object->rot.y = var_r31->unk_68 = var_r31->unk_B4.x - 180.0f; object->rot.y = var_r31->unk_68 = var_r31->unk_B4.x - 180.0f;
object->trans.x = var_r31->unk_D4.x = var_r31->unk_F8.x = var_r31->unk_C8.x = var_r31->unk_B4.z * sind(var_r31->unk_B4.x); object->trans.x = var_r31->unk_D4.x = var_r31->unk_F8.x = var_r31->unk_C8.x = var_r31->unk_B4.z * sind(var_r31->unk_B4.x);
@ -836,7 +836,7 @@ void fn_1_9C14(omObjData *object)
if (fn_1_26F8() == 2) { if (fn_1_26F8() == 2) {
sp1C.y += -5.8333335f * var_r31->unk_148; sp1C.y += -5.8333335f * var_r31->unk_148;
} }
PSMTXMultVec(var_r31->unk_224, &sp1C, &sp1C); MTXMultVec(var_r31->unk_224, &sp1C, &sp1C);
VECAdd(&sp1C, &var_r31->unk_E0, &sp1C); VECAdd(&sp1C, &var_r31->unk_E0, &sp1C);
sp10 = sp1C; sp10 = sp1C;
sp10.y = 0.0f; sp10.y = 0.0f;
@ -849,13 +849,13 @@ void fn_1_9C14(omObjData *object)
sp1C.y = 80.0f; sp1C.y = 80.0f;
var_r31->unk_EC = sp1C; var_r31->unk_EC = sp1C;
spC = atan2d(sp1C.x, sp1C.z); spC = atan2d(sp1C.x, sp1C.z);
PSMTXMultVec(var_r31->unk_1C4, &sp1C, &sp1C); MTXMultVec(var_r31->unk_1C4, &sp1C, &sp1C);
VECAdd(&sp1C, &var_r31->unk_F8, &var_r31->unk_D4); VECAdd(&sp1C, &var_r31->unk_F8, &var_r31->unk_D4);
if (var_r31->unk_13C >= 0.95f) { if (var_r31->unk_13C >= 0.95f) {
var_r31->unk_3C = 1; var_r31->unk_3C = 1;
return; return;
} }
PSQUATNormalize(&var_r31->unk_194, &sp28); QUATNormalize(&var_r31->unk_194, &sp28);
if (sp28.w < cosd(25)) { if (sp28.w < cosd(25)) {
var_r31->unk_3C = 1; var_r31->unk_3C = 1;
} }
@ -893,7 +893,7 @@ void fn_1_9FF0(omObjData *object)
} }
} }
var_r31->unk_1B4 = var_r31->unk_1A4; var_r31->unk_1B4 = var_r31->unk_1A4;
PSMTXCopy(var_r31->unk_1F4, var_r31->unk_224); MTXCopy(var_r31->unk_1F4, var_r31->unk_224);
var_r31->unk_104 = var_r31->unk_F8; var_r31->unk_104 = var_r31->unk_F8;
var_f31 = fn_1_75BC(); var_f31 = fn_1_75BC();
for (var_r30 = 0; var_r30 < 8; var_r30++) { for (var_r30 = 0; var_r30 < 8; var_r30++) {
@ -1054,12 +1054,12 @@ void fn_1_9FF0(omObjData *object)
C_QUATRotAxisRad(&sp3C, &sp8, M_PI); C_QUATRotAxisRad(&sp3C, &sp8, M_PI);
C_QUATSlerp(&var_r31->unk_184, &sp3C, &var_r31->unk_184, 0.027777778f); C_QUATSlerp(&var_r31->unk_184, &sp3C, &var_r31->unk_184, 0.027777778f);
} }
PSQUATMultiply(&var_r31->unk_174, &var_r31->unk_184, &var_r31->unk_194); QUATMultiply(&var_r31->unk_174, &var_r31->unk_184, &var_r31->unk_194);
PSQUATMultiply(&var_r31->unk_164, &var_r31->unk_194, &var_r31->unk_194); QUATMultiply(&var_r31->unk_164, &var_r31->unk_194, &var_r31->unk_194);
PSQUATMultiply(&sp2C, &var_r31->unk_194, &var_r31->unk_194); QUATMultiply(&sp2C, &var_r31->unk_194, &var_r31->unk_194);
PSMTXQuat(var_r31->unk_1C4, &var_r31->unk_194); MTXQuat(var_r31->unk_1C4, &var_r31->unk_194);
PSMTXInverse(var_r31->unk_1C4, var_r31->unk_1F4); MTXInverse(var_r31->unk_1C4, var_r31->unk_1F4);
PSQUATInverse(&var_r31->unk_194, &var_r31->unk_1A4); QUATInverse(&var_r31->unk_194, &var_r31->unk_1A4);
} }
} }
@ -1071,7 +1071,7 @@ void fn_1_AD24(omObjData *object)
Hu3DModelPosSetV(object->model[0], &var_r30->unk_D4); Hu3DModelPosSetV(object->model[0], &var_r30->unk_D4);
Hu3DModelRotSet(object->model[0], 0.0f, var_r30->unk_64, 0.0f); Hu3DModelRotSet(object->model[0], 0.0f, var_r30->unk_64, 0.0f);
Hu3DModelPosSetV(object->model[1], &var_r30->unk_F8); Hu3DModelPosSetV(object->model[1], &var_r30->unk_F8);
PSMTXCopy(var_r30->unk_1C4, Hu3DData[object->model[1]].unk_F0); MTXCopy(var_r30->unk_1C4, Hu3DData[object->model[1]].unk_F0);
} }
void fn_1_ADC4(omObjData *object) void fn_1_ADC4(omObjData *object)

View file

@ -567,13 +567,13 @@ void fn_1_4E64(omObjData *object)
var_r31->unk_24 = 1.0f; var_r31->unk_24 = 1.0f;
} }
} }
PSMTXTrans(spC8, var_r31->unk_04.x, var_r31->unk_04.y, var_r31->unk_04.z); MTXTrans(spC8, var_r31->unk_04.x, var_r31->unk_04.y, var_r31->unk_04.z);
PSMTXRotRad(sp98, 89, 0.017453292f * var_r31->unk_10); MTXRotRad(sp98, 89, 0.017453292f * var_r31->unk_10);
PSMTXConcat(spC8, sp98, sp68); MTXConcat(spC8, sp98, sp68);
var_f31 = var_r31->unk_18 * var_r31->unk_1C; var_f31 = var_r31->unk_18 * var_r31->unk_1C;
PSMTXScale(spC8, var_f31, var_f31, var_f31 * var_r31->unk_28); MTXScale(spC8, var_f31, var_f31, var_f31 * var_r31->unk_28);
PSMTXConcat(sp68, spC8, sp98); MTXConcat(sp68, spC8, sp98);
PSMTXInverse(sp98, spC8); MTXInverse(sp98, spC8);
PSMTXReorder(spC8, sp38); PSMTXReorder(spC8, sp38);
PSMTXROMultVecArray(sp38, lbl_1_bss_178.unk_2C, lbl_1_bss_178.unk_34, lbl_1_bss_178.unk_18); PSMTXROMultVecArray(sp38, lbl_1_bss_178.unk_2C, lbl_1_bss_178.unk_34, lbl_1_bss_178.unk_18);
sp2C.x = (0.15f * var_r31->unk_18) * (var_r31->unk_24 * sind(var_r31->unk_10)); sp2C.x = (0.15f * var_r31->unk_18) * (var_r31->unk_24 * sind(var_r31->unk_10));
@ -761,7 +761,7 @@ void fn_1_604C(ModelData *arg0, Mtx arg1)
DCStoreRangeNoSync(&sp10, 4); DCStoreRangeNoSync(&sp10, 4);
PPCSync(); PPCSync();
GXLoadPosMtxImm(arg1, 0); GXLoadPosMtxImm(arg1, 0);
PSMTXInvXpose(arg1, sp98); MTXInvXpose(arg1, sp98);
GXLoadNrmMtxImm(sp98, 0); GXLoadNrmMtxImm(sp98, 0);
GXSetNumChans(1); GXSetNumChans(1);
GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE);
@ -773,29 +773,29 @@ void fn_1_604C(ModelData *arg0, Mtx arg1)
HuSprTexLoad(lbl_1_bss_60, 0, 3, GX_MIRROR, GX_MIRROR, GX_LINEAR); HuSprTexLoad(lbl_1_bss_60, 0, 3, GX_MIRROR, GX_MIRROR, GX_LINEAR);
GXSetNumTexGens(5); GXSetNumTexGens(5);
C_MTXLightPerspective(sp38, 35.0f, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f); C_MTXLightPerspective(sp38, 35.0f, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f);
PSMTXInverse(Hu3DCameraMtx, sp98); MTXInverse(Hu3DCameraMtx, sp98);
PSMTXConcat(sp98, arg1, sp98); MTXConcat(sp98, arg1, sp98);
PSMTXConcat(sp38, Hu3DCameraMtx, sp68); MTXConcat(sp38, Hu3DCameraMtx, sp68);
PSMTXConcat(sp68, sp98, sp68); MTXConcat(sp68, sp98, sp68);
sp68[1][3] -= 44.0f; sp68[1][3] -= 44.0f;
GXLoadTexMtxImm(sp68, 30, GX_MTX3x4); GXLoadTexMtxImm(sp68, 30, GX_MTX3x4);
GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, 30, GX_FALSE, 125); GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, 30, GX_FALSE, 125);
C_MTXLightPerspective(sp38, 70.0f, 1.0f, 0.5f, -0.5f, 0.5f, 0.5f); C_MTXLightPerspective(sp38, 70.0f, 1.0f, 0.5f, -0.5f, 0.5f, 0.5f);
PSMTXInverse(Hu3DCameraMtx, sp98); MTXInverse(Hu3DCameraMtx, sp98);
PSMTXConcat(sp98, arg1, sp98); MTXConcat(sp98, arg1, sp98);
PSMTXConcat(sp38, Hu3DCameraMtx, sp68); MTXConcat(sp38, Hu3DCameraMtx, sp68);
PSMTXConcat(sp68, sp98, sp68); MTXConcat(sp68, sp98, sp68);
GXLoadTexMtxImm(sp68, 36, GX_MTX3x4); GXLoadTexMtxImm(sp68, 36, GX_MTX3x4);
GXSetTexCoordGen2(GX_TEXCOORD2, GX_TG_MTX3x4, GX_TG_POS, 36, GX_FALSE, 125); GXSetTexCoordGen2(GX_TEXCOORD2, GX_TG_MTX3x4, GX_TG_POS, 36, GX_FALSE, 125);
PSMTXRotRad(sp68, 90, 0.017453292f * lbl_1_bss_178.unk_6B8); MTXRotRad(sp68, 90, 0.017453292f * lbl_1_bss_178.unk_6B8);
GXLoadTexMtxImm(sp68, 39, GX_MTX2x4); GXLoadTexMtxImm(sp68, 39, GX_MTX2x4);
GXSetTexCoordGen2(GX_TEXCOORD3, GX_TG_MTX2x4, GX_TG_TEXCOORD0, 39, GX_FALSE, 125); GXSetTexCoordGen2(GX_TEXCOORD3, GX_TG_MTX2x4, GX_TG_TEXCOORD0, 39, GX_FALSE, 125);
PSMTXScale(sp98, 1.2f, -1.2f, 1.2f); MTXScale(sp98, 1.2f, -1.2f, 1.2f);
PSMTXConcat(sp68, sp98, sp68); MTXConcat(sp68, sp98, sp68);
GXLoadTexMtxImm(sp68, 42, GX_MTX2x4); GXLoadTexMtxImm(sp68, 42, GX_MTX2x4);
GXSetTexCoordGen2(GX_TEXCOORD4, GX_TG_MTX2x4, GX_TG_TEXCOORD0, 42, GX_FALSE, 125); GXSetTexCoordGen2(GX_TEXCOORD4, GX_TG_MTX2x4, GX_TG_TEXCOORD0, 42, GX_FALSE, 125);
PSMTXScale(sp98, 0.49f, -0.49f, 0.49f); MTXScale(sp98, 0.49f, -0.49f, 0.49f);
PSMTXConcat(sp98, Hu3DCameraMtx, sp68); MTXConcat(sp98, Hu3DCameraMtx, sp68);
sp68[0][3] = 0.5f; sp68[0][3] = 0.5f;
sp68[1][3] = 0.5f; sp68[1][3] = 0.5f;
GXLoadTexMtxImm(sp68, 33, GX_MTX2x4); GXLoadTexMtxImm(sp68, 33, GX_MTX2x4);
@ -804,18 +804,18 @@ void fn_1_604C(ModelData *arg0, Mtx arg1)
GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD1, GX_TEXMAP1); GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD1, GX_TEXMAP1);
GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1); GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1);
GXSetTevIndWarp(GX_TEVSTAGE0, GX_INDTEXSTAGE0, GX_TRUE, GX_FALSE, GX_ITM_0); GXSetTevIndWarp(GX_TEVSTAGE0, GX_INDTEXSTAGE0, GX_TRUE, GX_FALSE, GX_ITM_0);
PSMTXScale(sp68, -0.5f, -0.5f, 0.5f); MTXScale(sp68, -0.5f, -0.5f, 0.5f);
GXSetIndTexMtx(GX_ITM_0, (float(*)[3])sp68, -2); GXSetIndTexMtx(GX_ITM_0, (float(*)[3])sp68, -2);
GXSetIndTexOrder(GX_INDTEXSTAGE1, GX_TEXCOORD1, GX_TEXMAP1); GXSetIndTexOrder(GX_INDTEXSTAGE1, GX_TEXCOORD1, GX_TEXMAP1);
GXSetIndTexCoordScale(GX_INDTEXSTAGE1, GX_ITS_1, GX_ITS_1); GXSetIndTexCoordScale(GX_INDTEXSTAGE1, GX_ITS_1, GX_ITS_1);
GXSetTevIndWarp(GX_TEVSTAGE1, GX_INDTEXSTAGE1, GX_TRUE, GX_FALSE, GX_ITM_1); GXSetTevIndWarp(GX_TEVSTAGE1, GX_INDTEXSTAGE1, GX_TRUE, GX_FALSE, GX_ITM_1);
PSMTXScale(sp68, 0.5f, 0.5f, 0.5f); MTXScale(sp68, 0.5f, 0.5f, 0.5f);
GXSetIndTexMtx(GX_ITM_1, (float(*)[3])sp68, 0); GXSetIndTexMtx(GX_ITM_1, (float(*)[3])sp68, 0);
GXSetIndTexOrder(GX_INDTEXSTAGE2, GX_TEXCOORD1, GX_TEXMAP1); GXSetIndTexOrder(GX_INDTEXSTAGE2, GX_TEXCOORD1, GX_TEXMAP1);
GXSetIndTexCoordScale(GX_INDTEXSTAGE2, GX_ITS_1, GX_ITS_1); GXSetIndTexCoordScale(GX_INDTEXSTAGE2, GX_ITS_1, GX_ITS_1);
GXSetTevIndWarp(GX_TEVSTAGE2, GX_INDTEXSTAGE2, GX_TRUE, GX_FALSE, GX_ITM_2); GXSetTevIndWarp(GX_TEVSTAGE2, GX_INDTEXSTAGE2, GX_TRUE, GX_FALSE, GX_ITM_2);
GXSetTevIndWarp(GX_TEVSTAGE3, GX_INDTEXSTAGE2, GX_TRUE, GX_FALSE, GX_ITM_2); GXSetTevIndWarp(GX_TEVSTAGE3, GX_INDTEXSTAGE2, GX_TRUE, GX_FALSE, GX_ITM_2);
PSMTXScale(sp68, -0.65f, -0.65f, 0.65f); MTXScale(sp68, -0.65f, -0.65f, 0.65f);
GXSetIndTexMtx(GX_ITM_2, (float(*)[3])sp68, -3); GXSetIndTexMtx(GX_ITM_2, (float(*)[3])sp68, -3);
GXSetNumTevStages(5); GXSetNumTevStages(5);
GXSetTevColor(GX_TEVREG0, sp14); GXSetTevColor(GX_TEVREG0, sp14);

File diff suppressed because it is too large Load diff

View file

@ -131,7 +131,7 @@ void ObjectSetup(void)
sp8.x = sp8.z = 0.0f; sp8.x = sp8.z = 0.0f;
sp8.y = lbl_1_data_18.z; sp8.y = lbl_1_data_18.z;
mtxRot(sp2C, lbl_1_data_18.x, lbl_1_data_18.y, 0.0f); mtxRot(sp2C, lbl_1_data_18.x, lbl_1_data_18.y, 0.0f);
PSMTXMultVec(sp2C, &sp8, &lbl_1_data_28); MTXMultVec(sp2C, &sp8, &lbl_1_data_28);
Hu3DGLightPosAimSetV(lbl_1_bss_12[0], &lbl_1_data_28, &lbl_1_data_40); Hu3DGLightPosAimSetV(lbl_1_bss_12[0], &lbl_1_data_28, &lbl_1_data_40);
Hu3DShadowPosSet(&lbl_1_data_28, &lbl_1_data_34, &lbl_1_data_40); Hu3DShadowPosSet(&lbl_1_data_28, &lbl_1_data_34, &lbl_1_data_40);
lbl_1_bss_10 = lbl_1_bss_E = lbl_1_bss_C = -1; lbl_1_bss_10 = lbl_1_bss_E = lbl_1_bss_C = -1;
@ -647,7 +647,7 @@ void fn_1_38FC(ModelData *model, Mtx mtx)
float var_f30; float var_f30;
float var_f29; float var_f29;
PSMTXIdentity(spC); MTXIdentity(spC);
GXLoadPosMtxImm(spC, 0); GXLoadPosMtxImm(spC, 0);
GXSetNumChans(1); GXSetNumChans(1);
GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE);

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -608,13 +608,13 @@ void fn_1_9A64(omObjData *arg0)
fn_1_C878(arg0->model[1], "hook1", sp74, 0); fn_1_C878(arg0->model[1], "hook1", sp74, 0);
fn_1_C878(arg0->model[2], "hook2", sp74, 1); fn_1_C878(arg0->model[2], "hook2", sp74, 1);
fn_1_C878(arg0->model[3], "hook3", sp74, 1); fn_1_C878(arg0->model[3], "hook3", sp74, 1);
PSMTXCopy(sp74, sp44); MTXCopy(sp74, sp44);
temp_r31->unk30.x = sp74[0][3]; temp_r31->unk30.x = sp74[0][3];
temp_r31->unk30.y = sp74[1][3]; temp_r31->unk30.y = sp74[1][3];
temp_r31->unk30.z = sp74[2][3]; temp_r31->unk30.z = sp74[2][3];
for (var_r29 = 0; var_r29 < 0xC; var_r29++) { for (var_r29 = 0; var_r29 < 0xC; var_r29++) {
PSMTXCopy(sp44, sp74); MTXCopy(sp44, sp74);
fn_1_C878(arg0->model[4], lbl_1_data_21C[var_r29], sp74, 1); fn_1_C878(arg0->model[4], lbl_1_data_21C[var_r29], sp74, 1);
temp_r31->unkCC[var_r29] = temp_r31->unk3C[var_r29]; temp_r31->unkCC[var_r29] = temp_r31->unk3C[var_r29];
temp_r31->unk3C[var_r29].x = sp74[0][3]; temp_r31->unk3C[var_r29].x = sp74[0][3];
@ -625,14 +625,14 @@ void fn_1_9A64(omObjData *arg0)
sp2C.x = 0.0f; sp2C.x = 0.0f;
sp2C.y = temp_r31->unk174.y; sp2C.y = temp_r31->unk174.y;
sp2C.z = 0.0f; sp2C.z = 0.0f;
PSVECSubtract(&temp_r31->unk174, &sp2C, &sp20); VECSubtract(&temp_r31->unk174, &sp2C, &sp20);
var_f31 = PSVECMag(&sp20); var_f31 = VECMag(&sp20);
if (var_f31 != 0.0f) { if (var_f31 != 0.0f) {
PSVECNormalize(&sp20, &sp20); VECNormalize(&sp20, &sp20);
PSVECScale(&sp20, &sp20, 0.9f * var_f31); VECScale(&sp20, &sp20, 0.9f * var_f31);
PSVECAdd(&sp2C, &sp20, &temp_r31->unk174); VECAdd(&sp2C, &sp20, &temp_r31->unk174);
} }
PSVECAdd(&temp_r31->unk30, &temp_r31->unk174, &sp38); VECAdd(&temp_r31->unk30, &temp_r31->unk174, &sp38);
fn_1_88E8(temp_r31->unk168, sp38.x, sp38.y, sp38.z); fn_1_88E8(temp_r31->unk168, sp38.x, sp38.y, sp38.z);
} }
temp_r31->unk164 = 1; temp_r31->unk164 = 1;
@ -911,7 +911,7 @@ s32 fn_1_B9E0(Vec *arg0, Vec *arg1, f32 arg8, Vec *arg2, s32 arg3)
var_r28 = 0; var_r28 = 0;
var_r24 = lbl_1_bss_6D8; var_r24 = lbl_1_bss_6D8;
temp_r31 = var_r24->data; temp_r31 = var_r24->data;
PSVECAdd(arg0, arg1, &sp24); VECAdd(arg0, arg1, &sp24);
spC = *arg1; spC = *arg1;
*arg2 = *arg0; *arg2 = *arg0;
temp_f30 = 5.0f + arg8; temp_f30 = 5.0f + arg8;
@ -923,10 +923,10 @@ s32 fn_1_B9E0(Vec *arg0, Vec *arg1, f32 arg8, Vec *arg2, s32 arg3)
for (var_r29 = 0; var_r29 < 0xC; var_r29++) { for (var_r29 = 0; var_r29 < 0xC; var_r29++) {
if (var_r28 != 0) { if (var_r28 != 0) {
sp24 = *arg2; sp24 = *arg2;
PSVECSubtract(&sp24, arg0, &spC); VECSubtract(&sp24, arg0, &spC);
} }
PSVECSubtract(&sp24, &temp_r31->unk3C[var_r29], &sp18); VECSubtract(&sp24, &temp_r31->unk3C[var_r29], &sp18);
var_f29 = PSVECMag(&sp18); var_f29 = VECMag(&sp18);
if (var_f29 < temp_f30) { if (var_f29 < temp_f30) {
if (0.0f == var_f29) { if (0.0f == var_f29) {
var_f29 = temp_f30; var_f29 = temp_f30;
@ -939,9 +939,9 @@ s32 fn_1_B9E0(Vec *arg0, Vec *arg1, f32 arg8, Vec *arg2, s32 arg3)
temp_r31->unk15C = 1; temp_r31->unk15C = 1;
} }
else { else {
PSVECNormalize(&sp18, &sp18); VECNormalize(&sp18, &sp18);
PSVECScale(&sp18, &sp18, temp_f30); VECScale(&sp18, &sp18, temp_f30);
PSVECAdd(&temp_r31->unk3C[var_r29], &sp18, arg2); VECAdd(&temp_r31->unk3C[var_r29], &sp18, arg2);
} }
var_r28 = 1; var_r28 = 1;
} }
@ -951,43 +951,43 @@ s32 fn_1_B9E0(Vec *arg0, Vec *arg1, f32 arg8, Vec *arg2, s32 arg3)
for (var_r29 = 0; var_r29 < 0xC; var_r29++) { for (var_r29 = 0; var_r29 < 0xC; var_r29++) {
if (var_r28 != 0) { if (var_r28 != 0) {
sp24 = *arg2; sp24 = *arg2;
PSVECSubtract(&sp24, arg0, &spC); VECSubtract(&sp24, arg0, &spC);
} }
var_r26 = 0; var_r26 = 0;
sp60 = temp_r31->unk3C[var_r29]; sp60 = temp_r31->unk3C[var_r29];
PSVECAdd(&temp_r31->unkCC[var_r29], &spC, &sp54); VECAdd(&temp_r31->unkCC[var_r29], &spC, &sp54);
PSVECSubtract(&sp60, &sp54, &sp18); VECSubtract(&sp60, &sp54, &sp18);
PSVECSubtract(&sp24, &sp54, &sp48); VECSubtract(&sp24, &sp54, &sp48);
temp_f26 = (sp18.z * sp18.z) + ((sp18.x * sp18.x) + (sp18.y * sp18.y)); temp_f26 = (sp18.z * sp18.z) + ((sp18.x * sp18.x) + (sp18.y * sp18.y));
if (temp_f26 != 0.0f) { if (temp_f26 != 0.0f) {
var_f24 = (sp18.x * sp48.x) + (sp18.y * sp48.y) + (sp18.z * sp48.z); var_f24 = (sp18.x * sp48.x) + (sp18.y * sp48.y) + (sp18.z * sp48.z);
temp_f27 = var_f24 / temp_f26; temp_f27 = var_f24 / temp_f26;
if (temp_f27 >= 0.0f) { if (temp_f27 >= 0.0f) {
if (temp_f27 <= 1.0f) { if (temp_f27 <= 1.0f) {
PSVECScale(&sp18, &sp18, temp_f27); VECScale(&sp18, &sp18, temp_f27);
PSVECAdd(&sp54, &sp18, &sp3C); VECAdd(&sp54, &sp18, &sp3C);
PSVECSubtract(&sp24, &sp3C, &sp30); VECSubtract(&sp24, &sp3C, &sp30);
var_f29 = PSVECMag(&sp30); var_f29 = VECMag(&sp30);
if (var_f29 == 0.0f) { if (var_f29 == 0.0f) {
if (PSVECMag(&sp18) <= 0.0f) { if (VECMag(&sp18) <= 0.0f) {
sp18.x = sp18.y = 0.0f; sp18.x = sp18.y = 0.0f;
sp18.z = 1.0f; sp18.z = 1.0f;
} }
PSVECNormalize(&sp18, &sp30); VECNormalize(&sp18, &sp30);
PSVECScale(&sp30, &sp30, temp_f30); VECScale(&sp30, &sp30, temp_f30);
PSVECAdd(&sp60, &sp30, arg2); VECAdd(&sp60, &sp30, arg2);
var_r28 = 1; var_r28 = 1;
var_r26 = 1; var_r26 = 1;
} }
else if (var_f29 < temp_f30) { else if (var_f29 < temp_f30) {
if (PSVECMag(&sp30) <= 0.0f) { if (VECMag(&sp30) <= 0.0f) {
sp30.x = sp30.y = 0.0f; sp30.x = sp30.y = 0.0f;
sp30.z = 1.0f; sp30.z = 1.0f;
} }
PSVECNormalize(&sp30, &sp30); VECNormalize(&sp30, &sp30);
PSVECScale(&sp30, &sp30, temp_f30); VECScale(&sp30, &sp30, temp_f30);
PSVECAdd(&sp3C, &sp30, arg2); VECAdd(&sp3C, &sp30, arg2);
var_r28 = 1; var_r28 = 1;
var_r26 = 1; var_r26 = 1;
} }
@ -995,31 +995,31 @@ s32 fn_1_B9E0(Vec *arg0, Vec *arg1, f32 arg8, Vec *arg2, s32 arg3)
} }
} }
if (var_r26 == 0) { if (var_r26 == 0) {
PSVECSubtract(&sp24, &sp60, &sp18); VECSubtract(&sp24, &sp60, &sp18);
var_f29 = PSVECMag(&sp18); var_f29 = VECMag(&sp18);
if (var_f29 < temp_f30) { if (var_f29 < temp_f30) {
if (var_f29 <= 0.0f) { if (var_f29 <= 0.0f) {
sp18.x = sp18.y = 0.0f; sp18.x = sp18.y = 0.0f;
sp18.z = 1.0f; sp18.z = 1.0f;
} }
PSVECNormalize(&sp18, &sp18); VECNormalize(&sp18, &sp18);
PSVECScale(&sp18, &sp18, temp_f30); VECScale(&sp18, &sp18, temp_f30);
PSVECAdd(&temp_r31->unk3C[var_r29], &sp18, arg2); VECAdd(&temp_r31->unk3C[var_r29], &sp18, arg2);
var_r28 = 1; var_r28 = 1;
var_r26 = 1; var_r26 = 1;
} }
} }
if (var_r26 == 0) { if (var_r26 == 0) {
PSVECSubtract(&sp24, &sp54, &sp18); VECSubtract(&sp24, &sp54, &sp18);
var_f29 = PSVECMag(&sp18); var_f29 = VECMag(&sp18);
if (var_f29 < temp_f30) { if (var_f29 < temp_f30) {
if (var_f29 <= 0.0f) { if (var_f29 <= 0.0f) {
sp18.x = sp18.y = 0.0f; sp18.x = sp18.y = 0.0f;
sp18.z = 1.0f; sp18.z = 1.0f;
} }
PSVECNormalize(&sp18, &sp18); VECNormalize(&sp18, &sp18);
PSVECScale(&sp18, &sp18, temp_f30); VECScale(&sp18, &sp18, temp_f30);
PSVECAdd(&temp_r31->unk3C[var_r29], &sp18, arg2); VECAdd(&temp_r31->unk3C[var_r29], &sp18, arg2);
var_r28 = 1; var_r28 = 1;
var_r26 = 1; var_r26 = 1;
} }
@ -1045,7 +1045,7 @@ s32 fn_1_B9E0(Vec *arg0, Vec *arg1, f32 arg8, Vec *arg2, s32 arg3)
if (var_r28 != 0) { if (var_r28 != 0) {
if (--arg3 > 0) { if (--arg3 > 0) {
sp24 = *arg2; sp24 = *arg2;
PSVECSubtract(&sp24, arg0, &spC); VECSubtract(&sp24, arg0, &spC);
if (fn_1_B9E0(arg0, &spC, arg8, &sp24, arg3) != 0) { if (fn_1_B9E0(arg0, &spC, arg8, &sp24, arg3) != 0) {
*arg2 = sp24; *arg2 = sp24;
} }
@ -1077,8 +1077,8 @@ s32 fn_1_C210(Vec *arg0)
sp1C.x = temp_r31->unk30.x; sp1C.x = temp_r31->unk30.x;
sp1C.y = -120.00001f + temp_r31->unk30.y; sp1C.y = -120.00001f + temp_r31->unk30.y;
sp1C.z = temp_r31->unk30.z; sp1C.z = temp_r31->unk30.z;
PSVECSubtract(arg0, &sp1C, &sp10); VECSubtract(arg0, &sp1C, &sp10);
if ((spC = PSVECMag(&sp10)) < 50.0f) { if ((spC = VECMag(&sp10)) < 50.0f) {
var_r29 = 1; var_r29 = 1;
} }
} }
@ -1118,7 +1118,7 @@ void fn_1_C2E0(s32 arg0)
spC = fn_1_8A00(var_r30); spC = fn_1_8A00(var_r30);
sp28 = *temp_r28; sp28 = *temp_r28;
sp4C = temp_r27->unk60; sp4C = temp_r27->unk60;
PSVECSubtract(temp_r28, &sp4C, &sp40); VECSubtract(temp_r28, &sp4C, &sp40);
if (fn_1_B9E0(&sp4C, &sp40, 100.0f, &sp34, 0x10) != 0) { if (fn_1_B9E0(&sp4C, &sp40, 100.0f, &sp34, 0x10) != 0) {
*temp_r28 = sp34; *temp_r28 = sp34;
sp4C = sp34; sp4C = sp34;
@ -1141,7 +1141,7 @@ void fn_1_C2E0(s32 arg0)
if (fn_1_C210(&sp4C) != 0) { if (fn_1_C210(&sp4C) != 0) {
temp_r31->unk168 = var_r30; temp_r31->unk168 = var_r30;
temp_r31->unk170 = fn_1_897C(var_r30); temp_r31->unk170 = fn_1_897C(var_r30);
PSVECSubtract(&sp4C, &temp_r31->unk30, &temp_r31->unk174); VECSubtract(&sp4C, &temp_r31->unk30, &temp_r31->unk174);
fn_1_88E8(temp_r31->unk168, sp4C.x, sp4C.y, sp4C.z); fn_1_88E8(temp_r31->unk168, sp4C.x, sp4C.y, sp4C.z);
} }
} }
@ -1174,8 +1174,8 @@ void fn_1_C604(s32 arg0, s32 arg1)
var_r28 = &lbl_1_bss_60[var_r30]; var_r28 = &lbl_1_bss_60[var_r30];
var_r31 = fn_1_89D4(var_r30); var_r31 = fn_1_89D4(var_r30);
sp24 = *var_r31; sp24 = *var_r31;
PSVECSubtract(&sp24, &sp30, &sp18); VECSubtract(&sp24, &sp30, &sp18);
var_f30 = PSVECMag(&sp18); var_f30 = VECMag(&sp18);
if (var_f30 < 200.0f) { if (var_f30 < 200.0f) {
if (var_f30 > 0.0f) { if (var_f30 > 0.0f) {
temp_f31 = 1.0f / var_f30; temp_f31 = 1.0f / var_f30;
@ -1228,11 +1228,11 @@ s32 fn_1_C878(s16 arg0, const char *arg1, Mtx arg2, s32 arg3)
lbl_1_bss_6C4 = 0; lbl_1_bss_6C4 = 0;
} }
mtxRot(sp14, temp_r31->rot.x, temp_r31->rot.y, temp_r31->rot.z); mtxRot(sp14, temp_r31->rot.x, temp_r31->rot.y, temp_r31->rot.z);
PSMTXScale(sp44, temp_r31->scale.x, temp_r31->scale.y, temp_r31->scale.z); MTXScale(sp44, temp_r31->scale.x, temp_r31->scale.y, temp_r31->scale.z);
PSMTXConcat(sp14, sp44, sp44); MTXConcat(sp14, sp44, sp44);
mtxTransCat(sp44, temp_r31->pos.x, temp_r31->pos.y, temp_r31->pos.z); mtxTransCat(sp44, temp_r31->pos.x, temp_r31->pos.y, temp_r31->pos.z);
if (arg3 != 0) { if (arg3 != 0) {
PSMTXConcat(arg2, sp44, sp44); MTXConcat(arg2, sp44, sp44);
} }
fn_1_C99C(temp_r30->root, sp44, arg1, arg2); fn_1_C99C(temp_r30->root, sp44, arg1, arg2);
return lbl_1_bss_6C8; return lbl_1_bss_6C8;
@ -1263,21 +1263,21 @@ void fn_1_C99C(HsfObject *arg0, Mtx arg1, const char *arg2, Mtx arg3)
var_r31 = &arg0->data.base; var_r31 = &arg0->data.base;
} }
if ((var_r31->scale.x <= 0.0f) && (var_r31->scale.y <= 0.0f) && (var_r31->scale.z <= 0.0f)) { if ((var_r31->scale.x <= 0.0f) && (var_r31->scale.y <= 0.0f) && (var_r31->scale.z <= 0.0f)) {
PSMTXCopy(arg1, spF8); MTXCopy(arg1, spF8);
OSReport("OBJ MTX CHECK ERROR %s \n", arg0->name); OSReport("OBJ MTX CHECK ERROR %s \n", arg0->name);
} }
else { else {
mtxRot(spC8, var_r31->rot.x, var_r31->rot.y, var_r31->rot.z); mtxRot(spC8, var_r31->rot.x, var_r31->rot.y, var_r31->rot.z);
PSMTXScale(spF8, var_r31->scale.x, var_r31->scale.y, var_r31->scale.z); MTXScale(spF8, var_r31->scale.x, var_r31->scale.y, var_r31->scale.z);
PSMTXConcat(spC8, spF8, spF8); MTXConcat(spC8, spF8, spF8);
mtxTransCat(spF8, var_r31->pos.x, var_r31->pos.y, var_r31->pos.z); mtxTransCat(spF8, var_r31->pos.x, var_r31->pos.y, var_r31->pos.z);
PSMTXConcat(arg1, spF8, spF8); MTXConcat(arg1, spF8, spF8);
} }
if (lbl_1_bss_6C0 != 0) { if (lbl_1_bss_6C0 != 0) {
OSReport("%s \n", arg0->name); OSReport("%s \n", arg0->name);
} }
if (strcmp(arg2, arg0->name) == 0) { if (strcmp(arg2, arg0->name) == 0) {
PSMTXCopy(spF8, arg3); MTXCopy(spF8, arg3);
lbl_1_bss_6C8 = 1; lbl_1_bss_6C8 = 1;
} }
for (var_r25 = 0; var_r25 < arg0->data.childrenCount; var_r25++) { for (var_r25 = 0; var_r25 < arg0->data.childrenCount; var_r25++) {
@ -1290,21 +1290,21 @@ void fn_1_C99C(HsfObject *arg0, Mtx arg1, const char *arg2, Mtx arg3)
var_r30 = &temp_r28->data.base; var_r30 = &temp_r28->data.base;
} }
if ((var_r30->scale.x <= 0.0f) && (var_r30->scale.y <= 0.0f) && (var_r30->scale.z <= 0.0f)) { if ((var_r30->scale.x <= 0.0f) && (var_r30->scale.y <= 0.0f) && (var_r30->scale.z <= 0.0f)) {
PSMTXCopy(spF8, sp68); MTXCopy(spF8, sp68);
OSReport("OBJ MTX CHECK ERROR %s \n", temp_r28->name); OSReport("OBJ MTX CHECK ERROR %s \n", temp_r28->name);
} }
else { else {
mtxRot(sp98, var_r30->rot.x, var_r30->rot.y, var_r30->rot.z); mtxRot(sp98, var_r30->rot.x, var_r30->rot.y, var_r30->rot.z);
PSMTXScale(sp68, var_r30->scale.x, var_r30->scale.y, var_r30->scale.z); MTXScale(sp68, var_r30->scale.x, var_r30->scale.y, var_r30->scale.z);
PSMTXConcat(sp98, sp68, sp68); MTXConcat(sp98, sp68, sp68);
mtxTransCat(sp68, var_r30->pos.x, var_r30->pos.y, var_r30->pos.z); mtxTransCat(sp68, var_r30->pos.x, var_r30->pos.y, var_r30->pos.z);
PSMTXConcat(spF8, sp68, sp68); MTXConcat(spF8, sp68, sp68);
} }
if (lbl_1_bss_6C0 != 0) { if (lbl_1_bss_6C0 != 0) {
OSReport("%s \n", temp_r28->name); OSReport("%s \n", temp_r28->name);
} }
if (strcmp(arg2, temp_r28->name) == 0) { if (strcmp(arg2, temp_r28->name) == 0) {
PSMTXCopy(sp68, arg3); MTXCopy(sp68, arg3);
lbl_1_bss_6C8 = 1; lbl_1_bss_6C8 = 1;
} }
for (var_r24 = 0; var_r24 < temp_r28->data.childrenCount; var_r24++) { for (var_r24 = 0; var_r24 < temp_r28->data.childrenCount; var_r24++) {
@ -1317,21 +1317,21 @@ void fn_1_C99C(HsfObject *arg0, Mtx arg1, const char *arg2, Mtx arg3)
var_r29 = &temp_r27->data.base; var_r29 = &temp_r27->data.base;
} }
if ((var_r29->scale.x <= 0.0f) && (var_r29->scale.y <= 0.0f) && (var_r29->scale.z <= 0.0f)) { if ((var_r29->scale.x <= 0.0f) && (var_r29->scale.y <= 0.0f) && (var_r29->scale.z <= 0.0f)) {
PSMTXCopy(sp68, sp8); MTXCopy(sp68, sp8);
OSReport("OBJ MTX CHECK ERROR %s \n", temp_r27->name); OSReport("OBJ MTX CHECK ERROR %s \n", temp_r27->name);
} }
else { else {
mtxRot(sp38, var_r29->rot.x, var_r29->rot.y, var_r29->rot.z); mtxRot(sp38, var_r29->rot.x, var_r29->rot.y, var_r29->rot.z);
PSMTXScale(sp8, var_r29->scale.x, var_r29->scale.y, var_r29->scale.z); MTXScale(sp8, var_r29->scale.x, var_r29->scale.y, var_r29->scale.z);
PSMTXConcat(sp38, sp8, sp8); MTXConcat(sp38, sp8, sp8);
mtxTransCat(sp8, var_r29->pos.x, var_r29->pos.y, var_r29->pos.z); mtxTransCat(sp8, var_r29->pos.x, var_r29->pos.y, var_r29->pos.z);
PSMTXConcat(sp68, sp8, sp8); MTXConcat(sp68, sp8, sp8);
} }
if (lbl_1_bss_6C0 != 0) { if (lbl_1_bss_6C0 != 0) {
OSReport("%s \n", temp_r27->name); OSReport("%s \n", temp_r27->name);
} }
if (strcmp(arg2, temp_r27->name) == 0) { if (strcmp(arg2, temp_r27->name) == 0) {
PSMTXCopy(sp8, arg3); MTXCopy(sp8, arg3);
lbl_1_bss_6C8 = 1; lbl_1_bss_6C8 = 1;
} }
for (var_r23 = 0; var_r23 < temp_r27->data.childrenCount; var_r23++) { for (var_r23 = 0; var_r23 < temp_r27->data.childrenCount; var_r23++) {

View file

@ -1,9 +1,10 @@
#include "REL/m424Dll.h" #include "REL/m424Dll.h"
#include "math.h"
#include "game/audio.h" #include "game/audio.h"
#include "game/hsfman.h" #include "game/hsfman.h"
#include "game/hsfmotion.h" #include "game/hsfmotion.h"
#include "math.h"
// STRUCT // STRUCT
typedef struct _M424DllMapStruct { typedef struct _M424DllMapStruct {
@ -20,8 +21,8 @@ typedef struct _M424DllMapStruct {
} M424DllMapStruct; // sizeof 0x54 } M424DllMapStruct; // sizeof 0x54
// BSS // BSS
Process* lbl_1_bss_54; Process *lbl_1_bss_54;
omObjData* lbl_1_bss_50; omObjData *lbl_1_bss_50;
// DATA // DATA
Vec lbl_1_data_E0 = { 0.0f, 3000.0f, 1.0f }; Vec lbl_1_data_E0 = { 0.0f, 3000.0f, 1.0f };
@ -29,12 +30,13 @@ Vec lbl_1_data_EC = { 0.0f, 1.0f, 0.0f };
Vec lbl_1_data_F8 = { 0.0f, 0.0f, 0.0f }; Vec lbl_1_data_F8 = { 0.0f, 0.0f, 0.0f };
// PROTO // PROTO
void fn_1_1BB8(omObjData*); void fn_1_1BB8(omObjData *);
void fn_1_1E1C(omObjData*); void fn_1_1E1C(omObjData *);
void fn_1_2130(omObjData*); void fn_1_2130(omObjData *);
void fn_1_2438(f32); void fn_1_2438(f32);
omObjData* fn_1_1AB8(Process* arg0) { omObjData *fn_1_1AB8(Process *arg0)
{
lbl_1_bss_54 = arg0; lbl_1_bss_54 = arg0;
lbl_1_bss_50 = omAddObjEx(arg0, 0x7F, 6, 0, -1, fn_1_1BB8); lbl_1_bss_50 = omAddObjEx(arg0, 0x7F, 6, 0, -1, fn_1_1BB8);
lbl_1_bss_50->data = NULL; lbl_1_bss_50->data = NULL;
@ -44,12 +46,14 @@ omObjData* fn_1_1AB8(Process* arg0) {
return lbl_1_bss_50; return lbl_1_bss_50;
} }
void fn_1_1B8C(void) { void fn_1_1B8C(void)
{
fn_1_2130(lbl_1_bss_50); fn_1_2130(lbl_1_bss_50);
} }
void fn_1_1BB8(omObjData* arg0) { void fn_1_1BB8(omObjData *arg0)
M424DllMapStruct* var_r30; {
M424DllMapStruct *var_r30;
var_r30 = arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x54, 0x10000000); var_r30 = arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x54, 0x10000000);
memset(var_r30, 0, 0x54); memset(var_r30, 0, 0x54);
@ -82,9 +86,10 @@ void fn_1_1BB8(omObjData* arg0) {
arg0->func = fn_1_1E1C; arg0->func = fn_1_1E1C;
} }
void fn_1_1E1C(omObjData* arg0) { void fn_1_1E1C(omObjData *arg0)
{
f32 temp_f31; f32 temp_f31;
M424DllMapStruct* temp_r31; M424DllMapStruct *temp_r31;
temp_r31 = arg0->data; temp_r31 = arg0->data;
if (temp_r31->unk40 > 0) { if (temp_r31->unk40 > 0) {
@ -108,8 +113,9 @@ void fn_1_1E1C(omObjData* arg0) {
if (temp_r31->unk0 > 0.04f) { if (temp_r31->unk0 > 0.04f) {
temp_r31->unk0 = 0.04f; temp_r31->unk0 = 0.04f;
} }
if (temp_r31->unk38 != -1) break; if (temp_r31->unk38 != -1)
break;
temp_r31->unk38 = HuAudFXPlay(0x626); temp_r31->unk38 = HuAudFXPlay(0x626);
break; break;
default: default:
@ -120,8 +126,8 @@ void fn_1_1E1C(omObjData* arg0) {
} }
temp_f31 = temp_r31->unk0 / 0.04f; temp_f31 = temp_r31->unk0 / 0.04f;
if (temp_r31->unk38 != -1) { if (temp_r31->unk38 != -1) {
HuAudFXVolSet(temp_r31->unk38, (s16) (-8191.0f * (1.0f - temp_f31))); HuAudFXVolSet(temp_r31->unk38, (s16)(-8191.0f * (1.0f - temp_f31)));
HuAudFXPitchSet(temp_r31->unk38, (s16) (127.0f * temp_f31)); HuAudFXPitchSet(temp_r31->unk38, (s16)(127.0f * temp_f31));
if (temp_f31 <= 0.0f) { if (temp_f31 <= 0.0f) {
HuAudFXStop(temp_r31->unk38); HuAudFXStop(temp_r31->unk38);
temp_r31->unk38 = -1; temp_r31->unk38 = -1;
@ -130,16 +136,18 @@ void fn_1_1E1C(omObjData* arg0) {
} }
break; break;
} }
if (temp_r31->unk48 != 0) { if (temp_r31->unk48 != 0) {
if (temp_r31->unk4C != 0) { if (temp_r31->unk4C != 0) {
temp_r31->unk4C = (temp_r31->unk4C - 1); temp_r31->unk4C = (temp_r31->unk4C - 1);
} else { }
else {
temp_r31->unk48 = (temp_r31->unk48 - 1); temp_r31->unk48 = (temp_r31->unk48 - 1);
if (temp_r31->unk48 != 0) { if (temp_r31->unk48 != 0) {
Hu3DModelAttrReset(arg0->model[4], 1); Hu3DModelAttrReset(arg0->model[4], 1);
Hu3DModelAttrSet(arg0->model[5], 1); Hu3DModelAttrSet(arg0->model[5], 1);
} else { }
else {
Hu3DModelAttrSet(arg0->model[4], 1); Hu3DModelAttrSet(arg0->model[4], 1);
Hu3DModelAttrReset(arg0->model[5], 1); Hu3DModelAttrReset(arg0->model[5], 1);
if (temp_r31->unk50 != -1) { if (temp_r31->unk50 != -1) {
@ -150,16 +158,18 @@ void fn_1_1E1C(omObjData* arg0) {
} }
} }
temp_r31->unk4 = (20.0f * temp_r31->unk0); temp_r31->unk4 = (20.0f * temp_r31->unk0);
PSMTXRotRad(temp_r31->unk8, 0x59, MTXDegToRad(temp_r31->unk4)); MTXRotRad(temp_r31->unk8, 0x59, MTXDegToRad(temp_r31->unk4));
Hu3DMotionSpeedSet(arg0->model[1], temp_r31->unk0); Hu3DMotionSpeedSet(arg0->model[1], temp_r31->unk0);
} }
void fn_1_2130(omObjData* arg0) { void fn_1_2130(omObjData *arg0)
{
arg0->func = NULL; arg0->func = NULL;
} }
f32 fn_1_213C(void) { f32 fn_1_213C(void)
M424DllMapStruct* var_r31; {
M424DllMapStruct *var_r31;
if (!lbl_1_bss_50) { if (!lbl_1_bss_50) {
return 0.0f; return 0.0f;
} }
@ -170,17 +180,19 @@ f32 fn_1_213C(void) {
return var_r31->unk4; return var_r31->unk4;
} }
void fn_1_21B0(Mtx arg0) { void fn_1_21B0(Mtx arg0)
M424DllMapStruct* var_r31; {
M424DllMapStruct *var_r31;
if (lbl_1_bss_50 && lbl_1_bss_50->data) { if (lbl_1_bss_50 && lbl_1_bss_50->data) {
var_r31 = lbl_1_bss_50->data; var_r31 = lbl_1_bss_50->data;
PSMTXCopy(var_r31->unk8, *(Mtx*)&arg0); MTXCopy(var_r31->unk8, *(Mtx *)&arg0);
} }
} }
void fn_1_2220(Vec* arg0, Vec* arg1) { void fn_1_2220(Vec *arg0, Vec *arg1)
{
Vec spC; Vec spC;
M424DllMapStruct* temp_r30; M424DllMapStruct *temp_r30;
if (lbl_1_bss_50 && lbl_1_bss_50->data) { if (lbl_1_bss_50 && lbl_1_bss_50->data) {
temp_r30 = lbl_1_bss_50->data; temp_r30 = lbl_1_bss_50->data;
@ -188,23 +200,25 @@ void fn_1_2220(Vec* arg0, Vec* arg1) {
spC.x = (temp_r30->unk8[0][0] * arg0->x) + (temp_r30->unk8[0][2] * arg0->z); spC.x = (temp_r30->unk8[0][0] * arg0->x) + (temp_r30->unk8[0][2] * arg0->z);
spC.z = (temp_r30->unk8[2][0] * arg0->x) + (temp_r30->unk8[2][2] * arg0->z); spC.z = (temp_r30->unk8[2][0] * arg0->x) + (temp_r30->unk8[2][2] * arg0->z);
spC.y = arg0->y; spC.y = arg0->y;
} else { }
else {
spC = *arg0; spC = *arg0;
} }
PSVECSubtract(&spC, arg0, &spC); VECSubtract(&spC, arg0, &spC);
*arg1 = spC; *arg1 = spC;
} }
} }
void fn_1_2438(f32 arg0) { void fn_1_2438(f32 arg0)
M424DllMapStruct* spC; {
HsfAttribute* var_r31; M424DllMapStruct *spC;
ModelData* temp_r30; HsfAttribute *var_r31;
HsfData* temp_r29; ModelData *temp_r30;
HsfData *temp_r29;
s32 var_r28; s32 var_r28;
HsfBitmap* var_r27; HsfBitmap *var_r27;
omObjData* var_r26; omObjData *var_r26;
if (lbl_1_bss_50 && lbl_1_bss_50->data) { if (lbl_1_bss_50 && lbl_1_bss_50->data) {
var_r26 = lbl_1_bss_50; var_r26 = lbl_1_bss_50;
spC = lbl_1_bss_50->data; spC = lbl_1_bss_50->data;
@ -213,7 +227,8 @@ void fn_1_2438(f32 arg0) {
var_r31 = temp_r30->hsfData->attribute; var_r31 = temp_r30->hsfData->attribute;
for (var_r28 = 0; var_r28 < temp_r29->attributeCnt; var_r28++, var_r31++) { for (var_r28 = 0; var_r28 < temp_r29->attributeCnt; var_r28++, var_r31++) {
var_r27 = var_r31->bitmap; var_r27 = var_r31->bitmap;
if (strcmp("cr_dk2", var_r27->name) == 0) break; if (strcmp("cr_dk2", var_r27->name) == 0)
break;
} }
if (var_r28 < temp_r29->attributeCnt) { if (var_r28 < temp_r29->attributeCnt) {
var_r31->unk30 += arg0; var_r31->unk30 += arg0;
@ -221,9 +236,10 @@ void fn_1_2438(f32 arg0) {
} }
} }
void fn_1_252C(f32 arg8, s32 arg0) { void fn_1_252C(f32 arg8, s32 arg0)
omObjData* sp10; {
M424DllMapStruct* temp_r31; omObjData *sp10;
M424DllMapStruct *temp_r31;
if (lbl_1_bss_50 && lbl_1_bss_50->data) { if (lbl_1_bss_50 && lbl_1_bss_50->data) {
sp10 = lbl_1_bss_50; sp10 = lbl_1_bss_50;
@ -234,9 +250,10 @@ void fn_1_252C(f32 arg8, s32 arg0) {
} }
} }
f32 fn_1_25C0(void) { f32 fn_1_25C0(void)
omObjData* sp8; {
M424DllMapStruct* temp_r31; omObjData *sp8;
M424DllMapStruct *temp_r31;
if (!lbl_1_bss_50) { if (!lbl_1_bss_50) {
return 0.0f; return 0.0f;
@ -252,9 +269,10 @@ f32 fn_1_25C0(void) {
return 0.0f; return 0.0f;
} }
void fn_1_2670(s32 arg0, s32 arg1) { void fn_1_2670(s32 arg0, s32 arg1)
omObjData* temp_r30; {
M424DllMapStruct* temp_r31; omObjData *temp_r30;
M424DllMapStruct *temp_r31;
if (lbl_1_bss_50 && lbl_1_bss_50->data) { if (lbl_1_bss_50 && lbl_1_bss_50->data) {
temp_r30 = lbl_1_bss_50; temp_r30 = lbl_1_bss_50;
@ -267,17 +285,9 @@ void fn_1_2670(s32 arg0, s32 arg1) {
} }
// UNUSED (guessing types) // UNUSED (guessing types)
M424DllMainStruct lbl_1_data_10C = { M424DllMainStruct lbl_1_data_10C = { { 0.0f, 0.0f, 5500.0f }, { -3950.0f, 0.0f, -0.7f }, 0.6f };
{ 0.0f, 0.0f, 5500.0f },
{ -3950.0f, 0.0f, -0.7f },
0.6f
};
GXColor lbl_1_data_128 = { 0xFF, 0xFF, 0xFF, 0xFF }; GXColor lbl_1_data_128 = { 0xFF, 0xFF, 0xFF, 0xFF };
M424DllMainStruct lbl_1_data_12C = { M424DllMainStruct lbl_1_data_12C = { { 0.0f, 5500.0f, -3950.0f }, { 0.0f, 1.0f, 0.0f }, 0.0f };
{ 0.0f, 5500.0f, -3950.0f },
{ 0.0f, 1.0f, 0.0f },
0.0f
};
s32 lbl_1_data_148[2] = {0}; s32 lbl_1_data_148[2] = { 0 };

View file

@ -462,9 +462,6 @@ void fn_1_F48(omObjData *object)
void fn_1_FA8(omObjData *object) void fn_1_FA8(omObjData *object)
{ {
M425DllUnkBss10Struct *var_r31; M425DllUnkBss10Struct *var_r31;
s32 var_ctr;
void *var_r4;
s32 temp_r3;
s32 var_r30; s32 var_r30;
s16 *var_r28; s16 *var_r28;
s32 var_r27; s32 var_r27;
@ -565,28 +562,25 @@ void fn_1_14CC(Mtx arg0, float arg8, float arg9, float argA)
Mtx sp38; Mtx sp38;
Mtx sp8; Mtx sp8;
if (argA != 0.0f) { if (argA != 0.0f) {
PSMTXRotRad(arg0, 0x5A, MTXDegToRad(argA)); MTXRotRad(arg0, 0x5A, MTXDegToRad(argA));
} }
else { else {
PSMTXIdentity(arg0); MTXIdentity(arg0);
} }
if (arg8 != 0.0f) { if (arg8 != 0.0f) {
PSMTXRotRad(sp38, 0x58, MTXDegToRad(arg8)); MTXRotRad(sp38, 0x58, MTXDegToRad(arg8));
PSMTXConcat(sp38, arg0, arg0); MTXConcat(sp38, arg0, arg0);
} }
if (arg9 != 0.0f) { if (arg9 != 0.0f) {
PSMTXRotRad(sp8, 0x59, MTXDegToRad(arg9)); MTXRotRad(sp8, 0x59, MTXDegToRad(arg9));
PSMTXConcat(sp8, arg0, arg0); MTXConcat(sp8, arg0, arg0);
} }
} }
float fn_1_15EC(float arg8, float arg9) float fn_1_15EC(float arg8, float arg9)
{ {
float var_f31; float var_f30 = 360.0f;
float var_f30; float var_f31 = 180.0 * (atan2f(arg9, arg8) / M_PI);
var_f30 = 360.0f;
var_f31 = 180.0 * (atan2f(arg9, arg8) / M_PI);
if (var_f31 < 0.0f) { if (var_f31 < 0.0f) {
var_f31 += var_f30; var_f31 += var_f30;
} }
@ -681,10 +675,57 @@ void fn_1_1B40(omObjData *object)
break; break;
} }
if (0) { if (0) {
int x = 12; s32 var_r31;
int y = 24; s32 var_r30;
char *str = "%f"; s32 var_r29;
print8(x, y, 1.5f, str, sqrtf(fn_1_15EC(object->trans.x, object->trans.y))); float var_f31;
float var_f20;
float var_f19;
float var_f18;
(void) object;
(void) object;
(void) var_r31;
(void) var_r31;
(void) var_r31;
(void) var_r31;
(void) var_r31;
(void) var_r31;
(void) var_r30;
(void) var_r30;
(void) var_r30;
(void) var_r30;
(void) var_r30;
(void) var_r30;
(void) var_r29;
(void) var_r29;
(void) var_r29;
(void) var_r29;
(void) var_r29;
(void) var_r29;
(void) var_f31;
(void) var_f31;
(void) var_f31;
(void) var_f31;
(void) var_f31;
(void) var_f31;
(void) var_f31;
(void) var_f31;
(void) var_f31;
(void) var_f31;
(void) var_f31;
(void) var_f31;
(void) var_f31;
(void) var_f31;
(void) var_f20;
(void) var_f20;
(void) var_f20;
(void) var_f19;
(void) var_f19;
(void) var_f19;
(void) var_f18;
(void) var_f18;
(void) var_f18;
} }
var_r31->unk_38 = var_r31->unk_04 * sind(var_r31->unk_18); var_r31->unk_38 = var_r31->unk_04 * sind(var_r31->unk_18);
var_r31->unk_40 = var_r31->unk_04 * cosd(var_r31->unk_18); var_r31->unk_40 = var_r31->unk_04 * cosd(var_r31->unk_18);
@ -1368,7 +1409,7 @@ void fn_1_5044(s16 sp8)
var_r31->unk_2C[1].unk_04 = 0; var_r31->unk_2C[1].unk_04 = 0;
var_r31->unk_2C[1].unk_48 = 0x80; var_r31->unk_2C[1].unk_48 = 0x80;
for (var_r30 = 0; var_r30 < (var_r31->unk_28 * var_r31->unk_2A); var_r30++) { for (var_r30 = 0; var_r30 < (var_r31->unk_28 * var_r31->unk_2A); var_r30++) {
PSMTXIdentity(var_r31->unk_2C[var_r30].unk_14); MTXIdentity(var_r31->unk_2C[var_r30].unk_14);
var_r31->unk_2C[var_r30].unk_08.x = var_r31->unk_2C[var_r30].unk_08.y = var_r31->unk_2C[var_r30].unk_08.z = 0.0f; var_r31->unk_2C[var_r30].unk_08.x = var_r31->unk_2C[var_r30].unk_08.y = var_r31->unk_2C[var_r30].unk_08.z = 0.0f;
} }
for (var_r30 = 0; var_r30 < var_r31->unk_28; var_r30++) { for (var_r30 = 0; var_r30 < var_r31->unk_28; var_r30++) {
@ -1497,8 +1538,8 @@ void fn_1_5C20(ModelData *var_r27, Mtx sp8)
GXSetChanAmbColor(GX_COLOR0A0, var_r31->unk_20); GXSetChanAmbColor(GX_COLOR0A0, var_r31->unk_20);
GXSetChanMatColor(GX_COLOR0A0, var_r31->unk_24); GXSetChanMatColor(GX_COLOR0A0, var_r31->unk_24);
GXLoadPosMtxImm(sp8, 0); GXLoadPosMtxImm(sp8, 0);
PSMTXInverse(sp8, sp5C); MTXInverse(sp8, sp5C);
PSMTXTranspose(sp5C, sp2C); MTXTranspose(sp5C, sp2C);
GXLoadNrmMtxImm(sp2C, 0); GXLoadNrmMtxImm(sp2C, 0);
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP);
GXSetZMode(1, GX_LEQUAL, 1); GXSetZMode(1, GX_LEQUAL, 1);
@ -1506,7 +1547,7 @@ void fn_1_5C20(ModelData *var_r27, Mtx sp8)
var_r28 = 0; var_r28 = 0;
spC = 0; spC = 0;
for (var_r29 = GX_TEXMAP0; var_r29 < var_r31->unk_28; var_r29++) { for (var_r29 = GX_TEXMAP0; var_r29 < var_r31->unk_28; var_r29++) {
PSMTXRotRad(var_r31->unk_2C[var_r29].unk_14, 0x5A, 0.0f); MTXRotRad(var_r31->unk_2C[var_r29].unk_14, 0x5A, 0.0f);
mtxTransCat( mtxTransCat(
var_r31->unk_2C[var_r29].unk_14, var_r31->unk_2C[var_r29].unk_08.x, var_r31->unk_2C[var_r29].unk_08.y, var_r31->unk_2C[var_r29].unk_08.z); var_r31->unk_2C[var_r29].unk_14, var_r31->unk_2C[var_r29].unk_08.x, var_r31->unk_2C[var_r29].unk_08.y, var_r31->unk_2C[var_r29].unk_08.z);
switch (var_r31->unk_2C[var_r29].unk_04) { switch (var_r31->unk_2C[var_r29].unk_04) {

View file

@ -1665,7 +1665,7 @@ void fn_1_DE3C(M425DllUnkStruct4 *arg0, ModelData *model)
sp8.x = arg0->unk_180[var_r26].x - arg0->unk_180[var_r29].x; sp8.x = arg0->unk_180[var_r26].x - arg0->unk_180[var_r29].x;
sp8.y = arg0->unk_180[var_r26].y - arg0->unk_180[var_r29].y; sp8.y = arg0->unk_180[var_r26].y - arg0->unk_180[var_r29].y;
sp8.z = arg0->unk_180[var_r26].z - arg0->unk_180[var_r29].z; sp8.z = arg0->unk_180[var_r26].z - arg0->unk_180[var_r29].z;
PSVECCrossProduct(&sp14, &sp8, &sp20); VECCrossProduct(&sp14, &sp8, &sp20);
sp20.x *= -1.0f; sp20.x *= -1.0f;
sp20.y *= -1.0f; sp20.y *= -1.0f;
sp20.z *= -1.0f; sp20.z *= -1.0f;
@ -1685,7 +1685,7 @@ void fn_1_DE3C(M425DllUnkStruct4 *arg0, ModelData *model)
} }
} }
for (var_r30 = 0; var_r30 < arg0->unk_110; var_r30++) { for (var_r30 = 0; var_r30 < arg0->unk_110; var_r30++) {
PSVECNormalize(&arg0->unk_188[var_r30], &arg0->unk_188[var_r30]); VECNormalize(&arg0->unk_188[var_r30], &arg0->unk_188[var_r30]);
} }
} }
@ -1803,7 +1803,7 @@ void fn_1_E210(s32 arg0)
sp8.x = sind(var_r31->unk_E4) * cosd(var_r31->unk_E0); sp8.x = sind(var_r31->unk_E4) * cosd(var_r31->unk_E0);
sp8.z = cosd(var_r31->unk_E4) * cosd(var_r31->unk_E0); sp8.z = cosd(var_r31->unk_E4) * cosd(var_r31->unk_E0);
sp8.y = sind(var_r31->unk_E0); sp8.y = sind(var_r31->unk_E0);
PSVECNormalize(&sp8, &sp8); VECNormalize(&sp8, &sp8);
var_r28 = &Hu3DLocalLight[var_r27->unk_38[0]]; var_r28 = &Hu3DLocalLight[var_r27->unk_38[0]];
var_r28->unk_1C.x = 1000.0f * sp8.x; var_r28->unk_1C.x = 1000.0f * sp8.x;
var_r28->unk_1C.y = 1000.0f * sp8.y; var_r28->unk_1C.y = 1000.0f * sp8.y;
@ -2093,7 +2093,7 @@ void fn_1_101C4(ModelData *var_r29, Mtx var_r28)
var_r31 = var_r29->unk_120; var_r31 = var_r29->unk_120;
GXLoadPosMtxImm(var_r28, 0); GXLoadPosMtxImm(var_r28, 0);
PSMTXInvXpose(var_r28, sp50); MTXInvXpose(var_r28, sp50);
GXLoadNrmMtxImm(sp50, 0); GXLoadNrmMtxImm(sp50, 0);
var_r27 = fn_1_115D4(var_r29, Hu3DCameraMtx, Hu3DCameraMtxXPose, 4.0f); var_r27 = fn_1_115D4(var_r29, Hu3DCameraMtx, Hu3DCameraMtxXPose, 4.0f);
if (omPauseChk() == 0) { if (omPauseChk() == 0) {
@ -2129,7 +2129,7 @@ void fn_1_101C4(ModelData *var_r29, Mtx var_r28)
GXSetZCompLoc(0); GXSetZCompLoc(0);
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP);
if (HmfInverseMtxF3X3(var_r28, sp50) == 0) { if (HmfInverseMtxF3X3(var_r28, sp50) == 0) {
PSMTXIdentity(sp50); MTXIdentity(sp50);
} }
PSMTXReorder(sp50, sp20); PSMTXReorder(sp50, sp20);
GXClearVtxDesc(); GXClearVtxDesc();
@ -2418,7 +2418,7 @@ void fn_1_112FC(void)
var_r31->unk_04.y = var_r31->unk_10.y * var_r31->unk_1C; var_r31->unk_04.y = var_r31->unk_10.y * var_r31->unk_1C;
var_r31->unk_04.z = var_r31->unk_10.z * var_r31->unk_1C; var_r31->unk_04.z = var_r31->unk_10.z * var_r31->unk_1C;
var_r31->unk_1C *= 0.95f; var_r31->unk_1C *= 0.95f;
PSVECAdd(&var_r31->unk_30, &var_r31->unk_04, &var_r31->unk_30); VECAdd(&var_r31->unk_30, &var_r31->unk_04, &var_r31->unk_30);
if (++var_r31->unk_40 >= 0xF) { if (++var_r31->unk_40 >= 0xF) {
var_r31->unk_40 = 0; var_r31->unk_40 = 0;
var_r31->unk_28 = 0.0f; var_r31->unk_28 = 0.0f;
@ -2503,7 +2503,7 @@ void fn_1_116E4(ModelData *arg1, LightData *var_r31, s16 sp8, Mtx spC, Mtx sp10,
break; break;
case 1: case 1:
GXInitLightAttn(&lbl_1_bss_688, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f); GXInitLightAttn(&lbl_1_bss_688, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f);
PSVECScale(&var_r31->unk_28, &var_r31->unk_1C, -100000.0f); VECScale(&var_r31->unk_28, &var_r31->unk_1C, -100000.0f);
break; break;
case 2: case 2:
GXInitLightAttn(&lbl_1_bss_688, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); GXInitLightAttn(&lbl_1_bss_688, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
@ -2511,8 +2511,8 @@ void fn_1_116E4(ModelData *arg1, LightData *var_r31, s16 sp8, Mtx spC, Mtx sp10,
break; break;
} }
if ((var_r31->unk_00 & 0x8000) != 0) { if ((var_r31->unk_00 & 0x8000) != 0) {
PSMTXMultVec(spC, &var_r31->unk_28, &lbl_1_bss_67C); MTXMultVec(spC, &var_r31->unk_28, &lbl_1_bss_67C);
PSMTXMultVec(sp10, &var_r31->unk_1C, &lbl_1_bss_670); MTXMultVec(sp10, &var_r31->unk_1C, &lbl_1_bss_670);
GXInitLightPos(&lbl_1_bss_688, lbl_1_bss_670.x, lbl_1_bss_670.y, lbl_1_bss_670.z); GXInitLightPos(&lbl_1_bss_688, lbl_1_bss_670.x, lbl_1_bss_670.y, lbl_1_bss_670.z);
} }
else { else {
@ -2692,7 +2692,7 @@ void fn_1_11EE0(ModelData *var_r24, Mtx var_r21)
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_RGBA6, 0); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_RGBA6, 0);
GXSetArray(GX_VA_TEX0, var_r31->unk_44, 8); GXSetArray(GX_VA_TEX0, var_r31->unk_44, 8);
if (HmfInverseMtxF3X3(var_r21, sp128) == 0) { if (HmfInverseMtxF3X3(var_r21, sp128) == 0) {
PSMTXIdentity(sp128); MTXIdentity(sp128);
} }
PSMTXReorder(sp128, &sp8[0]); PSMTXReorder(sp128, &sp8[0]);
if (var_r31->unk_4C) { if (var_r31->unk_4C) {
@ -2718,27 +2718,27 @@ void fn_1_11EE0(ModelData *var_r24, Mtx var_r21)
if (!var_r29->unk_2C) { if (!var_r29->unk_2C) {
var_r28 = &sp98[0]; var_r28 = &sp98[0];
var_r27 = &sp38[0]; var_r27 = &sp38[0];
PSVECScale(var_r27++, var_r28, var_r29->unk_28); VECScale(var_r27++, var_r28, var_r29->unk_28);
PSVECAdd(var_r28++, &var_r29->unk_30, var_r30++); VECAdd(var_r28++, &var_r29->unk_30, var_r30++);
PSVECScale(var_r27++, var_r28, var_r29->unk_28); VECScale(var_r27++, var_r28, var_r29->unk_28);
PSVECAdd(var_r28++, &var_r29->unk_30, var_r30++); VECAdd(var_r28++, &var_r29->unk_30, var_r30++);
PSVECScale(var_r27++, var_r28, var_r29->unk_28); VECScale(var_r27++, var_r28, var_r29->unk_28);
PSVECAdd(var_r28++, &var_r29->unk_30, var_r30++); VECAdd(var_r28++, &var_r29->unk_30, var_r30++);
PSVECScale(var_r27++, var_r28, var_r29->unk_28); VECScale(var_r27++, var_r28, var_r29->unk_28);
PSVECAdd(var_r28++, &var_r29->unk_30, var_r30++); VECAdd(var_r28++, &var_r29->unk_30, var_r30++);
} }
else { else {
PSVECScale(lbl_1_data_19C, &sp98[0], var_r29->unk_28); VECScale(lbl_1_data_19C, &sp98[0], var_r29->unk_28);
PSVECScale(&lbl_1_data_19C[1], &sp98[1], var_r29->unk_28); VECScale(&lbl_1_data_19C[1], &sp98[1], var_r29->unk_28);
PSVECScale(&lbl_1_data_19C[2], &sp98[2], var_r29->unk_28); VECScale(&lbl_1_data_19C[2], &sp98[2], var_r29->unk_28);
PSVECScale(&lbl_1_data_19C[3], &sp98[3], var_r29->unk_28); VECScale(&lbl_1_data_19C[3], &sp98[3], var_r29->unk_28);
PSMTXRotRad(spC8, 0x5A, var_r29->unk_2C); MTXRotRad(spC8, 0x5A, var_r29->unk_2C);
PSMTXConcat(sp128, spC8, spF8); MTXConcat(sp128, spC8, spF8);
PSMTXMultVecArray(spF8, &sp98[0], &sp68[0], 4); MTXMultVecArray(spF8, &sp98[0], &sp68[0], 4);
PSVECAdd(&sp68[0], &var_r29->unk_30, var_r30++); VECAdd(&sp68[0], &var_r29->unk_30, var_r30++);
PSVECAdd(&sp68[1], &var_r29->unk_30, var_r30++); VECAdd(&sp68[1], &var_r29->unk_30, var_r30++);
PSVECAdd(&sp68[2], &var_r29->unk_30, var_r30++); VECAdd(&sp68[2], &var_r29->unk_30, var_r30++);
PSVECAdd(&sp68[3], &var_r29->unk_30, var_r30++); VECAdd(&sp68[3], &var_r29->unk_30, var_r30++);
} }
var_r20 = var_r29->unk_40 & 3; var_r20 = var_r29->unk_40 & 3;
var_r19 = (var_r29->unk_40 >> 2) & 3; var_r19 = (var_r29->unk_40 >> 2) & 3;

View file

@ -394,18 +394,18 @@ void fn_1_330(omObjData *object)
if (!WipeStatGet()) { if (!WipeStatGet()) {
lbl_1_bss_54 = 1; lbl_1_bss_54 = 1;
lbl_1_bss_58 = 0; lbl_1_bss_58 = 0;
lbl_1_bss_30 = 120; lbl_1_bss_30 = 2 * REFRESH_RATE;
} }
break; break;
case 1: case 1:
if (++lbl_1_bss_58 >= 15.0f) { if (++lbl_1_bss_58 >= REFRESH_RATE / 4.0f) {
lbl_1_bss_54 = 2; lbl_1_bss_54 = 2;
lbl_1_bss_58 = 0; lbl_1_bss_58 = 0;
lbl_1_bss_38 = 1; lbl_1_bss_38 = 1;
} }
break; break;
case 2: case 2:
var_f31 = 0.007246377f * lbl_1_bss_58; var_f31 = (VERSION_NTSC ? 0.007246377f : 0.008695652f) * lbl_1_bss_58;
var_f31 = sind(90.0f * var_f31); var_f31 = sind(90.0f * var_f31);
var_f31 *= var_f31; var_f31 *= var_f31;
for (var_r31 = 0; var_r31 < 7; var_r31++) { for (var_r31 = 0; var_r31 < 7; var_r31++) {
@ -418,7 +418,7 @@ void fn_1_330(omObjData *object)
Center.y = sp10[4]; Center.y = sp10[4];
Center.z = sp10[5]; Center.z = sp10[5];
CZoom = sp10[6]; CZoom = sp10[6];
if (++lbl_1_bss_58 >= 138.0f) { if (++lbl_1_bss_58 >= (VERSION_NTSC ? 138.0f : 115.0f)) {
CRot.x = lbl_1_data_4C[0][0]; CRot.x = lbl_1_data_4C[0][0];
CRot.y = lbl_1_data_4C[0][1]; CRot.y = lbl_1_data_4C[0][1];
CRot.z = lbl_1_data_4C[0][2]; CRot.z = lbl_1_data_4C[0][2];
@ -431,7 +431,7 @@ void fn_1_330(omObjData *object)
} }
break; break;
case 3: case 3:
if (++lbl_1_bss_58 >= 30.0f) { if (++lbl_1_bss_58 >= (REFRESH_RATE / 2.0f)) {
lbl_1_bss_50 = MGSeqCreate(3, 0); lbl_1_bss_50 = MGSeqCreate(3, 0);
lbl_1_bss_54 = 4; lbl_1_bss_54 = 4;
lbl_1_bss_58 = 0; lbl_1_bss_58 = 0;
@ -452,9 +452,9 @@ void fn_1_330(omObjData *object)
lbl_1_bss_40 = 1; lbl_1_bss_40 = 1;
lbl_1_bss_3C = 1; lbl_1_bss_3C = 1;
lbl_1_bss_54 = 5; lbl_1_bss_54 = 5;
lbl_1_bss_58 = 1800; lbl_1_bss_58 = 30 * REFRESH_RATE;
fn_1_7328(1); fn_1_7328(1);
lbl_1_bss_4C = MGSeqCreate(1, lbl_1_bss_58 / 60, -1, -1); lbl_1_bss_4C = MGSeqCreate(1, lbl_1_bss_58 / REFRESH_RATE, -1, -1);
} }
break; break;
case 5: case 5:
@ -463,10 +463,10 @@ void fn_1_330(omObjData *object)
var_r25 = 0; var_r25 = 0;
} }
MGSeqParamSet(lbl_1_bss_4C, 1, var_r25); MGSeqParamSet(lbl_1_bss_4C, 1, var_r25);
if (lbl_1_bss_58 == 600) { if (lbl_1_bss_58 == 10 * REFRESH_RATE) {
lbl_1_bss_34 = 3.0f; lbl_1_bss_34 = 3.0f;
} }
else if (lbl_1_bss_58 == 1200) { else if (lbl_1_bss_58 == 20 * REFRESH_RATE) {
lbl_1_bss_34 = 2.5f; lbl_1_bss_34 = 2.5f;
} }
if (--lbl_1_bss_58 < -1 || lbl_1_bss_1C[0] <= 0 || lbl_1_bss_1C[1] <= 0) { if (--lbl_1_bss_58 < -1 || lbl_1_bss_1C[0] <= 0 || lbl_1_bss_1C[1] <= 0) {
@ -529,7 +529,7 @@ void fn_1_330(omObjData *object)
} }
break; break;
case 7: case 7:
if (++lbl_1_bss_58 > 210.0f) { if (++lbl_1_bss_58 > 3.5f * REFRESH_RATE) {
lbl_1_bss_50 = -1; lbl_1_bss_50 = -1;
lbl_1_bss_54 = 8; lbl_1_bss_54 = 8;
lbl_1_bss_58 = 0; lbl_1_bss_58 = 0;
@ -946,8 +946,8 @@ void fn_1_16F8(omObjData *object)
} }
else if (var_f27 != 0.0f) { else if (var_f27 != 0.0f) {
var_f27 = 1.0f / var_f27; var_f27 = 1.0f / var_f27;
object->trans.x += var_f28 * (var_f30 * var_f27); object->trans.x += var_f28 * (var_f30 * var_f27) * (60.0f / REFRESH_RATE);
object->trans.z += var_f28 * (var_f31 * var_f27); object->trans.z += var_f28 * (var_f31 * var_f27) * (60.0f / REFRESH_RATE);
} }
} }
var_f30 = object->trans.x - var_f22; var_f30 = object->trans.x - var_f22;
@ -1041,16 +1041,16 @@ void fn_1_16F8(omObjData *object)
break; break;
case 6: case 6:
var_r31->unk_2C++; var_r31->unk_2C++;
if (var_r31->unk_2C < 60.0f) { if (var_r31->unk_2C < 1.0f * REFRESH_RATE) {
if (lbl_1_bss_40 == 0) { if (lbl_1_bss_40 == 0) {
var_r31->unk_2C = 59; var_r31->unk_2C = REFRESH_RATE - 1;
} }
} }
else if (var_r31->unk_2C == 60.0f) { else if (var_r31->unk_2C == 1.0f * REFRESH_RATE) {
var_r31->unk_28 = 7; var_r31->unk_28 = 7;
CharModelMotionShiftSet(var_r31->unk_0C, object->motion[var_r31->unk_28], 0.0f, 8.0f, HU3D_MOTATTR_NONE); CharModelMotionShiftSet(var_r31->unk_0C, object->motion[var_r31->unk_28], 0.0f, 8.0f, HU3D_MOTATTR_NONE);
} }
else if (var_r31->unk_2C >= 90.0f) { else if (var_r31->unk_2C >= (VERSION_NTSC ? 90.0f : 80.0f)) {
var_r31->unk_24 = 7; var_r31->unk_24 = 7;
var_r31->unk_28 = 8; var_r31->unk_28 = 8;
CharModelMotionShiftSet(var_r31->unk_0C, object->motion[var_r31->unk_28], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); CharModelMotionShiftSet(var_r31->unk_0C, object->motion[var_r31->unk_28], 0.0f, 8.0f, HU3D_MOTATTR_LOOP);
@ -1240,7 +1240,7 @@ void fn_1_2B74(Vec *arg0)
var_r31->unk_2C = 0; var_r31->unk_2C = 0;
var_r31->unk_24 = 3; var_r31->unk_24 = 3;
var_r31->unk_AC = 32; var_r31->unk_AC = 32;
var_r31->unk_30 = 90; var_r31->unk_30 = 1.5f * REFRESH_RATE;
var_r31->unk_90 = var_r31->unk_94 = -1; var_r31->unk_90 = var_r31->unk_94 = -1;
if (!var_r29->unk_00) { if (!var_r29->unk_00) {
var_r31->unk_9C.x = -1.0f; var_r31->unk_9C.x = -1.0f;
@ -1370,7 +1370,7 @@ void fn_1_2F5C(omObjData *object, float *arg1, float *arg2, s32 *arg3)
break; break;
case 1: case 1:
if (var_r31->unk_B0 != -1) { if (var_r31->unk_B0 != -1) {
if (++var_r31->unk_B4 < 120.0f) { if (++var_r31->unk_B4 < 2.0f * REFRESH_RATE) {
if (var_r31->unk_90 == var_r31->unk_B0) { if (var_r31->unk_90 == var_r31->unk_B0) {
var_r31->unk_B0 = -1; var_r31->unk_B0 = -1;
return; return;
@ -1389,12 +1389,12 @@ void fn_1_2F5C(omObjData *object, float *arg1, float *arg2, s32 *arg3)
return; return;
case 2: case 2:
if (var_r31->unk_B0 != -1) { if (var_r31->unk_B0 != -1) {
if (++var_r31->unk_B4 < 120.0f && var_r31->unk_B0 != var_r28->unk_B0) { if (++var_r31->unk_B4 < 2.0f * REFRESH_RATE && var_r31->unk_B0 != var_r28->unk_B0) {
if (var_r31->unk_90 == var_r31->unk_B0) { if (var_r31->unk_90 == var_r31->unk_B0) {
*arg3 |= 256; *arg3 |= 256;
var_r31->unk_B0 = -1; var_r31->unk_B0 = -1;
var_r31->unk_B4 = 0; var_r31->unk_B4 = 0;
var_r31->unk_B8 = (50.0f + (frand() % 15)) - (var_r31->unk_18 * 10); var_r31->unk_B8 = ((VERSION_NTSC ? 50.0f : 45.0f) + (frand() % 15)) - (var_r31->unk_18 * 10);
var_r31->unk_BC = 0; var_r31->unk_BC = 0;
return; return;
} }
@ -1585,7 +1585,7 @@ void fn_1_3714(omObjData *object)
sp8.x = 0.0f; sp8.x = 0.0f;
sp8.y = 500.0f; sp8.y = 500.0f;
sp8.z = var_r31->unk_38; sp8.z = var_r31->unk_38;
var_r25 = 0.3f * (var_r31->unk_00 * 60); var_r25 = 0.3f * (var_r31->unk_00 * REFRESH_RATE);
var_r31->unk_34 = fn_1_5C6C(var_r31->unk_00, var_r25, &sp8); var_r31->unk_34 = fn_1_5C6C(var_r31->unk_00, var_r25, &sp8);
} }
lbl_1_bss_24 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M426, 1), MEMORY_DEFAULT_NUM)); lbl_1_bss_24 = HuSprAnimRead(HuDataReadNum(DATA_MAKE_NUM(DATADIR_M426, 1), MEMORY_DEFAULT_NUM));
@ -1975,7 +1975,7 @@ void fn_1_5134(omObjData *object)
} }
break; break;
case 1: case 1:
if ((var_r31->unk_40 -= 50.0f) <= 50.0f) { if ((var_r31->unk_40 -= (VERSION_NTSC ? 50.0f : 60.000004f)) <= 50.0f) {
if (lbl_1_bss_54 <= 4) { if (lbl_1_bss_54 <= 4) {
fn_1_3654(0); fn_1_3654(0);
fn_1_3654(1); fn_1_3654(1);
@ -2005,8 +2005,8 @@ void fn_1_5134(omObjData *object)
} }
if (fabs(fn_1_75F4(var_f31, var_r31->unk_48)) < 5.0) { if (fabs(fn_1_75F4(var_f31, var_r31->unk_48)) < 5.0) {
var_r31->unk_48 = var_f31; var_r31->unk_48 = var_f31;
if ((var_r31->unk_34 += 0.1f) > lbl_1_bss_34) { if ((var_r31->unk_34 += 0.1f) > lbl_1_bss_34 * (60.0f / REFRESH_RATE)) {
var_r31->unk_34 = lbl_1_bss_34; var_r31->unk_34 = lbl_1_bss_34 * (60.0f / REFRESH_RATE);
} }
} }
else { else {
@ -2054,7 +2054,7 @@ void fn_1_5134(omObjData *object)
if (lbl_1_bss_1C[1] < 0) { if (lbl_1_bss_1C[1] < 0) {
lbl_1_bss_1C[1] = 0; lbl_1_bss_1C[1] = 0;
} }
lbl_1_bss_30 = 60; lbl_1_bss_30 = REFRESH_RATE;
lbl_1_bss_28 = 1.0f; lbl_1_bss_28 = 1.0f;
var_r31->unk_30 = 0; var_r31->unk_30 = 0;
var_r31->unk_28 = 4; var_r31->unk_28 = 4;
@ -2476,7 +2476,7 @@ void fn_1_6704(omObjData *object)
if (var_r31->unk_04) { if (var_r31->unk_04) {
Hu3DModelPosSet(var_r31->unk_00, var_r31->unk_0C, var_r31->unk_10, var_r31->unk_14); Hu3DModelPosSet(var_r31->unk_00, var_r31->unk_0C, var_r31->unk_10, var_r31->unk_14);
Hu3DModelRotSet(var_r31->unk_00, CRot.x, CRot.y, CRot.z); Hu3DModelRotSet(var_r31->unk_00, CRot.x, CRot.y, CRot.z);
if (++var_r31->unk_08 >= 120.0f) { if (++var_r31->unk_08 >= 2.0f * REFRESH_RATE) {
Hu3DModelAttrSet(var_r31->unk_00, HU3D_ATTR_DISPOFF); Hu3DModelAttrSet(var_r31->unk_00, HU3D_ATTR_DISPOFF);
var_r31->unk_04 = 0; var_r31->unk_04 = 0;
var_r31->unk_08 = 0; var_r31->unk_08 = 0;
@ -3043,7 +3043,7 @@ void fn_1_80DC(ModelData *arg0, Mtx arg1)
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0); GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_TEX_ST, GX_F32, 0);
GXSetArray(GX_VA_TEX0, var_r31->unk_44, 8); GXSetArray(GX_VA_TEX0, var_r31->unk_44, 8);
if (!HmfInverseMtxF3X3(arg1, sp128)) { if (!HmfInverseMtxF3X3(arg1, sp128)) {
PSMTXIdentity(sp128); MTXIdentity(sp128);
} }
PSMTXReorder(sp128, sp8); PSMTXReorder(sp128, sp8);
if (var_r31->unk_4C) { if (var_r31->unk_4C) {
@ -3083,9 +3083,9 @@ void fn_1_80DC(ModelData *arg0, Mtx arg1)
VECScale(&lbl_1_data_22C[1], &sp98[1], var_r29->unk_28); VECScale(&lbl_1_data_22C[1], &sp98[1], var_r29->unk_28);
VECScale(&lbl_1_data_22C[2], &sp98[2], var_r29->unk_28); VECScale(&lbl_1_data_22C[2], &sp98[2], var_r29->unk_28);
VECScale(&lbl_1_data_22C[3], &sp98[3], var_r29->unk_28); VECScale(&lbl_1_data_22C[3], &sp98[3], var_r29->unk_28);
PSMTXRotRad(spC8, 90, var_r29->unk_2C); MTXRotRad(spC8, 90, var_r29->unk_2C);
PSMTXConcat(sp128, spC8, &spF8[0]); MTXConcat(sp128, spC8, &spF8[0]);
PSMTXMultVecArray(spF8, &sp98[0], &sp68[0], 4); MTXMultVecArray(spF8, &sp98[0], &sp68[0], 4);
VECAdd(&sp68[0], &var_r29->unk_30, var_r30++); VECAdd(&sp68[0], &var_r29->unk_30, var_r30++);
VECAdd(&sp68[1], &var_r29->unk_30, var_r30++); VECAdd(&sp68[1], &var_r29->unk_30, var_r30++);
VECAdd(&sp68[2], &var_r29->unk_30, var_r30++); VECAdd(&sp68[2], &var_r29->unk_30, var_r30++);
@ -3222,7 +3222,7 @@ void fn_1_8E48(ModelData *arg0, Mtx arg1)
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_KONST); GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_KONST);
GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
PSMTXIdentity(sp50); MTXIdentity(sp50);
GXLoadPosMtxImm(sp50, 0); GXLoadPosMtxImm(sp50, 0);
GXSetZMode(GX_FALSE, GX_ALWAYS, GX_TRUE); GXSetZMode(GX_FALSE, GX_ALWAYS, GX_TRUE);
GXSetNumChans(1); GXSetNumChans(1);

1094
src/REL/m428Dll/main.c Normal file

File diff suppressed because it is too large Load diff

1275
src/REL/m428Dll/map.c Normal file

File diff suppressed because it is too large Load diff

3401
src/REL/m428Dll/player.c Normal file

File diff suppressed because it is too large Load diff

View file

@ -403,9 +403,9 @@ void fn_1_1D70(s16 arg0, char *arg1, Vec *arg2, Mtx arg3)
var_r30 = &Hu3DData[arg0]; var_r30 = &Hu3DData[arg0];
Hu3DModelObjMtxGet(arg0, arg1, spC); Hu3DModelObjMtxGet(arg0, arg1, spC);
PSMTXConcat(var_r30->unk_F0, spC, spC); MTXConcat(var_r30->unk_F0, spC, spC);
if (NULL != arg3) { if (NULL != arg3) {
PSMTXCopy(spC, arg3); MTXCopy(spC, arg3);
} }
arg2->x = spC[0][3]; arg2->x = spC[0][3];
arg2->y = spC[1][3]; arg2->y = spC[1][3];

View file

@ -118,7 +118,7 @@ void ObjectSetup(void)
sp8.x = sp8.z = 0.0f; sp8.x = sp8.z = 0.0f;
sp8.y = lbl_1_data_18.z; sp8.y = lbl_1_data_18.z;
mtxRot(sp20, lbl_1_data_18.x, lbl_1_data_18.y, 0.0f); mtxRot(sp20, lbl_1_data_18.x, lbl_1_data_18.y, 0.0f);
PSMTXMultVec(sp20, &sp8, &sp8); MTXMultVec(sp20, &sp8, &sp8);
Hu3DGLightPosAimSetV(lbl_1_bss_26, &sp8, &sp14); Hu3DGLightPosAimSetV(lbl_1_bss_26, &sp8, &sp14);
Hu3DShadowPosSet(&sp8, &lbl_1_data_34, &sp14); Hu3DShadowPosSet(&sp8, &lbl_1_data_34, &sp14);
lbl_1_bss_24 = lbl_1_bss_22 = lbl_1_bss_20 = -1; lbl_1_bss_24 = lbl_1_bss_22 = lbl_1_bss_20 = -1;

View file

@ -278,8 +278,8 @@ void fn_1_BBC4(Process *process)
sp14.x = CenterM[0].x + (CZoomM[0] * (sind(CRotM[0].y) * cosd(CRotM[0].x))); sp14.x = CenterM[0].x + (CZoomM[0] * (sind(CRotM[0].y) * cosd(CRotM[0].x)));
sp14.y = CenterM[0].y + (CZoomM[0] * -sind(CRotM[0].x)); sp14.y = CenterM[0].y + (CZoomM[0] * -sind(CRotM[0].x));
sp14.z = CenterM[0].z + (CZoomM[0] * (cosd(CRotM[0].y) * cosd(CRotM[0].x))); sp14.z = CenterM[0].z + (CZoomM[0] * (cosd(CRotM[0].y) * cosd(CRotM[0].x)));
PSVECSubtract(CenterM, &sp14, &sp8); VECSubtract(CenterM, &sp14, &sp8);
PSVECNormalize(&sp8, &sp8); VECNormalize(&sp8, &sp8);
HuAudFXListnerSetEX(&sp14, &sp8, 100000.0f, 566.6667f, 0.0f, 300.0f, 300.0f); HuAudFXListnerSetEX(&sp14, &sp8, 100000.0f, 566.6667f, 0.0f, 300.0f, 300.0f);
} }
@ -296,8 +296,8 @@ void fn_1_BE24(omObjData *object)
sp14.x = CenterM[0].x + (CZoomM[0] * (sind(CRotM[0].y) * cosd(CRotM[0].x))); sp14.x = CenterM[0].x + (CZoomM[0] * (sind(CRotM[0].y) * cosd(CRotM[0].x)));
sp14.y = CenterM[0].y + (CZoomM[0] * -sind(CRotM[0].x)); sp14.y = CenterM[0].y + (CZoomM[0] * -sind(CRotM[0].x));
sp14.z = CenterM[0].z + (CZoomM[0] * (cosd(CRotM[0].y) * cosd(CRotM[0].x))); sp14.z = CenterM[0].z + (CZoomM[0] * (cosd(CRotM[0].y) * cosd(CRotM[0].x)));
PSVECSubtract(CenterM, &sp14, &sp8); VECSubtract(CenterM, &sp14, &sp8);
PSVECNormalize(&sp8, &sp8); VECNormalize(&sp8, &sp8);
HuAudFXListnerUpdate(&sp14, &sp8); HuAudFXListnerUpdate(&sp14, &sp8);
} }
@ -1619,7 +1619,7 @@ void fn_1_10948(ModelData *var_r29, Mtx var_r30)
Mtx sp8; Mtx sp8;
M430PlayerBss170Struct *var_r31 = var_r29->unk_120; M430PlayerBss170Struct *var_r31 = var_r29->unk_120;
GXLoadPosMtxImm(var_r30, 0); GXLoadPosMtxImm(var_r30, 0);
PSMTXInvXpose(var_r30, sp8); MTXInvXpose(var_r30, sp8);
GXLoadNrmMtxImm(sp8, 0); GXLoadNrmMtxImm(sp8, 0);
GXSetNumTevStages(1); GXSetNumTevStages(1);
GXSetNumTexGens(1); GXSetNumTexGens(1);

View file

@ -202,10 +202,13 @@ void fn_1_4CB4(omObjData *object)
u32 spC[1] = { DATA_MAKE_NUM(DATADIR_M430, 0x01) }; u32 spC[1] = { DATA_MAKE_NUM(DATADIR_M430, 0x01) };
s32 sp8[1]; s32 sp8[1];
u32 sp90[4] = { DATA_MAKE_NUM(DATADIR_M430, 0x0B), DATA_MAKE_NUM(DATADIR_M430, 0x0C), DATA_MAKE_NUM(DATADIR_M430, 0x0D), DATA_MAKE_NUM(DATADIR_M430, 0x0E) }; u32 sp90[4] = { DATA_MAKE_NUM(DATADIR_M430, 0x0B), DATA_MAKE_NUM(DATADIR_M430, 0x0C), DATA_MAKE_NUM(DATADIR_M430, 0x0D),
u32 sp80[4] = { DATA_MAKE_NUM(DATADIR_M430, 0x02), DATA_MAKE_NUM(DATADIR_M430, 0x02), DATA_MAKE_NUM(DATADIR_M430, 0x03), DATA_MAKE_NUM(DATADIR_M430, 0x03) }; DATA_MAKE_NUM(DATADIR_M430, 0x0E) };
u32 sp80[4] = { DATA_MAKE_NUM(DATADIR_M430, 0x02), DATA_MAKE_NUM(DATADIR_M430, 0x02), DATA_MAKE_NUM(DATADIR_M430, 0x03),
DATA_MAKE_NUM(DATADIR_M430, 0x03) };
u32 sp70[4] = { DATA_MAKE_NUM(DATADIR_M430, 0x04), DATA_MAKE_NUM(DATADIR_M430, 0x04), 0, 0 }; u32 sp70[4] = { DATA_MAKE_NUM(DATADIR_M430, 0x04), DATA_MAKE_NUM(DATADIR_M430, 0x04), 0, 0 };
u32 sp60[4] = { DATA_MAKE_NUM(DATADIR_M430, 0x06), DATA_MAKE_NUM(DATADIR_M430, 0x07), DATA_MAKE_NUM(DATADIR_M430, 0x08), DATA_MAKE_NUM(DATADIR_M430, 0x09) }; u32 sp60[4] = { DATA_MAKE_NUM(DATADIR_M430, 0x06), DATA_MAKE_NUM(DATADIR_M430, 0x07), DATA_MAKE_NUM(DATADIR_M430, 0x08),
DATA_MAKE_NUM(DATADIR_M430, 0x09) };
s32 sp50[4]; s32 sp50[4];
s32 sp40[4]; s32 sp40[4];
s32 sp30[4]; s32 sp30[4];
@ -481,10 +484,10 @@ void fn_1_6180(M430DllWork *work)
sp28.x = sp1C.x; sp28.x = sp1C.x;
sp28.y = 0.0f; sp28.y = 0.0f;
sp28.z = sp1C.z - 450000.0f; sp28.z = sp1C.z - 450000.0f;
PSVECSubtract(&sp28, &sp1C, &sp10); VECSubtract(&sp28, &sp1C, &sp10);
PSVECNormalize(&sp10, &sp10); VECNormalize(&sp10, &sp10);
PSVECScale(&sp10, &sp10, 6000.0f); VECScale(&sp10, &sp10, 6000.0f);
PSVECAdd(&sp1C, &sp10, &sp28); VECAdd(&sp1C, &sp10, &sp28);
Hu3DModelPosSetV(work->unk_18, &sp28); Hu3DModelPosSetV(work->unk_18, &sp28);
if ((fn_1_4070() >= 2) && (fn_1_4030() != 0)) { if ((fn_1_4070() >= 2) && (fn_1_4030() != 0)) {
if ((lbl_1_bss_40 != 0) && (lbl_1_bss_48 >= work->unk_04.x)) { if ((lbl_1_bss_40 != 0) && (lbl_1_bss_48 >= work->unk_04.x)) {
@ -494,10 +497,10 @@ void fn_1_6180(M430DllWork *work)
sp28.x = 0.0f; sp28.x = 0.0f;
sp28.y = 0.0f; sp28.y = 0.0f;
sp28.z = work->unk_20 - fn_1_7FBC(work->unk_00); sp28.z = work->unk_20 - fn_1_7FBC(work->unk_00);
PSVECSubtract(&sp28, &sp1C, &sp10); VECSubtract(&sp28, &sp1C, &sp10);
PSVECNormalize(&sp10, &sp10); VECNormalize(&sp10, &sp10);
PSVECScale(&sp10, &sp10, 5000.0f); VECScale(&sp10, &sp10, 5000.0f);
PSVECAdd(&sp1C, &sp10, &sp28); VECAdd(&sp1C, &sp10, &sp28);
sp28.y += 237.5f; sp28.y += 237.5f;
Hu3DModelPosSet(work->unk_1A, 0.0f, 593.75f, work->unk_20); Hu3DModelPosSet(work->unk_1A, 0.0f, 593.75f, work->unk_20);
var_r30 = ((ParticleData *)Hu3DData[work->unk_1A].unk_120)->unk_48; var_r30 = ((ParticleData *)Hu3DData[work->unk_1A].unk_120)->unk_48;
@ -742,8 +745,8 @@ void fn_1_732C(omObjData *object, M430DllUnkStruct2 *arg1)
var_r29 = 1; var_r29 = 1;
} }
else { else {
PSVECSubtract(&arg1->unk_18, &arg1->unk_0C, &sp8); VECSubtract(&arg1->unk_18, &arg1->unk_0C, &sp8);
var_f31 = PSVECMag(&sp8); var_f31 = VECMag(&sp8);
if (var_f31 < 50.0f) { if (var_f31 < 50.0f) {
var_r29 = 1; var_r29 = 1;
} }
@ -758,7 +761,7 @@ void fn_1_732C(omObjData *object, M430DllUnkStruct2 *arg1)
arg1->unk_38 = 200.0f + frandmod(0x258); arg1->unk_38 = 200.0f + frandmod(0x258);
arg1->unk_28 = 400.0f; arg1->unk_28 = 400.0f;
} }
PSVECSubtract(&arg1->unk_18, &arg1->unk_0C, &sp8); VECSubtract(&arg1->unk_18, &arg1->unk_0C, &sp8);
arg1->unk_30 = atan2d(sp8.x, sp8.z); arg1->unk_30 = atan2d(sp8.x, sp8.z);
arg1->unk_2C = fn_1_48B0(arg1->unk_2C, arg1->unk_30, 0.08f); arg1->unk_2C = fn_1_48B0(arg1->unk_2C, arg1->unk_30, 0.08f);
arg1->unk_28 += 0.05f * (300.0f - arg1->unk_28); arg1->unk_28 += 0.05f * (300.0f - arg1->unk_28);
@ -822,7 +825,7 @@ void fn_1_7848(omObjData *object)
var_r31->unk_08.x = var_f31 * sind(var_f30); var_r31->unk_08.x = var_f31 * sind(var_f30);
var_r31->unk_08.y = 0.0f; var_r31->unk_08.y = 0.0f;
var_r31->unk_08.z = var_f31 * cosd(var_f30); var_r31->unk_08.z = var_f31 * cosd(var_f30);
PSVECAdd(&var_r31->unk_14, &var_r31->unk_08, &var_r31->unk_08); VECAdd(&var_r31->unk_14, &var_r31->unk_08, &var_r31->unk_08);
var_r31->unk_38 = 60.0f - (0.13483146f * var_f31); var_r31->unk_38 = 60.0f - (0.13483146f * var_f31);
var_r31->unk_28 = frandmod(0x168); var_r31->unk_28 = frandmod(0x168);
if (frandmod(0x3E8) < 0x1F4) { if (frandmod(0x3E8) < 0x1F4) {
@ -857,7 +860,7 @@ void fn_1_7CAC(omObjData *object)
if (fn_1_4070() >= 4) { if (fn_1_4070() >= 4) {
for (var_r29 = 0; var_r29 < var_r28; var_r29++, work++) { for (var_r29 = 0; var_r29 < var_r28; var_r29++, work++) {
sp8 = 0; sp8 = 0;
PSVECSubtract(&work->unk_14, &work->unk_08, &spC); VECSubtract(&work->unk_14, &work->unk_08, &spC);
work->unk_2C = atan2d(spC.x, spC.z); work->unk_2C = atan2d(spC.x, spC.z);
work->unk_28 = fn_1_48B0(work->unk_28, work->unk_2C + work->unk_3C, 0.08f); work->unk_28 = fn_1_48B0(work->unk_28, work->unk_2C + work->unk_3C, 0.08f);
work->unk_24 += (0.05f * (600.0f - work->unk_24)); work->unk_24 += (0.05f * (600.0f - work->unk_24));
@ -883,9 +886,9 @@ void fn_1_7EAC(omObjData *object, M430DllWork2 *var_r31)
for (var_r30 = 0; var_r30 < var_r28; var_r30++, var_r31++) { for (var_r30 = 0; var_r30 < var_r28; var_r30++, var_r31++) {
Hu3DModelPosSet(var_r31->unk_00, var_r31->unk_08.x, var_r31->unk_08.y, var_r31->unk_08.z + var_f31); Hu3DModelPosSet(var_r31->unk_00, var_r31->unk_08.x, var_r31->unk_08.y, var_r31->unk_08.z + var_f31);
var_r29 = &Hu3DData[var_r31->unk_00].unk_F0; var_r29 = &Hu3DData[var_r31->unk_00].unk_F0;
PSMTXRotRad(*var_r29, 0x59, 0.017453292f * var_r31->unk_28); MTXRotRad(*var_r29, 0x59, 0.017453292f * var_r31->unk_28);
PSMTXRotRad(sp8, 0x5A, 0.017453292f * var_r31->unk_38); MTXRotRad(sp8, 0x5A, 0.017453292f * var_r31->unk_38);
PSMTXConcat(*var_r29, sp8, *var_r29); MTXConcat(*var_r29, sp8, *var_r29);
Hu3DModelAttrReset(var_r31->unk_00, HU3D_ATTR_DISPOFF); Hu3DModelAttrReset(var_r31->unk_00, HU3D_ATTR_DISPOFF);
} }
} }
@ -1062,8 +1065,8 @@ void fn_1_86B4(omObjData *object, M430DllBss60Struct *arg1)
sp14.z = 2000.0f + arg1->unk_24; sp14.z = 2000.0f + arg1->unk_24;
if (lbl_1_bss_5C != 0) { if (lbl_1_bss_5C != 0) {
for (var_r29 = 0; var_r29 < 0x1B8; var_r29++) { for (var_r29 = 0; var_r29 < 0x1B8; var_r29++) {
PSVECSubtract(var_r28, &sp14, &sp8); VECSubtract(var_r28, &sp14, &sp8);
var_f31 = 0.00025f * PSVECMag(&sp8); var_f31 = 0.00025f * VECMag(&sp8);
if (var_f31 < 0.3f) { if (var_f31 < 0.3f) {
var_r30->a = -1; var_r30->a = -1;
} }
@ -1080,8 +1083,8 @@ void fn_1_86B4(omObjData *object, M430DllBss60Struct *arg1)
} }
else { else {
for (var_r29 = 0; var_r29 < 0x1B8; var_r29++) { for (var_r29 = 0; var_r29 < 0x1B8; var_r29++) {
PSVECSubtract(var_r28, &sp14, &sp8); VECSubtract(var_r28, &sp14, &sp8);
var_f31 = 0.00025f * PSVECMag(&sp8); var_f31 = 0.00025f * VECMag(&sp8);
if (var_f31 < 0.25f) { if (var_f31 < 0.25f) {
var_r30->a = -0x1A; var_r30->a = -0x1A;
} }
@ -1105,7 +1108,7 @@ void fn_1_86B4(omObjData *object, M430DllBss60Struct *arg1)
var_r29 = (0x14 - var_r23) * 0x16; var_r29 = (0x14 - var_r23) * 0x16;
var_r27 = &arg1->unk_30[0x1B8 - var_r29]; var_r27 = &arg1->unk_30[0x1B8 - var_r29];
while (var_r29-- != 0) { while (var_r29-- != 0) {
PSVECAdd(var_r28, var_r27, var_r26); VECAdd(var_r28, var_r27, var_r26);
var_r28++; var_r28++;
var_r27++; var_r27++;
var_r26++; var_r26++;
@ -1113,7 +1116,7 @@ void fn_1_86B4(omObjData *object, M430DllBss60Struct *arg1)
var_r29 = var_r23 * 0x16; var_r29 = var_r23 * 0x16;
var_r27 = arg1->unk_30; var_r27 = arg1->unk_30;
while (var_r29-- != 0) { while (var_r29-- != 0) {
PSVECAdd(var_r28, var_r27, var_r26); VECAdd(var_r28, var_r27, var_r26);
var_r28++; var_r28++;
var_r27++; var_r27++;
var_r26++; var_r26++;
@ -1186,7 +1189,7 @@ void fn_1_8CE0(ModelData *model, Mtx matrix)
} }
var_r31->unk_10 = 1; var_r31->unk_10 = 1;
fn_1_963C(model, matrix, var_r31->unk_00); fn_1_963C(model, matrix, var_r31->unk_00);
PSMTXCopy(matrix, sp134); MTXCopy(matrix, sp134);
if (fn_1_4030() != 0) { if (fn_1_4030() != 0) {
var_f30 = 1.0f; var_f30 = 1.0f;
var_f31 = fn_1_BB54(var_r31->unk_00); var_f31 = fn_1_BB54(var_r31->unk_00);
@ -1195,12 +1198,12 @@ void fn_1_8CE0(ModelData *model, Mtx matrix)
var_f30 = 1.5f; var_f30 = 1.5f;
var_f31 = 0.0f; var_f31 = 0.0f;
} }
PSMTXTrans(sp164, var_f31 - fn_1_BB54(var_r31->unk_00), 0.0f, 0.0f); MTXTrans(sp164, var_f31 - fn_1_BB54(var_r31->unk_00), 0.0f, 0.0f);
PSMTXConcat(sp134, sp164, sp134); MTXConcat(sp134, sp164, sp134);
PSMTXScale(sp194, var_f30, 1.0f, 1.0f); MTXScale(sp194, var_f30, 1.0f, 1.0f);
PSMTXConcat(sp134, sp194, sp134); MTXConcat(sp134, sp194, sp134);
GXLoadPosMtxImm(sp134, 0); GXLoadPosMtxImm(sp134, 0);
PSMTXInvXpose(sp134, sp194); MTXInvXpose(sp134, sp194);
GXLoadNrmMtxImm(sp194, 0); GXLoadNrmMtxImm(sp194, 0);
GXSetNumChans(1); GXSetNumChans(1);
GXSetChanCtrl(GX_COLOR0A0, 0, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); GXSetChanCtrl(GX_COLOR0A0, 0, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE);
@ -1221,25 +1224,25 @@ void fn_1_8CE0(ModelData *model, Mtx matrix)
else { else {
C_MTXLightPerspective(sp104, 41.5f, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f); C_MTXLightPerspective(sp104, 41.5f, 1.2f, 0.5f, -0.5f, 0.5f, 0.5f);
} }
PSMTXInverse(Hu3DCameraMtx, spD4); MTXInverse(Hu3DCameraMtx, spD4);
PSMTXConcat(spD4, sp134, spD4); MTXConcat(spD4, sp134, spD4);
PSMTXConcat(sp104, Hu3DCameraMtx, spA4); MTXConcat(sp104, Hu3DCameraMtx, spA4);
PSMTXConcat(spA4, spD4, spD4); MTXConcat(spA4, spD4, spD4);
GXLoadTexMtxImm(spD4, 0x1E, GX_MTX3x4); GXLoadTexMtxImm(spD4, 0x1E, GX_MTX3x4);
GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, 0x1E, GX_FALSE, 0x7D); GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, 0x1E, GX_FALSE, 0x7D);
C_MTXLightPerspective(sp104, 70.0f, 0.5f, 0.5f, -0.5f, 0.5f, 0.5f); C_MTXLightPerspective(sp104, 70.0f, 0.5f, 0.5f, -0.5f, 0.5f, 0.5f);
PSMTXInverse(Hu3DCameraMtx, sp74); MTXInverse(Hu3DCameraMtx, sp74);
PSMTXConcat(sp74, sp134, sp74); MTXConcat(sp74, sp134, sp74);
PSMTXConcat(sp104, Hu3DCameraMtx, sp44); MTXConcat(sp104, Hu3DCameraMtx, sp44);
PSMTXConcat(sp44, sp74, sp74); MTXConcat(sp44, sp74, sp74);
GXLoadTexMtxImm(sp74, 0x24, GX_MTX3x4); GXLoadTexMtxImm(sp74, 0x24, GX_MTX3x4);
GXSetTexCoordGen2(GX_TEXCOORD2, GX_TG_MTX3x4, GX_TG_POS, 0x24, GX_FALSE, 0x7D); GXSetTexCoordGen2(GX_TEXCOORD2, GX_TG_MTX3x4, GX_TG_POS, 0x24, GX_FALSE, 0x7D);
PSMTXRotRad(sp164, 0x58, 1.5707964f); MTXRotRad(sp164, 0x58, 1.5707964f);
var_f31 = 0.00075f * var_f30; var_f31 = 0.00075f * var_f30;
PSMTXScale(sp194, var_f31, -0.003f, 0.00075f); MTXScale(sp194, var_f31, -0.003f, 0.00075f);
PSMTXConcat(sp164, sp194, sp164); MTXConcat(sp164, sp194, sp164);
PSMTXTrans(sp194, (var_r31->unk_1C & 0x3FF) / (1024.0f * var_f31), 0.0f, (0.7f * var_r31->unk_28) - (0.3f * var_r31->unk_24)); MTXTrans(sp194, (var_r31->unk_1C & 0x3FF) / (1024.0f * var_f31), 0.0f, (0.7f * var_r31->unk_28) - (0.3f * var_r31->unk_24));
PSMTXConcat(sp164, sp194, sp164); MTXConcat(sp164, sp194, sp164);
sp164[0][1] = -0.001f; sp164[0][1] = -0.001f;
GXLoadTexMtxImm(sp164, 0x21, GX_MTX2x4); GXLoadTexMtxImm(sp164, 0x21, GX_MTX2x4);
GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX2x4, GX_TG_POS, 0x21, GX_FALSE, 0x7D); GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX2x4, GX_TG_POS, 0x21, GX_FALSE, 0x7D);
@ -1247,12 +1250,12 @@ void fn_1_8CE0(ModelData *model, Mtx matrix)
GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD1, GX_TEXMAP1); GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD1, GX_TEXMAP1);
GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1); GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1);
GXSetTevIndWarp(0, 0, GX_TRUE, GX_FALSE, 1); GXSetTevIndWarp(0, 0, GX_TRUE, GX_FALSE, 1);
PSMTXScale(sp164, -0.25f, -0.5f, 0.5f); MTXScale(sp164, -0.25f, -0.5f, 0.5f);
GXSetIndTexMtx(GX_ITM_0, (float(*)[3])sp164, -4); GXSetIndTexMtx(GX_ITM_0, (float(*)[3])sp164, -4);
GXSetIndTexOrder(GX_INDTEXSTAGE1, GX_TEXCOORD1, GX_TEXMAP1); GXSetIndTexOrder(GX_INDTEXSTAGE1, GX_TEXCOORD1, GX_TEXMAP1);
GXSetIndTexCoordScale(GX_INDTEXSTAGE1, GX_ITS_1, GX_ITS_1); GXSetIndTexCoordScale(GX_INDTEXSTAGE1, GX_ITS_1, GX_ITS_1);
GXSetTevIndWarp(1, 1, GX_TRUE, GX_FALSE, 2); GXSetTevIndWarp(1, 1, GX_TRUE, GX_FALSE, 2);
PSMTXScale(sp164, 0.4f, 0.5f, 0.5f); MTXScale(sp164, 0.4f, 0.5f, 0.5f);
GXSetIndTexMtx(GX_ITM_1, (float(*)[3])sp164, -1); GXSetIndTexMtx(GX_ITM_1, (float(*)[3])sp164, -1);
GXSetNumTevStages(2); GXSetNumTevStages(2);
GXSetTevColor(GX_TEVREG0, sp14); GXSetTevColor(GX_TEVREG0, sp14);
@ -1320,10 +1323,10 @@ void fn_1_963C(ModelData *model, Mtx matrix, u32 var_r31)
var_f30 = 1.5f; var_f30 = 1.5f;
var_f31 = 0.0f; var_f31 = 0.0f;
} }
PSMTXTrans(spD0, var_f31, 0.0f, ((lbl_1_bss_60[var_r31].unk_28 + lbl_1_bss_60[var_r31].unk_24) - 2500.0f) - 2000.0f); MTXTrans(spD0, var_f31, 0.0f, ((lbl_1_bss_60[var_r31].unk_28 + lbl_1_bss_60[var_r31].unk_24) - 2500.0f) - 2000.0f);
PSMTXScale(sp100, var_f30, 1.0f, 1.0f); MTXScale(sp100, var_f30, 1.0f, 1.0f);
PSMTXConcat(spD0, sp100, spD0); MTXConcat(spD0, sp100, spD0);
PSMTXConcat(Hu3DCameraMtx, spD0, spA0); MTXConcat(Hu3DCameraMtx, spD0, spA0);
GXLoadPosMtxImm(spA0, 0); GXLoadPosMtxImm(spA0, 0);
GXSetNumChans(1); GXSetNumChans(1);
GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE);
@ -1331,26 +1334,26 @@ void fn_1_963C(ModelData *model, Mtx matrix, u32 var_r31)
HuSprTexLoad(lbl_1_bss_148, 0, 1, GX_CLAMP, GX_CLAMP, GX_LINEAR); HuSprTexLoad(lbl_1_bss_148, 0, 1, GX_CLAMP, GX_CLAMP, GX_LINEAR);
GXSetNumTexGens(2); GXSetNumTexGens(2);
C_MTXLightPerspective(sp70, 70.0f, 0.5f, 0.5f, -0.5f, 0.5f, 0.5f); C_MTXLightPerspective(sp70, 70.0f, 0.5f, 0.5f, -0.5f, 0.5f, 0.5f);
PSMTXInverse(Hu3DCameraMtx, sp40); MTXInverse(Hu3DCameraMtx, sp40);
PSMTXConcat(sp40, spA0, sp40); MTXConcat(sp40, spA0, sp40);
PSMTXConcat(sp70, Hu3DCameraMtx, sp10); MTXConcat(sp70, Hu3DCameraMtx, sp10);
PSMTXConcat(sp10, sp40, sp40); MTXConcat(sp10, sp40, sp40);
GXLoadTexMtxImm(sp40, 0x21, GX_MTX3x4); GXLoadTexMtxImm(sp40, 0x21, GX_MTX3x4);
GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX3x4, GX_TG_POS, 0x21, GX_FALSE, 0x7D); GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX3x4, GX_TG_POS, 0x21, GX_FALSE, 0x7D);
PSMTXRotRad(spD0, 0x58, 1.5707964f); MTXRotRad(spD0, 0x58, 1.5707964f);
var_f31 = 0.00075f * var_f30; var_f31 = 0.00075f * var_f30;
PSMTXScale(sp100, var_f31, -0.003f, 0.00075f); MTXScale(sp100, var_f31, -0.003f, 0.00075f);
PSMTXConcat(spD0, sp100, spD0); MTXConcat(spD0, sp100, spD0);
PSMTXTrans(sp100, (lbl_1_bss_60[var_r31].unk_1C & 0x3FF) / (1024.0f * var_f31), 0.0f, MTXTrans(sp100, (lbl_1_bss_60[var_r31].unk_1C & 0x3FF) / (1024.0f * var_f31), 0.0f,
0.3f * (lbl_1_bss_60[var_r31].unk_28 + lbl_1_bss_60[var_r31].unk_24)); 0.3f * (lbl_1_bss_60[var_r31].unk_28 + lbl_1_bss_60[var_r31].unk_24));
PSMTXConcat(spD0, sp100, spD0); MTXConcat(spD0, sp100, spD0);
GXLoadTexMtxImm(spD0, 0x1E, GX_MTX2x4); GXLoadTexMtxImm(spD0, 0x1E, GX_MTX2x4);
GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_POS, 0x1E, GX_FALSE, 0x7D); GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_POS, 0x1E, GX_FALSE, 0x7D);
GXSetNumIndStages(1); GXSetNumIndStages(1);
GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD0, GX_TEXMAP0); GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD0, GX_TEXMAP0);
GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1); GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1);
GXSetTevIndWarp(0, 0, GX_TRUE, GX_FALSE, 1); GXSetTevIndWarp(0, 0, GX_TRUE, GX_FALSE, 1);
PSMTXScale(spD0, 0.5f, 0.6f, 0.6f); MTXScale(spD0, 0.5f, 0.6f, 0.6f);
GXSetIndTexMtx(GX_ITM_0, (float(*)[3])spD0, -1); GXSetIndTexMtx(GX_ITM_0, (float(*)[3])spD0, -1);
GXSetNumTevStages(1); GXSetNumTevStages(1);
GXSetTevColor(GX_TEVREG0, spC); GXSetTevColor(GX_TEVREG0, spC);
@ -1432,18 +1435,18 @@ void fn_1_9C90(ModelData *model, Mtx matrix)
sp28.x = sp1C.x; sp28.x = sp1C.x;
sp28.y = 0.0f; sp28.y = 0.0f;
sp28.z = sp1C.z - 450000.0f; sp28.z = sp1C.z - 450000.0f;
PSVECSubtract(&sp28, &sp1C, &sp10); VECSubtract(&sp28, &sp1C, &sp10);
PSVECNormalize(&sp10, &sp10); VECNormalize(&sp10, &sp10);
PSVECScale(&sp10, &sp10, 8000.0f); VECScale(&sp10, &sp10, 8000.0f);
PSVECAdd(&sp1C, &sp10, &sp28); VECAdd(&sp1C, &sp10, &sp28);
PSMTXTrans(spF4, sp28.x, sp28.y, sp28.z); MTXTrans(spF4, sp28.x, sp28.y, sp28.z);
var_f31 = 1.0f; var_f31 = 1.0f;
if (fn_1_4030() == 0) { if (fn_1_4030() == 0) {
var_f31 = 1.5f; var_f31 = 1.5f;
PSMTXScale(sp124, var_f31, 1.0f, 1.0f); MTXScale(sp124, var_f31, 1.0f, 1.0f);
PSMTXConcat(spF4, sp124, spF4); MTXConcat(spF4, sp124, spF4);
} }
PSMTXConcat(Hu3DCameraMtx, spF4, spC4); MTXConcat(Hu3DCameraMtx, spF4, spC4);
GXLoadPosMtxImm(spC4, 0); GXLoadPosMtxImm(spC4, 0);
GXSetNumChans(1); GXSetNumChans(1);
GXSetChanCtrl(GX_COLOR0A0, 0, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); GXSetChanCtrl(GX_COLOR0A0, 0, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE);
@ -1451,24 +1454,24 @@ void fn_1_9C90(ModelData *model, Mtx matrix)
HuSprTexLoad(lbl_1_bss_148, 0, 1, GX_CLAMP, GX_CLAMP, GX_LINEAR); HuSprTexLoad(lbl_1_bss_148, 0, 1, GX_CLAMP, GX_CLAMP, GX_LINEAR);
GXSetNumTexGens(2); GXSetNumTexGens(2);
C_MTXLightPerspective(sp94, 70.0f, 0.5f, 0.5f, -0.5f, 0.5f, 0.5f); C_MTXLightPerspective(sp94, 70.0f, 0.5f, 0.5f, -0.5f, 0.5f, 0.5f);
PSMTXInverse(Hu3DCameraMtx, sp64); MTXInverse(Hu3DCameraMtx, sp64);
PSMTXConcat(sp64, spC4, sp64); MTXConcat(sp64, spC4, sp64);
PSMTXConcat(sp94, Hu3DCameraMtx, sp34); MTXConcat(sp94, Hu3DCameraMtx, sp34);
PSMTXConcat(sp34, sp64, sp64); MTXConcat(sp34, sp64, sp64);
GXLoadTexMtxImm(sp64, 0x21, GX_MTX3x4); GXLoadTexMtxImm(sp64, 0x21, GX_MTX3x4);
GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX3x4, GX_TG_POS, 0x21, GX_FALSE, 0x7D); GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX3x4, GX_TG_POS, 0x21, GX_FALSE, 0x7D);
var_f30 = 0.00075f * var_f31; var_f30 = 0.00075f * var_f31;
PSMTXScale(spF4, var_f30, -0.005f, 0.00075f); MTXScale(spF4, var_f30, -0.005f, 0.00075f);
PSMTXTrans(sp124, (lbl_1_bss_60[var_r31].unk_1C & 0x3FF) / (1024.0f * var_f30), MTXTrans(sp124, (lbl_1_bss_60[var_r31].unk_1C & 0x3FF) / (1024.0f * var_f30),
0.03f * -(lbl_1_bss_60[var_r31].unk_28 + lbl_1_bss_60[var_r31].unk_24), 0.0f); 0.03f * -(lbl_1_bss_60[var_r31].unk_28 + lbl_1_bss_60[var_r31].unk_24), 0.0f);
PSMTXConcat(spF4, sp124, spF4); MTXConcat(spF4, sp124, spF4);
GXLoadTexMtxImm(spF4, 0x1E, GX_MTX2x4); GXLoadTexMtxImm(spF4, 0x1E, GX_MTX2x4);
GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_POS, 0x1E, GX_FALSE, 0x7D); GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_POS, 0x1E, GX_FALSE, 0x7D);
GXSetNumIndStages(1); GXSetNumIndStages(1);
GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD0, GX_TEXMAP0); GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD0, GX_TEXMAP0);
GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1); GXSetIndTexCoordScale(GX_INDTEXSTAGE0, GX_ITS_1, GX_ITS_1);
GXSetTevIndWarp(0, 0, GX_TRUE, GX_FALSE, 1); GXSetTevIndWarp(0, 0, GX_TRUE, GX_FALSE, 1);
PSMTXScale(spF4, 0.5f, 0.6f, 0.6f); MTXScale(spF4, 0.5f, 0.6f, 0.6f);
GXSetIndTexMtx(GX_ITM_0, (float(*)[3])spF4, -1); GXSetIndTexMtx(GX_ITM_0, (float(*)[3])spF4, -1);
GXSetNumTevStages(1); GXSetNumTevStages(1);
GXSetTevColor(GX_TEVREG0, spC); GXSetTevColor(GX_TEVREG0, spC);
@ -1522,37 +1525,37 @@ void fn_1_A3A8(ModelData *model, Mtx matrix)
var_f31 = 0.0f; var_f31 = 0.0f;
} }
if (lbl_1_bss_5C != 0) { if (lbl_1_bss_5C != 0) {
PSMTXTrans(sp18, var_f31, 0.0f, 300.0f + (lbl_1_bss_60[var_r31].unk_28 + lbl_1_bss_60[var_r31].unk_24)); MTXTrans(sp18, var_f31, 0.0f, 300.0f + (lbl_1_bss_60[var_r31].unk_28 + lbl_1_bss_60[var_r31].unk_24));
GXSetTevColor(GX_TEVREG0, sp10); GXSetTevColor(GX_TEVREG0, sp10);
} }
else { else {
PSMTXTrans(sp18, var_f31, -150.0f, lbl_1_bss_60[var_r31].unk_28 + lbl_1_bss_60[var_r31].unk_24); MTXTrans(sp18, var_f31, -150.0f, lbl_1_bss_60[var_r31].unk_28 + lbl_1_bss_60[var_r31].unk_24);
GXSetTevColor(GX_TEVREG0, sp14); GXSetTevColor(GX_TEVREG0, sp14);
} }
PSMTXScale(sp48, var_f30, 1.0f, 1.0f); MTXScale(sp48, var_f30, 1.0f, 1.0f);
PSMTXConcat(sp18, sp48, sp18); MTXConcat(sp18, sp48, sp18);
PSMTXConcat(Hu3DCameraMtx, sp18, sp18); MTXConcat(Hu3DCameraMtx, sp18, sp18);
GXLoadPosMtxImm(sp18, 0); GXLoadPosMtxImm(sp18, 0);
GXSetNumChans(1); GXSetNumChans(1);
GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE);
HuSprTexLoad(lbl_1_bss_144, 0, 0, GX_REPEAT, GX_REPEAT, GX_LINEAR); HuSprTexLoad(lbl_1_bss_144, 0, 0, GX_REPEAT, GX_REPEAT, GX_LINEAR);
HuSprTexLoad(lbl_1_bss_140, 0, 1, GX_REPEAT, GX_REPEAT, GX_LINEAR); HuSprTexLoad(lbl_1_bss_140, 0, 1, GX_REPEAT, GX_REPEAT, GX_LINEAR);
GXSetNumTexGens(2); GXSetNumTexGens(2);
PSMTXRotRad(sp18, 0x58, 1.5707964f); MTXRotRad(sp18, 0x58, 1.5707964f);
var_f31 = 0.004f * var_f30; var_f31 = 0.004f * var_f30;
PSMTXScale(sp48, var_f31, -0.004f, 0.004f); MTXScale(sp48, var_f31, -0.004f, 0.004f);
PSMTXConcat(sp18, sp48, sp18); MTXConcat(sp18, sp48, sp18);
PSMTXTrans(sp48, (lbl_1_bss_60[var_r31].unk_1C & 0x3FF) / (512.0f * var_f31), 0.0f, MTXTrans(sp48, (lbl_1_bss_60[var_r31].unk_1C & 0x3FF) / (512.0f * var_f31), 0.0f,
(1.2499999f * (lbl_1_bss_60[var_r31].unk_1C % 400)) + (lbl_1_bss_60[var_r31].unk_28 + lbl_1_bss_60[var_r31].unk_24)); (1.2499999f * (lbl_1_bss_60[var_r31].unk_1C % 400)) + (lbl_1_bss_60[var_r31].unk_28 + lbl_1_bss_60[var_r31].unk_24));
PSMTXConcat(sp18, sp48, sp18); MTXConcat(sp18, sp48, sp18);
GXLoadTexMtxImm(sp18, 0x1E, GX_MTX2x4); GXLoadTexMtxImm(sp18, 0x1E, GX_MTX2x4);
GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_POS, 0x1E, GX_FALSE, 0x7D); GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_POS, 0x1E, GX_FALSE, 0x7D);
PSMTXRotRad(sp18, 0x58, 1.5707964f); MTXRotRad(sp18, 0x58, 1.5707964f);
var_f31 = 0.004f * var_f30; var_f31 = 0.004f * var_f30;
PSMTXScale(sp48, var_f31, -0.004f, 0.004f); MTXScale(sp48, var_f31, -0.004f, 0.004f);
PSMTXConcat(sp18, sp48, sp18); MTXConcat(sp18, sp48, sp18);
PSMTXTrans(sp48, (lbl_1_bss_60[var_r31].unk_1C % 300) / (150.0f * var_f31), 0.0f, lbl_1_bss_60[var_r31].unk_28 + lbl_1_bss_60[var_r31].unk_24); MTXTrans(sp48, (lbl_1_bss_60[var_r31].unk_1C % 300) / (150.0f * var_f31), 0.0f, lbl_1_bss_60[var_r31].unk_28 + lbl_1_bss_60[var_r31].unk_24);
PSMTXConcat(sp18, sp48, sp18); MTXConcat(sp18, sp48, sp18);
GXLoadTexMtxImm(sp18, 0x21, GX_MTX2x4); GXLoadTexMtxImm(sp18, 0x21, GX_MTX2x4);
GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX2x4, GX_TG_POS, 0x21, GX_FALSE, 0x7D); GXSetTexCoordGen2(GX_TEXCOORD1, GX_TG_MTX2x4, GX_TG_POS, 0x21, GX_FALSE, 0x7D);
GXSetNumTevStages(2); GXSetNumTevStages(2);
@ -1635,8 +1638,8 @@ void fn_1_AD04(ModelData *model, ParticleData *particle, Mtx matrix)
} }
for (var_r31 = particle->unk_48, var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) { for (var_r31 = particle->unk_48, var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) {
if (var_r31->unk00_s16 != 0) { if (var_r31->unk00_s16 != 0) {
PSVECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34); VECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34);
PSVECScale(&var_r31->unk08, &var_r31->unk08, 0.97f); VECScale(&var_r31->unk08, &var_r31->unk08, 0.97f);
if (var_r31->unk00_s16 < 24.0f) { if (var_r31->unk00_s16 < 24.0f) {
var_r31->unk40.a = 0.9f * var_r31->unk40.a; var_r31->unk40.a = 0.9f * var_r31->unk40.a;
} }
@ -1720,7 +1723,7 @@ void fn_1_B394(ModelData *model, ParticleData *var_r30, Mtx matrix)
for (var_r31 = var_r30->unk_48, var_r29 = 0; var_r29 < var_r30->unk_30; var_r29++, var_r31++) { 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) { if (var_r31->unk00_s16 != 0) {
var_r31->unk00_s16--; var_r31->unk00_s16--;
PSVECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34); VECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34);
var_r31->unk2C += 0.5f; var_r31->unk2C += 0.5f;
if (var_r31->unk00_s16 < 30.0) { if (var_r31->unk00_s16 < 30.0) {
var_r31->unk40.a = 0.98f * var_r31->unk40.a; var_r31->unk40.a = 0.98f * var_r31->unk40.a;
@ -1760,7 +1763,7 @@ void fn_1_B570(s32 arg0, Vec *arg1, float arg8, float arg9, Vec *arg2)
if (!(frandmod(0x3E8) > (1000.0f * arg9))) { if (!(frandmod(0x3E8) > (1000.0f * arg9))) {
var_r27 = 2; var_r27 = 2;
var_f28 = 40.0f; var_f28 = 40.0f;
PSVECScale(arg2, &sp1C, 0.2f); VECScale(arg2, &sp1C, 0.2f);
sp1C.x = 0.0f; sp1C.x = 0.0f;
for (var_r29 = 0; var_r29 < var_r30->unk_30; var_r29++, var_r31++) { for (var_r29 = 0; var_r29 < var_r30->unk_30; var_r29++, var_r31++) {
if (var_r31->unk00_s16 == 0) { if (var_r31->unk00_s16 == 0) {
@ -1778,7 +1781,7 @@ void fn_1_B570(s32 arg0, Vec *arg1, float arg8, float arg9, Vec *arg2)
var_r31->unk08.x = sp28.x * var_f31; var_r31->unk08.x = sp28.x * var_f31;
var_r31->unk08.z = sp28.z * var_f31; var_r31->unk08.z = sp28.z * var_f31;
var_r31->unk08.y = 0.0f; var_r31->unk08.y = 0.0f;
PSVECAdd(&var_r31->unk08, &sp1C, &var_r31->unk08); VECAdd(&var_r31->unk08, &sp1C, &var_r31->unk08);
var_f31 = 0.001f * frandmod(0x3E8); var_f31 = 0.001f * frandmod(0x3E8);
var_f31 += (1.0f - var_f31) * (0.3f * arg9); var_f31 += (1.0f - var_f31) * (0.3f * arg9);
var_r31->unk30 = frandmod(0x168); var_r31->unk30 = frandmod(0x168);

View file

@ -1274,7 +1274,7 @@ void fn_1_4028(Work2110 *arg0)
temp_r31->unk18++; temp_r31->unk18++;
temp_f31 = temp_r31->unk18 / (VERSION_NTSC ? 54.0f : 45.0f); temp_f31 = temp_r31->unk18 / (VERSION_NTSC ? 54.0f : 45.0f);
if (temp_f31 >= 1.0f) { if (temp_f31 >= 1.0f) {
temp_r31->unk18 = VERSION_NTSC ? 54 : 45; temp_r31->unk18 = VERSION_NTSC ? 54 : 45;
temp_f31 = 1.0f; temp_f31 = 1.0f;
} }
temp_f31 = cosd(temp_f31 * 90.0f); temp_f31 = cosd(temp_f31 * 90.0f);

View file

@ -395,12 +395,12 @@ void fn_1_227C(Vec *arg0, Vec *arg1)
{ {
Vec sp10; Vec sp10;
PSVECSubtract(arg1, arg0, &sp10); VECSubtract(arg1, arg0, &sp10);
Center = *arg1; Center = *arg1;
CRot.x = atan2d(sp10.y, sqrtf((sp10.x * sp10.x) + (sp10.z * sp10.z))); CRot.x = atan2d(sp10.y, sqrtf((sp10.x * sp10.x) + (sp10.z * sp10.z)));
CRot.y = atan2d(-sp10.x, -sp10.z); CRot.y = atan2d(-sp10.x, -sp10.z);
CRot.z = 0.0f; CRot.z = 0.0f;
CZoom = PSVECMag(&sp10); CZoom = VECMag(&sp10);
} }
void fn_1_2484(float arg8, float arg9, float argA, float argB, float argC, float argD) void fn_1_2484(float arg8, float arg9, float argA, float argB, float argC, float argD)

View file

@ -779,18 +779,18 @@ void fn_1_541C(Mtx arg0, float arg8, float arg9, float argA)
Mtx sp8; Mtx sp8;
if (argA != 0.0f) { if (argA != 0.0f) {
PSMTXRotRad(arg0, 0x5A, MTXDegToRad(argA)); MTXRotRad(arg0, 0x5A, MTXDegToRad(argA));
} }
else { else {
PSMTXIdentity(arg0); MTXIdentity(arg0);
} }
if (arg8 != 0.0f) { if (arg8 != 0.0f) {
PSMTXRotRad(sp38, 0x58, MTXDegToRad(arg8)); MTXRotRad(sp38, 0x58, MTXDegToRad(arg8));
PSMTXConcat(sp38, arg0, arg0); MTXConcat(sp38, arg0, arg0);
} }
if (arg9 != 0.0f) { if (arg9 != 0.0f) {
PSMTXRotRad(sp8, 0x59, MTXDegToRad(arg9)); MTXRotRad(sp8, 0x59, MTXDegToRad(arg9));
PSMTXConcat(sp8, arg0, arg0); MTXConcat(sp8, arg0, arg0);
} }
} }

View file

@ -629,7 +629,7 @@ void fn_1_60C0(omObjData *object)
if (work->unk_04 >= 0) { if (work->unk_04 >= 0) {
HuAudFXPlay(lbl_1_data_150[work->unk_04][0]); HuAudFXPlay(lbl_1_data_150[work->unk_04][0]);
} }
PSVECSubtract(&var_r28->unk_128, &work->unk_128, &spC); VECSubtract(&var_r28->unk_128, &work->unk_128, &spC);
work->unk_A8 = atan2d(spC.x, spC.z); work->unk_A8 = atan2d(spC.x, spC.z);
work->unk_AC = 0.15f; work->unk_AC = 0.15f;
work->unk_B0 = 0.0f; work->unk_B0 = 0.0f;
@ -686,7 +686,7 @@ void fn_1_60C0(omObjData *object)
} }
break; break;
} }
PSVECAdd(&work->unk_128, &work->unk_134, &work->unk_128); VECAdd(&work->unk_128, &work->unk_134, &work->unk_128);
if (fn_1_10ECC(work->unk_14) >= 2) { if (fn_1_10ECC(work->unk_14) >= 2) {
fn_1_B194(object); fn_1_B194(object);
} }
@ -716,7 +716,7 @@ void fn_1_682C(omObjData *object)
Vec sp40[2] = { { 130.0f, 0.0f, -50.0f }, { 250.0f, 0.0f, 50.0f } }; Vec sp40[2] = { { 130.0f, 0.0f, -50.0f }, { 250.0f, 0.0f, 50.0f } };
Vec sp28[2] = { { 150.0f, 0.0f, 100.0f }, { 300.0f, 0.0f, -100.0f } }; Vec sp28[2] = { { 150.0f, 0.0f, 100.0f }, { 300.0f, 0.0f, -100.0f } };
var_r27 = work->unk_14C->data; var_r27 = work->unk_14C->data;
PSVECAdd(&work->unk_128, &work->unk_134, &work->unk_128); VECAdd(&work->unk_128, &work->unk_134, &work->unk_128);
fn_1_B194(object); fn_1_B194(object);
fn_1_722C(object); fn_1_722C(object);
switch (work->unk_74) { switch (work->unk_74) {
@ -782,15 +782,15 @@ void fn_1_682C(omObjData *object)
break; break;
case 1: case 1:
if (work->unk_84 == 1) { if (work->unk_84 == 1) {
PSVECSubtract(&work->unk_140, &work->unk_128, &sp10); VECSubtract(&work->unk_140, &work->unk_128, &sp10);
sp10.y = 0.0f; sp10.y = 0.0f;
var_f31 = PSVECMag(&sp10); var_f31 = VECMag(&sp10);
if (var_f31 < 20.0f) { if (var_f31 < 20.0f) {
var_f31 = 0.01f; var_f31 = 0.01f;
work->unk_84++; work->unk_84++;
} }
else { else {
if (PSVECMag(&sp10) >= 100.0f) { if (VECMag(&sp10) >= 100.0f) {
var_f31 = 100.0f; var_f31 = 100.0f;
} }
var_f31 = 0.2f + (0.008f * var_f31); var_f31 = 0.2f + (0.008f * var_f31);
@ -826,14 +826,14 @@ void fn_1_682C(omObjData *object)
} }
break; break;
case 2: case 2:
PSVECSubtract(&work->unk_140, &work->unk_128, &sp10); VECSubtract(&work->unk_140, &work->unk_128, &sp10);
sp10.y = 0.0f; sp10.y = 0.0f;
var_f31 = PSVECMag(&sp10); var_f31 = VECMag(&sp10);
if (var_f31 < 10.0f) { if (var_f31 < 10.0f) {
var_f31 = 0.01f; var_f31 = 0.01f;
} }
else { else {
if (PSVECMag(&sp10) >= 100.0f) { if (VECMag(&sp10) >= 100.0f) {
var_f31 = 100.0f; var_f31 = 100.0f;
} }
var_f31 = 0.2f + (0.008f * var_f31); var_f31 = 0.2f + (0.008f * var_f31);
@ -875,7 +875,7 @@ void fn_1_682C(omObjData *object)
sp1C.x = Center.x + (CZoom * (sind(CRot.y) * cosd(CRot.x))); sp1C.x = Center.x + (CZoom * (sind(CRot.y) * cosd(CRot.x)));
sp1C.y = Center.y + (CZoom * -sind(CRot.x)); sp1C.y = Center.y + (CZoom * -sind(CRot.x));
sp1C.z = Center.z + (CZoom * (cosd(CRot.y) * cosd(CRot.x))); sp1C.z = Center.z + (CZoom * (cosd(CRot.y) * cosd(CRot.x)));
PSVECSubtract(&sp1C, &work->unk_128, &sp10); VECSubtract(&sp1C, &work->unk_128, &sp10);
work->unk_A8 = atan2d(sp10.x, sp10.z); work->unk_A8 = atan2d(sp10.x, sp10.z);
} }
if (fn_1_B6E0(object) != 0) { if (fn_1_B6E0(object) != 0) {
@ -1060,10 +1060,10 @@ void fn_1_74D4(omObjData *object)
} }
} }
if ((work->unk_14 == fn_1_107B0(&sp1C)) && (fn_1_10900() >= (60.0f * (0.8f - (0.4f * work->unk_C0)))) && (work->unk_6C != 0)) { if ((work->unk_14 == fn_1_107B0(&sp1C)) && (fn_1_10900() >= (60.0f * (0.8f - (0.4f * work->unk_C0)))) && (work->unk_6C != 0)) {
PSVECSubtract(&sp1C, &work->unk_128, &sp10); VECSubtract(&sp1C, &work->unk_128, &sp10);
sp10.y = 0.0f; sp10.y = 0.0f;
var_f31 = PSVECMag(&sp10); var_f31 = VECMag(&sp10);
if (PSVECMag(&sp10) >= 20.0f) { if (VECMag(&sp10) >= 20.0f) {
if (var_f31 >= 50.0f) { if (var_f31 >= 50.0f) {
var_f31 = 50.0f; var_f31 = 50.0f;
} }
@ -1076,9 +1076,9 @@ void fn_1_74D4(omObjData *object)
var_r29 = 0; var_r29 = 0;
} }
if (work->unk_F8 != 0) { if (work->unk_F8 != 0) {
PSVECSubtract(&work->unk_108, &work->unk_128, &sp10); VECSubtract(&work->unk_108, &work->unk_128, &sp10);
sp10.y = 0.0f; sp10.y = 0.0f;
var_f31 = PSVECMag(&sp10); var_f31 = VECMag(&sp10);
if (var_f31 >= 10.0f) { if (var_f31 >= 10.0f) {
if (var_f31 >= 50.0f) { if (var_f31 >= 50.0f) {
var_f31 = 50.0f; var_f31 = 50.0f;
@ -1096,9 +1096,9 @@ void fn_1_74D4(omObjData *object)
var_r29 = 0; var_r29 = 0;
} }
if (var_r29 != 0) { if (var_r29 != 0) {
PSVECSubtract(&work->unk_FC, &work->unk_128, &sp10); VECSubtract(&work->unk_FC, &work->unk_128, &sp10);
sp10.y = 0.0f; sp10.y = 0.0f;
var_f31 = PSVECMag(&sp10); var_f31 = VECMag(&sp10);
var_f31 -= 100.0f * (1.25f * (2.0f - work->unk_C0)); var_f31 -= 100.0f * (1.25f * (2.0f - work->unk_C0));
if (var_f31 >= 10.0f) { if (var_f31 >= 10.0f) {
if (var_f31 >= 70.0f) { if (var_f31 >= 70.0f) {
@ -1121,9 +1121,9 @@ void fn_1_74D4(omObjData *object)
if (work->unk_14 == fn_1_10740(&sp1C)) { if (work->unk_14 == fn_1_10740(&sp1C)) {
if (work->unk_68 == 0) { if (work->unk_68 == 0) {
if (fn_1_11004(work->unk_14, work->unk_18) != 0) { if (fn_1_11004(work->unk_14, work->unk_18) != 0) {
PSVECSubtract(&sp1C, &work->unk_128, &sp10); VECSubtract(&sp1C, &work->unk_128, &sp10);
sp10.y = 0.0f; sp10.y = 0.0f;
var_f31 = PSVECMag(&sp10); var_f31 = VECMag(&sp10);
if (var_f31 >= 30.000002f) { if (var_f31 >= 30.000002f) {
if (var_f31 >= 70.0f) { if (var_f31 >= 70.0f) {
var_f31 = 70.0f; var_f31 = 70.0f;
@ -1159,9 +1159,9 @@ void fn_1_74D4(omObjData *object)
else { else {
if (fn_1_10614(&sp1C) != 0) { if (fn_1_10614(&sp1C) != 0) {
if (work->unk_E8 != 0) { if (work->unk_E8 != 0) {
PSVECSubtract(&work->unk_114, &sp1C, &sp10); VECSubtract(&work->unk_114, &sp1C, &sp10);
sp10.y = 0.0f; sp10.y = 0.0f;
var_f31 = PSVECMag(&sp10); var_f31 = VECMag(&sp10);
if (var_f31 < 0.05f) { if (var_f31 < 0.05f) {
work->unk_DC = 0.0f; work->unk_DC = 0.0f;
work->unk_E0 = 0.0f; work->unk_E0 = 0.0f;
@ -1219,12 +1219,12 @@ void fn_1_8408(omObjData *object)
if ((work->unk_14 == fn_1_107B0(&sp14)) && (fn_1_108C4() >= 12.0f)) { if ((work->unk_14 == fn_1_107B0(&sp14)) && (fn_1_108C4() >= 12.0f)) {
if (((var_r30->unk_6C == 0) && (work->unk_6C == 0)) || (fn_1_108C4() < 0x3E8)) { if (((var_r30->unk_6C == 0) && (work->unk_6C == 0)) || (fn_1_108C4() < 0x3E8)) {
if ((work->unk_30 == 0) || (var_r30->unk_30 == 0)) { if ((work->unk_30 == 0) || (var_r30->unk_30 == 0)) {
PSVECSubtract(&sp14, &work->unk_128, &sp8); VECSubtract(&sp14, &work->unk_128, &sp8);
sp8.y = 0.0f; sp8.y = 0.0f;
var_f31 = PSVECMag(&sp8) - (100.0f * (2.0f * work->unk_C0)); var_f31 = VECMag(&sp8) - (100.0f * (2.0f * work->unk_C0));
PSVECSubtract(&sp14, &var_r30->unk_128, &sp8); VECSubtract(&sp14, &var_r30->unk_128, &sp8);
sp8.y = 0.0f; sp8.y = 0.0f;
var_f30 = PSVECMag(&sp8) - (100.0f * (2.0f * var_r30->unk_C0)); var_f30 = VECMag(&sp8) - (100.0f * (2.0f * var_r30->unk_C0));
if ((work->unk_30 != 0) || (work->unk_60 != 0)) { if ((work->unk_30 != 0) || (work->unk_60 != 0)) {
var_f31 = 2000.0f; var_f31 = 2000.0f;
} }
@ -1333,10 +1333,10 @@ s32 fn_1_8938(u32 var_r27, Vec *var_r29)
for (var_r30 = 0; var_r30 <= 0xA; var_r30++) { for (var_r30 = 0; var_r30 <= 0xA; var_r30++) {
sp14.x = 230.0f; sp14.x = 230.0f;
for (var_r31 = 0; var_r31 <= 0xA; var_r31++) { for (var_r31 = 0; var_r31 <= 0xA; var_r31++) {
PSVECSubtract(&sp14, &sp2C[0], &sp20); VECSubtract(&sp14, &sp2C[0], &sp20);
var_f31 = PSVECMag(&sp20); var_f31 = VECMag(&sp20);
PSVECSubtract(&sp14, &sp2C[1], &sp20); VECSubtract(&sp14, &sp2C[1], &sp20);
var_f31 *= PSVECMag(&sp20); var_f31 *= VECMag(&sp20);
if (var_f31 > var_f30) { if (var_f31 > var_f30) {
var_f30 = var_f31; var_f30 = var_f31;
sp8 = sp14; sp8 = sp14;
@ -1415,7 +1415,7 @@ void fn_1_8BD0(omObjData *object)
} }
if ((var_r29 != 0) && (work->unk_24 == 0.0f)) { if ((var_r29 != 0) && (work->unk_24 == 0.0f)) {
fn_1_10B20(0.0f, &sp14); fn_1_10B20(0.0f, &sp14);
PSVECSubtract(&sp14, &work->unk_128, &sp8); VECSubtract(&sp14, &work->unk_128, &sp8);
work->unk_A8 = atan2d(sp8.x, sp8.z); work->unk_A8 = atan2d(sp8.x, sp8.z);
work->unk_AC = 0.1f; work->unk_AC = 0.1f;
work->unk_B0 = 0.0f; work->unk_B0 = 0.0f;
@ -1569,9 +1569,9 @@ void fn_1_9688(omObjData *object)
work->unk_140 = sp2C; work->unk_140 = sp2C;
var_f31 = fn_1_10848(); var_f31 = fn_1_10848();
if ((var_f31 <= 0.8f) && (var_f31 >= 0.02f) && (var_r29->unk_64 == 0)) { if ((var_f31 <= 0.8f) && (var_f31 >= 0.02f) && (var_r29->unk_64 == 0)) {
PSVECSubtract(&sp2C, &work->unk_128, &sp20); VECSubtract(&sp2C, &work->unk_128, &sp20);
sp20.y = 0.0f; sp20.y = 0.0f;
var_f30 = PSVECMag(&sp20); var_f30 = VECMag(&sp20);
work->unk_98 = var_f30; work->unk_98 = var_f30;
if (var_f30 <= 200.0f) { if (var_f30 <= 200.0f) {
if ((var_f31 >= 0.2f) && (var_f30 <= 70.0f) && (var_f31 >= (0.2f + (0.001f * var_f30))) && (fn_1_10FDC() >= 1)) { if ((var_f31 >= 0.2f) && (var_f30 <= 70.0f) && (var_f31 >= (0.2f + (0.001f * var_f30))) && (fn_1_10FDC() >= 1)) {
@ -1626,7 +1626,7 @@ void fn_1_9688(omObjData *object)
} }
work->unk_90 = 60.0f * var_f31; work->unk_90 = 60.0f * var_f31;
} }
PSVECSubtract(&sp2C, &work->unk_128, &sp20); VECSubtract(&sp2C, &work->unk_128, &sp20);
work->unk_A8 = atan2d(sp20.x, sp20.z); work->unk_A8 = atan2d(sp20.x, sp20.z);
work->unk_AC = 0.2f; work->unk_AC = 0.2f;
work->unk_B0 = 0.0f; work->unk_B0 = 0.0f;
@ -1664,7 +1664,7 @@ void fn_1_9688(omObjData *object)
} }
work->unk_64 = 0; work->unk_64 = 0;
fn_1_B4D4(object, 9); fn_1_B4D4(object, 9);
PSVECSubtract(&sp2C, &work->unk_128, &sp20); VECSubtract(&sp2C, &work->unk_128, &sp20);
work->unk_A8 = atan2d(sp20.x, sp20.z); work->unk_A8 = atan2d(sp20.x, sp20.z);
work->unk_AC = 0.1f; work->unk_AC = 0.1f;
work->unk_90 = 0x186A0; work->unk_90 = 0x186A0;
@ -1727,7 +1727,7 @@ void fn_1_9688(omObjData *object)
} }
work->unk_64 = 0; work->unk_64 = 0;
fn_1_B4D4(object, 6); fn_1_B4D4(object, 6);
PSVECSubtract(&sp2C, &work->unk_128, &sp20); VECSubtract(&sp2C, &work->unk_128, &sp20);
work->unk_A8 = atan2d(sp20.x, sp20.z); work->unk_A8 = atan2d(sp20.x, sp20.z);
work->unk_AC = 0.1f; work->unk_AC = 0.1f;
work->unk_90 = 0x186A0; work->unk_90 = 0x186A0;
@ -1756,7 +1756,7 @@ void fn_1_9688(omObjData *object)
if (work->unk_64 != 0) { if (work->unk_64 != 0) {
sp2C = work->unk_128; sp2C = work->unk_128;
sp2C.y = 11.0f; sp2C.y = 11.0f;
PSVECSubtract(&var_r29->unk_128, &work->unk_128, &sp20); VECSubtract(&var_r29->unk_128, &work->unk_128, &sp20);
var_f29 = 180.0 + (atan2d(sp20.x, sp20.z)); var_f29 = 180.0 + (atan2d(sp20.x, sp20.z));
var_f29 += frandmod(0xB4) - 90.0f; var_f29 += frandmod(0xB4) - 90.0f;
var_f30 = 200.0f * work->unk_98; var_f30 = 200.0f * work->unk_98;
@ -1817,14 +1817,14 @@ void fn_1_A618(omObjData *object)
case 0: case 0:
if ((work->unk_7C == 0) && (work->unk_78 == 0) && (work->unk_80 == 0) && (work->unk_30 = 0, work->unk_68 = 0, ((work->unk_34 == 0) != 0)) if ((work->unk_7C == 0) && (work->unk_78 == 0) && (work->unk_80 == 0) && (work->unk_30 = 0, work->unk_68 = 0, ((work->unk_34 == 0) != 0))
&& (fn_1_11004(work->unk_14, work->unk_18) != 0) && (fn_1_10FDC() < 3) && (work->unk_14 == fn_1_10740(&sp20))) { && (fn_1_11004(work->unk_14, work->unk_18) != 0) && (fn_1_10FDC() < 3) && (work->unk_14 == fn_1_10740(&sp20))) {
PSVECSubtract(&sp20, &work->unk_128, &sp14); VECSubtract(&sp20, &work->unk_128, &sp14);
sp14.y = 0.0f; sp14.y = 0.0f;
if (!(PSVECMag(&sp14) > 500.0f)) { if (!(VECMag(&sp14) > 500.0f)) {
fn_1_10B20(0.5f, &sp20); fn_1_10B20(0.5f, &sp20);
sp20.y -= lbl_1_data_E0[work->unk_00]; sp20.y -= lbl_1_data_E0[work->unk_00];
PSVECSubtract(&sp20, &work->unk_128, &sp14); VECSubtract(&sp20, &work->unk_128, &sp14);
sp14.y = 0.0f; sp14.y = 0.0f;
if ((PSVECMag(&sp14) < 200.0f) && (sp20.y >= 50.0f)) { if ((VECMag(&sp14) < 200.0f) && (sp20.y >= 50.0f)) {
work->unk_5C = 1; work->unk_5C = 1;
} }
if (((work->unk_1C & 0x200) != 0) && (work->unk_5C != 0)) { if (((work->unk_1C & 0x200) != 0) && (work->unk_5C != 0)) {
@ -1837,7 +1837,7 @@ void fn_1_A618(omObjData *object)
var_f30 = 0.5f; var_f30 = 0.5f;
work->unk_124 = (2.0f * -sp20.y) / (var_f30 * var_f30); work->unk_124 = (2.0f * -sp20.y) / (var_f30 * var_f30);
work->unk_134.y = 0.016666668f * (-work->unk_124 * var_f30); work->unk_134.y = 0.016666668f * (-work->unk_124 * var_f30);
PSVECSubtract(&sp20, &work->unk_128, &sp14); VECSubtract(&sp20, &work->unk_128, &sp14);
sp14.y = 0.0f; sp14.y = 0.0f;
work->unk_134.x = 0.016666668f * (sp14.x / 0.5f); work->unk_134.x = 0.016666668f * (sp14.x / 0.5f);
work->unk_134.z = 0.016666668f * (sp14.z / 0.5f); work->unk_134.z = 0.016666668f * (sp14.z / 0.5f);
@ -1967,8 +1967,8 @@ void fn_1_AB88(omObjData *object)
fn_1_10B20(0.0f, &sp1C); fn_1_10B20(0.0f, &sp1C);
if ((sp1C.x * work->unk_128.x) > 0.0f) { if ((sp1C.x * work->unk_128.x) > 0.0f) {
sp1C.y = work->unk_128.y; sp1C.y = work->unk_128.y;
PSVECSubtract(&sp1C, &work->unk_128, &sp10); VECSubtract(&sp1C, &work->unk_128, &sp10);
if (PSVECMag(&sp10) < 60.000004f) { if (VECMag(&sp10) < 60.000004f) {
if (frandmod(0x64) < 0x1E) { if (frandmod(0x64) < 0x1E) {
fn_1_10740(&sp1C); fn_1_10740(&sp1C);
sp1C.x *= -0.5f; sp1C.x *= -0.5f;
@ -2016,9 +2016,9 @@ void fn_1_B194(omObjData *object)
for (var_r28 = 0; var_r28 < 4; var_r28++) { for (var_r28 = 0; var_r28 < 4; var_r28++) {
if (var_r29 != var_r28) { if (var_r29 != var_r28) {
var_r30 = lbl_1_bss_7D0[var_r28]->data; var_r30 = lbl_1_bss_7D0[var_r28]->data;
PSVECSubtract(&var_r31->unk_128, &var_r30->unk_128, &sp8); VECSubtract(&var_r31->unk_128, &var_r30->unk_128, &sp8);
sp8.y = 0.0f; sp8.y = 0.0f;
var_f31 = PSVECMag(&sp8); var_f31 = VECMag(&sp8);
if (var_f31 < (var_r31->unk_120 + var_r30->unk_120)) { if (var_f31 < (var_r31->unk_120 + var_r30->unk_120)) {
if (var_f31 > 0.0f) { if (var_f31 > 0.0f) {
var_f31 = 0.5f * ((var_r31->unk_120 + var_r30->unk_120) - var_f31); var_f31 = 0.5f * ((var_r31->unk_120 + var_r30->unk_120) - var_f31);
@ -2028,10 +2028,10 @@ void fn_1_B194(omObjData *object)
sp8.x = frandmod(0x3E8) - 0x1F4; sp8.x = frandmod(0x3E8) - 0x1F4;
sp8.z = frandmod(0x3E8) - 0x1F4; sp8.z = frandmod(0x3E8) - 0x1F4;
} }
PSVECNormalize(&sp8, &sp8); VECNormalize(&sp8, &sp8);
PSVECScale(&sp8, &sp8, var_f31); VECScale(&sp8, &sp8, var_f31);
PSVECAdd(&var_r31->unk_128, &sp8, &var_r31->unk_128); VECAdd(&var_r31->unk_128, &sp8, &var_r31->unk_128);
PSVECSubtract(&var_r30->unk_128, &sp8, &var_r30->unk_128); VECSubtract(&var_r30->unk_128, &sp8, &var_r30->unk_128);
} }
} }
} }
@ -2199,7 +2199,7 @@ void fn_1_BD48(omObjData *object)
work->unk_B8 = 0.0f; work->unk_B8 = 0.0f;
work->unk_BC.x = work->unk_BC.y = 0.0f; work->unk_BC.x = work->unk_BC.y = 0.0f;
work->unk_BC.z = 1.0f; work->unk_BC.z = 1.0f;
PSMTXIdentity(work->unk_C8); MTXIdentity(work->unk_C8);
work->unk_18 = 0; work->unk_18 = 0;
object->func = fn_1_C240; object->func = fn_1_C240;
} }
@ -2219,7 +2219,7 @@ void fn_1_C240(omObjData *object)
work->unk_B8 = 0.0f; work->unk_B8 = 0.0f;
work->unk_BC.x = work->unk_BC.y = 0.0f; work->unk_BC.x = work->unk_BC.y = 0.0f;
work->unk_BC.z = 1.0f; work->unk_BC.z = 1.0f;
PSMTXIdentity(work->unk_C8); MTXIdentity(work->unk_C8);
work->unk_00 = 1; work->unk_00 = 1;
break; break;
case 10: case 10:
@ -2296,14 +2296,14 @@ s32 fn_1_C6B0(omObjData *object)
fn_1_D338(&work->unk_F8); fn_1_D338(&work->unk_F8);
fn_1_D180(&work->unk_F8); fn_1_D180(&work->unk_F8);
work->unk_B8 = work->unk_A8 * (8.0f * lbl_1_data_48C[work->unk_6C]); work->unk_B8 = work->unk_A8 * (8.0f * lbl_1_data_48C[work->unk_6C]);
PSVECSubtract(&work->unk_3C, &work->unk_30, &sp8); VECSubtract(&work->unk_3C, &work->unk_30, &sp8);
sp8.y = 0.0f; sp8.y = 0.0f;
if (PSVECMag(&sp8) <= 0.0f) { if (VECMag(&sp8) <= 0.0f) {
work->unk_BC.x = work->unk_BC.y = 0.0f; work->unk_BC.x = work->unk_BC.y = 0.0f;
work->unk_BC.z = 1.0f; work->unk_BC.z = 1.0f;
} }
else { else {
PSVECNormalize(&sp8, &sp8); VECNormalize(&sp8, &sp8);
work->unk_BC.x = -sp8.z; work->unk_BC.x = -sp8.z;
work->unk_BC.y = 0.0f; work->unk_BC.y = 0.0f;
work->unk_BC.z = sp8.x; work->unk_BC.z = sp8.x;
@ -2324,9 +2324,9 @@ s32 fn_1_C6B0(omObjData *object)
} }
work->unk_10 = 1; work->unk_10 = 1;
if (work->unk_B8 != 0.0f) { if (work->unk_B8 != 0.0f) {
PSMTXRotAxisRad(sp14, &work->unk_BC, 0.017453292f * work->unk_B8); MTXRotAxisRad(sp14, &work->unk_BC, 0.017453292f * work->unk_B8);
PSMTXConcat(sp14, work->unk_C8, work->unk_C8); MTXConcat(sp14, work->unk_C8, work->unk_C8);
PSMTXCopy(work->unk_C8, Hu3DData[object->model[0]].unk_F0); MTXCopy(work->unk_C8, Hu3DData[object->model[0]].unk_F0);
} }
work->unk_48 += 0.016666668f; work->unk_48 += 0.016666668f;
work->unk_08 = fn_1_D4E0(&work->unk_F8, &work->unk_30, &work->unk_4C, work->unk_48); work->unk_08 = fn_1_D4E0(&work->unk_F8, &work->unk_30, &work->unk_4C, work->unk_48);
@ -2389,15 +2389,15 @@ void fn_1_CB98(omObjData *object)
var_f31 = 0.0f; var_f31 = 0.0f;
} }
var_f31 = (var_f30 - var_f31) / 21.0f; var_f31 = (var_f30 - var_f31) / 21.0f;
PSMTXCopy(work->unk_C8, sp20); MTXCopy(work->unk_C8, sp20);
var_f28 = (work->unk_B8 * (1.2f * work->unk_A8)) / 21.0f; var_f28 = (work->unk_B8 * (1.2f * work->unk_A8)) / 21.0f;
PSMTXRotAxisRad(sp50, &work->unk_BC, MTXDegToRad(-var_f28)); MTXRotAxisRad(sp50, &work->unk_BC, MTXDegToRad(-var_f28));
for (var_r29 = 0; var_r29 < 0x15; var_r29++) { for (var_r29 = 0; var_r29 < 0x15; var_r29++) {
Hu3DModelAttrReset(object->model[var_r29 + 9], HU3D_ATTR_DISPOFF); Hu3DModelAttrReset(object->model[var_r29 + 9], HU3D_ATTR_DISPOFF);
fn_1_D4E0(&work->unk_F8, &sp14, &sp8, var_f30); fn_1_D4E0(&work->unk_F8, &sp14, &sp8, var_f30);
Hu3DModelPosSetV(object->model[var_r29 + 9], &sp14); Hu3DModelPosSetV(object->model[var_r29 + 9], &sp14);
PSMTXCopy(sp20, Hu3DData[object->model[var_r29 + 9]].unk_F0); MTXCopy(sp20, Hu3DData[object->model[var_r29 + 9]].unk_F0);
PSMTXConcat(sp50, sp20, sp20); MTXConcat(sp50, sp20, sp20);
var_f30 -= var_f31; var_f30 -= var_f31;
} }
work->unk_F8.unk_04 = var_f29; work->unk_F8.unk_04 = var_f29;
@ -2430,19 +2430,19 @@ void fn_1_CDB8(M433PlayerWork2Sub *arg0, Vec *arg1, Vec *arg2, u32 arg3, float a
spC.x = arg1->x + (arg0->unk_08 * (arg2->x - arg1->x)); spC.x = arg1->x + (arg0->unk_08 * (arg2->x - arg1->x));
spC.y = arg0->unk_0C; spC.y = arg0->unk_0C;
spC.z = arg1->z + (arg0->unk_08 * (arg2->z - arg1->z)); spC.z = arg1->z + (arg0->unk_08 * (arg2->z - arg1->z));
PSVECSubtract(arg2, &spC, &sp18); VECSubtract(arg2, &spC, &sp18);
var_f30 = PSVECMag(&sp18); var_f30 = VECMag(&sp18);
PSVECSubtract(&spC, arg1, &sp18); VECSubtract(&spC, arg1, &sp18);
var_f30 += PSVECMag(&sp18); var_f30 += VECMag(&sp18);
} }
else { else {
PSVECSubtract(arg2, arg1, &sp18); VECSubtract(arg2, arg1, &sp18);
var_f30 = PSVECMag(&sp18); var_f30 = VECMag(&sp18);
} }
} }
else { else {
PSVECSubtract(arg2, arg1, &sp18); VECSubtract(arg2, arg1, &sp18);
var_f30 = PSVECMag(&sp18); var_f30 = VECMag(&sp18);
} }
var_f31 = var_f30 / (arg8 * lbl_1_data_4D4[arg3].z); var_f31 = var_f30 / (arg8 * lbl_1_data_4D4[arg3].z);
arg0->unk_00 = var_f31; arg0->unk_00 = var_f31;
@ -2452,9 +2452,9 @@ void fn_1_CDB8(M433PlayerWork2Sub *arg0, Vec *arg1, Vec *arg2, u32 arg3, float a
arg0->unk_38 = *arg2; arg0->unk_38 = *arg2;
arg0->unk_1C = arg2->y - arg1->y; arg0->unk_1C = arg2->y - arg1->y;
arg0->unk_24 = -980.0f; arg0->unk_24 = -980.0f;
PSVECSubtract(arg2, arg1, &sp18); VECSubtract(arg2, arg1, &sp18);
sp18.y = 0.0f; sp18.y = 0.0f;
arg0->unk_10 = PSVECMag(&sp18); arg0->unk_10 = VECMag(&sp18);
arg0->unk_18 = 0.0f; arg0->unk_18 = 0.0f;
if (var_f31 > 0.0f) { if (var_f31 > 0.0f) {
arg0->unk_20 = (arg0->unk_1C - (0.5f * (-980.0f * (var_f31 * var_f31)))) / var_f31; arg0->unk_20 = (arg0->unk_1C - (0.5f * (-980.0f * (var_f31 * var_f31)))) / var_f31;
@ -2555,9 +2555,9 @@ s32 fn_1_D4E0(M433PlayerWork2Sub *arg0, Vec *arg1, Vec *arg2, float arg8)
} }
arg0->unk_04 = arg8; arg0->unk_04 = arg8;
if (arg0->unk_10 > 0.0f) { if (arg0->unk_10 > 0.0f) {
PSVECSubtract(&arg0->unk_38, &arg0->unk_2C, &spC); VECSubtract(&arg0->unk_38, &arg0->unk_2C, &spC);
spC.y = 0.0f; spC.y = 0.0f;
PSVECNormalize(&spC, &spC); VECNormalize(&spC, &spC);
} }
else { else {
spC.x = spC.y = spC.z = 0.0f; spC.x = spC.y = spC.z = 0.0f;
@ -2568,7 +2568,7 @@ s32 fn_1_D4E0(M433PlayerWork2Sub *arg0, Vec *arg1, Vec *arg2, float arg8)
arg1->x = arg0->unk_2C.x + (spC.x * var_f30); arg1->x = arg0->unk_2C.x + (spC.x * var_f30);
arg1->y = arg0->unk_2C.y + var_f29; arg1->y = arg0->unk_2C.y + var_f29;
arg1->z = arg0->unk_2C.z + (spC.z * var_f30); arg1->z = arg0->unk_2C.z + (spC.z * var_f30);
PSVECSubtract(arg1, &sp18, arg2); VECSubtract(arg1, &sp18, arg2);
if (arg8 >= arg0->unk_00) { if (arg8 >= arg0->unk_00) {
return 1; return 1;
} }
@ -2582,7 +2582,7 @@ void fn_1_D6A8(ModelData *model, ParticleData *particle, Mtx matrix)
for (var_r31 = particle->unk_48, var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) { for (var_r31 = particle->unk_48, var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) {
if (var_r31->unk00_s16 != 0) { if (var_r31->unk00_s16 != 0) {
PSVECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34); VECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34);
var_r31->unk08.x *= 0.92f; var_r31->unk08.x *= 0.92f;
var_r31->unk08.z *= 0.92f; var_r31->unk08.z *= 0.92f;
var_r31->unk08.y += -0.27222225f; var_r31->unk08.y += -0.27222225f;
@ -3421,9 +3421,9 @@ float fn_1_10B20(float arg8, Vec *arg0)
} }
var_r31->unk_04 = var_f31; var_r31->unk_04 = var_f31;
if (var_r31->unk_10 > 0.0f) { if (var_r31->unk_10 > 0.0f) {
PSVECSubtract(&var_r31->unk_38, &var_r31->unk_2C, &sp14); VECSubtract(&var_r31->unk_38, &var_r31->unk_2C, &sp14);
sp14.y = 0.0f; sp14.y = 0.0f;
PSVECNormalize(&sp14, &sp14); VECNormalize(&sp14, &sp14);
} }
else { else {
sp14.x = sp14.y = sp14.z = 0.0f; sp14.x = sp14.y = sp14.z = 0.0f;
@ -3434,7 +3434,7 @@ float fn_1_10B20(float arg8, Vec *arg0)
arg0->x = var_r31->unk_2C.x + (sp14.x * var_f29); arg0->x = var_r31->unk_2C.x + (sp14.x * var_f29);
arg0->y = var_r31->unk_2C.y + var_f28; arg0->y = var_r31->unk_2C.y + var_f28;
arg0->z = var_r31->unk_2C.z + (sp14.z * var_f29); arg0->z = var_r31->unk_2C.z + (sp14.z * var_f29);
PSVECSubtract(arg0, &sp8, &sp20); VECSubtract(arg0, &sp8, &sp20);
var_f31 >= var_r31->unk_00; var_f31 >= var_r31->unk_00;
var_r31->unk_04 = var_f30; var_r31->unk_04 = var_f30;
return var_f30 + arg8; return var_f30 + arg8;
@ -3462,7 +3462,7 @@ s32 fn_1_10D24(Vec *sp8)
var_r31 = lbl_1_bss_7CC->data; var_r31 = lbl_1_bss_7CC->data;
fn_1_10D24_inline(&spC); fn_1_10D24_inline(&spC);
PSVECSubtract(&spC, &var_r31->unk_30, &sp18); VECSubtract(&spC, &var_r31->unk_30, &sp18);
if ((spC.x * var_r31->unk_30.x) >= 0.0f) { if ((spC.x * var_r31->unk_30.x) >= 0.0f) {
return 0; return 0;
} }
@ -3470,8 +3470,8 @@ s32 fn_1_10D24(Vec *sp8)
return 0; return 0;
} }
var_f31 = fabs(var_r31->unk_30.x / sp18.x); var_f31 = fabs(var_r31->unk_30.x / sp18.x);
PSVECScale(&sp18, &sp18, var_f31); VECScale(&sp18, &sp18, var_f31);
PSVECAdd(&var_r31->unk_30, &sp18, sp8); VECAdd(&var_r31->unk_30, &sp18, sp8);
return 1; return 1;
} }
@ -3535,9 +3535,9 @@ float fn_1_11098(Vec *arg0, Vec *arg1, Vec *arg2)
float var_f31; float var_f31;
float var_f30; float var_f30;
PSVECSubtract(arg1, arg0, &sp10); VECSubtract(arg1, arg0, &sp10);
var_f31 = PSVECDotProduct(&sp10, arg2); var_f31 = VECDotProduct(&sp10, arg2);
var_f30 = -PSVECSquareMag(arg2); var_f30 = -VECSquareMag(arg2);
if (var_f30 != 0.0f) { if (var_f30 != 0.0f) {
var_f31 /= var_f30; var_f31 /= var_f30;
} }
@ -3555,16 +3555,16 @@ float fn_1_11130(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3)
float var_f29; float var_f29;
float var_f28; float var_f28;
PSVECSubtract(arg1, arg0, &sp28); VECSubtract(arg1, arg0, &sp28);
PSVECSubtract(arg3, arg2, &sp1C); VECSubtract(arg3, arg2, &sp1C);
PSVECSubtract(&sp28, &sp1C, &sp28); VECSubtract(&sp28, &sp1C, &sp28);
if (PSVECMag(&sp28) <= 0.0f) { if (VECMag(&sp28) <= 0.0f) {
sp34 = *arg0; sp34 = *arg0;
} }
else { else {
PSVECSubtract(arg0, arg2, &sp10); VECSubtract(arg0, arg2, &sp10);
var_f30 = PSVECDotProduct(&sp10, &sp28); var_f30 = VECDotProduct(&sp10, &sp28);
var_f29 = -PSVECSquareMag(&sp28); var_f29 = -VECSquareMag(&sp28);
if (var_f29 != 0.0f) { if (var_f29 != 0.0f) {
var_f30 /= var_f29; var_f30 /= var_f29;
} }
@ -3576,9 +3576,9 @@ float fn_1_11130(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3)
else if (var_f31 > 1.0f) { else if (var_f31 > 1.0f) {
var_f31 = 1.0f; var_f31 = 1.0f;
} }
PSVECScale(&sp28, &sp1C, var_f31); VECScale(&sp28, &sp1C, var_f31);
PSVECAdd(arg0, &sp1C, &sp34); VECAdd(arg0, &sp1C, &sp34);
} }
PSVECSubtract(arg2, &sp34, &sp28); VECSubtract(arg2, &sp34, &sp28);
return PSVECMag(&sp28); return VECMag(&sp28);
} }

View file

@ -119,7 +119,7 @@ typedef struct M438MainWork3 {
float unk_170[3]; float unk_170[3];
float unk_17C[3]; float unk_17C[3];
u16 unk_188[3]; u16 unk_188[3];
} M438MainWork3; /* size = */ } M438MainWork3; /* size = 0x190 */
typedef struct M438StructBss298 { typedef struct M438StructBss298 {
/* 0x00 */ u8 unk_00; /* 0x00 */ u8 unk_00;
@ -158,7 +158,7 @@ typedef struct M438UnkStruct {
s8 unk_55; s8 unk_55;
s8 unk_56; s8 unk_56;
u8 unk_57; u8 unk_57;
M438UnkSubStruct* unk_58; M438UnkSubStruct *unk_58;
u8 unk_5C; u8 unk_5C;
char unk5D[0x3]; char unk5D[0x3];
Vec unk_60; Vec unk_60;
@ -175,7 +175,7 @@ typedef struct M438UnkStruct2 {
Vec unk_0C; Vec unk_0C;
char unk18[0xC]; char unk18[0xC];
Vec unk_24; Vec unk_24;
void (*unk_30)(struct M438UnkStruct2*); void (*unk_30)(struct M438UnkStruct2 *);
char unk34[8]; char unk34[8];
M438UnkStruct *unk_3C; M438UnkStruct *unk_3C;
char unk40[0x20]; char unk40[0x20];
@ -575,88 +575,51 @@ void fn_1_1174(omObjData *object)
} }
} }
Vec lbl_1_data_68[11][8] = { Vec lbl_1_data_68[11][8] = { {
{ { -528.6f, 0.0f, 350.7f },
{ -528.6f, 0.0f, 350.7f }, { -375.7f, 0.0f, 243.0f },
{ -375.7f, 0.0f, 243.0f }, { -214.2f, 0.0f, 331.4f },
{ -214.2f, 0.0f, 331.4f }, { -173.3f, 0.0f, 523.7f },
{ -173.3f, 0.0f, 523.7f }, { 15.000001f, 0.0f, 505.7f },
{ 15.000001f, 0.0f, 505.7f }, { 148.59999f, 0.0f, 393.0f },
{ 148.59999f, 0.0f, 393.0f }, { 0.0f, 1.0f, 0.0f },
{ 0.0f, 1.0f, 0.0f }, },
},
{ {
{ -198.7f, 0.0f, -122.899994f }, { -198.7f, 0.0f, -122.899994f },
{ -11.599999f, 0.0f, -177.1f }, { -11.599999f, 0.0f, -177.1f },
{ 63.4f, 0.0f, -349.7f }, { 63.4f, 0.0f, -349.7f },
{ 277.09999f, 0.0f, -296.4f }, { 277.09999f, 0.0f, -296.4f },
{ 397.5f, 0.0f, -470.2f }, { 397.5f, 0.0f, -470.2f },
{ 0.0f, 1.0f, 0.0f }, { 0.0f, 1.0f, 0.0f },
}, },
{ {
{ -421.0f, 0.0f, -471.3f }, { -421.0f, 0.0f, -471.3f },
{ -270.1f, 0.0f, -460.0f }, { -270.1f, 0.0f, -460.0f },
{ -153.1f, 0.0f, -356.5f }, { -153.1f, 0.0f, -356.5f },
{ 12.4f, 0.0f, -473.99997f }, { 12.4f, 0.0f, -473.99997f },
{ 0.0f, 1.0f, 0.0f }, { 0.0f, 1.0f, 0.0f },
}, },
{ {
{ -545.10004f, 0.0f, -318.9f }, { -545.10004f, 0.0f, -318.9f },
{ -469.0f, 0.0f, -154.1f }, { -469.0f, 0.0f, -154.1f },
{ -313.4, 0.0f, -170.09999f }, { -313.4, 0.0f, -170.09999f },
{ -250.0f, 0.0f, -32.8f }, { -250.0f, 0.0f, -32.8f },
{ 0.0f, 1.0f, 0.0f }, { 0.0f, 1.0f, 0.0f },
},
{
{ -155.6f, 0.0f, 19.5f },
{ -34.3f, 0.0f, 96.6f },
{ -63.9f, 0.0f, 240.00002f },
{ 37.5f, 0.0f, 402.8f },
{ 0.0f, 1.0f, 0.0f }
},
{
{ 207.5f, 0.0f, -163.2f },
{ 270.1f, 0.0f, -104.799995f },
{ 402.19998f, 0.0f, -102.4f },
{ 511.49997f, 0.0f, -25.099998f },
{ 627.3f, 0.0f, -142.0f },
{ 0.0f, 1.0f, 0.0f }
}, },
{ { -155.6f, 0.0f, 19.5f }, { -34.3f, 0.0f, 96.6f }, { -63.9f, 0.0f, 240.00002f }, { 37.5f, 0.0f, 402.8f }, { 0.0f, 1.0f, 0.0f } },
{ { 207.5f, 0.0f, -163.2f }, { 270.1f, 0.0f, -104.799995f }, { 402.19998f, 0.0f, -102.4f }, { 511.49997f, 0.0f, -25.099998f },
{ 627.3f, 0.0f, -142.0f }, { 0.0f, 1.0f, 0.0f } },
{ {
{ -601.0f, 0.0f, 97.799995f }, { -601.0f, 0.0f, 97.799995f },
{ -516.80005f, 0.0f, 60.000004f }, { -516.80005f, 0.0f, 60.000004f },
{ -417.7f, 0.0f, 92.9f }, { -417.7f, 0.0f, 92.9f },
{ -309.40002f, 0.0f, 76.1f }, { -309.40002f, 0.0f, 76.1f },
{ 0.0f, 1.0f, 0.0f }, { 0.0f, 1.0f, 0.0f },
}, },
{ { { 82.8f, 0.0f, 164.2f }, { 179.40001f, 0.0f, 179.8f }, { 241.00002f, 0.0f, 87.1f }, { 323.0f, 0.0f, 38.800003f }, { 0.0f, 1.0f, 0.0f } },
{ 82.8f, 0.0f, 164.2f }, { { 243.4f, 0.0f, 573.5f }, { 227.7f, 0.0f, 461.2f }, { 319.30002f, 0.0f, 400.6f }, { 342.30002f, 0.0f, 310.0f }, { 0.0f, 1.0f, 0.0f } },
{ 179.40001f, 0.0f, 179.8f }, { { 357.69998f, 0.0f, 146.8f }, { 418.80002f, 0.0f, 225.0f }, { 503.2f, 0.0f, 234.69998f }, { 548.1f, 0.0f, 321.19998f }, { 0.0f, 1.0f, 0.0f } },
{ 241.00002f, 0.0f, 87.1f }, { { -100.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, -100.0f }, { 100.0f, 0.0f, 0.0f }, { 0.0f, 1.0f, 0.0f } } };
{ 323.0f, 0.0f, 38.800003f },
{ 0.0f, 1.0f, 0.0f }
},
{
{ 243.4f, 0.0f, 573.5f },
{ 227.7f, 0.0f, 461.2f },
{ 319.30002f, 0.0f, 400.6f },
{ 342.30002f, 0.0f, 310.0f },
{ 0.0f, 1.0f, 0.0f }
},
{
{ 357.69998f, 0.0f, 146.8f },
{ 418.80002f, 0.0f, 225.0f },
{ 503.2f, 0.0f, 234.69998f },
{ 548.1f, 0.0f, 321.19998f },
{ 0.0f, 1.0f, 0.0f }
},
{
{ -100.0f, 0.0f, 0.0f },
{ 0.0f, 0.0f, -100.0f },
{ 100.0f, 0.0f, 0.0f },
{ 0.0f, 1.0f, 0.0f }
}
};
void fn_1_1204(omObjData *object) void fn_1_1204(omObjData *object)
{ {
M438StructBss298 *var_r31; M438StructBss298 *var_r31;
@ -951,7 +914,8 @@ void fn_1_2070(omObjData *object)
var_r31->unk_10.y = var_r31->unk_28.y + (var_f31 * (var_r31->unk_40.y - var_r31->unk_28.y)); var_r31->unk_10.y = var_r31->unk_28.y + (var_f31 * (var_r31->unk_40.y - var_r31->unk_28.y));
var_r31->unk_10.z = var_r31->unk_28.z + (var_f31 * (var_r31->unk_40.z - var_r31->unk_28.z)); var_r31->unk_10.z = var_r31->unk_28.z + (var_f31 * (var_r31->unk_40.z - var_r31->unk_28.z));
var_r31->unk_130 = var_r31->unk_134 + (var_f31 * (var_r31->unk_138 - var_r31->unk_134)); var_r31->unk_130 = var_r31->unk_134 + (var_f31 * (var_r31->unk_138 - var_r31->unk_134));
} else { }
else {
fn_1_9420(2.0f * var_f31, (float *)&var_r31->unk_04, var_r31->unk_F4, (float(*)[3]) & var_r31->unk_64, var_r31->unk_88, 3); fn_1_9420(2.0f * var_f31, (float *)&var_r31->unk_04, var_r31->unk_F4, (float(*)[3]) & var_r31->unk_64, var_r31->unk_88, 3);
fn_1_9420(2.0f * var_f31, (float *)&var_r31->unk_10, var_r31->unk_100, (float(*)[3]) & var_r31->unk_AC, var_r31->unk_D0, 3); fn_1_9420(2.0f * var_f31, (float *)&var_r31->unk_10, var_r31->unk_100, (float(*)[3]) & var_r31->unk_AC, var_r31->unk_D0, 3);
var_r31->unk_130 = fn_1_8EEC(2.0f * var_f31, var_r31->unk_124, var_r31->unk_10C, var_r31->unk_118, 3); var_r31->unk_130 = fn_1_8EEC(2.0f * var_f31, var_r31->unk_124, var_r31->unk_10C, var_r31->unk_118, 3);
@ -1473,12 +1437,14 @@ void fn_1_35C0(omObjData *object)
var_r31->unk_22 = var_r28; var_r31->unk_22 = var_r28;
var_r31->unk_20 = var_r28; var_r31->unk_20 = var_r28;
CharModelMotionShiftSet(var_r31->unk_01, object->motion[8], 0.0f, 8.0f, var_r27); CharModelMotionShiftSet(var_r31->unk_01, object->motion[8], 0.0f, 8.0f, var_r27);
} else { }
else {
switch (var_r28) { switch (var_r28) {
case 0: case 0:
case 1: case 1:
case 2: case 2:
if (var_r31->unk_20 != 0 && CharModelMotionShiftIDGet(var_r31->unk_01) >= 0) break; if (var_r31->unk_20 != 0 && CharModelMotionShiftIDGet(var_r31->unk_01) >= 0)
break;
default: default:
var_r31->unk_22 = var_r28; var_r31->unk_22 = var_r28;
var_r31->unk_20 = var_r28; var_r31->unk_20 = var_r28;
@ -1590,7 +1556,6 @@ void fn_1_4724(omObjData *object)
object->func = fn_1_4984; object->func = fn_1_4984;
} }
void fn_1_4984(omObjData *object) void fn_1_4984(omObjData *object)
{ {
Vec sp8; Vec sp8;
@ -1645,7 +1610,7 @@ void fn_1_4984(omObjData *object)
} }
lbl_1_bss_4 = fn_1_10258(0x3C, 1); lbl_1_bss_4 = fn_1_10258(0x3C, 1);
fn_1_11018(lbl_1_bss_4, 0, 0x45000F); fn_1_11018(lbl_1_bss_4, 0, 0x45000F);
lbl_1_bss_DE4.unk_40[lbl_1_bss_4].unk_30 = fn_1_5D4C; lbl_1_bss_DE4.unk_40[lbl_1_bss_4].unk_30 = fn_1_5D4C;
fn_1_11890(lbl_1_bss_4, var_r31->unk_10.x, 50.0f + var_r31->unk_10.y, var_r31->unk_10.z); fn_1_11890(lbl_1_bss_4, var_r31->unk_10.x, 50.0f + var_r31->unk_10.y, var_r31->unk_10.z);
fn_1_124CC(lbl_1_bss_4, 1); fn_1_124CC(lbl_1_bss_4, 1);
lbl_1_bss_8++; lbl_1_bss_8++;
@ -1708,7 +1673,7 @@ void fn_1_4F50(omObjData *object)
var_r31->unk_00++; var_r31->unk_00++;
case 1: case 1:
var_r31->unk_34 = var_r31->unk_10; var_r31->unk_34 = var_r31->unk_10;
for (var_r28 = 0, var_r26 = 0; var_r28 < 4; var_r28++) { for (var_r28 = 0, var_r26 = 0; var_r28 < 4; var_r28++) {
var_r29 = lbl_1_bss_DC4[var_r28]->data; var_r29 = lbl_1_bss_DC4[var_r28]->data;
if ((var_r29->unk_07 != 0) && ((var_r29->unk_07 & 2) == 0)) { if ((var_r29->unk_07 != 0) && ((var_r29->unk_07 & 2) == 0)) {
@ -1723,17 +1688,20 @@ void fn_1_4F50(omObjData *object)
if (var_r31->unk_1C.y <= -180.0f) { if (var_r31->unk_1C.y <= -180.0f) {
var_r31->unk_1C.y += 360.0f; var_r31->unk_1C.y += 360.0f;
} }
for (var_r28 = 0; var_r28 < var_r26; var_r28++) { for (var_r28 = 0; var_r28 < var_r26; var_r28++) {
var_f31 = fn_1_E5A4(sp8[var_r28], object->rot.y); var_f31 = fn_1_E5A4(sp8[var_r28], object->rot.y);
if (var_f31 < 0.0f) { if (var_f31 < 0.0f) {
var_f27 = -var_f31; var_f27 = -var_f31;
} else { }
else {
var_f27 = var_f31; var_f27 = var_f31;
} }
if (var_f27 > (20.0f + object->work[1])) continue; if (var_f27 > (20.0f + object->work[1]))
continue;
object->work[0]--; object->work[0]--;
if (object->work[0] != 0 && ((fn_1_7DB4() & 0xF) != 0)) continue; if (object->work[0] != 0 && ((fn_1_7DB4() & 0xF) != 0))
continue;
var_r31->unk_04.y = sp8[var_r28]; var_r31->unk_04.y = sp8[var_r28];
var_r31->unk_1C.y = sp8[var_r28]; var_r31->unk_1C.y = sp8[var_r28];
var_r31->unk_28.y = 16.333334f; var_r31->unk_28.y = 16.333334f;
@ -1781,7 +1749,8 @@ void fn_1_4F50(omObjData *object)
sp18 = var_r31->unk_10; sp18 = var_r31->unk_10;
sp18.y = 0.0f; sp18.y = 0.0f;
var_f30 = VECMag(&sp18); var_f30 = VECMag(&sp18);
if (var_f30 <= 700.0f) break; if (var_f30 <= 700.0f)
break;
var_r31->unk_02 = 1; var_r31->unk_02 = 1;
if (fn_1_DA64(atan2d(sp18.x, sp18.z)) != 0) { if (fn_1_DA64(atan2d(sp18.x, sp18.z)) != 0) {
var_r31->unk_02 = 0x78; var_r31->unk_02 = 0x78;
@ -1804,7 +1773,8 @@ void fn_1_4F50(omObjData *object)
case 4: case 4:
var_r31->unk_28.y += -3.0625f; var_r31->unk_28.y += -3.0625f;
var_r31->unk_10.y += var_r31->unk_28.y; var_r31->unk_10.y += var_r31->unk_28.y;
if (var_r31->unk_10.y > 0.0f) break; if (var_r31->unk_10.y > 0.0f)
break;
var_r31->unk_10.y = 0.0f; var_r31->unk_10.y = 0.0f;
var_r31->unk_34 = var_r31->unk_10; var_r31->unk_34 = var_r31->unk_10;
Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_LOOP); Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_LOOP);
@ -1848,7 +1818,8 @@ void fn_1_4F50(omObjData *object)
var_r29 = lbl_1_bss_DC4[var_r28]->data; var_r29 = lbl_1_bss_DC4[var_r28]->data;
VECSubtract(&var_r29->unk_6C, &var_r31->unk_10, &sp18); VECSubtract(&var_r29->unk_6C, &var_r31->unk_10, &sp18);
var_f30 = VECMag(&sp18); var_f30 = VECMag(&sp18);
if (var_f30 >= 200.0f || var_r29->unk_20 == 7) continue; if (var_f30 >= 200.0f || var_r29->unk_20 == 7)
continue;
omVibrate(var_r29->unk_00, 0xC, 4, 2); omVibrate(var_r29->unk_00, 0xC, 4, 2);
var_r29->unk_07 |= 2; var_r29->unk_07 |= 2;
var_r29->unk_0D = 0; var_r29->unk_0D = 0;
@ -1860,7 +1831,8 @@ void fn_1_4F50(omObjData *object)
if (fabs(fn_1_E5A4(var_r29->unk_28, var_r29->unk_7C)) > 90.0) { if (fabs(fn_1_E5A4(var_r29->unk_28, var_r29->unk_7C)) > 90.0) {
var_r29->unk_7C = 180.0f + var_r29->unk_28; var_r29->unk_7C = 180.0f + var_r29->unk_28;
var_r29->unk_14 = 0; var_r29->unk_14 = 0;
} else { }
else {
var_r29->unk_7C = var_r29->unk_28; var_r29->unk_7C = var_r29->unk_28;
var_r29->unk_14 = 1; var_r29->unk_14 = 1;
} }
@ -1875,7 +1847,8 @@ void fn_1_4F50(omObjData *object)
omSetRot(object, var_r31->unk_1C.x, var_r31->unk_1C.y, var_r31->unk_1C.z); omSetRot(object, var_r31->unk_1C.x, var_r31->unk_1C.y, var_r31->unk_1C.z);
} }
void fn_1_5D4C(M438UnkStruct2 *arg0) { void fn_1_5D4C(M438UnkStruct2 *arg0)
{
s16 sp8; s16 sp8;
f32 temp_f31; f32 temp_f31;
f32 temp_f30; f32 temp_f30;
@ -1883,13 +1856,13 @@ void fn_1_5D4C(M438UnkStruct2 *arg0) {
f32 temp_f28; f32 temp_f28;
f32 temp_f27; f32 temp_f27;
s32 var_r29; s32 var_r29;
M438UnkStruct* var_r31; M438UnkStruct *var_r31;
sp8 = 0; sp8 = 0;
switch (arg0->unk_60) { /* irregular */ switch (arg0->unk_60) { /* irregular */
case 0: case 0:
temp_f27 = 360.0f / arg0->unk_02; temp_f27 = 360.0f / arg0->unk_02;
var_r31 = &arg0->unk_3C[0]; var_r31 = &arg0->unk_3C[0];
for (var_r29 = 0; var_r29 < arg0->unk_02; var_r29++, var_r31++) { for (var_r29 = 0; var_r29 < arg0->unk_02; var_r29++, var_r31++) {
var_r31->unk_6C.x = sind(temp_f27 * var_r29) * (0.8f + (0.1f * (2.0f * ((1.0f / 32768.0f) * (fn_1_7DB4() - 0x8000))))); var_r31->unk_6C.x = sind(temp_f27 * var_r29) * (0.8f + (0.1f * (2.0f * ((1.0f / 32768.0f) * (fn_1_7DB4() - 0x8000)))));
@ -1909,7 +1882,7 @@ void fn_1_5D4C(M438UnkStruct2 *arg0) {
arg0->unk_7C--; arg0->unk_7C--;
temp_f31 = (48.0f - arg0->unk_7C) / 48.0f; temp_f31 = (48.0f - arg0->unk_7C) / 48.0f;
temp_f28 = arg0->unk_7C / 48.0f; temp_f28 = arg0->unk_7C / 48.0f;
var_r31 = arg0->unk_3C; var_r31 = arg0->unk_3C;
for (var_r29 = 0; var_r29 < arg0->unk_02; var_r29++, var_r31++) { for (var_r29 = 0; var_r29 < arg0->unk_02; var_r29++, var_r31++) {
var_r31->unk_00.x += 12.5f * temp_f28 * var_r31->unk_6C.x; var_r31->unk_00.x += 12.5f * temp_f28 * var_r31->unk_6C.x;
@ -1935,7 +1908,7 @@ void fn_1_62BC(M438UnkStruct2 *arg0)
s16 sp8; s16 sp8;
M438UnkStruct *var_r31; M438UnkStruct *var_r31;
sp8 = 0; sp8 = 0;
switch (arg0->unk_60) { switch (arg0->unk_60) {
case 0: case 0:
@ -1957,9 +1930,10 @@ void fn_1_62BC(M438UnkStruct2 *arg0)
} }
} }
void fn_1_63B0(M438UnkStruct2* arg0) { void fn_1_63B0(M438UnkStruct2 *arg0)
{
Vec sp8; Vec sp8;
M438UnkStruct* var_r31; M438UnkStruct *var_r31;
f32 var_f31; f32 var_f31;
f32 temp_f30; f32 temp_f30;
f32 var_f29; f32 var_f29;
@ -1970,10 +1944,8 @@ void fn_1_63B0(M438UnkStruct2* arg0) {
for (var_r29 = 0; var_r29 < arg0->unk_02; var_r29++, var_r31++) { for (var_r29 = 0; var_r29 < arg0->unk_02; var_r29++, var_r31++) {
switch (var_r31->unk_5C) { switch (var_r31->unk_5C) {
case 0: case 0:
var_f29 = atan2d(arg0->unk_80, arg0->unk_84) < 0 var_f29 = atan2d(arg0->unk_80, arg0->unk_84) < 0 ? -atan2d(arg0->unk_80, arg0->unk_84) : atan2d(arg0->unk_80, arg0->unk_84);
? -atan2d(arg0->unk_80, arg0->unk_84)
: atan2d(arg0->unk_80, arg0->unk_84);
if (var_f29 > 90.0f) { if (var_f29 > 90.0f) {
var_f29 = 180.0f - var_f29; var_f29 = 180.0f - var_f29;
} }
@ -1984,7 +1956,7 @@ void fn_1_63B0(M438UnkStruct2* arg0) {
var_r31->unk_00.x = sp8.x; var_r31->unk_00.x = sp8.x;
var_r31->unk_00.y = 0.0f; var_r31->unk_00.y = 0.0f;
var_r31->unk_00.z = sp8.z; var_r31->unk_00.z = sp8.z;
for (var_f31 = 0.0f, sp8.y = 0.0f; var_f31 < (arg0->unk_8C - 40.0f); var_f31 += sp8.y) { for (var_f31 = 0.0f, sp8.y = 0.0f; var_f31 < (arg0->unk_8C - 40.0f); var_f31 += sp8.y) {
sp8.y += 0.8f; sp8.y += 0.8f;
} }
@ -2000,7 +1972,8 @@ void fn_1_63B0(M438UnkStruct2* arg0) {
temp_f30 = 3.75f + (1.75f * ((1.0f / 65536.0f) * fn_1_7DB4())); temp_f30 = 3.75f + (1.75f * ((1.0f / 65536.0f) * fn_1_7DB4()));
var_r31->unk_60.x = (temp_f30 * (0.1f + ((0.9f * var_f29) / 90.0f))); var_r31->unk_60.x = (temp_f30 * (0.1f + ((0.9f * var_f29) / 90.0f)));
var_r31->unk_60.y = var_r31->unk_60.z = temp_f30; var_r31->unk_60.y = var_r31->unk_60.z = temp_f30;
} else { }
else {
var_r31->unk_33 = 0; var_r31->unk_33 = 0;
var_r31->unk_54 = 0; var_r31->unk_54 = 0;
var_r31->unk_55 = 0; var_r31->unk_55 = 0;
@ -2044,9 +2017,10 @@ void fn_1_63B0(M438UnkStruct2* arg0) {
} }
} }
void fn_1_6A3C(M438UnkStruct2* arg0) { void fn_1_6A3C(M438UnkStruct2 *arg0)
{
Vec sp8; Vec sp8;
M438UnkStruct* var_r31; M438UnkStruct *var_r31;
f32 temp_f31; f32 temp_f31;
f32 temp_f30; f32 temp_f30;
f32 temp_f29; f32 temp_f29;
@ -2056,7 +2030,7 @@ void fn_1_6A3C(M438UnkStruct2* arg0) {
var_r31 = arg0->unk_3C; var_r31 = arg0->unk_3C;
var_r28 = 0; var_r28 = 0;
for (var_r27 = 0; var_r27 < arg0->unk_02; var_r27++, var_r31++) { for (var_r27 = 0; var_r27 < arg0->unk_02; var_r27++, var_r31++) {
if ((arg0->unk_7C != 0) && (var_r31->unk_7A == 0)) { if ((arg0->unk_7C != 0) && (var_r31->unk_7A == 0)) {
var_r31->unk_5C = 0; var_r31->unk_5C = 0;
@ -2077,7 +2051,8 @@ void fn_1_6A3C(M438UnkStruct2* arg0) {
var_r31->unk_6C.z = 100.0f * (0.1f * sp8.z); var_r31->unk_6C.z = 100.0f * (0.1f * sp8.z);
var_r31->unk_78 = (s32)(24.0f * ((1.0f / 65536.0f) * fn_1_7DB4())) + 1; var_r31->unk_78 = (s32)(24.0f * ((1.0f / 65536.0f) * fn_1_7DB4())) + 1;
var_r31->unk_7A = 1; var_r31->unk_7A = 1;
} else { }
else {
temp_f30 = (180.0f * ((1.0f / 65536.0f) * fn_1_7DB4())) - 90.0f; temp_f30 = (180.0f * ((1.0f / 65536.0f) * fn_1_7DB4())) - 90.0f;
temp_f29 = 125.0f * ((1.0f / 65536.0f) * fn_1_7DB4()); temp_f29 = 125.0f * ((1.0f / 65536.0f) * fn_1_7DB4());
sp8.x = sind(temp_f30); sp8.x = sind(temp_f30);
@ -2103,7 +2078,8 @@ void fn_1_6A3C(M438UnkStruct2* arg0) {
var_r31->unk_18.x = temp_f31; var_r31->unk_18.x = temp_f31;
var_r31->unk_18.y = temp_f31; var_r31->unk_18.y = temp_f31;
var_r31->unk_18.z = temp_f31; var_r31->unk_18.z = temp_f31;
} else if (arg0->unk_7C != 0) { }
else if (arg0->unk_7C != 0) {
var_r31->unk_33 = 0; var_r31->unk_33 = 0;
var_r31->unk_54 = 0; var_r31->unk_54 = 0;
var_r31->unk_55 = 0; var_r31->unk_55 = 0;
@ -2113,10 +2089,11 @@ void fn_1_6A3C(M438UnkStruct2* arg0) {
var_r31->unk_18.x = temp_f31; var_r31->unk_18.x = temp_f31;
var_r31->unk_18.y = 1.5f * temp_f31; var_r31->unk_18.y = 1.5f * temp_f31;
var_r31->unk_18.z = temp_f31; var_r31->unk_18.z = temp_f31;
} else { }
else {
var_r29 = fn_1_10258(8, 1); var_r29 = fn_1_10258(8, 1);
fn_1_11018(var_r29, 0, 0x45000A); fn_1_11018(var_r29, 0, 0x45000A);
lbl_1_bss_DE4.unk_40[var_r29].unk_30 = (void (*)(M438UnkStruct2*)) fn_1_7300; lbl_1_bss_DE4.unk_40[var_r29].unk_30 = (void (*)(M438UnkStruct2 *))fn_1_7300;
fn_1_11890(var_r29, arg0->unk_0C.x + var_r31->unk_00.x, arg0->unk_0C.y + var_r31->unk_00.y, arg0->unk_0C.z + var_r31->unk_00.z); fn_1_11890(var_r29, arg0->unk_0C.x + var_r31->unk_00.x, arg0->unk_0C.y + var_r31->unk_00.y, arg0->unk_0C.z + var_r31->unk_00.z);
fn_1_12100(var_r29, 4); fn_1_12100(var_r29, 4);
fn_1_124CC(var_r29, 1); fn_1_124CC(var_r29, 1);
@ -2134,7 +2111,8 @@ void fn_1_6A3C(M438UnkStruct2* arg0) {
var_r31->unk_58->unk_24 = 0x11; var_r31->unk_58->unk_24 = 0x11;
if (var_r31->unk_7A != 0) { if (var_r31->unk_7A != 0) {
var_r31->unk_58->unk_28 = 0.5f; var_r31->unk_58->unk_28 = 0.5f;
} else { }
else {
var_r31->unk_58->unk_28 = 0.5f; var_r31->unk_58->unk_28 = 0.5f;
} }
var_r31->unk_58->unk_2C = 0.0f; var_r31->unk_58->unk_2C = 0.0f;
@ -2156,7 +2134,8 @@ void fn_1_6A3C(M438UnkStruct2* arg0) {
if ((var_r31->unk_58->unk_24 & 8) != 0) { if ((var_r31->unk_58->unk_24 & 8) != 0) {
if (var_r31->unk_7A != 0) { if (var_r31->unk_7A != 0) {
var_r31->unk_5C = 3; var_r31->unk_5C = 3;
} else { }
else {
var_r31->unk_5C = 0; var_r31->unk_5C = 0;
} }
} }
@ -2171,9 +2150,10 @@ void fn_1_6A3C(M438UnkStruct2* arg0) {
} }
} }
void fn_1_7300(M438UnkStruct2* arg0) { void fn_1_7300(M438UnkStruct2 *arg0)
{
Vec sp8; Vec sp8;
M438UnkStruct* var_r31; M438UnkStruct *var_r31;
f32 temp_f29; f32 temp_f29;
f32 temp_f30; f32 temp_f30;
f32 temp_f31; f32 temp_f31;
@ -2181,33 +2161,32 @@ void fn_1_7300(M438UnkStruct2* arg0) {
s32 var_r29; s32 var_r29;
var_r31 = arg0->unk_3C; var_r31 = arg0->unk_3C;
switch (arg0->unk_60) { switch (arg0->unk_60) {
case 0: case 0:
arg0->unk_24.x = arg0->unk_24.y = arg0->unk_24.z = temp_f31 = 0.01f; arg0->unk_24.x = arg0->unk_24.y = arg0->unk_24.z = temp_f31 = 0.01f;
arg0->unk_7C = Hu3DModelCreateFile(0x45000B); arg0->unk_7C = Hu3DModelCreateFile(0x45000B);
arg0->unk_7E = (s32)(30.0f * ((1.0f / 65536.0f) * fn_1_7DB4())) + 30; arg0->unk_7E = (s32)(30.0f * ((1.0f / 65536.0f) * fn_1_7DB4())) + 30;
for (var_r29 = 0; var_r29 < arg0->unk_02; var_r29++, var_r31++) { for (var_r29 = 0; var_r29 < arg0->unk_02; var_r29++, var_r31++) {
var_r31->unk_38 |= 4; var_r31->unk_38 |= 4;
} }
arg0->unk_60++; arg0->unk_60++;
case 1: case 1:
arg0->unk_24.z += 0.008f; arg0->unk_24.z += 0.008f;
arg0->unk_24.x = arg0->unk_24.y = arg0->unk_24.z; arg0->unk_24.x = arg0->unk_24.y = arg0->unk_24.z;
Hu3DModelPosSetV(arg0->unk_7C, &arg0->unk_0C); Hu3DModelPosSetV(arg0->unk_7C, &arg0->unk_0C);
Hu3DModelScaleSetV(arg0->unk_7C, &arg0->unk_24); Hu3DModelScaleSetV(arg0->unk_7C, &arg0->unk_24);
if (--arg0->unk_7E == 0) { if (--arg0->unk_7E == 0) {
Hu3DModelKill(arg0->unk_7C); Hu3DModelKill(arg0->unk_7C);
arg0->unk_7C = 0; arg0->unk_7C = 0;
for (var_r29 = 0; var_r29 < arg0->unk_02; var_r29++, var_r31++) { for (var_r29 = 0; var_r29 < arg0->unk_02; var_r29++, var_r31++) {
var_r31->unk_5C = 1; var_r31->unk_5C = 1;
} }
arg0->unk_80 = arg0->unk_24.x; arg0->unk_80 = arg0->unk_24.x;
arg0->unk_24.x = arg0->unk_24.y = arg0->unk_24.z = 1.0f; arg0->unk_24.x = arg0->unk_24.y = arg0->unk_24.z = 1.0f;
arg0->unk_60++; arg0->unk_60++;
} }
@ -2215,7 +2194,7 @@ void fn_1_7300(M438UnkStruct2* arg0) {
} }
var_r28 = 0; var_r28 = 0;
var_r31 = arg0->unk_3C; var_r31 = arg0->unk_3C;
for (var_r29 = 0; var_r29 < arg0->unk_02; var_r29++, var_r31++) { for (var_r29 = 0; var_r29 < arg0->unk_02; var_r29++, var_r31++) {
switch (var_r31->unk_5C) { switch (var_r31->unk_5C) {
case 1: case 1:
@ -2450,32 +2429,36 @@ float fn_1_7EDC(float arg8, float arg9, float argA)
arg8 = arg9 + (var_f31 * argA); arg8 = arg9 + (var_f31 * argA);
if (arg8 > 180.0f) { if (arg8 > 180.0f) {
arg8 -= 360.0f; arg8 -= 360.0f;
} else if (arg8 <= -180.0f) { }
else if (arg8 <= -180.0f) {
arg8 += 360.0f; arg8 += 360.0f;
} }
return arg8; return arg8;
} }
void fn_1_8044(Mtx arg0, f32 arg8, f32 arg9, f32 argA) { void fn_1_8044(Mtx arg0, f32 arg8, f32 arg9, f32 argA)
{
Mtx sp38; Mtx sp38;
Mtx sp8; Mtx sp8;
if (0.0f != argA) { if (0.0f != argA) {
PSMTXRotRad(arg0, 0x5A, MTXDegToRad(argA)); MTXRotRad(arg0, 0x5A, MTXDegToRad(argA));
} else { }
PSMTXIdentity(arg0); else {
MTXIdentity(arg0);
} }
if (0.0f != arg8) { if (0.0f != arg8) {
PSMTXRotRad(sp38, 0x58, MTXDegToRad(arg8)); MTXRotRad(sp38, 0x58, MTXDegToRad(arg8));
PSMTXConcat(sp38, arg0, arg0); MTXConcat(sp38, arg0, arg0);
} }
if (0.0f != arg9) { if (0.0f != arg9) {
PSMTXRotRad(sp8, 0x59, MTXDegToRad(arg9)); MTXRotRad(sp8, 0x59, MTXDegToRad(arg9));
PSMTXConcat(sp8, arg0, arg0); MTXConcat(sp8, arg0, arg0);
} }
} }
void fn_1_8164(Mtx arg0, Vec* arg1) { void fn_1_8164(Mtx arg0, Vec *arg1)
{
f32 temp_f29; f32 temp_f29;
f32 var_f28; f32 var_f28;
@ -2500,7 +2483,8 @@ void fn_1_8164(Mtx arg0, Vec* arg1) {
} }
} }
void fn_1_8500(Mtx arg0, Vec* arg1) { void fn_1_8500(Mtx arg0, Vec *arg1)
{
f32 temp_f29; f32 temp_f29;
f32 var_f28; f32 var_f28;
@ -2511,7 +2495,8 @@ void fn_1_8500(Mtx arg0, Vec* arg1) {
arg1->x = atan2d(temp_f29, var_f28); arg1->x = atan2d(temp_f29, var_f28);
} }
f32 fn_1_8750(f32 arg8, f32 arg9, f32 argA, f32 argB) { f32 fn_1_8750(f32 arg8, f32 arg9, f32 argA, f32 argB)
{
f32 temp_f31; f32 temp_f31;
f32 var_f30; f32 var_f30;
@ -2520,22 +2505,25 @@ f32 fn_1_8750(f32 arg8, f32 arg9, f32 argA, f32 argB) {
return var_f30; return var_f30;
} }
void fn_1_87C8(f32* arg0, f32* arg1, f32* arg2, f32* arg3, f32 arg8) { void fn_1_87C8(f32 *arg0, f32 *arg1, f32 *arg2, f32 *arg3, f32 arg8)
{
s32 var_r31; s32 var_r31;
for (var_r31 = 0; var_r31 < 3; var_r31++) { for (var_r31 = 0; var_r31 < 3; var_r31++) {
*arg3++ = fn_1_8750(arg8, *arg0++, *arg1++, *arg2++); *arg3++ = fn_1_8750(arg8, *arg0++, *arg1++, *arg2++);
} }
} }
f32 fn_1_88E4(f32 arg8, f32 arg9, f32 argA, f32 argB) { f32 fn_1_88E4(f32 arg8, f32 arg9, f32 argA, f32 argB)
{
f32 var_f31; f32 var_f31;
var_f31 = 2.0 * ((arg8 - 1.0) * arg9 + (1.0 - (2.0 * arg8)) * argA + (arg8 * argB)); var_f31 = 2.0 * ((arg8 - 1.0) * arg9 + (1.0 - (2.0 * arg8)) * argA + (arg8 * argB));
return var_f31; return var_f31;
} }
void fn_1_895C(f32* arg0, f32* arg1, f32* arg2, f32* arg3, f32 arg8) { void fn_1_895C(f32 *arg0, f32 *arg1, f32 *arg2, f32 *arg3, f32 arg8)
{
f32 spC[3]; f32 spC[3];
f32 var_f29; f32 var_f29;
s32 var_r31; s32 var_r31;
@ -2672,7 +2660,6 @@ void fn_1_9040(float *arg0, Vec *arg1, float arg2[3][3], s32 arg3)
} }
} }
void fn_1_9420(float arg8, float *arg0, float *arg1, float arg2[3][3], float arg3[3][3], s32 arg4) void fn_1_9420(float arg8, float *arg0, float *arg1, float arg2[3][3], float arg3[3][3], s32 arg4)
{ {
float sp48[16]; float sp48[16];
@ -2692,7 +2679,8 @@ void fn_1_9420(float arg8, float *arg0, float *arg1, float arg2[3][3], float arg
} }
} }
f32 fn_1_9634(Vec* arg0) { f32 fn_1_9634(Vec *arg0)
{
f32 var_f30; f32 var_f30;
f32 var_f29; f32 var_f29;
var_f30 = (arg0->x * arg0->x) + (arg0->y * arg0->y) + (arg0->z * arg0->z); var_f30 = (arg0->x * arg0->x) + (arg0->y * arg0->y) + (arg0->z * arg0->z);
@ -2702,24 +2690,28 @@ f32 fn_1_9634(Vec* arg0) {
arg0->x *= var_f29; arg0->x *= var_f29;
arg0->y *= var_f29; arg0->y *= var_f29;
arg0->z *= var_f29; arg0->z *= var_f29;
} else { }
else {
arg0->x = arg0->y = arg0->z = 0.0f; arg0->x = arg0->y = arg0->z = 0.0f;
} }
return var_f30; return var_f30;
} }
f32 fn_1_97CC(Vec arg0, Vec arg1, Vec* arg2, f32 arg8) { f32 fn_1_97CC(Vec arg0, Vec arg1, Vec *arg2, f32 arg8)
{
if (arg8 <= 0.0f) { if (arg8 <= 0.0f) {
arg2->x = arg0.x; arg2->x = arg0.x;
arg2->y = arg0.y; arg2->y = arg0.y;
arg2->z = arg0.z; arg2->z = arg0.z;
arg8 = 0.0f; arg8 = 0.0f;
} else if (arg8 >= 1.0f) { }
else if (arg8 >= 1.0f) {
arg2->x = (arg0.x + arg1.x); arg2->x = (arg0.x + arg1.x);
arg2->y = (arg0.y + arg1.y); arg2->y = (arg0.y + arg1.y);
arg2->z = (arg0.z + arg1.z); arg2->z = (arg0.z + arg1.z);
arg8 = 1.0f; arg8 = 1.0f;
} else { }
else {
arg2->x = (arg0.x + (arg8 * arg1.x)); arg2->x = (arg0.x + (arg8 * arg1.x));
arg2->y = (arg0.y + (arg8 * arg1.y)); arg2->y = (arg0.y + (arg8 * arg1.y));
arg2->z = (arg0.z + (arg8 * arg1.z)); arg2->z = (arg0.z + (arg8 * arg1.z));
@ -2727,7 +2719,8 @@ f32 fn_1_97CC(Vec arg0, Vec arg1, Vec* arg2, f32 arg8) {
return arg8; return arg8;
} }
f32 fn_1_98A4(Vec arg0, Vec arg1, Vec arg2) { f32 fn_1_98A4(Vec arg0, Vec arg1, Vec arg2)
{
f32 temp_f30; f32 temp_f30;
f32 var_f31; f32 var_f31;
@ -2739,21 +2732,24 @@ f32 fn_1_98A4(Vec arg0, Vec arg1, Vec arg2) {
return var_f31; return var_f31;
} }
f32 fn_1_9960(Vec* arg0, Vec* arg1, Vec* arg2) { f32 fn_1_9960(Vec *arg0, Vec *arg1, Vec *arg2)
{
Vec sp44; Vec sp44;
f32 var_f31; f32 var_f31;
f32 var_f30; f32 var_f30;
f32 temp_f29; f32 temp_f29;
if (0.0f == ((arg2->z * arg2->z) + ((arg2->x * arg2->x) + (arg2->y * arg2->y)))) { if (0.0f == ((arg2->z * arg2->z) + ((arg2->x * arg2->x) + (arg2->y * arg2->y)))) {
return ((arg0->z - arg1->z) * (arg0->z - arg1->z)) + (((arg0->x - arg1->x) * (arg0->x - arg1->x)) + ((arg0->y - arg1->y) * (arg0->y - arg1->y))); return ((arg0->z - arg1->z) * (arg0->z - arg1->z))
+ (((arg0->x - arg1->x) * (arg0->x - arg1->x)) + ((arg0->y - arg1->y) * (arg0->y - arg1->y)));
} }
var_f31 = fn_1_98A4(*arg0, *arg1, *arg2); var_f31 = fn_1_98A4(*arg0, *arg1, *arg2);
fn_1_97CC(*arg1, *arg2, &sp44, var_f31); fn_1_97CC(*arg1, *arg2, &sp44, var_f31);
return ((arg0->z - sp44.z) * (arg0->z - sp44.z)) + (((arg0->x - sp44.x) * (arg0->x - sp44.x)) + ((arg0->y - sp44.y) * (arg0->y - sp44.y))); return ((arg0->z - sp44.z) * (arg0->z - sp44.z)) + (((arg0->x - sp44.x) * (arg0->x - sp44.x)) + ((arg0->y - sp44.y) * (arg0->y - sp44.y)));
} }
f32 fn_1_9C9C(Vec* arg0, Vec* arg1, Vec* arg2, Vec* arg3, Vec* arg4) { f32 fn_1_9C9C(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3, Vec *arg4)
{
f32 sp44; f32 sp44;
f32 sp40; f32 sp40;
f32 sp3C; f32 sp3C;
@ -2778,7 +2774,8 @@ f32 fn_1_9C9C(Vec* arg0, Vec* arg1, Vec* arg2, Vec* arg3, Vec* arg4) {
f64 temp_f31_3; f64 temp_f31_3;
if (0.0f == ((arg2->z * arg2->z) + ((arg2->x * arg2->x) + (arg2->y * arg2->y)))) { if (0.0f == ((arg2->z * arg2->z) + ((arg2->x * arg2->x) + (arg2->y * arg2->y)))) {
return ((arg0->z - arg1->z) * (arg0->z - arg1->z)) + (((arg0->x - arg1->x) * (arg0->x - arg1->x)) + ((arg0->y - arg1->y) * (arg0->y - arg1->y))); return ((arg0->z - arg1->z) * (arg0->z - arg1->z))
+ (((arg0->x - arg1->x) * (arg0->x - arg1->x)) + ((arg0->y - arg1->y) * (arg0->y - arg1->y)));
} }
var_f27 = fn_1_98A4(*arg0, *arg1, *arg2); var_f27 = fn_1_98A4(*arg0, *arg1, *arg2);
fn_1_97CC(*arg1, *arg2, arg3, var_f27); fn_1_97CC(*arg1, *arg2, arg3, var_f27);
@ -2789,7 +2786,8 @@ f32 fn_1_9C9C(Vec* arg0, Vec* arg1, Vec* arg2, Vec* arg3, Vec* arg4) {
return fn_1_9634(arg4); return fn_1_9634(arg4);
} }
f32 fn_1_A14C(Vec* arg0, Vec* arg1, Vec* arg2, Vec* arg3) { f32 fn_1_A14C(Vec *arg0, Vec *arg1, Vec *arg2, Vec *arg3)
{
f32 temp_f31; f32 temp_f31;
f32 var_f30; f32 var_f30;
f32 var_f29; f32 var_f29;
@ -2809,14 +2807,17 @@ f32 fn_1_A14C(Vec* arg0, Vec* arg1, Vec* arg2, Vec* arg3) {
if (var_f28 >= var_f27) { if (var_f28 >= var_f27) {
if (var_f28 >= var_f26) { if (var_f28 >= var_f26) {
var_r30 = 1; var_r30 = 1;
} else { }
else {
var_r30 = 0x100; var_r30 = 0x100;
} }
var_r31 = var_r30; var_r31 = var_r30;
} else { }
else {
if (var_f27 >= var_f26) { if (var_f27 >= var_f26) {
var_r29 = 0x10; var_r29 = 0x10;
} else { }
else {
var_r29 = 0x100; var_r29 = 0x100;
} }
var_r31 = var_r29; var_r31 = var_r29;
@ -2827,30 +2828,38 @@ f32 fn_1_A14C(Vec* arg0, Vec* arg1, Vec* arg2, Vec* arg3) {
return var_f30; return var_f30;
} }
var_f29 = ((arg3->z * (arg0->x - arg2->x)) - (arg3->x * (arg0->z - arg2->z))) / temp_f31; var_f29 = ((arg3->z * (arg0->x - arg2->x)) - (arg3->x * (arg0->z - arg2->z))) / temp_f31;
} else if (0.0f == (temp_f31 = (arg3->y * arg1->x) - (arg3->x * arg1->y))) { }
else if (0.0f == (temp_f31 = (arg3->y * arg1->x) - (arg3->x * arg1->y))) {
return var_f30; return var_f30;
} else { }
else {
var_f29 = ((arg3->x * (arg0->y - arg2->y)) - (arg3->y * (arg0->x - arg2->x))) / temp_f31; var_f29 = ((arg3->x * (arg0->y - arg2->y)) - (arg3->y * (arg0->x - arg2->x))) / temp_f31;
} }
} else if ((var_r31 & 0x30) != 0) { }
else if ((var_r31 & 0x30) != 0) {
if ((0.0f != arg1->x) || (0.0f != arg1->y)) { if ((0.0f != arg1->x) || (0.0f != arg1->y)) {
if (0.0f == (temp_f31 = (arg3->y * arg1->x) - (arg3->x * arg1->y))) { if (0.0f == (temp_f31 = (arg3->y * arg1->x) - (arg3->x * arg1->y))) {
return var_f30; return var_f30;
} }
var_f29 = ((arg3->x * (arg0->y - arg2->y)) - (arg3->y * (arg0->x - arg2->x))) / temp_f31; var_f29 = ((arg3->x * (arg0->y - arg2->y)) - (arg3->y * (arg0->x - arg2->x))) / temp_f31;
} else if (0.0f == (temp_f31 = (arg3->z * arg1->y) - (arg3->y * arg1->z))) { }
else if (0.0f == (temp_f31 = (arg3->z * arg1->y) - (arg3->y * arg1->z))) {
return var_f30; return var_f30;
} else { }
else {
var_f29 = ((arg3->y * (arg0->z - arg2->z)) - (arg3->z * (arg0->y - arg2->y))) / temp_f31; var_f29 = ((arg3->y * (arg0->z - arg2->z)) - (arg3->z * (arg0->y - arg2->y))) / temp_f31;
} }
} else if ((0.0f != arg1->x) || (0.0f != arg1->z)) { }
else if ((0.0f != arg1->x) || (0.0f != arg1->z)) {
if (0.0f == (temp_f31 = (arg3->x * arg1->z) - (arg3->z * arg1->x))) { if (0.0f == (temp_f31 = (arg3->x * arg1->z) - (arg3->z * arg1->x))) {
return var_f30; return var_f30;
} }
var_f29 = ((arg3->z * (arg0->x - arg2->x)) - (arg3->x * (arg0->z - arg2->z))) / temp_f31; var_f29 = ((arg3->z * (arg0->x - arg2->x)) - (arg3->x * (arg0->z - arg2->z))) / temp_f31;
} else if (0.0f == (temp_f31 = (arg3->z * arg1->y) - (arg3->y * arg1->z))) { }
else if (0.0f == (temp_f31 = (arg3->z * arg1->y) - (arg3->y * arg1->z))) {
return var_f30; return var_f30;
} else { }
else {
var_f29 = ((arg3->y * (arg0->z - arg2->z)) - (arg3->z * (arg0->y - arg2->y))) / temp_f31; var_f29 = ((arg3->y * (arg0->z - arg2->z)) - (arg3->z * (arg0->y - arg2->y))) / temp_f31;
} }
return var_f29; return var_f29;
@ -2871,11 +2880,31 @@ void fn_1_A688(omObjData *object) { }
Vec lbl_1_data_514 = { -850.0f, 0.0f, -850.0f }; Vec lbl_1_data_514 = { -850.0f, 0.0f, -850.0f };
s32 lbl_1_data_520[25] = { s32 lbl_1_data_520[25] = {
-0x62, -0x61, -0x60, -0x5F, -0x5E, -0x62,
-0x32, -0x31, -0x30, -0x2F, -0x2E, -0x61,
-0x2, -0x1, 0x0, 0x1, 0x2, -0x60,
0x2E, 0x2F, 0x30, 0x31, 0x32, -0x5F,
0x5E, 0x5F, 0x60, 0x61, 0x62, -0x5E,
-0x32,
-0x31,
-0x30,
-0x2F,
-0x2E,
-0x2,
-0x1,
0x0,
0x1,
0x2,
0x2E,
0x2F,
0x30,
0x31,
0x32,
0x5E,
0x5F,
0x60,
0x61,
0x62,
}; };
u32 lbl_1_data_584[25] = { u32 lbl_1_data_584[25] = {
@ -2906,18 +2935,20 @@ u32 lbl_1_data_584[25] = {
0x50, 0x50,
}; };
#define getData(v, off) &( &( *OM_GET_DATA_PTR(lbl_1_bss_DBC, M438UnkType) )[ (u32)(0.028235294f * (v.x - off)) ] )[ (u32)(0.028235294f * (v.z - off)) * 0x30 ] #define getData(v, off) \
&(&(*OM_GET_DATA_PTR(lbl_1_bss_DBC, M438UnkType))[(u32)(0.028235294f * (v.x - off))])[(u32)(0.028235294f * (v.z - off)) * 0x30]
void fn_1_A68C(ModelData* model, Mtx matrix) { void fn_1_A68C(ModelData *model, Mtx matrix)
{
Vec sp14; Vec sp14;
Vec sp8; Vec sp8;
M438StructBss298* var_r30; M438StructBss298 *var_r30;
f32 var_f31; f32 var_f31;
omObjData* temp_r27; omObjData *temp_r27;
s32 var_r28; s32 var_r28;
s32 var_r29; s32 var_r29;
u8* temp_r26; u8 *temp_r26;
u8* var_r25; u8 *var_r25;
M438MainWork *temp_r31; M438MainWork *temp_r31;
if ((u8)omPauseChk() == 0) { if ((u8)omPauseChk() == 0) {
@ -2929,9 +2960,9 @@ void fn_1_A68C(ModelData* model, Mtx matrix) {
var_f31 = 0.0f; var_f31 = 0.0f;
for (var_f31 = 0.0f; var_f31 < (35.416668f + var_r30->unk_14); var_f31 += 35.416668f) { for (var_f31 = 0.0f; var_f31 < (35.416668f + var_r30->unk_14); var_f31 += 35.416668f) {
PSVECScale(&var_r30->unk_24, &sp8, var_f31); VECScale(&var_r30->unk_24, &sp8, var_f31);
PSVECAdd(&var_r30->unk_18, &sp8, &sp14); VECAdd(&var_r30->unk_18, &sp8, &sp14);
PSVECSubtract(&sp14, &lbl_1_data_514, &sp14); VECSubtract(&sp14, &lbl_1_data_514, &sp14);
// @todo make this look nicer // @todo make this look nicer
// var_r25 = getData(sp14, 0); // var_r25 = getData(sp14, 0);
@ -2946,12 +2977,12 @@ void fn_1_A68C(ModelData* model, Mtx matrix) {
} }
} }
for (var_r29 = 0; var_r29 < 4; var_r29++) { for (var_r29 = 0; var_r29 < 4; var_r29++) {
if ((omObjData* ) lbl_1_bss_DC4[var_r29]) { if ((omObjData *)lbl_1_bss_DC4[var_r29]) {
temp_r27 = lbl_1_bss_DC4[var_r29]; temp_r27 = lbl_1_bss_DC4[var_r29];
temp_r31 = temp_r27->data; temp_r31 = temp_r27->data;
if ((temp_r31) && (temp_r31->unk_68 != 0)) { if ((temp_r31) && (temp_r31->unk_68 != 0)) {
temp_r31->unk_68 = 0; temp_r31->unk_68 = 0;
PSVECAdd(&temp_r31->unk_6C, &temp_r31->unk_4C, &sp14); VECAdd(&temp_r31->unk_6C, &temp_r31->unk_4C, &sp14);
temp_r31->unk_64 = fn_1_AE18(temp_r27->work[0], temp_r31->unk_7C, &sp14, &temp_r31->unk_58); temp_r31->unk_64 = fn_1_AE18(temp_r27->work[0], temp_r31->unk_7C, &sp14, &temp_r31->unk_58);
} }
} }
@ -2960,7 +2991,8 @@ void fn_1_A68C(ModelData* model, Mtx matrix) {
} }
} }
u32 fn_1_A8FC(Vec* arg0, f32 arg8) { u32 fn_1_A8FC(Vec *arg0, f32 arg8)
{
Vec sp2C; Vec sp2C;
Vec sp20; Vec sp20;
Vec sp14; Vec sp14;
@ -2976,11 +3008,11 @@ u32 fn_1_A8FC(Vec* arg0, f32 arg8) {
var_r30 = 0; var_r30 = 0;
var_r28 = 0; var_r28 = 0;
temp_f28 = 100.0f * (4.5f - (2.0f * arg8)); temp_f28 = 100.0f * (4.5f - (2.0f * arg8));
var_f31 = PSVECMag(arg0); var_f31 = VECMag(arg0);
if (var_f31 > 280.0f) { if (var_f31 > 280.0f) {
if (var_f31 > 560.0f) { if (var_f31 > 560.0f) {
var_r28 = 1; var_r28 = 1;
PSVECNormalize(arg0, &sp14); VECNormalize(arg0, &sp14);
} }
var_f31 -= 280.0f; var_f31 -= 280.0f;
var_f31 *= 0.12987013f; var_f31 *= 0.12987013f;
@ -2999,17 +3031,17 @@ u32 fn_1_A8FC(Vec* arg0, f32 arg8) {
sp8.x = sind(temp_r31->unk_08); sp8.x = sind(temp_r31->unk_08);
sp8.y = 0.0f; sp8.y = 0.0f;
sp8.z = cosd(temp_r31->unk_08); sp8.z = cosd(temp_r31->unk_08);
PSVECScale(&sp8, &sp20, 600.0f + (100.0f * (8.0f * arg8))); VECScale(&sp8, &sp20, 600.0f + (100.0f * (8.0f * arg8)));
var_f30 = fn_1_B440(arg0, &sp2C, &sp20); var_f30 = fn_1_B440(arg0, &sp2C, &sp20);
if (var_f30 > -0.2f && var_f30 < 1.0f) { if (var_f30 > -0.2f && var_f30 < 1.0f) {
PSVECScale(&sp20, &sp20, var_f30); VECScale(&sp20, &sp20, var_f30);
PSVECAdd(&sp2C, &sp20, &sp2C); VECAdd(&sp2C, &sp20, &sp2C);
PSVECSubtract(&sp2C, arg0, &sp20); VECSubtract(&sp2C, arg0, &sp20);
var_f31 = PSVECMag(&sp20); var_f31 = VECMag(&sp20);
if (var_f31 < temp_f28) { if (var_f31 < temp_f28) {
var_f29 = 0.0f; var_f29 = 0.0f;
if (var_r28 != 0) { if (var_r28 != 0) {
var_f29 = PSVECDotProduct(&sp14, &sp8); var_f29 = VECDotProduct(&sp14, &sp8);
var_f29 = 1.0 - fabs(var_f29); var_f29 = 1.0 - fabs(var_f29);
} }
var_f31 = (1.0f / temp_f28) * (temp_f28 - var_f31); var_f31 = (1.0f / temp_f28) * (temp_f28 - var_f31);
@ -3026,8 +3058,8 @@ u32 fn_1_A8FC(Vec* arg0, f32 arg8) {
} }
break; break;
default: default:
PSVECSubtract(arg0, &sp2C, &sp20); VECSubtract(arg0, &sp2C, &sp20);
var_f31 = PSVECMag(&sp20); var_f31 = VECMag(&sp20);
if (var_f31 < 600.0f) { if (var_f31 < 600.0f) {
var_f31 = 800.0f - var_f31; var_f31 = 800.0f - var_f31;
var_f31 = 20.0f + (0.1f * var_f31); var_f31 = 20.0f + (0.1f * var_f31);
@ -3073,14 +3105,15 @@ Vec lbl_1_data_69C[9] = {
s32 lbl_1_data_708[9] = { 0, -19, -18, -17, -1, 1, 0x11, 0x12, 0x13 }; s32 lbl_1_data_708[9] = { 0, -19, -18, -17, -1, 1, 0x11, 0x12, 0x13 };
s32 lbl_1_data_72C[9] = { 0, -38, -54, -34, -3, 3, 0x22, 0x36, 0x26 }; s32 lbl_1_data_72C[9] = { 0, -38, -54, -34, -3, 3, 0x22, 0x36, 0x26 };
s32 fn_1_AE18(u32 arg0, f32 arg8, Vec* arg1, Vec* arg2) { s32 fn_1_AE18(u32 arg0, f32 arg8, Vec *arg1, Vec *arg2)
{
s32 sp58[9]; s32 sp58[9];
Vec sp4C; Vec sp4C;
Vec sp40; Vec sp40;
Vec sp34; Vec sp34;
Vec sp28; Vec sp28;
Vec sp1C; Vec sp1C;
u8* sp18; u8 *sp18;
u32 sp14; u32 sp14;
u32 sp10; u32 sp10;
f32 var_f31; f32 var_f31;
@ -3091,16 +3124,16 @@ s32 fn_1_AE18(u32 arg0, f32 arg8, Vec* arg1, Vec* arg2) {
s32 var_r30; s32 var_r30;
u32 var_r29; u32 var_r29;
s32 var_r28; s32 var_r28;
u16* temp_r27; u16 *temp_r27;
s32 var_r26; s32 var_r26;
M438MainWork *var_r25; M438MainWork *var_r25;
u8* temp_r24; u8 *temp_r24;
s32 var_r23; s32 var_r23;
u8* var_r22; u8 *var_r22;
u16* var_r21; u16 *var_r21;
u32 var_r19; u32 var_r19;
u32 var_r18; u32 var_r18;
u8* temp_r17; u8 *temp_r17;
memset(lbl_1_bss_C, 0, 0x288); memset(lbl_1_bss_C, 0, 0x288);
sp40 = *arg1; sp40 = *arg1;
@ -3113,9 +3146,9 @@ s32 fn_1_AE18(u32 arg0, f32 arg8, Vec* arg1, Vec* arg2) {
temp_f28 = var_r25->unk_3C; temp_f28 = var_r25->unk_3C;
var_r19 = 0x2710; var_r19 = 0x2710;
var_r18 = 0; var_r18 = 0;
for (var_r30 = 0; var_r30 < 9; var_r30++) { for (var_r30 = 0; var_r30 < 9; var_r30++) {
PSVECAdd(&sp40, &lbl_1_data_60C[var_r30], &sp34); VECAdd(&sp40, &lbl_1_data_60C[var_r30], &sp34);
sp18 = temp_r17 + lbl_1_data_5E8[var_r30]; sp18 = temp_r17 + lbl_1_data_5E8[var_r30];
(void)temp_r17; (void)temp_r17;
var_r21 = &(&lbl_1_bss_C[lbl_1_data_708[var_r30]])[0xAB]; var_r21 = &(&lbl_1_bss_C[lbl_1_data_708[var_r30]])[0xAB];
@ -3123,12 +3156,13 @@ s32 fn_1_AE18(u32 arg0, f32 arg8, Vec* arg1, Vec* arg2) {
var_r29 = 0; var_r29 = 0;
var_r22 = sp18; var_r22 = sp18;
sp28 = sp34; sp28 = sp34;
for (var_r23 = 0; var_r23 < 3; var_r23++) { for (var_r23 = 0; var_r23 < 3; var_r23++) {
for (var_r28 = 0; var_r28 < 9; var_r28++) { for (var_r28 = 0; var_r28 < 9; var_r28++) {
temp_r24 = var_r22 + lbl_1_data_5E8[var_r28]; temp_r24 = var_r22 + lbl_1_data_5E8[var_r28];
PSVECAdd(&sp28, &lbl_1_data_60C[var_r28], &sp4C); VECAdd(&sp28, &lbl_1_data_60C[var_r28], &sp4C);
if ((lbl_1_bss_DBC->data <= temp_r24) && (((u8*)lbl_1_bss_DBC->data + 0x900 > temp_r24) && (fabs(sp4C.x) < 850.0) && (fabs(sp4C.z) < 850.0))) { if ((lbl_1_bss_DBC->data <= temp_r24)
&& (((u8 *)lbl_1_bss_DBC->data + 0x900 > temp_r24) && (fabs(sp4C.x) < 850.0) && (fabs(sp4C.z) < 850.0))) {
var_f31++; var_f31++;
temp_r27 = &var_r21[lbl_1_data_708[var_r28]]; temp_r27 = &var_r21[lbl_1_data_708[var_r28]];
if (*temp_r27 == 0) { if (*temp_r27 == 0) {
@ -3142,9 +3176,9 @@ s32 fn_1_AE18(u32 arg0, f32 arg8, Vec* arg1, Vec* arg2) {
for (var_r26 = 0; var_r26 < 4; var_r26++) { for (var_r26 = 0; var_r26 < 4; var_r26++) {
if (var_r26 != arg0) { if (var_r26 != arg0) {
var_r25 = lbl_1_bss_DC4[var_r26]->data; var_r25 = lbl_1_bss_DC4[var_r26]->data;
PSVECSubtract(&sp4C, &var_r25->unk_6C, &sp1C); VECSubtract(&sp4C, &var_r25->unk_6C, &sp1C);
sp1C.y = 0.0f; sp1C.y = 0.0f;
var_f30 = PSVECMag(&sp1C); var_f30 = VECMag(&sp1C);
if (var_f30 < var_f29) { if (var_f30 < var_f29) {
var_f30 = var_f29 - var_f30; var_f30 = var_f29 - var_f30;
var_f30 *= (40.0f / var_f29); var_f30 *= (40.0f / var_f29);
@ -3153,7 +3187,8 @@ s32 fn_1_AE18(u32 arg0, f32 arg8, Vec* arg1, Vec* arg2) {
} }
} }
*temp_r27 = ++var_r31; *temp_r27 = ++var_r31;
} else { }
else {
var_r31 = *temp_r27; var_r31 = *temp_r27;
} }
var_r29 += var_r31; var_r29 += var_r31;
@ -3163,7 +3198,7 @@ s32 fn_1_AE18(u32 arg0, f32 arg8, Vec* arg1, Vec* arg2) {
} }
} }
} }
PSVECAdd(&sp28, &lbl_1_data_69C[var_r30], &sp28); VECAdd(&sp28, &lbl_1_data_69C[var_r30], &sp28);
var_r22 += lbl_1_data_678[var_r30]; var_r22 += lbl_1_data_678[var_r30];
var_r21 = &var_r21[lbl_1_data_72C[var_r30]]; var_r21 = &var_r21[lbl_1_data_72C[var_r30]];
var_f31 *= 2.0f; var_f31 *= 2.0f;
@ -3185,14 +3220,15 @@ s32 fn_1_AE18(u32 arg0, f32 arg8, Vec* arg1, Vec* arg2) {
return 0; return 0;
} }
f32 fn_1_B440(Vec* arg0, Vec* arg1, Vec* arg2) { f32 fn_1_B440(Vec *arg0, Vec *arg1, Vec *arg2)
{
Vec sp10; Vec sp10;
f32 temp_f30; f32 temp_f30;
f32 var_f31; f32 var_f31;
PSVECSubtract(arg1, arg0, &sp10); VECSubtract(arg1, arg0, &sp10);
var_f31 = PSVECDotProduct(&sp10, arg2); var_f31 = VECDotProduct(&sp10, arg2);
temp_f30 = -PSVECSquareMag(arg2); temp_f30 = -VECSquareMag(arg2);
if (temp_f30 != 0.0f) { if (temp_f30 != 0.0f) {
var_f31 /= temp_f30; var_f31 /= temp_f30;
} }

View file

@ -1,11 +1,12 @@
#include "REL/m438Dll.h" #include "REL/m438Dll.h"
#include "ext_math.h" #include "ext_math.h"
#include "string.h"
#include "game/hsfanim.h" #include "game/hsfanim.h"
#include "game/hsfmotion.h" #include "game/hsfmotion.h"
#include "game/sprite.h" #include "game/sprite.h"
#include "game/wipe.h" #include "game/wipe.h"
#include "string.h"
// STRUCT // STRUCT
typedef struct M438MapStruct { typedef struct M438MapStruct {
@ -32,8 +33,8 @@ typedef struct M438MapStruct2 {
Vec unk30; Vec unk30;
Vec unk3C; Vec unk3C;
union { union {
M438MainWork4* unk48; M438MainWork4 *unk48;
HsfObject* unk48o; HsfObject *unk48o;
}; };
} M438MapStruct2; } M438MapStruct2;
@ -45,56 +46,51 @@ typedef struct M438MapStruct3 {
} M438MapStruct3; } M438MapStruct3;
// BSS // BSS
omObjData* lbl_1_bss_108C[6]; omObjData *lbl_1_bss_108C[6];
HsfanimStruct01* lbl_1_bss_E34[0x96]; HsfanimStruct01 *lbl_1_bss_E34[0x96];
s32 lbl_1_bss_E30; s32 lbl_1_bss_E30;
s32 lbl_1_bss_E2C; s32 lbl_1_bss_E2C;
s32 lbl_1_bss_E28; s32 lbl_1_bss_E28;
// DATA // DATA
char* lbl_1_data_848[] = { char *lbl_1_data_848[] = { "iwa_s1", "iwa_s2", "iwa_s3", "iwa_s4", "iwa_s5", "iwa_s6", "iwa_s7", "iwa_s8", "iwa_s9", "iwa_s10", "iwa_s11", "iwa_s12",
"iwa_s1", "iwa_s2", "iwa_s3", "iwa_s4", "iwa_s5", "iwa_s13", "iwa_s14", "iwa_s15", "iwa_s16", "iwa_s17", "iwa_s18", "iwa_s19", "iwa_s20", "iwa_s21", "iwa_s22", "iwa_s23", "iwa_s24", "iwa_s25",
"iwa_s6", "iwa_s7", "iwa_s8", "iwa_s9", "iwa_s26", "iwa_s27", "iwa_s28", "iwa_s29", "iwa_s30", "iwa_s31", "iwa_s32" };
"iwa_s10", "iwa_s11", "iwa_s12", "iwa_s13",
"iwa_s14", "iwa_s15", "iwa_s16", "iwa_s17",
"iwa_s18", "iwa_s19", "iwa_s20", "iwa_s21",
"iwa_s22", "iwa_s23", "iwa_s24", "iwa_s25",
"iwa_s26", "iwa_s27", "iwa_s28", "iwa_s29",
"iwa_s30", "iwa_s31", "iwa_s32"
};
// PROTO // PROTO
void fn_1_B54C(omObjData*); void fn_1_B54C(omObjData *);
void fn_1_BF20(omObjData*); void fn_1_BF20(omObjData *);
void fn_1_CAB0(f32); void fn_1_CAB0(f32);
void fn_1_C764(ModelData* model, ParticleData* particle, Mtx matrix); void fn_1_C764(ModelData *model, ParticleData *particle, Mtx matrix);
void fn_1_C8E8(ModelData* model, ParticleData* particle, Mtx matrix); void fn_1_C8E8(ModelData *model, ParticleData *particle, Mtx matrix);
void fn_1_D3FC(ModelData* model, ParticleData* particle, Mtx matrix); void fn_1_D3FC(ModelData *model, ParticleData *particle, Mtx matrix);
void fn_1_D57C(Vec*, f32); void fn_1_D57C(Vec *, f32);
void fn_1_E034(Mtx, Vec*); void fn_1_E034(Mtx, Vec *);
void fn_1_B4D8(Process* arg0) { void fn_1_B4D8(Process *arg0)
omObjData* var_r31; {
omObjData *var_r31;
lbl_1_bss_E30 = 0; lbl_1_bss_E30 = 0;
var_r31 = lbl_1_bss_108C[0] = omAddObjEx(arg0, 0x20, 8, 0, -1, fn_1_B54C); var_r31 = lbl_1_bss_108C[0] = omAddObjEx(arg0, 0x20, 8, 0, -1, fn_1_B54C);
var_r31->work[0] = 0; var_r31->work[0] = 0;
} }
void fn_1_B548(void) {} void fn_1_B548(void) { }
void fn_1_B54C(omObjData* arg0) { void fn_1_B54C(omObjData *arg0)
{
Vec sp20; Vec sp20;
Vec sp14; Vec sp14;
Vec sp8; Vec sp8;
s32 var_r30; s32 var_r30;
s32 var_r29; s32 var_r29;
HsfObject* var_r26; HsfObject *var_r26;
s32 var_r27; s32 var_r27;
M438MapStruct2* var_r28; M438MapStruct2 *var_r28;
HsfanimStruct01* var_r25; HsfanimStruct01 *var_r25;
M438MapStruct* var_r24; M438MapStruct *var_r24;
M438MapStruct3* temp_r23; M438MapStruct3 *temp_r23;
arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x108C, 0x10000000); arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, 0x108C, 0x10000000);
temp_r23 = arg0->data; temp_r23 = arg0->data;
@ -116,29 +112,29 @@ void fn_1_B54C(omObjData* arg0) {
var_r29 = Hu3DTexScrollCreate(arg0->model[1], "lafall"); var_r29 = Hu3DTexScrollCreate(arg0->model[1], "lafall");
Hu3DTexScrollPosMoveSet(var_r29, 0.0f, -(1.0f / 60.0f), 0.0f); Hu3DTexScrollPosMoveSet(var_r29, 0.0f, -(1.0f / 60.0f), 0.0f);
var_r29 = 0; var_r29 = 0;
var_r27 = Hu3DParticleCreate(HuSprAnimReadFile(0x45000C), 0x32); var_r27 = Hu3DParticleCreate(HuSprAnimReadFile(0x45000C), 0x32);
arg0->model[3] = var_r27; arg0->model[3] = var_r27;
Hu3DModelLayerSet(var_r27, 3); Hu3DModelLayerSet(var_r27, 3);
Hu3DParticleHookSet(var_r27, fn_1_C764); Hu3DParticleHookSet(var_r27, fn_1_C764);
for (var_r30 = 0; var_r30 < 0x32; var_r30++, var_r29++) { for (var_r30 = 0; var_r30 < 0x32; var_r30++, var_r29++) {
lbl_1_bss_E34[var_r29] = &((ParticleData*)(Hu3DData[var_r27].unk_120))->unk_48[var_r30]; lbl_1_bss_E34[var_r29] = &((ParticleData *)(Hu3DData[var_r27].unk_120))->unk_48[var_r30];
} }
var_r27 = Hu3DParticleCreate(HuSprAnimReadFile(0x45000D), 0x32); var_r27 = Hu3DParticleCreate(HuSprAnimReadFile(0x45000D), 0x32);
arg0->model[4] = var_r27; arg0->model[4] = var_r27;
Hu3DModelLayerSet(var_r27, 3); Hu3DModelLayerSet(var_r27, 3);
Hu3DParticleHookSet(var_r27, fn_1_C764); Hu3DParticleHookSet(var_r27, fn_1_C764);
for (var_r30 = 0; var_r30 < 0x32; var_r30++, var_r29++) { for (var_r30 = 0; var_r30 < 0x32; var_r30++, var_r29++) {
lbl_1_bss_E34[var_r29] = &((ParticleData*)(Hu3DData[var_r27].unk_120))->unk_48[var_r30]; lbl_1_bss_E34[var_r29] = &((ParticleData *)(Hu3DData[var_r27].unk_120))->unk_48[var_r30];
} }
var_r27 = Hu3DParticleCreate(HuSprAnimReadFile(0x45000E), 0x32); var_r27 = Hu3DParticleCreate(HuSprAnimReadFile(0x45000E), 0x32);
arg0->model[5] = var_r27; arg0->model[5] = var_r27;
Hu3DModelLayerSet(var_r27, 3); Hu3DModelLayerSet(var_r27, 3);
Hu3DParticleHookSet(var_r27, fn_1_C764); Hu3DParticleHookSet(var_r27, fn_1_C764);
for (var_r30 = 0; var_r30 < 0x32; var_r30++, var_r29++) { for (var_r30 = 0; var_r30 < 0x32; var_r30++, var_r29++) {
lbl_1_bss_E34[var_r29] = &((ParticleData*)(Hu3DData[var_r27].unk_120))->unk_48[var_r30]; lbl_1_bss_E34[var_r29] = &((ParticleData *)(Hu3DData[var_r27].unk_120))->unk_48[var_r30];
} }
for (var_r30 = 0; var_r30 < 0x95; var_r30++) { for (var_r30 = 0; var_r30 < 0x95; var_r30++) {
for (var_r29 = 1; var_r29 < 0x96; var_r29++) { for (var_r29 = 1; var_r29 < 0x96; var_r29++) {
@ -155,24 +151,24 @@ void fn_1_B54C(omObjData* arg0) {
lbl_1_bss_E34[var_r30]->unk40.a = 0; lbl_1_bss_E34[var_r30]->unk40.a = 0;
lbl_1_bss_E34[var_r30]->unk00 = 0; lbl_1_bss_E34[var_r30]->unk00 = 0;
} }
var_r27 = Hu3DParticleCreate(HuSprAnimReadFile(0x45000F), 0x32); var_r27 = Hu3DParticleCreate(HuSprAnimReadFile(0x45000F), 0x32);
arg0->model[6] = var_r27; arg0->model[6] = var_r27;
Hu3DModelLayerSet(var_r27, 3); Hu3DModelLayerSet(var_r27, 3);
Hu3DParticleHookSet(var_r27, fn_1_C8E8); Hu3DParticleHookSet(var_r27, fn_1_C8E8);
var_r25 = &((ParticleData*)(Hu3DData[var_r27].unk_120))->unk_48[0]; var_r25 = &((ParticleData *)(Hu3DData[var_r27].unk_120))->unk_48[0];
for (var_r30 = 0; var_r30 < 0x32; var_r30++, var_r25++) { for (var_r30 = 0; var_r30 < 0x32; var_r30++, var_r25++) {
var_r25->unk2C = 0.0f; var_r25->unk2C = 0.0f;
var_r25->unk40.a = 0; var_r25->unk40.a = 0;
var_r25->unk00 = 0; var_r25->unk00 = 0;
} }
var_r27 = Hu3DParticleCreate(HuSprAnimReadFile(0x450010), 0x1F4); var_r27 = Hu3DParticleCreate(HuSprAnimReadFile(0x450010), 0x1F4);
arg0->model[7] = var_r27; arg0->model[7] = var_r27;
Hu3DModelLayerSet(var_r27, 2); Hu3DModelLayerSet(var_r27, 2);
Hu3DParticleBlendModeSet(var_r27, 1); Hu3DParticleBlendModeSet(var_r27, 1);
Hu3DParticleHookSet(var_r27, fn_1_D3FC); Hu3DParticleHookSet(var_r27, fn_1_D3FC);
var_r25 = &((ParticleData*)(Hu3DData[var_r27].unk_120))->unk_48[0]; var_r25 = &((ParticleData *)(Hu3DData[var_r27].unk_120))->unk_48[0];
for (var_r30 = 0; var_r30 < 0x1F4; var_r30++, var_r25++) { for (var_r30 = 0; var_r30 < 0x1F4; var_r30++, var_r25++) {
var_r25->unk2C = 0.0f; var_r25->unk2C = 0.0f;
var_r25->unk40.a = 0; var_r25->unk40.a = 0;
@ -191,27 +187,27 @@ void fn_1_B54C(omObjData* arg0) {
sp8.x = sp8.y = sp8.z = 100000.0f; sp8.x = sp8.y = sp8.z = 100000.0f;
for (var_r29 = 0; var_r29 < var_r26->data.vertex->count; var_r29++) { for (var_r29 = 0; var_r29 < var_r26->data.vertex->count; var_r29++) {
if (((Vec*)var_r26->data.vertex->data)[var_r29].x > sp14.x) { if (((Vec *)var_r26->data.vertex->data)[var_r29].x > sp14.x) {
sp14.x = ((Vec*)var_r26->data.vertex->data)[var_r29].x; sp14.x = ((Vec *)var_r26->data.vertex->data)[var_r29].x;
} }
if (((Vec*)var_r26->data.vertex->data)[var_r29].y > sp14.y) { if (((Vec *)var_r26->data.vertex->data)[var_r29].y > sp14.y) {
sp14.y = ((Vec*)var_r26->data.vertex->data)[var_r29].y; sp14.y = ((Vec *)var_r26->data.vertex->data)[var_r29].y;
} }
if (((Vec*)var_r26->data.vertex->data)[var_r29].z > sp14.z) { if (((Vec *)var_r26->data.vertex->data)[var_r29].z > sp14.z) {
sp14.z = ((Vec*)var_r26->data.vertex->data)[var_r29].z; sp14.z = ((Vec *)var_r26->data.vertex->data)[var_r29].z;
} }
if (((Vec*)var_r26->data.vertex->data)[var_r29].x < sp8.x) { if (((Vec *)var_r26->data.vertex->data)[var_r29].x < sp8.x) {
sp8.x = ((Vec*)var_r26->data.vertex->data)[var_r29].x; sp8.x = ((Vec *)var_r26->data.vertex->data)[var_r29].x;
} }
if (((Vec*)var_r26->data.vertex->data)[var_r29].y < sp8.y) { if (((Vec *)var_r26->data.vertex->data)[var_r29].y < sp8.y) {
sp8.y = ((Vec*)var_r26->data.vertex->data)[var_r29].y; sp8.y = ((Vec *)var_r26->data.vertex->data)[var_r29].y;
} }
if (((Vec*)var_r26->data.vertex->data)[var_r29].z < sp8.z) { if (((Vec *)var_r26->data.vertex->data)[var_r29].z < sp8.z) {
sp8.z = ((Vec*)var_r26->data.vertex->data)[var_r29].z; sp8.z = ((Vec *)var_r26->data.vertex->data)[var_r29].z;
} }
} }
PSVECAdd(&sp14, &sp8, &sp20); VECAdd(&sp14, &sp8, &sp20);
PSVECScale(&sp20, &sp20, 0.5f); VECScale(&sp20, &sp20, 0.5f);
var_r28->unk24 = sp20; var_r28->unk24 = sp20;
var_r28->unk30 = var_r28->unk24; var_r28->unk30 = var_r28->unk24;
var_r28->unk8 = (360.0 + atan2d(sp20.x, sp20.z)); var_r28->unk8 = (360.0 + atan2d(sp20.x, sp20.z));
@ -241,7 +237,7 @@ Vec lbl_1_data_8D8[4][2] = {
{ -867.0f, -80.0f, -485.0f }, { -867.0f, -80.0f, -485.0f },
}, },
{ {
{ -917.0f, -80.0f, -857.0f }, { -917.0f, -80.0f, -857.0f },
{ -817.0f, -80.0f, -1030.0f }, { -817.0f, -80.0f, -1030.0f },
}, },
{ {
@ -249,12 +245,13 @@ Vec lbl_1_data_8D8[4][2] = {
{ 867.0f, -80.0f, -485.0f }, { 867.0f, -80.0f, -485.0f },
}, },
{ {
{ 917.0f, -80.0f, -857.0f }, { 917.0f, -80.0f, -857.0f },
{ 817.0f, -80.0f, -1030.0f }, { 817.0f, -80.0f, -1030.0f },
}, },
}; };
void fn_1_BF20(omObjData* arg0) { void fn_1_BF20(omObjData *arg0)
{
Mtx sp5C; Mtx sp5C;
Mtx sp2C; Mtx sp2C;
Vec sp20; Vec sp20;
@ -264,18 +261,18 @@ void fn_1_BF20(omObjData* arg0) {
f32 temp_f30; f32 temp_f30;
f32 temp_f31; f32 temp_f31;
s32 var_r29; s32 var_r29;
M438MapStruct2* var_r31; M438MapStruct2 *var_r31;
M438MapStruct* var_r30; M438MapStruct *var_r30;
M438MapStruct3* temp_r28; M438MapStruct3 *temp_r28;
temp_r28 = arg0->data; temp_r28 = arg0->data;
temp_r28->unk0++; temp_r28->unk0++;
var_r31 = &temp_r28->unk4; var_r31 = &temp_r28->unk4;
for (var_r29 = 0; var_r29 < 0x20; var_r29++, var_r31++) { for (var_r29 = 0; var_r29 < 0x20; var_r29++, var_r31++) {
if ((var_r31->unk0 == 0) && (var_r31->unk4 != 0)) { if ((var_r31->unk0 == 0) && (var_r31->unk4 != 0)) {
temp_f29 = var_r31->unk30.y; temp_f29 = var_r31->unk30.y;
PSVECAdd(&var_r31->unk30, &var_r31->unk3C, &var_r31->unk30); VECAdd(&var_r31->unk30, &var_r31->unk3C, &var_r31->unk30);
var_r31->unk3C.x *= 0.92f; var_r31->unk3C.x *= 0.92f;
var_r31->unk3C.z *= 0.92f; var_r31->unk3C.z *= 0.92f;
var_r31->unk3C.y += -0.27222225f; var_r31->unk3C.y += -0.27222225f;
@ -290,22 +287,22 @@ void fn_1_BF20(omObjData* arg0) {
sp14.x = sind(90.0f + var_r31->unk8); sp14.x = sind(90.0f + var_r31->unk8);
sp14.z = cosd(90.0f + var_r31->unk8); sp14.z = cosd(90.0f + var_r31->unk8);
sp14.y = 0.0f; sp14.y = 0.0f;
PSMTXRotAxisRad(sp5C, &sp14, MTXDegToRad(var_r31->unkC)); MTXRotAxisRad(sp5C, &sp14, MTXDegToRad(var_r31->unkC));
sp14.x = sp14.z = 0.0f; sp14.x = sp14.z = 0.0f;
sp14.y = 1.0f; sp14.y = 1.0f;
PSMTXRotAxisRad(sp2C, &sp14, MTXDegToRad(var_r31->unk14)); MTXRotAxisRad(sp2C, &sp14, MTXDegToRad(var_r31->unk14));
PSMTXConcat(sp2C, sp5C, sp5C); MTXConcat(sp2C, sp5C, sp5C);
sp14.x = sind(var_r31->unk8); sp14.x = sind(var_r31->unk8);
sp14.z = cosd(var_r31->unk8); sp14.z = cosd(var_r31->unk8);
sp14.y = 0.0f; sp14.y = 0.0f;
PSMTXRotAxisRad(sp2C, &sp14, MTXDegToRad(var_r31->unk1C)); MTXRotAxisRad(sp2C, &sp14, MTXDegToRad(var_r31->unk1C));
PSMTXConcat(sp2C, sp5C, sp5C); MTXConcat(sp2C, sp5C, sp5C);
fn_1_E034(sp5C, &sp20); fn_1_E034(sp5C, &sp20);
var_r31->unk48->unk_28.x = sp20.x; var_r31->unk48->unk_28.x = sp20.x;
var_r31->unk48->unk_28.y = sp20.y; var_r31->unk48->unk_28.y = sp20.y;
var_r31->unk48->unk_28.z = sp20.z; var_r31->unk48->unk_28.z = sp20.z;
PSMTXInverse(sp5C, sp5C); MTXInverse(sp5C, sp5C);
PSMTXMultVec(sp5C, &var_r31->unk24, &sp8); MTXMultVec(sp5C, &var_r31->unk24, &sp8);
var_r31->unk48->unk_1C.x = (var_r31->unk30.x - sp8.x); var_r31->unk48->unk_1C.x = (var_r31->unk30.x - sp8.x);
var_r31->unk48->unk_1C.y = (var_r31->unk30.y - sp8.y); var_r31->unk48->unk_1C.y = (var_r31->unk30.y - sp8.y);
var_r31->unk48->unk_1C.z = (var_r31->unk30.z - sp8.z); var_r31->unk48->unk_1C.z = (var_r31->unk30.z - sp8.z);
@ -316,16 +313,18 @@ void fn_1_BF20(omObjData* arg0) {
} }
if ((temp_r28->unk0 & 1) == 0) { if ((temp_r28->unk0 & 1) == 0) {
var_r30 = &temp_r28->unk984; var_r30 = &temp_r28->unk984;
for (var_r29 = 0; var_r29 < 0x32; var_r29++, var_r30++) { for (var_r29 = 0; var_r29 < 0x32; var_r29++, var_r30++) {
if (var_r30->unk0 != 0) continue; if (var_r30->unk0 != 0)
continue;
var_r30->unk0 = 1; var_r30->unk0 = 1;
var_r30->unk18 = frandmod(0x168); var_r30->unk18 = frandmod(0x168);
if (frandmod(0x64) < 0x14) { if (frandmod(0x64) < 0x14) {
var_r30->unkC.x = (0.8f * (frandmod(0x7D0) - 0x3E8)); var_r30->unkC.x = (0.8f * (frandmod(0x7D0) - 0x3E8));
var_r30->unkC.y = -80.0f; var_r30->unkC.y = -80.0f;
var_r30->unkC.z = ((-1.2f * frandmod(0x3E8)) - 1000.0f); var_r30->unkC.z = ((-1.2f * frandmod(0x3E8)) - 1000.0f);
} else { }
else {
temp_f31 = frandmod(0x168); temp_f31 = frandmod(0x168);
temp_f30 = 800.0f + (0.25f * frandmod(0x3E8)); temp_f30 = 800.0f + (0.25f * frandmod(0x3E8));
var_r30->unkC.x = (temp_f30 * sind(temp_f31)); var_r30->unkC.x = (temp_f30 * sind(temp_f31));
@ -353,13 +352,13 @@ void fn_1_BF20(omObjData* arg0) {
Hu3DModelScaleSet(var_r30->unk4, var_r30->unk1C, var_r30->unk1C, var_r30->unk1C); Hu3DModelScaleSet(var_r30->unk4, var_r30->unk1C, var_r30->unk1C, var_r30->unk1C);
} }
} }
for (var_r29 = 0; var_r29 < 4; var_r29++) { for (var_r29 = 0; var_r29 < 4; var_r29++) {
PSVECSubtract(&lbl_1_data_8D8[var_r29][1], &lbl_1_data_8D8[var_r29][0], &sp14); VECSubtract(&lbl_1_data_8D8[var_r29][1], &lbl_1_data_8D8[var_r29][0], &sp14);
temp_f31 = 0.001f * frandmod(0x3E8); temp_f31 = 0.001f * frandmod(0x3E8);
PSVECScale(&sp14, &sp14, temp_f31); VECScale(&sp14, &sp14, temp_f31);
PSVECAdd(&lbl_1_data_8D8[var_r29][0], &sp14, &sp8); VECAdd(&lbl_1_data_8D8[var_r29][0], &sp14, &sp8);
PSVECScale(&sp8, &sp8, 0.98f); VECScale(&sp8, &sp8, 0.98f);
fn_1_D57C(&sp8, 0.03f); fn_1_D57C(&sp8, 0.03f);
} }
if ((lbl_1_bss_E30 == 0) && (WipeStatGet() == 0)) { if ((lbl_1_bss_E30 == 0) && (WipeStatGet() == 0)) {
@ -369,16 +368,17 @@ void fn_1_BF20(omObjData* arg0) {
} }
} }
void fn_1_C764(ModelData* model, ParticleData* particle, Mtx matrix) { void fn_1_C764(ModelData *model, ParticleData *particle, Mtx matrix)
HsfanimStruct01* var_r31; {
HsfanimStruct01 *var_r31;
s32 var_r29; s32 var_r29;
u16 temp_r0; u16 temp_r0;
var_r31 = particle->unk_48; var_r31 = particle->unk_48;
for (var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) { for (var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) {
if (var_r31->unk00_s16 != 0) { if (var_r31->unk00_s16 != 0) {
PSVECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34); VECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34);
var_r31->unk08.x *= 0.95f; var_r31->unk08.x *= 0.95f;
var_r31->unk08.z *= 0.95f; var_r31->unk08.z *= 0.95f;
var_r31->unk08.y += -0.27222225f; var_r31->unk08.y += -0.27222225f;
@ -395,20 +395,21 @@ void fn_1_C764(ModelData* model, ParticleData* particle, Mtx matrix) {
DCStoreRange(particle->unk_48, particle->unk_30 * 0x44); DCStoreRange(particle->unk_48, particle->unk_30 * 0x44);
} }
void fn_1_C8E8(ModelData* model, ParticleData* particle, Mtx matrix) { void fn_1_C8E8(ModelData *model, ParticleData *particle, Mtx matrix)
HsfanimStruct01* var_r31; {
HsfanimStruct01 *var_r31;
s32 var_r29; s32 var_r29;
u16 temp_r0; u16 temp_r0;
var_r31 = particle->unk_48; var_r31 = particle->unk_48;
for (var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) { for (var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) {
if (var_r31->unk00_s16 != 0) { if (var_r31->unk00_s16 != 0) {
PSVECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34); VECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34);
var_r31->unk08.x *= 0.92f; var_r31->unk08.x *= 0.92f;
var_r31->unk08.z *= 0.92f; var_r31->unk08.z *= 0.92f;
var_r31->unk2C += 5.0f; var_r31->unk2C += 5.0f;
var_r31->unk40.a *= 0.99f; var_r31->unk40.a *= 0.99f;
if (var_r31->unk00_s16 < 24.0f) { if (var_r31->unk00_s16 < 24.0f) {
var_r31->unk40.a = 0.9f * var_r31->unk40.a; var_r31->unk40.a = 0.9f * var_r31->unk40.a;
} }
@ -422,20 +423,21 @@ void fn_1_C8E8(ModelData* model, ParticleData* particle, Mtx matrix) {
DCStoreRange(particle->unk_48, particle->unk_30 * 0x44); DCStoreRange(particle->unk_48, particle->unk_30 * 0x44);
} }
void fn_1_CAB0(f32 arg8) { void fn_1_CAB0(f32 arg8)
{
Vec sp8; Vec sp8;
f32 temp_f31; f32 temp_f31;
f32 temp_f30; f32 temp_f30;
f32 temp_f28; f32 temp_f28;
f32 temp_f27; f32 temp_f27;
HsfanimStruct01* var_r31; HsfanimStruct01 *var_r31;
s32 var_r30; s32 var_r30;
u32 var_r29; u32 var_r29;
temp_f28 = 20.0f; temp_f28 = 20.0f;
temp_f27 = 7.0f; temp_f27 = 7.0f;
var_r29 = 0x19; var_r29 = 0x19;
for (var_r30 = 0; var_r30 < 0x96; var_r30++) { for (var_r30 = 0; var_r30 < 0x96; var_r30++) {
var_r31 = lbl_1_bss_E34[var_r30]; var_r31 = lbl_1_bss_E34[var_r30];
if (var_r31->unk00_s16 == 0) { if (var_r31->unk00_s16 == 0) {
@ -445,12 +447,12 @@ void fn_1_CAB0(f32 arg8) {
sp8.x = sind(temp_f31); sp8.x = sind(temp_f31);
sp8.y = 0.0f; sp8.y = 0.0f;
sp8.z = cosd(temp_f31); sp8.z = cosd(temp_f31);
temp_f31 = arg8 + (((0.002f * frandmod(0x3E8)) - 1.0f)) * temp_f27; temp_f31 = arg8 + (((0.002f * frandmod(0x3E8)) - 1.0f)) * temp_f27;
var_r31->unk34.x = 7.5 * sind(temp_f31) * 100.0; var_r31->unk34.x = 7.5 * sind(temp_f31) * 100.0;
var_r31->unk34.y = 0.2f * frandmod(0x3E8); var_r31->unk34.y = 0.2f * frandmod(0x3E8);
var_r31->unk34.z = 7.5 * cosd(temp_f31) * 100.0; var_r31->unk34.z = 7.5 * cosd(temp_f31) * 100.0;
temp_f30 = 1.6666667f * (4.0f + (0.014f * frandmod(0x3E8))); temp_f30 = 1.6666667f * (4.0f + (0.014f * frandmod(0x3E8)));
var_r31->unk08.x = sp8.x * temp_f30; var_r31->unk08.x = sp8.x * temp_f30;
var_r31->unk08.z = sp8.z * temp_f30; var_r31->unk08.z = sp8.z * temp_f30;
@ -462,10 +464,11 @@ void fn_1_CAB0(f32 arg8) {
var_r31->unk40.r = var_r31->unk40.g = var_r31->unk40.b = 0xFF; var_r31->unk40.r = var_r31->unk40.g = var_r31->unk40.b = 0xFF;
var_r29--; var_r29--;
if (var_r29 < 1) break; if (var_r29 < 1)
break;
} }
} }
var_r31 = ((ParticleData*)(Hu3DData[lbl_1_bss_108C[0]->model[6]].unk_120))->unk_48; var_r31 = ((ParticleData *)(Hu3DData[lbl_1_bss_108C[0]->model[6]].unk_120))->unk_48;
var_r29 = 0xF; var_r29 = 0xF;
for (var_r30 = 0; var_r30 < 0x32; var_r30++, var_r31++) { for (var_r30 = 0; var_r30 < 0x32; var_r30++, var_r31++) {
if (var_r31->unk00_s16 == 0) { if (var_r31->unk00_s16 == 0) {
@ -475,12 +478,12 @@ void fn_1_CAB0(f32 arg8) {
sp8.x = sind(temp_f31); sp8.x = sind(temp_f31);
sp8.y = 0.0f; sp8.y = 0.0f;
sp8.z = cosd(temp_f31); sp8.z = cosd(temp_f31);
temp_f31 = arg8 + (((0.002f * frandmod(0x3E8)) - 1.0f)) * temp_f27; temp_f31 = arg8 + (((0.002f * frandmod(0x3E8)) - 1.0f)) * temp_f27;
var_r31->unk34.x = 7.5 * sind(temp_f31) * 100.0; var_r31->unk34.x = 7.5 * sind(temp_f31) * 100.0;
var_r31->unk34.y = 0.2f * frandmod(0x3E8); var_r31->unk34.y = 0.2f * frandmod(0x3E8);
var_r31->unk34.z = 7.5 * cosd(temp_f31) * 100.0; var_r31->unk34.z = 7.5 * cosd(temp_f31) * 100.0;
temp_f30 = 1.6666667f * -(0.01f * frandmod(0x3E8)); temp_f30 = 1.6666667f * -(0.01f * frandmod(0x3E8));
var_r31->unk08.x = sp8.x * temp_f30; var_r31->unk08.x = sp8.x * temp_f30;
var_r31->unk08.z = sp8.z * temp_f30; var_r31->unk08.z = sp8.z * temp_f30;
@ -495,13 +498,15 @@ void fn_1_CAB0(f32 arg8) {
var_r31->unk40.b = (60.0f * temp_f31) + 54.0f; var_r31->unk40.b = (60.0f * temp_f31) + 54.0f;
var_r29--; var_r29--;
if (var_r29 < 1) break; if (var_r29 < 1)
break;
} }
} }
} }
void fn_1_D3FC(ModelData* model, ParticleData* particle, Mtx matrix) { void fn_1_D3FC(ModelData *model, ParticleData *particle, Mtx matrix)
HsfanimStruct01* var_r31; {
HsfanimStruct01 *var_r31;
s32 var_r29; s32 var_r29;
u16 temp_r0; u16 temp_r0;
@ -509,7 +514,7 @@ void fn_1_D3FC(ModelData* model, ParticleData* particle, Mtx matrix) {
var_r31 = particle->unk_48; var_r31 = particle->unk_48;
for (var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) { for (var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) {
if (var_r31->unk00_s16 != 0) { if (var_r31->unk00_s16 != 0) {
PSVECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34); VECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34);
var_r31->unk08.y += -0.27222225f; var_r31->unk08.y += -0.27222225f;
if (var_r31->unk00_s16 < 12.0f) { if (var_r31->unk00_s16 < 12.0f) {
var_r31->unk40.a = (0.8f * var_r31->unk40.a); var_r31->unk40.a = (0.8f * var_r31->unk40.a);
@ -525,17 +530,18 @@ void fn_1_D3FC(ModelData* model, ParticleData* particle, Mtx matrix) {
DCStoreRange(particle->unk_48, particle->unk_30 * 0x44); DCStoreRange(particle->unk_48, particle->unk_30 * 0x44);
} }
void fn_1_D57C(Vec* arg0, f32 arg1) { void fn_1_D57C(Vec *arg0, f32 arg1)
{
Vec sp8; Vec sp8;
f32 temp_f31; f32 temp_f31;
f32 temp_f29; f32 temp_f29;
HsfanimStruct01* var_r31; HsfanimStruct01 *var_r31;
s32 var_r30; s32 var_r30;
u32 var_r29; u32 var_r29;
var_r31 = ((ParticleData*)(Hu3DData[lbl_1_bss_108C[0]->model[7]].unk_120))->unk_48; var_r31 = ((ParticleData *)(Hu3DData[lbl_1_bss_108C[0]->model[7]].unk_120))->unk_48;
var_r29 = (u32)(3.0f + (15.0f * arg1)); var_r29 = (u32)(3.0f + (15.0f * arg1));
for (var_r30 = 0; var_r30 < 0x1F4; var_r30++, var_r31++) { for (var_r30 = 0; var_r30 < 0x1F4; var_r30++, var_r31++) {
if (var_r31->unk00_s16 == 0) { if (var_r31->unk00_s16 == 0) {
var_r31->unk00_s16 = 60.0f * (0.3f + (0.0003f * frandmod(0x3E8))); var_r31->unk00_s16 = 60.0f * (0.3f + (0.0003f * frandmod(0x3E8)));
@ -557,28 +563,30 @@ void fn_1_D57C(Vec* arg0, f32 arg1) {
var_r31->unk40.a = (frandmod(0x46) + 0x64); var_r31->unk40.a = (frandmod(0x46) + 0x64);
temp_f31 = 0.001f * frandmod(0x3E8); temp_f31 = 0.001f * frandmod(0x3E8);
var_r31->unk40.r = 177.0f + (78.0f * temp_f31); var_r31->unk40.r = 177.0f + (78.0f * temp_f31);
var_r31->unk40.g = 60.0f + (129.0f * temp_f31); var_r31->unk40.g = 60.0f + (129.0f * temp_f31);
var_r31->unk40.b = 30.0f + (122.0f * temp_f31); var_r31->unk40.b = 30.0f + (122.0f * temp_f31);
var_r29--; var_r29--;
if (var_r29 < 1) break; if (var_r29 < 1)
break;
} }
} }
} }
s32 fn_1_DA64(f32 arg8) { s32 fn_1_DA64(f32 arg8)
M438MapStruct3* var_r28; {
M438MapStruct3 *var_r28;
s32 var_r29; s32 var_r29;
s32 var_r30; s32 var_r30;
M438MapStruct2* var_r31; M438MapStruct2 *var_r31;
float var_f31; float var_f31;
float var_f29; float var_f29;
var_r28 = lbl_1_bss_108C[0]->data; var_r28 = lbl_1_bss_108C[0]->data;
var_r29 = 0; var_r29 = 0;
var_r31 = &var_r28->unk4; var_r31 = &var_r28->unk4;
for (var_r30 = 0; var_r30 < 0x20; var_r30++, var_r31++) { for (var_r30 = 0; var_r30 < 0x20; var_r30++, var_r31++) {
var_f31 = fn_1_E5A4(var_r31->unk8, arg8); var_f31 = fn_1_E5A4(var_r31->unk8, arg8);
if ((fabs(var_f31) < 12.0) && (var_r31->unk0 != 0)) { if ((fabs(var_f31) < 12.0) && (var_r31->unk0 != 0)) {
@ -608,17 +616,18 @@ s32 fn_1_DA64(f32 arg8) {
return var_r29; return var_r29;
} }
s32 fn_1_DEA0(f32 arg8) { s32 fn_1_DEA0(f32 arg8)
M438MapStruct3* var_r28; {
M438MapStruct3 *var_r28;
s32 var_r29; s32 var_r29;
s32 var_r30; s32 var_r30;
M438MapStruct2* var_r31; M438MapStruct2 *var_r31;
f32 var_f31; f32 var_f31;
var_r28 = lbl_1_bss_108C[0]->data; var_r28 = lbl_1_bss_108C[0]->data;
var_r29 = 0; var_r29 = 0;
var_r31 = &var_r28->unk4; var_r31 = &var_r28->unk4;
for (var_r30 = 0; var_r30 < 0x20; var_r30++, var_r31++) { for (var_r30 = 0; var_r30 < 0x20; var_r30++, var_r31++) {
var_f31 = fn_1_E5A4(var_r31->unk8, arg8); var_f31 = fn_1_E5A4(var_r31->unk8, arg8);
if ((fabs(var_f31) < 8.0) && (var_r31->unk0 != 0)) { if ((fabs(var_f31) < 8.0) && (var_r31->unk0 != 0)) {
@ -629,7 +638,8 @@ s32 fn_1_DEA0(f32 arg8) {
return var_r29; return var_r29;
} }
f32 fn_1_DF70(f32 arg8, f32 arg9) { f32 fn_1_DF70(f32 arg8, f32 arg9)
{
f32 temp_f30; f32 temp_f30;
f32 var_f31; f32 var_f31;
@ -637,13 +647,16 @@ f32 fn_1_DF70(f32 arg8, f32 arg9) {
var_f31 = 180.0 * (atan2f(arg9, arg8) / M_PI); var_f31 = 180.0 * (atan2f(arg9, arg8) / M_PI);
if (var_f31 < 0.0f) { if (var_f31 < 0.0f) {
var_f31 += temp_f30; var_f31 += temp_f30;
} else if (var_f31 >= temp_f30) {
}
else if (var_f31 >= temp_f30) {
var_f31 -= temp_f30; var_f31 -= temp_f30;
} }
return var_f31; return var_f31;
} }
void fn_1_E034(Mtx arg0, Vec* arg1) { void fn_1_E034(Mtx arg0, Vec *arg1)
{
f32 var_f26; f32 var_f26;
f32 temp_f25; f32 temp_f25;
@ -659,7 +672,8 @@ void fn_1_E034(Mtx arg0, Vec* arg1) {
arg1->y = fn_1_DF70(var_f26, temp_f25); arg1->y = fn_1_DF70(var_f26, temp_f25);
} }
f32 fn_1_E488(f32 arg8, f32 arg9, f32 argA) { f32 fn_1_E488(f32 arg8, f32 arg9, f32 argA)
{
f32 var_f31; f32 var_f31;
var_f31 = fmodf((arg9 - arg8), 360.0); var_f31 = fmodf((arg9 - arg8), 360.0);
@ -676,7 +690,8 @@ f32 fn_1_E488(f32 arg8, f32 arg9, f32 argA) {
return var_f31; return var_f31;
} }
f32 fn_1_E5A4(f32 arg8, f32 arg9) { f32 fn_1_E5A4(f32 arg8, f32 arg9)
{
f32 var_f31; f32 var_f31;
var_f31 = fmodf((arg9 - arg8), 360.0); var_f31 = fmodf((arg9 - arg8), 360.0);

View file

@ -1276,7 +1276,7 @@ void fn_1_57B4(unkStruct6 *arg0)
var_r31->unkB8.z *= 0.5f; var_r31->unkB8.z *= 0.5f;
} }
} }
PSMTXScale(sp14, var_r31->unk88.x, var_r31->unk88.y, var_r31->unk88.z); MTXScale(sp14, var_r31->unk88.x, var_r31->unk88.y, var_r31->unk88.z);
mtxTransCat(sp14, -var_r31->unk7C.x, -var_r31->unk7C.y, -var_r31->unk7C.z); mtxTransCat(sp14, -var_r31->unk7C.x, -var_r31->unk7C.y, -var_r31->unk7C.z);
mtxRotCat(sp14, var_r31->unkA0.x, var_r31->unkA0.y, var_r31->unkA0.z); mtxRotCat(sp14, var_r31->unkA0.x, var_r31->unkA0.y, var_r31->unkA0.z);
mtxTransCat(sp14, var_r31->unk94.x + var_r31->unk7C.x, var_r31->unk94.y + var_r31->unk7C.y, var_r31->unk94.z + var_r31->unk7C.z); mtxTransCat(sp14, var_r31->unk94.x + var_r31->unk7C.x, var_r31->unk94.y + var_r31->unk7C.y, var_r31->unk94.z + var_r31->unk7C.z);
@ -1288,14 +1288,14 @@ void fn_1_57B4(unkStruct6 *arg0)
else { else {
var_r29 = var_r31->unk18[var_r28]; var_r29 = var_r31->unk18[var_r28];
} }
PSMTXMultVec(sp14, &temp_r26[var_r29], &sp8); MTXMultVec(sp14, &temp_r26[var_r29], &sp8);
arg0->unkC[var_r29].x = sp8.x; arg0->unkC[var_r29].x = sp8.x;
arg0->unkC[var_r29].y = sp8.y; arg0->unkC[var_r29].y = sp8.y;
arg0->unkC[var_r29].z = sp8.z; arg0->unkC[var_r29].z = sp8.z;
} }
if ((arg0->unk2 & 2) != 0) { if ((arg0->unk2 & 2) != 0) {
var_r29 = var_r31->unk1E; var_r29 = var_r31->unk1E;
PSMTXMultVec(sp14, &temp_r26[var_r29], &sp8); MTXMultVec(sp14, &temp_r26[var_r29], &sp8);
arg0->unkC[var_r29].x = sp8.x; arg0->unkC[var_r29].x = sp8.x;
arg0->unkC[var_r29].y = sp8.y; arg0->unkC[var_r29].y = sp8.y;
arg0->unkC[var_r29].z = sp8.z; arg0->unkC[var_r29].z = sp8.z;
@ -1359,7 +1359,7 @@ void fn_1_5C2C(s16 arg0, HsfObject *arg1, unkStruct6 *arg2, u16 arg3)
var_r22 = NULL; var_r22 = NULL;
} }
var_r25 = &arg1->data.base; var_r25 = &arg1->data.base;
PSMTXScale(sp68, var_r25->scale.x, var_r25->scale.y, var_r25->scale.z); MTXScale(sp68, var_r25->scale.x, var_r25->scale.y, var_r25->scale.z);
mtxRotCat(sp68, var_r25->rot.x, var_r25->rot.y, var_r25->rot.z); mtxRotCat(sp68, var_r25->rot.x, var_r25->rot.y, var_r25->rot.z);
mtxTransCat(sp68, var_r25->pos.x, var_r25->pos.y, var_r25->pos.z); mtxTransCat(sp68, var_r25->pos.x, var_r25->pos.y, var_r25->pos.z);
@ -1375,7 +1375,7 @@ void fn_1_5C2C(s16 arg0, HsfObject *arg1, unkStruct6 *arg2, u16 arg3)
var_r27 = arg2->unk24[var_r30].unk18[var_r28]; var_r27 = arg2->unk24[var_r30].unk18[var_r28];
var_r23 = arg2->unk24[var_r30].unk0[var_r28].unk0; var_r23 = arg2->unk24[var_r30].unk0[var_r28].unk0;
} }
PSMTXMultVec(sp68, &((Vec *)(arg1->data.vertex->data))[var_r23], &sp38); MTXMultVec(sp68, &((Vec *)(arg1->data.vertex->data))[var_r23], &sp38);
arg2->unkC[var_r27] = sp38; arg2->unkC[var_r27] = sp38;
sp44[var_r28] = arg2->unkC[var_r27]; sp44[var_r28] = arg2->unkC[var_r27];
arg2->unk14[var_r27] = arg2->unk18[var_r23]; arg2->unk14[var_r27] = arg2->unk18[var_r23];
@ -1860,7 +1860,7 @@ void fn_1_806C(ModelData *arg0, Mtx arg1)
temp_r27(temp_r31); temp_r27(temp_r31);
} }
GXLoadPosMtxImm(arg1, 0); GXLoadPosMtxImm(arg1, 0);
PSMTXInvXpose(arg1, sp14); MTXInvXpose(arg1, sp14);
GXLoadNrmMtxImm(sp14, 0); GXLoadNrmMtxImm(sp14, 0);
fn_1_8AC4(arg1); fn_1_8AC4(arg1);
sp10.r = (temp_r31->unk28->unkB[0] * arg0->unk_58.x); sp10.r = (temp_r31->unk28->unkB[0] * arg0->unk_58.x);
@ -1974,7 +1974,7 @@ void fn_1_8470(unkStruct12 *arg0, unkStruct13 *arg1)
if (var_f31 < 0.1) { if (var_f31 < 0.1) {
var_f31 = 0.1f; var_f31 = 0.1f;
} }
PSMTXCopy(lbl_1_bss_30, sp10); MTXCopy(lbl_1_bss_30, sp10);
mtxScaleCat(sp10, var_f31, var_f31, var_f31); mtxScaleCat(sp10, var_f31, var_f31, var_f31);
GXLoadTexMtxImm(sp10, 0x24, GX_MTX2x4); GXLoadTexMtxImm(sp10, 0x24, GX_MTX2x4);
var_r31++; var_r31++;
@ -2050,31 +2050,31 @@ void fn_1_8AC4(Mtx arg0)
var_r29 = &Hu3DGlobalLight[0]; var_r29 = &Hu3DGlobalLight[0];
sp34 = var_r29->unk_28; sp34 = var_r29->unk_28;
if ((var_r29->unk_00 & 0x8000) != 0) { if ((var_r29->unk_00 & 0x8000) != 0) {
PSMTXMultVecSR(Hu3DCameraMtx, &sp34, &sp34); MTXMultVecSR(Hu3DCameraMtx, &sp34, &sp34);
} }
var_f30 = VECDotProduct(&sp34, &sp10); var_f30 = VECDotProduct(&sp34, &sp10);
var_f30 *= 10000.0f; var_f30 *= 10000.0f;
OSf32tos16(&var_f30, &temp_r31); OSf32tos16(&var_f30, &temp_r31);
if (temp_r31 == -0x2710) { if (temp_r31 == -0x2710) {
PSMTXScale(lbl_1_bss_30, 0.0f, 0.0f, 0.0f); MTXScale(lbl_1_bss_30, 0.0f, 0.0f, 0.0f);
return; return;
} }
C_VECHalfAngle(&sp34, &sp10, &sp28); C_VECHalfAngle(&sp34, &sp10, &sp28);
sp28.x = -sp28.x; sp28.x = -sp28.x;
sp28.y = -sp28.y; sp28.y = -sp28.y;
sp28.z = -sp28.z; sp28.z = -sp28.z;
PSMTXInvXpose(arg0, sp70); MTXInvXpose(arg0, sp70);
if (temp_r31 == 0x2710) { if (temp_r31 == 0x2710) {
PSMTXIdentity(sp40); MTXIdentity(sp40);
} }
else { else {
VECCrossProduct(&sp28, &sp10, &sp1C); VECCrossProduct(&sp28, &sp10, &sp1C);
var_f29 = acosf(VECDotProduct(&sp10, &sp28)); var_f29 = acosf(VECDotProduct(&sp10, &sp28));
PSMTXRotAxisRad(sp40, &sp1C, var_f29); MTXRotAxisRad(sp40, &sp1C, var_f29);
} }
PSMTXConcat(sp40, sp70, spA0); MTXConcat(sp40, sp70, spA0);
PSMTXTrans(sp40, 0.5f, 0.5f, 0.0f); MTXTrans(sp40, 0.5f, 0.5f, 0.0f);
PSMTXConcat(sp40, spA0, lbl_1_bss_30); MTXConcat(sp40, spA0, lbl_1_bss_30);
} }
void fn_1_8D1C(void) void fn_1_8D1C(void)
@ -2097,7 +2097,7 @@ void fn_1_8D1C(void)
if (var_r30 == 5) { if (var_r30 == 5) {
C_MTXOrtho(sp60, 0.0f, 480.0f, 0.0f, 640.0f, 0.0f, 10.0f); C_MTXOrtho(sp60, 0.0f, 480.0f, 0.0f, 640.0f, 0.0f, 10.0f);
GXSetProjection(sp60, GX_ORTHOGRAPHIC); GXSetProjection(sp60, GX_ORTHOGRAPHIC);
PSMTXIdentity(sp30); MTXIdentity(sp30);
GXLoadPosMtxImm(sp30, 0); GXLoadPosMtxImm(sp30, 0);
GXClearVtxDesc(); GXClearVtxDesc();
GXSetVtxDesc(GX_VA_POS, GX_DIRECT); GXSetVtxDesc(GX_VA_POS, GX_DIRECT);
@ -2491,9 +2491,9 @@ void fn_1_9C04(ModelData *arg0, Mtx arg1)
} }
else { else {
fn_1_A328(&temp_r30->unk2C, &sp38, &var_r29->unk48, 4); fn_1_A328(&temp_r30->unk2C, &sp38, &var_r29->unk48, 4);
PSMTXRotRad(spC8, 0x5A, 0.017453292f * var_r29->unk44); MTXRotRad(spC8, 0x5A, 0.017453292f * var_r29->unk44);
PSMTXConcat(sp128, spC8, sp98); MTXConcat(sp128, spC8, sp98);
PSMTXMultVecArray(sp98, &sp38, &sp8, 4); MTXMultVecArray(sp98, &sp38, &sp8, 4);
VECAdd(&sp8, &var_r29->unk54, var_r31++); VECAdd(&sp8, &var_r29->unk54, var_r31++);
VECAdd(&sp14, &var_r29->unk54, var_r31++); VECAdd(&sp14, &var_r29->unk54, var_r31++);
VECAdd(&sp20, &var_r29->unk54, var_r31++); VECAdd(&sp20, &var_r29->unk54, var_r31++);

View file

@ -10,12 +10,10 @@
#include "string.h" #include "string.h"
#include "version.h" #include "version.h"
#ifdef __MWERKS__ #ifdef __MWERKS__
#include "game/audio.h" #include "game/audio.h"
#endif #endif
// bss // bss
omObjData *lbl_1_bss_C0[4]; omObjData *lbl_1_bss_C0[4];
s16 lbl_1_bss_B8[4]; s16 lbl_1_bss_B8[4];
@ -1025,7 +1023,7 @@ u8 fn_1_E8AC(omObjData *arg0, unkObjStruct *arg1)
arg1->unk24.z = (1050.0 * sind(var_f31)); arg1->unk24.z = (1050.0 * sind(var_f31));
} }
arg1->unk30.y = 0.0f; arg1->unk30.y = 0.0f;
PSMTXRotRad(temp_r29->unk_F0, 0x59, 0.017453292f * arg1->unk68); MTXRotRad(temp_r29->unk_F0, 0x59, 0.017453292f * arg1->unk68);
arg1->unk60++; arg1->unk60++;
if (lbl_1_data_1D8 == 0) { if (lbl_1_data_1D8 == 0) {
fn_1_18E0(); fn_1_18E0();
@ -1044,7 +1042,7 @@ u8 fn_1_E8AC(omObjData *arg0, unkObjStruct *arg1)
arg1->unk18.y = fn_1_93D0(lbl_1_bss_78.y, 1400.0f + lbl_1_bss_78.y, 0.0f, var_f31); arg1->unk18.y = fn_1_93D0(lbl_1_bss_78.y, 1400.0f + lbl_1_bss_78.y, 0.0f, var_f31);
arg1->unk18.z = lbl_1_bss_78.z + (var_f31 * (arg1->unk24.z - lbl_1_bss_78.x)); arg1->unk18.z = lbl_1_bss_78.z + (var_f31 * (arg1->unk24.z - lbl_1_bss_78.x));
arg1->unk30.x = 180.0f * var_f31; arg1->unk30.x = 180.0f * var_f31;
PSMTXRotRad(temp_r29->unk_F0, 0x59, 0.017453292f * arg1->unk68); MTXRotRad(temp_r29->unk_F0, 0x59, 0.017453292f * arg1->unk68);
break; break;
case 3: case 3:
fn_1_F4D4(arg1, 15, 8); fn_1_F4D4(arg1, 15, 8);

View file

@ -403,9 +403,9 @@ void fn_1_1D70(s16 arg0, char *arg1, Vec *arg2, Mtx arg3)
var_r30 = &Hu3DData[arg0]; var_r30 = &Hu3DData[arg0];
Hu3DModelObjMtxGet(arg0, arg1, spC); Hu3DModelObjMtxGet(arg0, arg1, spC);
PSMTXConcat(var_r30->unk_F0, spC, spC); MTXConcat(var_r30->unk_F0, spC, spC);
if (NULL != arg3) { if (NULL != arg3) {
PSMTXCopy(spC, arg3); MTXCopy(spC, arg3);
} }
arg2->x = spC[0][3]; arg2->x = spC[0][3];
arg2->y = spC[1][3]; arg2->y = spC[1][3];

View file

@ -1489,7 +1489,7 @@ void fn_1_485C(ModelData *model, Mtx mtx)
var_r29 = Hu3DCamera; var_r29 = Hu3DCamera;
C_MTXOrtho(sp100, 0.0f, 480.0f, 0.0f, 640.0f, 0.0f, 100.0f); C_MTXOrtho(sp100, 0.0f, 480.0f, 0.0f, 640.0f, 0.0f, 100.0f);
GXSetProjection(sp100, GX_ORTHOGRAPHIC); GXSetProjection(sp100, GX_ORTHOGRAPHIC);
PSMTXIdentity(spD0); MTXIdentity(spD0);
GXLoadPosMtxImm(spD0, 0); GXLoadPosMtxImm(spD0, 0);
GXSetNumChans(1); GXSetNumChans(1);
GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_CLAMP, GX_AF_NONE); GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_REG, 0, GX_DF_CLAMP, GX_AF_NONE);
@ -1529,7 +1529,7 @@ void fn_1_485C(ModelData *model, Mtx mtx)
GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT);
C_MTXPerspective(sp40, var_r29->fov, var_r29->aspect, var_r29->near, var_r29->far); C_MTXPerspective(sp40, var_r29->fov, var_r29->aspect, var_r29->near, var_r29->far);
GXSetProjection(sp40, GX_PERSPECTIVE); GXSetProjection(sp40, GX_PERSPECTIVE);
PSMTXInverse(mtx, spA0); MTXInverse(mtx, spA0);
spA0[0][3] = spA0[1][3] = spA0[2][3] = 0.0f; spA0[0][3] = spA0[1][3] = spA0[2][3] = 0.0f;
PSMTXReorder(spA0, sp70); PSMTXReorder(spA0, sp70);
PSMTXROMultVecArray(sp70, &lbl_1_data_1C0[0], &sp10, 4); PSMTXROMultVecArray(sp70, &lbl_1_data_1C0[0], &sp10, 4);
@ -1585,7 +1585,7 @@ void fn_1_54C8(ModelData *model, Mtx mtx)
fn_1_8520(&lbl_1_bss_C05C[1], 0); fn_1_8520(&lbl_1_bss_C05C[1], 0);
C_MTXOrtho(sp5C, 0.0f, 480.0f, 0.0f, 640.0f, 0.0f, 100.0f); C_MTXOrtho(sp5C, 0.0f, 480.0f, 0.0f, 640.0f, 0.0f, 100.0f);
GXSetProjection(sp5C, GX_ORTHOGRAPHIC); GXSetProjection(sp5C, GX_ORTHOGRAPHIC);
PSMTXIdentity(sp2C); MTXIdentity(sp2C);
GXLoadPosMtxImm(sp2C, 0); GXLoadPosMtxImm(sp2C, 0);
GXSetZMode(GX_FALSE, GX_LEQUAL, GX_FALSE); GXSetZMode(GX_FALSE, GX_LEQUAL, GX_FALSE);
GXSetNumTexGens(2); GXSetNumTexGens(2);
@ -1734,9 +1734,9 @@ void fn_1_5EDC(ModelData *model, float (*mtx)[4])
s32 var_r30; s32 var_r30;
var_r31 = model->unk_120; var_r31 = model->unk_120;
PSMTXInverse(mtx, spC); MTXInverse(mtx, spC);
spC[0][3] = spC[1][3] = spC[2][3] = 0.0f; spC[0][3] = spC[1][3] = spC[2][3] = 0.0f;
PSMTXConcat(mtx, &spC[0], mtx); MTXConcat(mtx, &spC[0], mtx);
GXLoadPosMtxImm(mtx, 0); GXLoadPosMtxImm(mtx, 0);
GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE); GXSetZMode(GX_TRUE, GX_LEQUAL, GX_TRUE);
GXSetNumTexGens(1); GXSetNumTexGens(1);

View file

@ -495,15 +495,15 @@ void fn_1_1D8C(omObjData *object)
lbl_1_bss_4 = HuAudSStreamPlay(0xB); lbl_1_bss_4 = HuAudSStreamPlay(0xB);
} }
var_f31 = (float)object->work[0] / lbl_1_data_F0[object->work[1]]; var_f31 = (float)object->work[0] / lbl_1_data_F0[object->work[1]];
PSVECSubtract(&lbl_1_data_60[object->work[1] + 1], &lbl_1_data_60[object->work[1]], &sp8); VECSubtract(&lbl_1_data_60[object->work[1] + 1], &lbl_1_data_60[object->work[1]], &sp8);
PSVECScale(&sp8, &sp8, var_f31); VECScale(&sp8, &sp8, var_f31);
PSVECAdd(&lbl_1_data_60[object->work[1]], &sp8, &sp8); VECAdd(&lbl_1_data_60[object->work[1]], &sp8, &sp8);
Center.x = sp8.x; Center.x = sp8.x;
Center.y = sp8.y; Center.y = sp8.y;
Center.z = sp8.z; Center.z = sp8.z;
PSVECSubtract(&lbl_1_data_A8[object->work[1] + 1], &lbl_1_data_A8[object->work[1]], &sp8); VECSubtract(&lbl_1_data_A8[object->work[1] + 1], &lbl_1_data_A8[object->work[1]], &sp8);
PSVECScale(&sp8, &sp8, var_f31); VECScale(&sp8, &sp8, var_f31);
PSVECAdd(&lbl_1_data_A8[object->work[1]], &sp8, &sp8); VECAdd(&lbl_1_data_A8[object->work[1]], &sp8, &sp8);
CRot.x = sp8.x; CRot.x = sp8.x;
CRot.y = sp8.y; CRot.y = sp8.y;
CRot.z = 0.0f; CRot.z = 0.0f;
@ -922,7 +922,7 @@ void fn_1_3D78(ModelData *arg0, Mtx arg1)
{ {
Mtx spC; Mtx spC;
PSMTXIdentity(spC); MTXIdentity(spC);
GXLoadPosMtxImm(spC, 0); GXLoadPosMtxImm(spC, 0);
GXSetNumChans(1); GXSetNumChans(1);
GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE);
@ -1094,13 +1094,13 @@ void fn_1_4444(Vec *arg0, Vec *arg1)
Vec sp10; Vec sp10;
float var_f30; float var_f30;
PSVECSubtract(arg1, arg0, &sp10); VECSubtract(arg1, arg0, &sp10);
Center = *arg1; Center = *arg1;
var_f30 = (sp10.x * sp10.x) + (sp10.z * sp10.z); var_f30 = (sp10.x * sp10.x) + (sp10.z * sp10.z);
CRot.x = atan2d(sp10.y, sqrtf(var_f30)); CRot.x = atan2d(sp10.y, sqrtf(var_f30));
CRot.y = atan2d(-sp10.x, -sp10.z); CRot.y = atan2d(-sp10.x, -sp10.z);
CRot.z = 0.0f; CRot.z = 0.0f;
CZoom = PSVECMag(&sp10); CZoom = VECMag(&sp10);
} }
void fn_1_464C(float arg8, float arg9, float argA, float argB, float argC, float argD) void fn_1_464C(float arg8, float arg9, float argA, float argB, float argC, float argD)
@ -1116,13 +1116,13 @@ void fn_1_464C(float arg8, float arg9, float argA, float argB, float argC, float
sp30.x = argB; sp30.x = argB;
sp30.y = argC; sp30.y = argC;
sp30.z = argD; sp30.z = argD;
PSVECSubtract(&sp30, &sp3C, &sp24); VECSubtract(&sp30, &sp3C, &sp24);
Center = sp30; Center = sp30;
var_f30 = (sp24.x * sp24.x) + (sp24.z * sp24.z); var_f30 = (sp24.x * sp24.x) + (sp24.z * sp24.z);
CRot.x = atan2d(sp24.y, sqrtf(var_f30)); CRot.x = atan2d(sp24.y, sqrtf(var_f30));
CRot.y = atan2d(-sp24.x, -sp24.z); CRot.y = atan2d(-sp24.x, -sp24.z);
CRot.z = 0.0f; CRot.z = 0.0f;
CZoom = PSVECMag(&sp24); CZoom = VECMag(&sp24);
} }
float fn_1_488C(float arg8, float arg9, float argA) float fn_1_488C(float arg8, float arg9, float argA)

View file

@ -132,11 +132,11 @@ void fn_1_4D14(omObjData *object)
var_r30 = fn_1_40AC(lbl_1_data_240[var_r29 + 1]); var_r30 = fn_1_40AC(lbl_1_data_240[var_r29 + 1]);
mtxRot(sp5C, var_r30->unk_28.x, var_r30->unk_28.y, 0.0f); mtxRot(sp5C, var_r30->unk_28.x, var_r30->unk_28.y, 0.0f);
sp8.z = var_r30->unk_34; sp8.z = var_r30->unk_34;
PSMTXMultVec(sp5C, &sp8, &sp14); MTXMultVec(sp5C, &sp8, &sp14);
PSVECAdd(&var_r30->unk_1C, &sp14, &sp20); VECAdd(&var_r30->unk_1C, &sp14, &sp20);
sp2C[var_r29].y += var_f31; sp2C[var_r29].y += var_f31;
PSMTXMultVec(sp5C, &sp2C[var_r29], &sp14); MTXMultVec(sp5C, &sp2C[var_r29], &sp14);
PSVECAdd(&sp20, &sp14, &sp20); VECAdd(&sp20, &sp14, &sp20);
Hu3DModelPosSetV(object->model[var_r29 + 9], &sp20); Hu3DModelPosSetV(object->model[var_r29 + 9], &sp20);
Hu3DModelRotSet(object->model[var_r29 + 9], var_r30->unk_28.x, var_r30->unk_28.y, 0.0f); Hu3DModelRotSet(object->model[var_r29 + 9], var_r30->unk_28.x, var_r30->unk_28.y, 0.0f);
Hu3DModelScaleSet(object->model[var_r29 + 9], 0.15f, 0.15f, 0.15f); Hu3DModelScaleSet(object->model[var_r29 + 9], 0.15f, 0.15f, 0.15f);

View file

@ -382,7 +382,7 @@ void fn_1_5BD4(omObjData *object)
break; break;
} }
fn_1_7340(object); fn_1_7340(object);
PSVECAdd(&temp_r31->unkC4, &temp_r31->unkD0, &temp_r31->unkC4); VECAdd(&temp_r31->unkC4, &temp_r31->unkD0, &temp_r31->unkC4);
fn_1_7130(object); fn_1_7130(object);
fn_1_69B4(object); fn_1_69B4(object);
@ -428,11 +428,11 @@ void fn_1_6458(omObjData *object)
var_r29 = 1; var_r29 = 1;
} }
fn_1_7340(object); fn_1_7340(object);
PSVECAdd(&temp_r31->unkC4, &temp_r31->unkD0, &temp_r31->unkC4); VECAdd(&temp_r31->unkC4, &temp_r31->unkD0, &temp_r31->unkC4);
fn_1_7130(object); fn_1_7130(object);
fn_1_69B4(object); fn_1_69B4(object);
temp_r31->unk100->unk_1C = temp_r31->unkDC; temp_r31->unk100->unk_1C = temp_r31->unkDC;
PSVECAdd(&temp_r31->unk100->unk_1C, &temp_r31->unk100->unk_54, &temp_r31->unk100->unk_1C); VECAdd(&temp_r31->unk100->unk_1C, &temp_r31->unk100->unk_54, &temp_r31->unk100->unk_1C);
if ((fn_1_42E4() == 3) && (var_r29 != 0)) { if ((fn_1_42E4() == 3) && (var_r29 != 0)) {
fn_1_43AC(object->work[0]); fn_1_43AC(object->work[0]);
temp_r31->unk108 = 0; temp_r31->unk108 = 0;
@ -451,11 +451,11 @@ void fn_1_6674(omObjData *object)
temp_r31->unk14 = 0; temp_r31->unk14 = 0;
temp_r31->unk18 = 0.0f; temp_r31->unk18 = 0.0f;
fn_1_7340(object); fn_1_7340(object);
PSVECAdd(&temp_r31->unkC4, &temp_r31->unkD0, &temp_r31->unkC4); VECAdd(&temp_r31->unkC4, &temp_r31->unkD0, &temp_r31->unkC4);
fn_1_7130(object); fn_1_7130(object);
fn_1_69B4(object); fn_1_69B4(object);
temp_r31->unk100->unk_1C = temp_r31->unkDC; temp_r31->unk100->unk_1C = temp_r31->unkDC;
PSVECAdd(&temp_r31->unk100->unk_1C, &temp_r31->unk100->unk_54, &temp_r31->unk100->unk_1C); VECAdd(&temp_r31->unk100->unk_1C, &temp_r31->unk100->unk_54, &temp_r31->unk100->unk_1C);
if (fn_1_42E4() == 5) { if (fn_1_42E4() == 5) {
temp_r31->unk1C = 0; temp_r31->unk1C = 0;
temp_r31->unk34 = 0; temp_r31->unk34 = 0;
@ -468,7 +468,7 @@ void fn_1_6750(omObjData *object)
M443DllWorkStruct *temp_r31; M443DllWorkStruct *temp_r31;
temp_r31 = object->data; temp_r31 = object->data;
PSVECAdd(&temp_r31->unkC4, &temp_r31->unkD0, &temp_r31->unkC4); VECAdd(&temp_r31->unkC4, &temp_r31->unkD0, &temp_r31->unkC4);
fn_1_7130(object); fn_1_7130(object);
fn_1_69B4(object); fn_1_69B4(object);
switch (temp_r31->unk34) { switch (temp_r31->unk34) {
@ -673,9 +673,9 @@ void fn_1_7130(omObjData *object)
for (var_r28 = 0; var_r28 < 4; var_r28++) { for (var_r28 = 0; var_r28 < 4; var_r28++) {
if (var_r29 != var_r28) { if (var_r29 != var_r28) {
temp_r30 = lbl_1_bss_90[var_r28]->data; temp_r30 = lbl_1_bss_90[var_r28]->data;
PSVECSubtract(&temp_r31->unkC4, &temp_r30->unkC4, &sp8); VECSubtract(&temp_r31->unkC4, &temp_r30->unkC4, &sp8);
sp8.y = 0.0f; sp8.y = 0.0f;
var_f31 = PSVECMag(&sp8); var_f31 = VECMag(&sp8);
if (var_f31 < (temp_r31->unkC0 + temp_r30->unkC0)) { if (var_f31 < (temp_r31->unkC0 + temp_r30->unkC0)) {
if (var_f31 > 0.0f) { if (var_f31 > 0.0f) {
var_f31 = 0.5f * ((temp_r31->unkC0 + temp_r30->unkC0) - var_f31); var_f31 = 0.5f * ((temp_r31->unkC0 + temp_r30->unkC0) - var_f31);
@ -685,10 +685,10 @@ void fn_1_7130(omObjData *object)
sp8.x = (frandmod(0x3E8) - 0x1F4); sp8.x = (frandmod(0x3E8) - 0x1F4);
sp8.z = (frandmod(0x3E8) - 0x1F4); sp8.z = (frandmod(0x3E8) - 0x1F4);
} }
PSVECNormalize(&sp8, &sp8); VECNormalize(&sp8, &sp8);
PSVECScale(&sp8, &sp8, var_f31); VECScale(&sp8, &sp8, var_f31);
PSVECAdd(&temp_r31->unkC4, &sp8, &temp_r31->unkC4); VECAdd(&temp_r31->unkC4, &sp8, &temp_r31->unkC4);
PSVECSubtract(&temp_r30->unkC4, &sp8, &temp_r30->unkC4); VECSubtract(&temp_r30->unkC4, &sp8, &temp_r30->unkC4);
} }
} }
} }
@ -1139,7 +1139,7 @@ void fn_1_8E34(s32 arg0)
for (var_r29 = 0; var_r29 < temp_r30->unk_30; var_r29++, var_r31++) { for (var_r29 = 0; var_r29 < temp_r30->unk_30; var_r29++, var_r31++) {
if (var_r31->unk00_s16 != 0) { if (var_r31->unk00_s16 != 0) {
PSVECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34); VECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34);
var_r31->unk08.z -= 0.3f; var_r31->unk08.z -= 0.3f;
var_r31->unk2C += 2.0f; var_r31->unk2C += 2.0f;
var_r31->unk40.a *= 0.98f; var_r31->unk40.a *= 0.98f;

View file

@ -161,13 +161,13 @@ void fn_1_9374(UnkM447Struct_01 *arg0)
Mtx sp8; Mtx sp8;
temp_r30 = &Hu3DData[arg0->unk58[arg0->unk00]]; temp_r30 = &Hu3DData[arg0->unk58[arg0->unk00]];
PSMTXIdentity(temp_r30->unk_F0); MTXIdentity(temp_r30->unk_F0);
PSMTXRotRad(sp8, 'x', MTXDegToRad(arg0->unk1C.x)); MTXRotRad(sp8, 'x', MTXDegToRad(arg0->unk1C.x));
PSMTXConcat(temp_r30->unk_F0, sp8, temp_r30->unk_F0); MTXConcat(temp_r30->unk_F0, sp8, temp_r30->unk_F0);
PSMTXRotRad(sp8, 'y', MTXDegToRad(arg0->unk1C.y)); MTXRotRad(sp8, 'y', MTXDegToRad(arg0->unk1C.y));
PSMTXConcat(temp_r30->unk_F0, sp8, temp_r30->unk_F0); MTXConcat(temp_r30->unk_F0, sp8, temp_r30->unk_F0);
PSMTXRotRad(sp8, 'z', MTXDegToRad(arg0->unk1C.z)); MTXRotRad(sp8, 'z', MTXDegToRad(arg0->unk1C.z));
PSMTXConcat(temp_r30->unk_F0, sp8, temp_r30->unk_F0); MTXConcat(temp_r30->unk_F0, sp8, temp_r30->unk_F0);
Hu3DModelPosSet(arg0->unk58[arg0->unk00], arg0->unk10.x, arg0->unk10.y, arg0->unk10.z); Hu3DModelPosSet(arg0->unk58[arg0->unk00], arg0->unk10.x, arg0->unk10.y, arg0->unk10.z);
Hu3DModelPosSet(arg0->unk58[20], arg0->unk10.x, arg0->unk10.y - 100.0f, arg0->unk10.z); Hu3DModelPosSet(arg0->unk58[20], arg0->unk10.x, arg0->unk10.y - 100.0f, arg0->unk10.z);
Hu3DModelPosSet(arg0->unk58[21], arg0->unk10.x, arg0->unk10.y, arg0->unk10.z + 120.0f * arg0->unk54); Hu3DModelPosSet(arg0->unk58[21], arg0->unk10.x, arg0->unk10.y, arg0->unk10.z + 120.0f * arg0->unk54);

View file

@ -201,7 +201,7 @@ void fn_1_4FC(ModelData *model, Mtx matrix)
GXSetViewport(0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f); GXSetViewport(0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f);
C_MTXOrtho(sp98, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f); C_MTXOrtho(sp98, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f);
GXSetProjection(sp98, GX_ORTHOGRAPHIC); GXSetProjection(sp98, GX_ORTHOGRAPHIC);
PSMTXIdentity(spC8); MTXIdentity(spC8);
GXLoadPosMtxImm(spC8, GX_PNMTX0); GXLoadPosMtxImm(spC8, GX_PNMTX0);
GXSetNumTevStages(1); GXSetNumTevStages(1);
GXSetNumTexGens(1); GXSetNumTexGens(1);
@ -454,8 +454,8 @@ void fn_1_1338(omObjData *arg0)
sp178 = lbl_1_rodata_100; sp178 = lbl_1_rodata_100;
sp178.x = var_f20; sp178.x = var_f20;
sp178.z = -sp118; sp178.z = -sp118;
PSMTXRotRad(sp184, 'y', MTXDegToRad(CRot.y)); MTXRotRad(sp184, 'y', MTXDegToRad(CRot.y));
PSMTXMultVec(sp184, &sp178, &sp178); MTXMultVec(sp184, &sp178, &sp178);
var_f20 = sp178.x; var_f20 = sp178.x;
sp118 = -sp178.z; sp118 = -sp178.z;
} }

View file

@ -1288,19 +1288,19 @@ void fn_1_758(omObjData *var_r29)
sp124 = ((-90.175 <= lbl_1_bss_18) && (lbl_1_bss_18 <= -90.0f)) != 0 sp124 = ((-90.175 <= lbl_1_bss_18) && (lbl_1_bss_18 <= -90.0f)) != 0
? -90.175 ? -90.175
: ((-90.0f <= lbl_1_bss_18) && (lbl_1_bss_18 <= -89.825) ? -89.825 : lbl_1_bss_18); : ((-90.0f <= lbl_1_bss_18) && (lbl_1_bss_18 <= -89.825) ? -89.825 : lbl_1_bss_18);
PSMTXRotRad(sp304, 0x78, 0.017453292f * (10.0f * var_r31->unk_5C)); MTXRotRad(sp304, 0x78, 0.017453292f * (10.0f * var_r31->unk_5C));
PSMTXRotRad(sp364, 0x7A, 0.017453292f * (10.0f * -var_r31->unk_58)); MTXRotRad(sp364, 0x7A, 0.017453292f * (10.0f * -var_r31->unk_58));
PSMTXConcat(sp364, sp304, sp364); MTXConcat(sp364, sp304, sp364);
PSMTXRotRad(sp304, 0x79, 0.017453292f * sp124); MTXRotRad(sp304, 0x79, 0.017453292f * sp124);
PSMTXRotRad(sp334, 0x78, 0.017453292f * (15.0f * var_r31->unk_5C)); MTXRotRad(sp334, 0x78, 0.017453292f * (15.0f * var_r31->unk_5C));
PSMTXConcat(sp334, sp304, sp334); MTXConcat(sp334, sp304, sp334);
PSMTXRotRad(sp304, 0x7A, 0.017453292f * (15.0f * -var_r31->unk_58)); MTXRotRad(sp304, 0x7A, 0.017453292f * (15.0f * -var_r31->unk_58));
PSMTXConcat(sp304, sp334, sp334); MTXConcat(sp304, sp334, sp334);
Hu3DMtxRotGet(sp334, &sp2A8); Hu3DMtxRotGet(sp334, &sp2A8);
sp2B4.x = var_r31->unk_60[var_r30]; sp2B4.x = var_r31->unk_60[var_r30];
sp2B4.y = var_r31->unk_70[var_r30]; sp2B4.y = var_r31->unk_70[var_r30];
sp2B4.z = var_r31->unk_80[var_r30]; sp2B4.z = var_r31->unk_80[var_r30];
PSMTXMultVec(sp364, &sp2B4, &sp2B4); MTXMultVec(sp364, &sp2B4, &sp2B4);
Hu3DModelPosSet(var_r29->model[var_r30 + 0xC], sp2D8.x + sp2B4.x, sp2D8.y + sp2B4.y, sp2D8.z + sp2B4.z); Hu3DModelPosSet(var_r29->model[var_r30 + 0xC], sp2D8.x + sp2B4.x, sp2D8.y + sp2B4.y, sp2D8.z + sp2B4.z);
Hu3DModelRotSet(var_r29->model[var_r30 + 0xC], 10.0f * var_r31->unk_5C, 0.0f, 10.0f * -var_r31->unk_58); Hu3DModelRotSet(var_r29->model[var_r30 + 0xC], 10.0f * var_r31->unk_5C, 0.0f, 10.0f * -var_r31->unk_58);
Hu3DModelRotSet(var_r29->model[var_r30 + 0xC], sp2A8.x, sp2A8.y, sp2A8.z); Hu3DModelRotSet(var_r29->model[var_r30 + 0xC], sp2A8.x, sp2A8.y, sp2A8.z);
@ -1716,7 +1716,7 @@ void fn_1_7F94(ModelData *model, ParticleData *particle, Mtx matrix)
var_r31->unk2C = 50.0f; var_r31->unk2C = 50.0f;
} }
if (var_r31->unk00_s16 < 0xF0) { if (var_r31->unk00_s16 < 0xF0) {
PSVECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34); VECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34);
var_r31->unk08.x *= 0.9f; var_r31->unk08.x *= 0.9f;
var_r31->unk08.z *= 0.9f; var_r31->unk08.z *= 0.9f;
var_r31->unk08.y *= 0.9f; var_r31->unk08.y *= 0.9f;

View file

@ -941,8 +941,8 @@ void fn_1_23E0(omObjData *object)
case 4: case 4:
var_r24 = fn_1_82AC(sp38); var_r24 = fn_1_82AC(sp38);
for (var_r30 = 0; var_r30 < var_r24; var_r30++) { for (var_r30 = 0; var_r30 < var_r24; var_r30++) {
PSVECSubtract(&sp38[var_r30], &var_r31->unk_2C, &sp8); VECSubtract(&sp38[var_r30], &var_r31->unk_2C, &sp8);
sp20[var_r30] = PSVECMag(&sp8); sp20[var_r30] = VECMag(&sp8);
} }
for (var_r30 = 0; var_r30 < (var_r24 - 1); var_r30++) { for (var_r30 = 0; var_r30 < (var_r24 - 1); var_r30++) {
for (var_r29 = var_r30 + 1; var_r29 < var_r24; var_r29++) { for (var_r29 = var_r30 + 1; var_r29 < var_r24; var_r29++) {
@ -1144,14 +1144,14 @@ s32 fn_1_36DC(void)
for (var_r29 = var_r30 + 1; var_r29 < 4; var_r29++) { for (var_r29 = var_r30 + 1; var_r29 < 4; var_r29++) {
var_r27 = lbl_1_bss_3C[var_r29]->data; var_r27 = lbl_1_bss_3C[var_r29]->data;
if (var_r27->unk_07 != 0) { if (var_r27->unk_07 != 0) {
PSVECSubtract(&var_r28->unk_2C, &var_r27->unk_2C, &sp8); VECSubtract(&var_r28->unk_2C, &var_r27->unk_2C, &sp8);
var_f31 = PSVECMag(&sp8); var_f31 = VECMag(&sp8);
if (var_f31 < 80.0f) { if (var_f31 < 80.0f) {
PSVECNormalize(&sp8, &sp8); VECNormalize(&sp8, &sp8);
var_f30 = 0.0001f + (0.5f * (80.0f - var_f31)); var_f30 = 0.0001f + (0.5f * (80.0f - var_f31));
PSVECScale(&sp8, &sp8, var_f30); VECScale(&sp8, &sp8, var_f30);
PSVECAdd(&sp14[var_r30], &sp8, &sp14[var_r30]); VECAdd(&sp14[var_r30], &sp8, &sp14[var_r30]);
PSVECSubtract(&sp14[var_r29], &sp8, &sp14[var_r29]); VECSubtract(&sp14[var_r29], &sp8, &sp14[var_r29]);
var_r28->unk_0E++; var_r28->unk_0E++;
var_r27->unk_0E++; var_r27->unk_0E++;
var_r26++; var_r26++;
@ -1164,7 +1164,7 @@ s32 fn_1_36DC(void)
var_r25 = lbl_1_bss_3C[var_r30]; var_r25 = lbl_1_bss_3C[var_r30];
var_r31 = var_r25->data; var_r31 = var_r25->data;
if (var_r31->unk_07 != 0) { if (var_r31->unk_07 != 0) {
PSVECAdd(&var_r31->unk_2C, &sp14[var_r30], &var_r31->unk_2C); VECAdd(&var_r31->unk_2C, &sp14[var_r30], &var_r31->unk_2C);
if (var_r31->unk_2C.x > 660.0f) { if (var_r31->unk_2C.x > 660.0f) {
var_r31->unk_2C.x = 660.0f; var_r31->unk_2C.x = 660.0f;
} }
@ -1237,8 +1237,8 @@ void fn_1_3BB4(Vec *arg0, Vec *arg1)
var_r30 = fn_1_844C(sp18); var_r30 = fn_1_844C(sp18);
var_f31 = 2000.0f; var_f31 = 2000.0f;
for (var_r31 = 0; var_r31 < var_r30; var_r31++) { for (var_r31 = 0; var_r31 < var_r30; var_r31++) {
PSVECSubtract(&sp18[var_r31], arg0, &spC); VECSubtract(&sp18[var_r31], arg0, &spC);
var_f30 = PSVECMag(&spC); var_f30 = VECMag(&spC);
if (!(var_f30 >= var_f31)) { if (!(var_f30 >= var_f31)) {
var_f31 = var_f30; var_f31 = var_f30;
*arg1 = sp18[var_r31]; *arg1 = sp18[var_r31];
@ -1403,18 +1403,18 @@ void fn_1_4574(Mtx arg0, float arg8, float arg9, float argA)
Mtx sp38; Mtx sp38;
Mtx sp8; Mtx sp8;
if (argA != 0.0f) { if (argA != 0.0f) {
PSMTXRotRad(arg0, 0x5A, 0.017453292f * argA); MTXRotRad(arg0, 0x5A, 0.017453292f * argA);
} }
else { else {
PSMTXIdentity(arg0); MTXIdentity(arg0);
} }
if (arg8 != 0.0f) { if (arg8 != 0.0f) {
PSMTXRotRad(sp38, 0x58, 0.017453292f * arg8); MTXRotRad(sp38, 0x58, 0.017453292f * arg8);
PSMTXConcat(sp38, arg0, arg0); MTXConcat(sp38, arg0, arg0);
} }
if (arg9 != 0.0f) { if (arg9 != 0.0f) {
PSMTXRotRad(sp8, 0x59, 0.017453292f * arg9); MTXRotRad(sp8, 0x59, 0.017453292f * arg9);
PSMTXConcat(sp8, arg0, arg0); MTXConcat(sp8, arg0, arg0);
} }
} }
// TODO figue out type of arg0 // TODO figue out type of arg0
@ -1570,8 +1570,8 @@ void fn_1_5290(float *arg0, float (*arg1)[3], float (*arg2)[3], s32 arg3)
arg0[0] = 0.0f; arg0[0] = 0.0f;
for (var_r30 = 1; var_r30 < arg3; var_r30++) { for (var_r30 = 1; var_r30 < arg3; var_r30++) {
PSVECSubtract((Vec *)&arg1[var_r30], (Vec *)&arg1[var_r30 - 1], &sp8); VECSubtract((Vec *)&arg1[var_r30], (Vec *)&arg1[var_r30 - 1], &sp8);
arg0[var_r30] = arg0[var_r30 - 1] + PSVECMag(&sp8); arg0[var_r30] = arg0[var_r30 - 1] + VECMag(&sp8);
} }
for (var_r27 = 0; var_r27 < 3; var_r27++) { for (var_r27 = 0; var_r27 < 3; var_r27++) {
for (var_r30 = 0; var_r30 < arg3; var_r30++) { for (var_r30 = 0; var_r30 < arg3; var_r30++) {
@ -1630,20 +1630,7 @@ void fn_1_5670(float arg8, float *arg0, float *arg1, float (*arg2)[3], float (*a
sp48[var_r30] = arg2[var_r30][var_r29]; sp48[var_r30] = arg2[var_r30][var_r29];
sp8[var_r30] = arg3[var_r30][var_r29]; sp8[var_r30] = arg3[var_r30][var_r29];
} }
var_f30 = arg8; arg0[var_r29] = fn_1_513C(arg8, arg1, sp48, sp8, 3);
var_r31 = var_f30;
var_f30 -= var_r31;
var_f31 = arg1[var_r31 + 1] - arg1[var_r31];
var_f29 = var_f31 * var_f30;
var_f28 = sp48[var_r31]
+ (var_f29
* ((var_f29 * ((3.0f * sp8[var_r31]) + ((var_f29 * (sp8[var_r31 + 1] - sp8[var_r31])) / var_f31)))
+ (((sp48[var_r31 + 1] - sp48[var_r31]) / var_f31) - (var_f31 * ((2.0f * sp8[var_r31]) + sp8[var_r31 + 1])))));
if (var_f31 == 0.0f) {
var_f28 = sp48[var_r31];
}
var_f27 = var_f28;
arg0[var_r29] = var_f27;
} }
} }

View file

@ -514,12 +514,12 @@ void fn_1_6EB4(omObjData *object)
Mtx sp8; Mtx sp8;
s32 var_r30; s32 var_r30;
PSMTXTrans(sp38, object->trans.x, object->trans.y, object->trans.z); MTXTrans(sp38, object->trans.x, object->trans.y, object->trans.z);
mtxRot(sp8, object->rot.x, object->rot.y, object->rot.z); mtxRot(sp8, object->rot.x, object->rot.y, object->rot.z);
PSMTXConcat(sp38, sp8, sp38); MTXConcat(sp38, sp8, sp38);
for (var_r30 = 0; var_r30 < 6; var_r30++) { for (var_r30 = 0; var_r30 < 6; var_r30++) {
PSMTXTrans(sp8, lbl_1_data_A88[var_r30].x, lbl_1_data_A88[var_r30].y, lbl_1_data_A88[var_r30].z); MTXTrans(sp8, lbl_1_data_A88[var_r30].x, lbl_1_data_A88[var_r30].y, lbl_1_data_A88[var_r30].z);
PSMTXConcat(sp38, sp8, sp8); MTXConcat(sp38, sp8, sp8);
Hu3DModelPosSet(object->model[var_r30 + 1], sp8[0][3], sp8[1][3], sp8[2][3]); Hu3DModelPosSet(object->model[var_r30 + 1], sp8[0][3], sp8[1][3], sp8[2][3]);
Hu3DModelRotSet(object->model[var_r30 + 1], object->rot.x, object->rot.y, object->rot.z); Hu3DModelRotSet(object->model[var_r30 + 1], object->rot.x, object->rot.y, object->rot.z);
} }
@ -685,12 +685,12 @@ void fn_1_73C4(omObjData *object)
break; break;
} }
} }
PSMTXTrans(sp8, object->trans.x, object->trans.y, object->trans.z); MTXTrans(sp8, object->trans.x, object->trans.y, object->trans.z);
mtxRot(sp38, object->rot.x, object->rot.y, object->rot.z); mtxRot(sp38, object->rot.x, object->rot.y, object->rot.z);
PSMTXConcat(sp8, sp38, sp8); MTXConcat(sp8, sp38, sp8);
for (var_r28 = 0; var_r28 < 6; var_r28++) { for (var_r28 = 0; var_r28 < 6; var_r28++) {
PSMTXTrans(sp38, lbl_1_data_A88[var_r28].x, lbl_1_data_A88[var_r28].y, lbl_1_data_A88[var_r28].z); MTXTrans(sp38, lbl_1_data_A88[var_r28].x, lbl_1_data_A88[var_r28].y, lbl_1_data_A88[var_r28].z);
PSMTXConcat(sp8, sp38, sp38); MTXConcat(sp8, sp38, sp38);
Hu3DModelPosSet(object->model[var_r28 + 1], sp38[0][3], sp38[1][3], sp38[2][3]); Hu3DModelPosSet(object->model[var_r28 + 1], sp38[0][3], sp38[1][3], sp38[2][3]);
Hu3DModelRotSet(object->model[var_r28 + 1], object->rot.x, object->rot.y, object->rot.z); Hu3DModelRotSet(object->model[var_r28 + 1], object->rot.x, object->rot.y, object->rot.z);
} }
@ -825,16 +825,16 @@ s32 fn_1_7CE0(float arg8, float arg9, Vec *arg0)
var_r28 -= 6; var_r28 -= 6;
fn_1_7BB0(var_r27, &sp10); fn_1_7BB0(var_r27, &sp10);
sp10 = lbl_1_data_A88[var_r27]; sp10 = lbl_1_data_A88[var_r27];
PSMTXTrans(sp4C, var_r31->trans.x, var_r31->trans.y, var_r31->trans.z); MTXTrans(sp4C, var_r31->trans.x, var_r31->trans.y, var_r31->trans.z);
mtxRot(sp1C, var_r31->rot.x, var_r31->rot.y, var_r31->rot.z); mtxRot(sp1C, var_r31->rot.x, var_r31->rot.y, var_r31->rot.z);
PSMTXConcat(sp4C, sp1C, sp4C); MTXConcat(sp4C, sp1C, sp4C);
PSMTXTrans(sp1C, sp10.x, sp10.y, sp10.z); MTXTrans(sp1C, sp10.x, sp10.y, sp10.z);
PSMTXConcat(sp4C, sp1C, sp4C); MTXConcat(sp4C, sp1C, sp4C);
var_r30 = lbl_1_data_AFC[var_r28]; var_r30 = lbl_1_data_AFC[var_r28];
var_r23 = lbl_1_data_B14[var_r28]; var_r23 = lbl_1_data_B14[var_r28];
for (var_r24 = 0; var_r24 < var_r23; var_r24++) { for (var_r24 = 0; var_r24 < var_r23; var_r24++) {
PSMTXTrans(sp1C, var_r30->x, var_r30->y, var_r30->z); MTXTrans(sp1C, var_r30->x, var_r30->y, var_r30->z);
PSMTXConcat(sp4C, sp1C, sp1C); MTXConcat(sp4C, sp1C, sp1C);
arg0->x = sp1C[0][3]; arg0->x = sp1C[0][3];
arg0->y = sp1C[1][3]; arg0->y = sp1C[1][3];
arg0->z = sp1C[2][3]; arg0->z = sp1C[2][3];
@ -930,17 +930,17 @@ s32 fn_1_844C(Vec *arg0)
var_r30 = lbl_1_bss_A4[lbl_1_bss_9C]; var_r30 = lbl_1_bss_A4[lbl_1_bss_9C];
var_r27 = var_r30->data; var_r27 = var_r30->data;
var_r23 = fn_1_8250(var_r27, sp8); var_r23 = fn_1_8250(var_r27, sp8);
PSMTXTrans(sp50, var_r30->trans.x, var_r30->trans.y, var_r30->trans.z); MTXTrans(sp50, var_r30->trans.x, var_r30->trans.y, var_r30->trans.z);
mtxRot(sp20, var_r30->rot.x, var_r30->rot.y, var_r30->rot.z); mtxRot(sp20, var_r30->rot.x, var_r30->rot.y, var_r30->rot.z);
PSMTXConcat(sp50, sp20, sp50); MTXConcat(sp50, sp20, sp50);
for (var_r29 = 0; var_r29 < var_r23; var_r29++) { for (var_r29 = 0; var_r29 < var_r23; var_r29++) {
fn_1_7BB0(sp8[var_r29], arg0); fn_1_7BB0(sp8[var_r29], arg0);
var_r26 = fn_1_7BFC(var_r27, sp8[var_r29]) - 6; var_r26 = fn_1_7BFC(var_r27, sp8[var_r29]) - 6;
arg0->x += lbl_1_data_B2C[var_r26].x; arg0->x += lbl_1_data_B2C[var_r26].x;
arg0->y += lbl_1_data_B2C[var_r26].y; arg0->y += lbl_1_data_B2C[var_r26].y;
arg0->z += lbl_1_data_B2C[var_r26].z; arg0->z += lbl_1_data_B2C[var_r26].z;
PSMTXTrans(sp20, arg0->x, arg0->y, arg0->z); MTXTrans(sp20, arg0->x, arg0->y, arg0->z);
PSMTXConcat(sp50, sp20, sp20); MTXConcat(sp50, sp20, sp20);
arg0->x = sp20[0][3]; arg0->x = sp20[0][3];
arg0->y = sp20[1][3]; arg0->y = sp20[1][3];
arg0->z = sp20[2][3]; arg0->z = sp20[2][3];
@ -991,7 +991,7 @@ s32 fn_1_867C(Vec *arg0, Vec *arg1)
if ((var_r28->rot.x > 0.0f) || (var_r28->rot.x <= -90.0f)) { if ((var_r28->rot.x > 0.0f) || (var_r28->rot.x <= -90.0f)) {
return 0; return 0;
} }
PSVECSubtract(arg0, &var_r28->trans, &sp3C); VECSubtract(arg0, &var_r28->trans, &sp3C);
sp3C.z = sp3C.z / cosd(var_r28->rot.x); sp3C.z = sp3C.z / cosd(var_r28->rot.x);
var_f24 = arg0->z; var_f24 = arg0->z;
var_f25 = arg0->x; var_f25 = arg0->x;
@ -1002,29 +1002,29 @@ s32 fn_1_867C(Vec *arg0, Vec *arg1)
} }
var_r24 -= 6; var_r24 -= 6;
sp48 = lbl_1_data_A88[var_r19]; sp48 = lbl_1_data_A88[var_r19];
PSVECSubtract(&sp3C, &sp48, &sp3C); VECSubtract(&sp3C, &sp48, &sp3C);
var_r30 = lbl_1_data_B74[var_r24][0]; var_r30 = lbl_1_data_B74[var_r24][0];
var_r29 = lbl_1_data_B74[var_r24][1]; var_r29 = lbl_1_data_B74[var_r24][1];
var_r21 = lbl_1_data_BA4[var_r24]; var_r21 = lbl_1_data_BA4[var_r24];
for (var_r31 = 0; var_r31 < var_r21; var_r31++) { for (var_r31 = 0; var_r31 < var_r21; var_r31++) {
var_r27 = (var_r31 + 1) % var_r21; var_r27 = (var_r31 + 1) % var_r21;
PSVECSubtract(var_r30 + var_r27, var_r30 + var_r31, &sp24); VECSubtract(var_r30 + var_r27, var_r30 + var_r31, &sp24);
PSVECSubtract(&sp3C, var_r30 + var_r27, &sp18); VECSubtract(&sp3C, var_r30 + var_r27, &sp18);
PSVECCrossProduct(&sp24, &sp18, &spC); VECCrossProduct(&sp24, &sp18, &spC);
if (!(spC.y < 0.0f)) { if (!(spC.y < 0.0f)) {
PSVECSubtract(var_r29 + var_r27, var_r30 + var_r27, &sp24); VECSubtract(var_r29 + var_r27, var_r30 + var_r27, &sp24);
PSVECSubtract(&sp3C, var_r29 + var_r27, &sp18); VECSubtract(&sp3C, var_r29 + var_r27, &sp18);
PSVECCrossProduct(&sp24, &sp18, &spC); VECCrossProduct(&sp24, &sp18, &spC);
if (!(spC.y < 0.0f)) { if (!(spC.y < 0.0f)) {
PSVECSubtract(var_r29 + var_r31, var_r29 + var_r27, &sp24); VECSubtract(var_r29 + var_r31, var_r29 + var_r27, &sp24);
PSVECSubtract(&sp3C, var_r29 + var_r31, &sp18); VECSubtract(&sp3C, var_r29 + var_r31, &sp18);
PSVECCrossProduct(&sp24, &sp18, &spC); VECCrossProduct(&sp24, &sp18, &spC);
if (!(spC.y < 0.0f)) { if (!(spC.y < 0.0f)) {
PSVECSubtract(var_r30 + var_r31, var_r29 + var_r31, &sp24); VECSubtract(var_r30 + var_r31, var_r29 + var_r31, &sp24);
PSVECSubtract(&sp3C, var_r30 + var_r31, &sp18); VECSubtract(&sp3C, var_r30 + var_r31, &sp18);
PSVECCrossProduct(&sp24, &sp18, &spC); VECCrossProduct(&sp24, &sp18, &spC);
if (!(spC.y < 0.0f)) { if (!(spC.y < 0.0f)) {
PSVECSubtract(var_r30 + var_r27, var_r30 + var_r31, &sp24); VECSubtract(var_r30 + var_r27, var_r30 + var_r31, &sp24);
var_f30 = (((sp3C.z * sp24.z) var_f30 = (((sp3C.z * sp24.z)
+ (((sp3C.y * sp24.y) + ((sp3C.x * sp24.x) - (sp24.x * var_r30[var_r31].x))) - (sp24.y * var_r30[var_r31].y))) + (((sp3C.y * sp24.y) + ((sp3C.x * sp24.x) - (sp24.x * var_r30[var_r31].x))) - (sp24.y * var_r30[var_r31].y)))
- (sp24.z * var_r30[var_r31].z)) - (sp24.z * var_r30[var_r31].z))
@ -1032,9 +1032,9 @@ s32 fn_1_867C(Vec *arg0, Vec *arg1)
sp30.x = var_r30[var_r31].x + (var_f30 * sp24.x); sp30.x = var_r30[var_r31].x + (var_f30 * sp24.x);
sp30.y = var_r30[var_r31].y + (var_f30 * sp24.y); sp30.y = var_r30[var_r31].y + (var_f30 * sp24.y);
sp30.z = var_r30[var_r31].z + (var_f30 * sp24.z); sp30.z = var_r30[var_r31].z + (var_f30 * sp24.z);
PSVECSubtract(&sp30, &sp3C, &spC); VECSubtract(&sp30, &sp3C, &spC);
var_f28 = PSVECMag(&spC); var_f28 = VECMag(&spC);
PSVECSubtract(var_r29 + var_r27, var_r29 + var_r31, &sp18); VECSubtract(var_r29 + var_r27, var_r29 + var_r31, &sp18);
var_f29 = (((sp3C.z * sp18.z) var_f29 = (((sp3C.z * sp18.z)
+ (((sp3C.y * sp18.y) + ((sp3C.x * sp18.x) - (sp18.x * var_r29[var_r31].x))) - (sp18.y * var_r29[var_r31].y))) + (((sp3C.y * sp18.y) + ((sp3C.x * sp18.x) - (sp18.x * var_r29[var_r31].x))) - (sp18.y * var_r29[var_r31].y)))
- (sp18.z * var_r29[var_r31].z)) - (sp18.z * var_r29[var_r31].z))
@ -1042,8 +1042,8 @@ s32 fn_1_867C(Vec *arg0, Vec *arg1)
sp30.x = var_r29[var_r31].x + (var_f29 * sp18.x); sp30.x = var_r29[var_r31].x + (var_f29 * sp18.x);
sp30.y = var_r29[var_r31].y + (var_f29 * sp18.y); sp30.y = var_r29[var_r31].y + (var_f29 * sp18.y);
sp30.z = var_r29[var_r31].z + (var_f29 * sp18.z); sp30.z = var_r29[var_r31].z + (var_f29 * sp18.z);
PSVECSubtract(&sp30, &sp3C, &spC); VECSubtract(&sp30, &sp3C, &spC);
var_f27 = PSVECMag(&spC); var_f27 = VECMag(&spC);
if (var_f28 == 0.0f) { if (var_f28 == 0.0f) {
var_f31 = var_f30; var_f31 = var_f30;
} }

View file

@ -67,7 +67,7 @@ void ObjectSetup(void)
lbl_1_bss_8.x = lbl_1_data_44.x - lbl_1_data_38.x; lbl_1_bss_8.x = lbl_1_data_44.x - lbl_1_data_38.x;
lbl_1_bss_8.y = lbl_1_data_44.y - lbl_1_data_38.y; lbl_1_bss_8.y = lbl_1_data_44.y - lbl_1_data_38.y;
lbl_1_bss_8.z = lbl_1_data_44.z - lbl_1_data_38.z; lbl_1_bss_8.z = lbl_1_data_44.z - lbl_1_data_38.z;
PSVECNormalize(&lbl_1_bss_8, &lbl_1_bss_8); VECNormalize(&lbl_1_bss_8, &lbl_1_bss_8);
light = Hu3DGLightCreateV(&lbl_1_data_38, &lbl_1_bss_8, &lbl_1_data_50); light = Hu3DGLightCreateV(&lbl_1_data_38, &lbl_1_bss_8, &lbl_1_data_50);
Hu3DGLightInfinitytSet(light); Hu3DGLightInfinitytSet(light);
Hu3DGLightStaticSet(light, 1); Hu3DGLightStaticSet(light, 1);

View file

@ -146,7 +146,7 @@ void ObjectSetup(void)
lbl_1_bss_8.x = lbl_1_data_44.x - lbl_1_data_38.x; lbl_1_bss_8.x = lbl_1_data_44.x - lbl_1_data_38.x;
lbl_1_bss_8.y = lbl_1_data_44.y - lbl_1_data_38.y; lbl_1_bss_8.y = lbl_1_data_44.y - lbl_1_data_38.y;
lbl_1_bss_8.z = lbl_1_data_44.z - lbl_1_data_38.z; lbl_1_bss_8.z = lbl_1_data_44.z - lbl_1_data_38.z;
PSVECNormalize(&lbl_1_bss_8, &lbl_1_bss_8); VECNormalize(&lbl_1_bss_8, &lbl_1_bss_8);
var_r29 = Hu3DGLightCreateV(&lbl_1_data_38, &lbl_1_bss_8, &lbl_1_data_50); var_r29 = Hu3DGLightCreateV(&lbl_1_data_38, &lbl_1_bss_8, &lbl_1_data_50);
Hu3DGLightInfinitytSet(var_r29); Hu3DGLightInfinitytSet(var_r29);
Hu3DGLightStaticSet(var_r29, 1); Hu3DGLightStaticSet(var_r29, 1);
@ -714,7 +714,7 @@ void fn_1_1304(omObjData *var_r30)
var_r28 = 0x40000001; var_r28 = 0x40000001;
if ((fn_1_3B0() == 5) && (var_r31->unk_00_field3 == 0) && (lbl_1_bss_64 == 1)) { if ((fn_1_3B0() == 5) && (var_r31->unk_00_field3 == 0) && (lbl_1_bss_64 == 1)) {
var_r25 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0); var_r25 = omGetGroupMemberListEx(HuPrcCurrentGet(), 0);
PSVECSubtract(&var_r25[*lbl_1_bss_70]->trans, &var_r30->trans, &sp8); VECSubtract(&var_r25[*lbl_1_bss_70]->trans, &var_r30->trans, &sp8);
var_r30->rot.y = fn_1_2090(var_r30->rot.y, atan2d(sp8.x, sp8.z), 0.1f); var_r30->rot.y = fn_1_2090(var_r30->rot.y, atan2d(sp8.x, sp8.z), 0.1f);
} }
if (fn_1_3B0() == 0xB) { if (fn_1_3B0() == 0xB) {

View file

@ -329,8 +329,8 @@ void fn_1_4C8(omObjData *object)
Vec sp1B0 = { 0.0f, 0.0f, 0.0f }; Vec sp1B0 = { 0.0f, 0.0f, 0.0f };
sp1B0.x = var_f31; sp1B0.x = var_f31;
sp1B0.z = var_f30; sp1B0.z = var_f30;
PSMTXRotRad(sp1E0, 0x79, 0.017453292f * CRot.y); MTXRotRad(sp1E0, 0x79, 0.017453292f * CRot.y);
PSMTXMultVec(sp1E0, &sp1B0, &sp1B0); MTXMultVec(sp1E0, &sp1B0, &sp1B0);
var_f31 = sp1B0.x; var_f31 = sp1B0.x;
var_f30 = sp1B0.z; var_f30 = sp1B0.z;
} }

View file

@ -153,7 +153,7 @@ void ObjectSetup(void)
sp8.x = sp8.z = 0.0f; sp8.x = sp8.z = 0.0f;
sp8.y = lbl_1_data_18.z; sp8.y = lbl_1_data_18.z;
mtxRot(sp2C, lbl_1_data_18.x, lbl_1_data_18.y, 0.0f); mtxRot(sp2C, lbl_1_data_18.x, lbl_1_data_18.y, 0.0f);
PSMTXMultVec(sp2C, &sp8, &lbl_1_data_28); MTXMultVec(sp2C, &sp8, &lbl_1_data_28);
Hu3DGLightPosAimSetV(lbl_1_bss_1A[0], &lbl_1_data_28, &lbl_1_data_40); Hu3DGLightPosAimSetV(lbl_1_bss_1A[0], &lbl_1_data_28, &lbl_1_data_40);
Hu3DShadowPosSet(&lbl_1_data_28, &lbl_1_data_34, &lbl_1_data_40); Hu3DShadowPosSet(&lbl_1_data_28, &lbl_1_data_34, &lbl_1_data_40);
lbl_1_bss_18 = lbl_1_bss_16 = lbl_1_bss_14 = lbl_1_bss_12 = lbl_1_bss_10 = -1; lbl_1_bss_18 = lbl_1_bss_16 = lbl_1_bss_14 = lbl_1_bss_12 = lbl_1_bss_10 = -1;
@ -474,15 +474,15 @@ void fn_1_2564(omObjData *object)
var_f31 *= -1.0f; var_f31 *= -1.0f;
} }
var_f31 = object->work[0] / var_f31; var_f31 = object->work[0] / var_f31;
PSVECSubtract(&lbl_1_data_4C[object->work[1] + var_r24], &lbl_1_data_4C[object->work[1]], &sp20); VECSubtract(&lbl_1_data_4C[object->work[1] + var_r24], &lbl_1_data_4C[object->work[1]], &sp20);
PSVECScale(&sp20, &sp20, var_f31); VECScale(&sp20, &sp20, var_f31);
PSVECAdd(&lbl_1_data_4C[object->work[1]], &sp20, &sp20); VECAdd(&lbl_1_data_4C[object->work[1]], &sp20, &sp20);
Center.x = sp20.x; Center.x = sp20.x;
Center.y = sp20.y; Center.y = sp20.y;
Center.z = sp20.z; Center.z = sp20.z;
PSVECSubtract(&lbl_1_data_70[object->work[1] + var_r24], &lbl_1_data_70[object->work[1]], &sp20); VECSubtract(&lbl_1_data_70[object->work[1] + var_r24], &lbl_1_data_70[object->work[1]], &sp20);
PSVECScale(&sp20, &sp20, var_f31); VECScale(&sp20, &sp20, var_f31);
PSVECAdd(&lbl_1_data_70[object->work[1]], &sp20, &sp20); VECAdd(&lbl_1_data_70[object->work[1]], &sp20, &sp20);
CRot.x = sp20.x; CRot.x = sp20.x;
CRot.y = sp20.y; CRot.y = sp20.y;
CRot.z = 0.0f; CRot.z = 0.0f;
@ -683,8 +683,8 @@ void fn_1_3618(omObjData *var_r28)
sp10[2] = var_r31->unk_44.unk_08 * var_r31->unk_40; sp10[2] = var_r31->unk_44.unk_08 * var_r31->unk_40;
sp10[3] = var_r31->unk_44.unk_0C * var_r31->unk_40; sp10[3] = var_r31->unk_44.unk_0C * var_r31->unk_40;
Hu3DCameraPerspectiveSet(var_r31->unk_3C, var_r31->unk_10, var_r31->unk_14, var_r31->unk_18, var_f31); Hu3DCameraPerspectiveSet(var_r31->unk_3C, var_r31->unk_10, var_r31->unk_14, var_r31->unk_18, var_f31);
Hu3DCameraViewportSet( Hu3DCameraViewportSet(var_r31->unk_3C, var_r31->unk_44.unk_00 - (0.5f * sp10[2]), var_r31->unk_44.unk_04 - (0.5f * sp10[3]), sp10[2],
var_r31->unk_3C, var_r31->unk_44.unk_00 - (0.5f * sp10[2]), var_r31->unk_44.unk_04 - (0.5f * sp10[3]), sp10[2], sp10[3], 0.0f, 1.0f); sp10[3], 0.0f, 1.0f);
sp10[0] = var_r31->unk_44.unk_00 - (0.5f * sp10[2]); sp10[0] = var_r31->unk_44.unk_00 - (0.5f * sp10[2]);
sp10[1] = var_r31->unk_44.unk_04 - (0.5f * sp10[3]); sp10[1] = var_r31->unk_44.unk_04 - (0.5f * sp10[3]);
sp8[0] = var_r31->unk_44.unk_00 + (0.5f * sp10[2]); sp8[0] = var_r31->unk_44.unk_00 + (0.5f * sp10[2]);
@ -731,7 +731,7 @@ void fn_1_3BC0(ModelData *model, Mtx mtx)
DCStoreRange(&lbl_1_data_B8, 4); DCStoreRange(&lbl_1_data_B8, 4);
C_MTXPerspective(spC, 41.5f, 1.2f, 100.0f, 5500.0f); C_MTXPerspective(spC, 41.5f, 1.2f, 100.0f, 5500.0f);
GXSetProjection(spC, GX_PERSPECTIVE); GXSetProjection(spC, GX_PERSPECTIVE);
PSMTXIdentity(sp3C); MTXIdentity(sp3C);
GXLoadPosMtxImm(sp3C, 0); GXLoadPosMtxImm(sp3C, 0);
GXSetNumChans(1); GXSetNumChans(1);
GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); GXSetChanCtrl(GX_COLOR0A0, GX_FALSE, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE);
@ -948,12 +948,12 @@ void fn_1_4388(Vec *sp8, Vec *var_r31)
float var_f30; float var_f30;
float var_f29; float var_f29;
PSVECSubtract(var_r31, sp8, &sp10); VECSubtract(var_r31, sp8, &sp10);
Center = *var_r31; Center = *var_r31;
CRot.x = atan2d(sp10.y, sqrtf((sp10.x * sp10.x) + (sp10.z * sp10.z))); CRot.x = atan2d(sp10.y, sqrtf((sp10.x * sp10.x) + (sp10.z * sp10.z)));
CRot.y = atan2d(-sp10.x, -sp10.z); CRot.y = atan2d(-sp10.x, -sp10.z);
CRot.z = 0.0f; CRot.z = 0.0f;
CZoom = PSVECMag(&sp10); CZoom = VECMag(&sp10);
} }
void fn_1_4590(float arg8, float arg9, float argA, float argB, float argC, float argD) void fn_1_4590(float arg8, float arg9, float argA, float argB, float argC, float argD)
@ -968,12 +968,12 @@ void fn_1_4590(float arg8, float arg9, float argA, float argB, float argC, float
sp30.x = argB; sp30.x = argB;
sp30.y = argC; sp30.y = argC;
sp30.z = argD; sp30.z = argD;
PSVECSubtract(&sp30, &sp3C, &sp24); VECSubtract(&sp30, &sp3C, &sp24);
Center = sp30; Center = sp30;
CRot.x = atan2d(sp24.y, sqrtf((sp24.x * sp24.x) + (sp24.z * sp24.z))); CRot.x = atan2d(sp24.y, sqrtf((sp24.x * sp24.x) + (sp24.z * sp24.z)));
CRot.y = atan2d(-sp24.x, -sp24.z); CRot.y = atan2d(-sp24.x, -sp24.z);
CRot.z = 0.0f; CRot.z = 0.0f;
CZoom = PSVECMag(&sp24); CZoom = VECMag(&sp24);
} }
float fn_1_47D0(float arg8, float arg9, float argA) float fn_1_47D0(float arg8, float arg9, float argA)

View file

@ -270,9 +270,9 @@ void fn_1_6C00(omObjData *object)
fn_1_7DA8(object, &sp14, 1); fn_1_7DA8(object, &sp14, 1);
} }
} }
PSVECSubtract(&var_r31->unk_48, &var_r31->unk_3C, &sp8); VECSubtract(&var_r31->unk_48, &var_r31->unk_3C, &sp8);
PSVECScale(&sp8, &sp8, 0.4f); VECScale(&sp8, &sp8, 0.4f);
PSVECAdd(&var_r31->unk_3C, &sp8, &sp14); VECAdd(&var_r31->unk_3C, &sp8, &sp14);
sp14.y += var_r31->unk_34; sp14.y += var_r31->unk_34;
Hu3DModelPosSetV(var_r31->unk_2C, &sp14); Hu3DModelPosSetV(var_r31->unk_2C, &sp14);
var_r31->unk_30++; var_r31->unk_30++;
@ -366,7 +366,7 @@ void fn_1_7790(ModelData *model, Mtx mtx)
DCStoreRange(&lbl_1_data_378, 4); DCStoreRange(&lbl_1_data_378, 4);
C_MTXPerspective(sp2C, 41.5f, 1.2f, 100.0f, 5500.0f); C_MTXPerspective(sp2C, 41.5f, 1.2f, 100.0f, 5500.0f);
GXSetProjection(sp2C, GX_PERSPECTIVE); GXSetProjection(sp2C, GX_PERSPECTIVE);
PSMTXIdentity(sp5C); MTXIdentity(sp5C);
GXLoadPosMtxImm(sp5C, 0); GXLoadPosMtxImm(sp5C, 0);
GXSetNumChans(1); GXSetNumChans(1);
GXSetChanCtrl(GX_COLOR0A0, 0, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE); GXSetChanCtrl(GX_COLOR0A0, 0, GX_SRC_REG, GX_SRC_VTX, 0, GX_DF_CLAMP, GX_AF_NONE);
@ -409,7 +409,7 @@ void fn_1_7B94(s32 arg0)
var_r30 = Hu3DData[arg0].unk_120; 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++) { 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) { if (var_r31->unk00_s16 != 0) {
PSVECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34); VECAdd(&var_r31->unk34, &var_r31->unk08, &var_r31->unk34);
switch (var_r31->unk02) { switch (var_r31->unk02) {
case 0: case 0:
var_r31->unk2C += 1.0f; var_r31->unk2C += 1.0f;
@ -464,7 +464,7 @@ void fn_1_7DA8(omObjData *object, Vec *arg1, u32 arg2)
sp1C.x = 100.0f * ((0.0026f * frandmod(0x3E8)) - 1.3f); sp1C.x = 100.0f * ((0.0026f * frandmod(0x3E8)) - 1.3f);
sp1C.y = 0.0f; sp1C.y = 0.0f;
sp1C.z = 100.0f * ((0.000100000005f * frandmod(0x3E8)) - 0.05f); sp1C.z = 100.0f * ((0.000100000005f * frandmod(0x3E8)) - 0.05f);
PSVECAdd(&sp1C, arg1, &var_r31->unk34); VECAdd(&sp1C, arg1, &var_r31->unk34);
var_r31->unk30 = 0.0031415902f * frandmod(0x3E8); var_r31->unk30 = 0.0031415902f * frandmod(0x3E8);
switch (arg2) { switch (arg2) {
case 0: case 0:
@ -485,7 +485,7 @@ void fn_1_7DA8(omObjData *object, Vec *arg1, u32 arg2)
if (frandmod(0x3E8) < 0x1F4) { if (frandmod(0x3E8) < 0x1F4) {
sp1C.x *= -1.0f; sp1C.x *= -1.0f;
} }
PSVECAdd(&sp1C, arg1, &var_r31->unk34); VECAdd(&sp1C, arg1, &var_r31->unk34);
var_r31->unk00 = 60.0f * (0.2f + (0.0005f * frandmod(0x3E8))); 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.x = 1.6666667f * ((0.000100000005f * frandmod(0x3E8)) - 0.05f);
var_r31->unk08.y = -1.6666667f * (0.2f + (0.0003f * frandmod(0x3E8))); var_r31->unk08.y = -1.6666667f * (0.2f + (0.0003f * frandmod(0x3E8)));

View file

@ -218,7 +218,7 @@ void fn_1_4F6C(omObjData *object)
} }
break; break;
} }
PSVECAdd(&var_r31->unk_60, &var_r31->unk_6C, &var_r31->unk_60); VECAdd(&var_r31->unk_60, &var_r31->unk_6C, &var_r31->unk_60);
fn_1_57D8(object); fn_1_57D8(object);
if (fn_1_414C() == 2) { if (fn_1_414C() == 2) {
var_r31->unk_2C = 0; var_r31->unk_2C = 0;
@ -343,7 +343,7 @@ void fn_1_5168(omObjData *object)
break; break;
} }
} }
PSVECAdd(&var_r31->unk_60, &var_r31->unk_6C, &var_r31->unk_60); VECAdd(&var_r31->unk_60, &var_r31->unk_6C, &var_r31->unk_60);
fn_1_57D8(object); fn_1_57D8(object);
if ((fn_1_4164() == 5) && (var_r27 != 0)) { if ((fn_1_4164() == 5) && (var_r27 != 0)) {
var_r31->unk_2C = 0; var_r31->unk_2C = 0;
@ -390,7 +390,7 @@ void fn_1_55EC(omObjData *object)
fn_1_5CE0(object, 0); fn_1_5CE0(object, 0);
break; break;
} }
PSVECAdd(&var_r31->unk_60, &var_r31->unk_6C, &var_r31->unk_60); VECAdd(&var_r31->unk_60, &var_r31->unk_6C, &var_r31->unk_60);
fn_1_57D8(object); fn_1_57D8(object);
if (var_r31->unk_84 >= 0) { if (var_r31->unk_84 >= 0) {
sp8 = var_r31->unk_60; sp8 = var_r31->unk_60;
@ -426,15 +426,15 @@ s32 fn_1_58C8(omObjData *object, float arg8, float arg9)
var_r31 = object->data; var_r31 = object->data;
var_r30 = 0; var_r30 = 0;
PSVECSubtract(&var_r31->unk_78, &var_r31->unk_60, &spC); VECSubtract(&var_r31->unk_78, &var_r31->unk_60, &spC);
spC.y = 0.0f; spC.y = 0.0f;
var_f31 = PSVECMag(&spC); var_f31 = VECMag(&spC);
if (var_f31 < arg9) { if (var_f31 < arg9) {
var_f31 = 0.0f; var_f31 = 0.0f;
var_r30 = 1; var_r30 = 1;
} }
else { else {
if (PSVECMag(&spC) >= 100.0f) { if (VECMag(&spC) >= 100.0f) {
var_f31 = 100.0f; var_f31 = 100.0f;
} }
var_f31 = 0.2f + (0.008f * var_f31); var_f31 = 0.2f + (0.008f * var_f31);
@ -636,12 +636,12 @@ void fn_1_61F4(omObjData *object)
object->trans.z += 11.666667f; object->trans.z += 11.666667f;
} }
else { else {
var_f31 = PSVECMag(&sp10); var_f31 = VECMag(&sp10);
if (var_f31 < 20.0f) { if (var_f31 < 20.0f) {
var_f31 = 0.0f; var_f31 = 0.0f;
} }
else { else {
if (PSVECMag(&sp10) >= 100.0f) { if (VECMag(&sp10) >= 100.0f) {
var_f31 = 100.0f; var_f31 = 100.0f;
} }
var_f31 = 0.2f + (0.008f * var_f31); var_f31 = 0.2f + (0.008f * var_f31);

View file

@ -403,9 +403,9 @@ void fn_1_1D70(s16 arg0, char *arg1, Vec *arg2, Mtx arg3)
var_r30 = &Hu3DData[arg0]; var_r30 = &Hu3DData[arg0];
Hu3DModelObjMtxGet(arg0, arg1, spC); Hu3DModelObjMtxGet(arg0, arg1, spC);
PSMTXConcat(var_r30->unk_F0, spC, spC); MTXConcat(var_r30->unk_F0, spC, spC);
if (NULL != arg3) { if (NULL != arg3) {
PSMTXCopy(spC, arg3); MTXCopy(spC, arg3);
} }
arg2->x = spC[0][3]; arg2->x = spC[0][3];
arg2->y = spC[1][3]; arg2->y = spC[1][3];
@ -1186,7 +1186,8 @@ s32 lbl_1_data_128[8][5] = {
s32 lbl_1_data_1C8[3] = { DATA_MAKE_NUM(DATADIR_M461, 0x02), DATA_MAKE_NUM(DATADIR_M461, 0x03), DATA_MAKE_NUM(DATADIR_M461, 0x08) }; s32 lbl_1_data_1C8[3] = { DATA_MAKE_NUM(DATADIR_M461, 0x02), DATA_MAKE_NUM(DATADIR_M461, 0x03), DATA_MAKE_NUM(DATADIR_M461, 0x08) };
s32 lbl_1_data_1D4[4] = { DATA_MAKE_NUM(DATADIR_M461, 0x04), DATA_MAKE_NUM(DATADIR_M461, 0x05), DATA_MAKE_NUM(DATADIR_M461, 0x06), DATA_MAKE_NUM(DATADIR_M461, 0x07) }; s32 lbl_1_data_1D4[4]
= { DATA_MAKE_NUM(DATADIR_M461, 0x04), DATA_MAKE_NUM(DATADIR_M461, 0x05), DATA_MAKE_NUM(DATADIR_M461, 0x06), DATA_MAKE_NUM(DATADIR_M461, 0x07) };
float lbl_1_data_1E4[3] = { 0.3f, 0.5f, 0.9f }; float lbl_1_data_1E4[3] = { 0.3f, 0.5f, 0.9f };

View file

@ -78,9 +78,9 @@ void fn_1_44D8(void);
void fn_1_4BC4(void); void fn_1_4BC4(void);
void fn_1_69C0(void); void fn_1_69C0(void);
void fn_1_7D40(void); void fn_1_7D40(void);
void fn_1_545C(ModelData* model, ParticleData* particle, Mtx matrix); void fn_1_545C(ModelData *model, ParticleData *particle, Mtx matrix);
void fn_1_594C(ModelData* model, ParticleData* particle, Mtx matrix); void fn_1_594C(ModelData *model, ParticleData *particle, Mtx matrix);
void fn_1_5DE4(ModelData* model, ParticleData* particle, Mtx matrix); void fn_1_5DE4(ModelData *model, ParticleData *particle, Mtx matrix);
void fn_1_7DA0(void); void fn_1_7DA0(void);
s32 fn_1_1880(float arg0, float arg1, float arg2, s32 arg3, s32 arg4); s32 fn_1_1880(float arg0, float arg1, float arg2, s32 arg3, s32 arg4);
@ -93,48 +93,28 @@ s32 lbl_1_bss_3D8;
StructBss340 lbl_1_bss_340[1]; StructBss340 lbl_1_bss_340[1];
StructBss70 lbl_1_bss_70[10]; StructBss70 lbl_1_bss_70[10];
StructBss70 lbl_1_bss_28; StructBss70 lbl_1_bss_28;
omObjData* lbl_1_bss_24; omObjData *lbl_1_bss_24;
Vec lbl_1_bss_18; Vec lbl_1_bss_18;
Vec lbl_1_bss_C; Vec lbl_1_bss_C;
Vec lbl_1_bss_0; Vec lbl_1_bss_0;
s32 lbl_1_data_0[] = { 0, 1, 2, 3, 4, 5, 6, 7 }; s32 lbl_1_data_0[] = { 0, 1, 2, 3, 4, 5, 6, 7 };
s32 lbl_1_data_20[] = { s32 lbl_1_data_20[] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 79), DATA_MAKE_NUM(DATADIR_MARIOMOT, 27), DATA_MAKE_NUM(DATADIR_MARIOMOT, 75),
DATA_MAKE_NUM(DATADIR_MARIOMOT, 79), DATA_MAKE_NUM(DATADIR_MARIOMOT, 22) };
DATA_MAKE_NUM(DATADIR_MARIOMOT, 27),
DATA_MAKE_NUM(DATADIR_MARIOMOT, 75),
DATA_MAKE_NUM(DATADIR_MARIOMOT, 22)
};
Vec lbl_1_data_30[] = { Vec lbl_1_data_30[] = { { 0.0f, 0.0f, 35.0f }, { 0.0f, 0.0f, 35.0f }, { 0.0f, 0.0f, 35.0f }, { 0.0f, 0.0f, 35.0f }, { 0.0f, 0.0f, 35.0f },
{ 0.0f, 0.0f, 35.0f }, { 0.0f, 0.0f, 35.0f }, { 0.0f, 0.0f, 35.0f }, { 0.0f, 0.0f, 35.0f } };
{ 0.0f, 0.0f, 35.0f },
{ 0.0f, 0.0f, 35.0f },
{ 0.0f, 0.0f, 35.0f },
{ 0.0f, 0.0f, 35.0f },
{ 0.0f, 0.0f, 35.0f },
{ 0.0f, 0.0f, 35.0f },
{ 0.0f, 0.0f, 35.0f }
};
Vec lbl_1_data_90[] = { Vec lbl_1_data_90[] = { { -900.0f, 143.0f, -1020.0f }, { -677.0f, 143.0f, -1020.0f }, { 900.0f, 0.0f, -1150.0f }, { -307.0f, 182.0f, -1575.0f } };
{ -900.0f, 143.0f, -1020.0f },
{ -677.0f, 143.0f, -1020.0f },
{ 900.0f, 0.0f, -1150.0f },
{ -307.0f, 182.0f, -1575.0f }
};
s32 lbl_1_data_C0[][5] = { s32 lbl_1_data_C0[][5] = { { 50, 80, 90, 95, 100 }, { 5, 55, 85, 95, 100 }, { 0, 5, 55, 90, 100 } };
{ 50, 80, 90, 95, 100 },
{ 5, 55, 85, 95, 100 },
{ 0, 5, 55, 90, 100 }
};
float lbl_1_data_FC[] = { 0.3f, 0.5f, 0.7f, 0.9f, 1.0f }; float lbl_1_data_FC[] = { 0.3f, 0.5f, 0.7f, 0.9f, 1.0f };
void ObjectSetup(void) { void ObjectSetup(void)
Process* temp_r3; {
Process *temp_r3;
temp_r3 = omInitObjMan(50, 0x2000); temp_r3 = omInitObjMan(50, 0x2000);
omGameSysInit(temp_r3); omGameSysInit(temp_r3);
@ -172,15 +152,16 @@ void ObjectSetup(void) {
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60); WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, 60);
} }
void fn_1_4A0(void) { void fn_1_4A0(void)
{
float temp_f31; float temp_f31;
float temp_f30; float temp_f30;
void* var_r27; void *var_r27;
StructBss340* temp_r31; StructBss340 *temp_r31;
StructBss70* temp_r29; StructBss70 *temp_r29;
Process* var_r25; Process *var_r25;
AnimData* var_r24; AnimData *var_r24;
AnimData* spC[4]; AnimData *spC[4];
s16 var_r30; s16 var_r30;
s16 var_r23; s16 var_r23;
s16 sp8; s16 sp8;
@ -292,7 +273,8 @@ void fn_1_4A0(void) {
var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M462, 12), MEMORY_DEFAULT_NUM, HEAP_DATA); var_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_M462, 12), MEMORY_DEFAULT_NUM, HEAP_DATA);
var_r30 = Hu3DModelCreate(var_r27); var_r30 = Hu3DModelCreate(var_r27);
var_r23 = var_r30; var_r23 = var_r30;
} else { }
else {
var_r30 = Hu3DModelLink(var_r23); var_r30 = Hu3DModelLink(var_r23);
} }
temp_r29->unk00 = var_r30; temp_r29->unk00 = var_r30;
@ -389,7 +371,8 @@ void fn_1_4A0(void) {
HuPrcChildCreate(fn_1_7D40, 0x1000, 0x1000, 0, HuPrcCurrentGet()); HuPrcChildCreate(fn_1_7D40, 0x1000, 0x1000, 0, HuPrcCurrentGet());
} }
float fn_1_14B4(float arg0) { float fn_1_14B4(float arg0)
{
while (arg0 >= 360.0f || arg0 < 0.0f) { while (arg0 >= 360.0f || arg0 < 0.0f) {
if (arg0 >= 360.0f) { if (arg0 >= 360.0f) {
arg0 -= 360.0f; arg0 -= 360.0f;
@ -401,24 +384,29 @@ float fn_1_14B4(float arg0) {
return arg0; return arg0;
} }
float fn_1_1534(float arg0, float arg1) { float fn_1_1534(float arg0, float arg1)
{
float var_f31; float var_f31;
if (arg0 > 750.0f - arg1) { if (arg0 > 750.0f - arg1) {
var_f31 = 750.0f; var_f31 = 750.0f;
} else if (arg0 < -(750.0f - arg1)) { }
else if (arg0 < -(750.0f - arg1)) {
var_f31 = 750.0f; var_f31 = 750.0f;
} else { }
else {
var_f31 = 750.0f; var_f31 = 750.0f;
} }
return var_f31; return var_f31;
} }
float fn_1_15B4(float arg0, float arg1) { float fn_1_15B4(float arg0, float arg1)
{
return fn_1_1534(arg0, arg1); return fn_1_1534(arg0, arg1);
} }
void fn_1_1634(void) { void fn_1_1634(void)
{
float var_f31; float var_f31;
float temp_f30; float temp_f30;
s32 i; s32 i;
@ -434,7 +422,8 @@ void fn_1_1634(void) {
} }
} }
void fn_1_16F8(void) { void fn_1_16F8(void)
{
s32 i; s32 i;
for (i = 0; i < 6; i++) { for (i = 0; i < 6; i++) {
@ -442,7 +431,8 @@ void fn_1_16F8(void) {
} }
} }
void fn_1_174C(void) { void fn_1_174C(void)
{
s32 i; s32 i;
for (i = 0; i < 6; i++) { for (i = 0; i < 6; i++) {
@ -450,12 +440,14 @@ void fn_1_174C(void) {
} }
} }
void fn_1_17A0(s32 arg0, s32 arg1) { void fn_1_17A0(s32 arg0, s32 arg1)
{
s32 var_r31; s32 var_r31;
if (arg1 != 0) { if (arg1 != 0) {
var_r31 = 2; var_r31 = 2;
} else { }
else {
var_r31 = 4; var_r31 = 4;
} }
HuSprBankSet(lbl_1_bss_3DC, var_r31, arg0 % 10); HuSprBankSet(lbl_1_bss_3DC, var_r31, arg0 % 10);
@ -463,13 +455,14 @@ void fn_1_17A0(s32 arg0, s32 arg1) {
HuSprAttrReset(lbl_1_bss_3DC, var_r31 + 1, HUSPR_ATTR_DISPOFF); HuSprAttrReset(lbl_1_bss_3DC, var_r31 + 1, HUSPR_ATTR_DISPOFF);
} }
s32 fn_1_1880(float arg0, float arg1, float arg2, s32 arg3, s32 arg4) { s32 fn_1_1880(float arg0, float arg1, float arg2, s32 arg3, s32 arg4)
{
Vec sp34; Vec sp34;
Vec sp28; Vec sp28;
Vec sp1C; Vec sp1C;
s32 i; s32 i;
StructBss70* temp_r30; StructBss70 *temp_r30;
StructBss340* var_r29; StructBss340 *var_r29;
if (arg3 > 10) { if (arg3 > 10) {
arg3 = 10; arg3 = 10;
@ -498,7 +491,8 @@ s32 fn_1_1880(float arg0, float arg1, float arg2, s32 arg3, s32 arg4) {
return 0; return 0;
} }
s32 fn_1_1BD4(StructBss70* arg0) { s32 fn_1_1BD4(StructBss70 *arg0)
{
float var_f31; float var_f31;
float var_f30; float var_f30;
s32 var_r31; s32 var_r31;
@ -525,7 +519,8 @@ s32 fn_1_1BD4(StructBss70* arg0) {
return var_r31; return var_r31;
} }
void fn_1_1E10(StructBss70* arg0) { void fn_1_1E10(StructBss70 *arg0)
{
Vec sp104; Vec sp104;
Vec spF8; Vec spF8;
Vec spEC; Vec spEC;
@ -541,8 +536,8 @@ void fn_1_1E10(StructBss70* arg0) {
float spB0; float spB0;
float spAC; float spAC;
float spA0; float spA0;
StructBss70* var_r30; StructBss70 *var_r30;
StructBss70* temp_r28; StructBss70 *temp_r28;
s32 temp_r19; s32 temp_r19;
s32 var_r21; s32 var_r21;
s32 i; s32 i;
@ -583,7 +578,8 @@ void fn_1_1E10(StructBss70* arg0) {
spC0 = var_f19 - var_f26; spC0 = var_f19 - var_f26;
if (spC0 > 0.0f) { if (spC0 > 0.0f) {
spBC = -0.5f; spBC = -0.5f;
} else { }
else {
spBC = 0.5f; spBC = 0.5f;
} }
if (ABS_INV(var_f19 - var_f26) > 180.0f) { if (ABS_INV(var_f19 - var_f26) > 180.0f) {
@ -626,13 +622,14 @@ block_end:
arg0->unk14.z = spB4; arg0->unk14.z = spB4;
} }
void fn_1_2FDC(StructBss70* arg0) { void fn_1_2FDC(StructBss70 *arg0)
{
Vec spF0; Vec spF0;
Vec spE4; Vec spE4;
Vec spD8; Vec spD8;
s32 i; s32 i;
StructBss340* var_r30; StructBss340 *var_r30;
StructBss70* temp_r25; StructBss70 *temp_r25;
float var_f31; float var_f31;
s32 var_r23; s32 var_r23;
s32 var_r20; s32 var_r20;
@ -655,12 +652,14 @@ void fn_1_2FDC(StructBss70* arg0) {
var_f31 += 30.0f * frandf() - 60.0f; var_f31 += 30.0f * frandf() - 60.0f;
var_f31 = fn_1_14B4(var_f31); var_f31 = fn_1_14B4(var_f31);
arg0->unk20 = var_f31; arg0->unk20 = var_f31;
} else if (ABS_INV(arg0->unk14.x) > 550.0f) { }
else if (ABS_INV(arg0->unk14.x) > 550.0f) {
var_f31 = fn_1_14B4(180.0 + atan2d(arg0->unk14.x, 0.0)); var_f31 = fn_1_14B4(180.0 + atan2d(arg0->unk14.x, 0.0));
var_f31 += 10.0f * frandf() - 20.0f; var_f31 += 10.0f * frandf() - 20.0f;
var_f31 = fn_1_14B4(var_f31); var_f31 = fn_1_14B4(var_f31);
arg0->unk20 = var_f31; arg0->unk20 = var_f31;
} else if (frandmod(3) != 0) { }
else if (frandmod(3) != 0) {
for (i = 0, var_r23 = 0; i < 10; i++) { for (i = 0, var_r23 = 0; i < 10; i++) {
if (i == arg0->unk0C) { if (i == arg0->unk0C) {
continue; continue;
@ -679,13 +678,15 @@ void fn_1_2FDC(StructBss70* arg0) {
if (var_r23 == 1 && ABS_INV(var_r30->unk4C.x) < 650.0f) { if (var_r23 == 1 && ABS_INV(var_r30->unk4C.x) < 650.0f) {
temp_r25 = &lbl_1_bss_70[spAC[0]]; temp_r25 = &lbl_1_bss_70[spAC[0]];
var_f31 = fn_1_14B4(atan2d(arg0->unk40 - arg0->unk14.x, arg0->unk44 - arg0->unk14.z)); var_f31 = fn_1_14B4(atan2d(arg0->unk40 - arg0->unk14.x, arg0->unk44 - arg0->unk14.z));
} else { }
else {
var_f31 = fn_1_14B4(180.0 + atan2d(arg0->unk14.x, arg0->unk14.z)); var_f31 = fn_1_14B4(180.0 + atan2d(arg0->unk14.x, arg0->unk14.z));
var_f31 += 30.0f * frandf() - 60.0f; var_f31 += 30.0f * frandf() - 60.0f;
var_f31 = fn_1_14B4(var_f31); var_f31 = fn_1_14B4(var_f31);
arg0->unk20 = var_f31; arg0->unk20 = var_f31;
} }
} else { }
else {
var_f31 = 360.0f * frandf(); var_f31 = 360.0f * frandf();
arg0->unk20 = var_f31; arg0->unk20 = var_f31;
} }
@ -713,15 +714,15 @@ void fn_1_2FDC(StructBss70* arg0) {
var_f31 = fn_1_14B4(atan2d(arg0->unk40 - arg0->unk14.x, arg0->unk44 - arg0->unk14.z)); var_f31 = fn_1_14B4(atan2d(arg0->unk40 - arg0->unk14.x, arg0->unk44 - arg0->unk14.z));
arg0->unk14.x += arg0->unk34 * sind(var_f31); arg0->unk14.x += arg0->unk34 * sind(var_f31);
arg0->unk14.z += arg0->unk34 * cosd(var_f31); arg0->unk14.z += arg0->unk34 * cosd(var_f31);
if (fn_1_1BD4(arg0)) { if (fn_1_1BD4(arg0)) { }
}
if (fn_1_1880(arg0->unk14.x, arg0->unk14.z, 50.0f, 10, arg0->unk0C) != 0) { if (fn_1_1880(arg0->unk14.x, arg0->unk14.z, 50.0f, 10, arg0->unk0C) != 0) {
arg0->unk14.x = arg0->unk24; arg0->unk14.x = arg0->unk24;
arg0->unk14.z = arg0->unk28; arg0->unk14.z = arg0->unk28;
arg0->unk38 = 100; arg0->unk38 = 100;
arg0->unk3C = 0; arg0->unk3C = 0;
} }
} else { }
else {
arg0->unk38 = 100; arg0->unk38 = 100;
arg0->unk3C = 0; arg0->unk3C = 0;
} }
@ -735,8 +736,9 @@ void fn_1_2FDC(StructBss70* arg0) {
} }
} }
void fn_1_44D8(void) { void fn_1_44D8(void)
StructBss70* temp_r31; {
StructBss70 *temp_r31;
float temp_f30; float temp_f30;
float var_f31; float var_f31;
s32 i; s32 i;
@ -763,7 +765,8 @@ void fn_1_44D8(void) {
} }
} }
void fn_1_4644(StructBss70* arg0) { void fn_1_4644(StructBss70 *arg0)
{
float temp_f26; float temp_f26;
float temp_f25; float temp_f25;
float var_f27; float var_f27;
@ -778,7 +781,8 @@ void fn_1_4644(StructBss70* arg0) {
arg0->unk20 = 90.0f; arg0->unk20 = 90.0f;
var_f27 = -700.0f + temp_f26 - 500.0f; var_f27 = -700.0f + temp_f26 - 500.0f;
var_f24 = 8.333333f; var_f24 = 8.333333f;
} else { }
else {
arg0->unk14.x = 700.0f - temp_f26; arg0->unk14.x = 700.0f - temp_f26;
arg0->unk20 = 270.0f; arg0->unk20 = 270.0f;
var_f27 = 700.0f - temp_f26 + 500.0f; var_f27 = 700.0f - temp_f26 + 500.0f;
@ -808,7 +812,8 @@ void fn_1_4644(StructBss70* arg0) {
Hu3DModelPosSet(arg0->unk00, arg0->unk14.x, 0.0f, arg0->unk14.z); Hu3DModelPosSet(arg0->unk00, arg0->unk14.x, 0.0f, arg0->unk14.z);
} }
void fn_1_4BC4(void) { void fn_1_4BC4(void)
{
s32 spC; s32 spC;
float sp8; float sp8;
float temp_f23; float temp_f23;
@ -816,9 +821,9 @@ void fn_1_4BC4(void) {
float var_f28; float var_f28;
float var_f30; float var_f30;
float var_f29; float var_f29;
StructBss70* temp_r31; StructBss70 *temp_r31;
StructBss340* var_r28; StructBss340 *var_r28;
StructBss340* var_r30; StructBss340 *var_r30;
s32 temp_r27; s32 temp_r27;
s32 temp_r24; s32 temp_r24;
s32 var_r26; s32 var_r26;
@ -843,7 +848,8 @@ loop_1:
} }
} }
if (i > 4) { if (i > 4) {
while (TRUE); while (TRUE)
;
} }
temp_r31->unk34 = 6.75f * lbl_1_data_FC[i]; temp_r31->unk34 = 6.75f * lbl_1_data_FC[i];
temp_r31->unk38 = 0; temp_r31->unk38 = 0;
@ -854,8 +860,8 @@ loop_1:
fn_1_4644(temp_r31); fn_1_4644(temp_r31);
temp_r31->unk10 = 0; temp_r31->unk10 = 0;
if (FALSE) { if (FALSE) {
default: default:
fn_1_2FDC(temp_r31); fn_1_2FDC(temp_r31);
} }
Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk14.x, temp_r31->unk14.y, temp_r31->unk14.z); Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk14.x, temp_r31->unk14.y, temp_r31->unk14.z);
Hu3DModelRotSet(temp_r31->unk00, 0.0f, temp_r31->unk20, 0.0f); Hu3DModelRotSet(temp_r31->unk00, 0.0f, temp_r31->unk20, 0.0f);
@ -869,19 +875,23 @@ loop_1:
if (ABS_INV(var_r28->unk4C.z - temp_r31->unk14.z) > 250.0f) { if (ABS_INV(var_r28->unk4C.z - temp_r31->unk14.z) > 250.0f) {
if (temp_r31->unk14.x > 0.0f) { if (temp_r31->unk14.x > 0.0f) {
var_f30 = 10.0f; var_f30 = 10.0f;
} else { }
else {
var_f30 = -10.0f; var_f30 = -10.0f;
} }
} else { }
else {
if (var_r28->unk4C.x > temp_r31->unk14.x) { if (var_r28->unk4C.x > temp_r31->unk14.x) {
var_f30 = -10.0f; var_f30 = -10.0f;
} else { }
else {
var_f30 = 10.0f; var_f30 = 10.0f;
} }
} }
if (var_f30 > 0.0f) { if (var_f30 > 0.0f) {
Hu3DModelRotSet(temp_r31->unk00, 0.0f, 90.0f, 0.0f); Hu3DModelRotSet(temp_r31->unk00, 0.0f, 90.0f, 0.0f);
} else { }
else {
Hu3DModelRotSet(temp_r31->unk00, 0.0f, 270.0f, 0.0f); Hu3DModelRotSet(temp_r31->unk00, 0.0f, 270.0f, 0.0f);
} }
Hu3DMotionSet(temp_r31->unk00, temp_r31->unk04[1]); Hu3DMotionSet(temp_r31->unk00, temp_r31->unk04[1]);
@ -911,7 +921,8 @@ loop_1:
temp_r31->unk2C = fn_1_14B4(atan2d(temp_r31->unk14.x - var_r30->unk4C.x, temp_r31->unk14.z - var_r30->unk4C.z)); temp_r31->unk2C = fn_1_14B4(atan2d(temp_r31->unk14.x - var_r30->unk4C.x, temp_r31->unk14.z - var_r30->unk4C.z));
Hu3DMotionTimeSet(temp_r31->unk02, 0.0f); Hu3DMotionTimeSet(temp_r31->unk02, 0.0f);
Hu3DModelAttrReset(temp_r31->unk02, HU3D_ATTR_DISPOFF); Hu3DModelAttrReset(temp_r31->unk02, HU3D_ATTR_DISPOFF);
Hu3DModelPosSet(temp_r31->unk02, var_r30->unk4C.x + var_r30->unk84 * sind(temp_r31->unk2C), temp_r31->unk14.y + 50.0f, var_r30->unk4C.z + var_r30->unk84 * cosd(temp_r31->unk2C)); Hu3DModelPosSet(temp_r31->unk02, var_r30->unk4C.x + var_r30->unk84 * sind(temp_r31->unk2C), temp_r31->unk14.y + 50.0f,
var_r30->unk4C.z + var_r30->unk84 * cosd(temp_r31->unk2C));
i = 0; i = 0;
var_f29 = temp_r31->unk14.x; var_f29 = temp_r31->unk14.x;
var_f28 = temp_r31->unk14.z; var_f28 = temp_r31->unk14.z;
@ -943,9 +954,10 @@ loop_1:
} }
} }
void fn_1_545C(ModelData* model, ParticleData* particle, Mtx matrix) { void fn_1_545C(ModelData *model, ParticleData *particle, Mtx matrix)
HsfanimStruct01* var_r31; {
StructBss340* temp_r28; HsfanimStruct01 *var_r31;
StructBss340 *temp_r28;
float var_f30; float var_f30;
float var_f31; float var_f31;
float temp_f29; float temp_f29;
@ -996,7 +1008,7 @@ void fn_1_545C(ModelData* model, ParticleData* particle, Mtx matrix) {
if (var_r31->unk14.x == 0.0f) { if (var_r31->unk14.x == 0.0f) {
continue; continue;
} }
PSVECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34); VECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34);
var_r31->unk08.x *= 0.95f; var_r31->unk08.x *= 0.95f;
var_r31->unk08.z *= 0.95f; var_r31->unk08.z *= 0.95f;
if (var_r31->unk08.y > 0.1f) { if (var_r31->unk08.y > 0.1f) {
@ -1025,9 +1037,10 @@ void fn_1_545C(ModelData* model, ParticleData* particle, Mtx matrix) {
} }
} }
void fn_1_594C(ModelData* model, ParticleData* particle, Mtx matrix) { void fn_1_594C(ModelData *model, ParticleData *particle, Mtx matrix)
HsfanimStruct01* var_r31; {
StructBss340* temp_r28; HsfanimStruct01 *var_r31;
StructBss340 *temp_r28;
float temp_f31; float temp_f31;
float temp_f30; float temp_f30;
s32 var_r27; s32 var_r27;
@ -1088,7 +1101,7 @@ void fn_1_594C(ModelData* model, ParticleData* particle, Mtx matrix) {
if (var_r31->unk14.x == 0.0f || var_r31->unk24 == 0.0f) { if (var_r31->unk14.x == 0.0f || var_r31->unk24 == 0.0f) {
continue; continue;
} }
PSVECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34); VECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34);
if (var_r31->unk08.y > 1.0f) { if (var_r31->unk08.y > 1.0f) {
var_r31->unk08.y -= 0.3f; var_r31->unk08.y -= 0.3f;
} }
@ -1112,9 +1125,10 @@ void fn_1_594C(ModelData* model, ParticleData* particle, Mtx matrix) {
} }
} }
void fn_1_5DE4(ModelData* model, ParticleData* particle, Mtx matrix) { void fn_1_5DE4(ModelData *model, ParticleData *particle, Mtx matrix)
HsfanimStruct01* var_r31; {
StructBss340* temp_r28; HsfanimStruct01 *var_r31;
StructBss340 *temp_r28;
float temp_f31; float temp_f31;
float temp_f30; float temp_f30;
s32 var_r27; s32 var_r27;
@ -1175,7 +1189,7 @@ void fn_1_5DE4(ModelData* model, ParticleData* particle, Mtx matrix) {
if (var_r31->unk14.x == 0.0f || var_r31->unk24 == 0.0f) { if (var_r31->unk14.x == 0.0f || var_r31->unk24 == 0.0f) {
continue; continue;
} }
PSVECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34); VECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34);
if (var_r31->unk08.y > 1.0f) { if (var_r31->unk08.y > 1.0f) {
var_r31->unk08.y -= 0.3f; var_r31->unk08.y -= 0.3f;
} }
@ -1199,8 +1213,9 @@ void fn_1_5DE4(ModelData* model, ParticleData* particle, Mtx matrix) {
} }
} }
s8 fn_1_627C(s32 arg0, s32 arg1) { s8 fn_1_627C(s32 arg0, s32 arg1)
StructBss340* temp_r31; {
StructBss340 *temp_r31;
s8 var_r30; s8 var_r30;
temp_r31 = &lbl_1_bss_340[arg0]; temp_r31 = &lbl_1_bss_340[arg0];
@ -1208,8 +1223,9 @@ s8 fn_1_627C(s32 arg0, s32 arg1) {
return var_r30; return var_r30;
} }
u8 fn_1_62F0(s32 arg0, s32 arg1) { u8 fn_1_62F0(s32 arg0, s32 arg1)
StructBss340* temp_r31; {
StructBss340 *temp_r31;
s8 var_r30; s8 var_r30;
temp_r31 = &lbl_1_bss_340[arg0]; temp_r31 = &lbl_1_bss_340[arg0];
@ -1217,8 +1233,9 @@ u8 fn_1_62F0(s32 arg0, s32 arg1) {
return var_r30; return var_r30;
} }
u16 fn_1_636C(s32 arg0) { u16 fn_1_636C(s32 arg0)
StructBss340* temp_r31; {
StructBss340 *temp_r31;
u16 var_r30; u16 var_r30;
temp_r31 = &lbl_1_bss_340[arg0]; temp_r31 = &lbl_1_bss_340[arg0];
@ -1226,8 +1243,9 @@ u16 fn_1_636C(s32 arg0) {
return var_r30; return var_r30;
} }
u16 fn_1_63B4(s32 arg0) { u16 fn_1_63B4(s32 arg0)
StructBss340* temp_r31; {
StructBss340 *temp_r31;
u16 var_r30; u16 var_r30;
temp_r31 = &lbl_1_bss_340[arg0]; temp_r31 = &lbl_1_bss_340[arg0];
@ -1235,11 +1253,12 @@ u16 fn_1_63B4(s32 arg0) {
return var_r30; return var_r30;
} }
s32 fn_1_63FC(StructBss340* arg0) { s32 fn_1_63FC(StructBss340 *arg0)
{
Vec sp24; Vec sp24;
Vec sp18; Vec sp18;
Vec spC; Vec spC;
StructBss70* temp_r31; StructBss70 *temp_r31;
s32 var_r28; s32 var_r28;
s32 i; s32 i;
@ -1257,7 +1276,8 @@ s32 fn_1_63FC(StructBss340* arg0) {
return var_r28; return var_r28;
} }
s32 fn_1_65D0(StructBss340* arg0) { s32 fn_1_65D0(StructBss340 *arg0)
{
float var_f31; float var_f31;
float var_f30; float var_f30;
s32 sp8; s32 sp8;
@ -1279,7 +1299,8 @@ s32 fn_1_65D0(StructBss340* arg0) {
return sp8; return sp8;
} }
float fn_1_67F0(float arg0, float arg1, float arg2) { float fn_1_67F0(float arg0, float arg1, float arg2)
{
float var_f30; float var_f30;
float var_f31; float var_f31;
@ -1297,8 +1318,9 @@ float fn_1_67F0(float arg0, float arg1, float arg2) {
return var_f30; return var_f30;
} }
void fn_1_68F4(void) { void fn_1_68F4(void)
StructBss340* temp_r31; {
StructBss340 *temp_r31;
s32 i; s32 i;
temp_r31 = HuPrcCurrentGet()->user_data; temp_r31 = HuPrcCurrentGet()->user_data;
@ -1313,19 +1335,21 @@ void fn_1_68F4(void) {
} }
} }
s32 fn_1_6964(StructBss340* arg0) { s32 fn_1_6964(StructBss340 *arg0)
{
return (arg0->unk2C == 4 || arg0->unk2C == 5 || arg0->unk2C == 6); return (arg0->unk2C == 4 || arg0->unk2C == 5 || arg0->unk2C == 6);
} }
void fn_1_69C0(void) { void fn_1_69C0(void)
{
float var_f23; float var_f23;
float var_f27; float var_f27;
float var_f26; float var_f26;
StructBss340* temp_r31; StructBss340 *temp_r31;
s16 var_r29; s16 var_r29;
s32 var_r24; s32 var_r24;
s32 var_r23; s32 var_r23;
Process* var_r22; Process *var_r22;
s32 var_r26; s32 var_r26;
s32 var_r25; s32 var_r25;
s32 var_r28; s32 var_r28;
@ -1353,7 +1377,8 @@ void fn_1_69C0(void) {
case 8: case 8:
if (temp_r31->unk3C != 0) { if (temp_r31->unk3C != 0) {
temp_r31->unk3C--; temp_r31->unk3C--;
} else { }
else {
Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[0], 0.0f, 5.0f, HU3D_MOTATTR_LOOP); Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[0], 0.0f, 5.0f, HU3D_MOTATTR_LOOP);
temp_r31->unk2C = 0; temp_r31->unk2C = 0;
} }
@ -1374,7 +1399,8 @@ void fn_1_69C0(void) {
} }
if (temp_r31->unk3C != 0) { if (temp_r31->unk3C != 0) {
temp_r31->unk3C--; temp_r31->unk3C--;
} else { }
else {
Hu3DMotionSet(temp_r31->unk00, temp_r31->unk06[5]); Hu3DMotionSet(temp_r31->unk00, temp_r31->unk06[5]);
Hu3DModelAttrReset(temp_r31->unk00, HU3D_MOTATTR_LOOP); Hu3DModelAttrReset(temp_r31->unk00, HU3D_MOTATTR_LOOP);
temp_r31->unk2C = 6; temp_r31->unk2C = 6;
@ -1416,7 +1442,8 @@ void fn_1_69C0(void) {
if (fn_1_63B4(temp_r31->unk20) & PAD_BUTTON_A) { if (fn_1_63B4(temp_r31->unk20) & PAD_BUTTON_A) {
Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[1], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[1], 0.0f, 8.0f, HU3D_MOTATTR_LOOP);
Hu3DMotionShiftSpeedSet(temp_r31->unk00, 2.0f); Hu3DMotionShiftSpeedSet(temp_r31->unk00, 2.0f);
} else { }
else {
Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[1], 0.0f, 8.0f, HU3D_MOTATTR_LOOP | HU3D_MOTATTR_REV); Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[1], 0.0f, 8.0f, HU3D_MOTATTR_LOOP | HU3D_MOTATTR_REV);
Hu3DMotionShiftSpeedSet(temp_r31->unk00, 2.0f); Hu3DMotionShiftSpeedSet(temp_r31->unk00, 2.0f);
} }
@ -1424,14 +1451,16 @@ void fn_1_69C0(void) {
HuAudFXStop(var_r29); HuAudFXStop(var_r29);
} }
} }
} else { }
else {
if (temp_r31->unk2C != 3) { if (temp_r31->unk2C != 3) {
temp_r31->unk2C = 3; temp_r31->unk2C = 3;
temp_r31->unk48 = 0; temp_r31->unk48 = 0;
if (fn_1_63B4(temp_r31->unk20) & PAD_BUTTON_A) { if (fn_1_63B4(temp_r31->unk20) & PAD_BUTTON_A) {
Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[2], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[2], 0.0f, 8.0f, HU3D_MOTATTR_LOOP);
Hu3DMotionShiftSpeedSet(temp_r31->unk00, 2.0f); Hu3DMotionShiftSpeedSet(temp_r31->unk00, 2.0f);
} else { }
else {
Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[2], 0.0f, 8.0f, HU3D_MOTATTR_LOOP | HU3D_MOTATTR_REV); Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[2], 0.0f, 8.0f, HU3D_MOTATTR_LOOP | HU3D_MOTATTR_REV);
Hu3DMotionShiftSpeedSet(temp_r31->unk00, 2.0f); Hu3DMotionShiftSpeedSet(temp_r31->unk00, 2.0f);
} }
@ -1443,7 +1472,8 @@ void fn_1_69C0(void) {
if (temp_r31->unk34 != 1) { if (temp_r31->unk34 != 1) {
var_r24 = 8; var_r24 = 8;
var_r23 = 32; var_r23 = 32;
} else { }
else {
var_r24 = 7; var_r24 = 7;
var_r23 = 22; var_r23 = 22;
} }
@ -1458,12 +1488,14 @@ void fn_1_69C0(void) {
if (temp_r31->unk48 >= 50) { if (temp_r31->unk48 >= 50) {
temp_r31->unk48 -= 50; temp_r31->unk48 -= 50;
} }
} else { }
else {
if (temp_r31->unk48 >= 30) { if (temp_r31->unk48 >= 30) {
temp_r31->unk48 -= 30; temp_r31->unk48 -= 30;
} }
} }
} else { }
else {
if (ABS_INV(fn_1_627C(temp_r31->unk20, 0)) <= 20) { if (ABS_INV(fn_1_627C(temp_r31->unk20, 0)) <= 20) {
if (temp_r31->unk2C != 0) { if (temp_r31->unk2C != 0) {
temp_r31->unk2C = 0; temp_r31->unk2C = 0;
@ -1472,7 +1504,8 @@ void fn_1_69C0(void) {
HuAudFXStop(var_r29); HuAudFXStop(var_r29);
} }
} }
} else { }
else {
if (temp_r31->unk2C != 1) { if (temp_r31->unk2C != 1) {
temp_r31->unk2C = 1; temp_r31->unk2C = 1;
Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[3], 0.0f, 8.0f, HU3D_MOTATTR_LOOP); Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[3], 0.0f, 8.0f, HU3D_MOTATTR_LOOP);
@ -1481,10 +1514,8 @@ void fn_1_69C0(void) {
} }
} }
} }
if (fn_1_63FC(temp_r31) != -1) { if (fn_1_63FC(temp_r31) != -1) { }
} if ((spA4 = fn_1_65D0(temp_r31)) != -1) { }
if ((spA4 = fn_1_65D0(temp_r31)) != -1) {
}
break; break;
} }
Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk4C.x, temp_r31->unk4C.y, temp_r31->unk4C.z); Hu3DModelPosSet(temp_r31->unk00, temp_r31->unk4C.x, temp_r31->unk4C.y, temp_r31->unk4C.z);
@ -1522,7 +1553,8 @@ void fn_1_69C0(void) {
if (var_r25 & 1) { if (var_r25 & 1) {
Hu3DModelAttrReset(temp_r31->unk00, HU3D_ATTR_DISPOFF); Hu3DModelAttrReset(temp_r31->unk00, HU3D_ATTR_DISPOFF);
Hu3DModelAttrReset(temp_r31->unk04, HU3D_ATTR_DISPOFF); Hu3DModelAttrReset(temp_r31->unk04, HU3D_ATTR_DISPOFF);
} else { }
else {
Hu3DModelAttrSet(temp_r31->unk00, HU3D_ATTR_DISPOFF); Hu3DModelAttrSet(temp_r31->unk00, HU3D_ATTR_DISPOFF);
Hu3DModelAttrSet(temp_r31->unk04, HU3D_ATTR_DISPOFF); Hu3DModelAttrSet(temp_r31->unk04, HU3D_ATTR_DISPOFF);
} }
@ -1542,7 +1574,8 @@ void fn_1_69C0(void) {
Hu3DModelAttrSet(temp_r31->unk00, HU3D_ATTR_DISPOFF); Hu3DModelAttrSet(temp_r31->unk00, HU3D_ATTR_DISPOFF);
HuAudSStreamPlay(4); HuAudSStreamPlay(4);
HuPrcSleep(180); HuPrcSleep(180);
} else { }
else {
var_f26 = temp_r31->unk90; var_f26 = temp_r31->unk90;
Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[3], 0.0f, 2.0f, HU3D_MOTATTR_LOOP); Hu3DMotionShiftSet(temp_r31->unk00, temp_r31->unk06[3], 0.0f, 2.0f, HU3D_MOTATTR_LOOP);
if (fn_1_14B4(temp_r31->unk60.y) != 0.0f) { if (fn_1_14B4(temp_r31->unk60.y) != 0.0f) {
@ -1576,10 +1609,10 @@ void fn_1_69C0(void) {
} }
} }
void fn_1_7D3C(void) { void fn_1_7D3C(void) { }
}
void fn_1_7D40(void) { void fn_1_7D40(void)
{
while (TRUE) { while (TRUE) {
if (omSysExitReq == 1) { if (omSysExitReq == 1) {
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60); WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, 60);
@ -1595,7 +1628,8 @@ void fn_1_7D40(void) {
} }
} }
void fn_1_7DA0(void) { void fn_1_7DA0(void)
{
s16 temp_r31; s16 temp_r31;
s16 var_r30; s16 var_r30;
s16 temp_r26; s16 temp_r26;
@ -1644,7 +1678,8 @@ void fn_1_7DA0(void) {
HuPrcVSleep(); HuPrcVSleep();
} }
lbl_1_bss_3E4 = 5; lbl_1_bss_3E4 = 5;
} else { }
else {
lbl_1_bss_3E4 = 5; lbl_1_bss_3E4 = 5;
} }
while (lbl_1_bss_3E4 < 6) { while (lbl_1_bss_3E4 < 6) {

View file

@ -68,14 +68,14 @@ typedef struct {
} StructData134; // Size 0x18 } StructData134; // Size 0x18
s16 fn_1_4474(void); s16 fn_1_4474(void);
void fn_1_659C(omObjData* arg0); void fn_1_659C(omObjData *arg0);
StructBss51C lbl_1_bss_51C[9]; StructBss51C lbl_1_bss_51C[9];
StructBss35C lbl_1_bss_35C[28]; StructBss35C lbl_1_bss_35C[28];
omObjData* lbl_1_bss_358; omObjData *lbl_1_bss_358;
omObjData* lbl_1_bss_354; omObjData *lbl_1_bss_354;
omObjData* lbl_1_bss_330[9]; omObjData *lbl_1_bss_330[9];
omObjData* lbl_1_bss_32C; omObjData *lbl_1_bss_32C;
HsfanimStruct00 lbl_1_bss_5C[9]; HsfanimStruct00 lbl_1_bss_5C[9];
s32 lbl_1_bss_58; s32 lbl_1_bss_58;
s32 lbl_1_bss_54; s32 lbl_1_bss_54;
@ -83,7 +83,7 @@ s32 lbl_1_bss_50;
char lbl_1_bss_4C[4]; // unused char lbl_1_bss_4C[4]; // unused
s32 lbl_1_bss_48; s32 lbl_1_bss_48;
s32 lbl_1_bss_44; s32 lbl_1_bss_44;
Process* lbl_1_bss_40; Process *lbl_1_bss_40;
s32 lbl_1_bss_3C; s32 lbl_1_bss_3C;
s32 lbl_1_bss_38; s32 lbl_1_bss_38;
s32 lbl_1_bss_34; s32 lbl_1_bss_34;
@ -101,17 +101,9 @@ char lbl_1_bss_8[4]; // unused
s32 lbl_1_bss_4; s32 lbl_1_bss_4;
s32 lbl_1_bss_0; s32 lbl_1_bss_0;
s32 lbl_1_data_0[9] = { s32 lbl_1_data_0[9] = { DATA_MAKE_NUM(DATADIR_M458, 38), DATA_MAKE_NUM(DATADIR_M458, 38), DATA_MAKE_NUM(DATADIR_M458, 38),
DATA_MAKE_NUM(DATADIR_M458, 38), DATA_MAKE_NUM(DATADIR_M458, 38), DATA_MAKE_NUM(DATADIR_M458, 38), DATA_MAKE_NUM(DATADIR_M458, 38), DATA_MAKE_NUM(DATADIR_M458, 38),
DATA_MAKE_NUM(DATADIR_M458, 38), DATA_MAKE_NUM(DATADIR_M458, 38), DATA_MAKE_NUM(DATADIR_M458, 38) };
DATA_MAKE_NUM(DATADIR_M458, 38),
DATA_MAKE_NUM(DATADIR_M458, 38),
DATA_MAKE_NUM(DATADIR_M458, 38),
DATA_MAKE_NUM(DATADIR_M458, 38),
DATA_MAKE_NUM(DATADIR_M458, 38),
DATA_MAKE_NUM(DATADIR_M458, 38),
DATA_MAKE_NUM(DATADIR_M458, 38)
};
s32 lbl_1_data_24[9] = { 0 }; s32 lbl_1_data_24[9] = { 0 };
@ -129,17 +121,8 @@ s32 lbl_1_data_48[9] = {
u32 lbl_1_data_6C[9] = { 0, 0, 0, 0, 0, 0, 0, 1, 0 }; u32 lbl_1_data_6C[9] = { 0, 0, 0, 0, 0, 0, 0, 1, 0 };
u32 lbl_1_data_90[] = { u32 lbl_1_data_90[] = { DATA_MAKE_NUM(DATADIR_BKOOPA, 8), 0, 0, DATA_MAKE_NUM(DATADIR_BKOOPA, 10), 0, DATA_MAKE_NUM(DATADIR_M458, 42),
DATA_MAKE_NUM(DATADIR_BKOOPA, 8), DATA_MAKE_NUM(DATADIR_M458, 40), DATA_MAKE_NUM(DATADIR_M458, 41), DATA_MAKE_NUM(DATADIR_M458, 39) };
0,
0,
DATA_MAKE_NUM(DATADIR_BKOOPA, 10),
0,
DATA_MAKE_NUM(DATADIR_M458, 42),
DATA_MAKE_NUM(DATADIR_M458, 40),
DATA_MAKE_NUM(DATADIR_M458, 41),
DATA_MAKE_NUM(DATADIR_M458, 39)
};
u8 lbl_1_data_B4[9] = { 0, 0, 0, 1, 1, 1, 0, 1, 1 }; u8 lbl_1_data_B4[9] = { 0, 0, 0, 1, 1, 1, 0, 1, 1 };
u8 lbl_1_data_BD[9] = { 0, 0, 0, 1, 1, 1, 0, 1, 1 }; u8 lbl_1_data_BD[9] = { 0, 0, 0, 1, 1, 1, 0, 1, 1 };
@ -157,7 +140,8 @@ s32 lbl_1_data_154 = -1;
// unused // unused
float lbl_1_data_158[] = { -90.0f, 0.0f, 525.0f, 180.0f, 90.0f, 0.0f, 525.0f, 180.0f }; float lbl_1_data_158[] = { -90.0f, 0.0f, 525.0f, 180.0f, 90.0f, 0.0f, 525.0f, 180.0f };
void fn_1_A0(void) { void fn_1_A0(void)
{
if (HuPadBtnDown[0] & PAD_BUTTON_B) { if (HuPadBtnDown[0] & PAD_BUTTON_B) {
Center.x = lbl_1_bss_330[0]->trans.x; Center.x = lbl_1_bss_330[0]->trans.x;
Center.y = lbl_1_bss_330[0]->trans.y; Center.y = lbl_1_bss_330[0]->trans.y;
@ -176,9 +160,10 @@ void fn_1_A0(void) {
s32 lbl_1_data_184 = -1; s32 lbl_1_data_184 = -1;
void fn_1_4C8(omObjData* arg0) { void fn_1_4C8(omObjData *arg0)
ModelData* temp_r24; {
ModelData* temp_r29; ModelData *temp_r24;
ModelData *temp_r29;
float temp_f31; float temp_f31;
float temp_f30; float temp_f30;
float var_f28; float var_f28;
@ -190,17 +175,17 @@ void fn_1_4C8(omObjData* arg0) {
float var_f22; float var_f22;
float var_f21; float var_f21;
float var_f20; float var_f20;
StructBss330Data* temp_r31; StructBss330Data *temp_r31;
s16 var_r28; s16 var_r28;
s32 temp_r27; s32 temp_r27;
s32 var_r26; s32 var_r26;
s32 var_r25; s32 var_r25;
s32 var_r23; s32 var_r23;
s32 var_r22; s32 var_r22;
StructBss330Data* temp_r21; StructBss330Data *temp_r21;
s32 var_r20; s32 var_r20;
s32 var_r19; s32 var_r19;
StructBss330Data* temp_r18; StructBss330Data *temp_r18;
s32 var_r17; s32 var_r17;
float sp180[2]; float sp180[2];
s32 spE0; s32 spE0;
@ -210,18 +195,18 @@ void fn_1_4C8(omObjData* arg0) {
s32 spD0; s32 spD0;
s32 spCC; s32 spCC;
s32 spC8; s32 spC8;
StructBss330Data* spC4; StructBss330Data *spC4;
s32 spC0; s32 spC0;
s32 spBC; s32 spBC;
StructBss330Data* spB8; StructBss330Data *spB8;
s32 spB4; s32 spB4;
u32 spB0; u32 spB0;
float spAC; float spAC;
s32 spA8; s32 spA8;
s32 spA4; s32 spA4;
s32 spA0; s32 spA0;
StructBss330Data* sp9C; StructBss330Data *sp9C;
ModelData* sp98; ModelData *sp98;
float sp94; float sp94;
float sp90; float sp90;
s32 sp8C; s32 sp8C;
@ -240,7 +225,8 @@ void fn_1_4C8(omObjData* arg0) {
} }
if (temp_r31->unk0C != -1) { if (temp_r31->unk0C != -1) {
var_r22 = (HuPadBtnDown[temp_r31->unk0C] & PAD_BUTTON_A) ? 1 : 0; var_r22 = (HuPadBtnDown[temp_r31->unk0C] & PAD_BUTTON_A) ? 1 : 0;
} else { }
else {
temp_r31->unk14 += (temp_r31->unk14 < 0x10000); temp_r31->unk14 += (temp_r31->unk14 < 0x10000);
if (temp_r31->unk14 == 30) { if (temp_r31->unk14 == 30) {
var_r22 = 1; var_r22 = 1;
@ -251,12 +237,11 @@ void fn_1_4C8(omObjData* arg0) {
var_r26 = 0; var_r26 = 0;
var_r25 = 0; var_r25 = 0;
if (temp_r31->unk0C != -1) { if (temp_r31->unk0C != -1) {
var_r26 = (HuPadStkX[temp_r31->unk0C] < -20) ? -1 var_r26 = (HuPadStkX[temp_r31->unk0C] < -20) ? -1 : (HuPadStkX[temp_r31->unk0C] > 20) ? 1 : 0;
: (HuPadStkX[temp_r31->unk0C] > 20) ? 1 : 0; var_r25 = (-HuPadStkY[temp_r31->unk0C] < -20) ? -1 : (-HuPadStkY[temp_r31->unk0C] > 20) ? 1 : 0;
var_r25 = (-HuPadStkY[temp_r31->unk0C] < -20) ? -1
: (-HuPadStkY[temp_r31->unk0C] > 20) ? 1 : 0;
var_r22 = (HuPadBtnDown[temp_r31->unk0C] & PAD_BUTTON_A) ? 1 : 0; var_r22 = (HuPadBtnDown[temp_r31->unk0C] & PAD_BUTTON_A) ? 1 : 0;
} else { }
else {
if (lbl_1_bss_54 == 1) { if (lbl_1_bss_54 == 1) {
temp_r31->unk14 = rand8() % 64 + 30; temp_r31->unk14 = rand8() % 64 + 30;
} }
@ -278,16 +263,16 @@ void fn_1_4C8(omObjData* arg0) {
spCC = 0; spCC = 0;
if (var_r17 != temp_r31->unk00) { if (var_r17 != temp_r31->unk00) {
if (fabs(500.0 * temp_r31->unk3C - arg0->trans.x) < 10.0) { if (fabs(500.0 * temp_r31->unk3C - arg0->trans.x) < 10.0) {
spE0 = spDC = (arg0->trans.x < -250.0) ? -1 spE0 = spDC = (arg0->trans.x < -250.0) ? -1 : (arg0->trans.x > 250.0) ? 1 : 0;
: (arg0->trans.x > 250.0) ? 1 : 0; }
} else { else {
spE0 = (arg0->trans.x < 0.0f) ? -1 : 0; spE0 = (arg0->trans.x < 0.0f) ? -1 : 0;
spDC = spE0 + 1; spDC = spE0 + 1;
} }
if (fabs(500.0 * temp_r31->unk40 - arg0->trans.z) < 10.0) { if (fabs(500.0 * temp_r31->unk40 - arg0->trans.z) < 10.0) {
spD8 = spD4 = (arg0->trans.z < -250.0) ? -1 spD8 = spD4 = (arg0->trans.z < -250.0) ? -1 : (arg0->trans.z > 250.0) ? 1 : 0;
: (arg0->trans.z > 250.0) ? 1 : 0; }
} else { else {
spD8 = (arg0->trans.z < 0.0f) ? -1 : 0; spD8 = (arg0->trans.z < 0.0f) ? -1 : 0;
spD4 = spD8 + 1; spD4 = spD8 + 1;
} }
@ -309,14 +294,16 @@ void fn_1_4C8(omObjData* arg0) {
if (var_r26 * (500.0 * temp_r31->unk3C - arg0->trans.x) < 0.0) { if (var_r26 * (500.0 * temp_r31->unk3C - arg0->trans.x) < 0.0) {
temp_r31->unk3C += var_r26; temp_r31->unk3C += var_r26;
} }
if (fabs(500.0 * temp_r31->unk3C - arg0->trans.x) < 10.0 && var_r26 != 0 && temp_r31->unk3C + var_r26 >= -1 && temp_r31->unk3C + var_r26 <= 1) { if (fabs(500.0 * temp_r31->unk3C - arg0->trans.x) < 10.0 && var_r26 != 0 && temp_r31->unk3C + var_r26 >= -1
&& temp_r31->unk3C + var_r26 <= 1) {
temp_r31->unk3C += var_r26; temp_r31->unk3C += var_r26;
} }
var_f23 = ((500.0 * temp_r31->unk3C - arg0->trans.x) / 0.25) / 1.75; var_f23 = ((500.0 * temp_r31->unk3C - arg0->trans.x) / 0.25) / 1.75;
if (var_r25 * (500.0 * temp_r31->unk40 - arg0->trans.z) < 0.0) { if (var_r25 * (500.0 * temp_r31->unk40 - arg0->trans.z) < 0.0) {
temp_r31->unk40 += var_r25; temp_r31->unk40 += var_r25;
} }
if (fabs(500.0 * temp_r31->unk40 - arg0->trans.z) < 10.0 && var_r25 != 0 && temp_r31->unk40 + var_r25 >= -1 && temp_r31->unk40 + var_r25 <= 1) { if (fabs(500.0 * temp_r31->unk40 - arg0->trans.z) < 10.0 && var_r25 != 0 && temp_r31->unk40 + var_r25 >= -1
&& temp_r31->unk40 + var_r25 <= 1) {
temp_r31->unk40 += var_r25; temp_r31->unk40 += var_r25;
} }
var_f22 = ((500.0 * temp_r31->unk40 - arg0->trans.z) / -0.25) / 1.75; var_f22 = ((500.0 * temp_r31->unk40 - arg0->trans.z) / -0.25) / 1.75;
@ -332,8 +319,8 @@ void fn_1_4C8(omObjData* arg0) {
sp1A0.x = temp_f31; sp1A0.x = temp_f31;
sp1A0.z = temp_f30; sp1A0.z = temp_f30;
PSMTXRotRad(sp1D0, 'y', MTXDegToRad(CRot.y)); MTXRotRad(sp1D0, 'y', MTXDegToRad(CRot.y));
PSMTXMultVec(sp1D0, &sp1A0, &sp1A0); MTXMultVec(sp1D0, &sp1A0, &sp1A0);
temp_f31 = sp1A0.x; temp_f31 = sp1A0.x;
temp_f30 = sp1A0.z; temp_f30 = sp1A0.z;
var_f28 = sqrtf(temp_f31 * temp_f31 + temp_f30 * temp_f30); var_f28 = sqrtf(temp_f31 * temp_f31 + temp_f30 * temp_f30);
@ -341,7 +328,8 @@ void fn_1_4C8(omObjData* arg0) {
if (var_f28 < 10.0f) { if (var_f28 < 10.0f) {
temp_r31->unk2C = temp_f31; temp_r31->unk2C = temp_f31;
temp_r31->unk34 += temp_f30; temp_r31->unk34 += temp_f30;
} else { }
else {
temp_f31 /= var_f28; temp_f31 /= var_f28;
temp_f30 /= var_f28; temp_f30 /= var_f28;
var_f28 = 10.0f; var_f28 = 10.0f;
@ -352,10 +340,12 @@ void fn_1_4C8(omObjData* arg0) {
arg0->rot.y = atan2d(temp_r31->unk2C, temp_r31->unk34); arg0->rot.y = atan2d(temp_r31->unk2C, temp_r31->unk34);
if (temp_r31->unk28 >= 8.0f) { if (temp_r31->unk28 >= 8.0f) {
var_r28 = 2; var_r28 = 2;
} else { }
else {
var_r28 = 2; var_r28 = 2;
} }
} else { }
else {
var_r28 = 0; var_r28 = 0;
} }
} }
@ -372,14 +362,13 @@ void fn_1_4C8(omObjData* arg0) {
if (lbl_1_bss_54 == 0) { if (lbl_1_bss_54 == 0) {
Hu3DModelAttrReset(arg0->model[0], HU3D_ATTR_DISPOFF); Hu3DModelAttrReset(arg0->model[0], HU3D_ATTR_DISPOFF);
if (temp_r31->unk00 < 4) { if (temp_r31->unk00 < 4) {
temp_r31->unk38 = (temp_r31->unk00 == 0) ? 0 temp_r31->unk38 = (temp_r31->unk00 == 0) ? 0 : (temp_r31->unk00 == 1) ? 2 : (temp_r31->unk00 == 2) ? 6 : 8;
: (temp_r31->unk00 == 1) ? 2
: (temp_r31->unk00 == 2) ? 6 : 8;
temp_r31->unk3C = temp_r31->unk38 % 3 - 1; temp_r31->unk3C = temp_r31->unk38 % 3 - 1;
temp_r31->unk40 = temp_r31->unk38 / 3 - 1; temp_r31->unk40 = temp_r31->unk38 / 3 - 1;
arg0->trans.x = 500.0 * temp_r31->unk3C; arg0->trans.x = 500.0 * temp_r31->unk3C;
arg0->trans.z = 500.0 * temp_r31->unk40; arg0->trans.z = 500.0 * temp_r31->unk40;
} else { }
else {
do { do {
temp_r31->unk38 = rand8() % 9; temp_r31->unk38 = rand8() % 9;
for (spC8 = 0; spC8 < temp_r31->unk00; spC8++) { for (spC8 = 0; spC8 < temp_r31->unk00; spC8++) {
@ -446,9 +435,7 @@ void fn_1_4C8(omObjData* arg0) {
for (var_r23 = 0; var_r23 < 4; var_r23++) { for (var_r23 = 0; var_r23 < 4; var_r23++) {
temp_r18 = lbl_1_bss_330[var_r23]->data; temp_r18 = lbl_1_bss_330[var_r23]->data;
if (!(fabs(500.0 * temp_r18->unk3C - lbl_1_bss_330[var_r23]->trans.x) < 1.0) if (!(fabs(500.0 * temp_r18->unk3C - lbl_1_bss_330[var_r23]->trans.x) < 1.0)
|| !(fabs(500.0 * temp_r18->unk40 - lbl_1_bss_330[var_r23]->trans.z) < 1.0) || !(fabs(500.0 * temp_r18->unk40 - lbl_1_bss_330[var_r23]->trans.z) < 1.0) || temp_r18->unk20 != 0) {
|| temp_r18->unk20 != 0)
{
break; break;
} }
} }
@ -461,7 +448,8 @@ void fn_1_4C8(omObjData* arg0) {
if (temp_r31->unk5C != 0) { if (temp_r31->unk5C != 0) {
if (arg0->trans.y < -15000.0f) { if (arg0->trans.y < -15000.0f) {
Hu3DModelAttrSet(arg0->model[0], HU3D_ATTR_DISPOFF); Hu3DModelAttrSet(arg0->model[0], HU3D_ATTR_DISPOFF);
} else { }
else {
arg0->trans.y -= 77.0f; arg0->trans.y -= 77.0f;
} }
} }
@ -503,8 +491,7 @@ void fn_1_4C8(omObjData* arg0) {
temp_f26 = (lbl_1_bss_54 - 210) / 4.0; temp_f26 = (lbl_1_bss_54 - 210) / 4.0;
temp_f26 = (temp_f26 > 1.0f) ? 1.0f : temp_f26; temp_f26 = (temp_f26 > 1.0f) ? 1.0f : temp_f26;
espAttrReset(lbl_1_data_24[temp_r31->unk38], HUSPR_ATTR_DISPOFF); espAttrReset(lbl_1_data_24[temp_r31->unk38], HUSPR_ATTR_DISPOFF);
espPosSet(lbl_1_data_24[temp_r31->unk38], espPosSet(lbl_1_data_24[temp_r31->unk38], 290.0f + spB4 * sp194[spB0],
290.0f + spB4 * sp194[spB0],
sp188[spB0] + 0.5 * (64.0f * (1.0f - spAC) * 0.5 + sp1AC[temp_r31->unk08 != -1 ? temp_r31->unk08 : 8])); sp188[spB0] + 0.5 * (64.0f * (1.0f - spAC) * 0.5 + sp1AC[temp_r31->unk08 != -1 ? temp_r31->unk08 : 8]));
espScaleSet(lbl_1_data_24[temp_r31->unk38], 0.5 * temp_f26, 0.5 * temp_f26); espScaleSet(lbl_1_data_24[temp_r31->unk38], 0.5 * temp_f26, 0.5 * temp_f26);
} }
@ -534,9 +521,11 @@ void fn_1_4C8(omObjData* arg0) {
if (temp_r31->unk08 == -1 && lbl_1_bss_54 == 1) { if (temp_r31->unk08 == -1 && lbl_1_bss_54 == 1) {
HuAudFXPlay(0x3A); HuAudFXPlay(0x3A);
} }
} else if (arg0->trans.y < -40000.0f) { }
else if (arg0->trans.y < -40000.0f) {
Hu3DModelAttrSet(arg0->model[0], HU3D_ATTR_DISPOFF); Hu3DModelAttrSet(arg0->model[0], HU3D_ATTR_DISPOFF);
} else { }
else {
arg0->trans.y -= 77.0f; arg0->trans.y -= 77.0f;
} }
break; break;
@ -549,7 +538,8 @@ void fn_1_4C8(omObjData* arg0) {
temp_r31->unk1C++; temp_r31->unk1C++;
if (temp_r31->unk1C <= 60) { if (temp_r31->unk1C <= 60) {
arg0->rot.y = -180.0 * (temp_r31->unk1C / 60.0); arg0->rot.y = -180.0 * (temp_r31->unk1C / 60.0);
} else { }
else {
Hu3DMotionTimeSet(arg0->model[0], 120.0f); Hu3DMotionTimeSet(arg0->model[0], 120.0f);
var_r28 = 0; var_r28 = 0;
temp_r31->unk18 = 0; temp_r31->unk18 = 0;
@ -583,22 +573,25 @@ void fn_1_4C8(omObjData* arg0) {
if (temp_r31->unk1C < 180) { if (temp_r31->unk1C < 180) {
var_f20 = 0.0f; var_f20 = 0.0f;
var_f21 = 1.0f; var_f21 = 1.0f;
} else { }
else {
var_f20 = 1.0f; var_f20 = 1.0f;
var_f21 = 0.5f; var_f21 = 0.5f;
} }
temp_r24->scale.x = var_f20 + var_f21 * sind((float) (temp_r31->unk1C % 180)); temp_r24->scale.x = var_f20 + var_f21 * sind((float)(temp_r31->unk1C % 180));
temp_r24->scale.y = temp_r24->scale.z = temp_r24->scale.x; temp_r24->scale.y = temp_r24->scale.z = temp_r24->scale.x;
if (temp_r31->unk1C < 180) { if (temp_r31->unk1C < 180) {
temp_r31->unk1C += 6; temp_r31->unk1C += 6;
} else { }
else {
temp_r31->unk1C += 18; temp_r31->unk1C += 18;
} }
if (temp_r31->unk1C >= 360) { if (temp_r31->unk1C >= 360) {
temp_r31->unk1C = 360; temp_r31->unk1C = 360;
Hu3DModelRotSet(arg0->model[1], 0.0f, 0.0f, 0.0f); Hu3DModelRotSet(arg0->model[1], 0.0f, 0.0f, 0.0f);
} }
} else { }
else {
sp98 = &Hu3DData[arg0->model[1]]; sp98 = &Hu3DData[arg0->model[1]];
temp_r31->unk1C += 4; temp_r31->unk1C += 4;
if (temp_r31->unk1C > 720) { if (temp_r31->unk1C > 720) {
@ -640,7 +633,8 @@ void fn_1_4C8(omObjData* arg0) {
temp_r31->unk58 = 150; temp_r31->unk58 = 150;
} }
Hu3DModelAttrSet(arg0->model[1], HU3D_ATTR_DISPOFF); Hu3DModelAttrSet(arg0->model[1], HU3D_ATTR_DISPOFF);
} else if (temp_r27 > 8) { }
else if (temp_r27 > 8) {
if (temp_r31->unk20 == 5) { if (temp_r31->unk20 == 5) {
if (Hu3DMotionTimeGet(arg0->model[0]) >= Hu3DMotionMaxTimeGet(arg0->model[0])) { if (Hu3DMotionTimeGet(arg0->model[0]) >= Hu3DMotionMaxTimeGet(arg0->model[0])) {
var_r28 = 0; var_r28 = 0;
@ -667,12 +661,14 @@ void fn_1_4C8(omObjData* arg0) {
temp_r31->unk18 = 0; temp_r31->unk18 = 0;
temp_r31->unk1C = 0; temp_r31->unk1C = 0;
} }
} else { }
else {
if (temp_r27 < 4) { if (temp_r27 < 4) {
temp_r29->pos.y += 10.0f + 0.5f * temp_r27; temp_r29->pos.y += 10.0f + 0.5f * temp_r27;
temp_r29->scale.x += 0.1f * sind(4.0f * temp_r27); temp_r29->scale.x += 0.1f * sind(4.0f * temp_r27);
temp_r29->scale.y = temp_r29->scale.z = temp_r29->scale.x; temp_r29->scale.y = temp_r29->scale.z = temp_r29->scale.x;
} else { }
else {
var_f24 = 255 - (temp_r27 << 5); var_f24 = 255 - (temp_r27 << 5);
var_f24 = var_f24 * (1.0f / 255); var_f24 = var_f24 * (1.0f / 255);
Hu3DModelTPLvlSet(arg0->model[1], var_f24); Hu3DModelTPLvlSet(arg0->model[1], var_f24);
@ -734,13 +730,11 @@ void fn_1_4C8(omObjData* arg0) {
var_r28 = temp_r31->unk24; var_r28 = temp_r31->unk24;
} }
if (var_r28 >= 0 && var_r28 != temp_r31->unk20) { if (var_r28 >= 0 && var_r28 != temp_r31->unk20) {
Hu3DMotionShiftSet(arg0->model[0], Hu3DMotionShiftSet(arg0->model[0], arg0->motion[var_r28], lbl_1_data_EC[var_r28],
arg0->motion[var_r28],
lbl_1_data_EC[var_r28],
(temp_r31->unk08 != -1) ? lbl_1_data_C8[var_r28] : lbl_1_data_110[var_r28], (temp_r31->unk08 != -1) ? lbl_1_data_C8[var_r28] : lbl_1_data_110[var_r28],
(var_r28 == 7) ? HU3D_MOTATTR_PAUSE (var_r28 == 7) ? HU3D_MOTATTR_PAUSE
: (temp_r31->unk08 != -1 ? lbl_1_data_B4[var_r28] : lbl_1_data_BD[var_r28]) ? 0 : (temp_r31->unk08 != -1 ? lbl_1_data_B4[var_r28] : lbl_1_data_BD[var_r28]) ? 0
: HU3D_MOTATTR_LOOP); : HU3D_MOTATTR_LOOP);
temp_r31->unk20 = var_r28; temp_r31->unk20 = var_r28;
} }
temp_r31->unk58 -= (temp_r31->unk58 > -1); temp_r31->unk58 -= (temp_r31->unk58 > -1);
@ -759,15 +753,16 @@ float lbl_1_data_1B8 = 3500.0f;
float lbl_1_data_1BC = 100.0f; float lbl_1_data_1BC = 100.0f;
float lbl_1_data_1C0 = -59.0f; float lbl_1_data_1C0 = -59.0f;
void fn_1_3264(omObjData* arg0) { void fn_1_3264(omObjData *arg0)
{
float temp_f29; float temp_f29;
float var_f31; float var_f31;
float temp_f26; float temp_f26;
float temp_f27; float temp_f27;
float temp_f28; float temp_f28;
StructBss330Data* spC[9]; StructBss330Data *spC[9];
ModelData* temp_r29; ModelData *temp_r29;
ModelData* temp_r28; ModelData *temp_r28;
s32 var_r27; s32 var_r27;
s32 i; s32 i;
s32 j; s32 j;
@ -807,10 +802,8 @@ void fn_1_3264(omObjData* arg0) {
} }
for (i = 0; i < 9; i++) { for (i = 0; i < 9; i++) {
temp_r28 = &Hu3DData[lbl_1_bss_32C->model[i + 1]]; temp_r28 = &Hu3DData[lbl_1_bss_32C->model[i + 1]];
Hu3DModelPosSet(lbl_1_bss_32C->model[i + 1], Hu3DModelPosSet(lbl_1_bss_32C->model[i + 1], (500.0 + 200.0f * temp_f29) * (lbl_1_bss_51C[i].unk00 - 1),
(500.0 + 200.0f * temp_f29) * (lbl_1_bss_51C[i].unk00 - 1), 0.9 * temp_r28->pos.y + 0.1 * lbl_1_bss_51C[spC[0]->unk38].unk08, (500.0 + 200.0f * temp_f29) * (lbl_1_bss_51C[i].unk04 - 1));
0.9 * temp_r28->pos.y + 0.1 * lbl_1_bss_51C[spC[0]->unk38].unk08,
(500.0 + 200.0f * temp_f29) * (lbl_1_bss_51C[i].unk04 - 1));
for (j = 0; j < 9; j++) { for (j = 0; j < 9; j++) {
if (i == spC[j]->unk38) { if (i == spC[j]->unk38) {
lbl_1_bss_330[j]->trans.x = (500.0 + 200.0f * temp_f29) * (lbl_1_bss_51C[i].unk00 - 1); lbl_1_bss_330[j]->trans.x = (500.0 + 200.0f * temp_f29) * (lbl_1_bss_51C[i].unk00 - 1);
@ -824,14 +817,9 @@ void fn_1_3264(omObjData* arg0) {
} }
{ {
s32 var_r26 = lbl_1_data_1B4; s32 var_r26 = lbl_1_data_1B4;
float sp30[][6] = { float sp30[][6] = { { 3500.0f, 0.0f, 100.0f, 0.0f, -59.0f, 0.0f }, { 3200.0f, 0.0f, 100.0f, 0.0f, -30.0f, 0.0f },
{ 3500.0f, 0.0f, 100.0f, 0.0f, -59.0f, 0.0f }, { 3800.0f, 0.0f, 100.0f, 0.0f, -30.0f, 0.0f }, { 2000.0f, 0.0f, 200.0f, 0.0f, -30.0f, 0.0f },
{ 3200.0f, 0.0f, 100.0f, 0.0f, -30.0f, 0.0f }, { 4000.0f, 0.0f, 200.0f, 0.0f, -89.0f, 0.0f }, { 2700.0f, 0.0f, 200.0f, 0.0f, -30.0f, 0.0f } };
{ 3800.0f, 0.0f, 100.0f, 0.0f, -30.0f, 0.0f },
{ 2000.0f, 0.0f, 200.0f, 0.0f, -30.0f, 0.0f },
{ 4000.0f, 0.0f, 200.0f, 0.0f, -89.0f, 0.0f },
{ 2700.0f, 0.0f, 200.0f, 0.0f, -30.0f, 0.0f }
};
if (lbl_1_bss_38 != -1 && lbl_1_bss_38 != 9) { if (lbl_1_bss_38 != -1 && lbl_1_bss_38 != 9) {
sp30[5][1] = lbl_1_bss_330[lbl_1_bss_38]->trans.x; sp30[5][1] = lbl_1_bss_330[lbl_1_bss_38]->trans.x;
@ -878,7 +866,8 @@ void fn_1_3264(omObjData* arg0) {
if (lbl_1_bss_1C == 0) { if (lbl_1_bss_1C == 0) {
lbl_1_bss_20 = 1.0 - 0.95 * (1.0f - lbl_1_bss_20); lbl_1_bss_20 = 1.0 - 0.95 * (1.0f - lbl_1_bss_20);
var_f31 = lbl_1_bss_20; var_f31 = lbl_1_bss_20;
} else { }
else {
lbl_1_bss_20 += 0.008333333333333333; lbl_1_bss_20 += 0.008333333333333333;
lbl_1_bss_20 = (lbl_1_bss_20 > 1.0f) ? 1.0f : lbl_1_bss_20; lbl_1_bss_20 = (lbl_1_bss_20 > 1.0f) ? 1.0f : lbl_1_bss_20;
var_f31 = 0.5 + -0.5 * cosd(180.0f * lbl_1_bss_20); var_f31 = 0.5 + -0.5 * cosd(180.0f * lbl_1_bss_20);
@ -902,53 +891,31 @@ void fn_1_3264(omObjData* arg0) {
lbl_1_data_134.unk10 = 2.0 * (rand8() / 255.0) - 1.0; lbl_1_data_134.unk10 = 2.0 * (rand8() / 255.0) - 1.0;
lbl_1_data_134.unk14 = 2.0 * (rand8() / 255.0) - 1.0; lbl_1_data_134.unk14 = 2.0 * (rand8() / 255.0) - 1.0;
lbl_1_data_134.unk10 = 0.0f; lbl_1_data_134.unk10 = 0.0f;
temp_f28 = (lbl_1_data_134.unk10 - lbl_1_data_134.unk08) * (lbl_1_data_134.unk10 - lbl_1_data_134.unk08) + (lbl_1_data_134.unk14 - lbl_1_data_134.unk0C) * (lbl_1_data_134.unk14 - lbl_1_data_134.unk0C); temp_f28 = (lbl_1_data_134.unk10 - lbl_1_data_134.unk08) * (lbl_1_data_134.unk10 - lbl_1_data_134.unk08)
+ (lbl_1_data_134.unk14 - lbl_1_data_134.unk0C) * (lbl_1_data_134.unk14 - lbl_1_data_134.unk0C);
} while (sqrtf(temp_f28) < 0.75); } while (sqrtf(temp_f28) < 0.75);
} }
lbl_1_data_134.unk04 = (lbl_1_data_134.unk04 > 24) ? 24 lbl_1_data_134.unk04 = (lbl_1_data_134.unk04 > 24) ? 24 : (lbl_1_data_134.unk04 > 0) ? lbl_1_data_134.unk04 : 0;
: (lbl_1_data_134.unk04 > 0) ? lbl_1_data_134.unk04 : 0;
temp_f26 = lbl_1_data_134.unk08; temp_f26 = lbl_1_data_134.unk08;
temp_f27 = lbl_1_data_134.unk0C; temp_f27 = lbl_1_data_134.unk0C;
temp_f26 *= lbl_1_data_134.unk04 * 2; temp_f26 *= lbl_1_data_134.unk04 * 2;
temp_f27 *= lbl_1_data_134.unk04 * 2; temp_f27 *= lbl_1_data_134.unk04 * 2;
lbl_1_data_134.unk00 = !lbl_1_data_134.unk00; lbl_1_data_134.unk00 = !lbl_1_data_134.unk00;
lbl_1_data_134.unk04 = (lbl_1_data_134.unk04 > 24) ? 23 lbl_1_data_134.unk04 = (lbl_1_data_134.unk04 > 24) ? 23 : (lbl_1_data_134.unk04 - 1 > 0) ? (lbl_1_data_134.unk04 - 1) : 0;
: (lbl_1_data_134.unk04 - 1 > 0) ? (lbl_1_data_134.unk04 - 1) : 0;
Center.x = 0.0f; Center.x = 0.0f;
Center.y = 100.0f + temp_f27; Center.y = 100.0f + temp_f27;
} }
} }
s16 fn_1_4474(void) { s16 fn_1_4474(void)
AnimData* var_r29; {
void* var_r28; AnimData *var_r29;
void *var_r28;
s16 var_r31; s16 var_r31;
s16 var_r30; s16 var_r30;
HsfanimStruct00 sp8 = { HsfanimStruct00 sp8 = { 0x96, { 0x00, 0x00 }, 50.0f, 0.0f, 65.0f, { 0.0f, -0.195f, 0.0f }, 80.0f, 0.99f, 40.0f, 0.999f, 4,
0x96, { { 0xFF, 0xFF, 0x20, 0xFF }, { 0xFF, 0xFF, 0x00, 0xFF }, { 0xFF, 0xFF, 0x80, 0xFF }, { 0xFF, 0xFF, 0xFF, 0xFF } },
{ 0x00, 0x00 }, { { 0xFF, 0xFF, 0xFF, 0x00 }, { 0xFF, 0xFF, 0xFF, 0x00 }, { 0xFF, 0xFF, 0xFF, 0x00 }, { 0xFF, 0xFF, 0xFF, 0x00 } } };
50.0f,
0.0f,
65.0f,
{ 0.0f, -0.195f, 0.0f },
80.0f,
0.99f,
40.0f,
0.999f,
4,
{
{ 0xFF, 0xFF, 0x20, 0xFF },
{ 0xFF, 0xFF, 0x00, 0xFF },
{ 0xFF, 0xFF, 0x80, 0xFF },
{ 0xFF, 0xFF, 0xFF, 0xFF }
},
{
{ 0xFF, 0xFF, 0xFF, 0x00 },
{ 0xFF, 0xFF, 0xFF, 0x00 },
{ 0xFF, 0xFF, 0xFF, 0x00 },
{ 0xFF, 0xFF, 0xFF, 0x00 }
}
};
lbl_1_bss_5C[lbl_1_bss_58] = sp8; lbl_1_bss_5C[lbl_1_bss_58] = sp8;
var_r28 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_BOARD, 107), MEMORY_DEFAULT_NUM, HEAP_DATA); var_r28 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_BOARD, 107), MEMORY_DEFAULT_NUM, HEAP_DATA);
@ -963,8 +930,9 @@ s16 fn_1_4474(void) {
return var_r31; return var_r31;
} }
void fn_1_45F8(omObjData* arg0) { void fn_1_45F8(omObjData *arg0)
StructBss330Data* sp14[9]; {
StructBss330Data *sp14[9];
float spC[2]; float spC[2];
s32 sp8; s32 sp8;
s32 var_r29; s32 var_r29;
@ -974,15 +942,8 @@ void fn_1_45F8(omObjData* arg0) {
s32 i; s32 i;
for (i = 0; i < 28; i++) { for (i = 0; i < 28; i++) {
s32 sp38[] = { s32 sp38[] = { 0x7F1, 0x7F2, 0x7F7, 0x7F8, 0x7F9, 0x7FA, 0x7FB, 0x7FC, 0x7FD, 0x7FE, 0x7FF, 0x800, 0x801, 0x802, 0x803, 0x804, 0x7FB, 0x7FC,
0x7F1, 0x7F2, 0x7F7, 0x7F8, 0x7FD, 0x7FE, 0x7FF, 0x800, 0x801, 0x802, 0x803, 0x804, 0x7FB, 0x7FC };
0x7F9, 0x7FA, 0x7FB, 0x7FC,
0x7FD, 0x7FE, 0x7FF, 0x800,
0x801, 0x802, 0x803, 0x804,
0x7FB, 0x7FC, 0x7FD, 0x7FE,
0x7FF, 0x800, 0x801, 0x802,
0x803, 0x804, 0x7FB, 0x7FC
};
if (lbl_1_bss_35C[i].unk00 > 3) { if (lbl_1_bss_35C[i].unk00 > 3) {
lbl_1_bss_35C[i].unk00 = 3; lbl_1_bss_35C[i].unk00 = 3;
@ -1056,7 +1017,8 @@ void fn_1_45F8(omObjData* arg0) {
if (lbl_1_bss_51C[sp14[i]->unk38].unk0C != 0) { if (lbl_1_bss_51C[sp14[i]->unk38].unk0C != 0) {
sp14[i]->unk18 = 3; sp14[i]->unk18 = 3;
sp14[i]->unk1C = 0; sp14[i]->unk1C = 0;
} else { }
else {
sp14[i]->unk5C = 1; sp14[i]->unk5C = 1;
} }
} }
@ -1082,7 +1044,8 @@ void fn_1_45F8(omObjData* arg0) {
if (var_r29 >= 9 || lbl_1_bss_0 == 0) { if (var_r29 >= 9 || lbl_1_bss_0 == 0) {
MGSeqParamSet(lbl_1_data_14E, 2, -1); MGSeqParamSet(lbl_1_data_14E, 2, -1);
lbl_1_data_14E = -1; lbl_1_data_14E = -1;
} else { }
else {
lbl_1_bss_0 -= (lbl_1_bss_0 > 0); lbl_1_bss_0 -= (lbl_1_bss_0 > 0);
MGSeqParamSet(lbl_1_data_14E, 1, (lbl_1_bss_0 + 59) / 60); MGSeqParamSet(lbl_1_data_14E, 1, (lbl_1_bss_0 + 59) / 60);
} }
@ -1140,7 +1103,8 @@ void fn_1_45F8(omObjData* arg0) {
lbl_1_bss_50 = 1007; lbl_1_bss_50 = 1007;
lbl_1_bss_54 = 0; lbl_1_bss_54 = 0;
} }
} else { }
else {
lbl_1_bss_50 = 1005; lbl_1_bss_50 = 1005;
lbl_1_bss_54 = 0; lbl_1_bss_54 = 0;
} }
@ -1152,13 +1116,15 @@ void fn_1_45F8(omObjData* arg0) {
if (lbl_1_bss_38 != 9) { if (lbl_1_bss_38 != 9) {
if (lbl_1_bss_38 < 9) { if (lbl_1_bss_38 < 9) {
HuAudSStreamPlay(1); HuAudSStreamPlay(1);
} else { }
else {
HuAudSStreamPlay(1); HuAudSStreamPlay(1);
} }
if (lbl_1_bss_38 < 4 && sp14[lbl_1_bss_38]->unk04 != -1) { if (lbl_1_bss_38 < 4 && sp14[lbl_1_bss_38]->unk04 != -1) {
GWPlayerCoinWinSet(sp14[lbl_1_bss_38]->unk04, 10); GWPlayerCoinWinSet(sp14[lbl_1_bss_38]->unk04, 10);
} }
} else if (lbl_1_bss_38 == 9) { }
else if (lbl_1_bss_38 == 9) {
HuAudSStreamPlay(4); HuAudSStreamPlay(4);
} }
} }
@ -1175,8 +1141,9 @@ void fn_1_45F8(omObjData* arg0) {
} }
} }
void fn_1_53A0(omObjData* arg0) { void fn_1_53A0(omObjData *arg0)
StructBss330Data* sp50[9]; {
StructBss330Data *sp50[9];
s32 i; s32 i;
for (i = 0; i < 9; i++) { for (i = 0; i < 9; i++) {
@ -1191,10 +1158,7 @@ void fn_1_53A0(omObjData* arg0) {
lbl_1_bss_51C[i].unk04 = i / 3; lbl_1_bss_51C[i].unk04 = i / 3;
lbl_1_bss_51C[i].unk08 = 0.0f; lbl_1_bss_51C[i].unk08 = 0.0f;
lbl_1_bss_51C[i].unk0C = 1; lbl_1_bss_51C[i].unk0C = 1;
Hu3DModelPosSet(lbl_1_bss_32C->model[i + 1], Hu3DModelPosSet(lbl_1_bss_32C->model[i + 1], 500.0 * (lbl_1_bss_51C[i].unk00 - 1), -16.666666f, 500.0 * (lbl_1_bss_51C[i].unk04 - 1));
500.0 * (lbl_1_bss_51C[i].unk00 - 1),
-16.666666f,
500.0 * (lbl_1_bss_51C[i].unk04 - 1));
Hu3DModelScaleSet(lbl_1_bss_32C->model[i + 1], 1.6666666f, 1.6666666f, 1.6666666f); Hu3DModelScaleSet(lbl_1_bss_32C->model[i + 1], 1.6666666f, 1.6666666f, 1.6666666f);
Hu3DModelAttrSet(arg0->model[i + 1], HU3D_MOTATTR_PAUSE); Hu3DModelAttrSet(arg0->model[i + 1], HU3D_MOTATTR_PAUSE);
Hu3DModelShadowMapSet(arg0->model[i + 1]); Hu3DModelShadowMapSet(arg0->model[i + 1]);
@ -1215,22 +1179,13 @@ void fn_1_53A0(omObjData* arg0) {
arg0->func = fn_1_3264; arg0->func = fn_1_3264;
} }
s32 lbl_1_data_1E4[] = { s32 lbl_1_data_1E4[] = { DATA_MAKE_NUM(DATADIR_M458, 19), DATA_MAKE_NUM(DATADIR_M458, 20), DATA_MAKE_NUM(DATADIR_M458, 21),
DATA_MAKE_NUM(DATADIR_M458, 19), DATA_MAKE_NUM(DATADIR_M458, 22), DATA_MAKE_NUM(DATADIR_M458, 23), DATA_MAKE_NUM(DATADIR_M458, 24), DATA_MAKE_NUM(DATADIR_M458, 25),
DATA_MAKE_NUM(DATADIR_M458, 20), DATA_MAKE_NUM(DATADIR_M458, 26), DATA_MAKE_NUM(DATADIR_M458, 27), DATA_MAKE_NUM(DATADIR_M458, 28), DATA_MAKE_NUM(DATADIR_M458, 29) };
DATA_MAKE_NUM(DATADIR_M458, 21),
DATA_MAKE_NUM(DATADIR_M458, 22),
DATA_MAKE_NUM(DATADIR_M458, 23),
DATA_MAKE_NUM(DATADIR_M458, 24),
DATA_MAKE_NUM(DATADIR_M458, 25),
DATA_MAKE_NUM(DATADIR_M458, 26),
DATA_MAKE_NUM(DATADIR_M458, 27),
DATA_MAKE_NUM(DATADIR_M458, 28),
DATA_MAKE_NUM(DATADIR_M458, 29)
};
void fn_1_5850(omObjData* arg0) { void fn_1_5850(omObjData *arg0)
StructBss330Data* temp_r31; {
StructBss330Data *temp_r31;
s32 sp10[] = { 0, 1, 2, 3 }; s32 sp10[] = { 0, 1, 2, 3 };
s32 var_r25; s32 var_r25;
s32 var_r28; s32 var_r28;
@ -1246,13 +1201,15 @@ void fn_1_5850(omObjData* arg0) {
for (i = 0; i <= temp_r31->unk00 - 4; i++) { for (i = 0; i <= temp_r31->unk00 - 4; i++) {
do { do {
var_r28++; var_r28++;
} while (GWPlayerCfg[0].character == var_r28 || GWPlayerCfg[1].character == var_r28 || GWPlayerCfg[2].character == var_r28 || GWPlayerCfg[3].character == var_r28); } while (GWPlayerCfg[0].character == var_r28 || GWPlayerCfg[1].character == var_r28 || GWPlayerCfg[2].character == var_r28
|| GWPlayerCfg[3].character == var_r28);
} }
temp_r31->unk08 = (var_r28 == 8) ? -1 : var_r28; temp_r31->unk08 = (var_r28 == 8) ? -1 : var_r28;
temp_r31->unk0C = -1; temp_r31->unk0C = -1;
temp_r31->unk04 = -1; temp_r31->unk04 = -1;
temp_r31->unk10 = 0; temp_r31->unk10 = 0;
} else { }
else {
for (i = 0; i < 4; i++) { for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) { for (j = 0; j < 4; j++) {
if (i == GWPlayerCfg[j].group) { if (i == GWPlayerCfg[j].group) {
@ -1277,13 +1234,15 @@ void fn_1_5850(omObjData* arg0) {
temp_r31->unk48 = -1; temp_r31->unk48 = -1;
if (temp_r31->unk08 != -1) { if (temp_r31->unk08 != -1) {
arg0->model[0] = CharModelCreate(temp_r31->unk08, 4); arg0->model[0] = CharModelCreate(temp_r31->unk08, 4);
} else { }
else {
arg0->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_BKOOPA, 7)); arg0->model[0] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_BKOOPA, 7));
} }
omSetTra(arg0, 0.0f, temp_r31->unk00 == 0 ? 0 : 300, 0.0f); omSetTra(arg0, 0.0f, temp_r31->unk00 == 0 ? 0 : 300, 0.0f);
if (temp_r31->unk08 != -1) { if (temp_r31->unk08 != -1) {
omSetSca(arg0, 2.5f, 2.5f, 2.5f); omSetSca(arg0, 2.5f, 2.5f, 2.5f);
} else { }
else {
omSetSca(arg0, 2.0f, 2.0f, 2.0f); omSetSca(arg0, 2.0f, 2.0f, 2.0f);
} }
for (i = 0; i < 9; i++) { for (i = 0; i < 9; i++) {
@ -1291,7 +1250,8 @@ void fn_1_5850(omObjData* arg0) {
if (temp_r31->unk00 < 4 || (i != 1 && i != 2)) { if (temp_r31->unk00 < 4 || (i != 1 && i != 2)) {
arg0->motion[i] = CharModelMotionCreate(temp_r31->unk08, lbl_1_data_48[i] + (lbl_1_data_6C[i] ? temp_r31->unk08 : 0)); arg0->motion[i] = CharModelMotionCreate(temp_r31->unk08, lbl_1_data_48[i] + (lbl_1_data_6C[i] ? temp_r31->unk08 : 0));
} }
} else if (lbl_1_data_90[i] != 0) { }
else if (lbl_1_data_90[i] != 0) {
arg0->motion[i] = Hu3DJointMotionFile(arg0->model[0], lbl_1_data_90[i]); arg0->motion[i] = Hu3DJointMotionFile(arg0->model[0], lbl_1_data_90[i]);
} }
} }
@ -1314,7 +1274,8 @@ void fn_1_5850(omObjData* arg0) {
for (i = 0; i < 9; i++) { for (i = 0; i < 9; i++) {
if (temp_r31->unk00 == 0) { if (temp_r31->unk00 == 0) {
arg0->model[i + 2] = Hu3DModelCreateFile(lbl_1_data_1E4[i]); arg0->model[i + 2] = Hu3DModelCreateFile(lbl_1_data_1E4[i]);
} else { }
else {
arg0->model[i + 2] = Hu3DModelLink(lbl_1_bss_330[0]->model[i + 2]); arg0->model[i + 2] = Hu3DModelLink(lbl_1_bss_330[0]->model[i + 2]);
} }
Hu3DMotionTimeSet(arg0->model[i + 2], 10.0f); Hu3DMotionTimeSet(arg0->model[i + 2], 10.0f);
@ -1328,7 +1289,8 @@ void fn_1_5850(omObjData* arg0) {
arg0->func = fn_1_4C8; arg0->func = fn_1_4C8;
} }
void fn_1_60A4(omObjData* arg0) { void fn_1_60A4(omObjData *arg0)
{
lbl_1_bss_50 = 1000; lbl_1_bss_50 = 1000;
lbl_1_bss_54 = 0; lbl_1_bss_54 = 0;
lbl_1_bss_48 = 0; lbl_1_bss_48 = 0;
@ -1338,8 +1300,9 @@ void fn_1_60A4(omObjData* arg0) {
arg0->func = fn_1_45F8; arg0->func = fn_1_45F8;
} }
void ObjectSetup(void) { void ObjectSetup(void)
omObjData* var_r30; {
omObjData *var_r30;
s32 i; s32 i;
OSReport("******* M463 ObjectSetup *********\n"); OSReport("******* M463 ObjectSetup *********\n");
@ -1396,9 +1359,10 @@ void ObjectSetup(void) {
lbl_1_bss_358 = omAddObjEx(lbl_1_bss_40, 103, 0, 0, -1, fn_1_60A4); lbl_1_bss_358 = omAddObjEx(lbl_1_bss_40, 103, 0, 0, -1, fn_1_60A4);
} }
void fn_1_659C(omObjData* arg0) { void fn_1_659C(omObjData *arg0)
StructBss330Data* spC[9]; {
void* sp8; StructBss330Data *spC[9];
void *sp8;
s32 var_r31; s32 var_r31;
s32 var_r30; s32 var_r30;

View file

@ -308,8 +308,7 @@ void fn_1_29C(omObjData *arg0)
lbl_1_bss_864[var_r31] = Hu3DParManCreate(temp_r28, 0x1F4, &lbl_1_data_168[0]); lbl_1_bss_864[var_r31] = Hu3DParManCreate(temp_r28, 0x1F4, &lbl_1_data_168[0]);
Hu3DParManAttrSet(lbl_1_bss_864[var_r31], 0x864); Hu3DParManAttrSet(lbl_1_bss_864[var_r31], 0x864);
Hu3DParticleBlendModeSet(Hu3DParManModelIDGet(lbl_1_bss_864[var_r31]), 1U); Hu3DParticleBlendModeSet(Hu3DParManModelIDGet(lbl_1_bss_864[var_r31]), 1U);
Hu3DParManPosSet( Hu3DParManPosSet(lbl_1_bss_864[var_r31], (100.0 * sind(36.0f * var_r31)), 0.0f, 100.0 * cosd(36.0f * var_r31));
lbl_1_bss_864[var_r31], (100.0 * sind(36.0f * var_r31)), 0.0f, 100.0 * cosd(36.0f * var_r31));
Hu3DParManRotSet(lbl_1_bss_864[var_r31], -90.0f, 0.0f, 0.0f); Hu3DParManRotSet(lbl_1_bss_864[var_r31], -90.0f, 0.0f, 0.0f);
} }
@ -596,10 +595,10 @@ void fn_1_20F4(void)
Hu3DModelObjMtxGet(temp_r3, lbl_1_data_D8[(var_r29 * 2) + 1], spC0); Hu3DModelObjMtxGet(temp_r3, lbl_1_data_D8[(var_r29 * 2) + 1], spC0);
Hu3DMtxTransGet(spC0, &sp18); Hu3DMtxTransGet(spC0, &sp18);
PSMTXInverse(sp30, sp60); MTXInverse(sp30, sp60);
Hu3DModelObjMtxGet(temp_r3, lbl_1_data_D8[(var_r29 * 2) + 1], spC0); Hu3DModelObjMtxGet(temp_r3, lbl_1_data_D8[(var_r29 * 2) + 1], spC0);
Hu3DMtxTransGet(spC0, &sp18); Hu3DMtxTransGet(spC0, &sp18);
PSMTXMultVec(sp60, &sp18, &sp18); MTXMultVec(sp60, &sp18, &sp18);
temp_f27 = atan2d(sp18.z, sp18.x); temp_f27 = atan2d(sp18.z, sp18.x);
temp_r31 = &lbl_1_bss_40[var_r29 * 2]; temp_r31 = &lbl_1_bss_40[var_r29 * 2];
@ -654,7 +653,7 @@ void fn_1_28F8(Point3d *arg0, Point3d *arg1)
cam = &Hu3DCamera[0]; cam = &Hu3DCamera[0];
C_MTXLookAt(sp18, &cam->pos, &cam->up, &cam->target); C_MTXLookAt(sp18, &cam->pos, &cam->up, &cam->target);
PSMTXMultVec(sp18, arg0, &spC); MTXMultVec(sp18, arg0, &spC);
temp_f31 = (1.2f * (spC.z * (sind(cam->fov / 2) / (cosd(cam->fov / 2))))); temp_f31 = (1.2f * (spC.z * (sind(cam->fov / 2) / (cosd(cam->fov / 2)))));
temp_f30 = (spC.z * (sind(cam->fov / 2) / (cosd(cam->fov / 2)))); temp_f30 = (spC.z * (sind(cam->fov / 2) / (cosd(cam->fov / 2))));
@ -795,10 +794,10 @@ void fn_1_2B68(ModelData *mdl, Mtx arg1)
GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP); GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_NOOP);
GXSetAlphaCompare(GX_GEQUAL, 1U, GX_AOP_AND, GX_GEQUAL, 1U); GXSetAlphaCompare(GX_GEQUAL, 1U, GX_AOP_AND, GX_GEQUAL, 1U);
GXSetZCompLoc(0U); GXSetZCompLoc(0U);
PSMTXIdentity(arg1); MTXIdentity(arg1);
GXLoadPosMtxImm(arg1, 0U); GXLoadPosMtxImm(arg1, 0U);
PSMTXInvXpose(arg1, sp90); MTXInvXpose(arg1, sp90);
GXLoadNrmMtxImm(sp90, 0); GXLoadNrmMtxImm(sp90, 0);
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0);
@ -812,7 +811,7 @@ void fn_1_2B68(ModelData *mdl, Mtx arg1)
GXLoadTexObj(&sp30, GX_TEXMAP0); GXLoadTexObj(&sp30, GX_TEXMAP0);
GXSetNumIndStages(1U); GXSetNumIndStages(1U);
PSMTXScale(sp150, 0.1f, 0.1f, 0.0f); MTXScale(sp150, 0.1f, 0.1f, 0.0f);
sp18[0][0] = sp150[0][0]; sp18[0][0] = sp150[0][0];
sp18[0][1] = sp150[0][1]; sp18[0][1] = sp150[0][1];
sp18[0][2] = 0.0f; sp18[0][2] = 0.0f;
@ -820,12 +819,12 @@ void fn_1_2B68(ModelData *mdl, Mtx arg1)
sp18[1][1] = sp150[1][1]; sp18[1][1] = sp150[1][1];
sp18[1][2] = 0.0f; sp18[1][2] = 0.0f;
PSMTXRotRad(spF0, 0x58, -1.5707964f); MTXRotRad(spF0, 0x58, -1.5707964f);
mtxRot(spF0, 0.0f, 0.0f, 0.0f); mtxRot(spF0, 0.0f, 0.0f, 0.0f);
temp_f31 = 0.0015625f; temp_f31 = 0.0015625f;
PSMTXScale(sp120, temp_f31, temp_f31, temp_f31); MTXScale(sp120, temp_f31, temp_f31, temp_f31);
PSMTXConcat(sp120, spF0, sp150); MTXConcat(sp120, spF0, sp150);
PSMTXTrans(spC0, 0.5f, 0.0f, 0.5f); MTXTrans(spC0, 0.5f, 0.0f, 0.5f);
GXLoadTexMtxImm(sp150, 0x1EU, GX_MTX2x4); GXLoadTexMtxImm(sp150, 0x1EU, GX_MTX2x4);
GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_POS, 0x1EU, 0U, 0x7DU); GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_POS, 0x1EU, 0U, 0x7DU);
GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD0, GX_TEXMAP1); GXSetIndTexOrder(GX_INDTEXSTAGE0, GX_TEXCOORD0, GX_TEXMAP1);

1044
src/REL/mstory3Dll/main.c Executable file

File diff suppressed because it is too large Load diff

1617
src/REL/mstory3Dll/result.c Executable file

File diff suppressed because it is too large Load diff

2928
src/REL/mstory3Dll/result_seq.c Executable file

File diff suppressed because it is too large Load diff

322
src/REL/mstory3Dll/win_effect.c Executable file
View file

@ -0,0 +1,322 @@
#include "REL/mstory3Dll.h"
#include "game/data.h"
#include "game/hsfanim.h"
#include "game/hsfex.h"
#include "game/hsfman.h"
#include "game/memory.h"
#include "game/sprite.h"
#include "ext_math.h"
#define frand5() (((s32)frand() & 0x1F))
#define frand8() (((s32)frand() & 0xFF))
typedef struct {
/* 0x00 */ Vec* unk00;
/* 0x04 */ Vec unk04;
/* 0x10 */ Vec unk10;
/* 0x1C */ u16 unk1C;
/* 0x1E */ u16 unk1E;
/* 0x20 */ u16 unk20;
/* 0x22 */ s16 unk22;
/* 0x24 */ float unk24;
/* 0x28 */ AnimData* unk28;
} StructBss1CF8; // Size 0x2C
typedef struct {
/* 0x00 */ s16 unk00;
/* 0x02 */ char unk02[0x1A];
/* 0x1C */ StructBss1CF8* unk1C;
} StructFn1E13C; // Size unknown
void fn_1_1E13C(s32 arg0, s32 arg1, StructBss1CF8* arg2, Vec* arg3);
void fn_1_1E558(void);
void fn_1_1E820(ModelData* model, ParticleData* particle, Mtx matrix);
StructBss1CF8 lbl_1_bss_1CF8[2];
s32 lbl_1_bss_1CF4;
s32 lbl_1_bss_1CF0;
s32 lbl_1_bss_1CEC;
s16 lbl_1_bss_1CE8;
void fn_1_1DED8(s32 arg0, Vec* arg1, Vec* arg2, s16 arg3) {
AnimData* temp_r28;
s16 var_r27;
fn_1_1E13C(arg0 + 1, arg0 + 3, &lbl_1_bss_1CF8[0], arg2);
lbl_1_bss_1CF8[0].unk04 = *arg1;
lbl_1_bss_1CF8[0].unk24 = arg3 - 20;
fn_1_1E13C(arg0 + 2, arg0 + 3, &lbl_1_bss_1CF8[1], arg2);
lbl_1_bss_1CF8[1].unk04 = *arg1;
lbl_1_bss_1CF8[1].unk24 = arg3 - 20;
temp_r28 = HuSprAnimReadFile(arg0);
lbl_1_bss_1CE8 = HuSprGrpCreate(1);
var_r27 = HuSprCreate(temp_r28, 0, 0);
HuSprGrpMemberSet(lbl_1_bss_1CE8, 0, var_r27);
HuSprPosSet(lbl_1_bss_1CE8, 0, arg2->x, arg2->y);
HuSprTPLvlSet(lbl_1_bss_1CE8, 0, 0.0f);
HuSprAttrSet(lbl_1_bss_1CE8, 0, 8);
HuPrcChildCreate(fn_1_1E558, 100, 0x2000, 0, HuPrcCurrentGet());
lbl_1_bss_1CF4 = 0;
lbl_1_bss_1CF0 = 0;
lbl_1_bss_1CEC = 0;
}
void fn_1_1E0F4(void) {
lbl_1_bss_1CF4 = 1;
}
s32 fn_1_1E108(void) {
return lbl_1_bss_1CF0;
}
void fn_1_1E118(void) {
lbl_1_bss_1CEC = 1;
}
s32 fn_1_1E12C(void) {
return lbl_1_bss_1CE8;
}
void fn_1_1E13C(s32 arg0, s32 arg1, StructBss1CF8* arg2, Vec* arg3) {
Vec sp14;
AnimBmpData* temp_r31;
s32 sp10;
s32 var_r27;
s32 var_r26;
u16* var_r25;
AnimData* var_r24;
Vec* var_r22;
StructFn1E13C* temp_r23;
s16 var_r29;
s16 var_r28;
var_r24 = HuSprAnimReadFile(arg0);
arg2->unk28 = var_r24;
temp_r31 = var_r24->bmp;
sp10 = temp_r31->sizeX * temp_r31->sizeY;
var_r25 = temp_r31->data;
for (var_r28 = var_r26 = 0; var_r28 < temp_r31->sizeY; var_r28 += 2) {
for (var_r29 = 0; var_r29 < temp_r31->sizeX; var_r29 += 2) {
var_r25 = (u16*) temp_r31->data + ((var_r28 % 4) * 4 + (var_r28 / 4) * temp_r31->sizeX * 4 + (var_r29 / 4) * 16 + var_r29 % 4);
if (*var_r25 != 0x8000) {
var_r26++;
}
}
}
arg2->unk20 = var_r26;
var_r22 = arg2->unk00 = HuMemDirectMallocNum(HEAP_SYSTEM, var_r26 * sizeof(*var_r22), MEMORY_DEFAULT_NUM);
arg2->unk1C = temp_r31->sizeX;
arg2->unk1E = temp_r31->sizeY;
Hu3D2Dto3D(arg3, 1, &arg2->unk10);
for (var_r28 = 0; var_r28 < temp_r31->sizeY; var_r28 += 2) {
for (var_r29 = 0; var_r29 < temp_r31->sizeX; var_r29 += 2) {
var_r25 = (u16*) temp_r31->data + ((var_r28 % 4) * 4 + (var_r28 / 4) * temp_r31->sizeX * 4 + (var_r29 / 4) * 16 + var_r29 % 4);
if (*var_r25 != 0x8000) {
sp14 = *arg3;
sp14.x = sp14.x + var_r29 - temp_r31->sizeX / 2;
sp14.y = sp14.y + var_r28 - temp_r31->sizeY / 2;
Hu3D2Dto3D(&sp14, 1, var_r22);
var_r22++;
}
}
}
HuSprAnimKill(var_r24);
var_r24 = HuSprAnimRead(HuDataRead(arg1));
var_r27 = Hu3DParticleCreate(var_r24, var_r26);
arg2->unk22 = var_r27;
Hu3DModelPosSet(var_r27, 0.0f, 0.0f, 0.0f);
Hu3DModelLayerSet(var_r27, 1);
Hu3DParticleColSet(var_r27, 0xFF, 0xFF, 0xA);
Hu3DParticleScaleSet(var_r27, 20.0f);
Hu3DParticleHookSet(var_r27, fn_1_1E820);
Hu3DParticleBlendModeSet(var_r27, 1);
Hu3DParticleAttrSet(var_r27, 2);
temp_r23 = Hu3DData[var_r27].unk_120;
temp_r23->unk1C = arg2;
temp_r23->unk00 = 0;
OSReport("Particle Count %d\n", var_r26);
}
void fn_1_1E558(void) {
float var_f31;
float var_f30;
float temp_f29;
s16* temp_r30;
s16* temp_r29;
s16 i;
var_f31 = 0.0f;
var_f30 = 0.0f;
while (lbl_1_bss_1CF4 == 0) {
HuPrcVSleep();
}
Hu3DParticleAttrReset(lbl_1_bss_1CF8->unk22, 2);
HuPrcSleep(20);
Hu3DParticleAttrReset(lbl_1_bss_1CF8[1].unk22, 2);
temp_r30 = Hu3DData[lbl_1_bss_1CF8[0].unk22].unk_120;
temp_r29 = Hu3DData[lbl_1_bss_1CF8[1].unk22].unk_120;
while (*temp_r30 == 0 || *temp_r29 == 0) {
HuPrcVSleep();
}
for (i = 0; i <= 20; i++) {
temp_f29 = i / 20.0f;
HuSprTPLvlSet(lbl_1_bss_1CE8, 0, temp_f29);
HuPrcVSleep();
}
OSReport("Finish\n");
for (i = 0; i < 2; i++) {
Hu3DModelKill(lbl_1_bss_1CF8[i].unk22);
HuSprAnimKill(lbl_1_bss_1CF8[i].unk28);
}
lbl_1_bss_1CF0 = 1;
while (TRUE) {
if (lbl_1_bss_1CEC != 0) {
break;
}
var_f31 += var_f30;
if (var_f31 > 360.0f) {
var_f31 -= 360.0f;
}
var_f30 += 0.5;
if (var_f30 > 10.0f) {
var_f30 = 10.0f;
}
temp_f29 = 1.0 + 0.25 * sind(var_f31);
HuSprScaleSet(lbl_1_bss_1CE8, 0, temp_f29, temp_f29);
HuPrcVSleep();
}
HuSprGrpKill(lbl_1_bss_1CE8);
HuPrcEnd();
while (TRUE) {
HuPrcVSleep();
}
}
void fn_1_1E820(ModelData* model, ParticleData* particle, Mtx matrix) {
Vec sp8;
float temp_f30;
float temp_f31;
s16 var_r22;
s16 var_r29;
StructBss1CF8* temp_r28;
HsfanimStruct01* var_r31;
s16 var_r27;
s16 temp_r25;
s16 temp_r24;
s16 temp_r21;
s16 temp_r26;
s16 temp_r20;
s16 var_r23;
temp_r28 = particle->unk_1C;
if (particle->unk_34 == 0) {
var_r31 = particle->unk_48;
for (var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) {
var_r31->unk2C = 0.0f;
}
}
if (particle->unk_2D & 2) {
return;
}
temp_r21 = temp_r28->unk24 - (temp_r28->unk24 / 5.0f);
temp_r26 = temp_r21 / 2;
temp_r20 = temp_r21 - temp_r26;
PSVECSubtract(&temp_r28->unk04, &temp_r28->unk10, &sp8);
temp_f31 = PSVECMag(&sp8) / temp_r20;
for (var_r22 = 0; var_r22 < particle->unk_30 / (temp_r28->unk24 / 5.0f); var_r22++) {
var_r31 = particle->unk_48;
for (var_r29 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) {
if (!var_r31->unk2C) {
break;
}
}
if (var_r29 == particle->unk_30) {
break;
}
var_r31->unk34 = temp_r28->unk04;
var_r27 = (frand8() * 360) >> 8;
temp_f30 = 0.2 * frand5();
var_r31->unk08.x = temp_f30 * sind(var_r27);
var_r31->unk08.y = 0.1 * (frand5() + 100);
var_r31->unk08.z = temp_f30 * cosd(var_r27);
var_r31->unk40.r = 0xF0;
var_r31->unk40.g = 0x80;
var_r31->unk40.b = 0x60;
var_r31->unk2C = 10.0f;
var_r31->unk00 = 0;
var_r31->unk02 = 0;
var_r31->unk14.x = frandmod(360);
}
var_r31 = particle->unk_48;
for (var_r29 = var_r23 = 0; var_r29 < particle->unk_30; var_r29++, var_r31++) {
if (!var_r31->unk2C) {
continue;
}
if (var_r31->unk00_s16 == 0) {
PSVECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34);
var_r31->unk08.x *= 0.999f;
var_r31->unk08.y -= 0.5f;
var_r31->unk08.z *= 0.999f;
if (var_r31->unk02 > temp_r26 - (temp_r26 / 5.0)) {
PSVECScale(&var_r31->unk08, &var_r31->unk08, 1.0 - ((var_r31->unk02 - (temp_r26 - temp_r26 / 5.0)) / (temp_r26 / 5.0)));
}
if (var_r31->unk02 == temp_r26) {
var_r31->unk00_s16++;
}
if (var_r31->unk34.y <= 0.0f) {
var_r31->unk08.y = 0.5f * -var_r31->unk08.y;
var_r31->unk34.y = 0.0f;
}
} else if (var_r31->unk00_s16 == 1) {
sp8 = temp_r28->unk00[var_r29];
PSVECSubtract(&sp8, &var_r31->unk34, &sp8);
if (PSVECMag(&sp8) <= 1.0 + temp_f31) {
var_r23++;
var_r31->unk34 = temp_r28->unk00[var_r29];
var_r31->unk00_s16++;
continue;
}
PSVECNormalize(&sp8, &sp8);
var_r31->unk08.x = sp8.x * temp_f31 + sind(var_r31->unk14.x);
var_r31->unk08.y = sp8.y * temp_f31;
var_r31->unk08.z = sp8.z * temp_f31;
PSVECAdd(&var_r31->unk08, &var_r31->unk34, &var_r31->unk34);
var_r31->unk14.x += 20.0f;
} else {
var_r23++;
}
if (var_r31->unk00_s16 >= 1) {
var_r27 = var_r31->unk40.r;
var_r27 += (var_r27 - 0xFF) / 20;
if (var_r27 > 0xFF) {
var_r31->unk40.r = 0xFF;
} else {
var_r31->unk40.r = var_r27;
}
temp_r25 = var_r31->unk40.g;
temp_r25 += (temp_r25 - 0xFF) / 20;
if (temp_r25 > 0xFF) {
var_r31->unk40.g = 0xFF;
} else {
var_r31->unk40.g = temp_r25;
}
temp_r24 = var_r31->unk40.b;
temp_r24 += (temp_r24 - 0x80) / 20;
if (temp_r24 > 0x80) {
var_r31->unk40.b = 0x80;
} else {
var_r31->unk40.b = temp_r24;
}
}
var_r31->unk2C -= 0.2f;
if (var_r31->unk2C < 5.0f) {
var_r31->unk2C = 5.0f;
}
var_r31->unk02++;
}
DCStoreRange(particle->unk_48, particle->unk_30 * sizeof(HsfanimStruct01));
if (var_r23 >= particle->unk_30) {
particle->unk_00++;
}
}

View file

@ -197,12 +197,12 @@ static omObjData *CreateHand(void)
return hand; return hand;
} }
static void KillHand(omObjData *hand) static void KillHand(omObjData *object)
{ {
s32 i; s32 i;
for (i = 0; i < 1; i++) { for (i = 0; i < 1; i++) {
Hu3DModelKill(hand->model[i]); Hu3DModelKill(object->model[i]);
} }
} }
@ -222,21 +222,21 @@ static omObjData *CreateSystem(void)
return system; return system;
} }
static void KillSystem(omObjData *system) static void KillSystem(omObjData *object)
{ {
s32 i; s32 i;
for (i = 0; i < 1; i++) { for (i = 0; i < 1; i++) {
Hu3DModelKill(system->model[i]); Hu3DModelKill(object->model[i]);
} }
} }
static void StartSystemMotion(omObjData *system, s32 rumbleF, BOOL slowF) static void StartSystemMotion(omObjData *object, s32 rumbleF, BOOL slowF)
{ {
s16 model = system->model[0]; s16 model = object->model[0];
Hu3DModelAttrReset(system->model[0], HU3D_MOTATTR_PAUSE); Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_PAUSE);
Hu3DModelAttrReset(system->model[0], HU3D_MOTATTR_LOOP); Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_LOOP);
if (rumbleF) { if (rumbleF) {
Hu3DMotionStartEndSet(model, 60.0f, 120.0f); Hu3DMotionStartEndSet(model, 60.0f, 120.0f);
if (slowF) { if (slowF) {
@ -267,24 +267,24 @@ static omObjData *CreatePad(void)
return pad; return pad;
} }
static void KillPad(omObjData *pad) static void KillPad(omObjData *object)
{ {
s32 i; s32 i;
for (i = 0; i < 1; i++) { for (i = 0; i < 1; i++) {
Hu3DModelKill(pad->model[i]); Hu3DModelKill(object->model[i]);
} }
} }
static void ShakePad(omObjData *pad, BOOL on) static void ShakePad(omObjData *object, BOOL on)
{ {
if (on) { if (on) {
Hu3DModelAttrReset(pad->model[0], HU3D_MOTATTR_PAUSE); Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_PAUSE);
Hu3DModelAttrSet(pad->model[0], HU3D_MOTATTR_LOOP); Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_LOOP);
} }
else { else {
Hu3DModelAttrSet(pad->model[0], HU3D_MOTATTR_PAUSE); Hu3DModelAttrSet(object->model[0], HU3D_MOTATTR_PAUSE);
Hu3DModelAttrReset(pad->model[0], HU3D_MOTATTR_LOOP); Hu3DModelAttrReset(object->model[0], HU3D_MOTATTR_LOOP);
} }
} }

File diff suppressed because it is too large Load diff

View file

@ -482,7 +482,7 @@ void fn_1_3F5C(s32 arg0)
BoardModelMotionStart(lbl_1_data_310, 2, 0x40000001); BoardModelMotionStart(lbl_1_data_310, 2, 0x40000001);
BoardModelMotionStart(lbl_1_data_310, 1, 0x40000001); BoardModelMotionStart(lbl_1_data_310, 1, 0x40000001);
BoardModelRotYSet(lbl_1_data_310, 0.0f); BoardModelRotYSet(lbl_1_data_310, 0.0f);
PSMTXIdentity(sp38); MTXIdentity(sp38);
BoardModelMtxSet(lbl_1_data_310, &sp38); BoardModelMtxSet(lbl_1_data_310, &sp38);
sp20.x = 0.0f; sp20.x = 0.0f;
@ -624,13 +624,13 @@ void fn_1_4424(w03StructUnk2 *arg0)
sp30 = sp48; sp30 = sp48;
sp18 = sp54; sp18 = sp54;
BoardMTXCalcLookAt(spA8, &sp18, &sp24, &sp30); BoardMTXCalcLookAt(spA8, &sp18, &sp24, &sp30);
PSMTXTranspose(spA8, spA8); MTXTranspose(spA8, spA8);
MTXRotDeg(spD8, 'z', temp_f30); MTXRotDeg(spD8, 'z', temp_f30);
PSMTXTrans(sp108, 0.0f, -350.0f, 0.0f); MTXTrans(sp108, 0.0f, -350.0f, 0.0f);
PSMTXConcat(spD8, sp108, sp108); MTXConcat(spD8, sp108, sp108);
PSMTXConcat(spA8, sp108, sp108); MTXConcat(spA8, sp108, sp108);
PSMTXTrans(sp78, sp54.x, sp54.y, sp54.z); MTXTrans(sp78, sp54.x, sp54.y, sp54.z);
PSMTXConcat(sp78, sp108, sp78); MTXConcat(sp78, sp108, sp78);
Hu3DMtxTransGet(sp78, &temp_r27->unk_08); Hu3DMtxTransGet(sp78, &temp_r27->unk_08);
BoardModelPosSetV(temp_r27->model, &temp_r27->unk_08); BoardModelPosSetV(temp_r27->model, &temp_r27->unk_08);
BoardModelVisibilitySet(temp_r27->model, 1); BoardModelVisibilitySet(temp_r27->model, 1);
@ -1078,16 +1078,16 @@ void fn_1_5C5C(omObjData *arg0, w03UnkStruct5 *arg1)
sp20.y = 1.0f; sp20.y = 1.0f;
BoardMTXCalcLookAt(sp110, &sp14, &sp20, &sp8); BoardMTXCalcLookAt(sp110, &sp14, &sp20, &sp8);
PSMTXTranspose(sp110, sp110); MTXTranspose(sp110, sp110);
MTXRotDeg(spE0, 'z', -arg1->unk_04); MTXRotDeg(spE0, 'z', -arg1->unk_04);
PSMTXTrans(sp50, 0.0f, -600.0f, 0.0f); MTXTrans(sp50, 0.0f, -600.0f, 0.0f);
PSMTXConcat(spE0, sp50, sp50); MTXConcat(spE0, sp50, sp50);
PSMTXConcat(sp110, sp50, sp50); MTXConcat(sp110, sp50, sp50);
PSMTXTrans(sp80, sp44.x, sp44.y, sp44.z); MTXTrans(sp80, sp44.x, sp44.y, sp44.z);
PSMTXConcat(sp80, sp50, sp80); MTXConcat(sp80, sp50, sp80);
Hu3DMtxTransGet(sp80, &sp44); Hu3DMtxTransGet(sp80, &sp44);
MTXRotDeg(spB0, 'y', atan2d(-sp2C.x, -sp2C.z)); MTXRotDeg(spB0, 'y', atan2d(-sp2C.x, -sp2C.z));
PSMTXConcat(spB0, spE0, sp110); MTXConcat(spB0, spE0, sp110);
BoardModelMtxSet(lbl_1_data_310, &sp110); BoardModelMtxSet(lbl_1_data_310, &sp110);
BoardModelPosSetV(lbl_1_data_310, &sp44); BoardModelPosSetV(lbl_1_data_310, &sp44);
BoardCameraRotSet(-20.0f, atan2d(sp2C.x, sp2C.z)); BoardCameraRotSet(-20.0f, atan2d(sp2C.x, sp2C.z));

View file

@ -742,12 +742,12 @@ void fn_1_B0A4(s32 arg0)
} }
if (temp_r29 == 5) { if (temp_r29 == 5) {
PSMTXTrans(sp18, 0.0f, -50.0f, 0.0f); MTXTrans(sp18, 0.0f, -50.0f, 0.0f);
BoardModelMtxSet(temp_r30->unk_06[i], &sp18); BoardModelMtxSet(temp_r30->unk_06[i], &sp18);
} }
if ((temp_r29 == 6) || (temp_r29 == 7)) { if ((temp_r29 == 6) || (temp_r29 == 7)) {
PSMTXTrans(sp18, 0.0f, 0.0f, 8.0f); MTXTrans(sp18, 0.0f, 0.0f, 8.0f);
BoardModelMtxSet(temp_r30->unk_06[i], &sp18); BoardModelMtxSet(temp_r30->unk_06[i], &sp18);
} }
} }

View file

@ -1,17 +1,18 @@
#include "dolphin.h"
#include "REL/executor.h" #include "REL/executor.h"
#include "game/process.h"
#include "game/data.h"
#include "game/gamework_data.h"
#include "REL/w03Dll.h" #include "REL/w03Dll.h"
#include "dolphin.h"
#include "game/audio.h" #include "game/audio.h"
#include "game/board/main.h"
#include "game/board/model.h" #include "game/board/model.h"
#include "game/board/player.h" #include "game/board/player.h"
#include "game/board/space.h" #include "game/board/space.h"
#include "game/board/ui.h" #include "game/board/ui.h"
#include "game/data.h"
#include "game/gamework_data.h"
#include "game/hsfman.h" #include "game/hsfman.h"
#include "game/board/main.h"
#include "game/objsub.h" #include "game/objsub.h"
#include "game/process.h"
#include "ext_math.h" #include "ext_math.h"
@ -29,17 +30,16 @@ void fn_1_2818(void);
void fn_1_2A40(void); void fn_1_2A40(void);
void fn_1_2B44(void); void fn_1_2B44(void);
//data // data
s16 lbl_1_data_280 = -1; s16 lbl_1_data_280 = -1;
s16 lbl_1_data_282 = -1; s16 lbl_1_data_282 = -1;
s16 lbl_1_data_284 = -1; s16 lbl_1_data_284 = -1;
s16 lbl_1_data_286 = -1; s16 lbl_1_data_286 = -1;
s32 lbl_1_data_288 = -1; s32 lbl_1_data_288 = -1;
//BSS Extern // BSS Extern
// BSS
//BSS
s8 lbl_1_bss_6F; s8 lbl_1_bss_6F;
s8 lbl_1_bss_6E; s8 lbl_1_bss_6E;
s16 lbl_1_bss_6C; s16 lbl_1_bss_6C;
@ -48,12 +48,13 @@ s16 lbl_1_bss_68;
GXTexObj lbl_1_bss_48; GXTexObj lbl_1_bss_48;
char lbl_1_bss_44[4]; char lbl_1_bss_44[4];
char lbl_1_bss_38[12]; char lbl_1_bss_38[12];
void* lbl_1_bss_34; void *lbl_1_bss_34;
f32 lbl_1_bss_30; f32 lbl_1_bss_30;
s8 lbl_1_bss_2C; s8 lbl_1_bss_2C;
Process* lbl_1_bss_28; Process *lbl_1_bss_28;
void fn_1_12C8(void) { void fn_1_12C8(void)
{
BoardRollDispSet(0); BoardRollDispSet(0);
lbl_1_bss_28 = HuPrcChildCreate(&fn_1_1358, 0x2003, 0x2000, 0, boardMainProc); lbl_1_bss_28 = HuPrcChildCreate(&fn_1_1358, 0x2003, 0x2000, 0, boardMainProc);
HuPrcDestructorSet2(lbl_1_bss_28, &fn_1_152C); HuPrcDestructorSet2(lbl_1_bss_28, &fn_1_152C);
@ -65,7 +66,8 @@ void fn_1_12C8(void) {
BoardRollDispSet(1); BoardRollDispSet(1);
} }
void fn_1_1358(void) { void fn_1_1358(void)
{
s32 cur_player_index; s32 cur_player_index;
s32 unkC; s32 unkC;
@ -76,7 +78,8 @@ void fn_1_1358(void) {
if ((BoardSpaceFlagGet(0, GWPlayer[cur_player_index].space_curr) & 0x2000)) { if ((BoardSpaceFlagGet(0, GWPlayer[cur_player_index].space_curr) & 0x2000)) {
lbl_1_bss_6E = 0; lbl_1_bss_6E = 0;
lbl_1_bss_6C = lbl_1_bss_C[3]; lbl_1_bss_6C = lbl_1_bss_C[3];
} else { }
else {
lbl_1_bss_6E = 1; lbl_1_bss_6E = 1;
lbl_1_bss_6C = lbl_1_bss_C[4]; lbl_1_bss_6C = lbl_1_bss_C[4];
} }
@ -84,7 +87,8 @@ void fn_1_1358(void) {
if (fn_1_1650(cur_player_index) != 0) { if (fn_1_1650(cur_player_index) != 0) {
if (fn_1_1D1C() != 0) { if (fn_1_1D1C() != 0) {
fn_1_1ED4(cur_player_index); fn_1_1ED4(cur_player_index);
} else { }
else {
fn_1_20E0(cur_player_index); fn_1_20E0(cur_player_index);
} }
if (lbl_1_bss_2C) { if (lbl_1_bss_2C) {
@ -106,7 +110,8 @@ void fn_1_1358(void) {
HuPrcEnd(); HuPrcEnd();
} }
void fn_1_152C(void) { void fn_1_152C(void)
{
BoardConfettiKill(); BoardConfettiKill();
if (lbl_1_data_282 != -1) { if (lbl_1_data_282 != -1) {
@ -123,7 +128,8 @@ void fn_1_152C(void) {
lbl_1_bss_28 = NULL; lbl_1_bss_28 = NULL;
} }
s32 fn_1_15E8(void) { s32 fn_1_15E8(void)
{
BoardModelVisibilitySet(lbl_1_bss_6C, 1); BoardModelVisibilitySet(lbl_1_bss_6C, 1);
if (lbl_1_data_284 != -1) { if (lbl_1_data_284 != -1) {
@ -134,7 +140,8 @@ s32 fn_1_15E8(void) {
return 1; return 1;
} }
s32 fn_1_1650(s32 arg0) { s32 fn_1_1650(s32 arg0)
{
Point3d sp38; Point3d sp38;
Point3d sp2C; Point3d sp2C;
Point3d sp20; Point3d sp20;
@ -144,14 +151,14 @@ s32 fn_1_1650(s32 arg0) {
s32 temp2; s32 temp2;
BoardPlayerIdleSet(arg0); BoardPlayerIdleSet(arg0);
if (lbl_1_bss_0->unk2) { if (lbl_1_bss_0->unk2) {
BoardWinCreate(0, MAKE_MESSID(22, 0), -1); BoardWinCreate(0, MAKE_MESSID(22, 0), -1);
BoardWinWait(); BoardWinWait();
BoardWinKill(); BoardWinKill();
return 0; return 0;
} }
temp2 = BoardSpaceLinkFlagSearch(0, GWPlayer[arg0].space_curr, 0x02000000); temp2 = BoardSpaceLinkFlagSearch(0, GWPlayer[arg0].space_curr, 0x02000000);
BoardSpacePosGet(0, temp2, &sp38); BoardSpacePosGet(0, temp2, &sp38);
BoardPlayerPosGet(arg0, &sp2C); BoardPlayerPosGet(arg0, &sp2C);
@ -170,14 +177,14 @@ s32 fn_1_1650(s32 arg0) {
while (GWPlayer[arg0].moving) { while (GWPlayer[arg0].moving) {
HuPrcVSleep(); HuPrcVSleep();
} }
BoardStatusShowSetAll(0); BoardStatusShowSetAll(0);
BoardPlayerMotBlendSet(arg0, 0xB4, 0xF); BoardPlayerMotBlendSet(arg0, 0xB4, 0xF);
while (BoardPlayerMotBlendCheck(arg0) == 0) { while (BoardPlayerMotBlendCheck(arg0) == 0) {
HuPrcVSleep(); HuPrcVSleep();
} }
BoardPlayerIdleSet(arg0); BoardPlayerIdleSet(arg0);
BoardWinCreate(2, MAKE_MESSID(22, 1), 2); BoardWinCreate(2, MAKE_MESSID(22, 1), 2);
BoardWinWait(); BoardWinWait();
@ -187,7 +194,8 @@ s32 fn_1_1650(s32 arg0) {
if (GWPlayer[arg0].com) { if (GWPlayer[arg0].com) {
if (BoardRandMod(0x64) > 0x32U) { if (BoardRandMod(0x64) > 0x32U) {
BoardComKeySetLeft(); BoardComKeySetLeft();
} else { }
else {
BoardComKeySetRight(); BoardComKeySetRight();
} }
} }
@ -200,56 +208,35 @@ s32 fn_1_1650(s32 arg0) {
BoardMusStart(1, 0x19, 0x7F, 0); BoardMusStart(1, 0x19, 0x7F, 0);
HuAudFXPlay(0x435); HuAudFXPlay(0x435);
sp8.y = BoardModelRotYGet(lbl_1_bss_6C); sp8.y = BoardModelRotYGet(lbl_1_bss_6C);
while (BoardDAngleCalcRange(&sp8.y, 180.0f, 2.0f) == 0) { while (BoardDAngleCalcRange(&sp8.y, 180.0f, 2.0f) == 0) {
BoardModelRotYSet(lbl_1_bss_6C, sp8.y); BoardModelRotYSet(lbl_1_bss_6C, sp8.y);
HuPrcVSleep(); HuPrcVSleep();
} }
HuAudFXPlay(0x445); HuAudFXPlay(0x445);
BoardModelRotYSet(lbl_1_bss_6C, 180.0f); BoardModelRotYSet(lbl_1_bss_6C, 180.0f);
while (BoardMusStatusGet(1) != 0) { while (BoardMusStatusGet(1) != 0) {
HuPrcVSleep(); HuPrcVSleep();
} }
return 1; return 1;
} }
s32 lbl_1_data_290[] = { s32 lbl_1_data_290[] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 98), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 98), DATA_MAKE_NUM(DATADIR_PEACHMOT, 98),
DATA_MAKE_NUM(DATADIR_MARIOMOT, 98), DATA_MAKE_NUM(DATADIR_YOSHIMOT, 98), DATA_MAKE_NUM(DATADIR_WARIOMOT, 98), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 98),
DATA_MAKE_NUM(DATADIR_LUIGIMOT, 98), DATA_MAKE_NUM(DATADIR_DAISYMOT, 98), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 98) };
DATA_MAKE_NUM(DATADIR_PEACHMOT, 98),
DATA_MAKE_NUM(DATADIR_YOSHIMOT, 98),
DATA_MAKE_NUM(DATADIR_WARIOMOT, 98),
DATA_MAKE_NUM(DATADIR_DONKEYMOT, 98),
DATA_MAKE_NUM(DATADIR_DAISYMOT, 98),
DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 98)
};
s32 lbl_1_data_2B0[] = { s32 lbl_1_data_2B0[] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 51), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 51), DATA_MAKE_NUM(DATADIR_PEACHMOT, 51),
DATA_MAKE_NUM(DATADIR_MARIOMOT, 51), DATA_MAKE_NUM(DATADIR_YOSHIMOT, 51), DATA_MAKE_NUM(DATADIR_WARIOMOT, 51), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 51),
DATA_MAKE_NUM(DATADIR_LUIGIMOT, 51), DATA_MAKE_NUM(DATADIR_DAISYMOT, 51), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 51) };
DATA_MAKE_NUM(DATADIR_PEACHMOT, 51),
DATA_MAKE_NUM(DATADIR_YOSHIMOT, 51),
DATA_MAKE_NUM(DATADIR_WARIOMOT, 51),
DATA_MAKE_NUM(DATADIR_DONKEYMOT, 51),
DATA_MAKE_NUM(DATADIR_DAISYMOT, 51),
DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 51)
};
s32 lbl_1_data_2D0[] = { s32 lbl_1_data_2D0[] = { 0x00000125, 0x00000165, 0x000001A5, 0x000001E5, 0x00000225, 0x00000265, 0x000002A5, 0x000002E5 };
0x00000125, 0x00000165, 0x000001A5,
0x000001E5, 0x00000225, 0x00000265,
0x000002A5, 0x000002E5
};
s32 lbl_1_data_2F0[] = { s32 lbl_1_data_2F0[] = { 0x0000012E, 0x0000016E, 0x000001AE, 0x000001EE, 0x0000022E, 0x0000026E, 0x000002AE, 0x000002EE };
0x0000012E, 0x0000016E, 0x000001AE,
0x000001EE, 0x0000022E, 0x0000026E,
0x000002AE, 0x000002EE
};
void fn_1_19DC(s32 arg0, s32 arg1) { void fn_1_19DC(s32 arg0, s32 arg1)
{
s32 temp_r30; s32 temp_r30;
s32 temp_r5; s32 temp_r5;
s32 temp_r5_2; s32 temp_r5_2;
@ -263,7 +250,8 @@ void fn_1_19DC(s32 arg0, s32 arg1) {
lbl_1_bss_6A = 8; lbl_1_bss_6A = 8;
lbl_1_bss_68 = lbl_1_data_282; lbl_1_bss_68 = lbl_1_data_282;
var_r29 = lbl_1_data_2F0[GWPlayer[arg0].character]; var_r29 = lbl_1_data_2F0[GWPlayer[arg0].character];
} else { }
else {
lbl_1_bss_6A = 7; lbl_1_bss_6A = 7;
lbl_1_bss_68 = 1; lbl_1_bss_68 = 1;
var_r29 = lbl_1_data_2D0[GWPlayer[arg0].character]; var_r29 = lbl_1_data_2D0[GWPlayer[arg0].character];
@ -284,11 +272,10 @@ void fn_1_19DC(s32 arg0, s32 arg1) {
while (BoardPlayerMotionEndCheck(arg0) == 0) { while (BoardPlayerMotionEndCheck(arg0) == 0) {
HuPrcVSleep(); HuPrcVSleep();
} }
HuPrcSleep(60); HuPrcSleep(60);
if (arg1 != 0) { if (arg1 != 0) {
BoardPlayerMotionShiftSet(arg0, lbl_1_bss_68, 0.0f, 8.0f, HU3D_MOTATTR_NONE); BoardPlayerMotionShiftSet(arg0, lbl_1_bss_68, 0.0f, 8.0f, HU3D_MOTATTR_NONE);
HuPrcSleep(9); HuPrcSleep(9);
@ -315,7 +302,8 @@ void fn_1_19DC(s32 arg0, s32 arg1) {
} }
} }
s32 fn_1_1D1C(void) { s32 fn_1_1D1C(void)
{
s32 sp34; s32 sp34;
s32 sp30; s32 sp30;
s32 sp2C; s32 sp2C;
@ -330,11 +318,7 @@ s32 fn_1_1D1C(void) {
s32 maxTurn; s32 maxTurn;
s32 sp8[3] = { 70, 50, 45 }; s32 sp8[3] = { 70, 50, 45 };
s32 sp14[3][3] = { s32 sp14[3][3] = { { 3, 5, 22 }, { 5, 10, 35 }, { 5, 15, 35 } };
{3, 5, 22},
{5, 10, 35},
{5, 15, 35}
};
while (BoardMusStatusGet(1) != 0) { while (BoardMusStatusGet(1) != 0) {
HuPrcVSleep(); HuPrcVSleep();
@ -352,23 +336,26 @@ s32 fn_1_1D1C(void) {
} }
modRand = BoardRandMod(100); modRand = BoardRandMod(100);
if (modRand < sp8[var_r31] ) { if (modRand < sp8[var_r31]) {
return 1; return 1;
} }
modRand2 = BoardRandMod(100 - sp8[var_r31]); modRand2 = BoardRandMod(100 - sp8[var_r31]);
if (modRand2 < sp14[var_r31][0]) { if (modRand2 < sp14[var_r31][0]) {
lbl_1_bss_2C = 3; lbl_1_bss_2C = 3;
} else if (modRand2 < sp14[var_r31][1]) { }
else if (modRand2 < sp14[var_r31][1]) {
lbl_1_bss_2C = 2; lbl_1_bss_2C = 2;
} else { }
else {
lbl_1_bss_2C = 1; lbl_1_bss_2C = 1;
} }
return 0; return 0;
} }
void fn_1_1ED4(s32 arg0) { void fn_1_1ED4(s32 arg0)
{
Point3d spC; Point3d spC;
f32 sp8; f32 sp8;
@ -383,12 +370,12 @@ void fn_1_1ED4(s32 arg0) {
spC.y += 700.0f; spC.y += 700.0f;
BoardConfettiCreate(&spC, 0x64, 300.0f); BoardConfettiCreate(&spC, 0x64, 300.0f);
sp8 = BoardModelRotYGet(lbl_1_bss_6C); sp8 = BoardModelRotYGet(lbl_1_bss_6C);
while (BoardDAngleCalcRange(&sp8, 0.0f, 30.0f) == 0) { while (BoardDAngleCalcRange(&sp8, 0.0f, 30.0f) == 0) {
BoardModelRotYSet(lbl_1_data_284, sp8); BoardModelRotYSet(lbl_1_data_284, sp8);
HuPrcVSleep(); HuPrcVSleep();
} }
omVibrate(arg0, 0xC, 4, 2); omVibrate(arg0, 0xC, 4, 2);
BoardMusStart(1, 0x1A, 0x7F, 0); BoardMusStart(1, 0x1A, 0x7F, 0);
BoardModelRotYSet(lbl_1_data_284, 0.0f); BoardModelRotYSet(lbl_1_data_284, 0.0f);
@ -399,7 +386,7 @@ void fn_1_1ED4(s32 arg0) {
} }
BoardPlayerIdleSet(arg0); BoardPlayerIdleSet(arg0);
while (BoardMusStatusGet(1) != 0) { while (BoardMusStatusGet(1) != 0) {
HuPrcVSleep(); HuPrcVSleep();
} }
@ -411,7 +398,8 @@ void fn_1_1ED4(s32 arg0) {
BoardConfettiStop(); BoardConfettiStop();
} }
void fn_1_20E0(s32 arg0) { void fn_1_20E0(s32 arg0)
{
Point3d sp24; Point3d sp24;
Point3d sp18; Point3d sp18;
Point3d spC; Point3d spC;
@ -436,28 +424,28 @@ void fn_1_20E0(s32 arg0) {
omVibrate(arg0, 0xC, 4, 2); omVibrate(arg0, 0xC, 4, 2);
BoardModelRotYSet(lbl_1_data_284, 0.0f); BoardModelRotYSet(lbl_1_data_284, 0.0f);
BoardModelRotYSet(lbl_1_bss_6C, 0.0f); BoardModelRotYSet(lbl_1_bss_6C, 0.0f);
while (BoardFilterFadePauseCheck() == 0) { while (BoardFilterFadePauseCheck() == 0) {
HuPrcVSleep(); HuPrcVSleep();
} }
BoardMusStart(1, 0x1B, 0x7F, 0); BoardMusStart(1, 0x1B, 0x7F, 0);
HuAudFXPlay(0x44A); HuAudFXPlay(0x44A);
fn_1_2A40(); fn_1_2A40();
lbl_1_bss_30 = 0.0f; lbl_1_bss_30 = 0.0f;
while (lbl_1_bss_30 < 128.0f) { while (lbl_1_bss_30 < 128.0f) {
HuPrcVSleep(); HuPrcVSleep();
lbl_1_bss_30 += 12.0f; lbl_1_bss_30 += 12.0f;
} }
if (lbl_1_bss_30 > 128.0f) { if (lbl_1_bss_30 > 128.0f) {
lbl_1_bss_30 = 128.0f; lbl_1_bss_30 = 128.0f;
} }
HuPrcSleep(40); HuPrcSleep(40);
lbl_1_bss_30 = 128.0f; lbl_1_bss_30 = 128.0f;
while (lbl_1_bss_30 > 0.0f) { while (lbl_1_bss_30 > 0.0f) {
HuPrcVSleep(); HuPrcVSleep();
lbl_1_bss_30 -= 12.0f; lbl_1_bss_30 -= 12.0f;
@ -475,13 +463,13 @@ void fn_1_20E0(s32 arg0) {
BoardCameraMotionStartEx(-1, NULL, NULL, 1360.0f, -1.0f, 13); BoardCameraMotionStartEx(-1, NULL, NULL, 1360.0f, -1.0f, 13);
BoardCameraMotionWait(); BoardCameraMotionWait();
} }
BoardPlayerIdleSet(arg0); BoardPlayerIdleSet(arg0);
while (BoardMusStatusGet(1) != 0) { while (BoardMusStatusGet(1) != 0) {
HuPrcVSleep(); HuPrcVSleep();
} }
BoardAudSeqPause(0, 0, 1000); BoardAudSeqPause(0, 0, 1000);
BoardWinCreate(2, MAKE_MESSID(22, 5), 2); BoardWinCreate(2, MAKE_MESSID(22, 5), 2);
BoardWinWait(); BoardWinWait();
@ -504,16 +492,16 @@ void fn_1_20E0(s32 arg0) {
for (var_f31 = 100.0f; var_f31 > 0.0f; var_f31 -= 2.0f) { for (var_f31 = 100.0f; var_f31 > 0.0f; var_f31 -= 2.0f) {
BoardCameraQuakeSet(0xA, var_f31); BoardCameraQuakeSet(0xA, var_f31);
HuPrcVSleep(); HuPrcVSleep();
} }
BoardCameraQuakeReset(); BoardCameraQuakeReset();
if (lbl_1_data_288 != 0) { if (lbl_1_data_288 != 0) {
HuAudFXStop(lbl_1_data_288); HuAudFXStop(lbl_1_data_288);
lbl_1_data_288 = -1; lbl_1_data_288 = -1;
} }
fn_1_2818(); fn_1_2818();
omVibrate(arg0, 0xC, 0xC, 0); omVibrate(arg0, 0xC, 0xC, 0);
HuAudFXPlay(0x438); HuAudFXPlay(0x438);
@ -530,7 +518,8 @@ void fn_1_20E0(s32 arg0) {
HuPrcSleep(0x3C); HuPrcSleep(0x3C);
} }
void fn_1_26E0(s32 arg0) { void fn_1_26E0(s32 arg0)
{
Point3d sp20; Point3d sp20;
Point3d sp14; Point3d sp14;
Point3d sp8; Point3d sp8;
@ -555,11 +544,12 @@ void fn_1_26E0(s32 arg0) {
BoardPlayerIdleSet(arg0); BoardPlayerIdleSet(arg0);
} }
void fn_1_2818(void) { void fn_1_2818(void)
{
s16 temp_r29; s16 temp_r29;
s16 temp_r30; s16 temp_r30;
s16 j; s16 j;
s16 sp8[3] = {0x0002, 0x003E, 0x007A}; s16 sp8[3] = { 0x0002, 0x003E, 0x007A };
temp_r29 = (4 - lbl_1_bss_2C) * 60; temp_r29 = (4 - lbl_1_bss_2C) * 60;
BoardModelMotionStart(lbl_1_bss_C[1], 0, 0); BoardModelMotionStart(lbl_1_bss_C[1], 0, 0);
@ -570,19 +560,21 @@ void fn_1_2818(void) {
for (j = 0; j < ARRAY_COUNT(sp8); j++) { for (j = 0; j < ARRAY_COUNT(sp8); j++) {
if (temp_r30 == sp8[j]) { if (temp_r30 == sp8[j]) {
HuAudFXPlay(0x446); HuAudFXPlay(0x446);
} }
} }
HuPrcVSleep(); HuPrcVSleep();
} else { }
else {
break; break;
} }
} }
BoardModelAttrSet(lbl_1_bss_C[1], 0x40000002); BoardModelAttrSet(lbl_1_bss_C[1], 0x40000002);
HuPrcSleep(0x3C); HuPrcSleep(0x3C);
} }
s32 fn_1_2930(s32 arg0) { s32 fn_1_2930(s32 arg0)
{
lbl_1_bss_0->unk0--; lbl_1_bss_0->unk0--;
if (lbl_1_bss_0->unk0 <= 0) { if (lbl_1_bss_0->unk0 <= 0) {
@ -605,14 +597,16 @@ s32 fn_1_2930(s32 arg0) {
return 0; return 0;
} }
void fn_1_2A40(void) { void fn_1_2A40(void)
{
lbl_1_bss_30 = 0.0f; lbl_1_bss_30 = 0.0f;
lbl_1_bss_34 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x96000, MEMORY_DEFAULT_NUM); lbl_1_bss_34 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x96000, MEMORY_DEFAULT_NUM);
lbl_1_data_286 = Hu3DHookFuncCreate((void*)&fn_1_2B44); lbl_1_data_286 = Hu3DHookFuncCreate((void *)&fn_1_2B44);
Hu3DModelLayerSet(lbl_1_data_286, 3); Hu3DModelLayerSet(lbl_1_data_286, 3);
} }
void fn_1_2AC0(void) { void fn_1_2AC0(void)
{
if (lbl_1_bss_34) { if (lbl_1_bss_34) {
HuMemDirectFree(lbl_1_bss_34); HuMemDirectFree(lbl_1_bss_34);
lbl_1_bss_34 = NULL; lbl_1_bss_34 = NULL;
@ -624,15 +618,16 @@ void fn_1_2AC0(void) {
} }
} }
void fn_1_2B44(void) { void fn_1_2B44(void)
{
Mtx44 sp50; Mtx44 sp50;
Mtx sp20; Mtx sp20;
GXColor sp14; GXColor sp14;
GXColor sp10; GXColor sp10;
GXColor spC; GXColor spC;
u8 sp8; u8 sp8;
GXColor sp1C = {0xFF, 0xFF, 0xFF, 0xFF}; GXColor sp1C = { 0xFF, 0xFF, 0xFF, 0xFF };
GXColor sp18 = {0xFF, 0xFF, 0xFF, 0xFF}; GXColor sp18 = { 0xFF, 0xFF, 0xFF, 0xFF };
f32 temp_f28 = 0.0f; f32 temp_f28 = 0.0f;
f32 temp_f30 = 640.0f; f32 temp_f30 = 640.0f;
@ -644,7 +639,7 @@ void fn_1_2B44(void) {
GXLoadTexObj(&lbl_1_bss_48, GX_TEXMAP0); GXLoadTexObj(&lbl_1_bss_48, GX_TEXMAP0);
C_MTXOrtho(sp50, temp_f27, temp_f29, temp_f28, temp_f30, 0.0f, 10.0f); C_MTXOrtho(sp50, temp_f27, temp_f29, temp_f28, temp_f30, 0.0f, 10.0f);
GXSetProjection(sp50, GX_ORTHOGRAPHIC); GXSetProjection(sp50, GX_ORTHOGRAPHIC);
PSMTXIdentity(sp20); MTXIdentity(sp20);
GXLoadPosMtxImm(sp20, 0); GXLoadPosMtxImm(sp20, 0);
GXSetCurrentMtx(0); GXSetCurrentMtx(0);
GXSetViewport(0.0f, 0.0f, temp_f30, 1.0f + temp_f29, 0.0f, 1.0f); GXSetViewport(0.0f, 0.0f, temp_f30, 1.0f + temp_f29, 0.0f, 1.0f);

View file

@ -1,6 +1,15 @@
#include "REL/w06Dll.h" #include "REL/w06Dll.h"
#include "game/audio.h" #include "game/audio.h"
#include "game/board/audio.h"
#include "game/board/com.h"
#include "game/board/main.h"
#include "game/board/model.h"
#include "game/board/player.h"
#include "game/board/space.h"
#include "game/board/ui.h"
#include "game/board/window.h"
#include "game/data.h" #include "game/data.h"
#include "game/frand.h"
#include "game/gamework_data.h" #include "game/gamework_data.h"
#include "game/hsfanim.h" #include "game/hsfanim.h"
#include "game/hsfman.h" #include "game/hsfman.h"
@ -10,15 +19,7 @@
#include "game/process.h" #include "game/process.h"
#include "game/sprite.h" #include "game/sprite.h"
#include "game/window.h" #include "game/window.h"
#include "game/frand.h"
#include "game/board/audio.h"
#include "game/board/com.h"
#include "game/board/main.h"
#include "game/board/model.h"
#include "game/board/player.h"
#include "game/board/space.h"
#include "game/board/ui.h"
#include "game/board/window.h"
#include "dolphin.h" #include "dolphin.h"
#include "ext_math.h" #include "ext_math.h"
@ -132,7 +133,8 @@ static s8 lbl_1_data_1AD[3] = { 0, 0, 0 };
static s16 lbl_1_data_1B0 = -1; static s16 lbl_1_data_1B0 = -1;
static omObjData *lbl_1_data_1B4[3] = { NULL, NULL, NULL }; static omObjData *lbl_1_data_1B4[3] = { NULL, NULL, NULL };
void fn_1_D70(void) { void fn_1_D70(void)
{
Vec sp20; Vec sp20;
Vec sp14; Vec sp14;
Vec sp8; Vec sp8;
@ -157,7 +159,8 @@ void fn_1_D70(void) {
} }
} }
void fn_1_F6C(void) { void fn_1_F6C(void)
{
s32 i; s32 i;
for (i = 0; i < 3; i++) { for (i = 0; i < 3; i++) {
@ -173,7 +176,8 @@ void fn_1_F6C(void) {
} }
} }
void fn_1_1054(void) { void fn_1_1054(void)
{
BoardRollDispSet(0); BoardRollDispSet(0);
lbl_1_bss_18 = HuPrcChildCreate(fn_1_1148, 0x2003, 0x3800, 0, boardMainProc); lbl_1_bss_18 = HuPrcChildCreate(fn_1_1148, 0x2003, 0x3800, 0, boardMainProc);
HuPrcDestructorSet2(lbl_1_bss_18, fn_1_10E4); HuPrcDestructorSet2(lbl_1_bss_18, fn_1_10E4);
@ -183,7 +187,8 @@ void fn_1_1054(void) {
BoardRollDispSet(1); BoardRollDispSet(1);
} }
static void fn_1_10E4(void) { static void fn_1_10E4(void)
{
fn_1_43DC(); fn_1_43DC();
if (lbl_1_data_1A8 != -1) { if (lbl_1_data_1A8 != -1) {
HuWinKill(lbl_1_data_1A8); HuWinKill(lbl_1_data_1A8);
@ -192,7 +197,8 @@ static void fn_1_10E4(void) {
lbl_1_bss_18 = NULL; lbl_1_bss_18 = NULL;
} }
static void fn_1_1148(void) { static void fn_1_1148(void)
{
s32 temp_r3; s32 temp_r3;
s32 temp_r31; s32 temp_r31;
@ -205,7 +211,8 @@ static void fn_1_1148(void) {
HuPrcEnd(); HuPrcEnd();
} }
static void fn_1_11B0(void) { static void fn_1_11B0(void)
{
float sp8[2]; float sp8[2];
float var_f31; float var_f31;
float var_f30; float var_f30;
@ -219,7 +226,8 @@ static void fn_1_11B0(void) {
HuWinMesSet(lbl_1_data_1A8, MAKE_MESSID(48, 25)); HuWinMesSet(lbl_1_data_1A8, MAKE_MESSID(48, 25));
} }
static s32 fn_1_12A0(s32 arg0) { static s32 fn_1_12A0(s32 arg0)
{
Vec sp38; Vec sp38;
Vec sp2C; Vec sp2C;
Vec sp20; Vec sp20;
@ -285,7 +293,8 @@ static s32 fn_1_12A0(s32 arg0) {
return 1; return 1;
} }
static void fn_1_15CC(s32 arg0) { static void fn_1_15CC(s32 arg0)
{
s8 sp8[] = { 80, 50 }; s8 sp8[] = { 80, 50 };
s32 var_r28; s32 var_r28;
s16 temp_r26; s16 temp_r26;
@ -343,7 +352,8 @@ static void fn_1_15CC(s32 arg0) {
BoardWinCreate(2, MAKE_MESSID(48, 41), 6); BoardWinCreate(2, MAKE_MESSID(48, 41), 6);
BoardWinWait(); BoardWinWait();
BoardWinKill(); BoardWinKill();
} else { }
else {
for (var_r31 = 0; var_r31 < 3; var_r31++) { for (var_r31 = 0; var_r31 < 3; var_r31++) {
if (lbl_1_bss_30[var_r31] == 0) { if (lbl_1_bss_30[var_r31] == 0) {
lbl_1_bss_33 = var_r31; lbl_1_bss_33 = var_r31;
@ -400,7 +410,8 @@ static void fn_1_15CC(s32 arg0) {
} }
} }
static void fn_1_1BE0(s32 arg0, s32 arg1) { static void fn_1_1BE0(s32 arg0, s32 arg1)
{
Vec sp18; Vec sp18;
Vec spC; Vec spC;
s16 temp_r30; s16 temp_r30;
@ -420,7 +431,8 @@ static void fn_1_1BE0(s32 arg0, s32 arg1) {
fn_1_2048(-1, 4); fn_1_2048(-1, 4);
} }
static void fn_1_1CB0(s32 arg0) { static void fn_1_1CB0(s32 arg0)
{
while (!BoardModelMotionEndCheck(lbl_1_bss_3C[arg0])) { while (!BoardModelMotionEndCheck(lbl_1_bss_3C[arg0])) {
HuPrcVSleep(); HuPrcVSleep();
} }
@ -430,7 +442,8 @@ static void fn_1_1CB0(s32 arg0) {
} }
} }
static void fn_1_1D5C(s32 arg0) { static void fn_1_1D5C(s32 arg0)
{
s8 spC[] = { 0x20, 0x40, 0x60 }; s8 spC[] = { 0x20, 0x40, 0x60 };
s16 sp10[] = { -100, 0, 100 }; s16 sp10[] = { -100, 0, 100 };
s32 sp8; s32 sp8;
@ -442,7 +455,8 @@ static void fn_1_1D5C(s32 arg0) {
} }
} }
static void fn_1_1E30(s32 arg0) { static void fn_1_1E30(s32 arg0)
{
s8 spC[] = { 0x20, 0x40, 0x60 }; s8 spC[] = { 0x20, 0x40, 0x60 };
s16 sp10[] = { -100, 0, 100 }; s16 sp10[] = { -100, 0, 100 };
s32 sp8; s32 sp8;
@ -454,7 +468,8 @@ static void fn_1_1E30(s32 arg0) {
} }
} }
static void fn_1_1F08(s32 arg0) { static void fn_1_1F08(s32 arg0)
{
s32 i; s32 i;
s32 j; s32 j;
@ -477,7 +492,8 @@ static void fn_1_1F08(s32 arg0) {
} }
} }
static void fn_1_2048(s32 arg0, s32 arg1) { static void fn_1_2048(s32 arg0, s32 arg1)
{
Data1B4Work *temp_r30; Data1B4Work *temp_r30;
s32 i; s32 i;
@ -490,7 +506,8 @@ static void fn_1_2048(s32 arg0, s32 arg1) {
} }
} }
static void fn_1_20CC(s32 arg0) { static void fn_1_20CC(s32 arg0)
{
Data1B4Work *temp_r30; Data1B4Work *temp_r30;
s32 i; s32 i;
@ -504,7 +521,8 @@ static void fn_1_20CC(s32 arg0) {
} }
} }
static s32 fn_1_2174(s32 arg0) { static s32 fn_1_2174(s32 arg0)
{
Data1B4Work *temp_r31; Data1B4Work *temp_r31;
if (!lbl_1_data_1B4[arg0]) { if (!lbl_1_data_1B4[arg0]) {
@ -514,7 +532,8 @@ static s32 fn_1_2174(s32 arg0) {
return temp_r31->unk02; return temp_r31->unk02;
} }
static s16 fn_1_21CC(s32 arg0) { static s16 fn_1_21CC(s32 arg0)
{
Data1B4Work *temp_r31; Data1B4Work *temp_r31;
if (!lbl_1_data_1B4[arg0]) { if (!lbl_1_data_1B4[arg0]) {
@ -524,7 +543,8 @@ static s16 fn_1_21CC(s32 arg0) {
return temp_r31->unk06; return temp_r31->unk06;
} }
static void fn_1_2220(s32 arg0, s32 arg1, s32 arg2) { static void fn_1_2220(s32 arg0, s32 arg1, s32 arg2)
{
Mtx sp18; Mtx sp18;
Vec spC; Vec spC;
omObjData *temp_r3; omObjData *temp_r3;
@ -555,7 +575,7 @@ static void fn_1_2220(s32 arg0, s32 arg1, s32 arg2) {
temp_r3->rot.y = 0.0f; temp_r3->rot.y = 0.0f;
temp_r3->rot.z = 0.0f; temp_r3->rot.z = 0.0f;
if (arg2 == 5) { if (arg2 == 5) {
PSMTXTrans(sp18, 0.0f, -50.0f, 0.0f); MTXTrans(sp18, 0.0f, -50.0f, 0.0f);
BoardModelMtxSet(temp_r31->unk06, &sp18); BoardModelMtxSet(temp_r31->unk06, &sp18);
} }
BoardModelPosSet(temp_r31->unk06, temp_r3->trans.x, temp_r3->trans.y, temp_r3->trans.z); BoardModelPosSet(temp_r31->unk06, temp_r3->trans.x, temp_r3->trans.y, temp_r3->trans.z);
@ -563,7 +583,8 @@ static void fn_1_2220(s32 arg0, s32 arg1, s32 arg2) {
BoardModelLayerSet(temp_r31->unk06, 2); BoardModelLayerSet(temp_r31->unk06, 2);
} }
static void fn_1_243C(omObjData *arg0) { static void fn_1_243C(omObjData *arg0)
{
Vec sp14; Vec sp14;
Vec sp8; Vec sp8;
Data1B4Work *temp_r31; Data1B4Work *temp_r31;
@ -592,7 +613,8 @@ static void fn_1_243C(omObjData *arg0) {
sp8.y += 200.0f; sp8.y += 200.0f;
arg0->trans.y = (sp8.y - sp14.y) / 30.0f; arg0->trans.y = (sp8.y - sp14.y) / 30.0f;
arg0->rot.z = 0.01f; arg0->rot.z = 0.01f;
} else { }
else {
arg0->rot.z += 0.033333335f; arg0->rot.z += 0.033333335f;
if (arg0->rot.z > 1.0f) { if (arg0->rot.z > 1.0f) {
arg0->rot.z = 1.0f; arg0->rot.z = 1.0f;
@ -617,7 +639,8 @@ static void fn_1_243C(omObjData *arg0) {
BoardModelPosGet(lbl_1_bss_3C[temp_r31->unk00_field2], &sp8); BoardModelPosGet(lbl_1_bss_3C[temp_r31->unk00_field2], &sp8);
arg0->trans.y = (sp8.y - sp14.y) / 30.0f; arg0->trans.y = (sp8.y - sp14.y) / 30.0f;
arg0->rot.z = 1.0f; arg0->rot.z = 1.0f;
} else { }
else {
arg0->rot.z -= 0.033333335f; arg0->rot.z -= 0.033333335f;
if (arg0->rot.z < 0.001f) { if (arg0->rot.z < 0.001f) {
arg0->rot.z = 0.001f; arg0->rot.z = 0.001f;
@ -644,11 +667,13 @@ static void fn_1_243C(omObjData *arg0) {
BoardPlayerPosGet(temp_r31->unk00_field1, &sp8); BoardPlayerPosGet(temp_r31->unk00_field1, &sp8);
arg0->rot.x = (sp8.x - sp14.x) / 30.0f; arg0->rot.x = (sp8.x - sp14.x) / 30.0f;
arg0->rot.z = (sp8.z - sp14.z) / 30.0f; arg0->rot.z = (sp8.z - sp14.z) / 30.0f;
} else if (temp_r31->unk08 < 30) { }
else if (temp_r31->unk08 < 30) {
sp14.x += arg0->rot.x; sp14.x += arg0->rot.x;
sp14.z += arg0->rot.z; sp14.z += arg0->rot.z;
BoardModelPosSetV(temp_r31->unk06, &sp14); BoardModelPosSetV(temp_r31->unk06, &sp14);
} else { }
else {
BoardPlayerPosGet(temp_r31->unk00_field1, &sp8); BoardPlayerPosGet(temp_r31->unk00_field1, &sp8);
arg0->trans.x = sp8.x; arg0->trans.x = sp8.x;
arg0->trans.y = sp8.y; arg0->trans.y = sp8.y;
@ -669,13 +694,10 @@ static void fn_1_243C(omObjData *arg0) {
} }
} }
static s8 lbl_1_data_1C5[14] = { static s8 lbl_1_data_1C5[14] = { 1, 1, 3, 3, 2, 2, 2, 1, 2, 3, 0, 4, 5, 0 };
1, 1, 3, 3, 2,
2, 2, 1, 2, 3,
0, 4, 5, 0
};
static s32 fn_1_2A1C(s32 arg0) { static s32 fn_1_2A1C(s32 arg0)
{
s32 var_r29; s32 var_r29;
s32 var_r28; s32 var_r28;
s32 var_r30; s32 var_r30;
@ -696,24 +718,30 @@ static s32 fn_1_2A1C(s32 arg0) {
if (var_r29 > var_r28) { if (var_r29 > var_r28) {
if (var_r29 > var_r30) { if (var_r29 > var_r30) {
var_r31 = 0; var_r31 = 0;
} else if (var_r30 > var_r28) { }
else if (var_r30 > var_r28) {
var_r31 = 2; var_r31 = 2;
} else { }
else {
var_r31 = 1; var_r31 = 1;
} }
} else { }
else {
if (var_r28 > var_r30) { if (var_r28 > var_r30) {
var_r31 = 1; var_r31 = 1;
} else if (var_r30 > var_r29) { }
else if (var_r30 > var_r29) {
var_r31 = 2; var_r31 = 2;
} else { }
else {
var_r31 = 0; var_r31 = 0;
} }
} }
return var_r31; return var_r31;
} }
static void fn_1_2B60(s32 arg0) { static void fn_1_2B60(s32 arg0)
{
omObjData *temp_r3; omObjData *temp_r3;
Bss24Work *temp_r31; Bss24Work *temp_r31;
@ -728,7 +756,8 @@ static void fn_1_2B60(s32 arg0) {
temp_r31->unk02 = 1; temp_r31->unk02 = 1;
} }
static void fn_1_2C18(void) { static void fn_1_2C18(void)
{
Bss24Work *var_r27; Bss24Work *var_r27;
if (lbl_1_bss_24) { if (lbl_1_bss_24) {
@ -737,7 +766,8 @@ static void fn_1_2C18(void) {
} }
} }
static void fn_1_2D90(s32 arg0) { static void fn_1_2D90(s32 arg0)
{
Bss24Work *var_r31; Bss24Work *var_r31;
if (lbl_1_bss_24) { if (lbl_1_bss_24) {
@ -746,7 +776,8 @@ static void fn_1_2D90(s32 arg0) {
} }
} }
static s32 fn_1_2DD0(void) { static s32 fn_1_2DD0(void)
{
Bss24Work *var_r31; Bss24Work *var_r31;
if (!lbl_1_bss_24) { if (!lbl_1_bss_24) {
@ -756,7 +787,8 @@ static s32 fn_1_2DD0(void) {
return var_r31->unk01; return var_r31->unk01;
} }
static u32 fn_1_2E18(Bss24Work *arg0) { static u32 fn_1_2E18(Bss24Work *arg0)
{
s32 temp_r31; s32 temp_r31;
s32 var_r30; s32 var_r30;
@ -774,7 +806,8 @@ static u32 fn_1_2E18(Bss24Work *arg0) {
return var_r30; return var_r30;
} }
static void fn_1_2EF4(omObjData *arg0) { static void fn_1_2EF4(omObjData *arg0)
{
Vec sp14; Vec sp14;
Vec sp8; Vec sp8;
float var_f30; float var_f30;
@ -794,12 +827,14 @@ static void fn_1_2EF4(omObjData *arg0) {
} }
if (lbl_1_bss_30[0] != 0) { if (lbl_1_bss_30[0] != 0) {
var_r25 = 1; var_r25 = 1;
} else { }
else {
var_r25 = 0; var_r25 = 0;
} }
if (lbl_1_bss_30[2] != 0) { if (lbl_1_bss_30[2] != 0) {
var_r26 = 1; var_r26 = 1;
} else { }
else {
var_r26 = 2; var_r26 = 2;
} }
switch (temp_r30->unk01) { switch (temp_r30->unk01) {
@ -820,13 +855,16 @@ static void fn_1_2EF4(omObjData *arg0) {
if (lbl_1_bss_30[0] == 0 && lbl_1_bss_30[1] == 0) { if (lbl_1_bss_30[0] == 0 && lbl_1_bss_30[1] == 0) {
if (BoardRandMod(100) < 50) { if (BoardRandMod(100) < 50) {
var_r29 = 1; var_r29 = 1;
} else { }
else {
var_r29 = 2; var_r29 = 2;
} }
} else { }
else {
if (lbl_1_bss_30[0] == 0) { if (lbl_1_bss_30[0] == 0) {
var_r29 = 2; var_r29 = 2;
} else if (lbl_1_bss_30[1] == 0) { }
else if (lbl_1_bss_30[1] == 0) {
var_r29 = 1; var_r29 = 1;
} }
} }
@ -884,7 +922,8 @@ static void fn_1_2EF4(omObjData *arg0) {
} }
} }
static void fn_1_3470(void) { static void fn_1_3470(void)
{
omObjData *temp_r3; omObjData *temp_r3;
Bss28Work *temp_r31; Bss28Work *temp_r31;
@ -901,7 +940,8 @@ static void fn_1_3470(void) {
temp_r31->unk0A = BoardModelMotionCreate(lbl_1_bss_C[4], DATA_MAKE_NUM(DATADIR_W06, 23)); temp_r31->unk0A = BoardModelMotionCreate(lbl_1_bss_C[4], DATA_MAKE_NUM(DATADIR_W06, 23));
} }
static void fn_1_3560(s32 arg0) { static void fn_1_3560(s32 arg0)
{
Bss28Work *temp_r31; Bss28Work *temp_r31;
if (!lbl_1_bss_28) { if (!lbl_1_bss_28) {
@ -910,13 +950,15 @@ static void fn_1_3560(s32 arg0) {
temp_r31 = OM_GET_WORK_PTR(lbl_1_bss_28, Bss28Work); temp_r31 = OM_GET_WORK_PTR(lbl_1_bss_28, Bss28Work);
temp_r31->unk00_field1 = arg0; temp_r31->unk00_field1 = arg0;
if (arg0 != 1) { if (arg0 != 1) {
(void) 0; (void)0;
} else { }
else {
temp_r31->unk06 = 20; temp_r31->unk06 = 20;
} }
} }
static s32 fn_1_35BC(void) { static s32 fn_1_35BC(void)
{
Bss28Work *temp_r31; Bss28Work *temp_r31;
if (!lbl_1_bss_28) { if (!lbl_1_bss_28) {
@ -926,7 +968,8 @@ static s32 fn_1_35BC(void) {
return temp_r31->unk00_field1; return temp_r31->unk00_field1;
} }
static void fn_1_3604(s32 arg0) { static void fn_1_3604(s32 arg0)
{
Bss28Work *temp_r31; Bss28Work *temp_r31;
if (!lbl_1_bss_28) { if (!lbl_1_bss_28) {
@ -949,7 +992,8 @@ static void fn_1_3604(s32 arg0) {
} }
} }
static void fn_1_3698(s8 arg0) { static void fn_1_3698(s8 arg0)
{
Vec sp24; Vec sp24;
Vec sp18; Vec sp18;
Vec spC; Vec spC;
@ -976,7 +1020,8 @@ static void fn_1_3698(s8 arg0) {
if (ABS(temp_f31) >= 300.0f) { if (ABS(temp_f31) >= 300.0f) {
var_f30 = 40.0f; var_f30 = 40.0f;
temp_r31->unk06 *= 2; temp_r31->unk06 *= 2;
} else { }
else {
var_f30 = 20.0f; var_f30 = 20.0f;
} }
VECSubtract(&sp18, &sp24, &spC); VECSubtract(&sp18, &sp24, &spC);
@ -986,7 +1031,8 @@ static void fn_1_3698(s8 arg0) {
BoardModelMotionSpeedSet(lbl_1_bss_C[4], 2.0f); BoardModelMotionSpeedSet(lbl_1_bss_C[4], 2.0f);
} }
static void fn_1_3974(omObjData *arg0) { static void fn_1_3974(omObjData *arg0)
{
Vec sp30; Vec sp30;
Vec sp24; Vec sp24;
s32 sp8; s32 sp8;
@ -1012,7 +1058,8 @@ static void fn_1_3974(omObjData *arg0) {
fn_1_3560(4); fn_1_3560(4);
return; return;
} }
} else { }
else {
temp_r31->unk03++; temp_r31->unk03++;
} }
fn_1_3560(1); fn_1_3560(1);
@ -1062,7 +1109,8 @@ static void fn_1_3974(omObjData *arg0) {
} }
} }
static void fn_1_4070(void) { static void fn_1_4070(void)
{
Bss2CWork *temp_r31; Bss2CWork *temp_r31;
lbl_1_bss_1C = 0; lbl_1_bss_1C = 0;
@ -1074,7 +1122,8 @@ static void fn_1_4070(void) {
temp_r31->unk04 = MGSeqTimerCreateXY(temp_r31->unk01, 288, 64); temp_r31->unk04 = MGSeqTimerCreateXY(temp_r31->unk01, 288, 64);
} }
static void fn_1_4124(void) { static void fn_1_4124(void)
{
Bss2CWork *temp_r31; Bss2CWork *temp_r31;
if (!lbl_1_bss_2C) { if (!lbl_1_bss_2C) {
@ -1086,7 +1135,8 @@ static void fn_1_4124(void) {
temp_r31->unk00_field0 = 1; temp_r31->unk00_field0 = 1;
} }
static void fn_1_4194(omObjData *arg0) { static void fn_1_4194(omObjData *arg0)
{
Bss2CWork *temp_r31; Bss2CWork *temp_r31;
temp_r31 = OM_GET_WORK_PTR(arg0, Bss2CWork); temp_r31 = OM_GET_WORK_PTR(arg0, Bss2CWork);
@ -1107,7 +1157,8 @@ static void fn_1_4194(omObjData *arg0) {
} }
if (temp_r31->unk01 != 0) { if (temp_r31->unk01 != 0) {
temp_r31->unk01--; temp_r31->unk01--;
} else { }
else {
MGSeqParamSet(temp_r31->unk04, 2, -1); MGSeqParamSet(temp_r31->unk04, 2, -1);
temp_r31->unk04 = -1; temp_r31->unk04 = -1;
lbl_1_bss_1C = 1; lbl_1_bss_1C = 1;
@ -1117,7 +1168,8 @@ static void fn_1_4194(omObjData *arg0) {
temp_r31->unk02 = 60; temp_r31->unk02 = 60;
} }
static void fn_1_42AC(s16 arg0) { static void fn_1_42AC(s16 arg0)
{
ParticleData *var_r31; ParticleData *var_r31;
lbl_1_bss_20 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_EFFECT, 0)); lbl_1_bss_20 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_EFFECT, 0));
@ -1132,7 +1184,8 @@ static void fn_1_42AC(s16 arg0) {
var_r31->unk_02 = arg0; var_r31->unk_02 = arg0;
} }
static void fn_1_43DC(void) { static void fn_1_43DC(void)
{
if (lbl_1_data_1B0 != -1) { if (lbl_1_data_1B0 != -1) {
Hu3DModelKill(lbl_1_data_1B0); Hu3DModelKill(lbl_1_data_1B0);
lbl_1_data_1B0 = -1; lbl_1_data_1B0 = -1;
@ -1143,7 +1196,8 @@ static void fn_1_43DC(void) {
} }
} }
static void fn_1_4460(ModelData *model, ParticleData *particle, Mtx matrix) { static void fn_1_4460(ModelData *model, ParticleData *particle, Mtx matrix)
{
HsfanimStruct01 *var_r31; HsfanimStruct01 *var_r31;
Vec sp8; Vec sp8;
float var_f31; float var_f31;

View file

@ -1515,10 +1515,10 @@ void fn_1_7414(ModelData *model, Mtx matrix)
GXInitTexObj(&spC, Hu3DShadowData.unk_04, Hu3DShadowData.unk_02, Hu3DShadowData.unk_02, 1, GX_CLAMP, GX_CLAMP, GX_FALSE); GXInitTexObj(&spC, Hu3DShadowData.unk_04, Hu3DShadowData.unk_02, Hu3DShadowData.unk_02, 1, GX_CLAMP, GX_CLAMP, GX_FALSE);
GXInitTexObjLOD(&spC, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1); GXInitTexObjLOD(&spC, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1);
GXLoadTexObj(&spC, GX_TEXMAP0); GXLoadTexObj(&spC, GX_TEXMAP0);
PSMTXInverse(Hu3DCameraMtx, sp5C); MTXInverse(Hu3DCameraMtx, sp5C);
PSMTXConcat(sp5C, matrix, sp8C); MTXConcat(sp5C, matrix, sp8C);
PSMTXConcat(Hu3DShadowData.unk_68, Hu3DShadowData.unk_38, sp2C); MTXConcat(Hu3DShadowData.unk_68, Hu3DShadowData.unk_38, sp2C);
PSMTXConcat(sp2C, sp8C, sp8C); MTXConcat(sp2C, sp8C, sp8C);
GXLoadTexMtxImm(sp8C, 0x39, GX_MTX3x4); GXLoadTexMtxImm(sp8C, 0x39, GX_MTX3x4);
GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, 0x39, GX_FALSE, 0x7D); GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX3x4, GX_TG_POS, 0x39, GX_FALSE, 0x7D);
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0); GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR0A0);

View file

@ -212,12 +212,12 @@ u8 GWBoardPlayCountGet(s32 board)
return GWGameStat.board_play_count[board]; return GWGameStat.board_play_count[board];
} }
void GWBoardMaxStarsSet(s32 board, s32 value) void GWBoardMaxStarsSet(s32 board, s16 value)
{ {
GWGameStat.board_max_stars[board] = value; GWGameStat.board_max_stars[board] = value;
} }
u16 GWBoardMaxStarsGet(s32 board) s32 GWBoardMaxStarsGet(s32 board)
{ {
return GWGameStat.board_max_stars[board]; return GWGameStat.board_max_stars[board];
} }
@ -227,7 +227,7 @@ void GWBoardMaxCoinsSet(s32 board, s32 value)
GWGameStat.board_max_coins[board] = value; GWGameStat.board_max_coins[board] = value;
} }
u16 GWBoardMaxCoinsGet(s32 board) s32 GWBoardMaxCoinsGet(s32 board)
{ {
return GWGameStat.board_max_coins[board]; return GWGameStat.board_max_coins[board];
} }

View file

@ -1,133 +1,132 @@
#include "msm/msmmem.h" #include "msm/msmmem.h"
typedef struct _unkStruct { typedef struct MSMBlock_s {
struct _unkStruct* prev; struct MSMBlock_s* prev;
struct _unkStruct* next; struct MSMBlock_s* next;
u32 unk8; u32 freeSize;
u32 unkC; u32 size;
void* unk10; void* ptr;
void* unk14; char pad[12];
char unk18[0x8]; } MSMBLOCK;
} unkStruct;
typedef struct _unkMemStruct { typedef struct MSMMem_s {
unkStruct* unk0; void *ptr;
u32 unk4; u32 size;
unkStruct* unk8; MSMBLOCK *head;
unkStruct unkC; MSMBLOCK first;
} unkMemStruct; } MSM_MEM;
static unkMemStruct mem; static MSM_MEM mem;
void msmMemFree(void* arg0) { void msmMemFree(void* ptr) {
unkStruct* temp_r6; MSMBLOCK* block;
unkStruct* temp_r7; MSMBLOCK* blockPrev;
unkStruct* temp_r8; MSMBLOCK* blockNext;
unkStruct* temp_r5; MSMBLOCK* blockHead;
unkStruct* temp; MSMBLOCK* base;
temp = arg0; base = ptr;
temp_r6 = &temp[-1]; block = &base[-1];
temp_r7 = temp_r6->prev; blockPrev = block->prev;
temp_r8 = temp_r6->next; blockNext = block->next;
if (mem.unk0 > temp_r6 || ((u32)mem.unk0 + (u32)mem.unk4) <= (u32)temp_r6) { if (mem.ptr > block || ((u32)mem.ptr + (u32)mem.size) <= (u32)block) {
return; return;
} }
if ((temp_r7->next != temp_r6) || (temp_r6->unk10 != arg0) || (temp_r8 && (temp_r8->prev != temp_r6))) { if ((blockPrev->next != block) || (block->ptr != ptr) || (blockNext && (blockNext->prev != block))) {
return; return;
} }
temp_r7->unkC += temp_r6->unk8 + temp_r6->unkC; blockPrev->size += block->freeSize + block->size;
temp_r7->next = temp_r8; blockPrev->next = blockNext;
temp_r5 = mem.unk8; blockHead = mem.head;
if ((temp_r5 == temp_r6) || (temp_r5->unkC < temp_r7->unkC)) { if ((blockHead == block) || (blockHead->size < blockPrev->size)) {
mem.unk8 = temp_r7; mem.head = blockPrev;
} }
if (temp_r8) { if (blockNext) {
temp_r8->prev = temp_r7; blockNext->prev = blockPrev;
if (mem.unk8->unkC < temp_r8->unkC) { if (mem.head->size < blockNext->size) {
mem.unk8 = temp_r8; mem.head = blockNext;
} }
} }
} }
void* msmMemAlloc(u32 arg0) { void* msmMemAlloc(u32 size) {
s32 temp_r0; s32 alignOfs;
u32 var_r5; u32 freeSize;
u32 var_r7; u32 allocSize;
unkStruct* temp_r5; MSMBLOCK* block;
unkStruct* var_r8; MSMBLOCK* blockPrev;
unkStruct* temp_r9; MSMBLOCK* blockNext;
var_r7 = arg0 + 0x20; allocSize = size + 0x20;
temp_r0 = var_r7 & 0x1F; alignOfs = allocSize & 0x1F;
if (temp_r0 != 0) { if (alignOfs) {
var_r7 += 0x20 - temp_r0; allocSize += 0x20 - alignOfs;
} }
if (mem.unk8->unkC >= var_r7) { if (mem.head->size >= allocSize) {
var_r8 = mem.unk8; blockPrev = mem.head;
} else { } else {
var_r8 = &mem.unkC; blockPrev = &mem.first;
do { do {
if (var_r8->unkC >= var_r7) break; if (blockPrev->size >= allocSize) break;
var_r8 = var_r8->next; blockPrev = blockPrev->next;
} while (var_r8); } while (blockPrev);
if (!var_r8) { if (!blockPrev) {
return NULL; return NULL;
} }
} }
var_r5 = var_r8->unk8; freeSize = blockPrev->freeSize;
if (var_r5 != 0) { if (freeSize != 0) {
var_r5 -= 0x20; freeSize -= 0x20;
} }
temp_r5 = (void*)((u32)var_r8->unk10 + (var_r5)); block = (void*)((u32)blockPrev->ptr + (freeSize));
temp_r9 = var_r8->next; blockNext = blockPrev->next;
if ((mem.unk0 > temp_r5) || ((void*)((u32)mem.unk0 + (u32)mem.unk4) <= temp_r5)) { if ((mem.ptr > block) || ((void*)((u32)mem.ptr + (u32)mem.size) <= block)) {
return NULL; return NULL;
} }
temp_r5->unk8 = var_r7; block->freeSize = allocSize;
temp_r5->unkC = var_r8->unkC - var_r7; block->size = blockPrev->size - allocSize;
temp_r5->unk10 = (temp_r5 + 1); block->ptr = (block + 1);
temp_r5->prev = var_r8; block->prev = blockPrev;
temp_r5->next = temp_r9; block->next = blockNext;
mem.unk8 = temp_r5; mem.head = block;
var_r8->unkC = 0; blockPrev->size = 0;
var_r8->next = temp_r5; blockPrev->next = block;
if (temp_r9) { if (blockNext) {
temp_r9->prev = temp_r5; blockNext->prev = block;
if (mem.unk8->unkC < temp_r9->unkC) { if (mem.head->size < blockNext->size) {
mem.unk8 = temp_r9; mem.head = blockNext;
} }
} }
return temp_r5->unk10; return block->ptr;
} }
void msmMemInit(void* arg0, u32 arg1) { void msmMemInit(void* ptr, u32 size) {
unkStruct* temp_r7; MSMBLOCK* block;
s32 temp; s32 ofs;
temp = (s32)arg0 & 0x1F; ofs = (s32)ptr & 0x1F;
switch (temp) { switch (ofs) {
default: default:
temp = 0x20 - temp; ofs = 0x20 - ofs;
break; break;
case 0: case 0:
temp = 0; ofs = 0;
break; break;
} }
mem.unk0 = (void*)((s32)arg0 + temp); mem.ptr = (void*)((s32)ptr + ofs);
temp = (s32)arg0 + arg1; ofs = (s32)ptr + size;
mem.unk4 = ((temp - (s32)mem.unk0) & ~0x1F); mem.size = ((ofs - (s32)mem.ptr) & ~0x1F);
temp_r7 = &mem.unkC; block = &mem.first;
temp_r7->unk8 = 0; block->freeSize = 0;
temp_r7->unkC = mem.unk4; block->size = mem.size;
temp_r7->unk10 = mem.unk0; block->ptr = mem.ptr;
temp_r7->prev = NULL; block->prev = NULL;
temp_r7->next = NULL; block->next = NULL;
mem.unk8 = &mem.unkC; mem.head = &mem.first;
} }

View file

@ -1,150 +1,127 @@
#include "msm/msmmus.h" #include "msm/msmmus.h"
#include "msm/msmmem.h" #include "msm/msmmem.h"
typedef struct { typedef struct MusPlayer_s {
/* 0x00 */ s16 unk00; /* 0x00 */ s16 musId;
/* 0x02 */ s8 unk02; /* 0x02 */ s8 baseVol;
/* 0x03 */ s8 unk03; /* 0x03 */ s8 vol;
/* 0x04 */ s8 unk04; /* 0x04 */ s8 status;
/* 0x05 */ s8 unk05; /* 0x05 */ s8 busyF;
/* 0x06 */ char unk06[2]; /* 0x08 */ SND_SEQID seqId;
/* 0x08 */ SND_SEQID unk08; /* 0x0C */ void* songBuf;
/* 0x0C */ void* unk0C; /* 0x10 */ void* arrfile;
/* 0x10 */ void* unk10; /* 0x14 */ volatile s32 fadeMaxTime;
/* 0x14 */ volatile s32 unk14; /* 0x18 */ s32 fadeTime;
/* 0x18 */ s32 unk18; /* 0x1C */ s8 fadeVol;
/* 0x1C */ s8 unk1C; /* 0x20 */ volatile s32 pauseOnMaxTime;
/* 0x1D */ char unk1D[3]; /* 0x24 */ s32 pauseOnTime;
/* 0x20 */ volatile s32 unk20; /* 0x28 */ s8 pauseOnVol;
/* 0x24 */ s32 unk24; /* 0x2C */ volatile s32 pauseOffMaxTime;
/* 0x28 */ s8 unk28; /* 0x30 */ s32 pauseOffTime;
/* 0x29 */ char unk29[3]; /* 0x28 */ s8 pauseOffVol;
/* 0x2C */ volatile s32 unk2C; /* 0x35 */ volatile s8 startVol;
/* 0x30 */ s32 unk30; /* 0x36 */ s8 targetVol;
/* 0x34 */ char unk34[1]; /* 0x38 */ SND_PLAYPARA playPara;
/* 0x35 */ volatile s8 unk35; } MUS_PLAYER; // Size 0x58
/* 0x36 */ s8 unk36;
/* 0x37 */ char unk37[1];
/* 0x38 */ SND_PLAYPARA unk38;
} msmMusStruct00; // Size 0x58
typedef struct { static struct {
/* 0x00 */ u16 unk00; /* 0x000 */ s16 musMax;
/* 0x02 */ s16 unk02; /* 0x002 */ s8 musChanMax;
/* 0x04 */ s32 unk04; /* 0x003 */ s8 baseGrpNumPlay;
/* 0x08 */ s32 unk08; /* 0x004 */ s8 numPlay;
/* 0x0C */ s8 unk0C; /* 0x008 */ s32 msmEntryNum;
/* 0x0D */ s8 unk0D; /* 0x00C */ MSM_MUS *musData;
/* 0x0E */ char unk0E[2]; /* 0x010 */ s32 dummyMusOfs;
} msmMusStruct01; // Size 0x10 /* 0x014 */ void* musBuf;
/* 0x018 */ MUS_PLAYER player[4];
} mus;
typedef struct { static void msmMusPauseSub(MUS_PLAYER* player, BOOL pause, s32 speed) {
/* 0x000 */ s16 unk00; s32 time;
/* 0x002 */ s8 unk02;
/* 0x003 */ s8 unk03;
/* 0x004 */ s8 unk04;
/* 0x005 */ char unk05[3];
/* 0x008 */ s32 unk08;
/* 0x00C */ msmMusStruct01* unk0C;
/* 0x010 */ s32 unk10;
/* 0x014 */ void* unk14;
/* 0x018 */ msmMusStruct00 unk18[1]; // unknown length
/* 0x01C */ char unk70[0x108];
} msmMusStruct02; // Size 0x178
typedef struct { time = speed / 15;
/* 0x00 */ char unk00[0xC];
/* 0x0C */ s32 unk0C;
} UnkGroupDataPtr; // Size unknown
static msmMusStruct02 mus;
static void msmMusPauseSub(msmMusStruct00* arg0, BOOL pause, s32 speed) {
s32 temp_r30;
temp_r30 = speed / 15;
if (pause) { if (pause) {
if (arg0->unk04 == 2) { if (player->status == MSM_MUS_PLAY) {
if (temp_r30 != 0) { if (time != 0) {
arg0->unk24 = temp_r30; player->pauseOnTime = time;
arg0->unk20 = temp_r30; player->pauseOnMaxTime = time;
arg0->unk28 = 0x7F; player->pauseOnVol = 127;
} else { } else {
sndSeqPause(arg0->unk08); sndSeqPause(player->seqId);
arg0->unk28 = 0; player->pauseOnVol = 0;
} }
arg0->unk04 = 3; player->status = MSM_MUS_PAUSE;
} }
} else { } else {
if (arg0->unk04 == 3) { if (player->status == MSM_MUS_PAUSE) {
if (temp_r30 != 0) { if (time != 0) {
if (arg0->unk20 != 0) { if (player->pauseOnMaxTime != 0) {
arg0->unk20 = -temp_r30; player->pauseOnMaxTime = -time;
} else { } else {
sndSeqContinue(arg0->unk08); sndSeqContinue(player->seqId);
arg0->unk20 = -temp_r30; player->pauseOnMaxTime = -time;
arg0->unk24 = 0; player->pauseOnTime = 0;
arg0->unk28 = 0; player->pauseOnVol = 0;
} }
} else { } else {
sndSeqContinue(arg0->unk08); sndSeqContinue(player->seqId);
arg0->unk28 = 0x7F; player->pauseOnVol = 127;
sndSeqVolume(arg0->unk02 * arg0->unk03 * arg0->unk1C * arg0->unk28 / 2048383, 0, arg0->unk08, 0); sndSeqVolume(player->baseVol * player->vol * player->fadeVol * player->pauseOnVol / (127*127*127), 0, player->seqId, 0);
} }
arg0->unk04 = 2; player->status = MSM_MUS_PLAY;
} }
} }
} }
static void msmMusPauseFade(msmMusStruct00* arg0) { static void msmMusPauseFade(MUS_PLAYER *player) {
if (arg0->unk20 > 0) { if (player->pauseOnMaxTime > 0) {
if (--arg0->unk24 == 0) { if (--player->pauseOnTime == 0) {
arg0->unk20 = 0; player->pauseOnMaxTime = 0;
arg0->unk28 = 0; player->pauseOnVol = 0;
sndSeqPause(arg0->unk08); sndSeqPause(player->seqId);
} else { } else {
arg0->unk28 = arg0->unk24 * 0x7F / arg0->unk20; player->pauseOnVol = player->pauseOnTime * 127 / player->pauseOnMaxTime;
sndSeqVolume(arg0->unk02 * arg0->unk03 * arg0->unk1C * arg0->unk28 / 2048383, 0, arg0->unk08, 0); sndSeqVolume(player->baseVol * player->vol * player->fadeVol * player->pauseOnVol / (127*127*127), 0, player->seqId, 0);
} }
} else if (arg0->unk20 < 0) { } else if (player->pauseOnMaxTime < 0) {
if (++arg0->unk24 >= -arg0->unk20) { if (++player->pauseOnTime >= -player->pauseOnMaxTime) {
arg0->unk20 = 0; player->pauseOnMaxTime = 0;
arg0->unk28 = 0x7F; player->pauseOnVol = 127;
} else { } else {
arg0->unk28 = arg0->unk24 * 0x7F / -arg0->unk20; player->pauseOnVol = player->pauseOnTime * 127 / -player->pauseOnMaxTime;
} }
sndSeqVolume(arg0->unk02 * arg0->unk03 * arg0->unk1C * arg0->unk28 / 2048383, 0, arg0->unk08, 0); sndSeqVolume(player->baseVol * player->vol * player->fadeVol * player->pauseOnVol / (127*127*127), 0, player->seqId, 0);
} }
} }
static void msmMusFade(msmMusStruct00* arg0) { static void msmMusFade(MUS_PLAYER *player) {
if (arg0->unk04 != 2) { if (player->status != MSM_MUS_PLAY) {
return; return;
} }
if (arg0->unk14 > 0) { if (player->fadeMaxTime > 0) {
if (--arg0->unk18 == 0) { if (--player->fadeTime == 0) {
if (arg0->unk04 != 0) { if (player->status != 0) {
arg0->unk14 = 0; player->fadeMaxTime = 0;
if (arg0->unk14 != 0) { if (player->fadeMaxTime != 0) {
arg0->unk18 = arg0->unk14; player->fadeTime = player->fadeMaxTime;
arg0->unk1C = 0x7F; player->fadeVol = 127;
} else { } else {
sndSeqStop(arg0->unk08); sndSeqStop(player->seqId);
arg0->unk04 = 1; player->status = 1;
} }
} }
} else { } else {
arg0->unk1C = arg0->unk18 * 0x7F / arg0->unk14; player->fadeVol = player->fadeTime * 127 / player->fadeMaxTime;
sndSeqVolume(arg0->unk02 * arg0->unk03 * arg0->unk1C * arg0->unk28 / 2048383, 0, arg0->unk08, 0); sndSeqVolume(player->baseVol * player->vol * player->fadeVol * player->pauseOnVol / (127*127*127), 0, player->seqId, 0);
} }
} else if (arg0->unk14 < 0) { } else if (player->fadeMaxTime < 0) {
if (++arg0->unk18 >= -arg0->unk14) { if (++player->fadeTime >= -player->fadeMaxTime) {
arg0->unk14 = 0; player->fadeMaxTime = 0;
arg0->unk1C = 0x7F; player->fadeVol = 127;
} else { } else {
arg0->unk1C = arg0->unk18 * 0x7F / -arg0->unk14; player->fadeVol = player->fadeTime * 127 / -player->fadeMaxTime;
} }
sndSeqVolume(arg0->unk02 * arg0->unk03 * arg0->unk1C * arg0->unk28 / 2048383, 0, arg0->unk08, 0); sndSeqVolume(player->baseVol * player->vol * player->fadeVol * player->pauseOnVol / (127*127*127), 0, player->seqId, 0);
} }
} }
@ -152,54 +129,54 @@ void msmMusFdoutEnd(void) {
} }
void msmMusPeriodicProc(void) { void msmMusPeriodicProc(void) {
s32 var_r26; s32 i;
msmMusStruct00* temp_r25; MUS_PLAYER* player;
mus.unk04 = mus.unk03 = 0; mus.numPlay = mus.baseGrpNumPlay = 0;
for (var_r26 = 0; var_r26 < mus.unk02; var_r26++) { for (i = 0; i < mus.musChanMax; i++) {
temp_r25 = &mus.unk18[var_r26]; player = &mus.player[i];
if (temp_r25->unk05 != 0) { if (player->busyF != FALSE) {
continue; continue;
} }
switch (temp_r25->unk04) { switch (player->status) {
case 1: case MSM_MUS_STOP:
case 2: case MSM_MUS_PLAY:
if (sndSeqGetValid(temp_r25->unk08) == FALSE) { if (sndSeqGetValid(player->seqId) == FALSE) {
temp_r25->unk04 = 0; player->status = 0;
} }
break; break;
} }
if (temp_r25->unk04 == 0) { if (player->status == MSM_MUS_DONE) {
continue; continue;
} }
if (msmSysCheckBaseGroup(mus.unk0C[temp_r25->unk00].unk00) != 0) { if (msmSysCheckBaseGroup(mus.musData[player->musId].sgid) != 0) {
mus.unk04++; mus.numPlay++;
} else { } else {
mus.unk03++; mus.baseGrpNumPlay++;
} }
msmMusPauseFade(temp_r25); msmMusPauseFade(player);
if (temp_r25->unk04 == 2 && temp_r25->unk2C != 0) { if (player->status == MSM_MUS_PLAY && player->pauseOffMaxTime != 0) {
if (++temp_r25->unk30 >= temp_r25->unk2C) { if (++player->pauseOffTime >= player->pauseOffMaxTime) {
temp_r25->unk2C = 0; player->pauseOffMaxTime = 0;
temp_r25->unk02 = temp_r25->unk36; player->baseVol = player->targetVol;
} else { } else {
temp_r25->unk02 = temp_r25->unk35 + temp_r25->unk30 * (temp_r25->unk36 - temp_r25->unk35) / temp_r25->unk2C; player->baseVol = player->startVol + player->pauseOffTime * (player->targetVol - player->startVol) / player->pauseOffMaxTime;
} }
sndSeqVolume(temp_r25->unk02 * temp_r25->unk03 * temp_r25->unk1C * temp_r25->unk28 / 2048383, 0, temp_r25->unk08, 0); sndSeqVolume(player->baseVol * player->vol * player->fadeVol * player->pauseOnVol / (127*127*127), 0, player->seqId, 0);
} }
msmMusFade(temp_r25); msmMusFade(player);
} }
} }
s32 msmMusGetMidiCtrl(int musNo, s32 channel, s32 ctrl) { s32 msmMusGetMidiCtrl(int musNo, s32 channel, s32 ctrl) {
msmMusStruct00* temp_ptr; MUS_PLAYER *player;
if (musNo < 0 || musNo >= mus.unk02) { if (musNo < 0 || musNo >= mus.musChanMax) {
return MSM_ERR_OUTOFMUS; return MSM_ERR_OUTOFMUS;
} }
temp_ptr = &mus.unk18[musNo]; player = &mus.player[musNo];
if (sndSeqGetValid(temp_ptr->unk08) == TRUE) { if (sndSeqGetValid(player->seqId) == TRUE) {
return sndSeqGetMidiCtrl(temp_ptr->unk08, channel & 0xF, ctrl); return sndSeqGetMidiCtrl(player->seqId, channel & 0xF, ctrl);
} }
return 0; return 0;
} }
@ -207,135 +184,135 @@ s32 msmMusGetMidiCtrl(int musNo, s32 channel, s32 ctrl) {
s32 msmMusGetNumPlay(BOOL baseGrp) { s32 msmMusGetNumPlay(BOOL baseGrp) {
switch (baseGrp) { switch (baseGrp) {
case FALSE: case FALSE:
return mus.unk03 + mus.unk04; return mus.baseGrpNumPlay + mus.numPlay;
default: default:
return mus.unk03; return mus.baseGrpNumPlay;
} }
} }
s32 msmMusGetStatus(int musNo) { s32 msmMusGetStatus(int musNo) {
if (musNo < 0 || musNo >= mus.unk02) { if (musNo < 0 || musNo >= mus.musChanMax) {
return MSM_ERR_OUTOFMUS; return MSM_ERR_OUTOFMUS;
} }
return mus.unk18[musNo].unk04; return mus.player[musNo].status;
} }
void msmMusSetMasterVolume(s32 arg0) { void msmMusSetMasterVolume(s32 vol) {
sndMasterVolume(arg0 & 0x7F, 0, 1, 0); sndMasterVolume(vol & 127, 0, 1, 0);
} }
s32 msmMusSetParam(s32 arg0, MSM_MUSPARAM* arg1) { s32 msmMusSetParam(s32 musNo, MSM_MUSPARAM *param) {
msmMusStruct00* temp_r31; MUS_PLAYER* player;
if (arg0 < 0 || arg0 >= mus.unk02) { if (musNo < 0 || musNo >= mus.musChanMax) {
return MSM_ERR_OUTOFMUS; return MSM_ERR_OUTOFMUS;
} }
temp_r31 = &mus.unk18[arg0]; player = &mus.player[musNo];
if (arg1->flag & MSM_MUSPARAM_VOL) { if (param->flag & MSM_MUSPARAM_VOL) {
temp_r31->unk2C = arg1->fadeSpeed / 15; player->pauseOffMaxTime = param->fadeSpeed / 15;
if (temp_r31->unk2C != 0) { if (player->pauseOffMaxTime != 0) {
temp_r31->unk05 = 1; player->busyF = 1;
temp_r31->unk30 = 0; player->pauseOffTime = 0;
temp_r31->unk35 = temp_r31->unk02; player->startVol = player->baseVol;
temp_r31->unk36 = arg1->vol & 0x7F; player->targetVol = param->vol & 127;
temp_r31->unk05 = 0; player->busyF = 0;
} else { } else {
temp_r31->unk02 = arg1->vol & 0x7F; player->baseVol = param->vol & 127;
sndSeqVolume(temp_r31->unk02 * temp_r31->unk03 * temp_r31->unk1C * temp_r31->unk28 / 2048383, 0, temp_r31->unk08, 0); sndSeqVolume(player->baseVol * player->vol * player->fadeVol * player->pauseOnVol / (127*127*127), 0, player->seqId, 0);
} }
} }
if (arg1->flag & MSM_MUSPARAM_SPEED) { if (param->flag & MSM_MUSPARAM_SPEED) {
sndSeqSpeed(temp_r31->unk08, (arg1->speed << 8) / 100); sndSeqSpeed(player->seqId, (param->speed << 8) / 100);
} }
return 0; return 0;
} }
void msmMusPauseAll(BOOL pause, s32 speed) { void msmMusPauseAll(BOOL pause, s32 speed) {
s32 var_r27; s32 var_r27;
msmMusStruct00* temp_r26; MUS_PLAYER* player;
for (var_r27 = 0; var_r27 < mus.unk02; var_r27++) { for (var_r27 = 0; var_r27 < mus.musChanMax; var_r27++) {
temp_r26 = &mus.unk18[var_r27]; player = &mus.player[var_r27];
if (temp_r26->unk04 != 0) { if (player->status != MSM_MUS_DONE) {
temp_r26->unk05 = 1; player->busyF = TRUE;
msmMusPauseSub(temp_r26, pause, speed); msmMusPauseSub(player, pause, speed);
temp_r26->unk05 = 0; player->busyF = FALSE;
} }
} }
} }
s32 msmMusPause(int musNo, BOOL pause, s32 speed) { s32 msmMusPause(int musNo, BOOL pause, s32 speed) {
msmMusStruct00* temp_r31; MUS_PLAYER *player;
if (musNo < 0 || musNo >= mus.unk02) { if (musNo < 0 || musNo >= mus.musChanMax) {
return MSM_ERR_OUTOFMUS; return MSM_ERR_OUTOFMUS;
} }
temp_r31 = &mus.unk18[musNo]; player = &mus.player[musNo];
temp_r31->unk05 = 1; player->busyF = TRUE;
msmMusPauseSub(temp_r31, pause, speed); msmMusPauseSub(player, pause, speed);
temp_r31->unk05 = 0; player->busyF = FALSE;
return 0; return 0;
} }
void msmMusStopAll(BOOL checkGrp, s32 speed) { void msmMusStopAll(BOOL checkGrp, s32 speed) {
s32 var_r28; s32 i;
msmMusStruct00* temp_r27; MUS_PLAYER *player;
for (var_r28 = 0; var_r28 < mus.unk02; var_r28++) { for (i = 0; i < mus.musChanMax; i++) {
temp_r27 = &mus.unk18[var_r28]; player = &mus.player[i];
if (temp_r27->unk04 == 0) { if (player->status == 0) {
continue; continue;
} }
temp_r27->unk05 = 1; player->busyF = TRUE;
switch (checkGrp) { switch (checkGrp) {
case FALSE: case FALSE:
if (temp_r27->unk04 != 0) { if (player->status != 0) {
temp_r27->unk14 = speed / 15; player->fadeMaxTime = speed / 15;
if (temp_r27->unk14 != 0) { if (player->fadeMaxTime != 0) {
temp_r27->unk18 = temp_r27->unk14; player->fadeTime = player->fadeMaxTime;
temp_r27->unk1C = 0x7F; player->fadeVol = 127;
} else { } else {
sndSeqStop(temp_r27->unk08); sndSeqStop(player->seqId);
temp_r27->unk04 = 1; player->status = 1;
} }
} }
break; break;
default: default:
if (msmSysCheckBaseGroup(mus.unk0C[temp_r27->unk00].unk00) == 0 && temp_r27->unk04 != 0) { if (msmSysCheckBaseGroup(mus.musData[player->musId].sgid) == 0 && player->status != 0) {
temp_r27->unk14 = speed / 15; player->fadeMaxTime = speed / 15;
if (temp_r27->unk14 != 0) { if (player->fadeMaxTime != 0) {
temp_r27->unk18 = temp_r27->unk14; player->fadeTime = player->fadeMaxTime;
temp_r27->unk1C = 0x7F; player->fadeVol = 127;
} else { } else {
sndSeqStop(temp_r27->unk08); sndSeqStop(player->seqId);
temp_r27->unk04 = 1; player->status = 1;
} }
} }
break; break;
} }
temp_r27->unk05 = 0; player->busyF = FALSE;
} }
} }
s32 msmMusStop(int musNo, s32 speed) { s32 msmMusStop(int musNo, s32 speed) {
msmMusStruct00* temp_r30; MUS_PLAYER* player;
if (musNo < 0 || musNo >= mus.unk02) { if (musNo < 0 || musNo >= mus.musChanMax) {
return MSM_ERR_OUTOFMUS; return MSM_ERR_OUTOFMUS;
} }
temp_r30 = &mus.unk18[musNo]; player = &mus.player[musNo];
temp_r30->unk05 = 1; player->busyF = TRUE;
if (temp_r30->unk04 != 0) { if (player->status != 0) {
temp_r30->unk14 = speed / 15; player->fadeMaxTime = speed / 15;
if (temp_r30->unk14 != 0) { if (player->fadeMaxTime != 0) {
temp_r30->unk18 = temp_r30->unk14; player->fadeTime = player->fadeMaxTime;
temp_r30->unk1C = 0x7F; player->fadeVol = 127;
} else { } else {
sndSeqStop(temp_r30->unk08); sndSeqStop(player->seqId);
temp_r30->unk04 = 1; player->status = MSM_MUS_STOP;
} }
} }
temp_r30->unk05 = 0; player->busyF = FALSE;
return 0; return 0;
} }
@ -343,124 +320,124 @@ int msmMusPlay(int musId, MSM_MUSPARAM* musParam) {
s32 var_r30; s32 var_r30;
int var_r29; int var_r29;
s32 temp_r3_3; s32 temp_r3_3;
UnkGroupDataPtr* temp_r3_2; MSM_GRP_HEAD* temp_r3_2;
msmMusStruct01* temp_r28; MSM_MUS* temp_r28;
msmMusStruct00* temp_r27; MUS_PLAYER* temp_r27;
DVDFileInfo sp10; DVDFileInfo sp10;
if (musId < 0 || musId >= mus.unk00) { if (musId < 0 || musId >= mus.musMax) {
return MSM_ERR_INVALIDID; return MSM_ERR_INVALIDID;
} }
temp_r28 = &mus.unk0C[musId]; temp_r28 = &mus.musData[musId];
if (temp_r28->unk00 == 0xFFFF) { if (temp_r28->sgid == 0xFFFF) {
return MSM_ERR_REMOVEDID; return MSM_ERR_REMOVEDID;
} }
if (msmSysCheckLoadGroupID(temp_r28->unk00) == 0) { if (msmSysCheckLoadGroupID(temp_r28->sgid) == 0) {
return MSM_ERR_GRP_NOTLOADED; return MSM_ERR_GRP_NOTLOADED;
} }
var_r30 = (musParam != NULL) ? musParam->flag : 0; var_r30 = (musParam != NULL) ? musParam->flag : 0;
var_r29 = (var_r30 & MSM_MUSPARAM_CHAN) ? musParam->chan : 0; var_r29 = (var_r30 & MSM_MUSPARAM_CHAN) ? musParam->chan : 0;
if (var_r29 < 0 || var_r29 >= mus.unk02) { if (var_r29 < 0 || var_r29 >= mus.musChanMax) {
return MSM_ERR_OUTOFMUS; return MSM_ERR_OUTOFMUS;
} }
temp_r27 = &mus.unk18[var_r29]; temp_r27 = &mus.player[var_r29];
if (temp_r27->unk04 != 0) { if (temp_r27->status != 0) {
sndSeqStop(temp_r27->unk08); sndSeqStop(temp_r27->seqId);
} }
if (temp_r28->unk0C < 0) { if (temp_r28->songGrp < 0) {
if (temp_r27->unk00 != musId) { if (temp_r27->musId != musId) {
if (msmFioOpen(mus.unk08, &sp10) != 1) { if (msmFioOpen(mus.msmEntryNum, &sp10) != 1) {
return MSM_ERR_OPENFAIL; return MSM_ERR_OPENFAIL;
} }
if (msmFioRead(&sp10, temp_r27->unk0C, temp_r28->unk08, temp_r28->unk04 + mus.unk10) < 0) { if (msmFioRead(&sp10, temp_r27->songBuf, temp_r28->songSize, temp_r28->songOfs + mus.dummyMusOfs) < 0) {
msmFioClose(&sp10); msmFioClose(&sp10);
return MSM_ERR_READFAIL; return MSM_ERR_READFAIL;
} }
msmFioClose(&sp10); msmFioClose(&sp10);
temp_r27->unk10 = temp_r27->unk0C; temp_r27->arrfile = temp_r27->songBuf;
} }
} else { } else {
temp_r3_2 = msmSysGetGroupDataPtr(temp_r28->unk0C); temp_r3_2 = msmSysGetGroupDataPtr(temp_r28->songGrp);
if (temp_r3_2 == NULL) { if (temp_r3_2 == NULL) {
return MSM_ERR_MUSGRP_NOTLOADED; return MSM_ERR_MUSGRP_NOTLOADED;
} }
temp_r27->unk10 = (void*) ((u32) temp_r3_2 + temp_r3_2->unk0C + temp_r28->unk04); temp_r27->arrfile = (void*) ((u32) temp_r3_2 + temp_r3_2->sngOfs + temp_r28->songOfs);
} }
temp_r27->unk05 = 1; temp_r27->busyF = 1;
temp_r27->unk03 = temp_r28->unk0D; temp_r27->vol = temp_r28->vol;
temp_r27->unk2C = 0; temp_r27->pauseOffMaxTime = 0;
temp_r27->unk20 = 0; temp_r27->pauseOnMaxTime = 0;
temp_r27->unk14 = 0; temp_r27->fadeMaxTime = 0;
temp_r27->unk28 = 0x7F; temp_r27->pauseOnVol = 127;
temp_r27->unk1C = 0x7F; temp_r27->fadeVol = 127;
temp_r27->unk38.flags = 4; temp_r27->playPara.flags = 4;
temp_r27->unk38.volume.time = 0; temp_r27->playPara.volume.time = 0;
temp_r27->unk02 = (var_r30 & MSM_MUSPARAM_VOL) ? musParam->vol : 0x7F; temp_r27->baseVol = (var_r30 & MSM_MUSPARAM_VOL) ? musParam->vol : 127;
temp_r27->unk38.volume.target = temp_r27->unk03 * temp_r27->unk1C * temp_r27->unk02 / 16129; temp_r27->playPara.volume.target = temp_r27->vol * temp_r27->fadeVol * temp_r27->baseVol / 16129;
if (var_r30 & MSM_MUSPARAM_PAUSE) { if (var_r30 & MSM_MUSPARAM_PAUSE) {
temp_r27->unk38.flags |= 0x10; temp_r27->playPara.flags |= 0x10;
} }
if (var_r30 & MSM_MUSPARAM_SPEED) { if (var_r30 & MSM_MUSPARAM_SPEED) {
temp_r27->unk38.flags |= 2; temp_r27->playPara.flags |= 2;
temp_r27->unk38.speed = musParam->speed * 256 / 100; temp_r27->playPara.speed = musParam->speed * 256 / 100;
} }
if (var_r30 & MSM_MUSPARAM_FADESPEED) { if (var_r30 & MSM_MUSPARAM_FADESPEED) {
temp_r27->unk14 = -(musParam->fadeSpeed / 15); temp_r27->fadeMaxTime = -(musParam->fadeSpeed / 15);
if (temp_r27->unk14 != 0) { if (temp_r27->fadeMaxTime != 0) {
temp_r27->unk18 = 0; temp_r27->fadeTime = 0;
temp_r27->unk1C = 0; temp_r27->fadeVol = 0;
temp_r27->unk38.volume.target = 0; temp_r27->playPara.volume.target = 0;
} }
} }
temp_r3_3 = sndSeqPlayEx(temp_r28->unk00, temp_r28->unk02, temp_r27->unk10, &temp_r27->unk38, 0); temp_r3_3 = sndSeqPlay(temp_r28->sgid, temp_r28->sid, temp_r27->arrfile, &temp_r27->playPara);
if (temp_r3_3 == SND_ID_ERROR) { if (temp_r3_3 == SND_ID_ERROR) {
temp_r27->unk05 = 0; temp_r27->busyF = 0;
return MSM_ERR_PLAYFAIL; return MSM_ERR_PLAYFAIL;
} }
temp_r27->unk08 = temp_r3_3; temp_r27->seqId = temp_r3_3;
temp_r27->unk00 = musId; temp_r27->musId = musId;
temp_r27->unk04 = (temp_r27->unk38.flags & 0x10) ? 3 : 2; temp_r27->status = (temp_r27->playPara.flags & 0x10) ? 3 : 2;
temp_r27->unk05 = 0; temp_r27->busyF = 0;
return var_r29; return var_r29;
} }
s32 msmMusInit(sysData* arg0, DVDFileInfo* arg1) { s32 msmMusInit(MSM_SYS* arg0, DVDFileInfo* arg1) {
s32 temp_r4; s32 temp_r4;
s32 var_r8; s32 var_r8;
mus.unk00 = 0; mus.musMax = 0;
mus.unk02 = 0; mus.musChanMax = 0;
mus.unk04 = 0; mus.numPlay = 0;
mus.unk03 = 0; mus.baseGrpNumPlay = 0;
if (arg0->unk10->unk4 == 0) { if (arg0->info->musMax == 0) {
return 0; return 0;
} }
temp_r4 = arg0->unkC->unk2C; temp_r4 = arg0->header->musSize;
if (temp_r4 == 0) { if (temp_r4 == 0) {
return 0; return 0;
} }
if ((mus.unk0C = msmMemAlloc(temp_r4)) == NULL) { if ((mus.musData = msmMemAlloc(temp_r4)) == NULL) {
return MSM_ERR_OUTOFMEM; return MSM_ERR_OUTOFMEM;
} }
if (msmFioRead(arg1, mus.unk0C, arg0->unkC->unk2C, arg0->unkC->unk28) < 0) { if (msmFioRead(arg1, mus.musData, arg0->header->musSize, arg0->header->musOfs) < 0) {
return MSM_ERR_READFAIL; return MSM_ERR_READFAIL;
} }
temp_r4 = arg0->unk10->unk20; temp_r4 = arg0->info->dummyMusSize;
if (temp_r4 != 0) { if (temp_r4 != 0) {
if ((mus.unk14 = msmMemAlloc(temp_r4 * arg0->unk10->unk8)) == NULL) { if ((mus.musBuf = msmMemAlloc(temp_r4 * arg0->info->musChanMax)) == NULL) {
return MSM_ERR_OUTOFMEM; return MSM_ERR_OUTOFMEM;
} }
} else { } else {
mus.unk14 = NULL; mus.musBuf = NULL;
} }
mus.unk00 = arg0->unk10->unk4; mus.musMax = arg0->info->musMax;
mus.unk02 = arg0->unk10->unk8; mus.musChanMax = arg0->info->musChanMax;
mus.unk10 = arg0->unkC->unk48; mus.dummyMusOfs = arg0->header->dummyMusOfs;
mus.unk08 = arg0->unk0; mus.msmEntryNum = arg0->msmEntryNum;
for (var_r8 = 0; var_r8 < mus.unk02; var_r8++) { for (var_r8 = 0; var_r8 < mus.musChanMax; var_r8++) {
mus.unk18[var_r8].unk0C = (void*) ((u32) mus.unk14 + arg0->unk10->unk20 * var_r8); mus.player[var_r8].songBuf = (void*) ((u32) mus.musBuf + arg0->info->dummyMusSize * var_r8);
mus.unk18[var_r8].unk00 = -1; mus.player[var_r8].musId = -1;
mus.unk18[var_r8].unk05 = 0; mus.player[var_r8].busyF = 0;
} }
return 0; return 0;
} }

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff