Basically final dump before jam ends
This commit is contained in:
parent
fd96d53a34
commit
ff214a11ad
10 changed files with 121 additions and 41 deletions
101
mode-intro.fnl
101
mode-intro.fnl
|
@ -1,3 +1,4 @@
|
|||
(local state (require :state))
|
||||
(var (screen-width screen-height) (love.window.getMode))
|
||||
(var (mx my) (values (/ screen-width 2) (/ screen-height 2)))
|
||||
(love.mouse.setGrabbed false)
|
||||
|
@ -5,12 +6,23 @@
|
|||
|
||||
(love.graphics.setNewFont 30)
|
||||
|
||||
(var ticks 0)
|
||||
;; Start screen logos
|
||||
(var screen-logos [])
|
||||
(var screen-logo-files (love.filesystem.getDirectoryItems "assets/images/logos"))
|
||||
(each [_ v (ipairs screen-logo-files)]
|
||||
(local logo {})
|
||||
(tset logo :i (love.graphics.newImage (.. "assets/images/logos/" v)))
|
||||
(var imgdata (love.image.newImageData (.. "assets/images/logos/" v)))
|
||||
(tset logo :w (imgdata:getWidth))
|
||||
(tset logo :h (imgdata:getHeight))
|
||||
(table.insert screen-logos logo))
|
||||
|
||||
(var footer-font (love.graphics.newFont 19))
|
||||
(var footer-font (love.graphics.newFont 11))
|
||||
(local (major minor revision) (love.getVersion))
|
||||
|
||||
(fn helmet-hud []
|
||||
(love.graphics.setColor 0 1 0 0.25)
|
||||
(love.graphics.setColor 0 1 1 1)
|
||||
(love.graphics.line 0 0
|
||||
(+ (/ screen-width 6) 0) 35
|
||||
(+ (/ screen-width 3) 0) 30
|
||||
|
@ -19,43 +31,74 @@
|
|||
screen-width 0))
|
||||
|
||||
(var menu-font (love.graphics.newFont 20))
|
||||
(fn menu-button [x y t]
|
||||
(love.graphics.polygon "line" x y
|
||||
(fn menu-button [x y t la ra sa]
|
||||
(love.graphics.polygon "line" (- x 100) y
|
||||
(+ x 100) y
|
||||
(+ x 120) (+ y 20)
|
||||
(+ x 150) (+ y 20)
|
||||
(+ x 100) (+ y 40)
|
||||
x (+ y 40)
|
||||
(- x 20) (+ y 20))
|
||||
(love.graphics.printf t x (+ y 11) (+ x 100))
|
||||
)
|
||||
(- x 100) (+ y 40)
|
||||
(- x 150) (+ y 20))
|
||||
(love.graphics.printf t (- x 109) (+ y 3) (+ x 100)))
|
||||
|
||||
(var show-logos true)
|
||||
(var (screen-show logo-idx fade-time fade-mod) (values 0 1 0 1))
|
||||
(fn reset-logo-timers []
|
||||
(set screen-show 0)
|
||||
(set fade-time 0)
|
||||
(set fade-mod 1))
|
||||
(fn show-logo [x]
|
||||
(var logo (. screen-logos x))
|
||||
(if
|
||||
(< screen-show 5)
|
||||
(do
|
||||
(love.graphics.setColor 0 1 1 fade-time)
|
||||
(love.graphics.draw (. logo :i)
|
||||
(- (/ screen-width 2) (/ (. logo :w) 2))
|
||||
(- (/ screen-height 2) (/ (. logo :h) 2))))
|
||||
; else
|
||||
(do
|
||||
(if (. screen-logos (+ x 1))
|
||||
(set logo-idx (+ x 1))
|
||||
; else
|
||||
(set show-logos false))
|
||||
(reset-logo-timers))))
|
||||
|
||||
{
|
||||
:draw
|
||||
(fn draw []
|
||||
(helmet-hud)
|
||||
(menu-button (- (/ screen-width 2) 50) 100 (.. mx ", " my))
|
||||
; (love.graphics.setNewFont 50)
|
||||
; (love.graphics.setColor 0.75 0.75 0.75)
|
||||
; (love.graphics.printf "L4-N-DER Training Simulator" 0
|
||||
; (- (/ screen-height 2) 100) screen-width :center)
|
||||
; (love.graphics.setNewFont 20)
|
||||
; (love.graphics.setColor 0.55 0.55 0.05)
|
||||
; (love.graphics.printf "OFFICIAL LANDER EYES ONLY" 0
|
||||
; (- (/ screen-height 2) 20) screen-width :center)
|
||||
; (love.graphics.setColor 0.75 0.75 0.75)
|
||||
; (love.graphics.printf "Press D To Deploy" 0
|
||||
; (+ (/ screen-height 2) 20) screen-width :center)
|
||||
; (love.graphics.printf "Press Q To Quit" 0
|
||||
; (+ (/ screen-height 2) 40) screen-width :center)
|
||||
(love.graphics.printf
|
||||
(: "Made with Love [%s.%s.%s] and Fennel"
|
||||
:format major minor revision) footer-font 20 (- screen-height 30) screen-width :left)
|
||||
(love.graphics.printf "A game by Bill Niblock" footer-font -20 (- screen-height 30) screen-width :right)
|
||||
(if
|
||||
show-logos
|
||||
(show-logo logo-idx)
|
||||
(do
|
||||
(helmet-hud)
|
||||
(menu-button (/ screen-width 2) 100 "S U R V I V O R")
|
||||
(love.graphics.printf "Press P to Play"
|
||||
0 (+ (/ screen-height 2) 100)
|
||||
screen-width :center)
|
||||
(love.graphics.printf "Press Q to Quit"
|
||||
0 (+ (/ screen-height 2) 150)
|
||||
screen-width :center)
|
||||
(love.graphics.printf
|
||||
(: "Made with Love [%s.%s.%s] and Fennel"
|
||||
:format major minor revision) footer-font 20 (- screen-height 30) screen-width :left)
|
||||
(love.graphics.printf "A game by Bill Niblock" footer-font -20 (- screen-height 30) screen-width :right)))
|
||||
)
|
||||
|
||||
:update
|
||||
(fn update [dt]
|
||||
(set ticks (+ ticks dt))
|
||||
(when (> fade-time 2)
|
||||
(set fade-mod -1))
|
||||
(set fade-time (+ fade-time (* fade-mod dt)))
|
||||
(when (> ticks 1)
|
||||
(set ticks (- ticks 1))
|
||||
(set screen-show (+ screen-show 1))))
|
||||
|
||||
:keypressed
|
||||
(fn keypressed [key set-mode]
|
||||
(when (= key "d")
|
||||
(when (= key "p")
|
||||
(var newseed (+ (love.timer.getTime) mx my))
|
||||
(state.setSeed newseed)
|
||||
(set-mode :mode-play))
|
||||
(when (= key "q")
|
||||
(love.event.quit)))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue