mirror of
https://github.com/pret/pokeplatinum.git
synced 2026-10-01 05:51:03 -05:00
Document box user input handling (#533)
Co-authored-by: narf0708@gmail.com <narf0708@gmail.com>
This commit is contained in:
@@ -11,8 +11,8 @@ enum HeapId {
|
||||
HEAP_ID_6,
|
||||
HEAP_ID_POKETCH_MAIN,
|
||||
HEAP_ID_POKETCH_APP,
|
||||
HEAP_ID_9,
|
||||
HEAP_ID_10,
|
||||
HEAP_ID_BOX_DATA,
|
||||
HEAP_ID_BOX_GRAPHICS,
|
||||
HEAP_ID_FIELDMAP,
|
||||
HEAP_ID_12,
|
||||
HEAP_ID_13,
|
||||
|
||||
@@ -43,71 +43,6 @@ typedef enum {
|
||||
UnkEnum_0202F510_38 = 0xff,
|
||||
} UnkEnum_0202F510;
|
||||
|
||||
typedef enum {
|
||||
UnkEnum_021DFB94_00,
|
||||
UnkEnum_021DFB94_01,
|
||||
UnkEnum_021DFB94_02,
|
||||
UnkEnum_021DFB94_03,
|
||||
UnkEnum_021DFB94_04,
|
||||
UnkEnum_021DFB94_05,
|
||||
UnkEnum_021DFB94_06,
|
||||
UnkEnum_021DFB94_07,
|
||||
UnkEnum_021DFB94_08,
|
||||
UnkEnum_021DFB94_09,
|
||||
UnkEnum_021DFB94_10,
|
||||
UnkEnum_021DFB94_11,
|
||||
UnkEnum_021DFB94_12,
|
||||
UnkEnum_021DFB94_13,
|
||||
UnkEnum_021DFB94_14,
|
||||
UnkEnum_021DFB94_15,
|
||||
UnkEnum_021DFB94_16,
|
||||
UnkEnum_021DFB94_17,
|
||||
UnkEnum_021DFB94_18,
|
||||
UnkEnum_021DFB94_19,
|
||||
UnkEnum_021DFB94_20,
|
||||
UnkEnum_021DFB94_21,
|
||||
UnkEnum_021DFB94_22,
|
||||
UnkEnum_021DFB94_23,
|
||||
UnkEnum_021DFB94_24,
|
||||
UnkEnum_021DFB94_25,
|
||||
UnkEnum_021DFB94_26,
|
||||
UnkEnum_021DFB94_27,
|
||||
UnkEnum_021DFB94_28,
|
||||
UnkEnum_021DFB94_29,
|
||||
UnkEnum_021DFB94_30,
|
||||
UnkEnum_021DFB94_31,
|
||||
UnkEnum_021DFB94_32,
|
||||
UnkEnum_021DFB94_33,
|
||||
UnkEnum_021DFB94_34,
|
||||
UnkEnum_021DFB94_35,
|
||||
UnkEnum_021DFB94_36,
|
||||
UnkEnum_021DFB94_37,
|
||||
UnkEnum_021DFB94_38,
|
||||
UnkEnum_021DFB94_39,
|
||||
UnkEnum_021DFB94_40,
|
||||
UnkEnum_021DFB94_41,
|
||||
UnkEnum_021DFB94_42,
|
||||
UnkEnum_021DFB94_43,
|
||||
UnkEnum_021DFB94_44,
|
||||
UnkEnum_021DFB94_45,
|
||||
UnkEnum_021DFB94_46,
|
||||
UnkEnum_021DFB94_47,
|
||||
UnkEnum_021DFB94_48,
|
||||
UnkEnum_021DFB94_49,
|
||||
UnkEnum_021DFB94_50,
|
||||
UnkEnum_021DFB94_51,
|
||||
UnkEnum_021DFB94_52,
|
||||
UnkEnum_021DFB94_53,
|
||||
UnkEnum_021DFB94_54,
|
||||
UnkEnum_021DFB94_55,
|
||||
UnkEnum_021DFB94_56,
|
||||
UnkEnum_021DFB94_57,
|
||||
UnkEnum_021DFB94_58,
|
||||
UnkEnum_021DFB94_59,
|
||||
UnkEnum_021DFB94_60,
|
||||
UnkEnum_021DFB94_61,
|
||||
} UnkEnum_021DFB94;
|
||||
|
||||
typedef enum {
|
||||
UnkEnum_ov87_021D12C0_0,
|
||||
UnkEnum_ov87_021D12C0_1,
|
||||
|
||||
18
include/overlay019/box_menu.h
Normal file
18
include/overlay019/box_menu.h
Normal file
@@ -0,0 +1,18 @@
|
||||
#ifndef POKEPLATINUM_BOX_MENU_H
|
||||
#define POKEPLATINUM_BOX_MENU_H
|
||||
|
||||
#include "overlay019/struct_ov19_021D4DF0.h"
|
||||
|
||||
void BoxMenu_FillYesNo(UnkStruct_ov19_021D4DF0 *param0, u32 menuItemIndex);
|
||||
void BoxMenu_FillTopLevelMenuItems(UnkStruct_ov19_021D4DF0 *param0);
|
||||
void BoxMenu_FillItemsMenu(UnkStruct_ov19_021D4DF0 *param0);
|
||||
void BoxMenu_FillHeaderMenu(UnkStruct_ov19_021D4DF0 *param0);
|
||||
void BoxMenu_FillWallpaperMenu(UnkStruct_ov19_021D4DF0 *param0, enum BoxMenuItem menuItem);
|
||||
void BoxMenu_FillWallpaperSelectionMenu(UnkStruct_ov19_021D4DF0 *param0, enum BoxMenuItem menuItem);
|
||||
void BoxMenu_FillMarkingsMenu(UnkStruct_ov19_021D4DF0 *param0);
|
||||
void BoxMenu_ToggleMarking(UnkStruct_ov19_021D4DF0 *param0, u32 marking);
|
||||
enum BoxMenuItem BoxMenu_GetMenuNavigation(UnkStruct_ov19_021D4DF0 *param0);
|
||||
enum BoxMenuItem BoxMenu_GetSelectedMenuItem(UnkStruct_ov19_021D4DF0 *param0);
|
||||
enum BoxMenuItem BoxMenu_GetDefaultMenuItem(UnkStruct_ov19_021D4DF0 *param0);
|
||||
|
||||
#endif // POKEPLATINUM_BOX_MENU_H
|
||||
@@ -50,10 +50,10 @@ enum CursorMovementState {
|
||||
int ov19_021D0D80(ApplicationManager *appMan, int *param1);
|
||||
int ov19_021D0DEC(ApplicationManager *appMan, int *param1);
|
||||
int ov19_021D0E58(ApplicationManager *appMan, int *param1);
|
||||
BOOL ov19_021D3B18(const UnkStruct_ov19_021D5DF8 *param0);
|
||||
BOOL ov19_021D3B20(const UnkStruct_ov19_021D5DF8 *param0);
|
||||
BOOL ov19_HasCheckedCanReleaseMon(const UnkStruct_ov19_021D5DF8 *param0);
|
||||
BOOL ov19_CanReleaseMon(const UnkStruct_ov19_021D5DF8 *param0);
|
||||
MessageLoader *ov19_GetBoxMessagesLoader(const UnkStruct_ov19_021D5DF8 *param0);
|
||||
const StringTemplate *ov19_021D5DF0(const UnkStruct_ov19_021D5DF8 *param0);
|
||||
const StringTemplate *ov19_GetMessageVariableBuffer(const UnkStruct_ov19_021D5DF8 *param0);
|
||||
int ov19_GetOptionsFrame(const UnkStruct_ov19_021D5DF8 *param0);
|
||||
enum BoxMode ov19_GetBoxMode(const UnkStruct_ov19_021D4DF0 *param0);
|
||||
enum CursorLocation ov19_GetCursorLocation(const UnkStruct_ov19_021D4DF0 *param0);
|
||||
@@ -73,19 +73,19 @@ const PCBoxes *ov19_GetPCBoxes(const UnkStruct_ov19_021D4DF0 *param0);
|
||||
u32 ov19_GetBoxMessageID(const UnkStruct_ov19_021D4DF0 *param0);
|
||||
BoxPokemon *ov19_GetPreviewedBoxMon(const UnkStruct_ov19_021D4DF0 *param0);
|
||||
u32 ov19_GetPreviewedMonMarkings(const UnkStruct_ov19_021D4DF0 *param0);
|
||||
u32 ov19_021D5EA8(const UnkStruct_ov19_021D4DF0 *param0);
|
||||
u32 ov19_GetBoxSelectionBoxID(const UnkStruct_ov19_021D4DF0 *param0);
|
||||
s32 ov19_021D5EB0(const UnkStruct_ov19_021D4DF0 *param0);
|
||||
u32 ov19_021D5EB8(const UnkStruct_ov19_021D4DF0 *param0);
|
||||
u32 ov19_GetMarkingsButtonsScrollOffset(const UnkStruct_ov19_021D4DF0 *param0);
|
||||
u32 ov19_GetMonSpriteTransparencyMask(const UnkStruct_ov19_021D4DF0 *param0);
|
||||
BOOL ov19_IsCursorFastMode(const UnkStruct_ov19_021D4DF0 *param0);
|
||||
void ov19_GetMultiSelectBoundingBox(const UnkStruct_ov19_021D4DF0 *param0, u32 *leftCol, u32 *rightCol, u32 *topCol, u32 *bottomCol);
|
||||
void ov19_GetMultiSelectBoundingBox(const UnkStruct_ov19_021D4DF0 *param0, u32 *leftCol, u32 *rightCol, u32 *topRow, u32 *bottomRow);
|
||||
BOOL ov19_IsMultiSelectSingleSelect(const UnkStruct_ov19_021D4DF0 *param0);
|
||||
u32 ov19_GetMultiSelectTopLeftPos(const UnkStruct_ov19_021D4DF0 *param0);
|
||||
u32 ov19_GetRelativeMonPosInMultiSelection(const UnkStruct_ov19_021D4DF0 *param0, u32 param1);
|
||||
u32 ov19_GetCursorItem(const UnkStruct_ov19_021D4DF0 *param0);
|
||||
u32 ov19_GetCursorOrPreviewedItem(const UnkStruct_ov19_021D4DF0 *param0);
|
||||
u32 ov19_021D5F9C(const UnkStruct_ov19_021D4DF0 *param0);
|
||||
u32 ov19_GetCompareMonSlot(const UnkStruct_ov19_021D4DF0 *param0);
|
||||
u32 ov19_021D5FA4(const UnkStruct_ov19_021D4DF0 *param0);
|
||||
const PCCompareMon *ov19_GetCompareMonFrom(const UnkStruct_ov19_021D4DF0 *param0, int compareSlot);
|
||||
BOOL ov19_021D5FB8(const UnkStruct_ov19_021D4DF0 *param0, int param1);
|
||||
|
||||
@@ -17,11 +17,66 @@
|
||||
#include "sprite.h"
|
||||
#include "sys_task_manager.h"
|
||||
|
||||
BOOL ov19_021D61B0(UnkStruct_ov19_021D61B0 **param0, const UnkStruct_ov19_021D4DF0 *param1, const UnkStruct_ov19_021D5DF8 *param2);
|
||||
void ov19_021D64A0(UnkStruct_ov19_021D61B0 *param0);
|
||||
void ov19_021D6594(UnkStruct_ov19_021D61B0 *param0, u32 param1);
|
||||
BOOL ov19_021D6600(UnkStruct_ov19_021D61B0 *param0, u32 param1);
|
||||
BOOL ov19_021D6628(UnkStruct_ov19_021D61B0 *param0);
|
||||
enum BoxGraphicsFunctions {
|
||||
FUNC_ov19_021D6694,
|
||||
FUNC_BoxGraphics_ScreenFadeBothToBlack0,
|
||||
FUNC_BoxGraphics_ScreenFadeBothToBlack1,
|
||||
FUNC_BoxGraphics_ScreenFadeBothToBlack2,
|
||||
FUNC_BoxGraphics_ChangeToNewBox,
|
||||
FUNC_BoxGraphics_MoveCursor,
|
||||
FUNC_BoxGraphics_PreviewMon,
|
||||
FUNC_ov19_021D69BC,
|
||||
FUNC_ov19_021D6A1C,
|
||||
FUNC_BoxGraphics_PickUpMonIntoCursor,
|
||||
FUNC_BoxGraphics_PlaceMonDownFromCursor,
|
||||
FUNC_ov19_021D6AB0,
|
||||
FUNC_ov19_021D6AEC,
|
||||
FUNC_ov19_021D6B1C,
|
||||
FUNC_BoxGraphics_PlayReleaseCursorMonAnimation,
|
||||
FUNC_BoxGraphics_PlayReleaseBoxMonAnimation,
|
||||
FUNC_BoxGraphics_PlayReleasePartyMonAnimation,
|
||||
FUNC_BoxGraphics_DisplayItemInfo,
|
||||
FUNC_BoxGraphics_CloseItemInfo,
|
||||
FUNC_ov19_021D6CB0,
|
||||
FUNC_ov19_021D6CF8,
|
||||
FUNC_ov19_021D6D40,
|
||||
FUNC_ov19_021D6D88,
|
||||
FUNC_BoxGraphics_ItemShrinkToNothing,
|
||||
FUNC_BoxGraphics_DisplayBoxMessage,
|
||||
FUNC_BoxGraphics_ShowMenu,
|
||||
FUNC_BoxGraphics_CloseMessageBox,
|
||||
FUNC_ov19_021D6EC0,
|
||||
FUNC_BoxGraphics_UpdateMenuCursor,
|
||||
FUNC_ov19_021D6F0C,
|
||||
FUNC_BoxGraphics_ShowBoxSelectionPopup,
|
||||
FUNC_BoxGraphics_ScrollBoxSelectionPopup,
|
||||
FUNC_ov19_021D6FB0,
|
||||
FUNC_BoxGraphics_TransitionWallpaper,
|
||||
FUNC_BoxGraphics_PressBoxButton,
|
||||
FUNC_BoxGraphics_OpenPartyPopup,
|
||||
FUNC_ov19_021D7138,
|
||||
FUNC_BoxGraphics_PlayAdjustPartyAnimation,
|
||||
FUNC_ov19_021D71F8,
|
||||
FUNC_ov19_021D7248,
|
||||
FUNC_ov19_021D7278,
|
||||
FUNC_ov19_021D72E8,
|
||||
FUNC_ov19_021D7324,
|
||||
FUNC_ov19_021D7340,
|
||||
FUNC_BoxGraphics_StartDrawMultiSelect,
|
||||
FUNC_ov19_021D7380,
|
||||
FUNC_BoxGraphics_ApplyMultiSelectMonShadingTask,
|
||||
FUNC_ov19_021D73B0,
|
||||
FUNC_ov19_021D73EC,
|
||||
FUNC_ov19_021D7408,
|
||||
FUNC_ov19_021D7424,
|
||||
FUNC_BoxGraphics_ScreenFadeBothToBlackLogOff,
|
||||
};
|
||||
|
||||
BOOL BoxGraphics_Load(UnkStruct_ov19_021D61B0 **param0, const UnkStruct_ov19_021D4DF0 *param1, const UnkStruct_ov19_021D5DF8 *param2);
|
||||
void BoxGraphics_Free(UnkStruct_ov19_021D61B0 *param0);
|
||||
void ov19_BoxTaskHandler(UnkStruct_ov19_021D61B0 *param0, enum BoxGraphicsFunctions function);
|
||||
BOOL ov19_IsSysTaskDone(UnkStruct_ov19_021D61B0 *param0, enum BoxGraphicsFunctions function);
|
||||
BOOL ov19_CheckAllTasksDone(UnkStruct_ov19_021D61B0 *param0);
|
||||
SysTask *ov19_021D77C8(SysTaskFunc param0, void *param1, u32 param2);
|
||||
NNSG2dImagePaletteProxy *ov19_021D77D0(UnkStruct_ov19_021D61B0 *param0);
|
||||
UnkStruct_ov19_021DA384 *ov19_021D77D8(UnkStruct_ov19_021D61B0 *param0);
|
||||
@@ -34,7 +89,7 @@ PokemonSpriteManager *ov19_021D7818(UnkStruct_ov19_021D61B0 *param0);
|
||||
int ov19_021D7820(UnkStruct_ov19_021D61B0 *param0);
|
||||
void ov19_021D783C(SpriteResourcesHeader *param0, NNSG2dImageProxy *param1, NNSG2dImagePaletteProxy *param2, NNSG2dCellDataBank *param3, NNSG2dCellAnimBankData *param4, u32 param5);
|
||||
Sprite *ov19_021D785C(SpriteList *param0, SpriteResourcesHeader *param1, u32 param2, u32 param3, u32 param4, int param5);
|
||||
void ov19_021D78AC(Sprite *param0, u32 param1);
|
||||
void BoxGraphics_SetSpritePriority(Sprite *sprite, u32 priority);
|
||||
void ov19_021D78C8(const u16 *param0, u16 *param1, u32 param2, u16 param3, u32 param4);
|
||||
const UnkStruct_ov19_021D5DF8 *ov19_021D7964(UnkStruct_ov19_021D61B0 *param0);
|
||||
void ov19_021D79B8(void *param0, UnkFuncPtr_ov19_021D79B8 param1, void *param2);
|
||||
|
||||
@@ -28,7 +28,7 @@ void ov19_021D8938(UnkStruct_ov19_021D8318 *param0);
|
||||
void ov19_021D8988(UnkStruct_ov19_021D8318 *param0, u32 param1, u32 param2);
|
||||
void ov19_021D89F4(UnkStruct_ov19_021D8318 *param0, u32 param1);
|
||||
void ov19_021D8A24(UnkStruct_ov19_021D8318 *param0);
|
||||
void ov19_021D8A6C(UnkStruct_ov19_021D8318 *param0);
|
||||
void BoxGraphics_ApplyMultiSelectMonShading(UnkStruct_ov19_021D8318 *param0);
|
||||
void ov19_021D8B14(UnkStruct_ov19_021D8318 *param0);
|
||||
|
||||
#endif // POKEPLATINUM_OV19_021D79F8_H
|
||||
|
||||
@@ -34,7 +34,7 @@ void ov19_021D9A64(UnkStruct_ov19_021D8E00 *param0);
|
||||
void ov19_021D9A8C(UnkStruct_ov19_021D8E00 *param0);
|
||||
void ov19_021D9AB0(UnkStruct_ov19_021D8E00 *param0, u32 param1);
|
||||
void ov19_021D9AEC(UnkStruct_ov19_021D8E00 *param0);
|
||||
void ov19_021D9B10(UnkStruct_ov19_021D8E00 *param0);
|
||||
void BoxGraphics_OpenMultiSelectCursor(UnkStruct_ov19_021D8E00 *param0);
|
||||
void ov19_021D9B1C(UnkStruct_ov19_021D8E00 *param0, VecFx32 *param1);
|
||||
void ov19_021D9B34(UnkStruct_ov19_021D8E00 *param0);
|
||||
BOOL ov19_021D9B64(UnkStruct_ov19_021D8E00 *param0);
|
||||
|
||||
@@ -27,7 +27,7 @@ void ov19_021DA744(UnkStruct_ov19_021DA384 *param0, void *param1, u32 param2, u3
|
||||
void ov19_021DA754(UnkStruct_ov19_021DA384 *param0, UnkStruct_ov19_021DCD18 *param1, u32 param2);
|
||||
void ov19_021DA7B8(UnkStruct_ov19_021DA384 *param0, UnkStruct_ov19_021DCD18 *param1, u32 param2);
|
||||
BOOL ov19_021DA7E0(UnkStruct_ov19_021DA384 *param0, UnkStruct_ov19_021DCD18 *param1);
|
||||
void ov19_021DA7F4(UnkStruct_ov19_021DA384 *param0, UnkStruct_ov19_021DCD18 *param1, BOOL param2);
|
||||
void BoxGraphics_ApplyMonInMultiSelectShading(UnkStruct_ov19_021DA384 *param0, UnkStruct_ov19_021DCD18 *param1, BOOL isSelected);
|
||||
NNSG2dCellDataBank *ov19_021DA80C(UnkStruct_ov19_021DA384 *param0);
|
||||
NNSG2dAnimBankData *ov19_021DA810(UnkStruct_ov19_021DA384 *param0);
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
#ifndef POKEPLATINUM_OV19_021DB2FC_H
|
||||
#define POKEPLATINUM_OV19_021DB2FC_H
|
||||
|
||||
#include "overlay019/struct_box_menu.h"
|
||||
#include "overlay019/struct_ov19_021D4DF0.h"
|
||||
#include "overlay019/struct_ov19_021D61B0_decl.h"
|
||||
#include "overlay019/struct_ov19_021DB6F0.h"
|
||||
#include "overlay019/struct_ov19_021DF964.h"
|
||||
|
||||
#include "bg_window.h"
|
||||
#include "message.h"
|
||||
@@ -15,10 +15,10 @@ BOOL ov19_021DB2FC(UnkStruct_ov19_021DB6F0 *param0, UnkStruct_ov19_021D61B0 *par
|
||||
void ov19_021DB370(UnkStruct_ov19_021DB6F0 *param0);
|
||||
void ov19_021DB3C4(UnkStruct_ov19_021DB6F0 *param0);
|
||||
void ov19_021DB448(UnkStruct_ov19_021DB6F0 *param0, u32 boxMessageID);
|
||||
void ov19_021DB57C(UnkStruct_ov19_021DB6F0 *param0, const UnkStruct_ov19_021DF964 *param1);
|
||||
void ov19_021DB57C(UnkStruct_ov19_021DB6F0 *param0, const BoxMenu *menu);
|
||||
void ov19_021DB6F0(UnkStruct_ov19_021DB6F0 *param0);
|
||||
void ov19_021DB724(UnkStruct_ov19_021DB6F0 *param0);
|
||||
void ov19_021DB748(UnkStruct_ov19_021DB6F0 *param0, const UnkStruct_ov19_021DF964 *param1);
|
||||
void ov19_021DB790(UnkStruct_ov19_021DB6F0 *param0, const UnkStruct_ov19_021DF964 *param1);
|
||||
void BoxGraphics_DrawMenuCursorBox(UnkStruct_ov19_021DB6F0 *param0, const BoxMenu *menu);
|
||||
void ov19_021DB790(UnkStruct_ov19_021DB6F0 *param0, const BoxMenu *menu);
|
||||
|
||||
#endif // POKEPLATINUM_OV19_021DB2FC_H
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
#ifndef POKEPLATINUM_OV19_021DF964_H
|
||||
#define POKEPLATINUM_OV19_021DF964_H
|
||||
|
||||
#include "overlay019/struct_ov19_021D4DF0.h"
|
||||
|
||||
#include "enums.h"
|
||||
|
||||
void ov19_021DF964(UnkStruct_ov19_021D4DF0 *param0, u32 param1);
|
||||
void ov19_021DF990(UnkStruct_ov19_021D4DF0 *param0);
|
||||
void ov19_021DFAD0(UnkStruct_ov19_021D4DF0 *param0);
|
||||
void ov19_021DFB50(UnkStruct_ov19_021D4DF0 *param0);
|
||||
void ov19_021DFB94(UnkStruct_ov19_021D4DF0 *param0, UnkEnum_021DFB94 param1);
|
||||
void ov19_021DFC04(UnkStruct_ov19_021D4DF0 *param0, UnkEnum_021DFB94 param1);
|
||||
void ov19_021DFC80(UnkStruct_ov19_021D4DF0 *param0);
|
||||
void ov19_021DFCE4(UnkStruct_ov19_021D4DF0 *param0, u32 param1);
|
||||
int ov19_021DFD2C(UnkStruct_ov19_021D4DF0 *param0);
|
||||
UnkEnum_021DFB94 ov19_021DFDDC(UnkStruct_ov19_021D4DF0 *param0);
|
||||
UnkEnum_021DFB94 ov19_021DFDEC(UnkStruct_ov19_021D4DF0 *param0);
|
||||
|
||||
#endif // POKEPLATINUM_OV19_021DF964_H
|
||||
91
include/overlay019/struct_box_menu.h
Normal file
91
include/overlay019/struct_box_menu.h
Normal file
@@ -0,0 +1,91 @@
|
||||
#ifndef POKEPLATINUM_STRUCT_BOX_MENU_H
|
||||
#define POKEPLATINUM_STRUCT_BOX_MENU_H
|
||||
|
||||
enum BoxMenuItem {
|
||||
BOX_MENU_NAVIGATION_NONE = -3,
|
||||
BOX_MENU_NAVIGATION_UP_DOWN,
|
||||
BOX_MENU_NAVIGATION_B,
|
||||
BOX_MENU_JUMP,
|
||||
BOX_MENU_WALLPAPER,
|
||||
BOX_MENU_NAME,
|
||||
BOX_MENU_HEADER_CANCEL,
|
||||
BOX_MENU_FIRST_WALLPAPER_PAGE,
|
||||
BOX_MENU_SCENERY_1 = BOX_MENU_FIRST_WALLPAPER_PAGE,
|
||||
BOX_MENU_SCENERY_2,
|
||||
BOX_MENU_SCENERY_3,
|
||||
BOX_MENU_ETCETERA,
|
||||
BOX_MENU_LAST_DEFAULT_WALLPAPER_PAGE = BOX_MENU_ETCETERA,
|
||||
BOX_MENU_FRIENDS_1,
|
||||
BOX_MENU_FRIENDS_2,
|
||||
BOX_MENU_LAST_WALLPAPER_PAGE = BOX_MENU_FRIENDS_2,
|
||||
BOX_MENU_FIRST_WALLPAPER,
|
||||
BOX_MENU_FOREST = BOX_MENU_FIRST_WALLPAPER,
|
||||
BOX_MENU_CITY,
|
||||
BOX_MENU_DESERT,
|
||||
BOX_MENU_SAVANNA,
|
||||
BOX_MENU_CRAG,
|
||||
BOX_MENU_VOLCANO,
|
||||
BOX_MENU_SNOW,
|
||||
BOX_MENU_CAVE,
|
||||
BOX_MENU_BEACH,
|
||||
BOX_MENU_SEAFLOOR,
|
||||
BOX_MENU_RIVER,
|
||||
BOX_MENU_SKY,
|
||||
BOX_MENU_POKECENTER,
|
||||
BOX_MENU_MACHINE,
|
||||
BOX_MENU_CHECKS,
|
||||
BOX_MENU_SIMPLE,
|
||||
BOX_MENU_FIRST_UNLOCKABLE_WALLPAPER,
|
||||
BOX_MENU_DISTORTION = BOX_MENU_FIRST_UNLOCKABLE_WALLPAPER,
|
||||
BOX_MENU_CONTEST,
|
||||
BOX_MENU_NOSTALGIC,
|
||||
BOX_MENU_CROAGUNK,
|
||||
BOX_MENU_TRIO,
|
||||
BOX_MENU_PIKAPIKA,
|
||||
BOX_MENU_LEGEND,
|
||||
BOX_MENU_TEAM_GALACTIC,
|
||||
BOX_MENU_LAST_WALLPAPER = BOX_MENU_TEAM_GALACTIC,
|
||||
BOX_MENU_MOVE,
|
||||
BOX_MENU_PLACE,
|
||||
BOX_MENU_SHIFT,
|
||||
BOX_MENU_SUMMARY,
|
||||
BOX_MENU_WITHDRAW,
|
||||
BOX_MENU_STORE,
|
||||
BOX_MENU_ITEM,
|
||||
BOX_MENU_MARK,
|
||||
BOX_MENU_RELEASE,
|
||||
BOX_MENU_CANCEL,
|
||||
BOX_MENU_CONFIRM,
|
||||
BOX_MENU_MARK_CANCEL,
|
||||
BOX_MENU_GIVE,
|
||||
BOX_MENU_TAKE,
|
||||
BOX_MENU_INFO,
|
||||
BOX_MENU_SWITCH,
|
||||
BOX_MENU_BAG,
|
||||
BOX_MENU_ITEMS_CANCEL,
|
||||
BOX_MENU_SET_ON_LEFT,
|
||||
BOX_MENU_SET_ON_RIGHT,
|
||||
BOX_MENU_YES,
|
||||
BOX_MENU_NO,
|
||||
BOX_MENU_FIRST_MARKING,
|
||||
BOX_MENU_CIRCLE = BOX_MENU_FIRST_MARKING,
|
||||
BOX_MENU_TRIANGLE,
|
||||
BOX_MENU_SQUARE,
|
||||
BOX_MENU_HEART,
|
||||
BOX_MENU_STAR,
|
||||
BOX_MENU_DIAMOND,
|
||||
BOX_MENU_LAST_MARKING = BOX_MENU_DIAMOND
|
||||
};
|
||||
|
||||
#define MAX_MENU_ITEMS 8
|
||||
#define MAX_WALLPAPERS_PER_PAGE 4
|
||||
|
||||
typedef struct BoxMenu {
|
||||
enum BoxMenuItem menuItems[MAX_MENU_ITEMS];
|
||||
u8 selectedMenuItemIndex;
|
||||
u8 totalMenuItems;
|
||||
u8 markings;
|
||||
u8 unused; // only assigned to, never read from
|
||||
} BoxMenu;
|
||||
|
||||
#endif // POKEPLATINUM_STRUCT_BOX_MENU_H
|
||||
@@ -8,10 +8,9 @@
|
||||
#include "overlay019/box_mon_selection.h"
|
||||
#include "overlay019/box_settings.h"
|
||||
#include "overlay019/pc_mon_preview.h"
|
||||
#include "overlay019/struct_box_menu.h"
|
||||
#include "overlay019/struct_ov19_021D4EE4.h"
|
||||
#include "overlay019/struct_ov19_021D4F34.h"
|
||||
#include "overlay019/struct_ov19_021D5D20.h"
|
||||
#include "overlay019/struct_ov19_021DF964.h"
|
||||
|
||||
#include "party.h"
|
||||
|
||||
@@ -23,8 +22,8 @@ typedef struct {
|
||||
BoxCustomization customization;
|
||||
BoxSettings boxSettings;
|
||||
PCMonPreview pcMonPreview;
|
||||
UnkStruct_ov19_021DF964 unk_74;
|
||||
UnkStruct_ov19_021D5D20 unk_98;
|
||||
BoxMenu boxMenu;
|
||||
u32 boxSelectionBoxID;
|
||||
UnkStruct_ov19_021D4F34 unk_9C;
|
||||
u8 padding_A2[2];
|
||||
UnkStruct_ov19_021D4EE4 unk_A4;
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#include "overlay019/pc_compare_mon.h"
|
||||
|
||||
typedef struct {
|
||||
u8 unk_00;
|
||||
u8 compareMonSlot;
|
||||
u8 unk_01;
|
||||
u8 unk_02[2];
|
||||
BOOL compareButtonAnimationPressed;
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
#ifndef POKEPLATINUM_STRUCT_OV19_021D5D20_H
|
||||
#define POKEPLATINUM_STRUCT_OV19_021D5D20_H
|
||||
|
||||
typedef struct {
|
||||
u32 unk_00;
|
||||
} UnkStruct_ov19_021D5D20;
|
||||
|
||||
#endif // POKEPLATINUM_STRUCT_OV19_021D5D20_H
|
||||
@@ -1,14 +0,0 @@
|
||||
#ifndef POKEPLATINUM_STRUCT_OV19_021DF964_H
|
||||
#define POKEPLATINUM_STRUCT_OV19_021DF964_H
|
||||
|
||||
#include "enums.h"
|
||||
|
||||
typedef struct {
|
||||
UnkEnum_021DFB94 unk_00[8];
|
||||
u8 unk_20;
|
||||
u8 unk_21;
|
||||
u8 unk_22;
|
||||
u8 unk_23;
|
||||
} UnkStruct_ov19_021DF964;
|
||||
|
||||
#endif // POKEPLATINUM_STRUCT_OV19_021DF964_H
|
||||
@@ -8,7 +8,7 @@
|
||||
typedef struct {
|
||||
SaveData *saveData;
|
||||
enum BoxMode boxMode;
|
||||
BOOL unk_08;
|
||||
BOOL recordBoxUseInJournal;
|
||||
} UnkStruct_02042434;
|
||||
|
||||
#endif // POKEPLATINUM_STRUCT_02042434_H
|
||||
|
||||
@@ -13,7 +13,7 @@ typedef struct {
|
||||
int unk_0C;
|
||||
int unk_10;
|
||||
int unk_14;
|
||||
Strbuf *unk_18;
|
||||
Strbuf *textInputStr;
|
||||
u16 unk_1C[20];
|
||||
int unk_44;
|
||||
PCBoxes *unk_48;
|
||||
|
||||
@@ -761,7 +761,7 @@ Overlay overlay19
|
||||
Object main.nef.p/src_overlay019_ov19_021DCF88.c.o
|
||||
Object main.nef.p/src_overlay019_ov19_021DE3E8.c.o
|
||||
Object main.nef.p/src_overlay019_ov19_021DEC04.c.o
|
||||
Object main.nef.p/src_overlay019_ov19_021DF964.c.o
|
||||
Object main.nef.p/src_overlay019_box_menu.c.o
|
||||
}
|
||||
|
||||
Overlay overlay20
|
||||
|
||||
@@ -10907,7 +10907,7 @@ static void BattleScript_CatchMonTask(SysTask *param0, void *param1)
|
||||
v3 = BattleSystem_PartyPokemon(v2->battleSys, v1, v2->battleCtx->selectedPartySlot[v1]);
|
||||
|
||||
if (v19->unk_14 == 0) {
|
||||
Pokemon_SetValue(v3, MON_DATA_NICKNAME_STRBUF_AND_FLAG, v19->unk_18);
|
||||
Pokemon_SetValue(v3, MON_DATA_NICKNAME_STRBUF_AND_FLAG, v19->textInputStr);
|
||||
ov16_0223F24C(v2->battleSys, (1 + 48));
|
||||
}
|
||||
|
||||
|
||||
@@ -582,7 +582,7 @@ pokeplatinum_c = files(
|
||||
'overlay019/ov19_021DCF88.c',
|
||||
'overlay019/ov19_021DE3E8.c',
|
||||
'overlay019/ov19_021DEC04.c',
|
||||
'overlay019/ov19_021DF964.c',
|
||||
'overlay019/box_menu.c',
|
||||
'overlay020/ov20_021D0D80.c',
|
||||
'overlay020/ov20_021D2098.c',
|
||||
'overlay020/ov20_021D2EA4.c',
|
||||
|
||||
299
src/overlay019/box_menu.c
Normal file
299
src/overlay019/box_menu.c
Normal file
@@ -0,0 +1,299 @@
|
||||
#include "overlay019/box_menu.h"
|
||||
|
||||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "constants/items.h"
|
||||
|
||||
#include "struct_decls/pc_boxes_decl.h"
|
||||
|
||||
#include "overlay019/ov19_021D0D80.h"
|
||||
#include "overlay019/pc_mon_preview.h"
|
||||
#include "overlay019/struct_box_menu.h"
|
||||
#include "overlay019/struct_ov19_021D4DF0.h"
|
||||
|
||||
#include "enums.h"
|
||||
#include "pc_boxes.h"
|
||||
#include "sound_playback.h"
|
||||
#include "system.h"
|
||||
|
||||
static void BoxMenu_ClearMenuItems(BoxMenu *menu);
|
||||
static void BoxMenu_AddMenuItem(BoxMenu *menu, enum BoxMenuItem menuItem);
|
||||
|
||||
void BoxMenu_FillYesNo(UnkStruct_ov19_021D4DF0 *param0, u32 menuItemIndex)
|
||||
{
|
||||
BoxMenu *menu = ¶m0->boxMenu;
|
||||
|
||||
BoxMenu_ClearMenuItems(menu);
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_YES);
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_NO);
|
||||
|
||||
menu->selectedMenuItemIndex = menuItemIndex;
|
||||
menu->unused = 0;
|
||||
}
|
||||
|
||||
void BoxMenu_FillTopLevelMenuItems(UnkStruct_ov19_021D4DF0 *param0)
|
||||
{
|
||||
BoxMenu *menu = &(param0->boxMenu);
|
||||
|
||||
BoxMenu_ClearMenuItems(menu);
|
||||
menu->unused = 1;
|
||||
|
||||
switch (ov19_GetBoxMode(param0)) {
|
||||
case PC_MODE_MOVE_MONS:
|
||||
default:
|
||||
if (ov19_GetPreviewMonSource(param0) == PREVIEW_MON_IN_CURSOR) {
|
||||
BoxMenu_AddMenuItem(menu, ov19_IsMonUnderCursor(param0) ? BOX_MENU_SHIFT : BOX_MENU_PLACE);
|
||||
} else {
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_MOVE);
|
||||
}
|
||||
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_SUMMARY);
|
||||
|
||||
const PCMonPreview *preview = ov19_GetPCMonPreview(param0);
|
||||
|
||||
if (preview->isEgg == FALSE) {
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_ITEM);
|
||||
}
|
||||
|
||||
BoxMenu_AddMenuItem(menu, (ov19_GetCursorLocation(param0) == CURSOR_IN_BOX) ? BOX_MENU_WITHDRAW : BOX_MENU_STORE);
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_MARK);
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_RELEASE);
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_CANCEL);
|
||||
break;
|
||||
case PC_MODE_DEPOSIT:
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_STORE);
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_SUMMARY);
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_MARK);
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_RELEASE);
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_CANCEL);
|
||||
break;
|
||||
case PC_MODE_WITHDRAW:
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_WITHDRAW);
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_SUMMARY);
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_MARK);
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_RELEASE);
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_CANCEL);
|
||||
break;
|
||||
case PC_MODE_COMPARE:
|
||||
BoxMenu_AddMenuItem(menu, (ov19_GetCompareMonSlot(param0) == 0) ? BOX_MENU_SET_ON_LEFT : BOX_MENU_SET_ON_RIGHT);
|
||||
BoxMenu_AddMenuItem(menu, (ov19_GetCursorLocation(param0) == CURSOR_IN_BOX) ? BOX_MENU_WITHDRAW : BOX_MENU_STORE);
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_MARK);
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_CANCEL);
|
||||
}
|
||||
}
|
||||
|
||||
void BoxMenu_FillItemsMenu(UnkStruct_ov19_021D4DF0 *param0)
|
||||
{
|
||||
BoxMenu *menu;
|
||||
u32 cursorItem, monItem;
|
||||
|
||||
menu = &(param0->boxMenu);
|
||||
cursorItem = ov19_GetCursorItem(param0);
|
||||
monItem = ov19_GetPreviewedMonHeldItem(param0);
|
||||
|
||||
BoxMenu_ClearMenuItems(menu);
|
||||
menu->unused = 1;
|
||||
|
||||
if (cursorItem != ITEM_NONE) {
|
||||
if (monItem != ITEM_NONE) {
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_SWITCH);
|
||||
} else {
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_GIVE);
|
||||
}
|
||||
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_BAG);
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_INFO);
|
||||
} else {
|
||||
if (monItem != ITEM_NONE) {
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_TAKE);
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_BAG);
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_INFO);
|
||||
} else {
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_GIVE);
|
||||
}
|
||||
}
|
||||
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_ITEMS_CANCEL);
|
||||
}
|
||||
|
||||
void BoxMenu_FillHeaderMenu(UnkStruct_ov19_021D4DF0 *param0)
|
||||
{
|
||||
BoxMenu *menu = &(param0->boxMenu);
|
||||
const PCBoxes *unused = ov19_GetPCBoxes(param0);
|
||||
|
||||
BoxMenu_ClearMenuItems(menu);
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_JUMP);
|
||||
|
||||
if (ov19_GetBoxMode(param0) != PC_MODE_COMPARE) {
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_WALLPAPER);
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_NAME);
|
||||
}
|
||||
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_HEADER_CANCEL);
|
||||
|
||||
menu->unused = 2;
|
||||
}
|
||||
|
||||
void BoxMenu_FillWallpaperMenu(UnkStruct_ov19_021D4DF0 *param0, enum BoxMenuItem menuItem)
|
||||
{
|
||||
BoxMenu *menu = &(param0->boxMenu);
|
||||
const PCBoxes *pcBoxes = ov19_GetPCBoxes(param0);
|
||||
u32 numUnlockedWallpapers;
|
||||
|
||||
BoxMenu_ClearMenuItems(menu);
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_SCENERY_1);
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_SCENERY_2);
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_SCENERY_3);
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_ETCETERA);
|
||||
|
||||
numUnlockedWallpapers = PCBoxes_CountUnlockedWallpapers(pcBoxes);
|
||||
|
||||
if (numUnlockedWallpapers > 0) {
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_FRIENDS_1);
|
||||
}
|
||||
|
||||
if (numUnlockedWallpapers > 4) {
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_FRIENDS_2);
|
||||
}
|
||||
|
||||
menu->unused = 3;
|
||||
|
||||
if (menuItem >= BOX_MENU_FIRST_WALLPAPER_PAGE && menuItem <= BOX_MENU_LAST_WALLPAPER_PAGE) {
|
||||
menu->selectedMenuItemIndex = menuItem - BOX_MENU_FIRST_WALLPAPER_PAGE;
|
||||
} else {
|
||||
GF_ASSERT(0);
|
||||
}
|
||||
}
|
||||
|
||||
void BoxMenu_FillWallpaperSelectionMenu(UnkStruct_ov19_021D4DF0 *param0, enum BoxMenuItem menuItem)
|
||||
{
|
||||
static const u16 sWallpaperPages[][MAX_WALLPAPERS_PER_PAGE] = {
|
||||
{ BOX_MENU_FOREST, BOX_MENU_CITY, BOX_MENU_DESERT, BOX_MENU_SAVANNA },
|
||||
{ BOX_MENU_CRAG, BOX_MENU_VOLCANO, BOX_MENU_SNOW, BOX_MENU_CAVE },
|
||||
{ BOX_MENU_BEACH, BOX_MENU_SEAFLOOR, BOX_MENU_RIVER, BOX_MENU_SKY },
|
||||
{ BOX_MENU_POKECENTER, BOX_MENU_MACHINE, BOX_MENU_CHECKS, BOX_MENU_SIMPLE },
|
||||
};
|
||||
BoxMenu *menu = &(param0->boxMenu);
|
||||
const PCBoxes *pcBoxes = ov19_GetPCBoxes(param0);
|
||||
int i;
|
||||
|
||||
BoxMenu_ClearMenuItems(menu);
|
||||
|
||||
if (menuItem >= BOX_MENU_FIRST_WALLPAPER_PAGE && menuItem <= BOX_MENU_LAST_DEFAULT_WALLPAPER_PAGE) {
|
||||
menuItem -= BOX_MENU_FIRST_WALLPAPER_PAGE;
|
||||
|
||||
for (i = 0; i < MAX_WALLPAPERS_PER_PAGE; i++) {
|
||||
BoxMenu_AddMenuItem(menu, sWallpaperPages[menuItem][i]);
|
||||
}
|
||||
} else { // unlockable wallpapers
|
||||
int firstUnlockedWallpaperPageCount = 0;
|
||||
int addedWallpaperCount = 0;
|
||||
|
||||
if (menuItem == BOX_MENU_FRIENDS_2) {
|
||||
firstUnlockedWallpaperPageCount = 4;
|
||||
}
|
||||
|
||||
for (i = 0; i < MAX_UNLOCKABLE_WALLPAPERS; i++) {
|
||||
if (PCBoxes_CheckHasUnlockedWallpaper(pcBoxes, i)) {
|
||||
if (firstUnlockedWallpaperPageCount) {
|
||||
firstUnlockedWallpaperPageCount--;
|
||||
} else {
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_FIRST_UNLOCKABLE_WALLPAPER + i);
|
||||
|
||||
if (++addedWallpaperCount >= MAX_WALLPAPERS_PER_PAGE) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
menu->unused = 3;
|
||||
}
|
||||
|
||||
void BoxMenu_FillMarkingsMenu(UnkStruct_ov19_021D4DF0 *param0)
|
||||
{
|
||||
BoxMenu *menu = &(param0->boxMenu);
|
||||
BoxMenu_ClearMenuItems(menu);
|
||||
|
||||
menu->unused = 4;
|
||||
menu->markings = param0->pcMonPreview.markings;
|
||||
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_CIRCLE);
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_TRIANGLE);
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_SQUARE);
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_HEART);
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_STAR);
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_DIAMOND);
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_CONFIRM);
|
||||
BoxMenu_AddMenuItem(menu, BOX_MENU_MARK_CANCEL);
|
||||
}
|
||||
|
||||
void BoxMenu_ToggleMarking(UnkStruct_ov19_021D4DF0 *param0, u32 marking)
|
||||
{
|
||||
BoxMenu *menu = &(param0->boxMenu);
|
||||
menu->markings ^= (1 << marking);
|
||||
}
|
||||
|
||||
static void BoxMenu_ClearMenuItems(BoxMenu *menu)
|
||||
{
|
||||
menu->totalMenuItems = 0;
|
||||
menu->selectedMenuItemIndex = 0;
|
||||
}
|
||||
|
||||
static void BoxMenu_AddMenuItem(BoxMenu *menu, enum BoxMenuItem menuItem)
|
||||
{
|
||||
if (menu->totalMenuItems < MAX_MENU_ITEMS) {
|
||||
menu->menuItems[menu->totalMenuItems++] = menuItem;
|
||||
}
|
||||
}
|
||||
|
||||
enum BoxMenuItem BoxMenu_GetMenuNavigation(UnkStruct_ov19_021D4DF0 *param0)
|
||||
{
|
||||
BoxMenu *menu = &(param0->boxMenu);
|
||||
|
||||
if (JOY_NEW(PAD_KEY_UP)) {
|
||||
if (menu->selectedMenuItemIndex) {
|
||||
menu->selectedMenuItemIndex--;
|
||||
return BOX_MENU_NAVIGATION_UP_DOWN;
|
||||
} else if (menu->totalMenuItems >= 3) {
|
||||
menu->selectedMenuItemIndex = menu->totalMenuItems - 1;
|
||||
return BOX_MENU_NAVIGATION_UP_DOWN;
|
||||
}
|
||||
}
|
||||
|
||||
if (JOY_NEW(PAD_KEY_DOWN)) {
|
||||
if (menu->selectedMenuItemIndex < (menu->totalMenuItems - 1)) {
|
||||
menu->selectedMenuItemIndex++;
|
||||
return BOX_MENU_NAVIGATION_UP_DOWN;
|
||||
} else if (menu->totalMenuItems >= 3) {
|
||||
menu->selectedMenuItemIndex = 0;
|
||||
return BOX_MENU_NAVIGATION_UP_DOWN;
|
||||
}
|
||||
}
|
||||
|
||||
if (JOY_NEW(PAD_BUTTON_B)) {
|
||||
Sound_PlayEffect(SEQ_SE_DP_DECIDE);
|
||||
return BOX_MENU_NAVIGATION_B;
|
||||
}
|
||||
|
||||
if (JOY_NEW(PAD_BUTTON_A)) {
|
||||
Sound_PlayEffect(SEQ_SE_DP_DECIDE);
|
||||
return menu->menuItems[menu->selectedMenuItemIndex];
|
||||
}
|
||||
|
||||
return BOX_MENU_NAVIGATION_NONE;
|
||||
}
|
||||
|
||||
enum BoxMenuItem BoxMenu_GetSelectedMenuItem(UnkStruct_ov19_021D4DF0 *param0)
|
||||
{
|
||||
BoxMenu *menu = &(param0->boxMenu);
|
||||
return menu->menuItems[menu->selectedMenuItemIndex];
|
||||
}
|
||||
|
||||
enum BoxMenuItem BoxMenu_GetDefaultMenuItem(UnkStruct_ov19_021D4DF0 *param0)
|
||||
{
|
||||
BoxMenu *menu = &(param0->boxMenu);
|
||||
return menu->menuItems[0];
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -153,18 +153,18 @@ static void ov19_021D7AF4(const UnkStruct_ov19_021D8318 *param0, int param1, u32
|
||||
}
|
||||
}
|
||||
|
||||
void ov19_021D7B4C(UnkStruct_ov19_021D8318 *param0, const BoxCustomization *customization, int param2, BOOL param3)
|
||||
void ov19_021D7B4C(UnkStruct_ov19_021D8318 *param0, const BoxCustomization *customization, int boxChangeDirection, BOOL param3)
|
||||
{
|
||||
u32 v0, v1, v2;
|
||||
|
||||
ov19_021D7AF4(param0, param2, &v0, &v1, &v2);
|
||||
ov19_021D7AF4(param0, boxChangeDirection, &v0, &v1, &v2);
|
||||
ov19_021D7BC0(param0, customization, v2, param3);
|
||||
ov19_021D7C58(param0, customization, v0);
|
||||
ov19_021D7D00(param0, customization, v1, v0, v2);
|
||||
|
||||
if (param3) {
|
||||
if (param2 == 0) {
|
||||
ov19_021D85C4(param0, param0->unk_58F0, customization->boxID, param0->unk_02, param2 * ((21 + 2) * 8), param0->unk_A8[param0->unk_02]);
|
||||
if (boxChangeDirection == 0) {
|
||||
ov19_021D85C4(param0, param0->unk_58F0, customization->boxID, param0->unk_02, boxChangeDirection * ((21 + 2) * 8), param0->unk_A8[param0->unk_02]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -172,7 +172,7 @@ void ov19_021D7B4C(UnkStruct_ov19_021D8318 *param0, const BoxCustomization *cust
|
||||
static void ov19_021D7BC0(UnkStruct_ov19_021D8318 *param0, const BoxCustomization *customization, int param2, BOOL param3)
|
||||
{
|
||||
NNSG2dPaletteData *v0;
|
||||
void *v1 = Graphics_GetPlttData(NARC_INDEX_GRAPHIC__BOX, Unk_ov19_021E0178[customization->wallpaper].unk_02, &v0, HEAP_ID_10);
|
||||
void *v1 = Graphics_GetPlttData(NARC_INDEX_GRAPHIC__BOX, Unk_ov19_021E0178[customization->wallpaper].unk_02, &v0, HEAP_ID_BOX_GRAPHICS);
|
||||
|
||||
if (v1) {
|
||||
int v2;
|
||||
@@ -196,7 +196,7 @@ static void ov19_021D7BC0(UnkStruct_ov19_021D8318 *param0, const BoxCustomizatio
|
||||
|
||||
static void ov19_021D7C58(UnkStruct_ov19_021D8318 *param0, const BoxCustomization *customization, int param2)
|
||||
{
|
||||
void *v0 = LoadMemberFromNARC(NARC_INDEX_GRAPHIC__BOX, Unk_ov19_021E0178[customization->wallpaper].unk_01, TRUE, HEAP_ID_10, TRUE);
|
||||
void *v0 = LoadMemberFromNARC(NARC_INDEX_GRAPHIC__BOX, Unk_ov19_021E0178[customization->wallpaper].unk_01, TRUE, HEAP_ID_BOX_GRAPHICS, TRUE);
|
||||
|
||||
if (v0 != NULL) {
|
||||
NNSG2dCharacterData *v1;
|
||||
@@ -204,7 +204,7 @@ static void ov19_021D7C58(UnkStruct_ov19_021D8318 *param0, const BoxCustomizatio
|
||||
if (NNS_G2dGetUnpackedBGCharacterData(v0, &v1)) {
|
||||
Window *v2;
|
||||
|
||||
v2 = Window_New(HEAP_ID_10, 1);
|
||||
v2 = Window_New(HEAP_ID_BOX_GRAPHICS, 1);
|
||||
|
||||
if (v2) {
|
||||
u32 v3, v4;
|
||||
@@ -230,7 +230,7 @@ static void ov19_021D7C58(UnkStruct_ov19_021D8318 *param0, const BoxCustomizatio
|
||||
|
||||
static void ov19_021D7D00(UnkStruct_ov19_021D8318 *param0, const BoxCustomization *customization, u32 param2, u32 param3, u32 param4)
|
||||
{
|
||||
void *v0 = LoadMemberFromNARC(NARC_INDEX_GRAPHIC__BOX, Unk_ov19_021E0178[customization->wallpaper].unk_00, TRUE, HEAP_ID_10, TRUE);
|
||||
void *v0 = LoadMemberFromNARC(NARC_INDEX_GRAPHIC__BOX, Unk_ov19_021E0178[customization->wallpaper].unk_00, TRUE, HEAP_ID_BOX_GRAPHICS, TRUE);
|
||||
|
||||
if (v0) {
|
||||
u16 *v1;
|
||||
@@ -248,22 +248,22 @@ static void ov19_021D7D00(UnkStruct_ov19_021D8318 *param0, const BoxCustomizatio
|
||||
}
|
||||
}
|
||||
|
||||
void ov19_021D7D70(UnkStruct_ov19_021D8318 *param0, const BoxCustomization *customization, int param2)
|
||||
void ov19_021D7D70(UnkStruct_ov19_021D8318 *param0, const BoxCustomization *customization, int boxChangeDirection)
|
||||
{
|
||||
param0->unk_08 = (Bg_GetXOffset(param0->unk_58F4, 3) & (REG_G2_BG3HOFS_OFFSET_MASK)) << FX32_SHIFT;
|
||||
param0->unk_14 = param0->unk_08 + ((((21 + 2) * 8) * param2) << FX32_SHIFT);
|
||||
param0->unk_14 = param0->unk_08 + ((((21 + 2) * 8) * boxChangeDirection) << FX32_SHIFT);
|
||||
param0->unk_10 = (param0->unk_14 - param0->unk_08) / (15 * 2);
|
||||
param0->unk_14 >>= FX32_SHIFT;
|
||||
param0->unk_14 &= (REG_G2_BG3HOFS_OFFSET_MASK);
|
||||
param0->unk_04 = (15 * 2);
|
||||
param0->unk_03 = param0->unk_02;
|
||||
param0->unk_01 += ((21 + 2) * param2);
|
||||
param0->unk_01 += ((21 + 2) * boxChangeDirection);
|
||||
param0->unk_01 &= 63;
|
||||
param0->unk_02 ^= 1;
|
||||
|
||||
{
|
||||
ov19_021D813C(param0, customization->boxID);
|
||||
ov19_021D7F14(param0, param0->unk_10, param2 * ((21 + 2) * 8));
|
||||
ov19_021D7F14(param0, param0->unk_10, boxChangeDirection * ((21 + 2) * 8));
|
||||
|
||||
param0->unk_30 = customization->boxID;
|
||||
param0->unk_34 = param0->unk_02;
|
||||
@@ -438,7 +438,7 @@ static void ov19_021D81B8(UnkStruct_ov19_021D8318 *param0, int param1, int param
|
||||
UnkStruct_ov19_021D81B8 *v0;
|
||||
|
||||
param0->unk_A3 = 0;
|
||||
v0 = Heap_AllocFromHeap(HEAP_ID_10, sizeof(UnkStruct_ov19_021D81B8));
|
||||
v0 = Heap_AllocFromHeap(HEAP_ID_BOX_GRAPHICS, sizeof(UnkStruct_ov19_021D81B8));
|
||||
|
||||
if (v0) {
|
||||
v0->unk_00 = param0;
|
||||
@@ -569,16 +569,16 @@ void ov19_021D845C(UnkStruct_ov19_021D8318 *param0, u32 param1, const UnkStruct_
|
||||
v0 = 88 + (param0->unk_02 * 480) + ((4 * 4) * param1);
|
||||
v1 = ¶m0->unk_A8[param0->unk_02][param1];
|
||||
ov19_021DA418(param2, v1, 1);
|
||||
ov19_021DA7F4(param0->unk_58F0, v1, 0);
|
||||
BoxGraphics_ApplyMonInMultiSelectShading(param0->unk_58F0, v1, FALSE);
|
||||
ov19_021DA754(param0->unk_58F0, v1, v0);
|
||||
ov19_021D78AC(v1->unk_00, ov19_021D85B4(param1));
|
||||
BoxGraphics_SetSpritePriority(v1->unk_00, ov19_021D85B4(param1));
|
||||
|
||||
ov19_021D89F4(param0, param1);
|
||||
}
|
||||
|
||||
UnkStruct_ov19_021DCD18 *ov19_021D84C8(UnkStruct_ov19_021D8318 *param0, u32 param1)
|
||||
UnkStruct_ov19_021DCD18 *ov19_021D84C8(UnkStruct_ov19_021D8318 *param0, u32 posInBox)
|
||||
{
|
||||
return ¶m0->unk_A8[param0->unk_02][param1];
|
||||
return ¶m0->unk_A8[param0->unk_02][posInBox];
|
||||
}
|
||||
|
||||
void ov19_021D84E0(UnkStruct_ov19_021D8318 *param0)
|
||||
@@ -782,12 +782,12 @@ static void ov19_021D8764(u16 *param0, const u16 *param1, u32 param2, u32 param3
|
||||
}
|
||||
}
|
||||
|
||||
void ov19_021D8860(UnkStruct_ov19_021D8318 *param0, u32 param1)
|
||||
void ov19_021D8860(UnkStruct_ov19_021D8318 *param0, u32 boxCursorPosition)
|
||||
{
|
||||
param0->unk_A0 = param1;
|
||||
param0->unk_A0 = boxCursorPosition;
|
||||
param0->unk_A4 = 0;
|
||||
|
||||
ov19_021DA7B8(param0->unk_58F0, &(param0->unk_A8[param0->unk_02][param1]), 1);
|
||||
ov19_021DA7B8(param0->unk_58F0, &(param0->unk_A8[param0->unk_02][boxCursorPosition]), 1);
|
||||
}
|
||||
|
||||
BOOL ov19_021D8898(UnkStruct_ov19_021D8318 *param0)
|
||||
@@ -799,10 +799,10 @@ BOOL ov19_021D8898(UnkStruct_ov19_021D8318 *param0)
|
||||
if (ov19_021DA7E0(param0->unk_58F0, v0)) {
|
||||
const UnkStruct_ov19_021D5DF8 *v1 = ov19_021D7964(param0->unk_58FC);
|
||||
|
||||
if (ov19_021D3B18(v1)) {
|
||||
if (ov19_021D3B20(v1)) {
|
||||
if (ov19_HasCheckedCanReleaseMon(v1)) {
|
||||
if (ov19_CanReleaseMon(v1)) {
|
||||
ov19_021DA3F0(param0->unk_58F0, v0, 1);
|
||||
return 1;
|
||||
return TRUE;
|
||||
} else {
|
||||
ov19_021DA7B8(param0->unk_58F0, v0, 2);
|
||||
param0->unk_A4++;
|
||||
@@ -814,12 +814,12 @@ BOOL ov19_021D8898(UnkStruct_ov19_021D8318 *param0)
|
||||
|
||||
case 1:
|
||||
if (ov19_021DA7E0(param0->unk_58F0, v0)) {
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void ov19_021D8938(UnkStruct_ov19_021D8318 *param0)
|
||||
@@ -862,36 +862,34 @@ void ov19_021D8A24(UnkStruct_ov19_021D8318 *param0)
|
||||
}
|
||||
}
|
||||
|
||||
void ov19_021D8A6C(UnkStruct_ov19_021D8318 *param0)
|
||||
void BoxGraphics_ApplyMultiSelectMonShading(UnkStruct_ov19_021D8318 *param0)
|
||||
{
|
||||
u32 v0, v1, v2, v3, v4, v5, v6;
|
||||
u32 leftCol, rightCol, topRow, bottomRow, col, row, posInBox;
|
||||
|
||||
ov19_GetMultiSelectBoundingBox(param0->unk_58F8, &v0, &v1, &v2, &v3);
|
||||
ov19_GetMultiSelectBoundingBox(param0->unk_58F8, &leftCol, &rightCol, &topRow, &bottomRow);
|
||||
|
||||
v6 = 0;
|
||||
posInBox = 0;
|
||||
|
||||
for (v5 = 0; v5 < 5; v5++) {
|
||||
for (v4 = 0; v4 < 6; v4++) {
|
||||
if (param0->unk_A8[param0->unk_02][v6].unk_00 != NULL) {
|
||||
if (((u32)(v4 - v0) <= (u32)(v1 - v0)) & ((u32)(v5 - v2) <= (u32)(v3 - v2))) {
|
||||
ov19_021DA7F4(param0->unk_58F0, &(param0->unk_A8[param0->unk_02][v6]), 1);
|
||||
for (row = 0; row < MAX_PC_ROWS; row++) {
|
||||
for (col = 0; col < MAX_PC_COLS; col++) {
|
||||
if (param0->unk_A8[param0->unk_02][posInBox].unk_00 != NULL) {
|
||||
if (((u32)(col - leftCol) <= (u32)(rightCol - leftCol)) & ((u32)(row - topRow) <= (u32)(bottomRow - topRow))) {
|
||||
BoxGraphics_ApplyMonInMultiSelectShading(param0->unk_58F0, &(param0->unk_A8[param0->unk_02][posInBox]), TRUE);
|
||||
} else {
|
||||
ov19_021DA7F4(param0->unk_58F0, &(param0->unk_A8[param0->unk_02][v6]), 0);
|
||||
BoxGraphics_ApplyMonInMultiSelectShading(param0->unk_58F0, &(param0->unk_A8[param0->unk_02][posInBox]), FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
v6++;
|
||||
posInBox++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ov19_021D8B14(UnkStruct_ov19_021D8318 *param0)
|
||||
{
|
||||
int v0;
|
||||
|
||||
for (v0 = 0; v0 < (5 * 6); v0++) {
|
||||
if (param0->unk_A8[param0->unk_02][v0].unk_00 != NULL) {
|
||||
ov19_021DA7F4(param0->unk_58F0, &(param0->unk_A8[param0->unk_02][v0]), 0);
|
||||
for (int i = 0; i < MAX_MONS_PER_BOX; i++) {
|
||||
if (param0->unk_A8[param0->unk_02][i].unk_00 != NULL) {
|
||||
BoxGraphics_ApplyMonInMultiSelectShading(param0->unk_58F0, &(param0->unk_A8[param0->unk_02][i]), FALSE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -82,8 +82,8 @@ BOOL ov19_021D8B54(UnkStruct_ov19_021D8E00 *param0, UnkStruct_ov19_021D61B0 *par
|
||||
param0->unk_10 = NULL;
|
||||
param0->unk_754 = 0;
|
||||
param0->unk_78E = 1;
|
||||
param0->unk_14 = Graphics_GetCellBankFromOpenNARC(param4, 13, 1, &(param0->unk_1C), HEAP_ID_10);
|
||||
param0->unk_18 = Graphics_GetAnimBankFromOpenNARC(param4, 14, 1, &(param0->unk_20), HEAP_ID_10);
|
||||
param0->unk_14 = Graphics_GetCellBankFromOpenNARC(param4, 13, 1, &(param0->unk_1C), HEAP_ID_BOX_GRAPHICS);
|
||||
param0->unk_18 = Graphics_GetAnimBankFromOpenNARC(param4, 14, 1, &(param0->unk_20), HEAP_ID_BOX_GRAPHICS);
|
||||
|
||||
if ((param0->unk_14 == NULL) || (param0->unk_18 == NULL)) {
|
||||
return 0;
|
||||
@@ -535,7 +535,7 @@ BOOL ov19_021D9530(UnkStruct_ov19_021D8E00 *param0)
|
||||
|
||||
static void ov19_021D9554(UnkStruct_ov19_021D8E00 *param0, Sprite *param1, fx32 param2, s32 param3, u32 param4)
|
||||
{
|
||||
UnkStruct_ov19_021D9554 *v0 = Heap_AllocFromHeap(HEAP_ID_10, sizeof(UnkStruct_ov19_021D9554));
|
||||
UnkStruct_ov19_021D9554 *v0 = Heap_AllocFromHeap(HEAP_ID_BOX_GRAPHICS, sizeof(UnkStruct_ov19_021D9554));
|
||||
|
||||
if (v0) {
|
||||
VecFx32 v1;
|
||||
@@ -588,7 +588,7 @@ static void ov19_021D9600(SysTask *param0, void *param1)
|
||||
v0->unk_04--;
|
||||
|
||||
if (v0->unk_04 == v0->unk_06) {
|
||||
ov19_021D78AC(v0->unk_00, v0->unk_08);
|
||||
BoxGraphics_SetSpritePriority(v0->unk_00, v0->unk_08);
|
||||
}
|
||||
|
||||
v0->unk_0C += v0->unk_1C;
|
||||
@@ -749,8 +749,8 @@ BOOL ov19_021D995C(UnkStruct_ov19_021D8E00 *param0)
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (ov19_021D3B18(v0)) {
|
||||
if (ov19_021D3B20(v0)) {
|
||||
if (ov19_HasCheckedCanReleaseMon(v0)) {
|
||||
if (ov19_CanReleaseMon(v0)) {
|
||||
Sprite_SetAnim(param0->unk_04, 0);
|
||||
ov19_021DA204(param0);
|
||||
return 1;
|
||||
@@ -833,7 +833,7 @@ void ov19_021D9AEC(UnkStruct_ov19_021D8E00 *param0)
|
||||
}
|
||||
}
|
||||
|
||||
void ov19_021D9B10(UnkStruct_ov19_021D8E00 *param0)
|
||||
void BoxGraphics_OpenMultiSelectCursor(UnkStruct_ov19_021D8E00 *param0)
|
||||
{
|
||||
Sprite_SetAnim(param0->unk_04, 1);
|
||||
}
|
||||
@@ -1069,7 +1069,7 @@ static void ov19_021DA038(UnkStruct_ov19_021D8E00 *param0)
|
||||
int v0;
|
||||
|
||||
for (v0 = 0; v0 < param0->unk_754; v0++) {
|
||||
ov19_021D78AC(param0->unk_4C[v0].unk_00, 2);
|
||||
BoxGraphics_SetSpritePriority(param0->unk_4C[v0].unk_00, 2);
|
||||
}
|
||||
|
||||
param0->unk_78C = 1;
|
||||
|
||||
@@ -23,12 +23,12 @@ BOOL ov19_021DA270(UnkStruct_ov19_021DA384 *param0, UnkStruct_ov19_021D61B0 *par
|
||||
NNSG2dPaletteData *v1;
|
||||
void *v2;
|
||||
|
||||
param0->unk_48 = NARC_ctor(NARC_INDEX_POKETOOL__ICONGRA__PL_POKE_ICON, HEAP_ID_10);
|
||||
param0->unk_48 = NARC_ctor(NARC_INDEX_POKETOOL__ICONGRA__PL_POKE_ICON, HEAP_ID_BOX_GRAPHICS);
|
||||
|
||||
NNS_G2dInitImagePaletteProxy(&v0);
|
||||
Graphics_LoadPartialPaletteFromOpenNARC(param0->unk_48, PokeIconPalettesFileIndex(), NNS_G2D_VRAM_TYPE_2DMAIN, 2 * 0x20, 10, &v0);
|
||||
|
||||
v2 = Graphics_GetPlttDataFromOpenNARC(param0->unk_48, PokeIconPalettesFileIndex(), &v1, HEAP_ID_10);
|
||||
v2 = Graphics_GetPlttDataFromOpenNARC(param0->unk_48, PokeIconPalettesFileIndex(), &v1, HEAP_ID_BOX_GRAPHICS);
|
||||
|
||||
if (v2) {
|
||||
BOOL v3;
|
||||
@@ -47,10 +47,10 @@ BOOL ov19_021DA270(UnkStruct_ov19_021DA384 *param0, UnkStruct_ov19_021D61B0 *par
|
||||
Heap_FreeToHeap(v2);
|
||||
}
|
||||
|
||||
param0->unk_08 = Graphics_GetCellBankFromOpenNARC(param4, 21, 1, &(param0->unk_10), HEAP_ID_10);
|
||||
param0->unk_00 = Graphics_GetAnimBankFromOpenNARC(param4, 22, 1, &(param0->unk_04), HEAP_ID_10);
|
||||
param0->unk_14 = Graphics_GetCellBankFromOpenNARC(param4, 23, 1, &(param0->unk_1C), HEAP_ID_10);
|
||||
param0->unk_18 = Graphics_GetAnimBankFromOpenNARC(param4, 24, 1, &(param0->unk_20), HEAP_ID_10);
|
||||
param0->unk_08 = Graphics_GetCellBankFromOpenNARC(param4, 21, 1, &(param0->unk_10), HEAP_ID_BOX_GRAPHICS);
|
||||
param0->unk_00 = Graphics_GetAnimBankFromOpenNARC(param4, 22, 1, &(param0->unk_04), HEAP_ID_BOX_GRAPHICS);
|
||||
param0->unk_14 = Graphics_GetCellBankFromOpenNARC(param4, 23, 1, &(param0->unk_1C), HEAP_ID_BOX_GRAPHICS);
|
||||
param0->unk_18 = Graphics_GetAnimBankFromOpenNARC(param4, 24, 1, &(param0->unk_20), HEAP_ID_BOX_GRAPHICS);
|
||||
|
||||
if ((param0->unk_08 == NULL) || (param0->unk_00 == NULL) || (param0->unk_48 == NULL)) {
|
||||
return 0;
|
||||
@@ -282,9 +282,9 @@ BOOL ov19_021DA7E0(UnkStruct_ov19_021DA384 *param0, UnkStruct_ov19_021DCD18 *par
|
||||
return Sprite_IsAnimated(param1->unk_00) == 0;
|
||||
}
|
||||
|
||||
void ov19_021DA7F4(UnkStruct_ov19_021DA384 *param0, UnkStruct_ov19_021DCD18 *param1, BOOL param2)
|
||||
void BoxGraphics_ApplyMonInMultiSelectShading(UnkStruct_ov19_021DA384 *param0, UnkStruct_ov19_021DCD18 *param1, BOOL isSelected)
|
||||
{
|
||||
u32 v0 = ((param2) ? 6 : 2) + param1->unk_2C;
|
||||
u32 v0 = ((isSelected) ? 6 : 2) + param1->unk_2C;
|
||||
|
||||
Sprite_SetExplicitPalette(param1->unk_00, v0);
|
||||
}
|
||||
|
||||
@@ -20,8 +20,8 @@ BOOL ov19_021DA814(UnkStruct_ov19_021DA8D8 *param0, UnkStruct_ov19_021D61B0 *par
|
||||
param0->unk_40 = param2;
|
||||
param0->unk_00 = param3;
|
||||
param0->unk_04 = NULL;
|
||||
param0->unk_08 = Graphics_GetCellBankFromOpenNARC(param4, 10, 1, &(param0->unk_10), HEAP_ID_10);
|
||||
param0->unk_0C = Graphics_GetAnimBankFromOpenNARC(param4, 11, 1, &(param0->unk_14), HEAP_ID_10);
|
||||
param0->unk_08 = Graphics_GetCellBankFromOpenNARC(param4, 10, 1, &(param0->unk_10), HEAP_ID_BOX_GRAPHICS);
|
||||
param0->unk_0C = Graphics_GetAnimBankFromOpenNARC(param4, 11, 1, &(param0->unk_14), HEAP_ID_BOX_GRAPHICS);
|
||||
|
||||
if ((param0->unk_08 == NULL) || (param0->unk_0C == NULL)) {
|
||||
return 0;
|
||||
|
||||
@@ -64,13 +64,13 @@ BOOL ov19_021DA92C(UnkStruct_ov19_021DA9E0 *param0, UnkStruct_ov19_021D61B0 *par
|
||||
param0->unk_4C = NULL;
|
||||
param0->unk_24 = NULL;
|
||||
param0->unk_20 = ov19_021D7818(param1);
|
||||
param0->unk_18 = sub_0200C440(9, 6, 15, HEAP_ID_10);
|
||||
param0->unk_1C = sub_0200C440(1, 2, 15, HEAP_ID_10);
|
||||
param0->unk_28 = Graphics_GetCellBankFromOpenNARC(param6, 16, 1, &(param0->unk_2C), HEAP_ID_10);
|
||||
param0->unk_18 = sub_0200C440(9, 6, 15, HEAP_ID_BOX_GRAPHICS);
|
||||
param0->unk_1C = sub_0200C440(1, 2, 15, HEAP_ID_BOX_GRAPHICS);
|
||||
param0->unk_28 = Graphics_GetCellBankFromOpenNARC(param6, 16, 1, &(param0->unk_2C), HEAP_ID_BOX_GRAPHICS);
|
||||
param0->unk_30 = NULL;
|
||||
param0->unk_44 = MessageLoader_GetNewStrbuf(param5, 21);
|
||||
param0->unk_48 = MessageLoader_GetNewStrbuf(param5, 22);
|
||||
param0->unk_34 = Graphics_GetCellBank(TypeIcon_GetNARC(), TypeIcon_GetCell(), 1, &(param0->unk_38), HEAP_ID_10);
|
||||
param0->unk_34 = Graphics_GetCellBank(TypeIcon_GetNARC(), TypeIcon_GetCell(), 1, &(param0->unk_38), HEAP_ID_BOX_GRAPHICS);
|
||||
|
||||
for (v0 = 0; v0 < 2; v0++) {
|
||||
param0->unk_3C[v0] = NULL;
|
||||
@@ -179,7 +179,7 @@ void ov19_021DAADC(UnkStruct_ov19_021DA9E0 *param0)
|
||||
return;
|
||||
}
|
||||
|
||||
param0->unk_04 = Window_New(HEAP_ID_10, 4);
|
||||
param0->unk_04 = Window_New(HEAP_ID_BOX_GRAPHICS, 4);
|
||||
|
||||
if (param0->unk_04) {
|
||||
int v1;
|
||||
@@ -211,7 +211,7 @@ static void ov19_021DAB44(UnkStruct_ov19_021DA9E0 *param0)
|
||||
narcID = TypeIcon_GetNARC();
|
||||
v3 = TypeIcon_GetChar(2);
|
||||
|
||||
Graphics_LoadPalette(narcID, TypeIcon_GetPlttSrc(), 1, 10 * 0x20, 0x20 * 3, HEAP_ID_10);
|
||||
Graphics_LoadPalette(narcID, TypeIcon_GetPlttSrc(), 1, 10 * 0x20, 0x20 * 3, HEAP_ID_BOX_GRAPHICS);
|
||||
|
||||
for (i = 0; i < 2; i++) {
|
||||
NNS_G2dInitImageProxy(&v0);
|
||||
@@ -235,7 +235,7 @@ static void ov19_021DAB44(UnkStruct_ov19_021DA9E0 *param0)
|
||||
static void ov19_021DAC4C(UnkStruct_ov19_021DA9E0 *param0)
|
||||
{
|
||||
if (param0->unk_4C == NULL) {
|
||||
UnkStruct_ov19_021DAE2C *v0 = Heap_AllocFromHeap(HEAP_ID_10, sizeof(UnkStruct_ov19_021DAE2C));
|
||||
UnkStruct_ov19_021DAE2C *v0 = Heap_AllocFromHeap(HEAP_ID_BOX_GRAPHICS, sizeof(UnkStruct_ov19_021DAE2C));
|
||||
|
||||
if (v0) {
|
||||
const PCMonPreview *preview = ov19_GetPCMonPreview(param0->unk_10);
|
||||
@@ -405,7 +405,7 @@ static void ov19_021DAE60(Window *param0, UnkStruct_ov19_021DA9E0 *param1, u32 p
|
||||
v3 = TypeIcon_GetNARC();
|
||||
v4 = TypeIcon_GetChar(param1->unk_10->pcMonPreview.type1);
|
||||
|
||||
Graphics_LoadObjectTiles(TypeIcon_GetNARC(), TypeIcon_GetChar(param1->unk_10->pcMonPreview.type1), 0, 1504 * 0x20, 0, 1, HEAP_ID_10);
|
||||
Graphics_LoadObjectTiles(TypeIcon_GetNARC(), TypeIcon_GetChar(param1->unk_10->pcMonPreview.type1), 0, 1504 * 0x20, 0, 1, HEAP_ID_BOX_GRAPHICS);
|
||||
|
||||
v2 = *Sprite_GetPosition(param1->unk_3C[0]);
|
||||
v2.y = (176 + (16 * param3)) << FX32_SHIFT;
|
||||
@@ -415,7 +415,7 @@ static void ov19_021DAE60(Window *param0, UnkStruct_ov19_021DA9E0 *param1, u32 p
|
||||
Sprite_SetDrawFlag(param1->unk_3C[0], 1);
|
||||
|
||||
if (param1->unk_10->pcMonPreview.type1 != param1->unk_10->pcMonPreview.type2) {
|
||||
Graphics_LoadObjectTiles(TypeIcon_GetNARC(), TypeIcon_GetChar(param1->unk_10->pcMonPreview.type2), 0, (1504 + 8) * 0x20, 0, 1, HEAP_ID_10);
|
||||
Graphics_LoadObjectTiles(TypeIcon_GetNARC(), TypeIcon_GetChar(param1->unk_10->pcMonPreview.type2), 0, (1504 + 8) * 0x20, 0, 1, HEAP_ID_BOX_GRAPHICS);
|
||||
|
||||
v2.x += (36 << FX32_SHIFT);
|
||||
|
||||
|
||||
@@ -3,10 +3,10 @@
|
||||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "overlay019/struct_box_menu.h"
|
||||
#include "overlay019/struct_ov19_021D4DF0.h"
|
||||
#include "overlay019/struct_ov19_021D61B0_decl.h"
|
||||
#include "overlay019/struct_ov19_021DB6F0.h"
|
||||
#include "overlay019/struct_ov19_021DF964.h"
|
||||
|
||||
#include "bg_window.h"
|
||||
#include "enums.h"
|
||||
@@ -22,27 +22,27 @@
|
||||
#include "text.h"
|
||||
|
||||
static void ov19_021DB4B4(BgConfig *param0, u32 param1, u32 param2, u32 param3, u32 param4, u32 param5);
|
||||
static void ov19_021DB638(UnkStruct_ov19_021DB6F0 *param0, Window *param1, u8 param2, u32 param3);
|
||||
static void ov19_021DB638(UnkStruct_ov19_021DB6F0 *param0, Window *param1, u8 markings, u32 param3);
|
||||
static void ov19_021DB684(UnkStruct_ov19_021DB6F0 *param0, u32 param1);
|
||||
static void ov19_021DB7BC(BgConfig *param0, u32 param1, u32 param2, u32 param3, u32 param4, u32 param5);
|
||||
static void ov19_021DB84C(BgConfig *param0, Window *param1);
|
||||
static void ov19_021DB898(BgConfig *param0, Window *param1);
|
||||
|
||||
BOOL ov19_021DB2FC(UnkStruct_ov19_021DB6F0 *param0, UnkStruct_ov19_021D61B0 *param1, const UnkStruct_ov19_021D4DF0 *param2, BgConfig *param3, SpriteList *param4, MessageLoader *param5, const StringTemplate *param6, int param7, NARC *param8)
|
||||
BOOL ov19_021DB2FC(UnkStruct_ov19_021DB6F0 *param0, UnkStruct_ov19_021D61B0 *param1, const UnkStruct_ov19_021D4DF0 *param2, BgConfig *param3, SpriteList *param4, MessageLoader *boxMessagesLoader, const StringTemplate *messageVariableBuffer, int optionsFrame, NARC *param8)
|
||||
{
|
||||
param0->unk_0C = param1;
|
||||
param0->unk_00 = param3;
|
||||
param0->unk_08 = param2;
|
||||
param0->unk_2C = param6;
|
||||
param0->unk_20 = param7;
|
||||
param0->unk_10 = param5;
|
||||
param0->unk_14 = MessageLoader_Init(MESSAGE_LOADER_BANK_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_POKEMON_STORAGE_SYSTEM, HEAP_ID_10);
|
||||
param0->unk_30 = Strbuf_Init(64, HEAP_ID_10);
|
||||
param0->unk_34 = Strbuf_Init(64, HEAP_ID_10);
|
||||
param0->unk_2C = messageVariableBuffer;
|
||||
param0->unk_20 = optionsFrame;
|
||||
param0->unk_10 = boxMessagesLoader;
|
||||
param0->unk_14 = MessageLoader_Init(MESSAGE_LOADER_BANK_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_POKEMON_STORAGE_SYSTEM, HEAP_ID_BOX_GRAPHICS);
|
||||
param0->unk_30 = Strbuf_Init(64, HEAP_ID_BOX_GRAPHICS);
|
||||
param0->unk_34 = Strbuf_Init(64, HEAP_ID_BOX_GRAPHICS);
|
||||
param0->unk_1C = 0;
|
||||
param0->unk_1E = 0;
|
||||
param0->unk_18 = NULL;
|
||||
param0->unk_24 = Graphics_GetCharDataFromOpenNARC(param8, 25, 1, &(param0->unk_28), HEAP_ID_10);
|
||||
param0->unk_24 = Graphics_GetCharDataFromOpenNARC(param8, 25, 1, &(param0->unk_28), HEAP_ID_BOX_GRAPHICS);
|
||||
|
||||
if ((param0->unk_24 == NULL) || (param0->unk_30 == NULL) || (param0->unk_34 == NULL)) {
|
||||
return 0;
|
||||
@@ -88,7 +88,7 @@ void ov19_021DB3C4(UnkStruct_ov19_021DB6F0 *param0)
|
||||
{ 1, 19, 3, 12, 16, 4, 593 }
|
||||
};
|
||||
|
||||
param0->unk_18 = Window_New(HEAP_ID_10, 2);
|
||||
param0->unk_18 = Window_New(HEAP_ID_BOX_GRAPHICS, 2);
|
||||
|
||||
if (param0->unk_18) {
|
||||
int v1;
|
||||
@@ -98,9 +98,9 @@ void ov19_021DB3C4(UnkStruct_ov19_021DB6F0 *param0)
|
||||
}
|
||||
}
|
||||
|
||||
Graphics_LoadTilesToBgLayer(NARC_INDEX_GRAPHIC__PL_WINFRAME, 0, param0->unk_00, 1, 512, 0, 0, HEAP_ID_10);
|
||||
Graphics_LoadPalette(NARC_INDEX_GRAPHIC__PL_WINFRAME, 24, 0, 7 * 0x20, 0x20, HEAP_ID_10);
|
||||
LoadMessageBoxGraphics(param0->unk_00, 1, 521, 8, param0->unk_20, HEAP_ID_10);
|
||||
Graphics_LoadTilesToBgLayer(NARC_INDEX_GRAPHIC__PL_WINFRAME, 0, param0->unk_00, 1, 512, 0, 0, HEAP_ID_BOX_GRAPHICS);
|
||||
Graphics_LoadPalette(NARC_INDEX_GRAPHIC__PL_WINFRAME, 24, 0, 7 * 0x20, 0x20, HEAP_ID_BOX_GRAPHICS);
|
||||
LoadMessageBoxGraphics(param0->unk_00, 1, 521, 8, param0->unk_20, HEAP_ID_BOX_GRAPHICS);
|
||||
}
|
||||
|
||||
void ov19_021DB448(UnkStruct_ov19_021DB6F0 *param0, u32 boxMessageID)
|
||||
@@ -159,10 +159,10 @@ static void ov19_021DB4B4(BgConfig *param0, u32 param1, u32 param2, u32 param3,
|
||||
v0[4 + param4] = (8 << 12) | (521 + 17);
|
||||
}
|
||||
|
||||
void ov19_021DB57C(UnkStruct_ov19_021DB6F0 *param0, const UnkStruct_ov19_021DF964 *param1)
|
||||
void ov19_021DB57C(UnkStruct_ov19_021DB6F0 *param0, const BoxMenu *menu)
|
||||
{
|
||||
Window *v0;
|
||||
u32 v1, v2;
|
||||
u32 v1, i;
|
||||
|
||||
if (param0->unk_1E) {
|
||||
ov19_021DB84C(param0->unk_00, ¶m0->unk_18[1]);
|
||||
@@ -170,21 +170,21 @@ void ov19_021DB57C(UnkStruct_ov19_021DB6F0 *param0, const UnkStruct_ov19_021DF96
|
||||
|
||||
v0 = &(param0->unk_18[1]);
|
||||
Window_FillTilemap(v0, 15);
|
||||
v1 = (8 - param1->unk_21) * 16;
|
||||
v1 = (8 - menu->totalMenuItems) * 16;
|
||||
|
||||
for (v2 = 0; v2 < param1->unk_21; v2++) {
|
||||
if ((param1->unk_00[v2] >= UnkEnum_021DFB94_56) && (param1->unk_00[v2] <= UnkEnum_021DFB94_61)) {
|
||||
ov19_021DB638(param0, v0, param1->unk_22, param1->unk_00[v2] - UnkEnum_021DFB94_56);
|
||||
for (i = 0; i < menu->totalMenuItems; i++) {
|
||||
if ((menu->menuItems[i] >= BOX_MENU_FIRST_MARKING) && (menu->menuItems[i] <= BOX_MENU_LAST_MARKING)) {
|
||||
ov19_021DB638(param0, v0, menu->markings, menu->menuItems[i] - BOX_MENU_FIRST_MARKING);
|
||||
} else {
|
||||
MessageLoader_GetStrbuf(param0->unk_14, 24 + param1->unk_00[v2], param0->unk_30);
|
||||
MessageLoader_GetStrbuf(param0->unk_14, 24 + menu->menuItems[i], param0->unk_30);
|
||||
Text_AddPrinterWithParamsAndColor(v0, FONT_SYSTEM, param0->unk_30, 10, v1, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(11, 12, 15), NULL);
|
||||
}
|
||||
|
||||
v1 += 16;
|
||||
}
|
||||
|
||||
ov19_021DB748(param0, param1);
|
||||
ov19_021DB684(param0, param1->unk_21);
|
||||
BoxGraphics_DrawMenuCursorBox(param0, menu);
|
||||
ov19_021DB684(param0, menu->totalMenuItems);
|
||||
|
||||
Window_LoadTiles(v0);
|
||||
Bg_CopyTilemapBufferToVRAM(param0->unk_00, 1);
|
||||
@@ -192,9 +192,9 @@ void ov19_021DB57C(UnkStruct_ov19_021DB6F0 *param0, const UnkStruct_ov19_021DF96
|
||||
param0->unk_1E = 1;
|
||||
}
|
||||
|
||||
static void ov19_021DB638(UnkStruct_ov19_021DB6F0 *param0, Window *param1, u8 param2, u32 param3)
|
||||
static void ov19_021DB638(UnkStruct_ov19_021DB6F0 *param0, Window *param1, u8 markings, u32 markingID)
|
||||
{
|
||||
Window_BlitBitmapRectWithTransparency(param1, param0->unk_28->pRawData, param3 * 8, ((param2 & (1 << param3)) ? 0 : 8), 48, 16, 44, param3 * 16 + 4, 8, 8, 0xff);
|
||||
Window_BlitBitmapRectWithTransparency(param1, param0->unk_28->pRawData, markingID * 8, ((markings & (1 << markingID)) ? 0 : 8), 48, 16, 44, markingID * 16 + 4, 8, 8, 0xff);
|
||||
}
|
||||
|
||||
static void ov19_021DB684(UnkStruct_ov19_021DB6F0 *param0, u32 param1)
|
||||
@@ -246,20 +246,20 @@ void ov19_021DB724(UnkStruct_ov19_021DB6F0 *param0)
|
||||
Bg_CopyTilemapBufferToVRAM(param0->unk_00, 1);
|
||||
}
|
||||
|
||||
void ov19_021DB748(UnkStruct_ov19_021DB6F0 *param0, const UnkStruct_ov19_021DF964 *param1)
|
||||
void BoxGraphics_DrawMenuCursorBox(UnkStruct_ov19_021DB6F0 *param0, const BoxMenu *menu)
|
||||
{
|
||||
Window *v0;
|
||||
Window *menuWindow;
|
||||
u32 v1;
|
||||
|
||||
v0 = &(param0->unk_18[1]);
|
||||
v1 = (8 - param1->unk_21) * 16;
|
||||
menuWindow = &(param0->unk_18[1]);
|
||||
v1 = (8 - menu->totalMenuItems) * 16;
|
||||
|
||||
Window_FillRectWithColor(v0, 15, 0, v1, 10, param1->unk_21 * 16);
|
||||
Window_DrawMenuCursor(v0, 0, v1 + (param1->unk_20 * 16));
|
||||
Window_LoadTiles(v0);
|
||||
Window_FillRectWithColor(menuWindow, 15, 0, v1, 10, menu->totalMenuItems * 16);
|
||||
Window_DrawMenuCursor(menuWindow, 0, v1 + (menu->selectedMenuItemIndex * 16));
|
||||
Window_LoadTiles(menuWindow);
|
||||
}
|
||||
|
||||
void ov19_021DB790(UnkStruct_ov19_021DB6F0 *param0, const UnkStruct_ov19_021DF964 *param1)
|
||||
void ov19_021DB790(UnkStruct_ov19_021DB6F0 *param0, const BoxMenu *menu)
|
||||
{
|
||||
Window *v0;
|
||||
int v1;
|
||||
@@ -267,7 +267,7 @@ void ov19_021DB790(UnkStruct_ov19_021DB6F0 *param0, const UnkStruct_ov19_021DF96
|
||||
v0 = &(param0->unk_18[1]);
|
||||
|
||||
for (v1 = 0; v1 < 6; v1++) {
|
||||
ov19_021DB638(param0, v0, param1->unk_22, v1);
|
||||
ov19_021DB638(param0, v0, menu->markings, v1);
|
||||
}
|
||||
|
||||
Window_LoadTiles(v0);
|
||||
|
||||
@@ -79,17 +79,17 @@ BOOL ov19_021DB8E4(UnkStruct_ov19_021DBA9C *param0, UnkStruct_ov19_021D61B0 *par
|
||||
param0->unk_0C = param2;
|
||||
param0->unk_08 = param4;
|
||||
|
||||
Graphics_LoadTilesToBgLayerFromOpenNARC(param5, 4, param3, 1, 0, 0, 1, HEAP_ID_10);
|
||||
Graphics_LoadTilesToBgLayerFromOpenNARC(param5, 4, param3, 1, 0, 0, 1, HEAP_ID_BOX_GRAPHICS);
|
||||
|
||||
{
|
||||
NNSG2dPaletteData *v1;
|
||||
void *v2;
|
||||
|
||||
v2 = Graphics_GetPlttDataFromOpenNARC(param5, 27, &v1, HEAP_ID_10);
|
||||
v2 = Graphics_GetPlttDataFromOpenNARC(param5, 27, &v1, HEAP_ID_BOX_GRAPHICS);
|
||||
MI_CpuCopy16(v1->pRawData, &(param0->unk_E4[0][0]), 0x40);
|
||||
Heap_FreeToHeap(v2);
|
||||
|
||||
v2 = Graphics_GetPlttDataFromOpenNARC(param5, 20, &v1, HEAP_ID_10);
|
||||
v2 = Graphics_GetPlttDataFromOpenNARC(param5, 20, &v1, HEAP_ID_BOX_GRAPHICS);
|
||||
MI_CpuCopy16(v1->pRawData, &(param0->unk_E4[0][32]), 0x20);
|
||||
Heap_FreeToHeap(v2);
|
||||
|
||||
@@ -112,17 +112,17 @@ BOOL ov19_021DB8E4(UnkStruct_ov19_021DBA9C *param0, UnkStruct_ov19_021D61B0 *par
|
||||
GXS_LoadOBJPltt(param0->unk_E4[0], 13 * 0x20, 96);
|
||||
}
|
||||
|
||||
param0->unk_14 = Graphics_GetCharDataFromOpenNARC(param5, 17, 1, &(param0->unk_18), HEAP_ID_10);
|
||||
param0->unk_1C = Graphics_GetCellBankFromOpenNARC(param5, 18, 1, &(param0->unk_20), HEAP_ID_10);
|
||||
param0->unk_34 = Graphics_GetScrnDataFromOpenNARC(param5, 2, 1, &(param0->unk_38), HEAP_ID_10);
|
||||
param0->unk_2C = Graphics_GetScrnDataFromOpenNARC(param5, 3, 1, &(param0->unk_30), HEAP_ID_10);
|
||||
param0->unk_44 = sub_0200C440(2, 13, 4, HEAP_ID_10);
|
||||
param0->unk_4BFC = Strbuf_Init(500, HEAP_ID_10);
|
||||
param0->unk_14 = Graphics_GetCharDataFromOpenNARC(param5, 17, 1, &(param0->unk_18), HEAP_ID_BOX_GRAPHICS);
|
||||
param0->unk_1C = Graphics_GetCellBankFromOpenNARC(param5, 18, 1, &(param0->unk_20), HEAP_ID_BOX_GRAPHICS);
|
||||
param0->unk_34 = Graphics_GetScrnDataFromOpenNARC(param5, 2, 1, &(param0->unk_38), HEAP_ID_BOX_GRAPHICS);
|
||||
param0->unk_2C = Graphics_GetScrnDataFromOpenNARC(param5, 3, 1, &(param0->unk_30), HEAP_ID_BOX_GRAPHICS);
|
||||
param0->unk_44 = sub_0200C440(2, 13, 4, HEAP_ID_BOX_GRAPHICS);
|
||||
param0->unk_4BFC = Strbuf_Init(500, HEAP_ID_BOX_GRAPHICS);
|
||||
param0->unk_10 = NULL;
|
||||
param0->unk_3C.pixels = param0->unk_18->pRawData;
|
||||
param0->unk_3C.width = 32;
|
||||
param0->unk_3C.height = 32;
|
||||
param0->unk_4BF8 = MessageLoader_Init(MESSAGE_LOADER_NARC_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_UNK_0391, HEAP_ID_10);
|
||||
param0->unk_4BF8 = MessageLoader_Init(MESSAGE_LOADER_NARC_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_UNK_0391, HEAP_ID_BOX_GRAPHICS);
|
||||
|
||||
for (v0 = 0; v0 < 18; v0++) {
|
||||
param0->unk_48[v0] = NULL;
|
||||
@@ -143,7 +143,7 @@ void ov19_021DBA9C(UnkStruct_ov19_021DBA9C *param0)
|
||||
{ 1, 5, 25, 27, 6, 2, 178 }
|
||||
};
|
||||
|
||||
param0->unk_10 = Window_New(HEAP_ID_10, NELEMS(v0));
|
||||
param0->unk_10 = Window_New(HEAP_ID_BOX_GRAPHICS, NELEMS(v0));
|
||||
|
||||
if (param0->unk_10) {
|
||||
int v1;
|
||||
@@ -197,7 +197,7 @@ void ov19_021DBAD0(UnkStruct_ov19_021DBA9C *param0)
|
||||
|
||||
void ov19_021DBB48(UnkStruct_ov19_021DBA9C *param0)
|
||||
{
|
||||
param0->unk_E0 = ov19_021D5EA8(param0->unk_0C);
|
||||
param0->unk_E0 = ov19_GetBoxSelectionBoxID(param0->unk_0C);
|
||||
ov19_021DBDF4(param0);
|
||||
ov19_021DC034(param0, 0);
|
||||
}
|
||||
@@ -209,7 +209,7 @@ BOOL ov19_021DBB68(UnkStruct_ov19_021DBA9C *param0)
|
||||
|
||||
void ov19_021DBB70(UnkStruct_ov19_021DBA9C *param0)
|
||||
{
|
||||
param0->unk_E0 = ov19_021D5EA8(param0->unk_0C);
|
||||
param0->unk_E0 = ov19_GetBoxSelectionBoxID(param0->unk_0C);
|
||||
|
||||
ov19_021DBF18(param0);
|
||||
ov19_021DBF4C(param0);
|
||||
@@ -479,7 +479,7 @@ static void ov19_021DC034(UnkStruct_ov19_021DBA9C *param0, int param1)
|
||||
ov19_021DC0A0,
|
||||
ov19_021DC1CC,
|
||||
};
|
||||
UnkStruct_ov19_021DC034 *v1 = Heap_AllocFromHeap(HEAP_ID_10, sizeof(UnkStruct_ov19_021DC034));
|
||||
UnkStruct_ov19_021DC034 *v1 = Heap_AllocFromHeap(HEAP_ID_BOX_GRAPHICS, sizeof(UnkStruct_ov19_021DC034));
|
||||
|
||||
if (v1) {
|
||||
v1->unk_00 = param0;
|
||||
@@ -592,7 +592,7 @@ static void ov19_021DC1CC(SysTask *param0, void *param1)
|
||||
|
||||
void ov19_021DC29C(UnkStruct_ov19_021DBA9C *param0)
|
||||
{
|
||||
UnkStruct_ov19_021DC29C *v0 = Heap_AllocFromHeap(HEAP_ID_10, sizeof(UnkStruct_ov19_021DC29C));
|
||||
UnkStruct_ov19_021DC29C *v0 = Heap_AllocFromHeap(HEAP_ID_BOX_GRAPHICS, sizeof(UnkStruct_ov19_021DC29C));
|
||||
|
||||
if (v0) {
|
||||
u32 v1 = ov19_GetCursorOrPreviewedItem(param0->unk_0C);
|
||||
@@ -655,7 +655,7 @@ static void ov19_021DC37C(SysTask *param0, void *param1)
|
||||
|
||||
void ov19_021DC3F4(UnkStruct_ov19_021DBA9C *param0)
|
||||
{
|
||||
UnkStruct_ov19_021DC29C *v0 = Heap_AllocFromHeap(HEAP_ID_10, sizeof(UnkStruct_ov19_021DC29C));
|
||||
UnkStruct_ov19_021DC29C *v0 = Heap_AllocFromHeap(HEAP_ID_BOX_GRAPHICS, sizeof(UnkStruct_ov19_021DC29C));
|
||||
|
||||
if (v0) {
|
||||
v0->unk_16 = 0;
|
||||
@@ -718,11 +718,11 @@ static void ov19_021DC4F8(UnkStruct_ov19_021DBA9C *param0, u32 param1)
|
||||
ov19_021D783C(&v0, &v2, ov19_021D77D0(param0->unk_00), v1->unk_1C, v1->unk_20, 0);
|
||||
NNS_G2dInitImageProxy(&v2);
|
||||
|
||||
v4 = Graphics_GetCharData(NARC_INDEX_ITEMTOOL__ITEMDATA__ITEM_ICON, Item_FileID(param1, 1), 0, &v3, HEAP_ID_10);
|
||||
v4 = Graphics_GetCharData(NARC_INDEX_ITEMTOOL__ITEMDATA__ITEM_ICON, Item_FileID(param1, 1), 0, &v3, HEAP_ID_BOX_GRAPHICS);
|
||||
v3->mapingType = GX_GetOBJVRamModeChar();
|
||||
NNS_G2dLoadImage1DMapping(v3, 1520 * 0x20, NNS_G2D_VRAM_TYPE_2DMAIN, &v2);
|
||||
|
||||
Graphics_LoadPalette(NARC_INDEX_ITEMTOOL__ITEMDATA__ITEM_ICON, Item_FileID(param1, 2), 1, 6 * 0x20, 0x20, HEAP_ID_10);
|
||||
Graphics_LoadPalette(NARC_INDEX_ITEMTOOL__ITEMDATA__ITEM_ICON, Item_FileID(param1, 2), 1, 6 * 0x20, 0x20, HEAP_ID_BOX_GRAPHICS);
|
||||
param0->unk_90 = ov19_021D785C(param0->unk_08, &v0, 18, 224, 0, NNS_G2D_VRAM_TYPE_2DMAIN);
|
||||
|
||||
if (param0->unk_90) {
|
||||
|
||||
@@ -67,8 +67,8 @@ BOOL ov19_021DC5F0(UnkStruct_ov19_021DC680 *param0, UnkStruct_ov19_021D61B0 *par
|
||||
|
||||
ov19_021DA3CC(param0->unk_38, param0->unk_3C, 6);
|
||||
|
||||
param0->unk_1C = Heap_AllocFromHeap(HEAP_ID_10, sizeof(VecFx32) * 6 * 8);
|
||||
param0->unk_14 = Graphics_GetScrnDataFromOpenNARC(param5, 6, 1, &(param0->unk_18), HEAP_ID_10);
|
||||
param0->unk_1C = Heap_AllocFromHeap(HEAP_ID_BOX_GRAPHICS, sizeof(VecFx32) * 6 * 8);
|
||||
param0->unk_14 = Graphics_GetScrnDataFromOpenNARC(param5, 6, 1, &(param0->unk_18), HEAP_ID_BOX_GRAPHICS);
|
||||
|
||||
if ((param0->unk_14 == NULL) || (param0->unk_1C == NULL)) {
|
||||
return 0;
|
||||
@@ -185,14 +185,12 @@ static void ov19_021DC79C(SysTask *param0, void *param1)
|
||||
|
||||
void ov19_021DC834(UnkStruct_ov19_021DC680 *param0)
|
||||
{
|
||||
int v0 = Party_GetCurrentCount(param0->unk_0C->party);
|
||||
int partyCount = Party_GetCurrentCount(param0->unk_0C->party);
|
||||
|
||||
if (param0->unk_28 < v0) {
|
||||
int v1, v2;
|
||||
if (param0->unk_28 < partyCount) {
|
||||
int v2 = partyCount - param0->unk_28;
|
||||
|
||||
v2 = v0 - param0->unk_28;
|
||||
|
||||
for (v1 = param0->unk_28; v1 < (6 - 1); v1++) {
|
||||
for (int v1 = param0->unk_28; v1 < MAX_PARTY_SIZE - 1; v1++) {
|
||||
ov19_021DA418(&(param0->unk_3C[v1 + 1]), &(param0->unk_3C[v1]), 1);
|
||||
ov19_021DA3CC(param0->unk_38, &(param0->unk_3C[v1 + 1]), 1);
|
||||
|
||||
@@ -319,8 +317,8 @@ BOOL ov19_021DCB20(UnkStruct_ov19_021DC680 *param0)
|
||||
if (ov19_021DA7E0(param0->unk_38, v0)) {
|
||||
const UnkStruct_ov19_021D5DF8 *v1 = ov19_021D7964(param0->unk_00);
|
||||
|
||||
if (ov19_021D3B18(v1)) {
|
||||
if (ov19_021D3B20(v1)) {
|
||||
if (ov19_HasCheckedCanReleaseMon(v1)) {
|
||||
if (ov19_CanReleaseMon(v1)) {
|
||||
ov19_021DA3F0(param0->unk_38, v0, 1);
|
||||
return 1;
|
||||
} else {
|
||||
@@ -397,7 +395,7 @@ void ov19_021DCC80(UnkStruct_ov19_021DC680 *param0, u32 param1, const UnkStruct_
|
||||
ov19_021DA418(param2, v2, 1);
|
||||
ov19_021DA754(param0->unk_38, v2, v1);
|
||||
Sprite_SetExplicitPriority(v2->unk_00, 1);
|
||||
ov19_021D78AC(v2->unk_00, 4 + v0);
|
||||
BoxGraphics_SetSpritePriority(v2->unk_00, 4 + v0);
|
||||
|
||||
param0->unk_28 = param1;
|
||||
}
|
||||
@@ -415,7 +413,7 @@ void ov19_021DCCD4(UnkStruct_ov19_021DC680 *param0, u32 param1, const UnkStruct_
|
||||
ov19_021DA418(param2, v2, 1);
|
||||
ov19_021DA754(param0->unk_38, v2, v1);
|
||||
Sprite_SetExplicitPriority(v2->unk_00, 1);
|
||||
ov19_021D78AC(v2->unk_00, 4 + v0);
|
||||
BoxGraphics_SetSpritePriority(v2->unk_00, 4 + v0);
|
||||
|
||||
param0->unk_28 = param1;
|
||||
}
|
||||
|
||||
@@ -305,7 +305,7 @@ BOOL ov19_021DCF88(UnkStruct_ov19_021DCF88 **param0, UnkStruct_ov19_021D61B0 *pa
|
||||
*param0 = NULL;
|
||||
return 1;
|
||||
} else {
|
||||
UnkStruct_ov19_021DCF88 *v0 = Heap_AllocFromHeap(HEAP_ID_10, sizeof(UnkStruct_ov19_021DCF88));
|
||||
UnkStruct_ov19_021DCF88 *v0 = Heap_AllocFromHeap(HEAP_ID_BOX_GRAPHICS, sizeof(UnkStruct_ov19_021DCF88));
|
||||
|
||||
if (v0) {
|
||||
int v1;
|
||||
@@ -315,7 +315,7 @@ BOOL ov19_021DCF88(UnkStruct_ov19_021DCF88 **param0, UnkStruct_ov19_021D61B0 *pa
|
||||
v0->unk_04 = param2;
|
||||
v0->unk_0C = param4;
|
||||
v0->unk_14 = NULL;
|
||||
v0->unk_84 = Strbuf_Init(32, HEAP_ID_10);
|
||||
v0->unk_84 = Strbuf_Init(32, HEAP_ID_BOX_GRAPHICS);
|
||||
v0->unk_10 = param2->unk_9C.unk_00;
|
||||
v0->unk_98 = NULL;
|
||||
v0->unk_A0 = NULL;
|
||||
@@ -418,10 +418,10 @@ void ov19_021DD078(UnkStruct_ov19_021DCF88 *param0)
|
||||
void ov19_021DD114(UnkStruct_ov19_021DCF88 *param0, NARC *param1)
|
||||
{
|
||||
if (param0) {
|
||||
Graphics_LoadTilesToBgLayerFromOpenNARC(param1, 127, param0->unk_08, 7, 0, 0, 1, HEAP_ID_10);
|
||||
Graphics_LoadTilemapToBgLayerFromOpenNARC(param1, 124, param0->unk_08, 7, 0, 0, 1, HEAP_ID_10);
|
||||
Graphics_LoadTilemapToBgLayerFromOpenNARC(param1, 125, param0->unk_08, 6, 0, 0, 1, HEAP_ID_10);
|
||||
Graphics_LoadTilemapToBgLayerFromOpenNARC(param1, 126, param0->unk_08, 5, 0, 0, 1, HEAP_ID_10);
|
||||
Graphics_LoadTilesToBgLayerFromOpenNARC(param1, 127, param0->unk_08, 7, 0, 0, 1, HEAP_ID_BOX_GRAPHICS);
|
||||
Graphics_LoadTilemapToBgLayerFromOpenNARC(param1, 124, param0->unk_08, 7, 0, 0, 1, HEAP_ID_BOX_GRAPHICS);
|
||||
Graphics_LoadTilemapToBgLayerFromOpenNARC(param1, 125, param0->unk_08, 6, 0, 0, 1, HEAP_ID_BOX_GRAPHICS);
|
||||
Graphics_LoadTilemapToBgLayerFromOpenNARC(param1, 126, param0->unk_08, 5, 0, 0, 1, HEAP_ID_BOX_GRAPHICS);
|
||||
Bg_FillTilesRange(param0->unk_08, 4, 0x0, 1, 0);
|
||||
Bg_FillTilemapRect(param0->unk_08, 4, 0x0, 0, 0, 32, 32, 17);
|
||||
Bg_CopyTilemapBufferToVRAM(param0->unk_08, 4);
|
||||
@@ -430,7 +430,7 @@ void ov19_021DD114(UnkStruct_ov19_021DCF88 *param0, NARC *param1)
|
||||
Window_FillTilemap(&(param0->unk_88), 0x0);
|
||||
Window_CopyToVRAM(¶m0->unk_88);
|
||||
ov19_021DE324(param0);
|
||||
Graphics_LoadPaletteFromOpenNARC(param1, 128, 4, 0, 0x20 * 3, HEAP_ID_10);
|
||||
Graphics_LoadPaletteFromOpenNARC(param1, 128, 4, 0, 0x20 * 3, HEAP_ID_BOX_GRAPHICS);
|
||||
ov19_021DD224(param0, param1);
|
||||
}
|
||||
}
|
||||
@@ -459,10 +459,10 @@ static void ov19_021DD224(UnkStruct_ov19_021DCF88 *param0, NARC *param1)
|
||||
|
||||
static void ov19_021DD2BC(UnkStruct_ov19_021DCF88 *param0, NARC *param1)
|
||||
{
|
||||
param0->unk_98 = Graphics_GetCellBankFromOpenNARC(param1, 139, 1, &(param0->unk_9C), HEAP_ID_10);
|
||||
param0->unk_A0 = Graphics_GetAnimBankFromOpenNARC(param1, 140, 1, &(param0->unk_A4), HEAP_ID_10);
|
||||
param0->unk_A8 = Graphics_GetCellBankFromOpenNARC(param1, 142, 1, &(param0->unk_AC), HEAP_ID_10);
|
||||
param0->unk_B0 = Graphics_GetAnimBankFromOpenNARC(param1, 143, 1, &(param0->unk_B4), HEAP_ID_10);
|
||||
param0->unk_98 = Graphics_GetCellBankFromOpenNARC(param1, 139, 1, &(param0->unk_9C), HEAP_ID_BOX_GRAPHICS);
|
||||
param0->unk_A0 = Graphics_GetAnimBankFromOpenNARC(param1, 140, 1, &(param0->unk_A4), HEAP_ID_BOX_GRAPHICS);
|
||||
param0->unk_A8 = Graphics_GetCellBankFromOpenNARC(param1, 142, 1, &(param0->unk_AC), HEAP_ID_BOX_GRAPHICS);
|
||||
param0->unk_B0 = Graphics_GetAnimBankFromOpenNARC(param1, 143, 1, &(param0->unk_B4), HEAP_ID_BOX_GRAPHICS);
|
||||
|
||||
NNS_G2dInitImagePaletteProxy(&(param0->unk_18));
|
||||
Graphics_LoadPartialPaletteFromOpenNARC(param1, 144, NNS_G2D_VRAM_TYPE_2DSUB, 0, 10, &(param0->unk_18));
|
||||
@@ -1142,7 +1142,7 @@ static void ov19_021DDD80(UnkStruct_ov19_021DCF88 *param0)
|
||||
UnkStruct_ov19_021DDBF8 *v0;
|
||||
int v1;
|
||||
|
||||
v0 = Heap_AllocFromHeap(HEAP_ID_10, sizeof(UnkStruct_ov19_021DDBF8));
|
||||
v0 = Heap_AllocFromHeap(HEAP_ID_BOX_GRAPHICS, sizeof(UnkStruct_ov19_021DDBF8));
|
||||
|
||||
if (v0) {
|
||||
SysTask *v2;
|
||||
@@ -1257,7 +1257,7 @@ static void ov19_021DDFA8(UnkStruct_ov19_021DCF88 *param0)
|
||||
UnkStruct_ov19_021DDBF8 *v0;
|
||||
int v1;
|
||||
|
||||
v0 = Heap_AllocFromHeap(HEAP_ID_10, sizeof(UnkStruct_ov19_021DDBF8));
|
||||
v0 = Heap_AllocFromHeap(HEAP_ID_BOX_GRAPHICS, sizeof(UnkStruct_ov19_021DDBF8));
|
||||
|
||||
if (v0) {
|
||||
SysTask *v2;
|
||||
@@ -1316,7 +1316,7 @@ static void ov19_021DE0A0(UnkStruct_ov19_021DCF88 *param0)
|
||||
UnkStruct_ov19_021DDBF8 *v0;
|
||||
int v1;
|
||||
|
||||
v0 = Heap_AllocFromHeap(HEAP_ID_10, sizeof(UnkStruct_ov19_021DDBF8));
|
||||
v0 = Heap_AllocFromHeap(HEAP_ID_BOX_GRAPHICS, sizeof(UnkStruct_ov19_021DDBF8));
|
||||
|
||||
if (v0) {
|
||||
SysTask *v2;
|
||||
@@ -1440,7 +1440,7 @@ static void ov19_021DE2A4(UnkStruct_ov19_021DCF88 *param0)
|
||||
UnkStruct_ov19_021DDBF8 *v0;
|
||||
int v1;
|
||||
|
||||
v0 = Heap_AllocFromHeap(HEAP_ID_10, sizeof(UnkStruct_ov19_021DDBF8));
|
||||
v0 = Heap_AllocFromHeap(HEAP_ID_BOX_GRAPHICS, sizeof(UnkStruct_ov19_021DDBF8));
|
||||
|
||||
if (v0) {
|
||||
SysTask *v2;
|
||||
|
||||
@@ -72,7 +72,7 @@ static void ov19_021DE8E0(SysTask *param0, void *param1);
|
||||
|
||||
BOOL ov19_021DE3E8(UnkStruct_ov19_021DE3E8 **param0, UnkStruct_ov19_021D61B0 *param1, const UnkStruct_ov19_021D4DF0 *param2, BgConfig *param3, SpriteList *param4)
|
||||
{
|
||||
UnkStruct_ov19_021DE3E8 *v0 = Heap_AllocFromHeap(HEAP_ID_10, sizeof(UnkStruct_ov19_021DE3E8));
|
||||
UnkStruct_ov19_021DE3E8 *v0 = Heap_AllocFromHeap(HEAP_ID_BOX_GRAPHICS, sizeof(UnkStruct_ov19_021DE3E8));
|
||||
|
||||
if (v0) {
|
||||
v0->unk_04 = param1;
|
||||
@@ -109,7 +109,7 @@ static void ov19_021DE450(UnkStruct_ov19_021DE3E8 *param0)
|
||||
int v4;
|
||||
|
||||
ov19_021D783C(&v0, &v1, ov19_021D77D0(param0->unk_04), param0->unk_14->unk_1C, param0->unk_14->unk_20, 0);
|
||||
v3 = Graphics_GetCharData(NARC_INDEX_ITEMTOOL__ITEMDATA__ITEM_ICON, Item_FileID(1, 1), 0, &v2, HEAP_ID_10);
|
||||
v3 = Graphics_GetCharData(NARC_INDEX_ITEMTOOL__ITEMDATA__ITEM_ICON, Item_FileID(1, 1), 0, &v2, HEAP_ID_BOX_GRAPHICS);
|
||||
|
||||
if (v3) {
|
||||
int v5;
|
||||
@@ -227,11 +227,11 @@ static void ov19_021DE5D4(UnkStruct_ov19_021DE3E8 *param0)
|
||||
v2 = 2;
|
||||
}
|
||||
|
||||
Graphics_LoadObjectTiles(16, Item_FileID(item, 1), 0, Unk_ov19_021E04CC[v3].unk_00, 0, 0, HEAP_ID_10);
|
||||
Graphics_LoadPalette(NARC_INDEX_ITEMTOOL__ITEMDATA__ITEM_ICON, Item_FileID(item, 2), 1, Unk_ov19_021E04CC[v3].unk_04 * 0x20, 0x20, HEAP_ID_10);
|
||||
Graphics_LoadObjectTiles(16, Item_FileID(item, 1), 0, Unk_ov19_021E04CC[v3].unk_00, 0, 0, HEAP_ID_BOX_GRAPHICS);
|
||||
Graphics_LoadPalette(NARC_INDEX_ITEMTOOL__ITEMDATA__ITEM_ICON, Item_FileID(item, 2), 1, Unk_ov19_021E04CC[v3].unk_04 * 0x20, 0x20, HEAP_ID_BOX_GRAPHICS);
|
||||
Sprite_SetExplicitPriority(param0->unk_1C[v3], v2);
|
||||
|
||||
ov19_021D78AC(param0->unk_1C[v3], 2);
|
||||
BoxGraphics_SetSpritePriority(param0->unk_1C[v3], 2);
|
||||
|
||||
Sprite_SetPosition(param0->unk_1C[v3], &v1);
|
||||
Sprite_SetAnim(param0->unk_1C[v3], 0);
|
||||
@@ -268,11 +268,11 @@ static void ov19_021DE718(UnkStruct_ov19_021DE3E8 *param0, int param1, int param
|
||||
|
||||
ov19_021DE694(param0, &v0, &v1);
|
||||
|
||||
Graphics_LoadObjectTiles(16, Item_FileID(param2, 1), 0, Unk_ov19_021E04CC[param1].unk_00, 0, 0, HEAP_ID_10);
|
||||
Graphics_LoadPalette(NARC_INDEX_ITEMTOOL__ITEMDATA__ITEM_ICON, Item_FileID(param2, 2), 1, Unk_ov19_021E04CC[param1].unk_04 * 0x20, 0x20, HEAP_ID_10);
|
||||
Graphics_LoadObjectTiles(16, Item_FileID(param2, 1), 0, Unk_ov19_021E04CC[param1].unk_00, 0, 0, HEAP_ID_BOX_GRAPHICS);
|
||||
Graphics_LoadPalette(NARC_INDEX_ITEMTOOL__ITEMDATA__ITEM_ICON, Item_FileID(param2, 2), 1, Unk_ov19_021E04CC[param1].unk_04 * 0x20, 0x20, HEAP_ID_BOX_GRAPHICS);
|
||||
Sprite_SetExplicitPriority(param0->unk_1C[param1], v1);
|
||||
|
||||
ov19_021D78AC(param0->unk_1C[param1], 3);
|
||||
BoxGraphics_SetSpritePriority(param0->unk_1C[param1], 3);
|
||||
Sprite_SetPosition(param0->unk_1C[param1], &v0);
|
||||
}
|
||||
}
|
||||
@@ -332,7 +332,7 @@ BOOL ov19_021DE800(UnkStruct_ov19_021DE3E8 *param0)
|
||||
|
||||
static void ov19_021DE858(UnkStruct_ov19_021DE3E8 *param0, int param1, const VecFx32 *param2, int param3, int param4)
|
||||
{
|
||||
UnkStruct_ov19_021DE858 *v0 = Heap_AllocFromHeap(HEAP_ID_10, sizeof(UnkStruct_ov19_021DE858));
|
||||
UnkStruct_ov19_021DE858 *v0 = Heap_AllocFromHeap(HEAP_ID_BOX_GRAPHICS, sizeof(UnkStruct_ov19_021DE858));
|
||||
|
||||
if (v0) {
|
||||
v0->unk_00 = param0;
|
||||
@@ -371,7 +371,7 @@ static void ov19_021DE8E0(SysTask *param0, void *param1)
|
||||
break;
|
||||
case 1:
|
||||
if (Sprite_IsAnimated(v0->unk_04) == 0) {
|
||||
ov19_021D78AC(v0->unk_04, v0->unk_28);
|
||||
BoxGraphics_SetSpritePriority(v0->unk_04, v0->unk_28);
|
||||
v0->unk_00->unk_34--;
|
||||
SysTask_Done(param0);
|
||||
ov19_021D79B8(v0, NULL, NULL);
|
||||
|
||||
@@ -91,7 +91,7 @@ BOOL ov19_021DEC04(UnkStruct_ov19_021DEC04 **param0, UnkStruct_ov19_021D61B0 *pa
|
||||
*param0 = NULL;
|
||||
return 1;
|
||||
} else {
|
||||
UnkStruct_ov19_021DEC04 *v0 = Heap_AllocFromHeap(HEAP_ID_10, sizeof(UnkStruct_ov19_021DEC04));
|
||||
UnkStruct_ov19_021DEC04 *v0 = Heap_AllocFromHeap(HEAP_ID_BOX_GRAPHICS, sizeof(UnkStruct_ov19_021DEC04));
|
||||
|
||||
if (v0) {
|
||||
v0->unk_04 = param1;
|
||||
@@ -99,11 +99,11 @@ BOOL ov19_021DEC04(UnkStruct_ov19_021DEC04 **param0, UnkStruct_ov19_021D61B0 *pa
|
||||
v0->unk_0C = param3;
|
||||
v0->unk_10 = param4;
|
||||
v0->unk_14 = ov19_021D77D8(param1);
|
||||
v0->unk_370 = Graphics_GetScrnDataFromOpenNARC(param6, 7, 1, &(v0->unk_368), HEAP_ID_10);
|
||||
v0->unk_374 = Graphics_GetScrnDataFromOpenNARC(param6, 8, 1, &(v0->unk_36C), HEAP_ID_10);
|
||||
v0->unk_370 = Graphics_GetScrnDataFromOpenNARC(param6, 7, 1, &(v0->unk_368), HEAP_ID_BOX_GRAPHICS);
|
||||
v0->unk_374 = Graphics_GetScrnDataFromOpenNARC(param6, 8, 1, &(v0->unk_36C), HEAP_ID_BOX_GRAPHICS);
|
||||
v0->unk_6C = param5;
|
||||
v0->unk_70 = MessageLoader_Init(MESSAGE_LOADER_NARC_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_MOVE_NAMES, HEAP_ID_10);
|
||||
v0->boxDisplayText = Strbuf_Init(32, HEAP_ID_10);
|
||||
v0->unk_70 = MessageLoader_Init(MESSAGE_LOADER_NARC_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_MOVE_NAMES, HEAP_ID_BOX_GRAPHICS);
|
||||
v0->boxDisplayText = Strbuf_Init(32, HEAP_ID_BOX_GRAPHICS);
|
||||
v0->unk_380 = NULL;
|
||||
*param0 = v0;
|
||||
return 1;
|
||||
@@ -131,13 +131,13 @@ void ov19_021DECE8(UnkStruct_ov19_021DEC04 *param0, NARC *param1)
|
||||
if (param0) {
|
||||
ov19_021DEEFC(param0);
|
||||
|
||||
Graphics_LoadTilesToBgLayerFromOpenNARC(param1, 132, param0->unk_0C, 5, 0, 0, 1, HEAP_ID_10);
|
||||
Graphics_LoadTilemapToBgLayerFromOpenNARC(param1, 129, param0->unk_0C, 5, 0, 0, 1, HEAP_ID_10);
|
||||
Graphics_LoadTilemapToBgLayerFromOpenNARC(param1, 130, param0->unk_0C, 6, 0, 0, 1, HEAP_ID_10);
|
||||
Graphics_LoadTilemapToBgLayerFromOpenNARC(param1, 131, param0->unk_0C, 7, 0, 0, 1, HEAP_ID_10);
|
||||
Graphics_LoadPaletteFromOpenNARC(param1, 133, 4, 0, 0x20 * 4, HEAP_ID_10);
|
||||
Graphics_LoadPalette(NARC_INDEX_POKETOOL__ICONGRA__PL_POKE_ICON, PokeIconPalettesFileIndex(), 5, 4 * 0x20, 4 * 0x20, HEAP_ID_10);
|
||||
Bg_ClearTilesRange(4, 0x20, 0, HEAP_ID_10);
|
||||
Graphics_LoadTilesToBgLayerFromOpenNARC(param1, 132, param0->unk_0C, 5, 0, 0, 1, HEAP_ID_BOX_GRAPHICS);
|
||||
Graphics_LoadTilemapToBgLayerFromOpenNARC(param1, 129, param0->unk_0C, 5, 0, 0, 1, HEAP_ID_BOX_GRAPHICS);
|
||||
Graphics_LoadTilemapToBgLayerFromOpenNARC(param1, 130, param0->unk_0C, 6, 0, 0, 1, HEAP_ID_BOX_GRAPHICS);
|
||||
Graphics_LoadTilemapToBgLayerFromOpenNARC(param1, 131, param0->unk_0C, 7, 0, 0, 1, HEAP_ID_BOX_GRAPHICS);
|
||||
Graphics_LoadPaletteFromOpenNARC(param1, 133, 4, 0, 0x20 * 4, HEAP_ID_BOX_GRAPHICS);
|
||||
Graphics_LoadPalette(NARC_INDEX_POKETOOL__ICONGRA__PL_POKE_ICON, PokeIconPalettesFileIndex(), 5, 4 * 0x20, 4 * 0x20, HEAP_ID_BOX_GRAPHICS);
|
||||
Bg_ClearTilesRange(4, 0x20, 0, HEAP_ID_BOX_GRAPHICS);
|
||||
Bg_FillTilemapRect(param0->unk_0C, 4, 0x0, 0, 0, 32, 32, 17);
|
||||
|
||||
ov19_021DEF64(param0);
|
||||
@@ -153,7 +153,7 @@ void ov19_021DECE8(UnkStruct_ov19_021DEC04 *param0, NARC *param1)
|
||||
void ov19_021DEDDC(UnkStruct_ov19_021DEC04 *param0, BOOL param1)
|
||||
{
|
||||
if (param0) {
|
||||
int v0 = ov19_021D5F9C(param0->unk_08);
|
||||
int v0 = ov19_GetCompareMonSlot(param0->unk_08);
|
||||
|
||||
if (param1) {
|
||||
Sprite_SetAnim(param0->unk_28[v0 ^ 1], 2);
|
||||
@@ -172,19 +172,19 @@ void ov19_021DEE34(UnkStruct_ov19_021DEC04 *param0)
|
||||
ov19_021DF834(param0);
|
||||
|
||||
if (param0) {
|
||||
int v0 = ov19_021D5F9C(param0->unk_08);
|
||||
int compareMonSlot = ov19_GetCompareMonSlot(param0->unk_08);
|
||||
|
||||
ov19_021DF8C8(param0, v0);
|
||||
ov19_021DF8C8(param0, compareMonSlot);
|
||||
|
||||
switch (ov19_021D5FA4(param0->unk_08)) {
|
||||
case 0:
|
||||
ov19_021DF3AC(param0, v0);
|
||||
ov19_021DF3AC(param0, compareMonSlot);
|
||||
break;
|
||||
case 1:
|
||||
ov19_021DF178(param0, v0);
|
||||
ov19_021DF178(param0, compareMonSlot);
|
||||
break;
|
||||
case 2:
|
||||
ov19_021DF4D0(param0, v0);
|
||||
ov19_021DF4D0(param0, compareMonSlot);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -229,7 +229,7 @@ BOOL ov19_021DEEA8(UnkStruct_ov19_021DEC04 *param0)
|
||||
|
||||
static void ov19_021DEEFC(UnkStruct_ov19_021DEC04 *param0)
|
||||
{
|
||||
NNSG2dScreenData *v0 = (ov19_021D5F9C(param0->unk_08) == 0) ? param0->unk_368 : param0->unk_36C;
|
||||
NNSG2dScreenData *v0 = (ov19_GetCompareMonSlot(param0->unk_08) == 0) ? param0->unk_368 : param0->unk_36C;
|
||||
|
||||
Bg_CopyToTilemapRect(param0->unk_0C, 2, 0, 0, 6, 32, v0->rawData, 0, 0, 32, 32);
|
||||
Bg_CopyToTilemapRect(param0->unk_0C, 2, 26, 0, 6, 32, v0->rawData, 26, 0, 32, 32);
|
||||
@@ -367,7 +367,7 @@ static void ov19_021DF140(UnkStruct_ov19_021DEC04 *param0)
|
||||
}
|
||||
}
|
||||
|
||||
static void ov19_021DF178(UnkStruct_ov19_021DEC04 *param0, int param1)
|
||||
static void ov19_021DF178(UnkStruct_ov19_021DEC04 *param0, int compareMonSlot)
|
||||
{
|
||||
#define DEFINE_00(tx) ((128 << FX32_SHIFT) + (((((tx) - 128) << FX32_SHIFT) * 10) / 100))
|
||||
#define DEFINE_01(ty) ((484 << FX32_SHIFT) + (((((ty) - 484) << FX32_SHIFT) * 10) / 100))
|
||||
@@ -388,10 +388,10 @@ static void ov19_021DF178(UnkStruct_ov19_021DEC04 *param0, int param1)
|
||||
const PCCompareMon *compareMon;
|
||||
BOOL isMonUnderCursor, v3, v4;
|
||||
|
||||
compareMon = ov19_GetCompareMonFrom(param0->unk_08, param1);
|
||||
compareMon = ov19_GetCompareMonFrom(param0->unk_08, compareMonSlot);
|
||||
isMonUnderCursor = ov19_IsMonUnderCursor(param0->unk_08);
|
||||
v3 = (ov19_021D5F9C(param0->unk_08) == param1);
|
||||
v4 = ov19_021D5FB8(param0->unk_08, param1);
|
||||
v3 = ov19_GetCompareMonSlot(param0->unk_08) == compareMonSlot;
|
||||
v4 = ov19_021D5FB8(param0->unk_08, compareMonSlot);
|
||||
|
||||
if ((((isMonUnderCursor == TRUE) && (v3 == 1)) || ((v3 == 0) && (v4 == 1))) && (compareMon->isEgg == FALSE)) {
|
||||
int i;
|
||||
@@ -403,26 +403,26 @@ static void ov19_021DF178(UnkStruct_ov19_021DEC04 *param0, int param1)
|
||||
for (i = 0; i < CONTEST_TYPE_MAX; i++) {
|
||||
v6.x = v0[i].unk_00 + (((v0[i].unk_08 - v0[i].unk_00) / 256) * (int)(*contestStat));
|
||||
v6.y = v0[i].unk_04 + (((v0[i].unk_0C - v0[i].unk_04) / 256) * (int)(*contestStat));
|
||||
Sprite_SetPosition(param0->unk_34[param1][i], &v6);
|
||||
ov19_021D78AC(param0->unk_34[param1][i], 0);
|
||||
ov19_021D78AC(param0->unk_34[param1 ^ 1][i], 1);
|
||||
Sprite_SetDrawFlag(param0->unk_34[param1][i], 1);
|
||||
Sprite_SetPosition(param0->unk_34[compareMonSlot][i], &v6);
|
||||
BoxGraphics_SetSpritePriority(param0->unk_34[compareMonSlot][i], 0);
|
||||
BoxGraphics_SetSpritePriority(param0->unk_34[compareMonSlot ^ 1][i], 1);
|
||||
Sprite_SetDrawFlag(param0->unk_34[compareMonSlot][i], 1);
|
||||
contestStat++;
|
||||
}
|
||||
} else {
|
||||
ov19_021DF250(param0, param1);
|
||||
ov19_021DF250(param0, compareMonSlot);
|
||||
}
|
||||
|
||||
#undef DEFINE_00
|
||||
#undef DEFINE_01
|
||||
}
|
||||
|
||||
static void ov19_021DF250(UnkStruct_ov19_021DEC04 *param0, int param1)
|
||||
static void ov19_021DF250(UnkStruct_ov19_021DEC04 *param0, int compareMonSlot)
|
||||
{
|
||||
int v0;
|
||||
|
||||
for (v0 = 0; v0 < 5; v0++) {
|
||||
Sprite_SetDrawFlag(param0->unk_34[param1][v0], 0);
|
||||
Sprite_SetDrawFlag(param0->unk_34[compareMonSlot][v0], 0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -509,7 +509,7 @@ static void ov19_021DF3AC(UnkStruct_ov19_021DEC04 *param0, int compareMonSlot)
|
||||
window = &(param0->unk_78[3 + compareMonSlot]);
|
||||
compareMon = ov19_GetCompareMonFrom(param0->unk_08, compareMonSlot);
|
||||
isMonUnderCursor = ov19_IsMonUnderCursor(param0->unk_08);
|
||||
compareSlot = ov19_021D5F9C(param0->unk_08) == compareMonSlot;
|
||||
compareSlot = ov19_GetCompareMonSlot(param0->unk_08) == compareMonSlot;
|
||||
v4 = ov19_021D5FB8(param0->unk_08, compareMonSlot);
|
||||
|
||||
Window_FillTilemap(window, 0);
|
||||
@@ -547,7 +547,7 @@ static void ov19_021DF4D0(UnkStruct_ov19_021DEC04 *param0, int compareMonSlot)
|
||||
v0 = &(param0->unk_78[5 + compareMonSlot]);
|
||||
compareMon = ov19_GetCompareMonFrom(param0->unk_08, compareMonSlot);
|
||||
isMonUnderCursor = ov19_IsMonUnderCursor(param0->unk_08);
|
||||
v3 = (ov19_021D5F9C(param0->unk_08) == compareMonSlot);
|
||||
v3 = (ov19_GetCompareMonSlot(param0->unk_08) == compareMonSlot);
|
||||
v4 = ov19_021D5FB8(param0->unk_08, compareMonSlot);
|
||||
|
||||
Window_FillTilemap(v0, 0);
|
||||
@@ -587,10 +587,10 @@ static void ov19_021DF5D0(UnkStruct_ov19_021DEC04 *param0, NARC *param1)
|
||||
SpriteResourcesHeader v2;
|
||||
u32 v3, v4, v5;
|
||||
|
||||
param0->unk_5C = Graphics_GetCellBankFromOpenNARC(param1, 135, 1, &(param0->unk_60), HEAP_ID_10);
|
||||
param0->unk_64 = Graphics_GetAnimBankFromOpenNARC(param1, 136, 1, &(param0->unk_68), HEAP_ID_10);
|
||||
param0->unk_5C = Graphics_GetCellBankFromOpenNARC(param1, 135, 1, &(param0->unk_60), HEAP_ID_BOX_GRAPHICS);
|
||||
param0->unk_64 = Graphics_GetAnimBankFromOpenNARC(param1, 136, 1, &(param0->unk_68), HEAP_ID_BOX_GRAPHICS);
|
||||
|
||||
Graphics_LoadPaletteFromOpenNARC(param1, 137, 5, 0, 0x20 * 3, HEAP_ID_10);
|
||||
Graphics_LoadPaletteFromOpenNARC(param1, 137, 5, 0, 0x20 * 3, HEAP_ID_BOX_GRAPHICS);
|
||||
NNS_G2dInitImageProxy(&v1);
|
||||
v3 = Graphics_LoadImageMappingFromOpenNARC(param1, 134, 1, 0, 0, NNS_G2D_VRAM_TYPE_2DSUB, 0, 10, &v1);
|
||||
ov19_021D783C(&v2, &v1, ov19_021D77D0(param0->unk_04), param0->unk_60, param0->unk_68, 1);
|
||||
@@ -629,17 +629,16 @@ static void ov19_021DF730(UnkStruct_ov19_021DEC04 *param0, u32 param1)
|
||||
};
|
||||
NNSG2dImageProxy v1;
|
||||
SpriteResourcesHeader v2;
|
||||
int v3;
|
||||
|
||||
ov19_021D783C(&v2, &v1, ov19_021D77D0(param0->unk_04), ov19_021DA80C(param0->unk_14), ov19_021DA810(param0->unk_14), 1);
|
||||
|
||||
for (v3 = 0; v3 < 2; v3++) {
|
||||
param0->unk_18[v3] = param1 + (v3 * (4 * 4) * 0x20);
|
||||
for (int i = 0; i < 2; i++) {
|
||||
param0->unk_18[i] = param1 + (i * (4 * 4) * 0x20);
|
||||
NNS_G2dInitImageProxy(&v1);
|
||||
NNS_G2dSetImageLocation(&v1, NNS_G2D_VRAM_TYPE_2DSUB, param0->unk_18[v3]);
|
||||
NNS_G2dSetImageLocation(&v1, NNS_G2D_VRAM_TYPE_2DSUB, param0->unk_18[i]);
|
||||
v1.attr.mappingType = GXS_GetOBJVRamModeChar();
|
||||
param0->unk_20[v3] = ov19_021D785C(param0->unk_10, &v2, v0[v3].unk_00, v0[v3].unk_02, 1 - v3, NNS_G2D_VRAM_TYPE_2DSUB);
|
||||
Sprite_SetDrawFlag(param0->unk_20[v3], 0);
|
||||
param0->unk_20[i] = ov19_021D785C(param0->unk_10, &v2, v0[i].unk_00, v0[i].unk_02, 1 - i, NNS_G2D_VRAM_TYPE_2DSUB);
|
||||
Sprite_SetDrawFlag(param0->unk_20[i], FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -667,7 +666,7 @@ static void ov19_021DF7D0(UnkStruct_ov19_021DEC04 *param0)
|
||||
|
||||
static void ov19_021DF834(UnkStruct_ov19_021DEC04 *param0)
|
||||
{
|
||||
int compareMonSlot = ov19_021D5F9C(param0->unk_08);
|
||||
int compareMonSlot = ov19_GetCompareMonSlot(param0->unk_08);
|
||||
const PCCompareMon *compareMon = ov19_GetCompareMonFrom(param0->unk_08, compareMonSlot);
|
||||
Sprite *v2 = param0->unk_20[compareMonSlot];
|
||||
BoxPokemon *boxMon = compareMon->mon;
|
||||
@@ -693,7 +692,7 @@ static void ov19_021DF8C8(UnkStruct_ov19_021DEC04 *param0, int compareMonSlot)
|
||||
{
|
||||
Window *window;
|
||||
|
||||
compareMonSlot = ov19_021D5F9C(param0->unk_08);
|
||||
compareMonSlot = ov19_GetCompareMonSlot(param0->unk_08);
|
||||
window = &(param0->unk_78[0 + compareMonSlot]);
|
||||
|
||||
Window_FillTilemap(window, 0);
|
||||
|
||||
@@ -1,300 +0,0 @@
|
||||
#include "overlay019/ov19_021DF964.h"
|
||||
|
||||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "struct_decls/pc_boxes_decl.h"
|
||||
|
||||
#include "overlay019/ov19_021D0D80.h"
|
||||
#include "overlay019/pc_mon_preview.h"
|
||||
#include "overlay019/struct_ov19_021D4DF0.h"
|
||||
#include "overlay019/struct_ov19_021DF964.h"
|
||||
|
||||
#include "enums.h"
|
||||
#include "pc_boxes.h"
|
||||
#include "sound_playback.h"
|
||||
#include "system.h"
|
||||
|
||||
static void ov19_021DFCF8(UnkStruct_ov19_021DF964 *param0);
|
||||
static void ov19_021DFD08(UnkStruct_ov19_021DF964 *param0, UnkEnum_021DFB94 param1);
|
||||
|
||||
void ov19_021DF964(UnkStruct_ov19_021D4DF0 *param0, u32 param1)
|
||||
{
|
||||
UnkStruct_ov19_021DF964 *v0 = &(param0->unk_74);
|
||||
|
||||
ov19_021DFCF8(v0);
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_54);
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_55);
|
||||
|
||||
v0->unk_20 = param1;
|
||||
v0->unk_23 = 0;
|
||||
}
|
||||
|
||||
void ov19_021DF990(UnkStruct_ov19_021D4DF0 *param0)
|
||||
{
|
||||
UnkStruct_ov19_021DF964 *v0 = &(param0->unk_74);
|
||||
|
||||
ov19_021DFCF8(v0);
|
||||
v0->unk_23 = 1;
|
||||
|
||||
switch (ov19_GetBoxMode(param0)) {
|
||||
case PC_MODE_MOVE_MONS:
|
||||
default:
|
||||
if (ov19_GetPreviewMonSource(param0) == PREVIEW_MON_IN_CURSOR) {
|
||||
ov19_021DFD08(v0, ov19_IsMonUnderCursor(param0) ? UnkEnum_021DFB94_36 : UnkEnum_021DFB94_35);
|
||||
} else {
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_34);
|
||||
}
|
||||
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_37);
|
||||
|
||||
{
|
||||
const PCMonPreview *preview = ov19_GetPCMonPreview(param0);
|
||||
|
||||
if (preview->isEgg == FALSE) {
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_40);
|
||||
}
|
||||
}
|
||||
|
||||
ov19_021DFD08(v0, (ov19_GetCursorLocation(param0) == CURSOR_IN_BOX) ? UnkEnum_021DFB94_38 : UnkEnum_021DFB94_39);
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_41);
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_42);
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_43);
|
||||
break;
|
||||
case PC_MODE_DEPOSIT:
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_39);
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_37);
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_41);
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_42);
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_43);
|
||||
break;
|
||||
case PC_MODE_WITHDRAW:
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_38);
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_37);
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_41);
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_42);
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_43);
|
||||
break;
|
||||
case PC_MODE_COMPARE:
|
||||
ov19_021DFD08(v0, (ov19_021D5F9C(param0) == 0) ? UnkEnum_021DFB94_52 : UnkEnum_021DFB94_53);
|
||||
ov19_021DFD08(v0, (ov19_GetCursorLocation(param0) == CURSOR_IN_BOX) ? UnkEnum_021DFB94_38 : UnkEnum_021DFB94_39);
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_41);
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_43);
|
||||
}
|
||||
}
|
||||
|
||||
void ov19_021DFAD0(UnkStruct_ov19_021D4DF0 *param0)
|
||||
{
|
||||
UnkStruct_ov19_021DF964 *v0;
|
||||
u32 v1, v2;
|
||||
|
||||
v0 = &(param0->unk_74);
|
||||
v1 = ov19_GetCursorItem(param0);
|
||||
v2 = ov19_GetPreviewedMonHeldItem(param0);
|
||||
|
||||
ov19_021DFCF8(v0);
|
||||
v0->unk_23 = 1;
|
||||
|
||||
if (v1 != 0) {
|
||||
if (v2 != 0) {
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_49);
|
||||
} else {
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_46);
|
||||
}
|
||||
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_50);
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_48);
|
||||
} else {
|
||||
if (v2 != 0) {
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_47);
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_50);
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_48);
|
||||
} else {
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_46);
|
||||
}
|
||||
}
|
||||
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_51);
|
||||
}
|
||||
|
||||
void ov19_021DFB50(UnkStruct_ov19_021D4DF0 *param0)
|
||||
{
|
||||
UnkStruct_ov19_021DF964 *v0 = &(param0->unk_74);
|
||||
const PCBoxes *unused = ov19_GetPCBoxes(param0);
|
||||
|
||||
ov19_021DFCF8(v0);
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_00);
|
||||
|
||||
if (ov19_GetBoxMode(param0) != PC_MODE_COMPARE) {
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_01);
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_02);
|
||||
}
|
||||
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_03);
|
||||
|
||||
v0->unk_23 = 2;
|
||||
}
|
||||
|
||||
void ov19_021DFB94(UnkStruct_ov19_021D4DF0 *param0, UnkEnum_021DFB94 param1)
|
||||
{
|
||||
UnkStruct_ov19_021DF964 *v0 = &(param0->unk_74);
|
||||
const PCBoxes *pcBoxes = ov19_GetPCBoxes(param0);
|
||||
u32 numUnlockedWallpapers;
|
||||
|
||||
ov19_021DFCF8(v0);
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_04);
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_05);
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_06);
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_07);
|
||||
|
||||
numUnlockedWallpapers = PCBoxes_CountUnlockedWallpapers(pcBoxes);
|
||||
|
||||
if (numUnlockedWallpapers > 0) {
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_08);
|
||||
}
|
||||
|
||||
if (numUnlockedWallpapers > 4) {
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_09);
|
||||
}
|
||||
|
||||
v0->unk_23 = 3;
|
||||
|
||||
if ((param1 >= UnkEnum_021DFB94_04) && (param1 <= UnkEnum_021DFB94_09)) {
|
||||
v0->unk_20 = param1 - UnkEnum_021DFB94_04;
|
||||
} else {
|
||||
GF_ASSERT(0);
|
||||
}
|
||||
}
|
||||
|
||||
void ov19_021DFC04(UnkStruct_ov19_021D4DF0 *param0, UnkEnum_021DFB94 param1)
|
||||
{
|
||||
static const u16 v0[][4] = {
|
||||
{ UnkEnum_021DFB94_10, UnkEnum_021DFB94_11, UnkEnum_021DFB94_12, UnkEnum_021DFB94_13 },
|
||||
{ UnkEnum_021DFB94_14, UnkEnum_021DFB94_15, UnkEnum_021DFB94_16, UnkEnum_021DFB94_17 },
|
||||
{ UnkEnum_021DFB94_18, UnkEnum_021DFB94_19, UnkEnum_021DFB94_20, UnkEnum_021DFB94_21 },
|
||||
{ UnkEnum_021DFB94_22, UnkEnum_021DFB94_23, UnkEnum_021DFB94_24, UnkEnum_021DFB94_25 },
|
||||
};
|
||||
UnkStruct_ov19_021DF964 *v1 = &(param0->unk_74);
|
||||
const PCBoxes *pcBoxes = ov19_GetPCBoxes(param0);
|
||||
int v3;
|
||||
|
||||
ov19_021DFCF8(v1);
|
||||
|
||||
if ((param1 >= UnkEnum_021DFB94_04) && (param1 <= UnkEnum_021DFB94_07)) {
|
||||
param1 -= UnkEnum_021DFB94_04;
|
||||
|
||||
for (v3 = 0; v3 < 4; v3++) {
|
||||
ov19_021DFD08(v1, v0[param1][v3]);
|
||||
}
|
||||
} else {
|
||||
int v4 = 0;
|
||||
int v5 = 0;
|
||||
|
||||
if (param1 == UnkEnum_021DFB94_09) {
|
||||
v4 = 4;
|
||||
}
|
||||
|
||||
for (v3 = 0; v3 < 8; v3++) {
|
||||
if (PCBoxes_CheckHasUnlockedWallpaper(pcBoxes, v3)) {
|
||||
if (v4) {
|
||||
v4--;
|
||||
} else {
|
||||
ov19_021DFD08(v1, UnkEnum_021DFB94_26 + v3);
|
||||
|
||||
if (++v5 >= 4) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
v1->unk_23 = 3;
|
||||
}
|
||||
|
||||
void ov19_021DFC80(UnkStruct_ov19_021D4DF0 *param0)
|
||||
{
|
||||
UnkStruct_ov19_021DF964 *v0 = &(param0->unk_74);
|
||||
|
||||
ov19_021DFCF8(v0);
|
||||
|
||||
v0->unk_23 = 4;
|
||||
v0->unk_22 = param0->pcMonPreview.markings;
|
||||
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_56);
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_57);
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_58);
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_59);
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_60);
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_61);
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_44);
|
||||
ov19_021DFD08(v0, UnkEnum_021DFB94_45);
|
||||
}
|
||||
|
||||
void ov19_021DFCE4(UnkStruct_ov19_021D4DF0 *param0, u32 param1)
|
||||
{
|
||||
UnkStruct_ov19_021DF964 *v0 = &(param0->unk_74);
|
||||
v0->unk_22 ^= (1 << param1);
|
||||
}
|
||||
|
||||
static void ov19_021DFCF8(UnkStruct_ov19_021DF964 *param0)
|
||||
{
|
||||
param0->unk_21 = 0;
|
||||
param0->unk_20 = 0;
|
||||
}
|
||||
|
||||
static void ov19_021DFD08(UnkStruct_ov19_021DF964 *param0, UnkEnum_021DFB94 param1)
|
||||
{
|
||||
if (param0->unk_21 < 8) {
|
||||
param0->unk_00[param0->unk_21++] = param1;
|
||||
}
|
||||
}
|
||||
|
||||
int ov19_021DFD2C(UnkStruct_ov19_021D4DF0 *param0)
|
||||
{
|
||||
UnkStruct_ov19_021DF964 *v0 = &(param0->unk_74);
|
||||
|
||||
if (gSystem.pressedKeys & PAD_KEY_UP) {
|
||||
if (v0->unk_20) {
|
||||
v0->unk_20--;
|
||||
return -2;
|
||||
} else if (v0->unk_21 >= 3) {
|
||||
v0->unk_20 = v0->unk_21 - 1;
|
||||
return -2;
|
||||
}
|
||||
}
|
||||
|
||||
if (gSystem.pressedKeys & PAD_KEY_DOWN) {
|
||||
if (v0->unk_20 < (v0->unk_21 - 1)) {
|
||||
v0->unk_20++;
|
||||
return -2;
|
||||
} else if (v0->unk_21 >= 3) {
|
||||
v0->unk_20 = 0;
|
||||
return -2;
|
||||
}
|
||||
}
|
||||
|
||||
if (gSystem.pressedKeys & PAD_BUTTON_B) {
|
||||
Sound_PlayEffect(SEQ_SE_DP_DECIDE);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (gSystem.pressedKeys & PAD_BUTTON_A) {
|
||||
Sound_PlayEffect(SEQ_SE_DP_DECIDE);
|
||||
return v0->unk_00[v0->unk_20];
|
||||
}
|
||||
|
||||
return -3;
|
||||
}
|
||||
|
||||
UnkEnum_021DFB94 ov19_021DFDDC(UnkStruct_ov19_021D4DF0 *param0)
|
||||
{
|
||||
UnkStruct_ov19_021DF964 *v0 = &(param0->unk_74);
|
||||
return v0->unk_00[v0->unk_20];
|
||||
}
|
||||
|
||||
UnkEnum_021DFB94 ov19_021DFDEC(UnkStruct_ov19_021D4DF0 *param0)
|
||||
{
|
||||
UnkStruct_ov19_021DF964 *v0 = &(param0->unk_74);
|
||||
return v0->unk_00[0];
|
||||
}
|
||||
@@ -2794,7 +2794,7 @@ static int ov64_0223044C (UnkStruct_ov64_02230444 * param0, UnkStruct_ov64_0222D
|
||||
}
|
||||
|
||||
ApplicationManager_Free(param0->appMan);
|
||||
ov64_0222E07C(param2, param0->unk_04->unk_18, param0->unk_08->unk_1C);
|
||||
ov64_0222E07C(param2, param0->unk_04->textInputStr, param0->unk_08->unk_1C);
|
||||
ov64_0222E074(param2, 0, 6);
|
||||
param2->unk_04 = 3;
|
||||
break;
|
||||
@@ -2818,7 +2818,7 @@ static int ov64_0223044C (UnkStruct_ov64_02230444 * param0, UnkStruct_ov64_0222D
|
||||
|
||||
if (param0->unk_04->unk_14 == 0) {
|
||||
ov64_0222E074(param2, 1, 12);
|
||||
ov64_0222E07C(param2, param0->unk_04->unk_18, NULL);
|
||||
ov64_0222E07C(param2, param0->unk_04->textInputStr, NULL);
|
||||
param2->unk_04 = 6;
|
||||
} else {
|
||||
ov64_0222E074(param2, 1, 13);
|
||||
@@ -2858,9 +2858,9 @@ static UnkStruct_0208737C * ov64_022305DC (UnkStruct_ov64_02230444 * param0, Unk
|
||||
if (param1->unk_34.unk_04 == 1) {
|
||||
{
|
||||
if (IsFullWidthChar(*param1->unk_34.unk_00) == 0) {
|
||||
Strbuf_CopyChars(v0->unk_18, param1->unk_34.unk_00);
|
||||
Strbuf_CopyChars(v0->textInputStr, param1->unk_34.unk_00);
|
||||
} else {
|
||||
Strbuf_Clear(v0->unk_18);
|
||||
Strbuf_Clear(v0->textInputStr);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -235,13 +235,13 @@ int ov73_021D0F7C(ApplicationManager *appMan, int *param1)
|
||||
Heap_FreeToHeap(v0->unk_B8);
|
||||
Heap_FreeToHeap(v0->unk_BC);
|
||||
|
||||
TrainerInfo_SetNameFromStrbuf(SaveData_GetTrainerInfo(v0->saveData), v0->unk_70->unk_18);
|
||||
TrainerInfo_SetNameFromStrbuf(SaveData_GetTrainerInfo(v0->saveData), v0->unk_70->textInputStr);
|
||||
TrainerInfo_SetGender(SaveData_GetTrainerInfo(v0->saveData), v0->unk_70->unk_04);
|
||||
|
||||
{
|
||||
MiscSaveBlock *v2 = SaveData_MiscSaveBlock(v0->saveData);
|
||||
|
||||
MiscSaveBlock_SetRivalName(v2, v0->unk_74->unk_18);
|
||||
MiscSaveBlock_SetRivalName(v2, v0->unk_74->textInputStr);
|
||||
}
|
||||
|
||||
sub_0208716C(v0->unk_70);
|
||||
@@ -706,8 +706,8 @@ static BOOL ov73_021D1510(UnkStruct_ov73_021D1058 *param0, u32 param1, int param
|
||||
param0->unk_5C = Strbuf_Init(0x400, param0->heapID);
|
||||
|
||||
MessageLoader_GetStrbuf(param0->unk_4C, param1, v1);
|
||||
StringTemplate_SetStrbuf(param0->unk_64, 0, param0->unk_70->unk_18, param0->unk_84, 1, GAME_LANGUAGE);
|
||||
StringTemplate_SetStrbuf(param0->unk_64, 1, param0->unk_74->unk_18, 0, 1, GAME_LANGUAGE);
|
||||
StringTemplate_SetStrbuf(param0->unk_64, 0, param0->unk_70->textInputStr, param0->unk_84, 1, GAME_LANGUAGE);
|
||||
StringTemplate_SetStrbuf(param0->unk_64, 1, param0->unk_74->textInputStr, 0, 1, GAME_LANGUAGE);
|
||||
StringTemplate_Format(param0->unk_64, param0->unk_5C, v1);
|
||||
Strbuf_Free(v1);
|
||||
}
|
||||
@@ -2025,7 +2025,7 @@ static BOOL ov73_021D2318(UnkStruct_ov73_021D1058 *param0)
|
||||
break;
|
||||
case 2:
|
||||
case 0xfffffffe:
|
||||
Strbuf_Clear(param0->unk_70->unk_18);
|
||||
Strbuf_Clear(param0->unk_70->textInputStr);
|
||||
param0->unk_10 = 63;
|
||||
param0->unk_0C = 81;
|
||||
break;
|
||||
@@ -2110,7 +2110,7 @@ static BOOL ov73_021D2318(UnkStruct_ov73_021D1058 *param0)
|
||||
{
|
||||
Strbuf *v10 = MessageLoader_GetNewStrbuf(param0->unk_4C, v9);
|
||||
|
||||
Strbuf_Copy(param0->unk_74->unk_18, v10);
|
||||
Strbuf_Copy(param0->unk_74->textInputStr, v10);
|
||||
Strbuf_Free(v10);
|
||||
}
|
||||
}
|
||||
@@ -2157,7 +2157,7 @@ static BOOL ov73_021D2318(UnkStruct_ov73_021D1058 *param0)
|
||||
break;
|
||||
case 2:
|
||||
case 0xfffffffe:
|
||||
Strbuf_Clear(param0->unk_74->unk_18);
|
||||
Strbuf_Clear(param0->unk_74->textInputStr);
|
||||
param0->unk_0C = 88;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -3735,7 +3735,7 @@ static BOOL sub_02041CF4(ScriptContext *ctx)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (v2->unk_08 == 1) {
|
||||
if (v2->recordBoxUseInJournal == TRUE) {
|
||||
void *journalEntryLocationEvent;
|
||||
|
||||
journalEntryLocationEvent = JournalEntry_CreateEventUsedPCBox(HEAP_ID_FIELDMAP);
|
||||
|
||||
@@ -1179,11 +1179,11 @@ static BOOL sub_0203DE98(FieldTask *param0)
|
||||
break;
|
||||
case 3:
|
||||
if (v2->unk_0C->unk_00 == 1) {
|
||||
if (Strbuf_Compare(v2->unk_0C->unk_18, v2->unk_10) == 0) {
|
||||
if (Strbuf_Compare(v2->unk_0C->textInputStr, v2->unk_10) == 0) {
|
||||
v2->unk_0C->unk_14 = 1;
|
||||
}
|
||||
} else if (v2->unk_0C->unk_00 == 5) {
|
||||
const u16 *v3 = Strbuf_GetData(v2->unk_0C->unk_18);
|
||||
const u16 *v3 = Strbuf_GetData(v2->unk_0C->textInputStr);
|
||||
RecordMixedRNG *v4 = SaveData_GetRecordMixedRNG(fieldSystem->saveData);
|
||||
|
||||
if (RecordMixedRNG_DoesCollectionContainGroup(v4, v3)) {
|
||||
@@ -1228,11 +1228,11 @@ static void sub_0203DF68(FieldTask *param0)
|
||||
} break;
|
||||
case 5: {
|
||||
RecordMixedRNG *v5 = SaveData_GetRecordMixedRNG(fieldSystem->saveData);
|
||||
RecordMixedRNG_GetEntryNameAsStrbuf(v5, 0, 0, v1->unk_0C->unk_18);
|
||||
RecordMixedRNG_GetEntryNameAsStrbuf(v5, 0, 0, v1->unk_0C->textInputStr);
|
||||
} break;
|
||||
case 6: {
|
||||
MiscSaveBlock *v6 = SaveData_MiscSaveBlock(fieldSystem->saveData);
|
||||
MiscSaveBlock_SetTabletName(v6, v1->unk_0C->unk_18);
|
||||
MiscSaveBlock_SetTabletName(v6, v1->unk_0C->textInputStr);
|
||||
} break;
|
||||
}
|
||||
|
||||
@@ -1266,7 +1266,7 @@ void sub_0203DFE8(FieldTask *param0, int param1, int param2, int param3, int par
|
||||
break;
|
||||
default:
|
||||
if (param5 != NULL) {
|
||||
Strbuf_CopyChars(v2->unk_0C->unk_18, param5);
|
||||
Strbuf_CopyChars(v2->unk_0C->textInputStr, param5);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1074,17 +1074,17 @@ static void sub_02086E6C(UnkStruct_02087A10 *param0, UnkStruct_0208737C *param1)
|
||||
v0 = MessageLoader_GetNewStrbuf(param0->unk_170, 18 + LCRNG_Next() % 18);
|
||||
}
|
||||
|
||||
Strbuf_Copy(param1->unk_18, v0);
|
||||
Strbuf_Copy(param1->textInputStr, v0);
|
||||
Strbuf_Free(v0);
|
||||
Strbuf_ToChars(param1->unk_18, param1->unk_1C, 10);
|
||||
Strbuf_ToChars(param1->textInputStr, param1->unk_1C, 10);
|
||||
} else if (param0->unk_00 == 3) {
|
||||
Strbuf *v1;
|
||||
|
||||
v1 = MessageLoader_GetNewStrbuf(param0->unk_170, 88 + (LCRNG_Next() % 2));
|
||||
|
||||
Strbuf_Copy(param1->unk_18, v1);
|
||||
Strbuf_Copy(param1->textInputStr, v1);
|
||||
Strbuf_Free(v1);
|
||||
Strbuf_ToChars(param1->unk_18, param1->unk_1C, 10);
|
||||
Strbuf_ToChars(param1->textInputStr, param1->unk_1C, 10);
|
||||
} else {
|
||||
param1->unk_14 = 1;
|
||||
}
|
||||
@@ -1130,7 +1130,7 @@ static int sub_02086F3C(ApplicationManager *appMan, int *param1)
|
||||
} else {
|
||||
CharCode_Copy(v0->unk_118, v0->unk_D8);
|
||||
CharCode_Copy(v1->unk_1C, v0->unk_D8);
|
||||
Strbuf_CopyChars(v1->unk_18, v0->unk_D8);
|
||||
Strbuf_CopyChars(v1->textInputStr, v0->unk_D8);
|
||||
}
|
||||
|
||||
Strbuf_Free(v0->unk_184);
|
||||
@@ -1198,7 +1198,7 @@ UnkStruct_0208737C *sub_0208712C(int heapID, int param1, int param2, int param3,
|
||||
v0->unk_0C = param3;
|
||||
v0->unk_14 = 0;
|
||||
v0->unk_1C[0] = 0xffff;
|
||||
v0->unk_18 = Strbuf_Init(32, heapID);
|
||||
v0->textInputStr = Strbuf_Init(32, heapID);
|
||||
v0->unk_44 = 0;
|
||||
v0->unk_48 = NULL;
|
||||
v0->unk_10 = 0;
|
||||
@@ -1210,10 +1210,10 @@ UnkStruct_0208737C *sub_0208712C(int heapID, int param1, int param2, int param3,
|
||||
|
||||
void sub_0208716C(UnkStruct_0208737C *param0)
|
||||
{
|
||||
GF_ASSERT((param0->unk_18) != NULL);
|
||||
GF_ASSERT((param0->textInputStr) != NULL);
|
||||
GF_ASSERT((param0) != NULL);
|
||||
|
||||
Strbuf_Free(param0->unk_18);
|
||||
Strbuf_Free(param0->textInputStr);
|
||||
Heap_FreeToHeap(param0);
|
||||
}
|
||||
|
||||
@@ -1387,8 +1387,8 @@ static void sub_0208737C(UnkStruct_02087A10 *param0, ApplicationManager *appMan)
|
||||
|
||||
param0->unk_118[0] = 0xffff;
|
||||
|
||||
if (v0->unk_18) {
|
||||
Strbuf_ToChars(v0->unk_18, param0->unk_118, 32);
|
||||
if (v0->textInputStr) {
|
||||
Strbuf_ToChars(v0->textInputStr, param0->unk_118, 32);
|
||||
}
|
||||
|
||||
MI_CpuFill16(param0->unk_D8, 0x1, 32 * 2);
|
||||
|
||||
@@ -244,7 +244,7 @@ static BOOL sub_0209843C(FieldTask *param0)
|
||||
} break;
|
||||
case 4:
|
||||
if (v0->unk_08->unk_14 == 0) {
|
||||
Pokemon_SetValue(v0->unk_0C.unk_00, MON_DATA_NICKNAME_STRBUF_AND_FLAG, v0->unk_08->unk_18);
|
||||
Pokemon_SetValue(v0->unk_0C.unk_00, MON_DATA_NICKNAME_STRBUF_AND_FLAG, v0->unk_08->textInputStr);
|
||||
|
||||
{
|
||||
FieldSystem *fieldSystem = FieldTask_GetFieldSystem(param0);
|
||||
|
||||
Reference in New Issue
Block a user