Divinity Banner
Previous Thread
Next Thread
Print Thread
Page 33 of 33 1 2 31 32 33
Re: Save Game Editor [Re: Dairymoose] #643088
04/03/18 06:58 PM
04/03/18 06:58 PM
Joined: Mar 2018
Posts: 1
W
warbaque Offline
stranger
warbaque  Offline
stranger
W

Joined: Mar 2018
Posts: 1
How can I swap 1st and 2nd player data by editing global.lsx or with memory editor?
I tried to just swap character nodes, but after that they couldn't use their equipment because they were using wrong attributes (not shown in UI nor mem edit)

Re: Save Game Editor [Re: warbaque] #644617
02/04/18 03:23 AM
02/04/18 03:23 AM
Joined: Mar 2018
Posts: 16
A
Aminoacow Offline
stranger
Aminoacow  Offline
stranger
A

Joined: Mar 2018
Posts: 16
Each item has
Code:
attribute id="owner" 
and
Code:
 attribute id="inventory" 
attributes. The former determines the ownership of the item, and the latter determines which the inventory the item is in. You have to find out the owner Id and inventory id, and swap them.

Re: Save Game Editor [Re: Dairymoose] #645367
24/04/18 08:10 PM
24/04/18 08:10 PM
Joined: Dec 2014
Posts: 12
F
ffffffffffffk Offline
stranger
ffffffffffffk  Offline
stranger
F

Joined: Dec 2014
Posts: 12
hey is there a tool to change/add stats/skills points? my d os ee version is 2.0 and something more, ty


so stresing looking for a way to cheat four like 2 days

Last edited by ffffffffffffk; 24/04/18 08:12 PM.
Re: Save Game Editor [Re: ffffffffffffk] #645391
25/04/18 11:22 AM
25/04/18 11:22 AM
Joined: Mar 2003
Posts: 26,713
Canada
Raze Offline

Larian Studios
Raze  Offline

Larian Studios

Joined: Mar 2003
Posts: 26,713
Canada

Other than the EE save editor, you can use CheatEngine (as mentioned above) to add/change skill and talent points, etc.

For the install you would either need to uncheck some extra 'offers', or install it while offline. There is also a no-install rar file on the downloads page. If you don't already have an archive manager that can handle rar files, try the freeware 7-Zip.

