I'd like to see a system that supports either method is basically what I'm looking to achieve here.
So my intention with this proposal is to have a system that keeps the loose art IN source control, instead of the FPKs, and then work up a solution that keeps that being as easy as it is to develop right now. I think I have a solution that is in fact *easier* than it is right now for a lot of people, and more difficult for nobody. As I said the only limitation is that you can't fetch SVN directly into the mods folder with the solutions. However you can choose to "install" the mod (with a script) from wherever you fetch it to in such a manner that you never need to copy anything to the mods folder and back to run the game. It is automatically sharing the parts of the SVN directory that are needed for the mod to run, and more importantly NOT the parts that would make it slow. This is (for all intents and purposes) identical to having SVN in the mods folder, without the drawbacks.
Alternatively if you like to work as toffer describes you can choose to *actually* install it (again with a script), that will just copy the required stuff to the mod folder. Or probably we can modify the svn export settings such that it ignores unpacked data etc.
Upsides to doing things this way have mentioned a few times, I will reiterate:
- Modifying art contents is now trivial. Just modify the unpacked folder contents
- Modifying art contents is more robust. You cannot accidentally override an existing path, you cannot accidentally fail to correctly merge FPKs and delete someones changes.
- SVN operations are faster. Only the actual art files that changed will need to be updated/committed etc.
- SVN has a true record of what actual art files changed because the files go into a directory and just stay there.
- We can exclude other things from the mod directory, like the source, further improving load time.
Downsides:
- People who DO have SVN in mods folder need to move it out, a one time operation which took me about 30 seconds. Cut+Paste+Done. Then they need to run the install script to link the SVN folders to their mod folders. If even this is too much I can make a script that will just do it all automatically for them. I can also, along with the FPK auto packing in the DLL, add a dialog that will warn if someone didn't do this and tell them what to do.
Is there another downside I'm missing? This seems like a one time minor inconvenience for a load of benefits.