/* Super Smash Bros. Ultimate for HTML5 Save Editor v2019 by Marc Robledo 2019 INFO: https://github.com/CapitanRetraso/Ultimate-Smasher */ SavegameEditor={ Name:'Super Smash Bros. Ultimate', Filename:'system_data.bin', Offsets:{ ITEMS_SHUFFLE_ALL:0x4831c0, ITEMS_ALL_PRIMARIES:0x4831c1, ITEMS_ALL_SUPPORTS:0x4831c2, ITEMS_FILLER:0x4831c3, ITEMS_REMATCH:0x4831c4, ITEMS_50_DAMAGE:0x4831c6, ITEMS_SLOW_FS_CHARGING:0x4831c7, ITEMS_WEAKEN_MINIONS:0x4831c8, ITEMS_HEALTH_DRAIN:0x4831c9, ITEMS_DISABLE_ITEMS:0x4831ca, ITEMS_SHIELD_SPACER:0x4831cb, ITEMS_SLUGGISH_SHIELD:0x4831cc, SNACK_S: 0x4831ce, SNACK_M: 0x4831d0, SNACK_L: 0x4831d2, SPIRIT_POINTS: 0x4831e4, TICKETS: 0x5506cc, GOLD: 0x5506dc, HAMMERS: 0x555e5c }, /* check if savegame is valid */ checkValidSavegame:function(){ return (tempFile.fileSize===5982968) }, /* preload function */ preload:function(){ setNumericRange('items-shuffle-all', 0, 99); setNumericRange('items-all-primaries', 0, 99); setNumericRange('items-all-supports', 0, 99); setNumericRange('items-filler', 0, 99); setNumericRange('items-rematch', 0, 99); setNumericRange('items-50-damage', 0, 99); setNumericRange('items-slow-fs-charging', 0, 99); setNumericRange('items-weaken-minions', 0, 99); setNumericRange('items-health-drain', 0, 99); setNumericRange('items-disable-items', 0, 99); setNumericRange('items-shield-spacer', 0, 99); setNumericRange('items-sluggish-shield', 0, 99); setNumericRange('snacks-s', 0, 999); setNumericRange('snacks-m', 0, 999); setNumericRange('snacks-l', 0, 999); setNumericRange('sp', 0, 999999); setNumericRange('tickets', 0, 99); setNumericRange('gold', 0, 999999); setNumericRange('hammers', 0, 9); }, /* load function */ load:function(){ tempFile.fileName='system_data.bin'; tempFile.littleEndian=true; setValue('items-shuffle-all', tempFile.readU8(this.Offsets.ITEMS_SHUFFLE_ALL)); setValue('items-all-primaries', tempFile.readU8(this.Offsets.ITEMS_ALL_PRIMARIES)); setValue('items-all-supports', tempFile.readU8(this.Offsets.ITEMS_ALL_SUPPORTS)); setValue('items-filler', tempFile.readU8(this.Offsets.ITEMS_FILLER)); setValue('items-rematch', tempFile.readU8(this.Offsets.ITEMS_REMATCH)); setValue('items-50-damage', tempFile.readU8(this.Offsets.ITEMS_50_DAMAGE)); setValue('items-slow-fs-charging', tempFile.readU8(this.Offsets.ITEMS_SLOW_FS_CHARGING)); setValue('items-weaken-minions', tempFile.readU8(this.Offsets.ITEMS_WEAKEN_MINIONS)); setValue('items-health-drain', tempFile.readU8(this.Offsets.ITEMS_HEALTH_DRAIN)); setValue('items-disable-items', tempFile.readU8(this.Offsets.ITEMS_DISABLE_ITEMS)); setValue('items-shield-spacer', tempFile.readU8(this.Offsets.ITEMS_SHIELD_SPACER)); setValue('items-sluggish-shield', tempFile.readU8(this.Offsets.ITEMS_SLUGGISH_SHIELD)); setValue('snacks-s', tempFile.readU16(this.Offsets.SNACK_S)); setValue('snacks-m', tempFile.readU16(this.Offsets.SNACK_M)); setValue('snacks-l', tempFile.readU16(this.Offsets.SNACK_L)); setValue('sp', tempFile.readU32(this.Offsets.SPIRIT_POINTS)); setValue('tickets', tempFile.readU8(this.Offsets.TICKETS)); setValue('gold', tempFile.readU32(this.Offsets.GOLD)); setValue('hammers', tempFile.readU8(this.Offsets.HAMMERS)); }, /* save function */ save:function(){ tempFile.writeU8(this.Offsets.HAMMERS, getValue('hammers')); } }