mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-06-13 13:46:20 -04:00
138 lines
4.6 KiB
C
138 lines
4.6 KiB
C
#ifndef IN_GAME_TRAINING_TRAINING_H
|
|
#define IN_GAME_TRAINING_TRAINING_H
|
|
#include <ultra64.h>
|
|
#include "data.h"
|
|
#include "types.h"
|
|
|
|
extern u8 g_FrIsValidWeapon;
|
|
extern s32 g_FrWeaponNum;
|
|
extern u8 g_ChrBioSlot;
|
|
extern u8 var80088bb4;
|
|
extern u8 g_HangarBioSlot;
|
|
extern u8 g_DtSlot;
|
|
|
|
bool ciIsTourDone(void);
|
|
u8 ciGetFiringRangeScore(s32 weaponindex);
|
|
void frSaveScoreIfBest(s32 weaponindex, s32 difficulty);
|
|
u8 frIsWeaponFound(s32 weapon);
|
|
void frSetWeaponFound(s32 weaponnum);
|
|
s32 ciIsStageComplete(s32 stageindex);
|
|
bool func0f19cbcc(s32 weapon);
|
|
bool frIsWeaponAvailable(s32 weapon);
|
|
u32 frGetWeaponIndexByWeapon(u32 weaponnum);
|
|
u32 frGetWeaponScriptIndex(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 frReset(void);
|
|
void *frLoadRomData(u32 len);
|
|
void frSetDifficulty(s32 difficulty);
|
|
u32 frGetDifficulty(void);
|
|
void frInitDefaults(void);
|
|
struct frdata *frGetData(void);
|
|
u32 frResolveFrPad(u32 arg0);
|
|
bool frIsDifficulty(u32 difficulties);
|
|
void frExecuteWeaponScript(s32 scriptindex);
|
|
void frSetTargetProps(void);
|
|
bool frTargetIsAtScriptStart(s32 targetnum);
|
|
char *frGetInstructionalText(u32 index);
|
|
void frExecuteHelpScript(void);
|
|
bool frExecuteTargetScript(s32 targetnum);
|
|
void frHideAllTargets(void);
|
|
void frInitTargets(void);
|
|
void frCloseAndLockDoor(void);
|
|
void frUnlockDoor(void);
|
|
void frLoadData(void);
|
|
u32 frInitAmmo(s32 weapon);
|
|
void frBeginSession(s32 weapon);
|
|
char *frGetWeaponDescription(void);
|
|
void frEndSession(bool hidetargets);
|
|
bool frWasTooInaccurate(void);
|
|
void frSetFailReason(s32 failreason);
|
|
void frSetCompleted(void);
|
|
bool frIsTargetOneHitExplodable(struct prop *prop);
|
|
f32 frGetTargetAngleToPos(struct coord *a, f32 angle, struct coord *b);
|
|
bool frIsTargetFacingPos(struct prop *prop, struct coord *pos);
|
|
struct prop *frChooseAutogunTarget(struct coord *autogunpos);
|
|
bool frIsAmmoWasted(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 frIncrementNumShots(void);
|
|
bool ciIsChrBioUnlocked(u32 bodynum);
|
|
struct chrbio *ciGetChrBioByBodynum(u32 bodynum);
|
|
char *ciGetChrBioDescription(void);
|
|
s32 ciGetNumUnlockedChrBios(void);
|
|
s32 ciGetChrBioBodynumBySlot(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 *dtGetData(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 dtGetIndexBySlot(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);
|
|
|
|
#if VERSION >= VERSION_JPN_FINAL
|
|
void frGetGoalTargetsText(char *buffer1, char *buffer2);
|
|
void frGetGoalScoreText(char *buffer1, char *buffer2);
|
|
bool frGetMinAccuracy(char *buffer1, f32 accuracy, char *buffer2);
|
|
bool frGetHudMiddleSubtext(char *buffer1, char *buffer2);
|
|
bool frGetFeedback(char *score, char *zone, char *extrabuffer);
|
|
Gfx *frRenderHudElement(Gfx *gdl, s32 x, s32 y, char *string1, char *string2, char *string3, u32 colour, u8 alpha);
|
|
#else
|
|
void frGetGoalTargetsText(char *buffer);
|
|
void frGetGoalScoreText(char *buffer);
|
|
bool frGetMinAccuracy(char *buffer, f32 accuracy);
|
|
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);
|
|
#endif
|
|
|
|
void frGetTargetsDestroyedValue(char *buffer);
|
|
void frGetScoreValue(char *buffer);
|
|
f32 frGetAccuracy(char *buffer);
|
|
bool frFormatTime(char *buffer);
|
|
Gfx *frRenderHud(Gfx *gdl);
|
|
|
|
#endif
|