mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-08-18 05:08:36 -04:00
Decompile chrDamage
This commit is contained in:
+27
-18
@@ -263,22 +263,30 @@
|
||||
label,
|
||||
|
||||
/**
|
||||
* Damages the chr by the given amount.
|
||||
* Damages the chr using the given weapon's stats.
|
||||
*/
|
||||
#define damage_chr(chr, value) \
|
||||
#define damage_chr(chr, weapon) \
|
||||
mkshort(0x0019), \
|
||||
chr, \
|
||||
0x08, \
|
||||
value, \
|
||||
0x00, \
|
||||
0x00, \
|
||||
0x00,
|
||||
IBH_HEAD, \
|
||||
weapon, \
|
||||
0, \
|
||||
0, \
|
||||
FUNC_PRIMARY,
|
||||
|
||||
#define chr_shoot_chr(chr1, chr2, weapon) \
|
||||
/**
|
||||
* Makes achr damage vchr as if achr shot vchr. No actual firing animation is
|
||||
* done, nor is any bullet beam shown and the chrs don't even need line of sight
|
||||
* to each other.
|
||||
*
|
||||
* The ibh value is the body part the victim is shot in.
|
||||
* It's expected to be an IBH constant.
|
||||
*/
|
||||
#define chr_damage_chr(achr, vchr, ibh) \
|
||||
mkshort(0x001a), \
|
||||
chr1, \
|
||||
chr2, \
|
||||
weapon,
|
||||
achr, \
|
||||
vchr, \
|
||||
ibh,
|
||||
|
||||
/**
|
||||
* Makes the chr consider throwing a grenade, using their grenade probability
|
||||
@@ -3200,14 +3208,15 @@
|
||||
bool,
|
||||
|
||||
/**
|
||||
* Poison or unpoison the given chr by the given amount.
|
||||
* Damage or undamage the given chr by the given amount.
|
||||
* 1 unit of amount is equal to 1/32 of a damage unit (0.03125).
|
||||
* For reference, full health for a player is 8 damage units.
|
||||
*
|
||||
* If operation is 0, the chr is poisoned, likely without any ongoing effects.
|
||||
* If operation is 2, the chr is poisoned, likely with the same effects as being
|
||||
* hit by a combat knife.
|
||||
* If operation is anything else, the chr is unpoisoned by the given amount.
|
||||
* If operation is 0, the chr is damaged.
|
||||
* If operation is 1, the chr is undamaged (ie. given health).
|
||||
* If operation is 2, the chr is damaged and poisoned.
|
||||
*/
|
||||
#define poison_chr(chr, amount, operation) \
|
||||
#define damage_chr_by_amount(chr, amount, operation) \
|
||||
mkshort(0x016e), \
|
||||
chr, \
|
||||
amount, \
|
||||
@@ -3412,7 +3421,7 @@
|
||||
* The two values are the lower and upper bounds of a random percentage. For
|
||||
* example, when using the values 40 and 60 a random percentage will be chosen
|
||||
* between 40% and 60%. This percentage is then applied to the weapon's clip
|
||||
* size. When happens with that is not yet known.
|
||||
* size. What happens with that is not yet known.
|
||||
*
|
||||
* Note that this command can fail, but doesn't have a label argument so failure
|
||||
* cannot be detected.
|
||||
|
||||
+67
-53
@@ -401,6 +401,10 @@
|
||||
|
||||
#define CHECKSUM_PLACEHOLDER 0x99aabbcc
|
||||
|
||||
#define CHOKETYPE_NONE 0
|
||||
#define CHOKETYPE_GURGLE 1
|
||||
#define CHOKETYPE_GASP 2
|
||||
|
||||
#define CHR_P1P2_OPPOSITE 0xf1
|
||||
#define CHR_P1P2 0xf2
|
||||
#define CHR_ANY 0xf3 // Only supported by if_chr_activated_object command
|
||||
@@ -446,7 +450,7 @@
|
||||
#define CHRFLAG0_10000000 0x10000000 // If set, "IM GOING TO POP"
|
||||
#define CHRFLAG0_CAN_HEARSPAWN 0x20000000
|
||||
#define CHRFLAG0_NOHEAR 0x40000000 // Globals, Villa
|
||||
#define CHRFLAG0_80000000 0x80000000 // Globals, Villa, Chicago, CI Training
|
||||
#define CHRFLAG0_CANLOSEGUN 0x80000000 // Globals, Villa, Chicago, CI Training
|
||||
|
||||
// chr->flags2
|
||||
#define CHRFLAG1_00000001 0x00000001 // Globals, Extraction, Air Base, Deep Sea
|
||||
@@ -483,38 +487,38 @@
|
||||
#define CHRFLAG1_80000000 0x80000000 // Globals
|
||||
|
||||
// chr->hidden
|
||||
#define CHRHFLAG_00000001 0x00000001 // Set when chr drops weapon
|
||||
#define CHRHFLAG_IS_HEARING_TARGET 0x00000002 // Not used in scripts
|
||||
#define CHRHFLAG_00000004 0x00000004 // Related to firing - hand 1
|
||||
#define CHRHFLAG_00000008 0x00000008 // Related to firing - hand 0
|
||||
#define CHRHFLAG_00000010 0x00000010 // Not used in scripts
|
||||
#define CHRHFLAG_REAPED 0x00000020
|
||||
#define CHRHFLAG_TIMER_RUNNING 0x00000040
|
||||
#define CHRHFLAG_00000080 0x00000080 // Not used in scripts
|
||||
#define CHRHFLAG_00000100 0x00000100 // Not used in scripts
|
||||
#define CHRHFLAG_00000200 0x00000200 // Not used in scripts
|
||||
#define CHRHFLAG_PASSIVE 0x00000400
|
||||
#define CHRHFLAG_KEEP_CORPSE 0x00000800 // Appears to be misnamed
|
||||
#define CHRHFLAG_UNTARGETABLE 0x00001000
|
||||
#define CHRHFLAG_00002000 0x00002000 // Globals, Rescue guards once disguised
|
||||
#define CHRHFLAG_TRIGGER_BUDDY_WARP 0x00004000
|
||||
#define CHRHFLAG_00008000 0x00008000 // Duel only. Set on each opponent when they start combat.
|
||||
#define CHRHFLAG_DISGUISE_UNCOVERED 0x00010000
|
||||
#define CHRHFLAG_00020000 0x00020000 // Used in every stage, on Jo and other chrs. Only ever set, never unset or read.
|
||||
#define CHRHFLAG_00040000 0x00040000 // Not used in scripts
|
||||
#define CHRHFLAG_DISGUISED 0x00080000
|
||||
#define CHRHFLAG_00100000 0x00100000 // Set before warping to pad, never unset or read
|
||||
#define CHRHFLAG_NEEDANIM 0x00200000
|
||||
#define CHRHFLAG_00400000 0x00400000 // Set in Chicago, G5, AF1, Defense, Attack Ship, Skedar Ruins, Maian SOS, WAR
|
||||
#define CHRHFLAG_00800000 0x00800000 // Not used in scripts
|
||||
#define CHRHFLAG_01000000 0x01000000 // Globals - asked about gun (eg. "where did you get that?")
|
||||
#define CHRHFLAG_02000000 0x02000000 // Similar to DISGUISED flag, but not sure where set
|
||||
#define CHRHFLAG_04000000 0x04000000 // Related to disguise and detection
|
||||
#define CHRHFLAG_08000000 0x08000000 // Globals, Villa and G5
|
||||
#define CHRHFLAG_10000000 0x10000000 // Related to invincible flag
|
||||
#define CHRHFLAG_CLOAKED 0x20000000
|
||||
#define CHRHFLAG_ANTICANNOTPUSH 0x40000000
|
||||
#define CHRHFLAG_PSYCHOSISED 0x80000000
|
||||
#define CHRHFLAG_00000001 0x00000001 // Set when chr drops weapon
|
||||
#define CHRHFLAG_IS_HEARING_TARGET 0x00000002 // Not used in scripts
|
||||
#define CHRHFLAG_00000004 0x00000004 // Related to firing - hand 1
|
||||
#define CHRHFLAG_00000008 0x00000008 // Related to firing - hand 0
|
||||
#define CHRHFLAG_00000010 0x00000010 // Not used in scripts
|
||||
#define CHRHFLAG_REAPED 0x00000020
|
||||
#define CHRHFLAG_TIMER_RUNNING 0x00000040
|
||||
#define CHRHFLAG_00000080 0x00000080 // Not used in scripts
|
||||
#define CHRHFLAG_00000100 0x00000100 // Not used in scripts
|
||||
#define CHRHFLAG_00000200 0x00000200 // Not used in scripts
|
||||
#define CHRHFLAG_PASSIVE 0x00000400
|
||||
#define CHRHFLAG_KEEP_CORPSE 0x00000800 // Appears to be misnamed
|
||||
#define CHRHFLAG_UNTARGETABLE 0x00001000
|
||||
#define CHRHFLAG_00002000 0x00002000 // Globals, Rescue guards once disguised
|
||||
#define CHRHFLAG_TRIGGER_BUDDY_WARP 0x00004000
|
||||
#define CHRHFLAG_00008000 0x00008000 // Duel only. Set on each opponent when they start combat.
|
||||
#define CHRHFLAG_DISGUISE_UNCOVERED 0x00010000
|
||||
#define CHRHFLAG_00020000 0x00020000 // Used in every stage, on Jo and other chrs. Only ever set, never unset or read.
|
||||
#define CHRHFLAG_00040000 0x00040000 // Not used in scripts
|
||||
#define CHRHFLAG_DISGUISED 0x00080000
|
||||
#define CHRHFLAG_00100000 0x00100000 // Set before warping to pad, never unset or read
|
||||
#define CHRHFLAG_NEEDANIM 0x00200000
|
||||
#define CHRHFLAG_00400000 0x00400000 // Set in Chicago, G5, AF1, Defense, Attack Ship, Skedar Ruins, Maian SOS, WAR
|
||||
#define CHRHFLAG_00800000 0x00800000 // Not used in scripts
|
||||
#define CHRHFLAG_01000000 0x01000000 // Globals - asked about gun (eg. "where did you get that?")
|
||||
#define CHRHFLAG_02000000 0x02000000 // Similar to DISGUISED flag, but not sure where set
|
||||
#define CHRHFLAG_04000000 0x04000000 // Related to disguise and detection
|
||||
#define CHRHFLAG_08000000 0x08000000 // Globals, Villa and G5
|
||||
#define CHRHFLAG_10000000 0x10000000 // Related to invincible flag
|
||||
#define CHRHFLAG_CLOAKED 0x20000000
|
||||
#define CHRHFLAG_ANTINONINTERACTABLE 0x40000000
|
||||
#define CHRHFLAG_PSYCHOSISED 0x80000000
|
||||
|
||||
// chr->hidden2
|
||||
#define CHRH2FLAG_0001 0x0001
|
||||
@@ -530,7 +534,7 @@
|
||||
#define CHRCFLAG_CLONEABLE 0x00000002
|
||||
#define CHRCFLAG_NEAR_MISS 0x00000004
|
||||
#define CHRCFLAG_NEVER_BEEN_ON_SCREEN 0x00000008
|
||||
#define CHRCFLAG_INVINCIBLE_TO_GUNFIRE 0x00000010
|
||||
#define CHRCFLAG_INVINCIBLE 0x00000010
|
||||
#define CHRCFLAG_00000020 0x00000020 // Chicago, Infiltration, AF1, Ruins, WAR
|
||||
#define CHRCFLAG_00000040 0x00000040 // Used quite a lot
|
||||
#define CHRCFLAG_00000080 0x00000080 // Defection programmer, Rescue lab techs, globals when doing idle animation
|
||||
@@ -557,7 +561,7 @@
|
||||
#define CHRCFLAG_10000000 0x10000000 // Not used in scripts
|
||||
#define CHRCFLAG_20000000 0x20000000 // Not used in scripts
|
||||
#define CHRCFLAG_40000000 0x40000000 // Not used in scripts
|
||||
#define CHRCFLAG_INJURED 0x80000000
|
||||
#define CHRCFLAG_INJUREDTARGET 0x80000000
|
||||
|
||||
#define CIQUIP_GREETING 0
|
||||
#define CIQUIP_MAIN 1
|
||||
@@ -855,6 +859,8 @@
|
||||
// Weapon functions
|
||||
#define FUNC_PRIMARY 0
|
||||
#define FUNC_SECONDARY 1
|
||||
#define FUNC_2 2
|
||||
#define FUNC_POISON 3 // Internal function for delivering knife poison periodically
|
||||
|
||||
#define FUNCFLAG_BURST3 0x00000002
|
||||
#define FUNCFLAG_BURST50 0x00000020 // automatics only
|
||||
@@ -866,13 +872,13 @@
|
||||
#define FUNCFLAG_BURST2 0x00001000
|
||||
#define FUNCFLAG_NOMUZZLEFLASH 0x00002000
|
||||
#define FUNCFLAG_EXPLOSIVESHELLS 0x00004000
|
||||
#define FUNCFLAG_LESSDAMAGE 0x00008000
|
||||
#define FUNCFLAG_BLUNTIMPACT 0x00008000
|
||||
#define FUNCFLAG_NOSTUN 0x00010000
|
||||
#define FUNCFLAG_BURST5 0x00020000
|
||||
#define FUNCFLAG_DISCARDWEAPON 0x00040000 // Dragon and Laptop throw
|
||||
#define FUNCFLAG_THREATDETECTOR 0x00080000
|
||||
#define FUNCFLAG_AUTOSWITCHUNSELECTABLE 0x00100000
|
||||
#define FUNCFLAG_00200000 0x00200000 // Psychosis gun only, but doesn't trigger psychosis
|
||||
#define FUNCFLAG_PSYCHOSIS 0x00200000
|
||||
#define FUNCFLAG_00400000 0x00400000 // punch, disarm and pistol whip
|
||||
#define FUNCFLAG_00800000 0x00800000 // mostly throwables but some projectiles too
|
||||
#define FUNCFLAG_08000000 0x08000000 // rockets
|
||||
@@ -1026,6 +1032,9 @@
|
||||
#define HANGARBIO_MAIANVESSEL 21
|
||||
#define HANGARBIO_SKEDARSHUTTLE 22
|
||||
|
||||
#define HATTYPE_METAL 3
|
||||
#define HATTYPE_CLOTH 5
|
||||
|
||||
#define HEALTHSHOWMODE_HIDDEN 0 // health bar not visible
|
||||
#define HEALTHSHOWMODE_OPENING 1 // height expanding
|
||||
#define HEALTHSHOWMODE_PREVIOUS 2 // full height, showing previous health amount
|
||||
@@ -1055,21 +1064,26 @@
|
||||
#define HUDMSGTYPE_11 11
|
||||
|
||||
// chr->ivebeenhit values
|
||||
#define IBH_LFOOT 1
|
||||
#define IBH_LSHIN 2
|
||||
#define IBH_LTHIGH 3
|
||||
#define IBH_RFOOT 4
|
||||
#define IBH_RSHIN 5
|
||||
#define IBH_RTHIGH 6
|
||||
#define IBH_PELVIS 7
|
||||
#define IBH_HEAD 8
|
||||
#define IBH_LHAND 9
|
||||
#define IBH_LFOREARM 10
|
||||
#define IBH_LBICEP 11
|
||||
#define IBH_RHAND 12
|
||||
#define IBH_RFOREARM 13
|
||||
#define IBH_RBICEP 14
|
||||
#define IBH_TORSO 15
|
||||
#define IBH_LFOOT 1
|
||||
#define IBH_LSHIN 2
|
||||
#define IBH_LTHIGH 3
|
||||
#define IBH_RFOOT 4
|
||||
#define IBH_RSHIN 5
|
||||
#define IBH_RTHIGH 6
|
||||
#define IBH_PELVIS 7
|
||||
#define IBH_HEAD 8
|
||||
#define IBH_LHAND 9
|
||||
#define IBH_LFOREARM 10
|
||||
#define IBH_LBICEP 11
|
||||
#define IBH_RHAND 12
|
||||
#define IBH_RFOREARM 13
|
||||
#define IBH_RBICEP 14
|
||||
#define IBH_TORSO 15
|
||||
#define IBH_TAIL 16
|
||||
#define IBH_GUN 100
|
||||
#define IBH_HAT 110
|
||||
#define IBH_GENERAL 200
|
||||
#define IBH_GENERALHALF 201
|
||||
|
||||
#define IDLEACTION_STANDING 0x01
|
||||
#define IDLEACTION_SITTING_TYPING 0x02
|
||||
@@ -2958,7 +2972,7 @@
|
||||
#define SHOTREGION_BODY 2
|
||||
#define SHOTREGION_LIMB 3
|
||||
#define SHOTREGION_GUN 4
|
||||
#define SHOTREGION_5 5 // hat?
|
||||
#define SHOTREGION_HAT 5
|
||||
#define SHOTREGION_OBJECT 6
|
||||
|
||||
#define SIGHT_DEFAULT 0
|
||||
|
||||
+3
-3
@@ -191,8 +191,8 @@ extern s32 var80062c80;
|
||||
extern s32 g_ActiveMaleHeadsIndex;
|
||||
extern s32 g_ActiveFemaleHeadsIndex;
|
||||
extern f32 var80062ca0;
|
||||
extern f32 var80062ca4;
|
||||
extern f32 var80062ca8;
|
||||
extern f32 g_DamageReceivedScale;
|
||||
extern f32 g_DamageDealtScale;
|
||||
extern f32 var80062cac;
|
||||
extern s32 var80062cbc;
|
||||
extern struct animtablerow g_AnimTableHumanType100_A[];
|
||||
@@ -447,7 +447,7 @@ extern u32 var8007dc00;
|
||||
extern struct var8007e3d0 var8007e3d0[];
|
||||
extern u32 var8007e4a0;
|
||||
extern u32 var8007e4a4;
|
||||
extern f32 var8007e4a8;
|
||||
extern f32 g_ExplosionDamageReceivedScale;
|
||||
extern struct sparktype g_SparkTypes[];
|
||||
extern s32 g_SparksAreActive;
|
||||
extern struct weatherdata *g_WeatherData;
|
||||
|
||||
@@ -15,8 +15,8 @@ s16 getNextUnusedChrnum(void);
|
||||
struct prop *func0f020b14(struct prop *prop, struct model *model, struct coord *pos, s16 *rooms, f32 arg3, u8 *ailist);
|
||||
void func0f020d44(struct prop *prop, bool removechr);
|
||||
void chrUpdateAimProperties(struct chrdata *chr);
|
||||
void func0f02133c(struct chrdata *chr);
|
||||
void chrDoFlinchcntThing(struct chrdata *chr, f32 arg1);
|
||||
void chrFlinchBody(struct chrdata *chr);
|
||||
void chrFlinchHead(struct chrdata *chr, f32 arg1);
|
||||
f32 func0f02143c(struct chrdata *chr);
|
||||
void func0f021fa8(struct chrdata *chr, struct coord *pos, s16 *rooms);
|
||||
void func0f0220ec(struct chrdata *chr, s32 arg1, s32 arg2);
|
||||
@@ -49,7 +49,7 @@ u32 func0f028a50(void);
|
||||
u32 func0f028d50(void);
|
||||
u32 func0f028e18(void);
|
||||
u32 func0f028e6c(void);
|
||||
u32 func0f028f7c(void);
|
||||
void func0f028f7c(struct prop *prop, f32 shield, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6);
|
||||
void func0f0291d4(struct var80062a8c *thing);
|
||||
void func0f0292bc(struct prop *prop);
|
||||
s32 func0f02932c(struct prop *prop, s32 arg1);
|
||||
|
||||
@@ -51,21 +51,21 @@ void func0f031384(struct chrdata *chr, struct var80065750 **arg1, bool arg2, s32
|
||||
void chrAttackAmount(struct chrdata *chr, u32 entitytype, u32 entityid, u32 arg3);
|
||||
void chrBeginDeath(struct chrdata *chr, struct coord *dir, f32 relangle, s32 tableid, struct shorthand *hand, bool knockout, s32 aplayernum);
|
||||
u32 func0f032ac4(void);
|
||||
void func0f032fe4(struct chrdata *chr, struct coord *pos, f32 arg2, f32 arg3, u32 *arg4, u32 arg5);
|
||||
void func0f03323c(struct chrdata *chr, struct coord *pos, f32 arg2);
|
||||
u32 func0f033654(void);
|
||||
void func0f0336a8(struct chrdata *chr, u32 arg1, u32 arg2, u32 arg3);
|
||||
u32 func0f033728(void);
|
||||
u32 func0f0338e0(void);
|
||||
void func0f032fe4(struct chrdata *chr, struct coord *pos, f32 angle, s32 ibh, struct shorthand *hand, s32 playernum);
|
||||
void chrYeetFromPos(struct chrdata *chr, struct coord *pos, f32 arg2);
|
||||
s32 handGetBlurAmount(struct shorthand *hand);
|
||||
void chrKnockOut(struct chrdata *chr, f32 angle, s32 ibh, struct shorthand *hand);
|
||||
bool func0f033728(struct chrdata *chr, f32 *arg1);
|
||||
void chrChoke(struct chrdata *chr, s32 choketype);
|
||||
void chrSetShield(struct chrdata *chr, f32 shield);
|
||||
u32 func0f034080(void);
|
||||
void chrPoison(struct chrdata *chr, f32 damage, struct coord *vector, struct shorthand *hand, struct prop *prop);
|
||||
void func0f03417c(struct chrdata *chr, f32 damage, struct coord *vector, struct shorthand *hand, struct prop *prop);
|
||||
bool func0f034080(struct chrdata *chr, s32 arg1, struct prop *prop, s32 arg3, s32 arg4, s32 arg5);
|
||||
void chrDamageByMisc(struct chrdata *chr, f32 damage, struct coord *vector, struct shorthand *hand, struct prop *prop);
|
||||
void chrDamageByLaser(struct chrdata *chr, f32 damage, struct coord *vector, struct shorthand *hand, struct prop *prop);
|
||||
void func0f0341dc(struct chrdata *chr, f32 damage, struct coord *vector, struct shorthand *hand, struct prop *prop, u32 arg5, struct prop *prop2, s32 arg7, s32 arg8, s32 arg9, u32 arg10);
|
||||
void func0f034330(struct chrdata *chr, f32 damage, struct coord *vector, struct shorthand *hand, struct prop *prop, s32 arg5);
|
||||
void func0f034410(struct chrdata *chr, f32 damage, struct coord *vector, struct prop *prop, u32 arg4);
|
||||
void chrDamageByExplosion(struct chrdata *chr, f32 damage, struct coord *vector, struct prop *prop, struct coord *explosionpos);
|
||||
void playerUpdateDamageStats(struct prop *attacker, struct prop *victim, f32 damage);
|
||||
void func0f034524(struct chrdata *chr, f32 damage, struct coord *vector, struct shorthand *hand, struct prop *prop, u32 arg5, u32 arg6, struct prop *prop2, u32 arg8, u32 arg9, u32 arg10, s32 arg11, u32 arg12, u32 arg13);
|
||||
void chrDamage(struct chrdata *chr, f32 damage, struct coord *vector, struct shorthand *hand, struct prop *aprop, s32 ibh, bool damageshield, struct prop *prop2, s32 arg8, s32 arg9, s32 arg10, s32 arg11, bool explosion, struct coord *explosionpos);
|
||||
u32 func0f03645c(void);
|
||||
bool func0f03654c(struct chrdata *chr, struct coord *pos, s16 *rooms, struct coord *pos2, s16 *rooms2, struct coord *vector, f32 arg6, u32 types);
|
||||
bool propchrHasClearLineToPos(struct prop *prop, struct coord *dstpos, struct coord *vector);
|
||||
@@ -144,7 +144,7 @@ u32 func0f03f778(void);
|
||||
u32 func0f03fa10(void);
|
||||
u32 func0f03fab0(void);
|
||||
u32 func0f03fde4(void);
|
||||
void func0f03ff2c(struct chrdata *chr, struct coord *pos, struct coord *vector, s32 *arg3, s32 *arg4, s32 *arg5, s32 *arg6);
|
||||
void func0f03ff2c(struct chrdata *chr, struct coord *pos, struct coord *vector, s32 *arg3, s32 *ibh, s32 *arg5, s32 *arg6);
|
||||
void func0f04031c(struct coord *coord, f32 arg1, struct coord *coord2, f32 *arg3);
|
||||
u32 func0f0404d4(void);
|
||||
u32 func0f041a74(void);
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
/*0x0017*/ bool aiTryModifyAttack(void);
|
||||
/*0x0018*/ bool aiFaceEntity(void);
|
||||
/*0x0019*/ bool ai0019(void);
|
||||
/*0x001a*/ bool ai001a(void);
|
||||
/*0x001a*/ bool aiChrDamageChr(void);
|
||||
/*0x001b*/ bool aiConsiderGrenadeThrow(void);
|
||||
/*0x001c*/ bool aiDropItem(void);
|
||||
/*0x001d*/ bool aiJogToPad(void);
|
||||
@@ -344,7 +344,7 @@
|
||||
/*0x016b*/ bool ai016b(void);
|
||||
/*0x016c*/ bool aiNoOp016c(void);
|
||||
/*0x016d*/ bool aiChrAdjustMotionBlur(void);
|
||||
/*0x016e*/ bool aiPoisonChr(void);
|
||||
/*0x016e*/ bool aiDamageChrByAmount(void);
|
||||
/*0x016f*/ bool aiIfChrHasGun(void);
|
||||
/*0x0170*/ bool aiDoGunCommand(void);
|
||||
/*0x0171*/ bool aiIfDistanceToGunLessThan(void);
|
||||
|
||||
@@ -4,10 +4,10 @@
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
f32 pdmodeGetReaction(void);
|
||||
f32 pdmodeGetHealth(void);
|
||||
f32 pdmodeGetDamage(void);
|
||||
f32 pdmodeGetAccuracy(void);
|
||||
f32 pdmodeGetEnemyReactionSpeed(void);
|
||||
f32 pdmodeGetEnemyHealth(void);
|
||||
f32 pdmodeGetEnemyDamage(void);
|
||||
f32 pdmodeGetEnemyAccuracy(void);
|
||||
void func0f01b148(u32 arg0);
|
||||
void titleSetNextStage(s32 stagenum);
|
||||
|
||||
|
||||
@@ -113,7 +113,7 @@ void func0f0a24f0(struct coord *arg0, s32 handnum);
|
||||
u32 func0f0a27c8(void);
|
||||
void func0f0a29c8(void);
|
||||
bool weaponIsMissionCritical(s32 weaponnum);
|
||||
void currentPlayerLoseGunInNbombStorm(struct prop *prop);
|
||||
void currentPlayerLoseGun(struct prop *attacker);
|
||||
u32 func0f0a2da8(void);
|
||||
u32 func0f0a2e94(void);
|
||||
void playerDetonateRemoteMines(s32 playernum);
|
||||
|
||||
@@ -35,9 +35,9 @@ Gfx *fadeDraw(Gfx *gdl, u32 r, u32 g, u32 b, f32 frac);
|
||||
Gfx *currentPlayerDrawFade(Gfx *gdl);
|
||||
void currentPlayerUpdateColourScreenProperties(void);
|
||||
void currentPlayerTickChrFade(void);
|
||||
void func0f0bb69c(void);
|
||||
void currentPlayerShowHealthBar(void);
|
||||
void func0f0bb814(void);
|
||||
void func0f0bbf14(void);
|
||||
void currentPlayerUpdateHealthShow(void);
|
||||
Gfx *hudRenderHealthBar(Gfx *gdl);
|
||||
void currentPlayerSurroundWithExplosions(s32 arg0);
|
||||
void currentPlayerTickExplode(void);
|
||||
|
||||
@@ -18,7 +18,7 @@ bool func0f191638(struct chrdata *chr, bool arg1);
|
||||
bool aibotTick(struct prop *prop);
|
||||
f32 aibotCalculateMaxSpeed(struct chrdata *chr);
|
||||
void func0f1921f8(struct chrdata *chr, f32 *arg1, s32 arg2, f32 arg3);
|
||||
void func0f192628(struct chrdata *chr, struct prop *arg1);
|
||||
void aibotLoseGun(struct chrdata *chr, struct prop *attacker);
|
||||
void func0f19277c(struct chrdata *chr, s32 propnum);
|
||||
bool func0f19294c(struct chrdata *botchr, struct chrdata *otherchr);
|
||||
bool chrHasGround(struct chrdata *chr);
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
f32 func0f187770(u8 value);
|
||||
f32 mpHandicapToDamageScale(u8 value);
|
||||
void func0f187838(struct mpchr *mpchr);
|
||||
void mpStartMatch(void);
|
||||
void mpInit(void);
|
||||
|
||||
@@ -294,7 +294,7 @@ struct prop *chrGiveWeapon(struct chrdata *chr, s32 model, s32 weaponnum, u32 fl
|
||||
u32 func0f08bb3c(void);
|
||||
void func0f08bb5c(struct prop *prop, bool firing, s32 room);
|
||||
s32 func0f08bc5c(struct prop *prop);
|
||||
u32 func0f08bcf4(void);
|
||||
s32 hatGetType(struct prop *prop);
|
||||
bool doorIsUnlocked(struct prop *playerprop, struct prop *doorprop);
|
||||
bool func0f08bdd4(struct doorobj *door, struct coord *pos, f32 arg2, bool isbike);
|
||||
bool func0f08be80(struct doorobj *door, struct defaultobj *obj, bool isbike);
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
#include "types.h"
|
||||
|
||||
void splatTick(struct prop *prop);
|
||||
void func0f148e54(struct prop *prop, struct splat *arg1, struct coord *arg2, struct coord *arg3, s32 arg4, s32 arg5, s32 arg6);
|
||||
s32 func0f148f18(s32 qty, f32 arg1, struct prop *prop, struct splat *arg3, struct coord *arg4, struct coord *arg5, s32 arg6, s32 arg7, s32 arg8, s32 arg9, s32 arg10);
|
||||
bool func0f149274(f32 arg0, struct prop *prop, struct splat *arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7, s32 arg8);
|
||||
void func0f148e54(struct prop *prop, struct splat *arg1, struct coord *arg2, struct coord *arg3, s32 arg4, s32 arg5, struct chrdata *arg6);
|
||||
s32 func0f148f18(s32 qty, f32 arg1, struct prop *prop, struct splat *arg3, struct coord *arg4, struct coord *arg5, s32 arg6, s32 arg7, s32 arg8, struct chrdata *arg9, s32 arg10);
|
||||
bool func0f149274(f32 arg0, struct prop *prop, struct splat *arg2, f32 arg3, s32 arg4, s32 arg5, s32 arg6, struct chrdata *arg7, s32 arg8);
|
||||
void func0f149864(void);
|
||||
u32 func0f14986c(void);
|
||||
void chrInitSplats(struct chrdata *chr);
|
||||
|
||||
@@ -127,6 +127,9 @@
|
||||
#define debris(scale, model, pad, props1, props2, u1, u2, u3, u4, u5, u6, u7, u8, u9, u10, u11, u12, u13, u14, u15, u16, u17, u18, u19) \
|
||||
_generic_object(0x0f, scale, model, pad, props1, props2, u1, u2, u3, u4, u5, u6, u7, u8, u9, u10, u11, u12, u13, u14, u15, u16, u17, u18, u19),
|
||||
|
||||
#define hat(scale, model, chr, props1, props2, u1, u2, u3, u4, u5, u6, u7, u8, u9, u10, u11, u12, u13, u14, u15, u16, u17, u18, u19) \
|
||||
_generic_object(0x11, scale, model, chr, props1, props2, u1, u2, u3, u4, u5, u6, u7, u8, u9, u10, u11, u12, u13, u14, u15, u16, u17, u18, u19),
|
||||
|
||||
#define lift_door(dooroffset, liftoffset, stopnum) \
|
||||
0x13, dooroffset, liftoffset, 0, stopnum,
|
||||
|
||||
|
||||
+3
-3
@@ -1670,10 +1670,10 @@ enum sfx {
|
||||
SFX_8076,
|
||||
SFX_PUNCH_GLASS,
|
||||
SFX_GLASS_SHATTER,
|
||||
SFX_8079,
|
||||
SFX_HATHIT_8079,
|
||||
SFX_807A,
|
||||
SFX_807B,
|
||||
SFX_807C,
|
||||
SFX_HATHIT_807B,
|
||||
SFX_HATHIT_807C,
|
||||
SFX_807D,
|
||||
SFX_807E,
|
||||
SFX_807F,
|
||||
|
||||
+16
-18
@@ -68,7 +68,7 @@ struct playerstats {
|
||||
/*0x50*/ s32 shortestlife;
|
||||
/*0x54*/ u32 maxkills;
|
||||
/*0x58*/ s32 maxsimulkills;
|
||||
/*0x5c*/ f32 damagescale;
|
||||
/*0x5c*/ f32 damagescale; // of received damage
|
||||
/*0x60*/ s32 tokenheldtime;
|
||||
/*0x64*/ u32 unk64;
|
||||
/*0x68*/ u32 cloaktime;
|
||||
@@ -799,9 +799,7 @@ struct aibot {
|
||||
/*0x0fc*/ u32 unk0fc;
|
||||
/*0x100*/ u32 unk100;
|
||||
/*0x104*/ u32 unk104;
|
||||
/*0x108*/ f32 unk108;
|
||||
/*0x10c*/ f32 unk10c;
|
||||
/*0x110*/ f32 unk110;
|
||||
/*0x108*/ struct coord shotspeed; // "boost" when aibot is shot
|
||||
/*0x114*/ s32 unk114;
|
||||
/*0x118*/ u32 unk118;
|
||||
/*0x11c*/ s32 unk11c;
|
||||
@@ -964,12 +962,20 @@ struct act_argh {
|
||||
/*0x30*/ s32 unk030; // lvframe60 value
|
||||
};
|
||||
|
||||
// The first 4 bytes of the hand struct
|
||||
struct shorthand {
|
||||
u8 weaponnum;
|
||||
u8 unk0639;
|
||||
u8 unk063a;
|
||||
u8 weaponfunc; // 0 or 1
|
||||
};
|
||||
|
||||
struct act_preargh {
|
||||
/*0x2c*/ struct coord pos;
|
||||
/*0x38*/ f32 unk038;
|
||||
/*0x3c*/ f32 unk03c;
|
||||
/*0x40*/ u32 unk040;
|
||||
/*0x44*/ u32 unk044;
|
||||
/*0x38*/ f32 angle;
|
||||
/*0x3c*/ s32 ibh;
|
||||
/*0x40*/ struct shorthand hand;
|
||||
/*0x44*/ s32 aplayernum;
|
||||
};
|
||||
|
||||
struct act_attack {
|
||||
@@ -1385,7 +1391,7 @@ struct chrdata {
|
||||
/*0x33c*/ struct coord lastdroppos;
|
||||
/*0x348*/ struct fireslotthing *unk348;
|
||||
/*0x34c*/ struct fireslotthing *unk34c;
|
||||
/*0x350*/ u32 unk350;
|
||||
/*0x350*/ struct chrdata *lastattacker;
|
||||
/*0x354*/ s16 aipunchdodgelist;
|
||||
/*0x356*/ s16 aishootingatmelist;
|
||||
/*0x358*/ s16 poisoncounter;
|
||||
@@ -2081,14 +2087,6 @@ struct abmag {
|
||||
/*0x06*/ u16 alignment;
|
||||
};
|
||||
|
||||
// The first 4 bytes of the hand struct
|
||||
struct shorthand {
|
||||
u8 weaponnum;
|
||||
u8 unk0639;
|
||||
u8 unk063a;
|
||||
u8 weaponfunc; // 0 or 1
|
||||
};
|
||||
|
||||
// Weapon data per hand
|
||||
struct hand {
|
||||
struct shorthand base;
|
||||
@@ -2809,7 +2807,7 @@ struct player {
|
||||
/*0x1990*/ u32 unk1990;
|
||||
/*0x1994*/ u32 unk1994;
|
||||
/*0x1998*/ u32 unk1998;
|
||||
/*0x199c*/ f32 unk199c;
|
||||
/*0x199c*/ f32 healthscale;
|
||||
/*0x19a0*/ f32 armourscale;
|
||||
/*0x19a4*/ f32 speedgo;
|
||||
/*0x19a8*/ s32 sighttimer240;
|
||||
|
||||
Reference in New Issue
Block a user