diff --git a/main.go b/main.go index 88ee2c2..6a38d6d 100644 --- a/main.go +++ b/main.go @@ -12,12 +12,20 @@ import ( "github.com/veandco/go-sdl2/sdl" ) +type DebugMode int + +const ( + DebugMode_NONE DebugMode = iota + DebugMode_MINIMAP + DebugMode_PALETTE +) + var ( gfxContext *graphics.Context player Player level *world.Level startOfFrame time.Time - drawMinimap bool + debugMode DebugMode ) func loadLevel(newLevel *world.Level) { @@ -40,8 +48,18 @@ func update() bool { case *sdl.KeyboardEvent: if ev.Type == sdl.KEYDOWN { switch ev.Keysym.Sym { + case sdl.K_p: + if debugMode != DebugMode_PALETTE { + debugMode = DebugMode_PALETTE + } else { + debugMode = DebugMode_NONE + } case sdl.K_m: - drawMinimap = !drawMinimap + if debugMode != DebugMode_MINIMAP { + debugMode = DebugMode_MINIMAP + } else { + debugMode = DebugMode_NONE + } case sdl.K_ESCAPE: return true } @@ -89,9 +107,12 @@ func main() { } render.DrawScene(gfxContext, player.Transform, level) - if drawMinimap { + if debugMode == DebugMode_MINIMAP { render.DrawMiniMap(gfxContext, player.Transform, level) } + if debugMode == DebugMode_PALETTE { + render.DrawPalette(gfxContext, 16, 16) + } gfxContext.Sync() elapsed := time.Since(startOfFrame)