mirror of
https://github.com/zeldaret/af.git
synced 2026-09-26 13:33:16 -04:00
fd05811213
* C file * trademark_init * trademark_cancel, trademark_move, trademark_main * trademark_draw * trademark_goto_demo_scene and func_80805360_jp * set_npc_4_title_demo * func_80804C40_jp * trademark_cleanup * func_808052B8_jp * func_80805104_jp * func_80804F78_jp * func_80804EE0_jp * fix warnings * small cleanup * fix build * some fixes * stuff * some cleanups * Fix rebase * Import data * Migrate bss * cleanup * Save substruct * format * TrademarkState and some other stuff * remove fake match * stuff I missed * whoops * Stupid `-Wtype-limits` * Update src/overlays/gamestates/ovl_trademark/m_trademark.c Co-authored-by: Prakxo <87568477+Prakxo@users.noreply.github.com> * Review * Update src/overlays/gamestates/ovl_trademark/m_trademark.c Co-authored-by: emilybrooks <emilybrooksemilybrooks@gmail.com> * Update src/overlays/gamestates/ovl_trademark/m_trademark.c Co-authored-by: Prakxo <87568477+Prakxo@users.noreply.github.com> * clang-tidy changes??? * review --------- Co-authored-by: Prakxo <87568477+Prakxo@users.noreply.github.com> Co-authored-by: emilybrooks <emilybrooksemilybrooks@gmail.com>
126 lines
3.9 KiB
C
126 lines
3.9 KiB
C
#ifndef M_SUBMENU_H
|
|
#define M_SUBMENU_H
|
|
|
|
#include "ultra64.h"
|
|
#include "m_mail.h"
|
|
#include "z64math.h"
|
|
#include "libc/stdint.h"
|
|
#include "other_types.h"
|
|
#include "unk.h"
|
|
|
|
struct Game_Play;
|
|
struct Submenu;
|
|
struct struct_8085E9B0;
|
|
|
|
typedef enum mSMMoveProcIndex {
|
|
/* 0 */ MSM_MOVE_PROC_WAIT,
|
|
/* 1 */ MSM_MOVE_PROC_PREWAIT,
|
|
/* 2 */ MSM_MOVE_PROC_LINKWAIT,
|
|
/* 3 */ MSM_MOVE_PROC_PLAY,
|
|
/* 4 */ MSM_MOVE_PROC_END,
|
|
/* 5 */ MSM_MOVE_PROC_MAX
|
|
} mSMMoveProcIndex;
|
|
|
|
typedef enum InventoryItemList {
|
|
/* 0 */ INVENTORY_ITEM_LIST_0,
|
|
/* 1 */ INVENTORY_ITEM_LIST_1,
|
|
/* 2 */ INVENTORY_ITEM_LIST_ENTRUST,
|
|
/* 3 */ INVENTORY_ITEM_LIST_3,
|
|
/* 4 */ INVENTORY_ITEM_LIST_4,
|
|
/* 5 */ INVENTORY_ITEM_LIST_SELL,
|
|
/* 6 */ INVENTORY_ITEM_LIST_GIVE,
|
|
/* 7 */ INVENTORY_ITEM_LIST_7,
|
|
/* 8 */ INVENTORY_ITEM_LIST_TAKE,
|
|
/* 9 */ INVENTORY_ITEM_LIST_FURNITURE,
|
|
/* 10 */ INVENTORY_ITEM_LIST_MINIDISK,
|
|
/* 11 */ INVENTORY_ITEM_LIST_SHRINE,
|
|
/* 12 */ INVENTORY_ITEM_LIST_C,
|
|
/* 13 */ INVENTORY_ITEM_LIST_ECHANGE,
|
|
/* 14 */ INVENTORY_ITEM_LIST_E,
|
|
/* 15 */ INVENTORY_ITEM_LIST_F,
|
|
/* 16 */ INVENTORY_ITEM_LIST_MAX
|
|
} InventoryItemList;
|
|
|
|
typedef enum SubmenuProgramId {
|
|
/* 0 */ SUBMENU_PROGRAM_0, // inventory, NONE? DEFAULT?
|
|
/* 1 */ SUBMENU_PROGRAM_1, // inventory
|
|
/* 2 */ SUBMENU_PROGRAM_2,
|
|
/* 3 */ SUBMENU_PROGRAM_3,
|
|
/* 4 */ SUBMENU_PROGRAM_LEDIT,
|
|
/* 5 */ SUBMENU_PROGRAM_MAP,
|
|
/* 6 */ SUBMENU_PROGRAM_6,
|
|
/* 7 */ SUBMENU_PROGRAM_7,
|
|
/* 8 */ SUBMENU_PROGRAM_8,
|
|
/* 9 */ SUBMENU_PROGRAM_9,
|
|
/* 10 */ SUBMENU_PROGRAM_10,
|
|
/* 11 */ SUBMENU_PROGRAM_11,
|
|
/* 12 */ SUBMENU_PROGRAM_BOARD,
|
|
/* 13 */ SUBMENU_PROGRAM_13,
|
|
/* 14 */ SUBMENU_PROGRAM_14,
|
|
/* 15 */ SUBMENU_PROGRAM_15,
|
|
/* 16 */ SUBMENU_PROGRAM_16,
|
|
/* 17 */ SUBMENU_PROGRAM_17,
|
|
/* 18 */ SUBMENU_PROGRAM_18,
|
|
/* 19 */ SUBMENU_PROGRAM_19,
|
|
/* 20 */ SUBMENU_PROGRAM_CATALOG,
|
|
/* 21 */ SUBMENU_PROGRAM_MAX
|
|
} SubmenuProgramId;
|
|
|
|
typedef void (*SubmenuMoveFunc)(struct Submenu*);
|
|
typedef void (*SubmenuDrawFunc)(struct Submenu*, struct Game_Play*);
|
|
|
|
typedef struct Submenu {
|
|
/* 0x00 */ s32 unk_00;
|
|
/* 0x04 */ SubmenuProgramId programId;
|
|
/* 0x08 */ SubmenuProgramId unk_08;
|
|
/* 0x0C */ mSMMoveProcIndex moveProcIndex;
|
|
/* 0x10 */ s32 unk_10;
|
|
/* 0x14 */ s32 unk_14;
|
|
/* 0x18 */ s32 unk_18;
|
|
/* 0x1C */ s32 unk_1C;
|
|
/* 0x20 */ s32 unk_20;
|
|
/* 0x24 */ void* linkedAllocStart;
|
|
/* 0x28 */ void* linkedAllocEnd;
|
|
/* 0x2C */ struct struct_8085E9B0* unk_2C;
|
|
/* 0x30 */ SubmenuMoveFunc move;
|
|
/* 0x34 */ SubmenuDrawFunc draw;
|
|
/* 0x38 */ Mail_c mail;
|
|
/* 0xDC */ u8 unk_DC;
|
|
/* 0xDD */ u8 unk_DD;
|
|
/* 0xDE */ u8 unk_DE;
|
|
/* 0xDF */ u8 unk_DF;
|
|
/* 0xE0 */ u16 unk_E0;
|
|
/* 0xE2 */ u8 unk_E2;
|
|
/* 0xE3 */ u8 unk_E3;
|
|
/* 0xE4 */ xyz_t unk_E4;
|
|
} Submenu; // size = 0xF0
|
|
|
|
s32 SubmenuArea_IsPlayer(void);
|
|
|
|
void* mSM_ovlptr_dllcnv(void* vram, Submenu* submenu);
|
|
|
|
void mSM_submenu_ovlptr_init(struct Game_Play* game_play);
|
|
void mSM_submenu_ovlptr_cleanup(Submenu* submenu);
|
|
|
|
void load_player(Submenu* submenu);
|
|
void mSM_submenu_ct(Submenu* submenu);
|
|
void mSM_submenu_dt(Submenu* submenu);
|
|
|
|
void mSM_open_submenu(Submenu* submenu, SubmenuProgramId programId, s32 arg2, s32 arg3);
|
|
void mSM_open_submenu_new(Submenu* submenu, SubmenuProgramId programId, s32 arg2, s32 arg3, s32 arg4);
|
|
void mSM_open_submenu_new2(Submenu* submenu, SubmenuProgramId programId, s32 arg2, s32 arg3, s32 arg4, s32 arg5);
|
|
|
|
void mSM_submenu_ctrl(struct Game_Play* game_play);
|
|
void mSM_submenu_move(Submenu* submenu);
|
|
void mSM_submenu_draw(Submenu* submenu, struct Game_Play* game_play);
|
|
|
|
u32 mSM_check_open_inventory_itemlist(InventoryItemList itemlist, s32 arg1) ;
|
|
|
|
// void mSM_Object_Exchange_keep_new();
|
|
// void mSM_Object_Exchange_keep_new_MenuTexAndPallet();
|
|
void mSM_Object_Exchange_keep_new_Menu(struct Game_Play* play);
|
|
// void mSM_Get_ground_tex_p();
|
|
// void mSM_Get_ground_pallet_p();
|
|
|
|
#endif
|