Port/decompile field_control_avatar

This commit is contained in:
Diegoisawesome 2018-10-16 21:47:08 -05:00
parent ed1bb3030b
commit e75f0b4f80
56 changed files with 1277 additions and 2676 deletions

File diff suppressed because it is too large Load Diff

View File

@ -10499,7 +10499,7 @@ sub_81B5958: @ 81B5958
thumb_func_start sub_81B5974 thumb_func_start sub_81B5974
sub_81B5974: @ 81B5974 sub_81B5974: @ 81B5974
push {lr} push {lr}
bl sub_809D1E8 bl TrySetDiveWarp
ldr r1, =gFieldEffectArguments ldr r1, =gFieldEffectArguments
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24

View File

@ -0,0 +1 @@
gSelectedEventObject

View File

@ -431,7 +431,7 @@ gStdScripts_End:: @ 81DC2CC
.include "data/maps/SecretBase_YellowCave3/scripts.inc" .include "data/maps/SecretBase_YellowCave3/scripts.inc"
.include "data/maps/SecretBase_YellowCave4/scripts.inc" .include "data/maps/SecretBase_YellowCave4/scripts.inc"
gUnknown_0823B4BB:: @ 823B4BB EventScript_SecretBasePC:: @ 823B4BB
lockall lockall
playse 2 playse 2
message Text_276805 message Text_276805
@ -492,7 +492,7 @@ EventScript_23B585:: @ 823B585
special sub_80E9C88 special sub_80E9C88
end end
gUnknown_0823B589:: @ 823B589 EventScript_RecordMixingSecretBasePC:: @ 823B589
lockall lockall
message Text_276805 message Text_276805
playse 2 playse 2
@ -581,13 +581,13 @@ EventScript_23B680:: @ 823B680
special sub_80EBB28 special sub_80EBB28
end end
gUnknown_0823B684:: @ 823B684 EventScript_SecretBaseSandOrnament:: @ 823B684
special sub_80EBE7C special sub_80EBE7C
dofieldeffect 52 dofieldeffect 52
waitstate waitstate
end end
gUnknown_0823B68C:: @ 823B68C EventScript_SecretBaseShieldOrToyTV:: @ 823B68C
special sub_80FAC78 special sub_80FAC78
compare VAR_RESULT, 0 compare VAR_RESULT, 0
goto_eq EventScript_23B6BC goto_eq EventScript_23B6BC
@ -1685,7 +1685,7 @@ EventScript_271CA1:: @ 8271CA1
setvar VAR_RESULT, 0 setvar VAR_RESULT, 0
return return
EventScript_271CB7:: @ 8271CB7 EventScript_HiddenItemScript:: @ 8271CB7
lockall lockall
waitse waitse
giveitem VAR_0x8005, 1 giveitem VAR_0x8005, 1
@ -1761,7 +1761,7 @@ EventScript_271D89:: @ 8271D89
release release
end end
EventScript_271D92:: @ 8271D92 EventScript_PC:: @ 8271D92
lockall lockall
setvar VAR_0x8004, 0 setvar VAR_0x8004, 0
special DoPCTurnOnEffect special DoPCTurnOnEffect
@ -1902,7 +1902,7 @@ Route109_EventScript_271E95:: @ 8271E95
setvar VAR_0x4096, 0 setvar VAR_0x4096, 0
return return
EventScript_271EA0:: @ 8271EA0 EventScript_UseSurf:: @ 8271EA0
checkpartymove MOVE_SURF checkpartymove MOVE_SURF
compare VAR_RESULT, 6 compare VAR_RESULT, 6
goto_eq EventScript_271ED6 goto_eq EventScript_271ED6
@ -2201,7 +2201,7 @@ SSTidalRooms_EventScript_272083:: @ 8272083
fadescreen 0 fadescreen 0
return return
EventScript_27208F:: @ 827208F EventScript_RegionMap:: @ 827208F
lockall lockall
msgbox LittlerootTown_BrendansHouse_2F_Text_1F8820, 4 msgbox LittlerootTown_BrendansHouse_2F_Text_1F8820, 4
fadescreen 1 fadescreen 1
@ -3074,31 +3074,31 @@ Movement_2725CB:: @ 82725CB
walk_up walk_up
step_end step_end
EventScript_2725CE:: @ 82725CE EventScript_PictureBookShelf:: @ 82725CE
msgbox Text_2A81E5, 3 msgbox Text_2A81E5, 3
end end
EventScript_2725D7:: @ 82725D7 EventScript_BookShelf:: @ 82725D7
msgbox Text_2A820D, 3 msgbox Text_2A820D, 3
end end
EventScript_2725E0:: @ 82725E0 EventScript_PokemonCenterBookshelf:: @ 82725E0
msgbox Text_2A8232, 3 msgbox Text_2A8232, 3
end end
EventScript_2725E9:: @ 82725E9 EventScript_Vase:: @ 82725E9
msgbox Text_2A8276, 3 msgbox Text_2A8276, 3
end end
EventScript_2725F2:: @ 82725F2 EventScript_TrashCan:: @ 82725F2
msgbox Text_2A82B3, 3 msgbox Text_2A82B3, 3
end end
EventScript_2725FB:: @ 82725FB EventScript_ShopShelf:: @ 82725FB
msgbox Text_2A82BF, 3 msgbox Text_2A82BF, 3
end end
EventScript_272604:: @ 8272604 EventScript_Blueprint:: @ 8272604
msgbox Text_2A82F7, 3 msgbox Text_2A82F7, 3
end end
@ -3322,7 +3322,7 @@ EventScript_2736B3:: @ 82736B3
msgbox gUnknown_08272C98, 3 msgbox gUnknown_08272C98, 3
end end
EventScript_2736BC:: @ 82736BC EventScript_Poison:: @ 82736BC
lockall lockall
special sub_80F972C special sub_80F972C
waitstate waitstate
@ -3565,7 +3565,7 @@ RustboroCity_DevonCorp_2F_EventScript_273811:: @ 8273811
release release
end end
EventScript_27381B:: @ 827381B EventScript_Questionnaire:: @ 827381B
lockall lockall
msgbox gUnknown_0827339F, 5 msgbox gUnknown_0827339F, 5
compare VAR_RESULT, 0 compare VAR_RESULT, 0
@ -5859,7 +5859,7 @@ EventScript_2926F8:: @ 82926F8
.include "data/scripts/players_house.inc" .include "data/scripts/players_house.inc"
EventScript_292DE5:: @ 8292DE5 EventScript_RunningShoesManual:: @ 8292DE5
msgbox LittlerootTown_BrendansHouse_1F_Text_1F7F66, 3 msgbox LittlerootTown_BrendansHouse_1F_Text_1F7F66, 3
end end
@ -6010,7 +6010,7 @@ MirageTower_3F_MapScript2_2A8327: @ 82A8327
MtPyre_2F_MapScript2_2A8327: @ 82A8327 MtPyre_2F_MapScript2_2A8327: @ 82A8327
SkyPillar_2F_MapScript2_2A8327: @ 82A8327 SkyPillar_2F_MapScript2_2A8327: @ 82A8327
SkyPillar_4F_MapScript2_2A8327: @ 82A8327 SkyPillar_4F_MapScript2_2A8327: @ 82A8327
map_script_2 VAR_ICE_STEP_COUNT, 0, gUnknown_082A8337 map_script_2 VAR_ICE_STEP_COUNT, 0, EventScript_FallDownHole
.2byte 0 .2byte 0
GraniteCave_B1F_MapScript1_2A8331: @ 82A8331 GraniteCave_B1F_MapScript1_2A8331: @ 82A8331
@ -6020,7 +6020,7 @@ MtPyre_2F_MapScript1_2A8331: @ 82A8331
copyvar VAR_ICE_STEP_COUNT, 0x1 copyvar VAR_ICE_STEP_COUNT, 0x1
end end
gUnknown_082A8337:: @ 82A8337 EventScript_FallDownHole:: @ 82A8337
lockall lockall
delay 20 delay 20
applymovement 255, GraniteCave_B1F_Movement_2A8369 applymovement 255, GraniteCave_B1F_Movement_2A8369
@ -11691,7 +11691,7 @@ TrainerHill_Roof_MapScript2_2C8381: @ 82C8381
map_script_2 VAR_TEMP_1, 1, TrainerHill_1F_EventScript_2C83DF map_script_2 VAR_TEMP_1, 1, TrainerHill_1F_EventScript_2C83DF
.2byte 0 .2byte 0
TrainerHill_1F_EventScript_2C8393:: @ 82C8393 EventScript_TrainerHillTimer:: @ 82C8393
lockall lockall
setvar VAR_0x8004, 7 setvar VAR_0x8004, 7
special sp194_trainer_tower special sp194_trainer_tower

View File

