summaryrefslogtreecommitdiffhomepage
path: root/iconsList.lua
diff options
context:
space:
mode:
Diffstat (limited to 'iconsList.lua')
-rw-r--r--iconsList.lua37
1 files changed, 37 insertions, 0 deletions
diff --git a/iconsList.lua b/iconsList.lua
new file mode 100644
index 0000000..4a384dc
--- /dev/null
+++ b/iconsList.lua
@@ -0,0 +1,37 @@
+-- TODO: These should be part of non-existent AssetsManager or something similar.
+local function testAvoidList (i, avoidList)
+ for key,value in pairs(avoidList) do
+ if i == value then
+ table.remove(avoidList, key)
+ return false
+ end
+ end
+ return true
+end
+
+function createIconsList (sheetWidth, sheetHeight, iconWidth, keysList, avoidList)
+ local avoidList = avoidList or {}
+ local iconsList, newKeysList = {}, {}
+ local iconsNumber = math.floor(sheetWidth / iconWidth)
+ local iconHeight = sheetHeight
+ for i=1,iconsNumber do
+ if testAvoidList(i, avoidList) then
+ iconsList[keysList[i]] = love.graphics.newQuad((i-1)*iconWidth, 0, iconWidth, iconHeight, sheetWidth, sheetHeight)
+ table.insert(newKeysList, keysList[i])
+ end
+ end
+ return iconsList, newKeysList
+end
+
+function getNautsIconsList (avoidList)
+ local avoidList = avoidList or {32,33,34,35,36}
+ local keysList = require "config.nauts"
+ local iconsList, newKeysList = createIconsList(1008, 27, 28, keysList, avoidList)
+ return iconsList, newKeysList
+end
+
+function getMapsIconsList (avoidList)
+ local keysList = require "config.maps"
+ local iconsList, newKeysList = createIconsList(532, 37, 76, keysList, avoidList)
+ return iconsList, newKeysList
+end