main.lua 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. -- recovery mode has own environment, stop executing if activated
  2. if require('recovery') then return end
  3. function copy_all(source, destination)
  4. end
  5. -- on first time create project directory and copy seed files
  6. if not lovr.filesystem.isFile('init.lua') then
  7. print('seeding user project for first time')
  8. for _, item in ipairs(lovr.filesystem.getDirectoryItems('seed')) do
  9. if lovr.filesystem.isFile('/seed/' .. item) then
  10. print('copying', item)
  11. local content = lovr.filesystem.read('/seed/' .. item)
  12. local success = lovr.filesystem.write(item, content)
  13. elseif lovr.filesystem.isDirectory('/seed/' .. item) then
  14. lovr.filesystem.createDirectory(item)
  15. for _, subitem in ipairs(lovr.filesystem.getDirectoryItems('/seed/' .. item)) do
  16. if lovr.filesystem.isFile('/seed/' .. item .. '/' .. subitem) then
  17. print('copying', subitem)
  18. local content = lovr.filesystem.read('/seed/' .. item .. '/' .. subitem)
  19. local success = lovr.filesystem.write(item .. '/' .. subitem, content)
  20. end
  21. end
  22. end
  23. end
  24. end
  25. -- remove traces of loaded modules and jump into user code
  26. package.loaded['main'] = nil
  27. package.loaded['recovery'] = nil
  28. -- make user directory files overshadow app files
  29. lovr.filesystem.unmount(lovr.filesystem.getSaveDirectory())
  30. lovr.filesystem.mount(lovr.filesystem.getSaveDirectory(), "", false)
  31. require'init'