Forum Mod Bakery Docs

SHAR Save Game Editor

Please login to contribute to the conversation.

SHAR Save Game Editor

SHAR Save Game Editor is a GUI built using the .NET Framework 2.0 to read and edit SHAR save games. This tool should support all saves, including those with custom data added by the mod launcher.
All Settings

Settings overview

Save Game Info

  • Save Date - The last saved date of the file, displays in the Load Game and Save Game screens.
    • Auto update - Will automatically update the Save Date when the file is saved.
  • Display Level/Display Mission - The Level/Mission to show in the Load Game and Save Game screens.
    • This is different from Character Sheet->Current Mission Info. You can display one mission and launch another.
Save Game Info

Input Manager

  • Is Rumble Enabled - Controller rumble.
Input Manager

Character Sheet

Miscellaneous

  • Player Name - Entirely useless, game always sets it to Player1. Probably a relic of when the game supported split screen in story mode.
  • Current Mission Info - The mission to launch when on Resume Game.
  • Highest Mission Info - All missions up to this one will be available for mission warping.
  • Is Nav System Enabled - Enables/Disables road arrows I believe.
  • Coins - The number of coins you have.
  • Itchy Scratchy CBG First/Itchy Scratchy Ticket - Related to talking to CBG to get the ticket after collecting all cards.
  • Persistent Object States - Breakable objects, coins and wasps. Maybe more things I haven't figured out yet.

Levels

Miscellaneous

  • FMV Unlocked - For every level other than 3, it allows you to skip the video that plays during that level. For level 3 it's if you've watched the Itchy Scratchy movie.
  • Num Cars Purchased - Number of Purchased Rewards that are cars.
  • Num Skins Purchased - Number of Purchased Rewards that are skins.
  • Wasps Destroyed - Number of wasps destroyed in the level.
  • Current Skin - Current costume in the level.
  • Purchased Rewards - The list of rewards in the level.
    • The sum of Num Cars Purchased and Num Skins Purchased must equal the number of items checked.
      • However, if a save with IncreasedRewardLimits is loaded, any reward with an index greater than 11 should be omitted from this count.
  • Gags Viewed - The gags viewed in the level.

Missions

  • Mission Name - The name of the mission. Determined by the AddMission MFK function.
  • Completed - If the mission has been completed.
  • Bonus Objective - If the, unused by the vanilla game, bonus objective of the mission is completed.
  • Num Attempts - The number of times the mission was attempted prior to completion.
  • Skipped Mission - If the mission was skipped.
  • Best Time - Really only used by the Race 1 (Time Trial). The best time of the trial.

Cards

  • Card Name - Unused by the game. Hardcodedly set to Cardx.
  • Collected - If the card has been collected.

Cars

  • Name - The car name.
  • Current Health (%) - The current health of the vehicle (think damage in the phonebooth).
  • Max Health - Unused by the game. _Should_ be the vehicles hit points.
  • Counter - The number of cars in the inventory.
    • This should equal the number of cars with names that aren't n/a, but this isn't enforced.
Character Sheet

Sound Settings

  • Music Volume - The music volume percentage.
  • SFX Volume - The SFX volume percentage.
  • Car Volume - The car volume percentage.
  • Dialog Volume - The dialog volume percentage.
  • Is Surround - If checked, the game uses surround sound. If unchecked, the game uses stereo audio.
Sound Settings

Super Cam Central

Note: The 4 options are the 4 players in the bonus game.
  • Jump Cams Enabled - If enabled, camera angle changes when going over a jump.
  • Is Inverted Camera Enabled - If enabled, the first person camera is inverted.
  • Perferred Follow Cam - The default follow cam for the player.
Super Cam Central

Tutorial Manager

  • Enable Tutorial Events - Should the tutorial events be shown.
  • Tutorials Seen - The different tutorials.
Tutorial Manager

GUI System

  • Is Radar Enabled - Is the radar shown in-game.
GUI System

Card Gallery

  • Collected Card IDs - A list of all cards.
Card Gallery

Custom Save Data

Unknown

  • As save files can contain any data after the vanilla contents, any completely unknown data will be displayed here.

Lucas Mod Launcher Data

  • Mod Launcher Version - The version of the mod launcher the save was created in.
  • Main Mod - The name of the mod the save was created for.
Custom Save Data

Changelog
v1.5.1

Changes

  • Changed the Confirm Purchase Totals error to mention that only rewards up to index 11 matter.

Bug Fixes

  • Fixed removing an IncreasedRewardLimits reward.
v1.5

