Jules.A
7e4a270644
Ughh... get rid of the extra semicolon...
2018-11-23 14:19:56 +08:00
Jules.A
db1ca70f59
Fix label variable naming, spacing and finally get ini value checking working without requiring to check for the value that is getting changed,
2018-11-23 14:12:52 +08:00
Jules.A
156c590ca4
Check if user inputted values are correct on initiation.
2018-11-23 01:47:14 +08:00
Jules.A
54c6205e95
Fix up the UI and delete the unusused function (it's really not worth it until more settings can be checked).
2018-11-22 22:16:36 +08:00
rogerman
d410b5c195
SoftRasterizer: Fix Z-depth calculations when compiling on MSVC. Fixes the overworld map in Dragon Quest IV. (Regression from commit d81a75c.)
...
- Apparently, MSVC has a more strict implementation of IEEE-754 single-precision floats (with 23-bit significands) than Clang and GCC, and so we going to drop 2 LSBs during the calculation so that we're multiplying z by a 22-bit significand. Coincidentally, this now matches what we're doing with the OpenGL renderer, so this tends to better code consistency.
2018-11-21 19:52:30 -08:00
Jules.A
30e9fb9c46
WIP WinFrontend UI for the new OpenGL compatabilty tradeoffs. Should be fully functional except for CheckValid3DSettingInt where I messed up so I left it commented out, honestly it's probably not needed anyways as there's already checks in place, it just doesn't update ini until you save settings. UI is still a mess, will have to work on that later.
2018-11-21 21:48:30 +08:00
intact
2f93fedbf8
Gtk+ Port: Use Desktop or Home as fallback directory for screenshots
2018-11-21 14:44:35 +01:00
rogerman
f03a880ef9
WiFi: In Compatibility mode, reset the current RX packet's latency counter for every halfword write like its supposed to be.
2018-11-20 23:14:09 -08:00
rogerman
adbbd406b1
Cocoa Port: Add tooltips for each of the OpenGL rendering accuracy options.
2018-11-20 17:56:18 -08:00
rogerman
6f8c060db6
OpenGL Renderer: It is now possible to toggle certain accuracy-related features on and off so that users can choose where to make their accuracy-performance tradeoffs. These four emulation accuracy features are: 'Shadow polygons', 'Special zero alpha blending', 'Depth-Equals test tolerance', and 'Depth-LEqual polygon facing'.
...
- New Behavior: Due to the rarity of needing to emulate 'Depth-LEqual polygon facing' and its guaranteed reduction in performance in all games, this accuracy feature is now OFF by default.
- Expose these new settings in the Cocoa port UI.
2018-11-20 11:44:30 -08:00
rogerman
1e18c3fb9f
Windows Port: When running OpenGL display method, properly initialize V-sync to match wantVsync rather than assuming that the default setting for wantVsync will match the default setting of the video driver.
2018-11-19 02:49:31 -08:00
rogerman
d81a75c867
SoftRasterizer / OpenGL Renderer: Drop less bits in the depth calculation, making for smoother depth transitions. For certain games, this may allow for better distance rendering, especially at the higher resolutions. (Related to commit c9025e8.)
...
- SoftRasterizer may now drop at most one LSB, down from dropping 9 LSBs.
- OpenGL will now drop only 2 LSBs, down from 9 LSBs. In this case, dropping 2 LSBs was specifically chosen to ensure that the Dragon Quest IV overworld map continues to work.
- If this change makes the depth inaccuracy too much worse than before, then we may have to make these particular depth calculations optional in the future. This will need additional testing.
2018-11-17 23:20:59 -08:00
rogerman
be8d08ae87
WiFi: Make WifiHandler::_CopyFromRXQueue() more efficient by doing less copying and less locking.
2018-11-17 19:50:45 -08:00
rogerman
91526e6324
WiFi: Significantly reduce the host-to-emulator latency of libpcap-sourced packets in Infrastructure mode by running RX packet receives on a separate thread, just like how socket-sourced packets in Ad-hoc mode do it.
...
- Also, Infrastructure mode can no longer "partially function." Now, it either works completely or not at all, just like how Ad-hoc mode does it.
2018-11-17 16:02:04 -08:00
rogerman
71df3f4f28
NDSSystem.cpp: Fix interactions between external firmware loading and BIOS loading. Always ensure that loading external firmware is dependent on loading both ARM9 and ARM7 BIOS files.
2018-11-15 01:04:06 -08:00
rogerman
e27cc87bdf
Firmware: Standardize how the firmware configuration is set.
...
- Now, the only two methods for changing any firmware setting is by modifying CommonSettings.fwConfig or by loading an external NDS firmware binary file.
- All methods for changing the firmware MAC address through the WifiHandler class have been removed.
- The FirmwareConfig struct can now handle the WFC User ID.
- Clients can now retrieve the current MAC address and WFC User ID using NDS_GetCurrentWFCUserID(). It is also possible to retrieve the WFC User ID from CommonSettings.fwConfig.
- Setting up the firmware in NDS_Reset() should now be more consistent. However, this does change some of the loading/unpacking order previously set by NDS_FakeBoot(). This will need additional testing.
- Do a whole bunch of code refactoring and cleanup.
2018-11-15 00:18:22 -08:00
rogerman
5d85ac2e23
WiFi: Reduce the number of packets read by pcap_dispatch() from 16 to 1, significantly reducing the host-to-emulator latency of Infrastructure packet reads. This seems to be the best choice for maintaining a stable online connection, albeit at a significantly increased CPU cost for the host machine.
...
- Also do some minor code refactoring and cleanup.
2018-11-08 01:49:36 -08:00
rogerman
6eb1a79a71
WiFi: Significantly reduce the host-to-emulator latency of socket-sourced packets and make the emulated copy-to-WRAM latency more consistent when running Compatibility mode.
...
- Also slightly reduce the host-to-emulator latency of libpcap-sourced packets.
2018-11-07 13:20:10 -08:00
Roger Manuel
7ae2d764b0
Merge pull request #216 from Jules-A/winWifi
...
Win Port: Wifi cleanups following 9d05935
2018-11-04 15:32:05 -08:00
SuuperW
4affd3ca8a
Allow user to change new path settings in the path config dialog.
2018-11-04 07:08:59 -06:00
SuuperW
c8d534299f
Add SRAM_IMPORT_EXPORT path setting to separate from the auto-save battery location.
2018-11-04 06:08:08 -06:00
rogerman
c8306de8d2
arm_jit.cpp: OP_LDRD_REG() and OP_STRD_REG() now treat even-numbered registers as double-word load/stores, while odd-numbered registers are treated as single-word load/stores. (Fixes #215.)
...
- This change shouldn't actually change any functionality in practice... probably. This change is there to silence a compiler warning more than anything else... hopefully.
2018-11-02 13:06:15 -07:00
Jules.A
aecf153016
Fix wrong bool type, attempt to make warnings more clear.
2018-11-02 10:18:27 +08:00
Jules.A
ef53eccb0e
I guess they aren't the same message.
2018-11-02 09:26:08 +08:00
Jules.A
b6c69b031f
Nit: GetBridgeDeviceList already has proper return codes so just initialize variable locally.
2018-11-02 09:19:55 +08:00
Jules.A
36040e90a3
Let the user know when WinPcap isn't loaded.
2018-11-02 07:35:15 +08:00
Jules.A
4705c3e59a
Whoops, fix deviceCount.
2018-11-01 21:47:15 +08:00
Jules.A
c640e5c480
Winport wifi cleanups after 9d05935
. Removes interface for setting wifi mode along with removing redundant code.
2018-11-01 21:40:14 +08:00
rogerman
620048c43c
Firmware: Add the NDS_ReadFirmwareDataFromFile() function, which allows ports to either retrieve the entirety of a firmware file's data or to quickly read just a specific piece of it.
...
- The Cocoa port uses this new function for UI purposes.
2018-11-01 03:44:05 -07:00
rogerman
9d05935696
WiFi: The user no longer has to manually choose between using Ad-Hoc or Infrastructure modes. The code now automatically sends/receives packets to and from their proper places.
...
- This change obsoletes "CommonSettings.wifi.mode", which now does nothing. Ports that make use of this setting should remove it.
- Also do a bunch of code refactoring and cleanup.
2018-11-01 00:23:41 -07:00
rogerman
1e9aa08f54
Cocoa Port: Do some minor code cleanup.
2018-11-01 00:02:05 -07:00
rogerman
84e5228274
matrix.cpp: Use the __restrict keyword for MatrixCopy(), MatrixCompare(), and MatrixGetMultipliedIndex() to further clarify that the passed in matrices must be separate and non-overlapping.
2018-10-31 23:45:49 -07:00
zeromus
d8c0ca6f5b
notify the lua script of an updated projection, in more cases (re: #130 )
2018-10-31 23:30:40 -04:00
zeromus
ad7b80ec87
add lua functions emu.gamecode and emu.smallgamecode for game-specific hacks in scripts
...
re #130
2018-10-31 21:29:25 -04:00
rogerman
56895a11aa
Cocoa Port: Delete the now defunct preferredResourceStorageMode property that was obsoleted by commit da3970d
.
2018-10-31 15:54:46 -07:00
rogerman
8944328f80
OpenGL Renderer: Partially fix rendering in the Customize screen of Sands of Destruction.
...
- This fix properly emulates the less-than-or-equal depth test rendering for front-facing polygons drawn on top of opaque back-facing fragments, but only if the front-facing polygon is opaque. Translucent front-facing polygons are not supported at this time due to requiring extensive changes to the rendering logic and shaders in order to emulate this extremely rare and niche NDS feature. (If you require the proper rendering of translucent front-facing polygons on top of back-facing fragments, then you must use SoftRasterizer.)
2018-10-31 13:44:20 -07:00
rogerman
44ac04df27
OpenGL Renderer: Do some small optimizations to the OpenGLRenderer::ZeroDstAlphaPass() and OpenGLRenderer::RenderEdgeMarking() methods. Also reduce VRAM usage.
2018-10-31 01:23:13 -07:00
rogerman
dab414c725
OpenGL Renderer: Force front facing and back facing polygons to draw in separate groups, fixing a rendering bug in the car selection screen of "Need For Speed: Most Wanted". (Regression from commit 47a7194
. Fixes #212.)
2018-10-29 15:00:59 -07:00
rogerman
276e26c194
OpenGL Renderer: Calculate the polygon facing for each individual polygon, just like how SoftRasterizer does it.
2018-10-29 14:08:44 -07:00
rogerman
2000737593
GPU: Remove now defunct line info buffers.
2018-10-29 09:58:00 -07:00
rogerman
1c36705fe3
Windows Port: Fix all the compilers warnings when using the CACHE_ALIGN macro by reverting the use of alignas(X) back to __declspec(align(X)).
2018-10-28 15:54:09 -07:00
zeromus
26bfb66caf
auto-select retail nand for Daigassou! Band-Brothers DX ( fixes #213 )
2018-10-28 09:00:24 -04:00
rogerman
0beabec97c
Save States: Properly rescale and convert the internal 3D framebuffer to and from a standard format -- 32-bit RGBA8888. (Related to commit c1eafc5
and completes all the work in PR #190 by @SuuperW.)
2018-10-27 22:54:30 -07:00
rogerman
79687d3031
GPU: Okay, so fix another potential bug with main memory display mode in 15-bit since the evaluation order of function parameters is not guaranteed across different compilers. (In this particular case, the evaluation order is actually important.)
2018-10-27 19:49:24 -07:00
rogerman
fb7dbca344
GPU: Fix bug with main memory display mode when running 18-bit or 24-bit color depth. (Fixes #211.)
2018-10-27 19:25:15 -07:00
rogerman
4735079c9a
Save States: The GPU framebuffer downscaling code can now take a faster code path if available.
2018-10-27 16:28:00 -07:00
rogerman
0f9f86fe61
GPU: Improve the code consistency when it comes to scaling up lines.
2018-10-27 15:50:16 -07:00
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
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
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
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
rogerman
a857e0e65c
ROMReader.cpp: Fix compiling on non-Windows systems. (Regression from commit 12c9323.)
2018-09-22 13:41:28 -07:00
zeromus
12c93232b9
winport - minimal work to get wacky characters filenames loading via file menu
...
fixes #192
2018-09-22 15:56:02 -04:00
zeromus
1b10b39603
fix bugs in utf8/utf16 string conversion functions dating back to libretro-common installation
2018-09-22 15:55:09 -04:00
rogerman
acb140209a
GPU: Make the overall functionality of CopyLineExpand() and CopyLineReduce() more complete. Also do some small optimizations to GPUEngineBase::_LineCopy() while I'm at it.
...
- GPUEngineBase::_LineCopy() optimizations only apply to 2x, 3x, and 4x scaling.
- Add SSE2 version of 3x CopyLineExpand() when using ELEMENTSIZE==1.
- Add SSE2 versions of CopyLineReduce() and add specific 2x/3x/4x versions of CopyLineReduce_*() algorithms.
- CopyLineExpand() now supports vertical scaling in addition to horizontal scaling.
- GPU buffers that were previously only cache-aligned are now page-aligned if appropriate.
2018-09-19 16:06:39 -07:00
rogerman
7c80205a40
Render3D: Small optimization to scrolling clear images on non-SSE2 systems.
...
- Also fix a depth bug for scrolling clear images on SSE2 systems by disabling the SSE2-specific code. This issue will need to be researched at a later date.
2018-09-19 15:51:58 -07:00
rogerman
1767651b19
Fix all current build issues for all non-Windows platforms. Truly fixes #191 . (Regressions from commit e697391
and commit b8ebe97.)
2018-09-15 14:50:11 -07:00
zeromus
5bb4437720
fix movie.cpp
2018-09-15 17:21:06 -04:00
zeromus
1a34cfae5f
fix posix build error in wifi.h. fixes #191
2018-09-15 16:59:18 -04:00
zeromus
0c6f18d5eb
fix replay-related posix build error
2018-09-15 16:58:10 -04:00
zeromus
e09f269914
Merge pull request #188 from SuuperW/paths
...
Paths
2018-09-13 18:44:47 -04:00
zeromus
e828070d4d
Merge pull request #187 from SuuperW/movies
...
Movies
2018-09-13 18:44:28 -04:00
rogerman
b8ebe973b9
WiFi: Huge code cleanup and refactor, mostly reworking register handling.
...
- Note that functionality should remain practically the same as before. Any actual functional changes are completely unintentional.
2018-09-12 16:54:33 -07:00
SuuperW
35337a562a
fix commit 910661f
2018-09-07 16:34:31 -05:00
SuuperW
910661f982
(Windows) Switch Record WAV to use the same directory as Record AVI.
2018-09-07 16:24:02 -05:00
SuuperW
39f473c590
(Windows) Save selected WAV path
2018-09-07 16:14:00 -05:00
SuuperW
3b310082dc
(Windows) Properly set ofn.lpstrFile for import/export sav and for recording AVI/WAV
2018-09-07 16:12:54 -05:00
SuuperW
0cb3bbe87d
Format code. (mostly fixing indentation)
2018-09-05 00:39:12 -05:00
SuuperW
aaad5e63c5
(Windows) Save and use all config paths.
...
Add StateSlots path to avoid losing saved slot states when user manually selects a file to load elsewhere.
2018-09-05 00:27:49 -05:00
SuuperW
e2d83f99fe
Support type string in setpath, use new method in several places.
...
Make SwitchPath check for all directory delimiters when removing trailing delimiter, remove redundant trailing delimiter logic in CFIRMWARE::GetExternalFilePath().
2018-09-04 12:14:02 -05:00
SuuperW
524997e406
clean up Path::IsPathRooted
2018-09-04 11:23:11 -05:00
SuuperW
c9c6049892
Move PathInfo method definitions to .cpp file.
2018-09-04 00:26:34 -05:00
SuuperW
407b01b39d
(Windows) Set default path for exporting a save to path.BATTERY (same as importing a save)
2018-09-03 06:02:01 -05:00
SuuperW
4c5842d2aa
code cleanup
2018-09-03 05:42:30 -05:00
SuuperW
2a7103ec0b
Save movie's savestate to a separate file instead of encoding it in the movie file. (This gives significantly faster performance, and will make it easier for the user to edit the starting savestate if need be.)
2018-09-03 05:35:05 -05:00
SuuperW
e697391dfd
Support recording/playing movies starting from a savestate.
2018-09-03 01:05:41 -05:00
SuuperW
484b062bf5
Add swiFromBios and bootFromFirmware to MovieData.
2018-09-02 10:52:53 -05:00
SuuperW
11e2448d1c
Better loading of JIT settings from a movie.
2018-09-01 12:38:39 -05:00
SuuperW
3645ff4e77
Alert the user when opening emulation/firmware settings while they are set by a movie.
2018-09-01 12:34:17 -05:00
SuuperW
80047bff91
When closing or rebooting a ROM, reset emulation settings that were set by a movie.
2018-09-01 12:05:21 -05:00
SuuperW
4a844b2394
bugfix from last commit
2018-09-01 12:03:31 -05:00
SuuperW
e83ec89578
Loading a movie now sets emulation/firmware settings.
2018-09-01 11:12:01 -05:00
SuuperW
bd299672a1
Save jitBlockSize to movie files
2018-08-31 23:02:47 -05:00
SuuperW
10dc63abca
Some more cleanup of movie.cpp LoadFM2
2018-08-31 21:30:13 -05:00
SuuperW
a5d843e361
Rework MovieData::installValue to separate code for each key/value and to avoid using a long if else if chain.
2018-08-31 21:13:16 -05:00
SuuperW
491ee62754
Clean up movie.cpp LoadFM2.
2018-08-31 16:18:21 -05:00
zeromus
c8ef38ad20
Merge pull request #185 from SuuperW/hotkeys
...
Hotkeys
2018-08-30 14:55:13 -05:00
SuuperW
57bfbb1562
Change implementation of moving a cheat in the cheat list. (originally implemented in commit 24cdbf0
)
2018-08-30 11:49:11 -05:00
SuuperW
dee24cdbc1
Print a message when a cheat code forces the JIT to reset.
2018-08-30 11:47:56 -05:00
SuuperW
bbb190a136
bugfix (from commit 534cf251
)
2018-08-30 11:47:35 -05:00
SuuperW
38b2039844
(Windows) Implement Ctrl+A shortcut for cheat list.
2018-08-30 11:45:57 -05:00
SuuperW
534cf2515b
(Windows) Allow un/checking multiple cheats at once. ( #178 )
2018-08-30 11:45:57 -05:00
SuuperW
24cdbf0269
(Windows) Allow rearranging of cheats in the cheat list. (Requested by #178 )
2018-08-30 11:45:56 -05:00
SuuperW
084a42a2f8
(Windows) Ask the user if they want to save changes to the Cheat list when the dialog's close/X button is clicked, if there are changes to save.
2018-08-30 11:45:31 -05:00
SuuperW
51303b9bc9
(Windows) Extend last column of Cheats list to fully show max-length descriptions, and shorten window/list view width. (Requested by #178 )
2018-08-30 11:45:10 -05:00
SuuperW
80cfb59c2c
(Windows) Clean up/combine string tables.
2018-08-30 11:27:25 -05:00
SuuperW
56477f0c5c
(Windows) Add hotkeys for toggling display layers.
2018-08-30 11:14:44 -05:00
SuuperW
811d9a3c18
(Windows) Move TwiddleLayer from main.cpp to display.cpp (prepare for new hotkeys)
2018-08-30 11:01:57 -05:00
SuuperW
5cc49fe417
(Windows) Add hotkeys for cheat list and toggle cheats.
2018-08-30 10:35:29 -05:00
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
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
zeromus
fe851aa10c
Merge pull request #159 from SuuperW/display
2018-07-21 15:27:56 -05:00
rogerman
ad5f5c24e6
Colorspace Handler: Fix bug where ColorspaceApplyIntensityToBuffer*() would not apply an R/B color swap when requested.
2018-07-20 18:45:44 -07:00
retr0s4ge
8cbdc339f2
(Windows Frontend) Fix window size increase on startup if screen size ratio > 1
...
Fix missing division in ScaleScreen function which caused window size to increase on each startup if screen size ratio > 1.
2018-07-21 00:00:54 +02:00
SuuperW
9ccf9acea4
Revert commit 15957ba
, and apply backlight effect regardless of whether using DirectDraw or OpenGL.
2018-07-18 14:51:45 -05:00
SuuperW
84e8057682
Resize the window when changing the screen gap.
2018-07-18 12:20:03 -05:00
SuuperW
a4411086e0
Fix issue with resizing the window vertically.
2018-07-18 12:19:33 -05:00
SuuperW
842ed1b93c
Put HUD drawing back to before applying the video filter.
2018-07-18 10:09:59 -05:00
SuuperW
77c0b6e702
Fix bug where OpenGL HUD would be stretched with 90 or 270 degree rotation. (regression from commit 6fc7161
)
2018-07-18 01:58:56 -05:00
SuuperW
15957ba792
Remove use of backlight intensity when using DirectDraw. (previously removed it with OpenGL in commit 6fc7161
)
2018-07-17 11:40:05 -05:00
SuuperW
60aedec5d2
Scale HUD when using DirectDraw. (fix regression from commit 5906d44
)
2018-07-17 11:38:59 -05:00
retr0s4ge
43a9734ba2
Fill the areas above and below the resized screen with black when using DirectDraw display method.
...
This is needed to remove garbage from the window after resizing the screen. OpenGL display method already does this.
2018-07-13 16:43:43 +02:00
retr0s4ge
d17a01d0c3
Center the resized screen vertically by default and add a check menu setting to change that if required.
2018-07-13 14:43:02 +02:00
SuuperW
6fc7161f19
Rework HUD rendering with OpenGL.
...
-Fixes regression from commit 5906d44
where HUD would appear smaller when using HD scaling. (only fixed with OpenGL for now)
-Remove use of backlightIntensity for displaying. Fixes bug where screen would appear dark on the first frame after loading a save state. Underlying cause should probably still be fixed, though. (Why would the backlight level affect the display anyway? That setting on the DS is only present because it has its own physical screens and makes no sense here.)
2018-07-12 11:23:23 -05:00
retr0s4ge
9dd7e0f451
Adjust the aspect ratio of the resized screen to follow the user setting, and modify input scaling accordingly.
2018-07-12 00:13:43 +02:00
SuuperW
dc41f09189
some code cleanup; fix crash on changing to 15 bpp from a higher bpp
2018-07-09 11:41:46 -05:00
retr0s4ge
5ad5e16a40
(Windows Frontend) Allow screen resizing in horizontal display layout.
...
The right hand screen is allowed to be resized in horizontal screen layout to enable the window or full screen display to better utilize the screen area.
Changes:
1- Modify scaling, resizing and update functions to allow for new screen resizing ratio
2- Modify touch input scaling (incl. HUD editing) to adapt to different screen sizes
3- Add GUI menu for user to select the screen resizing ratio
4- Implement saving/loading settings from file similar to other settings
2018-07-09 01:03:35 +02:00
retr0s4ge
66062bca80
Don't save ethernet packets to pcap files by default.
...
Save only if the defined WIFI_LOGGING_LEVEL >= 3
2018-07-08 23:39:14 +02:00
SuuperW
b95f58826e
Fix ordering of fonts
2018-07-08 11:28:29 -05:00
zeromus
41104fd315
fiddle around with movie sram
...
re #152
2018-07-06 14:18:14 -04:00
zeromus
f79e24dba8
Merge pull request #153 from Salz/pullreq/agg
...
revert to agg >= 2.4
2018-07-06 13:54:50 -04:00
zeromus
a17bafa652
Merge pull request #154 from Salz/pullreq/gdb-stub
...
Pullreq/gdb stub
2018-07-06 13:54:23 -04:00
zeromus
9f7ed1aeeb
Merge pull request #155 from Salz/pullreq/commandline
...
Fix CommandLine initialization
2018-07-06 13:53:40 -04:00
SuuperW
5496c8e024
Remove the now unused firstTime parameter of DoDisplay.
2018-07-06 11:45:38 -05:00
SuuperW
5906d44c2d
On Windows, draw HUD before the filter to avoid having to scale it separately. (significant performance boost when using a filter)
2018-07-06 11:45:07 -05:00
SuuperW
e4d5da97c0
Add prefilterWidth/Height
2018-07-06 11:44:11 -05:00
Ingo Saitz
cebbb262d1
revert to agg >= 2.4
2018-07-05 11:42:03 +02:00
Ingo Saitz
696135d712
Fix BaseDriver class
...
Commit 7548294333
broke compilation of
desmume/src/NDSSystem.cpp if DEVELOPER is defined by --enable-gdb-stub
Needs commit c9ad909a75b0ad89d0bd84829ed536c5ae0ffc93
2018-07-05 11:28:52 +02:00
Ingo Saitz
b976584451
fix --enable-gdbstub
2018-07-05 11:28:46 +02:00
Ingo Saitz
dd8d4e6715
Fix CommandLine initialization
...
Commit 7548294333
added _fw_boot and
_fw_path, need to make sure they are initialized, too.
2018-07-05 11:28:05 +02:00
SuuperW
c64a556d82
Properly handle SRAM when playing movies, with or without starting from SRAM.
2018-07-04 11:11:57 -05:00
SuuperW
35ddbb341d
Fix bug where movies starting from sram would crash.
2018-07-01 12:46:38 -05:00
retr0s4ge
411bcaa15d
Forcibly wait for the display thread to draw each frame (never skip any frame) ONLY IF the user set frame skip to "0 (never skip)".
...
Current implementation causes significant display lag if any magnification filter is used while GPU scaling factor is >1.
2018-06-29 14:23:01 +02:00
retr0s4ge
7548294333
1- Apply WiFi-ONLY related fixes from desmume-reloaded project by Jackobo Le Chocobo to desmume project (code base 22/06/2018).
...
2-Add required include and define statement to aviout.h to fix build error.
(cherry picked from commit 470e54e361
)
2018-06-29 09:31:30 +02:00
zeromus
bd63ff1bd1
Merge pull request #148 from SuuperW/master
...
Do not allow skipping display frames (except in extreme lag).
2018-06-28 12:50:47 -04:00
SuuperW
ee8fdebcf1
Do not allow skipping display frames (except in extreme lag), so that the user sees every emulated frame and the HUD updates every frame.
2018-06-28 11:34:38 -05:00
Ingo Saitz
0e86cf128d
Call XInitThreads() in posix frontend
...
XInitThreads() is needed in multi-threading X applications when multiple
threads try to access the Xlib. Add the call to the three frontends in
posix/ and add the required autoconf-stuff, too.
2018-06-27 14:41:02 -05:00
SuuperW
a8fa8a44d6
Do not reset buffers when calling SetPrescale with the current scaling values.
2018-06-27 11:27:05 -05:00
SuuperW
35a2ca9721
Redraw display after changing video filter. (Regression from commit 8622a33.)
2018-06-27 11:25:48 -05:00
SuuperW
8622a334a2
Rework buffer size allocations to only allocate as much space as is actually required.
2018-06-27 11:23:36 -05:00
zeromus
0f4b3ead00
replace SMLAL_BB and friends with more clear logic that hopefully isnt bugged
...
but I couldnt find a game exercising it, so I dont know whether it's correct.
should fix #139
2018-06-15 17:48:28 -04:00
zeromus
022d24b5c2
gfx3d - savestate `renderState` along with `state`
...
there's really nothing more to it than this. it should have been done from the beginning.
you wouldn't notice this unless you had a game that stopped rendering 3d, though.
(re #141 )
2018-05-25 11:39:58 -04:00
rogerman
932cdd6366
Cocoa Port:
...
- Do a bunch of code refactoring and cleanup.
- Add some new UI for an upcoming new feature.
2018-05-17 21:22:51 -07:00
rogerman
c024a78a43
GPU / SoftRasterizer: Fix a build issue for Altivec-enabled code. (Related to commits c41a006
and 43d3883.)
2018-05-17 20:06:31 -07:00
zeromus
9c128460c4
winport - make it so you can only open one of each disassembler views at a time (reportedly theyre crashy if theres more than one of them open.. seems likely to be the case for any of our tool windows)
2018-04-18 13:14:01 -05:00
zeromus
deffcaa075
added /LARGEADDRESSAWARE so we can get more than 6x or 7x scaling in 32bit builds
2018-04-12 21:48:22 -05:00
rogerman
24d941d02e
Colorspace Handler: Fix some bugs in AVX2. (Regression from commit 858b05d
. Fixes #131.)
2018-03-11 14:13:26 -07:00
rogerman
ab3c221bf6
Windows Port: In Sound Settings, under the Interpolation menu, remove the obsolete performance notes, as these options do not actually affect performance. Instead, provide a better description of the effects caused by these options as experienced by the end-user.
2018-03-05 12:06:10 -08:00
rogerman
92924db136
Windows Port: Related to commit 8d011f8
-- check the flag first to try to avoid the more expensive system calls.
2018-03-04 17:39:27 -08:00
rogerman
42c0379cbb
OpenGL Renderer: Fix one more possible crash that may occur if the 3D framebuffer is read before the 3D renderer has a chance to render at least once. (Related to commit f8bbbec.)
2018-03-04 17:20:21 -08:00
rogerman
8d011f8344
Windows Port: Optimize input handling, reducing CPU usage when the emulator is idle. (Related to commit 8fb0d6d.)
2018-03-04 17:17:26 -08:00
rogerman
8fb0d6ddc5
Windows Port: Reduce CPU usage while the emulator is idle.
2018-03-03 20:41:23 -08:00
rogerman
e825cddbe5
Windows Port: Fix a rare and intermittent bug that could cause the AVI recording to accidentally stop in between AVI segments. (Regression from commit db1a19a.)
2018-03-02 15:59:37 -08:00
rogerman
b8c006b0b5
Windows Port: Do some minor code cleanup related to commit 8763a61
.
2018-03-02 14:00:52 -08:00
rogerman
8763a6169a
Windows Port: AVI recording now maintains many more frames in memory. Also, the framebuffer color conversion threads and file writing thread are more free running threads.
...
- These changes help to stabilize the performance of AVI recording, making it less sensitive to sudden changes in disk writing speed.
- The maximum amount of frames maintained in memory will either be 1.5 GB worth or 180 frames (or 3 seconds) worth, whichever is less.
2018-03-02 13:09:39 -08:00
rogerman
db1a19ad86
Windows Port: Do a complete code cleanup and refactor of aviout.cpp to use proper C++ objects.
...
- aviout.cpp now uses Windows-style line-endings instead of Unix-style line-endings.
- AVI segments now fill up much closer to the 2 GB file limit than before.
- Error handling in the file writing thread is much more robust.
2018-03-01 08:47:24 -08:00
rogerman
cbe4717d2f
Windows Port: When recording AVIs, video framebuffer conversions and file write operations are performed asynchronously with the main thread. This should greatly increase AVI recording performance.
2018-02-25 16:00:31 -08:00
rogerman
c7ca122d95
Windows Port: Fix building on Windows. (Regression from commit c7bb41e.)
2018-02-19 12:46:41 -08:00
rogerman
c7bb41e4b1
matrix.cpp: Rework all matrix function parameters for explicit array sizing in order to aid compiler optimization and (hopefully) aid in code readability. Also add SSE4.1 versions for the main matrix functions.
2018-02-19 11:43:55 -08:00
rogerman
5a61a08727
matrix.cpp: Do some more code cleanup.
2018-02-16 20:11:36 -08:00