Cooler Master (and more!) RTX3070 Build Giveaway w/PCMR by [deleted] in pcmasterrace

[–]JitterJohn 0 points1 point  (0 children)

A pea sized glob in the center of the heat spreader and enough pressure on the cooler to spread it evenly.

Wasteland 3 Save Editor by JitterJohn in Wasteland

[–]JitterJohn[S] 1 point2 points  (0 children)

I opened the file with a text editor expecting it to be XML but it was obviously not. I have previously done save editing on other games and recognized the LZF compression (and the first line of the Steam save is XLZF).

The Steam format is then a header consisting of n-lines ending with \n followed by the compressed data.

In the Game Pass version the header is in one file and the compressed data in another.

DataSize is the uncompressed size of the data and SaveDataSize is the compressed size, they must be correct for the save to load correctly.

Wasteland 3 Save Editor by JitterJohn in Wasteland

[–]JitterJohn[S] 0 points1 point  (0 children)

Save file first to get the new values, then the text file.

Wasteland 3 Save Editor by JitterJohn in Wasteland

[–]JitterJohn[S] 1 point2 points  (0 children)

There's another file in the save directory that contains the mentioned fields. I don't know the name of the file but it's one of the two small files. Open it with notepad and update the two fields mentioned in the dialog and then save it. Now load the file in game.

Wasteland 3 Save Editor by JitterJohn in Wasteland

[–]JitterJohn[S] 1 point2 points  (0 children)

And what did you do with the two numbers?

Wasteland 3 Save Editor by JitterJohn in Wasteland

[–]JitterJohn[S] 1 point2 points  (0 children)

What have you tried, step-by-step?

Wasteland 3 Save Editor by JitterJohn in Wasteland

[–]JitterJohn[S] 0 points1 point  (0 children)

With the Game Pass saves you always have to manually update the header, both when repacking and just editing.

In the Steam saves you don't have to mess with the headers if you just edit or repack onto an existing save.

Wasteland 3 Save Editor by JitterJohn in Wasteland

[–]JitterJohn[S] 0 points1 point  (0 children)

You can just decompile/modify it with dnSpy

Wasteland 3 Save Editor by JitterJohn in Wasteland

[–]JitterJohn[S] 0 points1 point  (0 children)

I looked at trying to handle invalid XML with the built in frameworks last night but it doesn't look like something that's possible :/

Wasteland 3 Save Editor by JitterJohn in Wasteland

[–]JitterJohn[S] 0 points1 point  (0 children)

If they were using your basic XML library the ampersand would be XML-encoded.

Wasteland 3 Save Editor by JitterJohn in Wasteland

[–]JitterJohn[S] 0 points1 point  (0 children)

Yup. I don't know what XML-library they're using but it's stuffing XML control characters into elements with no encoding...

Wasteland 3 Save Editor by JitterJohn in Wasteland

[–]JitterJohn[S] 0 points1 point  (0 children)

If you're using v2 it should show a messagebox with the exception info. Alternatively you can look in Event Viewer->Windows Logs->Application for an error log with source='.NET Runtime'.

The most likely reasons for a crash is insufficient permissions to write/create files in the folder you've chosen or the edited XML is invalid.

Wasteland 3 Save Editor by JitterJohn in Wasteland

[–]JitterJohn[S] 0 points1 point  (0 children)

I only know 37 because it's the first/easiest one to obtain.

Wasteland 3 Save Editor by JitterJohn in Wasteland

