Commit Graph

313 Commits

Author SHA1 Message Date
Flyinghead c03cf8eb45 rend: multi-render, delay swap, refactor main ui loop
move ui loop out of hw/pvr
vk: implement multi-rendering, delay swap. Load fb before render pass
fps counter now counts frames, not renders
vk: force ignoreTexAlpha for 565 texture in case the supporting texture
has an alpha channel (RTT). Fixes Alone in the Dark cinematic scenes.
pvr: better detection of frame swapping (FB_R_SOF/FB_W_SOF)
pvr: synchronous rendering now always waits for render in progress
(speed measurement not reliable, render skipped when multi-rendering)
vk: limit swap chain size to 2
2020-12-15 15:09:42 +01:00
Flyinghead d960f8e9f5 lightgun: handle screen stretching, rotation and tall aspect ratio
Issue #139

move jvs stuff into maple_jvs.cpp
2020-12-09 13:48:58 +01:00
Flyinghead 14393ea6b1 improved microphone emulation. support for linux and windows 2020-12-05 18:47:09 +01:00
Flyinghead adeacd89f4 input: implement reload. remap some naomi games input
implement lightgun reload (dc, naomi)
kcode[] set to 32 bits
revamped mapping for naomi keys
remapped btns for some naomi games
display game button/axes names in UI
2020-12-02 14:40:50 +01:00
Flyinghead 8f77a5482a config/data folders improvements
linux: look for legacy ~/.reicast and ~/.reicast/data
else look for ~/.config/flycast and ~/.local/share/flycast
and ~/.config/reicast and ~/.local/share/reicast
(defaults to flycast)

