From d690863b6f7744c7858b9324a40c4957e6d001d0 Mon Sep 17 00:00:00 2001 From: 0x81c Date: Wed, 25 Mar 2015 04:22:10 -0400 Subject: [PATCH] so we have a lot of it wor_ing properly, now we have to do the thing where it preloads necessary spritesgit add -A --- generic_moveable.lua | 3 ++- level_editor/editor.lua | 4 ++-- level_editor/object_attributes.lua | 19 +++++++++---------- main.lua | 5 +++++ sprite_manager.lua | 1 - 5 files changed, 18 insertions(+), 14 deletions(-) diff --git a/generic_moveable.lua b/generic_moveable.lua index 8ef7668..dced70c 100644 --- a/generic_moveable.lua +++ b/generic_moveable.lua @@ -2,8 +2,9 @@ require "entity" GenericMoveable = class("GenericMoveable", Entity) -function GenericMoveable:initialize(x, y, color, sprite) +function GenericMoveable:initialize(x, y, color, sprite, name) Entity.initialize(self, { + name = name, x = x, y = y, color = color, diff --git a/level_editor/editor.lua b/level_editor/editor.lua index eb707be..6d1f527 100644 --- a/level_editor/editor.lua +++ b/level_editor/editor.lua @@ -14,7 +14,7 @@ local selectedFolder = nil local selectedAsset = nil local selectedRoom = nil local selectedRow = 1 -local gameAssets = getAllAssets() +local gameAssets = {} local inputText = "" local assetProperties = {} @@ -31,7 +31,7 @@ local labels = {} function _initLevelEditor() - assets = getAllAssets() + gameAssets = getAllAssets() --create folder buttons local counter = 1 diff --git a/level_editor/object_attributes.lua b/level_editor/object_attributes.lua index 72109bb..a9aeab0 100644 --- a/level_editor/object_attributes.lua +++ b/level_editor/object_attributes.lua @@ -7,7 +7,6 @@ function get(folder) end function getAllAssets() - local properties = TSerial.unpack(love.filesystem.read("assets.prop") or "{}") local objectnames = {} local topFolder = "art" local files = love.filesystem.getDirectoryItems(topFolder) @@ -28,21 +27,21 @@ function getAllAssets() local name = fileToAnalyze:sub(1, fileToAnalyze:len() - 6) - if not properties[name] then - properties[name] = {} - properties[name].directory = folder - properties[name].sprites = {} - properties[name].class = "unmoveable" - properties[name].preload = false + if not globalAssetProperties[name] then + globalAssetProperties[name] = {} + globalAssetProperties[name].directory = folder + globalAssetProperties[name].sprites = {} + globalAssetProperties[name].class = "unmoveable" + globalAssetProperties[name].preload = false end - properties[name].sprites[color] = topFolder .. "/" .. folder .. "/" .. fileToAnalyze + globalAssetProperties[name].sprites[color] = topFolder .. "/" .. folder .. "/" .. fileToAnalyze end end end end end - str = TSerial.pack(properties, nil, true) + str = TSerial.pack(globalAssetProperties, nil, true) love.filesystem.write("assets.prop", str) - return properties + return globalAssetProperties end \ No newline at end of file diff --git a/main.lua b/main.lua index 125f207..7daa177 100644 --- a/main.lua +++ b/main.lua @@ -4,6 +4,7 @@ local utf8 = require("utf8") class = require "libs/middleclass" Timer = require "libs/hump/timer" sfxr = require "libs/sfxrlua/sfxr" +require "libs/TSerial" require "_debug_helpers" require "_helpers" require "input" @@ -14,11 +15,15 @@ require "sprite_manager" require "level_editor/editor" function love.load() + globalAssetProperties = TSerial.unpack(love.filesystem.read("assets.prop") or "{}") + _initDefaults() _initGridVars() _initSounds() _initGlobalColors() _initLevelEditor() + + processSprites() gameCanvas = love.graphics.newCanvas() diff --git a/sprite_manager.lua b/sprite_manager.lua index 1c78994..e9e823b 100644 --- a/sprite_manager.lua +++ b/sprite_manager.lua @@ -36,7 +36,6 @@ sprites = { spriteCells = {} - function processSprites() getCellsFromSprite(sprites.player)