UnclePunch / Training-Mode

A modpack for Super Smash Bros, Melee for practicing tech.
307 stars 66 forks source link

Allow savestates to "work" regardless of character? #32

Open ghost opened 1 year ago

ghost commented 1 year ago

I was wondering if it was possible to make savestate allow the user to select whatever HMN character they want to actually play it, but keep the CPU character the same?

One option is to detect when savestates have no HMN recordings at all, and only allow them to be used regardless of character.

Or, and there may be a lot of issues with this, but if there are HMN recordings, just disable them. No two characters will have compatible recordings that transfer 1:1 with each other anyways, there's no point in trying to make it work.

This would be incredibly beneficial as most of savestates (that I use at least) don't have the HMN character do much programmed stuff anyways, but are very useful savestates as a whole, but the friction of reprogramming a savestate for a whole new character prevents many people from using them at all.

For reference as to why I bring this up, the other day I found a savestate for a sheik recovery mixup savestate (how to edgegaurd Sheiks with different recovery mixups), but it was programmed for Fox instead of Mario. The Fox wasn't programmed to do anything but stand by ledge and wait/react to what Sheik does, and unfortunately I couldn't really use it, and had to program one for myself. If this feature was added, one could just choose any character and use the savestate to it's full roster potential.

I understand if this may be hardier done than said, but I think it would be great if it could be considered regardless if it is feasible.

georgeRSQ commented 1 year ago

It will almost certainly not work, as I am pretty beginner-level in C and not competent in ASM... but given that development seems to abandoned anyway I will try to make this work in a fork and let you know on the off chance it works.