From 55eca74922142c26b2dc98643f2eae7c828b2365 Mon Sep 17 00:00:00 2001 From: Kazhnuz Date: Sat, 1 Aug 2020 12:53:06 +0200 Subject: [PATCH] feat: add a way to test Shadow Shot style maps --- .../scenes/debug/menu/init.lua | 3 +- sonic-radiance.love/scenes/init.lua | 1 + .../scenes/test_scene2/assets.lua | 17 +++++++ .../scenes/test_scene2/init.lua | 44 +++++++++++++++++++ 4 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 sonic-radiance.love/scenes/test_scene2/assets.lua create mode 100644 sonic-radiance.love/scenes/test_scene2/init.lua diff --git a/sonic-radiance.love/scenes/debug/menu/init.lua b/sonic-radiance.love/scenes/debug/menu/init.lua index d42bb81..39c33a4 100644 --- a/sonic-radiance.love/scenes/debug/menu/init.lua +++ b/sonic-radiance.love/scenes/debug/menu/init.lua @@ -47,7 +47,8 @@ end function DebugMenu:buildOtherMenu() self:addSubMenu("other", "BaseMenu", "Other gameplay") - menu.commons.SceneWidget(self, "other", scenes.test, "Minigame Engine") + menu.commons.SceneWidget(self, "other", scenes.test, "Sonic Battle Maps") + menu.commons.SceneWidget(self, "other", scenes.test2, "Shadow Shot Maps") menu.commons.SubMenuWidget(self, "other", "BaseMenu", "Back") end diff --git a/sonic-radiance.love/scenes/init.lua b/sonic-radiance.love/scenes/init.lua index 1354fae..58bf0ee 100644 --- a/sonic-radiance.love/scenes/init.lua +++ b/sonic-radiance.love/scenes/init.lua @@ -1,5 +1,6 @@ return { test = require "scenes.test_scene", + test2 = require "scenes.test_scene2", title = require "scenes.titlescreen", cbs = require "scenes.battlesystem", debug = require "scenes.debug", diff --git a/sonic-radiance.love/scenes/test_scene2/assets.lua b/sonic-radiance.love/scenes/test_scene2/assets.lua new file mode 100644 index 0000000..d749a61 --- /dev/null +++ b/sonic-radiance.love/scenes/test_scene2/assets.lua @@ -0,0 +1,17 @@ +return { + ["textures"] = { + {"shadow", "assets/sprites/shadow.png"} + }, + ["sprites"] = { + {"sonic", "datas/gamedata/characters/sonic/sprites"}, + {"ring", "assets/sprites/items/ring"} + }, + ["imagefonts"] = { + --{"medium", "assets/fonts/medium"} + }, + ["sfx"] = { + --{"navigate", "assets/sfx/menu_move.mp3"}, + --{"confirm", "assets/sfx/menu_confirm.mp3"}, + --{"cancel", "assets/sfx/menu_error.mp3"}, + } +} diff --git a/sonic-radiance.love/scenes/test_scene2/init.lua b/sonic-radiance.love/scenes/test_scene2/init.lua new file mode 100644 index 0000000..0550982 --- /dev/null +++ b/sonic-radiance.love/scenes/test_scene2/init.lua @@ -0,0 +1,44 @@ +-- scenes/moveplayer3D :: a basic player movement example in fake3D + +--[[ + Copyright © 2019 Kazhnuz + + Permission is hereby granted, free of charge, to any person obtaining a copy of + this software and associated documentation files (the "Software"), to deal in + the Software without restriction, including without limitation the rights to + use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + the Software, and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +]] + +local Scene = require "core.modules.scenes" +local MovePlayer = Scene:extend() + +local World = require "game.modules.world" + +function MovePlayer:new(playerNumber, cameraMode) + local playerNumber = playerNumber or 1 + local cameraMode = cameraMode or "split" + + MovePlayer.super.new(self) + self.assets:batchImport("scenes.test_scene.assets") + + World(self, "shoot", "forest") + + self.world:setPlayerNumber(playerNumber) + self.world.cameras:setMode(cameraMode) + + self.world:loadMap() +end + +return MovePlayer