Cutscene stuff + script directions

This commit is contained in:
Kermalis 2025-11-22 09:37:47 -05:00
parent 8bac08d14d
commit 4bd0a23bdb
150 changed files with 4692 additions and 4539 deletions

View File

@ -0,0 +1,123 @@
#ifndef GUARD_CONSTANTS_CUTSCENES_H
#define GUARD_CONSTANTS_CUTSCENES_H
enum CutsceneKind
{
CUTSCENE_NONE,
CUTSCENE_MT_STEEL_ATTEMPT1,
CUTSCENE_MT_STEEL_ATTEMPT2,
CUTSCENE_MT_STEEL_POSTSTORY,
CUTSCENE_SINISTER_WOODS_ATTEMPT1,
CUTSCENE_SINISTER_WOODS_ATTEMPT2,
CUTSCENE_SINISTER_WOODS_POSTSTORY,
CUTSCENE_MT_THUNDER_PEAK_ATTEMPT1,
CUTSCENE_MT_THUNDER_PEAK_ATTEMPT2,
CUTSCENE_MT_THUNDER_PEAK_POSTSTORY,
CUTSCENE_MT_BLAZE_PEAK_ATTEMPT1,
CUTSCENE_MT_BLAZE_PEAK_ATTEMPT2,
CUTSCENE_MT_BLAZE_PEAK_POSTSTORY,
CUTSCENE_FROSTY_GROTTO_ATTEMPT1,
CUTSCENE_FROSTY_GROTTO_ATTEMPT2,
CUTSCENE_FROSTY_GROTTO_POSTSTORY,
CUTSCENE_MT_FREEZE_PEAK,
CUTSCENE_MT_FREEZE_PEAK_POSTSTORY,
CUTSCENE_MAGMA_CAVERN_PIT_ATTEMPT1,
CUTSCENE_MAGMA_CAVERN_PIT_ATTEMPT2,
CUTSCENE_MAGMA_CAVERN_PIT_POSTSTORY,
CUTSCENE_MAGMA_CAVERN_MID,
CUTSCENE_MAGMA_CAVERN_MID_POSTSTORY,
CUTSCENE_SKY_TOWER_SUMMIT_ATTEMPT1,
CUTSCENE_SKY_TOWER_SUMMIT_ATTEMPT2,
CUTSCENE_SKY_TOWER_SUMMIT_POSTSTORY,
CUTSCENE_UPROAR_FOREST_ATTEMPT1,
CUTSCENE_UPROAR_FOREST_ATTEMPT2,
CUTSCENE_UPROAR_FOREST_POSTSTORY,
CUTSCENE_WESTERN_CAVE_ATTEMPT1,
CUTSCENE_WESTERN_CAVE_ATTEMPT2,
CUTSCENE_WESTERN_CAVE_POSTSTORY,
CUTSCENE_FIERY_FIELD_ATTEMPT1,
CUTSCENE_FIERY_FIELD_ATTEMPT2,
CUTSCENE_FIERY_FIELD_POSTSTORY,
CUTSCENE_LIGHTNING_FIELD_ATTEMPT1,
CUTSCENE_LIGHTNING_FIELD_ATTEMPT2,
CUTSCENE_LIGHTNING_FIELD_POSTSTORY,
CUTSCENE_NORTHWIND_FIELD_ATTEMPT1,
CUTSCENE_NORTHWIND_FIELD_ATTEMPT2,
CUTSCENE_NORTHWIND_FIELD_POSTSTORY,
CUTSCENE_MT_FARAWAY,
CUTSCENE_MT_FARAWAY_POSTSTORY,
CUTSCENE_NORTHERN_RANGE_ATTEMPT1,
CUTSCENE_NORTHERN_RANGE_ATTEMPT2,
CUTSCENE_NORTHERN_RANGE_POSTSTORY,
CUTSCENE_REGIROCK,
CUTSCENE_REGICE,
CUTSCENE_REGISTEEL,
CUTSCENE_JIRACHI,
CUTSCENE_JIRACHI_POSTSTORY,
CUTSCENE_SILVER_TRENCH,
CUTSCENE_STORMY_SEA,
CUTSCENE_METEOR_CAVE,
CUTSCENE_PURITY_FOREST,
CUTSCENE_MAZE_BOSS,
CUTSCENE_MEDICHAM,
CUTSCENE_MEDICHAM_POSTSTORY,
CUTSCENE_HOWLING_FOREST,
CUTSCENE_HOWLING_FOREST_POSTSTORY,
NUM_CUTSCENES
};
enum CutsceneFlagID
{
CUTSCENE_FLAG_MT_STEEL_REACHED,
CUTSCENE_FLAG_MT_STEEL_COMPLETE,
CUTSCENE_FLAG_SINISTER_WOODS_REACHED,
CUTSCENE_FLAG_SINISTER_WOODS_COMPLETE,
CUTSCENE_FLAG_MT_THUNDER_PEAK_REACHED,
CUTSCENE_FLAG_MT_THUNDER_PEAK_COMPLETE,
CUTSCENE_FLAG_MT_BLAZE_PEAK_REACHED,
CUTSCENE_FLAG_MT_BLAZE_PEAK_COMPLETE,
CUTSCENE_FLAG_FROSTY_GROTTO_REACHED,
CUTSCENE_FLAG_FROSTY_GROTTO_COMPLETE,
CUTSCENE_FLAG_MT_FREEZE_PEAK_COMPLETE,
CUTSCENE_FLAG_MAGMA_CAVERN_PIT_REACHED,
CUTSCENE_FLAG_MAGMA_CAVERN_PIT_COMPLETE,
CUTSCENE_FLAG_MAGMA_CAVERN_MID_REACHED,
CUTSCENE_FLAG_SKY_TOWER_SUMMIT_REACHED,
CUTSCENE_FLAG_SKY_TOWER_SUMMIT_COMPLETE,
CUTSCENE_FLAG_UPROAR_FOREST_REACHED,
CUTSCENE_FLAG_UPROAR_FOREST_COMPLETE,
CUTSCENE_FLAG_WESTERN_CAVE_REACHED,
CUTSCENE_FLAG_WESTERN_CAVE_COMPLETE,
CUTSCENE_FLAG_FIERY_FIELD_REACHED,
CUTSCENE_FLAG_FIERY_FIELD_COMPLETE,
CUTSCENE_FLAG_LIGHTNING_FIELD_REACHED,
CUTSCENE_FLAG_LIGHTNING_FIELD_COMPLETE,
CUTSCENE_FLAG_NORTHWIND_FIELD_REACHED,
CUTSCENE_FLAG_NORTHWIND_FIELD_COMPLETE,
CUTSCENE_FLAG_MT_FARAWAY_COMPLETE,
CUTSCENE_FLAG_NORTHERN_RANGE_REACHED,
CUTSCENE_FLAG_NORTHERN_RANGE_COMPLETE,
// Written to when entering a Regi room:
// If the Regi was recruited before, this is set to TRUE.
// If the Regi "Part" or Music Box is in the inventory or held, this is set to TRUE.
// Otherwise, this is set to FALSE.
// If this is TRUE and the Regi is present, the Regi can be recruited.
CUTSCENE_FLAG_REGI_ITEM_OBTAINED,
CUTSCENE_FLAG_JIRACHI_COMPLETE,
CUTSCENE_FLAG_FROSTY_FOREST_INTRUDED,
CUTSCENE_FLAG_MEDICHAM_COMPLETE,
CUTSCENE_FLAG_HOWLING_FOREST_COMPLETE,
// Written to when entering a Regi room.
// If the Regi was recruited before, this is set to TRUE.
// Otherwise, this is set to FALSE.
CUTSCENE_FLAG_REGI_RECRUITED,
NUM_CUTSCENE_FLAGS = 64,
CUTSCENE_FLAG_INVALID = 0xFF,
};
#define CUTSCENE_FLAGS_U32STORAGE 3 // No idea why this is larger than necessary
#endif // GUARD_CONSTANTS_CUTSCENES_H

View File

@ -17,4 +17,20 @@ enum Direction
NUM_DIRECTIONS
};
enum DirectionTransformation
{
DIR_TRANS_NONE,
DIR_TRANS_SPINRIGHT1, // Spin right 1 (example: South -> SouthWest)
DIR_TRANS_SPINLEFT1, // Spin left 1 (example: South -> SouthEast)
DIR_TRANS_SPINRIGHT2, // Spin right 2 (example: South -> West)
DIR_TRANS_SPINLEFT2, // Spin left 2 (example: South -> East)
DIR_TRANS_FLIP, // Flip (example: South -> North)
DIR_TRANS_RAND_OFFSET_SOFT_CARDINAL, // Like DIR_TRANS_RAND_OFFSET_SOFT but only results in cardinal directions
DIR_TRANS_RAND_OFFSET_SOFT, // SpinLeft1 or Nothing or SpinRight1
DIR_TRANS_RAND_CARDINAL, // Random non-diagonal
DIR_TRANS_RAND, // Fully random
DIR_TRANS_10,
DIR_TRANS_11,
};
#endif

View File

@ -1,6 +1,8 @@
#ifndef GUARD_CONSTANTS_DUNGEON_H
#define GUARD_CONSTANTS_DUNGEON_H
#include "constants/cutscenes.h"
enum DungeonID
{
DUNGEON_TINY_WOODS = 0,
@ -105,71 +107,6 @@ enum DungeonID
DUNGEON_INVALID, // 99
};
enum CutsceneKind
{
CUTSCENE_NONE,
CUTSCENE_MT_STEEL_ATTEMPT1,
CUTSCENE_MT_STEEL_ATTEMPT2,
CUTSCENE_MT_STEEL_POSTSTORY,
CUTSCENE_SINISTER_WOODS_ATTEMPT1,
CUTSCENE_SINISTER_WOODS_ATTEMPT2,
CUTSCENE_SINISTER_WOODS_POSTSTORY,
CUTSCENE_MT_THUNDER_PEAK_ATTEMPT1,
CUTSCENE_MT_THUNDER_PEAK_ATTEMPT2,
CUTSCENE_MT_THUNDER_PEAK_POSTSTORY,
CUTSCENE_MT_BLAZE_PEAK_ATTEMPT1,
CUTSCENE_MT_BLAZE_PEAK_ATTEMPT2,
CUTSCENE_MT_BLAZE_PEAK_POSTSTORY,
CUTSCENE_FROSTY_GROTTO_ATTEMPT1,
CUTSCENE_FROSTY_GROTTO_ATTEMPT2,
CUTSCENE_FROSTY_GROTTO_POSTSTORY,
CUTSCENE_MT_FREEZE_PEAK,
CUTSCENE_MT_FREEZE_PEAK_POSTSTORY,
CUTSCENE_MAGMA_CAVERN_PIT_ATTEMPT1,
CUTSCENE_MAGMA_CAVERN_PIT_ATTEMPT2,
CUTSCENE_MAGMA_CAVERN_PIT_POSTSTORY,
CUTSCENE_MAGMA_CAVERN_MID,
CUTSCENE_MAGMA_CAVERN_MID_POSTSTORY,
CUTSCENE_SKY_TOWER_SUMMIT_ATTEMPT1,
CUTSCENE_SKY_TOWER_SUMMIT_ATTEMPT2,
CUTSCENE_SKY_TOWER_SUMMIT_POSTSTORY,
CUTSCENE_UPROAR_FOREST_ATTEMPT1,
CUTSCENE_UPROAR_FOREST_ATTEMPT2,
CUTSCENE_UPROAR_FOREST_POSTSTORY,
CUTSCENE_WESTERN_CAVE_ATTEMPT1,
CUTSCENE_WESTERN_CAVE_ATTEMPT2,
CUTSCENE_WESTERN_CAVE_POSTSTORY,
CUTSCENE_FIERY_FIELD_ATTEMPT1,
CUTSCENE_FIERY_FIELD_ATTEMPT2,
CUTSCENE_FIERY_FIELD_POSTSTORY,
CUTSCENE_LIGHTNING_FIELD_ATTEMPT1,
CUTSCENE_LIGHTNING_FIELD_ATTEMPT2,
CUTSCENE_LIGHTNING_FIELD_POSTSTORY,
CUTSCENE_NORTHWIND_FIELD_ATTEMPT1,
CUTSCENE_NORTHWIND_FIELD_ATTEMPT2,
CUTSCENE_NORTHWIND_FIELD_POSTSTORY,
CUTSCENE_MT_FARAWAY,
CUTSCENE_MT_FARAWAY_POSTSTORY,
CUTSCENE_NORTHERN_RANGE_ATTEMPT1,
CUTSCENE_NORTHERN_RANGE_ATTEMPT2,
CUTSCENE_NORTHERN_RANGE_POSTSTORY,
CUTSCENE_REGIROCK,
CUTSCENE_REGICE,
CUTSCENE_REGISTEEL,
CUTSCENE_JIRACHI,
CUTSCENE_JIRACHI_POSTSTORY,
CUTSCENE_SILVER_TRENCH,
CUTSCENE_STORMY_SEA,
CUTSCENE_METEOR_CAVE,
CUTSCENE_PURITY_FOREST,
CUTSCENE_MAZE_BOSS,
CUTSCENE_MEDICHAM,
CUTSCENE_MEDICHAM_POSTSTORY,
CUTSCENE_HOWLING_FOREST,
CUTSCENE_HOWLING_FOREST_POSTSTORY,
CUTSCENE_MAX
};
#define DUNGEON_FIRST_MAZE DUNGEON_NORMAL_MAZE_2
#define DUNGEON_LAST_MAZE DUNGEON_RESCUE_TEAM_MAZE
#define DUNGEON_LAST_BASIC_MAZE DUNGEON_STEEL_MAZE

View File

@ -3,7 +3,8 @@
enum FixedRoomID
{
// floorwide fixed rooms
// Floorwide fixed rooms
FIXED_ROOM_NONE,
FIXED_ROOM_MT_STEEL_SKARMORY,
FIXED_ROOM_SINISTER_WOODS_TEAM_MEANIES,
@ -31,7 +32,9 @@ enum FixedRoomID
FIXED_ROOM_HOWLING_FOREST_SMEARGLE,
FIXED_ROOM_PURITY_FOREST_CELEBI,
FIXED_ROOM_WISH_CAVE_MEDICHAM,
// Mazes
FIXED_ROOM_NORMAL_MAZE_BOSS,
FIXED_ROOM_FIRE_MAZE_BOSS,
FIXED_ROOM_WATER_MAZE_BOSS,
@ -55,7 +58,9 @@ enum FixedRoomID
FIXED_ROOM_TEAM_RUMBLEROCK_BOSS,
FIXED_ROOM_RESCUE_TEAM_2_BOSS,
FIXED_ROOM_RESCUE_TEAM_MAZE_BOSS,
// Non-floorwide fixed rooms
FIXED_ROOM_WYVERN_HILL_HM_FLY,
FIXED_ROOM_SOLAR_CAVE_HM_DIVE,
FIXED_ROOM_SOLAR_CAVE_HM_WATERFALL,
@ -77,8 +82,7 @@ enum FixedRoomID
#define FIRST_DOJO_MAZE_BOSS_ROOM FIXED_ROOM_NORMAL_MAZE_BOSS
#define LAST_DOJO_MAZE_BOSS_ROOM FIXED_ROOM_RESCUE_TEAM_MAZE_BOSS
#define NUM_MAZE_BOSS_ROOMS LAST_DOJO_MAZE_BOSS_ROOM - FIRST_DOJO_MAZE_BOSS_ROOM
#define LAST_FLOORWIDE_FIXED_ROOM FIXED_ROOM_RESCUE_TEAM_MAZE_BOSS
#define FIRST_NON_FLOORWIDE_FIXED_ROOM LAST_FLOORWIDE_FIXED_ROOM + 1
#endif
#endif // GUARD_CONSTANTS_FIXED_ROOMS_H

View File

@ -430,6 +430,8 @@
#define NUM_MONSTERS MONSTER_JIRACHI
#define MONSTER_MAX (MONSTER_RAYQUAZA_CUTSCENE + 1)
#define MONSTER_FLAGS_U32STORAGE 14
#define IS_CASTFORM_FORM_MONSTER(id)((id == MONSTER_CASTFORM_SNOWY || id == MONSTER_CASTFORM_SUNNY || id == MONSTER_CASTFORM_RAINY))
#define IS_DEOXYS_FORM_MONSTER(id)((id == MONSTER_DEOXYS_ATTACK || id == MONSTER_DEOXYS_DEFENSE || id == MONSTER_DEOXYS_SPEED))

View File

@ -3,6 +3,8 @@
enum RescueDungeonId
{
RESCUE_DUNGEON_INVALID = -1,
RESCUE_DUNGEON_TINY_WOODS,
RESCUE_DUNGEON_THUNDERWAVE_CAVE,
RESCUE_DUNGEON_MT_STEEL,
@ -34,6 +36,9 @@ enum RescueDungeonId
RESCUE_DUNGEON_WISH_CAVE,
RESCUE_DUNGEON_MT_FREEZE_2,
RESCUE_DUNGEON_MURKY_CAVE,
// Non-story rescues:
RESCUE_DUNGEON_DESERT_REGION,
RESCUE_DUNGEON_SOUTHERN_CAVERN,
RESCUE_DUNGEON_WYVERN_HILL,
@ -49,7 +54,11 @@ enum RescueDungeonId
RESCUE_DUNGEON_REMAINS_ISLAND,
RESCUE_DUNGEON_MARVELOUS_SEA,
RESCUE_DUNGEON_FANTASY_STRAIT,
RESCUE_DUNGEON_COUNT,
};
#define MAX_STORY_MISSION RESCUE_DUNGEON_MURKY_CAVE
#define NUM_STORY_MISSIONS (MAX_STORY_MISSION + 1)
#endif // GUARD_CONSTANTS_RESCUE_DUNGEON_ID_H

View File

@ -3,6 +3,8 @@
enum ScriptDungeonId
{
SCRIPT_DUNGEON_INVALID = -1,
SCRIPT_DUNGEON_TINY_WOODS,
SCRIPT_DUNGEON_THUNDERWAVE_CAVE,
SCRIPT_DUNGEON_MT_STEEL,
@ -24,7 +26,7 @@ enum ScriptDungeonId
SCRIPT_DUNGEON_MAGMA_CAVERN_PIT,
SCRIPT_DUNGEON_SKY_TOWER,
SCRIPT_DUNGEON_SKY_TOWER_SUMMIT,
SCRIPT_DUNGEON_21,
SCRIPT_DUNGEON_DUMMY,
SCRIPT_DUNGEON_UPROAR_FOREST,
SCRIPT_DUNGEON_HOWLING_FOREST,
SCRIPT_DUNGEON_STORMY_SEA,

View File

@ -0,0 +1,28 @@
#ifndef GUARD_CONSTANTS_TUTORIAL_ID_H
#define GUARD_CONSTANTS_TUTORIAL_ID_H
enum TutorialFlagID
{
TUTORIAL_FLAG_STAIRS_AND_SURVIVE,
TUTORIAL_FLAG_OPEN_MENU,
TUTORIAL_FLAG_REGAIN_HP,
TUTORIAL_FLAG_MANAGE_BELLY1,
TUTORIAL_FLAG_ORAN_BERRY,
TUTORIAL_FLAG_CHERI_BERRY,
TUTORIAL_FLAG_BLAST_SEED,
TUTORIAL_FLAG_GRAVELEROCK,
TUTORIAL_FLAG_UNK8,
TUTORIAL_FLAG_PECHA_BERRY,
TUTORIAL_FLAG_SLEEP_SEED,
TUTORIAL_FLAG_MONEY,
TUTORIAL_FLAG_MOVES,
TUTORIAL_FLAG_TEAM_MANAGEMENT,
TUTORIAL_FLAG_MOVEMENT,
TUTORIAL_FLAG_MANAGE_BELLY2,
NUM_TUTORIAL_FLAGS = 31
};
#define TUTORIAL_FLAGS_U32STORAGE 1
#endif // GUARD_CONSTANTS_TUTORIAL_ID_H

View File

@ -1,7 +1,9 @@
#include "constants/cutscenes.h"
#include "constants/direction.h"
#include "constants/event_flag.h"
#include "constants/item.h"
#include "constants/ground_map.h"
#include "constants/rescue_dungeon_id.h"
#include "constants/script_dungeon_id.h"
#include "portrait_placement.h"
#include "structs/str_ground_script.h"
@ -82,12 +84,22 @@
#define SELECT_ANIMATION(id) { 0x54, 0, id, 0, 0, NULL }
// 58..95: position and movement-related
// For WARP/WALK, every map has a list of predefined locations.
#define WARP_WAYPOINT(u, w) { 0x5B, u, 0, w, 0, NULL }
#define WALK_RELATIVE(spd, h, v) { 0x6A, 0, spd, h, v, NULL }
#define WALK_GRID(spd, w) { 0x6B, 0, spd, w, 0, NULL }
#define WALK_DIRECT(spd, w) { 0x7A, 0, spd, w, 0, NULL }
#define CAMERA_PAN(u1, u2) { 0x86, 0, u1, u2, 0, NULL }
#define ROTATE(spd, d, o) { 0x91, spd, d, o, 0, NULL } // d=cw/ccw/shortest, o=final orientation
#define WARP_WAYPOINT(u,w) { 0x5B, u, 0, w, 0, NULL }
#define WALK_RELATIVE(spd,h,v) { 0x6A, 0, spd, h, v, NULL }
#define WALK_GRID(spd,w) { 0x6B, 0, spd, w, 0, NULL }
#define WALK_DIRECT(spd,w) { 0x7A, 0, spd, w, 0, NULL }
#define CAMERA_PAN(u1,u2) { 0x86, 0, u1, u2, 0, NULL }
#define CMD_UNK_8A(a,b,t) { 0x8A, a, b, t, 0, NULL }
#define CMD_UNK_8C(a,t,c) { 0x8C, a, t, c, 0, NULL }
#define CMD_UNK_8D(a,t) { 0x8D, a, t, 0, 0, NULL }
#define CMD_UNK_8E(a,t,c) { 0x8E, a, t, c, 0, NULL }
#define CMD_UNK_8F(a,t,c) { 0x8F, a, t, c, 0, NULL }
#define CMD_UNK_90(a,t,c) { 0x90, a, t, c, 0, NULL }
#define ROTATE_TO(spd,t,o) { 0x91, spd, t, o, 0, NULL } // o=final orientation
#define CMD_UNK_92(a,b,t) { 0x92, a, b, t, 0, NULL }
#define CMD_UNK_93(a,t,c) { 0x93, a, t, c, 0, NULL }
#define CMD_UNK_94(a,t,c) { 0x94, a, t, c, 0, NULL }
#define CMD_UNK_95(a,t,c) { 0x95, a, t, c, 0, NULL }
// 96: unused?
// 97: ??? (maybe more camera?)
#define CAMERA_INIT_PAN { 0x98, 0, 0, 0, 0, NULL }
@ -104,7 +116,10 @@
#define SET_DUNGEON_RES(r,e) { 0xAB, 0, r, e, 0, NULL }
#define SET_PLAYER_KIND(k) { 0xAC, 0, k, 0, 0, NULL }
#define UNLOCK_FRIEND_AREA(a) { 0xAD, TRUE, a, 0, 0, NULL }
// ae..b2: opaque functions
#define CMD_UNK_AE(r) { 0xAE, TRUE, r, 0, 0, NULL }
#define CMD_UNK_AF(r, b) { 0xAF, b, r, 0, 0, NULL }
#define SET_RESCUE_CONQUERED(s) { 0xB0, TRUE, s, 0, 0, NULL }
// b1..b2: opaque functions
#define JUMPIF_EQUAL(v,i,l) { 0xB3, l, v, i, 0, NULL }
#define JUMPIF(o,v,i,l) { 0xB4, o, l, v, i, NULL }
#define JUMPIF_2(o,a,b,l) { 0xB5, o, l, a, b, NULL }
@ -114,8 +129,8 @@
#define JUMPIF_SCENE_EQ(v,a,b,l) { 0xB9, l, v, a, b, NULL }
#define JUMPIF_SCENE_GT(v,a,b,l) { 0xBA, l, v, a, b, NULL }
#define JUMPIF_SCENARIOCHECK(i,l) { 0xBB, l, i, 0, 0, NULL }
#define JUMPIF_CUTSCENE_FLAG(f,l) { 0xBC, l, f, 0, 0, NULL }
// functions need reversing
#define JUMPIF_UNK_BC(i,l) { 0xBC, l, i, 0, 0, NULL }
#define JUMPIF_UNK_BD(i,l) { 0xBD, l, 0, i, 0, NULL }
#define JUMPIF_UNK_BE(l) { 0xBE, l, 0, 0, 0, NULL }
#define JUMPIF_HASITEM(i,l) { 0xBF, l, i, 0, 0, NULL }

View File

@ -1,10 +1,12 @@
#ifndef GUARD_DIRECTION_UTIL_H
#define GUARD_DIRECTION_UTIL_H
#include "constants/direction.h"
#include "structs/str_position.h"
s32 sub_8002984(s32 _direction1, u32 caseID);
s32 sub_8002A70(s32 _direction1, s32 _direction2, s32 _caseId);
// See enum "DirectionTransformation"
s32 TransformDirection1(s32 _direction1, u32 caseID);
s32 TransformDirection2(s32 _direction1, s32 _direction2, s32 _caseId);
s32 sub_8002B04(s32 _direction1, s32 _direction2);
PixelPos SetVecFromDirectionSpeed(s32 _dir, u32 speed);
s32 VecDirection8Radial(PixelPos *pixelPos);

View File

@ -17,9 +17,9 @@ void sub_80847D4(void);
bool8 ShouldShowDungeonBanner(void);
void sub_80848F0(void);
void DisplayPreFightDialogue(void);
void sub_8084E00_Async(Entity *entity, u8 param_2, bool8 param_3);
void sub_8085140(void);
bool8 sub_808529C(s32 speciesId_);
void HandleBossFaint_Async(Entity *entity, u8 monsterBehavior, bool8 transformedIntoFriend);
void sub_8085140_Async(void);
bool8 MonCutsceneCompleted(s32 speciesId_);
void sub_8085374(void);
Entity *CutsceneGetLeader(void);
Entity *CutsceneGetPartner(void);
@ -43,7 +43,7 @@ u32 sub_8085EC8(s16 param_1,u32 param_2,u32 param_3,DungeonPos *param_4, bool32
void sub_8085F44(s32 param_1);
void sub_8085F78(void);
bool8 ItemInInventoryOrHeld(u8 id);
void sub_8086130(void);
void FrostyForestIntrusionCutscene_Async(void);
void sub_80861A8(Entity *a0);
void sub_80861B8(Entity *a0, u8 r1, s32 direction);
void sub_80861D4(Entity *a0, u8 r1, s32 direction);
@ -69,8 +69,8 @@ void sub_8086854(void);
void sub_80868F4(Entity *entity);
void sub_8086910(Entity *entity);
void sub_808692C(void);
void SpriteLookAroundEffect(Entity *entity);
void sub_80869E4(struct Entity *entity, s32 a1, u8 a2, s32 _someDirection);
void CutsceneLookAroundEffect_Async(Entity *entity);
void CutsceneLookDir_Async(struct Entity *entity, s32 numFrames, u8 dirTrans, s32 _someDirection);
void sub_8086A3C(Entity *pokemon);
void sub_8086A54(Entity *pokemon);
void SetupBossFightHP(Entity *pokemon, s32 newHP, u16 songIndex);

View File

@ -52,25 +52,25 @@ void TeamMeaniesReFightDialogue(void);
void ZapdosPostStoryPreFightDialogue(void);
void ZapdosPreFightDialogue(void);
void ZapdosReFightDialogue(void);
void nullsub_100(u8, u8, u8);
void HandleCelebiBossFaint(u8, u8, u8);
void sub_8086B14(void);
void sub_8086B94(void);
void sub_8086BDC(u8, u8);
void HandleSkarmoryBossFaint(u8, u8);
void sub_8086E40(void);
void sub_8086E9C(void);
void sub_8086F00(void);
void sub_8086F54(u8, u8);
void HandleMeaniesBossFaint(u8, u8);
void sub_8087130(void);
void sub_8087230(void);
void sub_808729C(void);
void sub_8087334(u8, u8);
void HandleZapdosBossFaint(u8, u8);
void sub_80877E8(void);
void sub_8087848(void);
void sub_80878F4(u8, u8);
void HandleMoltresBossFaint(u8, u8);
void sub_8087F54(void);
void sub_8087FB4(void);
void sub_8087FF8(void);
void sub_8088088(u8, u8);
void HandleArticunoBossFaint(u8, u8);
void sub_80885A0(void);
void sub_80885C4(void);
void sub_8088608(void);
@ -78,62 +78,62 @@ void sub_8088618(void);
void sub_808862C(void);
void sub_80886C4(void);
void sub_808875C(void);
void sub_8088818(u8, u8);
void HandleGroudonBossFaint(u8, u8);
void sub_8088DC0(void);
void sub_8088E5C(void);
void sub_8089168(void);
void sub_80892C8(void);
void sub_8089328(void);
void sub_80893B4(u8, u8);
void HandleRayquazaBossFaint(u8, u8);
void sub_808970C(void);
void sub_808974C(void);
void sub_8089788(Entity *entity, u8, u8);
void HandleMankeyBossFaint(Entity *entity, u8, u8);
void sub_80897F0(void);
void sub_8089878(void);
void sub_80898E4(void);
void sub_8089914(void);
void sub_8089978(void);
void sub_8089A00(u8, u8);
void HandleMewtwoBossFaint(u8, u8);
void sub_8089C44(void);
void sub_8089C90(void);
void sub_8089CFC(u8, u8);
void HandleEnteiBossFaint(u8, u8);
void sub_8089EFC(void);
void sub_8089F44(void);
void sub_8089F8C(void);
void sub_8089FF0(u8, u8);
void HandleRaikouBossFaint(u8, u8);
void sub_808A264(void);
void sub_808A2C0(void);
void sub_808A308(void);
void sub_808A36C(u8, u8);
void HandleSuicuneBossFaint(u8, u8);
void sub_808A608(void);
void sub_808A668(void);
void sub_808A6E8(u8, u8);
void HandleHoOhBossFaint(u8, u8);
void sub_808A9E4(void);
void sub_808AA3C(void);
void sub_808AA94(void);
void sub_808AAF0(u8, u8);
void HandleLatiosBossFaint(u8, u8);
void sub_808AC3C(void);
void sub_808ACC0(void);
void sub_808AD48(void);
void sub_808ADCC(void);
void sub_808AE54(u8, u8, DungeonPos *pos);
void sub_808AEC8(u8, u8, DungeonPos *pos);
void sub_808AF3C(u8, u8, DungeonPos *pos);
void sub_808AFB0(u8);
void sub_808B030(u8);
void sub_808B0B0(u8);
void HandleRegirockBossFaint_Async(u8, u8, DungeonPos *pos);
void HandleRegiceBossFaint_Async(u8, u8, DungeonPos *pos);
void HandleRegisteelBossFaint_Async(u8, u8, DungeonPos *pos);
void sub_808AFB0_Async(u8);
void sub_808B030_Async(u8);
void sub_808B0B0_Async(u8);
void sub_808B2F4(void);
void sub_808B35C(void);
void sub_808B3E4_Async(u8, u8, u8);
void HandleJirachiBossFaint_Async(u8 monsterBehavior, u8 cutscene, bool8 transformedIntoFriend);
void sub_808BDEC(void);
void sub_808BE70(u8, u8, u8);
void HandleLugiaBossFaint(u8 monsterBehavior, u8 cutscene, bool8 transformedIntoFriend);
void sub_808C10C(void);
void sub_808C1A4(u8, u8, u8);
void HandleKyogreBossFaint(u8, u8, u8);
void sub_808C3A0(void);
void sub_808C414(u8, u8, u8);
void HandleDeoxysNormalBossFaint(u8, u8, u8);
void sub_808C5C0(void);
void sub_808C938(void);
void sub_808C948(Entity *entity, u8);
void HandleMazeBossFaint(Entity *entity, u8);
void sub_808C998(void);
void sub_808C9C4(void);
void sub_808CB5C(void);

View File

@ -23,7 +23,7 @@ void SpawnDroppedItem(Entity *entity1, Entity *entity2, Item *item, bool8 a3, Du
void sub_8046860(Entity *entity, DungeonPos *pos, Item *item, s32 a4);
void sub_804687C(Entity *entity, DungeonPos *pos1, DungeonPos *pos2, Item *item, s32 count);
bool8 HasHeldItem(Entity *pokemon, u8 id);
void sub_8046D20(void);
void PotentiallyCreateMusicBox_Async(void);
bool8 sub_8046F00(Item *item);
void ClearAllItemsWithFlag(s32 itemFlag);
void AllItemsToPlainSeed(void);

View File

@ -48,10 +48,10 @@ void xxx_draw_string_80524F0(void);
void sub_80526D0(s32 r0);
void sub_8052740(s32 a0);
void DisplayDungeonMessage_Async(struct MonDialogueSpriteInfo *monSpriteInfo, const u8 *str, bool8 a2);
void DisplayDungeonDialogue(const struct DungeonDialogueStruct *dialogueInfo);
bool32 DisplayDungeonYesNoMessage(struct MonDialogueSpriteInfo *monSpriteInfo, const u8 *str, bool32 defaultYes);
void DisplayDungeonDialogue_Async(const struct DungeonDialogueStruct *dialogueInfo);
bool32 DisplayDungeonYesNoMessage_Async(struct MonDialogueSpriteInfo *monSpriteInfo, const u8 *str, bool32 defaultYes);
s32 DisplayDungeonMenuMessage(struct MonDialogueSpriteInfo *monSpriteInfo, const u8 *str, const MenuItem *menuItems, u16 unkArg);
void sub_8052D44(s16 *ids, Entity *leader, Entity *partner);
void BufferCutsceneProtagonists(s16 destIDs[2], Entity *leader, Entity *partner);
void TryDisplayGeneralTutorialMessage(void);
void DisplayItemTip(u8 itemId);
void DisplayYouReachedDestFloorStr(void);

View File

@ -4,6 +4,7 @@
#include "structs/str_item_text.h"
#include "constants/residual_damage.h"
#include "constants/trap.h"
#include "constants/tutorial_id.h"
#include "constants/weather.h"
struct Struct_80F7C50
@ -12,11 +13,11 @@ struct Struct_80F7C50
s32 val;
};
struct TutorialFlagMsg
typedef struct TutorialFlagMsg
{
s32 flagId;
s32 flagId; // See enum "TutorialFlagID"
const u8 *str;
};
} TutorialFlagMsg;
extern const ItemText gActions[];
extern const struct Struct_80F7C50 gUnknown_80F7C50[];
@ -778,21 +779,21 @@ extern const u8 *const gUnknown_80FEF98;
extern const u8 *const gUnknown_80FEFD0;
extern const u8 *const gUnknown_80FEFF4;
extern const u8 *const gUnknown_80FF01C;
extern const struct TutorialFlagMsg gUnknown_80FF020;
extern const struct TutorialFlagMsg gUnknown_80FF080;
extern const struct TutorialFlagMsg gUnknown_80FF0D8;
extern const struct TutorialFlagMsg gUnknown_80FF13C;
extern const struct TutorialFlagMsg gUnknown_80FF1B4;
extern const struct TutorialFlagMsg gMovementTutorial;
extern const struct TutorialFlagMsg gHungerTutorial;
extern const struct TutorialFlagMsg gFoodTutorial;
extern const struct TutorialFlagMsg gOranTutorial;
extern const struct TutorialFlagMsg gCheriTutorial;
extern const struct TutorialFlagMsg gBlastSeedTutorial;
extern const struct TutorialFlagMsg gUnknown_80FF4A0;
extern const struct TutorialFlagMsg gPechaTutorial;
extern const struct TutorialFlagMsg gSleepSeedTutorial;
extern const struct TutorialFlagMsg gMoneyTutorial;
extern const TutorialFlagMsg gUnknown_80FF020;
extern const TutorialFlagMsg gUnknown_80FF080;
extern const TutorialFlagMsg gUnknown_80FF0D8;
extern const TutorialFlagMsg gUnknown_80FF13C;
extern const TutorialFlagMsg gUnknown_80FF1B4;
extern const TutorialFlagMsg gMovementTutorial;
extern const TutorialFlagMsg gHungerTutorial;
extern const TutorialFlagMsg gFoodTutorial;
extern const TutorialFlagMsg gOranTutorial;
extern const TutorialFlagMsg gCheriTutorial;
extern const TutorialFlagMsg gBlastSeedTutorial;
extern const TutorialFlagMsg gUnknown_80FF4A0;
extern const TutorialFlagMsg gPechaTutorial;
extern const TutorialFlagMsg gSleepSeedTutorial;
extern const TutorialFlagMsg gMoneyTutorial;
extern const u8 *const gUnknown_80FF674;
extern const u8 *const gUnknown_80FF678;
extern const u8 *const gUnknown_80FF6A4;

View File

@ -1,6 +1,7 @@
#ifndef GUARD_DUNGEON_UTIL_H
#define GUARD_DUNGEON_UTIL_H
#include "constants/colors.h"
#include "constants/direction.h"
#include "structs/dungeon_entity.h"
#include "structs/str_position.h"
@ -38,7 +39,7 @@ bool8 CanTargetEntity(Entity *entity, Entity *targetEntity);
bool8 sub_8045A70(Entity *entity, Entity *targetEntity);
bool8 sub_8045AAC(Entity *entity, DungeonPos *pos);
bool8 CanTargetPosition(Entity *entity, DungeonPos *pos);
void SubstitutePlaceholderStringTags(u8 *buffer, Entity *entity, u32 param_3);
void SubstitutePlaceholderStringTags(u8 *buffer, Entity *entity, u32 monsterColorNum);
void sub_8045ACC(void);
s32 GetTeamMemberEntityIndex(Entity *pokemon);

View File

@ -9,7 +9,7 @@
void sub_803E250(void);
void DungeonRunFrameActions(u32 a0);
void sub_803E668(u32 unused);
void sub_803E708(s32 numFrames, u32 a1);
void DungeonWaitFrames_Async(s32 numFrames, u32 a1);
void sub_803E724(s32 r0);
void sub_803E748(void);
void sub_803E7C8(void);

View File

@ -1,29 +1,29 @@
#ifndef GUARD_EXCLUSIVE_POKEMON_H
#define GUARD_EXCLUSIVE_POKEMON_H
#include "constants/cutscenes.h"
#include "constants/tutorial_id.h"
#include "data_serializer.h"
#define NUM_EXCLUSIVE_POKEMON 12
// Size: 0x4
struct ExclusivePokemon
{
s16 poke_id;
bool8 in_rrt; // red rescue team
bool8 in_brt; // blue rescue team
/* 0x0 */ s16 poke_id;
/* 0x2 */ bool8 in_rrt; // red rescue team
/* 0x3 */ bool8 in_brt; // blue rescue team
};
struct ExclusivePokemonData
typedef struct ExclusivePokemonData
{
u8 unk0;
u32 unk4[1];
u8 fill8[0x3C - 8];
u32 unk3C[1];
u8 fill40[8];
u32 unk48[3];
u32 unk54[1];
/* 0x58 */ bool8 Exclusives[NUM_EXCLUSIVE_POKEMON];
};
/* 0x00 */ bool8 unk0; // Initialized?
/* 0x04 */ u32 monSeenFlags[MONSTER_FLAGS_U32STORAGE];
/* 0x3C */ u32 cutsceneFlags[CUTSCENE_FLAGS_U32STORAGE];
/* 0x48 */ u32 tempCutsceneFlags[CUTSCENE_FLAGS_U32STORAGE];
/* 0x54 */ u32 tutorialFlags[TUTORIAL_FLAGS_U32STORAGE];
/* 0x58 */ bool8 exclusives[NUM_EXCLUSIVE_POKEMON];
} ExclusivePokemonData;
#define RED_EXCLUSIVE(species) \
{ \
@ -39,22 +39,22 @@ struct ExclusivePokemonData
.in_brt = TRUE, \
}
extern struct ExclusivePokemonData *gUnknown_203B498;
ExclusivePokemonData *gExclusiveMonPtr;
void LoadExclusivePokemon(void);
struct ExclusivePokemonData *GetExclusivePokemon(void);
ExclusivePokemonData *GetExclusivePokemon(void);
void InitializeExclusivePokemon(void);
void sub_8097FA8(u8 param_1);
void sub_8097FD0(u8 param_1);
void sub_8097FF8(void);
void sub_8098044(u8 param_1);
void sub_8098080(void);
u8 sub_80980A4(void);
void sub_80980B4(s16 pokeID);
bool8 sub_8098100(u8 param_1);
bool8 sub_8098134(s16 pokeID);
void SetTutorialFlag(s32 param_1);
bool32 GetTutorialFlag(s32 param_1);
void SetTempCutsceneFlag(u8 flag);
void SetCutsceneFlag(u8 flag);
void FlushTempCutsceneFlags(void);
void UnsetCutsceneFlag(u8 flag);
void ClearTempCutsceneFlags(void);
bool8 sub_80980A4(void);
void SetMonSeenFlag(s16 monID);
bool8 GetCutsceneFlag(u8 flag);
bool8 GetMonSeenFlag(s16 monID);
void SetTutorialFlag(s32 flag);
bool8 GetTutorialFlag(s32 flag);
bool8 IsExclusivePokemonUnlocked(s32 pokeID);
void UnlockExclusivePokemon(s16 pokeID);
void WriteExclusivePokemon(DataSerializer *r0);

View File

@ -1,6 +1,7 @@
#ifndef GUARD_GROUND_MAIN_H
#define GUARD_GROUND_MAIN_H
#include "constants/rescue_dungeon_id.h"
#include "structs/str_dungeon_setup.h"
u32 xxx_script_related_8098468(s32 param_1);
@ -19,7 +20,8 @@ u8 sub_80990EC(struct DungeonSetupInfo *param_1, s32 param_2);
u8 sub_80991E0(struct DungeonSetupInfo *param_1, s16 *param_2);
void sub_8099220(struct DungeonSetupInfo *param_1, s32 param_2);
void sub_809927C(u8 param_1);
bool8 sub_80992E0(s16 *param_1, s16 *param_2);
// See enum "RescueDungeonId"
bool8 sub_80992E0(s16 *param_1, s16 *rescueDungeonId);
bool8 sub_8099328(u8 *dungeonId);
bool8 sub_8099360(u8 *dungeonId);
bool8 sub_8099394(u8 *param);

View File

@ -1,7 +1,7 @@
#ifndef GUARD_OTHER_RANDOM_H
#define GUARD_OTHER_RANDOM_H
s32 OtherRandInt(s32 cap);
s32 OtherRandInt(s32 exclusiveMax);
s32 OtherRandRange(s32 a, s32 b);
#endif // GUARD_OTHER_RANDOM_H

View File

@ -7,12 +7,14 @@
void sub_80972F4(void);
void nullsub_128(void);
bool8 sub_8097318(s16 param_1);
void sub_809733C(s16 param_1, u32 param_2);
void sub_809733C(s32 _rescueDungId, bool32 param_2);
bool8 sub_8097384(s32 param_1);
void sub_80973A8(s32 param_1, u32 param_2);
void sub_80973A8(s32 _rescueDungId, bool32 param_2);
bool8 RescueScenarioConquered(s32 rescueDungeonID_);
void sub_8097418(s32 index, bool32);
// See enum "RescueDungeonId"
void SetRescueScenarioConquered(s32 rescueDungeonID_, bool32 conquered);
const u8 *GetRescueDungeonName(s16 rescueDungeonId);
const u8 *GetCurrentMissionText(s16 index);
// See enum "RescueDungeonId"
const u8 *GetCurrentMissionText(s16 rescueDungeonId);
#endif // GUARD_RESCUE_SCENARIO_H

View File

@ -50,7 +50,7 @@ struct UnkStruct_sub_8011DAC
// size: 0x5C
// This is most likely a debug savestate
struct UnkStruct_203B184
typedef struct UnkStruct_203B184
{
/* 0x0 */ TeamInventory *MoneyItems;
/* 0x4 */ RecruitedMon *recruitedPokemon;
@ -61,7 +61,7 @@ struct UnkStruct_203B184
/* 0x18 */ unkStruct_203B490 *mailInfo;
/* 0x1C */ struct RescueTeamData *RescueTeamInfo;
/* 0x20 */ struct unkStruct_203B494 *unk20;
/* 0x24 */ struct ExclusivePokemonData *ExclusivePokemon;
/* 0x24 */ ExclusivePokemonData *exclusivePokemon;
/* 0x28 */ bool8 *BoughtFriendAreas;
/* 0x2C */ GameOptions *gameOptions;
/* 0x30 */ struct PlayTimeStruct *playTime;
@ -75,7 +75,7 @@ struct UnkStruct_203B184
u32 unk050;
u32 unk054;
u32 RngState;
};
} UnkStruct_203B184;
void nullsub_33(void);
u32 sub_8011C1C(void);

View File

@ -386,7 +386,7 @@ typedef struct Dungeon
u8 unk5;
u8 unk6;
u8 unk7;
u8 unk8;
bool8 unk8; // Related to a yes/no prompt for the Music Box creation
u8 unk9;
u8 unkA;
u8 unkB;

View File

@ -113,7 +113,7 @@ typedef struct MonsterDataEntry
/* 0x9 */ u8 bodySize;
/* 0xC */ s32 movementSpeed;
/* 0x10 */ u16 dialogueSprites; // Bitwise flags for whether a dialogue sprite/portrait is available for each emotion.
bool8 unk12;
bool8 unk12; // Appears to control whether the "has friend area" check is skipped
/* 0x13 */ u8 types[2];
/* 0x15 */ u8 movementType;
/* 0x16 */ u8 friendArea;

View File

@ -201,7 +201,7 @@ static u32 sub_80236A4(void)
gUnknown_3001B5C->unk8 = 0;
for (index = 0; index < MONSTER_MAX; index++) {
if (sub_8098134(index) && (s16)index == GetBaseSpeciesNoUnown(index))
if (GetMonSeenFlag(index) && (s16)index == GetBaseSpeciesNoUnown(index))
gUnknown_3001B5C->unkC[gUnknown_3001B5C->unk8++] = index;
}
@ -211,10 +211,10 @@ static u32 sub_80236A4(void)
static bool8 sub_8023704(u8 unused)
{
s32 index;
s32 i;
for (index = 0; index < MONSTER_MAX; index++) {
if (sub_8098134(index))
for (i = 0; i < MONSTER_MAX; i++) {
if (GetMonSeenFlag(i))
return FALSE;
}

View File

@ -178,7 +178,7 @@ void sub_8040DA0(Entity *entity, Move *move)
direction--;
direction &= DIRECTION_MASK;
sub_806CDD4(entity, 0, direction);
sub_803E708(2, 0x15);
DungeonWaitFrames_Async(2, 0x15);
}
}
}
@ -189,7 +189,7 @@ void sub_8040DA0(Entity *entity, Move *move)
for (i = 0; i < NUM_DIRECTIONS + 1; i++) {
direction &= DIRECTION_MASK;
sub_806CDD4(entity, 0, direction);
sub_803E708(2, 0x15);
DungeonWaitFrames_Async(2, 0x15);
direction++;
}
}

View File

@ -280,7 +280,7 @@ static const DungeonInfo gUnknown_81168A8[SCRIPT_DUNGEON_COUNT] = {
.unk10 = 1,
.unk11 = 1,
},
[SCRIPT_DUNGEON_21] = {
[SCRIPT_DUNGEON_DUMMY] = {
.unk0 = 9,
.unk2 = 12,
.unk4 = 12,
@ -1111,7 +1111,7 @@ static const s16 sRescueToScriptDungeonIdTable[RESCUE_DUNGEON_COUNT] = {
[RESCUE_DUNGEON_MT_FREEZE] = SCRIPT_DUNGEON_MT_FREEZE,
[RESCUE_DUNGEON_MAGMA_CAVERN] = SCRIPT_DUNGEON_MAGMA_CAVERN,
[RESCUE_DUNGEON_SKY_TOWER] = SCRIPT_DUNGEON_SKY_TOWER,
[RESCUE_DUNGEON_DUMMY] = SCRIPT_DUNGEON_21,
[RESCUE_DUNGEON_DUMMY] = SCRIPT_DUNGEON_DUMMY,
[RESCUE_DUNGEON_UPROAR_FOREST] = SCRIPT_DUNGEON_UPROAR_FOREST,
[RESCUE_DUNGEON_HOWLING_FOREST] = SCRIPT_DUNGEON_HOWLING_FOREST,
[RESCUE_DUNGEON_STORMY_SEA] = SCRIPT_DUNGEON_STORMY_SEA,

View File

@ -394,7 +394,7 @@ static const struct ScriptCommand s_gs162_g5_s0_lives0_dlg0[] = { /* 0x82116b8 *
SELECT_ANIMATION(2),
{ 0xdf, 0x00, 0x0000, 0x00000000, 0x00000000, NULL },
WAIT(60),
ROTATE(10, 1, DIRECTION_SOUTH),
ROTATE_TO(10, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
WAIT(30),
MSG_NPC(-1, _(" I've been waiting for you.")),
TEXTBOX_CLEAR,
@ -626,7 +626,7 @@ static const struct ScriptCommand s_gs162_g6_s1_lives0_dlg0[] = { /* 0x8212774 *
SELECT_ANIMATION(23),
STOP_ANIMATION_ON_CURRENT_FRAME,
WAIT(6),
ROTATE(4, 11, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_SOUTHWEST),
SELECT_ANIMATION(2),
ALERT_CUE(5),
AWAIT_CUE(7),
@ -885,7 +885,7 @@ static const struct ScriptCommand s_gs162_g8_s1_lives0_dlg0[] = { /* 0x8213b50 *
SELECT_ANIMATION(23),
STOP_ANIMATION_ON_CURRENT_FRAME,
WAIT(6),
ROTATE(4, 11, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_SOUTHWEST),
SELECT_ANIMATION(2),
ALERT_CUE(5),
AWAIT_CUE(6),
@ -1186,7 +1186,7 @@ static const struct ScriptCommand s_gs162_g9_s1_lives0_dlg0[] = { /* 0x82157b8 *
SELECT_ANIMATION(23),
STOP_ANIMATION_ON_CURRENT_FRAME,
WAIT(6),
ROTATE(4, 11, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_SOUTHWEST),
SELECT_ANIMATION(2),
ALERT_CUE(5),
AWAIT_CUE(7),

View File

@ -54,7 +54,7 @@ static const struct ScriptCommand s_gs165_g1_s0_lives0_dlg0[] = { /* 0x8218834 *
{ 0x2d, 0x07, 0x0000, 0x00000000, 0x00000000, NULL },
ALERT_CUE(6),
WALK_GRID(204, 0),
ROTATE(4, 11, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_NORTH),
AWAIT_CUE(5),
WAIT(30),
PORTRAIT(PLACEMENT_LEFT_, 0x0001, 0x00000005),
@ -79,7 +79,7 @@ static const struct ScriptCommand s_gs165_g1_s0_lives1_dlg0[] = { /* 0x8218a34 *
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(6),
WALK_GRID(204, 1),
ROTATE(8, 11, DIRECTION_NORTH),
ROTATE_TO(8, DIR_TRANS_11, DIRECTION_NORTH),
ALERT_CUE(5),
AWAIT_CUE(6),
WAIT(10),

View File

@ -36,7 +36,7 @@ static const struct ScriptCommand s_gs166_g1_s0_lives0_dlg0[] = { /* 0x8218cb0 *
ALERT_CUE(6),
WALK_GRID(512, 0),
WAIT(15),
ROTATE(4, 11, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_WEST),
BGM_FADEOUT(60),
WAIT(20),
PORTRAIT(PLACEMENT_LEFT_, 0x0001, 0x00000002),
@ -48,7 +48,7 @@ static const struct ScriptCommand s_gs166_g1_s0_lives0_dlg0[] = { /* 0x8218cb0 *
MSG_NPC(1, _(" Oh, no! Look!")),
TEXTBOX_CLEAR,
BGM_SWITCH(38),
ROTATE(4, 11, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_EAST),
WAIT(20),
ALERT_CUE(3),
HALT,
@ -61,9 +61,9 @@ static const struct ScriptCommand s_gs166_g1_s0_lives1_dlg0[] = { /* 0x8218e38 *
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(6),
WALK_GRID(512, 1),
ROTATE(4, 2, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_WEST),
AWAIT_CUE(6),
ROTATE(4, 1, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_EAST),
WAIT(20),
FANFARE_PLAY2(455),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
@ -118,7 +118,7 @@ static const struct ScriptCommand s_gs166_g2_s0_lives0_dlg0[] = { /* 0x821915c *
WAIT(20),
ALERT_CUE(6),
AWAIT_CUE(5),
ROTATE(4, 11, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_SOUTHEAST),
PORTRAIT_REP(0x0001, 0x00000005),
MSG_NPC(1, _(" What'll we do,\n{NAME_0}?")),
TEXTBOX_CLEAR,
@ -128,7 +128,7 @@ static const struct ScriptCommand s_gs166_g2_s0_lives0_dlg0[] = { /* 0x821915c *
FANFARE_PLAY2(465),
ALERT_CUE(6),
CALL_SCRIPT(NOTICE_FUNC),
ROTATE(4, 11, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_WEST),
MSG_NPC(-1, _(" Get them!")),
TEXTBOX_CLEAR,
ALERT_CUE(6),
@ -152,16 +152,16 @@ static const struct ScriptCommand s_gs166_g2_s0_lives1_dlg0[] = { /* 0x821952c *
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(6),
ROTATE(4, 11, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_WEST),
ALERT_CUE(5),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x000b, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_11, 0),
ALERT_CUE(5),
AWAIT_CUE(6),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
ROTATE(4, 11, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_WEST),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x000b, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_11, 0),
ALERT_CUE(5),
AWAIT_CUE(6),
{ 0x89, 0x50, 0x0200, 0x00000002, 0x00000000, NULL },

View File

@ -88,7 +88,7 @@ static const struct ScriptCommand s_gs167_g2_s0_lives0_dlg0[] = { /* 0x8219c28 *
WAIT(120),
ALERT_CUE(6),
WALK_GRID(256, 1),
{ 0x93, 0x04, 0x000b, 0x00000022, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_11, 34),
WAIT(80),
ALERT_CUE(6),
AWAIT_CUE(5),
@ -104,7 +104,7 @@ static const struct ScriptCommand s_gs167_g2_s0_lives0_dlg0[] = { /* 0x8219c28 *
ALERT_CUE(6),
AWAIT_CUE(5),
WAIT(15),
ROTATE(4, 11, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_NORTH),
PORTRAIT_REP(0x0001, 0x00000000),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" Haaah!\nThe view's great here.")),
@ -132,7 +132,7 @@ static const struct ScriptCommand s_gs167_g2_s0_lives0_dlg0[] = { /* 0x8219c28 *
VARIANT(/* == */ 1, _(" ............{WAIT_PRESS}Hey, {NAME_0}.")),
VARIANT(/* == */ 3, _(" ............{WAIT_PRESS}Um, {NAME_0}?")),
VARIANT_DEFAULT(_(" ............{WAIT_PRESS}{NAME_0}.")),
ROTATE(4, 11, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_NORTHEAST),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" You remember how tough it\nwas getting over Mt. Blaze, right?")),
VARIANT(/* == */ 1, _(" I don't think many Pokémon\ncan get through there.")),
@ -226,7 +226,7 @@ static const struct ScriptCommand s_gs167_g2_s0_lives0_dlg0[] = { /* 0x8219c28 *
VARIANT(/* == */ 3, _(" Oh?{WAIT_PRESS} What's wrong?\nAren't we going, {NAME_0}?")),
VARIANT_DEFAULT(_(" Huh?{WAIT_PRESS} What's the matter?\nAren't you coming, {NAME_0}?")),
TEXTBOX_CLEAR,
ROTATE(10, 11, DIRECTION_SOUTHWEST),
ROTATE_TO(10, DIR_TRANS_11, DIRECTION_SOUTHWEST),
WAIT(30),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" ...{WAIT_PRESS}What?{WAIT_PRESS}\nAren't I tired, you're asking?")),
@ -280,13 +280,13 @@ static const struct ScriptCommand s_gs167_g2_s0_lives1_dlg0[] = { /* 0x821b5d4 *
AWAIT_CUE(6),
CALL_SCRIPT(NOTICE_FUNC),
WAIT(15),
ROTATE(4, 11, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_SOUTHWEST),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 11, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_NORTH),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 11, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_SOUTHWEST),
ALERT_CUE(5),
AWAIT_CUE(6),
JUMPIF(JUDGE_EQ, EVENT_LOCAL, 1, /* to label */ 0),
@ -308,7 +308,7 @@ static const struct ScriptCommand s_gs167_g2_s0_lives1_dlg0[] = { /* 0x821b5d4 *
AWAIT_CUE(6),
WALK_GRID(153, 3),
WAIT(30),
ROTATE(4, 11, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_NORTHEAST),
ALERT_CUE(5),
AWAIT_CUE(6),
WALK_GRID(153, 4),

View File

@ -65,7 +65,7 @@ static const struct ScriptCommand s_gs168_g1_s0_lives0_dlg0[] = { /* 0x821bbf8 *
MSG_NPC(1, _(" Hachoo!")),
TEXTBOX_CLEAR,
WAIT(8),
ROTATE(4, 1, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTHWEST),
WAIT(24),
ALERT_CUE(6),
AWAIT_CUE(5),
@ -74,7 +74,7 @@ static const struct ScriptCommand s_gs168_g1_s0_lives0_dlg0[] = { /* 0x821bbf8 *
MSG_NPC(1, _(" Yuck...{WAIT_PRESS}\nMy nose is running, and it's freezing.")),
TEXTBOX_CLEAR,
WAIT(30),
ROTATE(4, 2, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_EAST),
{ 0x3b, 0x36, 0x0004, 0x00000000, 0x00000000, NULL },
SELECT_ANIMATION(5),
ALERT_CUE(6),
@ -167,32 +167,32 @@ static const struct ScriptCommand s_gs168_g1_s0_lives1_dlg0[] = { /* 0x821c620 *
{ 0xde, 0x00, 0x0000, 0x00000000, 0x00000000, NULL },
SELECT_ANIMATION(2),
AWAIT_CUE(6),
ROTATE(4, 2, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTHEAST),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 1, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_EAST),
SELECT_ANIMATION(5),
AWAIT_CUE(6),
SELECT_ANIMATION(2),
ROTATE(4, 2, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTHEAST),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 1, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_EAST),
{ 0x56, 0x00, 0x0000, 0x00000058, 0x00000000, NULL },
{ 0xde, 0x00, 0x0000, 0x00000000, 0x00000000, NULL },
{ 0x89, 0x0c, 0x0100, 0x00000002, 0x00000000, NULL },
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 2, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTHEAST),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 1, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_EAST),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 2, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTHEAST),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 1, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_EAST),
ALERT_CUE(5),
SELECT_ANIMATION(5),
HALT,
@ -203,7 +203,7 @@ static const struct ScriptCommand s_gs168_g1_s0_lives2_dlg0[] = { /* 0x821c8e0 *
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0002, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(7),
ROTATE(4, 2, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_EAST),
SELECT_ANIMATION(32),
WAIT(9),
FANFARE_PLAY2(478),
@ -244,13 +244,13 @@ static const struct ScriptCommand s_gs168_g2_s0_lives0_dlg0[] = { /* 0x821ca1c *
VARIANT_DEFAULT(_(" Oh!")),
TEXTBOX_CLEAR,
WAIT(10),
ROTATE(4, 1, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTHEAST),
ALERT_CUE(6),
AWAIT_CUE(5),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" {NAME_0}!\nCheck that out!")),
VARIANT_DEFAULT(_(" {NAME_0}! Look!")),
ROTATE(4, 2, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_EAST),
ALERT_CUE(6),
MSG_NPC(1, _(" See that?{WAIT_PRESS}\nThose trees are frozen!")),
TEXTBOX_CLEAR,
@ -270,10 +270,10 @@ static const struct ScriptCommand s_gs168_g2_s0_lives1_dlg0[] = { /* 0x821cc58 *
SELECT_ANIMATION(2),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 2, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTHWEST),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 1, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_EAST),
AWAIT_CUE(6),
HALT,
};

View File

@ -84,7 +84,7 @@ static const struct ScriptCommand s_gs170_g1_s0_lives0_dlg0[] = { /* 0x821d2f8 *
{ 0x3b, 0x36, 0x0000, 0x00000000, 0x00000000, NULL },
SELECT_ANIMATION(2),
ALERT_CUE(6),
ROTATE(4, 1, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTHEAST),
PORTRAIT(PLACEMENT_MIDDLE_TOP_RIGHT, 0x0001, 0x00000000),
PORTRAIT_POS(1, 0, 2),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
@ -118,7 +118,7 @@ static const struct ScriptCommand s_gs170_g1_s0_lives0_dlg0[] = { /* 0x821d2f8 *
{ 0x3b, 0x36, 0x0000, 0x00000000, 0x00000000, NULL },
SELECT_ANIMATION(2),
ALERT_CUE(6),
ROTATE(4, 1, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTHEAST),
PORTRAIT(PLACEMENT_MIDDLE_TOP_RIGHT, 0x0001, 0x00000000),
PORTRAIT_POS(1, 0, 2),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
@ -213,7 +213,7 @@ static const struct ScriptCommand s_gs170_g1_s0_lives0_dlg0[] = { /* 0x821d2f8 *
FANFARE_PLAY2(477),
SELECT_ENTITIES(-1, 1),
{ 0x27, 0x01, 0x0005, 0x00000030, 0x00000000, NULL },
ROTATE(4, 2, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_EAST),
WAIT(30),
MSG_NPC(-1, _(" Finally...")),
MSG_NPC(-1, _(" You have arrived...")),
@ -235,7 +235,7 @@ static const struct ScriptCommand s_gs170_g1_s0_lives1_dlg0[] = { /* 0x821ec08 *
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(6),
SELECT_ANIMATION(2),
ROTATE(4, 2, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTHWEST),
AWAIT_CUE(6),
{ 0x56, 0x00, 0x0000, 0x0000005d, 0x00000000, NULL },
ALERT_CUE(5),
@ -253,7 +253,7 @@ static const struct ScriptCommand s_gs170_g1_s0_lives2_dlg0[] = { /* 0x821ed08 *
SELECT_ANIMATION(5),
AWAIT_CUE(6),
SELECT_ANIMATION(2),
ROTATE(4, 2, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTHEAST),
AWAIT_CUE(6),
HALT,
};
@ -308,9 +308,9 @@ static const struct ScriptCommand s_gs170_g2_s0_lives0_dlg0[] = { /* 0x821ee64 *
WAIT(10),
FANFARE_PLAY2(465),
CALL_SCRIPT(NOTICE_FUNC),
ROTATE(4, 1, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTHEAST),
WAIT(64),
ROTATE(4, 2, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_EAST),
WAIT(16),
MSG_NPC(2, _(" I cannot be seen by others.")),
MSG_NPC(2, _(" I am visible only to you.")),
@ -377,10 +377,10 @@ static const struct ScriptCommand s_gs170_g2_s0_lives2_dlg0[] = { /* 0x821f5e4 *
SELECT_ANIMATION(2),
AWAIT_CUE(6),
CALL_SCRIPT(LOOK_AROUND_RIGHT_FUNC),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
AWAIT_CUE(6),
CALL_SCRIPT(LOOK_AROUND_LEFT_FUNC),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
AWAIT_CUE(6),
HALT,
};

View File

@ -160,7 +160,7 @@ static const struct ScriptCommand s_gs171_g3_s0_lives0_dlg0[] = { /* 0x82200b0 *
WAIT(30),
ALERT_CUE(6),
AWAIT_CUE(5),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
PORTRAIT(PLACEMENT_LEFT_, 0x0001, 0x0000000c),
MSG_NPC(1, _(" Wh-{WAIT_PRESS}what's going on?{WAIT_PRESS}\nWhat is {NAME_3} doing?")),
TEXTBOX_CLEAR,
@ -199,7 +199,7 @@ static const struct ScriptCommand s_gs171_g3_s0_lives0_dlg0[] = { /* 0x82200b0 *
TEXTBOX_CLEAR,
WAIT(30),
{ 0x84, 0x00, 0x0100, -0x00000018, -0x00000018, NULL },
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
WAIT(30),
ALERT_CUE(9),
AWAIT_CUE(5),
@ -210,7 +210,7 @@ static const struct ScriptCommand s_gs171_g3_s0_lives0_dlg0[] = { /* 0x82200b0 *
WAIT(30),
ALERT_CUE(7),
{ 0x84, 0x00, 0x0100, 0x00000018, 0x00000018, NULL },
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
WAIT(30),
MSG_NPC(3, _(" That was made using\nthe powers of psychics.")),
MSG_NPC(3, _(" By me, {NAME_2},\nand...{WAIT_PRESS}\nOh?")),
@ -222,7 +222,7 @@ static const struct ScriptCommand s_gs171_g3_s0_lives0_dlg0[] = { /* 0x82200b0 *
MSG_NPC(3, _(" ...Gone away, it seems...")),
TEXTBOX_CLEAR,
ALERT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000022, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 34),
WAIT(30),
MSG_NPC(1, _(" Who could it be?")),
TEXTBOX_CLEAR,
@ -234,7 +234,7 @@ static const struct ScriptCommand s_gs171_g3_s0_lives0_dlg0[] = { /* 0x82200b0 *
WAIT(30),
ALERT_CUE(7),
ALERT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
PORTRAIT_REP(0x0002, 0x00000000),
MSG_NPC(2, _(" Now...{WAIT_PRESS}\nI must ask you this one last time.")),
MSG_NPC(2, _(" This journey will be fraught\nwith considerable danger.{WAIT_PRESS}\nWill you still go?")),
@ -285,18 +285,18 @@ static const struct ScriptCommand s_gs171_g3_s0_lives1_dlg0[] = { /* 0x8220df0 *
AWAIT_CUE(6),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
ALERT_CUE(5),
AWAIT_CUE(6),
CALL_SCRIPT(NOTICE_FUNC),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 0),
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(6),
HALT,
};
@ -308,12 +308,12 @@ static const struct ScriptCommand s_gs171_g3_s0_lives2_dlg0[] = { /* 0x8220f50 *
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0002, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(7),
ROTATE(4, 10, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTH),
ALERT_CUE(5),
AWAIT_CUE(7),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
AWAIT_CUE(7),
ROTATE(10, 10, DIRECTION_SOUTH),
ROTATE_TO(10, DIR_TRANS_10, DIRECTION_SOUTH),
AWAIT_CUE(7),
CALL_SCRIPT(SMILE_START_FUNC),
AWAIT_CUE(7),
@ -333,7 +333,7 @@ static const struct ScriptCommand s_gs171_g3_s0_lives3_dlg0[] = { /* 0x8221070 *
SELECT_ANIMATION(2),
ALERT_CUE(5),
AWAIT_CUE(8),
ROTATE(8, 10, DIRECTION_SOUTH),
ROTATE_TO(8, DIR_TRANS_10, DIRECTION_SOUTH),
ALERT_CUE(5),
AWAIT_CUE(8),
CALL_SCRIPT(LOOK_AROUND_FUNC),
@ -405,7 +405,7 @@ static const struct ScriptCommand s_gs171_g4_s0_lives0_dlg0[] = { /* 0x82213fc *
WAIT(10),
ALERT_CUE(6),
AWAIT_CUE(5),
ROTATE(4, 10, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_WEST),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" {NAME_0}!\nLet's do this right!")),
VARIANT_DEFAULT(_(" {NAME_0}!\nLet's get this done!")),
@ -450,7 +450,7 @@ static const struct ScriptCommand s_gs171_g4_s0_lives1_dlg0[] = { /* 0x8221794 *
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 0),
ALERT_CUE(5),
AWAIT_CUE(6),
WAIT(120),
@ -468,7 +468,7 @@ static const struct ScriptCommand s_gs171_g4_s0_lives2_dlg0[] = { /* 0x8221864 *
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0002, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(7),
ROTATE(4, 10, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHEAST),
ALERT_CUE(5),
AWAIT_CUE(7),
HALT,
@ -489,7 +489,7 @@ static const struct ScriptCommand s_gs171_g4_s0_lives4_dlg0[] = { /* 0x8221944 *
WAIT(120),
{ 0x89, 0x10, 0x0100, 0x00000004, 0x00000000, NULL },
{ 0x89, 0x08, 0x0100, 0x00000002, 0x00000000, NULL },
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(12),
{ 0x59, 0x00, 0x0000, -0x000000c8, 0x00000000, NULL },
AWAIT_CUE(12),
@ -634,7 +634,7 @@ static const struct ScriptCommand s_gs171_g5_s0_lives0_dlg0[] = { /* 0x8221f00 *
{ 0x33, 0x00, 0x0000, 0x00000000, 0x00000000, _("(I'm sure... Back there...{WAIT_PRESS}\nGengar saved me...)") },
TEXTBOX_CLEAR,
WAIT(30),
{ 0x93, 0x04, 0x000a, 0x00000022, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 34),
PORTRAIT_REP(0x0001, 0x00000000),
MSG_NPC(1, _(" ...Maybe...{WAIT_PRESS}\nDid Gengar save {NAME_0} too?")),
TEXTBOX_CLEAR,
@ -673,7 +673,7 @@ static const struct ScriptCommand s_gs171_g5_s0_lives0_dlg0[] = { /* 0x8221f00 *
ALERT_CUE(4),
ALERT_CUE(6),
CALL_LABEL(3),
ROTATE(1, 10, DIRECTION_NORTH),
ROTATE_TO(1, DIR_TRANS_10, DIRECTION_NORTH),
ALERT_CUE(8),
AWAIT_CUE(5),
WAIT(60),
@ -723,7 +723,7 @@ static const struct ScriptCommand s_gs171_g5_s0_lives0_dlg0[] = { /* 0x8221f00 *
TEXTBOX_CLEAR,
WAIT(10),
ALERT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000022, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 34),
CALL_LABEL(3),
PORTRAIT_REP(0x0001, 0x00000001),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
@ -776,19 +776,19 @@ static const struct ScriptCommand s_gs171_g5_s0_lives1_dlg0[] = { /* 0x8222c44 *
ALERT_CUE(5),
AWAIT_CUE(6),
WAIT(10),
{ 0x93, 0x04, 0x000a, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 0),
AWAIT_CUE(6),
ROTATE(6, 10, DIRECTION_NORTH),
ROTATE_TO(6, DIR_TRANS_10, DIRECTION_NORTH),
WAIT(20),
ROTATE(6, 10, DIRECTION_SOUTH),
ROTATE_TO(6, DIR_TRANS_10, DIRECTION_SOUTH),
WAIT(20),
ROTATE(6, 10, DIRECTION_WEST),
ROTATE_TO(6, DIR_TRANS_10, DIRECTION_WEST),
ALERT_CUE(5),
AWAIT_CUE(6),
CALL_SCRIPT(JUMP_ANGRY_FUNC),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(1, 10, DIRECTION_NORTH),
ROTATE_TO(1, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(6),
CJUMP_UNK_C6(10),
COND_EQUAL(0, /* to label */ 0),
@ -802,7 +802,7 @@ static const struct ScriptCommand s_gs171_g5_s0_lives1_dlg0[] = { /* 0x8222c44 *
CALL_SCRIPT(JUMP_HAPPY_FUNC),
ALERT_CUE(5),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 0),
AWAIT_CUE(6),
HALT,
};
@ -817,10 +817,10 @@ static const struct ScriptCommand s_gs171_g5_s0_lives2_dlg0[] = { /* 0x8222ec4 *
CALL_SCRIPT(NOTICE_FUNC),
AWAIT_CUE(7),
AWAIT_CUE(7),
ROTATE(1, 10, DIRECTION_NORTH),
ROTATE_TO(1, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(7),
WAIT(5),
ROTATE(4, 10, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTH),
AWAIT_CUE(7),
HALT,
};
@ -835,7 +835,7 @@ static const struct ScriptCommand s_gs171_g5_s0_lives3_dlg0[] = { /* 0x8222fb4 *
WAIT(30),
SELECT_ANIMATION(2),
WAIT(30),
ROTATE(10, 10, DIRECTION_SOUTH),
ROTATE_TO(10, DIR_TRANS_10, DIRECTION_SOUTH),
ALERT_CUE(5),
AWAIT_CUE(8),
HALT,
@ -855,10 +855,10 @@ static const struct ScriptCommand s_gs171_g5_s0_lives4_dlg0[] = { /* 0x8223084 *
ALERT_CUE(5),
AWAIT_CUE(9),
WAIT(7),
ROTATE(1, 10, DIRECTION_NORTH),
ROTATE_TO(1, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(9),
WAIT(2),
ROTATE(4, 10, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHEAST),
AWAIT_CUE(9),
HALT,
};
@ -877,10 +877,10 @@ static const struct ScriptCommand s_gs171_g5_s0_lives5_dlg0[] = { /* 0x82231b4 *
ALERT_CUE(5),
AWAIT_CUE(11),
WAIT(7),
ROTATE(1, 10, DIRECTION_NORTH),
ROTATE_TO(1, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(11),
WAIT(3),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
AWAIT_CUE(11),
HALT,
};
@ -897,10 +897,10 @@ static const struct ScriptCommand s_gs171_g5_s0_lives6_dlg0[] = { /* 0x82232e4 *
{ 0x89, 0x08, 0x0100, 0x00000007, 0x00000000, NULL },
AWAIT_CUE(12),
WAIT(5),
ROTATE(1, 10, DIRECTION_NORTH),
ROTATE_TO(1, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(12),
WAIT(6),
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
AWAIT_CUE(12),
HALT,
};
@ -917,10 +917,10 @@ static const struct ScriptCommand s_gs171_g5_s0_lives7_dlg0[] = { /* 0x82233f4 *
{ 0x89, 0x08, 0x0100, 0x00000002, 0x00000000, NULL },
AWAIT_CUE(13),
WAIT(6),
ROTATE(1, 10, DIRECTION_NORTH),
ROTATE_TO(1, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(13),
WAIT(10),
ROTATE(4, 10, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_EAST),
AWAIT_CUE(13),
HALT,
};
@ -936,10 +936,10 @@ static const struct ScriptCommand s_gs171_g5_s0_lives8_dlg0[] = { /* 0x8223504 *
{ 0x89, 0x08, 0x0100, 0x00000006, 0x00000000, NULL },
AWAIT_CUE(16),
WAIT(3),
ROTATE(1, 10, DIRECTION_NORTH),
ROTATE_TO(1, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(16),
WAIT(8),
ROTATE(4, 10, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_WEST),
AWAIT_CUE(16),
HALT,
};
@ -953,10 +953,10 @@ static const struct ScriptCommand s_gs171_g5_s0_lives9_dlg0[] = { /* 0x8223604 *
{ 0x89, 0x08, 0x0100, 0x00000004, 0x00000000, NULL },
AWAIT_CUE(15),
WAIT(5),
ROTATE(1, 10, DIRECTION_NORTH),
ROTATE_TO(1, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(15),
WAIT(11),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(15),
HALT,
};
@ -972,10 +972,10 @@ static const struct ScriptCommand s_gs171_g5_s0_lives10_dlg0[] = { /* 0x82236e4
{ 0x89, 0x08, 0x0100, 0x00000005, 0x00000000, NULL },
AWAIT_CUE(14),
WAIT(4),
ROTATE(1, 10, DIRECTION_NORTH),
ROTATE_TO(1, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(14),
WAIT(7),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
AWAIT_CUE(14),
HALT,
};
@ -991,10 +991,10 @@ static const struct ScriptCommand s_gs171_g5_s0_lives11_dlg0[] = { /* 0x82237e4
{ 0x89, 0x08, 0x0100, 0x00000003, 0x00000000, NULL },
AWAIT_CUE(17),
WAIT(4),
ROTATE(1, 10, DIRECTION_NORTH),
ROTATE_TO(1, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(17),
WAIT(12),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
AWAIT_CUE(17),
HALT,
};
@ -1008,10 +1008,10 @@ static const struct ScriptCommand s_gs171_g5_s0_lives12_dlg0[] = { /* 0x82238e4
{ 0x89, 0x08, 0x0100, 0x00000007, 0x00000000, NULL },
AWAIT_CUE(18),
WAIT(4),
ROTATE(1, 10, DIRECTION_NORTH),
ROTATE_TO(1, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(18),
WAIT(9),
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
AWAIT_CUE(18),
HALT,
};
@ -1027,10 +1027,10 @@ static const struct ScriptCommand s_gs171_g5_s0_lives13_dlg0[] = { /* 0x82239c4
{ 0x89, 0x08, 0x0100, 0x00000004, 0x00000000, NULL },
AWAIT_CUE(19),
WAIT(5),
ROTATE(1, 10, DIRECTION_NORTH),
ROTATE_TO(1, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(19),
WAIT(9),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(19),
HALT,
};
@ -1045,10 +1045,10 @@ static const struct ScriptCommand s_gs171_g5_s0_lives14_dlg0[] = { /* 0x8223ac4
{ 0x89, 0x08, 0x0100, 0x00000004, 0x00000000, NULL },
AWAIT_CUE(20),
WAIT(3),
ROTATE(1, 10, DIRECTION_NORTH),
ROTATE_TO(1, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(20),
WAIT(5),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(20),
HALT,
};
@ -1137,7 +1137,7 @@ static const struct ScriptCommand s_gs171_g6_s0_lives0_dlg0[] = { /* 0x8223d40 *
ALERT_CUE(13),
CALL_LABEL(2),
ALERT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
WAIT(120),
PORTRAIT(PLACEMENT_TOP_LEFT, 0x0008, 0x00000000),
MSG_NPC(8, _(" I'll secure him so he can't\nget away.")),
@ -1231,15 +1231,15 @@ static const struct ScriptCommand s_gs171_g6_s0_lives0_dlg0[] = { /* 0x8223d40 *
VARIANT(/* == */ 1, _(" ...!{WAIT_PRESS} {NAME_0}...!{WAIT_PRESS}\nYour body...{WAIT_PRESS} What's happening?")),
VARIANT_DEFAULT(_(" ...!{WAIT_PRESS} {NAME_0}...!{WAIT_PRESS}\nYour body...{WAIT_PRESS} What's happening to you?")),
TEXTBOX_CLEAR,
ROTATE(10, 10, DIRECTION_NORTH),
ROTATE_TO(10, DIR_TRANS_10, DIRECTION_NORTH),
WAIT(30),
{ 0x33, 0x00, 0x0000, 0x00000000, 0x00000000, _("{NAME_1}...") },
TEXTBOX_CLEAR,
ROTATE(10, 10, DIRECTION_NORTHWEST),
ROTATE_TO(10, DIR_TRANS_10, DIRECTION_NORTHWEST),
WAIT(30),
ROTATE(10, 10, DIRECTION_NORTHEAST),
ROTATE_TO(10, DIR_TRANS_10, DIRECTION_NORTHEAST),
WAIT(30),
ROTATE(10, 10, DIRECTION_NORTH),
ROTATE_TO(10, DIR_TRANS_10, DIRECTION_NORTH),
WAIT(30),
{ 0x33, 0x00, 0x0000, 0x00000000, 0x00000000, _("And, everyone...{WAIT_PRESS} I'm sorry.{WAIT_PRESS}\nBut I have to leave.") },
TEXTBOX_CLEAR,
@ -1389,13 +1389,13 @@ static const struct ScriptCommand s_gs171_g6_s0_lives1_dlg0[] = { /* 0x8225528 *
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
{ 0x53, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
AWAIT_CUE(6),
WAIT(15),
WALK_GRID(179, 0),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTH),
AWAIT_CUE(6),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
ALERT_CUE(5),
@ -1409,7 +1409,7 @@ static const struct ScriptCommand s_gs171_g6_s0_lives1_dlg0[] = { /* 0x8225528 *
WALK_RELATIVE(51, 0, 10),
AWAIT_CUE(6),
WAIT(110),
ROTATE(12, 10, DIRECTION_NORTH),
ROTATE_TO(12, DIR_TRANS_10, DIRECTION_NORTH),
WAIT(40),
{ 0x89, 0x50, 0x004c, 0x00000004, 0x00000000, NULL },
WAIT(10),
@ -1431,10 +1431,10 @@ static const struct ScriptCommand s_gs171_g6_s0_lives2_dlg0[] = { /* 0x8225728 *
CALL_SCRIPT(SMILE_END_FUNC),
AWAIT_CUE(7),
WAIT(5),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
AWAIT_CUE(7),
WALK_GRID(179, 1),
ROTATE(4, 10, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_WEST),
AWAIT_CUE(7),
AWAIT_CUE(7),
WAIT(30),
@ -1453,7 +1453,7 @@ static const struct ScriptCommand s_gs171_g6_s0_lives2_dlg0[] = { /* 0x8225728 *
CALL_SCRIPT(SMILE_END_FUNC),
AWAIT_CUE(7),
WAIT(2),
ROTATE(4, 10, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTH),
AWAIT_CUE(7),
CALL_SCRIPT(NOTICE_FUNC),
AWAIT_CUE(7),
@ -1463,10 +1463,10 @@ static const struct ScriptCommand s_gs171_g6_s0_lives2_dlg0[] = { /* 0x8225728 *
WALK_RELATIVE(256, 0, 8),
AWAIT_CUE(7),
WAIT(170),
ROTATE(12, 10, DIRECTION_NORTH),
ROTATE_TO(12, DIR_TRANS_10, DIRECTION_NORTH),
WAIT(25),
WALK_RELATIVE(128, 16, -16),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(7),
AWAIT_CUE(7),
HALT,
@ -1481,7 +1481,7 @@ static const struct ScriptCommand s_gs171_g6_s0_lives3_dlg0[] = { /* 0x8225a58 *
WALK_RELATIVE(128, 0, 12),
AWAIT_CUE(8),
WAIT(260),
ROTATE(12, 1, DIRECTION_NORTH),
ROTATE_TO(12, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
AWAIT_CUE(8),
HALT,
};
@ -1500,40 +1500,40 @@ static const struct ScriptCommand s_gs171_g6_s0_lives4_dlg0[] = { /* 0x8225b08 *
AWAIT_CUE(9),
{ 0x7e, 0x00, 0x004c, 0x00000000, -0x00000028, NULL },
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
WAIT(15),
ROTATE(4, 2, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTHEAST),
{ 0x56, 0x00, 0x0000, 0x00000047, 0x00000000, NULL },
AWAIT_CUE(9),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
LABEL(0), /* = 0x00 */
ROTATE(4, 10, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTH),
WAIT(10),
ROTATE(4, 10, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHEAST),
WAIT(10),
CJUMP_VAR(EVENT_LOCAL),
COND_EQUAL(1, /* to label */ 1),
JUMP_LABEL(0),
LABEL(1), /* = 0x01 */
WAIT(30),
ROTATE(4, 10, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHEAST),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
ALERT_CUE(5),
AWAIT_CUE(9),
WAIT(10),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
WAIT(30),
LABEL(2), /* = 0x02 */
ROTATE(4, 10, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHEAST),
WAIT(30),
ROTATE(4, 2, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_EAST),
WAIT(60),
CJUMP_VAR(EVENT_LOCAL),
COND_EQUAL(1, /* to label */ 3),
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
WAIT(50),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
WAIT(50),
CJUMP_VAR(EVENT_LOCAL),
COND_EQUAL(1, /* to label */ 3),
@ -1542,13 +1542,13 @@ static const struct ScriptCommand s_gs171_g6_s0_lives4_dlg0[] = { /* 0x8225b08 *
WAIT(1),
AWAIT_CUE(9),
WAIT(4),
ROTATE(4, 10, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTH),
AWAIT_CUE(9),
WAIT(6),
WALK_RELATIVE(256, 0, 10),
AWAIT_CUE(9),
WAIT(170),
ROTATE(12, 2, DIRECTION_NORTH),
ROTATE_TO(12, DIR_TRANS_SPINLEFT1, DIRECTION_NORTH),
AWAIT_CUE(9),
WAIT(30),
WALK_RELATIVE(179, 0, -16),
@ -1567,14 +1567,14 @@ static const struct ScriptCommand s_gs171_g6_s0_lives5_dlg0[] = { /* 0x8225f38 *
CALL_SCRIPT(SMILE_END_FUNC),
AWAIT_CUE(11),
WAIT(7),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(11),
WALK_GRID(179, 2),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(11),
AWAIT_CUE(11),
AWAIT_CUE(11),
ROTATE(10, 10, DIRECTION_SOUTHEAST),
ROTATE_TO(10, DIR_TRANS_10, DIRECTION_SOUTHEAST),
CALL_SCRIPT(NOTICE_FUNC),
ALERT_CUE(5),
AWAIT_CUE(11),
@ -1583,10 +1583,10 @@ static const struct ScriptCommand s_gs171_g6_s0_lives5_dlg0[] = { /* 0x8225f38 *
AWAIT_CUE(11),
WAIT(2),
WALK_RELATIVE(204, 0, 10),
ROTATE(4, 10, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHEAST),
AWAIT_CUE(11),
WAIT(120),
ROTATE(12, 2, DIRECTION_NORTH),
ROTATE_TO(12, DIR_TRANS_SPINLEFT1, DIRECTION_NORTH),
AWAIT_CUE(11),
WAIT(60),
WALK_RELATIVE(179, 0, -16),
@ -1608,18 +1608,18 @@ static const struct ScriptCommand s_gs171_g6_s0_lives6_dlg0[] = { /* 0x8226168 *
CALL_SCRIPT(SMILE_END_FUNC),
AWAIT_CUE(12),
WAIT(4),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
AWAIT_CUE(12),
WAIT(30),
WALK_GRID(179, 4),
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
AWAIT_CUE(12),
CALL_SCRIPT(SMILE_START_FUNC),
AWAIT_CUE(12),
CALL_SCRIPT(SMILE_END_FUNC),
AWAIT_CUE(12),
WAIT(3),
ROTATE(4, 10, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTH),
AWAIT_CUE(12),
AWAIT_CUE(12),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
@ -1628,7 +1628,7 @@ static const struct ScriptCommand s_gs171_g6_s0_lives6_dlg0[] = { /* 0x8226168 *
WALK_RELATIVE(256, 0, 8),
AWAIT_CUE(12),
WAIT(190),
ROTATE(12, 1, DIRECTION_NORTH),
ROTATE_TO(12, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
WALK_RELATIVE(76, 0, -16),
AWAIT_CUE(12),
AWAIT_CUE(12),
@ -1648,7 +1648,7 @@ static const struct ScriptCommand s_gs171_g6_s0_lives7_dlg0[] = { /* 0x82263c8 *
WAIT(35),
WALK_RELATIVE(256, 0, -64),
WALK_RELATIVE(256, 16, 0),
ROTATE(4, 10, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHEAST),
AWAIT_CUE(13),
CALL_SCRIPT(SMILE_START_FUNC),
AWAIT_CUE(13),
@ -1672,7 +1672,7 @@ static const struct ScriptCommand s_gs171_g6_s0_lives7_dlg0[] = { /* 0x82263c8 *
CALL_SCRIPT(SMILE_END_FUNC),
AWAIT_CUE(13),
WAIT(5),
ROTATE(4, 10, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTH),
AWAIT_CUE(13),
CALL_SCRIPT(NOTICE_FUNC),
AWAIT_CUE(13),
@ -1680,7 +1680,7 @@ static const struct ScriptCommand s_gs171_g6_s0_lives7_dlg0[] = { /* 0x82263c8 *
WALK_RELATIVE(179, 0, 6),
AWAIT_CUE(13),
WAIT(200),
ROTATE(12, 2, DIRECTION_NORTH),
ROTATE_TO(12, DIR_TRANS_SPINLEFT1, DIRECTION_NORTH),
AWAIT_CUE(13),
WAIT(10),
WALK_RELATIVE(76, 0, -16),
@ -1698,14 +1698,14 @@ static const struct ScriptCommand s_gs171_g6_s0_lives8_dlg0[] = { /* 0x82266e8 *
CALL_SCRIPT(SMILE_END_FUNC),
AWAIT_CUE(16),
WAIT(2),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
AWAIT_CUE(16),
CALL_SCRIPT(NOTICE_FUNC),
ALERT_CUE(5),
AWAIT_CUE(16),
WAIT(40),
WALK_GRID(179, 6),
ROTATE(4, 10, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_WEST),
AWAIT_CUE(16),
AWAIT_CUE(16),
WAIT(45),
@ -1724,16 +1724,16 @@ static const struct ScriptCommand s_gs171_g6_s0_lives8_dlg0[] = { /* 0x82266e8 *
CALL_SCRIPT(SMILE_END_FUNC),
AWAIT_CUE(16),
WAIT(5),
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
AWAIT_CUE(16),
CALL_SCRIPT(NOTICE_FUNC),
AWAIT_CUE(16),
WAIT(6),
WALK_RELATIVE(256, 0, 8),
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
AWAIT_CUE(16),
WAIT(170),
ROTATE(12, 1, DIRECTION_NORTHWEST),
ROTATE_TO(12, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTHWEST),
AWAIT_CUE(16),
WAIT(40),
WALK_RELATIVE(179, 0, -16),
@ -1755,26 +1755,26 @@ static const struct ScriptCommand s_gs171_g6_s0_lives9_dlg0[] = { /* 0x8226a08 *
CALL_SCRIPT(SMILE_END_FUNC),
AWAIT_CUE(14),
WAIT(6),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
AWAIT_CUE(14),
WAIT(40),
WALK_GRID(179, 7),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
AWAIT_CUE(14),
CALL_SCRIPT(SMILE_START_FUNC),
AWAIT_CUE(14),
CALL_SCRIPT(SMILE_END_FUNC),
AWAIT_CUE(14),
WAIT(2),
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
AWAIT_CUE(14),
AWAIT_CUE(14),
WAIT(3),
WALK_RELATIVE(256, 0, 8),
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
AWAIT_CUE(14),
WAIT(120),
ROTATE(12, 1, DIRECTION_NORTH),
ROTATE_TO(12, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
AWAIT_CUE(14),
WAIT(40),
WALK_RELATIVE(179, 0, -16),
@ -1793,23 +1793,23 @@ static const struct ScriptCommand s_gs171_g6_s0_lives10_dlg0[] = { /* 0x8226c68
CALL_SCRIPT(SMILE_END_FUNC),
AWAIT_CUE(15),
WAIT(8),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
AWAIT_CUE(15),
WAIT(40),
WALK_GRID(179, 10),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
AWAIT_CUE(15),
AWAIT_CUE(15),
AWAIT_CUE(15),
WAIT(7),
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
AWAIT_CUE(15),
AWAIT_CUE(15),
WALK_RELATIVE(256, 0, 8),
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
AWAIT_CUE(15),
WAIT(90),
ROTATE(12, 1, DIRECTION_NORTH),
ROTATE_TO(12, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
AWAIT_CUE(15),
WAIT(55),
WALK_RELATIVE(102, 0, -16),
@ -1827,27 +1827,27 @@ static const struct ScriptCommand s_gs171_g6_s0_lives11_dlg0[] = { /* 0x8226e68
CALL_SCRIPT(SMILE_END_FUNC),
AWAIT_CUE(17),
WAIT(7),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(17),
WAIT(10),
WALK_GRID(179, 3),
ROTATE(4, 10, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_EAST),
AWAIT_CUE(17),
CALL_SCRIPT(SMILE_START_FUNC),
AWAIT_CUE(17),
CALL_SCRIPT(SMILE_END_FUNC),
AWAIT_CUE(17),
WAIT(7),
ROTATE(4, 10, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHEAST),
AWAIT_CUE(17),
CALL_SCRIPT(SHOCK_FUNC),
AWAIT_CUE(17),
WAIT(6),
WALK_RELATIVE(256, 0, 8),
ROTATE(4, 10, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHEAST),
AWAIT_CUE(17),
WAIT(170),
ROTATE(12, 2, DIRECTION_NORTH),
ROTATE_TO(12, DIR_TRANS_SPINLEFT1, DIRECTION_NORTH),
AWAIT_CUE(17),
WAIT(40),
WALK_RELATIVE(128, 0, -16),
@ -1865,16 +1865,16 @@ static const struct ScriptCommand s_gs171_g6_s0_lives12_dlg0[] = { /* 0x8227098
CALL_SCRIPT(SMILE_END_FUNC),
AWAIT_CUE(18),
WAIT(4),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
AWAIT_CUE(18),
WAIT(35),
WALK_GRID(179, 5),
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
AWAIT_CUE(18),
AWAIT_CUE(18),
AWAIT_CUE(18),
WAIT(5),
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
AWAIT_CUE(18),
CALL_SCRIPT(NOTICE_FUNC),
AWAIT_CUE(18),
@ -1882,10 +1882,10 @@ static const struct ScriptCommand s_gs171_g6_s0_lives12_dlg0[] = { /* 0x8227098
AWAIT_CUE(18),
WAIT(10),
WALK_RELATIVE(179, 0, 6),
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
AWAIT_CUE(18),
WAIT(210),
ROTATE(12, 1, DIRECTION_NORTH),
ROTATE_TO(12, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
AWAIT_CUE(18),
WAIT(25),
WALK_RELATIVE(179, 0, -16),
@ -1903,11 +1903,11 @@ static const struct ScriptCommand s_gs171_g6_s0_lives13_dlg0[] = { /* 0x82272c8
CALL_SCRIPT(SMILE_END_FUNC),
AWAIT_CUE(19),
WAIT(7),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
AWAIT_CUE(19),
WAIT(45),
WALK_GRID(179, 8),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
AWAIT_CUE(19),
CALL_SCRIPT(SMILE_START_FUNC),
AWAIT_CUE(19),
@ -1928,15 +1928,15 @@ static const struct ScriptCommand s_gs171_g6_s0_lives13_dlg0[] = { /* 0x82272c8
CALL_SCRIPT(SMILE_END_FUNC),
AWAIT_CUE(19),
WAIT(5),
ROTATE(4, 10, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHEAST),
AWAIT_CUE(19),
CALL_SCRIPT(NOTICE_FUNC),
AWAIT_CUE(19),
WALK_RELATIVE(256, 0, 12),
ROTATE(4, 10, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHEAST),
AWAIT_CUE(19),
WAIT(120),
ROTATE(12, 2, DIRECTION_NORTH),
ROTATE_TO(12, DIR_TRANS_SPINLEFT1, DIRECTION_NORTH),
AWAIT_CUE(19),
WAIT(50),
WALK_RELATIVE(102, 0, -16),
@ -1954,11 +1954,11 @@ static const struct ScriptCommand s_gs171_g6_s0_lives14_dlg0[] = { /* 0x82275c8
CALL_SCRIPT(SMILE_END_FUNC),
AWAIT_CUE(19),
WAIT(5),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(19),
WAIT(40),
WALK_GRID(179, 9),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
AWAIT_CUE(19),
CALL_SCRIPT(SMILE_START_FUNC),
AWAIT_CUE(19),
@ -1979,15 +1979,15 @@ static const struct ScriptCommand s_gs171_g6_s0_lives14_dlg0[] = { /* 0x82275c8
CALL_SCRIPT(SMILE_END_FUNC),
AWAIT_CUE(19),
WAIT(7),
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
AWAIT_CUE(19),
AWAIT_CUE(19),
WAIT(2),
WALK_RELATIVE(256, 0, 8),
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
AWAIT_CUE(19),
WAIT(130),
ROTATE(12, 1, DIRECTION_NORTH),
ROTATE_TO(12, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
AWAIT_CUE(19),
WAIT(60),
WALK_RELATIVE(179, 0, -16),
@ -2230,7 +2230,7 @@ static const struct ScriptCommand s_gs171_g7_s0_lives2_dlg0[] = { /* 0x8228a14 *
{ 0x2d, 0x07, 0x0002, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(7),
WAIT_RANDOM(0, 15),
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
AWAIT_CUE(7),
HALT,
};
@ -2244,7 +2244,7 @@ static const struct ScriptCommand s_gs171_g7_s0_lives3_dlg0[] = { /* 0x8228ab4 *
ALERT_CUE(5),
AWAIT_CUE(8),
WAIT_RANDOM(0, 15),
ROTATE(4, 10, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTH),
AWAIT_CUE(8),
HALT,
};
@ -2255,7 +2255,7 @@ static const struct ScriptCommand s_gs171_g7_s0_lives4_dlg0[] = { /* 0x8228b64 *
{ 0x2d, 0x07, 0x0004, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(9),
WAIT_RANDOM(0, 15),
ROTATE(4, 10, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHEAST),
AWAIT_CUE(9),
HALT,
};
@ -2266,7 +2266,7 @@ static const struct ScriptCommand s_gs171_g7_s0_lives5_dlg0[] = { /* 0x8228be4 *
{ 0x2d, 0x07, 0x0006, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(11),
WAIT_RANDOM(0, 15),
ROTATE(4, 10, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHEAST),
AWAIT_CUE(11),
HALT,
};
@ -2277,7 +2277,7 @@ static const struct ScriptCommand s_gs171_g7_s0_lives6_dlg0[] = { /* 0x8228c64 *
{ 0x2d, 0x07, 0x0007, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(12),
WAIT_RANDOM(0, 15),
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
AWAIT_CUE(12),
HALT,
};
@ -2288,7 +2288,7 @@ static const struct ScriptCommand s_gs171_g7_s0_lives7_dlg0[] = { /* 0x8228ce4 *
{ 0x2d, 0x07, 0x0008, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(13),
WAIT_RANDOM(0, 15),
ROTATE(4, 10, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_EAST),
AWAIT_CUE(13),
HALT,
};
@ -2298,7 +2298,7 @@ static const struct ScriptCommand s_gs171_g7_s0_lives8_dlg0[] = { /* 0x8228d64 *
SELECT_ANIMATION(2),
AWAIT_CUE(16),
WAIT_RANDOM(0, 15),
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
AWAIT_CUE(16),
HALT,
};
@ -2308,7 +2308,7 @@ static const struct ScriptCommand s_gs171_g7_s0_lives9_dlg0[] = { /* 0x8228dd4 *
SELECT_ANIMATION(2),
AWAIT_CUE(14),
WAIT_RANDOM(0, 15),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
AWAIT_CUE(14),
HALT,
};
@ -2318,7 +2318,7 @@ static const struct ScriptCommand s_gs171_g7_s0_lives10_dlg0[] = { /* 0x8228e44
SELECT_ANIMATION(2),
AWAIT_CUE(15),
WAIT_RANDOM(0, 15),
ROTATE(4, 10, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHEAST),
AWAIT_CUE(15),
HALT,
};
@ -2328,7 +2328,7 @@ static const struct ScriptCommand s_gs171_g7_s0_lives11_dlg0[] = { /* 0x8228eb4
SELECT_ANIMATION(2),
AWAIT_CUE(17),
WAIT_RANDOM(0, 15),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
AWAIT_CUE(17),
HALT,
};
@ -2338,7 +2338,7 @@ static const struct ScriptCommand s_gs171_g7_s0_lives12_dlg0[] = { /* 0x8228f24
SELECT_ANIMATION(2),
AWAIT_CUE(18),
WAIT_RANDOM(0, 15),
ROTATE(4, 10, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_WEST),
AWAIT_CUE(18),
HALT,
};
@ -2348,7 +2348,7 @@ static const struct ScriptCommand s_gs171_g7_s0_lives13_dlg0[] = { /* 0x8228f94
SELECT_ANIMATION(2),
AWAIT_CUE(19),
WAIT_RANDOM(0, 15),
ROTATE(4, 10, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHEAST),
AWAIT_CUE(19),
HALT,
};
@ -2358,7 +2358,7 @@ static const struct ScriptCommand s_gs171_g7_s0_lives14_dlg0[] = { /* 0x8229004
SELECT_ANIMATION(2),
AWAIT_CUE(19),
WAIT_RANDOM(0, 15),
ROTATE(4, 10, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHEAST),
AWAIT_CUE(19),
HALT,
};

View File

@ -144,9 +144,9 @@ static const struct ScriptCommand s_gs174_g1_s1_lives0_dlg0[] = { /* 0x822abd8 *
ALERT_CUE(5),
AWAIT_CUE(9),
WALK_RELATIVE(128, 16, 32),
ROTATE(8, 10, DIRECTION_WEST),
ROTATE_TO(8, DIR_TRANS_10, DIRECTION_WEST),
WAIT(60),
ROTATE(10, 10, DIRECTION_EAST),
ROTATE_TO(10, DIR_TRANS_10, DIRECTION_EAST),
WAIT(45),
{ 0x54, 0x00, 0x001f, 0x00000000, 0x00000000, NULL },
ALERT_CUE(5),
@ -154,23 +154,23 @@ static const struct ScriptCommand s_gs174_g1_s1_lives0_dlg0[] = { /* 0x822abd8 *
SELECT_ANIMATION(2),
ALERT_CUE(5),
AWAIT_CUE(9),
ROTATE(6, 10, DIRECTION_NORTH),
ROTATE_TO(6, DIR_TRANS_10, DIRECTION_NORTH),
WAIT(20),
ROTATE(6, 10, DIRECTION_SOUTH),
ROTATE_TO(6, DIR_TRANS_10, DIRECTION_SOUTH),
WAIT(20),
ROTATE(6, 10, DIRECTION_EAST),
ROTATE_TO(6, DIR_TRANS_10, DIRECTION_EAST),
ALERT_CUE(5),
AWAIT_CUE(9),
ROTATE(6, 10, DIRECTION_NORTH),
ROTATE_TO(6, DIR_TRANS_10, DIRECTION_NORTH),
WAIT(20),
ROTATE(6, 10, DIRECTION_SOUTH),
ROTATE_TO(6, DIR_TRANS_10, DIRECTION_SOUTH),
WAIT(20),
ROTATE(6, 10, DIRECTION_EAST),
ROTATE_TO(6, DIR_TRANS_10, DIRECTION_EAST),
WAIT(60),
{ 0x89, 0x10, 0x0100, 0x00000002, 0x00000000, NULL },
ALERT_CUE(5),
AWAIT_CUE(9),
ROTATE(4, 10, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_WEST),
ALERT_CUE(5),
AWAIT_CUE(9),
{ 0x89, 0x50, 0x0099, 0x00000002, 0x00000000, NULL },

File diff suppressed because it is too large Load Diff

View File

@ -466,7 +466,7 @@ static const struct ScriptCommand s_gs12_g9_s0_lives0_dlg0[] = { /* 0x81e2ec0 */
ALERT_CUE(7),
AWAIT_CUE(5),
ALERT_CUE(6),
ROTATE(4, 1, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTHEAST),
PORTRAIT(PLACEMENT_RIGHT, 0x0001, 0x00000000),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" It's {NAME_0}'s house.")),
@ -484,7 +484,7 @@ static const struct ScriptCommand s_gs12_g9_s0_lives0_dlg0[] = { /* 0x81e2ec0 */
WAIT(10),
ALERT_CUE(7),
ALERT_CUE(6),
ROTATE(4, 2, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTH),
AWAIT_CUE(5),
MSG_NPC(-1, _(" Th-thank you...")),
TEXTBOX_CLEAR,
@ -564,7 +564,7 @@ static const struct ScriptCommand s_gs12_g9_s0_lives0_dlg0[] = { /* 0x81e2ec0 */
ALERT_CUE(7),
AWAIT_CUE(5),
WALK_RELATIVE(256, 0, -24),
ROTATE(4, 1, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTHEAST),
WAIT(30),
SELECT_EFFECTS(9, 1),
WAIT(30),
@ -574,7 +574,7 @@ static const struct ScriptCommand s_gs12_g9_s0_lives0_dlg0[] = { /* 0x81e2ec0 */
TEXTBOX_CLEAR,
WAIT(10),
ALERT_CUE(7),
ROTATE(4, 1, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTHEAST),
MSG_NPC(2, _(" It's a...{WAIT_PRESS}\n{COLOR GREEN_I}Clear Wing{RESET}...")),
TEXTBOX_CLEAR,
WAIT(10),
@ -588,7 +588,7 @@ static const struct ScriptCommand s_gs12_g9_s0_lives0_dlg0[] = { /* 0x81e2ec0 */
CANCEL_EFFECTS(9, 1),
ALERT_CUE(7),
ALERT_CUE(6),
ROTATE(4, 2, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTH),
AWAIT_CUE(5),
MSG_NPC(2, _(" See? Depending on the light,\nit takes on many different colors.")),
ALERT_CUE(7),
@ -603,13 +603,13 @@ static const struct ScriptCommand s_gs12_g9_s0_lives0_dlg0[] = { /* 0x81e2ec0 */
ALERT_CUE(6),
AWAIT_CUE(5),
ALERT_CUE(6),
ROTATE(4, 1, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
AWAIT_CUE(5),
ALERT_CUE(6),
ROTATE(4, 1, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTHWEST),
AWAIT_CUE(5),
ALERT_CUE(6),
ROTATE(4, 2, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTHEAST),
AWAIT_CUE(5),
ALERT_CUE(6),
AWAIT_CUE(5),
@ -628,7 +628,7 @@ static const struct ScriptCommand s_gs12_g9_s0_lives0_dlg0[] = { /* 0x81e2ec0 */
ALERT_CUE(7),
AWAIT_CUE(5),
ALERT_CUE(6),
ROTATE(4, 1, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
AWAIT_CUE(5),
WAIT(30),
PORTRAIT(PLACEMENT_RIGHT, 0x0001, 0x00000004),
@ -636,7 +636,7 @@ static const struct ScriptCommand s_gs12_g9_s0_lives0_dlg0[] = { /* 0x81e2ec0 */
TEXTBOX_CLEAR,
WAIT(10),
ALERT_CUE(6),
ROTATE(4, 2, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTHEAST),
PORTRAIT(PLACEMENT_RIGHT, 0x0001, 0x00000000),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" But you are interested in\nthe mirage Pokémon, right?")),
@ -674,9 +674,9 @@ static const struct ScriptCommand s_gs12_g9_s0_lives1_dlg0[] = { /* 0x81e4480 */
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(6),
ROTATE(4, 2, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTHWEST),
AWAIT_CUE(6),
ROTATE(4, 1, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
AWAIT_CUE(6),
FANFARE_PLAY2(469),
CALL_SCRIPT(QUESTION_FUNC),
@ -685,32 +685,32 @@ static const struct ScriptCommand s_gs12_g9_s0_lives1_dlg0[] = { /* 0x81e4480 */
CALL_SCRIPT(SHOCK_FUNC),
AWAIT_CUE(6),
WALK_RELATIVE(512, 0, -24),
ROTATE(4, 2, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTHWEST),
ALERT_CUE(5),
AWAIT_CUE(6),
FANFARE_PLAY2(469),
CALL_SCRIPT(QUESTION_FUNC),
{ 0xe2, 0x00, 0x01d5, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(6),
ROTATE(4, 1, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
AWAIT_CUE(6),
ROTATE(4, 2, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTHWEST),
AWAIT_CUE(6),
ROTATE(4, 2, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTH),
AWAIT_CUE(6),
ROTATE(4, 1, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTHWEST),
AWAIT_CUE(6),
ROTATE(4, 2, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTHEAST),
AWAIT_CUE(6),
ALERT_CUE(4),
WALK_RELATIVE(256, 0, 40),
{ 0x56, 0x00, 0x0000, 0x00000047, 0x00000000, NULL },
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 2, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTH),
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
HALT,
};
@ -743,7 +743,7 @@ static const struct ScriptCommand s_gs12_g9_s0_lives2_dlg0[] = { /* 0x81e4720 */
CALL_SCRIPT(JUMP_HAPPY_FUNC),
ALERT_CUE(5),
AWAIT_CUE(7),
ROTATE(4, 1, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
AWAIT_CUE(7),
FANFARE_PLAY2(470),
SELECT_ANIMATION(22),
@ -756,26 +756,26 @@ static const struct ScriptCommand s_gs12_g9_s0_lives2_dlg0[] = { /* 0x81e4720 */
ALERT_CUE(5),
AWAIT_CUE(7),
{ 0x62, 0x00, 0x0100, 0x00000000, 0x00000010, NULL },
ROTATE(4, 2, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTHEAST),
SELECT_ANIMATION(5),
WAIT(60),
SELECT_ANIMATION(2),
ALERT_CUE(5),
AWAIT_CUE(7),
{ 0x62, 0x00, 0x0100, 0x00000000, -0x00000008, NULL },
ROTATE(4, 10, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTH),
ALERT_CUE(5),
AWAIT_CUE(7),
ROTATE(4, 2, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTHEAST),
AWAIT_CUE(7),
ROTATE(4, 1, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
SELECT_ANIMATION(7),
SELECT_EFFECTS(9, 2),
ALERT_CUE(5),
AWAIT_CUE(7),
SELECT_ANIMATION(2),
AWAIT_CUE(7),
ROTATE(4, 2, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTHEAST),
SELECT_ANIMATION(5),
WAIT(60),
WALK_RELATIVE(256, 0, 32),
@ -785,28 +785,28 @@ static const struct ScriptCommand s_gs12_g9_s0_lives2_dlg0[] = { /* 0x81e4720 */
FANFARE_PLAY2(468),
WAIT(30),
WALK_RELATIVE(256, -32, 16),
ROTATE(4, 2, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTH),
FANFARE_PLAY2(468),
{ 0xe2, 0x00, 0x01d4, 0x00000000, 0x00000000, NULL },
FANFARE_PLAY2(468),
ALERT_CUE(5),
WAIT(30),
WALK_RELATIVE(256, 64, 16),
ROTATE(4, 1, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
FANFARE_PLAY2(468),
{ 0xe2, 0x00, 0x01d4, 0x00000000, 0x00000000, NULL },
FANFARE_PLAY2(468),
ALERT_CUE(5),
WAIT(30),
WALK_RELATIVE(256, -32, 24),
ROTATE(4, 2, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTH),
FANFARE_PLAY2(468),
{ 0xe2, 0x00, 0x01d4, 0x00000000, 0x00000000, NULL },
FANFARE_PLAY2(468),
WAIT(30),
ALERT_CUE(5),
AWAIT_CUE(7),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
ALERT_CUE(5),
AWAIT_CUE(7),
WALK_RELATIVE(256, 16, 16),
@ -818,7 +818,7 @@ static const struct ScriptCommand s_gs12_g9_s0_lives2_dlg0[] = { /* 0x81e4720 */
FANFARE_PLAY2(468),
{ 0xe2, 0x00, 0x01d4, 0x00000000, 0x00000000, NULL },
FANFARE_PLAY2(468),
ROTATE(4, 2, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTH),
WAIT(30),
ALERT_CUE(5),
WALK_RELATIVE(256, 0, 16),
@ -889,7 +889,7 @@ static const struct ScriptCommand s_gs12_g10_s0_lives0_dlg0[] = { /* 0x81e507c *
{ 0x36, 0x00, -0x0001, 0x00000000, 0x00000000, _("Gggwwooooooooooooaahhhhh!") },
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
WAIT(20),
ROTATE(4, 1, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
CALL_SCRIPT(LOOK_AROUND_FUNC),
TEXTBOX_CLEAR,
WAIT(10),
@ -1559,12 +1559,12 @@ static const struct ScriptCommand s_gs12_g20_s0_lives0_dlg0[] = { /* 0x81e8394 *
CALL_SCRIPT(WAKEUP_FUNC),
WAIT(60),
FANFARE_PLAY2(468),
{ 0x92, 0x04, 0x0002, 0x00000004, 0x00000000, NULL },
CMD_UNK_92(4, 2, DIR_TRANS_SPINLEFT2),
WAIT(15),
FANFARE_PLAY2(468),
{ 0x92, 0x04, 0x0001, 0x00000005, 0x00000000, NULL },
CMD_UNK_92(4, 1, DIR_TRANS_FLIP),
WAIT(15),
{ 0x92, 0x04, 0x0002, 0x00000004, 0x00000000, NULL },
CMD_UNK_92(4, 2, DIR_TRANS_SPINLEFT2),
WAIT(15),
WAIT(30),
FANFARE_PLAY2(469),
@ -1574,15 +1574,15 @@ static const struct ScriptCommand s_gs12_g20_s0_lives0_dlg0[] = { /* 0x81e8394 *
TEXTBOX_CLEAR,
WAIT(10),
FANFARE_PLAY2(468),
{ 0x92, 0x04, 0x0002, 0x00000005, 0x00000000, NULL },
CMD_UNK_92(4, 2, DIR_TRANS_FLIP),
WAIT(15),
FANFARE_PLAY2(468),
{ 0x92, 0x04, 0x0002, 0x00000004, 0x00000000, NULL },
CMD_UNK_92(4, 2, DIR_TRANS_SPINLEFT2),
WAIT(15),
FANFARE_PLAY2(468),
{ 0x92, 0x04, 0x0001, 0x00000005, 0x00000000, NULL },
CMD_UNK_92(4, 1, DIR_TRANS_FLIP),
WAIT(15),
{ 0x92, 0x04, 0x0001, 0x00000003, 0x00000000, NULL },
CMD_UNK_92(4, 1, DIR_TRANS_SPINRIGHT2),
WAIT(30),
MSG_NPC(-1, _(" ...Oh! You can't see us, of course!{WAIT_PRESS}\nHow very rude of us!")),
TEXTBOX_CLEAR,
@ -1633,7 +1633,7 @@ static const struct ScriptCommand s_gs12_g20_s1_lives0_dlg0[] = { /* 0x81e8ac8 *
STOP_ANIMATION_ON_CURRENT_FRAME,
SELECT_ANIMATION(2),
WAIT(45),
ROTATE(10, 2, DIRECTION_NORTH),
ROTATE_TO(10, DIR_TRANS_SPINLEFT1, DIRECTION_NORTH),
ALERT_CUE(5),
AWAIT_CUE(7),
CALL_SCRIPT(ANGRY_START_FUNC),
@ -2513,17 +2513,17 @@ static const struct ScriptCommand s_gs12_g42_s0_lives1_dlg0[] = { /* 0x81ebd04 *
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(6),
CALL_SCRIPT(NOTICE_FUNC),
ROTATE(6, 10, DIRECTION_NORTHWEST),
ROTATE_TO(6, DIR_TRANS_10, DIRECTION_NORTHWEST),
WAIT(15),
ROTATE(6, 10, DIRECTION_NORTHEAST),
ROTATE_TO(6, DIR_TRANS_10, DIRECTION_NORTHEAST),
WAIT(15),
ROTATE(6, 10, DIRECTION_NORTHWEST),
ROTATE_TO(6, DIR_TRANS_10, DIRECTION_NORTHWEST),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(12, 10, DIRECTION_NORTH),
ROTATE_TO(12, DIR_TRANS_10, DIRECTION_NORTH),
{ 0x62, 0x00, 0x0080, 0x00000000, 0x0000000a, NULL },
WAIT(30),
{ 0x89, 0x40, 0x0200, 0x00000000, 0x00000000, NULL },

View File

@ -90,13 +90,13 @@ static const struct ScriptCommand s_gs178_g1_s0_lives0_dlg0[] = { /* 0x822c5e4 -
{ 0x33, 0x00, 0x0000, 0x00000000, 0x00000000, _("(Wh-where is this...?)") },
TEXTBOX_CLEAR,
FANFARE_PLAY2(468),
ROTATE(4, 2, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_EAST),
WAIT(20),
FANFARE_PLAY2(468),
ROTATE(4, 1, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_WEST),
WAIT(20),
FANFARE_PLAY2(468),
ROTATE(4, 2, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_EAST),
WAIT(50),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" You were passed out here.\nI'm glad you woke up!")),
@ -184,12 +184,12 @@ static const struct ScriptCommand s_gs178_g1_s0_lives0_dlg0[] = { /* 0x822c5e4 -
ALERT_CUE(6),
AWAIT_CUE(5),
WAIT(30),
ROTATE(6, 10, DIRECTION_SOUTH),
ROTATE_TO(6, DIR_TRANS_10, DIRECTION_SOUTH),
WAIT(15),
FANFARE_PLAY2(470),
CALL_SCRIPT(SWEAT_FUNC),
WAIT(45),
ROTATE(6, 10, DIRECTION_EAST),
ROTATE_TO(6, DIR_TRANS_10, DIRECTION_EAST),
BGM_FADEOUT(60),
WAIT(60),
MSG_NPC(-1, _(" Somebody!\nPlease! Help me!")),
@ -197,7 +197,7 @@ static const struct ScriptCommand s_gs178_g1_s0_lives0_dlg0[] = { /* 0x822c5e4 -
ALERT_CUE(6),
FANFARE_PLAY2(466),
CALL_SCRIPT(NOTICE_FUNC),
ROTATE(4, 1, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_WEST),
WAIT(30),
PORTRAIT_REP(0x0001, 0x00000000),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
@ -206,7 +206,7 @@ static const struct ScriptCommand s_gs178_g1_s0_lives0_dlg0[] = { /* 0x822c5e4 -
TEXTBOX_CLEAR,
SELECT_LIVES(-1, 1),
AWAIT_CUE(5),
ROTATE(10, 1, DIRECTION_NORTH),
ROTATE_TO(10, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
AWAIT_CUE(5),
WAIT(20),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
@ -242,7 +242,7 @@ static const struct ScriptCommand s_gs178_g1_s0_lives0_dlg0[] = { /* 0x822c5e4 -
ALERT_CUE(7),
WAIT(60),
ALERT_CUE(6),
ROTATE(4, 1, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_EAST),
AWAIT_CUE(5),
PORTRAIT_REP(0x0001, 0x00000000),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
@ -304,18 +304,18 @@ static const struct ScriptCommand s_gs178_g1_s0_lives1_dlg0[] = { /* 0x822d950 -
AWAIT_CUE(6),
FANFARE_PLAY2(466),
CALL_SCRIPT(NOTICE_FUNC),
ROTATE(4, 1, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_WEST),
{ 0xe2, 0x00, 0x01d2, 0x00000000, 0x00000000, NULL },
WAIT(30),
AWAIT_CUE(6),
ROTATE(10, 1, DIRECTION_NORTH),
ROTATE_TO(10, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
AWAIT_CUE(6),
FANFARE_PLAY2(463),
CALL_SCRIPT(SHOCK_FUNC),
{ 0xe2, 0x00, 0x01cf, 0x00000000, 0x00000000, NULL },
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 2, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_WEST),
ALERT_CUE(5),
AWAIT_CUE(6),
WALK_GRID(384, 11),
@ -340,7 +340,7 @@ static const struct ScriptCommand s_gs178_g1_s1_lives0_dlg0[] = { /* 0x822dc90 -
ALERT_CUE(6),
WALK_GRID(256, 6),
WALK_GRID(256, 7),
ROTATE(6, 1, DIRECTION_SOUTH),
ROTATE_TO(6, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
FANFARE_STOP2(450),
{ 0xe5, 0x00, 0x0005, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(7),
@ -390,20 +390,20 @@ static const struct ScriptCommand s_gs178_g2_s0_lives0_dlg0[] = { /* 0x822df60 -
CALL_SCRIPT(WAKEUP_FUNC),
AWAIT_CUE(5),
ALERT_CUE(6),
ROTATE(8, 2, DIRECTION_EAST),
ROTATE_TO(8, DIR_TRANS_SPINLEFT1, DIRECTION_EAST),
FANFARE_PLAY2(468),
WAIT(1),
ROTATE(8, 1, DIRECTION_WEST),
ROTATE_TO(8, DIR_TRANS_SPINRIGHT1, DIRECTION_WEST),
FANFARE_PLAY2(468),
WAIT(1),
ROTATE(8, 2, DIRECTION_EAST),
ROTATE_TO(8, DIR_TRANS_SPINLEFT1, DIRECTION_EAST),
FANFARE_PLAY2(468),
WAIT(50),
FANFARE_STOP2(468),
MSG_NPC(2, _(" Oh, my goodness!\nI'm so glad you came to!")),
TEXTBOX_CLEAR,
ALERT_CUE(6),
ROTATE(8, 2, DIRECTION_NORTH),
ROTATE_TO(8, DIR_TRANS_SPINLEFT1, DIRECTION_NORTH),
AWAIT_CUE(5),
ALERT_CUE(6),
AWAIT_CUE(5),
@ -420,7 +420,7 @@ static const struct ScriptCommand s_gs178_g2_s0_lives0_dlg0[] = { /* 0x822df60 -
VARIANT_DEFAULT(_(" ...We somehow ended up\nback here...")),
TEXTBOX_CLEAR,
ALERT_CUE(6),
ROTATE(8, 1, DIRECTION_EAST),
ROTATE_TO(8, DIR_TRANS_SPINRIGHT1, DIRECTION_EAST),
AWAIT_CUE(5),
PORTRAIT_REP(0x0001, 0x00000000),
MSG_NPC(1, _(" I guess if we're defeated\nin there, we don't get to advance.")),
@ -432,14 +432,14 @@ static const struct ScriptCommand s_gs178_g2_s0_lives0_dlg0[] = { /* 0x822df60 -
TEXTBOX_CLEAR,
ALERT_CUE(7),
ALERT_CUE(6),
ROTATE(4, 2, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTH),
WAIT(30),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" That's right!\nWe have to help that kid, and now!")),
VARIANT_DEFAULT(_(" That's right!\nWe've got to hurry!")),
ALERT_CUE(6),
AWAIT_CUE(5),
ROTATE(4, 10, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_EAST),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" Let's roll, {NAME_0}!")),
VARIANT_DEFAULT(_(" {NAME_0}! Let's go!")),
@ -462,18 +462,18 @@ static const struct ScriptCommand s_gs178_g2_s0_lives1_dlg0[] = { /* 0x822e5fc -
CALL_SCRIPT(WAKEUP_FUNC),
{ 0xe5, 0x00, 0x0005, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(6),
ROTATE(8, 1, DIRECTION_WEST),
ROTATE_TO(8, DIR_TRANS_SPINRIGHT1, DIRECTION_WEST),
FANFARE_PLAY2(468),
WAIT(1),
ROTATE(8, 2, DIRECTION_EAST),
ROTATE_TO(8, DIR_TRANS_SPINLEFT1, DIRECTION_EAST),
FANFARE_PLAY2(468),
WAIT(1),
ROTATE(8, 1, DIRECTION_WEST),
ROTATE_TO(8, DIR_TRANS_SPINRIGHT1, DIRECTION_WEST),
FANFARE_PLAY2(468),
WAIT(50),
FANFARE_STOP2(468),
AWAIT_CUE(6),
ROTATE(8, 1, DIRECTION_NORTH),
ROTATE_TO(8, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
WAIT(60),
ALERT_CUE(5),
AWAIT_CUE(6),
@ -483,14 +483,14 @@ static const struct ScriptCommand s_gs178_g2_s0_lives1_dlg0[] = { /* 0x822e5fc -
WAIT(5),
{ 0xe2, 0x00, 0x01d5, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(6),
ROTATE(8, 2, DIRECTION_WEST),
ROTATE_TO(8, DIR_TRANS_SPINLEFT1, DIRECTION_WEST),
WAIT(20),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 1, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
CALL_SCRIPT(NOTICE_FUNC),
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_WEST),
ALERT_CUE(5),
AWAIT_CUE(6),
WALK_GRID(384, 11),
@ -612,7 +612,7 @@ static const struct ScriptCommand s_gs178_g3_s0_lives0_dlg0[] = { /* 0x822ea18 -
ALERT_CUE(8),
WAIT(30),
ALERT_CUE(6),
ROTATE(10, 1, DIRECTION_EAST),
ROTATE_TO(10, DIR_TRANS_SPINRIGHT1, DIRECTION_EAST),
AWAIT_CUE(5),
ALERT_CUE(6),
AWAIT_CUE(5),
@ -620,7 +620,7 @@ static const struct ScriptCommand s_gs178_g3_s0_lives0_dlg0[] = { /* 0x822ea18 -
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" Hey, thanks for helping me\nout.")),
VARIANT_DEFAULT(_(" Thank you for helping!")),
ROTATE(8, 1, DIRECTION_EAST),
ROTATE_TO(8, DIR_TRANS_SPINRIGHT1, DIRECTION_EAST),
WAIT(10),
PORTRAIT_REP(0x0001, 0x00000000),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
@ -641,7 +641,7 @@ static const struct ScriptCommand s_gs178_g3_s0_lives0_dlg0[] = { /* 0x822ea18 -
TEXTBOX_CLEAR,
ALERT_CUE(6),
AWAIT_CUE(5),
ROTATE(8, 10, DIRECTION_EAST),
ROTATE_TO(8, DIR_TRANS_10, DIRECTION_EAST),
WAIT(10),
ALERT_CUE(3),
WALK_GRID(256, 16),
@ -664,26 +664,26 @@ static const struct ScriptCommand s_gs178_g3_s0_lives1_dlg0[] = { /* 0x822f68c -
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(6),
ROTATE(4, 2, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_WEST),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 1, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
ALERT_CUE(5),
AWAIT_CUE(6),
CALL_SCRIPT(SWEAT_FUNC),
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(6),
ROTATE(10, 1, DIRECTION_EAST),
ROTATE_TO(10, DIR_TRANS_SPINRIGHT1, DIRECTION_EAST),
AWAIT_CUE(6),
ROTATE(4, 2, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_WEST),
WAIT(10),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 1, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_EAST),
ALERT_CUE(5),
WAIT(1),
WALK_GRID(256, 17),
@ -701,7 +701,7 @@ static const struct ScriptCommand s_gs178_g3_s0_lives2_dlg0[] = { /* 0x822f84c -
{ 0x62, 0x00, 0x0080, 0x00000000, -0x00000008, NULL },
ALERT_CUE(5),
AWAIT_CUE(7),
{ 0x95, 0x08, 0x000a, 0x0000000e, 0x00000000, NULL },
CMD_UNK_95(8, DIR_TRANS_10, 14),
FANFARE_PLAY2(450),
WALK_GRID(256, 14),
FANFARE_STOP2(450),
@ -719,7 +719,7 @@ static const struct ScriptCommand s_gs178_g3_s0_lives3_dlg0[] = { /* 0x822f94c -
WAIT(20),
ALERT_CUE(5),
AWAIT_CUE(8),
{ 0x95, 0x08, 0x000a, 0x0000000f, 0x00000000, NULL },
CMD_UNK_95(8, DIR_TRANS_10, 15),
WALK_GRID(256, 15),
END_DELETE,
};

View File

@ -96,7 +96,7 @@ static const struct ScriptCommand s_gs179_g1_s0_lives2_dlg0[] = { /* 0x8230108 -
{ 0xe2, 0x00, 0x01c9, 0x00000000, 0x00000000, NULL },
ALERT_CUE(5),
AWAIT_CUE(7),
ROTATE(4, 1, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
ALERT_CUE(5),
AWAIT_CUE(7),
CALL_SCRIPT(JUMP_HAPPY_FUNC),

View File

@ -63,13 +63,13 @@ static const struct ScriptCommand s_gs180_g1_s0_lives0_dlg0[] = { /* 0x823047c *
MSG_NPC(2, _(" MY FRIENDS SHOULD BE\nON B{VALUE_0}F. PLEASE HELP THEM!\nBZBZBZZZT!")),
TEXTBOX_CLEAR,
ALERT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000022, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 34),
WAIT(30),
{ 0x54, 0x00, 0x002f, 0x00000000, 0x00000000, NULL },
STOP_ANIMATION_ON_CURRENT_FRAME,
SELECT_ANIMATION(2),
WAIT(15),
ROTATE(8, 10, DIRECTION_NORTH),
ROTATE_TO(8, DIR_TRANS_10, DIRECTION_NORTH),
WAIT(15),
ALERT_CUE(7),
ALERT_CUE(8),
@ -92,13 +92,13 @@ static const struct ScriptCommand s_gs180_g1_s0_lives1_dlg0[] = { /* 0x8230758 *
AWAIT_CUE(6),
WALK_RELATIVE(256, 0, -100),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 0),
WAIT(30),
{ 0x54, 0x00, 0x002f, 0x00000000, 0x00000000, NULL },
STOP_ANIMATION_ON_CURRENT_FRAME,
SELECT_ANIMATION(2),
WAIT(15),
ROTATE(8, 10, DIRECTION_NORTH),
ROTATE_TO(8, DIR_TRANS_10, DIRECTION_NORTH),
WAIT(15),
AWAIT_CUE(6),
{ 0x53, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
@ -113,11 +113,11 @@ static const struct ScriptCommand s_gs180_g1_s0_lives2_dlg0[] = { /* 0x82308a8 *
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0002, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(7),
ROTATE(4, 1, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
ALERT_CUE(5),
AWAIT_CUE(7),
{ 0x62, 0x00, 0x0080, -0x00000010, 0x00000000, NULL },
{ 0x93, 0x04, 0x000a, 0x00000041, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 65),
HALT,
};
@ -126,10 +126,10 @@ static const struct ScriptCommand s_gs180_g1_s0_lives3_dlg0[] = { /* 0x8230948 *
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0003, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(8),
ROTATE(4, 2, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTH),
AWAIT_CUE(8),
{ 0x62, 0x00, 0x0080, 0x00000010, 0x00000000, NULL },
{ 0x93, 0x04, 0x000a, 0x00000040, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 64),
HALT,
};
@ -176,7 +176,7 @@ static const struct ScriptCommand s_gs180_g2_s0_lives0_dlg0[] = { /* 0x8230ae4 *
MSG_NPC(1, _(" The {NAME_2} are in\nthere somewhere.")),
ALERT_CUE(6),
AWAIT_CUE(5),
{ 0x93, 0x04, 0x000a, 0x00000022, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 34),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" Let's give it our best\nand rescue them {NAME_0}!")),
VARIANT_DEFAULT(_(" Let's do our best to rescue\nthem, {NAME_0}!")),
@ -202,7 +202,7 @@ static const struct ScriptCommand s_gs180_g2_s0_lives1_dlg0[] = { /* 0x8230d64 *
WALK_RELATIVE(256, 0, -100),
ALERT_CUE(5),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 0),
ALERT_CUE(5),
AWAIT_CUE(6),
{ 0x53, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
@ -217,10 +217,10 @@ static const struct ScriptCommand s_gs180_g2_s0_lives2_dlg0[] = { /* 0x8230e64 *
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0002, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(7),
ROTATE(4, 1, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
ALERT_CUE(5),
AWAIT_CUE(7),
ROTATE(20, 2, DIRECTION_NORTHEAST),
ROTATE_TO(20, DIR_TRANS_SPINLEFT1, DIRECTION_NORTHEAST),
HALT,
};
@ -229,9 +229,9 @@ static const struct ScriptCommand s_gs180_g2_s0_lives3_dlg0[] = { /* 0x8230ef4 *
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0003, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(8),
ROTATE(4, 2, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTH),
AWAIT_CUE(8),
ROTATE(20, 1, DIRECTION_NORTHWEST),
ROTATE_TO(20, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTHWEST),
HALT,
};
@ -308,7 +308,7 @@ static const struct ScriptCommand s_gs180_g3_s0_lives0_dlg0[] = { /* 0x8231020 *
ALERT_CUE(10),
WAIT(30),
ALERT_CUE(6),
ROTATE(8, 2, DIRECTION_SOUTH),
ROTATE_TO(8, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTH),
WAIT(90),
ALERT_CUE(3),
HALT,
@ -322,11 +322,11 @@ static const struct ScriptCommand s_gs180_g3_s0_lives1_dlg0[] = { /* 0x8231478 *
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(6),
ROTATE(8, 1, DIRECTION_SOUTH),
ROTATE_TO(8, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
HALT,
};
@ -336,9 +336,9 @@ static const struct ScriptCommand s_gs180_g3_s0_lives2_dlg0[] = { /* 0x8231518 *
{ 0x2d, 0x07, 0x0002, 0x00000000, 0x00000000, NULL },
{ 0x53, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
AWAIT_CUE(7),
ROTATE(4, 10, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_WEST),
AWAIT_CUE(7),
ROTATE(4, 10, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTH),
ALERT_CUE(5),
AWAIT_CUE(7),
WALK_GRID(256, 3),
@ -352,7 +352,7 @@ static const struct ScriptCommand s_gs180_g3_s0_lives3_dlg0[] = { /* 0x82315e8 *
{ 0x2d, 0x07, 0x0003, 0x00000000, 0x00000000, NULL },
{ 0x53, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
AWAIT_CUE(8),
ROTATE(4, 10, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_WEST),
AWAIT_CUE(8),
CALL_SCRIPT(SMILE_START_FUNC),
ALERT_CUE(5),
@ -360,7 +360,7 @@ static const struct ScriptCommand s_gs180_g3_s0_lives3_dlg0[] = { /* 0x82315e8 *
CALL_SCRIPT(SMILE_END_FUNC),
ALERT_CUE(5),
AWAIT_CUE(8),
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
ALERT_CUE(5),
AWAIT_CUE(8),
WALK_GRID(256, 3),
@ -375,24 +375,24 @@ static const struct ScriptCommand s_gs180_g3_s0_lives4_dlg0[] = { /* 0x8231718 *
{ 0x53, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
AWAIT_CUE(9),
CALL_SCRIPT(SMILE_START_FUNC),
ROTATE(4, 1, DIRECTION_NORTH),
ROTATE(4, 1, DIRECTION_SOUTH),
ROTATE(4, 1, DIRECTION_NORTH),
ROTATE(4, 1, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
ALERT_CUE(5),
AWAIT_CUE(9),
CALL_SCRIPT(SMILE_END_FUNC),
ALERT_CUE(5),
AWAIT_CUE(9),
CALL_SCRIPT(SMILE_START_FUNC),
ROTATE(4, 1, DIRECTION_NORTH),
ROTATE(4, 1, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
ALERT_CUE(5),
AWAIT_CUE(9),
CALL_SCRIPT(SMILE_END_FUNC),
ALERT_CUE(5),
AWAIT_CUE(9),
ROTATE(4, 10, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTH),
AWAIT_CUE(9),
WALK_GRID(256, 2),
{ 0x52, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
@ -406,14 +406,14 @@ static const struct ScriptCommand s_gs180_g3_s0_lives5_dlg0[] = { /* 0x82318d8 *
{ 0x53, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
AWAIT_CUE(10),
CALL_SCRIPT(SMILE_START_FUNC),
ROTATE(4, 1, DIRECTION_NORTH),
ROTATE(4, 1, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
ALERT_CUE(5),
AWAIT_CUE(10),
CALL_SCRIPT(SMILE_END_FUNC),
ALERT_CUE(5),
AWAIT_CUE(10),
ROTATE(4, 10, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHEAST),
AWAIT_CUE(10),
WALK_GRID(256, 2),
{ 0x52, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },

View File

@ -50,7 +50,7 @@ static const struct ScriptCommand s_gs181_g1_s0_lives0_dlg0[] = { /* 0x8231d84 *
ALERT_CUE(3),
WAIT(1),
WALK_GRID(204, 1),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
HALT,
};
@ -63,7 +63,7 @@ static const struct ScriptCommand s_gs181_g1_s0_lives1_dlg0[] = { /* 0x8231f0c *
WALK_GRID(256, 2),
AWAIT_CUE(6),
WALK_GRID(204, 3),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
HALT,
};

View File

@ -54,7 +54,7 @@ static const struct ScriptCommand s_gs182_g1_s0_lives0_dlg0[] = { /* 0x8232228 *
SELECT_ENTITIES(-1, 1),
WAIT(15),
ALERT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
CALL_SCRIPT(SHOCK_FUNC),
WAIT(60),
{ 0x2d, 0x0a, 0x0000, 0x00000002, 0x00000000, NULL },
@ -70,7 +70,7 @@ static const struct ScriptCommand s_gs182_g1_s0_lives0_dlg0[] = { /* 0x8232228 *
AWAIT_CUE(5),
WAIT(30),
ALERT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000022, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 34),
WAIT(30),
PORTRAIT_REP(0x0001, 0x00000004),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
@ -78,7 +78,7 @@ static const struct ScriptCommand s_gs182_g1_s0_lives0_dlg0[] = { /* 0x8232228 *
VARIANT_DEFAULT(_(" ......{WAIT_PRESS}\nUh... Let's go.")),
TEXTBOX_CLEAR,
ALERT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
WAIT(45),
{ 0x23, 0x00, 0x0050, 0x00000000, 0x00000000, NULL },
ALERT_CUE(6),
@ -101,14 +101,14 @@ static const struct ScriptCommand s_gs182_g1_s0_lives1_dlg0[] = { /* 0x82326cc *
WALK_RELATIVE(256, 0, -100),
AWAIT_CUE(6),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
AWAIT_CUE(6),
CALL_SCRIPT(SWEAT_FUNC),
ALERT_CUE(5),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 0),
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(6),
WAIT(15),
{ 0x53, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
@ -158,7 +158,7 @@ static const struct ScriptCommand s_gs182_g2_s0_lives0_dlg0[] = { /* 0x8232988 *
WALK_RELATIVE(256, 0, -100),
WAIT(15),
ALERT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000022, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 34),
AWAIT_CUE(5),
PORTRAIT(PLACEMENT_RIGHT, 0x0001, 0x00000000),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
@ -173,7 +173,7 @@ static const struct ScriptCommand s_gs182_g2_s0_lives0_dlg0[] = { /* 0x8232988 *
SELECT_ENTITIES(-1, 1),
WAIT(15),
ALERT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
CALL_SCRIPT(SHOCK_FUNC),
WAIT(60),
{ 0x2d, 0x0a, 0x0000, 0x00000002, 0x00000000, NULL },
@ -189,7 +189,7 @@ static const struct ScriptCommand s_gs182_g2_s0_lives0_dlg0[] = { /* 0x8232988 *
AWAIT_CUE(5),
WAIT(30),
ALERT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000022, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 34),
WAIT(30),
PORTRAIT_REP(0x0001, 0x00000004),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
@ -197,7 +197,7 @@ static const struct ScriptCommand s_gs182_g2_s0_lives0_dlg0[] = { /* 0x8232988 *
VARIANT_DEFAULT(_(" ......{WAIT_PRESS}\nUh... Let's go.")),
TEXTBOX_CLEAR,
ALERT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
WAIT(45),
{ 0x23, 0x00, 0x0050, 0x00000000, 0x00000000, NULL },
ALERT_CUE(6),
@ -219,18 +219,18 @@ static const struct ScriptCommand s_gs182_g2_s0_lives1_dlg0[] = { /* 0x8232e30 *
AWAIT_CUE(6),
WALK_RELATIVE(256, 0, -100),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 0),
ALERT_CUE(5),
AWAIT_CUE(6),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
AWAIT_CUE(6),
CALL_SCRIPT(SWEAT_FUNC),
ALERT_CUE(5),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 0),
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(6),
WAIT(15),
{ 0x53, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },

View File

@ -153,10 +153,10 @@ static const struct ScriptCommand s_gs183_g1_s0_lives1_dlg0[] = { /* 0x8233bec *
ALERT_CUE(5),
AWAIT_CUE(6),
SELECT_ANIMATION(2),
{ 0x93, 0x04, 0x000a, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 0),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
CALL_SCRIPT(NOTICE_FUNC),
AWAIT_CUE(6),
HALT,
@ -202,16 +202,16 @@ static const struct ScriptCommand s_gs183_g1_s1_lives0_dlg0[] = { /* 0x8233eec *
{ 0x70, 0x00, 0x0200, 0x00000000, 0x00000000, NULL },
ALERT_CUE(5),
AWAIT_CUE(8),
{ 0x93, 0x04, 0x000a, 0x00000022, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 34),
ALERT_CUE(5),
AWAIT_CUE(8),
WALK_GRID(128, 4),
{ 0x93, 0x04, 0x000a, 0x00000044, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 68),
ALERT_CUE(5),
AWAIT_CUE(8),
{ 0x52, 0x00, 0x0000, 0x01000000, 0x00000000, NULL },
WALK_RELATIVE(76, 0, -16),
{ 0x93, 0x04, 0x000a, 0x00000044, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 68),
{ 0x52, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
HALT,
};
@ -226,14 +226,14 @@ static const struct ScriptCommand s_gs183_g1_s1_lives1_dlg0[] = { /* 0x823405c *
{ 0x2d, 0x07, 0x0004, 0x00000000, 0x00000000, NULL },
{ 0x70, 0x00, 0x0200, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(8),
{ 0x93, 0x04, 0x000a, 0x00000022, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 34),
AWAIT_CUE(8),
WALK_GRID(128, 3),
{ 0x93, 0x04, 0x000a, 0x00000044, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 68),
AWAIT_CUE(8),
{ 0x52, 0x00, 0x0000, 0x01000000, 0x00000000, NULL },
WALK_RELATIVE(76, 0, -16),
{ 0x93, 0x04, 0x000a, 0x00000044, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 68),
{ 0x52, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
HALT,
};

View File

@ -39,7 +39,7 @@ static const struct ScriptCommand s_gs184_g1_s0_lives0_dlg0[] = { /* 0x82343f8 *
{ 0xdf, 0x00, 0x0000, 0x00000000, 0x00000000, NULL },
WAIT(30),
ALERT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000022, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 34),
WAIT(20),
PORTRAIT(PLACEMENT_RIGHT, 0x0001, 0x00000000),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
@ -67,7 +67,7 @@ static const struct ScriptCommand s_gs184_g1_s0_lives1_dlg0[] = { /* 0x8234714 *
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 0),
AWAIT_CUE(6),
{ 0x53, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
WALK_GRID(384, 1),

View File

@ -51,12 +51,12 @@ static const struct ScriptCommand s_gs185_g1_s0_lives0_dlg0[] = { /* 0x8234d94 *
WAIT(10),
ALERT_CUE(6),
ALERT_CUE(11),
ROTATE(10, 2, DIRECTION_WEST),
ROTATE_TO(10, DIR_TRANS_SPINLEFT1, DIRECTION_WEST),
AWAIT_CUE(5),
WAIT(60),
ALERT_CUE(6),
ALERT_CUE(11),
ROTATE(4, 1, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_EAST),
WAIT(30),
PORTRAIT(PLACEMENT_RIGHT, 0x0001, 0x00000009),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
@ -72,7 +72,7 @@ static const struct ScriptCommand s_gs185_g1_s0_lives0_dlg0[] = { /* 0x8234d94 *
ALERT_CUE(11),
FANFARE_PLAY2(465),
CALL_SCRIPT(NOTICE_FUNC),
{ 0x93, 0x04, 0x0002, 0x0000005e, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_SPINLEFT1, 94),
{ 0xe2, 0x00, 0x01d1, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(5),
PORTRAIT(PLACEMENT_MIDDLE_LEFT, 0x0002, 0x00000000),
@ -81,7 +81,7 @@ static const struct ScriptCommand s_gs185_g1_s0_lives0_dlg0[] = { /* 0x8234d94 *
TEXTBOX_CLEAR,
WAIT(16),
ALERT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
PORTRAIT(PLACEMENT_RIGHT, 0x0001, 0x00000000),
MSG_NPC(1, _(" You must be {NAME_2}.")),
MSG_NPC(1, _(" Let's get you home.\nCaterpie was worried about you.")),
@ -109,14 +109,14 @@ static const struct ScriptCommand s_gs185_g1_s0_lives1_dlg0[] = { /* 0x823531c *
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(6),
ROTATE(10, 2, DIRECTION_WEST),
ROTATE_TO(10, DIR_TRANS_SPINLEFT1, DIRECTION_WEST),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x0002, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_SPINLEFT1, 0),
AWAIT_CUE(6),
CALL_SCRIPT(NOTICE_FUNC),
{ 0x93, 0x04, 0x0001, 0x0000005e, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_SPINRIGHT1, 94),
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
HALT,
};
@ -182,11 +182,11 @@ static const struct ScriptCommand s_gs185_g1_s0_lives6_dlg0[] = { /* 0x82356cc *
DEBUGINFO_O(182),
SELECT_ANIMATION(2),
AWAIT_CUE(11),
ROTATE(10, 10, DIRECTION_WEST),
ROTATE_TO(10, DIR_TRANS_10, DIRECTION_WEST),
AWAIT_CUE(11),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(11),
{ 0x93, 0x04, 0x000a, 0x0000005e, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 94),
AWAIT_CUE(11),
HALT,
};
@ -195,11 +195,11 @@ static const struct ScriptCommand s_gs185_g1_s0_lives7_dlg0[] = { /* 0x823576c *
DEBUGINFO_O(195),
SELECT_ANIMATION(2),
AWAIT_CUE(11),
ROTATE(8, 10, DIRECTION_WEST),
ROTATE_TO(8, DIR_TRANS_10, DIRECTION_WEST),
AWAIT_CUE(11),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(11),
{ 0x93, 0x04, 0x000a, 0x0000005e, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 94),
AWAIT_CUE(11),
HALT,
};

View File

@ -61,7 +61,7 @@ static const struct ScriptCommand s_gs186_g1_s0_lives0_dlg0[] = { /* 0x8235ba8 *
WAIT(15),
ALERT_CUE(6),
AWAIT_CUE(5),
ROTATE(4, 11, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_NORTH),
PORTRAIT(PLACEMENT_LEFT_, 0x0001, 0x00000000),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" So your friend {NAME_2}\nis somewhere deep in this canyon?")),
@ -89,7 +89,7 @@ static const struct ScriptCommand s_gs186_g1_s0_lives0_dlg0[] = { /* 0x8235ba8 *
AWAIT_CUE(5),
MSG_NPC(2, _(" ...Wait!")),
TEXTBOX_CLEAR,
ROTATE(4, 11, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_NORTHEAST),
FANFARE_PLAY2(463),
ALERT_CUE(6),
AWAIT_CUE(5),
@ -124,7 +124,7 @@ static const struct ScriptCommand s_gs186_g1_s0_lives0_dlg0[] = { /* 0x8235ba8 *
TEXTBOX_CLEAR,
ALERT_CUE(7),
AWAIT_CUE(5),
ROTATE(4, 2, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTHWEST),
PORTRAIT_REP(0x0002, 0x00000041),
MSG_NPC(2, _(" Oh!{WAIT_PRESS}\nWhat's wrong?!")),
TEXTBOX_CLEAR,
@ -219,7 +219,7 @@ static const struct ScriptCommand s_gs186_g1_s0_lives0_dlg0[] = { /* 0x8235ba8 *
TEXTBOX_CLEAR,
ALERT_CUE(6),
AWAIT_CUE(5),
ROTATE(4, 11, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_NORTHEAST),
PORTRAIT_REP(0x0001, 0x00000004),
MSG_NPC(1, _(" Huh?")),
TEXTBOX_CLEAR,
@ -231,7 +231,7 @@ static const struct ScriptCommand s_gs186_g1_s0_lives0_dlg0[] = { /* 0x8235ba8 *
VARIANT_DEFAULT(_(" Uh, yes...")),
VARIANT_DEFAULT(_(" Owowow...{WAIT_PRESS}\nI guess the cramping settled down...")),
TEXTBOX_CLEAR,
ROTATE(4, 11, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_NORTHWEST),
ALERT_CUE(6),
FANFARE_PLAY2(470),
CALL_SCRIPT(SWEAT_FUNC),
@ -242,7 +242,7 @@ static const struct ScriptCommand s_gs186_g1_s0_lives0_dlg0[] = { /* 0x8235ba8 *
LABEL(16), /* = 0x10 */
ALERT_CUE(6),
WAIT(20),
ROTATE(4, 1, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTHEAST),
WAIT(15),
PORTRAIT_REP(0x0001, 0x00000000),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
@ -275,7 +275,7 @@ static const struct ScriptCommand s_gs186_g1_s0_lives0_dlg0[] = { /* 0x8235ba8 *
VARIANT_DEFAULT(_(" OK! Gotcha!")),
ALERT_CUE(6),
AWAIT_CUE(5),
ROTATE(4, 11, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_NORTHWEST),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" Let's roll, {NAME_0}!")),
VARIANT_DEFAULT(_(" Let's get going,\n{NAME_0}!")),
@ -313,23 +313,23 @@ static const struct ScriptCommand s_gs186_g1_s0_lives1_dlg0[] = { /* 0x8237410 *
WAIT(30),
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
WAIT(16),
ROTATE(8, 1, DIRECTION_NORTHWEST),
ROTATE_TO(8, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTHWEST),
WAIT(12),
ROTATE(8, 2, DIRECTION_SOUTHWEST),
ROTATE_TO(8, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTHWEST),
WAIT(12),
ROTATE(8, 1, DIRECTION_NORTHWEST),
ROTATE_TO(8, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTHWEST),
WAIT(12),
AWAIT_CUE(6),
ROTATE(4, 11, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_NORTHEAST),
WAIT(8),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 11, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_SOUTHEAST),
ALERT_CUE(5),
AWAIT_CUE(6),
{ 0x89, 0x0a, 0x0100, 0x00000003, 0x00000000, NULL },
AWAIT_CUE(6),
ROTATE(4, 11, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_NORTHEAST),
CALL_SCRIPT(QUESTION_FUNC),
ALERT_CUE(5),
AWAIT_CUE(6),
@ -342,15 +342,15 @@ static const struct ScriptCommand s_gs186_g1_s0_lives1_dlg0[] = { /* 0x8237410 *
ALERT_CUE(5),
AWAIT_CUE(6),
SELECT_ANIMATION(2),
ROTATE(4, 11, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_SOUTHEAST),
AWAIT_CUE(6),
JUMPIF(JUDGE_EQ, EVENT_LOCAL, 1, /* to label */ 0),
ROTATE(4, 11, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_NORTHEAST),
ALERT_CUE(5),
AWAIT_CUE(6),
CALL_SCRIPT(SWEAT_FUNC),
WAIT(30),
ROTATE(4, 11, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_SOUTHEAST),
ALERT_CUE(5),
AWAIT_CUE(6),
CALL_SCRIPT(SMILE_START_FUNC),
@ -369,22 +369,22 @@ static const struct ScriptCommand s_gs186_g1_s0_lives1_dlg0[] = { /* 0x8237410 *
CALL_SCRIPT(ANGRY_END_FUNC),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 11, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_NORTHEAST),
ALERT_CUE(5),
AWAIT_CUE(6),
FANFARE_PLAY2(470),
CALL_SCRIPT(SWEAT_FUNC),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 11, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_SOUTHEAST),
CALL_SCRIPT(SMILE_START_FUNC),
WAIT(60),
CALL_SCRIPT(SMILE_END_FUNC),
AWAIT_CUE(6),
LABEL(1), /* = 0x01 */
ROTATE(4, 11, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_NORTHEAST),
AWAIT_CUE(6),
ROTATE(4, 11, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_SOUTHEAST),
ALERT_CUE(5),
AWAIT_CUE(6),
WALK_GRID(128, 1),
@ -407,11 +407,11 @@ static const struct ScriptCommand s_gs186_g1_s0_lives2_dlg0[] = { /* 0x8237920 *
ALERT_CUE(5),
AWAIT_CUE(7),
JUMPIF(JUDGE_EQ, EVENT_LOCAL, 1, /* to label */ 0),
ROTATE(4, 2, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTHWEST),
ALERT_CUE(5),
AWAIT_CUE(7),
LABEL(0), /* = 0x00 */
ROTATE(4, 1, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTHWEST),
ALERT_CUE(5),
AWAIT_CUE(7),
HALT,

View File

@ -64,7 +64,7 @@ static const struct ScriptCommand s_gs187_g1_s0_lives0_dlg0[] = { /* 0x8237d1c *
ALERT_CUE(6),
ALERT_CUE(12),
{ 0x89, 0x20, 0x0100, 0x00000004, 0x00000000, NULL },
ROTATE(4, 1, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTHEAST),
PORTRAIT_REP(0x0001, 0x00000000),
MSG_NPC(1, _(" We came for you!\nAre you all right?")),
TEXTBOX_CLEAR,
@ -83,12 +83,12 @@ static const struct ScriptCommand s_gs187_g1_s0_lives0_dlg0[] = { /* 0x8237d1c *
PORTRAIT_REP(0x0001, 0x00000000),
MSG_NPC(1, _(" Huh? {NAME_3}?")),
TEXTBOX_CLEAR,
ROTATE(4, 2, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTH),
WAIT(5),
ALERT_CUE(6),
ALERT_CUE(12),
WAIT(40),
ROTATE(2, 1, DIRECTION_EAST),
ROTATE_TO(2, DIR_TRANS_SPINRIGHT1, DIRECTION_EAST),
ALERT_CUE(6),
AWAIT_CUE(5),
PORTRAIT(PLACEMENT_RIGHT, 0x0001, 0x00000000),
@ -99,7 +99,7 @@ static const struct ScriptCommand s_gs187_g1_s0_lives0_dlg0[] = { /* 0x8237d1c *
ALERT_CUE(12),
ALERT_CUE(4),
{ 0x89, 0x3c, 0x01cc, 0x00000004, 0x00000000, NULL },
ROTATE(4, 1, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTHEAST),
WAIT(30),
PORTRAIT_REP(0x0001, 0x0000000c),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
@ -168,7 +168,7 @@ static const struct ScriptCommand s_gs187_g1_s0_lives0_dlg0[] = { /* 0x8237d1c *
WAIT(30),
MSG_NPC(1, _(" Shi-{NAME_3}'s gone!")),
TEXTBOX_CLEAR,
ROTATE(4, 2, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTH),
ALERT_CUE(6),
ALERT_CUE(12),
WAIT(15),
@ -213,21 +213,21 @@ static const struct ScriptCommand s_gs187_g1_s0_lives1_dlg0[] = { /* 0x82389a8 *
ALERT_CUE(5),
AWAIT_CUE(6),
{ 0x89, 0x20, 0x0100, 0x00000004, 0x00000000, NULL },
ROTATE(4, 2, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTHWEST),
AWAIT_CUE(6),
ROTATE(4, 1, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
AWAIT_CUE(6),
ROTATE(4, 2, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_WEST),
ALERT_CUE(5),
AWAIT_CUE(6),
{ 0x89, 0x3c, 0x01cc, 0x00000004, 0x00000000, NULL },
ROTATE(4, 2, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTHWEST),
AWAIT_CUE(6),
CALL_SCRIPT(LOOK_AROUND_FUNC),
FANFARE_PLAY2(466),
CALL_SCRIPT(NOTICE_FUNC),
AWAIT_CUE(6),
ROTATE(8, 1, DIRECTION_NORTH),
ROTATE_TO(8, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
AWAIT_CUE(6),
HALT,
};
@ -241,17 +241,17 @@ static const struct ScriptCommand s_gs187_g1_s0_lives2_dlg0[] = { /* 0x8238b68 *
AWAIT_CUE(12),
{ 0x89, 0x20, 0x0100, 0x00000004, 0x00000000, NULL },
AWAIT_CUE(12),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(12),
{ 0x89, 0x3c, 0x01cc, 0x00000004, 0x00000000, NULL },
AWAIT_CUE(12),
ROTATE(4, 10, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_WEST),
WAIT(15),
ROTATE(4, 10, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_EAST),
WAIT(15),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
AWAIT_CUE(12),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(12),
HALT,
};
@ -265,18 +265,18 @@ static const struct ScriptCommand s_gs187_g1_s0_lives3_dlg0[] = { /* 0x8238cb8 *
AWAIT_CUE(12),
{ 0x89, 0x20, 0x0100, 0x00000004, 0x00000000, NULL },
AWAIT_CUE(12),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(12),
{ 0x89, 0x3c, 0x01cc, 0x00000004, 0x00000000, NULL },
AWAIT_CUE(12),
WAIT(7),
ROTATE(4, 10, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_EAST),
WAIT(15),
ROTATE(4, 10, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_WEST),
WAIT(15),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
AWAIT_CUE(12),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(12),
HALT,
};

View File

@ -67,7 +67,7 @@ static const struct ScriptCommand s_gs188_g1_s0_lives0_dlg0[] = { /* 0x82392cc *
TEXTBOX_CLEAR,
WAIT(30),
ALERT_CUE(6),
ROTATE(4, 1, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_EAST),
PORTRAIT_REP(0x0001, 0x00000000),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" But I can't be spooked\nby this.")),
@ -96,7 +96,7 @@ static const struct ScriptCommand s_gs188_g1_s0_lives1_dlg0[] = { /* 0x8239824 *
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(6),
WALK_GRID(256, 1),
ROTATE(4, 2, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTH),
WAIT(8),
CALL_SCRIPT(LOOK_AROUND_FUNC),
ALERT_CUE(5),
@ -105,7 +105,7 @@ static const struct ScriptCommand s_gs188_g1_s0_lives1_dlg0[] = { /* 0x8239824 *
WAIT(30),
SELECT_ANIMATION(2),
AWAIT_CUE(6),
ROTATE(4, 2, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_WEST),
AWAIT_CUE(6),
{ 0x53, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
WALK_GRID(256, 2),
@ -142,7 +142,7 @@ static const struct ScriptCommand s_gs188_g2_s0_lives0_dlg0[] = { /* 0x8239a30 *
ALERT_CUE(6),
WALK_GRID(256, 0),
AWAIT_CUE(5),
ROTATE(4, 1, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_EAST),
WAIT(20),
PORTRAIT(PLACEMENT_RIGHT, 0x0001, 0x00000000),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
@ -167,7 +167,7 @@ static const struct ScriptCommand s_gs188_g2_s0_lives1_dlg0[] = { /* 0x8239c48 *
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(6),
WALK_GRID(256, 1),
ROTATE(4, 2, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_WEST),
WAIT(8),
ALERT_CUE(5),
AWAIT_CUE(6),

View File

@ -141,7 +141,7 @@ static const struct ScriptCommand s_gs190_g1_s0_lives0_dlg0[] = { /* 0x823ac18 *
ALERT_CUE(10),
{ 0x53, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
WALK_DIRECT(32, 0),
{ 0x93, 0x04, 0x000a, 0x00000055, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 85),
WAIT(16),
PORTRAIT(PLACEMENT_TOP_LEFT, 0x0004, 0x00000000),
MSG_NPC(4, _(" Are you OK?")),
@ -171,7 +171,7 @@ static const struct ScriptCommand s_gs190_g1_s0_lives0_dlg0[] = { /* 0x823ac18 *
MSG_NPC(4, _(" You're awfully strong for\na plain {POKEMON_0}.")),
TEXTBOX_CLEAR,
WAIT(32),
ROTATE(4, 2, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTHWEST),
WAIT(32),
PORTRAIT(PLACEMENT_LEFT_, 0x0003, 0x00000000),
MSG_NPC(3, _(" ......")),
@ -252,7 +252,7 @@ static const struct ScriptCommand s_gs190_g1_s0_lives0_dlg0[] = { /* 0x823ac18 *
ALERT_CUE(6),
ALERT_CUE(13),
AWAIT_CUE(5),
ROTATE(4, 11, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_NORTHEAST),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" {NAME_0}, let's roll!\nWe're going to the {COLOR CYAN}Hill of the Ancients{RESET}!")),
VARIANT(/* == */ 1, _(" There's no time to lose!\nWe'd better go back quick!")),
@ -285,7 +285,7 @@ static const struct ScriptCommand s_gs190_g1_s0_lives0_dlg0[] = { /* 0x823ac18 *
ALERT_CUE(13),
FANFARE_PLAY2(464),
CALL_SCRIPT(NOTICE_FUNC),
ROTATE(4, 11, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_SOUTHEAST),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" Don't just stand around.\nLet's go back.")),
VARIANT_DEFAULT(_(" Don't just stand there.\nLet's go home.")),
@ -357,7 +357,7 @@ static const struct ScriptCommand s_gs190_g1_s0_lives1_dlg0[] = { /* 0x823c670 *
AWAIT_CUE(6),
{ 0x53, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
WALK_DIRECT(32, 1),
{ 0x93, 0x04, 0x000a, 0x00000055, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 85),
AWAIT_CUE(6),
CALL_SCRIPT(JUMP_HAPPY_FUNC),
CALL_SCRIPT(SMILE_START_FUNC),
@ -365,7 +365,7 @@ static const struct ScriptCommand s_gs190_g1_s0_lives1_dlg0[] = { /* 0x823c670 *
CALL_SCRIPT(SMILE_END_FUNC),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 11, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_WEST),
ALERT_CUE(5),
AWAIT_CUE(6),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
@ -374,16 +374,16 @@ static const struct ScriptCommand s_gs190_g1_s0_lives1_dlg0[] = { /* 0x823c670 *
CALL_SCRIPT(NOTICE_FUNC),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 2, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTHWEST),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 1, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTHWEST),
ALERT_CUE(5),
AWAIT_CUE(6),
WALK_GRID(128, 6),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 1, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTHWEST),
ALERT_CUE(5),
AWAIT_CUE(6),
{ 0x89, 0x90, 0x0080, 0x00000000, 0x00000000, NULL },
@ -399,19 +399,19 @@ static const struct ScriptCommand s_gs190_g1_s0_lives2_dlg0[] = { /* 0x823c940 *
AWAIT_CUE(13),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
{ 0x62, 0x00, 0x0100, 0x00000000, 0x00000010, NULL },
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
AWAIT_CUE(13),
CALL_SCRIPT(NOTICE_FUNC),
AWAIT_CUE(13),
CALL_SCRIPT(NOTICE_FUNC),
AWAIT_CUE(13),
ROTATE(4, 10, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_EAST),
AWAIT_CUE(13),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
AWAIT_CUE(13),
{ 0x89, 0x60, 0x0080, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(13),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
AWAIT_CUE(13),
{ 0x89, 0x90, 0x0080, 0x00000000, 0x00000000, NULL },
END_DELETE,
@ -426,19 +426,19 @@ static const struct ScriptCommand s_gs190_g1_s0_lives3_dlg0[] = { /* 0x823cac0 *
AWAIT_CUE(13),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
{ 0x62, 0x00, 0x0100, 0x00000000, 0x00000010, NULL },
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
AWAIT_CUE(13),
CALL_SCRIPT(NOTICE_FUNC),
AWAIT_CUE(13),
CALL_SCRIPT(NOTICE_FUNC),
AWAIT_CUE(13),
ROTATE(4, 10, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_WEST),
AWAIT_CUE(13),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
AWAIT_CUE(13),
{ 0x89, 0x60, 0x0080, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(13),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
AWAIT_CUE(13),
{ 0x89, 0x90, 0x0080, 0x00000000, 0x00000000, NULL },
END_DELETE,
@ -467,10 +467,10 @@ static const struct ScriptCommand s_gs190_g1_s0_lives4_dlg0[] = { /* 0x823cc40 *
FANFARE_STOP2(491),
ALERT_CUE(5),
AWAIT_CUE(7),
ROTATE(4, 1, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTHWEST),
ALERT_CUE(5),
AWAIT_CUE(7),
ROTATE(4, 11, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_SOUTH),
SELECT_ANIMATION(5),
WAIT(32),
SELECT_ANIMATION(5),
@ -499,17 +499,17 @@ static const struct ScriptCommand s_gs190_g1_s0_lives5_dlg0[] = { /* 0x823ce70 *
AWAIT_CUE(8),
{ 0x53, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
WALK_DIRECT(32, 2),
{ 0x93, 0x04, 0x000a, 0x00000055, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 85),
AWAIT_CUE(8),
ROTATE(4, 1, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTHEAST),
ALERT_CUE(5),
AWAIT_CUE(8),
ROTATE(4, 11, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_EAST),
ALERT_CUE(5),
AWAIT_CUE(8),
ROTATE(4, 11, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_SOUTHEAST),
AWAIT_CUE(8),
ROTATE(4, 1, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
ALERT_CUE(5),
AWAIT_CUE(8),
HALT,
@ -532,22 +532,22 @@ static const struct ScriptCommand s_gs190_g1_s0_lives6_dlg0[] = { /* 0x823d050 *
AWAIT_CUE(9),
{ 0x53, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
{ 0x84, 0x00, 0x0180, 0x00000022, -0x0000001a, NULL },
ROTATE(4, 2, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTH),
ALERT_CUE(5),
AWAIT_CUE(9),
CALL_SCRIPT(SHOCK_FUNC),
ALERT_CUE(5),
AWAIT_CUE(9),
WALK_DIRECT(32, 3),
ROTATE(4, 1, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTHEAST),
AWAIT_CUE(9),
ROTATE(4, 1, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTHEAST),
ALERT_CUE(5),
AWAIT_CUE(9),
CALL_SCRIPT(SHOCK_FUNC),
ALERT_CUE(5),
AWAIT_CUE(9),
ROTATE(4, 1, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
ALERT_CUE(5),
AWAIT_CUE(9),
HALT,
@ -573,14 +573,14 @@ static const struct ScriptCommand s_gs190_g1_s0_lives7_dlg0[] = { /* 0x823d280 *
AWAIT_CUE(10),
{ 0x53, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
WALK_DIRECT(32, 4),
{ 0x93, 0x04, 0x000a, 0x00000055, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 85),
AWAIT_CUE(10),
ROTATE(4, 1, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTHEAST),
ALERT_CUE(5),
AWAIT_CUE(10),
CALL_SCRIPT(NOTICE_FUNC),
AWAIT_CUE(10),
ROTATE(4, 1, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
ALERT_CUE(5),
AWAIT_CUE(10),
HALT,
@ -604,12 +604,12 @@ static const struct ScriptCommand s_gs190_g1_s1_lives0_dlg0[] = { /* 0x823d4c0 *
AWAIT_CUE(11),
SELECT_ANIMATION(2),
CALL_SCRIPT(LOOK_AROUND_FUNC),
ROTATE(4, 2, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTH),
ALERT_CUE(5),
AWAIT_CUE(11),
CALL_SCRIPT(SHOCK_FUNC),
AWAIT_CUE(11),
ROTATE(4, 10, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHEAST),
ALERT_CUE(5),
AWAIT_CUE(11),
{ 0x53, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },

View File

@ -51,7 +51,7 @@ static const struct ScriptCommand s_gs191_g1_s0_lives0_dlg0[] = { /* 0x823d8e0 *
MSG_NPC(1, _(" The peak is called the\n{COLOR CYAN}Hill of the Ancients{RESET}.")),
ALERT_CUE(6),
WAIT(10),
ROTATE(4, 1, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTHEAST),
{ 0x2d, 0x0a, 0x0000, 0x00000009, 0x00000000, NULL },
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" {NAME_2} said that\nthe {COLOR CYAN}Hill of the Ancients{RESET} is on {VALUE_0}F.")),
@ -81,7 +81,7 @@ static const struct ScriptCommand s_gs191_g1_s0_lives1_dlg0[] = { /* 0x823dc10 *
WAIT(20),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 2, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTHWEST),
AWAIT_CUE(6),
WALK_GRID(128, 3),
HALT,
@ -110,7 +110,7 @@ static const struct ScriptCommand s_gs191_g2_s0_lives0_dlg0[] = { /* 0x823ddac *
WAIT(30),
WALK_GRID(256, 1),
WAIT(30),
ROTATE(4, 1, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_EAST),
PORTRAIT(PLACEMENT_RIGHT, 0x0001, 0x00000000),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" {NAME_0}!\nThis time we'll make it to the peak,\nall right?")),
@ -135,7 +135,7 @@ static const struct ScriptCommand s_gs191_g2_s0_lives1_dlg0[] = { /* 0x823e038 *
WAIT(30),
WALK_GRID(256, 0),
WAIT(30),
ROTATE(4, 2, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_WEST),
AWAIT_CUE(6),
WALK_GRID(204, 4),
WALK_GRID(204, 3),

View File

@ -103,7 +103,7 @@ static const struct ScriptCommand s_gs192_g1_s0_lives0_dlg0[] = { /* 0x823e36c *
MSG_NPC(2, _(" To the northwest, there lies\na large island.")),
ALERT_CUE(7),
WAIT(20),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
WAIT(30),
MSG_NPC(2, _(" An island known as the\n“Three Fields.”")),
MSG_NPC(2, _(" There is one such field.\nThe {COLOR YELLOW_D}Fiery Field{RESET}!")),
@ -111,7 +111,7 @@ static const struct ScriptCommand s_gs192_g1_s0_lives0_dlg0[] = { /* 0x823e36c *
TEXTBOX_CLEAR,
WAIT(20),
ALERT_CUE(7),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
MSG_NPC(2, _(" Go.\nYou must go to the {COLOR YELLOW_D}Fiery Field{RESET}.")),
MSG_NPC(2, _(" The answers you seek...\nPerhaps they await you there.")),
TEXTBOX_CLEAR,
@ -132,7 +132,7 @@ static const struct ScriptCommand s_gs192_g1_s0_lives1_dlg0[] = { /* 0x823ec7c *
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0002, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(7),
ROTATE(4, 1, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
AWAIT_CUE(7),
FANFARE_PLAY2(465),
CALL_SCRIPT(NOTICE_FUNC),
@ -143,14 +143,14 @@ static const struct ScriptCommand s_gs192_g1_s0_lives1_dlg0[] = { /* 0x823ec7c *
SELECT_ANIMATION(9),
AWAIT_CUE(7),
SELECT_ANIMATION(2),
ROTATE(8, 1, DIRECTION_NORTH),
ROTATE_TO(8, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
AWAIT_CUE(7),
ROTATE(4, 1, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
ALERT_CUE(5),
AWAIT_CUE(7),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
AWAIT_CUE(7),
ROTATE(4, 10, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTH),
HALT,
};
@ -191,7 +191,7 @@ static const struct ScriptCommand s_gs192_g2_s0_lives0_dlg0[] = { /* 0x823ef68 *
{ 0xdf, 0x00, 0x0000, 0x00000000, 0x00000000, NULL },
WAIT(30),
ALERT_CUE(6),
ROTATE(4, 1, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_EAST),
PORTRAIT(PLACEMENT_RIGHT, 0x0001, 0x00000000),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" Yes! We finally made it to\nthe top, {NAME_0}!")),
@ -199,7 +199,7 @@ static const struct ScriptCommand s_gs192_g2_s0_lives0_dlg0[] = { /* 0x823ef68 *
TEXTBOX_CLEAR,
ALERT_CUE(6),
WAIT(10),
ROTATE(8, 2, DIRECTION_NORTH),
ROTATE_TO(8, DIR_TRANS_SPINLEFT1, DIRECTION_NORTH),
AWAIT_CUE(5),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" So this is the {COLOR CYAN}Hill of\nthe Ancients{RESET}...")),
@ -214,7 +214,7 @@ static const struct ScriptCommand s_gs192_g2_s0_lives0_dlg0[] = { /* 0x823ef68 *
ALERT_CUE(4),
AWAIT_CUE(5),
ALERT_CUE(6),
ROTATE(4, 1, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTHEAST),
WAIT(10),
PORTRAIT_REP(0x0001, 0x00000000),
MSG_NPC(1, _(" {NAME_0}!{WAIT_PRESS}\nIs that {NAME_2} over there?")),
@ -224,7 +224,7 @@ static const struct ScriptCommand s_gs192_g2_s0_lives0_dlg0[] = { /* 0x823ef68 *
ALERT_CUE(9),
ALERT_CUE(4),
WALK_DIRECT(60, 2),
ROTATE(4, 1, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTHEAST),
WAIT(20),
MSG_NPC(1, _(" Excuse me?{WAIT_PRESS}\nAre you maybe {NAME_2}?")),
TEXTBOX_CLEAR,
@ -250,7 +250,7 @@ static const struct ScriptCommand s_gs192_g2_s0_lives0_dlg0[] = { /* 0x823ef68 *
WAIT(40),
ALERT_CUE(6),
AWAIT_CUE(5),
ROTATE(4, 2, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTH),
MSG_NPC(1, _(" Hellooooooooooooooo?!")),
TEXTBOX_CLEAR,
WAIT(10),
@ -259,9 +259,9 @@ static const struct ScriptCommand s_gs192_g2_s0_lives0_dlg0[] = { /* 0x823ef68 *
WAIT(60),
ALERT_CUE(6),
AWAIT_CUE(5),
ROTATE(4, 1, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTHEAST),
AWAIT_CUE(5),
ROTATE(4, 1, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_EAST),
MSG_NPC(1, _(" It's useless.\nHe's not responding at all.")),
MSG_NPC(1, _(" Maybe he's sleeping while\non his feet?")),
{ 0x2e, 0x15, 0x0001, -0x00000002, 0x00000000, NULL },
@ -279,7 +279,7 @@ static const struct ScriptCommand s_gs192_g2_s0_lives0_dlg0[] = { /* 0x823ef68 *
VARIANT_DEFAULT(_(" Huh? Tickle him?{WAIT_PRESS}\n...OK. It's worth a try.")),
TEXTBOX_CLEAR,
ALERT_CUE(6),
ROTATE(4, 2, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTHEAST),
ALERT_CUE(6),
AWAIT_CUE(5),
WAIT(20),
@ -326,7 +326,7 @@ static const struct ScriptCommand s_gs192_g2_s0_lives0_dlg0[] = { /* 0x823ef68 *
WAIT(30),
ALERT_CUE(6),
AWAIT_CUE(5),
ROTATE(4, 1, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_EAST),
PORTRAIT_REP(0x0001, 0x00000005),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" It's useless, {NAME_0}.\nI'm not getting any response.")),
@ -338,7 +338,7 @@ static const struct ScriptCommand s_gs192_g2_s0_lives0_dlg0[] = { /* 0x823ef68 *
TEXTBOX_CLEAR,
WAIT(30),
ALERT_CUE(6),
ROTATE(4, 2, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTHEAST),
PORTRAIT(PLACEMENT_RIGHT, 0x0001, 0x00000004),
MSG_NPC(1, _(" Huh?")),
TEXTBOX_CLEAR,
@ -414,7 +414,7 @@ static const struct ScriptCommand s_gs192_g2_s0_lives0_dlg0[] = { /* 0x823ef68 *
BGM_FADEOUT(30),
ALERT_CUE(6),
AWAIT_CUE(5),
ROTATE(5, 2, DIRECTION_NORTHEAST),
ROTATE_TO(5, DIR_TRANS_SPINLEFT1, DIRECTION_NORTHEAST),
AWAIT_CUE(5),
WAIT(30),
TEXTBOX_AUTO_PRESS(45, 60),
@ -499,7 +499,7 @@ static const struct ScriptCommand s_gs192_g2_s0_lives0_dlg0[] = { /* 0x823ef68 *
TEXTBOX_CLEAR,
WAIT(10),
ALERT_CUE(6),
ROTATE(4, 1, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_EAST),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" This is my friend\n{NAME_0}...")),
VARIANT(/* == */ 1, _(" My friend woke up one\nmorning as a Pokémon.")),
@ -509,7 +509,7 @@ static const struct ScriptCommand s_gs192_g2_s0_lives0_dlg0[] = { /* 0x823ef68 *
VARIANT_DEFAULT(_(" And, without any memory as\na human.")),
WAIT(30),
ALERT_CUE(6),
ROTATE(4, 2, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTHEAST),
AWAIT_CUE(5),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" {NAME_2}, you can tell,\ncan't you?{WAIT_PRESS}\nCan't you tell us?")),
@ -520,7 +520,7 @@ static const struct ScriptCommand s_gs192_g2_s0_lives0_dlg0[] = { /* 0x823ef68 *
MSG_NPC(2, _(" The calamities of nature.\nThere have been many in recent times.")),
MSG_NPC(2, _(" They occur because the\nworld's balance is upset.")),
ALERT_CUE(7),
ROTATE(4, 1, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTHEAST),
MSG_NPC(2, _(" And your becoming a\nPokémon...")),
MSG_NPC(2, _(" They are tied together.\nInseparably so.")),
TEXTBOX_CLEAR,
@ -604,9 +604,9 @@ static const struct ScriptCommand s_gs192_g2_s0_lives1_dlg0[] = { /* 0x8241890 *
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(6),
ROTATE(4, 2, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_WEST),
AWAIT_CUE(6),
ROTATE(4, 1, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
WALK_RELATIVE(128, 0, -16),
CALL_SCRIPT(LOOK_AROUND_FUNC),
ALERT_CUE(5),
@ -615,13 +615,13 @@ static const struct ScriptCommand s_gs192_g2_s0_lives1_dlg0[] = { /* 0x8241890 *
CALL_SCRIPT(NOTICE_FUNC),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 2, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTHWEST),
AWAIT_CUE(6),
WALK_DIRECT(60, 1),
ROTATE(4, 2, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTHWEST),
AWAIT_CUE(6),
WALK_DIRECT(40, 5),
ROTATE(4, 1, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
ALERT_CUE(5),
AWAIT_CUE(6),
FANFARE_PLAY2(469),
@ -631,11 +631,11 @@ static const struct ScriptCommand s_gs192_g2_s0_lives1_dlg0[] = { /* 0x8241890 *
WALK_DIRECT(40, 6),
WAIT(15),
FANFARE_PLAY2(468),
ROTATE(4, 2, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_WEST),
WAIT(60),
WALK_DIRECT(40, 7),
WAIT(30),
ROTATE(4, 2, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTH),
ALERT_CUE(5),
FANFARE_PLAY2(457),
CALL_SCRIPT(JUMP_ANGRY_FUNC),
@ -643,19 +643,19 @@ static const struct ScriptCommand s_gs192_g2_s0_lives1_dlg0[] = { /* 0x8241890 *
WALK_DIRECT(40, 8),
WAIT(30),
FANFARE_PLAY2(468),
ROTATE(4, 2, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_EAST),
WAIT(60),
WALK_DIRECT(40, 9),
ALERT_CUE(5),
WALK_RELATIVE(256, 32, 3),
WAIT(15),
ROTATE(4, 1, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_WEST),
ALERT_CUE(5),
AWAIT_CUE(6),
JUMPIF(JUDGE_EQ, EVENT_LOCAL, 1, /* to label */ 0),
AWAIT_CUE(6),
WALK_DIRECT(40, 6),
ROTATE(4, 2, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_WEST),
ALERT_CUE(5),
AWAIT_CUE(6),
FANFARE_PLAY2(469),
@ -700,9 +700,9 @@ static const struct ScriptCommand s_gs192_g2_s0_lives1_dlg0[] = { /* 0x8241890 *
WAIT(60),
WALK_RELATIVE(256, 0, 18),
ALERT_CUE(5),
ROTATE(4, 1, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_WEST),
AWAIT_CUE(6),
ROTATE(4, 1, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTHWEST),
AWAIT_CUE(6),
CALL_SCRIPT(SWEAT_FUNC),
ALERT_CUE(5),
@ -714,9 +714,9 @@ static const struct ScriptCommand s_gs192_g2_s0_lives1_dlg0[] = { /* 0x8241890 *
CALL_SCRIPT(SHOCK_FUNC),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(15, 1, DIRECTION_NORTHWEST),
ROTATE_TO(15, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTHWEST),
WAIT(60),
ROTATE(4, 2, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_WEST),
FANFARE_PLAY2(457),
{ 0x56, 0x00, 0x0000, 0x00000047, 0x00000000, NULL },
{ 0xde, 0x00, 0x0000, 0x00000000, 0x00000000, NULL },
@ -744,12 +744,12 @@ static const struct ScriptCommand s_gs192_g2_s0_lives1_dlg0[] = { /* 0x8241890 *
CALL_SCRIPT(NOTICE_FUNC),
AWAIT_CUE(6),
WALK_DIRECT(20, 5),
ROTATE(4, 1, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 2, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_WEST),
AWAIT_CUE(6),
ROTATE(4, 1, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
WAIT(10),
ALERT_CUE(5),
AWAIT_CUE(6),
@ -839,22 +839,22 @@ static const struct ScriptCommand s_gs192_g2_s0_lives4_dlg0[] = { /* 0x8242520 *
AWAIT_CUE(7),
SELECT_ANIMATION(2),
AWAIT_CUE(7),
ROTATE(4, 2, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTH),
ALERT_CUE(5),
AWAIT_CUE(7),
ROTATE(10, 1, DIRECTION_SOUTHWEST),
ROTATE_TO(10, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTHWEST),
AWAIT_CUE(7),
ROTATE(4, 1, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
ALERT_CUE(5),
AWAIT_CUE(7),
ROTATE(4, 2, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTHEAST),
ALERT_CUE(5),
AWAIT_CUE(7),
ROTATE(4, 1, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
AWAIT_CUE(7),
ROTATE(4, 1, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTHWEST),
AWAIT_CUE(7),
ROTATE(4, 2, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTH),
AWAIT_CUE(7),
SELECT_ANIMATION(24),
WAIT(60),
@ -873,7 +873,7 @@ static const struct ScriptCommand s_gs192_g2_s1_lives0_dlg0[] = { /* 0x8242850 *
CAMERA_END_PAN,
ALERT_CUE(5),
AWAIT_CUE(8),
ROTATE(4, 1, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
ALERT_CUE(5),
AWAIT_CUE(8),
CALL_SCRIPT(SMILE_START_FUNC),

View File

@ -167,7 +167,7 @@ static const struct ScriptCommand s_gs193_g1_s0_lives0_dlg0[] = { /* 0x824313c *
PORTRAIT_REP(0x0001, 0x00000000),
MSG_NPC(1, _(" Huh? I hear voices...")),
TEXTBOX_CLEAR,
ROTATE(4, 1, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_WEST),
WAIT(20),
MSG_NPC(-1, _(" I think they went this way.")),
MSG_NPC(-1, _(" They can't get away.\nNot from all of us.")),
@ -201,13 +201,13 @@ static const struct ScriptCommand s_gs193_g1_s0_lives1_dlg0[] = { /* 0x824389c *
AWAIT_CUE(6),
WALK_GRID(256, 1),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x000b, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_11, 0),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(2, 1, DIRECTION_NORTHWEST),
ROTATE(2, 2, DIRECTION_SOUTHWEST),
ROTATE(2, 1, DIRECTION_NORTHWEST),
ROTATE(2, 2, DIRECTION_WEST),
ROTATE_TO(2, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTHWEST),
ROTATE_TO(2, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTHWEST),
ROTATE_TO(2, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTHWEST),
ROTATE_TO(2, DIR_TRANS_SPINLEFT1, DIRECTION_WEST),
ALERT_CUE(5),
AWAIT_CUE(6),
CALL_SCRIPT(NOTICE_FUNC),
@ -277,7 +277,7 @@ static const struct ScriptCommand s_gs193_g2_s0_lives1_dlg0[] = { /* 0x8243e64 *
CALL_SCRIPT(LOOK_AROUND_FUNC),
ALERT_CUE(5),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x0001, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_SPINRIGHT1, 0),
ALERT_CUE(5),
AWAIT_CUE(6),
HALT,
@ -327,7 +327,7 @@ static const struct ScriptCommand s_gs193_g3_s1_lives0_dlg0[] = { /* 0x8244078 *
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0000, 0x00000000, 0x00000000, NULL },
WAIT(1),
{ 0x8e, 0x01, 0x0000, 0x00000022, 0x00000000, NULL },
CMD_UNK_8E(1, DIR_TRANS_NONE, 34),
ASK3_VAR(FALSE, /*default*/ -1, /* speaker */ 1, PARTNER_TALK_KIND),
VARIANT(/* == */ 1, _(" Hey, {NAME_0}.\nAre you all ready?")),
VARIANT_DEFAULT(_(" Hi, {NAME_0}.\nAre you ready?")),
@ -406,18 +406,18 @@ static const struct ScriptCommand s_gs193_g3_s1_lives1_dlg0[] = { /* 0x8244648 *
SELECT_ANIMATION(2),
{ 0x53, 0x00, 0x0000, 0x00000400, 0x00000000, NULL },
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
{ 0x8e, 0x01, 0x0000, 0x00000000, 0x00000000, NULL },
CMD_UNK_8E(1, DIR_TRANS_NONE, 0),
AWAIT_CUE(6),
CJUMP_UNK_C8(0),
COND_EQUAL(0, /* to label */ 0),
COND_EQUAL(1, /* to label */ 0),
COND_EQUAL(7, /* to label */ 0),
COND_EQUAL(6, /* to label */ 0),
ROTATE(4, 11, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_NORTHEAST),
WALK_GRID(256, 2),
HALT,
LABEL(0), /* = 0x00 */
ROTATE(4, 11, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_NORTHEAST),
WALK_GRID(256, 2),
HALT,
};
@ -483,7 +483,7 @@ static const struct ScriptCommand s_gs193_g4_s0_lives1_dlg0[] = { /* 0x8244bb4 *
AWAIT_CUE(6),
CALL_SCRIPT(LOOK_AROUND_FUNC),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x0001, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_SPINRIGHT1, 0),
ALERT_CUE(5),
AWAIT_CUE(6),
HALT,
@ -542,7 +542,7 @@ static const struct ScriptCommand s_gs193_g5_s0_lives1_dlg0[] = { /* 0x8244f58 *
CALL_SCRIPT(LOOK_AROUND_FUNC),
ALERT_CUE(5),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x0001, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_SPINRIGHT1, 0),
ALERT_CUE(5),
AWAIT_CUE(6),
HALT,

View File

@ -48,12 +48,12 @@ static const struct ScriptCommand s_gs194_g1_s0_lives0_dlg0[] = { /* 0x8245734 *
ALERT_CUE(6),
WAIT(15),
WALK_GRID(153, 0),
ROTATE(4, 11, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_NORTHWEST),
{ 0x52, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
WAIT(45),
ALERT_CUE(6),
AWAIT_CUE(5),
{ 0x93, 0x04, 0x000b, 0x00000022, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_11, 34),
PORTRAIT(PLACEMENT_RIGHT, 0x0001, 0x00000000),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" Whew...\nWe finally got through that cave.")),
@ -71,7 +71,7 @@ static const struct ScriptCommand s_gs194_g1_s0_lives0_dlg0[] = { /* 0x8245734 *
MSG_NPC(-1, _(" Catch {NAME_0}!")),
TEXTBOX_CLEAR,
ALERT_CUE(6),
ROTATE(4, 11, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_NORTHWEST),
PORTRAIT_REP(0x0001, 0x0000000c),
MSG_NPC(1, _(" Whoa! Here they come!\nRun!")),
TEXTBOX_CLEAR,
@ -92,10 +92,10 @@ static const struct ScriptCommand s_gs194_g1_s0_lives1_dlg0[] = { /* 0x8245ab0 *
AWAIT_CUE(6),
{ 0x53, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
WALK_GRID(153, 1),
ROTATE(4, 11, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_NORTHWEST),
{ 0x52, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
AWAIT_CUE(6),
{ 0x93, 0x04, 0x000b, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_11, 0),
ALERT_CUE(5),
AWAIT_CUE(6),
CALL_SCRIPT(LOOK_AROUND_FUNC),
@ -103,7 +103,7 @@ static const struct ScriptCommand s_gs194_g1_s0_lives1_dlg0[] = { /* 0x8245ab0 *
AWAIT_CUE(6),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
AWAIT_CUE(6),
ROTATE(4, 11, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_NORTHWEST),
AWAIT_CUE(6),
{ 0x89, 0x50, 0x0200, 0x00000002, 0x00000000, NULL },
HALT,

View File

@ -181,7 +181,7 @@ static const struct ScriptCommand s_gs195_g1_s0_lives0_dlg0[] = { /* 0x8246544 *
WALK_GRID(256, 2),
WAIT(10),
CALL_SCRIPT(LOOK_AROUND_FUNC),
ROTATE(4, 11, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_SOUTH),
WAIT(20),
PORTRAIT(PLACEMENT_RIGHT, 0x0001, 0x00000000),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
@ -190,19 +190,19 @@ static const struct ScriptCommand s_gs195_g1_s0_lives0_dlg0[] = { /* 0x8246544 *
TEXTBOX_CLEAR,
ALERT_CUE(6),
AWAIT_CUE(5),
ROTATE(4, 11, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_EAST),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" But...{WAIT_PRESS}\nThere's no point hiding out here.")),
VARIANT_DEFAULT(_(" But...{WAIT_PRESS}\nThere isn't any point hiding here.")),
ALERT_CUE(6),
AWAIT_CUE(5),
ROTATE(4, 11, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_NORTH),
MSG_NPC(1, _(" We have to get over this\nmountain to get away.")),
TEXTBOX_CLEAR,
ALERT_CUE(6),
AWAIT_CUE(5),
WAIT(10),
ROTATE(4, 11, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_EAST),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" {NAME_0}, we need to\nroll as soon as we're ready.")),
VARIANT_DEFAULT(_(" Let's go as soon as we're\nready, {NAME_0}.")),
@ -226,13 +226,13 @@ static const struct ScriptCommand s_gs195_g1_s0_lives1_dlg0[] = { /* 0x824696c *
WALK_GRID(256, 5),
CALL_SCRIPT(LOOK_AROUND_FUNC),
AWAIT_CUE(6),
ROTATE(4, 11, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_WEST),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 11, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_NORTH),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 11, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_WEST),
ALERT_CUE(5),
AWAIT_CUE(6),
HALT,
@ -275,7 +275,7 @@ static const struct ScriptCommand s_gs195_g2_s1_lives0_dlg0[] = { /* 0x8246bd0 *
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0000, 0x00000000, 0x00000000, NULL },
WAIT(1),
{ 0x8e, 0x01, 0x0000, 0x00000022, 0x00000000, NULL },
CMD_UNK_8E(1, DIR_TRANS_NONE, 34),
ASK3_VAR( TRUE, /*default*/ -1, /* speaker */ 1, PARTNER_TALK_KIND),
VARIANT(/* == */ 1, _(" {NAME_0}, are you ready\nto roll?")),
VARIANT_DEFAULT(_(" {NAME_0}, are you\nready?")),
@ -363,7 +363,7 @@ static const struct ScriptCommand s_gs195_g2_s1_lives1_dlg0[] = { /* 0x8247300 *
SELECT_ANIMATION(2),
{ 0x53, 0x00, 0x0000, 0x00000400, 0x00000000, NULL },
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
{ 0x8e, 0x01, 0x0000, 0x00000000, 0x00000000, NULL },
CMD_UNK_8E(1, DIR_TRANS_NONE, 0),
AWAIT_CUE(6),
CJUMP_UNK_C8(0),
COND_EQUAL(0, /* to label */ 0),
@ -375,7 +375,7 @@ static const struct ScriptCommand s_gs195_g2_s1_lives1_dlg0[] = { /* 0x8247300 *
{ 0x52, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
HALT,
LABEL(0), /* = 0x00 */
ROTATE(4, 11, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_NORTHWEST),
{ 0x53, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
WALK_GRID(153, 6),
{ 0x52, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
@ -414,7 +414,7 @@ static const struct ScriptCommand s_gs195_g3_s0_lives0_dlg0[] = { /* 0x82474ec *
FANFARE_PLAY2(463),
ALERT_CUE(6),
AWAIT_CUE(5),
ROTATE(4, 11, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_EAST),
PORTRAIT(PLACEMENT_RIGHT_FLIP, 0x0001, 0x0000000c),
MSG_NPC(1, _(" Ssh!{WAIT_PRESS}\nSomeone's coming.")),
TEXTBOX_CLEAR,
@ -452,12 +452,12 @@ static const struct ScriptCommand s_gs195_g3_s0_lives0_dlg0[] = { /* 0x82474ec *
WALK_GRID(256, 2),
WAIT(10),
CALL_SCRIPT(LOOK_AROUND_FUNC),
ROTATE(4, 11, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_SOUTHWEST),
WAIT(20),
PORTRAIT(PLACEMENT_RIGHT, 0x0001, 0x00000000),
MSG_NPC(1, _(" ...Whew.")),
ALERT_CUE(6),
ROTATE(4, 11, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_EAST),
PORTRAIT(PLACEMENT_RIGHT, 0x0001, 0x00000000),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" We'll have to get over this\nmountain to get away from them.")),
@ -481,7 +481,7 @@ static const struct ScriptCommand s_gs195_g3_s0_lives1_dlg0[] = { /* 0x8247b14 *
ALERT_CUE(5),
AWAIT_CUE(6),
CALL_SCRIPT(NOTICE_FUNC),
ROTATE(4, 11, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_EAST),
ALERT_CUE(5),
AWAIT_CUE(6),
CAMERA_PAN(512, 9),
@ -490,9 +490,9 @@ static const struct ScriptCommand s_gs195_g3_s0_lives1_dlg0[] = { /* 0x8247b14 *
WALK_GRID(512, 9),
WALK_GRID(256, 5),
CALL_SCRIPT(LOOK_AROUND_FUNC),
ROTATE(4, 11, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_EAST),
AWAIT_CUE(6),
ROTATE(4, 11, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_WEST),
AWAIT_CUE(6),
HALT,
};
@ -556,7 +556,7 @@ static const struct ScriptCommand s_gs195_g4_s0_lives1_dlg0[] = { /* 0x82480b4 *
AWAIT_CUE(6),
CALL_SCRIPT(LOOK_AROUND_FUNC),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x0001, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_SPINRIGHT1, 0),
ALERT_CUE(5),
AWAIT_CUE(6),
HALT,
@ -615,7 +615,7 @@ static const struct ScriptCommand s_gs195_g5_s0_lives1_dlg0[] = { /* 0x8248458 *
CALL_SCRIPT(LOOK_AROUND_FUNC),
ALERT_CUE(5),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x0001, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_SPINRIGHT1, 0),
ALERT_CUE(5),
AWAIT_CUE(6),
HALT,

View File

@ -190,7 +190,7 @@ static const struct ScriptCommand s_gs196_g1_s0_lives1_dlg0[] = { /* 0x8249404 *
WAIT(15),
CALL_SCRIPT(WAKEUP_FUNC),
CALL_SCRIPT(LOOK_AROUND_FUNC),
ROTATE(4, 10, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_EAST),
ALERT_CUE(5),
AWAIT_CUE(6),
{ 0x52, 0x00, 0x0000, 0x00001000, 0x00000000, NULL },

View File

@ -254,7 +254,7 @@ static const struct ScriptCommand s_gs197_g1_s0_lives0_dlg0[] = { /* 0x82498b0 *
FANFARE_PLAY2(470),
ALERT_CUE(6),
AWAIT_CUE(5),
ROTATE(4, 11, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_WEST),
PORTRAIT_REP(0x0001, 0x00000002),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
MSG_NPC(1, _(" Whew...")),
@ -330,7 +330,7 @@ static const struct ScriptCommand s_gs197_g1_s0_lives1_dlg0[] = { /* 0x824b53c *
AWAIT_CUE(6),
CALL_SCRIPT(SWEAT_FUNC),
WAIT(30),
{ 0x93, 0x04, 0x000b, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_11, 0),
ALERT_CUE(5),
AWAIT_CUE(6),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),

View File

@ -168,7 +168,7 @@ static const struct ScriptCommand s_gs198_g1_s0_lives0_dlg0[] = { /* 0x824c290 *
VARIANT_DEFAULT(_(" But hiding out in this area\nisn't the answer either...")),
VARIANT_DEFAULT(_(" We can only go forward.{WAIT_PRESS}\nWe'll just have to keep our spirits up\nand keep going, {NAME_0}!")),
TEXTBOX_CLEAR,
ROTATE(4, 2, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_WEST),
WAIT(10),
{ 0x9b, 0x00, 0x0100, 0x00000000, 0x00000000, NULL },
ALERT_CUE(3),
@ -181,7 +181,7 @@ static const struct ScriptCommand s_gs198_g1_s0_lives1_dlg0[] = { /* 0x824c670 *
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(6),
ROTATE(4, 1, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_EAST),
HALT,
};
@ -222,7 +222,7 @@ static const struct ScriptCommand s_gs198_g2_s1_lives0_dlg0[] = { /* 0x824c7d4 *
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0000, 0x00000000, 0x00000000, NULL },
WAIT(1),
{ 0x8e, 0x01, 0x0000, 0x00000022, 0x00000000, NULL },
CMD_UNK_8E(1, DIR_TRANS_NONE, 34),
ASK3_VAR( TRUE, /*default*/ -1, /* speaker */ 1, PARTNER_TALK_KIND),
VARIANT(/* == */ 1, _(" {NAME_0}, are you ready\nto roll?")),
VARIANT_DEFAULT(_(" {NAME_0}, are you\nready?")),
@ -308,7 +308,7 @@ static const struct ScriptCommand s_gs198_g2_s1_lives1_dlg0[] = { /* 0x824cea4 *
SELECT_ANIMATION(2),
{ 0x53, 0x00, 0x0000, 0x00000400, 0x00000000, NULL },
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
{ 0x8e, 0x01, 0x0000, 0x00000000, 0x00000000, NULL },
CMD_UNK_8E(1, DIR_TRANS_NONE, 0),
AWAIT_CUE(6),
CJUMP_UNK_C8(0),
COND_EQUAL(0, /* to label */ 0),
@ -383,7 +383,7 @@ static const struct ScriptCommand s_gs198_g3_s0_lives1_dlg0[] = { /* 0x824d364 *
CALL_SCRIPT(LOOK_AROUND_FUNC),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 2, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_EAST),
AWAIT_CUE(6),
HALT,
};
@ -413,7 +413,7 @@ static const struct ScriptCommand s_gs198_g4_s0_lives0_dlg0[] = { /* 0x824d500 *
{ 0xdf, 0x00, 0x0000, 0x00000000, 0x00000000, NULL },
CALL_SCRIPT(WAKEUP_FUNC),
SELECT_ANIMATION(2),
ROTATE(4, 1, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_WEST),
WAIT(30),
{ 0x2d, 0x09, 0x0002, 0x00000066, 0x00000000, NULL },
PORTRAIT(PLACEMENT_LEFT_, 0x0001, 0x00000002),
@ -442,7 +442,7 @@ static const struct ScriptCommand s_gs198_g4_s0_lives1_dlg0[] = { /* 0x824d834 *
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
CALL_SCRIPT(WAKEUP_FUNC),
SELECT_ANIMATION(2),
ROTATE(4, 2, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_EAST),
HALT,
};
@ -509,7 +509,7 @@ static const struct ScriptCommand s_gs198_g5_s0_lives1_dlg0[] = { /* 0x824dd18 *
AWAIT_CUE(6),
CALL_SCRIPT(LOOK_AROUND_FUNC),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 0),
ALERT_CUE(5),
AWAIT_CUE(6),
HALT,
@ -542,7 +542,7 @@ static const struct ScriptCommand s_gs198_g6_s0_lives0_dlg0[] = { /* 0x824ded4 *
CALL_SCRIPT(WAKEUP_FUNC),
CALL_SCRIPT(LOOK_AROUND_RIGHT_FUNC),
AWAIT_CUE(5),
{ 0x93, 0x04, 0x000a, 0x00000022, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 34),
PORTRAIT(PLACEMENT_LEFT_, 0x0001, 0x00000002),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" Urrggh...{WAIT_PRESS}\nWe couldn't get through...")),
@ -571,7 +571,7 @@ static const struct ScriptCommand s_gs198_g6_s0_lives1_dlg0[] = { /* 0x824e0f8 *
CALL_SCRIPT(LOOK_AROUND_FUNC),
ALERT_CUE(5),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 0),
ALERT_CUE(5),
AWAIT_CUE(6),
HALT,

View File

@ -173,7 +173,7 @@ static const struct ScriptCommand s_gs199_g1_s0_lives0_dlg0[] = { /* 0x824eea4 *
VARIANT_DEFAULT(_(" Hmm...{WAIT_PRESS}\nThat didn't work out...")),
TEXTBOX_CLEAR,
ALERT_CUE(6),
ROTATE(4, 10, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_WEST),
PORTRAIT_REP(0x0001, 0x00000000),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" This is a tough place...")),
@ -201,7 +201,7 @@ static const struct ScriptCommand s_gs199_g1_s0_lives1_dlg0[] = { /* 0x824f190 *
CALL_SCRIPT(LOOK_AROUND_FUNC),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 2, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_EAST),
AWAIT_CUE(6),
{ 0x52, 0x00, 0x0000, 0x00001000, 0x00000000, NULL },
RET,
@ -241,7 +241,7 @@ static const struct ScriptCommand s_gs199_g2_s0_lives0_dlg0[] = { /* 0x824f33c *
VARIANT_DEFAULT(_(" Hmm...{WAIT_PRESS}\nWe didn't do well at all...")),
TEXTBOX_CLEAR,
ALERT_CUE(6),
ROTATE(4, 10, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_WEST),
PORTRAIT_REP(0x0001, 0x00000000),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" That {NAME_2}...\nHe's one tough customer.")),
@ -269,7 +269,7 @@ static const struct ScriptCommand s_gs199_g2_s0_lives1_dlg0[] = { /* 0x824f6ac *
CALL_SCRIPT(LOOK_AROUND_FUNC),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 2, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_EAST),
AWAIT_CUE(6),
{ 0x52, 0x00, 0x0000, 0x00001000, 0x00000000, NULL },
RET,

View File

@ -233,7 +233,7 @@ static const struct ScriptCommand s_gs200_g1_s0_lives0_dlg0[] = { /* 0x824fcb4 *
MSG_NPC(1, _(" Thank you.{WAIT_PRESS}\nYou saved us.")),
TEXTBOX_CLEAR,
ALERT_CUE(8),
ROTATE(4, 1, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTHEAST),
WAIT(30),
PORTRAIT(PLACEMENT_MIDDLE_TOP_LEFT, 0x0003, 0x00000000),
MSG_NPC(3, _(" ..................")),
@ -347,7 +347,7 @@ static const struct ScriptCommand s_gs200_g1_s0_lives1_dlg0[] = { /* 0x825174c *
ALERT_CUE(5),
AWAIT_CUE(6),
SELECT_ANIMATION(2),
ROTATE(4, 2, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTHWEST),
ALERT_CUE(5),
AWAIT_CUE(6),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
@ -431,18 +431,18 @@ static const struct ScriptCommand s_gs200_g1_s1_lives0_dlg0[] = { /* 0x8251cac *
SELECT_ANIMATION(23),
WAIT(32),
SELECT_ANIMATION(2),
ROTATE(8, 2, DIRECTION_NORTH),
ROTATE_TO(8, DIR_TRANS_SPINLEFT1, DIRECTION_NORTH),
ALERT_CUE(5),
AWAIT_CUE(8),
ROTATE(4, 1, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
AWAIT_CUE(8),
ROTATE(8, 1, DIRECTION_NORTH),
ROTATE_TO(8, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
ALERT_CUE(5),
AWAIT_CUE(8),
ROTATE(4, 1, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
ALERT_CUE(5),
AWAIT_CUE(8),
ROTATE(4, 2, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTHEAST),
ALERT_CUE(5),
AWAIT_CUE(8),
HALT,

View File

@ -261,20 +261,20 @@ static const struct ScriptCommand s_gs201_g1_s0_lives1_dlg0[] = { /* 0x825366c *
{ 0x56, 0x00, 0x0000, 0x00000000, 0x00000000, NULL },
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 2, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTHEAST),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 1, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_EAST),
CALL_SCRIPT(JUMP_ANGRY_FUNC),
ALERT_CUE(5),
AWAIT_CUE(6),
FANFARE_PLAY2(469),
CALL_SCRIPT(QUESTION_FUNC),
AWAIT_CUE(6),
ROTATE(4, 2, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTHEAST),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 1, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_EAST),
ALERT_CUE(5),
AWAIT_CUE(6),
HALT,
@ -317,7 +317,7 @@ static const struct ScriptCommand s_gs201_g2_s1_lives0_dlg0[] = { /* 0x8253910 *
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0000, 0x00000000, 0x00000000, NULL },
WAIT(1),
{ 0x8e, 0x01, 0x0000, 0x00000022, 0x00000000, NULL },
CMD_UNK_8E(1, DIR_TRANS_NONE, 34),
ASK3_VAR( TRUE, /*default*/ -1, /* speaker */ 1, PARTNER_TALK_KIND),
VARIANT(/* == */ 1, _(" Hey, {NAME_0}.\nAre you all ready?")),
VARIANT_DEFAULT(_(" Hi, {NAME_0}.\nAre you ready?")),
@ -402,7 +402,7 @@ static const struct ScriptCommand s_gs201_g2_s1_lives1_dlg0[] = { /* 0x8253f50 *
SELECT_ANIMATION(2),
{ 0x53, 0x00, 0x0000, 0x00000400, 0x00000000, NULL },
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
{ 0x8e, 0x01, 0x0000, 0x00000000, 0x00000000, NULL },
CMD_UNK_8E(1, DIR_TRANS_NONE, 0),
AWAIT_CUE(6),
CJUMP_UNK_C8(0),
COND_EQUAL(0, /* to label */ 0),
@ -480,7 +480,7 @@ static const struct ScriptCommand s_gs201_g3_s0_lives1_dlg0[] = { /* 0x8254430 *
CALL_SCRIPT(LOOK_AROUND_FUNC),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 2, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_EAST),
ALERT_CUE(5),
AWAIT_CUE(6),
HALT,
@ -550,7 +550,7 @@ static const struct ScriptCommand s_gs201_g4_s0_lives1_dlg0[] = { /* 0x825492c *
AWAIT_CUE(6),
CALL_SCRIPT(LOOK_AROUND_FUNC),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x0002, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_SPINLEFT1, 0),
ALERT_CUE(5),
AWAIT_CUE(6),
HALT,
@ -612,7 +612,7 @@ static const struct ScriptCommand s_gs201_g5_s0_lives1_dlg0[] = { /* 0x8254d64 *
CALL_SCRIPT(LOOK_AROUND_FUNC),
ALERT_CUE(5),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 0),
ALERT_CUE(5),
AWAIT_CUE(6),
HALT,
@ -649,7 +649,7 @@ static const struct ScriptCommand s_gs201_g6_s0_lives0_dlg0[] = { /* 0x8254f30 *
ALERT_CUE(7),
{ 0x89, 0x40, 0x0080, 0x00000003, 0x00000000, NULL },
AWAIT_CUE(5),
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
MSG_NPC(2, _(" You're going to {COLOR YELLOW_D}Mt. Freeze{RESET}?")),
MSG_NPC(2, _(" Don't forget to take me,\nkekeh!")),
TEXTBOX_CLEAR,
@ -667,7 +667,7 @@ static const struct ScriptCommand s_gs201_g6_s0_lives1_dlg0[] = { /* 0x825508c *
{ 0x53, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
SELECT_ANIMATION(2),
CAMERA_PAN(256, 1),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
ALERT_CUE(5),
AWAIT_CUE(7),
WAIT(15),

View File

@ -211,7 +211,7 @@ static const struct ScriptCommand s_gs202_g1_s0_lives1_dlg0[] = { /* 0x82561ac *
CALL_SCRIPT(LOOK_AROUND_FUNC),
ALERT_CUE(5),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 0),
ALERT_CUE(5),
AWAIT_CUE(6),
{ 0x52, 0x00, 0x0000, 0x00001000, 0x00000000, NULL },

View File

@ -86,7 +86,7 @@ static const struct ScriptCommand s_gs203_g1_s0_lives0_dlg0[] = { /* 0x82566f8 *
WAIT(30),
ALERT_CUE(7),
AWAIT_CUE(5),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
MSG_NPC(2, _(" Kekeh!\nLong time, Ninetales!")),
MSG_NPC(2, _(" Recognize me?")),
TEXTBOX_CLEAR,
@ -198,7 +198,7 @@ static const struct ScriptCommand s_gs203_g1_s0_lives0_dlg0[] = { /* 0x82566f8 *
WAIT(20),
ALERT_CUE(4),
ALERT_CUE(7),
ROTATE(12, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(12, DIR_TRANS_10, DIRECTION_SOUTHWEST),
AWAIT_CUE(5),
PORTRAIT_REP(0x0002, 0x00000000),
MSG_NPC(2, _(" Hey!\nI kept you waiting!\nLet's get home! Kekeh!")),
@ -248,16 +248,16 @@ static const struct ScriptCommand s_gs203_g1_s0_lives1_dlg0[] = { /* 0x8257a0c *
WAIT(20),
ALERT_CUE(5),
AWAIT_CUE(7),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
ALERT_CUE(5),
AWAIT_CUE(7),
CALL_SCRIPT(JUMP_ANGRY_FUNC),
ALERT_CUE(5),
AWAIT_CUE(7),
ROTATE(8, 10, DIRECTION_SOUTHEAST),
ROTATE_TO(8, DIR_TRANS_10, DIRECTION_SOUTHEAST),
ALERT_CUE(5),
AWAIT_CUE(7),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
ALERT_CUE(5),
AWAIT_CUE(7),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
@ -268,7 +268,7 @@ static const struct ScriptCommand s_gs203_g1_s0_lives1_dlg0[] = { /* 0x8257a0c *
AWAIT_CUE(7),
{ 0x89, 0x28, 0x0100, 0x00000000, 0x00000000, NULL },
WAIT(45),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
ALERT_CUE(5),
AWAIT_CUE(7),
{ 0x53, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
@ -283,25 +283,25 @@ static const struct ScriptCommand s_gs203_g1_s1_lives0_dlg0[] = { /* 0x8257c8c *
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0003, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(8),
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
ALERT_CUE(5),
AWAIT_CUE(8),
CALL_SCRIPT(SHOCK_FUNC),
ALERT_CUE(5),
AWAIT_CUE(8),
ROTATE(8, 10, DIRECTION_SOUTHEAST),
ROTATE_TO(8, DIR_TRANS_10, DIRECTION_SOUTHEAST),
AWAIT_CUE(8),
ROTATE(8, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(8, DIR_TRANS_10, DIRECTION_SOUTHWEST),
ALERT_CUE(5),
AWAIT_CUE(8),
{ 0x84, 0x00, 0x0100, -0x00000011, 0x00000020, NULL },
ALERT_CUE(5),
AWAIT_CUE(8),
{ 0x84, 0x00, 0x0100, 0x00000011, -0x00000020, NULL },
ROTATE(4, 10, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTH),
ALERT_CUE(5),
AWAIT_CUE(8),
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
ALERT_CUE(5),
AWAIT_CUE(8),
HALT,
@ -353,7 +353,7 @@ static const struct ScriptCommand s_gs203_g2_s0_lives0_dlg0[] = { /* 0x8257ee8 *
TEXTBOX_CLEAR,
SELECT_ENTITIES(-1, 1),
ALERT_CUE(6),
ROTATE(4, 1, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
FANFARE_PLAY2(465),
CALL_SCRIPT(NOTICE_FUNC),
AWAIT_CUE(5),
@ -476,12 +476,12 @@ static const struct ScriptCommand s_gs203_g2_s0_lives1_dlg0[] = { /* 0x8258a00 *
CALL_SCRIPT(LOOK_AROUND_FUNC),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 1, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
CALL_SCRIPT(NOTICE_FUNC),
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTH),
AWAIT_CUE(6),
WAIT(3),
{ 0x62, 0x00, 0x0100, 0x00000000, -0x00000005, NULL },
@ -496,7 +496,7 @@ static const struct ScriptCommand s_gs203_g2_s0_lives1_dlg0[] = { /* 0x8258a00 *
{ 0x62, 0x00, 0x0100, 0x00000004, 0x00000010, NULL },
{ 0x62, 0x00, 0x0080, 0x00000004, 0x00000008, NULL },
SELECT_ANIMATION(2),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(6),
CAMERA_PAN(76, 6),
AWAIT_CUE(6),
@ -511,7 +511,7 @@ static const struct ScriptCommand s_gs203_g2_s0_lives2_dlg0[] = { /* 0x8258c30 *
{ 0x89, 0x68, 0x0100, 0x00000004, 0x00000000, NULL },
AWAIT_CUE(6),
AWAIT_CUE(6),
ROTATE(4, 1, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
CALL_SCRIPT(NOTICE_FUNC),
{ 0x62, 0x00, 0x0080, 0x00000000, -0x00000028, NULL },
AWAIT_CUE(6),
@ -530,7 +530,7 @@ static const struct ScriptCommand s_gs203_g2_s0_lives2_dlg0[] = { /* 0x8258c30 *
{ 0x62, 0x00, 0x0100, 0x00000000, 0x00000018, NULL },
{ 0x62, 0x00, 0x0080, 0x00000000, 0x00000010, NULL },
SELECT_ANIMATION(2),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(6),
CAMERA_PAN(76, 12),
AWAIT_CUE(6),
@ -584,10 +584,10 @@ static const struct ScriptCommand s_gs203_g2_s1_lives1_dlg0[] = { /* 0x8259080 *
{ 0x2d, 0x07, 0x0003, 0x00000000, 0x00000000, NULL },
{ 0x89, 0x50, 0x0100, 0x00000004, 0x00000000, NULL },
AWAIT_CUE(8),
ROTATE(4, 1, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTHEAST),
ALERT_CUE(5),
AWAIT_CUE(8),
ROTATE(4, 2, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTH),
ALERT_CUE(5),
AWAIT_CUE(8),
{ 0x89, 0x08, 0x0100, 0x00000004, 0x00000000, NULL },
@ -603,7 +603,7 @@ static const struct ScriptCommand s_gs203_g2_s1_lives1_dlg0[] = { /* 0x8259080 *
{ 0x62, 0x00, 0x0100, -0x00000008, -0x00000010, NULL },
{ 0x62, 0x00, 0x0080, -0x00000004, -0x00000008, NULL },
SELECT_ANIMATION(2),
ROTATE(4, 10, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHEAST),
AWAIT_CUE(8),
CAMERA_PAN(76, 8),
AWAIT_CUE(8),
@ -629,7 +629,7 @@ static const struct ScriptCommand s_gs203_g2_s1_lives2_dlg0[] = { /* 0x8259250 *
{ 0x62, 0x00, 0x0100, 0x00000008, -0x00000010, NULL },
{ 0x62, 0x00, 0x0080, -0x00000004, -0x00000008, NULL },
SELECT_ANIMATION(2),
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
AWAIT_CUE(8),
CAMERA_PAN(76, 10),
AWAIT_CUE(8),
@ -698,7 +698,7 @@ static const struct ScriptCommand s_gs203_g3_s0_lives0_dlg0[] = { /* 0x8259658 *
ALERT_CUE(8),
ALERT_CUE(9),
ALERT_CUE(12),
ROTATE(4, 1, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTHEAST),
FANFARE_PLAY2(455),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
PORTRAIT(PLACEMENT_TOP_LEFT, 0x0003, 0x00000041),
@ -776,7 +776,7 @@ static const struct ScriptCommand s_gs203_g3_s0_lives0_dlg0[] = { /* 0x8259658 *
TEXTBOX_CLEAR,
WAIT(10),
ALERT_CUE(6),
ROTATE(4, 1, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_EAST),
PORTRAIT_REP(0x0001, 0x00000008),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" ............{WAIT_PRESS}\nWhat's wrong with me?{WAIT_PRESS}\nI'm too tensed up to move...")),
@ -809,15 +809,15 @@ static const struct ScriptCommand s_gs203_g3_s0_lives0_dlg0[] = { /* 0x8259658 *
TEXTBOX_CLEAR,
ALERT_CUE(6),
WAIT(15),
ROTATE(4, 2, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTH),
WAIT(20),
ROTATE(8, 2, DIRECTION_SOUTH),
ROTATE_TO(8, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTH),
WAIT(20),
ROTATE(8, 1, DIRECTION_NORTH),
ROTATE_TO(8, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
WAIT(20),
ROTATE(8, 2, DIRECTION_WEST),
ROTATE_TO(8, DIR_TRANS_SPINLEFT1, DIRECTION_WEST),
WAIT(20),
ROTATE(8, 2, DIRECTION_EAST),
ROTATE_TO(8, DIR_TRANS_SPINLEFT1, DIRECTION_EAST),
AWAIT_CUE(5),
PORTRAIT_REP(0x0001, 0x0000000a),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
@ -846,7 +846,7 @@ static const struct ScriptCommand s_gs203_g3_s0_lives0_dlg0[] = { /* 0x8259658 *
VARIANT_DEFAULT(_(" You were wrong to hound\nand harass {NAME_0}!")),
TEXTBOX_CLEAR,
WAIT(10),
ROTATE(4, 2, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTH),
ALERT_CUE(7),
ALERT_CUE(8),
ALERT_CUE(9),
@ -878,7 +878,7 @@ static const struct ScriptCommand s_gs203_g3_s0_lives0_dlg0[] = { /* 0x8259658 *
WAIT(10),
ALERT_CUE(6),
AWAIT_CUE(5),
ROTATE(4, 1, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_EAST),
PORTRAIT_REP(0x0001, 0x00000001),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" Hahaha! Isn't this great?\nI was convinced I was right!")),
@ -914,11 +914,11 @@ static const struct ScriptCommand s_gs203_g3_s0_lives0_dlg0[] = { /* 0x8259658 *
ALERT_CUE(10),
ALERT_CUE(12),
WAIT(10),
ROTATE(4, 10, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_WEST),
WAIT(15),
ROTATE(6, 1, DIRECTION_NORTHEAST),
ROTATE_TO(6, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTHEAST),
WAIT(20),
ROTATE(4, 2, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTHWEST),
PORTRAIT_REP(0x0001, 0x0000000c),
MSG_NPC(1, _(" Waah! The ground's heaving!")),
TEXTBOX_CLEAR,
@ -940,7 +940,7 @@ static const struct ScriptCommand s_gs203_g3_s0_lives0_dlg0[] = { /* 0x8259658 *
ALERT_CUE(8),
ALERT_CUE(9),
ALERT_CUE(12),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
WAIT(5),
PORTRAIT_REP(0x0002, 0x00000000),
MSG_NPC(2, _(" What?!\nGroudon is rising?!")),
@ -951,7 +951,7 @@ static const struct ScriptCommand s_gs203_g3_s0_lives0_dlg0[] = { /* 0x8259658 *
TEXTBOX_CLEAR,
WAIT(10),
ALERT_CUE(6),
ROTATE(4, 2, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTH),
AWAIT_CUE(5),
PORTRAIT_REP(0x0002, 0x00000004),
MSG_NPC(1, _(" What is that?{WAIT_PRESS}\nWhat's a Groudon?")),
@ -1045,7 +1045,7 @@ static const struct ScriptCommand s_gs203_g3_s0_lives1_dlg0[] = { /* 0x825bcb4 *
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(6),
ROTATE(4, 2, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTHWEST),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
AWAIT_CUE(6),
CALL_SCRIPT(NOTICE_FUNC),
@ -1059,11 +1059,11 @@ static const struct ScriptCommand s_gs203_g3_s0_lives1_dlg0[] = { /* 0x825bcb4 *
{ 0x89, 0x10, 0x0080, 0x00000006, 0x00000000, NULL },
AWAIT_CUE(6),
AWAIT_CUE(6),
ROTATE(4, 2, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTH),
{ 0x54, 0x00, 0x002e, 0x00000000, 0x00000000, NULL },
STOP_ANIMATION_ON_CURRENT_FRAME,
SELECT_ANIMATION(2),
ROTATE(4, 1, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_WEST),
AWAIT_CUE(6),
AWAIT_CUE(6),
CALL_SCRIPT(JUMP_HAPPY_FUNC),
@ -1116,28 +1116,28 @@ static const struct ScriptCommand s_gs203_g3_s0_lives1_dlg0[] = { /* 0x825bcb4 *
SELECT_ANIMATION(2),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 1, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
CALL_SCRIPT(ANGRY_START_FUNC),
ALERT_CUE(5),
AWAIT_CUE(6),
CALL_SCRIPT(ANGRY_END_FUNC),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 2, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_WEST),
ALERT_CUE(5),
AWAIT_CUE(6),
CALL_SCRIPT(NOTICE_FUNC),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTH),
WAIT(20),
ROTATE(4, 1, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
WAIT(18),
ROTATE(4, 2, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_WEST),
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
ALERT_CUE(5),
AWAIT_CUE(6),
HALT,
@ -1152,27 +1152,27 @@ static const struct ScriptCommand s_gs203_g3_s0_lives2_dlg0[] = { /* 0x825c2f4 *
{ 0x62, 0x00, 0x0200, 0x00000008, -0x00000008, NULL },
CALL_SCRIPT(SHOCK_FUNC),
AWAIT_CUE(7),
ROTATE(4, 1, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTHWEST),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
ALERT_CUE(5),
AWAIT_CUE(7),
{ 0x62, 0x00, 0x004c, -0x00000008, 0x00000008, NULL },
ALERT_CUE(5),
AWAIT_CUE(7),
ROTATE(4, 2, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTH),
AWAIT_CUE(7),
WAIT(3),
ROTATE(6, 10, DIRECTION_WEST),
ROTATE_TO(6, DIR_TRANS_10, DIRECTION_WEST),
WAIT(12),
ROTATE(4, 2, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTH),
WAIT(15),
ROTATE(6, 1, DIRECTION_NORTHWEST),
ROTATE_TO(6, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTHWEST),
WAIT(5),
ROTATE(6, 2, DIRECTION_WEST),
ROTATE_TO(6, DIR_TRANS_SPINLEFT1, DIRECTION_WEST),
AWAIT_CUE(7),
ROTATE(4, 10, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTH),
AWAIT_CUE(7),
ROTATE(4, 10, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTH),
ALERT_CUE(5),
AWAIT_CUE(7),
{ 0x53, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
@ -1185,19 +1185,19 @@ static const struct ScriptCommand s_gs203_g3_s0_lives3_dlg0[] = { /* 0x825c514 *
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0003, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(8),
ROTATE(4, 2, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTHEAST),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
AWAIT_CUE(8),
ROTATE(4, 1, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
AWAIT_CUE(8),
WAIT(6),
ROTATE(8, 10, DIRECTION_NORTHEAST),
ROTATE_TO(8, DIR_TRANS_10, DIRECTION_NORTHEAST),
WAIT(12),
ROTATE(4, 1, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_WEST),
WAIT(10),
ROTATE(7, 2, DIRECTION_SOUTHWEST),
ROTATE_TO(7, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTHWEST),
AWAIT_CUE(8),
ROTATE(4, 10, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTH),
AWAIT_CUE(8),
{ 0x53, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
{ 0x89, 0x50, 0x0100, 0x00000000, 0x00000000, NULL },
@ -1209,18 +1209,18 @@ static const struct ScriptCommand s_gs203_g3_s0_lives4_dlg0[] = { /* 0x825c664 *
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0004, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(9),
ROTATE(4, 1, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTHWEST),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
AWAIT_CUE(9),
ROTATE(4, 2, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTH),
AWAIT_CUE(9),
ROTATE(8, 10, DIRECTION_EAST),
ROTATE_TO(8, DIR_TRANS_10, DIRECTION_EAST),
WAIT(7),
ROTATE(6, 2, DIRECTION_NORTH),
ROTATE_TO(6, DIR_TRANS_SPINLEFT1, DIRECTION_NORTH),
WAIT(10),
ROTATE(4, 1, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_EAST),
AWAIT_CUE(9),
ROTATE(4, 10, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTH),
AWAIT_CUE(9),
{ 0x53, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
{ 0x89, 0x50, 0x0100, 0x00000000, 0x00000000, NULL },
@ -1231,12 +1231,12 @@ static const struct ScriptCommand s_gs203_g3_s0_lives5_dlg0[] = { /* 0x825c7a4 *
DEBUGINFO_O(1231),
SELECT_ANIMATION(2),
AWAIT_CUE(12),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
AWAIT_CUE(12),
CALL_SCRIPT(LOOK_AROUND_FUNC),
AWAIT_CUE(12),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(12),
HALT,
};
@ -1254,31 +1254,31 @@ static const struct ScriptCommand s_gs203_g3_s1_lives0_dlg0[] = { /* 0x825c854 *
SELECT_ANIMATION(23),
AWAIT_CUE(10),
SELECT_ANIMATION(2),
ROTATE(4, 1, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTHEAST),
ALERT_CUE(5),
AWAIT_CUE(10),
ROTATE(4, 1, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTHWEST),
ALERT_CUE(5),
AWAIT_CUE(10),
ROTATE(4, 1, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTHEAST),
ALERT_CUE(5),
AWAIT_CUE(10),
ROTATE(4, 1, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTHWEST),
ALERT_CUE(5),
AWAIT_CUE(10),
ROTATE(4, 2, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTHEAST),
ALERT_CUE(5),
AWAIT_CUE(10),
ROTATE(4, 2, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTHEAST),
ALERT_CUE(5),
AWAIT_CUE(10),
ROTATE(4, 1, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
AWAIT_CUE(10),
ROTATE(4, 10, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_EAST),
WAIT(10),
ROTATE(6, 1, DIRECTION_WEST),
ROTATE_TO(6, DIR_TRANS_SPINRIGHT1, DIRECTION_WEST),
WAIT(10),
ROTATE(4, 2, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTH),
AWAIT_CUE(10),
HALT,
};

View File

@ -119,7 +119,7 @@ static const struct ScriptCommand s_gs204_g1_s0_lives0_dlg0[] = { /* 0x825d228 *
TEXTBOX_CLEAR,
ALERT_CUE(6),
WAIT(5),
{ 0x93, 0x04, 0x000b, 0x00000022, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_11, 34),
WAIT(15),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" Other rescue teams should\nalready be inside.")),
@ -146,7 +146,7 @@ static const struct ScriptCommand s_gs204_g1_s0_lives1_dlg0[] = { /* 0x825d6dc *
WALK_GRID(256, 1),
CALL_SCRIPT(LOOK_AROUND_FUNC),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x000b, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_11, 0),
AWAIT_CUE(6),
WALK_GRID(256, 2),
HALT,
@ -172,7 +172,7 @@ static const struct ScriptCommand s_gs204_g2_s0_lives0_dlg0[] = { /* 0x825d818 *
{ 0x2d, 0x09, 0x0002, 0x00000058, 0x00000000, NULL },
ALERT_CUE(6),
WALK_GRID(256, 0),
{ 0x93, 0x04, 0x000b, 0x00000022, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_11, 34),
WAIT(15),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" This time, we'll rescue\n{NAME_2}'s team!\nLet's get it done!")),
@ -193,7 +193,7 @@ static const struct ScriptCommand s_gs204_g2_s0_lives1_dlg0[] = { /* 0x825d9bc *
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(6),
WALK_GRID(256, 1),
{ 0x93, 0x04, 0x000b, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_11, 0),
AWAIT_CUE(6),
WALK_GRID(256, 2),
HALT,

View File

@ -83,7 +83,7 @@ static const struct ScriptCommand s_gs206_g1_s0_lives0_dlg0[] = { /* 0x825eb18 *
FANFARE_PLAY2(465),
ALERT_CUE(6),
AWAIT_CUE(5),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
PORTRAIT(PLACEMENT_LEFT_, 0x0001, 0x0000000c),
MSG_NPC(1, _(" Look! It's {NAME_3}!{WAIT_PRESS}\n{NAME_4} and {NAME_5} too!")),
TEXTBOX_CLEAR,
@ -159,14 +159,14 @@ static const struct ScriptCommand s_gs206_g1_s0_lives1_dlg0[] = { /* 0x825f2ec *
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(6),
CALL_SCRIPT(NOTICE_FUNC),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
ALERT_CUE(5),
AWAIT_CUE(6),
WALK_RELATIVE(128, 0, -8),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(10, 10, DIRECTION_NORTH),
ROTATE_TO(10, DIR_TRANS_10, DIRECTION_NORTH),
ALERT_CUE(5),
AWAIT_CUE(6),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
@ -260,16 +260,16 @@ static const struct ScriptCommand s_gs206_g1_s1_lives0_dlg0[] = { /* 0x825f71c *
WAIT(30),
SELECT_ANIMATION(2),
WAIT(30),
ROTATE(10, 2, DIRECTION_EAST),
ROTATE_TO(10, DIR_TRANS_SPINLEFT1, DIRECTION_EAST),
WAIT(20),
ROTATE(10, 1, DIRECTION_SOUTHWEST),
ROTATE_TO(10, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTHWEST),
WAIT(10),
ROTATE(10, 2, DIRECTION_SOUTHEAST),
ROTATE_TO(10, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTHEAST),
AWAIT_CUE(8),
WAIT(5),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(8),
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
ALERT_CUE(5),
AWAIT_CUE(8),
{ 0x89, 0x78, 0x0100, 0x00000000, 0x00000000, NULL },
@ -296,14 +296,14 @@ static const struct ScriptCommand s_gs206_g1_s1_lives1_dlg0[] = { /* 0x825f91c *
WAIT(25),
SELECT_ANIMATION(2),
WAIT(45),
ROTATE(10, 2, DIRECTION_SOUTHEAST),
ROTATE_TO(10, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTHEAST),
WAIT(20),
ROTATE(10, 1, DIRECTION_SOUTHWEST),
ROTATE_TO(10, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTHWEST),
AWAIT_CUE(9),
ROTATE(4, 10, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_EAST),
AWAIT_CUE(9),
WAIT(10),
ROTATE(4, 10, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHEAST),
AWAIT_CUE(9),
CALL_SCRIPT(NOTICE_FUNC),
AWAIT_CUE(9),
@ -338,18 +338,18 @@ static const struct ScriptCommand s_gs206_g1_s1_lives2_dlg0[] = { /* 0x825fb1c *
WAIT(40),
SELECT_ANIMATION(2),
WAIT(40),
ROTATE(10, 1, DIRECTION_WEST),
ROTATE_TO(10, DIR_TRANS_SPINRIGHT1, DIRECTION_WEST),
WAIT(10),
ROTATE(10, 2, DIRECTION_SOUTHEAST),
ROTATE_TO(10, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTHEAST),
WAIT(5),
ROTATE(10, 1, DIRECTION_WEST),
ROTATE_TO(10, DIR_TRANS_SPINRIGHT1, DIRECTION_WEST),
ALERT_CUE(5),
AWAIT_CUE(10),
WAIT(10),
ROTATE(4, 10, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_WEST),
AWAIT_CUE(10),
WAIT(5),
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
AWAIT_CUE(10),
CALL_SCRIPT(SHOCK_FUNC),
AWAIT_CUE(10),

View File

@ -66,20 +66,20 @@ static const struct ScriptCommand s_gs207_g1_s0_lives0_dlg0[] = { /* 0x826008c *
PORTRAIT_REP(0x0001, 0x0000000c),
MSG_NPC(1, _(" Wah!\n{NAME_0}, this is cool!{WAIT_PRESS}\nWe're on clouds!")),
TEXTBOX_CLEAR,
ROTATE(4, 10, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_WEST),
ALERT_CUE(7),
ALERT_CUE(6),
AWAIT_CUE(5),
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
AWAIT_CUE(5),
MSG_NPC(1, _(" Oh, wow!")),
TEXTBOX_CLEAR,
ALERT_CUE(6),
ROTATE(4, 10, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_WEST),
AWAIT_CUE(5),
MSG_NPC(1, _(" {NAME_0}, look up there!")),
TEXTBOX_CLEAR,
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
ALERT_CUE(7),
WAIT(30),
ALERT_CUE(3),
@ -124,7 +124,7 @@ static const struct ScriptCommand s_gs207_g1_s0_lives1_dlg0[] = { /* 0x8260458 *
FANFARE_PLAY2(457),
CALL_SCRIPT(JUMP_ANGRY_FUNC),
WAIT(30),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
WAIT(15),
FANFARE_PLAY2(458),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
@ -152,12 +152,12 @@ static const struct ScriptCommand s_gs207_g1_s0_lives2_dlg0[] = { /* 0x8260738 *
AWAIT_CUE(6),
WAIT(10),
SELECT_ANIMATION(2),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
CALL_SCRIPT(LOOK_AROUND_FUNC),
AWAIT_CUE(7),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
AWAIT_CUE(7),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(7),
HALT,
};
@ -189,7 +189,7 @@ static const struct ScriptCommand s_gs207_g2_s0_lives0_dlg0[] = { /* 0x8260934 *
VARIANT_DEFAULT(_(" That's where {NAME_2}\nis...")),
TEXTBOX_CLEAR,
ALERT_CUE(6),
ROTATE(4, 10, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_WEST),
WAIT(10),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" {NAME_0}!\nLet's give it our best!")),
@ -209,7 +209,7 @@ static const struct ScriptCommand s_gs207_g2_s0_lives1_dlg0[] = { /* 0x8260b8c *
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 0),
AWAIT_CUE(6),
{ 0x53, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
WAIT(10),
@ -270,7 +270,7 @@ static const struct ScriptCommand s_gs207_g3_s0_lives0_dlg0[] = { /* 0x8260d38 *
WAIT(10),
ALERT_CUE(6),
ALERT_CUE(7),
ROTATE(4, 10, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_WEST),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" Let's storm our way to\nthe top floor!")),
VARIANT_DEFAULT(_(" Let's head for the top!\nThis is it!")),
@ -301,9 +301,9 @@ static const struct ScriptCommand s_gs207_g3_s0_lives1_dlg0[] = { /* 0x826104c *
{ 0x70, 0x00, 0x0200, 0x00000000, 0x00000000, NULL },
SELECT_ANIMATION(2),
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 0),
AWAIT_CUE(6),
{ 0x53, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
WAIT(10),
@ -327,7 +327,7 @@ static const struct ScriptCommand s_gs207_g3_s0_lives2_dlg0[] = { /* 0x82611dc *
{ 0x70, 0x00, 0x0200, 0x00000000, 0x00000000, NULL },
SELECT_ANIMATION(2),
AWAIT_CUE(7),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(7),
{ 0x53, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
WALK_GRID(179, 0),

View File

@ -109,7 +109,7 @@ static const struct ScriptCommand s_gs209_g1_s0_lives0_dlg0[] = { /* 0x826223c *
ALERT_CUE(6),
ALERT_CUE(7),
ALERT_CUE(10),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
WAIT(20),
ALERT_CUE(4),
ALERT_CUE(3),
@ -132,7 +132,7 @@ static const struct ScriptCommand s_gs209_g1_s0_lives1_dlg0[] = { /* 0x826282c *
CALL_SCRIPT(NOTICE_FUNC),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(6),
HALT,
};
@ -145,7 +145,7 @@ static const struct ScriptCommand s_gs209_g1_s0_lives2_dlg0[] = { /* 0x826290c *
AWAIT_CUE(10),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
AWAIT_CUE(10),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(10),
HALT,
};
@ -158,7 +158,7 @@ static const struct ScriptCommand s_gs209_g1_s0_lives3_dlg0[] = { /* 0x82629ac *
AWAIT_CUE(10),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
AWAIT_CUE(10),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(10),
HALT,
};

View File

@ -51,7 +51,7 @@ static const struct ScriptCommand s_gs216_g1_s0_lives0_dlg0[] = { /* 0x8267cc8 *
{ 0xdf, 0x00, 0x0000, 0x00000000, 0x00000000, NULL },
WAIT(30),
WALK_GRID(256, 0),
{ 0x93, 0x04, 0x0001, 0x00000068, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_SPINRIGHT1, 104),
WAIT(30),
{ 0x56, 0x00, 0x0000, 0x0000005a, 0x00000000, NULL },
PORTRAIT(PLACEMENT_TOP_LEFT, 0x0000, 0x00000000),
@ -60,7 +60,7 @@ static const struct ScriptCommand s_gs216_g1_s0_lives0_dlg0[] = { /* 0x8267cc8 *
{ 0x56, 0x00, 0x0000, 0x00000000, 0x00000000, NULL },
ALERT_CUE(6),
AWAIT_CUE(5),
{ 0x93, 0x04, 0x000a, 0x00000068, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 104),
WAIT(30),
PORTRAIT(PLACEMENT_RIGHT, 0x0001, 0x00000003),
MSG_NPC(1, _(" Gasp, gasp...{WAIT_PRESS}\nThis is rough going...")),
@ -118,7 +118,7 @@ static const struct ScriptCommand s_gs216_g1_s0_lives0_dlg0[] = { /* 0x8267cc8 *
FANFARE_PLAY2(465),
CALL_SCRIPT(NOTICE_FUNC),
WAIT(60),
{ 0x93, 0x04, 0x000a, 0x00000068, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 104),
WAIT(30),
MSG_NPC(0, _(" Hm?{WAIT_PRESS} What's wrong?{WAIT_PRESS}\nAre you still wiped out?")),
TEXTBOX_CLEAR,
@ -129,13 +129,13 @@ static const struct ScriptCommand s_gs216_g1_s0_lives0_dlg0[] = { /* 0x8267cc8 *
MSG_NPC(1, _(" I thought I heard a voice...")),
TEXTBOX_CLEAR,
WAIT(10),
{ 0x92, 0x04, 0x0001, 0x00000003, 0x00000000, NULL },
CMD_UNK_92(4, 1, DIR_TRANS_SPINRIGHT2),
WAIT(15),
{ 0x92, 0x04, 0x0002, 0x00000005, 0x00000000, NULL },
CMD_UNK_92(4, 2, DIR_TRANS_FLIP),
WAIT(15),
{ 0x92, 0x04, 0x0001, 0x00000003, 0x00000000, NULL },
CMD_UNK_92(4, 1, DIR_TRANS_SPINRIGHT2),
WAIT(30),
{ 0x93, 0x04, 0x000a, 0x00000068, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 104),
MSG_NPC(0, _(" ...No?{WAIT_PRESS}\nI don't hear anything.")),
TEXTBOX_CLEAR,
WAIT(10),
@ -146,13 +146,13 @@ static const struct ScriptCommand s_gs216_g1_s0_lives0_dlg0[] = { /* 0x8267cc8 *
TEXTBOX_CLEAR,
WAIT(10),
ALERT_CUE(6),
{ 0x92, 0x04, 0x0001, 0x00000003, 0x00000000, NULL },
CMD_UNK_92(4, 1, DIR_TRANS_SPINRIGHT2),
WAIT(15),
{ 0x92, 0x04, 0x0002, 0x00000005, 0x00000000, NULL },
CMD_UNK_92(4, 2, DIR_TRANS_FLIP),
WAIT(15),
{ 0x92, 0x04, 0x0002, 0x00000004, 0x00000000, NULL },
CMD_UNK_92(4, 2, DIR_TRANS_SPINLEFT2),
WAIT(15),
{ 0x92, 0x04, 0x0002, 0x00000005, 0x00000000, NULL },
CMD_UNK_92(4, 2, DIR_TRANS_FLIP),
WAIT(30),
TEXTBOX_AUTO_PRESS(-1, -1),
MSG_NPC(0, _(" Wh-who's there?!")),
@ -237,14 +237,14 @@ static const struct ScriptCommand s_gs216_g1_s0_lives1_dlg0[] = { /* 0x8268c90 *
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(6),
WALK_GRID(76, 1),
{ 0x93, 0x04, 0x000a, 0x00000059, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 89),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(8, 10, DIRECTION_NORTHEAST),
ROTATE_TO(8, DIR_TRANS_10, DIRECTION_NORTHEAST),
WAIT(30),
ROTATE(8, 10, DIRECTION_SOUTHEAST),
ROTATE_TO(8, DIR_TRANS_10, DIRECTION_SOUTHEAST),
WAIT(30),
{ 0x93, 0x08, 0x000a, 0x00000059, 0x00000000, NULL },
CMD_UNK_93(8, DIR_TRANS_10, 89),
ALERT_CUE(5),
AWAIT_CUE(6),
{ 0x56, 0x00, 0x0000, 0x0000005e, 0x00000000, NULL },
@ -255,7 +255,7 @@ static const struct ScriptCommand s_gs216_g1_s0_lives1_dlg0[] = { /* 0x8268c90 *
SELECT_ANIMATION(9),
WAIT(120),
SELECT_ANIMATION(2),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
WAIT(15),
SELECT_ANIMATION(18),
{ 0x56, 0x00, 0x0000, 0x00000054, 0x00000000, NULL },
@ -266,7 +266,7 @@ static const struct ScriptCommand s_gs216_g1_s0_lives1_dlg0[] = { /* 0x8268c90 *
ALERT_CUE(7),
AWAIT_CUE(6),
SELECT_ANIMATION(2),
ROTATE(4, 10, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHEAST),
WAIT(15),
SELECT_ANIMATION(18),
{ 0x56, 0x00, 0x0000, 0x00000054, 0x00000000, NULL },
@ -277,7 +277,7 @@ static const struct ScriptCommand s_gs216_g1_s0_lives1_dlg0[] = { /* 0x8268c90 *
ALERT_CUE(7),
AWAIT_CUE(6),
SELECT_ANIMATION(2),
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
WAIT(15),
SELECT_ANIMATION(18),
{ 0x56, 0x00, 0x0000, 0x00000054, 0x00000000, NULL },
@ -288,18 +288,18 @@ static const struct ScriptCommand s_gs216_g1_s0_lives1_dlg0[] = { /* 0x8268c90 *
ALERT_CUE(7),
AWAIT_CUE(6),
SELECT_ANIMATION(2),
{ 0x93, 0x08, 0x000a, 0x00000059, 0x00000000, NULL },
CMD_UNK_93(8, DIR_TRANS_10, 89),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(6),
{ 0x92, 0x04, 0x0002, 0x00000005, 0x00000000, NULL },
CMD_UNK_92(4, 2, DIR_TRANS_FLIP),
WAIT(15),
{ 0x92, 0x04, 0x0002, 0x00000004, 0x00000000, NULL },
CMD_UNK_92(4, 2, DIR_TRANS_SPINLEFT2),
WAIT(15),
{ 0x92, 0x04, 0x0002, 0x00000005, 0x00000000, NULL },
CMD_UNK_92(4, 2, DIR_TRANS_FLIP),
WAIT(15),
{ 0x92, 0x04, 0x0001, 0x00000003, 0x00000000, NULL },
CMD_UNK_92(4, 1, DIR_TRANS_SPINRIGHT2),
AWAIT_CUE(6),
FANFARE_PLAY2(786),
{ 0xe2, 0x00, 0x0312, 0x00000000, 0x00000000, NULL },

View File

@ -105,7 +105,7 @@ static const struct ScriptCommand s_gs218_g1_s0_lives0_dlg0[] = { /* 0x826a108 *
WALK_RELATIVE(256, 8, 0),
WALK_GRID(256, 0),
ALERT_CUE(7),
ROTATE(4, 2, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_WEST),
WAIT(30),
BGM_FADEOUT(90),
FANFARE_PLAY2(500),
@ -126,7 +126,7 @@ static const struct ScriptCommand s_gs218_g1_s0_lives1_dlg0[] = { /* 0x826a408 *
SELECT_ANIMATION(4),
{ 0x2d, 0x07, 0x0002, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(7),
ROTATE(4, 2, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_EAST),
WAIT(30),
SELECT_ANIMATION(22),
STOP_ANIMATION_ON_CURRENT_FRAME,

View File

@ -50,7 +50,7 @@ static const struct ScriptCommand s_gs219_g1_s0_lives0_dlg0[] = { /* 0x826a6b8 *
ALERT_CUE(3),
WAIT(1),
WALK_GRID(204, 1),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
HALT,
};
@ -63,7 +63,7 @@ static const struct ScriptCommand s_gs219_g1_s0_lives1_dlg0[] = { /* 0x826a84c *
WALK_GRID(256, 2),
AWAIT_CUE(6),
WALK_GRID(204, 3),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
HALT,
};

View File

@ -117,14 +117,14 @@ static const struct ScriptCommand s_gs220_g1_s0_lives0_dlg0[] = { /* 0x826abb0 *
TEXTBOX_CLEAR,
WAIT(10),
FANFARE_PLAY2(468),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
WAIT(5),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
WAIT(5),
FANFARE_PLAY2(468),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
WAIT(5),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
WAIT(30),
ALERT_CUE(7),
AWAIT_CUE(5),
@ -142,12 +142,12 @@ static const struct ScriptCommand s_gs220_g1_s0_lives0_dlg0[] = { /* 0x826abb0 *
TEXTBOX_CLEAR,
FANFARE_PLAY2(469),
ALERT_CUE(7),
ROTATE(8, 1, DIRECTION_EAST),
ROTATE_TO(8, DIR_TRANS_SPINRIGHT1, DIRECTION_EAST),
WAIT(10),
FANFARE_PLAY2(469),
ROTATE(8, 2, DIRECTION_WEST),
ROTATE_TO(8, DIR_TRANS_SPINLEFT1, DIRECTION_WEST),
WAIT(10),
ROTATE(8, 1, DIRECTION_NORTH),
ROTATE_TO(8, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
MSG_NPC(2, _(" What? What?!\nWhere is that voice coming from?")),
MSG_NPC(2, _(" Who are you?")),
TEXTBOX_CLEAR,
@ -194,14 +194,14 @@ static const struct ScriptCommand s_gs220_g1_s0_lives0_dlg0[] = { /* 0x826abb0 *
MSG_NPC(2, _(" Gegeh?! What the...?!{WAIT_PRESS}\nI can't move!")),
TEXTBOX_CLEAR,
WAIT(10),
ROTATE(4, 10, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHEAST),
{ 0x33, 0x00, -0x0001, 0x00000000, 0x00000000, _("{CENTER_ALIGN}{NAME_2}, you will not\n{CENTER_ALIGN}be doing the answering...") },
{ 0x33, 0x00, -0x0001, 0x00000000, 0x00000000, _("{CENTER_ALIGN}{NAME_0}.") },
TEXTBOX_CLEAR,
WAIT(10),
FANFARE_PLAY2(465),
CALL_SCRIPT(NOTICE_FUNC),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
WAIT(30),
{ 0x33, 0x00, -0x0001, 0x00000000, 0x00000000, _("{CENTER_ALIGN}{NAME_0}.\n{CENTER_ALIGN}You will answer.") },
TEXTBOX_CLEAR,
@ -274,10 +274,10 @@ static const struct ScriptCommand s_gs220_g1_s0_lives1_dlg0[] = { /* 0x826be2c *
CALL_SCRIPT(LOOK_AROUND_FUNC),
ALERT_CUE(5),
AWAIT_CUE(7),
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
ALERT_CUE(5),
AWAIT_CUE(7),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
ALERT_CUE(5),
AWAIT_CUE(7),
CALL_SCRIPT(LOOK_AROUND_FUNC),
@ -346,7 +346,7 @@ static const struct ScriptCommand s_gs220_g2_s0_lives0_dlg0[] = { /* 0x826c278 *
WAIT(10),
ALERT_CUE(7),
AWAIT_CUE(5),
ROTATE(4, 10, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTH),
PORTRAIT(PLACEMENT_RIGHT, 0x0002, 0x00000043),
MSG_NPC(2, _(" W-wait...")),
TEXTBOX_CLEAR,
@ -363,7 +363,7 @@ static const struct ScriptCommand s_gs220_g2_s0_lives0_dlg0[] = { /* 0x826c278 *
WAIT(120),
ALERT_CUE(7),
WALK_RELATIVE(256, -24, 0),
ROTATE(4, 10, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHEAST),
WAIT(20),
MSG_NPC(2, _(" Let me...{WAIT_PRESS}\nLet me say something!")),
TEXTBOX_CLEAR,
@ -427,7 +427,7 @@ static const struct ScriptCommand s_gs220_g2_s0_lives0_dlg0[] = { /* 0x826c278 *
FANFARE_PLAY2(465),
ALERT_CUE(7),
AWAIT_CUE(5),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
PORTRAIT_REP(0x0002, 0x00000046),
MSG_NPC(2, _(" Ga-{NAME_3}!")),
TEXTBOX_CLEAR,
@ -441,7 +441,7 @@ static const struct ScriptCommand s_gs220_g2_s0_lives0_dlg0[] = { /* 0x826c278 *
TEXTBOX_CLEAR,
WAIT(10),
ALERT_CUE(7),
ROTATE(4, 10, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHEAST),
AWAIT_CUE(5),
PORTRAIT(PLACEMENT_MIDDLE_TOP_RIGHT, 0x0002, 0x00000044),
MSG_NPC(2, _(" N-{NAME_5}!")),
@ -513,12 +513,12 @@ static const struct ScriptCommand s_gs220_g2_s0_lives1_dlg0[] = { /* 0x826d210 *
AWAIT_CUE(7),
{ 0x89, 0x10, 0x0100, 0x00000004, 0x00000000, NULL },
AWAIT_CUE(7),
ROTATE(4, 10, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTH),
FANFARE_PLAY2(465),
CALL_SCRIPT(NOTICE_FUNC),
ALERT_CUE(5),
AWAIT_CUE(7),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
ALERT_CUE(5),
AWAIT_CUE(7),
HALT,

View File

@ -44,7 +44,7 @@ static const struct ScriptCommand s_gs221_g1_s0_lives0_dlg0[] = { /* 0x826d898 *
ALERT_CUE(7),
{ 0x89, 0x50, 0x0099, 0x00000004, 0x00000000, NULL },
AWAIT_CUE(5),
ROTATE(4, 10, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTH),
MSG_NPC(2, _(" You're going to the\n{COLOR YELLOW_D}Murky Cave{RESET}?")),
MSG_NPC(2, _(" Don't forget to take me,\nkekeh!")),
TEXTBOX_CLEAR,

View File

@ -50,7 +50,7 @@ static const struct ScriptCommand s_gs222_g1_s0_lives0_dlg0[] = { /* 0x826dc2c *
ALERT_CUE(3),
WAIT(1),
WALK_GRID(204, 1),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
HALT,
};
@ -63,7 +63,7 @@ static const struct ScriptCommand s_gs222_g1_s0_lives1_dlg0[] = { /* 0x826ddc0 *
WALK_GRID(256, 2),
AWAIT_CUE(6),
WALK_GRID(204, 3),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
HALT,
};

View File

@ -225,11 +225,11 @@ static const struct ScriptCommand s_gs158_g2_s0_lives0_dlg0[] = { /* 0x820d22c *
{ 0x89, 0x30, 0x0100, 0x00000004, 0x00000000, NULL },
{ 0xdf, 0x00, 0x0000, 0x00000000, 0x00000000, NULL },
WAIT(30),
ROTATE(8, 10, DIRECTION_WEST),
ROTATE_TO(8, DIR_TRANS_10, DIRECTION_WEST),
WAIT(30),
ROTATE(8, 10, DIRECTION_EAST),
ROTATE_TO(8, DIR_TRANS_10, DIRECTION_EAST),
WAIT(30),
ROTATE(8, 10, DIRECTION_NORTH),
ROTATE_TO(8, DIR_TRANS_10, DIRECTION_NORTH),
WAIT(60),
{ 0x23, 0x01, 0x001e, 0x00000000, 0x00000000, NULL },
{ 0x8b, 0x00, 0x0005, 0x00000000, 0x00000000, NULL },
@ -376,7 +376,7 @@ static const struct ScriptCommand s_gs158_g2_s0_lives2_dlg0[] = { /* 0x820dccc *
{ 0x52, 0x00, 0x0000, 0x01000000, 0x00000000, NULL },
{ 0x70, 0x00, 0x0080, 0x00000000, 0x00000000, NULL },
WAIT(30),
ROTATE(4, 10, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_WEST),
AWAIT_CUE(7),
{ 0x54, 0x00, 0x0400, 0x00000000, 0x00000000, NULL },
WAIT(60),
@ -388,7 +388,7 @@ static const struct ScriptCommand s_gs158_g2_s0_lives2_dlg0[] = { /* 0x820dccc *
AWAIT_CUE(7),
SELECT_ANIMATION(2),
AWAIT_CUE(7),
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
AWAIT_CUE(7),
HALT,
};
@ -414,7 +414,7 @@ static const struct ScriptCommand s_gs158_g2_s0_lives3_dlg0[] = { /* 0x820df0c *
{ 0x52, 0x00, 0x0000, 0x01000000, 0x00000000, NULL },
{ 0x70, 0x00, 0x0080, 0x00000000, 0x00000000, NULL },
WAIT(30),
ROTATE(4, 10, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_EAST),
ALERT_CUE(5),
AWAIT_CUE(8),
{ 0x54, 0x00, 0x0400, 0x00000000, 0x00000000, NULL },
@ -427,7 +427,7 @@ static const struct ScriptCommand s_gs158_g2_s0_lives3_dlg0[] = { /* 0x820df0c *
AWAIT_CUE(8),
SELECT_ANIMATION(2),
AWAIT_CUE(8),
ROTATE(4, 10, DIRECTION_SOUTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHEAST),
AWAIT_CUE(8),
HALT,
};

File diff suppressed because it is too large Load Diff

View File

@ -398,7 +398,7 @@ static const struct ScriptCommand s_gs2_g3_s0_lives0_dlg2[] = { /* 0x817e834 */
MSG_INSTANT(_("{CENTER_ALIGN}Beware--you must take the HM {COLOR GREEN_I}Dive{RESET},\n{CENTER_ALIGN}or a team member must learn {COLOR GREEN_I}Dive{RESET}\n{CENTER_ALIGN}as a move for the team to enter!")),
TEXTBOX_CLEAR,
BGM_SWITCH(8),
{ 0xaf, 0x01, 0x0010, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_STORMY_SEA, TRUE),
SCENARIO_CALC(SCENARIO_SUB2, 33, 4),
JUMP_SCRIPT(END_TALK),
LABEL(0), /* = 0x00 */
@ -439,7 +439,7 @@ static const struct ScriptCommand s_gs2_g3_s0_lives0_dlg3[] = { /* 0x817f2d4 */
{ 0x56, 0x00, 0x0000, 0x00000000, 0x00000000, NULL },
ALERT_CUE(5),
AWAIT_CUE(6),
{ 0x8d, 0x01, 0x0000, 0x00000000, 0x00000000, NULL },
CMD_UNK_8D(1, DIR_TRANS_NONE),
AWAIT_CUE(2),
WAIT(12),
RET,
@ -486,7 +486,7 @@ static const struct ScriptCommand s_gs2_g4_s0_lives0_dlg3[] = { /* 0x817f6b8 */
DEBUGINFO_O(486),
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
{ 0x8d, 0x01, 0x0000, 0x00000000, 0x00000000, NULL },
CMD_UNK_8D(1, DIR_TRANS_NONE),
AWAIT_CUE(6),
{ 0x56, 0x00, 0x0000, 0x0000005d, 0x00000000, NULL },
WAIT(60),
@ -548,7 +548,7 @@ static const struct ScriptCommand s_gs2_g6_s0_lives0_dlg0[] = { /* 0x817f910 */
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0000, 0x00000000, 0x00000000, NULL },
WAIT(1),
{ 0x95, 0x04, 0x000a, 0x00000005, 0x00000000, NULL },
CMD_UNK_95(4, DIR_TRANS_10, 5),
ALERT_CUE(4),
AWAIT_CUE(5),
PORTRAIT(PLACEMENT_LEFT_, 0x0002, 0x00000000),
@ -621,8 +621,8 @@ static const struct ScriptCommand s_gs2_g6_s0_lives0_dlg0[] = { /* 0x817f910 */
ALERT_CUE(7),
ALERT_CUE(8),
WAIT(60),
{ 0x93, 0x08, 0x000a, 0x0000005d, 0x00000000, NULL },
ROTATE(8, 10, DIRECTION_SOUTHEAST),
CMD_UNK_93(8, DIR_TRANS_10, 93),
ROTATE_TO(8, DIR_TRANS_10, DIRECTION_SOUTHEAST),
AWAIT_CUE(5),
CANCEL_EVENTS(5, 0),
{ 0x9b, 0x00, 0x0100, 0x00000000, 0x00000000, NULL },
@ -655,11 +655,11 @@ static const struct ScriptCommand s_gs2_g6_s0_lives2_dlg0[] = { /* 0x81800fc */
{ 0x56, 0x00, 0x0000, 0x00000000, 0x00000000, NULL },
{ 0xe5, 0x00, 0x0005, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(7),
{ 0x93, 0x04, 0x000a, 0x0000005d, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 93),
ALERT_CUE(5),
AWAIT_CUE(7),
CALL_SCRIPT(NOTICE_FUNC),
{ 0x93, 0x04, 0x000a, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 0),
ALERT_CUE(5),
AWAIT_CUE(7),
{ 0x56, 0x00, 0x0000, 0x0000005b, 0x00000000, NULL },
@ -690,10 +690,10 @@ static const struct ScriptCommand s_gs2_g6_s0_lives3_dlg0[] = { /* 0x818034c */
{ 0x53, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
{ 0x2d, 0x07, 0x0003, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(8),
{ 0x93, 0x04, 0x000a, 0x0000005d, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 93),
AWAIT_CUE(8),
CALL_SCRIPT(NOTICE_FUNC),
{ 0x93, 0x04, 0x000a, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 0),
AWAIT_CUE(8),
{ 0x56, 0x00, 0x0000, 0x0000005b, 0x00000000, NULL },
{ 0x54, 0x00, 0x000b, 0x00000000, 0x00000000, NULL },
@ -760,7 +760,7 @@ static const struct ScriptCommand s_gs2_g8_s0_lives0_dlg0[] = { /* 0x8180674 */
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0000, 0x00000000, 0x00000000, NULL },
WAIT(1),
{ 0x95, 0x04, 0x000a, 0x00000005, 0x00000000, NULL },
CMD_UNK_95(4, DIR_TRANS_10, 5),
ALERT_CUE(4),
AWAIT_CUE(5),
PORTRAIT(PLACEMENT_LEFT_, 0x0002, 0x00000000),
@ -823,8 +823,8 @@ static const struct ScriptCommand s_gs2_g8_s0_lives0_dlg0[] = { /* 0x8180674 */
ALERT_CUE(7),
ALERT_CUE(8),
WAIT(60),
{ 0x93, 0x08, 0x000a, 0x0000005d, 0x00000000, NULL },
ROTATE(8, 10, DIRECTION_SOUTHEAST),
CMD_UNK_93(8, DIR_TRANS_10, 93),
ROTATE_TO(8, DIR_TRANS_10, DIRECTION_SOUTHEAST),
AWAIT_CUE(5),
CANCEL_EVENTS(7, 0),
{ 0x9b, 0x00, 0x0100, 0x00000000, 0x00000000, NULL },
@ -852,11 +852,11 @@ static const struct ScriptCommand s_gs2_g8_s0_lives2_dlg0[] = { /* 0x8180e20 */
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0002, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(7),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
ALERT_CUE(5),
AWAIT_CUE(7),
CALL_SCRIPT(NOTICE_FUNC),
{ 0x93, 0x04, 0x000a, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 0),
ALERT_CUE(5),
AWAIT_CUE(7),
{ 0x56, 0x00, 0x0000, 0x0000005b, 0x00000000, NULL },
@ -886,11 +886,11 @@ static const struct ScriptCommand s_gs2_g8_s0_lives3_dlg0[] = { /* 0x8181010 */
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0003, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(8),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
ALERT_CUE(5),
AWAIT_CUE(8),
CALL_SCRIPT(NOTICE_FUNC),
{ 0x93, 0x04, 0x000a, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 0),
AWAIT_CUE(8),
{ 0x56, 0x00, 0x0000, 0x0000005b, 0x00000000, NULL },
{ 0x54, 0x00, 0x000b, 0x00000000, 0x00000000, NULL },
@ -999,7 +999,7 @@ static const struct ScriptCommand s_gs2_g9_s1_lives2_dlg0[] = { /* 0x8181730 */
{ 0x2d, 0x07, 0x0002, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(7),
CALL_SCRIPT(NOTICE_FUNC),
{ 0x93, 0x04, 0x000a, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 0),
ALERT_CUE(5),
AWAIT_CUE(7),
{ 0x56, 0x00, 0x0000, 0x0000005b, 0x00000000, NULL },
@ -1010,7 +1010,7 @@ static const struct ScriptCommand s_gs2_g9_s1_lives2_dlg0[] = { /* 0x8181730 */
SELECT_ANIMATION(2),
{ 0xe5, 0x00, 0x0005, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(7),
{ 0x92, 0x04, 0x000b, 0x00000005, 0x00000000, NULL },
CMD_UNK_92(4, 11, DIR_TRANS_FLIP),
ALERT_CUE(5),
AWAIT_CUE(7),
RET,
@ -1443,11 +1443,11 @@ static const struct ScriptCommand s_gs2_g16_s1_lives0_dlg0[] = { /* 0x8182f18 */
TEXTBOX_CLEAR,
WAIT(20),
ALERT_CUE(8),
ROTATE(4, 1, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_EAST),
FANFARE_PLAY2(470),
CALL_SCRIPT(SWEAT_FUNC),
WAIT(60),
ROTATE(4, 2, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTH),
MSG_NPC(1, _(" “And when the human \nbecomes a Pokémon...”")),
MSG_NPC(1, _(" “The world's balance will\nbe upset...”")),
MSG_NPC(1, _(" ...And that is how the legend\nends.")),
@ -1488,11 +1488,11 @@ static const struct ScriptCommand s_gs2_g16_s1_lives1_dlg0[] = { /* 0x8183b64 */
FANFARE_PLAY2(466),
CALL_SCRIPT(SHOCK_FUNC),
AWAIT_CUE(8),
ROTATE(4, 2, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_WEST),
FANFARE_PLAY2(470),
CALL_SCRIPT(SWEAT_FUNC),
WAIT(60),
ROTATE(4, 1, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
AWAIT_CUE(8),
{ 0x52, 0x00, 0x0000, 0x00001000, 0x00000000, NULL },
RET,
@ -2183,7 +2183,7 @@ static const struct ScriptCommand s_gs2_g29_s0_lives0_dlg0[] = { /* 0x81863ec */
ALERT_CUE(7),
ALERT_CUE(8),
AWAIT_CUE(5),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
PORTRAIT(PLACEMENT_LEFT_, 0x0001, 0x00000000),
MSG_NPC(1, _(" Hi, {NAME_4}!")),
TEXTBOX_CLEAR,
@ -2194,7 +2194,7 @@ static const struct ScriptCommand s_gs2_g29_s0_lives0_dlg0[] = { /* 0x81863ec */
ALERT_CUE(9),
ALERT_CUE(10),
WALK_GRID(256, 16),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
WAIT(30),
FANFARE_PLAY2(468),
ALERT_CUE(6),
@ -2244,7 +2244,7 @@ static const struct ScriptCommand s_gs2_g29_s0_lives0_dlg0[] = { /* 0x81863ec */
ALERT_CUE(9),
ALERT_CUE(10),
WAIT(5),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
WAIT(15),
ALERT_CUE(4),
AWAIT_CUE(5),
@ -2259,7 +2259,7 @@ static const struct ScriptCommand s_gs2_g29_s0_lives0_dlg0[] = { /* 0x81863ec */
ALERT_CUE(9),
ALERT_CUE(11),
WAIT(5),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
WAIT(15),
ALERT_CUE(10),
AWAIT_CUE(5),
@ -2276,7 +2276,7 @@ static const struct ScriptCommand s_gs2_g29_s0_lives0_dlg0[] = { /* 0x81863ec */
ALERT_CUE(8),
ALERT_CUE(10),
WAIT(5),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
WAIT(30),
FANFARE_PLAY2(468),
ALERT_CUE(6),
@ -2370,7 +2370,7 @@ static const struct ScriptCommand s_gs2_g29_s0_lives0_dlg0[] = { /* 0x81863ec */
WAIT(10),
ALERT_CUE(6),
AWAIT_CUE(5),
ROTATE(4, 10, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_WEST),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" {NAME_0}.{WAIT_PRESS}\nWe should go to the cave if we want to\nevolve.")),
VARIANT(/* == */ 3, _(" {NAME_0}.{WAIT_PRESS}\nLet's go to the cave if we're ready to\nevolve.")),
@ -2412,30 +2412,30 @@ static const struct ScriptCommand s_gs2_g29_s0_lives1_dlg0[] = { /* 0x8187888 */
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
WALK_GRID(256, 17),
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
FANFARE_PLAY2(465),
CALL_SCRIPT(NOTICE_FUNC),
ALERT_CUE(5),
AWAIT_CUE(6),
WALK_GRID(256, 18),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_WEST),
WAIT(15),
ROTATE(4, 10, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_EAST),
WAIT(15),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
AWAIT_CUE(6),
ROTATE(8, 10, DIRECTION_NORTHEAST),
ROTATE_TO(8, DIR_TRANS_10, DIRECTION_NORTHEAST),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(6),
CALL_SCRIPT(QUESTION_FUNC),
ALERT_CUE(5),
@ -2444,12 +2444,12 @@ static const struct ScriptCommand s_gs2_g29_s0_lives1_dlg0[] = { /* 0x8187888 */
AWAIT_CUE(6),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
WAIT(90),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_EAST),
ALERT_CUE(5),
AWAIT_CUE(6),
{ 0x52, 0x00, 0x0000, 0x00001000, 0x00000000, NULL },
@ -2463,22 +2463,22 @@ static const struct ScriptCommand s_gs2_g29_s0_lives2_dlg0[] = { /* 0x8187b78 */
WALK_GRID(256, 19),
AWAIT_CUE(7),
WAIT(10),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
AWAIT_CUE(7),
WAIT(5),
WALK_GRID(256, 20),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(7),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
AWAIT_CUE(7),
WAIT(4),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(7),
WAIT(4),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
AWAIT_CUE(7),
WAIT(3),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(7),
CALL_SCRIPT(NOTICE_FUNC),
AWAIT_CUE(7),
@ -2501,20 +2501,20 @@ static const struct ScriptCommand s_gs2_g29_s0_lives3_dlg0[] = { /* 0x8187d98 */
ALERT_CUE(5),
AWAIT_CUE(8),
WAIT(20),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
AWAIT_CUE(8),
WAIT(10),
WALK_GRID(256, 22),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(8),
WAIT(10),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
AWAIT_CUE(8),
WAIT(10),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(8),
WAIT(10),
ROTATE(4, 10, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHWEST),
AWAIT_CUE(8),
WAIT(4),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
@ -2529,21 +2529,21 @@ static const struct ScriptCommand s_gs2_g29_s0_lives4_dlg0[] = { /* 0x8187f58 */
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0004, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(9),
ROTATE(8, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(8, DIR_TRANS_10, DIRECTION_SOUTHWEST),
WAIT(30),
ROTATE(4, 10, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTH),
AWAIT_CUE(9),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
AWAIT_CUE(9),
ROTATE(4, 10, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_EAST),
AWAIT_CUE(9),
ROTATE(8, 10, DIRECTION_SOUTH),
ROTATE_TO(8, DIR_TRANS_10, DIRECTION_SOUTH),
ALERT_CUE(5),
AWAIT_CUE(9),
ROTATE(8, 10, DIRECTION_EAST),
ROTATE_TO(8, DIR_TRANS_10, DIRECTION_EAST),
ALERT_CUE(5),
AWAIT_CUE(9),
ROTATE(8, 10, DIRECTION_SOUTH),
ROTATE_TO(8, DIR_TRANS_10, DIRECTION_SOUTH),
ALERT_CUE(5),
AWAIT_CUE(9),
HALT,
@ -2555,30 +2555,30 @@ static const struct ScriptCommand s_gs2_g29_s0_lives5_dlg0[] = { /* 0x81880b8 */
{ 0x2d, 0x07, 0x0005, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(10),
WAIT(10),
ROTATE(8, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(8, DIR_TRANS_10, DIRECTION_SOUTHWEST),
WAIT(30),
ROTATE(4, 10, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTH),
AWAIT_CUE(10),
ROTATE(10, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(10, DIR_TRANS_10, DIRECTION_SOUTHWEST),
ALERT_CUE(5),
AWAIT_CUE(10),
ROTATE(8, 10, DIRECTION_NORTHWEST),
ROTATE_TO(8, DIR_TRANS_10, DIRECTION_NORTHWEST),
AWAIT_CUE(10),
ROTATE(10, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(10, DIR_TRANS_10, DIRECTION_SOUTHWEST),
ALERT_CUE(5),
AWAIT_CUE(10),
ROTATE(10, 10, DIRECTION_WEST),
ROTATE_TO(10, DIR_TRANS_10, DIRECTION_WEST),
AWAIT_CUE(10),
CALL_SCRIPT(NOTICE_FUNC),
AWAIT_CUE(10),
ROTATE(10, 10, DIRECTION_SOUTH),
ROTATE_TO(10, DIR_TRANS_10, DIRECTION_SOUTH),
{ 0x56, 0x00, 0x0000, 0x00000047, 0x00000000, NULL },
ALERT_CUE(5),
AWAIT_CUE(10),
ROTATE(4, 10, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_WEST),
CALL_SCRIPT(NOTICE_FUNC),
AWAIT_CUE(10),
ROTATE(4, 10, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTH),
AWAIT_CUE(10),
HALT,
};
@ -2589,11 +2589,11 @@ static const struct ScriptCommand s_gs2_g29_s0_lives6_dlg0[] = { /* 0x81882a8 */
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0006, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(11),
ROTATE(12, 10, DIRECTION_NORTHWEST),
ROTATE_TO(12, DIR_TRANS_10, DIRECTION_NORTHWEST),
ALERT_CUE(5),
AWAIT_CUE(11),
WAIT(4),
ROTATE(12, 10, DIRECTION_SOUTH),
ROTATE_TO(12, DIR_TRANS_10, DIRECTION_SOUTH),
AWAIT_CUE(11),
HALT,
};

View File

@ -179,7 +179,7 @@ static const struct ScriptCommand s_gs4_g0_s0_obj0_dlg2[] = { /* 0x818a1f8 */
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0000, 0x00000000, 0x00000000, NULL },
WAIT(1),
{ 0xaf, 0x01, 0x000d, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_DUMMY, TRUE),
SPECIAL_TEXT(SPECIAL_TEXT_BULLETIN_BOARD_JOBS, 0, 0),
COND_EQUAL(1, /* to label */ 0),
COND_EQUAL(2, /* to label */ 1),
@ -212,10 +212,10 @@ static const struct ScriptCommand s_gs4_g0_s0_lives0_dlg0[] = { /* 0x818a358 */
WAIT(15),
{ 0x68, 0x00, 0x0100, 0x00000018, 0x00000000, NULL },
WAIT(15),
ROTATE(30, 10, DIRECTION_WEST),
ROTATE_TO(30, DIR_TRANS_10, DIRECTION_WEST),
WALK_DIRECT(300, 1),
WALK_DIRECT(300, 0),
ROTATE(30, 10, DIRECTION_SOUTH),
ROTATE_TO(30, DIR_TRANS_10, DIRECTION_SOUTH),
WAIT(15),
{ 0x68, 0x00, 0x0100, 0x00000008, 0x00000000, NULL },
WAIT(15),
@ -239,7 +239,7 @@ static const struct ScriptCommand s_gs4_g0_s0_lives1_dlg0[] = { /* 0x818a4f8 */
LABEL(1), /* = 0x01 */
WAIT(90),
WALK_DIRECT(300, 2),
ROTATE(30, 10, DIRECTION_SOUTH),
ROTATE_TO(30, DIR_TRANS_10, DIRECTION_SOUTH),
WAIT(15),
{ 0x68, 0x00, 0x0100, 0x00000008, 0x00000000, NULL },
WAIT(15),
@ -249,7 +249,7 @@ static const struct ScriptCommand s_gs4_g0_s0_lives1_dlg0[] = { /* 0x818a4f8 */
WAIT(15),
{ 0x68, 0x00, 0x0100, 0x00000018, 0x00000000, NULL },
WAIT(15),
ROTATE(30, 10, DIRECTION_EAST),
ROTATE_TO(30, DIR_TRANS_10, DIRECTION_EAST),
WALK_DIRECT(300, 3),
JUMP_LABEL(1),
{ 0x52, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
@ -434,12 +434,12 @@ static const struct ScriptCommand s_gs4_g1_s0_lives4_dlg3[] = { /* 0x818b4d4 */
COND_EQUAL(1, /* to label */ 1),
COND_EQUAL(2, /* to label */ 2),
LABEL(1), /* = 0x01 */
{ 0x8d, 0x01, 0x0000, 0x00000000, 0x00000000, NULL },
CMD_UNK_8D(1, DIR_TRANS_NONE),
AWAIT_CUE(2),
WAIT(12),
RET,
LABEL(2), /* = 0x02 */
{ 0x8d, 0x01, 0x0000, 0x00000000, 0x00000000, NULL },
CMD_UNK_8D(1, DIR_TRANS_NONE),
AWAIT_CUE(6),
FANFARE_PLAY2(465),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
@ -505,35 +505,35 @@ static const struct ScriptCommand s_gs4_g1_s1_lives0_dlg0[] = { /* 0x818b710 */
AWAIT_CUE(5),
MSG_NPC(2, _(" Ha!")),
ALERT_CUE(8),
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
AWAIT_CUE(5),
TEXTBOX_CLEAR,
ALERT_CUE(7),
AWAIT_CUE(5),
MSG_NPC(2, _(" Ha!")),
ALERT_CUE(8),
ROTATE(4, 10, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_WEST),
AWAIT_CUE(5),
TEXTBOX_CLEAR,
ALERT_CUE(7),
AWAIT_CUE(5),
MSG_NPC(2, _(" Ha!")),
ALERT_CUE(8),
ROTATE(4, 10, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTH),
AWAIT_CUE(5),
TEXTBOX_CLEAR,
ALERT_CUE(7),
AWAIT_CUE(5),
MSG_NPC(2, _(" Ha!")),
ALERT_CUE(8),
{ 0x93, 0x04, 0x000a, 0x00000042, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 66),
AWAIT_CUE(5),
TEXTBOX_CLEAR,
ALERT_CUE(7),
AWAIT_CUE(5),
MSG_NPC(2, _(" Ha!")),
ALERT_CUE(8),
{ 0x93, 0x04, 0x000a, 0x00000042, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 66),
AWAIT_CUE(5),
TEXTBOX_CLEAR,
WAIT(30),
@ -586,7 +586,7 @@ static const struct ScriptCommand s_gs4_g1_s1_lives1_dlg0[] = { /* 0x818bfec */
DEBUGINFO_O(586),
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
{ 0x8e, 0x01, 0x0000, 0x00000000, 0x00000000, NULL },
CMD_UNK_8E(1, DIR_TRANS_NONE, 0),
AWAIT_CUE(6),
{ 0x52, 0x00, 0x0000, 0x00001000, 0x00000000, NULL },
RET,
@ -655,10 +655,10 @@ static const struct ScriptCommand s_gs4_g1_s1_lives2_dlg0[] = { /* 0x818c05c */
SELECT_ANIMATION(2),
ALERT_CUE(5),
AWAIT_CUE(7),
ROTATE(8, 1, DIRECTION_SOUTH),
ROTATE_TO(8, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
ALERT_CUE(5),
AWAIT_CUE(7),
ROTATE(4, 10, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_EAST),
{ 0x52, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
ALERT_CUE(5),
AWAIT_CUE(7),
@ -675,24 +675,24 @@ static const struct ScriptCommand s_gs4_g1_s1_lives3_dlg0[] = { /* 0x818c4dc */
CALL_SCRIPT(NOTICE_FUNC),
{ 0xe5, 0x00, 0x0005, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(8),
ROTATE(4, 10, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_WEST),
WAIT(15),
CALL_SCRIPT(LOOK_AROUND_FUNC),
{ 0xe5, 0x00, 0x0005, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(8),
ROTATE(4, 10, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTHWEST),
{ 0xe5, 0x00, 0x0005, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(8),
ROTATE(4, 10, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_WEST),
{ 0xe5, 0x00, 0x0005, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(8),
ROTATE(4, 10, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTH),
{ 0xe5, 0x00, 0x0005, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(8),
ROTATE(4, 10, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_WEST),
{ 0xe5, 0x00, 0x0005, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(8),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
{ 0xe5, 0x00, 0x0005, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(8),
CALL_SCRIPT(SMILE_START_FUNC),
@ -700,7 +700,7 @@ static const struct ScriptCommand s_gs4_g1_s1_lives3_dlg0[] = { /* 0x818c4dc */
CALL_SCRIPT(SMILE_END_FUNC),
{ 0xe5, 0x00, 0x0005, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(8),
ROTATE(4, 10, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_EAST),
{ 0x53, 0x00, 0x0000, 0x00000400, 0x00000000, NULL },
SELECT_ANIMATION(4),
ALERT_CUE(5),
@ -791,12 +791,12 @@ static const struct ScriptCommand s_gs4_g3_s0_lives0_dlg0[] = { /* 0x818ca80 */
MSG_NPC(1, _(" Did you two put up that job?")),
TEXTBOX_CLEAR,
WAIT(10),
ROTATE(4, 1, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTHEAST),
ALERT_CUE(7),
MSG_NPC(2, _(" Yup, yup!")),
TEXTBOX_CLEAR,
WAIT(10),
ROTATE(4, 2, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTH),
ALERT_CUE(6),
ALERT_CUE(8),
AWAIT_CUE(5),
@ -805,12 +805,12 @@ static const struct ScriptCommand s_gs4_g3_s0_lives0_dlg0[] = { /* 0x818ca80 */
TEXTBOX_CLEAR,
ALERT_CUE(8),
WAIT(10),
ROTATE(4, 1, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTHEAST),
ALERT_CUE(6),
MSG_NPC(2, _(" A bad Mankey gang is going\nwild in our forest.\nEveryone is upset.")),
TEXTBOX_CLEAR,
WAIT(10),
ROTATE(4, 2, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTH),
ALERT_CUE(6),
ALERT_CUE(8),
AWAIT_CUE(5),
@ -818,13 +818,13 @@ static const struct ScriptCommand s_gs4_g3_s0_lives0_dlg0[] = { /* 0x818ca80 */
TEXTBOX_CLEAR,
ALERT_CUE(8),
WAIT(10),
ROTATE(4, 1, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTHEAST),
ALERT_CUE(7),
MSG_NPC(2, _(" We don't know why they\nrampage around...")),
MSG_NPC(2, _(" But they are always angry\nand attack anyone they see!")),
TEXTBOX_CLEAR,
WAIT(10),
ROTATE(4, 2, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTH),
ALERT_CUE(6),
ALERT_CUE(8),
AWAIT_CUE(5),
@ -836,7 +836,7 @@ static const struct ScriptCommand s_gs4_g3_s0_lives0_dlg0[] = { /* 0x818ca80 */
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" Hmm... That is a problem.")),
VARIANT_DEFAULT(_(" Oh, no... That is a problem.")),
ROTATE(4, 1, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_EAST),
ALERT_CUE(6),
PORTRAIT_REP(0x0001, 0x00000000),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
@ -848,7 +848,7 @@ static const struct ScriptCommand s_gs4_g3_s0_lives0_dlg0[] = { /* 0x818ca80 */
TEXTBOX_CLEAR,
WAIT(20),
ALERT_CUE(6),
ROTATE(4, 2, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTH),
ALERT_CUE(8),
AWAIT_CUE(5),
MSG_NPC(3, _(" Wobbuffet!")),
@ -876,17 +876,17 @@ static const struct ScriptCommand s_gs4_g3_s0_lives1_dlg0[] = { /* 0x818d208 */
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(6),
ROTATE(4, 2, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTHWEST),
AWAIT_CUE(6),
ROTATE(4, 1, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
AWAIT_CUE(6),
ROTATE(4, 2, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTHWEST),
AWAIT_CUE(6),
ROTATE(4, 2, DIRECTION_NORTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTHWEST),
AWAIT_CUE(6),
ROTATE(4, 2, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_WEST),
AWAIT_CUE(6),
ROTATE(4, 1, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_NORTH),
AWAIT_CUE(6),
WALK_RELATIVE(256, -80, 0),
HALT,
@ -901,7 +901,7 @@ static const struct ScriptCommand s_gs4_g3_s0_lives2_dlg0[] = { /* 0x818d328 */
WAIT(15),
SELECT_ANIMATION(2),
AWAIT_CUE(7),
ROTATE(4, 1, DIRECTION_SOUTHWEST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTHWEST),
HALT,
};
@ -979,7 +979,7 @@ static const struct ScriptCommand s_gs4_g5_s0_lives0_dlg0[] = { /* 0x818d758 */
PORTRAIT(PLACEMENT_RIGHT, 0x0001, 0x00000000),
ALERT_CUE(6),
AWAIT_CUE(5),
{ 0x93, 0x04, 0x000a, 0x00000022, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 34),
PORTRAIT(PLACEMENT_RIGHT, 0x0001, 0x00000000),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" “Smeargle's desperate plea,“\nhuh...?{WAIT_PRESS}\nThat's some title.")),
@ -988,7 +988,7 @@ static const struct ScriptCommand s_gs4_g5_s0_lives0_dlg0[] = { /* 0x818d758 */
VARIANT_DEFAULT(_(" What does it say?{WAIT_PRESS}\nCan you read it?")),
TEXTBOX_CLEAR,
WAIT(20),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
ALERT_CUE(6),
AWAIT_CUE(5),
MSG_INSTANT(_("{CENTER_ALIGN}{NAME_0} read the letter.")),
@ -1004,7 +1004,7 @@ static const struct ScriptCommand s_gs4_g5_s0_lives0_dlg0[] = { /* 0x818d758 */
WAIT(20),
ALERT_CUE(6),
AWAIT_CUE(5),
{ 0x93, 0x04, 0x000a, 0x00000022, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 34),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" .............{WAIT_PRESS}\nIt says he ran away because he didn't want\nto be an adult...{WAIT_PRESS} What's up with that?")),
VARIANT(/* == */ 1, _(" I don't really get it, but...{WAIT_PRESS}\nWell, let's go rescue this Smeargle!")),
@ -1031,13 +1031,13 @@ static const struct ScriptCommand s_gs4_g5_s0_lives1_dlg0[] = { /* 0x818def4 */
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000001, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 1),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
ALERT_CUE(5),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000001, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 1),
ALERT_CUE(5),
AWAIT_CUE(6),
HALT,
@ -1089,21 +1089,21 @@ static const struct ScriptCommand s_gs4_g6_s0_lives0_dlg3[] = { /* 0x818e248 */
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(6),
WAIT(30),
{ 0x92, 0x04, 0x0001, 0x00000001, 0x00000000, NULL },
CMD_UNK_92(4, 1, DIR_TRANS_SPINRIGHT1),
WAIT(5),
{ 0x92, 0x04, 0x0002, 0x00000004, 0x00000000, NULL },
CMD_UNK_92(4, 2, DIR_TRANS_SPINLEFT2),
WAIT(5),
{ 0x92, 0x04, 0x0001, 0x00000001, 0x00000000, NULL },
CMD_UNK_92(4, 1, DIR_TRANS_SPINRIGHT1),
ALERT_CUE(5),
AWAIT_CUE(6),
{ 0x92, 0x04, 0x0001, 0x00000001, 0x00000000, NULL },
CMD_UNK_92(4, 1, DIR_TRANS_SPINRIGHT1),
WAIT(5),
{ 0x92, 0x04, 0x0002, 0x00000004, 0x00000000, NULL },
CMD_UNK_92(4, 2, DIR_TRANS_SPINLEFT2),
WAIT(5),
{ 0x92, 0x04, 0x0001, 0x00000001, 0x00000000, NULL },
CMD_UNK_92(4, 1, DIR_TRANS_SPINRIGHT1),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
ALERT_CUE(5),
RET,
};
@ -1235,7 +1235,7 @@ static const struct ScriptCommand s_gs4_g9_s0_lives0_dlg0[] = { /* 0x818eafc */
ALERT_CUE(7),
ALERT_CUE(8),
AWAIT_CUE(5),
{ 0x93, 0x04, 0x000a, 0x0000005d, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 93),
PORTRAIT(PLACEMENT_LEFT_, 0x0002, 0x00000000),
ASK3(FALSE, /*default*/ -1, /* speaker */ 2, _(" Say, sweetie.{WAIT_PRESS}\nHave you seen Gengar around?")),
CHOICE(/* label */ 2, _("Yes.")),
@ -1258,7 +1258,7 @@ static const struct ScriptCommand s_gs4_g9_s0_lives0_dlg0[] = { /* 0x818eafc */
MSG_NPC(2, _(" ...Oh, OK.")),
TEXTBOX_CLEAR,
WAIT(10),
{ 0x93, 0x04, 0x000a, 0x0000005c, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 92),
PORTRAIT(PLACEMENT_RIGHT, 0x0003, 0x00000000),
MSG_NPC(3, _(" Something seems to be\nwrong with Gengar lately.")),
TEXTBOX_CLEAR,
@ -1273,7 +1273,7 @@ static const struct ScriptCommand s_gs4_g9_s0_lives0_dlg0[] = { /* 0x818eafc */
WAIT(10),
ALERT_CUE(7),
AWAIT_CUE(5),
{ 0x93, 0x04, 0x000a, 0x0000005d, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 93),
PORTRAIT_REP(0x0002, 0x00000000),
MSG_NPC(2, _(" You think so?{WAIT_PRESS}\nHis expression...\nIt looks the same as usual, no?")),
MSG_NPC(2, _(" All I have seen is him\nlaughing in his usual mean way?")),
@ -1281,7 +1281,7 @@ static const struct ScriptCommand s_gs4_g9_s0_lives0_dlg0[] = { /* 0x818eafc */
WAIT(10),
ALERT_CUE(8),
AWAIT_CUE(5),
{ 0x93, 0x04, 0x000a, 0x0000005c, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 92),
MSG_NPC(3, _(" No, it's different.{WAIT_PRESS}\nI can tell.")),
MSG_NPC(3, _(" The way he sets his mouth.\nIt's different just a little at the corners.")),
TEXTBOX_CLEAR,
@ -1291,7 +1291,7 @@ static const struct ScriptCommand s_gs4_g9_s0_lives0_dlg0[] = { /* 0x818eafc */
WAIT(10),
ALERT_CUE(7),
AWAIT_CUE(5),
{ 0x93, 0x04, 0x000a, 0x0000005d, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 93),
MSG_NPC(2, _(" Anyway, without Gengar\naround, {COLOR CYAN}Team Meanies{RESET} can't operate.")),
MSG_NPC(2, _(" Such a vexing problem!")),
TEXTBOX_CLEAR,
@ -1328,7 +1328,7 @@ static const struct ScriptCommand s_gs4_g9_s0_lives2_dlg0[] = { /* 0x818f2e4 */
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0002, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(7),
{ 0x93, 0x04, 0x000a, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 0),
AWAIT_CUE(7),
JUMPIF(JUDGE_EQ, EVENT_LOCAL, 1, /* to label */ 0),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
@ -1336,13 +1336,13 @@ static const struct ScriptCommand s_gs4_g9_s0_lives2_dlg0[] = { /* 0x818f2e4 */
AWAIT_CUE(7),
JUMPIF(JUDGE_EQ, EVENT_LOCAL, 0, /* to label */ 0),
LABEL(0), /* = 0x00 */
{ 0x93, 0x04, 0x000a, 0x0000005c, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 92),
ALERT_CUE(5),
AWAIT_CUE(7),
{ 0x93, 0x04, 0x000a, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 0),
ALERT_CUE(5),
AWAIT_CUE(7),
ROTATE(4, 10, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_EAST),
ALERT_CUE(5),
HALT,
};
@ -1354,10 +1354,10 @@ static const struct ScriptCommand s_gs4_g9_s0_lives3_dlg0[] = { /* 0x818f434 */
{ 0x2d, 0x07, 0x0003, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(8),
WAIT(5),
{ 0x93, 0x04, 0x000a, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 0),
ALERT_CUE(5),
AWAIT_CUE(8),
{ 0x93, 0x04, 0x000a, 0x0000005d, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 93),
ALERT_CUE(5),
AWAIT_CUE(8),
HALT,
@ -1505,7 +1505,7 @@ static const struct ScriptCommand s_gs4_g12_s0_station_sref_script[] = { /* 0x81
AWAIT_CUE(3),
SELECT_EVENTS(0, 0),
SELECT_LIVES(0, 0),
{ 0xaf, 0x01, 0x000d, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_DUMMY, TRUE),
RET,
};
@ -1544,7 +1544,7 @@ static const struct ScriptCommand s_gs4_g12_s0_lives0_dlg0[] = { /* 0x818fcdc */
AWAIT_CUE(5),
ALERT_CUE(6),
WALK_GRID(256, 12),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
AWAIT_CUE(5),
PORTRAIT(PLACEMENT_RIGHT, 0x0001, 0x00000000),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
@ -1553,7 +1553,7 @@ static const struct ScriptCommand s_gs4_g12_s0_lives0_dlg0[] = { /* 0x818fcdc */
TEXTBOX_CLEAR,
ALERT_CUE(6),
AWAIT_CUE(5),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" Take a look at this!\nSee this Bulletin Board?")),
VARIANT_DEFAULT(_(" See?\nHave a look at this Bulletin Board.")),
@ -1564,7 +1564,7 @@ static const struct ScriptCommand s_gs4_g12_s0_lives0_dlg0[] = { /* 0x818fcdc */
TEXTBOX_CLEAR,
SPECIAL_TEXT(SPECIAL_TEXT_BULLETIN_BOARD_JOBS, 0, 0),
ALERT_CUE(6),
ROTATE(4, 10, DIRECTION_NORTHEAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTHEAST),
AWAIT_CUE(5),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" See?\nThere were jobs listed, right?")),
@ -1613,14 +1613,14 @@ static const struct ScriptCommand s_gs4_g12_s0_lives1_dlg0[] = { /* 0x81909bc */
AWAIT_CUE(6),
WALK_GRID(256, 13),
WAIT(20),
{ 0x8e, 0x14, 0x0000, 0x00000000, 0x00000000, NULL },
CMD_UNK_8E(20, DIR_TRANS_NONE, 0),
ALERT_CUE(5),
AWAIT_CUE(6),
WAIT(20),
{ 0x8b, 0x14, 0x0004, 0x00000000, 0x00000000, NULL },
ALERT_CUE(5),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 0),
{ 0xe5, 0x00, 0x0005, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(6),
{ 0x52, 0x00, 0x0000, 0x00001000, 0x00000000, NULL },
@ -1638,7 +1638,7 @@ static const struct ScriptCommand s_gs4_g12_s0_lives2_dlg0[] = { /* 0x8190aec */
WAIT(60),
{ 0x68, 0x00, 0x0100, 0x00000018, 0x00000000, NULL },
WAIT(15),
ROTATE(30, 10, DIRECTION_WEST),
ROTATE_TO(30, DIR_TRANS_10, DIRECTION_WEST),
WAIT(15),
WALK_DIRECT(120, 14),
WAIT(15),
@ -1657,7 +1657,7 @@ static const struct ScriptCommand s_gs4_g12_s0_lives3_dlg0[] = { /* 0x8190bec */
WAIT(160),
WALK_DIRECT(120, 15),
WAIT(15),
ROTATE(30, 10, DIRECTION_SOUTH),
ROTATE_TO(30, DIR_TRANS_10, DIRECTION_SOUTH),
WAIT(15),
{ 0x68, 0x00, 0x0100, 0x00000008, 0x00000000, NULL },
WAIT(15),
@ -1776,7 +1776,7 @@ static const struct ScriptCommand s_gs4_g16_s1_lives1_dlg0[] = { /* 0x8191244 */
SELECT_ANIMATION(2),
{ 0x53, 0x00, 0x0000, 0x00000200, 0x00000000, NULL },
AWAIT_CUE(7),
ROTATE(4, 1, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
ALERT_CUE(5),
AWAIT_CUE(7),
{ 0x8b, 0x00, 0x0002, 0x00000000, 0x00000000, NULL },
@ -1796,7 +1796,7 @@ static const struct ScriptCommand s_gs4_g16_s1_lives2_dlg0[] = { /* 0x8191324 */
SELECT_ANIMATION(2),
{ 0x53, 0x00, 0x0000, 0x00000200, 0x00000000, NULL },
AWAIT_CUE(8),
ROTATE(4, 2, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTH),
ALERT_CUE(5),
AWAIT_CUE(8),
{ 0x8b, 0x00, 0x0002, 0x00000000, 0x00000000, NULL },
@ -1889,7 +1889,7 @@ static const struct ScriptCommand s_gs4_g17_s1_lives1_dlg0[] = { /* 0x819171c */
SELECT_ANIMATION(2),
{ 0x53, 0x00, 0x0000, 0x00000200, 0x00000000, NULL },
AWAIT_CUE(7),
ROTATE(4, 1, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
ALERT_CUE(5),
AWAIT_CUE(7),
{ 0x8b, 0x00, 0x0002, 0x00000000, 0x00000000, NULL },
@ -1909,7 +1909,7 @@ static const struct ScriptCommand s_gs4_g17_s1_lives2_dlg0[] = { /* 0x81917fc */
SELECT_ANIMATION(2),
{ 0x53, 0x00, 0x0000, 0x00000200, 0x00000000, NULL },
AWAIT_CUE(8),
ROTATE(4, 2, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTH),
ALERT_CUE(5),
AWAIT_CUE(8),
{ 0x8b, 0x00, 0x0002, 0x00000000, 0x00000000, NULL },
@ -1971,10 +1971,10 @@ static const struct ScriptCommand s_gs4_g18_s0_lives0_dlg3[] = { /* 0x8191c7c */
{ 0x2d, 0x09, 0x0003, 0x00000000, 0x00000000, NULL },
{ 0x53, 0x00, 0x0000, 0x00000200, 0x00000000, NULL },
AWAIT_CUE(6),
{ 0x8e, 0x0a, 0x000a, 0x00000000, 0x00000000, NULL },
CMD_UNK_8E(10, DIR_TRANS_10, 0),
ALERT_CUE(5),
AWAIT_CUE(6),
ROTATE(4, 10, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_EAST),
ALERT_CUE(5),
HALT,
};
@ -2081,7 +2081,7 @@ static const struct ScriptCommand s_gs4_g19_s1_lives1_dlg0[] = { /* 0x8192548 */
SELECT_ANIMATION(2),
{ 0x53, 0x00, 0x0000, 0x00000200, 0x00000000, NULL },
AWAIT_CUE(7),
ROTATE(4, 1, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_SOUTH),
ALERT_CUE(5),
AWAIT_CUE(7),
{ 0x8b, 0x00, 0x0002, 0x00000000, 0x00000000, NULL },
@ -2101,7 +2101,7 @@ static const struct ScriptCommand s_gs4_g19_s1_lives2_dlg0[] = { /* 0x8192628 */
SELECT_ANIMATION(2),
{ 0x53, 0x00, 0x0000, 0x00000200, 0x00000000, NULL },
AWAIT_CUE(8),
ROTATE(4, 2, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTH),
ALERT_CUE(5),
AWAIT_CUE(8),
{ 0x8b, 0x00, 0x0002, 0x00000000, 0x00000000, NULL },
@ -2142,7 +2142,7 @@ static const struct ScriptCommand s_gs4_g20_s0_lives1_dlg0[] = { /* 0x81927b4 */
SELECT_ANIMATION(2),
{ 0x53, 0x00, 0x0000, 0x00000200, 0x00000000, NULL },
AWAIT_CUE(8),
ROTATE(4, 2, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTH),
ALERT_CUE(5),
AWAIT_CUE(8),
{ 0x8b, 0x00, 0x0002, 0x00000000, 0x00000000, NULL },
@ -2214,7 +2214,7 @@ static const struct ScriptCommand s_gs4_g20_s1_lives1_dlg0[] = { /* 0x81929a0 */
MSG_NPC(2, _(" Hah!")),
ALERT_CUE(6),
ALERT_CUE(8),
{ 0x93, 0x04, 0x000a, 0x00000042, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 66),
TEXTBOX_CLEAR,
ALERT_CUE(7),
AWAIT_CUE(5),
@ -2222,7 +2222,7 @@ static const struct ScriptCommand s_gs4_g20_s1_lives1_dlg0[] = { /* 0x81929a0 */
MSG_NPC(2, _(" Hah!")),
ALERT_CUE(6),
ALERT_CUE(8),
{ 0x93, 0x04, 0x000a, 0x00000042, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 66),
TEXTBOX_CLEAR,
ALERT_CUE(7),
AWAIT_CUE(5),
@ -2230,14 +2230,14 @@ static const struct ScriptCommand s_gs4_g20_s1_lives1_dlg0[] = { /* 0x81929a0 */
MSG_NPC(2, _(" Hah!")),
ALERT_CUE(6),
ALERT_CUE(8),
{ 0x93, 0x04, 0x000a, 0x00000042, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 66),
TEXTBOX_CLEAR,
PORTRAIT(PLACEMENT_RIGHT, 0x0002, 0x00000000),
ALERT_CUE(7),
AWAIT_CUE(5),
ALERT_CUE(6),
ALERT_CUE(8),
{ 0x93, 0x04, 0x000a, 0x00000042, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 66),
TEXTBOX_AUTO_PRESS(30, 30),
PORTRAIT(PLACEMENT_LEFT_FLIP, 0x0002, 0x00000000),
MSG_NPC(2, _(" Hah!")),
@ -2266,15 +2266,15 @@ static const struct ScriptCommand s_gs4_g20_s1_lives2_dlg0[] = { /* 0x8192fa8 */
DEBUGINFO_O(2266),
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
{ 0x8e, 0x01, 0x0000, 0x00000000, 0x00000000, NULL },
CMD_UNK_8E(1, DIR_TRANS_NONE, 0),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000042, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 66),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000042, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 66),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000042, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 66),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000042, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 66),
AWAIT_CUE(6),
{ 0x52, 0x00, 0x0000, 0x00001000, 0x00000000, NULL },
RET,
@ -2287,7 +2287,7 @@ static const struct ScriptCommand s_gs4_g20_s1_lives3_dlg0[] = { /* 0x8193098 */
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0002, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(7),
ROTATE(4, 10, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTH),
ALERT_CUE(5),
AWAIT_CUE(7),
{ 0x54, 0x00, 0x0400, 0x00000000, 0x00000000, NULL },
@ -2345,7 +2345,7 @@ static const struct ScriptCommand s_gs4_g20_s1_lives3_dlg0[] = { /* 0x8193098 */
ALERT_CUE(5),
AWAIT_CUE(7),
SELECT_ANIMATION(2),
ROTATE(8, 10, DIRECTION_SOUTH),
ROTATE_TO(8, DIR_TRANS_10, DIRECTION_SOUTH),
ALERT_CUE(5),
AWAIT_CUE(7),
{ 0x8b, 0x00, 0x0002, 0x00000000, 0x00000000, NULL },
@ -2365,16 +2365,16 @@ static const struct ScriptCommand s_gs4_g20_s1_lives4_dlg0[] = { /* 0x8193528 */
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0003, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(8),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
ALERT_CUE(5),
AWAIT_CUE(8),
{ 0x93, 0x04, 0x000a, 0x00000042, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 66),
AWAIT_CUE(8),
{ 0x93, 0x04, 0x000a, 0x00000042, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 66),
AWAIT_CUE(8),
{ 0x93, 0x04, 0x000a, 0x00000042, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 66),
AWAIT_CUE(8),
{ 0x93, 0x04, 0x000a, 0x00000042, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 66),
AWAIT_CUE(8),
{ 0x8b, 0x00, 0x0002, 0x00000000, 0x00000000, NULL },
ALERT_CUE(5),
@ -2473,7 +2473,7 @@ static const struct ScriptCommand s_gs4_g21_s1_lives0_dlg0[] = { /* 0x8193870 */
MSG_NPC(2, _(" Hah!")),
ALERT_CUE(6),
ALERT_CUE(8),
{ 0x93, 0x04, 0x000a, 0x00000042, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 66),
TEXTBOX_CLEAR,
ALERT_CUE(7),
AWAIT_CUE(5),
@ -2482,7 +2482,7 @@ static const struct ScriptCommand s_gs4_g21_s1_lives0_dlg0[] = { /* 0x8193870 */
MSG_NPC(2, _(" Hah!")),
ALERT_CUE(6),
ALERT_CUE(8),
{ 0x93, 0x04, 0x000a, 0x00000042, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 66),
TEXTBOX_CLEAR,
ALERT_CUE(7),
AWAIT_CUE(5),
@ -2490,13 +2490,13 @@ static const struct ScriptCommand s_gs4_g21_s1_lives0_dlg0[] = { /* 0x8193870 */
MSG_NPC(2, _(" Hah!")),
ALERT_CUE(6),
ALERT_CUE(8),
{ 0x93, 0x04, 0x000a, 0x00000042, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 66),
TEXTBOX_CLEAR,
ALERT_CUE(7),
AWAIT_CUE(5),
ALERT_CUE(6),
ALERT_CUE(8),
{ 0x93, 0x04, 0x000a, 0x00000042, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 66),
TEXTBOX_AUTO_PRESS(30, 30),
PORTRAIT(PLACEMENT_RIGHT_FLIP, 0x0002, 0x00000000),
MSG_NPC(2, _(" Hah!")),
@ -2524,15 +2524,15 @@ static const struct ScriptCommand s_gs4_g21_s1_lives1_dlg0[] = { /* 0x8193edc */
DEBUGINFO_O(2524),
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
{ 0x8e, 0x01, 0x0000, 0x00000000, 0x00000000, NULL },
CMD_UNK_8E(1, DIR_TRANS_NONE, 0),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000042, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 66),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000042, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 66),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000042, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 66),
AWAIT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000042, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 66),
AWAIT_CUE(6),
{ 0x52, 0x00, 0x0000, 0x00001000, 0x00000000, NULL },
RET,
@ -2545,7 +2545,7 @@ static const struct ScriptCommand s_gs4_g21_s1_lives2_dlg0[] = { /* 0x8193fcc */
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0002, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(7),
ROTATE(4, 10, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTH),
ALERT_CUE(5),
AWAIT_CUE(7),
{ 0x54, 0x00, 0x0400, 0x00000000, 0x00000000, NULL },
@ -2603,7 +2603,7 @@ static const struct ScriptCommand s_gs4_g21_s1_lives2_dlg0[] = { /* 0x8193fcc */
ALERT_CUE(5),
AWAIT_CUE(7),
SELECT_ANIMATION(2),
ROTATE(8, 10, DIRECTION_SOUTH),
ROTATE_TO(8, DIR_TRANS_10, DIRECTION_SOUTH),
ALERT_CUE(5),
AWAIT_CUE(7),
{ 0x8b, 0x00, 0x0002, 0x00000000, 0x00000000, NULL },
@ -2623,16 +2623,16 @@ static const struct ScriptCommand s_gs4_g21_s1_lives3_dlg0[] = { /* 0x819445c */
{ 0x53, 0x00, 0x0000, 0x00000200, 0x00000000, NULL },
{ 0x2d, 0x07, 0x0003, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(8),
ROTATE(4, 10, DIRECTION_NORTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_NORTH),
ALERT_CUE(5),
AWAIT_CUE(8),
{ 0x93, 0x04, 0x000a, 0x00000042, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 66),
AWAIT_CUE(8),
{ 0x93, 0x04, 0x000a, 0x00000042, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 66),
AWAIT_CUE(8),
{ 0x93, 0x04, 0x000a, 0x00000042, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 66),
AWAIT_CUE(8),
{ 0x93, 0x04, 0x000a, 0x00000042, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 66),
AWAIT_CUE(8),
{ 0x8b, 0x00, 0x0002, 0x00000000, 0x00000000, NULL },
ALERT_CUE(5),
@ -2748,7 +2748,7 @@ static const struct ScriptCommand s_gs4_g22_s1_lives1_dlg0[] = { /* 0x8194c3c */
DEBUGINFO_O(2748),
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
{ 0x8e, 0x01, 0x0000, 0x00000000, 0x00000000, NULL },
CMD_UNK_8E(1, DIR_TRANS_NONE, 0),
AWAIT_CUE(6),
{ 0x52, 0x00, 0x0000, 0x00001000, 0x00000000, NULL },
RET,
@ -2760,7 +2760,7 @@ static const struct ScriptCommand s_gs4_g22_s1_lives2_dlg0[] = { /* 0x8194cac */
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0002, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(7),
ROTATE(4, 10, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_SOUTH),
ALERT_CUE(5),
AWAIT_CUE(7),
SELECT_ANIMATION(23),
@ -2776,7 +2776,7 @@ static const struct ScriptCommand s_gs4_g22_s1_lives3_dlg0[] = { /* 0x8194d7c */
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0003, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(8),
{ 0x8e, 0x04, 0x000a, 0x00000042, 0x00000000, NULL },
CMD_UNK_8E(4, DIR_TRANS_10, 66),
ALERT_CUE(5),
AWAIT_CUE(8),
CALL_SCRIPT(LOOK_AROUND_FUNC),
@ -2784,7 +2784,7 @@ static const struct ScriptCommand s_gs4_g22_s1_lives3_dlg0[] = { /* 0x8194d7c */
FANFARE_PLAY2(469),
CALL_SCRIPT(QUESTION_FUNC),
WAIT(10),
ROTATE(4, 10, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_10, DIRECTION_EAST),
ALERT_CUE(5),
HALT,
};
@ -3098,7 +3098,7 @@ static const struct ScriptCommand s_gs4_g28_s0_lives0_dlg3[] = { /* 0x819609c */
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(6),
{ 0x93, 0x04, 0x000a, 0x00000000, 0x00000000, NULL },
CMD_UNK_93(4, DIR_TRANS_10, 0),
ALERT_CUE(5),
AWAIT_CUE(6),
CALL_SCRIPT(NOTICE_FUNC),

View File

@ -317,7 +317,7 @@ static const struct ScriptCommand s_gs5_g5_s0_lives0_dlg0[] = { /* 0x81988f4 */
ALERT_CUE(4),
{ 0x53, 0x00, 0x0000, 0x01000000, 0x00000000, NULL },
{ 0x80, 0x00, 0x0080, 0x00000002, 0x00000000, NULL },
ROTATE(8, 10, DIRECTION_EAST),
ROTATE_TO(8, DIR_TRANS_10, DIRECTION_EAST),
{ 0x80, 0x00, 0x0100, 0x00000003, 0x00000000, NULL },
ALERT_CUE(3),
{ 0x80, 0x00, 0x0100, 0x00000004, 0x00000000, NULL },
@ -329,7 +329,7 @@ static const struct ScriptCommand s_gs5_g5_s0_lives1_dlg0[] = { /* 0x8198a24 */
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(6),
ROTATE(8, 10, DIRECTION_WEST),
ROTATE_TO(8, DIR_TRANS_10, DIRECTION_WEST),
HALT,
};

View File

@ -145,9 +145,9 @@ static const struct ScriptCommand s_gs6_g1_s0_lives0_dlg3[] = { /* 0x819947c */
DEBUGINFO_O(145),
CALL_SCRIPT(INIT_PLAZA_SLEEP_TALK_FUNC),
JUMPIF_SCENARIOCHECK(QUEST_SQUARE_ASLEEP, /* to label */ 0),
{ 0x8e, 0x00, 0x0000, 0x00000000, 0x00000000, NULL },
CMD_UNK_8E(0, DIR_TRANS_NONE, 0),
LABEL(0), /* = 0x00 */
{ 0x8d, 0x01, 0x0000, 0x00000000, 0x00000000, NULL },
CMD_UNK_8D(1, DIR_TRANS_NONE),
JUMP_SCRIPT(LIVES_REPLY),
};
@ -231,7 +231,7 @@ static const struct ScriptCommand s_gs6_g2_s0_lives2_dlg0[] = { /* 0x81998c8 */
{ 0x4f, 0x00, 0x0000, 0x00000000, 0x00000000, NULL },
CALL_SCRIPT(INIT_PLAZA_SLEEP_TALK_FUNC),
{ 0x2d, 0x07, 0x0002, 0x00000000, 0x00000000, NULL },
{ 0x8e, 0x00, 0x0000, 0x00000000, 0x00000000, NULL },
CMD_UNK_8E(0, DIR_TRANS_NONE, 0),
AWAIT_CUE(3),
RET,
};
@ -281,7 +281,7 @@ static const struct ScriptCommand s_gs6_g3_s0_lives2_dlg0[] = { /* 0x8199b14 */
{ 0x4f, 0x00, 0x0000, 0x00000000, 0x00000000, NULL },
CALL_SCRIPT(INIT_PLAZA_SLEEP_TALK_FUNC),
{ 0x2d, 0x07, 0x0002, 0x00000000, 0x00000000, NULL },
{ 0x8e, 0x00, 0x0000, 0x00000000, 0x00000000, NULL },
CMD_UNK_8E(0, DIR_TRANS_NONE, 0),
AWAIT_CUE(3),
RET,
};
@ -331,7 +331,7 @@ static const struct ScriptCommand s_gs6_g4_s0_lives2_dlg0[] = { /* 0x8199d60 */
{ 0x4f, 0x00, 0x0000, 0x00000000, 0x00000000, NULL },
CALL_SCRIPT(INIT_PLAZA_SLEEP_TALK_FUNC),
{ 0x2d, 0x07, 0x0002, 0x00000000, 0x00000000, NULL },
{ 0x8e, 0x00, 0x0000, 0x00000000, 0x00000000, NULL },
CMD_UNK_8E(0, DIR_TRANS_NONE, 0),
AWAIT_CUE(3),
RET,
};
@ -381,7 +381,7 @@ static const struct ScriptCommand s_gs6_g5_s0_lives2_dlg0[] = { /* 0x8199fac */
{ 0x4f, 0x00, 0x0000, 0x00000000, 0x00000000, NULL },
CALL_SCRIPT(INIT_PLAZA_SLEEP_TALK_FUNC),
{ 0x2d, 0x07, 0x0002, 0x00000000, 0x00000000, NULL },
{ 0x8e, 0x00, 0x0000, 0x00000000, 0x00000000, NULL },
CMD_UNK_8E(0, DIR_TRANS_NONE, 0),
AWAIT_CUE(3),
RET,
};

View File

@ -51,7 +51,7 @@ static const struct ScriptCommand s_script_LIVES_REPLY_NORMAL[] = { /* 0x811efd8
DEBUGINFO_O(51),
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
{ 0x8d, 0x01, 0x0000, 0x00000000, 0x00000000, NULL },
CMD_UNK_8D(1, DIR_TRANS_NONE),
AWAIT_CUE(2),
WAIT(12),
RET,
@ -60,7 +60,7 @@ static const struct ScriptCommand s_script_LIVES_REPLY_NORMAL[] = { /* 0x811efd8
static const struct ScriptCommand s_script_LIVES_REPLY[] = { /* 0x811f048 */
DEBUGINFO_O(61),
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
{ 0x8d, 0x01, 0x0000, 0x00000000, 0x00000000, NULL },
CMD_UNK_8D(1, DIR_TRANS_NONE),
AWAIT_CUE(2),
WAIT(12),
RET,
@ -162,7 +162,7 @@ static const struct ScriptCommand s_script_HABITAT_MOVE1[] = { /* 0x811f7c0 */
LABEL(0), /* = 0x00 */
SELECT_ANIMATION(1),
LABEL(1), /* = 0x01 */
{ 0x8a, 0x18, 0x0100, 0x00000009, 0x00000000, NULL },
CMD_UNK_8A(24, 256, DIR_TRANS_RAND),
WAIT_RANDOM(24, 48),
JUMP_LABEL(1),
};
@ -177,7 +177,7 @@ static const struct ScriptCommand s_script_HABITAT_MOVE2[] = { /* 0x811f860 */
{ 0x52, 0x00, 0x0000, 0x00000002, 0x00000000, NULL },
{ 0x53, 0x00, 0x0000, 0x00000001, 0x00000000, NULL },
LABEL(1), /* = 0x01 */
{ 0x8a, 0x18, 0x0100, 0x00000009, 0x00000000, NULL },
CMD_UNK_8A(24, 256, DIR_TRANS_RAND),
WAIT_RANDOM(24, 48),
JUMP_LABEL(1),
};
@ -186,7 +186,7 @@ static const struct ScriptCommand s_script_HABITAT_MOVE_PAUSE[] = { /* 0x811f920
DEBUGINFO_O(186),
{ 0x54, 0x00, 0x0300, 0x00000000, 0x00000000, NULL },
SELECT_ANIMATION(3),
{ 0x8d, 0x01, 0x0000, 0x00000000, 0x00000000, NULL },
CMD_UNK_8D(1, DIR_TRANS_NONE),
LABEL(0), /* = 0x00 */
WAIT(240),
JUMP_LABEL(0),
@ -196,7 +196,7 @@ static const struct ScriptCommand s_script_HABITAT_MOVE_STAY_FIX[] = { /* 0x811f
DEBUGINFO_O(196),
{ 0x54, 0x00, 0x0300, 0x00000000, 0x00000000, NULL },
SELECT_ANIMATION(4),
{ 0x8d, 0x01, 0x0000, 0x00000000, 0x00000000, NULL },
CMD_UNK_8D(1, DIR_TRANS_NONE),
LABEL(0), /* = 0x00 */
WAIT(240),
JUMP_LABEL(0),
@ -207,7 +207,7 @@ static const struct ScriptCommand s_script_HABITAT_MOVE_STAY_TURN[] = { /* 0x811
{ 0x54, 0x00, 0x0300, 0x00000000, 0x00000000, NULL },
SELECT_ANIMATION(4),
LABEL(0), /* = 0x00 */
{ 0x8d, 0x01, 0x0009, 0x00000000, 0x00000000, NULL },
CMD_UNK_8D(1, DIR_TRANS_RAND),
WAIT_RANDOM(24, 48),
JUMP_LABEL(0),
};
@ -272,7 +272,7 @@ static const struct ScriptCommand s_script_MOVE_PAUSE[] = { /* 0x811fca0 */
DEBUGINFO_O(272),
{ 0x54, 0x00, 0x0300, 0x00000000, 0x00000000, NULL },
SELECT_ANIMATION(3),
{ 0x8d, 0x01, 0x0000, 0x00000000, 0x00000000, NULL },
CMD_UNK_8D(1, DIR_TRANS_NONE),
LABEL(0), /* = 0x00 */
WAIT(240),
JUMP_LABEL(0),
@ -282,7 +282,7 @@ static const struct ScriptCommand s_script_MOVE_STAY[] = { /* 0x811fd10 */
DEBUGINFO_O(282),
{ 0x54, 0x00, 0x0300, 0x00000000, 0x00000000, NULL },
SELECT_ANIMATION(4),
{ 0x8d, 0x01, 0x0000, 0x00000000, 0x00000000, NULL },
CMD_UNK_8D(1, DIR_TRANS_NONE),
LABEL(0), /* = 0x00 */
WAIT(240),
JUMP_LABEL(0),
@ -301,7 +301,7 @@ static const struct ScriptCommand s_script_MOVE_RANDOM[] = { /* 0x811fde0 */
DEBUGINFO_O(301),
SELECT_ANIMATION(1),
LABEL(0), /* = 0x00 */
{ 0x8a, 0x18, 0x0100, 0x00000008, 0x00000000, NULL },
CMD_UNK_8A(24, 256, DIR_TRANS_RAND_CARDINAL),
WAIT(48),
JUMP_LABEL(0),
};
@ -310,7 +310,7 @@ static const struct ScriptCommand s_script_MOVE_BOY[] = { /* 0x811fe40 */
DEBUGINFO_O(310),
SELECT_ANIMATION(1),
LABEL(0), /* = 0x00 */
{ 0x8a, 0x18, 0x0100, 0x00000008, 0x00000000, NULL },
CMD_UNK_8A(24, 256, DIR_TRANS_RAND_CARDINAL),
WAIT_RANDOM(24, 48),
JUMP_LABEL(0),
};
@ -319,7 +319,7 @@ static const struct ScriptCommand s_script_MOVE_GIRL[] = { /* 0x811fea0 */
DEBUGINFO_O(319),
SELECT_ANIMATION(1),
LABEL(0), /* = 0x00 */
{ 0x8a, 0x10, 0x0100, 0x00000008, 0x00000000, NULL },
CMD_UNK_8A(16, 256, DIR_TRANS_RAND_CARDINAL),
WAIT_RANDOM(16, 24),
JUMP_LABEL(0),
};
@ -345,42 +345,42 @@ static const struct ScriptCommand s_script_WAKEUP_FUNC[] = { /* 0x811ff00 */
static const struct ScriptCommand s_script_LOOK_AROUND_FUNC[] = { /* 0x8120000 */
DEBUGINFO_O(347),
{ 0x92, 0x04, 0x0002, 0x00000004, 0x00000000, NULL },
CMD_UNK_92(4, 2, DIR_TRANS_SPINLEFT2),
WAIT(15),
{ 0x92, 0x04, 0x0001, 0x00000005, 0x00000000, NULL },
CMD_UNK_92(4, 1, DIR_TRANS_FLIP),
WAIT(15),
{ 0x92, 0x04, 0x0002, 0x00000004, 0x00000000, NULL },
CMD_UNK_92(4, 2, DIR_TRANS_SPINLEFT2),
WAIT(15),
RET_DIRECT,
};
static const struct ScriptCommand s_script_LOOK_AROUND_DOWN_FUNC[] = { /* 0x8120080 */
DEBUGINFO_O(358),
ROTATE(4, 2, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_EAST),
WAIT(15),
ROTATE(4, 1, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_WEST),
WAIT(15),
ROTATE(4, 2, DIRECTION_SOUTH),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTH),
RET_DIRECT,
};
static const struct ScriptCommand s_script_LOOK_AROUND_RIGHT_FUNC[] = { /* 0x81200f0 */
DEBUGINFO_O(368),
ROTATE(4, 2, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_EAST),
WAIT(15),
ROTATE(4, 1, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_WEST),
WAIT(15),
ROTATE(4, 2, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_EAST),
RET_DIRECT,
};
static const struct ScriptCommand s_script_LOOK_AROUND_LEFT_FUNC[] = { /* 0x8120160 */
DEBUGINFO_O(378),
ROTATE(4, 1, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_WEST),
WAIT(15),
ROTATE(4, 2, DIRECTION_EAST),
ROTATE_TO(4, DIR_TRANS_SPINLEFT1, DIRECTION_EAST),
WAIT(15),
ROTATE(4, 1, DIRECTION_WEST),
ROTATE_TO(4, DIR_TRANS_SPINRIGHT1, DIRECTION_WEST),
RET_DIRECT,
};
@ -486,7 +486,7 @@ static const struct ScriptCommand s_script_ANGRY_END_FUNC[] = { /* 0x8120560 */
static const struct ScriptCommand s_script_MOVE_PLAZA_SLEEP[] = { /* 0x8120590 */
DEBUGINFO_O(487),
CALL_SCRIPT(INIT_PLAZA_SLEEP_STAY_FUNC),
{ 0x8d, 0x01, 0x0000, 0x00000000, 0x00000000, NULL },
CMD_UNK_8D(1, DIR_TRANS_NONE),
LABEL(0), /* = 0x00 */
WAIT(240),
JUMP_LABEL(0),
@ -1197,7 +1197,7 @@ static const struct ScriptCommand s_script_EVENT_DIVIDE_NEXT_DAY_FUNC[] = { /* 0
JUMP_LABEL(8),
LABEL(7), /* = 0x07 */
SCENARIO_CALC(SCENARIO_SUB8, 51, 7),
{ 0xae, 0x01, 0x001c, 0x00000000, 0x00000000, NULL },
CMD_UNK_AE(RESCUE_DUNGEON_WISH_CAVE),
JUMP_LABEL(8),
LABEL(8), /* = 0x08 */
JUMPIF_SCENE_EQ(SCENARIO_SUB9, 53, 2, /* to label */ 9),
@ -1260,7 +1260,7 @@ static const struct ScriptCommand s_script_EVENT_DIVIDE_NEXT_DAY2_FUNC[] = { /*
JUMP_LABEL(8),
LABEL(7), /* = 0x07 */
SCENARIO_CALC(SCENARIO_SUB8, 51, 7),
{ 0xae, 0x01, 0x001c, 0x00000000, 0x00000000, NULL },
CMD_UNK_AE(RESCUE_DUNGEON_WISH_CAVE),
JUMP_LABEL(8),
LABEL(8), /* = 0x08 */
JUMPIF_SCENE_EQ(SCENARIO_SUB9, 53, 2, /* to label */ 9),
@ -1737,16 +1737,16 @@ static const struct ScriptCommand s_script_EVENT_DIVIDE_AFTER[] = { /* 0x8124268
CALL_SCRIPT(EVENT_S08E01A_END),
CALL_SCRIPT(EVENT_S03E01A_END),
CALL_SCRIPT(EVENT_S09E01A_END),
{ 0xb0, 0x01, 0x001f, 0x00000000, 0x00000000, NULL },
{ 0xb0, 0x01, 0x0020, 0x00000000, 0x00000000, NULL },
{ 0xb0, 0x01, 0x0021, 0x00000000, 0x00000000, NULL },
{ 0xb0, 0x01, 0x0022, 0x00000000, 0x00000000, NULL },
{ 0xb0, 0x01, 0x0023, 0x00000000, 0x00000000, NULL },
{ 0xb0, 0x01, 0x0024, 0x00000000, 0x00000000, NULL },
{ 0xb0, 0x01, 0x0025, 0x00000000, 0x00000000, NULL },
{ 0xb0, 0x01, 0x0027, 0x00000000, 0x00000000, NULL },
{ 0xb0, 0x01, 0x0028, 0x00000000, 0x00000000, NULL },
{ 0xb0, 0x01, 0x0029, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_DESERT_REGION),
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_SOUTHERN_CAVERN),
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_WYVERN_HILL),
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_SOLAR_CAVE),
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_DARKNIGHT_RELIC),
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_GRAND_SEA),
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_WATERFALL_POND),
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_JOYOUS_TOWER),
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_FAR_OFF_SEA),
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_PURITY_FOREST),
JUMP_SCRIPT(EVENT_M02END_L001),
};
@ -1867,7 +1867,7 @@ static const struct ScriptCommand s_script_EVENT_M00E01A_L001[] = { /* 0x81251c0
static const struct ScriptCommand s_script_EVENT_M01E01A_L001[] = { /* 0x8125230 */
DEBUGINFO_O(1868),
EXECUTE_SUBSTATION(178, 1, 0),
{ 0xaf, 0x01, 0x0000, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_TINY_WOODS, TRUE),
RET,
};
@ -1886,7 +1886,7 @@ static const struct ScriptCommand s_script_EVENT_M01E01A_L003[] = { /* 0x81252a0
{ 0x3b, 0x39, 0x0001, 0x00000000, 0x00000000, NULL },
EXECUTE_SUBSTATION(224, 2, 0),
{ 0x3b, 0x39, 0x0000, 0x00000000, 0x00000000, NULL },
{ 0xb0, 0x01, 0x0000, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_TINY_WOODS),
SCENARIO_CALC(SCENARIO_MAIN, 3, 0),
JUMP_SCRIPT(EVENT_DIVIDE),
};
@ -1921,7 +1921,7 @@ static const struct ScriptCommand s_script_EVENT_M01E02A_L002[] = { /* 0x8125400
static const struct ScriptCommand s_script_EVENT_M01E02A_L003[] = { /* 0x8125440 */
DEBUGINFO_O(1922),
EXECUTE_SUBSTATION(180, 1, 0),
{ 0xaf, 0x01, 0x0001, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_THUNDERWAVE_CAVE, TRUE),
SCENARIO_CALC(SCENARIO_MAIN, 3, 6),
RET,
};
@ -1943,7 +1943,7 @@ static const struct ScriptCommand s_script_EVENT_M01E02A_L006[] = { /* 0x81254f0
EXECUTE_SUBSTATION(181, 1, 0),
EXECUTE_SUBSTATION(180, 3, 0),
EXECUTE_SUBSTATION(9, 23, 0),
{ 0xb0, 0x01, 0x0001, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_THUNDERWAVE_CAVE),
SCENARIO_CALC(SCENARIO_MAIN, 4, 0),
UPDATE_VARINT(CALC_SET, GROUND_PLACE, 11),
CALL_SCRIPT(NEXT_SAVE_FUNC),
@ -1980,7 +1980,7 @@ static const struct ScriptCommand s_script_EVENT_M01E02B_L004[] = { /* 0x8125680
EXECUTE_SUBSTATION(12, 2, 0),
EXECUTE_SUBSTATION(162, 2, 0),
EXECUTE_SUBSTATION(12, 20, 0),
{ 0xaf, 0x01, 0x0002, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_MT_STEEL, TRUE),
SCENARIO_CALC(SCENARIO_MAIN, 4, 5),
RET,
};
@ -2016,7 +2016,7 @@ static const struct ScriptCommand s_script_EVENT_M01E02B_L008[] = { /* 0x81257e0
DEBUGINFO_O(2016),
EXECUTE_SUBSTATION(183, 1, 0),
EXECUTE_SUBSTATION(9, 28, 0),
{ 0xb0, 0x01, 0x0002, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_MT_STEEL),
SCENARIO_CALC(SCENARIO_MAIN, 5, 0),
UPDATE_VARINT(CALC_SET, GROUND_PLACE, 11),
CALL_SCRIPT(NEXT_SAVE_FUNC),
@ -2092,7 +2092,7 @@ static const struct ScriptCommand s_script_EVENT_M01E03A_L006[] = { /* 0x8125af0
static const struct ScriptCommand s_script_EVENT_M01E03A_L007[] = { /* 0x8125b30 */
DEBUGINFO_O(2093),
EXECUTE_SUBSTATION(9, 31, 0),
{ 0xaf, 0x01, 0x0003, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_SINISTER_WOODS, TRUE),
SCENARIO_CALC(SCENARIO_MAIN, 5, 9),
RET,
};
@ -2120,7 +2120,7 @@ static const struct ScriptCommand s_script_EVENT_M01E03A_L011[] = { /* 0x8125c20
DEBUGINFO_O(2120),
EXECUTE_SUBSTATION(185, 1, 0),
EXECUTE_SUBSTATION(9, 34, 0),
{ 0xb0, 0x01, 0x0003, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_SINISTER_WOODS),
SCENARIO_CALC(SCENARIO_MAIN, 6, 0),
CALL_SCRIPT(DISMISSAL_SALLY_MEMBER_FUNC),
UPDATE_VARINT(CALC_SET, GROUND_PLACE, 11),
@ -2148,7 +2148,7 @@ static const struct ScriptCommand s_script_EVENT_M01E04A_L002[] = { /* 0x8125d30
{ 0x3b, 0x3b, 0x0000, 0x00000000, 0x00000000, NULL },
EXECUTE_SUBSTATION(1, 12, 0),
EXECUTE_SUBSTATION(9, 36, 0),
{ 0xaf, 0x01, 0x0004, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_SILENT_CHASM, TRUE),
SCENARIO_CALC(SCENARIO_MAIN, 6, 3),
RET,
};
@ -2176,7 +2176,7 @@ static const struct ScriptCommand s_script_EVENT_M01E04A_L006[] = { /* 0x8125e50
DEBUGINFO_O(2176),
EXECUTE_SUBSTATION(187, 1, 0),
EXECUTE_SUBSTATION(9, 39, 0),
{ 0xb0, 0x01, 0x0004, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_SILENT_CHASM),
SCENARIO_CALC(SCENARIO_MAIN, 7, 0),
CALL_SCRIPT(DISMISSAL_SALLY_MEMBER_FUNC),
UPDATE_VARINT(CALC_SET, GROUND_PLACE, 11),
@ -2201,7 +2201,7 @@ static const struct ScriptCommand s_script_EVENT_M01E04B_L001[] = { /* 0x8125f20
static const struct ScriptCommand s_script_EVENT_M01E04B_L002[] = { /* 0x8125f60 */
DEBUGINFO_O(2202),
EXECUTE_SUBSTATION(9, 40, 0),
{ 0xaf, 0x01, 0x0005, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_MT_THUNDER, TRUE),
SCENARIO_CALC(SCENARIO_MAIN, 7, 3),
RET,
};
@ -2234,7 +2234,7 @@ static const struct ScriptCommand s_script_EVENT_M01E04B_L006[] = { /* 0x8126050
static const struct ScriptCommand s_script_EVENT_M01E04B_L007[] = { /* 0x8126080 */
DEBUGINFO_O(2235),
EXECUTE_SUBSTATION(190, 1, 0),
{ 0xb0, 0x01, 0x0005, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_MT_THUNDER),
SCENARIO_CALC(SCENARIO_MAIN, 8, 0),
CALL_SCRIPT(DISMISSAL_SALLY_MEMBER_FUNC),
UPDATE_VARINT(CALC_SET, GROUND_PLACE, 11),
@ -2259,7 +2259,7 @@ static const struct ScriptCommand s_script_EVENT_M01E05A_L001[] = { /* 0x8126140
static const struct ScriptCommand s_script_EVENT_M01E05A_L002[] = { /* 0x8126180 */
DEBUGINFO_O(2260),
EXECUTE_SUBSTATION(9, 43, 0),
{ 0xaf, 0x01, 0x0006, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_GREAT_CANYON, TRUE),
SCENARIO_CALC(SCENARIO_MAIN, 8, 3),
RET,
};
@ -2286,7 +2286,7 @@ static const struct ScriptCommand s_script_EVENT_M01E05A_L005[] = { /* 0x8126240
static const struct ScriptCommand s_script_EVENT_M01E05A_L006[] = { /* 0x8126270 */
DEBUGINFO_O(2287),
EXECUTE_SUBSTATION(192, 2, 0),
{ 0xb0, 0x01, 0x0006, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_GREAT_CANYON),
SCENARIO_CALC(SCENARIO_MAIN, 9, 0),
CALL_SCRIPT(DISMISSAL_SALLY_MEMBER_FUNC),
UPDATE_VARINT(CALC_SET, GROUND_PLACE, 11),
@ -2389,7 +2389,7 @@ static const struct ScriptCommand s_script_EVENT_M01E07A_L002[] = { /* 0x81265e0
static const struct ScriptCommand s_script_EVENT_M01E07A_L003[] = { /* 0x81266a0 */
DEBUGINFO_O(2390),
EXECUTE_SUBSTATION(193, 1, 0),
{ 0xaf, 0x01, 0x0007, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_LAPIS_CAVE, TRUE),
RET,
};
@ -2407,7 +2407,7 @@ static const struct ScriptCommand s_script_EVENT_M01E07A_L005[] = { /* 0x8126710
EXECUTE_SUBSTATION(167, 1, 0),
{ 0x3b, 0x39, 0x0000, 0x00000000, 0x00000000, NULL },
EXECUTE_SUBSTATION(166, 2, 0),
{ 0xb0, 0x01, 0x0007, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_LAPIS_CAVE),
SCENARIO_CALC(SCENARIO_MAIN, 12, 0),
UPDATE_VARINT(CALC_SET, GROUND_PLACE, 24),
CALL_SCRIPT(NEXT_SAVE_FUNC),
@ -2435,7 +2435,7 @@ static const struct ScriptCommand s_script_EVENT_M01E07B_L001[] = { /* 0x8126830
static const struct ScriptCommand s_script_EVENT_M01E07B_L002[] = { /* 0x8126870 */
DEBUGINFO_O(2437),
{ 0xaf, 0x01, 0x0008, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_MT_BLAZE, TRUE),
RET,
};
@ -2457,7 +2457,7 @@ static const struct ScriptCommand s_script_EVENT_M01E07B_L005[] = { /* 0x8126900
{ 0x3b, 0x39, 0x0001, 0x00000000, 0x00000000, NULL },
EXECUTE_SUBSTATION(167, 2, 0),
{ 0x3b, 0x39, 0x0000, 0x00000000, 0x00000000, NULL },
{ 0xb0, 0x01, 0x0008, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_MT_BLAZE),
SCENARIO_CALC(SCENARIO_MAIN, 13, 0),
UPDATE_VARINT(CALC_SET, GROUND_PLACE, 26),
CALL_SCRIPT(NEXT_SAVE_FUNC),
@ -2490,7 +2490,7 @@ static const struct ScriptCommand s_script_EVENT_M01E08A_L001[] = { /* 0x8126a00
static const struct ScriptCommand s_script_EVENT_M01E08A_L002[] = { /* 0x8126a80 */
DEBUGINFO_O(2491),
EXECUTE_SUBSTATION(198, 1, 0),
{ 0xaf, 0x01, 0x0009, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_FROSTY_FOREST, TRUE),
RET,
};
@ -2502,7 +2502,7 @@ static const struct ScriptCommand s_script_EVENT_M01E08A_L003[] = { /* 0x8126ac0
static const struct ScriptCommand s_script_EVENT_M01E08A_L004[] = { /* 0x8126af0 */
DEBUGINFO_O(2504),
JUMPIF_UNK_BC(8, /* to label */ 0),
JUMPIF_CUTSCENE_FLAG(CUTSCENE_FLAG_FROSTY_GROTTO_REACHED, /* to label */ 0),
EXECUTE_SUBSTATION(199, 1, 0),
JUMP_LABEL(1),
LABEL(0), /* = 0x00 */
@ -2514,7 +2514,7 @@ static const struct ScriptCommand s_script_EVENT_M01E08A_L004[] = { /* 0x8126af0
static const struct ScriptCommand s_script_EVENT_M01E08A_L005[] = { /* 0x8126b70 */
DEBUGINFO_O(2515),
EXECUTE_SUBSTATION(200, 1, 0),
{ 0xb0, 0x01, 0x0009, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_FROSTY_FOREST),
SCENARIO_CALC(SCENARIO_MAIN, 14, 0),
UPDATE_VARINT(CALC_SET, GROUND_PLACE, 28),
CALL_SCRIPT(NEXT_SAVE_FUNC),
@ -2547,7 +2547,7 @@ static const struct ScriptCommand s_script_EVENT_M01E08B_L001[] = { /* 0x8126c40
static const struct ScriptCommand s_script_EVENT_M01E08B_L002[] = { /* 0x8126cc0 */
DEBUGINFO_O(2548),
EXECUTE_SUBSTATION(201, 1, 0),
{ 0xaf, 0x01, 0x000a, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_MT_FREEZE, TRUE),
RET,
};
@ -2573,7 +2573,7 @@ static const struct ScriptCommand s_script_EVENT_M01E08B_L006[] = { /* 0x8126d90
DEBUGINFO_O(2573),
EXECUTE_SUBSTATION(203, 2, 0),
EXECUTE_SUBSTATION(203, 3, 0),
{ 0xb0, 0x01, 0x000a, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_MT_FREEZE),
SCENARIO_CALC(SCENARIO_MAIN, 15, 0),
UPDATE_VARINT(CALC_SET, GROUND_PLACE, 2),
CALL_SCRIPT(NEXT_SAVE_FUNC),
@ -2664,7 +2664,7 @@ static const struct ScriptCommand s_script_EVENT_M01E09A_L009[] = { /* 0x8127110
EXECUTE_SUBSTATION(162, 8, 0),
{ 0x3b, 0x03, 0x0000, 0x00000000, 0x00000000, NULL },
EXECUTE_SUBSTATION(12, 40, 0),
{ 0xaf, 0x01, 0x000b, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_MAGMA_CAVERN, TRUE),
SCENARIO_CALC(SCENARIO_MAIN, 15, 10),
UPDATE_VARINT(CALC_SET, WARP_LOCK, 0),
RET,
@ -2673,7 +2673,7 @@ static const struct ScriptCommand s_script_EVENT_M01E09A_L009[] = { /* 0x8127110
static const struct ScriptCommand s_script_EVENT_M01E09A_L010[] = { /* 0x81271a0 */
DEBUGINFO_O(2674),
EXECUTE_SUBSTATION(9, 62, 0),
{ 0xaf, 0x01, 0x000b, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_MAGMA_CAVERN, TRUE),
SCENARIO_CALC(SCENARIO_MAIN, 15, 11),
RET,
};
@ -2706,7 +2706,7 @@ static const struct ScriptCommand s_script_EVENT_M01E09A_L014[] = { /* 0x8127290
static const struct ScriptCommand s_script_EVENT_M01E09A_L015[] = { /* 0x81272c0 */
DEBUGINFO_O(2707),
EXECUTE_SUBSTATION(206, 1, 0),
{ 0xb0, 0x01, 0x000b, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_MAGMA_CAVERN),
SCENARIO_CALC(SCENARIO_MAIN, 16, 0),
CALL_SCRIPT(DISMISSAL_SALLY_MEMBER_FUNC),
UPDATE_VARINT(CALC_SET, GROUND_PLACE, 2),
@ -2738,7 +2738,7 @@ static const struct ScriptCommand s_script_EVENT_M01E10A_L002[] = { /* 0x81273f0
EXECUTE_SUBSTATION(162, 9, 0),
{ 0x3b, 0x03, 0x0000, 0x00000000, 0x00000000, NULL },
EXECUTE_SUBSTATION(12, 43, 0),
{ 0xaf, 0x01, 0x000c, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_SKY_TOWER, TRUE),
UPDATE_VARINT(CALC_SET, WARP_LOCK, 0),
RET,
};
@ -2746,7 +2746,7 @@ static const struct ScriptCommand s_script_EVENT_M01E10A_L002[] = { /* 0x81273f0
static const struct ScriptCommand s_script_EVENT_M01E10A_L003[] = { /* 0x81274b0 */
DEBUGINFO_O(2747),
EXECUTE_SUBSTATION(9, 65, 0),
{ 0xaf, 0x01, 0x000c, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_SKY_TOWER, TRUE),
SCENARIO_CALC(SCENARIO_MAIN, 16, 4),
UPDATE_VARINT(CALC_SET, WARP_LOCK, 0),
RET,
@ -2789,7 +2789,7 @@ static const struct ScriptCommand s_script_EVENT_M01E10A_L008[] = { /* 0x8127630
EXECUTE_SUBSTATION(209, 2, 0),
EXECUTE_SUBSTATION(173, 3, 0),
EXECUTE_SUBSTATION(209, 3, 0),
{ 0xb0, 0x01, 0x000c, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_SKY_TOWER),
SCENARIO_CALC(SCENARIO_MAIN, 17, 0),
JUMP_SCRIPT(EVENT_DIVIDE),
};
@ -2968,7 +2968,7 @@ static const struct ScriptCommand s_script_EVENT_S01E01A_CONTINUE[] = { /* 0x812
RET_DIRECT,
LABEL(0), /* = 0x00 */
SCENARIO_CALC(SCENARIO_SUB1, 29, 2),
{ 0xae, 0x01, 0x000e, 0x00000000, 0x00000000, NULL },
CMD_UNK_AE(RESCUE_DUNGEON_UPROAR_FOREST),
RET_DIRECT,
};
@ -2978,14 +2978,14 @@ static const struct ScriptCommand s_script_EVENT_S01E01A_END[] = { /* 0x8127e20
RET_DIRECT,
LABEL(0), /* = 0x00 */
SCENARIO_CALC(SCENARIO_SUB1, 31, 0),
{ 0xb0, 0x01, 0x000e, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_UPROAR_FOREST),
UPDATE_VARINT(CALC_SET, BASE_LEVEL, 2),
RET_DIRECT,
};
static const struct ScriptCommand s_script_EVENT_S01E01A_L001[] = { /* 0x8127ea0 */
DEBUGINFO_O(2987),
{ 0xae, 0x01, 0x000e, 0x00000000, 0x00000000, NULL },
CMD_UNK_AE(RESCUE_DUNGEON_UPROAR_FOREST),
SCENARIO_CALC(SCENARIO_SUB1, 29, 2),
RET,
SCENARIO_CALC(SCENARIO_MAIN, 15, 5),
@ -3002,7 +3002,7 @@ static const struct ScriptCommand s_script_EVENT_S01E01A_L001[] = { /* 0x8127ea0
static const struct ScriptCommand s_script_EVENT_S01E01A_L002[] = { /* 0x8127f60 */
DEBUGINFO_O(3003),
EXECUTE_SUBSTATION(4, 3, 0),
{ 0xaf, 0x01, 0x000e, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_UPROAR_FOREST, TRUE),
SCENARIO_CALC(SCENARIO_SUB1, 29, 3),
SET_DUNGEON_RES(/* result */ 0, /* enter */ -1),
UPDATE_VARINT(CALC_SET, GROUND_ENTER, 4),
@ -3014,7 +3014,7 @@ static const struct ScriptCommand s_script_EVENT_S01E01A_L002[] = { /* 0x8127f60
static const struct ScriptCommand s_script_EVENT_S01E01A_L003[] = { /* 0x8127ff0 */
DEBUGINFO_O(3015),
EXECUTE_SUBSTATION(9, 75, 0),
{ 0xb0, 0x01, 0x000e, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_UPROAR_FOREST),
JUMP_SCRIPT(EVENT_S01E01B_L001),
};
@ -3052,8 +3052,8 @@ static const struct ScriptCommand s_script_EVENT_S01E02A_START[] = { /* 0x812816
RET_DIRECT,
LABEL(0), /* = 0x00 */
SCENARIO_CALC(SCENARIO_SUB1, 31, 1),
{ 0xae, 0x01, 0x000f, 0x00000000, 0x00000000, NULL },
{ 0xb0, 0x01, 0x000e, 0x00000000, 0x00000000, NULL },
CMD_UNK_AE(RESCUE_DUNGEON_HOWLING_FOREST),
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_UPROAR_FOREST),
UNLOCK_FRIEND_AREA(MAP_FRIEND_AREA_SKY_BLUE_PLAINS),
UPDATE_VARINT(CALC_SET, BASE_LEVEL, 2),
RET_DIRECT,
@ -3065,8 +3065,8 @@ static const struct ScriptCommand s_script_EVENT_S01E02A_END[] = { /* 0x8128200
RET_DIRECT,
LABEL(0), /* = 0x00 */
SCENARIO_CALC(SCENARIO_SUB1, 32, 2),
{ 0xb0, 0x01, 0x000e, 0x00000000, 0x00000000, NULL },
{ 0xb0, 0x01, 0x000f, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_UPROAR_FOREST),
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_HOWLING_FOREST),
UPDATE_VARINT(CALC_SET, BASE_LEVEL, 2),
RET_DIRECT,
};
@ -3074,7 +3074,7 @@ static const struct ScriptCommand s_script_EVENT_S01E02A_END[] = { /* 0x8128200
static const struct ScriptCommand s_script_EVENT_S01E02A_L001[] = { /* 0x8128290 */
DEBUGINFO_O(3075),
EXECUTE_SUBSTATION(4, 5, 0),
{ 0xaf, 0x01, 0x000f, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_HOWLING_FOREST, TRUE),
SCENARIO_CALC(SCENARIO_SUB1, 31, 2),
SET_DUNGEON_RES(/* result */ 0, /* enter */ -1),
UPDATE_VARINT(CALC_SET, GROUND_ENTER, 4),
@ -3087,7 +3087,7 @@ static const struct ScriptCommand s_script_EVENT_S01E02A_L002[] = { /* 0x8128320
DEBUGINFO_O(3087),
SCENARIO_CALC(SCENARIO_SUB1, 32, 0),
EXECUTE_SUBSTATION(9, 79, 0),
{ 0xb0, 0x01, 0x000f, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_HOWLING_FOREST),
CALL_SCRIPT(DISMISSAL_SALLY_MEMBER_FUNC),
UPDATE_VARINT(CALC_SET, GROUND_PLACE, 11),
SCENARIO_CALC(SCENARIO_SELECT, 31, 0),
@ -3120,7 +3120,7 @@ static const struct ScriptCommand s_script_EVENT_S02E01A_START[] = { /* 0x812845
RET_DIRECT,
LABEL(0), /* = 0x00 */
SCENARIO_CALC(SCENARIO_SUB2, 33, 1),
{ 0xb0, 0x01, 0x0010, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_STORMY_SEA),
RET_DIRECT,
};
@ -3130,7 +3130,7 @@ static const struct ScriptCommand s_script_EVENT_S02E01A_END[] = { /* 0x81284c0
RET_DIRECT,
LABEL(0), /* = 0x00 */
SCENARIO_CALC(SCENARIO_SUB2, 34, 0),
{ 0xb0, 0x01, 0x0010, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_STORMY_SEA),
RET_DIRECT,
};
@ -3148,14 +3148,14 @@ static const struct ScriptCommand s_script_EVENT_S02E01A_L002[] = { /* 0x8128560
static const struct ScriptCommand s_script_EVENT_S02E01A_L003[] = { /* 0x8128590 */
DEBUGINFO_O(3150),
{ 0xaf, 0x01, 0x0010, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_STORMY_SEA, TRUE),
SCENARIO_CALC(SCENARIO_SUB2, 33, 4),
RET,
};
static const struct ScriptCommand s_script_EVENT_S02E01A_L004[] = { /* 0x81285d0 */
DEBUGINFO_O(3157),
{ 0xb0, 0x01, 0x0010, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_STORMY_SEA),
SCENARIO_CALC(SCENARIO_SUB2, 34, 0),
CALL_SCRIPT(DISMISSAL_SALLY_MEMBER_FUNC),
UPDATE_VARINT(CALC_SET, GROUND_PLACE, 11),
@ -3178,7 +3178,7 @@ static const struct ScriptCommand s_script_EVENT_S02E02A_START[] = { /* 0x812869
LABEL(0), /* = 0x00 */
SCENARIO_CALC(SCENARIO_SUB2, 34, 1),
{ 0x3b, 0x20, 0x0000, 0x00000000, 0x00000000, NULL },
{ 0xb0, 0x01, 0x0010, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_STORMY_SEA),
RET_DIRECT,
};
@ -3188,8 +3188,8 @@ static const struct ScriptCommand s_script_EVENT_S02E02A_END[] = { /* 0x8128710
RET_DIRECT,
LABEL(0), /* = 0x00 */
SCENARIO_CALC(SCENARIO_SUB2, 35, 0),
{ 0xb0, 0x01, 0x0010, 0x00000000, 0x00000000, NULL },
{ 0xb0, 0x01, 0x0011, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_STORMY_SEA),
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_SILVER_TRENCH),
RET_DIRECT,
};
@ -3202,7 +3202,7 @@ static const struct ScriptCommand s_script_EVENT_S02E02A_L001[] = { /* 0x8128790
static const struct ScriptCommand s_script_EVENT_S02E02A_L002[] = { /* 0x81287c0 */
DEBUGINFO_O(3203),
EXECUTE_SUBSTATION(158, 2, 0),
{ 0xaf, 0x01, 0x0011, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_SILVER_TRENCH, TRUE),
SCENARIO_CALC(SCENARIO_SUB2, 34, 3),
EXECUTE_SUBSTATION(12, 4, 0),
RET,
@ -3210,7 +3210,7 @@ static const struct ScriptCommand s_script_EVENT_S02E02A_L002[] = { /* 0x81287c0
static const struct ScriptCommand s_script_EVENT_S02E02A_L003[] = { /* 0x8128820 */
DEBUGINFO_O(3212),
{ 0xb0, 0x01, 0x0011, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_SILVER_TRENCH),
SCENARIO_CALC(SCENARIO_SUB2, 35, 0),
CALL_SCRIPT(DISMISSAL_SALLY_MEMBER_FUNC),
UPDATE_VARINT(CALC_SET, GROUND_PLACE, 11),
@ -3241,7 +3241,7 @@ static const struct ScriptCommand s_script_EVENT_S03E01A_CONTINUE[] = { /* 0x812
RET_DIRECT,
LABEL(0), /* = 0x00 */
SCENARIO_CALC(SCENARIO_SUB3, 36, 2),
{ 0xaf, 0x01, 0x0012, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_METEOR_CAVE, TRUE),
RET_DIRECT,
};
@ -3251,13 +3251,13 @@ static const struct ScriptCommand s_script_EVENT_S03E01A_END[] = { /* 0x81289b0
RET_DIRECT,
LABEL(0), /* = 0x00 */
SCENARIO_CALC(SCENARIO_SUB3, 37, 0),
{ 0xb0, 0x01, 0x0012, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_METEOR_CAVE),
RET_DIRECT,
};
static const struct ScriptCommand s_script_EVENT_S03E01A_L001[] = { /* 0x8128a20 */
DEBUGINFO_O(3259),
{ 0xaf, 0x01, 0x0012, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_METEOR_CAVE, TRUE),
SCENARIO_CALC(SCENARIO_SUB3, 36, 2),
EXECUTE_SUBSTATION(9, 81, 0),
EXECUTE_SUBSTATION(12, 4, 0),
@ -3266,7 +3266,7 @@ static const struct ScriptCommand s_script_EVENT_S03E01A_L001[] = { /* 0x8128a20
static const struct ScriptCommand s_script_EVENT_S03E01A_L002[] = { /* 0x8128a80 */
DEBUGINFO_O(3268),
{ 0xb0, 0x01, 0x0012, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_METEOR_CAVE),
SCENARIO_CALC(SCENARIO_SUB3, 37, 0),
CALL_SCRIPT(DISMISSAL_SALLY_MEMBER_FUNC),
UPDATE_VARINT(CALC_SET, GROUND_PLACE, 11),
@ -3297,11 +3297,11 @@ static const struct ScriptCommand s_script_EVENT_S04E01A_LAST[] = { /* 0x8128ba0
RET_DIRECT,
LABEL(0), /* = 0x00 */
SCENARIO_CALC(SCENARIO_SUB4, 43, 0),
{ 0xaf, 0x00, 0x0013, 0x00000000, 0x00000000, NULL },
{ 0xb0, 0x01, 0x0014, 0x00000000, 0x00000000, NULL },
{ 0xb0, 0x01, 0x0015, 0x00000000, 0x00000000, NULL },
{ 0xb0, 0x01, 0x0016, 0x00000000, 0x00000000, NULL },
{ 0xb0, 0x01, 0x0017, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_GREAT_CANYON_2, FALSE),
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_FIERY_FIELD),
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_LIGHTNING_FIELD),
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_NORTHWIND_FIELD),
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_MT_FARAWAY),
RET_DIRECT,
};
@ -3311,11 +3311,11 @@ static const struct ScriptCommand s_script_EVENT_S04E01A_END[] = { /* 0x8128c50
RET_DIRECT,
LABEL(0), /* = 0x00 */
SCENARIO_CALC(SCENARIO_SUB4, 43, 2),
{ 0xaf, 0x00, 0x0013, 0x00000000, 0x00000000, NULL },
{ 0xb0, 0x01, 0x0014, 0x00000000, 0x00000000, NULL },
{ 0xb0, 0x01, 0x0015, 0x00000000, 0x00000000, NULL },
{ 0xb0, 0x01, 0x0016, 0x00000000, 0x00000000, NULL },
{ 0xb0, 0x01, 0x0017, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_GREAT_CANYON_2, FALSE),
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_FIERY_FIELD),
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_LIGHTNING_FIELD),
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_NORTHWIND_FIELD),
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_MT_FARAWAY),
RET_DIRECT,
};
@ -3323,7 +3323,7 @@ static const struct ScriptCommand s_script_EVENT_S04E01A_L001[] = { /* 0x8128d00
DEBUGINFO_O(3323),
EXECUTE_SUBSTATION(9, 82, 0),
EXECUTE_SUBSTATION(12, 9, 0),
{ 0xaf, 0x01, 0x0013, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_GREAT_CANYON_2, TRUE),
SCENARIO_CALC(SCENARIO_SUB4, 38, 2),
RET,
};
@ -3331,8 +3331,8 @@ static const struct ScriptCommand s_script_EVENT_S04E01A_L001[] = { /* 0x8128d00
static const struct ScriptCommand s_script_EVENT_S04E01A_L002[] = { /* 0x8128d60 */
DEBUGINFO_O(3332),
EXECUTE_SUBSTATION(192, 1, 0),
{ 0xaf, 0x00, 0x0013, 0x00000000, 0x00000000, NULL },
{ 0xaf, 0x01, 0x0014, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_GREAT_CANYON_2, FALSE),
CMD_UNK_AF(RESCUE_DUNGEON_FIERY_FIELD, TRUE),
SCENARIO_CALC(SCENARIO_SUB4, 39, 0),
CALL_SCRIPT(DISMISSAL_SALLY_MEMBER_FUNC),
UPDATE_VARINT(CALC_SET, GROUND_PLACE, 11),
@ -3350,8 +3350,8 @@ static const struct ScriptCommand s_script_EVENT_S04E01A_L002L[] = { /* 0x8128e0
static const struct ScriptCommand s_script_EVENT_S04E01B_L001[] = { /* 0x8128e30 */
DEBUGINFO_O(3351),
EXECUTE_SUBSTATION(212, 1, 0),
{ 0xb0, 0x01, 0x0014, 0x00000000, 0x00000000, NULL },
{ 0xaf, 0x01, 0x0015, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_FIERY_FIELD),
CMD_UNK_AF(RESCUE_DUNGEON_LIGHTNING_FIELD, TRUE),
SCENARIO_CALC(SCENARIO_SUB4, 40, 0),
CALL_SCRIPT(DISMISSAL_SALLY_MEMBER_FUNC),
UPDATE_VARINT(CALC_SET, GROUND_PLACE, 11),
@ -3369,8 +3369,8 @@ static const struct ScriptCommand s_script_EVENT_S04E01B_L001L[] = { /* 0x8128ed
static const struct ScriptCommand s_script_EVENT_S04E01C_L001[] = { /* 0x8128f00 */
DEBUGINFO_O(3370),
EXECUTE_SUBSTATION(213, 1, 0),
{ 0xb0, 0x01, 0x0015, 0x00000000, 0x00000000, NULL },
{ 0xaf, 0x01, 0x0016, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_LIGHTNING_FIELD),
CMD_UNK_AF(RESCUE_DUNGEON_NORTHWIND_FIELD, TRUE),
SCENARIO_CALC(SCENARIO_SUB4, 41, 0),
CALL_SCRIPT(DISMISSAL_SALLY_MEMBER_FUNC),
UPDATE_VARINT(CALC_SET, GROUND_PLACE, 11),
@ -3388,8 +3388,8 @@ static const struct ScriptCommand s_script_EVENT_S04E01C_L001L[] = { /* 0x8128fa
static const struct ScriptCommand s_script_EVENT_S04E01D_L001[] = { /* 0x8128fd0 */
DEBUGINFO_O(3389),
EXECUTE_SUBSTATION(214, 1, 0),
{ 0xb0, 0x01, 0x0016, 0x00000000, 0x00000000, NULL },
{ 0xaf, 0x01, 0x0017, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_NORTHWIND_FIELD),
CMD_UNK_AF(RESCUE_DUNGEON_MT_FARAWAY, TRUE),
SCENARIO_CALC(SCENARIO_SUB4, 42, 0),
CALL_SCRIPT(DISMISSAL_SALLY_MEMBER_FUNC),
UPDATE_VARINT(CALC_SET, GROUND_PLACE, 11),
@ -3406,7 +3406,7 @@ static const struct ScriptCommand s_script_EVENT_S04E01D_L001L[] = { /* 0x812907
static const struct ScriptCommand s_script_EVENT_S04E01E_L001[] = { /* 0x81290a0 */
DEBUGINFO_O(3408),
{ 0xb0, 0x01, 0x0017, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_MT_FARAWAY),
SCENARIO_CALC(SCENARIO_SUB4, 43, 0),
CALL_SCRIPT(DISMISSAL_SALLY_MEMBER_FUNC),
UPDATE_VARINT(CALC_SET, GROUND_PLACE, 11),
@ -3442,7 +3442,7 @@ static const struct ScriptCommand s_script_EVENT_S05E01A_CONTINUE[] = { /* 0x812
RET_DIRECT,
LABEL(0), /* = 0x00 */
SCENARIO_CALC(SCENARIO_SUB5, 44, 2),
{ 0xaf, 0x01, 0x0018, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_WESTERN_CAVE, TRUE),
RET_DIRECT,
};
@ -3452,13 +3452,13 @@ static const struct ScriptCommand s_script_EVENT_S05E01A_END[] = { /* 0x8129250
RET_DIRECT,
LABEL(0), /* = 0x00 */
SCENARIO_CALC(SCENARIO_SUB5, 45, 0),
{ 0xb0, 0x01, 0x0018, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_WESTERN_CAVE),
RET_DIRECT,
};
static const struct ScriptCommand s_script_EVENT_S05E01A_L001[] = { /* 0x81292c0 */
DEBUGINFO_O(3460),
{ 0xaf, 0x01, 0x0018, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_WESTERN_CAVE, TRUE),
SCENARIO_CALC(SCENARIO_SUB5, 44, 2),
EXECUTE_SUBSTATION(216, 1, 0),
EXECUTE_SUBSTATION(1, 46, 0),
@ -3468,7 +3468,7 @@ static const struct ScriptCommand s_script_EVENT_S05E01A_L001[] = { /* 0x81292c0
static const struct ScriptCommand s_script_EVENT_S05E01A_L002[] = { /* 0x8129330 */
DEBUGINFO_O(3470),
{ 0xb0, 0x01, 0x0018, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_WESTERN_CAVE),
SCENARIO_CALC(SCENARIO_SUB5, 45, 0),
CALL_SCRIPT(DISMISSAL_SALLY_MEMBER_FUNC),
UPDATE_VARINT(CALC_SET, GROUND_PLACE, 11),
@ -3498,7 +3498,7 @@ static const struct ScriptCommand s_script_EVENT_S06E01A_CONTINUE[] = { /* 0x812
RET_DIRECT,
LABEL(0), /* = 0x00 */
SCENARIO_CALC(SCENARIO_SUB6, 46, 2),
{ 0xaf, 0x01, 0x0019, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_NORTHERN_RANGE, TRUE),
RET_DIRECT,
};
@ -3508,8 +3508,8 @@ static const struct ScriptCommand s_script_EVENT_S06E01A_END[] = { /* 0x81294b0
RET_DIRECT,
LABEL(0), /* = 0x00 */
SCENARIO_CALC(SCENARIO_SUB6, 48, 0),
{ 0xb0, 0x01, 0x0019, 0x00000000, 0x00000000, NULL },
{ 0xb0, 0x01, 0x001a, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_NORTHERN_RANGE),
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_PITFALL_VALLEY),
{ 0x3b, 0x24, 0x0000, 0x00000000, 0x00000000, NULL },
{ 0x3b, 0x25, 0x0000, 0x00000000, 0x00000000, NULL },
{ 0x3b, 0x26, 0x0000, 0x00000000, 0x00000000, NULL },
@ -3519,7 +3519,7 @@ static const struct ScriptCommand s_script_EVENT_S06E01A_END[] = { /* 0x81294b0
static const struct ScriptCommand s_script_EVENT_S06E01A_L001[] = { /* 0x8129570 */
DEBUGINFO_O(3521),
{ 0xaf, 0x01, 0x0019, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_NORTHERN_RANGE, TRUE),
SCENARIO_CALC(SCENARIO_SUB6, 46, 2),
EXECUTE_SUBSTATION(12, 10, 0),
EXECUTE_SUBSTATION(9, 83, 0),
@ -3532,7 +3532,7 @@ static const struct ScriptCommand s_script_EVENT_S06E01A_L001[] = { /* 0x8129570
static const struct ScriptCommand s_script_EVENT_S06E01A_L002[] = { /* 0x8129600 */
DEBUGINFO_O(3533),
EXECUTE_SUBSTATION(217, 1, 0),
{ 0xb0, 0x01, 0x0019, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_NORTHERN_RANGE),
SCENARIO_CALC(SCENARIO_SUB6, 47, 2),
UPDATE_VARINT(CALC_SET, GROUND_PLACE, 2),
SCENARIO_CALC(SCENARIO_SELECT, 46, 0),
@ -3548,7 +3548,7 @@ static const struct ScriptCommand s_script_EVENT_S06E01A_L002L[] = { /* 0x812968
static const struct ScriptCommand s_script_EVENT_S06E01B_L001[] = { /* 0x81296a0 */
DEBUGINFO_O(3549),
EXECUTE_SUBSTATION(1, 48, 0),
{ 0xaf, 0x01, 0x001a, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_PITFALL_VALLEY, TRUE),
SCENARIO_CALC(SCENARIO_SUB6, 47, 2),
CALL_SCRIPT(DISMISSAL_SALLY_MEMBER_FUNC),
EXECUTE_SUBSTATION(12, 5, 0),
@ -3559,7 +3559,7 @@ static const struct ScriptCommand s_script_EVENT_S06E01B_L002[] = { /* 0x8129710
DEBUGINFO_O(3559),
EXECUTE_SUBSTATION(218, 1, 0),
EXECUTE_SUBSTATION(1, 49, 0),
{ 0xb0, 0x01, 0x001a, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_PITFALL_VALLEY),
SCENARIO_CALC(SCENARIO_SUB6, 48, 0),
CALL_SCRIPT(DISMISSAL_SALLY_MEMBER_FUNC),
UPDATE_VARINT(CALC_SET, GROUND_PLACE, 11),
@ -3590,7 +3590,7 @@ static const struct ScriptCommand s_script_EVENT_S07E01A_END[] = { /* 0x8129850
RET_DIRECT,
LABEL(0), /* = 0x00 */
SCENARIO_CALC(SCENARIO_SUB7, 50, 0),
{ 0xb0, 0x01, 0x001b, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_BURIED_RELIC),
RET_DIRECT,
};
@ -3602,14 +3602,14 @@ static const struct ScriptCommand s_script_EVENT_S07E01A_L001[] = { /* 0x81298c0
static const struct ScriptCommand s_script_EVENT_S07E01A_L002[] = { /* 0x81298f0 */
DEBUGINFO_O(3604),
{ 0xaf, 0x01, 0x001b, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_BURIED_RELIC, TRUE),
SCENARIO_CALC(SCENARIO_SUB7, 49, 3),
RET,
};
static const struct ScriptCommand s_script_EVENT_S07E01A_L003[] = { /* 0x8129930 */
DEBUGINFO_O(3611),
{ 0xb0, 0x01, 0x001b, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_BURIED_RELIC),
SCENARIO_CALC(SCENARIO_SUB7, 50, 0),
CALL_SCRIPT(DISMISSAL_SALLY_MEMBER_FUNC),
UPDATE_VARINT(CALC_SET, GROUND_PLACE, 11),
@ -3640,7 +3640,7 @@ static const struct ScriptCommand s_script_EVENT_S08E01A_END[] = { /* 0x8129a50
RET_DIRECT,
LABEL(0), /* = 0x00 */
SCENARIO_CALC(SCENARIO_SUB8, 52, 0),
{ 0xb0, 0x01, 0x001c, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_WISH_CAVE),
RET_DIRECT,
};
@ -3670,7 +3670,7 @@ static const struct ScriptCommand s_script_EVENT_S08E01A_L004[] = { /* 0x8129b50
static const struct ScriptCommand s_script_EVENT_S08E01A_L005[] = { /* 0x8129b80 */
DEBUGINFO_O(3672),
{ 0xae, 0x01, 0x001c, 0x00000000, 0x00000000, NULL },
CMD_UNK_AE(RESCUE_DUNGEON_WISH_CAVE),
SCENARIO_CALC(SCENARIO_SUB8, 51, 7),
RET,
};
@ -3678,7 +3678,7 @@ static const struct ScriptCommand s_script_EVENT_S08E01A_L005[] = { /* 0x8129b80
static const struct ScriptCommand s_script_EVENT_S08E01A_L005B[] = { /* 0x8129bc0 */
DEBUGINFO_O(3679),
EXECUTE_SUBSTATION(4, 7, 0),
{ 0xaf, 0x01, 0x001c, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_WISH_CAVE, TRUE),
SCENARIO_CALC(SCENARIO_SUB8, 51, 8),
SET_DUNGEON_RES(/* result */ 0, /* enter */ -1),
UPDATE_VARINT(CALC_SET, GROUND_ENTER, 4),
@ -3690,7 +3690,7 @@ static const struct ScriptCommand s_script_EVENT_S08E01A_L005B[] = { /* 0x8129bc
static const struct ScriptCommand s_script_EVENT_S08E01A_L006[] = { /* 0x8129c50 */
DEBUGINFO_O(3691),
EXECUTE_SUBSTATION(9, 84, 0),
{ 0xb0, 0x01, 0x001c, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_WISH_CAVE),
SCENARIO_CALC(SCENARIO_SUB8, 52, 0),
CALL_SCRIPT(DISMISSAL_SALLY_MEMBER_FUNC),
UPDATE_VARINT(CALC_SET, GROUND_PLACE, 11),
@ -3808,8 +3808,8 @@ static const struct ScriptCommand s_script_EVENT_S09E01A_END[] = { /* 0x812a1e4
RET_DIRECT,
LABEL(0), /* = 0x00 */
SCENARIO_CALC(SCENARIO_SUB9, 55, 2),
{ 0xaf, 0x00, 0x001d, 0x00000000, 0x00000000, NULL },
{ 0xb0, 0x01, 0x001e, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_MT_FREEZE_2, FALSE),
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_MURKY_CAVE),
RET_DIRECT,
};
@ -3834,7 +3834,7 @@ static const struct ScriptCommand s_script_EVENT_S09E01A_L003[] = { /* 0x812a2c4
static const struct ScriptCommand s_script_EVENT_S09E01A_L004[] = { /* 0x812a2f4 */
DEBUGINFO_O(3835),
EXECUTE_SUBSTATION(9, 86, 0),
{ 0xaf, 0x01, 0x001d, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_MT_FREEZE_2, TRUE),
SCENARIO_CALC(SCENARIO_SUB9, 53, 6),
RET,
};
@ -3850,7 +3850,7 @@ static const struct ScriptCommand s_script_EVENT_S09E01A_L005[] = { /* 0x812a384
DEBUGINFO_O(3850),
EXECUTE_SUBSTATION(203, 1, 0),
EXECUTE_SUBSTATION(9, 88, 0),
{ 0xaf, 0x00, 0x001d, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_MT_FREEZE_2, FALSE),
SCENARIO_CALC(SCENARIO_SUB9, 54, 0),
CALL_SCRIPT(DISMISSAL_SALLY_MEMBER_FUNC),
UPDATE_VARINT(CALC_SET, GROUND_PLACE, 11),
@ -3868,7 +3868,7 @@ static const struct ScriptCommand s_script_EVENT_S09E01A_L005L[] = { /* 0x812a42
static const struct ScriptCommand s_script_EVENT_S09E01B_L001[] = { /* 0x812a454 */
DEBUGINFO_O(3869),
EXECUTE_SUBSTATION(9, 89, 0),
{ 0xaf, 0x01, 0x001e, 0x00000000, 0x00000000, NULL },
CMD_UNK_AF(RESCUE_DUNGEON_MURKY_CAVE, TRUE),
SCENARIO_CALC(SCENARIO_SUB9, 54, 2),
RET,
};
@ -3886,7 +3886,7 @@ static const struct ScriptCommand s_script_EVENT_S09E01B_L002[] = { /* 0x812a4e4
EXECUTE_SUBSTATION(163, 3, 0),
EXECUTE_SUBSTATION(220, 2, 0),
EXECUTE_SUBSTATION(9, 91, 0),
{ 0xb0, 0x01, 0x001e, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_MURKY_CAVE),
SCENARIO_CALC(SCENARIO_SUB9, 55, 2),
CALL_SCRIPT(DISMISSAL_SALLY_MEMBER_FUNC),
UPDATE_VARINT(CALC_SET, GROUND_PLACE, 11),
@ -4952,7 +4952,7 @@ static const struct ScriptCommand s_script_GETOUT_D62E01A[] = { /* 0x812dff4 */
JUMPIF_EQUAL(START_MODE, 10, /* to label */ 3),
JUMP_SCRIPT(EVENT_S00E01A_L001),
LABEL(2), /* = 0x02 */
{ 0xb0, 0x01, 0x0029, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_PURITY_FOREST),
LABEL(3), /* = 0x03 */
JUMP_SCRIPT(GETOUT_R00E01A),
LABEL(1), /* = 0x01 */
@ -4970,7 +4970,7 @@ static const struct ScriptCommand s_script_GETOUT_D43E01A[] = { /* 0x812e0e4 */
JUMPIF_EQUAL(START_MODE, 10, /* to label */ 3),
JUMP_SCRIPT(EVENT_S00E01A_L001),
LABEL(2), /* = 0x02 */
{ 0xb0, 0x01, 0x002a, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_ODDITY_CAVE),
LABEL(3), /* = 0x03 */
JUMP_SCRIPT(GETOUT_R00E01A),
LABEL(1), /* = 0x01 */
@ -4988,7 +4988,7 @@ static const struct ScriptCommand s_script_GETOUT_D44E01A[] = { /* 0x812e1d4 */
JUMPIF_EQUAL(START_MODE, 10, /* to label */ 3),
JUMP_SCRIPT(EVENT_S00E01A_L001),
LABEL(2), /* = 0x02 */
{ 0xb0, 0x01, 0x002b, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_REMAINS_ISLAND),
LABEL(3), /* = 0x03 */
JUMP_SCRIPT(GETOUT_R00E01A),
LABEL(1), /* = 0x01 */
@ -5006,7 +5006,7 @@ static const struct ScriptCommand s_script_GETOUT_D45E01A[] = { /* 0x812e2c4 */
JUMPIF_EQUAL(START_MODE, 10, /* to label */ 3),
JUMP_SCRIPT(EVENT_S00E01A_L001),
LABEL(2), /* = 0x02 */
{ 0xb0, 0x01, 0x002c, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_MARVELOUS_SEA),
LABEL(3), /* = 0x03 */
JUMP_SCRIPT(GETOUT_R00E01A),
LABEL(1), /* = 0x01 */
@ -5024,7 +5024,7 @@ static const struct ScriptCommand s_script_GETOUT_D46E01A[] = { /* 0x812e3b4 */
JUMPIF_EQUAL(START_MODE, 10, /* to label */ 3),
JUMP_SCRIPT(EVENT_S00E01A_L001),
LABEL(2), /* = 0x02 */
{ 0xb0, 0x01, 0x002d, 0x00000000, 0x00000000, NULL },
SET_RESCUE_CONQUERED(RESCUE_DUNGEON_FANTASY_STRAIT),
LABEL(3), /* = 0x03 */
JUMP_SCRIPT(GETOUT_R00E01A),
LABEL(1), /* = 0x01 */

View File

@ -21,71 +21,73 @@ static const PixelPos sVectorDirections[NUM_DIRECTIONS] = {
static s8 VecDirection4Radial(PixelPos *pixelPos);
static inline s8 GetRandomizedDirection(s32 direction1, s32 rand, s32 add, s32 multi)
static inline s8 GetRandomizedDirection(s32 dir, s32 randExclusiveMax, s32 add, s32 multi)
{
return (s8)(((direction1 + add) + OtherRandInt(rand) * multi) % NUM_DIRECTIONS);
return (s8)(((dir + add) + (OtherRandInt(randExclusiveMax) * multi)) % NUM_DIRECTIONS);
}
// arm9.bin::020109F4
s32 sub_8002984(s32 _direction1, u32 caseID)
s32 TransformDirection1(s32 _direction1, u32 caseID)
{
s32 direction1 = (s8) _direction1;
s32 dir = (s8) _direction1;
switch((u8)caseID) {
case 1:
if (direction1 >= 0) {
direction1 += 7;
direction1 &= DIRECTION_MASK;
case DIR_TRANS_SPINRIGHT1:
if (dir >= 0) {
dir += 7;
dir &= DIRECTION_MASK;
}
break;
case 2:
if (direction1 >= 0) {
direction1 += 1;
direction1 &= DIRECTION_MASK;
case DIR_TRANS_SPINLEFT1:
if (dir >= 0) {
dir += 1;
dir &= DIRECTION_MASK;
}
break;
case 3:
if (direction1 >= 0) {
direction1 += 6;
direction1 &= DIRECTION_MASK;
case DIR_TRANS_SPINRIGHT2:
if (dir >= 0) {
dir += 6;
dir &= DIRECTION_MASK;
}
break;
case 4:
if (direction1 >= 0) {
direction1 += 2;
direction1 &= DIRECTION_MASK;
case DIR_TRANS_SPINLEFT2:
if (dir >= 0) {
dir += 2;
dir &= DIRECTION_MASK;
}
break;
case 5:
if (direction1 >= 0) {
direction1 += 4;
direction1 &= DIRECTION_MASK;
case DIR_TRANS_FLIP:
if (dir >= 0) {
dir += 4;
dir &= DIRECTION_MASK;
}
break;
case 6:
if ((direction1 & 1) != 0) {
direction1 = GetRandomizedDirection(direction1, 2, 7, 2);
case DIR_TRANS_RAND_OFFSET_SOFT_CARDINAL:
if ((dir & 1) != 0) {
// Diagonal
dir = GetRandomizedDirection(dir, 2, 7, 2); // spinRight1 + (0 or spinLeft2)
}
else {
direction1 = GetRandomizedDirection(direction1, 3, 6, 2);
// Cardinal
dir = GetRandomizedDirection(dir, 3, 6, 2); // spinRight2 + (0 or spinLeft2 or flip)
}
break;
case 7:
direction1 = GetRandomizedDirection(direction1, 3, 7, 1);
case DIR_TRANS_RAND_OFFSET_SOFT:
dir = GetRandomizedDirection(dir, 3, 7, 1); // spinRight1 + (0 or spinLeft1 or spinLeft2)
break;
case 8:
direction1 = (s8)(OtherRandInt(NUM_DIRECTIONS) & 0xfe);
case DIR_TRANS_RAND_CARDINAL:
dir = (s8)(OtherRandInt(NUM_DIRECTIONS) & (u8)~1);
break;
case 9:
direction1 = (s8) OtherRandInt(NUM_DIRECTIONS);
case DIR_TRANS_RAND:
dir = (s8) OtherRandInt(NUM_DIRECTIONS);
break;
default:
break;
}
return direction1;
return dir;
}
// arm9.bin::020108EC
s32 sub_8002A70(s32 _direction1, s32 _direction2, s32 _caseId)
s32 TransformDirection2(s32 _direction1, s32 _direction2, s32 _caseId)
{
s32 direction1 = (s8)(_direction1);
s32 direction2 = (s8)(_direction2);
@ -95,34 +97,34 @@ s32 sub_8002A70(s32 _direction1, s32 _direction2, s32 _caseId)
return direction1;
switch (caseId) {
case 1:
case DIR_TRANS_SPINRIGHT1:
if (direction1 >= 0) {
direction1 += 7;
direction1 &= DIRECTION_MASK;
}
break;
case 2:
case DIR_TRANS_SPINLEFT1:
if (direction1 >= 0) {
direction1 += 1;
direction1 &= DIRECTION_MASK;
}
break;
case 3:
case DIR_TRANS_SPINRIGHT2:
if (direction1 >= 0) {
direction1 += 6;
direction1 &= DIRECTION_MASK;
}
break;
case 4:
case DIR_TRANS_SPINLEFT2:
if (direction1 >= 0) {
direction1 += 2;
direction1 &= DIRECTION_MASK;
}
break;
case 11:
case DIR_TRANS_11:
direction1 = sub_8002B04(direction1, direction2);
// Fallthrough
case 10:
case DIR_TRANS_10:
direction1 = sub_8002B04(direction1, direction2);
break;
}
@ -139,11 +141,11 @@ s32 sub_8002B04(s32 _direction1, s32 _direction2)
{
s32 newDirection = ((direction2 + NUM_DIRECTIONS) - direction1) % NUM_DIRECTIONS;
if (newDirection != 0) {
if (newDirection < 4)
newDirection = (direction1 + 1) % NUM_DIRECTIONS;
if (newDirection != DIRECTION_SOUTH) {
if (newDirection <= DIRECTION_NORTHEAST)
newDirection = (direction1 + 1) % NUM_DIRECTIONS; // Spin Left 1
else
newDirection = (direction1 + 7) % NUM_DIRECTIONS;
newDirection = (direction1 + 7) % NUM_DIRECTIONS; // Spin Right 1
direction1 = (s8)newDirection;
}
@ -164,12 +166,12 @@ UNUSED static s32 sub_8002B5C(s32 _direction1, s32 _direction2)
if (direction2 != -1) {
newDirection = ((direction2 + NUM_DIRECTIONS) - direction1) % NUM_DIRECTIONS;
if (newDirection != 0) {
if (newDirection < 4) {
newDirection = (direction1 + 2) % NUM_DIRECTIONS;
if (newDirection != DIRECTION_SOUTH) {
if (newDirection <= DIRECTION_NORTHEAST) {
newDirection = (direction1 + 2) % NUM_DIRECTIONS; // Spin Left 2
}
else {
newDirection = (direction1 + 6) % NUM_DIRECTIONS;
newDirection = (direction1 + 6) % NUM_DIRECTIONS; // Spin Right 2
}
direction1 = (s8)(newDirection);
}

View File

@ -1099,7 +1099,7 @@ void sub_804225C(Entity *entity, DungeonPos *pos, u8 trapId)
sub_800EF28(trapId);
sub_800EF64();
sub_803E708(4,0x42);
DungeonWaitFrames_Async(4,0x42);
x = X_POS_TO_PIXELPOS(pos->x);
newPos.x = x / 256;
@ -1110,7 +1110,7 @@ void sub_804225C(Entity *entity, DungeonPos *pos, u8 trapId)
uVar6 = sub_800E448(trapId,&newPos);
if (trapId == TRAP_SUMMON_TRAP) {
sub_80421C0(0,0x193);
sub_803E708(0x28,0x33);
DungeonWaitFrames_Async(0x28,0x33);
}
else if (trapId == TRAP_SPIN_TRAP) {
EntityInfo *info = GetEntInfo(entity);
@ -1119,14 +1119,14 @@ void sub_804225C(Entity *entity, DungeonPos *pos, u8 trapId)
direction--;
direction &= DIRECTION_MASK;
sub_806CDD4(entity,0,direction);
sub_803E708(2,0x33);
DungeonWaitFrames_Async(2,0x33);
if (!sub_800E9A8(uVar6))
break;
}
info->action.direction = direction & DIRECTION_MASK;
}
else {
sub_803E708(0x28,0x33);
DungeonWaitFrames_Async(0x28,0x33);
}
for (i = 0; i < 1000; i++) {
@ -1149,7 +1149,7 @@ void sub_8042390(Entity *entity, Item *item)
id = !ItemSticky(item) ? item->id : ITEM_NOTHING;
sub_800EF40(id, 0);
sub_800EF64();
sub_803E708(4,0x42);
DungeonWaitFrames_Async(4,0x42);
local_14.x = (entity->pixelPos).x / 256;
local_14.y = (entity->pixelPos).y / 256;
@ -1177,7 +1177,7 @@ void sub_804245C(Entity *entity, Item *item)
if (sub_8042768(entity)) {
id = !ItemSticky(item) ? item->id : ITEM_NOTHING;
sub_800EF64();
sub_803E708(4,0x42);
DungeonWaitFrames_Async(4,0x42);
local_14.x = (entity->pixelPos).x / 256;
local_14.y = (entity->pixelPos).y / 256;
@ -1418,7 +1418,7 @@ void sub_8042940(Entity *r0)
void sub_8042950(Entity *r0)
{
sub_804151C(r0, 0xD8 << 1, 1);
sub_803E708(0xA, 0x42);
DungeonWaitFrames_Async(0xA, 0x42);
}
void sub_8042968(Entity *r0)
@ -1513,7 +1513,7 @@ static void sub_8042A84(s16 param_1, Entity *entity, u32 param_3)
r6 = IntToF248(2);
if (sub_8042768(entity)) {
sub_804151C(entity,param_1_s16,0);
sub_803E708(param_3,0x42);
DungeonWaitFrames_Async(param_3,0x42);
do {
if (entity->unk1C > IntToF248(199.999)) break;
DungeonRunFrameActions(0x42);

View File

@ -270,7 +270,7 @@ bool8 ExecuteEntityDungeonAction_Async(Entity *entity)
}
sub_8041888(0);
if (EntityIsValid(entity)) {
sub_8085140();
sub_8085140_Async();
if (info->unk14B != 0) {
bVar4 = FALSE;
info->unk14B = 0;
@ -302,7 +302,7 @@ bool8 ExecuteEntityDungeonAction_Async(Entity *entity)
}
if (EntityIsValid(entity)) {
if (!sub_8044B84()) {
sub_8046D20();
PotentiallyCreateMusicBox_Async();
}
sub_8041888(0);
if (((EntityIsValid(entity)) && (!info->aiAllySkip)) && (!bVar14)) {

View File

@ -451,7 +451,7 @@ void sub_8067110(Entity *entity)
LogMessageByIdWithPopupCheckUser_Async(entity,sub_80464AC(item));
item2 = *item;
sub_8044DF0(entity,0,0x66);
sub_803E708(0x1e,0x11);
DungeonWaitFrames_Async(0x1e,0x11);
sub_80479B8(0,0,0,entity,entity,&item2);
TriggerMonsterHouse_Async(entity,gDungeon->forceMonsterHouse);
}
@ -465,16 +465,16 @@ void sub_80671A0(Entity *entity)
if (info->action.actionParameters[0].actionUseIndex == 0x81 && ItemSticky(item)) {
sub_8045BF8(gFormatBuffer_Items[0], item);
LogMessageByIdWithPopupCheckUser_Async(entity, gUnknown_80F8BE0);
sub_803E708(0x14, 0x4C);
DungeonWaitFrames_Async(0x14, 0x4C);
}
else if ((GetItemCategory(item->id) == CATEGORY_THROWN_LINE || GetItemCategory(item->id) == CATEGORY_THROWN_ARC) && ItemSticky(item)) {
sub_8045BF8(gFormatBuffer_Items[0], item);
LogMessageByIdWithPopupCheckUser_Async(entity, gUnknown_80F8BE0);
sub_803E708(0x14, 0x4C);
DungeonWaitFrames_Async(0x14, 0x4C);
}
else if (ShouldMonsterRunAwayAndShowEffect(entity, TRUE)) {
LogMessageByIdWithPopupCheckUser_Async(entity, gUnknown_80FF76C);
sub_803E708(0x14, 0x4C);
DungeonWaitFrames_Async(0x14, 0x4C);
}
else {
bool8 r7;
@ -524,7 +524,7 @@ void sub_80671A0(Entity *entity)
dir--;
dir &= DIRECTION_MASK;
sub_806CDD4(entity, 0, dir);
sub_803E708(2, 21);
DungeonWaitFrames_Async(2, 21);
}
info->unk166 = 4;
}
@ -728,7 +728,7 @@ static void sub_8067794(Entity *entity, Entity *targetEntity, s32 a2)
}
}
if (DisplayDungeonYesNoMessage(NULL, stringPtr1, FALSE) == 1) {
if (DisplayDungeonYesNoMessage_Async(NULL, stringPtr1, FALSE) == 1) {
u8 tempText[64];
strncpy(tempText, gFormatBuffer_Monsters[0], sizeof(tempText));

View File

@ -60,9 +60,9 @@ typedef struct FixedRoomCutsceneData
{
/* 0x0 */ u8 fixedRoomNum; // See enum "FixedRoomID"
/* 0x1 */ u8 cutscene1; // See enum "CutsceneKind"
/* 0x2 */ u8 unk2; // 64 is a special value...
/* 0x2 */ u8 cutscene2Flag; // See enum "CutsceneFlagID"
/* 0x3 */ u8 cutscene2; // See enum "CutsceneKind"
/* 0x4 */ u8 unk4; // 64 is a special value...
/* 0x4 */ u8 cutscene3Flag; // See enum "CutsceneFlagID"
/* 0x5 */ u8 cutscene3; // See enum "CutsceneKind"
} FixedRoomCutsceneData;
@ -83,43 +83,43 @@ static void sub_80857B8(void);
static void sub_80861EC(Entity *);
static const FixedRoomCutsceneData sFixedRoomCutsceneLookup[] = {
{ FIXED_ROOM_MT_STEEL_SKARMORY, CUTSCENE_MT_STEEL_ATTEMPT1, 0, CUTSCENE_MT_STEEL_ATTEMPT2, 1, CUTSCENE_MT_STEEL_POSTSTORY },
{ FIXED_ROOM_SINISTER_WOODS_TEAM_MEANIES, CUTSCENE_SINISTER_WOODS_ATTEMPT1, 2, CUTSCENE_SINISTER_WOODS_ATTEMPT2, 3, CUTSCENE_SINISTER_WOODS_POSTSTORY },
{ FIXED_ROOM_MT_THUNDER_PEAK_ZAPDOS, CUTSCENE_MT_THUNDER_PEAK_ATTEMPT1, 4, CUTSCENE_MT_THUNDER_PEAK_ATTEMPT2, 5, CUTSCENE_MT_THUNDER_PEAK_POSTSTORY },
{ FIXED_ROOM_MT_BLAZE_PEAK_MOLTRES, CUTSCENE_MT_BLAZE_PEAK_ATTEMPT1, 6, CUTSCENE_MT_BLAZE_PEAK_ATTEMPT2, 7, CUTSCENE_MT_BLAZE_PEAK_POSTSTORY },
{ FIXED_ROOM_FROSTY_GROTTO_ARTICUNO, CUTSCENE_FROSTY_GROTTO_ATTEMPT1, 8, CUTSCENE_FROSTY_GROTTO_ATTEMPT2, 9, CUTSCENE_FROSTY_GROTTO_POSTSTORY },
{ FIXED_ROOM_MT_FREEZE_PEAK_NINETALES, CUTSCENE_MT_FREEZE_PEAK, 10, CUTSCENE_MT_FREEZE_PEAK_POSTSTORY, 10, CUTSCENE_MT_FREEZE_PEAK_POSTSTORY },
{ FIXED_ROOM_MAGMA_CAVERN_PIT_GROUDON, CUTSCENE_MAGMA_CAVERN_PIT_ATTEMPT1, 11, CUTSCENE_MAGMA_CAVERN_PIT_ATTEMPT2, 12, CUTSCENE_MAGMA_CAVERN_PIT_POSTSTORY },
{ FIXED_ROOM_MAGMA_CAVERN_PIT_TYRANITAR_ALAKAZAM, CUTSCENE_MAGMA_CAVERN_MID, 13, CUTSCENE_MAGMA_CAVERN_MID_POSTSTORY, 13, CUTSCENE_MAGMA_CAVERN_MID_POSTSTORY },
{ FIXED_ROOM_SKY_TOWER_SUMMIT_RAYQUAZA, CUTSCENE_SKY_TOWER_SUMMIT_ATTEMPT1, 14, CUTSCENE_SKY_TOWER_SUMMIT_ATTEMPT2, 15, CUTSCENE_SKY_TOWER_SUMMIT_POSTSTORY },
{ FIXED_ROOM_UPROAR_FOREST_MANKEY, CUTSCENE_UPROAR_FOREST_ATTEMPT1, 16, CUTSCENE_UPROAR_FOREST_ATTEMPT2, 17, CUTSCENE_UPROAR_FOREST_POSTSTORY },
{ FIXED_ROOM_WESTERN_CAVE_MEWTWO, CUTSCENE_WESTERN_CAVE_ATTEMPT1, 18, CUTSCENE_WESTERN_CAVE_ATTEMPT2, 19, CUTSCENE_WESTERN_CAVE_POSTSTORY },
{ FIXED_ROOM_FIERY_FIELD_ENTEI, CUTSCENE_FIERY_FIELD_ATTEMPT1, 20, CUTSCENE_FIERY_FIELD_ATTEMPT2, 21, CUTSCENE_FIERY_FIELD_POSTSTORY },
{ FIXED_ROOM_LIGHTNING_FIELD_RAIKOU, CUTSCENE_LIGHTNING_FIELD_ATTEMPT1, 22, CUTSCENE_LIGHTNING_FIELD_ATTEMPT2, 23, CUTSCENE_LIGHTNING_FIELD_POSTSTORY },
{ FIXED_ROOM_NORTHWIND_FIELD_SUICUNE, CUTSCENE_NORTHWIND_FIELD_ATTEMPT1, 24, CUTSCENE_NORTHWIND_FIELD_ATTEMPT2, 25, CUTSCENE_NORTHWIND_FIELD_POSTSTORY },
{ FIXED_ROOM_MT_FARAWAY_HO_OH, CUTSCENE_MT_FARAWAY, 64, CUTSCENE_MT_FARAWAY, 26, CUTSCENE_MT_FARAWAY_POSTSTORY },
{ FIXED_ROOM_NORTHERN_RANGE_LATIOS, CUTSCENE_NORTHERN_RANGE_ATTEMPT1, 27, CUTSCENE_NORTHERN_RANGE_ATTEMPT2, 28, CUTSCENE_NORTHERN_RANGE_POSTSTORY },
{ FIXED_ROOM_BURIED_RELIC_REGIROCK, CUTSCENE_REGIROCK, 64, CUTSCENE_REGIROCK, 64, CUTSCENE_REGIROCK },
{ FIXED_ROOM_BURIED_RELIC_REGICE, CUTSCENE_REGICE, 64, CUTSCENE_REGICE, 64, CUTSCENE_REGICE },
{ FIXED_ROOM_BURIED_RELIC_REGISTEEL, CUTSCENE_REGISTEEL, 64, CUTSCENE_REGISTEEL, 64, CUTSCENE_REGISTEEL },
{ FIXED_ROOM_WISH_CAVE_JIRACHI, CUTSCENE_JIRACHI, 64, CUTSCENE_JIRACHI, 30, CUTSCENE_JIRACHI_POSTSTORY },
{ FIXED_ROOM_SILVER_TRENCH_LUGIA, CUTSCENE_SILVER_TRENCH, 64, CUTSCENE_SILVER_TRENCH, 64, CUTSCENE_SILVER_TRENCH },
{ FIXED_ROOM_STORMY_SEA_KYOGRE, CUTSCENE_STORMY_SEA, 64, CUTSCENE_STORMY_SEA, 64, CUTSCENE_STORMY_SEA },
{ FIXED_ROOM_METEOR_CAVE_DEOXYS, CUTSCENE_METEOR_CAVE, 64, CUTSCENE_METEOR_CAVE, 64, CUTSCENE_METEOR_CAVE },
{ FIXED_ROOM_PURITY_FOREST_CELEBI, CUTSCENE_PURITY_FOREST, 64, CUTSCENE_PURITY_FOREST, 64, CUTSCENE_PURITY_FOREST },
{ FIRST_DOJO_MAZE_BOSS_ROOM, CUTSCENE_MAZE_BOSS, 64, CUTSCENE_MAZE_BOSS, 64, CUTSCENE_MAZE_BOSS },
{ FIXED_ROOM_WISH_CAVE_MEDICHAM, CUTSCENE_MEDICHAM, 32, CUTSCENE_MEDICHAM_POSTSTORY, 32, CUTSCENE_MEDICHAM_POSTSTORY },
{ FIXED_ROOM_HOWLING_FOREST_SMEARGLE, CUTSCENE_HOWLING_FOREST, 33, CUTSCENE_HOWLING_FOREST_POSTSTORY, 33, CUTSCENE_HOWLING_FOREST_POSTSTORY },
{ FIXED_ROOM_MT_STEEL_SKARMORY, CUTSCENE_MT_STEEL_ATTEMPT1, CUTSCENE_FLAG_MT_STEEL_REACHED, CUTSCENE_MT_STEEL_ATTEMPT2, CUTSCENE_FLAG_MT_STEEL_COMPLETE, CUTSCENE_MT_STEEL_POSTSTORY },
{ FIXED_ROOM_SINISTER_WOODS_TEAM_MEANIES, CUTSCENE_SINISTER_WOODS_ATTEMPT1, CUTSCENE_FLAG_SINISTER_WOODS_REACHED, CUTSCENE_SINISTER_WOODS_ATTEMPT2, CUTSCENE_FLAG_SINISTER_WOODS_COMPLETE, CUTSCENE_SINISTER_WOODS_POSTSTORY },
{ FIXED_ROOM_MT_THUNDER_PEAK_ZAPDOS, CUTSCENE_MT_THUNDER_PEAK_ATTEMPT1, CUTSCENE_FLAG_MT_THUNDER_PEAK_REACHED, CUTSCENE_MT_THUNDER_PEAK_ATTEMPT2, CUTSCENE_FLAG_MT_THUNDER_PEAK_COMPLETE, CUTSCENE_MT_THUNDER_PEAK_POSTSTORY },
{ FIXED_ROOM_MT_BLAZE_PEAK_MOLTRES, CUTSCENE_MT_BLAZE_PEAK_ATTEMPT1, CUTSCENE_FLAG_MT_BLAZE_PEAK_REACHED, CUTSCENE_MT_BLAZE_PEAK_ATTEMPT2, CUTSCENE_FLAG_MT_BLAZE_PEAK_COMPLETE, CUTSCENE_MT_BLAZE_PEAK_POSTSTORY },
{ FIXED_ROOM_FROSTY_GROTTO_ARTICUNO, CUTSCENE_FROSTY_GROTTO_ATTEMPT1, CUTSCENE_FLAG_FROSTY_GROTTO_REACHED, CUTSCENE_FROSTY_GROTTO_ATTEMPT2, CUTSCENE_FLAG_FROSTY_GROTTO_COMPLETE, CUTSCENE_FROSTY_GROTTO_POSTSTORY },
{ FIXED_ROOM_MT_FREEZE_PEAK_NINETALES, CUTSCENE_MT_FREEZE_PEAK, CUTSCENE_FLAG_MT_FREEZE_PEAK_COMPLETE, CUTSCENE_MT_FREEZE_PEAK_POSTSTORY, CUTSCENE_FLAG_MT_FREEZE_PEAK_COMPLETE, CUTSCENE_MT_FREEZE_PEAK_POSTSTORY },
{ FIXED_ROOM_MAGMA_CAVERN_PIT_GROUDON, CUTSCENE_MAGMA_CAVERN_PIT_ATTEMPT1, CUTSCENE_FLAG_MAGMA_CAVERN_PIT_REACHED, CUTSCENE_MAGMA_CAVERN_PIT_ATTEMPT2, CUTSCENE_FLAG_MAGMA_CAVERN_PIT_COMPLETE, CUTSCENE_MAGMA_CAVERN_PIT_POSTSTORY },
{ FIXED_ROOM_MAGMA_CAVERN_PIT_TYRANITAR_ALAKAZAM, CUTSCENE_MAGMA_CAVERN_MID, CUTSCENE_FLAG_MAGMA_CAVERN_MID_REACHED, CUTSCENE_MAGMA_CAVERN_MID_POSTSTORY, CUTSCENE_FLAG_MAGMA_CAVERN_MID_REACHED, CUTSCENE_MAGMA_CAVERN_MID_POSTSTORY },
{ FIXED_ROOM_SKY_TOWER_SUMMIT_RAYQUAZA, CUTSCENE_SKY_TOWER_SUMMIT_ATTEMPT1, CUTSCENE_FLAG_SKY_TOWER_SUMMIT_REACHED, CUTSCENE_SKY_TOWER_SUMMIT_ATTEMPT2, CUTSCENE_FLAG_SKY_TOWER_SUMMIT_COMPLETE, CUTSCENE_SKY_TOWER_SUMMIT_POSTSTORY },
{ FIXED_ROOM_UPROAR_FOREST_MANKEY, CUTSCENE_UPROAR_FOREST_ATTEMPT1, CUTSCENE_FLAG_UPROAR_FOREST_REACHED, CUTSCENE_UPROAR_FOREST_ATTEMPT2, CUTSCENE_FLAG_UPROAR_FOREST_COMPLETE, CUTSCENE_UPROAR_FOREST_POSTSTORY },
{ FIXED_ROOM_WESTERN_CAVE_MEWTWO, CUTSCENE_WESTERN_CAVE_ATTEMPT1, CUTSCENE_FLAG_WESTERN_CAVE_REACHED, CUTSCENE_WESTERN_CAVE_ATTEMPT2, CUTSCENE_FLAG_WESTERN_CAVE_COMPLETE, CUTSCENE_WESTERN_CAVE_POSTSTORY },
{ FIXED_ROOM_FIERY_FIELD_ENTEI, CUTSCENE_FIERY_FIELD_ATTEMPT1, CUTSCENE_FLAG_FIERY_FIELD_REACHED, CUTSCENE_FIERY_FIELD_ATTEMPT2, CUTSCENE_FLAG_FIERY_FIELD_COMPLETE, CUTSCENE_FIERY_FIELD_POSTSTORY },
{ FIXED_ROOM_LIGHTNING_FIELD_RAIKOU, CUTSCENE_LIGHTNING_FIELD_ATTEMPT1, CUTSCENE_FLAG_LIGHTNING_FIELD_REACHED, CUTSCENE_LIGHTNING_FIELD_ATTEMPT2, CUTSCENE_FLAG_LIGHTNING_FIELD_COMPLETE, CUTSCENE_LIGHTNING_FIELD_POSTSTORY },
{ FIXED_ROOM_NORTHWIND_FIELD_SUICUNE, CUTSCENE_NORTHWIND_FIELD_ATTEMPT1, CUTSCENE_FLAG_NORTHWIND_FIELD_REACHED, CUTSCENE_NORTHWIND_FIELD_ATTEMPT2, CUTSCENE_FLAG_NORTHWIND_FIELD_COMPLETE, CUTSCENE_NORTHWIND_FIELD_POSTSTORY },
{ FIXED_ROOM_MT_FARAWAY_HO_OH, CUTSCENE_MT_FARAWAY, NUM_CUTSCENE_FLAGS, CUTSCENE_MT_FARAWAY, CUTSCENE_FLAG_MT_FARAWAY_COMPLETE, CUTSCENE_MT_FARAWAY_POSTSTORY },
{ FIXED_ROOM_NORTHERN_RANGE_LATIOS, CUTSCENE_NORTHERN_RANGE_ATTEMPT1, CUTSCENE_FLAG_NORTHERN_RANGE_REACHED, CUTSCENE_NORTHERN_RANGE_ATTEMPT2, CUTSCENE_FLAG_NORTHERN_RANGE_COMPLETE, CUTSCENE_NORTHERN_RANGE_POSTSTORY },
{ FIXED_ROOM_BURIED_RELIC_REGIROCK, CUTSCENE_REGIROCK, NUM_CUTSCENE_FLAGS, CUTSCENE_REGIROCK, NUM_CUTSCENE_FLAGS, CUTSCENE_REGIROCK },
{ FIXED_ROOM_BURIED_RELIC_REGICE, CUTSCENE_REGICE, NUM_CUTSCENE_FLAGS, CUTSCENE_REGICE, NUM_CUTSCENE_FLAGS, CUTSCENE_REGICE },
{ FIXED_ROOM_BURIED_RELIC_REGISTEEL, CUTSCENE_REGISTEEL, NUM_CUTSCENE_FLAGS, CUTSCENE_REGISTEEL, NUM_CUTSCENE_FLAGS, CUTSCENE_REGISTEEL },
{ FIXED_ROOM_WISH_CAVE_JIRACHI, CUTSCENE_JIRACHI, NUM_CUTSCENE_FLAGS, CUTSCENE_JIRACHI, CUTSCENE_FLAG_JIRACHI_COMPLETE, CUTSCENE_JIRACHI_POSTSTORY },
{ FIXED_ROOM_SILVER_TRENCH_LUGIA, CUTSCENE_SILVER_TRENCH, NUM_CUTSCENE_FLAGS, CUTSCENE_SILVER_TRENCH, NUM_CUTSCENE_FLAGS, CUTSCENE_SILVER_TRENCH },
{ FIXED_ROOM_STORMY_SEA_KYOGRE, CUTSCENE_STORMY_SEA, NUM_CUTSCENE_FLAGS, CUTSCENE_STORMY_SEA, NUM_CUTSCENE_FLAGS, CUTSCENE_STORMY_SEA },
{ FIXED_ROOM_METEOR_CAVE_DEOXYS, CUTSCENE_METEOR_CAVE, NUM_CUTSCENE_FLAGS, CUTSCENE_METEOR_CAVE, NUM_CUTSCENE_FLAGS, CUTSCENE_METEOR_CAVE },
{ FIXED_ROOM_PURITY_FOREST_CELEBI, CUTSCENE_PURITY_FOREST, NUM_CUTSCENE_FLAGS, CUTSCENE_PURITY_FOREST, NUM_CUTSCENE_FLAGS, CUTSCENE_PURITY_FOREST },
{ FIRST_DOJO_MAZE_BOSS_ROOM, CUTSCENE_MAZE_BOSS, NUM_CUTSCENE_FLAGS, CUTSCENE_MAZE_BOSS, NUM_CUTSCENE_FLAGS, CUTSCENE_MAZE_BOSS },
{ FIXED_ROOM_WISH_CAVE_MEDICHAM, CUTSCENE_MEDICHAM, CUTSCENE_FLAG_MEDICHAM_COMPLETE, CUTSCENE_MEDICHAM_POSTSTORY, CUTSCENE_FLAG_MEDICHAM_COMPLETE, CUTSCENE_MEDICHAM_POSTSTORY },
{ FIXED_ROOM_HOWLING_FOREST_SMEARGLE, CUTSCENE_HOWLING_FOREST, CUTSCENE_FLAG_HOWLING_FOREST_COMPLETE, CUTSCENE_HOWLING_FOREST_POSTSTORY, CUTSCENE_FLAG_HOWLING_FOREST_COMPLETE, CUTSCENE_HOWLING_FOREST_POSTSTORY },
{ FIXED_ROOM_NONE, 0, 0, 0, 0, 0 },
};
static const s32 gUnknown_8107314[] = {
static const s32 gUnknown_8107314[17] = {
0, -1, 1, -2, 2, -3, 3, -4,
4, -4, 4, -4, 4, -4, 4, -4,
4
};
EWRAM_DATA static unkStruct_202F3D0 gUnknown_202F3D0 = {0};
EWRAM_DATA static unkStruct_202F3D0 gUnknown_202F3D0 = { 0 };
void sub_80847D4(void)
{
@ -129,19 +129,21 @@ void sub_80847D4(void)
gDungeon->cutscene = CUTSCENE_NONE;
gDungeon->unk1356C = FALSE;
UpdateMinimap();
for (i = 0; i < 999 && sFixedRoomCutsceneLookup[i].fixedRoomNum != FIXED_ROOM_NONE; i++) {
fixedRoomNumber = gDungeon->fixedRoomNumber;
// Dojo maze bosses all use the same cutscene data
if (fixedRoomNumber - (FIRST_DOJO_MAZE_BOSS_ROOM + 1) < NUM_MAZE_BOSS_ROOMS) {
if (fixedRoomNumber >= (FIRST_DOJO_MAZE_BOSS_ROOM + 1) && fixedRoomNumber <= LAST_DOJO_MAZE_BOSS_ROOM)
fixedRoomNumber = FIRST_DOJO_MAZE_BOSS_ROOM;
}
if (fixedRoomNumber == sFixedRoomCutsceneLookup[i].fixedRoomNum)
{
if (fixedRoomNumber == sFixedRoomCutsceneLookup[i].fixedRoomNum) {
sub_8084854(&sFixedRoomCutsceneLookup[i]);
break;
}
}
sub_8097FF8();
FlushTempCutsceneFlags();
}
static void sub_8084854(const FixedRoomCutsceneData *data)
@ -149,17 +151,17 @@ static void sub_8084854(const FixedRoomCutsceneData *data)
if (gDungeon->unk644.missionKind != DUNGEON_MISSION_UNK0) {
gDungeon->cutscene = data->cutscene3;
}
else if (sub_8098100(data->unk4)) {
else if (GetCutsceneFlag(data->cutscene3Flag)) {
gDungeon->cutscene = data->cutscene3;
}
else if (sub_8098100(data->unk2)) {
else if (GetCutsceneFlag(data->cutscene2Flag)) {
gDungeon->cutscene = data->cutscene2;
}
else {
gDungeon->cutscene = data->cutscene1;
if (data->unk2 != 64) {
sub_8097FA8(data->unk2);
}
if (data->cutscene2Flag != NUM_CUTSCENE_FLAGS)
SetTempCutsceneFlag(data->cutscene2Flag);
}
gDungeon->unk644.unk31 = 1;
@ -177,7 +179,7 @@ void sub_80848F0(void)
switch (gDungeon->cutscene) {
case CUTSCENE_NONE:
case CUTSCENE_MAX:
case NUM_CUTSCENES:
gDungeon->unk1356C = FALSE;
break;
case CUTSCENE_MT_STEEL_ATTEMPT1:
@ -342,7 +344,7 @@ void sub_80848F0(void)
sub_808CD44();
break;
}
sub_8097FF8();
FlushTempCutsceneFlags();
}
void DisplayPreFightDialogue(void)
@ -525,16 +527,16 @@ void DisplayPreFightDialogue(void)
case CUTSCENE_HOWLING_FOREST_POSTSTORY:
sub_808CD9C();
break;
case CUTSCENE_MAX:
case NUM_CUTSCENES:
break;
}
sub_8085764();
sub_80857B8();
gDungeon->unk1356C = FALSE;
sub_8097FF8();
FlushTempCutsceneFlags();
}
void sub_8084E00_Async(Entity *entity, u8 monsterBehavior, bool8 param_3)
void HandleBossFaint_Async(Entity *entity, u8 monsterBehavior, bool8 transformedIntoFriend)
{
if (monsterBehavior == BEHAVIOR_FIXED_ENEMY)
return;
@ -544,200 +546,200 @@ void sub_8084E00_Async(Entity *entity, u8 monsterBehavior, bool8 param_3)
break;
case CUTSCENE_MT_STEEL_ATTEMPT1:
case CUTSCENE_MT_STEEL_ATTEMPT2:
sub_8086BDC(monsterBehavior, gDungeon->cutscene);
HandleSkarmoryBossFaint(monsterBehavior, gDungeon->cutscene);
break;
case CUTSCENE_SINISTER_WOODS_ATTEMPT1:
case CUTSCENE_SINISTER_WOODS_ATTEMPT2:
sub_8086F54(monsterBehavior, gDungeon->cutscene);
HandleMeaniesBossFaint(monsterBehavior, gDungeon->cutscene);
break;
case CUTSCENE_MT_THUNDER_PEAK_ATTEMPT1:
case CUTSCENE_MT_THUNDER_PEAK_ATTEMPT2:
case CUTSCENE_MT_THUNDER_PEAK_POSTSTORY:
sub_8087334(monsterBehavior, gDungeon->cutscene);
HandleZapdosBossFaint(monsterBehavior, gDungeon->cutscene);
break;
case CUTSCENE_MT_BLAZE_PEAK_ATTEMPT1:
case CUTSCENE_MT_BLAZE_PEAK_ATTEMPT2:
case CUTSCENE_MT_BLAZE_PEAK_POSTSTORY:
sub_80878F4(monsterBehavior, gDungeon->cutscene);
HandleMoltresBossFaint(monsterBehavior, gDungeon->cutscene);
break;
case CUTSCENE_FROSTY_GROTTO_ATTEMPT1:
case CUTSCENE_FROSTY_GROTTO_ATTEMPT2:
case CUTSCENE_FROSTY_GROTTO_POSTSTORY:
sub_8088088(monsterBehavior, gDungeon->cutscene);
HandleArticunoBossFaint(monsterBehavior, gDungeon->cutscene);
break;
case CUTSCENE_MAGMA_CAVERN_PIT_ATTEMPT1:
case CUTSCENE_MAGMA_CAVERN_PIT_ATTEMPT2:
case CUTSCENE_MAGMA_CAVERN_PIT_POSTSTORY:
sub_8088818(monsterBehavior, gDungeon->cutscene);
HandleGroudonBossFaint(monsterBehavior, gDungeon->cutscene);
break;
case CUTSCENE_SKY_TOWER_SUMMIT_ATTEMPT1:
case CUTSCENE_SKY_TOWER_SUMMIT_ATTEMPT2:
case CUTSCENE_SKY_TOWER_SUMMIT_POSTSTORY:
sub_80893B4(monsterBehavior, gDungeon->cutscene);
HandleRayquazaBossFaint(monsterBehavior, gDungeon->cutscene);
break;
case CUTSCENE_UPROAR_FOREST_ATTEMPT1:
case CUTSCENE_UPROAR_FOREST_ATTEMPT2:
sub_8089788(entity, monsterBehavior, gDungeon->cutscene);
HandleMankeyBossFaint(entity, monsterBehavior, gDungeon->cutscene);
break;
case CUTSCENE_WESTERN_CAVE_ATTEMPT1:
case CUTSCENE_WESTERN_CAVE_ATTEMPT2:
case CUTSCENE_WESTERN_CAVE_POSTSTORY:
sub_8089A00(monsterBehavior, gDungeon->cutscene);
HandleMewtwoBossFaint(monsterBehavior, gDungeon->cutscene);
break;
case CUTSCENE_FIERY_FIELD_ATTEMPT1:
case CUTSCENE_FIERY_FIELD_ATTEMPT2:
case CUTSCENE_FIERY_FIELD_POSTSTORY:
sub_8089CFC(monsterBehavior, gDungeon->cutscene);
HandleEnteiBossFaint(monsterBehavior, gDungeon->cutscene);
break;
case CUTSCENE_LIGHTNING_FIELD_ATTEMPT1:
case CUTSCENE_LIGHTNING_FIELD_ATTEMPT2:
case CUTSCENE_LIGHTNING_FIELD_POSTSTORY:
sub_8089FF0(monsterBehavior, gDungeon->cutscene);
HandleRaikouBossFaint(monsterBehavior, gDungeon->cutscene);
break;
case CUTSCENE_NORTHWIND_FIELD_ATTEMPT1:
case CUTSCENE_NORTHWIND_FIELD_ATTEMPT2:
case CUTSCENE_NORTHWIND_FIELD_POSTSTORY:
sub_808A36C(monsterBehavior, gDungeon->cutscene);
HandleSuicuneBossFaint(monsterBehavior, gDungeon->cutscene);
break;
case CUTSCENE_MT_FARAWAY:
case CUTSCENE_MT_FARAWAY_POSTSTORY:
sub_808A6E8(monsterBehavior, gDungeon->cutscene);
HandleHoOhBossFaint(monsterBehavior, gDungeon->cutscene);
break;
case CUTSCENE_NORTHERN_RANGE_ATTEMPT1:
case CUTSCENE_NORTHERN_RANGE_ATTEMPT2:
case CUTSCENE_NORTHERN_RANGE_POSTSTORY:
sub_808AAF0(monsterBehavior, gDungeon->cutscene);
HandleLatiosBossFaint(monsterBehavior, gDungeon->cutscene);
break;
case CUTSCENE_REGIROCK:
sub_808AE54(monsterBehavior, gDungeon->cutscene, &entity->pos);
HandleRegirockBossFaint_Async(monsterBehavior, gDungeon->cutscene, &entity->pos);
break;
case CUTSCENE_REGICE:
sub_808AEC8(monsterBehavior, gDungeon->cutscene, &entity->pos);
HandleRegiceBossFaint_Async(monsterBehavior, gDungeon->cutscene, &entity->pos);
break;
case CUTSCENE_REGISTEEL:
sub_808AF3C(monsterBehavior, gDungeon->cutscene, &entity->pos);
HandleRegisteelBossFaint_Async(monsterBehavior, gDungeon->cutscene, &entity->pos);
break;
case CUTSCENE_JIRACHI:
case CUTSCENE_JIRACHI_POSTSTORY:
sub_808B3E4_Async(monsterBehavior, gDungeon->cutscene, param_3);
HandleJirachiBossFaint_Async(monsterBehavior, gDungeon->cutscene, transformedIntoFriend);
break;
case CUTSCENE_SILVER_TRENCH:
sub_808BE70(monsterBehavior, gDungeon->cutscene, param_3);
HandleLugiaBossFaint(monsterBehavior, gDungeon->cutscene, transformedIntoFriend);
break;
case CUTSCENE_STORMY_SEA:
sub_808C1A4(monsterBehavior, gDungeon->cutscene, param_3);
HandleKyogreBossFaint(monsterBehavior, gDungeon->cutscene, transformedIntoFriend);
break;
case CUTSCENE_METEOR_CAVE:
sub_808C414(monsterBehavior, gDungeon->cutscene, param_3);
HandleDeoxysNormalBossFaint(monsterBehavior, gDungeon->cutscene, transformedIntoFriend);
break;
case CUTSCENE_PURITY_FOREST:
nullsub_100(monsterBehavior, gDungeon->cutscene, param_3);
HandleCelebiBossFaint(monsterBehavior, gDungeon->cutscene, transformedIntoFriend);
break;
case CUTSCENE_MAZE_BOSS:
sub_808C948(entity, gDungeon->cutscene);
HandleMazeBossFaint(entity, gDungeon->cutscene);
break;
case CUTSCENE_MEDICHAM:
case CUTSCENE_MEDICHAM_POSTSTORY:
case CUTSCENE_HOWLING_FOREST:
case CUTSCENE_HOWLING_FOREST_POSTSTORY:
case CUTSCENE_MAX:
case NUM_CUTSCENES:
break;
}
if (param_3 == 0 && gDungeon->unk2 != DUNGEON_UNK2_0)
if (!transformedIntoFriend && gDungeon->unk2 != DUNGEON_UNK2_0)
DungeonStartNewBGM(999);
}
void sub_8085140(void)
void sub_8085140_Async(void)
{
switch (gDungeon->cutscene) {
// NOTE: shortcut way to generate all cases from 0 - 0x3C properly
// NOTE: shortcut way to generate all cases from [CUTSCENE_NONE, NUM_CUTSCENES] properly
default:
case CUTSCENE_NONE:
case CUTSCENE_MT_STEEL_ATTEMPT1:
case CUTSCENE_MAX:
case NUM_CUTSCENES:
break;
case CUTSCENE_REGIROCK:
sub_808AFB0(gDungeon->cutscene);
sub_808AFB0_Async(gDungeon->cutscene);
break;
case CUTSCENE_REGICE:
sub_808B030(gDungeon->cutscene);
sub_808B030_Async(gDungeon->cutscene);
break;
case CUTSCENE_REGISTEEL:
sub_808B0B0(gDungeon->cutscene);
sub_808B0B0_Async(gDungeon->cutscene);
break;
}
}
bool8 sub_808529C(s32 speciesId_)
bool8 MonCutsceneCompleted(s32 speciesId_)
{
s32 r3;
s32 flag;
s32 speciesId = 0;
// This line serves no purpose other than generating the right asm. Feel free to remove it.
speciesId += (s16) speciesId_;
speciesId = (s16) speciesId_;
r3 = 0x40;
flag = NUM_CUTSCENE_FLAGS;
switch (speciesId) {
case MONSTER_SKARMORY:
r3 = 1;
flag = CUTSCENE_FLAG_MT_STEEL_COMPLETE;
break;
case MONSTER_EKANS:
r3 = 3;
flag = CUTSCENE_FLAG_SINISTER_WOODS_COMPLETE;
break;
case MONSTER_GENGAR:
r3 = 3;
flag = CUTSCENE_FLAG_SINISTER_WOODS_COMPLETE;
break;
case MONSTER_MEDICHAM:
r3 = 3;
flag = CUTSCENE_FLAG_SINISTER_WOODS_COMPLETE;
break;
case MONSTER_ZAPDOS:
r3 = 5;
flag = CUTSCENE_FLAG_MT_THUNDER_PEAK_COMPLETE;
break;
case MONSTER_MOLTRES:
r3 = 7;
flag = CUTSCENE_FLAG_MT_BLAZE_PEAK_COMPLETE;
break;
case MONSTER_ARTICUNO:
r3 = 9;
flag = CUTSCENE_FLAG_FROSTY_GROTTO_COMPLETE;
break;
case MONSTER_GROUDON:
r3 = 0xC;
flag = CUTSCENE_FLAG_MAGMA_CAVERN_PIT_COMPLETE;
break;
case MONSTER_RAYQUAZA:
r3 = 0xF;
flag = CUTSCENE_FLAG_SKY_TOWER_SUMMIT_COMPLETE;
break;
case MONSTER_MEWTWO:
r3 = 0x13;
flag = CUTSCENE_FLAG_WESTERN_CAVE_COMPLETE;
break;
case MONSTER_ENTEI:
r3 = 0x15;
flag = CUTSCENE_FLAG_FIERY_FIELD_COMPLETE;
break;
case MONSTER_RAIKOU:
r3 = 0x17;
flag = CUTSCENE_FLAG_LIGHTNING_FIELD_COMPLETE;
break;
case MONSTER_SUICUNE:
r3 = 0x19;
flag = CUTSCENE_FLAG_NORTHWIND_FIELD_COMPLETE;
break;
case MONSTER_HO_OH:
r3 = 0x1A;
flag = CUTSCENE_FLAG_MT_FARAWAY_COMPLETE;
break;
case MONSTER_MANKEY:
r3 = 0x11;
flag = CUTSCENE_FLAG_UPROAR_FOREST_COMPLETE;
break;
case MONSTER_REGIROCK:
r3 = 0x1D;
flag = CUTSCENE_FLAG_REGI_ITEM_OBTAINED;
break;
case MONSTER_REGICE:
r3 = 0x1D;
flag = CUTSCENE_FLAG_REGI_ITEM_OBTAINED;
break;
case MONSTER_REGISTEEL:
r3 = 0x1D;
flag = CUTSCENE_FLAG_REGI_ITEM_OBTAINED;
break;
}
if (r3 != 0x40 && !sub_8098100(r3))
if (flag != NUM_CUTSCENE_FLAGS && !GetCutsceneFlag(flag))
return FALSE;
return TRUE;
}
@ -1155,7 +1157,7 @@ UNUSED static void sub_8085B0C(Entity *pokemon)
while (local_28[index] != 0) {
SetFacingDirection(pokemon, local_28[index]);
sub_803E708(6,0x46);
DungeonWaitFrames_Async(6,0x46);
index++;
}
}
@ -1381,7 +1383,7 @@ void sub_8085F78(void)
sub_808A718();
break;
case CUTSCENE_NONE:
case CUTSCENE_MAX:
case NUM_CUTSCENES:
default:
break;
}
@ -1417,20 +1419,20 @@ UNUSED static void sub_8086124(Entity *entity, u8 param_2)
GetEntInfo(entity)->unk160 = param_2;
}
void sub_8086130(void)
void FrostyForestIntrusionCutscene_Async(void)
{
DungeonFadeOutBGM(0x3c);
sub_803E708(0x3c,0x46);
DungeonFadeOutBGM(60);
DungeonWaitFrames_Async(60, 70);
sub_8052FB8(gUnknown_810665C);
sub_803E708(0x1e,0x46);
DungeonWaitFrames_Async(30, 70);
sub_8052FB8(gUnknown_810668C);
sub_803E708(0x1e,0x46);
DungeonWaitFrames_Async(30, 70);
sub_8052FB8(gUnknown_81066D4);
sub_803E708(0x1e,0x46);
DungeonWaitFrames_Async(30, 70);
sub_8052FB8(gUnknown_81066F0);
sub_803E708(0x1e,0x46);
DungeonWaitFrames_Async(30, 70);
sub_8052FB8(gUnknown_810671C);
sub_803E708(0x1e,0x46);
DungeonWaitFrames_Async(30, 70);
}
void sub_80861A8(Entity *a0)
@ -1623,16 +1625,16 @@ static void sub_8086494(void)
s32 i;
sub_8085930(DIRECTION_NORTHEAST);
sub_803E708(4, 70);
DungeonWaitFrames_Async(4, 70);
sub_8085930(DIRECTION_EAST);
sub_803E708(4, 70);
DungeonWaitFrames_Async(4, 70);
sub_8085930(DIRECTION_SOUTHEAST);
sub_803E708(4, 70);
DungeonWaitFrames_Async(4, 70);
sub_8085930(DIRECTION_SOUTH);
sub_803E708(4, 70);
DungeonWaitFrames_Async(4, 70);
sub_80855E4(sub_80863C8);
@ -1759,10 +1761,10 @@ void sub_8086690(void)
void sub_80866C4(const struct DungeonDialogueStruct *dialogue)
{
SpriteLookAroundEffect(CutsceneGetLeader());
sub_803E708(10, 70);
DisplayDungeonDialogue(dialogue);
sub_803E708(10, 70);
CutsceneLookAroundEffect_Async(CutsceneGetLeader());
DungeonWaitFrames_Async(10, 70);
DisplayDungeonDialogue_Async(dialogue);
DungeonWaitFrames_Async(10, 70);
sub_8086494();
gDungeon->unk2 = DUNGEON_UNK2_1;
}
@ -1904,43 +1906,45 @@ void sub_8086910(Entity *entity)
void sub_808692C(void)
{
sub_80859F0(DIRECTION_NORTHWEST);
sub_803E708(4, 70);
DungeonWaitFrames_Async(4, 70);
sub_80859F0(DIRECTION_WEST);
sub_803E708(4, 70);
DungeonWaitFrames_Async(4, 70);
sub_80859F0(DIRECTION_SOUTHWEST);
sub_803E708(4, 70);
DungeonWaitFrames_Async(4, 70);
sub_80859F0(DIRECTION_SOUTH);
sub_803E708(4, 70);
DungeonWaitFrames_Async(4, 70);
}
void SpriteLookAroundEffect(Entity *entity)
void CutsceneLookAroundEffect_Async(Entity *entity)
{
s8 dir = sub_8002984((s8) GetEntInfo(entity)->action.direction, 4);
s8 dir = (s8)GetEntInfo(entity)->action.direction;
sub_80869E4(entity, 4, 2, dir);
sub_803E708(15, 70);
dir = sub_8002984(dir, 5);
sub_80869E4(entity, 4, 1, dir);
sub_803E708(15, 70);
sub_80869E4(entity, 4, 2, (s8) sub_8002984(dir, 4));
sub_803E708(15, 70);
dir = TransformDirection1(dir, DIR_TRANS_SPINLEFT2);
CutsceneLookDir_Async(entity, 4, DIR_TRANS_SPINLEFT1, dir);
DungeonWaitFrames_Async(15, 70);
dir = TransformDirection1(dir, DIR_TRANS_FLIP);
CutsceneLookDir_Async(entity, 4, DIR_TRANS_SPINRIGHT1, dir);
DungeonWaitFrames_Async(15, 70);
dir = TransformDirection1(dir, DIR_TRANS_SPINLEFT2);
CutsceneLookDir_Async(entity, 4, DIR_TRANS_SPINLEFT1, dir);
DungeonWaitFrames_Async(15, 70);
}
void sub_80869E4(struct Entity *entity, s32 a1, u8 a2, s32 _someDirection)
void CutsceneLookDir_Async(struct Entity *entity, s32 numFrames, u8 dirTrans, s32 _someDirection)
{
s32 someDirection = (s8) _someDirection;
struct EntityInfo *info = GetEntInfo(entity);
s32 direction = (s8) info->action.direction;
while (direction != someDirection) {
direction = (s8) sub_8002A70(direction, someDirection, a2);
direction = (s8) TransformDirection2(direction, someDirection, dirTrans);
info->action.direction = direction;
info->action.direction &= DIRECTION_MASK;
sub_806CE68(entity, info->action.direction);
sub_803E708(a1, 70);
DungeonWaitFrames_Async(numFrames, 70);
}
}
@ -1980,7 +1984,7 @@ void SetupBossFightHP(Entity *pokemon, s32 newHP, u16 songIndex)
void sub_8086AC0(void)
{
if (!IsFloorOver() && gDungeon->unk2 == DUNGEON_UNK2_0)
sub_8097FF8();
FlushTempCutsceneFlags();
}
bool8 sub_8086AE4(s16 _index)

View File

@ -92,10 +92,10 @@ void sub_8087FF8(void)
CopyMonsterNameToBuffer(gFormatBuffer_Monsters[2], MONSTER_ARTICUNO);
}
void sub_8088088(u8 monsterBehavior, u8 cutscene)
void HandleArticunoBossFaint(u8 monsterBehavior, u8 cutscene)
{
if ((cutscene == CUTSCENE_FROSTY_GROTTO_ATTEMPT1 || cutscene == CUTSCENE_FROSTY_GROTTO_ATTEMPT2 || cutscene == CUTSCENE_FROSTY_GROTTO_POSTSTORY) && monsterBehavior == BEHAVIOR_ARTICUNO) {
sub_8097FA8(9);
SetTempCutsceneFlag(CUTSCENE_FLAG_FROSTY_GROTTO_COMPLETE);
gDungeon->unk2 = DUNGEON_UNK2_1;
}
}
@ -110,70 +110,70 @@ void ArticunoPreFightDialogue(void)
partnerEntity = CutsceneGetPartner();
articunoEntity = GetEntityFromMonsterBehavior(BEHAVIOR_ARTICUNO);
sub_8086448();
SpriteLookAroundEffect(partnerEntity);
DisplayDungeonDialogue(gArticunoPreFightDialogue_1);
sub_803E708(10,0x46);
CutsceneLookAroundEffect_Async(partnerEntity);
DisplayDungeonDialogue_Async(gArticunoPreFightDialogue_1);
DungeonWaitFrames_Async(10,0x46);
sub_8086598();
DungeonStopBGM();
DisplayDungeonDialogue(&gArticunoPreFightDialogue_2);
sub_803E708(10,0x46);
sub_80869E4(partnerEntity,4,1,DIRECTION_EAST);
sub_80869E4(leaderEntity,4,2,DIRECTION_WEST);
DisplayDungeonDialogue(&gArticunoPreFightDialogue_3);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(&gArticunoPreFightDialogue_2);
DungeonWaitFrames_Async(10,0x46);
CutsceneLookDir_Async(partnerEntity,4,DIR_TRANS_SPINRIGHT1,DIRECTION_EAST);
CutsceneLookDir_Async(leaderEntity,4,DIR_TRANS_SPINLEFT1,DIRECTION_WEST);
DisplayDungeonDialogue_Async(&gArticunoPreFightDialogue_3);
DungeonWaitFrames_Async(10,0x46);
SetFacingDirection(leaderEntity, DIRECTION_WEST);
sub_803E708(4,0x46);
DungeonWaitFrames_Async(4,0x46);
SetFacingDirection(leaderEntity, DIRECTION_NORTHWEST);
sub_803E708(4,0x46);
DungeonWaitFrames_Async(4,0x46);
SetFacingDirection(leaderEntity, DIRECTION_WEST);
sub_803E708(4,0x46);
DungeonWaitFrames_Async(4,0x46);
SetFacingDirection(leaderEntity, DIRECTION_SOUTHWEST);
sub_803E708(4,0x46);
DungeonWaitFrames_Async(4,0x46);
SetFacingDirection(leaderEntity, DIRECTION_WEST);
sub_803E708(4,0x46);
DungeonWaitFrames_Async(4,0x46);
SetFacingDirection(leaderEntity, DIRECTION_NORTHWEST);
sub_803E708(4,0x46);
DungeonWaitFrames_Async(4,0x46);
SetFacingDirection(leaderEntity, DIRECTION_WEST);
sub_803E708(10,0x46);
DisplayDungeonDialogue(gArticunoPreFightDialogue_4);
sub_803E708(10,0x46);
DisplayDungeonDialogue(&gArticunoPreFightDialogue_5);
sub_803E708(10,0x46);
sub_80869E4(leaderEntity,4,1,DIRECTION_NORTH);
sub_80869E4(partnerEntity,4,2,DIRECTION_NORTH);
DungeonWaitFrames_Async(10,0x46);
DisplayDungeonDialogue_Async(gArticunoPreFightDialogue_4);
DungeonWaitFrames_Async(10,0x46);
DisplayDungeonDialogue_Async(&gArticunoPreFightDialogue_5);
DungeonWaitFrames_Async(10,0x46);
CutsceneLookDir_Async(leaderEntity,4,DIR_TRANS_SPINRIGHT1,DIRECTION_NORTH);
CutsceneLookDir_Async(partnerEntity,4,DIR_TRANS_SPINLEFT1,DIRECTION_NORTH);
PlaySoundEffect(0x1d5);
SpriteLookAroundEffect(partnerEntity);
CutsceneLookAroundEffect_Async(partnerEntity);
PlaySoundEffect(0x1d5);
SpriteLookAroundEffect(leaderEntity);
DisplayDungeonDialogue(&gArticunoPreFightDialogue_6);
sub_803E708(10,0x46);
DisplayDungeonDialogue(&gArticunoPreFightDialogue_7);
sub_803E708(10,0x46);
CutsceneLookAroundEffect_Async(leaderEntity);
DisplayDungeonDialogue_Async(&gArticunoPreFightDialogue_6);
DungeonWaitFrames_Async(10,0x46);
DisplayDungeonDialogue_Async(&gArticunoPreFightDialogue_7);
DungeonWaitFrames_Async(10,0x46);
PlaySoundEffect(0); // snow flurry
gDungeon->weather.unkE265 = WEATHER_SNOW;
sub_807EAA0(0,1);
PlaySoundEffect(0x1ee); // flash effect?
sub_8088574();
DisplayDungeonDialogue(&gArticunoPreFightDialogue_8);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(&gArticunoPreFightDialogue_8);
DungeonWaitFrames_Async(10,0x46);
ArticunoScreenFlash();
sub_8086738();
PlaySoundEffect(0x1da);
DisplayDungeonDialogue(&gArticunoPreFightDialogue_9);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(&gArticunoPreFightDialogue_9);
DungeonWaitFrames_Async(10,0x46);
PlaySoundEffect(0x1ea);
sub_8088484(articunoEntity);
sub_80865E8();
ArticunoScreenFlash();
DisplayDungeonDialogue(&gArticunoPreFightDialogue_10);
DisplayDungeonDialogue_Async(&gArticunoPreFightDialogue_10);
sub_806CDD4(articunoEntity,0xf,DIRECTION_SOUTH);
ArticunoScreenFlash();
DisplayDungeonDialogue(&gArticunoPreFightDialogue_11);
DisplayDungeonDialogue_Async(&gArticunoPreFightDialogue_11);
sub_806CDD4(articunoEntity,0x10,DIRECTION_SOUTH);
ArticunoScreenFlash();
DisplayDungeonDialogue(&gArticunoPreFightDialogue_12);
DisplayDungeonDialogue_Async(&gArticunoPreFightDialogue_12);
sub_806CDD4(articunoEntity,0xf,DIRECTION_SOUTH);
sub_803E708(0x10,0x46);
DungeonWaitFrames_Async(0x10,0x46);
SetupBossFightHP(articunoEntity,0x1c2,MUS_BOSS_BATTLE);
ShiftCameraToPosition(&leaderEntity->pixelPos,0x10);
}
@ -187,15 +187,15 @@ void ArticunoReFightDialogue(void)
articunoEntity = GetEntityFromMonsterBehavior(BEHAVIOR_ARTICUNO);
gDungeon->weather.unkE265 = WEATHER_SNOW;
sub_807EAA0(0,1);
sub_803E708(10,0x46);
DisplayDungeonDialogue(&gArticunoReFightDialogue_1);
DungeonWaitFrames_Async(10,0x46);
DisplayDungeonDialogue_Async(&gArticunoReFightDialogue_1);
sub_806CDD4(articunoEntity,0x10,DIRECTION_SOUTH);
ArticunoScreenFlash();
DisplayDungeonDialogue(&gArticunoReFightDialogue_2);
DisplayDungeonDialogue_Async(&gArticunoReFightDialogue_2);
ArticunoScreenFlash();
DisplayDungeonDialogue(&gArticunoReFightDialogue_3);
DisplayDungeonDialogue_Async(&gArticunoReFightDialogue_3);
sub_806CDD4(articunoEntity,0xf,DIRECTION_SOUTH);
sub_803E708(0x28,0x46);
DungeonWaitFrames_Async(0x28,0x46);
SetupBossFightHP(articunoEntity,0x1c2,MUS_BOSS_BATTLE);
ShiftCameraToPosition(&leaderEntity->pixelPos,0x10);
}
@ -217,21 +217,21 @@ void ArticunoPostStoryPreFightDialogue(void)
ArticunoScreenFlash();
sub_8086738();
PlaySoundEffect(0x1da);
DisplayDungeonDialogue(&gArticunoPostStoryPreFightDialogue_1);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(&gArticunoPostStoryPreFightDialogue_1);
DungeonWaitFrames_Async(10,0x46);
sub_8088484(articunoEntity);
ArticunoScreenFlash();
DisplayDungeonDialogue(&gArticunoPostStoryPreFightDialogue_2);
DisplayDungeonDialogue_Async(&gArticunoPostStoryPreFightDialogue_2);
sub_806CDD4(articunoEntity,0xf,DIRECTION_SOUTH);
ArticunoScreenFlash();
DisplayDungeonDialogue(&gArticunoPostStoryPreFightDialogue_3);
DisplayDungeonDialogue_Async(&gArticunoPostStoryPreFightDialogue_3);
sub_806CDD4(articunoEntity,0x10,DIRECTION_SOUTH);
ArticunoScreenFlash();
DisplayDungeonDialogue(&gArticunoPostStoryPreFightDialogue_4);
DisplayDungeonDialogue_Async(&gArticunoPostStoryPreFightDialogue_4);
ArticunoScreenFlash();
DisplayDungeonDialogue(&gArticunoPostStoryPreFightDialogue_5);
DisplayDungeonDialogue_Async(&gArticunoPostStoryPreFightDialogue_5);
sub_806CDD4(articunoEntity,0xf,DIRECTION_SOUTH);
sub_803E708(0x28,0x46);
DungeonWaitFrames_Async(0x28,0x46);
SetupBossFightHP(articunoEntity,0x1c2,MUS_BOSS_BATTLE);
ShiftCameraToPosition(&leaderEntity->pixelPos,0x10);
}
@ -262,19 +262,19 @@ static void ArticunoScreenFlash(void)
SetDungeonBGColorRGB(iVar1 / 2,iVar1,iVar1,1,1);
DungeonRunFrameActions(0x46);
}
sub_803E708(4,0x46);
DungeonWaitFrames_Async(4,0x46);
for(iVar1 = 250; iVar1 > 199; iVar1 -= 10)
{
SetDungeonBGColorRGB(0,iVar1,iVar1,1,1);
DungeonRunFrameActions(0x46);
}
sub_803E708(4,0x46);
DungeonWaitFrames_Async(4,0x46);
for(iVar1 = 250; iVar1 >= 0; iVar1 -= 10)
{
SetDungeonBGColorRGB(iVar1 / 2,iVar1,iVar1,1,1);
DungeonRunFrameActions(0x46);
}
sub_803E708(4,0x46);
DungeonWaitFrames_Async(4,0x46);
sub_8085EB0();
}

View File

@ -39,26 +39,26 @@ static void sub_808C9B0(Entity *param_1);
void sub_808C5C0(void)
{
Entity * leaderEntity;
Entity * celebiEntity;
Entity * leaderEntity;
Entity * celebiEntity;
u32 XPos;
s32 YPos;
u32 XPos;
s32 YPos;
leaderEntity = CutsceneGetLeader();
celebiEntity = GetEntityFromMonsterBehavior(BEHAVIOR_CELEBI);
DungeonStartNewBGM(MUS_FRIEND_AREA_HEALING_FOREST);
sub_80854D4();
sub_8085930(DIRECTION_NORTH);
SetFacingDirection(celebiEntity, DIRECTION_SOUTH);
sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y);
XPos = GetCameraXPos();
YPos = GetCameraYPos();
sub_803F878(XPos,YPos - 0x1000);
CopyMonsterNameToBuffer(gFormatBuffer_Monsters[2], MONSTER_CELEBI);
leaderEntity = CutsceneGetLeader();
celebiEntity = GetEntityFromMonsterBehavior(BEHAVIOR_CELEBI);
DungeonStartNewBGM(MUS_FRIEND_AREA_HEALING_FOREST);
sub_80854D4();
sub_8085930(DIRECTION_NORTH);
SetFacingDirection(celebiEntity, DIRECTION_SOUTH);
sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y);
XPos = GetCameraXPos();
YPos = GetCameraYPos();
sub_803F878(XPos,YPos - 0x1000);
CopyMonsterNameToBuffer(gFormatBuffer_Monsters[2], MONSTER_CELEBI);
}
void nullsub_100(u8 monsterBehavior, u8 cutscene, u8 r3)
void HandleCelebiBossFaint(u8 monsterBehavior, u8 cutscene, bool8 transformedIntoFriend)
{
}
@ -74,35 +74,35 @@ void CelebiJoinDialogue(void)
if ((HasRecruitedMon(MONSTER_CELEBI)) || (!CanEntityBeRecruited(celebiEntity)))
{
HandleFaint_Async(celebiEntity,DUNGEON_EXIT_DELETED_FOR_EVENT,0);
SpriteLookAroundEffect(leaderEntity);
sub_803E708(10,0x46);
CutsceneLookAroundEffect_Async(leaderEntity);
DungeonWaitFrames_Async(10,0x46);
// .........
DisplayDungeonDialogue(&gCelebiJoinDialogue_10);
DisplayDungeonDialogue_Async(&gCelebiJoinDialogue_10);
}
else
{
SpriteLookAroundEffect(leaderEntity);
sub_803E708(10,0x46);
CutsceneLookAroundEffect_Async(leaderEntity);
DungeonWaitFrames_Async(10,0x46);
SpriteShockEffect(leaderEntity);
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
// Oh? There's someone there.
DisplayDungeonDialogue(&gCelebiJoinDialogue_1);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(&gCelebiJoinDialogue_1);
DungeonWaitFrames_Async(10,0x46);
sub_8086598();
sub_8086598();
sub_8086598();
sub_8086598();
// The Time-Traveling Pokemon {POKEMON_2} (Celebi)!
DisplayDungeonDialogue(&gCelebiJoinDialogue_2);
DisplayDungeonDialogue_Async(&gCelebiJoinDialogue_2);
PlaySoundEffect(0x1c7);
sub_806CDD4(celebiEntity,10,DIRECTION_SOUTH);
sub_803E708(0x14,0x46);
DungeonWaitFrames_Async(0x14,0x46);
sub_806CE68(celebiEntity, DIRECTION_SOUTH);
sub_803E708(4,0x46);
DungeonWaitFrames_Async(4,0x46);
PlaySoundEffect(0x1c7);
sub_806CDD4(celebiEntity,10,DIRECTION_SOUTH);
DisplayDungeonDialogue(&gCelebiJoinDialogue_3);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(&gCelebiJoinDialogue_3);
DungeonWaitFrames_Async(10,0x46);
state = 0;
do
@ -115,7 +115,7 @@ void CelebiJoinDialogue(void)
menuChoice = DisplayDungeonMenuMessage(0,gPtrPurityForestAllowCelebiToJoinText, gPurityForestAllowCelebiToJoinPrompt,0x701);
} while (menuChoice < 1);
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
if (menuChoice == 1)
{
@ -127,26 +127,26 @@ void CelebiJoinDialogue(void)
DungeonStartNewBGM(MUS_FRIEND_AREA_HEALING_FOREST);
PlaySoundEffect(0x1c7);
sub_80861D4(celebiEntity,0xd,DIRECTION_SOUTH);
sub_803E708(0x37,0x46);
DungeonWaitFrames_Async(0x37,0x46);
PlaySoundEffect(0x1d5);
sub_803E708(0x1a,0x46);
DungeonWaitFrames_Async(0x1a,0x46);
PlaySoundEffect(0x1d5);
sub_803E708(0x1c,0x46);
DisplayDungeonDialogue(&gCelebiJoinDialogue_4);
sub_803E708(10,0x46);
DungeonWaitFrames_Async(0x1c,0x46);
DisplayDungeonDialogue_Async(&gCelebiJoinDialogue_4);
DungeonWaitFrames_Async(10,0x46);
HandleSpecialEntityJoinSequence(leaderEntity,celebiEntity,&celebiEntity);
DungeonStartNewBGM(MUS_FRIEND_AREA_HEALING_FOREST);
DisplayDungeonDialogue(&gCelebiJoinDialogue_5);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(&gCelebiJoinDialogue_5);
DungeonWaitFrames_Async(10,0x46);
PlaySoundEffect(0x1c7);
sub_80861D4(celebiEntity,0xd,DIRECTION_SOUTH);
sub_803E708(0x37,0x46);
DungeonWaitFrames_Async(0x37,0x46);
PlaySoundEffect(0x1d5);
sub_803E708(0x1a,0x46);
DungeonWaitFrames_Async(0x1a,0x46);
PlaySoundEffect(0x1d5);
sub_803E708(0x1b,0x46);
DisplayDungeonDialogue(&gCelebiJoinDialogue_6);
sub_803E708(10,0x46);
DungeonWaitFrames_Async(0x1b,0x46);
DisplayDungeonDialogue_Async(&gCelebiJoinDialogue_6);
DungeonWaitFrames_Async(10,0x46);
state = 2;
}
else
@ -165,17 +165,17 @@ void CelebiJoinDialogue(void)
}
else
{
sub_803E708(10,0x46);
DisplayDungeonDialogue(&gCelebiJoinDialogue_7);
DungeonWaitFrames_Async(10,0x46);
DisplayDungeonDialogue_Async(&gCelebiJoinDialogue_7);
sub_80861F8(0x3e,celebiEntity,1);
sub_803E708(0x18,0x46);
DungeonWaitFrames_Async(0x18,0x46);
sub_80861F8(0x3e,celebiEntity,1);
sub_803E708(0xe,0x46);
DisplayDungeonDialogue(&gCelebiJoinDialogue_8);
sub_803E708(10,0x46);
DungeonWaitFrames_Async(0xe,0x46);
DisplayDungeonDialogue_Async(&gCelebiJoinDialogue_8);
DungeonWaitFrames_Async(10,0x46);
sub_808C8E0(celebiEntity);
DisplayDungeonDialogue(&gCelebiJoinDialogue_9);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(&gCelebiJoinDialogue_9);
DungeonWaitFrames_Async(10,0x46);
state = 2;
}
break;
@ -183,7 +183,7 @@ void CelebiJoinDialogue(void)
} while (state != 2);
}
DungeonFadeOutBGM(30);
sub_803E708(30, 70);
DungeonWaitFrames_Async(30, 70);
gDungeon->unk2 = DUNGEON_UNK2_1;
}
@ -204,38 +204,42 @@ static void sub_808C8E0(Entity *entity)
sub_8086A3C(entity);
}
// TODO: Yeah that doesn't look like Celebi stuff.
// Check if it's a file split in blue...
void sub_808C938(void)
{
sub_80855E4(sub_808C9B0);
}
void sub_808C948(Entity *entity, u8 cutscene)
void HandleMazeBossFaint(Entity *entity, u8 cutscene)
{
bool8 flag;
s32 index;
Entity *pokeEntity;
s32 i;
Entity *pokeEntity;
if (cutscene == CUTSCENE_MAZE_BOSS) {
flag = FALSE;
for(index = 0; index < DUNGEON_MAX_WILD_POKEMON; index++){
pokeEntity = gDungeon->wildPokemon[index];
if ((pokeEntity != entity) && (EntityIsValid(pokeEntity))) {
flag = TRUE;
break;
}
if (cutscene == CUTSCENE_MAZE_BOSS) {
bool8 stillAlive = FALSE;
for (i = 0; i < DUNGEON_MAX_WILD_POKEMON; i++){
pokeEntity = gDungeon->wildPokemon[i];
if (pokeEntity != entity && EntityIsValid(pokeEntity)) {
stillAlive = TRUE;
break;
}
}
if (!stillAlive) {
gDungeon->unk2 = DUNGEON_UNK2_1;
}
}
if (!flag) {
gDungeon->unk2 = DUNGEON_UNK2_1;
}
}
}
void sub_808C998(void)
{
// Defeat the opposing team to win
// Be careful, your opponents are tough
DisplayDungeonDialogue(&gUnknown_8106720);
sub_803E708(0xA, 0x46);
DisplayDungeonDialogue_Async(&gUnknown_8106720);
DungeonWaitFrames_Async(0xA, 0x46);
}
static void sub_808C9B0(Entity *param_1)

View File

@ -58,7 +58,7 @@ void sub_808C3A0(void)
CopyMonsterNameToBuffer(gFormatBuffer_Monsters[2], MONSTER_DEOXYS_NORMAL);
}
void sub_808C414(u8 monsterBehavior, u8 cutscene, u8 param_3)
void HandleDeoxysNormalBossFaint(u8 monsterBehavior, u8 cutscene, bool8 transformedIntoFriend)
{
if (cutscene == CUTSCENE_METEOR_CAVE && monsterBehavior == BEHAVIOR_DEOXYS_NORMAL) {
gDungeon->unk2 = DUNGEON_UNK2_1;
@ -78,15 +78,15 @@ void DeoxysPreFightDialogue(void)
sub_80866C4(&gDeoxysPreFightDialogue_5);
}
else {
DisplayDungeonDialogue(&gDeoxysPreFightDialogue_1);
DisplayDungeonDialogue_Async(&gDeoxysPreFightDialogue_1);
DungeonFadeInNewBGM(MUS_RAYQUAZAS_DOMAIN, 0x3c);
sub_808C550();
DisplayDungeonDialogue(&gDeoxysPreFightDialogue_2);
DisplayDungeonDialogue_Async(&gDeoxysPreFightDialogue_2);
DeoxysScreenFlash();
DisplayDungeonDialogue(&gDeoxysPreFightDialogue_3);
DisplayDungeonDialogue_Async(&gDeoxysPreFightDialogue_3);
DeoxysScreenFlash();
DisplayDungeonDialogue(&gDeoxysPreFightDialogue_4);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(&gDeoxysPreFightDialogue_4);
DungeonWaitFrames_Async(10,0x46);
sub_808563C(SetupDeoxysFightHP);
ShiftCameraToPosition(&leaderEntity->pixelPos,0x10);
}
@ -101,17 +101,17 @@ static void DeoxysScreenFlash(void)
SetDungeonBGColorRGB(iVar1,0,0,1,1);
DungeonRunFrameActions(0x46);
}
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
for(iVar1 = 250; iVar1 > 199; iVar1 -= 10){
SetDungeonBGColorRGB(iVar1,iVar1,0,1,1);
DungeonRunFrameActions(0x46);
}
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
for(iVar1 = 250; iVar1 >= 0; iVar1 -= 10){
SetDungeonBGColorRGB(iVar1,0,0,1,1);
DungeonRunFrameActions(0x46);
}
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
sub_8085EB0();
}

View File

@ -33,7 +33,7 @@
void sub_80885A0(void)
{
DungeonFadeOutBGM(0x3c);
sub_803E708(0x3c,0x46);
DungeonWaitFrames_Async(0x3c,0x46);
DungeonStopBGM();
gDungeon->unk7 = 1;
}
@ -44,7 +44,7 @@ void sub_80885C4(void)
leaderEntity = CutsceneGetLeader();
DungeonFadeOutBGM(0x3c);
sub_803E708(0x3c,0x46);
DungeonWaitFrames_Async(0x3c,0x46);
DungeonStopBGM();
sub_80854D4();
sub_8085930(DIRECTION_NORTH);

View File

@ -68,10 +68,10 @@ void sub_8089C90(void)
CopyMonsterNameToBuffer(gFormatBuffer_Monsters[2], MONSTER_ENTEI);
}
void sub_8089CFC(u8 monsterBehavior, u8 cutscene)
void HandleEnteiBossFaint(u8 monsterBehavior, u8 cutscene)
{
if ((cutscene == CUTSCENE_FIERY_FIELD_ATTEMPT1 || cutscene == CUTSCENE_FIERY_FIELD_ATTEMPT2 || cutscene == CUTSCENE_FIERY_FIELD_POSTSTORY) && monsterBehavior == BEHAVIOR_ENTEI) {
sub_8097FA8(21);
SetTempCutsceneFlag(CUTSCENE_FLAG_FIERY_FIELD_COMPLETE);
gDungeon->unk2 = DUNGEON_UNK2_1;
}
}
@ -84,12 +84,12 @@ void EnteiPreFightDialogue(void)
leaderEntity = CutsceneGetLeader();
EnteiEntity = GetEntityFromMonsterBehavior(BEHAVIOR_ENTEI);
EnteiScreenFlash();
DisplayDungeonDialogue(&gEnteiPreFightDialogue_1);
DisplayDungeonDialogue_Async(&gEnteiPreFightDialogue_1);
EnteiScreenFlash();
DisplayDungeonDialogue(&gEnteiPreFightDialogue_2);
DisplayDungeonDialogue_Async(&gEnteiPreFightDialogue_2);
EnteiScreenFlash();
DisplayDungeonDialogue(&gEnteiPreFightDialogue_3);
sub_803E708(10,70);
DisplayDungeonDialogue_Async(&gEnteiPreFightDialogue_3);
DungeonWaitFrames_Async(10,70);
SetupBossFightHP(EnteiEntity,600,MUS_BOSS_BATTLE);
ShiftCameraToPosition(&leaderEntity->pixelPos,0x10);
}
@ -102,12 +102,12 @@ void EnteiReFightDialogue(void)
leaderEntity = CutsceneGetLeader();
EnteiEntity = GetEntityFromMonsterBehavior(BEHAVIOR_ENTEI);
EnteiScreenFlash();
DisplayDungeonDialogue(&gEnteiReFightDialogue_1);
DisplayDungeonDialogue_Async(&gEnteiReFightDialogue_1);
EnteiScreenFlash();
DisplayDungeonDialogue(&gEnteiReFightDialogue_2);
DisplayDungeonDialogue_Async(&gEnteiReFightDialogue_2);
EnteiScreenFlash();
DisplayDungeonDialogue(&gEnteiReFightDialogue_3);
sub_803E708(10,70);
DisplayDungeonDialogue_Async(&gEnteiReFightDialogue_3);
DungeonWaitFrames_Async(10,70);
SetupBossFightHP(EnteiEntity,600,MUS_BOSS_BATTLE);
ShiftCameraToPosition(&leaderEntity->pixelPos,0x10);
}
@ -124,12 +124,12 @@ void EnteiPostStoryPreFightDialogue(void)
}
else {
EnteiScreenFlash();
DisplayDungeonDialogue(&gEnteiPostStoryPreFightDialogue_1);
DisplayDungeonDialogue_Async(&gEnteiPostStoryPreFightDialogue_1);
EnteiScreenFlash();
DisplayDungeonDialogue(&gEnteiPostStoryPreFightDialogue_2);
DisplayDungeonDialogue_Async(&gEnteiPostStoryPreFightDialogue_2);
EnteiScreenFlash();
DisplayDungeonDialogue(&gEnteiPostStoryPreFightDialogue_3);
sub_803E708(10,70);
DisplayDungeonDialogue_Async(&gEnteiPostStoryPreFightDialogue_3);
DungeonWaitFrames_Async(10,70);
SetupBossFightHP(EnteiEntity,600,MUS_BOSS_BATTLE);
ShiftCameraToPosition(&leaderEntity->pixelPos,0x10);
}
@ -140,24 +140,24 @@ static void EnteiScreenFlash(void)
s32 iVar1;
PlaySoundEffect(0x1ed);
for(iVar1 = 250; iVar1 > 149; iVar1 -= 10)
for(iVar1 = 250; iVar1 >= 150; iVar1 -= 10)
{
SetDungeonBGColorRGB(iVar1, iVar1 / 2, iVar1 / 2, 1, 1);
DungeonRunFrameActions(70);
}
sub_803E708(10,70);
for(iVar1 = 250; iVar1 > 199; iVar1 -= 10)
DungeonWaitFrames_Async(10,70);
for(iVar1 = 250; iVar1 >= 200; iVar1 -= 10)
{
SetDungeonBGColorRGB(iVar1, 0, 0, 1, 1);
DungeonRunFrameActions(70);
}
sub_803E708(10,70);
DungeonWaitFrames_Async(10,70);
for(iVar1 = 250; iVar1 >= 0; iVar1 -= 10)
{
SetDungeonBGColorRGB(iVar1, iVar1 / 2, iVar1 / 2, 1, 1);
DungeonRunFrameActions(70);
}
sub_803E708(10,70);
DungeonWaitFrames_Async(10,70);
sub_8085EB0();
}

View File

@ -116,10 +116,10 @@ void sub_808875C(void)
CopyMonsterNameToBuffer(gFormatBuffer_Monsters[3], MONSTER_ALAKAZAM);
}
void sub_8088818(u8 monsterBehavior, u8 cutscene)
void HandleGroudonBossFaint(u8 monsterBehavior, u8 cutscene)
{
if ((cutscene == CUTSCENE_MAGMA_CAVERN_PIT_ATTEMPT1 || cutscene == CUTSCENE_MAGMA_CAVERN_PIT_ATTEMPT2 || cutscene == CUTSCENE_MAGMA_CAVERN_PIT_POSTSTORY) && monsterBehavior == BEHAVIOR_GROUDON_2) {
sub_8097FA8(12);
SetTempCutsceneFlag(CUTSCENE_FLAG_MAGMA_CAVERN_PIT_COMPLETE);
gDungeon->unk2 = DUNGEON_UNK2_1;
}
}
@ -141,69 +141,69 @@ void GroudonPreFightDialogue(void)
alakazamEntity = GetEntityFromMonsterBehavior(BEHAVIOR_ALAKAZAM_1);
groudonEntity = GetEntityFromMonsterBehavior(BEHAVIOR_GROUDON_2);
sub_8086448();
DisplayDungeonDialogue(GroudonPreFightDialogue_1);
sub_803E708(10,0x46);
sub_803E708(0x3c,0x46);
DisplayDungeonDialogue(&GroudonPreFightDialogue_2);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(GroudonPreFightDialogue_1);
DungeonWaitFrames_Async(10,0x46);
DungeonWaitFrames_Async(0x3c,0x46);
DisplayDungeonDialogue_Async(&GroudonPreFightDialogue_2);
DungeonWaitFrames_Async(10,0x46);
sub_8086838(1,1,1);
sub_808680C();
sub_803E708(0x3c,0x46);
DungeonWaitFrames_Async(0x3c,0x46);
sub_808682C();
sub_803E708(0x1e,0x46);
DisplayDungeonDialogue(&GroudonPreFightDialogue_3);
sub_803E708(10,0x46);
DungeonWaitFrames_Async(0x1e,0x46);
DisplayDungeonDialogue_Async(&GroudonPreFightDialogue_3);
DungeonWaitFrames_Async(10,0x46);
sub_8086838(1,1,1);
sub_808680C();
sub_803E708(0x3c,0x46);
DisplayDungeonDialogue(&GroudonPreFightDialogue_4);
sub_803E708(10,0x46);
DungeonWaitFrames_Async(0x3c,0x46);
DisplayDungeonDialogue_Async(&GroudonPreFightDialogue_4);
DungeonWaitFrames_Async(10,0x46);
GroudonScreenFlash();
DisplayDungeonDialogue(&GroudonPreFightDialogue_5);
sub_803E708(10,0x46);
DisplayDungeonDialogue(&GroudonPreFightDialogue_6);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(&GroudonPreFightDialogue_5);
DungeonWaitFrames_Async(10,0x46);
DisplayDungeonDialogue_Async(&GroudonPreFightDialogue_6);
DungeonWaitFrames_Async(10,0x46);
PlaySoundEffect(0x1d5);
SpriteLookAroundEffect(partnerEntity);
DisplayDungeonDialogue(&GroudonPreFightDialogue_7);
sub_803E708(10,0x46);
CutsceneLookAroundEffect_Async(partnerEntity);
DisplayDungeonDialogue_Async(&GroudonPreFightDialogue_7);
DungeonWaitFrames_Async(10,0x46);
sub_808682C();
sub_803E708(0x3c,0x46);
DungeonWaitFrames_Async(0x3c,0x46);
sub_80861B8(alakazamEntity,6,DIRECTION_NORTH);
PlaySoundEffect(0x205);
sub_8086738();
HandleFaint_Async(alakazamEntity,DUNGEON_EXIT_DELETED_FOR_EVENT,0);
DisplayDungeonDialogue(&GroudonPreFightDialogue_8);
sub_803E708(10,0x46);
DisplayDungeonDialogue(&GroudonPreFightDialogue_9);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(&GroudonPreFightDialogue_8);
DungeonWaitFrames_Async(10,0x46);
DisplayDungeonDialogue_Async(&GroudonPreFightDialogue_9);
DungeonWaitFrames_Async(10,0x46);
sub_8085930(DIRECTION_NORTH);
sub_8086764();
sub_803E708(0x28,0x46);
DungeonWaitFrames_Async(0x28,0x46);
PlaySoundEffect(0x1d5);
SpriteLookAroundEffect(partnerEntity);
DisplayDungeonDialogue(GroudonPreFightDialogue_10);
sub_803E708(10,0x46);
CutsceneLookAroundEffect_Async(partnerEntity);
DisplayDungeonDialogue_Async(GroudonPreFightDialogue_10);
DungeonWaitFrames_Async(10,0x46);
sub_8086838(1,1,1);
sub_808680C();
sub_803E708(0x3c,0x46);
DisplayDungeonDialogue(GroudonPreFightDialogue_11);
sub_803E708(10,0x46);
DungeonWaitFrames_Async(0x3c,0x46);
DisplayDungeonDialogue_Async(GroudonPreFightDialogue_11);
DungeonWaitFrames_Async(10,0x46);
DungeonStopBGM();
GroudonScreenFlash2();
sub_803E708(0x1e,0x46);
DisplayDungeonDialogue(&GroudonPreFightDialogue_12);
sub_803E708(10,0x46);
DisplayDungeonDialogue(&GroudonPreFightDialogue_13);
sub_803E708(10,0x46);
sub_803E708(0x1e,0x46);
DungeonWaitFrames_Async(0x1e,0x46);
DisplayDungeonDialogue_Async(&GroudonPreFightDialogue_12);
DungeonWaitFrames_Async(10,0x46);
DisplayDungeonDialogue_Async(&GroudonPreFightDialogue_13);
DungeonWaitFrames_Async(10,0x46);
DungeonWaitFrames_Async(0x1e,0x46);
sub_808682C();
sub_803E708(0x3c,0x46);
DungeonWaitFrames_Async(0x3c,0x46);
PlaySoundEffect(0x1fa);
sub_8086738();
sub_8085930(DIRECTION_NORTH);
DisplayDungeonDialogue(GroudonPreFightDialogue_14);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(GroudonPreFightDialogue_14);
DungeonWaitFrames_Async(10,0x46);
sub_8086A54(groudonEntity);
sub_8085930(DIRECTION_NORTH);
sub_8086764();
@ -220,22 +220,22 @@ void GroudonReFightDialogue(void)
groudonEntity = GetEntityFromMonsterBehavior(BEHAVIOR_GROUDON_2);
sub_8086838(1,1,1);
sub_808680C();
sub_803E708(0x3c,0x46);
DisplayDungeonDialogue(gGroudonReFightDialogue_1);
sub_803E708(10,0x46);
DungeonWaitFrames_Async(0x3c,0x46);
DisplayDungeonDialogue_Async(gGroudonReFightDialogue_1);
DungeonWaitFrames_Async(10,0x46);
GroudonScreenFlash();
sub_803E708(0x1e,0x46);
DisplayDungeonDialogue(gGroudonReFightDialogue_2);
sub_803E708(10,0x46);
DisplayDungeonDialogue(&gGroudonReFightDialogue_3);
sub_803E708(10,0x46);
DungeonWaitFrames_Async(0x1e,0x46);
DisplayDungeonDialogue_Async(gGroudonReFightDialogue_2);
DungeonWaitFrames_Async(10,0x46);
DisplayDungeonDialogue_Async(&gGroudonReFightDialogue_3);
DungeonWaitFrames_Async(10,0x46);
sub_808682C();
sub_803E708(0x3c,0x46);
DungeonWaitFrames_Async(0x3c,0x46);
DungeonStopBGM();
PlaySoundEffect(0x1fa);
sub_8086738();
DisplayDungeonDialogue(gGroudonReFightDialogue_4);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(gGroudonReFightDialogue_4);
DungeonWaitFrames_Async(10,0x46);
sub_8086A54(groudonEntity);
sub_8085930(DIRECTION_NORTH);
sub_8086764();
@ -255,18 +255,18 @@ void GroudonPostStoryPreFightDialogue(void)
sub_80866C4(&gUnknown_8103488);
}
else{
DisplayDungeonDialogue(&gGroudonPostStoryPreFightDialogue_1);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(&gGroudonPostStoryPreFightDialogue_1);
DungeonWaitFrames_Async(10,0x46);
SceneGroudonMovement(groudonEntity);
SceneGroudonMovement(groudonEntity);
DisplayDungeonDialogue(&gGroudonPostStoryPreFightDialogue_2);
DisplayDungeonDialogue_Async(&gGroudonPostStoryPreFightDialogue_2);
PlaySoundEffect(0x1f6);
GroudonScreenFlash();
DisplayDungeonDialogue(&gGroudonPostStoryPreFightDialogue_3);
DisplayDungeonDialogue_Async(&gGroudonPostStoryPreFightDialogue_3);
PlaySoundEffect(0x1f6);
GroudonScreenFlash();
DisplayDungeonDialogue(&gGroudonPostStoryPreFightDialogue_4);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(&gGroudonPostStoryPreFightDialogue_4);
DungeonWaitFrames_Async(10,0x46);
SetupBossFightHP(groudonEntity,500,MUS_BOSS_BATTLE);
ShiftCameraToPosition(&leaderEntity->pixelPos,0x10);
}
@ -293,10 +293,10 @@ static void SceneGroudonMovement(Entity * groudonEntity)
}
sub_80856C8(groudonEntity,groudonEntity->pos.x,groudonEntity->pos.y + 1);
sub_80861D4(groudonEntity,0xf,DIRECTION_SOUTH);
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
sub_808682C();
sub_8085930(DIRECTION_NORTH);
sub_803E708(0x22,0x46);
DungeonWaitFrames_Async(0x22,0x46);
}
static void GroudonScreenFlash(void)
@ -308,21 +308,21 @@ static void GroudonScreenFlash(void)
SetDungeonBGColorRGB(iVar1,iVar1 / 2,iVar1 / 2,1,1);
DungeonRunFrameActions(0x46);
}
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
for(iVar1 = 250; iVar1 > 199; iVar1 -= 10)
{
SetDungeonBGColorRGB(iVar1,iVar1 / 2,0,1,1);
DungeonRunFrameActions(0x46);
}
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
for(iVar1 = 250; iVar1 >= 0; iVar1 -= 10)
{
SetDungeonBGColorRGB(iVar1,iVar1 / 2,iVar1 / 2,1,1);
DungeonRunFrameActions(0x46);
}
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
sub_8085EB0();
}
@ -335,21 +335,21 @@ static void GroudonScreenFlash2(void)
SetDungeonBGColorRGB(iVar1,iVar1 / 2,iVar1 / 2,1,1);
DungeonRunFrameActions(0x46);
}
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
for(iVar1 = 250; iVar1 > 199; iVar1 -= 10)
{
SetDungeonBGColorRGB(iVar1,iVar1 / 2,0,1,1);
DungeonRunFrameActions(0x46);
}
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
for(iVar1 = 250; iVar1 >= 0; iVar1 -= 10)
{
SetDungeonBGColorRGB(iVar1,iVar1 / 2,iVar1 / 2,1,1);
DungeonRunFrameActions(0x46);
}
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
sub_8085EB0();
}

View File

@ -75,10 +75,10 @@ void sub_808A668(void)
CopyMonsterNameToBuffer(gFormatBuffer_Monsters[2], MONSTER_HO_OH);
}
void sub_808A6E8(u8 monsterBehavior, u8 cutscene)
void HandleHoOhBossFaint(u8 monsterBehavior, u8 cutscene)
{
if ((cutscene == CUTSCENE_MT_FARAWAY || cutscene == CUTSCENE_MT_FARAWAY_POSTSTORY) && monsterBehavior == BEHAVIOR_HO_OH) {
sub_8097FA8(26);
SetTempCutsceneFlag(CUTSCENE_FLAG_MT_FARAWAY_COMPLETE);
gDungeon->unk2 = DUNGEON_UNK2_1;
}
}
@ -99,30 +99,30 @@ void HoOhPreFightDialogue(void)
local_14.x = leaderEntity->pixelPos.x;
local_14.y = leaderEntity->pixelPos.y + -0x1000;
ShiftCameraToPosition(&local_14,0x88);
sub_803E708(0x40,70);
DisplayDungeonDialogue(&gHoOhPreFightDialogue_1);
sub_803E708(10,70);
DungeonWaitFrames_Async(0x40,70);
DisplayDungeonDialogue_Async(&gHoOhPreFightDialogue_1);
DungeonWaitFrames_Async(10,70);
HoOhScreenFlash();
DisplayDungeonDialogue(&gHoOhPreFightDialogue_2);
sub_803E708(10,70);
DisplayDungeonDialogue_Async(&gHoOhPreFightDialogue_2);
DungeonWaitFrames_Async(10,70);
sub_80855E4(sub_80868F4);
sub_808680C();
PlaySoundEffect(0x1c5);
sub_803E708(0xfa,70);
DungeonWaitFrames_Async(0xfa,70);
HoOhDropInEffect(HoOhEntity);
StopSoundEffect(0x1c5);
sub_808682C();
sub_80855E4(sub_8086910);
sub_8085930(DIRECTION_NORTH);
DisplayDungeonDialogue(&gHoOhPreFightDialogue_3);
DisplayDungeonDialogue(&gHoOhPreFightDialogue_4);
sub_803E708(0x1e,70);
sub_803E708(0x1e,70);
DisplayDungeonDialogue_Async(&gHoOhPreFightDialogue_3);
DisplayDungeonDialogue_Async(&gHoOhPreFightDialogue_4);
DungeonWaitFrames_Async(0x1e,70);
DungeonWaitFrames_Async(0x1e,70);
HoOhScreenFlash();
DisplayDungeonDialogue(&gHoOhPreFightDialogue_5);
DisplayDungeonDialogue_Async(&gHoOhPreFightDialogue_5);
HoOhScreenFlash();
DisplayDungeonDialogue(&gHoOhPreFightDialogue_6);
sub_803E708(10,70);
DisplayDungeonDialogue_Async(&gHoOhPreFightDialogue_6);
DungeonWaitFrames_Async(10,70);
SetupBossFightHP(HoOhEntity,800,MUS_BATTLE_WITH_RAYQUAZA);
ShiftCameraToPosition(&leaderEntity->pixelPos,0x10);
}
@ -139,26 +139,26 @@ void HoOhReFightDialogue(void)
local_14.x = leaderEntity->pixelPos.x;
local_14.y = leaderEntity->pixelPos.y + -0x1000;
ShiftCameraToPosition(&local_14,0x88);
sub_803E708(0x40,70);
DungeonWaitFrames_Async(0x40,70);
if (HasRecruitedMon(MONSTER_HO_OH)) {
sub_80866C4(&HoOhReFightDialogue_5);
}
else {
DisplayDungeonDialogue(&HoOhReFightDialogue_1);
DisplayDungeonDialogue_Async(&HoOhReFightDialogue_1);
HoOhScreenFlash();
sub_80855E4(sub_80868F4);
sub_808680C();
sub_803E708(10,70);
DungeonWaitFrames_Async(10,70);
HoOhDropInEffect(HoOhEntity);
sub_808682C();
sub_80855E4(sub_8086910);
sub_8085930(DIRECTION_NORTH);
DisplayDungeonDialogue(&HoOhReFightDialogue_2);
DisplayDungeonDialogue_Async(&HoOhReFightDialogue_2);
HoOhScreenFlash();
DisplayDungeonDialogue(&HoOhReFightDialogue_3);
DisplayDungeonDialogue_Async(&HoOhReFightDialogue_3);
HoOhScreenFlash();
DisplayDungeonDialogue(&HoOhReFightDialogue_4);
sub_803E708(10,70);
DisplayDungeonDialogue_Async(&HoOhReFightDialogue_4);
DungeonWaitFrames_Async(10,70);
SetupBossFightHP(HoOhEntity,800,MUS_BATTLE_WITH_RAYQUAZA);
ShiftCameraToPosition(&leaderEntity->pixelPos,0x10);
}
@ -196,18 +196,18 @@ static void HoOhScreenFlash(void)
SetDungeonBGColorRGB(iVar1,iVar1,iVar1,1,1);
DungeonRunFrameActions(70);
}
sub_803E708(10,70);
DungeonWaitFrames_Async(10,70);
for(iVar1 = 250; iVar1 > 199; iVar1 -= 10)
{
SetDungeonBGColorRGB(iVar1,iVar1,iVar1,1,1);
DungeonRunFrameActions(70);
}
sub_803E708(10,70);
DungeonWaitFrames_Async(10,70);
for(iVar1 = 250; iVar1 >= 0; iVar1 -= 10)
{
SetDungeonBGColorRGB(iVar1,iVar1,iVar1,1,1);
DungeonRunFrameActions(70);
}
sub_803E708(10,70);
DungeonWaitFrames_Async(10,70);
sub_8085EB0();
}

View File

@ -35,7 +35,7 @@
#include "dungeon_8041AD0.h"
static void sub_808B50C(void);
static void sub_808B50C_Async(void);
static void JirachiWish_Async(void);
static void JirachiWishGrantFlash(void);
static void sub_808BB3C(DungeonPos *pos1);
@ -91,11 +91,11 @@ void sub_808B35C(void)
CopyMonsterNameToBuffer(gFormatBuffer_Monsters[2], MONSTER_JIRACHI);
}
void sub_808B3E4_Async(u8 monsterBehavior, u8 cutscene, u8 param_3)
void HandleJirachiBossFaint_Async(u8 monsterBehavior, u8 cutscene, bool8 transformedIntoFriend)
{
if ((cutscene == CUTSCENE_JIRACHI || cutscene == CUTSCENE_JIRACHI_POSTSTORY) && monsterBehavior == BEHAVIOR_JIRACHI) {
sub_8097FA8(30);
if (param_3 != 0)
SetTempCutsceneFlag(CUTSCENE_FLAG_JIRACHI_COMPLETE);
if (transformedIntoFriend)
gDungeon->unk2 = DUNGEON_UNK2_1;
else {
bool8 b = gDungeon->unk1356C;
@ -103,7 +103,7 @@ void sub_808B3E4_Async(u8 monsterBehavior, u8 cutscene, u8 param_3)
if (ItemInInventoryOrHeld(ITEM_WISH_STONE))
JirachiWish_Async();
else
sub_808B50C();
sub_808B50C_Async();
gDungeon->unk1356C = b;
UpdateMinimap();
@ -119,26 +119,26 @@ void JirachiPreFightDialogue(void)
leaderEntity = CutsceneGetLeader();
jirachiEntity = GetEntityFromMonsterBehavior(BEHAVIOR_JIRACHI);
sub_8086448();
sub_803E708(0x40,70);
DisplayDungeonDialogue(&gJirachiPreFightDialogue_1);
sub_803E708(10,70);
SpriteLookAroundEffect(leaderEntity);
sub_803E708(10,70);
DisplayDungeonDialogue(&gJirachiPreFightDialogue_2);
DungeonWaitFrames_Async(0x40,70);
DisplayDungeonDialogue_Async(&gJirachiPreFightDialogue_1);
DungeonWaitFrames_Async(10,70);
CutsceneLookAroundEffect_Async(leaderEntity);
DungeonWaitFrames_Async(10,70);
DisplayDungeonDialogue_Async(&gJirachiPreFightDialogue_2);
sub_80861F8(0x37,jirachiEntity,1);
sub_80855E4(SpriteShockEffect);
sub_803E708(0x3c,70);
DungeonWaitFrames_Async(0x3c,70);
JirachiDropInEffect(jirachiEntity);
sub_803E708(0x5a,70);
DisplayDungeonDialogue(&gJirachiPreFightDialogue_3);
sub_803E708(10,70);
DisplayDungeonDialogue(&gJirachiPreFightDialogue_4);
sub_803E708(10,70);
DungeonWaitFrames_Async(0x5a,70);
DisplayDungeonDialogue_Async(&gJirachiPreFightDialogue_3);
DungeonWaitFrames_Async(10,70);
DisplayDungeonDialogue_Async(&gJirachiPreFightDialogue_4);
DungeonWaitFrames_Async(10,70);
SetupBossFightHP(jirachiEntity,0x15e,MUS_BATTLE_WITH_RAYQUAZA);
ShiftCameraToPosition(&leaderEntity->pixelPos,0x10);
}
static void sub_808B50C(void)
static void sub_808B50C_Async(void)
{
Entity * jirachiEntity;
@ -151,18 +151,18 @@ static void sub_808B50C(void)
GetEntInfo(jirachiEntity)->unk15E = 0;
sub_80861B8(jirachiEntity,0xe,DIRECTION_SOUTH);
DungeonFadeOutBGM(0x1e);
sub_803E708(0x1e,70);
DungeonWaitFrames_Async(0x1e,70);
// Fwaaaahhhh
DisplayDungeonDialogue(&gUnknown_810554C);
DisplayDungeonDialogue_Async(&gUnknown_810554C);
DungeonStartNewBGM(MUS_FRIEND_AREA_FOREST);
// I think I had a dream, and I was fighting in it
// Did I imagine it?
// I'm sleepy so I'm going back to sleep.
DisplayDungeonDialogue(&gUnknown_8105558);
sub_803E708(10,70);
DisplayDungeonDialogue_Async(&gUnknown_8105558);
DungeonWaitFrames_Async(10,70);
JirachiSpinEffect(jirachiEntity);
DisplayDungeonDialogue(&gUnknown_81055F4);
sub_803E708(10,70);
DisplayDungeonDialogue_Async(&gUnknown_81055F4);
DungeonWaitFrames_Async(10,70);
gDungeon->unk2 = DUNGEON_UNK2_1;
}
@ -186,35 +186,35 @@ static void JirachiWish_Async(void)
sub_80855E4(sub_80861A8);
gDungeon->unk1356C = TRUE;
DungeonFadeOutBGM(0x1e);
sub_803E708(0x1e,0x46);
DisplayDungeonDialogue(&gUnknown_8105668);
sub_803E708(10,0x46);
DungeonWaitFrames_Async(0x1e,0x46);
DisplayDungeonDialogue_Async(&gUnknown_8105668);
DungeonWaitFrames_Async(10,0x46);
PlaySoundEffect(0x1a7);
sub_803E708(0x96,0x46);
DungeonWaitFrames_Async(0x96,0x46);
SpriteShockEffect(jirachiEntity);
DisplayDungeonDialogue(&gUnknown_8105674);
DisplayDungeonDialogue_Async(&gUnknown_8105674);
DungeonStartNewBGM(MUS_FRIEND_AREA_FOREST);
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
sub_80856E0(jirachiEntity, DIRECTION_SOUTH);
PlaySoundEffect(0x16a);
DisplayDungeonDialogue(&gUnknown_81056B8);
sub_803E708(10,0x46);
SpriteLookAroundEffect(jirachiEntity);
DisplayDungeonDialogue(&gUnknown_81056DC);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(&gUnknown_81056B8);
DungeonWaitFrames_Async(10,0x46);
CutsceneLookAroundEffect_Async(jirachiEntity);
DisplayDungeonDialogue_Async(&gUnknown_81056DC);
DungeonWaitFrames_Async(10,0x46);
while( 1 ) {
while (1) {
wishChoice = DisplayDungeonMenuMessage(NULL,gUnknown_8105798,gUnknown_810579C,0x705);
if (wishChoice >= 1) break;
}
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
if (wishChoice == 1) {
s32 counter, index;
DungeonPos pos;
Item moneyItems [9];
// Lots of Money
DisplayDungeonDialogue(&gUnknown_810581C);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(&gUnknown_810581C);
DungeonWaitFrames_Async(10,0x46);
JirachiWishGrantDialogue(jirachiEntity);
for(counter = 0; counter < 6; counter++)
@ -238,8 +238,8 @@ static void JirachiWish_Async(void)
DungeonPos pos;
Item items [9];
// Lots of Items
DisplayDungeonDialogue(&gUnknown_8105974);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(&gUnknown_8105974);
DungeonWaitFrames_Async(10,0x46);
JirachiWishGrantDialogue(jirachiEntity);
for(counter = 0; counter < 6; counter++)
@ -267,25 +267,25 @@ static void JirachiWish_Async(void)
if (friendArea == NUM_FRIEND_AREAS)
{
// You want a friend area? But you already have many friend areas...
DisplayDungeonDialogue(&gUnknown_8105A08);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(&gUnknown_8105A08);
DungeonWaitFrames_Async(10,0x46);
continue;
}
else
{
// You want a friend area? As you wish..
DisplayDungeonDialogue(&gUnknown_8105AD4);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(&gUnknown_8105AD4);
DungeonWaitFrames_Async(10,0x46);
JirachiWishGrantDialogue(jirachiEntity);
GetEntInfo(jirachiEntity)->unk15D = 0;
DisplayDungeonDialogue(&gUnknown_8105B20);
DisplayDungeonDialogue_Async(&gUnknown_8105B20);
UnlockFriendArea(friendArea);
PlaySoundEffect(0xd4);
leaderEntity = GetLeader();
SubstitutePlaceholderStringTags(gFormatBuffer_Monsters[0],leaderEntity,0);
WriteFriendAreaName(gFormatBuffer_Items[0],friendArea,FALSE);
// Obtained the friend area!
DisplayDungeonDialogue(&gUnknown_8105B68);
DisplayDungeonDialogue_Async(&gUnknown_8105B68);
}
}
if (wishChoice == 4) {
@ -293,8 +293,8 @@ static void JirachiWish_Async(void)
DungeonPos pos;
Item strengthItems [9];
// More Strength..
DisplayDungeonDialogue(&gUnknown_8105BA8);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(&gUnknown_8105BA8);
DungeonWaitFrames_Async(10,0x46);
JirachiWishGrantDialogue(jirachiEntity);
for(counter = 0; counter < 5; counter++)
@ -315,34 +315,34 @@ static void JirachiWish_Async(void)
}
}
GetEntInfo(jirachiEntity)->unk15D = 0;
DisplayDungeonDialogue(&gUnknown_8105BF4);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(&gUnknown_8105BF4);
DungeonWaitFrames_Async(10,0x46);
}
if (wishChoice == 5) {
s32 direction;
// Something Good...
DisplayDungeonDialogue(&gUnknown_8105D2C);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(&gUnknown_8105D2C);
DungeonWaitFrames_Async(10,0x46);
JirachiWishGrantDialogue(jirachiEntity);
GetEntInfo(jirachiEntity)->unk15D = 0;
DisplayDungeonDialogue(&gUnknown_8105D80);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(&gUnknown_8105D80);
DungeonWaitFrames_Async(10,0x46);
LeaderPos = &GetLeader()->pos;
direction = GetDirectionTowardsPosition(&jirachiEntity->pos,LeaderPos);
SetFacingDirection(jirachiEntity,direction);
sub_803E708(10,0x46);
DisplayDungeonDialogue(&gUnknown_8105D9C);
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
DisplayDungeonDialogue_Async(&gUnknown_8105D9C);
DungeonWaitFrames_Async(10,0x46);
gDungeon->unk644.unk30 = 1;
}
break;
}
DisplayDungeonDialogue(&gUnknown_81058E0);
DisplayDungeonDialogue_Async(&gUnknown_81058E0);
JirachiSpinEffect(jirachiEntity);
sub_803E708(10,0x46);
DisplayDungeonDialogue(&gUnknown_810593C);
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
DisplayDungeonDialogue_Async(&gUnknown_810593C);
DungeonWaitFrames_Async(10,0x46);
EnableJirachiWishWarpTile();
}
@ -371,21 +371,21 @@ static void JirachiWishGrantFlash(void)
SetDungeonBGColorRGB(iVar1,iVar1,iVar1,1,1);
DungeonRunFrameActions(0x46);
}
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
for(iVar1 = 0xFA; iVar1 > 0xC7; iVar1 -= 10)
{
SetDungeonBGColorRGB(iVar1,iVar1,iVar1,1,1);
DungeonRunFrameActions(0x46);
}
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
for(iVar1 = 0xFA; iVar1 >= 0; iVar1 -= 10)
{
SetDungeonBGColorRGB(iVar1,iVar1,iVar1,1,1);
DungeonRunFrameActions(0x46);
}
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
sub_8085EB0();
}
@ -438,7 +438,7 @@ static void JirachiSpinEffect(Entity * jirachiEntity)
PlaySoundEffect(0x298);
for(uVar1 = 0; uVar1 < 25; uVar1++){
SetFacingDirection(jirachiEntity, uVar1 & DIRECTION_MASK);
sub_803E708(3,0x46);
DungeonWaitFrames_Async(3,0x46);
}
GetEntInfo(jirachiEntity)->unk15E = 1;
PlaySoundEffect(0x27f);
@ -451,17 +451,17 @@ static void JirachiWishGrantDialogue(Entity *jirachiEntity)
GetEntInfo(jirachiEntity)->unk15D = 1;
// Nnnnnnnnnn!
DisplayDungeonDialogue(&gUnknown_81058A8);
DisplayDungeonDialogue_Async(&gUnknown_81058A8);
PlaySoundEffect(0x375);
sub_80861F8(0x67,jirachiEntity,1);
PlaySoundEffect(0x2a8);
uVar2 = sub_80861F8(0x68,jirachiEntity,0);
// Taaaaaaaah!
DisplayDungeonDialogue(&gUnknown_81058C4);
DisplayDungeonDialogue_Async(&gUnknown_81058C4);
if (sub_800E9A8(uVar2)) {
sub_800DC14(uVar2);
}
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
JirachiWishGrantFlash();
}

View File

@ -65,7 +65,7 @@ void sub_808C10C(void)
CopyMonsterNameToBuffer(gFormatBuffer_Monsters[3], MONSTER_GROUDON);
}
void sub_808C1A4(u8 monsterBehavior, u8 cutscene, u8 param_3)
void HandleKyogreBossFaint(u8 monsterBehavior, u8 cutscene, bool8 transformedIntoFriend)
{
if (cutscene == CUTSCENE_STORMY_SEA && monsterBehavior == BEHAVIOR_KYOGRE) {
gDungeon->unk2 = DUNGEON_UNK2_1;
@ -83,38 +83,38 @@ void KyogrePreFightDialogue(void)
DungeonStopBGM();
if (HasRecruitedMon(MONSTER_KYOGRE)) {
DungeonFadeInNewBGM(MUS_FRIEND_AREA_CRYPTIC_CAVE,0x3c);
SpriteLookAroundEffect(leaderEntity);
sub_803E708(10,0x46);
DisplayDungeonDialogue(&gKyogrePreFightDialogue_8);
sub_803E708(10,0x46);
CutsceneLookAroundEffect_Async(leaderEntity);
DungeonWaitFrames_Async(10,0x46);
DisplayDungeonDialogue_Async(&gKyogrePreFightDialogue_8);
DungeonWaitFrames_Async(10,0x46);
gDungeon->unk2 = DUNGEON_UNK2_1;
}
else {
DisplayDungeonDialogue(&gKyogrePreFightDialogue_1);
sub_803E708(10,0x46);
DisplayDungeonDialogue(&gKyogrePreFightDialogue_2);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(&gKyogrePreFightDialogue_1);
DungeonWaitFrames_Async(10,0x46);
DisplayDungeonDialogue_Async(&gKyogrePreFightDialogue_2);
DungeonWaitFrames_Async(10,0x46);
nullsub_99();
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
// Gwwwwwooooooooh
DisplayDungeonDialogue(&gKyogrePreFightDialogue_3);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(&gKyogrePreFightDialogue_3);
DungeonWaitFrames_Async(10,0x46);
DungeonFadeInNewBGM(MUS_FRIEND_AREA_CRYPTIC_CAVE,0x3c);
sub_808C360();
// My duels against {POKEMON_3} (Groudon) left us both exhausted
DisplayDungeonDialogue(&gKyogrePreFightDialogue_4);
DisplayDungeonDialogue_Async(&gKyogrePreFightDialogue_4);
KyogreScreenFlash();
// I am {POKEMON_2} (Kyogre)!
// The lord of the sea!
DisplayDungeonDialogue(&gKyogrePreFightDialogue_5);
DisplayDungeonDialogue_Async(&gKyogrePreFightDialogue_5);
KyogreScreenFlash();
// Witness the destructive force of my waves!
DisplayDungeonDialogue(&gKyogrePreFightDialogue_6);
DisplayDungeonDialogue_Async(&gKyogrePreFightDialogue_6);
KyogreScreenFlash();
// Marvel at my awesome
// power!
DisplayDungeonDialogue(&gKyogrePreFightDialogue_7);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(&gKyogrePreFightDialogue_7);
DungeonWaitFrames_Async(10,0x46);
SetupBossFightHP(KyogreEntity,600,MUS_BOSS_BATTLE);
DungeonStartNewBGM(MUS_FRIEND_AREA_CRYPTIC_CAVE);
ShiftCameraToPosition(&leaderEntity->pixelPos,0x10);
@ -134,17 +134,17 @@ static void KyogreScreenFlash(void)
SetDungeonBGColorRGB(0,0,iVar1,1,1);
DungeonRunFrameActions(0x46);
}
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
for(iVar1 = 250; iVar1 > 199; iVar1 -= 10){
SetDungeonBGColorRGB(0,iVar1,iVar1,1,1);
DungeonRunFrameActions(0x46);
}
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
for(iVar1 = 250; iVar1 >= 0; iVar1 -= 10){
SetDungeonBGColorRGB(0,0,iVar1,1,1);
DungeonRunFrameActions(0x46);
}
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
sub_8085EB0();
}

View File

@ -82,10 +82,10 @@ void sub_808AA94(void)
CopyMonsterNameToBuffer(gFormatBuffer_Monsters[2], MONSTER_LATIOS);
}
void sub_808AAF0(u8 monsterBehavior, u8 cutscene)
void HandleLatiosBossFaint(u8 monsterBehavior, u8 cutscene)
{
if ((cutscene == CUTSCENE_NORTHERN_RANGE_ATTEMPT1 || cutscene == CUTSCENE_NORTHERN_RANGE_ATTEMPT2 || cutscene == CUTSCENE_NORTHERN_RANGE_POSTSTORY) && monsterBehavior == BEHAVIOR_LATIOS) {
sub_8097FA8(28);
SetTempCutsceneFlag(CUTSCENE_FLAG_NORTHERN_RANGE_COMPLETE);
gDungeon->unk2 = DUNGEON_UNK2_1;
}
}
@ -106,19 +106,19 @@ void LatiosPreFightDialogue(void)
local_19.x = 0xFC;
sub_8085EC8(0x1bd,0,0,&local_19,1);
sub_803E708(0x1e,70);
DungeonWaitFrames_Async(0x1e,70);
sub_8086448();
ShiftCameraToPosition(&local_18,0x18);
sub_803E708(2,70);
DungeonWaitFrames_Async(2,70);
SpriteShockEffect(LatiosEntity);
sub_803E708(0x20,70);
DungeonWaitFrames_Async(0x20,70);
sub_808692C();
DisplayDungeonDialogue(&gLatiosPreFightDialogue_1);
DisplayDungeonDialogue_Async(&gLatiosPreFightDialogue_1);
LatiosScreenFlash();
DisplayDungeonDialogue(&gLatiosPreFightDialogue_2);
DisplayDungeonDialogue_Async(&gLatiosPreFightDialogue_2);
LatiosScreenFlash();
DisplayDungeonDialogue(&gLatiosPreFightDialogue_3);
sub_803E708(10,70);
DisplayDungeonDialogue_Async(&gLatiosPreFightDialogue_3);
DungeonWaitFrames_Async(10,70);
SetupBossFightHP(LatiosEntity,600,MUS_BOSS_BATTLE);
ShiftCameraToPosition(&leaderEntity->pixelPos,0x10);
}
@ -132,12 +132,12 @@ void LatiosReFightDialogue(void)
LatiosEntity = GetEntityFromMonsterBehavior(BEHAVIOR_LATIOS);
sub_8086448();
sub_808692C();
DisplayDungeonDialogue(&gLatiosReFightDialogue_1);
DisplayDungeonDialogue_Async(&gLatiosReFightDialogue_1);
LatiosScreenFlash();
DisplayDungeonDialogue(&gLatiosPreFightDialogue_2);
DisplayDungeonDialogue_Async(&gLatiosPreFightDialogue_2);
LatiosScreenFlash();
DisplayDungeonDialogue(&gLatiosPreFightDialogue_3);
sub_803E708(10,70);
DisplayDungeonDialogue_Async(&gLatiosPreFightDialogue_3);
DungeonWaitFrames_Async(10,70);
SetupBossFightHP(LatiosEntity,600,MUS_BOSS_BATTLE);
ShiftCameraToPosition(&leaderEntity->pixelPos,0x10);
}
@ -160,12 +160,12 @@ static void LatiosScreenFlash(void)
SetDungeonBGColorRGB(iVar1,iVar1,iVar1,1,1);
DungeonRunFrameActions(70);
}
sub_803E708(10,70);
DungeonWaitFrames_Async(10,70);
for(iVar1 = 250; iVar1 >= 0; iVar1 -= 10)
{
SetDungeonBGColorRGB(iVar1,iVar1,iVar1,1,1);
DungeonRunFrameActions(70);
}
sub_803E708(10,70);
DungeonWaitFrames_Async(10,70);
sub_8085EB0();
}

View File

@ -59,7 +59,7 @@ void sub_808BDEC(void)
CopyMonsterNameToBuffer(gFormatBuffer_Monsters[2], MONSTER_LUGIA);
}
void sub_808BE70(u8 monsterBehavior, u8 cutscene, u8 param_3)
void HandleLugiaBossFaint(u8 monsterBehavior, u8 cutscene, bool8 transformedIntoFriend)
{
if (cutscene == CUTSCENE_SILVER_TRENCH && monsterBehavior == BEHAVIOR_LUGIA) {
gDungeon->unk2 = DUNGEON_UNK2_1;
@ -80,26 +80,26 @@ void LugiaPreFightDialogue(void)
else {
DungeonStopBGM();
sub_8086448();
DisplayDungeonDialogue(&gLugiaPreFightDialogue_1);
DisplayDungeonDialogue_Async(&gLugiaPreFightDialogue_1);
DungeonFadeInNewBGM(MUS_FRIEND_AREA_CRYPTIC_CAVE,0x3c);
sub_808C0CC();
DisplayDungeonDialogue(&gLugiaPreFightDialogue_2);
DisplayDungeonDialogue_Async(&gLugiaPreFightDialogue_2);
LugiaScreenFlash();
DisplayDungeonDialogue(&gLugiaPreFightDialogue_3);
sub_803E708(10,0x46);
DisplayDungeonDialogue(&gLugiaPreFightDialogue_4);
DisplayDungeonDialogue_Async(&gLugiaPreFightDialogue_3);
DungeonWaitFrames_Async(10,0x46);
DisplayDungeonDialogue_Async(&gLugiaPreFightDialogue_4);
PlaySoundEffect(0x1f8);
sub_80861D4(lugiaEntity,0xd,DIRECTION_SOUTH);
sub_803E708(0x2b,0x46);
DungeonWaitFrames_Async(0x2b,0x46);
sub_80861B8(lugiaEntity,0,DIRECTION_SOUTH);
DisplayDungeonDialogue(&gLugiaPreFightDialogue_5);
DisplayDungeonDialogue_Async(&gLugiaPreFightDialogue_5);
LugiaScreenFlash();
DisplayDungeonDialogue(&gLugiaPreFightDialogue_6);
DisplayDungeonDialogue_Async(&gLugiaPreFightDialogue_6);
LugiaScreenFlash2();
SetDungeonBGColorRGB(-250,-250,-250,1,0);
DungeonStopBGM();
sub_80861D4(lugiaEntity,7,DIRECTION_SOUTH);
DisplayDungeonDialogue(&gLugiaPreFightDialogue_7);
DisplayDungeonDialogue_Async(&gLugiaPreFightDialogue_7);
LugiaScreenFlash();
SetupBossFightHP(lugiaEntity,800,MUS_BATTLE_WITH_RAYQUAZA);
DungeonStartNewBGM(MUS_FRIEND_AREA_CRYPTIC_CAVE);
@ -116,17 +116,17 @@ static void LugiaScreenFlash(void)
SetDungeonBGColorRGB(0,0,iVar1,1,1);
DungeonRunFrameActions(0x46);
}
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
for(iVar1 = 250; iVar1 > 199; iVar1 -= 10){
SetDungeonBGColorRGB(0,iVar1,iVar1,1,1);
DungeonRunFrameActions(0x46);
}
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
for(iVar1 = 250; iVar1 >= 0; iVar1 -= 10){
SetDungeonBGColorRGB(0,0,iVar1,1,1);
DungeonRunFrameActions(0x46);
}
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
sub_8085EB0();
}
@ -146,7 +146,7 @@ static void LugiaScreenFlash2(void)
DungeonRunFrameActions(0x46);
}
sub_803E708(4,0x46);
DungeonWaitFrames_Async(4,0x46);
for(iVar1 = 0; iVar1 < 200; iVar1 += 100){
SetDungeonBGColorRGB(iVar1,iVar1,iVar1,1,0);
@ -158,7 +158,7 @@ static void LugiaScreenFlash2(void)
DungeonRunFrameActions(0x46);
}
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
sub_8085EB0();
}

View File

@ -97,89 +97,89 @@ void MagmaCavernMidDialogue(void)
partnerEntity = CutsceneGetPartner();
groudonEntity = GetEntityFromMonsterBehavior(BEHAVIOR_GROUDON_1);
alakazamEntity = GetEntityFromMonsterBehavior(BEHAVIOR_ALAKAZAM_2);
sub_8052D44(IDStack,leaderEntity,partnerEntity);
BufferCutsceneProtagonists(IDStack,leaderEntity,partnerEntity);
sub_8086448();
SpriteLookAroundEffect(partnerEntity);
CutsceneLookAroundEffect_Async(partnerEntity);
// Let's see..
// I wonder where we are?
DisplayDungeonDialogue(&MagmaCavernMidDialogue_1);
sub_803E708(10,0x46);
sub_80869E4(partnerEntity,4,1,DIRECTION_EAST);
sub_80869E4(leaderEntity,4,2,DIRECTION_WEST);
DisplayDungeonDialogue_Async(&MagmaCavernMidDialogue_1);
DungeonWaitFrames_Async(10,0x46);
CutsceneLookDir_Async(partnerEntity,4,DIR_TRANS_SPINRIGHT1,DIRECTION_EAST);
CutsceneLookDir_Async(leaderEntity,4,DIR_TRANS_SPINLEFT1,DIRECTION_WEST);
// I know we've come pretty
// far...
//
// I'm certain we've come quite
// far already..
DisplayDungeonDialogue(MagmaCavernMidDialogue_2);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(MagmaCavernMidDialogue_2);
DungeonWaitFrames_Async(10,0x46);
DungeonStopBGM();
sub_80855E4(sub_80868F4);
sub_808680C();
PlaySoundEffect(0x1c5);
sub_803E708(0x28,0x46);
DungeonWaitFrames_Async(0x28,0x46);
// Waaah!
// Qu-quake!
DisplayDungeonDialogue(&MagmaCavernMidDialogue_3);
sub_803E708(0x78,0x46);
DisplayDungeonDialogue_Async(&MagmaCavernMidDialogue_3);
DungeonWaitFrames_Async(0x78,0x46);
StopSoundEffect(0x1c5);
sub_808682C();
sub_80855E4(sub_8086910);
sub_803E708(0x14,0x46);
DungeonWaitFrames_Async(0x14,0x46);
sub_8085930(DIRECTION_NORTH);
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
// Whew!
// It settled down.
//
// Whew
// It's over.
DisplayDungeonDialogue(MagmaCavernMidDialogue_4);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(MagmaCavernMidDialogue_4);
DungeonWaitFrames_Async(10,0x46);
PlaySoundEffect(0x1d5);
SpriteLookAroundEffect(partnerEntity);
CutsceneLookAroundEffect_Async(partnerEntity);
PlaySoundEffect(0x1c7);
sub_80856E0(partnerEntity, DIRECTION_NORTH);
// Hey! {POKEMON_0}!
// Over there!
DisplayDungeonDialogue(&MagmaCavernMidDialogue_5);
DisplayDungeonDialogue_Async(&MagmaCavernMidDialogue_5);
GetEntInfo(groudonEntity)->unk15E = 0;
GetEntInfo(alakazamEntity)->unk15E =0;
pos.x = (groudonEntity->pixelPos.x + alakazamEntity->pixelPos.x) / 2;
pos.y = (groudonEntity->pixelPos.y + alakazamEntity->pixelPos.y) / 2 + 0x800;
ShiftCameraToPosition(&pos,0x20);
sub_803E708(0x3c,0x46);
DungeonWaitFrames_Async(0x3c,0x46);
sub_80891F0();
// Hey!
// Are you OK?!
//
// Hey!
// Snap out of it!
DisplayDungeonDialogue(MagmaCavernMidDialogue_6);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(MagmaCavernMidDialogue_6);
DungeonWaitFrames_Async(10,0x46);
// Urrrrgh...
DisplayDungeonDialogue(&MagmaCavernMidDialogue_7);
sub_803E708(10,0x46);
sub_80869E4(leaderEntity,4,2,DIRECTION_NORTHWEST);
DisplayDungeonDialogue_Async(&MagmaCavernMidDialogue_7);
DungeonWaitFrames_Async(10,0x46);
CutsceneLookDir_Async(leaderEntity,4,DIR_TRANS_SPINLEFT1,DIRECTION_NORTHWEST);
// What happened to you?
//
// What happened here?
DisplayDungeonDialogue(MagmaCavernMidDialogue_8);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(MagmaCavernMidDialogue_8);
DungeonWaitFrames_Async(10,0x46);
// We challenged..
// {POKEMON_2}...
// And wiped out..
DisplayDungeonDialogue(&MagmaCavernMidDialogue_9);
sub_803E708(10,0x46);
DisplayDungeonDialogue(&MagmaCavernMidDialogue_10);
sub_803E708(10,0x46);
sub_80869E4(leaderEntity,4,1,DIRECTION_NORTHEAST);
sub_80869E4(partnerEntity,4,1,DIRECTION_NORTHEAST);
DisplayDungeonDialogue_Async(&MagmaCavernMidDialogue_9);
DungeonWaitFrames_Async(10,0x46);
DisplayDungeonDialogue_Async(&MagmaCavernMidDialogue_10);
DungeonWaitFrames_Async(10,0x46);
CutsceneLookDir_Async(leaderEntity,4,DIR_TRANS_SPINRIGHT1,DIRECTION_NORTHEAST);
CutsceneLookDir_Async(partnerEntity,4,DIR_TRANS_SPINRIGHT1,DIRECTION_NORTHEAST);
// Grrgh..
// We... It crushed us
DisplayDungeonDialogue(&MagmaCavernMidDialogue_11);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(&MagmaCavernMidDialogue_11);
DungeonWaitFrames_Async(10,0x46);
PlaySoundEffect(0x1d5);
SpriteLookAroundEffect(partnerEntity);
CutsceneLookAroundEffect_Async(partnerEntity);
// That's right...
// What happened to {POKEMON_3}?
// Where is {POKEMON_3}?
@ -187,22 +187,22 @@ void MagmaCavernMidDialogue(void)
// Wait...
// What about {POKEMON_3}?
// Where did {POKEMON_3} go?
DisplayDungeonDialogue(MagmaCavernMidDialogue_12);
sub_803E708(0x1e,0x46);
DisplayDungeonDialogue_Async(MagmaCavernMidDialogue_12);
DungeonWaitFrames_Async(0x1e,0x46);
// {POKEMON_3} is...
// Still battling {POKEMON_2}...
DisplayDungeonDialogue(&MagmaCavernMidDialogue_13);
sub_803E708(10,0x46);
sub_80869E4(partnerEntity,4,1,DIRECTION_EAST);
sub_80869E4(leaderEntity,4,2,DIRECTION_WEST);
DisplayDungeonDialogue_Async(&MagmaCavernMidDialogue_13);
DungeonWaitFrames_Async(10,0x46);
CutsceneLookDir_Async(partnerEntity,4,DIR_TRANS_SPINRIGHT1,DIRECTION_EAST);
CutsceneLookDir_Async(leaderEntity,4,DIR_TRANS_SPINLEFT1,DIRECTION_WEST);
// {POKEMON_0}!
// We've got to hurry!
DisplayDungeonDialogue(&MagmaCavernMidDialogue_14);
DisplayDungeonDialogue_Async(&MagmaCavernMidDialogue_14);
sub_8089294();
// Be careful!
DisplayDungeonDialogue(&MagmaCavernMidDialogue_15);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(&MagmaCavernMidDialogue_15);
DungeonWaitFrames_Async(10,0x46);
gDungeon->unk2 = DUNGEON_UNK2_1;
}
@ -212,9 +212,9 @@ void sub_8089168(void)
leaderEntity = CutsceneGetLeader();
sub_8086448();
sub_803E708(10,0x46);
SpriteLookAroundEffect(leaderEntity);
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
CutsceneLookAroundEffect_Async(leaderEntity);
DungeonWaitFrames_Async(10,0x46);
ShiftCameraToPosition(&leaderEntity->pixelPos,0x10);
}

View File

@ -36,50 +36,44 @@ static void sub_8089908(Entity *r0);
void sub_808970C(void)
{
Entity *leaderEntity;
leaderEntity = CutsceneGetLeader();
DungeonStartNewBGM(MUS_TINY_WOODS);
sub_80854D4();
sub_8085930(DIRECTION_NORTH);
sub_80855E4(sub_8086A3C);
sub_808563C(sub_8089908);
sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y -3);
Entity *leaderEntity = CutsceneGetLeader();
DungeonStartNewBGM(MUS_TINY_WOODS);
sub_80854D4();
sub_8085930(DIRECTION_NORTH);
sub_80855E4(sub_8086A3C);
sub_808563C(sub_8089908);
sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y -3);
}
void sub_808974C(void)
{
Entity *leaderEntity;
leaderEntity = CutsceneGetLeader();
sub_80854D4();
sub_8085930(DIRECTION_NORTH);
sub_80855E4(sub_8086A3C);
sub_808563C(sub_80898F8);
sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y + -3);
Entity *leaderEntity = CutsceneGetLeader();
sub_80854D4();
sub_8085930(DIRECTION_NORTH);
sub_80855E4(sub_8086A3C);
sub_808563C(sub_80898F8);
sub_8085860(leaderEntity->pos.x,leaderEntity->pos.y + -3);
}
void sub_8089788(Entity *entity, u8 monsterBehavior, u8 cutscene)
void HandleMankeyBossFaint(Entity *entity, u8 monsterBehavior, u8 cutscene)
{
Entity *monEntity;
s32 index;
bool8 found = FALSE;
s32 i;
bool8 stillAlive = FALSE;
if (cutscene == CUTSCENE_UPROAR_FOREST_ATTEMPT1 || cutscene == CUTSCENE_UPROAR_FOREST_ATTEMPT2) {
for(index = 0; index < DUNGEON_MAX_WILD_POKEMON; index++)
{
monEntity = gDungeon->wildPokemon[index];
if ((EntityIsValid(monEntity)) && (monEntity != entity) && (GetEntInfo(monEntity)->monsterBehavior == monsterBehavior)) {
found = TRUE;
break;
}
}
if (cutscene == CUTSCENE_UPROAR_FOREST_ATTEMPT1 || cutscene == CUTSCENE_UPROAR_FOREST_ATTEMPT2) {
for (i = 0; i < DUNGEON_MAX_WILD_POKEMON; i++) {
Entity *monEntity = gDungeon->wildPokemon[i];
if (EntityIsValid(monEntity) && monEntity != entity && GetEntInfo(monEntity)->monsterBehavior == monsterBehavior) {
stillAlive = TRUE;
break;
}
}
if(!found){
sub_8097FA8(17);
gDungeon->unk2 = DUNGEON_UNK2_1;
if (!stillAlive){
SetTempCutsceneFlag(CUTSCENE_FLAG_UPROAR_FOREST_COMPLETE);
gDungeon->unk2 = DUNGEON_UNK2_1;
}
}
}
}
void sub_80897F0(void)
@ -88,32 +82,32 @@ void sub_80897F0(void)
leaderEntity = CutsceneGetLeader();
sub_8086448();
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
sub_808563C(SpriteShockEffect);
sub_803E708(0x20,0x46);
DungeonWaitFrames_Async(0x20,0x46);
sub_808692C();
DisplayDungeonDialogue(&gUnknown_8103BD8);
DisplayDungeonDialogue_Async(&gUnknown_8103BD8);
// We don't like to brag or
// nothing, but
DisplayDungeonDialogue(&gUnknown_8103C00);
DisplayDungeonDialogue_Async(&gUnknown_8103C00);
// We get furious real easy
// You know that?!
DisplayDungeonDialogue(&gUnknown_8103C3C);
DisplayDungeonDialogue_Async(&gUnknown_8103C3C);
// What really irritates us is
// when we see some dim witted face
DisplayDungeonDialogue(&gUnknown_8103C74);
DisplayDungeonDialogue_Async(&gUnknown_8103C74);
// .........
// Wrooooooar!
// That vacant expression
DisplayDungeonDialogue(&gUnknown_8103CC4);
DisplayDungeonDialogue_Async(&gUnknown_8103CC4);
// Gwoooh
// It's ticking me off!
// I'm seeing red!
DisplayDungeonDialogue(&gUnknown_8103D0C);
DisplayDungeonDialogue_Async(&gUnknown_8103D0C);
// Mukkkeeeeeh
// Get 'em! It's frenzy time!
DisplayDungeonDialogue(&gUnknown_8103D50);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(&gUnknown_8103D50);
DungeonWaitFrames_Async(10,0x46);
ShiftCameraToPosition(&leaderEntity->pixelPos,0x10);
}
@ -123,15 +117,15 @@ void sub_8089878(void)
leaderEntity = CutsceneGetLeader();
sub_8086448();
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
sub_808563C(SpriteShockEffect);
sub_803E708(0x20,0x46);
DungeonWaitFrames_Async(0x20,0x46);
sub_808692C();
DisplayDungeonDialogue(&gUnknown_8103D8C);
DisplayDungeonDialogue(&gUnknown_8103D98);
DisplayDungeonDialogue(&gUnknown_8103DD8);
DisplayDungeonDialogue(&gUnknown_8103E28);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(&gUnknown_8103D8C);
DisplayDungeonDialogue_Async(&gUnknown_8103D98);
DisplayDungeonDialogue_Async(&gUnknown_8103DD8);
DisplayDungeonDialogue_Async(&gUnknown_8103E28);
DungeonWaitFrames_Async(10,0x46);
ShiftCameraToPosition(&leaderEntity->pixelPos,0x10);
}

View File

@ -63,25 +63,26 @@ void sub_8086F00(void)
CopyMonsterNameToBuffer(gFormatBuffer_Monsters[4], MONSTER_CATERPIE);
}
void sub_8086F54(u8 monsterBehavior, u8 cutscene)
void HandleMeaniesBossFaint(u8 monsterBehavior, u8 cutscene)
{
s32 index;
s32 i;
if (cutscene == CUTSCENE_SINISTER_WOODS_ATTEMPT1 || cutscene == CUTSCENE_SINISTER_WOODS_ATTEMPT2) {
bool8 found = FALSE;
for (index = 0; index < 16; index++) {
struct Entity *entity = gDungeon->wildPokemon[index];
bool8 stillAlive = FALSE;
for (i = 0; i < DUNGEON_MAX_WILD_POKEMON; i++) {
struct Entity *entity = gDungeon->wildPokemon[i];
if ((EntityIsValid(entity))) {
struct EntityInfo *entInfo = GetEntInfo(entity);
if (entInfo->monsterBehavior != monsterBehavior) {
found = TRUE;
stillAlive = TRUE;
return;
}
}
}
if (!found) {
sub_8097FA8(3);
if (!stillAlive) {
SetTempCutsceneFlag(CUTSCENE_FLAG_SINISTER_WOODS_COMPLETE);
gDungeon->unk2 = DUNGEON_UNK2_1;
}
}
@ -93,23 +94,23 @@ void TeamMeaniesPreFightDialogue(void)
leaderEntity = CutsceneGetLeader();
sub_8086448();
sub_803E708(10, 0x46);
DisplayDungeonDialogue(gTeamMeaniesPreFightDialogue_1);
sub_803E708(10, 0x46);
DisplayDungeonDialogue(&gTeamMeaniesPreFightDialogue_2);
sub_803E708(10, 0x46);
DungeonWaitFrames_Async(10, 0x46);
DisplayDungeonDialogue_Async(gTeamMeaniesPreFightDialogue_1);
DungeonWaitFrames_Async(10, 0x46);
DisplayDungeonDialogue_Async(&gTeamMeaniesPreFightDialogue_2);
DungeonWaitFrames_Async(10, 0x46);
sub_8087144();
DungeonStartNewBGM(MUS_THERES_TROUBLE);
DisplayDungeonDialogue(&gTeamMeaniesPreFightDialogue_3);
sub_803E708(10, 0x46);
DisplayDungeonDialogue(gTeamMeaniesPreFightDialogue_4);
sub_803E708(10, 0x46);
DisplayDungeonDialogue(&gTeamMeaniesPreFightDialogue_5);
sub_803E708(10, 0x46);
DisplayDungeonDialogue(&gTeamMeaniesPreFightDialogue_6);
sub_803E708(10, 0x46);
DisplayDungeonDialogue(&gTeamMeaniesPreFightDialogue_7);
sub_803E708(10, 0x46);
DisplayDungeonDialogue_Async(&gTeamMeaniesPreFightDialogue_3);
DungeonWaitFrames_Async(10, 0x46);
DisplayDungeonDialogue_Async(gTeamMeaniesPreFightDialogue_4);
DungeonWaitFrames_Async(10, 0x46);
DisplayDungeonDialogue_Async(&gTeamMeaniesPreFightDialogue_5);
DungeonWaitFrames_Async(10, 0x46);
DisplayDungeonDialogue_Async(&gTeamMeaniesPreFightDialogue_6);
DungeonWaitFrames_Async(10, 0x46);
DisplayDungeonDialogue_Async(&gTeamMeaniesPreFightDialogue_7);
DungeonWaitFrames_Async(10, 0x46);
ShiftCameraToPosition(&leaderEntity->pixelPos, 0x10);
}
@ -121,25 +122,25 @@ void TeamMeaniesReFightDialogue(void)
leaderEntity = CutsceneGetLeader();
partnerEntity = CutsceneGetPartner();
sub_8086448();
DisplayDungeonDialogue(gTeamMeaniesReFightDialogue_1);
sub_803E708(10, 0x46);
DisplayDungeonDialogue(&gTeamMeaniesPreFightDialogue_2);
sub_803E708(10, 0x46);
DisplayDungeonDialogue_Async(gTeamMeaniesReFightDialogue_1);
DungeonWaitFrames_Async(10, 0x46);
DisplayDungeonDialogue_Async(&gTeamMeaniesPreFightDialogue_2);
DungeonWaitFrames_Async(10, 0x46);
sub_8087144();
sub_803E708(10, 0x46);
DisplayDungeonDialogue(gTeamMeaniesReFightDialogue_2);
sub_803E708(10, 0x46);
DisplayDungeonDialogue(&gTeamMeaniesReFightDialogue_3);
sub_803E708(10, 0x46);
DungeonWaitFrames_Async(10, 0x46);
DisplayDungeonDialogue_Async(gTeamMeaniesReFightDialogue_2);
DungeonWaitFrames_Async(10, 0x46);
DisplayDungeonDialogue_Async(&gTeamMeaniesReFightDialogue_3);
DungeonWaitFrames_Async(10, 0x46);
sub_806CDD4(leaderEntity, 6, DIRECTION_NORTH);
sub_806CDD4(partnerEntity, 6, DIRECTION_NORTH);
sub_803E708(10, 0x46);
DungeonWaitFrames_Async(10, 0x46);
sub_806CDD4(leaderEntity, 7, DIRECTION_NORTH);
sub_806CDD4(partnerEntity, 7, DIRECTION_NORTH);
sub_803E708(10, 0x46);
DisplayDungeonDialogue(&gTeamMeaniesReFightDialogue_4);
DisplayDungeonDialogue(&gTeamMeaniesReFightDialogue_5);
sub_803E708(10, 0x46);
DungeonWaitFrames_Async(10, 0x46);
DisplayDungeonDialogue_Async(&gTeamMeaniesReFightDialogue_4);
DisplayDungeonDialogue_Async(&gTeamMeaniesReFightDialogue_5);
DungeonWaitFrames_Async(10, 0x46);
ShiftCameraToPosition(&leaderEntity->pixelPos, 0x10);
}

View File

@ -53,38 +53,38 @@ void MedichamRescueDialogue(void)
s32 counter;
medichamEntity = GetEntityFromMonsterBehavior(BEHAVIOR_MEDICHAM);
SpriteLookAroundEffect(medichamEntity);
sub_803E708(0xA, 0x46);
CutsceneLookAroundEffect_Async(medichamEntity);
DungeonWaitFrames_Async(0xA, 0x46);
// Oh my I can't seem to find a way out...
DisplayDungeonDialogue(&gMedichamRescueDialogue_1);
sub_803E708(0xA, 0x46);
sub_80869E4(medichamEntity, 4, 2, DIRECTION_NORTH);
sub_803E708(0xA, 0x46);
DisplayDungeonDialogue_Async(&gMedichamRescueDialogue_1);
DungeonWaitFrames_Async(0xA, 0x46);
CutsceneLookDir_Async(medichamEntity, 4, DIR_TRANS_SPINLEFT1, DIRECTION_NORTH);
DungeonWaitFrames_Async(0xA, 0x46);
// What am I to do...?
DisplayDungeonDialogue(&gMedichamRescueDialogue_2);
sub_803E708(0xA, 0x46);
DisplayDungeonDialogue_Async(&gMedichamRescueDialogue_2);
DungeonWaitFrames_Async(0xA, 0x46);
sub_8086448();
sub_8086598();
sub_803E708(0x20, 0x46);
DungeonWaitFrames_Async(0x20, 0x46);
SpriteShockEffect(medichamEntity);
sub_803E708(0x20, 0x46);
sub_80869E4(medichamEntity, 4, 2, DIRECTION_SOUTH);
DisplayDungeonDialogue(&gMedichamRescueDialogue_3);
sub_803E708(0xA, 0x46);
DungeonWaitFrames_Async(0x20, 0x46);
CutsceneLookDir_Async(medichamEntity, 4, DIR_TRANS_SPINLEFT1, DIRECTION_SOUTH);
DisplayDungeonDialogue_Async(&gMedichamRescueDialogue_3);
DungeonWaitFrames_Async(0xA, 0x46);
PlaySoundEffect(0x1c7);
sub_806CDD4(medichamEntity, 0xA, DIRECTION_SOUTH);
sub_803E708(0x14, 0x46);
DungeonWaitFrames_Async(0x14, 0x46);
sub_806CE68(medichamEntity, DIRECTION_SOUTH);
sub_803E708(0x4, 0x46);
DungeonWaitFrames_Async(0x4, 0x46);
PlaySoundEffect(0x1c7);
sub_806CDD4(medichamEntity, 0xA, DIRECTION_SOUTH);
sub_803E708(0x14, 0x46);
DungeonWaitFrames_Async(0x14, 0x46);
// Yes Yes
// I am so lucky
//
// There appears to be no one here
DisplayDungeonDialogue(&gMedichamRescueDialogue_4);
sub_803E708(0xA, 0x46);
DisplayDungeonDialogue_Async(&gMedichamRescueDialogue_4);
DungeonWaitFrames_Async(0xA, 0x46);
sub_806CDD4(medichamEntity, 0, DIRECTION_SOUTH);
for(counter = 0x17; counter >= 0; counter--)
{
@ -92,7 +92,7 @@ void MedichamRescueDialogue(void)
DungeonRunFrameActions(0x46);
}
sub_806CE68(medichamEntity, DIRECTION_SOUTH);
sub_803E708(0x20, 0x46);
DungeonWaitFrames_Async(0x20, 0x46);
sub_8042B0C(medichamEntity);
HandleFaint_Async(medichamEntity, DUNGEON_EXIT_DELETED_FOR_EVENT, 0);
gDungeon->unk4 = 1;

View File

@ -76,10 +76,10 @@ void sub_8089978(void)
CopyMonsterNameToBuffer(gFormatBuffer_Monsters[2],MONSTER_MEWTWO);
}
void sub_8089A00(u8 monsterBehavior, u8 cutscene)
void HandleMewtwoBossFaint(u8 monsterBehavior, u8 cutscene)
{
if ((cutscene == CUTSCENE_WESTERN_CAVE_ATTEMPT1 || cutscene == CUTSCENE_WESTERN_CAVE_ATTEMPT2 || cutscene == CUTSCENE_WESTERN_CAVE_POSTSTORY) && monsterBehavior == BEHAVIOR_MEWTWO) {
sub_8097FA8(19);
SetTempCutsceneFlag(CUTSCENE_FLAG_WESTERN_CAVE_COMPLETE);
gDungeon->unk2 = DUNGEON_UNK2_1;
}
}
@ -92,21 +92,21 @@ void MewtwoPreFightDialogue(void)
leaderEntity = CutsceneGetLeader();
MewtwoEntity = GetEntityFromMonsterBehavior(BEHAVIOR_MEWTWO);
sub_8086448();
DisplayDungeonDialogue(&gMewtwoPreFightDialogue_1);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(&gMewtwoPreFightDialogue_1);
DungeonWaitFrames_Async(10,0x46);
DungeonStartNewBGM(MUS_FRIEND_AREA_CRYPTIC_CAVE);
sub_8086794();
sub_803E708(0x1e,0x46);
DungeonWaitFrames_Async(0x1e,0x46);
MewtwoDropInEffect(MewtwoEntity);
sub_803E708(0x3c,0x46);
DisplayDungeonDialogue(&gMewtwoPreFightDialogue_2);
DisplayDungeonDialogue(&gMewtwoPreFightDialogue_3);
sub_803E708(10,0x46);
DungeonWaitFrames_Async(0x3c,0x46);
DisplayDungeonDialogue_Async(&gMewtwoPreFightDialogue_2);
DisplayDungeonDialogue_Async(&gMewtwoPreFightDialogue_3);
DungeonWaitFrames_Async(10,0x46);
MewtwoScreenFlash();
DisplayDungeonDialogue(&gMewtwoPreFightDialogue_4);
DisplayDungeonDialogue_Async(&gMewtwoPreFightDialogue_4);
MewtwoScreenFlash();
DisplayDungeonDialogue(&gMewtwoPreFightDialogue_5);
sub_803E708(10,0x46);
DisplayDungeonDialogue_Async(&gMewtwoPreFightDialogue_5);
DungeonWaitFrames_Async(10,0x46);
SetupBossFightHP(MewtwoEntity,900,MUS_BATTLE_WITH_RAYQUAZA);
ShiftCameraToPosition(&leaderEntity->pixelPos,0x10);
}
@ -123,16 +123,16 @@ void MewtwoReFightDialogue(void)
sub_80866C4(&gMewtwoReFightDialogue_5);
}
else {
DisplayDungeonDialogue(&gMewtwoReFightDialogue_1);
DisplayDungeonDialogue_Async(&gMewtwoReFightDialogue_1);
DungeonStartNewBGM(MUS_FRIEND_AREA_CRYPTIC_CAVE);
sub_8086794();
MewtwoDropInEffect(MewtwoEntity);
sub_803E708(0x3c,0x46);
DisplayDungeonDialogue(&gMewtwoReFightDialogue_2);
DungeonWaitFrames_Async(0x3c,0x46);
DisplayDungeonDialogue_Async(&gMewtwoReFightDialogue_2);
MewtwoScreenFlash();
DisplayDungeonDialogue(&gMewtwoReFightDialogue_3);
DisplayDungeonDialogue_Async(&gMewtwoReFightDialogue_3);
MewtwoScreenFlash();
DisplayDungeonDialogue(&gMewtwoReFightDialogue_4);
DisplayDungeonDialogue_Async(&gMewtwoReFightDialogue_4);
SetupBossFightHP(MewtwoEntity,900,MUS_BATTLE_WITH_RAYQUAZA);
ShiftCameraToPosition(&leaderEntity->pixelPos,0x10);
}
@ -170,19 +170,19 @@ static void MewtwoScreenFlash(void)
SetDungeonBGColorRGB(iVar1,iVar1,iVar1,1,1);
DungeonRunFrameActions(0x46);
}
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
for(iVar1 = 250; iVar1 > 199; iVar1 -= 10)
{
SetDungeonBGColorRGB(iVar1,iVar1,0,1,1);
DungeonRunFrameActions(0x46);
}
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
for(iVar1 = 250; iVar1 >= 0; iVar1 -= 10)
{
SetDungeonBGColorRGB(iVar1,iVar1,iVar1,1,1);
DungeonRunFrameActions(0x46);
}
sub_803E708(10,0x46);
DungeonWaitFrames_Async(10,0x46);
sub_8085EB0();
}

Some files were not shown because too many files have changed in this diff Show More