@ -20,7 +20,7 @@ LittlerootTown_BrendansHouse_2F_MapWarps: @ 852D320
warp_def 7, 1, 0, 2, MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F warp_def 7, 1, 0, 2, MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F
LittlerootTown_BrendansHouse_2F_MapBGEvents: @ 852D328 LittlerootTown_BrendansHouse_2F_MapBGEvents: @ 852D328
bg_event 0, 1, 0, BG_EVENT_PLAYER_FACING_NORTH, gUnknown_081F860D bg_event 0, 1, 0, BG_EVENT_PLAYER_FACING_NORTH, EventScript_PlayerPCMale
bg_event 1, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_BrendansHouse_2F_EventScript_1F8656 bg_event 1, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_BrendansHouse_2F_EventScript_1F8656
bg_event 5, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_BrendansHouse_2F_EventScript_292781 bg_event 5, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_BrendansHouse_2F_EventScript_292781
bg_event 3, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_BrendansHouse_2F_EventScript_1F865F bg_event 3, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_BrendansHouse_2F_EventScript_1F865F

View File

@ -245,7 +245,7 @@ LittlerootTown_BrendansHouse_2F_Movement_1F8609: @ 81F8609
walk_in_place_fastest_left walk_in_place_fastest_left
step_end step_end
gUnknown_081F860D:: @ 81F860D EventScript_PlayerPCMale:: @ 81F860D
lockall lockall
checkplayergender checkplayergender
compare VAR_RESULT, 0 compare VAR_RESULT, 0

View File

@ -23,7 +23,7 @@ LittlerootTown_MaysHouse_2F_MapBGEvents: @ 852D608
bg_event 5, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_MaysHouse_2F_EventScript_1F865F bg_event 5, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_MaysHouse_2F_EventScript_1F865F
bg_event 7, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_MaysHouse_2F_EventScript_1F8656 bg_event 7, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_MaysHouse_2F_EventScript_1F8656
bg_event 3, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_MaysHouse_2F_EventScript_29278D bg_event 3, 1, 0, BG_EVENT_PLAYER_FACING_ANY, LittlerootTown_MaysHouse_2F_EventScript_29278D
bg_event 8, 1, 0, BG_EVENT_PLAYER_FACING_ANY, gUnknown_081F9553 bg_event 8, 1, 0, BG_EVENT_PLAYER_FACING_ANY, EventScript_PlayerPCFemale
LittlerootTown_MaysHouse_2F_MapEvents:: @ 852D638 LittlerootTown_MaysHouse_2F_MapEvents:: @ 852D638
map_events LittlerootTown_MaysHouse_2F_EventObjects, LittlerootTown_MaysHouse_2F_MapWarps, 0x0, LittlerootTown_MaysHouse_2F_MapBGEvents map_events LittlerootTown_MaysHouse_2F_EventObjects, LittlerootTown_MaysHouse_2F_MapWarps, 0x0, LittlerootTown_MaysHouse_2F_MapBGEvents

View File

@ -301,7 +301,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F954A:: @ 81F954A
msgbox LittlerootTown_BrendansHouse_2F_Text_1F9BE7, 4 msgbox LittlerootTown_BrendansHouse_2F_Text_1F9BE7, 4
return return
gUnknown_081F9553:: @ 81F9553 EventScript_PlayerPCFemale:: @ 81F9553
lockall lockall
checkplayergender checkplayergender
compare VAR_RESULT, 0 compare VAR_RESULT, 0

View File

@ -927,7 +927,7 @@ SootopolisCity_EventScript_1E6154:: @ 81E6154
msgbox SootopolisCity_Text_1E65C8, 3 msgbox SootopolisCity_Text_1E65C8, 3
end end
SootopolisCity_EventScript_1E615D:: @ 81E615D EventScript_ClosedSootopolisDoor:: @ 81E615D
msgbox SootopolisCity_Text_1E6604, 3 msgbox SootopolisCity_Text_1E6604, 3
end end

View File

@ -474,7 +474,7 @@ OldaleTown_PokemonCenter_2F_EventScript_276FBD:: @ 8276FBD
release release
compare VAR_0x8004, 5 compare VAR_0x8004, 5
goto_eq OldaleTown_PokemonCenter_2F_EventScript_277036 goto_eq OldaleTown_PokemonCenter_2F_EventScript_277036
special sub_809D2BC special SetCableClubWarp
warp MAP_SINGLE_BATTLE_COLOSSEUM, 255, 6, 8 warp MAP_SINGLE_BATTLE_COLOSSEUM, 255, 6, 8
special sub_80AF948 special sub_80AF948
waitstate waitstate
@ -486,7 +486,7 @@ OldaleTown_PokemonCenter_2F_EventScript_27702B:: @ 827702B
return return
OldaleTown_PokemonCenter_2F_EventScript_277036:: @ 8277036 OldaleTown_PokemonCenter_2F_EventScript_277036:: @ 8277036
special sub_809D2BC special SetCableClubWarp
warp MAP_DOUBLE_BATTLE_COLOSSEUM, 255, 5, 8 warp MAP_DOUBLE_BATTLE_COLOSSEUM, 255, 5, 8
special sub_80AF948 special sub_80AF948
waitstate waitstate
@ -576,7 +576,7 @@ OldaleTown_PokemonCenter_2F_EventScript_27713A:: @ 827713A
closedoor 9, 1 closedoor 9, 1
waitdooranim waitdooranim
release release
special sub_809D2BC special SetCableClubWarp
setwarp MAP_TRADE_CENTER, 255, 5, 8 setwarp MAP_TRADE_CENTER, 255, 5, 8
special sub_80AF948 special sub_80AF948
waitstate waitstate
@ -651,7 +651,7 @@ OldaleTown_PokemonCenter_2F_EventScript_27724C:: @ 827724C
closedoor 9, 1 closedoor 9, 1
waitdooranim waitdooranim
release release
special sub_809D2BC special SetCableClubWarp
setwarp MAP_RECORD_CORNER, 255, 8, 9 setwarp MAP_RECORD_CORNER, 255, 8, 9
special sub_80AF948 special sub_80AF948
waitstate waitstate
@ -702,7 +702,7 @@ MossdeepCity_GameCorner_1F_EventScript_2772F9:: @ 82772F9
end end
OldaleTown_PokemonCenter_2F_EventScript_277306:: @ 8277306 OldaleTown_PokemonCenter_2F_EventScript_277306:: @ 8277306
special sub_809D2BC special SetCableClubWarp
special sub_80AF948 special sub_80AF948
waitstate waitstate
end end
@ -784,7 +784,7 @@ MossdeepCity_GameCorner_1F_Movement_277360: @ 8277360
walk_up walk_up
step_end step_end
gUnknown_08277365:: @ 8277365 EventScript_CableBoxResults:: @ 8277365
lockall lockall
setvar VAR_0x8004, 0 setvar VAR_0x8004, 0
special ShowLinkBattleRecords special ShowLinkBattleRecords
@ -1050,7 +1050,7 @@ OldaleTown_PokemonCenter_2F_EventScript_27759F:: @ 827759F
closedoor 5, 1 closedoor 5, 1
waitdooranim waitdooranim
special sub_8018090 special sub_8018090
special sub_809D2BC special SetCableClubWarp
warpteleport2 MAP_UNION_ROOM, 255, 7, 11 warpteleport2 MAP_UNION_ROOM, 255, 7, 11
waitstate waitstate
special UnionRoomSpecial special UnionRoomSpecial
@ -1392,7 +1392,7 @@ OldaleTown_PokemonCenter_2F_EventScript_277B3A:: @ 8277B3A
waitstate waitstate
end end
OldaleTown_PokemonCenter_2F_EventScript_277B8A:: @ 8277B8A EventScript_WirelessBoxResults:: @ 8277B8A
lockall lockall
checkflag FLAG_SYS_POKEDEX_GET checkflag FLAG_SYS_POKEDEX_GET
goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_27733F goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_27733F

View File

@ -289,7 +289,7 @@ Route117_PokemonDayCare_EventScript_291F95:: @ 8291F95
release release
end end
Route117_PokemonDayCare_EventScript_291FC0:: @ 8291FC0 EventScript_EggHatch:: @ 8291FC0
lockall lockall
msgbox Text_292668, 4 msgbox Text_292668, 4
special EggHatch special EggHatch

View File

@ -223,7 +223,7 @@ FieryPath_Text_290A16: @ 8290A16
.string "STRENGTH made it possible to move\n" .string "STRENGTH made it possible to move\n"
.string "boulders around.$" .string "boulders around.$"
EventScript_290A49:: @ 8290A49 EventScript_UseWaterfall:: @ 8290A49
lockall lockall
checkpartymove MOVE_WATERFALL checkpartymove MOVE_WATERFALL
compare VAR_RESULT, 6 compare VAR_RESULT, 6
@ -237,7 +237,7 @@ EventScript_290A49:: @ 8290A49
dofieldeffect 43 dofieldeffect 43
goto EventScript_290A8C goto EventScript_290A8C
EventScript_290A83:: @ 8290A83 EventScript_CannotUseWaterfall:: @ 8290A83
lockall lockall
EventScript_290A84:: @ 8290A84 EventScript_290A84:: @ 8290A84
@ -258,7 +258,7 @@ Text_290AC3: @ 8290AC3
Text_290AFC: @ 8290AFC Text_290AFC: @ 8290AFC
.string "{STR_VAR_1} used WATERFALL.$" .string "{STR_VAR_1} used WATERFALL.$"
EventScript_290B0F:: @ 8290B0F EventScript_UseDive:: @ 8290B0F
lockall lockall
checkpartymove MOVE_DIVE checkpartymove MOVE_DIVE
compare VAR_RESULT, 6 compare VAR_RESULT, 6
@ -283,7 +283,7 @@ EventScript_290B58:: @ 8290B58
releaseall releaseall
end end
EventScript_290B5A:: @ 8290B5A EventScript_UseDiveUnderwater:: @ 8290B5A
lockall lockall
checkpartymove MOVE_DIVE checkpartymove MOVE_DIVE
compare VAR_RESULT, 6 compare VAR_RESULT, 6

