mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-07-11 13:08:34 -04:00
Implement & link save_menu.c
This commit is contained in:
@@ -2,12 +2,23 @@
|
||||
#define M_CPAK_H
|
||||
|
||||
#include "types.h"
|
||||
#include "s_cpak.h"
|
||||
#include "m_private.h"
|
||||
#include "m_npc.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct contpak_s {
|
||||
int _00;
|
||||
sCPk_c save_pak;
|
||||
} mCPk_c;
|
||||
|
||||
extern int mCPk_InitPak(int pak_idx);
|
||||
extern int mCPk_PakOpen(mCPk_c* cpak, int pak_idx);
|
||||
extern int mCPk_SavePak(Private_c* private_data, Animal_c* animals, mCPk_c* cpak);
|
||||
extern mCPk_c* mCPk_get_pkinfo();
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -279,6 +279,9 @@ extern "C" {
|
||||
#define mFont_MARKTYPE_CHOICE 4
|
||||
#define mFont_MARKTYPE_TOTAL 5
|
||||
|
||||
#define mFont_MODE_POLY 0
|
||||
#define mFont_MODE_FONT 1
|
||||
|
||||
enum {
|
||||
mFont_CONT_CODE_BEGIN = 0,
|
||||
mFont_CONT_CODE_LAST = mFont_CONT_CODE_BEGIN,
|
||||
|
||||
@@ -187,6 +187,8 @@ extern void mNpc_ClearCacheName();
|
||||
extern void mNpc_ClearInAnimal();
|
||||
extern void mNpc_FirstClearGoodbyMail();
|
||||
extern void mNpc_ClearIslandNpcRoomData();
|
||||
extern void mNpc_CopyAnimalPersonalID(AnmPersonalID_c* dst, AnmPersonalID_c* src);
|
||||
extern AnmPersonalID_c* mNpc_GetOtherAnimalPersonalID(AnmPersonalID_c* ids, int num_ids);
|
||||
|
||||
extern void mNpc_PrintRemoveInfo(gfxprint_t* gfxprint);
|
||||
extern void mNpc_PrintFriendship_fdebug(gfxprint_t* gfxprint);
|
||||
|
||||
+1
-1
@@ -132,7 +132,7 @@ typedef struct private_s {
|
||||
/* 0x1088 */ u16 cloth_idx; /* index value for texture? */
|
||||
/* 0x108A */ mActor_name_t cloth; /* shirt item */
|
||||
|
||||
/* 0x108C */ AnmPersonalID_c stored_anm_id; /* not sure what the function of this is */
|
||||
/* 0x108C */ AnmPersonalID_c stored_anm_id; /* foriegn animal personal ID leftover from N64? */
|
||||
|
||||
/* 0x109A */ mPr_destiny_c destiny; /* player fortune, seemingly called destiny */
|
||||
/* 0x10A4 */ mPr_birthday_c birthday; /* player birthday */
|
||||
|
||||
@@ -11,6 +11,12 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define VIEW_UPDATE_LOOKAT (1 << 0) // 1
|
||||
#define VIEW_UPDATE_SCISSOR (1 << 1) // 2
|
||||
#define VIEW_UPDATE_PERSPECTIVE (1 << 2) // 4
|
||||
#define VIEW_UPDATE_ORTHOGRAPHIC (1 << 3) // 8
|
||||
#define VIEW_UPDATE_ALL (VIEW_UPDATE_LOOKAT | VIEW_UPDATE_SCISSOR | VIEW_UPDATE_PERSPECTIVE | VIEW_UPDATE_ORTHOGRAPHIC) // 15
|
||||
|
||||
/* sizeof(struct view_s) == 0x120 */
|
||||
typedef struct view_s {
|
||||
GRAPH* graph;
|
||||
@@ -44,6 +50,7 @@ typedef struct view_s {
|
||||
} View;
|
||||
|
||||
extern void initView(View* view, GRAPH* graph);
|
||||
extern void showView(View* view, int flags);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
#ifndef S_CPAK_H
|
||||
#define S_CPAK_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct save_pak_s {
|
||||
u8 unused[0x54];
|
||||
} sCPk_c;
|
||||
|
||||
extern int sCPk_PakOpen(sCPk_c* s_pak);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
+24
-4
@@ -9,16 +9,36 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
enum save_mode {
|
||||
SAVE_MODE_BEGIN,
|
||||
|
||||
SAVE_MODE_FLASHROM = SAVE_MODE_BEGIN,
|
||||
SAVE_MODE_CPAK,
|
||||
|
||||
SAVE_MODE_NUM
|
||||
};
|
||||
|
||||
enum save_error {
|
||||
SAVE_ERROR_NONE,
|
||||
SAVE_ERROR_FLASHROM,
|
||||
SAVE_ERROR_CPAK,
|
||||
SAVE_ERROR_EXIT,
|
||||
|
||||
SAVE_ERROR_NUM
|
||||
};
|
||||
|
||||
/* sizeof(struct game_save_menu_s) == 0x0228 */
|
||||
typedef struct game_save_menu_s {
|
||||
/* 0x0000 */ GAME game;
|
||||
/* 0x00E0 */ View view;
|
||||
// TODO: finish this
|
||||
/* 0x0200 */ u8 _temp[0x28];
|
||||
/* 0x0200 */ u32 frame;
|
||||
/* 0x0204 */ int mode;
|
||||
/* 0x0208 */ int error;
|
||||
/* 0x020C */ int cursor_col[SAVE_MODE_NUM][3];
|
||||
} GAME_SAVE_MENU;
|
||||
|
||||
extern void save_menu_init(GAME_SAVE_MENU* save_menu);
|
||||
extern void save_menu_cleanup(GAME_SAVE_MENU* save_menu);
|
||||
extern void save_menu_init(GAME* game);
|
||||
extern void save_menu_cleanup(GAME* game);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -53,6 +53,8 @@ typedef u32 unknown;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define ARRAY_SIZE(arr, type) (sizeof(arr) / sizeof(type))
|
||||
|
||||
#define MAX(a, b) (((a) > (b)) ? (a) : (b))
|
||||
#define MIN(a, b) (((a) < (b)) ? (a) : (b))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user