From 1bb83aabdd819e9ab746b440b65e7cf762491f06 Mon Sep 17 00:00:00 2001 From: David Benepe Date: Sun, 13 Feb 2022 09:14:04 -0500 Subject: [PATCH] Renamed members of some structs --- include/structs.h | 47 +++++++++++++++++++-------------- src/unknown_00BC20.c | 32 +++++++++++----------- src/unknown_0255E0.c | 6 ++--- src/unknown_032760.c | 8 +++--- src/unknown_0348C0.c | 63 ++++++++++++++++++++++---------------------- 5 files changed, 81 insertions(+), 75 deletions(-) diff --git a/include/structs.h b/include/structs.h index 02d1f170..0fe8d71b 100644 --- a/include/structs.h +++ b/include/structs.h @@ -463,25 +463,32 @@ typedef struct Object_3C { u8 unkD; } Object_3C; +#define OBJECT_MODEL_TYPE_3D_MODEL 0 +#define OBJECT_MODEL_TYPE_SPRITE_BILLBOARD 1 +#define OBJECT_MODEL_TYPE_VEHICLE_PART 2 +#define OBJECT_MODEL_TYPE_UNKNOWN4 4 + typedef struct ObjectHeader { - u8 pad0[0x4]; - f32 unk4; - f32 unk8; - f32 unkC; - u8 pad10[0x20]; - u16 unk30; - s16 unk32; - u8 pad34[0x9]; - u8 unk3D; - u8 pad3E[0x15]; - s8 unk53; - s8 unk54; - s8 unk55; // size of array pointed by Object->unk68 - u8 pad56; - s8 unk57; - u8 pad58[0x18]; - u8 unk70; - u8 unk71; + u8 pad0[0x4]; + /* 0x04 */ f32 unk4; + /* 0x08 */ f32 unk8; + /* 0x0C */ f32 scale; + u8 pad10[0x20]; + /* 0x30 */ u16 unk30; + /* 0x32 */ s16 unk32; + u8 pad34[0x9]; + /* 0x3D */ u8 unk3D; + u8 pad3E[0x15]; + /* 0x53 */ s8 modelType; + /* 0x54 */ s8 behaviorId; + /* 0x55 */ s8 numberOfModelIds; // size of array pointed by Object->unk68 + u8 pad56; + /* 0x57 */ s8 unk57; + u8 pad58[0x8]; + /* 0x60 */ char internalName[16]; + /* 0x70 */ u8 unk70; + /* 0x71 */ u8 unk71; + u8 pad72[0x6]; } ObjectHeader; typedef struct Object_44_0 { @@ -678,9 +685,9 @@ typedef struct Object { /* 0x003C */ f32 unk3C_f; } unk3C_a; - /* 0x0040 */ ObjectHeader *descriptor_ptr; + /* 0x0040 */ ObjectHeader *header; /* 0x0044 */ void *unk44; - /* 0x0048 */ s16 unk48; + /* 0x0048 */ s16 behaviorId; /* 0x004A */ s16 unk4A; /* 0x004C */ Object_4C *unk4C; //player + 0x318 /* 0x0050 */ Object_50 *unk50; //player + 0x2F4 diff --git a/src/unknown_00BC20.c b/src/unknown_00BC20.c index ce785a40..b5231cab 100644 --- a/src/unknown_00BC20.c +++ b/src/unknown_00BC20.c @@ -841,7 +841,7 @@ extern f32 D_800E5550; void func_80011AD0(Object *this) { f32 tmp_f0; u32 offset; - switch (this->unk48) { + switch (this->behaviorId) { case 47: //L80011B10 if (this->unk7C.word < 0) @@ -941,7 +941,7 @@ void func_80012E28(Object *this) { f32 sp_1c; f32 tmp_f0; - if (this->unk48 == 1) { + if (this->behaviorId == 1) { sp_20 = this->unk64; this->y_rotation += sp_20->unk160; @@ -968,7 +968,7 @@ void func_80012E28(Object *this) { #endif void func_80012F30(Object *arg0) { - if (arg0->unk48 == 1) { + if (arg0->behaviorId == 1) { Object_64 *object_64 = arg0->unk64; arg0->y_rotation -= object_64->unk160; arg0->x_rotation -= object_64->unk162; @@ -984,18 +984,18 @@ void render_object(Object *this) { if (this->unk6 & 0x8000) { func_800B3740(this, &D_8011AE8C, &D_8011AE90, &D_8011AE94, 32768); } else { - if (this->descriptor_ptr->unk53 == 0) + if (this->header->modelType == OBJECT_MODEL_TYPE_3D_MODEL) render_3d_model(this); - else if (this->descriptor_ptr->unk53 == 1) + else if (this->header->modelType == OBJECT_MODEL_TYPE_SPRITE_BILLBOARD) render_3d_billboard(this); - else if (this->descriptor_ptr->unk53 == 4) + else if (this->header->modelType == OBJECT_MODEL_TYPE_UNKNOWN4) func_80011AD0(this); } func_80013548(this); } void func_80013548(Object *arg0) { - if ((arg0->unk6 & 0x8000) == 0 && arg0->descriptor_ptr->unk54 == 1) { + if ((arg0->unk6 & 0x8000) == 0 && arg0->header->behaviorId == 1) { arg0->x_position -= arg0->unk64->unk78; arg0->y_position -= arg0->unk64->unk7C; arg0->z_position -= arg0->unk64->unk80; @@ -1016,8 +1016,8 @@ void func_800142B8(void) { for (; i < objCount; i++) { currObj = gObjPtrList[i]; - if ((currObj->unk6 & 0x8000) == 0 && currObj->descriptor_ptr->unk53 == 0) { - for (j = 0; j < currObj->descriptor_ptr->unk55; j++) { + if ((currObj->unk6 & 0x8000) == 0 && currObj->header->modelType == OBJECT_MODEL_TYPE_3D_MODEL) { + for (j = 0; j < currObj->header->numberOfModelIds; j++) { curr_68 = currObj->unk68[j]; if (curr_68 != NULL && curr_68->unk20 > 0) { curr_68->unk20 = curr_68->unk20-- & 0x03; @@ -1074,7 +1074,7 @@ Object *func_80018C6C(void) { Object *current_obj; for (i = D_8011AE60; i < objCount; i++) { current_obj = gObjPtrList[i]; - if (!(current_obj->unk6 & 0x8000) && (current_obj->unk48 == 62)) + if (!(current_obj->unk6 & 0x8000) && (current_obj->behaviorId == 62)) return current_obj; } return NULL; @@ -1271,7 +1271,7 @@ void calc_dyn_light_and_env_map_for_object(ObjectModel *model, Object *object, s if (dynamicLightingEnabled) { // Calculates dynamic lighting for the object - if (object->descriptor_ptr->unk71 != 0) { + if (object->header->unk71 != 0) { // Dynamic lighting for some objects? (Intro diddy, Taj, T.T., Bosses) calc_dynamic_lighting_for_object_1(object, model, arg2, object, arg3, 1.0f); } else { @@ -1329,7 +1329,7 @@ void func_8001E36C(s32 arg0, f32 *arg1, f32 *arg2, f32 *arg3) { if (current_obj != NULL && (current_obj->unk6 & 0x8000) == 0 - && current_obj->unk48 == 39 + && current_obj->behaviorId == 39 && current_obj->unk78 == arg0) { *arg1 = current_obj->x_position; *arg2 = current_obj->y_position; @@ -1474,7 +1474,7 @@ Object *func_8002342C(f32 x, f32 z) { for (i = 0; i < objCount; i++) { currObj = gObjPtrList[i]; - if ((currObj->unk6 & 0x8000) == 0 && currObj->unk48 == 87) { + if ((currObj->unk6 & 0x8000) == 0 && currObj->behaviorId == 87) { x = currObj->x_position - x; z = currObj->z_position - z; dist = sqrtf(x * x + z * z); @@ -1509,8 +1509,8 @@ void func_800235D0(s32 arg0) { GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_800235DC.s") void run_object_init_func(Object *arg0, void *arg1) { - arg0->unk48 = arg0->descriptor_ptr->unk54; - switch (arg0->unk48 - 1) { + arg0->behaviorId = arg0->header->behaviorId; + switch (arg0->behaviorId - 1) { // Why the minus 1? case 0: obj_init_racer(arg0, arg1); break; @@ -1903,7 +1903,7 @@ s32 func_80023E30(s32 arg0){ void run_object_loop_func(Object *obj, s32 arg1) { func_800B76B8(1, obj->unk4A); - switch (obj->unk48) { + switch (obj->behaviorId) { case 2: obj_loop_scenery(obj, arg1); break; diff --git a/src/unknown_0255E0.c b/src/unknown_0255E0.c index befe1621..db58d7f3 100644 --- a/src/unknown_0255E0.c +++ b/src/unknown_0255E0.c @@ -411,7 +411,7 @@ void render_level_geometry_and_objects(void) { render_floor_decal(obj, obj->unk50); } func_80012D5C(&D_8011B0A0, &D_8011B0A4, &D_8011B0A8, obj); - if ((obj->unk58 != NULL) && (obj->descriptor_ptr->unk30 & 0x10)) { + if ((obj->unk58 != NULL) && (obj->header->unk30 & 0x10)) { func_8002D670(obj, obj->unk58); } } @@ -435,7 +435,7 @@ void render_level_geometry_and_objects(void) { render_floor_decal(obj, obj->unk50); } func_80012D5C(&D_8011B0A0, &D_8011B0A4, &D_8011B0A8, obj); - if ((obj->unk58 != NULL) && (obj->descriptor_ptr->unk30 & 0x10)) { + if ((obj->unk58 != NULL) && (obj->header->unk30 & 0x10)) { func_8002D670(obj, obj->unk58); } } @@ -484,7 +484,7 @@ void render_level_geometry_and_objects(void) { } // This is being called when it shouldn't. func_80012D5C(&D_8011B0A0, &D_8011B0A4, &D_8011B0A8, obj); - if ((obj->unk58 != 0) && (obj->descriptor_ptr->unk30 & 0x10)) { + if ((obj->unk58 != 0) && (obj->header->unk30 & 0x10)) { func_8002D670(obj, obj->unk58); } } diff --git a/src/unknown_032760.c b/src/unknown_032760.c index a6559663..0fe20b8b 100644 --- a/src/unknown_032760.c +++ b/src/unknown_032760.c @@ -149,8 +149,8 @@ void func_80032C7C(Object *object) { s16 phi_a0, phi_a1; unk800DC950 *entry; - if (object->descriptor_ptr->unk3D == 0) { - switch (object->descriptor_ptr->unk53) { // Model type + if (object->header->unk3D == 0) { + switch (object->header->unk53) { // Model type case 0: // 3D Model sp64 = 2; break; @@ -199,7 +199,7 @@ void func_80032C7C(Object *object) { if (f20 > 0.0f) { f20 *= func_80033A14(entry); if (f20 > 0.0f) { - if (object->descriptor_ptr->unk71 != 0) { + if (object->header->unk71 != 0) { if (D_8011D4C0 > 0.0f) { temp = 1.0f / sqrtf(D_8011D4C0); D_8011D4C4 *= temp; @@ -227,7 +227,7 @@ void func_80032C7C(Object *object) { } } - if (object->descriptor_ptr->unk71 != 0) { + if (object->header->unk71 != 0) { if (D_800DC968 == 0) { object->unk54->unk7 = 0; object->unk54->unk11 = 0; diff --git a/src/unknown_0348C0.c b/src/unknown_0348C0.c index 9623e996..4b84e507 100644 --- a/src/unknown_0348C0.c +++ b/src/unknown_0348C0.c @@ -151,8 +151,8 @@ void obj_init_scenery(Object *arg0, LevelObjectEntry80033CC0 *arg1) { phi_f0 = 10; } phi_f0 /= 64; - arg0->scale = arg0->descriptor_ptr->unkC * phi_f0; - ((Object_50_80033CC0 *)arg0->unk50)->unk0 = arg0->descriptor_ptr->unk4 * phi_f0; + arg0->scale = arg0->header->scale * phi_f0; + ((Object_50_80033CC0 *)arg0->unk50)->unk0 = arg0->header->unk4 * phi_f0; arg0->unk3A = arg1->unk8; arg0->y_rotation = arg1->unkA << 6 << 4; if (arg1->unkB) { @@ -164,7 +164,7 @@ void obj_init_scenery(Object *arg0, LevelObjectEntry80033CC0 *arg1) { arg0->unk4C->unk16 = -5; arg0->unk4C->unk17 = arg1->unkB; } - if (arg0->unk3A >= arg0->descriptor_ptr->unk55) { + if (arg0->unk3A >= arg0->header->numberOfModelIds) { arg0->unk3A = 0; } arg0->unk78 = 0; @@ -189,11 +189,11 @@ void obj_loop_scenery(Object *obj, s32 arg1) { obj78->unk6 = 1820; obj78->unk4 = 10; if (get_number_of_active_players() < 2) { - if (obj->descriptor_ptr->unk57 > 0) { - if (obj->descriptor_ptr->unk57 == 1) { + if (obj->header->unk57 > 0) { + if (obj->header->unk57 == 1) { temp_v0 = 0; } else { - temp_v0 = get_random_number_from_range(0, obj->descriptor_ptr->unk57 - 1); + temp_v0 = get_random_number_from_range(0, obj->header->unk57 - 1); } obj->unk74 = 1 << temp_v0; func_800AFC3C(obj, 2); @@ -259,7 +259,7 @@ void obj_loop_fireball_octoweapon(Object *obj, s32 arg1) { sp7C *= 1.2; } - if ((obj->unk48 == 116) && (obj->unk7C.word < 0)) { + if ((obj->behaviorId == 116) && (obj->unk7C.word < 0)) { obj->x_position = 0.0f; obj->y_position = 0.0f; obj->z_position = 0.0f; @@ -303,10 +303,10 @@ void obj_loop_fireball_octoweapon(Object *obj, s32 arg1) { obj64 = obj->unk64; obj4C = obj->unk4C; obj4C_obj = (Object*)obj4C->unk0; // This should be a0, not v1! - if ((obj4C_obj != NULL) && (obj4C->unk13 < 60) && (obj4C_obj->descriptor_ptr->unk54 == 1)) { + if ((obj4C_obj != NULL) && (obj4C->unk13 < 60) && (obj4C_obj->header->behaviorId == 1)) { obj4C_obj64 = obj4C_obj->unk64; if (obj4C_obj64->unk0 != -1) { - if (obj->unk48 == 108) { + if (obj->behaviorId == 108) { obj4C_obj64->unk187 = 1; obj->unk7C.word = 20; func_8003FC44(obj->x_position, obj->y_position, obj->z_position, 44, 17, 1.0f, 1); @@ -319,7 +319,7 @@ void obj_loop_fireball_octoweapon(Object *obj, s32 arg1) { } } } - if (obj->unk48 == 108) { + if (obj->behaviorId == 108) { obj->unk74 = 1; func_800AFC3C(obj, arg1); obj->unk7C.word -= arg1; @@ -445,7 +445,7 @@ void obj_loop_laserbolt(Object *obj, s32 arg1) { if (obj->unk4C->unk13 < 80) { obj4C_obj = (Object*)obj->unk4C->unk0; - if (obj4C_obj && (obj4C_obj->unk48 == 1)) { + if (obj4C_obj && (obj4C_obj->behaviorId == 1)) { obj4C_obj64 = obj4C_obj->unk64; sp4F = TRUE; if (obj4C_obj64->unk0 != -1) { @@ -470,7 +470,7 @@ void obj_init_torch_mist(Object *arg0, u8 *arg1) { phi_f0 = 10.0f; } phi_f0 /= 64; - arg0->scale = arg0->descriptor_ptr->unkC * phi_f0; + arg0->scale = arg0->header->scale * phi_f0; arg0->unk78 = arg1[8]; } @@ -593,7 +593,6 @@ typedef struct Object_54_80034E9C { // Has regalloc & stack issues. -// Trophy Cabinet behavior loop void obj_loop_trophycab(Object *obj, s32 arg1) { s32 sp34; s32 isTrophyRaceAvaliable; @@ -756,9 +755,9 @@ void obj_init_lighthouse_rocketsignpost(Object *arg0, LevelObjectEntry8003572C * phi_f0 = 10; } phi_f0 /= 64; - arg0->scale = arg0->descriptor_ptr->unkC * phi_f0; + arg0->scale = arg0->header->scale * phi_f0; arg0->y_rotation = arg1->unkA << 6 << 4; - if (arg0->unk3A >= arg0->descriptor_ptr->unk55) { + if (arg0->unk3A >= arg0->header->numberOfModelIds) { arg0->unk3A = 0; } arg0->unk4C->unk14 = 1; @@ -786,18 +785,18 @@ void obj_loop_rocketsignpost(Object *obj, s32 arg1) { } void obj_init_airzippers_waterzippers(Object *arg0, LevelObjectEntry8003588C *arg1) { - ObjectHeader *obj40; + ObjectHeader *objHeader; f32 phi_f0; phi_f0 = arg1->unk9 & 0xFF; if (phi_f0 < 10.0f) { phi_f0 = 10.0f; } - obj40 = arg0->descriptor_ptr; + objHeader = arg0->header; phi_f0 /= 64; - arg0->scale = obj40->unkC * phi_f0; + arg0->scale = objHeader->scale * phi_f0; arg0->y_rotation = arg1->unkA << 6 << 4; - if (arg0->unk3A >= obj40->unk55) { + if (arg0->unk3A >= objHeader->numberOfModelIds) { arg0->unk3A = 0; } arg0->unk4C->unk14 = 2; @@ -855,7 +854,7 @@ void obj_init_characterflag(Object *arg0, unk80035EF8 *arg1) { phi_f0 = 10.0f; } phi_f0 /= 64; - arg0->scale = (f32)(arg0->descriptor_ptr->unkC * phi_f0); + arg0->scale = (f32)(arg0->header->scale * phi_f0); } void obj_loop_characterflag(Object *obj, s32 arg1) { @@ -1013,7 +1012,7 @@ void obj_loop_vehicleanim(Object *obj, s32 arg1) { someObj = obj60->unk0 == 3 ? obj60->unkC : obj60->unk4; someObj->y_rotation = 0x4000; someObj->unk3A++; - if (someObj->unk3A == someObj->descriptor_ptr->unk55) { + if (someObj->unk3A == someObj->header->numberOfModelIds) { someObj->unk3A = 0; } } @@ -1152,7 +1151,7 @@ void obj_loop_infopoint(Object *arg0, s32 arg1) { obj4C = arg0->unk4C; if (obj4C->unk13 < ((arg0->unk78 >> 16) & 0xFF)) { playerObj = obj4C->unk0; - if (playerObj->descriptor_ptr->unk54 == 1) { + if (playerObj->header->behaviorId == 1) { Object_64_800388D4 *playerObj64 = playerObj->unk64; temp_a0 = playerObj64->unk0; if ((temp_a0 != -1) && (get_buttons_pressed_from_player(temp_a0) & Z_TRIG)) { @@ -1215,7 +1214,7 @@ void obj_init_bombexplosion(Object *obj, unk80038B74 *arg1) { s32 temp; obj->unk18 = 0; obj->scale = 0.5f; - obj->unk3A = get_random_number_from_range(0, obj->descriptor_ptr->unk55 - 1); + obj->unk3A = get_random_number_from_range(0, obj->header->numberOfModelIds - 1); obj->unk78 = 0; obj->unk7C.word = 0xFF; temp = (s32)arg1->unk8; @@ -1452,12 +1451,12 @@ void obj_init_ttdoor(Object *obj, LevelObjectEntry8003C1E0 *arg1) { phi_f0 = 10; } phi_f0 /= 64; - obj->scale = obj->descriptor_ptr->unkC * phi_f0; + obj->scale = obj->header->scale * phi_f0; obj->unk4C->unk14 = 0x21; obj->unk4C->unk11 = 2; obj->unk4C->unk10 = 0x14; obj->unk4C->unk12 = 0; - if (obj->unk3A >= obj->descriptor_ptr->unk55) { + if (obj->unk3A >= obj->header->numberOfModelIds) { obj->unk3A = 0; } } @@ -1476,7 +1475,7 @@ void obj_init_bridge_whaleramp(Object *arg0, u8 *arg1) { arg0->unk4C->unk10 = 0x14; arg0->unk4C->unk12 = 0; temp->unk4 = 0; - if (arg0->unk3A >= arg0->descriptor_ptr->unk55) { + if (arg0->unk3A >= arg0->header->numberOfModelIds) { arg0->unk3A = 0; } } @@ -1635,7 +1634,7 @@ void obj_loop_worldkey(Object *worldKeyObj, s32 speed) { // the key object, otherwise it is NULL. playerObj = worldKeyObj->unk4C->unk0; if (playerObj != NULL) { - if (playerObj->descriptor_ptr->unk54 == 1) { + if (playerObj->header->behaviorId == 1) { Object_64_8003DF08 *obj64 = playerObj->unk64; if (obj64->unk0 != -1) { // Player has grabbed the key! @@ -1688,7 +1687,7 @@ void obj_init_weaponballoon(Object *arg0, Object_64_8003DFCC *arg1) { arg1->unk8 = 0; } - if (arg0->unk3A >= arg0->descriptor_ptr->unk55) { + if (arg0->unk3A >= arg0->header->numberOfModelIds) { arg0->unk3A = 0; } @@ -1703,7 +1702,7 @@ void obj_init_weaponballoon(Object *arg0, Object_64_8003DFCC *arg1) { obj = (Object_64_8003DFCC*)arg0->unk64; - arg0->scale = arg0->descriptor_ptr->unkC * temp; + arg0->scale = arg0->header->scale * temp; obj->unk0 = arg0->scale; obj->unk4 = 0; arg0->unk7C.word = 0; @@ -1731,8 +1730,8 @@ void obj_init_weapon(Object *arg0, s32 arg1) { } void obj_loop_weapon(Object *arg0) { - Object_64 *temp = arg0->unk64; - switch (temp->unk18) { + Object_64 *obj64 = arg0->unk64; + switch (obj64->unk18) { case 0: case 1: func_8003E694(); @@ -1879,7 +1878,7 @@ void obj_init_log(Object *arg0, LevelObjectEntry8004049C *arg1, s32 arg2) { phi_f0 = 10.0f; } phi_f0 /= 64; - arg0->scale = arg0->descriptor_ptr->unkC * phi_f0; + arg0->scale = arg0->header->scale * phi_f0; arg0->unk3A = arg1->unk8; arg0->y_rotation = arg1->unkA << 6 << 4; }