Merge remote-tracking branch 'upstream/main' into zukan_data.narc

This commit is contained in:
h2o-DS
2024-11-03 19:01:47 -05:00
533 changed files with 11426 additions and 9001 deletions

View File

@@ -0,0 +1,20 @@
#ifndef POKEPLATINUM_APPLICATIONS_OPTIONS_MENU_H
#define POKEPLATINUM_APPLICATIONS_OPTIONS_MENU_H
#include "overlay_manager.h"
typedef struct OptionsMenu {
u16 textSpeed : 4;
u16 soundMode : 2;
u16 battleScene : 1;
u16 battleStyle : 1;
u16 buttonMode : 2;
u16 messageBoxStyle : 5;
u16 : 1;
} OptionsMenu;
BOOL OptionsMenu_Init(OverlayManager *ovyManager, int *state);
BOOL OptionsMenu_Exit(OverlayManager *ovyManager, int *state);
BOOL OptionsMenu_Main(OverlayManager *ovyManager, int *state);
#endif // POKEPLATINUM_APPLICATIONS_OPTIONS_MENU_H

View File

@@ -13,6 +13,8 @@
#define TILEMAP_FILL_VAL_KEEP_PALETTE 16 // do not replace the selected palette index
#define TILEMAP_FILL_VAL_INCLUDES_PALETTE 17
#define PIXEL_FILL(color) (((color) << 4) | (color))
enum DSScreen {
DS_SCREEN_MAIN = 0,
DS_SCREEN_SUB,

View File

@@ -2,104 +2,339 @@
#define POKEPLATINUM_CONSTANTS_CHARCODE_H
enum {
CHAR_EMPTY = 0,
CHAR_JP_SPACE,
CHAR_NONE = 0,
CHAR_WIDE_SPACE,
CHAR_JP_0 = 0x00A2,
CHAR_JP_1,
CHAR_JP_2,
CHAR_JP_3,
CHAR_JP_4,
CHAR_JP_5,
CHAR_JP_6,
CHAR_JP_7,
CHAR_JP_8,
CHAR_JP_9,
CHAR_JP_A,
CHAR_JP_B,
CHAR_JP_C,
CHAR_JP_D,
CHAR_JP_E,
CHAR_JP_F,
CHAR_JP_QUESTION = 0x00E2,
CHAR_JP_MINUS = 0x00F1,
CHAR_MENU_ARROW = 0x011F,
CHAR_WIDE_0 = 0x00A2,
CHAR_WIDE_1,
CHAR_WIDE_2,
CHAR_WIDE_3,
CHAR_WIDE_4,
CHAR_WIDE_5,
CHAR_WIDE_6,
CHAR_WIDE_7,
CHAR_WIDE_8,
CHAR_WIDE_9,
CHAR_WIDE_A,
CHAR_WIDE_B,
CHAR_WIDE_C,
CHAR_WIDE_D,
CHAR_WIDE_E,
CHAR_WIDE_F,
CHAR_WIDE_G,
CHAR_WIDE_H,
CHAR_WIDE_I,
CHAR_WIDE_J,
CHAR_WIDE_K,
CHAR_WIDE_L,
CHAR_WIDE_M,
CHAR_WIDE_N,
CHAR_WIDE_O,
CHAR_WIDE_P,
CHAR_WIDE_Q,
CHAR_WIDE_R,
CHAR_WIDE_S,
CHAR_WIDE_T,
CHAR_WIDE_U,
CHAR_WIDE_V,
CHAR_WIDE_W,
CHAR_WIDE_X,
CHAR_WIDE_Y,
CHAR_WIDE_Z,
CHAR_WIDE_a,
CHAR_WIDE_b,
CHAR_WIDE_c,
CHAR_WIDE_d,
CHAR_WIDE_e,
CHAR_WIDE_f,
CHAR_WIDE_g,
CHAR_WIDE_h,
CHAR_WIDE_i,
CHAR_WIDE_j,
CHAR_WIDE_k,
CHAR_WIDE_l,
CHAR_WIDE_m,
CHAR_WIDE_n,
CHAR_WIDE_o,
CHAR_WIDE_p,
CHAR_WIDE_q,
CHAR_WIDE_r,
CHAR_WIDE_s,
CHAR_WIDE_t,
CHAR_WIDE_u,
CHAR_WIDE_v,
CHAR_WIDE_w,
CHAR_WIDE_x,
CHAR_WIDE_y,
CHAR_WIDE_z,
CHAR_WIDE_TRANSPARENT,
CHAR_WIDE_EXCLAMATION,
CHAR_WIDE_QUESTION,
CHAR_JP_COMMA,
CHAR_JP_PERIOD,
CHAR_JP_ELLIPSIS,
CHAR_JP_DOT,
CHAR_WIDE_SLASH,
CHAR_JP_SINGLE_QUOTE_OPEN,
CHAR_JP_SINGLE_QUOTE_CLOSE,
CHAR_JP_DOUBLE_QUOTE_OPEN,
CHAR_JP_DOUBLE_QUOTE_CLOSE,
CHAR_JP_PAREN_OPEN,
CHAR_JP_PAREN_CLOSE,
CHAR_WIDE_MALE,
CHAR_WIDE_FEMALE,
CHAR_WIDE_PLUS,
CHAR_WIDE_MINUS,
CHAR_WIDE_MULTIPLY,
CHAR_WIDE_DIVIDE,
CHAR_WIDE_EQUALS,
CHAR_WIDE_TILDE,
CHAR_WIDE_COLON,
CHAR_WIDE_SEMICOLON,
CHAR_WIDE_PERIOD,
CHAR_WIDE_COMMA,
CHAR_WIDE_SPADE,
CHAR_WIDE_CLUB,
CHAR_WIDE_HEART,
CHAR_WIDE_DIAMOND,
CHAR_WIDE_STAR,
CHAR_WIDE_DOUBLE_CIRCLE,
CHAR_WIDE_CIRCLE,
CHAR_WIDE_SQUARE,
CHAR_WIDE_TRIANGLE,
CHAR_WIDE_DIAMOND_OPEN,
CHAR_WIDE_AT_SIGN,
CHAR_WIDE_EIGHTH_NOTE,
CHAR_WIDE_PERCENT,
CHAR_WIDE_SUN,
CHAR_WIDE_CLOUD,
CHAR_WIDE_UMBRELLA,
CHAR_WIDE_SILHOUETTE,
CHAR_WIDE_EMOTE_SMILE,
CHAR_WIDE_EMOTE_LAUGH,
CHAR_WIDE_EMOTE_UPSET,
CHAR_WIDE_EMOTE_FROWN,
CHAR_WIDE_ARROW_CURVE_UP,
CHAR_WIDE_ARROW_CURVE_DOWN,
CHAR_WIDE_ZZZ,
CHAR_YEN,
CHAR_POCKET_ICON_ITEMS,
CHAR_POCKET_ICON_KEY_ITEMS,
CHAR_POCKET_ICON_TMS,
CHAR_POCKET_ICON_MAIL,
CHAR_POCKET_ICON_MEDICINE,
CHAR_POCKET_ICON_BERRIES,
CHAR_POCKET_ICON_POKEBALLS,
CHAR_POCKET_ICON_BATTLE_ITEMS,
CHAR_ARROW_LEFT,
CHAR_ARROW_UP,
CHAR_ARROW_DOWN,
CHAR_ARROW_RIGHT,
CHAR_ARROW_MENU,
CHAR_WIDE_AMPERSAND,
CHAR_EN_0,
CHAR_EN_1,
CHAR_EN_2,
CHAR_EN_3,
CHAR_EN_4,
CHAR_EN_5,
CHAR_EN_6,
CHAR_EN_7,
CHAR_EN_8,
CHAR_EN_9,
CHAR_EN_A = 0x012B,
CHAR_EN_B,
CHAR_EN_C,
CHAR_EN_D,
CHAR_EN_E,
CHAR_EN_F,
CHAR_EN_G,
CHAR_EN_H,
CHAR_EN_I,
CHAR_EN_J,
CHAR_EN_K,
CHAR_EN_L,
CHAR_EN_M,
CHAR_EN_N,
CHAR_EN_O,
CHAR_EN_P,
CHAR_EN_Q,
CHAR_EN_R,
CHAR_EN_S,
CHAR_EN_T,
CHAR_EN_U,
CHAR_EN_V,
CHAR_EN_W,
CHAR_EN_X,
CHAR_EN_Y,
CHAR_EN_Z, // 0x0144
CHAR_EN_a = 0x0145,
CHAR_EN_b,
CHAR_EN_c,
CHAR_EN_d,
CHAR_EN_e,
CHAR_EN_f,
CHAR_EN_g,
CHAR_EN_h,
CHAR_EN_i,
CHAR_EN_j,
CHAR_EN_k,
CHAR_EN_l,
CHAR_EN_m,
CHAR_EN_n,
CHAR_EN_o,
CHAR_EN_p,
CHAR_EN_q,
CHAR_EN_r,
CHAR_EN_s,
CHAR_EN_t,
CHAR_EN_u,
CHAR_EN_v,
CHAR_EN_w,
CHAR_EN_x,
CHAR_EN_y,
CHAR_EN_z, // 0x015E
CHAR_EN_QUESTION_MARK = 0x01AC,
CHAR_EN_MINUS = 0x01BE,
CHAR_EN_SPACE = 0x01DE,
CHAR_NUM_SPACE = 0x01E2,
CHAR_0,
CHAR_1,
CHAR_2,
CHAR_3,
CHAR_4,
CHAR_5,
CHAR_6,
CHAR_7,
CHAR_8,
CHAR_9,
CHAR_A,
CHAR_B,
CHAR_C,
CHAR_D,
CHAR_E,
CHAR_F,
CHAR_G,
CHAR_H,
CHAR_I,
CHAR_J,
CHAR_K,
CHAR_L,
CHAR_M,
CHAR_N,
CHAR_O,
CHAR_P,
CHAR_Q,
CHAR_R,
CHAR_S,
CHAR_T,
CHAR_U,
CHAR_V,
CHAR_W,
CHAR_X,
CHAR_Y,
CHAR_Z,
CHAR_a,
CHAR_b,
CHAR_c,
CHAR_d,
CHAR_e,
CHAR_f,
CHAR_g,
CHAR_h,
CHAR_i,
CHAR_j,
CHAR_k,
CHAR_l,
CHAR_m,
CHAR_n,
CHAR_o,
CHAR_p,
CHAR_q,
CHAR_r,
CHAR_s,
CHAR_t,
CHAR_u,
CHAR_v,
CHAR_w,
CHAR_x,
CHAR_y,
CHAR_z,
CHAR_A_GRAVE,
CHAR_A_ACUTE,
CHAR_A_CIRCUMFLEX,
CHAR_A_TILDE,
CHAR_A_DIERESIS,
CHAR_A_OVERDOT,
CHAR_AE,
CHAR_C_OGONEK,
CHAR_E_GRAVE,
CHAR_E_ACUTE,
CHAR_E_CIRCUMFLEX,
CHAR_E_DIERESIS,
CHAR_I_GRAVE,
CHAR_I_ACUTE,
CHAR_I_CIRCUMFLEX,
CHAR_I_DIERESIS,
CHAR_D_BAR,
CHAR_N_TILDE,
CHAR_O_GRAVE,
CHAR_O_ACUTE,
CHAR_O_CIRCUMFLEX,
CHAR_O_TILDE,
CHAR_O_DIERSIS,
CHAR_MULTIPLY,
CHAR_NULL_SIGN,
CHAR_U_GRAVE,
CHAR_U_ACUTE,
CHAR_U_CIRCUMFLEX,
CHAR_U_DIERESIS,
CHAR_Y_ACUTE,
CHAR_UNK_P_LIKE_THING,
CHAR_ESZETT,
CHAR_a_GRAVE,
CHAR_a_ACUTE,
CHAR_a_CIRCUMFLEX,
CHAR_a_TILDE,
CHAR_a_DIERESIS,
CHAR_a_OVERDOT,
CHAR_ae,
CHAR_c_OGONEK,
CHAR_e_GRAVE,
CHAR_e_ACUTE,
CHAR_e_CIRCUMFLEX,
CHAR_e_DIERESIS,
CHAR_i_GRAVE,
CHAR_i_ACUTE,
CHAR_i_CIRCUMFLEX,
CHAR_i_DIERESIS,
CHAR_d_BAR,
CHAR_n_TILDE,
CHAR_o_GRAVE,
CHAR_o_ACUTE,
CHAR_o_CIRCUMFLEX,
CHAR_o_TILDE,
CHAR_o_DIERSIS,
CHAR_DIVIDE,
CHAR_null_SIGN,
CHAR_u_GRAVE,
CHAR_u_ACUTE,
CHAR_u_CIRCUMFLEX,
CHAR_u_DIERESIS,
CHAR_y_ACUTE,
CHAR_UNK_p_LIKE_THING,
CHAR_y_dieresis,
CHAR_OE,
CHAR_oe,
CHAR_S_OGONEK,
CHAR_s_OGONEK,
CHAR_a_SUPERSCRIPT,
CHAR_o_SUPERSCRIPT,
CHAR_er_SUPERSCRIPT,
CHAR_re_SUPERSCRIPT,
CHAR_r_SUPERSCRIPT,
CHAR_POKEDOLLARS,
CHAR_EXCLAMATION_INVERTED,
CHAR_QUESTION_INVERTED,
CHAR_EXCLAMATION,
CHAR_QUESTION,
CHAR_COMMA,
CHAR_PERIOD,
CHAR_ELLPSIS,
CHAR_DOT,
CHAR_SLASH,
CHAR_SINGLE_QUOTE_OPEN,
CHAR_SINGLE_QUOTE_CLOSE,
CHAR_DOUBLE_QUOTE_OPEN,
CHAR_DOUBLE_QUOTE_CLOSE,
CHAR_DOUBLE_QUOTE_CLOSE_INVERTED,
CHAR_DOUBLE_PAREN_OPEN,
CHAR_DOUBLE_PAREN_CLOSE,
CHAR_PAREN_OPEN,
CHAR_PAREN_CLOSE,
CHAR_MALE,
CHAR_FEMALE,
CHAR_PLUS,
CHAR_MINUS,
CHAR_ASTERISK,
CHAR_HASH,
CHAR_EQUALS,
CHAR_AMPERSAND,
CHAR_TILDE,
CHAR_COLON,
CHAR_SEMICOLON,
CHAR_SPADE,
CHAR_CLUB,
CHAR_HEART,
CHAR_DIAMOND,
CHAR_STAR,
CHAR_DOUBLE_CIRCLE,
CHAR_CIRCLE,
CHAR_SQUARE,
CHAR_TRIANGLE,
CHAR_DIAMOND_OPEN,
CHAR_AT_SIGN,
CHAR_EIGHT_NOTE,
CHAR_PERCENT,
CHAR_SUN,
CHAR_CLOUD,
CHAR_UMBRELLA,
CHAR_SILHOUETTE,
CHAR_EMOTE_SMILE,
CHAR_EMOTE_LAUGH,
CHAR_EMOTE_UPSET,
CHAR_EMOTE_FROWN,
CHAR_ARROW_CURVE_UP,
CHAR_ARROW_CURVE_DOWN,
CHAR_ZZZ,
CHAR_SPACE,
CHAR_e_SUPERSCRIPT,
CHAR_PK,
CHAR_MN,
CHAR_NUM_SPACE,
CHAR_SPACE_1px,
CHAR_SPACE_2px,
CHAR_SPACE_4px,
CHAR_SPACE_8px,
CHAR_SPACE_16px,
CHAR_DEGREES,
CHAR_UNDERSCORE,
CHAR_WIDE_UNDERSCORE,
CHAR_CONTROL_SCREEN_INDICATOR = 0x0200,
CHAR_CONTROL_PAUSE,

View File

@@ -0,0 +1,7 @@
#ifndef POKEPLATINUM_CONSTANTS_FIELD_WINDOW_H
#define POKEPLATINUM_CONSTANTS_FIELD_WINDOW_H
#define FIELD_WINDOW_PALETTE_INDEX 11
#define FIELD_MESSAGE_PALETTE_INDEX 13
#endif // POKEPLATINUM_CONSTANTS_FIELD_WINDOW_H

View File

@@ -16,6 +16,8 @@ enum HeapId {
HEAP_ID_DISTORTION_WORLD_WARP = 30,
HEAP_ID_OPTIONS_MENU = 38,
HEAP_ID_CHOOSE_STARTER_APP = 47,
HEAP_ID_LIBRARY_TV = 120,

View File

@@ -14,9 +14,10 @@ enum ButtonMode {
BUTTON_MODE_L_IS_A = 3,
};
#define PAD_KEY (PAD_KEY_UP | PAD_KEY_DOWN | PAD_KEY_LEFT | PAD_KEY_RIGHT)
#define JOY_NEW(buttons) (gCoreSys.pressedKeys & (buttons))
#define JOY_HELD(buttons) (gCoreSys.heldKeys & (buttons))
#define PAD_KEY (PAD_KEY_UP | PAD_KEY_DOWN | PAD_KEY_LEFT | PAD_KEY_RIGHT)
#define JOY_NEW(buttons) (gCoreSys.pressedKeys & (buttons))
#define JOY_HELD(buttons) (gCoreSys.heldKeys & (buttons))
#define JOY_REPEAT(buttons) (gCoreSys.pressedKeysRepeatable & (buttons))
typedef struct CoreSys {
Callback mainCallback;

View File

@@ -49,9 +49,9 @@
typedef struct FieldSystem_t {
FieldSystem_sub1 *unk_00;
FieldSystem_sub2 *unk_04;
BgConfig *unk_08;
BgConfig *bgConfig;
SaveData *saveData;
TaskManager *unk_10;
TaskManager *taskManager;
MapHeaderData *mapHeaderData;
int bottomScreen;
Location *location;

111
include/list_menu.h Normal file
View File

@@ -0,0 +1,111 @@
#ifndef POKEPLATINUM_LIST_MENU_H
#define POKEPLATINUM_LIST_MENU_H
#include "bg_window.h"
#include "colored_arrow.h"
#include "string_list.h"
#define LIST_NOTHING_CHOSEN -1
#define LIST_CANCEL -2
#define LIST_HEADER -3
enum ListMenuPagerMode {
PAGER_MODE_NONE = 0,
PAGER_MODE_LEFT_RIGHT_PAD,
PAGER_MODE_SHOULDER_BUTTONS,
};
enum ListMenuAction {
LIST_MENU_ACTION_NONE = 0,
LIST_MENU_ACTION_MOVE_UP,
LIST_MENU_ACTION_MOVE_DOWN,
LIST_MENU_ACTION_PAGE_UP,
LIST_MENU_ACTION_PAGE_DOWN,
};
enum ListMenuAttribute {
LIST_MENU_CURSOR_CALLBACK = 0,
LIST_MENU_PRINT_CALLBACK,
LIST_MENU_COUNT,
LIST_MENU_MAX_DISPLAY,
LIST_MENU_UNUSED_4,
LIST_MENU_HEADER_X_OFFSET,
LIST_MENU_TEXT_X_OFFSET,
LIST_MENU_CURSOR_X_OFFSET,
LIST_MENU_Y_OFFSET,
LIST_MENU_LINE_HEIGHT,
LIST_MENU_TEXT_COLOR_FG,
LIST_MENU_TEXT_COLOR_BG,
LIST_MENU_TEXT_COLOR_SHADOW,
LIST_MENU_LETTER_SPACING,
LIST_MENU_LINE_SPACING,
LIST_MENU_PAGER_MODE,
LIST_MENU_FONT_ID,
LIST_MENU_CURSOR_TYPE,
LIST_MENU_WINDOW,
LIST_MENU_TMP,
};
typedef struct ListMenu ListMenu;
typedef void (*CursorCallback)(ListMenu *menu, u32 index, u8 onInit);
typedef void (*PrintCallback)(ListMenu *menu, u32 index, u8 yOffset);
typedef struct ListMenuTemplate {
const StringList *choices;
CursorCallback cursorCallback;
PrintCallback printCallback;
Window *window;
u16 count;
u16 maxDisplay;
u8 headerXOffset;
u8 textXOffset;
u8 cursorXOffset;
u8 yOffset : 4;
u8 textColorFg : 4;
u8 textColorBg : 4;
u8 textColorShadow : 4;
u16 letterSpacing : 3;
u16 lineSpacing : 4;
u16 pagerMode : 2;
u16 fontID : 6;
u16 cursorType : 1;
void *tmp;
} ListMenuTemplate;
struct ListMenu {
ListMenuTemplate template;
struct {
u8 textColorFg : 4;
u8 textColorBg : 4;
u8 textColorShadow : 4;
u8 letterSpacing : 6;
u8 dummy : 6;
u8 fontID : 7;
u8 prefer : 1;
} altFont;
ColoredArrow *cursor;
u16 listPos;
u16 cursorPos;
u8 dummy2C;
u8 dummy2D;
u8 dummy2E;
u8 lastAction;
u8 heapID;
};
ListMenu *ListMenu_New(const ListMenuTemplate *template, u16 startListPos, u16 startCursorPos, u8 heapID);
u32 ListMenu_ProcessInput(ListMenu *menu);
void ListMenu_Free(ListMenu *menu, u16 *outListPos, u16 *outCursorPos);
void ListMenu_Draw(ListMenu *menu);
void ListMenu_SetTextColors(ListMenu *menu, u8 fg, u8 bg, u8 shadow);
u32 ListMenu_TestInput(ListMenu *menu, ListMenuTemplate *template, u16 listPos, u16 cursorPos, u16 updateCursor, u16 input, u16 *outListPos, u16 *outCursorPos);
void ListMenu_SetAltTextColors(ListMenu *menu, u8 fg, u8 bg, u8 shadow);
void ListMenu_CalcTrueCursorPos(ListMenu *menu, u16 *outPos);
void ListMenu_GetListAndCursorPos(ListMenu *menu, u16 *outListPos, u16 *outCursorPos);
u8 ListMenu_GetLastAction(ListMenu *menu);
u32 ListMenu_GetIndexOfChoice(ListMenu *menu, u16 choice);
u32 ListMenu_GetAttribute(ListMenu *menu, u8 attribute);
void ListMenu_SetChoices(ListMenu *menu, StringList *choices);
#endif // POKEPLATINUM_LIST_MENU_H

71
include/menu.h Normal file
View File

@@ -0,0 +1,71 @@
#ifndef POKEPLATINUM_MENU_H
#define POKEPLATINUM_MENU_H
#include "bg_window.h"
#include "colored_arrow.h"
#include "string_list.h"
#define MENU_NOTHING_CHOSEN -1
#define MENU_CANCELED -2
#define MENU_DUMMY -3
enum MenuAction {
MENU_ACTION_NONE = 0,
MENU_ACTION_MOVE_UP,
MENU_ACTION_MOVE_DOWN,
MENU_ACTION_MOVE_LEFT,
MENU_ACTION_MOVE_RIGHT,
};
enum MenuExternalInput {
MENU_INPUT_CONFIRM = 0,
MENU_INPUT_CANCEL,
MENU_INPUT_MOVE_UP,
MENU_INPUT_MOVE_DOWN,
MENU_INPUT_MOVE_LEFT,
MENU_INPUT_MOVE_RIGHT,
};
typedef struct MenuTemplate {
StringList *choices;
Window *window;
u8 fontID;
u8 xSize;
u8 ySize;
u8 lineSpacing : 4;
u8 suppressCursor : 2;
u8 loopAround : 2;
} MenuTemplate;
typedef struct Menu {
MenuTemplate template;
ColoredArrow *cursor;
u32 cancelKeys;
u8 dummy14;
u8 cursorPos;
u8 width;
u8 xOffset;
u8 yOffset;
u8 letterWidth;
u8 lineHeight;
u8 lastAction;
u8 heapID;
} Menu;
Menu *Menu_New(const MenuTemplate *template, u8 xOffset, u8 yOffset, u8 cursorStart, u8 heapID, u32 cancelKeys);
Menu *Menu_NewAndCopyToVRAM(const MenuTemplate *template, u8 xOffset, u8 yOffset, u8 cursorStart, u8 heapID, u32 cancelKeys);
Menu *Menu_NewSimple(const MenuTemplate *template, u8 cursorStart, u8 heapID);
void Menu_Free(Menu *menu, u8 *outCursorPos);
u32 Menu_ProcessInput(Menu *menu);
u32 Menu_ProcessInputWithSound(Menu *menu, u16 sdatID);
u32 Menu_ProcessExternalInput(Menu *menu, u8 input);
u8 Menu_GetCursorPos(Menu *menu);
u8 Menu_GetLastAction(Menu *menu);
Menu *Menu_MakeYesNoChoiceWithCursorAt(BgConfig *bgConfig, const WindowTemplate *winTemplate, u16 borderTileStart, u8 borderPalette, u8 cursorStart, u32 heapID);
Menu *Menu_MakeYesNoChoice(BgConfig *bgConfig, const WindowTemplate *winTemplate, u16 borderTileStart, u8 borderPalette, u32 heapID);
u32 Menu_ProcessInputAndHandleExit(Menu *menu, u32 heapID);
u32 Menu_ProcessExternalInputAndHandleExit(Menu *menu, u8 input, u32 heapID);
void Menu_DestroyForExit(Menu *menu, u32 heapID);
void Window_DrawMenuCursor(Window *window, u32 x, u32 y);
#endif // POKEPLATINUM_MENU_H

View File

@@ -1,14 +0,0 @@
#ifndef POKEPLATINUM_OV5_021E1D20_H
#define POKEPLATINUM_OV5_021E1D20_H
#include "field/field_system_decl.h"
#include "overlay005/struct_ov5_021E1FF4_decl.h"
void ov5_021E1F04(UnkStruct_ov5_021E1FF4 *param0);
void ov5_021E1F7C(UnkStruct_ov5_021E1FF4 *param0);
UnkStruct_ov5_021E1FF4 *ov5_021E1F98(FieldSystem *fieldSystem, int param1, u8 param2);
void ov5_021E1FF4(UnkStruct_ov5_021E1FF4 *param0);
BOOL ov5_021E200C(FieldSystem *fieldSystem);
void ov5_021E2064(FieldSystem *fieldSystem);
#endif // POKEPLATINUM_OV5_021E1D20_H

View File

@@ -2,8 +2,9 @@
#define POKEPLATINUM_OV5_021EA714_H
#include "field/field_system_decl.h"
#include "overlay025/poketch_system.h"
void ov5_021EA714(FieldSystem *fieldSystem, int param1, u32 param2);
void ov5_021EA714(FieldSystem *fieldSystem, enum PoketchEventID eventID, u32 dummy);
void ov5_021EA728(FieldSystem *fieldSystem);
void ov5_021EA790(FieldSystem *fieldSystem);
u8 ov5_021EA7CC(FieldSystem *fieldSystem);

View File

@@ -0,0 +1,58 @@
#ifndef POKEPLATINUM_SAVE_INFO_WINDOW_H
#define POKEPLATINUM_SAVE_INFO_WINDOW_H
#include "field/field_system.h"
#include "bg_window.h"
#include "heap.h"
#include "message.h"
#include "play_time.h"
#include "string_template.h"
#include "trainer_info.h"
enum SaveInfoText {
SAVE_INFO_LABEL_MAP_NAME,
SAVE_INFO_LABEL_PLAYER_NAME,
SAVE_INFO_LABEL_BADGE_COUNT,
SAVE_INFO_LABEL_POKEDEX_COUNT,
SAVE_INFO_LABEL_PLAY_TIME,
SAVE_INFO_PLAYER_NAME,
SAVE_INFO_BADGE_COUNT,
SAVE_INFO_POKEDEX_COUNT,
SAVE_INFO_PLAY_TIME,
};
#define SAVE_INFO_WINDOW_WIDTH 13
#define SAVE_INFO_WINDOW_HEIGHT 10
#define SAVE_INFO_MESSAGE_BASE_TILE 0x189
#define SAVE_INFO_WINDOW_BASE_TILE 0x3D9
typedef struct SaveInfo {
int pokedexCount;
int mapLabelTextID;
TrainerInfo *trainerInfo;
PlayTime *playTime;
} SaveInfo;
typedef struct SaveInfoWindow {
FieldSystem *fieldSystem;
enum HeapId heapID;
u8 bgLayer;
BgConfig *bgConfig;
Window *window;
StringTemplate *strTemplate;
MessageLoader *msgLoader;
SaveInfo saveInfo;
int width;
int height;
} SaveInfoWindow;
void SaveInfoWindow_Draw(SaveInfoWindow *saveInfoWin);
void SaveInfoWindow_Erase(SaveInfoWindow *saveInfoWin);
SaveInfoWindow *SaveInfoWindow_New(FieldSystem *fieldSystem, enum HeapId heapID, u8 bgLayer);
void SaveInfoWindow_Free(SaveInfoWindow *saveInfoWin);
BOOL FieldSystem_Save(FieldSystem *fieldSystem);
void FieldSystem_SaveStateIfCommunicationOff(FieldSystem *fieldSystem);
#endif // POKEPLATINUM_SAVE_INFO_WINDOW_H

View File

@@ -1,6 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_OV5_021E1FF4_DECL_H
#define POKEPLATINUM_STRUCT_OV5_021E1FF4_DECL_H
typedef struct UnkStruct_ov5_021E1FF4_t UnkStruct_ov5_021E1FF4;
#endif // POKEPLATINUM_STRUCT_OV5_021E1FF4_DECL_H

View File

@@ -1,10 +1,7 @@
#ifndef POKEPLATINUM_STRUCT_OV7_0224D008_H
#define POKEPLATINUM_STRUCT_OV7_0224D008_H
#include "struct_decls/struct_0200112C_decl.h"
#include "struct_decls/struct_02001AF4_decl.h"
#include "struct_decls/struct_0200C440_decl.h"
#include "struct_decls/struct_02013A04_decl.h"
#include "overlay005/struct_ov5_021D30A8.h"
@@ -14,9 +11,12 @@
#include "game_options.h"
#include "game_records.h"
#include "journal.h"
#include "list_menu.h"
#include "menu.h"
#include "message.h"
#include "savedata.h"
#include "strbuf.h"
#include "string_list.h"
#include "string_template.h"
#include "trainer_info.h"
#include "vars_flags.h"
@@ -26,10 +26,10 @@ typedef struct {
void *unk_04;
Window unk_08[6];
Window unk_68;
BmpList *unk_78;
ResourceMetadata *unk_7C;
UIControlData *unk_80;
ResourceMetadata *unk_84;
ListMenu *unk_78;
StringList *unk_7C;
Menu *unk_80;
StringList *unk_84;
MessageLoader *unk_88;
StringTemplate *unk_8C;
Camera *camera;

View File

@@ -1,8 +1,8 @@
#ifndef POKEPLATINUM_FUNCPTR_OV23_022515D8_H
#define POKEPLATINUM_FUNCPTR_OV23_022515D8_H
#include "struct_decls/struct_0200112C_decl.h"
#include "list_menu.h"
typedef void (*UnkFuncPtr_ov23_022515D8)(BmpList *, u32, u8);
typedef void (*UnkFuncPtr_ov23_022515D8)(ListMenu *, u32, u8);
#endif // POKEPLATINUM_FUNCPTR_OV23_022515D8_H

View File

@@ -5,9 +5,10 @@
#include "overlay023/funcptr_ov23_02248D20.h"
#include "overlay023/struct_ov23_02248D20.h"
#include "overlay084/struct_ov84_02240FA8.h"
UnkStruct_ov23_02248D20 *ov23_02248C08(UnkStruct_ov84_02240FA8 *param0, u16 param1, u16 param2, u8 param3, UnkFuncPtr_ov23_02248D20 param4, UndergroundData *param5, BOOL param6);
#include "list_menu.h"
UnkStruct_ov23_02248D20 *ov23_02248C08(ListMenuTemplate *param0, u16 param1, u16 param2, u8 param3, UnkFuncPtr_ov23_02248D20 param4, UndergroundData *param5, BOOL param6);
u32 ov23_02248D20(UnkStruct_ov23_02248D20 *param0);
void ov23_02248EF8(UnkStruct_ov23_02248D20 *param0, u16 *param1, u16 *param2);

View File

@@ -1,13 +1,13 @@
#ifndef POKEPLATINUM_OV23_0224F294_H
#define POKEPLATINUM_OV23_0224F294_H
#include "struct_decls/struct_0200112C_decl.h"
#include "struct_decls/struct_020298B0_decl.h"
#include "field/field_system_decl.h"
#include "overlay023/funcptr_ov23_0224F758.h"
#include "overlay023/struct_ov23_02250CD4.h"
#include "list_menu.h"
#include "sys_task_manager.h"
void ov23_0224F588(UndergroundData *param0);
@@ -26,16 +26,16 @@ BOOL ov23_0224F744(int param0);
void ov23_0224F758(UnkFuncPtr_ov23_0224F758 param0, FieldSystem *fieldSystem);
void ov23_0224FB7C(UnkStruct_ov23_02250CD4 *param0);
void ov23_0224FD68(int param0);
void ov23_0224FD84(BmpList *param0, u32 param1, u8 param2);
void ov23_0224FD84(ListMenu *param0, u32 param1, u8 param2);
void ov23_0224FDBC(UnkStruct_ov23_02250CD4 *param0);
void ov23_0224FDE0(UnkStruct_ov23_02250CD4 *param0);
void ov23_02250128(int param0);
void ov23_02250184(UnkStruct_ov23_02250CD4 *param0);
void ov23_02250540(BmpList *param0, u32 param1, u8 param2);
void ov23_02250540(ListMenu *param0, u32 param1, u8 param2);
void ov23_02250578(UnkStruct_ov23_02250CD4 *param0);
void ov23_02250598(UnkStruct_ov23_02250CD4 *param0);
void ov23_02250A50(UnkFuncPtr_ov23_0224F758 param0, FieldSystem *fieldSystem);
void ov23_02250C3C(BmpList *param0, u32 param1, u8 param2);
void ov23_02250C3C(ListMenu *param0, u32 param1, u8 param2);
void ov23_02250CB0(UnkStruct_ov23_02250CD4 *param0);
void ov23_02250CD4(UnkStruct_ov23_02250CD4 *param0);
void ov23_02250D2C(UnkStruct_ov23_02250CD4 *param0);

View File

@@ -3,13 +3,13 @@
#include "overlay023/struct_ov23_02253E2C_decl.h"
#include "overlay023/struct_ov23_02253F60.h"
#include "overlay084/struct_ov84_02240FA8.h"
#include "bg_window.h"
#include "list_menu.h"
#include "message.h"
#include "trainer_info.h"
const UnkStruct_ov84_02240FA8 *ov23_02253D40(void);
const ListMenuTemplate *ov23_02253D40(void);
UnkStruct_ov23_02253E2C *ov23_02253D48(int param0, int param1, BgConfig *param2, int param3, int param4);
void ov23_02253DD8(UnkStruct_ov23_02253E2C *param0);
void ov23_02253DFC(UnkStruct_ov23_02253E2C *param0, int param1, int param2);

View File

@@ -1,19 +1,19 @@
#ifndef POKEPLATINUM_STRUCT_OV23_02248D20_H
#define POKEPLATINUM_STRUCT_OV23_02248D20_H
#include "struct_decls/struct_0200112C_decl.h"
#include "struct_decls/struct_02013A04_decl.h"
#include "struct_decls/struct_020298B0_decl.h"
#include "overlay023/funcptr_ov23_02248D20.h"
#include "colored_arrow.h"
#include "list_menu.h"
#include "string_list.h"
typedef struct {
UnkFuncPtr_ov23_02248D20 unk_00;
UndergroundData *unk_04;
ResourceMetadata *unk_08;
BmpList *unk_0C;
StringList *unk_08;
ListMenu *unk_0C;
ColoredArrow *unk_10;
u16 unk_14;
u16 unk_16;

View File

@@ -2,9 +2,6 @@
#define POKEPLATINUM_STRUCT_OV23_02250CD4_H
#include "struct_decls/cell_actor_data.h"
#include "struct_decls/struct_0200112C_decl.h"
#include "struct_decls/struct_02001AF4_decl.h"
#include "struct_decls/struct_02013A04_decl.h"
#include "struct_defs/struct_0206A844.h"
#include "field/field_system_decl.h"
@@ -17,7 +14,10 @@
#include "overlay023/struct_ov23_02248D20.h"
#include "bg_window.h"
#include "list_menu.h"
#include "menu.h"
#include "strbuf.h"
#include "string_list.h"
#include "string_template.h"
#include "sys_task_manager.h"
@@ -29,14 +29,14 @@ typedef struct {
Window unk_10;
Window unk_20;
Window unk_30;
ResourceMetadata *unk_40;
ResourceMetadata *unk_44;
BmpList *unk_48;
StringList *unk_40;
StringList *unk_44;
ListMenu *unk_48;
UnkStruct_ov23_02248D20 *unk_4C;
BmpList *unk_50;
UIControlData *unk_54;
ResourceMetadata *unk_58;
UIControlData *unk_5C;
ListMenu *unk_50;
Menu *unk_54;
StringList *unk_58;
Menu *unk_5C;
UnkFuncPtr_ov23_022515D8 unk_60;
UnkFuncPtr_ov23_022515D8 unk_64;
Strbuf *unk_68;

View File

@@ -1,10 +1,7 @@
#ifndef POKEPLATINUM_STRUCT_OV65_0222EBE0_T_H
#define POKEPLATINUM_STRUCT_OV65_0222EBE0_T_H
#include "struct_decls/struct_0200112C_decl.h"
#include "struct_decls/struct_02001AF4_decl.h"
#include "struct_decls/struct_02012744_decl.h"
#include "struct_decls/struct_02013A04_decl.h"
#include "struct_decls/struct_0202B370_decl.h"
#include "struct_defs/struct_0200C738.h"
#include "struct_defs/struct_0207DFAC.h"
@@ -17,11 +14,14 @@
#include "bg_window.h"
#include "cell_actor.h"
#include "list_menu.h"
#include "menu.h"
#include "message.h"
#include "overlay_manager.h"
#include "savedata.h"
#include "sprite_resource.h"
#include "strbuf.h"
#include "string_list.h"
#include "trainer_info.h"
struct UnkStruct_ov65_0222EBE0_t {
@@ -32,10 +32,10 @@ struct UnkStruct_ov65_0222EBE0_t {
u8 unk_2C[32];
int unk_4C[32];
int unk_CC[32];
ResourceMetadata *unk_14C;
BmpList *unk_150;
ResourceMetadata *unk_154;
BmpList *unk_158;
StringList *unk_14C;
ListMenu *unk_150;
StringList *unk_154;
ListMenu *unk_158;
BgConfig *unk_15C;
SaveData *unk_160;
StringTemplate *unk_164;
@@ -46,7 +46,7 @@ struct UnkStruct_ov65_0222EBE0_t {
Strbuf *unk_178;
Strbuf *unk_17C;
int unk_180;
UIControlData *unk_184;
Menu *unk_184;
void *unk_188;
CellActorCollection *unk_18C;
UnkStruct_0200C738 unk_190;

View File

@@ -1,8 +1,6 @@
#ifndef POKEPLATINUM_OV70_0225D9A4_H
#define POKEPLATINUM_OV70_0225D9A4_H
#include "struct_decls/struct_02013A04_decl.h"
#include "overlay066/struct_ov66_0222DFF8_decl.h"
#include "overlay070/struct_ov70_0225C894_decl.h"
#include "overlay070/struct_ov70_0225CA20_decl.h"
@@ -11,11 +9,12 @@
#include "overlay070/struct_ov70_02261E10_decl.h"
#include "overlay070/struct_ov70_022630A4_decl.h"
#include "overlay070/struct_ov70_02263910.h"
#include "overlay084/struct_ov84_02240FA8.h"
#include "enums.h"
#include "list_menu.h"
#include "overlay_manager.h"
#include "strbuf.h"
#include "string_list.h"
int ov70_0225D9A4(OverlayManager *param0, int *param1);
int ov70_0225DB90(OverlayManager *param0, int *param1);
@@ -51,10 +50,10 @@ void ov70_0225E00C(UnkStruct_ov70_0225DEE8 *param0, u32 param1);
void ov70_0225E020(UnkStruct_ov70_0225DEE8 *param0, u32 param1, u32 param2);
void ov70_0225E034(UnkStruct_ov70_0225DEE8 *param0);
void ov70_0225E044(UnkStruct_ov70_0225DEE8 *param0, const Strbuf *param1, u32 param2);
const ResourceMetadata *ov70_0225E054(const UnkStruct_ov70_0225DEE8 *param0);
const StringList *ov70_0225E054(const UnkStruct_ov70_0225DEE8 *param0);
BOOL ov70_0225E064(const UnkStruct_ov70_0225DEE8 *param0, u32 param1);
void ov70_0225E074(UnkStruct_ov70_0225DEE8 *param0, const UnkStruct_ov84_02240FA8 *param1, u16 param2, u16 param3);
void ov70_0225E0A4(UnkStruct_ov70_0225DEE8 *param0, const UnkStruct_ov84_02240FA8 *param1, u16 param2, u16 param3, u8 param4, u8 param5, u8 param6);
void ov70_0225E074(UnkStruct_ov70_0225DEE8 *param0, const ListMenuTemplate *param1, u16 param2, u16 param3);
void ov70_0225E0A4(UnkStruct_ov70_0225DEE8 *param0, const ListMenuTemplate *param1, u16 param2, u16 param3, u8 param4, u8 param5, u8 param6);
u32 ov70_0225E0D4(UnkStruct_ov70_0225DEE8 *param0);
void ov70_0225E0E4(UnkStruct_ov70_0225DEE8 *param0, u16 *param1, u16 *param2);
void ov70_0225E0F4(UnkStruct_ov70_0225DEE8 *param0, BOOL param1);

View File

@@ -1,10 +0,0 @@
#ifndef POKEPLATINUM_OV74_021D0D80_H
#define POKEPLATINUM_OV74_021D0D80_H
#include "overlay_manager.h"
int ov74_021D0D80(OverlayManager *param0, int *param1);
int ov74_021D0E58(OverlayManager *param0, int *param1);
int ov74_021D0F60(OverlayManager *param0, int *param1);
#endif // POKEPLATINUM_OV74_021D0D80_H

View File

@@ -4,12 +4,10 @@
#include "struct_decls/font_oam.h"
#include "struct_decls/pokemon_animation_sys_decl.h"
#include "struct_decls/sprite_decl.h"
#include "struct_decls/struct_02001AF4_decl.h"
#include "struct_decls/struct_02007768_decl.h"
#include "struct_decls/struct_0200C6E4_decl.h"
#include "struct_decls/struct_0200C704_decl.h"
#include "struct_decls/struct_02012744_decl.h"
#include "struct_decls/struct_02013A04_decl.h"
#include "struct_decls/struct_02015920_decl.h"
#include "struct_decls/struct_02023FCC_decl.h"
#include "struct_defs/sprite_manager_allocation.h"
@@ -20,7 +18,9 @@
#include "overlay022/struct_ov22_02258A48.h"
#include "bg_window.h"
#include "menu.h"
#include "palette.h"
#include "string_list.h"
#include "touch_screen.h"
typedef struct {
@@ -31,8 +31,8 @@ typedef struct {
BgConfig *unk_10;
PaletteData *unk_14;
Window unk_18[11];
ResourceMetadata *unk_C8;
UIControlData *unk_CC;
StringList *unk_C8;
Menu *unk_CC;
UnkStruct_02007768 *unk_D0;
Sprite *unk_D4;
int unk_D8;

View File

@@ -3,22 +3,21 @@
#include <nnsys.h>
#include "struct_decls/struct_0200112C_decl.h"
#include "struct_decls/struct_02001AF4_decl.h"
#include "struct_decls/struct_0200C6E4_decl.h"
#include "struct_decls/struct_0200C704_decl.h"
#include "struct_decls/struct_02013A04_decl.h"
#include "struct_defs/struct_020158A8.h"
#include "struct_defs/struct_0203D9B8.h"
#include "struct_defs/struct_0209903C.h"
#include "struct_defs/struct_0209916C.h"
#include "overlay079/struct_ov79_021D0E1C_sub1.h"
#include "overlay084/struct_ov84_02240FA8.h"
#include "bg_window.h"
#include "cell_actor.h"
#include "list_menu.h"
#include "menu.h"
#include "message.h"
#include "string_list.h"
typedef struct UnkStruct_ov79_021D0E1C_t {
int unk_00;
@@ -42,13 +41,13 @@ typedef struct UnkStruct_ov79_021D0E1C_t {
UnkStruct_ov79_021D0E1C_sub1 unk_30;
u16 unk_80;
u16 unk_82;
UnkStruct_ov84_02240FA8 unk_84;
UnkStruct_ov84_02240FA8 unk_A4;
BmpList *unk_C4;
BmpList *unk_C8;
ResourceMetadata *unk_CC;
ResourceMetadata *unk_D0;
UIControlData *unk_D4;
ListMenuTemplate unk_84;
ListMenuTemplate unk_A4;
ListMenu *unk_C4;
ListMenu *unk_C8;
StringList *unk_CC;
StringList *unk_D0;
Menu *unk_D4;
void *unk_D8;
void *unk_DC;
NNSG2dScreenData *unk_E0;

View File

@@ -2,12 +2,9 @@
#define POKEPLATINUM_STRUCT_OV84_0223B5A0_H
#include "struct_decls/cell_actor_data.h"
#include "struct_decls/struct_0200112C_decl.h"
#include "struct_decls/struct_02001AF4_decl.h"
#include "struct_decls/struct_0200C440_decl.h"
#include "struct_decls/struct_0200C6E4_decl.h"
#include "struct_decls/struct_0200C704_decl.h"
#include "struct_decls/struct_02013A04_decl.h"
#include "struct_decls/struct_0207CB08_decl.h"
#include "overlay084/struct_ov84_0223B5A0_sub1.h"
@@ -16,9 +13,12 @@
#include "bag.h"
#include "bg_window.h"
#include "game_options.h"
#include "list_menu.h"
#include "menu.h"
#include "message.h"
#include "narc.h"
#include "strbuf.h"
#include "string_list.h"
#include "string_template.h"
#include "trainer_info.h"
@@ -40,10 +40,10 @@ typedef struct {
MessageLoader *unk_11C;
MessageLoader *unk_120;
Strbuf *unk_124[12];
ResourceMetadata *unk_154;
UIControlData *unk_158;
BmpList *unk_15C;
ResourceMetadata *unk_160;
StringList *unk_154;
Menu *unk_158;
ListMenu *unk_15C;
StringList *unk_160;
Strbuf *unk_164[165];
Strbuf *unk_3F8;
Strbuf *unk_3FC;

View File

@@ -1,31 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_OV84_02240FA8_H
#define POKEPLATINUM_STRUCT_OV84_02240FA8_H
#include "struct_decls/struct_0200112C_decl.h"
#include "struct_decls/struct_02013A04_decl.h"
#include "bg_window.h"
typedef struct {
const ResourceMetadata *unk_00;
void (*unk_04)(BmpList *, u32, u8);
void (*unk_08)(BmpList *, u32, u8);
Window *unk_0C;
u16 unk_10;
u16 unk_12;
u8 unk_14;
u8 unk_15;
u8 unk_16;
u8 unk_17_0 : 4;
u8 unk_17_4 : 4;
u8 unk_18_0 : 4;
u8 unk_18_4 : 4;
u16 unk_1A_0 : 3;
u16 unk_1A_3 : 4;
u16 unk_1A_7 : 2;
u16 unk_1A_9 : 6;
u16 unk_1A_15 : 1;
void *unk_1C;
} UnkStruct_ov84_02240FA8;
#endif // POKEPLATINUM_STRUCT_OV84_02240FA8_H

View File

@@ -1,22 +1,21 @@
#ifndef POKEPLATINUM_OV88_0223E9C4_H
#define POKEPLATINUM_OV88_0223E9C4_H
#include "struct_decls/struct_0200112C_decl.h"
#include "struct_decls/struct_02001AF4_decl.h"
#include "struct_decls/struct_02013A04_decl.h"
#include "bg_window.h"
#include "game_options.h"
#include "list_menu.h"
#include "menu.h"
#include "message.h"
#include "strbuf.h"
#include "string_list.h"
#include "string_template.h"
void ov88_0223E9C4(BgConfig *param0, Window *param1, Options *param2);
void ov88_0223EC04(Window *param0);
void ov88_0223EC78(Window *param0, Strbuf *param1, int param2, u32 param3, int param4, int param5);
int ov88_0223ECBC(Window *param0, int param1, int param2, MessageLoader *param3, StringTemplate *param4);
u32 ov88_0223ED2C(BgConfig *param0, UIControlData **param1, int *param2);
u32 ov88_0223ED2C(BgConfig *param0, Menu **param1, int *param2);
void ov88_0223ED80(Window *param0);
BmpList *ov88_0223ED94(ResourceMetadata *param0, int param1, Window *param2, BgConfig *param3);
ListMenu *ov88_0223ED94(StringList *param0, int param1, Window *param2, BgConfig *param3);
#endif // POKEPLATINUM_OV88_0223E9C4_H

View File

@@ -1,19 +1,18 @@
#ifndef POKEPLATINUM_OV94_0223BCB0_H
#define POKEPLATINUM_OV94_0223BCB0_H
#include "struct_decls/struct_02001AF4_decl.h"
#include "overlay094/struct_ov94_0223FD4C_decl.h"
#include "bg_window.h"
#include "cell_actor.h"
#include "menu.h"
#include "overlay_manager.h"
int ov94_0223BCB0(OverlayManager *param0, int *param1);
int ov94_0223BE2C(OverlayManager *param0, int *param1);
int ov94_0223BF54(OverlayManager *param0, int *param1);
void ov94_0223C300(CellActorInitParamsEx *param0, UnkStruct_ov94_0223FD4C *param1, CellActorResourceData *param2, int param3);
UIControlData *ov94_0223C3C0(BgConfig *param0, int param1, int param2);
Menu *ov94_0223C3C0(BgConfig *param0, int param1, int param2);
void ov94_0223C3F4(UnkStruct_ov94_0223FD4C *param0, int param1, int param2);
void ov94_0223C3FC(CellActor *param0, int param1, int param2);
int ov94_0223C4B4(void);

View File

@@ -2,8 +2,6 @@
#define POKEPLATINUM_OV94_022414B8_H
#include "struct_decls/pokedexdata_decl.h"
#include "struct_decls/struct_0200112C_decl.h"
#include "struct_decls/struct_02013A04_decl.h"
#include "overlay094/struct_ov94_0223BA88.h"
#include "overlay094/struct_ov94_0223BA88_sub3.h"
@@ -12,7 +10,9 @@
#include "overlay094/struct_ov94_02242AAC.h"
#include "bg_window.h"
#include "list_menu.h"
#include "message.h"
#include "string_list.h"
#include "string_template.h"
#include "text.h"
@@ -30,15 +30,15 @@ void ov94_02242368(MessageLoader *param0, MessageLoader *param1, StringTemplate
u16 *ov94_Pokedex_Alphabetical(int heapID, int unused, int *pokedexLength);
u8 *ov94_02242548(int param0);
void ov94_022425A8(UnkStruct_ov94_0223BA88 *param0, UnkStruct_ov94_0223FD4C *param1);
BmpList *ov94_022426A8(UnkStruct_ov94_0223FD4C *param0, ResourceMetadata **param1, Window *param2, MessageLoader *param3);
BmpList *ov94_022427C0(UnkStruct_ov94_0223FD4C *param0, ResourceMetadata **param1, Window *param2, MessageLoader *param3, MessageLoader *param4, UnkStruct_ov94_0223FD4C_sub3 *param5, PokedexData *param6);
BmpList *ov94_02242840(ResourceMetadata **param0, Window *param1, MessageLoader *param2);
BmpList *ov94_022428B0(ResourceMetadata **param0, Window *param1, MessageLoader *param2, int param3);
ListMenu *ov94_022426A8(UnkStruct_ov94_0223FD4C *param0, StringList **param1, Window *param2, MessageLoader *param3);
ListMenu *ov94_022427C0(UnkStruct_ov94_0223FD4C *param0, StringList **param1, Window *param2, MessageLoader *param3, MessageLoader *param4, UnkStruct_ov94_0223FD4C_sub3 *param5, PokedexData *param6);
ListMenu *ov94_02242840(StringList **param0, Window *param1, MessageLoader *param2);
ListMenu *ov94_022428B0(StringList **param0, Window *param1, MessageLoader *param2, int param3);
void ov94_02242934(UnkStruct_ov94_0223BA88_sub3 *param0, int param1, int param2);
int ov94_02242970(int param0, int param1, int param2);
BmpList *ov94_022429B4(ResourceMetadata **param0, Window *param1, MessageLoader *param2, MessageLoader *param3);
ListMenu *ov94_022429B4(StringList **param0, Window *param1, MessageLoader *param2, MessageLoader *param3);
void ov94_02242A44(UnkStruct_ov94_0223FD4C *param0, int param1);
u32 ov94_02242A6C(BmpList *param0, u16 *param1);
u32 ov94_02242A6C(ListMenu *param0, u16 *param1);
void ov94_02242AAC(UnkStruct_ov94_02242AAC *param0);
void ov94_02242AC4(UnkStruct_ov94_02242AAC *param0, int param1, int param2, int param3);

View File

@@ -4,9 +4,6 @@
#include <dwc.h>
#include <nnsys.h>
#include "struct_decls/struct_0200112C_decl.h"
#include "struct_decls/struct_02001AF4_decl.h"
#include "struct_decls/struct_02013A04_decl.h"
#include "struct_decls/struct_0202B370_decl.h"
#include "struct_decls/struct_0207AE68_decl.h"
#include "struct_defs/pokemon_summary.h"
@@ -27,11 +24,14 @@
#include "bg_window.h"
#include "cell_actor.h"
#include "list_menu.h"
#include "menu.h"
#include "message.h"
#include "overlay_manager.h"
#include "pokemon.h"
#include "sprite_resource.h"
#include "strbuf.h"
#include "string_list.h"
#include "string_template.h"
#include "sys_task_manager.h"
#include "trainer_info.h"
@@ -121,10 +121,10 @@ typedef struct UnkStruct_ov94_0223FD4C_t {
Window unk_FCC[13];
Window unk_109C;
Window unk_10AC[2];
ResourceMetadata *unk_10CC;
UIControlData *unk_10D0;
UIControlData *unk_10D4;
BmpList *unk_10D8;
StringList *unk_10CC;
Menu *unk_10D0;
Menu *unk_10D4;
ListMenu *unk_10D8;
void *unk_10DC;
int unk_10E0;
UnkStruct_ov94_0223FD4C_sub3 *unk_10E4;

View File

@@ -1,19 +1,18 @@
#ifndef POKEPLATINUM_OV96_0223B6A0_H
#define POKEPLATINUM_OV96_0223B6A0_H
#include "struct_decls/struct_02001AF4_decl.h"
#include "overlay096/struct_ov96_0223BF40_decl.h"
#include "bg_window.h"
#include "cell_actor.h"
#include "menu.h"
#include "overlay_manager.h"
int ov96_0223B6A0(OverlayManager *param0, int *param1);
int ov96_0223B7F8(OverlayManager *param0, int *param1);
int ov96_0223B8CC(OverlayManager *param0, int *param1);
void ov96_0223BAE0(CellActorInitParamsEx *param0, UnkStruct_ov96_0223BF40 *param1, CellActorResourceData *param2, int param3);
UIControlData *ov96_0223BBC8(BgConfig *param0, int param1, int param2);
Menu *ov96_0223BBC8(BgConfig *param0, int param1, int param2);
void ov96_0223BBFC(UnkStruct_ov96_0223BF40 *param0, int param1, int param2);
int ov96_0223BC50(void);
void ov96_0223BC5C(UnkStruct_ov96_0223BF40 *param0, int param1, int param2);

View File

@@ -4,7 +4,6 @@
#include <dwc.h>
#include <nnsys.h>
#include "struct_decls/struct_02001AF4_decl.h"
#include "struct_defs/struct_0200C738.h"
#include "struct_defs/struct_0206BC70.h"
@@ -16,6 +15,7 @@
#include "bg_window.h"
#include "cell_actor.h"
#include "menu.h"
#include "message.h"
#include "pokemon.h"
#include "sprite_resource.h"
@@ -73,7 +73,7 @@ struct UnkStruct_ov96_0223BF40_t {
Window unk_E78;
Window unk_E88[3];
Window unk_EB8[11];
UIControlData *unk_F68;
Menu *unk_F68;
void *unk_F6C;
int unk_F70;
int unk_F74;

View File

@@ -1,7 +1,6 @@
#ifndef POKEPLATINUM_OV97_02237694_H
#define POKEPLATINUM_OV97_02237694_H
#include "struct_decls/struct_0200112C_decl.h"
#include "struct_defs/struct_0202DF40.h"
#include "overlay097/struct_ov97_02237808.h"
@@ -11,6 +10,7 @@
#include "bg_window.h"
#include "cell_actor.h"
#include "list_menu.h"
#include "overlay_manager.h"
#include "savedata.h"
@@ -40,7 +40,7 @@ u32 ov97_02237E4C(int param0);
void ov97_02238194(BgConfig *param0, UnkStruct_0202DF40 *param1);
void ov97_0223829C(UnkStruct_ov97_0223829C *param0, UnkUnion_ov97_0222D2B0 *param1, int param2);
void ov97_02238324(UnkStruct_ov97_0223829C *param0, UnkUnion_ov97_0222D2B0 *param1, int param2);
void ov97_022383C4(BmpList *param0, u32 param1, u8 param2);
void ov97_022383C4(ListMenu *param0, u32 param1, u8 param2);
void ov97_02238400(BOOL param0);
void ov97_02238440(void);
void ov97_0223846C(SaveData *param0);

View File

@@ -3,8 +3,6 @@
#include <dwc.h>
#include "struct_decls/struct_0200112C_decl.h"
#include "struct_decls/struct_02013A04_decl.h"
#include "struct_defs/struct_0200C738.h"
#include "overlay097/struct_ov97_0223829C.h"
@@ -13,10 +11,12 @@
#include "bg_window.h"
#include "cell_actor.h"
#include "game_options.h"
#include "list_menu.h"
#include "message.h"
#include "savedata.h"
#include "sprite_resource.h"
#include "strbuf.h"
#include "string_list.h"
#include "string_template.h"
typedef struct {
@@ -33,8 +33,8 @@ typedef struct {
int unk_6C;
int unk_70;
int unk_74;
BmpList *unk_78;
ResourceMetadata *unk_7C;
ListMenu *unk_78;
StringList *unk_7C;
int unk_80;
int unk_84;
int unk_88;

View File

@@ -1,7 +1,6 @@
#ifndef POKEPLATINUM_STRUCT_OV104_022320B4_T_H
#define POKEPLATINUM_STRUCT_OV104_022320B4_T_H
#include "struct_decls/struct_02001AF4_decl.h"
#include "struct_decls/struct_0209B75C_decl.h"
#include "overlay104/struct_ov104_0222E8C8.h"
@@ -9,6 +8,7 @@
#include "overlay104/struct_ov104_02232B5C_decl.h"
#include "bg_window.h"
#include "menu.h"
#include "message.h"
#include "strbuf.h"
#include "string_template.h"
@@ -34,7 +34,7 @@ struct UnkStruct_ov104_022320B4_t {
BOOL unk_5C;
UnkStruct_ov104_02232B5C *unk_60;
Window unk_64;
UIControlData *unk_74;
Menu *unk_74;
u16 *unk_78;
void *unk_7C;
void *unk_80;

View File

@@ -3,7 +3,6 @@
#include <nnsys.h>
#include "struct_decls/struct_02001AF4_decl.h"
#include "struct_decls/struct_0209C194_decl.h"
#include "struct_defs/struct_0200C738.h"
#include "struct_defs/struct_0209BDF8.h"
@@ -14,6 +13,7 @@
#include "bg_window.h"
#include "cell_actor.h"
#include "menu.h"
#include "message.h"
#include "sprite_resource.h"
#include "strbuf.h"
@@ -52,7 +52,7 @@ typedef struct UnkStruct_ov109_021D5140_t {
Window unk_36C;
Window unk_37C;
Window *unk_38C[2];
UIControlData *unk_394;
Menu *unk_394;
void *unk_398[2];
NNSG2dCharacterData *unk_3A0[2];
void *unk_3A8[2];

View File

@@ -2,18 +2,18 @@
#define POKEPLATINUM_STRUCT_OV119_021D17B8_H
#include "struct_decls/pokemon_animation_sys_decl.h"
#include "struct_decls/struct_02001AF4_decl.h"
#include "struct_decls/struct_02007768_decl.h"
#include "struct_decls/struct_0200C6E4_decl.h"
#include "struct_decls/struct_0200C704_decl.h"
#include "struct_decls/struct_02013A04_decl.h"
#include "struct_defs/struct_0207C690.h"
#include "overlay119/struct_ov119_021D14DC.h"
#include "bg_window.h"
#include "menu.h"
#include "narc.h"
#include "palette.h"
#include "string_list.h"
typedef struct {
BgConfig *unk_00;
@@ -26,8 +26,8 @@ typedef struct {
UnkStruct_02007768 *unk_38;
NARC *unk_3C;
UnkStruct_ov119_021D14DC *unk_40;
ResourceMetadata *unk_44;
UIControlData *unk_48;
StringList *unk_44;
Menu *unk_48;
SpriteGfxHandler *unk_4C;
SpriteRenderer *unk_50;
PokemonAnimationSys *unk_54;

View File

@@ -3,6 +3,12 @@
#include "constants/heap.h"
#define SLOTS_PER_PALETTE 16
#define PALETTE_SIZE (SLOTS_PER_PALETTE)
#define PALETTE_SIZE_EXT (SLOTS_PER_PALETTE * 16)
#define PALETTE_SIZE_BYTES (PALETTE_SIZE * sizeof(u16))
#define PLTT_OFFSET(i) ((i) * PALETTE_SIZE_BYTES)
enum PaletteBufferID {
PLTTBUF_MAIN_BG = 0,
PLTTBUF_SUB_BG,

49
include/render_window.h Normal file
View File

@@ -0,0 +1,49 @@
#ifndef POKEPLATINUM_RENDER_WINDOW_H
#define POKEPLATINUM_RENDER_WINDOW_H
#include "constants/heap.h"
#include "bg_window.h"
#include "pokemon.h"
#define TEXT_WINDOW_SIZE 30
enum StandardWindowType {
STANDARD_WINDOW_SYSTEM = 0,
STANDARD_WINDOW_FIELD,
STANDARD_WINDOW_UNDERGROUND,
};
enum SignpostType {
SIGNPOST_CITY_MAP = 0,
SIGNPOST_ROUTE_MAP,
SIGNPOST_BUILDING_INFO,
SIGNPOST_FIELD_INFO,
};
void LoadStandardWindowTiles(BgConfig *bgConfig, u8 bgLayer, u16 offset, u8 standardWindowType, u32 heapID);
u32 GetStandardWindowPaletteNARCMember(void);
void LoadStandardWindowGraphics(BgConfig *bgConfig, u8 bgLayer, u16 tileOffset, u8 palOffset, u8 standardWindowType, u32 heapID);
void Window_DrawStandardFrame(Window *window, u8 skipTransfer, u16 tile, u8 palette);
void Window_EraseStandardFrame(Window *window, u8 skipTransfer);
u32 GetMessageBoxTilesNARCMember(u32 messageBoxFrame);
u32 GetMessageBoxPaletteNARCMember(u32 messageBoxFrame);
void LoadMessageBoxGraphics(BgConfig *bgConfig, u8 bgLayer, u16 tileOffset, u8 palOffset, u8 messageBoxFrame, u32 heapID);
void Window_DrawMessageBox(Window *window, u32 tile, u32 palette);
void Window_DrawMessageBoxWithScrollCursor(Window *window, u8 skipTransfer, u16 tile, u8 palette);
void Window_EraseMessageBox(Window *window, u8 skipTransfer);
void ReplaceTransparentTiles(BgConfig *bgConfig, u8 bgLayer, u16 bgBaseTile, u8 withTile, u8 messageBoxFrame, u32 heapID);
void LoadSignpostContentGraphics(BgConfig *bgConfig, u8 bgLayer, u16 baseTile, u8 palette, u8 signpostType, u16 signpostNARCMemberIdx, u32 heapID);
void Window_DrawSignpost(Window *window, u8 skipTransfer, u16 baseTile, u8 palette, u8 signpostType);
void Window_EraseSignpost(Window *window, u8 signpostType, u8 skipTransfer);
void *Window_AddWaitDial(Window *window, u32 baseTile);
void DestroyWaitDial(void *taskData);
void DestroyWaitDialTaskOnly(void *taskData);
u8 *DrawPokemonPreview(BgConfig *bgConfig, u8 bgLayer, u8 x, u8 y, u8 palette, u16 baseTile, u16 species, u8 gender, enum HeapId heapID);
u8 *DrawPokemonPreviewFromStruct(BgConfig *bgConfig, u8 bgLayer, u8 x, u8 y, u8 palette, u16 baseTile, Pokemon *mon, enum HeapId heapID);
#endif // POKEPLATINUM_RENDER_WINDOW_H

View File

@@ -1,18 +1,18 @@
#ifndef POKEPLATINUM_SCRIPT_MANAGER_H
#define POKEPLATINUM_SCRIPT_MANAGER_H
#include "struct_decls/struct_02001AF4_decl.h"
#include "struct_decls/struct_020508D4_decl.h"
#include "struct_decls/struct_02061AB4_decl.h"
#include "struct_defs/struct_0203F478.h"
#include "field/field_system_decl.h"
#include "overlay005/save_info_window.h"
#include "overlay005/struct_ov5_021DC1A4_decl.h"
#include "overlay005/struct_ov5_021E1FF4_decl.h"
#include "overlay101/struct_ov101_021D5D90_decl.h"
#include "bg_window.h"
#include "field_script_context.h"
#include "menu.h"
#include "string_template.h"
#include "sys_task_manager.h"
@@ -56,8 +56,8 @@ enum ScriptManagerMember {
SCRIPT_MANAGER_TRAINER_1_TASK,
SCRIPT_MANAGER_COIN_WINDOW,
SCRIPT_MANAGER_MONEY_WINDOW,
SCRIPT_DATA_START = 41,
SCRIPT_MANAGER_SAVE_INFO_WINDOW,
SCRIPT_DATA_START,
SCRIPT_DATA_PARAMETER_0 = SCRIPT_DATA_START, // used for storing the mon's party slot when you use a field move, the item ID for hidden items, and steps for the PokeRadar
SCRIPT_DATA_PARAMETER_1, // used for storing hidden item quantities.
SCRIPT_DATA_PARAMETER_2, // used for storing hidden item quantities and flags respectively.
@@ -117,7 +117,7 @@ typedef struct ScriptManager {
BOOL battleResult;
UnkStruct_ov5_021DC1A4 *unk_10; // appears to be used for multichoice windows
Window window;
UIControlData *ctrlUI;
Menu *ctrlUI;
int playerDir;
MapObject *targetObject;
MapObject *cameraObject;
@@ -136,7 +136,7 @@ typedef struct ScriptManager {
SysTask *playerTask; // used to set player sprite animations while saving
Window coinWindow;
Window moneyWindow;
UnkStruct_ov5_021E1FF4 *unk_D8;
SaveInfoWindow *saveInfoWin;
} ScriptManager;
void ScriptManager_Set(FieldSystem *fieldSystem, u16 scriptID, MapObject *object);

20
include/string_list.h Normal file
View File

@@ -0,0 +1,20 @@
#ifndef POKEPLATINUM_STRING_LIST_H
#define POKEPLATINUM_STRING_LIST_H
#include "message.h"
#include "strbuf.h"
#define STRING_LIST_TERMINATOR ((void *)0xFFFFFFFF)
typedef struct StringList {
void *entry;
u32 index;
} StringList;
StringList *StringList_New(u32 capacity, u32 heapID);
void StringList_Free(StringList *list);
void StringList_AddFromMessageBank(StringList *list, const MessageLoader *loader, u32 bankEntry, u32 index);
void StringList_AddFromStrbuf(StringList *list, const Strbuf *strbuf, u32 index);
void StringList_AddFromEntry(StringList *list, const StringList *entry);
#endif // POKEPLATINUM_STRING_LIST_H

View File

@@ -1,6 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_0200112C_DECL_H
#define POKEPLATINUM_STRUCT_0200112C_DECL_H
typedef struct UnkStruct_0200112C_t BmpList;
#endif // POKEPLATINUM_STRUCT_0200112C_DECL_H

View File

@@ -1,6 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_02001AF4_DECL_H
#define POKEPLATINUM_STRUCT_02001AF4_DECL_H
typedef struct UIControlData_t UIControlData;
#endif // POKEPLATINUM_STRUCT_02001AF4_DECL_H

View File

@@ -1,7 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_02013A04_DECL_H
#define POKEPLATINUM_STRUCT_02013A04_DECL_H
#include "struct_defs/struct_02013A04_t.h"
typedef struct ResourceMetadata_t ResourceMetadata;
#endif // POKEPLATINUM_STRUCT_02013A04_DECL_H

View File

@@ -1,9 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_02013A04_T_H
#define POKEPLATINUM_STRUCT_02013A04_T_H
struct ResourceMetadata_t {
const void *unk_00;
u32 unk_04;
};
#endif // POKEPLATINUM_STRUCT_02013A04_T_H

View File

@@ -1,14 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_0203D8EC_H
#define POKEPLATINUM_STRUCT_0203D8EC_H
typedef struct {
u16 unk_00_0 : 4;
u16 unk_00_4 : 2;
u16 unk_00_6 : 1;
u16 unk_00_7 : 1;
u16 unk_00_8 : 2;
u16 unk_00_10 : 5;
u16 padding_00_15 : 1;
} UnkStruct_0203D8EC;
#endif // POKEPLATINUM_STRUCT_0203D8EC_H

View File

@@ -2,8 +2,6 @@
#define POKEPLATINUM_STRUCT_020708E0_H
#include "struct_decls/cell_actor_data.h"
#include "struct_decls/struct_02001AF4_decl.h"
#include "struct_decls/struct_02013A04_decl.h"
#include "struct_defs/struct_020684D0.h"
#include "struct_defs/struct_02070950.h"
@@ -11,12 +9,14 @@
#include "overlay005/struct_ov5_021D30A8.h"
#include "bg_window.h"
#include "menu.h"
#include "string_list.h"
typedef struct {
Window unk_00;
Window unk_10;
UIControlData *unk_20;
ResourceMetadata *unk_24;
Menu *unk_20;
StringList *unk_24;
u16 unk_28;
u16 state;
u32 unk_2C;

View File

@@ -2,11 +2,9 @@
#define POKEPLATINUM_STRUCT_0207F248_H
#include "struct_decls/cell_actor_data.h"
#include "struct_decls/struct_02001AF4_decl.h"
#include "struct_decls/struct_0200C440_decl.h"
#include "struct_decls/struct_0200C6E4_decl.h"
#include "struct_decls/struct_0200C704_decl.h"
#include "struct_decls/struct_02013A04_decl.h"
#include "struct_decls/struct_02098700_decl.h"
#include "struct_defs/funcptr_0207F248_sub1.h"
#include "struct_defs/struct_0207C690.h"
@@ -20,8 +18,10 @@
#include "bg_window.h"
#include "cell_actor.h"
#include "menu.h"
#include "message.h"
#include "strbuf.h"
#include "string_list.h"
#include "string_template.h"
typedef struct {
@@ -43,8 +43,8 @@ typedef struct {
Strbuf *unk_6A4;
Strbuf *unk_6A8;
Strbuf *unk_6AC[20];
ResourceMetadata *unk_6FC;
UIControlData *unk_700;
StringList *unk_6FC;
Menu *unk_700;
StrBufWrapper unk_704[6];
const ByteFlagSet *unk_7F4;
DualArrayShortData unk_7F8;

View File

@@ -1,19 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_02081CF4_H
#define POKEPLATINUM_STRUCT_02081CF4_H
#include "struct_decls/struct_02013A04_decl.h"
#include "bg_window.h"
typedef struct {
const ResourceMetadata *unk_00;
Window *unk_04;
u8 unk_08;
u8 unk_09;
u8 unk_0A;
u8 unk_0B_0 : 4;
u8 unk_0B_4 : 2;
u8 unk_0B_6 : 2;
} UnkStruct_02081CF4;
#endif // POKEPLATINUM_STRUCT_02081CF4_H

View File

@@ -4,9 +4,6 @@
#include <nitro/fx/fx.h>
#include <nnsys.h>
#include "struct_decls/struct_0200112C_decl.h"
#include "struct_decls/struct_02001AF4_decl.h"
#include "struct_decls/struct_02013A04_decl.h"
#include "struct_decls/struct_02027F8C_decl.h"
#include "struct_decls/struct_0202B370_decl.h"
#include "struct_decls/struct_02095E80_decl.h"
@@ -24,11 +21,14 @@
#include "bg_window.h"
#include "cell_actor.h"
#include "list_menu.h"
#include "menu.h"
#include "message.h"
#include "overlay_manager.h"
#include "savedata.h"
#include "sprite_resource.h"
#include "strbuf.h"
#include "string_list.h"
#include "string_template.h"
#include "sys_task_manager.h"
@@ -83,9 +83,9 @@ struct UnkStruct_02095E80_t {
CellActor *unk_47C;
SysTask *unk_480[7];
Window unk_49C[34];
UIControlData *unk_6BC;
ResourceMetadata *unk_6C0;
UIControlData *unk_6C4;
Menu *unk_6BC;
StringList *unk_6C0;
Menu *unk_6C4;
int unk_6C8;
int unk_6CC;
int unk_6D0;
@@ -125,8 +125,8 @@ struct UnkStruct_02095E80_t {
int unk_36C8;
StringTemplate *unk_36CC;
MessageLoader *unk_36D0;
ResourceMetadata *unk_36D4;
BmpList *unk_36D8;
StringList *unk_36D4;
ListMenu *unk_36D8;
Window unk_36DC;
UnkStruct_0202B370 *unk_36EC;
int unk_36F0;

View File

@@ -3,7 +3,6 @@
#include <nnsys.h>
#include "struct_decls/struct_02001AF4_decl.h"
#include "struct_defs/struct_0200C738.h"
#include "struct_defs/struct_0203DE34.h"
#include "struct_defs/struct_020961E8_sub1.h"
@@ -13,6 +12,7 @@
#include "bg_window.h"
#include "cell_actor.h"
#include "menu.h"
#include "message.h"
#include "savedata.h"
#include "sprite_resource.h"
@@ -48,7 +48,7 @@ struct UnkStruct_020961E8_t {
Window unk_35C;
Window unk_36C;
Window *unk_37C[2];
UIControlData *unk_384;
Menu *unk_384;
void *unk_388[2];
NNSG2dCharacterData *unk_390[2];
void *unk_398[2];

View File

@@ -1,23 +0,0 @@
#ifndef POKEPLATINUM_UNK_0200112C_H
#define POKEPLATINUM_UNK_0200112C_H
#include "struct_decls/struct_0200112C_decl.h"
#include "struct_decls/struct_02013A04_decl.h"
#include "overlay084/struct_ov84_02240FA8.h"
BmpList *sub_0200112C(const UnkStruct_ov84_02240FA8 *param0, u16 param1, u16 param2, u8 param3);
u32 sub_02001288(BmpList *param0);
void sub_02001384(BmpList *param0, u16 *param1, u16 *param2);
void sub_020013AC(BmpList *param0);
void sub_020013D8(BmpList *param0, u8 param1, u8 param2, u8 param3);
u32 sub_02001408(BmpList *param0, UnkStruct_ov84_02240FA8 *param1, u16 param2, u16 param3, u16 param4, u16 param5, u16 *param6, u16 *param7);
void sub_0200147C(BmpList *param0, u8 param1, u8 param2, u8 param3);
void sub_020014D0(BmpList *param0, u16 *param1);
void sub_020014DC(BmpList *param0, u16 *param1, u16 *param2);
u8 sub_020014F0(BmpList *param0);
u32 sub_020014F8(BmpList *param0, u16 param1);
u32 sub_02001504(BmpList *param0, u8 param1);
void sub_020015CC(BmpList *param0, ResourceMetadata *param1);
#endif // POKEPLATINUM_UNK_0200112C_H

View File

@@ -1,25 +0,0 @@
#ifndef POKEPLATINUM_UNK_02001AF4_H
#define POKEPLATINUM_UNK_02001AF4_H
#include "struct_decls/struct_02001AF4_decl.h"
#include "struct_defs/struct_02081CF4.h"
#include "bg_window.h"
UIControlData *sub_02001AF4(const UnkStruct_02081CF4 *param0, u8 param1, u8 param2, u8 param3, u8 param4, u32 param5);
UIControlData *sub_02001B7C(const UnkStruct_02081CF4 *param0, u8 param1, u8 param2, u8 param3, u8 param4, u32 param5);
UIControlData *sub_02001B9C(const UnkStruct_02081CF4 *param0, u8 param1, u8 param2);
void sub_02001BC4(UIControlData *param0, u8 *param1);
u32 sub_02001BE0(UIControlData *param0);
u32 sub_02001C94(UIControlData *param0, u16 param1);
u32 sub_02001D44(UIControlData *param0, u8 param1);
u8 sub_02001DC4(UIControlData *param0);
u8 sub_02001DC8(UIControlData *param0);
UIControlData *sub_02002054(BgConfig *param0, const WindowTemplate *param1, u16 param2, u8 param3, u8 param4, u32 param5);
UIControlData *sub_02002100(BgConfig *param0, const WindowTemplate *param1, u16 param2, u8 param3, u32 param4);
u32 sub_02002114(UIControlData *param0, u32 param1);
u32 sub_02002134(UIControlData *param0, u8 param1, u32 param2);
void sub_02002154(UIControlData *param0, u32 param1);
void sub_02002180(Window *param0, u32 param1, u32 param2);
#endif // POKEPLATINUM_UNK_02001AF4_H

View File

@@ -60,7 +60,7 @@ void sub_02004F68(int param0, u16 param1, int param2);
void sub_02004F7C(u16 param0, u16 param1, int param2);
void sub_02004F94(int param0, u16 param1, int param2);
void sub_02004FA8(int param0, int param1);
void sub_02004FB8(BOOL param0);
void Sound_SetPlaybackMode(BOOL param0);
void sub_02004FCC(int param0);
void sub_02004FDC(int param0);
int sub_02004FEC(void);

View File

@@ -14,7 +14,7 @@ void sub_020056D4(void);
BOOL sub_02005728(u16 param0, int param1);
BOOL Sound_PlayEffect(u16 param0);
BOOL sub_02005770(u16 param0, int param1);
void sub_020057A4(u16 param0, int param1);
void Sound_StopEffect(u16 param0, int param1);
void sub_020057AC(int param0, int param1);
void sub_020057BC(int param0);
int Sound_IsEffectPlaying(u16 param0);

View File

@@ -27,7 +27,7 @@ BOOL sub_0200C73C(SpriteRenderer *param0, const UnkStruct_ov104_0224133C *param1
BOOL sub_0200C7C0(SpriteRenderer *param0, SpriteGfxHandler *param1, int param2);
void sub_0200C7E4(CellActor *param0);
void sub_0200C7EC(SpriteGfxHandler *param0);
void sub_0200C800(void);
void OAMManager_ApplyAndResetBuffers(void);
void sub_0200C808(void);
void sub_0200C810(SpriteGfxHandler *param0);
void sub_0200C81C(SpriteGfxHandler *param0);

View File

@@ -1,30 +0,0 @@
#ifndef POKEPLATINUM_UNK_0200DA60_H
#define POKEPLATINUM_UNK_0200DA60_H
#include "bg_window.h"
#include "pokemon.h"
#define TEXT_WINDOW_SIZE 30
void Window_SetFrame(BgConfig *param0, u8 param1, u16 param2, u8 param3, u32 param4);
u32 Window_FramePalette(void);
void sub_0200DAA4(BgConfig *param0, u8 param1, u16 param2, u8 param3, u8 param4, u32 param5);
void Window_Show(Window *param0, u8 param1, u16 param2, u8 param3);
void Window_Clear(Window *param0, u8 param1);
u32 sub_0200DD04(u32 param0);
u32 sub_0200DD08(u32 param0);
void sub_0200DD0C(BgConfig *param0, u8 param1, u16 param2, u8 param3, u8 param4, u32 param5);
void sub_0200E010(Window *param0, u32 param1, u32 param2);
void sub_0200E060(Window *param0, u8 param1, u16 param2, u8 param3);
void sub_0200E084(Window *param0, u8 param1);
void sub_0200E218(BgConfig *param0, u8 param1, u16 param2, u8 param3, u8 param4, u32 param5);
void sub_0200E2A4(BgConfig *param0, u8 param1, u16 param2, u8 param3, u8 param4, u16 param5, u32 param6);
void sub_0200E69C(Window *param0, u8 param1, u16 param2, u8 param3, u8 param4);
void sub_0200E744(Window *param0, u8 param1, u8 param2);
void *sub_0200E7FC(Window *param0, u32 param1);
void DeleteWaitDial(void *param0);
void sub_0200EBC8(void *param0);
u8 *sub_0200EBF0(BgConfig *param0, u8 param1, u8 param2, u8 param3, u8 param4, u16 param5, u16 param6, u8 param7, int param8);
u8 *sub_0200EC48(BgConfig *param0, u8 param1, u8 param2, u8 param3, u8 param4, u16 param5, Pokemon *param6, int param7);
#endif // POKEPLATINUM_UNK_0200DA60_H

View File

@@ -5,9 +5,9 @@
#include "functypes/funcptr_0200F634.h"
void sub_0200F174(int param0, int param1, int param2, u16 param3, int param4, int param5, int param6);
void StartScreenTransition(int param0, int param1, int param2, u16 param3, int param4, int param5, int param6);
void sub_0200F27C(void);
BOOL ScreenWipe_Done(void);
BOOL IsScreenTransitionDone(void);
void sub_0200F2C0(void);
void sub_0200F32C(int param0);
void sub_0200F338(int param0);

View File

@@ -1,16 +0,0 @@
#ifndef POKEPLATINUM_UNK_02013A04_H
#define POKEPLATINUM_UNK_02013A04_H
#include "struct_decls/struct_02013A04_decl.h"
#include "message.h"
#include "strbuf.h"
ResourceMetadata *sub_02013A04(u32 param0, u32 param1);
void sub_02013A3C(ResourceMetadata *param0);
void sub_02013A4C(ResourceMetadata *param0, const MessageLoader *param1, u32 param2, u32 param3);
void sub_02013A6C(ResourceMetadata *param0, const Strbuf *param1, u32 param2);
void sub_02013A90(ResourceMetadata *param0, const ResourceMetadata *param1);
void sub_02013AE8(ResourceMetadata *param0);
#endif // POKEPLATINUM_UNK_02013A04_H

View File

@@ -3,8 +3,8 @@
#include <nnsys.h>
void sub_0201DBEC(u32 param0, int param1);
void sub_0201DC3C(void);
void VRAMTransferManager_New(u32 param0, int param1);
void VRAMTransferManager_Destroy(void);
BOOL sub_0201DC68(NNS_GFD_DST_TYPE param0, u32 param1, void *param2, u32 param3);
void sub_0201DCAC(void);
NNSG2dCellTransferState *sub_0201DCC8(int param0, int param1);

View File

@@ -9,45 +9,45 @@
int Pokedex_SaveSize(void);
PokedexData *sub_02026324(u32 param0);
void sub_02026338(const PokedexData *param0, PokedexData *param1);
void Pokedex_Init(PokedexData *dexData);
u16 sub_02026DD0(const PokedexData *dexData);
u16 sub_02026E0C(const PokedexData *dexData);
u16 sub_02026E48(const PokedexData *dexData);
u16 sub_02026E64(const PokedexData *dexData);
u16 sub_02026EAC(const PokedexData *dexData);
BOOL sub_02026EF4(const PokedexData *dexData);
BOOL sub_02026F0C(const PokedexData *dexData);
u16 sub_02026F20(const PokedexData *dexData);
u16 sub_02026F58(const PokedexData *dexData);
BOOL Pokedex_HasCaught(const PokedexData *dexData, u16 species);
BOOL Pokedex_HasEncountered(const PokedexData *dexData, u16 species);
u32 sub_0202702C(const PokedexData *dexData, u8 param1);
u32 sub_02027058(const PokedexData *dexData, u16 param1, int param2);
u32 sub_020270AC(const PokedexData *dexData, int param1);
u32 sub_020270DC(const PokedexData *dexData);
u32 sub_020270F8(const PokedexData *dexData, int param1);
u32 sub_02027130(const PokedexData *dexData);
u32 sub_02027154(const PokedexData *dexData, int param1);
u32 sub_0202718C(const PokedexData *dexData);
u32 sub_020271B0(const PokedexData *dexData, int param1);
u32 sub_020271E8(const PokedexData *dexData);
u32 sub_02027208(const PokedexData *dexData, int param1);
u32 sub_02027240(const PokedexData *dexData);
u32 sub_02027264(const PokedexData *dexData, int param1);
u32 sub_02027288(const PokedexData *dexData);
void sub_020272A4(PokedexData *dexData, Pokemon *param1);
void sub_0202736C(PokedexData *dexData, Pokemon *param1);
void sub_02027454(PokedexData *dexData);
BOOL Pokedex_IsNationalUnlocked(const PokedexData *dexData);
BOOL Pokedex_CanDetectForms(const PokedexData *dexData);
void Pokedex_TurnOnFormDetection(PokedexData *dexData);
BOOL sub_020274D0(const PokedexData *dexData, u16 param1, u32 param2);
void sub_02027508(PokedexData *dexData);
BOOL sub_02027514(const PokedexData *dexData);
BOOL sub_02027520(const PokedexData *dexData);
void sub_02027540(PokedexData *dexData);
PokedexData *SaveData_Pokedex(SaveData *param0);
u32 sub_0202756C(const PokedexData *dexData, int param1, int param2);
u32 sub_020276C8(const PokedexData *dexData, int param1);
void Pokedex_Init(PokedexData *param0);
u16 sub_02026DD0(const PokedexData *param0);
u16 Pokedex_CountSeenNational(const PokedexData *pokedex);
u16 Pokedex_CountSeen(const PokedexData *pokedex);
u16 sub_02026E64(const PokedexData *param0);
u16 Pokedex_CountSeenSinnoh(const PokedexData *pokedex);
BOOL sub_02026EF4(const PokedexData *param0);
BOOL sub_02026F0C(const PokedexData *param0);
u16 sub_02026F20(const PokedexData *param0);
u16 sub_02026F58(const PokedexData *param0);
BOOL Pokedex_HasCaughtSpecies(const PokedexData *pokedex, u16 species);
BOOL Pokedex_HasSeenSpecies(const PokedexData *pokedex, u16 species);
u32 sub_0202702C(const PokedexData *param0, u8 param1);
u32 sub_02027058(const PokedexData *param0, u16 param1, int param2);
u32 sub_020270AC(const PokedexData *param0, int param1);
u32 sub_020270DC(const PokedexData *param0);
u32 sub_020270F8(const PokedexData *param0, int param1);
u32 sub_02027130(const PokedexData *param0);
u32 sub_02027154(const PokedexData *param0, int param1);
u32 sub_0202718C(const PokedexData *param0);
u32 sub_020271B0(const PokedexData *param0, int param1);
u32 sub_020271E8(const PokedexData *param0);
u32 sub_02027208(const PokedexData *param0, int param1);
u32 sub_02027240(const PokedexData *param0);
u32 sub_02027264(const PokedexData *param0, int param1);
u32 sub_02027288(const PokedexData *param0);
void sub_020272A4(PokedexData *param0, Pokemon *param1);
void sub_0202736C(PokedexData *param0, Pokemon *param1);
void sub_02027454(PokedexData *param0);
BOOL Pokedex_IsNationalDexObtained(const PokedexData *pokedex);
BOOL sub_02027494(const PokedexData *param0);
void sub_020274B0(PokedexData *param0);
BOOL sub_020274D0(const PokedexData *param0, u16 param1, u32 param2);
void sub_02027508(PokedexData *param0);
BOOL sub_02027514(const PokedexData *param0);
BOOL Pokedex_IsObtained(const PokedexData *pokedex);
void sub_02027540(PokedexData *param0);
PokedexData *SaveData_Pokedex(SaveData *saveData);
u32 sub_0202756C(const PokedexData *param0, int param1, int param2);
u32 sub_020276C8(const PokedexData *param0, int param1);
#endif // POKEPLATINUM_UNK_0202631C_H

View File

@@ -15,6 +15,6 @@ void sub_02039750(int param0, int param1, BOOL param2, int param3);
void sub_02039794(void);
void sub_020397B0(int param0);
void sub_020397C8(BOOL param0, u32 param1);
void sub_020397E4(void);
void DrawWifiConnectionIcon(void);
#endif // POKEPLATINUM_UNK_020393C8_H

View File

@@ -52,7 +52,7 @@ void sub_0203D80C(TaskManager *param0, u16 *param1, u16 *param2, u16 *param3);
void sub_0203D874(FieldSystem *fieldSystem, UnkStruct_0209747C *param1);
void sub_0203D884(FieldSystem *fieldSystem, UnkStruct_0203D8AC *param1);
void *sub_0203D8AC(FieldSystem *fieldSystem);
void *sub_0203D8EC(FieldSystem *fieldSystem);
void *FieldSystem_OpenOptionsMenu(FieldSystem *fieldSystem);
UnkStruct_02097728 *sub_0203D920(FieldSystem *fieldSystem, int param1, u8 param2, u8 param3, int param4);
UnkStruct_02097728 *sub_0203D94C(FieldSystem *fieldSystem, int param1, u8 param2, int param3);
UnkStruct_02097728 *sub_0203D984(FieldSystem *fieldSystem, Pokemon *param1, int param2);

View File

@@ -190,14 +190,14 @@ e3bb819c8dbab8a8db5e4ddccc788b234424e605 *res/prebuilt/wazaeffect/effectclact/we
1c6bab5b5b8295bb3e6b8b6a271a7ca20c1ae177 *res/prebuilt/graphic/box.narc
cf140701a40be4f23bb24fb17145b1a176ceabcd *res/prebuilt/graphic/btower.narc
f0dd678b1de5b9231ffad99f207085a1dab37491 *res/prebuilt/graphic/bucket.narc
9d3829844b18063946f3bddcf67a839c95c0186f *res/prebuilt/graphic/config_gra.narc
9d3829844b18063946f3bddcf67a839c95c0186f *res/graphics/options_menu/config_gra.narc
937807f1632664139194b95e3f7b8a58ac33f89a *res/prebuilt/graphic/demo_trade.narc
67a8fb6c1b269ab107f2a98f23a5f53fb383ca1d *res/prebuilt/graphic/dendou_demo.narc
d5a8953a61b8589539ce7b139ab956a802adaa33 *res/prebuilt/graphic/dendou_pc.narc
2d1a354e31cdd1861bdd7aade661fb9e4dc0ae31 *res/prebuilt/graphic/ending.narc
d91ceca1e3ef5e57061dabc690c0f1a1556dc624 *res/prebuilt/graphic/ev_pokeselect.narc
5c673be62fe6bddfa911e3be26762b7e47d60b41 *res/prebuilt/graphic/f_note_gra.narc
4941a639804c2b009836d1ab9b86a2ab0bb0c436 *res/prebuilt/graphic/field_board.narc
4941a639804c2b009836d1ab9b86a2ab0bb0c436 *res/graphics/signposts/field_board.narc
3a71f8eca65f2524f96c4bb8463800ae19a70a90 *res/prebuilt/graphic/field_encounteffect.narc
e4ad5fcd9010114089a5ded83a077a75860d633a *res/prebuilt/graphic/fld_comact.narc
1122e901209b1047fbbacb1a47311c8bd529a647 *res/prebuilt/graphic/font.narc
@@ -216,11 +216,11 @@ e7266bd8b7095861b6e1fdaf4f13cb648a9c325d *res/prebuilt/graphic/footprint_board.n
e22f0296444ce01e0b7619f73a8cf2016b2307b4 *res/prebuilt/graphic/oekaki.narc
917f25f4e5bb3f5e1837471d2a90225e9e95363d *res/prebuilt/graphic/opening.narc
dd0663e46347230d1d1b9eb8b583cee9acc10f31 *res/prebuilt/graphic/pl_bag_gra.narc
0929061d78710595aa53796ecffe3545f8406d82 *res/prebuilt/graphic/pl_font.narc
0929061d78710595aa53796ecffe3545f8406d82 *res/fonts/pl_font.narc
d397dbd087737151aa8bea242016c626afb55fa5 *res/prebuilt/graphic/pl_plist_gra.narc
883e6afb310f0ab02c26f2026cba1c76210bb3ac *res/prebuilt/graphic/pl_pst_gra.narc
c16faeeeee494830c720d1f795a141cacfe49121 *res/prebuilt/graphic/pl_wifinote.narc
298fd1d0ab31efd35cb00b977f69eacbfb8a8da8 *res/prebuilt/graphic/pl_winframe.narc
298fd1d0ab31efd35cb00b977f69eacbfb8a8da8 *res/graphics/windows/pl_winframe.narc
b9f77b38cc07a6754fc00a7c1830d86c88d45aa6 *res/prebuilt/graphic/plist_gra.narc
e6a7fe0328d168e1b4d92919fe047d2fa12daf56 *res/prebuilt/graphic/pmsi.narc
7c6a50d69659697636849cedebb0143ed0cf146a *res/prebuilt/graphic/poketch.narc

View File

@@ -16,9 +16,9 @@ Static main
Library libcps.a (.version)
Library libssl.a (.version)
Object main.nef.p/src_main.c.o
Object main.nef.p/src_unk_0200112C.c.o
Object main.nef.p/src_list_menu.c.o
Object main.nef.p/src_game_version.c.o
Object main.nef.p/src_unk_02001AF4.c.o
Object main.nef.p/src_menu.c.o
Object main.nef.p/src_charcode_util.c.o
Object main.nef.p/src_render_text.c.o
Object main.nef.p/src_font.c.o
@@ -44,14 +44,14 @@ Static main
Object main.nef.p/src_unk_0200C440.c.o
Object main.nef.p/src_unk_0200C6E4.c.o
Object main.nef.p/src_sys_task.c.o
Object main.nef.p/src_unk_0200DA60.c.o
Object main.nef.p/src_render_window.c.o
Object main.nef.p/src_unk_0200F174.c.o
Object main.nef.p/src_unk_0200F85C.c.o
Object main.nef.p/src_unk_02012480.c.o
Object main.nef.p/src_unk_02012744.c.o
Object main.nef.p/src_unk_020131EC.c.o
Object main.nef.p/src_rtc.c.o
Object main.nef.p/src_unk_02013A04.c.o
Object main.nef.p/src_string_list.c.o
Object main.nef.p/src_screen_scroll_manager.c.o
Object main.nef.p/src_unk_02014000.c.o
Object main.nef.p/src_colored_arrow.c.o
@@ -491,7 +491,7 @@ Overlay overlay5
Object main.nef.p/src_overlay005_ov5_021E135C.c.o
Object main.nef.p/src_overlay005_ov5_021E15F4.c.o
Object main.nef.p/src_overlay005_ov5_021E1B08.c.o
Object main.nef.p/src_overlay005_ov5_021E1D20.c.o
Object main.nef.p/src_overlay005_save_info_window.c.o
Object main.nef.p/src_overlay005_motion_blur.c.o
Object main.nef.p/src_overlay005_field_motion_blur.c.o
Object main.nef.p/src_overlay005_encounter_effect_core.c.o
@@ -1268,10 +1268,10 @@ Overlay overlay73
Object main.nef.p/src_overlay073_ov73_021D3250.c.o
}
Overlay overlay74
Overlay options_menu
{
After main
Object main.nef.p/src_overlay074_ov74_021D0D80.c.o
Object main.nef.p/src_applications_options_menu.c.o
}
Overlay overlay75

View File

@@ -283,14 +283,26 @@ RomSpec
File graphic/box.narc
File graphic/btower.narc
File graphic/bucket.narc
File graphic/config_gra.narc
Root /graphic/
HostRoot res/graphics/options_menu
File config_gra.narc
Root /
HostRoot res/prebuilt
File graphic/demo_trade.narc
File graphic/dendou_demo.narc
File graphic/dendou_pc.narc
File graphic/ending.narc
File graphic/ev_pokeselect.narc
File graphic/f_note_gra.narc
File graphic/field_board.narc
Root /graphic
HostRoot res/graphics/signposts
File field_board.narc
Root /
HostRoot res/prebuilt
File graphic/field_encounteffect.narc
File graphic/fld_comact.narc
File graphic/font.narc
@@ -309,11 +321,23 @@ RomSpec
File graphic/oekaki.narc
File graphic/opening.narc
File graphic/pl_bag_gra.narc
File graphic/pl_font.narc
Root /graphic
HostRoot res/fonts
File pl_font.narc
Root /
HostRoot res/prebuilt
File graphic/pl_plist_gra.narc
File graphic/pl_pst_gra.narc
File graphic/pl_wifinote.narc
File graphic/pl_winframe.narc
Root /graphic
HostRoot res/graphics/windows
File pl_winframe.narc
Root /
HostRoot res/prebuilt
File graphic/plist_gra.narc
File graphic/pmsi.narc
File graphic/poketch.narc

View File

@@ -73,7 +73,7 @@ b80c7e652b63a37f2a30b9c0f14d6e5608185d05 *overlay70.sbin
cf86b18a15a2b011fd0e7c98379a9fa228c3fc4c *overlay71.sbin
39a79a31811cac6b1a90206e67624c0a3179bd46 *overlay72.sbin
deecf01a5608b25883804ef30c9d4c3d0c904ee5 *overlay73.sbin
21e3d2a2fb36d739f4fd16792719bf6fa7b7e6aa *overlay74.sbin
21e3d2a2fb36d739f4fd16792719bf6fa7b7e6aa *options_menu.sbin
88ceed815cb9a2ef6e0d2dcedd2fc126e717c165 *overlay75.sbin
13777fa8b44e026c4eb960cce2309451c4594726 *overlay76.sbin
d7a304050d0049809b21cf75937e4d14aaf858c5 *overlay77.sbin

View File

@@ -0,0 +1,38 @@
{
"maxGlyphWidth": 16,
"maxGlyphHeight": 16,
"glyphWidths": [
7, 10, 10, 10, 10, 9, 10, 9, 10, 10, 10, 11, 11, 9, 11, 9,
11, 10, 11, 9, 11, 10, 11, 9, 10, 11, 11, 10, 11, 10, 11, 11,
11, 10, 11, 10, 10, 11, 10, 11, 9, 11, 10, 9, 10, 10, 10, 10,
11, 11, 10, 11, 11, 10, 11, 11, 11, 11, 11, 10, 11, 11, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 9, 9, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 10, 11, 9,
11, 10, 11, 9, 11, 10, 11, 10, 11, 10, 11, 10, 11, 9, 11, 9,
11, 10, 11, 10, 10, 11, 10, 11, 9, 10, 10, 10, 10, 9, 9, 10,
11, 11, 9, 10, 10, 10, 11, 11, 10, 11, 11, 10, 11, 11, 10, 9,
10, 10, 10, 10, 10, 10, 10, 9, 10, 10, 9, 10, 9, 10, 10, 10,
10, 7, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 8, 7, 7, 7, 7, 7, 7, 6, 7, 7, 3, 6, 7,
4, 7, 7, 7, 7, 7, 6, 7, 6, 7, 7, 7, 7, 6, 7, 0,
6, 10, 5, 6, 9, 5, 8, 7, 7, 8, 8, 6, 6, 8, 8, 8,
8, 8, 8, 8, 8, 5, 5, 5, 5, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 11, 12, 11, 11, 11, 11, 11, 12, 7, 6, 6, 7, 6, 9,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 6, 3, 5, 6, 4,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 10, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 10, 6, 6, 6, 6, 6, 4, 4, 4, 4, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 10, 10,
6, 6, 6, 6, 8, 8, 5, 7, 4, 6, 6, 6, 5, 5, 6, 6,
6, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, 5, 12,
12, 6, 1, 2, 4, 8, 16, 5, 6, 8, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
]
}

BIN
res/fonts/font_message.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 402 B

View File

@@ -0,0 +1,38 @@
{
"maxGlyphWidth": 16,
"maxGlyphHeight": 16,
"glyphWidths": [
7, 11, 13, 12, 12, 10, 11, 10, 13, 12, 13, 13, 14, 12, 14, 10,
14, 13, 14, 13, 13, 12, 14, 12, 12, 13, 14, 13, 14, 13, 13, 13,
13, 13, 13, 11, 12, 13, 12, 13, 12, 13, 13, 13, 13, 13, 13, 13,
14, 13, 13, 13, 13, 13, 14, 13, 13, 13, 13, 13, 14, 14, 12, 13,
13, 13, 13, 11, 13, 11, 13, 10, 12, 12, 12, 13, 13, 13, 13, 13,
13, 10, 12, 10, 13, 11, 13, 11, 12, 10, 13, 13, 14, 13, 13, 12,
14, 13, 14, 11, 13, 13, 14, 13, 14, 13, 13, 13, 14, 13, 14, 12,
14, 13, 14, 11, 13, 14, 13, 14, 11, 12, 13, 13, 12, 13, 11, 13,
14, 13, 12, 13, 12, 12, 13, 13, 13, 13, 13, 13, 14, 13, 13, 12,
13, 13, 13, 11, 13, 11, 12, 10, 11, 13, 12, 13, 11, 12, 12, 12,
12, 11, 8, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 10,
9, 11, 11, 8, 11, 11, 10, 11, 11, 12, 11, 13, 11, 11, 10, 11,
11, 12, 11, 11, 10, 10, 10, 10, 10, 10, 9, 10, 10, 6, 7, 9,
6, 11, 10, 10, 10, 10, 10, 10, 9, 10, 10, 11, 10, 10, 10, 0,
10, 11, 8, 10, 11, 8, 8, 10, 10, 10, 10, 8, 8, 9, 9, 12,
11, 11, 11, 11, 11, 7, 7, 8, 8, 12, 12, 13, 13, 13, 13, 13,
12, 13, 13, 13, 12, 13, 13, 12, 13, 10, 12, 12, 12, 12, 12, 12,
13, 11, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 7, 7, 0, 11,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 7, 7, 4, 6, 7, 5,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 11, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 11, 7, 7, 7, 7, 7, 5, 5, 5, 5, 7, 7,
7, 7, 7, 7, 7, 8, 7, 7, 7, 7, 7, 7, 7, 7, 11, 11,
7, 7, 7, 7, 10, 10, 7, 7, 5, 7, 7, 7, 6, 6, 7, 7,
7, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 6, 7, 7, 7, 7, 7, 7, 5, 7, 14,
14, 7, 1, 2, 4, 8, 16, 5, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

View File

@@ -0,0 +1,38 @@
{
"maxGlyphWidth": 16,
"maxGlyphHeight": 16,
"glyphWidths": [
7, 10, 10, 10, 10, 9, 10, 9, 10, 10, 10, 11, 11, 9, 11, 9,
11, 10, 11, 9, 11, 10, 11, 9, 10, 11, 11, 10, 11, 10, 11, 11,
11, 10, 11, 10, 10, 11, 10, 11, 9, 11, 10, 9, 10, 10, 10, 10,
11, 11, 10, 11, 11, 10, 11, 11, 11, 11, 11, 10, 11, 11, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 9, 9, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 10, 11, 9,
11, 10, 11, 9, 11, 10, 11, 10, 11, 10, 11, 10, 11, 9, 11, 9,
11, 10, 11, 10, 10, 11, 10, 11, 9, 10, 10, 10, 10, 9, 9, 10,
11, 11, 9, 10, 10, 10, 11, 11, 10, 11, 11, 10, 11, 11, 10, 9,
10, 10, 10, 10, 10, 10, 10, 9, 10, 10, 9, 10, 9, 10, 10, 10,
10, 7, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 8, 7, 7, 7, 7, 7, 7, 6, 7, 7, 3, 6, 7,
4, 7, 7, 7, 7, 7, 6, 7, 6, 7, 7, 7, 7, 6, 7, 0,
6, 10, 5, 6, 9, 5, 8, 7, 7, 8, 8, 6, 6, 8, 8, 8,
8, 8, 8, 8, 8, 5, 5, 5, 5, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 11, 12, 11, 11, 11, 11, 11, 12, 7, 6, 6, 7, 6, 9,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 6, 3, 5, 6, 4,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 10, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 10, 6, 6, 6, 6, 6, 4, 4, 4, 4, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 10, 10,
6, 6, 6, 6, 8, 8, 5, 7, 4, 6, 6, 6, 5, 5, 6, 6,
6, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, 5, 12,
12, 6, 1, 2, 4, 8, 16, 5, 6, 8, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
]
}

BIN
res/fonts/font_system.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

38
res/fonts/font_unown.json Normal file
View File

@@ -0,0 +1,38 @@
{
"maxGlyphWidth": 12,
"maxGlyphHeight": 16,
"glyphWidths": [
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 11, 12, 11, 11,
12, 11, 12, 10, 10, 12, 11, 12, 12, 12, 9, 11, 9, 12, 10, 12,
11, 11, 12, 11, 12, 8, 11, 12, 11, 11, 12, 11, 12, 10, 10, 12,
11, 12, 12, 12, 9, 11, 9, 12, 10, 12, 11, 11, 12, 11, 12, 0,
10, 10, 0, 0, 0, 0, 0, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 11, 12, 11, 11, 12,
11, 12, 10, 10, 12, 11, 12, 12, 12, 9, 11, 9, 12, 10, 12, 11,
11, 12, 11, 12, 8, 11, 12, 11, 11, 12, 11, 12, 10, 10, 12, 11,
12, 12, 12, 9, 11, 9, 12, 10, 12, 11, 11, 12, 11, 12, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
]
}

BIN
res/fonts/font_unown.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

113
res/fonts/meson.build Normal file
View File

@@ -0,0 +1,113 @@
fonts = {
'font_system.NFGR': files('font_system.png', 'font_system.json'),
'font_message.NFGR': files('font_message.png', 'font_message.json'),
'font_subscreen.NFGR': files('font_subscreen.png', 'font_subscreen.json'),
'font_unown.NFGR': files('font_unown.png', 'font_unown.json'),
}
nfgr_gen = generator(nitrogfx_exe,
arguments: [ '@INPUT@', '@OUTPUT@', '@EXTRA_ARGS@', ],
output: '@BASENAME@.NFGR',
)
font_nfgrs = []
foreach target, inputs: fonts
font_nfgrs += custom_target(target,
output: target,
input: inputs,
command: [
nitrogfx_exe,
'@INPUT0@',
'@OUTPUT@',
'-metadata', '@INPUT1@',
]
)
endforeach
font_special_chars_png = files('font_special_chars.png')
font_special_chars_ncgr = custom_target('font_special_chars.NCGR',
output: 'font_special_chars.NCGR',
input: font_special_chars_png,
command: [
nitrogfx_exe,
'@INPUT@',
'@OUTPUT@',
'-sopc',
'-version101',
],
)
font_special_chars_ncgr_lz = custom_target('font_special_chars.NCGR.lz',
output: 'font_special_chars.NCGR.lz',
input: font_special_chars_ncgr,
command: [
nitrogfx_exe,
'@INPUT@',
'@OUTPUT@',
],
)
font_nclr = custom_target('font.NCLR',
output: 'font.NCLR',
input: font_special_chars_png,
command: [
nitrogfx_exe,
'@INPUT@',
'@OUTPUT@',
'-bitdepth', '4',
'-nopad',
'-pcmp',
],
)
screen_indicators_png = files('screen_indicators.png')
screen_indicators_ncgr = custom_target('screen_indicators.NCGR',
output: 'screen_indicators.NCGR',
input: screen_indicators_png,
command: [
nitrogfx_exe,
'@INPUT@',
'@OUTPUT@',
'-sopc',
'-version101',
],
)
screen_indicators_nclr = custom_target('screen_indicators.NCLR',
output: 'screen_indicators.NCLR',
input: screen_indicators_png,
command: [
nitrogfx_exe,
'@INPUT@',
'@OUTPUT@',
'-bitdepth', '4',
],
)
current_build_dir = meson.current_build_dir()
pl_font_order = files('pl_font.order')
pl_font_ignore = files('pl_font.ignore')
pl_font_narc = custom_target('pl_font.narc',
output: [
'pl_font.narc',
'pl_font.naix',
],
input: [
font_nfgrs,
font_special_chars_ncgr_lz,
font_nclr,
screen_indicators_ncgr,
screen_indicators_nclr,
pl_font_order,
pl_font_ignore,
],
command: [
knarc_exe,
'-d', current_build_dir,
'-p', '@OUTPUT0@',
'--order', pl_font_order,
'--ignore', pl_font_ignore,
'--naix',
],
)
nitrofs_files += pl_font_narc[0]
naix_headers += pl_font_narc[1]

3
res/fonts/pl_font.ignore Normal file
View File

@@ -0,0 +1,3 @@
font_special_chars.NCGR
*.narc
*.naix

8
res/fonts/pl_font.order Normal file
View File

@@ -0,0 +1,8 @@
font_system.NFGR
font_message.NFGR
font_subscreen.NFGR
font_unown.NFGR
font_special_chars.NCGR.lz
screen_indicators.NCGR
font.NCLR
screen_indicators.NCLR

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 B

3
res/graphics/meson.build Normal file
View File

@@ -0,0 +1,3 @@
subdir('options_menu')
subdir('signposts')
subdir('windows')

View File

@@ -0,0 +1,3 @@
tiles.NCLR
tiles.NCGR
tilemap.bin

View File

@@ -0,0 +1,32 @@
tiles_png = files('tiles.png')
tiles_ncgr = ncgr_gen.process(tiles_png,
extra_args: [ '-sopc', '-version101', ],
)
tiles_nclr = nclr_gen.process(tiles_png,
extra_args: [ '-bitdepth', '4', '-pcmp', '-nopad', '-invertsize', ],
)
tilemap_nscr = copy_gen.process(files('tilemap.bin'))
config_gra_order = files('config_gra.order')
config_gra_narc = custom_target('config_gra.narc',
output: [
'config_gra.narc',
'config_gra.naix',
],
input: [
tiles_ncgr,
tiles_nclr,
tilemap_nscr,
config_gra_order,
],
command: [
knarc_exe,
'-d', '@PRIVATE_DIR@',
'-p', '@OUTPUT0@',
'--order', config_gra_order,
'--naix',
]
)
nitrofs_files += config_gra_narc[0]
naix_headers += config_gra_narc[1]

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 191 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 B

Some files were not shown because too many files have changed in this diff Show More