mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-08-28 00:01:51 -04:00
Name some projectile symbols
This commit is contained in:
+53
-53
@@ -856,7 +856,7 @@
|
||||
#define DROPTYPE_SURRENDER 2
|
||||
#define DROPTYPE_THROWGRENADE 3
|
||||
#define DROPTYPE_HAT 4
|
||||
#define DROPTYPE_5 5
|
||||
#define DROPTYPE_DEBRIS 5
|
||||
#define DROPTYPE_OWNERREAP 6
|
||||
|
||||
#define DYNTEXTYPE_RIVER 1
|
||||
@@ -3072,7 +3072,7 @@
|
||||
#define OBJFLAG_CHOPPER_INIT 0x20000000
|
||||
#define OBJFLAG_DOOR_OPENTOFRONT 0x20000000
|
||||
#define OBJFLAG_HOVERCAR_INIT 0x20000000
|
||||
#define OBJFLAG_HOVERPROP_20000000 0x20000000
|
||||
#define OBJFLAG_HOVERPROP_ISCRATE 0x20000000
|
||||
#define OBJFLAG_LIFT_LATERALMOVEMENT 0x20000000
|
||||
#define OBJFLAG_MONITOR_20000000 0x20000000
|
||||
#define OBJFLAG_WEAPON_AICANNOTUSE 0x20000000
|
||||
@@ -3134,38 +3134,38 @@
|
||||
#define OBJFLAG2_WEAPON_HUGEEXP 0x80000000
|
||||
|
||||
// obj->flags3
|
||||
#define OBJFLAG3_PUSHABLE 0x00000001
|
||||
#define OBJFLAG3_GRABBABLE 0x00000002
|
||||
#define OBJFLAG3_DOOR_STICKY 0x00000004 // eg. Skedar Ruins
|
||||
#define OBJFLAG3_00000008 0x00000008 // Not used in scripts
|
||||
#define OBJFLAG3_FINDROOMSFAST 0x00000010 // Can use if obj never goes out of bounds or in overlapping rooms
|
||||
#define OBJFLAG3_AUTOCUTSCENESOUNDS 0x00000020 // For doors and objs - play default open/close noises
|
||||
#define OBJFLAG3_RTRACKED_YELLOW 0x00000040
|
||||
#define OBJFLAG3_CANHARDFREE 0x00000080 // Can free prop while on screen (MP weapons only)
|
||||
#define OBJFLAG3_HARDFREEING 0x00000100
|
||||
#define OBJFLAG3_00000200 0x00000200 // Not used in scripts
|
||||
#define OBJFLAG3_WALKTHROUGH 0x00000400
|
||||
#define OBJFLAG3_RTRACKED_BLUE 0x00000800
|
||||
#define OBJFLAG3_SHOWSHIELD 0x00001000 // Show shield effect around object (always)
|
||||
#define OBJFLAG3_HTMTERMINAL 0x00002000 // Terminal for Hacker Central scenario (HTM = Hack That Mac)
|
||||
#define OBJFLAG3_ISFETCHTARGET 0x00004000 // AI bot is fetching this obj
|
||||
#define OBJFLAG3_REACTTOSIGHT 0x00008000 // Turn sight blue or red when targeted with R
|
||||
#define OBJFLAG3_INTERACTABLE 0x00010000
|
||||
#define OBJFLAG3_SHIELDHIT 0x00020000 // Turns off when shield no longer visible
|
||||
#define OBJFLAG3_RENDERPOSTBG 0x00040000
|
||||
#define OBJFLAG3_DRAWONTOP 0x00080000
|
||||
#define OBJFLAG3_HOVERBEDSHIELD 0x00100000
|
||||
#define OBJFLAG3_INTERACTSHORTRANGE 0x00200000
|
||||
#define OBJFLAG3_PLAYERUNDROPPABLE 0x00400000 // Player does not drop item when dead
|
||||
#define OBJFLAG3_LONGPUSHRANGE 0x00800000 // Not used in scripts
|
||||
#define OBJFLAG3_PUSHFREELY 0x01000000 // Not used in scripts
|
||||
#define OBJFLAG3_GEOCYL 0x02000000 // Use cylinder geometry rather than block
|
||||
#define OBJFLAG3_04000000 0x04000000 // Not used in scripts
|
||||
#define OBJFLAG3_08000000 0x08000000 // Not used in scripts
|
||||
#define OBJFLAG3_KEEPGEOWHENDESTROYED 0x10000000
|
||||
#define OBJFLAG3_ONSHELF 0x20000000 // Obj is on a shelf - use bigger pickup range for Small Jo and Play as Elvis cheats and skip line of sight checks
|
||||
#define OBJFLAG3_INFRARED 0x40000000 // Obj is highlighted on IR scanner
|
||||
#define OBJFLAG3_80000000 0x80000000 // Not used in scripts
|
||||
#define OBJFLAG3_PUSHABLE 0x00000001
|
||||
#define OBJFLAG3_GRABBABLE 0x00000002
|
||||
#define OBJFLAG3_DOOR_STICKY 0x00000004 // eg. Skedar Ruins
|
||||
#define OBJFLAG3_SETTLEROT_BYACTUALSIZE 0x00000008
|
||||
#define OBJFLAG3_FINDROOMSFAST 0x00000010 // Can use if obj never goes out of bounds or in overlapping rooms
|
||||
#define OBJFLAG3_AUTOCUTSCENESOUNDS 0x00000020 // For doors and objs - play default open/close noises
|
||||
#define OBJFLAG3_RTRACKED_YELLOW 0x00000040
|
||||
#define OBJFLAG3_CANHARDFREE 0x00000080 // Can free prop while on screen (MP weapons only)
|
||||
#define OBJFLAG3_HARDFREEING 0x00000100
|
||||
#define OBJFLAG3_SETTLEROT_UPRIGHT 0x00000200
|
||||
#define OBJFLAG3_WALKTHROUGH 0x00000400
|
||||
#define OBJFLAG3_RTRACKED_BLUE 0x00000800
|
||||
#define OBJFLAG3_SHOWSHIELD 0x00001000 // Show shield effect around object (always)
|
||||
#define OBJFLAG3_HTMTERMINAL 0x00002000 // Terminal for Hacker Central scenario (HTM = Hack That Mac)
|
||||
#define OBJFLAG3_ISFETCHTARGET 0x00004000 // AI bot is fetching this obj
|
||||
#define OBJFLAG3_REACTTOSIGHT 0x00008000 // Turn sight blue or red when targeted with R
|
||||
#define OBJFLAG3_INTERACTABLE 0x00010000
|
||||
#define OBJFLAG3_SHIELDHIT 0x00020000 // Turns off when shield no longer visible
|
||||
#define OBJFLAG3_RENDERPOSTBG 0x00040000
|
||||
#define OBJFLAG3_DRAWONTOP 0x00080000
|
||||
#define OBJFLAG3_HOVERBEDSHIELD 0x00100000
|
||||
#define OBJFLAG3_INTERACTSHORTRANGE 0x00200000
|
||||
#define OBJFLAG3_PLAYERUNDROPPABLE 0x00400000 // Player does not drop item when dead
|
||||
#define OBJFLAG3_LONGPUSHRANGE 0x00800000 // Not used in scripts
|
||||
#define OBJFLAG3_PUSHFREELY 0x01000000 // Not used in scripts
|
||||
#define OBJFLAG3_GEOCYL 0x02000000 // Use cylinder geometry rather than block
|
||||
#define OBJFLAG3_04000000 0x04000000 // Not used in scripts
|
||||
#define OBJFLAG3_SETTLEROT_LAPTOP 0x08000000
|
||||
#define OBJFLAG3_KEEPGEOWHENDESTROYED 0x10000000
|
||||
#define OBJFLAG3_ONSHELF 0x20000000 // Obj is on a shelf - use bigger pickup range for Small Jo and Play as Elvis cheats and skip line of sight checks
|
||||
#define OBJFLAG3_INFRARED 0x40000000 // Obj is highlighted on IR scanner
|
||||
#define OBJFLAG3_80000000 0x80000000 // Not used in scripts
|
||||
|
||||
// obj->hidden
|
||||
#define OBJHFLAG_LIFTDOOR 0x00000001
|
||||
@@ -3183,9 +3183,9 @@
|
||||
#define OBJHFLAG_00001000 0x00001000
|
||||
#define OBJHFLAG_PADLOCKEDDOOR 0x00002000
|
||||
#define OBJHFLAG_ACTIVATED_BY_BOND 0x00004000
|
||||
#define OBJHFLAG_00008000 0x00008000
|
||||
#define OBJHFLAG_00010000 0x00010000
|
||||
#define OBJHFLAG_00020000 0x00020000
|
||||
#define OBJHFLAG_ONANOTHEROBJ 0x00008000
|
||||
#define OBJHFLAG_IMMUNETOBOUNCES 0x00010000
|
||||
#define OBJHFLAG_ATTACHED 0x00020000
|
||||
#define OBJHFLAG_ACTIVATED_BY_COOP 0x00040000
|
||||
#define OBJHFLAG_HASOWNER 0x00080000
|
||||
#define OBJHFLAG_SUSPICIOUS 0x00100000
|
||||
@@ -3473,22 +3473,22 @@
|
||||
#define PROFILE_RDP_START1 0x40001
|
||||
#define PROFILE_AUDIOFRAME_END 0x60000
|
||||
|
||||
#define PROJECTILEFLAG_AIRBORNE 0x00000001
|
||||
#define PROJECTILEFLAG_00000002 0x00000002
|
||||
#define PROJECTILEFLAG_STICKY 0x00000004
|
||||
#define PROJECTILEFLAG_POWERED 0x00000010 // No gravity
|
||||
#define PROJECTILEFLAG_00000020 0x00000020
|
||||
#define PROJECTILEFLAG_LAUNCHING 0x00000080
|
||||
#define PROJECTILEFLAG_00000100 0x00000100
|
||||
#define PROJECTILEFLAG_FALLING 0x00000400
|
||||
#define PROJECTILEFLAG_SLIDING 0x00000800
|
||||
#define PROJECTILEFLAG_00001000 0x00001000
|
||||
#define PROJECTILEFLAG_00002000 0x00002000
|
||||
#define PROJECTILEFLAG_NOTIMELIMIT 0x00004000
|
||||
#define PROJECTILEFLAG_INROOM 0x00008000
|
||||
#define PROJECTILEFLAG_00010000 0x00010000
|
||||
#define PROJECTILEFLAG_LIGHTWEIGHT 0x40000000
|
||||
#define PROJECTILEFLAG_FREE 0x80000000
|
||||
#define PROJECTILEFLAG_AIRBORNE 0x00000001
|
||||
#define PROJECTILEFLAG_FORCEGOODBOUNCE 0x00000002 // Projectile's first bounce will have a forced minimum upward velocity
|
||||
#define PROJECTILEFLAG_STICKY 0x00000004
|
||||
#define PROJECTILEFLAG_POWERED 0x00000010 // No gravity
|
||||
#define PROJECTILEFLAG_MISSILE 0x00000020 // Implemented but unused
|
||||
#define PROJECTILEFLAG_LAUNCHING 0x00000080
|
||||
#define PROJECTILEFLAG_BOUNCEKEEPROT 0x00000100
|
||||
#define PROJECTILEFLAG_SETTLING 0x00000400 // Projectile is finding its final rotation for resting
|
||||
#define PROJECTILEFLAG_SLIDING 0x00000800
|
||||
#define PROJECTILEFLAG_TICKEDEARLY 0x00001000
|
||||
#define PROJECTILEFLAG_TICKEDEARLYMOVED 0x00002000
|
||||
#define PROJECTILEFLAG_NOTIMELIMIT 0x00004000
|
||||
#define PROJECTILEFLAG_INROOM 0x00008000
|
||||
#define PROJECTILEFLAG_DONEOOBSEARCH 0x00010000
|
||||
#define PROJECTILEFLAG_LIGHTWEIGHT 0x40000000
|
||||
#define PROJECTILEFLAG_FREE 0x80000000
|
||||
|
||||
#define PROPFLAG_RENDERPOSTBG 0x01
|
||||
#define PROPFLAG_ONTHISSCREENTHISTICK 0x02
|
||||
|
||||
@@ -21,7 +21,7 @@ void bgun_free_gun_mem(void);
|
||||
bool bgun_change_gun_mem(s32 newowner);
|
||||
bool bgun_load_all(void);
|
||||
struct modeldef *bgun_get_cart_modeldef(void);
|
||||
void bgun0f09ebcc(struct defaultobj *obj, struct coord *coord, RoomNum *rooms, Mtxf *matrix1, struct coord *velocity, Mtxf *matrix2, struct prop *prop, struct coord *pos);
|
||||
void bgun_configure_projectile(struct defaultobj *obj, struct coord *coord, RoomNum *rooms, Mtxf *matrix1, struct coord *velocity, Mtxf *matrix2, struct prop *prop, struct coord *pos);
|
||||
struct defaultobj *bgun_create_thrown_projectile2(struct chrdata *chr, struct gset *gset, struct coord *pos, RoomNum *rooms, Mtxf *arg4, struct coord *velocity);
|
||||
void bgun_create_thrown_projectile(s32 handnum, struct gset *gset);
|
||||
void bgun_create_fired_projectile(s32 handnum);
|
||||
|
||||
@@ -39,7 +39,7 @@ bool model_get_screen_coords(struct model *model, f32 *x2, f32 *x1, f32 *y2, f32
|
||||
void obj_get_screeninfo(struct coord *arg0, f32 *arg1, f32 *arg2, f32 *arg3, f32 *arg4);
|
||||
struct defaultobj *obj_find_by_pad_num(s32 padnum);
|
||||
void projectiles_unref_owner(struct prop *owner);
|
||||
void func0f0685e4(struct prop *prop);
|
||||
void obj_ensure_projectile(struct prop *prop);
|
||||
void projectile_set_sticky(struct prop *prop);
|
||||
struct embedment *embedment_allocate(void);
|
||||
s32 obj_get_destroyed_level(struct defaultobj *obj);
|
||||
@@ -80,7 +80,7 @@ void hoverprop_set_turn_angle(struct defaultobj *obj, f32 angle);
|
||||
s32 func0f072144(struct defaultobj *obj, struct coord *arg1, f32 arg2, bool arg3);
|
||||
void hoverbike_update_movement(struct hoverbikeobj *hoverbike, f32 arg1, f32 arg2, f32 arg3);
|
||||
s32 projectile_launch(struct defaultobj *obj, struct projectile *projectile, struct coord *arg2, struct coord *arg3);
|
||||
s32 projectile_tick(struct defaultobj *obj, bool *embedded);
|
||||
bool projectile_tick(struct defaultobj *obj, bool *embedded);
|
||||
struct chopperobj *chopper_from_hovercar(struct chopperobj *obj);
|
||||
bool chopper_check_target_in_fov(struct chopperobj *hovercar, u8 param_2);
|
||||
bool chopper_check_target_in_sight(struct chopperobj *obj);
|
||||
|
||||
+24
-19
@@ -1330,25 +1330,30 @@ struct chrdata {
|
||||
struct projectile {
|
||||
/*0x000*/ u32 flags;
|
||||
/*0x004*/ struct coord speed; // distance moved in last tick
|
||||
/*0x010*/ f32 unk010;
|
||||
/*0x014*/ f32 unk014;
|
||||
/*0x018*/ f32 unk018;
|
||||
/*0x01c*/ f32 unk01c;
|
||||
union {
|
||||
struct coord accel;
|
||||
struct {
|
||||
/*0x010*/ f32 fbwspeed;
|
||||
/*0x014*/ f32 fbwrotx;
|
||||
/*0x018*/ f32 fbwroty;
|
||||
};
|
||||
};
|
||||
/*0x01c*/ f32 missileyaccel;
|
||||
/*0x020*/ Mtxf mtx;
|
||||
/*0x060*/ f32 unk060;
|
||||
/*0x064*/ f32 unk064;
|
||||
/*0x060*/ f32 settledrotfrac;
|
||||
/*0x064*/ f32 settledrotinc;
|
||||
/*0x068*/ f32 unk068[4];
|
||||
/*0x078*/ f32 unk078[4];
|
||||
/*0x088*/ struct prop *ownerprop;
|
||||
/*0x08c*/ f32 unk08c;
|
||||
/*0x08c*/ f32 hitspeedpreservationfrac;
|
||||
/*0x090*/ s32 bouncecount;
|
||||
/*0x094*/ s32 bounceframe;
|
||||
/*0x098*/ f32 unk098;
|
||||
/*0x098*/ f32 speeddecel;
|
||||
/*0x09c*/ s32 lastwooshframe;
|
||||
/*0x0a0*/ s32 flighttime240;
|
||||
/*0x0a4*/ s32 unk0a4;
|
||||
/*0x0a8*/ f32 unk0a8;
|
||||
/*0x0ac*/ f32 unk0ac;
|
||||
/*0x0a4*/ s32 collisionframe;
|
||||
/*0x0a8*/ f32 missiley;
|
||||
/*0x0ac*/ f32 missileyspeed;
|
||||
/*0x0b0*/ s16 droptype;
|
||||
/*0x0b2*/ s16 powerlimit240;
|
||||
/*0x0b4*/ s32 pickuptimer240;
|
||||
@@ -1356,13 +1361,13 @@ struct projectile {
|
||||
/*0x0c4*/ struct coord nextsteppos;
|
||||
/*0x0d0*/ s32 losttimer240;
|
||||
/*0x0d4*/ struct defaultobj *obj;
|
||||
/*0x0d8*/ s32 unk0d8;
|
||||
/*0x0dc*/ f32 unk0dc;
|
||||
/*0x0e0*/ f32 unk0e0;
|
||||
/*0x0e4*/ f32 unk0e4;
|
||||
/*0x0d8*/ s32 startframe;
|
||||
/*0x0dc*/ f32 yrotspeed;
|
||||
/*0x0e0*/ f32 yrotdecel;
|
||||
/*0x0e4*/ f32 excessivedecelrate;
|
||||
/*0x0e8*/ struct prop *targetprop; // for homing rockets
|
||||
/*0x0ec*/ f32 unk0ec;
|
||||
/*0x0f0*/ f32 unk0f0;
|
||||
/*0x0ec*/ f32 yrotexcessivedecelbase;
|
||||
/*0x0f0*/ f32 xzexcessivedecelbase;
|
||||
/*0x0f4*/ s32 smoketimer240;
|
||||
/*0x0f8*/ s16 waypads[MAX_CHRWAYPOINTS];
|
||||
/*0x104*/ u8 numwaypads;
|
||||
@@ -2957,10 +2962,10 @@ struct funcdef_shootprojectile {
|
||||
/*0x44*/ u32 unk44; // unused
|
||||
/*0x48*/ f32 scale;
|
||||
/*0x4c*/ s32 speed;
|
||||
/*0x50*/ f32 unk50;
|
||||
/*0x50*/ f32 speeddecel;
|
||||
/*0x54*/ s32 traveldist;
|
||||
/*0x58*/ s32 timer60;
|
||||
/*0x5c*/ f32 reflectangle;
|
||||
/*0x5c*/ f32 hitspeedpreservationfrac;
|
||||
/*0x60*/ s16 soundnum;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user