SoaSE is a somewhat dated game that was designed to run well on older PCs at the time of its release, so I realized that it's probable that many modders are running the game on inferior hardware.
It's clear that storing .brushes, .entity, .mesh, and. particle files in binary format greatly improves performance, but it has also always been clear that this is in no way conducive to the convenient development and testing of a mod. I hope I've discovered a useful compromise. Before I continue, I'm aware of the existence of harpo's conversion GUI, hopefully this is something slightly different and useful for a specific purpose.
I've written a batch file that copies all .brushes, .entity, .mesh, and .particle files from your mod directory to a secondary directory for binary files. As a convention, I name the directory with the binary copies identically to the mod directory with "_bin" added on. Running the batch file again will compare the timestamps of the text and binary files, and replace modified files with newer copies. If you've ever coded for Sins, you may have noticed that all files have either BIN or TXT at the top depending on their format. The batch file looks for any files in the _bin folder with the TXT string in their contents and outputs a list of those files which are then fed as input to the appropriate conversion command. Also, files that no longer exist in the mod folder will be removed from the "_bin" folder.
Briefly, you can make edits, run the batch file, and see the edits in-game, but with the higher performance afforded by binary format files, all in seconds (sometimes longer.)
The only catch is that it uses the 'robocopy' command, which is only standard in Windows Vista, Windows 7 and Windows Server 2008.
From here on, the folder that contains your mod will be referred to as "mod", and the folder that contains binary copies of your files will be referred to as "mod_bin". Replace all instances of the word "mod" with the name of your mod.
It is important that the name of the folder that contains your mod does not contain any spaces. The command line program will interpret this as the declaration of a new command or parameter.
Instructions for use:
Original Sins of a Solar Empire
Copy the conversion executable "ConvertData_OriginalSins.exe" from "C:\Program Files\Stardock Games\Sins of a Solar Empire" to "C:\Users\%username%\AppData\Local\Ironclad Games\Sins of a Solar Empire\Mods-v1.193", where "%username%" is your user account name. The AppData folder is hidden. To show hidden files and folders, open Windows Explorer, click Organize, click Folder and search options, click the View tab, and click the Show Hidden Files and Folders radio button. In "Mods-v1.193", create a new Windows Batch File(file extension ".bat"), right-click the batch file and click edit, then copy and paste the following text into it:
robocopy mod\Window\ mod_bin\Window\ *.brushes /purge /
robocopy mod\GameInfo\ mod_bin\GameInfo\ *.entity /purge /
robocopy mod\Mesh\ mod_bin\Mesh\ *.mesh /purge /
robocopy mod\Particle\ mod_bin\Particle\ *.particle /purge /
for /f "usebackq" %%g in (`findstr /c:^"TXT^" /m mod_bin\Window\*.brushes`) do ConvertData_OriginalSins brushes %%g %%g bin
for /f "usebackq" %%g in (`findstr /c:^"TXT^" /m mod_bin\GameInfo\*.entity`) do ConvertData_OriginalSins entity %%g %%g bin
for /f "usebackq" %%g in (`findstr /c:^"TXT^" /m mod_bin\Mesh\*.mesh`) do ConvertData_OriginalSins mesh %%g %%g bin
for /f "usebackq" %%g in (`findstr /c:^"TXT^" /m mod_bin\Particle\*.particle`) do ConvertData_OriginalSins particle %%g %%g bin
Use the find and replace command (Ctrl+H) to replace all instances of the word "mod" with the name of your mod. Save the file and close the text editor.
Entrenchment
Copy the conversion executable "ConvertData_Entrenchment.exe" from "C:\Program Files\Stardock Games\Sins of a Solar Empire" to "C:\Users\%username%\AppData\Local\Ironclad Games\Sins of a Solar Empire\Mods-Entrenchment v1.053", where "%username%" is your user account name. The AppData folder is hidden. To show hidden files and folders, open Windows Explorer, click Organize, click Folder and search options, click the View tab, and click the Show Hidden Files and Folders radio button. In "Mods-Entrenchment v1.053", create a new Windows Batch File (file extension ".bat"), right-click the batch file and click edit, then copy and paste the following text into it:
robocopy mod\Window mod_bin\Window *.brushes /purge /
robocopy mod\GameInfo mod_bin\GameInfo *.entity /purge /
robocopy mod\Mesh mod_bin\Mesh *.mesh /purge /
robocopy mod\Particle mod_bin\Particle *.particle /purge /
for /f "usebackq" %%g in (`findstr /c:^"TXT^" /m mod_bin\Window\*.brushes`) do ConvertData_Entrenchment brushes %%g %%g bin
for /f "usebackq" %%g in (`findstr /c:^"TXT^" /m mod_bin\GameInfo\*.entity`) do ConvertData_Entrenchment entity %%g %%g bin
for /f "usebackq" %%g in (`findstr /c:^"TXT^" /m mod_bin\Mesh\*.mesh`) do ConvertData_Entrenchment mesh %%g %%g bin
for /f "usebackq" %%g in (`findstr /c:^"TXT^" /m mod_bin\Particle\*.particle`) do ConvertData_Entrenchment particle %%g %%g bin
Use the find and replace command (Ctrl+H) to replace all instances of the word "mod" with the name of your mod. Save the file and close the text editor.
Diplomacy
Copy the conversion executable "ConvertData_Diplomacy.exe" from "C:\Program Files\Stardock Games\Sins of a Solar Empire" to "C:\Users\%username%\AppData\Local\Ironclad Games\Sins of a Solar Empire\Mods-Diplomacy v1.34", where "%username%" is your user account name. The AppData folder is hidden. To show hidden files and folders, open Windows Explorer, click Organize, click Folder and search options, click the View tab, and click the Show Hidden Files and Folders radio button. In "Mods-Diplomacy v1.34", create a new Windows Batch File (file extension ".bat"), right-click the batch file and click edit, then copy and paste the following text into it:
robocopy mod\Window mod_bin\Window *.brushes /purge /
robocopy mod\GameInfo mod_bin\GameInfo *.entity /purge /
robocopy mod\Mesh mod_bin\Mesh *.mesh /purge /
robocopy mod\Particle mod_bin\Particle *.particle /purge /
for /f "usebackq" %%g in (`findstr /c:^"TXT^" /m mod_bin\Window\*.brushes`) do ConvertData_Diplomacy brushes %%g %%g bin
for /f "usebackq" %%g in (`findstr /c:^"TXT^" /m mod_bin\GameInfo\*.entity`) do ConvertData_Diplomacy entity %%g %%g bin
for /f "usebackq" %%g in (`findstr /c:^"TXT^" /m mod_bin\Mesh\*.mesh`) do ConvertData_Diplomacy mesh %%g %%g bin
for /f "usebackq" %%g in (`findstr /c:^"TXT^" /m mod_bin\Particle\*.particle`) do ConvertData_Diplomacy particle %%g %%g bin
Use the find and replace command (Ctrl+H) to replace all instances of the word "mod" with the name of your mod. Save the file and close the text editor.
Rebellion
Copy the conversion executable "ConvertData_Rebellion.exe" from "C:\Program Files\Stardock Games\Sins of a Solar Empire" to "C:\Users\%username%\Documents\My Games\Ironclad Games\Sins of a Solar Empire Rebellion\Mods-Rebellion v1.031", where "%username%" is your user account name. In "Mods-Rebellion v1.031", create a new Windows Batch File (file extension ".bat"), right-click the batch file and click edit, then copy and paste the following text into it:
robocopy mod\Window mod_bin\Window *.brushes /purge /
robocopy mod\GameInfo mod_bin\GameInfo *.entity /purge /
robocopy mod\Mesh mod_bin\Mesh *.mesh /purge /
robocopy mod\Particle mod_bin\Particle *.particle /purge /
for /f "usebackq" %%g in (`findstr /c:^"TXT^" /m mod_bin\Window\*.brushes`) do ConvertData_Rebellion brushes %%g %%g bin
for /f "usebackq" %%g in (`findstr /c:^"TXT^" /m mod_bin\GameInfo\*.entity`) do ConvertData_Rebellion entity %%g %%g bin
for /f "usebackq" %%g in (`findstr /c:^"TXT^" /m mod_bin\Mesh\*.mesh`) do ConvertData_Rebellion mesh %%g %%g bin
for /f "usebackq" %%g in (`findstr /c:^"TXT^" /m mod_bin\Particle\*.particle`) do ConvertData_Rebellion particle %%g %%g bin
Use the find and replace command (Ctrl+H) to replace all instances of the word "mod" with the name of your mod. Save the file and close the text editor.
Run the batch file. Then add the directory containing the binary copies to your Enabled Mods list by editing "EnabledMods.txt". Add "EnabledModName "mod_bin"" at the top of the list, where "mod" is the name of your mod, and increase the EnabledModNameCount value by 1. Save and close the file.
Run the batch file after anytime you edit your mod. It should take only a few seconds after the first time, unless you make many changes. You won't see changes in-game unless you run the batch file again, because the mod with the binary copies is higher in the hierarchy than your mod.
Doing this will increase performance, this is why Sins files are in binary format. Your computer converts those files to binary format to read them every time you play, that costs memory and processing power. Now you can edit and play with better performance at the same time with a bit of extra effort. Hopefully this is the best of both worlds.
Sorry if someone else has suggested something similar and I missed it.