Commit Graph

6105 Commits

Author SHA1 Message Date
rogerman 4b28d272a7 Save State: Properly rescale and convert the GPU framebuffers to and from a standard format -- native size at 15-bit RGB555. (Related to commit c1eafc5 and PR #190 by @SuuperW.) 2018-10-27 12:11:34 -07:00
rogerman c1eafc53f2 Save States: Manually merge in most of the changes (with the exception of the GPU framebuffer rescaling and reformatting code) based on several commits in PR #190 by @SuuperW. 2018-10-26 00:17:08 -07:00
rogerman c3dbb920fa Cocoa Port: Do some UI tweaks with reporting the firmware MAC address. 2018-10-25 15:42:27 -07:00
rogerman 2e7099052d Linux GTK Port: Fix compiling for GTK port. (Regression from commit 064527e.)
- The new behavior for the Multisample Antialiasing checkbox: Checked - GFX3D_Renderer_MultisampleSize = 4, Unchecked - GFX3D_Renderer_MultisampleSize = 0. (If someone else wants to make some UI so that GFX3D_Renderer_MultisampleSize can be set to other sizes, then have at it.)
2018-10-25 11:55:44 -07:00
rogerman e2d60f62fd Windows Port: Fix compiling for Windows port. (Regression from commit bb38022.) 2018-10-25 02:34:26 -07:00
rogerman bb38022873 Firmware: Replace the old NDS_fw_config_data struct with the new FirmwareConfig struct, which allows for easy modification of all the user-related settings, including all the WiFi settings. Also do a massive refactor and cleanup of the firmware-related code.
- Also exposes all of the WiFi-related firmware settings in the Cocoa port UI.
2018-10-25 01:43:19 -07:00
rogerman da3970d817 Cocoa Port: Improve the performance and robustness of Metal display views.
- Add a unique sequence number to fetched frames to ensure that older frames are not drawn after newer frames.
- After much research, finally settle on a method for fetching the NDS framebuffers -- using a MTLBlitCommandEncoder to blit a MTLBuffer to a MTLTexture. It is faster than uploading a texture using [id<MTLTexture> replaceRegion:mipmapLevel:withBytes:bytesPerRow:], and also faster than using a pinned-memory backed linear texture. This method will be the way going forward for fetching framebuffers in Metal.
2018-10-25 01:05:36 -07:00
rogerman 064527e24e CommonSettings: Remove the now obsolete GFX3D_Renderer_Multisample setting. (Related to commit 94ddf1a.) 2018-10-25 00:35:22 -07:00
Roger Manuel 3cc4a64b69
Merge pull request #205 from Jules-A/antialiasing_settings
AntiAliasing Settings
2018-10-24 23:56:07 -07:00
Jules.A 0965eef5b3 rogerman fixes 2018-10-25 07:05:06 +08:00
Jules.A cfd77abaf7 Fixed UI elements moving around by simply re-arranging the order in resources.rc... Also added extra check when context is created. 2018-10-25 04:50:33 +08:00
Jules.A 65285aeb8c Cleaned up variable positions, added dummy OGL initiation so max device samples could be obtained from any renderer.
As a result, values higher than user is capable of won't be created.
2018-10-24 08:04:59 +08:00
Jules.A 3fd42ae720 WIP Updates. 2018-10-24 04:41:15 +08:00
rogerman ff84420424 OpenGL Renderer: Improve robustness when changing the MSAA sample size. 2018-10-23 00:04:28 -07:00
rogerman d85f140b64 Cocoa Port: Sigh... let's try to fix building this time... 2018-10-22 13:17:31 -07:00
rogerman 0ef9543f87 Cocoa Port: Oops! Fix a compiling issue caused by commit 5d3e53d. 2018-10-22 13:01:42 -07:00
rogerman 5d3e53d804 Cocoa Port: Expose the new user-selectable MSAA sample size feature in the UI that was introduced in commit 94ddf1a.
- Also add some other future UI-related stuff that was already in-flight at the time of this commit.
2018-10-22 12:33:04 -07:00
rogerman 68174fb31f movie.cpp/movie.h: Fix compiling issues for old GCC 4.2, which doesn't allow for variable initialization in C++ class declarations. (Regression from commit e83ec89.) 2018-10-22 11:38:06 -07:00
Roger Manuel acf49dfa01
Merge branch 'master' into antialiasing_settings 2018-10-22 11:08:49 -07:00
rogerman 94ddf1a467 OpenGL Renderer: The MSAA sample size is no longer automatically selected and must now be manually selected via GFX3D_Renderer_MultisampleSize.
- All frontends will need to be updated to use the new GFX3D_Renderer_MultisampleSize setting.
- This change obsoletes GFX3D_Renderer_Multisample, which currently does nothing at the moment. It will be removed after all frontends are updated.
2018-10-22 10:32:16 -07:00
rogerman a894000333 matrix.cpp Fix a bug with _Vec3_MultiplyByMatrix() returning an incorrect value on SSE4.1. 2018-10-20 14:53:49 -07:00
matthias gatto 2dfc7866d0 dlditool: fix redefinition of VERSION 2018-10-20 07:30:22 +02:00
matthias gatto bf3e1b1cf3 posix: fix deprecated warning about g_thread_init
problems with the old if, is that the code still compiled(but optimised out)
as g_thread_supported is a macro, #if work well enouth and doesn't generate
warning
2018-10-20 07:27:28 +02:00
matthias gatto 50755c6a45 ROMReader: fix specified bound depends on the length of the source argument
It seems gcc have a (new ?) warning that doesn't allow *ncpy functions
to have any source length related value as len argument.

I've use strdunp to fix this, but I guess there is some other solutions
that doesn't require free.
use c++ strings ?
use strcpy(...); tmp1[strlen(filename) - 4] = 0; ... ?
remove the warning in the Makefile ?

but as the strdump solution is simple enouth I've keep this.
2018-10-20 07:15:48 +02:00
rogerman 68e91ec57f OpenGL Renderer: Fix a bug with the MSAA automatic selector where the MSAA sample size would be selected based on the PREVIOUSLY set framebuffer size, even though the selection should be based on the CURRENTLY set framebuffer size. 2018-10-19 16:33:37 -07:00
Jules.A 1010709de2 Fix #c65ec32 illogical operators (|| instead of &&), save to ini straight away to avoid wrong value being displayed there and don't bother creating another variable to try make a turd prettier. 2018-10-17 22:40:54 +08:00
Jules.A c65ec323ef Default to 8 if invalid uservalue is entered, add a check so it won't be set to 2x if limiting is disabled and clean up settings interface more. 2018-10-17 21:18:58 +08:00
Jules.A d818155e8e Fixed settings not getting instantly updated causing MSAA sample checkboxes to not be disabled. 2018-10-17 03:51:21 +08:00
Jules.A faeced5c66 Clean up interface. 2018-10-17 02:24:23 +08:00
Jules.A 118b629728 Be more specific for VS2017 ignores. 2018-10-17 01:21:25 +08:00
Jules.A c53f9632ed Change from "force" to "limit", half sample amount since x16 was pointless and remove some unneeded logic. 2018-10-17 01:01:45 +08:00
Jules.A d045b9fa34 Initial AntiAliasing Settings. 2018-10-16 20:39:12 +08:00
zeromus 01225c65ee
Merge pull request #203 from QueeferSutherland/master
added support for joystick axes to lua function, controller.get()
2018-10-12 00:46:28 -04:00
QueeferSutherland b9829ba349
added support for joystick axes to lua function, controller.get() 2018-10-12 00:19:39 -04:00
matthias gatto 8c6c2e8071 threads: fix implicit declaration of memset 2018-10-11 23:22:21 +02:00
rogerman da714ea719 WiFi: Standardize the handling of received packets for both Ad-hoc and Infrastructure modes.
- Received packets are now queued properly and should no longer be overwritten or lost.
- Received packets under Ad-hoc mode now use the same transfer delay as Infrastructure mode. (Read one halfword every 8 microseconds.)
- Received packet transfer delay only works when the emulation level is set to WifiEmulationLevel_Compatibility. Transfer delay can be disabled by setting the emulation level to WifiEmulationLevel_Normal, which will cause the entire received packet to be transferred immediately.
2018-10-09 15:32:11 -07:00
rogerman 4e92d24b14 WiFi: Some more minor code cleanup. 2018-10-08 13:50:25 -07:00
rogerman e3653b76ce WiFi: Clean up and refactor some more stuff, mostly related to LLC/SNAP encapsulated 802.11 frames. 2018-10-07 21:02:19 -07:00
rogerman 7fda7997b2 MMU.cpp: Only report a VCOUNT change if the new value differs from the existing value. 2018-10-07 14:35:25 -07:00
rogerman f67154484f WiFi: Do a whole bunch of code cleanup, as well as some minor behavioral changes which are listed below.
- If the WiFi emulation level is Off, then always set POWER_US.Disable = 1.
- If POWER_US.Disable == 1, then do not trigger any further WiFi actions.
- The name contained within DeSmuME's frame header has been changed from "NDSWIFI\0" to "DESMUME\0".
- DeSmuME's frame header size has been increased from 12 bytes to 16 bytes.
- Baseband data is now set to a default dataset on reset.
- Baseband data reads/writes now respect the actual R/W behavior of each data byte.
2018-10-05 18:31:55 -07:00
zeromus 5ebc0ca21d
Merge pull request #201 from cbranch/cbranch/fix-pos-test-arm64
Fix undefined behaviour converting 3D postest registers
2018-10-05 18:17:20 -04:00
Chris Branch af205cf582 Fix undefined behaviour converting 3D postest registers
If the position test register is negative, conversion to unsigned
integer is undefined. This breaks games on arm64 where the behaviour is
defined as 'truncate to zero'. Converting to a signed integer first
guarantees the intended behaviour.
2018-10-05 22:59:06 +01:00
zeromus c741f37c11 Merge branch 'newluastuff'
fixes #198

# Conflicts:
#	desmume/ChangeLog
#	desmume/src/Makefile.am
#	desmume/src/OGLRender.cpp
#	desmume/src/OGLRender.h
#	desmume/src/OGLRender_3_2.cpp
#	desmume/src/OGLRender_3_2.h
#	desmume/src/render3D.cpp
#	desmume/src/render3D.h
2018-10-04 22:52:31 -04:00
zeromus ad2dafe661 add lua apis for raw joystick input (on windows, anyway) 2018-10-04 22:43:21 -04:00
rogerman 151b577cc0 GFX3D: Fix compiling for ports that don't support Lua. (Regression from commit 43fcaf6.) 2018-10-03 01:06:42 -07:00
zeromus 43fcaf68f1 add "ability to move camera" (aka freelook). it requires use of a lua script to actually control the matrix switcheroo
re: #130
2018-10-03 03:18:16 -04:00
zeromus d6babce9b7 winport - add some kind of hack to exit the emulator better whenever a lua script is running 2018-10-03 03:13:48 -04:00
zeromus 0406828da2 winport - don't break build if git isn't found in environment
fixes #186
2018-10-03 00:55:51 -04:00
rogerman e6b3dfd5bd Cocoa Port: Sigh... replace the pipe character '|' with a double-dash '--' so that the generated .xcscheme file names won't screw up the file systems of lesser operating systems (cough... Windows... cough). 2018-09-26 02:44:39 -07:00
rogerman d9aa1ac31e Cocoa Port: Update all build schemes in "DeSmuME (Latest).xcodeproj" for compatibility with Xcode 10. 2018-09-26 02:26:19 -07:00