Commit Graph

334 Commits

Author SHA1 Message Date
Flyinghead 2b83df86cd boxart: don't save database when pausing (android, uwp)
Avoids ANR on android. Unnecessary since database is now saved
regularly.
2024-07-20 10:07:18 +02:00
Edward Li 70fe47dacf Pretty print for Xcode 15 console 2024-06-01 11:13:24 +02:00
Edward Li 2797cca5ff Always use BSD sed 2024-05-18 12:37:10 +02:00
Flyinghead b5f49d6c3a ios build fix 2024-05-13 16:27:31 +02:00
Flyinghead 6f0581032b save screenshot. add screenshot to savestates
Retrieve last frame rgb data (gl, vk, dx9, dx11).
Specific save screenshot code for android, iOS and UWP.
Add Save Screenshot emu key (F12 by default)
vk: defer deletion of in-flight textures when texture cache is cleared.
vk: fix issue when updating imgui textures after a render pass has begun
(achievements)
vk: palette texture not updated after a state has been loaded.
gl: Move opengl-specific stuff into opengl imgui driver.
savestate: Add non compressed header, following by screenshot png data,
before actual savestate.

Issue #842
2024-05-13 15:47:34 +02:00
Flyinghead 13302b87c8 move ui to its own folder 2024-05-07 22:23:51 +02:00
Flyinghead 300cf0d437 better RetroAchievements UI and threading
Pop ups for authentication, game load, game completed, achievements
unlock and progress.
Handle disk changes.
Issue #761
2024-05-01 18:32:39 +02:00
Flyinghead c96e828c63 move http_client to oslib 2024-04-29 16:17:50 +02:00
Flyinghead 8fdd1dde3d RetroAchievements support
MVP
Issue #761
2024-04-29 14:59:47 +02:00
Flyinghead 336706e728 move most os_* funcs to oslib
add os_DestroyWindow and os_UpdateInputState
2024-04-12 17:37:45 +02:00
Flyinghead 06a6e26588 get rid of os_GetSeconds()
replace it with std::chrono-based getTimeMs()
2024-04-11 15:25:25 +02:00
Flyinghead 9e916ca1c9 minor input and lua fixes
Make macOS keyboard class with haptic code
Call SDL_JoystickSetPlayerIndex using maple port
Add Network event for LUA
Set proper controller unique id on iOS
rumblePower wasn't copied over new mappings.
2024-04-10 17:24:47 +02:00
Flyinghead 42e98e86d0 set thread names
Name all threads to help debugging and improve crash reports (windows
only)
Add ^C handler for clean exit on linux
2024-04-10 17:08:24 +02:00
Flyinghead b55054249f ui: file dropping can start multiple games at once
Happens on macOS, linux and likely others.
Fixes MINIDUMP-2N4
2024-03-07 15:01:28 +01:00
vkedwardli 790f5b1ad2
Video Routing Revamp (#1323)
* Update Spout2 dep
* Remove all `initVideoRouting` call from `GraphicContext`
* Fix MinGW build error
2023-12-21 14:19:57 +01:00
Flyinghead 926877397c Merge remote-tracking branch 'origin/master' into dev 2023-11-07 16:32:12 +01:00
vkedwardli b92277ac58
macOS: Register file extensions for `openFile` (Drag ROM to App Icon), update `setupWorkingDirectory`, rename `SDLMain` to `SDLApplicationDelegate` to avoid confusion with the function `SDL_main()` (#1287)
Register file extensions for openFile, and supports the following actions
    Drag ROM to Application icon to launch the app
    Drag ROM to the running app's dock icon
    Drag ROM to the running app's window (applicable to all SDL platform by SDL_DROPFILE)
Update setupWorkingDirectory
    macOS default cwd is a nonsense "/" for non-terminal application
Rename SDLMain to SDLApplicationDelegate to avoid confusion with the function SDL_main()
some code cleanup
2023-11-07 16:29:08 +01:00
Edward Li 51508dcdc6 macOS: Indicate slave machines by dock badge label 2023-11-05 18:39:37 +01:00
Flyinghead 7b71bd319c Android and iOS support. Change dead zone to integer % value in UI
UI: dead zone changes from 0 to 100%. Add % for Rumble too.
Support Android and iOS gamepads.
Assume legacy gamepads have an analog stick (evdev, xinput)
2023-10-30 18:28:29 +01:00
Flyinghead 8eae6b97fc ui: keyboard input was ignored when resuming game if no render
When resuming a game, keyboard is ignored until the next frame is
rendered. This is due to ImGUI not updating its WantCaptureKeyboard flag
until the next frame, which is an issue if the game isn't actively
rendering frames (Zombie Revenge pause screen, Giant Killers)
2023-09-02 20:00:07 +02:00
scribam 10b13dfe9c deps: update to match Vulkan SDK 1.3.261.0 2023-08-24 17:33:47 +02:00
Edward Li 278f26aadd macOS: Enable clipboard functions and corresponding menu items 2023-07-06 18:42:31 +02:00
vkedwardli 7cd308fcae
Realtime Video Routing (#1126)
* Syphon video routing with OpenGL and Vulkan (MacOS)
* Spout video routing with DX11 and OpenGL (Windows)
* Fix Xcode detection
2023-06-26 11:56:56 +02:00
Edward Li 3330f01267 Different config folder for multiple instances 2023-06-02 14:25:20 +02:00
Flyinghead ea9bdd03e4 Merge remote-tracking branch 'origin/master' into dev 2023-05-24 10:44:14 +02:00
Edward Li 76af42ae6e Latest Vulkan SDK has a new volume name `VulkanSDK` 2023-05-23 10:21:40 +02:00
Flyinghead 08ac485eac ui: fix drag scrolling and imgui gl renderer. use imgui events
Missing call to KeepAliveID was preventing drag scrolling in empty
areas. Also check for HoveredIdDisabled to allow scrolling by dragging
disabled items and enable HoveredIdAllowOverlap.
imgui gl renderer: use ImDrawCmd::IdxOffset instead of counting
manually. Use correct alpha blending function.
Use imgui events for all input. Simplify keyboard input by getting rid
of modifiers.
Enable flat navigation in content window.
Add format string to OptionSlider.
2023-03-30 16:54:54 +02:00
Flyinghead c033a81eca get rid of KeyboardDeviceTemplate 2023-03-29 16:48:46 +02:00
Flyinghead 30501aebb1 Race condition when stopping while emu is failing
Emulator::stop now throws if an error occurred on the emu thread.
Fixes MINIDUMP-5B
2023-02-26 22:01:32 +01:00
Flyinghead a156edbd73 Merge remote-tracking branch 'origin/master' into dev 2023-02-19 14:10:37 +01:00
Flyinghead a23362cee0 ios: fix virtual gamepad X button in arcade mode
Issue #911
2023-02-08 12:11:41 +01:00
Flyinghead 99d5266aa0 Merge remote-tracking branch 'origin/master' into dev
# Conflicts:
#	core/hw/holly/sb_mem.cpp
#	core/hw/naomi/naomi.cpp
#	core/hw/naomi/naomi_flashrom.cpp
#	core/hw/pvr/ta_ctx.h
#	core/rend/gui.cpp
2023-01-27 15:41:45 +01:00
scribam 80cf4406a7 cleanup include headers 2023-01-26 10:06:51 +01:00
Flyinghead 7e4572a86a naomi: f355 multiboard support WIP 2023-01-11 22:31:36 +01:00
Flyinghead 2a465d2f03 ios: check if jit is enabled. attempt to enable it by debugging self
JIT detection and enabling taken from ppsspp
Re-check JIT and restart AltServer discovery every 10 secs until JIT is
enabled.
Attempt to enable JIT by forking a process to debug the parent process.
(jailbroken devices)
2022-12-30 16:22:38 +01:00
Flyinghead 95a00a165a sentry: upload crashes after reading emu.cfg to comply with user choice
android: get rid of Send Logs button
2022-12-23 10:06:24 +01:00
Flyinghead f3a6fb7d8b sentry.io integration 2022-12-20 21:52:46 +01:00
Flyinghead d417237e64 Merge remote-tracking branch 'origin/master' into dev
# Conflicts:
#	core/emulator.cpp
2022-12-06 21:47:50 +01:00
Flyinghead a0529d1cfc drop support for legacy .reicast config dir (linux, macOS) 2022-12-06 18:09:43 +01:00
Edward Li 1995eb935b Build OpenMP.xcframework 2022-11-19 12:52:58 +01:00
scribam f6532ca27a fix some warnings 2022-11-19 12:52:26 +01:00
Edward Li 092006fbbe Mark Flycast as a game for Launchpad 2022-10-15 21:33:22 +02:00
scribam 582876b99e libomp.rb: update and set min macosx version to 10.9 2022-10-08 18:34:00 +02:00
Flyinghead 1858cf3b33 Merge remote-tracking branch 'origin/master' into dev 2022-09-24 19:28:38 +02:00
Edward Li da0d012328 Handle Dock menu's Quit action 2022-09-16 16:03:25 +02:00
Flyinghead e0d87eb093 Merge remote-tracking branch 'origin/master' into dev
# Conflicts:
#	core/rend/gui.cpp
2022-08-22 13:09:56 +02:00
Edward Li 9b751fced8 NSLog with UTF-8, better color handling 2022-07-22 18:12:43 +02:00
vkedwardli 852df89f93
[macOS] Handle Quit menu item properly (#684)
* [macOS] Handle Quit menu item properly

* cleanup
2022-07-05 14:37:28 +02:00
vkedwardli b5eb8694f6
macOS Breakpad (#683)
* Breakpad.framework and dump_syms

* Use ExceptionHandler manually instead of using public methods from the framework

* Change macOS buildType to RelWithDebInfo and enable building Breakpad framework

* Enable symbol upload on GitHub runner

* Compile Breakpad directly instead of embedding the Breakpad.framework

* Print minidump location also

* Ignore `EXC_MASK_BAD_ACCESS` again
2022-07-05 14:36:21 +02:00
Flyinghead 19112aecb2 Merge remote-tracking branch 'origin/master' into dev
# Conflicts:
#	core/hw/naomi/naomi_cart.cpp
2022-07-01 12:42:37 +02:00