mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
Adventure two 25% (#387)
* identify transition bug
* Document fog system
* Label fogchanger attributes
* and more
* anti aliasing
* name some object vars
* block the racer inputs
* Update unknown_0255E0.c
* Update README.md
* Update src/object_functions.c
* I just did thing I guess???
* me when I realise almost all the pass through discs are just copy and pasted code.
* YOU'RE PUSHING THEM?!?!
bruh bruh bruh bruh
* I guess I'm in the object naming rabbit hole now
wow maybe I'll actually get these looking good 😳
* i did frogs
* got it
* Quick fixes
This commit is contained in:
+6
-6
@@ -159,7 +159,7 @@ typedef enum MiscAsset {
|
||||
MISC_ASSET_UNK35,
|
||||
MISC_ASSET_UNK36,
|
||||
MISC_ASSET_UNK37,
|
||||
MISC_ASSET_UNK38,
|
||||
MISC_ASSET_RACER_HITBOX_SIZE,
|
||||
MISC_ASSET_UNK39,
|
||||
MISC_ASSET_UNK3A,
|
||||
MISC_ASSET_UNK3B,
|
||||
@@ -188,11 +188,11 @@ typedef enum SurfaceType {
|
||||
SURFACE_SAND,
|
||||
SURFACE_ZIP_PAD,
|
||||
SURFACE_STONE,
|
||||
SURFACE_UNK05,
|
||||
SURFACE_UNK06,
|
||||
SURFACE_UNK07,
|
||||
SURFACE_UNK08,
|
||||
SURFACE_UNK09,
|
||||
SURFACE_EGG_SPAWN,
|
||||
SURFACE_EGG_01,
|
||||
SURFACE_EGG_02,
|
||||
SURFACE_EGG_03,
|
||||
SURFACE_EGG_04,
|
||||
SURFACE_FROZEN_WATER,
|
||||
SURFACE_UNK0B,
|
||||
SURFACE_TAJ_PAD,
|
||||
|
||||
@@ -15,9 +15,9 @@ typedef struct LevelObjectEntry_Racer {
|
||||
typedef struct LevelObjectEntry_Scenery {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
/* 0x08 */ u8 unk8;
|
||||
/* 0x09 */ u8 unk9;
|
||||
/* 0x09 */ u8 radius;
|
||||
/* 0x0A */ u8 unkA;
|
||||
/* 0x0B */ u8 unkB;
|
||||
/* 0x0B */ u8 solid;
|
||||
} LevelObjectEntry_Scenery;
|
||||
|
||||
typedef struct LevelObjectEntry_Fish {
|
||||
@@ -28,9 +28,9 @@ typedef struct LevelObjectEntry_Fish {
|
||||
|
||||
typedef struct LevelObjectEntry_Animator {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
/* 0x08 */ s8 unk8;
|
||||
/* 0x09 */ s8 unk9;
|
||||
/* 0x0A */ s8 unkA;
|
||||
/* 0x08 */ s8 batchID;
|
||||
/* 0x09 */ s8 speedFactorX;
|
||||
/* 0x0A */ s8 speedfactorY;
|
||||
} LevelObjectEntry_Animator;
|
||||
|
||||
typedef struct LevelObjectEntry_Weapon {
|
||||
@@ -78,7 +78,7 @@ typedef struct LevelObjectEntry_Exit {
|
||||
|
||||
typedef struct LevelObjectEntry_Audio {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
/* 0x08 */ u16 unk8;
|
||||
/* 0x08 */ u16 soundId;
|
||||
/* 0x0A */ u16 unkA;
|
||||
/* 0x0C */ u8 unkC;
|
||||
/* 0x0D */ u8 unkD;
|
||||
@@ -121,7 +121,7 @@ typedef struct LevelObjectEntry_Checkpoint {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
/* 0x08 */ u8 scale;
|
||||
/* 0x09 */ u8 unk9;
|
||||
/* 0x0A */ u8 yRotation;
|
||||
/* 0x0A */ u8 angleY;
|
||||
/* 0x0B */ s8 unkB;
|
||||
/* 0x0C */ s8 unkC;
|
||||
/* 0x0D */ s8 unkD;
|
||||
@@ -204,7 +204,7 @@ typedef struct LevelObjectEntry_Unknown25 {
|
||||
typedef struct LevelObjectEntry_SkyControl {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
/* 0x08 */ u8 unk8;
|
||||
/* 0x09 */ u8 unk9;
|
||||
/* 0x09 */ u8 radius;
|
||||
} LevelObjectEntry_SkyControl;
|
||||
|
||||
typedef struct LevelObjectEntry_AudioReverb {
|
||||
@@ -216,21 +216,21 @@ typedef struct LevelObjectEntry_AudioReverb {
|
||||
|
||||
typedef struct LevelObjectEntry_Torch_Mist {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
/* 0x08 */ u8 unk8;
|
||||
/* 0x09 */ u8 unk9;
|
||||
/* 0x08 */ u8 animSpeed;
|
||||
/* 0x09 */ u8 radius;
|
||||
} LevelObjectEntry_Torch_Mist;
|
||||
|
||||
typedef struct LevelObjectEntry_TexScroll {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
/* 0x08 */ s16 unk8;
|
||||
/* 0x08 */ s16 numTextures;
|
||||
/* 0x0A */ s8 unkA;
|
||||
/* 0x0B */ s8 unkB;
|
||||
} LevelObjectEntry_TexScroll;
|
||||
|
||||
typedef struct LevelObjectEntry_ModeChange {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
/* 0x08 */ u8 unk8;
|
||||
/* 0x09 */ u8 unk9;
|
||||
/* 0x08 */ u8 radius;
|
||||
/* 0x09 */ u8 angleY;
|
||||
/* 0x0A */ u8 vehicleID;
|
||||
} LevelObjectEntry_ModeChange;
|
||||
|
||||
@@ -252,7 +252,7 @@ typedef struct LevelObjectEntry_Buoy_PirateShip {
|
||||
|
||||
typedef struct LevelObjectEntry_Weather {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
/* 0x08 */ s16 unk8;
|
||||
/* 0x08 */ s16 radius;
|
||||
/* 0x0A */ s16 unkA;
|
||||
/* 0x0C */ s16 unkC;
|
||||
/* 0x0E */ s16 unkE;
|
||||
@@ -284,8 +284,8 @@ typedef struct LevelObjectEntry_SeaMonster {
|
||||
|
||||
typedef struct LevelObjectEntry_Bonus {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
/* 0x08 */ u8 unk8;
|
||||
/* 0x09 */ u8 unk9;
|
||||
/* 0x08 */ u8 radius;
|
||||
/* 0x09 */ u8 angleY;
|
||||
/* 0x0A */ u8 unkA;
|
||||
} LevelObjectEntry_Bonus;
|
||||
|
||||
@@ -295,7 +295,7 @@ typedef struct LevelObjectEntry_LensFlare {
|
||||
|
||||
typedef struct LevelObjectEntry_LensFlareSwitch {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
/* 0x08 */ s16 unk8;
|
||||
/* 0x08 */ s16 radius;
|
||||
} LevelObjectEntry_LensFlareSwitch;
|
||||
|
||||
typedef struct LevelObjectEntry_CollectEgg {
|
||||
@@ -374,8 +374,8 @@ typedef struct LevelObjectEntry_Trigger {
|
||||
typedef struct LevelObjectEntry_AirZippers_WaterZippers {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
/* 0x08 */ u8 unk8;
|
||||
/* 0x09 */ u8 unk9;
|
||||
/* 0x0A */ u8 unkA;
|
||||
/* 0x09 */ u8 radius;
|
||||
/* 0x0A */ u8 angleY;
|
||||
} LevelObjectEntry_AirZippers_WaterZippers;
|
||||
|
||||
typedef struct LevelObjectEntry_Unknown58 {
|
||||
@@ -400,7 +400,7 @@ typedef struct LevelObjectEntry_Parkwarden {
|
||||
|
||||
typedef struct LevelObjectEntry_WorldKey {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
/* 0x08 */ u8 unk8;
|
||||
/* 0x08 */ u8 keyID;
|
||||
} LevelObjectEntry_WorldKey;
|
||||
|
||||
typedef struct LevelObjectEntry_BananaCreator {
|
||||
@@ -415,14 +415,14 @@ typedef struct LevelObjectEntry_TreasureSucker {
|
||||
typedef struct LevelObjectEntry_Log {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
/* 0x08 */ u8 unk8;
|
||||
/* 0x09 */ u8 unk9;
|
||||
/* 0x0A */ u8 unkA;
|
||||
/* 0x09 */ u8 radius;
|
||||
/* 0x0A */ u8 angleY;
|
||||
} LevelObjectEntry_Log;
|
||||
|
||||
typedef struct LevelObjectEntry_LavaSpurt {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
/* 0x08 */ u8 unk8;
|
||||
/* 0x09 */ u8 unk9;
|
||||
/* 0x08 */ u8 delayTimer;
|
||||
/* 0x09 */ u8 initialTimer;
|
||||
} LevelObjectEntry_LavaSpurt;
|
||||
|
||||
typedef struct LevelObjectEntry_PosArrow {
|
||||
@@ -489,8 +489,8 @@ typedef struct LevelObjectEntry_Lasergun {
|
||||
/* 0x09 */ u8 angleY;
|
||||
/* 0x0A */ s8 targeting;
|
||||
/* 0x0B */ s8 fireRate;
|
||||
/* 0x0C */ u8 unkC;
|
||||
/* 0x0D */ u8 unkD;
|
||||
/* 0x0C */ u8 laserDuration;
|
||||
/* 0x0D */ u8 radius;
|
||||
} LevelObjectEntry_Lasergun;
|
||||
|
||||
typedef struct LevelObjectEntry_GroundZipper {
|
||||
@@ -535,14 +535,14 @@ typedef struct LevelObjectEntry_Snowball {
|
||||
|
||||
typedef struct LevelObjectEntry_Teleport {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
/* 0x08 */ s8 unk8;
|
||||
/* 0x08 */ s8 levelID;
|
||||
} LevelObjectEntry_Teleport;
|
||||
|
||||
typedef struct LevelObjectEntry_Lighthouse_RocketSignpost {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
/* 0x08 */ u8 unk8;
|
||||
/* 0x09 */ u8 unk9;
|
||||
/* 0x0A */ u8 unkA;
|
||||
/* 0x09 */ u8 radius;
|
||||
/* 0x0A */ u8 angleY;
|
||||
} LevelObjectEntry_Lighthouse_RocketSignpost;
|
||||
|
||||
typedef struct LevelObjectEntry_Windsail {
|
||||
@@ -561,8 +561,8 @@ typedef struct LevelObjectEntry_Fireball_Octoweapon {
|
||||
|
||||
typedef struct LevelObjectEntry_Frog {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
/* 0x08 */ s16 unk8;
|
||||
/* 0x0A */ u8 unkA;
|
||||
/* 0x08 */ s16 homeRadius;
|
||||
/* 0x0A */ u8 drumstick;
|
||||
} LevelObjectEntry_Frog;
|
||||
|
||||
typedef struct LevelObjectEntry_SilverCoinAdv2 {
|
||||
@@ -577,7 +577,7 @@ typedef struct LevelObjectEntry_TTDoor {
|
||||
/* 0x0B */ u8 unkB;
|
||||
/* 0x0C */ u8 unkC;
|
||||
/* 0x0D */ u8 padD;
|
||||
/* 0x0E */ s8 unkE;
|
||||
/* 0x0E */ s8 doorID;
|
||||
} LevelObjectEntry_TTDoor;
|
||||
|
||||
typedef struct LevelObjectEntry_MidiFadePoint {
|
||||
|
||||
+45
-45
@@ -644,7 +644,7 @@ typedef struct ObjectHeader24 {
|
||||
|
||||
typedef struct ObjectHeader {
|
||||
u8 pad0[0x4];
|
||||
/* 0x04 */ f32 unk4;
|
||||
/* 0x04 */ f32 shadowScale;
|
||||
/* 0x08 */ f32 unk8;
|
||||
/* 0x0C */ f32 scale;
|
||||
/* 0x10 */ s32 *modelIds;
|
||||
@@ -718,11 +718,11 @@ typedef struct ObjectInteraction {
|
||||
f32 x_position;
|
||||
f32 y_position;
|
||||
f32 z_position;
|
||||
u8 unk10;
|
||||
u8 hitboxRadius;
|
||||
u8 unk11;
|
||||
u8 unk12;
|
||||
u8 pushForce;
|
||||
u8 distance;
|
||||
s16 unk14;
|
||||
s16 flags;
|
||||
s8 unk16;
|
||||
s8 unk17;
|
||||
} ObjectInteraction;
|
||||
@@ -799,8 +799,8 @@ typedef struct Object_LaserGun {
|
||||
/* 0x0C */ s16 fireTimer;
|
||||
/* 0x0E */ s8 targeting;
|
||||
/* 0x0F */ s8 fireRate;
|
||||
/* 0x10 */ u8 unk10;
|
||||
/* 0x11 */ u8 unk11;
|
||||
/* 0x10 */ u8 laserDuration;
|
||||
/* 0x11 */ u8 radius;
|
||||
} Object_LaserGun;
|
||||
|
||||
typedef struct Object_Laser {
|
||||
@@ -817,8 +817,8 @@ typedef struct Object_TrophyCabinet {
|
||||
typedef struct Object_Animator {
|
||||
/* 0x00 */ s16 segmentId;
|
||||
/* 0x02 */ s16 batchId;
|
||||
/* 0x04 */ s16 xSpeedFactor;
|
||||
/* 0x06 */ s16 ySpeedFactor;
|
||||
/* 0x04 */ s16 speedFactorX;
|
||||
/* 0x06 */ s16 speedFactorY;
|
||||
/* 0x08 */ s16 xSpeed;
|
||||
/* 0x0A */ s16 ySpeed;
|
||||
} Object_Animator;
|
||||
@@ -890,15 +890,15 @@ typedef struct Object_EffectBox {
|
||||
|
||||
typedef struct Object_EggCreator {
|
||||
/* 0x0 */ u8 pad0[4];
|
||||
/* 0x4 */ struct Object *unk4;
|
||||
/* 0x4 */ struct Object *currentEgg;
|
||||
} Object_EggCreator;
|
||||
|
||||
typedef struct Object_CollectEgg {
|
||||
/* 0x0 */ u8 pad0[4];
|
||||
/* 0x4 */ struct Object *unk4;
|
||||
/* 0x8 */ s16 unk8;
|
||||
/* 0xA */ s8 unkA;
|
||||
/* 0xB */ s8 unkB;
|
||||
/* 0x8 */ s16 hatchTimer;
|
||||
/* 0xA */ s8 racerID;
|
||||
/* 0xB */ s8 status;
|
||||
} Object_CollectEgg;
|
||||
|
||||
typedef struct Object_UnkId58 {
|
||||
@@ -937,7 +937,7 @@ typedef struct Object_TTDoor {
|
||||
/* 0x08 */ s32 unk8;
|
||||
/* 0x0C */ s16 unkC;
|
||||
/* 0x0C */ s8 unkE;
|
||||
/* 0x0F */ u8 unkF;
|
||||
/* 0x0F */ u8 doorID;
|
||||
/* 0x10 */ u8 pad10[2];
|
||||
/* 0x12 */ u8 unk12;
|
||||
/* 0x13 */ s8 unk13;
|
||||
@@ -979,7 +979,7 @@ typedef struct Object_AudioReverb {
|
||||
} Object_AudioReverb;
|
||||
|
||||
typedef struct Object_TexScroll {
|
||||
/* 0x0 */ s16 unk0;
|
||||
/* 0x0 */ s16 numTextures;
|
||||
/* 0x2 */ s16 pad2;
|
||||
/* 0x4 */ s16 unk4;
|
||||
/* 0x6 */ s16 unk6;
|
||||
@@ -988,23 +988,23 @@ typedef struct Object_TexScroll {
|
||||
} Object_TexScroll;
|
||||
|
||||
typedef struct Object_Frog {
|
||||
/* 0x00 */ f32 unk0;
|
||||
/* 0x04 */ f32 unk4;
|
||||
/* 0x08 */ f32 unk8;
|
||||
/* 0x0C */ f32 unkC;
|
||||
/* 0x10 */ f32 unk10;
|
||||
/* 0x14 */ u8 unk14;
|
||||
/* 0x15 */ u8 unk15;
|
||||
/* 0x16 */ s16 unk16;
|
||||
/* 0x18 */ s8 unk18;
|
||||
/* 0x19 */ s8 unk19;
|
||||
/* 0x1A */ s16 unk1A;
|
||||
/* 0x1C */ f32 unk1C;
|
||||
/* 0x20 */ f32 unk20;
|
||||
/* 0x24 */ f32 unk24;
|
||||
/* 0x28 */ f32 unk28;
|
||||
/* 0x2C */ f32 unk2C;
|
||||
/* 0x30 */ f32 unk30;
|
||||
/* 0x00 */ f32 homeX;
|
||||
/* 0x04 */ f32 homeY;
|
||||
/* 0x08 */ f32 homeZ;
|
||||
/* 0x0C */ f32 homeRadius;
|
||||
/* 0x10 */ f32 homeRadiusSquare;
|
||||
/* 0x14 */ u8 action;
|
||||
/* 0x15 */ u8 drumstick;
|
||||
/* 0x16 */ s16 hopTimer;
|
||||
/* 0x18 */ s8 hopFrame; // Animation frame while jumping
|
||||
/* 0x19 */ s8 squishCooldown;
|
||||
/* 0x1A */ s16 hopDirection;
|
||||
/* 0x1C */ f32 forwardVel;
|
||||
/* 0x20 */ f32 hopStartX;
|
||||
/* 0x24 */ f32 hopStartZ;
|
||||
/* 0x28 */ f32 hopTargetX;
|
||||
/* 0x2C */ f32 hopTargetZ;
|
||||
/* 0x30 */ f32 scaleY;
|
||||
} Object_Frog;
|
||||
|
||||
typedef struct Object_Wizpig2 {
|
||||
@@ -1103,7 +1103,7 @@ typedef struct Object_Racer {
|
||||
/* 0x140 */ struct Object *magnetTargetObj;
|
||||
/* 0x144 */ struct Object *held_obj;
|
||||
/* 0x148 */ struct Object *approachTarget;
|
||||
/* 0x14C */ struct Object *unk14C;
|
||||
/* 0x14C */ struct Object *zipperObj;
|
||||
/* 0x150 */ struct Object *unk150;
|
||||
/* 0x154 */ struct Object *unk154;
|
||||
/* 0x158 */ struct Object *unk158;
|
||||
@@ -1170,7 +1170,7 @@ typedef struct Object_Racer {
|
||||
/* 0x1CC */ s8 aiSkill;
|
||||
/* 0x1CD */ u8 unk1CD;
|
||||
/* 0x1CE */ u8 unk1CE;
|
||||
/* 0x1CF */ s8 unk1CF;
|
||||
/* 0x1CF */ s8 eggHudCounter;
|
||||
/* 0x1D0 */ s8 spectateCamID;
|
||||
/* 0x1D1 */ s8 unk1D1;
|
||||
/* 0x1D2 */ s8 unk1D2;
|
||||
@@ -1205,7 +1205,7 @@ typedef struct Object_Racer {
|
||||
/* 0x1F2 */ u8 unk1F2;
|
||||
/* 0x1F3 */ u8 unk1F3;
|
||||
/* 0x1F4 */ u8 startInput;
|
||||
/* 0x1F5 */ u8 unk1F5;
|
||||
/* 0x1F5 */ u8 zipperDirCorrection;
|
||||
/* 0x1F6 */ s8 unk1F6;
|
||||
/* 0x1F7 */ u8 transparency;
|
||||
/* 0x290 */ u8 indicator_type;
|
||||
@@ -1243,20 +1243,20 @@ typedef struct Object_Racer {
|
||||
} Object_Racer;
|
||||
|
||||
typedef struct Object_Bonus {
|
||||
/* 0x00 */ f32 unk0;
|
||||
/* 0x04 */ f32 unk4;
|
||||
/* 0x08 */ f32 unk8;
|
||||
/* 0x0C */ f32 unkC;
|
||||
/* 0x10 */ s32 unk10;
|
||||
/* 0x00 */ f32 directionX;
|
||||
/* 0x04 */ f32 directionY;
|
||||
/* 0x08 */ f32 directionZ;
|
||||
/* 0x0C */ f32 rotationDiff; // Rotational offset, to test intersection when the exit is rotated.
|
||||
/* 0x10 */ s32 radius; // Activation radius.
|
||||
/* 0x14 */ s8 unk14;
|
||||
} Object_Bonus;
|
||||
|
||||
typedef struct Object_ModeChange {
|
||||
/* 0x00 */ f32 unk0;
|
||||
/* 0x04 */ f32 unk4;
|
||||
/* 0x08 */ f32 unk8;
|
||||
/* 0x0C */ f32 unkC;
|
||||
/* 0x10 */ s32 unk10;
|
||||
/* 0x00 */ f32 directionX;
|
||||
/* 0x04 */ f32 directionY;
|
||||
/* 0x08 */ f32 directionZ;
|
||||
/* 0x0C */ f32 rotationDiff; // Rotational offset, to test intersection when the exit is rotated.
|
||||
/* 0x10 */ s32 radius; // Activation radius.
|
||||
/* 0x14 */ u8 vehicleID;
|
||||
} Object_ModeChange;
|
||||
|
||||
@@ -1412,7 +1412,7 @@ typedef struct Object_Log {
|
||||
|
||||
typedef struct Object_Fireball_Octoweapon {
|
||||
u8 pad0[0x1C];
|
||||
s32 unk1C;
|
||||
s32 soundMask;
|
||||
} Object_Fireball_Octoweapon;
|
||||
|
||||
typedef struct Object_AnimatedObject {
|
||||
|
||||
Reference in New Issue
Block a user