logicomacorp / WaveSabre

Official WaveSabre repository
MIT License
245 stars 33 forks source link

Update converter test refs #63

Closed yupferris closed 3 years ago

yupferris commented 3 years ago

It seems these are super out of date. I recall doing some automation optimizations (specifically 86e5ccfb149bbc3c94a557391b2b003498521048, and perhaps others), and it looks like these weren't updated after that, since all of the errors (that I looked at; I stopped after 4-5 projects) appear to be automation-related:

Arps9.als: MISMATCH
Converted song does not match stored ref.
Diff (test, ref):
    Track 12: [ [BASS] ]
        Track Name: [BASS],
        Automation 1:
            Point counts don't match: 7, 12
    Track 19: [ Less Sex But Still Sex Arp ]
        Track Name: Less Sex But Still Sex Arp,
        Automation 1:
            Point counts don't match: 5, 6

We should also do a quick pass to make sure we're not missing anything in the diff data structures.

yupferris commented 3 years ago

Looking more into this, it seems a lot of fields are missing from the diff structures; basically all fields that are auto-populated by "post"-transforms on the Song structure. I started adding missing fields manually, but I think this is really error-prone and likely to go out of sync again. Luckily, the structure is very regular, so I think we can basically replace the entire thing with something reflection-based that always covers all public fields on the Song structure (and its descendants) and "never" have to worry about this stuff again.