mirror of
https://github.com/zeldaret/oot.git
synced 2024-11-13 04:39:36 +00:00
Scene cleanups (#1002)
* remove fake match * u32 segment -> void* and add symbols to sEntranceCutsceneTable * rename some symbols * remove if1 * add the last missing symbol * add symbols for almost all extrence textures * finish adding the symbols * Remove comment * spelling fix * Fig's and Dragorn's fixes * add symbols to unkknown array * format * romans fixes
This commit is contained in:
parent
781d497264
commit
0b18419489
44 changed files with 281 additions and 107 deletions
|
@ -1,5 +1,7 @@
|
|||
<Root>
|
||||
<File Name="Bmori1_scene" Segment="2">
|
||||
<Texture Name="gForestTempleDayEntranceTex" OutName="day_entrance" Format="ia16" Width="8" Height="128" Offset="0x14D90"/>
|
||||
<Texture Name="gForestTempleNightEntranceTex" OutName="night_entrance" Format="ia16" Width="8" Height="128" Offset="0x14590"/>
|
||||
<Scene Name="Bmori1_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="Bmori1_room_0" Segment="3">
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
<Root>
|
||||
<File Name="MIZUsin_scene" Segment="2">
|
||||
<Texture Name="gWaterTempleDayEntranceTex" OutName="day_entrance" Format="ia16" Width="8" Height="64" Offset="0x14C30"/>
|
||||
<Texture Name="gWaterTempleNightEntranceTex" OutName="night_entrance" Format="ia16" Width="8" Height="64" Offset="0x15830"/>
|
||||
<Scene Name="MIZUsin_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="MIZUsin_room_0" Segment="3">
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<Root>
|
||||
<File Name="bdan_scene" Segment="2">
|
||||
<Cutscene Name="gJabuJabuIntroCs" Offset="0x15600"/>
|
||||
<Scene Name="bdan_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="bdan_room_0" Segment="3">
|
||||
|
|
|
@ -1,5 +1,18 @@
|
|||
<Root>
|
||||
<File Name="ddan_scene" Segment="2">
|
||||
<Texture Name="gDCDayEntranceTex" OutName="day_entrance" Format="ci8" Width="32" Height="64" Offset="0x12378" TlutOffset="0x11D70"/>
|
||||
<Texture Name="gDCNightEntranceTex" OutName="night_entrance" Format="ci8" Width="32" Height="64" Offset="0x13378" TlutOffset="0x11D70"/>
|
||||
|
||||
<!-- these need to have TLUTs extract from room 0 at 0x11290-->
|
||||
<Texture Name="gDCLavaFloor1Tex" OutName="Lava_floor_1" Format="ci8" Width="32" Height="32" Offset="0x11F78" />
|
||||
<Texture Name="gDCLavaFloor2Tex" OutName="Lava_floor_2" Format="ci8" Width="32" Height="32" Offset="0x14778" />
|
||||
<Texture Name="gDCLavaFloor3Tex" OutName="Lava_floor_3" Format="ci8" Width="32" Height="32" Offset="0x14378" />
|
||||
<Texture Name="gDCLavaFloor4Tex" OutName="Lava_floor_4" Format="ci8" Width="32" Height="32" Offset="0x13F78" />
|
||||
<Texture Name="gDCLavaFloor5Tex" OutName="Lava_floor_5" Format="ci8" Width="32" Height="32" Offset="0x14B78" />
|
||||
<Texture Name="gDCLavaFloor6Tex" OutName="Lava_floor_6" Format="ci8" Width="32" Height="32" Offset="0x13B78" />
|
||||
<Texture Name="gDCLavaFloor7Tex" OutName="Lava_floor_7" Format="ci8" Width="32" Height="32" Offset="0x12F78" />
|
||||
<Texture Name="gDCLavaFloor8Tex" OutName="Lava_floor_8" Format="ci8" Width="32" Height="32" Offset="0x12B78" />
|
||||
|
||||
<Cutscene Name="gDcOpeningCs" Offset="0x14F80"/>
|
||||
<Scene Name="ddan_scene" Offset="0x0"/>
|
||||
</File>
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
<Root>
|
||||
<File Name="ganon_tou_scene" Segment="2">
|
||||
<Cutscene Name="gRainbowBridgeCs" Offset="0x2640"/>
|
||||
<Cutscene Name="gGanonsCastleIntroCs" Offset="0x4280"/>
|
||||
<Scene Name="ganon_tou_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="ganon_tou_room_0" Segment="3">
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
<Root>
|
||||
<File Name="gerudoway_scene" Segment="2">
|
||||
<Texture Name="gThievesHideoutNightEntranceTex" OutName="night_entrance" Format="ia16" Width="128" Height="4" Offset="0xB920"/>
|
||||
<Texture Name="gThievesHideoutDayEntranceTex" OutName="day_entrance" Format="ia16" Width="128" Height="4" Offset="0xBD20"/>
|
||||
<Scene Name="gerudoway_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="gerudoway_room_0" Segment="3">
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
<Root>
|
||||
<File Name="ice_doukutu_scene" Segment="2">
|
||||
<Cutscene Name="gIceCavernSerenadeCs" Offset="0x330"/>
|
||||
|
||||
<Texture Name="gIceCavernNightEntranceTex" OutName="night_entrance" Format="ia16" Width="64" Height="4" Offset="0xF8C0"/>
|
||||
<Texture Name="gIceCavernDayEntranceTex" OutName="day_entrance" Format="ia16" Width="64" Height="4" Offset="0xFAC0"/>
|
||||
<Scene Name="ice_doukutu_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="ice_doukutu_room_0" Segment="3">
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
<Root>
|
||||
<File Name="jyasinboss_scene" Segment="2">
|
||||
<Cutscene Name="gNabooruKnuckleDefeatCs" Offset="0x3F80"/>
|
||||
<Cutscene Name="gSpiritBossNabooruKnuckleIntroCs" Offset="0x2BB0"/>
|
||||
<Cutscene Name="gSpiritBossNabooruKnuckleDefeatCs" Offset="0x3F80"/>
|
||||
<Scene Name="jyasinboss_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="jyasinboss_room_0" Segment="3">
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
<Root>
|
||||
<File Name="jyasinzou_scene" Segment="2">
|
||||
<Texture Name="gSpiritTempleDayEntranceTex" OutName="day_entrance" Format="ia16" Width="8" Height="128" Offset="0x18920"/>
|
||||
<Texture Name="gSpiritTempleNightEntranceTex" OutName="night_entrance" Format="ia16" Width="8" Height="128" Offset="0x18020"/>
|
||||
<Scene Name="jyasinzou_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="jyasinzou_room_0" Segment="3">
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
<Root>
|
||||
<File Name="men_scene" Segment="2">
|
||||
<Texture Name="gGTGDayEntranceTex" OutName="day_entrance" Format="ia16" Width="8" Height="128" Offset="0xF8C0"/>
|
||||
<Texture Name="gGTGNightEntranceTex" OutName="night_entrance" Format="ia16" Width="8" Height="128" Offset="0x100C0"/>
|
||||
<Scene Name="men_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="men_room_0" Segment="3">
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
<Root>
|
||||
<File Name="ydan_scene" Segment="2">
|
||||
<Cutscene Name="gDekuTreeIntroCs" Offset="0xB650"/>
|
||||
<Texture Name="gYdanTex_00BA18" Format="rgba16" Width="32" Height="64" Offset="0xBA18"/>
|
||||
<Texture Name="gYdanTex_00CA18" Format="rgba16" Width="32" Height="64" Offset="0xCA18"/>
|
||||
|
||||
<Scene Name="ydan_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="ydan_room_0" Segment="3">
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
<Root>
|
||||
<File Name="miharigoya_scene" Segment="2">
|
||||
<Blob Name="gMiharigoyaBlob_001350" Offset="0x1350" Size="0x2000"/>
|
||||
<Blob Name="gMiharigoyaBlob_003550" Offset="0x3550" Size="0x1000"/>
|
||||
<Blob Name="gMiharigoyaBlob_006550" Offset="0x6550" Size="0x1000"/>
|
||||
<Texture Name="gGuardHouseOutSideView2NightTex" OutName="view_2_night" Format="rgba16" Width="64" Height="32" Offset="0x1350" />
|
||||
<Texture Name="gGuardHouseOutSideView2DayTex" OutName="view_2_day" Format="rgba16" Width="64" Height="32" Offset="0x2350" />
|
||||
<Texture Name="gGuardHouseOutSideView1NightTex" OutName="view_1_night" Format="rgba16" Width="64" Height="32" Offset="0x3550" />
|
||||
<Texture Name="gGuardHouseOutSideView1DayTex" OutName="view_1_day" Format="rgba16" Width="64" Height="32" Offset="0x6550" />
|
||||
<Scene Name="miharigoya_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="miharigoya_room_0" Segment="3">
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
<Root>
|
||||
<File Name="tokinoma_scene" Segment="2">
|
||||
<Cutscene Name="gFirstAdultCs" Offset="0x46F0"/>
|
||||
<Cutscene Name="gPreludeCs" Offset="0x6D20"/>
|
||||
<Cutscene Name="gTempleOfTimeFirstAdultCs" Offset="0x46F0"/>
|
||||
<Cutscene Name="gTempleOfTimePreludeCs" Offset="0x6D20"/>
|
||||
<Cutscene Name="gTempleOfTimeIntroCs" Offset="0xCE00"/>
|
||||
<Scene Name="tokinoma_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="tokinoma_room_0" Segment="3">
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
<Root>
|
||||
<File Name="hakaana_ouke_scene" Segment="2">
|
||||
<Cutscene Name="gSunSongTeachCs" Offset="0x24A0"/>
|
||||
<Cutscene Name="gSunSongGraveSunSongTeachCs" Offset="0x24A0"/>
|
||||
<Cutscene Name="gSunSongGraveSunSongTeachPart2Cs" Offset="0x28E0"/>
|
||||
<Scene Name="hakaana_ouke_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="hakaana_ouke_room_0" Segment="3">
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
<Root>
|
||||
<File Name="souko_scene" Segment="2">
|
||||
<Texture Name="gLonLonHouseDayEntranceTex" OutName="day_entrance" Format="ia16" Width="64" Height="4" Offset="0x5210"/>
|
||||
<Texture Name="gLonLonHouseNightEntranceTex" OutName="night_entrance" Format="ia16" Width="64" Height="4" Offset="0x5010"/>
|
||||
<Scene Name="souko_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="souko_room_0" Segment="3">
|
||||
|
|
|
@ -1,6 +1,12 @@
|
|||
<Root>
|
||||
<File Name="spot00_scene" Segment="2">
|
||||
<Cutscene Name="gZeldaSongOfTimeCs" Offset="0xF870"/>
|
||||
<Cutscene Name="gHyruleFieldGetOoTCs" Offset="0xBB80"/>
|
||||
<Cutscene Name="gHyruleFieldZeldaSongOfTimeCs" Offset="0xF870"/>
|
||||
<Cutscene Name="gHyruleFieldEastEponaJumpCs" Offset="0xFF00"/>
|
||||
<Cutscene Name="gHyruleFieldIntroCs" Offset="0x13AA0"/>
|
||||
<Cutscene Name="gHyruleFieldSouthEponaJumpCs" Offset="0xF9E0"/>
|
||||
<Cutscene Name="gHyruleFieldWestEponaJumpCs" Offset="0x10550"/>
|
||||
<Cutscene Name="gHyruleFieldGateEponaJumpCs" Offset="0x10B30"/>
|
||||
<Scene Name="spot00_scene" Offset="0x0"/>
|
||||
<Texture Name="spot00_scene_Tex_02A198" Format="ia8" Width="8" Height="16" Offset="0x2A198"/>
|
||||
</File>
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
<Root>
|
||||
<File Name="spot01_scene" Segment="2">
|
||||
<Cutscene Name="gKakarikoVillageIntroCs" Offset="0xA540"/>
|
||||
<Texture Name="gKakarikoVillageDayWindowTex" OutName="day_window" Format="rgba16" Width="32" Height="64" Offset="0x15B50"/>
|
||||
<Texture Name="gKakarikoVillageNightWindowTex" OutName="night_window" Format="rgba16" Width="32" Height="64" Offset="0x16B50"/>
|
||||
<Scene Name="spot01_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="spot01_room_0" Segment="3">
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
<Cutscene Name="spot02_sceneCutsceneData0x003C80" Offset="0x3C80"/>
|
||||
|
||||
<Cutscene Name="spot02_scene_Cs_005020" Offset="0x5020"/>
|
||||
<Cutscene Name="gGraveyardIntroCs" Offset="0x70C0"/>
|
||||
</File>
|
||||
<File Name="spot02_room_0" Segment="3">
|
||||
<DList Name="gSpot02DL_0026D0" Offset="0x26D0"/>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<Path Name="gSpot04Path_000314" Offset="0x314"/>
|
||||
<Path Name="gSpot04Path_00031C" Offset="0x31C"/>
|
||||
<Path Name="gSpot04Path_00D730" Offset="0xD730"/>
|
||||
|
||||
<Cutscene Name="gKokiriForestDekuSproutCs" Offset="0xC9D0"/>
|
||||
<Cutscene Name="gSpot04Cs_10E20" Offset="0x10E20"/>
|
||||
|
||||
<Scene Name="spot04_scene" Offset="0x0"/>
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
<Root>
|
||||
<File Name="spot06_scene" Segment="2">
|
||||
<Cutscene Name="gFireArrowsCS" Offset="0x7020"/>
|
||||
<Cutscene Name="gLakeHyliaFireArrowsCS" Offset="0x7020"/>
|
||||
<Cutscene Name="gLakeHyliaOwlCs" Offset="0x1B0C0"/>
|
||||
<Path Name="gSpot06Path_00776C" Offset="0x776C"/>
|
||||
<Cutscene Name="gLakeHyliaIntroCs" Offset="0x7A30"/>
|
||||
<Scene Name="spot06_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="spot06_room_0" Segment="3">
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
<Root>
|
||||
<File Name="spot07_scene" Segment="2">
|
||||
<Cutscene Name="gZorasDomainIntroCs" Offset="0x3D70"/>
|
||||
<Texture Name="gZorasDomainDayEntranceTex" OutName="day_entrance" Format="ia8" Width="8" Height="8" Offset="0x8F98"/>
|
||||
<Texture Name="gZorasDomainNightEntranceTex" OutName="night_entrance" Format="ia8" Width="8" Height="8" Offset="0x8FD8"/>
|
||||
<Scene Name="spot07_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="spot07_room_0" Segment="3">
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<Root>
|
||||
<File Name="spot08_scene" Segment="2">
|
||||
<Cutscene Name="gZorasFountainIntroCs" Offset="0x4A80"/>
|
||||
<Scene Name="spot08_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="spot08_room_0" Segment="3">
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<File Name="spot09_scene" Segment="2">
|
||||
<Cutscene Name="gGerudoValleyBridgeJumpFieldFortressCs" Offset="0x2AC0"/>
|
||||
<Cutscene Name="gGerudoValleyBridgeJumpFortressToFieldCs" Offset="0x230"/>
|
||||
|
||||
<Cutscene Name="gGerudoValleyIntroCs" Offset="0x31E0"/>
|
||||
<Path Name="gSpot09Path_002F60" Offset="0x2F60"/>
|
||||
<Path Name="gSpot09Path_002F68" Offset="0x2F68"/>
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<Root>
|
||||
<File Name="spot11_scene" Segment="2">
|
||||
<Cutscene Name="gDesertColossusIntroCs" Offset="0x7990"/>
|
||||
<Scene Name="spot11_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="spot11_room_0" Segment="3">
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
<Root>
|
||||
<File Name="spot12_scene" Segment="2">
|
||||
<Cutscene Name="gSpot12Cs_006490" Offset="0x6490"/>
|
||||
|
||||
<Cutscene Name="gGerudoFortressFirstCaptureCs" Offset="0x55C0"/>
|
||||
<Cutscene Name="gGerudoFortressIntroCs" Offset="0x6490"/>
|
||||
<Texture Name="gSpot12_009678Tex" Format="rgba16" Width="64" Height="32" Offset="0x9678"/>
|
||||
<Texture Name="gSpot12_00DE78Tex" Format="rgba16" Width="64" Height="32" Offset="0xDE78"/>
|
||||
<Scene Name="spot12_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="spot12_room_0" Segment="3">
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<Root>
|
||||
<File Name="spot15_scene" Segment="2">
|
||||
<Cutscene Name="gHyruleCastleIntroCs" Offset="0x3F40"/>
|
||||
<Scene Name="spot15_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="spot15_room_0" Segment="3">
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
<Root>
|
||||
<File Name="spot16_scene" Segment="2">
|
||||
<Cutscene Name="gDmtOwlCs" Offset="0x1E6A0"/>
|
||||
<Cutscene Name="gDMTOwlCs" Offset="0x1E6A0"/>
|
||||
<Cutscene Name="gDMTIntroCs" Offset="0x7EA0"/>
|
||||
<Scene Name="spot16_scene" Offset="0x0"/>
|
||||
<Texture Name="spot16_scene_Tex_01AE98" Format="i4" Width="64" Height="64" Offset="0x1AE98"/>
|
||||
</File>
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
<Root>
|
||||
<File Name="spot17_scene" Segment="2">
|
||||
<Cutscene Name="gBoleroCs" Offset="0x45D0"/>
|
||||
<Cutscene Name="gDeathMountainCraterBoleroCs" Offset="0x45D0"/>
|
||||
<Cutscene Name="gDeathMountainCraterIntroCs" Offset="0x76D0"/>
|
||||
<Scene Name="spot17_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="spot17_room_0" Segment="3">
|
||||
|
|
|
@ -3,7 +3,9 @@
|
|||
<Cutscene Name="gGoronCityDaruniaCorrectCs" Offset="0x59E0"/>
|
||||
<Cutscene Name="gGoronCityDarunia01Cs" Offset="0x6930"/>
|
||||
<Cutscene Name="gGoronCityDaruniaWrongCs" Offset="0x7DE0"/>
|
||||
|
||||
<Cutscene Name="gGoronCityIntroCs" Offset="0x8400"/>
|
||||
<Texture Name="gGoronCityNightEntranceTex" OutName="night_entrance" Format="ia8" Width="8" Height="8" Offset="0x8FC8"/>
|
||||
<Texture Name="gGoronCityDayEntranceTex" OutName="day_entrance" Format="ia8" Width="8" Height="8" Offset="0x9808"/>
|
||||
<Scene Name="spot18_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="spot18_room_0" Segment="3">
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
<Root>
|
||||
<File Name="spot20_scene" Segment="2">
|
||||
<Cutscene Name="gLonLonRanchIntroCs" Offset="0x5BD0"/>
|
||||
<Texture Name="gLonLonRanchDayWindowTex" OutName="day_window" Format="rgba16" Width="32" Height="64" Offset="0x81E0"/>
|
||||
<Texture Name="gLonLonRangeNightWindowsTex" OutName="night_window" Format="rgba16" Width="32" Height="64" Offset="0xFBE0"/>
|
||||
<Scene Name="spot20_scene" Offset="0x0"/>
|
||||
</File>
|
||||
<File Name="spot20_room_0" Segment="3">
|
||||
|
|
|
@ -831,7 +831,7 @@ void func_80064558(GlobalContext* globalCtx, CutsceneContext* csCtx);
|
|||
void func_800645A0(GlobalContext* globalCtx, CutsceneContext* csCtx);
|
||||
void Cutscene_HandleEntranceTriggers(GlobalContext* globalCtx);
|
||||
void Cutscene_HandleConditionalTriggers(GlobalContext* globalCtx);
|
||||
void Cutscene_SetSegment(GlobalContext* globalCtx, u32 segment);
|
||||
void Cutscene_SetSegment(GlobalContext* globalCtx, void* segment);
|
||||
void* MemCopy(void* dest, void* src, s32 size);
|
||||
void GetItem_Draw(GlobalContext* globalCtx, s16 drawId);
|
||||
void func_8006BA00(GlobalContext* globalCtx);
|
||||
|
|
|
@ -2927,15 +2927,10 @@ extern u64 gJpegUCodeData[];
|
|||
//extern ? D_8015E648;
|
||||
extern SaveContext gSaveContext; // 0x8015E660
|
||||
extern GameInfo* gGameInfo; // 0x8015FA90
|
||||
//extern ? D_8015FA98;
|
||||
//extern ? D_8015FA9B;
|
||||
//extern ? D_8015FC18;
|
||||
extern u16 D_8015FCC0;
|
||||
extern u16 D_8015FCC2;
|
||||
extern u16 D_8015FCC4;
|
||||
//extern ? D_8015FCC6;
|
||||
extern u8 D_8015FCC8;
|
||||
//extern ? D_8015FCCA;
|
||||
extern u8 gCustomLensFlareOn;
|
||||
extern Vec3f gCustomLensFlarePos;
|
||||
extern s16 D_8015FD06;
|
||||
|
|
|
@ -1553,7 +1553,7 @@ typedef struct {
|
|||
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 segments[NUM_SEGMENTS];
|
||||
/* 0x40 */ u32 dlStack[18];
|
||||
/* 0x40 */ Gfx* dlStack[18];
|
||||
/* 0x88 */ s32 dlDepth;
|
||||
/* 0x8C */ u32 dlCnt;
|
||||
/* 0x90 */ u32 vtxCnt;
|
||||
|
|
|
@ -87,7 +87,7 @@ typedef struct {
|
|||
|
||||
typedef struct {
|
||||
/* 0x00 */ AnimationHeaderCommon common;
|
||||
/* 0x04 */ u32 segment;
|
||||
/* 0x04 */ void* segment;
|
||||
} LinkAnimationHeader; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
|
|
|
@ -7,7 +7,7 @@ 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
|
||||
/* 0x03 */ u8 flag; // eventChkInf flag bound to the entrance cutscene
|
||||
/* 0x04 */ u32 segAddr; // segment offset location of the cutscene
|
||||
/* 0x04 */ void* segAddr; // segment offset location of the cutscene
|
||||
} EntranceCutscene; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
|
|
|
@ -26,31 +26,31 @@ typedef struct {
|
|||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x04 */ u32 segment;
|
||||
/* 0x04 */ void* segment;
|
||||
} SCmdSpawnList;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 num;
|
||||
/* 0x04 */ u32 segment;
|
||||
/* 0x04 */ void* segment;
|
||||
} SCmdActorList;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x04 */ u32 segment;
|
||||
/* 0x04 */ void* segment;
|
||||
} SCmdUnused02;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x04 */ u32 segment;
|
||||
/* 0x04 */ void* segment;
|
||||
} SCmdColHeader;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 num;
|
||||
/* 0x04 */ u32 segment;
|
||||
/* 0x04 */ void* segment;
|
||||
} SCmdRoomList;
|
||||
|
||||
typedef struct {
|
||||
|
@ -66,7 +66,7 @@ typedef struct {
|
|||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x04 */ u32 segment;
|
||||
/* 0x04 */ void* segment;
|
||||
} SCmdEntranceList;
|
||||
|
||||
typedef struct {
|
||||
|
@ -84,37 +84,37 @@ typedef struct {
|
|||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x04 */ u32 segment;
|
||||
/* 0x04 */ void* segment;
|
||||
} SCmdMesh;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 num;
|
||||
/* 0x04 */ u32 segment;
|
||||
/* 0x04 */ void* segment;
|
||||
} SCmdObjectList;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 num;
|
||||
/* 0x04 */ u32 segment;
|
||||
/* 0x04 */ void* segment;
|
||||
} SCmdLightList;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x04 */ u32 segment;
|
||||
/* 0x04 */ void* segment;
|
||||
} SCmdPathList;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 num;
|
||||
/* 0x04 */ u32 segment;
|
||||
/* 0x04 */ void* segment;
|
||||
} SCmdTransiActorList;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 num;
|
||||
/* 0x04 */ u32 segment;
|
||||
/* 0x04 */ void* segment;
|
||||
} SCmdLightSettingList;
|
||||
|
||||
typedef struct {
|
||||
|
@ -152,7 +152,7 @@ typedef struct {
|
|||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x04 */ u32 segment;
|
||||
/* 0x04 */ void* segment;
|
||||
} SCmdExitList;
|
||||
|
||||
typedef struct {
|
||||
|
@ -173,13 +173,13 @@ typedef struct {
|
|||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x04 */ u32 segment;
|
||||
/* 0x04 */ void* segment;
|
||||
} SCmdCutsceneData;
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x04 */ u32 segment;
|
||||
/* 0x04 */ void* segment;
|
||||
} SCmdAltHeaders;
|
||||
|
||||
typedef struct {
|
||||
|
|
|
@ -1,6 +1,33 @@
|
|||
#include "global.h"
|
||||
#include "z64camera.h"
|
||||
|
||||
#include "scenes/indoors/tokinoma/tokinoma_scene.h"
|
||||
#include "scenes/overworld/spot00/spot00_scene.h"
|
||||
#include "scenes/overworld/spot01/spot01_scene.h"
|
||||
#include "scenes/overworld/spot02/spot02_scene.h"
|
||||
#include "scenes/overworld/spot04/spot04_scene.h"
|
||||
#include "scenes/overworld/spot05/spot05_scene.h"
|
||||
#include "scenes/overworld/spot06/spot06_scene.h"
|
||||
#include "scenes/overworld/spot07/spot07_scene.h"
|
||||
#include "scenes/overworld/spot08/spot08_scene.h"
|
||||
#include "scenes/overworld/spot09/spot09_scene.h"
|
||||
#include "scenes/overworld/spot11/spot11_scene.h"
|
||||
#include "scenes/overworld/spot12/spot12_scene.h"
|
||||
#include "scenes/overworld/spot15/spot15_scene.h"
|
||||
#include "scenes/overworld/spot16/spot16_scene.h"
|
||||
#include "scenes/overworld/spot17/spot17_scene.h"
|
||||
#include "scenes/overworld/spot18/spot18_scene.h"
|
||||
#include "scenes/overworld/spot20/spot20_scene.h"
|
||||
|
||||
#include "scenes/dungeons/bdan/bdan_scene.h"
|
||||
#include "scenes/dungeons/ddan/ddan_scene.h"
|
||||
#include "scenes/dungeons/ydan/ydan_scene.h"
|
||||
#include "scenes/dungeons/ganontika/ganontika_scene.h"
|
||||
#include "scenes/dungeons/ganon_tou/ganon_tou_scene.h"
|
||||
#include "scenes/dungeons/jyasinboss/jyasinboss_scene.h"
|
||||
#include "scenes/dungeons/ice_doukutu/ice_doukutu_scene.h"
|
||||
|
||||
#include "scenes/misc/hakaana_ouke/hakaana_ouke_scene.h"
|
||||
|
||||
u16 D_8011E1C0 = 0;
|
||||
u16 D_8011E1C4 = 0;
|
||||
|
@ -24,31 +51,54 @@ CutsceneStateHandler sCsStateHandlers2[] = {
|
|||
|
||||
u8 sTitleCsState = 0;
|
||||
|
||||
// TODO: use symbols for these cutscene locations once scenes and rooms are in C
|
||||
EntranceCutscene sEntranceCutsceneTable[] = {
|
||||
{ 0x0185, 2, 0xA0, 0x02013AA0 }, { 0x013D, 2, 0xA1, 0x02007EA0 }, { 0x00DB, 2, 0xA3, 0x0200A540 },
|
||||
{ 0x0108, 2, 0xA4, 0x02003D70 }, { 0x0138, 1, 0xA5, 0x02003F40 }, { 0x014D, 2, 0xA6, 0x02008400 },
|
||||
{ 0x0053, 2, 0xA7, 0x0200CE00 }, { 0x0000, 2, 0xA8, 0x0200B650 }, { 0x028A, 0, 0x18, 0x0200F9E0 },
|
||||
{ 0x0292, 0, 0x18, 0x0200FF00 }, { 0x028E, 0, 0x18, 0x02010550 }, { 0x0476, 0, 0x18, 0x02010B30 },
|
||||
{ 0x050F, 1, 0xA9, 0x0200BB80 }, { 0x0102, 2, 0xB1, 0x02007A30 }, { 0x0117, 2, 0xB2, 0x020031E0 },
|
||||
{ 0x0129, 2, 0xB3, 0x02006490 }, { 0x0157, 2, 0xB4, 0x02005BD0 }, { 0x0028, 2, 0xB5, 0x02015600 },
|
||||
{ 0x00E4, 2, 0xB6, 0x020070C0 }, { 0x0225, 2, 0xB7, 0x02004A80 }, { 0x0123, 2, 0xB8, 0x02007990 },
|
||||
{ 0x0147, 2, 0xB9, 0x020076D0 }, { 0x0138, 0, 0xBA, 0x02004280 }, { 0x0574, 2, 0x5A, 0x020028E0 },
|
||||
{ 0x0538, 2, 0xBB, gForestBarrierCs }, { 0x053C, 2, 0xBC, gWaterBarrierCs }, { 0x0540, 2, 0xBD, gShadowBarrierCs },
|
||||
{ 0x0544, 2, 0xBE, gFireBarrierCs }, { 0x0548, 2, 0xBF, gLightBarrierCs }, { 0x054C, 2, 0xAD, gSpiritBarrierCs },
|
||||
{ 0x008D, 0, 0xC0, 0x02002BB0 }, { 0x03B4, 0, 0xC7, 0x020055C0 }, { 0x0246, 2, 0xB9, 0x020076D0 },
|
||||
{ 0x05E8, 2, 0xC6, 0x0200C9D0 },
|
||||
{ 0x0185, 2, 0xA0, gHyruleFieldIntroCs },
|
||||
{ 0x013D, 2, 0xA1, gDMTIntroCs },
|
||||
{ 0x00DB, 2, 0xA3, gKakarikoVillageIntroCs },
|
||||
{ 0x0108, 2, 0xA4, gZorasDomainIntroCs },
|
||||
{ 0x0138, 1, 0xA5, gHyruleCastleIntroCs },
|
||||
{ 0x014D, 2, 0xA6, gGoronCityIntroCs },
|
||||
{ 0x0053, 2, 0xA7, gTempleOfTimeIntroCs },
|
||||
{ 0x0000, 2, 0xA8, gDekuTreeIntroCs },
|
||||
{ 0x028A, 0, 0x18, gHyruleFieldSouthEponaJumpCs },
|
||||
{ 0x0292, 0, 0x18, gHyruleFieldEastEponaJumpCs },
|
||||
{ 0x028E, 0, 0x18, gHyruleFieldWestEponaJumpCs },
|
||||
{ 0x0476, 0, 0x18, gHyruleFieldGateEponaJumpCs },
|
||||
{ 0x050F, 1, 0xA9, gHyruleFieldGetOoTCs },
|
||||
{ 0x0102, 2, 0xB1, gLakeHyliaIntroCs },
|
||||
{ 0x0117, 2, 0xB2, gGerudoValleyIntroCs },
|
||||
{ 0x0129, 2, 0xB3, gGerudoFortressIntroCs },
|
||||
{ 0x0157, 2, 0xB4, gLonLonRanchIntroCs },
|
||||
{ 0x0028, 2, 0xB5, gJabuJabuIntroCs },
|
||||
{ 0x00E4, 2, 0xB6, gGraveyardIntroCs },
|
||||
{ 0x0225, 2, 0xB7, gZorasFountainIntroCs },
|
||||
{ 0x0123, 2, 0xB8, gDesertColossusIntroCs },
|
||||
{ 0x0147, 2, 0xB9, gDeathMountainCraterIntroCs },
|
||||
{ 0x0138, 0, 0xBA, gGanonsCastleIntroCs },
|
||||
{ 0x0574, 2, 0x5A, gSunSongGraveSunSongTeachPart2Cs },
|
||||
{ 0x0538, 2, 0xBB, gForestBarrierCs },
|
||||
{ 0x053C, 2, 0xBC, gWaterBarrierCs },
|
||||
{ 0x0540, 2, 0xBD, gShadowBarrierCs },
|
||||
{ 0x0544, 2, 0xBE, gFireBarrierCs },
|
||||
{ 0x0548, 2, 0xBF, gLightBarrierCs },
|
||||
{ 0x054C, 2, 0xAD, gSpiritBarrierCs },
|
||||
{ 0x008D, 0, 0xC0, gSpiritBossNabooruKnuckleIntroCs },
|
||||
{ 0x03B4, 0, 0xC7, gGerudoFortressFirstCaptureCs },
|
||||
{ 0x0246, 2, 0xB9, gDeathMountainCraterIntroCs },
|
||||
{ 0x05E8, 2, 0xC6, gKokiriForestDekuSproutCs },
|
||||
};
|
||||
|
||||
// Unused, seems to be an early list of dungeon entrance cutscene locations
|
||||
u32 D_8011E304[] = { 0x0200B650, 0x02015600, 0x02014F80, 0x02003F80, 0x02000330, gTowerBarrierCs };
|
||||
void* D_8011E304[] = {
|
||||
gDekuTreeIntroCs, gJabuJabuIntroCs, gDcOpeningCs, gMinuetCs, gIceCavernSerenadeCs, gTowerBarrierCs,
|
||||
};
|
||||
|
||||
u16 D_8015FCC0;
|
||||
u16 D_8015FCC2;
|
||||
u16 D_8015FCC4;
|
||||
s16 D_8015FCC6;
|
||||
u8 D_8015FCC8;
|
||||
s16 D_8015FCCA;
|
||||
s16 sQuakeIndex;
|
||||
u16 D_8015FCCC; // only written to, never read
|
||||
char D_8015FCD0[20]; // unreferenced
|
||||
u8 D_8015FCE4; // only written to, never read
|
||||
|
@ -162,9 +212,7 @@ void func_800647C0(GlobalContext* globalCtx, CutsceneContext* csCtx) {
|
|||
void func_80064824(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase* cmd) {
|
||||
Player* player = GET_PLAYER(globalCtx);
|
||||
f32 temp;
|
||||
u8 sp3F;
|
||||
|
||||
sp3F = 0;
|
||||
u8 sp3F = 0;
|
||||
|
||||
if ((csCtx->frames < cmd->startFrame) || ((csCtx->frames >= cmd->endFrame) && (cmd->endFrame != cmd->startFrame))) {
|
||||
return;
|
||||
|
@ -188,7 +236,6 @@ void func_80064824(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase*
|
|||
if (sp3F != 0) {
|
||||
func_800F6D58(0xF, 0, 0);
|
||||
Environment_AddLightningBolts(globalCtx, 3);
|
||||
if (1) {}
|
||||
gLightningStrike.state = LIGHTNING_STRIKE_START;
|
||||
}
|
||||
break;
|
||||
|
@ -266,15 +313,15 @@ void func_80064824(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase*
|
|||
break;
|
||||
case 16:
|
||||
if (sp3F != 0) {
|
||||
D_8015FCCA = Quake_Add(GET_ACTIVE_CAM(globalCtx), 6);
|
||||
Quake_SetSpeed(D_8015FCCA, 0x7FFF);
|
||||
Quake_SetQuakeValues(D_8015FCCA, 4, 0, 1000, 0);
|
||||
Quake_SetCountdown(D_8015FCCA, 800);
|
||||
sQuakeIndex = Quake_Add(GET_ACTIVE_CAM(globalCtx), 6);
|
||||
Quake_SetSpeed(sQuakeIndex, 0x7FFF);
|
||||
Quake_SetQuakeValues(sQuakeIndex, 4, 0, 1000, 0);
|
||||
Quake_SetCountdown(sQuakeIndex, 800);
|
||||
}
|
||||
break;
|
||||
case 17:
|
||||
if (sp3F != 0) {
|
||||
Quake_RemoveFromIdx(D_8015FCCA);
|
||||
Quake_RemoveFromIdx(sQuakeIndex);
|
||||
}
|
||||
break;
|
||||
case 18:
|
||||
|
@ -2049,10 +2096,10 @@ void Cutscene_HandleConditionalTriggers(GlobalContext* globalCtx) {
|
|||
}
|
||||
}
|
||||
|
||||
void Cutscene_SetSegment(GlobalContext* globalCtx, u32 segment) {
|
||||
void Cutscene_SetSegment(GlobalContext* globalCtx, void* segment) {
|
||||
if (SEGMENT_NUMBER(segment) != 0) {
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(segment);
|
||||
} else {
|
||||
globalCtx->csCtx.segment = (void*)segment;
|
||||
globalCtx->csCtx.segment = segment;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,25 @@
|
|||
#include "global.h"
|
||||
|
||||
#include "scenes/overworld/spot00/spot00_scene.h"
|
||||
#include "scenes/overworld/spot00/spot00_room_0.h"
|
||||
#include "scenes/overworld/spot01/spot01_scene.h"
|
||||
#include "scenes/overworld/spot07/spot07_scene.h"
|
||||
#include "scenes/overworld/spot12/spot12_scene.h"
|
||||
#include "scenes/overworld/spot16/spot16_scene.h"
|
||||
#include "scenes/overworld/spot16/spot16_room_0.h"
|
||||
#include "scenes/overworld/spot18/spot18_scene.h"
|
||||
#include "scenes/overworld/spot20/spot20_scene.h"
|
||||
#include "scenes/overworld/souko/souko_scene.h"
|
||||
|
||||
#include "scenes/dungeons/men/men_scene.h"
|
||||
#include "scenes/dungeons/ddan/ddan_scene.h"
|
||||
#include "scenes/dungeons/ydan/ydan_scene.h"
|
||||
#include "scenes/dungeons/Bmori1/Bmori1_scene.h"
|
||||
#include "scenes/dungeons/MIZUsin/MIZUsin_scene.h"
|
||||
#include "scenes/dungeons/gerudoway/gerudoway_scene.h"
|
||||
#include "scenes/dungeons/jyasinzou/jyasinzou_scene.h"
|
||||
#include "scenes/indoors/miharigoya/miharigoya_scene.h"
|
||||
#include "scenes/dungeons/ice_doukutu/ice_doukutu_scene.h"
|
||||
|
||||
#define ENTRANCE(scene, spawn, continueBgm, displayTitleCard, fadeIn, fadeOut) \
|
||||
{ \
|
||||
|
@ -956,7 +974,10 @@ void func_80099550(GlobalContext* globalCtx) {
|
|||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_scene_table.c", 4735);
|
||||
}
|
||||
|
||||
u32 D_8012A2F8[] = { 0x0200BA18, 0x0200CA18 };
|
||||
void* D_8012A2F8[] = {
|
||||
gYdanTex_00BA18,
|
||||
gYdanTex_00CA18,
|
||||
};
|
||||
|
||||
// Scene Draw Config 19
|
||||
void func_800995DC(GlobalContext* globalCtx) {
|
||||
|
@ -995,8 +1016,14 @@ void func_80099760(GlobalContext* globalCtx) {
|
|||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_scene_table.c", 4859);
|
||||
}
|
||||
|
||||
u32 D_8012A300[] = { 0x02012378, 0x02013378 };
|
||||
u32 D_8012A308[] = { 0x02011F78, 0x02014778, 0x02014378, 0x02013F78, 0x02014B78, 0x02013B78, 0x02012F78, 0x02012B78 };
|
||||
void* gDCEntranceTextures[] = {
|
||||
gDCDayEntranceTex,
|
||||
gDCNightEntranceTex,
|
||||
};
|
||||
void* sDCLavaFloorTextures[] = {
|
||||
gDCLavaFloor1Tex, gDCLavaFloor2Tex, gDCLavaFloor3Tex, gDCLavaFloor4Tex,
|
||||
gDCLavaFloor5Tex, gDCLavaFloor6Tex, gDCLavaFloor7Tex, gDCLavaFloor8Tex,
|
||||
};
|
||||
|
||||
// Scene Draw Config 20
|
||||
void func_80099878(GlobalContext* globalCtx) {
|
||||
|
@ -1007,8 +1034,8 @@ void func_80099878(GlobalContext* globalCtx) {
|
|||
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_scene_table.c", 4905);
|
||||
|
||||
gameplayFrames = globalCtx->gameplayFrames;
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_8012A300[gSaveContext.nightFlag]));
|
||||
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(D_8012A308[(s32)(gameplayFrames & 14) >> 1]));
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(gDCEntranceTextures[gSaveContext.nightFlag]));
|
||||
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(sDCLavaFloorTextures[(s32)(gameplayFrames & 14) >> 1]));
|
||||
gSPSegment(POLY_XLU_DISP++, 0x09,
|
||||
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, (gameplayFrames * 1) % 256, 0, 64, 32, 1, 0,
|
||||
(gameplayFrames * 1) % 128, 64, 32));
|
||||
|
@ -1245,7 +1272,10 @@ void func_8009AE30(GlobalContext* globalCtx) {
|
|||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_scene_table.c", 5416);
|
||||
}
|
||||
|
||||
u32 D_8012A328[] = { 0x0200BD20, 0x0200B920 };
|
||||
void* sThievesHideoutEntranceTextures[] = {
|
||||
gThievesHideoutDayEntranceTex,
|
||||
gThievesHideoutNightEntranceTex,
|
||||
};
|
||||
|
||||
// Scene Draw Config 40
|
||||
void func_8009AFE0(GlobalContext* globalCtx) {
|
||||
|
@ -1258,14 +1288,17 @@ void func_8009AFE0(GlobalContext* globalCtx) {
|
|||
|
||||
{ s32 pad[2]; }
|
||||
|
||||
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_8012A328[gSaveContext.nightFlag]));
|
||||
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sThievesHideoutEntranceTextures[gSaveContext.nightFlag]));
|
||||
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_scene_table.c", 5507);
|
||||
}
|
||||
|
||||
u32 D_8012A330[] = { 0x02014C30, 0x02015830 };
|
||||
void* D_8012A330[] = {
|
||||
gWaterTempleDayEntranceTex,
|
||||
gWaterTempleNightEntranceTex,
|
||||
};
|
||||
|
||||
// Scene Draw Config 23
|
||||
// Scene Draw Config 23 (Water Temple)
|
||||
void func_8009B0FC(GlobalContext* globalCtx) {
|
||||
u32 gameplayFrames;
|
||||
s32 spB0;
|
||||
|
@ -1496,7 +1529,10 @@ void func_8009C0AC(GlobalContext* globalCtx) {
|
|||
}
|
||||
}
|
||||
|
||||
u32 D_8012A338[] = { 0x0200FAC0, 0x0200F8C0 };
|
||||
void* sIceCavernEntranceTextures[] = {
|
||||
gIceCavernDayEntranceTex,
|
||||
gIceCavernNightEntranceTex,
|
||||
};
|
||||
|
||||
// Scene Draw Config 37
|
||||
void func_8009C3EC(GlobalContext* globalCtx) {
|
||||
|
@ -1507,7 +1543,7 @@ void func_8009C3EC(GlobalContext* globalCtx) {
|
|||
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_scene_table.c", 6042);
|
||||
|
||||
gameplayFrames = globalCtx->gameplayFrames;
|
||||
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_8012A338[gSaveContext.nightFlag]));
|
||||
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sIceCavernEntranceTextures[gSaveContext.nightFlag]));
|
||||
gSPSegment(POLY_OPA_DISP++, 0x09,
|
||||
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 127 - gameplayFrames % 128, (gameplayFrames * 1) % 128, 32,
|
||||
32, 1, gameplayFrames % 128, (gameplayFrames * 1) % 128, 32, 32));
|
||||
|
@ -1597,7 +1633,10 @@ void func_8009CAC0(GlobalContext* globalCtx) {
|
|||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_scene_table.c", 6264);
|
||||
}
|
||||
|
||||
u32 D_8012A340[] = { 0x0200F8C0, 0x020100C0 };
|
||||
void* sGTGEntranceTextures[] = {
|
||||
gGTGDayEntranceTex,
|
||||
gGTGNightEntranceTex,
|
||||
};
|
||||
|
||||
// Scene Draw Config 27
|
||||
void func_8009CC00(GlobalContext* globalCtx) {
|
||||
|
@ -1608,7 +1647,7 @@ void func_8009CC00(GlobalContext* globalCtx) {
|
|||
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_scene_table.c", 6290);
|
||||
|
||||
gameplayFrames = globalCtx->gameplayFrames;
|
||||
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_8012A340[gSaveContext.nightFlag]));
|
||||
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sGTGEntranceTextures[gSaveContext.nightFlag]));
|
||||
gSPSegment(POLY_OPA_DISP++, 0x09,
|
||||
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 127 - gameplayFrames % 128, (gameplayFrames * 1) % 128, 32,
|
||||
32, 1, gameplayFrames % 128, (gameplayFrames * 1) % 128, 32, 32));
|
||||
|
@ -1693,7 +1732,10 @@ void func_8009D0E8(GlobalContext* globalCtx) {
|
|||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_scene_table.c", 6491);
|
||||
}
|
||||
|
||||
u32 D_8012A348[] = { 0x02005210, 0x02005010 };
|
||||
void* sLonLonHouseEntranceTextures[] = {
|
||||
gLonLonHouseDayEntranceTex,
|
||||
gLonLonHouseNightEntranceTex,
|
||||
};
|
||||
|
||||
// Scene Draw Config 44
|
||||
void func_8009D31C(GlobalContext* globalCtx) {
|
||||
|
@ -1701,7 +1743,7 @@ void func_8009D31C(GlobalContext* globalCtx) {
|
|||
|
||||
{ s32 pad[2]; }
|
||||
|
||||
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_8012A348[gSaveContext.nightFlag]));
|
||||
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sLonLonHouseEntranceTextures[gSaveContext.nightFlag]));
|
||||
|
||||
gDPPipeSync(POLY_OPA_DISP++);
|
||||
gDPSetEnvColor(POLY_OPA_DISP++, 128, 128, 128, 128);
|
||||
|
@ -1712,8 +1754,14 @@ void func_8009D31C(GlobalContext* globalCtx) {
|
|||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_scene_table.c", 6528);
|
||||
}
|
||||
|
||||
u32 D_8012A350[] = { 0x02006550, 0x02003550 };
|
||||
u32 D_8012A358[] = { 0x02002350, 0x02001350 };
|
||||
void* sGuardHouseView2Textures[] = {
|
||||
gGuardHouseOutSideView1DayTex,
|
||||
gGuardHouseOutSideView1NightTex,
|
||||
};
|
||||
void* sGuardHouseView1Textures[] = {
|
||||
gGuardHouseOutSideView2DayTex,
|
||||
gGuardHouseOutSideView2NightTex,
|
||||
};
|
||||
|
||||
// Scene Draw Config 45
|
||||
void func_8009D438(GlobalContext* globalCtx) {
|
||||
|
@ -1727,8 +1775,8 @@ void func_8009D438(GlobalContext* globalCtx) {
|
|||
var = gSaveContext.nightFlag;
|
||||
}
|
||||
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_8012A358[var]));
|
||||
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(D_8012A350[var]));
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sGuardHouseView1Textures[var]));
|
||||
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(sGuardHouseView2Textures[var]));
|
||||
|
||||
gDPPipeSync(POLY_OPA_DISP++);
|
||||
gDPSetEnvColor(POLY_OPA_DISP++, 128, 128, 128, 128);
|
||||
|
@ -1760,7 +1808,10 @@ void func_8009D5B4(GlobalContext* globalCtx) {
|
|||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_scene_table.c", 6615);
|
||||
}
|
||||
|
||||
u32 D_8012A360[] = { 0x02014D90, 0x02014590 };
|
||||
void* sForestTempleEntranceTextures[] = {
|
||||
gForestTempleDayEntranceTex,
|
||||
gForestTempleNightEntranceTex,
|
||||
};
|
||||
|
||||
// Scene Draw Config 22
|
||||
void func_8009D758(GlobalContext* globalCtx) {
|
||||
|
@ -1771,7 +1822,7 @@ void func_8009D758(GlobalContext* globalCtx) {
|
|||
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_scene_table.c", 6640);
|
||||
|
||||
gameplayFrames = globalCtx->gameplayFrames;
|
||||
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_8012A360[gSaveContext.nightFlag]));
|
||||
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sForestTempleEntranceTextures[gSaveContext.nightFlag]));
|
||||
gSPSegment(POLY_XLU_DISP++, 0x09,
|
||||
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, 127 - gameplayFrames % 128, (gameplayFrames * 1) % 128, 32,
|
||||
32, 1, gameplayFrames % 128, (gameplayFrames * 1) % 128, 32, 32));
|
||||
|
@ -1790,7 +1841,10 @@ void func_8009D758(GlobalContext* globalCtx) {
|
|||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_scene_table.c", 6671);
|
||||
}
|
||||
|
||||
u32 D_8012A368[] = { 0x02018920, 0x02018020 };
|
||||
void* sSpiritTempleEntranceTextures[] = {
|
||||
gSpiritTempleDayEntranceTex,
|
||||
gSpiritTempleNightEntranceTex,
|
||||
};
|
||||
|
||||
// Scene Draw Config 25
|
||||
void func_8009D974(GlobalContext* globalCtx) {
|
||||
|
@ -1798,7 +1852,7 @@ void func_8009D974(GlobalContext* globalCtx) {
|
|||
|
||||
{ s32 pad[2]; }
|
||||
|
||||
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_8012A368[gSaveContext.nightFlag]));
|
||||
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sSpiritTempleEntranceTextures[gSaveContext.nightFlag]));
|
||||
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_scene_table.c", 6762);
|
||||
}
|
||||
|
@ -1849,7 +1903,10 @@ void func_8009DA30(GlobalContext* globalCtx) {
|
|||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_scene_table.c", 6866);
|
||||
}
|
||||
|
||||
u32 D_8012A370[] = { 0x02015B50, 0x02016B50 };
|
||||
void* sKakarikoWindowTextures[] = {
|
||||
gKakarikoVillageDayWindowTex,
|
||||
gKakarikoVillageNightWindowTex,
|
||||
};
|
||||
|
||||
// Scene Draw Config 2
|
||||
void func_8009DD5C(GlobalContext* globalCtx) {
|
||||
|
@ -1857,7 +1914,7 @@ void func_8009DD5C(GlobalContext* globalCtx) {
|
|||
|
||||
{ s32 pad[2]; }
|
||||
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_8012A370[gSaveContext.nightFlag]));
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sKakarikoWindowTextures[gSaveContext.nightFlag]));
|
||||
|
||||
gDPPipeSync(POLY_OPA_DISP++);
|
||||
gDPSetEnvColor(POLY_OPA_DISP++, 128, 128, 128, 128);
|
||||
|
@ -1974,7 +2031,10 @@ void func_8009E54C(GlobalContext* globalCtx) {
|
|||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_scene_table.c", 7097);
|
||||
}
|
||||
|
||||
u32 D_8012A378[] = { 0x02008F98, 0x02008FD8 };
|
||||
void* sZorasDomainEntranceTextures[] = {
|
||||
gZorasDomainDayEntranceTex,
|
||||
gZorasDomainNightEntranceTex,
|
||||
};
|
||||
|
||||
// Scene Draw Config 6
|
||||
void func_8009E730(GlobalContext* globalCtx) {
|
||||
|
@ -1993,7 +2053,7 @@ void func_8009E730(GlobalContext* globalCtx) {
|
|||
gDPPipeSync(POLY_OPA_DISP++);
|
||||
gDPSetEnvColor(POLY_OPA_DISP++, 128, 128, 128, 128);
|
||||
|
||||
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_8012A378[gSaveContext.nightFlag]));
|
||||
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sZorasDomainEntranceTextures[gSaveContext.nightFlag]));
|
||||
|
||||
{ s32 pad[2]; }
|
||||
|
||||
|
@ -2112,7 +2172,10 @@ void func_8009F074(GlobalContext* globalCtx) {
|
|||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_scene_table.c", 7339);
|
||||
}
|
||||
|
||||
u32 D_8012A380[] = { 0x02009678, 0x0200DE78 };
|
||||
void* D_8012A380[] = {
|
||||
gSpot12_009678Tex,
|
||||
gSpot12_00DE78Tex,
|
||||
};
|
||||
|
||||
// Scene Draw Config 11
|
||||
void func_8009F1B4(GlobalContext* globalCtx) {
|
||||
|
@ -2231,7 +2294,10 @@ void func_8009F7D4(GlobalContext* globalCtx) {
|
|||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_scene_table.c", 7530);
|
||||
}
|
||||
|
||||
u32 D_8012A388[] = { 0x02009808, 0x02008FC8 };
|
||||
void* sGoronCityEntranceTextures[] = {
|
||||
gGoronCityDayEntranceTex,
|
||||
gGoronCityNightEntranceTex,
|
||||
};
|
||||
|
||||
// Scene Draw Config 16
|
||||
void func_8009F9D0(GlobalContext* globalCtx) {
|
||||
|
@ -2250,14 +2316,17 @@ void func_8009F9D0(GlobalContext* globalCtx) {
|
|||
gDPPipeSync(POLY_XLU_DISP++);
|
||||
gDPSetEnvColor(POLY_XLU_DISP++, 128, 128, 128, 128);
|
||||
|
||||
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_8012A388[gSaveContext.nightFlag]));
|
||||
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sGoronCityEntranceTextures[gSaveContext.nightFlag]));
|
||||
|
||||
{ s32 pad[2]; }
|
||||
|
||||
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_scene_table.c", 7578);
|
||||
}
|
||||
|
||||
u32 D_8012A390[] = { 0x020081E0, 0x0200FBE0 };
|
||||
void* sLonLonRanchWindowTextures[] = {
|
||||
gLonLonRanchDayWindowTex,
|
||||
gLonLonRangeNightWindowsTex,
|
||||
};
|
||||
|
||||
// Scene Draw Config 17
|
||||
void func_8009FB74(GlobalContext* globalCtx) {
|
||||
|
@ -2265,7 +2334,7 @@ void func_8009FB74(GlobalContext* globalCtx) {
|
|||
|
||||
{ s32 pad[2]; }
|
||||
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_8012A390[gSaveContext.nightFlag]));
|
||||
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sLonLonRanchWindowTextures[gSaveContext.nightFlag]));
|
||||
|
||||
gDPPipeSync(POLY_OPA_DISP++);
|
||||
gDPSetEnvColor(POLY_OPA_DISP++, 128, 128, 128, 128);
|
||||
|
@ -2331,6 +2400,7 @@ void func_8009FE58(GlobalContext* globalCtx) {
|
|||
gDPSetEnvColor(POLY_XLU_DISP++, 128, 128, 128, 128);
|
||||
|
||||
if (FrameAdvance_IsEnabled(globalCtx) != true) {
|
||||
|
||||
D_8012A39C += 1820;
|
||||
D_8012A3A0 += 1820;
|
||||
|
||||
|
|
|
@ -1426,7 +1426,7 @@ void func_80A781CC(Actor* thisx, GlobalContext* globalCtx) {
|
|||
if (!Gameplay_InCsMode(globalCtx)) {
|
||||
this->actor.update = EnIk_Update;
|
||||
this->actor.draw = EnIk_Draw;
|
||||
Cutscene_SetSegment(globalCtx, gNabooruKnuckleDefeatCs);
|
||||
Cutscene_SetSegment(globalCtx, gSpiritBossNabooruKnuckleDefeatCs);
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
Actor_SetScale(&this->actor, 0.01f);
|
||||
gSaveContext.eventChkInf[3] |= 0x1000;
|
||||
|
|
|
@ -305,7 +305,7 @@ void func_80ABF7CC(EnOkarinaTag* this, GlobalContext* globalCtx) {
|
|||
if ((func_8010BDBC(&globalCtx->msgCtx) == 5) && (func_80106BC8(globalCtx) != 0)) {
|
||||
func_80106CCC(globalCtx);
|
||||
if (!CHECK_QUEST_ITEM(QUEST_SONG_SUN)) {
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(&gSunSongTeachCs);
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(&gSunSongGraveSunSongTeachCs);
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
}
|
||||
this->actionFunc = func_80ABF708;
|
||||
|
|
|
@ -944,7 +944,7 @@ void func_80ACC00C(EnOwl* this, GlobalContext* globalCtx) {
|
|||
break;
|
||||
case 8:
|
||||
case 9:
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gDmtOwlCs);
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gDMTOwlCs);
|
||||
this->actor.draw = NULL;
|
||||
break;
|
||||
default:
|
||||
|
|
|
@ -321,7 +321,7 @@ s32 EnXc_BoleroCS(EnXc* this, GlobalContext* globalCtx) {
|
|||
if ((posRot->pos.x > -784.0f) && (posRot->pos.x < -584.0f) && (posRot->pos.y > 447.0f) &&
|
||||
(posRot->pos.y < 647.0f) && (posRot->pos.z > -446.0f) && (posRot->pos.z < -246.0f) &&
|
||||
!Gameplay_InCsMode(globalCtx)) {
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(&gBoleroCs);
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(&gDeathMountainCraterBoleroCs);
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
gSaveContext.eventChkInf[5] |= 2;
|
||||
Item_Give(globalCtx, ITEM_SONG_BOLERO);
|
||||
|
@ -2142,13 +2142,13 @@ void EnXc_InitTempleOfTime(EnXc* this, GlobalContext* globalCtx) {
|
|||
if (LINK_IS_ADULT) {
|
||||
if (!(gSaveContext.eventChkInf[12] & 0x20)) {
|
||||
gSaveContext.eventChkInf[12] |= 0x20;
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gFirstAdultCs);
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gTempleOfTimeFirstAdultCs);
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
func_80B3EBF0(this, globalCtx);
|
||||
} else if (!(gSaveContext.eventChkInf[5] & 0x20) && (gSaveContext.eventChkInf[4] & 0x100)) {
|
||||
gSaveContext.eventChkInf[5] |= 0x20;
|
||||
Item_Give(globalCtx, ITEM_SONG_PRELUDE);
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gPreludeCs);
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gTempleOfTimePreludeCs);
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
this->action = SHEIK_ACTION_30;
|
||||
} else if (!(gSaveContext.eventChkInf[5] & 0x20)) {
|
||||
|
|
|
@ -170,7 +170,7 @@ void ItemOcarina_DoNothing(ItemOcarina* this, GlobalContext* globalCtx) {
|
|||
|
||||
void ItemOcarina_StartSoTCutscene(ItemOcarina* this, GlobalContext* globalCtx) {
|
||||
if (func_8002F334(&this->actor, globalCtx)) {
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gZeldaSongOfTimeCs);
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gHyruleFieldZeldaSongOfTimeCs);
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -165,7 +165,7 @@ void ShotSun_UpdateHyliaSun(ShotSun* this, GlobalContext* globalCtx) {
|
|||
osSyncPrintf(VT_FGCOL(CYAN) "SHOT_SUN HIT!!!!!!!\n" VT_RST);
|
||||
if (INV_CONTENT(ITEM_ARROW_FIRE) == ITEM_NONE) {
|
||||
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_ITEM_ETCETERA, 700.0f, -800.0f, 7261.0f, 0, 0, 0, 7);
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gFireArrowsCS);
|
||||
globalCtx->csCtx.segment = SEGMENTED_TO_VIRTUAL(gLakeHyliaFireArrowsCS);
|
||||
if (1) {}
|
||||
gSaveContext.cutsceneTrigger = 1;
|
||||
} else {
|
||||
|
|
Loading…
Reference in a new issue