add debug mode for drawing either minimap or palette
This commit is contained in:
parent
90f9eb43b2
commit
3f65829e43
1 changed files with 24 additions and 3 deletions
27
main.go
27
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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue