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
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}
+1
View File
@@ -0,0 +1 @@
gInputToStoreInQuestLogMaybe
+1
View File
@@ -1 +1,2 @@
gUnknown_3005070
gSelectedObjectEvent
+2 -2
View File
@@ -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
+3 -3
View File
@@ -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
+8 -8
View File
@@ -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
+1 -1
View File
@@ -158,7 +158,7 @@ EventScript_NoRoomToPickUpItem:: @ 81A682D
setvar VAR_RESULT, FALSE
return
EventScript_FoundHiddenItem:: @ 81A6843
EventScript_HiddenItemScript:: @ 81A6843
lockall
textcolor 3
waitse
+1 -1
View File
@@ -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
View File
@@ -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
+4 -4
View File
@@ -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$"
+2
View File
@@ -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
+1 -1
View File
@@ -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)
+12
View File
@@ -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
+10 -5
View File
@@ -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
+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);
u8 GetEggStepsToSubtract(void);
u16 sub_80722E0(void);
bool8 ShouldEggHatch(void);
#endif // GUARD_DAYCARE_H
+2 -1
View File
@@ -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
View File
@@ -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
+28 -3
View File
@@ -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
+7 -1
View File
@@ -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
+3
View File
@@ -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
+14 -8
View File
@@ -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
{
+1
View File
@@ -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
+5 -5
View File
@@ -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
View File
@@ -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
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_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
+1 -1
View File
@@ -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
+1
View File
@@ -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
+1
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
+9 -9
View File
@@ -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();
+4 -4
View File
@@ -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))
+5 -5
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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