View File

@ -104,10 +104,10 @@ Route111_Movement_276696: @ 8276696
walk_down walk_down
step_end step_end
EventScript_2766A2:: @ 82766A2 EventScript_SecretPower1:: @ 82766A2
special sub_80EB290 special sub_80EB290
end end
EventScript_2766A6:: @ 82766A6 EventScript_SecretPower2:: @ 82766A6
special sub_80EB2C8 special sub_80EB2C8
end end

View File

@ -1,4 +1,4 @@
EventScript_27EE0B:: @ 827EE0B EventScript_TV:: @ 827EE0B
lockall lockall
incrementgamestat 44 incrementgamestat 44
special ResetTVShowState special ResetTVShowState

View File

@ -9,7 +9,7 @@
.align 2 .align 2
gSpecials:: @ 81DBA64 gSpecials:: @ 81DBA64
def_special HealPlayerParty def_special HealPlayerParty
def_special sub_809D2BC def_special SetCableClubWarp
def_special sub_80AF948 def_special sub_80AF948
def_special sub_80AF9F8 def_special sub_80AF9F8
def_special sub_80B36EC def_special sub_80B36EC

View File

@ -0,0 +1,6 @@
#ifndef GUARD_BATTLE_FRONTIER_1_H
#define GUARD_BATTLE_FRONTIER_1_H
bool32 sub_8196034(void);
#endif // GUARD_BATTLE_FRONTIER_1_H

View File

@ -501,7 +501,7 @@
#define FLAG_0x1F1 0x1F1 #define FLAG_0x1F1 0x1F1
#define FLAG_0x1F2 0x1F2 #define FLAG_0x1F2 0x1F2
#define FLAG_0x1F3 0x1F3 #define FLAG_0x1F3 0x1F3
#define FLAG_0x1F4 0x1F4 #define FLAG_HIDDEN_ITEMS_START 0x1F4
#define FLAG_0x1F5 0x1F5 #define FLAG_0x1F5 0x1F5
#define FLAG_0x1F6 0x1F6 #define FLAG_0x1F6 0x1F6
#define FLAG_0x1F7 0x1F7 #define FLAG_0x1F7 0x1F7

View File

@ -15,7 +15,7 @@ void TriggerPendingDaycareEgg(void);
void RejectEggFromDayCare(void); void RejectEggFromDayCare(void);
void CreateEgg(struct Pokemon *mon, u16 species, bool8 setHotSpringsLocation); void CreateEgg(struct Pokemon *mon, u16 species, bool8 setHotSpringsLocation);
void GiveEggFromDaycare(void); void GiveEggFromDaycare(void);
bool8 DoEggActions_CheckHatch(void); bool8 ShouldEggHatch(void);
u16 GetSelectedMonNickAndSpecies(void); u16 GetSelectedMonNickAndSpecies(void);
void GetDaycareMonNicknames(void); void GetDaycareMonNicknames(void);
u8 GetDaycareState(void); u8 GetDaycareState(void);

View File

@ -19,8 +19,8 @@ extern const u8 EventScript_TryDoDoubleTrainerBattle[];
extern const u8 EventScript_271362[]; extern const u8 EventScript_271362[];
extern const u8 EventScript_TryDoDoubleRematchBattle[]; extern const u8 EventScript_TryDoDoubleRematchBattle[];
extern const u8 EventScript_2713D1[]; extern const u8 EventScript_2713D1[];
extern const u8 EventScript_2766A2[]; extern const u8 EventScript_SecretPower1[];
extern const u8 EventScript_2766A6[]; extern const u8 EventScript_SecretPower2[];
extern const u8 gTVBravoTrainerText00[]; extern const u8 gTVBravoTrainerText00[];

View File

@ -3,22 +3,22 @@
struct FieldInput struct FieldInput
{ {
u8 pressedAButton:1; bool8 pressedAButton:1;
u8 input_field_0_1:1; bool8 checkStandardWildEncounter:1;
u8 pressedStartButton:1; bool8 pressedStartButton:1;
u8 pressedSelectButton:1; bool8 pressedSelectButton:1;
u8 input_field_0_4:1; bool8 input_field_0_4:1;
u8 input_field_0_5:1; bool8 input_field_0_5:1;
u8 input_field_0_6:1; bool8 tookStep:1;
u8 pressedBButton:1; bool8 pressedBButton:1;
u8 input_field_1_0:1; bool8 input_field_1_0:1;
u8 input_field_1_1:1; bool8 input_field_1_1:1;
u8 input_field_1_2:1; bool8 input_field_1_2:1;
u8 input_field_1_3:1; bool8 input_field_1_3:1;
u8 input_field_1_4:1; bool8 input_field_1_4:1;
u8 input_field_1_5:1; bool8 input_field_1_5:1;
u8 input_field_1_6:1; bool8 input_field_1_6:1;
u8 input_field_1_7:1; bool8 input_field_1_7:1;
u8 dpadDirection; u8 dpadDirection;
u8 input_field_3; u8 input_field_3;
}; };
@ -28,15 +28,15 @@ void FieldGetPlayerInput(struct FieldInput *pStruct, u16 keys, u16 heldKeys);
int sub_809C014(struct FieldInput *pStruct); int sub_809C014(struct FieldInput *pStruct);
u8 *sub_80682A8(struct MapPosition *, u8, u8); u8 *sub_80682A8(struct MapPosition *, u8, u8);
void overworld_poison_timer_set(void); void overworld_poison_timer_set(void);
void prev_quest_postbuffer_cursor_backup_reset(void); void RestartWildEncounterImmunitySteps(void);
u8 *sub_8068E24(struct MapPosition *); u8 *sub_8068E24(struct MapPosition *);
u8 *GetEventObjectScriptPointerPlayerFacing(void); const u8 *GetEventObjectScriptPointerPlayerFacing(void);
bool8 mapheader_trigger_activate_at__run_now(struct MapPosition *);
bool8 sub_8068870(u16 a); bool8 sub_8068870(u16 a);
bool8 sub_8068894(void); bool8 sub_8068894(void);
bool8 sub_8068A64(struct MapPosition *, u16); bool8 sub_8068A64(struct MapPosition *, u16);
u8 sub_8068F18(void); u8 sub_8068F18(void);
bool8 dive_warp(struct MapPosition *position, u16 b); bool8 dive_warp(struct MapPosition *position, u16 b);
void sub_809D2BC(void); int SetCableClubWarp(void);
u8 TrySetDiveWarp(void);
#endif // GUARD_FIELDCONTROLAVATAR_H #endif // GUARD_FIELDCONTROLAVATAR_H

View File

@ -44,6 +44,9 @@ u8 GetPlayerAvatarGraphicsIdByCurrentState(void);
void SetPlayerAvatarStateMask(u8 a); void SetPlayerAvatarStateMask(u8 a);
u8 GetPlayerAvatarGraphicsIdByStateId(u8 a); u8 GetPlayerAvatarGraphicsIdByStateId(u8 a);
u8 GetJumpSpecialMovementAction(u32); u8 GetJumpSpecialMovementAction(u32);
bool8 PartyHasMonWithSurf(void);
bool8 IsPlayerFacingSurfableFishableWater(void);
bool8 IsPlayerSurfingNorth(void);
bool8 ForcedMovement_None(void); bool8 ForcedMovement_None(void);
bool8 ForcedMovement_Slip(void); bool8 ForcedMovement_Slip(void);

View File

@ -14,6 +14,6 @@ enum {
}; };
void sub_80F972C(void); void sub_80F972C(void);
unsigned int overworld_poison(void); int DoPoisonFieldEffect(void);
#endif //GUARD_FIELD_POISON_H #endif //GUARD_FIELD_POISON_H

View File

@ -16,5 +16,9 @@ void sub_80AC3E4(void);
void PreservePaletteInWeather(u8); void PreservePaletteInWeather(u8);
void sub_80AF128(void); void sub_80AF128(void);
void sub_80AB104(u8); void sub_80AB104(u8);
void sub_80AF80C(u8);
void sub_80AF828(void);
void sub_80AF838(void);
void sub_80B0268(void);
#endif //GUARD_FIELD_SCREEN_H #endif //GUARD_FIELD_SCREEN_H

View File

