[TOOL] RW SaveEditor (v.0.6/Alpha 3)

Started by keensta, January 15, 2014, 03:46:53 PM

Previous topic - Next topic

keensta

This Editor has been written using Java and used open source libarys.

This isn't complete yet by far there are always new features and optimizations I can add and will add so check back every now and then for updates (Will include a autoupdater soon). This editor is open source it self and that can be found below. I shall be constantly working on this in my spare time and have no plans on abandoning the project in the near future.

***File is now a .exe rather then a runnable .jar file. Also the current Icon is a temp icon***
Download Editor (DropBox) or View Source Code


How to download/use:

Click the above link this will download a Rar file, use either WinRar or 7Zip or any Zip program to open it. Once unzipped move the RwEditor(Folder) onto your desktop or wherever you want it. Open the folder and hit the Icon to open the program.
Once open if it's the first time opening it you'll be prompted to select you RimWorld folder this is the folder that houses/holds the game and all its folders like Mods and Saves. Select the main folder and hit open button. "Do not open the folder hust click it once and hit open"

Now it's ready to use with and without Mods. Mod's are loaded into the program so it can use them to edit certain thing's like weapons/foods when trying to load a file it will automatically find the saves folder As well.

Tester: Swederell
Thanks to Vas for providing a nice list of details the program uses.

Current Features:

       
  • Edit Stockpiles
  • Delete/Remove Raiders
  • Convert Raiders - Makes them colonists
  • Clear Corpses/Blood - This uses one button called "Clear Corpses"
  • Remove Rubbish - Removes Slag/Rock debris, Sandbag etc..
  • Spawn SteamGeyser - Create a 1x1 stockpile name it SG and load save into editor hit button "SpawnGeyser" and it will place it at stockpiles location
  • Backup Saves
  • Load mods custom Weapons/Foods
  • Colonist Editor

    •                
    • Heal All
    • Health
    • Age
    • Loyalty
    • Fear
    • Happiness
    • Food
    • Rest
    • Weapons
    • Skills
    • Traits

Key:
Finished (Will be out with next update)
In Testing
Currently Programming
Not Started

Future Features/Updates:
Pick colonist designs(Skin Colour, Hair Colour, Looks(Body/Head/Hair)) - Suggestion from gigan - Info on colour from ItchyFlea
Map Conditions - So far only come across eclipse. If anyone has any others do tell
Colonist Editor - Features working on: Sex
Raider/Prisoner Editor aswell - Suggestion from Cdr.Keen

Known Issues:
Restore button doesn't work, currently you have to rename the Backup file yourself and place it in the RimWorld save location to get it back.

ChangeLog:
08/05/2014 (v0.6)
   ○Couple of button tooltips have been updated
   ○Colonist traits can now be changed
29/04/2014 (v0.5.3)
   ○All colonists should display in colonist editor correctly now.
26/04/2014 (v0.5.2)
   ○Fixed program from stalling if a mod has failed to load
   ○Colony name now displays correctly
   ○Resources now work when loading a new or the same file
   ○Convert raiders has been disabled untill fix found
   ○Pawns without weapons no longer save unneeded data
   ○Delete raiders now works fully
22/04/2014
   ○Fixed single resource editing
   ○Removed element for steam geysers they now correctly spawn
   ○Colonists now save correctly
06/04/2014
   ○ToolTips now display correctly
   ○Perf.Xml now holds info between program opening/closing
   ○ModLoading now works - Custom weapons can now be selected in Colonist editor / Same for food/materials in stockpiles
   ○Backup saves now works using button in File Menu - Restoring doesn't (Check Known Bugs)
   ○A lot of code improvments to make it run faster.
   ○Updated for RimWorld version Alpha 2
09/02/2014:
   ○Skill editing is now usable in colonist editor
   ○Bug Fixes
   ○Blood not getting cleared from map - Fixed
   ○Stockpile "SG" not removing when creating Steam Geyser - Fixed
   ○Colonists would disappear off bottom of colonist selection list - Now scrollable
   ○Colonists not saving at all when they have no gun - Fixed
   ○Giving colonists a grenade stops them from being saved - Fixed
29/01/2014:
   ○Weapon editing now works
   ○Able to edit food and rest values now
   ○Add steam geysers at certain locations marked out by a stockpile name Sg
   ○Fixed Resources setall bug that stopped file being readable
28/01/2014:
   ○First release
Check out my RimWorld SaveEditor
It removes slag and rock debris.

