Commit Graph

5900 Commits

Author SHA1 Message Date
SuuperW 48414b144d (Windows) Reorganize some hotkeys code, and move Lua hotkeys to the Tools page. 2018-08-30 10:34:57 -05:00
SuuperW 16ea99e78c (Windows) Remove redundant hotkey initializing code. 2018-08-30 10:34:12 -05:00
zeromus b3a352a409
Merge pull request #176 from SuuperW/refactor
Refactor+Bugfixes
2018-08-28 13:50:27 -05:00
zeromus 77e05eb1f8 dont lose toon table when geometry engine is powered off (fixes #179) 2018-08-24 16:53:26 -05:00
rogerman 0aa8dad199 WiFi: Fix a bug where AdHoc connections would fail to read the socket on non-Windows systems. 2018-08-23 21:50:17 -07:00
rogerman 5d384f9eae Cocoa Port: Fix a bug in Metal display views where the internal V-sync would cause the total frame rate to be divided amongst multiple visible display views. 2018-08-23 09:56:23 -07:00
rogerman 5c85bcd732 Cocoa Port: Rework the auto-frameskip algorithm yet again. It should be more accurate this time. 2018-08-22 01:25:52 -07:00
SuuperW 8fa3c6f9ed fix regression from commit 17c30c48 2018-08-21 10:26:11 -05:00
SuuperW d671d0a888 minor cleanup 2018-08-20 10:23:10 -05:00
SuuperW 43d79393c7 Remove unused flags for display method, and remove OpenGL-specific display flag. 2018-08-20 10:23:10 -05:00
SuuperW c4ea4ad879 fix: DD_DoDisplay would not update the display if resolution had just been changed 2018-08-20 10:23:10 -05:00
SuuperW c9b41e3c53 Fix regression from commit 2acfdbe; setting display method to DDraw HW/SW did not actually set ddraw.systemMemory 2018-08-20 10:23:10 -05:00
SuuperW 2c8909ed3c Fix regression from commit 2acfdbe; the selected display method wasn't checked. 2018-08-20 10:23:10 -05:00
SuuperW 212f0a358f Only wait for the display thread if the previous frame was not skipped. 2018-08-20 10:23:09 -05:00
SuuperW 2890c4b075 Regression fix: Lua functions which draw to the screen work again. 2018-08-20 10:23:09 -05:00
SuuperW 17c30c48c5 more refactoring; created display.cpp and .h files 2018-08-20 10:23:09 -05:00
SuuperW 89fc0a12e3 move/refactor OpenGL code 2018-08-20 10:23:09 -05:00
SuuperW 4c83ec19e9 Move DirectDraw code to its own .h and .cpp files. 2018-08-20 10:23:09 -05:00
SuuperW 4357ba8f47 Am I doing this right? 2018-08-20 10:22:42 -05:00
retr0s4ge 6fa6467c5c
Merge pull request #175 from retr0s4ge/master
(Windows Frontend) Add Fullscreen Options And Window Sizing Fixes
2018-08-17 08:04:14 +02:00
retr0s4ge 7fa405b679 (Windows Frontend) Rename "Non-exclusive Mode" option to "Force Windowed Fullscreen" 2018-08-16 13:20:26 +02:00
rogerman c9a405e959 OpenGL Renderer: Use memcmp() to ensure that UploadClearImage() uploads clear image data only when necessary. Significantly improves the performance of games that use clear images. 2018-08-15 23:07:22 -07:00
retr0s4ge 9314fc2d5e (Windows Frontend) Ignore the menu key if the main window has no menu 2018-08-15 00:33:22 +02:00
rogerman 208f99f4a6 Cocoa Port: Fix a bug where HID devices would fail to be detected on startup when running on macOS High Sierra. 2018-08-13 23:33:24 -07:00
rogerman 8448b3ee10 Cocoa Port: Instead of using a single shared draw timing for all displays, use individualized draw timings for each display. 2018-08-13 23:32:31 -07:00
retr0s4ge 775e3ae91a (Windows Frontend) Fix the bug where cursor is auto-hidden even when over the menu
Also, changed the time before auto-hiding to 10 seconds.
2018-08-12 19:58:02 +02:00
rogerman c9009c9302 Linux Ports: Now require libpcap for all POSIX builds. (Related to commit 5e67e9c.) 2018-08-11 13:19:45 -07:00
retr0s4ge 36b97ada75 (Windows Frontend) Add Fullscreen Options And Several Window Sizing Fixes 2018-08-11 16:15:57 +02:00
retr0s4ge f2e43ca90b Add *.VC.opendb to gitignore 2018-08-11 15:23:50 +02:00
rogerman 6797f00d23 Windows Port: Oops! Fix a bug that will cause the app to crash on app exit. (Regression from commit 5e67e9c.) 2018-08-10 18:53:00 -07:00
rogerman 5e67e9ca7c WiFi: Do a big refactor of the client interface code for better code cleanliness, organization, and stability. There are also some minor behavior changes.
- EXPERIMENTAL_WIFI_COMM no longer disables all of the WiFi-related code. Instead, the WiFi code is always enabled and actually running the code is now controlled using WifiHandler::SetEmulationLevel().
- On the Windows port, EXPERIMENTAL_WIFI_COMM no longer hides all of the WiFi options. Instead, it only affects the user's ability to control the WiFi emulation. (Forces the WiFi emulation level to WifiEmulationLevel_Off if EXPERIMENTAL_WIFI_COMM is undefined.)
- The Cocoa port (and probably other POSIX-based ports) should now work better with the WiFi code.
- WiFi comm interfaces no longer initialize only once upon app startup. Instead, they initialize each time the emulator resets, and then uninitialize each time a ROM is unloaded. Now, users no longer have to restart the app in order to apply any changed WiFi settings. Instead, users only need to reset the emulator or load a new ROM.
- Previously, the SoftAP comm interface wouldn't run if libpcap was unavailable or if a network device wasn't found. Now, the SoftAP comm interface will now run without libpcap or a network device, albeit with significantly reduced functionality.
- Previously, saving pcap files required WIFI_LOGGING_LEVEL >= 3. Now, saving pcap files no longer relies on WIFI_LOGGING_LEVEL, instead relying on WIFI_SAVE_PCAP_TO_FILE to enable the functionality.
2018-08-10 18:36:33 -07:00
rogerman 65901c77c0 WiFi: Do some minor fixes. 2018-08-06 10:29:28 -07:00
rogerman 36ee2477b1 SoftRasterizer: Fix the animating characters in Customize status screen in Sands of Destruction by emulating a special LEQUAL depth test. (Fixes #41. Special thanks to StapleButter for his insight on this issue.) 2018-08-01 13:46:08 -07:00
rogerman c4317df76f Cocoa Port: Significantly boost the performance of the HQnX and xBRZ Metal shaders. 2018-07-31 21:55:56 -07:00
zeromus 637ad2ab18 revert pointless change to declaration of CommonSettings from 07d7588
(fixes #169)
2018-07-30 21:22:49 -05:00
rogerman ca6d8aaf73 WiFi: Initialize wifiEmulationLevel to WifiEmulationLevel_Off on startup. 2018-07-30 15:58:48 -07:00
retr0s4ge 07d75886bc
Merge pull request #166 from retr0s4ge/master
Implement basic support for multiple WiFi emulation levels
2018-07-30 23:48:52 +02:00
rogerman ad7083ea98 Cocoa Port: Do another UI bug fix on High Sierra, expanding the NSSegmentedControl element width even further so that all numbers appear as intended in all cases. (Related to commit 4913c0e.) 2018-07-30 13:50:38 -07:00
rogerman fad678c2b3 SoftRasterizer: Fix a bug for Altivec-enabled CPUs that caused multithreaded rendering to fail. (Related to commit 43d3883.) 2018-07-30 12:10:57 -07:00
retr0s4ge cf5ed05cab Replace scoped enum used for WifiEmulationLevel with unscoped enum for code compatibility with older compilers. 2018-07-30 06:26:49 +02:00
retr0s4ge 259ca8579f Implement basic support for multiple WiFi emulation levels 2018-07-30 00:17:44 +02:00
retr0s4ge 09a545902d Don't emulate wifi unless wifi.emulated flag is set in common settings.
Changes:
1- Add wifi.emulated flag to common settings
2- Don't emulate wifi unless wifi.emulated is set
3- Add a check box in windows frontend to toggle it, and read/write setting from/to ini file.
2018-07-28 05:40:44 +02:00
rogerman 232e3d6f51 Cocoa Port: Do a bunch of tweaks and fixes for an upcoming new feature. (Related to commit 932cdd6.) 2018-07-27 13:18:48 -07:00
rogerman bee3fd30ce Cocoa Port: Update the Metal blitter to support Y-flipping of the rendered video frame, matching the same feature that already exists in the OpenGL blitter. 2018-07-27 02:10:28 -07:00
rogerman 4913c0e7ae Cocoa Port: Fix a UI bug on macOS High Sierra where the dropdown sheet for configuring an NDS input's turbo pattern would fail to show the numbers in each NSSegmentedControl element. 2018-07-27 01:38:00 -07:00
zeromus d7c347d3ae set debug colors for DD area filling for new empty areas 2018-07-26 10:31:30 -05:00
rogerman 1e0e7f5e28 Cocoa Port: When running SoftRasterizer; for every 12 cores that would exist, reserve 1 core for the rest of the system. This should help maintain performance stability. 2018-07-25 20:46:42 -07:00
rogerman b0a6188902 SoftRasterizer: Fix a longstanding bug where using a thread count that was not a power-of-two would result in many threads remaining idle. 2018-07-25 20:44:30 -07:00
rogerman cbd488e157 SoftRasterizer: Force the number of rendering threads to be a power-of-two since any additional threads that are not power-of-two will be wasted. 2018-07-25 15:18:36 -07:00
rogerman b6072287c5 Cocoa Port: Improve SoftRasterizer multithreading and stabilize multithreaded performance.
- Automatic setting of the SoftRasterizer thread count (the most common use case) now takes into account systems with many CPU cores/hyperthreads. When using Automatic mode, SoftRasterizer will take advantage of more threads on machines like the Mac Pro and iMac Pro.
- Manually assign the thread priorities of the SoftRasterizer threads and other related high-priority threads to better ensure stable performance. Most importantly, the main emulation thread will no longer preempt any SoftRasterizer thread since the main emulation thread has to wait on the results of SoftRasterizer anyways.
- These changes aren't targeted for improving overall performance -- they help stabilize performance so that CPU cycles are used more consistently, which might translate into slightly improved performance, depending on hardware, as a byproduct of doing these changes.
2018-07-25 14:19:25 -07:00