mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2024-08-13 17:03:47 -04:00
b4eebbbcd6
* v1 * Cleanup * Cleanup * cleanup * Organization * Fixes * Fix typos * fixup merge * use gLanguages * Restore n64dd * Fix bad merge * Set ddflag
209 lines
6.6 KiB
C
209 lines
6.6 KiB
C
#ifndef _FILE_CHOOSE_H_
|
|
#define _FILE_CHOOSE_H_
|
|
|
|
#include "ultra64.h"
|
|
#include "global.h"
|
|
#include "vt.h"
|
|
|
|
// Init mode: Initial setup as the file select is starting up, fades and slides in various menu elements
|
|
// Config mode: Handles the bulk of the file select, various configuration tasks like picking a file, copy/erase, and the options menu
|
|
// Select mode: Displays the selected file with various details about it, and allows the player to confirm and open it
|
|
typedef enum {
|
|
/* 0 */ FS_MENU_MODE_INIT,
|
|
/* 1 */ FS_MENU_MODE_CONFIG,
|
|
/* 2 */ FS_MENU_MODE_SELECT
|
|
} MenuMode;
|
|
|
|
typedef enum {
|
|
/* 00 */ CM_FADE_IN_START,
|
|
/* 01 */ CM_FADE_IN_END,
|
|
/* 02 */ CM_MAIN_MENU,
|
|
/* 03 */ CM_SETUP_COPY_SOURCE,
|
|
/* 04 */ CM_SELECT_COPY_SOURCE,
|
|
/* 05 */ CM_SETUP_COPY_DEST_1,
|
|
/* 06 */ CM_SETUP_COPY_DEST_2,
|
|
/* 07 */ CM_SELECT_COPY_DEST,
|
|
/* 08 */ CM_EXIT_TO_COPY_SOURCE_1,
|
|
/* 09 */ CM_EXIT_TO_COPY_SOURCE_2,
|
|
/* 10 */ CM_SETUP_COPY_CONFIRM_1,
|
|
/* 11 */ CM_SETUP_COPY_CONFIRM_2,
|
|
/* 12 */ CM_COPY_CONFIRM,
|
|
/* 13 */ CM_RETURN_TO_COPY_DEST,
|
|
/* 14 */ CM_COPY_ANIM_1,
|
|
/* 15 */ CM_COPY_ANIM_2,
|
|
/* 16 */ CM_COPY_ANIM_3,
|
|
/* 17 */ CM_COPY_ANIM_4,
|
|
/* 18 */ CM_COPY_ANIM_5,
|
|
/* 19 */ CM_COPY_RETURN_MAIN,
|
|
/* 20 */ CM_SETUP_ERASE_SELECT,
|
|
/* 21 */ CM_ERASE_SELECT,
|
|
/* 22 */ CM_SETUP_ERASE_CONFIRM_1,
|
|
/* 23 */ CM_SETUP_ERASE_CONFIRM_2,
|
|
/* 24 */ CM_ERASE_CONFIRM,
|
|
/* 25 */ CM_EXIT_TO_ERASE_SELECT_1,
|
|
/* 26 */ CM_EXIT_TO_ERASE_SELECT_2,
|
|
/* 27 */ CM_ERASE_ANIM_1,
|
|
/* 28 */ CM_ERASE_ANIM_2,
|
|
/* 29 */ CM_ERASE_ANIM_3,
|
|
/* 30 */ CM_EXIT_ERASE_TO_MAIN,
|
|
/* 31 */ CM_UNUSED_31,
|
|
/* 32 */ CM_ROTATE_TO_NAME_ENTRY,
|
|
/* 33 */ CM_NAME_ENTRY,
|
|
/* 34 */ CM_START_NAME_ENTRY,
|
|
/* 35 */ CM_NAME_ENTRY_TO_MAIN,
|
|
/* 36 */ CM_MAIN_TO_OPTIONS,
|
|
/* 37 */ CM_OPTIONS_MENU,
|
|
/* 38 */ CM_START_OPTIONS,
|
|
/* 39 */ CM_OPTIONS_TO_MAIN,
|
|
/* 40 */ CM_UNUSED_DELAY
|
|
} ConfigMode;
|
|
|
|
typedef enum {
|
|
/* 0 */ SM_FADE_MAIN_TO_SELECT,
|
|
/* 1 */ SM_MOVE_FILE_TO_TOP,
|
|
/* 2 */ SM_FADE_IN_FILE_INFO,
|
|
/* 3 */ SM_CONFIRM_FILE,
|
|
/* 4 */ SM_FADE_OUT_FILE_INFO,
|
|
/* 5 */ SM_MOVE_FILE_TO_SLOT,
|
|
/* 6 */ SM_FADE_OUT,
|
|
/* 7 */ SM_LOAD_GAME
|
|
} SelectMode;
|
|
|
|
typedef enum {
|
|
/* 0 */ FS_TITLE_SELECT_FILE, // "Please select a file."
|
|
/* 1 */ FS_TITLE_OPEN_FILE, // "Open this file?"
|
|
/* 2 */ FS_TITLE_COPY_FROM, // "Copy which file?"
|
|
/* 3 */ FS_TITLE_COPY_TO, // "Copy to which file?"
|
|
/* 4 */ FS_TITLE_COPY_CONFIRM, // "Are you sure?"
|
|
/* 5 */ FS_TITLE_COPY_COMPLETE, // "File copied."
|
|
/* 6 */ FS_TITLE_ERASE_FILE, // "Erase which file?"
|
|
/* 7 */ FS_TITLE_ERASE_CONFIRM, // "Are you sure?"
|
|
/* 8 */ FS_TITLE_ERASE_COMPLETE // "File erased."
|
|
} TitleLabel;
|
|
|
|
typedef enum {
|
|
/* -1 */ FS_WARNING_NONE = -1,
|
|
/* 0 */ FS_WARNING_NO_FILE_COPY, // "No file to copy."
|
|
/* 1 */ FS_WARNING_NO_FILE_ERASE, // "No file to erase."
|
|
/* 2 */ FS_WARNING_NO_EMPTY_FILES, // "There is no empty file."
|
|
/* 3 */ FS_WARNING_FILE_EMPTY, // "This is an empty file."
|
|
/* 4 */ FS_WARNING_FILE_IN_USE // "This file is in use."
|
|
} WarningLabel;
|
|
|
|
typedef enum {
|
|
/* 0 */ FS_BTN_MAIN_FILE_1,
|
|
/* 1 */ FS_BTN_MAIN_FILE_2,
|
|
/* 2 */ FS_BTN_MAIN_FILE_3,
|
|
/* 3 */ FS_BTN_MAIN_COPY,
|
|
/* 4 */ FS_BTN_MAIN_ERASE,
|
|
/* 5 */ FS_BTN_MAIN_OPTIONS
|
|
} MainMenuButtonIndex;
|
|
|
|
typedef enum {
|
|
/* 0 */ FS_BTN_COPY_FILE_1,
|
|
/* 1 */ FS_BTN_COPY_FILE_2,
|
|
/* 2 */ FS_BTN_COPY_FILE_3,
|
|
/* 3 */ FS_BTN_COPY_QUIT
|
|
} CopyMenuButtonIndex;
|
|
|
|
typedef enum {
|
|
/* 0 */ FS_BTN_ERASE_FILE_1,
|
|
/* 1 */ FS_BTN_ERASE_FILE_2,
|
|
/* 2 */ FS_BTN_ERASE_FILE_3,
|
|
/* 3 */ FS_BTN_ERASE_QUIT
|
|
} EraseMenuButtonIndex;
|
|
|
|
typedef enum {
|
|
/* 0 */ FS_BTN_SELECT_FILE_1,
|
|
/* 1 */ FS_BTN_SELECT_FILE_2,
|
|
/* 2 */ FS_BTN_SELECT_FILE_3,
|
|
/* 3 */ FS_BTN_SELECT_YES,
|
|
/* 4 */ FS_BTN_SELECT_QUIT
|
|
} SelectMenuButtonIndex;
|
|
|
|
typedef enum {
|
|
/* 0 */ FS_BTN_CONFIRM_YES,
|
|
/* 1 */ FS_BTN_CONFIRM_QUIT
|
|
} ConfirmButtonIndex;
|
|
|
|
typedef enum {
|
|
/* 0 */ FS_BTN_ACTION_COPY,
|
|
/* 1 */ FS_BTN_ACTION_ERASE
|
|
} ActionButtonIndex;
|
|
|
|
typedef enum {
|
|
/* 0 */ FS_SETTING_AUDIO,
|
|
/* 1 */ FS_SETTING_TARGET
|
|
} SettingIndex;
|
|
|
|
typedef enum {
|
|
/* 0 */ FS_AUDIO_STEREO,
|
|
/* 1 */ FS_AUDIO_MONO,
|
|
/* 2 */ FS_AUDIO_HEADSET,
|
|
/* 3 */ FS_AUDIO_SURROUND
|
|
} AudioOption;
|
|
|
|
typedef enum {
|
|
/* 0 */ FS_CHAR_PAGE_HIRA,
|
|
/* 1 */ FS_CHAR_PAGE_KATA,
|
|
/* 2 */ FS_CHAR_PAGE_ENG
|
|
} CharPage;
|
|
|
|
typedef enum {
|
|
/* 00 */ FS_KBD_BTN_HIRA,
|
|
/* 01 */ FS_KBD_BTN_KATA,
|
|
/* 02 */ FS_KBD_BTN_ENG,
|
|
/* 03 */ FS_KBD_BTN_BACKSPACE,
|
|
/* 04 */ FS_KBD_BTN_END,
|
|
/* 99 */ FS_KBD_BTN_NONE = 99
|
|
} KeyboardButton;
|
|
|
|
void FileChoose_SetupCopySource(GameState* thisx);
|
|
void FileChoose_SelectCopySource(GameState* thisx);
|
|
void FileChoose_SetupCopyDest1(GameState* thisx);
|
|
void FileChoose_SetupCopyDest2(GameState* thisx);
|
|
void FileChoose_SelectCopyDest(GameState* thisx);
|
|
void FileChoose_ExitToCopySource1(GameState* thisx);
|
|
void FileChoose_ExitToCopySource2(GameState* thisx);
|
|
void FileChoose_SetupCopyConfirm1(GameState* thisx);
|
|
void FileChoose_SetupCopyConfirm2(GameState* thisx);
|
|
void FileChoose_CopyConfirm(GameState* thisx);
|
|
void FileChoose_ReturnToCopyDest(GameState* thisx);
|
|
void FileChoose_CopyAnim1(GameState* thisx);
|
|
void FileChoose_CopyAnim2(GameState* thisx);
|
|
void FileChoose_CopyAnim3(GameState* thisx);
|
|
void FileChoose_CopyAnim4(GameState* thisx);
|
|
void FileChoose_CopyAnim5(GameState* thisx);
|
|
|
|
void FileChoose_ExitCopyToMain(GameState* thisx);
|
|
void FileChoose_SetupEraseSelect(GameState* thisx);
|
|
void FileChoose_EraseSelect(GameState* thisx);
|
|
void FileChoose_SetupEraseConfirm1(GameState* thisx);
|
|
void FileChoose_SetupEraseConfirm2(GameState* thisx);
|
|
void FileChoose_EraseConfirm(GameState* thisx);
|
|
void FileChoose_ExitToEraseSelect1(GameState* thisx);
|
|
void FileChoose_ExitToEraseSelect2(GameState* thisx);
|
|
void FileChoose_EraseAnim1(GameState* thisx);
|
|
void FileChoose_EraseAnim2(GameState* thisx);
|
|
void FileChoose_EraseAnim3(GameState* thisx);
|
|
void FileChoose_ExitEraseToMain(GameState* thisx);
|
|
|
|
void FileChoose_UpdateKeyboardCursor(GameState* thisx);
|
|
void FileChoose_StartNameEntry(GameState* thisx);
|
|
void FileChoose_UpdateOptionsMenu(GameState* thisx);
|
|
void FileChoose_StartOptions(GameState* thisx);
|
|
|
|
void FileChoose_InitModeDraw(GameState* thisx);
|
|
void FileChoose_ConfigModeDraw(GameState* thisx);
|
|
void FileChoose_SelectModeDraw(GameState* thisx);
|
|
|
|
void FileChoose_PulsateCursor(GameState* thisx);
|
|
void FileChoose_DrawOptions(GameState* thisx);
|
|
|
|
void FileChoose_DrawNameEntry(GameState* thisx);
|
|
void FileChoose_DrawCharacter(GraphicsContext* gfxCtx, void* texture, s16 vtx);
|
|
|
|
extern s16 D_808123F0[];
|
|
|
|
#endif
|