Attempt to decompile botFindPickup

This commit is contained in:
Ryan Dwyer
2022-01-02 10:44:57 +10:00
parent 01272b8f4d
commit 24971ff6ff
9 changed files with 619 additions and 153 deletions
+1 -1
View File
@@ -155,7 +155,7 @@ void bgunSetGunAmmoVisible(u32 reason, bool enable);
void bgunSetAmmoQuantity(s32 ammotype, s32 quantity);
s32 bgunGetReservedAmmoCount(s32 type);
s32 bgunGetAmmoCount(s32 ammotype);
s32 bgunGetCapacityByAmmotype(u32 ammotype);
s32 bgunGetCapacityByAmmotype(s32 ammotype);
bool bgunAmmotypeAllowsUnlimitedAmmo(u32 ammotype);
void bgunGiveMaxAmmo(bool force);
u32 bgunGetAmmoTypeForWeapon(u32 weaponnum, u32 func);
+4 -4
View File
@@ -33,7 +33,7 @@ bool botPassesPeaceCheck(struct chrdata *botchr, struct chrdata *otherchr);
bool botPassesCowardCheck(struct chrdata *botchr, struct chrdata *otherchr);
void botChooseGeneralTarget(struct chrdata *chr);
void botScheduleReload(struct chrdata *chr, s32 handnum);
struct prop *botFindPickup(struct chrdata *chr, s32 arg1);
struct prop *botFindPickup(struct chrdata *chr, s32 criteria);
s32 botGetNumOpponentsInHill(struct chrdata *chr);
void botTickUnpaused(struct chrdata *chr);
s32 botIsObjCollectable(struct defaultobj *obj);
@@ -48,9 +48,9 @@ void botApplyHold(struct chrdata *chr, struct coord *pos, s16 *room, f32 arg3);
void botApplyScenarioCommand(struct chrdata *chr, u32 arg1);
bool botCanFollow(struct chrdata *leader, struct chrdata *follower);
s32 botFindTeammateToFollow(struct chrdata *chr, f32 range);
bool bot0f194670(struct chrdata *chr);
struct prop *botFindNecessaryPickup(struct chrdata *chr);
struct prop *botFindUnnecessaryPickup(struct chrdata *chr);
bool botCanDoCriticalPickup(struct chrdata *chr);
struct prop *botFindDefaultPickup(struct chrdata *chr);
struct prop *botFindAnyPickup(struct chrdata *chr);
s32 botGetTeamSize(struct chrdata *chr);
s32 botGetCountInTeamDoingCommand(struct chrdata *self, u32 command, bool includeself);
s32 botIsChrsCtcTokenHeld(struct chrdata *chr);
+2 -2
View File
@@ -4,7 +4,7 @@
#include "data.h"
#include "types.h"
s32 botactGetAmmoTypeByFunction(s32 weaponnum, u32 funcnum);
s32 botactGetAmmoTypeByFunction(s32 weaponnum, s32 funcnum);
s32 botactGetClipCapacityByFunction(s32 weaponnum, u32 funcnum);
void botactReload(struct chrdata *chr, s32 handnum, bool withsound);
s32 botactGetAmmoQuantityByWeapon(struct aibot *aibot, s32 weaponnum, s32 funcnum, bool include_equipped);
@@ -15,7 +15,7 @@ void botactGiveAmmoByType(struct aibot *aibot, u32 ammotype, s32 quantity);
bool botactShootFarsight(struct chrdata *chr, s32 arg1, struct coord *arg2, struct coord *arg3);
bool botactIsWeaponThrowable(s32 weaponnum, bool is_secondary);
u32 botactGetProjectileThrowInterval(u32 weapon);
u32 botactGetWeaponByAmmoType(u32 ammotype);
s32 botactGetWeaponByAmmoType(s32 ammotype);
void botact0f19a37c(struct chrdata *chr);
s32 botactGetShootInterval60(s32 weaponnum, s32 funcnum);
bool botactFindRocketRoute(struct chrdata *chr, struct coord *frompos, struct coord *topos, s16 *fromrooms, s16 *torooms, struct projectile *projectile);
+1 -1
View File
@@ -6,7 +6,7 @@
void botinvClear(struct chrdata *chr);
struct invitem *botinvGetFreeSlot(struct chrdata *chr);
struct invitem *botinvGetItem(struct chrdata *chr, u32 weaponnum);
struct invitem *botinvGetItem(struct chrdata *chr, s32 weaponnum);
void botinvRemoveItem(struct chrdata *chr, s32 weaponnum);
u32 botinvGetItemType(struct chrdata *chr, u32 weaponnum);
bool botinvGiveSingleWeapon(struct chrdata *chr, u32 weaponnum);
+6 -15
View File
@@ -4743,14 +4743,6 @@ struct challenge {
/*0x09*/ u8 unlockfeatures[16];
};
struct scenariodata_cbt {
u32 unk00;
u32 unk04;
u32 unk08;
u16 unk0c;
s16 unk0e[1]; // possibly for a different scenario - see botGetNumTeammatesDefendingHill
};
struct scenariodata_htb {
u32 unk00;
struct prop *token; // Briefcase or chr
@@ -4823,7 +4815,6 @@ struct scenariodata_ctc {
struct scenariodata {
union {
struct scenariodata_cbt cbt;
struct scenariodata_htb htb;
struct scenariodata_htm htm;
struct scenariodata_pac pac;
@@ -6929,14 +6920,14 @@ struct aibotweaponpreference {
u8 unk01;
u8 unk02;
u8 unk03;
u16 unk04_00 : 1;
u16 unk04_01 : 1;
u16 haspriammogoal : 1;
u16 hassecammogoal : 1;
u16 pridistconfig : 4;
u16 secdistconfig : 4;
u16 unk06;
u16 unk08;
u16 unk0a;
u16 unk0c;
u16 targetammopri;
u16 targetammosec;
u16 criticalammopri;
u16 criticalammosec;
u16 reloaddelay : 3; // in seconds
u16 allowpartialreloaddelay : 1;
};