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](https://raw.githubusercontent.com/Hampo/SHAR-Save-Game/main/Screenshots/10.%20All%20settings.gif)
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
![Save Game Info](https://raw.githubusercontent.com/Hampo/SHAR-Save-Game/main/Screenshots/01.%20The%20%60Save%20Game%20Info%60%20tab.png)
Input Manager
Is Rumble Enabled
- Controller rumble.
![Input Manager](https://raw.githubusercontent.com/Hampo/SHAR-Save-Game/main/Screenshots/02.%20The%20%60Input%20Manager%60%20tab.png)
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
![Character Sheet](https://raw.githubusercontent.com/Hampo/SHAR-Save-Game/main/Screenshots/03.%20The%20%60Character%20Sheet%60%20tab.png?raw=true)
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](https://raw.githubusercontent.com/Hampo/SHAR-Save-Game/main/Screenshots/04.%20The%20%60Sound%20Settings%60%20tab.png?raw=true)
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](https://raw.githubusercontent.com/Hampo/SHAR-Save-Game/main/Screenshots/05.%20The%20%60Super%20Cam%20Central%60%20tab.png?raw=true)
Tutorial Manager
Enable Tutorial Events
- Should the tutorial events be shown.Tutorials Seen
- The different tutorials.
![Tutorial Manager](https://raw.githubusercontent.com/Hampo/SHAR-Save-Game/main/Screenshots/06.%20The%20%60Tutorial%20Manager%60%20tab.png?raw=true)
GUI System
Is Radar Enabled
- Is the radar shown in-game.
![GUI System](https://raw.githubusercontent.com/Hampo/SHAR-Save-Game/main/Screenshots/07.%20The%20%60GUI%20System%60%20tab.png?raw=true)
Card Gallery
Collected Card IDs
- A list of all cards.
![Card Gallery](https://raw.githubusercontent.com/Hampo/SHAR-Save-Game/main/Screenshots/08.%20The%20%60Card%20Gallery%60%20tab.png?raw=true)
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](https://raw.githubusercontent.com/Hampo/SHAR-Save-Game/main/Screenshots/09.%20The%20%60Custom%20Save%20Data%60%20tab.png?raw=true)
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
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.