mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-09-12 20:16:02 -04:00
Rename bot files and functions
This commit is contained in:
+6
-6
@@ -281,15 +281,15 @@ extern struct textureconfig *var800ab5a8;
|
||||
extern struct textureconfig *var800ab5ac;
|
||||
extern struct scenariodata g_ScenarioData;
|
||||
extern u32 var800ac4cc;
|
||||
extern struct chrdata *g_MpPlayerChrs[MAX_MPCHRS];
|
||||
extern struct mpchr *var800ac500[MAX_MPCHRS];
|
||||
extern s32 g_MpNumPlayers;
|
||||
extern struct mpsim g_MpSimulants[MAX_SIMULANTS];
|
||||
extern struct chrdata *g_MpAllChrPtrs[MAX_MPCHRS];
|
||||
extern struct mpchrconfig *g_MpAllChrConfigPtrs[MAX_MPCHRS];
|
||||
extern s32 g_MpNumChrs;
|
||||
extern struct mpbotconfig g_BotConfigsArray[MAX_SIMULANTS];
|
||||
extern u8 g_MpSimulantDifficultiesPerNumPlayers[32];
|
||||
extern struct mpplayer g_MpPlayers[6];
|
||||
extern struct mpplayerconfig g_PlayerConfigsArray[6];
|
||||
extern u8 g_AmBotCommands[16];
|
||||
extern struct mpsetup g_MpSetup;
|
||||
extern struct bossfile g_BossFile;
|
||||
extern struct chrdata *g_MpSimulantChrs[MAX_SIMULANTS];
|
||||
extern struct chrdata *g_MpBotChrPtrs[MAX_SIMULANTS];
|
||||
|
||||
#endif
|
||||
|
||||
+40
-25
@@ -264,6 +264,43 @@
|
||||
#define BANK_0 0
|
||||
#define BANK_1 1
|
||||
|
||||
#define BOTDIFF_MEAT 0
|
||||
#define BOTDIFF_EASY 1
|
||||
#define BOTDIFF_NORMAL 2
|
||||
#define BOTDIFF_HARD 3
|
||||
#define BOTDIFF_PERFECT 4
|
||||
#define BOTDIFF_DARK 5
|
||||
#define BOTDIFF_DISABLED 6
|
||||
|
||||
#define BOTDISTCFG_CLOSE 0
|
||||
#define BOTDISTCFG_PISTOL 1
|
||||
#define BOTDISTCFG_DEFAULT 2
|
||||
#define BOTDISTCFG_SHOOTEXPLOSIVE 3
|
||||
#define BOTDISTCFG_KAZE 4
|
||||
#define BOTDISTCFG_FARSIGHT 5
|
||||
#define BOTDISTCFG_FOLLOW 6
|
||||
#define BOTDISTCFG_THROWEXPLOSIVE 7
|
||||
|
||||
// Bot distance modes
|
||||
#define BOTDISTMODE_BACKUP 1
|
||||
#define BOTDISTMODE_OK 2
|
||||
#define BOTDISTMODE_ADVANCE 3
|
||||
#define BOTDISTMODE_GOTO 4
|
||||
|
||||
#define BOTTYPE_GENERAL 0
|
||||
#define BOTTYPE_PEACE 1 // Collects weapons but doesn't engage in combat
|
||||
#define BOTTYPE_SHIELD 2 // Prioritises full shield before combat
|
||||
#define BOTTYPE_ROCKET 3 // Prefers explosive weapons
|
||||
#define BOTTYPE_KAZE 4 // Does not keep distance
|
||||
#define BOTTYPE_FIST 5 // Uses fists only
|
||||
#define BOTTYPE_PREY 6 // Target players who are newly spawned, have inferior weapons or are low on health
|
||||
#define BOTTYPE_COWARD 7 // Runs away, only attacks if opponent's weapon is inferior
|
||||
#define BOTTYPE_JUDGE 8 // Targets the winning player
|
||||
#define BOTTYPE_FEUD 9 // Targets a single player for the whole match
|
||||
#define BOTTYPE_SPEED 10 // Runs faster
|
||||
#define BOTTYPE_TURTLE 11 // Moves slower and has double shield
|
||||
#define BOTTYPE_VENGE 12 // Targets the last player who killed it
|
||||
|
||||
#define BRIEFINGTYPE_LOCATION 0
|
||||
#define BRIEFINGTYPE_TEXT_PA 1
|
||||
#define BRIEFINGTYPE_TEXT_SA 2
|
||||
@@ -2457,10 +2494,10 @@
|
||||
#define MPFEATURE_WEAPON_SHIELD 0x16
|
||||
#define MPFEATURE_WEAPON_CLOAKINGDEVICE 0x17
|
||||
#define MPFEATURE_WEAPON_COMBATBOOST 0x18
|
||||
#define MPFEATURE_SIMDIFF_HARD 0x19
|
||||
#define MPFEATURE_SIMDIFF_PERFECT 0x1a
|
||||
#define MPFEATURE_BOTDIFF_HARD 0x19
|
||||
#define MPFEATURE_BOTDIFF_PERFECT 0x1a
|
||||
#define MPFEATURE_1B 0x1b
|
||||
#define MPFEATURE_SIMDIFF_DARK 0x1c
|
||||
#define MPFEATURE_BOTDIFF_DARK 0x1c
|
||||
#define MPFEATURE_SLOWMOTION 0x1d
|
||||
#define MPFEATURE_ONEHITKILLS 0x1e
|
||||
#define MPFEATURE_1F 0x1f
|
||||
@@ -3323,28 +3360,6 @@
|
||||
#define SIGHTTARGET_4 4
|
||||
#define SIGHTTARGET_5 5
|
||||
|
||||
#define SIMDIFF_MEAT 0
|
||||
#define SIMDIFF_EASY 1
|
||||
#define SIMDIFF_NORMAL 2
|
||||
#define SIMDIFF_HARD 3
|
||||
#define SIMDIFF_PERFECT 4
|
||||
#define SIMDIFF_DARK 5
|
||||
#define SIMDIFF_DISABLED 6
|
||||
|
||||
#define SIMTYPE_GENERAL 0
|
||||
#define SIMTYPE_PEACE 1
|
||||
#define SIMTYPE_SHIELD 2
|
||||
#define SIMTYPE_ROCKET 3
|
||||
#define SIMTYPE_KAZE 4
|
||||
#define SIMTYPE_FIST 5
|
||||
#define SIMTYPE_PREY 6
|
||||
#define SIMTYPE_COWARD 7
|
||||
#define SIMTYPE_JUDGE 8
|
||||
#define SIMTYPE_FEUD 9
|
||||
#define SIMTYPE_SPEED 10
|
||||
#define SIMTYPE_TURTLE 11
|
||||
#define SIMTYPE_VENGE 12
|
||||
|
||||
#define SKEL_BASIC 0x02
|
||||
#define SKEL_CHRGUN 0x03
|
||||
#define SKEL_JOYPAD 0x04
|
||||
|
||||
+2
-2
@@ -501,12 +501,12 @@ extern s32 var80087260;
|
||||
extern bool g_MpEnableMusicSwitching;
|
||||
extern struct mpweapon g_MpWeapons[0x27];
|
||||
extern struct mphead g_MpHeads[75];
|
||||
extern struct mpsimulanttype g_MpSimulantTypes[];
|
||||
extern struct botprofile g_BotProfiles[];
|
||||
extern struct mpbody g_MpBodies[NUM_MPBODIES];
|
||||
extern struct mppreset g_MpPresets[NUM_MPPRESETS];
|
||||
extern u32 g_TeamColours[];
|
||||
extern u16 var80087ce4[];
|
||||
extern u8 g_NumMpSimulantChrs;
|
||||
extern u8 g_BotCount;
|
||||
extern struct aibotweaponpreference g_AibotWeaponPreferences[];
|
||||
extern u32 var80087eb4;
|
||||
extern struct challenge g_MpChallenges[NUM_CHALLENGES];
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
#ifndef _IN_GAME_BOT_H
|
||||
#define _IN_GAME_BOT_H
|
||||
#include <ultra64.h>
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
bool bot0f190260(struct chrdata *chr);
|
||||
void botReset(struct chrdata *chr, u8 respawning);
|
||||
void botSpawn(struct chrdata *chr, u8 full);
|
||||
void botSpawnAll(void);
|
||||
u32 add87654321(u32 value);
|
||||
u32 botPickupProp(struct prop *prop, struct chrdata *chr);
|
||||
bool botTestPropForPickup(struct prop *prop, struct chrdata *chr);
|
||||
void botCheckPickups(struct chrdata *chr);
|
||||
s32 botGuessCrouchPos(struct chrdata *chr);
|
||||
bool botApplyMovement(struct chrdata *chr);
|
||||
bool bot0f191638(struct chrdata *chr, bool arg1);
|
||||
s32 botTick(struct prop *prop);
|
||||
f32 botCalculateMaxSpeed(struct chrdata *chr);
|
||||
void bot0f1921f8(struct chrdata *chr, f32 *arg1, s32 arg2, f32 arg3);
|
||||
void botLoseGun(struct chrdata *chr, struct prop *attacker);
|
||||
void bot0f19277c(struct chrdata *chr, s32 propnum);
|
||||
bool bot0f19294c(struct chrdata *botchr, struct chrdata *otherchr);
|
||||
bool botHasGround(struct chrdata *chr);
|
||||
void bot0f192a74(struct chrdata *chr);
|
||||
bool botPassesPeaceCheck(struct chrdata *botchr, struct chrdata *otherchr);
|
||||
bool botPassesCowardCheck(struct chrdata *botchr, struct chrdata *otherchr);
|
||||
u32 bot0f192e90(void);
|
||||
void bot0f19369c(struct chrdata *chr, s32 arg1);
|
||||
s32 bot0f1937a4(struct chrdata *chr, s32 arg1);
|
||||
s32 botGetNumOpponentsInHill(struct chrdata *chr);
|
||||
void botTickUnpaused(struct chrdata *chr);
|
||||
s32 botIsObjCollectable(struct defaultobj *obj);
|
||||
s32 botGetWeaponNum(struct chrdata *chr);
|
||||
u8 botGetTargetsWeaponNum(struct chrdata *chr);
|
||||
char *botGetCommandName(s32 command);
|
||||
void botApplyAttack(struct chrdata *chr, struct prop *prop);
|
||||
void botApplyFollow(struct chrdata *chr, struct prop *prop);
|
||||
void botApplyProtect(struct chrdata *chr, struct prop *prop);
|
||||
void botApplyDefend(struct chrdata *chr, struct coord *pos, s16 *room, f32 arg3);
|
||||
void botApplyHold(struct chrdata *chr, struct coord *pos, s16 *room, f32 arg3);
|
||||
void botApplyScenarioCommand(struct chrdata *chr, u32 arg1);
|
||||
bool botIsFollowing(struct chrdata *leader, struct chrdata *follower);
|
||||
s32 bot0f193530(struct chrdata *chr, f32 range);
|
||||
bool bot0f194670(struct chrdata *chr);
|
||||
s32 bot0f194694(struct chrdata *chr);
|
||||
s32 bot0f1946b4(struct chrdata *chr);
|
||||
s32 botGetNumPlayerTeammates(struct chrdata *chr);
|
||||
s32 botCountByCommand(struct chrdata *self, u32 command, bool includeself);
|
||||
s32 botIsChrsTokenHeld(struct chrdata *chr);
|
||||
bool bot0f19489c(struct chrdata *chr);
|
||||
s32 botGetNumTeammatesDefendingHill(struct chrdata *bot);
|
||||
void botCheckFetch(struct chrdata *chr);
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,25 @@
|
||||
#ifndef IN_GAME_BOTACT_H
|
||||
#define IN_GAME_BOTACT_H
|
||||
#include <ultra64.h>
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
s32 botactGetAmmoTypeByFunction(s32 weaponnum, u32 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);
|
||||
s32 botactGetAmmoQuantityByType(struct aibot *aibot, s32 ammotype, bool include_equipped);
|
||||
s32 botactTryRemoveAmmoFromReserve(struct aibot *aibot, s32 weaponnum, s32 funcnum, s32 qty);
|
||||
void botactGiveAmmoByWeapon(struct aibot *aibot, s32 weaponnum, s32 funcnum, s32 qty);
|
||||
void botactGiveAmmoByType(struct aibot *aibot, u32 ammotype, s32 quantity);
|
||||
bool botactShootFarsight(struct chrdata *chr, s32 arg1, struct coord *arg2, struct coord *arg3);
|
||||
bool botactIsWeaponThrowable(u32 weaponnum, bool is_secondary);
|
||||
u32 botactGetProjectileThrowInterval(u32 weapon);
|
||||
u32 botactGetWeaponByAmmoType(u32 ammotype);
|
||||
void botact0f19a37c(struct chrdata *chr);
|
||||
s32 botact0f19a60c(s32 weaponnum, s32 funcnum);
|
||||
bool botactFindRocketRoute(struct chrdata *chr, struct coord *frompos, struct coord *topos, s16 *fromrooms, s16 *torooms, struct projectile *projectile);
|
||||
void botactGetRocketSpawnPos(u16 padnum, struct coord *pos);
|
||||
void botactCreateSlayerRocket(struct chrdata *chr);
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,10 @@
|
||||
#ifndef IN_GAME_BOTCMD_H
|
||||
#define IN_GAME_BOTCMD_H
|
||||
#include <ultra64.h>
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
void botcmdTickDistMode(struct chrdata *chr);
|
||||
void botcmdApply(struct chrdata *chr, u32 command);
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,30 @@
|
||||
#ifndef IN_GAME_BOTINV_H
|
||||
#define IN_GAME_BOTINV_H
|
||||
#include <ultra64.h>
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
void botinvClear(struct chrdata *chr);
|
||||
struct invitem *botinvGetFreeSlot(struct chrdata *chr);
|
||||
struct invitem *botinvGetItem(struct chrdata *chr, u32 weaponnum);
|
||||
void botinvRemoveItem(struct chrdata *chr, s32 weaponnum);
|
||||
u32 botinvGetItemType(struct chrdata *chr, u32 weaponnum);
|
||||
bool botinvGiveSingleWeapon(struct chrdata *chr, u32 weaponnum);
|
||||
void botinvGiveDualWeapon(struct chrdata *chr, u32 weaponnum);
|
||||
s16 botinvGetWeaponPad(struct chrdata *chr, u32 weaponnum);
|
||||
bool botinvGiveProp(struct chrdata *chr, struct prop *prop);
|
||||
void botinvScoreAllWeapons(struct chrdata *chr, s32 *weaponnums, s32 *scores1, s32 *scores2);
|
||||
bool mpHasShield(void);
|
||||
s32 mpGetWeaponSlotByWeaponNum(s32 weaponnum);
|
||||
void botinvScoreWeapon(struct chrdata *chr, s32 weaponnum, s32 funcnum, s32 arg3, bool arg4, s32 *dst1, s32 *dst2, bool arg7, bool arg8);
|
||||
void botinvScoreWeaponAgainstTarget(struct chrdata *chr, s32 weaponnum, s32 funcnum, s32 arg3, bool arg4, s32 *dst1, s32 *dst2);
|
||||
void botinvScoreWeaponByItself(struct chrdata *chr, s32 weaponnum, s32 funcnum, s32 arg3, bool arg4, s32 *dst1, s32 *dst2);
|
||||
s32 botinvGetDistConfig(s32 weaponnum, s32 funcnum);
|
||||
bool botinvAllowsWeapon(struct chrdata *chr, s32 weaponnum, s32 funcnum);
|
||||
void botinvTick(struct chrdata *chr);
|
||||
bool botinvSwitchToWeapon(struct chrdata *chr, s32 weaponnum, s32 funcnum);
|
||||
void botinvDrop(struct chrdata *chr, s32 weaponnum, u8 dropall);
|
||||
void botinvDropAll(struct chrdata *chr, u32 weaponnum);
|
||||
void botinvDropOne(struct chrdata *chr, u32 weaponnum);
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,9 @@
|
||||
#ifndef _IN_GAME_BOTINVINIT_H
|
||||
#define _IN_GAME_BOTINVINIT_H
|
||||
#include <ultra64.h>
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
void botinvInit(struct chrdata *chr, s32 maxitems);
|
||||
|
||||
#endif
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
void func0f0147d0(void);
|
||||
void lasersightsReset(void);
|
||||
void mpRemoveAllSimulants(void);
|
||||
void aibotAllocate(s32 chrnum, s32 aibotnum);
|
||||
void botmgrRemoveAll(void);
|
||||
void botmgrAllocateBot(s32 chrnum, s32 aibotnum);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
#ifndef _IN_GAME_GAME_014E90_H
|
||||
#define _IN_GAME_GAME_014E90_H
|
||||
#include <ultra64.h>
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
void aibotAllocateInventory(struct chrdata *chr, s32 maxitems);
|
||||
|
||||
#endif
|
||||
@@ -1,55 +0,0 @@
|
||||
#ifndef _IN_GAME_GAME_190260_H
|
||||
#define _IN_GAME_GAME_190260_H
|
||||
#include <ultra64.h>
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
bool func0f190260(struct chrdata *chr);
|
||||
void mpChrReset(struct chrdata *chr, u8 full);
|
||||
void mpInitSimulant(struct chrdata *chr, u8 full);
|
||||
void mpInitSimulants(void);
|
||||
u32 add87654321(u32 value);
|
||||
u32 propobjHandlePickupByAibot(struct prop *prop, struct chrdata *chr);
|
||||
bool func0f190be4(struct prop *prop, struct chrdata *chr);
|
||||
void func0f19124c(struct chrdata *chr);
|
||||
s32 chrGuessCrouchPos(struct chrdata *chr);
|
||||
bool func0f191448(struct chrdata *chr);
|
||||
bool func0f191638(struct chrdata *chr, bool arg1);
|
||||
s32 aibotTick(struct prop *prop);
|
||||
f32 aibotCalculateMaxSpeed(struct chrdata *chr);
|
||||
void func0f1921f8(struct chrdata *chr, f32 *arg1, s32 arg2, f32 arg3);
|
||||
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);
|
||||
void func0f192a74(struct chrdata *chr);
|
||||
bool func0f192d64(struct chrdata *botchr, struct chrdata *otherchr);
|
||||
bool func0f192dc0(struct chrdata *botchr, struct chrdata *chr);
|
||||
u32 func0f192e90(void);
|
||||
void func0f19369c(struct chrdata *chr, s32 arg1);
|
||||
s32 func0f1937a4(struct chrdata *chr, s32 arg1);
|
||||
s32 mpGetNumOpponentsInHill(struct chrdata *chr);
|
||||
void func0f194b40(struct chrdata *chr);
|
||||
s32 mpObjIsSafe(struct defaultobj *obj);
|
||||
s32 mpchrGetWeaponNum(struct chrdata *chr);
|
||||
u8 mpchrGetTargetsWeaponNum(struct chrdata *chr);
|
||||
char *mpGetBotCommandName(s32 command);
|
||||
void mpAibotApplyAttack(struct chrdata *chr, struct prop *prop);
|
||||
void mpAibotApplyFollow(struct chrdata *chr, struct prop *prop);
|
||||
void mpAibotApplyProtect(struct chrdata *chr, struct prop *prop);
|
||||
void mpAibotApplyDefend(struct chrdata *chr, struct coord *pos, s16 *room, f32 arg3);
|
||||
void mpAibotApplyHold(struct chrdata *chr, struct coord *pos, s16 *room, f32 arg3);
|
||||
void mpAibotApplyScenarioCommand(struct chrdata *chr, u32 arg1);
|
||||
bool mpIsChrFollowedByChr(struct chrdata *leader, struct chrdata *follower);
|
||||
s32 func0f193530(struct chrdata *chr, f32 range);
|
||||
bool func0f194670(struct chrdata *chr);
|
||||
s32 func0f194694(struct chrdata *chr);
|
||||
s32 func0f1946b4(struct chrdata *chr);
|
||||
s32 mpGetNumPlayerTeammates(struct chrdata *chr);
|
||||
s32 mpCountAibotsWithCommand(struct chrdata *self, u32 command, bool includeself);
|
||||
s32 scenarioCtcIsChrsTokenHeld(struct chrdata *chr);
|
||||
bool func0f19489c(struct chrdata *chr);
|
||||
s32 mpGetNumTeammatesDefendingHill(struct chrdata *bot);
|
||||
void func0f197544(struct chrdata *chr);
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
#ifndef IN_GAME_GAME_197600_H
|
||||
#define IN_GAME_GAME_197600_H
|
||||
#include <ultra64.h>
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
void func0f197600(struct chrdata *chr);
|
||||
void mpAibotApplyCommand(struct chrdata *chr, u32 command);
|
||||
void aibotClearInventory(struct chrdata *chr);
|
||||
struct invitem *aibotGetFreeInvSlot(struct chrdata *chr);
|
||||
struct invitem *aibotGetInvItem(struct chrdata *chr, u32 weaponnum);
|
||||
void aibotRemoveInvItem(struct chrdata *chr, s32 weaponnum);
|
||||
u32 aibotGetInvItemType(struct chrdata *chr, u32 weaponnum);
|
||||
bool aibotGiveSingleWeapon(struct chrdata *chr, u32 weaponnum);
|
||||
void aibotGiveDualWeapon(struct chrdata *chr, u32 weaponnum);
|
||||
s16 aibotGetWeaponPad(struct chrdata *chr, u32 weaponnum);
|
||||
bool aibotGiveProp(struct chrdata *chr, struct prop *prop);
|
||||
void func0f198068(struct chrdata *chr, s32 *weaponnums, s32 *scores1, s32 *scores2);
|
||||
bool mpHasShield(void);
|
||||
s32 mpGetWeaponIndexByWeaponNum(s32 weaponnum);
|
||||
void aibotScoreWeapon(struct chrdata *chr, s32 weaponnum, s32 funcnum, s32 arg3, bool arg4, s32 *dst1, s32 *dst2, bool arg7, bool arg8);
|
||||
void func0f198db4(struct chrdata *chr, s32 weaponnum, s32 funcnum, s32 arg3, bool arg4, s32 *dst1, s32 *dst2);
|
||||
void func0f198df8(struct chrdata *chr, s32 weaponnum, s32 funcnum, s32 arg3, bool arg4, s32 *dst1, s32 *dst2);
|
||||
s32 func0f198e38(s32 weaponnum, s32 funcnum);
|
||||
bool func0f198e78(struct chrdata *chr, s32 weaponnum, s32 funcnum);
|
||||
void aibotTickInventory(struct chrdata *chr);
|
||||
bool aibotSwitchToWeapon(struct chrdata *chr, s32 weaponnum, s32 funcnum);
|
||||
void func0f19978c(struct chrdata *chr, s32 weaponnum, u8 arg2);
|
||||
void func0f199964(struct chrdata *chr, u32 weaponnum);
|
||||
void func0f199984(struct chrdata *chr, u32 weaponnum);
|
||||
|
||||
#endif
|
||||
@@ -1,25 +0,0 @@
|
||||
#ifndef IN_GAME_GAME_1999B0_H
|
||||
#define IN_GAME_GAME_1999B0_H
|
||||
#include <ultra64.h>
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
s32 weaponGetAmmoTypeByFunction(s32 weaponnum, u32 funcnum);
|
||||
s32 weaponGetClipCapacityByFunction(s32 weaponnum, u32 funcnum);
|
||||
void aibotReloadWeapon(struct chrdata *chr, s32 handnum, bool withsound);
|
||||
s32 aibotGetAmmoQuantityByWeapon(struct aibot *aibot, s32 weaponnum, s32 funcnum, bool include_equipped);
|
||||
s32 aibotGetAmmoQuantityByType(struct aibot *aibot, s32 ammotype, bool include_equipped);
|
||||
s32 aibotTryRemoveAmmoFromReserve(struct aibot *aibot, s32 weaponnum, s32 funcnum, s32 qty);
|
||||
void aibotGiveAmmoByWeapon(struct aibot *aibot, s32 weaponnum, s32 funcnum, s32 qty);
|
||||
void aibotGiveAmmoByType(struct aibot *aibot, u32 ammotype, s32 quantity);
|
||||
bool aibotShootFarsightThroughWalls(struct chrdata *chr, s32 arg1, struct coord *arg2, struct coord *arg3);
|
||||
bool func0f19a29c(u32 weaponnum, bool is_secondary);
|
||||
u32 aibotGetProjectileThrowInterval(u32 weapon);
|
||||
u32 ammotypeGetWeapon(u32 ammotype);
|
||||
void func0f19a37c(struct chrdata *chr);
|
||||
s32 func0f19a60c(s32 weaponnum, s32 funcnum);
|
||||
bool func0f19a6d0(struct chrdata *chr, struct coord *frompos, struct coord *topos, s16 *fromrooms, s16 *torooms, struct projectile *projectile);
|
||||
void func0f19a7d0(u16 padnum, struct coord *pos);
|
||||
void aibotCreateSlayerRocket(struct chrdata *chr);
|
||||
|
||||
#endif
|
||||
@@ -5,7 +5,7 @@
|
||||
#include "types.h"
|
||||
|
||||
f32 mpHandicapToDamageScale(u8 value);
|
||||
void func0f187838(struct mpchr *mpchr);
|
||||
void func0f187838(struct mpchrconfig *mpchr);
|
||||
void mpStartMatch(void);
|
||||
void mpInit(void);
|
||||
void mpCalculateTeamIsOnlyAi(void);
|
||||
@@ -43,7 +43,7 @@ u32 func0f189cc0(void);
|
||||
u32 func0f189dc8(void);
|
||||
u32 func0f189ed0(void);
|
||||
u32 func0f18a030(void);
|
||||
void mpCalculatePlayerTitle(struct mpplayer *mpplayer);
|
||||
void mpCalculatePlayerTitle(struct mpplayerconfig *mpplayer);
|
||||
void func0f18a56c(void);
|
||||
void mpEndMatch(void);
|
||||
s32 mpGetNumHeads2(void);
|
||||
@@ -80,7 +80,7 @@ void mpRandomiseMultiTracks(void);
|
||||
void mpSetTrackToRandom(void);
|
||||
s32 mpGetCurrentTrackSlotNum(void);
|
||||
u32 mpChooseRandomTrack(void);
|
||||
struct mpchr *func0f18c794(s32 index);
|
||||
struct mpchrconfig *func0f18c794(s32 index);
|
||||
u32 func0f18c828(void);
|
||||
s32 mpGetNumChrs(void);
|
||||
u32 func0f18c8b8(void);
|
||||
|
||||
@@ -12,7 +12,7 @@ s32 scenarioHtbCallback08(void);
|
||||
void scenarioHtbReset(void);
|
||||
void scenarioHtbTick(void);
|
||||
void scenarioHtbCallback14(struct chrdata *chr);
|
||||
void scenarioHtbKill(struct mpchr *mpchr, s32 mpchrnum, s32 *score, s32 *arg3);
|
||||
void scenarioHtbKill(struct mpchrconfig *mpchr, s32 mpchrnum, s32 *score, s32 *arg3);
|
||||
Gfx *scenarioHtbRadar(Gfx *gdl);
|
||||
bool scenarioHtbRadar2(Gfx **gdl, struct prop *prop);
|
||||
bool scenarioHtbHighlight(struct prop *prop, u32 *colour);
|
||||
@@ -20,7 +20,7 @@ void scenarioCtcInit(void);
|
||||
s32 scenarioCtcCallback08(void);
|
||||
void scenarioCtcTick(void);
|
||||
void scenarioCtcCallback14(struct chrdata *chr);
|
||||
void scenarioCtcKill(struct mpchr *mpchr, s32 mpchrnum, s32 *score, s32 *arg3);
|
||||
void scenarioCtcKill(struct mpchrconfig *mpchr, s32 mpchrnum, s32 *score, s32 *arg3);
|
||||
Gfx *scenarioCtcRadar(Gfx *gdl);
|
||||
bool scenarioCtcRadar2(Gfx **gdl, struct prop *prop);
|
||||
bool scenarioCtcChooseSpawnLocation(f32 arg0, struct coord *pos, s16 *rooms, struct prop *prop, f32 *arg4);
|
||||
@@ -31,18 +31,18 @@ void scenarioKohReadSave(struct savebuffer *buffer);
|
||||
void scenarioKohWriteSave(struct savebuffer *buffer);
|
||||
void scenarioKohInit(void);
|
||||
void scenarioKohReset(void);
|
||||
void scenarioKohKill(struct mpchr *mpchr, s32 mpchrnum, s32 *score, s32 *arg3);
|
||||
void scenarioKohKill(struct mpchrconfig *mpchr, s32 mpchrnum, s32 *score, s32 *arg3);
|
||||
Gfx *scenarioKohRadar(Gfx *gdl);
|
||||
bool scenarioKohIsRoomHighlighted(s16 arg0);
|
||||
void scenarioHtmInit(void);
|
||||
s32 scenarioHtmCallback08(void);
|
||||
void scenarioHtmTick(void);
|
||||
void scenarioHtmKill(struct mpchr *mpchr, s32 mpchrnum, s32 *score, s32 *arg3);
|
||||
void scenarioHtmKill(struct mpchrconfig *mpchr, s32 mpchrnum, s32 *score, s32 *arg3);
|
||||
bool scenarioHtmRadar2(Gfx **gdl, struct prop *prop);
|
||||
bool scenarioHtmHighlight(struct prop *prop, u32 *colour);
|
||||
void scenarioPacInit(void);
|
||||
void scenarioPacReset(void);
|
||||
void scenarioPacKill(struct mpchr *mpchr, s32 mpchrnum, s32 *score, s32 *arg3);
|
||||
void scenarioPacKill(struct mpchrconfig *mpchr, s32 mpchrnum, s32 *score, s32 *arg3);
|
||||
Gfx *scenarioPacRadar(Gfx *gdl);
|
||||
s32 menuhandlerMpOpenOptions(s32 operation, struct menuitem *item, union handlerdata *data);
|
||||
void scenarioReadSave(struct savebuffer *buffer);
|
||||
|
||||
+18
-18
@@ -832,7 +832,7 @@ struct waypoint {
|
||||
struct aibot {
|
||||
/*0x000*/ u8 unk000;
|
||||
/*0x002*/ s16 aibotnum;
|
||||
/*0x004*/ struct mpsim *simulant;
|
||||
/*0x004*/ struct mpbotconfig *config;
|
||||
/*0x008*/ s16 attackingplayernum;
|
||||
/*0x00a*/ s16 followingplayernum;
|
||||
/*0x00c*/ s16 dangerouspropnum; // index into g_DangerousProps
|
||||
@@ -886,7 +886,7 @@ struct aibot {
|
||||
/*0x068*/ struct attackanimconfig *unk068;
|
||||
/*0x06c*/ f32 unk06c;
|
||||
/*0x070*/ f32 unk070;
|
||||
/*0x074*/ s8 unk074;
|
||||
/*0x074*/ s8 distmode;
|
||||
/*0x075*/ s8 unk075;
|
||||
/*0x076*/ s16 lastkilledbyplayernum;
|
||||
/*0x078*/ u8 unk078;
|
||||
@@ -918,7 +918,7 @@ struct aibot {
|
||||
/*0x0c0*/ s32 attackpropnum;
|
||||
/*0x0c4*/ u32 unk0c4[2];
|
||||
/*0x0cc*/ u32 unk0cc; // Timer? Related to weapon switching
|
||||
/*0x0d0*/ s32 unk0d0;
|
||||
/*0x0d0*/ s32 distmodettl60;
|
||||
/*0x0d4*/ s32 followprotectpropnum;
|
||||
/*0x0d8*/ s32 unk0d8;
|
||||
/*0x0dc*/ u32 unk0dc;
|
||||
@@ -3258,7 +3258,7 @@ struct mphead {
|
||||
u8 requirefeature;
|
||||
};
|
||||
|
||||
struct mpsimulanttype {
|
||||
struct botprofile {
|
||||
/*0x00*/ u8 type;
|
||||
/*0x01*/ u8 difficulty;
|
||||
/*0x02*/ u16 name;
|
||||
@@ -4565,7 +4565,7 @@ struct gamefile {
|
||||
/*0xb5*/ u8 weaponsfound[6];
|
||||
};
|
||||
|
||||
struct mpchr {
|
||||
struct mpchrconfig {
|
||||
/*0x00*/ char name[12]; // up to 10 visible chars plus line break plus null byte
|
||||
/*0x0c*/ u8 unk0c;
|
||||
/*0x0d*/ u8 unk0d;
|
||||
@@ -4583,15 +4583,13 @@ struct mpchr {
|
||||
/*0x3c*/ s16 numdeaths;
|
||||
/*0x3e*/ s16 unk3e;
|
||||
/*0x40*/ s16 unk40;
|
||||
/*0x42*/ u16 unk42;
|
||||
};
|
||||
|
||||
struct mpplayerconfig {
|
||||
/*0x00*/ struct mpchrconfig base;
|
||||
/*0x44*/ u8 controlmode;
|
||||
/*0x45*/ s8 contpad1;
|
||||
/*0x46*/ s8 contpad2;
|
||||
/*0x47*/ u8 simtype;
|
||||
};
|
||||
|
||||
struct mpplayer {
|
||||
/*0x00*/ struct mpchr base;
|
||||
/*0x48*/ u16 options;
|
||||
/*0x4c*/ struct fileguid fileguid;
|
||||
/*0x54*/ u32 kills;
|
||||
@@ -4618,8 +4616,10 @@ struct mpplayer {
|
||||
/*0x9d*/ u8 handicap;
|
||||
};
|
||||
|
||||
struct mpsim {
|
||||
/*0x00*/ struct mpchr base;
|
||||
struct mpbotconfig {
|
||||
/*0x00*/ struct mpchrconfig base;
|
||||
/*0x44*/ u8 unk44[3];
|
||||
/*0x47*/ u8 type;
|
||||
/*0x48*/ u8 difficulty;
|
||||
};
|
||||
|
||||
@@ -4688,7 +4688,7 @@ struct mpscenario {
|
||||
void (*tickfunc)(void);
|
||||
void (*unk14)(struct chrdata *chr);
|
||||
void *unk18;
|
||||
void (*killfunc)(struct mpchr *mpchr, s32 arg1, s32 *score, s32 *arg3);
|
||||
void (*killfunc)(struct mpchrconfig *mpchr, s32 arg1, s32 *score, s32 *arg3);
|
||||
Gfx *(*radarfunc)(Gfx *gdl);
|
||||
bool (*radar2func)(Gfx **gdl, struct prop *prop);
|
||||
bool (*highlightfunc)(struct prop *prop, u32 *colour);
|
||||
@@ -4762,7 +4762,7 @@ struct scenariodata_cbt {
|
||||
u32 unk04;
|
||||
u32 unk08;
|
||||
u16 unk0c;
|
||||
s16 unk0e[1]; // possibly for a different scenario - see mpGetNumTeammatesDefendingHill
|
||||
s16 unk0e[1]; // possibly for a different scenario - see botGetNumTeammatesDefendingHill
|
||||
};
|
||||
|
||||
struct scenariodata_htb {
|
||||
@@ -5232,7 +5232,7 @@ struct chrbio {
|
||||
};
|
||||
|
||||
struct mpteaminfo {
|
||||
struct mpchr *mpchr;
|
||||
struct mpchrconfig *mpchr;
|
||||
u32 teamnum;
|
||||
u32 positionindex;
|
||||
u8 unk0c;
|
||||
@@ -6945,8 +6945,8 @@ struct aibotweaponpreference {
|
||||
u8 unk03;
|
||||
u16 unk04_00 : 1;
|
||||
u16 unk04_01 : 1;
|
||||
u16 unk04_02 : 4;
|
||||
u16 unk04_06 : 4;
|
||||
u16 pridistconfig : 4;
|
||||
u16 secdistconfig : 4;
|
||||
u16 unk06;
|
||||
u16 unk08;
|
||||
u16 unk0a;
|
||||
|
||||
Reference in New Issue
Block a user