Here is a CheatEngine table I downloaded from this topic (broken link) when it was still available. It wasn't updated for the latest version of the game, but works for what I've tried with it (adjusting abilities and talents), in CheatEngine version 6.6 (haven't updated to 6.7 yet).

Start the game and load a save, open the table (I just extracted it into the CheatEngine install folder), click the 'Select a process to open' button at the top left (highlighted with a flashing box cycling between red and green), select EoCApp.exe (preceded by a hex number, ie 00001FD0-EoCApp.exe) and click the Open button and then Yes. In the bottom list, select Hero Pointers, then go through Hero 1 to 4 to identify the right character. There is an 'Upgrade Points' section where you can add attribute, ability and talent points, and sections for each of those where you can remove/adjust values. Double click the value to change, and when you are done, switch back to the game to save/load (some things take effect immediately, character changes require a save/load to get them to show up in-game).

If you can not select the boxes at the bottom in CheatEngine, exit the program and the game and start over. That happened to me a couple times. There may be an easier fix, but I haven't used CheatEngine enough to bother trying anything else.

Re: Save Game Editor [Re: Raze] #645394
25/04/18 05:40 PM
25/04/18 05:40 PM
Joined: Dec 2014
Posts: 12
F
ffffffffffffk Offline
stranger
ffffffffffffk  Offline
stranger
F

Joined: Dec 2014
Posts: 12
Originally Posted By: Raze

Other than the EE save editor, you can use CheatEngine (as mentioned above) to add/change skill and talent points, etc.

For the install you would either need to uncheck some extra 'offers', or install it while offline. There is also a no-install rar file on the downloads page. If you don't already have an archive manager that can handle rar files, try the freeware 7-Zip.

Here is a CheatEngine table I downloaded from this topic (broken link) when it was still available. It wasn't updated for the latest version of the game, but works for what I've tried with it (adjusting abilities and talents), in CheatEngine version 6.6 (haven't updated to 6.7 yet).

Start the game and load a save, open the table (I just extracted it into the CheatEngine install folder), click the 'Select a process to open' button at the top left (highlighted with a flashing box cycling between red and green), select EoCApp.exe (preceded by a hex number, ie 00001FD0-EoCApp.exe) and click the Open button and then Yes. In the bottom list, select Hero Pointers, then go through Hero 1 to 4 to identify the right character. There is an 'Upgrade Points' section where you can add attribute, ability and talent points, and sections for each of those where you can remove/adjust values. Double click the value to change, and when you are done, switch back to the game to save/load (some things take effect immediately, character changes require a save/load to get them to show up in-game).

If you can not select the boxes at the bottom in CheatEngine, exit the program and the game and start over. That happened to me a couple times. There may be an easier fix, but I haven't used CheatEngine enough to bother trying anything else.

hi and ty, but i cant, i did all you said but when i click upgrade points > base adress and then any of them (attribute, ability, talents) windows make a sound and dont let me mark/click them and i cant change the value
and the value is set ?? and if i tru to change it is set in red and when i accept is back to ??

sorry for my english

Re: Save Game Editor [Re: Dairymoose] #646973
25/06/18 05:13 AM
25/06/18 05:13 AM
Joined: Jun 2018
Posts: 1
T
The-Almighty-Zug Offline
stranger
The-Almighty-Zug  Offline
stranger
T

Joined: Jun 2018
Posts: 1
I can't for the life of me get this to work. I launch the editor and put the paths to the files but when I click load nothing happens. Any idea on how to fix this? I just want to respec instead of starting over.

Re: Save Game Editor [Re: The-Almighty-Zug] #647018
27/06/18 05:54 AM
27/06/18 05:54 AM
Joined: Mar 2003
Posts: 26,713
Canada
Raze Offline

Larian Studios
Raze  Offline

Larian Studios

Joined: Mar 2003
Posts: 26,713
Canada

You're playing D:OS Classic?
After running MooseEdit and entering the paths, do you get a list of saves in the box just below that? (should list the profile name and save name for each entry)
You need to select a specific save in the list (which should show the screenshot preview and information to the right) before clicking on the Load button on the bottom.

Re: Save Game Editor [Re: Dairymoose] #650835
09/11/18 03:22 AM
09/11/18 03:22 AM
Joined: Nov 2018
Posts: 1
V
vants Offline
stranger
vants  Offline
stranger
V

Joined: Nov 2018
Posts: 1
divinity ee version editor plz

Re: Save Game Editor [Re: Dairymoose] #652664
29/05/19 05:15 PM
29/05/19 05:15 PM
Joined: May 2019
Posts: 6
SamAmco Offline
stranger
SamAmco  Offline
stranger

Joined: May 2019
Posts: 6
Hi, I'm a big fan of the game and would like to say thanks for supporting Linux!

I don't know if this thread is still alive but I'm currently trying to write a basic level editor for DOS-EE Linux.

I'm getting stuck on Crc32 errors, making me think maybe the linux version of the game uses a different Crc32 implementation?

I started by trying to port: https://github.com/tmxkn1/D-OS-Save-Editor

which relies on: https://github.com/Norbyte/lslib

Instead of porting lslib I simply ripped out the bits needed to support D-OS-Save-Editor for now. Some of the C++ is windows specific, specifically crc32.cpp so I re-wrote it in C#. You can see my port here: https://gist.github.com/SamAmco/5b1f319f0ff9f58875b27707550c4220

My C++ skills aren't amazing so I suppose it's possible I got something slightly wrong but right now I'm getting the following error:


[i]Unhandled Exception:
System.AggregateException: One or more errors occurred. (CRC check failed on file 'Globals.lsf', archive is possibly corrupted. Expected F657840E, got CDE7075C) ---> System.IO.InvalidDataException: CRC check failed on file 'Globals.lsf', archive is possibly corrupted. Expected F657840E, got CDE7075C
at LSLib.LS.PackagedFileInfo.MakeStream () [0x000f6] in <227448a98e43416eb2ab52cf6538eb7e>:0
at LSLib.LS.Packager.UncompressPackage (System.String packagePath, System.String outputPath) [0x000f6] in <227448a98e43416eb2ab52cf6538eb7e>:0
at D_OS_Save_Editor.Savegame.UnpackSavegameAsync (System.IProgress`1[T] progress, System.Boolean metaOnly) [0x000b2] in <d2cd6ce312a0468782052565a30df527>:0
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.Wait (System.Int32 millisecondsTimeout, System.Threading.CancellationToken cancellationToken) <0x7fc51a233b60 + 0x000bc> in <e5dad02f71314095bddb65a504a4b77d>:0
at System.Threading.Tasks.Task.Wait () <0x7fc51a233ab0 + 0x0000c> in <e5dad02f71314095bddb65a504a4b77d>:0
at DivinityLinuxSaveEditor.MainClass.Main (System.String[] args) [0x00026] in <d2cd6ce312a0468782052565a30df527>:0
---> (Inner Exception #0) System.IO.InvalidDataException: CRC check failed on file 'Globals.lsf', archive is possibly corrupted. Expected F657840E, got CDE7075C
at LSLib.LS.PackagedFileInfo.MakeStream () [0x000f6] in <227448a98e43416eb2ab52cf6538eb7e>:0
at LSLib.LS.Packager.UncompressPackage (System.String packagePath, System.String outputPath) [0x000f6] in <227448a98e43416eb2ab52cf6538eb7e>:0
at D_OS_Save_Editor.Savegame.UnpackSavegameAsync (System.IProgress`1[T] progress, System.Boolean metaOnly) [0x000b2] in <d2cd6ce312a0468782052565a30df527>:0 <---[/i]


Can anyone provide me any insight on this? I would skip the CRC altogether but presumably I'll need to be able to create a valid CRC to convert back to LSF/LSV again after editing the LSX?

Perhaps I'm on the wrong lines completely? I could try porting MooseEdit instead? I don't know if the source is up to date and works for EE though?

Last edited by SamAmco; 29/05/19 05:20 PM. Reason: Further questions
Re: Save Game Editor [Re: Dairymoose] #652665
29/05/19 05:25 PM
29/05/19 05:25 PM
Joined: Apr 2013
Posts: 465
N
Norbyte Offline
addict
Norbyte  Offline
addict
N

Joined: Apr 2013
Posts: 465
Hi,

Working with binaries this way in C# is tricky because of the runtime's tendency to treat literals as int32 (among others) and the different casting/type promotion rules in C++ and C#, so it's better to just use an existing library that's known to work rather than directly convert C++ bit-magic to C#. The CRC implementation is standard CRC-32 with standard polynomials, so any existing CRC32 lib will work. The reason my version is hand-rolled C++ is because all of the pure-C# CRC implementations I've tested were significantly slower, and the checksum calculation sometimes took ~40% of the total unpacking time.

This one would be a safe pure-C# choice:
https://github.com/damieng/DamienGK...G.Library/Security/Cryptography/Crc32.cs

The .LSB/.LSF files don't contain checksums, but the package itself (.PAK/.LSV) does.

Last edited by Norbyte; 29/05/19 05:27 PM.
Re: Save Game Editor [Re: Dairymoose] #652669
29/05/19 07:03 PM
29/05/19 07:03 PM
Joined: May 2019
Posts: 6
SamAmco Offline
stranger
SamAmco  Offline
stranger

Joined: May 2019
Posts: 6
Thanks for the quick reply Norbyte. Super useful, thanks. I tried this before but I just realised I was using 0 as a seed. It works with the default seed. Whoops.

I will continue with my porting and update here when i have something working.

Re: Save Game Editor [Re: Norbyte] #652674
01/06/19 01:09 PM
01/06/19 01:09 PM
Joined: May 2019
Posts: 6
SamAmco Offline
stranger
SamAmco  Offline
stranger

Joined: May 2019
Posts: 6
Hi Norbyte,

I noticed you're using a native library for framed lz4 and a .net implementation for non-framed. I'm guessing that's because you're using this .NET implemenation: https://github.com/MiloszKrajewski/lz4net

at the bottom it talks about how it's not compatible with original lz4..? is that why you have native code for this? I had a go and I couldn't get the .NET implementation working in place of your compiled code.

I can compile the lz4 library fine, but marshalling/unmarshalling byte arrays of variable length between C# and C++ without C++/CLI i'm finding confusing and difficult.

Any suggestions here?

Last edited by SamAmco; 01/06/19 01:50 PM.
Re: Save Game Editor [Re: SamAmco] #652688
02/06/19 08:45 PM
02/06/19 08:45 PM
Joined: May 2019
Posts: 6
SamAmco Offline
stranger
SamAmco  Offline
stranger

Joined: May 2019
Posts: 6
You know what actually I think I managed to get it working with the k4os lz4 nuget package. The trouble I'm having now is that when I call PackageWriter.Write it opens a stream to the lsv file and then iterates all the files in the directory (including the lsv file) and throws an error because it can't open a stream to the lsv when one is already open (at info.MakeStream() in WriteFile. Perhaps I'm trying to package the wrong sub-directory?

Re: Save Game Editor [Re: Dairymoose] #652690
03/06/19 03:46 AM
03/06/19 03:46 AM
Joined: Apr 2013
Posts: 465
N
Norbyte Offline
addict
Norbyte  Offline
addict
N

Joined: Apr 2013
Posts: 465
Hi,

1) Yeah, you can use any LZ4 library as long as it is compatible with LZ4F (many of the .NET libs uses its own framing that is not compatible with LZ4F). At that time lz4net was the first one I found that actually worked properly, so I went with it.

2) Well, don't repack the dir itself, I should probably add a warning about that :P
Just create a subfolder or another folder somewhere else and extract the package into that. Otherwise, you'll be recursively repacking the same file.
Most compressors simply create a temp package file and use that as destination path for the compression, then rename the temp to the final path after it was finished to avoid overwriting the original file if something goes wrong.

Re: Save Game Editor [Re: Dairymoose] #652707
05/06/19 01:23 PM
05/06/19 01:23 PM
Joined: May 2019
Posts: 6
SamAmco Offline
stranger
SamAmco  Offline
stranger

Joined: May 2019
Posts: 6
Excellent, thanks for the advice. I managed to get lsv's decompressing and re-compressing on linux now smile .. The whole reason I got into this is because I wanted to fix my save game which i screwed up. I've mostly done that now, although I found I could change the number of points I had in anything but I had trouble changing the number of talents my character has (I wanted to remove one that I got in error.) It seems like there's more than one variable keeping track of the number of talents each character has perhaps? Idk. I will upload my code to github soon and post a link here though (it's very basic, command line, no UI). Thanks for all your help.

