Commit Graph

5902 Commits

Author SHA1 Message Date
rogerman cb4ecbe17e Cocoa Port: Do some refactoring to remove extraneous connections in EmuControllerDelegate. 2017-09-11 15:26:37 -07:00
rogerman 221fa5f72b Cocoa Port: Add support for reporting inputs in the HUD.
- Also do a bunch of code refactoring.
2017-09-11 09:41:54 -07:00
rogerman 17ff2b2d6e vfat.cpp: Silence a couple of compiler warnings. 2017-09-09 13:00:35 -07:00
rogerman 4cfa910e75 Cocoa Port: NEW FEATURE - Users can now apply custom colors to individual HUD line items. 2017-09-05 13:12:31 -07:00
rogerman 2b9bc2509a Cocoa Port: Additional tweaks to the new turbo settings UI. (Related to commit af22153.) 2017-09-04 09:54:35 -07:00
rogerman af22153f5c Cocoa Port: NEW FEATURE - Add the ability to set up custom frame-by-frame press/release state patterns for turbo. 2017-09-04 09:33:11 -07:00
rogerman d1ac719b5c Cocoa Port: Fix UI issue where status bar on display windows would no longer show the mic gain control. (Regression from commit 3bf295f.) 2017-09-04 08:09:48 -07:00
rogerman ccaefb18bc Cocoa Port: Fix UI issue where the Input Preferences window may not be automatically assigned as the first responder. (Regression from commit 1e9b179.) 2017-09-03 14:25:25 -07:00
rogerman f67f959fe3 Cocoa Port: Retrieve both pending and applied NDS inputs post-NDSExec().
- Also do some minor code cleanup on some input-related stuff.
2017-09-01 16:38:06 -07:00
rogerman a86539eb1c Cocoa Port: Do some refactoring on reading the client-side inputs.
- Also make calculating the mic level average more efficient, as well
as updating the mic level average every 8th frame instead of every
frame.
2017-09-01 00:33:54 -07:00
Roger Manuel b4650e4083 Merge pull request #94 from atsampson/master
Update remaining stub versions of mic_savestate/loadstate. Fixes #95.
2017-08-31 01:16:40 -07:00
rogerman fd6ed7b518 Cocoa Port: Synchronize access to ClientDisplayView._hudString. 2017-08-30 15:34:58 -07:00
rogerman db4982f4bc Cocoa Port: Continue refactoring cocoa_core.mm.
- Also fix a small off-by-one error in slot1_Change().
2017-08-30 15:20:08 -07:00
rogerman e29e825d27 Cocoa Port: Report newer options in the Support Requests and Bug Reports pages to reflect the current feature set.
- Also update the URL for the Bug Report webpage from sourceforge.net
to github.com.
2017-08-29 17:16:19 -07:00
rogerman abebaebdef Cocoa Port: Continue refactoring the emulation execution loop code to be less port-dependent. 2017-08-29 15:14:24 -07:00
rogerman 3bf295f4ce Cocoa Port: Fix bug where Lion-style full screen failed to work on OS X Mavericks and Yosemite. 2017-08-28 19:36:55 -07:00
rogerman 1e9b179bf4 Cocoa Port: Begin refactoring some of the emulation execution loop code to be less port-dependent.
- Also clean up some UI code with switching app preferences views when
running OS X Leopard.
2017-08-28 17:30:19 -07:00
rogerman a05e03e2cc OpenGL Renderer: When running a GPU Scaling Factor of 3x and 4x, increase the MSAA sample size limit from 8xMSAA to 16xMSAA. 2017-08-27 14:07:13 -07:00
rogerman 2379dc1e41 OpenGL Renderer: Make the MSAA sample size limit based on the framebuffer size instead of being fixed at 8xMSAA.
- The MSAA sample size limit is now based on the following sizes:
1x Native Resolution - 32xMSAA
2x Native Resolution - 16xMSAA
3x-8x Native Resolution - 8xMSAA
9x and greater Native Resolution - 4xMSAA
2017-08-26 22:41:53 -07:00
Adam Sampson e58fb84707 Update remaining stub versions of mic_savestate/loadstate.
11cf901336 changed most of these but
missed these three.
2017-08-26 15:32:14 +01:00
rogerman e6d5a8fbe1 Windows Port: Increase the maximum GPU Scaling Factor from 5x to 16x. (This should be safe on the vast majority of GPUs out there, but if we find out that this ends up being unsupported on many GPUs, the max scaling factor may have to be reduced back to 5x. This will need additional testing.)
- Also do some minor code cleanup here and there.
2017-08-25 18:53:07 -07:00
rogerman 823e9edf7f Windows Port: Fix compiling on Windows. (Regression from commit 11cf901.) 2017-08-24 15:28:46 -07:00
rogerman 11cf901336 Major code cleanup across the board, mostly involving interactions with EMUFILE.
- Function/method parameters for EMUFILE objects are now passed by
reference instead of passed by pointers, where appropriate. This is
true for the vast majority of EMUFILE usage.
- Eliminate duplicate little-endian read/write functions in
readwrite.cpp. Use the equivalent methods in EMUFILE instead.
- Completely standardize the design patterns and usage of the various
little-endian read/write methods. Should help stabilize interactions
with save state files, as well as try to make save states
cross-compatible between big-endian and little-endian systems.
- Replace EMUFILE fread()/fwrite()/fputc() calls with equivalent
size-specific methods where applicable.
- Misc. code readability and stability improvements.
2017-08-24 15:14:25 -07:00
rogerman e17e1bd0af Cocoa Port: Minor tweaks to some UI elements to eliminate some build warnings. 2017-08-23 02:37:37 -07:00
rogerman c52b5702ed Cocoa Port: Change InfoPlist.strings format from UTF-16LE to UTF-8.
- Also add macosx_10_5_compat.cpp back into the normal OS X build of
the Xcode Latest project. It’s still needed for compatibility on OS X
10.5 Leopard for x86/x86-64. (Don’t know how this got disabled — it
just somehow mysteriously did.)
2017-08-23 01:47:44 -07:00
rogerman 3a63db2086 Cocoa Port: Do some minor code cleanup. 2017-08-22 21:31:28 -07:00
rogerman 2746427dd7 Colorspace Handler: Fix more RGBA8888 and RGBA6665 conversions for Altivec. 2017-08-22 15:50:03 -07:00
rogerman c7b9ecfc52 Cocoa Port: Tiny code consistency change. 2017-08-22 13:57:12 -07:00
rogerman e4f935743c GPU: Clean up and optimize the BG mosaic code. 2017-08-21 19:31:41 -07:00
rogerman da6c79c6bd GPU: When calculating the VRAM pixel location using MMU_gpu_map(), replace division and mod instructions with bitshift and bitwise AND instructions. Should help older compilers that don't know how to optimize the division/mod instructions into bitshift/bitwise AND instructions. 2017-08-21 08:23:12 -07:00
rogerman f02210bfdb GPU: Try to clean up GPUEngineBase::_SpriteRenderPerform() a little bit. 2017-08-19 20:21:09 -07:00
rogerman a9f2e53c25 GPU: Be consistent with how we apply the sprite window flags.
- Now applies the sprite window flags consistently between rotozoomed
and non-rotozoomed modes.
- Applying the sprite window flags in rotozoomed modes now ignores
sprite priority as intended.
2017-08-19 12:07:48 -07:00
rogerman 48f0f69929 GPU: When compositing a sprite, remove the color effect enable test so that the enable test and the OBJ translucency test don't conflict whenever window testing is also enabled. Fixes the portal-in-the-horizon scene in Pokemon Mystery Dungeon: Explorers of Sky. (Fixes #92.)
- Also rename some variables for better code clarity.
2017-08-19 11:42:06 -07:00
rogerman c0a21a717d GPU.cpp/.h: Revert back to using Unix-style line-endings instead of Windows-style line-endings. 2017-08-19 11:04:45 -07:00
zeromus 222f5d8507 gpu - clean up sprite window rendering so it isn't a separate codepath but rather is identical to regular character OBJ until the very end. may fix subtle bugs, may do nothing, but it's cleaner now anyway 2017-08-18 22:44:56 -05:00
rogerman bf120f3c3e OpenGL Renderer: Fix one more compiling issue on Windows 32-bit. 2017-08-17 01:05:08 -07:00
rogerman 51a9e2b0ab OpenGL Renderer: The zero-dst-alpha-fragment pass for edge marking now works the same as the one for rendering the main geometry.
- Also fix a compiling issue in the Windows build. (Regression from
commit 6acf781.)
- Also fix an issue in the zero-dst-alpha-fragment pass while running
MSAA in legacy OpenGL. (Related to commit 6acf781.)
2017-08-17 00:51:30 -07:00
rogerman 6acf7818ea OpenGL Renderer: Translucent fragments now correctly overwrite zero-alpha destination fragments when running MSAA. (Related to commit 3b354a0.) 2017-08-16 22:27:38 -07:00
rogerman 3a11041ef0 GPU: Rename some stuff for better clarity. 2017-08-14 21:43:28 -07:00
rogerman 7487bf2295 GPU: Remove some assumptions with how OBJ layers will read custom VRAM, instead assigning the read location on a per-line basis based on the isLineCaptureNative flag. Fixes screen flickering in Kingdom Hearts: 358/2 Days. 2017-08-14 16:37:56 -07:00
rogerman 9a5e52a7fa Cocoa Port: New feature - The Main and Touch displays can now be individually assigned the engine that feeds them video. This can be done on a per-display window basis. 2017-08-12 23:04:53 -07:00
rogerman 623d490393 OpenGL Renderer: Use backface culling for whole-framebuffer processing steps.
- Also tidy a few things here and there.
2017-08-08 12:33:19 -07:00
rogerman 10d2776938 Colorspace Handler: Altivec conversion functions no longer use vec_splat*(), but instead use literals directly. Fixes compiling for ppc64 systems. 2017-08-07 18:23:44 -07:00
rogerman b9c6cd69a1 Cocoa Port: Tidy and tighten up the spacing of certain UI elements. 2017-08-07 17:50:24 -07:00
rogerman 7dbe1444c3 Cocoa Port: Fix a few more coloring issues on PowerPC Macs. 2017-08-07 15:47:04 -07:00
rogerman 8df7d15664 Cocoa Port: When the OpenGL blitter uses CPU-based pixel upscaling, framebuffer fetches no longer swap R and B colors.
- Also silence a compiler warning in DisplayWindowController.h.
2017-08-07 12:56:46 -07:00
rogerman 54f0e4b19b Colorspace Handler: When SWAP_RB is true, ColorspaceConvert555To8888_AltiVec() and ColorspaceConvert555To6665_AltiVec() will now swap R and B colors as intended. 2017-08-07 12:53:21 -07:00
rogerman 4fd39bac56 NDSSystem.cpp: Fix bug where certain inputs would fail to work on big-endian systems. (Regression from commit bcc7421.) 2017-08-07 12:51:50 -07:00
rogerman 4e1bdab8c7 Fix some graphical bugs on big-endian systems. (Regressions from commits f8d129b and f97283e.) 2017-08-05 22:45:38 -07:00
rogerman f377bfeb76 cheatSystem.cpp: Fix compiling on non-x86 systems. 2017-08-05 14:07:56 -07:00