Browse Source

Fix orientation changing, add FPS display

master
Macoy Madson 2 years ago
parent
commit
8e4d92eaeb
  1. 14
      Android/app/src/main/java/com/macoy/kitty_gridlock/KittyGridlock.java
  2. 38
      src/Main.cake

14
Android/app/src/main/java/com/macoy/kitty_gridlock/KittyGridlock.java

@ -1,9 +1,21 @@
package com.macoy.kitty_gridlock;
import android.content.pm.ActivityInfo;
import android.util.Log;
import org.libsdl.app.SDLActivity;
/**
* A sample wrapper class that just calls SDLActivity
*/
public class KittyGridlock extends SDLActivity { }
public class KittyGridlock extends SDLActivity {
// Not sure why my SDL_HINT_ORIENTATIONS define wasn't working. Override it here
public void setOrientationBis(int w, int h, boolean resizable, String hint)
{
if (hint.isEmpty())
super.setOrientationBis(w, h, resizable, "Portrait");
else
super.setOrientationBis(w, h, resizable, hint);
}
}

38
src/Main.cake

@ -19,6 +19,10 @@
;; For round()
"<math.h>")
;; This doesn't work for some reason. I had to override SDLActivity::setOrientationBis() instead
;; (undefine-constant SDL_HINT_ORIENTATIONS) ;; Silence warning
;; (define-constant SDL_HINT_ORIENTATIONS "Portrait")
;;
;; Constants
;;
@ -26,6 +30,8 @@
;; (var debug-log-enabled bool true)
(var debug-log-enabled bool false)
(var g-show-fps bool false)
;; TODO: Actually look at frame rate and adjust accordingly
;; This fixed GPU "coil whine" which I was getting running at 5400hz (completely unnecessary)
(var todo-arbitrary-delay-ms int 10)
@ -1013,13 +1019,21 @@ Rush Hour database from Michael Fogleman.\n\n")
(sdl-print-error)
(set exit-reason "Render error")))
;; Turn count
(var turns-buffer ([] 8 char) (array 0))
(var num-printed int
(snprintf turns-buffer (array-size turns-buffer)
"%d/%d" current-move-count (? g-current-puzzle (path g-current-puzzle > num-moves) 0)))
(set (at num-printed turns-buffer) 0)
(draw-string renderer font-texture turns-buffer (array 600.f 10.f))
(scope ;; Turn count
(var turns-buffer ([] 8 char) (array 0))
(var num-printed int
(snprintf turns-buffer (array-size turns-buffer)
"%d/%d" current-move-count (? g-current-puzzle (path g-current-puzzle > num-moves) 0)))
(set (at num-printed turns-buffer) 0)
(draw-string renderer font-texture turns-buffer (array 600.f 10.f)))
(when g-show-fps ;; Frame rate
(var fps-buffer ([] 5 char) (array 0))
(var num-printed int
(snprintf fps-buffer (array-size fps-buffer)
"%d" (type-cast (/ 1.f delta-time) int)))
(set (at num-printed fps-buffer) 0)
(draw-string renderer font-texture fps-buffer (array 700.f 2000.f)))
(when (is-in-win-state)
(var dest-rect SDL_Rect (array 60 140 960 500))
@ -1096,6 +1110,16 @@ Rush Hour database from Michael Fogleman.\n\n")
define-statement (array-size define-statement)
output)))
(defgenerator undefine-constant (define-name symbol)
(var define-statement (const ([] CStatementOperation))
(array
(array Keyword "#undef" -1)
(array Expression null 1)
(array Keyword "\n" -1)))
(return (CStatementOutput environment context tokens startTokenIndex
define-statement (array-size define-statement)
output)))
;; Necessary to create e.g. in C PREFIX "_my_thing"
(defgenerator static-string-combine (string-A any string-B any)
(var statement (const ([] CStatementOperation))

Loading…
Cancel
Save