diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/scenes/speck_editor.lua | 22 | ||||
| -rw-r--r-- | src/specks.lua | 4 | ||||
| -rw-r--r-- | src/utils.lua | 7 |
3 files changed, 30 insertions, 3 deletions
diff --git a/src/scenes/speck_editor.lua b/src/scenes/speck_editor.lua index 96176d0..355bcd1 100644 --- a/src/scenes/speck_editor.lua +++ b/src/scenes/speck_editor.lua @@ -68,10 +68,28 @@ local function speck_editor_ui_sys(editor) im.text("File:") -- TODO: implement these guys im.button("New") - im.button("Open") + + if im.button("Open") then + editor.filepath = lw.showFileDialog("savefile", function (files, _, _) + if not files[1] or files[1] == "" then + return + end + + editor.filepath = trunc_filename_to_res(files[1]) + editor.speck_sys = load_speck_sys_non_cached(editor.filepath) + + end, {defaultname = "res/speck/"}) + end if im.button("Save as") then - save(editor) + editor.filepath = lw.showFileDialog("savefile", function (files, _, _) + if not files[1] or files[1] == "" then + return + end + + editor.filepath = trunc_filename_to_res(files[1]) + save(editor) + end, {defaultname = "res/speck/"}) end if im.button("Save") then save(editor) diff --git a/src/specks.lua b/src/specks.lua index 318bfdd..7c0ef11 100644 --- a/src/specks.lua +++ b/src/specks.lua @@ -285,3 +285,7 @@ function load_speck_sys(filename) return sys end +function load_speck_sys_non_cached(filename) + speck_bank[filename] = lf.load(filename)() + return load_speck_sys(filename) +end diff --git a/src/utils.lua b/src/utils.lua index 5b8258c..e20c88a 100644 --- a/src/utils.lua +++ b/src/utils.lua @@ -120,7 +120,7 @@ end function table.deep_copy(datatable) local tblRes={} if type(datatable)=="table" then - for k,v in pairs(datatable) do + for k,v in pairs(datatable) do tblRes[table.deep_copy(k)] = table.deep_copy(v) end else @@ -129,6 +129,11 @@ function table.deep_copy(datatable) return tblRes end +function trunc_filename_to_res(filename) + local index = filename:find("res/", 1, true) + return filename:sub(index) +end + EASING_FUNCTIONS = { Lerp = lerp } |
