Merge pull request #307 from PikalaxALT/field_control_avatar
Field control avatar
This commit is contained in:
File diff suppressed because it is too large
Load Diff
+32
-32
@@ -1036,8 +1036,8 @@ SetWarpDestination: @ 805538C
|
||||
_080553C4: .4byte gUnknown_2031DBC
|
||||
thumb_func_end SetWarpDestination
|
||||
|
||||
thumb_func_start warp1_set_2
|
||||
warp1_set_2: @ 80553C8
|
||||
thumb_func_start SetWarpDestinationToMapWarp
|
||||
SetWarpDestinationToMapWarp: @ 80553C8
|
||||
push {lr}
|
||||
sub sp, 0x4
|
||||
lsls r0, 24
|
||||
@@ -1053,10 +1053,10 @@ warp1_set_2: @ 80553C8
|
||||
add sp, 0x4
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end warp1_set_2
|
||||
thumb_func_end SetWarpDestinationToMapWarp
|
||||
|
||||
thumb_func_start saved_warp2_set
|
||||
saved_warp2_set: @ 80553E8
|
||||
thumb_func_start SetDynamicWarp
|
||||
SetDynamicWarp: @ 80553E8
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x8
|
||||
ldr r0, _08055418 @ =gSaveBlock1Ptr
|
||||
@@ -1082,7 +1082,7 @@ saved_warp2_set: @ 80553E8
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08055418: .4byte gSaveBlock1Ptr
|
||||
thumb_func_end saved_warp2_set
|
||||
thumb_func_end SetDynamicWarp
|
||||
|
||||
thumb_func_start SetDynamicWarpWithCoords
|
||||
SetDynamicWarpWithCoords: @ 805541C
|
||||
@@ -1114,8 +1114,8 @@ SetDynamicWarpWithCoords: @ 805541C
|
||||
_08055450: .4byte gSaveBlock1Ptr
|
||||
thumb_func_end SetDynamicWarpWithCoords
|
||||
|
||||
thumb_func_start copy_saved_warp2_bank_and_enter_x_to_warp1
|
||||
copy_saved_warp2_bank_and_enter_x_to_warp1: @ 8055454
|
||||
thumb_func_start SetWarpDestinationToDynamicWarp
|
||||
SetWarpDestinationToDynamicWarp: @ 8055454
|
||||
ldr r2, _08055464 @ =gUnknown_2031DBC
|
||||
ldr r0, _08055468 @ =gSaveBlock1Ptr
|
||||
ldr r0, [r0]
|
||||
@@ -1127,7 +1127,7 @@ copy_saved_warp2_bank_and_enter_x_to_warp1: @ 8055454
|
||||
.align 2, 0
|
||||
_08055464: .4byte gUnknown_2031DBC
|
||||
_08055468: .4byte gSaveBlock1Ptr
|
||||
thumb_func_end copy_saved_warp2_bank_and_enter_x_to_warp1
|
||||
thumb_func_end SetWarpDestinationToDynamicWarp
|
||||
|
||||
thumb_func_start sub_805546C
|
||||
sub_805546C: @ 805546C
|
||||
@@ -1220,8 +1220,8 @@ _08055500:
|
||||
_08055508: .4byte gSaveBlock1Ptr
|
||||
thumb_func_end SetLastHealLocationWarp
|
||||
|
||||
thumb_func_start sub_805550C
|
||||
sub_805550C: @ 805550C
|
||||
thumb_func_start UpdateEscapeWarp
|
||||
UpdateEscapeWarp: @ 805550C
|
||||
push {r4-r7,lr}
|
||||
sub sp, 0x4
|
||||
lsls r0, 16
|
||||
@@ -1290,7 +1290,7 @@ _08055590:
|
||||
.align 2, 0
|
||||
_08055598: .4byte gUnknown_2031DBC
|
||||
_0805559C: .4byte gSaveBlock1Ptr
|
||||
thumb_func_end sub_805550C
|
||||
thumb_func_end UpdateEscapeWarp
|
||||
|
||||
thumb_func_start SetEscapeWarp
|
||||
SetEscapeWarp: @ 80555A0
|
||||
@@ -1650,8 +1650,8 @@ _0805581A:
|
||||
bx r1
|
||||
thumb_func_end sub_80557C4
|
||||
|
||||
thumb_func_start sub_8055824
|
||||
sub_8055824: @ 8055824
|
||||
thumb_func_start SetDiveWarpEmerge
|
||||
SetDiveWarpEmerge: @ 8055824
|
||||
push {lr}
|
||||
adds r3, r0, 0
|
||||
adds r2, r1, 0
|
||||
@@ -1666,10 +1666,10 @@ sub_8055824: @ 8055824
|
||||
lsrs r0, 24
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8055824
|
||||
thumb_func_end SetDiveWarpEmerge
|
||||
|
||||
thumb_func_start sub_8055844
|
||||
sub_8055844: @ 8055844
|
||||
thumb_func_start SetDiveWarpDive
|
||||
SetDiveWarpDive: @ 8055844
|
||||
push {lr}
|
||||
adds r3, r0, 0
|
||||
adds r2, r1, 0
|
||||
@@ -1684,7 +1684,7 @@ sub_8055844: @ 8055844
|
||||
lsrs r0, 24
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8055844
|
||||
thumb_func_end SetDiveWarpDive
|
||||
|
||||
thumb_func_start sub_8055864
|
||||
sub_8055864: @ 8055864
|
||||
@@ -1855,8 +1855,8 @@ sub_80559F8: @ 80559F8
|
||||
_08055A04: .4byte gUnknown_2031DD4
|
||||
thumb_func_end sub_80559F8
|
||||
|
||||
thumb_func_start sub_8055A08
|
||||
sub_8055A08: @ 8055A08
|
||||
thumb_func_start StoreInitialPlayerAvatarState
|
||||
StoreInitialPlayerAvatarState: @ 8055A08
|
||||
push {r4,lr}
|
||||
bl GetPlayerFacingDirection
|
||||
ldr r4, _08055A24 @ =gUnknown_2031DD4
|
||||
@@ -1906,7 +1906,7 @@ _08055A5A:
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08055A68: .4byte gUnknown_2031DD4
|
||||
thumb_func_end sub_8055A08
|
||||
thumb_func_end StoreInitialPlayerAvatarState
|
||||
|
||||
thumb_func_start sub_8055A6C
|
||||
sub_8055A6C: @ 8055A6C
|
||||
@@ -3259,26 +3259,26 @@ sub_805644C: @ 805644C
|
||||
bl sub_805BEB8
|
||||
mov r6, sp
|
||||
mov r0, sp
|
||||
bl sub_806C888
|
||||
bl FieldClearPlayerInput
|
||||
mov r0, sp
|
||||
adds r1, r5, 0
|
||||
adds r2, r4, 0
|
||||
bl FieldGetPlayerInput
|
||||
mov r0, sp
|
||||
bl sub_806CD30
|
||||
bl FieldInput_HandleCancelSignpost
|
||||
bl ScriptContext2_IsEnabled
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _080564BA
|
||||
mov r0, sp
|
||||
bl sub_806CAC8
|
||||
bl ProcessPlayerFieldInput
|
||||
cmp r0, 0x1
|
||||
bne _080564B0
|
||||
ldr r0, _080564A8 @ =gUnknown_3005E88
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x2
|
||||
bne _0805649E
|
||||
ldr r0, _080564AC @ =gUnknown_3005078
|
||||
ldr r0, _080564AC @ =gInputToStoreInQuestLogMaybe
|
||||
bl sub_81127F8
|
||||
_0805649E:
|
||||
bl ScriptContext2_Enable
|
||||
@@ -3286,7 +3286,7 @@ _0805649E:
|
||||
b _080564BA
|
||||
.align 2, 0
|
||||
_080564A8: .4byte gUnknown_3005E88
|
||||
_080564AC: .4byte gUnknown_3005078
|
||||
_080564AC: .4byte gInputToStoreInQuestLogMaybe
|
||||
_080564B0:
|
||||
ldrb r0, [r6, 0x2]
|
||||
adds r1, r5, 0
|
||||
@@ -3308,18 +3308,18 @@ sub_80564C8: @ 80564C8
|
||||
bl sub_805BEB8
|
||||
bl sub_8111C68
|
||||
mov r0, sp
|
||||
bl sub_806C888
|
||||
bl FieldClearPlayerInput
|
||||
ldr r0, _08056508 @ =gUnknown_3005E90
|
||||
ldr r0, [r0]
|
||||
str r0, [sp]
|
||||
mov r0, sp
|
||||
bl sub_806CD30
|
||||
bl FieldInput_HandleCancelSignpost
|
||||
bl ScriptContext2_IsEnabled
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _08056512
|
||||
mov r0, sp
|
||||
bl sub_806CAC8
|
||||
bl ProcessPlayerFieldInput
|
||||
cmp r0, 0x1
|
||||
bne _0805650C
|
||||
bl ScriptContext2_Enable
|
||||
@@ -3339,7 +3339,7 @@ _08056512:
|
||||
bl RunQuestLogCB
|
||||
_08056522:
|
||||
ldr r0, _08056530 @ =gUnknown_3005E90
|
||||
bl sub_806C888
|
||||
bl FieldClearPlayerInput
|
||||
add sp, 0x4
|
||||
pop {r0}
|
||||
bx r0
|
||||
@@ -6694,7 +6694,7 @@ sub_805801C: @ 805801C
|
||||
cmp r0, 0x2
|
||||
bne _0805802E
|
||||
adds r0, r1, 0x4
|
||||
bl sub_806DEC4
|
||||
bl GetCoordEventScriptAtMapPosition
|
||||
b _08058030
|
||||
_0805802E:
|
||||
movs r0, 0
|
||||
@@ -6825,7 +6825,7 @@ _08058118:
|
||||
ldrb r1, [r4, 0xC]
|
||||
ldrb r2, [r4, 0x3]
|
||||
mov r0, sp
|
||||
bl sub_806CF38
|
||||
bl GetInteractedLinkPlayerScript
|
||||
_08058122:
|
||||
add sp, 0x8
|
||||
pop {r4}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
gInputToStoreInQuestLogMaybe
|
||||
@@ -1 +1,2 @@
|
||||
gUnknown_3005070
|
||||
gSelectedObjectEvent
|
||||
|
||||
@@ -1161,8 +1161,8 @@ EventScript_GetElevatorFloor:: @ 81A7AB9
|
||||
|
||||
.include "data/scripts/aide.inc"
|
||||
|
||||
gUnknown_81A7ADB:: @ 81A7ADB
|
||||
special sub_80CADC4
|
||||
EventScript_CancelMessageBox:: @ 81A7ADB
|
||||
special DoPicboxCancel
|
||||
release
|
||||
end
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ PalletTown_OnTransition:: @ 8165465
|
||||
end
|
||||
|
||||
PalletTown_EventScript_TryReadySignLady:: @ 8165488
|
||||
goto_if_unset FLAG_PALLET_TOWN_LADY_MOVED_FROM_SIGN, EventScript_Return
|
||||
goto_if_unset FLAG_OPENED_START_MENU, EventScript_Return
|
||||
compare VAR_MAP_SCENE_PALLET_TOWN_SIGN_LADY, 1
|
||||
goto_if_ge EventScript_Return
|
||||
setvar VAR_MAP_SCENE_PALLET_TOWN_SIGN_LADY, 1
|
||||
@@ -447,10 +447,10 @@ PalletTown_EventScript_SignLadyShowSign:: @ 8165894
|
||||
closemessage
|
||||
delay 20
|
||||
textcolor 3
|
||||
setflag FLAG_PALLET_TOWN_LADY_MOVED_FROM_SIGN
|
||||
setflag FLAG_OPENED_START_MENU
|
||||
setvar VAR_MAP_SCENE_PALLET_TOWN_SIGN_LADY, 1
|
||||
setvar SIGN_LADY_READY, FALSE
|
||||
special sub_80699E0
|
||||
special SetWalkingIntoSignVars
|
||||
special sub_80699BC
|
||||
signmsg
|
||||
msgbox PalletTown_Text_PressStartToOpenMenuCopy
|
||||
|
||||
@@ -1274,7 +1274,7 @@ PalletTown_ProfessorOaksLab_EventScript_RivalTakesStarter:: @ 8169D2F
|
||||
playfanfare MUS_FAN5
|
||||
waitfanfare
|
||||
setvar VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 3
|
||||
call_if_set FLAG_PALLET_TOWN_LADY_MOVED_FROM_SIGN, PalletTown_ProfessorOaksLab_EventScript_ReadyEndSignLadyScene
|
||||
call_if_set FLAG_OPENED_START_MENU, PalletTown_ProfessorOaksLab_EventScript_ReadyEndSignLadyScene
|
||||
release
|
||||
end
|
||||
|
||||
|
||||
@@ -96,18 +96,18 @@ gUnknown_81A76D5:: @ 81A76D5
|
||||
msgbox gUnknown_81C124B, MSGBOX_SIGN
|
||||
end
|
||||
|
||||
gUnknown_81A76DE:: @ 81A76DE
|
||||
msgbox gUnknown_81C0ECB, MSGBOX_SIGN
|
||||
EventScript_PokemartSign:: @ 81A76DE
|
||||
msgbox Text_PokemartSign, MSGBOX_SIGN
|
||||
end
|
||||
|
||||
gUnknown_81A76E7:: @ 81A76E7
|
||||
msgbox gUnknown_81C0EF7, MSGBOX_SIGN
|
||||
EventScript_PokecenterSign:: @ 81A76E7
|
||||
msgbox Text_PokecenterSign, MSGBOX_SIGN
|
||||
end
|
||||
|
||||
gUnknown_81A76F0:: @ 81A76F0
|
||||
msgbox gUnknown_81C0F19, MSGBOX_SIGN
|
||||
EventScript_Indigo_UltimateGoal:: @ 81A76F0
|
||||
msgbox Text_Indigo_UltimateGoal, MSGBOX_SIGN
|
||||
end
|
||||
|
||||
gUnknown_81A76F9:: @ 81A76F9
|
||||
msgbox gUnknown_81C0F59, MSGBOX_SIGN
|
||||
EventScript_Indigo_HighestAuthority:: @ 81A76F9
|
||||
msgbox Text_Indigo_HighestAuthority, MSGBOX_SIGN
|
||||
end
|
||||
|
||||
@@ -158,7 +158,7 @@ EventScript_NoRoomToPickUpItem:: @ 81A682D
|
||||
setvar VAR_RESULT, FALSE
|
||||
return
|
||||
|
||||
EventScript_FoundHiddenItem:: @ 81A6843
|
||||
EventScript_HiddenItemScript:: @ 81A6843
|
||||
lockall
|
||||
textcolor 3
|
||||
waitse
|
||||
|
||||
@@ -2,7 +2,7 @@ Test_EventScript_NPC:: @ 81C5552
|
||||
msgbox Test_Text_WelcomeToWorldOfPokemon, MSGBOX_NPC
|
||||
end
|
||||
|
||||
Test_EventScript_Sign:: @ 81C555B
|
||||
EventScript_TestSignpostMsg:: @ 81C555B
|
||||
msgbox Test_Text_ThisIsASignpost, MSGBOX_SIGN
|
||||
end
|
||||
|
||||
|
||||
+2
-2
@@ -354,7 +354,7 @@ gSpecials:: @ 815FD60
|
||||
def_special ForcePlayerOntoBike
|
||||
def_special ListMenu
|
||||
def_special ReturnToListMenu
|
||||
def_special sub_80CADC4
|
||||
def_special DoPicboxCancel
|
||||
def_special SetVermilionTrashCans
|
||||
def_special sub_805D1A8
|
||||
def_special SampleResortGorgeousMonAndReward
|
||||
@@ -376,7 +376,7 @@ gSpecials:: @ 815FD60
|
||||
def_special UnionRoomSpecial
|
||||
def_special ShowWirelessCommunicationScreen
|
||||
def_special EnableNationalPokedex
|
||||
def_special sub_80699E0
|
||||
def_special SetWalkingIntoSignVars
|
||||
def_special sub_80699BC
|
||||
def_special sub_810C3A4
|
||||
def_special SetFlavorTextFlagFromSpecialVars
|
||||
|
||||
@@ -30,20 +30,20 @@ gUnknown_81C0E73:: @ 81C0E73
|
||||
gUnknown_81C0EAC:: @ 81C0EAC
|
||||
.string "There's a pile of snacks here.$"
|
||||
|
||||
gUnknown_81C0ECB:: @ 81C0ECB
|
||||
Text_PokemartSign:: @ 81C0ECB
|
||||
.string "All your item needs fulfilled!\n"
|
||||
.string "POKéMON MART$"
|
||||
|
||||
gUnknown_81C0EF7:: @ 81C0EF7
|
||||
Text_PokecenterSign:: @ 81C0EF7
|
||||
.string "Heal Your POKéMON!\n"
|
||||
.string "POKéMON CENTER$"
|
||||
|
||||
gUnknown_81C0F19:: @ 81C0F19
|
||||
Text_Indigo_UltimateGoal:: @ 81C0F19
|
||||
.string "INDIGO PLATEAU\p"
|
||||
.string "The ultimate goal of TRAINERS!\n"
|
||||
.string "POKéMON LEAGUE HQ$"
|
||||
|
||||
gUnknown_81C0F59:: @ 81C0F59
|
||||
Text_Indigo_HighestAuthority:: @ 81C0F59
|
||||
.string "INDIGO PLATEAU\p"
|
||||
.string "The highest POKéMON authority!\n"
|
||||
.string "POKéMON LEAGUE HQ$"
|
||||
|
||||
@@ -7,4 +7,6 @@
|
||||
#define BG_EVENT_PLAYER_FACING_EAST 3
|
||||
#define BG_EVENT_PLAYER_FACING_WEST 4
|
||||
|
||||
#define BG_EVENT_HIDDEN_ITEM 7
|
||||
|
||||
#endif // GUARD_CONSTANTS_EVENT_BG_H
|
||||
|
||||
@@ -1360,7 +1360,7 @@
|
||||
#define FLAG_SYS_RIBBON_GET (SYS_FLAGS + 0x3B)
|
||||
#define FLAG_SYS_SAW_HELP_SYSTEM_INTRO (SYS_FLAGS + 0x3C)
|
||||
#define FLAG_0x83D (SYS_FLAGS + 0x3D)
|
||||
#define FLAG_PALLET_TOWN_LADY_MOVED_FROM_SIGN (SYS_FLAGS + 0x3E)
|
||||
#define FLAG_OPENED_START_MENU (SYS_FLAGS + 0x3E)
|
||||
#define FLAG_0x83F (SYS_FLAGS + 0x3F)
|
||||
#define FLAG_SYS_NATIONAL_DEX (SYS_FLAGS + 0x40)
|
||||
#define FLAG_SYS_PC_STORAGE_DISABLED (SYS_FLAGS + 0x41)
|
||||
|
||||
@@ -118,6 +118,18 @@
|
||||
#define QL_DEPARTED_MISC_BUILDING_1 8
|
||||
#define QL_DEPARTED_MISC_BUILDING_2 9
|
||||
|
||||
#define QL_INPUT_OFF 0
|
||||
#define QL_INPUT_UP 1
|
||||
#define QL_INPUT_DOWN 2
|
||||
#define QL_INPUT_LEFT 3
|
||||
#define QL_INPUT_RIGHT 4
|
||||
#define QL_INPUT_L 5
|
||||
#define QL_INPUT_R 6
|
||||
#define QL_INPUT_START 7
|
||||
#define QL_INPUT_SELECT 8
|
||||
#define QL_INPUT_A 9
|
||||
#define QL_INPUT_B 10
|
||||
|
||||
|
||||
#define FANCLUB_MEMBER1 0
|
||||
#define FANCLUB_MEMBER2 1
|
||||
|
||||
@@ -49,10 +49,15 @@
|
||||
// Counts up every step. Wraps around at 128.
|
||||
// When wraparound occurs, the friendship of
|
||||
// every party poke gets a slight boost.
|
||||
#define VAR_FRIENDSHIP_STEP_COUNT 0x4021
|
||||
#define VAR_HAPPINESS_STEP_COUNTER 0x4021
|
||||
|
||||
// Maybe unused?
|
||||
#define VAR_0x4022 0x4022
|
||||
// Counts up every step while a party Pokemon is
|
||||
// poisoned. Wraps around at 5. When wraparound
|
||||
// occurs, every party Pokemon with the PSN status
|
||||
// takes 1 point of damage.
|
||||
// This is a deviation from the typical rate in
|
||||
// the series, which is 1 damage every 4 steps.
|
||||
#define VAR_POISON_STEP_COUNTER 0x4022
|
||||
|
||||
// Step counter. Caps at 1500. If you enter a map with
|
||||
// renewable hidden items and this counter is capped,
|
||||
@@ -81,8 +86,8 @@
|
||||
#define VAR_QUEST_LOG_MON_COUNTS 0x4027
|
||||
#define VAR_MENEWS_JISAN_STEP_COUNTER 0x4028
|
||||
#define VAR_0x4029 0x4029
|
||||
#define VAR_HAPPINESS_STEP_COUNTER 0x402A
|
||||
#define VAR_POISON_STEP_COUNTER 0x402B
|
||||
#define VAR_0x402A 0x402A
|
||||
#define VAR_0x402B 0x402B
|
||||
#define VAR_RESET_RTC_ENABLE 0x402C
|
||||
#define VAR_0x402D 0x402D
|
||||
#define VAR_0x402E 0x402E
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
#ifndef GUARD_COORD_EVENT_WEATHER_H
|
||||
#define GUARD_COORD_EVENT_WEATHER_H
|
||||
|
||||
void DoCoordEventWeather(u8 weatherId);
|
||||
|
||||
#endif //GUARD_COORD_EVENT_WEATHER_H
|
||||
@@ -29,5 +29,6 @@ bool8 sub_8071614(void);
|
||||
void EggHatch(void);
|
||||
u8 GetEggStepsToSubtract(void);
|
||||
u16 sub_80722E0(void);
|
||||
bool8 ShouldEggHatch(void);
|
||||
|
||||
#endif // GUARD_DAYCARE_H
|
||||
|
||||
@@ -63,7 +63,8 @@ bool8 TryGetObjectEventIdByLocalIdAndMap(u8, u8, u8, u8 *);
|
||||
u8 GetObjectEventIdByXY(s16, s16);
|
||||
void SetObjectEventDirection(struct ObjectEvent *, u8);
|
||||
u8 sub_808D4F4(void);
|
||||
void RemoveObjectEventByLocalIdAndMap(u8, u8, u8);
|
||||
void RemoveObjectEventByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup);
|
||||
u16 sub_805FCD8(u8 localId, u8 mapNum, u8 mapGroup);
|
||||
void LoadPlayerObjectReflectionPalette(u16, u8);
|
||||
void LoadSpecialObjectReflectionPalette(u16, u8);
|
||||
void TryMoveObjectEventToMapCoords(u8, u8, u8, s16, s16);
|
||||
|
||||
+48
-1
@@ -1161,7 +1161,7 @@ extern const u8 EventScript_TryDoNormalTrainerBattle[];
|
||||
extern const u8 EventScript_TryDoDoubleRematchBattle[];
|
||||
extern const u8 EventScript_TryDoRematchBattle[];
|
||||
extern const u8 EventScript_DoTrainerBattleFromApproach[];
|
||||
extern const u8 Test_EventScript_Sign[];
|
||||
extern const u8 EventScript_TestSignpostMsg[];
|
||||
|
||||
// new_game
|
||||
extern const u8 EventScript_ResetAllMapFlags[];
|
||||
@@ -1212,4 +1212,51 @@ extern const u8 CableClub_Text_PleaseWaitBCancel[];
|
||||
// fldeff_flash
|
||||
extern const u8 EventScript_FldEffFlash[];
|
||||
|
||||
// field_control_avatar
|
||||
extern const u8 EventScript_CancelMessageBox[];
|
||||
extern const u8 PalletTown_PlayersHouse_2F_EventScript_PC[];
|
||||
extern const u8 EventScript_HiddenItemScript[];
|
||||
extern const u8 EventScript_PC[];
|
||||
extern const u8 EventScript_WallTownMap[];
|
||||
extern const u8 gUnknown_81A7606[];
|
||||
extern const u8 gUnknown_81A760F[];
|
||||
extern const u8 gUnknown_81A7618[];
|
||||
extern const u8 gUnknown_81A7633[];
|
||||
extern const u8 gUnknown_81A763C[];
|
||||
extern const u8 gUnknown_81A7621[];
|
||||
extern const u8 gUnknown_81A7645[];
|
||||
extern const u8 gUnknown_81A762A[];
|
||||
extern const u8 TrainerTower_EventScript_ShowTime[];
|
||||
extern const u8 gUnknown_81A764E[];
|
||||
extern const u8 gUnknown_81A7657[];
|
||||
extern const u8 gUnknown_81A7660[];
|
||||
extern const u8 gUnknown_81A7669[];
|
||||
extern const u8 gUnknown_81A7672[];
|
||||
extern const u8 gUnknown_81A767B[];
|
||||
extern const u8 gUnknown_81A7684[];
|
||||
extern const u8 gUnknown_81A768D[];
|
||||
extern const u8 gUnknown_81A7696[];
|
||||
extern const u8 gUnknown_81A769F[];
|
||||
extern const u8 gUnknown_81A76A8[];
|
||||
extern const u8 gUnknown_81A76B1[];
|
||||
extern const u8 gUnknown_81A76BA[];
|
||||
extern const u8 gUnknown_81A76C3[];
|
||||
extern const u8 gUnknown_81A76CC[];
|
||||
extern const u8 gUnknown_81A76D5[];
|
||||
extern const u8 CableClub_EventScript_81BBFD8[];
|
||||
extern const u8 EventScript_Questionnaire[];
|
||||
extern const u8 CableClub_EventScript_ShowBattleRecords[];
|
||||
extern const u8 EventScript_Indigo_UltimateGoal[];
|
||||
extern const u8 EventScript_Indigo_HighestAuthority[];
|
||||
extern const u8 EventScript_PokemartSign[];
|
||||
extern const u8 EventScript_PokecenterSign[];
|
||||
extern const u8 EventScript_CurrentTooFast[];
|
||||
extern const u8 EventScript_UseSurf[];
|
||||
extern const u8 EventScript_Waterfall[];
|
||||
extern const u8 EventScript_CantUseWaterfall[];
|
||||
extern const u8 gUnknown_81A8CED[];
|
||||
extern const u8 EventScript_FieldPoison[];
|
||||
extern const u8 EventScript_EggHatch[];
|
||||
extern const u8 EventScript_1C1361[];
|
||||
|
||||
#endif //GUARD_EVENT_SCRIPTS_H
|
||||
|
||||
@@ -3,12 +3,37 @@
|
||||
|
||||
#include "global.h"
|
||||
|
||||
extern u32 gUnknown_3005078;
|
||||
struct FieldInput
|
||||
{
|
||||
bool8 pressedAButton:1;
|
||||
bool8 checkStandardWildEncounter:1;
|
||||
bool8 pressedStartButton:1;
|
||||
bool8 pressedSelectButton:1;
|
||||
bool8 heldDirection:1;
|
||||
bool8 heldDirection2:1;
|
||||
bool8 tookStep:1;
|
||||
bool8 pressedBButton:1;
|
||||
bool8 pressedRButton:1;
|
||||
bool8 input_field_1_0:1;
|
||||
bool8 input_field_1_1:1;
|
||||
bool8 input_field_1_2:1;
|
||||
bool8 input_field_1_3:1;
|
||||
u8 dpadDirection;
|
||||
};
|
||||
|
||||
extern struct FieldInput gInputToStoreInQuestLogMaybe;
|
||||
|
||||
void RestartWildEncounterImmunitySteps(void);
|
||||
void ClearPoisonStepCounter(void);
|
||||
void SetCableClubWarp(void);
|
||||
int SetCableClubWarp(void);
|
||||
void sub_806DE28(struct ObjectEvent *);
|
||||
void dive_warp(struct MapPosition * pos, u16 behavior);
|
||||
bool8 dive_warp(struct MapPosition * pos, u16 behavior);
|
||||
bool8 sub_806DB84(u16 metatileBehavior, u8 playerDirection);
|
||||
const u8 *GetInteractedLinkPlayerScript(struct MapPosition *position, u8 metatileBehavior, u8 direction);
|
||||
const u8 *GetCoordEventScriptAtMapPosition(struct MapPosition *position);
|
||||
void FieldClearPlayerInput(struct FieldInput *input);
|
||||
int ProcessPlayerFieldInput(struct FieldInput *input);
|
||||
void FieldInput_HandleCancelSignpost(struct FieldInput * input);
|
||||
void FieldGetPlayerInput(struct FieldInput *input, u16 newKeys, u16 heldKeys);
|
||||
|
||||
#endif //GUARD_FIELD_CONTROL_AVATAR_H
|
||||
|
||||
@@ -9,7 +9,7 @@ void DoDiveWarp(void);
|
||||
void DoDoorWarp(void);
|
||||
|
||||
void DoFallWarp(void);
|
||||
void sub_807E59C(void);
|
||||
void DoTeleportWarp(void);
|
||||
void sub_807E500(void);
|
||||
void sub_807DF64(void);
|
||||
void WarpFadeOutScreen(void);
|
||||
@@ -22,5 +22,11 @@ void sub_807DCE4(void);
|
||||
|
||||
bool32 sub_807E418(void);
|
||||
void palette_bg_faded_fill_black(void);
|
||||
void sub_807E4A0(u16 metatileBehavior, u16 delay);
|
||||
void DoEscalatorWarp(u8 a0);
|
||||
void DoLavaridgeGymB1FWarp(void);
|
||||
void DoLavaridgeGym1FWarp(void);
|
||||
void DoTeleportWarp(void);
|
||||
void DoUnionRoomWarp(void);
|
||||
|
||||
#endif // GUARD_FIELD_FADETRANSITION_H
|
||||
|
||||
@@ -28,5 +28,8 @@ u8 GetUnlockedSeviiAreas(void);
|
||||
u32 GetPlayerTrainerId(void);
|
||||
bool8 CutMoveRuinValleyCheck(void);
|
||||
void CutMoveOpenDottedHoleDoor(void);
|
||||
void RunMassageCooldownStepCounter(void);
|
||||
void IncrementResortGorgeousStepCounter(void);
|
||||
void IncrementBirthIslandRockStepCount(void);
|
||||
|
||||
#endif // GUARD_FIELD_SPECIALS_H
|
||||
|
||||
@@ -110,20 +110,18 @@ struct ObjectEventTemplate
|
||||
struct WarpEvent
|
||||
{
|
||||
s16 x, y;
|
||||
s8 warpId;
|
||||
u8 mapGroup;
|
||||
u8 elevation;
|
||||
u8 warpId;
|
||||
u8 mapNum;
|
||||
u8 unk7;
|
||||
u8 mapGroup;
|
||||
};
|
||||
|
||||
struct CoordEvent
|
||||
{
|
||||
s16 x, y;
|
||||
u8 unk4;
|
||||
u8 filler_5;
|
||||
u16 x, y;
|
||||
u8 elevation;
|
||||
u16 trigger;
|
||||
u16 index;
|
||||
u8 filler_A[0x2];
|
||||
u8 *script;
|
||||
};
|
||||
|
||||
@@ -152,7 +150,7 @@ union BgUnion
|
||||
struct BgEvent
|
||||
{
|
||||
u16 x, y;
|
||||
u8 unk4;
|
||||
u8 elevation;
|
||||
u8 kind;
|
||||
// 0x2 padding for the union beginning.
|
||||
union BgUnion bgUnion;
|
||||
@@ -318,6 +316,14 @@ enum
|
||||
COLLISION_HORIZONTAL_RAIL,
|
||||
};
|
||||
|
||||
// player running states
|
||||
enum
|
||||
{
|
||||
NOT_MOVING,
|
||||
TURN_DIRECTION, // not the same as turning! turns your avatar without moving. also known as a turn frame in some circles
|
||||
MOVING,
|
||||
};
|
||||
|
||||
// player tile transition states
|
||||
enum
|
||||
{
|
||||
|
||||
@@ -41,5 +41,6 @@ void InitOldManBag(void);
|
||||
void Pocket_CalculateNItemsAndMaxShowed(u8 pocketId);
|
||||
void PocketCalculateInitialCursorPosAndItemsAbove(u8 pocketId);
|
||||
void GoToBagMenu(u8 menuType, u8 pocket, MainCallback callback);
|
||||
bool8 UseRegisteredKeyItemOnField(void);
|
||||
|
||||
#endif //GUARD_ITEM_MENU_H
|
||||
|
||||
@@ -62,8 +62,8 @@ bool8 MetatileBehavior_UnusedIsMB_01(u8 metatileBehavior);
|
||||
bool8 MetatileBehavior_UnusedIsTallGrass(u8 metatileBehavior);
|
||||
bool8 MetatileBehavior_IsIndoorEncounter(u8 metatileBehavior);
|
||||
bool8 MetatileBehavior_IsMountain(u8 metatileBehavior);
|
||||
bool8 MetatileBehavior_IsDeepOrSemiDeepWater(u8 metatileBehavior);
|
||||
bool8 MetatileBehavior_IsMB19(u8 metatileBehavior);
|
||||
bool8 MetatileBehavior_IsDiveable(u8 metatileBehavior);
|
||||
bool8 MetatileBehavior_IsUnableToEmerge(u8 metatileBehavior);
|
||||
bool8 MetatileBehavior_IsShallowFlowingWater(u8 metatileBehavior);
|
||||
bool8 MetatileBehavior_IsThinIce(u8 metatileBehavior);
|
||||
bool8 MetatileBehavior_IsCrackedIce(u8 metatileBehavior);
|
||||
@@ -89,9 +89,9 @@ bool8 MetatileBehavior_UnusedReturnFalse_5(u8 metatileBehavior);
|
||||
bool8 MetatileBehavior_UnusedReturnFalse_6(u8 metatileBehavior);
|
||||
bool8 MetatileBehavior_UnusedReturnFalse_7(u8 metatileBehavior);
|
||||
bool8 MetatileBehavior_UnusedReturnFalse_8(u8 metatileBehavior);
|
||||
bool8 MetatileBehavior_ReturnFalse_12(u8 metatileBehavior);
|
||||
bool8 MetatileBheavior_IsMB_68(u8 metatileBehavior);
|
||||
bool8 MetatileBehavior_IsRegularWarp(u8 metatileBehavior);
|
||||
bool8 MetatileBehavior_IsLavaridgeB1FWarp(u8 metatileBehavior);
|
||||
bool8 MetatileBehavior_IsLavaridge1FWarp(u8 metatileBehavior);
|
||||
bool8 MetatileBehavior_IsWarpPad(u8 metatileBehavior);
|
||||
bool8 MetatileBehavior_IsUnionRoomWarp(u8 metatileBehavior);
|
||||
bool8 MetatileBehavior_IsWater(u8 metatileBehavior);
|
||||
bool8 MetatileBehavior_IsFallWarp(u8 metatileBehavior);
|
||||
|
||||
+7
-3
@@ -72,7 +72,7 @@ void Overworld_SetMapObjTemplateMovementType(u8, u8);
|
||||
|
||||
void SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
|
||||
void saved_warp2_set(int unused, s8 mapGroup, s8 mapNum, s8 warpId);
|
||||
void SetDynamicWarp(int unused, s8 mapGroup, s8 mapNum, s8 warpId);
|
||||
void SetDynamicWarpWithCoords(int unused, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
void SetFixedDiveWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
void SetFixedHoleWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
@@ -110,9 +110,9 @@ void WarpIntoMap(void);
|
||||
u8 get_map_light_level_by_bank_and_number(s8 mapGroup, s8 mapNum);
|
||||
void sub_8086194(void);
|
||||
void sub_8084CCC(u8 spawn);
|
||||
void warp1_set_2(s8 mapGroup, s8 mapNum, s8 warpNum);
|
||||
void SetWarpDestinationToMapWarp(s8 mapGroup, s8 mapNum, s8 warpNum);
|
||||
void c2_load_new_map(void);
|
||||
void copy_saved_warp2_bank_and_enter_x_to_warp1(u8 unused);
|
||||
void SetWarpDestinationToDynamicWarp(u8 unused);
|
||||
void mapldr_default(void);
|
||||
|
||||
u32 GetGameStat(u8 statId);
|
||||
@@ -194,6 +194,10 @@ void SetMainCallback1(MainCallback cb);
|
||||
void CB1_Overworld(void);
|
||||
void sub_80568C4(void);
|
||||
u8 GetLastUsedWarpMapSectionId(void);
|
||||
void StoreInitialPlayerAvatarState(void);
|
||||
void UpdateEscapeWarp(s16 x, s16 y);
|
||||
bool8 SetDiveWarpEmerge(u16 x, u16 y);
|
||||
bool8 SetDiveWarpDive(u16 x, u16 y);
|
||||
|
||||
extern u16 *gBGTilemapBuffers1;
|
||||
extern u16 *gBGTilemapBuffers2;
|
||||
|
||||
+16
-9
@@ -53,27 +53,34 @@ void mapheader_run_script_with_tag_x3(void);
|
||||
void mapheader_run_script_with_tag_x5(void);
|
||||
void mapheader_run_script_with_tag_x7(void);
|
||||
void mapheader_run_script_with_tag_x6(void);
|
||||
bool8 mapheader_run_first_tag2_script_list_match(void);
|
||||
bool8 TryRunOnFrameMapScript(void);
|
||||
void mapheader_run_first_tag4_script_list_match(void);
|
||||
u32 CalculateRamScriptChecksum(void);
|
||||
void ClearRamScript(void);
|
||||
bool8 InitRamScript(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);
|
||||
u8 *sub_8099244(void);
|
||||
void sub_80992A0(u8 *script, u16 scriptSize);
|
||||
bool32 ValidateRamScript(void);
|
||||
void MEventSetRamScript(u8 * script, u16 scriptSize);
|
||||
u8 * sub_8069E48(void);
|
||||
void sub_8069998(u8 var);
|
||||
void sub_80699F8(void);
|
||||
void sub_8069964(void);
|
||||
void sub_80699A4(void);
|
||||
void sub_8069970(void);
|
||||
void sub_8069A20(void);
|
||||
void sub_8069A2C(void);
|
||||
void RegisterQuestLogInput(u8 var);
|
||||
void ClearMsgBoxCancelableState(void);
|
||||
void SetQuestLogInputIsDpadFlag(void);
|
||||
void ClearQuestLogInput(void);
|
||||
void ClearQuestLogInputIsDpadFlag(void);
|
||||
void MsgSetSignPost(void);
|
||||
void MsgSetNotSignPost(void);
|
||||
bool8 IsMsgSignPost(void);
|
||||
bool8 IsQuestLogInputDpad(void);
|
||||
u8 GetRegisteredQuestLogInput(void);
|
||||
void ResetFacingNpcOrSignPostVars(void);
|
||||
bool8 CanWalkAwayToCancelMsgBox(void);
|
||||
void SetWalkingIntoSignVars(void);
|
||||
bool8 sub_80699D4(void);
|
||||
|
||||
extern const u8 *gRAMScriptPtr;
|
||||
extern u8 gWalkAwayFromSignInhibitTimer;
|
||||
|
||||
#endif // GUARD_SCRIPT_H
|
||||
|
||||
@@ -15,6 +15,6 @@ void ScriptMenu_DisplayPCStartupPrompt(void);
|
||||
|
||||
bool8 (*ScriptMenu_GetPicboxWaitFunc(void))(void);
|
||||
void QLPlaybackCB_DestroyScriptMenuMonPicSprites(void);
|
||||
void sub_809D424(void);
|
||||
void PicboxCancel(void);
|
||||
|
||||
#endif //GUARD_SCRIPT_MENU_H
|
||||
|
||||
@@ -14,5 +14,6 @@ bool8 sub_810CF04(u8 a0);
|
||||
u8 sub_810CF54();
|
||||
void sub_810D0D0(void);
|
||||
void sub_810CB90(void);
|
||||
bool8 sub_810C4EC(void);
|
||||
|
||||
#endif //GUARD_VS_SEEKER_H
|
||||
|
||||
@@ -46,5 +46,6 @@ u8 GetUnownLetterByPersonalityLoByte(u32 personality);
|
||||
bool8 SweetScentWildEncounter(void);
|
||||
void SeedWildEncounterRng(u16 randVal);
|
||||
void ResetEncounterRateModifiers(void);
|
||||
bool8 TryStandardWildEncounter(u32 currMetatileBehavior);
|
||||
|
||||
#endif // GUARD_WILD_ENCOUNTER_H
|
||||
|
||||
+1
-1
@@ -99,7 +99,7 @@ SECTIONS {
|
||||
src/text_window_graphics.o(.text);
|
||||
src/script.o(.text);
|
||||
src/scrcmd.o(.text);
|
||||
asm/field_control_avatar.o(.text);
|
||||
src/field_control_avatar.o(.text);
|
||||
src/event_data.o(.text);
|
||||
src/coord_event_weather.o(.text);
|
||||
src/field_tasks.o(.text);
|
||||
|
||||
+2
-2
@@ -974,7 +974,7 @@ const u8 *BattleSetup_GetScriptAddrAfterBattle(void)
|
||||
if (sTrainerBattleEndScript != NULL)
|
||||
return sTrainerBattleEndScript;
|
||||
else
|
||||
return Test_EventScript_Sign;
|
||||
return EventScript_TestSignpostMsg;
|
||||
}
|
||||
|
||||
const u8 *BattleSetup_GetTrainerPostBattleScript(void)
|
||||
@@ -982,7 +982,7 @@ const u8 *BattleSetup_GetTrainerPostBattleScript(void)
|
||||
if (sTrainerABattleScriptRetAddr != NULL)
|
||||
return sTrainerABattleScriptRetAddr;
|
||||
else
|
||||
return Test_EventScript_Sign;
|
||||
return EventScript_TestSignpostMsg;
|
||||
}
|
||||
|
||||
void ShowTrainerCantBattleSpeech(void)
|
||||
|
||||
+1
-1
@@ -762,7 +762,7 @@ void CleanupLinkRoomState(void)
|
||||
LoadPlayerParty();
|
||||
SavePlayerBag();
|
||||
}
|
||||
copy_saved_warp2_bank_and_enter_x_to_warp1(127);
|
||||
SetWarpDestinationToDynamicWarp(127);
|
||||
}
|
||||
|
||||
void ExitLinkRoom(void)
|
||||
|
||||
+34
-32
@@ -1,46 +1,48 @@
|
||||
#include "global.h"
|
||||
#include "constants/weather.h"
|
||||
|
||||
void nullsub_27(void) {}
|
||||
void nullsub_28(void) {}
|
||||
void nullsub_29(void) {}
|
||||
void nullsub_30(void) {}
|
||||
void nullsub_31(void) {}
|
||||
void nullsub_32(void) {}
|
||||
void nullsub_33(void) {}
|
||||
void nullsub_34(void) {}
|
||||
void nullsub_35(void) {}
|
||||
void nullsub_36(void) {}
|
||||
void nullsub_37(void) {}
|
||||
void nullsub_38(void) {}
|
||||
void nullsub_39(void) {}
|
||||
// These were all dummied out because it's always sunny in Viridian
|
||||
void WeatherCoordEvent_SunnyClouds(void) {}
|
||||
void WeatherCoordEvent_Sunny(void) {}
|
||||
void WeatherCoordEvent_Rain(void) {}
|
||||
void WeatherCoordEvent_Snow(void) {}
|
||||
void WeatherCoordEvent_RainThunderstorm(void) {}
|
||||
void WeatherCoordEvent_FogHorizontal(void) {}
|
||||
void WeatherCoordEvent_VolcanicAsh(void) {}
|
||||
void WeatherCoordEvent_Sandstorm(void) {}
|
||||
void WeatherCoordEvent_FogDiagonal(void) {}
|
||||
void WeatherCoordEvent_Underwater(void) {}
|
||||
void WeatherCoordEvent_Shade(void) {}
|
||||
void WeatherCoordEvent_Route119Cycle(void) {}
|
||||
void WeatherCoordEvent_Route123Cycle(void) {}
|
||||
|
||||
struct {
|
||||
static struct {
|
||||
u8 weatherId;
|
||||
void (*callback)(void);
|
||||
} const gUnknown_83A72A8[] = {
|
||||
{0x01, nullsub_27},
|
||||
{0x02, nullsub_28},
|
||||
{0x03, nullsub_29},
|
||||
{0x04, nullsub_30},
|
||||
{0x05, nullsub_31},
|
||||
{0x06, nullsub_32},
|
||||
{0x07, nullsub_33},
|
||||
{0x08, nullsub_34},
|
||||
{0x09, nullsub_35},
|
||||
{0x0a, nullsub_36},
|
||||
{0x0b, nullsub_37},
|
||||
{0x14, nullsub_38},
|
||||
{0x15, nullsub_39}
|
||||
} const sWeatherCoordEventFuncs[] = {
|
||||
{WEATHER_SUNNY_CLOUDS, WeatherCoordEvent_SunnyClouds },
|
||||
{WEATHER_SUNNY, WeatherCoordEvent_Sunny },
|
||||
{WEATHER_RAIN, WeatherCoordEvent_Rain },
|
||||
{WEATHER_SNOW, WeatherCoordEvent_Snow },
|
||||
{WEATHER_RAIN_THUNDERSTORM, WeatherCoordEvent_RainThunderstorm},
|
||||
{WEATHER_FOG_HORIZONTAL, WeatherCoordEvent_FogHorizontal },
|
||||
{WEATHER_VOLCANIC_ASH, WeatherCoordEvent_VolcanicAsh },
|
||||
{WEATHER_SANDSTORM, WeatherCoordEvent_Sandstorm },
|
||||
{WEATHER_FOG_DIAGONAL, WeatherCoordEvent_FogDiagonal },
|
||||
{WEATHER_UNDERWATER, WeatherCoordEvent_Underwater },
|
||||
{WEATHER_SHADE, WeatherCoordEvent_Shade },
|
||||
{WEATHER_ROUTE119_CYCLE, WeatherCoordEvent_Route119Cycle },
|
||||
{WEATHER_ROUTE123_CYCLE, WeatherCoordEvent_Route123Cycle }
|
||||
};
|
||||
|
||||
void trigger_activate_weather(u8 weatherId)
|
||||
void DoCoordEventWeather(u8 weatherId)
|
||||
{
|
||||
u8 i;
|
||||
for (i = 0; i < NELEMS(gUnknown_83A72A8); i++)
|
||||
for (i = 0; i < NELEMS(sWeatherCoordEventFuncs); i++)
|
||||
{
|
||||
if (gUnknown_83A72A8[i].weatherId == weatherId)
|
||||
if (sWeatherCoordEventFuncs[i].weatherId == weatherId)
|
||||
{
|
||||
gUnknown_83A72A8[i].callback();
|
||||
sWeatherCoordEventFuncs[i].callback();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -549,11 +549,11 @@ void DoDiveWarp(void)
|
||||
CreateTask(sub_807E718, 10);
|
||||
}
|
||||
|
||||
void sub_807E4A0(u16 a, u16 b)
|
||||
void sub_807E4A0(u16 metatileBehavior, u16 delay)
|
||||
{
|
||||
u8 taskId = CreateTask(sub_807E980, 10);
|
||||
gTasks[taskId].data[1] = a;
|
||||
gTasks[taskId].data[15] = b;
|
||||
gTasks[taskId].data[1] = metatileBehavior;
|
||||
gTasks[taskId].data[15] = delay;
|
||||
sub_807E980(taskId);
|
||||
}
|
||||
|
||||
@@ -571,7 +571,7 @@ void sub_807E500(void)
|
||||
gFieldCallback = sub_807DF94;
|
||||
}
|
||||
|
||||
void sub_807E524(void)
|
||||
void DoUnionRoomWarp(void)
|
||||
{
|
||||
ScriptContext2_Enable();
|
||||
gFieldCallback = sub_807DF64;
|
||||
@@ -584,25 +584,25 @@ void DoFallWarp(void)
|
||||
gFieldCallback = FieldCB_FallWarpExit;
|
||||
}
|
||||
|
||||
void sub_807E560(u8 a0)
|
||||
void DoEscalatorWarp(u8 metatileBehavior)
|
||||
{
|
||||
ScriptContext2_Enable();
|
||||
StartEscalatorWarp(a0, 10);
|
||||
StartEscalatorWarp(metatileBehavior, 10);
|
||||
}
|
||||
|
||||
void sub_807E57C(void)
|
||||
void DoLavaridgeGymB1FWarp(void)
|
||||
{
|
||||
ScriptContext2_Enable();
|
||||
StartLavaridgeGymB1FWarp(10);
|
||||
}
|
||||
|
||||
void sub_807E58C(void)
|
||||
void DoLavaridgeGym1FWarp(void)
|
||||
{
|
||||
ScriptContext2_Enable();
|
||||
StartLavaridgeGym1FWarp(10);
|
||||
}
|
||||
|
||||
void sub_807E59C(void)
|
||||
void DoTeleportWarp(void)
|
||||
{
|
||||
ScriptContext2_Enable();
|
||||
TryFadeOutOldMapMusic();
|
||||
|
||||
@@ -547,11 +547,11 @@ void NullFieldSpecial(void)
|
||||
|
||||
}
|
||||
|
||||
void sub_80CADC4(void)
|
||||
void DoPicboxCancel(void)
|
||||
{
|
||||
u8 t = EOS;
|
||||
AddTextPrinterParameterized(0, 2, &t, 0, 1, 0, NULL);
|
||||
sub_809D424();
|
||||
PicboxCancel();
|
||||
}
|
||||
|
||||
void SetVermilionTrashCans(void)
|
||||
@@ -1545,7 +1545,7 @@ void SetSeenMon(void)
|
||||
GetSetPokedexFlag(SpeciesToNationalPokedexNum(gSpecialVar_0x8004), 2);
|
||||
}
|
||||
|
||||
void sub_80CBDE8(void)
|
||||
void ResetContextNpcTextColor(void)
|
||||
{
|
||||
gSelectedObjectEvent = 0;
|
||||
gSpecialVar_TextColor = 0xFF;
|
||||
@@ -2435,7 +2435,7 @@ static void Task_WaitDeoxysFieldEffect(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
void BirthIslandDeoxysStepCounter(void)
|
||||
void IncrementBirthIslandRockStepCount(void)
|
||||
{
|
||||
u16 count = VarGet(VAR_DEOXYS_INTERACTION_STEP_COUNTER);
|
||||
if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BIRTH_ISLAND_EXTERIOR) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(BIRTH_ISLAND_EXTERIOR))
|
||||
|
||||
@@ -474,7 +474,7 @@ bool8 MetatileBehavior_IsMountain(u8 metatileBehavior)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 MetatileBehavior_IsDeepOrSemiDeepWater(u8 metatileBehavior)
|
||||
bool8 MetatileBehavior_IsDiveable(u8 metatileBehavior)
|
||||
{
|
||||
if(metatileBehavior >= MB_SEMI_DEEP_WATER && metatileBehavior <= MB_DEEP_WATER)
|
||||
return TRUE;
|
||||
@@ -482,7 +482,7 @@ bool8 MetatileBehavior_IsDeepOrSemiDeepWater(u8 metatileBehavior)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 MetatileBehavior_IsMB19(u8 metatileBehavior)
|
||||
bool8 MetatileBehavior_IsUnableToEmerge(u8 metatileBehavior)
|
||||
{
|
||||
if(metatileBehavior == MB_19)
|
||||
return TRUE;
|
||||
@@ -618,9 +618,9 @@ bool8 MetatileBehavior_UnusedReturnFalse_5(u8 metatileBehavior) { return FALSE;
|
||||
bool8 MetatileBehavior_UnusedReturnFalse_6(u8 metatileBehavior) { return FALSE; }
|
||||
bool8 MetatileBehavior_UnusedReturnFalse_7(u8 metatileBehavior) { return FALSE; }
|
||||
bool8 MetatileBehavior_UnusedReturnFalse_8(u8 metatileBehavior) { return FALSE; }
|
||||
bool8 MetatileBehavior_ReturnFalse_12(u8 metatileBehavior) { return FALSE; }
|
||||
bool8 MetatileBehavior_IsLavaridgeB1FWarp(u8 metatileBehavior) { return FALSE; }
|
||||
|
||||
bool8 MetatileBheavior_IsMB_68(u8 metatileBehavior)
|
||||
bool8 MetatileBehavior_IsLavaridge1FWarp(u8 metatileBehavior)
|
||||
{
|
||||
if(metatileBehavior == MB_68)
|
||||
return TRUE;
|
||||
@@ -628,7 +628,7 @@ bool8 MetatileBheavior_IsMB_68(u8 metatileBehavior)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 MetatileBehavior_IsRegularWarp(u8 metatileBehavior)
|
||||
bool8 MetatileBehavior_IsWarpPad(u8 metatileBehavior)
|
||||
{
|
||||
if(metatileBehavior == MB_REGULAR_WARP)
|
||||
return TRUE;
|
||||
|
||||
+1
-1
@@ -4393,7 +4393,7 @@ static void sub_80C527C(u16 mapsec)
|
||||
}
|
||||
else
|
||||
{
|
||||
warp1_set_2(sMapsecToSpawn[idx][0], sMapsecToSpawn[idx][1], -1);
|
||||
SetWarpDestinationToMapWarp(sMapsecToSpawn[idx][0], sMapsecToSpawn[idx][1], -1);
|
||||
}
|
||||
ReturnToFieldFromFlyMapSelect();
|
||||
}
|
||||
|
||||
+36
-37
@@ -55,8 +55,7 @@ static EWRAM_DATA u16 sMovingNpcMapId = 0;
|
||||
static EWRAM_DATA u16 sFieldEffectScriptId = 0;
|
||||
|
||||
struct ScriptContext * gUnknown_3005070;
|
||||
|
||||
extern u8 gSelectedObjectEvent;
|
||||
u8 gSelectedObjectEvent;
|
||||
|
||||
// This is defined in here so the optimizer can't see its value when compiling
|
||||
// script.c.
|
||||
@@ -789,7 +788,7 @@ bool8 ScrCmd_warpteleport(struct ScriptContext * ctx)
|
||||
u16 y = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
SetWarpDestination(mapGroup, mapNum, warpId, x, y);
|
||||
sub_807E59C();
|
||||
DoTeleportWarp();
|
||||
ResetInitialPlayerAvatarState();
|
||||
return TRUE;
|
||||
}
|
||||
@@ -1315,32 +1314,32 @@ bool8 ScrCmd_closemessage(struct ScriptContext * ctx)
|
||||
|
||||
static bool8 WaitForAorBPress(void)
|
||||
{
|
||||
if (gMain.newKeys & A_BUTTON)
|
||||
if (JOY_NEW(A_BUTTON))
|
||||
return TRUE;
|
||||
if (gMain.newKeys & B_BUTTON)
|
||||
if (JOY_NEW(B_BUTTON))
|
||||
return TRUE;
|
||||
|
||||
if (sub_806B93C(gUnknown_3005070) == TRUE)
|
||||
{
|
||||
u8 r4 = sub_806B96C(gUnknown_3005070);
|
||||
sub_8069998(r4);
|
||||
if (r4)
|
||||
RegisterQuestLogInput(r4);
|
||||
if (r4 != QL_INPUT_OFF)
|
||||
{
|
||||
if (gQuestLogState != 2)
|
||||
if (gQuestLogState != QL_STATE_2)
|
||||
{
|
||||
sub_80699F8();
|
||||
if (r4 < 9 || r4 > 10)
|
||||
sub_8069964();
|
||||
ClearMsgBoxCancelableState();
|
||||
if (r4 != QL_INPUT_A && r4 != QL_INPUT_B)
|
||||
SetQuestLogInputIsDpadFlag();
|
||||
else
|
||||
{
|
||||
sub_80699A4();
|
||||
sub_8069970();
|
||||
ClearQuestLogInput();
|
||||
ClearQuestLogInputIsDpadFlag();
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (sub_8112CAC() == 1 || gQuestLogState == 2)
|
||||
if (sub_8112CAC() == 1 || gQuestLogState == QL_STATE_2)
|
||||
{
|
||||
if (gUnknown_20370AC == 120)
|
||||
return TRUE;
|
||||
@@ -1368,37 +1367,37 @@ static bool8 sub_806B93C(struct ScriptContext * ctx)
|
||||
|
||||
static u8 sub_806B96C(struct ScriptContext * ctx)
|
||||
{
|
||||
if (gMain.heldKeys & DPAD_UP && gSpecialVar_Facing != 2)
|
||||
return 1;
|
||||
if (JOY_HELD(DPAD_UP) && gSpecialVar_Facing != DIR_NORTH)
|
||||
return QL_INPUT_UP;
|
||||
|
||||
if (gMain.heldKeys & DPAD_DOWN && gSpecialVar_Facing != 1)
|
||||
return 2;
|
||||
if (JOY_HELD(DPAD_DOWN) && gSpecialVar_Facing != DIR_SOUTH)
|
||||
return QL_INPUT_DOWN;
|
||||
|
||||
if (gMain.heldKeys & DPAD_LEFT && gSpecialVar_Facing != 3)
|
||||
return 3;
|
||||
if (JOY_HELD(DPAD_LEFT) && gSpecialVar_Facing != DIR_WEST)
|
||||
return QL_INPUT_LEFT;
|
||||
|
||||
if (gMain.heldKeys & DPAD_RIGHT && gSpecialVar_Facing != 4)
|
||||
return 4;
|
||||
if (JOY_HELD(DPAD_RIGHT) && gSpecialVar_Facing != DIR_EAST)
|
||||
return QL_INPUT_RIGHT;
|
||||
|
||||
if (gMain.newKeys & L_BUTTON)
|
||||
return 5;
|
||||
if (JOY_NEW(L_BUTTON))
|
||||
return QL_INPUT_L;
|
||||
|
||||
if (gMain.heldKeys & R_BUTTON)
|
||||
return 6;
|
||||
if (JOY_HELD(R_BUTTON))
|
||||
return QL_INPUT_R;
|
||||
|
||||
if (gMain.heldKeys & START_BUTTON)
|
||||
return 7;
|
||||
if (JOY_HELD(START_BUTTON))
|
||||
return QL_INPUT_START;
|
||||
|
||||
if (gMain.heldKeys & SELECT_BUTTON)
|
||||
return 8;
|
||||
if (JOY_HELD(SELECT_BUTTON))
|
||||
return QL_INPUT_SELECT;
|
||||
|
||||
if (gMain.newKeys & A_BUTTON)
|
||||
return 9;
|
||||
if (JOY_NEW(A_BUTTON))
|
||||
return QL_INPUT_A;
|
||||
|
||||
if (gMain.newKeys & B_BUTTON)
|
||||
return 10;
|
||||
if (JOY_NEW(B_BUTTON))
|
||||
return QL_INPUT_B;
|
||||
|
||||
return 0;
|
||||
return QL_INPUT_OFF;
|
||||
}
|
||||
|
||||
bool8 ScrCmd_waitbuttonpress(struct ScriptContext * ctx)
|
||||
@@ -2224,13 +2223,13 @@ bool8 ScrCmd_removecoins(struct ScriptContext * ctx)
|
||||
|
||||
bool8 ScrCmd_signmsg(struct ScriptContext * ctx)
|
||||
{
|
||||
sub_8069A20();
|
||||
MsgSetSignPost();
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 ScrCmd_normalmsg(struct ScriptContext * ctx)
|
||||
{
|
||||
sub_8069A2C();
|
||||
MsgSetNotSignPost();
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
+48
-48
@@ -7,7 +7,7 @@
|
||||
#define SCRIPT_STACK_SIZE 20
|
||||
|
||||
|
||||
extern void sub_80CBDE8(void); // field_specials
|
||||
extern void ResetContextNpcTextColor(void); // field_specials
|
||||
extern u16 CalcCRC16WithTable(u8 *data, int length); // util
|
||||
extern bool32 ValidateReceivedWonderCard(void); // mevent
|
||||
|
||||
@@ -18,21 +18,21 @@ enum
|
||||
SCRIPT_MODE_NATIVE,
|
||||
};
|
||||
|
||||
EWRAM_DATA u8 gUnknown_20370A0 = 0;
|
||||
EWRAM_DATA u8 gWalkAwayFromSignInhibitTimer = 0;
|
||||
EWRAM_DATA const u8 *gRAMScriptPtr = NULL;
|
||||
|
||||
// ewram bss
|
||||
/*IWRAM_DATA*/ static u8 sScriptContext1Status;
|
||||
/*IWRAM_DATA*/ static u32 sUnusedVariable1;
|
||||
/*IWRAM_DATA*/ static struct ScriptContext sScriptContext1;
|
||||
/*IWRAM_DATA*/ static u32 sUnusedVariable2;
|
||||
/*IWRAM_DATA*/ static struct ScriptContext sScriptContext2;
|
||||
/*IWRAM_DATA*/ static bool8 sScriptContext2Enabled;
|
||||
/*IWRAM_DATA*/ static u8 gUnknown_3000F9D;
|
||||
/*IWRAM_DATA*/ static u8 gUnknown_3000F9E;
|
||||
/*IWRAM_DATA*/ static u8 gUnknown_3000F9F;
|
||||
/*IWRAM_DATA*/ static u8 gUnknown_3000FA0;
|
||||
/*IWRAM_DATA*/ static u8 gUnknown_3000FA1;
|
||||
// iwram bss
|
||||
static u8 sScriptContext1Status;
|
||||
static u32 sUnusedVariable1;
|
||||
static struct ScriptContext sScriptContext1;
|
||||
static u32 sUnusedVariable2;
|
||||
static struct ScriptContext sScriptContext2;
|
||||
static bool8 sScriptContext2Enabled;
|
||||
static u8 gUnknown_3000F9D;
|
||||
static u8 sMsgBoxIsCancelable;
|
||||
static u8 sQuestLogInput;
|
||||
static u8 sQuestLogInputIsDpad;
|
||||
static u8 sMsgIsSignPost;
|
||||
|
||||
extern ScrCmdFunc gScriptCmdTable[];
|
||||
extern ScrCmdFunc gScriptCmdTableEnd[];
|
||||
@@ -202,95 +202,95 @@ bool8 ScriptContext2_IsEnabled(void)
|
||||
return sScriptContext2Enabled;
|
||||
}
|
||||
|
||||
void sub_8069964(void)
|
||||
void SetQuestLogInputIsDpadFlag(void)
|
||||
{
|
||||
gUnknown_3000FA0 = 1;
|
||||
sQuestLogInputIsDpad = TRUE;
|
||||
}
|
||||
|
||||
void sub_8069970(void)
|
||||
void ClearQuestLogInputIsDpadFlag(void)
|
||||
{
|
||||
gUnknown_3000FA0 = 0;
|
||||
sQuestLogInputIsDpad = FALSE;
|
||||
}
|
||||
|
||||
bool8 sub_806997C(void)
|
||||
bool8 IsQuestLogInputDpad(void)
|
||||
{
|
||||
if(gUnknown_3000FA0 == TRUE)
|
||||
if(sQuestLogInputIsDpad == TRUE)
|
||||
return TRUE;
|
||||
else
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void sub_8069998(u8 var)
|
||||
void RegisterQuestLogInput(u8 var)
|
||||
{
|
||||
gUnknown_3000F9F = var;
|
||||
sQuestLogInput = var;
|
||||
}
|
||||
|
||||
void sub_80699A4(void)
|
||||
void ClearQuestLogInput(void)
|
||||
{
|
||||
gUnknown_3000F9F = 0;
|
||||
sQuestLogInput = 0;
|
||||
}
|
||||
|
||||
u8 sub_80699B0(void)
|
||||
u8 GetRegisteredQuestLogInput(void)
|
||||
{
|
||||
return gUnknown_3000F9F;
|
||||
return sQuestLogInput;
|
||||
}
|
||||
|
||||
void sub_80699BC(void)
|
||||
{
|
||||
gUnknown_3000F9D = 1;
|
||||
gUnknown_3000F9D = TRUE;
|
||||
}
|
||||
|
||||
void sub_80699C8(void)
|
||||
{
|
||||
gUnknown_3000F9D = 0;
|
||||
gUnknown_3000F9D = FALSE;
|
||||
}
|
||||
|
||||
u8 sub_80699D4(void)
|
||||
bool8 sub_80699D4(void)
|
||||
{
|
||||
return gUnknown_3000F9D;
|
||||
}
|
||||
|
||||
void sub_80699E0(void)
|
||||
void SetWalkingIntoSignVars(void)
|
||||
{
|
||||
gUnknown_20370A0 = 6;
|
||||
gUnknown_3000F9E = 1;
|
||||
gWalkAwayFromSignInhibitTimer = 6;
|
||||
sMsgBoxIsCancelable = TRUE;
|
||||
}
|
||||
|
||||
void sub_80699F8(void)
|
||||
void ClearMsgBoxCancelableState(void)
|
||||
{
|
||||
gUnknown_3000F9E = 0;
|
||||
sMsgBoxIsCancelable = FALSE;
|
||||
}
|
||||
|
||||
bool8 sub_8069A04(void)
|
||||
bool8 CanWalkAwayToCancelMsgBox(void)
|
||||
{
|
||||
if(gUnknown_3000F9E == TRUE)
|
||||
if(sMsgBoxIsCancelable == TRUE)
|
||||
return TRUE;
|
||||
else
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void sub_8069A20(void)
|
||||
void MsgSetSignPost(void)
|
||||
{
|
||||
gUnknown_3000FA1 = 1;
|
||||
sMsgIsSignPost = TRUE;
|
||||
}
|
||||
|
||||
void sub_8069A2C(void)
|
||||
void MsgSetNotSignPost(void)
|
||||
{
|
||||
gUnknown_3000FA1 = 0;
|
||||
sMsgIsSignPost = FALSE;
|
||||
}
|
||||
|
||||
bool8 IsMsgSignPost(void)
|
||||
{
|
||||
if(gUnknown_3000FA1 == TRUE)
|
||||
if(sMsgIsSignPost == TRUE)
|
||||
return TRUE;
|
||||
else
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void sub_8069A54(void)
|
||||
void ResetFacingNpcOrSignPostVars(void)
|
||||
{
|
||||
sub_80CBDE8();
|
||||
sub_8069A2C();
|
||||
ResetContextNpcTextColor();
|
||||
MsgSetNotSignPost();
|
||||
}
|
||||
|
||||
bool8 ScriptContext1_IsScriptSetUp(void)
|
||||
@@ -329,9 +329,9 @@ bool8 ScriptContext2_RunScript(void)
|
||||
|
||||
void ScriptContext1_SetupScript(const u8 *ptr)
|
||||
{
|
||||
sub_80699F8();
|
||||
ClearMsgBoxCancelableState();
|
||||
sub_80699C8();
|
||||
sub_8069970();
|
||||
ClearQuestLogInputIsDpadFlag();
|
||||
InitScriptContext(&sScriptContext1, gScriptCmdTable, gScriptCmdTableEnd);
|
||||
SetupBytecodeScript(&sScriptContext1, ptr);
|
||||
ScriptContext2_Enable();
|
||||
@@ -431,7 +431,7 @@ void mapheader_run_script_with_tag_x6(void)
|
||||
mapheader_run_script_by_tag(6);
|
||||
}
|
||||
|
||||
bool8 mapheader_run_first_tag2_script_list_match(void)
|
||||
bool8 TryRunOnFrameMapScript(void)
|
||||
{
|
||||
u8 *ptr;
|
||||
|
||||
@@ -482,7 +482,7 @@ bool8 InitRamScript(u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 objec
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
u8 *GetRamScript(u8 objectId, u8 *script)
|
||||
const u8 *GetRamScript(u8 objectId, const u8 *script)
|
||||
{
|
||||
struct RamScriptData *scriptData = &gSaveBlock1Ptr->ramScript.data;
|
||||
gRAMScriptPtr = NULL;
|
||||
|
||||
+1
-1
@@ -1070,7 +1070,7 @@ static bool8 PicboxWait(void)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void sub_809D424(void)
|
||||
void PicboxCancel(void)
|
||||
{
|
||||
u8 taskId = FindTaskIdByFunc(Task_ScriptShowMonPic);
|
||||
struct Task * task;
|
||||
|
||||
+1
-10
@@ -47,21 +47,12 @@ gFieldLinkPlayerCount: @ 3005030
|
||||
|
||||
.align 4
|
||||
.include "fieldmap.o"
|
||||
|
||||
.align 4
|
||||
.include "field_camera.o"
|
||||
|
||||
.align 2
|
||||
.include "scrcmd.o"
|
||||
|
||||
.align 2
|
||||
@ .include "field_control_avatar.o"
|
||||
gSelectedObjectEvent: @ 3005074
|
||||
.space 0x4
|
||||
|
||||
gUnknown_3005078: @ 3005078
|
||||
.space 0x4
|
||||
|
||||
.include "field_control_avatar.o"
|
||||
.align 2
|
||||
.include "event_data.o"
|
||||
.align 2
|
||||
|
||||
Reference in New Issue
Block a user