mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-25 11:14:15 +01:00
commit
b4b4fb951a
2248
asm/pokenav.s
2248
asm/pokenav.s
File diff suppressed because it is too large
Load Diff
@ -599,7 +599,7 @@ BattleScript_EffectBide::
|
||||
ppreduce
|
||||
attackanimation
|
||||
waitanimation
|
||||
orword gHitMarker, HITMARKER_x8000000
|
||||
orword gHitMarker, HITMARKER_CHARGING
|
||||
setbide
|
||||
goto BattleScript_MoveEnd
|
||||
|
||||
@ -824,7 +824,7 @@ BattleScriptFirstChargingTurn::
|
||||
ppreduce
|
||||
attackanimation
|
||||
waitanimation
|
||||
orword gHitMarker, HITMARKER_x8000000
|
||||
orword gHitMarker, HITMARKER_CHARGING
|
||||
setmoveeffect MOVE_EFFECT_CHARGING | MOVE_EFFECT_AFFECTS_USER
|
||||
seteffectprimary
|
||||
copybyte cMULTISTRING_CHOOSER, sTWOTURN_STRINGID
|
||||
@ -1941,7 +1941,7 @@ BattleScript_SolarbeamDecideTurn::
|
||||
call BattleScriptFirstChargingTurn
|
||||
goto BattleScript_MoveEnd
|
||||
BattleScript_SolarbeamOnFirstTurn::
|
||||
orword gHitMarker, HITMARKER_x8000000
|
||||
orword gHitMarker, HITMARKER_CHARGING
|
||||
setmoveeffect MOVE_EFFECT_CHARGING | MOVE_EFFECT_AFFECTS_USER
|
||||
seteffectprimary
|
||||
ppreduce
|
||||
|
@ -3221,7 +3221,7 @@ EventScript_2736F8:: @ 82736F8
|
||||
compare VAR_RESULT, 2
|
||||
goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_252B42
|
||||
setvar VAR_0x8004, 10
|
||||
special sp194_trainer_tower
|
||||
special CallTrainerHillFunction
|
||||
compare VAR_RESULT, 1
|
||||
goto_if_eq TrainerHill_1F_EventScript_2C83C9
|
||||
special sub_80B05B4
|
||||
@ -7429,7 +7429,7 @@ TrainerHill_4F_MapScript1_2C8336: @ 82C8336
|
||||
TrainerHill_Roof_MapScript1_2C8336: @ 82C8336
|
||||
setvar VAR_TEMP_2, 0
|
||||
setvar VAR_0x8004, 4
|
||||
special sp194_trainer_tower
|
||||
special CallTrainerHillFunction
|
||||
setvar VAR_0x8004, 1
|
||||
setvar VAR_0x8005, 5
|
||||
special CallFrontierUtilFunc
|
||||
@ -7462,7 +7462,7 @@ TrainerHill_Roof_MapScript2_2C8381: @ 82C8381
|
||||
EventScript_TrainerHillTimer:: @ 82C8393
|
||||
lockall
|
||||
setvar VAR_0x8004, 7
|
||||
special sp194_trainer_tower
|
||||
special CallTrainerHillFunction
|
||||
msgbox TrainerHill_Entrance_Text_268D47, MSGBOX_DEFAULT
|
||||
releaseall
|
||||
end
|
||||
@ -7470,7 +7470,7 @@ EventScript_TrainerHillTimer:: @ 82C8393
|
||||
TrainerHill_1F_EventScript_2C83A6:: @ 82C83A6
|
||||
setvar VAR_TEMP_2, 1
|
||||
setvar VAR_0x8004, 9
|
||||
special sp194_trainer_tower
|
||||
special CallTrainerHillFunction
|
||||
compare VAR_RESULT, 1
|
||||
goto_if_eq TrainerHill_1F_EventScript_2C83BF
|
||||
end
|
||||
@ -7482,9 +7482,9 @@ TrainerHill_1F_EventScript_2C83BF:: @ 82C83BF
|
||||
|
||||
TrainerHill_1F_EventScript_2C83C9:: @ 82C83C9
|
||||
setvar VAR_0x8004, 12
|
||||
special sp194_trainer_tower
|
||||
special CallTrainerHillFunction
|
||||
setvar VAR_0x8004, 5
|
||||
special sp194_trainer_tower
|
||||
special CallTrainerHillFunction
|
||||
setvar VAR_TEMP_1, 1
|
||||
end
|
||||
|
||||
@ -7502,7 +7502,7 @@ TrainerHill_1F_Movement_2C83EE:: @ 82C83EE
|
||||
EventScript_2C83F0:: @ 82C83F0
|
||||
trainerbattle TRAINER_BATTLE_12, TRAINER_PHILLIP, 0, BattleFrontier_BattlePyramidEmptySquare_Text_252C8D, BattleFrontier_BattlePyramidEmptySquare_Text_252C8D
|
||||
setvar VAR_0x8004, 11
|
||||
special sp194_trainer_tower
|
||||
special CallTrainerHillFunction
|
||||
waitmessage
|
||||
waitbuttonpress
|
||||
closemessage
|
||||
|
@ -16,10 +16,10 @@ TrainerHill_Entrance_MapScript1_2680CF: @ 82680CF
|
||||
|
||||
TrainerHill_Entrance_MapScript1_2680D0: @ 82680D0
|
||||
setvar VAR_0x8004, 4
|
||||
special sp194_trainer_tower
|
||||
special CallTrainerHillFunction
|
||||
setvar VAR_TEMP_0, 0
|
||||
setvar VAR_0x8004, 9
|
||||
special sp194_trainer_tower
|
||||
special CallTrainerHillFunction
|
||||
compare VAR_RESULT, 0
|
||||
goto_if_eq TrainerHill_Entrance_EventScript_2680FF
|
||||
setobjectxy EVENT_OBJ_ID_PLAYER, 9, 6
|
||||
@ -28,7 +28,7 @@ TrainerHill_Entrance_MapScript1_2680D0: @ 82680D0
|
||||
|
||||
TrainerHill_Entrance_EventScript_2680FF:: @ 82680FF
|
||||
setvar VAR_0x8004, 16
|
||||
special sp194_trainer_tower
|
||||
special CallTrainerHillFunction
|
||||
compare VAR_RESULT, 1
|
||||
goto_if_eq TrainerHill_Entrance_EventScript_26811A
|
||||
applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_26837F
|
||||
@ -75,7 +75,7 @@ TrainerHill_Entrance_EventScript_268160:: @ 8268160
|
||||
TrainerHill_Entrance_EventScript_268182:: @ 8268182
|
||||
setvar VAR_TEMP_0, 1
|
||||
setvar VAR_0x8004, 6
|
||||
special sp194_trainer_tower
|
||||
special CallTrainerHillFunction
|
||||
switch VAR_RESULT
|
||||
case 0, TrainerHill_Entrance_EventScript_2681B5
|
||||
case 1, TrainerHill_Entrance_EventScript_2681CA
|
||||
@ -115,7 +115,7 @@ TrainerHill_Entrance_EventScript_2681FD:: @ 82681FD
|
||||
lock
|
||||
faceplayer
|
||||
setvar VAR_0x8004, 10
|
||||
special sp194_trainer_tower
|
||||
special CallTrainerHillFunction
|
||||
compare VAR_RESULT, 0
|
||||
goto_if_eq TrainerHill_Entrance_EventScript_26821F
|
||||
msgbox TrainerHill_Entrance_Text_2686F4, MSGBOX_DEFAULT
|
||||
@ -134,11 +134,11 @@ TrainerHill_Entrance_EventScript_268229:: @ 8268229
|
||||
goto_if_unset FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_26836A
|
||||
msgbox TrainerHill_Entrance_Text_2684C6, MSGBOX_DEFAULT
|
||||
setvar VAR_0x8004, 13
|
||||
special sp194_trainer_tower
|
||||
special CallTrainerHillFunction
|
||||
compare VAR_RESULT, 0
|
||||
call_if_eq TrainerHill_Entrance_EventScript_26832E
|
||||
setvar VAR_0x8004, 8
|
||||
special sp194_trainer_tower
|
||||
special CallTrainerHillFunction
|
||||
compare VAR_RESULT, 1
|
||||
goto_if_eq TrainerHill_Entrance_EventScript_268275
|
||||
msgbox TrainerHill_Entrance_Text_268564, MSGBOX_DEFAULT
|
||||
@ -170,13 +170,13 @@ TrainerHill_Entrance_EventScript_2682C8:: @ 82682C8
|
||||
case 127, TrainerHill_Entrance_EventScript_268314
|
||||
setvar VAR_0x8004, 17
|
||||
copyvar VAR_0x8005, VAR_RESULT
|
||||
special sp194_trainer_tower
|
||||
special CallTrainerHillFunction
|
||||
setvar VAR_0x40D6, 1
|
||||
setvar VAR_TEMP_5, 0
|
||||
special HealPlayerParty
|
||||
msgbox TrainerHill_Entrance_Text_26862A, MSGBOX_DEFAULT
|
||||
setvar VAR_0x8004, 0
|
||||
special sp194_trainer_tower
|
||||
special CallTrainerHillFunction
|
||||
releaseall
|
||||
end
|
||||
|
||||
@ -192,18 +192,18 @@ TrainerHill_Entrance_EventScript_268314:: @ 8268314
|
||||
TrainerHill_Entrance_EventScript_26832E:: @ 826832E
|
||||
msgbox TrainerHill_Entrance_Text_26851C, MSGBOX_DEFAULT
|
||||
setvar VAR_0x8004, 14
|
||||
special sp194_trainer_tower
|
||||
special CallTrainerHillFunction
|
||||
setvar VAR_TEMP_5, 1
|
||||
call TrainerHill_Entrance_EventScript_27134F
|
||||
compare VAR_RESULT, 0
|
||||
goto_if_eq TrainerHill_Entrance_EventScript_26835C
|
||||
setvar VAR_0x8004, 14
|
||||
special sp194_trainer_tower
|
||||
special CallTrainerHillFunction
|
||||
return
|
||||
|
||||
TrainerHill_Entrance_EventScript_26835C:: @ 826835C
|
||||
setvar VAR_0x8004, 15
|
||||
special sp194_trainer_tower
|
||||
special CallTrainerHillFunction
|
||||
goto TrainerHill_Entrance_EventScript_268314
|
||||
end
|
||||
|
||||
|
@ -5,11 +5,11 @@ TrainerHill_Roof_MapScripts:: @ 8268FA7
|
||||
|
||||
TrainerHill_Roof_EventScript_268FB2:: @ 8268FB2
|
||||
setvar VAR_0x8004, 12
|
||||
special sp194_trainer_tower
|
||||
special CallTrainerHillFunction
|
||||
lock
|
||||
faceplayer
|
||||
setvar VAR_0x8004, 1
|
||||
special sp194_trainer_tower
|
||||
special CallTrainerHillFunction
|
||||
switch VAR_RESULT
|
||||
case 0, TrainerHill_Roof_EventScript_268FEA
|
||||
case 1, TrainerHill_Roof_EventScript_268FF2
|
||||
@ -20,7 +20,7 @@ TrainerHill_Roof_EventScript_268FEA:: @ 8268FEA
|
||||
|
||||
TrainerHill_Roof_EventScript_268FF2:: @ 8268FF2
|
||||
setvar VAR_0x8004, 2
|
||||
special sp194_trainer_tower
|
||||
special CallTrainerHillFunction
|
||||
switch VAR_RESULT
|
||||
case 0, TrainerHill_Roof_EventScript_269020
|
||||
case 1, TrainerHill_Roof_EventScript_269037
|
||||
@ -42,7 +42,7 @@ TrainerHill_Roof_EventScript_269037:: @ 8269037
|
||||
|
||||
TrainerHill_Roof_EventScript_269054:: @ 8269054
|
||||
setvar VAR_0x8004, 3
|
||||
special sp194_trainer_tower
|
||||
special CallTrainerHillFunction
|
||||
switch VAR_RESULT
|
||||
case 0, TrainerHill_Roof_EventScript_269082
|
||||
case 1, TrainerHill_Roof_EventScript_269090
|
||||
|
143
data/pokenav.s
143
data/pokenav.s
@ -2292,146 +2292,3 @@ gUnknown_086285E4:: @ 86285E4
|
||||
gUnknown_086294CC:: @ 86294CC
|
||||
.incbin "data/pokenav/unk_struct_4.bin"
|
||||
|
||||
gUnknown_0862A3B4:: @ 862A3B4
|
||||
.byte 0x03, 0x06, 0x00, 0x00, 0x0B, 0x06, 0x00, 0x00, 0x0D, 0x06, 0x00, 0x00, 0x0F, 0x01, 0x00, 0x00, 0x2B, 0x04, 0x00, 0x00, 0x2D, 0x01, 0x00, 0x00, 0x24, 0x09, 0x00, 0x00, 0x29, 0x04, 0x00, 0x00, 0x05, 0x05, 0x00, 0x00, 0x18, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x2E, 0x09, 0x00, 0x00, 0x11, 0x0C, 0x00, 0x00, 0x10, 0x0B, 0x00, 0x00, 0x1E, 0x0D, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00, 0x17, 0x03, 0x00, 0x00, 0x0C, 0x04, 0x00, 0x00, 0x38, 0x04, 0x00, 0x00, 0x1C, 0x03, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x19, 0x0B, 0x00, 0x00, 0x09, 0x07, 0x00, 0x00, 0x31, 0x07, 0x00, 0x00, 0x35, 0x07, 0x00, 0x00, 0x36, 0x01, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x2A, 0x03, 0x00, 0x00, 0x16, 0x0D, 0x00, 0x00, 0x0E, 0x03, 0x00, 0x00, 0x15, 0x01, 0x00, 0x00, 0x14, 0x01, 0x00, 0x00, 0x2C, 0x01, 0x00, 0x00, 0x1B, 0x02, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x07, 0x03, 0x00, 0x00, 0x34, 0x05, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x37, 0x02, 0x00, 0x00, 0x1D, 0x04, 0x00, 0x00, 0x22, 0x09, 0x00, 0x00, 0x1F, 0x01, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x0A, 0x04, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x06, 0x05, 0x00, 0x00, 0x27, 0x0B, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x12, 0x02, 0x00, 0x00, 0x39, 0x08, 0x00, 0x00, 0x02, 0x0B, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00
|
||||
|
||||
gUnknown_0862A48C:: @ 862A48C
|
||||
.2byte 0x44, 0x22, 0x14, 0x18, 0x51, 0x3
|
||||
|
||||
gUnknown_0862A498:: @ 862A498
|
||||
.2byte 0xB, 0x22, 0x14, 0x18, 0x51, 3
|
||||
|
||||
gUnknown_0862A4A4:: @ 862A4A4
|
||||
.2byte 0x19, 0x22, 0x14, 0x18, 0x51, 3
|
||||
|
||||
gUnknown_0862A4B0:: @ 862A4B0
|
||||
.2byte 0x23, 0x22, 0x14, 0x18, 0x51, 0x3
|
||||
|
||||
gUnknown_0862A4BC:: @ 862A4BC
|
||||
.2byte 0x24, 0x22, 0x14, 0x18, 0x51, 0x3
|
||||
|
||||
gUnknown_0862A4C8:: @ 862A4C8
|
||||
.2byte 0x125, 0x22, 0x14, 0x18, 0x51, 0x3
|
||||
|
||||
gUnknown_0862A4D4:: @ 862A4D4
|
||||
.2byte 0x144, 0x22, 0x14, 0x18, 0x51, 0x3
|
||||
|
||||
gUnknown_0862A4E0:: @ 862A4E0
|
||||
.2byte 0x126, 0x22, 0x14, 0x18, 0x51, 0x3
|
||||
|
||||
gUnknown_0862A4EC:: @ 862A4EC
|
||||
.2byte 0x12B, 0x22, 0x14, 0x18, 0x51, 0x3
|
||||
|
||||
gUnknown_0862A4F8:: @ 862A4F8
|
||||
.2byte 0x13A, 0x22, 0x14, 0x18, 0x51, 0x3
|
||||
|
||||
gUnknown_0862A504:: @ 862A504
|
||||
.2byte 0x44, 0x22, 0x14, 0x18, 0x51, 0x3
|
||||
|
||||
gUnknown_0862A510:: @ 862A510
|
||||
.2byte 0xB, 0x22, 0x14, 0x18, 0x51, 0x3
|
||||
|
||||
gUnknown_0862A51C:: @ 862A51C
|
||||
.2byte 0x19, 0x22, 0x14, 0x18, 0x51, 0x3
|
||||
|
||||
gUnknown_0862A528:: @ 862A528
|
||||
.2byte 0x23, 0x22, 0x14, 0x18, 0x51, 0x3
|
||||
|
||||
gUnknown_0862A534:: @ 862A534
|
||||
.2byte 0x24, 0x22, 0x14, 0x18, 0x51, 0x3
|
||||
|
||||
gUnknown_0862A540:: @ 862A540
|
||||
.2byte 0x13F, 0x22, 0x14, 0x18, 0x51, 0x3
|
||||
|
||||
gUnknown_0862A54C:: @ 862A54C
|
||||
.2byte 0x149, 0x22, 0x14, 0x18, 0x51, 0x3
|
||||
|
||||
gUnknown_0862A558:: @ 862A558
|
||||
.2byte 0x150, 0x22, 0x14, 0x18, 0x51, 0x3
|
||||
|
||||
gUnknown_0862A564:: @ 862A564
|
||||
.2byte 0x133, 0x22, 0x14, 0x18, 0x51, 0x3
|
||||
|
||||
gUnknown_0862A570:: @ 862A570
|
||||
.2byte 0x14D, 0x22, 0x14, 0x18, 0x51, 0x3
|
||||
|
||||
gUnknown_0862A57C:: @ 862A57C
|
||||
.4byte gUnknown_0862A48C
|
||||
.4byte gUnknown_0862A498
|
||||
.4byte gUnknown_0862A4A4
|
||||
.4byte gUnknown_0862A4B0
|
||||
.4byte gUnknown_0862A4BC
|
||||
.4byte gUnknown_0862A4C8
|
||||
.4byte gUnknown_0862A4D4
|
||||
.4byte gUnknown_0862A4E0
|
||||
.4byte gUnknown_0862A4EC
|
||||
.4byte gUnknown_0862A4F8
|
||||
|
||||
gUnknown_0862A5A4:: @ 862A5A4
|
||||
.4byte gUnknown_0862A504
|
||||
.4byte gUnknown_0862A510
|
||||
.4byte gUnknown_0862A51C
|
||||
.4byte gUnknown_0862A528
|
||||
.4byte gUnknown_0862A534
|
||||
.4byte gUnknown_0862A540
|
||||
.4byte gUnknown_0862A54C
|
||||
.4byte gUnknown_0862A558
|
||||
.4byte gUnknown_0862A564
|
||||
.4byte gUnknown_0862A570
|
||||
|
||||
gUnknown_0862A5CC:: @ 862A5CC
|
||||
.4byte gUnknown_0862A57C
|
||||
.4byte gUnknown_0862A5A4
|
||||
|
||||
gUnknown_0862A5D4:: @ 862A5D4
|
||||
.incbin "graphics/pokenav/862A5D4.gbapal"
|
||||
|
||||
gUnknown_0862A5F4:: @ 862A5F4
|
||||
.byte 0, 2, 3, 0
|
||||
|
||||
gUnknown_0862A5F8:: @ 862A5F8
|
||||
.4byte gUnknown_08626814
|
||||
.4byte gUnknown_086276FC
|
||||
.4byte gUnknown_086285E4
|
||||
.4byte gUnknown_086294CC
|
||||
.4byte gUnknown_085EF8B6
|
||||
.4byte gUnknown_085EF8B9
|
||||
.4byte gUnknown_085EF8BC
|
||||
.4byte gUnknown_085EF8BF
|
||||
|
||||
gUnknown_0862A618:: @ 862A618
|
||||
.4byte sub_81D581C
|
||||
.4byte sub_81D58D8
|
||||
.4byte sub_81D5924
|
||||
.4byte sub_81D59D0
|
||||
.4byte sub_81D5A70
|
||||
.4byte sub_81D5AB4
|
||||
.4byte sub_81D5AD0
|
||||
.4byte sub_81D5B2C
|
||||
.4byte sub_81D5BBC
|
||||
.4byte sub_81D5C00
|
||||
.4byte sub_81D5C5C
|
||||
.4byte sub_81D62B4
|
||||
.4byte sub_81D64AC
|
||||
.4byte sub_81D64DC
|
||||
.4byte sub_81D64FC
|
||||
.4byte sub_81D6518
|
||||
.4byte sub_81D6568
|
||||
.4byte sub_81D65A0
|
||||
|
||||
gUnknown_0862A660:: @ 862A660
|
||||
.4byte gUnknown_085EB32D
|
||||
.4byte gUnknown_085EB33E
|
||||
.4byte gUnknown_085EB350
|
||||
.4byte gUnknown_085EB361
|
||||
|
||||
gUnknown_0862A670:: @ 862A670
|
||||
.byte 0, 0x64
|
||||
.4byte NULL
|
||||
.2byte 0, 0x103, 17, 1, 0, 0, 0, 0, 0
|
||||
|
||||
gUnknown_0862A688:: @ 862A688
|
||||
.2byte 0x3E, 0, 0x3F, 0, 0x40, 0, 0x41, 0
|
||||
|
||||
gUnknown_0862A698:: @ 862A698
|
||||
.byte 0, 1, 2, 3, 4, 5, 0, 0
|
||||
|
@ -515,7 +515,7 @@ gSpecials:: @ 81DBA64
|
||||
def_special sub_813B514
|
||||
def_special sub_813B568
|
||||
def_special sub_813B534
|
||||
def_special sp194_trainer_tower
|
||||
def_special CallTrainerHillFunction
|
||||
def_special sub_813B7D8
|
||||
def_special sub_813B80C
|
||||
def_special sub_81D4BEC
|
||||
|
@ -79,7 +79,7 @@ void GetBattleTowerTrainerLanguage(u8 *dst, u16 trainerId);
|
||||
u8 SetFacilityPtrsGetLevel(void);
|
||||
u8 GetFrontierEnemyMonLevel(u8 lvlMode);
|
||||
s32 GetHighestLevelInPlayerParty(void);
|
||||
u8 sub_81660B8(u8 facilityClass);
|
||||
u8 FacilityClassToGraphicsId(u8 facilityClass);
|
||||
bool32 ValidateBattleTowerRecord(u8 recordId); // unused
|
||||
void sub_8166188(void);
|
||||
|
||||
|
@ -174,7 +174,7 @@
|
||||
#define HITMARKER_GRUDGE 0x01000000
|
||||
#define HITMARKER_OBEYS 0x02000000
|
||||
#define HITMARKER_x4000000 0x04000000
|
||||
#define HITMARKER_x8000000 0x08000000
|
||||
#define HITMARKER_CHARGING 0x08000000
|
||||
#define HITMARKER_FAINTED(battler) (gBitTable[battler] << 0x1C)
|
||||
#define HITMARKER_UNK(battler) (0x10000000 << battler)
|
||||
|
||||
|
@ -584,4 +584,7 @@ extern const u8 EventScript_275A86[];
|
||||
extern const u8 EventScript_275ADF[];
|
||||
extern const u8 EventScript_275B38[];
|
||||
|
||||
// trainer hill
|
||||
extern const u8 EventScript_2C83F0[];
|
||||
|
||||
#endif // GUARD_EVENT_SCRIPTS_H
|
||||
|
@ -11,6 +11,7 @@ enum
|
||||
|
||||
bool8 ShowFieldMessage(const u8 *message);
|
||||
bool8 sub_8098238(const u8 *message);
|
||||
bool8 sub_80982B8(void);
|
||||
bool8 ShowFieldAutoScrollMessage(const u8 *message);
|
||||
void HideFieldMessageBox(void);
|
||||
bool8 IsFieldMessageBoxHidden(void);
|
||||
|
@ -378,7 +378,8 @@ struct BattleFrontier
|
||||
/*0xEE0*/ u8 field_EE0;
|
||||
/*0xEE1*/ u8 field_EE1[2][PLAYER_NAME_LENGTH + 1];
|
||||
/*0xEF1*/ u8 field_EF1[2][4];
|
||||
/*0xEF9*/ u8 field_EF9;
|
||||
/*0xEF9*/ u8 field_EF9_0:7;
|
||||
/*0xEF9*/ u8 field_EF9_1:1;
|
||||
/*0xEFA*/ u8 field_EFA;
|
||||
/*0xEFB*/ u8 field_EFB;
|
||||
/*0xEFC*/ struct FrontierMonData field_EFC[3];
|
||||
@ -792,6 +793,21 @@ struct UnkSaveSubstruct_3b98
|
||||
u8 trainerName[PLAYER_NAME_LENGTH + 1];
|
||||
};
|
||||
|
||||
struct SaveTrainerHill
|
||||
{
|
||||
/*0x3D64*/ u32 field_3D64;
|
||||
/*0x3D68*/ u32 field_3D68;
|
||||
/*0x3D6C*/ u8 field_3D6C;
|
||||
/*0x3D6D*/ u8 unused;
|
||||
/*0x3D6E*/ u16 field_3D6E_0a:1; // 1
|
||||
/*0x3D6E*/ u16 field_3D6E_0b:1; // 2
|
||||
/*0x3D6E*/ u16 field_3D6E_0c:1; // 4
|
||||
/*0x3D6E*/ u16 field_3D6E_0d:1; // 8
|
||||
/*0x3D6E*/ u16 field_3D6E_0e:1; // x10
|
||||
/*0x3D6E*/ u16 field_3D6E_0f:1; // x20
|
||||
/*0x3D6E*/ u16 tag:2; // x40, x80 = xC0
|
||||
};
|
||||
|
||||
struct SaveBlock1
|
||||
{
|
||||
/*0x00*/ struct Coords16 pos;
|
||||
@ -869,13 +885,15 @@ struct SaveBlock1
|
||||
/*0x31A8*/ u8 giftRibbons[52];
|
||||
/*0x31DC*/ struct Roamer roamer;
|
||||
/*0x31F8*/ struct EnigmaBerry enigmaBerry;
|
||||
/*0x322C*/ u8 field_322C[1276];
|
||||
/*0x322C*/ u8 field_322C[1260];
|
||||
/*0x3718*/ u32 trainerHillTimes[4];
|
||||
/*0x3728*/ struct RamScript ramScript;
|
||||
/*0x3B14*/ struct RecordMixingGift recordMixingGift;
|
||||
/*0x3B24*/ u8 seen2[DEX_FLAGS_NO];
|
||||
/*0x3B58*/ LilycoveLady lilycoveLady;
|
||||
/*0x3B98*/ struct UnkSaveSubstruct_3b98 unk_3B98[20];
|
||||
/*0x3C88*/ u8 filler_3C88[0xE8];
|
||||
/*0x3C88*/ u8 filler_3C88[0xDC];
|
||||
/*0x3D64*/ struct SaveTrainerHill trainerHill;
|
||||
/*0x3D70*/ struct WaldaPhrase waldaPhrase;
|
||||
// sizeof: 0x3D88
|
||||
};
|
||||
|
@ -61,6 +61,8 @@ void SetHBlankCallback(IntrCallback callback);
|
||||
void SetVCountCallback(IntrCallback callback);
|
||||
void SetSerialCallback(IntrCallback callback);
|
||||
void InitFlashTimer(void);
|
||||
void sub_80008DC(u32 *var);
|
||||
void sub_80008E8(void);
|
||||
void DoSoftReset(void);
|
||||
void ClearPokemonCrySongs(void);
|
||||
void RestoreSerialTimer3IntrHandlers(void);
|
||||
|
@ -451,8 +451,8 @@ void CreateMaleMon(struct Pokemon *mon, u16 species, u8 level);
|
||||
void CreateMonWithIVsPersonality(struct Pokemon *mon, u16 species, u8 level, u32 ivs, u32 personality);
|
||||
void CreateMonWithIVsOTID(struct Pokemon *mon, u16 species, u8 level, u8 *ivs, u32 otId);
|
||||
void CreateMonWithEVSpread(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV, u8 evSpread);
|
||||
void sub_806819C(struct Pokemon *mon, struct BattleTowerPokemon *src);
|
||||
void sub_8068338(struct Pokemon *mon, struct BattleTowerPokemon *src, bool8 lvl50);
|
||||
void CreateBattleTowerMon(struct Pokemon *mon, struct BattleTowerPokemon *src);
|
||||
void CreateBattleTowerMon2(struct Pokemon *mon, struct BattleTowerPokemon *src, bool8 lvl50);
|
||||
void CreateApprenticeMon(struct Pokemon *mon, const struct Apprentice *src, u8 monId);
|
||||
void CreateMonWithEVSpreadNatureOTID(struct Pokemon *mon, u16 species, u8 level, u8 nature, u8 fixedIV, u8 evSpread, u32 otId);
|
||||
void sub_80686FC(struct Pokemon *mon, struct BattleTowerPokemon *dest);
|
||||
|
@ -3,7 +3,6 @@
|
||||
#include "player_pc.h"
|
||||
#include "list_menu.h"
|
||||
|
||||
bool8 sub_81D5C18(void);
|
||||
bool8 sub_81D20BC(void *arg0);
|
||||
bool8 sub_81D312C(void *arg0);
|
||||
void sub_81D1ED4(void *arg0);
|
||||
@ -14,28 +13,21 @@ void sub_81D3464(void *arg0);
|
||||
void sub_81D3480(void *arg0, u8 arg1);
|
||||
void sub_81D2754(void *arg0, void *arg1);
|
||||
void sub_81D1F84(void *arg0, void *arg1, void *arg2);
|
||||
const u8 *sub_81D62AC(void);
|
||||
u8 sub_81D1C84(u8);
|
||||
u8 sub_81D1DC0(struct PlayerPCItemPageStruct *);
|
||||
void sub_81D1E90(struct PlayerPCItemPageStruct *);
|
||||
void sub_81D1EC0(void);
|
||||
void sub_81D1D04(u8);
|
||||
bool8 sub_81D1C44(u8);
|
||||
void sub_81D5FB4(u16*);
|
||||
bool8 sub_81D4A58(struct EventObject*);
|
||||
void sub_81D2BF4(u8 *);
|
||||
u16 sub_81D2C3C(void);
|
||||
void sub_81D2C50(void);
|
||||
u8 sub_81D28C8(const struct ListMenuItem *items, u16 numChoices);
|
||||
void sub_81D2824(u16);
|
||||
bool32 InTrainerHill(void);
|
||||
bool8 EventObjectIsFarawayIslandMew(struct EventObject *);
|
||||
u32 sub_81D427C(void);
|
||||
void sub_81D4998(void);
|
||||
u8 GetCurrentTrainerHillMapId(void);
|
||||
u8 sub_81D6490(void);
|
||||
const struct WarpEvent *sub_81D6120(void);
|
||||
const struct WarpEvent *sub_81D6134(u8);
|
||||
void sub_81D3640(u16 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5);
|
||||
void sub_81D3784(u16 arg0, void* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4);
|
||||
|
||||
|
@ -1231,10 +1231,17 @@ extern const u8 gText_MtPyre[];
|
||||
extern const u8 gText_SkyPillar[];
|
||||
extern const u8 gText_DontRemember[];
|
||||
extern const u8 gUnknown_085EB597[];
|
||||
extern const u8 gUnknown_085EB32D[];
|
||||
extern const u8 gUnknown_085EB33E[];
|
||||
extern const u8 gUnknown_085EB350[];
|
||||
extern const u8 gUnknown_085EB361[];
|
||||
extern const u8 gText_NormalTagMatch[];
|
||||
extern const u8 gText_VarietyTagMatch[];
|
||||
extern const u8 gText_UniqueTagMatch[];
|
||||
extern const u8 gText_ExpertTagMatch[];
|
||||
extern const u8 gText_TimeBoard[];
|
||||
extern const u8 gText_TimeCleared[];
|
||||
extern const u8 gText_XMinYDotZSec[];
|
||||
extern const u8 gText_TrainerHill1F[];
|
||||
extern const u8 gText_TrainerHill2F[];
|
||||
extern const u8 gText_TrainerHill3F[];
|
||||
extern const u8 gText_TrainerHill4F[];
|
||||
|
||||
extern const u8 OldaleTown_PokemonCenter_2F_Text_277F1B[];
|
||||
extern const u8 OldaleTown_PokemonCenter_2F_Text_277F5A[];
|
||||
|
36
include/trainer_hill.h
Normal file
36
include/trainer_hill.h
Normal file
@ -0,0 +1,36 @@
|
||||
#ifndef GUARD_TRAINER_HILL_H
|
||||
#define GUARD_TRAINER_HILL_H
|
||||
|
||||
extern u32 *gUnknown_0203CF5C;
|
||||
|
||||
void CallTrainerHillFunction(void);
|
||||
void ResetTrainerHillResults(void);
|
||||
u8 GetTrainerHillOpponentClass(u16 trainerId);
|
||||
void GetTrainerHillTrainerName(u8 *dst, u16 trainerId);
|
||||
u8 GetTrainerHillTrainerFrontSpriteId(u16 trainerId);
|
||||
void InitTrainerHillBattleStruct(void);
|
||||
void FreeTrainerHillBattleStruct(void);
|
||||
void CopyTrainerHillTrainerText(u8 which, u16 trainerId);
|
||||
bool8 sub_81D5C18(void);
|
||||
void nullsub_129(void);
|
||||
void PrintOnTrainerHillRecordsWindow(void);
|
||||
void sub_81D5DF8(void);
|
||||
bool32 sub_81D5F48(void);
|
||||
void sub_81D5FB4(u16 *mapArg);
|
||||
bool32 InTrainerHill(void);
|
||||
u8 GetCurrentTrainerHillMapId(void);
|
||||
const struct WarpEvent* sub_81D6120(void);
|
||||
const struct WarpEvent* sub_81D6134(u8 warpEventId);
|
||||
u16 LocalIdToHillTrainerId(u8 localId);
|
||||
bool8 GetHillTrainerFlag(u8 eventObjectId);
|
||||
void SetHillTrainerFlag(void);
|
||||
const u8 *sub_81D62AC(void);
|
||||
void FillHillTrainerParty(void);
|
||||
void FillHillTrainersParties(void);
|
||||
u32 sub_81D63C4(void);
|
||||
u8 GetTrainerEncounterMusicIdInTrainerHill(u16 trainerId);
|
||||
u8 sub_81D6490(void);
|
||||
void sub_81D64C0(void);
|
||||
bool32 sub_81D6534(void);
|
||||
|
||||
#endif // GUARD_TRAINER_HILL_H
|
@ -292,6 +292,7 @@ SECTIONS {
|
||||
asm/pokenav.o(.text);
|
||||
src/pokenav_match_call.o(.text);
|
||||
asm/pokenav.o(.text.after.match.call);
|
||||
src/trainer_hill.o(.text);
|
||||
src/rayquaza_scene.o(.text);
|
||||
src/walda_phrase.o(.text);
|
||||
src/contest_link_81D9DE4.o(.text);
|
||||
@ -596,6 +597,7 @@ SECTIONS {
|
||||
data/pokenav.o(.rodata);
|
||||
src/pokenav_match_call.o(.rodata);
|
||||
data/pokenav.o(.rodata.after.match.call);
|
||||
src/trainer_hill.o(.rodata);
|
||||
src/rayquaza_scene.o(.rodata);
|
||||
src/walda_phrase.o(.rodata);
|
||||
src/gym_leader_rematch.o(.rodata);
|
||||
|
@ -1080,7 +1080,7 @@ void ResetApprenticeStruct(struct Apprentice *apprentice)
|
||||
u8 i;
|
||||
|
||||
for (i = 0; i < 6; i++)
|
||||
apprentice->easyChatWords[i] |= 0xFFFF;
|
||||
apprentice->easyChatWords[i] = 0xFFFF;
|
||||
|
||||
apprentice->playerName[0] = EOS;
|
||||
apprentice->id = 16;
|
||||
@ -1094,7 +1094,7 @@ void ResetAllApprenticeData(void)
|
||||
for (i = 0; i < 4; i++)
|
||||
{
|
||||
for (j = 0; j < 6; j++)
|
||||
gSaveBlock2Ptr->apprentices[i].easyChatWords[j] |= 0xFFFF;
|
||||
gSaveBlock2Ptr->apprentices[i].easyChatWords[j] = 0xFFFF;
|
||||
gSaveBlock2Ptr->apprentices[i].id = 16;
|
||||
gSaveBlock2Ptr->apprentices[i].playerName[0] = EOS;
|
||||
gSaveBlock2Ptr->apprentices[i].lvlMode = 0;
|
||||
|
@ -1450,7 +1450,7 @@ void ClearBattleAnimationVars(void)
|
||||
|
||||
// Clear index array.
|
||||
for (i = 0; i < ANIM_SPRITE_INDEX_COUNT; i++)
|
||||
sAnimSpriteIndexArray[i] |= 0xFFFF;
|
||||
sAnimSpriteIndexArray[i] = 0xFFFF;
|
||||
|
||||
// Clear anim args.
|
||||
for (i = 0; i < ANIM_ARGS_COUNT; i++)
|
||||
@ -1511,7 +1511,7 @@ void LaunchBattleAnimation(const u8 *const animsTable[], u16 tableId, bool8 isMo
|
||||
gAnimScriptCallback = RunAnimScriptCommand;
|
||||
|
||||
for (i = 0; i < ANIM_SPRITE_INDEX_COUNT; i++)
|
||||
sAnimSpriteIndexArray[i] |= 0xFFFF;
|
||||
sAnimSpriteIndexArray[i] = 0xFFFF;
|
||||
|
||||
if (isMoveAnim)
|
||||
{
|
||||
@ -1572,7 +1572,7 @@ static void ClearSpriteIndex(u16 index)
|
||||
{
|
||||
if (sAnimSpriteIndexArray[i] == index)
|
||||
{
|
||||
sAnimSpriteIndexArray[i] |= 0xFFFF;
|
||||
sAnimSpriteIndexArray[i] = 0xFFFF;
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -1779,7 +1779,7 @@ static void ScriptCmd_end(void)
|
||||
{
|
||||
FreeSpriteTilesByTag(gBattleAnimPicTable[sAnimSpriteIndexArray[i]].tag);
|
||||
FreeSpritePaletteByTag(gBattleAnimPicTable[sAnimSpriteIndexArray[i]].tag);
|
||||
sAnimSpriteIndexArray[i] |= 0xFFFF; // set terminator.
|
||||
sAnimSpriteIndexArray[i] = 0xFFFF; // set terminator.
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3548,7 +3548,7 @@ static void sub_8190400(u8 taskId)
|
||||
SetVBlankCallback(VblankCb0_BattleDome);
|
||||
sBattleDomeStruct = AllocZeroed(sizeof(*sBattleDomeStruct));
|
||||
for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
|
||||
sBattleDomeStruct->arr[i] |= 0xFF;
|
||||
sBattleDomeStruct->arr[i] = 0xFF;
|
||||
LoadMonIconPalettes();
|
||||
i = CreateTask(sub_8190CD4, 0);
|
||||
gTasks[i].data[0] = 0;
|
||||
|
@ -198,9 +198,9 @@ static void sub_81A5E94(void)
|
||||
|
||||
gUnknown_03001288 = FALSE;
|
||||
for (i = 0; i < 6; i++)
|
||||
gSaveBlock2Ptr->frontier.field_E70[i].monId |= 0xFFFF;
|
||||
gSaveBlock2Ptr->frontier.field_E70[i].monId = 0xFFFF;
|
||||
for (i = 0; i < 3; i++)
|
||||
gUnknown_03006298[i] |= 0xFFFF;
|
||||
gUnknown_03006298[i] = 0xFFFF;
|
||||
|
||||
SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
|
||||
gTrainerBattleOpponent_A = 0;
|
||||
|
@ -5862,7 +5862,7 @@ static void HandleAction_NothingIsFainted(void)
|
||||
| HITMARKER_NO_PPDEDUCT | HITMARKER_IGNORE_SAFEGUARD | HITMARKER_IGNORE_ON_AIR
|
||||
| HITMARKER_IGNORE_UNDERGROUND | HITMARKER_IGNORE_UNDERWATER | HITMARKER_x100000
|
||||
| HITMARKER_OBEYS | HITMARKER_x10 | HITMARKER_SYNCHRONISE_EFFECT
|
||||
| HITMARKER_x8000000 | HITMARKER_x4000000);
|
||||
| HITMARKER_CHARGING | HITMARKER_x4000000);
|
||||
}
|
||||
|
||||
static void HandleAction_ActionFinished(void)
|
||||
@ -5875,7 +5875,7 @@ static void HandleAction_ActionFinished(void)
|
||||
| HITMARKER_NO_PPDEDUCT | HITMARKER_IGNORE_SAFEGUARD | HITMARKER_IGNORE_ON_AIR
|
||||
| HITMARKER_IGNORE_UNDERGROUND | HITMARKER_IGNORE_UNDERWATER | HITMARKER_x100000
|
||||
| HITMARKER_OBEYS | HITMARKER_x10 | HITMARKER_SYNCHRONISE_EFFECT
|
||||
| HITMARKER_x8000000 | HITMARKER_x4000000);
|
||||
| HITMARKER_CHARGING | HITMARKER_x4000000);
|
||||
|
||||
gCurrentMove = 0;
|
||||
gBattleMoveDamage = 0;
|
||||
|
@ -16,6 +16,7 @@
|
||||
#include "string_util.h"
|
||||
#include "strings.h"
|
||||
#include "text.h"
|
||||
#include "trainer_hill.h"
|
||||
#include "window.h"
|
||||
#include "constants/battle_string_ids.h"
|
||||
#include "constants/items.h"
|
||||
@ -41,10 +42,6 @@ extern u8 gUnknown_0203C7B4;
|
||||
extern const u8 gTrainerClassNames[][13];
|
||||
extern const u16 gUnknown_08D85620[];
|
||||
|
||||
extern u8 GetTrainerHillOpponentClass(u16 trainerId); // pokenav
|
||||
extern void GetTrainerHillTrainerName(u8 *txtPtr, u16 trainerId); // pokenav
|
||||
extern void CopyTrainerHillTrainerText(u8 arg0, u16 trainerId); // pokenav
|
||||
|
||||
// this file's functions
|
||||
static void ChooseMoveUsedParticle(u8 *textPtr);
|
||||
static void ChooseTypeOfMoveUsedString(u8 *dst);
|
||||
|
@ -1446,7 +1446,7 @@ static void sub_81A84B4(void)
|
||||
u8 i;
|
||||
|
||||
for (i = 0; i < 14; i++)
|
||||
gSaveBlock2Ptr->frontier.field_CB4[i] |= 0xFFFF;
|
||||
gSaveBlock2Ptr->frontier.field_CB4[i] = 0xFFFF;
|
||||
}
|
||||
|
||||
static void sub_81A84EC(void)
|
||||
|
@ -1537,7 +1537,7 @@ void sub_81AA1D8(void)
|
||||
u8 var0, var1;
|
||||
|
||||
for (i = 0; i < 8; i++)
|
||||
gSaveBlock2Ptr->frontier.field_CB4[i] |= 0xFFFF;
|
||||
gSaveBlock2Ptr->frontier.field_CB4[i] = 0xFFFF;
|
||||
|
||||
id = sub_81AA9E4();
|
||||
sub_81AA33C(&var0, &var1);
|
||||
|
@ -8459,7 +8459,7 @@ static u8 AttacksThisTurn(u8 battlerId, u16 move) // Note: returns 1 if it's a c
|
||||
|| gBattleMoves[move].effect == EFFECT_SEMI_INVULNERABLE
|
||||
|| gBattleMoves[move].effect == EFFECT_BIDE)
|
||||
{
|
||||
if ((gHitMarker & HITMARKER_x8000000))
|
||||
if ((gHitMarker & HITMARKER_CHARGING))
|
||||
return 1;
|
||||
}
|
||||
return 2;
|
||||
|
@ -29,6 +29,7 @@
|
||||
#include "field_message_box.h"
|
||||
#include "sound.h"
|
||||
#include "strings.h"
|
||||
#include "trainer_hill.h"
|
||||
#include "secret_base.h"
|
||||
#include "string_util.h"
|
||||
#include "overworld.h"
|
||||
@ -61,18 +62,9 @@ struct TrainerBattleParameter
|
||||
u8 ptrType;
|
||||
};
|
||||
|
||||
extern bool32 InTrainerHill(void);
|
||||
extern void ClearPoisonStepCounter(void);
|
||||
extern void sub_808BCF4(void);
|
||||
extern void sub_80AF6F0(void);
|
||||
extern u16 sub_81D6180(u8 localId);
|
||||
extern bool8 GetTrainerHillTrainerFlag(u8 eventObjId);
|
||||
extern bool8 sub_81D5C18(void);
|
||||
extern void sub_81D639C(void);
|
||||
extern void sub_81D6384(void);
|
||||
extern void sub_81D61E8(void);
|
||||
extern void sub_80982B8(void);
|
||||
extern void CopyTrainerHillTrainerText(u8 a0, u16 arg1);
|
||||
|
||||
// this file's functions
|
||||
static void DoBattlePikeWildBattle(void);
|
||||
@ -1148,12 +1140,12 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data)
|
||||
{
|
||||
TrainerBattleLoadArgs(sOrdinaryBattleParams, data);
|
||||
SetMapVarsToTrainer();
|
||||
gTrainerBattleOpponent_A = sub_81D6180(gSpecialVar_LastTalked);
|
||||
gTrainerBattleOpponent_A = LocalIdToHillTrainerId(gSpecialVar_LastTalked);
|
||||
}
|
||||
else
|
||||
{
|
||||
TrainerBattleLoadArgs(sTrainerBOrdinaryBattleParams, data);
|
||||
gTrainerBattleOpponent_B = sub_81D6180(gSpecialVar_LastTalked);
|
||||
gTrainerBattleOpponent_B = LocalIdToHillTrainerId(gSpecialVar_LastTalked);
|
||||
}
|
||||
return EventScript_TryDoNormalTrainerBattle;
|
||||
default:
|
||||
@ -1215,7 +1207,7 @@ bool8 GetTrainerFlag(void)
|
||||
if (InBattlePyramid())
|
||||
return GetBattlePyramidTrainerFlag(gSelectedEventObject);
|
||||
else if (InTrainerHill())
|
||||
return GetTrainerHillTrainerFlag(gSelectedEventObject);
|
||||
return GetHillTrainerFlag(gSelectedEventObject);
|
||||
else
|
||||
return FlagGet(GetTrainerAFlag());
|
||||
}
|
||||
@ -1281,11 +1273,11 @@ void BattleSetup_StartTrainerBattle(void)
|
||||
gBattleTypeFlags |= BATTLE_TYPE_TRAINER_HILL;
|
||||
|
||||
if (gNoOfApproachingTrainers == 2)
|
||||
sub_81D639C();
|
||||
FillHillTrainersParties();
|
||||
else
|
||||
sub_81D6384();
|
||||
FillHillTrainerParty();
|
||||
|
||||
sub_81D61E8();
|
||||
SetHillTrainerFlag();
|
||||
}
|
||||
|
||||
sNoOfPossibleTrainerRetScripts = gNoOfApproachingTrainers;
|
||||
@ -1367,9 +1359,9 @@ void ShowTrainerIntroSpeech(void)
|
||||
else if (sub_81D5C18())
|
||||
{
|
||||
if (gNoOfApproachingTrainers == 0 || gNoOfApproachingTrainers == 1)
|
||||
CopyTrainerHillTrainerText(2, sub_81D6180(gSpecialVar_LastTalked));
|
||||
CopyTrainerHillTrainerText(2, LocalIdToHillTrainerId(gSpecialVar_LastTalked));
|
||||
else
|
||||
CopyTrainerHillTrainerText(2, sub_81D6180(gEventObjects[gApproachingTrainers[gApproachingTrainerId].eventObjectId].localId));
|
||||
CopyTrainerHillTrainerText(2, LocalIdToHillTrainerId(gEventObjects[gApproachingTrainers[gApproachingTrainerId].eventObjectId].localId));
|
||||
|
||||
sub_80982B8();
|
||||
}
|
||||
|
@ -1888,7 +1888,7 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount)
|
||||
else if (trainerId == TRAINER_EREADER)
|
||||
{
|
||||
for (i = firstMonId; i < firstMonId + 3; i++)
|
||||
sub_806819C(&gEnemyParty[i], &gSaveBlock2Ptr->frontier.ereaderTrainer.party[i - firstMonId]);
|
||||
CreateBattleTowerMon(&gEnemyParty[i], &gSaveBlock2Ptr->frontier.ereaderTrainer.party[i - firstMonId]);
|
||||
return;
|
||||
}
|
||||
else if (trainerId == TRAINER_FRONTIER_BRAIN)
|
||||
@ -1904,7 +1904,7 @@ static void FillTrainerParty(u16 trainerId, u8 firstMonId, u8 monCount)
|
||||
if (gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].party[j].species != 0
|
||||
&& gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].party[j].level <= level)
|
||||
{
|
||||
sub_8068338(&gEnemyParty[i], &gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].party[j], FALSE);
|
||||
CreateBattleTowerMon2(&gEnemyParty[i], &gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].party[j], FALSE);
|
||||
}
|
||||
}
|
||||
return;
|
||||
@ -2075,7 +2075,7 @@ static void FillFactoryFrontierTrainerParty(u16 trainerId, u8 firstMonId)
|
||||
else if (trainerId == TRAINER_EREADER)
|
||||
{
|
||||
for (i = firstMonId; i < firstMonId + 3; i++)
|
||||
sub_806819C(&gEnemyParty[i], &gSaveBlock2Ptr->frontier.ereaderTrainer.party[i - firstMonId]);
|
||||
CreateBattleTowerMon(&gEnemyParty[i], &gSaveBlock2Ptr->frontier.ereaderTrainer.party[i - firstMonId]);
|
||||
return;
|
||||
}
|
||||
else if (trainerId == TRAINER_FRONTIER_BRAIN)
|
||||
@ -2276,7 +2276,7 @@ void DoSpecialTrainerBattle(void)
|
||||
case SPECIAL_BATTLE_EREADER:
|
||||
ZeroEnemyPartyMons();
|
||||
for (i = 0; i < 3; i++)
|
||||
sub_806819C(&gEnemyParty[i], &gSaveBlock2Ptr->frontier.ereaderTrainer.party[i]);
|
||||
CreateBattleTowerMon(&gEnemyParty[i], &gSaveBlock2Ptr->frontier.ereaderTrainer.party[i]);
|
||||
gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_EREADER_TRAINER;
|
||||
gTrainerBattleOpponent_A = 0;
|
||||
CreateTask(Task_StartBattleAfterTransition, 1);
|
||||
@ -3258,7 +3258,7 @@ static void FillPartnerParty(u16 trainerId)
|
||||
if (monData.nickname[0] == EXT_CTRL_CODE_BEGIN && monData.nickname[1] == EXT_CTRL_CODE_JPN)
|
||||
trainerName[5] = EOS;
|
||||
}
|
||||
sub_8068338(&gPlayerParty[3 + i], &monData, TRUE);
|
||||
CreateBattleTowerMon2(&gPlayerParty[3 + i], &monData, TRUE);
|
||||
SetMonData(&gPlayerParty[3 + i], MON_DATA_OT_NAME, trainerName);
|
||||
j = IsFrontierTrainerFemale(trainerId + TRAINER_RECORD_MIXING_FRIEND);
|
||||
SetMonData(&gPlayerParty[3 + i], MON_DATA_OT_GENDER, &j);
|
||||
@ -3663,7 +3663,7 @@ static void FillTentTrainerParty_(u16 trainerId, u8 firstMonId, u8 monCount)
|
||||
}
|
||||
}
|
||||
|
||||
u8 sub_81660B8(u8 facilityClass)
|
||||
u8 FacilityClassToGraphicsId(u8 facilityClass)
|
||||
{
|
||||
u8 trainerObjectGfxId;
|
||||
u8 i;
|
||||
|
@ -3,21 +3,19 @@
|
||||
#include "battle_controllers.h"
|
||||
#include "alloc.h"
|
||||
#include "pokemon.h"
|
||||
#include "trainer_hill.h"
|
||||
#include "party_menu.h"
|
||||
#include "event_data.h"
|
||||
#include "constants/abilities.h"
|
||||
#include "random.h"
|
||||
#include "battle_scripts.h"
|
||||
|
||||
extern void sub_81D55D0(void);
|
||||
extern void sub_81D5694(void);
|
||||
|
||||
void AllocateBattleResources(void)
|
||||
{
|
||||
gBattleResources = gBattleResources; // something dumb needed to match
|
||||
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL)
|
||||
sub_81D55D0();
|
||||
InitTrainerHillBattleStruct();
|
||||
|
||||
gBattleStruct = AllocZeroed(sizeof(*gBattleStruct));
|
||||
|
||||
@ -47,7 +45,7 @@ void AllocateBattleResources(void)
|
||||
void FreeBattleResources(void)
|
||||
{
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL)
|
||||
sub_81D5694();
|
||||
FreeTrainerHillBattleStruct();
|
||||
|
||||
if (gBattleResources != NULL)
|
||||
{
|
||||
|
@ -20,6 +20,7 @@
|
||||
#include "sprite.h"
|
||||
#include "task.h"
|
||||
#include "trainer_see.h"
|
||||
#include "trainer_hill.h"
|
||||
#include "util.h"
|
||||
#include "constants/event_object_movement_constants.h"
|
||||
#include "constants/event_objects.h"
|
||||
|
@ -25,6 +25,7 @@
|
||||
#include "sound.h"
|
||||
#include "start_menu.h"
|
||||
#include "trainer_see.h"
|
||||
#include "trainer_hill.h"
|
||||
#include "wild_encounter.h"
|
||||
#include "constants/bg_event_constants.h"
|
||||
#include "constants/event_objects.h"
|
||||
|
@ -13,6 +13,7 @@
|
||||
#include "string_util.h"
|
||||
#include "strings.h"
|
||||
#include "task.h"
|
||||
#include "trainer_hill.h"
|
||||
#include "constants/species.h"
|
||||
|
||||
static bool32 IsMonValidSpecies(struct Pokemon *pokemon)
|
||||
|
@ -11,6 +11,7 @@
|
||||
#include "pokenav.h"
|
||||
#include "script.h"
|
||||
#include "secret_base.h"
|
||||
#include "trainer_hill.h"
|
||||
#include "tv.h"
|
||||
#include "constants/rgb.h"
|
||||
|
||||
|
@ -1827,7 +1827,7 @@ void sub_81A3ACC(void)
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 20; i++)
|
||||
gSaveBlock2Ptr->frontier.field_CB4[i] |= 0xFFFF;
|
||||
gSaveBlock2Ptr->frontier.field_CB4[i] = 0xFFFF;
|
||||
}
|
||||
|
||||
static void sub_81A3B00(void)
|
||||
|
@ -4524,7 +4524,7 @@ void sub_80115EC(s32 a0)
|
||||
if ((a0 >> i) & 1)
|
||||
{
|
||||
gUnknown_03005000.unk_cea[i] = 0;
|
||||
gUnknown_03005000.unk_cee[i] |= 0xFF;
|
||||
gUnknown_03005000.unk_cee[i] = 0xFF;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -8,13 +8,12 @@
|
||||
#include "pokemon_storage_system.h"
|
||||
#include "random.h"
|
||||
#include "save_location.h"
|
||||
#include "trainer_hill.h"
|
||||
#include "gba/flash_internal.h"
|
||||
#include "decoration_inventory.h"
|
||||
|
||||
static void ApplyNewEncryptionKeyToAllEncryptedData(u32 encryptionKey);
|
||||
|
||||
extern void* gUnknown_0203CF5C;
|
||||
|
||||
extern bool16 IdentifyFlash(void);
|
||||
extern void ApplyNewEncryptionKeyToBerryPowder(u32 key);
|
||||
|
||||
|
@ -22,10 +22,10 @@
|
||||
#include "text.h"
|
||||
#include "intro.h"
|
||||
#include "main.h"
|
||||
#include "trainer_hill.h"
|
||||
|
||||
extern void sub_800B9B8(void);
|
||||
extern u8 gUnknown_03002748;
|
||||
extern u32 *gUnknown_0203CF5C;
|
||||
|
||||
static void VBlankIntr(void);
|
||||
static void HBlankIntr(void);
|
||||
|
@ -17,6 +17,7 @@
|
||||
#include "easy_chat.h"
|
||||
#include "event_data.h"
|
||||
#include "money.h"
|
||||
#include "trainer_hill.h"
|
||||
#include "tv.h"
|
||||
#include "coins.h"
|
||||
#include "text.h"
|
||||
@ -49,7 +50,6 @@ extern void copy_strings_to_sav1(void);
|
||||
extern void InitMatchCallCounters(void);
|
||||
extern void sub_801AFD8(void);
|
||||
extern void sub_800E5AC(void);
|
||||
extern void sub_81D54BC(void);
|
||||
extern void ResetContestLinkResults(void);
|
||||
extern void ResetPokeJumpResults(void);
|
||||
extern void SetBerryPowder(u32* powder, u32 newValue);
|
||||
@ -212,7 +212,7 @@ void NewGameInitData(void)
|
||||
InitMatchCallCounters();
|
||||
sub_801AFD8();
|
||||
sub_800E5AC();
|
||||
sub_81D54BC();
|
||||
ResetTrainerHillResults();
|
||||
ResetContestLinkResults();
|
||||
}
|
||||
|
||||
|
@ -19,7 +19,6 @@
|
||||
#include "field_tasks.h"
|
||||
#include "field_weather.h"
|
||||
#include "fieldmap.h"
|
||||
// #include "fldeff_flash.h"
|
||||
#include "gpu_regs.h"
|
||||
#include "heal_location.h"
|
||||
#include "link.h"
|
||||
@ -50,6 +49,7 @@
|
||||
#include "task.h"
|
||||
// #include "tileset_anim.h"
|
||||
#include "time_events.h"
|
||||
#include "trainer_hill.h"
|
||||
#include "tv.h"
|
||||
#include "scanline_effect.h"
|
||||
#include "wild_encounter.h"
|
||||
@ -106,7 +106,6 @@ extern void apply_map_tileset2_palette(const struct MapLayout *);
|
||||
extern void copy_map_tileset2_to_vram_2(const struct MapLayout *);
|
||||
extern void RestartWildEncounterImmunitySteps(void);
|
||||
extern void ShowMapNamePopup(void);
|
||||
extern bool32 InTrainerHill(void);
|
||||
extern bool32 sub_808651C(void);
|
||||
extern bool8 sub_80AF6A4(void);
|
||||
extern bool8 sub_80E909C(void);
|
||||
@ -129,14 +128,11 @@ extern void WriteFlashScanlineEffectBuffer(u8);
|
||||
extern void sub_81AA2F8(void);
|
||||
extern void InitMatchCallCounters(void);
|
||||
extern void sub_80EDB44(void);
|
||||
extern void sub_81D64C0(void);
|
||||
extern void InitFieldMessageBox(void);
|
||||
extern void copy_map_tileset1_to_vram(const struct MapLayout *);
|
||||
extern void copy_map_tileset2_to_vram(const struct MapLayout *);
|
||||
extern void FieldUpdateBgTilemapScroll(void);
|
||||
extern void TransferTilesetAnimsBuffer(void);
|
||||
extern bool32 sub_81D5F48(void);
|
||||
extern u8 GetCurrentTrainerHillMapId(void);
|
||||
extern bool8 warp0_in_pokecenter(void);
|
||||
extern void ResetAllPicSprites(void);
|
||||
extern void FieldEffectActiveListClear(void);
|
||||
|
@ -1563,7 +1563,7 @@ static void InitPartyMenu(u8 a, u8 b, u8 c, u8 d, u8 e, TaskFunc task, MainCallb
|
||||
for (i = 0; i <= 15; i++)
|
||||
gUnknown_0203CEC4->data[i] = 0;
|
||||
for (i = 0; i < 3; i++)
|
||||
gUnknown_0203CEC4->unkC[i] |= 0xFF;
|
||||
gUnknown_0203CEC4->unkC[i] = 0xFF;
|
||||
|
||||
if (d == 0)
|
||||
gUnknown_0203CEC8.unk9 = 0;
|
||||
@ -1851,10 +1851,10 @@ static void PartyMenuInitHelperStructs(u8 a)
|
||||
gUnknown_0203CEDC[i].unk0 = &gUnknown_086156C4[1];
|
||||
gUnknown_0203CEDC[i].unk4 = gUnknown_08615704[a][i];
|
||||
gUnknown_0203CEDC[i].windowId = i;
|
||||
gUnknown_0203CEDC[i].unk9 |= 0xFF;
|
||||
gUnknown_0203CEDC[i].unkA |= 0xFF;
|
||||
gUnknown_0203CEDC[i].unkB |= 0xFF;
|
||||
gUnknown_0203CEDC[i].unkC |= 0xFF;
|
||||
gUnknown_0203CEDC[i].unk9 = 0xFF;
|
||||
gUnknown_0203CEDC[i].unkA = 0xFF;
|
||||
gUnknown_0203CEDC[i].unkB = 0xFF;
|
||||
gUnknown_0203CEDC[i].unkC = 0xFF;
|
||||
}
|
||||
gUnknown_0203CEDC[0].unk0 = &gUnknown_086156C4[0];
|
||||
if (a == 3)
|
||||
|
@ -1264,7 +1264,7 @@ static void ResetPokedexView(struct PokedexView *pokedexView)
|
||||
|
||||
for (i = 0; i < NATIONAL_DEX_COUNT; i++)
|
||||
{
|
||||
pokedexView->pokedexList[i].dexNum |= 0xFFFF;
|
||||
pokedexView->pokedexList[i].dexNum = 0xFFFF;
|
||||
pokedexView->pokedexList[i].seen = 0;
|
||||
pokedexView->pokedexList[i].owned = 0;
|
||||
}
|
||||
@ -1281,7 +1281,7 @@ static void ResetPokedexView(struct PokedexView *pokedexView)
|
||||
pokedexView->seenCount = 0;
|
||||
pokedexView->ownCount = 0;
|
||||
for (i = 0; i < 4; i++)
|
||||
pokedexView->unk61E[i] |= 0xFFFF;
|
||||
pokedexView->unk61E[i] = 0xFFFF;
|
||||
pokedexView->unk628 = 0;
|
||||
pokedexView->unk62A = 0;
|
||||
pokedexView->unk62C = 0;
|
||||
@ -2030,7 +2030,7 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode)
|
||||
|
||||
for (i = sPokedexView->pokemonListCount; i < NATIONAL_DEX_COUNT; i++)
|
||||
{
|
||||
sPokedexView->pokedexList[i].dexNum |= 0xFFFF;
|
||||
sPokedexView->pokedexList[i].dexNum = 0xFFFF;
|
||||
sPokedexView->pokedexList[i].seen = FALSE;
|
||||
sPokedexView->pokedexList[i].owned = FALSE;
|
||||
}
|
||||
@ -2437,7 +2437,7 @@ u8 sub_80BDA40(void)
|
||||
if (sPokedexView->unk61E[i] != 0xFFFF)
|
||||
{
|
||||
FreeAndDestroyMonPicSprite(sPokedexView->unk61E[i]);
|
||||
sPokedexView->unk61E[i] |= 0xFFFF;
|
||||
sPokedexView->unk61E[i] = 0xFFFF;
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
|
@ -22,7 +22,6 @@
|
||||
#include "pokemon_animation.h"
|
||||
#include "pokemon_summary_screen.h"
|
||||
#include "pokemon_storage_system.h"
|
||||
#include "pokenav.h"
|
||||
#include "random.h"
|
||||
#include "recorded_battle.h"
|
||||
#include "rtc.h"
|
||||
@ -31,6 +30,7 @@
|
||||
#include "strings.h"
|
||||
#include "task.h"
|
||||
#include "text.h"
|
||||
#include "trainer_hill.h"
|
||||
#include "util.h"
|
||||
#include "constants/abilities.h"
|
||||
#include "constants/battle_frontier.h"
|
||||
@ -74,7 +74,6 @@ extern const u8 gTrainerClassNames[][13];
|
||||
extern u16 get_unknown_box_id(void);
|
||||
extern void set_unknown_box_id(u8);
|
||||
extern bool8 sub_806F104(void);
|
||||
extern u8 sub_81D63C8(u16 trainerOpponentId);
|
||||
|
||||
// this file's functions
|
||||
static u16 CalculateBoxMonChecksum(struct BoxPokemon *boxMon);
|
||||
@ -2745,7 +2744,7 @@ void CreateMonWithEVSpread(struct Pokemon *mon, u16 species, u8 level, u8 fixedI
|
||||
CalculateMonStats(mon);
|
||||
}
|
||||
|
||||
void sub_806819C(struct Pokemon *mon, struct BattleTowerPokemon *src)
|
||||
void CreateBattleTowerMon(struct Pokemon *mon, struct BattleTowerPokemon *src)
|
||||
{
|
||||
s32 i;
|
||||
u8 nickname[30];
|
||||
@ -2799,7 +2798,7 @@ void sub_806819C(struct Pokemon *mon, struct BattleTowerPokemon *src)
|
||||
CalculateMonStats(mon);
|
||||
}
|
||||
|
||||
void sub_8068338(struct Pokemon *mon, struct BattleTowerPokemon *src, bool8 lvl50)
|
||||
void CreateBattleTowerMon2(struct Pokemon *mon, struct BattleTowerPokemon *src, bool8 lvl50)
|
||||
{
|
||||
s32 i;
|
||||
u8 nickname[30];
|
||||
@ -6083,7 +6082,7 @@ u8 GetTrainerEncounterMusicId(u16 trainerOpponentId)
|
||||
if (InBattlePyramid())
|
||||
return GetTrainerEncounterMusicIdInBattlePyramind(trainerOpponentId);
|
||||
else if (sub_81D5C18())
|
||||
return sub_81D63C8(trainerOpponentId);
|
||||
return GetTrainerEncounterMusicIdInTrainerHill(trainerOpponentId);
|
||||
else
|
||||
return TRAINER_ENCOUNTER_MUSIC(trainerOpponentId);
|
||||
}
|
||||
|
@ -124,7 +124,7 @@ void sub_8184DA4(u8 arg0)
|
||||
{
|
||||
for (j = 0; j < BATTLER_RECORD_SIZE; j++)
|
||||
{
|
||||
sBattleRecords[i][j] |= 0xFF;
|
||||
sBattleRecords[i][j] = 0xFF;
|
||||
}
|
||||
sBattleFlags = gBattleTypeFlags;
|
||||
sAI_Scripts = gBattleResources->ai->aiFlags;
|
||||
@ -206,7 +206,7 @@ void RecordedBattle_ClearBattlerAction(u8 battlerId, u8 bytesToClear)
|
||||
for (i = 0; i < bytesToClear; i++)
|
||||
{
|
||||
sRecordedBytesNo[battlerId]--;
|
||||
sBattleRecords[battlerId][sRecordedBytesNo[battlerId]] |= 0xFF;
|
||||
sBattleRecords[battlerId][sRecordedBytesNo[battlerId]] = 0xFF;
|
||||
if (sRecordedBytesNo[battlerId] == 0)
|
||||
break;
|
||||
}
|
||||
|
@ -82,7 +82,7 @@ bool32 sub_8034C54(u32 count)
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
gUnknown_02022E10->array[i].isActive = FALSE;
|
||||
gUnknown_02022E10->array[i].firstOamId |= 0xFF;
|
||||
gUnknown_02022E10->array[i].firstOamId = 0xFF;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
|
@ -7,6 +7,7 @@
|
||||
#include "overworld.h"
|
||||
#include "pokemon_storage_system.h"
|
||||
#include "main.h"
|
||||
#include "trainer_hill.h"
|
||||
#include "constants/game_stat.h"
|
||||
|
||||
static u16 CalculateChecksum(void *data, u16 size);
|
||||
@ -17,10 +18,6 @@ static u8 ClearSaveData_2(u16 a1, const struct SaveSectionLocation *location);
|
||||
static u8 TryWriteSector(u8 sector, u8 *data);
|
||||
static u8 HandleWriteSector(u16 a1, const struct SaveSectionLocation *location);
|
||||
|
||||
// for the chunk declarations
|
||||
|
||||
extern u32 gUnknown_0203CF5C;
|
||||
|
||||
// Divide save blocks into individual chunks to be written to flash sectors
|
||||
|
||||
// Each 4 KiB flash sector contains 3968 bytes of actual data followed by a 128 byte footer
|
||||
@ -662,10 +659,10 @@ static void UpdateSaveAddresses(void)
|
||||
u8 HandleSavingData(u8 saveType)
|
||||
{
|
||||
u8 i;
|
||||
u32 backupVar = gUnknown_0203CF5C;
|
||||
u32 *backupVar = gUnknown_0203CF5C;
|
||||
u8 *tempAddr;
|
||||
|
||||
gUnknown_0203CF5C = 0;
|
||||
gUnknown_0203CF5C = NULL;
|
||||
UpdateSaveAddresses();
|
||||
switch (saveType)
|
||||
{
|
||||
|
@ -782,10 +782,10 @@ const struct MenuAction MultichoiceList_112[] =
|
||||
|
||||
const struct MenuAction MultichoiceList_113[] =
|
||||
{
|
||||
{gUnknown_085EB32D, NULL},
|
||||
{gUnknown_085EB33E, NULL},
|
||||
{gUnknown_085EB350, NULL},
|
||||
{gUnknown_085EB361, NULL},
|
||||
{gText_NormalTagMatch, NULL},
|
||||
{gText_VarietyTagMatch, NULL},
|
||||
{gText_UniqueTagMatch, NULL},
|
||||
{gText_ExpertTagMatch, NULL},
|
||||
{gText_Exit, NULL},
|
||||
};
|
||||
|
||||
@ -1407,7 +1407,7 @@ static void sub_80E2578(void)
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(gUnknown_03001124); i++)
|
||||
{
|
||||
gUnknown_03001124[i] |= 0xFF;
|
||||
gUnknown_03001124[i] = 0xFF;
|
||||
}
|
||||
|
||||
GetFontAttribute(1, FONTATTR_MAX_LETTER_WIDTH);
|
||||
|
@ -252,7 +252,7 @@ const u8 gText_ThePokemonList[] = _("the POKéMON LIST");
|
||||
const u8 gText_TheShop[] = _("the shop");
|
||||
const u8 gText_ThePC[] = _("the PC");
|
||||
|
||||
const u8 *const gReturnToXStringsTable[] =
|
||||
const u8 *const gReturnToXStringsTable[] =
|
||||
{
|
||||
gText_TheField,
|
||||
gText_TheBattle,
|
||||
@ -268,7 +268,7 @@ const u8 *const gReturnToXStringsTable[] =
|
||||
gText_ThePC
|
||||
};
|
||||
|
||||
const u8 *const gReturnToXStringsTable2[] =
|
||||
const u8 *const gReturnToXStringsTable2[] =
|
||||
{
|
||||
gText_TheField,
|
||||
gText_TheBattle,
|
||||
@ -283,7 +283,7 @@ const u8 gText_TMHMPocket[] = _("TMs & HMs");
|
||||
const u8 gText_BerriesPocket[] = _("BERRIES");
|
||||
const u8 gText_KeyItemsPocket[] = _("KEY ITEMS");
|
||||
|
||||
const u8 *const gPocketNamesStringsTable[] =
|
||||
const u8 *const gPocketNamesStringsTable[] =
|
||||
{
|
||||
gText_ItemsPocket,
|
||||
gText_PokeBallsPocket,
|
||||
@ -749,10 +749,10 @@ const u8 gUnknown_085EB2FF[] = _("I'll battle now!");
|
||||
const u8 gUnknown_085EB310[] = _("I won!");
|
||||
const u8 gUnknown_085EB317[] = _("I lost!");
|
||||
const u8 gUnknown_085EB31F[] = _("I won't tell.");
|
||||
const u8 gUnknown_085EB32D[] = _("NORMAL TAG MATCH");
|
||||
const u8 gUnknown_085EB33E[] = _("VARIETY TAG MATCH");
|
||||
const u8 gUnknown_085EB350[] = _("UNIQUE TAG MATCH");
|
||||
const u8 gUnknown_085EB361[] = _("EXPERT TAG MATCH");
|
||||
const u8 gText_NormalTagMatch[] = _("NORMAL TAG MATCH");
|
||||
const u8 gText_VarietyTagMatch[] = _("VARIETY TAG MATCH");
|
||||
const u8 gText_UniqueTagMatch[] = _("UNIQUE TAG MATCH");
|
||||
const u8 gText_ExpertTagMatch[] = _("EXPERT TAG MATCH");
|
||||
const u8 gUnknown_085EB372[] = _("TRADE CENTER");
|
||||
const u8 gUnknown_085EB37F[] = _("COLOSSEUM");
|
||||
const u8 gUnknown_085EB389[] = _("RECORD CORNER");
|
||||
@ -1737,10 +1737,10 @@ const u8 gText_Lv[] = _("{LV}");
|
||||
const u8 gText_TimeBoard[] = _("TIME BOARD");
|
||||
const u8 gText_TimeCleared[] = _("TIME CLEARED ");
|
||||
const u8 gText_XMinYDotZSec[] = _("{STR_VAR_1} min. {STR_VAR_2}.{STR_VAR_3} sec.");
|
||||
const u8 gUnknown_085EF8B6[] = _("1F");
|
||||
const u8 gUnknown_085EF8B9[] = _("2F");
|
||||
const u8 gUnknown_085EF8BC[] = _("3F");
|
||||
const u8 gUnknown_085EF8BF[] = _("4F");
|
||||
const u8 gText_TrainerHill1F[] = _("1F");
|
||||
const u8 gText_TrainerHill2F[] = _("2F");
|
||||
const u8 gText_TrainerHill3F[] = _("3F");
|
||||
const u8 gText_TrainerHill4F[] = _("4F");
|
||||
const u8 gText_TeachWhichMoveToPkmn[] = _("Teach which move to {STR_VAR_1}?");
|
||||
const u8 gText_TeachX[] = _("Teach {STR_VAR_2}?");
|
||||
const u8 gText_PkmnLearnedMove4[] = _("{STR_VAR_1} learned\n{STR_VAR_2}!");
|
||||
|
1121
src/trainer_hill.c
Normal file
1121
src/trainer_hill.c
Normal file
File diff suppressed because it is too large
Load Diff
@ -109,7 +109,7 @@ static void LoadPicPaletteByTagOrSlot(u16 species, u32 otId, u32 personality, u8
|
||||
{
|
||||
if (paletteTag == 0xFFFF)
|
||||
{
|
||||
sCreatingSpriteTemplate.paletteTag |= 0xFFFF;
|
||||
sCreatingSpriteTemplate.paletteTag = 0xFFFF;
|
||||
LoadCompressedPalette(GetFrontSpritePalFromSpeciesAndPersonality(species, otId, personality), 0x100 + paletteSlot * 0x10, 0x20);
|
||||
}
|
||||
else
|
||||
@ -122,7 +122,7 @@ static void LoadPicPaletteByTagOrSlot(u16 species, u32 otId, u32 personality, u8
|
||||
{
|
||||
if (paletteTag == 0xFFFF)
|
||||
{
|
||||
sCreatingSpriteTemplate.paletteTag |= 0xFFFF;
|
||||
sCreatingSpriteTemplate.paletteTag = 0xFFFF;
|
||||
LoadCompressedPalette(gTrainerFrontPicPaletteTable[species].data, 0x100 + paletteSlot * 0x10, 0x20);
|
||||
}
|
||||
else
|
||||
|
@ -6,18 +6,16 @@
|
||||
#include "field_effect.h"
|
||||
#include "field_player_avatar.h"
|
||||
#include "pokemon.h"
|
||||
#include "pokenav.h"
|
||||
#include "script.h"
|
||||
#include "script_movement.h"
|
||||
#include "sprite.h"
|
||||
#include "task.h"
|
||||
#include "trainer_see.h"
|
||||
#include "trainer_hill.h"
|
||||
#include "util.h"
|
||||
#include "battle_pyramid.h"
|
||||
#include "constants/field_effects.h"
|
||||
|
||||
extern bool32 InTrainerHill(void);
|
||||
extern bool8 GetTrainerHillTrainerFlag(u8 eventObjectId);
|
||||
extern void sub_809BE48(u16 npcId);
|
||||
|
||||
// this file's functions
|
||||
@ -240,7 +238,7 @@ static u8 CheckTrainer(u8 eventObjectId)
|
||||
}
|
||||
else if (InTrainerHill() == TRUE)
|
||||
{
|
||||
if (GetTrainerHillTrainerFlag(eventObjectId))
|
||||
if (GetHillTrainerFlag(eventObjectId))
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
|
@ -289,13 +289,5 @@ gUnknown_0203CF4C: @ 203CF4C
|
||||
gUnknown_0203CF50: @ 203CF50
|
||||
.space 0x4
|
||||
|
||||
gUnknown_0203CF54: @ 203CF54
|
||||
.space 0x4
|
||||
|
||||
gUnknown_0203CF58: @ 203CF58
|
||||
.space 0x4
|
||||
|
||||
gUnknown_0203CF5C: @ 203CF5C
|
||||
.space 0x4
|
||||
|
||||
.include "src/trainer_hill.o"
|
||||
.include "src/rayquaza_scene.o"
|
||||
|
Loading…
Reference in New Issue
Block a user