Additions

  • Actual Lucas Mod Launcher Data CustomSaveData handling.
    • Thanks to @Lucas Cardellini for providing the code to read this data.
    • Import reward names from save if present (will be in square brackets in Purchased Rewards lists).
    • Added support for IncreasedRewardLimits saves.
    • Displayer Launcher Version and Main Mod values.

Changes

  • Changed some default values.
    • Updated default car inventory to contain the famil_v.
    • Updated EnableTutorialEvents defaul to true.
    • Updated IsRadarEnabled default to true.
  • Change titlebar text to include the currently open file.

Bug Fixes

  • Fixed loading a save also repeated updating that save file.
v1.4

Additions

  • Added extra shortcut keys.
    • Added Ctrl+Shift+S for Save As... and Alt+F4 for Exit.
  • Added the ability to load a save through the command line.
    • Will only attempt to load the first command line argument as a file path.
  • Added a read-only UI for Custom Save Data.
  • Added functionality to pull the reward names from Custom Save Data if present.
  • Added Recent Files menu item.
    • Shows up to the last 10 files.
  • Added Registry Settings.
    • Auto update and Recent Files now save to the registry, under HKCU\SOFTWARE\SHARSaveGameEditor.

Removals

  • Removed limitations the game doesn't impose.
    • Split Save Time away from Save Date.
      • The game has no validation on the time, will just display the values. Only limitation is that it's stored in a byte so 0->255.
    • Changed Minimum/Maximum of Display Level and Display Mission to be 0->255.
    • Updated info tooltips to reflect the new limits.

Bug Fixes

  • Fixed saving not overwriting the entirety of existing files.
    • Would previously only overwrite the length of the written data. If the existing file was longer, the extra data would remain.
  • Fixed Save As... not updating the LastPath variable.
    • This result in a future Save or Save As... using the wrong path.
  • Fixed save filter not matching LastPath.
    • This result in the wrong filter in the SaveFileDialog being used.
  • Fixed a bug where Auto update didn't correcly update Save Date (again).
  • Fixed the Persistent Object States names list.
    • Original list was generated without excluding certain CollisionEffect->ClassType values.
v1.3

Additions

  • Added a filter to the Open and Save dialogs to default to the save file names.
  • Added an information tooltip on hover to every setting.

Bug Fixes

  • Fixed a bug where the context menu on all checked list boxes only affected one control.
  • Fixed a bug where the internal value of GagsViewed was miscalculated from the Gags list.
v1.2.1

Additions

  • Added missed coin locators to PersistentObjectStates.
  • Updated default PersistenObjectStates value.
v1.2

Additions

  • Added CharacterSheet->Level->Cards.
    • Save games contain 2 references to cards - the CardGallery with all cards, and then an array of cards per level. Added the per-level data to the UI.
  • Added release version to the title bar.
  • Added mapping for vanilla game Persistent Object states.
    • Added names for the default PersistentObjectStates.
    • Increased width of CLBPersistentObjectStates in order to fit the new, longer names.
    • Inverted the display of CLBPersistentObjectStates in order to be more intuitive.
      • Checked means broken/destroyed.
      • Unchecked means alive.

Changes

  • Moved name arrays to Names.cs.
  • Updated PersistentObjectStates reading to use != 0 instead of > 0.

Bug Fixes

  • Fixed a bug where SaveDate->Auto update didn't actually auto update.
  • Fixed Car->MaxHealth incorrectly showing as a percentage - it actually represents the max hitpoints of the car.
v1.1

Bug Fixes

  • Fixed a bug where updated the CardGallery didn't update the cards in CharacterSheet.
v1.0
The initial release.

Download

Source code: GitHub Repo.

Binaries: Mod Bakery.

Ayo ima use this the day before tomorrow
Where is the download button for the GUI program in the post?
I don't want decompiled source code, just a program that says what it's supposed to do. I've lost count of how many GitHub pages are just a pile of letters and numbers and it's driving me nuts because lots of the instructions on the pages are full of text blocks in the console font.

Please provide a download with NO console font text stuffed into the how to use pages
Where is the download button for the GUI program in the post?
I don't want decompiled source code, just a program that says what it's supposed to do.
108CAM

The "Binaries on Mod Bakery" link is what you'll want to use, under "latest version" you'll find a download button for a ZIP with the tool in it as required. A "binary" for a program tends to mean the actual functional thing in some capacity (like an EXE on Windows), I understand it isn't clear a lot of the time.
As Addy mentioned, the Mod Bakery link contains downloads for the compiles application, but so does GitHub under its Releases.