@ -6,5 +6,14 @@ u8 sub_813B260(void);
u16 get_unknown_box_id(void); u16 get_unknown_box_id(void);
bool8 InMultiBattleRoom(void); bool8 InMultiBattleRoom(void);
void sub_813BF10(void); void sub_813BF10(void);
void increment_var_x4026_on_birth_island_modulo_100(void);
bool8 sub_813B3B0(void);
bool8 ShouldDoBrailleRegicePuzzle(void);
bool32 is_tile_that_overrides_player_control(void);
bool32 sub_8138120(void);
bool32 sub_8138168(void);
bool32 sub_81381B0(void);
bool32 sub_81381F8(void);
bool32 CountSSTidalStep(u16 delta);
#endif // GUARD_FIELD_SPECIALS_H #endif // GUARD_FIELD_SPECIALS_H

View File

@ -12,6 +12,8 @@ void sub_80FA794(s16 x, s16 y);
void CreateRecordMixingSprite(void); void CreateRecordMixingSprite(void);
void DestroyRecordMixingSprite(void); void DestroyRecordMixingSprite(void);
void overworld_poison_effect(void); void overworld_poison_effect(void);
void sub_80FA970(s16);
void sub_80FA9D0(void);
bool8 sub_80FADE4(u16, u8); bool8 sub_80FADE4(u16, u8);
#endif //GUARD_FLDEFF_80F9BCC_H #endif //GUARD_FLDEFF_80F9BCC_H

View File

