Save editor

Talk about creating Grimrock 1 levels and mods here. Warning: forum contains spoilers!
User avatar
sapientCrow
Posts: 608
Joined: Sun Apr 22, 2012 10:57 am

Re: Save editor

Post by sapientCrow »

I just found the console command post here:
viewtopic.php?f=14&t=1982&hilit=console
With it you can add skill books or any other item or enemy you want.
Here is the list of in game items too:
viewtopic.php?f=14&t=1991&p=23763#p23763

no way I am buying a skill editor for 5 bucks or 39 membership fee
this works for me just fine
User avatar
glyn_ie
Posts: 120
Joined: Mon Mar 05, 2012 4:19 am

Re: Save editor

Post by glyn_ie »

Raptor wrote:There is no encryption in game. Save file is simply zlib data stream with 12B header ;-)
You were exactly right, thanks for the guidance ;)
sapientCrow wrote:no way I am buying a skill editor for 5 bucks or 39 membership fee
When I've completed my save editor, it will be free and posted straight to this forum. To be honest, my suspicion is that the $5 'editor' is in fact...garbage. It certainly seemed to appear out of nowhere very quickly, and I've seen scams like this before.

Anyway, sorry about the delay folks. Had a problem with one of my virtual machines with the IDE in. Had to reinstall the whole thing yesterday. On a more positive note though, I've decoded the save file and gained access to all the options it has to offer. If all goes well then I shouldn't have a problem putting something together now. I'll report back when some of the testing is done.
KitiaraLi
Posts: 1
Joined: Thu May 03, 2012 9:53 am

Re: Save editor

Post by KitiaraLi »

Busily awaits any progress on this ;-)
User avatar
glyn_ie
Posts: 120
Joined: Mon Mar 05, 2012 4:19 am

Re: Save editor

Post by glyn_ie »

I'm in the middle of tackling a bizarre number system employed by the save files. Rest assured I've not given up on it, and I'm actually able to edit some useful stuff. Will post back when I have something useful for people.
User avatar
Dej
Posts: 8
Joined: Sun Apr 29, 2012 9:42 pm
Location: Geneva, Switzerland

Re: Save editor

Post by Dej »

I'm in the middle of tackling a bizarre number system employed by the save files
If talking about the 0x3FF0, 0x4000, 0x4008, 0x4010, etc. numbers used to identify the characters, to index the items in the inventory and in fact for most of numerical values in the game (such as strength, vitality, dexterity,...) they are in fact standard 64-bit floating-point values, in little-endian format (as seems to be the cardinal rule for all integer/fp values in the file.)

Those made me scratch my head for a while! :)

Hope this helps.
User avatar
glyn_ie
Posts: 120
Joined: Mon Mar 05, 2012 4:19 am

Re: Save editor

Post by glyn_ie »

Dej wrote:If talking about the 0x3FF0, 0x4000, 0x4008, 0x4010, etc. numbers used to identify the characters, to index the items in the inventory and in fact for most of numerical values in the game (such as strength, vitality, dexterity,...) they are in fact standard 64-bit floating-point values, in little-endian format (as seems to be the cardinal rule for all integer/fp values in the file.)

Those made me scratch my head for a while! :)

Hope this helps.
Man, this helps a huge amount. I was actually writing a function to manipulate the individual bytes!

00 = 00:00:00:00 = 00000000.00000000.00000000.00000000
01 = 00:00:F0:3F = 00000000.00000000.11110000.00111111
02 = 00:00:00:40 = 00000000.00000000.00000000.01000000
03 = 00:00:08:40 = 00000000.00000000.00001000.01000000
04 = 00:00:10:40 = 00000000.00000000.00010000.01000000
...

(I wasn't recording all several billion values of course! :D Just a function to manipulate numbers in this progression...nightmare.)

You just saved me a lot of trouble, and to be honest, I feel like an idiot for not noticing it sooner because after reading your post, I realized the values are displayed in the HEX editor too (providing the appropriate range is selected) - I just never noticed. I rarely work with 64 byte variables and didn't recognize this data structure at all. So thanks hugely for that. You've just made my job a lot easier. :)
User avatar
Dhauntyr
Posts: 45
Joined: Wed Apr 18, 2012 8:00 pm
Location: United States

Re: Save editor

Post by Dhauntyr »

I know absolute zilch about programming, but maybe I could learn Lua. I was a Math and Philosophy major at the Uni, no programming at all (well, very little anyway). I may need some help learning the ropes of Lua scripting from the community.
User avatar
glyn_ie
Posts: 120
Joined: Mon Mar 05, 2012 4:19 am

Re: Save editor

Post by glyn_ie »

FAO developers: Is it alright if I use the following graphics in my editor? Download
EDIT: Files will be inaccessible, compiled into the EXE; Not stored in any folder or archive.
Dhauntyr wrote:I know absolute zilch about programming, but maybe I could learn Lua. I was a Math and Philosophy major at the Uni, no programming at all (well, very little anyway). I may need some help learning the ropes of Lua scripting from the community.
A good place to start if you wish to learn programming is Visual Basic. However, if you wanna get serious, you should move to something like Java, C# or C++ as soon as possible. As for LUA, I'm sure there will be a lot of discussion on it when the level editor is released, and I don't imagine the scripting will be very complicated. A level editor is after all designed to be easy-to-use.
User avatar
Dej
Posts: 8
Joined: Sun Apr 29, 2012 9:42 pm
Location: Geneva, Switzerland

Re: Save editor

Post by Dej »

glyn_ie wrote:So thanks hugely for that. You've just made my job a lot easier. :)
No problem! Glad I could help!
glyn_ie wrote:I was actually writing a function to manipulate the individual bytes!
I did a similar thing, and lost quite some time writing useless code! I noticed that those numbers were used as indexes in the inventory, which gave me the sequence from 1 to around 30. From that I deduced the encoding was exponent + mantissa, but not the standard 32-bit FP format (which I am quite familiar with.) So I rushed in and wrote functions to convert integers to and from this "new" format. Only after doing all that did I realize, wait, could those simply be 64-bit floating points? :D

Funny thing is one can set fractional stats. Let me tell you, a rogue with 1000.5 strength kicks ass ;)

FYI I have a parser for the save files written in Python, it is read-only, has no GUI, and parses only part of the data in the savegame. It is basically of the same form as the two utility scripts I posted on this forum (the one to rename characters and the one to put custom portraits in old savegames.) I've played around with that a little but I will probably not push it further. I must first beat the game, and resist the urge to use the script to cheat!! :)
User avatar
Dej
Posts: 8
Joined: Sun Apr 29, 2012 9:42 pm
Location: Geneva, Switzerland

Re: Save editor

Post by Dej »

glyn_ie wrote:if you wanna get serious, you should move to something like Java, C# or C++
or Python! :)
Post Reply