Rename bot files and functions

This commit is contained in:
Ryan Dwyer
2021-12-26 15:12:58 +10:00
parent 42922df7d2
commit 50b60dc92a
59 changed files with 3732 additions and 3570 deletions
+6 -6
View File
@@ -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
View File
@@ -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
View File
@@ -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];
+55
View File
@@ -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
+25
View File
@@ -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
+10
View File
@@ -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
+30
View File
@@ -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
+9
View File
@@ -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
+2 -2
View File
@@ -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
-9
View File
@@ -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
-55
View File
@@ -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
-32
View File
@@ -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
-25
View File
@@ -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
+3 -3
View File
@@ -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);
+5 -5
View File
@@ -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
View File
@@ -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;