mirror of
https://github.com/HarbourMasters/Starship.git
synced 2025-01-23 21:45:00 +03:00
224 lines
7.3 KiB
C
224 lines
7.3 KiB
C
#ifndef FOX_OPTION_H
|
|
#define FOX_OPTION_H
|
|
|
|
#include "global.h"
|
|
|
|
typedef struct {
|
|
/* 0x00 */ s32 type;
|
|
/* 0x04 */ s32 unk_04; // Always set to 0 and never used
|
|
/* 0x08 */ void* texture;
|
|
/* 0x0C */ u16* palette;
|
|
/* 0x10 */ s32 width;
|
|
/* 0x14 */ s32 height;
|
|
/* 0x18 */ f32 xPos;
|
|
/* 0x1C */ f32 yPos;
|
|
/* 0x20 */ f32 xScale;
|
|
/* 0x24 */ f32 yScale;
|
|
/* 0x28 */ s32 red;
|
|
/* 0x2C */ s32 green;
|
|
/* 0x30 */ s32 blue;
|
|
/* 0x34 */ s32 alpha;
|
|
} OptionCardTexture; // size = 0x38
|
|
|
|
typedef struct {
|
|
/* 0x00 */ f32 x;
|
|
/* 0x04 */ f32 y;
|
|
/* 0x08 */ f32 z;
|
|
/* 0x0C */ f32 xScale;
|
|
/* 0x10 */ f32 yScale;
|
|
} OptionCardFrame; // size = 0x14
|
|
|
|
typedef struct {
|
|
/* 0x0 */ f32 x;
|
|
/* 0x4 */ f32 y;
|
|
/* 0x8 */ f32 range;
|
|
} ArwingCursorPos; // size = 0xC
|
|
|
|
typedef struct {
|
|
/* 0x00 */ OptionCardTexture tex;
|
|
/* 0x38 */ OptionCardFrame frame;
|
|
/* 0x4C */ ArwingCursorPos pos;
|
|
/* 0x58 */ bool drawTex;
|
|
/* 0x5C */ bool drawFrame;
|
|
} OptionEntry; // size = 0x60
|
|
|
|
typedef struct {
|
|
/* 0x0 */ PlanetId start;
|
|
/* 0x4 */ PlanetId end;
|
|
/* 0x8 */ s32 color;
|
|
} RouteColoredLine; // size = 0xC
|
|
|
|
typedef struct {
|
|
s32 unk_0;
|
|
s32 unk_4;
|
|
} StickInput;
|
|
|
|
typedef enum OptionId {
|
|
/* 1000 */ OPTION_MAIN_MENU = 1000,
|
|
/* 2000 */ OPTION_VERSUS_STAGE = 2000,
|
|
/* 0 */ OPTION_MAP = 0,
|
|
/* 1 */ OPTION_TRAINING = 1,
|
|
/* 2 */ OPTION_VERSUS = 2,
|
|
/* 3 */ OPTION_RANKING = 3,
|
|
/* 4 */ OPTION_SOUND = 4,
|
|
/* 5 */ OPTION_DATA = 5,
|
|
/* 6 */ OPTION_EXPERT_SOUND = 6,
|
|
/* 10 */ OPTION_POINT_MATCH = 10, // Point Match
|
|
/* 20 */ OPTION_BR_MATCH = 20, // Battle Royal Match
|
|
/* 30 */ OPTION_TT_MATCH = 30, // Time Trial Match
|
|
/* 200 */ OPTION_NAME_ENTRY = 200,
|
|
/* 300 */ OPTION_SCORE = 300,
|
|
/* 400 */ OPTION_INVOICE = 400,
|
|
/* 401 */ OPTION_MAX,
|
|
} OptionId;
|
|
|
|
extern u8* gBSSMapPlanetTextures[9];
|
|
extern u8* gAssetMapPlanetTextures[9];
|
|
|
|
extern s32 gTotalHitsRanking[];
|
|
extern bool gGoToTitle; // engine
|
|
extern bool sLevelStartState;
|
|
extern s32 sWipeHeight;
|
|
extern s32 sTitleRankMaxRecords;
|
|
|
|
// Planet textures
|
|
extern u8 gMapVenomCloudTex[96 * 96];
|
|
extern u8 gMapCorneriaTex[96 * 96];
|
|
extern u8 gMapFortunaTex[96 * 96];
|
|
extern u8 gMapAquasTex[96 * 96];
|
|
extern u8 gMapVenomTex[96 * 96];
|
|
extern u8 gMapTitaniaTex[96 * 96];
|
|
extern u8 gMapKatinaTex[96 * 96];
|
|
extern u8 gMapMacbethTex[96 * 96];
|
|
extern u8 gMapZonessTex[96 * 96];
|
|
|
|
void Title_UpdateEntry(void);
|
|
s32 Title_CheckControllers(void);
|
|
void Title_Ranking_Update(void);
|
|
void Title_RankingData_Draw(void);
|
|
void Title_Screen_Update(void);
|
|
void Title_CsGreatFoxTraveling_Update(void);
|
|
void Title_CsTeamRunning_Update(void);
|
|
void Title_CsGreatFoxCloseUp_Update(void);
|
|
void Title_CsTakeOff_Update(void);
|
|
void Title_CsTakeOffSpace_Update(void);
|
|
void Title_Ranking_Draw(void);
|
|
s32 Title_GetRankTotalHits(void);
|
|
void Title_Screen_Draw(void);
|
|
void Title_CsGreatFoxTraveling_Draw(void);
|
|
void Title_CsTeamRunning_Draw(void);
|
|
void Title_CsGreatFoxCloseUp_Draw(void);
|
|
void Title_CsTakeOff_Draw(void);
|
|
void Title_CsTakeOffSpace_Draw(void);
|
|
void Title_StarfoxLogo_Draw(void);
|
|
void Title_64Logo_Draw(void);
|
|
void Title_CopyrightSymbol_Draw(void);
|
|
void Title_PressStart_Draw(void);
|
|
void Title_Copyright_Draw(void);
|
|
void Title_TeamName_Draw(void);
|
|
void Title_SunGlare_Draw(void);
|
|
|
|
void Option_Entry_Update(void);
|
|
void Option_Map_Update(void);
|
|
void Option_MainMenu_Update(void);
|
|
void Option_Training_Update(void);
|
|
void Option_MainMenu_Draw(void);
|
|
void Option_Versus_Update(void);
|
|
void Option_Versus_Draw(void);
|
|
void Option_Sound_Setup(void);
|
|
void Option_Sound_Update(void);
|
|
void Option_Sound_SetSoundMode(void);
|
|
void Option_Sound_SetVolumeLevels(void);
|
|
void Option_Sound_Draw(void);
|
|
void Option_Sound_Speaker_Draw(void);
|
|
void Option_ExpertSound_Setup(void);
|
|
void Option_ExpertSound_Update(void);
|
|
void Option_ExpertSound_Draw(void);
|
|
void Option_Data_Setup(void);
|
|
void Option_Data_Update(void);
|
|
void Option_Data_Select(void);
|
|
void Option_Data_Draw(void);
|
|
void Option_Ranking_Setup(void);
|
|
void Option_Ranking_Update(void);
|
|
void Option_Ranking_Draw(void);
|
|
void Option_Ranking_Select(void);
|
|
void Option_Ranking_Cursor(void);
|
|
void Option_Ranking2_Cursor(void);
|
|
void Option_RankingMenu_Draw(void);
|
|
void Option_RankingMenu2_Draw(void);
|
|
void Option_80197914(void);
|
|
void Option_OrdinalNumbers_Draw(s32, s32, s32);
|
|
void Option_RankingName_Draw(s32, s32, s32);
|
|
void Option_RankingTotalHits_Draw(s32, s32, s32);
|
|
void Option_RankingTeamAlive_Draw(s32, s32, s32);
|
|
void Option_RankingRoute_Draw(s32, f32, f32);
|
|
void Option_RankingRouteFrame_Draw(s32, s32, f32, f32, s32);
|
|
void Option_RankingHitCount_Draw(s32, s32, f32, f32);
|
|
void Option_RankingTeamPresence_Draw(s32, s32, f32, f32);
|
|
void Option_RankingPlanetName_Draw(s32, s32, f32, f32);
|
|
void Option_RankingPlanetRoute_Draw(s32, f32, s32);
|
|
void Option_RankingRouteMedal_Draw(f32 xPos, f32 yPos, f32 zPos);
|
|
s32 Option_GetRouteLineColor(PlanetId start, PlanetId end);
|
|
void Option_VersusMenu_Setup(void);
|
|
void Option_VersusMenu_Update(void);
|
|
void Option_VersusMenu_Cursor(void);
|
|
void Option_VersusMenu_Draw(void);
|
|
void Option_VS_HandicapSet_Draw(s32);
|
|
void Option_VS_N64Console_Draw(void);
|
|
void Option_VersusStage_Setup(void);
|
|
void Option_8019A080(void);
|
|
void Option_VersusStage_Update(void);
|
|
void Option_Vs_PointMatch_Update(void);
|
|
void Option_Vs_BattleRoyal_Update(void);
|
|
void Option_Vs_TimeTrial_Update(void);
|
|
void Option_Vs_StartMatch(void);
|
|
void Option_Vs_Point_Selection(void);
|
|
void Option_VsTimeSelection(void);
|
|
void Option_VsStageSelection(void);
|
|
void Option_VsConfirmSelection(void);
|
|
void Option_VersusStage_Draw(void);
|
|
void Option_VsPointMatch_Draw(void);
|
|
void Option_VsTimeTrial_Draw(void);
|
|
void Option_VsStageSelect_Draw(void);
|
|
void Option_VsTimeTrialStageSelect_Draw(void);
|
|
void Option_VsStageSelect2_Draw(void);
|
|
void Option_VsOKConfirm_Draw(void);
|
|
void Option_VsSelectionArrows_Draw(f32 xPos, f32 yPos, f32 offset, s32 r, s32 g, s32 b);
|
|
void Option_AcceptCancel_Draw(void);
|
|
void Option_VsBackToSubMenu(OptionId menuEntryState);
|
|
void Option_VsMenuCard_Draw(void);
|
|
void Option_DrawMenuLabel(void);
|
|
void Option_DrawMenuCard(OptionCardFrame arg0);
|
|
void Option_DrawMenuArwing(ArwingCursorPos arwing);
|
|
void Option_DrawArwing(f32, f32, f32, f32, f32, f32, s32);
|
|
void Option_Menu_Push(void);
|
|
void Option_SetMenuLightPos(f32, f32, f32, f32*, f32*, f32*);
|
|
void Option_CardLightning_Update(void);
|
|
void Option_CardLightning_Draw(void);
|
|
void Option_DrawCardLabel(OptionCardTexture tex);
|
|
bool Option_Input_MoveCursor_Y(s32* arg0, s32 arg1, bool arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 controllerNum,
|
|
StickInput* stickY);
|
|
s32 Option_Input_DataSelect_X(s32*);
|
|
bool Option_Input_Sound_X(f32* arg0, f32 arg1, f32 arg2, StickInput* arg3);
|
|
void Option_Color_FlashRed(f32*);
|
|
s32 Option_RankInPos_Check(void);
|
|
void Option_NameEntry_Update(void);
|
|
void Option_NameEntry_Setup(void);
|
|
void Option_NameEntry_Select(void);
|
|
void Option_NameEntry_Draw(void);
|
|
void Option_Ranking_SaveData(void);
|
|
void Option_3DFont_Draw(s32, f32, f32, f32, f32, f32, f32, f32);
|
|
s32 Option_GetCharIndex(s32 character);
|
|
void Option_Score_Update(void);
|
|
void Option_Score_Update2(void);
|
|
void Option_Score_Draw(void);
|
|
void Option_Invoice_Update(void);
|
|
void Option_InvoiceDraw(void);
|
|
|
|
void Map_Main(void);
|
|
void Map_Texture_Sphere(u8*, u8*, f32*);
|
|
void Map_RemainingLives_Draw(s32, s32, s32);
|
|
void Map_801A9FD4(bool);
|
|
|
|
#endif
|