summary refs log tree commit diff stats
path: root/res
diff options
context:
space:
mode:
authorKelly Rauchenberger <fefferburbia@gmail.com>2021-02-10 12:11:27 -0500
committerKelly Rauchenberger <fefferburbia@gmail.com>2021-02-10 12:11:27 -0500
commit31dc0e443efc0aae48e11a0d98e699dbed5c7dcf (patch)
tree17e044698531fc1af82dddcbd144ae93d3ae0252 /res
parentfb58cb31804da7e5e40fc861927060a183962441 (diff)
downloadtanetane-31dc0e443efc0aae48e11a0d98e699dbed5c7dcf.tar.gz
tanetane-31dc0e443efc0aae48e11a0d98e699dbed5c7dcf.tar.bz2
tanetane-31dc0e443efc0aae48e11a0d98e699dbed5c7dcf.zip
Added fade out around map change
Also moved script system first in the loop so that the camera can catch up before rendering. Also added a map change from map 2 back to map 1.
Diffstat (limited to 'res')
-rw-r--r--res/maps/map1.tmx5
-rw-r--r--res/maps/map2.tmx7
-rw-r--r--res/scripts/common.lua25
-rw-r--r--res/scripts/map1_off_right.lua8
-rw-r--r--res/scripts/map2_off_left.lua3
5 files changed, 39 insertions, 9 deletions
diff --git a/res/maps/map1.tmx b/res/maps/map1.tmx index 282b2ed..8afb909 100644 --- a/res/maps/map1.tmx +++ b/res/maps/map1.tmx
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<map version="1.4" tiledversion="1.4.3" orientation="orthogonal" renderorder="right-down" width="48" height="32" tilewidth="16" tileheight="16" infinite="0" nextlayerid="4" nextobjectid="9"> 2<map version="1.4" tiledversion="1.4.3" orientation="orthogonal" renderorder="right-down" width="48" height="32" tilewidth="16" tileheight="16" infinite="0" nextlayerid="4" nextobjectid="10">
3 <tileset firstgid="1" name="fromRom" tilewidth="16" tileheight="16" tilecount="240" columns="10"> 3 <tileset firstgid="1" name="fromRom" tilewidth="16" tileheight="16" tilecount="240" columns="10">
4 <image source="map1_tiles.png" width="160" height="384"/> 4 <image source="map1_tiles.png" width="160" height="384"/>
5 <tile id="77"> 5 <tile id="77">
@@ -784,6 +784,9 @@
784 <property name="script" value="map1_off_right"/> 784 <property name="script" value="map1_off_right"/>
785 </properties> 785 </properties>
786 </object> 786 </object>
787 <object id="9" name="fromRight" type="warp" x="748.667" y="382.667">
788 <point/>
789 </object>
787 </objectgroup> 790 </objectgroup>
788 <layer id="1" name="Layer 0" width="48" height="32"> 791 <layer id="1" name="Layer 0" width="48" height="32">
789 <data encoding="csv"> 792 <data encoding="csv">
diff --git a/res/maps/map2.tmx b/res/maps/map2.tmx index 5bbe0c6..0f2e624 100644 --- a/res/maps/map2.tmx +++ b/res/maps/map2.tmx
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<map version="1.4" tiledversion="1.4.3" orientation="orthogonal" renderorder="right-down" width="64" height="64" tilewidth="16" tileheight="16" infinite="0" nextlayerid="3" nextobjectid="2"> 2<map version="1.4" tiledversion="1.4.3" orientation="orthogonal" renderorder="right-down" width="64" height="64" tilewidth="16" tileheight="16" infinite="0" nextlayerid="3" nextobjectid="3">
3 <tileset firstgid="1" name="fromRom" tilewidth="16" tileheight="16" tilecount="180" columns="10"> 3 <tileset firstgid="1" name="fromRom" tilewidth="16" tileheight="16" tilecount="180" columns="10">
4 <image source="map2_tiles.png" width="160" height="288"/> 4 <image source="map2_tiles.png" width="160" height="288"/>
5 <tile id="61"> 5 <tile id="61">
@@ -640,6 +640,11 @@
640 <object id="1" name="fromLeft" type="warp" x="16" y="364.667"> 640 <object id="1" name="fromLeft" type="warp" x="16" y="364.667">
641 <point/> 641 <point/>
642 </object> 642 </object>
643 <object id="2" name="moveToLeft" type="trigger" x="-20.3333" y="304" width="22.6667" height="91.6667">
644 <properties>
645 <property name="script" value="map2_off_left"/>
646 </properties>
647 </object>
643 </objectgroup> 648 </objectgroup>
644 <layer id="1" name="Layer 0" width="64" height="64"> 649 <layer id="1" name="Layer 0" width="64" height="64">
645 <data encoding="csv"> 650 <data encoding="csv">
diff --git a/res/scripts/common.lua b/res/scripts/common.lua index e7af1cf..f43b2e0 100644 --- a/res/scripts/common.lua +++ b/res/scripts/common.lua
@@ -38,3 +38,28 @@ end
38function StopSound(soundId) 38function StopSound(soundId)
39 mixer():stopChannel(soundId) 39 mixer():stopChannel(soundId)
40end 40end
41
42function FadeToBlack(length)
43 local progress = 0.0
44 while progress < length do
45 progress = progress + coroutine.yield()
46 setFadeoutProgress(progress / length)
47 end
48 setFadeoutProgress(1.0)
49end
50
51function RemoveFadeout(length)
52 local progress = length
53 while progress > 0 do
54 progress = progress - coroutine.yield()
55 setFadeoutProgress(progress / length)
56 end
57 setFadeoutProgress(0.0)
58end
59
60function ChangeMap(map, warp)
61 FadeToBlack(150)
62 loadMap("../res/maps/" .. map .. ".tmx", warp)
63 coroutine.yield()
64 RemoveFadeout(150)
65end
diff --git a/res/scripts/map1_off_right.lua b/res/scripts/map1_off_right.lua index 026c32e..7dd0113 100644 --- a/res/scripts/map1_off_right.lua +++ b/res/scripts/map1_off_right.lua
@@ -1,9 +1,3 @@
1function map1_off_right() 1function map1_off_right()
2 -- Because this script gets triggered within the CharacterSystem's tick method, 2 ChangeMap("map2", "fromLeft")
3 -- if we immediately cleared out the entities from the old map, we might end up
4 -- returning there and processing stale data. This yield here ensures that we
5 -- are no longer in the CharacterSystem, because processing gets picked back up
6 -- in the ScriptSystem.
7 coroutine.yield()
8 loadMap("../res/maps/map2.tmx", "fromLeft")
9end 3end
diff --git a/res/scripts/map2_off_left.lua b/res/scripts/map2_off_left.lua new file mode 100644 index 0000000..d4d9ce4 --- /dev/null +++ b/res/scripts/map2_off_left.lua
@@ -0,0 +1,3 @@
1function map2_off_left()
2 ChangeMap("map1", "fromRight")
3end