Decompile objLand

This commit is contained in:
Ryan Dwyer
2022-04-12 21:18:06 +10:00
parent 2e469c1ddb
commit 72d0d415d3
16 changed files with 280 additions and 559 deletions
+5 -5
View File
@@ -104,15 +104,15 @@ extern s32 g_MaxHatSlots;
extern s32 g_MaxAmmoCrates;
extern s32 g_MaxDebrisSlots;
extern s32 g_MaxProjectiles;
extern s32 g_MaxMonitorThings;
extern s32 g_MaxEmbedments;
extern struct weaponobj *g_WeaponSlots;
extern struct hatobj *g_HatSlots;
extern struct ammocrateobj *g_AmmoCrates;
extern struct defaultobj *g_DebrisSlots;
extern struct projectile *g_Projectiles;
extern struct monitormount *g_MonitorMounts;
extern u32 var8009ce70;
extern u32 var8009ce74;
extern struct embedment *g_Embedments;
extern struct model *g_EmbedModel;
extern struct modelnode *g_EmbedNode;
extern u32 var8009ce78[4];
extern u32 var8009ce88[4];
extern struct tvscreen var8009ce98;
@@ -125,7 +125,7 @@ extern u32 g_ObjectiveStatuses[MAX_OBJECTIVES];
extern struct tag *g_TagsLinkedList;
extern struct briefingobj *g_BriefingObjs;
extern struct criteria_roomentered *g_RoomEnteredCriterias;
extern struct criteria_multiroomentered *g_MultiroomEnteredCriterias;
extern struct criteria_throwinroom *g_ThrowInRoomCriterias;
extern struct criteria_holograph *g_HolographCriterias;
extern struct sndstate *g_CasingAudioHandles[2];
extern s32 var8009d0d8;
+5 -5
View File
@@ -800,6 +800,9 @@
#define DROPTYPE_5 5
#define DROPTYPE_OWNERREAP 6
// Might be the same flags as PROJECTILEFLAG
#define EMBEDMENTFLAG_FREE 0x00000001
#define EXPLOSIONTYPE_NONE 0
#define EXPLOSIONTYPE_BULLETHOLE 1
#define EXPLOSIONTYPE_EYESPY 2
@@ -2469,9 +2472,6 @@
#define MODFILE_MPSETUP 2
#define MODFILE_BOSS 4
// Might be the same flags as PROJECTILEFLAG
#define MONITORMOUNTFLAG_FREE 0x00000001
#define MOVEMODE_WALK 0
#define MOVEMODE_BIKE 3
#define MOVEMODE_GRAB 4
@@ -3050,7 +3050,7 @@
#define OBJHFLAG_ISRETICK 0x00000008
#define OBJHFLAG_TAGGED 0x00000010
#define OBJHFLAG_00000020 0x00000020 // thrown knife
#define OBJHFLAG_HANGINGMONITOR 0x00000040
#define OBJHFLAG_EMBEDDED 0x00000040 // obj is embedded in a chr or other obj (eg. knife)
#define OBJHFLAG_AIRBORNE 0x00000080
#define OBJHFLAG_00000100 0x00000100
#define OBJHFLAG_00000200 0x00000200
@@ -3115,7 +3115,7 @@
#define OBJECTIVETYPE_HOLOGRAPH 0x1e
#define OBJECTIVETYPE_1F 0x1f
#define OBJECTIVETYPE_ENTERROOM 0x20
#define OBJECTIVETYPE_ATTACHOBJ 0x21
#define OBJECTIVETYPE_THROWINROOM 0x21
#define OBJTYPE_22 0x22
#define OBJTYPE_BRIEFING 0x23
#define OBJTYPE_GASBOTTLE 0x24
+1 -1
View File
@@ -217,7 +217,7 @@ extern struct padlockeddoorobj *g_PadlockedDoors;
extern struct safeitemobj *g_SafeItems;
extern struct linksceneryobj *g_LinkedScenery;
extern struct blockedpathobj *g_BlockedPaths;
extern struct prop *var80069930;
extern struct prop *g_EmbedProp;
extern s32 var80069934;
extern f32 g_CameraWaitMultiplier;
extern f32 var8006994c;
+2 -2
View File
@@ -11,7 +11,7 @@ void tagInsert(struct tag *tag);
void briefingInsert(struct briefingobj *obj);
void objectiveInsert(struct objective *objective);
void objectiveAddRoomEnteredCriteria(struct criteria_roomentered *criteria);
void objectiveAddMultiroomEnteredCriteria(struct criteria_multiroomentered *criteria);
void objectiveAddThrowInRoomCriteria(struct criteria_throwinroom *criteria);
void objectiveAddHolographCriteria(struct criteria_holograph *criteria);
u32 xorBaffbeff(u32 value);
@@ -27,7 +27,7 @@ void objectivesDisableChecking(void);
void objectivesShowHudmsg(char *buffer, s32 hudmsgtype);
void objectivesCheckAll(void);
void objectiveCheckRoomEntered(s32 currentroom);
void objectiveCheckMultiroomEntered(s32 arg0, s16 *requiredrooms);
void objectiveCheckThrowInRoom(s32 arg0, s16 *requiredrooms);
void objectiveCheckHolograph(f32 sqdist);
struct prop *chopperGetTargetProp(struct chopperobj *heli);
struct defaultobj *objFindByTagId(s32 tag_id);
+8 -8
View File
@@ -6,7 +6,7 @@
extern u32 var800698f0;
extern u32 var800698f4;
extern struct prop *var80069930;
extern struct prop *g_EmbedProp;
extern s32 var80069934;
extern f32 g_CameraWaitMultiplier;
extern f32 var8006994c;
@@ -71,8 +71,8 @@ void projectileReset(struct projectile *projectile);
struct projectile *projectileAllocate(void);
void func0f0685e4(struct prop *prop);
void objSetProjectileFlag4(struct prop *prop);
void monitormountFree(struct monitormount *mount);
struct monitormount *monitormountAllocate(void);
void embedmentFree(struct embedment *embedment);
struct embedment *embedmentAllocate(void);
s32 objGetShotsTaken(struct defaultobj *obj);
s32 objGetDestroyedLevel(struct defaultobj *obj);
struct modelnode *func0f0687e4(struct model *model);
@@ -121,11 +121,11 @@ void applyRotation(f32 *angle, f32 maxrot, f32 *speed, f32 accel, f32 decel, f32
u32 func0f06dbd8(void);
void knifePlayWooshSound(struct defaultobj *obj);
void func0f06e9cc(struct coord *arg0, Mtxf *arg1);
void func0f06eb4c(struct defaultobj *obj, struct coord *arg1, struct coord *arg2);
void func0f06ec20(struct weaponobj *weapon, struct coord *arg1);
void func0f06ed64(struct defaultobj *obj, struct coord *arg1, struct coord *arg2);
bool func0f06ef44(struct prop *prop, struct prop *parent, struct model *model, struct modelnode *node);
u32 func0f06f0a0(void);
void objLand2(struct defaultobj *obj, struct coord *arg1, struct coord *arg2);
void boltLand(struct weaponobj *weapon, struct coord *arg1);
void knifeLand(struct defaultobj *obj, struct coord *arg1, struct coord *arg2);
bool objEmbed(struct prop *prop, struct prop *parent, struct model *model, struct modelnode *node);
void objLand(struct prop *prop, struct coord *arg1, struct coord *arg2, bool *embedded);
bool propExplode(struct prop *prop, s32 explosiontype);
void ammocrateTick(struct prop *ammocrate);
void weaponTick(struct prop *weapon);
+2 -2
View File
@@ -121,8 +121,8 @@
#define require_room_entered(room) \
0x20, room,
#define require_object_thrown_on_target(throw_object, target_object) \
0x21, throw_object, target_object, 0,
#define require_object_thrown_in_room(object, pad) \
0x21, object, pad, 0,
#define briefing(value, text) \
0x23, value, text, 0,
+4 -4
View File
@@ -1513,7 +1513,7 @@ struct projectile {
/*0x108*/ struct prop *unk108;
};
struct monitormount {
struct embedment {
/*0x000*/ u32 flags;
/*0x004*/ Mtxf matrix;
/*0x044*/ struct projectile *projectile;
@@ -1601,7 +1601,7 @@ struct defaultobj {
};
union {
/*0x48*/ struct projectile *projectile;
/*0x48*/ struct monitormount *monitormount;
/*0x48*/ struct embedment *embedment;
};
/*0x4c*/ s16 damage;
/*0x4e*/ s16 maxdamage;
@@ -4626,12 +4626,12 @@ struct criteria_roomentered {
struct criteria_roomentered *next;
};
struct criteria_multiroomentered {
struct criteria_throwinroom {
u32 unk00;
u32 unk04;
u32 pad;
u32 status;
struct criteria_multiroomentered *next;
struct criteria_throwinroom *next;
};
struct criteria_holograph {