tom-seddon / ghouls-revenge

Ghouls: Revenge
3 stars 1 forks source link

Ghouls Party score merger #127

Open tom-seddon opened 2 weeks ago

tom-seddon commented 2 weeks ago

The scores are recorded entirely by level index, meaning each file is specific to the level set ROM that was used. You can't mix and match score files between builds.

To work around this, the score files contain 6 bytes from the SHA256 of the meaningful parts of the level data (https://github.com/tom-seddon/ghouls-revenge/blob/dbda2ed3ebae979ad4abbdcef454ff5debb37a5f/bin/make_party_stuff.py#L86). The idea is that this could be used to merge score files from different events.

Syntax would be something like: gparty_merge SCORE-FILE INPUT0 INPUT1..., where SCORE-FILE is the file to update and INPUT0...INPUTn the files to pull new scores from. Xref hashes, check best times, merge as appropriate, save SCORE-FILE. Doesn't matter if the level sets don't all match, or they're in a different order - the hashes will sort it out.

tom-seddon commented 2 weeks ago

Should probably output a manifest file with each build, mapping hash to level set/level name and so on, so the merger tool can use it to print some useful info.