From a34f38d2bdab9b3582380de44f1f845149e6edf8 Mon Sep 17 00:00:00 2001 From: CreateSource Date: Tue, 26 Nov 2024 10:22:31 -0500 Subject: [PATCH] start work on m438 --- .vscode/settings.json | 3 +- config/GMPE01_00/rels/m438Dll/symbols.txt | 2 +- src/REL/m438Dll/main.c | 425 +++++++++++++++++----- 3 files changed, 328 insertions(+), 102 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 0e3a6ba5..7c43f1a7 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -21,7 +21,8 @@ ".clangd": "yaml", "m443dll.h": "c", "object.h": "c", - "executor.h": "c" + "executor.h": "c", + "m438dll.h": "c" }, "search.useIgnoreFiles": false, "search.exclude": { diff --git a/config/GMPE01_00/rels/m438Dll/symbols.txt b/config/GMPE01_00/rels/m438Dll/symbols.txt index dfbd3109..42b61291 100644 --- a/config/GMPE01_00/rels/m438Dll/symbols.txt +++ b/config/GMPE01_00/rels/m438Dll/symbols.txt @@ -383,7 +383,7 @@ lbl_1_data_28 = .data:0x00000028; // type:object size:0xC lbl_1_data_34 = .data:0x00000034; // type:object size:0xC lbl_1_data_40 = .data:0x00000040; // type:object size:0x23 data:string lbl_1_data_64 = .data:0x00000064; // type:object size:0x4 data:4byte -lbl_1_data_68 = .data:0x00000068; // type:object size:0x420 +lbl_1_data_68 = .data:0x00000068; // type:object size:0x420 data:float lbl_1_data_488 = .data:0x00000488; // type:object size:0x2C lbl_1_data_4B4 = .data:0x000004B4; // type:object size:0x30 jumptable_1_data_4E4 = .data:0x000004E4; // type:object size:0x2C scope:local diff --git a/src/REL/m438Dll/main.c b/src/REL/m438Dll/main.c index 26583249..64c73098 100644 --- a/src/REL/m438Dll/main.c +++ b/src/REL/m438Dll/main.c @@ -230,106 +230,6 @@ Vec lbl_1_data_1C = { 500.0f, 3000.0f, 500.0f }; Vec lbl_1_data_28 = { 0.0f, 1.0f, 0.0f }; Vec lbl_1_data_34 = { 0.0f, 0.0f, 0.0f }; -s32 lbl_1_data_64 = -1; -Vec lbl_1_data_68[10][8]; // TODO not right -s32 lbl_1_data_488[0xB] = { 0, 2, 3, 8, 0xA, 9, 0x13, 0xD, 0x10, 0x17, 0x18 }; - -Vec lbl_1_data_4B4[4] = { - { -400.0f, 1600.0f, -400.0f }, - { 400.0f, 1600.0f, -400.0f }, - { -400.0f, 1600.0f, 400.0f }, - { 400.0f, 1600.0f, 400.0f }, -}; - -Vec lbl_1_data_514 = { -850.0f, 0.0f, -850.0f }; - -s32 lbl_1_data_520[0x19] = { - 0xFFFFFF9E, - 0xFFFFFF9F, - 0xFFFFFFA0, - 0xFFFFFFA1, - 0xFFFFFFA2, - 0xFFFFFFCE, - 0xFFFFFFCF, - 0xFFFFFFD0, - 0xFFFFFFD1, - 0xFFFFFFD2, - 0xFFFFFFFE, - 0xFFFFFFFF, - 0, - 1, - 2, - 0x2E, - 0x2F, - 0x30, - 0x31, - 0x32, - 0x5E, - 0x5F, - 0x60, - 0x61, - 0x62, -}; - -u32 lbl_1_data_584[0x19] = { - 0x50, - 0x64, - 0x78, - 0x64, - 0x50, - 0x64, - 0x8C, - 0xA0, - 0x8C, - 0x64, - 0x78, - 0xA0, - 0xB4, - 0xA0, - 0x78, - 0x64, - 0x8C, - 0xA0, - 0x8C, - 0x64, - 0x50, - 0x64, - 0x78, - 0x64, - 0x50, -}; - -s32 lbl_1_data_5E8[9] = { 0, 0xFFFFFFCF, 0xFFFFFFD0, 0xFFFFFFD1, 0xFFFFFFFF, 1, 0x2F, 0x30, 0x31 }; - -Vec lbl_1_data_60C[9] = { - { 0.0f, 0.0f, 0.0f }, - { -35.416668f, 0.0f, -35.416668f }, - { 0.0f, 0.0f, -35.416668f }, - { 35.416668f, 0.0f, -35.416668f }, - { -35.416668f, 0.0f, 0.0f }, - { 35.416668f, 0.0f, 0.0f }, - { -35.416668f, 0.0f, 35.416668f }, - { 0.0f, 0.0f, 35.416668f }, - { 35.416668f, 0.0f, 35.416668f }, -}; - -s32 lbl_1_data_678[9] = { 0, 0xFFFFFF9E, 0xFFFFFF70, 0xFFFFFFA2, 0xFFFFFFFD, 3, 0x5E, 0x90, 0x62 }; - -Vec lbl_1_data_69C[9] = { - { 0.0f, 0.0f, 0.0f }, - { -70.833336f, 0.0f, -70.833336f }, - { 0.0f, 0.0f, -106.25f }, - { 70.833336f, 0.0f, -70.833336f }, - { -106.25f, 0.0f, 0.0f }, - { 106.25f, 0.0f, 0.0f }, - { -70.833336f, 0.0f, 70.833336f }, - { 0.0f, 0.0f, 106.25f }, - { 70.833336f, 0.0f, 70.833336f }, -}; - -s32 lbl_1_data_708[9] = { 0, 0xFFFFFFED, 0xFFFFFFEE, 0xFFFFFFEF, 0xFFFFFFFF, 1, 0x11, 0x12, 0x13 }; -s32 lbl_1_data_72C[9] = { 0, 0xFFFFFFDA, 0xFFFFFFCA, 0xFFFFFFDE, 0xFFFFFFFD, 3, 0x22, 0x36, 0x26 }; - M438StructBssDE4 lbl_1_bss_DE4; omObjData *lbl_1_bss_DE0; omObjData *lbl_1_bss_DDC; @@ -482,6 +382,7 @@ void fn_1_4FC(omObjData *object) } } +s32 lbl_1_data_64 = -1; void fn_1_974(omObjData *object) { s32 var_r31; @@ -648,6 +549,254 @@ void fn_1_1174(omObjData *object) } } +Vec lbl_1_data_68[11][8] = { + { + { -528.6f, 0.0f, 350.7f }, + { -375.7f, 0.0f, 243.0f }, + { -214.2f, 0.0f, 331.4f }, + { -173.3f, 0.0f, 523.7f }, + { 15.000001f, 0.0f, 505.7f }, + { 148.59999f, 0.0f, 393.0f }, + { 0.0f, 1.0f, 0.0f }, + { 0.0f, 0.0f, 0.0f }, + }, + { + { -198.7f, 0.0f, -122.899994f }, + { -11.599999f, 0.0f, -177.1f } + } +// 63.4, 0, -349.7 +// 277.09998 +// 0 +// -296.4 +// 397.5 +// 0 +// -470.2 +// 0 +// 1 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// -421 +// 0 +// -471.3 +// -270.1 +// 0 +// -460 +// -153.1 +// 0 +// -356.5 +// 12.4 +// 0 +// -473.99997 +// 0 +// 1 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// -545.10004 +// 0 +// -318.9 +// -469 +// 0 +// -154.1 +// -313.4 +// 0 +// -170.09999 +// -250 +// 0 +// -32.8 +// 0 +// 1 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// -155.6 +// 0 +// 19.5 +// -34.3 +// 0 +// 96.6 +// -63.9 +// 0 +// 240.00002 +// 37.5 +// 0 +// 402.8 +// 0 +// 1 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 207.5 +// 0 +// -163.2 +// 270.1 +// 0 +// -104.799995 +// 402.19998 +// 0 +// -102.4 +// 511.49997 +// 0 +// -25.099998 +// 627.3 +// 0 +// -142 +// 0 +// 1 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// -601 +// 0 +// 97.799995 +// -516.80005 +// 0 +// 60.000004 +// -417.7 +// 0 +// 92.9 +// -309.40002 +// 0 +// 76.1 +// 0 +// 1 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 82.8 +// 0 +// 164.2 +// 179.40001 +// 0 +// 179.8 +// 241.00002 +// 0 +// 87.1 +// 323 +// 0 +// 38.800003 +// 0 +// 1 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 243.4 +// 0 +// 573.5 +// 227.7 +// 0 +// 461.2 +// 319.30002 +// 0 +// 400.6 +// 342.30002 +// 0 +// 310 +// 0 +// 1 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 357.69998 +// 0 +// 146.8 +// 418.80002 +// 0 +// 225 +// 503.2 +// 0 +// 234.69998 +// 548.1 +// 0 +// 321.19998 +// 0 +// 1 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// -100 +// 0 +// 0 +// 0 +// 0 +// -100 +// 100 +// 0 +// 0 +// 0 +// 1 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +// 0 +}; void fn_1_1204(omObjData *object) { M438StructBss298 *var_r31; @@ -1078,6 +1227,13 @@ void fn_1_28E4(u8 arg0, u16 arg1, float arg9, float argA, float arg4) var_r31->unk_164[arg0] = 90.0f; } +s32 lbl_1_data_488[11] = { 0, 2, 3, 8, 0xA, 9, 0x13, 0xD, 0x10, 0x17, 0x18 }; +Vec lbl_1_data_4B4[4] = { + { -400.0f, 1600.0f, -400.0f }, + { 400.0f, 1600.0f, -400.0f }, + { -400.0f, 1600.0f, 400.0f }, + { 400.0f, 1600.0f, 400.0f }, +}; void fn_1_2964(omObjData *object) { M438MainWork *var_r31; @@ -3349,6 +3505,43 @@ void fn_1_A60C(omObjData *object) void fn_1_A688(omObjData *object) { } +Vec lbl_1_data_514 = { -850.0f, 0.0f, -850.0f }; +s32 lbl_1_data_520[25] = { + -98, -97, -96, -95, -94, + -50, -49, -48, -47, -46, + -2, -1, 0, 1, 2, + 0x2E, 0x2F, 0x30, 0x31, 0x32, + 0x5E, 0x5F, 0x60, 0x61, 0x62, +}; + +u32 lbl_1_data_584[25] = { + 0x50, + 0x64, + 0x78, + 0x64, + 0x50, + 0x64, + 0x8C, + 0xA0, + 0x8C, + 0x64, + 0x78, + 0xA0, + 0xB4, + 0xA0, + 0x78, + 0x64, + 0x8C, + 0xA0, + 0x8C, + 0x64, + 0x50, + 0x64, + 0x78, + 0x64, + 0x50, +}; + // void fn_1_A68C(ModelData *model, Mtx matrix) // { // Vec sp14; @@ -3502,6 +3695,38 @@ void fn_1_A688(omObjData *object) { } // return var_r30; // } +s32 lbl_1_data_5E8[9] = { 0, -49, -48, -47, -1, 1, 0x2F, 0x30, 0x31 }; + +Vec lbl_1_data_60C[9] = { + { 0.0f, 0.0f, 0.0f }, + { -35.416668f, 0.0f, -35.416668f }, + { 0.0f, 0.0f, -35.416668f }, + { 35.416668f, 0.0f, -35.416668f }, + { -35.416668f, 0.0f, 0.0f }, + { 35.416668f, 0.0f, 0.0f }, + { -35.416668f, 0.0f, 35.416668f }, + { 0.0f, 0.0f, 35.416668f }, + { 35.416668f, 0.0f, 35.416668f }, +}; + +s32 lbl_1_data_678[9] = { 0, -98, -144, -94, -3, 3, 0x5E, 0x90, 0x62 }; + +Vec lbl_1_data_69C[9] = { + { 0.0f, 0.0f, 0.0f }, + { -70.833336f, 0.0f, -70.833336f }, + { 0.0f, 0.0f, -106.25f }, + { 70.833336f, 0.0f, -70.833336f }, + { -106.25f, 0.0f, 0.0f }, + { 106.25f, 0.0f, 0.0f }, + { -70.833336f, 0.0f, 70.833336f }, + { 0.0f, 0.0f, 106.25f }, + { 70.833336f, 0.0f, 70.833336f }, +}; + +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 fn_1_AE18(u32 arg0, Vec *arg1, Vec *arg2) // { // Vec sp4C;