diff --git a/battle_srv/models/room.go b/battle_srv/models/room.go index f9d79da..723941c 100644 --- a/battle_srv/models/room.go +++ b/battle_srv/models/room.go @@ -1152,17 +1152,19 @@ func (pR *Room) applyInputFrameDownsyncDynamics(fromRenderFrameId int32, toRende baseChange := player.Speed * pR.RollbackEstimatedDt * decodedInputSpeedFactor dx := baseChange * float64(decodedInput[0]) dy := baseChange * float64(decodedInput[1]) + dyInResolv := -dy collisionPlayerIndex := COLLISION_PLAYER_INDEX_PREFIX + joinIndex playerCollider := pR.CollisionSysMap[collisionPlayerIndex] - if collision := playerCollider.Check(dx, dy, "Barrier"); collision != nil { + if collision := playerCollider.Check(dx, dyInResolv, "Barrier"); collision != nil { changeWithCollision := collision.ContactWithObject(collision.Objects[0]) Logger.Info(fmt.Sprintf("Collided: roomId=%v, playerId=%v, orig dx=%v, orig dy=%v, new dx =%v, new dy=%v", pR.Id, player.Id, dx, dy, changeWithCollision.X(), changeWithCollision.Y())) dx = changeWithCollision.X() - dy = changeWithCollision.Y() + dyInResolv = changeWithCollision.Y() + dy = -dyInResolv } playerCollider.X += dx - playerCollider.Y += dy + playerCollider.Y += dyInResolv // Update in "collision space" playerCollider.Update() @@ -1198,7 +1200,7 @@ func (pR *Room) refreshColliders() { space := resolv.NewSpace(int(spaceW), int(spaceH), int(pR.StageTileW), int(pR.StageTileH)) // allocate a new collision space everytime after a battle is settled for _, player := range pR.Players { - playerCollider := resolv.NewObject(player.X+spaceOffsetX, player.Y+spaceOffsetY, playerColliderRadius*2, playerColliderRadius*2) + playerCollider := resolv.NewObject(player.X+spaceOffsetX, -player.Y+spaceOffsetY, playerColliderRadius*2, playerColliderRadius*2) playerColliderShape := resolv.NewCircle(0, 0, playerColliderRadius*2) playerCollider.SetShape(playerColliderShape) space.Add(playerCollider) @@ -1231,10 +1233,9 @@ func (pR *Room) refreshColliders() { barrierColliderShape.AddPoints(p.X, p.Y) } - barrierCollider := resolv.NewObject(barrier.Boundary.Anchor.X+spaceOffsetX, barrier.Boundary.Anchor.Y+spaceOffsetY, w, h, "Barrier") + barrierCollider := resolv.NewObject(barrier.Boundary.Anchor.X+spaceOffsetX, -barrier.Boundary.Anchor.Y+spaceOffsetY, w, h, "Barrier") barrierCollider.SetShape(barrierColliderShape) space.Add(barrierCollider) - pR.printBarrier(barrierCollider) } } diff --git a/collider_visualizer/main.go b/collider_visualizer/main.go index af424bd..9f5f0af 100644 --- a/collider_visualizer/main.go +++ b/collider_visualizer/main.go @@ -85,7 +85,9 @@ type Game struct { func NewGame() *Game { - stageDiscreteW, stageDiscreteH, stageTileW, stageTileH, playerPosMap, barrierMap, err := parseStage("richsoil") + stageName := "simple" // Use this for calibration + // stageName := "richsoil" + stageDiscreteW, stageDiscreteH, stageTileW, stageTileH, playerPosMap, barrierMap, err := parseStage(stageName) if nil != err { panic(err) } diff --git a/collider_visualizer/worldColliderDisplay.go b/collider_visualizer/worldColliderDisplay.go index f57db80..899252f 100644 --- a/collider_visualizer/worldColliderDisplay.go +++ b/collider_visualizer/worldColliderDisplay.go @@ -35,17 +35,17 @@ func NewWorldColliderDisplay(game *Game, stageDiscreteW, stageDiscreteH, stageTi spaceOffsetX := float64(spaceW) * 0.5 spaceOffsetY := float64(spaceH) * 0.5 + // TODO: Move collider y-axis transformation to a "dnmshared" playerColliderRadius := float64(12) // hardcoded space := resolv.NewSpace(int(spaceW), int(spaceH), int(stageTileW), int(stageTileH)) for _, player := range playerList { - playerCollider := resolv.NewObject(player.X+spaceOffsetX, player.Y+spaceOffsetY, playerColliderRadius*2, playerColliderRadius*2, "Player") + playerCollider := resolv.NewObject(player.X+spaceOffsetX, -player.Y+spaceOffsetY, playerColliderRadius*2, playerColliderRadius*2, "Player") playerColliderShape := resolv.NewCircle(0, 0, playerColliderRadius*2) playerCollider.SetShape(playerColliderShape) Logger.Info("player shape added:", zap.Any("shape", playerColliderShape)) space.Add(playerCollider) } - barrierLocalId := 0 for _, barrier := range barrierList { var w float64 = 0 @@ -66,12 +66,12 @@ func NewWorldColliderDisplay(game *Game, stageDiscreteW, stageDiscreteH, stageTi } barrierColliderShape := resolv.NewConvexPolygon() - for i := len(barrier.Points)-1; i >= 0; i-- { + for i := 0; i < len(barrier.Points); i++ { p := barrier.Points[i] barrierColliderShape.AddPoints(p.X, p.Y) } - barrierCollider := resolv.NewObject(barrier.Anchor.X+spaceOffsetX, barrier.Anchor.Y+spaceOffsetY, w, h, "Barrier") + barrierCollider := resolv.NewObject(barrier.Anchor.X+spaceOffsetX, -barrier.Anchor.Y+spaceOffsetY, w, h, "Barrier") barrierCollider.SetShape(barrierColliderShape) Logger.Info("barrier shape added:", zap.Any("barrierLocalId", barrierLocalId), zap.Any("shape", barrierColliderShape)) @@ -98,7 +98,7 @@ func (world *WorldColliderDisplay) Draw(screen *ebiten.Image) { ebitenutil.DrawRect(screen, o.X, o.Y, o.W, o.H, drawColor) } - world.Game.DebugDraw(screen, world.Space) + // world.Game.DebugDraw(screen, world.Space) if world.Game.ShowHelpText { diff --git a/collider_visualizer/worldLineOfSight.go b/collider_visualizer/worldLineOfSight.go deleted file mode 100644 index 4429603..0000000 --- a/collider_visualizer/worldLineOfSight.go +++ /dev/null @@ -1,170 +0,0 @@ -package main - -import ( - "fmt" - "image/color" - "strconv" - - "github.com/hajimehoshi/ebiten/v2" - "github.com/hajimehoshi/ebiten/v2/ebitenutil" - "github.com/solarlune/resolv" -) - -type WorldLineTest struct { - Game *Game - Space *resolv.Space - Player *resolv.Object -} - -func NewWorldLineTest(game *Game) *WorldLineTest { - w := &WorldLineTest{Game: game} - w.Init() - return w -} - -func (world *WorldLineTest) Init() { - - gw := float64(world.Game.Width) - gh := float64(world.Game.Height) - - cellSize := 8 - - world.Space = resolv.NewSpace(int(gw), int(gh), cellSize, cellSize) - - // Construct geometry - geometry := []*resolv.Object{ - - resolv.NewObject(0, 0, 16, gh), - resolv.NewObject(gw-16, 0, 16, gh), - resolv.NewObject(0, 0, gw, 16), - resolv.NewObject(0, gh-24, gw, 32), - resolv.NewObject(0, gh-24, gw, 32), - - resolv.NewObject(200, -160, 16, gh), - } - - world.Space.Add(geometry...) - - for _, o := range world.Space.Objects() { - o.AddTags("solid") - } - - world.Player = resolv.NewObject(160, 160, 16, 16) - world.Player.AddTags("player") - world.Space.Add(world.Player) - -} - -func (world *WorldLineTest) Update() { - - dx, dy := 0.0, 0.0 - moveSpd := 2.0 - - if ebiten.IsKeyPressed(ebiten.KeyW) { - dy = -moveSpd - } - - if ebiten.IsKeyPressed(ebiten.KeyS) { - dy += moveSpd - } - - if ebiten.IsKeyPressed(ebiten.KeyA) { - dx = -moveSpd - } - - if ebiten.IsKeyPressed(ebiten.KeyD) { - dx += moveSpd - } - - if col := world.Player.Check(dx, 0, "solid"); col != nil { - dx = col.ContactWithObject(col.Objects[0]).X() - } - - world.Player.X += dx - - if col := world.Player.Check(0, dy, "solid"); col != nil { - dy = col.ContactWithObject(col.Objects[0]).Y() - } - - world.Player.Y += dy - - world.Player.Update() - -} - -func (world *WorldLineTest) Draw(screen *ebiten.Image) { - - for _, o := range world.Space.Objects() { - drawColor := color.RGBA{60, 60, 60, 255} - if o.HasTags("player") { - drawColor = color.RGBA{0, 255, 0, 255} - } - ebitenutil.DrawRect(screen, o.X, o.Y, o.W, o.H, drawColor) - } - - mouseX, mouseY := ebiten.CursorPosition() - - mx, my := world.Space.WorldToSpace(float64(mouseX), float64(mouseY)) - - cx, cy := world.Player.CellPosition() - - sightLine := world.Space.CellsInLine(cx, cy, mx, my) - - interrupted := false - - for i, cell := range sightLine { - - if i == 0 { // Skip the beginning because that's the player - continue - } - - drawColor := color.RGBA{255, 255, 0, 255} - - // if interrupted { - // drawColor = color.RGBA{0, 0, 255, 255} - // } - - if !interrupted && cell.ContainsTags("solid") { - drawColor = color.RGBA{255, 0, 0, 255} - interrupted = true - } - - ebitenutil.DrawRect(screen, - float64(cell.X*world.Space.CellWidth), - float64(cell.Y*world.Space.CellHeight), - float64(world.Space.CellWidth), - float64(world.Space.CellHeight), - drawColor) - - if interrupted { - break - } - - } - - if world.Game.Debug { - world.Game.DebugDraw(screen, world.Space) - } - - if world.Game.ShowHelpText { - - world.Game.DrawText(screen, 16, 16, - "~ Line of sight test ~", - "WASD keys: Move player", - "Mouse: Hover over impassible objects", - "to get the closest wall to the player.", - fmt.Sprintf("Mouse X: %d, Mouse Y: %d", mouseX, mouseY), - "Clear line of sight: "+strconv.FormatBool(!interrupted), - "", - "F1: Toggle Debug View", - "F2: Show / Hide help text", - "R: Restart world", - "E: Next world", - "Q: Previous world", - fmt.Sprintf("%d FPS (frames per second)", int(ebiten.CurrentFPS())), - fmt.Sprintf("%d TPS (ticks per second)", int(ebiten.CurrentTPS())), - ) - - } - -} diff --git a/frontend/assets/resources/map/simple/BackgroundMap.meta b/frontend/assets/resources/map/simple/BackgroundMap.meta new file mode 100644 index 0000000..803aefb --- /dev/null +++ b/frontend/assets/resources/map/simple/BackgroundMap.meta @@ -0,0 +1,7 @@ +{ + "ver": "1.0.1", + "uuid": "2f0bdedd-7215-4462-ae54-b71c054cffbe", + "isSubpackage": false, + "subpackageName": "", + "subMetas": {} +} \ No newline at end of file diff --git a/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H128_S01.png b/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H128_S01.png new file mode 100644 index 0000000..b651445 Binary files /dev/null and b/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H128_S01.png differ diff --git a/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H128_S01.png.meta b/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H128_S01.png.meta new file mode 100644 index 0000000..2b8a57f --- /dev/null +++ b/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H128_S01.png.meta @@ -0,0 +1,34 @@ +{ + "ver": "2.3.3", + "uuid": "c71de11b-4efc-4b7a-bbc7-eb926d08baf6", + "type": "sprite", + "wrapMode": "clamp", + "filterMode": "bilinear", + "premultiplyAlpha": false, + "genMipmaps": false, + "packable": true, + "platformSettings": {}, + "subMetas": { + "Tile_W256_H128_S01": { + "ver": "1.0.4", + "uuid": "b4fba8f6-ffc7-468b-9086-ec855c73388a", + "rawTextureUuid": "c71de11b-4efc-4b7a-bbc7-eb926d08baf6", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 831, + "trimX": 0, + "trimY": 0, + "width": 2048, + "height": 386, + "rawWidth": 2048, + "rawHeight": 2048, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "subMetas": {} + } + } +} \ No newline at end of file diff --git a/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H128_S01.tsx b/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H128_S01.tsx new file mode 100644 index 0000000..2d6b910 --- /dev/null +++ b/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H128_S01.tsx @@ -0,0 +1,4 @@ + + + + diff --git a/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H128_S01.tsx.meta b/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H128_S01.tsx.meta new file mode 100644 index 0000000..57602b0 --- /dev/null +++ b/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H128_S01.tsx.meta @@ -0,0 +1,5 @@ +{ + "ver": "2.0.0", + "uuid": "356c1165-6c15-40fe-95d0-baf11b053ada", + "subMetas": {} +} \ No newline at end of file diff --git a/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H256_S01.png b/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H256_S01.png new file mode 100644 index 0000000..45aa8ef Binary files /dev/null and b/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H256_S01.png differ diff --git a/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H256_S01.png.meta b/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H256_S01.png.meta new file mode 100644 index 0000000..5a0efc8 --- /dev/null +++ b/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H256_S01.png.meta @@ -0,0 +1,34 @@ +{ + "ver": "2.3.3", + "uuid": "ad433d85-5c88-4067-b4b7-129be0f54d57", + "type": "sprite", + "wrapMode": "clamp", + "filterMode": "bilinear", + "premultiplyAlpha": false, + "genMipmaps": false, + "packable": true, + "platformSettings": {}, + "subMetas": { + "Tile_W256_H256_S01": { + "ver": "1.0.4", + "uuid": "6c14c41c-4946-4992-b75d-8b580de43c83", + "rawTextureUuid": "ad433d85-5c88-4067-b4b7-129be0f54d57", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 64, + "width": 1280, + "height": 896, + "rawWidth": 1280, + "rawHeight": 1024, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "subMetas": {} + } + } +} \ No newline at end of file diff --git a/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H256_S01.tsx b/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H256_S01.tsx new file mode 100644 index 0000000..b57d090 --- /dev/null +++ b/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H256_S01.tsx @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H256_S01.tsx.meta b/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H256_S01.tsx.meta new file mode 100644 index 0000000..6641c22 --- /dev/null +++ b/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H256_S01.tsx.meta @@ -0,0 +1,5 @@ +{ + "ver": "2.0.0", + "uuid": "e76fd642-3e97-4917-b6c7-0fc679a17644", + "subMetas": {} +} \ No newline at end of file diff --git a/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H256_S02.png b/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H256_S02.png new file mode 100644 index 0000000..8ddf7ff Binary files /dev/null and b/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H256_S02.png differ diff --git a/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H256_S02.png.meta b/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H256_S02.png.meta new file mode 100644 index 0000000..b6214bf --- /dev/null +++ b/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H256_S02.png.meta @@ -0,0 +1,34 @@ +{ + "ver": "2.3.3", + "uuid": "2a91275b-bb80-44b8-9932-0913c465e4ea", + "type": "sprite", + "wrapMode": "clamp", + "filterMode": "bilinear", + "premultiplyAlpha": false, + "genMipmaps": false, + "packable": true, + "platformSettings": {}, + "subMetas": { + "Tile_W256_H256_S02": { + "ver": "1.0.4", + "uuid": "55ca9649-0476-4fdb-9faa-3721ec0a0d5a", + "rawTextureUuid": "2a91275b-bb80-44b8-9932-0913c465e4ea", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 19.5, + "offsetY": 3.5, + "trimX": 89, + "trimY": 0, + "width": 1409, + "height": 251, + "rawWidth": 1548, + "rawHeight": 258, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "subMetas": {} + } + } +} \ No newline at end of file diff --git a/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H256_S02.tsx b/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H256_S02.tsx new file mode 100644 index 0000000..0f34291 --- /dev/null +++ b/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H256_S02.tsx @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H256_S02.tsx.meta b/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H256_S02.tsx.meta new file mode 100644 index 0000000..a9a32f1 --- /dev/null +++ b/frontend/assets/resources/map/simple/BackgroundMap/Tile_W256_H256_S02.tsx.meta @@ -0,0 +1,5 @@ +{ + "ver": "2.0.0", + "uuid": "0f6bb2a2-d39f-4055-a636-4e6dc3472a18", + "subMetas": {} +} \ No newline at end of file diff --git a/frontend/assets/resources/map/simple/BackgroundMap/map.tmx b/frontend/assets/resources/map/simple/BackgroundMap/map.tmx new file mode 100644 index 0000000..4b1c9cf --- /dev/null +++ b/frontend/assets/resources/map/simple/BackgroundMap/map.tmx @@ -0,0 +1,129 @@ + + + + + + + eJztmNsOAyEIRNXem97+/2urSU0MEbs2A9XIwzwtuocJLrjBORdMJpPJtIyeUZeKHhtiaJwWW9I+alfRuVh/ZWJoHJqZY2tpK/dJyPfWOxHcUvxa3Oi6eUUdmHd4sLLv0p570P6h4NbwfHRuzvMZuGuez8Bd83wWbur5LNyZ/fbRyNypz3PfUzR39uPesYZ7lmo692AqNDdyTatHo7mR88m3Po/ktj4/L3fr3jAyt+a5NG7974nN33y9SNzTJObvPD9wdYOS1D+VMgcujyOJaYmuR/bMWj1yefTMdNz5kfIceSZruffk/U9uLRn3etzoO5JxG/cq3P7H/bfu/QamEBWW + + + + + eJztmdEKwyAMRfsXjv7/h449CEWSNNFrvMoOlIHdktMsWtddl8xtHNb7NKx4nhhW7DaHRAk6eK9Lyh/5bCR+SxHyIvB6M+LpQUbevFmR1oP6ankX41wP0XjWOsaM5o3kA473Q+uTmTkRvHkzot2nmdH6mGlOSmtMpjdyjuxQb4mIN9OaYnkzs5t3uyduiXij9ygedqv3k6g3y/xE1zvruk7rEzZ36Xvs3X+vWEueZPxumMHfO5dTvOsYm7tnTaljbO4t1rNaZvcTnxHW82zuXic294gLwh21P4i6MNU96oF0H9mz9zr0+ve6tj02UruVfTOad5U7Iifi/0JtTOsrVL2y647MleU+I8+ddMwge55+AUD0Fwk= + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/assets/resources/map/simple/BackgroundMap/map.tmx.meta b/frontend/assets/resources/map/simple/BackgroundMap/map.tmx.meta new file mode 100644 index 0000000..31fac2c --- /dev/null +++ b/frontend/assets/resources/map/simple/BackgroundMap/map.tmx.meta @@ -0,0 +1,5 @@ +{ + "ver": "2.0.2", + "uuid": "e310a2ad-1d44-41ed-858a-380474175aed", + "subMetas": {} +} \ No newline at end of file diff --git a/frontend/assets/resources/map/simple/Tile_W300_H300_S01.png b/frontend/assets/resources/map/simple/Tile_W300_H300_S01.png new file mode 100644 index 0000000..3200517 Binary files /dev/null and b/frontend/assets/resources/map/simple/Tile_W300_H300_S01.png differ diff --git a/frontend/assets/resources/map/simple/Tile_W300_H300_S01.png.meta b/frontend/assets/resources/map/simple/Tile_W300_H300_S01.png.meta new file mode 100644 index 0000000..360d33c --- /dev/null +++ b/frontend/assets/resources/map/simple/Tile_W300_H300_S01.png.meta @@ -0,0 +1,34 @@ +{ + "ver": "2.3.3", + "uuid": "b6b4c575-6690-4f1d-8165-a0098509066c", + "type": "sprite", + "wrapMode": "clamp", + "filterMode": "bilinear", + "premultiplyAlpha": false, + "genMipmaps": false, + "packable": true, + "platformSettings": {}, + "subMetas": { + "Tile_W300_H300_S01": { + "ver": "1.0.4", + "uuid": "8844352b-c6ac-4f30-8c8a-83955b2241b1", + "rawTextureUuid": "b6b4c575-6690-4f1d-8165-a0098509066c", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 4, + "offsetY": -24.5, + "trimX": 97, + "trimY": 85, + "width": 114, + "height": 179, + "rawWidth": 300, + "rawHeight": 300, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "subMetas": {} + } + } +} \ No newline at end of file diff --git a/frontend/assets/resources/map/simple/Tile_W300_H300_S01.tsx b/frontend/assets/resources/map/simple/Tile_W300_H300_S01.tsx new file mode 100644 index 0000000..d958003 --- /dev/null +++ b/frontend/assets/resources/map/simple/Tile_W300_H300_S01.tsx @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/frontend/assets/resources/map/simple/Tile_W300_H300_S01.tsx.meta b/frontend/assets/resources/map/simple/Tile_W300_H300_S01.tsx.meta new file mode 100644 index 0000000..2e5add5 --- /dev/null +++ b/frontend/assets/resources/map/simple/Tile_W300_H300_S01.tsx.meta @@ -0,0 +1,5 @@ +{ + "ver": "2.0.0", + "uuid": "e8f0b0b6-6274-4931-bf88-af35ca68c4cc", + "subMetas": {} +} \ No newline at end of file diff --git a/frontend/assets/resources/map/simple/Tile_W64_H64_S01.png b/frontend/assets/resources/map/simple/Tile_W64_H64_S01.png new file mode 100644 index 0000000..1b7cb9d Binary files /dev/null and b/frontend/assets/resources/map/simple/Tile_W64_H64_S01.png differ diff --git a/frontend/assets/resources/map/simple/Tile_W64_H64_S01.png.meta b/frontend/assets/resources/map/simple/Tile_W64_H64_S01.png.meta new file mode 100644 index 0000000..c9d78ad --- /dev/null +++ b/frontend/assets/resources/map/simple/Tile_W64_H64_S01.png.meta @@ -0,0 +1,34 @@ +{ + "ver": "2.3.3", + "uuid": "a6ef7a2f-0696-49d7-8e62-d2e495a2d032", + "type": "sprite", + "wrapMode": "clamp", + "filterMode": "bilinear", + "premultiplyAlpha": false, + "genMipmaps": false, + "packable": true, + "platformSettings": {}, + "subMetas": { + "Tile_W64_H64_S01": { + "ver": "1.0.4", + "uuid": "f6779fb1-4117-459a-a175-ff9f3abf1545", + "rawTextureUuid": "a6ef7a2f-0696-49d7-8e62-d2e495a2d032", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 0, + "width": 256, + "height": 256, + "rawWidth": 256, + "rawHeight": 256, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "subMetas": {} + } + } +} \ No newline at end of file diff --git a/frontend/assets/resources/map/simple/Tile_W64_H64_S01.tsx b/frontend/assets/resources/map/simple/Tile_W64_H64_S01.tsx new file mode 100644 index 0000000..319467a --- /dev/null +++ b/frontend/assets/resources/map/simple/Tile_W64_H64_S01.tsx @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/assets/resources/map/simple/Tile_W64_H64_S01.tsx.meta b/frontend/assets/resources/map/simple/Tile_W64_H64_S01.tsx.meta new file mode 100644 index 0000000..b685e20 --- /dev/null +++ b/frontend/assets/resources/map/simple/Tile_W64_H64_S01.tsx.meta @@ -0,0 +1,5 @@ +{ + "ver": "2.0.0", + "uuid": "04f5911f-c460-41ee-8a6c-c1fec92fdcfe", + "subMetas": {} +} \ No newline at end of file diff --git a/frontend/assets/resources/map/simple/map.tmx b/frontend/assets/resources/map/simple/map.tmx new file mode 100644 index 0000000..2c2b987 --- /dev/null +++ b/frontend/assets/resources/map/simple/map.tmx @@ -0,0 +1,88 @@ + + + + + + + eJztz0ENACAMALGR4F8zNspyjwronZm7xPlcD0sPSw9LD0sPSw9LD0sPSw9LD0sPSw9LD0sPSw9LD0sPSw9LD0sPSw9LD0sPy7bHBg/ldQwR + + + + + + + + + + + + + eJztmd0OwiAMRheNv/P9n9eY2BtCgVJbvs6em8WauJ64wQdsW5L4cq7ULu5d6Ni/11vlu1oNkb34HNGldCDugzUETkydc0OmfF4iOhDkEtmBuK5uIAk3x7VAnxckHMnF+j2P+AzX8uaHSP97K2+26kiM5M1WHQEuC0Ry6eUZLicjufQcImS2dMDgCA7cGpKI4EBw40wkByLXw5iM5GS0rKvpx3rulvam6cfaRfr7/+DyMriXFK2LZNx6CO8lZdYFceyVujxNuvgNSGscLStduD2XWVa49PZcZvF0Gd1zmcXDRXLGp8HSxfuMz9LFe03j4eI1r1rmijzjSxIdb64rAxM= + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/assets/resources/map/simple/map.tmx.meta b/frontend/assets/resources/map/simple/map.tmx.meta new file mode 100644 index 0000000..062b61a --- /dev/null +++ b/frontend/assets/resources/map/simple/map.tmx.meta @@ -0,0 +1,5 @@ +{ + "ver": "2.0.2", + "uuid": "0fe4d0fd-d537-4440-93f7-fffda8897ab1", + "subMetas": {} +} \ No newline at end of file