document underground player conversations (#820)

This commit is contained in:
scbroede 2025-11-26 18:33:12 -05:00 committed by GitHub
parent 241d2e915d
commit bce4d00ee2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
29 changed files with 1884 additions and 1815 deletions

View File

@ -0,0 +1,12 @@
#ifndef POKEPLATINUM_CONSTANTS_FIELD_BASE_TILES_H
#define POKEPLATINUM_CONSTANTS_FIELD_BASE_TILES_H
#include "render_window.h"
#define BASE_TILE_SCROLLING_MESSAGE_BOX (1024 - SCROLLING_MESSAGE_BOX_TILE_COUNT)
#define BASE_TILE_STANDARD_WINDOW_FRAME (BASE_TILE_SCROLLING_MESSAGE_BOX - STANDARD_WINDOW_TILE_COUNT)
#define BASE_TILE_MAP_TRANSITION_DROPDOWN (BASE_TILE_STANDARD_WINDOW_FRAME - MAP_TRANSITION_DROPDOWN_TILE_COUNT)
#define BASE_TILE_SIGNPOST (BASE_TILE_MAP_TRANSITION_DROPDOWN - (SIGNPOST_FRAME_TILE_COUNT + SCROLLING_CURSOR_TILE_COUNT + SIGNPOST_CONTENT_SIZE_TILES))
#define BASE_TILE_MESSAGE_WINDOW (BASE_TILE_SIGNPOST - MESSAGE_WINDOW_TILE_COUNT)
#endif // POKEPLATINUM_CONSTANTS_FIELD_BASE_TILES_H

View File

@ -1,6 +0,0 @@
#ifndef POKEPLATINUM_FUNCPTR_OV23_0224DCB8_H
#define POKEPLATINUM_FUNCPTR_OV23_0224DCB8_H
typedef void (*UnkFuncPtr_ov23_0224DCB8)(int);
#endif // POKEPLATINUM_FUNCPTR_OV23_0224DCB8_H

View File

@ -1,6 +0,0 @@
#ifndef POKEPLATINUM_FUNCPTR_OV23_0224F758_H
#define POKEPLATINUM_FUNCPTR_OV23_0224F758_H
typedef void (*UnkFuncPtr_ov23_0224F758)(int);
#endif // POKEPLATINUM_FUNCPTR_OV23_0224F758_H

View File

@ -1,22 +0,0 @@
#ifndef POKEPLATINUM_OV23_0224DC40_H
#define POKEPLATINUM_OV23_0224DC40_H
#include "field/field_system_decl.h"
#include "overlay023/funcptr_ov23_0224DCB8.h"
void ov23_0224DCB8(int param0, UnkFuncPtr_ov23_0224DCB8 param1, FieldSystem *fieldSystem);
void ov23_0224F07C(int param0, int param1, FieldSystem *fieldSystem);
void ov23_0224F0F0(int param0, int param1, void *param2, void *param3);
void ov23_0224F0FC(int param0, int param1, void *param2, void *param3);
void ov23_0224F108(int param0, int param1, void *param2, void *param3);
void ov23_0224F138(int param0, int param1, void *param2, void *param3);
int ov23_0224F174(void);
void ov23_0224F178(int param0, int param1, void *param2, void *param3);
void ov23_0224F184(int param0, int param1, void *param2, void *param3);
int ov23_0224F1F8(void);
void ov23_0224F1FC(int param0, int param1, void *param2, void *param3);
void ov23_0224F208(int param0, int param1, void *param2, void *param3);
int ov23_0224F248(void);
void ov23_0224F24C(void);
#endif // POKEPLATINUM_OV23_0224DC40_H

View File

@ -16,13 +16,13 @@ void ov23_022535CC(void);
void ov23_022535EC(void);
void ov23_02253604(void);
int ov23_02253608(void);
void ov23_02253834(BgConfig *param0, TrainerInfo *param1, UnkFuncPtr_ov23_02253834 param2, void *param3, BOOL param4);
void ov23_022538FC(int param0);
void ov23_ShowTrainerRecord(BgConfig *param0, TrainerInfo *param1, UnkFuncPtr_ov23_02253834 exitCallback, void *exitCallbackArg, BOOL isCurrentTrainer);
void ov23_SendRecord(int targetNetID);
void ov23_02253968(void);
void ov23_02253998(int param0, int param1, void *param2, void *param3);
void ov23_022539A8(int param0, int param1, void *param2, void *param3);
BOOL ov23_022539D8(void);
void ov23_022539E8(void);
void ov23_SendRecordServer(int unused0, int size, void *data, void *unused3);
void ov23_ReceiveRecord(int unused0, int size, void *data, void *unused3);
BOOL ov23_IsLinkRecordReceived(void);
void ov23_ClearLinkRecordReceived(void);
void ov23_02253A00(UndergroundRecord *param0, int param1);
void *ov23_02253C64(BgConfig *param0, TrainerInfo *param1, Underground *underground, UnkFuncPtr_ov23_02253834 param3, void *param4);
void ov23_02253D10(void *param0);

View File

@ -5,7 +5,6 @@
#include "field/field_system_decl.h"
#include "overlay005/sprite_resource_manager.h"
#include "overlay023/funcptr_ov23_0224F758.h"
#include "overlay023/underground_item_list_menu.h"
#include "bg_window.h"
@ -29,9 +28,10 @@ enum UndergroundStartMenuOptions {
UNDERGROUND_START_MENU_OPTION_COUNT,
};
typedef int (*ItemCountGetter)(void *);
typedef int (*ItemGetter)(int, void *);
typedef int (*SphereSizeGetter)(int, void *);
typedef void (*ExitCallback)(int selectedID);
typedef int (*GetItemCountFunc)(void *menu);
typedef int (*GetItemFunc)(int slot, void *menu);
typedef int (*GetSphereSizeFunc)(int slot, void *menu);
typedef struct UndergroundMenu {
void *openMenuFn;
@ -57,10 +57,10 @@ typedef struct UndergroundMenu {
SpriteResourceManager spriteManager;
ManagedSprite *sprites[UNDERGROUND_START_MENU_OPTION_COUNT + 1];
u32 spriteCount;
UnkFuncPtr_ov23_0224F758 unk_260;
ItemCountGetter itemCountGetter;
ItemGetter itemGetter;
SphereSizeGetter sphereSizeGetter;
ExitCallback exitCallback;
GetItemCountFunc getItemCount;
GetItemFunc getItem;
GetSphereSizeFunc getSphereSize;
void *unk_270;
u8 unk_274[5];
u8 unk_279[5];
@ -87,37 +87,37 @@ typedef struct UndergroundMenu {
void UndergroundMenuContext_Init(Underground *underground);
void UndergroundMenuContext_Free(void);
int UndergroundMenu_GetGoodAtSlotPC(int slot, void *param1);
int UndergroundMenu_GetGoodAtSlotBag(int slot, void *param1);
int UndergroundMenu_GetGoodAtSlotPC(int slot, void *menu);
int UndergroundMenu_GetGoodAtSlotBag(int slot, void *menu);
void UndergroundMenu_RemoveSelectedGoodBag(int goodID);
int UndergroundMenu_GetTrapAtSlot(int slot, void *param1);
int UndergroundMenu_GetSphereTypeAtSlot(int slot, void *param1);
int UndergroundMenu_GetSphereSizeAtSlot(int slot, void *param1);
int UndergroundMenu_GetTreasureAtSlot(int slot, void *param1);
int UndergroundMenu_GetTrapAtSlot(int slot, void *menu);
int UndergroundMenu_GetSphereTypeAtSlot(int slot, void *menu);
int UndergroundMenu_GetSphereSizeAtSlot(int slot, void *menu);
int UndergroundMenu_GetTreasureAtSlot(int slot, void *menu);
BOOL UndergroundInventory_TryAddSphere(int sphereType, int sphereSize);
BOOL UndergroundInventory_TryAddTreasure(int treasureID);
BOOL UndergroundInventory_TryAddTrap(int trapID);
BOOL UndergroundInventory_TryAddGoodBag(int goodID);
void UndergroundMenu_Start(UnkFuncPtr_ov23_0224F758 param0, FieldSystem *fieldSystem);
void UndergroundMenu_EraseCurrentMenu(UndergroundMenu *param0);
void UndergroundMenu_Start(ExitCallback exitCallback, FieldSystem *fieldSystem);
void UndergroundMenu_EraseCurrentMenu(UndergroundMenu *menu);
void UndergroundMenu_RemoveSelectedTrap(int trapID);
void UndergroundMenu_PrintTrapDescription(ListMenu *listMenu, u32 index, u8 onInit);
void ov23_0224FDBC(UndergroundMenu *param0);
void UndergroundMenu_OpenTrapsMenu(UndergroundMenu *param0);
void ov23_0224FDBC(UndergroundMenu *menu);
void UndergroundMenu_OpenTrapsMenu(UndergroundMenu *menu);
void UndergroundMenu_RemoveSelectedSphere(int sphereType);
void ov23_02250184(UndergroundMenu *param0);
void ov23_02250184(UndergroundMenu *menu);
void UndergroundMenu_PrintTreasureDescription(ListMenu *listMenu, u32 index, u8 onInit);
void ov23_02250578(UndergroundMenu *param0);
void UndergroundMenu_OpenTreasuresMenu(UndergroundMenu *param0);
void UndergroundMenu_StartHoldingFlag(UnkFuncPtr_ov23_0224F758 param0, FieldSystem *fieldSystem);
void ov23_02250578(UndergroundMenu *menu);
void UndergroundMenu_OpenTreasuresMenu(UndergroundMenu *menu);
void UndergroundMenu_StartHoldingFlag(ExitCallback exitCallback, FieldSystem *fieldSystem);
void UndergroundMenu_PrintGoodDescription(ListMenu *listMenu, u32 index, u8 onInit);
void ov23_02250CB0(UndergroundMenu *param0);
void UndergroundMenu_OpenGoodsMenu(UndergroundMenu *param0);
void ov23_02250D2C(UndergroundMenu *param0);
void ov23_02250D5C(UndergroundMenu *param0);
void ov23_02251044(void *param0, u32 param1);
void *ov23_022511B0(UnkFuncPtr_ov23_0224F758 param0, FieldSystem *fieldSystem);
void UndergroundMenu_MoveListCursorPosInBounds(UndergroundMenu *param0, int param1, int param2);
void ov23_02250CB0(UndergroundMenu *menu);
void UndergroundMenu_OpenGoodsMenu(UndergroundMenu *menu);
void ov23_02250D2C(UndergroundMenu *menu);
void ov23_02250D5C(UndergroundMenu *menu);
void UndergroundMenu_ExitGiftMenu(void *data, u32 input);
void *UndergroundMenu_StartGiftMenu(ExitCallback exitCallback, FieldSystem *fieldSystem);
void UndergroundMenu_MoveListCursorPosInBounds(UndergroundMenu *menu, int maxDisplay, int count);
void ov23_02251270(SysTask *sysTask, void *param1);
#endif // POKEPLATINUM_OV23_0224F294_H

View File

@ -0,0 +1,23 @@
#ifndef POKEPLATINUM_UNDERGROUND_PLAYER_TALK_H
#define POKEPLATINUM_UNDERGROUND_PLAYER_TALK_H
#include "field/field_system_decl.h"
typedef void (*ExitCallback)(int);
void UndergroundTalk_Start(int linkNetID, ExitCallback exitCallback, FieldSystem *fieldSystem);
void UndergroundTalkResponse_Start(int unused, int linkNetID, FieldSystem *fieldSystem);
void UndergroundTalk_RequestLinkTalkStateUpdateServer(int unused0, int unused1, void *data, void *unused3);
void UndergroundTalkResponse_RequestLinkTalkStateUpdateServer(int unused0, int unused1, void *data, void *unused3);
void UndergroundTalkResponse_HandleLinkTalkStateUpdateServer(int unused0, int size, void *data, void *unused3);
void UndergroundTalk_HandleLinkTalkStateUpdateServer(int unused0, int size, void *data, void *unused3);
int CommPacketSizeOf_TalkStateChangeRequest(void);
void UndergroundTalk_SendGiftServer(int unused0, int unused1, void *data, void *unused3);
void UndergroundTalkResponse_ReceiveGiftOffer(int unused0, int unused1, void *data, void *unused3);
int CommPacketSizeOf_Gift(void);
void UndergroundTalk_SendTalkMessageServer(int unused0, int unused1, void *data, void *unused3);
void UndergroundTalk_ReceiveTalkMessage(int unused0, int unused1, void *data, void *unused3);
int CommPacketSizeOf_TalkMessage(void);
void UndergroundTalk_ExitConversation(void);
#endif // POKEPLATINUM_UNDERGROUND_PLAYER_TALK_H

View File

@ -12,12 +12,17 @@
#define STANDARD_WINDOW_TILE_H 3
#define STANDARD_WINDOW_TILE_COUNT (STANDARD_WINDOW_TILE_W * STANDARD_WINDOW_TILE_H)
// These are for the typical dialogue window used by, for example, NPC conversations. The frame
// style for this window is customizable by the player, but its size is still constant.
// These are for the typical dialogue window frame used by, for example, NPC conversations.
// The frame style for this window is customizable by the player, but its size is still constant.
#define MESSAGE_BOX_TILE_W 6
#define MESSAGE_BOX_TILE_H 3
#define MESSAGE_BOX_TILE_COUNT (MESSAGE_BOX_TILE_W * MESSAGE_BOX_TILE_H)
// These are the blank tiles in the dialogue window where messages get printed.
#define MESSAGE_WINDOW_TILE_W 27
#define MESSAGE_WINDOW_TILE_H 4
#define MESSAGE_WINDOW_TILE_COUNT (MESSAGE_WINDOW_TILE_W * MESSAGE_WINDOW_TILE_H)
// This is for the down arrow used as a prompt for dialogue that must wrap its text across viewports
// or information dialogues which otherwise wait for player confirmation before the text disappears.
#define SCROLLING_CURSOR_FRAME_TILE_W 2
@ -27,6 +32,17 @@
#define SCROLLING_CURSOR_TILE_COUNT (SCROLLING_CURSOR_FRAME_TILE_COUNT * SCROLLING_CURSOR_FRAME_COUNT)
#define SCROLLING_MESSAGE_BOX_TILE_COUNT (MESSAGE_BOX_TILE_COUNT + SCROLLING_CURSOR_TILE_COUNT)
#define MAP_TRANSITION_DROPDOWN_TILE_W 32
#define MAP_TRANSITION_DROPDOWN_TILE_H 8
#define MAP_TRANSITION_DROPDOWN_TILE_COUNT (MAP_TRANSITION_DROPDOWN_TILE_W * MAP_TRANSITION_DROPDOWN_TILE_H)
#define SIGNPOST_CONTENT_WIDTH_TILES 6
#define SIGNPOST_CONTENT_HEIGHT_TILES 4
#define SIGNPOST_CONTENT_SIZE_TILES (SIGNPOST_CONTENT_WIDTH_TILES * SIGNPOST_CONTENT_HEIGHT_TILES)
#define SIGNPOST_FRAME_TILE_W 6
#define SIGNPOST_FRAME_TILE_H 3
#define SIGNPOST_FRAME_TILE_COUNT (SIGNPOST_FRAME_TILE_W * SIGNPOST_FRAME_TILE_H)
typedef struct WaitDial WaitDial;
enum StandardWindowType {

View File

@ -12,7 +12,7 @@ typedef struct UndergroundRecord {
u32 numTrapHits : 20;
u32 numTrapsTriggered : 20;
u32 numPlayersHelped : 20;
u32 unk_28_0 : 20;
u32 numGiftsReceived : 20;
u32 unk_2C_0 : 20;
u32 unk_30_0 : 20;
u32 unk_34_0 : 20;

View File

@ -125,8 +125,8 @@ int UndergroundRecord_GetNumTrapsTriggered(const UndergroundRecord *undergroundR
void UndergroundRecord_IncrementNumTrapsTriggered(UndergroundRecord *undergroundRecord);
int UndergroundRecord_GetNumPlayersHelped(const UndergroundRecord *undergroundRecord);
void UndergroundRecord_IncrementNumPlayersHelped(UndergroundRecord *undergroundRecord);
int sub_02029774(const UndergroundRecord *param0);
void sub_0202977C(UndergroundRecord *param0);
int UndergroundRecord_GetGiftsReceived(const UndergroundRecord *undergroundRecord);
void UndergroundRecord_IncrementGiftsReceived(UndergroundRecord *undergroundRecord);
int sub_020297AC(const UndergroundRecord *param0);
void sub_020297B4(UndergroundRecord *param0);
int sub_020297E4(const UndergroundRecord *param0);

View File

@ -849,7 +849,7 @@ Overlay overlay23
Object main.nef.p/src_overlay023_ov23_022499E4.c.o
Object main.nef.p/src_overlay023_ov23_0224A1D0.c.o
Object main.nef.p/src_overlay023_ov23_0224B05C.c.o
Object main.nef.p/src_overlay023_ov23_0224DC40.c.o
Object main.nef.p/src_overlay023_underground_player_talk.c.o
Object main.nef.p/src_overlay023_underground_menu.c.o
Object main.nef.p/src_overlay023_ov23_0225128C.c.o
Object main.nef.p/src_overlay023_ov23_022521F0.c.o

View File

@ -2,199 +2,199 @@
"key": 29622,
"messages": [
{
"id": "pl_msg_00000632_00000",
"id": "UndergroundAnswers_Text_Red",
"en_US": "Red"
},
{
"id": "pl_msg_00000632_00001",
"id": "UndergroundAnswers_Text_Blue",
"en_US": "Blue"
},
{
"id": "pl_msg_00000632_00002",
"id": "UndergroundAnswers_Text_Yellow",
"en_US": "Yellow"
},
{
"id": "pl_msg_00000632_00003",
"id": "UndergroundAnswers_Text_Green",
"en_US": "Green"
},
{
"id": "pl_msg_00000632_00004",
"id": "UndergroundAnswers_Text_Baseball",
"en_US": "Baseball"
},
{
"id": "pl_msg_00000632_00005",
"id": "UndergroundAnswers_Text_Soccer",
"en_US": "Soccer"
},
{
"id": "pl_msg_00000632_00006",
"id": "UndergroundAnswers_Text_Swimming",
"en_US": "Swimming"
},
{
"id": "pl_msg_00000632_00007",
"id": "UndergroundAnswers_Text_Marathon",
"en_US": "Marathon"
},
{
"id": "pl_msg_00000632_00008",
"id": "UndergroundAnswers_Text_TheSea",
"en_US": "The sea"
},
{
"id": "pl_msg_00000632_00009",
"id": "UndergroundAnswers_Text_Mountains",
"en_US": "Mountains"
},
{
"id": "pl_msg_00000632_00010",
"id": "UndergroundAnswers_Text_Fields",
"en_US": "Fields"
},
{
"id": "pl_msg_00000632_00011",
"id": "UndergroundAnswers_Text_Towns",
"en_US": "Towns"
},
{
"id": "pl_msg_00000632_00012",
"id": "UndergroundAnswers_Text_Language_FavoriteClass",
"en_US": "Language"
},
{
"id": "pl_msg_00000632_00013",
"id": "UndergroundAnswers_Text_Math_FavoriteClass",
"en_US": "Math"
},
{
"id": "pl_msg_00000632_00014",
"id": "UndergroundAnswers_Text_Science_FavoriteClass",
"en_US": "Science"
},
{
"id": "pl_msg_00000632_00015",
"id": "UndergroundAnswers_Text_SocialStudies_FavoriteClass",
"en_US": "Social Studies"
},
{
"id": "pl_msg_00000632_00016",
"id": "UndergroundAnswers_Text_Language_LeastFavoriteClass",
"en_US": "Language"
},
{
"id": "pl_msg_00000632_00017",
"id": "UndergroundAnswers_Text_Math_LeastFavoriteClass",
"en_US": "Math"
},
{
"id": "pl_msg_00000632_00018",
"id": "UndergroundAnswers_Text_Science_LeastFavoriteClass",
"en_US": "Science"
},
{
"id": "pl_msg_00000632_00019",
"id": "UndergroundAnswers_Text_SocialStudies_LeastFavoriteClass",
"en_US": "Social Studies"
},
{
"id": "pl_msg_00000632_00020",
"id": "UndergroundAnswers_Text_PokemonCollecting",
"en_US": "Pokémon collecting"
},
{
"id": "pl_msg_00000632_00021",
"id": "UndergroundAnswers_Text_PokemonBattles",
"en_US": "Pokémon battles"
},
{
"id": "pl_msg_00000632_00022",
"id": "UndergroundAnswers_Text_Contests",
"en_US": "Contests"
},
{
"id": "pl_msg_00000632_00023",
"id": "UndergroundAnswers_Text_GoingUnderground",
"en_US": "Going underground"
},
{
"id": "pl_msg_00000632_00024",
"id": "UndergroundAnswers_Text_KindPeople",
"en_US": "Kind people"
},
{
"id": "pl_msg_00000632_00025",
"id": "UndergroundAnswers_Text_StrongPeople",
"en_US": "Strong people"
},
{
"id": "pl_msg_00000632_00026",
"id": "UndergroundAnswers_Text_FunnyPeople",
"en_US": "Funny people"
},
{
"id": "pl_msg_00000632_00027",
"id": "UndergroundAnswers_Text_SmartPeople",
"en_US": "Smart people"
},
{
"id": "pl_msg_00000632_00028",
"id": "UndergroundAnswers_Text_Clothes",
"en_US": "Clothes"
},
{
"id": "pl_msg_00000632_00029",
"id": "UndergroundAnswers_Text_Books",
"en_US": "Books"
},
{
"id": "pl_msg_00000632_00030",
"id": "UndergroundAnswers_Text_Food",
"en_US": "Food"
},
{
"id": "pl_msg_00000632_00031",
"id": "UndergroundAnswers_Text_Games",
"en_US": "Games"
},
{
"id": "pl_msg_00000632_00032",
"id": "UndergroundAnswers_Text_GetHappy",
"en_US": "Get happy"
},
{
"id": "pl_msg_00000632_00033",
"id": "UndergroundAnswers_Text_GetRich",
"en_US": "Get rich"
},
{
"id": "pl_msg_00000632_00034",
"id": "UndergroundAnswers_Text_GetFamous",
"en_US": "Get famous"
},
{
"id": "pl_msg_00000632_00035",
"id": "UndergroundAnswers_Text_BecomeNo1",
"en_US": "Become no. 1"
},
{
"id": "pl_msg_00000632_00036",
"id": "UndergroundAnswers_Text_SweetFood",
"en_US": "Sweet food"
},
{
"id": "pl_msg_00000632_00037",
"id": "UndergroundAnswers_Text_SpicyFood",
"en_US": "Spicy food"
},
{
"id": "pl_msg_00000632_00038",
"id": "UndergroundAnswers_Text_SaltyFood",
"en_US": "Salty food"
},
{
"id": "pl_msg_00000632_00039",
"id": "UndergroundAnswers_Text_SourFood",
"en_US": "Sour food"
},
{
"id": "pl_msg_00000632_00040",
"id": "UndergroundAnswers_Text_CutePokemon",
"en_US": "Cute Pokémon"
},
{
"id": "pl_msg_00000632_00041",
"id": "UndergroundAnswers_Text_StrongPokemon",
"en_US": "Strong Pokémon"
},
{
"id": "pl_msg_00000632_00042",
"id": "UndergroundAnswers_Text_CoolPokemon",
"en_US": "Cool Pokémon"
},
{
"id": "pl_msg_00000632_00043",
"id": "UndergroundAnswers_Text_WeakPokemon",
"en_US": "Weak Pokémon"
},
{
"id": "pl_msg_00000632_00044",
"id": "UndergroundAnswers_Text_PlayOutside",
"en_US": "Play outside"
},
{
"id": "pl_msg_00000632_00045",
"id": "UndergroundAnswers_Text_GoShopping",
"en_US": "Go shopping"
},
{
"id": "pl_msg_00000632_00046",
"id": "UndergroundAnswers_Text_Study",
"en_US": "Study"
},
{
"id": "pl_msg_00000632_00047",
"id": "UndergroundAnswers_Text_Sleep",
"en_US": "Sleep"
},
{
"id": "pl_msg_00000632_00048",
"id": "UndergroundAnswers_Text_DontKnow",
"en_US": "Dont know"
}
]

View File

@ -2,7 +2,7 @@
"key": 37978,
"messages": [
{
"id": "pl_msg_00000634_00000",
"id": "UndergroundCommon_Text_HeyThere",
"en_US": [
"Hey, there!\n",
"Whats up?"
@ -20,23 +20,23 @@
]
},
{
"id": "pl_msg_00000634_00003",
"id": "UndergroundCommon_Text_Greet",
"en_US": "GREET"
},
{
"id": "pl_msg_00000634_00004",
"id": "UndergroundCommon_Text_Question",
"en_US": "QUESTION"
},
{
"id": "pl_msg_00000634_00005",
"id": "UndergroundCommon_Text_GiveGoods",
"en_US": "GIVE GOODS"
},
{
"id": "pl_msg_00000634_00006",
"id": "UndergroundCommon_Text_Exit",
"en_US": "EXIT"
},
{
"id": "pl_msg_00000634_00007",
"id": "UndergroundCommon_Text_IllShowTrainerCaseAsWell",
"en_US": [
"Youre going to show me your Trainer\n",
"Case?\r",
@ -45,7 +45,7 @@
]
},
{
"id": "pl_msg_00000634_00008",
"id": "UndergroundCommon_Text_CantFindMyTrainerCase",
"en_US": [
"Huh? I cant seem to find my Trainer\n",
"Case.\r",
@ -54,32 +54,32 @@
]
},
{
"id": "pl_msg_00000634_00009",
"id": "UndergroundCommon_Text_DontBeAStranger",
"en_US": [
"Thank you!\n",
"Please dont be a stranger!\r"
]
},
{
"id": "pl_msg_00000634_00010",
"id": "UndergroundCommon_Text_DoSomethingElsePrompt",
"en_US": "Would you like to do something else?"
},
{
"id": "pl_msg_00000634_00011",
"id": "UndergroundCommon_Text_NextTimeWillBeFine",
"en_US": [
"Oh, thats OK.\n",
"Next time will be fine."
]
},
{
"id": "pl_msg_00000634_00012",
"id": "UndergroundCommon_Text_YouWantToGiveMeGiftPrompt",
"en_US": [
"Huh? You want to give me your\n",
"{STRVAR_1 25, 2, 0}?"
]
},
{
"id": "pl_msg_00000634_00013",
"id": "UndergroundCommon_Text_ICantTakeThatFromYou",
"en_US": [
"Thanks, but no.\n",
"I cant take that from you.\r",
@ -87,7 +87,7 @@
]
},
{
"id": "pl_msg_00000634_00014",
"id": "UndergroundCommon_Text_GiftWasGiven",
"en_US": [
"Thank you!\r",
"Your {STRVAR_1 25, 2, 0}\n",
@ -95,7 +95,7 @@
]
},
{
"id": "pl_msg_00000634_00015",
"id": "UndergroundCommon_Text_OkSeeYou",
"en_US": "OK, see you!"
},
{
@ -143,7 +143,7 @@
]
},
{
"id": "pl_msg_00000634_00022",
"id": "UndergroundCommon_Text_Hello",
"en_US": "Hello!"
},
{
@ -151,7 +151,7 @@
"garbage": 16
},
{
"id": "pl_msg_00000634_00024",
"id": "UndergroundCommon_Text_ExchangeTrainerCasePrompt",
"en_US": [
"Ill let you see my Trainer Case.\r",
"May I see your Trainer Case?"
@ -165,18 +165,18 @@
]
},
{
"id": "pl_msg_00000634_00026",
"id": "UndergroundCommon_Text_GladToHaveMetYou",
"en_US": [
"Glad to have met you,\n",
"{STRVAR_1 3, 0, 0}!"
]
},
{
"id": "pl_msg_00000634_00027",
"id": "UndergroundCommon_Text_So",
"en_US": "So..."
},
{
"id": "pl_msg_00000634_00028",
"id": "UndergroundCommon_Text_YouCanHaveThisGift",
"en_US": [
"Oh, right! You can have this\n",
"{STRVAR_1 25, 2, 0}!\r",
@ -184,14 +184,14 @@
]
},
{
"id": "pl_msg_00000634_00029",
"id": "UndergroundCommon_Text_DoYouHaveOneAlready",
"en_US": [
"Oh?\n",
"Do you have one already?"
]
},
{
"id": "pl_msg_00000634_00030",
"id": "UndergroundCommon_Text_LinkDoesntHaveRoom",
"en_US": [
"Oh? You dont have room for it in\n",
"your Bag.\r",
@ -199,7 +199,7 @@
]
},
{
"id": "pl_msg_00000634_00031",
"id": "UndergroundCommon_Text_YouReceivedGift",
"en_US": [
"OK, here you go!\n",
"Take care of it!\r",
@ -522,14 +522,14 @@
]
},
{
"id": "pl_msg_00000634_00086",
"id": "UndergroundCommon_Text_CantAcceptImportant",
"en_US": [
"I cant accept anything that\n",
"important!"
]
},
{
"id": "pl_msg_00000634_00087",
"id": "UndergroundCommon_Text_IllPass",
"en_US": [
"Thanks for the offer, but Ill pass.\n",
"See you again tomorrow."
@ -774,35 +774,35 @@
"en_US": "PUT IN BAG"
},
{
"id": "pl_msg_00000634_00136",
"id": "UndergroundCommon_Text_YouWantedToAskSomething_Male",
"en_US": [
"Whats that?\n",
"You wanted to ask me something?"
]
},
{
"id": "pl_msg_00000634_00137",
"id": "UndergroundCommon_Text_LetMeThink_Male",
"en_US": [
"{STRVAR_1 29, 5, 0}?\n",
"Let me see..."
]
},
{
"id": "pl_msg_00000634_00138",
"id": "UndergroundCommon_Text_IHaveAnswerWhatsYours_Male",
"en_US": [
"Yeah, I guess I have an answer.\r",
"What would your answer be?"
]
},
{
"id": "pl_msg_00000634_00139",
"id": "UndergroundCommon_Text_ICantDecide_Male",
"en_US": [
"Hmm...\n",
"I cant really decide.\r"
]
},
{
"id": "pl_msg_00000634_00140",
"id": "UndergroundCommon_Text_ResponseAnswer_Male",
"en_US": [
"Oh, really?\n",
"{STRVAR_1 30, 5, 0}?\r",
@ -811,7 +811,7 @@
]
},
{
"id": "pl_msg_00000634_00141",
"id": "UndergroundCommon_Text_ResponseSameAnswer_Male",
"en_US": [
"Oh, really?\n",
"{STRVAR_1 30, 5, 0}?\r",
@ -822,32 +822,32 @@
]
},
{
"id": "pl_msg_00000634_00142",
"id": "UndergroundCommon_Text_ISee_Male",
"en_US": "I see..."
},
{
"id": "pl_msg_00000634_00143",
"id": "UndergroundCommon_Text_MayIAskQuestion_Male",
"en_US": [
"Hi, may I ask you a question?\r",
"Lets see...\r"
]
},
{
"id": "pl_msg_00000634_00144",
"id": "UndergroundCommon_Text_WhatsYourChoice_Male",
"en_US": [
"Hows this? {STRVAR_1 29, 5, 0}!\n",
"Whats your choice?"
]
},
{
"id": "pl_msg_00000634_00145",
"id": "UndergroundCommon_Text_YouDontHaveToAnswer_Male",
"en_US": [
"Oh, dont worry! You dont have to\n",
"answer if you dont want to.\r"
]
},
{
"id": "pl_msg_00000634_00146",
"id": "UndergroundCommon_Text_YouveDecidedLetMeThink_Male",
"en_US": [
"Youve decided?\r",
"Well, let me see...\n",
@ -855,7 +855,7 @@
]
},
{
"id": "pl_msg_00000634_00147",
"id": "UndergroundCommon_Text_Answer_Male",
"en_US": [
"{STRVAR_1 30, 5, 0} would be\n",
"my answer, I guess.\r",
@ -865,7 +865,7 @@
]
},
{
"id": "pl_msg_00000634_00148",
"id": "UndergroundCommon_Text_SameAnswer_Male",
"en_US": [
"{STRVAR_1 30, 5, 0} would be\n",
"my answer, I guess.\r",
@ -877,11 +877,11 @@
]
},
{
"id": "pl_msg_00000634_00149",
"id": "UndergroundCommon_Text_ISee2_Male",
"en_US": "I see..."
},
{
"id": "pl_msg_00000634_00150",
"id": "UndergroundCommon_Text_ThanksForAnswering_Male",
"en_US": [
"Thanks for answering!\r",
"I hope to see you around!\r"
@ -904,21 +904,21 @@
"garbage": 24
},
{
"id": "pl_msg_00000634_00155",
"id": "UndergroundCommon_Text_YouWantedToAskSomething_Female",
"en_US": [
"Pardon me?\n",
"You wanted to ask me something?"
]
},
{
"id": "pl_msg_00000634_00156",
"id": "UndergroundCommon_Text_LetMeThink_Female",
"en_US": [
"{STRVAR_1 29, 5, 0}?\n",
"Well, let me think..."
]
},
{
"id": "pl_msg_00000634_00157",
"id": "UndergroundCommon_Text_IHaveAnswerWhatsYours_Female",
"en_US": [
"Yes, Ive decided!\r",
"If it were you, what would you\n",
@ -926,14 +926,14 @@
]
},
{
"id": "pl_msg_00000634_00158",
"id": "UndergroundCommon_Text_ICantDecide_Female",
"en_US": [
"I dont know...\n",
"I cant really decide.\r"
]
},
{
"id": "pl_msg_00000634_00159",
"id": "UndergroundCommon_Text_ResponseAnswer_Female",
"en_US": [
"Is that right?\n",
"{STRVAR_1 30, 5, 0}?\r",
@ -942,7 +942,7 @@
]
},
{
"id": "pl_msg_00000634_00160",
"id": "UndergroundCommon_Text_ResponseSameAnswer_Female",
"en_US": [
"Is that right?\n",
"{STRVAR_1 30, 5, 0}?\r",
@ -953,32 +953,32 @@
]
},
{
"id": "pl_msg_00000634_00161",
"id": "UndergroundCommon_Text_ISee_Female",
"en_US": "I see..."
},
{
"id": "pl_msg_00000634_00162",
"id": "UndergroundCommon_Text_MayIAskQuestion_Female",
"en_US": [
"Hi, may I ask you a question?\r",
"Lets see...\r"
]
},
{
"id": "pl_msg_00000634_00163",
"id": "UndergroundCommon_Text_WhatsYourChoice_Female",
"en_US": [
"Hows this? {STRVAR_1 29, 5, 0}!\n",
"Whats your choice out of these?"
]
},
{
"id": "pl_msg_00000634_00164",
"id": "UndergroundCommon_Text_YouDontHaveToAnswer_Female",
"en_US": [
"Not to worry! You dont have to\n",
"answer if you dont want to.\r"
]
},
{
"id": "pl_msg_00000634_00165",
"id": "UndergroundCommon_Text_YouveDecidedLetMeThink_Female",
"en_US": [
"Youve decided?\r",
"Well, let me think...\n",
@ -986,7 +986,7 @@
]
},
{
"id": "pl_msg_00000634_00166",
"id": "UndergroundCommon_Text_Answer_Female",
"en_US": [
"{STRVAR_1 30, 5, 0}, maybe?\r",
"What did you choose?\r",
@ -995,7 +995,7 @@
]
},
{
"id": "pl_msg_00000634_00167",
"id": "UndergroundCommon_Text_SameAnswer_Female",
"en_US": [
"{STRVAR_1 30, 5, 0}, maybe?\r",
"What did you choose?\r",
@ -1006,11 +1006,11 @@
]
},
{
"id": "pl_msg_00000634_00168",
"id": "UndergroundCommon_Text_ISee2_Female",
"en_US": "I see..."
},
{
"id": "pl_msg_00000634_00169",
"id": "UndergroundCommon_Text_ThanksForAnswering_Female",
"en_US": [
"Thanks for answering!\r",
"I hope to see you around!\r"

View File

@ -2,51 +2,51 @@
"key": 63468,
"messages": [
{
"id": "pl_msg_00000633_00000",
"id": "UndergroundQuestions_Text_FavoriteColor",
"en_US": "Favorite color"
},
{
"id": "pl_msg_00000633_00001",
"id": "UndergroundQuestions_Text_FavoriteSport",
"en_US": "Favorite sport"
},
{
"id": "pl_msg_00000633_00002",
"id": "UndergroundQuestions_Text_FavoritePlace",
"en_US": "Favorite place"
},
{
"id": "pl_msg_00000633_00003",
"id": "UndergroundQuestions_Text_FavoriteClass",
"en_US": "Favorite class"
},
{
"id": "pl_msg_00000633_00004",
"id": "UndergroundQuestions_Text_LeastFavoriteClass",
"en_US": "Least favorite class"
},
{
"id": "pl_msg_00000633_00005",
"id": "UndergroundQuestions_Text_FavoriteThing",
"en_US": "Favorite thing"
},
{
"id": "pl_msg_00000633_00006",
"id": "UndergroundQuestions_Text_FavoritePersonality",
"en_US": "Favorite personality"
},
{
"id": "pl_msg_00000633_00007",
"id": "UndergroundQuestions_Text_MostWantedThing",
"en_US": "Most wanted thing"
},
{
"id": "pl_msg_00000633_00008",
"id": "UndergroundQuestions_Text_OwnDream",
"en_US": "Own dream"
},
{
"id": "pl_msg_00000633_00009",
"id": "UndergroundQuestions_Text_FoodIWantNow",
"en_US": "Food I want now"
},
{
"id": "pl_msg_00000633_00010",
"id": "UndergroundQuestions_Text_FavoritePokemon",
"en_US": "Favorite Pokémon"
},
{
"id": "pl_msg_00000633_00011",
"id": "UndergroundQuestions_Text_HolidayActivity",
"en_US": "Holiday activity"
}
]

View File

@ -59,8 +59,8 @@
#define DIAL_RADIUS 80
#define DIAL_BUTTON_RADIUS 24
#define BASE_TILE_STANDARD_WINDOW_FRAME (1024 - STANDARD_WINDOW_TILE_COUNT)
#define BASE_TILE_MSG_BOX_FRAME (BASE_TILE_STANDARD_WINDOW_FRAME - SCROLLING_MESSAGE_BOX_TILE_COUNT)
#define BASE_TILE_BAG_WINDOW_FRAME (1024 - STANDARD_WINDOW_TILE_COUNT)
#define BASE_TILE_MSG_BOX_FRAME (BASE_TILE_BAG_WINDOW_FRAME - SCROLLING_MESSAGE_BOX_TILE_COUNT)
#define ITEM_LIST_EMPTY_ENTRY -3
@ -832,7 +832,7 @@ static void LoadGraphics(BagController *controller)
Graphics_LoadPaletteFromOpenNARC(controller->bagGraphicsNARC, bag_ui_main_NCLR, PAL_LOAD_MAIN_BG, PLTT_OFFSET(0), 0, HEAP_ID_BAG);
Graphics_LoadPaletteFromOpenNARC(controller->bagGraphicsNARC, pocket_selector_icons_NCLR, PAL_LOAD_MAIN_BG, PLTT_OFFSET(13), PALETTE_SIZE_BYTES, HEAP_ID_BAG);
Font_LoadScreenIndicatorsPalette(0, PLTT_OFFSET(11), HEAP_ID_BAG);
LoadStandardWindowGraphics(controller->bgConfig, BG_LAYER_MAIN_0, BASE_TILE_STANDARD_WINDOW_FRAME, PLTT_14, STANDARD_WINDOW_SYSTEM, HEAP_ID_BAG);
LoadStandardWindowGraphics(controller->bgConfig, BG_LAYER_MAIN_0, BASE_TILE_BAG_WINDOW_FRAME, PLTT_14, STANDARD_WINDOW_SYSTEM, HEAP_ID_BAG);
LoadMessageBoxGraphics(controller->bgConfig, BG_LAYER_MAIN_0, BASE_TILE_MSG_BOX_FRAME, PLTT_12, Options_Frame(controller->options), HEAP_ID_BAG);
Graphics_LoadTilesToBgLayerFromOpenNARC(controller->bagGraphicsNARC, pokeball_borders_tileset_NCGR, controller->bgConfig, BG_LAYER_SUB_1, 0, 0, FALSE, HEAP_ID_BAG);
Graphics_LoadPaletteFromOpenNARC(controller->bagGraphicsNARC, pokeball_borders_NCLR, PAL_LOAD_SUB_BG, PLTT_OFFSET(0), 0, HEAP_ID_BAG);

View File

@ -52,21 +52,21 @@
#define POFFIN_COUNT_WINDOW_WIDTH 11
#define POFFIN_COUNT_WINDOW_HEIGHT TEXT_LINES_TILES(2)
#define BASE_TILE_ITEM_LIST 1
#define BASE_TILE_ITEM_DESCRIPTION (BASE_TILE_ITEM_LIST + (ITEM_LIST_WINDOW_WIDTH * ITEM_LIST_WINDOW_HEIGHT))
#define BASE_TILE_POCKET_NAMES (BASE_TILE_ITEM_DESCRIPTION + ITEM_DESCRIPTION_WINDOW_WIDTH * ITEM_DESCRIPTION_WINDOW_HEIGHT)
#define BASE_TILE_MSG_BOX (BASE_TILE_POCKET_NAMES + POCKET_NAMES_WINDOW_WIDTH * POCKET_NAMES_WINDOW_HEIGHT)
#define BASE_TILE_MSG_BOX_NARROW BASE_TILE_MSG_BOX
#define BASE_TILE_POCKET_SELECTOR (BASE_TILE_MSG_BOX + MSG_BOX_WINDOW_WIDTH * MSG_BOX_WINDOW_HEIGHT)
#define BASE_TILE_MSG_BOX_WIDE (BASE_TILE_POCKET_SELECTOR + POCKET_SELECTOR_WINDOW_WIDTH * POCKET_SELECTOR_WINDOW_HEIGHT)
#define BASE_TILE_YES_NO (BASE_TILE_MSG_BOX_WIDE + MSG_BOX_WIDE_WINDOW_WIDTH * MSG_BOX_WINDOW_HEIGHT)
#define BASE_TILE_SELL_COUNT_VALUE (BASE_TILE_YES_NO + YES_NO_WINDOW_WIDTH * YES_NO_WINDOW_HEIGHT)
#define BASE_TILE_ITEM_ACTIONS_MENU BASE_TILE_SELL_COUNT_VALUE
#define BASE_TILE_MONEY (BASE_TILE_SELL_COUNT_VALUE + SELL_WINDOW_WIDTH * SELL_WINDOW_HEIGHT)
#define BASE_TILE_POFFIN_COUNT 903
#define BASE_TILE_THROW_AWAY_COUNT 903
#define BASE_TILE_STANDARD_WINDOW_FRAME (1024 - STANDARD_WINDOW_TILE_COUNT)
#define BASE_TILE_MSG_BOX_FRAME (BASE_TILE_STANDARD_WINDOW_FRAME - SCROLLING_MESSAGE_BOX_TILE_COUNT)
#define BASE_TILE_ITEM_LIST 1
#define BASE_TILE_ITEM_DESCRIPTION (BASE_TILE_ITEM_LIST + (ITEM_LIST_WINDOW_WIDTH * ITEM_LIST_WINDOW_HEIGHT))
#define BASE_TILE_POCKET_NAMES (BASE_TILE_ITEM_DESCRIPTION + ITEM_DESCRIPTION_WINDOW_WIDTH * ITEM_DESCRIPTION_WINDOW_HEIGHT)
#define BASE_TILE_MSG_BOX (BASE_TILE_POCKET_NAMES + POCKET_NAMES_WINDOW_WIDTH * POCKET_NAMES_WINDOW_HEIGHT)
#define BASE_TILE_MSG_BOX_NARROW BASE_TILE_MSG_BOX
#define BASE_TILE_POCKET_SELECTOR (BASE_TILE_MSG_BOX + MSG_BOX_WINDOW_WIDTH * MSG_BOX_WINDOW_HEIGHT)
#define BASE_TILE_MSG_BOX_WIDE (BASE_TILE_POCKET_SELECTOR + POCKET_SELECTOR_WINDOW_WIDTH * POCKET_SELECTOR_WINDOW_HEIGHT)
#define BASE_TILE_YES_NO (BASE_TILE_MSG_BOX_WIDE + MSG_BOX_WIDE_WINDOW_WIDTH * MSG_BOX_WINDOW_HEIGHT)
#define BASE_TILE_SELL_COUNT_VALUE (BASE_TILE_YES_NO + YES_NO_WINDOW_WIDTH * YES_NO_WINDOW_HEIGHT)
#define BASE_TILE_ITEM_ACTIONS_MENU BASE_TILE_SELL_COUNT_VALUE
#define BASE_TILE_MONEY (BASE_TILE_SELL_COUNT_VALUE + SELL_WINDOW_WIDTH * SELL_WINDOW_HEIGHT)
#define BASE_TILE_POFFIN_COUNT 903
#define BASE_TILE_THROW_AWAY_COUNT 903
#define BASE_TILE_BAG_WINDOW_FRAME (1024 - STANDARD_WINDOW_TILE_COUNT)
#define BASE_TILE_MSG_BOX_FRAME (BASE_TILE_BAG_WINDOW_FRAME - SCROLLING_MESSAGE_BOX_TILE_COUNT)
#define DIGIT_WIDTH 6
#define ITEM_COUNT_X_OFFSET 7
@ -455,7 +455,7 @@ void BagUI_ShowItemActionsMenu(BagController *controller, u8 *actions, u8 numAct
Window_ScheduleCopyToVRAM(&controller->windows[msgBoxWindowIdx]);
}
Window_DrawStandardFrame(&controller->itemActionsWindow, TRUE, BASE_TILE_STANDARD_WINDOW_FRAME, PLTT_14);
Window_DrawStandardFrame(&controller->itemActionsWindow, TRUE, BASE_TILE_BAG_WINDOW_FRAME, PLTT_14);
Window_ScheduleCopyToVRAM(&controller->itemActionsWindow);
}
@ -502,7 +502,7 @@ void BagUI_PrintMovingItemMsg(BagController *controller)
void BagUI_ShowItemTrashWindows(BagController *controller)
{
Window_DrawStandardFrame(&controller->windows[BAG_UI_WINDOW_THROW_AWAY_COUNT], 1, BASE_TILE_STANDARD_WINDOW_FRAME, PLTT_14);
Window_DrawStandardFrame(&controller->windows[BAG_UI_WINDOW_THROW_AWAY_COUNT], 1, BASE_TILE_BAG_WINDOW_FRAME, PLTT_14);
BagUI_PrintItemTrashCount(controller);
Window_DrawMessageBoxWithScrollCursor(&controller->windows[BAG_UI_WINDOW_MSG_BOX], 1, BASE_TILE_MSG_BOX_FRAME, PLTT_12);
Window_FillTilemap(&controller->windows[BAG_UI_WINDOW_MSG_BOX], 15);
@ -592,7 +592,7 @@ static BOOL BagUITextPrinterCallback(TextPrinterTemplate *template, u16 param1)
void BagUI_ShowYesNoMenu(BagController *controller)
{
controller->menu = Menu_MakeYesNoChoice(controller->bgConfig, &sYesNoMenuTemplate, BASE_TILE_STANDARD_WINDOW_FRAME, PLTT_14, HEAP_ID_BAG);
controller->menu = Menu_MakeYesNoChoice(controller->bgConfig, &sYesNoMenuTemplate, BASE_TILE_BAG_WINDOW_FRAME, PLTT_14, HEAP_ID_BAG);
}
void BagUI_PrintSellCountAndValue(BagController *controller, u8 skipFrame)
@ -600,7 +600,7 @@ void BagUI_PrintSellCountAndValue(BagController *controller, u8 skipFrame)
Window *window = &controller->windows[BAG_UI_WINDOW_SELL_COUNT_VALUE];
if (skipFrame == FALSE) {
Window_DrawStandardFrame(window, TRUE, BASE_TILE_STANDARD_WINDOW_FRAME, PLTT_14);
Window_DrawStandardFrame(window, TRUE, BASE_TILE_BAG_WINDOW_FRAME, PLTT_14);
}
Window_FillTilemap(window, 15);
@ -630,7 +630,7 @@ void BagUI_PrintMoney(BagController *controller, u8 skipLabel)
if (skipLabel == FALSE) {
Window_FillTilemap(window, 15);
Window_DrawStandardFrame(window, 1, BASE_TILE_STANDARD_WINDOW_FRAME, PLTT_14);
Window_DrawStandardFrame(window, 1, BASE_TILE_BAG_WINDOW_FRAME, PLTT_14);
Strbuf *label = MessageLoader_GetNewStrbuf(controller->bagStringsLoader, Bag_Text_MoneyLabel);
@ -656,7 +656,7 @@ void BagUI_DrawPoffinCountMsgBox(BagController *controller)
{
Window *window = &controller->windows[BAG_UI_WINDOW_POFFIN_COUNT];
Window_FillTilemap(window, 15);
Window_DrawStandardFrame(window, TRUE, BASE_TILE_STANDARD_WINDOW_FRAME, PLTT_14);
Window_DrawStandardFrame(window, TRUE, BASE_TILE_BAG_WINDOW_FRAME, PLTT_14);
Strbuf *label = MessageLoader_GetNewStrbuf(controller->bagStringsLoader, Bag_Text_PoffinCountLabel);
Text_AddPrinterWithParams(window, FONT_SYSTEM, label, 0, 0, TEXT_SPEED_NO_TRANSFER, NULL);

View File

@ -98,8 +98,8 @@ FS_EXTERN_OVERLAY(main_menu);
#define NUM_TILES_YES_NO_MENU (YES_NO_MENU_WIDTH * YES_NO_MENU_HEIGHT)
#define BASE_TILE_MESSAGE_BOX_FRAME 1
#define BASE_TILE_STANDARD_WINDOW_FRAME (BASE_TILE_MESSAGE_BOX_FRAME + SCROLLING_MESSAGE_BOX_TILE_COUNT)
#define BASE_TILE_MAIN_APP_MENU_MSG_BOX (BASE_TILE_STANDARD_WINDOW_FRAME + STANDARD_WINDOW_TILE_COUNT)
#define BASE_TILE_MG_WINDOW_FRAME (BASE_TILE_MESSAGE_BOX_FRAME + SCROLLING_MESSAGE_BOX_TILE_COUNT)
#define BASE_TILE_MAIN_APP_MENU_MSG_BOX (BASE_TILE_MG_WINDOW_FRAME + STANDARD_WINDOW_TILE_COUNT)
#define BASE_TILE_MAIN_APP_MENU (BASE_TILE_MAIN_APP_MENU_MSG_BOX + NUM_TILES_MAIN_MG_MENU_MSG_BOX)
#define BASE_TILE_RECEPTION_METHODS_MENU (BASE_TILE_MAIN_APP_MENU + NUM_TILES_MAIN_MG_MENU)
#define BASE_TILE_YES_NO_MENU (BASE_TILE_RECEPTION_METHODS_MENU + NUM_TILES_RECEPTION_METHODS_MENU)
@ -577,7 +577,7 @@ static void ShowConfirmReceiveGiftMenu(ApplicationManager *appMan, BOOL hideMsgB
Window_Add(appData->bgConfig, window, BG_LAYER_MAIN_0, 23, 10, 6, TEXT_LINES_TILES(2), PLTT_0, BASE_TILE_YES_NO_MENU);
}
Window_DrawStandardFrame(window, TRUE, BASE_TILE_STANDARD_WINDOW_FRAME, PLTT_3);
Window_DrawStandardFrame(window, TRUE, BASE_TILE_MG_WINDOW_FRAME, PLTT_3);
MakeStateChangeListMenuFromEntryTemplates(appMan, sConfirmReceiveGiftOptions, NELEMS(sConfirmReceiveGiftOptions), window, msgBoxTextId);
}
@ -616,7 +616,7 @@ static enum MysteryGiftAppState AskConfirmWireless_FriendOrGBA(ApplicationManage
Window_Add(appData->bgConfig, window, BG_LAYER_MAIN_0, 23, 10, 6, TEXT_LINES_TILES(2), PLTT_0, BASE_TILE_YES_NO_MENU);
}
Window_DrawStandardFrame(window, TRUE, BASE_TILE_STANDARD_WINDOW_FRAME, PLTT_3);
Window_DrawStandardFrame(window, TRUE, BASE_TILE_MG_WINDOW_FRAME, PLTT_3);
MakeStateChangeListMenuFromEntryTemplates(appMan, sStartWirelessCommsOptions_FriendOrGBA, NELEMS(sStartWirelessCommsOptions_FriendOrGBA), window, MysteryGiftMenu_Text_WirelessCommunicationsWillBeLaunched);
return MG_APP_STATE_WAIT_CONFIRM_WIRELESS_COMMS;
@ -637,7 +637,7 @@ static enum MysteryGiftAppState AskConfirmConnectToWFC(ApplicationManager *appMa
Window_Add(appData->bgConfig, window, BG_LAYER_MAIN_0, 23, 10, 6, TEXT_LINES_TILES(2), PLTT_0, BASE_TILE_YES_NO_MENU);
}
Window_DrawStandardFrame(window, TRUE, BASE_TILE_STANDARD_WINDOW_FRAME, PLTT_3);
Window_DrawStandardFrame(window, TRUE, BASE_TILE_MG_WINDOW_FRAME, PLTT_3);
MakeStateChangeListMenuFromEntryTemplates(appMan, sConfirmConnectToWFCOptions, NELEMS(sConfirmConnectToWFCOptions), window, MysteryGiftMenu_Text_ConnectToWFC);
return MG_APP_STATE_WAIT_CONFIRM_WIRELESS_COMMS;
@ -657,7 +657,7 @@ static enum MysteryGiftAppState AskConfirmWireless_WirelessDistribution(Applicat
Window_Add(appData->bgConfig, window, BG_LAYER_MAIN_0, 23, 10, 6, TEXT_LINES_TILES(2), PLTT_0, BASE_TILE_YES_NO_MENU);
}
Window_DrawStandardFrame(window, TRUE, BASE_TILE_STANDARD_WINDOW_FRAME, PLTT_3);
Window_DrawStandardFrame(window, TRUE, BASE_TILE_MG_WINDOW_FRAME, PLTT_3);
MakeStateChangeListMenuFromEntryTemplates(appMan, sStartWirelessCommsOption_WirelessDistribution, NELEMS(sStartWirelessCommsOption_WirelessDistribution), window, MysteryGiftMenu_Text_WirelessCommunicationsWillBeLaunched2);
return MG_APP_STATE_WAIT_CONFIRM_WIRELESS_COMMS;
@ -673,7 +673,7 @@ static void ShowConfirmReceiveGiftMenu_LocalWireless(ApplicationManager *appMan)
Window_Add(appData->bgConfig, window, BG_LAYER_MAIN_0, 23, 10, 6, TEXT_LINES_TILES(2), PLTT_0, BASE_TILE_YES_NO_MENU);
}
Window_DrawStandardFrame(window, TRUE, BASE_TILE_STANDARD_WINDOW_FRAME, PLTT_3);
Window_DrawStandardFrame(window, TRUE, BASE_TILE_MG_WINDOW_FRAME, PLTT_3);
MakeStateChangeListMenuFromEntryTemplates(appMan, sConfirmReceiveGiftOptions_WirelessDistribution, NELEMS(sConfirmReceiveGiftOptions_WirelessDistribution), window, MysteryGiftMenu_Text_ReceiveThisGift);
}
@ -778,7 +778,7 @@ static enum MysteryGiftAppState ShowMysteryGiftReceptionMethodsMenu(ApplicationM
Window_Add(appData->bgConfig, window, BG_LAYER_MAIN_0, 15, 9, 16, TEXT_LINES_TILES(NUM_RECEPTION_METHODS), PLTT_0, BASE_TILE_RECEPTION_METHODS_MENU);
}
Window_DrawStandardFrame(window, TRUE, BASE_TILE_STANDARD_WINDOW_FRAME, PLTT_3);
Window_DrawStandardFrame(window, TRUE, BASE_TILE_MG_WINDOW_FRAME, PLTT_3);
MakeStateChangeListMenuFromEntryTemplates(appMan, sMysteryGiftReceiveOptions, NELEMS(sMysteryGiftReceiveOptions), window, MysteryGiftMenu_Text_ChooseHowToReceiveGift);
return MG_APP_STATE_WAIT_RECEPTION_METHOD_CHOICE;
@ -926,7 +926,7 @@ static void ShowMysteryGiftMenuOptions(ApplicationManager *appMan, int windowBas
Window_Add(appData->bgConfig, window, BG_LAYER_MAIN_0, 8, 7, 16, TEXT_LINES_TILES(numEntries), PLTT_0, windowBaseTile);
}
Window_DrawStandardFrame(window, TRUE, BASE_TILE_STANDARD_WINDOW_FRAME, PLTT_3);
Window_DrawStandardFrame(window, TRUE, BASE_TILE_MG_WINDOW_FRAME, PLTT_3);
MakeStateChangeListMenuFromEntryTemplates(appMan, entries, numEntries, window, textEntryId);
}
@ -963,7 +963,7 @@ static void ShowWonderCardTitle(ApplicationManager *appMann, Window *window, cha
Strbuf_CopyNumChars(strBuf, title, WONDERCARD_TITLE_LENGTH);
Window_FillTilemap(window, Font_GetAttribute(FONT_SYSTEM, FONTATTR_BG_COLOR));
Text_AddPrinterWithParamsAndColor(window, FONT_SYSTEM, strBuf, 0, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 15), NULL);
Window_DrawStandardFrame(window, FALSE, BASE_TILE_STANDARD_WINDOW_FRAME, PLTT_3);
Window_DrawStandardFrame(window, FALSE, BASE_TILE_MG_WINDOW_FRAME, PLTT_3);
Strbuf_Free(strBuf);
}
@ -1012,7 +1012,7 @@ static BOOL ShowAppMainMenu(ApplicationManager *appMan, MysteryGiftAppData *appD
int frameType = Options_Frame(appData->options);
LoadMessageBoxGraphics(appData->bgConfig, BG_LAYER_MAIN_0, BASE_TILE_MESSAGE_BOX_FRAME, PLTT_2, frameType, HEAP_ID_MYSTERY_GIFT_APP);
LoadStandardWindowGraphics(appData->bgConfig, BG_LAYER_MAIN_0, BASE_TILE_STANDARD_WINDOW_FRAME, PLTT_3, STANDARD_WINDOW_FIELD, HEAP_ID_MYSTERY_GIFT_APP);
LoadStandardWindowGraphics(appData->bgConfig, BG_LAYER_MAIN_0, BASE_TILE_MG_WINDOW_FRAME, PLTT_3, STANDARD_WINDOW_FIELD, HEAP_ID_MYSTERY_GIFT_APP);
*HW_BG_A_PLTT_COLOR(PLTT_0, 0) = GX_RGB(12, 12, 31);
@ -1071,7 +1071,7 @@ void MysteryGiftApp_ShowWiFiCommError(MysteryGiftAppData *appData)
StringTemplate_SetNumber(strTemplate, 0, appData->wifiCommErrorCode, 5, PADDING_MODE_ZEROES, CHARSET_MODE_EN);
MainMenuWindow window;
MainMenuUtil_InitWindow(&window, &appData->wifiCommErrorWindow, PLTT_1, TEXT_BANK_UNK_0695, BASE_TILE_STANDARD_WINDOW_FRAME, PLTT_3);
MainMenuUtil_InitWindow(&window, &appData->wifiCommErrorWindow, PLTT_1, TEXT_BANK_UNK_0695, BASE_TILE_MG_WINDOW_FRAME, PLTT_3);
MainMenuWindow_SetDimensionsAndBasetile(&window, 24, TEXT_LINES_TILES(8), BASE_TILE_WIFI_COMM_ERROR_WINDOW);
MainMenuWindow_SetScrollableAndFont(&window, FALSE, FONT_MESSAGE);

View File

@ -649,7 +649,7 @@ pokeplatinum_c = files(
'overlay023/ov23_022499E4.c',
'overlay023/ov23_0224A1D0.c',
'overlay023/ov23_0224B05C.c',
'overlay023/ov23_0224DC40.c',
'overlay023/underground_player_talk.c',
'overlay023/underground_menu.c',
'overlay023/ov23_0225128C.c',
'overlay023/ov23_022521F0.c',

View File

@ -17,10 +17,10 @@
#include "overlay023/ov23_02241F74.h"
#include "overlay023/ov23_02249918.h"
#include "overlay023/ov23_0224B05C.h"
#include "overlay023/ov23_0224DC40.h"
#include "overlay023/struct_ov23_0224A5CC.h"
#include "overlay023/struct_ov23_0224ABC4.h"
#include "overlay023/underground_menu.h"
#include "overlay023/underground_player_talk.h"
#include "overlay023/underground_text_printer.h"
#include "comm_player_manager.h"
@ -219,7 +219,7 @@ void ov23_0224A410(int param0, int param1, void *param2, void *param3)
}
if ((v1->unk_00 == 1) && (v1->unk_01 == CommSys_CurNetId())) {
ov23_0224DCB8(v1->unk_02, ov23_0224A334, commPlayerMan->fieldSystem);
UndergroundTalk_Start(v1->unk_02, ov23_0224A334, commPlayerMan->fieldSystem);
commPlayerMan->unk_58.unk_00_0 = v1->unk_01;
commPlayerMan->unk_58.unk_00_4 = v1->unk_02;
@ -236,7 +236,7 @@ void ov23_0224A410(int param0, int param1, void *param2, void *param3)
}
if ((v1->unk_00 == 1) && (v1->unk_02 == CommSys_CurNetId())) {
ov23_0224F07C(v1->unk_02, v1->unk_01, commPlayerMan->fieldSystem);
UndergroundTalkResponse_Start(v1->unk_02, v1->unk_01, commPlayerMan->fieldSystem);
}
if ((v1->unk_00 == 2) && (v1->unk_01 == CommSys_CurNetId())) {

View File

@ -19,9 +19,9 @@
#include "overlay023/ov23_02248F1C.h"
#include "overlay023/ov23_022499E4.h"
#include "overlay023/ov23_0224A1D0.h"
#include "overlay023/ov23_0224DC40.h"
#include "overlay023/ov23_02253598.h"
#include "overlay023/underground_menu.h"
#include "overlay023/underground_player_talk.h"
#include "overlay023/underground_spheres.h"
#include "overlay023/underground_text_printer.h"
#include "overlay023/underground_traps.h"
@ -1200,7 +1200,7 @@ void ov23_0224C104(int param0, int param1, void *param2, void *param3)
if (CommSys_CurNetId() == v0->unk_04) {
ov23_022535EC();
ov23_0224F24C();
UndergroundTalk_ExitConversation();
ov23_0224321C();
UndergroundTraps_ForceEndCurrentTrapEffectClient(CommSys_CurNetId(), 0);
@ -2625,7 +2625,7 @@ BOOL ov23_0224D9AC(int param0, BOOL param1)
}
ov23_022535EC();
ov23_0224F24C();
UndergroundTalk_ExitConversation();
ov23_0224321C();
UndergroundTraps_ForceEndCurrentTrapEffectClient(CommSys_CurNetId(), 0);

File diff suppressed because it is too large Load Diff

View File

@ -656,8 +656,8 @@ static void ov23_02251BB4(SysTask *param0, UndergroundMenu *param1)
Strbuf_Free(param1->fmtString);
StringTemplate_Free(param1->template);
if (param1->unk_260 != NULL) {
param1->unk_260(0);
if (param1->exitCallback != NULL) {
param1->exitCallback(0);
}
if (param1->scrollPrompts) {

View File

@ -432,7 +432,7 @@ static void ov23_02252A18(UndergroundMenu *param0)
v0.cursorCallback = ov23_0225265C;
v0.parent = param0;
param0->itemGetter = ov23_02252A04;
param0->getItem = ov23_02252A04;
param0->listMenuListPos = CommManUnderground_GetStoredListPos(13 + param0->unk_2AC);
param0->listMenuCursorPos = CommManUnderground_GetStoredCursorPos(13 + param0->unk_2AC);
param0->unk_2AE = param0->listMenuCursorPos;

View File

@ -8,7 +8,6 @@
#include "struct_defs/underground.h"
#include "struct_defs/underground_record.h"
#include "overlay023/funcptr_ov23_0224DCB8.h"
#include "overlay023/funcptr_ov23_02253834.h"
#include "overlay023/ov23_02241F74.h"
#include "overlay023/struct_ov23_02253598_decl.h"
@ -37,12 +36,12 @@
typedef int (*UnkFuncPtr_ov23_022576EC)(const UndergroundRecord *);
typedef struct {
UnkFuncPtr_ov23_02253834 unk_00;
void *unk_04;
UnkFuncPtr_ov23_02253834 exitCallback;
void *exitCallbackArg;
Window unk_08;
StringList *unk_18;
ListMenu *unk_1C;
UnkFuncPtr_ov23_0224DCB8 unk_20;
u8 unused[4];
u16 unk_24;
int unk_28;
} UnkStruct_ov23_022537D4;
@ -51,10 +50,10 @@ typedef struct UnkStruct_ov23_02253598_t {
UnkStruct_ov23_022537D4 *unk_00;
SysTask *unk_04;
SaveData *saveData;
UndergroundRecord *unk_0C;
UndergroundRecord *unk_10;
UndergroundRecord *record;
UndergroundRecord *linkRecord;
MATHRandContext32 unk_14;
u8 unk_2C;
u8 linkRecordReceived;
};
static UnkStruct_ov23_02253598 *Unk_ov23_022577BC = NULL;
@ -66,15 +65,15 @@ void ov23_02253598(UnkStruct_ov23_02253598 *param0, UndergroundRecord *param1, S
Unk_ov23_022577BC = param0;
Unk_ov23_022577BC->saveData = saveData;
Unk_ov23_022577BC->unk_0C = param1;
Unk_ov23_022577BC->unk_10 = UndergroundRecord_Init(HEAP_ID_COMMUNICATION);
Unk_ov23_022577BC->record = param1;
Unk_ov23_022577BC->linkRecord = UndergroundRecord_Init(HEAP_ID_COMMUNICATION);
CommSys_Seed(&Unk_ov23_022577BC->unk_14);
}
void ov23_022535CC(void)
{
Heap_Free(Unk_ov23_022577BC->unk_10);
Heap_Free(Unk_ov23_022577BC->linkRecord);
Heap_Free(Unk_ov23_022577BC);
Unk_ov23_022577BC = NULL;
@ -107,7 +106,7 @@ static UnkFuncPtr_ov23_022576EC Unk_ov23_022576EC[] = {
UndergroundRecord_GetNumTrapHits,
UndergroundRecord_GetNumTrapsTriggered,
UndergroundRecord_GetNumPlayersHelped,
sub_02029774,
UndergroundRecord_GetGiftsReceived,
sub_020297AC,
sub_020297E4,
sub_0202981C,
@ -185,10 +184,10 @@ static void ov23_022537D4(SysTask *param0, void *param1)
Window_Remove(&v0->unk_08);
{
UnkFuncPtr_ov23_02253834 v1 = v0->unk_00;
UnkFuncPtr_ov23_02253834 v1 = v0->exitCallback;
if (v1 != NULL) {
v1(v0->unk_04);
v1(v0->exitCallbackArg);
}
}
@ -208,7 +207,7 @@ static void ov23_0225381C(SysTask *param0, void *param1)
}
}
void ov23_02253834(BgConfig *param0, TrainerInfo *param1, UnkFuncPtr_ov23_02253834 param2, void *param3, BOOL param4)
void ov23_ShowTrainerRecord(BgConfig *param0, TrainerInfo *param1, UnkFuncPtr_ov23_02253834 exitCallback, void *exitCallbackArg, BOOL isCurrentTrainer)
{
UndergroundRecord *v0;
MessageLoader *v1;
@ -218,8 +217,8 @@ void ov23_02253834(BgConfig *param0, TrainerInfo *param1, UnkFuncPtr_ov23_022538
MI_CpuClear8(v4, sizeof(UnkStruct_ov23_022537D4));
v4->unk_00 = param2;
v4->unk_04 = param3;
v4->exitCallback = exitCallback;
v4->exitCallbackArg = exitCallbackArg;
Window_Add(param0, &v4->unk_08, 3, 4, 2, 24, 19, 13, 1);
Window_DrawStandardFrame(&v4->unk_08, 1, 1024 - (18 + 12) - 9, 11);
@ -227,10 +226,10 @@ void ov23_02253834(BgConfig *param0, TrainerInfo *param1, UnkFuncPtr_ov23_022538
v1 = MessageLoader_Init(MSG_LOADER_PRELOAD_ENTIRE_BANK, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_UNDERGROUND_RECORDS, HEAP_ID_FIELD1);
Window_FillTilemap(&v4->unk_08, 15);
if (param4) {
v0 = Unk_ov23_022577BC->unk_0C;
if (isCurrentTrainer) {
v0 = Unk_ov23_022577BC->record;
} else {
v0 = Unk_ov23_022577BC->unk_10;
v0 = Unk_ov23_022577BC->linkRecord;
}
ov23_0225360C(&v4->unk_08, v1, param1, v0);
@ -244,25 +243,25 @@ void ov23_02253834(BgConfig *param0, TrainerInfo *param1, UnkFuncPtr_ov23_022538
MessageLoader_Free(v1);
}
void ov23_022538FC(int param0)
void ov23_SendRecord(int targetNetID)
{
int undergroundRecordSize = UndergroundRecord_Size();
int trainerScore = GameRecords_GetTrainerScore(SaveData_GetGameRecords(Unk_ov23_022577BC->saveData));
u8 *v2 = Heap_Alloc(HEAP_ID_FIELD1, undergroundRecordSize + 1);
u8 *buffer = Heap_Alloc(HEAP_ID_FIELD1, undergroundRecordSize + 1);
MI_CpuClear8(v2, undergroundRecordSize + 1);
v2[0] = param0;
MI_CpuClear8(buffer, undergroundRecordSize + 1);
buffer[0] = targetNetID;
if (trainerScore >= 999999) {
trainerScore = 999999;
}
UndergroundRecord_SetTrainerScore(Unk_ov23_022577BC->unk_0C, trainerScore);
UndergroundRecord_SetTrainerScore(Unk_ov23_022577BC->record, trainerScore);
MI_CpuCopy8(Unk_ov23_022577BC->unk_0C, &v2[1], undergroundRecordSize);
MI_CpuCopy8(Unk_ov23_022577BC->record, &buffer[1], undergroundRecordSize);
CommSys_SendData(81, v2, undergroundRecordSize + 1);
Heap_Free(v2);
CommSys_SendData(81, buffer, undergroundRecordSize + 1);
Heap_Free(buffer);
}
void ov23_02253968(void)
@ -273,32 +272,32 @@ void ov23_02253968(void)
trainerScore = 999999;
}
UndergroundRecord_SetTrainerScore(Unk_ov23_022577BC->unk_0C, trainerScore);
UndergroundRecord_SetTrainerScore(Unk_ov23_022577BC->record, trainerScore);
}
void ov23_02253998(int param0, int param1, void *param2, void *param3)
void ov23_SendRecordServer(int unused0, int size, void *data, void *unused3)
{
CommSys_SendDataServer(82, param2, param1);
CommSys_SendDataServer(82, data, size);
}
void ov23_022539A8(int param0, int param1, void *param2, void *param3)
void ov23_ReceiveRecord(int unused0, int size, void *data, void *unused3)
{
u8 *v0 = param2;
u8 *buffer = data;
if (v0[0] == CommSys_CurNetId()) {
MI_CpuCopy8(&v0[1], Unk_ov23_022577BC->unk_10, param1 - 1);
Unk_ov23_022577BC->unk_2C = 1;
if (buffer[0] == CommSys_CurNetId()) {
MI_CpuCopy8(&buffer[1], Unk_ov23_022577BC->linkRecord, size - 1);
Unk_ov23_022577BC->linkRecordReceived = TRUE;
}
}
BOOL ov23_022539D8(void)
BOOL ov23_IsLinkRecordReceived(void)
{
return Unk_ov23_022577BC->unk_2C;
return Unk_ov23_022577BC->linkRecordReceived;
}
void ov23_022539E8(void)
void ov23_ClearLinkRecordReceived(void)
{
Unk_ov23_022577BC->unk_2C = 0;
Unk_ov23_022577BC->linkRecordReceived = FALSE;
}
static void ov23_022539F8(int param0)
@ -401,8 +400,8 @@ void *ov23_02253C64(BgConfig *param0, TrainerInfo *param1, Underground *undergro
MI_CpuClear8(v4, sizeof(UnkStruct_ov23_022537D4));
v4->unk_00 = param3;
v4->unk_04 = param4;
v4->exitCallback = param3;
v4->exitCallbackArg = param4;
Window_Add(param0, &v4->unk_08, 3, 4, 2, 24, 19, 13, 1);
Window_DrawStandardFrame(&v4->unk_08, 1, 1024 - (18 + 12) - 9, 11);
@ -410,7 +409,7 @@ void *ov23_02253C64(BgConfig *param0, TrainerInfo *param1, Underground *undergro
v1 = MessageLoader_Init(MSG_LOADER_PRELOAD_ENTIRE_BANK, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_UNDERGROUND_BASE_PC, HEAP_ID_FIELD1);
Window_FillTilemap(&v4->unk_08, 15);
v0 = Unk_ov23_022577BC->unk_0C;
v0 = Unk_ov23_022577BC->record;
ov23_02253A78(&v4->unk_08, v1, param1, v0, underground);
Sound_PlayEffect(SEQ_SE_DP_WIN_OPEN);
@ -429,10 +428,10 @@ void ov23_02253D10(void *param0)
Window_Remove(&v0->unk_08);
{
UnkFuncPtr_ov23_02253834 v1 = v0->unk_00;
UnkFuncPtr_ov23_02253834 v1 = v0->exitCallback;
if (v1 != NULL) {
v1(v0->unk_04);
v1(v0->exitCallbackArg);
}
}

View File

@ -10,7 +10,6 @@
#include "field/field_system.h"
#include "overlay005/sprite_resource_manager.h"
#include "overlay023/funcptr_ov23_0224F758.h"
#include "overlay023/ov23_0223E140.h"
#include "overlay023/ov23_02241F74.h"
#include "overlay023/ov23_0224A1D0.h"
@ -82,7 +81,7 @@ enum UndergroundMenuStates {
UNDERGROUND_MENU_STATE_SPHERES,
UNDERGROUND_MENU_STATE_TREASURES,
UNDERGROUND_MENU_STATE_GOODS,
UNDERGROUND_MENU_STATE_9,
UNDERGROUND_MENU_STATE_GIVE_GIFT,
UNDERGROUND_MENU_STATE_TRAINER_RECORDS,
UNDERGROUND_MENU_STATE_GO_UP_SELECTED,
UNDERGROUND_MENU_STATE_WAIT_FOR_CONFIRM,
@ -159,7 +158,7 @@ static BOOL UndergroundMenu_HandleGoodSelectedMenu(SysTask *sysTask, void *data)
static void ov23_02250B9C(SysTask *sysTask, void *param1);
static void UndergroundMenu_InitGoodsMenu(UndergroundMenu *menu, MoveItemCallback moveItemCallback);
static BOOL UndergroundMenu_HandleGoodsMenu(SysTask *sysTask, void *data);
static BOOL ov23_022510F0(SysTask *sysTask, void *param1);
static BOOL UndergroundMenu_HandleGiftMenu(SysTask *sysTask, void *param1);
static void UndergroundMenu_ConfirmReturnToSurface(SysTask *sysTask, void *data);
static void UndergroundMenu_CheckForReturnYesNo(SysTask *sysTask, void *data);
static void UndergroundMenu_Free(SysTask *sysTask, UndergroundMenu *menu, BOOL leaveFieldSystemPaused);
@ -473,7 +472,7 @@ BOOL UndergroundInventory_TryAddGoodBag(int goodID)
return Underground_TryAddGoodBag(ctx->underground, goodID);
}
void UndergroundMenu_Start(UnkFuncPtr_ov23_0224F758 param0, FieldSystem *fieldSystem)
void UndergroundMenu_Start(ExitCallback exitCallback, FieldSystem *fieldSystem)
{
Sound_PlayEffect(SEQ_SE_DP_WIN_OPEN);
CommManUnderground_SetStoredPosKey(UNDERGROUND_STORED_POS_KEY_START_MENU);
@ -483,7 +482,7 @@ void UndergroundMenu_Start(UnkFuncPtr_ov23_0224F758 param0, FieldSystem *fieldSy
MI_CpuFill8(menu, 0, sizeof(UndergroundMenu));
menu->fieldSystem = fieldSystem;
menu->unk_260 = param0;
menu->exitCallback = exitCallback;
menu->state = UNDERGROUND_MENU_STATE_INIT;
menu->strbuf = Strbuf_Init(50 * 2, HEAP_ID_FIELD1);
menu->fmtString = Strbuf_Init(50 * 2, HEAP_ID_FIELD1);
@ -590,8 +589,8 @@ static void UndergroundMenu_Main(SysTask *sysTask, void *data)
case UNDERGROUND_MENU_STATE_GOODS:
UndergroundMenu_HandleGoodsMenu(sysTask, data);
break;
case UNDERGROUND_MENU_STATE_9:
ov23_022510F0(sysTask, data);
case UNDERGROUND_MENU_STATE_GIVE_GIFT:
UndergroundMenu_HandleGiftMenu(sysTask, data);
break;
case UNDERGROUND_MENU_STATE_TRAINER_RECORDS:
break;
@ -819,7 +818,7 @@ void UndergroundMenu_RemoveSelectedTrap(int trapID)
void UndergroundMenu_PrintTrapDescription(ListMenu *listMenu, u32 index, u8 onInit)
{
UndergroundMenu *menu = (UndergroundMenu *)ListMenu_GetAttribute(listMenu, LIST_MENU_PARENT);
ItemGetter getTrap = menu->itemGetter;
GetItemFunc getTrap = menu->getItem;
int bankEntry;
int trapID = getTrap(index, menu);
@ -834,8 +833,8 @@ void UndergroundMenu_PrintTrapDescription(ListMenu *listMenu, u32 index, u8 onIn
void ov23_0224FDBC(UndergroundMenu *menu)
{
menu->itemCountGetter = UndergroundMenu_GetTrapCount;
menu->itemGetter = UndergroundMenu_GetTrapAtSlot;
menu->getItemCount = UndergroundMenu_GetTrapCount;
menu->getItem = UndergroundMenu_GetTrapAtSlot;
menu->printCallback = NULL;
UndergroundMenu_InitTrapsMenu(menu, NULL);
@ -845,8 +844,8 @@ void UndergroundMenu_OpenTrapsMenu(UndergroundMenu *menu)
{
menu->listMenuCursorPos = CommManUnderground_GetStoredCursorPos(UNDERGROUND_MENU_KEY_TRAPS);
menu->listMenuListPos = CommManUnderground_GetStoredListPos(UNDERGROUND_MENU_KEY_TRAPS);
menu->itemCountGetter = UndergroundMenu_GetTrapCount;
menu->itemGetter = UndergroundMenu_GetTrapAtSlot;
menu->getItemCount = UndergroundMenu_GetTrapCount;
menu->getItem = UndergroundMenu_GetTrapAtSlot;
menu->cursorCallback = UndergroundMenu_PrintTrapDescription;
menu->printCallback = NULL;
menu->itemSelectedMenuCursorPos = menu->listMenuCursorPos;
@ -856,8 +855,8 @@ void UndergroundMenu_OpenTrapsMenu(UndergroundMenu *menu)
static void UndergroundMenu_InitTrapsMenu(UndergroundMenu *menu, MoveItemCallback moveItemCallback)
{
ItemCountGetter getTrapCount = menu->itemCountGetter;
ItemGetter getTrap = menu->itemGetter;
GetItemCountFunc getTrapCount = menu->getItemCount;
GetItemFunc getTrap = menu->getItem;
int trapCount = getTrapCount(menu);
int maxDisplay = UNDERGROUND_MENU_MAX_DISPLAY;
@ -999,7 +998,7 @@ void UndergroundMenu_RemoveSelectedSphere(int sphereType)
static void UndergroundMenu_PrintSphereDescription(ListMenu *listMenu, u32 index, u8 onInit)
{
UndergroundMenu *menu = (UndergroundMenu *)ListMenu_GetAttribute(listMenu, LIST_MENU_PARENT);
ItemGetter getSphereType = menu->itemGetter;
GetItemFunc getSphereType = menu->getItem;
int bankEntry;
int sphereType = getSphereType(index, menu);
@ -1014,9 +1013,9 @@ static void UndergroundMenu_PrintSphereDescription(ListMenu *listMenu, u32 index
void ov23_02250184(UndergroundMenu *menu)
{
menu->itemCountGetter = UndergroundMenu_GetSphereCount;
menu->itemGetter = UndergroundMenu_GetSphereTypeAtSlot;
menu->sphereSizeGetter = UndergroundMenu_GetSphereSizeAtSlot;
menu->getItemCount = UndergroundMenu_GetSphereCount;
menu->getItem = UndergroundMenu_GetSphereTypeAtSlot;
menu->getSphereSize = UndergroundMenu_GetSphereSizeAtSlot;
menu->cursorCallback = UndergroundMenu_PrintSphereDescription;
UndergroundMenu_InitSpheresMenu(menu, Underground_MoveSphereInInventory);
@ -1026,9 +1025,9 @@ static void UndergroundMenu_OpenSpheresMenu(UndergroundMenu *menu)
{
menu->listMenuCursorPos = CommManUnderground_GetStoredCursorPos(UNDERGROUND_MENU_KEY_SPHERES);
menu->listMenuListPos = CommManUnderground_GetStoredListPos(UNDERGROUND_MENU_KEY_SPHERES);
menu->itemCountGetter = UndergroundMenu_GetSphereCount;
menu->itemGetter = UndergroundMenu_GetSphereTypeAtSlot;
menu->sphereSizeGetter = UndergroundMenu_GetSphereSizeAtSlot;
menu->getItemCount = UndergroundMenu_GetSphereCount;
menu->getItem = UndergroundMenu_GetSphereTypeAtSlot;
menu->getSphereSize = UndergroundMenu_GetSphereSizeAtSlot;
menu->cursorCallback = UndergroundMenu_PrintSphereDescription;
menu->itemSelectedMenuCursorPos = menu->listMenuCursorPos;
@ -1037,9 +1036,9 @@ static void UndergroundMenu_OpenSpheresMenu(UndergroundMenu *menu)
static void UndergroundMenu_InitSpheresMenu(UndergroundMenu *menu, MoveItemCallback moveItemCallback)
{
ItemCountGetter getSphereCount = menu->itemCountGetter;
ItemGetter getSphereType = menu->itemGetter;
SphereSizeGetter getSphereSize = menu->sphereSizeGetter;
GetItemCountFunc getSphereCount = menu->getItemCount;
GetItemFunc getSphereType = menu->getItem;
GetSphereSizeFunc getSphereSize = menu->getSphereSize;
int sphereCount = getSphereCount(menu);
int maxDisplay = UNDERGROUND_MENU_MAX_DISPLAY;
@ -1171,7 +1170,7 @@ static BOOL UndergroundMenu_HandleSphereSelectedMenu(SysTask *sysTask, void *dat
void UndergroundMenu_PrintTreasureDescription(ListMenu *listMenu, u32 index, u8 onInit)
{
UndergroundMenu *menu = (UndergroundMenu *)ListMenu_GetAttribute(listMenu, LIST_MENU_PARENT);
ItemGetter getTreasure = menu->itemGetter;
GetItemFunc getTreasure = menu->getItem;
int bankEntry = index;
int treasureID = getTreasure(index, menu);
@ -1186,8 +1185,8 @@ void UndergroundMenu_PrintTreasureDescription(ListMenu *listMenu, u32 index, u8
void ov23_02250578(UndergroundMenu *menu)
{
menu->itemCountGetter = UndergroundMenu_GetTreasureCount;
menu->itemGetter = UndergroundMenu_GetTreasureAtSlot;
menu->getItemCount = UndergroundMenu_GetTreasureCount;
menu->getItem = UndergroundMenu_GetTreasureAtSlot;
UndergroundMenu_InitTreasuresMenu(menu, NULL);
}
@ -1196,8 +1195,8 @@ void UndergroundMenu_OpenTreasuresMenu(UndergroundMenu *menu)
{
menu->listMenuCursorPos = CommManUnderground_GetStoredCursorPos(UNDERGROUND_MENU_KEY_TREASURES);
menu->listMenuListPos = CommManUnderground_GetStoredListPos(UNDERGROUND_MENU_KEY_TREASURES);
menu->itemCountGetter = UndergroundMenu_GetTreasureCount;
menu->itemGetter = UndergroundMenu_GetTreasureAtSlot;
menu->getItemCount = UndergroundMenu_GetTreasureCount;
menu->getItem = UndergroundMenu_GetTreasureAtSlot;
menu->cursorCallback = UndergroundMenu_PrintTreasureDescription;
menu->itemSelectedMenuCursorPos = menu->listMenuCursorPos;
@ -1206,8 +1205,8 @@ void UndergroundMenu_OpenTreasuresMenu(UndergroundMenu *menu)
static void UndergroundMenu_InitTreasuresMenu(UndergroundMenu *menu, MoveItemCallback moveItemCallback)
{
ItemCountGetter getTreasureCount = menu->itemCountGetter;
ItemGetter getTreasure = menu->itemGetter;
GetItemCountFunc getTreasureCount = menu->getItemCount;
GetItemFunc getTreasure = menu->getItem;
int treasureCount = getTreasureCount(menu);
int maxDisplay = UNDERGROUND_MENU_MAX_DISPLAY;
@ -1404,18 +1403,18 @@ static void UndergroundMenu_OpenTrainerRecords(UndergroundMenu *menu)
{
UndergroundMenu_EraseCurrentMenu(menu);
ov23_02253968();
ov23_02253834(menu->fieldSystem->bgConfig, SaveData_GetTrainerInfo(FieldSystem_GetSaveData(menu->fieldSystem)), UndergroundMenu_ReturnToStartMenuCallback, menu, TRUE);
ov23_ShowTrainerRecord(menu->fieldSystem->bgConfig, SaveData_GetTrainerInfo(FieldSystem_GetSaveData(menu->fieldSystem)), UndergroundMenu_ReturnToStartMenuCallback, menu, TRUE);
menu->state = UNDERGROUND_MENU_STATE_TRAINER_RECORDS;
}
void UndergroundMenu_StartHoldingFlag(UnkFuncPtr_ov23_0224F758 param0, FieldSystem *fieldSystem)
void UndergroundMenu_StartHoldingFlag(ExitCallback exitCallback, FieldSystem *fieldSystem)
{
UndergroundMenu *menu = Heap_Alloc(HEAP_ID_FIELD1, sizeof(UndergroundMenu));
MI_CpuFill8(menu, 0, sizeof(UndergroundMenu));
menu->fieldSystem = fieldSystem;
menu->unk_260 = param0;
menu->exitCallback = exitCallback;
menu->state = UNDERGROUND_MENU_STATE_INIT;
menu->strbuf = Strbuf_Init(50 * 2, HEAP_ID_FIELD1);
menu->fmtString = Strbuf_Init(50 * 2, HEAP_ID_FIELD1);
@ -1464,8 +1463,8 @@ static void UndergroundMenu_Free(SysTask *sysTask, UndergroundMenu *menu, BOOL l
UndergroundTextPrinter_EraseMessageBoxWindow(CommManUnderground_GetCaptureFlagTextPrinter());
UndergroundTextPrinter_EraseMessageBoxWindow(CommManUnderground_GetCommonTextPrinter());
if (menu->unk_260 != NULL) {
menu->unk_260(0);
if (menu->exitCallback != NULL) {
menu->exitCallback(0);
}
menu->sysTask = NULL;
@ -1523,7 +1522,7 @@ static void ov23_02250B9C(SysTask *sysTask, void *data)
void UndergroundMenu_PrintGoodDescription(ListMenu *listMenu, u32 index, u8 onInit)
{
UndergroundMenu *menu = (UndergroundMenu *)ListMenu_GetAttribute(listMenu, LIST_MENU_PARENT);
ItemGetter getGood = menu->itemGetter;
GetItemFunc getGood = menu->getItem;
int bankEntry;
int goodID = getGood(index, menu);
@ -1550,8 +1549,8 @@ static void UndergroundMenu_ColorPlacedGoods(ListMenu *listMenu, u32 index, u8 y
void ov23_02250CB0(UndergroundMenu *menu)
{
menu->itemCountGetter = UndergroundMenu_GetGoodsCountBag;
menu->itemGetter = UndergroundMenu_GetGoodAtSlotBag;
menu->getItemCount = UndergroundMenu_GetGoodsCountBag;
menu->getItem = UndergroundMenu_GetGoodAtSlotBag;
menu->printCallback = NULL;
UndergroundMenu_InitGoodsMenu(menu, NULL);
@ -1561,8 +1560,8 @@ void UndergroundMenu_OpenGoodsMenu(UndergroundMenu *menu)
{
menu->listMenuCursorPos = CommManUnderground_GetStoredCursorPos(UNDERGROUND_MENU_KEY_GOODS);
menu->listMenuListPos = CommManUnderground_GetStoredListPos(UNDERGROUND_MENU_KEY_GOODS);
menu->itemCountGetter = UndergroundMenu_GetGoodsCountBag;
menu->itemGetter = UndergroundMenu_GetGoodAtSlotBag;
menu->getItemCount = UndergroundMenu_GetGoodsCountBag;
menu->getItem = UndergroundMenu_GetGoodAtSlotBag;
menu->cursorCallback = UndergroundMenu_PrintGoodDescription;
menu->printCallback = NULL;
menu->itemSelectedMenuCursorPos = menu->listMenuCursorPos;
@ -1572,8 +1571,8 @@ void UndergroundMenu_OpenGoodsMenu(UndergroundMenu *menu)
void ov23_02250D2C(UndergroundMenu *menu)
{
menu->itemCountGetter = UndergroundMenu_GetGoodsCountBag;
menu->itemGetter = UndergroundMenu_GetGoodAtSlotBag;
menu->getItemCount = UndergroundMenu_GetGoodsCountBag;
menu->getItem = UndergroundMenu_GetGoodAtSlotBag;
menu->cursorCallback = UndergroundMenu_PrintGoodDescription;
menu->printCallback = NULL;
@ -1582,8 +1581,8 @@ void ov23_02250D2C(UndergroundMenu *menu)
void ov23_02250D5C(UndergroundMenu *menu)
{
menu->itemCountGetter = UndergroundMenu_GetGoodsCountPC;
menu->itemGetter = UndergroundMenu_GetGoodAtSlotPC;
menu->getItemCount = UndergroundMenu_GetGoodsCountPC;
menu->getItem = UndergroundMenu_GetGoodAtSlotPC;
menu->cursorCallback = UndergroundMenu_PrintGoodDescription;
menu->printCallback = UndergroundMenu_ColorPlacedGoods;
@ -1592,8 +1591,8 @@ void ov23_02250D5C(UndergroundMenu *menu)
static void UndergroundMenu_InitGoodsMenu(UndergroundMenu *menu, MoveItemCallback moveItemCallback)
{
ItemCountGetter getGoodsCount = menu->itemCountGetter;
ItemGetter getGood = menu->itemGetter;
GetItemCountFunc getGoodsCount = menu->getItemCount;
GetItemFunc getGood = menu->getItem;
int goodsCount = getGoodsCount(menu);
int maxDisplay = UNDERGROUND_MENU_MAX_DISPLAY;
@ -1717,58 +1716,58 @@ static BOOL UndergroundMenu_HandleGoodSelectedMenu(SysTask *sysTask, void *data)
return TRUE;
}
void ov23_02251044(void *param0, u32 param1)
void UndergroundMenu_ExitGiftMenu(void *data, u32 input)
{
UndergroundMenu *v0 = param0;
UndergroundMenu *menu = data;
UndergroundMenu_EraseCurrentMenu(v0);
UndergroundMenu_EraseCurrentMenu(menu);
ov23_02242FBC();
ov23_022535EC();
TrapRadar_Exit();
ov23_02241364();
SphereRadar_Exit();
if (v0->unk_270) {
ov23_02253D10(v0->unk_270);
if (menu->unk_270) {
ov23_02253D10(menu->unk_270);
}
if (v0->yesNoMenu) {
Menu_DestroyForExit(v0->yesNoMenu, HEAP_ID_FIELD1);
if (menu->yesNoMenu) {
Menu_DestroyForExit(menu->yesNoMenu, HEAP_ID_FIELD1);
}
UndergroundMenu_CloseItemSelectedMenu(v0);
UndergroundMenu_CloseItemSelectedMenu(menu);
if (v0->scrollPrompts) {
ScrollPrompts_Free(v0->scrollPrompts);
if (menu->scrollPrompts) {
ScrollPrompts_Free(menu->scrollPrompts);
}
if (v0->unk_260 != NULL) {
ctx->selectedSlot = param1;
ctx->selectedID = UndergroundMenu_GetGoodAtSlotBag(param1, v0);
v0->unk_260(0);
v0->unk_260 = NULL;
if (menu->exitCallback != NULL) {
ctx->selectedSlot = input;
ctx->selectedID = UndergroundMenu_GetGoodAtSlotBag(input, menu);
menu->exitCallback(0);
menu->exitCallback = NULL;
}
if (v0->strbuf) {
Strbuf_Free(v0->strbuf);
if (menu->strbuf) {
Strbuf_Free(menu->strbuf);
}
if (v0->fmtString) {
Strbuf_Free(v0->fmtString);
if (menu->fmtString) {
Strbuf_Free(menu->fmtString);
}
if (v0->template) {
StringTemplate_Free(v0->template);
if (menu->template) {
StringTemplate_Free(menu->template);
}
if (v0->sysTask) {
SysTask_Done(v0->sysTask);
if (menu->sysTask) {
SysTask_Done(menu->sysTask);
}
Heap_Free(v0);
Heap_Free(menu);
}
static BOOL ov23_022510F0(SysTask *sysTask, void *data)
static BOOL UndergroundMenu_HandleGiftMenu(SysTask *sysTask, void *data)
{
UndergroundMenu *menu = data;
u32 input = UndergroundItemListMenu_ProcessInput(menu->itemListMenu);
@ -1786,28 +1785,28 @@ static BOOL ov23_022510F0(SysTask *sysTask, void *data)
case LIST_NOTHING_CHOSEN:
return FALSE;
case LIST_CANCEL:
if (menu->unk_260 != NULL) {
if (menu->exitCallback != NULL) {
ctx->selectedSlot = input;
ctx->selectedID = 0;
menu->unk_260(ctx->selectedID);
menu->unk_260 = NULL;
menu->exitCallback(ctx->selectedID);
menu->exitCallback = NULL;
}
UndergroundTextPrinter_EraseMessageBoxWindow(CommManUnderground_GetItemNameTextPrinter());
ov23_02251044(menu, input);
UndergroundMenu_ExitGiftMenu(menu, input);
ov23_02243204();
return TRUE;
default:
if (menu->unk_260 != NULL) {
if (menu->exitCallback != NULL) {
ctx->selectedSlot = input;
ctx->selectedID = UndergroundMenu_GetGoodAtSlotBag(input, menu);
menu->unk_260(ctx->selectedID);
menu->unk_260 = NULL;
menu->exitCallback(ctx->selectedID);
menu->exitCallback = NULL;
}
UndergroundTextPrinter_EraseMessageBoxWindow(CommManUnderground_GetItemNameTextPrinter());
ov23_02251044(menu, input);
UndergroundMenu_ExitGiftMenu(menu, input);
ov23_02243204();
return TRUE;
break;
@ -1816,29 +1815,29 @@ static BOOL ov23_022510F0(SysTask *sysTask, void *data)
return TRUE;
}
void *ov23_022511B0(UnkFuncPtr_ov23_0224F758 param0, FieldSystem *fieldSystem)
void *UndergroundMenu_StartGiftMenu(ExitCallback exitCallback, FieldSystem *fieldSystem)
{
UndergroundMenu *v0 = Heap_Alloc(HEAP_ID_FIELD1, sizeof(UndergroundMenu));
UndergroundMenu *menu = Heap_Alloc(HEAP_ID_FIELD1, sizeof(UndergroundMenu));
MI_CpuFill8(v0, 0, sizeof(UndergroundMenu));
MI_CpuFill8(menu, 0, sizeof(UndergroundMenu));
v0->fieldSystem = fieldSystem;
v0->unk_260 = param0;
v0->state = UNDERGROUND_MENU_STATE_INIT;
v0->spriteCount = 0;
v0->unk_48 = NULL;
v0->cursorCallback = NULL;
v0->strbuf = Strbuf_Init((50 * 2), HEAP_ID_FIELD1);
v0->fmtString = Strbuf_Init((50 * 2), HEAP_ID_FIELD1);
v0->template = StringTemplate_Default(HEAP_ID_FIELD1);
menu->fieldSystem = fieldSystem;
menu->exitCallback = exitCallback;
menu->state = UNDERGROUND_MENU_STATE_INIT;
menu->spriteCount = 0;
menu->unk_48 = NULL;
menu->cursorCallback = NULL;
menu->strbuf = Strbuf_Init(50 * 2, HEAP_ID_FIELD1);
menu->fmtString = Strbuf_Init(50 * 2, HEAP_ID_FIELD1);
menu->template = StringTemplate_Default(HEAP_ID_FIELD1);
UndergroundMenu_OpenGoodsMenu(v0);
UndergroundMenu_OpenGoodsMenu(menu);
v0->state = UNDERGROUND_MENU_STATE_9;
v0->sysTask = SysTask_Start(UndergroundMenu_Main, v0, 10000);
menu->state = UNDERGROUND_MENU_STATE_GIVE_GIFT;
menu->sysTask = SysTask_Start(UndergroundMenu_Main, menu, 10000);
ov23_022431EC(v0, v0->sysTask, ov23_02251270);
return v0;
ov23_022431EC(menu, menu->sysTask, ov23_02251270);
return menu;
}
void UndergroundMenu_MoveListCursorPosInBounds(UndergroundMenu *menu, int maxDisplay, int count)
@ -1863,5 +1862,5 @@ void UndergroundMenu_MoveListCursorPosInBounds(UndergroundMenu *menu, int maxDis
void ov23_02251270(SysTask *sysTask, void *param1)
{
BrightnessController_SetScreenBrightness(0, GX_BLEND_PLANEMASK_BG0, BRIGHTNESS_MAIN_SCREEN);
ov23_02251044(param1, 0xfffffffe);
UndergroundMenu_ExitGiftMenu(param1, LIST_CANCEL);
}

File diff suppressed because it is too large Load Diff

View File

@ -29,16 +29,14 @@
#include "res/graphics/signposts/field_board.naix.h"
#include "res/graphics/windows/pl_winframe.naix.h"
#define SIGNPOST_CONTENT_WIDTH_TILES 6
#define SIGNPOST_CONTENT_HEIGHT_TILES 4
#define SIGNPOST_BORDER_LEFT_SIZE 1
#define SIGNPOST_BORDER_RIGHT_SIZE 2
#define SIGNPOST_BORDER_Y_SIZE 1
#define SIGNPOST_WIDTH_TILES (SIGNPOST_CONTENT_WIDTH_TILES + SIGNPOST_BORDER_LEFT_SIZE + SIGNPOST_BORDER_RIGHT_SIZE)
#define SIGNPOST_HEIGHT_TILES (SIGNPOST_CONTENT_HEIGHT_TILES + SIGNPOST_BORDER_Y_SIZE + SIGNPOST_BORDER_Y_SIZE)
#define SIGNPOST_WIDTH_SIZE (SIGNPOST_WIDTH_TILES * 2)
#define SIGNPOST_HEIGHT_SIZE (SIGNPOST_HEIGHT_TILES * 2)
#define SIGNPOST_SIZE (SIGNPOST_WIDTH_SIZE + SIGNPOST_HEIGHT_SIZE)
#define SIGNPOST_BORDER_LEFT_SIZE 1
#define SIGNPOST_BORDER_RIGHT_SIZE 2
#define SIGNPOST_BORDER_Y_SIZE 1
#define SIGNPOST_WIDTH_TILES (SIGNPOST_CONTENT_WIDTH_TILES + SIGNPOST_BORDER_LEFT_SIZE + SIGNPOST_BORDER_RIGHT_SIZE)
#define SIGNPOST_HEIGHT_TILES (SIGNPOST_CONTENT_HEIGHT_TILES + SIGNPOST_BORDER_Y_SIZE + SIGNPOST_BORDER_Y_SIZE)
#define SIGNPOST_WIDTH_SIZE (SIGNPOST_WIDTH_TILES * 2)
#define SIGNPOST_HEIGHT_SIZE (SIGNPOST_HEIGHT_TILES * 2)
#define SIGNPOST_SIZE (SIGNPOST_WIDTH_SIZE + SIGNPOST_HEIGHT_SIZE)
#define WAIT_DIAL_FRAME_WIDTH_TILES 2
#define WAIT_DIAL_FRAME_HEIGHT_TILES 2

View File

@ -1262,15 +1262,15 @@ void UndergroundRecord_IncrementNumPlayersHelped(UndergroundRecord *undergroundR
}
}
int sub_02029774(const UndergroundRecord *param0)
int UndergroundRecord_GetGiftsReceived(const UndergroundRecord *undergroundRecord)
{
return param0->unk_28_0;
return undergroundRecord->numGiftsReceived;
}
void sub_0202977C(UndergroundRecord *param0)
void UndergroundRecord_IncrementGiftsReceived(UndergroundRecord *undergroundRecord)
{
if (param0->unk_28_0 < 999999) {
param0->unk_28_0++;
if (undergroundRecord->numGiftsReceived < 999999) {
undergroundRecord->numGiftsReceived++;
}
}

View File

@ -9,9 +9,9 @@
#include "overlay023/ov23_02241F74.h"
#include "overlay023/ov23_0224A1D0.h"
#include "overlay023/ov23_0224B05C.h"
#include "overlay023/ov23_0224DC40.h"
#include "overlay023/ov23_0225128C.h"
#include "overlay023/ov23_02253598.h"
#include "overlay023/underground_player_talk.h"
#include "overlay023/underground_spheres.h"
#include "overlay023/underground_traps.h"
@ -97,16 +97,16 @@ static const CommCmdTable Unk_020F68A4[] = {
{ ov23_02243390, ov23_022433B8, NULL },
{ ov23_022413A0, sub_0203294C, NULL },
{ ov23_0224142C, ov23_022414D0, NULL },
{ ov23_0224F0F0, ov23_0224F174, NULL },
{ ov23_0224F0FC, ov23_0224F174, NULL },
{ ov23_0224F108, ov23_0224F174, NULL },
{ ov23_0224F138, ov23_0224F174, NULL },
{ ov23_0224F178, ov23_0224F1F8, NULL },
{ ov23_0224F184, ov23_0224F1F8, NULL },
{ ov23_0224F1FC, ov23_0224F248, NULL },
{ ov23_0224F208, ov23_0224F248, NULL },
{ ov23_02253998, sub_02032944, NULL },
{ ov23_022539A8, sub_02032944, NULL },
{ UndergroundTalk_RequestLinkTalkStateUpdateServer, CommPacketSizeOf_TalkStateChangeRequest, NULL },
{ UndergroundTalkResponse_RequestLinkTalkStateUpdateServer, CommPacketSizeOf_TalkStateChangeRequest, NULL },
{ UndergroundTalkResponse_HandleLinkTalkStateUpdateServer, CommPacketSizeOf_TalkStateChangeRequest, NULL },
{ UndergroundTalk_HandleLinkTalkStateUpdateServer, CommPacketSizeOf_TalkStateChangeRequest, NULL },
{ UndergroundTalk_SendGiftServer, CommPacketSizeOf_Gift, NULL },
{ UndergroundTalkResponse_ReceiveGiftOffer, CommPacketSizeOf_Gift, NULL },
{ UndergroundTalk_SendTalkMessageServer, CommPacketSizeOf_TalkMessage, NULL },
{ UndergroundTalk_ReceiveTalkMessage, CommPacketSizeOf_TalkMessage, NULL },
{ ov23_SendRecordServer, sub_02032944, NULL },
{ ov23_ReceiveRecord, sub_02032944, NULL },
{ ov23_022513B0, ov23_02251414, NULL },
{ ov23_0224A570, CommPacketSizeOf_NetId, NULL },
{ ov23_0224A77C, ov23_0224A56C, NULL },