1
0
Fork 0

add debug mode for drawing either minimap or palette

This commit is contained in:
Henrik Hautakoski 2025-06-25 22:25:43 +02:00
parent 90f9eb43b2
commit 3f65829e43

27
main.go
View file

@ -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)