diff --git a/main.lua b/main.lua index 58b7fb1..798c539 100644 --- a/main.lua +++ b/main.lua @@ -306,6 +306,10 @@ function _initCanvases() gameCanvas = love.graphics.newCanvas() finalCanvas = love.graphics.newCanvas() presentationCanvas = love.graphics.newCanvas() + -- Reused for each cardinal neighbour's alternate real-colour view at the + -- porous room boundary. Full-screen dimensions keep it pixel-aligned with + -- the gameplay canvas during shader compositing. + porousRoomCanvas = love.graphics.newCanvas() sideBarCanvas = love.graphics.newCanvas(math.max(1, sideBarBox.w), math.max(1, sideBarBox.h)) sideBarCanvas:setFilter("nearest", "nearest") -- never average when sampled end diff --git a/room.lua b/room.lua index 163ec00..3b984f3 100644 --- a/room.lua +++ b/room.lua @@ -130,17 +130,30 @@ function Room:update(dt) end end -function Room:draw() +-- A room's view is defined by the colour player copies that are in that room, +-- independent of which of those copies is currently being controlled. A caller +-- may supply another set for World's porous boundary without altering sprites +-- or colour blending. +function Room:getRenderChannels() + if gameWorld and gameWorld.roomBrowseMode then return {"red", "green", "blue"} end + local channels = {} + for _, color in ipairs({"red", "green", "blue"}) do + if self.player[color] then table.insert(channels, color) end + end + return channels +end + +function Room:draw(drawChannels) if gameWorld and gameWorld.levels and gameWorld.levels[self.name] == self and not gameWorld.drawingRoomNeighborhood then return gameWorld:drawRoomNeighborhood(self) end - self:drawWiresAt(0, 0, width / gridWidth, nil, false) + drawChannels = drawChannels or self:getRenderChannels() + self:drawWiresAt(0, 0, width / gridWidth, nil, false, drawChannels) - -- draw only the channels the player has. Each object just exposes sprites per + -- Draw only the channels active in this view. Each object just exposes sprites per -- channel via Entity:draw(channel); a door registered on all three channels -- naturally draws its red sprite on the red pass, etc. No per-object logic. - local drawChannels = gameWorld and gameWorld.roomBrowseMode and {"red", "green", "blue"} or self.colorsPlayerHas for _, channel in ipairs(drawChannels) do if self.player[channel] then self.player[channel]:draw(channel) end for _, entity in pairs(self.collideables[channel]) do entity:draw(channel) end @@ -190,7 +203,7 @@ function Room:removeWire(cell, circuitId) return true end -function Room:drawWiresAt(originX, originY, cellSize, selectedCircuit, editorColors) +function Room:drawWiresAt(originX, originY, cellSize, selectedCircuit, editorColors, renderChannels) local ids = {} for _, row in pairs(self.wires) do for _, tracks in pairs(row) do @@ -205,7 +218,7 @@ function Room:drawWiresAt(originX, originY, cellSize, selectedCircuit, editorCol local showAllChannels = gameWorld and gameWorld.roomBrowseMode local visibleColors = {red = showAllChannels, green = showAllChannels, blue = showAllChannels} if not showAllChannels then - for _, color in ipairs(self.colorsPlayerHas or {}) do visibleColors[color] = true end + for _, color in ipairs(renderChannels or self:getRenderChannels()) do visibleColors[color] = true end end local editorIsOn = editorView ~= nil and editorView ~= "off" for _, circuitId in ipairs(ordered) do diff --git a/rooms/room_13_14.sav b/rooms/room_13_14.sav index fb5313c..c23f293 100644 --- a/rooms/room_13_14.sav +++ b/rooms/room_13_14.sav @@ -1,1174 +1,1165 @@ { wires={ { + x=6, + y=2, + edges=0, + circuit="wire_6a7be7c5_0004" + }, + { + x=6, y=2, edges=2, - circuit="wire_6a7be7c5_0004", - x=6 + circuit="wire_6a7c19b9_0002" }, { + x=7, y=2, edges=10, - circuit="wire_6a7be7c5_0004", - x=7 + circuit="wire_6a7c19b9_0002" }, { + x=8, + y=2, + edges=10, + circuit="wire_6a7c19b9_0002" + }, + { + x=9, y=2, edges=12, - circuit="wire_6a7be7c5_0004", - x=8 + circuit="wire_6a7c19b9_0002" }, { + x=9, y=3, edges=5, - circuit="wire_6a7be7c5_0004", - x=8 + circuit="wire_6a7c19b9_0002" }, { + x=3, y=4, edges=4, - circuit="wire_6a7bec68_0012", - x=3 + circuit="wire_6a7bec68_0012" }, { + x=6, y=4, edges=4, - circuit="wire_6a7be789_0002", - x=6 + circuit="wire_6a7be789_0002" }, { + x=9, y=4, edges=5, - circuit="wire_6a7be7c5_0004", - x=8 + circuit="wire_6a7c19b9_0002" }, { + x=3, y=5, edges=3, - circuit="wire_6a7bec68_0012", - x=3 + circuit="wire_6a7bec68_0012" }, { + x=4, y=5, edges=12, - circuit="wire_6a7bec68_0012", - x=4 + circuit="wire_6a7bec68_0012" }, { + x=6, y=5, edges=5, - circuit="wire_6a7be789_0002", - x=6 + circuit="wire_6a7be789_0002" }, { + x=9, y=5, edges=3, - circuit="wire_6a7be7c5_0004", - x=8 + circuit="wire_6a7c19b9_0002" }, { + x=10, y=5, edges=10, - circuit="wire_6a7be7c5_0004", - x=9 + circuit="wire_6a7c19b9_0002" }, { + x=11, y=5, edges=8, - circuit="wire_6a7be7c5_0004", - x=10 + circuit="wire_6a7c19b9_0002" }, { + x=4, y=6, edges=5, - circuit="wire_6a7bec68_0012", - x=4 + circuit="wire_6a7bec68_0012" }, { + x=6, y=6, edges=5, - circuit="wire_6a7be789_0002", - x=6 + circuit="wire_6a7be789_0002" }, { + x=3, y=7, edges=4, - circuit="wire_6a7be918_000b", - x=3 + circuit="wire_6a7be918_000b" }, { + x=4, y=7, edges=5, - circuit="wire_6a7bec68_0012", - x=4 + circuit="wire_6a7bec68_0012" }, { + x=6, y=7, edges=1, - circuit="wire_6a7be789_0002", - x=6 + circuit="wire_6a7be789_0002" }, { + x=3, y=8, edges=5, - circuit="wire_6a7be918_000b", - x=3 + circuit="wire_6a7be918_000b" }, { + x=4, y=8, edges=3, - circuit="wire_6a7bec68_0012", - x=4 + circuit="wire_6a7bec68_0012" }, { + x=5, y=8, edges=10, - circuit="wire_6a7bec68_0012", - x=5 + circuit="wire_6a7bec68_0012" }, { + x=6, y=8, edges=10, - circuit="wire_6a7bec68_0012", - x=6 + circuit="wire_6a7bec68_0012" }, { + x=7, y=8, edges=10, - circuit="wire_6a7bec68_0012", - x=7 + circuit="wire_6a7bec68_0012" }, { + x=8, y=8, edges=10, - circuit="wire_6a7bec68_0012", - x=8 + circuit="wire_6a7bec68_0012" }, { + x=9, y=8, edges=10, - circuit="wire_6a7bec68_0012", - x=9 + circuit="wire_6a7bec68_0012" }, { + x=10, y=8, edges=10, - circuit="wire_6a7bec68_0012", - x=10 + circuit="wire_6a7bec68_0012" }, { + x=11, y=8, edges=10, - circuit="wire_6a7bec68_0012", - x=11 + circuit="wire_6a7bec68_0012" }, { + x=3, y=9, edges=5, - circuit="wire_6a7be918_000b", - x=3 + circuit="wire_6a7be918_000b" }, { + x=3, y=10, edges=3, - circuit="wire_6a7be918_000b", - x=3 + circuit="wire_6a7be918_000b" }, { + x=4, y=10, edges=10, - circuit="wire_6a7be918_000b", - x=4 + circuit="wire_6a7be918_000b" }, { + x=5, y=10, edges=10, - circuit="wire_6a7be918_000b", - x=5 + circuit="wire_6a7be918_000b" }, { + x=6, y=10, edges=10, - circuit="wire_6a7be918_000b", - x=6 + circuit="wire_6a7be918_000b" }, { + x=7, y=10, edges=10, - circuit="wire_6a7be918_000b", - x=7 + circuit="wire_6a7be918_000b" }, { + x=8, y=10, edges=10, - circuit="wire_6a7be918_000b", - x=8 + circuit="wire_6a7be918_000b" }, { + x=9, y=10, edges=10, - circuit="wire_6a7be918_000b", - x=9 + circuit="wire_6a7be918_000b" }, { + x=10, y=10, edges=10, - circuit="wire_6a7be918_000b", - x=10 + circuit="wire_6a7be918_000b" }, { + x=11, y=10, edges=10, - circuit="wire_6a7be918_000b", - x=11 + circuit="wire_6a7be918_000b" } }, objects={ { - y=7, - class="player", - color="blue", - active=true, - x=1 - }, - { - y=7, - class="player", + class="static_wall", color="red", - active=true, - x=1 - }, - { - y=7, - class="player", - color="green", - active=true, - x=1 - }, - { y=11, - color="blue", - x=7, - class="static_wall" + x=7 }, { + class="static_wall", + color="red", y=11, - color="blue", - x=8, - class="static_wall" + x=8 }, { + class="static_wall", + color="red", y=11, - color="blue", - x=8, - class="static_wall" + x=8 }, { + class="static_wall", + color="red", y=11, - color="blue", - x=9, - class="static_wall" + x=9 }, { + class="static_wall", + color="red", y=11, - color="blue", - x=10, - class="static_wall" - }, - { - y=11, - color="blue", - x=11, - class="static_wall" - }, - { - y=7, - color="blue", - x=11, - class="static_wall" - }, - { - y=6, - color="blue", - x=11, - class="static_wall" - }, - { - y=4, - color="blue", - x=10, - class="static_wall" - }, - { - y=3, - color="blue", - x=10, - class="static_wall" - }, - { - y=2, - color="blue", - x=11, - class="static_wall" - }, - { - y=1, - color="blue", - x=11, - class="static_wall" - }, - { - y=1, - color="blue", - x=10, - class="static_wall" - }, - { - y=1, - color="blue", - x=9, - class="static_wall" - }, - { - y=1, - color="blue", - x=8, - class="static_wall" - }, - { - y=1, - color="blue", - x=7, - class="static_wall" - }, - { - y=1, - color="blue", - x=6, - class="static_wall" - }, - { - y=1, - color="blue", - x=5, - class="static_wall" - }, - { - y=1, - color="blue", - x=4, - class="static_wall" - }, - { - y=1, - color="blue", - x=3, - class="static_wall" - }, - { - y=1, - color="blue", - x=2, - class="static_wall" - }, - { - y=1, - color="blue", - x=1, - class="static_wall" - }, - { - y=2, - color="blue", - x=1, - class="static_wall" - }, - { - y=3, - color="blue", - x=1, - class="static_wall" - }, - { - y=4, - color="blue", - x=1, - class="static_wall" - }, - { - y=5, - color="blue", - x=1, - class="static_wall" - }, - { - y=6, - color="blue", - x=1, - class="static_wall" - }, - { - y=8, - color="blue", - x=1, - class="static_wall" - }, - { - y=9, - color="blue", - x=1, - class="static_wall" - }, - { - y=10, - color="blue", - x=1, - class="static_wall" - }, - { - y=11, - color="blue", - x=1, - class="static_wall" - }, - { - y=11, - color="blue", - x=2, - class="static_wall" - }, - { - y=11, - color="blue", - x=3, - class="static_wall" - }, - { - y=11, - color="blue", - x=4, - class="static_wall" - }, - { - y=11, - color="blue", - x=5, - class="static_wall" - }, - { - y=11, - color="blue", - x=6, - class="static_wall" - }, - { - y=11, - color="blue", - x=7, - class="static_wall" - }, - { - y=11, - color="blue", - x=8, - class="static_wall" - }, - { - y=11, - color="blue", - x=9, - class="static_wall" - }, - { - y=11, - color="blue", - x=10, - class="static_wall" - }, - { - y=4, - circuit="wire_6a7be789_0002", - class="wired_door", - color="blue", - x=6 - }, - { - y=3, - color="blue", - x=5, - class="static_wall" - }, - { - y=2, - color="blue", - x=5, - class="static_wall" - }, - { - y=2, - color="blue", - x=7, - class="static_wall" - }, - { - y=3, - color="blue", - x=7, - class="static_wall" - }, - { - y=5, - circuit="wire_6a7be7c5_0004", - class="wired_door", - color="blue", x=10 }, { - y=3, - color="blue", - x=5, - class="static_wall" + class="static_wall", + color="red", + y=11, + x=11 }, { + class="static_wall", + color="red", + y=7, + x=11 + }, + { + class="static_wall", + color="red", + y=6, + x=11 + }, + { + class="static_wall", + color="red", y=2, - color="blue", - x=5, - class="static_wall" + x=11 }, { - y=2, - color="blue", - x=7, - class="static_wall" + class="static_wall", + color="red", + y=1, + x=11 }, { - y=3, - color="blue", - x=7, - class="static_wall" + class="static_wall", + color="red", + y=1, + x=10 }, { - y=10, - color="blue", - x=11, - class="static_wall" + class="static_wall", + color="red", + y=1, + x=9 }, { - y=9, - color="blue", - x=11, - class="static_wall" + class="static_wall", + color="red", + y=1, + x=8 }, { - y=8, - color="blue", - x=11, - class="static_wall" + class="static_wall", + color="red", + y=1, + x=7 }, { - y=4, - color="blue", - x=2, - class="static_wall" + class="static_wall", + color="red", + y=1, + x=6 }, { - y=4, - color="blue", - x=4, - class="static_wall" + class="static_wall", + color="red", + y=1, + x=5 }, { - y=4, - circuit="wire_6a7bec68_0012", - class="wired_door", - color="blue", + class="static_wall", + color="red", + y=1, + x=4 + }, + { + class="static_wall", + color="red", + y=1, x=3 }, { + class="static_wall", + color="red", + y=1, + x=2 + }, + { + class="static_wall", + color="red", + y=1, + x=1 + }, + { + class="static_wall", + color="red", y=2, - color="blue", - x=3, - class="box" + x=1 }, { - y=11, + class="static_wall", color="red", - x=7, - class="static_wall" - }, - { - y=11, - color="red", - x=8, - class="static_wall" - }, - { - y=11, - color="red", - x=8, - class="static_wall" - }, - { - y=11, - color="red", - x=9, - class="static_wall" - }, - { - y=11, - color="red", - x=10, - class="static_wall" - }, - { - y=11, - color="red", - x=11, - class="static_wall" - }, - { - y=7, - color="red", - x=11, - class="static_wall" - }, - { - y=6, - color="red", - x=11, - class="static_wall" - }, - { - y=4, - color="red", - x=10, - class="static_wall" - }, - { y=3, - color="red", - x=10, - class="static_wall" + x=1 }, { - y=2, + class="static_wall", color="red", - x=11, - class="static_wall" - }, - { - y=1, - color="red", - x=11, - class="static_wall" - }, - { - y=1, - color="red", - x=10, - class="static_wall" - }, - { - y=1, - color="red", - x=9, - class="static_wall" - }, - { - y=1, - color="red", - x=8, - class="static_wall" - }, - { - y=1, - color="red", - x=7, - class="static_wall" - }, - { - y=1, - color="red", - x=6, - class="static_wall" - }, - { - y=1, - color="red", - x=5, - class="static_wall" - }, - { - y=1, - color="red", - x=4, - class="static_wall" - }, - { - y=1, - color="red", - x=3, - class="static_wall" - }, - { - y=1, - color="red", - x=2, - class="static_wall" - }, - { - y=1, - color="red", - x=1, - class="static_wall" - }, - { - y=2, - color="red", - x=1, - class="static_wall" - }, - { - y=3, - color="red", - x=1, - class="static_wall" - }, - { y=4, - color="red", - x=1, - class="static_wall" + x=1 }, { + class="static_wall", + color="red", y=5, - color="red", - x=1, - class="static_wall" + x=1 }, { + class="static_wall", + color="red", y=6, - color="red", - x=1, - class="static_wall" + x=1 }, { + class="static_wall", + color="red", y=8, - color="red", - x=1, - class="static_wall" + x=1 }, { + class="static_wall", + color="red", y=9, - color="red", - x=1, - class="static_wall" + x=1 }, { + class="static_wall", + color="red", y=10, - color="red", - x=1, - class="static_wall" + x=1 }, { + class="static_wall", + color="red", y=11, - color="red", - x=1, - class="static_wall" + x=1 }, { + class="static_wall", + color="red", y=11, - color="red", - x=2, - class="static_wall" + x=2 }, { + class="static_wall", + color="red", y=11, - color="red", - x=3, - class="static_wall" + x=3 }, { + class="static_wall", + color="red", y=11, - color="red", - x=4, - class="static_wall" + x=4 }, { + class="static_wall", + color="red", y=11, - color="red", - x=5, - class="static_wall" + x=5 }, { + class="static_wall", + color="red", y=11, - color="red", - x=6, - class="static_wall" - }, - { - y=11, - color="red", - x=7, - class="static_wall" - }, - { - y=11, - color="red", - x=8, - class="static_wall" - }, - { - y=11, - color="red", - x=9, - class="static_wall" - }, - { - y=11, - color="red", - x=10, - class="static_wall" - }, - { - y=4, - circuit="wire_6a7be789_0002", - class="wired_door", - color="red", x=6 }, { - y=5, - circuit="wire_6a7be7c5_0004", - class="wired_door", + class="static_wall", color="red", + y=11, + x=7 + }, + { + class="static_wall", + color="red", + y=11, + x=8 + }, + { + class="static_wall", + color="red", + y=11, + x=9 + }, + { + class="static_wall", + color="red", + y=11, x=10 }, { - y=3, - color="red", - x=5, - class="static_wall" - }, - { - y=2, - color="red", - x=5, - class="static_wall" - }, - { - y=2, - color="red", - x=7, - class="static_wall" - }, - { - y=3, - color="red", - x=7, - class="static_wall" - }, - { - y=11, - color="green", - x=7, - class="static_wall" - }, - { - y=11, - color="green", - x=8, - class="static_wall" - }, - { - y=11, - color="green", - x=8, - class="static_wall" - }, - { - y=11, - color="green", - x=9, - class="static_wall" - }, - { - y=11, - color="green", - x=10, - class="static_wall" - }, - { - y=11, - color="green", - x=11, - class="static_wall" - }, - { - y=7, - color="green", - x=11, - class="static_wall" - }, - { - y=6, - color="green", - x=11, - class="static_wall" - }, - { - y=4, - color="green", - x=10, - class="static_wall" - }, - { - y=3, - color="green", - x=10, - class="static_wall" - }, - { - y=2, - color="green", - x=11, - class="static_wall" - }, - { - y=1, - color="green", - x=11, - class="static_wall" - }, - { - y=1, - color="green", - x=10, - class="static_wall" - }, - { - y=1, - color="green", - x=9, - class="static_wall" - }, - { - y=1, - color="green", - x=8, - class="static_wall" - }, - { - y=1, - color="green", - x=7, - class="static_wall" - }, - { - y=1, - color="green", x=6, - class="static_wall" - }, - { - y=1, - color="green", - x=5, - class="static_wall" - }, - { - y=1, - color="green", - x=4, - class="static_wall" - }, - { - y=1, - color="green", - x=3, - class="static_wall" - }, - { - y=1, - color="green", - x=2, - class="static_wall" - }, - { - y=1, - color="green", - x=1, - class="static_wall" - }, - { - y=2, - color="green", - x=1, - class="static_wall" - }, - { - y=3, - color="green", - x=1, - class="static_wall" - }, - { y=4, - color="green", - x=1, - class="static_wall" - }, - { - y=5, - color="green", - x=1, - class="static_wall" - }, - { - y=6, - color="green", - x=1, - class="static_wall" - }, - { - y=8, - color="green", - x=1, - class="static_wall" - }, - { - y=9, - color="green", - x=1, - class="static_wall" - }, - { - y=10, - color="green", - x=1, - class="static_wall" - }, - { - y=11, - color="green", - x=1, - class="static_wall" - }, - { - y=11, - color="green", - x=2, - class="static_wall" - }, - { - y=11, - color="green", - x=3, - class="static_wall" - }, - { - y=11, - color="green", - x=4, - class="static_wall" - }, - { - y=11, - color="green", - x=5, - class="static_wall" - }, - { - y=11, - color="green", - x=6, - class="static_wall" - }, - { - y=11, - color="green", - x=7, - class="static_wall" - }, - { - y=11, - color="green", - x=8, - class="static_wall" - }, - { - y=11, - color="green", - x=9, - class="static_wall" - }, - { - y=11, - color="green", - x=10, - class="static_wall" - }, - { - y=4, - circuit="wire_6a7be789_0002", class="wired_door", + color="red", + circuit="wire_6a7be789_0002" + }, + { + class="static_wall", + color="red", + y=3, + x=5 + }, + { + class="static_wall", + color="red", + y=2, + x=5 + }, + { + class="static_wall", + color="red", + y=2, + x=7 + }, + { + class="static_wall", + color="red", + y=3, + x=7 + }, + { + x=11, + y=5, + class="wired_door", + color="red", + circuit="wire_6a7c19b9_0002" + }, + { + class="static_wall", + color="red", + y=3, + x=11 + }, + { + class="static_wall", + color="red", + y=4, + x=11 + }, + { + class="static_wall", color="green", + y=11, + x=7 + }, + { + class="static_wall", + color="green", + y=11, + x=8 + }, + { + class="static_wall", + color="green", + y=11, + x=8 + }, + { + class="static_wall", + color="green", + y=11, + x=9 + }, + { + class="static_wall", + color="green", + y=11, + x=10 + }, + { + class="static_wall", + color="green", + y=11, + x=11 + }, + { + class="static_wall", + color="green", + y=7, + x=11 + }, + { + class="static_wall", + color="green", + y=6, + x=11 + }, + { + class="static_wall", + color="green", + y=2, + x=11 + }, + { + class="static_wall", + color="green", + y=1, + x=11 + }, + { + class="static_wall", + color="green", + y=1, + x=10 + }, + { + class="static_wall", + color="green", + y=1, + x=9 + }, + { + class="static_wall", + color="green", + y=1, + x=8 + }, + { + class="static_wall", + color="green", + y=1, + x=7 + }, + { + class="static_wall", + color="green", + y=1, x=6 }, { - y=5, - circuit="wire_6a7be7c5_0004", - class="wired_door", + class="static_wall", color="green", + y=1, + x=5 + }, + { + class="static_wall", + color="green", + y=1, + x=4 + }, + { + class="static_wall", + color="green", + y=1, + x=3 + }, + { + class="static_wall", + color="green", + y=1, + x=2 + }, + { + class="static_wall", + color="green", + y=1, + x=1 + }, + { + class="static_wall", + color="green", + y=2, + x=1 + }, + { + class="static_wall", + color="green", + y=3, + x=1 + }, + { + class="static_wall", + color="green", + y=4, + x=1 + }, + { + class="static_wall", + color="green", + y=5, + x=1 + }, + { + class="static_wall", + color="green", + y=6, + x=1 + }, + { + class="static_wall", + color="green", + y=8, + x=1 + }, + { + class="static_wall", + color="green", + y=9, + x=1 + }, + { + class="static_wall", + color="green", + y=10, + x=1 + }, + { + class="static_wall", + color="green", + y=11, + x=1 + }, + { + class="static_wall", + color="green", + y=11, + x=2 + }, + { + class="static_wall", + color="green", + y=11, + x=3 + }, + { + class="static_wall", + color="green", + y=11, + x=4 + }, + { + class="static_wall", + color="green", + y=11, + x=5 + }, + { + class="static_wall", + color="green", + y=11, + x=6 + }, + { + class="static_wall", + color="green", + y=11, + x=7 + }, + { + class="static_wall", + color="green", + y=11, + x=8 + }, + { + class="static_wall", + color="green", + y=11, + x=9 + }, + { + class="static_wall", + color="green", + y=11, x=10 }, { + x=6, + y=4, + class="wired_door", + color="green", + circuit="wire_6a7be789_0002" + }, + { + class="static_wall", + color="green", y=3, - color="green", - x=5, - class="static_wall" + x=5 }, { + class="static_wall", + color="green", y=2, - color="green", - x=5, - class="static_wall" + x=5 }, { + class="static_wall", + color="green", y=2, - color="green", - x=7, - class="static_wall" + x=7 }, { + class="static_wall", + color="green", y=3, - color="green", - x=7, - class="static_wall" + x=7 }, { - y=7, + x=11, + y=5, + class="wired_door", + color="green", + circuit="wire_6a7c19b9_0002" + }, + { + class="static_wall", + color="green", + y=3, + x=11 + }, + { + class="static_wall", + color="green", + y=4, + x=11 + }, + { + class="static_wall", color="blue", + y=11, + x=7 + }, + { + class="static_wall", + color="blue", + y=11, + x=8 + }, + { + class="static_wall", + color="blue", + y=11, + x=8 + }, + { + class="static_wall", + color="blue", + y=11, + x=9 + }, + { + class="static_wall", + color="blue", + y=11, + x=10 + }, + { + class="static_wall", + color="blue", + y=11, + x=11 + }, + { + class="static_wall", + color="blue", + y=7, + x=11 + }, + { + class="static_wall", + color="blue", + y=6, + x=11 + }, + { + class="static_wall", + color="blue", + y=2, + x=11 + }, + { + class="static_wall", + color="blue", + y=1, + x=11 + }, + { + class="static_wall", + color="blue", + y=1, + x=10 + }, + { + class="static_wall", + color="blue", + y=1, + x=9 + }, + { + class="static_wall", + color="blue", + y=1, + x=8 + }, + { + class="static_wall", + color="blue", + y=1, + x=7 + }, + { + class="static_wall", + color="blue", + y=1, + x=6 + }, + { + class="static_wall", + color="blue", + y=1, + x=5 + }, + { + class="static_wall", + color="blue", + y=1, + x=4 + }, + { + class="static_wall", + color="blue", + y=1, + x=3 + }, + { + class="static_wall", + color="blue", + y=1, + x=2 + }, + { + class="static_wall", + color="blue", + y=1, + x=1 + }, + { + class="static_wall", + color="blue", + y=2, + x=1 + }, + { + class="static_wall", + color="blue", + y=3, + x=1 + }, + { + class="static_wall", + color="blue", + y=4, + x=1 + }, + { + class="static_wall", + color="blue", + y=5, + x=1 + }, + { + class="static_wall", + color="blue", + y=6, + x=1 + }, + { + class="static_wall", + color="blue", + y=8, + x=1 + }, + { + class="static_wall", + color="blue", + y=9, + x=1 + }, + { + class="static_wall", + color="blue", + y=10, + x=1 + }, + { + class="static_wall", + color="blue", + y=11, + x=1 + }, + { + class="static_wall", + color="blue", + y=11, + x=2 + }, + { + class="static_wall", + color="blue", + y=11, + x=3 + }, + { + class="static_wall", + color="blue", + y=11, + x=4 + }, + { + class="static_wall", + color="blue", + y=11, + x=5 + }, + { + class="static_wall", + color="blue", + y=11, + x=6 + }, + { + class="static_wall", + color="blue", + y=11, + x=7 + }, + { + class="static_wall", + color="blue", + y=11, + x=8 + }, + { + class="static_wall", + color="blue", + y=11, + x=9 + }, + { + class="static_wall", + color="blue", + y=11, + x=10 + }, + { + x=6, + y=4, + class="wired_door", + color="blue", + circuit="wire_6a7be789_0002" + }, + { + class="static_wall", + color="blue", + y=3, + x=5 + }, + { + class="static_wall", + color="blue", + y=2, + x=5 + }, + { + class="static_wall", + color="blue", + y=2, + x=7 + }, + { + class="static_wall", + color="blue", + y=3, + x=7 + }, + { + class="static_wall", + color="blue", + y=3, + x=5 + }, + { + class="static_wall", + color="blue", + y=2, + x=5 + }, + { + class="static_wall", + color="blue", + y=2, + x=7 + }, + { + class="static_wall", + color="blue", + y=3, + x=7 + }, + { + class="static_wall", + color="blue", + y=10, + x=11 + }, + { + class="static_wall", + color="blue", + y=9, + x=11 + }, + { + class="static_wall", + color="blue", + y=8, + x=11 + }, + { + class="static_wall", + color="blue", + y=4, + x=2 + }, + { + class="static_wall", + color="blue", + y=4, + x=4 + }, + { x=3, - class="wired_switch" - }, - { - y=2, - color="red", - x=6, - class="wired_switch" - }, - { - y=2, - color="green", - x=6, - class="wired_switch" - }, - { - y=7, + y=4, + class="wired_door", color="blue", - x=6, - class="wired_switch" + circuit="wire_6a7bec68_0012" + }, + { + x=11, + y=5, + class="wired_door", + color="blue", + circuit="wire_6a7c19b9_0002" + }, + { + class="static_wall", + color="blue", + y=3, + x=11 + }, + { + class="static_wall", + color="blue", + y=4, + x=11 + }, + { + class="box", + color="blue", + y=2, + x=3 + }, + { + class="wired_switch", + color="blue", + y=7, + x=3 + }, + { + class="wired_switch", + color="red", + y=2, + x=6 + }, + { + class="wired_switch", + color="green", + y=2, + x=6 + }, + { + class="wired_switch", + color="blue", + y=7, + x=6 } } } \ No newline at end of file diff --git a/rooms/room_14_14.sav b/rooms/room_14_14.sav index 7fdce24..e2983e1 100644 --- a/rooms/room_14_14.sav +++ b/rooms/room_14_14.sav @@ -1,250 +1,250 @@ { objects={ { - class="static_wall", x=1, - color="red", - y=11 + class="static_wall", + y=11, + color="red" }, { - class="static_wall", x=2, - color="red", - y=11 + class="static_wall", + y=11, + color="red" }, { - class="static_wall", x=3, - color="red", - y=11 + class="static_wall", + y=11, + color="red" }, { - class="static_wall", x=4, - color="red", - y=11 + class="static_wall", + y=11, + color="red" }, { - class="static_wall", x=5, - color="red", - y=11 + class="static_wall", + y=11, + color="red" }, { - class="static_wall", x=6, - color="red", - y=11 + class="static_wall", + y=11, + color="red" }, { - class="static_wall", x=7, - color="red", - y=11 + class="static_wall", + y=11, + color="red" }, { - class="static_wall", x=8, - color="red", - y=11 + class="static_wall", + y=11, + color="red" }, { - class="static_wall", x=9, - color="red", - y=11 + class="static_wall", + y=11, + color="red" }, { - class="static_wall", x=10, - color="red", - y=11 + class="static_wall", + y=11, + color="red" }, { - class="static_wall", x=11, - color="red", - y=11 + class="static_wall", + y=11, + color="red" }, { - class="static_wall", x=11, - color="red", - y=10 + class="static_wall", + y=10, + color="red" }, { - class="static_wall", x=11, - color="red", - y=9 + class="static_wall", + y=9, + color="red" }, { - class="static_wall", x=11, - color="red", - y=8 + class="static_wall", + y=8, + color="red" }, { - class="static_wall", x=11, - color="red", - y=7 + class="static_wall", + y=7, + color="red" }, { - class="static_wall", x=11, - color="red", - y=5 + class="static_wall", + y=5, + color="red" }, { - class="static_wall", x=11, - color="red", - y=2 + class="static_wall", + y=2, + color="red" }, { - class="static_wall", x=11, - color="red", - y=3 + class="static_wall", + y=3, + color="red" }, { - class="static_wall", x=11, - color="red", - y=4 + class="static_wall", + y=4, + color="red" }, { - class="static_wall", x=11, - color="red", - y=3 + class="static_wall", + y=3, + color="red" }, { - class="static_wall", x=11, - color="red", - y=2 + class="static_wall", + y=2, + color="red" }, { - class="static_wall", x=11, - color="red", - y=1 + class="static_wall", + y=1, + color="red" }, { - class="static_wall", x=10, - color="red", - y=1 + class="static_wall", + y=1, + color="red" }, { - class="static_wall", x=9, - color="red", - y=2 + class="static_wall", + y=2, + color="red" }, { - class="static_wall", x=8, - color="red", - y=2 + class="static_wall", + y=2, + color="red" }, { - class="static_wall", x=7, - color="red", - y=2 + class="static_wall", + y=2, + color="red" }, { - class="static_wall", x=7, - color="red", - y=1 + class="static_wall", + y=1, + color="red" }, { - class="static_wall", x=6, - color="red", - y=1 + class="static_wall", + y=1, + color="red" }, { - class="static_wall", x=5, - color="red", - y=1 + class="static_wall", + y=1, + color="red" }, { - class="static_wall", x=4, - color="red", - y=1 + class="static_wall", + y=1, + color="red" }, { - class="static_wall", x=3, - color="red", - y=1 + class="static_wall", + y=1, + color="red" }, { - class="static_wall", x=2, - color="red", - y=1 + class="static_wall", + y=1, + color="red" }, { - class="static_wall", x=1, - color="red", - y=1 + class="static_wall", + y=1, + color="red" }, { - class="static_wall", x=2, - color="red", - y=1 + class="static_wall", + y=1, + color="red" }, { - class="static_wall", x=3, - color="red", - y=1 + class="static_wall", + y=1, + color="red" }, { - class="static_wall", x=4, - color="red", - y=1 + class="static_wall", + y=1, + color="red" }, { - class="static_wall", x=5, - color="red", - y=1 + class="static_wall", + y=1, + color="red" }, { - class="static_wall", x=6, - color="red", - y=1 + class="static_wall", + y=1, + color="red" }, { - class="static_wall", x=7, - color="red", - y=1 + class="static_wall", + y=1, + color="red" }, { - class="static_wall", x=8, - color="red", - y=1 + class="static_wall", + y=1, + color="red" }, { - class="static_wall", x=9, - color="red", - y=1 + class="static_wall", + y=1, + color="red" }, { class="wired_door", @@ -254,274 +254,274 @@ objects={ circuit="wire_6a7be918_000b" }, { - class="static_wall", x=1, - color="red", - y=7 + class="static_wall", + y=7, + color="red" }, { - class="static_wall", x=1, - color="red", - y=6 + class="static_wall", + y=6, + color="red" }, { - class="static_wall", x=1, - color="red", - y=2 + class="static_wall", + y=2, + color="red" }, { + x=6, class="box_1x2_1-1", - x=6, - color="red", - y=6 + y=6, + color="red" }, { - class="static_wall", x=1, - color="green", - y=11 + class="static_wall", + y=11, + color="green" }, { - class="static_wall", x=2, - color="green", - y=11 + class="static_wall", + y=11, + color="green" }, { - class="static_wall", x=3, - color="green", - y=11 + class="static_wall", + y=11, + color="green" }, { - class="static_wall", x=4, - color="green", - y=11 + class="static_wall", + y=11, + color="green" }, { - class="static_wall", x=5, - color="green", - y=11 + class="static_wall", + y=11, + color="green" }, { - class="static_wall", x=6, - color="green", - y=11 + class="static_wall", + y=11, + color="green" }, { - class="static_wall", x=7, - color="green", - y=11 + class="static_wall", + y=11, + color="green" }, { - class="static_wall", x=8, - color="green", - y=11 + class="static_wall", + y=11, + color="green" }, { - class="static_wall", x=9, - color="green", - y=11 + class="static_wall", + y=11, + color="green" }, { - class="static_wall", x=10, - color="green", - y=11 + class="static_wall", + y=11, + color="green" }, { - class="static_wall", x=11, - color="green", - y=11 + class="static_wall", + y=11, + color="green" }, { - class="static_wall", x=11, - color="green", - y=10 + class="static_wall", + y=10, + color="green" }, { - class="static_wall", x=11, - color="green", - y=9 + class="static_wall", + y=9, + color="green" }, { - class="static_wall", x=11, - color="green", - y=8 + class="static_wall", + y=8, + color="green" }, { - class="static_wall", x=11, - color="green", - y=7 + class="static_wall", + y=7, + color="green" }, { - class="static_wall", x=11, - color="green", - y=5 + class="static_wall", + y=5, + color="green" }, { - class="static_wall", x=11, - color="green", - y=2 + class="static_wall", + y=2, + color="green" }, { - class="static_wall", x=11, - color="green", - y=3 + class="static_wall", + y=3, + color="green" }, { - class="static_wall", x=11, - color="green", - y=4 + class="static_wall", + y=4, + color="green" }, { - class="static_wall", x=11, - color="green", - y=3 + class="static_wall", + y=3, + color="green" }, { - class="static_wall", x=11, - color="green", - y=2 + class="static_wall", + y=2, + color="green" }, { - class="static_wall", x=11, - color="green", - y=1 + class="static_wall", + y=1, + color="green" }, { - class="static_wall", x=10, - color="green", - y=1 + class="static_wall", + y=1, + color="green" }, { - class="static_wall", x=9, - color="green", - y=2 + class="static_wall", + y=2, + color="green" }, { - class="static_wall", x=8, - color="green", - y=2 + class="static_wall", + y=2, + color="green" }, { - class="static_wall", x=7, - color="green", - y=2 + class="static_wall", + y=2, + color="green" }, { - class="static_wall", x=7, - color="green", - y=1 + class="static_wall", + y=1, + color="green" }, { - class="static_wall", x=6, - color="green", - y=1 + class="static_wall", + y=1, + color="green" }, { - class="static_wall", x=5, - color="green", - y=1 + class="static_wall", + y=1, + color="green" }, { - class="static_wall", x=4, - color="green", - y=1 + class="static_wall", + y=1, + color="green" }, { - class="static_wall", x=3, - color="green", - y=1 + class="static_wall", + y=1, + color="green" }, { - class="static_wall", x=2, - color="green", - y=1 + class="static_wall", + y=1, + color="green" }, { - class="static_wall", x=1, - color="green", - y=1 + class="static_wall", + y=1, + color="green" }, { - class="static_wall", x=2, - color="green", - y=1 + class="static_wall", + y=1, + color="green" }, { - class="static_wall", x=3, - color="green", - y=1 + class="static_wall", + y=1, + color="green" }, { - class="static_wall", x=4, - color="green", - y=1 + class="static_wall", + y=1, + color="green" }, { - class="static_wall", x=5, - color="green", - y=1 + class="static_wall", + y=1, + color="green" }, { - class="static_wall", x=6, - color="green", - y=1 + class="static_wall", + y=1, + color="green" }, { - class="static_wall", x=7, - color="green", - y=1 + class="static_wall", + y=1, + color="green" }, { - class="static_wall", x=8, - color="green", - y=1 + class="static_wall", + y=1, + color="green" }, { - class="static_wall", x=9, - color="green", - y=1 + class="static_wall", + y=1, + color="green" }, { class="wired_door", @@ -531,274 +531,274 @@ objects={ circuit="wire_6a7be918_000b" }, { - class="static_wall", x=1, - color="green", - y=7 + class="static_wall", + y=7, + color="green" }, { - class="static_wall", x=1, - color="green", - y=6 + class="static_wall", + y=6, + color="green" }, { - class="static_wall", x=1, - color="green", - y=2 + class="static_wall", + y=2, + color="green" }, { + x=6, class="box_1x2_1-1", - x=6, - color="green", - y=6 + y=6, + color="green" }, { - class="static_wall", x=1, - color="blue", - y=11 + class="static_wall", + y=11, + color="blue" }, { - class="static_wall", x=2, - color="blue", - y=11 + class="static_wall", + y=11, + color="blue" }, { - class="static_wall", x=3, - color="blue", - y=11 + class="static_wall", + y=11, + color="blue" }, { - class="static_wall", x=4, - color="blue", - y=11 + class="static_wall", + y=11, + color="blue" }, { - class="static_wall", x=5, - color="blue", - y=11 + class="static_wall", + y=11, + color="blue" }, { - class="static_wall", x=6, - color="blue", - y=11 + class="static_wall", + y=11, + color="blue" }, { - class="static_wall", x=7, - color="blue", - y=11 + class="static_wall", + y=11, + color="blue" }, { - class="static_wall", x=8, - color="blue", - y=11 + class="static_wall", + y=11, + color="blue" }, { - class="static_wall", x=9, - color="blue", - y=11 + class="static_wall", + y=11, + color="blue" }, { - class="static_wall", x=10, - color="blue", - y=11 + class="static_wall", + y=11, + color="blue" }, { - class="static_wall", x=11, - color="blue", - y=11 + class="static_wall", + y=11, + color="blue" }, { - class="static_wall", x=11, - color="blue", - y=10 + class="static_wall", + y=10, + color="blue" }, { - class="static_wall", x=11, - color="blue", - y=9 + class="static_wall", + y=9, + color="blue" }, { - class="static_wall", x=11, - color="blue", - y=8 + class="static_wall", + y=8, + color="blue" }, { - class="static_wall", x=11, - color="blue", - y=7 + class="static_wall", + y=7, + color="blue" }, { - class="static_wall", x=11, - color="blue", - y=5 + class="static_wall", + y=5, + color="blue" }, { - class="static_wall", x=11, - color="blue", - y=2 + class="static_wall", + y=2, + color="blue" }, { - class="static_wall", x=11, - color="blue", - y=3 + class="static_wall", + y=3, + color="blue" }, { - class="static_wall", x=11, - color="blue", - y=4 + class="static_wall", + y=4, + color="blue" }, { - class="static_wall", x=11, - color="blue", - y=3 + class="static_wall", + y=3, + color="blue" }, { - class="static_wall", x=11, - color="blue", - y=2 + class="static_wall", + y=2, + color="blue" }, { - class="static_wall", x=11, - color="blue", - y=1 + class="static_wall", + y=1, + color="blue" }, { - class="static_wall", x=10, - color="blue", - y=1 + class="static_wall", + y=1, + color="blue" }, { - class="static_wall", x=9, - color="blue", - y=2 + class="static_wall", + y=2, + color="blue" }, { - class="static_wall", x=8, - color="blue", - y=2 + class="static_wall", + y=2, + color="blue" }, { - class="static_wall", x=7, - color="blue", - y=2 + class="static_wall", + y=2, + color="blue" }, { - class="static_wall", x=7, - color="blue", - y=1 + class="static_wall", + y=1, + color="blue" }, { - class="static_wall", x=6, - color="blue", - y=1 + class="static_wall", + y=1, + color="blue" }, { - class="static_wall", x=5, - color="blue", - y=1 + class="static_wall", + y=1, + color="blue" }, { - class="static_wall", x=4, - color="blue", - y=1 + class="static_wall", + y=1, + color="blue" }, { - class="static_wall", x=3, - color="blue", - y=1 + class="static_wall", + y=1, + color="blue" }, { - class="static_wall", x=2, - color="blue", - y=1 + class="static_wall", + y=1, + color="blue" }, { - class="static_wall", x=1, - color="blue", - y=1 + class="static_wall", + y=1, + color="blue" }, { - class="static_wall", x=2, - color="blue", - y=1 + class="static_wall", + y=1, + color="blue" }, { - class="static_wall", x=3, - color="blue", - y=1 + class="static_wall", + y=1, + color="blue" }, { - class="static_wall", x=4, - color="blue", - y=1 + class="static_wall", + y=1, + color="blue" }, { - class="static_wall", x=5, - color="blue", - y=1 + class="static_wall", + y=1, + color="blue" }, { - class="static_wall", x=6, - color="blue", - y=1 + class="static_wall", + y=1, + color="blue" }, { - class="static_wall", x=7, - color="blue", - y=1 + class="static_wall", + y=1, + color="blue" }, { - class="static_wall", x=8, - color="blue", - y=1 + class="static_wall", + y=1, + color="blue" }, { - class="static_wall", x=9, - color="blue", - y=1 + class="static_wall", + y=1, + color="blue" }, { class="wired_door", @@ -808,61 +808,181 @@ objects={ circuit="wire_6a7be918_000b" }, { - class="static_wall", x=1, - color="blue", - y=7 + class="static_wall", + y=7, + color="blue" }, { - class="static_wall", x=1, - color="blue", - y=6 + class="static_wall", + y=6, + color="blue" }, { - class="static_wall", x=1, - color="blue", - y=2 + class="static_wall", + y=2, + color="blue" }, { - class="box", x=9, - color="blue", - y=4 - }, - { class="box", - x=3, - color="blue", - y=4 + y=4, + color="blue" }, { + x=3, + class="box", + y=4, + color="blue" + }, + { + x=6, class="wired_switch", - x=6, - color="red", - y=8 + y=8, + color="red" + }, + { + x=9, + class="wired_switch", + y=4, + color="blue" + }, + { + x=3, + class="wired_switch", + y=4, + color="blue" } }, wires={ + { + edges=0, + x=3, + y=4, + circuit="wire_6a7c1868_0003" + }, + { + edges=2, + x=3, + y=4, + circuit="wire_6a7c1890_0006" + }, + { + edges=10, + x=4, + y=4, + circuit="wire_6a7c1890_0006" + }, + { + edges=10, + x=5, + y=4, + circuit="wire_6a7c1890_0006" + }, + { + edges=10, + x=6, + y=4, + circuit="wire_6a7c1890_0006" + }, + { + edges=12, + x=7, + y=4, + circuit="wire_6a7c1890_0006" + }, + { + edges=4, + x=9, + y=4, + circuit="wire_6a7c1873_0004" + }, + { + edges=5, + x=7, + y=5, + circuit="wire_6a7c1890_0006" + }, + { + edges=5, + x=9, + y=5, + circuit="wire_6a7c1873_0004" + }, + { + edges=3, + x=7, + y=6, + circuit="wire_6a7c1890_0006" + }, + { + edges=10, + x=8, + y=6, + circuit="wire_6a7c1890_0006" + }, { edges=6, x=9, y=6, circuit="wire_6a7be918_000b" }, + { + edges=3, + x=9, + y=6, + circuit="wire_6a7c1873_0004" + }, + { + edges=10, + x=9, + y=6, + circuit="wire_6a7c1890_0006" + }, { edges=10, x=10, y=6, circuit="wire_6a7be918_000b" }, + { + edges=10, + x=10, + y=6, + circuit="wire_6a7c1873_0004" + }, + { + edges=10, + x=10, + y=6, + circuit="wire_6a7c1890_0006" + }, { edges=8, x=11, y=6, circuit="wire_6a7be918_000b" }, + { + edges=8, + x=11, + y=6, + circuit="wire_6a7c1873_0004" + }, + { + edges=0, + x=11, + y=6, + circuit="wire_6a7c1875_0005" + }, + { + edges=8, + x=11, + y=6, + circuit="wire_6a7c1890_0006" + }, { edges=5, x=9, diff --git a/rooms/spiky_test_3.sav b/rooms/spiky_test_3.sav index 82c440b..abc1d0c 100644 --- a/rooms/spiky_test_3.sav +++ b/rooms/spiky_test_3.sav @@ -1,1230 +1,1248 @@ { -wires={ -}, objects={ { - color="red", - x=11, class="static_wall", + x=11, + color="red", y=1 }, { - color="red", - x=11, class="static_wall", + x=11, + color="red", y=2 }, { - color="red", - x=11, class="static_wall", + x=11, + color="red", y=3 }, { - color="red", - x=11, class="static_wall", + x=11, + color="red", y=1 }, { - color="red", - x=11, class="static_wall", + x=11, + color="red", y=2 }, { - color="red", - x=11, class="static_wall", + x=11, + color="red", y=3 }, { - color="red", - x=11, class="static_wall", + x=11, + color="red", y=4 }, { - color="red", - x=11, class="static_wall", + x=11, + color="red", y=5 }, { - color="red", - x=11, class="static_wall", + x=11, + color="red", y=7 }, { - color="red", - x=11, class="static_wall", + x=11, + color="red", y=9 }, { - color="red", - x=11, class="static_wall", + x=11, + color="red", y=10 }, { - color="red", + class="static_wall", x=10, - class="static_wall", + color="red", y=11 }, { - color="red", + class="static_wall", x=9, - class="static_wall", + color="red", y=11 }, { - color="red", + class="static_wall", x=8, - class="static_wall", + color="red", y=11 }, { - color="red", + class="static_wall", x=7, - class="static_wall", + color="red", y=11 }, { - color="red", + class="static_wall", x=6, - class="static_wall", + color="red", y=11 }, { - color="red", + class="static_wall", x=5, - class="static_wall", + color="red", y=11 }, { - color="red", + class="static_wall", x=4, - class="static_wall", + color="red", y=11 }, { - color="red", + class="static_wall", x=3, - class="static_wall", + color="red", y=11 }, { - color="red", + class="static_wall", x=2, - class="static_wall", + color="red", y=11 }, { - color="red", - x=1, class="static_wall", + x=1, + color="red", y=11 }, { - color="red", - x=1, class="static_wall", + x=1, + color="red", y=10 }, { - color="red", - x=1, class="static_wall", + x=1, + color="red", y=9 }, { - color="red", - x=1, class="static_wall", + x=1, + color="red", y=8 }, { - color="red", - x=1, class="static_wall", + x=1, + color="red", y=7 }, { - color="red", - x=1, class="static_wall", + x=1, + color="red", y=5 }, { - color="red", - x=1, class="static_wall", + x=1, + color="red", y=4 }, { - color="red", - x=1, class="static_wall", + x=1, + color="red", y=3 }, { - color="red", + class="static_wall", x=2, - class="static_wall", + color="red", y=1 }, { - color="red", - x=1, class="static_wall", + x=1, + color="red", y=1 }, { - color="red", - x=1, class="static_wall", + x=1, + color="red", y=2 }, { - color="red", + class="static_wall", x=1, - class="static_wall", + color="red", y=1 }, { - color="red", + class="static_wall", x=2, - class="static_wall", + color="red", y=1 }, { - color="red", + class="static_wall", x=3, - class="static_wall", + color="red", y=1 }, { - color="red", + class="static_wall", x=4, - class="static_wall", + color="red", y=1 }, { - color="red", + class="static_wall", x=5, - class="static_wall", + color="red", y=1 }, { - color="red", + class="static_wall", x=6, - class="static_wall", + color="red", y=1 }, { - color="red", + class="static_wall", x=7, - class="static_wall", + color="red", y=1 }, { - color="red", + class="static_wall", x=8, - class="static_wall", + color="red", y=1 }, { - color="red", + class="static_wall", x=9, - class="static_wall", + color="red", y=1 }, { - color="red", + class="static_wall", x=10, - class="static_wall", + color="red", y=1 }, { - color="red", - x=11, class="static_wall", + x=11, + color="red", y=1 }, { - color="red", - x=11, class="static_wall", + x=11, + color="red", y=8 }, { - color="red", - x=11, class="static_wall", + x=11, + color="red", y=9 }, { - color="red", - x=11, class="static_wall", + x=11, + color="red", y=10 }, { - color="red", - x=11, class="static_wall", + x=11, + color="red", y=11 }, { - color="red", - x=7, class="static_wall", + x=7, + color="red", y=2 }, { - color="red", - x=11, class="door", + x=11, + color="red", y=6 }, { - color="red", - x=7, class="static_wall", + x=7, + color="red", y=4 }, { - color="red", - x=4, class="static_wall", + x=4, + color="red", y=2 }, { - color="red", - x=4, class="static_wall", + x=4, + color="red", y=3 }, { - color="red", - x=4, class="static_wall", + x=4, + color="red", y=4 }, { - color="red", - x=4, class="static_wall", + x=4, + color="red", y=5 }, { - color="red", - x=4, class="static_wall", + x=4, + color="red", y=6 }, { - color="red", - x=5, class="static_wall", + x=5, + color="red", y=4 }, { - color="red", - x=5, class="box", - y=6 - }, - { + x=5, color="red", - x=7, - class="static_wall", y=7 }, { - color="red", - x=7, class="static_wall", + x=7, + color="red", + y=7 + }, + { + class="static_wall", + x=7, + color="red", y=4 }, { - color="red", - x=5, class="box", - y=2 - }, - { - color="red", x=5, + color="red", + y=3 + }, + { class="static_wall", + x=5, + color="red", y=8 }, { - color="red", + class="static_wall", x=7, - class="static_wall", + color="red", y=8 }, { - color="red", - x=6, class="spiky_box_1x2_1-1", - y=7 - }, - { + x=6, color="red", - x=7, - class="static_wall", - y=5 - }, - { - color="red", - x=7, - class="static_wall", - y=5 - }, - { - color="red", - x=7, - class="static_wall", y=6 }, { - color="red", - x=4, class="static_wall", - y=10 - }, - { - color="red", x=7, - class="static_wall", - y=10 - }, - { - color="green", - x=11, - class="static_wall", - y=1 - }, - { - color="green", - x=11, - class="static_wall", - y=2 - }, - { - color="green", - x=11, - class="static_wall", - y=3 - }, - { - color="green", - x=11, - class="static_wall", - y=4 - }, - { - color="green", - x=11, - class="static_wall", + color="red", y=5 }, { - color="green", - x=11, class="static_wall", - y=7 - }, - { - color="green", - x=11, - class="static_wall", - y=9 - }, - { - color="green", - x=11, - class="static_wall", - y=10 - }, - { - color="green", - x=10, - class="static_wall", - y=11 - }, - { - color="green", - x=9, - class="static_wall", - y=11 - }, - { - color="green", - x=8, - class="static_wall", - y=11 - }, - { - color="green", x=7, - class="static_wall", - y=11 - }, - { - color="green", - x=6, - class="static_wall", - y=11 - }, - { - color="green", - x=5, - class="static_wall", - y=11 - }, - { - color="green", - x=4, - class="static_wall", - y=11 - }, - { - color="green", - x=3, - class="static_wall", - y=11 - }, - { - color="green", - x=2, - class="static_wall", - y=11 - }, - { - color="green", - x=1, - class="static_wall", - y=11 - }, - { - color="green", - x=1, - class="static_wall", - y=10 - }, - { - color="green", - x=1, - class="static_wall", - y=9 - }, - { - color="green", - x=1, - class="static_wall", - y=8 - }, - { - color="green", - x=1, - class="static_wall", - y=7 - }, - { - color="green", - x=1, - class="static_wall", + color="red", y=5 }, { - color="green", - x=1, class="static_wall", - y=4 - }, - { - color="green", - x=1, - class="static_wall", - y=3 - }, - { - color="green", - x=2, - class="static_wall", - y=1 - }, - { - color="green", - x=1, - class="static_wall", - y=1 - }, - { - color="green", - x=1, - class="static_wall", - y=2 - }, - { - color="green", - x=1, - class="static_wall", - y=1 - }, - { - color="green", - x=2, - class="static_wall", - y=1 - }, - { - color="green", - x=3, - class="static_wall", - y=1 - }, - { - color="green", - x=4, - class="static_wall", - y=1 - }, - { - color="green", - x=5, - class="static_wall", - y=1 - }, - { - color="green", - x=6, - class="static_wall", - y=1 - }, - { - color="green", x=7, - class="static_wall", - y=1 + color="red", + y=6 }, { - color="green", - x=8, - class="static_wall", - y=1 - }, - { - color="green", - x=9, - class="static_wall", - y=1 - }, - { - color="green", - x=10, - class="static_wall", - y=1 - }, - { - color="green", - x=11, - class="static_wall", - y=1 - }, - { - color="green", - x=11, - class="static_wall", - y=8 - }, - { - color="green", - x=11, - class="static_wall", - y=9 - }, - { - color="green", - x=11, class="static_wall", + x=4, + color="red", y=10 }, { - color="green", - x=11, class="static_wall", - y=11 + x=7, + color="red", + y=10 }, { - color="green", - x=7, class="static_wall", + x=11, + color="green", + y=1 + }, + { + class="static_wall", + x=11, + color="green", y=2 }, { - color="green", + class="static_wall", x=11, + color="green", + y=3 + }, + { + class="static_wall", + x=11, + color="green", + y=4 + }, + { + class="static_wall", + x=11, + color="green", + y=5 + }, + { + class="static_wall", + x=11, + color="green", + y=7 + }, + { + class="static_wall", + x=11, + color="green", + y=9 + }, + { + class="static_wall", + x=11, + color="green", + y=10 + }, + { + class="static_wall", + x=10, + color="green", + y=11 + }, + { + class="static_wall", + x=9, + color="green", + y=11 + }, + { + class="static_wall", + x=8, + color="green", + y=11 + }, + { + class="static_wall", + x=7, + color="green", + y=11 + }, + { + class="static_wall", + x=6, + color="green", + y=11 + }, + { + class="static_wall", + x=5, + color="green", + y=11 + }, + { + class="static_wall", + x=4, + color="green", + y=11 + }, + { + class="static_wall", + x=3, + color="green", + y=11 + }, + { + class="static_wall", + x=2, + color="green", + y=11 + }, + { + class="static_wall", + x=1, + color="green", + y=11 + }, + { + class="static_wall", + x=1, + color="green", + y=10 + }, + { + class="static_wall", + x=1, + color="green", + y=9 + }, + { + class="static_wall", + x=1, + color="green", + y=8 + }, + { + class="static_wall", + x=1, + color="green", + y=7 + }, + { + class="static_wall", + x=1, + color="green", + y=5 + }, + { + class="static_wall", + x=1, + color="green", + y=4 + }, + { + class="static_wall", + x=1, + color="green", + y=3 + }, + { + class="static_wall", + x=2, + color="green", + y=1 + }, + { + class="static_wall", + x=1, + color="green", + y=1 + }, + { + class="static_wall", + x=1, + color="green", + y=2 + }, + { + class="static_wall", + x=1, + color="green", + y=1 + }, + { + class="static_wall", + x=2, + color="green", + y=1 + }, + { + class="static_wall", + x=3, + color="green", + y=1 + }, + { + class="static_wall", + x=4, + color="green", + y=1 + }, + { + class="static_wall", + x=5, + color="green", + y=1 + }, + { + class="static_wall", + x=6, + color="green", + y=1 + }, + { + class="static_wall", + x=7, + color="green", + y=1 + }, + { + class="static_wall", + x=8, + color="green", + y=1 + }, + { + class="static_wall", + x=9, + color="green", + y=1 + }, + { + class="static_wall", + x=10, + color="green", + y=1 + }, + { + class="static_wall", + x=11, + color="green", + y=1 + }, + { + class="static_wall", + x=11, + color="green", + y=8 + }, + { + class="static_wall", + x=11, + color="green", + y=9 + }, + { + class="static_wall", + x=11, + color="green", + y=10 + }, + { + class="static_wall", + x=11, + color="green", + y=11 + }, + { + class="static_wall", + x=7, + color="green", + y=2 + }, + { class="door", + x=11, + color="green", y=6 }, { - color="green", - x=7, class="static_wall", + x=7, + color="green", y=4 }, { - color="green", - x=4, class="static_wall", + x=4, + color="green", y=2 }, { - color="green", - x=4, class="static_wall", + x=4, + color="green", y=3 }, { - color="green", - x=4, class="static_wall", + x=4, + color="green", y=4 }, { - color="green", - x=4, class="static_wall", + x=4, + color="green", y=5 }, { - color="green", - x=4, class="static_wall", + x=4, + color="green", y=6 }, { - color="green", - x=5, class="static_wall", + x=5, + color="green", y=4 }, { - color="green", - x=5, class="box", - y=6 - }, - { + x=5, color="green", - x=7, - class="static_wall", y=7 }, { - color="green", - x=7, class="static_wall", + x=7, + color="green", + y=7 + }, + { + class="static_wall", + x=7, + color="green", y=4 }, { - color="green", - x=5, class="box", - y=2 - }, - { - color="green", x=5, + color="green", + y=3 + }, + { class="static_wall", + x=5, + color="green", y=8 }, { - color="green", + class="static_wall", x=7, - class="static_wall", + color="green", y=8 }, { - color="green", - x=6, class="spiky_box_1x2_1-1", - y=7 - }, - { + x=6, color="green", - x=7, - class="static_wall", - y=5 - }, - { - color="green", - x=7, - class="static_wall", - y=5 - }, - { - color="green", - x=7, - class="static_wall", y=6 }, { - color="green", - x=4, class="static_wall", - y=10 - }, - { - color="green", x=7, - class="static_wall", - y=10 - }, - { - color="blue", - x=11, - class="static_wall", - y=1 - }, - { - color="blue", - x=11, - class="static_wall", - y=2 - }, - { - color="blue", - x=11, - class="static_wall", - y=3 - }, - { - color="blue", - x=11, - class="static_wall", - y=4 - }, - { - color="blue", - x=11, - class="static_wall", + color="green", y=5 }, { - color="blue", - x=11, class="static_wall", - y=7 - }, - { - color="blue", - x=11, - class="static_wall", - y=9 - }, - { - color="blue", - x=11, - class="static_wall", - y=10 - }, - { - color="blue", - x=10, - class="static_wall", - y=11 - }, - { - color="blue", - x=9, - class="static_wall", - y=11 - }, - { - color="blue", - x=8, - class="static_wall", - y=11 - }, - { - color="blue", x=7, - class="static_wall", - y=11 - }, - { - color="blue", - x=6, - class="static_wall", - y=11 - }, - { - color="blue", - x=5, - class="static_wall", - y=11 - }, - { - color="blue", - x=4, - class="static_wall", - y=11 - }, - { - color="blue", - x=3, - class="static_wall", - y=11 - }, - { - color="blue", - x=2, - class="static_wall", - y=11 - }, - { - color="blue", - x=1, - class="static_wall", - y=11 - }, - { - color="blue", - x=1, - class="static_wall", - y=10 - }, - { - color="blue", - x=1, - class="static_wall", - y=9 - }, - { - color="blue", - x=1, - class="static_wall", - y=8 - }, - { - color="blue", - x=1, - class="static_wall", - y=7 - }, - { - color="blue", - x=1, - class="static_wall", + color="green", y=5 }, { - color="blue", - x=1, class="static_wall", - y=4 - }, - { - color="blue", - x=1, - class="static_wall", - y=3 - }, - { - color="blue", - x=2, - class="static_wall", - y=1 - }, - { - color="blue", - x=1, - class="static_wall", - y=1 - }, - { - color="blue", - x=1, - class="static_wall", - y=2 - }, - { - color="blue", - x=1, - class="static_wall", - y=1 - }, - { - color="blue", - x=2, - class="static_wall", - y=1 - }, - { - color="blue", - x=3, - class="static_wall", - y=1 - }, - { - color="blue", - x=4, - class="static_wall", - y=1 - }, - { - color="blue", - x=5, - class="static_wall", - y=1 - }, - { - color="blue", - x=6, - class="static_wall", - y=1 - }, - { - color="blue", x=7, - class="static_wall", - y=1 + color="green", + y=6 }, { - color="blue", - x=8, - class="static_wall", - y=1 - }, - { - color="blue", - x=9, - class="static_wall", - y=1 - }, - { - color="blue", - x=10, - class="static_wall", - y=1 - }, - { - color="blue", - x=11, - class="static_wall", - y=1 - }, - { - color="blue", - x=11, - class="static_wall", - y=8 - }, - { - color="blue", - x=11, - class="static_wall", - y=9 - }, - { - color="blue", - x=11, class="static_wall", + x=4, + color="green", y=10 }, { - color="blue", - x=11, class="static_wall", - y=11 + x=7, + color="green", + y=10 }, { - color="blue", - x=7, class="static_wall", + x=11, + color="blue", + y=1 + }, + { + class="static_wall", + x=11, + color="blue", y=2 }, { - color="blue", + class="static_wall", x=11, + color="blue", + y=3 + }, + { + class="static_wall", + x=11, + color="blue", + y=4 + }, + { + class="static_wall", + x=11, + color="blue", + y=5 + }, + { + class="static_wall", + x=11, + color="blue", + y=7 + }, + { + class="static_wall", + x=11, + color="blue", + y=9 + }, + { + class="static_wall", + x=11, + color="blue", + y=10 + }, + { + class="static_wall", + x=10, + color="blue", + y=11 + }, + { + class="static_wall", + x=9, + color="blue", + y=11 + }, + { + class="static_wall", + x=8, + color="blue", + y=11 + }, + { + class="static_wall", + x=7, + color="blue", + y=11 + }, + { + class="static_wall", + x=6, + color="blue", + y=11 + }, + { + class="static_wall", + x=5, + color="blue", + y=11 + }, + { + class="static_wall", + x=4, + color="blue", + y=11 + }, + { + class="static_wall", + x=3, + color="blue", + y=11 + }, + { + class="static_wall", + x=2, + color="blue", + y=11 + }, + { + class="static_wall", + x=1, + color="blue", + y=11 + }, + { + class="static_wall", + x=1, + color="blue", + y=10 + }, + { + class="static_wall", + x=1, + color="blue", + y=9 + }, + { + class="static_wall", + x=1, + color="blue", + y=8 + }, + { + class="static_wall", + x=1, + color="blue", + y=7 + }, + { + class="static_wall", + x=1, + color="blue", + y=5 + }, + { + class="static_wall", + x=1, + color="blue", + y=4 + }, + { + class="static_wall", + x=1, + color="blue", + y=3 + }, + { + class="static_wall", + x=2, + color="blue", + y=1 + }, + { + class="static_wall", + x=1, + color="blue", + y=1 + }, + { + class="static_wall", + x=1, + color="blue", + y=2 + }, + { + class="static_wall", + x=1, + color="blue", + y=1 + }, + { + class="static_wall", + x=2, + color="blue", + y=1 + }, + { + class="static_wall", + x=3, + color="blue", + y=1 + }, + { + class="static_wall", + x=4, + color="blue", + y=1 + }, + { + class="static_wall", + x=5, + color="blue", + y=1 + }, + { + class="static_wall", + x=6, + color="blue", + y=1 + }, + { + class="static_wall", + x=7, + color="blue", + y=1 + }, + { + class="static_wall", + x=8, + color="blue", + y=1 + }, + { + class="static_wall", + x=9, + color="blue", + y=1 + }, + { + class="static_wall", + x=10, + color="blue", + y=1 + }, + { + class="static_wall", + x=11, + color="blue", + y=1 + }, + { + class="static_wall", + x=11, + color="blue", + y=8 + }, + { + class="static_wall", + x=11, + color="blue", + y=9 + }, + { + class="static_wall", + x=11, + color="blue", + y=10 + }, + { + class="static_wall", + x=11, + color="blue", + y=11 + }, + { + class="static_wall", + x=7, + color="blue", + y=2 + }, + { class="door", + x=11, + color="blue", y=6 }, { - color="blue", - x=7, class="static_wall", + x=7, + color="blue", y=4 }, { - color="blue", - x=4, class="static_wall", + x=4, + color="blue", y=2 }, { - color="blue", - x=4, class="static_wall", + x=4, + color="blue", y=3 }, { - color="blue", - x=4, class="static_wall", + x=4, + color="blue", y=4 }, { - color="blue", - x=4, class="static_wall", + x=4, + color="blue", y=5 }, { - color="blue", - x=4, class="static_wall", + x=4, + color="blue", y=6 }, { - color="blue", - x=5, class="static_wall", + x=5, + color="blue", y=4 }, { - color="blue", - x=5, class="box", - y=6 - }, - { + x=5, color="blue", - x=7, - class="static_wall", y=7 }, { - color="blue", - x=7, class="static_wall", + x=7, + color="blue", + y=7 + }, + { + class="static_wall", + x=7, + color="blue", y=4 }, { - color="blue", - x=5, class="box", - y=2 - }, - { - color="blue", x=5, + color="blue", + y=3 + }, + { class="static_wall", + x=5, + color="blue", y=8 }, { - color="blue", + class="static_wall", x=7, - class="static_wall", + color="blue", y=8 }, { - color="blue", - x=6, class="spiky_box_1x2_1-1", - y=7 - }, - { + x=6, color="blue", - x=7, - class="static_wall", - y=5 - }, - { - color="blue", - x=7, - class="static_wall", - y=5 - }, - { - color="blue", - x=7, - class="static_wall", y=6 }, { - color="blue", - x=4, class="static_wall", - y=10 - }, - { - color="blue", x=7, + color="blue", + y=5 + }, + { class="static_wall", + x=7, + color="blue", + y=5 + }, + { + class="static_wall", + x=7, + color="blue", + y=6 + }, + { + class="static_wall", + x=4, + color="blue", + y=10 + }, + { + class="static_wall", + x=7, + color="blue", y=10 }, { - color="red", - x=5, class="switch", + x=5, + color="red", y=5 }, { - color="red", - x=5, class="switch", + x=5, + color="red", y=3 }, { - color="red", - x=6, class="switch", - y=4 + x=6, + color="red", + y=6 }, { - color="green", - x=5, class="switch", + x=6, + color="red", + y=7 + }, + { + class="switch", + x=5, + color="green", y=5 }, { - color="green", - x=5, class="switch", + x=5, + color="green", y=3 }, { - color="green", - x=6, class="switch", - y=4 + x=6, + color="green", + y=6 }, { - color="blue", - x=5, class="switch", + x=6, + color="green", + y=7 + }, + { + class="switch", + x=5, + color="blue", y=5 }, { - color="blue", - x=5, class="switch", + x=5, + color="blue", y=3 }, { - color="blue", - x=6, class="switch", - y=4 + x=6, + color="blue", + y=6 + }, + { + class="switch", + x=6, + color="blue", + y=7 } +}, +wires={ } } \ No newline at end of file diff --git a/shaders.lua b/shaders.lua index 168a895..aabbc1c 100644 --- a/shaders.lua +++ b/shaders.lua @@ -128,6 +128,44 @@ wireNeonShader = love.graphics.newShader[[ } ]] +-- World renders a neighbouring room twice for the porous seam: once through +-- its own active channels and once through the current room's channels. This +-- shader only controls the alpha of that second, already-authored render, so +-- it never approximates the game's literal RGB colour treatment. +porousRoomBoundaryShader = love.graphics.newShader[[ + extern number porousTime; + extern vec4 porousRoomRect; + extern vec2 porousDirection; + extern number porousDepth; + + float porousWave(vec2 point) { + float broad = sin(point.x * 0.095 + point.y * 0.071 + porousTime * 1.45); + float fine = sin(point.x * 0.231 - point.y * 0.187 - porousTime * 2.20); + return broad * 0.105 + fine * 0.050; + } + + vec4 effect(vec4 color, Image texture, vec2 textureCoords, vec2 screenCoords) { + vec4 alternateView = Texel(texture, textureCoords) * color; + vec2 local = screenCoords - porousRoomRect.xy; + vec2 size = porousRoomRect.zw; + if (local.x < 0.0 || local.y < 0.0 || local.x > size.x || local.y > size.y) + return vec4(0.0); + + float depth; + if (porousDirection.x > 0.5) depth = local.x; + else if (porousDirection.x < -0.5) depth = size.x - local.x; + else if (porousDirection.y > 0.5) depth = local.y; + else depth = size.y - local.y; + + float towardSeam = 1.0 - smoothstep(0.0, porousDepth, depth); + // Animated fingers soften the fifty-fifty transition across the visible + // overlap while preserving the pixels of the real alternate room render. + float mask = smoothstep(0.18, 0.82, towardSeam + porousWave(screenCoords)); + alternateView.a *= mask; + return alternateView; + } +]] + function drawGoopySprite(sprite, x, y, scale) local w, h = sprite:getWidth(), sprite:getHeight() local time = love.timer.getTime() diff --git a/world.lua b/world.lua index 562d85a..8988be5 100644 --- a/world.lua +++ b/world.lua @@ -963,20 +963,61 @@ function World:drawRoomNeighborhood(room) local transform = self:roomNeighborhoodTransform(room) if not transform then return end self.drawingRoomNeighborhood = true + local currentChannels = room:getRenderChannels() + local roomWidth, roomHeight = width * transform.zoom, height * transform.zoom + + local function drawAt(offsetX, offsetY, level, channels) + love.graphics.push() + love.graphics.translate(transform.originX + (offsetX + transform.cameraX) * roomWidth, + transform.originY + (offsetY + transform.cameraY) * roomHeight) + love.graphics.scale(transform.zoom, transform.zoom) + level:draw(channels) + love.graphics.pop() + end + for roomY = -1, 1 do for roomX = -1, 1 do local name = self:roomAt(transform.location.x + roomX, transform.location.y + roomY) local adjacent = name and self.levels[name] if adjacent then - love.graphics.push() - love.graphics.translate(transform.originX + (roomX + transform.cameraX) * width * transform.zoom, - transform.originY + (roomY + transform.cameraY) * height * transform.zoom) - love.graphics.scale(transform.zoom, transform.zoom) - adjacent:draw() - love.graphics.pop() + drawAt(roomX, roomY, adjacent) end end end + + -- Each cardinal neighbour receives a second, real render through the active + -- colours in the current room. The shader only chooses a wispy portion of + -- the shared visible margin, preserving all literal RGB passes and sprites. + if porousRoomCanvas and porousRoomBoundaryShader and #currentChannels > 0 then + local targetCanvas = love.graphics.getCanvas() + local directions = { + { x = -1, y = 0 }, { x = 1, y = 0 }, { x = 0, y = -1 }, { x = 0, y = 1 }, + } + for _, direction in ipairs(directions) do + local name = self:roomAt(transform.location.x + direction.x, transform.location.y + direction.y) + local adjacent = name and self.levels[name] + if adjacent then + love.graphics.setCanvas(porousRoomCanvas) + love.graphics.clear(0, 0, 0, 0) + drawAt(direction.x, direction.y, adjacent, currentChannels) + + love.graphics.setCanvas(targetCanvas) + local roomLeft = transform.originX + (direction.x + transform.cameraX) * roomWidth + local roomTop = transform.originY + (direction.y + transform.cameraY) * roomHeight + porousRoomBoundaryShader:send("porousTime", love.timer.getTime()) + porousRoomBoundaryShader:send("porousRoomRect", {roomLeft, roomTop, roomWidth, roomHeight}) + porousRoomBoundaryShader:send("porousDirection", {direction.x, direction.y}) + -- Exactly the amount of the neighbour exposed by the zoom-out. + porousRoomBoundaryShader:send("porousDepth", (1 - transform.zoom) * width / 2) + love.graphics.setBlendMode("alpha") + love.graphics.setColor(1, 1, 1, 1) + love.graphics.setShader(porousRoomBoundaryShader) + love.graphics.draw(porousRoomCanvas, 0, 0) + love.graphics.setShader() + end + end + love.graphics.setBlendMode("screen") + end self.drawingRoomNeighborhood = false end