mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-07-29 23:37:33 -04:00
Discover AI command try_start_alarm and decompile objFindByPadNum
This commit is contained in:
+13
-3
@@ -372,7 +372,17 @@
|
||||
mkshort(0x0026), \
|
||||
chr,
|
||||
|
||||
#define cmd0027(pad, label) \
|
||||
/**
|
||||
* Makes the chr try to run to an alarm switch and activate it.
|
||||
*
|
||||
* The pad argument should be the pad that the alarm is at. A check is done to
|
||||
* make sure the object at that pad is healthy.
|
||||
*
|
||||
* Note that no check is done to make sure that the object at the pad is
|
||||
* actually an alarm switch, and the chr will actually run to their closest
|
||||
* alarm switch rather than the one at the given pad.
|
||||
*/
|
||||
#define try_start_alarm(pad, label) \
|
||||
mkshort(0x0027), \
|
||||
mkshort(pad), \
|
||||
label,
|
||||
@@ -382,8 +392,8 @@
|
||||
* start. To make guards spawn when the alarm is sounded, an AI list must wait
|
||||
* for the alarm then spawn them.
|
||||
*
|
||||
* The alarm does not have a timer. You may want to use an AI list to wait for
|
||||
* them alarm, then wait a certain amount of time before deactivating it.
|
||||
* Alarms have a 30 second timer, with the exception of G5 Building which is
|
||||
* 55 seconds.
|
||||
*/
|
||||
#define activate_alarm \
|
||||
mkshort(0x0028),
|
||||
|
||||
@@ -210,7 +210,7 @@ void func0f02e9a0(struct chrdata *chr, f32 arg1);
|
||||
void func0f02ed28(struct chrdata *chr, f32 arg1);
|
||||
void chrStop(struct chrdata *chr);
|
||||
void chrKneel(struct chrdata *chr);
|
||||
void func0f02effc(struct chrdata *chr);
|
||||
void chrStartAlarm(struct chrdata *chr);
|
||||
void chrThrowGrenade(struct chrdata *chr, s32 arg1, s32 arg2);
|
||||
void chrDoSurprisedSurrender(struct chrdata *chr);
|
||||
void chrDoSurprisedLookAround(struct chrdata *chr);
|
||||
@@ -248,7 +248,7 @@ bool chrTrySurprisedSurrender(struct chrdata *chr);
|
||||
bool chrTrySurprisedLookAround(struct chrdata *chr);
|
||||
bool chrTryKneel(struct chrdata *chr);
|
||||
bool func0f03af44(struct chrdata *chr, u32 anim_id, f32 fstartframe, f32 fendframe, u8 flags, u32 transition, f32 result);
|
||||
bool func0f03b5f0(struct chrdata *chr, s32 pad_id);
|
||||
bool chrTryStartAlarm(struct chrdata *chr, s32 pad_id);
|
||||
s32 chrConsiderGrenadeThrow(struct chrdata *chr, u32 entitytype, u32 entityid);
|
||||
void chrTickKneel(struct chrdata *chr);
|
||||
void func0f03ccdc(struct chrdata *chr);
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
/*0x0024*/ bool aiSurrender(void);
|
||||
/*0x0025*/ bool aiFadeOut(void);
|
||||
/*0x0026*/ bool aiRemoveChr(void);
|
||||
/*0x0027*/ bool ai0027(void);
|
||||
/*0x0027*/ bool aiTryStartAlarm(void);
|
||||
/*0x0028*/ bool aiActivateAlarm(void);
|
||||
/*0x0029*/ bool aiDeactivateAlarm(void);
|
||||
/*0x002a*/ bool ai002a(void);
|
||||
|
||||
@@ -51,7 +51,7 @@ u32 func0f067d88(void);
|
||||
u32 func0f067dc4(void);
|
||||
void func0f068018(struct animdata *animdata, f32 *arg1, f32 *arg2, f32 *arg3, f32 *arg4);
|
||||
u32 func0f06803c(void);
|
||||
struct defaultobj *func0f0681c0(s32 pad_id);
|
||||
struct defaultobj *objFindByPadNum(s32 padnum);
|
||||
u32 func0f068218(void);
|
||||
u32 func0f0682dc(void);
|
||||
u32 func0f0682fc(void);
|
||||
|
||||
Reference in New Issue
Block a user