@ -63,17 +63,16 @@ struct EventObjectTemplate
struct WarpEvent struct WarpEvent
{ {
s16 x, y; s16 x, y;
s8 warpId; u8 elevation;
u8 mapGroup; u8 warpId;
u8 mapNum; u8 mapNum;
u8 unk7; u8 mapGroup;
}; };
struct CoordEvent struct CoordEvent
{ {
s16 x, y; s16 x, y;
u8 unk4; u8 elevation;
u8 filler_5;
u16 trigger; u16 trigger;
u16 index; u16 index;
u8 filler_A[0x2]; u8 filler_A[0x2];
@ -83,16 +82,15 @@ struct CoordEvent
struct BgEvent struct BgEvent
{ {
u16 x, y; u16 x, y;
u8 unk4; u8 elevation;
u8 kind; u8 kind;
// 0x2 padding for the union beginning.
union { // carried over from diego's FR/LG work, seems to be the same struct union { // carried over from diego's FR/LG work, seems to be the same struct
// in gen 3, "kind" (0x3 in BgEvent struct) determines the method to read the union. // in gen 3, "kind" (0x3 in BgEvent struct) determines the method to read the union.
u8 *script; u8 *script;
// hidden item type probably // hidden item type
struct { struct {
u8 filler6[0x2]; u16 item;
u16 hiddenItemId; // flag offset to determine flag lookup u16 hiddenItemId; // flag offset to determine flag lookup
} hiddenItem; } hiddenItem;

View File

@ -58,5 +58,6 @@ void sub_81AAC28(void);
void bag_menu_mail_related(void); void bag_menu_mail_related(void);
void CB2_BagMenuFromStartMenu(void); void CB2_BagMenuFromStartMenu(void);
u8 sub_81ABB2C(u8 pocketId); u8 sub_81ABB2C(u8 pocketId);
bool8 UseRegisteredKeyItemOnField(void);
#endif //GUARD_item_menu_H #endif //GUARD_item_menu_H

View File

@ -50,7 +50,7 @@ bool8 MetatileBehavior_IsSecretBaseCave(u8);
bool8 MetatileBehavior_IsSecretBaseTree(u8); bool8 MetatileBehavior_IsSecretBaseTree(u8);
bool8 MetatileBehavior_IsSecretBaseShrub(u8); bool8 MetatileBehavior_IsSecretBaseShrub(u8);
bool8 MetatileBehavior_IsSecretBasePC(u8); bool8 MetatileBehavior_IsSecretBasePC(u8);
bool8 MetatileBehavior_IsSecretBaseRegisterPC(u8); bool8 MetatileBehavior_IsRecordMixingSecretBasePC(u8);
bool8 MetatileBehavior_IsMB_B2(u8); bool8 MetatileBehavior_IsMB_B2(u8);
bool8 MetatileBehavior_IsBlockDecoration(u8); bool8 MetatileBehavior_IsBlockDecoration(u8);
bool8 MetatileBehavior_IsSecretBaseImpassable(u8); bool8 MetatileBehavior_IsSecretBaseImpassable(u8);
@ -67,7 +67,7 @@ bool8 MetatileBehavior_IsSecretBaseBreakableDoor(u8);
bool8 MetatileBehavior_IsSecretBaseSoundMat(u8); bool8 MetatileBehavior_IsSecretBaseSoundMat(u8);
bool8 MetatileBehavior_IsSecretBaseGlitterMat(u8); bool8 MetatileBehavior_IsSecretBaseGlitterMat(u8);
bool8 MetatileBehavior_IsSecretBaseSandOrnament(u8); bool8 MetatileBehavior_IsSecretBaseSandOrnament(u8);
bool8 MetatileBehavior_IsSecretBaseTvOrShield(u8); bool8 MetatileBehavior_IsSecretBaseShieldOrToyTV(u8);
bool8 MetatileBehavior_IsPlayerRoomPCOn(u8); bool8 MetatileBehavior_IsPlayerRoomPCOn(u8);
bool8 MetatileBehavior_HasRipples(u8); bool8 MetatileBehavior_HasRipples(u8);
bool8 MetatileBehavior_IsPuddle(u8); bool8 MetatileBehavior_IsPuddle(u8);
@ -106,14 +106,14 @@ bool8 MetatileBehavior_IsPacifilogHorizontalLog2(u8);
bool8 MetatileBehavior_IsPacifidlogLog(u8); bool8 MetatileBehavior_IsPacifidlogLog(u8);
bool8 MetatileBehavior_IsTrickHousePuzzleDoor(u8); bool8 MetatileBehavior_IsTrickHousePuzzleDoor(u8);
bool8 MetatileBehavior_IsRegionMap(u8); bool8 MetatileBehavior_IsRegionMap(u8);
bool8 MetatileBehavior_IsClosedSootopolisGymDoor(u8); bool8 MetatileBehavior_IsClosedSootopolisDoor(u8);
bool8 MetatileBehavior_IsUnknownClosedDoor(u8); bool8 MetatileBehavior_IsUnknownClosedDoor(u8);
bool8 MetatileBehavior_IsRoulette(u8); bool8 MetatileBehavior_IsRoulette(u8);
bool8 MetatileBehavior_IsPokeblockFeeder(u8); bool8 MetatileBehavior_IsPokeblockFeeder(u8);
bool8 MetatileBehavior_IsSecretBaseJumpMat(u8); bool8 MetatileBehavior_IsSecretBaseJumpMat(u8);
bool8 MetatileBehavior_IsSecretBaseSpinMat(u8); bool8 MetatileBehavior_IsSecretBaseSpinMat(u8);
bool8 MetatileBehavior_IsLavaridgeB1FWarp(u8); bool8 MetatileBehavior_IsLavaridgeB1FWarp(u8);
bool8 MetatileBehavior_IsLavaridgeB1FWarp(u8); bool8 MetatileBehavior_IsLavaridge1FWarp(u8);
bool8 MetatileBehavior_IsAquaHideoutWarp(u8); bool8 MetatileBehavior_IsAquaHideoutWarp(u8);
bool8 MetatileBehavior_IsWarpOrBridge(u8); bool8 MetatileBehavior_IsWarpOrBridge(u8);
bool8 MetatileBehavior_IsMossdeepGymWarp(u8); bool8 MetatileBehavior_IsMossdeepGymWarp(u8);
@ -130,7 +130,7 @@ bool8 MetatileBehavior_IsHorizontalRail(u8);
bool8 MetatileBehavior_IsSeaweed(u8); bool8 MetatileBehavior_IsSeaweed(u8);
bool8 MetatileBehavior_IsRunningDisallowed(u8); bool8 MetatileBehavior_IsRunningDisallowed(u8);
bool8 MetatileBehavior_IsCuttableGrass(u8); bool8 MetatileBehavior_IsCuttableGrass(u8);
bool8 MetatileBehavior_IsRunningShoesInstruction(u8); bool8 MetatileBehavior_IsRunningShoesManual(u8);
bool8 MetatileBehavior_IsPictureBookShelf(u8); bool8 MetatileBehavior_IsPictureBookShelf(u8);
bool8 MetatileBehavior_IsBookShelf(u8); bool8 MetatileBehavior_IsBookShelf(u8);
bool8 MetatileBehavior_IsPokeCenterBookShelf(u8); bool8 MetatileBehavior_IsPokeCenterBookShelf(u8);

View File

@ -94,6 +94,8 @@
#define MON_DATA_SPATK2 87 #define MON_DATA_SPATK2 87
#define MON_DATA_SPDEF2 88 #define MON_DATA_SPDEF2 88
#define MAX_LEVEL 100
#define OT_ID_RANDOM_NO_SHINY 2 #define OT_ID_RANDOM_NO_SHINY 2
#define OT_ID_PRESET 1 #define OT_ID_PRESET 1
#define OT_ID_PLAYER_ID 0 #define OT_ID_PLAYER_ID 0
@ -110,10 +112,47 @@
#define MON_FEMALE 0xFE #define MON_FEMALE 0xFE
#define MON_GENDERLESS 0xFF #define MON_GENDERLESS 0xFF
#define TYPE_NORMAL 0x00
#define TYPE_FIGHTING 0x01
#define TYPE_FLYING 0x02
#define TYPE_POISON 0x03
#define TYPE_GROUND 0x04
#define TYPE_ROCK 0x05
#define TYPE_BUG 0x06
#define TYPE_GHOST 0x07
#define TYPE_STEEL 0x08
#define TYPE_MYSTERY 0x09
#define TYPE_FIRE 0x0a
#define TYPE_WATER 0x0b
#define TYPE_GRASS 0x0c
#define TYPE_ELECTRIC 0x0d
#define TYPE_PSYCHIC 0x0e
#define TYPE_ICE 0x0f
#define TYPE_DRAGON 0x10
#define TYPE_DARK 0x11
#define FRIENDSHIP_EVENT_GROW_LEVEL 0x0
#define FRIENDSHIP_EVENT_VITAMIN 0x1 // unused
#define FRIENDSHIP_EVENT_BATTLE_ITEM 0x2 // unused
#define FRIENDSHIP_EVENT_LEAGUE_BATTLE 0x3
#define FRIENDSHIP_EVENT_LEARN_TMHM 0x4
#define FRIENDSHIP_EVENT_WALKING 0x5
#define FRIENDSHIP_EVENT_FAINT_SMALL 0x6
#define FRIENDSHIP_EVENT_FAINT_OUTSIDE_BATTLE 0x7
#define FRIENDSHIP_EVENT_FAINT_LARGE 0x8
#define STATUS_PRIMARY_NONE 0x0
#define STATUS_PRIMARY_POISON 0x1
#define STATUS_PRIMARY_PARALYSIS 0x2
#define STATUS_PRIMARY_SLEEP 0x3
#define STATUS_PRIMARY_FREEZE 0x4
#define STATUS_PRIMARY_BURN 0x5
#define STATUS_PRIMARY_POKERUS 0x6
#define STATUS_PRIMARY_FAINTED 0x7
#define MAX_TOTAL_EVS 510 #define MAX_TOTAL_EVS 510
#define NUM_STATS 6 #define NUM_STATS 6
#define UNOWN_FORM_COUNT 28 #define UNOWN_FORM_COUNT 28
#define MAX_MON_LEVEL 100
struct PokemonSubstruct0 struct PokemonSubstruct0
{ {
@ -421,7 +460,7 @@ extern const u8 gFacilityClassToTrainerClass[];
extern const struct BaseStats gBaseStats[]; extern const struct BaseStats gBaseStats[];
extern const u8 *const gItemEffectTable[]; extern const u8 *const gItemEffectTable[];
extern const struct Evolution gEvolutionTable[][EVOS_PER_MON]; extern const struct Evolution gEvolutionTable[][EVOS_PER_MON];
extern const u32 gExperienceTables[][MAX_MON_LEVEL + 1]; extern const u32 gExperienceTables[][MAX_LEVEL + 1];
extern const u16 *const gLevelUpLearnsets[]; extern const u16 *const gLevelUpLearnsets[];
extern const u8 gUnknown_08329D22[]; extern const u8 gUnknown_08329D22[];
extern const u8 gUnknown_08329D26[]; extern const u8 gUnknown_08329D26[];

View File

@ -28,5 +28,13 @@ u16 sub_81D2C3C(void);
void sub_81D2C50(void); void sub_81D2C50(void);
u8 sub_81D28C8(const struct ListMenuItem *items, u16 numChoices); u8 sub_81D28C8(const struct ListMenuItem *items, u16 numChoices);
void sub_81D2824(u16); 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);
#endif //GUARD_POKENAV_H #endif //GUARD_POKENAV_H

View File

@ -1,12 +0,0 @@
//
// Created by Scott Norton on 9/6/17.
//
#ifndef GUARD_ROM_81BE66C_H
#define GUARD_ROM_81BE66C_H
bool32 InTrainerHill(void);
bool8 EventObjectIsFarawayIslandMew(struct EventObject *);
u32 sub_81D427C(void);
#endif //GUARD_ROM_81BE66C_H

View File

@ -55,8 +55,8 @@ bool8 mapheader_run_first_tag2_script_list_match(void);
void mapheader_run_first_tag4_script_list_match(void); void mapheader_run_first_tag4_script_list_match(void);
u32 CalculateRamScriptChecksum(void); u32 CalculateRamScriptChecksum(void);
void ClearRamScript(void); void ClearRamScript(void);
bool8 InitRamScript(u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 objectId); bool8 InitRamScript(const u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 objectId);
u8 *GetRamScript(u8 objectId, u8 *script); const u8 *GetRamScript(u8 objectId, const u8 *script);
bool32 sub_80991F8(void); bool32 sub_80991F8(void);
u8 *sub_8099244(void); u8 *sub_8099244(void);
void sub_80992A0(u8 *script, u16 scriptSize); void sub_80992A0(u8 *script, u16 scriptSize);

View File

@ -16,5 +16,11 @@ void sub_80E8EE0(struct MapEvents const *events);
void sub_80E9238(u8 flagIn); void sub_80E9238(u8 flagIn);
bool8 CurrentMapIsSecretBase(void); bool8 CurrentMapIsSecretBase(void);
void sub_80EA3E4(u8 taskId); void sub_80EA3E4(u8 taskId);
bool8 sub_80E9680(void);
void sub_80EB498(void);
void sub_80EB56C(void);
void sub_80EB9E0(void);
void sub_80EBB28(void);
void sub_80E9668(const struct MapPosition *position, const struct MapEvents *events);
#endif //GUARD_SECRET_BASE_H #endif //GUARD_SECRET_BASE_H

View File

@ -99,7 +99,7 @@ SECTIONS {
src/text_window.o(.text); src/text_window.o(.text);
src/script.o(.text); src/script.o(.text);
src/scrcmd.o(.text); src/scrcmd.o(.text);
asm/field_control_avatar.o(.text); src/field_control_avatar.o(.text);
src/event_data.o(.text); src/event_data.o(.text);
src/coord_event_weather.o(.text); src/coord_event_weather.o(.text);
src/field_tasks.o(.text); src/field_tasks.o(.text);

View File

@ -2710,7 +2710,7 @@ static void PlayerHandleExpUpdate(void)
{ {
u8 monId = gBattleBufferA[gActiveBattler][1]; u8 monId = gBattleBufferA[gActiveBattler][1];
if (GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL) >= MAX_MON_LEVEL) if (GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL) >= MAX_LEVEL)
{ {
PlayerBufferExecCompleted(); PlayerBufferExecCompleted();
} }

View File

@ -1597,7 +1597,7 @@ static void PlayerPartnerHandleExpUpdate(void)
{ {
u8 monId = gBattleBufferA[gActiveBattler][1]; u8 monId = gBattleBufferA[gActiveBattler][1];
if (GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL) >= MAX_MON_LEVEL) if (GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL) >= MAX_LEVEL)
{ {
PlayerPartnerBufferExecCompleted(); PlayerPartnerBufferExecCompleted();
} }

View File

@ -2341,7 +2341,7 @@ static void MoveBattleBarGraphically(u8 battlerId, u8 whichBar)
&gBattleSpritesDataPtr->battleBars[battlerId].currValue, &gBattleSpritesDataPtr->battleBars[battlerId].currValue,
array, B_EXPBAR_PIXELS / 8); array, B_EXPBAR_PIXELS / 8);
level = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_LEVEL); level = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_LEVEL);
if (level == MAX_MON_LEVEL) if (level == MAX_LEVEL)
{ {
for (i = 0; i < 8; i++) for (i = 0; i < 8; i++)
array[i] = 0; array[i] = 0;

View File

@ -3347,7 +3347,7 @@ static void atk23_getexp(void)
gBattleScripting.atk23_state = 5; gBattleScripting.atk23_state = 5;
gBattleMoveDamage = 0; // used for exp gBattleMoveDamage = 0; // used for exp
} }
else if (GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL) == MAX_MON_LEVEL) else if (GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL) == MAX_LEVEL)
{ {
*(&gBattleStruct->sentInPokes) >>= 1; *(&gBattleStruct->sentInPokes) >>= 1;
gBattleScripting.atk23_state = 5; gBattleScripting.atk23_state = 5;
@ -3430,7 +3430,7 @@ static void atk23_getexp(void)
if (gBattleControllerExecFlags == 0) if (gBattleControllerExecFlags == 0)
{ {
gBattleBufferB[gBattleStruct->expGetterBattlerId][0] = 0; gBattleBufferB[gBattleStruct->expGetterBattlerId][0] = 0;
if (GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_HP) && GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL) != MAX_MON_LEVEL) if (GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_HP) && GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL) != MAX_LEVEL)
{ {
gBattleResources->statsBeforeLvlUp->hp = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_MAX_HP); gBattleResources->statsBeforeLvlUp->hp = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_MAX_HP);
gBattleResources->statsBeforeLvlUp->atk = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_ATK); gBattleResources->statsBeforeLvlUp->atk = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_ATK);

View File

