mirror of
https://github.com/izzy2lost/Starship.git
synced 2026-07-05 15:19:42 -07:00
Hud, Title, Map & Option Docs (#272)
* hud title and option docs * hud docs * aspMain vram comment * more hud docs * HUD docs * Hud_ -> HUD_ consistency * ActorMissileSeekModes * fox_option docs * more option docs * more option docs * more option docs * fox_title docs * more fox_title docs * fox_map docs * fix map TLUTs * more fox_map docs * jp1 explore * explore us rev0 * SETUPDL comments * format * fox_map docs * more fox_map docs
This commit is contained in:
+2
-2
@@ -312,8 +312,8 @@ extern s32 gLeftWingDebrisTimer[4];
|
||||
extern s32 gBombCount[4];
|
||||
extern s32 gVsPoints[4];
|
||||
extern s32 gVsKills[4][10];
|
||||
extern s32 gVsMatchOver;
|
||||
extern s32 gVsMatchStart;
|
||||
extern s32 gVsMatchWon;
|
||||
extern bool gVsMatchStart;
|
||||
extern bool gChangeTo360;
|
||||
extern Vec3f gTeamArrowsViewPos[10];
|
||||
extern f32 D_ctx_80177F20[65];
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
#ifndef FOX_HUD_H
|
||||
#define FOX_HUD_H
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8* levelIdxTex;
|
||||
/* 0x04 */ s32 width;
|
||||
/* 0x08 */ s32 height;
|
||||
/* 0x0C */ u8* titleCardTex;
|
||||
/* 0x10 */ s32 titleCardWidth;
|
||||
/* 0x14 */ s32 titleCardHeight;
|
||||
} LevelTitleCard;
|
||||
|
||||
typedef enum LevelClearScreenState {
|
||||
/* 0 */ LEVEL_CLEAR_STATE_0,
|
||||
/* 1 */ LEVEL_CLEAR_STATE_1,
|
||||
/* 2 */ LEVEL_CLEAR_STATE_2,
|
||||
/* 3 */ LEVEL_CLEAR_STATE_3,
|
||||
/* 4 */ LEVEL_CLEAR_STATE_4,
|
||||
/* 5 */ LEVEL_CLEAR_STATE_5,
|
||||
} LevelClearScreenState;
|
||||
|
||||
typedef enum BombCounterStates {
|
||||
/* 0 */ BOMB_COUNTER_INIT,
|
||||
/* 1 */ BOMB_COUNTER_STATE_1,
|
||||
/* 2 */ BOMB_COUNTER_STATE_2,
|
||||
/* 3 */ BOMB_COUNTER_STATE_3,
|
||||
/* 4 */ BOMB_COUNTER_STATE_4,
|
||||
/* 5 */ BOMB_COUNTER_STATE_5,
|
||||
/* 6 */ BOMB_COUNTER_STATE_6,
|
||||
/* 7 */ BOMB_COUNTER_STATE_7,
|
||||
} BombCounterStates;
|
||||
|
||||
typedef enum RadarMarkTypes {
|
||||
/* 0 */ RADARMARK_FOX,
|
||||
/* 1 */ RADARMARK_FALCO,
|
||||
/* 2 */ RADARMARK_SLIPPY,
|
||||
/* 3 */ RADARMARK_PEPPY,
|
||||
/* 4 */ RADARMARK_WOLF,
|
||||
/* 5 */ RADARMARK_LEON,
|
||||
/* 6 */ RADARMARK_PIGMA,
|
||||
/* 7 */ RADARMARK_ANDREW,
|
||||
/* 8 */ RADARMARK_KATT,
|
||||
/* 100 */ RADARMARK_MISSILE = 100,
|
||||
/* 101 */ RADARMARK_KA_SAUCERER,
|
||||
/* 102 */ RADARMARK_BOSS,
|
||||
/* 103 */ RADARMARK_SUPPIES,
|
||||
/* 200 */ RADARMARK_ITEM_1 = 200,
|
||||
/* 201 */ RADARMARK_ITEM_2,
|
||||
/* 999 */ RADARMARK_NOTHING = 999
|
||||
} RadarMarkTypes;
|
||||
|
||||
typedef enum ActorMissileSeekMode {
|
||||
/* 0 */ MISSILE_SEEK_TEAMMATES,
|
||||
/* 1 */ MISSILE_SEEK_PLAYER,
|
||||
/* 2 */ MISSILE_SEEK_EITHER,
|
||||
} ActorMissileSeekMode;
|
||||
|
||||
#endif
|
||||
+31
-1
@@ -29,7 +29,7 @@ typedef struct {
|
||||
/* 0x18 */ s32 alpha;
|
||||
} PlanetPath; // size = 0x1C
|
||||
|
||||
typedef enum {
|
||||
typedef enum PlanetAnim {
|
||||
/* 0 */ PL_ANIM_STATIC,
|
||||
/* 1 */ PL_ANIM_BILLBOARD,
|
||||
/* 2 */ PL_ANIM_ROTATE_Y,
|
||||
@@ -63,4 +63,34 @@ typedef struct {
|
||||
/* 0xC */ f32 xPos;
|
||||
} TitleCard; // size = 0x10
|
||||
|
||||
typedef enum MapStates {
|
||||
/* 0 */ MAP_PROLOGUE,
|
||||
/* 1 */ MAP_LYLAT_CARD,
|
||||
/* 2 */ MAP_ZOOM_PLANET,
|
||||
/* 3 */ MAP_IDLE,
|
||||
/* 4 */ MAP_LEVEL_START,
|
||||
/* 5 */ MAP_ZOOM_PLANET_PATH, // After level ends
|
||||
/* 6 */ MAP_PATH_CHANGE, // Path selection by the player
|
||||
/* 7 */ MAP_GAME_OVER
|
||||
} MapStates;
|
||||
|
||||
typedef enum PlanetStatus {
|
||||
/* 0 */ PLANET_UNCLEARED,
|
||||
/* 1 */ PLANET_CLEARED,
|
||||
/* 2 */ PLANET_MEDAL
|
||||
} PlanetStatus;
|
||||
|
||||
typedef enum PlanetExplosions {
|
||||
/* 0 */ EXPLOSIONS_CORNERIA,
|
||||
/* 1 */ EXPLOSIONS_KATINA,
|
||||
/* 2 */ EXPLOSIONS_SECTOR_Y,
|
||||
/* 3 */ EXPLOSIONS_MAX
|
||||
} PlanetExplosions;
|
||||
|
||||
typedef enum PlanetSaveSlotTypes {
|
||||
/* 0 */ SAVETYPE_PLAYED,
|
||||
/* 1 */ SAVETYPE_MEDAL,
|
||||
/* 2 */ SAVETYPE_CLEAR
|
||||
} PlanetSaveSlotTypes;
|
||||
|
||||
#endif
|
||||
|
||||
+152
-154
@@ -5,7 +5,7 @@
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ s32 type;
|
||||
/* 0x04 */ s32 unk_04;
|
||||
/* 0x04 */ s32 unk_04; // Always set to 0 and never used
|
||||
/* 0x08 */ void* texture;
|
||||
/* 0x0C */ u16* palette;
|
||||
/* 0x10 */ s32 width;
|
||||
@@ -18,7 +18,7 @@ typedef struct {
|
||||
/* 0x2C */ s32 green;
|
||||
/* 0x30 */ s32 blue;
|
||||
/* 0x34 */ s32 alpha;
|
||||
} OptionTexture; // size = 0x38
|
||||
} OptionCardTexture; // size = 0x38
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ f32 x;
|
||||
@@ -26,32 +26,32 @@ typedef struct {
|
||||
/* 0x08 */ f32 z;
|
||||
/* 0x0C */ f32 xScale;
|
||||
/* 0x10 */ f32 yScale;
|
||||
} MenuContext_38; // size = 0x14
|
||||
} OptionCardFrame; // size = 0x14
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ f32 x;
|
||||
/* 0x4 */ f32 y;
|
||||
/* 0x8 */ f32 range;
|
||||
} ArwingPosition; // size = 0xC
|
||||
} ArwingCursorPos; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ OptionTexture unk_00;
|
||||
/* 0x38 */ MenuContext_38 unk_38;
|
||||
/* 0x4C */ ArwingPosition unk_4C;
|
||||
/* 0x58 */ bool unk_58;
|
||||
/* 0x5C */ bool unk_5C;
|
||||
/* 0x00 */ OptionCardTexture tex;
|
||||
/* 0x38 */ OptionCardFrame frame;
|
||||
/* 0x4C */ ArwingCursorPos pos;
|
||||
/* 0x58 */ bool drawTex;
|
||||
/* 0x5C */ bool drawFrame;
|
||||
} OptionEntry; // size = 0x60
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ PlanetId unk_0;
|
||||
/* 0x4 */ PlanetId unk_4;
|
||||
/* 0x8 */ s32 unk_8;
|
||||
} UnkStruct_D_menu_801AED4C; // size = 0xC
|
||||
/* 0x0 */ PlanetId start;
|
||||
/* 0x4 */ PlanetId end;
|
||||
/* 0x8 */ s32 color;
|
||||
} RouteColoredLine; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
s32 unk_0;
|
||||
s32 unk_4;
|
||||
} UnkStruct_D_menu_801B9250;
|
||||
} StickInput;
|
||||
|
||||
typedef enum OptionId {
|
||||
/* 1000 */ OPTION_MAIN_MENU = 1000,
|
||||
@@ -63,163 +63,161 @@ typedef enum OptionId {
|
||||
/* 4 */ OPTION_SOUND = 4,
|
||||
/* 5 */ OPTION_DATA = 5,
|
||||
/* 6 */ OPTION_EXPERT_SOUND = 6,
|
||||
/* 10 */ OPTION_POINT_MATCH = 10,
|
||||
/* 20 */ OPTION_BR_MATCH = 20,
|
||||
/* 30 */ OPTION_TT_MATCH = 30,
|
||||
/* 200 */ OPTION_NAME = 200,
|
||||
/* 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;
|
||||
|
||||
#define OPTION_COUNT ARRAY_COUNT(sOptionCardList)
|
||||
extern u8* gBSSMapPlanetTextures[9];
|
||||
extern u8* gAssetMapPlanetTextures[9];
|
||||
|
||||
extern u8* D_menu_801B68B0[];
|
||||
extern u8* D_menu_801B68D4[];
|
||||
|
||||
extern s32 D_menu_801B8220[]; // total hits ranking? see Option_80197DE4
|
||||
extern s32 D_menu_801B827C; // engine
|
||||
extern s32 D_menu_801B8280;
|
||||
extern s32 D_menu_801B8284;
|
||||
extern s32 D_menu_801B8288;
|
||||
extern s32 gTotalHitsRanking[];
|
||||
extern bool gGoToTitle; // engine
|
||||
extern bool sLevelStartState;
|
||||
extern s32 sWipeHeight;
|
||||
extern s32 sTitleRankMaxRecords;
|
||||
|
||||
// Planet textures
|
||||
extern u8 D_menu_801B9410[96 * 96];
|
||||
extern u8 D_menu_801BB810[96 * 96];
|
||||
extern u8 D_menu_801BDC10[96 * 96];
|
||||
extern u8 D_menu_801C0010[96 * 96];
|
||||
extern u8 D_menu_801C2410[96 * 96];
|
||||
extern u8 D_menu_801C4810[96 * 96];
|
||||
extern u8 D_menu_801C6C10[96 * 96];
|
||||
extern u8 D_menu_801C9010[96 * 96];
|
||||
extern u8 D_menu_801CB410[96 * 96];
|
||||
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_80187ABC(void);
|
||||
void Title_80187B00(void);
|
||||
void Title_80187E28(void);
|
||||
void Title_801888E8(void);
|
||||
void Title_8018994C(void);
|
||||
void Title_8018A644(void);
|
||||
void Title_8018ACEC(void);
|
||||
void Title_8018B5C4(void);
|
||||
void Title_8018C644(void);
|
||||
void Title_80187CA8(void);
|
||||
s32 Title_80188010(void);
|
||||
void Title_80189208(void);
|
||||
void Title_8018A2F8(void);
|
||||
void Title_8018A990(void);
|
||||
void Title_8018B038(void);
|
||||
void Title_8018C114(void);
|
||||
void Title_8018CB90(void);
|
||||
void Title_8018F680(void);
|
||||
void Title_8018F77C(void);
|
||||
void Title_8018F85C(void);
|
||||
void Title_8018F8E4(void);
|
||||
void Title_8018FC14(void);
|
||||
void Title_8018FD08(void);
|
||||
void Title_8018FF74(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_UpdateEntry(void);
|
||||
void Option_MapUpdate(void);
|
||||
void Option_MainMenuUpdate(void);
|
||||
void Option_TrainingUpdate(void);
|
||||
void Option_MainMenuDraw(void);
|
||||
void Option_VersusUpdate(void);
|
||||
void Option_VersusDraw(void);
|
||||
void Option_SoundInit(void);
|
||||
void Option_SoundUpdate(void);
|
||||
void Option_80194AEC(void);
|
||||
void Option_80194BD0(void);
|
||||
void Option_SoundDraw(void);
|
||||
void Option_801952B4(void);
|
||||
void Option_ExpertSoundInit(void);
|
||||
void Option_ExpertSoundUpdate(void);
|
||||
void Option_ExpertSoundDraw(void);
|
||||
void Option_DataInit(void);
|
||||
void Option_DataUpdate(void);
|
||||
void Option_8019669C(void);
|
||||
void Option_DataDraw(void);
|
||||
void Option_RankingInit(void);
|
||||
void Option_RankingUpdate(void);
|
||||
void Option_RankingDraw(void);
|
||||
void Option_80196FC4(void);
|
||||
void Option_80197074(void);
|
||||
void Option_8019715C(void);
|
||||
void Option_RankingMenuDraw(void);
|
||||
void Option_8019752C(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_80197A3C(s32, s32, s32);
|
||||
void Option_80197D30(s32, s32, s32);
|
||||
void Option_80197DE4(s32, s32, s32);
|
||||
void Option_80197F74(s32, s32, s32);
|
||||
void Option_80198164(s32, f32, f32);
|
||||
void Option_801982B0(s32, s32, f32, f32, s32);
|
||||
void Option_801984D0(s32, s32, f32, f32);
|
||||
void Option_80198608(s32, s32, f32, f32);
|
||||
void Option_8019882C(s32, s32, f32, f32);
|
||||
void Option_8019896C(s32, f32, s32);
|
||||
void Option_80199198(f32 arg0, f32 arg1, f32 arg2);
|
||||
s32 Option_80199284(PlanetId start, PlanetId end);
|
||||
void Option_VersusMenuInit(void);
|
||||
void Option_VersusMenuUpdate(void);
|
||||
void Option_8019949C(void);
|
||||
void Option_VersusMenuDraw(void);
|
||||
void Option_80199820(s32);
|
||||
void Option_80199EA8(void);
|
||||
void Option_VersusStageInit(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_VersusStageUpdate(void);
|
||||
void Option_8019A124(void);
|
||||
void Option_8019A1A8(void);
|
||||
void Option_8019A214(void);
|
||||
void Option_8019A298(void);
|
||||
void Option_8019A2E0(void);
|
||||
void Option_8019A4DC(void);
|
||||
void Option_8019A6DC(void);
|
||||
void Option_8019A954(void);
|
||||
void Option_VersusStageDraw(void);
|
||||
void Option_8019AB30(void);
|
||||
void Option_8019AD84(void);
|
||||
void Option_8019AFFC(void);
|
||||
void Option_8019B1F8(void);
|
||||
void Option_8019B3DC(void);
|
||||
void Option_8019B5AC(void);
|
||||
void Option_8019B6D8(f32 xPos, f32 yPos, f32 offset, s32 r, s32 g, s32 b);
|
||||
void Option_8019B7D4(void);
|
||||
void Option_8019B8A0(s32 arg0);
|
||||
void Option_8019B8C8(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(MenuContext_38 arg0);
|
||||
void Option_DrawMenuArwing(ArwingPosition arwing);
|
||||
void Option_DrawMenuCard(OptionCardFrame arg0);
|
||||
void Option_DrawMenuArwing(ArwingCursorPos arwing);
|
||||
void Option_DrawArwing(f32, f32, f32, f32, f32, f32);
|
||||
void Option_8019BDF0(void);
|
||||
void Option_8019BE7C(f32, f32, f32, f32*, f32*, f32*);
|
||||
void Option_8019BF34(void);
|
||||
void Option_8019C04C(void);
|
||||
void Option_DrawCardLabel(OptionTexture tex);
|
||||
bool Option_8019C418(s32* arg0, s32 arg1, bool arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7,
|
||||
UnkStruct_D_menu_801B9250* arg8);
|
||||
s32 Option_8019C5A0(s32*);
|
||||
bool Option_8019C66C(f32* arg0, f32 arg1, f32 arg2, UnkStruct_D_menu_801B9250* arg3);
|
||||
void Option_8019C824(f32*);
|
||||
s32 Option_8019C8C4(void);
|
||||
void Option_8019CAE0(void);
|
||||
void Option_8019CBC0(void);
|
||||
void Option_8019CD54(void);
|
||||
void Option_8019D118(void);
|
||||
void Option_8019D624(void);
|
||||
void Option_8019DB20(s32, f32, f32, f32, f32, f32, f32, f32);
|
||||
s32 Option_8019DCE8(s32 arg0);
|
||||
void Option_8019DD44(void);
|
||||
void Option_8019DE74(void);
|
||||
void Option_8019DF64(void);
|
||||
void Option_InvoiceUpdate(void);
|
||||
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_801A07E8(u8*, u8*, f32*);
|
||||
void Map_801AD7EC(s32, s32, s32);
|
||||
void Map_801A9FD4(s32);
|
||||
void Map_Texture_Sphere(u8*, u8*, f32*);
|
||||
void Map_RemainingLives_Draw(s32, s32, s32);
|
||||
void Map_801A9FD4(bool);
|
||||
|
||||
#endif
|
||||
|
||||
+40
-39
@@ -5,6 +5,7 @@
|
||||
#include "sf64object.h"
|
||||
#include "sf64player.h"
|
||||
#include "sf64mesg.h"
|
||||
#include "fox_hud.h"
|
||||
|
||||
// fox_360
|
||||
void AllRange_FortunaIntro(Player*);
|
||||
@@ -376,54 +377,54 @@ void Effect_Effect399_Draw(Effect*);
|
||||
void Wipe_Draw(WipeMode mode, s32 frame);
|
||||
|
||||
// fox_hud
|
||||
void func_hud_80084B94(s32);
|
||||
void func_hud_800857DC(f32, f32, f32, f32);
|
||||
void func_hud_80085890(f32, f32, f32, f32);
|
||||
void func_hud_80086110(f32, f32, s32);
|
||||
void func_hud_80086664(f32, f32);
|
||||
void func_hud_800869A0(f32, f32, s32, f32, s32, s32);
|
||||
void func_hud_80087530(f32, f32, s32);
|
||||
void func_hud_800884E4(void);
|
||||
void func_hud_80088564(void);
|
||||
void HUD_TeamDownWrench_Draw(s32);
|
||||
void HUD_BoostGaugeOverheat_Draw(f32, f32, f32, f32);
|
||||
void HUD_BoostGaugeCool_Draw(f32, f32, f32, f32);
|
||||
void HUD_TeamShields_Draw(f32, f32, s32);
|
||||
void HUD_TitleCard_Draw(f32, f32);
|
||||
void HUD_Number_Draw(f32, f32, s32, f32, bool, s32);
|
||||
void HUD_LivesCount2_Draw(f32, f32, s32);
|
||||
void HUD_SetMissionTeamStatus(void);
|
||||
void HUD_Bolse_Area6_SaveData(void);
|
||||
void HUD_DrawStatusScreens(void);
|
||||
s32 ActorMissileSeek_ModeCheck(s32);
|
||||
s32 ActorMissileSeek_ModeCheck(ActorMissileSeekMode mode);
|
||||
void HUD_RadioCharacterName_Draw(void);
|
||||
void func_hud_8008B5B0(f32 x, f32 y);
|
||||
s32 func_hud_8008B774(void);
|
||||
void func_hud_8008BD00(u8*, s32, s32, u8);
|
||||
void func_hud_8008C104(u16*, u16*);
|
||||
void HUD_PlayerShieldGauge_Draw(f32 x, f32 y);
|
||||
s32 HUD_RadioDamage_Type(void);
|
||||
void HUD_Texture_Scroll(u8*, s32, s32, u8);
|
||||
void HUD_Texture_Wave(u16*, u16*);
|
||||
void HUD_DisplaySmallNumber(f32, f32, f32, s32);
|
||||
void func_hud_8008C5C8(f32, f32, f32, s32);
|
||||
void func_hud_8008C6F4(s32, s32);
|
||||
s32 func_hud_8008BCBC(s32);
|
||||
void HUD_DrawEdgeArrows(void);
|
||||
s32 HUD_dummy_8008CB8C(void);
|
||||
void func_hud_8008D0DC(f32, f32, f32, f32, f32);
|
||||
void HUD_VsModePortraitTex_Draw(f32, f32, f32, s32);
|
||||
void HUD_EdgeArrows_Draw(s32, bool);
|
||||
s32 HUD_CountDigits(s32);
|
||||
void HUD_EdgeArrows_Update(void);
|
||||
s32 HUD_8008CB8C(void);
|
||||
void HUD_VS_ShieldGaugeTex_Draw(f32, f32, f32, f32, f32);
|
||||
void HUD_DrawBossHealth(void);
|
||||
void HUD_DrawCountdown(s32* , f32);
|
||||
void func_hud_8008E9EC(f32, f32);
|
||||
void func_hud_8008EA14(f32, f32);
|
||||
void HUD_Shield_GoldRings_HitPoints(f32, f32);
|
||||
void HUD_BombCounter_Draw(f32, f32);
|
||||
void HUD_Draw(void);
|
||||
void HUD_FoBase_Draw(Boss*);
|
||||
void func_hud_8008FFF0(Boss*, s32);
|
||||
s32 HUD_FoBase_ExplodeCs(Boss* this);
|
||||
bool func_hud_8009092C(Actor*);
|
||||
void HUD_FoBase_Update(Boss*);
|
||||
bool func_hud_800915FC(Actor*);
|
||||
bool func_hud_800924E0(Actor*);
|
||||
void FoBase_Draw(Boss*);
|
||||
void FoBase_BurnEffects(Boss*, s32);
|
||||
s32 FoBase_ExplodeCs(Boss* this);
|
||||
bool ActorTeamBoss_SetTarget(Actor*);
|
||||
void FoBase_Update(Boss*);
|
||||
bool ActorTeamBoss_ObstacleCheck(Actor*);
|
||||
bool ActorTeamBoss_SomerSault(Actor*);
|
||||
|
||||
void ActorTeamBoss_Init(Actor*);
|
||||
void ActorTeamBoss_Update(Actor* this);
|
||||
void func_hud_80093164(Actor*);
|
||||
void HUD_AquasStart(Player*);
|
||||
void func_hud_800953A0(Actor*, s32);
|
||||
void func_hud_8009546C(Actor*, s32);
|
||||
void func_hud_80095538(Actor*, s32);
|
||||
void HUD_AquasComplete(Player*);
|
||||
void Hud_Effect363_Update(Effect*);
|
||||
void Hud_Effect363_Draw(Effect*);
|
||||
void func_hud_80094D20(f32, f32);
|
||||
void func_hud_80096A74(Player* player);
|
||||
void Aquas_CsIntroActors_Update(Actor*);
|
||||
void Aquas_CsLevelStart(Player*);
|
||||
void Aquas_AqBump2_Setup(Actor*, s32);
|
||||
void Aquas_AqCoralReef2_Setup(Actor*, s32);
|
||||
void Aquas_AqRock_Setup(Actor*, s32);
|
||||
void Aquas_CsLevelComplete(Player*);
|
||||
void Aquas_Effect363_Update(Effect*);
|
||||
void Aquas_Effect363_Draw(Effect*);
|
||||
void HUD_Hitpoints_Draw(f32, f32);
|
||||
void Venom1_LevelStart2(Player* player);
|
||||
|
||||
// fox_col1
|
||||
void func_col1_80098860(PlaneF* plane, Vec3f* point, Vec3f* normal);
|
||||
|
||||
+19
-19
@@ -118,8 +118,8 @@ void Lights_SetTwoLights(Gfx** dList, s32 dir1x, s32 dir1y, s32 dir1z, s32 dir2x
|
||||
|
||||
char* Graphics_ClearPrintBuffer(char *buf, s32 fill, s32 len);
|
||||
s32 Graphics_Printf(const char *fmt, ...);
|
||||
void Texture_Scroll(u16 *texture, s32 width, s32 height, u8 mode);
|
||||
void Texture_Mottle(u16 *dst, u16 *src, u8 mode);
|
||||
void Lib_Texture_Scroll(u16 *texture, s32 width, s32 height, u8 mode);
|
||||
void Lib_Texture_Mottle(u16 *dst, u16 *src, u8 mode);
|
||||
s32 Animation_GetLimbIndex(Limb* limb, Limb** skeleton);
|
||||
void Animation_DrawLimb(s32 mode, Limb* limb, Limb* *skeleton, Vec3f* jointTable, OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, void* data);
|
||||
void Animation_DrawSkeleton(s32 mode, Limb** skeletonSegment, Vec3f* jointTable, OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, void* data, Matrix* transform);
|
||||
@@ -128,23 +128,23 @@ s32 Animation_GetFrameCount(Animation *animationSegment);
|
||||
void Animation_FindBoundingBox(Gfx* dList, s32 len, Vec3f *min, Vec3f *max, s32 *vtxFound, s32 *vtxCount, Vtx* *vtxList);
|
||||
void Animation_GetDListBoundingBox(Gfx *dList, s32 len, Vec3f *min, Vec3f *max);
|
||||
void Animation_GetSkeletonBoundingBox(Limb** skeletonSegment, Animation *animationSegment, s32 frame, Vec3f *min, Vec3f* max);
|
||||
void TextureRect_CI4(Gfx **gfxPtr, u8* texture, u16* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_CI4_Flip(Gfx **gfxPtr, u8* texture, u16* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_CI4_MirX(Gfx **gfxPtr, u8* texture, u16* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_CI4_MirY(Gfx **gfxPtr, u8* texture, u16* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_CI8(Gfx **gfxPtr, u8* texture, u16* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_RGBA16(Gfx **gfxPtr, u16* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_RGBA16_MirX(Gfx **gfxPtr, u16* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_IA8(Gfx **gfxPtr, u8* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_IA8_FlipMirX(Gfx **gfxPtr, u8* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_IA8_FlipMirY(Gfx **gfxPtr, u8* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_IA8_MirX(Gfx **gfxPtr, u8* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_IA8_MirY(Gfx **gfxPtr, u8* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_IA16(Gfx **gfxPtr, u16* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_IA16_MirX(Gfx **gfxPtr, u16* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_IA16_MirY(Gfx **gfxPtr, u16* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_IA16_MirXY(Gfx **gfxPtr, u16* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void TextureRect_RGBA32(Gfx **gfxPtr, u32* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void Lib_TextureRect_CI4(Gfx **gfxPtr, u8* texture, u16* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void Lib_TextureRect_CI4_Flip(Gfx **gfxPtr, u8* texture, u16* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void Lib_TextureRect_CI4_MirX(Gfx **gfxPtr, u8* texture, u16* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void Lib_TextureRect_CI4_MirY(Gfx **gfxPtr, u8* texture, u16* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void Lib_TextureRect_CI8(Gfx **gfxPtr, u8* texture, u16* palette, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void Lib_TextureRect_RGBA16(Gfx **gfxPtr, u16* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void Lib_TextureRect_RGBA16_MirX(Gfx **gfxPtr, u16* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void Lib_TextureRect_IA8(Gfx **gfxPtr, u8* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void Lib_TextureRect_IA8_FlipMirX(Gfx **gfxPtr, u8* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void Lib_TextureRect_IA8_FlipMirY(Gfx **gfxPtr, u8* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void Lib_TextureRect_IA8_MirX(Gfx **gfxPtr, u8* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void Lib_TextureRect_IA8_MirY(Gfx **gfxPtr, u8* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void Lib_TextureRect_IA16(Gfx **gfxPtr, u16* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void Lib_TextureRect_IA16_MirX(Gfx **gfxPtr, u16* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void Lib_TextureRect_IA16_MirY(Gfx **gfxPtr, u16* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void Lib_TextureRect_IA16_MirXY(Gfx **gfxPtr, u16* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void Lib_TextureRect_RGBA32(Gfx **gfxPtr, u32* texture, u32 width, u32 height, f32 xPos, f32 yPos, f32 xScale, f32 yScale);
|
||||
void Graphics_FillRectangle(Gfx **gfxPtr, s32 ulx, s32 uly, s32 lrx, s32 lry, u8 r, u8 g, u8 b, u8 a);
|
||||
u16* Graphics_SetupTextureRender(Gfx **gfxPtr, u8 width, u8 height);
|
||||
void Graphics_DisplayHUDNumber(s32 xPos, s32 yPos, s32 number);
|
||||
|
||||
@@ -58,21 +58,21 @@ typedef enum {
|
||||
} SfxChannelLayout;
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ AUDIOSPEC_0,
|
||||
/* 1 */ AUDIOSPEC_1,
|
||||
/* 2 */ AUDIOSPEC_2,
|
||||
/* 3 */ AUDIOSPEC_3,
|
||||
/* 4 */ AUDIOSPEC_4,
|
||||
/* 5 */ AUDIOSPEC_5,
|
||||
/* 0 */ AUDIOSPEC_CO,
|
||||
/* 1 */ AUDIOSPEC_ME,
|
||||
/* 2 */ AUDIOSPEC_TI,
|
||||
/* 3 */ AUDIOSPEC_SX,
|
||||
/* 4 */ AUDIOSPEC_ZO,
|
||||
/* 5 */ AUDIOSPEC_A6,
|
||||
/* 6 */ AUDIOSPEC_6,
|
||||
/* 7 */ AUDIOSPEC_7,
|
||||
/* 8 */ AUDIOSPEC_8,
|
||||
/* 9 */ AUDIOSPEC_9,
|
||||
/* 10 */ AUDIOSPEC_10,
|
||||
/* 11 */ AUDIOSPEC_11,
|
||||
/* 12 */ AUDIOSPEC_12,
|
||||
/* 13 */ AUDIOSPEC_13,
|
||||
/* 14 */ AUDIOSPEC_14,
|
||||
/* 7 */ AUDIOSPEC_SY,
|
||||
/* 8 */ AUDIOSPEC_FO,
|
||||
/* 9 */ AUDIOSPEC_SO,
|
||||
/* 10 */ AUDIOSPEC_BO,
|
||||
/* 11 */ AUDIOSPEC_KA,
|
||||
/* 12 */ AUDIOSPEC_AQ,
|
||||
/* 13 */ AUDIOSPEC_SZ,
|
||||
/* 14 */ AUDIOSPEC_MA,
|
||||
/* 15 */ AUDIOSPEC_15,
|
||||
/* 16 */ AUDIOSPEC_16,
|
||||
/* 17 */ AUDIOSPEC_17,
|
||||
|
||||
@@ -85,7 +85,7 @@ typedef struct {
|
||||
} ObjectInit; // size = 0x14
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 status;
|
||||
/* 0x00 */ u8 enabled;
|
||||
/* 0x02 */ u16 type;
|
||||
/* 0x04 */ Vec3f pos;
|
||||
/* 0x10 */ f32 yRot;
|
||||
|
||||
@@ -150,7 +150,7 @@ typedef struct ArwingInfo {
|
||||
/* 0x2C */ u8 drawFace;
|
||||
/* 0x30 */ f32 teamFaceXrot;
|
||||
/* 0x34 */ f32 teamFaceYrot;
|
||||
/* 0x38 */ f32 windshieldXrot;
|
||||
/* 0x38 */ f32 cockpitGlassXrot;
|
||||
} ArwingInfo; // size = 0x3C
|
||||
|
||||
typedef struct PlayerSfx {
|
||||
@@ -246,8 +246,8 @@ typedef struct Player {
|
||||
/* 0x184 */ f32 unk_184;
|
||||
/* 0x188 */ f32 unk_188;
|
||||
/* 0x18C */ f32 unk_18C;
|
||||
/* 0x190 */ f32 unk_190;
|
||||
/* 0x194 */ f32 unk_194;
|
||||
/* 0x190 */ f32 unk_190; // Related to engine glow. Investigate
|
||||
/* 0x194 */ f32 unk_194; // Related to engine glow. Investigate
|
||||
/* 0x198 */ s32 savedAlternateView;
|
||||
/* 0x19C */ s32 unk_19C; // used to indicate whether a U-turn is forced, whether to draw ground in TI intro, and to stop the landmaster
|
||||
/* 0x1A0 */ s32 unk_1A0; // tank muzzle flash timer
|
||||
|
||||
+27
-18
@@ -3,8 +3,17 @@
|
||||
|
||||
#include "PR/ultratypes.h"
|
||||
|
||||
#define RANKING_MAX (10) // Maximum number of entries in the ranking
|
||||
#define ROUTE_MAX (7) // Maximum number of planets in a route
|
||||
#define ENTRY_MAX (3) // Maximum number of letters for name entry
|
||||
|
||||
#define TEAMSTATUS_PEPPY (0x00FF0000)
|
||||
#define TEAMSTATUS_SLIPPY (0x0000FF00)
|
||||
#define TEAMSTATUS_FALCO (0x000000FF)
|
||||
#define TEAMSTATUS_ALIVE (0x00FFFFFF)
|
||||
|
||||
typedef struct {
|
||||
/* bit 0 */ u8 unk_0 : 3;
|
||||
/* bit 0 */ u8 unk_0 : 3; // unused
|
||||
/* bit 3 */ u8 expertMedal : 1;
|
||||
/* bit 4 */ u8 expertClear : 1;
|
||||
/* bit 5 */ u8 played : 1;
|
||||
@@ -12,27 +21,27 @@ typedef struct {
|
||||
/* bit 7 */ u8 normalClear : 1;
|
||||
} PlanetData; // size = 0x1
|
||||
|
||||
typedef struct {
|
||||
/* bit 0 */ u16 unk_0 : 8;
|
||||
/* bit 8 */ u16 unk_8 : 4;
|
||||
/* bit C */ u16 unk_C : 1;
|
||||
/* bit D */ u16 unk_D : 1;
|
||||
/* bit E */ u16 unk_E : 1;
|
||||
/* bit F */ u16 unk_F : 1;
|
||||
} Save_SubStruct_5E; // size = 0x10
|
||||
typedef struct PlanetStats {
|
||||
/* bit 0 */ u16 hitCount : 8;
|
||||
/* bit 8 */ u16 planetId : 4;
|
||||
/* bit C */ u16 unk_C : 1; // hitCount related
|
||||
/* bit D */ u16 peppyAlive : 1;
|
||||
/* bit E */ u16 falcoAlive : 1;
|
||||
/* bit F */ u16 slippyAlive : 1;
|
||||
} PlanetStats; // size = 0x10
|
||||
|
||||
typedef struct{
|
||||
typedef struct SaveData {
|
||||
/* 0x00 */ PlanetData planet[16];
|
||||
/* 0x10 */ char pad10[0x4];
|
||||
/* 0x14 */ u8 soundMode;
|
||||
/* 0x15 */ u8 musicVolume;
|
||||
/* 0x16 */ u8 voiceVolume;
|
||||
/* 0x17 */ u8 sfxVolume;
|
||||
/* 0x18 */ u8 unk_18[10][3];
|
||||
/* 0x36 */ u8 unk_36[10];
|
||||
/* 0x40 */ u8 unk_40[10];
|
||||
/* 0x4A */ u16 unk_4A[10];
|
||||
/* 0x5E */ Save_SubStruct_5E unk_5E[10][7];
|
||||
/* 0x18 */ u8 rankNameEntry[RANKING_MAX][ENTRY_MAX]; // Name entries in the ranking
|
||||
/* 0x36 */ u8 rankingRoute[RANKING_MAX]; // Maximum number of planets played in the current record
|
||||
/* 0x40 */ u8 rankingLives[RANKING_MAX]; // Player lives left in the current record
|
||||
/* 0x4A */ u16 rankingMedal[RANKING_MAX]; // Medals obtained in the current record
|
||||
/* 0x5E */ PlanetStats stats[RANKING_MAX][ROUTE_MAX];
|
||||
/* 0xEA */ u8 unk_EA;
|
||||
/* 0xEB */ char padEB[0x3];
|
||||
/* 0xEE */ char padEE[0x10];
|
||||
@@ -40,9 +49,9 @@ typedef struct{
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ union {
|
||||
u8 raw[sizeof(SaveData)];
|
||||
SaveData data;
|
||||
};
|
||||
u8 raw[sizeof(SaveData)];
|
||||
SaveData data;
|
||||
};
|
||||
/* 0xFE */ u16 checksum;
|
||||
} Save; // size = 0x100
|
||||
|
||||
|
||||
+1
-1
@@ -185,7 +185,7 @@ extern f32 gRadioPortraitPosX;
|
||||
extern f32 gRadioPortraitPosY;
|
||||
|
||||
// fox_versus
|
||||
extern s32 D_versus_80178750;
|
||||
extern bool gVsMatchOver;
|
||||
extern s32 gVsMatchState;
|
||||
extern s32 D_versus_80178758;
|
||||
extern s32 sUnlockLandmaster; // sUnlockLandmaster
|
||||
|
||||
Reference in New Issue
Block a user