Browse Source

Add main menu

I'm very proud of this drawing :).
master
Macoy Madson 3 years ago
parent
commit
b242ca6d5e
  1. BIN
      assets/MainMenu.xcf
  2. BIN
      data/MainMenu.bmp
  3. 42
      src/Main.cake

BIN
assets/MainMenu.xcf

Binary file not shown.

BIN
data/MainMenu.bmp

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

42
src/Main.cake

@ -727,6 +727,37 @@
;; Main
;;
;; On return null, play the game, else, exit for returned reason
(defun-local do-main-menu (renderer (* SDL_Renderer)
main-menu-texture (* SDL_Texture)
&return (* (const char)))
(var exit-reason (* (const char)) null)
(var in-state input-state (array 0))
(while (not exit-reason)
(var event SDL_Event)
(while (SDL_PollEvent (addr event))
(when (= (field event type) SDL_QUIT)
(set exit-reason "Window event")))
(var currentKeyStates (* (const Uint8)) (SDL_GetKeyboardState null))
(when (at SDL_SCANCODE_ESCAPE currentKeyStates)
(set exit-reason "Escape pressed"))
(unless (= 0 (SDL_RenderCopy renderer main-menu-texture
null null))
(sdl-print-error)
(set exit-reason "Render error"))
(var mouse-x int 0)
(var mouse-y int 0)
(var mouse-button-state Uint32 (SDL_GetMouseState (addr mouse-x) (addr mouse-y)))
(when (bit-and mouse-button-state SDL_BUTTON_LMASK)
;; Play the game!
(return null))
(SDL_RenderPresent renderer)
(SDL_Delay todo-arbitrary-delay-ms))
(return exit-reason))
(comptime-cond ('Kitty-Main
(defun main (num-args int args ([] (* char)) &return int)
(SDL_Log "Kitty Gridlock\n\n
@ -798,6 +829,10 @@ Rush Hour database from Michael Fogleman.\n\n")
(read-progression-data)
(var main-menu-texture (* SDL_Texture)
(sdl-texture-from-bmp (in-data-dir "MainMenu.bmp") renderer))
(unless main-menu-texture (return 1))
(var background-texture (* SDL_Texture) (sdl-texture-from-bmp (in-data-dir "Board.bmp")
renderer))
(unless background-texture (return 1))
@ -853,7 +888,8 @@ Rush Hour database from Michael Fogleman.\n\n")
(unless font-texture (return 1))
(var textures-to-destroy ([] (* SDL_Texture))
(array background-texture
(array main-menu-texture
background-texture
grid-texture
pieces-texture
win-texture
@ -886,6 +922,9 @@ Rush Hour database from Michael Fogleman.\n\n")
(sdl-print-time-delta start-load-ticks "Game loop starting")
(var exit-reason (* (const char)) null)
(set exit-reason (do-main-menu renderer main-menu-texture))
(while (not exit-reason)
(var event SDL_Event)
(while (SDL_PollEvent (addr event))
@ -1110,6 +1149,7 @@ Rush Hour database from Michael Fogleman.\n\n")
recent-n-perf-counts i
(var delta-time float (/ (at i recent-n-perf-counts)
(type-cast performance-num-ticks-per-second float)))
(unless delta-time (continue))
(SDL_Log "\t%f %fhz\n" delta-time (/ 1.f delta-time))))
;;

Loading…
Cancel
Save