@ -56,8 +56,8 @@ extern bool8 InBattlePyramid(void);
extern bool8 InBattlePike(void); extern bool8 InBattlePike(void);
extern bool32 InTrainerHill(void); extern bool32 InTrainerHill(void);
extern bool32 FieldPoisonEffectIsRunning(void); extern bool32 FieldPoisonEffectIsRunning(void);
extern void prev_quest_postbuffer_cursor_backup_reset(void); extern void RestartWildEncounterImmunitySteps(void);
extern void ResetPoisonStepCounter(void); extern void ClearPoisonStepCounter(void);
extern void sub_81BE72C(void); extern void sub_81BE72C(void);
extern void sub_808BCF4(void); extern void sub_808BCF4(void);
extern void sub_80EECC8(void); extern void sub_80EECC8(void);
@ -354,8 +354,8 @@ static void Task_BattleStart(u8 taskId)
{ {
overworld_free_bg_tilemaps(); overworld_free_bg_tilemaps();
SetMainCallback2(CB2_InitBattle); SetMainCallback2(CB2_InitBattle);
prev_quest_postbuffer_cursor_backup_reset(); RestartWildEncounterImmunitySteps();
ResetPoisonStepCounter(); ClearPoisonStepCounter();
DestroyTask(taskId); DestroyTask(taskId);
} }
break; break;
@ -921,8 +921,8 @@ static void CB2_StartFirstBattle(void)
gMain.savedCallback = CB2_EndFirstBattle; gMain.savedCallback = CB2_EndFirstBattle;
FreeAllWindowBuffers(); FreeAllWindowBuffers();
SetMainCallback2(CB2_InitBattle); SetMainCallback2(CB2_InitBattle);
prev_quest_postbuffer_cursor_backup_reset(); RestartWildEncounterImmunitySteps();
ResetPoisonStepCounter(); ClearPoisonStepCounter();
IncrementGameStat(GAME_STAT_TOTAL_BATTLES); IncrementGameStat(GAME_STAT_TOTAL_BATTLES);
IncrementGameStat(GAME_STAT_WILD_BATTLES); IncrementGameStat(GAME_STAT_WILD_BATTLES);
sub_80EECC8(); sub_80EECC8();

View File

