mirror of
https://github.com/zeldaret/oot.git
synced 2025-02-17 20:41:28 +00:00
Create Macros for Cutscene Data (#63)
* Added additional (potentially unused) fields to macros, now builds OK * Ran formatter, attempted better macro formatting * Formatted unknown fields as hex, further cleanups * Rename and prefix macros, use command base macros, format cutscenes with indents * Move command macros into a new file and include it globally * Generate cutscene command macros for Bg_Toki_Swd, Cleanups * Rename CS_TEXTBOX commands to CS_TEXT, fix typo ic command_macros_base.h * Introduce CS_CMD_CONTINUE and CS_CMD_STOP * Remove apparently redundant arguments in certain commands, include the values in the macros directly * Re-add cutscene terminator destination enum values to example cutscene data * Format what should be floats as hex, Change actorAnim to actorAction * Allow floating-point representation of values in cutscene data (asm-processor hack) * Include cutscene commands only where necessary, documentation fixes * Rename actor actions to npc actions, separate player action from npc actions * Remove PlayerActionIDs for now as relevant information on it is not yet decompiled * Generate cutscene data for en_ru1, remove apparent redundancies in CS_LIGHTING and CS_PLAY/STOP/FADE_BGM commands, relax static requirement in asm-processor CutsceneData float conversion
This commit is contained in:
parent
2bccbe7679
commit
43dfaa7518
15 changed files with 1538 additions and 506 deletions
19
include/command_macros_base.h
Normal file
19
include/command_macros_base.h
Normal file
|
@ -0,0 +1,19 @@
|
|||
#ifndef _COMMAND_MACROS_BASE_H_
|
||||
#define _COMMAND_MACROS_BASE_H_
|
||||
|
||||
/**
|
||||
* Command Base macros intended for use in designing of more specific command macros
|
||||
* Each macro packs bytes (B), halfowrds (H) and words (W, for consistency) into a single word
|
||||
*/
|
||||
|
||||
#define CMD_BBBB(a, b, c, d) (_SHIFTL(a, 24, 8) | _SHIFTL(b, 16, 8) | _SHIFTL(c, 8, 8) | _SHIFTL(d, 0, 8))
|
||||
|
||||
#define CMD_BBH(a, b, c) (_SHIFTL(a, 24, 8) | _SHIFTL(b, 16, 8) | _SHIFTL(c, 0, 16))
|
||||
|
||||
#define CMD_HBB(a, b, c) (_SHIFTL(a, 16, 16) | _SHIFTL(b, 8, 8) | _SHIFTL(c, 0, 8))
|
||||
|
||||
#define CMD_HH(a, b) (_SHIFTL(a, 16, 16) | _SHIFTL(b, 0, 16))
|
||||
|
||||
#define CMD_W(a) (a)
|
||||
|
||||
#endif
|
|
@ -571,7 +571,7 @@ typedef struct {
|
|||
/* 0x1C */ CutsceneCameraPoint* cameraFocus;
|
||||
/* 0x20 */ CutsceneCameraPoint* cameraPosition;
|
||||
/* 0x24 */ CsCmdActorAction* linkAction;
|
||||
/* 0x28 */ CsCmdActorAction* actorActions[10]; // "npcdemopnt"
|
||||
/* 0x28 */ CsCmdActorAction* npcActions[10]; // "npcdemopnt"
|
||||
} CutsceneContext; // size = 0x50
|
||||
|
||||
typedef struct {
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef _Z64CUTSCENE_H_
|
||||
#define _Z64CUTSCENE_H_
|
||||
|
||||
#include <ultra64.h>
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u16 entrance; // entrance index upon which the cutscene should trigger
|
||||
/* 0x02 */ u8 ageRestriction; // 0 for adult only, 1 for child only, 2 for both ages
|
||||
|
@ -92,13 +94,13 @@ typedef enum {
|
|||
CS_CMD_CAMERA_FOCUS = 0x0002,
|
||||
CS_CMD_MISC = 0x0003,
|
||||
CS_CMD_SET_LIGHTING = 0x0004,
|
||||
CS_CMD_CAMERA_POS_LINK = 0x0005,
|
||||
CS_CMD_CAMERA_FOCUS_LINK = 0x0006,
|
||||
CS_CMD_CAMERA_POS_PLAYER = 0x0005,
|
||||
CS_CMD_CAMERA_FOCUS_PLAYER = 0x0006,
|
||||
CS_CMD_07 = 0x0007,
|
||||
CS_CMD_08 = 0x0008,
|
||||
CS_CMD_09 = 0x0009,
|
||||
CS_CMD_TEXTBOX = 0x0013,
|
||||
CS_CMD_SET_ACTOR_ACTION_0 = 0x000A,
|
||||
CS_CMD_SET_PLAYER_ACTION = 0x000A,
|
||||
CS_CMD_SET_ACTOR_ACTION_1 = 0x000F,
|
||||
CS_CMD_SET_ACTOR_ACTION_2 = 0x000E,
|
||||
CS_CMD_SET_ACTOR_ACTION_3 = 0x0019,
|
||||
|
@ -119,4 +121,180 @@ typedef enum {
|
|||
CS_CMD_END = 0xFFFF
|
||||
} CutsceneCmd;
|
||||
|
||||
/**
|
||||
* Special type for blocks of cutscene data, asm-processor checks
|
||||
* arrays for CutsceneData type and converts floats within the array
|
||||
* to their IEEE-754 representation. The array must close with };
|
||||
* on its own line.
|
||||
*
|
||||
* Files that contain this type that are included in other C files
|
||||
* must include an 'EARLY' qualifier to inform asm-processor that it
|
||||
* must recursively process that include.
|
||||
*
|
||||
* Example: #include "file.c" EARLY
|
||||
*/
|
||||
typedef union CutsceneData {
|
||||
s32 i;
|
||||
f32 f;
|
||||
s16 s[2];
|
||||
s8 b[4];
|
||||
} CutsceneData;
|
||||
|
||||
#define CS_CMD_CONTINUE 0x00
|
||||
#define CS_CMD_STOP 0xFF
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ OCARINA_ACTION_UNK_0,
|
||||
/* 0x01 */ OCARINA_ACTION_FREE_PLAY_OCARINA,
|
||||
/* 0x02 */ OCARINA_ACTION_MINUET,
|
||||
/* 0x03 */ OCARINA_ACTION_BOLERO,
|
||||
/* 0x04 */ OCARINA_ACTION_SERENADE,
|
||||
/* 0x05 */ OCARINA_ACTION_REQUIEM,
|
||||
/* 0x06 */ OCARINA_ACTION_NOCTURNE,
|
||||
/* 0x07 */ OCARINA_ACTION_PRELUDE,
|
||||
/* 0x08 */ OCARINA_ACTION_SARIAS_SONG,
|
||||
/* 0x09 */ OCARINA_ACTION_EPONAS_SONG,
|
||||
/* 0x0A */ OCARINA_ACTION_ZELDAS_LULLABY,
|
||||
/* 0x0B */ OCARINA_ACTION_SUNS_SONG,
|
||||
/* 0x0C */ OCARINA_ACTION_SONG_OF_TIME,
|
||||
/* 0x0D */ OCARINA_ACTION_SONG_OF_STORMS,
|
||||
/* 0x0E */ OCARINA_ACTION_OCARINA_ACTION_UNK_E,
|
||||
/* 0x0F */ OCARINA_ACTION_MINUET_PLAYBACK,
|
||||
/* 0x10 */ OCARINA_ACTION_BOLERO_PLAYBACK,
|
||||
/* 0x11 */ OCARINA_ACTION_SERENADE_PLAYBACK,
|
||||
/* 0x12 */ OCARINA_ACTION_REQUIEM_PLAYBACK,
|
||||
/* 0013 */ OCARINA_ACTION_NOCTURNE_PLAYBACK,
|
||||
/* 0x14 */ OCARINA_ACTION_PRELUDE_PLAYBACK,
|
||||
/* 0x15 */ OCARINA_ACTION_SARIAS_SONG_PLAYBACK,
|
||||
/* 0x16 */ OCARINA_ACTION_EPONAS_SONG_PLAYBACK,
|
||||
/* 0x17 */ OCARINA_ACTION_ZELDAS_LULLABY_PLAYBACK,
|
||||
/* 0x18 */ OCARINA_ACTION_SUNS_SONG_PLAYBACK,
|
||||
/* 0x19 */ OCARINA_ACTION_SONG_OF_TIME_PLAYBACK,
|
||||
/* 0x1A */ OCARINA_ACTION_SONG_OF_STORMS_PLAYBACK
|
||||
} OcarinaSongActionIDs;
|
||||
|
||||
// TODO confirm correctness, clarify names
|
||||
typedef enum {
|
||||
/* 0x00 */ INVALID_DESTINATION_0,
|
||||
/* 0x01 */ CUTSCENE_MAP_GANON_HORSE,
|
||||
/* 0x02 */ CUTSCENE_MAP_THREE_GODESSES_POST_DEKU_TREE,
|
||||
/* 0x03 */ GERUDO_VALLEY_DIN,
|
||||
/* 0x04 */ DEATH_MOUNTAIN_TRAIL_NAYRU,
|
||||
/* 0x05 */ KOKIRI_FOREST_FARORE,
|
||||
/* 0x06 */ CUTSCENE_MAP_TRIFORCE_CREATION,
|
||||
/* 0x07 */ KOKIRI_FOREST_RECEIVE_KOKIRI_EMERALD,
|
||||
/* 0x08 */ TEMPLE_OF_TIME_AFTER_USE_MS,
|
||||
/* 0x09 */ GERUDO_VALLEY_DIN_2,
|
||||
/* 0x0A */ LINKS_HOUSE_INTRO,
|
||||
/* 0x0B */ KOKIRI_FOREST_INTRO,
|
||||
/* 0x0C */ DEATH_MOUNTAIN_TRAIL_AFTER_GORON_RUBY,
|
||||
/* 0x0D */ ZORAS_FOUNTAIN_AFTER_ZORAS_SAPPHIRE,
|
||||
/* 0x0E */ KOKIRI_FOREST_AFTER_KOKIRI_EMERALD,
|
||||
/* 0x0F */ TEMPLE_OF_TIME_KOKIRI_EMERALD, //unused
|
||||
/* 0x10 */ TEMPLE_OF_TIME_GORON_RUBY, //unused
|
||||
/* 0x11 */ TEMPLE_OF_TIME_ZORAS_SAPPHIRE, //unused
|
||||
/* 0x12 */ TEMPLE_OF_TIME_AFTER_USE_MS_FIRST,
|
||||
/* 0x13 */ DEATH_MOUNTAIN_TRAIL_AFTER_INTRO,
|
||||
/* 0x14 */ INVALID_DESTINATION_14,
|
||||
/* 0x15 */ LAKE_HYLIA_WATER_RISES,
|
||||
/* 0x16 */ DESERT_COLOSSUS_REQUIEM,
|
||||
/* 0x17 */ CUTSCENE_MAP_CURSE_YOU,
|
||||
/* 0x18 */ JABU_JABU_INTRO,
|
||||
/* 0x19 */ CHAMBER_OF_SAGES_LIGHT_MEDALLION,
|
||||
/* 0x1A */ TEMPLE_OF_TIME_KOKIRI_EMERALD_2, //duplicate of 0x000F
|
||||
/* 0x1B */ TEMPLE_OF_TIME_GORON_RUBY_2, //duplicate of 0x0010
|
||||
/* 0x1C */ TEMPLE_OF_TIME_ZORAS_SAPPHIRE_2, //duplicate of 0x0011
|
||||
/* 0x1D */ CHAMBER_OF_SAGES_FOREST_MEDALLION,
|
||||
/* 0x1E */ CHAMBER_OF_SAGES_FIRE_MEDALLION,
|
||||
/* 0x1F */ CHAMBER_OF_SAGES_WATER_MEDALLION,
|
||||
/* 0x20 */ HYRULE_FIELD_FLASHBACK, //lacs part 4
|
||||
/* 0x21 */ HYRULE_FIELD_AFTER_LAKE_HYLIA_OWL,
|
||||
/* 0x22 */ CUTSCENE_MAP_GANON_AFTER_USE_MS,
|
||||
/* 0x23 */ HYRULE_FIELD_INTRO_ZELDA_ESCAPE,
|
||||
/* 0x24 */ INVALID_DESTINATION_24,
|
||||
/* 0x25 */ INVALID_DESTINATION_25,
|
||||
/* 0x26 */ CUTSCENE_MAP_SHEIKAH_LEGEND, //lacs part 2
|
||||
/* 0x27 */ TEMPLE_OF_TIME_ZELDA_REVEAL, //lacs part 3
|
||||
/* 0x28 */ TEMPLE_OF_TIME_GET_LIGHT_ARROWS, //lacs part 5
|
||||
/* 0x29 */ LAKE_HYLIA_AFTER_BLUE_WARP,
|
||||
/* 0x2A */ KAKARIKO_VILLAGE_DRAIN_WELL,
|
||||
/* 0x2B */ WINDMILL_AFTER_DRAIN_WELL,
|
||||
/* 0x2C */ TEMPLE_OF_TIME_AFTER_DOOR_OF_TIME_OPENS,
|
||||
/* 0x2D */ INVALID_DESTINATION_2D,
|
||||
/* 0x2E */ TEMPLE_OF_TIME_AFTER_USE_MS_FIRST_2, // duplicate of 0x0012
|
||||
/* 0x2F */ KAKARIKO_VILLAGE_NOCTURNE_PART_2,
|
||||
/* 0x30 */ DESERT_COLOSSUS_AFTER_REQUIEM,
|
||||
/* 0x31 */ TEMPLE_OF_TIME_AFTER_LIGHT_ARROWS,
|
||||
/* 0x32 */ KAKARIKO_VILLAGE_AFTER_NOCTURNE,
|
||||
/* 0x33 */ HYRULE_FIELD_IMPA_ESCORT_CS,
|
||||
/* 0x34 */ TEMPLE_OF_TIME_SONG_OF_TIME,
|
||||
/* 0x35 */ HYRULE_FIELD_AFTER_SONG_OF_TIME,
|
||||
/* 0x36 */ GERUDO_VALLEY_CREDITS,
|
||||
/* 0x37 */ GERUDO_FORTRESS_CREDITS,
|
||||
/* 0x38 */ KAKARIKO_VILLAGE_CREDITS,
|
||||
/* 0x39 */ DEATH_MOUNTAIN_TRAIL_CREDITS_1,
|
||||
/* 0x3A */ GORON_CITY_CREDITS, // unused?
|
||||
/* 0x3B */ LAKE_HYLIA_CREDITS,
|
||||
/* 0x3C */ ZORAS_FOUNTAIN_CREDITS, // unused
|
||||
/* 0x3D */ ZORAS_DOMAIN_CREDITS,
|
||||
/* 0x3E */ KOKIRI_FOREST_CREDITS_1,
|
||||
/* 0x3F */ KOKIRI_FOREST_CREDITS_2,
|
||||
/* 0x40 */ HYRULE_FIELD_CREDITS,
|
||||
/* 0x41 */ LON_LON_RANCH_CREDITS_1,
|
||||
/* 0x42 */ KAKARIKO_VILLAGE_AFTER_TRAIL_OWL,
|
||||
/* 0x43 */ HTRULE_FIELD_UNUSED_ENTRANCE,
|
||||
/* 0x44 */ CUTSCENE_MAP_FIRE,
|
||||
/* 0x45 */ KOKIRI_FOREST_POST_FOREST_MEDALLION,
|
||||
/* 0x46 */ DEATH_MOUNTAIN_TRAIL_CREDITS_2,
|
||||
/* 0x47 */ TEMPLE_OF_TIME_CREDITS,
|
||||
/* 0x48 */ ZELDAS_COURTYARD_CREDITS,
|
||||
/* 0x49 */ LON_LON_RANCH_CREDITS_1_2, // duplicate of 0x0041
|
||||
/* 0x4A */ LON_LON_RANCH_CREDITS_2,
|
||||
/* 0x4B */ LON_LON_RANCH_CREDITS_3,
|
||||
/* 0x4C */ LON_LON_RANCH_CREDITS_4,
|
||||
/* 0x4D */ LON_LON_RANCH_CREDITS_5,
|
||||
/* 0x4E */ LON_LON_RANCH_CREDITS_6,
|
||||
/* 0x4F */ LON_LON_RANCH_NO_CS_1,
|
||||
/* 0x50 */ LON_LON_RANCH_NO_CS_2,
|
||||
/* 0x51 */ LON_LON_RANCH_NO_CS_3,
|
||||
/* 0x52 */ LON_LON_RANCH_NO_CS_4,
|
||||
/* 0x53 */ LON_LON_RANCH_NO_CS_5,
|
||||
/* 0x54 */ LON_LON_RANCH_NO_CS_6,
|
||||
/* 0x55 */ LON_LON_RANCH_NO_CS_7,
|
||||
/* 0x56 */ LON_LON_RANCH_NO_CS_8,
|
||||
/* 0x57 */ LON_LON_RANCH_NO_CS_9,
|
||||
/* 0x58 */ LON_LON_RANCH_NO_CS_10,
|
||||
/* 0x59 */ LON_LON_RANCH_NO_CS_11,
|
||||
/* 0x5A */ LON_LON_RANCH_NO_CS_12,
|
||||
/* 0x5B */ LON_LON_RANCH_NO_CS_13,
|
||||
/* 0x5C */ LON_LON_RANCH_NO_CS_14,
|
||||
/* 0x5D */ LON_LON_RANCH_NO_CS_15,
|
||||
/* 0x5E */ LON_LON_RANCH_NO_CS_EPONAS_SONG,
|
||||
/* 0x5F */ CONDITIONAL_DESTINATION, // TODO more descriptive name?
|
||||
/* 0x60 */ DESERT_COLOSSUS_SPIRIT_BLUE_WARP,
|
||||
/* 0x61 */ GRAVEYARD_AFTER_SHADOW_BLUE_WARP,
|
||||
/* 0x62 */ DEATH_MOUNTAIN_CRATER_AFTER_FIRE_BLUE_WARP,
|
||||
/* 0x63 */ SACRED_FOREST_MEADOW_AFTER_FOREST_BLUE_WARP,
|
||||
/* 0x64 */ KOKIRI_FOREST_AFTER_FOREST_BLUE_WARP,
|
||||
/* 0x65 */ DESERT_COLOSSUS_AFTER_SILVER_GAUNTLETS,
|
||||
/* 0x66 */ TEMPLE_OF_TIME_FRONT_OF_PEDESTAL,
|
||||
/* 0x67 */ HYRULE_FIELD_TITLE_SCREEN,
|
||||
/* 0x68 */ SPIRIT_TEMPLE_BOSS_TITLE_SCREEN,
|
||||
/* 0x69 */ GRAVEYARD_SUNS_SONG,
|
||||
/* 0x6A */ ROYAL_FAMILYS_TOMB_SUNS_SONG,
|
||||
/* 0x6B */ GANONS_CASTLE_AFTER_FOREST_TRIAL,
|
||||
/* 0x6C */ GANONS_CASTLE_AFTER_WATER_TRIAL,
|
||||
/* 0x6D */ GANONS_CASTLE_AFTER_SHADOW_TRIAL,
|
||||
/* 0x6E */ GANONS_CASTLE_AFTER_FIRE_TRIAL,
|
||||
/* 0x6F */ GANONS_CASTLE_AFTER_LIGHT_TRIAL,
|
||||
/* 0x70 */ GANONS_CASTLE_AFTER_SPIRIT_TRIAL,
|
||||
/* 0x71 */ GANONS_CASTLE_DISPEL_BARRIER_IF_CONDITIONS,
|
||||
/* 0x72 */ HYRULE_FIELD_INTRO,
|
||||
/* 0x73 */ HYRULE_FIELD_AFTER_IMPA_ESCORT,
|
||||
/* 0x74 */ DESERT_COLOSSUS_SPIRIT_BLUE_WARP_2,
|
||||
/* 0x75 */ HYRULE_FIELD_SKY,
|
||||
/* 0x76 */ GANON_BATTLE_TOWER_COLLAPSE,
|
||||
/* 0x77 */ ZELDAS_COURTYARD_RECEIVE_LETTER
|
||||
} CutsceneTerminatorDestination;
|
||||
|
||||
#endif
|
||||
|
|
442
include/z64cutscene_commands.h
Normal file
442
include/z64cutscene_commands.h
Normal file
|
@ -0,0 +1,442 @@
|
|||
#ifndef _Z64CUTSCENE_CMMANDS_H_
|
||||
#define _Z64CUTSCENE_CMMANDS_H_
|
||||
|
||||
#include <command_macros_base.h>
|
||||
#include <z64cutscene.h>
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s32 totalEntries (e), s32 endFrame (n)
|
||||
* FORMAT
|
||||
* eeeeeeee nnnnnnnn
|
||||
* size = 0x8
|
||||
*/
|
||||
#define CS_BEGIN_CUTSCENE(totalEntries, endFrame) CMD_W(totalEntries), CMD_W(endFrame)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s16 startFrame (s), s16 endFrame (e)
|
||||
* FORMAT
|
||||
* 00000001 0001ssss eeee0000
|
||||
* size = 0xC
|
||||
*/
|
||||
#define CS_CAM_POS_LIST(startFrame, endFrame) \
|
||||
CS_CMD_CAMERA_POS, CMD_HH(0x0001, startFrame), CMD_HH(endFrame, 0x0000)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s8 continueFlag (c), s8 roll (r), s16 frame (f), f32 viewAngle (a),
|
||||
* s16 xPos (x), s16 yPos (y), s16 zPos (z)
|
||||
* FORMAT
|
||||
* Capital U is Unused
|
||||
* ccrrffff aaaaaaaa xxxxyyyy zzzzUUUU
|
||||
* size = 0x10
|
||||
*/
|
||||
#define CS_CAM_POS(continueFlag, roll, frame, viewAngle, xPos, yPos, zPos, unused) \
|
||||
CMD_BBH(continueFlag, roll, frame), CMD_W(viewAngle), CMD_HH(xPos, yPos), CMD_HH(zPos, unused)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s16 startFrame (s), s16 endFrame (e)
|
||||
* FORMAT
|
||||
* 00000002 0001ssss eeee0000
|
||||
* size = 0xC
|
||||
*/
|
||||
#define CS_CAM_FOCUS_POINT_LIST(startFrame, endFrame) \
|
||||
CS_CMD_CAMERA_FOCUS, CMD_HH(0x0001, startFrame), CMD_HH(endFrame, 0x0000)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s8 continueFlag (c), s8 roll (r), s16 frame (f), f32 viewAngle (a),
|
||||
* s16 xPos (x), s16 yPos (y), s16 zPos (z)
|
||||
* FORMAT
|
||||
* Capital U is Unused
|
||||
* ccrrffff aaaaaaaa xxxxyyyy zzzzUUUU
|
||||
* size = 0x10
|
||||
*/
|
||||
#define CS_CAM_FOCUS_POINT(continueFlag, roll, frame, viewAngle, xPos, yPos, zPos, unused) \
|
||||
CMD_BBH(continueFlag, roll, frame), CMD_W(viewAngle), CMD_HH(xPos, yPos), CMD_HH(zPos, unused)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s32 entries (e)
|
||||
* FORMAT
|
||||
* 00000003 eeeeeeee
|
||||
* size = 0x8
|
||||
*/
|
||||
#define CS_MISC_LIST(entries) CS_CMD_MISC, CMD_W(entries)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s16 unk (u), s16 startFrame (s), s16 endFrame (e)
|
||||
* FORMAT
|
||||
* Capital U is Unused
|
||||
* uuuussss eeeeUUUU UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
|
||||
* size = 0x30
|
||||
*/
|
||||
#define CS_MISC(unk, startFrame, endFrame, unused0, unused1, unused2, unused3, unused4, unused5, unused6, unused7, unused8, unused9, unused10) \
|
||||
CMD_HH(unk, startFrame), CMD_HH(endFrame, unused0), \
|
||||
CMD_W(unused1), CMD_W(unused2), CMD_W(unused3), CMD_W(unused4), CMD_W(unused5), \
|
||||
CMD_W(unused6), CMD_W(unused7), CMD_W(unused8), CMD_W(unused9), CMD_W(unused10)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s32 entries (e)
|
||||
* FORMAT
|
||||
* 00000004 eeeeeeee
|
||||
* size = 0x8
|
||||
*/
|
||||
#define CS_LIGHTING_LIST(entries) CS_CMD_SET_LIGHTING, CMD_W(entries)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s16 setting (m), s16 startFrame (s), s16 endFrame (e)
|
||||
* FORMAT
|
||||
* Capital U is Unused
|
||||
* mmmmssss eeeeUUUU UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU 00000000 00000000 00000000
|
||||
* size = 0x30
|
||||
*/
|
||||
#define CS_LIGHTING(setting, startFrame, endFrame, unused0, unused1, unused2, unused3, unused4, unused5, unused6, unused7) \
|
||||
CMD_HH(setting, startFrame), CMD_HH(endFrame, unused0), \
|
||||
CMD_W(unused1), CMD_W(unused2), CMD_W(unused3), CMD_W(unused4), CMD_W(unused5), \
|
||||
CMD_W(unused6), CMD_W(unused7), 0x00000000, 0x00000000, 0x00000000
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s16 startFrame (s), s16 endFrame (e)
|
||||
* FORMAT
|
||||
* Capital U is Unused , may be consistently zero
|
||||
* 00000005 0001ssss eeee0000
|
||||
* size = 0xC
|
||||
*/
|
||||
#define CS_CAM_POS_PLAYER_LIST(startFrame, endFrame) \
|
||||
CS_CMD_CAMERA_POS_PLAYER, CMD_HH(0x0001, startFrame), CMD_HH(endFrame, 0x0000)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s8 continueFlag (c), s8 roll (r), s16 frame (f), f32 viewAngle (a),
|
||||
* s16 xPos (x), s16 yPos (y), s16 zPos (z)
|
||||
* FORMAT
|
||||
* Capital U is Unused
|
||||
* ccrrffff aaaaaaaa xxxxyyyy zzzzUUUU
|
||||
* size = 0x10
|
||||
*/
|
||||
#define CS_CAM_POS_PLAYER(continueFlag, roll, frame, viewAngle, xPos, yPos, zPos, unused) \
|
||||
CMD_BBH(continueFlag, roll, frame), CMD_W(viewAngle), CMD_HH(xPos, yPos), CMD_HH(zPos, unused)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s16 startFrame (s), s16 endFrame (e)
|
||||
* FORMAT
|
||||
* Capital U is Unused , may be consistently zero
|
||||
* 00000006 0001ssss eeee0000
|
||||
* size = 0xC
|
||||
*/
|
||||
#define CS_CAM_FOCUS_POINT_PLAYER_LIST(startFrame, endFrame) \
|
||||
CS_CMD_CAMERA_FOCUS_PLAYER, CMD_HH(0x0001, startFrame), CMD_HH(endFrame, 0x0000)
|
||||
/**
|
||||
* ARGS
|
||||
* s8 continueFlag (c), s8 roll (r), s16 frame (f), f32 viewAngle (a),
|
||||
* s16 xPos (x), s16 yPos (y), s16 zPos (z)
|
||||
* FORMAT
|
||||
* Capital U is Unused
|
||||
* ccrrffff aaaaaaaa xxxxyyyy zzzzUUUU
|
||||
* size = 0x10
|
||||
*/
|
||||
#define CS_CAM_FOCUS_POINT_PLAYER(continueFlag, roll, frame, viewAngle, xPos, yPos, zPos, unused) \
|
||||
CMD_BBH(continueFlag, roll, frame), CMD_W(viewAngle), CMD_HH(xPos, yPos), CMD_HH(zPos, unused)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s16 unk (u), s16 startFrame (s), s16 endFrame (e)
|
||||
* FORMAT
|
||||
* Capital U is Unused
|
||||
* 00000007 uuuussss eeeeUUUU
|
||||
* size = 0xC
|
||||
*/
|
||||
#define CS_CMD_07_LIST(unk, startFrame, endFrame, unused) \
|
||||
CS_CMD_07, CMD_HH(unk, startFrame), CMD_HH(endFrame, unused)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s8 continueFlag (c), s8 roll (r), s16 frame (f), f32 viewAngle (a),
|
||||
* s16 xPos (x), s16 yPos (y), s16 zPos (z)
|
||||
* FORMAT
|
||||
* Capital U is Unused
|
||||
* ccrrffff aaaaaaaa xxxxyyyy zzzzUUUU
|
||||
* size = 0x10
|
||||
*/
|
||||
#define CS_CMD_07(continueFlag, roll, frame, viewAngle, xPos, yPos, zPos, unused) \
|
||||
CMD_BBH(continueFlag, roll, frame), CMD_W(viewAngle), CMD_HH(xPos, yPos), CMD_HH(zPos, unused)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s16 unk (u), s16 startFrame (s), s16 endFrame (e)
|
||||
* FORMAT
|
||||
* Capital U is Unused
|
||||
* 00000008 uuuussss eeeeUUUU
|
||||
* size = 0xC
|
||||
*/
|
||||
#define CS_CMD_08_LIST(unk, startFrame, endFrame, unused) \
|
||||
CS_CMD_08, CMD_HH(unk, startFrame), CMD_HH(endFrame, unused)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s8 continueFlag (c), s8 roll (r), s16 frame (f), f32 viewAngle (a),
|
||||
* s16 xPos (x), s16 yPos (y), s16 zPos (z)
|
||||
* FORMAT
|
||||
* Capital U is Unused
|
||||
* ccrrffff aaaaaaaa xxxxyyyy zzzzUUUU
|
||||
* size = 0x10
|
||||
*/
|
||||
#define CS_CMD_08(continueFlag, roll, frame, viewAngle, xPos, yPos, zPos, unused) \
|
||||
CMD_BBH(continueFlag, roll, frame), CMD_W(viewAngle), CMD_HH(xPos, yPos), CMD_HH(zPos, unused)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s32 entries (e)
|
||||
* FORMAT
|
||||
* 00000009 eeeeeeee
|
||||
* size = 0x8
|
||||
*/
|
||||
#define CS_CMD_09_LIST(entries) CS_CMD_09, CMD_W(entries)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s16 unk (u), s16 startFrame (s), s16 endFrame (e), s16 unk2 (v), s16 unk3 (w), s16 unk4 (x)
|
||||
* FORMAT
|
||||
* Capital U is Unused
|
||||
* uuuussss eeeevvww xxUUUUUU
|
||||
* size = 0xC
|
||||
*/
|
||||
#define CS_CMD_09(unk, startFrame, endFrame, unk2, unk3, unk4, unused0, unused1) \
|
||||
CMD_HH(unk, startFrame), CMD_HBB(endFrame, unk2, unk3), CMD_BBH(unk4, unused0, unused1)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s32 cmdType (c), s32 entries (e)
|
||||
* FORMAT
|
||||
* cccccccc eeeeeeee
|
||||
* size = 0x8
|
||||
*/
|
||||
#define CS_UNK_DATA_LIST(cmdType, entries) CMD_W(cmdType), CMD_W(entries)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s32 unk1 (a), s32 unk2 (b), s32 unk3 (c), s32 unk4 (d), s32 unk5 (e), s32 unk6 (f),
|
||||
* s32 unk7 (g), s32 unk8 (h), s32 unk9 (i), s32 unk10 (j), s32 unk11 (k), s32 unk12 (l)
|
||||
* FORMAT
|
||||
* aaaaaaaa bbbbbbbb cccccccc dddddddd eeeeeeee ffffffff gggggggg hhhhhhhh iiiiiiii jjjjjjjj kkkkkkkk llllllll
|
||||
* size = 0x30
|
||||
*/
|
||||
#define CS_UNK_DATA(unk1, unk2, unk3, unk4, unk5, unk6, unk7, unk8, unk9, unk10, unk11, unk12) \
|
||||
CMD_W(unk1), CMD_W(unk2), CMD_W(unk3), CMD_W(unk4), CMD_W(unk5), CMD_W(unk6), \
|
||||
CMD_W(unk7), CMD_W(unk8), CMD_W(unk9), CMD_W(unk10), CMD_W(unk11), CMD_W(unk12)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s32 cmdType (c), s32 entries (e)
|
||||
* FORMAT
|
||||
* cccccccc eeeeeeee
|
||||
* size = 0x8
|
||||
*/
|
||||
#define CS_NPC_ACTION_LIST(cmdType, entries) CMD_W(cmdType), CMD_W(entries)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s16 npcAction (a), s16 startFrame (s), s16 endFrame (e),
|
||||
* s16 rotX (u), s16 rotY (v), s16 rotZ (w),
|
||||
* s32 startX (i), s32 startY (j), s32 startZ (k),
|
||||
* s32 endX (l), s32 endY (m), s32 endZ (n),
|
||||
* f32 normX (x), f32 normY (y), f32 normZ (z),
|
||||
* FORMAT
|
||||
* aaaassss eeeeuuuu vvvvwwww iiiiiiii jjjjjjjj kkkkkkkk llllllll mmmmmmmm nnnnnnnn xxxxxxxx yyyyyyyy zzzzzzzz
|
||||
* size = 0x30
|
||||
*/
|
||||
#define CS_NPC_ACTION(npcAction, startFrame, endFrame, rotX, rotY, rotZ, startX, startY, startZ, endX, endY, endZ, normX, normY, normZ) \
|
||||
CMD_HH(npcAction, startFrame), CMD_HH(endFrame, rotX), CMD_HH(rotY, rotZ), \
|
||||
CMD_W(startX), CMD_W(startY), CMD_W(startZ), \
|
||||
CMD_W(endX), CMD_W(endY), CMD_W(endZ), \
|
||||
CMD_W(normX), CMD_W(normY), CMD_W(normZ)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s32 cmdType (c), s32 entries (e)
|
||||
* FORMAT
|
||||
* cccccccc eeeeeeee
|
||||
* size = 0x8
|
||||
*/
|
||||
#define CS_PLAYER_ACTION_LIST(entries) CS_CMD_SET_PLAYER_ACTION, CMD_W(entries)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s16 linkAction (a), s16 startFrame (s), s16 endFrame (e),
|
||||
* s16 rotX (u), s16 rotY (v), s16 rotZ (w),
|
||||
* s32 startX (i), s32 startY (j), s32 startZ (k),
|
||||
* s32 endX (l), s32 endY (m), s32 endZ (n),
|
||||
* f32 normX (x), f32 normY (y), f32 normZ (z),
|
||||
* FORMAT
|
||||
* aaaassss eeeeuuuu vvvvwwww iiiiiiii jjjjjjjj kkkkkkkk llllllll mmmmmmmm nnnnnnnn xxxxxxxx yyyyyyyy zzzzzzzz
|
||||
* size = 0x30
|
||||
*/
|
||||
#define CS_PLAYER_ACTION(linkAction, startFrame, endFrame, rotX, rotY, rotZ, startX, startY, startZ, endX, endY, endZ, normX, normY, normZ) \
|
||||
CS_NPC_ACTION(linkAction, startFrame, endFrame, rotX, rotY, rotZ, startX, startY, startZ, endX, endY, endZ, normX, normY, normZ)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s32 entries (e)
|
||||
* FORMAT
|
||||
* 00000013 eeeeeeee
|
||||
* size = 0x8
|
||||
*/
|
||||
#define CS_TEXT_LIST(entries) CS_CMD_TEXTBOX, CMD_W(entries)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s16 messageId (i), s16 startFrame (s), s16 endFrame (e), s16 type (o),
|
||||
* s16 topOptionBranch (y), s16 bottomOptionBranch (n)
|
||||
* FORMAT
|
||||
* iiiissss eeeeoooo yyyynnnn
|
||||
* size = 0xC
|
||||
*/
|
||||
#define CS_TEXT_DISPLAY_TEXTBOX(messageId, startFrame, endFrame, type, topOptionBranch, bottomOptionBranch) \
|
||||
CMD_HH(messageId, startFrame), CMD_HH(endFrame, type), CMD_HH(topOptionBranch, bottomOptionBranch)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s16 startFrame (s), s16 endFrame (e)
|
||||
* FORMAT
|
||||
* FFFFssss eeeeFFFF FFFFFFFF
|
||||
* size = 0xC
|
||||
*/
|
||||
#define CS_TEXT_NONE(startFrame, endFrame) \
|
||||
CS_TEXT_DISPLAY_TEXTBOX(0xFFFF, startFrame, endFrame, 0xFFFF, 0xFFFF, 0xFFFF)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s16 ocarinaSongAction (o), s16 startFrame (s), s16 endFrame (e), s16 topOptionBranch (i)
|
||||
* FORMAT
|
||||
* oooossss eeee0002 iiiiFFFF
|
||||
* size = 0xC
|
||||
*/
|
||||
#define CS_TEXT_LEARN_SONG(ocarinaSongAction, startFrame, endFrame, messageId) \
|
||||
CS_TEXT_DISPLAY_TEXTBOX(ocarinaSongAction, startFrame, endFrame, 0x0002, messageId, 0xFFFF)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s16 transitionType (t), s16 startFrame (s), s16 endFrame (e)
|
||||
* FORMAT
|
||||
* Capital U is Unused , endFrame duplicate
|
||||
* 0000002D 00000001 ttttssss eeeeUUUU
|
||||
* size = 0x10
|
||||
*/
|
||||
#define CS_SCENE_TRANS_FX(transitionType, startFrame, endFrame) \
|
||||
CS_CMD_SCENE_TRANS_FX, 0x00000001, CMD_HH(transitionType, startFrame), CMD_HH(endFrame, endFrame)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s32 entries (e)
|
||||
* FORMAT
|
||||
* 00000056 eeeeeeee
|
||||
* size = 0x8
|
||||
*/
|
||||
#define CS_PLAY_BGM_LIST(entries) CS_CMD_PLAYBGM, CMD_W(entries)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s16 sequence (q), s16 startFrame (s), s16 endFrame (e)
|
||||
* FORMAT
|
||||
* Capital U is Unused
|
||||
* qqqqssss eeeeUUUU UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU 00000000 00000000 00000000
|
||||
* size = 0x30
|
||||
*/
|
||||
#define CS_PLAY_BGM(sequence, startFrame, endFrame, unused0, unused1, unused2, unused3, unused4, unused5, unused6, unused7) \
|
||||
CMD_HH(sequence, startFrame), CMD_HH(endFrame, unused0), \
|
||||
CMD_W(unused1), CMD_W(unused2), CMD_W(unused3), CMD_W(unused4), CMD_W(unused5), \
|
||||
CMD_W(unused6), CMD_W(unused7), 0x00000000, 0x00000000, 0x00000000
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s32 entries (e)
|
||||
* FORMAT
|
||||
* 00000057 eeeeeeee
|
||||
* size = 0x8
|
||||
*/
|
||||
#define CS_STOP_BGM_LIST(entries) CS_CMD_STOPBGM, CMD_W(entries)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s16 sequence (q), s16 startFrame (s), s16 endFrame (e)
|
||||
* FORMAT
|
||||
* Capital U is Unused
|
||||
* uuqqssss eeeeUUUU UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU 00000000 00000000 00000000
|
||||
* size = 0x30
|
||||
*/
|
||||
#define CS_STOP_BGM(sequence, startFrame, endFrame, unused0, unused1, unused2, unused3, unused4, unused5, unused6, unused7) \
|
||||
CMD_HH(sequence, startFrame), CMD_HH(endFrame, unused0), \
|
||||
CMD_W(unused1), CMD_W(unused2), CMD_W(unused3), CMD_W(unused4), CMD_W(unused5), \
|
||||
CMD_W(unused6), CMD_W(unused7), 0x00000000, 0x00000000, 0x00000000
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s32 entries (e)
|
||||
* FORMAT
|
||||
* 0000007C eeeeeeee
|
||||
* size = 0x8
|
||||
*/
|
||||
#define CS_FADE_BGM_LIST(entries) CS_CMD_FADEBGM, CMD_W(entries)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s16 fadeType (t), s16 startFrame (s), s16 endFrame (e)
|
||||
* FORMAT
|
||||
* Capital U is Unused
|
||||
* ttttssss eeeeUUUU UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU 00000000 00000000 00000000
|
||||
* size = 0x30
|
||||
*/
|
||||
#define CS_FADE_BGM(fadeType, startFrame, endFrame, unused0, unused1, unused2, unused3, unused4, unused5, unused6, unused7) \
|
||||
CMD_HH(fadeType, startFrame), CMD_HH(endFrame, unused0), \
|
||||
CMD_W(unused1), CMD_W(unused2), CMD_W(unused3), CMD_W(unused4), CMD_W(unused5), \
|
||||
CMD_W(unused6), CMD_W(unused7), 0x00000000, 0x00000000, 0x00000000
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s32 entries (e)
|
||||
* FORMAT
|
||||
* 0000008C eeeeeeee
|
||||
* size = 0x8
|
||||
*/
|
||||
#define CS_TIME_LIST(entries) CS_CMD_SETTIME, CMD_W(entries)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* s16 unk (u), s16 startFrame (s), s16 endFrame (e), s8 hour (h), s8 min (m)
|
||||
* FORMAT
|
||||
* Capital U is Unused
|
||||
* uuuussss eeeehhmm UUUUUUUU
|
||||
* size = 0xC
|
||||
*/
|
||||
#define CS_TIME(unk, startFrame, endFrame, hour, min, unused) \
|
||||
CMD_HH(unk, startFrame), \
|
||||
CMD_HBB(endFrame, hour, min), \
|
||||
CMD_W(unused)
|
||||
|
||||
/**
|
||||
* ARGS
|
||||
* CutsceneTerminatorDestination dest (d), s16 startFrame (s), s16 endFrame (e)
|
||||
* FORMAT
|
||||
* Capital U is Unused , endFrame duplicate
|
||||
* 000003E8 00000001 ddddssss eeeeUUUU
|
||||
* size = 0x10
|
||||
*/
|
||||
#define CS_TERMINATOR(dest, startFrame, endFrame) \
|
||||
CS_CMD_TERMINATOR, 0x00000001, CMD_HH(dest, startFrame), CMD_HH(endFrame, endFrame)
|
||||
|
||||
/**
|
||||
* Marks the end of a cutscene
|
||||
*/
|
||||
#define CS_END() 0xFFFFFFFF
|
||||
|
||||
#define CS_PAD() 0x00000000
|
||||
|
||||
#endif
|
|
@ -1594,7 +1594,7 @@ void Cutscene_ProcessCommands(GlobalContext* globalCtx, CutsceneContext* csCtx,
|
|||
cutscenePtr += 0xC;
|
||||
}
|
||||
break;
|
||||
case CS_CMD_SET_ACTOR_ACTION_0:
|
||||
case CS_CMD_SET_PLAYER_ACTION:
|
||||
MemCopy(&cmdEntries, cutscenePtr, 4);
|
||||
cutscenePtr += 4;
|
||||
for (j = 0; j < cmdEntries; j++) {
|
||||
|
@ -1628,12 +1628,12 @@ void Cutscene_ProcessCommands(GlobalContext* globalCtx, CutsceneContext* csCtx,
|
|||
for (j = 0; j < cmdEntries; j++) {
|
||||
cmd = (CsCmdBase*)cutscenePtr;
|
||||
if ((cmd->startFrame < csCtx->frames) && (csCtx->frames <= cmd->endFrame)) {
|
||||
csCtx->actorActions[0] = (void*)cutscenePtr;
|
||||
csCtx->npcActions[0] = (void*)cutscenePtr;
|
||||
}
|
||||
cutscenePtr += 0x30;
|
||||
}
|
||||
break;
|
||||
case 14:
|
||||
case CS_CMD_SET_ACTOR_ACTION_2:
|
||||
case 16:
|
||||
case 24:
|
||||
case 35:
|
||||
|
@ -1656,12 +1656,12 @@ void Cutscene_ProcessCommands(GlobalContext* globalCtx, CutsceneContext* csCtx,
|
|||
for (j = 0; j < cmdEntries; j++) {
|
||||
cmd = (CsCmdBase*)cutscenePtr;
|
||||
if ((cmd->startFrame < csCtx->frames) && (csCtx->frames <= cmd->endFrame)) {
|
||||
csCtx->actorActions[1] = (void*)cutscenePtr;
|
||||
csCtx->npcActions[1] = (void*)cutscenePtr;
|
||||
}
|
||||
cutscenePtr += 0x30;
|
||||
}
|
||||
break;
|
||||
case 25:
|
||||
case CS_CMD_SET_ACTOR_ACTION_3:
|
||||
case 36:
|
||||
case 41:
|
||||
case 50:
|
||||
|
@ -1680,12 +1680,12 @@ void Cutscene_ProcessCommands(GlobalContext* globalCtx, CutsceneContext* csCtx,
|
|||
for (j = 0; j < cmdEntries; j++) {
|
||||
cmd = (CsCmdBase*)cutscenePtr;
|
||||
if ((cmd->startFrame < csCtx->frames) && (csCtx->frames <= cmd->endFrame)) {
|
||||
csCtx->actorActions[2] = (void*)cutscenePtr;
|
||||
csCtx->npcActions[2] = (void*)cutscenePtr;
|
||||
}
|
||||
cutscenePtr += 0x30;
|
||||
}
|
||||
break;
|
||||
case 29:
|
||||
case CS_CMD_SET_ACTOR_ACTION_4:
|
||||
case 37:
|
||||
case 42:
|
||||
case 51:
|
||||
|
@ -1703,12 +1703,12 @@ void Cutscene_ProcessCommands(GlobalContext* globalCtx, CutsceneContext* csCtx,
|
|||
for (j = 0; j < cmdEntries; j++) {
|
||||
cmd = (CsCmdBase*)cutscenePtr;
|
||||
if ((cmd->startFrame < csCtx->frames) && (csCtx->frames <= cmd->endFrame)) {
|
||||
csCtx->actorActions[3] = (void*)cutscenePtr;
|
||||
csCtx->npcActions[3] = (void*)cutscenePtr;
|
||||
}
|
||||
cutscenePtr += 0x30;
|
||||
}
|
||||
break;
|
||||
case 30:
|
||||
case CS_CMD_SET_ACTOR_ACTION_5:
|
||||
case 38:
|
||||
case 43:
|
||||
case 47:
|
||||
|
@ -1722,12 +1722,12 @@ void Cutscene_ProcessCommands(GlobalContext* globalCtx, CutsceneContext* csCtx,
|
|||
for (j = 0; j < cmdEntries; j++) {
|
||||
cmd = (CsCmdBase*)cutscenePtr;
|
||||
if ((cmd->startFrame < csCtx->frames) && (csCtx->frames <= cmd->endFrame)) {
|
||||
csCtx->actorActions[4] = (void*)cutscenePtr;
|
||||
csCtx->npcActions[4] = (void*)cutscenePtr;
|
||||
}
|
||||
cutscenePtr += 0x30;
|
||||
}
|
||||
break;
|
||||
case 44:
|
||||
case CS_CMD_SET_ACTOR_ACTION_6:
|
||||
case 55:
|
||||
case 77:
|
||||
case 84:
|
||||
|
@ -1739,12 +1739,12 @@ void Cutscene_ProcessCommands(GlobalContext* globalCtx, CutsceneContext* csCtx,
|
|||
for (j = 0; j < cmdEntries; j++) {
|
||||
cmd = (CsCmdBase*)cutscenePtr;
|
||||
if ((cmd->startFrame < csCtx->frames) && (csCtx->frames <= cmd->endFrame)) {
|
||||
csCtx->actorActions[5] = (void*)cutscenePtr;
|
||||
csCtx->npcActions[5] = (void*)cutscenePtr;
|
||||
}
|
||||
cutscenePtr += 0x30;
|
||||
}
|
||||
break;
|
||||
case 31:
|
||||
case CS_CMD_SET_ACTOR_ACTION_7:
|
||||
case 52:
|
||||
case 57:
|
||||
case 58:
|
||||
|
@ -1757,12 +1757,12 @@ void Cutscene_ProcessCommands(GlobalContext* globalCtx, CutsceneContext* csCtx,
|
|||
for (j = 0; j < cmdEntries; j++) {
|
||||
cmd = (CsCmdBase*)cutscenePtr;
|
||||
if ((cmd->startFrame < csCtx->frames) && (csCtx->frames <= cmd->endFrame)) {
|
||||
csCtx->actorActions[6] = (void*)cutscenePtr;
|
||||
csCtx->npcActions[6] = (void*)cutscenePtr;
|
||||
}
|
||||
cutscenePtr += 0x30;
|
||||
}
|
||||
break;
|
||||
case 49:
|
||||
case CS_CMD_SET_ACTOR_ACTION_8:
|
||||
case 60:
|
||||
case 89:
|
||||
case 111:
|
||||
|
@ -1774,18 +1774,18 @@ void Cutscene_ProcessCommands(GlobalContext* globalCtx, CutsceneContext* csCtx,
|
|||
for (j = 0; j < cmdEntries; j++) {
|
||||
cmd = (CsCmdBase*)cutscenePtr;
|
||||
if ((cmd->startFrame < csCtx->frames) && (csCtx->frames <= cmd->endFrame)) {
|
||||
csCtx->actorActions[7] = (void*)cutscenePtr;
|
||||
csCtx->npcActions[7] = (void*)cutscenePtr;
|
||||
}
|
||||
cutscenePtr += 0x30;
|
||||
}
|
||||
break;
|
||||
case 62:
|
||||
case CS_CMD_SET_ACTOR_ACTION_9:
|
||||
MemCopy(&cmdEntries, cutscenePtr, 4);
|
||||
cutscenePtr += 4;
|
||||
for (j = 0; j < cmdEntries; j++) {
|
||||
cmd = (CsCmdBase*)cutscenePtr;
|
||||
if ((cmd->startFrame < csCtx->frames) && (csCtx->frames <= cmd->endFrame)) {
|
||||
csCtx->actorActions[8] = (void*)cutscenePtr;
|
||||
csCtx->npcActions[8] = (void*)cutscenePtr;
|
||||
}
|
||||
cutscenePtr += 0x30;
|
||||
}
|
||||
|
@ -1796,7 +1796,7 @@ void Cutscene_ProcessCommands(GlobalContext* globalCtx, CutsceneContext* csCtx,
|
|||
for (j = 0; j < cmdEntries; j++) {
|
||||
cmd = (CsCmdBase*)cutscenePtr;
|
||||
if ((cmd->startFrame < csCtx->frames) && (csCtx->frames <= cmd->endFrame)) {
|
||||
csCtx->actorActions[9] = (void*)cutscenePtr;
|
||||
csCtx->npcActions[9] = (void*)cutscenePtr;
|
||||
}
|
||||
cutscenePtr += 0x30;
|
||||
}
|
||||
|
@ -1804,13 +1804,13 @@ void Cutscene_ProcessCommands(GlobalContext* globalCtx, CutsceneContext* csCtx,
|
|||
case CS_CMD_CAMERA_POS:
|
||||
cutscenePtr += Cutscene_Command_CameraPositions(globalCtx, csCtx, (void*)cutscenePtr, 0);
|
||||
break;
|
||||
case CS_CMD_CAMERA_POS_LINK:
|
||||
case CS_CMD_CAMERA_POS_PLAYER:
|
||||
cutscenePtr += Cutscene_Command_CameraPositions(globalCtx, csCtx, (void*)cutscenePtr, 1);
|
||||
break;
|
||||
case CS_CMD_CAMERA_FOCUS:
|
||||
cutscenePtr += Cutscene_Command_CameraFocus(globalCtx, csCtx, (void*)cutscenePtr, 0);
|
||||
break;
|
||||
case CS_CMD_CAMERA_FOCUS_LINK:
|
||||
case CS_CMD_CAMERA_FOCUS_PLAYER:
|
||||
cutscenePtr += Cutscene_Command_CameraFocus(globalCtx, csCtx, (void*)cutscenePtr, 1);
|
||||
break;
|
||||
case CS_CMD_07:
|
||||
|
@ -1900,7 +1900,7 @@ void func_80068DC0(GlobalContext* globalCtx, CutsceneContext* csCtx) {
|
|||
csCtx->linkAction = NULL;
|
||||
|
||||
for (i = 0; i < 10; i++) {
|
||||
csCtx->actorActions[i] = NULL;
|
||||
csCtx->npcActions[i] = NULL;
|
||||
}
|
||||
|
||||
// Translates to: "RIGHT HERE, HUH"
|
||||
|
@ -1943,7 +1943,7 @@ void func_80068ECC(GlobalContext* globalCtx, CutsceneContext* csCtx) {
|
|||
csCtx->linkAction = NULL;
|
||||
|
||||
for (i = 0; i < 10; i++) {
|
||||
csCtx->actorActions[i] = NULL;
|
||||
csCtx->npcActions[i] = NULL;
|
||||
}
|
||||
|
||||
csCtx->state++;
|
||||
|
|
|
@ -86,8 +86,8 @@ void BgGjyoBridge_TriggerCutscene(BgGjyoBridge* this, GlobalContext* globalCtx)
|
|||
}
|
||||
|
||||
void BgGjyoBridge_SpawnBridge(BgGjyoBridge* this, GlobalContext* globalCtx) {
|
||||
if ((globalCtx->csCtx.state != 0) && (globalCtx->csCtx.actorActions[2] != NULL) &&
|
||||
(globalCtx->csCtx.actorActions[2]->action == 2)) {
|
||||
if ((globalCtx->csCtx.state != 0) && (globalCtx->csCtx.npcActions[2] != NULL) &&
|
||||
(globalCtx->csCtx.npcActions[2]->action == 2)) {
|
||||
this->dyna.actor.draw = BgGjyoBridge_Draw;
|
||||
func_8003EC50(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
|
||||
gSaveContext.eventChkInf[4] |= 0x2000;
|
||||
|
|
|
@ -21,135 +21,7 @@ void func_808BB128(BgTokiSwd* this, GlobalContext* globalCtx);
|
|||
|
||||
extern u32 D_06001BD0;
|
||||
|
||||
static u32 D_808BB2F0[] = {
|
||||
0x00000009, 0x000001A9, 0x0000000A, 0x00000001, 0x000C0000, 0x01000000, 0x00000000, 0x00000000, 0x00000036,
|
||||
0x00000034, 0x00000000, 0x00000036, 0x00000034, 0x00000000, 0x00000000, 0x00000000, 0x00000004, 0x00000001,
|
||||
0x0002006E, 0x006F0000, 0x00000000, 0x00000000, 0xFFFFFFE3, 0xFFFFFFC5, 0x00000000, 0xFFFFFFE3, 0xFFFFFFC5,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000003, 0x00000001, 0x000A006E, 0x006F0000, 0x00000000, 0x00000000,
|
||||
0x0000002E, 0xFFFFFFE6, 0x00000000, 0x0000002E, 0xFFFFFFE6, 0x00000000, 0x00000000, 0x00000000, 0x000003E8,
|
||||
0x00000001, 0x000800E6, 0x00E700E7, 0x0000002D, 0x00000001, 0x000100D2, 0x00E600E6, 0x00000001, 0x00010000,
|
||||
0x00F10000, 0x00000000, 0x42700000, 0xFFD60048, 0xFFD9018C, 0x00000000, 0x42700000, 0xFFD60048, 0xFFD9019D,
|
||||
0x00000000, 0x42700000, 0xFFD60048, 0xFFD901AE, 0x00000000, 0x42700000, 0xFFD60048, 0xFFD902A8, 0x00000000,
|
||||
0x42700000, 0xFFD60048, 0xFFD90000, 0x00000000, 0x42700000, 0xFFD60048, 0xFFD9007A, 0x00000000, 0x42700000,
|
||||
0xFFD60048, 0xFFD90064, 0x00000000, 0x42700000, 0xFFD60048, 0xFFD90074, 0xFF000000, 0x42700000, 0xFFD60048,
|
||||
0xFFD9005F, 0x00000001, 0x00010050, 0x01960000, 0x00000000, 0x42700000, 0xFFFF005F, 0xFFED2F73, 0x00000000,
|
||||
0x42700000, 0xFFFF005F, 0xFFED6B2F, 0x00000000, 0x42700000, 0xFFFF005F, 0xFFED6169, 0x00000000, 0x42700000,
|
||||
0xFFFF005F, 0xFFED0000, 0x00000000, 0x42700000, 0xFFFF005F, 0xFFED0005, 0x00000000, 0x42700000, 0xFFFF0081,
|
||||
0xFFDE7961, 0x00000000, 0x42700000, 0xFFFF00AD, 0xFFED742F, 0x00000000, 0x42700000, 0xFFEF00D9, 0xFFEC2E64,
|
||||
0x00000000, 0x42700000, 0xFFE80148, 0xFFF40000, 0x00000000, 0x42700000, 0xFFE501FD, 0xFFFE2F73, 0x00000000,
|
||||
0x42700000, 0xFFD7032D, 0x000A6B2F, 0x00000000, 0x42700000, 0xFFC40505, 0x00266D61, 0x00000000, 0x42700000,
|
||||
0xFFC60776, 0x005B0000, 0x00000000, 0x42700000, 0xFFCB09DE, 0x00850005, 0x00000000, 0x42700000, 0xFFDF0D75,
|
||||
0x00C17961, 0x00000000, 0x42700000, 0x00000F78, 0x00E1742F, 0x00000000, 0x42700000, 0x000710DD, 0x00F56565,
|
||||
0x00000000, 0x42700000, 0x000710DC, 0x00F50000, 0x00000000, 0x42700000, 0x000710DC, 0x00F52F73, 0xFF000000,
|
||||
0x42700000, 0x000710DC, 0x00F56B2F, 0x00000002, 0x00010000, 0x010E0000, 0x0000001E, 0x42700000, 0xFFEC0055,
|
||||
0xFFF72F73, 0x0000001E, 0x42700000, 0xFFEC0055, 0xFFF76B2F, 0x0000001E, 0x42700000, 0xFFEC0055, 0xFFF76169,
|
||||
0x0000001E, 0x42700000, 0xFFEC0055, 0xFFF70000, 0x0000001E, 0x42700000, 0xFFEC0055, 0xFFF70005, 0x0000001E,
|
||||
0x42700000, 0xFFEC0055, 0xFFF77961, 0x0000001E, 0x42700000, 0xFFEC0055, 0xFFF7742F, 0x0000001E, 0x42700000,
|
||||
0xFFEC0055, 0xFFF72E64, 0xFF00001E, 0x42700000, 0xFFEC0055, 0xFFF70000, 0x00000002, 0x00010050, 0x01A90000,
|
||||
0x00000005, 0x42700000, 0xFFFF0070, 0x00072F73, 0x00000005, 0x42700000, 0xFFFF0070, 0x00076B2F, 0x00000005,
|
||||
0x42700000, 0xFFFF0070, 0x00076169, 0x00000005, 0x42700000, 0xFFFF0070, 0x00070000, 0x0000000F, 0x42700000,
|
||||
0xFFFF0070, 0x00070005, 0x00000014, 0x42700000, 0xFFFF0075, 0x00077961, 0x00000019, 0x42700000, 0xFFFF0075,
|
||||
0x0007742F, 0x00000019, 0x42700000, 0xFFFF0075, 0x00072E64, 0x00000014, 0x42700000, 0xFFFF0075, 0x00070000,
|
||||
0x00000014, 0x42700000, 0xFFFF0075, 0x00072F73, 0x00000014, 0x42700000, 0xFFFF0075, 0x00076B2F, 0x00000014,
|
||||
0x42700000, 0xFFFF0075, 0x00076D61, 0x00000014, 0x42700000, 0xFFFF0075, 0x00070000, 0x00000014, 0x42700000,
|
||||
0xFFFF0075, 0x00070005, 0x00000014, 0x42700000, 0xFFFF0075, 0x00077961, 0x00000014, 0x42700000, 0xFFFF0075,
|
||||
0x0007742F, 0x00000014, 0x42700000, 0xFFFF0075, 0x00076565, 0x00000014, 0x42700000, 0xFFFF0075, 0x00070000,
|
||||
0x00000014, 0x42700000, 0xFFFF0075, 0x00072F73, 0xFF000014, 0x42700000, 0xFFFF0075, 0x00076B2F, 0xFFFFFFFF,
|
||||
0x00000000, 0x00000000, 0x00000000,
|
||||
};
|
||||
|
||||
static u32 D_808BB7A0[] = {
|
||||
0x00000009, 0x00000170, 0x00000001, 0x00010000, 0x007E0000, 0x00000000, 0x42700000, 0xFFFF0065, 0xFF92616D,
|
||||
0x00000000, 0x42200000, 0xFFFF0065, 0xFF926964, 0x00000000, 0x42200000, 0xFFFF0065, 0xFF9200FB, 0x00000000,
|
||||
0x42200000, 0xFFFF0065, 0xFF920111, 0x00000000, 0x42200000, 0xFFFF0065, 0xFF93012D, 0x00000000, 0x42200000,
|
||||
0xFFFF0047, 0xFF920033, 0x00000000, 0x42200000, 0xFFFF0048, 0xFF9200FB, 0x00000000, 0x42200000, 0xFFFF0048,
|
||||
0xFF9200FB, 0x00000000, 0x42200000, 0xFFFF0048, 0xFF922F68, 0xFF000000, 0x42200000, 0xFFFF0048, 0xFF92612F,
|
||||
0x00000001, 0x0001003A, 0x01530000, 0x00000000, 0x42700001, 0xFFF7006A, 0xFFFDA1BC, 0x00000000, 0x42700000,
|
||||
0xFFF7006A, 0xFFFDA5F3, 0x00000000, 0x42700000, 0xFFF7006A, 0xFFFDA5EB, 0x00000000, 0x42700000, 0xFFF7006A,
|
||||
0xFFFDA5A2, 0x00000000, 0x42700000, 0xFFBD006C, 0xFFCBBAEE, 0x00000000, 0x42700000, 0xFFBD006C, 0xFFCBC9B8,
|
||||
0x00000000, 0x42700000, 0xFFBD006C, 0xFFCB0020, 0x00000000, 0x42700000, 0xFFBD006C, 0xFFCBA5A4, 0x00000000,
|
||||
0x42700000, 0xFFBD006C, 0xFFCB0020, 0x00000000, 0x42700000, 0xFFAD0066, 0xFFD6A5E1, 0x00000000, 0x42700000,
|
||||
0xFF8C0051, 0xFFEDA5D0, 0x00000000, 0x42700000, 0xFF8A0051, 0x00360020, 0x00000000, 0x42700000, 0xFF96004E,
|
||||
0x0074A5A6, 0x00000000, 0x42700000, 0xFFE5004B, 0x00E2A5E5, 0x00000000, 0x42700000, 0x00790052, 0x0138C0AE,
|
||||
0x00000000, 0x42700000, 0x0128004C, 0x0176A5E5, 0x00000000, 0x42700000, 0x02350050, 0x01010020, 0x00000000,
|
||||
0x42700000, 0x02660050, 0xFFFFA5EB, 0x00000000, 0x42700000, 0x02520050, 0xFF6FA5E1, 0x00000000, 0x42700000,
|
||||
0x01DB0050, 0xFE840020, 0x00000000, 0x42700000, 0x01430050, 0xFDFFA5E1, 0x00000000, 0x42700000, 0x00C00050,
|
||||
0xFDC2A5D0, 0x00000000, 0x42700000, 0xFFD30050, 0xFDA40020, 0x00000000, 0x42700000, 0xFF720050, 0xFDB3A5A6,
|
||||
0x00000000, 0x42700000, 0xFF1C0050, 0xFDCEA5E5, 0x00000000, 0x42700000, 0xFE88005D, 0xFE23C0AE, 0x00000000,
|
||||
0x42700000, 0xFDB8005F, 0xFF49A5E5, 0x00000000, 0x42700000, 0xFD9B005F, 0xFFDE0020, 0xFF000000, 0x42700000,
|
||||
0xFDAD005F, 0x00A1A5EB, 0x00000002, 0x00010000, 0x009B0000, 0x00000005, 0x4221999A, 0xFFFF006F, 0x0005A1BC,
|
||||
0x00000005, 0x42200000, 0xFFFF006F, 0x0005A5F3, 0x00000005, 0x42200000, 0xFFFF006F, 0x0005A5EB, 0x0000000F,
|
||||
0x42200000, 0xFFFF006F, 0x0005A5A2, 0x0000000F, 0x42200000, 0xFFFF006F, 0x0005BAEE, 0x0000000F, 0x42200000,
|
||||
0xFFFF0068, 0x0008C9B8, 0x00000005, 0x42200000, 0xFFFF0068, 0x00080020, 0x0000001E, 0x42200000, 0xFFFF0068,
|
||||
0x0008A5A4, 0x0000001E, 0x42200000, 0xFFFF0068, 0x00080020, 0xFF00001E, 0x42200000, 0xFFFF0068, 0x0008A5E1,
|
||||
0x00000002, 0x0001003A, 0x01700000, 0x00000005, 0x42700001, 0x00000078, 0x000CA1BC, 0x00000005, 0x42700000,
|
||||
0x00000078, 0x000CA5F3, 0x00000005, 0x42700000, 0x00000078, 0x000CA5EB, 0x0000000A, 0x42700000, 0x00000078,
|
||||
0x000CA5A2, 0x00000005, 0x42700000, 0xFFFF005F, 0x000BBAEE, 0x00000005, 0x42700000, 0xFFFF005F, 0x000BC9B8,
|
||||
0x00000005, 0x42700000, 0xFFFF005F, 0x000B0020, 0x00000005, 0x42700000, 0xFFFF005F, 0x000BA5A4, 0x00000005,
|
||||
0x42700000, 0xFFFF005F, 0x000B0020, 0x0000000A, 0x42700000, 0xFFFD005F, 0x0008A5E1, 0x0000000A, 0x42700000,
|
||||
0xFFFD005F, 0x0008A5D0, 0x0000000A, 0x42700000, 0xFFFD005F, 0x00080020, 0x0000000A, 0x42700000, 0xFFFD005F,
|
||||
0x0008A5A6, 0x0000000A, 0x42700000, 0xFFFD005F, 0x0008A5E5, 0x0000000A, 0x42700000, 0xFFFD005F, 0x0008C0AE,
|
||||
0x0000000A, 0x42700000, 0xFFFD005F, 0x0008A5E5, 0x0000000A, 0x42700000, 0xFFFD005F, 0x00080020, 0x0000000A,
|
||||
0x42700000, 0xFFFD005F, 0x0008A5EB, 0x0000000A, 0x42700000, 0xFFFD005F, 0x0008A5E1, 0x0000000A, 0x42700000,
|
||||
0xFFFD005F, 0x00080020, 0x0000000F, 0x42700000, 0xFFFD005F, 0x0008A5E1, 0x0000000F, 0x42700000, 0xFFFD005F,
|
||||
0x0008A5D0, 0x0000000F, 0x42700000, 0xFFFD005F, 0x00080020, 0x0000000F, 0x42700000, 0xFFFD005F, 0x0008A5A6,
|
||||
0x0000000F, 0x42700000, 0xFFFD005F, 0x0008A5E5, 0x0000000F, 0x42700000, 0xFFFD005F, 0x0008C0AE, 0x0000000F,
|
||||
0x42700000, 0xFFFD005F, 0x0008A5E5, 0x0000000F, 0x42700000, 0xFFFD005F, 0x00080020, 0xFF00001E, 0x42700000,
|
||||
0xFFFD005F, 0x0008A5EB, 0x0000000A, 0x00000001, 0x000C0000, 0x00B40000, 0x00000000, 0x00000000, 0x0000001C,
|
||||
0xFFFFFFF6, 0x00000000, 0xFFFFFFF2, 0x00000009, 0x00000000, 0xBE6EEEEF, 0x00000000, 0x00000004, 0x00000001,
|
||||
0x0002005A, 0x005B0000, 0x00000000, 0x00000000, 0xFFFFFFF2, 0x00000024, 0x00000000, 0xFFFFFFF2, 0x00000024,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000003, 0x00000001, 0x000A005A, 0x005B0000, 0x00000000, 0x00000000,
|
||||
0xFFFFFFF8, 0xFFFFFFDD, 0x00000000, 0xFFFFFFF8, 0xFFFFFFDD, 0x00000000, 0x00000000, 0x00000000, 0x0000002D,
|
||||
0x00000001, 0x000100BE, 0x00D200D2, 0x000003E8, 0x00000001, 0x000800D2, 0x00D300D3, 0xFFFFFFFF, 0x00000000,
|
||||
0x00000000, 0x00000000,
|
||||
};
|
||||
|
||||
static u32 D_808BBD90[] = {
|
||||
0x0000000B, 0x00000BB8, 0x00000021, 0x00000001, 0x00010000, 0x0BB80000, 0x00000000, 0x00000000, 0xFFFFFFF8,
|
||||
0xFFFFFFFF, 0x00000000, 0xFFFFFFF8, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x0000000A, 0x00000003,
|
||||
0x00050000, 0x00010000, 0x80000000, 0x00000000, 0x00000000, 0x00000334, 0x00000000, 0x00000000, 0x00000334,
|
||||
0x00000000, 0x00000000, 0x00000001, 0x00020001, 0x00100000, 0x80000000, 0x00000000, 0x00000000, 0x00000334,
|
||||
0x00000000, 0x00000000, 0x000002D0, 0x00000000, 0x00000000, 0x00000001, 0x00050010, 0x00B00000, 0x80000000,
|
||||
0x00000000, 0x00000000, 0x000002D0, 0x00000000, 0x00000000, 0x000002D0, 0x00000000, 0x00000000, 0x00000001,
|
||||
0x0000003E, 0x00000003, 0x00040028, 0x00467D74, 0x00000000, 0xFFFFFFFF, 0x00000031, 0x000002CF, 0x00000001,
|
||||
0x0000002F, 0x000002AF, 0x3D888889, 0xBD888889, 0xBD888889, 0x00040046, 0x00DC8010, 0x00000000, 0x00000001,
|
||||
0x0000002F, 0x000002AF, 0x00000000, 0x00000086, 0x00000015, 0xBBDA740E, 0x3F147AE1, 0x3BDA740E, 0x000200DC,
|
||||
0x01108000, 0x00000000, 0x00000000, 0x00000086, 0x00000015, 0x00000000, 0x00000065, 0x00000002, 0x00000000,
|
||||
0xBF227627, 0x00000000, 0x00000003, 0x00000001, 0x000C0154, 0x01550000, 0x00000000, 0xFFFFFFFF, 0x00000000,
|
||||
0xFFFFFFFD, 0xFFFFFFFF, 0x00000000, 0xFFFFFFFD, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000006,
|
||||
0xFFFF0000, 0x0032FFFF, 0xFFFFFFFF, 0x70E60032, 0x003C0000, 0x00000000, 0xFFFF003C, 0x00FAFFFF, 0xFFFFFFFF,
|
||||
0x70E700FA, 0x01040000, 0x00000000, 0xFFFF0104, 0x0122FFFF, 0xFFFFFFFF, 0x70E80122, 0x01400000, 0x00000000,
|
||||
0x00000001, 0x00010000, 0x00FB0000, 0x00000000, 0x42700000, 0xFFC5000C, 0x02B20222, 0x00000000, 0x42700000,
|
||||
0xFFC5000C, 0x02B200FA, 0x00000000, 0x42700000, 0xFFC5000C, 0x02B20000, 0x00000000, 0x42700000, 0xFFC5000C,
|
||||
0x02B20000, 0x00000000, 0x42700000, 0xFFC5000C, 0x02B20000, 0x00000000, 0x42700000, 0xFFE10018, 0x02BD0000,
|
||||
0x00000000, 0x42700000, 0xFFE10018, 0x02BD0000, 0x00000000, 0x42700000, 0xFFE10018, 0x02BD0000, 0x00000000,
|
||||
0x42700000, 0xFFE10018, 0x02BD2D70, 0x00000000, 0x42700000, 0xFFE10018, 0x02BD0085, 0x00000000, 0x42700000,
|
||||
0xFFE10018, 0x02BD01E6, 0xFF000000, 0x42700000, 0xFFE10018, 0x02BD0000, 0x00000001, 0x0001005A, 0x014B0000,
|
||||
0x00000000, 0x42700000, 0xFF66005C, 0x00EC0222, 0x00000000, 0x42700000, 0xFF66005C, 0x00EC00FA, 0x00000000,
|
||||
0x42700000, 0xFF66005C, 0x00EC0000, 0x00000000, 0x42700000, 0xFF66005C, 0x00EC0000, 0x00000000, 0x42700000,
|
||||
0xFF66005C, 0x00EC0000, 0x00000000, 0x42700000, 0xFF66005C, 0x00EC0000, 0x00000000, 0x42700000, 0xFF66005C,
|
||||
0x00EC0000, 0x00000000, 0x42700000, 0xFF66005C, 0x00EC0000, 0xFF000000, 0x42700000, 0xFF66005C, 0x00EC2D70,
|
||||
0x00000001, 0x000100DC, 0x01EB0000, 0x00000000, 0x42700001, 0xFFFE007A, 0x00270222, 0x00000000, 0x42700001,
|
||||
0xFFFE007A, 0x002700FA, 0x00000000, 0x42700001, 0xFFFE0066, 0x00270000, 0x00000000, 0x42700001, 0xFFFE005A,
|
||||
0x00270000, 0x00000000, 0x42700001, 0xFFFE0051, 0x003E0000, 0x00000000, 0x42700001, 0xFFFE0051, 0x003E0000,
|
||||
0x00000000, 0x42700001, 0xFFFE0051, 0x003E0000, 0x00000000, 0x42700001, 0xFFFE0051, 0x003E0000, 0x00000000,
|
||||
0x42700001, 0xFFFE0051, 0x003E2D70, 0xFF000000, 0x42700001, 0xFFFE0051, 0x003E0085, 0x00000002, 0x00010000,
|
||||
0x01180000, 0x0000001E, 0x42700000, 0x002B0034, 0x02CC0222, 0x0000001E, 0x42700000, 0x002B0034, 0x02CC00FA,
|
||||
0x0000000A, 0x42700000, 0x002B0034, 0x02CC0000, 0x0000000A, 0x42700000, 0x002B0034, 0x02CC0000, 0x0000000A,
|
||||
0x42700000, 0x002B0034, 0x02CC0000, 0x0000000A, 0x42700000, 0x003F0056, 0x02D20000, 0x0000001E, 0x42700000,
|
||||
0x003F0056, 0x02D20000, 0x0000001E, 0x42700000, 0x003F0056, 0x02D20000, 0x0000001E, 0x42700000, 0x003F0056,
|
||||
0x02D22D70, 0x0000001E, 0x42700000, 0x003F0055, 0x02D10085, 0x0000001E, 0x42700000, 0x003F0055, 0x02D101E6,
|
||||
0xFF00001E, 0x42700000, 0x003E0055, 0x02D10000, 0x00000002, 0x0001005A, 0x01680000, 0x0000001E, 0x42700000,
|
||||
0xFF970053, 0x016E0222, 0x0000001E, 0x42700000, 0xFF980053, 0x016C00FA, 0x0000001E, 0x42700000, 0xFFC10053,
|
||||
0x01530000, 0x0000001E, 0x42700000, 0xFFF00063, 0x00FF0000, 0x0000001E, 0x42700000, 0xFFE2006F, 0x00B10000,
|
||||
0x0000001E, 0x42700000, 0xFFB00070, 0x00790000, 0x0000001E, 0x42700000, 0xFFB00070, 0x00790000, 0x0000001E,
|
||||
0x42700000, 0xFFB00070, 0x00790000, 0xFF00001E, 0x42700000, 0xFFB00070, 0x00792D70, 0x00000002, 0x000100DC,
|
||||
0x02080000, 0x0000001E, 0x42700001, 0x00000089, 0xFFC90222, 0x0000001E, 0x42700001, 0x00000089, 0xFFC900FA,
|
||||
0x0000001E, 0x42700001, 0x00000075, 0xFFC90000, 0x0000001E, 0x42700001, 0x00000069, 0xFFC90000, 0x0000001E,
|
||||
0x42700001, 0x00000062, 0xFFE10000, 0x0000001E, 0x42700001, 0x00000062, 0xFFE10000, 0x0000001E, 0x42700001,
|
||||
0x00000062, 0xFFE10000, 0x0000001E, 0x42700001, 0x00000062, 0xFFE10000, 0x0000001E, 0x42700001, 0x00000062,
|
||||
0xFFE12D70, 0xFF00001E, 0x42700001, 0x00000062, 0xFFE10085, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000,
|
||||
};
|
||||
#include "z_bg_toki_swd_cutscene_data.c" EARLY
|
||||
|
||||
const ActorInit Bg_Toki_Swd_InitVars = {
|
||||
ACTOR_BG_TOKI_SWD,
|
||||
|
|
|
@ -0,0 +1,276 @@
|
|||
#include "z_bg_toki_swd.h"
|
||||
|
||||
#include <z64cutscene_commands.h>
|
||||
|
||||
// clang-format off
|
||||
static CutsceneData D_808BB2F0[] = {
|
||||
CS_BEGIN_CUTSCENE(9, 425),
|
||||
CS_PLAYER_ACTION_LIST(1),
|
||||
CS_PLAYER_ACTION(0x000C, 0, 256, 0x0000, 0x0000, 0x0000, 0, 54, 52, 0, 54, 52, 0.0f, 0.0f, 0.0f),
|
||||
CS_LIGHTING_LIST(1),
|
||||
CS_LIGHTING(0x0002, 110, 111, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFE3, 0xFFFFFFC5, 0x00000000, 0xFFFFFFE3, 0xFFFFFFC5),
|
||||
CS_MISC_LIST(1),
|
||||
CS_MISC(0x000A, 110, 111, 0x0000, 0x00000000, 0x00000000, 0x0000002E, 0xFFFFFFE6, 0x00000000, 0x0000002E, 0xFFFFFFE6, 0x00000000, 0x00000000, 0x00000000),
|
||||
CS_TERMINATOR(TEMPLE_OF_TIME_AFTER_USE_MS, 230, 231),
|
||||
CS_SCENE_TRANS_FX(0x0001, 210, 230),
|
||||
CS_CAM_POS_LIST(0, 241),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -42, 72, -39, 0x018C),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -42, 72, -39, 0x019D),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -42, 72, -39, 0x01AE),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -42, 72, -39, 0x02A8),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -42, 72, -39, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -42, 72, -39, 0x007A),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -42, 72, -39, 0x0064),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -42, 72, -39, 0x0074),
|
||||
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 60.0f, -42, 72, -39, 0x005F),
|
||||
CS_CAM_POS_LIST(80, 406),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -1, 95, -19, 0x2F73),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -1, 95, -19, 0x6B2F),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -1, 95, -19, 0x6169),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -1, 95, -19, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -1, 95, -19, 0x0005),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -1, 129, -34, 0x7961),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -1, 173, -19, 0x742F),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -17, 217, -20, 0x2E64),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -24, 328, -12, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -27, 509, -2, 0x2F73),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -41, 813, 10, 0x6B2F),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -60, 1285, 38, 0x6D61),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -58, 1910, 91, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -53, 2526, 133, 0x0005),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -33, 3445, 193, 0x7961),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 0, 3960, 225, 0x742F),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 7, 4317, 245, 0x6565),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 7, 4316, 245, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 7, 4316, 245, 0x2F73),
|
||||
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 60.0f, 7, 4316, 245, 0x6B2F),
|
||||
CS_CAM_FOCUS_POINT_LIST(0, 270),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, -20, 85, -9, 0x2F73),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, -20, 85, -9, 0x6B2F),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, -20, 85, -9, 0x6169),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, -20, 85, -9, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, -20, 85, -9, 0x0005),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, -20, 85, -9, 0x7961),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, -20, 85, -9, 0x742F),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, -20, 85, -9, 0x2E64),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 60.0f, -20, 85, -9, 0x0000),
|
||||
CS_CAM_FOCUS_POINT_LIST(80, 425),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 5, 60.0f, -1, 112, 7, 0x2F73),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 5, 60.0f, -1, 112, 7, 0x6B2F),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 5, 60.0f, -1, 112, 7, 0x6169),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 5, 60.0f, -1, 112, 7, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 15, 60.0f, -1, 112, 7, 0x0005),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 60.0f, -1, 117, 7, 0x7961),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 25, 60.0f, -1, 117, 7, 0x742F),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 25, 60.0f, -1, 117, 7, 0x2E64),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 60.0f, -1, 117, 7, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 60.0f, -1, 117, 7, 0x2F73),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 60.0f, -1, 117, 7, 0x6B2F),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 60.0f, -1, 117, 7, 0x6D61),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 60.0f, -1, 117, 7, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 60.0f, -1, 117, 7, 0x0005),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 60.0f, -1, 117, 7, 0x7961),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 60.0f, -1, 117, 7, 0x742F),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 60.0f, -1, 117, 7, 0x6565),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 60.0f, -1, 117, 7, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 60.0f, -1, 117, 7, 0x2F73),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 20, 60.0f, -1, 117, 7, 0x6B2F),
|
||||
CS_END(),
|
||||
CS_PAD(),
|
||||
CS_PAD(),
|
||||
CS_PAD(),
|
||||
};
|
||||
|
||||
static CutsceneData D_808BB7A0[] = {
|
||||
CS_BEGIN_CUTSCENE(9, 368),
|
||||
CS_CAM_POS_LIST(0, 126),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -1, 101, -110, 0x616D),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.0f, -1, 101, -110, 0x6964),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.0f, -1, 101, -110, 0x00FB),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.0f, -1, 101, -110, 0x0111),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.0f, -1, 101, -109, 0x012D),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.0f, -1, 71, -110, 0x0033),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.0f, -1, 72, -110, 0x00FB),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.0f, -1, 72, -110, 0x00FB),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.0f, -1, 72, -110, 0x2F68),
|
||||
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 40.0f, -1, 72, -110, 0x612F),
|
||||
CS_CAM_POS_LIST(58, 339),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.000004f, -9, 106, -3, 0xA1BC),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -9, 106, -3, 0xA5F3),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -9, 106, -3, 0xA5EB),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -9, 106, -3, 0xA5A2),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -67, 108, -53, 0xBAEE),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -67, 108, -53, 0xC9B8),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -67, 108, -53, 0x0020),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -67, 108, -53, 0xA5A4),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -67, 108, -53, 0x0020),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -83, 102, -42, 0xA5E1),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -116, 81, -19, 0xA5D0),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -118, 81, 54, 0x0020),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -106, 78, 116, 0xA5A6),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -27, 75, 226, 0xA5E5),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 121, 82, 312, 0xC0AE),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 296, 76, 374, 0xA5E5),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 565, 80, 257, 0x0020),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 614, 80, -1, 0xA5EB),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 594, 80, -145, 0xA5E1),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 475, 80, -380, 0x0020),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 323, 80, -513, 0xA5E1),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 192, 80, -574, 0xA5D0),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -45, 80, -604, 0x0020),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -142, 80, -589, 0xA5A6),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -228, 80, -562, 0xA5E5),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -376, 93, -477, 0xC0AE),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -584, 95, -183, 0xA5E5),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -613, 95, -34, 0x0020),
|
||||
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 60.0f, -595, 95, 161, 0xA5EB),
|
||||
CS_CAM_FOCUS_POINT_LIST(0, 155),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 5, 40.4f, -1, 111, 5, 0xA1BC),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 5, 40.0f, -1, 111, 5, 0xA5F3),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 5, 40.0f, -1, 111, 5, 0xA5EB),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 15, 40.0f, -1, 111, 5, 0xA5A2),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 15, 40.0f, -1, 111, 5, 0xBAEE),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 15, 40.0f, -1, 104, 8, 0xC9B8),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 5, 40.0f, -1, 104, 8, 0x0020),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 40.0f, -1, 104, 8, 0xA5A4),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 40.0f, -1, 104, 8, 0x0020),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 40.0f, -1, 104, 8, 0xA5E1),
|
||||
CS_CAM_FOCUS_POINT_LIST(58, 368),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 5, 60.000004f, 0, 120, 12, 0xA1BC),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 5, 60.0f, 0, 120, 12, 0xA5F3),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 5, 60.0f, 0, 120, 12, 0xA5EB),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 10, 60.0f, 0, 120, 12, 0xA5A2),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 5, 60.0f, -1, 95, 11, 0xBAEE),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 5, 60.0f, -1, 95, 11, 0xC9B8),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 5, 60.0f, -1, 95, 11, 0x0020),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 5, 60.0f, -1, 95, 11, 0xA5A4),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 5, 60.0f, -1, 95, 11, 0x0020),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 10, 60.0f, -3, 95, 8, 0xA5E1),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 10, 60.0f, -3, 95, 8, 0xA5D0),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 10, 60.0f, -3, 95, 8, 0x0020),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 10, 60.0f, -3, 95, 8, 0xA5A6),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 10, 60.0f, -3, 95, 8, 0xA5E5),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 10, 60.0f, -3, 95, 8, 0xC0AE),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 10, 60.0f, -3, 95, 8, 0xA5E5),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 10, 60.0f, -3, 95, 8, 0x0020),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 10, 60.0f, -3, 95, 8, 0xA5EB),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 10, 60.0f, -3, 95, 8, 0xA5E1),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 10, 60.0f, -3, 95, 8, 0x0020),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 15, 60.0f, -3, 95, 8, 0xA5E1),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 15, 60.0f, -3, 95, 8, 0xA5D0),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 15, 60.0f, -3, 95, 8, 0x0020),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 15, 60.0f, -3, 95, 8, 0xA5A6),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 15, 60.0f, -3, 95, 8, 0xA5E5),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 15, 60.0f, -3, 95, 8, 0xC0AE),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 15, 60.0f, -3, 95, 8, 0xA5E5),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 15, 60.0f, -3, 95, 8, 0x0020),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 60.0f, -3, 95, 8, 0xA5EB),
|
||||
CS_PLAYER_ACTION_LIST(1),
|
||||
CS_PLAYER_ACTION(0x000C, 0, 180, 0x0000, 0x0000, 0x0000, 0, 28, -10, 0, -14, 9, 0.0f, -0.23333333f, 0.0f),
|
||||
CS_LIGHTING_LIST(1),
|
||||
CS_LIGHTING(0x0002, 90, 91, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFF2, 0x00000024, 0x00000000, 0xFFFFFFF2, 0x00000024),
|
||||
CS_MISC_LIST(1),
|
||||
CS_MISC(0x000A, 90, 91, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFF8, 0xFFFFFFDD, 0x00000000, 0xFFFFFFF8, 0xFFFFFFDD, 0x00000000, 0x00000000, 0x00000000),
|
||||
CS_SCENE_TRANS_FX(0x0001, 190, 210),
|
||||
CS_TERMINATOR(TEMPLE_OF_TIME_AFTER_USE_MS, 210, 211),
|
||||
CS_END(),
|
||||
CS_PAD(),
|
||||
CS_PAD(),
|
||||
CS_PAD(),
|
||||
};
|
||||
|
||||
static CutsceneData D_808BBD90[] = {
|
||||
CS_BEGIN_CUTSCENE(11, 3000),
|
||||
CS_UNK_DATA_LIST(0x00000021, 1),
|
||||
CS_UNK_DATA(0x00010000, 0x0BB80000, 0x00000000, 0x00000000, 0xFFFFFFF8, 0xFFFFFFFF, 0x00000000, 0xFFFFFFF8, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000),
|
||||
CS_PLAYER_ACTION_LIST(3),
|
||||
CS_PLAYER_ACTION(0x0005, 0, 1, 0x0000, 0x8000, 0x0000, 0, 0, 820, 0, 0, 820, 0.0f, 0.0f, 1.4E-45f),
|
||||
CS_PLAYER_ACTION(0x0002, 1, 16, 0x0000, 0x8000, 0x0000, 0, 0, 820, 0, 0, 720, 0.0f, 0.0f, 1.4E-45f),
|
||||
CS_PLAYER_ACTION(0x0005, 16, 176, 0x0000, 0x8000, 0x0000, 0, 0, 720, 0, 0, 720, 0.0f, 0.0f, 1.4E-45f),
|
||||
CS_NPC_ACTION_LIST(62, 3),
|
||||
CS_NPC_ACTION(0x0004, 40, 70, 0x7D74, 0x0000, 0x0000, -1, 49, 719, 1, 47, 687, 0.06666667f, -0.06666667f, -0.06666667f),
|
||||
CS_NPC_ACTION(0x0004, 70, 220, 0x8010, 0x0000, 0x0000, 1, 47, 687, 0, 134, 21, -0.006666667f, 0.58f, 0.006666667f),
|
||||
CS_NPC_ACTION(0x0002, 220, 272, 0x8000, 0x0000, 0x0000, 0, 134, 21, 0, 101, 2, 0.0f, -0.63461536f, 0.0f),
|
||||
CS_MISC_LIST(1),
|
||||
CS_MISC(0x000C, 340, 341, 0x0000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0xFFFFFFFD, 0xFFFFFFFF, 0x00000000, 0xFFFFFFFD, 0x00000000, 0x00000000, 0x00000000),
|
||||
CS_TEXT_LIST(6),
|
||||
CS_TEXT_NONE(0, 50),
|
||||
CS_TEXT_DISPLAY_TEXTBOX(0x70E6, 50, 60, 0x0000, 0x0000, 0x0000),
|
||||
CS_TEXT_NONE(60, 250),
|
||||
CS_TEXT_DISPLAY_TEXTBOX(0x70E7, 250, 260, 0x0000, 0x0000, 0x0000),
|
||||
CS_TEXT_NONE(260, 290),
|
||||
CS_TEXT_DISPLAY_TEXTBOX(0x70E8, 290, 320, 0x0000, 0x0000, 0x0000),
|
||||
CS_CAM_POS_LIST(0, 251),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -59, 12, 690, 0x0222),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -59, 12, 690, 0x00FA),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -59, 12, 690, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -59, 12, 690, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -59, 12, 690, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -31, 24, 701, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -31, 24, 701, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -31, 24, 701, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -31, 24, 701, 0x2D70),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -31, 24, 701, 0x0085),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -31, 24, 701, 0x01E6),
|
||||
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 60.0f, -31, 24, 701, 0x0000),
|
||||
CS_CAM_POS_LIST(90, 331),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -154, 92, 236, 0x0222),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -154, 92, 236, 0x00FA),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -154, 92, 236, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -154, 92, 236, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -154, 92, 236, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -154, 92, 236, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -154, 92, 236, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -154, 92, 236, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 60.0f, -154, 92, 236, 0x2D70),
|
||||
CS_CAM_POS_LIST(220, 491),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.000004f, -2, 122, 39, 0x0222),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.000004f, -2, 122, 39, 0x00FA),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.000004f, -2, 102, 39, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.000004f, -2, 90, 39, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.000004f, -2, 81, 62, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.000004f, -2, 81, 62, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.000004f, -2, 81, 62, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.000004f, -2, 81, 62, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.000004f, -2, 81, 62, 0x2D70),
|
||||
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 60.000004f, -2, 81, 62, 0x0085),
|
||||
CS_CAM_FOCUS_POINT_LIST(0, 280),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, 43, 52, 716, 0x0222),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, 43, 52, 716, 0x00FA),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 10, 60.0f, 43, 52, 716, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 10, 60.0f, 43, 52, 716, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 10, 60.0f, 43, 52, 716, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 10, 60.0f, 63, 86, 722, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, 63, 86, 722, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, 63, 86, 722, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, 63, 86, 722, 0x2D70),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, 63, 85, 721, 0x0085),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, 63, 85, 721, 0x01E6),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 60.0f, 62, 85, 721, 0x0000),
|
||||
CS_CAM_FOCUS_POINT_LIST(90, 360),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, -105, 83, 366, 0x0222),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, -104, 83, 364, 0x00FA),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, -63, 83, 339, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, -16, 99, 255, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, -30, 111, 177, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, -80, 112, 121, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, -80, 112, 121, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.0f, -80, 112, 121, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 60.0f, -80, 112, 121, 0x2D70),
|
||||
CS_CAM_FOCUS_POINT_LIST(220, 520),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.000004f, 0, 137, -55, 0x0222),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.000004f, 0, 137, -55, 0x00FA),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.000004f, 0, 117, -55, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.000004f, 0, 105, -55, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.000004f, 0, 98, -31, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.000004f, 0, 98, -31, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.000004f, 0, 98, -31, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.000004f, 0, 98, -31, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.000004f, 0, 98, -31, 0x2D70),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 60.000004f, 0, 98, -31, 0x0085),
|
||||
CS_END(),
|
||||
CS_PAD(),
|
||||
CS_PAD(),
|
||||
CS_PAD(),
|
||||
};
|
||||
// clang-format on
|
|
@ -133,26 +133,26 @@ void func_8097CB0C(DemoGo* this, GlobalContext* globalCtx) {
|
|||
Actor* thisx = &this->actor;
|
||||
PosRot* posRot = &thisx->posRot;
|
||||
CutsceneContext* csCtx = &globalCtx->csCtx;
|
||||
CsCmdActorAction* actorAction;
|
||||
CsCmdActorAction* npcAction;
|
||||
f32 temp_ret;
|
||||
s32 pad;
|
||||
Vec3f startPos;
|
||||
Vec3f endPos;
|
||||
|
||||
if (globalCtx->csCtx.state != 0) {
|
||||
actorAction = csCtx->actorActions[func_8097C870(this)];
|
||||
if (actorAction != NULL) {
|
||||
temp_ret = func_8006F93C(actorAction->endFrame, actorAction->startFrame, csCtx->frames);
|
||||
startPos.x = actorAction->startPos.x;
|
||||
startPos.y = actorAction->startPos.y;
|
||||
startPos.z = actorAction->startPos.z;
|
||||
endPos.x = actorAction->endPos.x;
|
||||
endPos.y = actorAction->endPos.y;
|
||||
endPos.z = actorAction->endPos.z;
|
||||
npcAction = csCtx->npcActions[func_8097C870(this)];
|
||||
if (npcAction != NULL) {
|
||||
temp_ret = func_8006F93C(npcAction->endFrame, npcAction->startFrame, csCtx->frames);
|
||||
startPos.x = npcAction->startPos.x;
|
||||
startPos.y = npcAction->startPos.y;
|
||||
startPos.z = npcAction->startPos.z;
|
||||
endPos.x = npcAction->endPos.x;
|
||||
endPos.y = npcAction->endPos.y;
|
||||
endPos.z = npcAction->endPos.z;
|
||||
posRot->pos.x = (((endPos.x - startPos.x) * temp_ret) + startPos.x);
|
||||
posRot->pos.y = (((endPos.y - startPos.y) * temp_ret) + startPos.y);
|
||||
posRot->pos.z = (((endPos.z - startPos.z) * temp_ret) + startPos.z);
|
||||
posRot->rot.y = thisx->shape.rot.y = actorAction->rot.y;
|
||||
posRot->rot.y = thisx->shape.rot.y = npcAction->rot.y;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -172,19 +172,19 @@ void func_8097CCC0(DemoGo* this) {
|
|||
}
|
||||
|
||||
void func_8097CCE0(DemoGo* this, GlobalContext* globalCtx) {
|
||||
CsCmdActorAction* actorAction;
|
||||
CsCmdActorAction* npcAction;
|
||||
Actor* thisx = &this->actor;
|
||||
s32 rotYDelta;
|
||||
s32 newRotY;
|
||||
s32 thisRotY;
|
||||
|
||||
if (globalCtx->csCtx.state != 0) {
|
||||
actorAction = globalCtx->csCtx.actorActions[func_8097C870(this)];
|
||||
if (actorAction != NULL) {
|
||||
npcAction = globalCtx->csCtx.npcActions[func_8097C870(this)];
|
||||
if (npcAction != NULL) {
|
||||
thisRotY = thisx->posRot.rot.y;
|
||||
rotYDelta = actorAction->rot.y - thisRotY;
|
||||
rotYDelta = npcAction->rot.y - thisRotY;
|
||||
if ((rotYDelta > -(kREG(16) + 0x96)) && (rotYDelta < kREG(16) + 0x96)) {
|
||||
newRotY = actorAction->rot.y;
|
||||
newRotY = npcAction->rot.y;
|
||||
} else if (rotYDelta > 0) {
|
||||
newRotY = (thisRotY + kREG(16)) + 0x96;
|
||||
} else {
|
||||
|
@ -202,11 +202,11 @@ UNK_TYPE DemoGo_FrameUpdateMatrix(DemoGo* this) {
|
|||
|
||||
#ifdef NON_MATCHING
|
||||
// return value isn't produced in the same way
|
||||
s32 func_8097CDB0(DemoGo* this, GlobalContext* globalCtx, u16 csCmdActorAction) {
|
||||
s32 func_8097CDB0(DemoGo* this, GlobalContext* globalCtx, u16 csCmdNPCAction) {
|
||||
CutsceneContext* csCtx = &globalCtx->csCtx;
|
||||
CsCmdActorAction* actorAction = csCtx->actorActions[func_8097C870(this)];
|
||||
CsCmdActorAction* npcAction = csCtx->npcActions[func_8097C870(this)];
|
||||
if (csCtx->state != 0) {
|
||||
if (actorAction != NULL && actorAction->action == csCmdActorAction) {
|
||||
if (npcAction != NULL && npcAction->action == csCmdNPCAction) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
@ -231,11 +231,11 @@ void func_8097CE20(DemoGo* this, GlobalContext* globalCtx) {
|
|||
|
||||
void func_8097CE78(DemoGo* this, GlobalContext* globalCtx) {
|
||||
CutsceneContext* csCtx = &globalCtx->csCtx;
|
||||
CsCmdActorAction* actorAction;
|
||||
CsCmdActorAction* npcAction;
|
||||
|
||||
if (globalCtx->csCtx.state != 0) {
|
||||
actorAction = csCtx->actorActions[func_8097C870(this)];
|
||||
if (actorAction != NULL && csCtx->frames >= actorAction->endFrame) {
|
||||
npcAction = csCtx->npcActions[func_8097C870(this)];
|
||||
if (npcAction != NULL && csCtx->frames >= npcAction->endFrame) {
|
||||
func_8097CA78(this, globalCtx);
|
||||
this->action = 3;
|
||||
}
|
||||
|
|
|
@ -211,7 +211,7 @@ void func_809B0994(EnAni* this, GlobalContext* globalCtx) {
|
|||
GenericAnimationHeader* objSegFrameCount = &D_060070F0.genericHeader;
|
||||
AnimationHeader* objSegChangeAnime = &D_060070F0;
|
||||
|
||||
if (globalCtx->csCtx.actorActions[0]->action == 4) {
|
||||
if (globalCtx->csCtx.npcActions[0]->action == 4) {
|
||||
SkelAnime_ChangeAnim(&this->skelAnime, objSegChangeAnime, 1.0f, 0.0f,
|
||||
(f32)SkelAnime_GetFrameCount(objSegFrameCount), 2, -4.0f);
|
||||
this->unk_2AA += 1;
|
||||
|
@ -229,7 +229,7 @@ void func_809B0A6C(EnAni* this, GlobalContext* globalCtx) {
|
|||
if (SkelAnime_FrameUpdateMatrix(&this->skelAnime) != 0) {
|
||||
this->skelAnime.animCurrentFrame = 0.0f;
|
||||
}
|
||||
if (globalCtx->csCtx.actorActions[0]->action == 2) {
|
||||
if (globalCtx->csCtx.npcActions[0]->action == 2) {
|
||||
SkelAnime_ChangeAnim(&this->skelAnime, &D_060067B8, 1.0f, 0.0f,
|
||||
SkelAnime_GetFrameCount(&D_060067B8.genericHeader), 2, 0.0f);
|
||||
this->actor.shape.shadowDrawFunc = NULL;
|
||||
|
@ -245,7 +245,7 @@ void EnAni_Update(Actor* thisx, GlobalContext* globalCtx) {
|
|||
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider);
|
||||
Actor_MoveForward(&this->actor);
|
||||
func_8002E4B4(globalCtx, &this->actor, 0.0f, 0.0f, 0.0f, 4);
|
||||
if ((globalCtx->csCtx.state != 0) && (globalCtx->csCtx.actorActions[0] != NULL)) {
|
||||
if ((globalCtx->csCtx.state != 0) && (globalCtx->csCtx.npcActions[0] != NULL)) {
|
||||
switch (this->unk_2AA) {
|
||||
case 0:
|
||||
func_809B0A6C(this, globalCtx);
|
||||
|
|
|
@ -94,7 +94,7 @@ u32 D_80AF0870[] = {
|
|||
|
||||
s32 D_80AF087C = 0;
|
||||
|
||||
#include "z_en_ru1_cutscene_data.c"
|
||||
#include "z_en_ru1_cutscene_data.c" EARLY
|
||||
|
||||
u32 D_80AF1938 = 0;
|
||||
|
||||
|
@ -260,27 +260,27 @@ s32 func_80AEAF38(GlobalContext* globalCtx) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
CsCmdActorAction* func_80AEAF58(GlobalContext* globalCtx, s32 actorActionIdx) {
|
||||
CsCmdActorAction* func_80AEAF58(GlobalContext* globalCtx, s32 npcActionIdx) {
|
||||
s32 pad[2];
|
||||
CsCmdActorAction* ret = NULL;
|
||||
|
||||
if (!func_80AEAF38(globalCtx)) {
|
||||
ret = globalCtx->csCtx.actorActions[actorActionIdx];
|
||||
ret = globalCtx->csCtx.npcActions[npcActionIdx];
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
s32 func_80AEAFA0(GlobalContext* globalCtx, u16 action, s32 actorActionIdx) {
|
||||
CsCmdActorAction* csCmdActorAction = func_80AEAF58(globalCtx, actorActionIdx);
|
||||
if ((csCmdActorAction != NULL) && (csCmdActorAction->action == action)) {
|
||||
s32 func_80AEAFA0(GlobalContext* globalCtx, u16 action, s32 npcActionIdx) {
|
||||
CsCmdActorAction* csCmdNPCAction = func_80AEAF58(globalCtx, npcActionIdx);
|
||||
if ((csCmdNPCAction != NULL) && (csCmdNPCAction->action == action)) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
s32 func_80AEAFE0(GlobalContext* globalCtx, u16 action, s32 actorActionIdx) {
|
||||
CsCmdActorAction* csCmdActorAction = func_80AEAF58(globalCtx, actorActionIdx);
|
||||
if ((csCmdActorAction != NULL) && (csCmdActorAction->action != action)) {
|
||||
s32 func_80AEAFE0(GlobalContext* globalCtx, u16 action, s32 npcActionIdx) {
|
||||
CsCmdActorAction* csCmdNPCAction = func_80AEAF58(globalCtx, npcActionIdx);
|
||||
if ((csCmdNPCAction != NULL) && (csCmdNPCAction->action != action)) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
|
@ -497,11 +497,11 @@ void func_80AEB7D0(EnRu1* this) {
|
|||
this->skelAnime.flags &= ~0x3;
|
||||
}
|
||||
|
||||
f32 func_80AEB7E0(CsCmdActorAction* csCmdActorAction, GlobalContext* globalCtx) {
|
||||
f32 func_80AEB7E0(CsCmdActorAction* csCmdNPCAction, GlobalContext* globalCtx) {
|
||||
s32 csCtxFrames = globalCtx->csCtx.frames;
|
||||
if ((csCtxFrames < csCmdActorAction->endFrame) && (csCmdActorAction->endFrame - csCmdActorAction->startFrame > 0)) {
|
||||
return (Math_Coss(((csCtxFrames - csCmdActorAction->startFrame) /
|
||||
(f32)(csCmdActorAction->endFrame - csCmdActorAction->startFrame)) *
|
||||
if ((csCtxFrames < csCmdNPCAction->endFrame) && (csCmdNPCAction->endFrame - csCmdNPCAction->startFrame > 0)) {
|
||||
return (Math_Coss(((csCtxFrames - csCmdNPCAction->startFrame) /
|
||||
(f32)(csCmdNPCAction->endFrame - csCmdNPCAction->startFrame)) *
|
||||
32768.0f) *
|
||||
-0.5f) +
|
||||
0.5f;
|
||||
|
@ -515,16 +515,16 @@ f32 func_80AEB87C(f32 arg0, s32 arg1, s32 arg2) {
|
|||
|
||||
void func_80AEB89C(EnRu1* this, GlobalContext* globalCtx) {
|
||||
Actor* thisx = &this->actor;
|
||||
CsCmdActorAction* actorAction = func_80AEB438(globalCtx);
|
||||
s16 actorActionRotY;
|
||||
CsCmdActorAction* npcAction = func_80AEB438(globalCtx);
|
||||
s16 npcActionRotY;
|
||||
|
||||
if (actorAction != NULL) {
|
||||
actorActionRotY = actorAction->rot.y;
|
||||
thisx->shape.rot.y = actorActionRotY;
|
||||
thisx->posRot.rot.y = actorActionRotY;
|
||||
thisx->posRot.pos.x = actorAction->startPos.x;
|
||||
thisx->posRot.pos.y = actorAction->startPos.y;
|
||||
thisx->posRot.pos.z = actorAction->startPos.z;
|
||||
if (npcAction != NULL) {
|
||||
npcActionRotY = npcAction->rot.y;
|
||||
thisx->shape.rot.y = npcActionRotY;
|
||||
thisx->posRot.rot.y = npcActionRotY;
|
||||
thisx->posRot.pos.x = npcAction->startPos.x;
|
||||
thisx->posRot.pos.y = npcAction->startPos.y;
|
||||
thisx->posRot.pos.z = npcAction->startPos.z;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -543,15 +543,15 @@ void func_80AEB954(EnRu1* this, GlobalContext* globalCtx) {
|
|||
void func_80AEB974(EnRu1* this, GlobalContext* globalCtx) {
|
||||
Vec3f* thisPos;
|
||||
f32 sp30;
|
||||
CsCmdActorAction* csCmdActorAction = func_80AEB438(globalCtx);
|
||||
CsCmdActorAction* csCmdNPCAction = func_80AEB438(globalCtx);
|
||||
Actor* thisx = &this->actor;
|
||||
|
||||
if (csCmdActorAction != NULL) {
|
||||
sp30 = func_80AEB7E0(csCmdActorAction, globalCtx);
|
||||
if (csCmdNPCAction != NULL) {
|
||||
sp30 = func_80AEB7E0(csCmdNPCAction, globalCtx);
|
||||
thisPos = &thisx->posRot.pos;
|
||||
thisPos->x = func_80AEB87C(sp30, csCmdActorAction->startPos.x, csCmdActorAction->endPos.x);
|
||||
thisPos->y = func_80AEB87C(sp30, csCmdActorAction->startPos.y, csCmdActorAction->endPos.y);
|
||||
thisPos->z = func_80AEB87C(sp30, csCmdActorAction->startPos.z, csCmdActorAction->endPos.z);
|
||||
thisPos->x = func_80AEB87C(sp30, csCmdNPCAction->startPos.x, csCmdNPCAction->endPos.x);
|
||||
thisPos->y = func_80AEB87C(sp30, csCmdNPCAction->startPos.y, csCmdNPCAction->endPos.y);
|
||||
thisPos->z = func_80AEB87C(sp30, csCmdNPCAction->startPos.z, csCmdNPCAction->endPos.z);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -564,15 +564,15 @@ void func_80AEBA2C(EnRu1* this, GlobalContext* globalCtx) {
|
|||
Vec3f* unk_364 = &this->unk_364;
|
||||
Vec3f* thisPos;
|
||||
f32 temp_ret_2;
|
||||
CsCmdActorAction* csCmdActorAction = func_80AEB438(globalCtx);
|
||||
CsCmdActorAction* csCmdNPCAction = func_80AEB438(globalCtx);
|
||||
Actor* thisx = &this->actor;
|
||||
|
||||
if (csCmdActorAction != NULL) {
|
||||
temp_ret_2 = func_80AEB7E0(csCmdActorAction, globalCtx);
|
||||
if (csCmdNPCAction != NULL) {
|
||||
temp_ret_2 = func_80AEB7E0(csCmdNPCAction, globalCtx);
|
||||
thisPos = &thisx->posRot.pos;
|
||||
thisPos->x = func_80AEB87C(temp_ret_2, unk_364->x, csCmdActorAction->endPos.x);
|
||||
thisPos->y = func_80AEB87C(temp_ret_2, unk_364->y, csCmdActorAction->endPos.y);
|
||||
thisPos->z = func_80AEB87C(temp_ret_2, unk_364->z, csCmdActorAction->endPos.z);
|
||||
thisPos->x = func_80AEB87C(temp_ret_2, unk_364->x, csCmdNPCAction->endPos.x);
|
||||
thisPos->y = func_80AEB87C(temp_ret_2, unk_364->y, csCmdNPCAction->endPos.y);
|
||||
thisPos->z = func_80AEB87C(temp_ret_2, unk_364->z, csCmdNPCAction->endPos.z);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -690,15 +690,15 @@ void func_80AEBF60(EnRu1* this, GlobalContext* globalCtx) {
|
|||
}
|
||||
|
||||
void func_80AEBFD8(EnRu1* this, GlobalContext* globalCtx) {
|
||||
CsCmdActorAction* csCmdActorAction = func_80AEB438(globalCtx);
|
||||
CsCmdActorAction* csCmdNPCAction = func_80AEB438(globalCtx);
|
||||
f32 frameCount;
|
||||
u16 csCtxFrames;
|
||||
u16 csCmdActorActionEndFrame;
|
||||
u16 endFrame;
|
||||
|
||||
if (csCmdActorAction != NULL) {
|
||||
if (csCmdNPCAction != NULL) {
|
||||
csCtxFrames = globalCtx->csCtx.frames;
|
||||
csCmdActorActionEndFrame = csCmdActorAction->endFrame;
|
||||
if (csCtxFrames >= csCmdActorActionEndFrame - 2) {
|
||||
endFrame = csCmdNPCAction->endFrame;
|
||||
if (csCtxFrames >= endFrame - 2) {
|
||||
frameCount = SkelAnime_GetFrameCount(&D_06008100.genericHeader);
|
||||
SkelAnime_ChangeAnim(&this->skelAnime, &D_06008100, 1.0, 0, frameCount, 2, -8.0f);
|
||||
this->action = 6;
|
||||
|
@ -888,14 +888,14 @@ void func_80AEC780(EnRu1* this, GlobalContext* globalCtx) {
|
|||
|
||||
void func_80AEC81C(EnRu1* this, GlobalContext* globalCtx) {
|
||||
Actor* thisx = &this->actor;
|
||||
CsCmdActorAction* csCmdActorAction;
|
||||
CsCmdActorAction* csCmdNPCAction;
|
||||
s16 newRotY;
|
||||
if (func_80AEAFE0(globalCtx, 1, 3)) {
|
||||
csCmdActorAction = globalCtx->csCtx.actorActions[3];
|
||||
thisx->posRot.pos.x = csCmdActorAction->startPos.x;
|
||||
thisx->posRot.pos.y = csCmdActorAction->startPos.y;
|
||||
thisx->posRot.pos.z = csCmdActorAction->startPos.z;
|
||||
newRotY = csCmdActorAction->rot.y;
|
||||
csCmdNPCAction = globalCtx->csCtx.npcActions[3];
|
||||
thisx->posRot.pos.x = csCmdNPCAction->startPos.x;
|
||||
thisx->posRot.pos.y = csCmdNPCAction->startPos.y;
|
||||
thisx->posRot.pos.z = csCmdNPCAction->startPos.z;
|
||||
newRotY = csCmdNPCAction->rot.y;
|
||||
thisx->shape.rot.y = newRotY;
|
||||
thisx->posRot.rot.y = newRotY;
|
||||
this->action = 9;
|
||||
|
@ -1969,25 +1969,25 @@ void func_80AEF5B8(EnRu1* this) {
|
|||
void func_80AEF624(EnRu1* this, GlobalContext* globalCtx) {
|
||||
Actor* thisx = &this->actor;
|
||||
f32 frameCount;
|
||||
CsCmdActorAction* csCmdActorAction;
|
||||
CsCmdActorAction* csCmdActorAction2;
|
||||
CsCmdActorAction* csCmdNPCAction;
|
||||
CsCmdActorAction* csCmdNPCAction2;
|
||||
s16 newRotTmp;
|
||||
|
||||
if (func_80AEAFE0(globalCtx, 1, 3)) {
|
||||
frameCount = SkelAnime_GetFrameCount(&D_060063F4.genericHeader);
|
||||
// this weird part with the redundant variable is necessary to match for some reason
|
||||
csCmdActorAction2 = globalCtx->csCtx.actorActions[3];
|
||||
csCmdActorAction = csCmdActorAction2;
|
||||
thisx->posRot.pos.x = csCmdActorAction->startPos.x;
|
||||
thisx->posRot.pos.y = csCmdActorAction->startPos.y;
|
||||
thisx->posRot.pos.z = csCmdActorAction->startPos.z;
|
||||
newRotTmp = csCmdActorAction->rot.x;
|
||||
csCmdNPCAction2 = globalCtx->csCtx.npcActions[3];
|
||||
csCmdNPCAction = csCmdNPCAction2;
|
||||
thisx->posRot.pos.x = csCmdNPCAction->startPos.x;
|
||||
thisx->posRot.pos.y = csCmdNPCAction->startPos.y;
|
||||
thisx->posRot.pos.z = csCmdNPCAction->startPos.z;
|
||||
newRotTmp = csCmdNPCAction->rot.x;
|
||||
thisx->shape.rot.x = newRotTmp;
|
||||
thisx->posRot.rot.x = newRotTmp;
|
||||
newRotTmp = csCmdActorAction->rot.y;
|
||||
newRotTmp = csCmdNPCAction->rot.y;
|
||||
thisx->shape.rot.y = newRotTmp;
|
||||
thisx->posRot.rot.y = newRotTmp;
|
||||
newRotTmp = csCmdActorAction->rot.z;
|
||||
newRotTmp = csCmdNPCAction->rot.z;
|
||||
thisx->shape.rot.z = newRotTmp;
|
||||
thisx->posRot.rot.z = newRotTmp;
|
||||
SkelAnime_ChangeAnim(&this->skelAnime, &D_060063F4, 1.0f, 0.0f, frameCount, 2, 0.0f);
|
||||
|
|
|
@ -1,130 +1,241 @@
|
|||
#include "z_en_ru1.h"
|
||||
|
||||
u32 D_80AF0880[] = {
|
||||
0x0000000F, 0x0000051A, 0x0000000A, 0x0000000A, 0x00270000, 0x00320000, 0x6C160000, 0x0000000C, 0xFFFFFEAC,
|
||||
0xFFFFF506, 0x0000000C, 0xFFFFFEAC, 0xFFFFF506, 0x0F671408, 0x00000000, 0x00000001, 0x00030032, 0x00460000,
|
||||
0x6C160000, 0x0000000C, 0xFFFFFEAC, 0xFFFFF506, 0x0000000C, 0xFFFFFEAC, 0xFFFFF506, 0x0F671408, 0x00000000,
|
||||
0x00000001, 0x00050046, 0x006D0000, 0x6C160000, 0x0000000C, 0xFFFFFEAC, 0xFFFFF506, 0x0000000C, 0xFFFFFEAC,
|
||||
0xFFFFF506, 0x0F671408, 0x00000000, 0x00000001, 0x0002006D, 0x00870000, 0x6C160000, 0x0000000C, 0xFFFFFEAC,
|
||||
0xFFFFF506, 0x00000064, 0xFFFFFEAC, 0xFFFFF451, 0x0F671408, 0x00000000, 0x00000001, 0x00050087, 0x00C70000,
|
||||
0x6C160000, 0x00000064, 0xFFFFFEAC, 0xFFFFF451, 0x00000064, 0xFFFFFEAC, 0xFFFFF451, 0x0F671408, 0x00000000,
|
||||
0x00000001, 0x000300C7, 0x00DB0000, 0x6C160000, 0x00000064, 0xFFFFFEAC, 0xFFFFF451, 0x00000064, 0xFFFFFEAC,
|
||||
0xFFFFF451, 0x0F671408, 0x00000000, 0x00000001, 0x000500DB, 0x01030000, 0x6C160000, 0x00000064, 0xFFFFFEAC,
|
||||
0xFFFFF451, 0x00000064, 0xFFFFFEAC, 0xFFFFF451, 0x0F671408, 0x00000000, 0x00000001, 0x00030103, 0x01140000,
|
||||
0x6C160000, 0x00000064, 0xFFFFFEAC, 0xFFFFF451, 0x00000064, 0xFFFFFEAC, 0xFFFFF451, 0x0F671408, 0x00000000,
|
||||
0x00000001, 0x00020114, 0x01290000, 0x6C160000, 0x00000064, 0xFFFFFEAC, 0xFFFFF451, 0x000000B6, 0xFFFFFEAC,
|
||||
0xFFFFF3C4, 0x0F671408, 0x00000000, 0x00000001, 0x00050129, 0x034B0000, 0x6C160000, 0x000000B6, 0xFFFFFEAC,
|
||||
0xFFFFF3C4, 0x000000B6, 0xFFFFFEAC, 0xFFFFF3C4, 0x0F671408, 0x00000000, 0x00000001, 0x0000003F, 0x00000004,
|
||||
0x00020000, 0x00B20000, 0xEC160000, 0x0000007F, 0xFFFFFEAC, 0xFFFFF41F, 0x0000007F, 0xFFFFFEAC, 0xFFFFF41F,
|
||||
0x0F671408, 0x00000000, 0x00000001, 0x000300B2, 0x00F50000, 0x6C160000, 0x0000007F, 0xFFFFFEAC, 0xFFFFF41F,
|
||||
0x0000007F, 0xFFFFFEAC, 0xFFFFF41F, 0x0F671408, 0x00000000, 0x00000001, 0x000400F5, 0x01040000, 0x6C160000,
|
||||
0x0000007F, 0xFFFFFEAC, 0xFFFFF41F, 0x0000007F, 0xFFFFFEAC, 0xFFFFF41F, 0x0F671408, 0x00000000, 0x00000001,
|
||||
0x00050104, 0x018C0000, 0x6C160000, 0x0000007F, 0xFFFFFEAC, 0xFFFFF41F, 0x0000007F, 0xFFFFFEAC, 0xFFFFF41F,
|
||||
0x0F671408, 0x00000000, 0x00000001, 0x00000003, 0x00000001, 0x000C013B, 0x01590000, 0x00000000, 0x00000000,
|
||||
0xFFFFFFC0, 0x00000032, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0x00000000, 0x00000000, 0x00000013,
|
||||
0x00000004, 0xFFFF0000, 0x009DFFFF, 0xFFFFFFFF, 0x404B009D, 0x00AF0000, 0xFFFFFFFF, 0xFFFF00AF, 0x00FCFFFF,
|
||||
0xFFFFFFFF, 0x401E00FC, 0x012C0000, 0xFFFFFFFF, 0x00000001, 0x00010000, 0x00F70000, 0x00000000, 0x4235998B,
|
||||
0x0037FEDE, 0xF54320BA, 0x00000000, 0x4235998B, 0x0037FEDE, 0xF54344B8, 0x00000000, 0x4235998B, 0x0037FEDE,
|
||||
0xF5438080, 0x00000000, 0x4235998B, 0x0037FEDE, 0xF543E243, 0x00000000, 0x41F6662C, 0x0037FEDE, 0xF543005E,
|
||||
0x00000000, 0x41F6662C, 0x0037FEDE, 0xF543FFFF, 0x00000000, 0x41F6662C, 0x0037FEDE, 0xF5430000, 0x00000000,
|
||||
0x41F6662C, 0x0037FEDE, 0xF5435B80, 0xFF000000, 0x41F6662C, 0x0037FEDE, 0xF54349B4, 0x00000001, 0x00010049,
|
||||
0x00D00000, 0x00000000, 0x4235998B, 0x0063FECD, 0xF45720BA, 0x00000000, 0x4235998B, 0x0063FECD, 0xF45744B8,
|
||||
0x00000000, 0x4235998B, 0x0063FECD, 0xF4578080, 0x00000000, 0x4235998B, 0x0063FECD, 0xF457E243, 0x00000000,
|
||||
0x4235998B, 0x0063FECD, 0xF457005E, 0x00000000, 0x4235998B, 0x0063FECD, 0xF457FFFF, 0xFF000000, 0x4235998B,
|
||||
0x0063FECD, 0xF4570000, 0x00000001, 0x00010074, 0x04B70000, 0x00000000, 0x42373325, 0x009BFEEC, 0xF4A120BA,
|
||||
0x00000000, 0x42373325, 0x009BFEEC, 0xF4A144B8, 0x00000000, 0x42373325, 0x009BFEEC, 0xF4A18080, 0x00000000,
|
||||
0x42373325, 0x009BFEEC, 0xF4A1E243, 0xFF000000, 0x42373325, 0x009BFEEC, 0xF4A1005E, 0x00000001, 0x000100BA,
|
||||
0x04FD0000, 0x00000000, 0x4235998C, 0x004DFEC5, 0xF45020BA, 0x00000000, 0x4235998C, 0x004DFEC5, 0xF45044B8,
|
||||
0x00000000, 0x4235998C, 0x004DFEC5, 0xF4508080, 0x00000000, 0x4235998C, 0x004DFEC5, 0xF450E243, 0xFF000000,
|
||||
0x4235998C, 0x004DFEC5, 0xF450005E, 0x00000001, 0x00010100, 0x01A90000, 0x00000000, 0x41E1995C, 0x015EFF13,
|
||||
0xF30E20BA, 0x00000000, 0x41E1995C, 0x015EFF13, 0xF30E44B8, 0x00000000, 0x41E1995C, 0x015EFF13, 0xF30E8080,
|
||||
0x00000000, 0x41E1995C, 0x015EFF13, 0xF30EE243, 0x00000000, 0x423B3327, 0x015EFF13, 0xF30E005E, 0x00000000,
|
||||
0x423B3327, 0x015EFF13, 0xF30EFFFF, 0x00000000, 0x423B3327, 0x015EFF13, 0xF30E0000, 0xFF000000, 0x423B3327,
|
||||
0x015EFF13, 0xF30E5B80, 0x00000002, 0x00010000, 0x01140000, 0x00000032, 0x4235998B, 0x0028FF00, 0xF4F920BA,
|
||||
0x00000032, 0x4235998B, 0x0028FF00, 0xF4F944B8, 0x00000028, 0x4235998B, 0x0016FEC7, 0xF4F98080, 0x0000000A,
|
||||
0x4235998B, 0x0017FEC7, 0xF4F9E243, 0x00000006, 0x41F6662C, 0x0049FED6, 0xF4F4005E, 0x0000001E, 0x41F6662C,
|
||||
0x0049FED6, 0xF4F4FFFF, 0x0000001E, 0x41F6662C, 0x0049FED6, 0xF4F40000, 0x0000001E, 0x41F6662C, 0x0049FED6,
|
||||
0xF4F45B80, 0xFF00001E, 0x41F6662C, 0x0049FED6, 0xF4F449B4, 0x00000002, 0x00010049, 0x00ED0000, 0x0000001E,
|
||||
0x4270CCCD, 0x0088FEC6, 0xF40C20BA, 0x00000007, 0x42726667, 0x0088FEC6, 0xF40C44B8, 0x00000007, 0x4235998B,
|
||||
0x0088FEC6, 0xF40C8080, 0x0000001E, 0x4235998B, 0x0088FEC6, 0xF40CE243, 0x0000001E, 0x4235998B, 0x0088FEC6,
|
||||
0xF40C005E, 0x0000001E, 0x4235998B, 0x0087FEC7, 0xF40CFFFF, 0xFF00001E, 0x4235998B, 0x0087FEC7, 0xF40D0000,
|
||||
0x00000002, 0x00010074, 0x04D40000, 0x0000001E, 0x42373325, 0x0084FECF, 0xF46720BA, 0x0000001E, 0x42373325,
|
||||
0x0084FED0, 0xF46744B8, 0x000003E8, 0x42373325, 0x0085FED0, 0xF4678080, 0x0000001E, 0x42373325, 0x0085FED0,
|
||||
0xF467E243, 0xFF00001E, 0x42373325, 0x0085FED0, 0xF467005E, 0x00000002, 0x000100BA, 0x051A0000, 0x0000001E,
|
||||
0x4235998C, 0x008AFED3, 0xF42820BA, 0x0000001E, 0x4235998C, 0x008AFED3, 0xF42844B8, 0x000003E8, 0x4235998C,
|
||||
0x008AFED3, 0xF4288080, 0x0000001E, 0x4235998C, 0x008AFED3, 0xF428E243, 0xFF00001E, 0x4235998C, 0x008AFED3,
|
||||
0xF428005E, 0x00000002, 0x00010100, 0x01C60000, 0x0000001E, 0x41E1995C, 0x0133FF02, 0xF34620BA, 0x0000001E,
|
||||
0x41E1995C, 0x0133FF02, 0xF34644B8, 0x00000009, 0x41E1995C, 0x0133FF02, 0xF3468080, 0x00000009, 0x423B3327,
|
||||
0x0130FEEF, 0xF337E243, 0x0000001E, 0x423B3327, 0x0130FEF0, 0xF336005E, 0x0000001E, 0x423B3327, 0x0130FEF0,
|
||||
0xF336FFFF, 0x0000001E, 0x423B3327, 0x0130FEF0, 0xF3360000, 0xFF00001E, 0x423B3327, 0x0131FEF0, 0xF3365B80,
|
||||
0x00000056, 0x00000001, 0x0052004A, 0x004B0000, 0x00000000, 0xFFFFFFF1, 0x00000000, 0x0000004E, 0xFFFFFFF1,
|
||||
0x00000000, 0x0000004E, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000,
|
||||
#include <z64cutscene_commands.h>
|
||||
|
||||
// clang-format off
|
||||
CutsceneData D_80AF0880[] = {
|
||||
CS_BEGIN_CUTSCENE(15, 1306),
|
||||
CS_PLAYER_ACTION_LIST(10),
|
||||
CS_PLAYER_ACTION(0x0027, 0, 50, 0x0000, 0x6C16, 0x0000, 12, -340, -2810, 12, -340, -2810, 1.1393037E-29f, 0.0f, 1.4E-45f),
|
||||
CS_PLAYER_ACTION(0x0003, 50, 70, 0x0000, 0x6C16, 0x0000, 12, -340, -2810, 12, -340, -2810, 1.1393037E-29f, 0.0f, 1.4E-45f),
|
||||
CS_PLAYER_ACTION(0x0005, 70, 109, 0x0000, 0x6C16, 0x0000, 12, -340, -2810, 12, -340, -2810, 1.1393037E-29f, 0.0f, 1.4E-45f),
|
||||
CS_PLAYER_ACTION(0x0002, 109, 135, 0x0000, 0x6C16, 0x0000, 12, -340, -2810, 100, -340, -2991, 1.1393037E-29f, 0.0f, 1.4E-45f),
|
||||
CS_PLAYER_ACTION(0x0005, 135, 199, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 100, -340, -2991, 1.1393037E-29f, 0.0f, 1.4E-45f),
|
||||
CS_PLAYER_ACTION(0x0003, 199, 219, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 100, -340, -2991, 1.1393037E-29f, 0.0f, 1.4E-45f),
|
||||
CS_PLAYER_ACTION(0x0005, 219, 259, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 100, -340, -2991, 1.1393037E-29f, 0.0f, 1.4E-45f),
|
||||
CS_PLAYER_ACTION(0x0003, 259, 276, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 100, -340, -2991, 1.1393037E-29f, 0.0f, 1.4E-45f),
|
||||
CS_PLAYER_ACTION(0x0002, 276, 297, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 182, -340, -3132, 1.1393037E-29f, 0.0f, 1.4E-45f),
|
||||
CS_PLAYER_ACTION(0x0005, 297, 843, 0x0000, 0x6C16, 0x0000, 182, -340, -3132, 182, -340, -3132, 1.1393037E-29f, 0.0f, 1.4E-45f),
|
||||
CS_NPC_ACTION_LIST(63, 4),
|
||||
CS_NPC_ACTION(0x0002, 0, 178, 0x0000, 0xEC16, 0x0000, 127, -340, -3041, 127, -340, -3041, 1.1393037E-29f, 0.0f, 1.4E-45f),
|
||||
CS_NPC_ACTION(0x0003, 178, 245, 0x0000, 0x6C16, 0x0000, 127, -340, -3041, 127, -340, -3041, 1.1393037E-29f, 0.0f, 1.4E-45f),
|
||||
CS_NPC_ACTION(0x0004, 245, 260, 0x0000, 0x6C16, 0x0000, 127, -340, -3041, 127, -340, -3041, 1.1393037E-29f, 0.0f, 1.4E-45f),
|
||||
CS_NPC_ACTION(0x0005, 260, 396, 0x0000, 0x6C16, 0x0000, 127, -340, -3041, 127, -340, -3041, 1.1393037E-29f, 0.0f, 1.4E-45f),
|
||||
CS_MISC_LIST(1),
|
||||
CS_MISC(0x000C, 315, 345, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0x00000000, 0x00000000),
|
||||
CS_TEXT_LIST(4),
|
||||
CS_TEXT_NONE(0, 157),
|
||||
CS_TEXT_DISPLAY_TEXTBOX(0x404B, 157, 175, 0x0000, 0xFFFF, 0xFFFF),
|
||||
CS_TEXT_NONE(175, 252),
|
||||
CS_TEXT_DISPLAY_TEXTBOX(0x401E, 252, 300, 0x0000, 0xFFFF, 0xFFFF),
|
||||
CS_CAM_POS_LIST(0, 247),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 55, -290, -2749, 0x20BA),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 55, -290, -2749, 0x44B8),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 55, -290, -2749, 0x8080),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 55, -290, -2749, 0xE243),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 30.799889f, 55, -290, -2749, 0x005E),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 30.799889f, 55, -290, -2749, 0xFFFF),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 30.799889f, 55, -290, -2749, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 30.799889f, 55, -290, -2749, 0x5B80),
|
||||
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 30.799889f, 55, -290, -2749, 0x49B4),
|
||||
CS_CAM_POS_LIST(73, 208),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 99, -307, -2985, 0x20BA),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 99, -307, -2985, 0x44B8),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 99, -307, -2985, 0x8080),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 99, -307, -2985, 0xE243),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 99, -307, -2985, 0x005E),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.399944f, 99, -307, -2985, 0xFFFF),
|
||||
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 45.399944f, 99, -307, -2985, 0x0000),
|
||||
CS_CAM_POS_LIST(116, 1207),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.799946f, 155, -276, -2911, 0x20BA),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.799946f, 155, -276, -2911, 0x44B8),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.799946f, 155, -276, -2911, 0x8080),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.799946f, 155, -276, -2911, 0xE243),
|
||||
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 45.799946f, 155, -276, -2911, 0x005E),
|
||||
CS_CAM_POS_LIST(186, 1277),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.39995f, 77, -315, -2992, 0x20BA),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.39995f, 77, -315, -2992, 0x44B8),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.39995f, 77, -315, -2992, 0x8080),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.39995f, 77, -315, -2992, 0xE243),
|
||||
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 45.39995f, 77, -315, -2992, 0x005E),
|
||||
CS_CAM_POS_LIST(256, 425),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 28.199883f, 350, -237, -3314, 0x20BA),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 28.199883f, 350, -237, -3314, 0x44B8),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 28.199883f, 350, -237, -3314, 0x8080),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 28.199883f, 350, -237, -3314, 0xE243),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 46.799953f, 350, -237, -3314, 0x005E),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 46.799953f, 350, -237, -3314, 0xFFFF),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 46.799953f, 350, -237, -3314, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 46.799953f, 350, -237, -3314, 0x5B80),
|
||||
CS_CAM_FOCUS_POINT_LIST(0, 276),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 45.399944f, 40, -256, -2823, 0x20BA),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 45.399944f, 40, -256, -2823, 0x44B8),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 40, 45.399944f, 22, -313, -2823, 0x8080),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 10, 45.399944f, 23, -313, -2823, 0xE243),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 6, 30.799889f, 73, -298, -2828, 0x005E),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 30.799889f, 73, -298, -2828, 0xFFFF),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 30.799889f, 73, -298, -2828, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 30.799889f, 73, -298, -2828, 0x5B80),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 30.799889f, 73, -298, -2828, 0x49B4),
|
||||
CS_CAM_FOCUS_POINT_LIST(73, 237),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.2f, 136, -314, -3060, 0x20BA),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 7, 60.600002f, 136, -314, -3060, 0x44B8),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 7, 45.399944f, 136, -314, -3060, 0x8080),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.399944f, 136, -314, -3060, 0xE243),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.399944f, 136, -314, -3060, 0x005E),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.399944f, 135, -313, -3060, 0xFFFF),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 45.399944f, 135, -313, -3059, 0x0000),
|
||||
CS_CAM_FOCUS_POINT_LIST(116, 1236),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.799946f, 132, -305, -2969, 0x20BA),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.799946f, 132, -304, -2969, 0x44B8),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 45.799946f, 133, -304, -2969, 0x8080),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.799946f, 133, -304, -2969, 0xE243),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 45.799946f, 133, -304, -2969, 0x005E),
|
||||
CS_CAM_FOCUS_POINT_LIST(186, 1306),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.39995f, 138, -301, -3032, 0x20BA),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.39995f, 138, -301, -3032, 0x44B8),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 45.39995f, 138, -301, -3032, 0x8080),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.39995f, 138, -301, -3032, 0xE243),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 45.39995f, 138, -301, -3032, 0x005E),
|
||||
CS_CAM_FOCUS_POINT_LIST(256, 454),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 28.199883f, 307, -254, -3258, 0x20BA),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 28.199883f, 307, -254, -3258, 0x44B8),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 9, 28.199883f, 307, -254, -3258, 0x8080),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 9, 46.799953f, 304, -273, -3273, 0xE243),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 46.799953f, 304, -272, -3274, 0x005E),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 46.799953f, 304, -272, -3274, 0xFFFF),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 46.799953f, 304, -272, -3274, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 46.799953f, 305, -272, -3274, 0x5B80),
|
||||
CS_PLAY_BGM_LIST(1),
|
||||
CS_PLAY_BGM(0x0052, 74, 75, 0x0000, 0x00000000, 0xFFFFFFF1, 0x00000000, 0x0000004E, 0xFFFFFFF1, 0x00000000, 0x0000004E),
|
||||
CS_END(),
|
||||
CS_PAD(),
|
||||
CS_PAD(),
|
||||
};
|
||||
|
||||
u32 D_80AF10A4[] = {
|
||||
0x0000000E, 0x00000513, 0x0000000A, 0x00000003, 0x00050000, 0x01100000, 0xC0000000, 0xFFFFFBC3, 0xFFFFFBFF,
|
||||
0xFFFFF2ED, 0xFFFFFBC3, 0xFFFFFBFF, 0xFFFFF2ED, 0x0F671408, 0x00000000, 0x00000001, 0x00030110, 0x01240000,
|
||||
0xC0000000, 0xFFFFFBC3, 0xFFFFFBFF, 0xFFFFF2ED, 0xFFFFFBC3, 0xFFFFFBFF, 0xFFFFF2ED, 0x0F671408, 0x00000000,
|
||||
0x00000001, 0x00050124, 0x03090000, 0xC0000000, 0xFFFFFBC3, 0xFFFFFBFF, 0xFFFFF2ED, 0xFFFFFBC3, 0xFFFFFBFF,
|
||||
0xFFFFF2ED, 0x0F671408, 0x00000000, 0x00000001, 0x00000003, 0x00000001, 0x000C014A, 0x02730000, 0x00000000,
|
||||
0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000042, 0x00000003, 0x00010000, 0x00280000, 0x40000000, 0xFFFFFAB8, 0xFFFFFC37, 0xFFFFF2F3, 0xFFFFFAB8,
|
||||
0xFFFFFC37, 0xFFFFF2F3, 0x00000000, 0x00000000, 0x00000001, 0x00020028, 0x00D50000, 0x40000000, 0xFFFFFAB8,
|
||||
0xFFFFFC37, 0xFFFFF2F3, 0xFFFFFAB0, 0xFFFFFC37, 0xFFFFF2F1, 0x00000000, 0x00000000, 0x00000001, 0x000300D5,
|
||||
0x03E80000, 0x40000000, 0xFFFFFAB0, 0xFFFFFC37, 0xFFFFF2F1, 0xFFFFFAB0, 0xFFFFFC37, 0xFFFFF2F1, 0x00000000,
|
||||
0x00000000, 0x00000001, 0x00000030, 0x00000001, 0x00020000, 0x005A0000, 0x00000000, 0xFFFFFAB0, 0xFFFFFC3D,
|
||||
0xFFFFF2F1, 0xFFFFFAB0, 0xFFFFFC3D, 0xFFFFF2F1, 0x00000000, 0x00000000, 0x00000000, 0x00000030, 0x00000002,
|
||||
0x0002005A, 0x00D30000, 0x00000000, 0xFFFFFAB8, 0xFFFFFC66, 0xFFFFF2F3, 0xFFFFFAB8, 0xFFFFFC66, 0xFFFFF2F3,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x000600D3, 0x01370000, 0x00000000, 0xFFFFFAB8, 0xFFFFFC66, 0xFFFFF2F3,
|
||||
0xFFFFFAB8, 0xFFFFFC66, 0xFFFFF2F3, 0x00000000, 0x00000000, 0x00000000, 0x0000003E, 0x00000003, 0x00040000,
|
||||
0x00D20000, 0x00000000, 0xFFFFFBD7, 0xFFFFFC34, 0xFFFFF317, 0xFFFFFBD7, 0xFFFFFC2E, 0xFFFFF317, 0x00000000,
|
||||
0xBCEA0EA1, 0x00000000, 0x000400D2, 0x00DC8000, 0x00000000, 0xFFFFFBD7, 0xFFFFFC2E, 0xFFFFF317, 0xFFFFFBD7,
|
||||
0xFFFFFC33, 0xFFFFF2F0, 0x00000000, 0x3F000000, 0x00000000, 0x000400DC, 0x019A0000, 0x00000000, 0xFFFFFBD7,
|
||||
0xFFFFFC33, 0xFFFFF2F0, 0xFFFFFBD7, 0xFFFFFC30, 0xFFFFF2F0, 0x00000000, 0xBC8158ED, 0x00000000, 0x00000013,
|
||||
0x00000006, 0xFFFF0000, 0x00A2FFFF, 0xFFFFFFFF, 0x405000A2, 0x00D30000, 0xFFFFFFFF, 0xFFFF00D3, 0x00E8FFFF,
|
||||
0xFFFFFFFF, 0x405100E8, 0x00F10000, 0xFFFFFFFF, 0xFFFF00F1, 0x00F7FFFF, 0xFFFFFFFF, 0x405200F7, 0x012B0000,
|
||||
0xFFFFFFFF, 0x00000056, 0x00000001, 0x00230070, 0x00710000, 0x00000000, 0x00000000, 0xFFFFFFC7, 0x000000B1,
|
||||
0x00000000, 0xFFFFFFC7, 0x000000B1, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00010000, 0x04980000,
|
||||
0x00000000, 0x4227A05C, 0xFA92FC4C, 0xF2F500C6, 0x00000000, 0x4222D38E, 0xFA92FC4C, 0xF2F500C8, 0x00000000,
|
||||
0x4222D38E, 0xFA92FC4C, 0xF2F500D7, 0x00000000, 0x4222D38E, 0xFA76FC56, 0xF2F700E8, 0x00000000, 0x42346D2B,
|
||||
0xFA76FC56, 0xF2F700EA, 0x00000000, 0x42346D2B, 0xFA76FC56, 0xF2F7013D, 0x00000000, 0x42346D2B, 0xFA76FC56,
|
||||
0xF2F7013F, 0xFF000000, 0x42346D2B, 0xFA76FC56, 0xF2F7006D, 0x00000001, 0x0001005B, 0x04F60000, 0x00000000,
|
||||
0x4233A05F, 0xFAD9FC5A, 0xF2F100C6, 0x00000000, 0x4232D392, 0xFAD9FC58, 0xF2F000C8, 0x00000000, 0x4232D392,
|
||||
0xFAD9FC58, 0xF2F000D7, 0x00000000, 0x4232D392, 0xFAD9FC58, 0xF2F000E8, 0x00000000, 0x4232D392, 0xFAD2FC78,
|
||||
0xF2F200EA, 0x00000000, 0x4273A06F, 0xFAD2FC78, 0xF2F2013D, 0x00000000, 0x4273A06F, 0xFAD2FC78, 0xF2F2013F,
|
||||
0x00000000, 0x4273A06F, 0xFAD2FC78, 0xF2F2014E, 0x00000000, 0x4273A06F, 0xFAD2FC78, 0xF2F2015F, 0x00000000,
|
||||
0x4273A06F, 0xFAD2FC78, 0xF2F20161, 0xFF000000, 0x4273A06F, 0xFAD2FC00, 0xF2F2652E, 0x00000001, 0x000100D3,
|
||||
0x014C0000, 0x00000000, 0x41F273D3, 0xFA41FCCD, 0xF3B300C6, 0x00000000, 0x41F273D3, 0xFA41FCCD, 0xF3B300C8,
|
||||
0x00000000, 0x41F273D3, 0xFA41FCCD, 0xF3B300D7, 0x00000000, 0x41F273D3, 0xFA41FCCD, 0xF3B300E8, 0xFF000000,
|
||||
0x41F273D3, 0xFA41FCCD, 0xF3B300EA, 0x00000002, 0x00010000, 0x04B50000, 0x0000001E, 0x4222D38E, 0xFAF1FC15,
|
||||
0xF2E800C6, 0x00000032, 0x4222D38E, 0xFAF0FC15, 0xF2E800C8, 0x00000014, 0x4222D38E, 0xFAF0FC15, 0xF2E800D7,
|
||||
0x0000000F, 0x42346D2B, 0xFADEFC37, 0xF2EE00E8, 0x0000001E, 0x42346D2B, 0xFADFFC36, 0xF2EE00EA, 0x000003E8,
|
||||
0x42346D2B, 0xFADFFC37, 0xF2EE013D, 0x0000001E, 0x42346D2B, 0xFADFFC36, 0xF2EE013F, 0xFF00001E, 0x42346D2B,
|
||||
0xFADFFC36, 0xF2EE006D, 0x00000002, 0x0001005B, 0x05130000, 0x0000001E, 0x4232D392, 0xFA83FC24, 0xF2F100C6,
|
||||
0x00000007, 0x4232D392, 0xFA82FC23, 0xF2F000C8, 0x00000007, 0x4232D392, 0xFA82FC23, 0xF2F000D7, 0x00000007,
|
||||
0x4232D392, 0xFA82FC23, 0xF2F000E8, 0x00000007, 0x4273A06F, 0xFA8FFC2E, 0xF2F200EA, 0x0000001E, 0x4273A06F,
|
||||
0xFA8FFC2F, 0xF2F2013D, 0x0000001E, 0x4273A06F, 0xFA8FFC2F, 0xF2F2013F, 0x000003E8, 0x4273A06F, 0xFA8FFC2F,
|
||||
0xF2F2014E, 0x0000001E, 0x4273A06F, 0xFA8FFC2F, 0xF2F2015F, 0x0000001E, 0x4273A06F, 0xFA8FFC2F, 0xF2F20161,
|
||||
0xFF00001E, 0x4273A06F, 0xFA87FBBA, 0xF2ED652E, 0x00000002, 0x000100D3, 0x01690000, 0x0000001E, 0x41F273D3,
|
||||
0xFA6EFCA7, 0xF38A00C6, 0x0000001E, 0x41F273D3, 0xFA6EFCA7, 0xF38A00C8, 0x0000001E, 0x41F273D3, 0xFA6EFCA7,
|
||||
0xF38A00D7, 0x0000001E, 0x41F273D3, 0xFA6EFCA7, 0xF38A00E8, 0xFF00001E, 0x41F273D3, 0xFA6EFCA7, 0xF38A00EA,
|
||||
0xFFFFFFFF, 0x00000000, 0x00000000,
|
||||
CutsceneData D_80AF10A4[] = {
|
||||
CS_BEGIN_CUTSCENE(14, 1299),
|
||||
CS_PLAYER_ACTION_LIST(3),
|
||||
CS_PLAYER_ACTION(0x0005, 0, 272, 0x0000, 0xC000, 0x0000, -1085, -1025, -3347, -1085, -1025, -3347, 1.1393037E-29f, 0.0f, 1.4E-45f),
|
||||
CS_PLAYER_ACTION(0x0003, 272, 292, 0x0000, 0xC000, 0x0000, -1085, -1025, -3347, -1085, -1025, -3347, 1.1393037E-29f, 0.0f, 1.4E-45f),
|
||||
CS_PLAYER_ACTION(0x0005, 292, 777, 0x0000, 0xC000, 0x0000, -1085, -1025, -3347, -1085, -1025, -3347, 1.1393037E-29f, 0.0f, 1.4E-45f),
|
||||
CS_MISC_LIST(1),
|
||||
CS_MISC(0x000C, 330, 627, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0x00000000, 0x00000000),
|
||||
CS_NPC_ACTION_LIST(66, 3),
|
||||
CS_NPC_ACTION(0x0001, 0, 40, 0x0000, 0x4000, 0x0000, -1352, -969, -3341, -1352, -969, -3341, 0.0f, 0.0f, 1.4E-45f),
|
||||
CS_NPC_ACTION(0x0002, 40, 213, 0x0000, 0x4000, 0x0000, -1352, -969, -3341, -1360, -969, -3343, 0.0f, 0.0f, 1.4E-45f),
|
||||
CS_NPC_ACTION(0x0003, 213, 1000, 0x0000, 0x4000, 0x0000, -1360, -969, -3343, -1360, -969, -3343, 0.0f, 0.0f, 1.4E-45f),
|
||||
CS_NPC_ACTION_LIST(48, 1),
|
||||
CS_NPC_ACTION(0x0002, 0, 90, 0x0000, 0x0000, 0x0000, -1360, -963, -3343, -1360, -963, -3343, 0.0f, 0.0f, 0.0f),
|
||||
CS_NPC_ACTION_LIST(48, 2),
|
||||
CS_NPC_ACTION(0x0002, 90, 211, 0x0000, 0x0000, 0x0000, -1352, -922, -3341, -1352, -922, -3341, 0.0f, 0.0f, 0.0f),
|
||||
CS_NPC_ACTION(0x0006, 211, 311, 0x0000, 0x0000, 0x0000, -1352, -922, -3341, -1352, -922, -3341, 0.0f, 0.0f, 0.0f),
|
||||
CS_NPC_ACTION_LIST(62, 3),
|
||||
CS_NPC_ACTION(0x0004, 0, 210, 0x0000, 0x0000, 0x0000, -1065, -972, -3305, -1065, -978, -3305, 0.0f, -0.028571429f, 0.0f),
|
||||
CS_NPC_ACTION(0x0004, 210, 220, 0x8000, 0x0000, 0x0000, -1065, -978, -3305, -1065, -973, -3344, 0.0f, 0.5f, 0.0f),
|
||||
CS_NPC_ACTION(0x0004, 220, 410, 0x0000, 0x0000, 0x0000, -1065, -973, -3344, -1065, -976, -3344, 0.0f, -0.015789473f, 0.0f),
|
||||
CS_TEXT_LIST(6),
|
||||
CS_TEXT_NONE(0, 162),
|
||||
CS_TEXT_DISPLAY_TEXTBOX(0x4050, 162, 211, 0x0000, 0xFFFF, 0xFFFF),
|
||||
CS_TEXT_NONE(211, 232),
|
||||
CS_TEXT_DISPLAY_TEXTBOX(0x4051, 232, 241, 0x0000, 0xFFFF, 0xFFFF),
|
||||
CS_TEXT_NONE(241, 247),
|
||||
CS_TEXT_DISPLAY_TEXTBOX(0x4052, 247, 299, 0x0000, 0xFFFF, 0xFFFF),
|
||||
CS_PLAY_BGM_LIST(1),
|
||||
CS_PLAY_BGM(0x0023, 112, 113, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFC7, 0x000000B1, 0x00000000, 0xFFFFFFC7, 0x000000B1),
|
||||
CS_CAM_POS_LIST(0, 1176),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 41.9066f, -1390, -948, -3339, 0x00C6),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.706596f, -1390, -948, -3339, 0x00C8),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.706596f, -1390, -948, -3339, 0x00D7),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.706596f, -1418, -938, -3337, 0x00E8),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.10661f, -1418, -938, -3337, 0x00EA),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.10661f, -1418, -938, -3337, 0x013D),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.10661f, -1418, -938, -3337, 0x013F),
|
||||
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 45.10661f, -1418, -938, -3337, 0x006D),
|
||||
CS_CAM_POS_LIST(91, 1270),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 44.906612f, -1319, -934, -3343, 0x00C6),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 44.70661f, -1319, -936, -3344, 0x00C8),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 44.70661f, -1319, -936, -3344, 0x00D7),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 44.70661f, -1319, -936, -3344, 0x00E8),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 44.70661f, -1326, -904, -3342, 0x00EA),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.906673f, -1326, -904, -3342, 0x013D),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.906673f, -1326, -904, -3342, 0x013F),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.906673f, -1326, -904, -3342, 0x014E),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.906673f, -1326, -904, -3342, 0x015F),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.906673f, -1326, -904, -3342, 0x0161),
|
||||
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 60.906673f, -1326, -1024, -3342, 0x652E),
|
||||
CS_CAM_POS_LIST(211, 332),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 30.306555f, -1471, -819, -3149, 0x00C6),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 30.306555f, -1471, -819, -3149, 0x00C8),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 30.306555f, -1471, -819, -3149, 0x00D7),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 30.306555f, -1471, -819, -3149, 0x00E8),
|
||||
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 30.306555f, -1471, -819, -3149, 0x00EA),
|
||||
CS_CAM_FOCUS_POINT_LIST(0, 1205),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 40.706596f, -1295, -1003, -3352, 0x00C6),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 40.706596f, -1296, -1003, -3352, 0x00C8),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 40.706596f, -1296, -1003, -3352, 0x00D7),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 15, 45.10661f, -1314, -969, -3346, 0x00E8),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.10661f, -1313, -970, -3346, 0x00EA),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 45.10661f, -1313, -969, -3346, 0x013D),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.10661f, -1313, -970, -3346, 0x013F),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 45.10661f, -1313, -970, -3346, 0x006D),
|
||||
CS_CAM_FOCUS_POINT_LIST(91, 1299),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 44.70661f, -1405, -988, -3343, 0x00C6),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 7, 44.70661f, -1406, -989, -3344, 0x00C8),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 7, 44.70661f, -1406, -989, -3344, 0x00D7),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 7, 44.70661f, -1406, -989, -3344, 0x00E8),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 7, 60.906673f, -1393, -978, -3342, 0x00EA),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.906673f, -1393, -977, -3342, 0x013D),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.906673f, -1393, -977, -3342, 0x013F),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 60.906673f, -1393, -977, -3342, 0x014E),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.906673f, -1393, -977, -3342, 0x015F),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.906673f, -1393, -977, -3342, 0x0161),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 60.906673f, -1401, -1094, -3347, 0x652E),
|
||||
CS_CAM_FOCUS_POINT_LIST(211, 361),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 30.306555f, -1426, -857, -3190, 0x00C6),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 30.306555f, -1426, -857, -3190, 0x00C8),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 30.306555f, -1426, -857, -3190, 0x00D7),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 30.306555f, -1426, -857, -3190, 0x00E8),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 30.306555f, -1426, -857, -3190, 0x00EA),
|
||||
CS_END(),
|
||||
CS_PAD(),
|
||||
CS_PAD(),
|
||||
};
|
||||
|
||||
u32 D_80AF1728[] = {
|
||||
0x00000007, 0x00000488, 0x00000003, 0x00000001, 0x000C004B, 0x02730000, 0x00000000, 0x00000000, 0xFFFFFFC0,
|
||||
0x00000032, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0x00000000, 0x00000000, 0x00000030, 0x00000001,
|
||||
0x00020000, 0x005A0000, 0x00000000, 0xFFFFFAB0, 0xFFFFFC3D, 0xFFFFF2F1, 0xFFFFFAB0, 0xFFFFFC3D, 0xFFFFF2F1,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00010000, 0x04430000, 0x00000000, 0x42226662, 0xFA9BFC42,
|
||||
0xF2FD8BC0, 0x00000000, 0x42226662, 0xFA9BFC42, 0xF2FD2200, 0x00000000, 0x42226662, 0xFA9BFC42, 0xF2FD0000,
|
||||
0x00000000, 0x42226662, 0xFA9BFC42, 0xF2FDD0E8, 0xFF000000, 0x42226662, 0xFA9BFC42, 0xF2FD0000, 0x00000005,
|
||||
0x00010028, 0x046B0000, 0x00000000, 0x424B3339, 0x00130028, 0x00358BC0, 0x00000000, 0x424B3339, 0x00130028,
|
||||
0x00352200, 0x00000000, 0x424B3339, 0x00130028, 0x00350000, 0x00000000, 0x424B3339, 0x00130028, 0x0035D0E8,
|
||||
0xFF000000, 0x424B3339, 0x00130028, 0x00350000, 0x00000002, 0x00010000, 0x04600000, 0x0000001E, 0x42226662,
|
||||
0xFB38FC2D, 0xF2DA8BC0, 0x0000001E, 0x42226662, 0xFB38FC2D, 0xF2DA2200, 0x000003E8, 0x42226662, 0xFB38FC2D,
|
||||
0xF2DA0000, 0x0000001E, 0x42226662, 0xFB38FC2D, 0xF2DAD0E8, 0xFF00001E, 0x42226662, 0xFB38FC2D, 0xF2DA0000,
|
||||
0x00000006, 0x00010028, 0x04880000, 0x0000001E, 0x424B3339, 0xFFDD0038, 0xFFA38BC0, 0x0000001E, 0x424B3339,
|
||||
0xFFDD0038, 0xFFA32200, 0x000003E8, 0x424B3339, 0xFFDD0038, 0xFFA30000, 0x0000001E, 0x424B3339, 0xFFDD0038,
|
||||
0xFFA3D0E8, 0xFF00001E, 0x424B3339, 0xFFDD0038, 0xFFA30000, 0x00000013, 0x00000002, 0xFFFF0000, 0x0023FFFF,
|
||||
0xFFFFFFFF, 0x404F0023, 0x00460000, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000,
|
||||
CutsceneData D_80AF1728[] = {
|
||||
CS_BEGIN_CUTSCENE(7, 1160),
|
||||
CS_MISC_LIST(1),
|
||||
CS_MISC(0x000C, 75, 627, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0x00000000, 0x00000000),
|
||||
CS_NPC_ACTION_LIST(48, 1),
|
||||
CS_NPC_ACTION(0x0002, 0, 90, 0x0000, 0x0000, 0x0000, -1360, -963, -3343, -1360, -963, -3343, 0.0f, 0.0f, 0.0f),
|
||||
CS_CAM_POS_LIST(0, 1091),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.599983f, -1381, -958, -3331, 0x8BC0),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.599983f, -1381, -958, -3331, 0x2200),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.599983f, -1381, -958, -3331, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 40.599983f, -1381, -958, -3331, 0xD0E8),
|
||||
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 40.599983f, -1381, -958, -3331, 0x0000),
|
||||
CS_CAM_POS_PLAYER_LIST(40, 1131),
|
||||
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 50.800022f, 19, 40, 53, 0x8BC0),
|
||||
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 50.800022f, 19, 40, 53, 0x2200),
|
||||
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 50.800022f, 19, 40, 53, 0x0000),
|
||||
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 50.800022f, 19, 40, 53, 0xD0E8),
|
||||
CS_CAM_POS_PLAYER(CS_CMD_STOP, 0x00, 0, 50.800022f, 19, 40, 53, 0x0000),
|
||||
CS_CAM_FOCUS_POINT_LIST(0, 1120),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 40.599983f, -1224, -979, -3366, 0x8BC0),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 40.599983f, -1224, -979, -3366, 0x2200),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 40.599983f, -1224, -979, -3366, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 40.599983f, -1224, -979, -3366, 0xD0E8),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 40.599983f, -1224, -979, -3366, 0x0000),
|
||||
CS_CAM_FOCUS_POINT_PLAYER_LIST(40, 1160),
|
||||
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 50.800022f, -35, 56, -93, 0x8BC0),
|
||||
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 50.800022f, -35, 56, -93, 0x2200),
|
||||
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 1000, 50.800022f, -35, 56, -93, 0x0000),
|
||||
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 50.800022f, -35, 56, -93, 0xD0E8),
|
||||
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_STOP, 0x00, 30, 50.800022f, -35, 56, -93, 0x0000),
|
||||
CS_TEXT_LIST(2),
|
||||
CS_TEXT_NONE(0, 35),
|
||||
CS_TEXT_DISPLAY_TEXTBOX(0x404F, 35, 70, 0x0000, 0xFFFF, 0xFFFF),
|
||||
CS_END(),
|
||||
CS_PAD(),
|
||||
};
|
||||
// clang-format on
|
||||
|
|
|
@ -58,7 +58,7 @@ static u32 D_80AF410C[] = {
|
|||
|
||||
static u32 D_80AF4118 = 0;
|
||||
|
||||
#include "z_en_ru2_cutscene_data.c"
|
||||
#include "z_en_ru2_cutscene_data.c" EARLY
|
||||
|
||||
static EnRu2ActionFunc D_80AF50BC[] = {
|
||||
func_80AF2CB4, func_80AF2CD4, func_80AF2CF4, func_80AF2D2C, func_80AF2D6C, func_80AF2DAC, func_80AF2DEC,
|
||||
|
@ -176,15 +176,15 @@ s32 EnRu2_FrameUpdateMatrix(EnRu2* this) {
|
|||
return SkelAnime_FrameUpdateMatrix(&this->skelAnime);
|
||||
}
|
||||
|
||||
CsCmdActorAction* func_80AF27AC(GlobalContext* globalCtx, s32 actorActionIdx) {
|
||||
CsCmdActorAction* func_80AF27AC(GlobalContext* globalCtx, s32 npcActionIdx) {
|
||||
if (globalCtx->csCtx.state != 0) {
|
||||
return globalCtx->csCtx.actorActions[actorActionIdx];
|
||||
return globalCtx->csCtx.npcActions[npcActionIdx];
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
s32 func_80AF27D0(EnRu2* this, GlobalContext* globalCtx, u16 arg2, s32 actorActionIdx) {
|
||||
CsCmdActorAction* csCmdActorAction = func_80AF27AC(globalCtx, actorActionIdx);
|
||||
s32 func_80AF27D0(EnRu2* this, GlobalContext* globalCtx, u16 arg2, s32 npcActionIdx) {
|
||||
CsCmdActorAction* csCmdActorAction = func_80AF27AC(globalCtx, npcActionIdx);
|
||||
|
||||
if (csCmdActorAction != NULL && csCmdActorAction->action == arg2) {
|
||||
return 1;
|
||||
|
@ -192,25 +192,25 @@ s32 func_80AF27D0(EnRu2* this, GlobalContext* globalCtx, u16 arg2, s32 actorActi
|
|||
return 0;
|
||||
}
|
||||
|
||||
s32 func_80AF281C(EnRu2* this, GlobalContext* globalCtx, u16 arg2, s32 actorActionIdx) {
|
||||
CsCmdActorAction* csCmdActorAction = func_80AF27AC(globalCtx, actorActionIdx);
|
||||
s32 func_80AF281C(EnRu2* this, GlobalContext* globalCtx, u16 arg2, s32 npcActionIdx) {
|
||||
CsCmdActorAction* csCmdNPCAction = func_80AF27AC(globalCtx, npcActionIdx);
|
||||
|
||||
if (csCmdActorAction != NULL && csCmdActorAction->action != arg2) {
|
||||
if (csCmdNPCAction != NULL && csCmdNPCAction->action != arg2) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void func_80AF2868(EnRu2* this, GlobalContext* globalCtx, u32 actorActionIdx) {
|
||||
CsCmdActorAction* csCmdActorAction = func_80AF27AC(globalCtx, actorActionIdx);
|
||||
void func_80AF2868(EnRu2* this, GlobalContext* globalCtx, u32 npcActionIdx) {
|
||||
CsCmdActorAction* csCmdNPCAction = func_80AF27AC(globalCtx, npcActionIdx);
|
||||
s16 newRotY;
|
||||
Actor* thisx = &this->actor;
|
||||
|
||||
if (csCmdActorAction != NULL) {
|
||||
thisx->posRot.pos.x = csCmdActorAction->startPos.x;
|
||||
thisx->posRot.pos.y = csCmdActorAction->startPos.y;
|
||||
thisx->posRot.pos.z = csCmdActorAction->startPos.z;
|
||||
newRotY = csCmdActorAction->rot.y;
|
||||
if (csCmdNPCAction != NULL) {
|
||||
thisx->posRot.pos.x = csCmdNPCAction->startPos.x;
|
||||
thisx->posRot.pos.y = csCmdNPCAction->startPos.y;
|
||||
thisx->posRot.pos.z = csCmdNPCAction->startPos.z;
|
||||
newRotY = csCmdNPCAction->rot.y;
|
||||
thisx->shape.rot.y = newRotY;
|
||||
thisx->posRot.rot.y = newRotY;
|
||||
}
|
||||
|
@ -282,10 +282,10 @@ void func_80AF2AB4(EnRu2* this, GlobalContext* globalCtx) {
|
|||
|
||||
void func_80AF2B44(EnRu2* this, GlobalContext* globalCtx) {
|
||||
CutsceneContext* csCtx = &globalCtx->csCtx;
|
||||
CsCmdActorAction* csCmdActorAction;
|
||||
CsCmdActorAction* csCmdNPCAction;
|
||||
if (csCtx->state != 0) {
|
||||
csCmdActorAction = csCtx->actorActions[3];
|
||||
if (csCmdActorAction != NULL && csCmdActorAction->action == 2) {
|
||||
csCmdNPCAction = csCtx->npcActions[3];
|
||||
if (csCmdNPCAction != NULL && csCmdNPCAction->action == 2) {
|
||||
this->action = 2;
|
||||
this->drawConfig = 1;
|
||||
func_80AF29DC(this, globalCtx);
|
||||
|
@ -302,10 +302,10 @@ void func_80AF2B94(EnRu2* this) {
|
|||
|
||||
void func_80AF2BC0(EnRu2* this, GlobalContext* globalCtx) {
|
||||
AnimationHeader* animation = &D_0600D3DC;
|
||||
CsCmdActorAction* csCmdActorAction;
|
||||
CsCmdActorAction* csCmdNPCAction;
|
||||
if (globalCtx->csCtx.state != 0) {
|
||||
csCmdActorAction = globalCtx->csCtx.actorActions[3];
|
||||
if (csCmdActorAction != NULL && csCmdActorAction->action == 3) {
|
||||
csCmdNPCAction = globalCtx->csCtx.npcActions[3];
|
||||
if (csCmdNPCAction != NULL && csCmdNPCAction->action == 3) {
|
||||
SkelAnime_ChangeAnim(&this->skelAnime, animation, 1.0f, 0.0f,
|
||||
SkelAnime_GetFrameCount(&animation->genericHeader), 2, 0.0f);
|
||||
this->action = 4;
|
||||
|
@ -320,10 +320,10 @@ void func_80AF2C54(EnRu2* this, UNK_TYPE arg1) {
|
|||
}
|
||||
|
||||
void func_80AF2C68(EnRu2* this, GlobalContext* globalCtx) {
|
||||
CsCmdActorAction* csCmdActorAction;
|
||||
CsCmdActorAction* csCmdNPCAction;
|
||||
if (globalCtx->csCtx.state != 0) {
|
||||
csCmdActorAction = globalCtx->csCtx.actorActions[6];
|
||||
if (csCmdActorAction != NULL && csCmdActorAction->action == 2) {
|
||||
csCmdNPCAction = globalCtx->csCtx.npcActions[6];
|
||||
if (csCmdNPCAction != NULL && csCmdNPCAction->action == 2) {
|
||||
this->action = 6;
|
||||
func_80AF2A38(this, globalCtx);
|
||||
}
|
||||
|
@ -537,12 +537,12 @@ void func_80AF3530(EnRu2* this, UNK_TYPE arg1) {
|
|||
}
|
||||
|
||||
void func_80AF3564(EnRu2* this, GlobalContext* globalCtx) {
|
||||
CsCmdActorAction* csCmdActorAction = func_80AF27AC(globalCtx, 3);
|
||||
CsCmdActorAction* csCmdNPCAction = func_80AF27AC(globalCtx, 3);
|
||||
s32 action;
|
||||
s32 unk_2BC;
|
||||
|
||||
if (csCmdActorAction != NULL) {
|
||||
action = csCmdActorAction->action;
|
||||
if (csCmdNPCAction != NULL) {
|
||||
action = csCmdNPCAction->action;
|
||||
unk_2BC = this->unk_2BC;
|
||||
if (action != unk_2BC) {
|
||||
switch (action) {
|
||||
|
|
|
@ -1,116 +1,226 @@
|
|||
#include "z_en_ru2.h"
|
||||
|
||||
static u32 D_80AF411C[] = {
|
||||
0x00000023, 0x00000D0A, 0x00000020, 0x00000001, 0x00010000, 0x0BB80000, 0x00000000, 0x00000000, 0xFFFFFFFC,
|
||||
0x00000002, 0x00000000, 0xFFFFFFFC, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x0000001F, 0x00000005,
|
||||
0x00010000, 0x033D0000, 0x00000000, 0x00000000, 0x000000D8, 0x00000000, 0x00000000, 0x000000D8, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x0002033D, 0x033E0000, 0x00000000, 0x00000000, 0x000000D8, 0x00000000,
|
||||
0x00000000, 0x000000D8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0004033E, 0x03820000, 0x00000000,
|
||||
0x00000000, 0x000000D8, 0x00000000, 0x00000000, 0x000000D8, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00020382, 0x03B40000, 0x00000000, 0x00000000, 0x000000D8, 0x00000000, 0x00000000, 0x00000052, 0x00000000,
|
||||
0x00000000, 0xC02B851F, 0x00000000, 0x000303B4, 0x0D0A0000, 0x00000000, 0x00000000, 0x00000052, 0x00000000,
|
||||
0x00000000, 0x00000052, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000A, 0x00000005, 0x000D0000,
|
||||
0x00F00000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x000500F0, 0x02080000, 0x40000000, 0x00000000, 0x00000006, 0x00000000, 0x00000000,
|
||||
0x00000006, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00030208, 0x02260000, 0x40000000, 0x00000000,
|
||||
0x00000006, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00050226,
|
||||
0x03210000, 0x40000000, 0x00000000, 0x00000006, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00130321, 0x07A40000, 0xC0000000, 0x00000000, 0x00000006, 0x00000000, 0x00000000,
|
||||
0x00000006, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000031, 0x00000001, 0x00010000, 0x0BB80000,
|
||||
0x00000000, 0x00000000, 0xFFFFFFF0, 0xFFFFFF87, 0x00000000, 0xFFFFFFF0, 0xFFFFFF87, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000004, 0x00000005, 0x00050000, 0x01800000, 0x00000000, 0xFFFFFFA1, 0x00000000, 0x00000058,
|
||||
0xFFFFFFA1, 0x00000000, 0x00000058, 0x00000000, 0x00000000, 0x00000000, 0x00060180, 0x01C60000, 0x00000000,
|
||||
0xFFFFFFA1, 0x00000000, 0x00000058, 0xFFFFFFA1, 0x00000000, 0x00000058, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x000501C6, 0x022A0000, 0x00000000, 0xFFFFFFA1, 0x00000000, 0x00000058, 0xFFFFFFA1, 0x00000000, 0x00000058,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x0006022A, 0x02700000, 0x00000000, 0xFFFFFFA1, 0x00000000, 0x00000058,
|
||||
0xFFFFFFA1, 0x00000000, 0x00000058, 0x00000000, 0x00000000, 0x00000000, 0x00050270, 0x0BB90000, 0x00000000,
|
||||
0xFFFFFFA1, 0x00000000, 0x00000058, 0xFFFFFFA1, 0x00000000, 0x00000058, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000027, 0x00000001, 0x00010000, 0x0BB80000, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFE, 0x00000000,
|
||||
0x00000000, 0xFFFFFFFE, 0x00000000, 0x00000000, 0x00000000, 0x0000002A, 0x00000003, 0x00010000, 0x00920000,
|
||||
0x00000000, 0x000000C3, 0x00000006, 0x00000000, 0x000000C3, 0x00000006, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00020092, 0x02F20000, 0x00000000, 0x000000C3, 0x00000006, 0x00000000, 0x000000C3, 0x00000006,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000302F2, 0x0A440000, 0x00000000, 0x000000C3, 0x00000006,
|
||||
0x00000000, 0x000000C3, 0x00000006, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000002D, 0x00000001,
|
||||
0x0001032A, 0x03370337, 0x0000002D, 0x00000001, 0x00050339, 0x03570357, 0x0000002D, 0x00000001, 0x00010442,
|
||||
0x04610461, 0x00000001, 0x00010000, 0x012D0000, 0x00000000, 0x432F65F8, 0xFD97001E, 0x00470000, 0x00000000,
|
||||
0x432F65F8, 0xFD97001E, 0x00471FBC, 0x00000000, 0x432F65F8, 0xFD97001E, 0x0047D5E0, 0x00000000, 0x432F65F8,
|
||||
0xFD97001E, 0x00470000, 0x00000000, 0x432F65F8, 0xFD97001E, 0x00471F98, 0x00000000, 0x432F65F8, 0xFD97001E,
|
||||
0x00470000, 0x00000000, 0x4311CC7C, 0xFE38006B, 0x00380000, 0x00000000, 0x42726667, 0xFFB40036, 0x00470164,
|
||||
0x00000000, 0x42726667, 0x00740036, 0x00602100, 0x00000000, 0x42726667, 0x00EC000B, 0x00400049, 0x00000000,
|
||||
0x42726667, 0x00EC000B, 0x0040204C, 0x00000000, 0x42726667, 0x00EC000B, 0x0040E990, 0xFF000000, 0x42726667,
|
||||
0x00EC000B, 0x00400000, 0x00000001, 0x00010107, 0x05CC0000, 0x00000000, 0x4228E87B, 0x00A10035, 0x001A0000,
|
||||
0x00000000, 0x4228E87B, 0x00A10035, 0x001A1FBC, 0x00000000, 0x4228E87B, 0x00A10035, 0x001AD5E0, 0x00000000,
|
||||
0x4228E87B, 0x00820009, 0x00600000, 0x00000000, 0x4228E87B, 0x00820009, 0x00601F98, 0x00000000, 0x4228E87B,
|
||||
0x00820009, 0x00600000, 0x00000000, 0x4228E87B, 0x00820009, 0x00600000, 0xFF000000, 0x4228E87B, 0x00820009,
|
||||
0x00600164, 0x00000001, 0x0001017F, 0x05C20000, 0x00000000, 0x428C743C, 0x00CF002D, 0x00220000, 0x00000000,
|
||||
0x428C743C, 0x00CF002D, 0x00221FBC, 0x00000000, 0x428C743C, 0x00CF002D, 0x0022D5E0, 0x00000000, 0x428C743C,
|
||||
0x00CF002D, 0x00220000, 0xFF000000, 0x428C743C, 0x00CF002D, 0x00221F98, 0x00000001, 0x000101C5, 0x06080000,
|
||||
0x00000000, 0x42341BB1, 0xFFC6005A, 0x00460000, 0x00000000, 0x42341BB1, 0xFFC6005A, 0x00461FBC, 0x00000000,
|
||||
0x42341BB1, 0xFFC6005A, 0x0046D5E0, 0x00000000, 0x42341BB1, 0xFFC6005A, 0x00460000, 0xFF000000, 0x42341BB1,
|
||||
0xFFC6005A, 0x00461F98, 0x00000001, 0x00010229, 0x066C0000, 0x00000000, 0x428C743C, 0x00CF002D, 0x00220000,
|
||||
0x00000000, 0x428C743C, 0x00CF002D, 0x00221FBC, 0x00000000, 0x428C743C, 0x00CF002D, 0x0022D5E0, 0x00000000,
|
||||
0x428C743C, 0x00CF002D, 0x00220000, 0xFF000000, 0x428C743C, 0x00CF002D, 0x00221F98, 0x00000001, 0x0001026F,
|
||||
0x06B20000, 0x00000000, 0x4271B55A, 0x00A1003B, 0x00000000, 0x00000000, 0x4271B55A, 0x00A1003B, 0x00001FBC,
|
||||
0x00000000, 0x4271B55A, 0x00A1003B, 0x0000D5E0, 0x00000000, 0x4271B55A, 0x00A1003B, 0x00000000, 0xFF000000,
|
||||
0x4271B55A, 0x00A1003B, 0x00001F98, 0x00000001, 0x000102B5, 0x06F80000, 0x00000000, 0x4271B55A, 0x00970052,
|
||||
0x00230000, 0x00000000, 0x4271B55A, 0x00970052, 0x00231FBC, 0x00000000, 0x4271B55A, 0x00970052, 0x0023D5E0,
|
||||
0x00000000, 0x4271B55A, 0x00970052, 0x00230000, 0xFF000000, 0x4271B55A, 0x00970052, 0x00231F98, 0x00000001,
|
||||
0x000102FB, 0x03B00000, 0x00000000, 0x4271B55A, 0x00E60007, 0x00180000, 0x00000000, 0x4271B55A, 0x00E60007,
|
||||
0x00181FBC, 0x00000000, 0x4271B55A, 0x00E60007, 0x0018D5E0, 0x00000000, 0x4271B55A, 0x00CF003E, 0x000F0000,
|
||||
0x00000000, 0x428CDAA2, 0x00E600F0, 0x00181F98, 0x00000000, 0x428CDAA2, 0x00E600F0, 0x00180000, 0x00000000,
|
||||
0x428CDAA2, 0x00E600F0, 0x00180000, 0xFF000000, 0x428CDAA2, 0x00E600F0, 0x00180164, 0x00000001, 0x00010337,
|
||||
0x048D0000, 0x00000000, 0x42700000, 0x000D0356, 0x00020000, 0x00000000, 0x42700000, 0x00090355, 0x00051FBC,
|
||||
0x00000000, 0x42700000, 0xFFFD0355, 0x0005D5E0, 0x00000000, 0x42700000, 0xFFF70355, 0xFFFA0000, 0x00000000,
|
||||
0x42700000, 0xFFFE0354, 0xFFEF1F98, 0x00000000, 0x42700000, 0x00090354, 0xFFEF0000, 0x00000000, 0x42700000,
|
||||
0x00100354, 0xFFFA0000, 0x00000000, 0x42700000, 0x00090354, 0x00050164, 0xFF000000, 0x42700000, 0xFFFD0353,
|
||||
0x00052100, 0x00000005, 0x00010383, 0x08200000, 0x00000000, 0x4289332C, 0x00000021, 0xFFE50000, 0x00000000,
|
||||
0x4289332C, 0x00000021, 0xFFE51FBC, 0x00000000, 0x4289332C, 0x00000044, 0xFFE6D5E0, 0x00000000, 0x4289332C,
|
||||
0x00000067, 0xFFE60000, 0x00000000, 0x4289332C, 0x00000067, 0xFFE61F98, 0x00000000, 0x4289332C, 0x00000067,
|
||||
0xFFE60000, 0x00000000, 0x4289332C, 0x00000067, 0xFFE60000, 0xFF000000, 0x4289332C, 0x00000067, 0xFFE60164,
|
||||
0x00000002, 0x00010000, 0x014A0000, 0x001E0014, 0x432F65F8, 0xFD77FFB5, 0x00650000, 0x00E20014, 0x432F65F8,
|
||||
0xFD74FFB5, 0x00621FBC, 0x001E0014, 0x432F65F8, 0xFD6EFFB5, 0x0057D5E0, 0x00E20014, 0x432F65F8, 0xFD5A007F,
|
||||
0x00470000, 0x00000014, 0x432F65F8, 0xFD290000, 0x00471F98, 0x00000014, 0x4311CC7C, 0xFDFF0000, 0x002B0000,
|
||||
0x0000001E, 0x42726667, 0xFEA30059, 0x002F0000, 0x0000001E, 0x42726667, 0x0006003D, 0x00010164, 0x0000001E,
|
||||
0x42726667, 0x00210042, 0x001C2100, 0x0000001E, 0x42726667, 0x009E002A, 0x00010049, 0x0000001E, 0x42726667,
|
||||
0x009E002A, 0x0001204C, 0x0000001E, 0x42726667, 0x009E002A, 0x0001E990, 0xFF00001E, 0x42726667, 0x009E002A,
|
||||
0x00010000, 0x00000002, 0x00010107, 0x05E90000, 0x0000001E, 0x4228E87B, 0x0142003E, 0xFF860000, 0x0000001E,
|
||||
0x4228E87B, 0x0142003E, 0xFF861FBC, 0x00000032, 0x4228E87B, 0x0142003E, 0xFF86D5E0, 0x00000032, 0x4228E87B,
|
||||
0x00E8003F, 0xFFAD0000, 0x0000001E, 0x4228E87B, 0x00E8003F, 0xFFAD1F98, 0x000003E8, 0x4228E87B, 0x00E8003F,
|
||||
0xFFAD0000, 0x0000001E, 0x4228E87B, 0x00E8003F, 0xFFAD0000, 0xFF00001E, 0x4228E87B, 0x00E8003F, 0xFFAD0164,
|
||||
0x00000002, 0x0001017F, 0x05DF0000, 0x0000001E, 0x428C743C, 0x0033003E, 0xFF970000, 0x0000001E, 0x428C743C,
|
||||
0x0033003E, 0xFF971FBC, 0x000003E8, 0x428C743C, 0x0033003E, 0xFF97D5E0, 0x0000001E, 0x428C743C, 0x0033003E,
|
||||
0xFF970000, 0xFF00001E, 0x428C743C, 0x0033003E, 0xFF971F98, 0x00000002, 0x000101C5, 0x06250000, 0x0000001E,
|
||||
0x42341BB1, 0x00660016, 0xFFE10000, 0x0000001E, 0x42341BB1, 0x00660016, 0xFFE11FBC, 0x000003E8, 0x42341BB1,
|
||||
0x00660016, 0xFFE1D5E0, 0x0000001E, 0x42341BB1, 0x00660016, 0xFFE10000, 0xFF00001E, 0x42341BB1, 0x00660016,
|
||||
0xFFE11F98, 0x00000002, 0x00010229, 0x06890000, 0x0000001E, 0x428C743C, 0x0033003E, 0xFF970000, 0x0000001E,
|
||||
0x428C743C, 0x0033003E, 0xFF971FBC, 0x000003E8, 0x428C743C, 0x0033003E, 0xFF97D5E0, 0x0000001E, 0x428C743C,
|
||||
0x0033003E, 0xFF970000, 0xFF00001E, 0x428C743C, 0x0033003E, 0xFF971F98, 0x00000002, 0x0001026F, 0x06CF0000,
|
||||
0x0000001E, 0x4271B55A, 0x015B0016, 0x00000000, 0x0000001E, 0x4271B55A, 0x015B0016, 0x00001FBC, 0x000003E8,
|
||||
0x4271B55A, 0x015B0016, 0x0000D5E0, 0x0000001E, 0x4271B55A, 0x015B0016, 0x00000000, 0xFF00001E, 0x4271B55A,
|
||||
0x015B0016, 0x00001F98, 0x00000002, 0x000102B5, 0x07150000, 0x0000001E, 0x4271B55A, 0x0102FFE2, 0xFFCA0000,
|
||||
0x0000001E, 0x4271B55A, 0x0102FFE2, 0xFFCA1FBC, 0x000003E8, 0x4271B55A, 0x0102FFE2, 0xFFCAD5E0, 0x0000001E,
|
||||
0x4271B55A, 0x0102FFE2, 0xFFCA0000, 0xFF00001E, 0x4271B55A, 0x0102FFE2, 0xFFCA1F98, 0x00000002, 0x000102FB,
|
||||
0x03CD0000, 0x0000001E, 0x4271B55A, 0x00600069, 0xFFE30000, 0x00000028, 0x4271B55A, 0x00600069, 0xFFE31FBC,
|
||||
0x0000000F, 0x4271B55A, 0x00600069, 0xFFE3D5E0, 0x0000000F, 0x42701BC0, 0x006E00C4, 0xFFE60000, 0x00000014,
|
||||
0x428CDAA2, 0x00B9018F, 0x00061F98, 0x0000001E, 0x428CDAA2, 0x00B9018F, 0x00060000, 0x0000001E, 0x428CDAA2,
|
||||
0x00B9018F, 0x00060000, 0xFF00001E, 0x428CDAA2, 0x00B9018F, 0x00060164, 0x00000002, 0x00010337, 0x04BE0000,
|
||||
0x00000032, 0x42700000, 0x00030006, 0xFFFA0000, 0x00000028, 0x42700000, 0x00030006, 0xFFFA1FBC, 0x0000001E,
|
||||
0x424BFFF7, 0x00030006, 0xFFFAD5E0, 0x00000014, 0x41A4CC7E, 0x00030006, 0xFFFA0000, 0x00000033, 0x412CCC23,
|
||||
0x00030006, 0xFFFA1F98, 0x00000032, 0x412665BD, 0x00030006, 0xFFFA0000, 0x00000032, 0x412665BD, 0x00030006,
|
||||
0xFFFA0000, 0x00000032, 0x4123328A, 0x00030006, 0xFFFA0164, 0xFF000032, 0x412FFF56, 0x00030006, 0xFFFA2100,
|
||||
0x00000006, 0x00010383, 0x083D0000, 0x0000001E, 0x4289332C, 0x00000064, 0x00050000, 0x0000001E, 0x4289332C,
|
||||
0x00000065, 0x00061FBC, 0x0000001E, 0x4289332C, 0x00010063, 0x0029D5E0, 0x0000001E, 0x4289332C, 0x0000002A,
|
||||
0x00100000, 0x0000001E, 0x4289332C, 0x0000002A, 0x00101F98, 0x000003E8, 0x4289332C, 0x0000002A, 0x00100000,
|
||||
0x0000001E, 0x4289332C, 0x0000002A, 0x00100000, 0xFF00001E, 0x4289332C, 0x0000002A, 0x00100164, 0x0000003E,
|
||||
0x00000001, 0x00040000, 0x0BB8C10F, 0x00000000, 0x0000004D, 0x00000050, 0xFFFFFFFE, 0x00000000, 0x00000050,
|
||||
0x00000000, 0xBCD242E7, 0x00000000, 0x3CD242E7, 0x00000013, 0x0000000E, 0xFFFF0000, 0x018AFFFF, 0xFFFFFFFF,
|
||||
0x4041018A, 0x01BC0000, 0x00000000, 0xFFFF01BC, 0x01D0FFFF, 0xFFFFFFFF, 0x404601D0, 0x021F0000, 0x00000000,
|
||||
0xFFFF021F, 0x0234FFFF, 0xFFFFFFFF, 0x40490234, 0x02650000, 0x00000000, 0xFFFF0265, 0x027AFFFF, 0xFFFFFFFF,
|
||||
0x4047027A, 0x02AC0000, 0x00000000, 0xFFFF02AC, 0x02C0FFFF, 0xFFFFFFFF, 0x404A02C0, 0x02EE0000, 0x00000000,
|
||||
0xFFFF02EE, 0x043DFFFF, 0xFFFFFFFF, 0x003D043D, 0x04420000, 0x00000000, 0xFFFF0442, 0x047EFFFF, 0xFFFFFFFF,
|
||||
0x4042047E, 0x04880000, 0x00000000, 0x000003E8, 0x00000001, 0x001504A6, 0x04BD04BD, 0x00000056, 0x00000001,
|
||||
0x00440384, 0x03850000, 0x00000000, 0x00000000, 0xFFFFFFC7, 0x00000034, 0x00000000, 0xFFFFFFC7, 0x00000034,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x0000007C, 0x00000001, 0x00040320, 0x03520000, 0x00000000, 0x00000000,
|
||||
0xFFFFFFC6, 0x00000030, 0x00000000, 0xFFFFFFC6, 0x00000030, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF,
|
||||
0x00000000,
|
||||
#include <z64cutscene_commands.h>
|
||||
|
||||
static CutsceneData D_80AF411C[] = {
|
||||
// clang-format off
|
||||
CS_BEGIN_CUTSCENE(35, 3338),
|
||||
CS_UNK_DATA_LIST(0x00000020, 1),
|
||||
CS_UNK_DATA(0x00010000, 0x0BB80000, 0x00000000, 0x00000000, 0xFFFFFFFC, 0x00000002, 0x00000000, 0xFFFFFFFC, 0x00000002, 0x00000000, 0x00000000, 0x00000000),
|
||||
CS_NPC_ACTION_LIST(31, 5),
|
||||
CS_NPC_ACTION(0x0001, 0, 829, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 216, 0, 0.0f, 0.0f, 0.0f),
|
||||
CS_NPC_ACTION(0x0002, 829, 830, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 216, 0, 0.0f, 0.0f, 0.0f),
|
||||
CS_NPC_ACTION(0x0004, 830, 898, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 216, 0, 0.0f, 0.0f, 0.0f),
|
||||
CS_NPC_ACTION(0x0002, 898, 948, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 82, 0, 0.0f, -2.68f, 0.0f),
|
||||
CS_NPC_ACTION(0x0003, 948, 3338, 0x0000, 0x0000, 0x0000, 0, 82, 0, 0, 82, 0, 0.0f, 0.0f, 0.0f),
|
||||
CS_PLAYER_ACTION_LIST(5),
|
||||
CS_PLAYER_ACTION(0x000D, 0, 240, 0x0000, 0x0000, 0x0000, 0, 6, 0, 0, 6, 0, 0.0f, 0.0f, 0.0f),
|
||||
CS_PLAYER_ACTION(0x0005, 240, 520, 0x0000, 0x4000, 0x0000, 0, 6, 0, 0, 6, 0, 0.0f, 0.0f, 0.0f),
|
||||
CS_PLAYER_ACTION(0x0003, 520, 550, 0x0000, 0x4000, 0x0000, 0, 6, 0, 0, 6, 0, 0.0f, 0.0f, 0.0f),
|
||||
CS_PLAYER_ACTION(0x0005, 550, 801, 0x0000, 0x4000, 0x0000, 0, 6, 0, 0, 6, 0, 0.0f, 0.0f, 0.0f),
|
||||
CS_PLAYER_ACTION(0x0013, 801, 1956, 0x0000, 0xC000, 0x0000, 0, 6, 0, 0, 6, 0, 0.0f, 0.0f, 0.0f),
|
||||
CS_NPC_ACTION_LIST(49, 1),
|
||||
CS_NPC_ACTION(0x0001, 0, 3000, 0x0000, 0x0000, 0x0000, 0, -16, -121, 0, -16, -121, 0.0f, 0.0f, 0.0f),
|
||||
CS_LIGHTING_LIST(5),
|
||||
CS_LIGHTING(0x0005, 0, 384, 0x0000, 0x00000000, 0xFFFFFFA1, 0x00000000, 0x00000058, 0xFFFFFFA1, 0x00000000, 0x00000058),
|
||||
CS_LIGHTING(0x0006, 384, 454, 0x0000, 0x00000000, 0xFFFFFFA1, 0x00000000, 0x00000058, 0xFFFFFFA1, 0x00000000, 0x00000058),
|
||||
CS_LIGHTING(0x0005, 454, 554, 0x0000, 0x00000000, 0xFFFFFFA1, 0x00000000, 0x00000058, 0xFFFFFFA1, 0x00000000, 0x00000058),
|
||||
CS_LIGHTING(0x0006, 554, 624, 0x0000, 0x00000000, 0xFFFFFFA1, 0x00000000, 0x00000058, 0xFFFFFFA1, 0x00000000, 0x00000058),
|
||||
CS_LIGHTING(0x0005, 624, 3001, 0x0000, 0x00000000, 0xFFFFFFA1, 0x00000000, 0x00000058, 0xFFFFFFA1, 0x00000000, 0x00000058),
|
||||
CS_NPC_ACTION_LIST(39, 1),
|
||||
CS_NPC_ACTION(0x0001, 0, 3000, 0x0000, 0x0000, 0x0000, 0, 0, -2, 0, 0, -2, 0.0f, 0.0f, 0.0f),
|
||||
CS_NPC_ACTION_LIST(42, 3),
|
||||
CS_NPC_ACTION(0x0001, 0, 146, 0x0000, 0x0000, 0x0000, 195, 6, 0, 195, 6, 0, 0.0f, 0.0f, 0.0f),
|
||||
CS_NPC_ACTION(0x0002, 146, 754, 0x0000, 0x0000, 0x0000, 195, 6, 0, 195, 6, 0, 0.0f, 0.0f, 0.0f),
|
||||
CS_NPC_ACTION(0x0003, 754, 2628, 0x0000, 0x0000, 0x0000, 195, 6, 0, 195, 6, 0, 0.0f, 0.0f, 0.0f),
|
||||
CS_SCENE_TRANS_FX(0x0001, 810, 823),
|
||||
CS_SCENE_TRANS_FX(0x0005, 825, 855),
|
||||
CS_SCENE_TRANS_FX(0x0001, 1090, 1121),
|
||||
CS_CAM_POS_LIST(0, 301),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 175.39832f, -617, 30, 71, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 175.39832f, -617, 30, 71, 0x1FBC),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 175.39832f, -617, 30, 71, 0xD5E0),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 175.39832f, -617, 30, 71, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 175.39832f, -617, 30, 71, 0x1F98),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 175.39832f, -617, 30, 71, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 145.79877f, -456, 107, 56, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.600002f, -76, 54, 71, 0x0164),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.600002f, 116, 54, 96, 0x2100),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.600002f, 236, 11, 64, 0x0049),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.600002f, 236, 11, 64, 0x204C),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.600002f, 236, 11, 64, 0xE990),
|
||||
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 60.600002f, 236, 11, 64, 0x0000),
|
||||
CS_CAM_POS_LIST(263, 1484),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 42.22703f, 161, 53, 26, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 42.22703f, 161, 53, 26, 0x1FBC),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 42.22703f, 161, 53, 26, 0xD5E0),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 42.22703f, 130, 9, 96, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 42.22703f, 130, 9, 96, 0x1F98),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 42.22703f, 130, 9, 96, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 42.22703f, 130, 9, 96, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 42.22703f, 130, 9, 96, 0x0164),
|
||||
CS_CAM_POS_LIST(383, 1474),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.22702f, 207, 45, 34, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.22702f, 207, 45, 34, 0x1FBC),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.22702f, 207, 45, 34, 0xD5E0),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.22702f, 207, 45, 34, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 70.22702f, 207, 45, 34, 0x1F98),
|
||||
CS_CAM_POS_LIST(453, 1544),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.027042f, -58, 90, 70, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.027042f, -58, 90, 70, 0x1FBC),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.027042f, -58, 90, 70, 0xD5E0),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 45.027042f, -58, 90, 70, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 45.027042f, -58, 90, 70, 0x1F98),
|
||||
CS_CAM_POS_LIST(553, 1644),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.22702f, 207, 45, 34, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.22702f, 207, 45, 34, 0x1FBC),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.22702f, 207, 45, 34, 0xD5E0),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.22702f, 207, 45, 34, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 70.22702f, 207, 45, 34, 0x1F98),
|
||||
CS_CAM_POS_LIST(623, 1714),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.4271f, 161, 59, 0, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.4271f, 161, 59, 0, 0x1FBC),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.4271f, 161, 59, 0, 0xD5E0),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.4271f, 161, 59, 0, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 60.4271f, 161, 59, 0, 0x1F98),
|
||||
CS_CAM_POS_LIST(693, 1784),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.4271f, 151, 82, 35, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.4271f, 151, 82, 35, 0x1FBC),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.4271f, 151, 82, 35, 0xD5E0),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.4271f, 151, 82, 35, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 60.4271f, 151, 82, 35, 0x1F98),
|
||||
CS_CAM_POS_LIST(763, 944),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.4271f, 230, 7, 24, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.4271f, 230, 7, 24, 0x1FBC),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.4271f, 230, 7, 24, 0xD5E0),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.4271f, 207, 62, 15, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.42702f, 230, 240, 24, 0x1F98),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.42702f, 230, 240, 24, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 70.42702f, 230, 240, 24, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 70.42702f, 230, 240, 24, 0x0164),
|
||||
CS_CAM_POS_LIST(823, 1165),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 13, 854, 2, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 9, 853, 5, 0x1FBC),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -3, 853, 5, 0xD5E0),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -9, 853, -6, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, -2, 852, -17, 0x1F98),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 9, 852, -17, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 16, 852, -6, 0x0000),
|
||||
CS_CAM_POS(CS_CMD_CONTINUE, 0x00, 0, 60.0f, 9, 852, 5, 0x0164),
|
||||
CS_CAM_POS(CS_CMD_STOP, 0x00, 0, 60.0f, -3, 851, 5, 0x2100),
|
||||
CS_CAM_POS_PLAYER_LIST(899, 2080),
|
||||
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.599945f, 0, 33, -27, 0x0000),
|
||||
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.599945f, 0, 33, -27, 0x1FBC),
|
||||
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.599945f, 0, 68, -26, 0xD5E0),
|
||||
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.599945f, 0, 103, -26, 0x0000),
|
||||
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.599945f, 0, 103, -26, 0x1F98),
|
||||
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.599945f, 0, 103, -26, 0x0000),
|
||||
CS_CAM_POS_PLAYER(CS_CMD_CONTINUE, 0x00, 0, 68.599945f, 0, 103, -26, 0x0000),
|
||||
CS_CAM_POS_PLAYER(CS_CMD_STOP, 0x00, 0, 68.599945f, 0, 103, -26, 0x0164),
|
||||
CS_CAM_FOCUS_POINT_LIST(0, 330),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x1E, 20, 175.39832f, -649, -75, 101, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0xE2, 20, 175.39832f, -652, -75, 98, 0x1FBC),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x1E, 20, 175.39832f, -658, -75, 87, 0xD5E0),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0xE2, 20, 175.39832f, -678, 127, 71, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 175.39832f, -727, 0, 71, 0x1F98),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 145.79877f, -513, 0, 43, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.600002f, -349, 89, 47, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.600002f, 6, 61, 1, 0x0164),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.600002f, 33, 66, 28, 0x2100),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.600002f, 158, 42, 1, 0x0049),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.600002f, 158, 42, 1, 0x204C),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.600002f, 158, 42, 1, 0xE990),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 60.600002f, 158, 42, 1, 0x0000),
|
||||
CS_CAM_FOCUS_POINT_LIST(263, 1513),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 42.22703f, 322, 62, -122, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 42.22703f, 322, 62, -122, 0x1FBC),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 42.22703f, 322, 62, -122, 0xD5E0),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 42.22703f, 232, 63, -83, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 42.22703f, 232, 63, -83, 0x1F98),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 42.22703f, 232, 63, -83, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 42.22703f, 232, 63, -83, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 42.22703f, 232, 63, -83, 0x0164),
|
||||
CS_CAM_FOCUS_POINT_LIST(383, 1503),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 70.22702f, 51, 62, -105, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 70.22702f, 51, 62, -105, 0x1FBC),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 70.22702f, 51, 62, -105, 0xD5E0),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 70.22702f, 51, 62, -105, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 70.22702f, 51, 62, -105, 0x1F98),
|
||||
CS_CAM_FOCUS_POINT_LIST(453, 1573),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.027042f, 102, 22, -31, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.027042f, 102, 22, -31, 0x1FBC),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 45.027042f, 102, 22, -31, 0xD5E0),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 45.027042f, 102, 22, -31, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 45.027042f, 102, 22, -31, 0x1F98),
|
||||
CS_CAM_FOCUS_POINT_LIST(553, 1673),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 70.22702f, 51, 62, -105, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 70.22702f, 51, 62, -105, 0x1FBC),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 70.22702f, 51, 62, -105, 0xD5E0),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 70.22702f, 51, 62, -105, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 70.22702f, 51, 62, -105, 0x1F98),
|
||||
CS_CAM_FOCUS_POINT_LIST(623, 1743),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.4271f, 347, 22, 0, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.4271f, 347, 22, 0, 0x1FBC),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 60.4271f, 347, 22, 0, 0xD5E0),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.4271f, 347, 22, 0, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 60.4271f, 347, 22, 0, 0x1F98),
|
||||
CS_CAM_FOCUS_POINT_LIST(693, 1813),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.4271f, 258, -30, -54, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.4271f, 258, -30, -54, 0x1FBC),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 1000, 60.4271f, 258, -30, -54, 0xD5E0),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.4271f, 258, -30, -54, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 60.4271f, 258, -30, -54, 0x1F98),
|
||||
CS_CAM_FOCUS_POINT_LIST(763, 973),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 60.4271f, 96, 105, -29, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 40, 60.4271f, 96, 105, -29, 0x1FBC),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 15, 60.4271f, 96, 105, -29, 0xD5E0),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 15, 60.0271f, 110, 196, -26, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 70.42702f, 185, 399, 6, 0x1F98),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 70.42702f, 185, 399, 6, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 70.42702f, 185, 399, 6, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 30, 70.42702f, 185, 399, 6, 0x0164),
|
||||
CS_CAM_FOCUS_POINT_LIST(823, 1214),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 60.0f, 3, 6, -6, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 40, 60.0f, 3, 6, -6, 0x1FBC),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 30, 50.999966f, 3, 6, -6, 0xD5E0),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 20, 20.59985f, 3, 6, -6, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 51, 10.799838f, 3, 6, -6, 0x1F98),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 10.399838f, 3, 6, -6, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 10.399838f, 3, 6, -6, 0x0000),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_CONTINUE, 0x00, 50, 10.199839f, 3, 6, -6, 0x0164),
|
||||
CS_CAM_FOCUS_POINT(CS_CMD_STOP, 0x00, 50, 10.999838f, 3, 6, -6, 0x2100),
|
||||
CS_CAM_FOCUS_POINT_PLAYER_LIST(899, 2109),
|
||||
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 68.599945f, 0, 100, 5, 0x0000),
|
||||
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 68.599945f, 0, 101, 6, 0x1FBC),
|
||||
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 68.599945f, 1, 99, 41, 0xD5E0),
|
||||
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 68.599945f, 0, 42, 16, 0x0000),
|
||||
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 68.599945f, 0, 42, 16, 0x1F98),
|
||||
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 1000, 68.599945f, 0, 42, 16, 0x0000),
|
||||
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_CONTINUE, 0x00, 30, 68.599945f, 0, 42, 16, 0x0000),
|
||||
CS_CAM_FOCUS_POINT_PLAYER(CS_CMD_STOP, 0x00, 30, 68.599945f, 0, 42, 16, 0x0164),
|
||||
CS_NPC_ACTION_LIST(62, 1),
|
||||
CS_NPC_ACTION(0x0004, 0, 3000, 0xC10F, 0x0000, 0x0000, 77, 80, -2, 0, 80, 0, -0.025666667f, 0.0f, 0.025666667f),
|
||||
CS_TEXT_LIST(14),
|
||||
CS_TEXT_NONE(0, 394),
|
||||
CS_TEXT_DISPLAY_TEXTBOX(0x4041, 394, 444, 0x0000, 0x0000, 0x0000),
|
||||
CS_TEXT_NONE(444, 464),
|
||||
CS_TEXT_DISPLAY_TEXTBOX(0x4046, 464, 543, 0x0000, 0x0000, 0x0000),
|
||||
CS_TEXT_NONE(543, 564),
|
||||
CS_TEXT_DISPLAY_TEXTBOX(0x4049, 564, 613, 0x0000, 0x0000, 0x0000),
|
||||
CS_TEXT_NONE(613, 634),
|
||||
CS_TEXT_DISPLAY_TEXTBOX(0x4047, 634, 684, 0x0000, 0x0000, 0x0000),
|
||||
CS_TEXT_NONE(684, 704),
|
||||
CS_TEXT_DISPLAY_TEXTBOX(0x404A, 704, 750, 0x0000, 0x0000, 0x0000),
|
||||
CS_TEXT_NONE(750, 1085),
|
||||
CS_TEXT_DISPLAY_TEXTBOX(0x003D, 1085, 1090, 0x0000, 0x0000, 0x0000),
|
||||
CS_TEXT_NONE(1090, 1150),
|
||||
CS_TEXT_DISPLAY_TEXTBOX(0x4042, 1150, 1160, 0x0000, 0x0000, 0x0000),
|
||||
CS_TERMINATOR(LAKE_HYLIA_WATER_RISES, 1190, 1213),
|
||||
CS_PLAY_BGM_LIST(1),
|
||||
CS_PLAY_BGM(0x0044, 900, 901, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFC7, 0x00000034, 0x00000000, 0xFFFFFFC7, 0x00000034),
|
||||
CS_FADE_BGM_LIST(1),
|
||||
CS_FADE_BGM(0x0004, 800, 850, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFC6, 0x00000030, 0x00000000, 0xFFFFFFC6, 0x00000030),
|
||||
CS_END(),
|
||||
CS_PAD(),
|
||||
// clang-format on
|
||||
};
|
||||
|
|
|
@ -7,6 +7,7 @@ import sys
|
|||
import re
|
||||
import os
|
||||
from collections import namedtuple
|
||||
from io import StringIO
|
||||
|
||||
MAX_FN_SIZE = 100
|
||||
|
||||
|
@ -660,6 +661,9 @@ class GlobalAsmBlock:
|
|||
})
|
||||
return src, fn
|
||||
|
||||
def repl_float_hex(m):
|
||||
return str(struct.unpack(">I", struct.pack(">f", float(m.group(0).strip().rstrip("f"))))[0])
|
||||
|
||||
def parse_source(f, opt, framepointer, input_enc, output_enc, print_source=None):
|
||||
if opt in ['O2', 'O1']:
|
||||
if framepointer:
|
||||
|
@ -688,6 +692,7 @@ def parse_source(f, opt, framepointer, input_enc, output_enc, print_source=None)
|
|||
state = GlobalState(min_instr_count, skip_instr_count)
|
||||
|
||||
global_asm = None
|
||||
is_cutscene_data = False
|
||||
asm_functions = []
|
||||
output_lines = []
|
||||
|
||||
|
@ -724,15 +729,34 @@ def parse_source(f, opt, framepointer, input_enc, output_enc, print_source=None)
|
|||
output_lines[-1] = ''.join(src)
|
||||
asm_functions.append(fn)
|
||||
global_asm = None
|
||||
elif ((line.startswith('#include "')) and line.endswith('" EARLY')):
|
||||
fpath = os.path.dirname(f.name)
|
||||
fname = line[line.index(' ') + 2 : -7]
|
||||
include_src = StringIO()
|
||||
with open(fpath + os.path.sep + fname, encoding=input_enc) as include_file:
|
||||
parse_source(include_file, opt, framepointer, input_enc, output_enc, include_src)
|
||||
output_lines[-1] = include_src.getvalue()
|
||||
include_src.write('#line ' + str(line_no) + '\n')
|
||||
include_src.close()
|
||||
else:
|
||||
if re.compile(r"(CutsceneData (.|\n)*\[\] = {)").search(line) is not None:
|
||||
is_cutscene_data = True
|
||||
elif line.endswith("};"):
|
||||
is_cutscene_data = False
|
||||
if is_cutscene_data:
|
||||
raw_line = re.sub(re.compile(r"[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?f"), repl_float_hex, raw_line)
|
||||
output_lines[-1] = raw_line
|
||||
|
||||
if print_source:
|
||||
for line in output_lines:
|
||||
print_source.write(line.encode(output_enc) + b'\n')
|
||||
print_source.flush()
|
||||
if print_source != sys.stdout.buffer:
|
||||
print_source.close()
|
||||
if isinstance(print_source, StringIO):
|
||||
for line in output_lines:
|
||||
print_source.write(line + '\n')
|
||||
else:
|
||||
for line in output_lines:
|
||||
print_source.write(line.encode(output_enc) + b'\n')
|
||||
print_source.flush()
|
||||
if print_source != sys.stdout.buffer:
|
||||
print_source.close()
|
||||
|
||||
return asm_functions
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue