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. Settings overview
Save Game Info
Save Date
- The last saved date of the file, displays in theLoad Game
andSave Game
screens.
Auto update
- Will automatically update theSave Date
when the file is saved.
Display Level
/Display Mission
- The Level/Mission to show in theLoad Game
andSave Game
screens.
- This is different from
Character Sheet
->Current Mission Info
. You can display one mission and launch another.
- This is different from
Input Manager
Is Rumble Enabled
- Controller rumble.
Character Sheet
Miscellaneous
Player Name
- Entirely useless, game always sets it toPlayer1
. Probably a relic of when the game supported split screen in story mode.Current Mission Info
- The mission to launch when onResume 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 ofPurchased Rewards
that are cars.Num Skins Purchased
- Number ofPurchased 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
andNum 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.
- However, if a save with
- The sum of
Gags Viewed
- The gags viewed in the level.
Missions
Mission Name
- The name of the mission. Determined by theAddMission
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 theRace 1 (Time Trial)
. The best time of the trial.
Cards
Card Name
- Unused by the game. Hardcodedly set toCardx
.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.
- This should equal the number of cars with names that aren't
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.
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.
Tutorial Manager
Enable Tutorial Events
- Should the tutorial events be shown.Tutorials Seen
- The different tutorials.
GUI System
Is Radar Enabled
- Is the radar shown in-game.
Card Gallery
Collected Card IDs
- A list of all cards.
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.
Changelog
v1.6.1
Bug Fixes
- Fixed a bug when reading unknown custom save data.
- Fixed a bug where it didn't initialise
PurchasedRewards
correctly. - Fixed a typo -
Kiwk Cash
->Kwik Cash
. - Removed unused methods and updated internal syntax.
- Fixed a bug where updating cards all affected level 1 instead of their respective levels.
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
andMain Mod
values.
- Thanks to @Lucas Cardellini for providing the code to read this data.
Changes
- Changed some default values.
- Updated default car inventory to contain the
famil_v
.
- Updated
EnableTutorialEvents
defaul totrue
.
- Updated
IsRadarEnabled
default totrue
.
- Updated default car inventory to contain the
- 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
forSave As...
andAlt+F4
forExit
.
- Added
- 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
andRecent Files
now save to the registry, underHKCU\SOFTWARE\SHARSaveGameEditor
.
Removals
- Removed limitations the game doesn't impose.
- Split
Save Time
away fromSave 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.
- The game has no validation on the time, will just display the values. Only limitation is that it's stored in a
- Changed
Minimum
/Maximum
ofDisplay Level
andDisplay Mission
to be 0->255.
- Updated info tooltips to reflect the new limits.
- Split
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 theLastPath
variable.
- This result in a future
Save
orSave As...
using the wrong path.
- This result in a future
- Fixed save filter not matching
LastPath
.
- This result in the wrong filter in the
SaveFileDialog
being used.
- This result in the wrong filter in the
- Fixed a bug where
Auto update
didn't correcly updateSave Date
(again). - Fixed the
Persistent Object States
names list.
- Original list was generated without excluding certain
CollisionEffect
->ClassType
values.
- Original list was generated without excluding certain
v1.3
Additions
- Added a filter to the
Open
andSave
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 theGags
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.
- Save games contain 2 references to cards - the
- Added release version to the title bar.
- Added mapping for vanilla game
Persistent Object states
.
- Added names for the default
PersistentObjectStates
.
- Thanks to @EnAppelsin for their assistance getting these.
- 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.
- Added names for the default
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 inCharacterSheet
.
v1.0
The initial release.