Renamed members of some structs

This commit is contained in:
David Benepe
2022-02-13 09:14:04 -05:00
parent e970ecaf0e
commit 1bb83aabdd
5 changed files with 81 additions and 75 deletions
+27 -20
View File
@@ -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
+16 -16
View File
@@ -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;
+3 -3
View File
@@ -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);
}
}
+4 -4
View File
@@ -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;
+31 -32
View File
@@ -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;
}