Sins Mod Helper aims to do away with the tedious editing of certain Sins files and speeds up other tasks. No, .entity files are not supported, and will not be.
This application requires .NET Framework 3.5.
v 1.1 Features:-All the features of previous versions-Improved and optimized (but still ugly) source code-Multi-threading to speed up converting files from TXT <> BIN, as well as XSI > Mesh-Research editor now looks in the game directory if you don't have the required research files in your mod directory, and automatically converts them TXT-Many bugfixes that I failed to catch in previous releases, but I've probably introduced just as many new ones...
v 1 Features:-String Editor-.sounddata Editor (Music, Effects, and Dialogue)-Complete manifest generator (Based on mod folder, Sins, and Entrenchment folders if desired)-Mod Deploy: GUI and command line versions (Copy your mod files to your Sins mod directory and convert to BIN if desired. There are also options to generate manifests and convert XSI files during the process)-Batch XSI conversions-Automatic detection of Sins install path, files, and AppData mod folders-Tech Tree Editor. Simply open a player entity file to load a tech tree. (Please make sure you have all the necessary research entities in you mod folder before doing this.)-Improved error checking (Please note, you are responsible for whatever values you enter in using this program)-Various code improvements-More bugfixes
A Tech Tree Editor!
Download Here: SMH v 1.1
FileFront Mirror: SMH v 1
Installation Instructions:Unzip the package. Add whatever version of ConvertData and ConvertXSI (and associated .dlls) to the "Convert" folder. Run SMH.exe.Things to Note:
This program has only been tested with Entrenchment 1.03 and 1.041. Use other versions of the game at your own risk. The tech tree editor is not garunteed to work on anything other than the afformentioned versions.
The Tech Tree Editor now has full editing functionality. However, there are bound to be bugs that I have not found. Please do not trust your files with this portion of the program unless you make a backup. If you don't have the required resarch files, the program will get them for from the game directory, but you must have the 1.03 or 1.041 ConvertDatas in the Convert folder.I have done my best to make sure that there are no bugs, but if you find any, please let me know.
Please post any feedback you have. Thanks!
Heh, an entity.manifest generator sounds like a great idea. I can't tell you how many times I've spent an hour or two trying to figure out why my mod is crashing, when that fricken entitycount parameter needed to be bumped up by 1. Grrrr @ that stupid file!!!
However I already have a lot of scripts for modding set up as Bash shell scripts, which I run using Cygwin. It would be great to have a command line utility that performs the function of the entity.manifest generator you have, except that it takes a GameInfo directory as a parameter.
Example:
EntityManifestGenerator.exe -d GameInfo -o entity.manifest
Generates an entity.manifest file based on the contents of the `GameInfo' folder in the current directory, and plunks it into the file 'entity.manifest' in the current directory.
Since you already have the code for generating an entity manifest, would it be possible for you to take that part of the functionality and put it into a minimal console driver program like that?
Thanks!
allquixotic, I do not know if you can run a vb6 porgam in cygwin, but my manifest maker also builds COMPLETE manifests (ie entity,galaxy, brush,player pictures,playerthemes and skybox, but does not edit strings or sounds, and is written in vb6 so that the widest range of systems CAN use it
harpo
Cygwin's Bash can run any Windows executable just as if you launched it from Windows Explorer. Batch files, EXE, whatever. What I'm looking for is a command line way to do it rather than having to click through a GUI. My scripts are designed so that I can safely mod the text version of my mod in a "staging" folder, and then run a script that creates BIN versions of the entity files and copies them into the mod folder itself. By adding an entity.manifest generator to that lineup, I only have to worry about my .entity files, which reduces the headache by quite a lot
By the way, writing a VB6 program is hardly enabling the "widest range of systems" VB6 is an antique technology; the future of programming is (imo) cross-platform JIT interpreters. The two obvious choices would be Java and .NET, since they both have free/open source implementations on non-Windows platforms. The fact that you have to install the .NET framework or Java runtime is irrelevant, really -- that doesn't cost anything but a few megs of disk space. In fact, I think .NET code executes faster than VB6
There are also programs out there which can take Java or .NET source code and build a "native" executable, which eliminates the need for the user to install a .NET runtime. This gives you the best of both worlds; you can distribute your program as both .NET assemblies and platform-native executables, giving the user the choice of using their .NET installation on any platform (even the ones you haven't created native executables for), or launching a native executable if they don't have a .NET runtime.
I guess since SOASE still has problems on wine, cross platform isn't an issue in this community, though.
allquixotic,
it would be possible for me to ADD command line parameterization to my manifest maker as the majority of its bulk is used in determinine where to look for the files ie the mod's folder, the entrenchment folder and sins folder no matter what language the os was installed with, the core of the program reads in a list of files in the folders of the type, removes duplicates and the entitys that ARE incompatible with entrenchment for entrenchment targetted manifests, then writes the manifest, and will support the next two expansions, and also allows for possible future manifests that might be needed.
hoho5000, sorry about hijacking your thread.
Since the sins 1.1x, SOASE run perfectly with wine... Stardock have resolve some mirror memory leak who was a huge problem with wine due to the opengl use... Online game was resolved some time ago too...
Only problem who remain is Impulse... When sins was launched last year, Stardock central was working great on Linux/open solaris but the move to Impulse have lead to new problem... people are working on it... last time that i have test it ( begin 2009 ), was able to install http://sdc.stardock.com/sdcentral_setup.exe and upgrade via these way... not sure that it will work now...
By the way, Entrenchment work great via wine too... using play-on-linux, i am able to run several SOASE/Entrenchment version in the same time, on the same desktop ( thing not possible with windows )...
About your link to the wine database... it is related to sins 1.00 ... since the 1.05, status is platinium... short time after Stardock released the 1.10, online game problem was resolved... the fact is that Wine is very sensible to bug but Stardock have make a great work to correct any bug, same the difficult one from online game... more they have introduce memory and speed optimization in recent core game engine... result is now a good working game with wine... if other game distributor was following the Stardock example, trying to have a bug free game, it will make wine user very happy...
For info, Demigod work enough good with wine too... limited to windowed mode, and no AA ( unless you change nanually value in the setting file )... only LAN game, online multiplayer don't work ( yet )... again a great Stardock product working on wine ( only Gold status due to the online player problem )
While cross platform compatibility would be nice, I created this program mainly for myself. Since I don't run Linux on my computer due to gaming and the fact that most of the modding community uses Windows as well, it's not worth my time and effort to make it so. Besides that, I'm not the most skilled Linux user .
Anyways, I posted this just to get it out there. The next release will have a few more features including a complete manifest generator and something I'm calling Mod Deploy. What it does is basically copy your mod files from whereever you're working on them to the game's mod folder, assuming you aren't doing all your modding there already... If you don't want to load up the entire program, I'm also incorporating it into a command line program that you can simply double click to perform all this, or enter your own parameters.
Hopefully I'll have a new release tomorrow.
hoho5000 I have found that each version of sins and entrenchment's convertdata is not able to correctly work with files porcesses with other versions of the convertdata*.exe's. you might want to use this information in your utility
I think I know what you're saying. It's up to the end user to provide whatever convertdata files they want to use though.
A new version is up, check it out.
D/L is broken.
The download link is not broken.
Anyways, it's been a while hasn't it? Well, I'm happy to announce that the latest version is almost done. What you can expect in this new version:
-Many bugfixes
-Some better coding
-An (almost) fully functional tech tree editor!
The tech tree editor (which you can access by opening a player entity file) includes the ability to load every single research subject of a side into a nice graphical table. From this table, you can select a subject to edit, create new subjects, and delete subjects. Everything contained in the subject file is viewable in the editing pane on the left. It's fairly self-explanatory, although probably the coolest feature (and my personal favorite) is the ability to modify string IDs and string values directly from the editing pane. Want to rename a subject? Just enter in a new name and a new String ID (if desired), hit the update button, and voila! You have a new string ID entry in your strings file (after you save the modified tech tree) without having to mess with the file at all. The same can be done for the description.
What the tech tree editor can not do:
-Edit/Add/Remove blocks
-Add or remove research screens (Combat, Defense, Civilian)
-Edit Artifact or Fleet research screens
-Draw or edit arrows from prerequisites
At the moment, everything appears to be in working order. All files save correctly, and the game runs with the new files perfectly. However, thorough testing has yet to be performed. That means that you (probably) shouldn't trust your research files with this program yet, unless you make sure you have a backup set.
Expect the new release either today or tomorrow.
Sounds good!
Wanted to test the Research Tree Editor but had a problem. It seems the program expects to find all used entity files in the mod folder (whereas I only put the items I modify into the mod folder) instead of looking in the main sins / entrenchment folder in case its not in the mod folder when opening the Player entity files.
Running 1.041 Entrenchment. Excuse the german errormessages.
Informationen über das Aufrufen von JIT-Debuggenanstelle dieses Dialogfelds finden Sie am Ende dieser Meldung.************** Ausnahmetext **************System.IO.FileNotFoundException: Die Datei "G:\Brennschlampe\My Dropbox\Babylon 5 Shared\Mods-Entrenchment v1.041\Babylon5\GameInfo\RESEARCHSUBJECT_ABILITYACCESS_CLUSTERWARHEADS.entity" konnte nicht gefunden werden.Dateiname: "G:\Brennschlampe\My Dropbox\Babylon 5 Shared\Mods-Entrenchment v1.041\Babylon5\GameInfo\RESEARCHSUBJECT_ABILITYACCESS_CLUSTERWARHEADS.entity" bei System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) bei System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy) bei System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options) bei System.IO.StreamReader..ctor(String path, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize) bei System.IO.StreamReader..ctor(String path) bei SinsFileTypes.ResearchSubject.LoadFile() bei SinsFileTypes.ResearchSubject.Load(String file) bei SMH.TechTree.LoadTechTree(String file) bei SMH.Main.OpenFile(Object sender, EventArgs e) bei System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e) bei System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e) bei System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e) bei System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e) bei System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met) bei System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met) bei System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea) bei System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea) bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) bei System.Windows.Forms.Control.WndProc(Message& m) bei System.Windows.Forms.ScrollableControl.WndProc(Message& m) bei System.Windows.Forms.ToolStrip.WndProc(Message& m) bei System.Windows.Forms.ToolStripDropDown.WndProc(Message& m) bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)************** Geladene Assemblys **************mscorlib Assembly-Version: 2.0.0.0. Win32-Version: 2.0.50727.4927 (NetFXspW7.050727-4900). CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll.----------------------------------------SMH Assembly-Version: 0.3.1.1. Win32-Version: 0.3.1.1. CodeBase: file:///G:/Temp/Bab5ModForSins/SinsEditor/SMH.exe.----------------------------------------Microsoft.VisualBasic Assembly-Version: 8.0.0.0. Win32-Version: 8.0.50727.4918 (NetFXspW7.050727-4900). CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll.----------------------------------------System Assembly-Version: 2.0.0.0. Win32-Version: 2.0.50727.4918 (NetFXspW7.050727-4900). CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll.----------------------------------------System.Windows.Forms Assembly-Version: 2.0.0.0. Win32-Version: 2.0.50727.4918 (NetFXspW7.050727-4900). CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll.----------------------------------------System.Drawing Assembly-Version: 2.0.0.0. Win32-Version: 2.0.50727.4918 (NetFXspW7.050727-4900). CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll.----------------------------------------System.Runtime.Remoting Assembly-Version: 2.0.0.0. Win32-Version: 2.0.50727.4918 (NetFXspW7.050727-4900). CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll.----------------------------------------System.Windows.Forms.resources Assembly-Version: 2.0.0.0. Win32-Version: 2.0.50727.4918 (NetFXspW7.050727-4900). CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_de_b77a5c561934e089/System.Windows.Forms.resources.dll.----------------------------------------System.Configuration Assembly-Version: 2.0.0.0. Win32-Version: 2.0.50727.4918 (NetFXspW7.050727-4900). CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll.----------------------------------------System.Xml Assembly-Version: 2.0.0.0. Win32-Version: 2.0.50727.4918 (NetFXspW7.050727-4900). CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll.----------------------------------------mscorlib.resources Assembly-Version: 2.0.0.0. Win32-Version: 2.0.50727.4927 (NetFXspW7.050727-4900). CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll.----------------------------------------SinsFileTypes Assembly-Version: 0.5.1.1. Win32-Version: 0.5.1.1. CodeBase: file:///G:/Temp/Bab5ModForSins/SinsEditor/SinsFileTypes.DLL.----------------------------------------************** JIT-Debuggen **************Um das JIT-Debuggen (Just-In-Time) zu aktivieren, muss in derKonfigurationsdatei der Anwendung oder des Computers(machine.config) der jitDebugging-Wert im Abschnitt system.windows.forms festgelegt werden.Die Anwendung muss mit aktiviertem Debuggen kompiliert werden.Zum Beispiel:<configuration> <system.windows.forms jitDebugging="true" /></configuration>Wenn das JIT-Debuggen aktiviert ist, werden alle nicht behandeltenAusnahmen an den JIT-Debugger gesendet, der auf demComputer registriert ist, und nicht in diesem Dialogfeld behandelt.
Yes, you are correct that it looks for all the files referenced in the player entity in your mod folder. This is done for several reasons. For one, the files in the game folder are all in bin format, not text. Secondly, if you were to load the files from your game directory and then save, you'd end up overwriting your original files, which is not good practice. That being said, I am going to incorporate automatic conversion of bin to text when loading files and loading files from the game directory and saving elsewhere (if you choose), but that won't be in the version released today.
Another thing to note is that unless there aren't any changes to the research subject and player entities, this program will not work with those files. It was programmed specifically for Sins 1.17/Entrenchment 1.03. However, I will add support for other versions when I can.
Ahh, yes there are slight differences in the Player Files from 1.03 to 1.04
Hope you can make it compatible soon as this would be a fine tool for helping modders out. (Well, I would only need the researchtree editor, as I do everything else using textpad.)
The possibility to duplicate entries would be helpful as well!
Thanks alot!!
Actually, the player entity might be compatible as long as none of the research areas of the files change. The program reads in the whole file, but only cares about the areas dealing with research. Try it and see what happens.
when I try grabbing the file from the link I get timeouts or an empty zip file, are you having problems with your host?
I guess so. Not sure what's wrong...
Here's a link to it on FileFront: SMH v 1
After some downtime and a little data loss (just the current version and pics), things are operational again.
I'm hard at work on improvements to the program. I've rewritten and reorganized much of the code. The next main addition will be the ability to convert between bin and txt formats easily, and with multithreading (if desired). You have the option to convert more than one file at a time, which most of the time is faster. It uses a lot more CPU, but in my tests (converting just particles from bin to txt from both vanilla and Entrenchment), converting using three threads took 36 seconds, while using two took 55, and one took 76. Using any more than three simultaneous conversion threads doesn't yield much more of an improvement, but you can use up to 5 if you really want to. Going back to bin (using the exact same files) also reveals similar improvements; 47 seconds with three threads, 85 with one.
It'll take me a little while to rework the existing gui code to work with my rewritten code.
Wow, a research tree editor! I have been reluctant, even though i have sometimes dived in anyway, but an editor for the research tree, would makes things much much easier. Thanks!!
-Teal
Yay! It's stuff like this that really lets the modders focus on being creative instead of trying to be a crash course all in one development team who has to figure out every little thing on the fly. These are exactly the kind of tools that need to be shipped with a game the developers want a strong mod support community to grow out of and so greatly extend the sellable life of the game.
Thanks! =)
Keep it coming!!
New version is up.
I also have the source of the current version for the very few that might be interested in taking a look. Keep in mind, a lot of it is messy or not too great .
Source
Another remark - when I try to load a player/techtree which has some errors (in my current development stage, they are there) as when 2 technologies occupy the same position in the tree the program will crash (or don't you support just having one large block in the researchtree?)
For the conflicting positions my suggestion would be to take the first one that fits and the rest (if more than one occupy the same position) put into a list titled "conflicting research", perhaps with a tooltip for each tech what went wrong (e.g. "position conflicting with research item 'blahblah'")
If you don't support differenty layouted blocks I will understand (though I cannot use it for my mod then I'm afraid)
I'm not sure what you mean by "differently layouted blocks." Are you talking about the blocks themselves, or the actual reasearch subjects. Basically what the program does is reads in the height of each block on the research screen, then creates a table based off of that height. It only works if you use the same size buttons as in the original game.
As for having two technologies in the same place, my experience has been that the program doesn't let them occupy the same space, even if they are assigned to that space. For example, if two subjects had a position of (0,0), one would acutally be there, while the other would be at (0,1). I have not tried saving or loading a tech tree where that was the case, so I'll look in to that.
That conflicting/error list sounds like a good idea. I'll see what I can do.
Thanks.
There are many great features available to you once you register, including:
Sign in or Create Account