Commit Graph

20 Commits

Author SHA1 Message Date
CasualPokePlayer 0d3c7b7e0c [Libretro] Implement SET_SYSTEM_AV_INFO and SET_GEOMETRY 2022-07-06 14:52:28 -07:00
Morilli 9bb3595a77 fix logging crashes for LibretroBridge on linux
using va_start just once but iterating twice is undefined behavior and worked fine on windows while hard-crashing on linux
2022-05-29 05:52:54 +02:00
CasualPokePlayer 78ed3ca1d3 don't set a log interface for linux libretro, seems like va args don't work here and can crash? 2022-05-27 14:17:08 -07:00
CasualPokePlayer b72590066f [Libretro] fix some input issues due to more recent api changes 2022-05-05 02:46:13 -07:00
CasualPokePlayer 25fb816988
Libretro rewrite (#3212)
* redo all the libretro stuff in pure C#

also yes i imported snprintf lol

* also remove these

* remove clib hack, it doesn't work when there's more than 1 param (apparently ... is really just a variable num of args passed on the stack and not some pointer to some struct, and c# doesn't have any way of representing this. fallback log isn't bad to deal with anyways)

* also probably want this to return false

* /s/UnmanagedString/PinnedString/

* misc tweaks

* oops

* Libretro "Bridge", with entirely different design. The bridge here simply handles all the callbacks retro cores use, so there is never a c++ -> .NET callback, and probably avoids any libco issues
also a lot of cleanup in various areas, and some bug fixes too (Blit555 now outputs the correct colors)

* use blipbuffer instead of speex

speex seems to perform much worse often (and outright buggy for some libretro cores like sameboy which reports a sample rate of 384000), and blip works well enough even for "newer" systems

* cleanup and linux build

* cleanup and bugfixes (thanks uninitalized variables)

* oops

* misc and cleanup

* fix load no game, also handle load game failures correctly
2022-05-05 01:49:29 -07:00
Moritz Bender 158451a68e
Add linux version of LibretroBridge (#2895)
* Add linux version of LibretroBridge

* correct make variables or whatever

* Revert Hawk-side changes (to avoid merge conflict with master)

Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
2021-09-18 11:08:26 +03:00
zeromus d61250a2b1 reorg libretrobridge 2020-05-31 17:07:32 -05:00
zeromus 4ed14cf349 rename libretrobridge to 2019 2020-05-31 16:41:12 -05:00
zeromus 4658c3e61e update libretrobridge to vs2019 2020-05-31 16:37:39 -05:00
zeromus dee906ecb6 libretrobridge: fix warnings and rebuild dll 2017-06-13 16:25:15 -05:00
adelikat 97d7dd7f42 merging master into waterbox2 this one was messy may be regressions 2017-06-13 08:16:25 -05:00
zeromus 64e9a70d26 teach libretrobridge stuff how to check for changed serialize size 2017-06-12 03:14:21 -05:00
zeromus 0246c540bb fix libretrobridge to be 64bit only (and fix it for 64bit) 2017-06-12 02:31:47 -05:00
zeromus fc7a2859cb de-upx libretrobridge, maybe its causing problems 2017-05-04 19:23:48 -05:00
zeromus ac4f0e97d8 libretro: slam out the audio based on the old libretro interface. didnt think about it much. 2017-05-01 04:33:09 -05:00
zeromus 112e6ca1f2 libretro: fix some scrambled framebuffers 2017-05-01 04:16:31 -05:00
zeromus 9249593f26 change libretro LoadNoGame to be more compliant 2017-04-26 15:19:36 -05:00
zeromus 9bea9875a8 libretro - fix saveram 2017-04-18 03:17:11 -05:00
zeromus 5731b24c7c forgot to add LibretroBridge dll and tidy the vcxproj 2017-04-17 22:54:55 -05:00
zeromus ca90853a88 add LibretroBridge, c++ bits which facilitate c# interop through the hazards of libco (more refined counterpart of what was tested for libsneshawk) 2017-04-17 22:48:16 -05:00