Merge pull request #493 from abnormalhare/main

match m418Dll
This commit is contained in:
Rainchus 2024-12-29 18:27:11 -06:00 committed by GitHub
commit 732e9ff777
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 412 additions and 146 deletions

11
.vscode/settings.json vendored
View file

@ -17,6 +17,7 @@
"*.s": "plaintext",
"*.json": "jsonc",
"*.c": "c",
"*.asm": "masm",
"*.inc": "c",
".clangd": "yaml",
"m443dll.h": "c",
@ -25,7 +26,15 @@
"m438dll.h": "c",
"audio.h": "c",
"musyx.h": "c",
"math.h": "c"
"math.h": "c",
"m418dll.h": "c",
"ext_math.h": "c",
"mtx.h": "c",
"types.h": "c",
"corecrt_math.h": "c",
"corecrt.h": "c",
"vcruntime.h": "c",
"hsfmotion.h": "c"
},
"search.useIgnoreFiles": false,
"search.exclude": {

View file

@ -128,134 +128,134 @@ fn_1_D714 = .text:0x0000D714; // type:function size:0x4FC
fn_1_DC10 = .text:0x0000DC10; // type:function size:0x6C8
_ctors = .ctors:0x00000000; // type:label scope:global data:4byte
_dtors = .dtors:0x00000000; // type:label scope:global data:4byte
lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 data:float
lbl_1_rodata_14 = .rodata:0x00000014; // type:object size:0x4 data:float
lbl_1_rodata_18 = .rodata:0x00000018; // type:object size:0x4 data:float
lbl_1_rodata_1C = .rodata:0x0000001C; // type:object size:0x4 data:float
lbl_1_rodata_20 = .rodata:0x00000020; // type:object size:0xC data:4byte
lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0xC data:4byte
lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 data:float
lbl_1_rodata_3C = .rodata:0x0000003C; // type:object size:0x4 data:float
lbl_1_rodata_40 = .rodata:0x00000040; // type:object size:0x4 data:float
lbl_1_rodata_44 = .rodata:0x00000044; // type:object size:0x4 data:float
lbl_1_rodata_48 = .rodata:0x00000048; // type:object size:0x4 data:float
lbl_1_rodata_4C = .rodata:0x0000004C; // type:object size:0x4 data:float
lbl_1_rodata_50 = .rodata:0x00000050; // type:object size:0x4 data:float
lbl_1_rodata_54 = .rodata:0x00000054; // type:object size:0x4 data:float
lbl_1_rodata_58 = .rodata:0x00000058; // type:object size:0x4 data:float
lbl_1_rodata_5C = .rodata:0x0000005C; // type:object size:0x4 data:float
lbl_1_rodata_60 = .rodata:0x00000060; // type:object size:0xC data:4byte
lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0xC data:4byte
lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0xC data:4byte
lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 data:float
lbl_1_rodata_88 = .rodata:0x00000088; // type:object size:0x4 data:float
lbl_1_rodata_8C = .rodata:0x0000008C; // type:object size:0x4 data:float
lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 data:4byte
lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0xC data:4byte
lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 data:float
lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 data:float
lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 data:float
lbl_1_rodata_B0 = .rodata:0x000000B0; // type:object size:0x4 data:float
lbl_1_rodata_B4 = .rodata:0x000000B4; // type:object size:0x4 data:float
lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 data:double
lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x10 data:4byte
lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 data:float
lbl_1_rodata_D4 = .rodata:0x000000D4; // type:object size:0x4 data:float
lbl_1_rodata_D8 = .rodata:0x000000D8; // type:object size:0x4 data:float
lbl_1_rodata_DC = .rodata:0x000000DC; // type:object size:0x4 data:float
lbl_1_rodata_E0 = .rodata:0x000000E0; // type:object size:0x4 data:float
lbl_1_rodata_E4 = .rodata:0x000000E4; // type:object size:0x4 data:float
lbl_1_rodata_E8 = .rodata:0x000000E8; // type:object size:0x4 data:float
lbl_1_rodata_EC = .rodata:0x000000EC; // type:object size:0x4 data:float
lbl_1_rodata_F0 = .rodata:0x000000F0; // type:object size:0x4 data:float
lbl_1_rodata_F4 = .rodata:0x000000F4; // type:object size:0x4 data:float
lbl_1_rodata_F8 = .rodata:0x000000F8; // type:object size:0x10 data:4byte
lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x10 data:4byte
lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x10 data:4byte
lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 data:float
lbl_1_rodata_12C = .rodata:0x0000012C; // type:object size:0x4 data:float
lbl_1_rodata_130 = .rodata:0x00000130; // type:object size:0x4 data:float
lbl_1_rodata_134 = .rodata:0x00000134; // type:object size:0x4 data:float
lbl_1_rodata_138 = .rodata:0x00000138; // type:object size:0x8 data:double
lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 data:double
lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 data:double
lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 data:double
lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 data:double
lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 data:float
lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 data:float
lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 data:float
lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 data:float
lbl_1_rodata_170 = .rodata:0x00000170; // type:object size:0x4 data:float
lbl_1_rodata_174 = .rodata:0x00000174; // type:object size:0x4 data:float
lbl_1_rodata_178 = .rodata:0x00000178; // type:object size:0x4 data:float
lbl_1_rodata_17C = .rodata:0x0000017C; // type:object size:0x4 data:float
lbl_1_rodata_180 = .rodata:0x00000180; // type:object size:0x4 data:float
lbl_1_rodata_184 = .rodata:0x00000184; // type:object size:0x4 data:float
lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 data:float
lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 data:double
lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 data:float
lbl_1_rodata_19C = .rodata:0x0000019C; // type:object size:0x4 data:float
lbl_1_rodata_1A0 = .rodata:0x000001A0; // type:object size:0x4 data:float
lbl_1_rodata_1A4 = .rodata:0x000001A4; // type:object size:0x4 data:float
lbl_1_rodata_1A8 = .rodata:0x000001A8; // type:object size:0x4 data:float
lbl_1_rodata_1AC = .rodata:0x000001AC; // type:object size:0x4 data:float
lbl_1_rodata_1B0 = .rodata:0x000001B0; // type:object size:0x4 data:float
lbl_1_rodata_1B4 = .rodata:0x000001B4; // type:object size:0x4 data:float
lbl_1_rodata_1B8 = .rodata:0x000001B8; // type:object size:0x4 data:float
lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 data:double
lbl_1_rodata_1C8 = .rodata:0x000001C8; // type:object size:0x8 data:double
lbl_1_rodata_1D0 = .rodata:0x000001D0; // type:object size:0x4 data:float
lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 data:float
lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 data:double
lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 data:float
lbl_1_rodata_1E4 = .rodata:0x000001E4; // type:object size:0x4 data:float
lbl_1_rodata_1E8 = .rodata:0x000001E8; // type:object size:0x4 data:float
lbl_1_rodata_1EC = .rodata:0x000001EC; // type:object size:0x4 data:float
lbl_1_rodata_1F0 = .rodata:0x000001F0; // type:object size:0x4 data:float
lbl_1_rodata_1F4 = .rodata:0x000001F4; // type:object size:0x4 data:float
lbl_1_rodata_1F8 = .rodata:0x000001F8; // type:object size:0xC data:4byte
lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0xC data:4byte
lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0xC data:4byte
lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0xC data:4byte
lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 data:float
lbl_1_rodata_22C = .rodata:0x0000022C; // type:object size:0x4 data:float
lbl_1_rodata_230 = .rodata:0x00000230; // type:object size:0xC data:4byte
lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0xC data:4byte
lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 data:float
lbl_1_rodata_24C = .rodata:0x0000024C; // type:object size:0x4 data:float
lbl_1_rodata_250 = .rodata:0x00000250; // type:object size:0xC data:4byte
lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0xC data:4byte
lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0xC data:4byte
lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0xC data:4byte
lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 data:float
lbl_1_rodata_284 = .rodata:0x00000284; // type:object size:0x4 data:float
lbl_1_rodata_288 = .rodata:0x00000288; // type:object size:0xC data:4byte
lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0xC data:4byte
lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 data:float
lbl_1_rodata_2A4 = .rodata:0x000002A4; // type:object size:0x4 data:float
lbl_1_rodata_2A8 = .rodata:0x000002A8; // type:object size:0x4 data:float
lbl_1_rodata_2AC = .rodata:0x000002AC; // type:object size:0x4 data:float
lbl_1_rodata_2B0 = .rodata:0x000002B0; // type:object size:0x4 data:float
lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 data:float
lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 data:float
lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 data:float
lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0xC data:4byte
lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0xC data:4byte
lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 data:float
lbl_1_rodata_2DC = .rodata:0x000002DC; // type:object size:0x4 data:float
lbl_1_rodata_2E0 = .rodata:0x000002E0; // type:object size:0x4 data:float
lbl_1_rodata_2E4 = .rodata:0x000002E4; // type:object size:0x4 data:float
lbl_1_rodata_2E8 = .rodata:0x000002E8; // type:object size:0x8 data:float
lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 data:float
lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 data:double
lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 data:float
lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 data:double
lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 data:float
lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 data:double
lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 data:float
lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 data:double
lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x8 data:double
lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 data:double
lbl_1_rodata_10 = .rodata:0x00000010; // type:object size:0x4 scope:local 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 scope:local 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:0xC scope:local data:4byte
lbl_1_rodata_2C = .rodata:0x0000002C; // type:object size:0xC scope:local data:4byte
lbl_1_rodata_38 = .rodata:0x00000038; // type:object size:0x4 scope:local 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 scope:local 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 scope:local 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 scope:local 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 scope:local 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:0xC scope:local data:4byte
lbl_1_rodata_6C = .rodata:0x0000006C; // type:object size:0xC scope:local data:4byte
lbl_1_rodata_78 = .rodata:0x00000078; // type:object size:0xC scope:local data:4byte
lbl_1_rodata_84 = .rodata:0x00000084; // type:object size:0x4 scope:local 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 scope:local data:float
lbl_1_rodata_90 = .rodata:0x00000090; // type:object size:0x8 scope:local data:4byte
lbl_1_rodata_98 = .rodata:0x00000098; // type:object size:0xC scope:local data:4byte
lbl_1_rodata_A4 = .rodata:0x000000A4; // type:object size:0x4 scope:local data:float
lbl_1_rodata_A8 = .rodata:0x000000A8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_AC = .rodata:0x000000AC; // type:object size:0x4 scope:local 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 scope:local data:float
lbl_1_rodata_B8 = .rodata:0x000000B8; // type:object size:0x8 scope:local data:double
lbl_1_rodata_C0 = .rodata:0x000000C0; // type:object size:0x10 scope:local data:4byte
lbl_1_rodata_D0 = .rodata:0x000000D0; // type:object size:0x4 scope:local 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:0x4 scope:local 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 scope:local 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 scope:local 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 scope:local 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:0x10 scope:local data:4byte
lbl_1_rodata_108 = .rodata:0x00000108; // type:object size:0x10 scope:local data:4byte
lbl_1_rodata_118 = .rodata:0x00000118; // type:object size:0x10 scope:local data:4byte
lbl_1_rodata_128 = .rodata:0x00000128; // type:object size:0x4 scope:local 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 scope:local 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:0x8 scope:local data:double
lbl_1_rodata_140 = .rodata:0x00000140; // type:object size:0x8 scope:local data:double
lbl_1_rodata_148 = .rodata:0x00000148; // type:object size:0x8 scope:local data:double
lbl_1_rodata_150 = .rodata:0x00000150; // type:object size:0x8 scope:local data:double
lbl_1_rodata_158 = .rodata:0x00000158; // type:object size:0x8 scope:local data:double
lbl_1_rodata_160 = .rodata:0x00000160; // type:object size:0x4 scope:local data:float
lbl_1_rodata_164 = .rodata:0x00000164; // type:object size:0x4 scope:local data:float
lbl_1_rodata_168 = .rodata:0x00000168; // type:object size:0x4 scope:local data:float
lbl_1_rodata_16C = .rodata:0x0000016C; // type:object size:0x4 scope:local 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 scope:local 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 scope:local 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 scope:local data:float
lbl_1_rodata_188 = .rodata:0x00000188; // type:object size:0x4 scope:local data:float
lbl_1_rodata_190 = .rodata:0x00000190; // type:object size:0x8 scope:local data:double
lbl_1_rodata_198 = .rodata:0x00000198; // type:object size:0x4 scope:local 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 scope:local 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 scope:local 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 scope:local 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 scope:local data:float
lbl_1_rodata_1C0 = .rodata:0x000001C0; // type:object size:0x8 scope:local 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:0x4 scope:local data:float
lbl_1_rodata_1D4 = .rodata:0x000001D4; // type:object size:0x4 scope:local data:float
lbl_1_rodata_1D8 = .rodata:0x000001D8; // type:object size:0x8 scope:local data:double
lbl_1_rodata_1E0 = .rodata:0x000001E0; // type:object size:0x4 scope:local 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 scope:local 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 scope:local 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:0xC scope:local data:4byte
lbl_1_rodata_204 = .rodata:0x00000204; // type:object size:0xC scope:local data:4byte
lbl_1_rodata_210 = .rodata:0x00000210; // type:object size:0xC scope:local data:4byte
lbl_1_rodata_21C = .rodata:0x0000021C; // type:object size:0xC scope:local data:4byte
lbl_1_rodata_228 = .rodata:0x00000228; // type:object size:0x4 scope:local 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:0xC scope:local data:4byte
lbl_1_rodata_23C = .rodata:0x0000023C; // type:object size:0xC scope:local data:4byte
lbl_1_rodata_248 = .rodata:0x00000248; // type:object size:0x4 scope:local 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:0xC scope:local data:4byte
lbl_1_rodata_25C = .rodata:0x0000025C; // type:object size:0xC scope:local data:4byte
lbl_1_rodata_268 = .rodata:0x00000268; // type:object size:0xC scope:local data:4byte
lbl_1_rodata_274 = .rodata:0x00000274; // type:object size:0xC scope:local data:4byte
lbl_1_rodata_280 = .rodata:0x00000280; // type:object size:0x4 scope:local 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:0xC scope:local data:4byte
lbl_1_rodata_294 = .rodata:0x00000294; // type:object size:0xC scope:local data:4byte
lbl_1_rodata_2A0 = .rodata:0x000002A0; // type:object size:0x4 scope:local 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 scope:local 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 scope:local data:float
lbl_1_rodata_2B4 = .rodata:0x000002B4; // type:object size:0x4 scope:local data:float
lbl_1_rodata_2B8 = .rodata:0x000002B8; // type:object size:0x4 scope:local data:float
lbl_1_rodata_2BC = .rodata:0x000002BC; // type:object size:0x4 scope:local data:float
lbl_1_rodata_2C0 = .rodata:0x000002C0; // type:object size:0xC scope:local data:4byte
lbl_1_rodata_2CC = .rodata:0x000002CC; // type:object size:0xC scope:local data:4byte
lbl_1_rodata_2D8 = .rodata:0x000002D8; // type:object size:0x4 scope:local 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 scope:local 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:0x8 scope:local data:float
lbl_1_rodata_2F0 = .rodata:0x000002F0; // type:object size:0x4 scope:local data:float
lbl_1_rodata_2F8 = .rodata:0x000002F8; // type:object size:0x8 scope:local data:double
lbl_1_rodata_300 = .rodata:0x00000300; // type:object size:0x4 scope:local data:float
lbl_1_rodata_308 = .rodata:0x00000308; // type:object size:0x8 scope:local data:double
lbl_1_rodata_310 = .rodata:0x00000310; // type:object size:0x4 scope:local data:float
lbl_1_rodata_318 = .rodata:0x00000318; // type:object size:0x8 scope:local data:double
lbl_1_rodata_320 = .rodata:0x00000320; // type:object size:0x4 scope:local data:float
lbl_1_rodata_328 = .rodata:0x00000328; // type:object size:0x8 scope:local data:double
lbl_1_rodata_330 = .rodata:0x00000330; // type:object size:0x8 scope:local data:double
lbl_1_rodata_338 = .rodata:0x00000338; // type:object size:0x8 scope:local data:double
lbl_1_data_0 = .data:0x00000000; // type:object size:0x8 data:4byte
lbl_1_data_8 = .data:0x00000008; // type:object size:0x4 data:4byte
lbl_1_data_C = .data:0x0000000C; // type:object size:0x12 scope:local data:string

View file

@ -434,7 +434,7 @@ lbl_1_data_8C8 = .data:0x000008C8; // type:object size:0x9 data:string
lbl_1_data_8D1 = .data:0x000008D1; // type:object size:0x7 data:string
lbl_1_data_8D8 = .data:0x000008D8; // type:object size:0x60
lbl_1_data_938 = .data:0x00000938; // type:object size:0xB data:string
lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte
lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 scope:local data:4byte
lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte
lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte
lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x288

View file

@ -1001,7 +1001,7 @@ config.libs = [
"m418Dll", # Hide and Go BOOM!
objects={
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m418Dll/main.c"),
Object(NonMatching, "REL/m418Dll/sequence.c"),
Object(MatchingFor("GMPE01_00", "GMPE01_01"), "REL/m418Dll/sequence.c"),
},
),
Rel(

View file

@ -3,6 +3,10 @@
#include "dolphin.h"
#include "ext_math.h"
#include "game/hsfmotion.h"
#include "game/object.h"
typedef void (*M418DllFunc)(void);
typedef s32 (*M418DllRetFunc)(void);
typedef void (*M418DllInFunc)(s32);
@ -11,33 +15,36 @@ typedef s32 (*M418DllInRetFunc)(s32);
typedef struct M418DllUnkStruct {
M418DllFunc unk0;
Vec center;
char unk10[0xC];
Vec unk10; // sequence center
Vec rot;
char unk28[0xC];
Vec unk28; // sequence rot
f32 zoom;
char unk38[0x4];
f32 unk38; // sequence zoom
f32 unk3C[3];
f32 unk48;
} M418DllUnkStruct; // sizeof 0x4C
typedef struct M418DllUnkStruct7 {
char unk[0x10];
M418DllFunc unk10;
M418DllRetFunc unk14;
} M418DllUnkStruct7; // sizeof 0x18
typedef struct M418DllUnkStruct8 {
M418DllInFunc unk0;
M418DllInRetFunc unk4;
s32 unk8;
} M418DllUnkStruct8; // sizeof 0x24
typedef struct M418DllUnkStruct7 {
s32 unk0;
M418DllUnkStruct8* unk4;
s32 unk8;
s32 unkC;
M418DllFunc unk10;
M418DllRetFunc unk14;
} M418DllUnkStruct7; // sizeof 0x18
f32 fn_1_A920(f32, f32, f32);
f32 fn_1_A940(f32, f32, f32, f32);
f32 fn_1_AA30(f32, f32, f32, f32);
void fn_1_ABC4(omObjData*, s32, s32, s32, s32);
void fn_1_AD14(omObjData*, s32, s32, s32, s32);
void fn_1_AEDC(M418DllUnkStruct7*, M418DllUnkStruct8**);
void fn_1_AEDC(M418DllUnkStruct7*, M418DllUnkStruct8*);
s32 fn_1_AF38(M418DllUnkStruct7*);
s32 fn_1_B034(M418DllUnkStruct7*, s32);
s32 fn_1_B0C8(M418DllUnkStruct7*, s32);

View file

@ -2,9 +2,7 @@
#include "ext_math.h"
#include "game/chrman.h"
#include "game/hsfman.h"
#include "game/hsfmotion.h"
#include "game/minigame_seq.h"
#include "game/object.h"
#include "game/objsub.h"
#include "game/pad.h"
#include "game/wipe.h"
@ -1377,7 +1375,7 @@ M418DllUnkStruct8 lbl_1_data_294[3] = {
};
void fn_1_5D28(void) {
fn_1_AEDC(&lbl_1_bss_50, (M418DllUnkStruct8**)&lbl_1_data_294);
fn_1_AEDC(&lbl_1_bss_50, &lbl_1_data_294[0]);
}
s32 fn_1_5D58(void) {
@ -2155,7 +2153,7 @@ M418DllUnkStruct8 lbl_1_data_348[11] = {
};
void fn_1_8480(void) {
fn_1_AEDC(&lbl_1_bss_38, (M418DllUnkStruct8**)&lbl_1_data_348);
fn_1_AEDC(&lbl_1_bss_38, &lbl_1_data_348[0]);
}
s32 fn_1_84B0(void) {
@ -2527,7 +2525,7 @@ M418DllUnkStruct8 lbl_1_data_444[8] = {
};
void fn_1_9334(void) {
fn_1_AEDC(&lbl_1_bss_20, (M418DllUnkStruct8**)&lbl_1_data_444);
fn_1_AEDC(&lbl_1_bss_20, &lbl_1_data_444[0]);
}
s32 fn_1_9364(void) {

View file

@ -0,0 +1,252 @@
#include "REL/m418Dll.h"
f32 fn_1_A920(f32 arg0, f32 arg1, f32 arg2) {
return (arg1 + (arg0 * (arg2 - 1.0f))) / arg2;
}
f32 fn_1_A940(f32 arg0, f32 arg1, f32 arg2, f32 arg3) {
if (arg2 >= arg3) {
return arg1;
}
return arg0 + ((arg2 / arg3) * (arg1 - arg0));
}
f32 fn_1_A968(f32 arg8, f32 arg9, f32 argA, f32 argB) {
if (argA >= argB) {
return arg9;
}
return arg8 + (arg9 - arg8) * sind(((90.0f / argB) * argA));
}
f32 fn_1_AA30(f32 arg0, f32 arg1, f32 arg2, f32 arg3) {
if (arg2 >= arg3) {
return arg0;
}
return arg0 + (arg1 - arg0) * sind((180.0f / arg3) * arg2);
}
f32 fn_1_AAEC(f32 arg8, f32 arg9, f32 argA, f32 argB) {
if (argA >= argB) {
return arg9;
}
return (arg8 + (arg9 - arg8) * (1.0 - cosd((90.0f / argB) * argA)));
}
void fn_1_ABC4(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) {
if (arg4 == 1) {
Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0x40000001);
return;
}
if (arg4 == 2) {
Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0x40000002);
return;
}
Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0);
}
void fn_1_AD14(omObjData* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) {
if (arg0->work[3] != arg0->motion[arg2]) {
arg0->work[3] = arg0->motion[arg2];
if (arg4 == 1) {
Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0x40000001);
return;
}
if (arg4 == 2) {
Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0x40000002);
return;
}
Hu3DMotionShiftSet(arg0->model[arg1], arg0->motion[arg2], 0.0f, arg3, 0);
}
}
void fn_1_AE8C(M418DllUnkStruct7* arg0) {
arg0->unk8 = 0;
arg0->unkC = arg0->unk4[arg0->unk0].unk8;
arg0->unk10 = (M418DllFunc)arg0->unk4[arg0->unk0].unk0;
arg0->unk14 = (M418DllRetFunc)arg0->unk4[arg0->unk0].unk4;
}
void fn_1_AEDC(M418DllUnkStruct7* arg0, M418DllUnkStruct8* arg1) {
arg0->unk0 = 0;
arg0->unk4 = arg1;
fn_1_AE8C(arg0);
}
s32 fn_1_AF38(M418DllUnkStruct7* arg0) {
arg0->unk0++;
fn_1_AE8C(arg0);
if ((arg0->unk10 == NULL) && (arg0->unk14 == NULL)) {
return 1;
}
return 0;
}
s32 fn_1_AFC0(M418DllUnkStruct7* arg0) {
arg0->unk0--;
if (arg0->unk0 < 0) {
return 1;
}
fn_1_AE8C(arg0);
return 0;
}
s32 fn_1_B034(M418DllUnkStruct7* arg0, s32 arg1) {
arg0->unk0 = arg1;
if (arg0->unk0 < 0) {
return 1;
}
fn_1_AE8C(arg0);
if ((arg0->unk10 == NULL) && (arg0->unk14 == NULL)) {
return 1;
}
return 0;
}
s32 fn_1_B0C8(M418DllUnkStruct7* arg0, s32 arg1) {
if (arg1 == 0) {
return arg0->unk8;
}
arg0->unk8 += arg1;
if (arg0->unk8 >= arg0->unkC) {
return 1;
}
return 0;
}
void fn_1_B104(M418DllUnkStruct* arg0, Vec arg1, Vec arg2) {
f32 temp_f31;
f32 temp_f30;
f32 temp_f29;
f32 temp_f27;
temp_f31 = arg1.x - arg2.x;
temp_f29 = arg1.y - arg2.y;
temp_f30 = arg1.z - arg2.z;
arg0->unk10.x = arg2.x;
arg0->unk10.y = arg2.y;
arg0->unk10.z = arg2.z;
arg0->unk38 = sqrtf((temp_f30 * temp_f30) + ((temp_f31 * temp_f31) + (temp_f29 * temp_f29)));
temp_f27 = atan2d(temp_f30, temp_f31);
arg0->unk28.x = -atan2d(temp_f29, (temp_f31 * cosd(-temp_f27)) + (temp_f30 * -sind(-temp_f27)));
arg0->unk28.y = -(temp_f27 - 90.0f);
arg0->unk28.z = 0.0f;
}
void fn_1_B41C(M418DllUnkStruct* arg0) {
arg0->center.x = arg0->unk10.x;
arg0->center.y = arg0->unk10.y;
arg0->center.z = arg0->unk10.z;
arg0->rot.x = arg0->unk28.x;
arg0->rot.y = arg0->unk28.y;
arg0->rot.z = arg0->unk28.z;
arg0->zoom = arg0->unk38;
}
void fn_1_B458(M418DllUnkStruct* arg0) {
arg0->unk48 = 0.0f;
arg0->unk10.x = arg0->center.x;
arg0->unk10.y = arg0->center.y;
arg0->unk10.z = arg0->center.z;
arg0->unk28.x = arg0->rot.x;
arg0->unk28.y = arg0->rot.y;
arg0->unk28.z = arg0->rot.z;
arg0->unk38 = arg0->zoom;
}
void fn_1_B4A4(M418DllUnkStruct* arg0, M418DllUnkStruct* arg1, f32 arg8) {
arg0->center.x = fn_1_A920(arg0->center.x, arg1->unk10.x, arg8);
arg0->center.y = fn_1_A920(arg0->center.y, arg1->unk10.y, arg8);
arg0->center.z = fn_1_A920(arg0->center.z, arg1->unk10.z, arg8);
arg0->rot.x = fn_1_A920(arg0->rot.x, arg1->unk28.x, arg8);
arg0->rot.y = fn_1_A920(arg0->rot.y, arg1->unk28.y, arg8);
arg0->rot.z = fn_1_A920(arg0->rot.z, arg1->unk28.z, arg8);
arg0->zoom = fn_1_A920(arg0->zoom, arg1->unk38, arg8);
}
void fn_1_B710(M418DllUnkStruct* arg0, f32 arg1) {
arg0->center.x = fn_1_A920(arg0->center.x, arg0->unk10.x, arg1);
arg0->center.y = fn_1_A920(arg0->center.y, arg0->unk10.y, arg1);
arg0->center.z = fn_1_A920(arg0->center.z, arg0->unk10.z, arg1);
arg0->rot.x = fn_1_A920(arg0->rot.x, arg0->unk28.x, arg1);
arg0->rot.y = fn_1_A920(arg0->rot.y, arg0->unk28.y, arg1);
arg0->rot.z = fn_1_A920(arg0->rot.z, arg0->unk28.z, arg1);
arg0->zoom = fn_1_A920(arg0->zoom, arg0->unk38, arg1);
}
void fn_1_B97C(M418DllUnkStruct* arg0, M418DllUnkStruct* arg1, f32 arg8, f32 arg9) {
arg1->unk10.x = fn_1_A940(arg0->unk10.x, arg1->center.x, arg8, arg9);
arg1->unk10.y = fn_1_A940(arg0->unk10.y, arg1->center.y, arg8, arg9);
arg1->unk10.z = fn_1_A940(arg0->unk10.z, arg1->center.z, arg8, arg9);
arg1->unk28.x = fn_1_A940(arg0->unk28.x, arg1->rot.x, arg8, arg9);
arg1->unk28.y = fn_1_A940(arg0->unk28.y, arg1->rot.y, arg8, arg9);
arg1->unk28.z = fn_1_A940(arg0->unk28.z, arg1->rot.z, arg8, arg9);
arg1->unk38 = fn_1_A940(arg0->unk38, arg1->zoom, arg8, arg9);
}
void fn_1_BBF8(M418DllUnkStruct* arg0, M418DllUnkStruct* arg1, f32 arg8, f32 arg9) {
fn_1_B97C(arg0, arg1, arg8, arg9);
arg0->center.x = arg1->unk10.x;
arg0->center.y = arg1->unk10.y;
arg0->center.z = arg1->unk10.z;
arg0->rot.x = arg1->unk28.x;
arg0->rot.y = arg1->unk28.y;
arg0->rot.z = arg1->unk28.z;
arg0->zoom = arg1->unk38;
}
void fn_1_BEAC(M418DllUnkStruct* arg0, M418DllUnkStruct* arg1, f32 arg2, f32 arg3, f32 arg4) {
fn_1_B97C(arg0, arg1, arg2, arg3);
fn_1_B4A4(arg0, arg1, arg4);
}
void fn_1_C318(M418DllUnkStruct* arg0, M418DllUnkStruct* arg1, f32 arg8, f32 arg9) {
arg1->unk10.x = fn_1_A968(arg0->unk10.x, arg1->center.x, arg8, arg9);
arg1->unk10.y = fn_1_A968(arg0->unk10.y, arg1->center.y, arg8, arg9);
arg1->unk10.z = fn_1_A968(arg0->unk10.z, arg1->center.z, arg8, arg9);
arg1->unk28.x = fn_1_A968(arg0->unk28.x, arg1->rot.x, arg8, arg9);
arg1->unk28.y = fn_1_A968(arg0->unk28.y, arg1->rot.y, arg8, arg9);
arg1->unk28.z = fn_1_A968(arg0->unk28.z, arg1->rot.z, arg8, arg9);
arg1->unk38 = fn_1_A968(arg0->unk38, arg1->zoom, arg8, arg9);
}
void fn_1_C76C(M418DllUnkStruct* arg0, M418DllUnkStruct* arg1, f32 arg8, f32 arg9) {
fn_1_C318(arg0, arg1, arg8, arg9);
arg0->center.x = arg1->unk10.x;
arg0->center.y = arg1->unk10.y;
arg0->center.z = arg1->unk10.z;
arg0->rot.x = arg1->unk28.x;
arg0->rot.y = arg1->unk28.y;
arg0->rot.z = arg1->unk28.z;
arg0->zoom = arg1->unk38;
}
void fn_1_CBF8(M418DllUnkStruct* arg0, M418DllUnkStruct* arg1, f32 arg2, f32 arg3, f32 arg4) {
fn_1_C318(arg0, arg1, arg2, arg3);
fn_1_B4A4(arg0, arg1, arg4);
}
void fn_1_D250(M418DllUnkStruct* arg0, M418DllUnkStruct* arg1, f32 arg8, f32 arg9) {
arg1->unk10.x = fn_1_AAEC(arg0->unk10.x, arg1->center.x, arg8, arg9);
arg1->unk10.y = fn_1_AAEC(arg0->unk10.y, arg1->center.y, arg8, arg9);
arg1->unk10.z = fn_1_AAEC(arg0->unk10.z, arg1->center.z, arg8, arg9);
arg1->unk28.x = fn_1_AAEC(arg0->unk28.x, arg1->rot.x, arg8, arg9);
arg1->unk28.y = fn_1_AAEC(arg0->unk28.y, arg1->rot.y, arg8, arg9);
arg1->unk28.z = fn_1_AAEC(arg0->unk28.z, arg1->rot.z, arg8, arg9);
arg1->unk38 = fn_1_AAEC(arg0->unk38, arg1->zoom, arg8, arg9);
}
void fn_1_D714(M418DllUnkStruct* arg0, M418DllUnkStruct* arg1, f32 arg8, f32 arg9) {
fn_1_D250(arg0, arg1, arg8, arg9);
arg0->center.x = arg1->unk10.x;
arg0->center.y = arg1->unk10.y;
arg0->center.z = arg1->unk10.z;
arg0->rot.x = arg1->unk28.x;
arg0->rot.y = arg1->unk28.y;
arg0->rot.z = arg1->unk28.z;
arg0->zoom = arg1->unk38;
}
void fn_1_DC10(M418DllUnkStruct* arg0, M418DllUnkStruct* arg1, f32 arg2, f32 arg3, f32 arg4) {
fn_1_D250(arg0, arg1, arg2, arg3);
fn_1_B4A4(arg0, arg1, arg4);
}