annotate main.lua @ 39:4feeb8cb736e

music mute added under "M"
author Makdaam
date Sun, 16 Dec 2012 14:21:51 +0100
parents 0d75bfc00f01
children 53ae6905cfff
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
0c46edeabad6 scrolling map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 0
diff changeset
1 local ATL = require("AdvTiledLoader")
0
716ff40413d2 initial commit
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
2 local anim8 = require("anim8")
716ff40413d2 initial commit
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
3 local sprite = require("sprite")
716ff40413d2 initial commit
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
4
6
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
5 local SPRITES = {}
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
6 local SHADOWS = {}
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
7 local MAP
2
0c46edeabad6 scrolling map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 0
diff changeset
8 local tx, ty = 0, 0
0c46edeabad6 scrolling map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 0
diff changeset
9 local DX = {0, 1, 0, -1}
0c46edeabad6 scrolling map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 0
diff changeset
10 local DY = {-1, 0, 1, 0}
6
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
11 local SHADOW_IMAGE
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
12 local MOBS_IMAGE
28
d4187c83c047 Allow moving between maps
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 26
diff changeset
13 local GRID = anim8.newGrid(64, 64, 256, 256)
6
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
14 local scroll_speed = 250
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
15 local scroll_margin = 64
23
d16e33662aa0 define music in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 19
diff changeset
16 local MUSIC
33
0d75bfc00f01 Don't restart music every map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 28
diff changeset
17 local LAST_MUSIC
25
8891a036fb23 Add bumping and talking
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 23
diff changeset
18 local TEXT = ""
8891a036fb23 Add bumping and talking
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 23
diff changeset
19 local SOUNDS = {}
2
0c46edeabad6 scrolling map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 0
diff changeset
20
6
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
21
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
22 function newMob(x, y, cells)
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
23 local mob = {}
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
24 mob.sprite = sprite.newSprite(
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
25 x - 32, y - 60, MOBS_IMAGE,
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
26 anim8.newAnimation('loop', GRID(cells), 0.25)
2
0c46edeabad6 scrolling map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 0
diff changeset
27 )
6
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
28 mob.shadow = sprite.newShadow(SHADOW_IMAGE, mob.sprite)
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
29 table.insert(SPRITES, mob.sprite)
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
30 table.insert(SHADOWS, mob.shadow)
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
31 return mob
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
32 end
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
33
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
34 function makeVillain(villain)
25
8891a036fb23 Add bumping and talking
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 23
diff changeset
35 villain.is_villain = true
6
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
36 function villain.sprite:walk(dt, dir)
11
b7a0c1a0e6c4 block some distance from the wall
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 10
diff changeset
37 local x = self.x + DX[dir] * 24
b7a0c1a0e6c4 block some distance from the wall
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 10
diff changeset
38 local y = self.y + DY[dir] * 16
25
8891a036fb23 Add bumping and talking
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 23
diff changeset
39 local mx, my = math.floor((x+32)/48), math.floor((y+60)/48)
8891a036fb23 Add bumping and talking
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 23
diff changeset
40 local cell = MAP.layers['control']:get(mx, my)
8891a036fb23 Add bumping and talking
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 23
diff changeset
41 local bump = false
8891a036fb23 Add bumping and talking
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 23
diff changeset
42 for i, s in pairs(SPRITES) do
8891a036fb23 Add bumping and talking
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 23
diff changeset
43 if not s.is_villain then
8891a036fb23 Add bumping and talking
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 23
diff changeset
44 local d = (x - s.x) * (x - s.x) + ((y - s.y) * (y - s.y))
8891a036fb23 Add bumping and talking
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 23
diff changeset
45 if d < 100 then
8891a036fb23 Add bumping and talking
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 23
diff changeset
46 bump = true
8891a036fb23 Add bumping and talking
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 23
diff changeset
47 if s.properties.text then
8891a036fb23 Add bumping and talking
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 23
diff changeset
48 TEXT = s.properties.text
8891a036fb23 Add bumping and talking
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 23
diff changeset
49 SOUNDS.talk:play()
8891a036fb23 Add bumping and talking
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 23
diff changeset
50 else
28
d4187c83c047 Allow moving between maps
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 26
diff changeset
51 if s.properties.exit then
d4187c83c047 Allow moving between maps
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 26
diff changeset
52 load_map(s.properties.exit)
d4187c83c047 Allow moving between maps
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 26
diff changeset
53 TEXT = s.properties.exit
d4187c83c047 Allow moving between maps
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 26
diff changeset
54 else
d4187c83c047 Allow moving between maps
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 26
diff changeset
55 SOUNDS.bump:play()
d4187c83c047 Allow moving between maps
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 26
diff changeset
56 TEXT = ""
d4187c83c047 Allow moving between maps
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 26
diff changeset
57 end
25
8891a036fb23 Add bumping and talking
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 23
diff changeset
58 end
8891a036fb23 Add bumping and talking
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 23
diff changeset
59 end
8891a036fb23 Add bumping and talking
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 23
diff changeset
60 end
8891a036fb23 Add bumping and talking
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 23
diff changeset
61 end
8891a036fb23 Add bumping and talking
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 23
diff changeset
62 if not bump and cell and cell.properties and not cell.properties.block then
11
b7a0c1a0e6c4 block some distance from the wall
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 10
diff changeset
63 self.x = self.x + DX[dir] * dt * 250
b7a0c1a0e6c4 block some distance from the wall
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 10
diff changeset
64 self.y = self.y + DY[dir] * dt * 250
3
f5de6c75c4d0 make the walls block
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 2
diff changeset
65 end
2
0c46edeabad6 scrolling map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 0
diff changeset
66 end
6
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
67 function villain.sprite:update(dt)
19
57eeed74a575 Added text
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 18
diff changeset
68 local map_w = MAP.width * MAP.tileWidth
57eeed74a575 Added text
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 18
diff changeset
69 local map_h = MAP.height * MAP.tileHeight
57eeed74a575 Added text
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 18
diff changeset
70 if love.keyboard.isDown("up") then self:walk(dt, 1) end
57eeed74a575 Added text
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 18
diff changeset
71 if love.keyboard.isDown("right") then self:walk(dt, 2) end
57eeed74a575 Added text
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 18
diff changeset
72 if love.keyboard.isDown("down") then self:walk(dt, 3) end
57eeed74a575 Added text
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 18
diff changeset
73 if love.keyboard.isDown("left") then self:walk(dt, 4) end
25
8891a036fb23 Add bumping and talking
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 23
diff changeset
74 if love.keyboard.isDown(" ") then TEXT = "" end
19
57eeed74a575 Added text
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 18
diff changeset
75 if self.x + tx < scroll_margin then
57eeed74a575 Added text
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 18
diff changeset
76 tx = math.min(tx + dt * scroll_speed, 0)
5
98ab870293bc make the villain local
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 4
diff changeset
77 else
19
57eeed74a575 Added text
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 18
diff changeset
78 if self.x + tx > 800 - 64 - scroll_margin then
57eeed74a575 Added text
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 18
diff changeset
79 tx = math.max(tx - dt * scroll_speed, 800 - map_w)
5
98ab870293bc make the villain local
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 4
diff changeset
80 end
98ab870293bc make the villain local
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 4
diff changeset
81 end
19
57eeed74a575 Added text
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 18
diff changeset
82 if self.y + ty < scroll_margin then
57eeed74a575 Added text
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 18
diff changeset
83 ty = math.min(ty + dt * scroll_speed, 0)
5
98ab870293bc make the villain local
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 4
diff changeset
84 else
19
57eeed74a575 Added text
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 18
diff changeset
85 if self.y + ty > 600 - 64 - scroll_margin then
57eeed74a575 Added text
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 18
diff changeset
86 ty = math.max(ty - dt * scroll_speed, 600 - map_h)
5
98ab870293bc make the villain local
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 4
diff changeset
87 end
98ab870293bc make the villain local
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 4
diff changeset
88 end
98ab870293bc make the villain local
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 4
diff changeset
89 sprite.Sprite.update(self, dt)
98ab870293bc make the villain local
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 4
diff changeset
90 end
2
0c46edeabad6 scrolling map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 0
diff changeset
91 return villain
0c46edeabad6 scrolling map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 0
diff changeset
92 end
0c46edeabad6 scrolling map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 0
diff changeset
93
0
716ff40413d2 initial commit
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
94 function love.load()
19
57eeed74a575 Added text
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 18
diff changeset
95 love.graphics.setFont(love.graphics.newFont('pf_tempesta_seven_extended_bold.ttf'))
6
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
96 SHADOW_IMAGE = love.graphics.newImage('shadow.png')
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
97 MOBS_IMAGE = love.graphics.newImage('mobs.png')
25
8891a036fb23 Add bumping and talking
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 23
diff changeset
98 SOUNDS.bump = love.audio.newSource('bump.xm', 'static')
8891a036fb23 Add bumping and talking
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 23
diff changeset
99 SOUNDS.talk = love.audio.newSource('talk.xm', 'static')
19
57eeed74a575 Added text
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 18
diff changeset
100 load_map('level01.tmx')
57eeed74a575 Added text
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 18
diff changeset
101 end
57eeed74a575 Added text
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 18
diff changeset
102
57eeed74a575 Added text
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 18
diff changeset
103 function load_map(filename)
57eeed74a575 Added text
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 18
diff changeset
104 SPRITES = {}
57eeed74a575 Added text
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 18
diff changeset
105 SHADOWS = {}
57eeed74a575 Added text
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 18
diff changeset
106 MAP = ATL.Loader.load(filename)
6
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
107 MAP.drawObjects = false
10
a8111759a5c7 Pretty walls
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 7
diff changeset
108 MAP.layers['control'].visible = false
23
d16e33662aa0 define music in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 19
diff changeset
109 if MAP.properties.music then
33
0d75bfc00f01 Don't restart music every map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 28
diff changeset
110 if not LAST_MUSIC or MAP.properties.music ~= LAST_MUSIC then
0d75bfc00f01 Don't restart music every map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 28
diff changeset
111 if MUSIC then
0d75bfc00f01 Don't restart music every map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 28
diff changeset
112 MUSIC:stop()
0d75bfc00f01 Don't restart music every map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 28
diff changeset
113 end
0d75bfc00f01 Don't restart music every map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 28
diff changeset
114 MUSIC = love.audio.newSource(MAP.properties.music, 'static')
0d75bfc00f01 Don't restart music every map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 28
diff changeset
115 MUSIC:setLooping(true)
0d75bfc00f01 Don't restart music every map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 28
diff changeset
116 MUSIC:play()
0d75bfc00f01 Don't restart music every map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 28
diff changeset
117 LAST_MUSIC = MAP.properties.music
25
8891a036fb23 Add bumping and talking
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 23
diff changeset
118 end
23
d16e33662aa0 define music in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 19
diff changeset
119 end
6
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
120 for i, data in pairs(MAP.layers['mobs'].objects) do
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
121 if data.name == 'villain' then
25
8891a036fb23 Add bumping and talking
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 23
diff changeset
122 local mob = makeVillain(newMob(data.x, data.y, '1-2,1'))
8891a036fb23 Add bumping and talking
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 23
diff changeset
123 mob.sprite.properties = data.properties
4
e4263ea87780 Place the sprites on the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 3
diff changeset
124 else
25
8891a036fb23 Add bumping and talking
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 23
diff changeset
125 local mob = newMob(data.x, data.y, data.properties.cells or '1-2,2')
8891a036fb23 Add bumping and talking
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 23
diff changeset
126 mob.sprite.properties = data.properties
4
e4263ea87780 Place the sprites on the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 3
diff changeset
127 end
e4263ea87780 Place the sprites on the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 3
diff changeset
128 end
0
716ff40413d2 initial commit
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
129 end
716ff40413d2 initial commit
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
130
25
8891a036fb23 Add bumping and talking
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 23
diff changeset
131 function draw_text(text)
8891a036fb23 Add bumping and talking
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 23
diff changeset
132 text = text:gsub('[|]', '\n')
19
57eeed74a575 Added text
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 18
diff changeset
133 love.graphics.setColor(0, 0, 0)
57eeed74a575 Added text
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 18
diff changeset
134 love.graphics.print(text, 3, 3)
57eeed74a575 Added text
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 18
diff changeset
135 love.graphics.print(text, 5, 3)
57eeed74a575 Added text
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 18
diff changeset
136 love.graphics.print(text, 3, 5)
57eeed74a575 Added text
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 18
diff changeset
137 love.graphics.print(text, 5, 5)
57eeed74a575 Added text
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 18
diff changeset
138 love.graphics.setColor(255, 255, 255)
57eeed74a575 Added text
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 18
diff changeset
139 love.graphics.print(text, 4, 4)
57eeed74a575 Added text
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 18
diff changeset
140 end
0
716ff40413d2 initial commit
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
141
716ff40413d2 initial commit
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
142 function love.draw()
2
0c46edeabad6 scrolling map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 0
diff changeset
143 love.graphics.translate(math.floor(tx), math.floor(ty))
6
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
144 MAP:autoDrawRange(math.floor(tx), math.floor(ty), 1, 0)
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
145 MAP:draw()
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
146 for k, shadow in pairs(SHADOWS) do
2
0c46edeabad6 scrolling map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 0
diff changeset
147 shadow:draw()
0c46edeabad6 scrolling map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 0
diff changeset
148 end
6
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
149 for k, sprite in pairs(SPRITES) do
0
716ff40413d2 initial commit
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
150 sprite:draw()
716ff40413d2 initial commit
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
151 end
7
dd17a136b402 overlay layers
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 6
diff changeset
152 for i, layer in pairs(MAP.layerOrder) do
dd17a136b402 overlay layers
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 6
diff changeset
153 if layer.properties.overlay then
dd17a136b402 overlay layers
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 6
diff changeset
154 layer:draw()
dd17a136b402 overlay layers
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 6
diff changeset
155 end
dd17a136b402 overlay layers
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 6
diff changeset
156 end
19
57eeed74a575 Added text
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 18
diff changeset
157 love.graphics.translate(-math.floor(tx), -math.floor(ty))
25
8891a036fb23 Add bumping and talking
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 23
diff changeset
158 draw_text(TEXT)
0
716ff40413d2 initial commit
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
159 end
716ff40413d2 initial commit
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
160
716ff40413d2 initial commit
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
161
716ff40413d2 initial commit
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
162 function love.update(dt)
6
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
163 for k, sprite in pairs(SPRITES) do
0
716ff40413d2 initial commit
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
164 sprite:update(dt)
716ff40413d2 initial commit
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
165 end
39
4feeb8cb736e music mute added under "M"
Makdaam
parents: 33
diff changeset
166 if love.keyboard.isDown("m") then
4feeb8cb736e music mute added under "M"
Makdaam
parents: 33
diff changeset
167 if MUSIC:isStopped() then MUSIC:play()
4feeb8cb736e music mute added under "M"
Makdaam
parents: 33
diff changeset
168 else MUSIC:stop()
4feeb8cb736e music mute added under "M"
Makdaam
parents: 33
diff changeset
169 end
4feeb8cb736e music mute added under "M"
Makdaam
parents: 33
diff changeset
170 end
6
301a5bd338fb define mob graphics in the map
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents: 5
diff changeset
171 table.sort(SPRITES, function (a, b) return a.y < b.y end)
0
716ff40413d2 initial commit
Radomir Dopieralski <sheep-devel@sheep.art.pl>
parents:
diff changeset
172 end