News:

Don't forget to visit the main site! There's lots of helpful docs, patches, and more!

Main Menu

Demo recorder (SMV -> demo)

Started by P.JBoy, October 26, 2017, 07:55:21 PM

Previous topic - Next topic

P.JBoy



I whipped up a Python script (link is the image) to take a ROM and an SMV and produce an IPS patch that uses the data from the SMV to replace one of the demos. You'll be asked (in the command window you launched this script from) which demo to replace given the size of the demo generated from the SMV and all of the ones currently in the ROM.

Usage is:
python demo_recorder.py <ROM filepath> <SMV filepath>

Possibly with python replaced by python3 or some such, depending on your environment

Which will produce an IPS patch in the ROM directory with the same filename as the ROM (with the IPS extension), this is useful because you'll want to immediately test the changes to see if the demo syncs up with the SMV in the way that you'd expected. I presume your emulator of choice supports soft-patching, and this way won't modify the ROM, meaning you won't have to manage backups each time you try this script out.

I've tried this out with a few different test SMVs, and it's working reasonably well, but don't expect anything frame perfect to work. Tested on snes9x 1.43 and snes9x 1.51.

Any bugs or improvements, feel free to let me know; better yet, fix the code and post it here, it's Python after all!

Clearly a feature to point the demo to freespace would be useful, I'll think about it...

thedopefish

This sounds really cool.  I wonder if we'll see it used for easter eggs in any hacks.

Quietus

That's pretty cool, P.J. I know it's often been something people have wanted to be able to do, but it was more fiddle that most had the patience for. :^_^:

RealRed

Oh... I'm going to be using this at some point in my life.

Good fucking work PJ! It's good to know heavy hitters like you are still in the game.

Drewseph

This sounds amazing! and I am also very sad I gutted the demo codes for redesign =P  I hope someone will make use of this!