SonicSpeedrunning / SEGAMasterSplitter

LiveSplit autosplitter designed to handle multiple 8 and 16 bit SEGA games running on various emulators
4 stars 4 forks source link

BizHawk support #32

Open beninswe opened 4 years ago

beninswe commented 4 years ago

BizHawk is supported by a number of games, and its TAS abilities make for good tests of the autosplitter.

As BizHawk uses the CLR runtime, this likely needs some better planning, as previous attempts were clunky.

amseager commented 2 years ago

@beninswe Is it possible to add the support of libretro cores for BizHawk at least?

I suppose almost all the code for Retroarch could be reused in this case.

A slight difference is with the DLL name which is like biz-4824-genesis_plus_gx_libretro-e0c67cd1-6d59-4eec-a140-403e1d53eff0.dll, and changes every time (so you probably need to use String.Contains or sth like that for ModuleName instead of == to find the core name).

beninswe commented 2 years ago

@amseager Do you mean "Open Advanced" with selecting a libretro core? If so, I did try this previously, I think it worked, but there were many limitations to using the libretro core over the built in GPGX so didn't pursue it, and it was unlikely that people would use the external core over the built in one.

amseager commented 2 years ago

@beninswe Yes, I meant the "Open Advanced" menu. It'd be reasonable if it could be done fast & easily (I think it is).

Too bad that there are problems with the built-in core because BizHawk is one of the popular emulators nowadays (maybe even the most popular one).

Jujstme commented 1 year ago

@amseager BizHawk is now supported for SMS, Genesis and PS1 on the current version of emu-help.

amseager commented 1 year ago

@Jujstme great news! @beninswe do you plan to use it in the current project?

beninswe commented 1 year ago

@Jujstme great news! @beninswe do you plan to use it in the current project?

@amseager emu-help basically obsoletes this project, as it means autosplitters can be done per game but with the advantage of being cross-emu compatible just by including the library rather than having a single monolithic autosplitter covering lots of games.

I may look in future at replacing the emu code with emu-help to retain compatibility for the games already implemented here, and so it can rely on emu-help for emu compatibility updates. Jujstme has been cherry-picking some games and separating them off from here as well.

Jujstme commented 1 year ago

To be fair, i have not separated any of the games included in this project, with the exception of Sonic 3 AIR (and maybe sonic SMS, but i don't remember if it's supported by this project to begin with). I did make a couple of tests with games picked from the Sega master splitter, although i didn't publish anything, mostly because this autosplitter is already fine for those games. Emu-help, notably, still lacks support for older Nintendo systems, though i ideally want to add support for those soon.