43 lines
1,002 B
Fennel
43 lines
1,002 B
Fennel
(local util (require :lib.util))
|
|
(local {: lo : hi : readjson} util)
|
|
(local tile (util.reload :game.tiles))
|
|
(local {: prg : vm : org} (util.reload :game.defs))
|
|
|
|
(util.reload :game.gfx)
|
|
(util.reload :game.footer)
|
|
(util.reload :game.map)
|
|
(util.reload :game.entity)
|
|
(util.reload :game.player)
|
|
|
|
(tile.appendtiles org.tiles)
|
|
(tile.appendgfx org.font (tile.loadgfx tile.fn-font))
|
|
|
|
(vm:var :tick-count)
|
|
(vm:word :handle-key :tick :read-key :player-key :hide-footer)
|
|
(vm:word :tick :map-specific-tick :tick-count :get 1 :+ :tick-count :set :player-redraw)
|
|
|
|
(vm:word :load-level
|
|
:lit :map-jaye-yx :get :jaye-yx :set
|
|
:lit :map-neut-yx :get :neut-yx :set
|
|
:lit :map-gord-yx :get :gord-yx :set
|
|
0 :gord-dir :set
|
|
0xffff :rexx-yx :set
|
|
:full-redraw)
|
|
|
|
(vm.code:append :main
|
|
[:jsr :reset]
|
|
[:jsr :interpret]
|
|
[:vm :hires
|
|
:load-level
|
|
(vm:forever
|
|
(vm:hotswap-sync :load-level)
|
|
:interactive-eval-checkpoint
|
|
:handle-key
|
|
)
|
|
:quit])
|
|
|
|
(util.reload :game.level6)
|
|
|
|
(prg:assemble)
|
|
|