mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-26 03:34:15 +01:00
move data from asm to pokeblock.c
This commit is contained in:
parent
b4d10ab7ab
commit
8ac17e0948
@ -1497,7 +1497,7 @@ sub_80FDBEC: @ 80FDBEC
|
||||
push {lr}
|
||||
ldr r1, =bag_menu_mail_related
|
||||
movs r0, 0
|
||||
bl sub_81357FC
|
||||
bl OpenPokeblockCase
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
@ -1517,7 +1517,7 @@ sub_80FDC00: @ 80FDC00
|
||||
bl overworld_free_bg_tilemaps
|
||||
ldr r1, =c2_exit_to_overworld_2_switch
|
||||
movs r0, 0
|
||||
bl sub_81357FC
|
||||
bl OpenPokeblockCase
|
||||
adds r0, r4, 0
|
||||
bl DestroyTask
|
||||
_080FDC24:
|
||||
|
@ -5,8 +5,8 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_81357FC
|
||||
sub_81357FC: @ 81357FC
|
||||
thumb_func_start OpenPokeblockCase
|
||||
OpenPokeblockCase: @ 81357FC
|
||||
push {r4-r6,lr}
|
||||
adds r4, r0, 0
|
||||
adds r6, r1, 0
|
||||
@ -53,7 +53,7 @@ _08135864:
|
||||
_0813586A:
|
||||
ldr r0, =0x00000804
|
||||
adds r1, r5, r0
|
||||
ldr r0, =gUnknown_085B269B
|
||||
ldr r0, =sActionsInBattle
|
||||
str r0, [r1]
|
||||
ldr r4, =0x00000808
|
||||
adds r1, r5, r4
|
||||
@ -63,7 +63,7 @@ _0813586A:
|
||||
_08135888:
|
||||
ldr r1, =0x00000804
|
||||
adds r0, r5, r1
|
||||
ldr r1, =gUnknown_085B269D
|
||||
ldr r1, =sActionsOnPokeblockFeeder
|
||||
str r1, [r0]
|
||||
ldr r4, =0x00000808
|
||||
adds r0, r5, r4
|
||||
@ -73,7 +73,7 @@ _08135888:
|
||||
_081358A4:
|
||||
ldr r0, =0x00000804
|
||||
adds r1, r5, r0
|
||||
ldr r0, =gUnknown_085B269F
|
||||
ldr r0, =sActionsWhenGivingToLady
|
||||
str r0, [r1]
|
||||
ldr r4, =0x00000808
|
||||
adds r1, r5, r4
|
||||
@ -85,7 +85,7 @@ _081358C0:
|
||||
ldr r1, [r0]
|
||||
ldr r0, =0x00000804
|
||||
adds r2, r1, r0
|
||||
ldr r0, =gUnknown_085B2698
|
||||
ldr r0, =sActionsOnField
|
||||
str r0, [r2]
|
||||
ldr r4, =0x00000808
|
||||
adds r1, r4
|
||||
@ -99,14 +99,14 @@ _081358D4:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81357FC
|
||||
thumb_func_end OpenPokeblockCase
|
||||
|
||||
thumb_func_start sub_81358F4
|
||||
sub_81358F4: @ 81358F4
|
||||
push {lr}
|
||||
ldr r1, =SetCB2ToReshowScreenAfterMenu2
|
||||
movs r0, 0x1
|
||||
bl sub_81357FC
|
||||
bl OpenPokeblockCase
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
@ -117,7 +117,7 @@ sub_8135908: @ 8135908
|
||||
push {lr}
|
||||
ldr r1, =c2_exit_to_overworld_2_switch
|
||||
movs r0, 0x2
|
||||
bl sub_81357FC
|
||||
bl OpenPokeblockCase
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
@ -491,7 +491,7 @@ _08135C98:
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
beq _08135D18
|
||||
ldr r0, =gMenuPokeblockDevice_Gfx
|
||||
ldr r0, =gMenuPokeblock_Tilemap
|
||||
ldr r4, =gUnknown_0203AB50
|
||||
ldr r1, [r4]
|
||||
bl LZDecompressWram
|
||||
@ -593,7 +593,7 @@ sub_8135D7C: @ 8135D7C
|
||||
movs r4, 0
|
||||
str r4, [sp]
|
||||
str r4, [sp, 0x4]
|
||||
ldr r3, =gUnknown_085B271C
|
||||
ldr r3, =sTextColorInPokeblockMenu
|
||||
str r3, [sp, 0x8]
|
||||
str r4, [sp, 0xC]
|
||||
str r1, [sp, 0x10]
|
||||
@ -1407,7 +1407,7 @@ CreatePokeblockCaseSprite: @ 8136444
|
||||
adds r3, r2, 0
|
||||
lsls r3, 24
|
||||
lsrs r3, 24
|
||||
ldr r0, =gUnknown_085B2704
|
||||
ldr r0, =sSpriteTemplate_PokeblockCase
|
||||
lsls r4, 16
|
||||
asrs r4, 16
|
||||
lsls r5, 16
|
||||
@ -1449,7 +1449,7 @@ _0813648E:
|
||||
movs r1, 0x1
|
||||
orrs r0, r1
|
||||
strb r0, [r4, 0x1]
|
||||
ldr r0, =gUnknown_085B26F0
|
||||
ldr r0, =sSpriteAffineAnimTable_85B26F0
|
||||
str r0, [r4, 0x10]
|
||||
adds r0, r4, 0
|
||||
bl InitSpriteAffineAnim
|
||||
@ -1996,7 +1996,7 @@ _0813696A:
|
||||
ldr r4, =0x00000808
|
||||
adds r1, r3, r4
|
||||
ldrb r1, [r1]
|
||||
ldr r2, =gUnknown_085B2668
|
||||
ldr r2, =sPokeblockMenuActions
|
||||
mov r12, r2
|
||||
ldr r2, =0x00000804
|
||||
adds r3, r2
|
||||
@ -2050,12 +2050,12 @@ sub_81369E0: @ 81369E0
|
||||
movs r0, 0x5
|
||||
bl PlaySE
|
||||
adds r0, r5, 0
|
||||
bl sub_8136DE8
|
||||
bl PokeblockAction_Cancel
|
||||
b _08136A3C
|
||||
_08136A18:
|
||||
movs r0, 0x5
|
||||
bl PlaySE
|
||||
ldr r1, =gUnknown_085B2668
|
||||
ldr r1, =sPokeblockMenuActions
|
||||
ldr r0, =gUnknown_0203AB50
|
||||
ldr r0, [r0]
|
||||
ldr r2, =0x00000804
|
||||
@ -2076,8 +2076,8 @@ _08136A3C:
|
||||
.pool
|
||||
thumb_func_end sub_81369E0
|
||||
|
||||
thumb_func_start sub_8136A50
|
||||
sub_8136A50: @ 8136A50
|
||||
thumb_func_start PokeblockAction_UseOnField
|
||||
PokeblockAction_UseOnField: @ 8136A50
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
@ -2092,7 +2092,7 @@ sub_8136A50: @ 8136A50
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8136A50
|
||||
thumb_func_end PokeblockAction_UseOnField
|
||||
|
||||
thumb_func_start sub_8136A74
|
||||
sub_8136A74: @ 8136A74
|
||||
@ -2118,14 +2118,14 @@ sub_8136AA0: @ 8136AA0
|
||||
ldr r0, =gUnknown_0203AB48
|
||||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
bl sub_81357FC
|
||||
bl OpenPokeblockCase
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8136AA0
|
||||
|
||||
thumb_func_start sub_8136AB4
|
||||
sub_8136AB4: @ 8136AB4
|
||||
thumb_func_start PokeblockAction_Toss
|
||||
PokeblockAction_Toss: @ 8136AB4
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x10
|
||||
adds r4, r0, 0
|
||||
@ -2177,7 +2177,7 @@ sub_8136AB4: @ 8136AB4
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8136AB4
|
||||
thumb_func_end PokeblockAction_Toss
|
||||
|
||||
thumb_func_start sub_8136B48
|
||||
sub_8136B48: @ 8136B48
|
||||
@ -2192,7 +2192,7 @@ sub_8136B48: @ 8136B48
|
||||
str r2, [sp, 0x4]
|
||||
movs r2, 0xE
|
||||
str r2, [sp, 0x8]
|
||||
ldr r2, =gUnknown_085B26A4
|
||||
ldr r2, =sTossYesNoFuncTable
|
||||
str r2, [sp, 0xC]
|
||||
movs r2, 0x1
|
||||
movs r3, 0
|
||||
@ -2203,8 +2203,8 @@ sub_8136B48: @ 8136B48
|
||||
.pool
|
||||
thumb_func_end sub_8136B48
|
||||
|
||||
thumb_func_start sub_8136B78
|
||||
sub_8136B78: @ 8136B78
|
||||
thumb_func_start TossPokeblockChoice_Yes
|
||||
TossPokeblockChoice_Yes: @ 8136B78
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x10
|
||||
adds r4, r0, 0
|
||||
@ -2233,7 +2233,7 @@ sub_8136B78: @ 8136B78
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8136B78
|
||||
thumb_func_end TossPokeblockChoice_Yes
|
||||
|
||||
thumb_func_start sub_8136BC0
|
||||
sub_8136BC0: @ 8136BC0
|
||||
@ -2283,7 +2283,7 @@ sub_8136BC0: @ 8136BC0
|
||||
movs r0, 0x1
|
||||
bl schedule_bg_copy_tilemap_to_vram
|
||||
adds r0, r7, 0
|
||||
bl sub_8136C54
|
||||
bl TossPokeblockChoice_No
|
||||
_08136C36:
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
@ -2291,8 +2291,8 @@ _08136C36:
|
||||
.pool
|
||||
thumb_func_end sub_8136BC0
|
||||
|
||||
thumb_func_start sub_8136C54
|
||||
sub_8136C54: @ 8136C54
|
||||
thumb_func_start TossPokeblockChoice_No
|
||||
TossPokeblockChoice_No: @ 8136C54
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
@ -2314,10 +2314,10 @@ sub_8136C54: @ 8136C54
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8136C54
|
||||
thumb_func_end TossPokeblockChoice_No
|
||||
|
||||
thumb_func_start sub_8136C8C
|
||||
sub_8136C8C: @ 8136C8C
|
||||
thumb_func_start PokeblockAction_UseInBattle
|
||||
PokeblockAction_UseInBattle: @ 8136C8C
|
||||
push {r4-r7,lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
@ -2385,10 +2385,10 @@ _08136D1A:
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_8136C8C
|
||||
thumb_func_end PokeblockAction_UseInBattle
|
||||
|
||||
thumb_func_start sub_8136D2C
|
||||
sub_8136D2C: @ 8136D2C
|
||||
thumb_func_start PokeblockAction_UseOnPokeblockFeeder
|
||||
PokeblockAction_UseOnPokeblockFeeder: @ 8136D2C
|
||||
push {r4,r5,lr}
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
@ -2424,10 +2424,10 @@ sub_8136D2C: @ 8136D2C
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8136D2C
|
||||
thumb_func_end PokeblockAction_UseOnPokeblockFeeder
|
||||
|
||||
thumb_func_start sub_8136D90
|
||||
sub_8136D90: @ 8136D90
|
||||
thumb_func_start PokeblockAction_GiveToContestLady
|
||||
PokeblockAction_GiveToContestLady: @ 8136D90
|
||||
push {r4-r6,lr}
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
@ -2459,10 +2459,10 @@ sub_8136D90: @ 8136D90
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8136D90
|
||||
thumb_func_end PokeblockAction_GiveToContestLady
|
||||
|
||||
thumb_func_start sub_8136DE8
|
||||
sub_8136DE8: @ 8136DE8
|
||||
thumb_func_start PokeblockAction_Cancel
|
||||
PokeblockAction_Cancel: @ 8136DE8
|
||||
push {r4,r5,lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
@ -2485,7 +2485,7 @@ sub_8136DE8: @ 8136DE8
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8136DE8
|
||||
thumb_func_end PokeblockAction_Cancel
|
||||
|
||||
thumb_func_start sub_8136E20
|
||||
sub_8136E20: @ 8136E20
|
||||
@ -2815,7 +2815,7 @@ sub_8137068: @ 8137068
|
||||
ldr r7, =gPokeblockNames
|
||||
_08137074:
|
||||
lsls r1, r4, 3
|
||||
ldr r0, =gUnknown_085B2720
|
||||
ldr r0, =sFavoritePokeblocksTable
|
||||
adds r1, r0
|
||||
adds r0, r5, 0
|
||||
bl PokeblockGetGain
|
||||
|
@ -884,9 +884,15 @@ gMenuPokeblock_Gfx:: @ 8D9B2B4
|
||||
.incbin "baserom.gba", 0xd9b2b4, 0x1bc
|
||||
|
||||
gMenuPokeblock_Pal:: @ 8D9B470
|
||||
.incbin "baserom.gba", 0xd9b470, 0x358
|
||||
.incbin "baserom.gba", 0xd9b470, 0x70
|
||||
|
||||
gMenuPokeblockDevice_Gfx:: @ 8D9B4E0
|
||||
.incbin "baserom.gba", 0xd9b4e0, 0x2c0
|
||||
|
||||
gMenuPokeblockDevice_Pal:: @ 8D9B7A0
|
||||
.incbin "baserom.gba", 0xd9b7a0, 0x28
|
||||
|
||||
gMenuPokeblockDevice_Gfx:: @ 8D9B7C8
|
||||
gMenuPokeblock_Tilemap:: @ 8D9B7C8
|
||||
.incbin "baserom.gba", 0xd9b7c8, 0x148
|
||||
|
||||
.align 2
|
||||
|
@ -1,51 +0,0 @@
|
||||
@ the fourth big chunk of data
|
||||
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
|
||||
gPokeblockFlavorCompatibilityTable:: @ 85B25A0
|
||||
.incbin "baserom.gba", 0x5b25a0, 0x80
|
||||
|
||||
gUnknown_085B2620:: @ 85B2620
|
||||
.incbin "baserom.gba", 0x5b2620, 0xc
|
||||
|
||||
gPokeblockNames:: @ 85B262C
|
||||
.incbin "baserom.gba", 0x5b262c, 0x3c
|
||||
|
||||
gUnknown_085B2668:: @ 85B2668
|
||||
.incbin "baserom.gba", 0x5b2668, 0x30
|
||||
|
||||
gUnknown_085B2698:: @ 85B2698
|
||||
.incbin "baserom.gba", 0x5b2698, 0x3
|
||||
|
||||
gUnknown_085B269B:: @ 85B269B
|
||||
.incbin "baserom.gba", 0x5b269b, 0x2
|
||||
|
||||
gUnknown_085B269D:: @ 85B269D
|
||||
.incbin "baserom.gba", 0x5b269d, 0x2
|
||||
|
||||
gUnknown_085B269F:: @ 85B269F
|
||||
.incbin "baserom.gba", 0x5b269f, 0x5
|
||||
|
||||
gUnknown_085B26A4:: @ 85B26A4
|
||||
.incbin "baserom.gba", 0x5b26a4, 0x4c
|
||||
|
||||
gUnknown_085B26F0:: @ 85B26F0
|
||||
.incbin "baserom.gba", 0x5b26f0, 0x4
|
||||
|
||||
gPokeblockCase_SpriteSheet:: @ 85B26F4
|
||||
.incbin "baserom.gba", 0x5b26f4, 0x8
|
||||
|
||||
gPokeblockCase_SpritePal:: @ 85B26FC
|
||||
.incbin "baserom.gba", 0x5b26fc, 0x8
|
||||
|
||||
gUnknown_085B2704:: @ 85B2704
|
||||
.incbin "baserom.gba", 0x5b2704, 0x18
|
||||
|
||||
gUnknown_085B271C:: @ 85B271C
|
||||
.incbin "baserom.gba", 0x5b271c, 0x4
|
||||
|
||||
gUnknown_085B2720:: @ 85B2720
|
||||
.incbin "baserom.gba", 0x5b2720, 0x28
|
@ -832,46 +832,46 @@ gText_UnkF908Var1Var2:: @ 85E9263
|
||||
gText_BerryTag:: @ 85E926B
|
||||
.string "BERRY TAG$"
|
||||
|
||||
gUnknown_085E9275:: @ 85E9275
|
||||
gText_RedPokeblock:: @ 85E9275
|
||||
.string "RED {POKEBLOCK}$"
|
||||
|
||||
gUnknown_085E927F:: @ 85E927F
|
||||
gText_BluePokeblock:: @ 85E927F
|
||||
.string "BLUE {POKEBLOCK}$"
|
||||
|
||||
gUnknown_085E928A:: @ 85E928A
|
||||
gText_PinkPokeblock:: @ 85E928A
|
||||
.string "PINK {POKEBLOCK}$"
|
||||
|
||||
gUnknown_085E9295:: @ 85E9295
|
||||
gText_GreenPokeblock:: @ 85E9295
|
||||
.string "GREEN {POKEBLOCK}$"
|
||||
|
||||
gUnknown_085E92A1:: @ 85E92A1
|
||||
gText_YellowPokeblock:: @ 85E92A1
|
||||
.string "YELLOW {POKEBLOCK}$"
|
||||
|
||||
gUnknown_085E92AE:: @ 85E92AE
|
||||
gText_PurplePokeblock:: @ 85E92AE
|
||||
.string "PURPLE {POKEBLOCK}$"
|
||||
|
||||
gUnknown_085E92BB:: @ 85E92BB
|
||||
gText_IndigoPokeblock:: @ 85E92BB
|
||||
.string "INDIGO {POKEBLOCK}$"
|
||||
|
||||
gUnknown_085E92C8:: @ 85E92C8
|
||||
gText_BrownPokeblock:: @ 85E92C8
|
||||
.string "BROWN {POKEBLOCK}$"
|
||||
|
||||
gUnknown_085E92D4:: @ 85E92D4
|
||||
gText_LiteBluePokeblock:: @ 85E92D4
|
||||
.string "LITEBLUE {POKEBLOCK}$"
|
||||
|
||||
gUnknown_085E92E3:: @ 85E92E3
|
||||
gText_OlivePokeblock:: @ 85E92E3
|
||||
.string "OLIVE {POKEBLOCK}$"
|
||||
|
||||
gUnknown_085E92EF:: @ 85E92EF
|
||||
gText_GrayPokeblock:: @ 85E92EF
|
||||
.string "GRAY {POKEBLOCK}$"
|
||||
|
||||
gUnknown_085E92FA:: @ 85E92FA
|
||||
gText_BlackPokeblock:: @ 85E92FA
|
||||
.string "BLACK {POKEBLOCK}$"
|
||||
|
||||
gUnknown_085E9306:: @ 85E9306
|
||||
gText_WhitePokeblock:: @ 85E9306
|
||||
.string "WHITE {POKEBLOCK}$"
|
||||
|
||||
gUnknown_085E9312:: @ 85E9312
|
||||
gText_GoldPokeblock:: @ 85E9312
|
||||
.string "GOLD {POKEBLOCK}$"
|
||||
|
||||
gText_Spicy:: @ 85E931D
|
||||
|
@ -29,6 +29,11 @@ extern const u8 gInterfacePal_PremierBall[];
|
||||
extern const u8 gOpenPokeballGfx[];
|
||||
|
||||
// pokeblock
|
||||
extern const u8 gMenuPokeblock_Gfx[];
|
||||
extern const u8 gMenuPokeblock_Pal[];
|
||||
extern const u8 gMenuPokeblock_Tilemap[];
|
||||
extern const u8 gMenuPokeblockDevice_Gfx[];
|
||||
extern const u8 gMenuPokeblockDevice_Pal[];
|
||||
extern const u8 gPokeblockRed_Pal[];
|
||||
extern const u8 gPokeblockBlue_Pal[];
|
||||
extern const u8 gPokeblockPink_Pal[];
|
||||
|
@ -1,7 +1,8 @@
|
||||
#ifndef GUARD_POKEBLOCK_H
|
||||
#define GUARD_POKEBLOCK_H
|
||||
|
||||
#define TAG_POKEBLOCK_GFX 0x39E2
|
||||
#define GFX_TAG_POKEBLOCK 14818
|
||||
#define GFX_TAG_POKEBLOCK_CASE 14800
|
||||
|
||||
enum
|
||||
{
|
||||
@ -34,6 +35,11 @@ void ChooseMonToGivePokeblock(struct Pokeblock *pokeblock, void (*callback)(void
|
||||
void CB2_PreparePokeblockFeedScene(void);
|
||||
|
||||
// pokeblock
|
||||
extern const s8 gPokeblockFlavorCompatibilityTable[];
|
||||
extern const u8 *const gPokeblockNames[];
|
||||
extern const struct CompressedSpriteSheet gPokeblockCase_SpriteSheet;
|
||||
extern const struct CompressedSpritePalette gPokeblockCase_SpritePal;
|
||||
|
||||
u8 CreatePokeblockCaseSprite(s16 x, s16 y, u8 subpriority);
|
||||
u8 GetPokeblockData(const struct Pokeblock *pokeblock, u8 dataId);
|
||||
void ClearPokeblocks(void);
|
||||
|
@ -1,7 +1,7 @@
|
||||
#ifndef GUARD_ROM6_H
|
||||
#define GUARD_ROM6_H
|
||||
|
||||
void sub_81357FC(u8, void(void));
|
||||
void OpenPokeblockCase(u8, void(void));
|
||||
u8 GetLeadMonIndex(void);
|
||||
u8 GetSSTidalLocation(u8 *grp, u8 *num, s16 *x, s16 *y);
|
||||
void sub_813BADC(bool8);
|
||||
|
@ -1,45 +1,50 @@
|
||||
#ifndef GUARD_STRINGS_H
|
||||
#define GUARD_STRINGS_H
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
|
||||
extern const u8 gText_FromSpace[];
|
||||
|
||||
extern const u8 gText_Lv50[];
|
||||
extern const u8 gText_OpenLevel[];
|
||||
|
||||
extern const u8 gText_Mom[];
|
||||
extern const u8 gText_Dad[];
|
||||
|
||||
extern const u8 gText_Cool[];
|
||||
extern const u8 gText_Beauty[];
|
||||
extern const u8 gText_Cute[];
|
||||
extern const u8 gText_Smart[];
|
||||
extern const u8 gText_Tough[];
|
||||
|
||||
extern const u8 gText_Single[];
|
||||
extern const u8 gText_Double[];
|
||||
|
||||
extern const u8 gText_Spicy2[];
|
||||
extern const u8 gText_Dry2[];
|
||||
extern const u8 gText_Sweet2[];
|
||||
extern const u8 gText_Bitter2[];
|
||||
extern const u8 gText_Sour2[];
|
||||
|
||||
extern const u8 gText_Excellent[];
|
||||
extern const u8 gText_VeryGood[];
|
||||
extern const u8 gText_Good[];
|
||||
extern const u8 gText_SoSo[];
|
||||
extern const u8 gText_Bad[];
|
||||
extern const u8 gText_TheWorst[];
|
||||
|
||||
extern const u8 gText_Slots[];
|
||||
extern const u8 gText_Roulette[];
|
||||
extern const u8 gText_Jackpot[];
|
||||
|
||||
extern const u8 gText_First[];
|
||||
extern const u8 gText_Second[];
|
||||
extern const u8 gText_Third[];
|
||||
|
||||
extern const u8 gText_NoDecorations[];
|
||||
extern const u8 gText_NoDecorationsInUse[];
|
||||
|
||||
extern const u8 gText_Exit[];
|
||||
extern const u8 gText_Cancel[];
|
||||
|
||||
extern const u8 gText_Color161Shadow161[];
|
||||
extern const u8 gText_GoBackPrevMenu[];
|
||||
extern const u8 gText_CantPlaceInRoom[];
|
||||
@ -56,12 +61,14 @@ extern const u8 gText_NoDecorationHere[];
|
||||
extern const u8 gText_DecorationWillBeDiscarded[];
|
||||
extern const u8 gText_CantThrowAwayInUse[];
|
||||
extern const u8 gText_DecorationThrownAway[];
|
||||
|
||||
extern const u8 gText_Desk[];
|
||||
extern const u8 gText_Chair[];
|
||||
extern const u8 gText_Plant[];
|
||||
extern const u8 gText_Ornament[];
|
||||
extern const u8 gText_Mat[];
|
||||
extern const u8 gText_Poster[];
|
||||
|
||||
extern const u8 gText_PutOutSelectedDecorItem[];
|
||||
extern const u8 gText_StoreChosenDecorInPC[];
|
||||
extern const u8 gText_ThrowAwayUnwantedDecors[];
|
||||
@ -84,8 +91,31 @@ extern const u8 gText_RegisteredDataDeleted[];
|
||||
extern const u8 gUnknown_085EA79D[];
|
||||
extern const u8 gText_PkmnFainted3[];
|
||||
extern const u8 gText_Coins[];
|
||||
|
||||
extern const u8 gText_Var1AteTheVar2[];
|
||||
extern const u8 gText_Var1HappilyAteVar2[];
|
||||
extern const u8 gText_Var1DisdainfullyAteVar2[];
|
||||
|
||||
extern const u8 gText_RedPokeblock[];
|
||||
extern const u8 gText_BluePokeblock[];
|
||||
extern const u8 gText_PinkPokeblock[];
|
||||
extern const u8 gText_GreenPokeblock[];
|
||||
extern const u8 gText_YellowPokeblock[];
|
||||
extern const u8 gText_PurplePokeblock[];
|
||||
extern const u8 gText_IndigoPokeblock[];
|
||||
extern const u8 gText_BrownPokeblock[];
|
||||
extern const u8 gText_LiteBluePokeblock[];
|
||||
extern const u8 gText_OlivePokeblock[];
|
||||
extern const u8 gText_GrayPokeblock[];
|
||||
extern const u8 gText_BlackPokeblock[];
|
||||
extern const u8 gText_WhitePokeblock[];
|
||||
extern const u8 gText_GoldPokeblock[];
|
||||
|
||||
extern const u8 gMenuText_Use[];
|
||||
extern const u8 gMenuText_Toss[];
|
||||
extern const u8 gMenuText_Give[];
|
||||
extern const u8 gMenuText_Give2[];
|
||||
|
||||
extern const u8 gText_Cancel2[];
|
||||
|
||||
#endif //GUARD_STRINGS_H
|
||||
|
@ -427,7 +427,6 @@ SECTIONS {
|
||||
data/starter_choose.o(.rodata);
|
||||
data/data4c.o(.rodata);
|
||||
src/pokeblock.o(.rodata);
|
||||
data/pokeblock.o(.rodata);
|
||||
data/data4d.o(.rodata);
|
||||
src/battle_controller_link_partner.o(.rodata);
|
||||
src/battle_message.o(.rodata);
|
||||
|
@ -132,8 +132,6 @@ extern u8 gInGameOpponentsNo;
|
||||
extern u8 gUnknown_020322D5;
|
||||
extern u8 gResultsWindowId;
|
||||
|
||||
extern const u8 * const gPokeblockNames[];
|
||||
|
||||
// graphics
|
||||
extern const u8 gBerryBlenderArrowTiles[];
|
||||
extern const u8 gBerryBlenderStartTiles[];
|
||||
|
@ -1079,7 +1079,7 @@ void sub_818E914(void)
|
||||
|
||||
void sub_818E92C(void)
|
||||
{
|
||||
sub_81357FC(3, c2_exit_to_overworld_2_switch);
|
||||
OpenPokeblockCase(3, c2_exit_to_overworld_2_switch);
|
||||
}
|
||||
|
||||
void sub_818E940(void)
|
||||
|
200
src/pokeblock.c
200
src/pokeblock.c
@ -1,4 +1,204 @@
|
||||
#include "global.h"
|
||||
#include "pokeblock.h"
|
||||
#include "bg.h"
|
||||
#include "strings.h"
|
||||
#include "text.h"
|
||||
#include "menu.h"
|
||||
#include "task.h"
|
||||
#include "menu_helpers.h"
|
||||
#include "pokemon.h"
|
||||
#include "graphics.h"
|
||||
|
||||
enum
|
||||
{
|
||||
PKBL_USE_ON_FIELD,
|
||||
PKBL_TOSS,
|
||||
PKBL_CANCEL,
|
||||
PKBL_USE_IN_BATTLE,
|
||||
PKBL_USE_ON_FEEDER,
|
||||
PKBL_GIVE_TO_LADY
|
||||
};
|
||||
|
||||
// this file's functions
|
||||
void PokeblockAction_UseOnField(u8 taskId);
|
||||
void PokeblockAction_Toss(u8 taskId);
|
||||
void PokeblockAction_Cancel(u8 taskId);
|
||||
void PokeblockAction_UseInBattle(u8 taskId);
|
||||
void PokeblockAction_UseOnPokeblockFeeder(u8 taskId);
|
||||
void PokeblockAction_GiveToContestLady(u8 taskId);
|
||||
void TossPokeblockChoice_Yes(u8 taskId);
|
||||
void TossPokeblockChoice_No(u8 taskId);
|
||||
|
||||
// const rom data
|
||||
const s8 gPokeblockFlavorCompatibilityTable[] =
|
||||
{
|
||||
// Cool, Beauty, Cute, Smart, Tough
|
||||
0, 0, 0, 0, 0, // Hardy
|
||||
1, 0, 0, 0, -1, // Lonely
|
||||
1, 0, -1, 0, 0, // Brave
|
||||
1, -1, 0, 0, 0, // Adamant
|
||||
1, 0, 0, -1, 0, // Naughty
|
||||
-1, 0, 0, 0, 1, // Bold
|
||||
0, 0, 0, 0, 0, // Docile
|
||||
0, 0, -1, 0, 1, // Relaxed
|
||||
0, -1, 0, 0, 1, // Impish
|
||||
0, 0, 0, -1, 1, // Lax
|
||||
-1, 0, 1, 0, 0, // Timid
|
||||
0, 0, 1, 0, -1, // Hasty
|
||||
0, 0, 0, 0, 0, // Serious
|
||||
0, -1, 1, 0, 0, // Jolly
|
||||
0, 0, 1, -1, 0, // Naive
|
||||
-1, 1, 0, 0, 0, // Modest
|
||||
0, 1, 0, 0, -1, // Mild
|
||||
0, 1, -1, 0, 0, // Quiet
|
||||
0, 0, 0, 0, 0, // Bashful
|
||||
0, 1, 0, -1, 0, // Rash
|
||||
-1, 0, 0, 1, 0, // Calm
|
||||
0, 0, 0, 1, -1, // Gentle
|
||||
0, 0, -1, 1, 0, // Sassy
|
||||
0, -1, 0, 1, 0, // Careful
|
||||
0, 0, 0, 0, 0 // Quirky
|
||||
};
|
||||
|
||||
const struct BgTemplate gUnknown_085B2620[] =
|
||||
{
|
||||
{
|
||||
.bg = 0,
|
||||
.charBaseIndex = 0,
|
||||
.mapBaseIndex = 31,
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.priority = 1,
|
||||
.baseTile = 0
|
||||
},
|
||||
{
|
||||
.bg = 1,
|
||||
.charBaseIndex = 0,
|
||||
.mapBaseIndex = 30,
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.priority = 0,
|
||||
.baseTile = 0
|
||||
},
|
||||
{
|
||||
.bg = 2,
|
||||
.charBaseIndex = 3,
|
||||
.mapBaseIndex = 29,
|
||||
.screenSize = 0,
|
||||
.paletteMode = 0,
|
||||
.priority = 2,
|
||||
.baseTile = 0
|
||||
}
|
||||
};
|
||||
|
||||
const u8 *const gPokeblockNames[] =
|
||||
{
|
||||
NULL,
|
||||
gText_RedPokeblock,
|
||||
gText_BluePokeblock,
|
||||
gText_PinkPokeblock,
|
||||
gText_GreenPokeblock,
|
||||
gText_YellowPokeblock,
|
||||
gText_PurplePokeblock,
|
||||
gText_IndigoPokeblock,
|
||||
gText_BrownPokeblock,
|
||||
gText_LiteBluePokeblock,
|
||||
gText_OlivePokeblock,
|
||||
gText_GrayPokeblock,
|
||||
gText_BlackPokeblock,
|
||||
gText_WhitePokeblock,
|
||||
gText_GoldPokeblock
|
||||
};
|
||||
|
||||
const struct MenuAction sPokeblockMenuActions[] =
|
||||
{
|
||||
{gMenuText_Use, PokeblockAction_UseOnField},
|
||||
{gMenuText_Toss, PokeblockAction_Toss},
|
||||
{gText_Cancel2, PokeblockAction_Cancel},
|
||||
{gMenuText_Use, PokeblockAction_UseInBattle},
|
||||
{gMenuText_Use, PokeblockAction_UseOnPokeblockFeeder},
|
||||
{gMenuText_Give2, PokeblockAction_GiveToContestLady},
|
||||
};
|
||||
|
||||
const u8 sActionsOnField[] = {PKBL_USE_ON_FIELD, PKBL_TOSS, PKBL_CANCEL};
|
||||
const u8 sActionsInBattle[] = {PKBL_USE_IN_BATTLE, PKBL_CANCEL};
|
||||
const u8 sActionsOnPokeblockFeeder[] = {PKBL_USE_ON_FEEDER, PKBL_CANCEL};
|
||||
const u8 sActionsWhenGivingToLady[] = {PKBL_GIVE_TO_LADY, PKBL_CANCEL};
|
||||
|
||||
const struct YesNoFuncTable sTossYesNoFuncTable = {TossPokeblockChoice_Yes, TossPokeblockChoice_No};
|
||||
|
||||
static const u8 sContestStatsMonData[] = {MON_DATA_COOL, MON_DATA_BEAUTY, MON_DATA_CUTE, MON_DATA_SMART, MON_DATA_TOUGH};
|
||||
|
||||
static const struct OamData sOamData_PokeblockCase =
|
||||
{
|
||||
.y = 0,
|
||||
.affineMode = 0,
|
||||
.objMode = 0,
|
||||
.mosaic = 0,
|
||||
.bpp = 0,
|
||||
.shape = 0,
|
||||
.x = 0,
|
||||
.matrixNum = 0,
|
||||
.size = 3,
|
||||
.tileNum = 0,
|
||||
.priority = 2,
|
||||
.paletteNum = 0,
|
||||
.affineParam = 0,
|
||||
};
|
||||
|
||||
static const union AnimCmd sSpriteAnim_PokeblockCase[] =
|
||||
{
|
||||
ANIMCMD_FRAME(0, 0),
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AnimCmd *const sSpriteAnimTable_PokeblockCase[] =
|
||||
{
|
||||
sSpriteAnim_PokeblockCase
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gSpriteAffineAnim_85B26C8[] =
|
||||
{
|
||||
AFFINEANIMCMD_FRAME(0, 0, -2, 2),
|
||||
AFFINEANIMCMD_FRAME(0, 0, 2, 4),
|
||||
AFFINEANIMCMD_FRAME(0, 0, -2, 4),
|
||||
AFFINEANIMCMD_FRAME(0, 0, 2, 2),
|
||||
AFFINEANIMCMD_END
|
||||
};
|
||||
|
||||
const union AffineAnimCmd *const sSpriteAffineAnimTable_85B26F0[] =
|
||||
{
|
||||
gSpriteAffineAnim_85B26C8
|
||||
};
|
||||
|
||||
const struct CompressedSpriteSheet gPokeblockCase_SpriteSheet =
|
||||
{
|
||||
gMenuPokeblockDevice_Gfx, 0x800, GFX_TAG_POKEBLOCK_CASE
|
||||
};
|
||||
|
||||
const struct CompressedSpritePalette gPokeblockCase_SpritePal =
|
||||
{
|
||||
gMenuPokeblockDevice_Pal, GFX_TAG_POKEBLOCK_CASE
|
||||
};
|
||||
|
||||
const struct SpriteTemplate sSpriteTemplate_PokeblockCase =
|
||||
{
|
||||
GFX_TAG_POKEBLOCK_CASE,
|
||||
GFX_TAG_POKEBLOCK_CASE,
|
||||
&sOamData_PokeblockCase,
|
||||
sSpriteAnimTable_PokeblockCase,
|
||||
NULL,
|
||||
gDummySpriteAffineAnimTable,
|
||||
SpriteCallbackDummy
|
||||
};
|
||||
|
||||
const struct TextColor sTextColorInPokeblockMenu = {0, 2, 3};
|
||||
|
||||
const struct Pokeblock sFavoritePokeblocksTable[] =
|
||||
{
|
||||
{ PBLOCK_CLR_RED, 20, 0, 0, 0, 0, 20},
|
||||
{ PBLOCK_CLR_BLUE, 0, 20, 0, 0, 0, 20},
|
||||
{ PBLOCK_CLR_PINK, 0, 0, 20, 0, 0, 20},
|
||||
{ PBLOCK_CLR_GREEN, 0, 0, 0, 20, 0, 20},
|
||||
{ PBLOCK_CLR_YELLOW, 0, 0, 0, 0, 20, 20}
|
||||
};
|
||||
|
@ -56,8 +56,6 @@ extern struct SpriteTemplate gUnknown_0202499C;
|
||||
extern const u8 gBattleTerrainPalette_Frontier[];
|
||||
extern const u8 gBattleTerrainTiles_Building[];
|
||||
extern const u8 gUnknown_08D9BA44[];
|
||||
extern const struct CompressedSpriteSheet gPokeblockCase_SpriteSheet;
|
||||
extern const struct CompressedSpritePalette gPokeblockCase_SpritePal;
|
||||
extern const struct CompressedSpriteSheet gMonFrontPicTable[];
|
||||
extern const u16 gUnknown_0860F074[];
|
||||
|
||||
@ -508,13 +506,13 @@ static const union AffineAnimCmd *const sThrownPokeblockAffineAnimTable[] =
|
||||
|
||||
static const struct CompressedSpriteSheet sPokeblock_SpriteSheet =
|
||||
{
|
||||
gPokeblock_Gfx, 0x20, TAG_POKEBLOCK_GFX
|
||||
gPokeblock_Gfx, 0x20, GFX_TAG_POKEBLOCK
|
||||
};
|
||||
|
||||
static const struct SpriteTemplate sThrownPokeblockSpriteTemplate =
|
||||
{
|
||||
.tileTag = TAG_POKEBLOCK_GFX,
|
||||
.paletteTag = TAG_POKEBLOCK_GFX,
|
||||
.tileTag = GFX_TAG_POKEBLOCK,
|
||||
.paletteTag = GFX_TAG_POKEBLOCK,
|
||||
.oam = &sThrownPokeblockOamData,
|
||||
.anims = sThrownPokeblockAnimTable,
|
||||
.images = NULL,
|
||||
@ -721,7 +719,7 @@ static void SetPokeblockSpritePal(u8 pokeblockCaseId)
|
||||
{
|
||||
u8 colorId = GetPokeblockData(&gSaveBlock1Ptr->pokeblocks[pokeblockCaseId], PBLOCK_COLOR);
|
||||
sPokeblockSpritePal.data = sPokeblocksPals[colorId - 1];
|
||||
sPokeblockSpritePal.tag = TAG_POKEBLOCK_GFX;
|
||||
sPokeblockSpritePal.tag = GFX_TAG_POKEBLOCK;
|
||||
}
|
||||
|
||||
// defines for task data fields
|
||||
|
@ -22,6 +22,7 @@
|
||||
#include "abilities.h"
|
||||
#include "pokemon_animation.h"
|
||||
#include "pokedex.h"
|
||||
#include "pokeblock.h"
|
||||
|
||||
extern struct BattlePokemon gBattleMons[4];
|
||||
extern struct BattleEnigmaBerry gEnigmaBerries[4];
|
||||
@ -59,7 +60,6 @@ extern const u8 gText_PkmnsXPreventsSwitching[];
|
||||
extern const struct CompressedSpritePalette gMonPaletteTable[];
|
||||
extern const struct CompressedSpritePalette gMonShinyPaletteTable[];
|
||||
extern const u16 gHMMoves[];
|
||||
extern const s8 gPokeblockFlavorCompatibilityTable[];
|
||||
extern const u8 gMonAnimationDelayTable[];
|
||||
extern const u8 gMonFrontAnimIdsTable[];
|
||||
|
||||
@ -1297,21 +1297,21 @@ bool8 IsPokeSpriteNotFlipped(u16 species)
|
||||
return gBaseStats[species].noFlip;
|
||||
}
|
||||
|
||||
s8 GetMonFlavorRelation(struct Pokemon *mon, u8 a2)
|
||||
s8 GetMonFlavorRelation(struct Pokemon *mon, u8 flavour)
|
||||
{
|
||||
u8 nature = GetNature(mon);
|
||||
return gPokeblockFlavorCompatibilityTable[nature * 5 + a2];
|
||||
return gPokeblockFlavorCompatibilityTable[nature * 5 + flavour];
|
||||
}
|
||||
|
||||
s8 GetFlavorRelationByPersonality(u32 personality, u8 a2)
|
||||
s8 GetFlavorRelationByPersonality(u32 personality, u8 flavour)
|
||||
{
|
||||
u8 nature = GetNatureFromPersonality(personality);
|
||||
return gPokeblockFlavorCompatibilityTable[nature * 5 + a2];
|
||||
return gPokeblockFlavorCompatibilityTable[nature * 5 + flavour];
|
||||
}
|
||||
|
||||
bool8 IsTradedMon(struct Pokemon *mon)
|
||||
{
|
||||
u8 otName[8];
|
||||
u8 otName[OT_NAME_LENGTH + 1];
|
||||
u32 otId;
|
||||
GetMonData(mon, MON_DATA_OT_NAME, otName);
|
||||
otId = GetMonData(mon, MON_DATA_OT_ID, 0);
|
||||
|
@ -5,6 +5,7 @@
|
||||
#include "main.h"
|
||||
#include "battle.h"
|
||||
#include "string_util.h"
|
||||
#include "pokeblock.h"
|
||||
|
||||
struct PokeblockFeeder
|
||||
{
|
||||
@ -24,7 +25,6 @@ extern u8 EventScript_2A4B8A[];
|
||||
extern u8 EventScript_2A4B6F[];
|
||||
extern u8 EventScript_2A4B4C[];
|
||||
extern u8 EventScript_2A4B9B[];
|
||||
extern const u8* const gPokeblockNames[];
|
||||
|
||||
extern void sub_80EE44C(u8, u8);
|
||||
extern void IncrementGameStat(u8 index);
|
||||
|
Loading…
Reference in New Issue
Block a user