diff --git a/assets/loader-sprites.go b/assets/loader-sprites.go index 6d6fcda..294d869 100644 --- a/assets/loader-sprites.go +++ b/assets/loader-sprites.go @@ -44,8 +44,8 @@ type AnimationMeta struct { // Needed to thaw sprite set written by asesprite type AnimationJSON struct { - Meta AnimationMeta `json:"Meta"` - Frames []AnimationFrame `json:"frames"` + Meta AnimationMeta `json:"Meta"` + Frames map[string]AnimationFrame `json:"frames"` } // used to store Animation data @@ -133,7 +133,7 @@ func ReadJson(imagefile fs.DirEntry, fd fs.File) AnimationJSON { err := json.Unmarshal(buf.Bytes(), &animationjson) if err != nil { - log.Fatalf("failed to parse JSON: %s", err) + log.Fatalf("failed to parse JSON in %s: %s", imagefile, err) } return animationjson diff --git a/game/levels.go b/game/levels.go index 3d9bf80..1c6c7c8 100644 --- a/game/levels.go +++ b/game/levels.go @@ -11,6 +11,7 @@ import ( "openquell/util" "strings" + "github.com/alecthomas/repr" "github.com/hajimehoshi/ebiten/v2" "github.com/mlange-42/arche/ecs" "github.com/solarlune/ldtkgo" @@ -168,7 +169,7 @@ func LevelToSlice(game *Game, level *ldtkgo.Level, tilesize int) (Map, Map) { case ldtkgo.LayerTypeEntity: // load mobile tiles (they call them entities) using static map map.png. - tileset := assets.Assets["entitymap"] + tileset := assets.Assets["tilemap"] for _, entity := range layer.Entities { if entity.TileRect != nil { @@ -197,6 +198,7 @@ func LevelToSlice(game *Game, level *ldtkgo.Level, tilesize int) (Map, Map) { } tileRect := entity.TileRect + repr.Println(tileRect) tile.Sprite = tileset.SubImage( image.Rect(tileRect.X, tileRect.Y,