Merge pull request #307 from PikalaxALT/field_control_avatar

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