Discover if_hoverbot_next_step, heli_arm_weapons, heli_unarm_weapons and if_heli_weapons_armed

This commit is contained in:
Ryan Dwyer
2020-01-14 17:45:00 +10:00
parent 558f3c8943
commit d7cd3c7426
11 changed files with 65 additions and 51 deletions
+23 -9
View File
@@ -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,
+4 -4
View File
@@ -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);
+1 -1
View File
@@ -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
View File
@@ -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;
};