ROM Hack RELEASE SMOSE - Super Mario Odyssey Save Editor

Did it work?

  • Yes!

  • No -.-


Results are only viewable after voting.

ladygugu

Well-Known Member
OP
Member
Joined
May 12, 2015
Messages
114
Trophies
0
XP
928
Country
France
Backup your save file before using this editor!
Use at your own Risk! | Bugs may occur!
Proceed with caution it can delete nodes and the savegame is then broken.

ci1CNFj.png

- Input Format: Ingame 12 Coins -> Value = 12. If you input 0012 the operation will FAIL!!
eA4Pzhh.png
5pgfRqk.jpg

- Knowledge on getting into HBL and Dumping and Injecting your Savegame
- BernardoGiordano’s save dumper Checkpoint
- Get the new SDFILES
- Restart Console after restoring savegame not anymore with the new SDFILES
  1. Dump Save with Checkpoint
  2. Load raw savegame (From Checkpoint {File1-5.bin})
  3. Open modified savegame (File1-5.byml)
  4. Choose NO On "Does this game support Path" (Crashes if "yes")
  5. Edit things you want (Right-click -> Edit Value)
  6. When Done (Right-click -> Save as..)
  7. Save the edited savegame back to raw
  8. Inject with Checkpoint


    F0oxzSc.jpg

- Input Format: Ingame 12 Coins -> Value for CurrentCoinsBox = 12. If you input 0012 the operation will FAIL!!

Edit Items
YOU NEED Version 1.2.0 of the game Ballonhunt update (or latest update) to get the unreleased Costumes otherwise the game WILL crash
  1. Add it to your Inventory (ItemCap, ItemCloth)
  2. or edit current wearing Costumes (not in inventory) (CurrentCapName, CurrentClothName)

