Closed zZeck closed 1 year ago
Sure, if you want to make a PR for it, that'd be great. If you want, I can add a stub module on the develop branch, or you can just base it off the task_template.py.
I unfortunately don't have the Smash Pack titles, so I won't be able to test it myself.
@zZeck Does your code also cover Sega Puzzle Pack? https://en.wikipedia.org/wiki/Sega_Smash_Pack
I didn't realize that existed. I suspect the only difference will be the encoding string. The other two both use encoding strings related to the pack name. I ordered it cheap on ebay. We'll see.
Do you have any interest in the encoding code? It's rather interesting to see how old emulators work with titles sometimes. I fired up ristar in the smash pack II emulator and it crashed spectacularly.
It's also useful for testing the decoder, to also write an encoder, so you can roundtrip stuff and see if it comes out the same. Haven't looked if you have tests. Just a thought.
I could include checksums of the input files, and expected checksums of the decoded files so people with them can verify. Also could include some random data to use as a test for people who don't.
Hmm.... - the encoding doesn't fit nicely in the CLI as it is right now.
If you want to add that code in there (uncalled), that would be OK for now. Prepping a game for a specific emulator is a more niche type of task, but let me think about how I'd make that work with existing syntax.
Puzzle pack arrived today. Decoder works for it as well. Only difference is the encoding string.
Still working on this.
I will match the naming stuff from the steam genesis task. There is one ROM that I believe is different, which is the strange beta Super Shinobi in Smash Pack 1. Are the names you used following a convention from somewhere?
Not really. I probably should figure out non-MAME naming conventions at some point, but all address that later.
I am thinking I should be adding 4 tasks and some kind of helper file with the decode logic. The kvq rom files are located in these directories by default. Task names would be drmbm, columnsiii, ssp, sspii. (I do not know why the puzzle pack has separate programs and installers for the two games, but that's how they did it)
C:\Sega\Dr. Robotnik's Mean Bean Machine\MyGames C:\Sega\Columns III\MyGames C:\Sega\Sega Smash Pack\MyGames C:\Sega\Sega Smash Pack II\MyGames
That sounds good to me. I've been doing some restructuring (see the develop branch), and moving a lot of the data to a separate metadata.json.
For the naming, might I recommend spp_drmbm and spp_columnsiii?
For the helper class, might I recommend src/lib/archive/kqa.py ?
Smash Pack I & II and Puzzle Pack now supported!
I figured out the format awhile ago Do you want a PR for it? I also wrote code to encode roms FOR the collection just to see the limitations of the old emulator.