Merge pull request #398 from Viperio19/document-scripts
Some checks failed
build / build (push) Has been cancelled

Document signpost script commands
This commit is contained in:
Rachel 2025-03-03 23:04:00 -08:00 committed by GitHub
commit d5519faf3a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
96 changed files with 602 additions and 1277 deletions

View File

@ -17,6 +17,8 @@
#include "generated/roaming_slots.h"
#include "generated/save_types.h"
#include "generated/sdat.h"
#include "generated/signpost_commands.h"
#include "generated/signpost_types.h"
#include "generated/species.h"
#include "generated/trainers.h"
#include "constants/honey_tree.h"
@ -315,41 +317,73 @@
.short 53
.endm
.macro ScrCmd_036 arg0, arg1, arg2, arg3
.macro ShowMapSign messageID
DrawSignpostInstantMessage \messageID SIGNPOST_TYPE_MAP
SetSignpostCommand SIGNPOST_CMD_SCROLL_IN
WaitForSignpostDone
GetSignpostInput 0x800C
CallCommonScript 0x7D0
.endm
.macro ShowArrowSign messageID
DrawSignpostInstantMessage \messageID SIGNPOST_TYPE_ARROW
SetSignpostCommand SIGNPOST_CMD_SCROLL_IN
WaitForSignpostDone
GetSignpostInput 0x800C
CallCommonScript 0x7D0
.endm
.macro ShowLandmarkSign messageID
DrawSignpostInstantMessage \messageID SIGNPOST_TYPE_LANDMARK
SetSignpostCommand SIGNPOST_CMD_SCROLL_IN
WaitForSignpostDone
GetSignpostInput 0x800C
CallCommonScript 0x7D0
.endm
.macro ShowScrollingSign messageID
DrawSignpostTextBox SIGNPOST_TYPE_SCROLLING
SetSignpostCommand SIGNPOST_CMD_SCROLL_IN
WaitForSignpostDone
DrawSignpostScrollingMessage \messageID, 0x800C
CallCommonScript 0x7D0
.endm
.macro DrawSignpostInstantMessage messageID, signpostType, signpostNARCMemberIdx=0, unused=0x800C
.short 54
.byte \arg0
.byte \arg1
.short \arg2
.short \arg3
.byte \messageID
.byte \signpostType
.short \signpostNARCMemberIdx
.short \unused
.endm
.macro ScrCmd_037 arg0, arg1
.macro DrawSignpostTextBox signpostType=SIGNPOST_TYPE_SCROLLING, signpostNARCMemberIdx=0
.short 55
.byte \arg0
.short \arg1
.byte \signpostType
.short \signpostNARCMemberIdx
.endm
.macro ScrCmd_038 arg0
.macro SetSignpostCommand command
.short 56
.byte \arg0
.byte \command
.endm
.macro ScrCmd_039
.macro WaitForSignpostDone
.short 57
.endm
.macro ScrCmd_03A arg0, arg1
.macro DrawSignpostScrollingMessage messageID, destVarID=0x800C
.short 58
.byte \arg0
.short \arg1
.byte \messageID
.short \destVarID
.endm
.macro ScrCmd_03B arg0
.macro GetSignpostInput destVarID=0x800C
.short 59
.short \arg0
.short \destVarID
.endm
.macro ScrCmd_03C
.macro ShowStartMenu
.short 60
.endm

View File

