The build process for sf4e really, really sucks now that I'm on Linux, but it does at least function enough to continue working- bonus and combo notices are saved and loaded, although the semantics of the data is likely incorrect.
The build process for sf4e really, really sucks now that I'm on Linux, but it does at least function enough to continue working- bonus and combo notices are saved and loaded, although the semantics of the data is likely incorrect.
If the length of this commit message is any indication, I have been cooking on this for a _long_ time. https://gitlab.com/adanducci/sf4e/-/commit/f032aebddecc98b24b35b1ff5198fcd9f1ea522d
Fixes #4. SF4 natively attempts to play sounds directly inside the simulation. Since that includes simulation steps executed during post-rollback resimulation, rollbacks can result in heavily duplicated sounds. To compound...
Finally got sound somewhat cooking. It's hard to test myself as I can only hear one game at a time, but sound was one of the last big things left on my to-do list.
I want sf4e to have automated testing, and I think the session code is definitely complicated enough to have unit tests running in CI, but most of the bugs I've run into with it have been due to integrating the session code with the SF4 engine itself, so... hmm. What bugs am I even going to be able to catch in CI?
I think I finally had some inspiration when it comes to dealing with sounds in SF4.
SF4 doesn't play sounds after the update- it effectively plays a sound the moment one is requested. This makes reconciliation and resim way harder than a deferred approach. I _think_ it's possible to hack in a deferred approach, but it's definitely a delicate operation, and if I get it wrong sf4e will leak memory on every sound trigger.
It says a lot about the FGC that a bunch of people started @-notifying TOs to run software that they:
* Haven't tested themselves
* Haven't consulted any documentation
* Haven't consulted the open issue list
* Don't know the author
* Don't know how it works
And of course all of that happening on Twitter, so... you know... I'm unwilling to compromise to participate in the conversation.
I'm a little torn. On one hand, I think opening a realtime channel for sf4e feedback might allow me to centralize reports from trusted sources in a meaningful way. On the other, I really want this to be a solo project so that I don't have to manage a community, and I don't think sf4e is in a state where fielding reports from arbitrary sources is viable.
Should I open a chat channel for sf4e?
_FINALLY_ got CI cooking. It's not the way I want it to build- I'd rather distribute MSIs so that no one tries to run this out of the zip and wonders why it doesn't work- but at least I can distribute authoritative builds without my own host's filenames showing up.