diff options
| author | crecher <crecher@crecher.net> | 2026-10-13 01:13:13 +0200 |
|---|---|---|
| committer | crecher <crecher@crecher.net> | 2026-10-13 01:13:13 +0200 |
| commit | 99cae5a5a37f41f878a84857361eda47910303ba (patch) | |
| tree | 31c8665ca991f95e09e93bb2e6ec91d81d2427ff /cmd/gones | |
| parent | 96ff6d8eda2ba434682909f4ff4ce350d78b2273 (diff) | |
| download | gones-99cae5a5a37f41f878a84857361eda47910303ba.tar.gz gones-99cae5a5a37f41f878a84857361eda47910303ba.zip | |
sprites!!!!!!
Diffstat (limited to 'cmd/gones')
| -rw-r--r-- | cmd/gones/main.go | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/cmd/gones/main.go b/cmd/gones/main.go index 57b1b6e..0a1fbe7 100644 --- a/cmd/gones/main.go +++ b/cmd/gones/main.go @@ -96,6 +96,7 @@ func run(romPath string) error { } } + console.SetButtons(0, heldButtons()) console.StepFrame() // UpdateRGBA multiplies the pitch by 4 itself, so this is in pixels, not bytes @@ -126,3 +127,26 @@ func run(romPath string) error { } } } + +// keyboard layout for controller 1 +var keyMap = map[sdl.Scancode]uint8{ + sdl.SCANCODE_X: nes.ButtonA, + sdl.SCANCODE_Y: nes.ButtonB, + sdl.SCANCODE_RSHIFT: nes.ButtonSelect, + sdl.SCANCODE_RETURN: nes.ButtonStart, + sdl.SCANCODE_UP: nes.ButtonUp, + sdl.SCANCODE_DOWN: nes.ButtonDown, + sdl.SCANCODE_LEFT: nes.ButtonLeft, + sdl.SCANCODE_RIGHT: nes.ButtonRight, +} + +func heldButtons() uint8 { + keys := sdl.GetKeyboardState() + var b uint8 + for scancode, button := range keyMap { + if keys[scancode] != 0 { + b |= button + } + } + return b +} |