--- Scene: Classic Yoink
--- created by Neil Carter
--- converted to Lua by Charles McGarvey
+LogInfo("-----",
+ "Scene: Classic",
+ "Created by Neil Carter",
+ "Converted to Lua by Charles McGarvey",
+ "-----")
-- Scene API:
--
-- Left end tower block
--- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- Front
ResetTransform()
-Translate(-5, 0, 5)
+Translate(-5, 0, 2)
SetTexture("TowerBlock1")
DrawTilemap({
width = 5,
ResetTransform()
Rotate(Y, 90)
-Translate(0, 0, 5)
+Translate(0, 0, 2)
DrawTilemap({
width = 5,
surface = RIGHT,
ResetTransform()
Rotate(X, 90)
-Translate(-5, 15, 0)
+Translate(-5, 15, -3)
DrawTilemap({
width = 5,
surface = TOP,
3, 3, 3, 3, 3})
-- Leftmost background tower block
--- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- Front
if detail > LOW then
ResetTransform()
+ Translate(0, 0, -3)
DrawTilemap({
width = 7,
2, 2, 2, 2, 2, 2, 2,
ResetTransform()
Rotate(Y, 90)
- Translate(7, 0, 0)
+ Translate(7, 0, -3)
DrawTilemap({
width = 6,
2, 2, 2, 2, 2, 2,
ResetTransform()
Rotate(X, 90)
- Translate(-2, 8, -6)
+ Translate(-2, 8, -9)
DrawTilemap({
width = 9,
3, 3, 3, 3, 3, 3, 3, 3, 3,
end
-- Foreground building with pitched roof
--- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- Left wall
ResetTransform()
Rotate(Y, -90)
-Translate(10, 0, 1)
+Translate(10, 0, -2)
SetTexture("Building")
DrawTilemap({
width = 4,
ResetTransform()
Rotate(Y, -90)
-Translate(13, 0, 1)
+Translate(13, 0, -2)
DrawTilemap({
width = 4,
surface = RIGHT,
-- Front wall
ResetTransform()
-Translate(10, 0, 5)
+Translate(10, 0, 2)
DrawTilemap({
width = 3,
15, 7, 16,
ResetTransform()
Rotate(X, 135)
Scale(1, 1.5, 1.5)
-Translate(10, 5, 3)
+Translate(10, 5, 0)
DrawTilemap({
width = 3,
13, 13, 13,
-- Finial
ResetTransform()
-Translate(10, 5, 3)
+Translate(10, 5, -0.00001)
DrawTilemap({
width = 3,
18, 18, 18})
-- Cheaty invisible platform
+-- This draws nothing but creates a platform on the roof for walking.
ResetTransform()
-Translate(10, 4, 3)
+Rotate(X, 90)
+Translate(10, 5, 0)
DrawTilemap({
width = 3,
surface = TOP,
-1, -1, -1})
-- The ground
--- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- Courtyard
ResetTransform()
Rotate(X, 90)
-Translate(-3, 0, 0)
+Translate(-3, 0, -3)
SetTexture("Scenery")
DrawTilemap({
width = 13,
if detail > MEDIUM then
ResetTransform()
Scale(8, 1, 1)
- Translate(1, -0.5, 5)
+ Translate(1, -0.5, 2)
DrawTile({
2,
u_scale = 8})
ResetTransform()
Scale(8, 1, 1)
- Translate(1, -0.5, 1)
+ Translate(1, -0.5, -2)
DrawTile({
2,
u_scale = 8
ResetTransform()
Scale(4, 1, 1)
Rotate(Y, -90)
- Translate(1, -0.5, 1)
+ Translate(1, -0.5, -2)
DrawTile({
2,
u_scale = 4
ResetTransform()
Scale(4, 1, 1)
Rotate(Y, -90)
- Translate(9, -0.5, 1)
+ Translate(9, -0.5, -2)
DrawTile({
2,
u_scale = 4
ResetTransform()
Scale(11, 1, 1)
- Translate(7, 0, 0)
+ Translate(7, 0, -3)
DrawTile({
4,
u_scale = 11
end
-- Background building with pitched roof
--- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- Front wall
if detail > LOW then
ResetTransform()
- Translate(19, 0, 0)
+ Translate(19, 0, -3)
SetTexture("Building")
DrawTilemap({
width = 4,
ResetTransform()
Rotate(Y, -90)
- Translate(19, 0, -3)
+ Translate(19, 0, -6)
DrawTilemap({
width = 3,
15, 1, 16,
ResetTransform()
Rotate(Y, -90)
- Translate(23, 0, -3)
+ Translate(23, 0, -6)
DrawTilemap({
width = 3,
15, 0, 16,
Rotate(X, 135)
Scale(1, 1.5, 1.5)
Rotate(Y, -90)
- Translate(21, 6, -3)
+ Translate(21, 6, -6)
DrawTilemap({
width = 3,
13, 13, 13,
Rotate(X, -135)
Scale(1, 1.5, 1.5)
Rotate(Y, -90)
- Translate(21, 6, -3)
+ Translate(21, 6, -6)
DrawTilemap({
width = 3,
13, 13, 13,
ResetTransform()
Rotate(Y, -90)
- Translate(21, 6, -3)
+ Translate(21, 6, -6)
DrawTilemap({
width = 3,
18, 18, 18})
end
-- More ground to the right
--- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- Ground under house
ResetTransform()
Rotate(X, 90)
-Translate(10, 0, 0)
+Translate(10, 0, -3)
SetTexture("Scenery")
DrawTilemap({
width = 3,
ResetTransform()
Rotate(X, 90)
-Translate(13, 0, 0)
+Translate(13, 0, -3)
DrawTilemap({
width = 8,
surface = TOP,
if detail > MEDIUM then
ResetTransform()
Scale(12, 1, 1)
- Translate(14, -0.5, 5)
+ Translate(14, -0.5, 2)
DrawTile({
2,
u_scale = 12
ResetTransform()
Scale(4, 1, 1)
- Translate(14, -0.5, 1)
+ Translate(14, -0.5, -2)
DrawTile({
2,
u_scale = 4
-- Front grass next to door
ResetTransform()
- Translate(13, -0.5, 3)
+ Translate(13, -0.5, 0)
DrawTile({
2,
u_scale = 1
-- Back grass next to door
ResetTransform()
- Translate(13, -0.5, 2)
+ Translate(13, -0.5, -1)
DrawTile({
2,
u_scale = 1
ResetTransform()
Rotate(Y, -90)
- Translate(14, -0.5, 1)
+ Translate(14, -0.5, -2)
DrawTilemap({
width = 4,
2, -1, 2, 2})
ResetTransform()
Rotate(Y, -90)
- Translate(18, -0.5, 0)
+ Translate(18, -0.5, -3)
DrawTile({
2,
u_scale = 1
ResetTransform()
Rotate(Y, -90)
- Translate(24, -0.5, 0)
+ Translate(24, -0.5, -3)
DrawTile({
2,
u_scale = 1
ResetTransform()
Scale(4, 1, 1)
- Translate(19, -0.5, 4)
+ Translate(19, -0.5, 1)
DrawTile({
2,
u_scale = 4
ResetTransform()
Scale(4, 1, 1)
- Translate(19, -0.5, 2)
+ Translate(19, -0.5, -1)
DrawTile({
2,
u_scale = 4
ResetTransform()
Scale(2, 1, 1)
Rotate(Y, -90)
- Translate(19, -0.5, 2)
+ Translate(19, -0.5, -1)
DrawTile({
2,
u_scale = 2
ResetTransform()
Scale(2, 1, 1)
Rotate(Y, -90)
- Translate(23, -0.5, 2)
+ Translate(23, -0.5, -1)
DrawTile({
2,
u_scale = 2
ResetTransform()
Rotate(X, 90)
-Translate(21, 0, 0)
+Translate(21, 0, -3)
DrawTilemap({
width = 7,
surface = TOP,
if detail > MEDIUM then
ResetTransform()
Scale(4, 1, 1)
- Translate(24, 0, 0)
+ Translate(24, 0, -3)
DrawTile({
4,
u_scale = 4
ResetTransform()
Scale(4, 1, 1)
- Translate(24, -0.5, 1)
+ Translate(24, -0.5, -2)
DrawTile({
2,
u_scale = 4
ResetTransform()
Scale(2, 1, 1)
Rotate(Y, -90)
- Translate(26, -0.5, 5)
+ Translate(26, -0.5, 2)
DrawTile({
2,
u_scale = 2
ResetTransform()
Scale(2, 1, 1)
Rotate(Y, -90)
- Translate(35, -0.5, 5)
+ Translate(35, -0.5, 2)
DrawTile({
2,
u_scale = 2
ResetTransform()
Scale(5, 1, 1)
- Translate(35, -0.5, 5)
+ Translate(35, -0.5, 2)
DrawTile({
2,
u_scale = 5
ResetTransform()
Scale(6, 1, 1)
- Translate(34, -0.5, 1)
+ Translate(34, -0.5, -2)
DrawTile({
2,
u_scale = 6
ResetTransform()
Rotate(Y, -90)
- Translate(34, -0.5, 0)
+ Translate(34, -0.5, -3)
DrawTile({
2,
u_scale = 1
ResetTransform()
Rotate(X, 90)
-Translate(28, 0, 4)
+Translate(28, 0, 1)
DrawTilemap({
width = 5,
surface = TOP,
ResetTransform()
Rotate(X, 90)
-Translate(33, 0, 0)
+Translate(33, 0, -3)
DrawTilemap({
width = 10,
surface = TOP,
0, 1, 1, 1, 1, 1, 1, -1, -1, -1})
-- Right foreground tower block
--- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- Front
ResetTransform()
-Translate(28, 0, 4)
+Translate(28, 0, 1)
SetTexture("TowerBlock1")
DrawTilemap({
width = 5,
ResetTransform()
Rotate(Y, 90)
-Translate(33, 0, 4)
+Translate(33, 0, 1)
DrawTilemap({
width = 6,
surface = RIGHT,
ResetTransform()
Rotate(Y, 90)
-Translate(28, 0, 4)
+Translate(28, 0, 1)
DrawTilemap({
width = 6,
surface = LEFT,
ResetTransform()
Rotate(X, 90)
-Translate(28, 7, -2)
+Translate(28, 7, -5)
DrawTilemap({
width = 5,
surface = TOP,
3, 3, 3, 3, 3})
-- Right end tower block
--- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- Front
ResetTransform()
-Translate(40, 0, 5)
+Translate(40, 0, 2)
DrawTilemap({
width = 5,
2, 2, 2, 2, 2,
ResetTransform()
Rotate(Y, 90)
-Translate(40, 0, 5)
+Translate(40, 0, 2)
DrawTilemap({
width = 5,
surface = LEFT,
ResetTransform()
Rotate(X, 90)
-Translate(40, 15, 0)
+Translate(40, 15, -3)
DrawTilemap({
width = 5,
surface = TOP,
3, 3, 3, 3, 3})
-- Background
--- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ResetTransform()
-Translate(-0.32, -0.28, -24)
+Translate(-0.3, -0.3, -35)
Scale(105, 52, 1)
SetTexture("BackgroundFar")
DrawTile()
})
-- Trees
--- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SetTexture("Trees")
if detail > LOW then
ResetTransform()
Scale(3)
- Translate(7.75, -0.1, 0.5)
+ Translate(7.75, -0.1, -2.5)
DrawTile(1)
end
-- Center courtyard
ResetTransform()
---Translate(610, -2.5, 85)
Scale(3)
-Translate(19, -0.1, 2.5)
+Translate(19, -0.1, -0.5)
DrawTile(0)
ResetTransform()
Scale(3)
-Translate(20.25, -0.1, 3.5)
+Translate(20.25, -0.1, 0.5)
DrawTile(1)
-- Right courtyard
if detail > LOW then
ResetTransform()
Scale(3)
- Translate(34, -0.1, 0.25)
+ Translate(34, -0.1, -2.75)
DrawTile(1)
ResetTransform()
Scale(3)
- Translate(36, -0.1, -0.5)
+ Translate(36, -0.1, -3.5)
DrawTile(0)
ResetTransform()
Scale(3)
- Translate(37, -0.1, 0.75)
+ Translate(37, -0.1, -2.25)
DrawTile(1)
end
-function GetZCoord(x, y)
- return 3
-end
-
-
-- Functions:
-- DisplayText(text, seconds)
-- Yield(seconds)
-- BeginNewWave()
-- Events:
+-- Think() is called periodically
-- BadGuyDied(enemy)
--- PlayedDied(player)
--- SceneLoaded()
+-- HeroineDied(player)
-- Globals:
-- numberOfBadGuys
+--do
+ --SpawnHeroine({5, 5})
+ --local waveNum = BeginNewWave()
+ --PopulateScene(waveNum)
+--end
+
+
-- Events
---------
Event = {}
-function Event:SceneLoaded()
- SpawnHeroine({500, 500})
- local waveNum = BeginNewWave()
- PopulateScene(waveNum)
+function Event:Think()
end
function Event:BadGuyDied(enemy)
end
function RandomSpawnPlace()
- return {500, 500}
+ return {5, 5}
end
function RandomSkillLevel()
return "dumb"
end
+
+-- vim: ts=4 sw=4 tw=80
+