ItemCapItemClothCollectBgmListCoinNumHackDictionaryHintPhotoDataItemGiftItemStickerGetCoinCollectDataShineDataMISC


  1. Mario
    MarioCaptain
    MarioPoncho
    MarioShopman
    MarioGunman
    MarioPrimitiveMan
    MarioTailCoat
    MarioMechanic
    MarioExplorer
    MarioKoopa
    MarioTuxedo
    MarioPeach
    MarioScientist
    MarioNew3DS
    MarioSwimwear
    MarioPilot
    MarioSuit
    MarioMaker
    MarioGolf
    MarioAloha
    MarioPirate
    MarioSailor
    MarioSnowSuit
    MarioClown
    MarioCook
    MarioPainter
    MarioArmor
    MarioHappi
    MarioColorWario
    MarioDiddyKong
    MarioColorWaluigi
    MarioDoctor
    MarioColorLuigi
    MarioColorClassic
    MarioFootball
    MarioSpaceSuit
    Mario64
    MarioColorGold
    Mario64Metal
    MarioKing
    MarioInvisible
    MarioSpewart
    MarioTopper
    MarioRango
    MarioHariet
    MarioBandman
    MarioZombie
    MarioSanta
    MarioConductor
    MarioSatellite
    MarioBatter
    MarioBone
    MarioSunshine
    MarioRacer
    MarioDot3d

  2. Mario
    MarioPoncho
    MarioUnderwear
    MarioShopman
    MarioGunman
    MarioPrimitiveMan
    MarioTailCoat
    MarioMechanic
    MarioExplorer
    MarioKoopa
    MarioTuxedo
    MarioPeach
    MarioScientist
    MarioNew3DS
    MarioSwimwear
    MarioPilot
    MarioSuit
    MarioMaker
    MarioGolf
    MarioAloha
    MarioPirate
    MarioSailor
    MarioSnowSuit
    MarioClown
    MarioCook
    MarioPainter
    MarioArmor
    MarioHappi
    MarioHakama
    MarioColorWario
    MarioDiddyKong
    MarioColorWaluigi
    MarioDoctor
    MarioColorLuigi
    MarioColorClassic
    MarioFootball
    MarioSpaceSuit
    Mario64
    MarioColorGold
    MarioKing
    Mario64Metal
    MarioSpewart
    MarioTopper
    MarioRango
    MarioHariet
    MarioBandman
    MarioZombie
    MarioSatellite
    MarioBatter
    MarioBone
    MarioSunshine
    MarioRacer
    MarioConductor
    MarioSanta

  3. Name : Value (String)
    IsCollected : True/False
    Music List

  4. Int32
    Current coin amount

  5. String
    Capture List of Things you can get Control of like a Frog:
    Frog
    ElectricWire
    Wanwan
    TRex
    WanwanBig
    BreedaWanwan
    Fukankun
    Killer
    Megane
    Kuribo
    BossKnuckleHand
    JugemFishing
    BazookaElectric
    Kakku
    Gamane
    KuriboWing
    Fastener
    Pukupuku
    Senobi
    FireBros
    Tank
    Tree
    RockForest
    Imomu
    Manhole
    Guidepost
    Byugo
    Yukimaru
    PukupukuSnow
    Hosui
    Bubble
    HackFork
    HammerBros
    CarryMeat
    Tsukkun
    Statue
    KaronWing
    KillerMagnum
    Bull
    StatueKoopa
    Koopa
    Yoshi
    Cactus
    GotogotonLake
    PackunPoison
    FukuwaraiFacePartsKuribo
    Car
    Radicon
    PackunFire
    AnagramAlphabetCharacter
    GotogotonCity
    FukuwaraiFacePartsMario

  6. String
    Hint Photos
    Forest
    Lake
    City
    Snow
    Sea
    Other0
    Cap
    Moon
    Sand
    Sky
    Other7
    Other3
    Other6
    Other10
    Other5
    Other8
    Other4
    Other2
    Other9
    Other1
    Lava

  7. String
    Souvenirs to Collect for the Odyssey
    SouvenirSand2
    SouvenirSand1
    SouvenirHat1
    SouvenirHat2
    SouvenirFall1
    SouvenirFall2
    SouvenirLake2
    SouvenirLake1
    SouvenirForest1
    SouvenirForest2
    SouvenirCrash1
    SouvenirCrash2
    SouvenirCity2
    SouvenirCity1
    SouvenirSnow1
    SouvenirSnow2
    SouvenirSea2
    SouvenirSea1
    SouvenirLava1
    SouvenirLava2
    SouvenirSky1
    SouvenirSky2
    SouvenirMoon1
    SouvenirMoon2
    SouvenirPeach1
    SouvenirPeach2

  8. String
    Stickers to Collect for the Odyssey
    StickerSand
    StickerCap
    StickerWaterfall
    StickerLake
    StickerForest
    StickerClash
    StickerCity
    StickerSnow
    StickerSea
    StickerLava
    StickerSky
    StickerMoon
    StickerPeachDokan
    StickerPeachCoin
    StickerPeachBlock
    StickerPeachBlockQuestion
    StickerPeach

  9. True/False (bool)
    IsGet : True
    I think these are the Regional Coins, Purple Coins in a Kingdom, but untestet

  10. Collected Shines
    HintStatus : 0 (Hint used to find the Shine or not)
    IsGet : True (collected or not)

  11. JumpingRopeBestCount
    Int32
    Record for the Jumping Rope in New Donk City

    VolleyballBestCount
    Int32
    Record for the Volleyball minigame in Seaside Kingdom

    PlayerJumpCount
    Int32
    How often you Jumped

    PlayerThrowCapCount
    Int32
    How often you throwed cappy

    RaceLoseCountLv1 / RaceLoseCountLv2
    Int32
    Races lost on Beginner and Expert Races

    TotalCoinNum
    Int32
    Total amount of Coins collect through the Game

v0.3c
- Arrays save now properly (ItemCap, ItemCloth and so on)


v0.3a
- Hotfix (True/False statements work now)

v0.3
- Ui Changed (again)
- Added more Info
- Added Node Editor
- Doesn't need admin rights anymore writes to same dir as the app.
- More Credits

v0.2
- 95% Rewritten
- Ui Changes
- Added more Info
- Actually WORKS now

v0.1
Initial Release

- Converter Code taken from exelix11
- Syroot

- ItemCap and ItemCloth doesn't save (Arrays). Fixed
 

Attachments

  • SMOSE v0.3c.zip
    249.1 KB · Views: 3,466
Last edited by ladygugu,

GizmoTheGreen

Well-Known Member
Member
Joined
Oct 8, 2009
Messages
813
Trophies
1
XP
905
Country
sorry, didn't work. read 0 coins, I set it to 9999 and loaded the save, was still at 5060 or something that I had before. not sure what it changed if anything but at least it didn't noticeably screw up my save. I got a backup anyways.
 

Kyuuketsuki

Well-Known Member
Member
Joined
Jun 1, 2018
Messages
127
Trophies
0
Location
Seinan Eikoku
XP
153
Country
United Kingdom
Unfortunately, it didn't work...

I loaded Checkpoint and made two backups of my save, one to later restore and the other to test.

2018060516401800-DB1426D1DFD034027CECDE9C2DD914B8.jpg

With the saves now backed up on my mSD, I loaded SMOSE v0.1.exe and loaded my save, which I changed the value to 9999 because it's a good number to test.

mSD back in the Switch, with the edited save and restored with Checkpoint.

2018060517014800-DB1426D1DFD034027CECDE9C2DD914B8.jpg