look for bios files in home folder and data folders (android, windows
,macos), then in game folder.
on linux, search in /usr/share/flycast and /usr/local/share/flycast and
legacy locations
2020-11-26 16:45:57 +01:00
Flyinghead 2a5b303b70 delete nixprof 2020-11-22 17:37:27 +01:00
Flyinghead 30b8c0d4d4 macos compile fix 2020-11-20 22:15:01 +01:00
Flyinghead 3e3fa08430 input: use btn/axes names in ui. fix mouse btn mapping
Use button and axis names in mapping UI
Mouse button remapping was impossible
x11: use same config names for window size as sdl/win
2020-11-20 22:10:14 +01:00
Edward Li 2bb5a5de9b Enable `-ffast-math` flag in macOS build also to align with all platforms 2020-11-04 00:38:29 +08:00
Edward Li 5f76370121 [Xcode] Ignore EXC_BAD_ACCESS in debug mode. Bypass SIGBUS signal in lldb using Breakpoint Action 2020-08-10 02:02:07 +08:00
Flyinghead 42cb880538 macos: add null audio driver 2020-06-29 21:31:37 +02:00
Flyinghead 5de78a4687 osx: avoid hang when quitting emu during gameplay 2020-05-23 13:03:59 +02:00
Edward Li e1bd8a4ea7 [macOS] Enable "New Instance" in File and Dock menu 2020-04-26 12:23:54 +08:00
scribam 0b9ecd35c6 Remove Visual Studio solution/project files 2020-04-23 14:10:49 +02:00
Flyinghead adfe30cf4c osx: allow exit with button. clean exit
terminate network in dc_term to avoid static init order issues
osx: call dc_term before exit
osx: exit app when exit button is pressed (dc_exit)
osx: ignore -NSDoc... app args
2020-04-23 11:46:34 +02:00
Flyinghead 17a2c3644f ui: add loading screen with cancel button. don't freeze ui on load 2020-04-20 18:52:02 +02:00
Flyinghead 06313dd540 naomi: auto configure eeprom and bbsram for network 2020-04-19 21:45:15 +02:00
scribam cb8308387a deps: Update zlib to version 1.2.11 2020-04-14 20:47:54 +02:00
Flyinghead a41a81f5dd naomi: network code for model 3 comm board 2020-04-14 17:43:11 +02:00
Flyinghead 786c8e7744 get rid of libpng and use stb_image_write instead. OSX: static link SDL 2020-04-08 15:34:21 +02:00
Flyinghead cc2ddad53b custom textures: support JPEG format 2020-04-07 14:32:09 +02:00
scribam 3198cf65d9 Remove old "types.h" for x86_emitter 2020-03-30 23:00:43 +02:00
scribam e99aac3575 Remove "using namespace std;" 2020-03-30 23:00:43 +02:00
scribam c1b37b56bc Remove "sh4_if.h" and "stdclass.h" from "types.h" 2020-03-30 23:00:43 +02:00
scribam 4bf6802855 Cleanup include headers 2020-03-29 14:26:21 +02:00
scribam 427b428718 deps: Update xxHash to version 0.7.3 2020-03-29 13:47:20 +02:00
scribam fef96c125a deps: Update xbyak to version 5.891 2020-03-29 13:47:20 +02:00
scribam 472053df42 deps: Update glm to version 0.9.9.7 2020-03-29 13:28:05 +02:00
scribam 0035871422 Replace RELEASE by NDEBUG 2020-03-29 10:12:32 +02:00
Flyinghead 8ada1d5320 pvr: defer index building and strip merging, filter out infinite verts
don't reset tileclip_val on each frame (Irides - master of blocks)
spg clean up
2020-03-27 13:03:49 +01:00
Flyinghead 5a1b7374e5 change icons. display error message when game fails to load. 2020-03-21 15:05:38 +01:00
Flyinghead 0c2e95185c support for right analog stick. Fix gunsur2 inputs 2020-03-20 16:57:50 +01:00
Flyinghead 4e73af0f94 Mem leaks in input mapping/jvs/x11. Fix crash when latin-1 char is input
Fix warnings
2020-03-12 16:09:05 +01:00
Flyinghead f7e811e463 x64 dsp: OSX fix 2020-02-26 19:46:46 +01:00
Flyinghead c126880e57 osx build fix 2020-02-08 13:40:17 +01:00
scribam 29f2391230 zip: use the public api to get a file from crc 2020-02-07 22:47:18 +01:00
Flyinghead b79c074444 axe wchar 2020-01-31 23:51:12 +01:00
Edward Li 0ba07d98e7 Handle Retina / DPI correctly 2020-01-27 06:10:24 +08:00
Flyinghead 5c33ae47b3 osx build fix 2020-01-25 00:11:19 +01:00
Flyinghead 76b7970589 osx: xcode 11 / swift 5 2019-12-26 21:41:44 +01:00
Flyinghead ed538f7dce vulkan: osx and arm32 build fix 2019-11-26 12:12:43 +01:00
Flyinghead b8c1d6657d vulkan: quad buffer, extract shader compiler
fetch color format, storage buffer alignment and stores/atomics support
at init
support for framebuffers used as input attachments
use Allocator instead of VulkanAllocator
return handles instead of unique handles
2019-11-10 10:16:18 +01:00
Flyinghead 4ca5d4f577 osx: fix the fucking project file for the billionth time + 1 2019-10-23 19:50:08 +02:00
Flyinghead 2f363a7355 Merge remote-tracking branch 'origin/fh/gl-scale-mat' into fh/vulkan
# Conflicts:
#	core/rend/TexCache.h
#	core/rend/gl4/gles.cpp
#	core/rend/gles/gles.cpp
#	core/rend/gles/gles.h
#	shell/apple/emulator-osx/reicast-osx.xcodeproj/project.pbxproj
2019-10-21 19:49:53 +02:00
Flyinghead 86818389ac move texture cache to a template class. vulkan: OSD on android
store texture in the cache map instead of the heap
make related functions member of the class (CollectCleanup, killtex ->
Clear)
refactor common OSD stuff into rend/osd
vulkan support for OSD
2019-10-21 16:39:16 +02:00
Flyinghead 2a89874812 decouple imgui from gles renderer 2019-10-19 18:34:24 +02:00
Flyinghead fe1f2dc93a OS X build fix 2019-10-18 22:21:12 +02:00
Flyinghead 6611e9bf5e gl: refactor wsi into their own class.Allow dynamic vk<->gl switch 2019-10-18 21:57:08 +02:00
Flyinghead 589cd5c52f OSX build fix 2019-10-15 22:01:47 +02:00
Flyinghead abf8dd42c3 OSX add files to project 2019-10-09 23:05:23 +02:00
Flyinghead fc752e6efb proper OSX build fix 2019-10-05 19:44:25 +03:00
Flyinghead bbab62810a OSX build fix 2019-10-05 19:29:23 +03:00
Flyinghead ae4f378747 Add fast-forward mode
Fix buttons.png not being created if not first run
2019-09-27 14:15:29 +02:00
Flyinghead 64a463997c osx: add files to project 2019-09-25 01:16:16 +03:00
Flyinghead 8b949e1dca Get rid of time_sync timer. Clean-up 2019-09-11 15:09:23 +02:00
scribam 49b7e0682b Cleanup 2019-09-07 20:36:13 +02:00
scribam e0fb50488d deps: Update xxhash integration 2019-09-06 21:05:19 +02:00
scribam bdf2029e99 Simplify libpng/zlib integration 2019-09-04 19:59:51 +02:00
Flyinghead b2475c49a1 osx: no need to fully initialize SDL 2019-08-15 23:19:44 +02:00
Flyinghead 74a96897cc OSX: use SLD2 for gamepads 2019-08-14 09:20:24 +02:00
Flyinghead 93e009bf1a gl: use matrices for ndc and viewport calculations
Support VO_STARTX and VO_STARTY for shifting displayed frame
Add glm to deps
Calculate NDC, scissoring and viewport matrices once
Reduce code duplication
2019-08-12 19:56:44 +02:00
Flyinghead 55b4e3364d OSX: use NSLog for logging 2019-08-09 12:00:48 +02:00
Flyinghead 69f2b343b1 OSX: command line args support. test automation
allow test automation on other platforms (win32, OSX, ...)
2019-08-08 08:22:33 +02:00
Flyinghead 1fffbad9fc Fix build warnings. config.h for flac 2019-07-28 18:49:59 +02:00
Flyinghead 4dfa83079a aica and arm7 clean up 2019-07-25 21:34:43 +02:00
Flyinghead f3a91de1af Unify dreamcast, naomi and atomiswave builds WIP 2019-07-09 23:52:19 +02:00
Flyinghead 75cdd93001 remove webui, libwebsocket 2019-07-07 23:40:13 +02:00
Flyinghead 0c9e3bbd7d OSX: add log files to project 2019-06-30 21:22:37 +02:00
Flyinghead 8404c6322c New logging framework stolen from dolphin 2019-06-30 21:06:46 +02:00
Flyinghead b226544d03 Merge remote-tracking branch 'origin/master' into fh/wince-dynarec 2019-06-21 14:37:32 +02:00
Flyinghead e0537926cf OS X name changes 2019-06-20 23:24:37 +02:00
Flyinghead 62e14f6b4c osx: add files to project 2019-06-10 14:07:58 +02:00
Flyinghead a46f1bd0aa Merge branch 'master' into fh/wince-dynarec
# Conflicts:
#	appveyor.yml
2019-05-30 21:44:44 +02:00
Flyinghead cbe8df51cf osx: bigger window. travis: public_read for S3 2019-05-30 11:56:28 +02:00
Flyinghead c2c0215e1b Merge remote-tracking branch 'origin/master' into fh/wince-dynarec 2019-05-22 14:13:00 +02:00
Flyinghead a8f4b7a46e OSX: add naomi xcconfig and scheme 2019-05-21 15:04:03 +02:00
Flyinghead 49604be620 OSX: fix schemes 2019-05-21 12:19:44 +02:00
Flyinghead c0d71c7bcf OSX: fix project file and schemes 2019-05-21 12:14:05 +02:00
Flyinghead 15ce3ab5fa OSX build fixes 2019-05-12 16:53:30 +02:00
David Guillen Fandos c0f21b7551 Re-enable modem in Apple builds too. 2019-05-10 19:41:36 +02:00
Flyinghead f2696a4b47 osx: add new files to project 2019-05-03 11:53:14 +02:00
flyinghead c02a6969df win32: add app icon and version resource 2019-03-30 12:32:37 +01:00
Flyinghead daf4980fc8 input: save assigned maple port of each gamepad 2019-03-29 17:19:18 +01:00
Flyinghead ca58c323cd Moved most android settings into the new gui
virtual gamepad editing and settings
home directory setup during onboarding
start content browser at app startup after getting permission
Use imgui osd to display error messages (msgboxf)
Added About tab in settings with version, git hash and Send logcat
button (android)
2019-03-05 00:54:01 +01:00
Flyinghead f37f4f174e Generate version.cpp at build time with version, git hash and build date 2019-03-04 00:26:11 +01:00
Flyinghead 41e4c805de OSX: support new input system. Use existing emulator thread.
Added new OSD notification feature, combined with FPS counter, moved to
GUI
OSX: don't create and manage a new emulator thread but use existing one
OSX: keyboard and mouse use new input system
2019-02-27 23:02:25 +01:00
Flyinghead a39503dd56 rumble support for xinput and evdev 2019-02-22 19:23:03 +01:00
Flyinghead 4c1acfeab1 android: native egl surface
fps counter using imgui
restart emulator with new game in same process
2019-02-18 00:25:06 +01:00
Flyinghead 3bab26b079 OSX: build fix 2019-02-12 16:23:04 +01:00
Flyinghead 8b5c2a3fac New input handling/mapping system, SDL only for now. Gui wip 2019-02-12 11:30:24 +01:00
Flyinghead b2f21dfbb2 OSX: keyboard support 2019-02-08 14:58:23 +01:00
Flyinghead b70b5db8b3 OSX: mouse support 2019-02-08 11:43:17 +01:00
Flyinghead 7e4a271ce7 Fix ImGui on OSX 2019-02-08 10:22:53 +01:00
Flyinghead 63c4a16459 preliminary support for CUE files 2019-01-30 18:28:49 +01:00
Flyinghead dd280ee24d Custom textures loading and dumping 2018-12-30 18:42:55 +01:00
Flyinghead 031a40ec81 OSX: Fix crash when exiting. Add missing files to project 2018-12-29 17:42:08 +01:00
Flyinghead 9680149457 OSX: CHD v5 support 2018-11-02 11:23:32 +01:00
Flyinghead 5e59901e70 OSX build fixes 2018-10-30 11:29:30 +01:00
Flyinghead 6ca68feff9 OSX: Fix project file 2018-09-24 19:11:50 +02:00
Flyinghead 411baa6b8e OSX: Save states support. Build fixes. 2018-09-23 16:18:35 +02:00
Flyinghead 7ce4fccb37 Merge remote-tracking branch 'origin/master' into fh/mymaster 2018-09-20 17:28:41 +02:00
Flyinghead eb62b79791 OSX: Build fix 2018-09-17 18:41:44 +02:00
Flyinghead 5ae95e951b Add modem files to osx project 2018-09-13 21:15:43 +02:00
Christoph "baka0815" Schwerdtfeger a07c3dc9f2 Fix OSX (?) 2018-08-21 00:33:18 -04:00
Christoph "baka0815" Schwerdtfeger 816fb493a6 Fix iOS 2018-08-21 00:33:18 -04:00
Christoph "baka0815" Schwerdtfeger 638a97d1ae Maple: Reworked the way controllers are created
A new function was introduced to abstract the setup of input devices for each os: os_SetupInput().
I hope I implemented this everywhere correctly and the behaviour is identical to before.

