You can't modify/add/delete/create anything inside your .love file, it's the same if you had your project un-zipped and not in a .love file.
Code: Select all
arbitraryPath/sourceBaseDirectory/
The above is the base directory of your project, it can be named anything, it should contain at least the main.lua file, and if you want to use it, the conf.lua file.
It is the same as the topmost level in your .love file, which is a zip archive containing
the contents of that directory (and not the directory itself).
Anything outside your .love file is almost exactly like anything outside your projectBaseDirectory, with one exception.
The exception is that you can use [wiki]love.filesystem.getSourceBaseDirectory[/wiki] if your project is fused (Whether by using a commandline parameter or combining that with the love executable on windows).
You can mount the directory returned by the above function, meaning you're basically allowed to read, and only read the folder where your .love (or .exe, or main.lua) resides.
Code: Select all
<OS-Specific-Path>/Love/saveDirectory/
<OS-Specific-Path>/saveDirectory/
The above is the only folder your project has writing/modification/deletion/creation permissions to (along with reading, of course).
The wiki page on [wiki]love.filesystem[/wiki] explains where this folder usually is.
The first one is used when the project is not fused in any way, the second one is used if it is.
The saveDirectory's name will be determined by what you set as your project's identity, either by setting it in the conf.lua, or by calling the relevant function ([wiki]love.filesystem.setIdentity[/wiki]).
Yes, this means that if you set it to something that another project is using, Löve won't complain about possibly overwriting or deleting data there, so one should be careful.