Powered off and then back on (because I cannot play Mario Odyssey with CFW).

Coins are the same as when I last played.

2018060517044900-8AEDFF741E2D23FBED39474178692DAF.jpg
 

ladygugu

Well-Known Member
OP
Member
Joined
May 12, 2015
Messages
114
Trophies
0
XP
928
Country
France
sorry, didn't work. read 0 coins, I set it to 9999 and loaded the save, was still at 5060 or something that I had before. not sure what it changed if anything but at least it didn't noticeably screw up my save. I got a backup anyways.

Unfortunately, it didn't work...

I loaded Checkpoint and made two backups of my save, one to later restore and the other to test.


With the saves now backed up on my mSD, I loaded SMOSE v0.1.exe and loaded my save, which I changed the value to 9999 because it's a good number to test.

mSD back in the Switch, with the edited save and restored with Checkpoint.


Powered off and then back on (because I cannot play Mario Odyssey with CFW).

Coins are the same as when I last played.


- How big is your save File in bytes?
Mh don't know if the Region matters, only tested on PAL version

- Maybe send me your save files, I investigate

- Try saveing in another saveslot, load this slot save again, so its not the Running.... one and try this save.
File1 = Running
Save in File 2, Load File 2
From 2 Save File 1 and use File 1 with editor

IMG_4020.JPG
IMG_4021.JPG
IMG_4022.JPG
IMG_40231.jpg
 
Last edited by ladygugu,

Type_O_Dev

Developer
Developer
Joined
Dec 12, 2017
Messages
683
Trophies
0
XP
1,469
Country
United States
Backup your save file before using this editor!
Use at your own Risk! | Bugs may occur!

Vw3zzMY.png


- Knowledge on getting into HBL and Dumping and Injecting your Savegame
- BernardoGiordano’s save dumper Checkpoint
- Restart Console after restoring savegame


v0.1
Initial Release

Edit Coins
- Reads current amount of Coins
- Edit current Coin amount

- Based on DaBlackDeath (NSMB2 Save Editor)

Do you have source I would he interested in seeing how you handled checksum
 

Type_O_Dev

Developer
Developer
Joined
Dec 12, 2017
Messages
683
Trophies
0
XP
1,469
Country
United States
Not working

I can set value and when I reload the save it shows value set.
This leads me to believe the offset written to is not correct.
 

Kyuuketsuki

Well-Known Member
Member
Joined
Jun 1, 2018
Messages
127
Trophies
0
Location
Seinan Eikoku
XP
153
Country
United Kingdom

ladygugu

Well-Known Member
OP
Member
Joined
May 12, 2015
Messages
114
Trophies
0
XP
928
Country
France
Maybe (tomorrow) I release a new Version that now WORKS :D 95% rewritten and minor changes in UI. Im debugging and want to make this as fool proof as possible.

The only thing you must know to use the editor is to know your current Coins.
More features are Planned but no ETA. (Soon™️)


v0.2 Released
Happy Nintendo E3 2018 Press Conference :D
 
Last edited by ladygugu,

exelix11

Developer
Developer
Joined
Feb 25, 2015
Messages
915
Trophies
1
Location
C:\users\exelix11\
XP
3,062
Country
Italy
Backup your save file before using this editor!
Use at your own Risk! | Bugs may occur!
Start as Administrator!!! (It needs to write to a temporary directory)

osAI1jj.png

- Input Format: Ingame 12 Coins -> Value for CurrentCoinsBox = 12. If you input 0012 the operation will FAIL!! Same applies to Coins you want Box.

- Knowledge on getting into HBL and Dumping and Injecting your Savegame
- BernardoGiordano’s save dumper Checkpoint
- Get the new SDFILES
- Restart Console after restoring savegame not anymore with the new SDFILES
- Load your savegame, Input Current Coins and the amount you want, save your savefile.

- Input Format: Ingame 12 Coins -> Value for CurrentCoinsBox = 12. If you input 0012 the operation will FAIL!! Same applies to Coins you want Box.
- The Date from the Savegame may be corrupted, easy fix = Load it then save. It should update.


v0.2
- 95% Rewritten

- Ui Changes
- Added more Info
- Actually WORKS now

v0.1
Initial Release

Edit Coins
- Edit current Coin amount
- More to come no ETA. Soon™️

