mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
Merge branch 'DavidSM64:master' into main
This commit is contained in:
+521
-203
File diff suppressed because it is too large
Load Diff
+2
-2
@@ -269,7 +269,7 @@ void func_800A0B74(void) {
|
||||
GLOBAL_ASM("asm/non_matchings/game_ui/func_800A0BD4.s")
|
||||
|
||||
void func_800A0DC0(s32 arg0, Object *arg1, s32 arg2) {
|
||||
Object_64 *temp = arg1->unk64;
|
||||
Object_Racer *temp = &arg1->unk64->racer;
|
||||
|
||||
func_80068508(1);
|
||||
func_800A0EB4(temp, arg2);
|
||||
@@ -297,7 +297,7 @@ GLOBAL_ASM("asm/non_matchings/game_ui/func_800A0EB4.s")
|
||||
GLOBAL_ASM("asm/non_matchings/game_ui/func_800A1248.s")
|
||||
|
||||
void func_800A1428(s32 arg0, Object *arg1, s32 arg2) {
|
||||
Object_64 *temp = arg1->unk64;
|
||||
Object_Racer *temp = &arg1->unk64->racer;
|
||||
if (temp->unk1D8 == 0) {
|
||||
func_80068508(1);
|
||||
func_800A3CE4(arg0, arg2);
|
||||
|
||||
+133
-173
File diff suppressed because it is too large
Load Diff
+2
-302
@@ -35,12 +35,6 @@ typedef struct Object_3C_80034B74 {
|
||||
u8 unkD;
|
||||
} Object_3C_80034B74;
|
||||
|
||||
typedef struct Object_64_80034B74 {
|
||||
u8 pad0[0x1FE];
|
||||
u8 unk1FE;
|
||||
u8 unk1FF;
|
||||
} Object_64_80034B74;
|
||||
|
||||
typedef struct unk8003564C {
|
||||
s8 unk0;
|
||||
s8 unk1;
|
||||
@@ -49,11 +43,6 @@ typedef struct unk8003564C {
|
||||
s16 unk6;
|
||||
} unk8003564C;
|
||||
|
||||
typedef struct Object_64_8003564C {
|
||||
u8 pad0[4];
|
||||
Object *unk4;
|
||||
} Object_64_8003564C;
|
||||
|
||||
typedef struct unk80035E20 {
|
||||
u8 pad0[0x40];
|
||||
s32 unk40;
|
||||
@@ -62,29 +51,6 @@ typedef struct unk80035E20 {
|
||||
s32 unk7C;
|
||||
} unk80035E20;
|
||||
|
||||
typedef struct Object_64_80035E34 {
|
||||
u8 pad0[0x1D6];
|
||||
s8 unk1D6;
|
||||
} Object_64_80035E34;
|
||||
|
||||
typedef struct Object_64_80035F6C {
|
||||
s32 unk0;
|
||||
s32 unk4;
|
||||
s32 unk8;
|
||||
s32 unkC;
|
||||
s32 unk10;
|
||||
s32 unk14;
|
||||
s32 unk18;
|
||||
s32 unk1C;
|
||||
s16 *unk20;
|
||||
u8 *unk24;
|
||||
} Object_64_80035F6C;
|
||||
|
||||
typedef struct Object_64_80035F6C_2 {
|
||||
u8 pad0[3];
|
||||
s8 unk3;
|
||||
} Object_64_80035F6C_2;
|
||||
|
||||
typedef struct unk80037578 {
|
||||
u8 pad0[0x78];
|
||||
s32 unk78;
|
||||
@@ -104,15 +70,6 @@ typedef struct LevelObjectEntry800376E0 {
|
||||
s8 unkA;
|
||||
} LevelObjectEntry800376E0;
|
||||
|
||||
typedef struct Object_64_800376E0 {
|
||||
s16 segmentId;
|
||||
s16 unk2;
|
||||
s16 unk4;
|
||||
s16 unk6;
|
||||
s16 unk8;
|
||||
s16 unkA;
|
||||
} Object_64_800376E0;
|
||||
|
||||
typedef struct unk80037D08_arg0_64 {
|
||||
u8 pad0[0x2A];
|
||||
s16 unk2A;
|
||||
@@ -131,30 +88,6 @@ typedef struct Object_60_800380F8 {
|
||||
Object *unkC;
|
||||
} Object_60_800380F8;
|
||||
|
||||
typedef struct Object_64_Snowball {
|
||||
u8 pad0[0x20];
|
||||
u32 unk20;
|
||||
s16 unk24;
|
||||
u8 pad28[0x12];
|
||||
s8 unk38;
|
||||
} Object_64_Snowball;
|
||||
|
||||
typedef struct Object_64_80038710 {
|
||||
u8 pad0[0x30];
|
||||
s8 unk30;
|
||||
u8 pad31[0x13];
|
||||
s8 unk44;
|
||||
} Object_64_80038710;
|
||||
|
||||
typedef struct Object_64_800387CC {
|
||||
u8 pad0[0x148];
|
||||
Object *unk148;
|
||||
} Object_64_800387CC;
|
||||
|
||||
typedef struct Object_64_800388D4 {
|
||||
s16 unk0;
|
||||
} Object_64_800388D4;
|
||||
|
||||
typedef struct unk80038B74 {
|
||||
u8 pad0[8];
|
||||
s8 unk8;
|
||||
@@ -165,15 +98,6 @@ typedef struct Object_3C_80038DC4 {
|
||||
s8 unk8;
|
||||
} Object_3C_80038DC4;
|
||||
|
||||
typedef struct Object_64_80038E3C {
|
||||
f32 unk0;
|
||||
f32 unk4;
|
||||
f32 unk8;
|
||||
f32 unkC;
|
||||
s32 unk10;
|
||||
s8 unk14;
|
||||
} Object_64_80038E3C;
|
||||
|
||||
typedef struct unk80039160 {
|
||||
u8 pad0[0x78];
|
||||
s32 unk78;
|
||||
@@ -186,17 +110,6 @@ typedef struct unk80039190 {
|
||||
s32 unk7C;
|
||||
} unk80039190;
|
||||
|
||||
typedef struct Object_64_8003C1E0 {
|
||||
f32 unk0;
|
||||
u8 pad4[4];
|
||||
s32 unk8;
|
||||
u8 padC[3];
|
||||
s8 unkF;
|
||||
u8 pad10[2];
|
||||
u8 unk12;
|
||||
u8 unk13;
|
||||
} Object_64_8003C1E0;
|
||||
|
||||
typedef struct unk8003CF18 {
|
||||
u8 pad1A[0x78];
|
||||
f32 unk78;
|
||||
@@ -214,10 +127,6 @@ typedef struct unk8003D3EC {
|
||||
u16 unk18;
|
||||
} unk8003D3EC;
|
||||
|
||||
typedef struct Object_64_8003DF08 {
|
||||
s16 unk0;
|
||||
} Object_64_8003DF08;
|
||||
|
||||
typedef struct unk8003FC44 {
|
||||
s8 unk0;
|
||||
s8 unk1;
|
||||
@@ -227,31 +136,6 @@ typedef struct unk8003FC44 {
|
||||
s8 unk7;
|
||||
} unk8003FC44;
|
||||
|
||||
|
||||
typedef struct Object_64_8003FEF4 {
|
||||
u8 unk0;
|
||||
u8 pad1;
|
||||
u16 unk2;
|
||||
u16 unk4;
|
||||
u16 unk6;
|
||||
union {
|
||||
struct {
|
||||
u8 unk8;
|
||||
u8 unk9;
|
||||
u8 unkA;
|
||||
u8 padB;
|
||||
} unk_struct;
|
||||
s32 unk8_word;
|
||||
} unk_union;
|
||||
u8 unkC;
|
||||
u8 unkD;
|
||||
u8 unkE;
|
||||
u8 unkF;
|
||||
u8 unk10;
|
||||
u8 unk11;
|
||||
u8 unk12;
|
||||
} Object_64_8003FEF4;
|
||||
|
||||
typedef struct LevelObjectEntry8003FEF4 {
|
||||
LevelObjectEntryCommon common;
|
||||
u8 unk8;
|
||||
@@ -273,22 +157,6 @@ typedef struct LevelObjectEntry8004001C {
|
||||
u8 unkA;
|
||||
} LevelObjectEntry8004001C;
|
||||
|
||||
typedef struct Object_64_8004001C {
|
||||
u16 pad0;
|
||||
s16 unk2;
|
||||
u8 unk4;
|
||||
u8 unk5;
|
||||
} Object_64_8004001C;
|
||||
|
||||
typedef struct Object_64_800400A4 {
|
||||
s16 unk0;
|
||||
s16 pad2;
|
||||
s16 unk4;
|
||||
s16 unk6;
|
||||
s16 unk8;
|
||||
s16 unkA;
|
||||
} Object_64_800400A4;
|
||||
|
||||
typedef struct unk80040800 {
|
||||
u8 pad0[0x78];
|
||||
f32 unk78;
|
||||
@@ -325,32 +193,6 @@ typedef struct Object_3C_80042178 {
|
||||
u16 unkA;
|
||||
} Object_3C_80042178;
|
||||
|
||||
typedef struct Object_64_80042210 {
|
||||
f32 unk0;
|
||||
f32 unk4;
|
||||
f32 unk8;
|
||||
f32 unkC;
|
||||
f32 unk10;
|
||||
u8 unk14;
|
||||
u8 unk15;
|
||||
u8 pad16[3];
|
||||
u8 unk19;
|
||||
u8 pad1A[6];
|
||||
f32 unk20;
|
||||
f32 unk24;
|
||||
u8 pad28[8];
|
||||
f32 unk30;
|
||||
} Object_64_80042210;
|
||||
|
||||
typedef struct Object_64_80042998 {
|
||||
u8 pad0[0x70];
|
||||
u8 unk70;
|
||||
u8 pad71;
|
||||
u8 unk72;
|
||||
u8 pad73;
|
||||
f32 unk74;
|
||||
} Object_64_80042998;
|
||||
|
||||
typedef struct unk80042A1C {
|
||||
u8 pad0[0x78];
|
||||
f32 unk78;
|
||||
@@ -369,128 +211,6 @@ typedef struct Object_50_Scenery {
|
||||
|
||||
//void func_80072348(s16 obj, u8 arg1);
|
||||
|
||||
typedef struct Object_64_Exit {
|
||||
f32 unk0;
|
||||
f32 unk4;
|
||||
f32 unk8;
|
||||
f32 unkC;
|
||||
s32 unk10;
|
||||
s8 unk14;
|
||||
} Object_64_Exit;
|
||||
|
||||
typedef struct Object_64_Racer {
|
||||
s16 unk0;
|
||||
u8 pad2;
|
||||
s8 unk3;
|
||||
u8 pad4[0x104];
|
||||
s32 unk108;
|
||||
u8 pad10C[0x40];
|
||||
Object *unk14C;
|
||||
u8 pad150[0x33];
|
||||
s8 unk183;
|
||||
s8 pad184;
|
||||
s8 unk185;
|
||||
u8 pad186[0x4D];
|
||||
s8 unk1D3;
|
||||
u8 pad1D4[0x4];
|
||||
s8 unk1D8;
|
||||
u8 pad1D9[0x9];
|
||||
s8 unk1E2;
|
||||
u8 pad1E3[0x12];
|
||||
u8 unk1F5;
|
||||
u8 pad1F6[0xA];
|
||||
s8 unk200;
|
||||
u8 pad201[0x2];
|
||||
s8 unk203;
|
||||
u8 pad204[0x8];
|
||||
u8 unk20C;
|
||||
} Object_64_Racer;
|
||||
|
||||
typedef struct Object_64_Bonus {
|
||||
f32 unk0;
|
||||
f32 unk4;
|
||||
f32 unk8;
|
||||
f32 unkC;
|
||||
s32 unk10;
|
||||
s8 unk14;
|
||||
} Object_64_Bonus;
|
||||
|
||||
typedef struct Object_64_ModeChange {
|
||||
f32 unk0;
|
||||
f32 unk4;
|
||||
f32 unk8;
|
||||
f32 unkC;
|
||||
s32 unk10;
|
||||
s8 unk14;
|
||||
} Object_64_ModeChange;
|
||||
|
||||
typedef struct Object_64_GoldenBalloon {
|
||||
f32 unk0;
|
||||
u8 pad4[0x8];
|
||||
u8 unkC;
|
||||
u8 unkD;
|
||||
u8 unkE;
|
||||
u8 unkF;
|
||||
s8 unk10;
|
||||
f32 unk14;
|
||||
} Object_64_GoldenBalloon;
|
||||
|
||||
typedef struct Object_64_Door {
|
||||
f32 unk0;
|
||||
u8 pad4[0x4];
|
||||
s32 unk8;
|
||||
s16 padA;
|
||||
s8 unkE;
|
||||
u8 unkF;
|
||||
u8 unk10;
|
||||
u8 unk11;
|
||||
u8 unk12;
|
||||
u8 unk13;
|
||||
u8 unk14;
|
||||
} Object_64_Door;
|
||||
|
||||
typedef struct Object_64_Trigger {
|
||||
f32 unk0;
|
||||
f32 unk4;
|
||||
f32 unk8;
|
||||
f32 unkC;
|
||||
s32 unk10;
|
||||
s8 unk14;
|
||||
} Object_64_Trigger;
|
||||
|
||||
typedef Object Object_64_Animation;
|
||||
|
||||
typedef struct Object_64_Audio {
|
||||
/* 0x00 */ u16 unk0;
|
||||
/* 0x02 */ u16 unk2;
|
||||
/* 0x04 */ u8 unk4;
|
||||
/* 0x05 */ u8 unk5;
|
||||
/* 0x06 */ u8 unk6;
|
||||
/* 0x07 */ u8 unk7;
|
||||
/* 0x08 */ s32 unk8;
|
||||
/* 0x0C */ u8 unkC;
|
||||
/* 0x0D */ u8 unkD;
|
||||
} Object_64_Audio;
|
||||
|
||||
typedef struct Object_64_MidiFade {
|
||||
u8 unk0;
|
||||
u8 unk1;
|
||||
u8 unk2;
|
||||
f32 unk4;
|
||||
f32 unk8;
|
||||
f32 unkC;
|
||||
f32 unk10;
|
||||
f32 unk14;
|
||||
f32 unk18;
|
||||
f32 unk1C;
|
||||
f32 unk20;
|
||||
f32 unk24;
|
||||
f32 unk28;
|
||||
f32 unk2C;
|
||||
u8 unk2F[16];
|
||||
u8 unk40;
|
||||
} Object_64_MidiFade;
|
||||
|
||||
typedef struct unk80041A90_MidiFade {
|
||||
s16 unk0; // Y rotation
|
||||
s16 unk2; // X rotation
|
||||
@@ -501,26 +221,6 @@ typedef struct unk80041A90_MidiFade {
|
||||
f32 unk14;
|
||||
} unk80041A90_MidiFade;
|
||||
|
||||
typedef struct Object_64_MidiFadePoint {
|
||||
u16 unk0;
|
||||
u16 unk2;
|
||||
f32 unk4;
|
||||
f32 unk8;
|
||||
u8 unkC[16];
|
||||
u8 unk1C;
|
||||
} Object_64_MidiFadePoint;
|
||||
|
||||
typedef struct Object_64_PosArrow {
|
||||
s16 unk0;
|
||||
u8 pad4[0x14E];
|
||||
Object *unk150;
|
||||
} Object_64_PosArrow;
|
||||
|
||||
typedef struct Object_64_Banana {
|
||||
u8 pad0[4];
|
||||
Object *spawner;
|
||||
} Object_64_Banana;
|
||||
|
||||
// Unsure about the signed/unsigned with these arrays.
|
||||
extern u16 D_800DC970[4];
|
||||
extern u16 D_800DC978[4];
|
||||
@@ -668,12 +368,12 @@ void obj_loop_goldenballoon(Object *obj, s32 speed);
|
||||
|
||||
s32 func_8001C524(f32 x, f32 y, f32 z, s32 arg3);
|
||||
s32 func_8001CC48(s32, s32, s32);
|
||||
void func_8001C6C4(Object_64_GoldenBalloon *obj64, Object *obj, f32, f32, s32);
|
||||
void func_8001C6C4(Object_GoldenBalloon *obj64, Object *obj, f32, f32, s32);
|
||||
void func_8000CBF0(Object*, s32);
|
||||
|
||||
|
||||
void func_8001EE74();
|
||||
void func_8001EFA4(Object*, Object_64_Animation*);
|
||||
void func_8001EFA4(Object*, Object_Animation*);
|
||||
void func_8001F23C(Object *obj, LevelObjectEntry_Animation *entry);
|
||||
s32 func_8001F3EC(s32);
|
||||
s32 func_80021600(s32);
|
||||
|
||||
+20
-20
@@ -620,7 +620,7 @@ void func_8000E2B4(void) {
|
||||
LevelObjectEntry8000E2B4 sp2C;
|
||||
Settings *settings;
|
||||
Object *player;
|
||||
Object_64 *player_64;
|
||||
Object_Racer *player_64;
|
||||
s16 object_id;
|
||||
|
||||
if (D_8011AD44 == 0) {
|
||||
@@ -653,13 +653,13 @@ void func_8000E2B4(void) {
|
||||
(*gObjectStructArrayPtr)[0] = (s32) player;
|
||||
*D_8011AEEC = (s32) player;
|
||||
*D_8011AEE8 = player;
|
||||
player_64 = player->unk64;
|
||||
player_64 = &player->unk64->racer;
|
||||
player_64->unk1D6 = (s8) D_8011AD45;
|
||||
player_64->unk0_a.unk0_b.unk2 = (u8)0;
|
||||
player_64->unk2 = (u8)0;
|
||||
player_64->unk1D7 = (s8) D_8011AD45;
|
||||
player_64->unk0_a.unk0_b.unk0 = (u16)0;
|
||||
player_64->playerIndex = (u16)0;
|
||||
player_64->unk118 = 0;
|
||||
player_64->unk0_a.unk0_b.unk3 = (s8) settings->racers[0].character;
|
||||
player_64->characterId = (s8) settings->racers[0].character;
|
||||
if (get_filtered_cheats() & CHEAT_BIG_CHARACTERS) {
|
||||
player->segment.trans.scale *= 1.4f;
|
||||
}
|
||||
@@ -850,16 +850,16 @@ void func_80011AD0(Object *this) {
|
||||
//L80011B10
|
||||
if (this->unk7C.word < 0)
|
||||
break;
|
||||
func_80011960(this, this->unk64->unk20, 4, this->unk64,
|
||||
2, this->unk64->unk24, 11, 0, 1.0f);
|
||||
func_80011960(this, this->unk64->obj80011AD0.unk20, 4, this->unk64,
|
||||
2, this->unk64->obj80011AD0.unk24, 11, 0, 1.0f);
|
||||
break;
|
||||
|
||||
case 61:
|
||||
//L80011B58
|
||||
offset = (this->unk64->unkFC * 6);
|
||||
offset = (this->unk64->obj80011AD0.unkFC * 6);
|
||||
offset *= 5;
|
||||
offset = offset * 2 + 0x80;
|
||||
func_80011960(this, offset, 6, this->unk64, 8, this->unk64->unkF8, 10, 0, 1.0f);
|
||||
func_80011960(this, offset, 6, this->unk64, 8, this->unk64->obj80011AD0.unkF8, 10, 0, 1.0f);
|
||||
break;
|
||||
|
||||
case 3: //L80011BB4
|
||||
@@ -867,16 +867,16 @@ void func_80011AD0(Object *this) {
|
||||
if (this->segment.unk3C_a.unk3C->unkD < 0) {
|
||||
tmp_f0 += 4294967296.0f;
|
||||
}
|
||||
offset = (this->unk64->unkFC * 6);
|
||||
offset = (this->unk64->obj80011AD0.unkFC * 6);
|
||||
offset *= 5;
|
||||
offset = offset * 2 + 0x80;
|
||||
func_80011960(this, offset, 6, this->unk64, 8, this->unk64->unkF8, 26, 0, tmp_f0 * D_800E5550);
|
||||
func_80011960(this, offset, 6, this->unk64, 8, this->unk64->obj80011AD0.unkF8, 26, 0, tmp_f0 * D_800E5550);
|
||||
break;
|
||||
|
||||
case 89: //L80011C38
|
||||
if (this->unk78 == 0)
|
||||
break;
|
||||
if (this->unk64->unk70 > 0 || 0.0f < this->unk64->unk74) {
|
||||
if (this->unk64->obj80011AD0.unk70 > 0 || 0.0f < this->unk64->obj80011AD0.unk74) {
|
||||
func_800135B8(this);
|
||||
}
|
||||
break;
|
||||
@@ -936,7 +936,7 @@ void func_80012D5C(Gfx **dlist, Mtx **mats, VertexList **verts, Object *object)
|
||||
|
||||
void func_80012E28(Object *this) {
|
||||
s32 unused1;
|
||||
Object_64 *sp_20;
|
||||
Object_Racer *sp_20;
|
||||
f32 tmp_f2;
|
||||
f32 sp_1c;
|
||||
f32 tmp_f0;
|
||||
@@ -944,7 +944,7 @@ void func_80012E28(Object *this) {
|
||||
|
||||
if (this->behaviorId == 1) {
|
||||
|
||||
sp_20 = this->unk64;
|
||||
sp_20 = &this->unk64->racer;
|
||||
this->segment.trans.y_rotation += sp_20->unk160;
|
||||
this->segment.trans.x_rotation += sp_20->unk162;
|
||||
this->segment.trans.z_rotation += sp_20->unk164;
|
||||
@@ -968,7 +968,7 @@ void func_80012E28(Object *this) {
|
||||
|
||||
void func_80012F30(Object *arg0) {
|
||||
if (arg0->behaviorId == 1) {
|
||||
Object_64 *object_64 = arg0->unk64;
|
||||
Object_Racer *object_64 = &arg0->unk64->racer;
|
||||
arg0->segment.trans.y_rotation -= object_64->unk160;
|
||||
arg0->segment.trans.x_rotation -= object_64->unk162;
|
||||
arg0->segment.trans.z_rotation -= object_64->unk164;
|
||||
@@ -995,9 +995,9 @@ void render_object(Object *this) {
|
||||
|
||||
void func_80013548(Object *arg0) {
|
||||
if ((arg0->segment.trans.unk6 & 0x8000) == 0 && arg0->segment.header->behaviorId == 1) {
|
||||
arg0->segment.trans.x_position -= arg0->unk64->unk78;
|
||||
arg0->segment.trans.y_position -= arg0->unk64->unk7C;
|
||||
arg0->segment.trans.z_position -= arg0->unk64->unk80;
|
||||
arg0->segment.trans.x_position -= arg0->unk64->racer.unk78;
|
||||
arg0->segment.trans.y_position -= arg0->unk64->racer.unk7C;
|
||||
arg0->segment.trans.z_position -= arg0->unk64->racer.unk80;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1432,10 +1432,10 @@ UNUSED void func_800228DC(UNUSED s32 arg0, UNUSED s32 arg1, UNUSED s32 arg2) {
|
||||
}
|
||||
|
||||
void func_800228EC(s32 arg0) {
|
||||
Object_64 *object_64;
|
||||
Object_Racer *object_64;
|
||||
|
||||
D_8011AEF7 = 3;
|
||||
object_64 = get_object_struct(0)->unk64;
|
||||
object_64 = &get_object_struct(0)->unk64->racer;
|
||||
object_64->unk190 = 0;
|
||||
object_64->unk192 = 0;
|
||||
object_64->unk193 = 0;
|
||||
|
||||
+42
-84
@@ -197,24 +197,7 @@ s8 D_8011D5BC;
|
||||
GLOBAL_ASM("asm/non_matchings/racer/func_80042D20.s")
|
||||
GLOBAL_ASM("asm/non_matchings/racer/func_80043ECC.s")
|
||||
|
||||
typedef struct Object_64_80044170 {
|
||||
char unk0[0x2C];
|
||||
f32 unk2C;
|
||||
char unk30[0x124];
|
||||
s32 unk154;
|
||||
char unk158[0x72];
|
||||
s8 unk1CA;
|
||||
char unk1CB[0x3];
|
||||
u8 unk1CE;
|
||||
char unk1CF[0x13];
|
||||
s8 unk1E2;
|
||||
char unk1E3[0x30];
|
||||
s8 unk213;
|
||||
s8 unk214;
|
||||
s8 unk215;
|
||||
} Object_64_80044170;
|
||||
|
||||
void func_80044170(Object *arg0, Object_64_80044170 *arg1, s32 arg2) {
|
||||
void func_80044170(Object *arg0, Object_Racer *arg1, s32 arg2) {
|
||||
s32 raceType;
|
||||
|
||||
raceType = get_current_level_race_type();
|
||||
@@ -233,14 +216,14 @@ void func_80044170(Object *arg0, Object_64_80044170 *arg1, s32 arg2) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (arg1->unk214 == 0 && arg1->unk2C < -0.5) {
|
||||
if (arg1->unk214 == 0 && arg1->velocity < -0.5) {
|
||||
arg1->unk215 -= arg2;
|
||||
if (arg1->unk215 < 0) {
|
||||
arg1->unk215 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (arg1->unk2C > -1.0 && arg1->unk214 == 0 && D_8011D540 == 0 && D_8011D544 == 0.0f && arg1->unk1E2 != 0 && arg1->unk215 == 0) {
|
||||
if (arg1->velocity > -1.0 && arg1->unk214 == 0 && D_8011D540 == 0 && D_8011D544 == 0.0f && arg1->unk1E2 != 0 && arg1->unk215 == 0) {
|
||||
arg1->unk213 += arg2;
|
||||
|
||||
if (arg1->unk213 > 60) {
|
||||
@@ -304,7 +287,7 @@ GLOBAL_ASM("asm/non_matchings/racer/func_800494E0.s")
|
||||
GLOBAL_ASM("asm/non_matchings/racer/func_80049794.s")
|
||||
|
||||
// Something Plane related.
|
||||
void func_8004C0A0(s32 arg0, Object *planeObj, Object_64_8004C0A0 *planeObj64) {
|
||||
void func_8004C0A0(s32 arg0, Object *planeObj, Object_Racer *planeObj64) {
|
||||
s32 temp_v1;
|
||||
s32 phi_v0;
|
||||
|
||||
@@ -339,13 +322,13 @@ void func_8004C0A0(s32 arg0, Object *planeObj, Object_64_8004C0A0 *planeObj64) {
|
||||
}
|
||||
}
|
||||
|
||||
void func_8004C140(Object *obj, Object_64_8004C140 *obj64) {
|
||||
void func_8004C140(Object *obj, Object_Racer *obj64) {
|
||||
s8 phi_v1;
|
||||
s8 temp;
|
||||
if (obj64->unk0 == -1) {
|
||||
if (obj64->playerIndex == -1) {
|
||||
phi_v1 = 0;
|
||||
} else {
|
||||
phi_v1 = obj64->unk185;
|
||||
phi_v1 = obj64->bananas;
|
||||
}
|
||||
temp = obj64->unk187;
|
||||
if (temp == 0 || obj64->unk18E > 0) {
|
||||
@@ -365,16 +348,16 @@ void func_8004C140(Object *obj, Object_64_8004C140 *obj64) {
|
||||
case 1:
|
||||
case 2:
|
||||
if (phi_v1 != 0) {
|
||||
obj64->unk1DB = 0x28;
|
||||
obj64->spinout_timer = 0x28;
|
||||
} else {
|
||||
obj64->unk1DB = 0x3C;
|
||||
obj64->spinout_timer = 0x3C;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (phi_v1 != 0) {
|
||||
obj64->unk1DB = 0x28;
|
||||
obj64->spinout_timer = 0x28;
|
||||
} else {
|
||||
obj64->unk1DB = 0x3C;
|
||||
obj64->spinout_timer = 0x3C;
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
@@ -391,7 +374,7 @@ GLOBAL_ASM("asm/non_matchings/racer/func_8004C2B0.s")
|
||||
GLOBAL_ASM("asm/non_matchings/racer/func_8004CC20.s")
|
||||
GLOBAL_ASM("asm/non_matchings/racer/func_8004D590.s")
|
||||
|
||||
void func_8004D95C(s32 arg0, s32 arg1, Object *obj, Object_64_8004D95C *obj64) {
|
||||
void func_8004D95C(s32 arg0, s32 arg1, Object *obj, Object_Racer *obj64) {
|
||||
s16 sp26;
|
||||
|
||||
if (obj64->unk118 != 0) {
|
||||
@@ -406,14 +389,14 @@ void func_8004D95C(s32 arg0, s32 arg1, Object *obj, Object_64_8004D95C *obj64) {
|
||||
obj64->unk1D6 = obj64->unk1D7;
|
||||
obj->segment.unk3B = 0;
|
||||
if (obj64->unk1D6 == 0xA) {
|
||||
if (obj64->someObject != NULL) {
|
||||
obj64->someObject->segment.trans.x_position = obj->segment.trans.x_position;
|
||||
obj64->someObject->segment.trans.y_position = obj->segment.trans.y_position;
|
||||
obj64->someObject->segment.trans.z_position = obj->segment.trans.z_position;
|
||||
obj64->someObject->segment.unk2C.half.lower = obj->segment.unk2C.half.lower;
|
||||
obj64->someObject->segment.trans.y_rotation = obj->segment.trans.y_rotation;
|
||||
obj64->someObject->segment.trans.x_rotation = obj->segment.trans.x_rotation;
|
||||
obj64->someObject->segment.trans.z_rotation = obj->segment.trans.z_rotation;
|
||||
if (obj64->unk154 != NULL) {
|
||||
obj64->unk154->segment.trans.x_position = obj->segment.trans.x_position;
|
||||
obj64->unk154->segment.trans.y_position = obj->segment.trans.y_position;
|
||||
obj64->unk154->segment.trans.z_position = obj->segment.trans.z_position;
|
||||
obj64->unk154->segment.unk2C.half.lower = obj->segment.unk2C.half.lower;
|
||||
obj64->unk154->segment.trans.y_rotation = obj->segment.trans.y_rotation;
|
||||
obj64->unk154->segment.trans.x_rotation = obj->segment.trans.x_rotation;
|
||||
obj64->unk154->segment.trans.z_rotation = obj->segment.trans.z_rotation;
|
||||
obj->segment.unk3B = 0;
|
||||
obj->segment.unk18 = sp26 + arg0;
|
||||
func_80061C0C(obj);
|
||||
@@ -452,43 +435,29 @@ GLOBAL_ASM("asm/non_matchings/racer/func_8004F7F4.s")
|
||||
|
||||
#ifdef NON_EQUIVALENT
|
||||
|
||||
typedef struct Object_64_80050754 {
|
||||
u8 unk0[0x2C];
|
||||
f32 unk2C;
|
||||
f32 unk30;
|
||||
u8 unk34[0x114];
|
||||
/* 0x148 */ Object *someObj;
|
||||
u8 unk14C[0x54];
|
||||
/* 0x1A0 */ s16 unk1A0;
|
||||
/* 0x1A2 */ s16 unk1A2;
|
||||
/* 0x1A4 */ s16 unk1A4;
|
||||
u8 unk1A6[0x4C];
|
||||
/* 0x1F2 */ s8 unk1F2;
|
||||
} Object_64_80050754;
|
||||
|
||||
// Mainly has regalloc issues.
|
||||
void func_80050754(Object *obj, Object_64_80050754 *obj64, f32 arg2) {
|
||||
void func_80050754(Object *obj, Object_Racer *obj64, f32 arg2) {
|
||||
f32 xDiff, yDiff, zDiff;
|
||||
Object *someObj;
|
||||
|
||||
obj->segment.unk3B = 0;
|
||||
obj->segment.unk18 = 0x28;
|
||||
someObj = obj64->someObj;
|
||||
someObj = obj64->unk148;
|
||||
xDiff = someObj->segment.trans.x_position - obj->segment.trans.x_position;
|
||||
yDiff = someObj->segment.trans.y_position - obj->segment.trans.y_position;
|
||||
zDiff = someObj->segment.trans.z_position - obj->segment.trans.z_position;
|
||||
func_80011570(obj, xDiff, yDiff, zDiff);
|
||||
obj->segment.trans.y_rotation = obj64->someObj->segment.trans.y_rotation;
|
||||
obj->segment.trans.x_rotation = obj64->someObj->segment.trans.x_rotation;
|
||||
obj->segment.trans.z_rotation = obj64->someObj->segment.trans.z_rotation;
|
||||
obj->segment.trans.y_rotation = obj64->unk148->segment.trans.y_rotation;
|
||||
obj->segment.trans.x_rotation = obj64->unk148->segment.trans.x_rotation;
|
||||
obj->segment.trans.z_rotation = obj64->unk148->segment.trans.z_rotation;
|
||||
obj64->unk1A4 = obj->segment.trans.z_rotation;
|
||||
obj64->unk1A0 = obj->segment.trans.y_rotation;
|
||||
obj->segment.x_velocity = xDiff / arg2;
|
||||
obj->segment.y_velocity = yDiff / arg2;
|
||||
obj->segment.z_velocity = zDiff / arg2;
|
||||
obj64->unk1F2 = 0;
|
||||
obj64->unk2C = 0.0f;
|
||||
obj64->unk30 = 0.0f;
|
||||
obj64->velocity = 0.0f;
|
||||
obj64->lateral_velocity = 0.0f;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/racer/func_80050754.s")
|
||||
@@ -521,7 +490,7 @@ void func_8005234C(unk8005234C *arg0) {
|
||||
GLOBAL_ASM("asm/non_matchings/racer/func_80052388.s")
|
||||
GLOBAL_ASM("asm/non_matchings/racer/func_8005250C.s")
|
||||
|
||||
void func_80052988(Object *arg0, Object_64 *arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7) {
|
||||
void func_80052988(Object *arg0, Object_Racer *arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7) {
|
||||
arg5 *= arg7;
|
||||
|
||||
if ((D_8011D55C == -1) && (arg2 >= 3)) {
|
||||
@@ -584,9 +553,9 @@ void func_80052988(Object *arg0, Object_64 *arg1, s32 arg2, s32 arg3, s32 arg4,
|
||||
GLOBAL_ASM("asm/non_matchings/racer/func_80052B64.s")
|
||||
GLOBAL_ASM("asm/non_matchings/racer/func_80052D7C.s")
|
||||
|
||||
void func_80053478(Object_64_80053478 *obj) {
|
||||
void func_80053478(Object_Racer *obj) {
|
||||
s32 phi_v0;
|
||||
f32 phi_f0 = obj->unk2C;
|
||||
f32 phi_f0 = obj->velocity;
|
||||
|
||||
if (phi_f0 < 0.0) {
|
||||
phi_f0 = -phi_f0;
|
||||
@@ -598,13 +567,13 @@ void func_80053478(Object_64_80053478 *obj) {
|
||||
if (phi_f0 < 0.0) {
|
||||
phi_f0 = 0.0f;
|
||||
}
|
||||
if (obj->unk1E6 != 0) {
|
||||
if (obj->drift_direction != 0) {
|
||||
phi_v0 = phi_f0 * 68.0f;
|
||||
} else {
|
||||
phi_v0 = phi_f0 * 58.0f;
|
||||
}
|
||||
D_8011D554 -= (obj->unk1E1 * phi_v0);
|
||||
if (obj->unk2C > 0.0f) {
|
||||
if (obj->velocity > 0.0f) {
|
||||
D_8011D554 = -D_8011D554;
|
||||
}
|
||||
}
|
||||
@@ -624,7 +593,7 @@ void func_800535C4(unk800535C4 *arg0, unk800535C4_2 *arg1) {
|
||||
guMtxXFMF(mf, 0.0f, -1.0f, 0.0f, &arg1->ox, &arg1->oy, &arg1->oz);
|
||||
}
|
||||
|
||||
void func_80053664(Object_64 *arg0) {
|
||||
void func_80053664(Object_Racer *arg0) {
|
||||
if (arg0->throttle > 0.0) {
|
||||
arg0->throttle -= 0.1;
|
||||
}
|
||||
@@ -653,13 +622,13 @@ GLOBAL_ASM("asm/non_matchings/racer/func_80054FD0.s")
|
||||
GLOBAL_ASM("asm/non_matchings/racer/func_80055A84.s")
|
||||
GLOBAL_ASM("asm/non_matchings/racer/func_80055EC0.s")
|
||||
|
||||
void play_char_horn_sound(Object *obj, Object_64 *obj64) {
|
||||
void play_char_horn_sound(Object *obj, Object_Racer *obj64) {
|
||||
if (get_filtered_cheats() & CHEAT_HORN_CHEAT) {
|
||||
// Play character voice instead of horn.
|
||||
func_800570B8(obj, 0x162, 8, 0x82);
|
||||
} else {
|
||||
// Play character's horn sound
|
||||
func_80057048(obj, obj64->unk0_a.unk0_b.unk3 + 0x156);
|
||||
func_80057048(obj, obj64->characterId + 0x156);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -667,35 +636,24 @@ GLOBAL_ASM("asm/non_matchings/racer/func_8005698C.s")
|
||||
GLOBAL_ASM("asm/non_matchings/racer/func_80056E2C.s")
|
||||
|
||||
void func_80057048(Object *obj, s32 arg1) {
|
||||
Object_64 *obj64 = obj->unk64;
|
||||
Object_Racer *obj64 = &obj->unk64->racer;
|
||||
if (D_8011D55C != -1 && obj64->unk108 == 0) {
|
||||
func_80001EA8(arg1, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
void func_800570A4(Object *obj, s32 arg1, s32 arg2) {
|
||||
Object_64_unk800570A4 *temp = obj->unk64;
|
||||
Object_Racer *temp = &obj->unk64->racer;
|
||||
temp->unk20E = arg1;
|
||||
temp->unk210 = arg2;
|
||||
}
|
||||
|
||||
#ifdef NON_EQUIVALENT
|
||||
typedef struct Object_64_800570B8 {
|
||||
u8 pad0[3];
|
||||
s8 unk3;
|
||||
u8 pad4[0x20];
|
||||
s32 unk24;
|
||||
u16 unk28;
|
||||
u16 unk2A;
|
||||
u8 pad2C[0xDC];
|
||||
s32 unk108;
|
||||
} Object_64_800570B8;
|
||||
|
||||
void func_800570B8(Object *obj, s32 arg1, s32 arg2, s32 arg3) {
|
||||
s32 phi_t0;
|
||||
Object_64_800570B8 *obj64;
|
||||
Object_Racer *obj64;
|
||||
|
||||
obj64 = obj->unk64;
|
||||
obj64 = &obj->unk64->racer;
|
||||
if ((obj64->unk108 == 0) && ((!(arg3 & 0x80)) || (D_8011D55C != -1))) {
|
||||
if (arg3 == 2) {
|
||||
if ((obj64->unk24 != 0) && (arg1 != obj64->unk2A)) {
|
||||
@@ -706,7 +664,7 @@ void func_800570B8(Object *obj, s32 arg1, s32 arg2, s32 arg3) {
|
||||
if (obj64->unk24 == 0) {
|
||||
if (arg3 != 3 || get_random_number_from_range(0, 1) != 0) {
|
||||
obj64->unk2A = arg1;
|
||||
arg1 += obj64->unk3;
|
||||
arg1 += obj64->characterId;
|
||||
arg2--;
|
||||
phi_t0 = (get_random_number_from_range(0, arg2) * 12) + arg1;
|
||||
if (arg2 > 0) {
|
||||
@@ -727,7 +685,7 @@ GLOBAL_ASM("asm/non_matchings/racer/func_800570B8.s")
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/racer/func_80057220.s")
|
||||
|
||||
void func_800575EC(Object *obj, Object_64_800575EC *obj64) {
|
||||
void func_800575EC(Object *obj, Object_Racer *obj64) {
|
||||
Matrix mf;
|
||||
|
||||
D_8011D510.y_rotation = obj->segment.trans.y_rotation;
|
||||
@@ -765,7 +723,7 @@ void func_800579B0(unk800579B0 *arg0, UNUSED s32 arg1, f32 arg2) {
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/racer/func_80057A40.s")
|
||||
|
||||
void func_800580B4(Object *obj, Object_64_800580B4 *obj64, s32 arg2, f32 arg3) {
|
||||
void func_800580B4(Object *obj, Object_Racer *obj64, s32 arg2, f32 arg3) {
|
||||
f32 xPos, yPos, zPos;
|
||||
if ((D_8011D55C != -1) && (obj64->unk1D8 != 1)) {
|
||||
if (arg2 != gCameraObject->unk36) {
|
||||
|
||||
+11
-87
@@ -22,45 +22,6 @@ typedef struct ObjectCamera {
|
||||
/* 0x0036 */ s16 unk36;
|
||||
} ObjectCamera;
|
||||
|
||||
/* Unknown size */
|
||||
typedef struct Object_64_8004C0A0 {
|
||||
u8 pad0[0x1D7];
|
||||
s8 unk1D7;
|
||||
u8 pad1D8[9];
|
||||
s8 unk1E1;
|
||||
u8 pad1E2[0x10];
|
||||
u8 unk1F2;
|
||||
} Object_64_8004C0A0;
|
||||
|
||||
typedef struct Object_64_8004C140 {
|
||||
s16 unk0;
|
||||
u8 pad2[0x183];
|
||||
s8 unk185;
|
||||
u8 unk186;
|
||||
s8 unk187;
|
||||
u8 pad188[4];
|
||||
s16 unk18C;
|
||||
s16 unk18E;
|
||||
u8 pad190[0x39];
|
||||
u8 unk1C9;
|
||||
u8 pad1CA[0xC];
|
||||
s8 unk1D6;
|
||||
u8 pad1D7[4];
|
||||
s8 unk1DB;
|
||||
u8 pad1DC[0x28];
|
||||
s16 unk204;
|
||||
} Object_64_8004C140;
|
||||
|
||||
typedef struct Object_64_8004D95C {
|
||||
u8 unk0[0x118];
|
||||
s32 unk118;
|
||||
u8 unk11C[0x38];
|
||||
Object *someObject;
|
||||
u8 unk158[0x7E];
|
||||
s8 unk1D6;
|
||||
s8 unk1D7;
|
||||
} Object_64_8004D95C;
|
||||
|
||||
typedef struct unk8004F77C {
|
||||
u8 unk0[0x20A];
|
||||
u8 unk20A;
|
||||
@@ -72,15 +33,6 @@ typedef struct unk8005234C {
|
||||
s16 unk16C;
|
||||
} unk8005234C;
|
||||
|
||||
typedef struct Object_64_80053478 {
|
||||
u8 unk0[0x2C];
|
||||
f32 unk2C;
|
||||
u8 unk30[0x1B1];
|
||||
s8 unk1E1;
|
||||
u8 unk1E2[4];
|
||||
s8 unk1E6;
|
||||
} Object_64_80053478;
|
||||
|
||||
/* Unknown Size */
|
||||
typedef struct unk800535C4 {
|
||||
s16 unk0;
|
||||
@@ -99,46 +51,18 @@ typedef struct unk800535C4_2 {
|
||||
/* 0x1A4 */ s16 unk1A4;
|
||||
} unk800535C4_2;
|
||||
|
||||
/* Unknown Size */
|
||||
typedef struct Object_64_unk800570A4 {
|
||||
u8 unk0[0x108];
|
||||
s32 unk108;
|
||||
u8 unk10C[0x102];
|
||||
s16 unk20E;
|
||||
s8 unk210;
|
||||
} Object_64_unk800570A4;
|
||||
|
||||
/* Unknown Size */
|
||||
typedef struct unk80056930 {
|
||||
u8 unk0[0x3];
|
||||
s8 unk3;
|
||||
} unk80056930;
|
||||
|
||||
/* Unknown size */
|
||||
typedef struct Object_64_800575EC {
|
||||
/* 0x00 */ u8 pad0[0x38];
|
||||
/* 0x38 */ f32 ox1;
|
||||
/* 0x3C */ f32 oy1;
|
||||
/* 0x40 */ f32 oz1;
|
||||
/* 0x44 */ f32 ox2;
|
||||
/* 0x48 */ f32 oy2;
|
||||
/* 0x4C */ f32 oz2;
|
||||
/* 0x50 */ f32 ox3;
|
||||
/* 0x54 */ f32 oy3;
|
||||
/* 0x58 */ f32 oz3;
|
||||
} Object_64_800575EC;
|
||||
|
||||
/* Unknown Size */
|
||||
typedef struct unk800579B0 {
|
||||
u8 unk0[0x1E1];
|
||||
s8 unk1E1;
|
||||
} unk800579B0;
|
||||
|
||||
typedef struct Object_64_800580B4 {
|
||||
u8 unk0[0x1D8];
|
||||
s8 unk1D8;
|
||||
} Object_64_800580B4;
|
||||
|
||||
/* Unknown Size */
|
||||
typedef struct unk8005C270 {
|
||||
u8 unk0[0x190];
|
||||
@@ -198,23 +122,23 @@ void func_8006FC30(Matrix, ObjectTransform *); // asm func
|
||||
void func_8006FE74(Matrix *, ObjectTransform *); // Non Matching ?
|
||||
|
||||
s32 func_80044450(s32 arg0);
|
||||
void func_8004C0A0(s32 arg0, Object *planeObj, Object_64_8004C0A0 *planeObj64);
|
||||
void func_8004C140(Object *obj, Object_64_8004C140 *obj64);
|
||||
void func_8004D95C(s32 arg0, s32 arg1, Object *obj, Object_64_8004D95C *obj64);
|
||||
void func_8004C0A0(s32 arg0, Object *planeObj, Object_Racer *planeObj64);
|
||||
void func_8004C140(Object *obj, Object_Racer *obj64);
|
||||
void func_8004D95C(s32 arg0, s32 arg1, Object *obj, Object_Racer *obj64);
|
||||
void func_8004F77C(unk8004F77C *arg0);
|
||||
s32 func_80052188(void);
|
||||
void func_800521B8(s32 arg0);
|
||||
void func_8005234C(unk8005234C *arg0);
|
||||
void func_80052988(Object *arg0, Object_64 *arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7);
|
||||
void func_80053478(Object_64_80053478 *obj);
|
||||
void func_80052988(Object *arg0, Object_Racer *arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7);
|
||||
void func_80053478(Object_Racer *obj);
|
||||
void func_800535C4(unk800535C4 *arg0, unk800535C4_2 *arg1);
|
||||
void func_80053664(Object_64 *arg0);
|
||||
void play_char_horn_sound(Object *obj, Object_64 *obj64);
|
||||
void func_80053664(Object_Racer *arg0);
|
||||
void play_char_horn_sound(Object *obj, Object_Racer *obj64);
|
||||
void func_80057048(Object *obj, s32 arg1);
|
||||
void func_800570A4(Object *obj, s32 arg1, s32 arg2);
|
||||
void func_800575EC(Object *obj, Object_64_800575EC *obj64);
|
||||
void func_800575EC(Object *obj, Object_Racer *obj64);
|
||||
void func_800579B0(unk800579B0 *arg0, s32 arg1, f32 arg2);
|
||||
void func_800580B4(Object *obj, Object_64_800580B4 *obj64, s32 arg2, f32 arg3);
|
||||
void func_800580B4(Object *obj, Object_Racer *obj64, s32 arg2, f32 arg3);
|
||||
void get_timestamp_from_frames(s32 frameCount, s32 *minutes, s32 *seconds, s32 *hundredths);
|
||||
void func_800598D0(void);
|
||||
void func_80059944(void);
|
||||
@@ -233,7 +157,7 @@ void func_8005C25C(void);
|
||||
//Non Matching
|
||||
void set_ghost_position_and_rotation(Object *obj);
|
||||
void func_800570B8(Object *obj, s32 arg1, s32 arg2, s32 arg3);
|
||||
void func_800576E0(Object *obj, Object_64_8004C140 *obj64, s32 arg2);
|
||||
void func_80057A40(Object *obj, Object_64_800580B4 *obj64, f32 arg2);
|
||||
void func_800576E0(Object *obj, Object_Racer *obj64, s32 arg2);
|
||||
void func_80057A40(Object *obj, Object_Racer *obj64, f32 arg2);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -181,6 +181,7 @@ s32 func_800249E0(s32 arg0) {
|
||||
}
|
||||
|
||||
#ifdef NON_EQUIVALENT
|
||||
void func_8002C0C4(s32 modelId);
|
||||
void func_800249F0(u32 arg0, u32 arg1, s32 arg2, u32 arg3, u32 arg4, u32 arg5, u32 arg6) {
|
||||
s32 i;
|
||||
s32 tmp_a2;
|
||||
@@ -1178,10 +1179,6 @@ void func_8003093C(s32 arg0) {
|
||||
#ifdef NON_EQUIVALENT
|
||||
//unk8011D388 D_8011D388[4];
|
||||
|
||||
typedef struct Object_64_FogChanger {
|
||||
s16 unk0;
|
||||
} Object_64_FogChanger;
|
||||
|
||||
typedef struct Object_3C_FogChanger {
|
||||
u8 pad0[0x2];
|
||||
s16 unk2;
|
||||
@@ -1227,7 +1224,7 @@ void obj_loop_fogchanger(Object* obj) {
|
||||
index = -1;
|
||||
if (sp40 != NULL) {
|
||||
tempObj = sp40[i]; // Might be a player object?
|
||||
temp_v0 = ((Object_64_FogChanger*)tempObj->unk64)->unk0;
|
||||
temp_v0 = tempObj->unk64->fog_changer.unk0;
|
||||
if ((temp_v0 >= 0) && (temp_v0 < MAXCONTROLLERS) && (obj != D_8011D388[i].unk34)) {
|
||||
index = temp_v0;
|
||||
x = tempObj->segment.trans.x_position;
|
||||
|
||||
+10
-10
@@ -149,8 +149,8 @@ void func_80032C7C(Object *object) {
|
||||
s16 phi_a0, phi_a1;
|
||||
unk800DC950 *entry;
|
||||
|
||||
if (object->header->unk3D == 0) {
|
||||
switch (object->header->modelType) {
|
||||
if (object->segment.header->unk3D == 0) {
|
||||
switch (object->segment.header->modelType) {
|
||||
case OBJECT_MODEL_TYPE_3D_MODEL: // 3D Model
|
||||
sp64 = 2;
|
||||
break;
|
||||
@@ -164,9 +164,9 @@ void func_80032C7C(Object *object) {
|
||||
break;
|
||||
}
|
||||
|
||||
sp82 = object->trans.x_position;
|
||||
sp80 = object->trans.y_position;
|
||||
sp7E = object->trans.z_position;
|
||||
sp82 = object->segment.trans.x_position;
|
||||
sp80 = object->segment.trans.y_position;
|
||||
sp7E = object->segment.trans.z_position;
|
||||
D_800DC968 = 0;
|
||||
for (i = 0; i < D_800DC95C; i++) {
|
||||
entry = D_800DC950[i];
|
||||
@@ -183,9 +183,9 @@ void func_80032C7C(Object *object) {
|
||||
D_800DC968 = D_800DC968 + 1;
|
||||
}
|
||||
} else {
|
||||
D_8011D4C4 = entry->unk10 - object->trans.x_position;
|
||||
D_8011D4C8 = entry->unk14 - object->trans.y_position;
|
||||
D_8011D4CC = entry->unk18 - object->trans.z_position;
|
||||
D_8011D4C4 = entry->unk10 - object->segment.trans.x_position;
|
||||
D_8011D4C8 = entry->unk14 - object->segment.trans.y_position;
|
||||
D_8011D4CC = entry->unk18 - object->segment.trans.z_position;
|
||||
if (entry->unk0 == 2) {
|
||||
D_8011D4C8 = 0.0f;
|
||||
}
|
||||
@@ -199,7 +199,7 @@ void func_80032C7C(Object *object) {
|
||||
if (f20 > 0.0f) {
|
||||
f20 *= func_80033A14(entry);
|
||||
if (f20 > 0.0f) {
|
||||
if (object->header->unk71 != 0) {
|
||||
if (object->segment.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->header->unk71 != 0) {
|
||||
if (object->segment.header->unk71 != 0) {
|
||||
if (D_800DC968 == 0) {
|
||||
object->unk54->unk7 = 0;
|
||||
object->unk54->unk11 = 0;
|
||||
|
||||
Reference in New Issue
Block a user