diff --git a/CHANGELOG.md b/CHANGELOG.md index 35acb6e..9fa328e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), - **levels:** use the right drawing method for debris' texture +### Changed + +- **levels:** assets are now loaded from an asset file + ### Removed - **main:** All functions already provided by gamecore have been removed. diff --git a/imperium-porcorum.love/scenes/levels/assets.lua b/imperium-porcorum.love/scenes/levels/assets.lua new file mode 100644 index 0000000..058070f --- /dev/null +++ b/imperium-porcorum.love/scenes/levels/assets.lua @@ -0,0 +1,30 @@ +local pigfolder = "assets/sprites/pigs/" + +return { + ["imagefonts"] = { + {"small", "assets/fonts/small"}, + {"medium", "assets/fonts/medium"}, + }, + ["sfx"] = { + {"jump", "assets/sfx/jump.wav"}, + {"break", "assets/sfx/break.wav"}, + {"collectcoin", "assets/sfx/collectcoin.wav"}, + }, + ["sprites"] = { + {"coin", "assets/sprites/items/coin"}, + {"coin5", "assets/sprites/items/coin5"}, + {"coin10", "assets/sprites/items/coin10"}, + {"cochon", pigfolder .. "cochon"}, + {"bling-bling", pigfolder .. "bling-bling"}, + {"sparkle", "assets/sprites/gfx/sparkle"}, + {"poof", "assets/sprites/gfx/poof"}, + }, + ["tilesets"] = { + {"weapon", "assets/sprites/weapon"}, + {"block", "assets/sprites/items/block"}, + {"lifeicons", "assets/sprites/pigs/lifeicons"}, + }, + ["images"] = { + {"debris", "assets/sprites/debris.png"}, + } +} diff --git a/imperium-porcorum.love/scenes/levels/init.lua b/imperium-porcorum.love/scenes/levels/init.lua index 470d024..7bdf308 100644 --- a/imperium-porcorum.love/scenes/levels/init.lua +++ b/imperium-porcorum.love/scenes/levels/init.lua @@ -15,8 +15,7 @@ local leveldatas = require "datas.levels" function Level:new(levelID, missionID) self:reset() Level.super.new(self) - self:loadSounds() - self:loadSprites() + self.assets:batchImport("scenes.levels.assets") previousMenu = previous self:loadMission(levelID, missionID) @@ -43,37 +42,6 @@ function Level:loadMission(levelID, missionID) self:launchMission() end -function Level:loadSounds() - self.assets:newSFX("jump", "assets/sfx/jump.wav") - self.assets:newSFX("break", "assets/sfx/break.wav") - self.assets:newSFX("collectcoin", "assets/sfx/collectcoin.wav") -end - -function Level:loadSprites() - self.assets:addSprite("coin", "assets/sprites/items/coin") - self.assets:addSprite("coin5", "assets/sprites/items/coin5") - self.assets:addSprite("coin10", "assets/sprites/items/coin10") - - self.assets:addTileset("weapon", "assets/sprites/weapon") - - self.assets:addSprite("sparkle", "assets/sprites/gfx/sparkle") - self.assets:addSprite("poof", "assets/sprites/gfx/poof") - - local pigfolder = "assets/sprites/pigs/" - self.assets:addSprite("cochon", pigfolder .. "cochon") - self.assets:addSprite("bling-bling", pigfolder .. "bling-bling") - - self.assets:addTileset("weapon", "assets/sprites/weapon") - self.assets:addTileset("block", "assets/sprites/items/block") - - self.assets:addImage("debris", "assets/sprites/debris.png") - - self.assets:addTileset("lifeicons", "assets/sprites/pigs/lifeicons") - - self.assets:addImageFont("small", "assets/fonts/small", 1) - self.assets:addImageFont("medium", "assets/fonts/medium", 1) -end - function Level:launchMission() self.playermanager = PlayerManager(self) --self:resetSpawnAndEntities()