object_racers rework

This commit is contained in:
Fazana
2022-04-27 18:55:36 +01:00
parent d1e571dfd3
commit 4cb6f8cc2a
+131 -38
View File
@@ -783,13 +783,20 @@ typedef struct Object_Racer {
/* 0x000 */ s16 playerIndex; // -1 = AI Controlled, 0 to 3 = Object controlled
/* 0x002 */ u8 unk2;
/* 0x003 */ s8 characterId; // Affects minimap color, horn, voice, etc.
/* 0x004 */ u8 pad4[0x20];
/* 0x004 */ s32 unk4;
/* 0x008 */ s32 unk8;
/* 0x00C */ s32 unkC;
/* 0x010 */ s32 unk10;
/* 0x014 */ s32 unk14;
/* 0x018 */ s32 unk18;
/* 0x01C */ s32 unk1C;
/* 0x020 */ s32 unk20;
/* 0x024 */ s32 unk24;
/* 0x028 */ u16 unk28;
/* 0x02A */ u16 unk2A;
/* 0x02C */ f32 velocity;
/* 0x030 */ f32 lateral_velocity;
/* 0x034 */ u8 pad[0x4];
/* 0x034 */ s32 unk34;
/* 0x038 */ f32 ox1;
/* 0x03C */ f32 oy1;
/* 0x040 */ f32 oz1;
@@ -802,114 +809,200 @@ typedef struct Object_Racer {
/* 0x05C */ f32 prev_x_position;
/* 0x060 */ f32 prev_y_position;
/* 0x064 */ f32 prev_z_position;
/* 0x068 */ u8 pad68[0x10];
/* 0x068 */ s32 unk68;
/* 0x06C */ s32 unk6C;
/* 0x070 */ s32 unk70;
/* 0x074 */ s32 unk74;
/* 0x078 */ f32 unk78;
/* 0x07C */ f32 unk7C;
/* 0x080 */ f32 unk80;
/* 0x084 */ u8 pad84[0x8];
/* 0x084 */ f32 unk84;
/* 0x088 */ f32 unk88;
/* 0x08C */ f32 stretch_height;
/* 0x090 */ f32 stretch_height_cap;
/* 0x094 */ f32 camera_zoom;
/* 0x098 */ u8 pad98[0x4];
/* 0x098 */ f32 unk98;
/* 0x09C */ f32 pitch;
/* 0x0A0 */ u8 padA0[0x8];
/* 0x0A0 */ f32 unkA0;
/* 0x0A4 */ s32 unkA4;
/* 0x0A8 */ f32 checkpoint_distance;
/* 0x0AC */ u8 padAC[0x8];
/* 0x0AC */ f32 unkAC;
/* 0x0B0 */ f32 unkB0;
/* 0x0B4 */ f32 throttle;
/* 0x0B8 */ f32 brake;
/* 0x0BC */ u8 padBC[0x14];
/* 0x0BC */ f32 unkBC;
/* 0x0C0 */ f32 unkC0;
/* 0x0C4 */ f32 unkC4;
/* 0x0C8 */ f32 unkC8;
/* 0x0CC */ f32 unkCC;
/* 0x0D0 */ f32 unkD0;
/* 0x0D4 */ u8 padD4[0x34];
/* 0x0D4 */ s32 unkD4;
/* 0x0D8 */ f32 unkD8;
/* 0x0DC */ f32 unkDC;
/* 0x0E0 */ f32 unkE0;
/* 0x0E4 */ f32 unkE4;
/* 0x0E8 */ f32 unkE8;
/* 0x0EC */ f32 unkEC;
/* 0x0F0 */ f32 unkF0;
/* 0x0F4 */ f32 unkF4;
/* 0x0F8 */ f32 unkF8;
/* 0x0FC */ f32 unkFC;
/* 0x100 */ f32 unk100;
/* 0x104 */ f32 unk104;
/* 0x108 */ s32 unk108;
/* 0x10C */ u8 pad10C[0xC];
/* 0x10C */ s32 unk10C;
/* 0x110 */ s32 unk110;
/* 0x114 */ s32 unk114;
/* 0x118 */ s32 unk118;
/* 0x11C */ u8 pad11C[0xC];
/* 0x11C */ s32 unk11C;
/* 0x120 */ s32 unk120;
/* 0x124 */ s32 unk124;
/* 0x128 */ u32 lap_times[3];
/* 0x134 */ u8 pad134[0x10];
/* 0x134 */ s32 unk134;
/* 0x138 */ s32 unk138;
/* 0x13C */ s32 unk13C;
/* 0x140 */ s32 unk140;
/* 0x144 */ struct Object *held_obj;
/* 0x148 */ struct Object *unk148;
/* 0x14C */ struct Object *unk14C;
/* 0x150 */ u8 pad150[0x4];
/* 0x150 */ struct Object *unk150;
/* 0x154 */ struct Object *unk154;
/* 0x158 */ u8 pad158[0x8];
/* 0x158 */ s32 unk158;
/* 0x15C */ s32 unk15C;
/* 0x160 */ s16 unk160;
/* 0x162 */ s16 unk162;
/* 0x164 */ s16 unk164;
/* 0x166 */ s16 unk166;
/* 0x168 */ u8 pad168[0x4];
/* 0x168 */ s16 unk168;
/* 0x16A */ s16 unk16A;
/* 0x166 */ s16 unk16C;
/* 0x168 */ u8 pad16E[0x4];
/* 0x16E */ s16 unk16E;
/* 0x170 */ s16 unk170;
/* 0x172 */ u8 balloon_type;
/* 0x173 */ u8 balloon_quantity;
/* 0x174 */ u8 balloon_level;
/* 0x175 */ u8 pad175[0xE];
/* 0x175 */ u8 unk175;
/* 0x176 */ s16 unk176;
/* 0x178 */ s32 unk178;
/* 0x17C */ s32 unk17C;
/* 0x180 */ s8 unk180;
/* 0x181 */ s8 unk181;
/* 0x182 */ s8 unk182;
/* 0x183 */ s8 unk183;
/* 0x184 */ s8 pad184;
/* 0x185 */ s8 bananas;
/* 0x186 */ u8 unk186;
/* 0x187 */ s8 unk187;
/* 0x188 */ u8 pad188[0x4];
/* 0x188 */ s32 unk188;
/* 0x18C */ s16 unk18C;
/* 0x18E */ s16 unk18E;
/* 0x190 */ u16 unk190;
/* 0x192 */ u8 unk192;
/* 0x193 */ u8 unk193;
/* 0x194 */ u8 pad194[0xC];
/* 0x194 */ s16 unk194;
/* 0x196 */ s16 unk196;
/* 0x198 */ s32 unk198;
/* 0x19C */ s32 unk19C;
/* 0x1A0 */ s16 unk1A0;
/* 0x1A2 */ s16 unk1A2;
/* 0x1A4 */ s16 unk1A4;
/* 0x1A6 */ u8 pad1A6[0x14];
/* 0x1A6 */ s16 unk1A6;
/* 0x1A8 */ s16 unk1A8;
/* 0x1AA */ u8 unk1AA;
/* 0x1AB */ u8 unk1AB;
/* 0x1AC */ u8 unk1AC;
/* 0x1AD */ u8 unk1AD;
/* 0x1AE */ u8 unk1AE;
/* 0x1AF */ u8 unk1AF;
/* 0x1B0 */ s32 unk1B0;
/* 0x1B4 */ s32 unk1B4;
/* 0x1B8 */ s16 unk1B8;
/* 0x1BA */ u16 unk1BA;
/* 0x1BC */ u8 pad1BC[0xD];
/* 0x1BC */ s32 unk1BC;
/* 0x1C0 */ s32 unk1C0;
/* 0x1C4 */ s16 unk1C4;
/* 0x1C6 */ s16 unk1C6;
/* 0x1C8 */ u8 unk1C8;
/* 0x1C9 */ u8 unk1C9;
/* 0x1CA */ s8 unk1CA;
/* 0x1CB */ u8 pad1CB[0x3];
/* 0x1CB */ u8 unk1CB;
/* 0x1CC */ u8 unk1CC;
/* 0x1CD */ u8 unk1CD;
/* 0x1CE */ u8 unk1CE;
/* 0x1CF */ u8 pad1CF[0x4];
/* 0x1CF */ u8 unk1CF;
/* 0x1D0 */ u8 unk1D0;
/* 0x1D1 */ u8 unk1D1;
/* 0x1D2 */ u8 unk1D2;
/* 0x1D3 */ s8 unk1D3;
/* 0x1D4 */ u8 pad1D4[0x2];
/* 0x1D4 */ u8 unk1D4;
/* 0x1D5 */ u8 unk1D5;
/* 0x1D6 */ s8 unk1D6;
/* 0x1D7 */ s8 unk1D7;
/* 0x1D8 */ s8 unk1D8;
/* 0x1D9 */ u8 pad1D9[0x2];
/* 0x1D9 */ u8 unk1D9;
/* 0x1DA */ u8 unk1DA;
/* 0x1DB */ s8 spinout_timer;
/* 0x1DC */ u8 wheel_surfaces[4];
/* 0x1E0 */ u8 pad1E0[0x1];
/* 0x1E0 */ u8 unk1E0;
/* 0x1E1 */ s8 unk1E1;
/* 0x1E2 */ s8 unk1E2;
/* 0x1E3 */ u8 pad1E3[0x3];
/* 0x1E3 */ s8 unk1E3;
/* 0x1E4 */ s8 unk1E4;
/* 0x1E5 */ s8 unk1E5;
/* 0x1E6 */ s8 drift_direction;
/* 0x1E7 */ s8 unk1E7;
/* 0x1E8 */ u8 pad1E8[0x5];
/* 0x1E8 */ s8 unk1E8;
/* 0x1E9 */ s8 unk1E9;
/* 0x1EA */ s8 unk1EA;
/* 0x1EB */ s8 unk1EB;
/* 0x1EC */ s8 unk1EC;
/* 0x1ED */ s8 squish_timer;
/* 0x1EE */ u8 pad1EE[0x1];
/* 0x1EE */ s8 unk1EE;
/* 0x1EF */ u8 boost_sound;
/* 0x1F0 */ u8 pad1F0[0x1];
/* 0x1F0 */ u8 unk1F0;
/* 0x1F1 */ u8 unk1F1;
/* 0x1F2 */ u8 unk1F2;
/* 0x1F3 */ u8 unk1F3;
/* 0x1F4 */ u8 pad1F4[0x1];
/* 0x1F4 */ u8 unk1F4;
/* 0x1F5 */ u8 unk1F5;
/* 0x1F6 */ u8 pad1F6[0x1];
/* 0x1F6 */ u8 unk1F6;
/* 0x1F7 */ u8 transparency;
/* 0x290 */ u8 indicator_type;
/* 0x291 */ s8 indicator_timer;
/* 0x1FA */ u8 pad1FA[0x6];
/* 0x1FA */ s8 unk1FA;
/* 0x1FB */ s8 unk1FB;
/* 0x1FC */ s8 unk1FC;
/* 0x1FD */ s8 unk1FD;
/* 0x1FE */ s8 unk1FE;
/* 0x1FF */ s8 unk1FF;
/* 0x200 */ s8 unk200;
/* 0x201 */ u8 pad201[0x2];
/* 0x201 */ s8 unk201;
/* 0x202 */ s8 unk202;
/* 0x203 */ s8 unk203;
/* 0x204 */ s16 unk204;
/* 0x206 */ u8 pad206[0x6];
/* 0x206 */ s16 unk206;
/* 0x208 */ s16 unk208;
/* 0x20A */ s16 unk20A;
/* 0x20C */ u8 unk20C;
/* 0x20D */ u8 pad20D[0x1];
/* 0x20D */ u8 unk20D;
/* 0x20E */ s16 unk20E;
/* 0x210 */ s8 unk210;
/* 0x211 */ u8 pad211[0x2];
/* 0x211 */ u8 unk211;
/* 0x212 */ u8 unk212;
/* 0x213 */ s8 unk213;
/* 0x214 */ s8 unk214;
/* 0x215 */ s8 unk215;
/* 0x216 */ u8 pad216[0x6];
/* 0x216 */ u8 unk216;
/* 0x217 */ u8 unk217;
/* 0x218 */ u8 unk218;
/* 0x219 */ u8 unk219;
/* 0x21A */ u8 unk21A;
/* 0x21B */ u8 unk21B;
/* 0x21C */ u8 unk21C;
/* 0x21D */ u8 unk21D;
/* 0x21E */ u8 unk21E;
/* 0x21F */ u8 unk21F;
/* 0x220 */ s32 unk220;
} Object_Racer;
typedef struct Object_Bonus {