I mostly hang around in the Mod section of the forum. Yet I don't have a Mod :o.

Tynan

This is awesome! Maybe I should start using it as a debug tool.
Tynan Sylvester - @TynanSylvester - Tynan's Blog

keensta

Quote from: Tynan on January 15, 2014, 05:54:34 PM
This is awesome! Maybe I should start using it as a debug tool.

Thanks a lot, I plan to add in loads of features to allow complete flexability in editing the save file.
Check out my RimWorld SaveEditor
It removes slag and rock debris.

I mostly hang around in the Mod section of the forum. Yet I don't have a Mod :o.

Darker

#3
keensta, I just want to warn you, that in the next version, resources will no more be just numbers in the savefile.
But you'r UI skills are very good with C++, good job :) I thought it was C++, before I zoomed the screenshot in.

As of removing slag and haul debris:

The simplest approach is to get some base64 encoder/decoder lib, decode the string.
You'll get a string. Now every char in this string is a number in fact.
Make a for loop and replace every 55 and 56 with 0.

If you want to calculate coordinates of one item it's:

x: index%height
y: floor(index/height)


Also, remember that [0, 0] is in the bottom left corner of the map - it uses standard coordinate system you know from maths. However, I'm not sure whether map includes 0 in x and y axis or not.
Please... Throw human readable errors on savefile parsing failure!!!
Rim world editor Editor on GIT

keensta

Quote from: Darker on January 16, 2014, 09:30:27 AM
keensta, I just want to warn you, that in the next version, resources will no more be just numbers in the savefile.
But you'r UI skills are very good with C++, good job :) I thought it was C++, before I zoomed the screenshot in.

As of removing slag and haul debris:

The simplest approach is to get some base64 encoder/decoder lib, decode the string.
You'll get a string. Now every char in this string is a number in fact.
Make a for loop and replace every 55 and 56 with 0.

If you want to calculate coordinates of one item it's:

x: index%height
y: floor(index/height)


Also, remember that [0, 0] is in the bottom left corner of the map - it uses standard coordinate system you know from maths. However, I'm not sure whether map includes 0 in x and y axis or not.

Ah thanks for the information do you know how the new way will be done??

Also you saying my Java UI skills are bad?? Only joking :) it's my first time doing in UI in java. I just wanted to get a layout down so it can run the code and well work. Once I have a decent feature list I'll be looking into creating a like looking UI and see what stuff I can do.

Also I have a base64 encode/decoder lib already I was actually looking for your post with the ids in it which I found last night. I don't think the for loop is needed I should be able to do String.replaceAll();
Check out my RimWorld SaveEditor
It removes slag and rock debris.

I mostly hang around in the Mod section of the forum. Yet I don't have a Mod :o.

Darker

QuoteString.replaceAll();
Sure. I just like to do things properly. It's not just question of performance, it's question of attitude. Sometimes you might use quick easy solution to regret it when situation slightly changes...

For example, I used to have map parsing hard-coded on map renderer. In new version, all stone ("compressed thing") ID's are shifted by +1. (you might wanna prepare for this change)
That means I had to rewrite it and make a parser pseudo-class (there are no classes in javascript) and sub-classes for diferent map versions.

I don't know much more about future changes, you might wanna PM some tester for more info. I'd give that to you, but my Rim activity is partially on-hold since I should really study right now.

If everything goes right, I'll (maybe) make some docs for everybody.

And I'm not really sayin' UI in java is easy.
Please... Throw human readable errors on savefile parsing failure!!!
Rim world editor Editor on GIT

keensta

Quote from: Darker on January 16, 2014, 01:12:15 PM
QuoteString.replaceAll();
Sure. I just like to do things properly. It's not just question of performance, it's question of attitude. Sometimes you might use quick easy solution to regret it when situation slightly changes...

For example, I used to have map parsing hard-coded on map renderer. In new version, all stone ("compressed thing") ID's are shifted by +1. (you might wanna prepare for this change)
That means I had to rewrite it and make a parser pseudo-class (there are no classes in javascript) and sub-classes for diferent map versions.

I don't know much more about future changes, you might wanna PM some tester for more info. I'd give that to you, but my Rim activity is partially on-hold since I should really study right now.

If everything goes right, I'll (maybe) make some docs for everybody.

And I'm not really sayin' UI in java is easy.

I got it sorted now.

