field_specials through Special_BattleCardAction; field_specials rodata

This commit is contained in:
PikalaxALT
2019-10-24 11:42:45 -04:00
parent 779d6187c6
commit 0d73967f6c
18 changed files with 718 additions and 611 deletions
-256
View File
@@ -5,262 +5,6 @@
.text
thumb_func_start sub_80CC59C
sub_80CC59C: @ 80CC59C
push {r4-r7,lr}
sub sp, 0x8
ldr r0, _080CC5F8 @ =0x0000404d
bl VarGet
lsls r0, 16
lsrs r5, r0, 16
ldr r6, _080CC5FC @ =0xffffff00
ldr r0, [sp, 0x4]
ands r0, r6
ldr r4, _080CC600 @ =0xffff00ff
ands r0, r4
str r0, [sp, 0x4]
ldr r0, _080CC604 @ =0x00000808
bl FlagGet
lsls r0, 24
cmp r0, 0
bne _080CC5C4
b _080CC71E
_080CC5C4:
cmp r5, 0x5
bne _080CC61C
ldr r0, _080CC608 @ =gSaveBlock1Ptr
ldr r2, [r0]
movs r1, 0x4
ldrsb r1, [r2, r1]
adds r7, r0, 0
cmp r1, 0xF
bne _080CC67C
movs r0, 0x5
ldrsb r0, [r2, r0]
cmp r0, 0
beq _080CC5E2
cmp r0, 0x3
bne _080CC67C
_080CC5E2:
ldr r1, [sp, 0x4]
ands r1, r6
movs r0, 0x66
orrs r1, r0
str r1, [sp, 0x4]
movs r0, 0x5
ldrsb r0, [r2, r0]
cmp r0, 0
bne _080CC60C
lsls r0, r5, 8
b _080CC610
.align 2, 0
_080CC5F8: .4byte 0x0000404d
_080CC5FC: .4byte 0xffffff00
_080CC600: .4byte 0xffff00ff
_080CC604: .4byte 0x00000808
_080CC608: .4byte gSaveBlock1Ptr
_080CC60C:
movs r0, 0xC0
lsls r0, 3
_080CC610:
ands r1, r4
orrs r1, r0
str r1, [sp, 0x4]
add r1, sp, 0x4
movs r0, 0x23
b _080CC66C
_080CC61C:
ldr r7, _080CC65C @ =gSaveBlock1Ptr
cmp r5, 0x3
bne _080CC67C
ldr r1, [r7]
movs r0, 0x4
ldrsb r0, [r1, r0]
cmp r0, 0x3
bne _080CC67C
ldrb r0, [r1, 0x5]
subs r0, 0x29
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bhi _080CC67C
ldr r1, _080CC660 @ =gUnknown_83F5D58
ldrh r0, [r1, 0x18]
ldrh r1, [r1, 0x1A]
bl get_mapheader_by_bank_and_number
ldrb r0, [r0, 0x14]
add r1, sp, 0x4
strb r0, [r1]
ldr r0, [r7]
ldrb r0, [r0, 0x5]
lsls r0, 24
asrs r0, 24
adds r6, r1, 0
cmp r0, 0x29
bne _080CC664
strb r5, [r6, 0x1]
b _080CC668
.align 2, 0
_080CC65C: .4byte gSaveBlock1Ptr
_080CC660: .4byte gUnknown_83F5D58
_080CC664:
movs r0, 0x4
strb r0, [r6, 0x1]
_080CC668:
movs r0, 0x23
adds r1, r6, 0
_080CC66C:
bl sub_8113550
ldr r0, _080CC678 @ =0x00000808
bl FlagClear
b _080CC71E
.align 2, 0
_080CC678: .4byte 0x00000808
_080CC67C:
ldr r3, [r7]
movs r2, 0x4
ldrsb r2, [r3, r2]
ldr r1, _080CC6D0 @ =gUnknown_83F5D58
lsls r0, r5, 3
adds r1, r0, r1
ldrh r0, [r1, 0x4]
cmp r2, r0
bne _080CC71E
movs r0, 0x5
ldrsb r0, [r3, r0]
ldrh r2, [r1, 0x6]
cmp r0, r2
bne _080CC71E
ldrh r0, [r1]
ldrh r1, [r1, 0x2]
bl get_mapheader_by_bank_and_number
ldrb r1, [r0, 0x14]
add r0, sp, 0x4
strb r1, [r0]
strb r5, [r0, 0x1]
adds r6, r0, 0
cmp r5, 0x16
bne _080CC6D4
mov r4, sp
adds r4, 0x2
mov r0, sp
adds r1, r4, 0
bl PlayerGetDestCoords
mov r0, sp
movs r1, 0
ldrsh r0, [r0, r1]
cmp r0, 0xF
bne _080CC6F6
movs r2, 0
ldrsh r0, [r4, r2]
cmp r0, 0x1A
beq _080CC6FC
b _080CC6F6
.align 2, 0
_080CC6D0: .4byte gUnknown_83F5D58
_080CC6D4:
cmp r5, 0x2A
bne _080CC6FC
mov r4, sp
adds r4, 0x2
mov r0, sp
adds r1, r4, 0
bl PlayerGetDestCoords
mov r0, sp
movs r1, 0
ldrsh r0, [r0, r1]
cmp r0, 0x43
bne _080CC6F6
movs r2, 0
ldrsh r0, [r4, r2]
cmp r0, 0xF
beq _080CC6FC
_080CC6F6:
ldrb r0, [r6, 0x1]
adds r0, 0x1
strb r0, [r6, 0x1]
_080CC6FC:
movs r0, 0x23
adds r1, r6, 0
bl sub_8113550
ldr r4, _080CC728 @ =0x00000808
adds r0, r4, 0
bl FlagClear
cmp r5, 0x23
bne _080CC71E
ldr r0, _080CC72C @ =0x0000404d
movs r1, 0x20
bl VarSet
adds r0, r4, 0
bl FlagSet
_080CC71E:
add sp, 0x8
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080CC728: .4byte 0x00000808
_080CC72C: .4byte 0x0000404d
thumb_func_end sub_80CC59C
thumb_func_start Special_BattleCardAction
Special_BattleCardAction: @ 80CC730
push {lr}
ldr r0, _080CC744 @ =gSpecialVar_Result
ldrh r0, [r0]
cmp r0, 0x4
bhi _080CC77C
lsls r0, 2
ldr r1, _080CC748 @ =_080CC74C
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080CC744: .4byte gSpecialVar_Result
_080CC748: .4byte _080CC74C
.align 2, 0
_080CC74C:
.4byte _080CC760
.4byte _080CC764
.4byte _080CC768
.4byte _080CC76C
.4byte _080CC770
_080CC760:
movs r0, 0x3
b _080CC772
_080CC764:
movs r0, 0x4
b _080CC772
_080CC768:
movs r0, 0
b _080CC772
_080CC76C:
movs r0, 0x1
b _080CC772
_080CC770:
movs r0, 0x2
_080CC772:
bl sub_81445C0
lsls r0, 16
lsrs r0, 16
b _080CC78A
_080CC77C:
@ AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/scr_tool.c", 3873)
ldr r0, _080CC790 @ =gUnknown_83F5EF0 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/scr_tool.c"
ldr r1, _080CC794 @ =0x00000f21
ldr r2, _080CC798 @ =gUnknown_83F5F24 "0"
movs r3, 0x1
bl AGBAssert
movs r0, 0
_080CC78A:
pop {r1}
bx r1
.align 2, 0
_080CC790: .4byte gUnknown_83F5EF0
_080CC794: .4byte 0x00000f21
_080CC798: .4byte gUnknown_83F5F24
thumb_func_end Special_BattleCardAction
thumb_func_start set_unknown_box_id
set_unknown_box_id: @ 80CC79C
ldr r1, _080CC7A4 @ =gUnknown_2039A1A
BIN
View File
Binary file not shown.
+57 -335
View File
@@ -6,335 +6,6 @@
.section .rodata
.align 2
gUnknown_83F5AF8:: @ 83F5AF8
.4byte gStringVar1
.4byte gStringVar2
.4byte gStringVar3
gUnknown_83F5B04::
.incbin "baserom.gba", 0x3F5B04, 0x16
sSlotMachineIndices:: @ 83F5B1A
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 1
.byte 1
.byte 2
.byte 2
.byte 2
.byte 3
.byte 3
.byte 3
.byte 4
.byte 4
.byte 5
.align 1
sResortGorgeousDeluxeRewards:: @ 83F5B30
.2byte ITEM_BIG_PEARL
.2byte ITEM_PEARL
.2byte ITEM_STARDUST
.2byte ITEM_STAR_PIECE
.2byte ITEM_NUGGET
.2byte ITEM_RARE_CANDY
.align 2
sElevatorCurrentFloorWindowTemplate:: @ 83F5B3C
.byte 0, 22, 1, 7, 4, 15
.2byte 0x0008
sFloorNamePointers:: @ 83F5B44
.4byte gUnknown_8418069
.4byte gUnknown_8418065
.4byte gUnknown_8418061
.4byte gUnknown_841805D
.4byte gUnknown_841803A
.4byte gUnknown_841803D
.4byte gUnknown_8418040
.4byte gUnknown_8418043
.4byte gUnknown_8418046
.4byte gUnknown_8418049
.4byte gUnknown_841804C
.4byte gUnknown_841804F
.4byte gUnknown_8418052
.4byte gUnknown_8418055
.4byte gUnknown_8418059
.4byte gUnknown_841806D
gUnknown_83F5B84::
.byte 26
.byte 26
.byte 26
.byte 26
.byte 30
.byte 30
.byte 30
.byte 30
.byte 30
.byte 30
.byte 30
.byte 30
.byte 30
.byte 26
.byte 26
.byte 18
.align 1
sElevatorWindowMetatilesGoingUp:: @ 83F5B94
.2byte 0x02e8, 0x02e9, 0x02ea
.2byte 0x02f0, 0x02f1, 0x02f2
.2byte 0x02f8, 0x02f9, 0x02fa
.align 1
sElevatorWindowMetatilesGoingDown:: @ 83F5BA6
.2byte 0x02e8, 0x02ea, 0x02e9
.2byte 0x02f0, 0x02f2, 0x02f1
.2byte 0x02f8, 0x02fa, 0x02f9
sElevatorAnimationDuration:: @ 83F5BB8
.byte 8
.byte 16
.byte 24
.byte 32
.byte 38
.byte 46
.byte 53
.byte 56
.byte 57
sElevatorWindowAnimDuration:: @ 83F5BC1
.byte 3
.byte 6
.byte 9
.byte 12
.byte 15
.byte 18
.byte 21
.byte 24
.byte 27
.align 2
gUnknown_83F5BCC:: @ 83F5BCC
.4byte gUnknown_8417FD9
.4byte gUnknown_8417FE6
.4byte gUnknown_8417FF3
.4byte gUnknown_8418000
.4byte gUnknown_841800D
.4byte gUnknown_8418017
.4byte gUnknown_8418022
.4byte gUnknown_841802F
.4byte gOtherText_Exit
.4byte NULL
.4byte NULL
.4byte NULL
.4byte gUnknown_8418059
.4byte gUnknown_8418055
.4byte gUnknown_8418052
.4byte gUnknown_841804F
.4byte gUnknown_841804C
.4byte gUnknown_8418049
.4byte gUnknown_8418046
.4byte gUnknown_8418043
.4byte gUnknown_8418040
.4byte gUnknown_841803D
.4byte gUnknown_841803A
.4byte gOtherText_Exit
.4byte gUnknown_841805D
.4byte gUnknown_8418061
.4byte gUnknown_8418069
.4byte gOtherText_Exit
.4byte NULL
.4byte NULL
.4byte NULL
.4byte NULL
.4byte NULL
.4byte NULL
.4byte NULL
.4byte NULL
.4byte gUnknown_8418046
.4byte gUnknown_8418043
.4byte gUnknown_8418040
.4byte gUnknown_841803D
.4byte gUnknown_841803A
.4byte gOtherText_Exit
.4byte NULL
.4byte NULL
.4byte NULL
.4byte NULL
.4byte NULL
.4byte NULL
.4byte gUnknown_841807D
.4byte gUnknown_841808E
.4byte gUnknown_841809C
.4byte gOtherText_Quit
.4byte NULL
.4byte NULL
.4byte NULL
.4byte NULL
.4byte NULL
.4byte NULL
.4byte NULL
.4byte NULL
.4byte gUnknown_84180A7
.4byte gUnknown_84180BC
.4byte gUnknown_84180D0
.4byte gUnknown_84180E4
.4byte gUnknown_84180FA
.4byte gUnknown_841810D
.4byte gUnknown_841811D
.4byte gUnknown_841812F
.4byte gUnknown_8418142
.4byte gUnknown_8418152
.4byte gUnknown_8418163
.4byte gOtherText_Exit
.4byte gUnknown_841806D
.4byte gUnknown_841805D
.4byte gOtherText_Exit
.4byte NULL
.4byte NULL
.4byte NULL
.4byte NULL
.4byte NULL
.4byte NULL
.4byte NULL
.4byte NULL
.4byte NULL
gUnknown_83F5D1C:: @ 83F5D1C
.byte 2 @ firstArrowType
.byte 0 @ firstX
.byte 0 @ firstY
.byte 3 @ secondArrowType
.byte 0 @ secondX
.byte 0 @ secondY
.2byte 0 @ fullyUpThreshold
.2byte 0 @ fullyDownThreshold
.2byte 2000 @ tileTag
.2byte 100 @ palTag
.byte 0 @ palNum
.align 2
.align 1
sStarterMon:: @ 83F5D2C
.2byte SPECIES_BULBASAUR
.2byte SPECIES_SQUIRTLE
.2byte SPECIES_CHARMANDER
gUnknown_83F5D32:: @ 83F5D32
.byte MAP_GROUP(VIRIDIAN_CITY_MART), MAP_NUM(VIRIDIAN_CITY_MART), 1
.byte MAP_GROUP(PEWTER_CITY_MART), MAP_NUM(PEWTER_CITY_MART), 3
.byte MAP_GROUP(CERULEAN_CITY_MART), MAP_NUM(CERULEAN_CITY_MART), 1
.byte MAP_GROUP(LAVENDER_TOWN_MART), MAP_NUM(LAVENDER_TOWN_MART), 1
.byte MAP_GROUP(VERMILION_CITY_MART), MAP_NUM(VERMILION_CITY_MART), 1
.byte MAP_GROUP(FUCHSIA_CITY_MART), MAP_NUM(FUCHSIA_CITY_MART), 1
.byte MAP_GROUP(CINNABAR_ISLAND_MART), MAP_NUM(CINNABAR_ISLAND_MART), 1
.byte MAP_GROUP(SAFFRON_CITY_MART), MAP_NUM(SAFFRON_CITY_MART), 1
.byte MAP_GROUP(THREE_ISLAND_MART), MAP_NUM(THREE_ISLAND_MART), 1
.byte MAP_GROUP(FOUR_ISLAND_MART), MAP_NUM(FOUR_ISLAND_MART), 1
.byte MAP_GROUP(SEVEN_ISLAND_MART), MAP_NUM(SEVEN_ISLAND_MART), 1
.byte MAP_GROUP(SIX_ISLAND_MART), MAP_NUM(SIX_ISLAND_MART), 1
.align 2
gUnknown_83F5D58:: @ 83F5D58
.2byte MAP_GROUP(PALLET_TOWN_PLAYERS_HOUSE_1F), MAP_NUM(PALLET_TOWN_PLAYERS_HOUSE_1F), 0x03, 0x00
.2byte MAP_GROUP(PALLET_TOWN_PROFESSOR_OAKS_LAB), MAP_NUM(PALLET_TOWN_PROFESSOR_OAKS_LAB), 0x03, 0x00
.2byte MAP_GROUP(VIRIDIAN_CITY_GYM), MAP_NUM(VIRIDIAN_CITY_GYM), 0x03, 0x01
.2byte MAP_GROUP(ROUTE22_NORTH_ENTRANCE), MAP_NUM(ROUTE22_NORTH_ENTRANCE), 0x03, 0x29
.2byte MAP_GROUP(ROUTE22_NORTH_ENTRANCE), MAP_NUM(ROUTE22_NORTH_ENTRANCE), 0x03, 0x2a
.2byte MAP_GROUP(VIRIDIAN_FOREST), MAP_NUM(VIRIDIAN_FOREST), 0x0f, 0x00
.2byte MAP_GROUP(VIRIDIAN_FOREST), MAP_NUM(VIRIDIAN_FOREST), 0x0f, 0x03
.2byte MAP_GROUP(PEWTER_CITY_MUSEUM_1F), MAP_NUM(PEWTER_CITY_MUSEUM_1F), 0x03, 0x02
.2byte MAP_GROUP(PEWTER_CITY_GYM), MAP_NUM(PEWTER_CITY_GYM), 0x03, 0x02
.2byte MAP_GROUP(MT_MOON_1F), MAP_NUM(MT_MOON_1F), 0x03, 0x16
.2byte MAP_GROUP(MT_MOON_B1F), MAP_NUM(MT_MOON_B1F), 0x03, 0x16
.2byte MAP_GROUP(CERULEAN_CITY_GYM), MAP_NUM(CERULEAN_CITY_GYM), 0x03, 0x03
.2byte MAP_GROUP(CERULEAN_CITY_BIKE_SHOP), MAP_NUM(CERULEAN_CITY_BIKE_SHOP), 0x03, 0x03
.2byte MAP_GROUP(ROUTE25_SEA_COTTAGE), MAP_NUM(ROUTE25_SEA_COTTAGE), 0x03, 0x2c
.2byte MAP_GROUP(ROUTE5_POKEMON_DAY_CARE), MAP_NUM(ROUTE5_POKEMON_DAY_CARE), 0x03, 0x17
.2byte MAP_GROUP(UNDERGROUND_PATH_NORTH_ENTRANCE), MAP_NUM(UNDERGROUND_PATH_NORTH_ENTRANCE), 0x03, 0x17
.2byte MAP_GROUP(UNDERGROUND_PATH_SOUTH_ENTRANCE), MAP_NUM(UNDERGROUND_PATH_SOUTH_ENTRANCE), 0x03, 0x18
.2byte MAP_GROUP(VERMILION_CITY_POKEMON_FAN_CLUB), MAP_NUM(VERMILION_CITY_POKEMON_FAN_CLUB), 0x03, 0x05
.2byte MAP_GROUP(VERMILION_CITY_GYM), MAP_NUM(VERMILION_CITY_GYM), 0x03, 0x05
.2byte MAP_GROUP(SSANNE_1F_CORRIDOR), MAP_NUM(SSANNE_1F_CORRIDOR), 0x03, 0x05
.2byte MAP_GROUP(DIGLETTS_CAVE_NORTH_ENTRANCE), MAP_NUM(DIGLETTS_CAVE_NORTH_ENTRANCE), 0x03, 0x14
.2byte MAP_GROUP(DIGLETTS_CAVE_SOUTH_ENTRANCE), MAP_NUM(DIGLETTS_CAVE_SOUTH_ENTRANCE), 0x03, 0x1d
.2byte MAP_GROUP(ROCK_TUNNEL_1F), MAP_NUM(ROCK_TUNNEL_1F), 0x03, 0x1c
.2byte MAP_GROUP(ROCK_TUNNEL_1F), MAP_NUM(ROCK_TUNNEL_1F), 0x03, 0x1c
.2byte MAP_GROUP(POWER_PLANT), MAP_NUM(POWER_PLANT), 0x03, 0x1c
.2byte MAP_GROUP(POKEMON_TOWER_1F), MAP_NUM(POKEMON_TOWER_1F), 0x03, 0x04
.2byte MAP_GROUP(LAVENDER_TOWN_VOLUNTEER_POKEMON_HOUSE), MAP_NUM(LAVENDER_TOWN_VOLUNTEER_POKEMON_HOUSE), 0x03, 0x04
.2byte MAP_GROUP(LAVENDER_TOWN_HOUSE2), MAP_NUM(LAVENDER_TOWN_HOUSE2), 0x03, 0x04
.2byte MAP_GROUP(UNDERGROUND_PATH_EAST_ENTRANCE), MAP_NUM(UNDERGROUND_PATH_EAST_ENTRANCE), 0x03, 0x1a
.2byte MAP_GROUP(UNDERGROUND_PATH_WEST_ENTRANCE), MAP_NUM(UNDERGROUND_PATH_WEST_ENTRANCE), 0x03, 0x19
.2byte MAP_GROUP(CELADON_CITY_DEPARTMENT_STORE_1F), MAP_NUM(CELADON_CITY_DEPARTMENT_STORE_1F), 0x03, 0x06
.2byte MAP_GROUP(CELADON_CITY_CONDOMINIUMS_1F), MAP_NUM(CELADON_CITY_CONDOMINIUMS_1F), 0x03, 0x06
.2byte MAP_GROUP(CELADON_CITY_GAME_CORNER), MAP_NUM(CELADON_CITY_GAME_CORNER), 0x03, 0x06
.2byte MAP_GROUP(CELADON_CITY_GYM), MAP_NUM(CELADON_CITY_GYM), 0x03, 0x06
.2byte MAP_GROUP(CELADON_CITY_RESTAURANT), MAP_NUM(CELADON_CITY_RESTAURANT), 0x03, 0x06
.2byte MAP_GROUP(ROCKET_HIDEOUT_B1F), MAP_NUM(ROCKET_HIDEOUT_B1F), 0x0a, 0x0e
.2byte MAP_GROUP(SAFARI_ZONE_CENTER), MAP_NUM(SAFARI_ZONE_CENTER), 0x0b, 0x00
.2byte MAP_GROUP(FUCHSIA_CITY_GYM), MAP_NUM(FUCHSIA_CITY_GYM), 0x03, 0x07
.2byte MAP_GROUP(FUCHSIA_CITY_BUILDING1), MAP_NUM(FUCHSIA_CITY_BUILDING1), 0x03, 0x07
.2byte MAP_GROUP(SAFFRON_CITY_DOJO), MAP_NUM(SAFFRON_CITY_DOJO), 0x03, 0x0a
.2byte MAP_GROUP(SAFFRON_CITY_GYM), MAP_NUM(SAFFRON_CITY_GYM), 0x03, 0x0a
.2byte MAP_GROUP(SILPH_CO_1F), MAP_NUM(SILPH_CO_1F), 0x03, 0x0a
.2byte MAP_GROUP(SEAFOAM_ISLANDS_1F), MAP_NUM(SEAFOAM_ISLANDS_1F), 0x03, 0x26
.2byte MAP_GROUP(SEAFOAM_ISLANDS_1F), MAP_NUM(SEAFOAM_ISLANDS_1F), 0x03, 0x26
.2byte MAP_GROUP(POKEMON_MANSION_1F), MAP_NUM(POKEMON_MANSION_1F), 0x03, 0x08
.2byte MAP_GROUP(CINNABAR_ISLAND_GYM), MAP_NUM(CINNABAR_ISLAND_GYM), 0x03, 0x08
.2byte MAP_GROUP(CINNABAR_ISLAND_POKEMON_LAB_ENTRANCE), MAP_NUM(CINNABAR_ISLAND_POKEMON_LAB_ENTRANCE), 0x03, 0x08
.2byte MAP_GROUP(VICTORY_ROAD_1F), MAP_NUM(VICTORY_ROAD_1F), 0x03, 0x2a
.2byte MAP_GROUP(VICTORY_ROAD_2F), MAP_NUM(VICTORY_ROAD_2F), 0x03, 0x2a
.2byte MAP_GROUP(INDIGO_PLATEAU_POKEMON_CENTER_1F), MAP_NUM(INDIGO_PLATEAU_POKEMON_CENTER_1F), 0x03, 0x09
.2byte MAP_GROUP(CERULEAN_CAVE_1F), MAP_NUM(CERULEAN_CAVE_1F), 0x03, 0x03
.align 2
gUnknown_83F5EF0:: @ 83F5EF0
.asciz "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/scr_tool.c"
.align 2
gUnknown_83F5F24:: @ 83F5F24
.asciz "0"
.align 1
gUnknown_83F5F26:: @ 83F5F26
.2byte 0x0504
.2byte 0x0605
.2byte 0x0703
.2byte 0x0800
.2byte 0x0901
.2byte 0x0a0c
.2byte 0x0b05
.2byte 0x0c05
.2byte 0x0d00
.2byte 0x0e06
.2byte 0x1000
.2byte 0x1500
.2byte 0x2000
.2byte 0x2102
.2byte 0x2201
.2byte 0x2301
.2byte 0x2400
.2byte 0x1f03
.2byte 0x2500
.2byte 0x0004
.2byte 0xffff
gUnknown_83F5F50:: @ 83F5F50
.incbin "data/field_specials/unk_83F5F50.gbapal"
.incbin "data/field_specials/unk_83F5F70.gbapal"
@@ -365,19 +36,70 @@ gUnknown_83F61D0:: @ 83F61D0
.incbin "data/field_specials/unk_83F61D0.gbapal"
gUnknown_83F61F0:: @ 83F61F0
.incbin "baserom.gba", 0x3F61F0, 0xB
.byte 40
.byte 12
.byte 12
.byte 12
.byte 12
.byte 12
.byte 12
.byte 12
.byte 12
.byte 12
.byte 12
gUnknown_83F61FB:: @ 83F61FB
.incbin "baserom.gba", 0x3F61FB, 0x8
.byte 20
.byte 8
.byte 8
.byte 8
.byte 8
.byte 8
.byte 8
.byte 8
gUnknown_83F6203:: @ 83F6203
.incbin "baserom.gba", 0x3F6203, 0x3
.byte 3
.byte 6
.byte 9
.align 1
gUnknown_83F6206:: @ 83F6206
.incbin "baserom.gba", 0x3F6206, 0x160
.incbin "data/field_specials/unk_83F6206.gbapal"
.incbin "data/field_specials/unk_83F6226.gbapal"
.incbin "data/field_specials/unk_83F6246.gbapal"
.incbin "data/field_specials/unk_83F6266.gbapal"
.incbin "data/field_specials/unk_83F6286.gbapal"
.incbin "data/field_specials/unk_83F62A6.gbapal"
.incbin "data/field_specials/unk_83F62C6.gbapal"
.incbin "data/field_specials/unk_83F62E6.gbapal"
.incbin "data/field_specials/unk_83F6306.gbapal"
.incbin "data/field_specials/unk_83F6326.gbapal"
.incbin "data/field_specials/unk_83F6346.gbapal"
gUnknown_83F6366:: @ 83F6366
.incbin "baserom.gba", 0x3F6366, 0x16
.byte 0x0f, 0x0c
.byte 0x0b, 0x0e
.byte 0x0f, 0x08
.byte 0x13, 0x0e
.byte 0x0c, 0x0b
.byte 0x12, 0x0b
.byte 0x0f, 0x0e
.byte 0x0b, 0x0e
.byte 0x13, 0x0e
.byte 0x0f, 0x0f
.byte 0x0f, 0x0a
gUnknown_83F637C:: @ 83F637C
.incbin "baserom.gba", 0x3F637C, 0xC
.byte 0x04
.byte 0x08
.byte 0x08
.byte 0x08
.byte 0x04
.byte 0x04
.byte 0x04
.byte 0x06
.byte 0x03
.byte 0x03
.align 2
+19
View File
@@ -0,0 +1,19 @@
JASC-PAL
0100
16
106 156 197
32 32 32
82 82 82
139 139 139
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
+19
View File
@@ -0,0 +1,19 @@
JASC-PAL
0100
16
106 156 197
41 32 32
82 82 82
139 139 139
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
+19
View File
@@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
49 32 32
90 82 82
148 148 139
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
+19
View File
@@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
65 32 32
115 82 82
156 148 139
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
+19
View File
@@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
74 32 32
123 82 82
164 156 139
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
+19
View File
@@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
98 32 32
139 82 82
172 156 139
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
+19
View File
@@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
98 32 32
148 82 82
180 164 139
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
+19
View File
@@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
106 32 32
156 82 82
189 164 139
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
+19
View File
@@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
123 32 32
172 82 82
197 172 148
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
+19
View File
@@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
131 32 32
180 82 82
205 172 148
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
+19
View File
@@ -0,0 +1,19 @@
JASC-PAL
0100
16
106 156 197
205 32 32
255 82 82
255 205 156
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
+1
View File
@@ -67,5 +67,6 @@ bool32 WonderNews_Test_Unk_02(void);
bool32 WonderCard_Test_Unk_08_6(void);
u32 MENews_GetInput(u16 input);
void sub_8143D24(void);
u16 sub_81445C0(u32 command);
#endif //GUARD_MEVENT_H
+1
View File
@@ -35,6 +35,7 @@ extern struct UCoords32 gDirectionToVectors[];
extern struct LinkPlayerMapObject gLinkPlayerMapObjects[4];
extern MainCallback gFieldCallback;
extern struct WarpData gUnknown_2031DB4;
extern struct WarpData gUnknown_2031DBC;
extern u8 gUnknown_2031DE0;
+39
View File
@@ -481,5 +481,44 @@ extern const u8 gUnknown_8417FC3[];
extern const u8 gUnknown_8417FD0[];
extern const u8 gUnknown_8417FCC[];
extern const u8 gUnknown_8418075[];
extern const u8 gUnknown_8418069[];
extern const u8 gUnknown_8418065[];
extern const u8 gUnknown_8418061[];
extern const u8 gUnknown_841805D[];
extern const u8 gUnknown_841803A[];
extern const u8 gUnknown_841803D[];
extern const u8 gUnknown_8418040[];
extern const u8 gUnknown_8418043[];
extern const u8 gUnknown_8418046[];
extern const u8 gUnknown_8418049[];
extern const u8 gUnknown_841804C[];
extern const u8 gUnknown_841804F[];
extern const u8 gUnknown_8418052[];
extern const u8 gUnknown_8418055[];
extern const u8 gUnknown_8418059[];
extern const u8 gUnknown_841806D[];
extern const u8 gUnknown_8417FD9[];
extern const u8 gUnknown_8417FE6[];
extern const u8 gUnknown_8417FF3[];
extern const u8 gUnknown_8418000[];
extern const u8 gUnknown_841800D[];
extern const u8 gUnknown_8418017[];
extern const u8 gUnknown_8418022[];
extern const u8 gUnknown_841802F[];
extern const u8 gUnknown_841807D[];
extern const u8 gUnknown_841808E[];
extern const u8 gUnknown_841809C[];
extern const u8 gOtherText_Quit[];
extern const u8 gUnknown_84180A7[];
extern const u8 gUnknown_84180BC[];
extern const u8 gUnknown_84180D0[];
extern const u8 gUnknown_84180E4[];
extern const u8 gUnknown_84180FA[];
extern const u8 gUnknown_841810D[];
extern const u8 gUnknown_841811D[];
extern const u8 gUnknown_841812F[];
extern const u8 gUnknown_8418142[];
extern const u8 gUnknown_8418152[];
extern const u8 gUnknown_8418163[];
#endif //GUARD_STRINGS_H
+411 -20
View File
@@ -31,6 +31,7 @@
#include "window.h"
#include "text_window.h"
#include "menu.h"
#include "mevent.h"
#include "naming_screen.h"
#include "dynamic_placeholder_text_util.h"
#include "new_menu_helpers.h"
@@ -39,6 +40,7 @@
#include "constants/items.h"
#include "constants/map_objects.h"
#include "constants/maps.h"
#include "constants/region_map.h"
EWRAM_DATA u8 sElevatorCurrentFloorWindowId = 0;
EWRAM_DATA u16 sElevatorScroll = 0;
@@ -73,25 +75,11 @@ static u16 GetStarterPokemon(u16 starterIdx);
static void ChangeBoxPokemonNickname_CB(void);
static void ChangePokemonNickname_CB(void);
extern const struct ScrollArrowsTemplate gUnknown_83F5D1C;
extern const u16 sStarterMon[3];
extern const u8 *const gUnknown_83F5BCC[][12];
extern const u8 sSlotMachineIndices[22];
extern const u16 sResortGorgeousDeluxeRewards[6];
extern const struct WindowTemplate sElevatorCurrentFloorWindowTemplate;
extern const u8 *const sFloorNamePointers[15];
extern const u16 sElevatorWindowMetatilesGoingUp[3][3];
extern const u16 sElevatorWindowMetatilesGoingDown[3][3];
extern const u8 sElevatorAnimationDuration[9];
extern const u8 sElevatorWindowAnimDuration[9];
extern u8 *const gUnknown_83F5AF8[3];
extern const u8 gUnknown_83F5D32[12][3];
extern const struct {
u16 grp;
u16 num;
u16 unk4;
u16 unk6;
} gUnknown_83F5D58[51];
static u8 *const gUnknown_83F5AF8[] = {
gStringVar1,
gStringVar2,
gStringVar3
};
void Special_ShowDiploma(void)
{
@@ -331,6 +319,56 @@ void Special_BufferEReaderTrainerName5(void)
CopyEReaderTrainerName5(gStringVar1);
}
static const u8 gUnknown_83F5B04[] = {
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
12,
2,
4,
5,
1,
8,
7,
11,
3,
10,
9,
6
};
static const u8 sSlotMachineIndices[] = {
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
1,
2,
2,
2,
3,
3,
3,
4,
4,
5
};
u8 Special_GetRandomSlotMachine(void)
{
u16 rval = Random() % NELEMS(sSlotMachineIndices);
@@ -594,6 +632,15 @@ void Special_SetVermilionTrashCans(void)
}
}
static const u16 sResortGorgeousDeluxeRewards[] = {
ITEM_BIG_PEARL,
ITEM_PEARL,
ITEM_STARDUST,
ITEM_STAR_PIECE,
ITEM_NUGGET,
ITEM_RARE_CANDY
};
void IncrementResortGorgeousStepCounter(void)
{
u16 var4035 = VarGet(VAR_RESORT_GOREGEOUS_STEP_COUNTER);
@@ -660,6 +707,90 @@ bool8 Special_CheckAddCoins(void)
return TRUE;
}
static const struct WindowTemplate sElevatorCurrentFloorWindowTemplate = {
.bg = 0,
.tilemapLeft = 22,
.tilemapTop = 1,
.width = 7,
.height = 4,
.paletteNum = 0xF,
.baseBlock = 0x008
};
static const u8 *const sFloorNamePointers[] = {
gUnknown_8418069,
gUnknown_8418065,
gUnknown_8418061,
gUnknown_841805D,
gUnknown_841803A,
gUnknown_841803D,
gUnknown_8418040,
gUnknown_8418043,
gUnknown_8418046,
gUnknown_8418049,
gUnknown_841804C,
gUnknown_841804F,
gUnknown_8418052,
gUnknown_8418055,
gUnknown_8418059,
gUnknown_841806D
};
static const u8 gUnknown_83F5B84[] = {
26,
26,
26,
26,
30,
30,
30,
30,
30,
30,
30,
30,
30,
26,
26,
18
};
static const u16 sElevatorWindowMetatilesGoingUp[][3] = {
{0x2e8, 0x2e9, 0x2ea},
{0x2f0, 0x2f1, 0x2f2},
{0x2f8, 0x2f9, 0x2fa}
};
static const u16 sElevatorWindowMetatilesGoingDown[][3] = {
{0x2e8, 0x2ea, 0x2e9},
{0x2f0, 0x2f2, 0x2f1},
{0x2f8, 0x2fa, 0x2f9}
};
static const u8 sElevatorAnimationDuration[] = {
8,
16,
24,
32,
38,
46,
53,
56,
57
};
static const u8 sElevatorWindowAnimDuration[] = {
3,
6,
9,
12,
15,
18,
21,
24,
27
};
void Special_GetElevatorFloor(void)
{
u16 floor = 4;
@@ -1083,6 +1214,67 @@ void Special_ListMenu(void)
}
}
static const u8 *const gUnknown_83F5BCC[][12] = {
{
gUnknown_8417FD9,
gUnknown_8417FE6,
gUnknown_8417FF3,
gUnknown_8418000,
gUnknown_841800D,
gUnknown_8418017,
gUnknown_8418022,
gUnknown_841802F,
gOtherText_Exit,
}, {
gUnknown_8418059,
gUnknown_8418055,
gUnknown_8418052,
gUnknown_841804F,
gUnknown_841804C,
gUnknown_8418049,
gUnknown_8418046,
gUnknown_8418043,
gUnknown_8418040,
gUnknown_841803D,
gUnknown_841803A,
gOtherText_Exit,
}, {
gUnknown_841805D,
gUnknown_8418061,
gUnknown_8418069,
gOtherText_Exit,
}, {
gUnknown_8418046,
gUnknown_8418043,
gUnknown_8418040,
gUnknown_841803D,
gUnknown_841803A,
gOtherText_Exit,
}, {
gUnknown_841807D,
gUnknown_841808E,
gUnknown_841809C,
gOtherText_Quit,
}, {
gUnknown_84180A7,
gUnknown_84180BC,
gUnknown_84180D0,
gUnknown_84180E4,
gUnknown_84180FA,
gUnknown_841810D,
gUnknown_841811D,
gUnknown_841812F,
gUnknown_8418142,
gUnknown_8418152,
gUnknown_8418163,
gOtherText_Exit,
}, {
gUnknown_841806D,
gUnknown_841805D,
gOtherText_Exit,
}
};
static void Task_CreateScriptListMenu(u8 taskId)
{
struct WindowTemplate template;
@@ -1240,7 +1432,12 @@ static void Task_RedrawScrollArrowsAndWaitInput(u8 taskId)
static void Task_CreateMenuRemoveScrollIndicatorArrowPair(u8 taskId)
{
struct Task * task = &gTasks[taskId];
struct ScrollArrowsTemplate template = gUnknown_83F5D1C;
struct ScrollArrowsTemplate template = {
.firstArrowType = 2,
.secondArrowType = 3,
.tileTag = 2000,
.palTag = 100
};
if (task->data[0] != task->data[1])
{
template.firstX = 4 * task->data[4] + 8 * task->data[2];
@@ -1266,6 +1463,12 @@ void Special_ForcePlayerToStartSurfing(void)
SetPlayerAvatarTransitionFlags(8);
}
static const u16 sStarterMon[] = {
SPECIES_BULBASAUR,
SPECIES_SQUIRTLE,
SPECIES_CHARMANDER
};
static u16 GetStarterPokemon(u16 idx)
{
if (idx >= NELEMS(sStarterMon))
@@ -1511,6 +1714,21 @@ bool8 Special_PlayerPartyContainsSpecies(void)
return FALSE;
}
static const u8 gUnknown_83F5D32[][3] = {
{MAP_GROUP(VIRIDIAN_CITY_MART), MAP_NUM(VIRIDIAN_CITY_MART), 1},
{MAP_GROUP(PEWTER_CITY_MART), MAP_NUM(PEWTER_CITY_MART), 3},
{MAP_GROUP(CERULEAN_CITY_MART), MAP_NUM(CERULEAN_CITY_MART), 1},
{MAP_GROUP(LAVENDER_TOWN_MART), MAP_NUM(LAVENDER_TOWN_MART), 1},
{MAP_GROUP(VERMILION_CITY_MART), MAP_NUM(VERMILION_CITY_MART), 1},
{MAP_GROUP(FUCHSIA_CITY_MART), MAP_NUM(FUCHSIA_CITY_MART), 1},
{MAP_GROUP(CINNABAR_ISLAND_MART), MAP_NUM(CINNABAR_ISLAND_MART), 1},
{MAP_GROUP(SAFFRON_CITY_MART), MAP_NUM(SAFFRON_CITY_MART), 1},
{MAP_GROUP(THREE_ISLAND_MART), MAP_NUM(THREE_ISLAND_MART), 1},
{MAP_GROUP(FOUR_ISLAND_MART), MAP_NUM(FOUR_ISLAND_MART), 1},
{MAP_GROUP(SEVEN_ISLAND_MART), MAP_NUM(SEVEN_ISLAND_MART), 1},
{MAP_GROUP(SIX_ISLAND_MART), MAP_NUM(SIX_ISLAND_MART), 1}
};
u8 sub_80CC4D4(void)
{
u8 i;
@@ -1527,6 +1745,65 @@ void sub_80CC524(void)
sub_8113550(11, NULL);
}
static const struct {
u16 grp;
u16 num;
u16 grp2;
u16 num2;
} gUnknown_83F5D58[51] = {
{MAP_GROUP(PALLET_TOWN_PLAYERS_HOUSE_1F), MAP_NUM(PALLET_TOWN_PLAYERS_HOUSE_1F), MAP_GROUP(PALLET_TOWN), MAP_NUM(PALLET_TOWN)},
{MAP_GROUP(PALLET_TOWN_PROFESSOR_OAKS_LAB), MAP_NUM(PALLET_TOWN_PROFESSOR_OAKS_LAB), MAP_GROUP(PALLET_TOWN), MAP_NUM(PALLET_TOWN)},
{MAP_GROUP(VIRIDIAN_CITY_GYM), MAP_NUM(VIRIDIAN_CITY_GYM), MAP_GROUP(VIRIDIAN_CITY), MAP_NUM(VIRIDIAN_CITY)},
{MAP_GROUP(ROUTE22_NORTH_ENTRANCE), MAP_NUM(ROUTE22_NORTH_ENTRANCE), MAP_GROUP(ROUTE22), MAP_NUM(ROUTE22)},
{MAP_GROUP(ROUTE22_NORTH_ENTRANCE), MAP_NUM(ROUTE22_NORTH_ENTRANCE), MAP_GROUP(ROUTE23), MAP_NUM(ROUTE23)},
{MAP_GROUP(VIRIDIAN_FOREST), MAP_NUM(VIRIDIAN_FOREST), MAP_GROUP(ROUTE2_VIRIDIAN_FOREST_SOUTH_ENTRANCE), MAP_NUM(ROUTE2_VIRIDIAN_FOREST_SOUTH_ENTRANCE)},
{MAP_GROUP(VIRIDIAN_FOREST), MAP_NUM(VIRIDIAN_FOREST), MAP_GROUP(ROUTE2_VIRIDIAN_FOREST_NORTH_ENTRANCE), MAP_NUM(ROUTE2_VIRIDIAN_FOREST_NORTH_ENTRANCE)},
{MAP_GROUP(PEWTER_CITY_MUSEUM_1F), MAP_NUM(PEWTER_CITY_MUSEUM_1F), MAP_GROUP(PEWTER_CITY), MAP_NUM(PEWTER_CITY)},
{MAP_GROUP(PEWTER_CITY_GYM), MAP_NUM(PEWTER_CITY_GYM), MAP_GROUP(PEWTER_CITY), MAP_NUM(PEWTER_CITY)},
{MAP_GROUP(MT_MOON_1F), MAP_NUM(MT_MOON_1F), MAP_GROUP(ROUTE4), MAP_NUM(ROUTE4)},
{MAP_GROUP(MT_MOON_B1F), MAP_NUM(MT_MOON_B1F), MAP_GROUP(ROUTE4), MAP_NUM(ROUTE4)},
{MAP_GROUP(CERULEAN_CITY_GYM), MAP_NUM(CERULEAN_CITY_GYM), MAP_GROUP(CERULEAN_CITY), MAP_NUM(CERULEAN_CITY)},
{MAP_GROUP(CERULEAN_CITY_BIKE_SHOP), MAP_NUM(CERULEAN_CITY_BIKE_SHOP), MAP_GROUP(CERULEAN_CITY), MAP_NUM(CERULEAN_CITY)},
{MAP_GROUP(ROUTE25_SEA_COTTAGE), MAP_NUM(ROUTE25_SEA_COTTAGE), MAP_GROUP(ROUTE25), MAP_NUM(ROUTE25)},
{MAP_GROUP(ROUTE5_POKEMON_DAY_CARE), MAP_NUM(ROUTE5_POKEMON_DAY_CARE), MAP_GROUP(ROUTE5), MAP_NUM(ROUTE5)},
{MAP_GROUP(UNDERGROUND_PATH_NORTH_ENTRANCE), MAP_NUM(UNDERGROUND_PATH_NORTH_ENTRANCE), MAP_GROUP(ROUTE5), MAP_NUM(ROUTE5)},
{MAP_GROUP(UNDERGROUND_PATH_SOUTH_ENTRANCE), MAP_NUM(UNDERGROUND_PATH_SOUTH_ENTRANCE), MAP_GROUP(ROUTE6), MAP_NUM(ROUTE6)},
{MAP_GROUP(VERMILION_CITY_POKEMON_FAN_CLUB), MAP_NUM(VERMILION_CITY_POKEMON_FAN_CLUB), MAP_GROUP(VERMILION_CITY), MAP_NUM(VERMILION_CITY)},
{MAP_GROUP(VERMILION_CITY_GYM), MAP_NUM(VERMILION_CITY_GYM), MAP_GROUP(VERMILION_CITY), MAP_NUM(VERMILION_CITY)},
{MAP_GROUP(SSANNE_1F_CORRIDOR), MAP_NUM(SSANNE_1F_CORRIDOR), MAP_GROUP(VERMILION_CITY), MAP_NUM(VERMILION_CITY)},
{MAP_GROUP(DIGLETTS_CAVE_NORTH_ENTRANCE), MAP_NUM(DIGLETTS_CAVE_NORTH_ENTRANCE), MAP_GROUP(ROUTE2), MAP_NUM(ROUTE2)},
{MAP_GROUP(DIGLETTS_CAVE_SOUTH_ENTRANCE), MAP_NUM(DIGLETTS_CAVE_SOUTH_ENTRANCE), MAP_GROUP(ROUTE11), MAP_NUM(ROUTE11)},
{MAP_GROUP(ROCK_TUNNEL_1F), MAP_NUM(ROCK_TUNNEL_1F), MAP_GROUP(ROUTE10), MAP_NUM(ROUTE10)},
{MAP_GROUP(ROCK_TUNNEL_1F), MAP_NUM(ROCK_TUNNEL_1F), MAP_GROUP(ROUTE10), MAP_NUM(ROUTE10)},
{MAP_GROUP(POWER_PLANT), MAP_NUM(POWER_PLANT), MAP_GROUP(ROUTE10), MAP_NUM(ROUTE10)},
{MAP_GROUP(POKEMON_TOWER_1F), MAP_NUM(POKEMON_TOWER_1F), MAP_GROUP(LAVENDER_TOWN), MAP_NUM(LAVENDER_TOWN)},
{MAP_GROUP(LAVENDER_TOWN_VOLUNTEER_POKEMON_HOUSE), MAP_NUM(LAVENDER_TOWN_VOLUNTEER_POKEMON_HOUSE), MAP_GROUP(LAVENDER_TOWN), MAP_NUM(LAVENDER_TOWN)},
{MAP_GROUP(LAVENDER_TOWN_HOUSE2), MAP_NUM(LAVENDER_TOWN_HOUSE2), MAP_GROUP(LAVENDER_TOWN), MAP_NUM(LAVENDER_TOWN)},
{MAP_GROUP(UNDERGROUND_PATH_EAST_ENTRANCE), MAP_NUM(UNDERGROUND_PATH_EAST_ENTRANCE), MAP_GROUP(ROUTE8), MAP_NUM(ROUTE8)},
{MAP_GROUP(UNDERGROUND_PATH_WEST_ENTRANCE), MAP_NUM(UNDERGROUND_PATH_WEST_ENTRANCE), MAP_GROUP(ROUTE7), MAP_NUM(ROUTE7)},
{MAP_GROUP(CELADON_CITY_DEPARTMENT_STORE_1F), MAP_NUM(CELADON_CITY_DEPARTMENT_STORE_1F), MAP_GROUP(CELADON_CITY), MAP_NUM(CELADON_CITY)},
{MAP_GROUP(CELADON_CITY_CONDOMINIUMS_1F), MAP_NUM(CELADON_CITY_CONDOMINIUMS_1F), MAP_GROUP(CELADON_CITY), MAP_NUM(CELADON_CITY)},
{MAP_GROUP(CELADON_CITY_GAME_CORNER), MAP_NUM(CELADON_CITY_GAME_CORNER), MAP_GROUP(CELADON_CITY), MAP_NUM(CELADON_CITY)},
{MAP_GROUP(CELADON_CITY_GYM), MAP_NUM(CELADON_CITY_GYM), MAP_GROUP(CELADON_CITY), MAP_NUM(CELADON_CITY)},
{MAP_GROUP(CELADON_CITY_RESTAURANT), MAP_NUM(CELADON_CITY_RESTAURANT), MAP_GROUP(CELADON_CITY), MAP_NUM(CELADON_CITY)},
{MAP_GROUP(ROCKET_HIDEOUT_B1F), MAP_NUM(ROCKET_HIDEOUT_B1F), MAP_GROUP(CELADON_CITY_GAME_CORNER), MAP_NUM(CELADON_CITY_GAME_CORNER)},
{MAP_GROUP(SAFARI_ZONE_CENTER), MAP_NUM(SAFARI_ZONE_CENTER), MAP_GROUP(FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE), MAP_NUM(FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE)},
{MAP_GROUP(FUCHSIA_CITY_GYM), MAP_NUM(FUCHSIA_CITY_GYM), MAP_GROUP(FUCHSIA_CITY), MAP_NUM(FUCHSIA_CITY)},
{MAP_GROUP(FUCHSIA_CITY_BUILDING1), MAP_NUM(FUCHSIA_CITY_BUILDING1), MAP_GROUP(FUCHSIA_CITY), MAP_NUM(FUCHSIA_CITY)},
{MAP_GROUP(SAFFRON_CITY_DOJO), MAP_NUM(SAFFRON_CITY_DOJO), MAP_GROUP(SAFFRON_CITY), MAP_NUM(SAFFRON_CITY)},
{MAP_GROUP(SAFFRON_CITY_GYM), MAP_NUM(SAFFRON_CITY_GYM), MAP_GROUP(SAFFRON_CITY), MAP_NUM(SAFFRON_CITY)},
{MAP_GROUP(SILPH_CO_1F), MAP_NUM(SILPH_CO_1F), MAP_GROUP(SAFFRON_CITY), MAP_NUM(SAFFRON_CITY)},
{MAP_GROUP(SEAFOAM_ISLANDS_1F), MAP_NUM(SEAFOAM_ISLANDS_1F), MAP_GROUP(ROUTE20), MAP_NUM(ROUTE20)},
{MAP_GROUP(SEAFOAM_ISLANDS_1F), MAP_NUM(SEAFOAM_ISLANDS_1F), MAP_GROUP(ROUTE20), MAP_NUM(ROUTE20)},
{MAP_GROUP(POKEMON_MANSION_1F), MAP_NUM(POKEMON_MANSION_1F), MAP_GROUP(CINNABAR_ISLAND), MAP_NUM(CINNABAR_ISLAND)},
{MAP_GROUP(CINNABAR_ISLAND_GYM), MAP_NUM(CINNABAR_ISLAND_GYM), MAP_GROUP(CINNABAR_ISLAND), MAP_NUM(CINNABAR_ISLAND)},
{MAP_GROUP(CINNABAR_ISLAND_POKEMON_LAB_ENTRANCE), MAP_NUM(CINNABAR_ISLAND_POKEMON_LAB_ENTRANCE), MAP_GROUP(CINNABAR_ISLAND), MAP_NUM(CINNABAR_ISLAND)},
{MAP_GROUP(VICTORY_ROAD_1F), MAP_NUM(VICTORY_ROAD_1F), MAP_GROUP(ROUTE23), MAP_NUM(ROUTE23)},
{MAP_GROUP(VICTORY_ROAD_2F), MAP_NUM(VICTORY_ROAD_2F), MAP_GROUP(ROUTE23), MAP_NUM(ROUTE23)},
{MAP_GROUP(INDIGO_PLATEAU_POKEMON_CENTER_1F), MAP_NUM(INDIGO_PLATEAU_POKEMON_CENTER_1F), MAP_GROUP(INDIGO_PLATEAU_EXTERIOR), MAP_NUM(INDIGO_PLATEAU_EXTERIOR)},
{MAP_GROUP(CERULEAN_CAVE_1F), MAP_NUM(CERULEAN_CAVE_1F), MAP_GROUP(CERULEAN_CITY), MAP_NUM(CERULEAN_CITY)}
};
void sub_80CC534(void)
{
u8 i;
@@ -1543,3 +1820,117 @@ void sub_80CC534(void)
}
}
}
void sub_80CC59C(void)
{
s16 x, y;
struct {
u8 unk0;
u8 unk1;
} sp0;
u16 r5 = VarGet(VAR_0x404D);
sp0.unk0 = 0;
sp0.unk1 = 0;
if (FlagGet(FLAG_0x808))
{
if (r5 == 5)
{
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ROUTE2_VIRIDIAN_FOREST_SOUTH_ENTRANCE) && (gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE2_VIRIDIAN_FOREST_SOUTH_ENTRANCE) || gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE2_VIRIDIAN_FOREST_NORTH_ENTRANCE)))
{
sp0.unk0 = MAPSEC_ROUTE_2;
if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE2_VIRIDIAN_FOREST_SOUTH_ENTRANCE))
sp0.unk1 = r5;
else
sp0.unk1 = r5 + 1;
sub_8113550(35, (void *)&sp0);
FlagClear(FLAG_0x808);
return;
}
}
else if (r5 == 3)
{
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ROUTE22) && (gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE22) || gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE23)))
{
sp0.unk0 = get_mapheader_by_bank_and_number(gUnknown_83F5D58[r5].grp, gUnknown_83F5D58[r5].num)->regionMapSectionId;
if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE22))
sp0.unk1 = r5;
else
sp0.unk1 = r5 + 1;
sub_8113550(35, (void *)&sp0);
FlagClear(FLAG_0x808);
return;
}
}
if (gSaveBlock1Ptr->location.mapGroup == gUnknown_83F5D58[r5].grp2 && gSaveBlock1Ptr->location.mapNum == gUnknown_83F5D58[r5].num2)
{
sp0.unk0 = get_mapheader_by_bank_and_number(gUnknown_83F5D58[r5].grp, gUnknown_83F5D58[r5].num)->regionMapSectionId;
sp0.unk1 = r5;
if (r5 == 22)
{
PlayerGetDestCoords(&x, &y);
if (x != 15 || y != 26)
sp0.unk1++;
}
else if (r5 == 42)
{
PlayerGetDestCoords(&x, &y);
if (x != 67 || y != 15)
sp0.unk1++;
}
sub_8113550(35, (void *)&sp0);
FlagClear(FLAG_0x808);
if (r5 == 35)
{
VarSet(VAR_0x404D, 32);
FlagSet(FLAG_0x808);
}
}
}
}
extern const char gUnknown_83F5EF0[];
extern const char gUnknown_83F5F24[];
u16 Special_BattleCardAction(void)
{
switch (gSpecialVar_Result)
{
case 0:
return sub_81445C0(3);
case 1:
return sub_81445C0(4);
case 2:
return sub_81445C0(0);
case 3:
return sub_81445C0(1);
case 4:
return sub_81445C0(2);
default:
AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/scr_tool.c", 3873);
return 0;
}
}
const u16 gUnknown_83F5F26[] = {
MAP_VIRIDIAN_CITY_POKEMON_CENTER_1F,
MAP_PEWTER_CITY_POKEMON_CENTER_1F,
MAP_CERULEAN_CITY_POKEMON_CENTER_1F,
MAP_LAVENDER_TOWN_POKEMON_CENTER_1F,
MAP_VERMILION_CITY_POKEMON_CENTER_1F,
MAP_CELADON_CITY_POKEMON_CENTER_1F,
MAP_FUCHSIA_CITY_POKEMON_CENTER_1F,
MAP_CINNABAR_ISLAND_POKEMON_CENTER_1F,
MAP_INDIGO_PLATEAU_POKEMON_CENTER_1F,
MAP_SAFFRON_CITY_POKEMON_CENTER_1F,
MAP_ROUTE4_POKEMON_CENTER_1F,
MAP_ROUTE10_POKEMON_CENTER_1F,
MAP_ONE_ISLAND_POKEMON_CENTER_1F,
MAP_TWO_ISLAND_POKEMON_CENTER_1F,
MAP_THREE_ISLAND_POKEMON_CENTER_1F,
MAP_FOUR_ISLAND_POKEMON_CENTER_1F,
MAP_FIVE_ISLAND_POKEMON_CENTER_1F,
MAP_SEVEN_ISLAND_POKEMON_CENTER_1F,
MAP_SIX_ISLAND_POKEMON_CENTER_1F,
MAP_UNKNOWN_MAP_00_04,
MAP_UNDEFINED
};