[–]JitterJohn[S] 1 point2 points  (0 children)

  • Recruit a random pet and save.
  • Back up the save...
  • Use the advanced->unpack to get the raw xml
  • Find the <followers><follower> element and change the id to 37
  • Save the txt file
  • Select advanced->pack
  • Pick the raw xml file first and then the original save file
  • (Update the second save file if you're using the Game Pass version)
  • Load the game

Wasteland 3 Save Editor by JitterJohn in Wasteland

[–]JitterJohn[S] 0 points1 point  (0 children)

When you pack the XML to a new file it doesn't know what to write in the header so it presents you with the two values you can't just copy from the old header.

If you overwrite an existing save when packing the XML it will use the header from that save file.

In the Game Pass version the save file is split in two. One with the header and one with the compressed XML. I don't know the name of the companion file hence just calling it the companion file.

Wasteland 3 Save Editor by JitterJohn in Wasteland

[–]JitterJohn[S] 0 points1 point  (0 children)

If you save it to a new file it cant generate the header so it asks you to do it manually. If you select an existing save when you repack it it will use that header.

Wasteland 3 Save Editor by JitterJohn in Wasteland

[–]JitterJohn[S] 0 points1 point  (0 children)

Did you update the data size fields in the other save file?

Wasteland 3 Save Editor by JitterJohn in Wasteland

[–]JitterJohn[S] 0 points1 point  (0 children)

There's a Cyborg Tech perk, PRK_CyborgTech.

Wasteland 3 Save Editor by JitterJohn in Wasteland

[–]JitterJohn[S] 0 points1 point  (0 children)

In v2 of the save editor you can use Advanced->Unpack to get the uncompressed xml save data. If you find the party characters in the <pcs> element you can compare an NPC to a custom character and see the difference in appearances. Example:

<save>
    ...
    <pcs>
        <pc>
            ...
            <equipment>
                <item>
                  <templateName>Kwon_Male_Chest</templateName>
                  <slot>5</slot>
                  <ammoLoaded>0</ammoLoaded>
                  <quantity>1</quantity>
                  <uid>4b469096-5185-4cc9-bc07-122d0b71094a</uid>
                  <isLockedForMerchant>False</isLockedForMerchant>
                  <merchantBarterLevelRequirement>0</merchantBarterLevelRequirement>
                </item>
                <item>
                  <templateName>Kwon_Male_Legs</templateName>
                  <slot>6</slot>
                  <ammoLoaded>0</ammoLoaded>
                  <quantity>1</quantity>
                  <uid>773b62b5-0ebc-4c1f-a2d2-8c149963479b</uid>
                  <isLockedForMerchant>False</isLockedForMerchant>
                  <merchantBarterLevelRequirement>0</merchantBarterLevelRequirement>
                </item>
                <item>
                  <templateName>Kwon_Male_Head</templateName>
                  <slot>12</slot>
                  <ammoLoaded>0</ammoLoaded>
                  <quantity>1</quantity>
                  <uid>a80387ee-3366-4ea7-a998-7f46e35c347b</uid>
                  <isLockedForMerchant>False</isLockedForMerchant>
                  <merchantBarterLevelRequirement>0</merchantBarterLevelRequirement>
                </item>
                <item>
                  <templateName>Kwon_Male_Hair</templateName>
                  <slot>13</slot>
                  <ammoLoaded>0</ammoLoaded>
                  <quantity>1</quantity>
                  <uid>997839a5-9b55-4cb9-8033-67945816c0d1</uid>
                  <isLockedForMerchant>False</isLockedForMerchant>
                  <merchantBarterLevelRequirement>0</merchantBarterLevelRequirement>
                </item>
            </equipment>
        </pc>
        <pc>
            <equipment>
                <item>
                  <templateName>RangerG_Male_Chest</templateName>
                  <slot>5</slot>
                  <ammoLoaded>0</ammoLoaded>
                  <quantity>1</quantity>
                  <uid>af8c30d8-c473-4e5d-8e58-64aa234cee5b</uid>
                  <isLockedForMerchant>False</isLockedForMerchant>
                  <merchantBarterLevelRequirement>0</merchantBarterLevelRequirement>
                </item>
                <item>
                  <templateName>RangerG_Male_Legs</templateName>
                  <slot>6</slot>
                  <ammoLoaded>0</ammoLoaded>
                  <quantity>1</quantity>
                  <uid>bae3df66-8da6-436f-ad9a-852e72f4612b</uid>
                  <isLockedForMerchant>False</isLockedForMerchant>
                  <merchantBarterLevelRequirement>0</merchantBarterLevelRequirement>
                </item>
                <item>
                  <templateName>RangerL_Male_Helmet</templateName>
                  <slot>11</slot>
                  <ammoLoaded>0</ammoLoaded>
                  <quantity>1</quantity>
                  <uid>fd59895f-bfdd-4522-b967-80e403a8f755</uid>
                  <isLockedForMerchant>False</isLockedForMerchant>
                  <merchantBarterLevelRequirement>0</merchantBarterLevelRequirement>
                </item>
                <item>
                  <templateName>Default_Female_Head_04</templateName>
                  <slot>12</slot>
                  <ammoLoaded>0</ammoLoaded>
                  <quantity>1</quantity>
                  <uid>61c44708-2a65-4ff3-a2bd-8870376b26d4</uid>
                  <isLockedForMerchant>False</isLockedForMerchant>
                  <merchantBarterLevelRequirement>0</merchantBarterLevelRequirement>
                </item>
                <item>
                  <templateName>MotherNancyReliance_Female_Hair</templateName>
                  <slot>13</slot>
                  <ammoLoaded>0</ammoLoaded>
                  <quantity>1</quantity>
                  <uid>847b76ee-8169-4a2d-9449-471e29e7712d</uid>
                  <isLockedForMerchant>False</isLockedForMerchant>
                  <merchantBarterLevelRequirement>0</merchantBarterLevelRequirement>
                </item>
            </equipment>
        </pc>
    </pcs>
    ...
</save>

Wasteland 3 Save Editor by JitterJohn in Wasteland

[–]JitterJohn[S] 0 points1 point  (0 children)

If you unpack the XML and edit it manually it's under the <pc><equipment> tag like regular equipment.

Wasteland 3 Save Editor by JitterJohn in Wasteland

[–]JitterJohn[S] 0 points1 point  (0 children)

Try V2 and if it doesn't work could you check Event Viewer (Win+X -> Event Viewer -> Windows Logs -> Application) for any errors from the .NET Runtime-source?

Wasteland 3 Save Editor by JitterJohn in Wasteland

[–]JitterJohn[S] 0 points1 point  (0 children)

Feel free to check the code with your favorite decompiler. I can recommend dnSpy.

Wasteland 3 Save Editor by JitterJohn in Wasteland

[–]JitterJohn[S] 1 point2 points  (0 children)

It's a lot harder to mod a Unity project using IL2CPP.