/ld26

To get this branch, use:
bzr branch http://9ix.org/bzr/ld26

« back to all changes in this revision

Viewing changes to main.lua

  • Committer: Josh C
  • Date: 2013-04-28 23:14:19 UTC
  • Revision ID: josh@9ix.org-20130428231419-930dlct49eh71pr8
gate

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
DEBUG = true
3
3
 
4
4
require 'zoetrope'
 
5
--inspect = require 'inspect'
5
6
 
6
7
--require 'sprite'
7
8
require 'version'
10
11
require 'transition'
11
12
require 'displacer'
12
13
require 'inventory'
13
 
require 'flower'
 
14
require 'levels'
 
15
require 'items'
 
16
require 'troll'
 
17
require 'gatetrigger'
14
18
 
15
19
require 'svg_levels'
16
20
 
17
 
levels = {
18
 
   forest1 = {
19
 
      objects = function() return {
20
 
                      Tile:new{image = 'data/forest1-bg.png'},
21
 
                      Player:new{x = 200, y = 380,
22
 
                                 minY = 330, maxY = 500,
23
 
                                 image = 'data/forest1-player.png'},
24
 
                      Tile:new{image = 'data/forest1-fg.png'}
25
 
                   } end,
26
 
   },
27
 
   foresthut = {
28
 
      objects = function() return {
29
 
                      Tile:new{image = 'data/foresthut-bg.png'},
30
 
                      Player:new{x = 745, y = 430,
31
 
                                 image = 'data/forest1-player.png'},
32
 
                      Tile:new{image = 'data/foresthut-fg.png'}
33
 
                   } end,
34
 
   },
35
 
   shore = {
36
 
      objects = function() return {
37
 
                      Tile:new{image = 'data/shore-bg.png'},
38
 
                      Player:new{x = 145, y = 133,
39
 
                                 minY = 133, maxY = 133,
40
 
                                 image = 'data/shore-player.png'},
41
 
                      Tile:new{image = 'data/shore-fg.png'},
42
 
                      Transition:new{x = 10, y = 133, target = 'forest1',
43
 
                                     targetX = 735, targetY = 370}
44
 
                   } end
45
 
   },
46
 
   lake = {
47
 
      objects = function() return {
48
 
                      Tile:new{image = 'data/lake-bg.png'},
49
 
                      Player:new{x = 540, y = 266,
50
 
                                 image = 'data/lake-player.png'},
51
 
                   }
52
 
                end
53
 
   },
54
 
   -- village = {
55
 
   --    objects = function() return {
56
 
   --                    Tile:new{image = 'data/village-bg.png'},
57
 
   --                    Player:new{x = 121, y = 440,
58
 
   --                               image = 'data/village-player.png'},
59
 
   --                 }
60
 
   --              end
61
 
   -- },
62
 
   bridge = {
63
 
      objects = function() return {
64
 
                      Tile:new{image = 'data/bridge-bg.png'},
65
 
                      Player:new{x = 121, y = 440,
66
 
                                 image = 'data/bridge-player.png'},
67
 
                      Tile:new{image = 'data/bridge-fg.png'}
68
 
                   }
69
 
                end
70
 
   }
71
 
}
72
 
 
73
21
GameView = View:extend {
74
 
   level = 'shore', --default level
75
22
   onNew = function (self)
76
23
              --print('loading level: '..self.level)
77
24
              if not levels[self.level] then
79
26
              end
80
27
              for _, obj in ipairs(levels[self.level].objects()) do
81
28
                 self:add(obj)
 
29
                 --if obj.gateup then print('ADDING GATEUP') end
82
30
              end
83
31
              for _, obj in ipairs(svg_objects[self.level]) do
84
32
                 if not the.inventory.items[obj.name] then
86
34
                 end
87
35
              end
88
36
 
 
37
              --self:add(Fill:new{x=100,y=100,width=25,height=25,fill={255,255,255}})
 
38
 
89
39
              self:add(the.inventory)
90
40
 
91
41
              self:flash({0,0,0})
96
46
   draw = function (self, x, y)
97
47
             View.draw(self, x, y)
98
48
             --love.graphics.print('FPS:' .. love.timer.getFPS(), 20, 20)
99
 
             love.graphics.print('version:' .. VERSION, 20, 570)
 
49
             --love.graphics.print('version:' .. VERSION, 20, 570)
100
50
          end,
101
51
   onUpdate = function (self, dt)
102
52
              end
103
53
}
104
54
 
105
55
the.app = App:new {
 
56
   level = 'shore', --default level
106
57
   onRun = function (self)
107
 
              self.view = GameView:new()
 
58
              print('Version: ' .. VERSION)
 
59
              self.view = GameView:new{level = self.level}
108
60
              if DEBUG then
109
61
                 self.console:watch('VERSION', 'VERSION')
110
62
                 self.console:watch('updateTook', 'the.updateTook')
115
67
                 -- back off that dark overlay a bit
116
68
                 self.console.fill.fill[4] = 75
117
69
              end
 
70
 
 
71
              --the.inventory:add(Flag:new())
118
72
           end,
119
73
   onUpdate = function (self, dt)
120
74
                 if the.keys:justPressed('escape') then
133
87
-- for accessing from debug console
134
88
function l(level)
135
89
   the.app.view = GameView:new{level = level}
 
90
end
 
91
 
 
92
function love.load(arg)
 
93
   if arg[2] then
 
94
      the.app.level = arg[2]
 
95
   end
 
96
 
 
97
   the.app:run()
136
98
end
 
 
b'\\ No newline at end of file'