Skip to content

QMamehook v1.3 - Moz

Compare
Choose a tag to compare
@SeongGino SeongGino released this 29 Feb 01:36
· 70 commits to main since this release
2b5236d

The Flycast update

For whatever reason, Flycast does not adhere to the established syntax standards set by MAME at all, so this release resolves some of the problems caused by connecting to this particular instantiation.

  • Code touchup, using two distinct search paths for when a game isn't and is loaded (possible search speed improvement(?) when in-game, since it won't be singling out for start commands while already started)
    • Also technically fixes crashes when attempting to write to a settings file that hasn't been instanced yet from getting non-gamestart outputs before a gamestart has been declared.
  • Added check for Flycast's super-duper-special game start indicator alongside mame_start.
  • Fixes crashes when attempting to load a new game while one is already loaded.
  • Fixes segfaults when disconnecting a session that hasn't loaded a game yet.
    • Technically this one isn't Flycast's complete fault, but using a bad search condition of checking for a settings object that may not always exist--it's just that MAME never allowed this circumstance to happen.

There is technically a known issue in that a new game start discriminator can't be detected as such while in-game, but this is something that only happens in Flycast--and is really a bug on their side, not ours, for not following the MAME network output spec properly, for there is no other way of detecting that a session has ended without being explicitly notified (or at least cut the connection). Besides that, most arcade players using this are probably using some kind of launcher anyways, which means they are closing and re-opening Flycast between game launches anyways so the client will be disconnected regardless, filling in that gap.

Still, mrgrgrr...