mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-08-17 04:52:03 -04:00
Discover if_hoverbot_next_step, heli_arm_weapons, heli_unarm_weapons and if_heli_weapons_armed
This commit is contained in:
+23
-9
@@ -2661,17 +2661,23 @@
|
||||
#define run_from_grenade \
|
||||
mkshort(0x013e),
|
||||
|
||||
#define cmd013f(label) \
|
||||
/**
|
||||
* Checks if the current heli's weapons are armed.
|
||||
*/
|
||||
#define if_heli_weapons_armed(label) \
|
||||
mkshort(0x013f), \
|
||||
label,
|
||||
|
||||
/**
|
||||
* Checks if a hoverbot has finished its path.
|
||||
* Checks if a hoverbot's next step is less than or greater than the given
|
||||
* value.
|
||||
*
|
||||
* Operator is expected to be OPERATOR_LESS_THAN or OPERATOR_GREATER_THAN.
|
||||
*/
|
||||
#define if_hoverbot_path_finished(u1, u2, label) \
|
||||
#define if_hoverbot_next_step(operator, step, label) \
|
||||
mkshort(0x0140), \
|
||||
u1, \
|
||||
u2, \
|
||||
operator, \
|
||||
step, \
|
||||
label,
|
||||
|
||||
/**
|
||||
@@ -2704,12 +2710,20 @@
|
||||
object, \
|
||||
0x00,
|
||||
|
||||
// Sets the heli's 0x90 field to true.
|
||||
#define cmd0143 \
|
||||
/**
|
||||
* Sets the current heli's weapons to armed.
|
||||
*
|
||||
* The state of the weapons can be checked with if_heli_weapons_armed.
|
||||
*/
|
||||
#define heli_arm_weapons \
|
||||
mkshort(0x0143),
|
||||
|
||||
// Sets the heli's 0x90 field to false.
|
||||
#define cmd0144 \
|
||||
/**
|
||||
* Sets the current heli's weapons to unarmed.
|
||||
*
|
||||
* The state of the weapons can be checked with if_heli_weapons_armed.
|
||||
*/
|
||||
#define heli_unarm_weapons \
|
||||
mkshort(0x0144), \
|
||||
label,
|
||||
|
||||
|
||||
@@ -317,12 +317,12 @@
|
||||
/*0x013c*/ bool ai013c(void);
|
||||
/*0x013d*/ bool ai013d(void);
|
||||
/*0x013e*/ bool ai013e(void);
|
||||
/*0x013f*/ bool ai013f(void);
|
||||
/*0x0140*/ bool ai0140(void);
|
||||
/*0x013f*/ bool aiIfHeliWeaponsArmed(void);
|
||||
/*0x0140*/ bool aiIfHoverbotNextStep(void);
|
||||
/*0x0141*/ bool aiShuffleInvestigationTerminals(void);
|
||||
/*0x0142*/ bool aiSetPadPresetToInvestigationTerminal(void);
|
||||
/*0x0143*/ bool ai0143(void);
|
||||
/*0x0144*/ bool ai0144(void);
|
||||
/*0x0143*/ bool aiHeliArmWeapons(void);
|
||||
/*0x0144*/ bool aiHeliUnarmWeapons(void);
|
||||
/*0x0145*/ bool aiRebuildTeams(void);
|
||||
/*0x0146*/ bool aiRebuildSquadrons(void);
|
||||
/*0x0147*/ bool ai0147(void);
|
||||
|
||||
@@ -167,7 +167,7 @@ u32 func0f07af34(struct heliobj *heli);
|
||||
void heliSetTarget(struct heliobj *heli, s32 arg1);
|
||||
u32 func0f07b038(struct heliobj *heli);
|
||||
void heliTryStop(struct heliobj *heli);
|
||||
bool heliSetField90(struct defaultobj *obj, u32 value);
|
||||
bool heliSetArmed(struct defaultobj *obj, bool armed);
|
||||
u32 heliRestartTimer(struct heliobj *heli);
|
||||
f32 heliGetTimer(struct heliobj *heli);
|
||||
void heliSetMaxDamage(struct heliobj *heli, s16 health);
|
||||
|
||||
+12
-12
@@ -804,19 +804,19 @@ struct heliobj {
|
||||
/*0x5c*/ u8 *ailist;
|
||||
/*0x60*/ u16 aioffset;
|
||||
/*0x62*/ s16 aireturnlist;
|
||||
/*0x64*/ u32 unk64;
|
||||
/*0x68*/ u32 unk68;
|
||||
/*0x6c*/ u32 unk6c;
|
||||
/*0x70*/ u32 unk70;
|
||||
/*0x74*/ u32 unk74;
|
||||
/*0x78*/ u32 unk78;
|
||||
/*0x7c*/ u32 unk7c;
|
||||
/*0x80*/ u32 unk80;
|
||||
/*0x84*/ u32 unk84;
|
||||
/*0x64*/ u32 speed;
|
||||
/*0x68*/ u32 speedaim;
|
||||
/*0x6c*/ u32 speedtime60;
|
||||
/*0x70*/ u32 turnyspeed60;
|
||||
/*0x74*/ u32 turnxspeed60;
|
||||
/*0x78*/ u32 turnrot60;
|
||||
/*0x7c*/ u32 roty;
|
||||
/*0x80*/ u32 rotx;
|
||||
/*0x84*/ u32 rotz;
|
||||
/*0x88*/ u32 unk88;
|
||||
/*0x8c*/ s32 unk8c;
|
||||
/*0x90*/ s16 unk90;
|
||||
/*0x92*/ u16 unk92;
|
||||
/*0x8c*/ s32 nextstep;
|
||||
/*0x90*/ s16 weaponsarmed;
|
||||
/*0x92*/ u16 ontarget;
|
||||
/*0x94*/ s16 target;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user