Re: Save Game Editor [Re: Dairymoose] #652708
05/06/19 01:40 PM
05/06/19 01:40 PM
Joined: Apr 2013
Posts: 465
N
Norbyte Offline
addict
Norbyte  Offline
addict
N

Joined: Apr 2013
Posts: 465
Hi,

The talents are packed into a bitstring which is split into 3 32-bit integer values.

i.e. if you have talent nodes with values 1048584, 8650752 and 0:
You should convert these values into binary first to see which talent indices are set. In binary the node values are:
1048584 = 0000 0000 0001 0000 0000 0000 0000 1000
8650752 = 0000 0000 1000 0100 0000 0000 0000 0000
0 = 0000 0000 0000 0000 0000 0000 0000 0000

Now you have to count bits from the right to the left and write down the position of each bit that has a "1" in it.
In the first row, the 4th and 21st bits are 1; in the second row, the 19th and 24th bits are 1; in the third row, there are only "0" bits.
Now, add 32 to the position of each "1" value in the second row, and add 64 to the position of each "1" value in the third row.
The final values we have are:
4 (first row rightmost)
21 (first row left)
19+32=51 (second row right)
24+32=56 (second row left)

I'm not sure if my talent table is correct for D:OS 2, but 4 is "AttackOfOpportunity", 21 is "ResistDead", 51 is "WhatARush" and 56 is "Bully". (Note that the internal names for talents are different from the ones in the game UI, so there isn't always a 1:1 name match).

