Through sub_808FE54

This commit is contained in:
PikalaxALT
2020-03-13 16:28:17 -04:00
parent 50e0630320
commit a89e8474fd
11 changed files with 1253 additions and 2497 deletions
File diff suppressed because it is too large Load Diff
-231
View File
@@ -6,237 +6,6 @@
.section .rodata
.align 2
gUnknown_83CE438:: @ 83CE438 4bpp.lz
.incbin "graphics/interface/pss_unk_83CE438.4bpp.lz"
gUnknown_83CE4D0:: @ 83CE4D0 bin.lz
.incbin "graphics/interface/pss_unk_83CE4D0.bin.lz"
.incbin "graphics/interface/pss_unk_83CE5DC.gbapal"
gUnknown_83CE5FC:: @ 83CE5FC bin.lz
.incbin "graphics/interface/pss_unk_83CE5FC.bin.lz"
gUnknown_83CE6F8:: @ 83CE6F8 data16
.2byte 0x0101, 0x0102, 0x0103, 0x0104, 0x0105, 0x0106, 0x0107, 0x0108
.2byte 0x0111, 0x0112, 0x0113, 0x0114, 0x0115, 0x0116, 0x0117, 0x0118
.2byte 0x2101, 0x2102, 0x2103, 0x2104, 0x2105, 0x2106, 0x2107, 0x2108
.2byte 0x2111, 0x2112, 0x2113, 0x2114, 0x2115, 0x2116, 0x2117, 0x2118
gUnknown_83CE738:: @ 83CE738 gbapal
.incbin "graphics/interface/pss_unk_83CE738.gbapal"
gUnknown_83CE758:: @ 83CE758 gbapal
.incbin "graphics/interface/pss_unk_83CE758.gbapal"
gUnknown_83CE778:: @ 83CE778 @ raw16
.2byte 0x014c, 0x014d, 0x014e, 0x014f, 0x0170, 0x0171, 0x0172, 0x0173, 0x0174, 0x015c, 0x015d, 0x015e, 0x015f, 0x0180, 0x0181, 0x0182
.2byte 0x0183, 0x0184, 0x0175, 0x0176, 0x0177, 0x0178, 0x0179, 0x017a, 0x017b, 0x017c, 0x017d, 0x0185, 0x0186, 0x0187, 0x0188, 0x0189
.2byte 0x018a, 0x018b, 0x018c, 0x018d
gUnknown_83CE7C0:: @ 83CE7C0 @ raw8
.byte 0x40, 0x11, 0x41, 0x11, 0x41, 0x11, 0x42, 0x11, 0x50, 0x11, 0x51, 0x11, 0x51, 0x11, 0x52, 0x11, 0x60, 0x11, 0x61, 0x11, 0x61, 0x11, 0x62, 0x11
gUnknown_83CE7D8:: @ 83CE7D8 @ raw8
.byte 0x43, 0x11, 0x44, 0x11, 0x44, 0x11, 0x45, 0x11, 0x53, 0x11, 0x54, 0x11, 0x54, 0x11, 0x55, 0x11, 0x63, 0x11, 0x64, 0x11, 0x64, 0x11, 0x65, 0x11
gUnknown_83CE7F0:: @ 83CE7F0 gbapal
.incbin "graphics/interface/pss_unk_83CE810.gbapal"
gUnknown_83CE810:: @ 83CE810 4bpp
.incbin "graphics/interface/pss_unk_83CE810.4bpp"
.incbin "graphics/interface/pss_unk_83CE9D0.gbapal"
gUnknown_83CEA10:: @ 83CEA10 gbapal
.incbin "graphics/interface/pss_unk_83CEA10.gbapal"
gUnknown_83CEA30:: @ 83CEA30 gbapal
.incbin "graphics/interface/pss_unk_83CEA30.gbapal"
gUnknown_83CEA50:: @ 83CEA50 bg_template
.4byte 0x000001d0
@ {
@ .bg = 0,
@ .charBaseIndex = 0,
@ .mapBaseIndex = 29,
@ .screenSize = 0,
@ .paletteMode = 0,
@ .priority = 0,
@ .baseTile = 0x0000
@ }
.4byte 0x004011e5
@ {
@ .bg = 1,
@ .charBaseIndex = 1,
@ .mapBaseIndex = 30,
@ .screenSize = 0,
@ .paletteMode = 0,
@ .priority = 1,
@ .baseTile = 0x0100
@ }
.4byte 0x000023ba
@ {
@ .bg = 2,
@ .charBaseIndex = 2,
@ .mapBaseIndex = 27,
@ .screenSize = 1,
@ .paletteMode = 0,
@ .priority = 2,
@ .baseTile = 0x0000
@ }
.4byte 0x000031ff
@ {
@ .bg = 3,
@ .charBaseIndex = 3,
@ .mapBaseIndex = 31,
@ .screenSize = 0,
@ .paletteMode = 0,
@ .priority = 3,
@ .baseTile = 0x0000
@ }
gUnknown_83CEA60:: @ 83CEA60 sprite_palette
obj_pal gUnknown_83CE7F0, 56010
gUnknown_83CEA68:: @ 83CEA68 sprite_sheet
obj_tiles gUnknown_83CE810, 0x01c0, 5
gUnknown_83CEA70:: @ 83CEA70 spr_template
spr_template 2, 56006, gUnknown_83CEB88, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
gUnknown_83CEA88:: @ 83CEA88 struct {const u8 *; u8;}
.4byte gUnknown_8418208
.byte 0
.align 2
.4byte gUnknown_841821B
.byte 0
.align 2
.4byte gUnknown_8418233
.byte 0
.align 2
.4byte gUnknown_8418248
.byte 0
.align 2
.4byte gUnknown_841825C
.byte 1
.align 2
.4byte gUnknown_841826C
.byte 0
.align 2
.4byte gUnknown_841827F
.byte 0
.align 2
.4byte gUnknown_8418295
.byte 1
.align 2
.4byte gUnknown_84182A7
.byte 0
.align 2
.4byte gUnknown_84182B8
.byte 0
.align 2
.4byte gUnknown_84182CE
.byte 4
.align 2
.4byte gUnknown_84182DF
.byte 6
.align 2
.4byte gUnknown_84182EC
.byte 0
.align 2
.4byte gUnknown_84182FF
.byte 0
.align 2
.4byte gUnknown_8418319
.byte 0
.align 2
.4byte gUnknown_841832C
.byte 0
.align 2
.4byte gUnknown_8418346
.byte 0
.align 2
.4byte gUnknown_841835F
.byte 0
.align 2
.4byte gUnknown_8418379
.byte 0
.align 2
.4byte gUnknown_8418392
.byte 1
.align 2
.4byte gUnknown_84183A0
.byte 0
.align 2
.4byte gUnknown_84183BA
.byte 0
.align 2
.4byte gUnknown_84183C5
.byte 0
.align 2
.4byte gUnknown_841825C
.byte 7
.align 2
.4byte gUnknown_84183DD
.byte 0
.align 2
.4byte gUnknown_84183F0
.byte 7
.align 2
.4byte gUnknown_8418408
.byte 0
.align 2
.4byte gUnknown_8418419
.byte 0
.align 2
.4byte gUnknown_8418433
.byte 7
.align 2
.4byte gUnknown_8418443
.byte 7
.align 2
.4byte gUnknown_8418452
.byte 0
.align 2
gUnknown_83CEB80:: @ 83CEB80 window_template
.byte 0, 24, 11, 5, 4, 15
.2byte 0x005c
gUnknown_83CEB88::
.4byte 0xc0000000, 0x00000000
gUnknown_83CEB90::
.4byte 0x00004000, 0x00000000
gUnknown_83CEB98::
obj_image_anim_frame 0x0000, 5
obj_image_anim_end
gUnknown_83CEBA0::
obj_image_anim_frame 0x0002, 8
obj_image_anim_frame 0x0004, 8
obj_image_anim_frame 0x0006, 8
obj_image_anim_jump 0
gUnknown_83CEBB0::
obj_image_anim_frame 0x0008, 5
obj_image_anim_end
gUnknown_83CEBB8::
obj_image_anim_frame 0x000a, 8
obj_image_anim_frame 0x0004, 8
obj_image_anim_frame 0x000c, 8
obj_image_anim_jump 0
gUnknown_83CEBC8::
.4byte gUnknown_83CEB98
.4byte gUnknown_83CEBA0
.4byte gUnknown_83CEBB0
.4byte gUnknown_83CEBB8
gUnknown_83CEBD8:: @ 83CEBD8 spr_template
spr_template 5, 56010, gUnknown_83CEB90, gUnknown_83CEBC8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
gUnknown_83CEBF0:: @ 83CEBF0 spr_template
spr_template 18, 56000, gUnknown_83CEC08, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-19
View File
@@ -1,19 +0,0 @@
JASC-PAL
0100
16
8 0 0
90 65 16
57 197 0
0 49 0
0 197 16
139 131 32
16 65 24
164 0 0
0 0 0
98 65 49
65 197 24
164 0 0
255 57 0
0 0 0
0 0 0
0 0 0
+16 -6
View File
@@ -1,14 +1,24 @@
#ifndef GUARD_BOX_PARTY_POKEMON_DROPDOWN_H
#define GUARD_BOX_PARTY_POKEMON_DROPDOWN_H
enum
{
BPPD_MOVE_INNER_LEFT = 0,
BPPD_MOVE_OUTER_LEFT,
BPPD_MOVE_INNER_TOP,
BPPD_MOVE_OUTER_TOP,
BPPD_MOVE_INNER_X,
BPPD_MOVE_INNER_Y
};
void AllocBoxPartyPokemonDropdowns(u8 num);
void sub_80F7B2C(void);
void sub_80F7B40(void);
void FreeBoxPartyPokemonDropdowns(void);
void CopyAllBoxPartyPokemonDropdownsToVram(void);
void SetBoxPartyPokemonDropdownMap2(u8 idx, u8 bgId, const void * src, u16 width, u16 height);
void sub_80F7C7C(u8 a0, const void * a1);
void SetBoxPartyPokemonDropdownMap1Tiles(u8 idx, const void * src);
void SetBoxPartyPokemonDropdownMap2Pos(u8 idx, u16 x, u16 y);
void sub_80F7CE8(u8 a0, u16 a1, u16 a2, u16 a3, u16 a4);
void sub_80F7D30(u8 a0, u8 a1, s8 a2);
void sub_80F7E54(u8 a0);
void SetBoxPartyPokemonDropdownMap2Rect(u8 idx, u16 x, u16 y, u16 width, u16 height);
void AdjustBoxPartyPokemonDropdownPos(u8 a0, u8 a1, s8 a2);
void CopyBoxPartyPokemonDropdownToBgTilemapBuffer(u8 idx);
#endif //GUARD_BOX_PARTY_POKEMON_DROPDOWN_H
+7
View File
@@ -4917,4 +4917,11 @@ extern const u16 gUnknown_8E98F38[];
extern const u16 gUnknown_8E990D8[];
extern const u16 gUnknown_8E990F8[];
// pokemon_storage_system
extern const u32 gPSSMenu_Gfx[];
extern const u32 gUnknown_8E9CAEC[];
extern const u16 gPSSMenu_Pal[];
extern const u16 gUnknown_8E9C3F8[];
extern const u16 gUnknown_8E9C418[];
#endif //GUARD_GRAPHICS_H
+97 -11
View File
@@ -48,6 +48,18 @@ enum
PC_TEXT_CANT_STORE_MAIL,
};
enum
{
PC_TEXT_FMT_NORMAL,
PC_TEXT_FMT_MON_NAME_1,
PC_TEXT_FMT_MON_NAME_2,
PC_TEXT_FMT_MON_NAME_3,
PC_TEXT_FMT_MON_NAME_4,
PC_TEXT_FMT_MON_NAME_5,
PC_TEXT_FMT_MON_NAME_6,
PC_TEXT_FMT_ITEM_NAME,
};
enum
{
CURSOR_AREA_IN_BOX,
@@ -85,6 +97,12 @@ enum
#define TAG_TILE_0 0x0
#define TAG_TILE_1 0x1
struct StorageAction
{
const u8 *text;
u8 format;
};
struct UnkPSSStruct_2002370
{
struct Sprite *unk_0000;
@@ -136,10 +154,10 @@ struct UnkStorageStruct
struct PssQuestLogBuffer
{
u16 a0;
u16 a2;
u8 a4;
u8 a5;
u16 species;
u16 species2;
u8 fromBox;
u8 toBox;
};
struct PokemonStorageSystemData
@@ -157,7 +175,7 @@ struct PokemonStorageSystemData
u8 field_2C4;
u8 field_2C5;
u8 showPartyMenuState;
u8 unk_02C7;
bool8 unk_02C7;
u8 unk_02C8;
bool8 unk_02C9;
s16 newCurrBoxId;
@@ -248,10 +266,7 @@ struct PokemonStorageSystemData
/* 0ce8 */ u8 cursorMonLevel;
/* 0ce9 */ bool8 cursorMonIsEgg;
/* 0cea */ u8 cursorMonNick[POKEMON_NAME_LENGTH + 1];
/* 0cf5 */ u8 cursorMonNickText[36];
/* 0d19 */ u8 cursorMonSpeciesName[36];
/* 0d3d */ u8 cursorMonGenderLvlText[36];
/* 0d61 */ u8 cursorMonItemName[36];
/* 0cf5 */ u8 cursorMonTexts[4][36];
/* 0d88 */ bool8 (*monPlaceChangeFunc)(void);
/* 0d8c */ u8 monPlaceChangeState;
/* 0d8d */ u8 field_D91;
@@ -289,8 +304,9 @@ struct PokemonStorageSystemData
/* 21f4 */ struct UnkStorageStruct field_2204[3];
/* 2224 */ u16 movingItem;
/* 2226 */ u16 field_2236;
/* 2228 */ struct PssQuestLogBuffer field_2238;
/* 2230 */ u16 field_223A;
/* 2228 */ struct PssQuestLogBuffer qlogBuffer;
/* 2230 */ u16 field_2238;
/* 2232 */ u16 field_223A;
/* 2234 */ u16 *field_223C;
/* 2238 */ struct Sprite *cursorMonSprite;
/* 223c */ u16 field_2244[0x40];
@@ -310,5 +326,75 @@ void sub_808C950(void);
u8 HandleBoxChooseSelectionInput(void);
void sub_808C854(struct UnkPSSStruct_2002370 *a0, u16 tileTag, u16 palTag, u8 a3, bool32 loadPal);
void SetCurrentBoxMonData(u8 boxPosition, s32 request, const void *value);
u32 GetCurrentBoxMonData(u8 boxPosition, s32 request);
void sub_80922C0(void);
void sub_8092340(void);
bool8 sub_80924A8(void);
void sub_8092AE4(void);
void sub_8092B3C(u8 a0);
void sub_8092B50(void);
void sub_8092B5C(void);
u8 sub_8092B70(void);
void sub_8092F54(void);
void sub_8093174(void);
void sub_8093194(void);
bool8 sub_80931EC(void);
void sub_8093264(void);
void sub_8093630(void);
void sub_8093660(void);
void sub_80936B8(void);
void sub_80937B4(void);
void sub_8094D14(u8 a0);
u8 sub_8094D34(void);
void sub_8094D60(void);
void sub_8094D84(void);
bool8 sub_8094F90(void);
s16 sub_8094F94(void);
void sub_8095024(void);
bool8 sub_8095050(void);
void sub_80950A4(void);
void sub_80950BC(u8 a0);
bool8 sub_80950D0(void);
void sub_8095B5C(void);
void sub_8096088(void);
void sub_80960C0(void);
bool8 sub_809610C(void);
const u8 *GetMovingItemName(void);
void sub_80966F4(void);
bool8 sub_8096728(void);
bool8 sub_80967C0(void);
void sub_8096BE4(struct UnkStruct_2000020 *arg0, struct UnkStruct_2000028 *arg1, u32 arg2);
void sub_8096BF8(void);
void AddMenu(void);
bool8 CanMovePartyMon(void);
bool8 CanShiftMon(void);
bool8 DoMonPlaceChange(void);
bool8 DoWallpaperGfxChange(void);
u8 GetBoxCursorPosition(void);
u16 GetMovingItem(void);
u8 HandleInput(void);
void InitCanReleaseMonVars(void);
void InitMonPlaceChange(u8 a0);
bool8 IsActiveItemMoving(void);
bool8 IsCursorOnCloseBox(void);
bool8 IsMonBeingMoved(void);
void Item_FromMonToMoving(u8 cursorArea, u8 cursorPos);
void Item_GiveMovingToMon(u8 cursorArea, u8 cursorPos);
void Item_SwitchMonsWithMoving(u8 cursorArea, u8 cursorPos);
void Item_TakeMons(u8 cursorArea, u8 cursorPos);
void PrintItemDescription(void);
void ReleaseMon(void);
s8 RunCanReleaseMon(void);
bool8 ScrollToBox(void);
void SetMonMarkings(u8 markings);
void SetMovingMonPriority(u8 priority);
void SetUpScrollToBox(u8 targetBox);
void SetWallpaperForCurrentBox(u8 wallpaper);
bool8 TryStorePartyMonInBox(u8 boxId);
void InitMenu(void);
void SetMenuText(u8 textId);
void sub_8095C84(u8 cursorArea, u8 cursorPos);
void sub_8095E2C(u16 itemId);
#endif //GUARD_POKEMON_STORAGE_SYSTEM_INTERNAL_H
+31
View File
@@ -1372,5 +1372,36 @@ extern const u8 gText_SeeYaDescription[];
extern const u8 gText_PartyFull[];
extern const u8 gText_JustOnePkmn[];
extern const u8 gText_Box[];
extern const u8 gText_ExitFromBox[];
extern const u8 gText_WhatDoYouWantToDo[];
extern const u8 gText_PleasePickATheme[];
extern const u8 gText_PickTheWallpaper[];
extern const u8 gText_PkmnIsSelected[];
extern const u8 gText_JumpToWhichBox[];
extern const u8 gText_DepositInWhichBox[];
extern const u8 gText_PkmnWasDeposited[];
extern const u8 gText_BoxIsFull2[];
extern const u8 gText_ReleaseThisPokemon[];
extern const u8 gText_PkmnWasReleased[];
extern const u8 gText_ByeByePkmn[];
extern const u8 gText_MarkYourPkmn[];
extern const u8 gText_ThatsYourLastPkmn[];
extern const u8 gText_YourPartysFull[];
extern const u8 gText_YoureHoldingAPkmn[];
extern const u8 gText_WhichOneWillYouTake[];
extern const u8 gText_YouCantReleaseAnEgg[];
extern const u8 gText_ContinueBoxOperations[];
extern const u8 gText_PkmnCameBack[];
extern const u8 gText_WasItWorriedAboutYou[];
extern const u8 gText_FourEllipsesExclamation[];
extern const u8 gText_PleaseRemoveTheMail[];
extern const u8 gText_PkmnIsSelected[];
extern const u8 gText_GiveToAPkmn[];
extern const u8 gText_PlacedItemInBag[];
extern const u8 gText_BagIsFull2[];
extern const u8 gText_PutItemInBag[];
extern const u8 gText_ItemIsNowHeld[];
extern const u8 gText_ChangedToNewItem[];
extern const u8 gText_MailCantBeStored[];
#endif //GUARD_STRINGS_H
+60 -60
View File
@@ -3,7 +3,7 @@
#include "box_party_pokemon_dropdown.h"
#include "malloc.h"
struct UnkStruct_203ABE4_Sub
struct BPPD_MapRect
{
s16 destX;
s16 destY;
@@ -13,10 +13,10 @@ struct UnkStruct_203ABE4_Sub
s16 destY2;
};
struct UnkStruct_203ABE4
struct BPPD_Struct
{
struct UnkStruct_203ABE4_Sub map1Rect;
struct UnkStruct_203ABE4_Sub map2Rect;
struct BPPD_MapRect map1Rect;
struct BPPD_MapRect map2Rect;
const void * src1;
const void * src2;
u16 src1Height;
@@ -29,11 +29,11 @@ struct UnkStruct_203ABE4
bool8 bgUpdateScheduled;
};
static EWRAM_DATA struct UnkStruct_203ABE4 * sBoxPartyPokemonDropdownPtr = NULL;
static EWRAM_DATA struct BPPD_Struct * sBoxPartyPokemonDropdownPtr = NULL;
static EWRAM_DATA u16 sBoxPartyPokemonDropdownCount = 0;
static void PushMap1(u8 a0);
static void PushMap2(u8 a0);
static void PushMap1(u8 idx);
static void PushMap2(u8 idx);
static const struct {
u16 height;
@@ -55,7 +55,7 @@ static const struct {
void AllocBoxPartyPokemonDropdowns(u8 num)
{
u16 i;
sBoxPartyPokemonDropdownPtr = Alloc(num * sizeof(struct UnkStruct_203ABE4));
sBoxPartyPokemonDropdownPtr = Alloc(num * sizeof(struct BPPD_Struct));
sBoxPartyPokemonDropdownCount = sBoxPartyPokemonDropdownPtr == NULL ? 0 : num;
for (i = 0; i < sBoxPartyPokemonDropdownCount; i++)
{
@@ -64,19 +64,19 @@ void AllocBoxPartyPokemonDropdowns(u8 num)
}
}
void sub_80F7B2C(void)
void FreeBoxPartyPokemonDropdowns(void)
{
Free(sBoxPartyPokemonDropdownPtr);
}
void sub_80F7B40(void)
void CopyAllBoxPartyPokemonDropdownsToVram(void)
{
int i;
for (i = 0; i < sBoxPartyPokemonDropdownCount; i++)
{
if (sBoxPartyPokemonDropdownPtr[i].bgUpdateScheduled == TRUE)
sub_80F7E54(i);
CopyBoxPartyPokemonDropdownToBgTilemapBuffer(i);
}
}
@@ -112,12 +112,12 @@ void SetBoxPartyPokemonDropdownMap2(u8 idx, u8 bgId, const void * src, u16 width
}
}
void sub_80F7C7C(u8 a0, const void * a1)
void SetBoxPartyPokemonDropdownMap1Tiles(u8 idx, const void * src)
{
if (a0 < sBoxPartyPokemonDropdownCount)
if (idx < sBoxPartyPokemonDropdownCount)
{
sBoxPartyPokemonDropdownPtr[a0].src1 = a1;
sBoxPartyPokemonDropdownPtr[a0].bgUpdateScheduled = TRUE;
sBoxPartyPokemonDropdownPtr[idx].src1 = src;
sBoxPartyPokemonDropdownPtr[idx].bgUpdateScheduled = TRUE;
}
}
@@ -131,82 +131,82 @@ void SetBoxPartyPokemonDropdownMap2Pos(u8 idx, u16 x, u16 y)
}
}
void sub_80F7CE8(u8 a0, u16 a1, u16 a2, u16 a3, u16 a4)
void SetBoxPartyPokemonDropdownMap2Rect(u8 idx, u16 x, u16 y, u16 width, u16 height)
{
if (a0 < sBoxPartyPokemonDropdownCount)
if (idx < sBoxPartyPokemonDropdownCount)
{
sBoxPartyPokemonDropdownPtr[a0].map2Rect.destX = a1;
sBoxPartyPokemonDropdownPtr[a0].map2Rect.destY = a2;
sBoxPartyPokemonDropdownPtr[a0].map2Rect.width = a3;
sBoxPartyPokemonDropdownPtr[a0].map2Rect.height = a4;
sBoxPartyPokemonDropdownPtr[a0].bgUpdateScheduled = TRUE;
sBoxPartyPokemonDropdownPtr[idx].map2Rect.destX = x;
sBoxPartyPokemonDropdownPtr[idx].map2Rect.destY = y;
sBoxPartyPokemonDropdownPtr[idx].map2Rect.width = width;
sBoxPartyPokemonDropdownPtr[idx].map2Rect.height = height;
sBoxPartyPokemonDropdownPtr[idx].bgUpdateScheduled = TRUE;
}
}
void sub_80F7D30(u8 a0, u8 a1, s8 a2)
void AdjustBoxPartyPokemonDropdownPos(u8 idx, u8 op, s8 param)
{
if (a0 < sBoxPartyPokemonDropdownCount)
if (idx < sBoxPartyPokemonDropdownCount)
{
switch (a1)
switch (op)
{
case 0:
sBoxPartyPokemonDropdownPtr[a0].map2Rect.destX2 += a2;
sBoxPartyPokemonDropdownPtr[a0].map2Rect.width -= a2;
case BPPD_MOVE_INNER_LEFT:
sBoxPartyPokemonDropdownPtr[idx].map2Rect.destX2 += param;
sBoxPartyPokemonDropdownPtr[idx].map2Rect.width -= param;
break;
case 1:
sBoxPartyPokemonDropdownPtr[a0].map2Rect.destX += a2;
sBoxPartyPokemonDropdownPtr[a0].map2Rect.width += a2;
case BPPD_MOVE_OUTER_LEFT:
sBoxPartyPokemonDropdownPtr[idx].map2Rect.destX += param;
sBoxPartyPokemonDropdownPtr[idx].map2Rect.width += param;
break;
case 2:
sBoxPartyPokemonDropdownPtr[a0].map2Rect.destY2 += a2;
sBoxPartyPokemonDropdownPtr[a0].map2Rect.height -= a2;
case BPPD_MOVE_INNER_TOP:
sBoxPartyPokemonDropdownPtr[idx].map2Rect.destY2 += param;
sBoxPartyPokemonDropdownPtr[idx].map2Rect.height -= param;
break;
case 3:
sBoxPartyPokemonDropdownPtr[a0].map2Rect.destY -= a2;
sBoxPartyPokemonDropdownPtr[a0].map2Rect.height += a2;
case BPPD_MOVE_OUTER_TOP:
sBoxPartyPokemonDropdownPtr[idx].map2Rect.destY -= param;
sBoxPartyPokemonDropdownPtr[idx].map2Rect.height += param;
break;
case 4:
sBoxPartyPokemonDropdownPtr[a0].map2Rect.destX2 += a2;
case BPPD_MOVE_INNER_X:
sBoxPartyPokemonDropdownPtr[idx].map2Rect.destX2 += param;
break;
case 5:
sBoxPartyPokemonDropdownPtr[a0].map2Rect.destY2 += a2;
case BPPD_MOVE_INNER_Y:
sBoxPartyPokemonDropdownPtr[idx].map2Rect.destY2 += param;
break;
}
sBoxPartyPokemonDropdownPtr[a0].bgUpdateScheduled = TRUE;
sBoxPartyPokemonDropdownPtr[idx].bgUpdateScheduled = TRUE;
}
}
void sub_80F7E54(u8 a0)
void CopyBoxPartyPokemonDropdownToBgTilemapBuffer(u8 idx)
{
if (a0 < sBoxPartyPokemonDropdownCount)
if (idx < sBoxPartyPokemonDropdownCount)
{
if (sBoxPartyPokemonDropdownPtr[a0].src1 != NULL)
PushMap1(a0);
PushMap2(a0);
sBoxPartyPokemonDropdownPtr[a0].map1Rect = sBoxPartyPokemonDropdownPtr[a0].map2Rect;
if (sBoxPartyPokemonDropdownPtr[idx].src1 != NULL)
PushMap1(idx);
PushMap2(idx);
sBoxPartyPokemonDropdownPtr[idx].map1Rect = sBoxPartyPokemonDropdownPtr[idx].map2Rect;
}
}
static void PushMap1(u8 a0)
static void PushMap1(u8 idx)
{
int i;
int r9 = sBoxPartyPokemonDropdownPtr[a0].mapSize * sBoxPartyPokemonDropdownPtr[a0].src1Height;
const void * addr = sBoxPartyPokemonDropdownPtr[a0].src1 + r9 * sBoxPartyPokemonDropdownPtr[a0].map1Rect.destY2 + sBoxPartyPokemonDropdownPtr[a0].map1Rect.destX2 * sBoxPartyPokemonDropdownPtr[a0].mapSize;
for (i = 0; i < sBoxPartyPokemonDropdownPtr[a0].map1Rect.height; i++)
int run = sBoxPartyPokemonDropdownPtr[idx].mapSize * sBoxPartyPokemonDropdownPtr[idx].src1Height;
const void * addr = sBoxPartyPokemonDropdownPtr[idx].src1 + run * sBoxPartyPokemonDropdownPtr[idx].map1Rect.destY2 + sBoxPartyPokemonDropdownPtr[idx].map1Rect.destX2 * sBoxPartyPokemonDropdownPtr[idx].mapSize;
for (i = 0; i < sBoxPartyPokemonDropdownPtr[idx].map1Rect.height; i++)
{
CopyToBgTilemapBufferRect(sBoxPartyPokemonDropdownPtr[a0].bgId, addr, sBoxPartyPokemonDropdownPtr[a0].map1Rect.destX2, sBoxPartyPokemonDropdownPtr[a0].map1Rect.destY2 + i, sBoxPartyPokemonDropdownPtr[a0].map1Rect.width, 1);
addr += r9;
CopyToBgTilemapBufferRect(sBoxPartyPokemonDropdownPtr[idx].bgId, addr, sBoxPartyPokemonDropdownPtr[idx].map1Rect.destX2, sBoxPartyPokemonDropdownPtr[idx].map1Rect.destY2 + i, sBoxPartyPokemonDropdownPtr[idx].map1Rect.width, 1);
addr += run;
}
}
static void PushMap2(u8 a0)
static void PushMap2(u8 idx)
{
int i;
int r9 = sBoxPartyPokemonDropdownPtr[a0].mapSize * sBoxPartyPokemonDropdownPtr[a0].src2Width;
const void * addr = sBoxPartyPokemonDropdownPtr[a0].src2 + r9 * sBoxPartyPokemonDropdownPtr[a0].map2Rect.destY + sBoxPartyPokemonDropdownPtr[a0].map2Rect.destX * sBoxPartyPokemonDropdownPtr[a0].mapSize;
for (i = 0; i < sBoxPartyPokemonDropdownPtr[a0].map2Rect.height; i++)
int run = sBoxPartyPokemonDropdownPtr[idx].mapSize * sBoxPartyPokemonDropdownPtr[idx].src2Width;
const void * addr = sBoxPartyPokemonDropdownPtr[idx].src2 + run * sBoxPartyPokemonDropdownPtr[idx].map2Rect.destY + sBoxPartyPokemonDropdownPtr[idx].map2Rect.destX * sBoxPartyPokemonDropdownPtr[idx].mapSize;
for (i = 0; i < sBoxPartyPokemonDropdownPtr[idx].map2Rect.height; i++)
{
CopyToBgTilemapBufferRect(sBoxPartyPokemonDropdownPtr[a0].bgId, addr, sBoxPartyPokemonDropdownPtr[a0].map2Rect.destX2, sBoxPartyPokemonDropdownPtr[a0].map2Rect.destY2 + i, sBoxPartyPokemonDropdownPtr[a0].map2Rect.width, 1);
addr += r9;
CopyToBgTilemapBufferRect(sBoxPartyPokemonDropdownPtr[idx].bgId, addr, sBoxPartyPokemonDropdownPtr[idx].map2Rect.destX2, sBoxPartyPokemonDropdownPtr[idx].map2Rect.destY2 + i, sBoxPartyPokemonDropdownPtr[idx].map2Rect.width, 1);
addr += run;
}
}
+2 -2
View File
@@ -1247,10 +1247,10 @@ const u32 gUnknown_8E9BF48[] = INCBIN_U32("graphics/interface/link_rfu_status.4b
const u16 gUnknown_8E9C14C[] = INCBIN_U16("graphics/interface/pokedex_abc.gbapal");
const u32 gUnknown_8E9C16C[] = INCBIN_U32("graphics/interface/pokedex_abc.4bpp.lz");
const u16 gUnknown_8E9C3D8[] = INCBIN_U16("graphics/interface/box_tiles_pal1.gbapal");
const u16 gPSSMenu_Pal[] = INCBIN_U16("graphics/interface/box_tiles_pal1.gbapal");
const u16 gUnknown_8E9C3F8[] = INCBIN_U16("graphics/interface/box_tiles_pal2.gbapal");
const u16 gUnknown_8E9C418[] = INCBIN_U16("graphics/interface/box_tiles_pal3.gbapal");
const u32 gUnknown_8E9C438[] = INCBIN_U32("graphics/interface/box_tiles.4bpp.lz");
const u32 gPSSMenu_Gfx[] = INCBIN_U32("graphics/interface/box_tiles.4bpp.lz");
const u32 gUnknown_8E9CAEC[] = INCBIN_U32("graphics/unknown/unknown_E9CAEC.bin.lz");
File diff suppressed because it is too large Load Diff
+30 -30
View File
@@ -601,36 +601,36 @@ const u8 gString_BattleRecords_4Dashes[] = _("----");
const u8 gFameCheckerText_FameCheckerWillBeClosed[] = _("The FAME CHECKER will be closed.");
const u8 gFameCheckerText_ClearTextbox[] = _("\n ");
const u8 gUnknown_8418204[] = _("やめる");
const u8 gUnknown_8418208[] = _("Exit from the BOX.");
const u8 gUnknown_841821B[] = _("What do you want to do?");
const u8 gUnknown_8418233[] = _("Please pick a theme.");
const u8 gUnknown_8418248[] = _("Pick the wallpaper.");
const u8 gUnknown_841825C[] = _("{DYNAMIC 0x00} is selected.");
const u8 gUnknown_841826C[] = _("Jump to which BOX?");
const u8 gUnknown_841827F[] = _("Deposit in which BOX?");
const u8 gUnknown_8418295[] = _("{DYNAMIC 0x00} was deposited.");
const u8 gUnknown_84182A7[] = _("The BOX is full.");
const u8 gUnknown_84182B8[] = _("Release this POKéMON?");
const u8 gUnknown_84182CE[] = _("{DYNAMIC 0x00} was released.");
const u8 gUnknown_84182DF[] = _("Bye-bye, {DYNAMIC 0x00}!");
const u8 gUnknown_84182EC[] = _("Mark your POKéMON.");
const u8 gUnknown_84182FF[] = _("That's your last POKéMON!");
const u8 gUnknown_8418319[] = _("Your party's full!");
const u8 gUnknown_841832C[] = _("You're holding a POKéMON!");
const u8 gUnknown_8418346[] = _("Which one will you take?");
const u8 gUnknown_841835F[] = _("You can't release an EGG.");
const u8 gUnknown_8418379[] = _("Continue BOX operations?");
const u8 gUnknown_8418392[] = _("{DYNAMIC 0x00} came back!");
const u8 gUnknown_84183A0[] = _("Was it worried about you?");
const u8 gUnknown_84183BA[] = _("‥ ‥ ‥ ‥ ‥!");
const u8 gUnknown_84183C5[] = _("Please remove the MAIL.");
const u8 gUnknown_84183DD[] = _("GIVE to a POKéMON?");
const u8 gUnknown_84183F0[] = _("Placed item in the BAG.");
const u8 gUnknown_8418408[] = _("The BAG is full.");
const u8 gUnknown_8418419[] = _("Put this item in the BAG?");
const u8 gUnknown_8418433[] = _("{DYNAMIC 0x00} is now held.");
const u8 gUnknown_8418443[] = _("Changed to {DYNAMIC 0x00}.");
const u8 gUnknown_8418452[] = _("MAIL can't be stored!");
const u8 gText_ExitFromBox[] = _("Exit from the BOX.");
const u8 gText_WhatDoYouWantToDo[] = _("What do you want to do?");
const u8 gText_PleasePickATheme[] = _("Please pick a theme.");
const u8 gText_PickTheWallpaper[] = _("Pick the wallpaper.");
const u8 gText_PkmnIsSelected[] = _("{DYNAMIC 0x00} is selected.");
const u8 gText_JumpToWhichBox[] = _("Jump to which BOX?");
const u8 gText_DepositInWhichBox[] = _("Deposit in which BOX?");
const u8 gText_PkmnWasDeposited[] = _("{DYNAMIC 0x00} was deposited.");
const u8 gText_BoxIsFull2[] = _("The BOX is full.");
const u8 gText_ReleaseThisPokemon[] = _("Release this POKéMON?");
const u8 gText_PkmnWasReleased[] = _("{DYNAMIC 0x00} was released.");
const u8 gText_ByeByePkmn[] = _("Bye-bye, {DYNAMIC 0x00}!");
const u8 gText_MarkYourPkmn[] = _("Mark your POKéMON.");
const u8 gText_ThatsYourLastPkmn[] = _("That's your last POKéMON!");
const u8 gText_YourPartysFull[] = _("Your party's full!");
const u8 gText_YoureHoldingAPkmn[] = _("You're holding a POKéMON!");
const u8 gText_WhichOneWillYouTake[] = _("Which one will you take?");
const u8 gText_YouCantReleaseAnEgg[] = _("You can't release an EGG.");
const u8 gText_ContinueBoxOperations[] = _("Continue BOX operations?");
const u8 gText_PkmnCameBack[] = _("{DYNAMIC 0x00} came back!");
const u8 gText_WasItWorriedAboutYou[] = _("Was it worried about you?");
const u8 gText_FourEllipsesExclamation[] = _("‥ ‥ ‥ ‥ ‥!");
const u8 gText_PleaseRemoveTheMail[] = _("Please remove the MAIL.");
const u8 gText_GiveToAPkmn[] = _("GIVE to a POKéMON?");
const u8 gText_PlacedItemInBag[] = _("Placed item in the BAG.");
const u8 gText_BagIsFull2[] = _("The BAG is full.");
const u8 gText_PutItemInBag[] = _("Put this item in the BAG?");
const u8 gText_ItemIsNowHeld[] = _("{DYNAMIC 0x00} is now held.");
const u8 gText_ChangedToNewItem[] = _("Changed to {DYNAMIC 0x00}.");
const u8 gText_MailCantBeStored[] = _("MAIL can't be stored!");
const u8 gUnknown_8418468[] = _("CANCEL");
const u8 gUnknown_841846F[] = _("STORE");
const u8 gUnknown_8418475[] = _("WITHDRAW");