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 was going to ask you what the benefits even are for this. My only concern has been the time it takes to upload or download a given file becoming too long to manage for weak internet connections. So with FPKs the size they are, this is not as much a concern. I'm a little concerned we'll start seeing some bugs as it is now because we found at some point you couldn't have more than some 8 or so FPKs without some things going wrong and fixed things, or so it seemed, by cutting down how many we had. I now wonder if it was a misdiagnosis and an incidental fix took place in the reorganization.
However, you gave a few compelling reasons
- 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.
So I get why you're looking to do this.
As I said the only limitation is that you can't fetch SVN directly into the mods folder with the solutions.
Ok, so this is what bothers me.
We have to maintain the mod folder in 2 locations. Ugh. That is just a rough situation for a lot of us. But if that's basically ALL it means, then it may be workable.
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.
So any time you update the mod (fetch), you have to fetch it in the modding folder location and then run the install script? Are you saying that we cannot mod directly into the folder that the mod runs from? (AKA, edit the files and code in the folder which is inside the mods folder) Would take some getting used to, having to run the install script with every adjustment. I suppose it could be done but it doesn't sound pleasant. Adds an extra step for every single most minor change and one easily forgotten leading to wondering why your changes aren't showing up when you 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.
I'm not sure what you mean by automatically sharing. This is the part that makes me think you're saying we can change files directly in the mods folder version and it will update back to the repository version and vice versa? That there's an automatic copy-over system in place? Even for file deletions?
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.
This doesn't sound too bad, so long as we're not stressing the memory on some systems to demand those systems are maintaining 2 copies of the mod, which isn't a light demand if it's not a fairly modern system. I might need to store the 2nd copy in a D drive instead of the C due to memory limitations on the solid state drive.
Just trying to imagine the reality of working with such a structure. I'm not sure about some of the other arguments for other methods yet. My concern is we have people trying to use the SVN getting lost and giving up on that and this adds... steps.