perfect_dark/src/include/game/training.h

123 lines
4.0 KiB
C

#ifndef IN_GAME_TRAINING_H
#define IN_GAME_TRAINING_H
#include <ultra64.h>
#include "types.h"
extern u8 g_FrIsValidWeapon;
extern s32 g_FrWeaponNum;
extern u8 var800888a0;
bool ciIsTourDone(void);
u8 ciGetFiringRangeScore(s32 weaponindex);
void frSaveScoreIfBest(s32 weaponindex, s32 difficulty);
u8 frIsWeaponFound(s32 weapon);
void frSetWeaponFound(s32 weaponnum);
s32 stageIsComplete(s32 stageindex);
bool func0f19cbcc(s32 weapon);
bool frWeaponIsAvailable(s32 weapon);
u32 frGetWeaponIndexByWeapon(u32 weaponnum);
u32 func0f19cdf0(u32 weaponnum);
s32 frIsClassicWeaponUnlocked(u32 weapon);
s32 frGetSlot(void);
void frSetSlot(s32 slot);
u32 frGetWeaponBySlot(s32 slot);
s32 frGetNumWeaponsAvailable(void);
void frInitLighting(void);
void frRestoreLighting(void);
void func0f19d4ec(void);
void *frLoadRomData(u32 len);
void frSetDifficulty(s32 difficulty);
u32 frGetDifficulty(void);
void frInitDefaults(void);
struct frdata *getFiringRangeData(void);
u32 frResolveFrPad(u32 arg0);
bool frIsDifficulty(u32 difficulties);
void func0f19d90c(u32 weaponindex);
void func0f19de24(void);
bool frTargetIsAtScriptStart(s32 targetnum);
char *frGetInstructionalText(u32 index);
void frExecuteMainScript(void);
bool frExecuteTargetScript(s32 targetnum);
void frHideAllTargets(void);
void frInitTargets(void);
void frCloseAndLockDoor(void);
void frUnlockDoor(void);
void func0f19e7a8(void);
u32 frInitAmmo(s32 weapon);
void frBeginSession(s32 weapon);
char *frGetWeaponDescription(void);
void frEndSession(bool hidetargets);
bool frWasTooInaccurate(void);
void frSetFailReason(s32 failreason);
void func0f19f18c(void);
bool func0f19f220(struct prop *prop);
f32 func0f19f294(struct coord *a, f32 angle, struct coord *b);
bool func0f19f2ec(struct prop *prop, struct coord *pos);
struct prop *frChooseAutogunTarget(struct coord *arg0);
u32 func0f19f524(void);
void frTick(void);
void func0f1a0924(struct prop *prop);
bool frChooseFarsightTarget(void);
s32 frIsInTraining(void);
void frCalculateHit(struct defaultobj *obj, struct coord *hitpos, f32 maulercharge);
void func0f1a0fc8(void);
bool ciIsChrBioUnlocked(u32 bodynum);
struct chrbio *ciGetChrBioByBodynum(u32 bodynum);
char *ciGetChrBioDescription(void);
s32 ciGetNumUnlockedChrBios(void);
s32 ciGetChrBioIndexBySlot(s32 slot);
struct miscbio *ciGetMiscBio(s32 index);
bool ciIsMiscBioUnlocked(s32 index);
s32 ciGetNumUnlockedMiscBios(void);
s32 ciGetMiscBioIndexBySlot(s32 slot);
char *ciGetMiscBioDescription(void);
bool ciIsHangarBioAVehicle(s32 index);
struct hangarbio *ciGetHangarBio(s32 index);
bool ciIsHangarBioUnlocked(u32 bioindex);
s32 ciGetNumUnlockedLocationBios(void);
s32 ciGetNumUnlockedHangarBios(void);
s32 ciGetHangarBioIndexBySlot(s32 slot);
char *ciGetHangarBioDescription(void);
struct trainingdata *getDeviceTrainingData(void);
void dtRestorePlayer(void);
void dtPushEndscreen(void);
void dtTick(void);
void func0f1a1ac0(void);
void dtBegin(void);
void dtEnd(void);
bool dtIsAvailable(s32 deviceindex);
s32 dtGetNumAvailable(void);
s32 func0f1a1d68(s32 wantindex);
u32 dtGetWeaponByDeviceIndex(s32 deviceindex);
u32 ciGetStageFlagByDeviceIndex(u32 deviceindex);
char *dtGetDescription(void);
char *dtGetTip1(void);
char *dtGetTip2(void);
struct trainingdata *getHoloTrainingData(void);
void htPushEndscreen(void);
void htTick(void);
void func0f1a2198(void);
void htBegin(void);
void htEnd(void);
bool htIsUnlocked(u32 value);
s32 htGetNumUnlocked(void);
s32 htGetIndexBySlot(s32 slot);
char *htGetName(s32 index);
u32 func0f1a25c0(s32 index);
char *htGetDescription(void);
char *htGetTip1(void);
char *htGetTip2(void);
void frGetGoalTargetsText(char *buffer);
void frGetTargetsDestroyedValue(char *buffer);
void frGetScoreValue(char *buffer);
void frGetGoalScoreText(char *buffer);
f32 frGetAccuracy(char *buffer);
bool frGetMinAccuracy(char *buffer, f32 accuracy);
bool frFormatTime(char *buffer);
bool frGetHudMiddleSubtext(char *buffer);
bool frGetFeedback(char *score, char *zone);
Gfx *frRenderHudElement(Gfx *gdl, s32 x, s32 y, char *string1, char *string2, u32 colour, u8 alpha);
Gfx *frRenderHud(Gfx *gdl);
#endif