- Based on DaBlackDeath (NSMB2 Save Editor)
- Converter Code taken from exelix11
My tag sense was blinking so i got here.
Firstly, running a save editor as administrator sounds fishy so i decompiled it to see what is it doing under the hood, hope you don't mind it but i don't want anything with my name on it doing something harmful, anyway you should keep everything in memory and avoid writing to the disk.
Secondly, Are you sure that it works correctly ? I can't check on my switch but by taking a quick look at the savefile posted by Kyuuketsuki the first 4 bytes of File1.bin are the CRC32 hash of the rest of the file, i don't see any crc calculation in your code so either the game doesn't actually check the checksum or i skipped it in your code.
Also i see that you took the byml code from the 3d land level editor, i fear that it will corrupt the save when converting back to byml as the new node types are not implemented such as 0xD5 that is supposed to be 8 bytes long while the editor reads and will write just 4 bytes, it could work if you happen to keep everything in its place when reassembling the save but it might also mess up the save.
Check the byml code i just committed in the odyssey editor repo, that has the new types implemented for reading, now i don't have time to get saving working as well maybe after next week.
I should be studying for my finals, I swear with this i'm done with procrastination
 

ladygugu

Well-Known Member
OP
Member
Joined
May 12, 2015
Messages
114
Trophies
0
XP
928
Country
France
My tag sense was blinking so i got here.
Firstly, running a save editor as administrator sounds fishy so i decompiled it to see what is it doing under the hood, hope you don't mind it but i don't want anything with my name on it doing something harmful, anyway you should keep everything in memory and avoid writing to the disk.
Secondly, Are you sure that it works correctly ? I can't check on my switch but by taking a quick look at the savefile posted by Kyuuketsuki the first 4 bytes of File1.bin are the CRC32 hash of the rest of the file, i don't see any crc calculation in your code so either the game doesn't actually check the checksum or i skipped it in your code.
Also i see that you took the byml code from the 3d land level editor, i fear that it will corrupt the save when converting back to byml as the new node types are not implemented such as 0xD5 that is supposed to be 8 bytes long while the editor reads and will write just 4 bytes, it could work if you happen to keep everything in its place when reassembling the save but it might also mess up the save.
Check the byml code i just committed in the odyssey editor repo, that has the new types implemented for reading, now i don't have time to get saving working as well maybe after next week.
I should be studying for my finals, I swear with this i'm done with procrastination

The reason why it needs (or dont need) administrator rights is because it writes the files to the tmp directory. So C:\ without admin rights noting can be written. So you are correct maybe its better to store in Memory and dont write anything to disk.
For me it works, but I didnt test if it breaks other things, softlocking the game or deleting moons you got or some other random things.
The thing is the Code is really messy and i don't really know how to store all in Memory :D.
No Checksum checks where made (think the game ignores it?).
It strips the first 16bytes from the savefile, converts it edits the coind amount, converts it back and adds the first 16bytes and the missing bytes to get original file size back 0x20000C.

exelix11 I saw your commit and when you implemented saving I will look into this and replace the 3d land level editor code with the new one. And a rewrite is needed again. Becuase to messy code. No more wrting, all in memory
 
Last edited by ladygugu,

SomeGamer

Well-Known Member
Member
Joined
Dec 19, 2014
Messages
6,827
Trophies
1
XP
4,902
Country
Hungary
The reason why it needs (or dont need) administrator rights is because it writes the files to the tmp directory. So C:\ without admin rights noting can be written. So you are correct maybe its better to store in Memory and dont write anything to disk.
If you want to write to file do it in the same dir as the program. It's a safe bet that isn't going to need admin privileges.
 

exelix11

Developer
Developer
Joined
Feb 25, 2015
Messages
915
Trophies
1
Location
C:\users\exelix11\
XP
3,062
Country
Italy
If you want to write to file do it in the same dir as the program. It's a safe bet that isn't going to need admin privileges.
^ This or the temp folder that's supposed to be writable for anyone, iirc there is a function to get its path in .net

anyway the only things that seem affected by the long values are the timestamps for the "achievements" so no big deal, still it's worth fixing to keep the save as close as possible to the original, when I'm done with my exams I'll get back on working on the odyssey editor and finish the byml saving
 

ladygugu

Well-Known Member
OP
Member
Joined
May 12, 2015
Messages
114
Trophies
0
XP
928
Country
France
^ This or the temp folder that's supposed to be writable for anyone, iirc there is a function to get its path in .net

anyway the only things that seem affected by the long values are the timestamps for the "achievements" so no big deal, still it's worth fixing to keep the save as close as possible to the original, when I'm done with my exams I'll get back on working on the odyssey editor and finish the byml saving

I see you have added the saving methods.
Now I ran into a Problem. When I use your OdysseyEditor and Open a Byml it displays everything ok, then I right click and save as and it saves correctly. But when I Import a json file (Import from Json Beta) and then save as.. it errors. And its not proberly saved. Opening and saving works but saving from imported json does not. @exelix11

Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: ''System.Array' does not contain a definition for 'Count'' (ByamlFile.cs Line 603 and 641)
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: I'm back