diff options
author | Aki <nthirtyone@gmail.com> | 2017-09-21 21:05:37 +0200 |
---|---|---|
committer | Aki <nthirtyone@gmail.com> | 2017-09-21 21:05:37 +0200 |
commit | e9a450d65d4fb564691cdf651ef5771dd88303ae (patch) | |
tree | f49d29582dd6877f3b3c807c3f7d9d92d368f798 /config | |
parent | eb8302723cd85adca0fbaf505cfb315f1db0299a (diff) | |
parent | b97985def64b8bd8f93a7b391b12333595432e52 (diff) | |
download | roflnauts-e9a450d65d4fb564691cdf651ef5771dd88303ae.zip roflnauts-e9a450d65d4fb564691cdf651ef5771dd88303ae.tar.gz roflnauts-e9a450d65d4fb564691cdf651ef5771dd88303ae.tar.bz2 |
Merge branch 'maps'
Diffstat (limited to 'config')
53 files changed, 660 insertions, 297 deletions
diff --git a/config/animations/clouds-default.lua b/config/animations/clouds-default.lua new file mode 100644 index 0000000..bbf8a28 --- /dev/null +++ b/config/animations/clouds-default.lua @@ -0,0 +1,18 @@ +return +{ + default = { + [1] = love.graphics.newQuad( 1, 1, 158,47, 478,49), + frames = 1, + repeated = true + }, + default2 = { + [1] = love.graphics.newQuad(160, 1, 158,47, 478,49), + frames = 1, + repeated = true + }, + default3 = { + [1] = love.graphics.newQuad(319, 1, 158,47, 478,49), + frames = 1, + repeated = true + } +} diff --git a/config/animations/flames.lua b/config/animations/flames.lua new file mode 100644 index 0000000..62ecbb1 --- /dev/null +++ b/config/animations/flames.lua @@ -0,0 +1,21 @@ +return +{ + default = { + [1] = love.graphics.newQuad(0, 0, 42, 19, 168, 19), + [2] = love.graphics.newQuad(42, 0, 42, 19, 168, 19), + frames = 2, + repeated = true + }, + fadein = { + [1] = love.graphics.newQuad(84, 0, 42, 19, 168, 19), + [2] = love.graphics.newQuad(126, 0, 42, 19, 168, 19), + frames = 2, + repeated = false + }, + fadeout = { + [1] = love.graphics.newQuad(126, 0, 42, 19, 168, 19), + [2] = love.graphics.newQuad(84, 0, 42, 19, 168, 19), + frames = 2, + repeated = false + } +} diff --git a/config/maps.lua b/config/maps.lua deleted file mode 100644 index 32e89a5..0000000 --- a/config/maps.lua +++ /dev/null @@ -1,9 +0,0 @@ -return { - "default", - "rill", - "ribbit", - "starstorm", - "aiguillon", - "sorona", - "alpha abyss" -} diff --git a/config/maps/205.lua b/config/maps/205.lua new file mode 100644 index 0000000..d0aa1f8 --- /dev/null +++ b/config/maps/205.lua @@ -0,0 +1,49 @@ +return +{ + name = "AI Station 205", + theme = "sorona.ogg", + portrait = 1, -- TODO: See `maps/ribbit`. + center = {x = 0, y = 0}, + width = 360, + height = 240, + respawns = { + {x = -10, y = -55}, + {x = 0, y = -55}, + {x = 10, y = -55} + }, + create = { + { + flames = true + }, + { + x = -36, + y = -48, + platform = "205-top" + }, + { + x = -36+9, + y = -48+11, + decoration = "assets/decorations/205-exhaust-top.png" + }, + { + x = -122, + y = 10, + platform = "205-left" + }, + { + x = -122+49, + y = 10+2, + decoration = "assets/decorations/205-exhaust-left.png" + }, + { + x = 28, + y = 10, + platform = "205-right" + }, + { + x = 28+29, + y = 10+2, + decoration = "assets/decorations/205-exhaust-right.png" + } + } +} diff --git a/config/maps/404.lua b/config/maps/404.lua new file mode 100644 index 0000000..44b6c93 --- /dev/null +++ b/config/maps/404.lua @@ -0,0 +1,51 @@ +return +{ + name = "AI Station 404", + theme = "404.ogg", + portrait = 8, -- TODO: See `maps/ribbit`. + center = {x = 0, y = 0}, + width = 360, + height = 240, + respawns = { + {x = -15, y = -80}, + {x = -5, y = -80}, + {x = 5, y = -80}, + {x = 15, y = -80} + }, + create = { + { + ratio = 0, + background = "assets/backgrounds/404.png", + }, + { + x = -105, + y = -75, + platform = "404-top" + }, + { + x = -123, + y = 25, + platform = "404-bottom" + }, + { + x = 138, + y = -25, + platform = "404-small" + }, + { + x = -180, + y = -25, + platform = "404-small" + }, + { + x = 138, + y = 65, + platform = "404-small" + }, + { + x = -180, + y = 65, + platform = "404-small" + } + } +}
\ No newline at end of file diff --git a/config/maps/aiguillon.lua b/config/maps/aiguillon.lua index 40d3928..c4f0ee3 100644 --- a/config/maps/aiguillon.lua +++ b/config/maps/aiguillon.lua @@ -1,58 +1,51 @@ -return { - -- CENTER AND SIZE - name = "aiguillon", +return +{ + name = "Aiguillon", theme = "aiguillon.ogg", - center_x = 0, - center_y = 10, + portrait = 5, -- TODO: See `maps/ribbit`. + center = {x = 0, y = 10}, width = 370, height = 290, - -- RESPAWN POINTS respawns = { - {x = 0, y = -80}, - {x = 0, y = -80}, - {x = 0, y = -80}, - {x = 0, y = -80}, + {x = -15, y = -80}, + {x = -5, y = -80}, + {x = 5, y = -80}, + {x = 15, y = -80}, }, - -- GRAPHICS - clouds = false, - background = "assets/backgrounds/aiguillon.png", - platforms = { + create = { + { + ratio = 0, + background = "assets/backgrounds/aiguillon.png" + }, { x = -108, y = 22, - shape = {1,0, 212,0, 212,12, 206,18, 14,18, 1,12}, - sprite = "assets/platforms/aiguillon-wide.png" + platform = "aiguillon-wide" }, { x = -46, y = -19, - shape = {1,0, 87,0, 87,18, 14,18, 1,12}, - sprite = "assets/platforms/aiguillon-middle.png" + platform = "aiguillon-middle" }, { x = -141, y = -57, - shape = {1,0, 50,0, 50,18, 5,18, 1,13}, - sprite = "assets/platforms/aiguillon-left-big.png" + platform = "aiguillon-left-big" }, { x = -132, y = 84, - shape = {1,0, 25,0, 25,18, 1,18}, - sprite = "assets/platforms/aiguillon-left-small.png" + platform = "aiguillon-left-small" }, { x = 77, y = -57, - shape = {1,0, 50,0, 50,12, 37,18, 1,18}, - sprite = "assets/platforms/aiguillon-right-big.png" + platform = "aiguillon-right-big" }, { x = 103, y = 84, - shape = {1,0, 25,0, 25,18, 1,18}, - sprite = "assets/platforms/aiguillon-right-small.png" + platform = "aiguillon-right-small" } }, - decorations = {} } diff --git a/config/maps/alpha abyss.lua b/config/maps/alpha abyss.lua deleted file mode 100644 index 0dd2c61..0000000 --- a/config/maps/alpha abyss.lua +++ /dev/null @@ -1,75 +0,0 @@ --- The abyss of the alpha. --- Animations -local animations_small = { - default = { - frames = 20, - repeated = true - } -} -local animations_big = { - default = { - frames = 20, - repeated = true - } -} -for i=1,10 do - local a = love.graphics.newQuad(i*118-118, 0, 118,51, 1180,51) - animations_big.default[i*2-1] = a - animations_big.default[i*2] = a - local a = love.graphics.newQuad(i*60-60, 0, 60,20, 600,20) - animations_small.default[i*2-1] = a - animations_small.default[i*2] = a -end --- Map data -return { - -- GENERAL - name = "alpha abyss", - theme = "alpha.ogg", - center_x = 0, - center_y = -80, - width = 360, - height = 240, - -- RESPAWN POINTS - respawns = { - {x = -30, y = 0}, - {x = 30, y = 0}, - {x = 0, y = 0}, - {x = -120, y = -50}, - {x = 120, y = -50}, - {x = 0, y = -75} - }, - -- GRAPHICS - clouds = false, - background = "assets/backgrounds/alpha-1.png", - platforms = { - { - x = -60, - y = 0, - shape = {0,0, 117,0, 101,50, 16,50}, - sprite = "assets/platforms/alpha-big.png", - animations = animations_big - }, - { - x = -145, - y = -50, - shape = {0,0, 59,0, 59,19, 0,19}, - sprite = "assets/platforms/alpha-small.png", - animations = animations_small - }, - { - x = 85, - y = -50, - shape = {0,0, 59,0, 59,19, 0,19}, - sprite = "assets/platforms/alpha-small.png", - animations = animations_small - }, - { - x = -30, - y = -80, - shape = {0,0, 59,0, 59,19, 0,19}, - sprite = "assets/platforms/alpha-small.png", - animations = animations_small - } - }, - decorations = {} -} diff --git a/config/maps/alpha.lua b/config/maps/alpha.lua new file mode 100644 index 0000000..795b6cf --- /dev/null +++ b/config/maps/alpha.lua @@ -0,0 +1,43 @@ +return +{ + name = "Alpha Abyss", + theme = "alpha.ogg", + portrait = 7, -- TODO: See `maps/ribbit`. + center = {x = 0, y = -80}, + width = 360, + height = 240, + respawns = { + {x = -30, y = 0}, + {x = 30, y = 0}, + {x = 0, y = 0}, + {x = -120, y = -50}, + {x = 120, y = -50}, + {x = 0, y = -75} + }, + create = { + { + ratio = 0, + background = "assets/backgrounds/alpha.png", + }, + { + x = -60, + y = 0, + platform = "alpha-big", + }, + { + x = -145, + y = -50, + platform = "alpha-small", + }, + { + x = 85, + y = -50, + platform = "alpha-small", + }, + { + x = -30, + y = -80, + platform = "alpha-small", + } + }, +} diff --git a/config/maps/default.lua b/config/maps/default.lua index 05b8dc9..22c03f6 100644 --- a/config/maps/default.lua +++ b/config/maps/default.lua @@ -1,47 +1,46 @@ --- Default map from original roflnauts -return { - -- GENERAL +return +{ name = "default", theme = "default.ogg", - center_x = 0, - center_y = 0, + portrait = 1, -- TODO: See `maps/ribbit`. + center = {x = 0, y = 0}, width = 360, height = 240, - -- RESPAWN POINTS respawns = { {x = -15, y = -80}, {x = -5, y = -80}, {x = 5, y = -80}, {x = 15, y = -80} }, - -- GRAPHICS - clouds = true, - background = "assets/backgrounds/default.png", - platforms = { + create = { + { + clouds = "assets/clouds.png", + animations = "clouds-default", + count = 8, + }, + { + ratio = 0, + background = "assets/backgrounds/default.png" + }, { x = -91, y = 0, - shape = {0,1, 180,1, 180,10, 95,76, 86,76, 0,10}, - sprite = "assets/platforms/default-big.png" + platform = "default-big" }, { x = 114, y = 50, - shape = {0,1, 51,1, 51,18, 0,18}, - sprite = "assets/platforms/default-side.png" + platform = "default-side" }, { x = -166, y = 50, - shape = {0,1, 51,1, 51,18, 0,18}, - sprite = "assets/platforms/default-side.png" + platform = "default-side" }, { x = -17, y = -50, - shape = {0,1, 33,1, 33,14, 0,14}, - sprite = "assets/platforms/default-top.png" + platform = "default-top" } - }, - decorations = {} + } } diff --git a/config/maps/ribbit.lua b/config/maps/ribbit.lua index c3f5c78..08683ac 100644 --- a/config/maps/ribbit.lua +++ b/config/maps/ribbit.lua @@ -1,46 +1,41 @@ -return { - -- GENERAL - name = "ribbit", +return +{ + name = "Ribbit IV", theme = "ribbit.ogg", - center_x = 0, - center_y = 50, + portrait = 3, -- TODO: Either separate portraits now or change `iconsList` and `menu/host`. See also both mentioned files. + center = {x = 0, y = 50}, width = 360, height = 240, - -- RESPAWN POINTS respawns = { {x = -15, y = -80}, {x = -5, y = -80}, {x = 5, y = -80}, {x = 15, y = -80} }, - -- GRAPHICS - clouds = false, - background = "assets/backgrounds/ribbit.png", - platforms = { + create = { + { + ratio = 0, + background = "assets/backgrounds/ribbit.png" + }, { x = -154, y = 10, - shape = {1,12, 48,12, 48,32, 1,32}, - sprite = "assets/platforms/ribbit-left.png" + platform = "ribbit-left" }, { x = 67, y = 7, - shape = {36,14, 83,14, 83,29, 36,29}, - sprite = "assets/platforms/ribbit-right.png" + platform = "ribbit-right" }, { x = -70, y = -5, - shape = {0,3, 139,3, 134,24, 5,24}, - sprite = "assets/platforms/ribbit-top.png" + platform = "ribbit-top" }, { x = -54, y = 63, - shape = {0,3, 107,3, 75,44, 32,44}, - sprite = "assets/platforms/ribbit-bottom.png" + platform = "ribbit-bottom" } - }, - decorations = {} -}
\ No newline at end of file + } +} diff --git a/config/maps/rill.lua b/config/maps/rill.lua index 83c02f2..b027923 100644 --- a/config/maps/rill.lua +++ b/config/maps/rill.lua @@ -1,73 +1,66 @@ -return { - -- CENTER AND SIZE - name = "rill", +return +{ + name = "Rill", theme = "rill.ogg", - center_x = 0, - center_y = 75, + portrait = 2, -- TODO: See `maps/ribbit`. + center = {x = 0, y = 75}, width = 400, height = 260, - -- RESPAWN POINTS respawns = { {x = -135, y = 10}, {x = -135, y = 10}, {x = 135, y = 10}, {x = 135, y = 10} }, - -- GRAPHICS - clouds = false, - background = "assets/backgrounds/rill.png", - platforms = { + create = { + { + ratio = 0, + background = "assets/backgrounds/rill.png" + }, { x = -151, y = 25, - shape = {0,0, 55,0, 55,11, 0,11}, - sprite = "assets/platforms/rill-flat-left.png" + platform = "rill-flat-left" }, { x = 93, y = 25, - shape = {0,0, 55,0, 55,11, 0,11}, - sprite = "assets/platforms/rill-flat-right.png" + platform = "rill-flat-right" }, { x = -24, y = 55, - shape = {0,0, 48,0, 47,15, 1,15}, - sprite = "assets/platforms/rill-center.png" + platform = "rill-center" }, { x = -112, y = 80, - shape = {77,30, 17,0, 0,0, 0,7, 77,44}, - sprite = "assets/platforms/rill-slope-left.png" + platform = "rill-slope-left" }, { x = 35, y = 80, - shape = {0,30, 60,0, 77,0, 77,7, 0,44}, - sprite = "assets/platforms/rill-slope-right.png" - } - }, - decorations = { + platform = "rill-slope-right" + }, { x = 98, y = -20, - sprite = "assets/decorations/rill-lollipop-big-purple.png" + decoration = "assets/decorations/rill-lollipop-big-purple.png" }, { x = 127, y = 4, - sprite = "assets/decorations/rill-lollipop-small-green.png" + decoration = "assets/decorations/rill-lollipop-small-green.png" }, { x = -152, y = -20, - sprite = "assets/decorations/rill-lollipop-big-orange.png" + decoration = "assets/decorations/rill-lollipop-big-orange.png" }, { x = -121, y = 4, - sprite = "assets/decorations/rill-lollipop-small-blue.png" - }, + decoration = "assets/decorations/rill-lollipop-small-blue.png" + } } } diff --git a/config/maps/sorona.lua b/config/maps/sorona.lua index 8ec4727..4cc87cd 100644 --- a/config/maps/sorona.lua +++ b/config/maps/sorona.lua @@ -1,53 +1,50 @@ --- Sorona, but with the worms and such. -return { - -- GENERAL - name = "sorona", +return +{ + name = "Sorona", theme = "sorona.ogg", - center_x = 0, - center_y = 0, + portrait = 6, -- TODO: See `maps/ribbit`. + center = {x = 0, y = 0}, width = 360, height = 240, - -- RESPAWN POINTS respawns = { - {x = -98, y = -70}, - {x = 70, y = -70}, - {x = -30, y = -20}, - {x = -90, y = 40}, + {x = -10, y = -20}, + {x = 0, y = -20}, + {x = 10, y = -20} }, - -- GRAPHICS - clouds = false, - background = "assets/backgrounds/sorona.png", - platforms = { + create = { { - x = -60, - y = 0, - shape = {0,1, 59,1, 59,17, 0,17}, - sprite = "assets/platforms/sorona-center.png" + ratio = 0, + background = "assets/backgrounds/sorona.png", }, { - x = -40, - y = 55, - shape = {3,0, 180,0, 180,20, 3,20}, - sprite = "assets/platforms/sorona-right-bottom.png" + x = -71, + y = 50, + platform = "sorona-wide" }, { - x = -120, - y = 55, - shape = {3,0, 62,0, 62,23, 3,23}, - sprite = "assets/platforms/sorona-left-bottom.png" + x = -84, + y = -5, + platform = "sorona-small" }, { - x = 0, - y = -50, - shape = {1,1, 140,1, 1,17, 140,17}, - sprite = "assets/platforms/sorona-right-top.png" + x = -50, + y = -4, + decoration = "assets/decorations/sorona-bridge-left.png" }, { - x = -150, - y = -55, - shape = {1,9, 106,9, 40,27, 1,27}, - sprite = "assets/platforms/sorona-left-top.png" + x = -14, + y = -4, + decoration = "assets/decorations/sorona-bridge-loop.png" + }, + { + x = 14, + y = -4, + decoration = "assets/decorations/sorona-bridge-right.png" + }, + { + x = 43, + y = -5, + platform = "sorona-small" } - }, - decorations = {} + } } diff --git a/config/maps/starstorm.lua b/config/maps/starstorm.lua index 7f00633..b4fabcd 100644 --- a/config/maps/starstorm.lua +++ b/config/maps/starstorm.lua @@ -1,12 +1,11 @@ -return { - -- CENTER AND SIZE - name = "starstorm", +return +{ + name = "Starstorm", theme = "starstorm.ogg", - center_x = 0, - center_y = -20, + portrait = 4, -- TODO: See `maps/ribbit`. + center = {x = 0, y = -20}, width = 400, height = 260, - -- RESPAWN POINTS respawns = { {x = 100, y = 45}, {x = -100, y = 45}, @@ -15,79 +14,65 @@ return { {x = -110, y = -70}, {x = 110, y = -70} }, - -- GRAPHICS - clouds = false, - background = "assets/backgrounds/starstorm.png", - platforms = { + create = { + { + ratio = 0, + background = "assets/backgrounds/starstorm.png" + }, { x = -170, y = -55, - shape = { - {0,1, 33,1, 39,6, 39,21, 31,21, 0,21}, - {40,6, 115,6, 115,14, 40,14} - }, - sprite = "assets/platforms/starstorm-left-top.png" + platform = "starstorm-left-top" }, { x = -156, y = -2, - shape = {0,0, 109,0, 109,20, 0,20}, - sprite = "assets/platforms/starstorm-left-middle.png" + platform = "starstorm-left-middle" }, { x = -160, y = 69, - shape = {0,4, 8,4, 13,1, 102,1, 102,16, 19,16, 0,11}, - sprite = "assets/platforms/starstorm-left-bottom.png" + platform = "starstorm-left-bottom" }, { x = 52, y = -55, - shape = { - {115,1, 82,1, 76,6, 76,21, 84,21, 115,21}, - {75,6, 0,6, 0,14, 75,14} - }, - sprite = "assets/platforms/starstorm-right-top.png" + platform = "starstorm-right-top" }, { x = 44, y = -2, - shape = {109,0, 0,0, 0,20, 109,20}, - sprite = "assets/platforms/starstorm-right-middle.png" + platform = "starstorm-right-middle" }, { x = 55, y = 69, - shape = {102,4, 94,4, 89,1, 0,1, 0,16, 83,16, 102,11}, - sprite = "assets/platforms/starstorm-right-bottom.png" + platform = "starstorm-right-bottom" }, { x = -27, y = 40, - shape = {0,6, 53,6, 53,14, 0,14}, - sprite = "assets/platforms/starstorm-center.png" - } - }, - decorations = { + platform = "starstorm-center" + }, { x = -166, y = -37, - sprite = "assets/decorations/starstorm-left-top.png" + decoration = "assets/decorations/starstorm-left-top.png" }, { x = -163, y = 19, - sprite = "assets/decorations/starstorm-left-bottom.png" + decoration = "assets/decorations/starstorm-left-bottom.png" }, { x = 119, y = -37, - sprite = "assets/decorations/starstorm-right-top.png" + decoration = "assets/decorations/starstorm-right-top.png" }, { - x = 52+77, + x = 129, y = 19, - sprite = "assets/decorations/starstorm-right-bottom.png" + decoration = "assets/decorations/starstorm-right-bottom.png" } } } diff --git a/config/menus/host.lua b/config/menus/host.lua index a180736..c8ef4d8 100644 --- a/config/menus/host.lua +++ b/config/menus/host.lua @@ -6,37 +6,49 @@ local Selector = require "not.Selector" local width, height = love.graphics.getWidth()/getScale(), love.graphics.getHeight()/getScale() local bx = width/2-29 -local map_Selector = Selector(menu) - -require "iconsList" -local icons, maps = getMapsIconsList() - if background == nil or not background:is(require "not.MenuBackground") then background = require "not.MenuBackground"(menu) end +-- TODO: This is temporary solution for generating available maps list and portraits for them to pass to Selector. See also: `iconsList`. +local icons, maps = {}, {} +do + local files = love.filesystem.getDirectoryItems("config/maps") + for _,filename in pairs(files) do + local path = string.format("config/maps/%s", filename) + if love.filesystem.isFile(path) and filename ~= "readme.md" then + local map = love.filesystem.load(path)() + local i, name = map.portrait, map.name + map.filename = path + if i then + table.insert(icons, love.graphics.newQuad((i-1)*76, 0, 76, 37, 608, 37)) + table.insert(maps, map) + end + end + end +end + +local mapSelector = Selector(maps, nil, menu) + return { background, - map_Selector - :setPosition(width/2, 40) - :setSize(80, 42) - :setMargin(0) - :set("global", true) - :set("first", true) - :set("list", maps) - :set("icons_i", love.graphics.newImage("assets/maps.png")) - :set("icons_q", icons) - :set("shape", "panorama") - :init() + mapSelector + :setPosition(width/2-40, 40) + :set("shape", Selector.SHAPE_PANORAMA) + :set("icons_quads", icons) + :set("icons_atlas", love.graphics.newImage("assets/maps.png")) + :set("getText", function (self) + return self:getSelected().name + end) , Button(menu) :setText("Next") :setPosition(bx,101) :set("isEnabled", function () - return map_Selector:isLocked() + return mapSelector:getLocked() end) :set("active", function (self) - MAP = map_Selector:getFullSelection(true)[1][1] -- please, don't kill me for this, kek + MAP = mapSelector:getSelected() self.parent:open("select") end) , diff --git a/config/menus/select.lua b/config/menus/select.lua index 23f9374..1e57960 100644 --- a/config/menus/select.lua +++ b/config/menus/select.lua @@ -3,46 +3,75 @@ local menu, background = ... local Button = require "not.Button" local Selector = require "not.Selector" local Element = require "not.Element" +local Group = require "not.Group" local width, height = love.graphics.getWidth()/getScale(), love.graphics.getHeight()/getScale() local bx = width/2-29 -local naut_Selector = Selector(menu) local start_Button = Button(menu) -require "iconsList" -local nautsIcons, nautsList = getNautsIconsList() - if background == nil or not background:is(require "not.MenuBackground") then background = require "not.MenuBackground"(menu) end +-- TODO: Temporary group for naut selectors. This isn't production code at any means! +local group, get +do + local atlas = love.graphics.newImage("assets/portraits.png") + local nauts = require("config.nauts") + local icons = {} + for i=0,#nauts-1 do + table.insert(icons, love.graphics.newQuad(i*28, 0, 28, 27, 1008, 27)) + end + + group = Group(menu) + + local + function attack (self) + if not self.lock then + if self.index == 1 then + return + end + if self.index == 2 then + self.index = self:rollRandom({1, 2}) + end + if self:isUnique() then + self.lock = true + end + end + end + + for i,_ in pairs(Controller.getSets()) do + group:addChild(Selector(nauts, group, menu)) + :set("icons_atlas", atlas) + :set("icons_quads", icons) + :set("attack", attack) + end + + group:set("margin", 16) + local gw, gh = group:getSize() + group:setPosition((width - gw)/2, 55) + + function get () + local selection = group:callEach("getLocked") + for i,naut in ipairs(selection) do + selection[i] = {naut, Controller.getSets()[i]} + end + return selection + end +end + return { background, - naut_Selector - :setPosition(width/2,60) - :setMargin(8) - :setSize(32, 32) - :set("list", nautsList) - :set("global", false) - :set("icons_i", love.graphics.newImage("assets/portraits.png")) - :set("icons_q", nautsIcons) - :init() - , + group, start_Button :setText("Force start") :setPosition(bx,134) :set("isEnabled", function () - if #naut_Selector:getFullSelection(false) > 1 then - return true - end - return false + return #get() > 1 end) :set("active", function (self) - local nauts = naut_Selector:getFullSelection(false) - if #nauts > 1 then - sceneManager:changeScene(World(MAP, nauts)) - end + sceneManager:changeScene(World(MAP, get())) end) , Button(menu) @@ -67,8 +96,7 @@ return { end end) :set("update", function (self, dt) - local total = #naut_Selector:getFullSelection(false) - if total > 1 then + if #get() > 1 then self.the_final_countdown = self.the_final_countdown - dt else self.the_final_countdown = 9 diff --git a/config/platforms/205-left.lua b/config/platforms/205-left.lua new file mode 100644 index 0000000..b04a17f --- /dev/null +++ b/config/platforms/205-left.lua @@ -0,0 +1,8 @@ +return +{ + sprite = "assets/platforms/205-left.png", + shape = { + {8,0, 54,0, 54,31, 8,27}, + {55,29, 94,29, 92,36, 55,36} + } +} diff --git a/config/platforms/205-right.lua b/config/platforms/205-right.lua new file mode 100644 index 0000000..c5bcca6 --- /dev/null +++ b/config/platforms/205-right.lua @@ -0,0 +1,8 @@ +return +{ + sprite = "assets/platforms/205-right.png", + shape = { + {86,0, 40,0, 40,31, 86,27}, + {39,29, 0,29, 2,36, 39,36} + } +} diff --git a/config/platforms/205-top.lua b/config/platforms/205-top.lua new file mode 100644 index 0000000..8470ed6 --- /dev/null +++ b/config/platforms/205-top.lua @@ -0,0 +1,5 @@ +return +{ + sprite = "assets/platforms/205-top.png", + shape = {0,1, 72,1, 70,8, 2,8} +} diff --git a/config/platforms/404-bottom.lua b/config/platforms/404-bottom.lua new file mode 100644 index 0000000..4e59a98 --- /dev/null +++ b/config/platforms/404-bottom.lua @@ -0,0 +1,10 @@ +return
+{
+ sprite = "assets/platforms/404-bottom.png",
+ shape = {
+ {0,0, 69,0, 87,17, 87,28, 0,28},
+ {161,17, 178,0, 247,0, 247,28, 161,28},
+ {33,28, 214,28, 214,57, 33,57},
+ {87,17, 161,17, 168,28, 87,28}
+ }
+}
diff --git a/config/platforms/404-small.lua b/config/platforms/404-small.lua new file mode 100644 index 0000000..36b8a1d --- /dev/null +++ b/config/platforms/404-small.lua @@ -0,0 +1,5 @@ +return
+{
+ sprite = "assets/platforms/404-small.png",
+ shape = {0,0, 43,0, 43,8, 0,8}
+}
diff --git a/config/platforms/404-top.lua b/config/platforms/404-top.lua new file mode 100644 index 0000000..3d3ba2b --- /dev/null +++ b/config/platforms/404-top.lua @@ -0,0 +1,9 @@ +return
+{
+ sprite = "assets/platforms/404-top.png",
+ shape = {
+ {45,0, 166,0, 166,13, 45,13},
+ {23,14, 188,14, 188,26, 23,26},
+ {0,27, 211,27, 211,45, 0,45}
+ }
+}
diff --git a/config/platforms/aiguillon-left-big.lua b/config/platforms/aiguillon-left-big.lua new file mode 100644 index 0000000..41ae46d --- /dev/null +++ b/config/platforms/aiguillon-left-big.lua @@ -0,0 +1,5 @@ +return +{ + sprite = "assets/platforms/aiguillon-left-big.png", + shape = {1,0, 50,0, 50,18, 5,18, 1,13} +} diff --git a/config/platforms/aiguillon-left-small.lua b/config/platforms/aiguillon-left-small.lua new file mode 100644 index 0000000..7495374 --- /dev/null +++ b/config/platforms/aiguillon-left-small.lua @@ -0,0 +1,5 @@ +return +{ + sprite = "assets/platforms/aiguillon-left-small.png", + shape = {1,0, 25,0, 25,18, 1,18} +} diff --git a/config/platforms/aiguillon-middle.lua b/config/platforms/aiguillon-middle.lua new file mode 100644 index 0000000..9107dcd --- /dev/null +++ b/config/platforms/aiguillon-middle.lua @@ -0,0 +1,5 @@ +return +{ + sprite = "assets/platforms/aiguillon-middle.png", + shape = {1,0, 87,0, 87,18, 14,18, 1,12} +} diff --git a/config/platforms/aiguillon-right-big.lua b/config/platforms/aiguillon-right-big.lua new file mode 100644 index 0000000..e5d525b --- /dev/null +++ b/config/platforms/aiguillon-right-big.lua @@ -0,0 +1,5 @@ +return +{ + sprite = "assets/platforms/aiguillon-right-big.png", + shape = {1,0, 50,0, 50,12, 37,18, 1,18} +} diff --git a/config/platforms/aiguillon-right-small.lua b/config/platforms/aiguillon-right-small.lua new file mode 100644 index 0000000..b0baf3d --- /dev/null +++ b/config/platforms/aiguillon-right-small.lua @@ -0,0 +1,5 @@ +return +{ + sprite = "assets/platforms/aiguillon-right-small.png", + shape = {1,0, 25,0, 25,18, 1,18} +} diff --git a/config/platforms/aiguillon-wide.lua b/config/platforms/aiguillon-wide.lua new file mode 100644 index 0000000..7b653a2 --- /dev/null +++ b/config/platforms/aiguillon-wide.lua @@ -0,0 +1,5 @@ +return +{ + sprite = "assets/platforms/aiguillon-wide.png", + shape = {1,0, 212,0, 212,12, 206,18, 14,18, 1,12} +} diff --git a/config/platforms/alpha-big.lua b/config/platforms/alpha-big.lua new file mode 100644 index 0000000..a0cfb32 --- /dev/null +++ b/config/platforms/alpha-big.lua @@ -0,0 +1,31 @@ +return +{ + sprite = "assets/platforms/alpha-big.png", + shape = {0,0, 117,0, 101,50, 16,50}, + animations = { + default = { + [1] = love.graphics.newQuad(0, 0, 118, 51, 1180, 51), + [2] = love.graphics.newQuad(0, 0, 118, 51, 1180, 51), + [3] = love.graphics.newQuad(118, 0, 118, 51, 1180, 51), + [4] = love.graphics.newQuad(118, 0, 118, 51, 1180, 51), + [5] = love.graphics.newQuad(236, 0, 118, 51, 1180, 51), + [6] = love.graphics.newQuad(236, 0, 118, 51, 1180, 51), + [7] = love.graphics.newQuad(354, 0, 118, 51, 1180, 51), + [8] = love.graphics.newQuad(354, 0, 118, 51, 1180, 51), + [9] = love.graphics.newQuad(472, 0, 118, 51, 1180, 51), + [10] = love.graphics.newQuad(472, 0, 118, 51, 1180, 51), + [11] = love.graphics.newQuad(590, 0, 118, 51, 1180, 51), + [12] = love.graphics.newQuad(590, 0, 118, 51, 1180, 51), + [13] = love.graphics.newQuad(708, 0, 118, 51, 1180, 51), + [14] = love.graphics.newQuad(708, 0, 118, 51, 1180, 51), + [15] = love.graphics.newQuad(826, 0, 118, 51, 1180, 51), + [16] = love.graphics.newQuad(826, 0, 118, 51, 1180, 51), + [17] = love.graphics.newQuad(944, 0, 118, 51, 1180, 51), + [18] = love.graphics.newQuad(944, 0, 118, 51, 1180, 51), + [19] = love.graphics.newQuad(1062, 0, 118, 51, 1180, 51), + [20] = love.graphics.newQuad(1062, 0, 118, 51, 1180, 51), + frames = 20, + repeated = true + } + } +} diff --git a/config/platforms/alpha-small.lua b/config/platforms/alpha-small.lua new file mode 100644 index 0000000..3c72af9 --- /dev/null +++ b/config/platforms/alpha-small.lua @@ -0,0 +1,31 @@ +return +{ + sprite = "assets/platforms/alpha-small.png", + shape = {0,0, 59,0, 59,19, 0,19}, + animations = { + default = { + [1] = love.graphics.newQuad(0, 0, 60, 20, 600, 20), + [2] = love.graphics.newQuad(0, 0, 60, 20, 600, 20), + [3] = love.graphics.newQuad(60, 0, 60, 20, 600, 20), + [4] = love.graphics.newQuad(60, 0, 60, 20, 600, 20), + [5] = love.graphics.newQuad(120, 0, 60, 20, 600, 20), + [6] = love.graphics.newQuad(120, 0, 60, 20, 600, 20), + [7] = love.graphics.newQuad(180, 0, 60, 20, 600, 20), + [8] = love.graphics.newQuad(180, 0, 60, 20, 600, 20), + [9] = love.graphics.newQuad(240, 0, 60, 20, 600, 20), + [10] = love.graphics.newQuad(240, 0, 60, 20, 600, 20), + [11] = love.graphics.newQuad(300, 0, 60, 20, 600, 20), + [12] = love.graphics.newQuad(300, 0, 60, 20, 600, 20), + [13] = love.graphics.newQuad(360, 0, 60, 20, 600, 20), + [14] = love.graphics.newQuad(360, 0, 60, 20, 600, 20), + [15] = love.graphics.newQuad(420, 0, 60, 20, 600, 20), + [16] = love.graphics.newQuad(420, 0, 60, 20, 600, 20), + [17] = love.graphics.newQuad(480, 0, 60, 20, 600, 20), + [18] = love.graphics.newQuad(480, 0, 60, 20, 600, 20), + [19] = love.graphics.newQuad(540, 0, 60, 20, 600, 20), + [20] = love.graphics.newQuad(540, 0, 60, 20, 600, 20), + frames = 20, + repeated = true + } + } +} diff --git a/config/platforms/default-big.lua b/config/platforms/default-big.lua new file mode 100644 index 0000000..85893b3 --- /dev/null +++ b/config/platforms/default-big.lua @@ -0,0 +1,5 @@ +return +{ + sprite = "assets/platforms/default-big.png", + shape = {0,1, 180,1, 180,10, 95,76, 86,76, 0,10} +} diff --git a/config/platforms/default-side.lua b/config/platforms/default-side.lua new file mode 100644 index 0000000..77b55bd --- /dev/null +++ b/config/platforms/default-side.lua @@ -0,0 +1,5 @@ +return +{ + sprite = "assets/platforms/default-side.png", + shape = {0,1, 51,1, 51,18, 0,18} +} diff --git a/config/platforms/default-top.lua b/config/platforms/default-top.lua new file mode 100644 index 0000000..dbe4cbe --- /dev/null +++ b/config/platforms/default-top.lua @@ -0,0 +1,5 @@ +return +{ + sprite = "assets/platforms/default-top.png", + shape = {0,1, 33,1, 33,14, 0,14} +} diff --git a/config/platforms/ribbit-bottom.lua b/config/platforms/ribbit-bottom.lua new file mode 100644 index 0000000..38e4d95 --- /dev/null +++ b/config/platforms/ribbit-bottom.lua @@ -0,0 +1,5 @@ +return +{ + sprite = "assets/platforms/ribbit-bottom.png", + shape = {0,3, 107,3, 75,44, 32,44}, +} diff --git a/config/platforms/ribbit-left.lua b/config/platforms/ribbit-left.lua new file mode 100644 index 0000000..69039dd --- /dev/null +++ b/config/platforms/ribbit-left.lua @@ -0,0 +1,5 @@ +return +{ + sprite = "assets/platforms/ribbit-left.png", + shape = {1,12, 48,12, 48,32, 1,32}, +} diff --git a/config/platforms/ribbit-right.lua b/config/platforms/ribbit-right.lua new file mode 100644 index 0000000..1aa6e9e --- /dev/null +++ b/config/platforms/ribbit-right.lua @@ -0,0 +1,5 @@ +return +{ + sprite = "assets/platforms/ribbit-right.png", + shape = {36,14, 83,14, 83,29, 36,29}, +} diff --git a/config/platforms/ribbit-top.lua b/config/platforms/ribbit-top.lua new file mode 100644 index 0000000..1493114 --- /dev/null +++ b/config/platforms/ribbit-top.lua @@ -0,0 +1,5 @@ +return +{ + sprite = "assets/platforms/ribbit-top.png", + shape = {0,3, 139,3, 134,24, 5,24}, +} diff --git a/config/platforms/rill-center.lua b/config/platforms/rill-center.lua new file mode 100644 index 0000000..72104b3 --- /dev/null +++ b/config/platforms/rill-center.lua @@ -0,0 +1,5 @@ +return +{ + sprite = "assets/platforms/rill-center.png", + shape = {0,0, 48,0, 47,15, 1,15} +} diff --git a/config/platforms/rill-flat-left.lua b/config/platforms/rill-flat-left.lua new file mode 100644 index 0000000..f1fdd5e --- /dev/null +++ b/config/platforms/rill-flat-left.lua @@ -0,0 +1,5 @@ +return +{ + sprite = "assets/platforms/rill-flat-left.png", + shape = {0,0, 55,0, 55,11, 0,11} +} diff --git a/config/platforms/rill-flat-right.lua b/config/platforms/rill-flat-right.lua new file mode 100644 index 0000000..8bf70a9 --- /dev/null +++ b/config/platforms/rill-flat-right.lua @@ -0,0 +1,5 @@ +return +{ + sprite = "assets/platforms/rill-flat-right.png", + shape = {0,0, 55,0, 55,11, 0,11} +} diff --git a/config/platforms/rill-slope-left.lua b/config/platforms/rill-slope-left.lua new file mode 100644 index 0000000..49052b4 --- /dev/null +++ b/config/platforms/rill-slope-left.lua @@ -0,0 +1,5 @@ +return +{ + sprite = "assets/platforms/rill-slope-left.png", + shape = {77,30, 17,0, 0,0, 0,7, 77,44} +} diff --git a/config/platforms/rill-slope-right.lua b/config/platforms/rill-slope-right.lua new file mode 100644 index 0000000..3eca829 --- /dev/null +++ b/config/platforms/rill-slope-right.lua @@ -0,0 +1,5 @@ +return +{ + sprite = "assets/platforms/rill-slope-right.png", + shape = {0,30, 60,0, 77,0, 77,7, 0,44} +} diff --git a/config/platforms/sorona-button.lua b/config/platforms/sorona-button.lua new file mode 100644 index 0000000..2ca3bae --- /dev/null +++ b/config/platforms/sorona-button.lua @@ -0,0 +1,5 @@ +return +{ + sprite = "assets/platforms/sorona-button.png", + shape = {0,1, 59,1, 59,17, 0,17} +} diff --git a/config/platforms/sorona-medium.lua b/config/platforms/sorona-medium.lua new file mode 100644 index 0000000..50eaeeb --- /dev/null +++ b/config/platforms/sorona-medium.lua @@ -0,0 +1,5 @@ +return +{ + sprite = "assets/platforms/sorona-medium.png", + shape = {3,1, 61,1, 61,23, 3,23} +} diff --git a/config/platforms/sorona-small.lua b/config/platforms/sorona-small.lua new file mode 100644 index 0000000..1a01c69 --- /dev/null +++ b/config/platforms/sorona-small.lua @@ -0,0 +1,5 @@ +return +{ + sprite = "assets/platforms/sorona-small.png", + shape = {3,1, 39,1, 39,18, 3,18} +} diff --git a/config/platforms/sorona-spiked.lua b/config/platforms/sorona-spiked.lua new file mode 100644 index 0000000..00d975b --- /dev/null +++ b/config/platforms/sorona-spiked.lua @@ -0,0 +1,5 @@ +return +{ + sprite = "assets/platforms/sorona-spiked.png", + shape = {1,9, 106,9, 40,27, 1,27} +} diff --git a/config/platforms/sorona-wide.lua b/config/platforms/sorona-wide.lua new file mode 100644 index 0000000..d0916c9 --- /dev/null +++ b/config/platforms/sorona-wide.lua @@ -0,0 +1,5 @@ +return +{ + sprite = "assets/platforms/sorona-wide.png", + shape = {1,1, 140,1, 1,17, 140,17} +} diff --git a/config/platforms/starstorm-center.lua b/config/platforms/starstorm-center.lua new file mode 100644 index 0000000..77af4f8 --- /dev/null +++ b/config/platforms/starstorm-center.lua @@ -0,0 +1,5 @@ +return +{ + sprite = "assets/platforms/starstorm-center.png", + shape = {0,6, 53,6, 53,14, 0,14} +} diff --git a/config/platforms/starstorm-left-bottom.lua b/config/platforms/starstorm-left-bottom.lua new file mode 100644 index 0000000..f40185b --- /dev/null +++ b/config/platforms/starstorm-left-bottom.lua @@ -0,0 +1,5 @@ +return +{ + sprite = "assets/platforms/starstorm-left-bottom.png", + shape = {0,4, 8,4, 13,1, 102,1, 102,16, 19,16, 0,11}, +} diff --git a/config/platforms/starstorm-left-middle.lua b/config/platforms/starstorm-left-middle.lua new file mode 100644 index 0000000..0804309 --- /dev/null +++ b/config/platforms/starstorm-left-middle.lua @@ -0,0 +1,5 @@ +return +{ + sprite = "assets/platforms/starstorm-left-middle.png", + shape = {0,0, 109,0, 109,20, 0,20} +} diff --git a/config/platforms/starstorm-left-top.lua b/config/platforms/starstorm-left-top.lua new file mode 100644 index 0000000..9cc1944 --- /dev/null +++ b/config/platforms/starstorm-left-top.lua @@ -0,0 +1,8 @@ +return +{ + sprite = "assets/platforms/starstorm-left-top.png", + shape = { + {0,1, 33,1, 39,6, 39,21, 31,21, 0,21}, + {40,6, 115,6, 115,14, 40,14} + } +} diff --git a/config/platforms/starstorm-right-bottom.lua b/config/platforms/starstorm-right-bottom.lua new file mode 100644 index 0000000..16462cb --- /dev/null +++ b/config/platforms/starstorm-right-bottom.lua @@ -0,0 +1,5 @@ +return +{ + sprite = "assets/platforms/starstorm-right-bottom.png", + shape = {102,4, 94,4, 89,1, 0,1, 0,16, 83,16, 102,11} +} diff --git a/config/platforms/starstorm-right-middle.lua b/config/platforms/starstorm-right-middle.lua new file mode 100644 index 0000000..af9b712 --- /dev/null +++ b/config/platforms/starstorm-right-middle.lua @@ -0,0 +1,5 @@ +return +{ + sprite = "assets/platforms/starstorm-right-middle.png", + shape = {109,0, 0,0, 0,20, 109,20} +} diff --git a/config/platforms/starstorm-right-top.lua b/config/platforms/starstorm-right-top.lua new file mode 100644 index 0000000..4470754 --- /dev/null +++ b/config/platforms/starstorm-right-top.lua @@ -0,0 +1,8 @@ +return +{ + sprite = "assets/platforms/starstorm-right-top.png", + shape = { + {115,1, 82,1, 76,6, 76,21, 84,21, 115,21}, + {75,6, 0,6, 0,14, 75,14} + } +} |