Commit Graph

20393 Commits

Author SHA1 Message Date
CasualPokePlayer dc34b0b1a9 add in Wine/Proton detection, used to prevent D3D9 from being used if a user ends up using wine/proton (as often it seems D3D9 wine/proton just doesn't work and crashes in weird ways, sometimes *after* checking the renderer so it wouldn't fallback to OpenGL anyways)
Probably can add in some first time message box warning the user that wine/proton isnt supported, although we probably shouldn't block wine/proton (considering it's the only option for some distros with read-only filesystems, like the Steam Deck)
2023-07-31 23:02:30 -07:00
CasualPokePlayer 67e5505899 Rework OpenGL version support checking to be more robust, slightly rework OpenGL context creation request (they can now explicitly request the core profile) 2023-07-31 22:32:30 -07:00
CasualPokePlayer a2ea86fae0 add NET6_0 guard for GetValueOrDefault backports 2023-07-31 22:01:05 -07:00
CasualPokePlayer 811275cca8 Rewire memory domain pointers after reset in Citra
Add 3DS framerate in PlatformFrameRates
2023-07-31 21:22:57 -07:00
CasualPokePlayer 1ee2ef928c Prevent SDL from doing windows message pumping
Normally SDL doesn't do this as we don't ever call SDL_PumpEvents (or anything that calls that). However, OpenGL context creation code ends up calling WIN_PumpEvents regardless. This usually doesn't matter, however, in some cases, this can cause crashes, mainly with loading a state with Citra, as that ends up re-constructing its frame dumping OpenGL context (yeah that's dumb and useless but it's mostly harmless, outside of this message pumping). The WIN_PumpEvents calls appear to be unneeded anyways, so we can safely disable message pumping here.
2023-07-31 15:55:36 -07:00
CasualPokePlayer 7322e3b9d3 Fix minor graphical issues in Citra due to OpenGL state not being properly saved and restoring during presentation 2023-07-30 00:13:30 -07:00
James Groom 3ceb0fab8e
Hopefully fix GitLab CI being unable to build ExternalProjects 2023-07-30 14:52:12 +10:00
CasualPokePlayer 871036c81a fix bug which caused the temporary user folder to not be used during movies with Citra
also slightly adjust the linux build script so other compilers can be easily used, add comment explaining why libc++ is used
2023-07-29 19:57:34 -07:00
CasualPokePlayer a315b122c5 force OpenGL renderer in Citra for now
the software renderer doesn't seem to be functional and the code for blitting it is incomplete
2023-07-29 17:03:53 -07:00
CasualPokePlayer 33f1c5472a add missing Dispose() for Citra ctor failure case 2023-07-29 16:26:29 -07:00
CasualPokePlayer 0a72dc046f add in missing mnemonics for 3DS controls 2023-07-29 15:22:56 -07:00
CasualPokePlayer 3f8c0cc952 fix oops in 3DS default controls 2023-07-29 15:17:10 -07:00
CasualPokePlayer e62c972ca3 Check in citra dll/so, add in build scripts/linux glslangValidator for citra, some minor cleanup handling with citra input handling 2023-07-29 15:09:17 -07:00
CasualPokePlayer ff6834617f add default controls for 3DS 2023-07-29 00:13:57 -07:00
CasualPokePlayer f1e9f10454 Minor reworking of IGL OpenGL context creation
Try to regain compat with < OpenGL 3.0 users, better checks against OpenGL availability
2023-07-28 23:26:51 -07:00
CasualPokePlayer e7f4ad8220 fix exception popping up when Dispose()'ing DisplayManagerBase with OpenGL 2023-07-28 22:19:15 -07:00
CasualPokePlayer 12830bab4e Add in flag to IStatable to hint to the frontend that it should avoid rewind (not entire sure with the name, maybe SlowStates would have been better? trivial to mass-rename anyways)
Add in logic to not create the main rewinder if this flag is true, and add in logic to tastudio to avoid the main greenzone captures (instead only capture on branch save/load)
2023-07-28 22:07:31 -07:00
CasualPokePlayer 1ad3ed2216 minor cleanups in IGL_OpenGL 2023-07-28 15:38:43 -07:00
CasualPokePlayer 7a2f1532bf fix DS being shown upside down when ScreenControlNDS is used
fixes 78f5e75534
2023-07-28 14:54:02 -07:00
CasualPokePlayer f7448495b0 correct 3DS rom check in XmlGame
fixes 8c41b09108
2023-07-28 05:37:47 -07:00
CasualPokePlayer 8c41b09108 Add in 3DS rom extensions to rom filter
make it so CIAs past index 0 will be "installed" (mostly only relevant for movies, as the temp user folder is wiped each session in deterministic mode)
ensure XMLs won't load 3DS roms into memory (same reasoning as other hack, might be >=2GiB)
do some cleanup with this code
2023-07-28 05:33:56 -07:00
CasualPokePlayer 4ff157f652 add in Citra for global core config menu 2023-07-27 22:41:03 -07:00
CasualPokePlayer bd2c2ffc86 /s/_3DS/N3DS 2023-07-27 22:37:06 -07:00
CasualPokePlayer 5607845b24 Add in screen control filter for Citra port 2023-07-27 22:20:50 -07:00
James Groom 4217be1528
waterboxhost: Add missing import, tests now run 2023-07-28 04:42:45 +10:00
CasualPokePlayer ff57303821 Add in 3DS entry for SystemIDDisplayNames 2023-07-24 00:39:50 -07:00
CasualPokePlayer 89b387e50d add memory domains for Citra 2023-07-24 00:14:11 -07:00
CasualPokePlayer 67510f3b56 cleanup 3DS firmware handling
seems these methods aren't really supported in citra, so I guess have fun dealing with manually setting firmware files
2023-07-23 21:22:26 -07:00
CasualPokePlayer 18b81a2011 Fixup OpenGL version reporting; add debug print for 3DS firm installing message
fixes 8ae947fed7
2023-07-23 20:09:17 -07:00
CasualPokePlayer 41ee99999a Add 3DS firmware handling 2023-07-23 19:55:58 -07:00
CasualPokePlayer 739c35c174 fix #3692 2023-07-23 03:58:46 -07:00
CasualPokePlayer dd5cbc92af set WRAM as the main memory domain in SameBoy
see #3711
2023-07-23 03:44:09 -07:00
CasualPokePlayer 2d17290918 add in RetroAchievements support for Uzebox and TI83 2023-07-23 03:38:29 -07:00
CasualPokePlayer 01cc5ca476 fix a RetroAchievements PSX hashing edge case 2023-07-23 03:28:54 -07:00
CasualPokePlayer e87536ea8f commit C# parts for Citra port
not committing the dll yet until some more things are ready
2023-07-23 03:14:26 -07:00
CasualPokePlayer cdfb8d67e8 commit citra submodule 2023-07-23 02:46:37 -07:00
CasualPokePlayer bed66e2cd4 fix minor oopsies / dumbs with previous commit 2023-07-23 02:16:24 -07:00
CasualPokePlayer 8ae947fed7 prep work for easier OpenGL interop for cores 2023-07-23 01:54:36 -07:00
CasualPokePlayer 78f5e75534
Kill Bizware .NET Framework deps (#3702)
The main objective in this PR is to get rid of the main .NET Framework dependencies in Bizware packages. This PR doesn't do that completely per se, still having .NET Framework used for WinForms Controls, but that can easily be swapped over for whatever UI framework we use next as long as it exposes native window handles in some way.

For this PR, it does some reorganizing of Bizware, splitting Bizware.OpenTK3 and Bizware.DirectX into 3 packages based on usage; Bizware.Audio, Bizware.Graphics, and Bizware.Input. These packages in the future probably could have more functionality moved into them, but for now they are largely just a reshuffling of the Bizware.OpenTK3 and Bizware.DirectX packages.

As both SlimDX and OpenTK3 are .NET Framework, they have been removed in this PR. Their replacements are as follows:

SharpDX: DirectSound, Direct3D9
Vortice: XAudio2, DirectInput/XInput
Silk.NET: OpenAL, OpenGL
SDL2-CS / native SDL2: OpenGL context management, new gamepad backend (replacing OpenTK's role for gamepads)
native X11: New key input backend (replacing one of OpenTK's roles for keyboards)

GLControl has been replaced by custom made control which just uses SDL2 for context management.

The OpenTK input backend has been replaced with a combination of SDL2 and an OS tailored key input backend (DirectInput on Windows, X11 on Linux, and planned to be Quartz on macOS). This is just represented on the user side as "SDL2" without mentioning the key input backend. This does mean for a while DirectX will be mandatory on Windows again, until a RAWINPUT backend is written for handling key input on Windows for the SDL2 input backend.
2023-07-23 00:35:43 -07:00
James Groom 26b39fb56c
Update wbox readme
fixes 3701aef5a
2023-07-19 20:00:13 +10:00
James Groom ee18249953
Update SECURITY.md 2023-07-16 13:40:13 +10:00
zeromus fe47285394 trim cheat lines, since it's virtually impossible to copy text from a web browser without getting junk around it 2023-06-30 19:42:28 -04:00
James Groom 89fc9c940d
Fix typo
fixes c60e6d498
2023-06-25 01:40:32 +10:00
James Groom c60e6d498e
Copyedit readme 2023-06-25 01:39:38 +10:00
YoshiRulz 6b87e3ac91
Fix being unable to open SubGBHawk via system menu (fixes #3693) 2023-06-25 01:23:14 +10:00
SG d8ea4547d4
Add StringFormat to pixeltext DrawString parameters (squashed PR #3690)
* Add StringFormat to DrawString parameters

* Revert whitespace changes

* Code style nitpicks, cache `StringFormat`

---------

Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
2023-06-21 09:20:54 +10:00
YoshiRulz 4ee7e4cad7
Add deduper utility to RAM Watch 2023-06-13 23:43:53 +10:00
YoshiRulz 25ad59d895
Replace type check with enum (int) comparison in `Watch` 2023-06-13 23:43:53 +10:00
YoshiRulz ca8a183f38
Add `WatchList.InsertRange` and use when duplicating rows in RAM Watch 2023-06-13 23:43:53 +10:00
YoshiRulz 4d4887ee31
Fix `WatchList.Insert` not setting dirty flag
not sure if this was problematic in practice
2023-06-13 23:43:53 +10:00