Make animations work in the options screen

This commit is contained in:
2020-03-23 00:33:29 +00:00
parent c67ee206cd
commit bcee07e8f7
11 changed files with 172 additions and 86 deletions

View File

@@ -1,19 +1,25 @@
package main
import (
"flag"
"log"
"os"
"code.ur.gs/lupine/ordoor/internal/ordoor"
)
var (
winX = flag.Int("win-x", 0, "Pre-scaled window X dimension override")
winY = flag.Int("win-y", 0, "Pre-scaled window Y dimension override")
)
func main() {
configFile := "config.toml"
if len(os.Args) == 2 {
configFile = os.Args[1]
}
if err := ordoor.Run(configFile); err != nil {
if err := ordoor.Run(configFile, *winX, *winY); err != nil {
log.Fatalf(err.Error())
}

View File

@@ -24,6 +24,7 @@ var (
type env struct {
obj *assetstore.Object
spr *assetstore.Sprite
step int
state state
@@ -92,10 +93,17 @@ func main() {
func (e *env) Update(screenX, screenY int) error {
if e.step == 0 || e.lastState != e.state {
sprite, err := e.obj.Sprite(e.state.spriteIdx)
if err != nil {
return err
}
e.spr = sprite
log.Printf(
"new state: sprite=%d/%d zoom=%.2f, origin=%+v",
"new state: sprite=%d/%d bounds=%+#v zoom=%.2f, origin=%+v",
e.state.spriteIdx,
e.obj.NumSprites,
e.spr.Rect,
e.state.zoom,
e.state.origin,
)