But a lot of things do work around performance, also doing a for Loop is not actually the proper method nether method is It's just down to personal preference. However if I have a string in Java that is like "555555565600000055560007000535353535353" I can't just do any type of replace that best thing you can do with that is get the string and convert it into bytes and edit it that way. Replacing all the 55's with 0's and so on.
Check out my RimWorld SaveEditor
It removes slag and rock debris.

I mostly hang around in the Mod section of the forum. Yet I don't have a Mod :o.

Darker

Sorry - I failed to explain the format correctly. After you decode base64, what you get is an array of bytes, not string of "55", "56"...
It would be a shitty idea to save number array as array of strings or something like that.

If you insist on using some string replace function, you must take into account the characters that evaluate from the numbers (bytes). For 55, that's "7". Replacing "7" with "\0" would do the job, but that's really a shameful way to do that.

You must keep in mind that in some languages, you can cast character to number directly (C++,C...), so difference between a byte array and string is not very important here. I don't know how this works in java, but string can't be a byte array for sure, since Java uses 2 bytes for char. So it's rather an array of shorts.
Please... Throw human readable errors on savefile parsing failure!!!
Rim world editor Editor on GIT

keensta

#8
I double posted. So I removed the first message and merged them together.. Each have a header above saying old or new.

--Old Message

Looking for some testers. If anyone is intrested drop me a Pm. Your name will be put in the op for helping.
I need at least 1 Windows User and 1 Mac user. If you have another operating system that's great as well.

Testers can do..

  • Make sure all features work fine.
  • Test the RwEditor on there OS to insure it works fine.
  • Ensure RwEditor updates work on RimWorld release versions before others get there hands on it
  • Give design inputs includes suggesting restructure of menus and buttons
  • and what ever else you think of

I don't expect your to do this day in day out. Everyone has a life it's more of just use the Editor as if you downloaded it as a normal person. It's just you get your hands on it first and you get a slight priority on suggesting things for the editor.

--New Message

Ok So i've been working on this for a while now. I got a lot of features down and still adding more it's not ready for release yet. I have decided to redesign the UI before I release the editor making it look much nicer and smoother, Ill try and streamline this all as much as I can.

I'm aiming to get this out before the next release of RimWorld however I'm unsure if that will be possible I hope to finish it by the weekend so you can use it then but still not sure if I'll be happy with it by then. Great thing about being a tester except from talking to the dev and other Testers and finding all these bugs :P is I make sure to take a peek into the save file on each release and I always mess around with it so while I'm doing that I get a insight on how to update the editor to do the same. Now I've already got code to edit the resources for the new version so :P

Added a image of main program screen (opened and done nothing else) which compare to the old photos I hope you agree looks much better.

[attachment deleted by admin: too old]
Check out my RimWorld SaveEditor
It removes slag and rock debris.

I mostly hang around in the Mod section of the forum. Yet I don't have a Mod :o.

keensta

I'll be releasing a working version tonight check out the features list in op for current features.

This will have stockpile editing :)
Check out my RimWorld SaveEditor
It removes slag and rock debris.

I mostly hang around in the Mod section of the forum. Yet I don't have a Mod :o.

Cdr.Keen

be water my friend!

keensta

Quote from: Cdr.Keen on January 28, 2014, 08:13:20 AM
i'm looking forward to it
Awesome here it is..


First official release of the program check out OP for download link. It's colonist editor is currently minimal stuff I plan to add more very very soon.
Check out current List of features in the OP. Also please report any bugs.
Check out my RimWorld SaveEditor
It removes slag and rock debris.

I mostly hang around in the Mod section of the forum. Yet I don't have a Mod :o.

randommonicle

Hey, sorry, how does this work? I just have everything in a zip file? Not sure how to activate anything. Thanks for the hard work :)

keensta

Quote from: randommonicle on January 28, 2014, 02:46:59 PM
Hey, sorry, how does this work? I just have everything in a zip file? Not sure how to activate anything. Thanks for the hard work :)

When you say zip file you must mean that game to considering I uploaded the .jar file. If I'm correct what you do is extract/drag the Zip file contents to a folder you wish to store the game in. Then open it up you should find the games Exe file click it game loads play it from couple seconds then save the game.

Then double click this jar file then load up your file depending on your OperatingSystem it should autofind your save file location. Then you can edit the save file using the options in the program. If you need any more help ask.
Check out my RimWorld SaveEditor
It removes slag and rock debris.

I mostly hang around in the Mod section of the forum. Yet I don't have a Mod :o.

gigan

Kick ass!  It would be nice to change the cosmetic properties of a character.   I dislike generating my character and having him be a skinny naked guy or something, haha.