Basic main menu and README

This commit is contained in:
Jakub 2026-05-17 20:52:13 +08:00
parent 693879746b
commit d450a0d155
8 changed files with 449 additions and 0 deletions

15
src/bitter-duel.scm Normal file
View file

@ -0,0 +1,15 @@
(module (bitter-duel) ()
(import scheme
(chicken base)
raylib
(imugi core)
(imugi input)
(main-menu))
(register-action 'click 'mouse-press MOUSE_BUTTON_LEFT)
((main-menu (lambda ()
(display "Loading game scene...")
(newline))))
(create-window))

64
src/main-menu.scm Normal file
View file

@ -0,0 +1,64 @@
(module (main-menu) ()
(import scheme
(chicken base)
(chicken module)
(imugi core)
(imugi input)
(imugi scene)
(imugi math)
(bd ui))
(export main-menu)
(define (main-menu play-callback)
(scene
push-actions
draw-labels
handle-buttons
;;; Text
;; Title
(entity
(title
(vec
;; 0 because automatically centered on x
0
(/ (cdr (*window-size*))
6))
"Bitter Duel"
centered: (cons #t #f)))
;; Subtitle
(entity
(subtitle
(vec
;; 0 because automatically centered on x
0
(/ (cdr (*window-size*))
3))
"Made for the Spring Lisp Game Jam 2026"
centered: (cons #t #f)))
;; Acknowledgements footer
(entity
(footer
(vec
;; 0 because automatically centered on x
0
(- (cdr (*window-size*))
30))
"By Jakub Nowak with Imugi+Raylib"
centered: (cons #t #f)))
(entity
(button
(vec (- (/ (car (*window-size*))
2)
50)
(- (/ (car (*window-size*))
2)
100))
(footer
(vec 0 0)
"Start Game!")
play-callback))
))
)