From d085025a98f06180d8685bb3d497a0bedf126921 Mon Sep 17 00:00:00 2001 From: Randy McShandy Date: Tue, 31 Mar 2026 22:41:00 -0500 Subject: [PATCH] Teleportation and necessary camera work done. --- .../Tilesheet/monochrome_ba_packed.png | Bin 22392 -> 22395 bytes .../Tilesheet/monochrome_bw_packed.png | Bin 22375 -> 22375 bytes main/control.lua | 1 - main/handlers.lua | 2 + main/message.lua | 1 - main/player.lua | 20 + main/render.lua | 38 +- main/tiled/tablet_iv.lua | 467 +++++++++++++----- main/tiled/tablet_iv.tmx | 183 +++++-- main/vector.lua | 11 + 10 files changed, 550 insertions(+), 173 deletions(-) diff --git a/main/assets/tilesets/kenney_1_bit/Tilesheet/monochrome_ba_packed.png b/main/assets/tilesets/kenney_1_bit/Tilesheet/monochrome_ba_packed.png index 0036d2bd192221443217e581022030bca2391767..8dc915033fae31e00ff6b5bbd203a54e4ef79260 100644 GIT binary patch literal 22395 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 diff --git a/main/assets/tilesets/kenney_1_bit/Tilesheet/monochrome_bw_packed.png b/main/assets/tilesets/kenney_1_bit/Tilesheet/monochrome_bw_packed.png index 86ec7cd5d1dfbb5b5e4f10b2b78d50b40b9ee2cc..7a8542c4faa7b283cb2b40d1aaaaf1d1e5a66b5c 100644 GIT binary patch delta 22 ecmaF9j`8_A#tE}InMD{`&DC!RD{fqJI1B(}RR~r9 delta 22 ecmaF9j`8_A#tE}I8ReOzv;$eRPi$OrI1B(}hX{TE diff --git a/main/control.lua b/main/control.lua index 722a2d3..a49173a 100644 --- a/main/control.lua +++ b/main/control.lua @@ -1,6 +1,5 @@ -- control.lua -local player_module = require('player') local assets = require('assets') local render = require('render') diff --git a/main/handlers.lua b/main/handlers.lua index 23a7cbf..49f0ecf 100644 --- a/main/handlers.lua +++ b/main/handlers.lua @@ -5,6 +5,7 @@ local control = require('control') local message = require('message') +local player_module = require('player') local render = require('render') function love.handlers.map_changed(new_map_name) @@ -29,6 +30,7 @@ end function love.handlers.ui_control(key, value) message.ui_control(key, value) + player_module.ui_control(key, value) end function love.handlers.collision(focus, pos) diff --git a/main/message.lua b/main/message.lua index 8a423c7..594ca26 100644 --- a/main/message.lua +++ b/main/message.lua @@ -61,7 +61,6 @@ end function message.ui_control(key, value) if (value.type == control.UIEvent.Interact) then - print('interact') message.active_message = nil end end diff --git a/main/player.lua b/main/player.lua index 84f1c19..5bbecbb 100644 --- a/main/player.lua +++ b/main/player.lua @@ -1,6 +1,7 @@ -- player.lua local conf = require('conf') +local control = require('control') local vector = require('vector') local collision = require('collision') local render = require('render') @@ -42,4 +43,23 @@ function player_module.draw(player_obj) end end +function player_module.ui_control(key, value) + local player = render.map.active_map.player + if value.type == control.UIEvent.Interact then + for k,object in pairs(render.map.active_map.objects) do + if vector.eq_xy({ x = object.x, y = object.y }, player.vec) then + if object.type == 'teleporter_tx' then + receiver = render.map.active_map.teleporters[object.properties.target] + rx_focus = render.map.active_map[receiver.properties.camera] + if receiver and rx_focus then + player.vec.x = receiver.x + player.vec.y = receiver.y + render.map.active_map.topleft = vector.scale_xy(rx_focus.vec, -1) + end + end + end + end + end +end + return player_module diff --git a/main/render.lua b/main/render.lua index 900e403..ecfd2c7 100644 --- a/main/render.lua +++ b/main/render.lua @@ -3,6 +3,7 @@ assets = require('assets') conf = require('conf') utils = require('utils') +vector = require('vector') render = {} @@ -25,7 +26,7 @@ render.color = {} -- wrapping a function that returns multiple values in {} packs -- them into a single struct render.color.really_dark = { love.math.colorFromBytes(2, 2, 2, 255) } -render.color.dark = { love.math.colorFromBytes(54, 54, 54, 255) } +render.color.dark = { love.math.colorFromBytes(51, 51, 51, 255) } render.color.light = { love.math.colorFromBytes(229, 229, 229, 255) } render.color.dark_trans60 = utils.shallow_copy(render.color.dark) @@ -52,6 +53,7 @@ render.viewport = function render.activate_map(new_map_name) local success = false local new_map = assets.get_map(new_map_name) + local player = assets.get_object('Player') if new_map then success = true @@ -59,6 +61,7 @@ function render.activate_map(new_map_name) render.map.scale = new_map.args.scale render.active_viewclass = render.ViewClassData[new_map.properties.viewclass] render.viewport = render.update_viewport() + love.graphics.setBackgroundColor(render.color.dark) -- Find all stored objects in the map we're switching to, and update their positional -- info with the unique copy stored in each map. @@ -67,12 +70,20 @@ function render.activate_map(new_map_name) if object_in_map then object.vec = object_in_map.vec if object_in_map.name == 'Player' then + render.map.active_map.player = object_in_map render.map.active_map.first_loop = (render.map.active_map.topleft == nil) render.map.active_map.topleft = render.map.active_camera(object) end end end + render.map.active_map.teleporters = {} + for k,object in pairs(render.map.active_map.objects) do + if object.type == 'teleporter_tx' or object.type == 'teleporter_rx' then + render.map.active_map.teleporters[object.name] = object + end + end + love.event.push('map_changed', new_map_name) end @@ -111,6 +122,7 @@ render.CameraClass = { -- Player free roam, transitioning the entire map screen at boundaries, -- akin to some retro styles NESFreeRoam = 2, + SingleScreenFreeRoam = 3, } render.map.cameras = {} @@ -167,9 +179,31 @@ function(focus) elseif ((focus.vec.heading == utils.Headings.North) and (((focus.vec.y * render.map.scale) - cf.y) % render.viewport.ey) == (render.viewport.ey - tile.h)) then new_topleft.y = new_topleft.y + (render.viewport.ey / render.map.scale) end + + return new_topleft +end + +render.map.cameras[render.CameraClass.SingleScreenFreeRoam] = +function(focus) + local tile = { + w = render.map.active_map.tilewidth * render.map.scale, + h = render.map.active_map.tileheight * render.map.scale, + } + + if render.map.active_map.first_loop then + render.map.active_map.first_loop = false + return + { + x = -render.map.active_map['CameraFocus'].vec.x + (tile.w / render.map.scale), + y = -render.map.active_map['CameraFocus'].vec.y + (tile.h / render.map.scale), + } + end + + local new_topleft = utils.shallow_copy(render.map.active_map.topleft) + return new_topleft end -render.map.active_camera = render.map.cameras[render.CameraClass.NESFreeRoam] +render.map.active_camera = render.map.cameras[render.CameraClass.SingleScreenFreeRoam] return render diff --git a/main/tiled/tablet_iv.lua b/main/tiled/tablet_iv.lua index a22a42a..70d899b 100644 --- a/main/tiled/tablet_iv.lua +++ b/main/tiled/tablet_iv.lua @@ -1,16 +1,16 @@ return { version = "1.10", luaversion = "5.1", - tiledversion = "1.11.2", + tiledversion = "1.12.0", class = "", orientation = "orthogonal", renderorder = "left-down", - width = 30, - height = 20, + width = 60, + height = 30, tilewidth = 16, tileheight = 16, - nextlayerid = 4, - nextobjectid = 16, + nextlayerid = 5, + nextobjectid = 54, properties = { ["viewclass"] = "topdown" }, @@ -43,7 +43,20 @@ return { properties = {}, wangsets = {}, tilecount = 1078, - tiles = {} + tiles = { + { + id = 253, + properties = { + ["wall"] = true + } + }, + { + id = 254, + properties = { + ["wall"] = true + } + } + } }, { name = "monochrome_bw_packed", @@ -72,7 +85,14 @@ return { properties = {}, wangsets = {}, tilecount = 1078, - tiles = {} + tiles = { + { + id = 254, + properties = { + ["wall"] = true + } + } + } } }, layers = { @@ -80,10 +100,10 @@ return { type = "tilelayer", x = 0, y = 0, - width = 30, - height = 20, + width = 60, + height = 30, id = 1, - name = "Tile Layer 1", + name = "Ground", class = "", visible = true, opacity = 0.9, @@ -94,26 +114,86 @@ return { properties = {}, encoding = "lua", data = { - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1079, 1080, 1079, 1079, 1177, 1079, 1, 1, 1, 1, 1079, 1079, 1583, 1177, 1177, 1079, 1, 1, 1, 1, 1079, 1079, 1177, 1177, 1177, 1183, 1, 1, - 1, 1, 1079, 1080, 1079, 1079, 1079, 1079, 1, 1, 1, 1, 1079, 1079, 1079, 1079, 1177, 1079, 1, 1, 1, 1, 1177, 1080, 1079, 1080, 1177, 1177, 1, 1, - 1, 1, 1079, 1079, 1079, 1177, 1079, 1177, 1, 1, 1, 1, 1079, 1079, 1079, 1177, 1080, 1080, 1, 1, 1, 1, 1079, 1079, 1079, 1177, 1079, 1079, 1, 1, - 1, 1, 1079, 1177, 1079, 1079, 1079, 1079, 1, 1, 1, 1, 1079, 1079, 1177, 1079, 1079, 1177, 1, 1, 1, 1, 1079, 1080, 1079, 1079, 1177, 1583, 1, 1, - 1, 1, 1079, 1080, 1177, 1177, 1079, 1079, 1, 1, 1, 1, 1177, 1079, 1079, 1079, 1079, 1079, 1, 1, 1, 1, 1079, 1183, 1080, 1079, 1079, 1177, 1, 1, - 1, 1, 1079, 1079, 1079, 1079, 1080, 1079, 1, 1, 1, 1, 1079, 1079, 1079, 1177, 1080, 1079, 1, 1, 1, 1, 1177, 1079, 1177, 1079, 1079, 1079, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1177, 1177, 1080, 1177, 1183, 1080, 1, 1, 1, 1, 1183, 1079, 1079, 1177, 1183, 1080, 1, 1, 1, 1, 1084, 1084, 1084, 1084, 1128, 1180, 1, 1, - 1, 1, 1079, 1183, 1079, 1177, 1079, 1080, 1, 1, 1, 1, 1079, 1079, 1177, 1079, 1080, 1183, 1, 1, 1, 1, 1084, 1086, 1177, 1128, 1128, 1128, 1, 1, - 1, 1, 1080, 1177, 1583, 1177, 1177, 1079, 1, 1, 1, 1, 1583, 1079, 1079, 1079, 1079, 1079, 1, 1, 1, 1, 1079, 1079, 1079, 1079, 1128, 1128, 1, 1, - 1, 1, 1183, 1080, 1079, 1177, 1177, 1177, 1, 1, 1, 1, 1177, 1177, 1177, 1079, 1177, 1177, 1, 1, 1, 1, 1084, 1177, 1128, 1128, 1128, 1180, 1, 1, - 1, 1, 1177, 1079, 1177, 1080, 1079, 1079, 1, 1, 1, 1, 1177, 1080, 1079, 1079, 1177, 1080, 1, 1, 1, 1, 1177, 1177, 1128, 1180, 1180, 1128, 1, 1, - 1, 1, 1079, 1177, 1177, 1079, 1079, 1079, 1, 1, 1, 1, 1183, 1079, 1080, 1080, 1177, 1183, 1, 1, 1, 1, 1080, 1177, 1080, 1128, 1180, 1128, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 + 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 254, 1332, 1610614069, 1610614069, 1610614069, 1610614069, 1610614069, 1610614069, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 1332, 1610614069, 1610614069, 1610614069, 1610614069, 1610614069, 1610614069, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 1332, 1610614069, 1610614069, 1610614069, 1610614069, 1610614069, 1610614069, 1332, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 254, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 254, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 254, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 254, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 254, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 254, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 254, 1332, 2684355893, 2684355893, 2684355893, 2684355893, 2684355893, 2684355893, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 1332, 2684355893, 2684355893, 2684355893, 2684355893, 2684355893, 2684355893, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 1332, 2684355893, 2684355893, 2684355893, 2684355893, 2684355893, 2684355893, 1332, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 1332, 1332, 1610614069, 1610614069, 1610614069, 1610614069, 1610614069, 1610614069, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 1332, 1610614069, 1610614069, 1610614069, 1610614069, 1610614069, 1610614069, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 1332, 1610614069, 1610614069, 1610614069, 1610614069, 1610614069, 1610614069, 1332, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 1332, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 1332, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 1332, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 1332, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 1332, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 1332, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 3221226805, 1079, 1079, 1079, 1079, 1079, 1079, 1333, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 1332, 1332, 2684355893, 2684355893, 2684355893, 2684355893, 2684355893, 2684355893, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 1332, 2684355893, 2684355893, 2684355893, 2684355893, 2684355893, 2684355893, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 1332, 2684355893, 2684355893, 2684355893, 2684355893, 2684355893, 2684355893, 1332, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, + 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254 + } + }, + { + type = "tilelayer", + x = 0, + y = 0, + width = 60, + height = 30, + id = 4, + name = "Decoration", + class = "", + visible = true, + opacity = 1, + offsetx = 0, + offsety = 0, + parallaxx = 1, + parallaxy = 1, + properties = {}, + encoding = "lua", + data = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 99, 1, 106, 105, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 100, 1, 1, 99, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 99, 99, 105, 100, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 100, 99, 1, 106, 106, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 505, 106, 105, 1, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 105, 1, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 106, 106, 1, 99, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 1, 1, 99, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 1, 105, 105, 505, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 100, 106, 99, 106, 99, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 1, 100, 100, 1, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 99, 1, 99, 106, 1, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 105, 1, 99, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 105, 1, 1, 1, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 100, 100, 1, 100, 99, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 1, 1, 106, 105, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 1, 105, 1, 105, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 99, 99, 99, 99, 1, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 1, 99, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 105, 102, 50, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 1, 1, 505, 105, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 99, 99, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 99, 50, 50, 50, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 99, 1, 1, 99, 105, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 505, 99, 1, 1, 1, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 505, 2684354623, 2684354623, 2684354623, 102, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 99, 1, 1, 105, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 99, 1, 99, 99, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 105, 50, 50, 102, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 1, 1, 105, 105, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 6, 50, 102, 50, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 105, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 105, 6, 50, 50, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, { @@ -130,192 +210,317 @@ return { parallaxy = 1, properties = {}, objects = { - { - id = 1, - name = "Player", - type = "", - shape = "rectangle", - x = 32, - y = 48, - width = 16, - height = 16, - rotation = 0, - gid = 1593, - visible = true, - properties = {} - }, { id = 2, name = "CameraFocus", - type = "Meta", + type = "", shape = "point", x = 0, y = 16, width = 0, height = 0, rotation = 0, + opacity = 1, visible = true, properties = {} }, { - id = 3, + id = 17, name = "teleporter_tx_a", - type = "", - shape = "rectangle", + type = "teleporter_tx", + shape = "point", x = 96, - y = 112, - width = 16, - height = 16, + y = 96, + width = 0, + height = 0, rotation = 0, - gid = 673, + opacity = 1, visible = true, properties = { ["target"] = "teleporter_rx_a" } }, { - id = 7, - name = "teleporter_rx_a", - type = "", - shape = "rectangle", - x = 208, - y = 48, - width = 16, - height = 16, + id = 20, + name = "teleporter_tx_d", + type = "teleporter_tx", + shape = "point", + x = 32, + y = 224, + width = 0, + height = 0, + rotation = 0, + opacity = 1, + visible = true, + properties = { + ["target"] = "teleporter_rx_d" + } + }, + { + id = 24, + name = "teleporter_rx_c", + type = "teleporter_rx", + shape = "point", + x = 64, + y = 272, + width = 0, + height = 0, rotation = 0, - gid = 673, + opacity = 1, visible = true, properties = { + ["camera"] = "CameraFocus_c", ["target"] = "none" } }, { - id = 8, + id = 30, + name = "teleporter_tx_b2", + type = "teleporter_tx", + shape = "point", + x = 48, + y = 272, + width = 0, + height = 0, + rotation = 0, + opacity = 1, + visible = true, + properties = { + ["target"] = "teleporter_rx_b" + } + }, + { + id = 39, name = "teleporter_tx_b", - type = "", - shape = "rectangle", - x = 240, - y = 80, - width = 16, - height = 16, + type = "teleporter_tx", + shape = "point", + x = 352, + y = 96, + width = 0, + height = 0, rotation = 0, - gid = 673, + opacity = 1, visible = true, properties = { ["target"] = "teleporter_rx_b" } }, { - id = 9, + id = 40, name = "teleporter_tx_c", - type = "", - shape = "rectangle", - x = 384, - y = 128, - width = 16, - height = 16, + type = "teleporter_tx", + shape = "point", + x = 704, + y = 112, + width = 0, + height = 0, rotation = 0, - gid = 673, + opacity = 1, visible = true, properties = { ["target"] = "teleporter_rx_c" } }, { - id = 10, - name = "teleporter_rx_b", - type = "", - shape = "rectangle", + id = 41, + name = "teleporter_tx_e", + type = "teleporter_tx", + shape = "point", x = 432, - y = 96, - width = 16, - height = 16, + y = 256, + width = 0, + height = 0, rotation = 0, - gid = 673, + opacity = 1, visible = true, properties = { - ["target"] = "none" + ["target"] = "teleporter_rx_e" } }, { - id = 11, - name = "teleporter_tx_d", - type = "", - shape = "rectangle", - x = 32, - y = 208, - width = 16, - height = 16, + id = 42, + name = "teleporter_rx_a", + type = "teleporter_rx", + shape = "point", + x = 400, + y = 64, + width = 0, + height = 0, rotation = 0, - gid = 673, + opacity = 1, visible = true, properties = { - ["target"] = "teleporter_rx_d" + ["camera"] = "CameraFocus_a", + ["target"] = "none" } }, { - id = 12, - name = "teleporter_rx_c", - type = "", - shape = "rectangle", - x = 64, - y = 240, - width = 16, - height = 16, + id = 43, + name = "teleporter_rx_b", + type = "teleporter_rx", + shape = "point", + x = 720, + y = 64, + width = 0, + height = 0, rotation = 0, - gid = 673, + opacity = 1, visible = true, properties = { + ["camera"] = "CameraFocus_b", ["target"] = "none" } }, { - id = 13, - name = "teleporter_tx_e", - type = "", - shape = "rectangle", - x = 272, - y = 240, - width = 16, - height = 16, + id = 44, + name = "teleporter_rx_d", + type = "teleporter_rx", + shape = "point", + x = 400, + y = 272, + width = 0, + height = 0, rotation = 0, - gid = 673, + opacity = 1, visible = true, properties = { - ["target"] = "teleporter_rx_e" + ["camera"] = "CameraFocus_d", + ["target"] = "none" } }, { - id = 14, - name = "teleporter_rx_d", - type = "", - shape = "rectangle", - x = 192, + id = 45, + name = "teleporter_rx_e", + type = "teleporter_rx", + shape = "point", + x = 672, y = 240, - width = 16, - height = 16, + width = 0, + height = 0, rotation = 0, - gid = 673, + opacity = 1, visible = true, properties = { + ["camera"] = "CameraFocus_e", ["target"] = "none" } }, { - id = 15, - name = "teleporter_rx_e", + id = 46, + name = "teleporter_tx_a2", + type = "teleporter_tx", + shape = "point", + x = 688, + y = 48, + width = 0, + height = 0, + rotation = 0, + opacity = 1, + visible = true, + properties = { + ["target"] = "teleporter_rx_a" + } + }, + { + id = 47, + name = "teleporter_tx_c2", + type = "teleporter_tx", + shape = "point", + x = 352, + y = 304, + width = 0, + height = 0, + rotation = 0, + opacity = 1, + visible = true, + properties = { + ["target"] = "teleporter_rx_c" + } + }, + { + id = 48, + name = "Player", type = "", shape = "rectangle", - x = 352, - y = 240, + x = 64, + y = 48, width = 16, height = 16, rotation = 0, - gid = 673, + opacity = 1, + gid = 1593, visible = true, - properties = { - ["target"] = "none" - } + properties = {} + }, + { + id = 49, + name = "CameraFocus_a", + type = "", + shape = "point", + x = 304, + y = 0, + width = 0, + height = 0, + rotation = 0, + opacity = 1, + visible = true, + properties = {} + }, + { + id = 50, + name = "CameraFocus_b", + type = "", + shape = "point", + x = 624, + y = 0, + width = 0, + height = 0, + rotation = 0, + opacity = 1, + visible = true, + properties = {} + }, + { + id = 51, + name = "CameraFocus_c", + type = "", + shape = "point", + x = -16, + y = 192, + width = 0, + height = 0, + rotation = 0, + opacity = 1, + visible = true, + properties = {} + }, + { + id = 52, + name = "CameraFocus_d", + type = "", + shape = "point", + x = 304, + y = 192, + width = 0, + height = 0, + rotation = 0, + opacity = 1, + visible = true, + properties = {} + }, + { + id = 53, + name = "CameraFocus_e", + type = "", + shape = "point", + x = 624, + y = 192, + width = 0, + height = 0, + rotation = 0, + opacity = 1, + visible = true, + properties = {} } } } diff --git a/main/tiled/tablet_iv.tmx b/main/tiled/tablet_iv.tmx index c19fa4e..3904486 100644 --- a/main/tiled/tablet_iv.tmx +++ b/main/tiled/tablet_iv.tmx @@ -1,5 +1,5 @@ - + @@ -8,88 +8,195 @@ + + + + + + + + + + + + + + + - + -1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, -1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, -1,1,1079,1080,1079,1079,1177,1079,1,1,1,1,1079,1079,1583,1177,1177,1079,1,1,1,1,1079,1079,1177,1177,1177,1183,1,1, -1,1,1079,1080,1079,1079,1079,1079,1,1,1,1,1079,1079,1079,1079,1177,1079,1,1,1,1,1177,1080,1079,1080,1177,1177,1,1, -1,1,1079,1079,1079,1177,1079,1177,1,1,1,1,1079,1079,1079,1177,1080,1080,1,1,1,1,1079,1079,1079,1177,1079,1079,1,1, -1,1,1079,1177,1079,1079,1079,1079,1,1,1,1,1079,1079,1177,1079,1079,1177,1,1,1,1,1079,1080,1079,1079,1177,1583,1,1, -1,1,1079,1080,1177,1177,1079,1079,1,1,1,1,1177,1079,1079,1079,1079,1079,1,1,1,1,1079,1183,1080,1079,1079,1177,1,1, -1,1,1079,1079,1079,1079,1080,1079,1,1,1,1,1079,1079,1079,1177,1080,1079,1,1,1,1,1177,1079,1177,1079,1079,1079,1,1, -1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, -1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, -1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, -1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, -1,1,1177,1177,1080,1177,1183,1080,1,1,1,1,1183,1079,1079,1177,1183,1080,1,1,1,1,1084,1084,1084,1084,1128,1180,1,1, -1,1,1079,1183,1079,1177,1079,1080,1,1,1,1,1079,1079,1177,1079,1080,1183,1,1,1,1,1084,1086,1177,1128,1128,1128,1,1, -1,1,1080,1177,1583,1177,1177,1079,1,1,1,1,1583,1079,1079,1079,1079,1079,1,1,1,1,1079,1079,1079,1079,1128,1128,1,1, -1,1,1183,1080,1079,1177,1177,1177,1,1,1,1,1177,1177,1177,1079,1177,1177,1,1,1,1,1084,1177,1128,1128,1128,1180,1,1, -1,1,1177,1079,1177,1080,1079,1079,1,1,1,1,1177,1080,1079,1079,1177,1080,1,1,1,1,1177,1177,1128,1180,1180,1128,1,1, -1,1,1079,1177,1177,1079,1079,1079,1,1,1,1,1183,1079,1080,1080,1177,1183,1,1,1,1,1080,1177,1080,1128,1180,1128,1,1, -1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, -1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,1332,1332,1332,1332,1332,1332,1332,1332,1332,1332,254,254,254,254,254,254,254,254,254,254,1332,1332,1332,1332,1332,1332,1332,1332,1332,1332,1332,254,254,254,254,254,254,254,254,254,254, +254,1332,1610614069,1610614069,1610614069,1610614069,1610614069,1610614069,1332,254,254,254,254,254,254,254,254,254,254,1332,1332,1332,1610614069,1610614069,1610614069,1610614069,1610614069,1610614069,1332,254,254,254,254,254,254,254,254,254,254,1332,1332,1332,1610614069,1610614069,1610614069,1610614069,1610614069,1610614069,1332,1332,254,254,254,254,254,254,254,254,254,254, +254,3221226805,1079,1079,1079,1079,1079,1079,1333,254,254,254,254,254,254,254,254,254,254,1332,1332,3221226805,1079,1079,1079,1079,1079,1079,1333,254,254,254,254,254,254,254,254,254,254,1332,1332,3221226805,1079,1079,1079,1079,1079,1079,1333,1332,254,254,254,254,254,254,254,254,254,254, +254,3221226805,1079,1079,1079,1079,1079,1079,1333,254,254,254,254,254,254,254,254,254,254,1332,1332,3221226805,1079,1079,1079,1079,1079,1079,1333,254,254,254,254,254,254,254,254,254,254,1332,1332,3221226805,1079,1079,1079,1079,1079,1079,1333,1332,254,254,254,254,254,254,254,254,254,254, +254,3221226805,1079,1079,1079,1079,1079,1079,1333,254,254,254,254,254,254,254,254,254,254,1332,1332,3221226805,1079,1079,1079,1079,1079,1079,1333,254,254,254,254,254,254,254,254,254,254,1332,1332,3221226805,1079,1079,1079,1079,1079,1079,1333,1332,254,254,254,254,254,254,254,254,254,254, +254,3221226805,1079,1079,1079,1079,1079,1079,1333,254,254,254,254,254,254,254,254,254,254,1332,1332,3221226805,1079,1079,1079,1079,1079,1079,1333,254,254,254,254,254,254,254,254,254,254,1332,1332,3221226805,1079,1079,1079,1079,1079,1079,1333,1332,254,254,254,254,254,254,254,254,254,254, +254,3221226805,1079,1079,1079,1079,1079,1079,1333,254,254,254,254,254,254,254,254,254,254,1332,1332,3221226805,1079,1079,1079,1079,1079,1079,1333,254,254,254,254,254,254,254,254,254,254,1332,1332,3221226805,1079,1079,1079,1079,1079,1079,1333,1332,254,254,254,254,254,254,254,254,254,254, +254,3221226805,1079,1079,1079,1079,1079,1079,1333,254,254,254,254,254,254,254,254,254,254,1332,1332,3221226805,1079,1079,1079,1079,1079,1079,1333,254,254,254,254,254,254,254,254,254,254,1332,1332,3221226805,1079,1079,1079,1079,1079,1079,1333,1332,254,254,254,254,254,254,254,254,254,254, +254,1332,2684355893,2684355893,2684355893,2684355893,2684355893,2684355893,1332,254,254,254,254,254,254,254,254,254,254,1332,1332,1332,2684355893,2684355893,2684355893,2684355893,2684355893,2684355893,1332,254,254,254,254,254,254,254,254,254,254,1332,1332,1332,2684355893,2684355893,2684355893,2684355893,2684355893,2684355893,1332,1332,254,254,254,254,254,254,254,254,254,254, +254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254, +254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254, +1332,1332,1332,1332,1332,1332,1332,1332,1332,254,254,254,254,254,254,254,254,254,254,1332,1332,1332,1332,1332,1332,1332,1332,1332,1332,254,254,254,254,254,254,254,254,254,254,1332,1332,1332,1332,1332,1332,1332,1332,1332,1332,1332,254,254,254,254,254,254,254,254,254,254, +1332,1332,1332,1332,1332,1332,1332,1332,1332,254,254,254,254,254,254,254,254,254,254,1332,1332,1332,1332,1332,1332,1332,1332,1332,1332,254,254,254,254,254,254,254,254,254,254,1332,1332,1332,1332,1332,1332,1332,1332,1332,1332,1332,254,254,254,254,254,254,254,254,254,254, +1332,1332,1610614069,1610614069,1610614069,1610614069,1610614069,1610614069,1332,254,254,254,254,254,254,254,254,254,254,1332,1332,1332,1610614069,1610614069,1610614069,1610614069,1610614069,1610614069,1332,254,254,254,254,254,254,254,254,254,254,1332,1332,1332,1610614069,1610614069,1610614069,1610614069,1610614069,1610614069,1332,1332,254,254,254,254,254,254,254,254,254,254, +1332,3221226805,1079,1079,1079,1079,1079,1079,1333,254,254,254,254,254,254,254,254,254,254,1332,1332,3221226805,1079,1079,1079,1079,1079,1079,1333,254,254,254,254,254,254,254,254,254,254,1332,1332,3221226805,1079,1079,1079,1079,1079,1079,1333,1332,254,254,254,254,254,254,254,254,254,254, +1332,3221226805,1079,1079,1079,1079,1079,1079,1333,254,254,254,254,254,254,254,254,254,254,1332,1332,3221226805,1079,1079,1079,1079,1079,1079,1333,254,254,254,254,254,254,254,254,254,254,1332,1332,3221226805,1079,1079,1079,1079,1079,1079,1333,1332,254,254,254,254,254,254,254,254,254,254, +1332,3221226805,1079,1079,1079,1079,1079,1079,1333,254,254,254,254,254,254,254,254,254,254,1332,1332,3221226805,1079,1079,1079,1079,1079,1079,1333,254,254,254,254,254,254,254,254,254,254,1332,1332,3221226805,1079,1079,1079,1079,1079,1079,1333,1332,254,254,254,254,254,254,254,254,254,254, +1332,3221226805,1079,1079,1079,1079,1079,1079,1333,254,254,254,254,254,254,254,254,254,254,1332,1332,3221226805,1079,1079,1079,1079,1079,1079,1333,254,254,254,254,254,254,254,254,254,254,1332,1332,3221226805,1079,1079,1079,1079,1079,1079,1333,1332,254,254,254,254,254,254,254,254,254,254, +1332,3221226805,1079,1079,1079,1079,1079,1079,1333,254,254,254,254,254,254,254,254,254,254,1332,1332,3221226805,1079,1079,1079,1079,1079,1079,1333,254,254,254,254,254,254,254,254,254,254,1332,1332,3221226805,1079,1079,1079,1079,1079,1079,1333,1332,254,254,254,254,254,254,254,254,254,254, +1332,3221226805,1079,1079,1079,1079,1079,1079,1333,254,254,254,254,254,254,254,254,254,254,1332,1332,3221226805,1079,1079,1079,1079,1079,1079,1333,254,254,254,254,254,254,254,254,254,254,1332,1332,3221226805,1079,1079,1079,1079,1079,1079,1333,1332,254,254,254,254,254,254,254,254,254,254, +1332,1332,2684355893,2684355893,2684355893,2684355893,2684355893,2684355893,1332,254,254,254,254,254,254,254,254,254,254,1332,1332,1332,2684355893,2684355893,2684355893,2684355893,2684355893,2684355893,1332,254,254,254,254,254,254,254,254,254,254,1332,1332,1332,2684355893,2684355893,2684355893,2684355893,2684355893,2684355893,1332,1332,254,254,254,254,254,254,254,254,254,254, +1332,1332,1332,1332,1332,1332,1332,1332,1332,254,254,254,254,254,254,254,254,254,254,1332,1332,1332,1332,1332,1332,1332,1332,1332,1332,254,254,254,254,254,254,254,254,254,254,1332,1332,1332,1332,1332,1332,1332,1332,1332,1332,1332,254,254,254,254,254,254,254,254,254,254, +254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254, +254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254, +254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254, +254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254, +254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254, +254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254, +254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254, +254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254 + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,99,1,106,105,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,100,1,1,99,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,99,99,105,100,105,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,100,99,1,106,106,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,505,106,105,1,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,105,1,105,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,106,106,1,99,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,1,1,99,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,1,105,105,505,100,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,100,106,99,106,99,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,1,100,100,1,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,100,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,99,1,99,106,1,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,105,1,99,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,105,1,1,1,100,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,100,100,1,100,99,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,1,1,106,105,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,1,105,1,105,99,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,99,99,99,99,1,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,1,99,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,105,102,50,50,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,1,1,505,105,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,99,99,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,99,50,50,50,102,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,99,1,1,99,105,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,505,99,1,1,1,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,505,2684354623,2684354623,2684354623,102,50,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,99,1,1,105,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,99,1,99,99,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,105,50,50,102,50,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,1,1,1,105,105,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,6,50,102,50,50,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,105,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,105,6,50,50,50,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - - + - + + + + + + + + - + + + - + + - + - + + - + - + + - + - + + - + + + - + - + + + - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/main/vector.lua b/main/vector.lua index 3a0eb80..47e06f2 100644 --- a/main/vector.lua +++ b/main/vector.lua @@ -43,4 +43,15 @@ vector.add_xy = function(left, right) return new_vec end +vector.scale_xy = function(left, scale) + local new_vec = vector.new_xy() + new_vec.x = left.x * scale + new_vec.y = left.y * scale + return new_vec +end + +vector.eq_xy = function(left, right) + return ((left.x == right.x) and (left.y == right.y)) +end + return vector -- 2.49.0