The new function mcfg_CreateNAOMIJamma() creates the NAOMI Jamma interface and is hidden behind a compile flag (same as before).
The previous function mcfg_CreateDevices() was renamed to mcfg_CreateDevicesFromConfig() because it creates the devices based on the configuration (``nb`` setting).
2018-08-21 00:33:18 -04:00
Flyinghead 5cc4531f79 OSX: fix app icon, name, menu 2018-08-05 07:59:30 +02:00
Flyinghead cbb52eee75 OSX: fix data/system directory initialization. Add the Resources bundle directory as system data path. 2018-08-04 19:12:36 +02:00
Flyinghead 7ff93f9256 OSX: disable OpenMP as it's not available. Time to deprecate Apple... 2018-08-04 19:10:53 +02:00
Flyinghead 8157a5dbc5 OSX: specify the NSOpenGLPFABackingStore option to force pixel buffer copy on flush.
Without this option, back and front buffers may be exchanged instead of copied which can cause ghost frames now that the framebuffer is not cleared before rendering (MSR)
2018-08-04 19:07:39 +02:00
Flyinghead 3c38e824cd OSX, IOS: Add xbrz to project 2018-08-01 20:13:26 +02:00
Flyinghead 46c0d545ec OSX: Fix previous merge 2018-08-01 18:31:20 +02:00
Flyinghead 9942bfc86e Merge branch clean-exit-light 2018-08-01 18:02:50 +02:00
Flyinghead c632fc6619 OSX: Avoid hanging the UI thread when waiting for rendering. Use cursor keys for keyboard.
IOS: Add dip interpreter to build.
2018-08-01 16:16:27 +02:00
Flyinghead 298bf08fc0 Add dsp interpreter to Mac build. Core audio buffering. 2018-08-01 15:02:45 +02:00
Flyinghead 20de593a88 Clean exit on OS X. Minor changes. 2018-07-24 14:27:58 +02:00
Flyinghead b28e1505c5 Fix dynarec on OSX/x64. Clean exit when window closed. 2018-07-24 13:26:31 +02:00
Flyinghead 71d7f90858 Merge upstream 2018-07-19 12:19:51 +02:00
brand175 fa20222af5
MFI Controller fixes (Stuff) 2018-07-13 21:11:48 -07:00
brand175 eb34ac8581
Touchscreen Triggers added 2018-07-13 20:51:54 -07:00
Flyinghead 0ccd8ed5ca glViewport not needed 2018-05-15 11:56:59 +02:00
Flyinghead 1cb0daff4c Revert glCheck 2018-05-15 11:56:01 +02:00
Flyinghead 46b40ad043 OSX: enable exceptions for vmem 2018-05-15 11:14:48 +02:00
Flyinghead 71df770758 No stencil buffer by default on OSX 2018-05-15 11:11:29 +02:00
Flyinghead 699c2986a5 WIP 2018-05-14 12:48:22 +02:00
Flyinghead ae49c19cea osx: cpu x86. glViewport now doing in RenderFrame 2018-05-14 09:31:03 +02:00
Flyinghead 20ebe9b984 OS X project file reference fix 2018-05-14 09:28:21 +02:00
Flyinghead 5320c3adee Fixed previous screw up 2018-05-01 11:20:25 +02:00
Flyinghead 39e0f378cb OSX: add x64 target. Use JIT compiler. Clean exit. Use semaphore in core audio driver. Use layout-independent key codes to support int'l keyboards. Fixed GL window scaling. 2018-04-29 16:07:54 +02:00
TwistedUmbrella c80dbb1629 Create Xcode external build system for zlib 2017-06-17 09:18:27 -04:00
TwistedUmbrella c16d3195b5 iOS: Add button tag as secondary identification 2017-06-04 13:38:56 -04:00
TwistedUmbrella 158eef7883 Remove fp.h leftovers after limping update 2017-06-04 13:38:56 -04:00
TwistedUmbrella 656a230d06 Centralized key handling in EmulatorView 2017-06-04 13:38:56 -04:00
TwistedUmbrella e6fe7df468 Fix overlay by restoring independent xib view
This resolves an issue with the GLKView stealing z-order with every
frame and allows disabling the view, not just hiding it.
2017-06-04 13:38:55 -04:00
TwistedUmbrella 2e41057e7f Connect on-screen controls to an IBAction method 2017-06-04 13:38:55 -04:00
TwistedUmbrella c073e5632f Add default disk image, Disable touch on GLKView 2017-06-04 13:38:55 -04:00
TwistedUmbrella 52015ced17 Support loading disk / BIOS from selection 2017-06-04 13:38:55 -04:00
TwistedUmbrella 4b5d116812 Covert to assets library to support iPhone 6 2017-06-04 13:38:55 -04:00
TwistedUmbrella 3b44f3dc04 Attach controller view to hardware config, Fix cells 2017-06-04 13:38:55 -04:00
TwistedUmbrella 9766627918 Integrate controller into storyboard emulator view 2017-06-04 13:38:55 -04:00
TwistedUmbrella c8c455483f Convert to navigation controller to push view 2017-06-04 13:38:54 -04:00
TwistedUmbrella c4b6ee3333 Move controller to storyboard, Add file parameters 2017-06-04 13:38:54 -04:00
TwistedUmbrella d106f541e6 Fix table crash, Use modal EmulatorView
The current layout does not yet support the sliding view. The requires
and update and / or replacement of the backend library.
2017-06-04 13:38:54 -04:00
TwistedUmbrella 458492f611 Add custom cells to support disk image 2017-06-04 13:38:54 -04:00
TwistedUmbrella df707aa60e Create compound predicate for various file types 2017-06-04 13:38:54 -04:00
TwistedUmbrella 5f0d58dc65 Preliminary file list and controller overlay support 2017-06-04 13:38:54 -04:00
TwistedUmbrella 4fd15e515d Add a basic hardware control scheme for iOS 2017-06-04 13:38:54 -04:00
Stefanos Kornilios Mitsis Poiitidis fd4d600d3f osx: update swift code 2016-12-30 16:35:08 +02:00
Stefanos Kornilios Mitsis Poiitidis 42e6a62fac Merge pull request #877 from KrossX/purupuru
X360 controller support for Windows + Rumble
2016-09-17 22:26:46 +02:00
KrossX 832eeeb419 Might help compilation in other platforms
I cannot verify it though.
2015-12-07 21:27:19 -03:00
Stefanos Kornilios Mitsis Poiitidis 4282395528 apple: Add primitive core audio support
Also made the project xcode 7 friendly
2015-09-29 03:10:19 +02:00
Jan Holthuis 4267d51f90 stdclass: Make path getter function names more verbose 2015-09-02 15:49:00 +02:00
Jan Holthuis b6d0cddcaa stdclass: Add support for separate config/data dirs and system wide dirs
This adds support for separate config and data dirs.