@ -11,7 +11,7 @@
extern u8 EventObjectGetBerryTreeId(u8 eventObjectId); extern u8 EventObjectGetBerryTreeId(u8 eventObjectId);
extern void sub_8092EF0(u8 mapId, u8 mapNumber, u8 mapGroup); extern void sub_8092EF0(u8 mapId, u8 mapNumber, u8 mapGroup);
extern void CB2_ChooseBerry(void); extern void CB2_ChooseBerry(void);
extern const u8* GetEventObjectScriptPointerForComparison(void); extern const u8* GetEventObjectScriptPointerPlayerFacing(void);
extern bool8 IsBerryTreeSparkling(u8, u8, u8); extern bool8 IsBerryTreeSparkling(u8, u8, u8);
extern u16 gSpecialVar_ItemId; extern u16 gSpecialVar_ItemId;
@ -930,7 +930,7 @@ bool32 EventObjectInteractionWaterBerryTree(void)
bool8 IsPlayerFacingPlantedBerryTree(void) bool8 IsPlayerFacingPlantedBerryTree(void)
{ {
if (GetEventObjectScriptPointerForComparison() == BerryTreeScript if (GetEventObjectScriptPointerPlayerFacing() == BerryTreeScript
&& GetStageByBerryTreeId(EventObjectGetBerryTreeId(gSelectedEventObject)) == 0) && GetStageByBerryTreeId(EventObjectGetBerryTreeId(gSelectedEventObject)) == 0)
return TRUE; return TRUE;
else else
@ -939,7 +939,7 @@ bool8 IsPlayerFacingPlantedBerryTree(void)
bool8 TryToWaterBerryTree(void) bool8 TryToWaterBerryTree(void)
{ {
if (GetEventObjectScriptPointerForComparison() != BerryTreeScript) if (GetEventObjectScriptPointerPlayerFacing() != BerryTreeScript)
return FALSE; return FALSE;
else else
return EventObjectInteractionWaterBerryTree(); return EventObjectInteractionWaterBerryTree();

View File

@ -18,7 +18,7 @@
:(n <= 36) ? ((n + 14) * CUBE(n) / 50) \ :(n <= 36) ? ((n + 14) * CUBE(n) / 50) \
: (((n / 2) + 32) * CUBE(n) / 50) : (((n / 2) + 32) * CUBE(n) / 50)
const u32 gExperienceTables[][MAX_MON_LEVEL + 1] = const u32 gExperienceTables[][MAX_LEVEL + 1] =
{ {
{ // Medium Fast { // Medium Fast
0, // 0 0, // 0

View File

@ -241,7 +241,7 @@ static void ApplyDaycareExperience(struct Pokemon *mon)
bool8 firstMove; bool8 firstMove;
u16 learnedMove; u16 learnedMove;
for (i = 0; i < MAX_MON_LEVEL; i++) for (i = 0; i < MAX_LEVEL; i++)
{ {
// Add the mon's gained daycare experience level by level until it can't level up anymore. // Add the mon's gained daycare experience level by level until it can't level up anymore.
if (TryIncrementMonLevel(mon)) if (TryIncrementMonLevel(mon))
@ -278,7 +278,7 @@ static u16 TakeSelectedPokemonFromDaycare(struct DaycareMon *daycareMon)
species = GetBoxMonData(&daycareMon->mon, MON_DATA_SPECIES); species = GetBoxMonData(&daycareMon->mon, MON_DATA_SPECIES);
BoxMonToMon(&daycareMon->mon, &pokemon); BoxMonToMon(&daycareMon->mon, &pokemon);
if (GetMonData(&pokemon, MON_DATA_LEVEL) != MAX_MON_LEVEL) if (GetMonData(&pokemon, MON_DATA_LEVEL) != MAX_LEVEL)
{ {
experience = GetMonData(&pokemon, MON_DATA_EXP) + daycareMon->steps; experience = GetMonData(&pokemon, MON_DATA_EXP) + daycareMon->steps;
SetMonData(&pokemon, MON_DATA_EXP, &experience); SetMonData(&pokemon, MON_DATA_EXP, &experience);
@ -949,7 +949,7 @@ static bool8 _DoEggActions_CheckHatch(struct DayCare *daycare)
return FALSE; // no hatching return FALSE; // no hatching
} }
bool8 DoEggActions_CheckHatch(void) bool8 ShouldEggHatch(void)
{ {
return _DoEggActions_CheckHatch(&gSaveBlock1Ptr->daycare); return _DoEggActions_CheckHatch(&gSaveBlock1Ptr->daycare);
} }

View File

@ -17,7 +17,6 @@
#include "pokenav.h" #include "pokenav.h"
#include "random.h" #include "random.h"
#include "rom_818CFC8.h" #include "rom_818CFC8.h"
#include "rom_81BE66C.h"
#include "sprite.h" #include "sprite.h"
#include "trainer_see.h" #include "trainer_see.h"
#include "util.h" #include "util.h"
@ -2638,10 +2637,10 @@ void sub_808F28C(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat)
switch (decorCat) switch (decorCat)
{ {
case DECORCAT_DOLL: case DECORCAT_DOLL:
OverrideMovementTypeForEventObject(&gEventObjects[eventObjectId], EventScript_2766A2); OverrideMovementTypeForEventObject(&gEventObjects[eventObjectId], EventScript_SecretPower1);
break; break;
case DECORCAT_CUSHION: case DECORCAT_CUSHION:
OverrideMovementTypeForEventObject(&gEventObjects[eventObjectId], EventScript_2766A6); OverrideMovementTypeForEventObject(&gEventObjects[eventObjectId], EventScript_SecretPower2);
break; break;
} }
} }

1058
src/field_control_avatar.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -111,7 +111,7 @@ void sub_80F972C(void)
ScriptContext1_Stop(); ScriptContext1_Stop();
} }
unsigned int overworld_poison(void) int DoPoisonFieldEffect(void)
{ {
int i; int i;
unsigned int hp; unsigned int hp;

View File

@ -3668,7 +3668,7 @@ bool32 sub_813B374(void)
} }
} }
bool32 sub_813B3B0(void) bool8 sub_813B3B0(void)
{ {
static const u8 gUnknown_085B3410[] = { 0x1d, 0x1d, 0x1e, 0x1e, 0x1f, 0x1f, 0x21, 0x21, 0x14, 0x14, 0x28, 0x28, 0x2a, 0x2a, 0x2c, 0x2c }; static const u8 gUnknown_085B3410[] = { 0x1d, 0x1d, 0x1e, 0x1e, 0x1f, 0x1f, 0x21, 0x21, 0x14, 0x14, 0x28, 0x28, 0x2a, 0x2a, 0x2c, 0x2c };

View File

@ -679,7 +679,7 @@ bool8 MetatileBehavior_IsSecretBasePC(u8 metatileBehavior)
return FALSE; return FALSE;
} }
bool8 MetatileBehavior_IsSecretBaseRegisterPC(u8 metatileBehavior) bool8 MetatileBehavior_IsRecordMixingSecretBasePC(u8 metatileBehavior)
{ {
if (metatileBehavior == MB_SECRET_BASE_REGISTER_PC) if (metatileBehavior == MB_SECRET_BASE_REGISTER_PC)
return TRUE; return TRUE;
@ -815,7 +815,7 @@ bool8 MetatileBehavior_IsSecretBaseSandOrnament(u8 metatileBehavior)
return FALSE; return FALSE;
} }
bool8 MetatileBehavior_IsSecretBaseTvOrShield(u8 metatileBehavior) bool8 MetatileBehavior_IsSecretBaseShieldOrToyTV(u8 metatileBehavior)
{ {
if (metatileBehavior == MB_SECRET_BASE_TV_SHIELD) if (metatileBehavior == MB_SECRET_BASE_TV_SHIELD)
return TRUE; return TRUE;
@ -1164,7 +1164,7 @@ bool8 MetatileBehavior_IsRegionMap(u8 metatileBehavior)
return FALSE; return FALSE;
} }
bool8 MetatileBehavior_IsClosedSootopolisGymDoor(u8 metatileBehavior) bool8 MetatileBehavior_IsClosedSootopolisDoor(u8 metatileBehavior)
{ {
if (metatileBehavior == MB_CLOSED_SOOTOPOLIS_DOOR) if (metatileBehavior == MB_CLOSED_SOOTOPOLIS_DOOR)
return TRUE; return TRUE;
@ -1365,7 +1365,7 @@ bool8 MetatileBehavior_IsCuttableGrass(u8 metatileBehavior)
return FALSE; return FALSE;
} }
bool8 MetatileBehavior_IsRunningShoesInstruction(u8 metatileBehavior) bool8 MetatileBehavior_IsRunningShoesManual(u8 metatileBehavior)
{ {
if (metatileBehavior == MB_RUNNING_SHOES_INSTRUCTION) if (metatileBehavior == MB_RUNNING_SHOES_INSTRUCTION)
return TRUE; return TRUE;

View File

@ -107,7 +107,7 @@ extern void sub_80A0A2C(void);
extern void not_trainer_hill_battle_pyramid(void); extern void not_trainer_hill_battle_pyramid(void);
extern void apply_map_tileset2_palette(const struct MapLayout *); extern void apply_map_tileset2_palette(const struct MapLayout *);
extern void copy_map_tileset2_to_vram_2(const struct MapLayout *); extern void copy_map_tileset2_to_vram_2(const struct MapLayout *);
extern void prev_quest_postbuffer_cursor_backup_reset(void); extern void RestartWildEncounterImmunitySteps(void);
extern void ShowMapNamePopup(void); extern void ShowMapNamePopup(void);
extern bool32 InTrainerHill(void); extern bool32 InTrainerHill(void);
extern bool32 sub_808651C(void); extern bool32 sub_808651C(void);
@ -164,8 +164,8 @@ extern bool32 sub_8009F3C(void);
extern void sub_8010198(void); extern void sub_8010198(void);
extern u32 sub_800B4DC(void); extern u32 sub_800B4DC(void);
extern bool32 sub_80B39D4(u8); extern bool32 sub_80B39D4(u8);
extern const u8* sub_809C2C8(struct MapPosition *a1, u8, u8); extern const u8* GetInteractedLinkPlayerScript(struct MapPosition *a1, u8, u8);
extern u8 *sub_809D0F4(void*); extern u8 *GetCoordEventScriptAtMapPosition(void*);
extern u8 sub_808BD6C(u8); extern u8 sub_808BD6C(u8);
extern u8 sub_808BD7C(u8); extern u8 sub_808BD7C(u8);
extern void UpdateEventObjectSpriteVisibility(struct Sprite*, u8); extern void UpdateEventObjectSpriteVisibility(struct Sprite*, u8);
@ -827,7 +827,7 @@ void mliX_load_map(u8 mapGroup, u8 mapNum)
TrySetMapSaveWarpStatus(); TrySetMapSaveWarpStatus();
ClearTempFieldEventData(); ClearTempFieldEventData();
ResetCyclingRoadChallengeData(); ResetCyclingRoadChallengeData();
prev_quest_postbuffer_cursor_backup_reset(); RestartWildEncounterImmunitySteps();
TryUpdateRandomTrainerRematches(mapGroup, mapNum); TryUpdateRandomTrainerRematches(mapGroup, mapNum);
DoTimeBasedEvents(); DoTimeBasedEvents();
SetSav1WeatherFromCurrMapHeader(); SetSav1WeatherFromCurrMapHeader();
@ -876,7 +876,7 @@ static void mli0_load_map(u32 a1)
TrySetMapSaveWarpStatus(); TrySetMapSaveWarpStatus();
ClearTempFieldEventData(); ClearTempFieldEventData();
ResetCyclingRoadChallengeData(); ResetCyclingRoadChallengeData();
prev_quest_postbuffer_cursor_backup_reset(); RestartWildEncounterImmunitySteps();
TryUpdateRandomTrainerRematches(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum); TryUpdateRandomTrainerRematches(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum);
if (a1 != 1) if (a1 != 1)
DoTimeBasedEvents(); DoTimeBasedEvents();
@ -2706,7 +2706,7 @@ static u8 *sub_8087370(struct UnkStruct_8054FF8 *a1)
{ {
if (a1->c != 2) if (a1->c != 2)
return 0; return 0;
return sub_809D0F4(&a1->sub); return GetCoordEventScriptAtMapPosition(&a1->sub);
} }
static bool32 sub_8087388(struct UnkStruct_8054FF8 *a1) static bool32 sub_8087388(struct UnkStruct_8054FF8 *a1)
@ -2747,7 +2747,7 @@ static const u8 *sub_80873B4(struct UnkStruct_8054FF8 *a1)
return EventScript_TradeRoom_ReadTrainerCard2; return EventScript_TradeRoom_ReadTrainerCard2;
} }
return sub_809C2C8(&unkStruct, a1->field_C, a1->d); return GetInteractedLinkPlayerScript(&unkStruct, a1->field_C, a1->d);
} }
static u16 sub_8087480(const u8 *script) static u16 sub_8087480(const u8 *script)

View File

@ -3251,7 +3251,7 @@ u8 GetLevelFromMonExp(struct Pokemon *mon)
u32 exp = GetMonData(mon, MON_DATA_EXP, NULL); u32 exp = GetMonData(mon, MON_DATA_EXP, NULL);
s32 level = 1; s32 level = 1;
while (level <= MAX_MON_LEVEL && gExperienceTables[gBaseStats[species].growthRate][level] <= exp) while (level <= MAX_LEVEL && gExperienceTables[gBaseStats[species].growthRate][level] <= exp)
level++; level++;
return level - 1; return level - 1;
@ -3263,7 +3263,7 @@ u8 GetLevelFromBoxMonExp(struct BoxPokemon *boxMon)
u32 exp = GetBoxMonData(boxMon, MON_DATA_EXP, NULL); u32 exp = GetBoxMonData(boxMon, MON_DATA_EXP, NULL);
s32 level = 1; s32 level = 1;
while (level <= MAX_MON_LEVEL && gExperienceTables[gBaseStats[species].growthRate][level] <= exp) while (level <= MAX_LEVEL && gExperienceTables[gBaseStats[species].growthRate][level] <= exp)
level++; level++;
return level - 1; return level - 1;
@ -5145,7 +5145,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
retVal = FALSE; retVal = FALSE;
} }
if ((itemEffect[cmdIndex] & 0x40) // raise level if ((itemEffect[cmdIndex] & 0x40) // raise level
&& GetMonData(mon, MON_DATA_LEVEL, NULL) != MAX_MON_LEVEL) && GetMonData(mon, MON_DATA_LEVEL, NULL) != MAX_LEVEL)
{ {
dataUnsigned = gExperienceTables[gBaseStats[GetMonData(mon, MON_DATA_SPECIES, NULL)].growthRate][GetMonData(mon, MON_DATA_LEVEL, NULL) + 1]; dataUnsigned = gExperienceTables[gBaseStats[GetMonData(mon, MON_DATA_SPECIES, NULL)].growthRate][GetMonData(mon, MON_DATA_LEVEL, NULL) + 1];
SetMonData(mon, MON_DATA_EXP, &dataUnsigned); SetMonData(mon, MON_DATA_EXP, &dataUnsigned);
@ -6430,12 +6430,12 @@ bool8 TryIncrementMonLevel(struct Pokemon *mon)
u16 species = GetMonData(mon, MON_DATA_SPECIES, 0); u16 species = GetMonData(mon, MON_DATA_SPECIES, 0);
u8 nextLevel = GetMonData(mon, MON_DATA_LEVEL, 0) + 1; u8 nextLevel = GetMonData(mon, MON_DATA_LEVEL, 0) + 1;
u32 expPoints = GetMonData(mon, MON_DATA_EXP, 0); u32 expPoints = GetMonData(mon, MON_DATA_EXP, 0);
if (expPoints > gExperienceTables[gBaseStats[species].growthRate][MAX_MON_LEVEL]) if (expPoints > gExperienceTables[gBaseStats[species].growthRate][MAX_LEVEL])
{ {
expPoints = gExperienceTables[gBaseStats[species].growthRate][MAX_MON_LEVEL]; expPoints = gExperienceTables[gBaseStats[species].growthRate][MAX_LEVEL];
SetMonData(mon, MON_DATA_EXP, &expPoints); SetMonData(mon, MON_DATA_EXP, &expPoints);
} }
if (nextLevel > MAX_MON_LEVEL || expPoints < gExperienceTables[gBaseStats[species].growthRate][nextLevel]) if (nextLevel > MAX_LEVEL || expPoints < gExperienceTables[gBaseStats[species].growthRate][nextLevel])
{ {
return FALSE; return FALSE;
} }

View File

@ -2533,7 +2533,7 @@ static void DrawExperienceProgressBar(struct Pokemon *unused)
u16 *r9; u16 *r9;
u8 i; u8 i;
if (summary->level < MAX_MON_LEVEL) if (summary->level < MAX_LEVEL)
{ {
u32 expBetweenLevels = gExperienceTables[gBaseStats[summary->species].growthRate][summary->level + 1] - gExperienceTables[gBaseStats[summary->species].growthRate][summary->level]; u32 expBetweenLevels = gExperienceTables[gBaseStats[summary->species].growthRate][summary->level + 1] - gExperienceTables[gBaseStats[summary->species].growthRate][summary->level];
u32 expSinceLastLevel = summary->exp - gExperienceTables[gBaseStats[summary->species].growthRate][summary->level]; u32 expSinceLastLevel = summary->exp - gExperienceTables[gBaseStats[summary->species].growthRate][summary->level];
@ -3349,7 +3349,7 @@ static void PrintExpPointsNextLevel(void)
offset = GetStringRightAlignXOffset(1, gStringVar1, 42) + 2; offset = GetStringRightAlignXOffset(1, gStringVar1, 42) + 2;
SummaryScreen_PrintTextOnWindow(windowId, gStringVar1, offset, 1, 0, 0); SummaryScreen_PrintTextOnWindow(windowId, gStringVar1, offset, 1, 0, 0);
if (sum->level < MAX_MON_LEVEL) if (sum->level < MAX_LEVEL)
expToNextLevel = gExperienceTables[gBaseStats[sum->species].growthRate][sum->level + 1] - sum->exp; expToNextLevel = gExperienceTables[gBaseStats[sum->species].growthRate][sum->level + 1] - sum->exp;
else else
expToNextLevel = 0; expToNextLevel = 0;

View File

@ -1646,7 +1646,7 @@ void sub_8014304(s8 mapGroup, s8 mapNum, s32 x, s32 y, u16 arg4)
VarSet(VAR_0x4087, arg4); VarSet(VAR_0x4087, arg4);
gFieldLinkPlayerCount = GetLinkPlayerCount(); gFieldLinkPlayerCount = GetLinkPlayerCount();
gUnknown_03005DB4 = GetMultiplayerId(); gUnknown_03005DB4 = GetMultiplayerId();
sub_809D2BC(); SetCableClubWarp();
Overworld_SetWarpDestination(mapGroup, mapNum, -1, x, y); Overworld_SetWarpDestination(mapGroup, mapNum, -1, x, y);
WarpIntoMap(); WarpIntoMap();
} }

View File

@ -52,7 +52,7 @@
typedef u16 (*SpecialFunc)(void); typedef u16 (*SpecialFunc)(void);
typedef void (*NativeFunc)(void); typedef void (*NativeFunc)(void);
extern u32 gUnknown_020375C0; extern const u8 *gUnknown_020375C0;
static EWRAM_DATA u32 gUnknown_020375C4 = 0; static EWRAM_DATA u32 gUnknown_020375C4 = 0;
static EWRAM_DATA u16 sPauseCounter = 0; static EWRAM_DATA u16 sPauseCounter = 0;
@ -284,7 +284,7 @@ bool8 ScrCmd_callstd_if(struct ScriptContext *ctx)
bool8 ScrCmd_gotoram(struct ScriptContext *ctx) bool8 ScrCmd_gotoram(struct ScriptContext *ctx)
{ {
ScriptJump(ctx, (const u8 *)gUnknown_020375C0); ScriptJump(ctx, gUnknown_020375C0);
return FALSE; return FALSE;
} }
@ -2223,7 +2223,7 @@ bool8 ScrCmd_cmdCF(struct ScriptContext *ctx)
if (v1) if (v1)
{ {
((u8*)gUnknown_020375C0) = ctx->scriptPtr; gUnknown_020375C0 = ctx->scriptPtr;
ScriptJump(ctx, v1); ScriptJump(ctx, v1);
} }
return FALSE; return FALSE;

View File

@ -5,7 +5,7 @@
#define RAM_SCRIPT_MAGIC 51 #define RAM_SCRIPT_MAGIC 51
extern u8* gUnknown_020375C0; extern const u8* gUnknown_020375C0;
extern bool32 sub_801B27C(void); extern bool32 sub_801B27C(void);
@ -344,7 +344,7 @@ void ClearRamScript(void)
CpuFill32(0, &gSaveBlock1Ptr->ramScript, sizeof(struct RamScript)); CpuFill32(0, &gSaveBlock1Ptr->ramScript, sizeof(struct RamScript));
} }
bool8 InitRamScript(u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 objectId) bool8 InitRamScript(const u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 objectId)
{ {
struct RamScriptData *scriptData = &gSaveBlock1Ptr->ramScript.data; struct RamScriptData *scriptData = &gSaveBlock1Ptr->ramScript.data;
@ -362,7 +362,7 @@ bool8 InitRamScript(u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 objec
return TRUE; return TRUE;
} }
u8 *GetRamScript(u8 objectId, u8 *script) const u8 *GetRamScript(u8 objectId, const u8 *script)
{ {
struct RamScriptData *scriptData = &gSaveBlock1Ptr->ramScript.data; struct RamScriptData *scriptData = &gSaveBlock1Ptr->ramScript.data;
gUnknown_020375C0 = NULL; gUnknown_020375C0 = NULL;

View File

@ -596,13 +596,13 @@ void sub_80E95D4(void)
VarSet(VAR_OBJ_GFX_ID_F, gUnknown_0858D060[sub_80EA20C(VarGet(VAR_0x4054))]); VarSet(VAR_OBJ_GFX_ID_F, gUnknown_0858D060[sub_80EA20C(VarGet(VAR_0x4054))]);
} }
void sub_80E9608(struct Coords16 *coords, struct MapEvents *events) void sub_80E9608(const struct MapPosition *position, const struct MapEvents *events)
{ {
s16 bgEventIdx; s16 bgEventIdx;
for (bgEventIdx = 0; bgEventIdx < events->bgEventCount; bgEventIdx ++) for (bgEventIdx = 0; bgEventIdx < events->bgEventCount; bgEventIdx ++)
{ {
if (events->bgEvents[bgEventIdx].kind == BG_EVENT_SECRET_BASE && coords->x == events->bgEvents[bgEventIdx].x + 7 && coords->y == events->bgEvents[bgEventIdx].y + 7) if (events->bgEvents[bgEventIdx].kind == BG_EVENT_SECRET_BASE && position->x == events->bgEvents[bgEventIdx].x + 7 && position->y == events->bgEvents[bgEventIdx].y + 7)
{ {
sCurSecretBaseId = events->bgEvents[bgEventIdx].bgUnion.secretBaseId; sCurSecretBaseId = events->bgEvents[bgEventIdx].bgUnion.secretBaseId;
break; break;
@ -610,9 +610,9 @@ void sub_80E9608(struct Coords16 *coords, struct MapEvents *events)
} }
} }
void sub_80E9668(struct Coords16 *coords, struct MapEvents *events) void sub_80E9668(const struct MapPosition *position, const struct MapEvents *events)
{ {
sub_80E9608(coords, events); sub_80E9608(position, events);
sub_80E8B6C(); sub_80E8B6C();
ScriptContext1_SetupScript(EventScript_275BB7); ScriptContext1_SetupScript(EventScript_275BB7);
} }

View File

@ -26,9 +26,7 @@ gBGTilemapBuffers3: @ 3005DA4
.include "overworld.o" .include "overworld.o"
.include "fieldmap.o" .include "fieldmap.o"
.include "field_camera.o" .include "field_camera.o"
.include "field_control_avatar.o"
gSelectedEventObject: @ 3005DF0
.space 0x4
gMenuCallback: @ 3005DF4 gMenuCallback: @ 3005DF4
.space 0x4 .space 0x4

View File

@ -234,14 +234,7 @@ gUnknown_020375C0: @ 20375C0
.space 0x4 .space 0x4
.include "src/scrcmd.o" .include "src/scrcmd.o"
.include "src/field_control_avatar.o"
.align 2
gUnknown_020375D4: @ 20375D4
.space 0x2
gUnknown_020375D6: @ 20375D6
.space 0x2
.include "src/event_data.o" .include "src/event_data.o"
.include "src/start_menu.o" .include "src/start_menu.o"
.include "src/tileset_anims.o" .include "src/tileset_anims.o"