# README for Savegame Editor for Snoopy vs. the Red Baron Modify an existing savegame file for the PC game [Snoopy vs. the Red Baron (2006)](https://en.wikipedia.org/wiki/Snoopy_vs._the_Red_Baron_(video_game)). # tl;dr ./srb.py --profile 1 --unlock-everything --buy-everything ~/"Documents/Snoopy vs. the Red Baron/Profile 1/Profile 1.sav" ## Upstream This project's upstream is at . ## Alternatives None found. ## Reason for existence The author was unable to find any trainer or savegame editor for this game, and I wanted to be able to reset certain elements or cheat and give myself everything. Mostly I wanted "Octo-gun" and I was concerned I wasn't good enough to beat every level (mostly boss levels) with rank General. I did actually beat the game with 100% completion before I finished this tool. ## Using Most capabilities have "set" and "get" parameters. Some have "set" and "add/remove" parameters. To see a full list of commands, run `./srb.py --help`. Some common examples. ./srb.py --profile 1 --set-name "newname" --file "Profile 1.sav" ./srb.py --profile 1 --set-money 10000 --file "Profile 1.sav" ./srb.py --profile 1 --set-level 5,all --file "Profile 1.sav" ./srb.py --profile 1 --set-level 6,none --file "Profile 1.sav" ./srb.py --profile 1 --set-health 4 --file "Profile 1.sav" Note that `--set-level 5,all` operates three separate parameters that could be done individually: --set-level-status 5,general --set-level-balloons 5,all --set-level-letters 5,all Individual letter/balloon control is not implemented at this time. ## Dependencies For the library and cli, just python3. For the graphical frontend: sudo apt-get install python3-tkinter python3-pil.imagetk ## Building N/A ## Design notes The checksum used is this crc32: crc width=32 poly=0x4c11db7 init=0x0 xorout=0x235b4b9c refin=false refout=false out_endian=little Which I only learned through the reverse-engineering efforts of . Before I learned this, none of this savegame editing was possible. The binary contents are stored in little-endian, which makes visual inspection of the file in a hexeditor slower. ![Screenshot of profile selection screen showing three names: "Hexedit," "4fun and," and "Profit."](.images/scrot-hexedit-for-fun-and-profit-srb.png "Screenshot of profiles with fun names") ## Graphical frontend There is an included python tcl/tk frontend: ./srb_tk.py The tool loads the default "Profile 1.sav" file right away. Clicking any widget effects an immediate change to the checksum. To save the file, you must select "Save" from the menu. ![Screenshot of graphical savegame editor](.images/scrot-savegame-editor-graphical.png "Screenshot of the savegame editor with a completed profile on display") ## Credits Unless a graphic was taken from the game, any icons come from icons8. Main program icon icon by Icons8 Hay Bale icon by Icons8 Barrel icon by Icons8 Geyser icon by Icons8 Pumpkin icon by Icons8 Battery icon by Icons8 ## License GPL 3.0. Contributions welcome! ## References 1. 2. 3. 4. 5. 6. [Walkthrough for Snoopy vs. the Red Baron](https://gamefaqs.gamespot.com/pc/930591-snoopy-vs-the-red-baron/faqs/46161) Too many to list here. See the References heading in each file for more.