mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
More progress with object_functions
This commit is contained in:
@@ -9,12 +9,16 @@ typedef struct LevelObjectEntryCommon {
|
||||
} LevelObjectEntryCommon;
|
||||
|
||||
typedef struct LevelObjectEntry_1 {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
} LevelObjectEntry_1;
|
||||
|
||||
typedef struct LevelObjectEntry_2 {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
} LevelObjectEntry_2;
|
||||
typedef struct LevelObjectEntry_Scenery {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
/* 0x08 */ u8 unk8;
|
||||
/* 0x09 */ u8 unk9;
|
||||
/* 0x0A */ u8 unkA;
|
||||
/* 0x0B */ u8 unkB;
|
||||
} LevelObjectEntry_Scenery;
|
||||
|
||||
typedef struct LevelObjectEntry_3 {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
@@ -72,9 +76,18 @@ typedef struct LevelObjectEntry_16 {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
} LevelObjectEntry_16;
|
||||
|
||||
typedef struct LevelObjectEntry_17 {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
} LevelObjectEntry_17;
|
||||
#define BALLOON_TYPE_BOOST 0
|
||||
#define BALLOON_TYPE_MISSILE 1
|
||||
#define BALLOON_TYPE_TRAP 2
|
||||
#define BALLOON_TYPE_SHIELD 3
|
||||
#define BALLOON_TYPE_MAGNET 4
|
||||
|
||||
typedef struct LevelObjectEntry_WeaponBalloon {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
/* 0x08 */ u8 unk8; // Unused?
|
||||
/* 0x09 */ u8 balloonType;
|
||||
/* 0x0A */ u8 scale; // This is divided by 64 to get actual scale.
|
||||
} LevelObjectEntry_WeaponBalloon;
|
||||
|
||||
typedef struct LevelObjectEntry_18 {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
@@ -104,9 +117,11 @@ typedef struct LevelObjectEntry_27 {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
} LevelObjectEntry_27;
|
||||
|
||||
typedef struct LevelObjectEntry_28 {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
} LevelObjectEntry_28;
|
||||
typedef struct LevelObjectEntry_Torch_Mist {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
/* 0x08 */ u8 unk8;
|
||||
/* 0x09 */ u8 unk9;
|
||||
} LevelObjectEntry_Torch_Mist;
|
||||
|
||||
typedef struct LevelObjectEntry_29 {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
@@ -260,13 +275,19 @@ typedef struct LevelObjectEntry_77 {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
} LevelObjectEntry_77;
|
||||
|
||||
typedef struct LevelObjectEntry_78 {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
} LevelObjectEntry_78;
|
||||
typedef struct LevelObjectEntry_Laserbolt {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
} LevelObjectEntry_Laserbolt;
|
||||
|
||||
typedef struct LevelObjectEntry_79 {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
} LevelObjectEntry_79;
|
||||
typedef struct LevelObjectEntry_Lasergun {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
/* 0x08 */ u8 unk8;
|
||||
/* 0x09 */ u8 unk9;
|
||||
/* 0x0A */ s8 unkA;
|
||||
/* 0x0B */ s8 unkB;
|
||||
/* 0x0C */ u8 unkC;
|
||||
/* 0x0D */ u8 unkD;
|
||||
} LevelObjectEntry_Lasergun;
|
||||
|
||||
typedef struct LevelObjectEntry_82 {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
@@ -344,9 +365,9 @@ typedef struct LevelObjectEntry_105 {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
} LevelObjectEntry_105;
|
||||
|
||||
typedef struct LevelObjectEntry_108 {
|
||||
typedef struct LevelObjectEntry_Fireball_Octoweapon {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
} LevelObjectEntry_108;
|
||||
} LevelObjectEntry_Fireball_Octoweapon;
|
||||
|
||||
typedef struct LevelObjectEntry_109 {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
|
||||
@@ -9,7 +9,7 @@ then
|
||||
fi
|
||||
|
||||
# Rename all instances within text files.
|
||||
grep -rl "$1" asm/**/*.s src/**/*.{c,h} lib/**/*.{c,s} include/*.h undefined_syms.txt | xargs sed -i "s/\b$1\b/$2/g"
|
||||
grep -rl "$1" asm/**/*.s src/**/*.{c,h} lib/**/*.{c,s} include/*.h undefined_syms.txt dkr.ld | xargs sed -i "s/\b$1\b/$2/g"
|
||||
|
||||
# Rename filenames & directories.
|
||||
python3 ./tools/python/rename_file.py "$1" "$2"
|
||||
|
||||
+60
-71
@@ -131,57 +131,49 @@ s16 D_8011D4E2;
|
||||
/******************************/
|
||||
|
||||
#ifdef NON_EQUIVALENT
|
||||
typedef struct LevelObjectEntry80033CC0 {
|
||||
LevelObjectEntryCommon common;
|
||||
u8 unk8;
|
||||
u8 unk9;
|
||||
u8 unkA;
|
||||
u8 unkB;
|
||||
} LevelObjectEntry80033CC0;
|
||||
|
||||
typedef struct Object_50_80033CC0 {
|
||||
f32 unk0;
|
||||
} Object_50_80033CC0;
|
||||
|
||||
void obj_init_scenery(Object *arg0, LevelObjectEntry80033CC0 *arg1) {
|
||||
void obj_init_scenery(Object *obj, LevelObjectEntry_Scenery *entry) {
|
||||
f32 phi_f0;
|
||||
arg0->unk6 |= 2;
|
||||
phi_f0 = arg1->unk9 & 0xFF;
|
||||
obj->unk6 |= 2;
|
||||
phi_f0 = entry->unk9 & 0xFF;
|
||||
if (phi_f0 < 10) {
|
||||
phi_f0 = 10;
|
||||
}
|
||||
phi_f0 /= 64;
|
||||
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) {
|
||||
obj->scale = obj->header->scale * phi_f0;
|
||||
((Object_50_80033CC0 *)obj->unk50)->unk0 = obj->header->unk4 * phi_f0;
|
||||
obj->unk3A = entry->unk8;
|
||||
obj->y_rotation = entry->unkA << 6 << 4;
|
||||
if (entry->unkB) {
|
||||
// Regalloc issue here
|
||||
arg0->unk4C->unk14 = 1;
|
||||
arg0->unk4C->unk11 = 1;
|
||||
arg0->unk4C->unk10 = 0x14;
|
||||
arg0->unk4C->unk12 = 0;
|
||||
arg0->unk4C->unk16 = -5;
|
||||
arg0->unk4C->unk17 = arg1->unkB;
|
||||
obj->unk4C->unk14 = 1;
|
||||
obj->unk4C->unk11 = 1;
|
||||
obj->unk4C->unk10 = 0x14;
|
||||
obj->unk4C->unk12 = 0;
|
||||
obj->unk4C->unk16 = -5;
|
||||
obj->unk4C->unk17 = entry->unkB;
|
||||
}
|
||||
if (arg0->unk3A >= arg0->header->numberOfModelIds) {
|
||||
arg0->unk3A = 0;
|
||||
if (obj->unk3A >= obj->header->numberOfModelIds) {
|
||||
obj->unk3A = 0;
|
||||
}
|
||||
arg0->unk78 = 0;
|
||||
arg0->unk7C.word = 0;
|
||||
obj->unk78 = 0;
|
||||
obj->unk7C.word = 0;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_032760/obj_init_scenery.s")
|
||||
#endif
|
||||
|
||||
void obj_loop_scenery(Object *obj, s32 arg1) {
|
||||
void obj_loop_scenery(Object *obj, s32 speed) {
|
||||
Object78_80033DD0 *obj78;
|
||||
s32 temp_v0;
|
||||
|
||||
if (obj->unk4C != NULL) {
|
||||
obj78 = &obj->unk78;
|
||||
if (obj->unk7C.half.upper > 0) {
|
||||
obj78->unk4 -= arg1;
|
||||
obj78->unk4 -= speed;
|
||||
}
|
||||
if ((obj->unk4C->unk14 & 0x40) && ((s32) obj78->unk4 <= 0)) {
|
||||
func_80009558(316, obj->x_position, obj->y_position, obj->z_position, 4, NULL);
|
||||
@@ -207,7 +199,7 @@ void obj_loop_scenery(Object *obj, s32 arg1) {
|
||||
}
|
||||
}
|
||||
|
||||
void obj_init_fireball_octoweapon(Object *arg0, s32 arg1) {
|
||||
void obj_init_fireball_octoweapon(Object *arg0, LevelObjectEntry_Fireball_Octoweapon *arg1) {
|
||||
arg0->unk4C->unk14 = 2;
|
||||
arg0->unk4C->unk11 = 0;
|
||||
}
|
||||
@@ -359,7 +351,7 @@ void obj_loop_fireball_octoweapon(Object *obj, s32 arg1) {
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_032760/obj_loop_fireball_octoweapon.s")
|
||||
#endif
|
||||
|
||||
void obj_init_lasergun(Object *arg0, unk80034530 *arg1) {
|
||||
void obj_init_lasergun(Object *arg0, LevelObjectEntry_Lasergun *arg1) {
|
||||
Object_64 *temp;
|
||||
arg0->unk4C->unk14 = 0x22;
|
||||
arg0->unk4C->unk11 = 0;
|
||||
@@ -375,8 +367,7 @@ void obj_init_lasergun(Object *arg0, unk80034530 *arg1) {
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_032760/obj_loop_lasergun.s")
|
||||
|
||||
// Literally the same function as obj_init_fireball_octoweapon()
|
||||
void obj_init_laserbolt(Object *arg0, s32 arg1) {
|
||||
void obj_init_laserbolt(Object *arg0, LevelObjectEntry_Laserbolt *arg1) {
|
||||
arg0->unk4C->unk14 = 2;
|
||||
arg0->unk4C->unk11 = 0;
|
||||
}
|
||||
@@ -464,18 +455,18 @@ void obj_loop_laserbolt(Object *obj, s32 arg1) {
|
||||
}
|
||||
}
|
||||
|
||||
void obj_init_torch_mist(Object *arg0, u8 *arg1) {
|
||||
f32 phi_f0 = (s32)(arg1[9] & 0xFF);
|
||||
void obj_init_torch_mist(Object *obj, LevelObjectEntry_Torch_Mist *entry) {
|
||||
f32 phi_f0 = (s32)(entry->unk9 & 0xFF);
|
||||
if (phi_f0 < 10.0f) {
|
||||
phi_f0 = 10.0f;
|
||||
}
|
||||
phi_f0 /= 64;
|
||||
arg0->scale = arg0->header->scale * phi_f0;
|
||||
arg0->unk78 = arg1[8];
|
||||
obj->scale = obj->header->scale * phi_f0;
|
||||
obj->unk78 = entry->unk8;
|
||||
}
|
||||
|
||||
void obj_loop_torch_mist(unk80034B4C *arg0, s32 arg1) {
|
||||
arg0->unk18 += arg0->unk78 * arg1;
|
||||
void obj_loop_torch_mist(Object *obj, s32 speed) {
|
||||
obj->unk18 += obj->unk78 * speed;
|
||||
}
|
||||
|
||||
void obj_init_effectbox(s32 arg0, s32 arg1) {
|
||||
@@ -1654,61 +1645,59 @@ void obj_loop_worldkey(Object *worldKeyObj, s32 speed) {
|
||||
typedef struct Object_64_8003DFCC {
|
||||
f32 unk0;
|
||||
s16 unk4;
|
||||
char unk6[0x2];
|
||||
u8 unk8;
|
||||
u8 unk9;
|
||||
u8 unkA;
|
||||
s8 unk6[0x2];
|
||||
} Object_64_8003DFCC;
|
||||
|
||||
void obj_init_weaponballoon(Object *arg0, Object_64_8003DFCC *arg1) {
|
||||
void obj_init_weaponballoon(Object *obj, LevelObjectEntry_WeaponBalloon *entry) {
|
||||
s32 cheats;
|
||||
Object_64_8003DFCC *obj;
|
||||
f32 temp;
|
||||
Object_64_8003DFCC *obj64;
|
||||
f32 scalef;
|
||||
|
||||
arg0->unk4C->unk14 = 2;
|
||||
arg0->unk4C->unk11 = 4;
|
||||
arg0->unk4C->unk10 = 0x14;
|
||||
obj->unk4C->unk14 = 2;
|
||||
obj->unk4C->unk11 = 4;
|
||||
obj->unk4C->unk10 = 0x14;
|
||||
|
||||
cheats = get_filtered_cheats();
|
||||
|
||||
if (cheats & CHEAT_ALL_BALLOONS_ARE_BLUE) {
|
||||
arg1->unk9 = 0;
|
||||
entry->balloonType = BALLOON_TYPE_BOOST;
|
||||
} else if (cheats & CHEAT_ALL_BALLOONS_ARE_RED) {
|
||||
arg1->unk9 = 1;
|
||||
entry->balloonType = BALLOON_TYPE_MISSILE;
|
||||
} else if (cheats & CHEAT_ALL_BALLOONS_ARE_GREEN) {
|
||||
arg1->unk9 = 2;
|
||||
entry->balloonType = BALLOON_TYPE_TRAP;
|
||||
} else if (cheats & CHEAT_ALL_BALLOONS_ARE_YELLOW) {
|
||||
arg1->unk9 = 3;
|
||||
entry->balloonType = BALLOON_TYPE_SHIELD;
|
||||
} else if (cheats & CHEAT_ALL_BALLOONS_ARE_RAINBOW) {
|
||||
arg1->unk9 = 4;
|
||||
entry->balloonType = BALLOON_TYPE_MAGNET;
|
||||
}
|
||||
|
||||
if (arg1->unk8 >= 6) {
|
||||
arg1->unk8 = 0;
|
||||
// I guess unk8 is unused?
|
||||
if (entry->unk8 >= 6) {
|
||||
entry->unk8 = 0;
|
||||
}
|
||||
|
||||
if (arg0->unk3A >= arg0->header->numberOfModelIds) {
|
||||
arg0->unk3A = 0;
|
||||
if (obj->unk3A >= obj->header->numberOfModelIds) {
|
||||
obj->unk3A = 0;
|
||||
}
|
||||
|
||||
arg0->unk3A = arg1->unk9;
|
||||
arg0->unk78 = arg0->unk3A;
|
||||
obj->unk3A = entry->balloonType;
|
||||
obj->unk78 = obj->unk3A;
|
||||
|
||||
temp = arg1->unkA & 0xFF;
|
||||
if (temp < 10) {
|
||||
temp = 10;
|
||||
scalef = entry->scale & 0xFF;
|
||||
if (scalef < 10) {
|
||||
scalef = 10;
|
||||
}
|
||||
temp /= 64;
|
||||
scalef /= 64;
|
||||
|
||||
obj = (Object_64_8003DFCC*)arg0->unk64;
|
||||
obj64 = (Object_64_8003DFCC*)obj->unk64;
|
||||
|
||||
arg0->scale = arg0->header->scale * temp;
|
||||
obj->unk0 = arg0->scale;
|
||||
obj->unk4 = 0;
|
||||
arg0->unk7C.word = 0;
|
||||
obj->scale = obj->header->scale * scalef;
|
||||
obj64->unk0 = obj->scale;
|
||||
obj64->unk4 = 0;
|
||||
obj->unk7C.word = 0;
|
||||
|
||||
if (get_filtered_cheats() & CHEAT_DISABLE_WEAPONS) {
|
||||
gParticlePtrList_addObject(arg0);
|
||||
gParticlePtrList_addObject(obj);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1729,8 +1718,8 @@ void obj_init_weapon(Object *arg0, s32 arg1) {
|
||||
arg0->unk7C.word = 0;
|
||||
}
|
||||
|
||||
void obj_loop_weapon(Object *arg0) {
|
||||
Object_64 *obj64 = arg0->unk64;
|
||||
void obj_loop_weapon(Object *obj) {
|
||||
Object_64 *obj64 = obj->unk64;
|
||||
switch (obj64->unk18) {
|
||||
case 0:
|
||||
case 1:
|
||||
|
||||
+25
-35
@@ -14,16 +14,6 @@ typedef struct Object78_80033DD0 {
|
||||
s16 unk6;
|
||||
} Object78_80033DD0;
|
||||
|
||||
typedef struct unk80034530 {
|
||||
u8 pad0[0x8];
|
||||
u8 unk8;
|
||||
u8 unk9;
|
||||
s8 unkA;
|
||||
s8 unkB;
|
||||
u8 unkC;
|
||||
u8 unkD;
|
||||
} unk80034530;
|
||||
|
||||
typedef struct unk80034B4C {
|
||||
u8 pad0[0x18];
|
||||
s16 unk18;
|
||||
@@ -486,11 +476,11 @@ f32 func_800707F8(s16); // No idea where it's located
|
||||
s32 get_random_number_from_range(s32, s32); // Non Matching src/unknown_070110.c
|
||||
s32 func_8007066C(s32, s32); // Non Matching src/unknown_070110.c
|
||||
|
||||
void obj_init_fireball_octoweapon(Object *arg0, s32 arg1);
|
||||
void obj_init_lasergun(Object *arg0, unk80034530 *arg1);
|
||||
void obj_init_laserbolt(Object *arg0, s32 arg1);
|
||||
void obj_init_torch_mist(Object *arg0, u8 *arg1);
|
||||
void obj_loop_torch_mist(unk80034B4C *arg0, s32 arg1);
|
||||
void obj_init_fireball_octoweapon(Object *obj, LevelObjectEntry_Fireball_Octoweapon *entry);
|
||||
void obj_init_lasergun(Object *obj, LevelObjectEntry_Lasergun *entry);
|
||||
void obj_init_laserbolt(Object *obj, LevelObjectEntry_Laserbolt *entry);
|
||||
void obj_init_torch_mist(Object *obj, LevelObjectEntry_Torch_Mist *entry);
|
||||
void obj_loop_torch_mist(Object *obj, s32 speed);
|
||||
void obj_init_effectbox(s32 arg0, s32 arg1);
|
||||
void obj_init_trophycab(Object *arg0, u8 *arg1);
|
||||
void obj_init_collectegg(Object *arg0, s32 arg1);
|
||||
@@ -502,14 +492,14 @@ void obj_init_airzippers_waterzippers(Object *arg0, LevelObjectEntry8003588C *ar
|
||||
void obj_init_unknown58(unk80035E20 *arg0, s32 arg1);
|
||||
void obj_loop_unknown58(Object *obj, s32 arg1);
|
||||
void obj_init_characterflag(Object *arg0, unk80035EF8 *arg1);
|
||||
void obj_loop_characterflag(Object *obj, s32 arg1);
|
||||
void obj_loop_characterflag(Object *obj, s32 speed);
|
||||
void obj_init_stopwatchman(Object *arg0, s32 arg1);
|
||||
void func_80036BCC(u16 arg0, s32 arg1);
|
||||
void obj_init_lavaspurt(unk80037578 *arg0, u8 *arg1);
|
||||
void obj_init_posarrow(unk80037624 *arg0, s32 arg1);
|
||||
void obj_init_animator(Object *arg0, LevelObjectEntry800376E0 *arg1, s32 arg2);
|
||||
void obj_loop_animobject(s32 arg0, s32 arg1);
|
||||
void obj_loop_dooropener(unk80037D08_arg0 *arg0, s32 arg1);
|
||||
void obj_loop_animobject(s32 arg0, s32 speed);
|
||||
void obj_loop_dooropener(unk80037D08_arg0 *arg0, s32 speed);
|
||||
void obj_init_overridepos(s32 arg0, s32 arg1);
|
||||
void func_80037D60(s32 arg0, s32 arg1);
|
||||
void obj_init_wizpigship(s32 arg0, s32 arg1);
|
||||
@@ -545,20 +535,20 @@ void func_8003AC3C(u16 arg0, s32 arg1);
|
||||
void obj_loop_gbparkwarden(s32 arg0, s32 arg1);
|
||||
f32 func_8003ACAC(void);
|
||||
void obj_init_checkpoint(Object *arg0, u8 *arg1, s32 arg2);
|
||||
void obj_loop_checkpoint(s32 arg0, s32 arg1);
|
||||
void obj_loop_checkpoint(s32 arg0, s32 speed);
|
||||
void obj_init_modechange(Object *obj, LevelObjectEntry8003AD34 *arg1);
|
||||
void obj_init_bonus(Object *obj, LevelObjectEntry8003AD34 *arg1);
|
||||
void obj_init_ttdoor(Object *obj, LevelObjectEntry8003C1E0 *arg1);
|
||||
void obj_init_bridge_whaleramp(Object *arg0, u8 *arg1);
|
||||
void obj_init_rampswitch(Object *arg0, u8 *arg1);
|
||||
void obj_loop_rampswitch(Object *arg0, s32 arg1);
|
||||
void obj_loop_rampswitch(Object *arg0, s32 speed);
|
||||
void obj_init_seamonster(s32 arg0, s32 arg1);
|
||||
void obj_loop_seamonster(s32 arg0, s32 arg1);
|
||||
void obj_loop_seamonster(s32 arg0, s32 speed);
|
||||
void obj_init_fogchanger(unk8003CF18 *arg0, u8 *arg1);
|
||||
void obj_init_skycontrol(Object *arg0, u8 *arg1);
|
||||
void obj_loop_skycontrol(Object *arg0, s32 arg1);
|
||||
void obj_loop_skycontrol(Object *arg0, s32 speed);
|
||||
void obj_init_ainode(s32 arg0, u8 *arg1);
|
||||
void obj_loop_ainode(s32 arg0, s32 arg1);
|
||||
void obj_loop_ainode(s32 arg0, s32 speed);
|
||||
void obj_init_treasuresucker(unk8003D038 *arg0, s8 *arg1);
|
||||
void obj_init_flycoin(s32 arg0, s32 arg1);
|
||||
void obj_init_coincreator(unk8003D3EC *arg0, s32 arg1);
|
||||
@@ -568,9 +558,9 @@ void obj_init_silvercoin(Object *obj, s32 arg1);
|
||||
void obj_init_worldkey(Object *obj, unk8003DE74 *arg1);
|
||||
void obj_loop_worldkey(Object *worldKeyObj, s32 speed);
|
||||
void obj_init_wballoonpop(s32 arg0, s32 arg1);
|
||||
void obj_loop_wballoonpop(s32 arg0, s32 arg1);
|
||||
void obj_loop_wballoonpop(s32 arg0, s32 speed);
|
||||
void obj_init_weapon(Object *arg0, s32 arg1);
|
||||
void obj_loop_weapon(Object *arg0);
|
||||
void obj_loop_weapon(Object *obj);
|
||||
void func_8003F0D0(void);
|
||||
void func_8003F0DC(void);
|
||||
void obj_init_audioline(Object *arg0, LevelObjectEntry8003FEF4 *arg1);
|
||||
@@ -578,27 +568,27 @@ void obj_init_audioreverb(Object *arg0, LevelObjectEntry8004001C *entry);
|
||||
void obj_init_texscroll(Object *obj, LevelObjectEntry800400A4 *arg1, s32 arg2);
|
||||
void obj_init_rgbalight(Object *arg0, s32 arg1, s32 arg2);
|
||||
void obj_init_buoy_pirateship(Object *arg0, s32 arg1, s32 arg2);
|
||||
void obj_loop_buoy_pirateship(Object *arg0, s32 arg1);
|
||||
void obj_loop_buoy_pirateship(Object *arg0, s32 speed);
|
||||
void obj_init_log(Object *arg0, LevelObjectEntry8004049C *arg1, s32 arg2);
|
||||
void obj_init_wavegenerator(s32 arg0, s32 arg1, s32 arg2);
|
||||
void obj_init_midichset(unk80042014_arg0 *arg0, unk80042014_arg1 *arg1);
|
||||
void obj_init_bubbler(Object *arg0, unk8004203C_arg1 *arg1);
|
||||
void obj_loop_bubbler(Object *arg0, s32 arg1);
|
||||
void obj_loop_bubbler(Object *arg0, s32 speed);
|
||||
void obj_init_boost(unk8004210C *arg0, s8 *arg1);
|
||||
void obj_init_unknown94(s32 arg0, s32 arg1, s32 arg2);
|
||||
void obj_loop_unknown94(s32 arg0, s32 arg1);
|
||||
void obj_loop_unknown94(s32 arg0, s32 speed);
|
||||
void obj_init_rangetrigger(s32 arg0, s32 arg1);
|
||||
void obj_loop_rangetrigger(Object *obj, s32 arg1);
|
||||
void obj_loop_rangetrigger(Object *obj, s32 speed);
|
||||
void obj_init_frog(Object *obj, LevelObjectEntry80042210 *arg1);
|
||||
void obj_loop_pigrocketeer(s32 arg0, s32 arg1);
|
||||
void obj_loop_pigrocketeer(s32 arg0, s32 speed);
|
||||
void obj_init_levelname(unk80042A1C *arg0, s8 *arg1);
|
||||
void obj_init_wizghosts(unk80042CD0 *arg0, s32 arg1);
|
||||
|
||||
//Non Matching
|
||||
void obj_loop_lavaspurt(Object *obj, s32 arg1);
|
||||
void obj_loop_animator(Object *obj, s32 arg1);
|
||||
void obj_loop_vehicleanim(Object *obj, s32 arg1);
|
||||
void obj_loop_snowball(Object *obj, s32 arg1);
|
||||
void obj_loop_goldenballoon(s32 arg0);
|
||||
void obj_loop_lavaspurt(Object *obj, s32 speed);
|
||||
void obj_loop_animator(Object *obj, s32 speed);
|
||||
void obj_loop_vehicleanim(Object *obj, s32 speed);
|
||||
void obj_loop_snowball(Object *obj, s32 speed);
|
||||
void obj_loop_goldenballoon(s32 arg0, s32 speed);
|
||||
|
||||
#endif
|
||||
|
||||
+85
-85
@@ -1508,264 +1508,264 @@ 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->behaviorId = arg0->header->behaviorId;
|
||||
switch (arg0->behaviorId - 1) { // Why the minus 1?
|
||||
void run_object_init_func(Object *obj, void *entry) {
|
||||
obj->behaviorId = obj->header->behaviorId;
|
||||
switch (obj->behaviorId - 1) { // Why the minus 1?
|
||||
case 0:
|
||||
obj_init_racer(arg0, arg1);
|
||||
obj_init_racer(obj, entry);
|
||||
break;
|
||||
case 1:
|
||||
obj_init_scenery(arg0, arg1);
|
||||
obj_init_scenery(obj, (LevelObjectEntry_Scenery*)entry);
|
||||
break;
|
||||
case 2:
|
||||
obj_init_fish(arg0, arg1);
|
||||
obj_init_fish(obj, entry);
|
||||
break;
|
||||
case 3:
|
||||
obj_init_animator(arg0, arg1);
|
||||
obj_init_animator(obj, entry);
|
||||
break;
|
||||
case 5:
|
||||
obj_init_smoke(arg0, arg1);
|
||||
obj_init_smoke(obj, entry);
|
||||
break;
|
||||
case 24:
|
||||
obj_init_unknown25(arg0, arg1);
|
||||
obj_init_unknown25(obj, entry);
|
||||
break;
|
||||
case 21:
|
||||
obj_init_bombexplosion(arg0, arg1);
|
||||
obj_init_bombexplosion(obj, entry);
|
||||
break;
|
||||
case 6:
|
||||
obj_init_exit(arg0, arg1);
|
||||
obj_init_exit(obj, entry);
|
||||
break;
|
||||
case 7:
|
||||
obj_init_audio(arg0, arg1);
|
||||
obj_init_audio(obj, entry);
|
||||
break;
|
||||
case 8:
|
||||
case 18:
|
||||
obj_init_audioline(arg0, arg1);
|
||||
obj_init_audioline(obj, entry);
|
||||
break;
|
||||
case 26:
|
||||
obj_init_audioreverb(arg0, arg1);
|
||||
obj_init_audioreverb(obj, entry);
|
||||
break;
|
||||
case 9:
|
||||
obj_init_cameracontrol(arg0, arg1);
|
||||
obj_init_cameracontrol(obj, entry);
|
||||
break;
|
||||
case 10:
|
||||
obj_init_setuppoint(arg0, arg1);
|
||||
obj_init_setuppoint(obj, entry);
|
||||
break;
|
||||
case 11:
|
||||
obj_init_dino_whale(arg0, arg1);
|
||||
obj_init_dino_whale(obj, entry);
|
||||
break;
|
||||
case 12:
|
||||
obj_init_checkpoint(arg0, arg1);
|
||||
obj_init_checkpoint(obj, entry);
|
||||
break;
|
||||
case 29:
|
||||
obj_init_modechange(arg0, arg1);
|
||||
obj_init_modechange(obj, entry);
|
||||
break;
|
||||
case 40:
|
||||
obj_init_bonus(arg0, arg1);
|
||||
obj_init_bonus(obj, entry);
|
||||
break;
|
||||
case 13:
|
||||
obj_init_door(arg0, arg1);
|
||||
obj_init_door(obj, entry);
|
||||
break;
|
||||
case 110:
|
||||
obj_init_ttdoor(arg0, arg1);
|
||||
obj_init_ttdoor(obj, entry);
|
||||
break;
|
||||
case 14:
|
||||
obj_init_fogchanger(arg0, arg1);
|
||||
obj_init_fogchanger(obj, entry);
|
||||
break;
|
||||
case 15:
|
||||
obj_init_ainode(arg0, arg1);
|
||||
obj_init_ainode(obj, entry);
|
||||
break;
|
||||
case 16:
|
||||
obj_init_weaponballoon(arg0, arg1);
|
||||
obj_init_weaponballoon(obj, entry);
|
||||
break;
|
||||
case 22:
|
||||
obj_init_wballoonpop(arg0, arg1);
|
||||
obj_init_wballoonpop(obj, entry);
|
||||
break;
|
||||
case 4:
|
||||
case 17:
|
||||
obj_init_weapon(arg0, arg1);
|
||||
obj_init_weapon(obj, entry);
|
||||
break;
|
||||
case 25:
|
||||
obj_init_skycontrol(arg0, arg1);
|
||||
obj_init_skycontrol(obj, entry);
|
||||
break;
|
||||
case 27:
|
||||
obj_init_torch_mist(arg0, arg1);
|
||||
obj_init_torch_mist(obj, entry);
|
||||
break;
|
||||
case 28:
|
||||
obj_init_texscroll(arg0, arg1);
|
||||
obj_init_texscroll(obj, entry);
|
||||
break;
|
||||
case 30:
|
||||
obj_init_stopwatchman(arg0, arg1);
|
||||
obj_init_stopwatchman(obj, entry);
|
||||
break;
|
||||
case 31:
|
||||
obj_init_coin(arg0, arg1);
|
||||
obj_init_coin(obj, entry);
|
||||
break;
|
||||
case 32:
|
||||
obj_init_rgbalight(arg0, arg1);
|
||||
obj_init_rgbalight(obj, entry);
|
||||
break;
|
||||
case 35:
|
||||
obj_init_buoy_pirateship(arg0, arg1);
|
||||
obj_init_buoy_pirateship(obj, entry);
|
||||
break;
|
||||
case 66:
|
||||
obj_init_log(arg0, arg1);
|
||||
obj_init_log(obj, entry);
|
||||
break;
|
||||
case 36:
|
||||
obj_init_weather(arg0, arg1);
|
||||
obj_init_weather(obj, entry);
|
||||
break;
|
||||
case 37:
|
||||
obj_init_bridge_whaleramp(arg0, arg1);
|
||||
obj_init_bridge_whaleramp(obj, entry);
|
||||
break;
|
||||
case 38:
|
||||
obj_init_rampswitch(arg0, arg1);
|
||||
obj_init_rampswitch(obj, entry);
|
||||
break;
|
||||
case 39:
|
||||
obj_init_seamonster(arg0, arg1);
|
||||
obj_init_seamonster(obj, entry);
|
||||
break;
|
||||
case 42:
|
||||
obj_init_lensflare(arg0, arg1);
|
||||
obj_init_lensflare(obj, entry);
|
||||
break;
|
||||
case 43:
|
||||
obj_init_lensflareswitch(arg0, arg1);
|
||||
obj_init_lensflareswitch(obj, entry);
|
||||
break;
|
||||
case 44:
|
||||
obj_init_collectegg(arg0, arg1);
|
||||
obj_init_collectegg(obj, entry);
|
||||
break;
|
||||
case 45:
|
||||
obj_init_eggcreator(arg0, arg1);
|
||||
obj_init_eggcreator(obj, entry);
|
||||
break;
|
||||
case 46:
|
||||
obj_init_characterflag(arg0, arg1);
|
||||
obj_init_characterflag(obj, entry);
|
||||
break;
|
||||
case 48:
|
||||
obj_init_animation(arg0, arg1);
|
||||
obj_init_animation(obj, entry);
|
||||
break;
|
||||
case 51:
|
||||
obj_init_infopoint(arg0, arg1);
|
||||
obj_init_infopoint(obj, entry);
|
||||
break;
|
||||
case 54:
|
||||
obj_init_trigger(arg0, arg1);
|
||||
obj_init_trigger(obj, entry);
|
||||
break;
|
||||
case 56:
|
||||
case 92:
|
||||
obj_init_airzippers_waterzippers(arg0, arg1);
|
||||
obj_init_airzippers_waterzippers(obj, entry);
|
||||
break;
|
||||
case 57:
|
||||
obj_init_unknown58(arg0, arg1);
|
||||
obj_init_unknown58(obj, entry);
|
||||
break;
|
||||
case 58:
|
||||
obj_init_wavegenerator(arg0, arg1);
|
||||
obj_init_wavegenerator(obj, entry);
|
||||
break;
|
||||
case 60:
|
||||
obj_init_butterfly(arg0, arg1);
|
||||
obj_init_butterfly(obj, entry);
|
||||
break;
|
||||
case 61:
|
||||
obj_init_parkwarden(arg0, arg1);
|
||||
obj_init_parkwarden(obj, entry);
|
||||
break;
|
||||
case 63:
|
||||
obj_init_worldkey(arg0, arg1);
|
||||
obj_init_worldkey(obj, entry);
|
||||
break;
|
||||
case 64:
|
||||
obj_init_coincreator(arg0, arg1);
|
||||
obj_init_coincreator(obj, entry);
|
||||
break;
|
||||
case 65:
|
||||
obj_init_treasuresucker(arg0, arg1);
|
||||
obj_init_treasuresucker(obj, entry);
|
||||
break;
|
||||
case 67:
|
||||
obj_init_lavaspurt(arg0, arg1);
|
||||
obj_init_lavaspurt(obj, entry);
|
||||
break;
|
||||
case 68:
|
||||
obj_init_posarrow(arg0, arg1);
|
||||
obj_init_posarrow(obj, entry);
|
||||
break;
|
||||
case 69:
|
||||
case 102:
|
||||
obj_init_hittester(arg0, arg1);
|
||||
obj_init_hittester(obj, entry);
|
||||
break;
|
||||
case 71:
|
||||
case 94:
|
||||
case 103:
|
||||
obj_init_dynamic_lighting_object(arg0, arg1);
|
||||
obj_init_dynamic_lighting_object(obj, entry);
|
||||
break;
|
||||
case 95:
|
||||
case 100:
|
||||
obj_init_unknown96(arg0, arg1);
|
||||
obj_init_unknown96(obj, entry);
|
||||
break;
|
||||
case 96:
|
||||
case 101:
|
||||
obj_init_snowball(arg0, arg1);
|
||||
obj_init_snowball(obj, entry);
|
||||
break;
|
||||
case 70:
|
||||
obj_init_midifade(arg0, arg1);
|
||||
obj_init_midifade(obj, entry);
|
||||
break;
|
||||
case 111:
|
||||
obj_init_midifadepoint(arg0, arg1);
|
||||
obj_init_midifadepoint(obj, entry);
|
||||
break;
|
||||
case 117:
|
||||
obj_init_midichset(arg0, arg1);
|
||||
obj_init_midichset(obj, entry);
|
||||
break;
|
||||
case 72:
|
||||
obj_init_effectbox(arg0, arg1);
|
||||
obj_init_effectbox(obj, entry);
|
||||
break;
|
||||
case 73:
|
||||
obj_init_trophycab(arg0, arg1);
|
||||
obj_init_trophycab(obj, entry);
|
||||
break;
|
||||
case 74:
|
||||
obj_init_bubbler(arg0, arg1);
|
||||
obj_init_bubbler(obj, entry);
|
||||
break;
|
||||
case 75:
|
||||
obj_init_flycoin(arg0, arg1);
|
||||
obj_init_flycoin(obj, entry);
|
||||
break;
|
||||
case 76:
|
||||
obj_init_goldenballoon(arg0, arg1);
|
||||
obj_init_goldenballoon(obj, entry);
|
||||
break;
|
||||
case 77:
|
||||
obj_init_laserbolt(arg0, arg1);
|
||||
obj_init_laserbolt(obj, entry);
|
||||
break;
|
||||
case 78:
|
||||
obj_init_lasergun(arg0, arg1);
|
||||
obj_init_lasergun(obj, entry);
|
||||
break;
|
||||
case 81:
|
||||
obj_init_groundzipper(arg0, arg1);
|
||||
obj_init_groundzipper(obj, entry);
|
||||
break;
|
||||
case 82:
|
||||
obj_init_overridepos(arg0, arg1);
|
||||
obj_init_overridepos(obj, entry);
|
||||
break;
|
||||
case 83:
|
||||
obj_init_wizpigship(arg0, arg1);
|
||||
obj_init_wizpigship(obj, entry);
|
||||
break;
|
||||
case 88:
|
||||
obj_init_boost(arg0, arg1);
|
||||
obj_init_boost(obj, entry);
|
||||
break;
|
||||
case 87:
|
||||
obj_init_silvercoin(arg0, arg1);
|
||||
obj_init_silvercoin(obj, entry);
|
||||
break;
|
||||
case 89:
|
||||
obj_init_wardensmoke(arg0, arg1);
|
||||
obj_init_wardensmoke(obj, entry);
|
||||
break;
|
||||
case 93:
|
||||
obj_init_unknown94(arg0, arg1);
|
||||
obj_init_unknown94(obj, entry);
|
||||
break;
|
||||
case 97:
|
||||
obj_init_teleport(arg0, arg1);
|
||||
obj_init_teleport(obj, entry);
|
||||
break;
|
||||
case 98:
|
||||
case 99:
|
||||
obj_init_lighthouse_rocketsignpost(arg0, arg1);
|
||||
obj_init_lighthouse_rocketsignpost(obj, entry);
|
||||
break;
|
||||
case 104:
|
||||
obj_init_rangetrigger(arg0, arg1);
|
||||
obj_init_rangetrigger(obj, entry);
|
||||
break;
|
||||
case 107:
|
||||
case 115:
|
||||
obj_init_fireball_octoweapon(arg0, arg1);
|
||||
obj_init_fireball_octoweapon(obj, entry);
|
||||
break;
|
||||
case 108:
|
||||
obj_init_frog(arg0, arg1);
|
||||
obj_init_frog(obj, entry);
|
||||
break;
|
||||
case 109:
|
||||
obj_init_silvercoin_adv2(arg0, arg1);
|
||||
obj_init_silvercoin_adv2(obj, entry);
|
||||
break;
|
||||
case 116:
|
||||
obj_init_levelname(arg0, arg1);
|
||||
obj_init_levelname(obj, entry);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user