On Linux, these will be compliant XDG Basedir Specification, i.e.
XDG_CONFIG_HOME and XDG_CONFIG_DIRS (or XDG_DATA_HOME and XDG_DATA_DIRS
respectively). On all other platforms, there currently just set to the
homedir path (so no previous behaviour has been changed).

If reicast wants to read and write a data file, it just calls
get_data_path("/samplefile.txt"). If it does not need to write to
that file, it just uses get_data_path("/samplefile.txt", false). That
way, we can also use system-wide dirs (like /usr/share/reicast on
linux), that the user usually doesn't have write access to.

The same applies for config file, where you use get_config_path(args)
respectively.
2015-09-02 15:48:53 +02:00
Stefanos Kornilios Mitsis Poiitidis 1a751e3b5b xcode: Update projects for libpng 2015-08-27 15:40:12 +02:00
TwistedUmbrella e138cca4b9 Remove internal conditionals to use defined flag 2015-08-20 17:21:47 -04:00
Stefanos Kornilios Mitsis Poiitidis ff1b466116 xcode: limit to armv7 2015-08-10 15:05:29 +02:00
Stefanos Kornilios Mitsis Poiitidis 7dd17a4175 xcode: move shared schemes on the workspace 2015-08-10 14:49:59 +02:00
Stefanos Kornilios Mitsis Poiitidis 8faef19c3f Apple: fix disabled nvmem blockmgr path, add printfs, clean xcode files 2015-08-10 03:02:59 +02:00
TwistedUmbrella bf75c95ae8 Update project for #755 and fix warnings 2015-08-17 07:59:39 -04:00
TwistedUmbrella a4a7540055 Fix path structure and relationships in iOS project 2015-08-14 23:16:31 -04:00
TwistedUmbrella cf53f3ec22 Fix links to files for relative Xcode paths 2015-08-11 11:44:11 -04:00
TwistedUmbrella cdec92d36c Rebuild iOS project paths for new location 2015-08-11 08:05:09 -04:00
Stefanos Kornilios Mitsis Poiitidis cda7036ef1 apple: moving around xcode files 2015-08-11 07:57:23 -04:00