@ -76,6 +76,8 @@ metang_generators = {
'roaming_slots': { 'type': 'enum', 'tag': 'RoamingSlot' },
'save_types': { 'type': 'enum', 'tag': 'SaveType' },
'sdat': { 'type': 'enum', 'tag': 'SDATID' },
'signpost_commands': { 'type': 'enum', 'tag': 'SignpostCommand' },
'signpost_types': { 'type': 'enum', 'tag': 'SignpostType' },
'shadow_sizes': { 'type': 'enum', 'tag': 'ShadowSize' },
'species': { 'type': 'enum', 'tag': 'Species' },
'species_data_params': { 'type': 'enum', 'tag': 'SpeciesDataParam' },

View File

@ -0,0 +1,5 @@
SIGNPOST_CMD_DO_NOTHING
SIGNPOST_CMD_DRAW
SIGNPOST_CMD_SCROLL_OUT
SIGNPOST_CMD_SCROLL_IN
SIGNPOST_CMD_REMOVE

View File

@ -0,0 +1,4 @@
SIGNPOST_TYPE_MAP
SIGNPOST_TYPE_ARROW
SIGNPOST_TYPE_LANDMARK
SIGNPOST_TYPE_SCROLLING

View File

@ -5,6 +5,8 @@
#include "generated/giratina_shadow_animations.h"
#include "generated/villa_furnitures.h"
#define FLAG_TEAM_GALACTIC_LEFT_LAKE_VERITY 0x00BA
#define FLAG_MESPRIT_CAUGHT 0x0125
#define FLAG_AZELF_CAUGHT 0x0126
#define FLAG_UXIE_CAUGHT 0x0127

View File

@ -18,10 +18,10 @@
#include "overlay005/map_prop.h"
#include "overlay005/map_prop_animation.h"
#include "overlay005/model_attributes.h"
#include "overlay005/signpost.h"
#include "overlay005/struct_ov5_021D1A68_decl.h"
#include "overlay005/struct_ov5_021D57D8_decl.h"
#include "overlay005/struct_ov5_021DF47C_decl.h"
#include "overlay005/struct_ov5_021E1B20_decl.h"
#include "overlay005/struct_ov5_021E8F60_decl.h"
#include "overlay005/struct_ov5_021EB0E0_decl.h"
#include "overlay005/struct_ov5_021EF300_decl.h"
@ -92,7 +92,7 @@ typedef struct FieldSystem_t {
UnkStruct_02054C18 *unk_58;
const TerrainCollisionManager *terrainCollisionMan;
int unk_60;
UnkStruct_ov5_021E1B20 *unk_64;
Signpost *signpost;
BOOL runningFieldMap;
UnkStruct_ov23_0224942C *unk_6C;
int mapLoadType;

View File

@ -1,19 +0,0 @@
#ifndef POKEPLATINUM_OV5_021E1B08_H
#define POKEPLATINUM_OV5_021E1B08_H
#include "field/field_system_decl.h"
#include "overlay005/struct_ov5_021E1B20_decl.h"
#include "bg_window.h"
void *ov5_021E1B08(u32 param0);
void ov5_021E1B20(UnkStruct_ov5_021E1B20 *param0);
void ov5_021E1B38(UnkStruct_ov5_021E1B20 *param0, u16 param1, u16 param2);
void ov5_021E1B40(UnkStruct_ov5_021E1B20 *param0, u8 param1);
Window *ov5_021E1B50(UnkStruct_ov5_021E1B20 *param0);
u8 ov5_021E1B54(UnkStruct_ov5_021E1B20 *param0);
BOOL ov5_021E1B58(UnkStruct_ov5_021E1B20 *param0);
void ov5_021E1B68(FieldSystem *fieldSystem);
void ov5_021E1BCC(FieldSystem *fieldSystem, u8 param1);
#endif // POKEPLATINUM_OV5_021E1B08_H

View File

@ -0,0 +1,26 @@
#ifndef POKEPLATINUM_SIGNPOST_H
#define POKEPLATINUM_SIGNPOST_H
#include "field/field_system_decl.h"
#include "bg_window.h"
typedef struct Signpost {
Window window;
u16 NARCMemberIdx;
u8 type;
u8 command : 7;
u8 active : 1;
} Signpost;
void *Signpost_Init(u32 heapID);
void Signpost_Free(Signpost *signpost);
void Signpost_SetTypeAndNARCMemberIdx(Signpost *signpost, u16 signpostType, u16 signpostNARCMemberIdx);
void Signpost_SetCommand(Signpost *signpost, u8 param1);
Window *Signpost_GetWindow(Signpost *signpost);
u8 Signpost_GetType(Signpost *signpost);
BOOL Signpost_IsDone(Signpost *signpost);
void Signpost_DoCurrentCommand(FieldSystem *fieldSystem);
void Signpost_DoCommand(FieldSystem *fieldSystem, u8 param1);
#endif // POKEPLATINUM_SIGNPOST_H

View File

@ -1,6 +0,0 @@
#ifndef POKEPLATINUM_STRUCT_OV5_021E1B20_DECL_H
#define POKEPLATINUM_STRUCT_OV5_021E1B20_DECL_H
typedef struct UnkStruct_ov5_021E1B20_t UnkStruct_ov5_021E1B20;
#endif // POKEPLATINUM_STRUCT_OV5_021E1B20_DECL_H

View File

@ -2,6 +2,7 @@
#define POKEPLATINUM_RENDER_WINDOW_H
#include "constants/heap.h"
#include "generated/signpost_types.h"
#include "bg_window.h"
#include "pokemon.h"
@ -14,13 +15,6 @@ enum StandardWindowType {
STANDARD_WINDOW_UNDERGROUND,
};
enum SignpostType {
SIGNPOST_CITY_MAP = 0,
SIGNPOST_ROUTE_MAP,
SIGNPOST_BUILDING_INFO,
SIGNPOST_FIELD_INFO,
};
void LoadStandardWindowTiles(BgConfig *bgConfig, u8 bgLayer, u16 offset, u8 standardWindowType, u32 heapID);
u32 GetStandardWindowPaletteNARCMember(void);
void LoadStandardWindowGraphics(BgConfig *bgConfig, u8 bgLayer, u16 tileOffset, u8 palOffset, u8 standardWindowType, u32 heapID);

View File

@ -84,6 +84,7 @@ enum ScriptContextType {
};
#define SCRIPT_ID(chunk, id) ((SCRIPT_ID_OFFSET_##chunk) + id)
#define SCRIPT_ID_OFFSET_COMMON_SCRIPTS 2000
#define SCRIPT_ID_OFFSET_SINGLE_BATTLES 3000
#define SCRIPT_ID_OFFSET_DOUBLE_BATTLES 5000
#define SCRIPT_ID_OFFSET_HIDDEN_ITEMS 8000

View File

@ -490,7 +490,7 @@ Overlay overlay5
Object main.nef.p/src_overlay005_ov5_021E1154.c.o
Object main.nef.p/src_overlay005_ov5_021E135C.c.o
Object main.nef.p/src_overlay005_map_prop.c.o
Object main.nef.p/src_overlay005_ov5_021E1B08.c.o
Object main.nef.p/src_overlay005_signpost.c.o
Object main.nef.p/src_overlay005_save_info_window.c.o
Object main.nef.p/src_overlay005_motion_blur.c.o
Object main.nef.p/src_overlay005_field_motion_blur.c.o

View File

@ -216,7 +216,7 @@ scr_seq_files = files(
'scripts_fight_area_middle_house.s',
'scripts_fight_area_south_house.s',
'scripts_unk_0210.s',
'scripts_unk_0211.s',
'scripts_common.s',
'scripts_unk_0212.s',
'scripts_unk_0213.s',
'scripts_oreburgh_mine_b1f.s',

View File

@ -209,7 +209,7 @@ scripts_route_225_gate_to_fight_area
scripts_fight_area_middle_house
scripts_fight_area_south_house
scripts_unk_0210
scripts_unk_0211
scripts_common
scripts_unk_0212
scripts_unk_0213
scripts_oreburgh_mine_b1f

View File

@ -10,25 +10,25 @@
ScriptEntryEnd
_0012:
GoToIfUnset 186, _002A
GoToIfSet 186, _003C
GoToIfUnset FLAG_TEAM_GALACTIC_LEFT_LAKE_VERITY, AcuityLakefront_SetWarpsLakeAcuityNormal
GoToIfSet FLAG_TEAM_GALACTIC_LEFT_LAKE_VERITY, AcuityLakefront_SetWarpsLakeAcuityLowWater
End
_002A:
AcuityLakefront_SetWarpsLakeAcuityNormal:
SetWarpEventPos 2, 0x131, 229
SetWarpEventPos 3, 0x132, 229
End
_003C:
AcuityLakefront_SetWarpsLakeAcuityLowWater:
SetWarpEventPos 0, 0x131, 229
SetWarpEventPos 1, 0x132, 229
End
_004E:
CheckBadgeAcquired BADGE_ID_ICICLE, 0x4000
CallIfEq 0x4000, 1, _0079
GoToIfUnset 186, _002A
GoToIfSet 186, _003C
CallIfEq 0x4000, TRUE, _0079
GoToIfUnset FLAG_TEAM_GALACTIC_LEFT_LAKE_VERITY, AcuityLakefront_SetWarpsLakeAcuityNormal
GoToIfSet FLAG_TEAM_GALACTIC_LEFT_LAKE_VERITY, AcuityLakefront_SetWarpsLakeAcuityLowWater
End
_0079:
@ -37,11 +37,7 @@ _0079:
Return
_0083:
ScrCmd_036 5, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 5
End
_009A:

View File

@ -302,43 +302,23 @@ _02A6:
End
_02BA:
ScrCmd_036 24, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 24
End
_02D1:
ScrCmd_036 25, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 25
End
_02E8:
ScrCmd_036 26, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 26
End
_02FF:
ScrCmd_036 27, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 27
End
_0316:
ScrCmd_036 28, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 28
End
_032D:

View File

@ -298,19 +298,11 @@ _039A:
End
_03AD:
ScrCmd_036 7, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 7
End
_03C4:
ScrCmd_036 8, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 8
End
.byte 0

View File

@ -470,61 +470,33 @@ _0640:
GoTo _0545
_0649:
ScrCmd_036 36, 0, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowMapSign 36
End
_0660:
ScrCmd_037 3, 0
ScrCmd_038 3
ScrCmd_039
ScrCmd_03A 37, 0x800C
CallCommonScript 0x7D0
ShowScrollingSign 37
End
_0675:
ScrCmd_036 38, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 38
End
_068C:
ScrCmd_036 39, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 39
End
_06A3:
ScrCmd_036 40, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 40
End
_06BA:
Call _0168
GoToIfEq 0x4000, 0, _06E2
ScrCmd_037 3, 0
ScrCmd_038 3
ScrCmd_039
ScrCmd_03A 42, 0x800C
CallCommonScript 0x7D0
ShowScrollingSign 42
End
_06E2:
ScrCmd_037 3, 0
ScrCmd_038 3
ScrCmd_039
ScrCmd_03A 41, 0x800C
CallCommonScript 0x7D0
ShowScrollingSign 41
End
_06F7:

View File

@ -319,11 +319,7 @@ _033D:
End
_0350:
ScrCmd_036 15, 0, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowMapSign 15
End
_0367:

View File

@ -5,7 +5,7 @@
.data
ScriptEntry _02FC
ScriptEntry Common_HandleSignpostInput
ScriptEntry _034C
ScriptEntry _00EE
ScriptEntry _03E8
@ -226,26 +226,26 @@ _02F4:
MoveAction_104
EndMovement
_02FC:
Common_HandleSignpostInput:
SetVar 0x8008, 0x800C
GoToIfEq 0x8008, 0, _033A
GoToIfEq 0x8008, 1, _0341
ScrCmd_03B 0x800C
GoToIfEq 0x8008, 0, Common_ScrollOutSignpost
GoToIfEq 0x8008, 1, Common_RemoveSignpostOpenStartMenu
GetSignpostInput
SetVar 0x8008, 0x800C
GoToIfEq 0x8008, 1, _0341
ScrCmd_038 2
GoToIfEq 0x8008, 1, Common_RemoveSignpostOpenStartMenu
SetSignpostCommand SIGNPOST_CMD_SCROLL_OUT
ReturnCommonScript
End
_033A:
ScrCmd_038 2
Common_ScrollOutSignpost:
SetSignpostCommand SIGNPOST_CMD_SCROLL_OUT
ReturnCommonScript
End
_0341:
ScrCmd_038 4
ScrCmd_039
ScrCmd_03C
Common_RemoveSignpostOpenStartMenu:
SetSignpostCommand SIGNPOST_CMD_REMOVE
WaitForSignpostDone
ShowStartMenu
ReturnCommonScript
End

View File

@ -110,51 +110,27 @@ _012C:
End
_0137:
ScrCmd_036 36, 0, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowMapSign 36
End
_014E:
ScrCmd_037 3, 0
ScrCmd_038 3
ScrCmd_039
ScrCmd_03A 37, 0x800C
CallCommonScript 0x7D0
ShowScrollingSign 37
End
_0163:
ScrCmd_036 38, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 38
End
_017A:
ScrCmd_036 39, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 39
End
_0191:
ScrCmd_036 40, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 40
End
_01A8:
ScrCmd_036 41, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 41
End
_01BF:

View File

@ -412,19 +412,11 @@ _04D0:
EndMovement
_04E0:
ScrCmd_036 14, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 14
End
_04F7:
ScrCmd_037 3, 0
ScrCmd_038 3
ScrCmd_039
ScrCmd_03A 15, 0x800C
CallCommonScript 0x7D0
ShowScrollingSign 15
End
_050C:

View File

@ -36,17 +36,9 @@ _004D:
End
_0058:
ScrCmd_036 2, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 2
End
_006F:
ScrCmd_037 3, 0
ScrCmd_038 3
ScrCmd_039
ScrCmd_03A 3, 0x800C
CallCommonScript 0x7D0
ShowScrollingSign 3
End

View File

@ -569,27 +569,15 @@ _057A:
End
_0585:
ScrCmd_036 47, 0, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowMapSign 47
End
_059C:
ScrCmd_036 48, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 48
End
_05B3:
ScrCmd_036 49, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 49
End
_05CA:

View File

@ -244,11 +244,7 @@ _02E2:
End
_02EF:
ScrCmd_036 18, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 18
End
_0306:

View File

@ -112,27 +112,15 @@ _00E9:
End
_00FC:
ScrCmd_036 12, 0, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowMapSign 12
End
_0113:
ScrCmd_036 13, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 13
End
_012A:
ScrCmd_036 14, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 14
End
_0141:

View File

@ -6,11 +6,7 @@
ScriptEntryEnd
_0006:
ScrCmd_036 0, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 0
End
.byte 0

View File

@ -18,9 +18,5 @@ _000A:
End
_001D:
ScrCmd_036 1, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 1
End

View File

@ -18,9 +18,5 @@ _000A:
End
_001D:
ScrCmd_036 1, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 1
End

View File

@ -18,9 +18,5 @@ _000A:
End
_001D:
ScrCmd_036 1, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 1
End

View File

@ -18,9 +18,5 @@ _000A:
End
_001D:
ScrCmd_036 1, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 1
End

View File

@ -18,9 +18,5 @@ _000A:
End
_001D:
ScrCmd_036 1, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 1
End

View File

@ -65,9 +65,5 @@ _00C7:
End
_00D1:
ScrCmd_036 2, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 2
End

View File

@ -641,75 +641,39 @@ _089C:
EndMovement
_08A4:
ScrCmd_036 52, 0, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowMapSign 52
End
_08BB:
ScrCmd_037 3, 0
ScrCmd_038 3
ScrCmd_039
ScrCmd_03A 53, 0x800C
CallCommonScript 0x7D0
ShowScrollingSign 53
End
_08D0:
ScrCmd_036 54, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 54
End
_08E7:
ScrCmd_036 55, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 55
End
_08FE:
ScrCmd_036 56, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 56
End
_0915:
ScrCmd_036 57, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 57
End
_092C:
ScrCmd_036 58, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 58
End
_0943:
ScrCmd_036 59, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 59
End
_095A:
ScrCmd_036 60, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 60
End
_0971:

View File

@ -1402,51 +1402,27 @@ _1027:
End
_103A:
ScrCmd_036 95, 0, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowMapSign 95
End
_1051:
ScrCmd_036 96, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 96
End
_1068:
ScrCmd_036 97, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 97
End
_107F:
ScrCmd_036 98, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 98
End
_1096:
ScrCmd_036 99, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 99
End
_10AD:
ScrCmd_036 100, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 100
End
_10C4:

View File

@ -13,12 +13,12 @@
ScriptEntryEnd
_001E:
CallIfSet 186, _009D
CallIfUnset 186, _0087
CallIfSet FLAG_TEAM_GALACTIC_LEFT_LAKE_VERITY, _009D
CallIfUnset FLAG_TEAM_GALACTIC_LEFT_LAKE_VERITY, _0087
CallIfEq 0x4097, 0, _0071
GetPlayerGender 0x4000
GoToIfEq 0x4000, GENDER_MALE, _0061
GoToIfEq 0x4000, 1, _0069
GoToIfEq 0x4000, GENDER_FEMALE, _0069
End
_0061:
@ -57,7 +57,7 @@ _00C7:
_00CB:
PlayFanfare SEQ_SE_CONFIRM
LockAll
GoToIfSet 186, _0128
GoToIfSet FLAG_TEAM_GALACTIC_LEFT_LAKE_VERITY, _0128
ApplyMovement 5, _01C8
WaitMovement
Message 2
@ -99,7 +99,7 @@ _013B:
PlayFanfare SEQ_SE_CONFIRM
LockAll
FacePlayer
GoToIfSet 186, _018B
GoToIfSet FLAG_TEAM_GALACTIC_LEFT_LAKE_VERITY, _018B
GetPlayerGender 0x800C
GoToIfEq 0x800C, GENDER_MALE, _0167
GoTo _0175
@ -218,7 +218,7 @@ _0230:
FadeScreen 6, 1, 1, 0
WaitFadeScreen
SetFlag 0x29A
SetFlag 186
SetFlag FLAG_TEAM_GALACTIC_LEFT_LAKE_VERITY
ClearFlag 0x1BA
SetVar 0x40D3, 1
BufferRivalName 0

View File

@ -568,35 +568,19 @@ _0696:
End
_06A9:
ScrCmd_036 27, 0, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowMapSign 27
End
_06C0:
ScrCmd_037 3, 0
ScrCmd_038 3
ScrCmd_039
ScrCmd_03A 28, 0x800C
CallCommonScript 0x7D0
ShowScrollingSign 28
End
_06D5:
ScrCmd_036 29, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 29
End
_06EC:
ScrCmd_036 30, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 30
End
_0703:

View File

@ -477,35 +477,19 @@ _0398:
.byte 0
_03E4:
ScrCmd_036 41, 0, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowMapSign 41
End
_03FB:
ScrCmd_037 3, 0
ScrCmd_038 3
ScrCmd_039
ScrCmd_03A 42, 0x800C
CallCommonScript 0x7D0
ShowScrollingSign 42
End
_0410:
ScrCmd_036 43, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 43
End
_0427:
ScrCmd_036 44, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 44
End
_043E:

View File

@ -9,19 +9,11 @@
ScriptEntryEnd
_000E:
ScrCmd_036 1, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 1
End
_0025:
ScrCmd_036 2, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 2
End
_003C:

View File

@ -109,19 +109,11 @@ _0130:
End
_0143:
ScrCmd_036 25, 0, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowMapSign 25
End
_015A:
ScrCmd_036 26, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 26
End
_0171:
@ -442,11 +434,7 @@ _05B1:
End
_05BC:
ScrCmd_036 27, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 27
End
.byte 0

View File

@ -1306,27 +1306,15 @@ _0F4F:
End
_0F76:
ScrCmd_036 60, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 60
End
_0F8D:
ScrCmd_036 61, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 61
End
_0FA4:
ScrCmd_037 3, 0
ScrCmd_038 3
ScrCmd_039
ScrCmd_03A 62, 0x800C
CallCommonScript 0x7D0
ShowScrollingSign 62
End
.byte 0

View File

@ -44,27 +44,15 @@ _0071:
End
_0084:
ScrCmd_036 11, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 11
End
_009B:
ScrCmd_036 12, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 12
End
_00B2:
ScrCmd_037 3, 0
ScrCmd_038 3
ScrCmd_039
ScrCmd_03A 13, 0x800C
CallCommonScript 0x7D0
ShowScrollingSign 13
End
_00C7:

View File

@ -22,35 +22,19 @@ _001A:
End
_002D:
ScrCmd_036 3, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 3
End
_0044:
ScrCmd_036 4, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 4
End
_005B:
ScrCmd_037 3, 0
ScrCmd_038 3
ScrCmd_039
ScrCmd_03A 5, 0x800C
CallCommonScript 0x7D0
ShowScrollingSign 5
End
_0070:
ScrCmd_037 3, 0
ScrCmd_038 3
ScrCmd_039
ScrCmd_03A 6, 0x800C
CallCommonScript 0x7D0
ShowScrollingSign 6
End
_0085:

View File

@ -46,11 +46,7 @@ _0071:
End
_007B:
ScrCmd_036 3, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 3
End
.byte 0

View File

@ -19,19 +19,11 @@ _000E:
End
_0021:
ScrCmd_036 1, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 1
End
_0038:
ScrCmd_036 2, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 2
End
.byte 0

View File

@ -19,19 +19,11 @@ _000E:
End
_0021:
ScrCmd_036 1, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 1
End
_0038:
ScrCmd_036 2, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 2
End
.byte 0

View File

@ -233,27 +233,15 @@ _026C:
EndMovement
_0280:
ScrCmd_036 7, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 7
End
_0297:
ScrCmd_036 8, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 8
End
_02AE:
ScrCmd_037 3, 0
ScrCmd_038 3
ScrCmd_039
ScrCmd_03A 9, 0x800C
CallCommonScript 0x7D0
ShowScrollingSign 9
End
.byte 0

View File

@ -55,19 +55,11 @@ _00A4:
End
_00B7:
ScrCmd_036 1, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 1
End
_00CE:
ScrCmd_036 2, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 2
End
.byte 0

View File

@ -180,27 +180,15 @@ _01E1:
End
_01EC:
ScrCmd_036 11, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 11
End
_0203:
ScrCmd_036 12, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 12
End
_021A:
ScrCmd_037 3, 0
ScrCmd_038 3
ScrCmd_039
ScrCmd_03A 13, 0x800C
CallCommonScript 0x7D0
ShowScrollingSign 13
End
.byte 0

View File

@ -11,35 +11,19 @@
ScriptEntryEnd
_0016:
ScrCmd_036 2, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 2
End
_002D:
ScrCmd_036 3, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 3
End
_0044:
ScrCmd_036 4, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 4
End
_005B:
ScrCmd_037 3, 0
ScrCmd_038 3
ScrCmd_039
ScrCmd_03A 5, 0x800C
CallCommonScript 0x7D0
ShowScrollingSign 5
End
_0070:

View File

@ -191,27 +191,15 @@ _0254:
GoTo _020B
_0270:
ScrCmd_036 18, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 18
End
_0287:
ScrCmd_036 19, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 19
End
_029E:
ScrCmd_037 3, 0
ScrCmd_038 3
ScrCmd_039
ScrCmd_03A 20, 0x800C
CallCommonScript 0x7D0
ShowScrollingSign 20
End
_02B3:

View File

@ -19,19 +19,11 @@ _000E:
End
_0021:
ScrCmd_036 1, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 1
End
_0038:
ScrCmd_036 2, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 2
End
.byte 0

View File

@ -284,19 +284,11 @@ _036F:
End
_0379:
ScrCmd_036 10, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 10
End
_0390:
ScrCmd_036 11, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 11
End
_03A7:

View File

@ -47,27 +47,15 @@ _0080:
EndMovement
_0088:
ScrCmd_036 3, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 3
End
_009F:
ScrCmd_037 3, 0
ScrCmd_038 3
ScrCmd_039
ScrCmd_03A 4, 0x800C
CallCommonScript 0x7D0
ShowScrollingSign 4
End
_00B4:
ScrCmd_036 5, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 5
End
.byte 0

View File

@ -19,19 +19,11 @@ _000E:
End
_0021:
ScrCmd_036 1, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 1
End
_0038:
ScrCmd_036 2, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 2
End
.byte 0

View File

@ -57,27 +57,15 @@ _00B5:
End
_00C8:
ScrCmd_036 6, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 6
End
_00DF:
ScrCmd_036 7, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 7
End
_00F6:
ScrCmd_037 3, 0
ScrCmd_038 3
ScrCmd_039
ScrCmd_03A 8, 0x800C
CallCommonScript 0x7D0
ShowScrollingSign 8
End
_010B:

View File

@ -63,27 +63,15 @@ _00A3:
End
_00B6:
ScrCmd_036 4, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 4
End
_00CD:
ScrCmd_036 5, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 5
End
_00E4:
ScrCmd_037 3, 0
ScrCmd_038 3
ScrCmd_039
ScrCmd_03A 6, 0x800C
CallCommonScript 0x7D0
ShowScrollingSign 6
End
_00F9:

View File

@ -345,27 +345,15 @@ _0422:
End
_0435:
ScrCmd_036 10, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 10
End
_044C:
ScrCmd_036 11, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 11
End
_0463:
ScrCmd_036 12, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 12
End
.byte 0

View File

@ -38,17 +38,9 @@ _0075:
End
_00A2:
ScrCmd_036 0, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 0
End
_00B9:
ScrCmd_036 1, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 1
End

View File

@ -74,27 +74,15 @@ _00F0:
End
_00FA:
ScrCmd_036 5, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 5
End
_0111:
ScrCmd_036 6, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 6
End
_0128:
ScrCmd_037 3, 0
ScrCmd_038 3
ScrCmd_039
ScrCmd_03A 7, 0x800C
CallCommonScript 0x7D0
ShowScrollingSign 7
End
_013D:

View File

@ -19,19 +19,11 @@ _000E:
End
_0021:
ScrCmd_036 1, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 1
End
_0038:
ScrCmd_036 2, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 2
End
.byte 0

View File

@ -19,11 +19,7 @@ _0012:
End
_0023:
ScrCmd_036 4, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 4
End
_003A:

View File

@ -13,19 +13,11 @@
ScriptEntryEnd
_001E:
ScrCmd_036 5, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 5
End
_0035:
ScrCmd_036 6, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 6
End
_004C:

View File

@ -6,11 +6,7 @@
ScriptEntryEnd
_0006:
ScrCmd_036 0, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 0
End
.byte 0

View File

@ -38,11 +38,7 @@ _0041:
End
_0054:
ScrCmd_036 2, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 2
End
.byte 0

View File

@ -70,35 +70,19 @@ _00D7:
End
_00EA:
ScrCmd_036 4, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 4
End
_0101:
ScrCmd_036 5, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 5
End
_0118:
ScrCmd_036 6, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 6
End
_012F:
ScrCmd_036 7, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 7
End
_0146:

View File

@ -7,17 +7,9 @@
ScriptEntryEnd
_000A:
ScrCmd_036 0, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 0
End
_0021:
ScrCmd_036 1, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 1
End

View File

@ -7,17 +7,9 @@
ScriptEntryEnd
_000A:
ScrCmd_036 0, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 0
End
_0021:
ScrCmd_036 1, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 1
End

View File

@ -212,11 +212,7 @@ _01B8:
.byte 0
_01CC:
ScrCmd_036 12, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 12
End
_01E3:

View File

@ -34,19 +34,11 @@ _0071:
End
_007B:
ScrCmd_036 0, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 0
End
_0092:
ScrCmd_036 1, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 1
End
.byte 0

View File

@ -42,11 +42,7 @@ _0084:
End
_008E:
ScrCmd_036 3, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 3
End
.byte 0

View File

@ -9,11 +9,7 @@
ScriptEntryEnd
_000E:
ScrCmd_036 0, 1, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowArrowSign 0
End
_0025:

View File

@ -718,44 +718,24 @@ _0879:
End
_088C:
ScrCmd_036 25, 0, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowMapSign 25
End
_08A3:
ScrCmd_036 26, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 26
End
_08BA:
BufferCounterpartName 0
ScrCmd_036 27, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 27
End
_08D4:
ScrCmd_036 28, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 28
End
_08EB:
ScrCmd_036 29, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 29
End
.byte 0

View File

@ -199,19 +199,11 @@ _01EB:
End
_01FE:
ScrCmd_036 18, 0, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowMapSign 18
End
_0215:
ScrCmd_037 3, 0
ScrCmd_038 3
ScrCmd_039
ScrCmd_03A 19, 0x800C
CallCommonScript 0x7D0
ShowScrollingSign 19
End
_022A:

View File

@ -119,27 +119,15 @@ _0118:
End
_0123:
ScrCmd_036 12, 0, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowMapSign 12
End
_013A:
ScrCmd_036 13, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 13
End
_0151:
ScrCmd_036 14, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 14
End
_0168:

View File

@ -14,11 +14,7 @@ _0012:
End
_0018:
ScrCmd_036 9, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 9
End
_002F:

View File

@ -580,59 +580,31 @@ _06DF:
End
_06F2:
ScrCmd_036 21, 0, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowMapSign 21
End
_0709:
ScrCmd_037 3, 0
ScrCmd_038 3
ScrCmd_039
ScrCmd_03A 22, 0x800C
CallCommonScript 0x7D0
ShowScrollingSign 22
End
_071E:
ScrCmd_036 23, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 23
End
_0735:
ScrCmd_036 24, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 24
End
_074C:
ScrCmd_036 25, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 25
End
_0763:
ScrCmd_036 26, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 26
End
_077A:
ScrCmd_036 27, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 27
End
_0791:

View File

@ -81,11 +81,7 @@ _00B3:
End
_00BE:
ScrCmd_036 13, 0, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowMapSign 13
End
_00D5:

View File

@ -505,29 +505,17 @@ _061D:
End
_0628:
ScrCmd_036 12, 0, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowMapSign 12
End
_063F:
BufferPlayerName 0
ScrCmd_036 13, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 13
End
_0659:
BufferRivalName 0
ScrCmd_036 14, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 14
End
.byte 0

View File

@ -55,11 +55,7 @@ _006E:
End
_0082:
ScrCmd_037 3, 0
ScrCmd_038 3
ScrCmd_039
ScrCmd_03A 3, 0x800C
CallCommonScript 0x7D0
ShowScrollingSign 3
End
_0097:

View File

@ -10,11 +10,7 @@ _000A:
End
_000C:
ScrCmd_036 3, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 3
End
.byte 0

View File

@ -131,11 +131,7 @@ _01A2:
End
_01A8:
ScrCmd_036 9, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 9
End
_01BF:

View File

@ -534,11 +534,7 @@ _06B0:
EndMovement
_06B8:
ScrCmd_036 20, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 20
End
_06CF:

View File

@ -1400,67 +1400,35 @@ _0FF0:
End
_1003:
ScrCmd_036 61, 0, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowMapSign 61
End
_101A:
ScrCmd_037 3, 0
ScrCmd_038 3
ScrCmd_039
ScrCmd_03A 62, 0x800C
CallCommonScript 0x7D0
ShowScrollingSign 62
End
_102F:
ScrCmd_036 63, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 63
End
_1046:
ScrCmd_036 64, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 64
End
_105D:
ScrCmd_036 65, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 65
End
_1074:
ScrCmd_036 66, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 66
End
_108B:
ScrCmd_036 67, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 67
End
_10A2:
ScrCmd_036 68, 2, 0, 0x800C
ScrCmd_038 3
ScrCmd_039
ScrCmd_03B 0x800C
CallCommonScript 0x7D0
ShowLandmarkSign 68
End
_10B9:

View File

@ -86,11 +86,7 @@ _0144:
EndMovement
_014C:
ScrCmd_037 3, 0
ScrCmd_038 3
ScrCmd_039
ScrCmd_03A 3, 0x800C
CallCommonScript 0x7D0
ShowScrollingSign 3
End
.byte 0

View File

@ -4,6 +4,7 @@
#include <string.h>
#include "constants/field/window.h"
#include "generated/signpost_types.h"
#include "bg_window.h"
#include "font.h"
@ -77,7 +78,7 @@ void FieldMessage_AddSignpostWindow(BgConfig *bgConfig, Window *window, u16 sign
{
u16 tilemapLeft, width;
if (signpostType == SIGNPOST_CITY_MAP || signpostType == SIGNPOST_ROUTE_MAP) {
if (signpostType == SIGNPOST_TYPE_MAP || signpostType == SIGNPOST_TYPE_ARROW) {
tilemapLeft = 9;
width = 20;
} else {

View File

@ -6,14 +6,15 @@
#include "constants/field/map_load.h"
#include "constants/heap.h"
#include "generated/map_headers.h"
#include "generated/signpost_commands.h"
#include "field/field_system_sub2_t.h"
#include "overlay005/field_control.h"
#include "overlay005/fieldmap.h"
#include "overlay005/map_name_popup.h"
#include "overlay005/ov5_021DFB54.h"
#include "overlay005/ov5_021E1B08.h"
#include "overlay005/ov5_021EA714.h"
#include "overlay005/signpost.h"
#include "overlay025/poketch_system.h"
#include "overlay077/const_ov77_021D742C.h"
@ -282,7 +283,7 @@ static void HandleFieldInput(FieldSystem *fieldSystem)
if (processInput) {
if (FieldInput_Process_BattleTower(&fieldInput, fieldSystem) == TRUE) {
MapNamePopUp_Hide(fieldSystem->unk_04->unk_08);
ov5_021E1BCC(fieldSystem, 4);
Signpost_DoCommand(fieldSystem, SIGNPOST_CMD_REMOVE);
ov5_021E0EEC(fieldSystem->playerAvatar);
ov5_021EA714(fieldSystem, 0, 1);
} else {
@ -305,7 +306,7 @@ static void HandleFieldInput(FieldSystem *fieldSystem)
if (processInput) {
if (FieldInput_Process(&fieldInput, fieldSystem) == TRUE) {
MapNamePopUp_Hide(fieldSystem->unk_04->unk_08);
ov5_021E1BCC(fieldSystem, 4);
Signpost_DoCommand(fieldSystem, SIGNPOST_CMD_REMOVE);
sub_0205F56C(fieldSystem->playerAvatar);
ov5_021E0EEC(fieldSystem->playerAvatar);
ov5_021EA714(fieldSystem, 0, 1);

View File

@ -384,7 +384,7 @@ pokeplatinum_c = files(
'overlay005/ov5_021E1154.c',
'overlay005/ov5_021E135C.c',
'overlay005/map_prop.c',
'overlay005/ov5_021E1B08.c',
'overlay005/signpost.c',
'overlay005/save_info_window.c',
'overlay005/motion_blur.c',
'overlay005/field_motion_blur.c',

View File

@ -33,7 +33,6 @@
#include "overlay005/ov5_021D5CB0.h"
#include "overlay005/ov5_021D5EB8.h"
#include "overlay005/ov5_021DF440.h"
#include "overlay005/ov5_021E1B08.h"
#include "overlay005/ov5_021E779C.h"
#include "overlay005/ov5_021EA714.h"
#include "overlay005/ov5_021ECC20.h"
@ -43,6 +42,7 @@
#include "overlay005/ov5_021EF4BC.h"
#include "overlay005/ov5_021F0824.h"
#include "overlay005/ov5_021F10E8.h"
#include "overlay005/signpost.h"
#include "overlay005/struct_ov5_021D1A68_decl.h"
#include "overlay005/struct_ov5_021ED0A4.h"
#include "overlay009/ov9_02249960.h"
@ -308,7 +308,7 @@ static BOOL FieldMap_Exit(OverlayManager *overlayMan, int *param1)
HoneyTree_FreeShakeData(&fieldSystem->unk_A8);
ov5_021D5BA8(fieldSystem);
AreaLightManager_Free(&fieldSystem->areaLightMan);
ov5_021E1B20(fieldSystem->unk_64);
Signpost_Free(fieldSystem->signpost);
MapNamePopUp_Destroy(fieldSystem->unk_04->unk_08);
if (fieldSystem->unk_04->unk_0C != NULL) {
@ -487,7 +487,7 @@ static void ov5_021D134C(FieldSystem *fieldSystem, u8 param1)
}
AreaLightManager_UpdateActiveTemplate(fieldSystem->areaLightMan);
ov5_021E1B68(fieldSystem);
Signpost_DoCurrentCommand(fieldSystem);
if ((param1 & 1) != 0) {
ov5_021D5DEC(fieldSystem->unk_04->unk_10);
@ -908,7 +908,7 @@ static void ov5_021D1968(FieldSystem *fieldSystem)
}
fieldSystem->unk_04->unk_08 = MapNamePopUp_Create(fieldSystem->bgConfig);
fieldSystem->unk_64 = ov5_021E1B08(4);
fieldSystem->signpost = Signpost_Init(HEAP_ID_FIELD);
fieldSystem->unk_04->unk_10 = ov5_021D5CB0();
ov5_021D5CE4(fieldSystem->unk_04->unk_10, AreaDataManager_GetMapTexture(fieldSystem->areaDataManager));

View File

@ -101,7 +101,7 @@ BOOL HoneyTree_TryInteract(FieldSystem *fieldSystem, int *eventId)
int x, z;
BOOL isFacingHoneyTree;
*eventId = 2008; // Loads script index 8 from scripts_unk_0211.s, which is the common Honey Tree script.
*eventId = SCRIPT_ID_OFFSET_COMMON_SCRIPTS + 8;
x = Player_GetXPos(fieldSystem->playerAvatar);
z = Player_GetZPos(fieldSystem->playerAvatar);

View File

@ -1,168 +0,0 @@
#include "overlay005/ov5_021E1B08.h"
#include <nitro.h>
#include <string.h>
#include "field/field_system.h"
#include "overlay005/struct_ov5_021E1B20_decl.h"
#include "bg_window.h"
#include "field_message.h"
#include "heap.h"
struct UnkStruct_ov5_021E1B20_t {
Window unk_00;
u16 unk_10;
u8 unk_12;
u8 unk_13_0 : 7;
u8 unk_13_7 : 1;
};
static void ov5_021E1BE0(FieldSystem *fieldSystem);
static void ov5_021E1C1C(FieldSystem *fieldSystem);
static BOOL ov5_021E1C70(FieldSystem *fieldSystem);
static BOOL ov5_021E1CB0(FieldSystem *fieldSystem);
void *ov5_021E1B08(u32 param0)
{
void *v0 = Heap_AllocFromHeap(param0, sizeof(UnkStruct_ov5_021E1B20));
memset(v0, 0, sizeof(UnkStruct_ov5_021E1B20));
return v0;
}
void ov5_021E1B20(UnkStruct_ov5_021E1B20 *param0)
{
if (param0->unk_13_7 != 0) {
Window_Remove(&param0->unk_00);
}
Heap_FreeToHeap(param0);
}
void ov5_021E1B38(UnkStruct_ov5_021E1B20 *param0, u16 param1, u16 param2)
{
param0->unk_12 = param1;
param0->unk_10 = param2;
}
void ov5_021E1B40(UnkStruct_ov5_021E1B20 *param0, u8 param1)
{
param0->unk_13_0 = param1;
}
Window *ov5_021E1B50(UnkStruct_ov5_021E1B20 *param0)
{
return &param0->unk_00;
}
u8 ov5_021E1B54(UnkStruct_ov5_021E1B20 *param0)
{
return param0->unk_12;
}
BOOL ov5_021E1B58(UnkStruct_ov5_021E1B20 *param0)
{
if (param0->unk_13_0 == 0) {
return 1;
}
return 0;
}
void ov5_021E1B68(FieldSystem *fieldSystem)
{
UnkStruct_ov5_021E1B20 *v0 = fieldSystem->unk_64;
switch (v0->unk_13_0) {
case 0:
break;
case 1:
ov5_021E1BE0(fieldSystem);
v0->unk_13_0 = 0;
break;
case 2:
if (ov5_021E1CB0(fieldSystem) == 1) {
v0->unk_13_0 = 0;
}
break;
case 3:
if (ov5_021E1C70(fieldSystem) == 1) {
v0->unk_13_0 = 0;
}
break;
case 4:
ov5_021E1C1C(fieldSystem);
v0->unk_13_0 = 0;
break;
}
}
void ov5_021E1BCC(FieldSystem *fieldSystem, u8 param1)
{
ov5_021E1B40(fieldSystem->unk_64, param1);
ov5_021E1B68(fieldSystem);
}
static void ov5_021E1BE0(FieldSystem *fieldSystem)
{
Bg_SetOffset(fieldSystem->bgConfig, 3, 3, -48);
if (fieldSystem->unk_64->unk_13_7 == 0) {
FieldMessage_AddSignpostWindow(fieldSystem->bgConfig, &fieldSystem->unk_64->unk_00, fieldSystem->unk_64->unk_12, 3);
fieldSystem->unk_64->unk_13_7 = 1;
}
FieldMessage_LoadAndDrawSignpost(&fieldSystem->unk_64->unk_00, fieldSystem->unk_64->unk_12, fieldSystem->unk_64->unk_10);
}
static void ov5_021E1C1C(FieldSystem *fieldSystem)
{
if (fieldSystem->unk_64->unk_13_7 == 0) {
return;
}
Window_Remove(&fieldSystem->unk_64->unk_00);
Bg_FillTilemapRect(fieldSystem->bgConfig, 3, 0, 0, 18, 32, 6, 16);
Bg_CopyTilemapBufferToVRAM(fieldSystem->bgConfig, 3);
Bg_SetOffset(fieldSystem->bgConfig, 3, 3, 0);
fieldSystem->unk_64->unk_13_7 = 0;
}
static BOOL ov5_021E1C70(FieldSystem *fieldSystem)
{
int v0 = Bg_GetYOffset(fieldSystem->bgConfig, 3);
if (v0 == 0) {
return 1;
}
if (!((v0 > -48) && (v0 < 0))) {
Bg_SetOffset(fieldSystem->bgConfig, 3, 3, -48);
}
Bg_SetOffset(fieldSystem->bgConfig, 3, 4, 16);
return 0;
}
static BOOL ov5_021E1CB0(FieldSystem *fieldSystem)
{
int v0 = Bg_GetYOffset(fieldSystem->bgConfig, 3);
if (v0 == -48) {
Bg_FillTilemapRect(fieldSystem->bgConfig, 3, 0, 0, 18, 32, 6, 16);
Bg_CopyTilemapBufferToVRAM(fieldSystem->bgConfig, 3);
Bg_SetOffset(fieldSystem->bgConfig, 3, 3, 0);
return 1;
}
if (!((v0 > -48) && (v0 < 0))) {
Bg_SetOffset(fieldSystem->bgConfig, 3, 3, 0);
}
Bg_SetOffset(fieldSystem->bgConfig, 3, 5, 16);
return 0;
}

161
src/overlay005/signpost.c Normal file
View File

@ -0,0 +1,161 @@
#include "overlay005/signpost.h"
#include <nitro.h>
#include <string.h>
#include "generated/signpost_commands.h"
#include "field/field_system.h"
#include "bg_window.h"
#include "field_message.h"
#include "heap.h"
static void Signpost_Draw(FieldSystem *fieldSystem);
static void Signpost_Remove(FieldSystem *fieldSystem);
static BOOL Signpost_ScrollIn(FieldSystem *fieldSystem);
static BOOL Signpost_ScrollOut(FieldSystem *fieldSystem);
void *Signpost_Init(u32 heapID)
{
void *signpost = Heap_AllocFromHeap(heapID, sizeof(Signpost));
memset(signpost, 0, sizeof(Signpost));
return signpost;
}
void Signpost_Free(Signpost *signpost)
{
if (signpost->active != FALSE) {
Window_Remove(&signpost->window);
}
Heap_FreeToHeap(signpost);
}
void Signpost_SetTypeAndNARCMemberIdx(Signpost *signpost, u16 type, u16 NARCMemberIdx)
{
signpost->type = type;
signpost->NARCMemberIdx = NARCMemberIdx;
}
void Signpost_SetCommand(Signpost *signpost, u8 command)
{
signpost->command = command;
}
Window *Signpost_GetWindow(Signpost *signpost)
{
return &signpost->window;
}
u8 Signpost_GetType(Signpost *signpost)
{
return signpost->type;
}
BOOL Signpost_IsDone(Signpost *signpost)
{
if (signpost->command == SIGNPOST_CMD_DO_NOTHING) {
return TRUE;
}
return FALSE;
}
void Signpost_DoCurrentCommand(FieldSystem *fieldSystem)
{
Signpost *signpost = fieldSystem->signpost;
switch (signpost->command) {
case SIGNPOST_CMD_DO_NOTHING:
break;
case SIGNPOST_CMD_DRAW:
Signpost_Draw(fieldSystem);
signpost->command = SIGNPOST_CMD_DO_NOTHING;
break;
case SIGNPOST_CMD_SCROLL_OUT:
if (Signpost_ScrollOut(fieldSystem) == TRUE) {
signpost->command = SIGNPOST_CMD_DO_NOTHING;
}
break;
case SIGNPOST_CMD_SCROLL_IN:
if (Signpost_ScrollIn(fieldSystem) == TRUE) {
signpost->command = SIGNPOST_CMD_DO_NOTHING;
}
break;
case SIGNPOST_CMD_REMOVE:
Signpost_Remove(fieldSystem);
signpost->command = SIGNPOST_CMD_DO_NOTHING;
break;
}
}
void Signpost_DoCommand(FieldSystem *fieldSystem, u8 command)
{
Signpost_SetCommand(fieldSystem->signpost, command);
Signpost_DoCurrentCommand(fieldSystem);
}
static void Signpost_Draw(FieldSystem *fieldSystem)
{
Bg_SetOffset(fieldSystem->bgConfig, BG_LAYER_MAIN_3, BG_OFFSET_UPDATE_SET_Y, -48);
if (fieldSystem->signpost->active == FALSE) {
FieldMessage_AddSignpostWindow(fieldSystem->bgConfig, &fieldSystem->signpost->window, fieldSystem->signpost->type, BG_LAYER_MAIN_3);
fieldSystem->signpost->active = TRUE;
}
FieldMessage_LoadAndDrawSignpost(&fieldSystem->signpost->window, fieldSystem->signpost->type, fieldSystem->signpost->NARCMemberIdx);
}
static void Signpost_Remove(FieldSystem *fieldSystem)
{
if (fieldSystem->signpost->active == FALSE) {
return;
}
Window_Remove(&fieldSystem->signpost->window);
Bg_FillTilemapRect(fieldSystem->bgConfig, BG_LAYER_MAIN_3, 0, 0, 18, 32, 6, 16);
Bg_CopyTilemapBufferToVRAM(fieldSystem->bgConfig, 3);
Bg_SetOffset(fieldSystem->bgConfig, BG_LAYER_MAIN_3, BG_OFFSET_UPDATE_SET_Y, 0);
fieldSystem->signpost->active = FALSE;
}
static BOOL Signpost_ScrollIn(FieldSystem *fieldSystem)
{
int offset = Bg_GetYOffset(fieldSystem->bgConfig, BG_LAYER_MAIN_3);
if (offset == 0) {
return TRUE;
}
if (!(offset > -48 && offset < 0)) {
Bg_SetOffset(fieldSystem->bgConfig, BG_LAYER_MAIN_3, BG_OFFSET_UPDATE_SET_Y, -48);
}
Bg_SetOffset(fieldSystem->bgConfig, BG_LAYER_MAIN_3, BG_OFFSET_UPDATE_ADD_Y, 16);
return FALSE;
}
static BOOL Signpost_ScrollOut(FieldSystem *fieldSystem)
{
int offset = Bg_GetYOffset(fieldSystem->bgConfig, BG_LAYER_MAIN_3);
if (offset == -48) {
Bg_FillTilemapRect(fieldSystem->bgConfig, BG_LAYER_MAIN_3, 0, 0, 18, 32, 6, 16);
Bg_CopyTilemapBufferToVRAM(fieldSystem->bgConfig, 3);
Bg_SetOffset(fieldSystem->bgConfig, BG_LAYER_MAIN_3, BG_OFFSET_UPDATE_SET_Y, 0);
return TRUE;
}
if (!(offset > -48 && offset < 0)) {
Bg_SetOffset(fieldSystem->bgConfig, BG_LAYER_MAIN_3, BG_OFFSET_UPDATE_SET_Y, 0);
}
Bg_SetOffset(fieldSystem->bgConfig, BG_LAYER_MAIN_3, BG_OFFSET_UPDATE_SUB_Y, 16);
return FALSE;
}

View File

@ -1296,7 +1296,7 @@ static void ov70_0225E4EC(UnkStruct_ov70_0225E4EC *param0, SaveData *param1, u32
LoadStandardWindowGraphics(param0->unk_00, Unk_ov70_0226D5CC[0], ((1 + (18 + 12)) + ((18 + 12) + 24)), 3, 0, param2);
LoadMessageBoxGraphics(param0->unk_00, Unk_ov70_0226D5CC[0], 1, 1, v2, param2);
LoadSignpostContentGraphics(param0->unk_00, Unk_ov70_0226D5CC[0], (1 + (18 + 12)), 2, 3, 0, param2);
LoadSignpostContentGraphics(param0->unk_00, Unk_ov70_0226D5CC[0], (1 + (18 + 12)), 2, SIGNPOST_TYPE_SCROLLING, 0, param2);
Graphics_LoadPalette(186, 90, 0, 2 * 32, 32, param2);
}

View File

@ -4,6 +4,7 @@
#include <string.h>
#include "constants/narc.h"
#include "generated/signpost_types.h"
#include "struct_defs/archived_sprite.h"
#include "struct_defs/struct_02013610.h"
@ -469,7 +470,7 @@ void LoadSignpostContentGraphics(BgConfig *bgConfig, u8 bgLayer, u16 baseTile, u
palette * PALETTE_SIZE_BYTES);
Heap_FreeToHeapExplicit(heapID, signpostNclr);
if (signpostType == SIGNPOST_CITY_MAP || signpostType == SIGNPOST_ROUTE_MAP) {
if (signpostType == SIGNPOST_TYPE_MAP || signpostType == SIGNPOST_TYPE_ARROW) {
LoadSignpostContentTiles(bgConfig,
bgLayer,
baseTile + SIGNPOST_SIZE,
@ -481,7 +482,7 @@ void LoadSignpostContentGraphics(BgConfig *bgConfig, u8 bgLayer, u16 baseTile, u
static void LoadSignpostContentTiles(BgConfig *bgConfig, u8 bgLayer, u16 offset, u8 signpostType, u16 narcMemberIdx, u32 heapID)
{
if (signpostType == SIGNPOST_CITY_MAP) {
if (signpostType == SIGNPOST_TYPE_MAP) {
narcMemberIdx += city_map_empty_NCGR;
} else {
narcMemberIdx += route_map_00_NCGR;
@ -540,7 +541,7 @@ void Window_DrawSignpost(Window *window, u8 skipTransfer, u16 baseTile, u8 palet
{
u8 bgLayer = Window_GetBgLayer(window);
if (signpostType == SIGNPOST_CITY_MAP || signpostType == SIGNPOST_ROUTE_MAP) {
if (signpostType == SIGNPOST_TYPE_MAP || signpostType == SIGNPOST_TYPE_ARROW) {
DrawSignpostFrame(window->bgConfig,
bgLayer,
Window_GetXPos(window),
@ -572,7 +573,7 @@ void Window_EraseSignpost(Window *window, u8 signpostType, u8 skipTransfer)
{
u8 bgLayer = Window_GetBgLayer(window);
if (signpostType == SIGNPOST_CITY_MAP || signpostType == SIGNPOST_ROUTE_MAP) {
if (signpostType == SIGNPOST_TYPE_MAP || signpostType == SIGNPOST_TYPE_ARROW) {
Bg_FillTilemapRect(window->bgConfig,
bgLayer,
0,

View File

@ -12,6 +12,7 @@
#include "constants/species.h"
#include "generated/journal_location_events.h"
#include "generated/save_types.h"
#include "generated/signpost_commands.h"
#include "struct_decls/pokedexdata_decl.h"
#include "struct_decls/struct_02014EC4_decl.h"
@ -53,7 +54,6 @@
#include "overlay005/ov5_021DD42C.h"
#include "overlay005/ov5_021DDAE4.h"
#include "overlay005/ov5_021DFB54.h"
#include "overlay005/ov5_021E1B08.h"
#include "overlay005/ov5_021E779C.h"
#include "overlay005/ov5_021EA874.h"
#include "overlay005/ov5_021ECC20.h"
@ -62,6 +62,7 @@
#include "overlay005/ov5_021F6454.h"
#include "overlay005/save_info_window.h"
#include "overlay005/scrcmd_move_tutor.h"
#include "overlay005/signpost.h"
#include "overlay005/struct_ov5_021DD42C.h"
#include "overlay005/vs_seeker.h"
#include "overlay006/npc_trade.h"
@ -303,16 +304,16 @@ static BOOL ScriptContext_CheckABPadPress(ScriptContext *ctx);
static BOOL ScrCmd_OpenMessage(ScriptContext *ctx);
static BOOL ScrCmd_CloseMessage(ScriptContext *ctx);
static BOOL ScrCmd_035(ScriptContext *ctx);
static BOOL ScrCmd_036(ScriptContext *ctx);
static BOOL ScrCmd_037(ScriptContext *ctx);
static BOOL ScrCmd_038(ScriptContext *ctx);
static BOOL ScrCmd_039(ScriptContext *ctx);
static BOOL sub_020405C4(ScriptContext *ctx);
static BOOL ScrCmd_03A(ScriptContext *ctx);
static BOOL sub_02040670(ScriptContext *ctx);
static BOOL ScrCmd_03B(ScriptContext *ctx);
static BOOL sub_02040730(ScriptContext *ctx);
static BOOL ScrCmd_03C(ScriptContext *ctx);
static BOOL ScrCmd_DrawSignpostInstantMessage(ScriptContext *ctx);
static BOOL ScrCmd_DrawSignpostTextBox(ScriptContext *ctx);
static BOOL ScrCmd_SetSignpostCommand(ScriptContext *ctx);
static BOOL ScrCmd_WaitForSignpostDone(ScriptContext *ctx);
static BOOL WaitForSignpostDone(ScriptContext *ctx);
static BOOL ScrCmd_DrawSignpostScrollingMessage(ScriptContext *ctx);
static BOOL WaitScrollingSignpostInput(ScriptContext *ctx);
static BOOL ScrCmd_GetSignpostInput(ScriptContext *ctx);
static BOOL HandleSignpostInput(ScriptContext *ctx);
static BOOL ScrCmd_ShowStartMenu(ScriptContext *ctx);
static BOOL ScriptContext_ScrollBG3(ScriptContext *ctx);
static BOOL ScrCmd_ScrollBG3(ScriptContext *ctx);
static BOOL ScrCmd_ShowYesNoMenu(ScriptContext *ctx);
@ -818,13 +819,13 @@ const ScrCmdFunc Unk_020EAC58[] = {
ScrCmd_OpenMessage,
ScrCmd_CloseMessage,
ScrCmd_035,
ScrCmd_036,
ScrCmd_037,
ScrCmd_038,
ScrCmd_039,
ScrCmd_03A,
ScrCmd_03B,
ScrCmd_03C,
ScrCmd_DrawSignpostInstantMessage,
ScrCmd_DrawSignpostTextBox,
ScrCmd_SetSignpostCommand,
ScrCmd_WaitForSignpostDone,
ScrCmd_DrawSignpostScrollingMessage,
ScrCmd_GetSignpostInput,
ScrCmd_ShowStartMenu,
ScrCmd_ScrollBG3,
ScrCmd_ShowYesNoMenu,
ScrCmd_03F,
@ -2447,206 +2448,195 @@ static BOOL ScriptContext_ScrollBG3(ScriptContext *ctx)
return FALSE;
}
static BOOL ScrCmd_036(ScriptContext *ctx)
static BOOL ScrCmd_DrawSignpostInstantMessage(ScriptContext *ctx)
{
FieldSystem *fieldSystem;
Strbuf **v1;
Strbuf **v2;
StringTemplate **v3;
u16 v4;
u16 v5;
u8 v6;
u8 v7;
FieldSystem *fieldSystem = ctx->fieldSystem;
Strbuf **tempBuf = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_TEMPORARY_BUF);
Strbuf **msgBuf = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_MESSAGE_BUF);
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u16 signpostNARCMemberIdx;
u16 unused;
u8 signpostType;
u8 messageID;
fieldSystem = ctx->fieldSystem;
v1 = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_TEMPORARY_BUF);
v2 = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_MESSAGE_BUF);
v3 = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
v7 = ScriptContext_ReadByte(ctx);
v6 = ScriptContext_ReadByte(ctx);
v4 = ScriptContext_ReadHalfWord(ctx);
v5 = ScriptContext_ReadHalfWord(ctx);
messageID = ScriptContext_ReadByte(ctx);
signpostType = ScriptContext_ReadByte(ctx);
signpostNARCMemberIdx = ScriptContext_ReadHalfWord(ctx);
unused = ScriptContext_ReadHalfWord(ctx);
if (v4 == 0) {
MapObject **v8 = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_TARGET_OBJECT);
if (signpostNARCMemberIdx == 0) {
MapObject **objectPtr = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_TARGET_OBJECT);
v4 = MapObject_GetDataAt(*v8, 0);
signpostNARCMemberIdx = MapObject_GetDataAt(*objectPtr, 0);
}
ov5_021E1B38(fieldSystem->unk_64, v6, v4);
ov5_021E1B40(fieldSystem->unk_64, 1);
ov5_021E1B68(fieldSystem);
Signpost_SetTypeAndNARCMemberIdx(fieldSystem->signpost, signpostType, signpostNARCMemberIdx);
Signpost_SetCommand(fieldSystem->signpost, SIGNPOST_CMD_DRAW);
Signpost_DoCurrentCommand(fieldSystem);
MessageLoader_GetStrbuf(ctx->loader, v7, *v1);
StringTemplate_Format(*v3, *v2, *v1);
Text_AddPrinterWithParams(ov5_021E1B50(fieldSystem->unk_64), FONT_MESSAGE, *v2, 0, 0, TEXT_SPEED_INSTANT, NULL);
MessageLoader_GetStrbuf(ctx->loader, messageID, *tempBuf);
StringTemplate_Format(*strTemplate, *msgBuf, *tempBuf);
Text_AddPrinterWithParams(Signpost_GetWindow(fieldSystem->signpost), FONT_MESSAGE, *msgBuf, 0, 0, TEXT_SPEED_INSTANT, NULL);
return 1;
return TRUE;
}
static BOOL ScrCmd_037(ScriptContext *ctx)
static BOOL ScrCmd_DrawSignpostTextBox(ScriptContext *ctx)
{
FieldSystem *fieldSystem;
u16 v1;
u8 v2;
FieldSystem *fieldSystem = ctx->fieldSystem;
u8 signpostType = ScriptContext_ReadByte(ctx);
u16 signpostNARCMemberIdx = ScriptContext_ReadHalfWord(ctx);
fieldSystem = ctx->fieldSystem;
v2 = ScriptContext_ReadByte(ctx);
v1 = ScriptContext_ReadHalfWord(ctx);
Signpost_SetTypeAndNARCMemberIdx(fieldSystem->signpost, signpostType, signpostNARCMemberIdx);
Signpost_SetCommand(fieldSystem->signpost, SIGNPOST_CMD_DRAW);
ov5_021E1B38(fieldSystem->unk_64, v2, v1);
ov5_021E1B40(fieldSystem->unk_64, 1);
return 1;
return TRUE;
}
static BOOL ScrCmd_038(ScriptContext *ctx)
static BOOL ScrCmd_SetSignpostCommand(ScriptContext *ctx)
{
FieldSystem *fieldSystem;
u8 v1;
FieldSystem *fieldSystem = ctx->fieldSystem;
u8 signpostCommand = ScriptContext_ReadByte(ctx);
fieldSystem = ctx->fieldSystem;
v1 = ScriptContext_ReadByte(ctx);
Signpost_SetCommand(fieldSystem->signpost, signpostCommand);
ov5_021E1B40(fieldSystem->unk_64, v1);
return 1;
return TRUE;
}
static BOOL ScrCmd_039(ScriptContext *ctx)
static BOOL ScrCmd_WaitForSignpostDone(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
if (ov5_021E1B58(fieldSystem->unk_64) == 1) {
return 0;
if (Signpost_IsDone(fieldSystem->signpost) == TRUE) {
return FALSE;
}
ScriptContext_Pause(ctx, sub_020405C4);
return 1;
ScriptContext_Pause(ctx, WaitForSignpostDone);
return TRUE;
}
static BOOL sub_020405C4(ScriptContext *ctx)
static BOOL WaitForSignpostDone(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
if (ov5_021E1B58(fieldSystem->unk_64) == 1) {
return 1;
if (Signpost_IsDone(fieldSystem->signpost) == TRUE) {
return TRUE;
}
return 0;
return FALSE;
}
static BOOL ScrCmd_03A(ScriptContext *ctx)
static BOOL ScrCmd_DrawSignpostScrollingMessage(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
u8 *v1 = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_MESSAGE_ID);
Strbuf **v2 = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_TEMPORARY_BUF);
Strbuf **v3 = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_MESSAGE_BUF);
StringTemplate **v4 = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 v5 = ScriptContext_ReadByte(ctx);
u16 v6 = ScriptContext_ReadHalfWord(ctx);
u8 *printerID = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_MESSAGE_ID);
Strbuf **tempBuf = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_TEMPORARY_BUF);
Strbuf **msgBuf = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_MESSAGE_BUF);
StringTemplate **strTemplate = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_STR_TEMPLATE);
u8 messageID = ScriptContext_ReadByte(ctx);
u16 destVarID = ScriptContext_ReadHalfWord(ctx);
MessageLoader_GetStrbuf(ctx->loader, v5, *v2);
StringTemplate_Format(*v4, *v3, *v2);
MessageLoader_GetStrbuf(ctx->loader, messageID, *tempBuf);
StringTemplate_Format(*strTemplate, *msgBuf, *tempBuf);
*v1 = FieldMessage_Print(ov5_021E1B50(fieldSystem->unk_64), *v3, SaveData_Options(ctx->fieldSystem->saveData), 1);
*printerID = FieldMessage_Print(Signpost_GetWindow(fieldSystem->signpost), *msgBuf, SaveData_Options(ctx->fieldSystem->saveData), 1);
ctx->data[0] = v6;
ScriptContext_Pause(ctx, sub_02040670);
ctx->data[0] = destVarID;
ScriptContext_Pause(ctx, WaitScrollingSignpostInput);
return 1;
return TRUE;
}
static BOOL sub_02040670(ScriptContext *ctx)
static BOOL WaitScrollingSignpostInput(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
u8 *v1 = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_MESSAGE_ID);
u16 *v2 = FieldSystem_GetVarPointer(fieldSystem, ctx->data[0]);
u8 v3 = ov5_021E1B54(fieldSystem->unk_64);
int v4 = 0xffff;
u8 *printerID = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_MESSAGE_ID);
u16 *destVar = FieldSystem_GetVarPointer(fieldSystem, ctx->data[0]);
u8 unused = Signpost_GetType(fieldSystem->signpost);
int dir = 0xffff;
if (FieldMessage_FinishedPrinting(*v1) == 1) {
*v2 = 2;
return 1;
if (FieldMessage_FinishedPrinting(*printerID) == TRUE) {
*destVar = 2;
return TRUE;
}
if (gSystem.pressedKeys & PAD_KEY_UP) {
v4 = 0;
dir = DIR_NORTH;
} else if (gSystem.pressedKeys & PAD_KEY_DOWN) {
v4 = 1;
dir = DIR_SOUTH;
} else if (gSystem.pressedKeys & PAD_KEY_LEFT) {
v4 = 2;
dir = DIR_WEST;
} else if (gSystem.pressedKeys & PAD_KEY_RIGHT) {
v4 = 3;
dir = DIR_EAST;
}
if (v4 != 0xffff) {
Text_RemovePrinter(*v1);
Player_SetDir(ctx->fieldSystem->playerAvatar, v4);
*v2 = 0;
return 1;
if (dir != 0xffff) {
Text_RemovePrinter(*printerID);
Player_SetDir(ctx->fieldSystem->playerAvatar, dir);
*destVar = 0;
return TRUE;
}
if (gSystem.pressedKeys & PAD_BUTTON_X) {
Text_RemovePrinter(*v1);
*v2 = 1;
return 1;
Text_RemovePrinter(*printerID);
*destVar = 1;
return TRUE;
}
return 0;
return FALSE;
}
static BOOL ScrCmd_03B(ScriptContext *ctx)
static BOOL ScrCmd_GetSignpostInput(ScriptContext *ctx)
{
u16 v0 = ScriptContext_ReadHalfWord(ctx);
u16 destVarID = ScriptContext_ReadHalfWord(ctx);
ctx->data[0] = v0;
ScriptContext_Pause(ctx, sub_02040730);
ctx->data[0] = destVarID;
ScriptContext_Pause(ctx, HandleSignpostInput);
return 1;
return TRUE;
}
static BOOL sub_02040730(ScriptContext *ctx)
static BOOL HandleSignpostInput(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
u16 *v1 = FieldSystem_GetVarPointer(fieldSystem, ctx->data[0]);
int v2 = 0xffff;
u16 *destVar = FieldSystem_GetVarPointer(fieldSystem, ctx->data[0]);
int dir = 0xffff;
if (gSystem.pressedKeys & (PAD_BUTTON_A | PAD_BUTTON_B)) {
*v1 = 0;
return 1;
*destVar = 0;
return TRUE;
}
if (gSystem.pressedKeys & PAD_KEY_UP) {
v2 = 0;
dir = DIR_NORTH;
} else if (gSystem.pressedKeys & PAD_KEY_DOWN) {
v2 = 1;
dir = DIR_SOUTH;
} else if (gSystem.pressedKeys & PAD_KEY_LEFT) {
v2 = 2;
dir = DIR_WEST;
} else if (gSystem.pressedKeys & PAD_KEY_RIGHT) {
v2 = 3;
dir = DIR_EAST;
}
if (v2 != 0xffff) {
Player_SetDir(ctx->fieldSystem->playerAvatar, v2);
*v1 = 0;
return 1;
if (dir != 0xffff) {
Player_SetDir(ctx->fieldSystem->playerAvatar, dir);
*destVar = 0;
return TRUE;
}
if (gSystem.pressedKeys & PAD_BUTTON_X) {
*v1 = 1;
return 1;
*destVar = 1;
return TRUE;
}
return 0;
return FALSE;
}
static BOOL ScrCmd_03C(ScriptContext *ctx)
static BOOL ScrCmd_ShowStartMenu(ScriptContext *ctx)
{
FieldSystem *fieldSystem = ctx->fieldSystem;
sub_0203F0C0(fieldSystem);
return 0;
return FALSE;
}
static BOOL ScrCmd_ShowYesNoMenu(ScriptContext *ctx)

View File

@ -282,9 +282,9 @@ static u16 ScriptContext_LoadAndOffsetID(FieldSystem *fieldSystem, ScriptContext
} else if (retScriptID >= 2500) {
ScriptContext_Load(fieldSystem, ctx, scripts_unk_0001, TEXT_BANK_UNK_0017);
retScriptID -= 2500;
} else if (retScriptID >= 2000) {
ScriptContext_Load(fieldSystem, ctx, scripts_unk_0211, TEXT_BANK_COMMON_STRINGS);
retScriptID -= 2000;
} else if (retScriptID >= SCRIPT_ID_OFFSET_COMMON_SCRIPTS) {
ScriptContext_Load(fieldSystem, ctx, scripts_common, TEXT_BANK_COMMON_STRINGS);
retScriptID -= SCRIPT_ID_OFFSET_COMMON_SCRIPTS;
} else if (retScriptID >= 1) {
ScriptContext_LoadFromCurrentMap(fieldSystem, ctx);
retScriptID -= 1;
@ -446,7 +446,7 @@ void sub_0203F0C0(FieldSystem *fieldSystem)
{
ScriptManager *scriptManager = FieldTask_GetEnv(fieldSystem->task);
if (sub_0203A9C8(fieldSystem) == 1) {
if (sub_0203A9C8(fieldSystem) == TRUE) {
scriptManager->function = sub_0203AB00;
}
}