If you'd like to modify them, then do the same process in reverse, i.e. first look up the index of the talent you want to set/unset. Then find which row contains your talent index. Indices 1 to 32 are in the first row, 33-64 in the second, 65+ in the third. Then subtract 0/32/64 (first/second/third row) from the index, and start counting bits from the left. When you got to your talent index, set the corresponding bit to "1", then convert the binary value to decimal and overwrite the talent nodes in the LSX.

Regards,
N

Re: Save Game Editor [Re: Dairymoose] #652710
05/06/19 02:32 PM
05/06/19 02:32 PM
Joined: May 2019
Posts: 6
SamAmco Offline
stranger
SamAmco  Offline
stranger

Joined: May 2019
Posts: 6
I see, that makes a lot more sense. It just so happened my character had 3 talents so I assumed each integer was an ID for a specific talent. I assume you must work for Larian Studios? I don't know how anyone could possibly infer all of this information.

Re: Save Game Editor [Re: Dairymoose] #652721
06/06/19 05:55 PM
06/06/19 05:55 PM
Joined: Apr 2013
Posts: 465
N
Norbyte Offline
addict
Norbyte  Offline
addict
N

Joined: Apr 2013
Posts: 465
No, I'm not working at Larian, and apparently it is possible to infer all this smile

Re: Save Game Editor [Re: SamAmco] #654540
04/08/19 01:26 PM
04/08/19 01:26 PM
Joined: Aug 2019
Posts: 1
LordGarfield Offline
stranger
LordGarfield  Offline
stranger

Joined: Aug 2019
Posts: 1
Originally Posted by SamAmco
I will upload my code to github soon and post a link here though (it's very basic, command line, no UI). Thanks for all your help.

I'm very interesting in your code, and a command line sound perfect.
Do you have a link to share yet? ;-)

Page 33 of 33 1 2 31 32 33

Powered by UBB.threads™ PHP Forum Software 7.6.2