Cross Compatibility:As I'm not using any OS specific code, and I'm targeting the 4.0 Mono Framework this program should be cross compatible with Linux and Mac. I've personally tested on linux.
What you need to make it work:
First, you need the
Mono Runtime (MRE)Some distros of linux come with it installed, to find out, open a terminal and type "mono" without quotes. If it's a valid command you already have it.
Once you take care of getting mono/determining if you already have it open a terminal and enter "mono path/to/RimWorldSaveEditor.exe" without the quotes (or add quotes to the path if it contains spaces). Viola!
Todo:TODOChangelog:v0.9.6.6
Bugfixing 0.9.6.5
NRE fix when manipulating traits
Fixed traits not populating in lists until a colonist is selected
Minor code cleanup
Fix for mods that modify pawn class or KindDef, should probably not have any more issues detecting pawns
Built against Mono framework to (hopefully) address some cross-compatibility issues
Merged a pull request adding a splash screen (still a bit of a WiP, need to fade/default select tab on save load)
Removed "Change Rimworld Dir" button as it no longer has a use.
Valid thoughts, Traits and Backstories now loaded on form load rather than on save load.
A few other minor fixes that I can't remember but I know are there, problem with rushing a release while going out the door.
v0.9.6.5
Pre-release of trait editor. This MAY still have unforseen bugs so keep that backup button checked
No longer requires rimworld Directory, all necessary files have been re-parsed and inline at compile time.
Since this is a pre-release I will not be incrementing the version checker.
Older changes can be located at:
ChangelogDownload:Newest version will be attached to this post and available on Github.
https://github.com/LtStingray/RimworldSaveEditor/releasesSource:https://github.com/LtStingray/RimworldSaveEditorLicense:This program is licensed under the MIT license
Full license:
http://opensource.org/licenses/MITTLDR version:
https://tldrlegal.com/license/mit-licenseAbout the update checker:This program makes NO connections to the internet without you choosing to do so. When it does, it connects only to a text file with a string representing the current publicly available version number. The only connection it will make is to the following url
http://pastebin.com/raw.php?i=3LvpsTWB Below is the relevant code so you don't have to dig through the source on github:
string releaseThreadUrl = "http://ludeon.com/forums/index.php?topic=5346.0";
string versionCheckUrl = "http://pastebin.com/raw.php?i=3LvpsTWB";
public void CheckUpdate()
{
using (var WebClient = new WebClient())
{
string updateVersion = WebClient.DownloadString(versionCheckUrl);
updateChecked = true;
if (CompareVersions(updateVersion) == 1)
{
if (MessageBox.Show("New version available, Goto release thread?", "Open Thread?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
System.Diagnostics.Process.Start(releaseThreadUrl);
Application.Exit();
Environment.Exit(0);
}
else { return; }
}
else { return; }
}
}
public int CompareVersions(string stringFromNet)
{
string[] asmStyleParse = stringFromNet.Split('.');
string[] currentVerParse = currentVersion.Split('.');
for(int i = 0; i < asmStyleParse.Count(); i++)
{
if (Convert.ToInt32(asmStyleParse[i]) > Convert.ToInt32(currentVerParse[i]))
{
return 1;
}
}
return 0;
}
I included the CompareVersions method because a call is made to it. I'm including this section about the update checker for the security conscious users. If the checkbox for checking updates is not ticked, no outside connections will be made. The update checker is disabled by default, I only included it for you, the user's, convenience.
I've seen update checkers on mods/external tools for games get a lot of backlash specifically for not being forthcoming with details on it's operation, use and, implementation and/or for being opt-out rather than opt-in thus why I see fit for this block of text. If you have ANY privacy/security concerns I'll be more than happy to address them. This software is licensed under the MIT license so you ARE allowed to decompile it and see for yourself (If I'm wrong about that, I hereby grant you permission to decompile the binaries distributed with this software).
If you wish to avoid the update all-together I have left the old version (0.9.3.0 for A6 and 0.9.1.1 for A5) available to download.
Thank you everyone for your bug reports, many of the issues are things I didn't forsee or in general errors on my part. I appreciate everyone's help and your support to stick with me during these initial phases. This project started as, "I want to edit these skills but, I hate parsing XML manually, Maybe I can write software to do it" and evolved into what it is today. If it wasn't for you guys It never would have expanded beyond what it started as. Keep those bug reports rolling in (or, well, I hope you don't have to, but if you hit one, point it out). Trust me, I'm a nice guy and I won't bite your head off for posting a stacktrace. All comments, suggestions and reports are appreciated and considered. There's on thing I request, and it probably won't be seen by as many as I'd like because I'm not bulleting it, When you post a bug report/stacktrace/unwanted behavior please to make it easier on both of us, post what version you're using and the save you're having issues with or be prepared to do soo on request. Don't worry, I don't care about your colony name, or the female raider you have hostage and keep naked (for whatever reason), I don't even look, I'm only looking for the relevant sections to this software.
NOTICE:v0.9.6.7 is a pre-release. The trait editor SEEMS to be working as desired but I have a feeling I missed something.
I need testers for it, if you have ANY errors using the trait editor please be verbose with your reports and attach/upload the save you were working on as well as the stack trace (either in text or a screenshot). As always, be sure to make backups, once manually (for saftey) and allow the application to make it's own, THIS IS FOR YOUR SAVE'S SAFETY!. Also, being a pre-release, this has not yet been merged into the Master branch on Github, for v0.9.6.7 source see the
InDev branch