summaryrefslogtreecommitdiff
path: root/data/scripts/cutscene
diff options
context:
space:
mode:
authoroctorock <79596758+octorock@users.noreply.github.com>2021-12-26 23:22:16 +0100
committeroctorock <79596758+octorock@users.noreply.github.com>2021-12-26 23:22:16 +0100
commit2ccf89a1fb89e01f449e1d4ce734c57943fa093b (patch)
tree55b14aa2625dd269c30be6d636b97a65d828b145 /data/scripts/cutscene
parent11bb0e7656594d12bf16a250d43a59361e15bd9e (diff)
Rename scripts
Diffstat (limited to 'data/scripts/cutscene')
-rw-r--r--data/scripts/cutscene/ezlo/script_EzloCap.inc244
-rw-r--r--data/scripts/cutscene/ezlo/script_Npc4EEzloCutscene.inc135
-rw-r--r--data/scripts/cutscene/ezlo/script_Object6ALeftBullyingOctorok.inc21
-rw-r--r--data/scripts/cutscene/ezlo/script_Object6ARightBullyingOctorok.inc21
-rw-r--r--data/scripts/cutscene/ezlo/script_PlayerAtFirstLookAtEzlo.inc10
-rw-r--r--data/scripts/cutscene/ezlo/script_PlayerDefeatedOctoroks.inc12
-rw-r--r--data/scripts/cutscene/ezlo/script_PlayerEzloBeingBullied.inc13
-rw-r--r--data/scripts/cutscene/ezlo/script_PlayerGetEzloCap.inc5
-rw-r--r--data/scripts/cutscene/intro/script_HouseDoorIntro.inc20
-rw-r--r--data/scripts/cutscene/intro/script_IntroCameraTarget.inc17
-rw-r--r--data/scripts/cutscene/intro/script_Npc4EOutsideLinksHouse.inc21
-rw-r--r--data/scripts/cutscene/intro/script_Object69Intro.inc16
-rw-r--r--data/scripts/cutscene/intro/script_Object69Intro2.inc9
-rw-r--r--data/scripts/cutscene/intro/script_PlayerIntro.inc24
-rw-r--r--data/scripts/cutscene/intro/script_PlayerMoveToSmith.inc28
-rw-r--r--data/scripts/cutscene/intro/script_SmithIntro.inc38
-rw-r--r--data/scripts/cutscene/intro/script_SmithIntro2.inc66
-rw-r--r--data/scripts/cutscene/intro/script_ZeldaIntro.inc24
-rw-r--r--data/scripts/cutscene/intro/script_ZeldaLeaveLinksHouse.inc19
-rw-r--r--data/scripts/cutscene/intro/script_ZeldaMoveToLinksHouse.inc29
-rw-r--r--data/scripts/cutscene/intro/script_ZeldaOutsideLinksHouse.inc76
-rw-r--r--data/scripts/cutscene/intro/script_ZeldaTalkToSmith.inc41
-rw-r--r--data/scripts/cutscene/introAssembly/script_GuardAtAssembly.inc19
-rw-r--r--data/scripts/cutscene/introAssembly/script_KingDaltusAtAssembly.inc68
-rw-r--r--data/scripts/cutscene/introAssembly/script_MinisterPothoAtAssembly.inc19
-rw-r--r--data/scripts/cutscene/introAssembly/script_Npc4EIntroAssembly.inc77
-rw-r--r--data/scripts/cutscene/introAssembly/script_PlayerEnters.inc20
-rw-r--r--data/scripts/cutscene/introAssembly/script_PlayerGetSword.inc13
-rw-r--r--data/scripts/cutscene/introAssembly/script_PlayerWakingUpInHyruleCastle.inc33
-rw-r--r--data/scripts/cutscene/introAssembly/script_SmithAtAssembly.inc55
-rw-r--r--data/scripts/cutscene/introBusinessScrub/script_080157AC.inc86
-rw-r--r--data/scripts/cutscene/introBusinessScrub/script_08015B14.inc11
-rw-r--r--data/scripts/cutscene/introBusinessScrub/script_08015B34.inc35
-rw-r--r--data/scripts/cutscene/introBusinessScrub/script_BusinessScrubIntro.inc22
-rw-r--r--data/scripts/cutscene/introBusinessScrub/script_PlayerAtIntroBusinessScrub4.inc11
-rw-r--r--data/scripts/cutscene/introBusinessScrub/script_PlayerIntroBusinessScrub1.inc9
-rw-r--r--data/scripts/cutscene/introBusinessScrub/script_PlayerIntroBusinessScrub2.inc9
-rw-r--r--data/scripts/cutscene/introBusinessScrub/script_PlayerIntroBusinessScrub3.inc9
-rw-r--r--data/scripts/cutscene/introBusinessScrub/script_ZeldaIntroBusinessScrub.inc74
-rw-r--r--data/scripts/cutscene/introCeremony/script_08011890.inc17
-rw-r--r--data/scripts/cutscene/introCeremony/script_GuardBottomRight.inc35
-rw-r--r--data/scripts/cutscene/introCeremony/script_GuardCarryingChest.inc55
-rw-r--r--data/scripts/cutscene/introCeremony/script_GuardEntryLeft.inc16
-rw-r--r--data/scripts/cutscene/introCeremony/script_GuardEntryRight.inc16
-rw-r--r--data/scripts/cutscene/introCeremony/script_GuardTopLeft.inc44
-rw-r--r--data/scripts/cutscene/introCeremony/script_GuardTopRight.inc45
-rw-r--r--data/scripts/cutscene/introCeremony/script_KingDaltusIntroCeremony.inc26
-rw-r--r--data/scripts/cutscene/introCeremony/script_MinisterPothoIntroCastle.inc58
-rw-r--r--data/scripts/cutscene/introCeremony/script_Npc4EMonsters.inc56
-rw-r--r--data/scripts/cutscene/introCeremony/script_Npc4EVaatiAttacking.inc45
-rw-r--r--data/scripts/cutscene/introCeremony/script_Object6AMonsterFromChest.inc6
-rw-r--r--data/scripts/cutscene/introCeremony/script_Object6ASwordInChest.inc20
-rw-r--r--data/scripts/cutscene/introCeremony/script_PlayerAtIntroCeremony.inc10
-rw-r--r--data/scripts/cutscene/introCeremony/script_PlayerFainting.inc17
-rw-r--r--data/scripts/cutscene/introCeremony/script_PlayerIntroCastle.inc11
-rw-r--r--data/scripts/cutscene/introCeremony/script_PlayerProtectingZelda.inc13
-rw-r--r--data/scripts/cutscene/introCeremony/script_VaatiDarkMagic.inc22
-rw-r--r--data/scripts/cutscene/introCeremony/script_VaatiIntroCeremony.inc86
-rw-r--r--data/scripts/cutscene/introCeremony/script_ZeldaIntroCastle.inc56
-rw-r--r--data/scripts/cutscene/introCeremony/script_ZeldaMagic.inc5
-rw-r--r--data/scripts/cutscene/introTown/script_BeedleIntro.inc20
-rw-r--r--data/scripts/cutscene/introTown/script_GuardIntro.inc19
-rw-r--r--data/scripts/cutscene/introTown/script_KidIntro1.inc18
-rw-r--r--data/scripts/cutscene/introTown/script_KidIntro2.inc36
-rw-r--r--data/scripts/cutscene/introTown/script_KidIntro3.inc24
-rw-r--r--data/scripts/cutscene/introTown/script_Npc4EIntroCastle.inc121
-rw-r--r--data/scripts/cutscene/introTown/script_Npc4EIntroTown.inc199
-rw-r--r--data/scripts/cutscene/introTown/script_Object69IntroTown.inc56
-rw-r--r--data/scripts/cutscene/introTown/script_PercyIntro.inc23
-rw-r--r--data/scripts/cutscene/introTown/script_PinaIntro.inc40
-rw-r--r--data/scripts/cutscene/introTown/script_PlayerIntro1.inc11
-rw-r--r--data/scripts/cutscene/introTown/script_PlayerIntro2.inc11
-rw-r--r--data/scripts/cutscene/introTown/script_PlayerIntro3.inc11
-rw-r--r--data/scripts/cutscene/introTown/script_PlayerIntro4.inc11
-rw-r--r--data/scripts/cutscene/introTown/script_PlayerIntro5.inc18
-rw-r--r--data/scripts/cutscene/introTown/script_PlayerIntroTown.inc10
-rw-r--r--data/scripts/cutscene/introTown/script_TownsperonIntro.inc18
-rw-r--r--data/scripts/cutscene/introTown/script_WindtribespeopleIntro.inc17
-rw-r--r--data/scripts/cutscene/introTown/script_ZeldaIntroTown.inc107
-rw-r--r--data/scripts/cutscene/kinstones/script_HurdyGurdyManFirstKinstone.inc114
-rw-r--r--data/scripts/cutscene/kinstones/script_KidKinstone1.inc43
-rw-r--r--data/scripts/cutscene/kinstones/script_KidKinstone2.inc44
-rw-r--r--data/scripts/cutscene/kinstones/script_KidKinstone3.inc43
-rw-r--r--data/scripts/cutscene/kinstones/script_Npc4EFirstKinstone.inc48
-rw-r--r--data/scripts/cutscene/kinstones/script_PlayerAtFirstKinstone.inc16
-rw-r--r--data/scripts/cutscene/kinstones/script_PlayerAtHurdyGurdyManFirstKinstone1.inc8
-rw-r--r--data/scripts/cutscene/kinstones/script_PlayerAtHurdyGurdyManFirstKinstone2.inc8
-rw-r--r--data/scripts/cutscene/kinstones/script_PlayerAtHurdyGurdyManFirstKinstone3.inc8
-rw-r--r--data/scripts/cutscene/kinstones/script_PlayerAtHurdyGurdyManFirstKinstone4.inc8
-rw-r--r--data/scripts/cutscene/minishVillage/script_ForestMinish5.inc35
-rw-r--r--data/scripts/cutscene/minishVillage/script_ForestMinish6.inc31
-rw-r--r--data/scripts/cutscene/minishVillage/script_ForestMinish7.inc35
-rw-r--r--data/scripts/cutscene/minishVillage/script_ForestMinish8.inc35
-rw-r--r--data/scripts/cutscene/minishVillage/script_ForestMinish9.inc29
-rw-r--r--data/scripts/cutscene/minishVillage/script_Object69VillageIntro.inc83
-rw-r--r--data/scripts/cutscene/minishVillage/script_PlayerAtVillageIntro.inc14
-rw-r--r--data/scripts/cutscene/originStory/script_EzloCapExplainingOriginStory.inc25
-rw-r--r--data/scripts/cutscene/originStory/script_MinishEzlo.inc46
-rw-r--r--data/scripts/cutscene/originStory/script_Object69CameraTarget.inc27
-rw-r--r--data/scripts/cutscene/originStory/script_Object69MinishVaati.inc37
-rw-r--r--data/scripts/cutscene/originStory/script_Object69VaatiAppears.inc161
-rw-r--r--data/scripts/cutscene/originStory/script_Object6ADarkMagic.inc21
-rw-r--r--data/scripts/cutscene/originStory/script_Object6AMinishCap.inc23
-rw-r--r--data/scripts/cutscene/originStory/script_PlayerAtVaatisAppearance.inc12
-rw-r--r--data/scripts/cutscene/originStory/script_PlayerDefeatedMoblins.inc12
-rw-r--r--data/scripts/cutscene/originStory/script_PlayerReceivedExposition.inc5
-rw-r--r--data/scripts/cutscene/originStory/script_PlayerSeenOriginStory.inc11
-rw-r--r--data/scripts/cutscene/originStory/script_PlayerStoneWallsAppear.inc15
-rw-r--r--data/scripts/cutscene/originStory/script_PlayerTryToFollowVaati.inc12
-rw-r--r--data/scripts/cutscene/originStory/script_Vaati.inc47
-rw-r--r--data/scripts/cutscene/originStory/script_VaatiAppearsAgain.inc31
-rw-r--r--data/scripts/cutscene/outro/script_EzloCapOutro.inc36
-rw-r--r--data/scripts/cutscene/outro/script_EzloZeldaMagic.inc11
-rw-r--r--data/scripts/cutscene/outro/script_GuardStoneOutro1.inc18
-rw-r--r--data/scripts/cutscene/outro/script_GuardStoneOutro2.inc18
-rw-r--r--data/scripts/cutscene/outro/script_GuardStoneOutro3.inc18
-rw-r--r--data/scripts/cutscene/outro/script_MaidStoneOutro1.inc18
-rw-r--r--data/scripts/cutscene/outro/script_MaidStoneOutro2.inc18
-rw-r--r--data/scripts/cutscene/outro/script_MinishEzloGoodbye.inc58
-rw-r--r--data/scripts/cutscene/outro/script_MinishEzloOutro.inc32
-rw-r--r--data/scripts/cutscene/outro/script_Npc4EDHCEntrance.inc13
-rw-r--r--data/scripts/cutscene/outro/script_Npc4EDHCThrone.inc13
-rw-r--r--data/scripts/cutscene/outro/script_Npc4EFixedEverything.inc22
-rw-r--r--data/scripts/cutscene/outro/script_Npc4EHyruleCastleEntrance.inc13
-rw-r--r--data/scripts/cutscene/outro/script_Npc4EHyruleCastleThrone.inc13
-rw-r--r--data/scripts/cutscene/outro/script_Npc4EMinishPortalClosing.inc70
-rw-r--r--data/scripts/cutscene/outro/script_Npc4EMinishWoods.inc20
-rw-r--r--data/scripts/cutscene/outro/script_Npc4EMtCrenel.inc20
-rw-r--r--data/scripts/cutscene/outro/script_Npc4EOutro.inc64
-rw-r--r--data/scripts/cutscene/outro/script_Npc4ESanctuaryEntrance.inc13
-rw-r--r--data/scripts/cutscene/outro/script_Npc4EUnfreezeCastleStaff.inc32
-rw-r--r--data/scripts/cutscene/outro/script_Object6AEzloDismounting.inc11
-rw-r--r--data/scripts/cutscene/outro/script_Object6AEzloFinalMagic.inc13
-rw-r--r--data/scripts/cutscene/outro/script_Object6AMinishCapOutro.inc31
-rw-r--r--data/scripts/cutscene/outro/script_Object6AOctorok1.inc12
-rw-r--r--data/scripts/cutscene/outro/script_Object6AOctorok2.inc12
-rw-r--r--data/scripts/cutscene/outro/script_Object6AOctorok3.inc12
-rw-r--r--data/scripts/cutscene/outro/script_Object6AOctorok4.inc12
-rw-r--r--data/scripts/cutscene/outro/script_Object6ATektite1.inc12
-rw-r--r--data/scripts/cutscene/outro/script_Object6ATektite2.inc12
-rw-r--r--data/scripts/cutscene/outro/script_Object6ATektite3.inc12
-rw-r--r--data/scripts/cutscene/outro/script_Object6ATektite4.inc12
-rw-r--r--data/scripts/cutscene/outro/script_Object6ATheLittleHat.inc16
-rw-r--r--data/scripts/cutscene/outro/script_Object6AZeldaMagic.inc11
-rw-r--r--data/scripts/cutscene/outro/script_PlayerAtEzlo.inc11
-rw-r--r--data/scripts/cutscene/outro/script_PlayerAtOutro.inc14
-rw-r--r--data/scripts/cutscene/outro/script_PlayerGetGreenCap.inc26
-rw-r--r--data/scripts/cutscene/outro/script_PlayerSayGoodbye.inc10
-rw-r--r--data/scripts/cutscene/outro/script_ZeldaGoodbye.inc16
-rw-r--r--data/scripts/cutscene/outro/script_ZeldaOutro.inc61
-rw-r--r--data/scripts/cutscene/reveal/script_08013494.inc19
-rw-r--r--data/scripts/cutscene/reveal/script_FakeKingDaltus.inc15
-rw-r--r--data/scripts/cutscene/reveal/script_Object3EPictureBackRoom.inc72
-rw-r--r--data/scripts/cutscene/reveal/script_PlayerAtPicture.inc12
-rw-r--r--data/scripts/cutscene/reveal/script_PlayerDistanceFromVaati.inc14
-rw-r--r--data/scripts/cutscene/reveal/script_PlayerFaintAgain.inc17
-rw-r--r--data/scripts/cutscene/reveal/script_PlayerMoveToPicture.inc12
-rw-r--r--data/scripts/cutscene/reveal/script_VaatiSanctuary.inc35
-rw-r--r--data/scripts/cutscene/takeover/script_GuardTakeover.inc19
-rw-r--r--data/scripts/cutscene/takeover/script_KingDaltusTakeover.inc27
-rw-r--r--data/scripts/cutscene/takeover/script_MinisterPothoTakeover.inc15
-rw-r--r--data/scripts/cutscene/takeover/script_Object69Takeover.inc53
-rw-r--r--data/scripts/cutscene/takeover/script_Object69TakeoverCutscene.inc68
-rw-r--r--data/scripts/cutscene/takeover/script_PlayerAtTakeover.inc20
-rw-r--r--data/scripts/cutscene/takeover/script_VaatiTakeover.inc41
-rw-r--r--data/scripts/cutscene/takeover/script_ZeldaStoneTakeover.inc10
166 files changed, 5260 insertions, 0 deletions
diff --git a/data/scripts/cutscene/ezlo/script_EzloCap.inc b/data/scripts/cutscene/ezlo/script_EzloCap.inc
new file mode 100644
index 00000000..bd5017e4
--- /dev/null
+++ b/data/scripts/cutscene/ezlo/script_EzloCap.inc
@@ -0,0 +1,244 @@
+@ First look at Ezlo EzloCap
+SCRIPT_START script_EzloCap
+ BeginBlock
+ SetEntitySpeed 0x0040
+ DoPostScriptAction 0x0007
+ EndBlock
+ _0807E930 0x0020
+ WaitForSomething2 0x00000004
+ _0807E930 0x0022
+ Call sub_0807F3C8
+ MessageFromTargetPos 0x1102, 0x000c
+ WaitUntilTextboxCloses
+ _0807E930 0x0020
+ _0807E5F8 0x00000008
+ WaitForSomething2 0x00000004
+ _0807E930 0x0021
+ Call sub_0807F3C8
+ MessageFromTargetPos 0x1103, 0x000c
+ WaitUntilTextboxCloses
+ _0807E930 0x0020
+ _0807E5F8 0x00000008
+ WaitForSomething2 0x00000004
+ DoPostScriptAction 0x0004
+ Wait 0x003c
+ _0807E5F8 0x00000008
+ WaitForSomething2 0x00000004
+ DoPostScriptAction 0x0011
+ _0807E930 0x001c
+ MessageFromTargetPos 0x1105, 0x000c
+ WaitUntilTextboxCloses
+ _0807E930 0x0020
+ _0807E5F8 0x00000008
+ WaitForSomething2 0x00000004
+ _0807E930 0x0022
+ Call sub_0807F3C8
+ MessageFromTargetPos 0x1106, 0x000c
+ WaitUntilTextboxCloses
+ _0807E930 0x001c
+ Call sub_0806D96C
+ MessageFromTargetPos 0x1107, 0x000c
+ WaitUntilTextboxCloses
+ _0807E930 0x0020
+ _0807E5F8 0x00000008
+ WaitForSomething2 0x00000004
+ _0807E930 0x0021
+ Call sub_0807F3C8
+ MessageFromTargetPos 0x1108, 0x000c
+ WaitUntilTextboxCloses
+ _0807E930 0x001c
+ Call sub_0806D96C
+ MessageFromTargetPos 0x1109, 0x000c
+ WaitUntilTextboxCloses
+ _0807E930 0x0020
+ DoPostScriptAction 0x000a
+ _0807E9D4
+ _0807E5F8 0x00000008
+script_080127F2:
+ EndBlock
+ BeginBlock
+ CheckRoomFlag 0x0000
+ JumpIf script_08012824
+ CheckEntityInteractType
+ JumpIfNot script_080127F2
+ EndBlock
+ _0807E864
+ Call sub_0806D944
+ _0807E930 0x0010
+ MessageFromTargetPos 0x1114, 0x000c
+ WaitUntilTextboxCloses
+ _0807E930 0x0020
+ _0807E878
+ Jump script_080127F2
+script_08012824:
+ _0807E864
+ _0807E9DC
+ CallWithArg sub_0807F5B0, 0x0000003c
+ Call sub_080791D0
+ EndBlock
+ _0807E5F8 0x00000008
+ WaitForSomething2 0x00000004
+ DoPostScriptAction 0x000b
+ _0807E5F8 0x00000008
+ WaitForSomething2 0x00000004
+ Call sub_0806D944
+ _0807E930 0x0010
+ MessageFromTargetPos 0x110a, 0x000c
+ WaitUntilTextboxCloses
+ _0807E930 0x001f
+ _0807E5F8 0x00000008
+ WaitForSomething2 0x00000004
+ _0807E930 0x0010
+ MessageFromTargetPos 0x110b, 0x000c
+ WaitUntilTextboxCloses
+ _0807E930 0x001f
+ _0807E5F8 0x00000008
+ WaitForSomething2 0x00000004
+ DoPostScriptAction 0x0004
+ Wait 0x003c
+ _0807E930 0x0010
+ MessageFromTargetPos 0x110c, 0x000c
+ WaitUntilTextboxCloses
+ _0807E930 0x001f
+ _0807E5F8 0x00000008
+ WaitForSomething2 0x00000004
+ _0807E930 0x0010
+ MessageFromTargetPos 0x110d, 0x000c
+ WaitUntilTextboxCloses
+ _0807E930 0x001f
+ _0807E5F8 0x00000008
+ WaitForSomething2 0x00000004
+ _0807E930 0x0010
+ MessageFromTargetPos 0x110e, 0x000c
+ WaitUntilTextboxCloses
+ _0807E930 0x0018
+ SetEntitySpeed 0x0080
+ Call sub_0806D908
+ _0807EC1C 0x0010
+ DoPostScriptAction 0x000a
+ _0807E9D4
+ _0807E5F8 0x00000008
+ WaitForSomething2 0x00000004
+script_08012904:
+ EndBlock
+ BeginBlock
+ Call sub_0806D944
+ CheckEntityInteractType
+ JumpIf script_08012920
+ CheckPlayerInRegion2 0x3030
+ JumpIfNot script_0801293A
+ Jump script_08012904
+script_08012920:
+ _0807E864
+ _0807E930 0x0010
+ EndBlock
+ MessageFromTargetPos 0x1115, 0x000c
+ WaitUntilTextboxCloses
+ _0807E930 0x0018
+ _0807E878
+ Jump script_08012904
+script_0801293A:
+ EndBlock
+ _0807E864
+ Call sub_0807F9A4
+ Call sub_0807DF28
+ _0807EB8C
+ Call sub_0806D944
+ _0807E930 0x0010
+ MessageFromTargetPos 0x110f, 0x000c
+ _0807E930 0x0018
+ SetEntitySpeed 0x0080
+ Call sub_0806D908
+ _0807EC1C 0x0050
+ WaitUntilTextboxCloses
+ Call sub_0807DF50
+ _0807E878
+ _0807E5F8 0x00000008
+ WaitForSomething2 0x00000004
+script_08012984:
+ EndBlock
+ BeginBlock
+ Call sub_0806D944
+ CheckEntityInteractType
+ JumpIf script_080129A0
+ CheckPlayerInRegion2 0x3030
+ JumpIfNot script_080129BA
+ Jump script_08012984
+script_080129A0:
+ _0807E864
+ _0807E930 0x0010
+ EndBlock
+ MessageFromTargetPos 0x1115, 0x000c
+ WaitUntilTextboxCloses
+ _0807E930 0x0018
+ _0807E878
+ Jump script_08012984
+script_080129BA:
+ EndBlock
+ _0807E864
+ Call sub_0807F9A4
+ Call sub_0807DF28
+ _0807EB8C
+ Call sub_0806D944
+ _0807E930 0x0010
+ MessageFromTargetPos 0x1110, 0x000c
+ _0807E930 0x0018
+ SetEntitySpeed 0x0080
+ Call sub_0806D908
+ _0807EC1C 0x0050
+ _0807E930 0x0018
+ WaitUntilTextboxCloses
+ Call sub_0807DF50
+ _0807E878
+ _0807E5F8 0x00000008
+ WaitForSomething2 0x00000004
+script_08012A08:
+ EndBlock
+ BeginBlock
+ Call sub_0806D944
+ CheckEntityInteractType
+ JumpIf script_08012A24
+ CheckPlayerInRegion2 0x3030
+ JumpIfNot script_08012A3E
+ Jump script_08012A08
+script_08012A24:
+ _0807E864
+ _0807E930 0x0010
+ EndBlock
+ MessageFromTargetPos 0x1115, 0x000c
+ WaitUntilTextboxCloses
+ _0807E930 0x0018
+ _0807E878
+ Jump script_08012A08
+script_08012A3E:
+ EndBlock
+ _0807E864
+ Call sub_0807F9A4
+ Call sub_0807DF28
+ StopBgm
+ DoPostScriptAction 0x000b
+ _0807EB8C
+ Call sub_0806D944
+ _0807E930 0x0010
+ MessageFromTargetPos 0x1111, 0x000c
+ _0807E930 0x0018
+ SetEntitySpeed 0x0080
+ Call sub_0806D8A0
+script_08012A74:
+ _0807EE30
+ JumpIfNot script_08012A74
+ _0807E930 0x001f
+ WaitUntilTextboxCloses
+ StartPlayerScript script_PlayerGetEzloCap
+ Call sub_0806D9A4
+ DoPostScriptAction 0x0008
+ Wait 0x0078
+ PlayBgm BGM_EZLO_THEME
+ BeginBlock
+ _0807E8E4_2
+ _0807EB28 0x1112
+ EndBlock
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000008
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/ezlo/script_Npc4EEzloCutscene.inc b/data/scripts/cutscene/ezlo/script_Npc4EEzloCutscene.inc
new file mode 100644
index 00000000..a238743e
--- /dev/null
+++ b/data/scripts/cutscene/ezlo/script_Npc4EEzloCutscene.inc
@@ -0,0 +1,135 @@
+@ Minish Woods Ezlo Cutscene NPC4E
+SCRIPT_START script_Npc4EEzloCutscene
+ BeginBlock
+ Call sub_08054564
+ EndBlock
+script_0801248A:
+ CheckPlayerInRegion 0x0208, 0x02c8, 0x4020
+ JumpIfNot script_0801248A
+ StopBgm
+ _0807E864
+ Call sub_0807F9A4
+ Call sub_0807DF28
+ StartPlayerScript script_PlayerAtFirstLookAtEzlo
+ MessageFromTargetPos 0x1101, 0x0007
+ WaitUntilTextboxCloses
+ CameraTargetPlayer
+ _0807E778 0x0004
+ _0807E80C 0x00000000
+ WaitFor_2
+ _0807E858 0x0000
+ Call sub_080791BC
+ LoadRoomEntityList gUnk_080F4D70
+ Call DeleteAllEnemies
+ SetEntityPositionRelative 0x0388, 0x0168
+ Call sub_0807F844
+ _0807E778 0x0004
+ _0807E800 0x00000000
+ WaitFor_2
+ PlayBgm BGM_EZLO_THEME
+ _0807E5F8 0x00000010
+ WaitForSomething2 0x00000020
+ WaitForSomething2 0x00000100
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000008
+ _0807E5F8 0x00000040
+ WaitForSomething2 0x00000080
+ WaitForSomething2 0x00000100
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000008
+ StopBgm
+ _0807E778 0x0004
+ _0807E80C 0x00000000
+ WaitFor_2
+ MoveEntityToPlayer
+ Call sub_0807F844
+ CameraTargetPlayer
+ SetFadeMask 0xffffffff
+ _0807E778 0x0004
+ _0807E800 0x00000000
+ WaitFor_2
+ Call sub_0807DF50
+ _0807E878
+ PlayBGM
+script_08012566:
+ CheckPlayerInRegion 0x03a0, 0x01a0, 0x1020
+ JumpIfNot script_08012566
+ _0807E864
+ Call sub_0807F9A4
+ Call sub_0807DF28
+ Call sub_0806DC7C
+ StopBgm
+ StartPlayerScript script_PlayerEzloBeingBullied
+ WaitForSomething2 0x00000001
+ SetEntityPositionRelative 0x0388, 0x0168
+ _0807F0B4 0x0001
+ CameraTargetEntity
+ Wait 0x005a
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000008
+ PlayBgm BGM_EZLO_THEME
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000008
+ _0807E5F8 0x00000040
+ WaitForSomething2 0x00000080
+ WaitForSomething2 0x00000100
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000008
+ _0807E5F8 0x00000010
+ WaitForSomething2 0x00000020
+ WaitForSomething2 0x00000100
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000008
+ StopBgm
+ PlayBgm BGM_FIGHT_THEME2
+ Call sub_0807DF50
+ _0807E878
+ _0807E5F8 0x00000050
+ LoadRoomEntityList gUnk_080F51D0
+ WaitForSomething2 0x00000008
+ _0807E864
+ Call sub_0807FA40
+ Call sub_0807DF28
+ PlaySound SFX_SECRET
+ StopBgm
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000008
+ StartPlayerScript script_PlayerDefeatedOctoroks
+ WaitForSomething2 0x00000001
+ _0807E8E4_0
+ PlayBgm BGM_EZLO_THEME
+ Wait 0x001e
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000008
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000008
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000008
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000008
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000008
+ StopBgm
+ Wait 0x003c
+ PlayBGM
+ Call sub_0806DCA0
+ _0807F0B4 0x0004
+ CameraTargetPlayer
+ Call sub_0807DF50
+ _0807E878
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000008
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000008
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000008
+ StopBgm
+ Wait 0x003c
+ PlayBGM
+ Call sub_08054570
+ SetGlobalFlag 0x0014
+ CallWithArg sub_0807F6F8, 0x00000008
+ Call sub_0807DF50
+ _0807E878
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/ezlo/script_Object6ALeftBullyingOctorok.inc b/data/scripts/cutscene/ezlo/script_Object6ALeftBullyingOctorok.inc
new file mode 100644
index 00000000..3aa979f2
--- /dev/null
+++ b/data/scripts/cutscene/ezlo/script_Object6ALeftBullyingOctorok.inc
@@ -0,0 +1,21 @@
+@ First look at Ezlo OBJECT_6A left octorok
+SCRIPT_START script_Object6ALeftBullyingOctorok
+ BeginBlock
+ _0807EB44 0x0002
+ DoPostScriptAction 0x0007
+ _0807E930 0x0001
+ EndBlock
+ WaitForSomething2 0x00000040
+ _0807E930 0x0005
+ Wait 0x001e
+ _0807E5F8 0x00000080
+ _0807E930 0x0001
+ WaitForSomething2 0x00000040
+ _0807E930 0x0005
+ Wait 0x001e
+ _0807E5F8 0x00000080
+ _0807E930 0x0001
+ WaitForSomething2 0x00000040
+ Wait 0x0001
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/ezlo/script_Object6ARightBullyingOctorok.inc b/data/scripts/cutscene/ezlo/script_Object6ARightBullyingOctorok.inc
new file mode 100644
index 00000000..f715c8ca
--- /dev/null
+++ b/data/scripts/cutscene/ezlo/script_Object6ARightBullyingOctorok.inc
@@ -0,0 +1,21 @@
+@ First look at Ezlo OBJECT_6A right octorok
+SCRIPT_START script_Object6ARightBullyingOctorok
+ BeginBlock
+ _0807EB44 0x0006
+ DoPostScriptAction 0x0007
+ _0807E930 0x0003
+ EndBlock
+ WaitForSomething2 0x00000010
+ _0807E930 0x0007
+ Wait 0x001e
+ _0807E5F8 0x00000020
+ _0807E930 0x0003
+ WaitForSomething2 0x00000010
+ _0807E930 0x0007
+ Wait 0x001e
+ _0807E5F8 0x00000020
+ _0807E930 0x0003
+ WaitForSomething2 0x00000010
+ Wait 0x0001
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/ezlo/script_PlayerAtFirstLookAtEzlo.inc b/data/scripts/cutscene/ezlo/script_PlayerAtFirstLookAtEzlo.inc
new file mode 100644
index 00000000..1330fd87
--- /dev/null
+++ b/data/scripts/cutscene/ezlo/script_PlayerAtFirstLookAtEzlo.inc
@@ -0,0 +1,10 @@
+@ First look at Ezlo Player
+SCRIPT_START script_PlayerAtFirstLookAtEzlo
+ EndBlock
+script_08012AB2:
+ _0807EB44 0x0002
+ Wait 0x000a
+ _0807EB44 0x0006
+ Wait 0x000a
+ Jump script_08012AB2
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/ezlo/script_PlayerDefeatedOctoroks.inc b/data/scripts/cutscene/ezlo/script_PlayerDefeatedOctoroks.inc
new file mode 100644
index 00000000..19d3b88a
--- /dev/null
+++ b/data/scripts/cutscene/ezlo/script_PlayerDefeatedOctoroks.inc
@@ -0,0 +1,12 @@
+@ Ezlo octoroks defeated Player
+SCRIPT_START script_PlayerDefeatedOctoroks
+ BeginBlock
+ SetEntitySpeed 0x0100
+ EndBlock
+ DoPostScriptAction 0x0001
+ _0807EDD4 0x0388, 0x0180
+ _0807EB44 0x0000
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000001
+ Call sub_080791BC
+SCRIPT_END
diff --git a/data/scripts/cutscene/ezlo/script_PlayerEzloBeingBullied.inc b/data/scripts/cutscene/ezlo/script_PlayerEzloBeingBullied.inc
new file mode 100644
index 00000000..3d67f251
--- /dev/null
+++ b/data/scripts/cutscene/ezlo/script_PlayerEzloBeingBullied.inc
@@ -0,0 +1,13 @@
+@ Ezlo being bullied Player
+SCRIPT_START script_PlayerEzloBeingBullied
+ BeginBlock
+ SetEntitySpeed 0x0080
+ EndBlock
+ _0807EB44 0x0000
+ DoPostScriptAction 0x0000
+ DoPostScriptAction 0x0004
+ Wait 0x003c
+ _0807E5F8 0x00000001
+ Call sub_080791BC
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/ezlo/script_PlayerGetEzloCap.inc b/data/scripts/cutscene/ezlo/script_PlayerGetEzloCap.inc
new file mode 100644
index 00000000..545b7a6c
--- /dev/null
+++ b/data/scripts/cutscene/ezlo/script_PlayerGetEzloCap.inc
@@ -0,0 +1,5 @@
+@ Get Ezlo cap Player
+SCRIPT_START script_PlayerGetEzloCap
+ DoPostScriptAction 0x0015
+ Call sub_080791BC
+SCRIPT_END
diff --git a/data/scripts/cutscene/intro/script_HouseDoorIntro.inc b/data/scripts/cutscene/intro/script_HouseDoorIntro.inc
new file mode 100644
index 00000000..41718dc5
--- /dev/null
+++ b/data/scripts/cutscene/intro/script_HouseDoorIntro.inc
@@ -0,0 +1,20 @@
+@ Intro house door
+SCRIPT_START script_HouseDoorIntro
+ BeginBlock
+ EndBlock
+ WaitForSomething2 0x00000010
+ @ Open door
+ PlaySound SFX_F0
+ DoPostScriptAction 0x0008
+ Wait 0x001e
+ @ Close door
+ PlaySound SFX_F1
+ DoPostScriptAction 0x0007
+ Wait 0x005a
+ _0807E778 0x0004
+ @ Circle transition
+ _0807E80C 0x00000000
+ WaitFor_2 @ Wait for end of transition
+ Call sub_0805367C
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/intro/script_IntroCameraTarget.inc b/data/scripts/cutscene/intro/script_IntroCameraTarget.inc
new file mode 100644
index 00000000..d208ad40
--- /dev/null
+++ b/data/scripts/cutscene/intro/script_IntroCameraTarget.inc
@@ -0,0 +1,17 @@
+@ Intro camera target
+SCRIPT_START script_IntroCameraTarget
+ SetEntityPositionRelative 0x0240, 0x0178
+ CameraTargetEntity
+ SetEntitySpeed 0x0080
+ Wait 0x0078
+ PlayBgm BGM_MINISH_CAP
+ _0807E778 0x0002
+ @ Fade in
+ DoFade4
+ WaitFor_2 @ TODO wait for fade to be finished
+ Wait 0x0078
+ _0807E5F8 0x00000004
+ Call sub_08053648
+ @ Move camera target down
+ _0807EDD4 0x0240, 0x0228
+SCRIPT_END
diff --git a/data/scripts/cutscene/intro/script_Npc4EOutsideLinksHouse.inc b/data/scripts/cutscene/intro/script_Npc4EOutsideLinksHouse.inc
new file mode 100644
index 00000000..24a29289
--- /dev/null
+++ b/data/scripts/cutscene/intro/script_Npc4EOutsideLinksHouse.inc
@@ -0,0 +1,21 @@
+@ NPC4E in front of links house during intro
+SCRIPT_START script_Npc4EOutsideLinksHouse
+ BeginBlock
+ SetEntityPositionRelative 0x0238, 0x01a8
+ Call sub_0807F844
+ Call sub_0807F348
+ _0807E864
+ Call sub_0807DF28
+ EndBlock
+ _0807E778 0x0010
+ DoFade6
+ WaitFor_2
+ _0807E5F8 0x00000001
+ WaitForSomething2 0x00000002
+ _0807F0B4 0x0004
+ CameraTargetPlayer
+ Call sub_0807DF50
+ _0807E878
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/intro/script_Object69Intro.inc b/data/scripts/cutscene/intro/script_Object69Intro.inc
new file mode 100644
index 00000000..3165207b
--- /dev/null
+++ b/data/scripts/cutscene/intro/script_Object69Intro.inc
@@ -0,0 +1,16 @@
+@ Intro smith OBJECT_69 ?
+SCRIPT_START script_Object69Intro
+ BeginBlock
+ Call sub_0807DF28
+ _0807E864
+ _0807E5F8 0x00000000
+ EndBlock
+ WaitFor_2
+ Wait 0x0078
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000001
+ SetGlobalFlag 0x001c
+ Call sub_0807DF50
+ _0807E878
+ Call sub_0807921C
+SCRIPT_END
diff --git a/data/scripts/cutscene/intro/script_Object69Intro2.inc b/data/scripts/cutscene/intro/script_Object69Intro2.inc
new file mode 100644
index 00000000..2da80def
--- /dev/null
+++ b/data/scripts/cutscene/intro/script_Object69Intro2.inc
@@ -0,0 +1,9 @@
+@ Intro unknown second OBJECT_69
+SCRIPT_START script_Object69Intro2
+ Wait 0x003c
+script_08009A38:
+ Call sub_08066258
+ Wait 0x001e
+ Call sub_08066258
+ Wait 0x005a
+ Jump script_08009A38
diff --git a/data/scripts/cutscene/intro/script_PlayerIntro.inc b/data/scripts/cutscene/intro/script_PlayerIntro.inc
new file mode 100644
index 00000000..862bf6e6
--- /dev/null
+++ b/data/scripts/cutscene/intro/script_PlayerIntro.inc
@@ -0,0 +1,24 @@
+@ Intro Player
+SCRIPT_START script_PlayerIntro
+ BeginBlock
+ Call sub_0807DF28
+ _0807E864
+ SetLocalFlag 0x0046
+ EndBlock
+ WaitFor_2
+ Wait 0x001e
+ @ Wake up message
+ MessageFromTarget 0x1005
+ WaitUntilTextboxCloses
+ Wait 0x003c
+ Call sub_0807529C
+ Wait 0x003c
+ @ Exclamation mark
+ DoPostScriptAction 0x0014
+ Wait 0x001e
+ @ Give control to the player?
+ Call sub_08053250
+ _0807E878
+ Call sub_0807DF50
+ Call sub_080791D0
+SCRIPT_END
diff --git a/data/scripts/cutscene/intro/script_PlayerMoveToSmith.inc b/data/scripts/cutscene/intro/script_PlayerMoveToSmith.inc
new file mode 100644
index 00000000..3f349401
--- /dev/null
+++ b/data/scripts/cutscene/intro/script_PlayerMoveToSmith.inc
@@ -0,0 +1,28 @@
+@ Player at Smith during intro
+SCRIPT_START script_PlayerMoveToSmith
+ BeginBlock
+ _0807E8E4_1
+ SetEntitySpeed 0x00c0
+ EndBlock
+ _0807E5F8 0x00000004
+ DoPostScriptAction 0x0004
+ Wait 0x003c
+ _0807EDD4 0x0040, 0x0060
+ _0807EDD4 0x0060, 0x0068
+ _0807E5F8 0x00000004
+ DoPostScriptAction 0x0000
+ _0807E8E4_0
+ Wait 0x000f
+ PlaySound SFX_VO_ZELDA1
+ DoPostScriptAction 0x0000
+ Wait 0x001e
+ _0807E5F8 0x00000008
+ WaitForSomething2 0x00000002
+ _0807EDD4 0x0070, 0x005c
+ _0807E8E4_1
+ DoPostScriptAction 0x0000
+ Wait 0x000f
+ _0807E5F8 0x00000008
+ WaitForSomething2 0x00000002
+ _0807E5F8 0x00000008
+SCRIPT_END
diff --git a/data/scripts/cutscene/intro/script_SmithIntro.inc b/data/scripts/cutscene/intro/script_SmithIntro.inc
new file mode 100644
index 00000000..e1e63bf5
--- /dev/null
+++ b/data/scripts/cutscene/intro/script_SmithIntro.inc
@@ -0,0 +1,38 @@
+@ Intro Smith 1
+SCRIPT_START script_SmithIntro
+ BeginBlock
+ Call sub_0807F348
+ SetEntitySpeed 0x0040
+ _0807EB44 0x0004
+ _0807E930 0x000c
+ _0807E908 0x0003
+ EndBlock
+ Wait 0x001e
+ CameraTargetEntity
+ _0807E778 0x0004
+ _0807E800 0x00000000
+ WaitFor_2
+ WaitForSomething2 0x00000008
+ DoPostScriptAction 0x0004
+ Wait 0x001e
+ _0807E930 0x000b
+ Wait 0x001e
+ MessageFromTarget 0x1002
+ WaitUntilTextboxCloses
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000008
+ _0807E908 0x0001
+ _0807EB44 0x0004
+ _0807EDD4 0x00b8, 0x005c
+ _0807EB44 0x0006
+ DoPostScriptAction 0x0001
+ MessageFromTarget 0x1004
+ WaitUntilTextboxCloses
+ DoPostScriptAction 0x0000
+ Wait 0x001e
+ _0807E778 0x0002
+ DoFade5
+ WaitFor_2
+ Call sub_08053634
+SCRIPT_END
diff --git a/data/scripts/cutscene/intro/script_SmithIntro2.inc b/data/scripts/cutscene/intro/script_SmithIntro2.inc
new file mode 100644
index 00000000..6ad10242
--- /dev/null
+++ b/data/scripts/cutscene/intro/script_SmithIntro2.inc
@@ -0,0 +1,66 @@
+@ Intro Smith 2
+SCRIPT_START script_SmithIntro2
+ BeginBlock
+ _0807EB44 0x0006
+ SetEntitySpeed 0x0080
+ _0807E9D4
+ Call sub_0807F348
+ EndBlock
+ CheckGlobalFlag 0x0013
+ JumpIf script_08009C4C
+ _0807E888
+ Wait 0x000a
+ _0807E864
+ StartPlayerScript script_PlayerMoveToSmith
+ Call sub_0807DF28
+ WaitForSomething2 0x00000008
+ _0807EDD4 0x0080, 0x005c
+ _0807EB44 0x0006
+ DoPostScriptAction 0x0000
+ Wait 0x000f
+ DoPostScriptAction 0x0001
+ MessageFromTargetPos 0x1009, 0x0000
+ _0807E8E4_1
+ WaitUntilTextboxCloses
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000008
+ _0807EB8C
+ DoPostScriptAction 0x0001
+ MessageFromTargetPos 0x100b, 0x0000
+ WaitUntilTextboxCloses
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000008
+ _0807EDD4 0x007c, 0x005c
+ Wait 0x000f
+ DoPostScriptAction 0x000d
+ _0807EDD4 0x0084, 0x005c
+ _0807EB44 0x0006
+ DoPostScriptAction 0x000c
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000008
+ Call sub_08053250
+ @ Give player rusty sword
+ _0807F034 0x0034
+ WaitPlayerGetItem
+ _0807E8E4_1
+ DoPostScriptAction 0x0001
+ MessageFromTargetPos 0x100c, 0x0000
+ WaitUntilTextboxCloses
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000004
+script_08009C4C:
+ @ Talk to Smith
+ DoPostScriptAction 0x000a
+script_08009C50:
+ CheckEntityInteractType
+ JumpIfNot script_08009C50
+ _0807E864
+ _0807EB74
+ MessageNoOverlap 0x100e
+ _0807E878
+ Jump script_08009C50
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/intro/script_ZeldaIntro.inc b/data/scripts/cutscene/intro/script_ZeldaIntro.inc
new file mode 100644
index 00000000..8c6cbb80
--- /dev/null
+++ b/data/scripts/cutscene/intro/script_ZeldaIntro.inc
@@ -0,0 +1,24 @@
+@ Intro Zelda at Smith
+SCRIPT_START script_ZeldaIntro
+ BeginBlock
+ Call sub_0807F348
+ SetEntitySpeed 0x00c0
+ _0807EB44 0x0002
+ DoPostScriptAction 0x0008
+ EndBlock
+ WaitForSomething2 0x00000004
+ DoPostScriptAction 0x0007
+ _0807EDD4 0x0068, 0x0060
+ Wait 0x000f
+ MessageFromTarget 0x1001
+ WaitUntilTextboxCloses
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000008
+ WaitForSomething2 0x00000004
+ DoPostScriptAction 0x0001
+ MessageFromTarget 0x1003
+ WaitUntilTextboxCloses
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000008
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/intro/script_ZeldaLeaveLinksHouse.inc b/data/scripts/cutscene/intro/script_ZeldaLeaveLinksHouse.inc
new file mode 100644
index 00000000..8c776a85
--- /dev/null
+++ b/data/scripts/cutscene/intro/script_ZeldaLeaveLinksHouse.inc
@@ -0,0 +1,19 @@
+@ Intro Zelda leaving
+SCRIPT_START script_ZeldaLeaveLinksHouse
+ BeginBlock
+ SetEntitySpeed 0x0100
+ _0807EB44 0x0006
+ EndBlock
+ _0807EDD4 0x0078, 0x0060
+ _0807EDD4 0x0078, 0x007c
+ Wait 0x001e
+ Call sub_0805368C
+ Wait 0x0008
+ _0807EDD4 0x0078, 0x0098
+ DoPostScriptAction 0x0008
+ _0807E778 0x0010
+ DoFade5
+ WaitFor_2
+ Call sub_08053634
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/intro/script_ZeldaMoveToLinksHouse.inc b/data/scripts/cutscene/intro/script_ZeldaMoveToLinksHouse.inc
new file mode 100644
index 00000000..c53e3594
--- /dev/null
+++ b/data/scripts/cutscene/intro/script_ZeldaMoveToLinksHouse.inc
@@ -0,0 +1,29 @@
+@ Intro Zelda moves to links house
+SCRIPT_START script_ZeldaMoveToLinksHouse
+ BeginBlock
+ SetEntityPositionRelative 0x01e8, 0x0110
+ SetEntitySpeed 0x00c0
+ DoPostScriptAction 0x0008
+ EndBlock
+ WaitForSomething2 0x00000004
+ DoPostScriptAction 0x0007
+ _0807EDD4 0x01e8, 0x0200
+ _0807EDD4 0x01f8, 0x0218
+ _0807EDD4 0x0220, 0x0228
+ _0807EDD4 0x0240, 0x0228
+ @ Now the camera follows Zelda
+ CameraTargetEntity
+ _0807EDD4 0x0290, 0x0228
+ _0807EDD4 0x0290, 0x01f8
+ SetEntitySpeed 0x0080
+ _0807EDD4 0x0290, 0x01c8
+ SetEntitySpeed 0x00c0
+ _0807EDD4 0x0290, 0x0198
+ Wait 0x001e
+ @ Door is opening
+ _0807E5F8 0x00000010 @ Send signal to door
+ _0807EDD4 0x0290, 0x0190
+ DoPostScriptAction 0x0008
+ _0807EDD4 0x0290, 0x0188
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/intro/script_ZeldaOutsideLinksHouse.inc b/data/scripts/cutscene/intro/script_ZeldaOutsideLinksHouse.inc
new file mode 100644
index 00000000..acd3f102
--- /dev/null
+++ b/data/scripts/cutscene/intro/script_ZeldaOutsideLinksHouse.inc
@@ -0,0 +1,76 @@
+@ Zelda intro in front of links house
+SCRIPT_START script_ZeldaOutsideLinksHouse
+ BeginBlock
+ SetEntitySpeed 0x0180
+ DoPostScriptAction 0x000a
+ Call sub_08066D04
+ Call sub_08066D14
+ SetEntityPositionRelative 0x01e8, 0x0180
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0000
+ EndBlock
+ WaitForSomething2 0x00000001
+ Call sub_08066E08
+ _0807E864
+ MessageFromTargetPos 0x1010, 0x000c
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000002
+script_08014D1E:
+ EndBlock
+ BeginBlock
+ @ Left of links house
+ CheckPlayerInRegion 0x01d8, 0x0160, 0x3050
+ JumpIfNot script_08014D1E
+ EndBlock
+ _0807E864
+ Call sub_0807F9A4
+ Call sub_0807DF28
+ MessageNoOverlap 0x1012
+ WaitUntilTextboxCloses
+ _0807EC64 0x0040
+ _0807EB44 0x0004
+ Call sub_08066E08
+ SetEntityPositionRelative 0x01f8, 0x00c8
+ Call sub_0807DF50
+ _0807E878
+script_08014D60:
+ @ Between trees
+ CallWithArg sub_0807F6B4, 0x000000e8
+ JumpIf script_08014D60
+ _0807E864
+ Call sub_0807DF28
+ MessageNoOverlap 0x1013
+ WaitUntilTextboxCloses
+ _0807EC64 0x0040
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0000
+ SetEntityPositionRelative 0x01e8, 0x0028
+ Call sub_0807DF50
+ _0807E878
+script_08014D96:
+ @ Before hyrule town entry
+ CheckPlayerInRegion 0x01f8, 0x0028, 0x2040
+ JumpIfNot script_08014D96
+ _0807E864
+ Call sub_0807F9A4
+ Call sub_0807DF28
+ MessageNoOverlap 0x1014
+ WaitUntilTextboxCloses
+ _0807EC64 0x0018
+.ifdef JP
+ SetLocalFlag 0x006b
+.else
+.ifdef EU
+ SetLocalFlag 0x006b
+.else
+.ifdef DEMO_JP
+ SetLocalFlag 0x006b @ TODO deduplicate
+.else
+ SetLocalFlag 0x006d
+.endif
+.endif
+.endif
+ Call sub_0807DF50
+ _0807E878
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/intro/script_ZeldaTalkToSmith.inc b/data/scripts/cutscene/intro/script_ZeldaTalkToSmith.inc
new file mode 100644
index 00000000..4e986e81
--- /dev/null
+++ b/data/scripts/cutscene/intro/script_ZeldaTalkToSmith.inc
@@ -0,0 +1,41 @@
+@ Intro Zelda at Smith 2
+SCRIPT_START script_ZeldaTalkToSmith
+ BeginBlock
+ _0807EB44 0x0002
+ SetEntitySpeed 0x0100
+ Call sub_0807F348
+ EndBlock
+ WaitForSomething2 0x00000004
+ DoPostScriptAction 0x0004
+ _0807EB74
+ WaitForSomething2 0x00000004
+ _0807EB74
+ WaitForSomething2 0x00000004
+ _0807EB74
+ _0807EB8C
+ DoPostScriptAction 0x0001
+ MessageFromTargetPos 0x100a, 0x0000
+ WaitUntilTextboxCloses
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000008
+ WaitForSomething2 0x00000004
+ _0807EB8C
+ DoPostScriptAction 0x0001
+ _0807EB8C
+ _0807EB44 0x0002
+ MessageFromTargetPos 0x100d, 0x0000
+ WaitUntilTextboxCloses
+ DoPostScriptAction 0x0000
+ @ Leave room
+ _0807EDD4 0x0028, 0x0060
+ _0807EDD4 0x0000, 0x0060
+ Call sub_080536A8
+ Wait 0x001e
+ BeginBlock
+ SetGlobalFlag 0x0013
+ Call sub_0807DF50
+ Call sub_080791D0
+ _0807E878
+ EndBlock
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/introAssembly/script_GuardAtAssembly.inc b/data/scripts/cutscene/introAssembly/script_GuardAtAssembly.inc
new file mode 100644
index 00000000..4b6b7c79
--- /dev/null
+++ b/data/scripts/cutscene/introAssembly/script_GuardAtAssembly.inc
@@ -0,0 +1,19 @@
+@ Intro Assembly Guard
+SCRIPT_START script_GuardAtAssembly
+ BeginBlock
+ _0807EB44 0x0000
+ _0807E930 0x0000
+ EndBlock
+ WaitForSomething 0x00000010
+ PlaySound SFX_11C
+ _0807E930 0x0001
+ Wait 0x0010
+ PlaySound SFX_11C
+ _0807EB44 0x0004
+ _0807E930 0x0006
+ Wait 0x0010
+ DoPostScriptAction 0x000f
+ SetEntitySpeed 0x0200
+ _0807ECC4 0x1c20
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/introAssembly/script_KingDaltusAtAssembly.inc b/data/scripts/cutscene/introAssembly/script_KingDaltusAtAssembly.inc
new file mode 100644
index 00000000..9b88ae6c
--- /dev/null
+++ b/data/scripts/cutscene/introAssembly/script_KingDaltusAtAssembly.inc
@@ -0,0 +1,68 @@
+@ Intro Assembly King Daltus
+SCRIPT_START script_KingDaltusAtAssembly
+ BeginBlock
+ Call sub_0807F348
+ SetEntitySpeed 0x0100
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0000
+ _0807E9D4
+ DoPostScriptAction 0x000a
+ EndBlock
+ WaitForSomething2 0x00000080
+ _0807EB44 0x0004
+ _0807ECC4 0x0008
+ _0807E930 0x0004
+ MessageFromTargetPos 0x1050, 0x000e
+ WaitUntilTextboxCloses
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000100
+ WaitForSomething2 0x00000080
+ _0807E930 0x0004
+ MessageFromTargetPos 0x1052, 0x000e
+ WaitUntilTextboxCloses
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000100
+ WaitForSomething2 0x00000080
+ _0807EB44 0x0006
+ _0807E930 0x0005
+ MessageFromTargetPos 0x1054, 0x000e
+ WaitUntilTextboxCloses
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000100
+ WaitForSomething2 0x00000080
+ _0807EB44 0x0004
+ _0807E5F8 0x00000100
+ WaitForSomething2 0x00000080
+ _0807E930 0x0004
+ MessageFromTargetPos 0x1056, 0x000e
+ WaitUntilTextboxCloses
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000100
+ WaitForSomething2 0x00000080
+ _0807E930 0x0004
+ MessageFromTargetPos 0x1057, 0x000e
+ WaitUntilTextboxCloses
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000100
+ WaitForSomething2 0x00000080
+ _0807E930 0x0004
+ MessageFromTargetPos 0x1058, 0x000e
+ WaitUntilTextboxCloses
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000100
+ WaitForSomething2 0x00000080
+ _0807E930 0x0004
+ MessageFromTargetPos 0x105c, 0x000e
+ WaitUntilTextboxCloses
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000100
+script_0800917C:
+ CheckEntityInteractType
+ JumpIfNot script_0800917C
+ _0807E864
+ _0807EB74
+ Call sub_0806673C
+ WaitUntilTextboxCloses
+ Wait 0x000f
+ _0807E878
+ Jump script_0800917C
diff --git a/data/scripts/cutscene/introAssembly/script_MinisterPothoAtAssembly.inc b/data/scripts/cutscene/introAssembly/script_MinisterPothoAtAssembly.inc
new file mode 100644
index 00000000..4142d592
--- /dev/null
+++ b/data/scripts/cutscene/introAssembly/script_MinisterPothoAtAssembly.inc
@@ -0,0 +1,19 @@
+@ Intro Assembly Minister Potho
+SCRIPT_START script_MinisterPothoAtAssembly
+ BeginBlock
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0000
+ EndBlock
+ WaitForSomething2 0x00000004
+ PlaySound SFX_PLY_JUMP
+ _0807EF3C 0x0180, 0x0030
+ _0807EB44 0x0002
+ _0807E5F8 0x00000008
+ WaitForSomething2 0x00000004
+ _0807EB44 0x0004
+ _0807E5F8 0x00000008
+ BeginBlock
+ _0807E9D4
+ DoPostScriptAction 0x000a
+ Jump script_0800927E
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/introAssembly/script_Npc4EIntroAssembly.inc b/data/scripts/cutscene/introAssembly/script_Npc4EIntroAssembly.inc
new file mode 100644
index 00000000..3b00fdf8
--- /dev/null
+++ b/data/scripts/cutscene/introAssembly/script_Npc4EIntroAssembly.inc
@@ -0,0 +1,77 @@
+@ Intro Assembly NPC4E
+SCRIPT_START script_Npc4EIntroAssembly
+ BeginBlock
+ SetEntityPositionRelative 0x0088, 0x0078
+ EndBlock
+script_08008E12:
+ CheckPlayerInRegion 0x00d8, 0x0098, 0x4020
+ JumpIfNot script_08008E12
+ _0807E864
+ Call sub_0807F9A4
+ Call sub_0807DF28
+ _0807F0B4 0x0001
+ CameraTargetEntity
+ WaitForPlayerAction0x17
+ Wait 0x003c
+ StartPlayerScript script_PlayerEnters
+ WaitForSomething2 0x00000020
+ _0807E5F8 0x00000001
+ WaitForSomething2 0x00000002
+ _0807E5F8 0x00000001
+ WaitForSomething2 0x00000002
+ Wait 0x003c
+ _0807E5F8 0x00000080
+ WaitForSomething2 0x00000100
+ _0807E5F8 0x00000001
+ WaitForSomething2 0x00000002
+ Wait 0x000f
+ _0807E5F8 0x00000080
+ WaitForSomething2 0x00000100
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000008
+ MessageFromTargetPos 0x1053, 0x000e
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000080
+ WaitForSomething2 0x00000100
+ _0807E5F8 0x00000080
+ WaitForSomething2 0x00000100
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000008
+ _0807E5F8 0x00000001
+ WaitForSomething2 0x00000002
+ _0807E5F8 0x00000080
+ WaitForSomething2 0x00000100
+ _0807E5F8 0x00000040
+ WaitForSomething2 0x00000020
+ _0807E5F8 0x00000001
+ WaitForSomething2 0x00000002
+ _0807F034 0x0035
+ WaitPlayerGetItem
+ StartPlayerScript script_PlayerGetSword
+ WaitForSomething2 0x00000020
+ _0807E8E4_0
+ _0807E5F8 0x00000080
+ WaitForSomething2 0x00000100
+ _0807E5F8 0x00000010
+ Wait 0x0078
+ _0807E5F8 0x00000080
+ WaitForSomething2 0x00000100
+ _0807E8E4_1
+ _0807E5F8 0x00000001
+ WaitForSomething2 0x00000002
+ _0807F034 0x0047
+ WaitPlayerGetItem
+ SetIntVariable 0x00000003
+ Call sub_0807F420
+ _0807E8E4_0
+ _0807E5F8 0x00000080
+ WaitForSomething2 0x00000100
+ _0807F0B4 0x0004
+ CameraTargetPlayer
+ SetGlobalFlag 0x0015
+ Call sub_0806DCC0
+ Call sub_0807DF50
+ _0807E878
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/introAssembly/script_PlayerEnters.inc b/data/scripts/cutscene/introAssembly/script_PlayerEnters.inc
new file mode 100644
index 00000000..47cdcef5
--- /dev/null
+++ b/data/scripts/cutscene/introAssembly/script_PlayerEnters.inc
@@ -0,0 +1,20 @@
+@ Intro Assembly Player
+SCRIPT_START script_PlayerEnters
+ BeginBlock
+ SetEntitySpeed 0x0100
+ EndBlock
+ DoPostScriptAction 0x0001
+ _0807EDD4 0x00b8, 0x0090
+ _0807EB44 0x0006
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000020
+ WaitForSomething2 0x00000040
+ DoPostScriptAction 0x0001
+ _0807EDD4 0x0088, 0x0078
+ _0807EB44 0x0000
+ DoPostScriptAction 0x0000
+ Wait 0x000f
+ _0807E5F8 0x00000020
+ Call sub_080791BC
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/introAssembly/script_PlayerGetSword.inc b/data/scripts/cutscene/introAssembly/script_PlayerGetSword.inc
new file mode 100644
index 00000000..fb1ff121
--- /dev/null
+++ b/data/scripts/cutscene/introAssembly/script_PlayerGetSword.inc
@@ -0,0 +1,13 @@
+@ Intro Assembly Player gets Sword
+SCRIPT_START script_PlayerGetSword
+ _0807F078 0x0001, 0x0001
+ CallWithArg sub_0807F918, 0x00000001
+ PlaySound SFX_109
+ CallWithArg sub_0807F238, 0x0000045f
+ Call sub_0807F304
+ MessageFromTargetPos 0x0501, 0x000e
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000020
+ Call sub_080791BC
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/introAssembly/script_PlayerWakingUpInHyruleCastle.inc b/data/scripts/cutscene/introAssembly/script_PlayerWakingUpInHyruleCastle.inc
new file mode 100644
index 00000000..5943b93a
--- /dev/null
+++ b/data/scripts/cutscene/introAssembly/script_PlayerWakingUpInHyruleCastle.inc
@@ -0,0 +1,33 @@
+@ Intro Hyrule Castle Player Sleeping
+SCRIPT_START script_PlayerWakingUpInHyruleCastle
+ BeginBlock
+ Call sub_0807DF28
+ _0807E864
+.ifdef JP
+ SetLocalFlag 0x009e
+.else
+.ifdef EU
+ SetLocalFlag 0x009e
+.else
+.ifdef DEMO_JP
+ SetLocalFlag 0x009e @ TODO deduplicate
+.else
+ SetLocalFlag 0x009f
+.endif
+.endif
+.endif
+ EndBlock
+ Wait 0x003c
+ _0807E778 0x0004
+ DoFade4
+ WaitFor_2
+script_08009EA4:
+ Call sub_0807F0D8
+ JumpIfNot script_08009EA4
+ DoPostScriptAction 0x0014
+ Wait 0x000a
+ Call sub_08053250
+ _0807E878
+ Call sub_0807DF50
+ Call sub_080791D0
+SCRIPT_END
diff --git a/data/scripts/cutscene/introAssembly/script_SmithAtAssembly.inc b/data/scripts/cutscene/introAssembly/script_SmithAtAssembly.inc
new file mode 100644
index 00000000..d5f52ed6
--- /dev/null
+++ b/data/scripts/cutscene/introAssembly/script_SmithAtAssembly.inc
@@ -0,0 +1,55 @@
+@ Intro Assembly Smith
+SCRIPT_START script_SmithAtAssembly
+ BeginBlock
+ Call sub_0807F348
+ _0807EB44 0x0006
+ DoPostScriptAction 0x0000
+ EndBlock
+ WaitForSomething2 0x00000001
+ _0807EB74
+ DoPostScriptAction 0x0001
+ MessageFromTargetPos 0x105b, 0x0000
+ WaitUntilTextboxCloses
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000001
+ _0807EB44 0x0006
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000001
+ DoPostScriptAction 0x0005
+ Wait 0x003c
+ DoPostScriptAction 0x0001
+ MessageFromTargetPos 0x1051, 0x0000
+ WaitUntilTextboxCloses
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000001
+ DoPostScriptAction 0x0004
+ Wait 0x003c
+ _0807EB74
+ _0807EB8C
+ DoPostScriptAction 0x0001
+ MessageFromTargetPos 0x1055, 0x0000
+ WaitUntilTextboxCloses
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000001
+ _0807EB74
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000001
+ SetEntitySpeed 0x0080
+ DoPostScriptAction 0x0001
+ _0807EDD4 0x0098, 0x0078
+ _0807EB74
+ DoPostScriptAction 0x0000
+ DoPostScriptAction 0x0001
+ MessageFromTargetPos 0x1059, 0x0000
+ WaitUntilTextboxCloses
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000002
+ BeginBlock
+ _0807E9D4
+ DoPostScriptAction 0x000a
+ Jump script_080092B2
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/introBusinessScrub/script_080157AC.inc b/data/scripts/cutscene/introBusinessScrub/script_080157AC.inc
new file mode 100644
index 00000000..c9cd9e1d
--- /dev/null
+++ b/data/scripts/cutscene/introBusinessScrub/script_080157AC.inc
@@ -0,0 +1,86 @@
+@ Intro Outside Castle OBJECT_69 1?
+SCRIPT_START script_080157AC
+ CheckPlayerInRegion 0x01f8, 0x0310, 0x2020
+ JumpIfNot script_080157AC
+ _0807E864
+ Call sub_0807F9A4
+ Call sub_0807DF28
+ _0807E5F8 0x00000001
+ WaitForSomething2 0x00000002
+ Call sub_0807DF50
+ _0807E878
+script_080157DA:
+ CheckPlayerInRegion 0x0250, 0x0230, 0x3040
+ JumpIfNot script_080157DA
+ _0807E864
+ Call sub_0807F9A4
+ Call sub_0807DF28
+ Call sub_0807F3F8
+ Wait 0x003c
+ _0807E5F8 0x00000001
+ WaitForSomething2 0x00000002
+ StartPlayerScript script_PlayerIntroBusinessScrub1
+ _0807F0B4 0x0001
+ SetEntityPositionRelative 0x0248, 0x0218
+ CameraTargetEntity
+ Call sub_0807F5C0
+ WaitForSomething2 0x00000010
+ _0807E5F8 0x00000008
+ WaitForSomething2 0x00000020
+ _0807E5F8 0x00000001
+ WaitForSomething2 0x00000002
+ StartPlayerScript script_PlayerIntroBusinessScrub2
+ WaitForSomething2 0x00000010
+ _0807E5F8 0x00000001
+ WaitForSomething2 0x00000002
+ MessageFromTargetPos 0x1066, 0x0002
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000001
+ WaitForSomething2 0x00000002
+ Call sub_0807DF50
+ _0807E878
+ Call sub_08066F94
+ _0807E5F8 0x00000008
+script_08015880:
+ CheckRoomFlag 0x0000
+ JumpIfNot script_08015880
+script_08015888:
+ WaitUntilTextboxCloses
+ ComparePlayerAction 0x001c
+ JumpIf script_08015888
+ _0807E864
+ Call sub_0807DF28
+ _0807F0B4 0x0002
+ SetEntityPositionRelative 0x0248, 0x0208
+ CameraTargetEntity
+ StartPlayerScript script_PlayerIntroBusinessScrub3
+ WaitForSomething2 0x00000010
+ MessageFromTargetPos 0x106a, 0x000c
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000008
+ Wait 0x0078
+ _0807E8E4_2
+ MessageFromTargetPos 0x1068, 0x0002
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000001
+ WaitForSomething2 0x00000002
+.ifdef JP
+ SetLocalFlag 0x0089
+.else
+.ifdef EU
+ SetLocalFlag 0x0089
+.else
+.ifdef DEMO_JP
+ SetLocalFlag 0x0089 @ TODO deduplicate
+.else
+ SetLocalFlag 0x008b
+.endif
+.endif
+.endif
+ Call sub_08066FB8
+ Call sub_0807DF50
+ _0807E878
+ _0807F0B4 0x0004
+ CameraTargetPlayer
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/introBusinessScrub/script_08015B14.inc b/data/scripts/cutscene/introBusinessScrub/script_08015B14.inc
new file mode 100644
index 00000000..b53d5a0a
--- /dev/null
+++ b/data/scripts/cutscene/introBusinessScrub/script_08015B14.inc
@@ -0,0 +1,11 @@
+@ OBJECT_6A in sub_080954AC ? businessScrubPrologue?
+SCRIPT_START script_08015B14
+ BeginBlock
+ _0807E930 0x0018
+ SetEntitySpeed 0x0300
+ EndBlock
+ _0807EDD4 0x0248, 0x0218
+ _0807E5F8 0x00000020
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/introBusinessScrub/script_08015B34.inc b/data/scripts/cutscene/introBusinessScrub/script_08015B34.inc
new file mode 100644
index 00000000..c4d17a30
--- /dev/null
+++ b/data/scripts/cutscene/introBusinessScrub/script_08015B34.inc
@@ -0,0 +1,35 @@
+@ Intro Outside Castle OBJECT_69 2?
+SCRIPT_START script_08015B34
+ EndBlock
+ BeginBlock
+.ifdef JP
+ CheckLocalFlag 0x0089
+.else
+.ifdef EU
+ CheckLocalFlag 0x0089
+.else
+.ifdef DEMO_JP
+ CheckLocalFlag 0x0089 @ TODO deduplicate
+.else
+ CheckLocalFlag 0x008b
+.endif
+.endif
+.endif
+ JumpIf script_08015B7E
+ @ Prevent player from leaving to Hyrule Town
+ CallWithArg sub_0807F6B4, 0x00000318
+ JumpIfNot script_08015B34
+ EndBlock
+ _0807E864
+ Call sub_0807F9A4
+ Call sub_0807DF28
+ MessageFromTargetPos 0x2506, 0x0002
+ WaitUntilTextboxCloses
+ StartPlayerScript script_PlayerAtIntroBusinessScrub4
+ WaitForSomething2 0x00000004
+ Call sub_0807DF50
+ _0807E878
+ Jump script_08015B34
+script_08015B7E:
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/introBusinessScrub/script_BusinessScrubIntro.inc b/data/scripts/cutscene/introBusinessScrub/script_BusinessScrubIntro.inc
new file mode 100644
index 00000000..f549c630
--- /dev/null
+++ b/data/scripts/cutscene/introBusinessScrub/script_BusinessScrubIntro.inc
@@ -0,0 +1,22 @@
+@ Intro Outside Castle Business Scrub
+SCRIPT_START script_BusinessScrubIntro
+ BeginBlock
+ DoPostScriptAction 0x0007
+ DoPostScriptAction 0x000a
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0000
+ EndBlock
+ WaitForSomething2 0x00000008
+ _0807E908 0x0007
+ WaitForSomething2 0x00000008
+ _0807E908 0x0006
+ SetRoomFlag 0x0000
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0000
+ WaitForSomething2 0x00000008
+ Wait 0x003c
+ PlaySound SFX_SECRET
+ Call sub_08046078
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/introBusinessScrub/script_PlayerAtIntroBusinessScrub4.inc b/data/scripts/cutscene/introBusinessScrub/script_PlayerAtIntroBusinessScrub4.inc
new file mode 100644
index 00000000..1b3b8636
--- /dev/null
+++ b/data/scripts/cutscene/introBusinessScrub/script_PlayerAtIntroBusinessScrub4.inc
@@ -0,0 +1,11 @@
+@ Player at intro outside castle
+SCRIPT_START script_PlayerAtIntroBusinessScrub4
+ SetEntitySpeed 0x0100
+ DoPostScriptAction 0x0001
+ _0807EC64 0x0010
+ _0807EB44 0x0000
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000004
+ Call sub_080791BC
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/introBusinessScrub/script_PlayerIntroBusinessScrub1.inc b/data/scripts/cutscene/introBusinessScrub/script_PlayerIntroBusinessScrub1.inc
new file mode 100644
index 00000000..729f3715
--- /dev/null
+++ b/data/scripts/cutscene/introBusinessScrub/script_PlayerIntroBusinessScrub1.inc
@@ -0,0 +1,9 @@
+@ Player at intro outside castle 1?
+SCRIPT_START script_PlayerIntroBusinessScrub1
+ SetEntitySpeed 0x0100
+ _0807EDD4 0x0218, 0x0238
+ _0807EB44 0x0002
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000010
+ Call sub_080791BC
+SCRIPT_END
diff --git a/data/scripts/cutscene/introBusinessScrub/script_PlayerIntroBusinessScrub2.inc b/data/scripts/cutscene/introBusinessScrub/script_PlayerIntroBusinessScrub2.inc
new file mode 100644
index 00000000..76ba35a0
--- /dev/null
+++ b/data/scripts/cutscene/introBusinessScrub/script_PlayerIntroBusinessScrub2.inc
@@ -0,0 +1,9 @@
+@ Player at intro outside castle
+SCRIPT_START script_PlayerIntroBusinessScrub2
+ SetEntitySpeed 0x0100
+ _0807EDD4 0x0238, 0x0228
+ _0807EB44 0x0002
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000010
+ Call sub_080791BC
+SCRIPT_END
diff --git a/data/scripts/cutscene/introBusinessScrub/script_PlayerIntroBusinessScrub3.inc b/data/scripts/cutscene/introBusinessScrub/script_PlayerIntroBusinessScrub3.inc
new file mode 100644
index 00000000..e30904f6
--- /dev/null
+++ b/data/scripts/cutscene/introBusinessScrub/script_PlayerIntroBusinessScrub3.inc
@@ -0,0 +1,9 @@
+@ Intro Outside Castle Player
+SCRIPT_START script_PlayerIntroBusinessScrub3
+ SetEntitySpeed 0x0100
+ _0807EDD4 0x0248, 0x0208
+ _0807EB44 0x0000
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000010
+ Call sub_080791BC
+SCRIPT_END
diff --git a/data/scripts/cutscene/introBusinessScrub/script_ZeldaIntroBusinessScrub.inc b/data/scripts/cutscene/introBusinessScrub/script_ZeldaIntroBusinessScrub.inc
new file mode 100644
index 00000000..3a1d1d3d
--- /dev/null
+++ b/data/scripts/cutscene/introBusinessScrub/script_ZeldaIntroBusinessScrub.inc
@@ -0,0 +1,74 @@
+@ Intro Outside Castle Zelda
+SCRIPT_START script_ZeldaIntroBusinessScrub
+ BeginBlock
+ SetEntitySpeed 0x0180
+ DoPostScriptAction 0x0008
+ DoPostScriptAction 0x000b
+ Call sub_08066D04
+ EndBlock
+ WaitForSomething2 0x00000001
+ BeginBlock
+ Call sub_08066D14
+ MoveEntityToPlayer
+ EndBlock
+ DoPostScriptAction 0x0007
+ _0807EB74
+ _0807EDD4 0x01f8, 0x02f8
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0000
+ MessageFromTargetPos 0x1011, 0x0002
+ WaitUntilTextboxCloses
+ _0807EDD4 0x01f8, 0x0268
+ SetEntityPositionRelative 0x0248, 0x0218
+ _0807EB44 0x0006
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000001
+ _0807EB44 0x0000
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000001
+ Call sub_0807F3C8
+ PlaySound SFX_VO_ZELDA3
+ SetEntitySpeed 0x0200
+ _0807ECC4 0x0008
+ _0807E930 0x0040
+ Call sub_0807F2D4
+ _0807EB44 0x0006
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000001
+ _0807EB44 0x0006
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000001
+ SetEntitySpeed 0x0100
+ _0807EDD4 0x0238, 0x0238
+ _0807EB44 0x0000
+ DoPostScriptAction 0x0000
+ DoPostScriptAction 0x000a
+ _0807E9D4
+ _0807E5F8 0x00000002
+script_08015A32:
+ EndBlock
+ BeginBlock
+ _0807EB74
+ CheckRoomFlag 0x0000
+ JumpIf script_08015A54
+ CheckEntityInteractType
+ JumpIfNot script_08015A32
+ EndBlock
+ MessageFromTargetPos 0x1067, 0x0002
+ WaitUntilTextboxCloses
+ Jump script_08015A32
+script_08015A54:
+ EndBlock
+ DoPostScriptAction 0x000b
+ _0807EB44 0x0000
+ DoPostScriptAction 0x0000
+ WaitForSomething2 0x00000001
+ Call sub_08066D4C
+ _0807E5F8 0x00000002
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/introCeremony/script_08011890.inc b/data/scripts/cutscene/introCeremony/script_08011890.inc
new file mode 100644
index 00000000..cbad968b
--- /dev/null
+++ b/data/scripts/cutscene/introCeremony/script_08011890.inc
@@ -0,0 +1,17 @@
+@ Something during Intro Ceremony? Called via script_VaatiIntroCeremony
+SCRIPT_START script_08011890
+ BeginBlock
+ _0807E930 0x0000
+ SetEntitySpeed 0x0200
+ Call nullsub_527
+ Call sub_08094B80
+ EndBlock
+ Wait 0x00f0
+ Call sub_08094B6C
+ _0807EDD4 0x01f8, 0x0088
+ Call sub_08094B80
+ PlaySound SFX_1CC
+ _0807E5F8 0x10000000
+ WaitForSomething2 0x08000000
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/introCeremony/script_GuardBottomRight.inc b/data/scripts/cutscene/introCeremony/script_GuardBottomRight.inc
new file mode 100644
index 00000000..84046e60
--- /dev/null
+++ b/data/scripts/cutscene/introCeremony/script_GuardBottomRight.inc
@@ -0,0 +1,35 @@
+@ Intro Ceremony Guard bottom right
+SCRIPT_START script_GuardBottomRight
+ _0807E610 0x00002000
+ _0807E5F8 0x00004000
+ WaitForSomething2 0x00002000
+ _0807E930 0x0005
+ _0807EB44 0x0002
+ _0807EC94 0x0010
+ _0807EB44 0x0004
+ _0807E930 0x0002
+ _0807E5F8 0x00004000
+ WaitForSomething2 0x00002000
+ DoPostScriptAction 0x0004
+ Wait 0x003c
+ _0807E930 0x0012
+ PlaySound SFX_EM_MOBLIN_SPEAR
+ Wait 0x003c
+ _0807E930 0x0014
+ SetEntitySpeed 0x0100
+ _0807EDD4 0x0200, 0x0098
+ _0807EDD4 0x0200, 0x00c8
+ _0807E930 0x0013
+ _0807E5F8 0x00004000
+ WaitForSomething2 0x00002000
+ DoPostScriptAction 0x0010
+ Wait 0x000a
+ DoPostScriptAction 0x0010
+ Call sub_0807F3C8
+ _0807E930 0x0014
+ SetEntitySpeed 0x0400
+ SetEntityDirection 0x0002
+ _0807EC1C 0x003c
+ _0807E5F8 0x00004000
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/introCeremony/script_GuardCarryingChest.inc b/data/scripts/cutscene/introCeremony/script_GuardCarryingChest.inc
new file mode 100644
index 00000000..b558aaa0
--- /dev/null
+++ b/data/scripts/cutscene/introCeremony/script_GuardCarryingChest.inc
@@ -0,0 +1,55 @@
+@ Intro Ceremony Chest carrying Guard
+@ and guard bottom left?
+SCRIPT_START script_GuardCarryingChest
+ BeginBlock
+ DoPostScriptAction 0x0008
+ SetEntitySpeed 0x0100
+ Call sub_08095244
+ Call sub_0807F338
+ EndBlock
+ WaitForSomething 0x0002a800
+ DoPostScriptAction 0x0007
+ _0807E930 0x0006
+ _0807ECC4 0x0010
+ Wait 0x003c
+ _0807ECC4 0x0010
+ Wait 0x003c
+ _0807ECC4 0x0010
+ _0807E930 0x0002
+ Call sub_08064050
+ JumpTable script_08011312, script_GuardBottomRight, script_GuardTopLeft, script_GuardTopRight
+@ Guard bottom left:
+script_08011312:
+ _0807E610 0x00000800
+ _0807E5F8 0x00001000
+ WaitForSomething2 0x00000800
+ _0807E930 0x0007
+ _0807EB44 0x0006
+ _0807ECF4 0x0010
+ _0807EB44 0x0004
+ _0807E930 0x0002
+ _0807E5F8 0x00001000
+ WaitForSomething2 0x00000800
+ DoPostScriptAction 0x0004
+ Wait 0x003c
+ _0807E930 0x0012
+ PlaySound SFX_EM_MOBLIN_SPEAR
+ Wait 0x003c
+ _0807E930 0x0014
+ SetEntitySpeed 0x0100
+ _0807EDD4 0x01f0, 0x0098
+ _0807EDD4 0x01f0, 0x00c8
+ _0807E930 0x0013
+ _0807E5F8 0x00001000
+ WaitForSomething2 0x00000800
+ DoPostScriptAction 0x0010
+ Wait 0x000a
+ DoPostScriptAction 0x0010
+ Call sub_0807F3C8
+ _0807E930 0x0014
+ SetEntitySpeed 0x0400
+ SetEntityDirection 0x001e
+ _0807EC1C 0x003c
+ _0807E5F8 0x00001000
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/introCeremony/script_GuardEntryLeft.inc b/data/scripts/cutscene/introCeremony/script_GuardEntryLeft.inc
new file mode 100644
index 00000000..4efe80a7
--- /dev/null
+++ b/data/scripts/cutscene/introCeremony/script_GuardEntryLeft.inc
@@ -0,0 +1,16 @@
+@ Intro Ceremony Entrance Guard left
+SCRIPT_START script_GuardEntryLeft
+ BeginBlock
+ SetEntitySpeed 0x0100
+ _0807EB44 0x0002
+ _0807E930 0x0001
+ EndBlock
+ WaitForSomething2 0x00080000
+ _0807E930 0x0005
+ PlaySound SFX_11C
+ _0807ECF4 0x0010
+ _0807E930 0x0001
+ _0807E5F8 0x00100000
+ WaitForSomething2 0x00080000
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/introCeremony/script_GuardEntryRight.inc b/data/scripts/cutscene/introCeremony/script_GuardEntryRight.inc
new file mode 100644
index 00000000..487b0bec
--- /dev/null
+++ b/data/scripts/cutscene/introCeremony/script_GuardEntryRight.inc
@@ -0,0 +1,16 @@
+@ Intro Ceremony Entrace Guard right
+SCRIPT_START script_GuardEntryRight
+ BeginBlock
+ SetEntitySpeed 0x0100
+ _0807EB44 0x0006
+ _0807E930 0x0003
+ EndBlock
+ WaitForSomething2 0x00200000
+ _0807E930 0x0007
+ PlaySound SFX_11C
+ _0807EC94 0x0010
+ _0807E930 0x0003
+ _0807E5F8 0x00400000
+ WaitForSomething2 0x00200000
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/introCeremony/script_GuardTopLeft.inc b/data/scripts/cutscene/introCeremony/script_GuardTopLeft.inc
new file mode 100644
index 00000000..fd1af748
--- /dev/null
+++ b/data/scripts/cutscene/introCeremony/script_GuardTopLeft.inc
@@ -0,0 +1,44 @@
+@ Intro Ceremony Guard top left
+SCRIPT_START script_GuardTopLeft
+ _0807E610 0x00008000
+ _0807E5F8 0x00010000
+ WaitForSomething2 0x00008000
+ _0807E930 0x0007
+ _0807EB44 0x0006
+ _0807ECF4 0x0020
+ _0807EB44 0x0004
+ _0807E930 0x0006
+ _0807ECC4 0x0010
+ _0807E930 0x0002
+ _0807E5F8 0x00010000
+ WaitForSomething2 0x00008000
+ DoPostScriptAction 0x0004
+ Wait 0x003c
+ _0807E930 0x0012
+ PlaySound SFX_EM_MOBLIN_SPEAR
+ _0807E5F8 0x00010000
+ WaitForSomething2 0x00008000
+ _0807E930 0x0014
+ SetEntitySpeed 0x0100
+ _0807EDD4 0x01e8, 0x0098
+ SetEntitySpeed 0x0040
+ _0807EEF4 0x0000, 0x0010
+ _0807E930 0x0013
+ _0807E5F8 0x00010000
+ WaitForSomething2 0x00008000
+ DoPostScriptAction 0x000d
+ _0807E930 0x0014
+ SetEntitySpeed 0x0020
+ _0807EEF4 0x0000, 0xfff0
+ _0807E930 0x0013
+ DoPostScriptAction 0x0010
+ _0807E5F8 0x00010000
+ WaitForSomething2 0x00008000
+ Call sub_0807F3C8
+ _0807E930 0x0014
+ SetEntitySpeed 0x0400
+ SetEntityDirection 0x001e
+ _0807EC1C 0x003c
+ _0807E5F8 0x00010000
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/introCeremony/script_GuardTopRight.inc b/data/scripts/cutscene/introCeremony/script_GuardTopRight.inc
new file mode 100644
index 00000000..9b8b000e
--- /dev/null
+++ b/data/scripts/cutscene/introCeremony/script_GuardTopRight.inc
@@ -0,0 +1,45 @@
+@ Intro Ceremony Guard top right
+SCRIPT_START script_GuardTopRight
+ _0807E610 0x00020000
+ _0807E5F8 0x00040000
+ WaitForSomething2 0x00020000
+ _0807E930 0x0005
+ _0807EB44 0x0002
+ _0807EC94 0x0020
+ _0807EB44 0x0004
+ _0807E930 0x0006
+ _0807ECC4 0x0010
+ _0807E930 0x0002
+ _0807E5F8 0x00040000
+ WaitForSomething2 0x00020000
+ DoPostScriptAction 0x0004
+ Wait 0x003c
+ _0807E930 0x0012
+ PlaySound SFX_EM_MOBLIN_SPEAR
+ _0807E5F8 0x00040000
+ WaitForSomething2 0x00020000
+ _0807E930 0x0014
+ SetEntitySpeed 0x0100
+ _0807EDD4 0x0208, 0x0098
+ SetEntitySpeed 0x0040
+ _0807EEF4 0x0000, 0x0010
+ _0807E930 0x0013
+ _0807E5F8 0x00040000
+ WaitForSomething2 0x00020000
+ DoPostScriptAction 0x000d
+ _0807E930 0x0014
+ SetEntitySpeed 0x0020
+ _0807EEF4 0x0000, 0xfff0
+ _0807E930 0x0013
+ DoPostScriptAction 0x0010
+ _0807E5F8 0x00040000
+ WaitForSomething2 0x00020000
+ Call sub_0807F3C8
+ _0807E930 0x0014
+ SetEntitySpeed 0x0400
+ SetEntityDirection 0x0002
+ _0807EC1C 0x003c
+ _0807E5F8 0x00040000
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/introCeremony/script_KingDaltusIntroCeremony.inc b/data/scripts/cutscene/introCeremony/script_KingDaltusIntroCeremony.inc
new file mode 100644
index 00000000..2e28b685
--- /dev/null
+++ b/data/scripts/cutscene/introCeremony/script_KingDaltusIntroCeremony.inc
@@ -0,0 +1,26 @@
+@ Intro Ceremony King Daltus
+SCRIPT_START script_KingDaltusIntroCeremony
+ BeginBlock
+ DoPostScriptAction 0x0008
+ _0807EB44 0x0004
+ SetEntitySpeed 0x0100
+ EndBlock
+ Call sub_0807F338
+ WaitForSomething2 0x00000040
+ DoPostScriptAction 0x0007
+ DoPostScriptAction 0x0001
+ SetEntitySpeed 0x0040
+ _0807EDD4 0x01f8, 0x0048
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000080
+ WaitForSomething2 0x00000040
+ DoPostScriptAction 0x0010
+ Wait 0x001e
+ DoPostScriptAction 0x0010
+ Call sub_0807F3C8
+ SetEntitySpeed 0x0400
+ SetEntityDirection 0x0008
+ _0807EC1C 0x003c
+ _0807E5F8 0x00000080
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/introCeremony/script_MinisterPothoIntroCastle.inc b/data/scripts/cutscene/introCeremony/script_MinisterPothoIntroCastle.inc
new file mode 100644
index 00000000..ecae12e4
--- /dev/null
+++ b/data/scripts/cutscene/introCeremony/script_MinisterPothoIntroCastle.inc
@@ -0,0 +1,58 @@
+@ Intro Hyrule Castle Minister Potho
+SCRIPT_START script_MinisterPothoIntroCastle
+ BeginBlock
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0000
+.ifdef JP
+.ifndef DEMO_JP
+ _0807E9D4
+ DoPostScriptAction 0x000a
+.endif
+.else
+.ifdef EU
+ _0807E9D4
+ DoPostScriptAction 0x000a
+.endif
+.endif
+ EndBlock
+script_08011134:
+ CheckPlayerInRegion 0x01f8, 0x0048, 0x1040
+ JumpIfNot script_08011134
+ LoadRoomEntityList gUnk_080F06B0
+ DoPostScriptAction 0x000b
+ WaitForSomething2 0x00000004
+ SetEntityPositionRelative 0x01b8, 0x0058
+ _0807EB44 0x0004
+ _0807E5F8 0x00000008
+ WaitForSomething2 0x00000004
+ _0807EB44 0x0006
+ _0807E5F8 0x00000008
+ WaitForSomething2 0x00000004
+ _0807EB44 0x0004
+ _0807E5F8 0x00000008
+ WaitForSomething2 0x00000004
+ SetEntitySpeed 0x0100
+ DoPostScriptAction 0x0001
+ _0807ECC4 0x0010
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000008
+ WaitForSomething2 0x00000004
+ DoPostScriptAction 0x0010
+ Wait 0x001e
+ DoPostScriptAction 0x0010
+ Call sub_0807F3C8
+ SetEntitySpeed 0x0400
+ SetEntityDirection 0x001c
+ _0807EC1C 0x003c
+ _0807E5F8 0x00000008
+ DoPostScriptAction 0x0006
+SCRIPT_END
+.ifdef JP
+.ifndef DEMO_JP
+ .2byte 0x0000
+.endif
+.else
+.ifdef EU
+ .2byte 0x0000
+.endif
+.endif
diff --git a/data/scripts/cutscene/introCeremony/script_Npc4EMonsters.inc b/data/scripts/cutscene/introCeremony/script_Npc4EMonsters.inc
new file mode 100644
index 00000000..f17ba3ea
--- /dev/null
+++ b/data/scripts/cutscene/introCeremony/script_Npc4EMonsters.inc
@@ -0,0 +1,56 @@
+@ Intro Ceremony NPC4E monsters
+SCRIPT_START script_Npc4EMonsters
+ Wait 0x001e
+ PlaySound SFX_125
+ CallWithArg sub_0807FB28, 0x00000003
+ Wait 0x003c
+ PlaySound SFX_125
+ CallWithArg sub_0807FB28, 0x00000003
+ Wait 0x0004
+ PlaySound SFX_125
+ CallWithArg sub_0807FB28, 0x00000003
+ Wait 0x001e
+ PlaySound SFX_12C
+ _0807E5F8 0x00800000
+ WaitForSomething2 0x01000000
+ _0807E778 0x0004
+ DoFade7
+ WaitFor_2
+ Wait 0x003c
+ PlaySound SFX_SPIRITS_RELEASE
+ PlaySound SFX_1C2
+ LoadRoomEntityList gUnk_080F0770
+ _0807E5F8 0x00000010
+ WaitForSomething2 0x00000020
+ _0807E778 0x0002
+ DoFade6
+ WaitFor_2
+ CallWithArg DeleteManager36, 0x00000002
+ _0807F0C8 0x0000, 0x0000
+ Call sub_0806DC3C
+ Call sub_080791BC
+ CallWithArg sub_0807F244, 0x0000000d
+ CallWithArg sub_0807F29C, gUnk_080049F6
+ _0807F0B4 0x0001
+ SetEntityPositionRelative 0x01f8, 0x0068
+ _0807E5F8 0x00000004
+ Wait 0x001e
+ _0807E5F8 0x00000040
+ WaitForSomething2 0x00000008
+ WaitForSomething2 0x00000080
+ PlaySound SFX_1C3
+ _0807E5F8 0x20000000
+ Wait 0x0078
+ CallWithArg sub_0807F29C, 0x00000000
+ Call sub_0806DC58
+ _0807E5F8 0x40000000
+ _0807E5F8 0x00000010
+ _0807E5F8 0x00000100
+ WaitForSomething2 0x00000020
+ WaitForSomething2 0x00000200
+ MessageFromTargetPos 0x1045, 0x000c
+ WaitUntilTextboxCloses
+ MessageFromTargetPos 0x1046, 0x0000
+ WaitUntilTextboxCloses
+ CallWithArg CreateManager36, 0x00000002
+ _0807F0C8 0xffff, 0x0000
diff --git a/data/scripts/cutscene/introCeremony/script_Npc4EVaatiAttacking.inc b/data/scripts/cutscene/introCeremony/script_Npc4EVaatiAttacking.inc
new file mode 100644
index 00000000..62ab6228
--- /dev/null
+++ b/data/scripts/cutscene/introCeremony/script_Npc4EVaatiAttacking.inc
@@ -0,0 +1,45 @@
+@ Intro Ceremony NPC4E Vaati attacking
+SCRIPT_START script_Npc4EVaatiAttacking
+ Wait 0x003c
+ _0807E5F8 0x00000100
+ WaitForSomething2 0x00000200
+ StartPlayerScript script_PlayerProtectingZelda
+ WaitForSomething2 0x00000400
+ MessageFromTargetPos 0x1047, 0x0000
+ WaitUntilTextboxCloses
+ Call sub_0806DC3C
+ Call sub_080791BC
+ CallWithArg sub_0807F244, 0x0000000d
+ CallWithArg sub_0807F29C, gUnk_080049F6
+ Wait 0x001e
+ _0807E5F8 0x00000100
+ WaitForSomething2 0x00000200
+ CallWithArg sub_0807F29C, 0x00000000
+ Call sub_0806DC58
+ Wait 0x003c
+ _0807E5F8 0x08000000
+ PlaySound SFX_125
+ CallWithArg sub_0807FB28, 0x00000003
+ Wait 0x000f
+ PlaySound SFX_125
+ CallWithArg sub_0807FB28, 0x00000003
+ CallWithArg DeleteManager36, 0x00000002
+ _0807F0C8 0x0000, 0x0000
+ _0807E5F8 0x00000010
+ WaitForSomething2 0x00000020
+ StopBgm
+ Wait 0x003c
+ MessageFromTargetPos 0x104a, 0x0000
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000100
+ WaitForSomething2 0x00000200
+ MessageFromTargetPos 0x1049, 0x0000
+ WaitUntilTextboxCloses
+ SetEntityPositionRelative 0x01f8, 0x0098
+ Wait 0x0078
+ _0807E5F8 0x00000100
+ WaitForSomething2 0x00000200
+ Call sub_0804BCDC
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/introCeremony/script_Object6AMonsterFromChest.inc b/data/scripts/cutscene/introCeremony/script_Object6AMonsterFromChest.inc
new file mode 100644
index 00000000..994c88a1
--- /dev/null
+++ b/data/scripts/cutscene/introCeremony/script_Object6AMonsterFromChest.inc
@@ -0,0 +1,6 @@
+@ Intro Ceremony OBJECT_6A Monster from Chest
+SCRIPT_START script_Object6AMonsterFromChest
+ WaitForSomething 0x20000000
+ Call sub_0809567C
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/introCeremony/script_Object6ASwordInChest.inc b/data/scripts/cutscene/introCeremony/script_Object6ASwordInChest.inc
new file mode 100644
index 00000000..5ce1fc5e
--- /dev/null
+++ b/data/scripts/cutscene/introCeremony/script_Object6ASwordInChest.inc
@@ -0,0 +1,20 @@
+@ Intro Ceremony OBJECT_6A Sword in Chest
+SCRIPT_START script_Object6ASwordInChest
+ BeginBlock
+ Call sub_08095330
+ EndBlock
+ WaitForSomething2 0x00800000
+ _0807EF3C 0x0000, 0x0020
+ _0807E5F8 0x01000000
+ WaitForSomething2 0x00800000
+ Call sub_08095364
+ PlaySound SFX_122
+ Wait 0x003c
+ _0807E5F8 0x01000000
+ WaitForSomething2 0x00800000
+ _0807E930 0x0002
+ _0807E5F8 0x01000000
+ WaitForSomething2 0x00800000
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/introCeremony/script_PlayerAtIntroCeremony.inc b/data/scripts/cutscene/introCeremony/script_PlayerAtIntroCeremony.inc
new file mode 100644
index 00000000..95d01756
--- /dev/null
+++ b/data/scripts/cutscene/introCeremony/script_PlayerAtIntroCeremony.inc
@@ -0,0 +1,10 @@
+@ Intro Ceremony Player
+SCRIPT_START script_PlayerAtIntroCeremony
+ SetEntityPositionRelative 0x01a8, 0x0058
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000400
+ _0807E610 0x00000002
+ EndBlock
+ Call sub_080791BC
+SCRIPT_END
diff --git a/data/scripts/cutscene/introCeremony/script_PlayerFainting.inc b/data/scripts/cutscene/introCeremony/script_PlayerFainting.inc
new file mode 100644
index 00000000..85909eb4
--- /dev/null
+++ b/data/scripts/cutscene/introCeremony/script_PlayerFainting.inc
@@ -0,0 +1,17 @@
+@ Intro Ceremony Player fainting
+SCRIPT_START script_PlayerFainting
+ PlaySound SFX_PLY_VO6
+ _0807EB44 0x0004
+ DoPostScriptAction 0x000d
+ PlaySound SFX_86
+ Call sub_0807F36C
+ SetEntitySpeed 0x0400
+ _0807ECF4 0x0008
+ BeginBlock
+ Call sub_0807F1E8
+ DoPostScriptAction 0x0011
+ EndBlock
+ Call sub_0807F2D4
+ WaitForSomething 0x80000000
+ Call sub_080791BC
+SCRIPT_END
diff --git a/data/scripts/cutscene/introCeremony/script_PlayerIntroCastle.inc b/data/scripts/cutscene/introCeremony/script_PlayerIntroCastle.inc
new file mode 100644
index 00000000..e9fa7bae
--- /dev/null
+++ b/data/scripts/cutscene/introCeremony/script_PlayerIntroCastle.inc
@@ -0,0 +1,11 @@
+@ Intro Hyrule Castle Player
+SCRIPT_START script_PlayerIntroCastle
+ BeginBlock
+ SetEntitySpeed 0x0080
+ EndBlock
+ _0807EDD4 0x01e8, 0x0050
+ _0807EB44 0x0000
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000400
+ Call sub_080791BC
+SCRIPT_END
diff --git a/data/scripts/cutscene/introCeremony/script_PlayerProtectingZelda.inc b/data/scripts/cutscene/introCeremony/script_PlayerProtectingZelda.inc
new file mode 100644
index 00000000..b83227b8
--- /dev/null
+++ b/data/scripts/cutscene/introCeremony/script_PlayerProtectingZelda.inc
@@ -0,0 +1,13 @@
+@ Intro ceremony Player protecting Zelda
+SCRIPT_START script_PlayerProtectingZelda
+ BeginBlock
+ SetEntitySpeed 0x0040
+ EndBlock
+ SetEntitySpeed 0x0200
+ DoPostScriptAction 0x0001
+ _0807EDD4 0x01d8, 0x0068
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000400
+ Call sub_080791BC
+SCRIPT_END
diff --git a/data/scripts/cutscene/introCeremony/script_VaatiDarkMagic.inc b/data/scripts/cutscene/introCeremony/script_VaatiDarkMagic.inc
new file mode 100644
index 00000000..7224f273
--- /dev/null
+++ b/data/scripts/cutscene/introCeremony/script_VaatiDarkMagic.inc
@@ -0,0 +1,22 @@
+@ Intro Ceremony Vaati Dark magic?
+SCRIPT_START script_VaatiDarkMagic
+ BeginBlock
+ _0807E930 0x0000
+ SetEntitySpeed 0x0200
+ Call nullsub_527
+ Call sub_08094B80
+ EndBlock
+ WaitForSomething2 0x08000000
+ Call sub_08094B6C
+ _0807EDD4 0x01d8, 0x0078
+ StartPlayerScript script_PlayerFainting
+ _0807EDD4 0x01d8, 0x0058
+ Call sub_08094B80
+ PlaySound SFX_VO_ZELDA7
+ PlaySound SFX_1C6
+ _0807E5F8 0x10000000
+ WaitForSomething2 0x08000000
+ PlaySound SFX_11D
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/introCeremony/script_VaatiIntroCeremony.inc b/data/scripts/cutscene/introCeremony/script_VaatiIntroCeremony.inc
new file mode 100644
index 00000000..0758dc29
--- /dev/null
+++ b/data/scripts/cutscene/introCeremony/script_VaatiIntroCeremony.inc
@@ -0,0 +1,86 @@
+@ Intro Ceremony Vaati
+SCRIPT_START script_VaatiIntroCeremony
+ BeginBlock
+ _0807EB44 0x0000
+ SetEntitySpeed 0x0100
+ EndBlock
+ Call sub_0807F338
+ WaitForSomething2 0x00000100
+ DoPostScriptAction 0x0001
+ _0807EDD4 0x01f8, 0x00d0
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000200
+ WaitForSomething2 0x00000100
+ _0807EB44 0x0004
+ DoPostScriptAction 0x001c
+ Call sub_0807F2D4
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000200
+ WaitForSomething2 0x00000100
+ _0807EB44 0x0000
+ DoPostScriptAction 0x001c
+ Call sub_0807F2D4
+ _0807EB44 0x0000
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000200
+ WaitForSomething2 0x00000100
+ _0807EB44 0x0000
+ DoPostScriptAction 0x001a
+ Call sub_0807F2D4
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000200
+ WaitForSomething2 0x00000100
+ _0807EB44 0x0000
+ DoPostScriptAction 0x0014
+ PlaySound SFX_CHARGING_UP
+ CallWithArg sub_08095420, script_08011890
+ Wait 0x00f0
+ DoPostScriptAction 0x0016
+ PlaySound SFX_1CB
+ WaitForSomething2 0x10000000
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000200
+ WaitForSomething2 0x00000100
+ SetEntitySpeed 0x0080
+ DoPostScriptAction 0x0001
+ _0807EDD4 0x01d8, 0x00a8
+ _0807EB44 0x0000
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000200
+ WaitForSomething2 0x00000100
+ DoPostScriptAction 0x0014
+ PlaySound SFX_1C4
+ CallWithArg sub_0809545C, script_VaatiDarkMagic
+ _0807E5F8 0x00000200
+ WaitForSomething2 0x00000100
+ Wait 0x003c
+ DoPostScriptAction 0x0016
+ PlaySound SFX_1C5
+ _0807E5F8 0x08000000
+ WaitForSomething2 0x10000000
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000200
+ WaitForSomething2 0x00000100
+ SetEntitySpeed 0x0100
+ DoPostScriptAction 0x0001
+ _0807EDD4 0x01f8, 0x0098
+ _0807EB44 0x0000
+ DoPostScriptAction 0x0000
+ DoPostScriptAction 0x0004
+ Wait 0x005a
+ _0807EB44 0x0004
+ DoPostScriptAction 0x001c
+ Call sub_0807F2D4
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0000
+ Wait 0x001e
+ _0807E5F8 0x00000200
+ WaitForSomething2 0x00000100
+ Call sub_08066CA4
+ DoPostScriptAction 0x0008
+ Wait 0x0078
+ _0807E5F8 0x00000200
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/introCeremony/script_ZeldaIntroCastle.inc b/data/scripts/cutscene/introCeremony/script_ZeldaIntroCastle.inc
new file mode 100644
index 00000000..9c4bc258
--- /dev/null
+++ b/data/scripts/cutscene/introCeremony/script_ZeldaIntroCastle.inc
@@ -0,0 +1,56 @@
+@ Intro Hyrule Castle Zelda
+SCRIPT_START script_ZeldaIntroCastle
+ BeginBlock
+ DoPostScriptAction 0x0008
+ SetEntitySpeed 0x0100
+ Call sub_08066D04
+ EndBlock
+ Call sub_0807F338
+ WaitForSomething2 0x00000010
+ Call sub_08066D14
+ JumpIf script_080111F6
+ MoveEntityToPlayer
+script_080111F6:
+ Call sub_0807F8BC
+ JumpIf script_08011206
+ SetEntityPositionRelative 0x01f8, 0x00b8
+script_08011206:
+ DoPostScriptAction 0x0007
+ DoPostScriptAction 0x0001
+ _0807EDD4 0x01f8, 0x0050
+ _0807EB74
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000020
+ WaitForSomething2 0x00000010
+ DoPostScriptAction 0x0001
+ _0807EDD4 0x01f8, 0x0020
+ DoPostScriptAction 0x0008
+ _0807E5F8 0x00000020
+ WaitForSomething2 0x00000010
+ DoPostScriptAction 0x0007
+ DoPostScriptAction 0x0001
+ SetEntitySpeed 0x0040
+ _0807EDD4 0x01e8, 0x0040
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000020
+ WaitForSomething2 0x00000010
+ Call sub_08095810
+ _0807E5F8 0x00000020
+ WaitForSomething2 0x00000010
+ DoPostScriptAction 0x0001
+ _0807EDD4 0x01d8, 0x0058
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000020
+ WaitForSomething2 0x00000010
+ PlaySound SFX_1C9
+ DoPostScriptAction 0x0010
+ Wait 0x0014
+ Call sub_08066E20
+ Wait 0x0014
+ DoPostScriptAction 0x0010
+ Call sub_0807F2D4
+ PlaySound SFX_1CA
+ _0807E5F8 0x00000020
+ WaitForSomething2 0x00000010
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/introCeremony/script_ZeldaMagic.inc b/data/scripts/cutscene/introCeremony/script_ZeldaMagic.inc
new file mode 100644
index 00000000..b9e3dc17
--- /dev/null
+++ b/data/scripts/cutscene/introCeremony/script_ZeldaMagic.inc
@@ -0,0 +1,5 @@
+@ Intro Ceremony OBJECT_6A Zelda shine or something?
+SCRIPT_START script_ZeldaMagic
+ WaitForSomething 0x40000000
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/introTown/script_BeedleIntro.inc b/data/scripts/cutscene/introTown/script_BeedleIntro.inc
new file mode 100644
index 00000000..e0e1359b
--- /dev/null
+++ b/data/scripts/cutscene/introTown/script_BeedleIntro.inc
@@ -0,0 +1,20 @@
+@ Intro Hyrule Town Beedle
+SCRIPT_START script_BeedleIntro
+ BeginBlock
+ _0807EB44 0x0004
+ _0807E930 0x0000
+ _0807E9D4
+ DoPostScriptAction 0x000a
+ Call sub_0807F348
+ EndBlock
+script_0800F604:
+ CheckEntityInteractType
+ JumpIfNot script_0800F604
+ _0807E864
+ _0807EB74
+ CallWithArg sub_0807F3D8, 0x00000008
+ MessageNoOverlap 0x2511
+ WaitUntilTextboxCloses
+ Wait 0x000f
+ _0807E878
+ Jump script_0800F604
diff --git a/data/scripts/cutscene/introTown/script_GuardIntro.inc b/data/scripts/cutscene/introTown/script_GuardIntro.inc
new file mode 100644
index 00000000..9424bff8
--- /dev/null
+++ b/data/scripts/cutscene/introTown/script_GuardIntro.inc
@@ -0,0 +1,19 @@
+@ Intro Hyrule Town Guard
+SCRIPT_START script_GuardIntro
+ BeginBlock
+ _0807EB44 0x0006
+ _0807E9D4
+ DoPostScriptAction 0x000a
+ CallWithArg sub_0807F3D8, 0x00000008
+ EndBlock
+script_0800F5C8:
+ CheckEntityInteractType
+ JumpIfNot script_0800F5C8
+ _0807E864
+ _0807EB74
+ CallWithArg sub_0807F3D8, 0x00000008
+ Call sub_08064428
+ WaitUntilTextboxCloses
+ _0807E878
+ Jump script_0800F5C8
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/introTown/script_KidIntro1.inc b/data/scripts/cutscene/introTown/script_KidIntro1.inc
new file mode 100644
index 00000000..c705c186
--- /dev/null
+++ b/data/scripts/cutscene/introTown/script_KidIntro1.inc
@@ -0,0 +1,18 @@
+@ Intro Hyrule Town Kid listening to Townsperson
+SCRIPT_START script_KidIntro1
+ BeginBlock
+ DoPostScriptAction 0x0001
+ _0807E9D4
+ DoPostScriptAction 0x000a
+ EndBlock
+script_0800F592:
+ CheckEntityInteractType
+ JumpIfNot script_0800F592
+ _0807E864
+ _0807EB74
+ Call sub_0806265C
+ WaitUntilTextboxCloses
+ _0807E878
+ DoPostScriptAction 0x0001
+ Jump script_0800F592
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/introTown/script_KidIntro2.inc b/data/scripts/cutscene/introTown/script_KidIntro2.inc
new file mode 100644
index 00000000..008ef2e8
--- /dev/null
+++ b/data/scripts/cutscene/introTown/script_KidIntro2.inc
@@ -0,0 +1,36 @@
+@ Hyrule Town Intro Kid blocking the way
+SCRIPT_START script_KidIntro2
+ BeginBlock
+ DoPostScriptAction 0x0001
+ _0807E9D4
+ DoPostScriptAction 0x000a
+ Call sub_08062788
+ EndBlock
+script_0800F6F4:
+.ifdef JP
+ CheckLocalFlag 0x00ca
+.else
+.ifdef EU
+ CheckLocalFlag 0x00ca
+.else
+.ifdef DEMO_JP
+ CheckLocalFlag 0x00ca @ TODO deduplicate
+.else
+ CheckLocalFlag 0x00cd
+.endif
+.endif
+.endif
+ JumpIf script_0800F718
+ CheckEntityInteractType
+ JumpIfNot script_0800F6F4
+ _0807E864
+ _0807EB74
+ Call sub_0806265C
+ WaitUntilTextboxCloses
+ _0807E878
+ DoPostScriptAction 0x0001
+ Jump script_0800F6F4
+script_0800F718:
+ Call sub_080627E8
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/introTown/script_KidIntro3.inc b/data/scripts/cutscene/introTown/script_KidIntro3.inc
new file mode 100644
index 00000000..d9813de7
--- /dev/null
+++ b/data/scripts/cutscene/introTown/script_KidIntro3.inc
@@ -0,0 +1,24 @@
+@ Intro Hyrule Town Kid
+SCRIPT_START script_KidIntro3
+ BeginBlock
+ DoPostScriptAction 0x0008
+ EndBlock
+script_0800F72C:
+.ifdef JP
+ CheckLocalFlag 0x00ca
+.else
+.ifdef EU
+ CheckLocalFlag 0x00ca
+.else
+.ifdef DEMO_JP
+ CheckLocalFlag 0x00ca @ TODO deduplicate
+.else
+ CheckLocalFlag 0x00cd
+.endif
+.endif
+.endif
+ JumpIfNot script_0800F72C
+ DoPostScriptAction 0x0007
+ Jump script_KidIntro1
+
+
diff --git a/data/scripts/cutscene/introTown/script_Npc4EIntroCastle.inc b/data/scripts/cutscene/introTown/script_Npc4EIntroCastle.inc
new file mode 100644
index 00000000..85512814
--- /dev/null
+++ b/data/scripts/cutscene/introTown/script_Npc4EIntroCastle.inc
@@ -0,0 +1,121 @@
+@ Intro Hyrule Castle NPC4E
+SCRIPT_START script_Npc4EIntroCastle
+ _0807E864
+ Call sub_0807F9A4
+ Call sub_0807DF28
+ StartPlayerScript script_PlayerIntroCastle
+ WaitForSomething2 0x00000400
+ _0807F078 0x0034, 0x0002
+ MessageFromTargetPos 0x1036, 0x000c
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000010
+ WaitForSomething2 0x00000020
+ MessageFromTargetPos 0x1037, 0x0002
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000010
+ WaitForSomething2 0x00000020
+ MessageFromTargetPos 0x1038, 0x000c
+ WaitUntilTextboxCloses
+ StopBgm
+ _0807E778 0x0004
+ DoFade5
+ WaitFor_2
+ Call sub_08064180
+ Call sub_08064180
+ Call sub_08064180
+ Call sub_08064180
+ Call sub_08064180
+ Call sub_08064180
+ Call sub_08064180
+ Call sub_08064180
+ LoadRoomEntityList gUnk_080F06E0
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000008
+ StartPlayerScript script_PlayerAtIntroCeremony
+ WaitForSomething2 0x00000400
+ SetEntityPositionRelative 0x01f8, 0x0050
+ _0807F0B4 0x0007
+ CameraTargetEntity
+ Wait 0x000a
+ _0807F0B4 0x0001
+ _0807E778 0x0001
+ DoFade4
+ _0807E5F8 0x0002a800
+ WaitForSomething2 0x00055000
+ SetEntityPositionRelative 0x01f8, 0x0078
+ Wait 0x003c
+ _0807E5F8 0x00800000
+ WaitForSomething2 0x01000000
+ _0807E5F8 0x0002a800
+ WaitForSomething2 0x00055000
+ _0807E8E4_1
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000008
+ MessageFromTargetPos 0x1039, 0x000c
+ WaitUntilTextboxCloses
+ PlayBgm BGM_CASTLE_TOURNAMENT
+ _0807E8E4_2
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000008
+ _0807E5F8 0x00000010
+ _0807E5F8 0x00000040
+ WaitForSomething2 0x00000020
+ WaitForSomething2 0x00000080
+ Wait 0x012c
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000008
+ MessageFromTargetPos 0x103a, 0x000c
+ WaitUntilTextboxCloses
+ SetEntityPositionRelative 0x01f8, 0x01c0
+ _0807F0B4 0x0004
+ Wait 0x0078
+ _0807E5F8 0x00280000
+ WaitForSomething2 0x00500000
+ _0807E5F8 0x00000100
+ SetEntityPositionRelative 0x01f8, 0x0220
+ SetEntitySpeed 0x0100
+ _0807EDD4 0x01f8, 0x0098
+ Wait 0x003c
+ WaitForSomething2 0x00000200
+ _0807E5F8 0x00280000
+ StopBgm
+ PlaySound SFX_9B
+ _0807E5F8 0x00000100
+ WaitForSomething2 0x00000200
+ MessageFromTargetPos 0x1043, 0x0000
+ WaitUntilTextboxCloses
+ PlayBgm BGM_VAATI_THEME
+ _0807E5F8 0x00000100
+ WaitForSomething2 0x00000200
+ _0807E5F8 0x0002a800
+ WaitForSomething2 0x00055000
+ PlaySound SFX_1C7
+ PlaySound SFX_BUTTON_DEPRESS
+ _0807E5F8 0x00000100
+ _0807E5F8 0x00002800
+ CallWithArg sub_0807FB28, 0x00000003
+ WaitForSomething2 0x00000200
+ WaitForSomething2 0x00005000
+ _0807E5F8 0x00028000
+ WaitForSomething2 0x00050000
+ MessageFromTargetPos 0x1044, 0x0000
+ WaitUntilTextboxCloses
+ SetEntityPositionRelative 0x01f8, 0x0098
+ StopBgm
+ Wait 0x003c
+ PlayBgm BGM_VAATI_REBORN
+ _0807E5F8 0x00028000
+ _0807E5F8 0x00000100
+ WaitForSomething2 0x00000200
+ WaitForSomething2 0x00050000
+ CallWithArg sub_0807FB28, 0x00000003
+ PlaySound SFX_BUTTON_DEPRESS
+ _0807E5F8 0x00028000
+ WaitForSomething2 0x00050000
+ PlaySound SFX_125
+ CallWithArg sub_0807FB28, 0x00000003
+ _0807E5F8 0x08000000
+ _0807E5F8 0x00800000
+ WaitForSomething2 0x01000000
+ CallWithArg CreateManager36, 0x00000002
+ _0807F0C8 0xffff, 0x0000
diff --git a/data/scripts/cutscene/introTown/script_Npc4EIntroTown.inc b/data/scripts/cutscene/introTown/script_Npc4EIntroTown.inc
new file mode 100644
index 00000000..db8de660
--- /dev/null
+++ b/data/scripts/cutscene/introTown/script_Npc4EIntroTown.inc
@@ -0,0 +1,199 @@
+@ Intro Hyrule Town NPC4E
+SCRIPT_START script_Npc4EIntroTown
+.ifdef JP
+ CheckLocalFlag 0x00ca
+.else
+.ifdef EU
+ CheckLocalFlag 0x00ca
+.else
+.ifdef DEMO_JP
+ CheckLocalFlag 0x00ca @ TODO deduplicate
+.else
+ CheckLocalFlag 0x00cd
+.endif
+.endif
+.endif
+ JumpIf script_0800FA4C
+ _0807E864
+ Call sub_0807DF28
+ SetEntityPositionRelative 0x00c8, 0x0148
+ Call sub_0807F844
+ _0807E778 0x0002
+ DoFade6
+ WaitFor_2
+ StartPlayerScript script_PlayerIntro1
+ _0807E5F8 0x00000002
+ _0807F0B4 0x0001
+ SetEntityPositionRelative 0x00c8, 0x0218
+ Call sub_0807F5C0
+ Wait 0x0064
+ @ Camera reaches center of town square
+ _0807F0B4 0x0002
+ SetEntityPositionRelative 0x00c8, 0x0368
+ Call sub_0807F5C0
+ WaitForSomething2 0x00000001
+ WaitForSomething2 0x00000004
+ @ First message from Zelda
+ MessageFromTargetPos 0x2501, 0x0000
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000004
+ @ Zelda ran off. Give control to the player
+ _0807F0B4 0x0004
+ CameraTargetPlayer
+ Call sub_0807DF50
+ _0807E878
+ _0807E5F8 0x00000010
+ WaitForSomething2 0x00000004
+ _0807E864
+ Call sub_0807DF28
+ StartPlayerScript script_PlayerIntro2
+ WaitForSomething2 0x00000001
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000004
+ MessageFromTargetPos 0x2503, 0x000e
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000004
+ Call sub_0807DF50
+ _0807E878
+ WaitForSomething2 0x00000004
+ _0807E864
+ Call sub_0807DF28
+ StartPlayerScript script_PlayerIntro3
+ WaitForSomething2 0x00000001
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000004
+ MessageFromTargetPos 0x2504, 0x000e
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000004
+ Call sub_0807DF50
+ _0807E878
+ WaitForSomething2 0x00000004
+ _0807E864
+ Call sub_0807DF28
+ StartPlayerScript script_PlayerIntro4
+ WaitForSomething2 0x00000001
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000004
+ MessageFromTargetPos 0x2505, 0x000e
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000004
+ Call sub_0807DF50
+ _0807E878
+ @ Wait for Link at Pina
+ WaitForSomething2 0x00000004
+ _0807E864
+ Call sub_0807DF28
+ Call sub_08063C5C
+ PlaySound SFX_CUCCO_MINIGAME_BELL
+ Wait 0x001e
+ _0807E8E4_0
+ Call sub_0807F3F8
+ Wait 0x003c
+ MessageFromTargetPos 0x1021, 0x000e
+ WaitUntilTextboxCloses
+ StartPlayerScript script_PlayerIntro5
+ SetEntityPositionRelative 0x00f0, 0x0258
+ _0807F0B4 0x0001
+ CameraTargetEntity
+ Wait 0x001e
+ Call sub_08063C2C
+ WaitForSomething2 0x00000001
+ MessageFromTargetPos 0x1022, 0x000e
+ WaitUntilTextboxCloses
+ _0807E8E4_0
+ Call sub_08063C14
+ Call sub_08094CDC
+ Wait 0x001e
+ MessageFromTargetPos 0x1023, 0x000e
+ WaitUntilTextboxCloses
+ Call sub_08063C14
+ Call sub_08094DD8
+ Wait 0x001e
+ MessageFromTargetPos 0x1024, 0x000e
+ WaitUntilTextboxCloses
+ Call sub_08063C14
+ Call sub_08094D34
+ Wait 0x001e
+ MessageFromTargetPos 0x1025, 0x000e
+ WaitUntilTextboxCloses
+ Call sub_08063C5C
+ MessageFromTargetPos 0x1026, 0x000e
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000004
+ _0807E8E4_1
+ Call sub_08063C2C
+ MessageFromTargetPos 0x1027, 0x0000
+ WaitUntilTextboxCloses
+ Call sub_08063C74
+ Wait 0x003c
+ Call sub_08063C14
+ _0807E8E4_0
+ MessageFromTargetPos 0x1028, 0x000e
+ WaitUntilTextboxCloses
+ _0807E8E4_1
+ MessageFromTargetPos 0x1029, 0x0000
+ WaitUntilTextboxCloses
+ _0807E8E4_0
+ MessageFromTargetPos 0x102a, 0x000e
+ WaitUntilTextboxCloses
+ Call sub_08063C14
+ Call sub_08094D70
+ PlaySound SFX_103
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000004
+ Call sub_08063C14
+ Call sub_08094D10
+ Wait 0x001e
+ Call sub_08094E0C
+ Wait 0x001e
+ _0807E8E4_1
+ Call sub_0807F3F8
+ Wait 0x003c
+ MessageFromTargetPos 0x102b, 0x0000
+ WaitUntilTextboxCloses
+ @ Give the shield to the player
+ _0807F034 0x000d
+ WaitPlayerGetItem
+ Call sub_0806DC3C
+ Call sub_080791BC
+ CallWithArg sub_0807F244, 0x0000000d
+ SetIntVariable 0x000000ff
+ Call sub_0807F5B0
+ CallWithArg sub_0807F29C, gUnk_080049D6
+ Wait 0x00b7
+ SetIntVariable 0x00000000
+ Call sub_0807F5B0
+ MessageFromTargetPos 0x102c, 0x0000
+ WaitUntilTextboxCloses
+ @ Give control back to the player
+ CallWithArg sub_0807F29C, 0x00000000
+ Call sub_0806DC58
+ _0807F0B4 0x0004
+ CameraTargetPlayer
+ Wait 0x000a
+ _0807E5F8 0x00000002
+ Call sub_08063C44
+.ifdef JP
+ SetLocalFlag 0x00ca
+.else
+.ifdef EU
+ SetLocalFlag 0x00ca
+.else
+.ifdef DEMO_JP
+ SetLocalFlag 0x00ca @ TODO deduplicate
+.else
+ SetLocalFlag 0x00cd
+.endif
+.endif
+.endif
+ Call sub_0807DF50
+ _0807E878
+script_0800FA4C:
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/introTown/script_Object69IntroTown.inc b/data/scripts/cutscene/introTown/script_Object69IntroTown.inc
new file mode 100644
index 00000000..7ef81598
--- /dev/null
+++ b/data/scripts/cutscene/introTown/script_Object69IntroTown.inc
@@ -0,0 +1,56 @@
+@ Intro Hyrule Town OBJECT_69 ?
+SCRIPT_START script_Object69IntroTown
+.ifdef JP
+ CheckLocalFlag 0x00ca
+.else
+.ifdef EU
+ CheckLocalFlag 0x00ca
+.else
+.ifdef DEMO_JP
+ CheckLocalFlag 0x00ca @ TODO deduplicate
+.else
+ CheckLocalFlag 0x00cd
+.endif
+.endif
+.endif
+ JumpIf script_0800FD50
+ WaitForSomething2 0x00000010
+script_0800FD1A:
+ @ Prevent Link from leaving
+ CheckPlayerInRegion 0x00c8, 0x03c0, 0x1040
+ JumpIfNot script_0800FD1A
+.ifdef JP
+ CheckLocalFlag 0x00ca
+.else
+.ifdef EU
+ CheckLocalFlag 0x00ca
+.else
+.ifdef DEMO_JP
+ CheckLocalFlag 0x00ca @ TODO deduplicate
+.else
+ CheckLocalFlag 0x00cd
+.endif
+.endif
+.endif
+ JumpIf script_0800FD5C
+ _0807E864
+ Call sub_0807F9A4
+ MessageFromTargetPos 0x2506, 0x0000
+ WaitUntilTextboxCloses
+ StartPlayerScript script_PlayerIntroTown
+ WaitForSomething2 0x00000008
+ _0807E878
+ Jump script_0800FD1A
+script_0800FD50:
+ CheckPlayerInRegion 0x00c8, 0x03c0, 0x1040
+ JumpIfNot script_0800FD50
+script_0800FD5C:
+ _0807E864
+ Call sub_0807F9A4
+ MessageFromTargetPos 0x106c, 0x0000
+ WaitUntilTextboxCloses
+ StartPlayerScript script_PlayerIntroTown
+ WaitForSomething2 0x00000008
+ _0807E878
+ Jump script_0800FD50
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/introTown/script_PercyIntro.inc b/data/scripts/cutscene/introTown/script_PercyIntro.inc
new file mode 100644
index 00000000..a8fda42a
--- /dev/null
+++ b/data/scripts/cutscene/introTown/script_PercyIntro.inc
@@ -0,0 +1,23 @@
+@ Intro Hyrule Town Percy
+SCRIPT_START script_PercyIntro
+ BeginBlock
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0000
+ DoPostScriptAction 0x000a
+ _0807E9D4
+ EndBlock
+script_0800F662:
+ CheckEntityInteractType
+ JumpIfNot script_0800F662
+ _0807E864
+ _0807EB74
+ DoPostScriptAction 0x0001
+ Call sub_0806B4F0
+ WaitUntilTextboxCloses
+ Wait 0x000f
+ _0807E878
+ DoPostScriptAction 0x0000
+ Jump script_0800F662
+ .2byte 0x0000
+
+
diff --git a/data/scripts/cutscene/introTown/script_PinaIntro.inc b/data/scripts/cutscene/introTown/script_PinaIntro.inc
new file mode 100644
index 00000000..bfe9dcf9
--- /dev/null
+++ b/data/scripts/cutscene/introTown/script_PinaIntro.inc
@@ -0,0 +1,40 @@
+@ Intro Hyrule Town Pina
+SCRIPT_START script_PinaIntro
+ BeginBlock
+ _0807EB44 0x0004
+ _0807E930 0x0000
+ _0807E9D4
+ DoPostScriptAction 0x000a
+ Call sub_0807F348
+ EndBlock
+script_0800F6A0:
+ CheckEntityInteractType
+ JumpIfNot script_0800F6A0
+ _0807E864
+ _0807EB74
+ CallWithArg sub_0807F3D8, 0x00000004
+.ifdef JP
+ CheckLocalFlag 0x00ca
+.else
+.ifdef EU
+ CheckLocalFlag 0x00ca
+.else
+.ifdef DEMO_JP
+ CheckLocalFlag 0x00ca @ TODO deduplicate
+.else
+ CheckLocalFlag 0x00cd
+.endif
+.endif
+.endif
+ JumpIf script_0800F6C4
+ MessageNoOverlap 0x2512
+ Jump script_0800F6C8
+script_0800F6C4:
+ MessageNoOverlap 0x251f
+script_0800F6C8:
+ WaitUntilTextboxCloses
+ Wait 0x000f
+ _0807E878
+ CallWithArg sub_0807F3D8, 0x00000000
+ Jump script_0800F6A0
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/introTown/script_PlayerIntro1.inc b/data/scripts/cutscene/introTown/script_PlayerIntro1.inc
new file mode 100644
index 00000000..ba36e8ab
--- /dev/null
+++ b/data/scripts/cutscene/introTown/script_PlayerIntro1.inc
@@ -0,0 +1,11 @@
+@ Intro Hyrule Town Player
+SCRIPT_START script_PlayerIntro1
+ BeginBlock
+ SetEntitySpeed 0x0100
+ EndBlock
+ SetEntityPositionRelative 0x00d8, 0x0398
+ _0807EB44 0x0006
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000001
+ Call sub_080791BC
+SCRIPT_END
diff --git a/data/scripts/cutscene/introTown/script_PlayerIntro2.inc b/data/scripts/cutscene/introTown/script_PlayerIntro2.inc
new file mode 100644
index 00000000..6ce812b6
--- /dev/null
+++ b/data/scripts/cutscene/introTown/script_PlayerIntro2.inc
@@ -0,0 +1,11 @@
+@ Intro Hyrule Town Player 2
+SCRIPT_START script_PlayerIntro2
+ BeginBlock
+ SetEntitySpeed 0x0100
+ EndBlock
+ _0807EDD4 0x00a0, 0x0278
+ _0807EB44 0x0000
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000001
+ Call sub_080791BC
+SCRIPT_END
diff --git a/data/scripts/cutscene/introTown/script_PlayerIntro3.inc b/data/scripts/cutscene/introTown/script_PlayerIntro3.inc
new file mode 100644
index 00000000..cccb6450
--- /dev/null
+++ b/data/scripts/cutscene/introTown/script_PlayerIntro3.inc
@@ -0,0 +1,11 @@
+@ Intro Hyrule Town Player 3
+SCRIPT_START script_PlayerIntro3
+ BeginBlock
+ SetEntitySpeed 0x0100
+ EndBlock
+ _0807EDD4 0x0078, 0x01c0
+ _0807EB44 0x0000
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000001
+ Call sub_080791BC
+SCRIPT_END
diff --git a/data/scripts/cutscene/introTown/script_PlayerIntro4.inc b/data/scripts/cutscene/introTown/script_PlayerIntro4.inc
new file mode 100644
index 00000000..76ca7bd4
--- /dev/null
+++ b/data/scripts/cutscene/introTown/script_PlayerIntro4.inc
@@ -0,0 +1,11 @@
+@ Intro Hyrule Town Player 4
+SCRIPT_START script_PlayerIntro4
+ BeginBlock
+ SetEntitySpeed 0x0100
+ EndBlock
+ _0807EDD4 0x0108, 0x01c8
+ _0807EB44 0x0002
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000001
+ Call sub_080791BC
+SCRIPT_END
diff --git a/data/scripts/cutscene/introTown/script_PlayerIntro5.inc b/data/scripts/cutscene/introTown/script_PlayerIntro5.inc
new file mode 100644
index 00000000..721060d3
--- /dev/null
+++ b/data/scripts/cutscene/introTown/script_PlayerIntro5.inc
@@ -0,0 +1,18 @@
+@ Intro Hyrule Town Player at Pina
+SCRIPT_START script_PlayerIntro5
+ BeginBlock
+ SetEntitySpeed 0x0100
+ EndBlock
+ Call sub_0807F584
+ JumpTable script_0800FB06, script_0800FB10, script_0800FB06, script_0800FAFC
+script_0800FAFC:
+ CallWithArg sub_0807F4F8, 0x0000027c
+script_0800FB06:
+ CallWithArg sub_0807F464, 0x000000e8
+script_0800FB10:
+ _0807EDD4 0x00e8, 0x0270
+ _0807EB44 0x0000
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000001
+ Call sub_080791BC
+SCRIPT_END
diff --git a/data/scripts/cutscene/introTown/script_PlayerIntroTown.inc b/data/scripts/cutscene/introTown/script_PlayerIntroTown.inc
new file mode 100644
index 00000000..e4ba634a
--- /dev/null
+++ b/data/scripts/cutscene/introTown/script_PlayerIntroTown.inc
@@ -0,0 +1,10 @@
+@ Hyrule Town Intro Player
+SCRIPT_START script_PlayerIntroTown
+ SetEntitySpeed 0x0080
+ _0807EC64 0x0020
+ _0807EB44 0x0000
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000008
+ Call sub_080791BC
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/introTown/script_TownsperonIntro.inc b/data/scripts/cutscene/introTown/script_TownsperonIntro.inc
new file mode 100644
index 00000000..27ae1e54
--- /dev/null
+++ b/data/scripts/cutscene/introTown/script_TownsperonIntro.inc
@@ -0,0 +1,18 @@
+@ Intro Hyrule Town Townsperson
+SCRIPT_START script_TownsperonIntro
+ BeginBlock
+ Call sub_08061FE4
+ _0807E9D4
+ DoPostScriptAction 0x000a
+ EndBlock
+script_0800F564:
+ CheckEntityInteractType
+ JumpIfNot script_0800F564
+ _0807E864
+ _0807EB74
+ Call sub_08061FE4
+ Call sub_08061FF4
+ WaitUntilTextboxCloses
+ _0807E878
+ Jump script_0800F564
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/introTown/script_WindtribespeopleIntro.inc b/data/scripts/cutscene/introTown/script_WindtribespeopleIntro.inc
new file mode 100644
index 00000000..14a141fe
--- /dev/null
+++ b/data/scripts/cutscene/introTown/script_WindtribespeopleIntro.inc
@@ -0,0 +1,17 @@
+@ Intro Hyrule Town WindTribespeople
+SCRIPT_START script_WindtribespeopleIntro
+ BeginBlock
+ _0807E9D4
+ DoPostScriptAction 0x000a
+ DoPostScriptAction 0x0001
+ EndBlock
+script_0800F636:
+ _0807E30C
+ JumpIfNot script_0800F636
+ _0807E864
+ _0807EB74
+ Call sub_0806C90C
+ WaitUntilTextboxCloses
+ _0807E878
+ Jump script_0800F636
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/introTown/script_ZeldaIntroTown.inc b/data/scripts/cutscene/introTown/script_ZeldaIntroTown.inc
new file mode 100644
index 00000000..1b3fbac7
--- /dev/null
+++ b/data/scripts/cutscene/introTown/script_ZeldaIntroTown.inc
@@ -0,0 +1,107 @@
+@ Intro Hyrule Town Zelda
+SCRIPT_START script_ZeldaIntroTown
+ BeginBlock
+ DoPostScriptAction 0x0008
+ DoPostScriptAction 0x000b
+ SetEntitySpeed 0x0080
+ Call sub_08066D04
+ EndBlock
+ WaitForSomething2 0x00000002
+ Call sub_08066D14
+ JumpIf script_0800FB6C
+ MoveEntityToPlayer
+script_0800FB6C:
+ DoPostScriptAction 0x0007
+ SetEntityPositionRelative 0x00b8, 0x0398
+ _0807EB44 0x0002
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000002
+ SetEntitySpeed 0x0200
+ _0807EDD4 0x00b8, 0x0318
+ SetEntityPositionRelative 0x00a0, 0x0260
+ _0807EB44 0x0000
+ DoPostScriptAction 0x0001
+ _0807E5F8 0x00000004
+ DoPostScriptAction 0x000a
+ _0807E9D4
+script_0800FBAE:
+ _0807E30C
+ JumpIfNot script_0800FBAE
+ DoPostScriptAction 0x000b
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000002
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000002
+ SetEntitySpeed 0x0200
+ _0807EDD4 0x00a0, 0x0268
+ _0807EDD4 0x0070, 0x0268
+ _0807EDD4 0x0070, 0x0208
+ SetEntityPositionRelative 0x0078, 0x01a8
+ _0807EB44 0x0000
+ DoPostScriptAction 0x0001
+ _0807E5F8 0x00000004
+ DoPostScriptAction 0x000a
+script_0800FC06:
+ _0807E30C
+ JumpIfNot script_0800FC06
+ DoPostScriptAction 0x000b
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000002
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000002
+ SetEntitySpeed 0x0200
+ _0807EDD4 0x00f8, 0x01a8
+ SetEntityPositionRelative 0x0118, 0x01c8
+ _0807EB44 0x0002
+ DoPostScriptAction 0x0001
+ _0807E5F8 0x00000004
+ DoPostScriptAction 0x000a
+script_0800FC52:
+ _0807E30C
+ JumpIfNot script_0800FC52
+ DoPostScriptAction 0x000b
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000002
+ _0807EB44 0x0006
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000002
+ SetEntitySpeed 0x0200
+ _0807EDD4 0x0118, 0x0260
+ SetEntityPositionRelative 0x00f8, 0x0270
+ _0807EB44 0x0000
+ DoPostScriptAction 0x0001
+ _0807E5F8 0x00000004
+ DoPostScriptAction 0x000a
+script_0800FC9E:
+ @ Wait at Pina for Link
+ CheckEntityInteractType
+ JumpIfNot script_0800FC9E
+ DoPostScriptAction 0x000b
+ _0807EB44 0x0000
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000004
+ DoPostScriptAction 0x0004
+ WaitForSomething2 0x00000002
+ DoPostScriptAction 0x000d
+ SetEntitySpeed 0x0040
+ _0807EC94 0x0020
+ _0807EB44 0x0000
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000002
+ DoPostScriptAction 0x000c
+ SetEntitySpeed 0x0040
+ _0807ECF4 0x0020
+ _0807EB44 0x0006
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000002
+ Call sub_08066D4C
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/kinstones/script_HurdyGurdyManFirstKinstone.inc b/data/scripts/cutscene/kinstones/script_HurdyGurdyManFirstKinstone.inc
new file mode 100644
index 00000000..59b5403d
--- /dev/null
+++ b/data/scripts/cutscene/kinstones/script_HurdyGurdyManFirstKinstone.inc
@@ -0,0 +1,114 @@
+@ Hyrule Town Kinstone cutscene HurdyGurdyMan
+SCRIPT_START script_HurdyGurdyManFirstKinstone
+ BeginBlock
+ SetEntitySpeed 0x0080
+ DoPostScriptAction 0x0008
+ DoPostScriptAction 0x000a
+ EndBlock
+ Call sub_0807F348
+ _0807EB44 0x0002
+ WaitForSomething2 0x00000002
+ DoPostScriptAction 0x0007
+ _0807EDD4 0x01b8, 0x0328
+ _0807E5F8 0x00000040
+ _0807EDD4 0x01f8, 0x0328
+ _0807EB44 0x0004
+ _0807E930 0x0008
+ _0807E8E4_0
+ _0807E5F8 0x00000040
+ WaitForSomething2 0x00000002
+ Call sub_0806E440
+ Wait 0x0078
+ _0807E5F8 0x00000040
+ WaitForSomething2 0x00000002
+script_0800F1E6:
+ EndBlock
+ BeginBlock
+ CallWithArg sub_0807F680, 0x000001c0
+ JumpIf script_0800F22A
+ EndBlock
+ _0807E864
+ Call sub_0807F9A4
+ _0807EB74
+ _0807E930 0x0008
+ DoPostScriptAction 0x0004
+ Wait 0x003c
+ MessageFromTargetPos 0x1206, 0x000c
+ WaitUntilTextboxCloses
+ StartPlayerScript script_PlayerAtHurdyGurdyManFirstKinstone1
+ WaitForSomething2 0x00000400
+ _0807E878
+ Jump script_0800F1E6
+script_0800F22A:
+ CallWithArg sub_0807F680, 0x00000230
+ JumpIfNot script_0800F26A
+ EndBlock
+ _0807E864
+ Call sub_0807F9A4
+ _0807EB74
+ _0807E930 0x0008
+ DoPostScriptAction 0x0004
+ Wait 0x003c
+ MessageFromTargetPos 0x1206, 0x000c
+ WaitUntilTextboxCloses
+ StartPlayerScript script_PlayerAtHurdyGurdyManFirstKinstone2
+ WaitForSomething2 0x00000400
+ _0807E878
+ Jump script_0800F1E6
+script_0800F26A:
+ CallWithArg sub_0807F6B4, 0x00000310
+ JumpIf script_0800F2AA
+ EndBlock
+ _0807E864
+ Call sub_0807F9A4
+ _0807EB74
+ _0807E930 0x0008
+ DoPostScriptAction 0x0004
+ Wait 0x003c
+ MessageFromTargetPos 0x1206, 0x000c
+ WaitUntilTextboxCloses
+ StartPlayerScript script_PlayerAtHurdyGurdyManFirstKinstone3
+ WaitForSomething2 0x00000400
+ _0807E878
+ Jump script_0800F1E6
+script_0800F2AA:
+ CallWithArg sub_0807F6B4, 0x00000340
+ JumpIfNot script_0800F2EA
+ EndBlock
+ _0807E864
+ Call sub_0807F9A4
+ _0807EB74
+ _0807E930 0x0008
+ DoPostScriptAction 0x0004
+ Wait 0x003c
+ MessageFromTargetPos 0x1206, 0x000c
+ WaitUntilTextboxCloses
+ StartPlayerScript script_PlayerAtHurdyGurdyManFirstKinstone4
+ WaitForSomething2 0x00000400
+ _0807E878
+ Jump script_0800F1E6
+script_0800F2EA:
+ EndBlock
+ BeginBlock
+ CheckKinstoneFused 0x0032
+ JumpIf script_0800F314
+ CheckEntityInteractType
+ JumpIfNot script_0800F2EA
+ EndBlock
+ _0807E864
+ _0807EB74
+ _0807E930 0x0008
+ MessageFromTargetPos 0x1208, 0x000c
+ WaitUntilTextboxCloses
+ _0807E878
+ Jump script_0800F1E6
+script_0800F314:
+ EndBlock
+ _0807E5F8 0x00000040
+ WaitForSomething2 0x00000002
+ SetEntitySpeed 0x0100
+ _0807EB44 0x0002
+ _0807EEF4 0x00c0, 0x0000
+ _0807E5F8 0x00000040
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/kinstones/script_KidKinstone1.inc b/data/scripts/cutscene/kinstones/script_KidKinstone1.inc
new file mode 100644
index 00000000..45b1ce72
--- /dev/null
+++ b/data/scripts/cutscene/kinstones/script_KidKinstone1.inc
@@ -0,0 +1,43 @@
+@ Hyrule Town Kinstone cutscene Kid 1
+SCRIPT_START script_KidKinstone1
+ BeginBlock
+ _0807E9D4
+ _0807EB44 0x0002
+ DoPostScriptAction 0x0001
+ DoPostScriptAction 0x0008
+ SetEntitySpeed 0x0080
+ DoPostScriptAction 0x000b
+ EndBlock
+ Call sub_0807F348
+ WaitForSomething2 0x00000004
+ DoPostScriptAction 0x0007
+ _0807EDD4 0x01f8, 0x0318
+ _0807EDD4 0x0208, 0x0318
+ _0807EDD4 0x0208, 0x0338
+ _0807EB44 0x0006
+ DoPostScriptAction 0x0000
+ DoPostScriptAction 0x000a
+ _0807E5F8 0x00000080
+script_0800F3EA:
+ EndBlock
+ BeginBlock
+ CheckEntityInteractType
+ JumpIfNot script_0800F402
+ EndBlock
+ _0807E864
+ _0807EB74
+ MessageNoOverlap 0x1237
+ WaitUntilTextboxCloses
+ _0807E878
+script_0800F402:
+ TestBit 0x00000004
+ JumpIfNot script_0800F3EA
+ EndBlock
+ DoPostScriptAction 0x000b
+ Wait 0x0010
+ SetEntitySpeed 0x0100
+ _0807EC64 0x0010
+ _0807EDD4 0x0288, 0x0328
+ _0807E5F8 0x00000080
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/kinstones/script_KidKinstone2.inc b/data/scripts/cutscene/kinstones/script_KidKinstone2.inc
new file mode 100644
index 00000000..c197dfec
--- /dev/null
+++ b/data/scripts/cutscene/kinstones/script_KidKinstone2.inc
@@ -0,0 +1,44 @@
+@ Hyrule Town Kinstone cutscene Kid 2
+SCRIPT_START script_KidKinstone2
+ BeginBlock
+ _0807E9D4
+ _0807EB44 0x0002
+ DoPostScriptAction 0x0001
+ DoPostScriptAction 0x0008
+ SetEntitySpeed 0x0080
+ DoPostScriptAction 0x000b
+ EndBlock
+ Call sub_0807F348
+ WaitForSomething2 0x00000008
+ DoPostScriptAction 0x0007
+ _0807EDD4 0x01d8, 0x0328
+ _0807EDD4 0x01f8, 0x0348
+ _0807EB44 0x0000
+ DoPostScriptAction 0x0000
+ DoPostScriptAction 0x000a
+ _0807E5F8 0x00000100
+script_0800F478:
+ EndBlock
+ BeginBlock
+ CheckEntityInteractType
+ JumpIfNot script_0800F490
+ EndBlock
+ _0807E864
+ _0807EB74
+ MessageNoOverlap 0x1238
+ WaitUntilTextboxCloses
+ _0807E878
+script_0800F490:
+ TestBit 0x00000008
+ JumpIfNot script_0800F478
+ EndBlock
+ DoPostScriptAction 0x000b
+ Wait 0x0018
+ SetEntitySpeed 0x0100
+ _0807EC94 0x0010
+ _0807EC64 0x0020
+ _0807EDD4 0x0288, 0x0328
+ _0807E5F8 0x00000100
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/kinstones/script_KidKinstone3.inc b/data/scripts/cutscene/kinstones/script_KidKinstone3.inc
new file mode 100644
index 00000000..1b55066e
--- /dev/null
+++ b/data/scripts/cutscene/kinstones/script_KidKinstone3.inc
@@ -0,0 +1,43 @@
+@ Hyrule Town Kinstone cutscene Kid 3
+SCRIPT_START script_KidKinstone3
+ BeginBlock
+ _0807E9D4
+ _0807EB44 0x0002
+ DoPostScriptAction 0x0001
+ DoPostScriptAction 0x0008
+ SetEntitySpeed 0x0080
+ DoPostScriptAction 0x000b
+ EndBlock
+ Call sub_0807F348
+ WaitForSomething2 0x00000010
+ DoPostScriptAction 0x0007
+ _0807EDD4 0x01c8, 0x0328
+ _0807EDD4 0x01e8, 0x0338
+ _0807EB44 0x0002
+ DoPostScriptAction 0x0000
+ DoPostScriptAction 0x000a
+ _0807E5F8 0x00000200
+script_0800F50C:
+ EndBlock
+ BeginBlock
+ CheckEntityInteractType
+ JumpIfNot script_0800F524
+ EndBlock
+ _0807E864
+ _0807EB74
+ MessageNoOverlap 0x1239
+ WaitUntilTextboxCloses
+ _0807E878
+script_0800F524:
+ TestBit 0x00000010
+ JumpIfNot script_0800F50C
+ EndBlock
+ DoPostScriptAction 0x000b
+ Wait 0x0028
+ SetEntitySpeed 0x0100
+ _0807EC64 0x0010
+ _0807EDD4 0x0288, 0x0328
+ _0807E5F8 0x00000200
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/kinstones/script_Npc4EFirstKinstone.inc b/data/scripts/cutscene/kinstones/script_Npc4EFirstKinstone.inc
new file mode 100644
index 00000000..33bd8b48
--- /dev/null
+++ b/data/scripts/cutscene/kinstones/script_Npc4EFirstKinstone.inc
@@ -0,0 +1,48 @@
+@ Hyrule Town NPC4E Kinstone Cutscene
+SCRIPT_START script_Npc4EFirstKinstone
+ BeginBlock
+ _0807F0B4 0x0001
+ CameraTargetPlayer
+ EndBlock
+script_0800F09A:
+ CheckPlayerInRegion 0x01f8, 0x0338, 0x1030
+ JumpIfNot script_0800F09A
+ _0807E864
+ Call sub_0807F9A4
+ Call sub_0807DF28
+ LoadRoomEntityList gUnk_080EE8AC
+ StartPlayerScript script_PlayerAtFirstKinstone
+ WaitForSomething2 0x00000001
+ _0807E5F8 0x0000001e
+ WaitForSomething2 0x00000040
+ MessageFromTargetPos 0x1201, 0x000c
+ WaitUntilTextboxCloses
+ WaitForSomething2 0x000003c0
+ _0807E8E4_0
+ MessageFromTargetPos 0x1202, 0x000c
+ WaitUntilTextboxCloses
+ _0807F034 0x0067
+ WaitPlayerGetItem
+ _0807E8E4_0
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000040
+ MessageFromTargetPos 0x1203, 0x000c
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000002
+ Call sub_0807DF50
+ _0807E878
+ WaitForSomething2 0x00000040
+script_0800F11A:
+ CheckKinstoneFused 0x0032
+ JumpIfNot script_0800F11A
+ _0807E864
+ Call sub_0807DF28
+ _0807E5F8 0x0000001e
+ Wait 0x003c
+ _0807E8E4_1
+ WaitForSomething2 0x000003c0
+ Call sub_0807DF50
+ _0807E878
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/kinstones/script_PlayerAtFirstKinstone.inc b/data/scripts/cutscene/kinstones/script_PlayerAtFirstKinstone.inc
new file mode 100644
index 00000000..40305c72
--- /dev/null
+++ b/data/scripts/cutscene/kinstones/script_PlayerAtFirstKinstone.inc
@@ -0,0 +1,16 @@
+@ Hyrule Town Kinstone cutscene Player
+SCRIPT_START script_PlayerAtFirstKinstone
+ BeginBlock
+ SetEntitySpeed 0x0080
+ EndBlock
+ DoPostScriptAction 0x0000
+ _0807EB44 0x0006
+ DoPostScriptAction 0x0004
+ Wait 0x003c
+ DoPostScriptAction 0x0001
+ _0807EDD4 0x01f8, 0x0338
+ _0807EB44 0x0006
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000001
+ Call sub_080791BC
+SCRIPT_END
diff --git a/data/scripts/cutscene/kinstones/script_PlayerAtHurdyGurdyManFirstKinstone1.inc b/data/scripts/cutscene/kinstones/script_PlayerAtHurdyGurdyManFirstKinstone1.inc
new file mode 100644
index 00000000..cc32b8ed
--- /dev/null
+++ b/data/scripts/cutscene/kinstones/script_PlayerAtHurdyGurdyManFirstKinstone1.inc
@@ -0,0 +1,8 @@
+@ Player at Hyrule Town Kinstone cutscene HurdyGurdyMan
+SCRIPT_START script_PlayerAtHurdyGurdyManFirstKinstone1
+ SetEntitySpeed 0x0100
+ _0807EC94 0x0008
+ _0807E5F8 0x00000400
+ Call sub_080791BC
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/kinstones/script_PlayerAtHurdyGurdyManFirstKinstone2.inc b/data/scripts/cutscene/kinstones/script_PlayerAtHurdyGurdyManFirstKinstone2.inc
new file mode 100644
index 00000000..a8d17ccd
--- /dev/null
+++ b/data/scripts/cutscene/kinstones/script_PlayerAtHurdyGurdyManFirstKinstone2.inc
@@ -0,0 +1,8 @@
+@ Player at Hyrule Town Kinstone cutscene HurdyGurdyMan 2
+SCRIPT_START script_PlayerAtHurdyGurdyManFirstKinstone2
+ SetEntitySpeed 0x0100
+ _0807ECF4 0x0008
+ _0807E5F8 0x00000400
+ Call sub_080791BC
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/kinstones/script_PlayerAtHurdyGurdyManFirstKinstone3.inc b/data/scripts/cutscene/kinstones/script_PlayerAtHurdyGurdyManFirstKinstone3.inc
new file mode 100644
index 00000000..e951333f
--- /dev/null
+++ b/data/scripts/cutscene/kinstones/script_PlayerAtHurdyGurdyManFirstKinstone3.inc
@@ -0,0 +1,8 @@
+@ Player at Hyrule Town Kinstone cutscene HurdyGurdyMan 3
+SCRIPT_START script_PlayerAtHurdyGurdyManFirstKinstone3
+ SetEntitySpeed 0x0100
+ _0807ECC4 0x0008
+ _0807E5F8 0x00000400
+ Call sub_080791BC
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/kinstones/script_PlayerAtHurdyGurdyManFirstKinstone4.inc b/data/scripts/cutscene/kinstones/script_PlayerAtHurdyGurdyManFirstKinstone4.inc
new file mode 100644
index 00000000..db5813b5
--- /dev/null
+++ b/data/scripts/cutscene/kinstones/script_PlayerAtHurdyGurdyManFirstKinstone4.inc
@@ -0,0 +1,8 @@
+@ Player at Hyrule Town Kinstone cutscene HurdyGurdyMan 4
+SCRIPT_START script_PlayerAtHurdyGurdyManFirstKinstone4
+ SetEntitySpeed 0x0100
+ _0807EC64 0x0008
+ _0807E5F8 0x00000400
+ Call sub_080791BC
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/minishVillage/script_ForestMinish5.inc b/data/scripts/cutscene/minishVillage/script_ForestMinish5.inc
new file mode 100644
index 00000000..15ae2605
--- /dev/null
+++ b/data/scripts/cutscene/minishVillage/script_ForestMinish5.inc
@@ -0,0 +1,35 @@
+@ Minish Village Intro Forest Minish
+SCRIPT_START script_ForestMinish5
+ BeginBlock
+ DoPostScriptAction 0x0000
+ DoPostScriptAction 0x0008
+ SetEntitySpeed 0x0100
+ DoPostScriptAction 0x000f
+ Call sub_0807F338
+ EndBlock
+ WaitForSomething2 0x00000200
+ DoPostScriptAction 0x0007
+ _0807EDD4 0x0208, 0x0308
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000400
+ WaitForSomething2 0x00000200
+ PlaySound SFX_PLY_JUMP
+ _0807EF3C 0x0180, 0x0030
+ PlaySound SFX_PLY_JUMP
+ _0807EF3C 0x0180, 0x0030
+ _0807E5F8 0x00000400
+ WaitForSomething2 0x00000200
+ SetEntitySpeed 0x0200
+ DoPostScriptAction 0x000f
+ _0807EDD4 0x0208, 0x0328
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000400
+ WaitForSomething2 0x00000200
+ SetEntitySpeed 0x0300
+ DoPostScriptAction 0x000f
+ _0807EDD4 0x0208, 0x02b0
+ _0807E5F8 0x00000400
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/minishVillage/script_ForestMinish6.inc b/data/scripts/cutscene/minishVillage/script_ForestMinish6.inc
new file mode 100644
index 00000000..6fe0af32
--- /dev/null
+++ b/data/scripts/cutscene/minishVillage/script_ForestMinish6.inc
@@ -0,0 +1,31 @@
+@ Minish Village Intro Forest Minish 2
+SCRIPT_START script_ForestMinish6
+ BeginBlock
+ DoPostScriptAction 0x0000
+ DoPostScriptAction 0x0008
+ SetEntitySpeed 0x0100
+ DoPostScriptAction 0x000f
+ Call sub_0807F338
+ EndBlock
+ WaitForSomething2 0x00000800
+ DoPostScriptAction 0x0007
+ _0807EB44 0x0002
+ DoPostScriptAction 0x0001
+ _0807EDD4 0x01a8, 0x0330
+ _0807EB44 0x0002
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00001000
+ WaitForSomething2 0x00000800
+ SetEntitySpeed 0x0200
+ DoPostScriptAction 0x000f
+ _0807EDD4 0x01f8, 0x0348
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00001000
+ WaitForSomething2 0x00000800
+ SetEntitySpeed 0x0300
+ DoPostScriptAction 0x000f
+ _0807EDD4 0x0178, 0x0328
+ _0807E5F8 0x00001000
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/minishVillage/script_ForestMinish7.inc b/data/scripts/cutscene/minishVillage/script_ForestMinish7.inc
new file mode 100644
index 00000000..63c90ea4
--- /dev/null
+++ b/data/scripts/cutscene/minishVillage/script_ForestMinish7.inc
@@ -0,0 +1,35 @@
+@ Minish Village Intro Forest Minish 3
+SCRIPT_START script_ForestMinish7
+ BeginBlock
+ DoPostScriptAction 0x0000
+ DoPostScriptAction 0x0008
+ SetEntitySpeed 0x0100
+ DoPostScriptAction 0x000f
+ Call sub_0807F338
+ EndBlock
+ WaitForSomething2 0x00002000
+ DoPostScriptAction 0x0007
+ _0807EDD4 0x0258, 0x0330
+ _0807EB44 0x0006
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00004000
+ WaitForSomething2 0x00002000
+ SetEntitySpeed 0x0200
+ DoPostScriptAction 0x000f
+ _0807EDD4 0x0218, 0x0340
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00004000
+ WaitForSomething2 0x00002000
+ PlaySound SFX_PLY_JUMP
+ _0807EF3C 0x0180, 0x0030
+ PlaySound SFX_PLY_JUMP
+ _0807EF3C 0x0180, 0x0030
+ _0807E5F8 0x00004000
+ WaitForSomething2 0x00002000
+ SetEntitySpeed 0x0300
+ DoPostScriptAction 0x000f
+ _0807EDD4 0x0288, 0x02d8
+ _0807E5F8 0x00004000
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/minishVillage/script_ForestMinish8.inc b/data/scripts/cutscene/minishVillage/script_ForestMinish8.inc
new file mode 100644
index 00000000..738c4983
--- /dev/null
+++ b/data/scripts/cutscene/minishVillage/script_ForestMinish8.inc
@@ -0,0 +1,35 @@
+@ Minish Village Intro Forest Minish 4
+SCRIPT_START script_ForestMinish8
+ BeginBlock
+ DoPostScriptAction 0x0008
+ DoPostScriptAction 0x0000
+ SetEntitySpeed 0x0100
+ DoPostScriptAction 0x000f
+ Call sub_0807F338
+ EndBlock
+ WaitForSomething2 0x00008000
+ DoPostScriptAction 0x0007
+ _0807EDD4 0x01b8, 0x0320
+ _0807EB44 0x0002
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00010000
+ WaitForSomething2 0x00008000
+ SetEntitySpeed 0x0200
+ DoPostScriptAction 0x000f
+ _0807EDD4 0x01f8, 0x0330
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00010000
+ WaitForSomething2 0x00008000
+ PlaySound SFX_PLY_JUMP
+ _0807EF3C 0x0180, 0x0030
+ PlaySound SFX_PLY_JUMP
+ _0807EF3C 0x0180, 0x0030
+ _0807E5F8 0x00010000
+ WaitForSomething2 0x00008000
+ SetEntitySpeed 0x0300
+ DoPostScriptAction 0x000f
+ _0807EDD4 0x0188, 0x02d8
+ _0807E5F8 0x00010000
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/minishVillage/script_ForestMinish9.inc b/data/scripts/cutscene/minishVillage/script_ForestMinish9.inc
new file mode 100644
index 00000000..2c974e25
--- /dev/null
+++ b/data/scripts/cutscene/minishVillage/script_ForestMinish9.inc
@@ -0,0 +1,29 @@
+@ Minish Village Intro Forest Minish 5
+SCRIPT_START script_ForestMinish9
+ BeginBlock
+ DoPostScriptAction 0x0000
+ DoPostScriptAction 0x0008
+ SetEntitySpeed 0x0100
+ DoPostScriptAction 0x000f
+ Call sub_0807F338
+ EndBlock
+ WaitForSomething2 0x00020000
+ DoPostScriptAction 0x0007
+ _0807EDD4 0x0268, 0x0338
+ _0807EB44 0x0006
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00040000
+ WaitForSomething2 0x00020000
+ SetEntitySpeed 0x0200
+ DoPostScriptAction 0x000f
+ _0807EDD4 0x0218, 0x0350
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00040000
+ WaitForSomething2 0x00020000
+ SetEntitySpeed 0x0300
+ DoPostScriptAction 0x000f
+ _0807EDD4 0x02a8, 0x0328
+ _0807E5F8 0x00040000
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/minishVillage/script_Object69VillageIntro.inc b/data/scripts/cutscene/minishVillage/script_Object69VillageIntro.inc
new file mode 100644
index 00000000..81567508
--- /dev/null
+++ b/data/scripts/cutscene/minishVillage/script_Object69VillageIntro.inc
@@ -0,0 +1,83 @@
+@ Minish Village OBJECT_69 Intro Cutscene?
+SCRIPT_START script_Object69VillageIntro
+ BeginBlock
+ _0807EB44 0x0004
+ SetEntitySpeed 0x0300
+ EndBlock
+script_0800C928:
+ CheckPlayerInRegion 0x0208, 0x0360, 0x2040
+ JumpIfNot script_0800C928
+ _0807E864
+ Call sub_0807F9A4
+ Call sub_0807DF28
+ StartPlayerScript script_PlayerAtVillageIntro
+ WaitForSomething2 0x00000002
+ Wait 0x003c
+ _0807EB28 0x1125
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000800
+ _0807E8E4_3
+ Wait 0x003c
+ _0807E5F8 0x00000200
+ _0807E8E4_0
+ Wait 0x001e
+ _0807E5F8 0x00002000
+ _0807E8E4_1
+ Wait 0x0014
+ _0807E5F8 0x00020000
+ _0807E8E4_1
+ Wait 0x000a
+ _0807E5F8 0x00008000
+ _0807E8E4_3
+ Wait 0x001e
+ WaitForSomething2 0x00000400
+ WaitForSomething2 0x00001000
+ WaitForSomething2 0x00004000
+ WaitForSomething2 0x00010000
+ WaitForSomething2 0x00040000
+ _0807E8E4_0
+ Wait 0x003c
+ _0807E5F8 0x00000200
+ WaitForSomething2 0x00000400
+ _0807E8E4_0
+ MessageFromTarget 0x1126
+ Call sub_0807F40C
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000200
+ _0807E5F8 0x00000800
+ _0807E5F8 0x00002000
+ _0807E5F8 0x00008000
+ _0807E5F8 0x00020000
+ WaitForSomething2 0x00000400
+ WaitForSomething2 0x00001000
+ WaitForSomething2 0x00004000
+ WaitForSomething2 0x00010000
+ WaitForSomething2 0x00040000
+ _0807E5F8 0x00008000
+ WaitForSomething2 0x00010000
+ _0807E8E4_3
+ MessageFromTarget 0x1127
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00002000
+ WaitForSomething2 0x00004000
+ _0807E8E4_1
+ MessageFromTarget 0x1128
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000200
+ _0807E5F8 0x00000800
+ _0807E5F8 0x00002000
+ _0807E5F8 0x00008000
+ _0807E5F8 0x00020000
+ WaitForSomething2 0x00000400
+ WaitForSomething2 0x00001000
+ WaitForSomething2 0x00004000
+ WaitForSomething2 0x00010000
+ WaitForSomething2 0x00040000
+ _0807E8E4_0
+ _0807EB28 0x1129
+ WaitUntilTextboxCloses
+ SetLocalFlag 0x008d
+ Call sub_0807DF50
+ _0807E878
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/minishVillage/script_PlayerAtVillageIntro.inc b/data/scripts/cutscene/minishVillage/script_PlayerAtVillageIntro.inc
new file mode 100644
index 00000000..9ad9b910
--- /dev/null
+++ b/data/scripts/cutscene/minishVillage/script_PlayerAtVillageIntro.inc
@@ -0,0 +1,14 @@
+@ Minish Village Intro Player
+SCRIPT_START script_PlayerAtVillageIntro
+ BeginBlock
+ SetEntitySpeed 0x0100
+ EndBlock
+ DoPostScriptAction 0x0001
+ _0807EDD4 0x0208, 0x0358
+ SetEntitySpeed 0x0080
+ _0807EDD4 0x0208, 0x0340
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000002
+ Call sub_080791BC
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/originStory/script_EzloCapExplainingOriginStory.inc b/data/scripts/cutscene/originStory/script_EzloCapExplainingOriginStory.inc
new file mode 100644
index 00000000..ba131031
--- /dev/null
+++ b/data/scripts/cutscene/originStory/script_EzloCapExplainingOriginStory.inc
@@ -0,0 +1,25 @@
+@ Outside Castle after ezlo cutscene EzloCap
+SCRIPT_START script_EzloCapExplainingOriginStory
+ BeginBlock
+ SetEntitySpeed 0x0080
+ DoPostScriptAction 0x0007
+ EndBlock
+ _0807E930 0x001f
+ Call sub_0806D944
+ WaitForSomething2 0x00000008
+ _0807E930 0x0010
+ MessageFromTargetPos 0x1314, 0x000c
+ WaitUntilTextboxCloses
+ _0807E930 0x0018
+ Call sub_0806D8A0
+script_080153C2:
+ _0807EE30
+ JumpIfNot script_080153C2
+ _0807E930 0x001f
+ StartPlayerScript script_PlayerReceivedExposition
+ Call sub_0806D9A4
+ DoPostScriptAction 0x0008
+ Wait 0x0078
+ _0807E5F8 0x00000010
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/originStory/script_MinishEzlo.inc b/data/scripts/cutscene/originStory/script_MinishEzlo.inc
new file mode 100644
index 00000000..cf2b0806
--- /dev/null
+++ b/data/scripts/cutscene/originStory/script_MinishEzlo.inc
@@ -0,0 +1,46 @@
+@ Ezlo Cutscene MinishEzlo
+SCRIPT_START script_MinishEzlo
+ BeginBlock
+ SetEntitySpeed 0x0080
+ DoPostScriptAction 0x0007
+ _0807EB44 0x0000
+ Call sub_0807F338
+ EndBlock
+ CallWithArg sub_0806AF60, 0x00000000
+ WaitForSomething2 0x00008000
+ CallWithArg sub_0806AF60, 0x00000004
+ _0807EDD4 0x0078, 0x00b8
+ _0807EB44 0x0000
+ CallWithArg sub_0806AF60, 0x00000000
+ _0807E5F8 0x00010000
+ WaitForSomething2 0x00008000
+ DoPostScriptAction 0x000d
+ _0807EB44 0x0000
+ CallWithArg sub_0806AF60, 0x00000004
+ _0807EDD4 0x0078, 0x00c8
+ _0807E5F8 0x00010000
+ WaitForSomething2 0x00008000
+ _0807EB44 0x0000
+ CallWithArg sub_0806AF60, 0x00000000
+ DoPostScriptAction 0x0010
+ Wait 0x0028
+ PlaySound SFX_125
+ CallWithArg sub_0807FB28, 0x00000003
+ Wait 0x000a
+ PlaySound SFX_125
+ CallWithArg sub_0807FB28, 0x00000003
+ Wait 0x000a
+ DoPostScriptAction 0x0010
+ _0807E5F8 0x00010000
+ WaitForSomething2 0x00008000
+ _0807E930 0x000d
+ Call sub_0807F2D4
+ _0807E5F8 0x00010000
+ Wait 0x003c
+ DoPostScriptAction 0x0005
+ Wait 0x003c
+script_080155E6:
+ CheckRoomFlag 0x0001
+ JumpIfNot script_080155E6
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/originStory/script_Object69CameraTarget.inc b/data/scripts/cutscene/originStory/script_Object69CameraTarget.inc
new file mode 100644
index 00000000..aa254ab2
--- /dev/null
+++ b/data/scripts/cutscene/originStory/script_Object69CameraTarget.inc
@@ -0,0 +1,27 @@
+@ Ezlo Cutscene OBJECT_69 Camera Target?
+SCRIPT_START script_Object69CameraTarget
+ _0807E5F8 0x00000800
+ WaitForSomething2 0x00001000
+ PlaySound SFX_125
+ CallWithArg sub_0807FB28, 0x00000003
+ _0807E5F8 0x00048000
+ WaitForSomething2 0x00090000
+ MessageFromTargetPos 0x1311, 0x0002
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00008000
+ WaitForSomething2 0x00010000
+ _0807E5F8 0x00048000
+ WaitForSomething2 0x00010000
+ CallWithArg DeleteManager36, 0x00000001
+ _0807F0C8 0x0000, 0x0000
+ MessageFromTargetPos 0x1312, 0x000c
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000800
+ WaitForSomething2 0x00001000
+ StopBgm
+ _0807E778 0x0004
+ DoFade5
+ WaitFor_2
+ SetRoomFlag 0x0001
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/originStory/script_Object69MinishVaati.inc b/data/scripts/cutscene/originStory/script_Object69MinishVaati.inc
new file mode 100644
index 00000000..667db5fc
--- /dev/null
+++ b/data/scripts/cutscene/originStory/script_Object69MinishVaati.inc
@@ -0,0 +1,37 @@
+@ Ezlo Cutscene OBJECT_69 MinishVaati
+SCRIPT_START script_Object69MinishVaati
+ BeginBlock
+ _0807F0B4 0x0007
+ SetEntityPositionRelative 0x0078, 0x0068
+ CameraTargetEntity
+ EndBlock
+ PlayBgm BGM_EZLO_STORY
+ _0807E778 0x0004
+ DoFade4
+ WaitFor_2
+ Wait 0x003c
+ _0807E5F8 0x00000080
+ WaitForSomething2 0x00000100
+ _0807E5F8 0x00000800
+ WaitForSomething2 0x00001000
+ _0807E5F8 0x00000880
+ WaitForSomething2 0x00001100
+ _0807F0B4 0x0004
+ SetEntityPositionRelative 0x0078, 0x0090
+ MessageFromTargetPos 0x1330, 0x0002
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00008000
+ WaitForSomething2 0x00010000
+ _0807E5F8 0x00000880
+ WaitForSomething2 0x00001000
+ Wait 0x003c
+ MessageFromTargetPos 0x130d, 0x0002
+ WaitUntilTextboxCloses
+ MessageFromTargetPos 0x130e, 0x000c
+ WaitUntilTextboxCloses
+ MessageFromTargetPos 0x130f, 0x0002
+ WaitUntilTextboxCloses
+ MessageFromTargetPos 0x1310, 0x000c
+ WaitUntilTextboxCloses
+ CallWithArg CreateManager36, 0x00000001
+ _0807F0C8 0xffff, 0x0000
diff --git a/data/scripts/cutscene/originStory/script_Object69VaatiAppears.inc b/data/scripts/cutscene/originStory/script_Object69VaatiAppears.inc
new file mode 100644
index 00000000..6ed25d62
--- /dev/null
+++ b/data/scripts/cutscene/originStory/script_Object69VaatiAppears.inc
@@ -0,0 +1,161 @@
+@ Outside Castle OBJECT_69 Vaati appearance
+SCRIPT_START script_Object69VaatiAppears
+ BeginBlock
+ SetEntityPositionRelative 0x01f8, 0x00e0
+ Call sub_08054564
+ EndBlock
+script_08014FCC:
+ CheckPlayerInRegion 0x01f8, 0x00a0, 0x2040
+ JumpIfNot script_08014FCC
+ _0807E864
+ Call sub_0807F9A4
+ Call sub_0807DF28
+ StopBgm
+ _0807F0B4 0x0001
+ CameraTargetEntity
+ StartPlayerScript script_PlayerAtVaatisAppearance
+ WaitForSomething2 0x00000001
+ MessageFromTargetPos 0x1301, 0x0002
+ WaitUntilTextboxCloses
+ Call sub_0807F3F8
+ Wait 0x003c
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000004
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000004
+ PlayBgm BGM_VAATI_THEME
+ _0807EB28 0x1302
+ WaitUntilTextboxCloses
+ MessageFromTargetPos 0x1303, 0x0002
+ WaitUntilTextboxCloses
+ _0807EB28 0x1304
+ WaitUntilTextboxCloses
+ MessageFromTargetPos 0x1305, 0x0002
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000004
+ _0807EB28 0x1306
+ WaitUntilTextboxCloses
+ StopBgm
+ StartPlayerScript script_PlayerTryToFollowVaati
+ CameraTargetEntity
+ _0807F0B4 0x0003
+ SetEntityPositionRelative 0x01f8, 0x0148
+ WaitForSomething2 0x00000001
+ Call sub_0804F6A8
+ Wait 0x0004
+ Call sub_0804F808
+ PlaySound SFX_10B
+ StartPlayerScript script_PlayerStoneWallsAppear
+ Call sub_0804F6C8
+ Wait 0x0004
+ Call sub_0804F830
+ PlaySound SFX_10B
+ Call sub_0804F6E8
+ Wait 0x0004
+ Call sub_0804F854
+ PlaySound SFX_10B
+ Call sub_0804F724
+ Wait 0x0004
+ Call sub_0804F89C
+ PlaySound SFX_10B
+ Call sub_0804F760
+ Wait 0x0004
+ Call sub_0804F8E0
+ PlaySound SFX_10B
+ Wait 0x003c
+ WaitForSomething2 0x00000001
+ PlaySound SFX_1B0
+ Call sub_0804F79C
+ Wait 0x000a
+ LoadRoomEntityList gUnk_080F7FC0
+ PlayBgm BGM_FIGHT_THEME
+ Call sub_0807DF50
+ _0807E878
+script_08015104:
+ CheckRoomFlag 0x0000
+ JumpIfNot script_08015104
+ @ Defeated Moblins
+ _0807E864
+ Call sub_0807F9A4
+ Call sub_0807DF28
+ StopBgm
+ StartPlayerScript script_PlayerDefeatedMoblins
+ WaitForSomething2 0x00000001
+ Wait 0x003c
+ Call sub_0804F6A8
+ Wait 0x0004
+ Call sub_0804F928
+ PlaySound SFX_10B
+ Call sub_0804F6C8
+ Wait 0x0004
+ Call sub_0804F944
+ PlaySound SFX_10B
+ Call sub_0804F6E8
+ Wait 0x0004
+ Call sub_0804F960
+ PlaySound SFX_10B
+ Call sub_0804F724
+ Wait 0x0004
+ Call sub_0804F994
+ PlaySound SFX_10B
+ Call sub_0804F760
+ Wait 0x0004
+ Call sub_0804F9C8
+ PlaySound SFX_10B
+ Wait 0x003c
+ PlaySound SFX_SECRET
+ _0807F0B4 0x0004
+ CameraTargetPlayer
+.ifdef JP
+ SetLocalFlag 0x008a
+.else
+.ifdef EU
+ SetLocalFlag 0x008a
+.else
+.ifdef DEMO_JP
+ SetLocalFlag 0x008a @ TODO deduplicate
+.else
+ SetLocalFlag 0x008c
+.endif
+.endif
+.endif
+ _0807EB28 0x130c
+ WaitUntilTextboxCloses
+ @ Ezlo cutscene starts
+ CameraTargetPlayer
+ _0807E778 0x0004
+ _0807E80C 0x00000000
+ WaitFor_2
+ Call sub_08053B3C
+ BeginBlock
+ _0807E864
+ CallWithArg sub_0807F6E8, 0x00000008
+ MoveEntityToPlayer
+ _0807F0B4 0x0004
+ CameraTargetEntity
+ _0807E778 0x0100
+ DoFade4
+ _0807E80C 0x00000000
+ EndBlock
+ StartPlayerScript script_PlayerSeenOriginStory
+ WaitForSomething2 0x00000001
+ LoadRoomEntityList gUnk_080F7CB0
+ _0807E778 0x0004
+ _0807E800 0x00000000
+ WaitFor_2
+ _0807E5F8 0x00000008
+ WaitForSomething2 0x00000010
+ BeginBlock
+ _0807E8E4_2
+ _0807EB28 0x1315
+ EndBlock
+ WaitUntilTextboxCloses
+ _0807F0B4 0x0004
+ CameraTargetPlayer
+ Call sub_08054570
+ PlayBGM
+ Call sub_0807DF50
+ _0807E878
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/originStory/script_Object6ADarkMagic.inc b/data/scripts/cutscene/originStory/script_Object6ADarkMagic.inc
new file mode 100644
index 00000000..655d8258
--- /dev/null
+++ b/data/scripts/cutscene/originStory/script_Object6ADarkMagic.inc
@@ -0,0 +1,21 @@
+@ Ezlo Cutscene OBJECT_6A dark magic
+SCRIPT_START script_Object6ADarkMagic
+ BeginBlock
+ _0807E930 0x0000
+ SetEntitySpeed 0x0200
+ Call sub_08094B80
+ EndBlock
+ Wait 0x0078
+ PlaySound SFX_1C5
+ Call sub_08094B6C
+ _0807EDD4 0x0078, 0x00b8
+ PlaySound SFX_1C6
+ Call sub_08094B80
+ _0807E5F8 0x00020000
+ SetEntitySpeed 0x0080
+ WaitForSomething2 0x00040000
+ _0807EDD4 0x0078, 0x00c8
+ _0807E5F8 0x00080000
+ WaitForSomething2 0x00040000
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/originStory/script_Object6AMinishCap.inc b/data/scripts/cutscene/originStory/script_Object6AMinishCap.inc
new file mode 100644
index 00000000..56f0f57a
--- /dev/null
+++ b/data/scripts/cutscene/originStory/script_Object6AMinishCap.inc
@@ -0,0 +1,23 @@
+@ Ezlo Cutscene OBJECT_6A Minish Cap
+SCRIPT_START script_Object6AMinishCap
+ BeginBlock
+ DoPostScriptAction 0x0007
+ SetEntitySpeed 0x0040
+ Call sub_08094B80
+ EndBlock
+ WaitForSomething2 0x00000080
+ CallWithArg CreateManager36, 0x00000003
+ Call sub_08094B0C
+ _0807EDD4 0x0078, 0x0068
+ _0807E5F8 0x00000100
+ WaitForSomething2 0x00000080
+ _0807EF3C 0xff80, 0x0000
+ CallWithArg DeleteManager36, 0x00000003
+ Wait 0x003c
+ _0807E5F8 0x00000100
+ WaitForSomething2 0x00000080
+ _0807E930 0x0001
+ Call sub_0807F2D4
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/originStory/script_PlayerAtVaatisAppearance.inc b/data/scripts/cutscene/originStory/script_PlayerAtVaatisAppearance.inc
new file mode 100644
index 00000000..668b0930
--- /dev/null
+++ b/data/scripts/cutscene/originStory/script_PlayerAtVaatisAppearance.inc
@@ -0,0 +1,12 @@
+@ Player outside castle for Vaati appearance
+SCRIPT_START script_PlayerAtVaatisAppearance
+ BeginBlock
+ SetEntitySpeed 0x0080
+ EndBlock
+ DoPostScriptAction 0x0001
+ _0807EDD4 0x01f8, 0x00b8
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000001
+ Call sub_080791BC
+SCRIPT_END
diff --git a/data/scripts/cutscene/originStory/script_PlayerDefeatedMoblins.inc b/data/scripts/cutscene/originStory/script_PlayerDefeatedMoblins.inc
new file mode 100644
index 00000000..21b9fb9d
--- /dev/null
+++ b/data/scripts/cutscene/originStory/script_PlayerDefeatedMoblins.inc
@@ -0,0 +1,12 @@
+@ Player Outside Castle after defeating Moblins
+SCRIPT_START script_PlayerDefeatedMoblins
+ BeginBlock
+ SetEntitySpeed 0x0100
+ EndBlock
+ DoPostScriptAction 0x0001
+ _0807EDD4 0x01f8, 0x0148
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000001
+ Call sub_080791BC
+SCRIPT_END
diff --git a/data/scripts/cutscene/originStory/script_PlayerReceivedExposition.inc b/data/scripts/cutscene/originStory/script_PlayerReceivedExposition.inc
new file mode 100644
index 00000000..77508e79
--- /dev/null
+++ b/data/scripts/cutscene/originStory/script_PlayerReceivedExposition.inc
@@ -0,0 +1,5 @@
+@ Player Outside Castle after Ezlo explanation after ezlo cutscene
+SCRIPT_START script_PlayerReceivedExposition
+ DoPostScriptAction 0x0015
+ Call sub_080791BC
+SCRIPT_END
diff --git a/data/scripts/cutscene/originStory/script_PlayerSeenOriginStory.inc b/data/scripts/cutscene/originStory/script_PlayerSeenOriginStory.inc
new file mode 100644
index 00000000..15faade4
--- /dev/null
+++ b/data/scripts/cutscene/originStory/script_PlayerSeenOriginStory.inc
@@ -0,0 +1,11 @@
+@ Player after Ezlo Cutscene
+SCRIPT_START script_PlayerSeenOriginStory
+ BeginBlock
+ SetEntitySpeed 0x0100
+ SetEntityPositionRelative 0x0208, 0x0148
+ EndBlock
+ _0807EB44 0x0006
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000001
+ Call sub_080791BC
+SCRIPT_END
diff --git a/data/scripts/cutscene/originStory/script_PlayerStoneWallsAppear.inc b/data/scripts/cutscene/originStory/script_PlayerStoneWallsAppear.inc
new file mode 100644
index 00000000..a3c96b65
--- /dev/null
+++ b/data/scripts/cutscene/originStory/script_PlayerStoneWallsAppear.inc
@@ -0,0 +1,15 @@
+@ Player Outside Castle when stones appear before Moblin Fight
+SCRIPT_START script_PlayerStoneWallsAppear
+ _0807EB44 0x0002
+ Wait 0x000a
+ _0807EB44 0x0006
+ Wait 0x000a
+ _0807EB44 0x0002
+ Wait 0x000a
+ _0807EB44 0x0006
+ Wait 0x000a
+ _0807EB44 0x0004
+ _0807E5F8 0x00000001
+ Call sub_080791BC
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/originStory/script_PlayerTryToFollowVaati.inc b/data/scripts/cutscene/originStory/script_PlayerTryToFollowVaati.inc
new file mode 100644
index 00000000..b9759827
--- /dev/null
+++ b/data/scripts/cutscene/originStory/script_PlayerTryToFollowVaati.inc
@@ -0,0 +1,12 @@
+@ Player trying to follow Vaati outside castle
+SCRIPT_START script_PlayerTryToFollowVaati
+ BeginBlock
+ SetEntitySpeed 0x0200
+ EndBlock
+ DoPostScriptAction 0x0001
+ _0807EDD4 0x01f8, 0x0148
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000001
+ Call sub_080791BC
+SCRIPT_END
diff --git a/data/scripts/cutscene/originStory/script_Vaati.inc b/data/scripts/cutscene/originStory/script_Vaati.inc
new file mode 100644
index 00000000..8cdeb503
--- /dev/null
+++ b/data/scripts/cutscene/originStory/script_Vaati.inc
@@ -0,0 +1,47 @@
+@ Ezlo Cutscene Vaati
+SCRIPT_START script_Vaati
+ BeginBlock
+ DoPostScriptAction 0x0007
+ DoPostScriptAction 0x000b
+ _0807EB44 0x0000
+ DoPostScriptAction 0x0017
+ Call sub_0807F180
+ EndBlock
+ WaitForSomething2 0x00000800
+ _0807EB44 0x0002
+ DoPostScriptAction 0x0017
+ Wait 0x000a
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0017
+ _0807EB44 0x0004
+ DoPostScriptAction 0x001b
+ _0807E5F8 0x00001000
+ WaitForSomething2 0x00000800
+ Wait 0x0078
+ DoPostScriptAction 0x0004
+ Wait 0x0014
+ _0807E5F8 0x00001000
+ WaitForSomething2 0x00000800
+ DoPostScriptAction 0x0018
+ Call sub_0807F2D4
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00001000
+ WaitForSomething2 0x00000800
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0014
+ CallWithArg sub_0809545C, script_Object6ADarkMagic
+ PlaySound SFX_1C4
+ Wait 0x0078
+ DoPostScriptAction 0x0016
+ WaitForSomething2 0x00020000
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00001000
+ WaitForSomething2 0x00000800
+ Call sub_08066CA4
+ DoPostScriptAction 0x0008
+ Wait 0x0078
+ _0807E5F8 0x00001000
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/originStory/script_VaatiAppearsAgain.inc b/data/scripts/cutscene/originStory/script_VaatiAppearsAgain.inc
new file mode 100644
index 00000000..0f6a9aef
--- /dev/null
+++ b/data/scripts/cutscene/originStory/script_VaatiAppearsAgain.inc
@@ -0,0 +1,31 @@
+@ Outside Castle Vaati
+SCRIPT_START script_VaatiAppearsAgain
+ BeginBlock
+ DoPostScriptAction 0x0008
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0000
+ Call sub_0807F354
+ EndBlock
+ WaitForSomething2 0x00000002
+ Call sub_08066C94
+ Wait 0x00e9
+ DoPostScriptAction 0x0007
+ DoPostScriptAction 0x001e
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000002
+ Wait 0x0014
+ _0807EB44 0x0000
+ DoPostScriptAction 0x001c
+ Call sub_0807F2D4
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000002
+ PlaySound SFX_F5
+ DoPostScriptAction 0x001f
+ SetEntitySpeed 0x0200
+ DoPostScriptAction 0x000d
+ DoPostScriptAction 0x0000
+ _0807ECC4 0x0030
+ _0807E5F8 0x00000004
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/outro/script_EzloCapOutro.inc b/data/scripts/cutscene/outro/script_EzloCapOutro.inc
new file mode 100644
index 00000000..63226166
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_EzloCapOutro.inc
@@ -0,0 +1,36 @@
+@ Outro EzloCap
+SCRIPT_START script_EzloCapOutro
+ BeginBlock
+ SetEntitySpeed 0x0080
+ SetEntity0x20 0x00000000
+ DoPostScriptAction 0x0008
+ _0807EB44 0x0000
+ Call sub_0807F714
+ MoveEntityToPlayer
+ CallWithArg sub_0807F98C, 0xfff00000
+ EndBlock
+ _0807E930 0x0023
+ WaitForSomething2 0x00000010
+ CallWithArg sub_0807F6E8, 0x00000008
+ DoPostScriptAction 0x0007
+ PlaySound SFX_SPARKLES
+ _0807E610 0x00000800
+ CallWithArg sub_080960C4, script_Object6AEzloDismounting
+ Wait 0x003c
+ _0807EDD4 0x0088, 0x0068
+ Wait 0x0078
+ _0807E5F8 0x00000800
+ PlaySound SFX_143
+ _0807EF3C 0x0000, 0x0020
+ _0807E930 0x001f
+ _0807E5F8 0x00000200
+ WaitForSomething2 0x00000010
+ Wait 0x0078
+ DoPostScriptAction 0x0004
+ Wait 0x003c
+ _0807E5F8 0x00000200
+ Wait 0x0001
+ DoPostScriptAction 0x0008
+ WaitForSomething2 0x00000010
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/outro/script_EzloZeldaMagic.inc b/data/scripts/cutscene/outro/script_EzloZeldaMagic.inc
new file mode 100644
index 00000000..8d029aff
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_EzloZeldaMagic.inc
@@ -0,0 +1,11 @@
+@ Outro OBJECT_6A Ezlo and Zelda magic
+SCRIPT_START script_EzloZeldaMagic
+ BeginBlock
+ DoPostScriptAction 0x0007
+ DoPostScriptAction 0x000b
+ CallWithArg sub_0807F994, 0x0000fff8
+ EndBlock
+ WaitForSomething 0x00000020
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/outro/script_GuardStoneOutro1.inc b/data/scripts/cutscene/outro/script_GuardStoneOutro1.inc
new file mode 100644
index 00000000..73c218ed
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_GuardStoneOutro1.inc
@@ -0,0 +1,18 @@
+@ Outro Guard stone
+SCRIPT_START script_GuardStoneOutro1
+ BeginBlock
+ DoPostScriptAction 0x0007
+ _0807EB44 0x0004
+ _0807E930 0x0010
+ EndBlock
+ WaitForSomething 0x00000001
+ _0807E930 0x0002
+ WaitForSomething2 0x00000002
+ DoPostScriptAction 0x0004
+ Wait 0x003c
+script_0800A80C:
+ _0807E930 0x0001
+ Wait 0x001e
+ _0807E930 0x0003
+ Wait 0x001e
+ Jump script_0800A80C
diff --git a/data/scripts/cutscene/outro/script_GuardStoneOutro2.inc b/data/scripts/cutscene/outro/script_GuardStoneOutro2.inc
new file mode 100644
index 00000000..f33f9425
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_GuardStoneOutro2.inc
@@ -0,0 +1,18 @@
+@ Outro Guard stone 2
+SCRIPT_START script_GuardStoneOutro2
+ BeginBlock
+ DoPostScriptAction 0x0007
+ _0807EB44 0x0004
+ _0807E930 0x0010
+ EndBlock
+ WaitForSomething 0x00000001
+ _0807E930 0x0002
+ WaitForSomething2 0x00000004
+ DoPostScriptAction 0x0004
+ Wait 0x003c
+script_0800A848:
+ _0807E930 0x0001
+ Wait 0x0014
+ _0807E930 0x0003
+ Wait 0x0014
+ Jump script_0800A848
diff --git a/data/scripts/cutscene/outro/script_GuardStoneOutro3.inc b/data/scripts/cutscene/outro/script_GuardStoneOutro3.inc
new file mode 100644
index 00000000..66af4c81
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_GuardStoneOutro3.inc
@@ -0,0 +1,18 @@
+@ Outro Guard stone 3
+SCRIPT_START script_GuardStoneOutro3
+ BeginBlock
+ DoPostScriptAction 0x0007
+ _0807EB44 0x0004
+ _0807E930 0x0010
+ EndBlock
+ WaitForSomething 0x00000001
+ _0807E930 0x0002
+ WaitForSomething2 0x00000008
+ DoPostScriptAction 0x0004
+ Wait 0x003c
+script_0800A884:
+ _0807E930 0x0001
+ Wait 0x000a
+ _0807E930 0x0003
+ Wait 0x000a
+ Jump script_0800A884
diff --git a/data/scripts/cutscene/outro/script_MaidStoneOutro1.inc b/data/scripts/cutscene/outro/script_MaidStoneOutro1.inc
new file mode 100644
index 00000000..e355a772
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_MaidStoneOutro1.inc
@@ -0,0 +1,18 @@
+@ Outro Maid stone
+SCRIPT_START script_MaidStoneOutro1
+ BeginBlock
+ DoPostScriptAction 0x0007
+ _0807EB44 0x0004
+ _0807E930 0x0008
+ EndBlock
+ WaitForSomething 0x00000001
+ DoPostScriptAction 0x0000
+ WaitForSomething2 0x00000010
+ DoPostScriptAction 0x0004
+ Wait 0x003c
+script_0800A8C0:
+ _0807EB44 0x0002
+ Wait 0x0019
+ _0807EB44 0x0006
+ Wait 0x0019
+ Jump script_0800A8C0
diff --git a/data/scripts/cutscene/outro/script_MaidStoneOutro2.inc b/data/scripts/cutscene/outro/script_MaidStoneOutro2.inc
new file mode 100644
index 00000000..f3884c80
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_MaidStoneOutro2.inc
@@ -0,0 +1,18 @@
+@ Outro Maid stone 2
+SCRIPT_START script_MaidStoneOutro2
+ BeginBlock
+ DoPostScriptAction 0x0007
+ _0807EB44 0x0004
+ _0807E930 0x0008
+ EndBlock
+ WaitForSomething 0x00000001
+ DoPostScriptAction 0x0000
+ WaitForSomething2 0x00000020
+ DoPostScriptAction 0x0004
+ Wait 0x003c
+script_0800A8FC:
+ _0807EB44 0x0002
+ Wait 0x000f
+ _0807EB44 0x0006
+ Wait 0x000f
+ Jump script_0800A8FC
diff --git a/data/scripts/cutscene/outro/script_MinishEzloGoodbye.inc b/data/scripts/cutscene/outro/script_MinishEzloGoodbye.inc
new file mode 100644
index 00000000..4a526a99
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_MinishEzloGoodbye.inc
@@ -0,0 +1,58 @@
+@ Outro MinishEzlo after fixing everything
+SCRIPT_START script_MinishEzloGoodbye
+ BeginBlock
+ SetEntitySpeed 0x0080
+ DoPostScriptAction 0x0007
+ DoPostScriptAction 0x000b
+ _0807EB44 0x0004
+ CallWithArg sub_0807F3D8, 0x00000000
+ EndBlock
+ WaitForSomething2 0x00000002
+ DoPostScriptAction 0x0004
+ Wait 0x001e
+ _0807EB44 0x0002
+ CallWithArg sub_0807F3D8, 0x00000000
+ Wait 0x0006
+ _0807EB44 0x0000
+ CallWithArg sub_0807F3D8, 0x00000000
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000002
+ _0807EB44 0x0002
+ CallWithArg sub_0807F3D8, 0x00000000
+ Wait 0x0014
+ _0807EB44 0x0004
+ CallWithArg sub_0807F3D8, 0x00000000
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000002
+ _0807E930 0x000c
+ Call sub_0807F2D4
+ Call sub_08094B94
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000002
+ _0807E930 0x000f
+ Call sub_0807F2D4
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000002
+ CallWithArg sub_080960C4, script_Object6AEzloFinalMagic
+ _0807E930 0x0012
+ Call sub_0807F2D4
+ Wait 0x001e
+ _0807E5F8 0x00000020
+ StopBgm
+ Call CreateDust
+ Call sub_0806305C
+ Call sub_080630A4
+ _0807EF3C 0x0000, 0x0020
+ Wait 0x001e
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000002
+ SetEntitySpeed 0x0080
+ _0807EEF4 0x0000, 0xfff0
+ Wait 0x003c
+ _0807EEF4 0x0000, 0xfff0
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000002
+ _0807EDD4 0x0088, 0x0040
+ _0807E5F8 0x00000004
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/outro/script_MinishEzloOutro.inc b/data/scripts/cutscene/outro/script_MinishEzloOutro.inc
new file mode 100644
index 00000000..77e67238
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_MinishEzloOutro.inc
@@ -0,0 +1,32 @@
+@ Outro Minish Ezlo
+SCRIPT_START script_MinishEzloOutro
+ BeginBlock
+ DoPostScriptAction 0x0008
+ SetEntitySpeed 0x0080
+ DoPostScriptAction 0x000b
+ _0807EB44 0x0004
+ CallWithArg sub_0807F3D8, 0x00000000
+ EndBlock
+ WaitForSomething2 0x00000002
+ _0807E930 0x000e
+ DoPostScriptAction 0x0007
+ Call sub_0807F2D4
+ DoPostScriptAction 0x0004
+ _0807E5F8 0x00000040
+ WaitForSomething2 0x00000002
+ _0807E930 0x000c
+ Call sub_0807F2D4
+ _0807E5F8 0x00000040
+ WaitForSomething2 0x00000002
+ _0807E930 0x000f
+ Call sub_0807F2D4
+ _0807E5F8 0x00000040
+ WaitForSomething2 0x00000002
+ _0807E930 0x000c
+ Call sub_0807F2D4
+ _0807E5F8 0x00000040
+ WaitForSomething2 0x00000002
+ CallWithArg sub_080960C4, script_EzloZeldaMagic
+ _0807E5F8 0x00000040
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/outro/script_Npc4EDHCEntrance.inc b/data/scripts/cutscene/outro/script_Npc4EDHCEntrance.inc
new file mode 100644
index 00000000..3f04796f
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_Npc4EDHCEntrance.inc
@@ -0,0 +1,13 @@
+@ Outro NPC4E Fix DHC Entrance
+SCRIPT_START script_Npc4EDHCEntrance
+ BeginBlock
+ _0807E864
+ Call sub_0807DF28
+ SetEntityPositionRelative 0x0198, 0x01c8
+ Call sub_0807F844
+ EndBlock
+ Wait 0x003c
+ PlaySound SFX_EVAPORATE
+ CallWithArg sub_0806DA1C, 0x0000000a
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/outro/script_Npc4EDHCThrone.inc b/data/scripts/cutscene/outro/script_Npc4EDHCThrone.inc
new file mode 100644
index 00000000..4349136f
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_Npc4EDHCThrone.inc
@@ -0,0 +1,13 @@
+@ Outro NPC4E Fix DHC Throne
+SCRIPT_START script_Npc4EDHCThrone
+ BeginBlock
+ _0807E864
+ Call sub_0807DF28
+ SetEntityPositionRelative 0x0088, 0x0068
+ Call sub_0807F844
+ EndBlock
+ Wait 0x003c
+ PlaySound SFX_EVAPORATE
+ CallWithArg sub_0806DA1C, 0x00000008
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/outro/script_Npc4EFixedEverything.inc b/data/scripts/cutscene/outro/script_Npc4EFixedEverything.inc
new file mode 100644
index 00000000..f92b36db
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_Npc4EFixedEverything.inc
@@ -0,0 +1,22 @@
+@ Outro NPC4E Fixed everything
+SCRIPT_START script_Npc4EFixedEverything
+ BeginBlock
+ _0807E864
+ Call sub_0807DF28
+ SetEntityPositionRelative 0x0088, 0x0148
+ Call sub_0807F844
+ _0807E8E4_3
+ CallWithArg sub_0807F6E8, 0x00000008
+ CallWithArg sub_0807F75C, 0x00a80088
+ PlaySound SFX_APPARATE
+ EndBlock
+ Wait 0x0078
+ _0807F0B4 0x0001
+ SetEntityPositionRelative 0x0088, 0x0078
+ Call sub_0807F5C0
+ MessageFromTargetPos 0x1664, 0x0000
+ WaitUntilTextboxCloses
+ MessageFromTargetPos 0x165e, 0x000e
+ WaitUntilTextboxCloses
+ CallWithArg CreateManager36, 0x00000001
+ _0807F0C8 0xffff, 0x0000
diff --git a/data/scripts/cutscene/outro/script_Npc4EHyruleCastleEntrance.inc b/data/scripts/cutscene/outro/script_Npc4EHyruleCastleEntrance.inc
new file mode 100644
index 00000000..97e8bc47
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_Npc4EHyruleCastleEntrance.inc
@@ -0,0 +1,13 @@
+@ Outro NPC4E Fix Hyrule Castle Entrance
+SCRIPT_START script_Npc4EHyruleCastleEntrance
+ BeginBlock
+ _0807E864
+ Call sub_0807DF28
+ SetEntityPositionRelative 0x00d8, 0x01c8
+ Call sub_0807F844
+ PlaySound SFX_APPARATE
+ EndBlock
+ Wait 0x003c
+ CallWithArg sub_0806DA1C, 0x0000000b
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/outro/script_Npc4EHyruleCastleThrone.inc b/data/scripts/cutscene/outro/script_Npc4EHyruleCastleThrone.inc
new file mode 100644
index 00000000..890d3814
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_Npc4EHyruleCastleThrone.inc
@@ -0,0 +1,13 @@
+@ Outro NPC4E Fix Hyrule Castle Throne
+SCRIPT_START script_Npc4EHyruleCastleThrone
+ BeginBlock
+ _0807E864
+ Call sub_0807DF28
+ SetEntityPositionRelative 0x0088, 0x0070
+ Call sub_0807F844
+ PlaySound SFX_APPARATE
+ EndBlock
+ Wait 0x003c
+ CallWithArg sub_0806DA1C, 0x00000009
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/outro/script_Npc4EMinishPortalClosing.inc b/data/scripts/cutscene/outro/script_Npc4EMinishPortalClosing.inc
new file mode 100644
index 00000000..6abb3708
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_Npc4EMinishPortalClosing.inc
@@ -0,0 +1,70 @@
+@ Outro NPC4E Minish Portal is closing
+SCRIPT_START script_Npc4EMinishPortalClosing
+ Call sub_0808D2CC
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000004
+ _0807E8E4_0
+ _0807E5F8 0x00000040
+ WaitForSomething2 0x00000080
+ OffsetEntityPosition 0x0000, 0xffe0
+ Call sub_0807F5C0
+ Wait 0x003c
+ CallWithArg DeleteManager36, 0x00000001
+ _0807F0C8 0x0000, 0x0000
+ Wait 0x003c
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000004
+ MessageFromTargetPos 0x165f, 0x000e
+ WaitUntilTextboxCloses
+ StartPlayerScript script_PlayerAtEzlo
+ WaitForSomething2 0x00000001
+ MessageFromTargetPos 0x1660, 0x000e
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000004
+ MessageFromTargetPos 0x1661, 0x000e
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000008
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000004
+ OffsetEntityPosition 0x0000, 0x0020
+ Call sub_0807F5C0
+ WaitForSomething2 0x00000010
+ StartPlayerScript script_PlayerGetGreenCap
+ WaitForSomething2 0x00000001
+ Wait 0x003c
+ MessageFromTargetPos 0x1662, 0x000e
+ WaitUntilTextboxCloses
+ MessageFromTargetPos 0x1663, 0x000e
+ WaitUntilTextboxCloses
+ OffsetEntityPosition 0x0000, 0xffe0
+ Call sub_0807F5C0
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000004
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000004
+ StartPlayerScript script_PlayerSayGoodbye
+ WaitForSomething2 0x00000001
+ Wait 0x003c
+ MessageFromTargetPos 0x1665, 0x000e
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000004
+ Wait 0x0078
+ Call sub_0808D280
+ Wait 0x0078
+ _0807E778 0x0004
+ DoFade5
+ WaitFor_2
+ Call sub_0807FB94 @ Roll Credits
+ MoveEntityToPlayer
+ Call sub_0807F844
+ _0807F0B4 0x0004
+ CameraTargetPlayer
+ _0807E5F8 0x80000000
+ DoFade4
+ WaitFor_2
+ Call sub_0807DF50
+ _0807E878
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/outro/script_Npc4EMinishWoods.inc b/data/scripts/cutscene/outro/script_Npc4EMinishWoods.inc
new file mode 100644
index 00000000..f63a9c53
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_Npc4EMinishWoods.inc
@@ -0,0 +1,20 @@
+@ Outro NPC4E Minish Woods
+SCRIPT_START script_Npc4EMinishWoods
+ BeginBlock
+ _0807E864
+ Call sub_0807DF28
+ SetEntityPositionRelative 0x0378, 0x0178
+ Call sub_0807F844
+ EndBlock
+ Wait 0x003c
+ _0807E5F8 0x00000001
+ Wait 0x001e
+ _0807E5F8 0x00000002
+ Wait 0x0014
+ _0807E5F8 0x00000004
+ Wait 0x000a
+ _0807E5F8 0x00000008
+ Wait 0x003c
+ CallWithArg sub_0806DA1C, 0x0000000d
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/outro/script_Npc4EMtCrenel.inc b/data/scripts/cutscene/outro/script_Npc4EMtCrenel.inc
new file mode 100644
index 00000000..1ae3df45
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_Npc4EMtCrenel.inc
@@ -0,0 +1,20 @@
+@ Outro NPC4E Mt. Crenel
+SCRIPT_START script_Npc4EMtCrenel
+ BeginBlock
+ _0807E864
+ Call sub_0807DF28
+ SetEntityPositionRelative 0x0128, 0x0058
+ Call sub_0807F844
+ EndBlock
+ Wait 0x003c
+ _0807E5F8 0x00000001
+ Wait 0x000a
+ _0807E5F8 0x00000002
+ Wait 0x0014
+ _0807E5F8 0x00000004
+ Wait 0x001e
+ _0807E5F8 0x00000008
+ Wait 0x003c
+ CallWithArg sub_0806DA1C, 0x0000000e
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/outro/script_Npc4EOutro.inc b/data/scripts/cutscene/outro/script_Npc4EOutro.inc
new file mode 100644
index 00000000..d05b8ba4
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_Npc4EOutro.inc
@@ -0,0 +1,64 @@
+@ Outro NPC4E
+SCRIPT_START script_Npc4EOutro
+ BeginBlock
+ _0807E864
+ Call sub_0807DF28
+ SetEntityPositionRelative 0x0088, 0x0080
+ Call sub_0807F844
+ _0807E8E4_3
+ CallWithArg sub_0807F75C, 0x00a80088
+ EndBlock
+ Wait 0x003c
+ StartPlayerScript script_PlayerAtOutro
+ WaitForSomething2 0x00000001
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000080
+ MessageFromTargetPos 0x1659, 0x0000
+ WaitUntilTextboxCloses
+ Wait 0x003c
+ _0807E5F8 0x00000010
+ WaitForSomething2 0x00000200
+ _0807E5F8 0x00000004
+ _0807E8E4_0
+ WaitForSomething2 0x00000080
+ _0807E5F8 0x00000010
+ WaitForSomething2 0x00000200
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000040
+ _0807E5F8 0x00000004
+ Call sub_0807F3F8
+ WaitForSomething2 0x00000080
+ MessageFromTargetPos 0x165a, 0x000e
+ WaitUntilTextboxCloses
+ Wait 0x003c
+ MessageFromTargetPos 0x165b, 0x000e
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000040
+ _0807E5F8 0x00000008
+ WaitForSomething2 0x00000100
+ Wait 0x003c
+ _0807E8E4_3
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000080
+ Wait 0x003c
+ _0807E5F8 0x00000008
+ WaitForSomething2 0x00000100
+ _0807E5F8 0x00000006
+ WaitForSomething2 0x000000c0
+ MessageFromTargetPos 0x165c, 0x000e
+ WaitUntilTextboxCloses
+ StopBgm
+ MessageFromTargetPos 0x165d, 0x000e
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000006
+ WaitForSomething2 0x000000c0
+ _0807E5F8 0x00000006
+ WaitForSomething2 0x00000080
+ _0807E5F8 0x00000008
+ WaitForSomething2 0x00000100
+ PlayBgm BGM_INTRO_CUTSCENE
+ PlaySound SFX_APPARATE
+ CallWithArg sub_0806DA1C, 0x00000007
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/outro/script_Npc4ESanctuaryEntrance.inc b/data/scripts/cutscene/outro/script_Npc4ESanctuaryEntrance.inc
new file mode 100644
index 00000000..a9f2a329
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_Npc4ESanctuaryEntrance.inc
@@ -0,0 +1,13 @@
+@ Outro NPC4E DHC Fix Sanctuary entrance
+SCRIPT_START script_Npc4ESanctuaryEntrance
+ BeginBlock
+ _0807E864
+ Call sub_0807DF28
+ SetEntityPositionRelative 0x0088, 0x0148
+ Call sub_0807F844
+ EndBlock
+ Wait 0x003c
+ PlaySound SFX_EVAPORATE
+ CallWithArg sub_0806DA1C, 0x0000000f
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/outro/script_Npc4EUnfreezeCastleStaff.inc b/data/scripts/cutscene/outro/script_Npc4EUnfreezeCastleStaff.inc
new file mode 100644
index 00000000..e85a727a
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_Npc4EUnfreezeCastleStaff.inc
@@ -0,0 +1,32 @@
+@ Outro NPC4E Unfreeze castle staff
+SCRIPT_START script_Npc4EUnfreezeCastleStaff
+ BeginBlock
+ _0807E864
+ Call sub_0807DF28
+ SetEntityPositionRelative 0x00f8, 0x01b8
+ Call sub_0807F844
+ EndBlock
+ Wait 0x003c
+ PlaySound SFX_EVAPORATE
+ _0807E778 0x0004
+ DoFade7
+ WaitFor_2
+ _0807E5F8 0x00000001
+ PlaySound SFX_APPARATE
+ _0807E778 0x0002
+ DoFade6
+ WaitFor_2
+ Wait 0x001e
+ _0807E5F8 0x00000002
+ Wait 0x0014
+ _0807E5F8 0x00000004
+ Wait 0x000a
+ _0807E5F8 0x00000008
+ Wait 0x0005
+ _0807E5F8 0x00000010
+ Wait 0x0002
+ _0807E5F8 0x00000020
+ Wait 0x0078
+ CallWithArg sub_0806DA1C, 0x0000000c
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/outro/script_Object6AEzloDismounting.inc b/data/scripts/cutscene/outro/script_Object6AEzloDismounting.inc
new file mode 100644
index 00000000..200d28b9
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_Object6AEzloDismounting.inc
@@ -0,0 +1,11 @@
+@ Outro OBJECT_6A Ezlo moving from Links head
+SCRIPT_START script_Object6AEzloDismounting
+ BeginBlock
+ DoPostScriptAction 0x0007
+ DoPostScriptAction 0x000b
+ CallWithArg sub_0807F994, 0x0000fff8
+ EndBlock
+ WaitForSomething 0x00000800
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/outro/script_Object6AEzloFinalMagic.inc b/data/scripts/cutscene/outro/script_Object6AEzloFinalMagic.inc
new file mode 100644
index 00000000..8deeaa16
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_Object6AEzloFinalMagic.inc
@@ -0,0 +1,13 @@
+@ Outro OBJECT_6A Ezlo final magic shrinking
+SCRIPT_START script_Object6AEzloFinalMagic
+ BeginBlock
+ DoPostScriptAction 0x0007
+ DoPostScriptAction 0x000b
+ CallWithArg sub_0807F994, 0x0000fff8
+ PlaySound SFX_SPARKLES
+ EndBlock
+ WaitForSomething 0x00000020
+ PlaySound SFX_143
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/outro/script_Object6AMinishCapOutro.inc b/data/scripts/cutscene/outro/script_Object6AMinishCapOutro.inc
new file mode 100644
index 00000000..c53774ad
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_Object6AMinishCapOutro.inc
@@ -0,0 +1,31 @@
+@ Outro OBJECT_6A Minish Cap
+SCRIPT_START script_Object6AMinishCapOutro
+ BeginBlock
+ SetEntitySpeed 0x0080
+ DoPostScriptAction 0x0007
+ DoPostScriptAction 0x000b
+ _0807E930 0x0005
+ Call sub_0807F348
+ EndBlock
+ WaitForSomething2 0x00000008
+ PlaySound SFX_SPARKLES
+ _0807E610 0x00000800
+ CallWithArg sub_080960C4, script_Object6AEzloDismounting
+ _0807E930 0x0002
+ Call sub_08094B0C
+ _0807EDD4 0x0068, 0x0088
+ Call sub_08094B80
+ _0807E5F8 0x00000100
+ WaitForSomething2 0x00000008
+ Call sub_08094B3C
+ _0807E930 0x0004
+ _0807E5F8 0x00000800
+ PlaySound SFX_143
+ _0807E5F8 0x00000100
+ WaitForSomething2 0x00000008
+ DoPostScriptAction 0x0008
+ Call sub_080961B0
+ PlaySound SFX_FA
+ Wait 0x003c
+ _0807E5F8 0x00000100
+SCRIPT_END
diff --git a/data/scripts/cutscene/outro/script_Object6AOctorok1.inc b/data/scripts/cutscene/outro/script_Object6AOctorok1.inc
new file mode 100644
index 00000000..357948d8
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_Object6AOctorok1.inc
@@ -0,0 +1,12 @@
+@ Outro OBJECT_6A Octorok 1
+SCRIPT_START script_Object6AOctorok1
+ BeginBlock
+ _0807EB44 0x0002
+ DoPostScriptAction 0x0007
+ _0807E930 0x0001
+ EndBlock
+ WaitForSomething2 0x00000001
+ Call CreateDust
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/outro/script_Object6AOctorok2.inc b/data/scripts/cutscene/outro/script_Object6AOctorok2.inc
new file mode 100644
index 00000000..1d821ef4
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_Object6AOctorok2.inc
@@ -0,0 +1,12 @@
+@ Outro OBJECT_6A Octorok 2
+SCRIPT_START script_Object6AOctorok2
+ BeginBlock
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0007
+ _0807E930 0x0002
+ EndBlock
+ WaitForSomething2 0x00000002
+ Call CreateDust
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/outro/script_Object6AOctorok3.inc b/data/scripts/cutscene/outro/script_Object6AOctorok3.inc
new file mode 100644
index 00000000..4a40f72b
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_Object6AOctorok3.inc
@@ -0,0 +1,12 @@
+@ Outro OBJECT_6A Octorok 3
+SCRIPT_START script_Object6AOctorok3
+ BeginBlock
+ _0807EB44 0x0000
+ DoPostScriptAction 0x0007
+ _0807E930 0x0000
+ EndBlock
+ WaitForSomething2 0x00000004
+ Call CreateDust
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/outro/script_Object6AOctorok4.inc b/data/scripts/cutscene/outro/script_Object6AOctorok4.inc
new file mode 100644
index 00000000..1c305c02
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_Object6AOctorok4.inc
@@ -0,0 +1,12 @@
+@ Outro OBJECT_6A Octorok 4
+SCRIPT_START script_Object6AOctorok4
+ BeginBlock
+ _0807EB44 0x0006
+ DoPostScriptAction 0x0007
+ _0807E930 0x0003
+ EndBlock
+ WaitForSomething2 0x00000008
+ Call CreateDust
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/outro/script_Object6ATektite1.inc b/data/scripts/cutscene/outro/script_Object6ATektite1.inc
new file mode 100644
index 00000000..347784db
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_Object6ATektite1.inc
@@ -0,0 +1,12 @@
+@ Outro OBJECT_6A Tektite 1
+SCRIPT_START script_Object6ATektite1
+ BeginBlock
+ _0807EB44 0x0002
+ DoPostScriptAction 0x0007
+ _0807E930 0x0000
+ EndBlock
+ WaitForSomething2 0x00000001
+ Call CreateDust
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/outro/script_Object6ATektite2.inc b/data/scripts/cutscene/outro/script_Object6ATektite2.inc
new file mode 100644
index 00000000..e9ef6154
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_Object6ATektite2.inc
@@ -0,0 +1,12 @@
+@ Outro OBJECT_6A Tektite 2
+SCRIPT_START script_Object6ATektite2
+ BeginBlock
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0007
+ _0807E930 0x0000
+ EndBlock
+ WaitForSomething2 0x00000002
+ Call CreateDust
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/outro/script_Object6ATektite3.inc b/data/scripts/cutscene/outro/script_Object6ATektite3.inc
new file mode 100644
index 00000000..eb0f4191
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_Object6ATektite3.inc
@@ -0,0 +1,12 @@
+@ Outro OBJECT_6A Tektite 3
+SCRIPT_START script_Object6ATektite3
+ BeginBlock
+ _0807EB44 0x0000
+ DoPostScriptAction 0x0007
+ _0807E930 0x0000
+ EndBlock
+ WaitForSomething2 0x00000004
+ Call CreateDust
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/outro/script_Object6ATektite4.inc b/data/scripts/cutscene/outro/script_Object6ATektite4.inc
new file mode 100644
index 00000000..a26b1514
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_Object6ATektite4.inc
@@ -0,0 +1,12 @@
+@ Outro OBJECT_6A Tektite 4
+SCRIPT_START script_Object6ATektite4
+ BeginBlock
+ _0807EB44 0x0006
+ DoPostScriptAction 0x0007
+ _0807E930 0x0000
+ EndBlock
+ WaitForSomething2 0x00000008
+ Call CreateDust
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/outro/script_Object6ATheLittleHat.inc b/data/scripts/cutscene/outro/script_Object6ATheLittleHat.inc
new file mode 100644
index 00000000..06d0d8c7
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_Object6ATheLittleHat.inc
@@ -0,0 +1,16 @@
+@ Outro OBJECT_6A The Little Hat (Green)
+SCRIPT_START script_Object6ATheLittleHat
+ BeginBlock
+ SetEntitySpeed 0x0080
+ DoPostScriptAction 0x0007
+ DoPostScriptAction 0x000b
+ _0807E930 0x0000
+ EndBlock
+ WaitForSomething2 0x00000008
+ Call sub_08094B80
+ _0807EF3C 0x0000, 0x0001
+ _0807E5F8 0x00000010
+ WaitForSomething2 0x00000008
+ DoPostScriptAction 0x0008
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/outro/script_Object6AZeldaMagic.inc b/data/scripts/cutscene/outro/script_Object6AZeldaMagic.inc
new file mode 100644
index 00000000..f7a0d74e
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_Object6AZeldaMagic.inc
@@ -0,0 +1,11 @@
+@ Outro OBJECT_6A Zelda glowing?
+SCRIPT_START script_Object6AZeldaMagic
+ BeginBlock
+ DoPostScriptAction 0x0007
+ DoPostScriptAction 0x000b
+ CallWithArg sub_0807F994, 0x0000fff8
+ EndBlock
+ WaitForSomething 0x00001000
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/outro/script_PlayerAtEzlo.inc b/data/scripts/cutscene/outro/script_PlayerAtEzlo.inc
new file mode 100644
index 00000000..9e72802e
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_PlayerAtEzlo.inc
@@ -0,0 +1,11 @@
+@ Outro Player move to Ezlo
+SCRIPT_START script_PlayerAtEzlo
+ BeginBlock
+ SetEntitySpeed 0x0100
+ EndBlock
+ _0807EDD4 0x0088, 0x0080
+ _0807EB44 0x0000
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000001
+ Call sub_080791BC
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/outro/script_PlayerAtOutro.inc b/data/scripts/cutscene/outro/script_PlayerAtOutro.inc
new file mode 100644
index 00000000..c96f4435
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_PlayerAtOutro.inc
@@ -0,0 +1,14 @@
+@ Player at Outro
+SCRIPT_START script_PlayerAtOutro
+ EndBlock
+ _0807EB44 0x0002
+ Wait 0x000a
+ _0807EB44 0x0006
+ Wait 0x000a
+ _0807EB44 0x0002
+ Wait 0x000a
+ _0807EB44 0x0006
+ Wait 0x000a
+ _0807E5F8 0x00000001
+ Call sub_080791BC
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/outro/script_PlayerGetGreenCap.inc b/data/scripts/cutscene/outro/script_PlayerGetGreenCap.inc
new file mode 100644
index 00000000..1d626969
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_PlayerGetGreenCap.inc
@@ -0,0 +1,26 @@
+@ Outro Player got the green cap
+SCRIPT_START script_PlayerGetGreenCap
+ BeginBlock
+ Call sub_08094BE0
+ CallWithArg sub_0807F238, 0x0000045b
+ PlaySound SFX_109
+ EndBlock
+ Call sub_0807F304
+ Wait 0x005a
+ _0807E5F8 0x00000008
+ BeginBlock
+ CallWithArg sub_0807F6F8, 0x00000008
+ CallWithArg sub_0807F238, 0x000008e4
+ EndBlock
+ Call sub_0807F304
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0000
+ Wait 0x003c
+ _0807EB44 0x0002
+ DoPostScriptAction 0x0000
+ Wait 0x0004
+ _0807EB44 0x0000
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000001
+ Call sub_080791BC
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/outro/script_PlayerSayGoodbye.inc b/data/scripts/cutscene/outro/script_PlayerSayGoodbye.inc
new file mode 100644
index 00000000..9e6c305d
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_PlayerSayGoodbye.inc
@@ -0,0 +1,10 @@
+@ Outro Player goes to say goodbye to Minish Ezlo
+SCRIPT_START script_PlayerSayGoodbye
+ BeginBlock
+ SetEntitySpeed 0x0080
+ EndBlock
+ _0807EC64 0x0020
+ _0807EB44 0x0000
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000001
+ Call sub_080791BC
diff --git a/data/scripts/cutscene/outro/script_ZeldaGoodbye.inc b/data/scripts/cutscene/outro/script_ZeldaGoodbye.inc
new file mode 100644
index 00000000..244494f8
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_ZeldaGoodbye.inc
@@ -0,0 +1,16 @@
+@ Outro Zelda after fixing everything
+SCRIPT_START script_ZeldaGoodbye
+ BeginBlock
+ SetEntitySpeed 0x0080
+ DoPostScriptAction 0x0007
+ DoPostScriptAction 0x000b
+ _0807EB44 0x0002
+ DoPostScriptAction 0x0000
+ EndBlock
+ WaitForSomething2 0x00000040
+ _0807EB44 0x0000
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000080
+ WaitForSomething2 0x80000000
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/outro/script_ZeldaOutro.inc b/data/scripts/cutscene/outro/script_ZeldaOutro.inc
new file mode 100644
index 00000000..77e64220
--- /dev/null
+++ b/data/scripts/cutscene/outro/script_ZeldaOutro.inc
@@ -0,0 +1,61 @@
+@ Outro Zelda
+SCRIPT_START script_ZeldaOutro
+ BeginBlock
+ SetEntitySpeed 0x0100
+ DoPostScriptAction 0x0007
+ DoPostScriptAction 0x000b
+ _0807EB44 0x0002
+ DoPostScriptAction 0x0000
+ EndBlock
+ WaitForSomething2 0x00000004
+ BeginBlock
+ DoPostScriptAction 0x0004
+ Call sub_0807F3F8
+ EndBlock
+ Wait 0x003c
+ _0807EC94 0x0010
+ _0807EB44 0x0002
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000080
+ WaitForSomething2 0x00000004
+ _0807EB44 0x0000
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000080
+ WaitForSomething2 0x00000004
+ DoPostScriptAction 0x0004
+ Wait 0x003c
+ _0807E5F8 0x00000080
+ WaitForSomething2 0x00000004
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0000
+ PlaySound SFX_SPARKLES
+ CallWithArg sub_080960C4, script_Object6AZeldaMagic
+ _0807E5F8 0x00000080
+ WaitForSomething2 0x00000004
+ PlaySound SFX_143
+ _0807E5F8 0x00001000
+ _0807E5F8 0x00000080
+ WaitForSomething2 0x00000004
+ Call sub_08066E68
+ _0807E5F8 0x00000080
+ WaitForSomething2 0x00000004
+ PlaySound SFX_SPARKLES
+ CallWithArg sub_080960C4, script_EzloZeldaMagic
+ Wait 0x0078
+ PlaySound SFX_153
+ CallWithArg sub_0807FADC, 0x00000003
+ Wait 0x000f
+ PlaySound SFX_153
+ CallWithArg sub_0807FADC, 0x00000003
+ Wait 0x000f
+ PlaySound SFX_153
+ CallWithArg sub_0807FADC, 0x00000003
+ Wait 0x003c
+ PlaySound SFX_153
+ CallWithArg sub_0807FADC, 0x00000001
+ PlaySound SFX_143
+ _0807E5F8 0x00000080
+ WaitForSomething2 0x00000004
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/reveal/script_08013494.inc b/data/scripts/cutscene/reveal/script_08013494.inc
new file mode 100644
index 00000000..a383f68b
--- /dev/null
+++ b/data/scripts/cutscene/reveal/script_08013494.inc
@@ -0,0 +1,19 @@
+@ Something during Sanctuary Vaati cutscene? Called from script_VaatiSanctuary
+SCRIPT_START script_08013494
+ BeginBlock
+ _0807E930 0x0000
+ SetEntitySpeed 0x0200
+ Call nullsub_527
+ Call sub_08094B80
+ EndBlock
+ Wait 0x005a
+ Call sub_08094B6C
+ _0807EDD4 0x0098, 0x0080
+ BeginBlock
+ Call sub_08094B80
+ PlaySound SFX_1CC
+ Call sub_0807F36C
+ _0807E5F8 0x00000080
+ EndBlock
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/reveal/script_FakeKingDaltus.inc b/data/scripts/cutscene/reveal/script_FakeKingDaltus.inc
new file mode 100644
index 00000000..5c5a8d48
--- /dev/null
+++ b/data/scripts/cutscene/reveal/script_FakeKingDaltus.inc
@@ -0,0 +1,15 @@
+@ Sanctuary King Daltus
+SCRIPT_START script_FakeKingDaltus
+ BeginBlock
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0007
+ DoPostScriptAction 0x000b
+ Call sub_0807F338
+ EndBlock
+ WaitForSomething2 0x00000008
+ Call sub_08061F94
+ Wait 0x000a
+ _0807E5F8 0x00000010
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/reveal/script_Object3EPictureBackRoom.inc b/data/scripts/cutscene/reveal/script_Object3EPictureBackRoom.inc
new file mode 100644
index 00000000..15048906
--- /dev/null
+++ b/data/scripts/cutscene/reveal/script_Object3EPictureBackRoom.inc
@@ -0,0 +1,72 @@
+@ Sanctuary OBJECT_3E Look at picture in back room
+SCRIPT_START script_Object3EPictureBackRoom
+ CheckPlayerInRegion 0x0098, 0x0038, 0x2060
+ JumpIfNot script_Object3EPictureBackRoom
+ _0807E864
+ Call sub_0807F9A4
+ Call sub_0807DF28
+ StartPlayerScript script_PlayerAtPicture
+ WaitForSomething2 0x00000002
+ _0807EB28 0x1601
+ WaitUntilTextboxCloses
+ StartPlayerScript script_PlayerMoveToPicture
+ WaitForSomething2 0x00000002
+ _0807E778 0x0004
+ DoFade5
+ WaitFor_2
+ LoadRoomEntityList gUnk_080F5680
+ StartPlayerScript script_PlayerSanctuaryIntro
+ WaitForSomething2 0x00000002
+ MoveEntityToPlayer
+ OffsetEntityPosition 0x0000, 0xfff0
+ Call sub_0807F844
+ CameraTargetEntity
+ Call sub_080536B8
+ _0807E864
+ Call sub_0807DF28
+ WaitFor_2
+ MessageFromTargetPos 0x1602, 0x000c
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000008
+ WaitForSomething2 0x00000010
+ _0807E5F8 0x00000020
+ WaitForSomething2 0x00000040
+ PlayBgm BGM_VAATI_THEME
+ StartPlayerScript script_PlayerDistanceFromVaati
+ WaitForSomething2 0x00000002
+ _0807E5F8 0x00000020
+ WaitForSomething2 0x00000040
+ StartPlayerScript script_PlayerFaintAgain
+ _0807E5F8 0x00000020
+ WaitForSomething2 0x00000042
+ MessageFromTargetPos 0x1603, 0x000c
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000020
+ WaitForSomething2 0x00000040
+ SetFadeMask 0xffff7fff
+ _0807E778 0x0004
+ DoFade5
+ WaitFor_2
+ StopBgm
+ _0807E858 0x0000
+ Wait 0x003c
+ CameraTargetPlayer
+ Call sub_0807F5C0
+ MessageFromTargetPos 0x1604, 0x0007
+ WaitUntilTextboxCloses
+ SetFadeMask 0xffffffff
+ _0807E778 0x0004
+ DoFade4
+ WaitFor_2
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000002
+ _0807EB28 0x1605
+ WaitUntilTextboxCloses
+ SetLocalFlag 0x0078
+ PlayBgm BGM_CASTLE_COLLAPSE
+ SetGlobalFlag 0x005d
+ Call sub_0807DF50
+ _0807E878
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/reveal/script_PlayerAtPicture.inc b/data/scripts/cutscene/reveal/script_PlayerAtPicture.inc
new file mode 100644
index 00000000..9651271d
--- /dev/null
+++ b/data/scripts/cutscene/reveal/script_PlayerAtPicture.inc
@@ -0,0 +1,12 @@
+@ Player in Sanctuary at picture
+SCRIPT_START script_PlayerAtPicture
+ BeginBlock
+ SetEntitySpeed 0x0080
+ EndBlock
+ DoPostScriptAction 0x0001
+ _0807EDD4 0x0098, 0x0058
+ _0807EB44 0x0000
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000002
+ Call sub_080791BC
+SCRIPT_END
diff --git a/data/scripts/cutscene/reveal/script_PlayerDistanceFromVaati.inc b/data/scripts/cutscene/reveal/script_PlayerDistanceFromVaati.inc
new file mode 100644
index 00000000..fa626ffc
--- /dev/null
+++ b/data/scripts/cutscene/reveal/script_PlayerDistanceFromVaati.inc
@@ -0,0 +1,14 @@
+@ Sanctuary Player move back from Vaati
+SCRIPT_START script_PlayerDistanceFromVaati
+ BeginBlock
+ SetEntitySpeed 0x0080
+ DoPostScriptAction 0x000d
+ EndBlock
+ DoPostScriptAction 0x0001
+ _0807ECC4 0x0020
+ DoPostScriptAction 0x0000
+ DoPostScriptAction 0x000c
+ _0807E5F8 0x00000002
+ Call sub_080791BC
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/reveal/script_PlayerFaintAgain.inc b/data/scripts/cutscene/reveal/script_PlayerFaintAgain.inc
new file mode 100644
index 00000000..2a7d728c
--- /dev/null
+++ b/data/scripts/cutscene/reveal/script_PlayerFaintAgain.inc
@@ -0,0 +1,17 @@
+@ Sanctuary Player faint from Vaati attack
+SCRIPT_START script_PlayerFaintAgain
+ Call sub_0807F1C4
+ Call sub_0807F2D4
+ Call sub_0807F1E8
+ Call sub_0807F2D4
+ _0807E5F8 0x00000002
+ WaitForSomething2 0x00000004
+ PlaySound SFX_PLY_JUMP
+ _0807EB44 0x0004
+ Call sub_0807F210
+ _0807EF3C 0x0200, 0x0020
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000002
+ Call sub_080791BC
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/reveal/script_PlayerMoveToPicture.inc b/data/scripts/cutscene/reveal/script_PlayerMoveToPicture.inc
new file mode 100644
index 00000000..7a621543
--- /dev/null
+++ b/data/scripts/cutscene/reveal/script_PlayerMoveToPicture.inc
@@ -0,0 +1,12 @@
+@ Player in Sanctuary move towards picture
+SCRIPT_START script_PlayerMoveToPicture
+ BeginBlock
+ SetEntitySpeed 0x0080
+ EndBlock
+ DoPostScriptAction 0x0001
+ _0807EC64 0x0020
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000002
+ Call sub_080791BC
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/reveal/script_VaatiSanctuary.inc b/data/scripts/cutscene/reveal/script_VaatiSanctuary.inc
new file mode 100644
index 00000000..a45f9d55
--- /dev/null
+++ b/data/scripts/cutscene/reveal/script_VaatiSanctuary.inc
@@ -0,0 +1,35 @@
+@ Sanctuary Vaati
+SCRIPT_START script_VaatiSanctuary
+ BeginBlock
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0008
+ DoPostScriptAction 0x000b
+ Call sub_0807F338
+ EndBlock
+ WaitForSomething2 0x00000020
+ SetEntityPositionRelative 0x0098, 0x0048
+ Call sub_08066C94
+ Wait 0x00e9
+ DoPostScriptAction 0x0007
+ _0807E5F8 0x00000040
+ WaitForSomething2 0x00000020
+ Wait 0x003c
+ DoPostScriptAction 0x0014
+ PlaySound SFX_CHARGING_UP
+ CallWithArg sub_08095420, script_08013494
+ Wait 0x005a
+ DoPostScriptAction 0x0016
+ WaitForSomething2 0x00000080
+ _0807E5F8 0x00000040
+ WaitForSomething2 0x00000020
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000040
+ WaitForSomething2 0x00000020
+ Call sub_08066CA4
+ DoPostScriptAction 0x0008
+ Wait 0x0078
+ _0807E5F8 0x00000040
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/takeover/script_GuardTakeover.inc b/data/scripts/cutscene/takeover/script_GuardTakeover.inc
new file mode 100644
index 00000000..fb77a159
--- /dev/null
+++ b/data/scripts/cutscene/takeover/script_GuardTakeover.inc
@@ -0,0 +1,19 @@
+@ Western Wood Cutscene Guard
+SCRIPT_START script_GuardTakeover
+ BeginBlock
+ SetEntitySpeed 0x0080
+ _0807EB44 0x0000
+ _0807E930 0x0000
+ EndBlock
+ WaitForSomething 0x00000040
+ _0807E930 0x0004
+ _0807EC64 0x00c0
+ _0807E930 0x0000
+ Wait 0x003c
+ _0807E5F8 0x00000080
+ WaitForSomething 0x00000200
+ DoPostScriptAction 0x0005
+ WaitForSomething 0x00000400
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/takeover/script_KingDaltusTakeover.inc b/data/scripts/cutscene/takeover/script_KingDaltusTakeover.inc
new file mode 100644
index 00000000..b9b72d11
--- /dev/null
+++ b/data/scripts/cutscene/takeover/script_KingDaltusTakeover.inc
@@ -0,0 +1,27 @@
+@ Western Wood Cutscene King Daltus
+SCRIPT_START script_KingDaltusTakeover
+ BeginBlock
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0000
+ EndBlock
+ WaitForSomething2 0x00000004
+ DoPostScriptAction 0x0004
+ Wait 0x003c
+ MessageNoOverlap 0x1319
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000008
+ WaitForSomething2 0x00000004
+ MessageNoOverlap 0x131a
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000008
+ WaitForSomething2 0x00000004
+ MessageNoOverlap 0x131d
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000008
+ WaitForSomething2 0x00000004
+ MessageNoOverlap 0x131e
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000008
+ WaitForSomething 0x00000400
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/takeover/script_MinisterPothoTakeover.inc b/data/scripts/cutscene/takeover/script_MinisterPothoTakeover.inc
new file mode 100644
index 00000000..850184e6
--- /dev/null
+++ b/data/scripts/cutscene/takeover/script_MinisterPothoTakeover.inc
@@ -0,0 +1,15 @@
+@ Western Wood Cutscene Minister Potho
+SCRIPT_START script_MinisterPothoTakeover
+ BeginBlock
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0000
+ EndBlock
+ WaitForSomething2 0x00000001
+ MessageNoOverlap 0x131c
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000002
+ WaitForSomething 0x00000200
+ DoPostScriptAction 0x0005
+ WaitForSomething 0x00000400
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/takeover/script_Object69Takeover.inc b/data/scripts/cutscene/takeover/script_Object69Takeover.inc
new file mode 100644
index 00000000..8dc1eaf9
--- /dev/null
+++ b/data/scripts/cutscene/takeover/script_Object69Takeover.inc
@@ -0,0 +1,53 @@
+@ Western Wood OBJECT_69 Cutscene
+SCRIPT_START script_Object69Takeover
+ BeginBlock
+ SetEntitySpeed 0x0080
+ EndBlock
+script_08015BF0:
+ CheckPlayerInRegion 0x0160, 0x0020, 0x3040
+ JumpIfNot script_08015BF0
+ _0807E864
+ Call sub_0807F9A4
+ Call sub_0807DF28
+ Call sub_0807FBC4
+ StartPlayerScript script_PlayerAtTakeover
+ WaitForSomething2 0x00000100
+ CameraTargetPlayer
+ _0807E778 0x0004
+ _0807E80C 0x00000000
+ WaitFor_2
+ StopBgm
+ Call sub_08053BE8
+ BeginBlock
+ _0807E864
+ Call sub_0807FBC4
+ CameraTargetPlayer
+ _0807E778 0x0100
+ DoFade4
+ _0807E80C 0x00000000
+ EndBlock
+ _0807E778 0x0004
+ _0807E800 0x00000000
+ WaitFor_2
+ PlayBGM
+ _0807EB28 0x131f
+ WaitUntilTextboxCloses
+.ifdef JP
+ SetLocalFlag 0x009b
+.else
+.ifdef EU
+ SetLocalFlag 0x009b
+.else
+.ifdef DEMO_JP
+ SetLocalFlag 0x009b @ TODO deduplicate
+.else
+ SetLocalFlag 0x009c
+.endif
+.endif
+.endif
+ Call sub_0807FBCC
+ Call sub_0807DF50
+ _0807E878
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000
diff --git a/data/scripts/cutscene/takeover/script_Object69TakeoverCutscene.inc b/data/scripts/cutscene/takeover/script_Object69TakeoverCutscene.inc
new file mode 100644
index 00000000..61543da9
--- /dev/null
+++ b/data/scripts/cutscene/takeover/script_Object69TakeoverCutscene.inc
@@ -0,0 +1,68 @@
+@ Western Wood Cutscene OBJECT_69 in Castle
+SCRIPT_START script_Object69TakeoverCutscene
+ BeginBlock
+ _0807F0B4 0x0007
+ SetEntityPositionRelative 0x0088, 0x0068
+ CameraTargetEntity
+ EndBlock
+ _0807E778 0x0004
+ DoFade4
+ WaitFor_2
+ Wait 0x003c
+ _0807F0B4 0x0004
+ SetEntityPositionRelative 0x0088, 0x00e0
+ CameraTargetEntity
+ Wait 0x003c
+ PlayBgm BGM_VAATI_THEME
+ _0807E5F8 0x00000010
+ WaitForSomething2 0x00000020
+ _0807F0B4 0x0004
+ SetEntityPositionRelative 0x0088, 0x0070
+ CameraTargetEntity
+ Wait 0x003c
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000008
+ _0807F0B4 0x0004
+ SetEntityPositionRelative 0x0088, 0x00e0
+ CameraTargetEntity
+ Wait 0x003c
+ _0807E5F8 0x00000010
+ WaitForSomething2 0x00000020
+ _0807F0B4 0x0004
+ SetEntityPositionRelative 0x0088, 0x0070
+ CameraTargetEntity
+ Wait 0x003c
+ _0807E5F8 0x00000010
+ WaitForSomething2 0x00000020
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000008
+ _0807E5F8 0x00000010
+ WaitForSomething2 0x00000020
+ _0807E778 0x0004
+ DoFade5
+ WaitFor_2
+ _0807E5F8 0x00000010
+ LoadRoomEntityList gUnk_080FCE30
+ StopBgm
+ Wait 0x0078
+ _0807E778 0x0004
+ DoFade4
+ WaitFor_2
+ PlayBgm BGM_DIGGING_CAVE
+ _0807E5F8 0x00000040
+ WaitForSomething2 0x00000080
+ _0807E5F8 0x00000001
+ WaitForSomething2 0x00000002
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000008
+ _0807E5F8 0x00000200
+ Wait 0x003c
+ _0807E5F8 0x00000004
+ WaitForSomething2 0x00000008
+ _0807E778 0x0004
+ DoFade5
+ WaitFor_2
+ StopBgm
+ SetRoomFlag 0x0000
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/takeover/script_PlayerAtTakeover.inc b/data/scripts/cutscene/takeover/script_PlayerAtTakeover.inc
new file mode 100644
index 00000000..7e98b2b7
--- /dev/null
+++ b/data/scripts/cutscene/takeover/script_PlayerAtTakeover.inc
@@ -0,0 +1,20 @@
+@ Player at Western Wood Cutscene
+SCRIPT_START script_PlayerAtTakeover
+ BeginBlock
+ SetEntitySpeed 0x0080
+ EndBlock
+ DoPostScriptAction 0x0001
+ _0807EDD4 0x0168, 0x0058
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0000
+ CallWithArg sub_0807F238, 0x000003c5
+ Call sub_0807F304
+ MessageFromTargetPos 0x1318, 0x000c
+ WaitUntilTextboxCloses
+ CallWithArg sub_0807F238, 0x000003c9
+ Call sub_0807F304
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000100
+ Call sub_080791BC
+SCRIPT_END
diff --git a/data/scripts/cutscene/takeover/script_VaatiTakeover.inc b/data/scripts/cutscene/takeover/script_VaatiTakeover.inc
new file mode 100644
index 00000000..6762ddeb
--- /dev/null
+++ b/data/scripts/cutscene/takeover/script_VaatiTakeover.inc
@@ -0,0 +1,41 @@
+@ Western Wood Cutscene Vaati
+SCRIPT_START script_VaatiTakeover
+ BeginBlock
+ DoPostScriptAction 0x0008
+ _0807EB44 0x0004
+ DoPostScriptAction 0x0000
+ DoPostScriptAction 0x001d
+ EndBlock
+ WaitForSomething2 0x00000010
+ Call sub_08066C94
+ Wait 0x00e9
+ DoPostScriptAction 0x0007
+ DoPostScriptAction 0x001e
+ Wait 0x0014
+ _0807EB44 0x0000
+ DoPostScriptAction 0x001c
+ Call sub_0807F2D4
+ DoPostScriptAction 0x0000
+ _0807E5F8 0x00000020
+ WaitForSomething2 0x00000010
+ Call sub_08066CA4
+ DoPostScriptAction 0x0008
+ Wait 0x00bc
+ _0807E5F8 0x00000020
+ WaitForSomething2 0x00000010
+ SetEntityPositionRelative 0x0088, 0x0068
+ Call sub_08066C94
+ Wait 0x00e8
+ DoPostScriptAction 0x0007
+ DoPostScriptAction 0x001e
+ Wait 0x0014
+ _0807E5F8 0x00000020
+ WaitForSomething2 0x00000010
+ DoPostScriptAction 0x0014
+ Wait 0x001e
+ MessageNoOverlap 0x131b
+ WaitUntilTextboxCloses
+ _0807E5F8 0x00000020
+ WaitForSomething2 0x00000010
+ DoPostScriptAction 0x0006
+SCRIPT_END
diff --git a/data/scripts/cutscene/takeover/script_ZeldaStoneTakeover.inc b/data/scripts/cutscene/takeover/script_ZeldaStoneTakeover.inc
new file mode 100644
index 00000000..beea2b4a
--- /dev/null
+++ b/data/scripts/cutscene/takeover/script_ZeldaStoneTakeover.inc
@@ -0,0 +1,10 @@
+@ Western Wood Cutscene Zelda
+SCRIPT_START script_ZeldaStoneTakeover
+ BeginBlock
+ DoPostScriptAction 0x000a
+ Call sub_08066E38
+ EndBlock
+ WaitForSomething 0x00000400
+ DoPostScriptAction 0x0006
+SCRIPT_END
+ .2byte 0x0000