mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
6 new matches (#403)
* Minor code cleanup * Match func_800235DC * Minor code cleanup * Big progress on spawn_object * Cleanup Object struct a little * Big type and warning changes / fixes * spawn_object 90% * spawn_object 92% * gThread30Message needs to be an array of 2 * Minor cleanup * WIP func_80059BF0 and func_800A277C * func_800A277C should be just regalloc and stack now * Very close on func_800A277C * Increase func_800A277C score * Rename func_8006BD88 to get_current_map_id and fix a bug in func_800A277C * Match func_8009ECF0 * Cleanup some warnings in func_8009ECF0 * Match func_8007C52C * Match update_colour_cycle * Update score * Match get_texture_size_from_id * Update score again * Match load_sprite_info
This commit is contained in:
+44
-108
@@ -310,13 +310,30 @@ typedef struct Settings {
|
||||
/* 0x0117 */ u8 display_times;
|
||||
} Settings;
|
||||
|
||||
/* Size: 8 bytes */
|
||||
typedef struct LevelHeader_70_18 {
|
||||
s32 unk0; //0x0000001E
|
||||
u8 red; //0xFF
|
||||
u8 green; //0x70
|
||||
u8 blue; //0x00
|
||||
u8 alpha; //0xFF
|
||||
} LevelHeader_70_18;
|
||||
|
||||
/* Unknown size */
|
||||
typedef struct LevelHeader_70 {
|
||||
u8 pad0[0x10];
|
||||
/* 0x10 */ u8 red;
|
||||
/* 0x11 */ u8 green;
|
||||
/* 0x12 */ u8 blue;
|
||||
/* 0x13 */ u8 alpha;
|
||||
/* 0x00 */ s32 unk0; //0x00000004
|
||||
/* 0x04 */ s32 unk4; //0x00000000
|
||||
/* 0x08 */ s32 unk8; //0x00000000
|
||||
/* 0x0C */ s32 unkC; //0x00000000
|
||||
/* 0x10 */ u8 red; //0x72
|
||||
/* 0x11 */ u8 green; //0x75
|
||||
/* 0x12 */ u8 blue; //0x73
|
||||
/* 0x13 */ u8 alpha; //0x20
|
||||
/* 0x14 */ u8 red2; //0xFF
|
||||
/* 0x15 */ u8 green2; //0x00
|
||||
/* 0x16 */ u8 blue2; //0x00
|
||||
/* 0x17 */ u8 alpha2; //0xFF
|
||||
/* 0x18 */ LevelHeader_70_18 unk18[1]; // Actual length depends on unk0
|
||||
} LevelHeader_70;
|
||||
|
||||
// Used to update the pulsating lights in Spaceport Alpha
|
||||
@@ -669,7 +686,7 @@ typedef struct ObjectHeader24 {
|
||||
} ObjectHeader24;
|
||||
|
||||
typedef struct ObjectHeader {
|
||||
u8 pad0[0x4];
|
||||
/* 0x00 */ s32 unk0;
|
||||
/* 0x04 */ f32 shadowScale;
|
||||
/* 0x08 */ f32 unk8;
|
||||
/* 0x0C */ f32 scale;
|
||||
@@ -683,9 +700,12 @@ typedef struct ObjectHeader {
|
||||
/* 0x2C */ f32 unk2C;
|
||||
/* 0x30 */ u16 unk30;
|
||||
/* 0x32 */ s16 unk32;
|
||||
/* 0x32 */ s16 unk34;
|
||||
/* 0x32 */ s16 unk36;
|
||||
u8 pad38[5];
|
||||
/* 0x34 */ s16 unk34;
|
||||
/* 0x36 */ s16 unk36;
|
||||
union {
|
||||
/* 0x38 */ s16 unk38;
|
||||
/* 0x38 */ u8 pad38[4];
|
||||
};
|
||||
/* 0x3D */ u8 unk3D;
|
||||
/* 0x3E */ s16 unk3E;
|
||||
/* 0x40 */ s16 unk40;
|
||||
@@ -696,7 +716,8 @@ typedef struct ObjectHeader {
|
||||
/* 0x4A */ s16 unk4A;
|
||||
/* 0x4C */ s16 unk4C;
|
||||
/* 0x4E */ s16 drawDistance;
|
||||
u8 pad50[3];
|
||||
/* 0x50 */ s16 unk50;
|
||||
/* 0x52 */ s8 unk52;
|
||||
/* 0x53 */ s8 modelType;
|
||||
/* 0x54 */ s8 behaviorId;
|
||||
/* 0x55 */ s8 numberOfModelIds; // size of array pointed by Object->unk68
|
||||
@@ -743,17 +764,17 @@ typedef struct Object_44 {
|
||||
} Object_44;
|
||||
|
||||
typedef struct ObjectInteraction {
|
||||
struct Object *obj;
|
||||
f32 x_position;
|
||||
f32 y_position;
|
||||
f32 z_position;
|
||||
u8 hitboxRadius;
|
||||
u8 unk11;
|
||||
u8 pushForce;
|
||||
u8 distance;
|
||||
s16 flags;
|
||||
s8 unk16;
|
||||
s8 unk17;
|
||||
/* 0x00 */ struct Object *obj;
|
||||
/* 0x04 */ f32 x_position;
|
||||
/* 0x08 */ f32 y_position;
|
||||
/* 0x0C */ f32 z_position;
|
||||
/* 0x10 */ u8 hitboxRadius;
|
||||
/* 0x11 */ u8 unk11;
|
||||
/* 0x12 */ u8 pushForce;
|
||||
/* 0x13 */ u8 distance;
|
||||
/* 0x14 */ s16 flags;
|
||||
/* 0x16 */ s8 unk16;
|
||||
/* 0x17 */ s8 unk17;
|
||||
} ObjectInteraction;
|
||||
|
||||
typedef struct ShadowData {
|
||||
@@ -762,6 +783,7 @@ typedef struct ShadowData {
|
||||
s16 unk8;
|
||||
s16 unkA;
|
||||
s16 unkC;
|
||||
s16 unkE;
|
||||
} ShadowData;
|
||||
|
||||
typedef struct Object_54 {
|
||||
@@ -794,20 +816,6 @@ typedef struct Object_54 {
|
||||
f32 unk2C;
|
||||
} Object_54;
|
||||
|
||||
typedef struct Object_58_4 {
|
||||
u8 pad0[0x12];
|
||||
u16 unk12;
|
||||
} Object_58_4;
|
||||
|
||||
typedef struct Object_58 {
|
||||
f32 unk0;
|
||||
Object_58_4 *unk4;
|
||||
s16 unk8;
|
||||
s16 unkA;
|
||||
s16 unkC;
|
||||
s16 unkE;
|
||||
} Object_58;
|
||||
|
||||
typedef f32 FakeHalfMatrix[2][4];
|
||||
typedef struct Object_5C {
|
||||
union {
|
||||
@@ -1478,7 +1486,6 @@ typedef struct Object_64 {
|
||||
Object_NPC npc;
|
||||
Object_TT tt;
|
||||
Object_Bridge_WhaleRamp bridge_whale_ramp;
|
||||
Object_8001B7A8 obj8001B7A8;
|
||||
Object_80021400_64 obj80021400_64;
|
||||
Object_Log log;
|
||||
Object_Fireball_Octoweapon fireball_octoweapon;
|
||||
@@ -1719,78 +1726,7 @@ typedef struct Object {
|
||||
/* 0x008C */ u32 unk8C;
|
||||
/* 0x0090 */ u32 unk90;
|
||||
/* 0x0094 */ u32 unk94;
|
||||
/* 0x0098 */ Object_64 obj;
|
||||
|
||||
// May be a part of obj (likely Object_Player).
|
||||
/* 0x02B8 */ u8 pad2A8[0x8];
|
||||
|
||||
/* 0x02C0 */ f32 unk2C0;
|
||||
|
||||
/* 0x02C4 */ u8 red;
|
||||
/* 0x02C5 */ u8 blue;
|
||||
/* 0x02C6 */ u8 green;
|
||||
/* 0x02C7 */ u8 alpha;
|
||||
|
||||
/* 0x02C8 */ u32 unk2C8;
|
||||
/* 0x02CC */ u32 unk2CC;
|
||||
/* 0x02D0 */ u32 unk2D0;
|
||||
/* 0x02D4 */ u32 unk2D4;
|
||||
/* 0x02D8 */ u32 unk2D8;
|
||||
|
||||
/* 0x02DC */ u16 unk2DC;
|
||||
/* 0x02DE */ u16 unk2DE;
|
||||
/* 0x02E0 */ u16 unk2E0;
|
||||
|
||||
/* 0x02E2 */ u16 unk2E2;
|
||||
/* 0x02E4 */ u32 unk2E4;
|
||||
|
||||
/* 0x02E8 */ f32 unk2E8;
|
||||
/* 0x02EC */ f32 unk2EC;
|
||||
/* 0x02F0 */ u32 unk2F0;
|
||||
|
||||
/* 0x02F4 */ f32 shadow_scale;
|
||||
/* 0x02F8 */ void *unk2F8;
|
||||
/* 0x02FC */ u16 unk2FC;
|
||||
/* 0x02FE */ u16 unk2FE;
|
||||
/* 0x0300 */ u32 unk300;
|
||||
|
||||
/* 0x0304 */ f32 unk0304;
|
||||
|
||||
/* 0x0308 */ u32 unk308;
|
||||
/* 0x030C */ u32 unk30C;
|
||||
/* 0x0310 */ u32 unk310;
|
||||
/* 0x0314 */ u32 unk314;
|
||||
|
||||
/* 0x0318 */ void *nearest_obj_ptr;
|
||||
/* 0x031C */ f32 unk31C;
|
||||
/* 0x0320 */ f32 unk320;
|
||||
/* 0x0324 */ f32 unk324;
|
||||
|
||||
/* 0x0328 */ u32 unk328;
|
||||
/* 0x032C */ u32 unk32C;
|
||||
/* 0x0330 */ u32 unk330;
|
||||
/* 0x0334 */ u32 unk334;
|
||||
/* 0x0338 */ u32 unk338;
|
||||
/* 0x033C */ u32 unk33C;
|
||||
|
||||
/* 0x0340 */ u32 unk340;
|
||||
/* 0x0344 */ void *unk344;
|
||||
/* 0x0348 */ void *unk348;
|
||||
/* 0x034C */ void *unk34C;
|
||||
/* 0x0350 */ void *unk350;
|
||||
|
||||
/* 0x0354 */ u32 unk354;
|
||||
/* 0x0358 */ u32 unk358;
|
||||
/* 0x035C */ u32 unk35C;
|
||||
/* 0x0360 */ u32 unk360;
|
||||
/* 0x0364 */ u32 unk364;
|
||||
/* 0x0368 */ u32 unk368;
|
||||
/* 0x036C */ u32 unk36C;
|
||||
|
||||
/* 0x0370 */ void *unk370;
|
||||
/* 0x0374 */ s32 unk374;
|
||||
|
||||
u32 unk378[174]; // Not an array. Unknown values.
|
||||
/* 0x0098 */ Object_8001B7A8 obj;
|
||||
} Object;
|
||||
|
||||
// Unused
|
||||
|
||||
Reference in New Issue
Block a user