Commit graph

12892 commits

Author SHA1 Message Date
comex
9ed7e3bd3e Merge pull request #2536 from endrift/deploy-mac
Tools: Use non-CMake tool for fixing up OS X bundles
2015-06-08 17:33:17 -07:00
Ryan Houdek
ffe085f5ea [AArch64] Implement CRC32 texture hashing.
In a particular hashing heavy scene in Crazy Taxi the Murmur3 hash used 3.11% CPU time.
The new CRC32 hash in the same scene used 1.86%
This was tested on a Nvidia SHIELD Android TV with Cortex-A57s.

This will be a bit slower on the Nexus 9, the Denver CPU core is a bit slower with CRC32 texture hashing than Murmur3 texture hashing.
2015-06-08 19:16:50 -05:00
Anthony Serna
57f7129295 Changed AR Code Window and Patch Window
Text fields no longer have redundant text.
Blank text variables no longer have redundant translation syntax.
Removed redundant else condition.
Fixed bug with cheat name deleting itself on edit.
2015-06-08 17:02:16 -07:00
NanoByte011
59f273696a VideoSW: refactor shared lighting attenuation function
- Refactored Light Attenuation into inline function in Software Renderer
- Corrected zero length light direction vector to resolve with normal direction (essentially becomes LIGHTDIF_NONE which was what I was after)
- Change the API of this shared function to use points for output variables (degasus)
2015-06-08 23:20:27 +02:00
NanoByte011
06d1b8c63a VideoSW: rewrite lighting attenuation
- Fixes remaining lighting issues (Mario Tennis, etc)
- Apply same fixes to Software Renderer
- Corrected zero length light direction vector to resolve with normal direction (essentially becomes LIGHTDIF_NONE which was what I was after)
2015-06-08 23:20:27 +02:00
degasus
d31bed8b79 Fifo: Rewrite SyncGpu
The new implementation has 3 options:
 SyncGpuMaxDistance
 SyncGpuMinDistance
 SyncGpuOverclock

The MaxDistance controlls how many CPU cycles the CPU is allowed to be in front
of the GPU. Too low values will slow down extremly, too high values are as
unsynchronized and half of the games will crash.
The -MinDistance (negative) set how many cycles the GPU is allowed to be in
front of the CPU. As we are used to emulate an infinitiv fast GPU, this may be
set to any high (negative) number.

The last parameter is to hack a faster (>1.0) or slower(<1.0) GPU. As we don't
emulate GPU timing very well (eg skip the timings of the pixel stage completely),
an overclock factor of ~0.5 is often much more accurate than 1.0
2015-06-08 23:16:24 +02:00
Papermanzero
47ea0e1089 Update WiimoteEmu.cpp
Should fix Issue 8209: Emulated Wiimote tilt is incorrect since 4.0-4543. 
Original changes can be looked at the link below and discussion about the issue can be followed within Issue 8209 at googlecode.
http://pastebin.com/yKA2nuGp

Thanks to hk.konpie for the fix.
2015-06-08 13:22:55 +02:00
JosJuice
04de064732 DolphinQt: Use short GC game titles in grid view
Short titles fit better than long titles.
2015-06-08 12:04:51 +02:00
JosJuice
ec0370d2d1 Volume: Add prefer_long parameter to GetNames
GC games with long names store two variations of the name in
opening.bnr. This makes the shorter of those names available.
For volumes other than GC discs, prefer_long is ignored.
2015-06-08 12:00:34 +02:00
Tillmann Karras
aec38466d9 Jit64: optionally accurate NaNs
When AccurateNaNs is enabled, NaNs are handled accurately by checking
for NaN results and choosing the correct input NaN or replacing x86's
generated -QNaN with +QNaN.
2015-06-08 11:14:52 +02:00
Ryan Houdek
881f6db2ab Merge pull request #2509 from comex/fix-ar-codes
Fix subdialogs of the ISO props dialog... sort of
2015-06-08 04:13:16 -04:00
Ryan Houdek
3a3b782f3c [AArch64] Detect AES/SHA1/SHA2/CRC32 in CPUDetect. 2015-06-08 01:20:24 -05:00
Ryan Houdek
59e2225f7d Remove ARMv7 support. 2015-06-07 22:44:13 -05:00
Ryan Houdek
499478bcad Merge pull request #2550 from Armada651/d3d-pokes
D3D: Implement Z pokes.
2015-06-07 23:25:16 -04:00
Ryan Houdek
9969273994 Merge pull request #2557 from AdmiralCurtiss/gc-sram-checksum
GameCube SRAM: Recalculate checksums after setting language.
2015-06-07 23:24:06 -04:00
Ryan Houdek
e8ae0f8c3c Merge pull request #2562 from Sonicadvance1/aarch64_optimize_gatherpipe
[AArch64] Optimize gatherpipe stores
2015-06-07 23:23:11 -04:00
Ryan Houdek
8c2e5e2860 Merge pull request #2555 from Sonicadvance1/aarch64_rebase_ppsspp_emitter
[AArch64] Upstream PPSSPP's emitter changes.
2015-06-07 23:23:04 -04:00
Ryan Houdek
a81d1c250a Merge pull request #2512 from JosJuice/bnr-size-match
VolumeGC: Check that opening.bnr size matches type
2015-06-07 23:20:54 -04:00
Ryan Houdek
51b440fbcf Merge pull request #2449 from sigmabeta/android-decouple-surfaceview
\Android: Decouple SurfaceView initialization and emulation start.
2015-06-07 23:18:56 -04:00
Ryan Houdek
9521bc1fc6 Merge pull request #2558 from sigmabeta/android-panic-alerts
Android: Display Panic Alerts on-screen as a Toast message.
2015-06-07 23:14:34 -04:00
Ryan Houdek
c79dd40e72 Merge pull request #2529 from JosJuice/ini-skip-bom
Skip reading UTF-8 BOM at the beginning of INI files
2015-06-07 23:13:53 -04:00
Ryan Houdek
daf9492072 Merge pull request #2561 from Sonicadvance1/gles_fix
Fix OpenGL ES shader compilation.
2015-06-07 23:12:57 -04:00
Ryan Houdek
444d112df5 Merge pull request #2563 from Sonicadvance1/aarch64_disable_psql
[AArch64] Disable psq_l again.
2015-06-07 23:12:50 -04:00
Ryan Houdek
c8068e26fb Merge pull request #2527 from Sonicadvance1/aarch_multi_loadstore
[AArch64] Implement lmw/stmw.
2015-06-07 23:12:42 -04:00
Matthew Parlane
9e1aab663f Revert "SDL: handle SDL_QUIT event" 2015-06-08 13:43:39 +12:00
Ryan Houdek
d29fd84249 [AArch64] Disable psq_l again.
Still causing issues with games.
Disable it again until I can spend enough time debugging it.
2015-06-07 19:55:27 -05:00
Ryan Houdek
46c3a11d01 [AArch64] Optimize gatherpipe stores
This can be even more optimized in the future when the register cache supports constant caching.
2015-06-07 19:53:40 -05:00
Ryan Houdek
8ae12d8005 [AArch64] Add ASIMD LDR/STR with register offset 2015-06-07 19:53:05 -05:00
Ryan Houdek
05b72c5d31 [AArch64] Upstream PPSSPP's emitter changes.
Requires a minor change to in the JIT to make sure everything still works.
2015-06-07 19:50:21 -05:00
comex
5c7caf1f22 Merge pull request #2517 from comex/netplay-timebase-rb
[rebased] Compare timebase of netplay users to detect desyncs.
2015-06-07 17:47:53 -07:00
Ryan Houdek
3f46491255 Fix OpenGL ES shader compilation. 2015-06-07 19:44:44 -05:00
Admiral H. Curtiss
63064aeaaa GameCube SRAM: Add a struct for the "flags" parameter. 2015-06-08 02:40:02 +02:00
Admiral H. Curtiss
78903884e5 GameCube SRAM: Recalculate checksums after setting language.
This fixes a minor bug where the IPL thinks the SRAM has been corrupted and forces you to re-set date/time and settings when you change language in Config -> GameCube while not skipping the IPL on boot.
2015-06-08 02:40:02 +02:00
Admiral H. Curtiss
350f2fb40e Fixes issue with PAL Wind Waker not displaying PAL60 option. 2015-06-08 02:29:35 +02:00
sigmabeta
d752ee73c0 Android: Remove old panic alert messsaging flags. 2015-06-07 20:16:55 -04:00
sigmabeta
3038368128 Android: Display Panic Alerts on-screen as an Android Toast message. 2015-06-07 20:13:52 -04:00
Markus Wick
e987383f6d Merge pull request #2537 from degasus/master
Config: Add SyncOnSkipIdle GameIni option
2015-06-07 23:02:12 +02:00
Ryan Houdek
588de63f9c Merge pull request #2141 from Tilka/position_cache
zfreeze: cache vertex positions
2015-06-07 16:44:40 -04:00
flacs
82fa01804c Merge pull request #2553 from AdmiralCurtiss/cpu-engine-selection-fix
Config: Fix incorrect array length detection for CPU Emulation Engine options.
2015-06-07 21:40:38 +02:00
Lioncash
62bcba3fb7 Merge pull request #2554 from JosJuice/hires-textures-translation
VideoConfigDiag: Translate cache_hires_textures_desc like other strings
2015-06-07 14:44:05 -04:00
JosJuice
b856849b1d VideoConfigDiag: Translate cache_hires_textures_desc like other strings
1aa829c made these strings use wxTRANSLATE by reverting 0004b60, but
cache_hires_textures_desc was left out because it was added after 0004b60.
2015-06-07 20:25:42 +02:00
Admiral H. Curtiss
3520a1d123 Config: Fix incorrect array length detection for CPU Emulation Engine options. 2015-06-07 19:39:54 +02:00
Jules Blok
75fef8e26f D3D: Implement Z pokes. 2015-06-07 15:33:30 +02:00
Jules Blok
cfc23560d9 D3D: Set the viewport to the full target size when doing EFB pokes. 2015-06-07 13:32:00 +02:00
flacs
30db1959fa Merge pull request #2549 from Tilka/fma4
Revert "Jit64: add FMA4 support to fmaddXX"
2015-06-07 13:29:03 +02:00
Tillmann Karras
3513dd454f Revert "Jit64: add FMA4 support to fmaddXX"
This reverts commit 794a311b11.
2015-06-07 13:03:16 +02:00
Dolphin Bot
0245dd156d Merge pull request #2543 from JosJuice/remove-dsp-thread-reference
Remove reference to DSP on Dedicated Thread
2015-06-07 13:01:06 +02:00
flacs
cab9f7b4da Merge pull request #2548 from endrift/jit-nulls
Common: Add null checks when adding and removing breakpoints
2015-06-07 12:44:41 +02:00
Ryan Houdek
10bd68936c [AArch64] Implement ZFreeze cache 2015-06-07 12:13:01 +02:00
Tillmann Karras
5ddd2cef6c zfreeze: cache vertex positions
Suggested by degasus.
2015-06-07 12:13:00 +02:00
Tillmann Karras
9e2f4dd7da VertexLoaderX64: revert 9da86092ae
I can't reproduce that it's actually faster and it will definitely be
slower with position caching for zfreeze.
2015-06-07 12:13:00 +02:00
Matthew Parlane
cf8f049c4d Merge pull request #2518 from degasus/hotkeys
Hotkeys: Drop old GUI
2015-06-07 20:10:10 +10:00
Jeffrey Pfau
1214161ad9 Common: Add null checks when adding and removing breakpoints 2015-06-07 03:03:35 -07:00
Matthew Parlane
d286c69ec4 Merge pull request #2546 from Parlane/fix_trans
Fixed translation of strings at runtime.
2015-06-07 19:17:08 +10:00
Matthew Parlane
1aa829c03c Fixed translation of strings at runtime.
Static strings can not be translated until wxLocale is initialised.

This reverts commit 0004b6004b.

Conflicts:
	Source/Core/DolphinWX/VideoConfigDiag.cpp
2015-06-07 20:38:36 +12:00
comex
9f2d684802 Merge pull request #2539 from mimimi085181/gecko-codes-line-ending-fix
Fix line ending bug for downloaded gecko codes
2015-06-06 23:12:39 -04:00
Jules Blok
b0afb08170 Merge pull request #2541 from Armada651/revert-revert
Revert "Revert "OGL: Switch depth buffers to GL_DEPTH_COMPONENT32F format.""
2015-06-07 00:26:01 +02:00
JosJuice
b61f41e698 Remove reference to DSP on Dedicated Thread 2015-06-07 00:01:57 +02:00
Jules Blok
026d07e7c9 D3D: Remove obsolete comment. 2015-06-06 23:26:52 +02:00
Lioncash
8707d68ddb Merge pull request #2542 from JosJuice/how-to-not-print-variables
DVDInterface: Fix newFileName variable not being printed correctly
2015-06-06 16:20:49 -04:00
Jeffrey Pfau
c1c472958e Tools: Use non-CMake tool for fixing up OS X bundles 2015-06-06 12:44:47 -07:00
JosJuice
23f9ccf59b DVDInterface: Fix newFileName variable not being printed correctly 2015-06-06 21:29:43 +02:00
Jules Blok
37dc8661ab Revert "Revert "OGL: Switch depth buffers to GL_DEPTH_COMPONENT32F format.""
This reverts commit 9ef1ca4141.
2015-06-06 20:10:23 +02:00
Jules Blok
8cc271516d Revert "Revert "OGL: Change the depth buffer type to GL_FLOAT.""
This reverts commit 05d60f4fef.
2015-06-06 20:09:22 +02:00
Jules Blok
5650b9e970 Revert "OGL: Use floating point arithmetic to scale the depth value."
This reverts commit 05f42f94a0.
2015-06-06 20:07:49 +02:00
mimimi085181
bd5e55bc59 Fix line ending bug for downloaded gecko codes 2015-06-06 19:15:15 +02:00
flacs
d3e47dfcf5 Merge pull request #2496 from Tilka/fma4
Jit64: add FMA4 support to fmaddXX
2015-06-06 17:31:55 +02:00
Jules Blok
f9b5571ddd Merge pull request #2534 from Armada651/depth-clamp
VideoBackends: Allow the viewport to use the full depth range.
2015-06-06 12:32:56 +02:00
degasus
12b469b417 Config: Add SyncOnSkipIdle GameIni option 2015-06-06 11:19:58 +02:00
comex
9c63b78397 Fix indeterminism in GPU thread mode. 2015-06-06 02:14:06 -04:00
comex
f2631a835e Simplify and improve.
Note - I removed a SleepCurrentThread(1) the patch added which seemed to
be unrelated to the actual job at hand.  If there was a real need for it
(which sounds like it would be an enet-related bug - enet_host_service
is supposed to *sleep*), that needs to be dealt with...
2015-06-06 01:28:01 -04:00
comex
95d682dfd5 Merge pull request #2519 from JosJuice/volume-type-enum
Volume: Return volume type as an enum
2015-06-06 01:23:52 -04:00
flacs
726fc58b49 Merge pull request #2531 from lioncash/vs
Common: Fix a typo in the VS project file.
2015-06-06 07:18:22 +02:00
Rachel Bryk
04ca54623c Compare timebase of netplay users to detect desyncs. 2015-06-06 00:52:02 -04:00
Lioncash
3239a204db Common: Fix typos in BlockingLoop.h 2015-06-05 23:37:37 -04:00
Jules Blok
ef1dfa8bcb VideoBackends: Allow the viewport to use the full depth range. 2015-06-06 03:37:46 +02:00
skidau
2f577e147b Merge pull request #2520 from AdmiralCurtiss/wii-pal60
Properly set default video mode for PAL Wii games.
2015-06-06 10:42:42 +10:00
mimimi085181
3b9020dc9b Search the texture cache for small textures by address and hash
This fixes issue 6563:
https://code.google.com/p/dolphin-emu/issues/detail?id=6563

This PR adds a 2nd map to texture cache, which uses the hash as key. Cache entries from this new map are used only if the address matches or if the texture was fully hashed. This restriction avoids false positive cache hits. This results in a possible situation where safe texture cache accuracy could be faster than the fast one.

Small textures means up to 1KB for fast texture cache accuracy, 4KB for medium, and all textures for safe accuracy.

Since this adds a small overhead to all texture cache handling, some regression testing would be nice. Games, which use a lot of textures the same time, should be affected the most.
2015-06-05 21:30:39 +02:00
flacs
b9821916dc Merge pull request #2530 from Tilka/sdl_quit
SDL: handle SDL_QUIT event
2015-06-05 19:53:24 +02:00
Tillmann Karras
9ec5a4544f SDL: handle SDL_QUIT event
Using SDL_INIT_JOYSTICK implies SDL_INIT_EVENTS which installs a signal
handler for SIGINT and SIGTERM. There will be a way to prevent this in
2.0.4 but for now we'll need to handle SDL_QUIT.
2015-06-05 19:34:06 +02:00
Lioncash
da9a858dcb Common: Fix a typo in the VS project file 2015-06-05 13:27:14 -04:00
JosJuice
990d61b786 Skip reading UTF-8 BOM at the beginning of INI files 2015-06-05 18:32:58 +02:00
Lioncash
aca7c948d5 EXI_DeviceEthernet: Convert a volatile bool to an atomic 2015-06-05 09:37:14 -04:00
Admiral H. Curtiss
a2ca4841e9 Properly set default video mode for PAL Wii games.
See https://github.com/dolphin-emu/dolphin/pull/2520 for a more detailed explanation.
2015-06-05 14:35:48 +02:00
Ryan Houdek
7b9565c4e6 [AArch64] Implement lmw/stmw. 2015-06-04 23:54:50 -05:00
flacs
2f2e514b54 Merge pull request #2524 from lioncash/aarch64
Arm64: Make some functions const.
2015-06-05 04:52:14 +02:00
Lioncash
97382ec90a Merge pull request #2526 from lioncash/silly
WII_IPC_HLE: Remove a silly volatile usage
2015-06-04 22:27:48 -04:00
Rohit Nirmal
cd5142ddeb Fix building with PCH disabled. 2015-06-04 21:05:10 -05:00
Lioncash
630e0375b1 WII_IPC_HLE: Remove a silly volatile usage 2015-06-04 21:35:21 -04:00
Lioncash
de2e84344d Core: Convert volatile bools to atomics
Converts over bools that are typically used as loop checks into atomics.
2015-06-04 21:21:11 -04:00
Lioncash
fe77505d4d Jit: Make IsInCodeSpace() const 2015-06-04 20:52:53 -04:00
Lioncash
4f276ede0f Arm64Emitter: Make GetReg() const 2015-06-04 20:43:22 -04:00
Lioncash
d9e1bf139f JitArm64_RegCache: Make some functions const 2015-06-04 20:40:36 -04:00
Lioncash
6f3598eee4 PPCAnalyst: Remove extra whitespace from CodeBuffer 2015-06-04 19:13:29 -04:00
Lioncash
293c3bae6f PPCAnalyst: Mark some functions as const
Also removes the redundant inline specifier, as functions defined in a class/struct definition are inline by default.
2015-06-04 19:11:38 -04:00
comex
0c23283049 Merge pull request #2522 from lioncash/ref
Core: Pass several parameters by const reference
2015-06-04 16:15:11 -04:00
comex
78e0e78671 Merge pull request #2516 from comex/hires-oops
Undo accidental screwup of some HiresTextures code from project-moration
2015-06-04 16:13:05 -04:00
Lioncash
e37b643096 Merge pull request #2521 from lioncash/unused
Interpreter: Remove unused function prototype
2015-06-04 14:32:31 -04:00
Lioncash
d9b51f74be Core: Pass several parameters by const reference 2015-06-04 14:19:25 -04:00
Lioncash
bc0e61cb7c Interpreter: Remove unused function prototype 2015-06-04 13:53:53 -04:00
JosJuice
0ed3118141 Volume: Return volume type as an enum
ISOFile and GameFile were using IsWiiDisc() and IsWadFile() to set
an enum value. The volume might as well return an enum directly.

I increased the Qt CACHE_REVISION because m_platform now is saved as u32
instead of int, but increasing the wx CACHE_REVISION is not necessary.
2015-06-04 16:26:36 +02:00
JosJuice
030d467d62 Use PanicAlert instead of PanicAlertT when appropriate
It means less work for the translators... But I'm not too sure
about this, because most of these have already been translated.
2015-06-04 13:25:17 +02:00
JosJuice
95a2abc1ce Use PanicAlertT instead of PanicAlert when appropriate
I tried to change messages that contained instructions for users,
while avoiding messages that are so technical that most users
wouldn't understand them even if they were in the right language.
2015-06-04 13:25:06 +02:00
degasus
dfc951fbbb Hotkey: move some code into ParseHotkey 2015-06-04 10:44:20 +02:00
Jasper St. Pierre
c84cefa990 Remove wx-based Hotkey stuff
The core InputCommon Hotkeys interface does all of this for us.
2015-06-04 10:44:20 +02:00
Markus Wick
1ed38e901e Merge pull request #2505 from degasus/hotkeys
Hotkeys fixes 2
2015-06-04 10:42:50 +02:00
comex
830a4e4f8f Undo accidental screwup of some HiresTextures code from project-moration.
This is why I should wait for people to review, even if I get annoyed
that nobody seems to care. :duncecap:
2015-06-04 02:52:41 -04:00
Tillmann Karras
088668606d Interpreter: use the VERY_ACCURATE_FP code 2015-06-03 22:08:24 +02:00
Tillmann Karras
68eb83ea83 Interpreter: fix NaN handling in FMA 2015-06-03 22:08:24 +02:00
Tillmann Karras
d4538c762f MemoryUtil: get executable pages near static data
and clean up a bit.
2015-06-03 21:44:31 +02:00
Tillmann Karras
a0597f0d62 Jit64: turn 32 bit addresses into offsets 2015-06-03 21:44:31 +02:00
flacs
9f15054358 Merge pull request #2487 from Tilka/vlj_pic
VertexLoaderX64: generate PIC
2015-06-03 21:43:50 +02:00
Markus Wick
bcd77f9a3a Merge pull request #2482 from degasus/ogl_poke_z
OGL: Rewrite POKE_Z with a draw call
2015-06-03 20:35:34 +02:00
degasus
eabda0efa5 Hotkeys: Implement default hotkeys
Also disable the default hotkeys of the old system.
2015-06-03 19:26:43 +02:00
degasus
501ebdb471 Hotkeys: Fix duplicated called hotkeys. 2015-06-03 19:26:43 +02:00
JosJuice
78b6ed0218 VolumeGC: Check that opening.bnr size matches type
The old code would accept files with BNR1 length and BNR2 type, which
can be a problem when GetNames tries to read the extra BNR2 strings.
2015-06-03 11:35:05 +02:00
comex
349f9d5493 Merge pull request #2484 from JosJuice/volume-return-types
Volume: Use more appropriate types for some returned values
2015-06-02 20:29:08 -04:00
comex
2ae6fb9240 Merge pull request #2338 from JosJuice/getfilelist-return
Filesystem: Return file list reference instead of modifying argument
2015-06-02 20:28:25 -04:00
Tillmann Karras
7a6a5e2791 VertexLoaderX64: generate PIC
Address static memory relative to a base register, analog to what we're
doing with PPCSTATE in the CPU JIT. This allows executable memory for
the vertex loader JIT to be allocated anywhere, not just within 2 GiB of
static data.

Fixes issue 8180.
2015-06-03 02:27:37 +02:00
comex
36b554613c Merge pull request #2494 from Sonicadvance1/common_disassembler
Break out the disassembler code from the WXWidgets UI.
2015-06-02 20:26:26 -04:00
comex
f85db7a686 Merge pull request #2503 from sepalani/master
Fixed: NULL remoteHost in IOCTL_SO_INETATON
2015-06-02 20:23:39 -04:00
comex
c0e567731a Merge pull request #2352 from JosJuice/scheduleevent-immediate-assert
CoreTiming: Add assert to ScheduleEvent_Immediate
2015-06-02 20:22:14 -04:00
comex
0c5aa54606 Merge pull request #2470 from degasus/syncgpu
Common: Blocking Loop (extracted from Fifo.cpp)
2015-06-02 20:19:00 -04:00
comex
3af30d12ed Fix subdialogs of the ISO props dialog... sort of
On OS X, if you close a subdialog of the ISO Properties dialog, such as
the one to add a new AR code, the main Dolphin window would magically
get raised above ISO Properties.  This is confusing, to say the least;
when I encountered this the other day, I thought the dialog was actually
getting closed.

I *think* the diagnosis looks like this:
Cocoa expects NSPanel (not to be confused with wxPanel) to be for things
like find dialogs, font dialogs with the little title bars, sheets, etc.
See:
https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/WinPanel/Concepts/ChangingMainKeyWindow.html
Therefore, NSPanels return NO for canBecomeMainWindow, which is
documented; and when [NSWindow orderOut:] is called to hide a window,
Cocoa seems to want to make the window it focuses in its place a main
window, which, as far as I can tell, is not.  So if the next highest
window is a panel, it gets skipped over.  (I tested this by overriding
wxNSPanel's canBecomeMainWindow to return YES, in which case the right
window gets focused, but this isn't a correct fix.)

The ISO Properties dialog does have grounds to be a dialog/panel - the
close button, whose positioning is provided by the wxDialog class.  This
is arguably simply a roundabout discovery that our UI sucks for an OS X
app and that to be consistent with other nonmodal preferences dialogs,
it shouldn't have such a button on OS X (though ESC to close is still
kosher).  However, I'm not willing to make that change right now, so...

Hack around the problem by calling Raise (on this) after each call to
ShowModal in CISOProperties.  The resulting behavior is slightly
glitchy, and I'd like to revisit it, but for now it fixes the issue.
2015-06-02 20:15:12 -04:00
flacs
00cbc7c7c7 Merge pull request #2508 from comex/fix-gecko-codes
Fix bug where Gecko codes would be "enabled by default"
2015-06-03 01:13:43 +02:00
comex
35ca27f1cd Fix bug where Gecko codes would be "enabled by default"
Actually caused by IniFiles::GetLines leaving the output vector in its
old state if the section wasn't found, and Gecko::LoadCodes not checking
the return value.  Fix by moving lines->clear() up.
2015-06-02 19:04:04 -04:00
comex
97d6b71f3f fix duplicate variable definition 2015-06-02 18:49:53 -04:00
comex
a3b3f0522b Merge pull request #1556 from comex/project-moration
Rudimentary version of Wii IPC determinism.  Ported from my old udpnet branch.
2015-06-02 18:38:19 -04:00
degasus
84b13de538 OGL: Rewrite POKE_Z with a draw call
It's now also merged and it should be faster than the glClear way.
2015-06-02 23:06:41 +02:00
Sepalani
f494d1f224 Removed: Unnecessary ternaries in IOCTL_SO_INETATON 2015-06-02 22:24:29 +02:00
Sepalani
b95f18fc06 Fix a possible null pointer dereference 2015-06-02 21:09:03 +02:00
Sepalani
6985fd76b2 Merge remote-tracking branch 'upstream/master' 2015-06-02 20:24:54 +02:00
Sepalani
2ff5c451d0 Cleanup IOCTL_SO_INETATON 2015-06-02 20:15:05 +02:00
Tillmann Karras
794a311b11 Jit64: add FMA4 support to fmaddXX 2015-06-02 19:19:52 +02:00
Tillmann Karras
8db6588bb9 XEmitter: add FMA4 instructions 2015-06-02 19:19:52 +02:00
flacs
7d29039c48 Merge pull request #2498 from Tilka/wiimote_nogui
MainNoGUI: support real Wiimotes
2015-06-02 19:04:50 +02:00
Dwayne Slater
ebf3048494 Fix invalid enums on OpenGLES 2015-06-02 12:13:31 -04:00
Ryan Houdek
9407797d16 Merge pull request #2454 from Sonicadvance1/armv7_disable_loadstores
[ARMv7] Extend the life of the JIT Recompiler.
2015-06-02 10:42:06 -04:00
Sepalani
893ef20840 Fixed: NULL remotehost in IOCTL_SO_INETATON 2015-06-02 13:51:19 +02:00
Tillmann Karras
d516e6bbf0 Jit64: swap XMM registers for later optimization
(BLENDVPD uses XMM0 as an implicit mask.)
2015-06-02 12:47:07 +02:00
flacs
426f33c408 Merge pull request #2500 from Tilka/osx_wiimotes
WiimoteReal: fix multiple Wiimotes on OS X
2015-06-02 05:03:15 +02:00
Tillmann Karras
b96f0fad57 WiimoteReal: fix multiple Wiimotes on OS X 2015-06-02 00:31:02 +02:00
flacs
d36df5b1b4 Merge pull request #2468 from JosJuice/honor-logging-startup
Honor logging settings at startup
2015-06-01 23:56:15 +02:00
Ryan Houdek
1d90a1b8a7 Merge pull request #2497 from Sonicadvance1/aarch64_minor_opt
[AArch64] Minor bugfix and optimization.
2015-06-01 16:40:26 -04:00
aerisarn
f403bb09b0 MainNoGUI: support real Wiimotes
This should be restructured to move the connection logic into Core
instead of duplicating it in every Host, but alas, I'm too lazy for
that right now. ~flacs
2015-06-01 14:59:22 +02:00
Lioncash
2cb073291c Merge pull request #2490 from endrift/fix-tas-threading
DolphinWX: Fix threading issues with TAS pad updates
2015-05-31 23:24:40 -04:00
Ryan Houdek
5ed3a5de22 [AArch64] Minor bugfix and optimization.
Fixes a bug in lfs where I was doing a rev64.16b when I needed to do a rev32.8b.
Change a ld1r.4s to a ld1r.2s.
Fix an issue where a fcvtl2 needed to be a fcvtl.
Re-enabled psq_l, issue with flickering can't be reproduced anymore, so whatever.
2015-05-31 22:03:36 -05:00
Ryan Houdek
d0ae3f7d24 Break out the disassembler code from the WXWidgets UI.
This cleans up some of the code between core and UI for disassembling and dumping code blocks.
Should help the QT UI in bringing up its debug UI since it won't have to deal with this garbage now.
2015-05-31 18:16:59 -05:00
Markus Wick
da97d77e08 Merge pull request #2489 from degasus/hotkeys
Hotkeys fixes
2015-05-31 23:28:26 +02:00
Markus Wick
aa2576a2c7 Merge pull request #2480 from phire/GamesDoWeirdShit
Fix invalid pointer errors in Burnout 2.
2015-05-31 23:26:55 +02:00
Ryan Houdek
ac1f3ef099 Merge pull request #2492 from Sonicadvance1/fix_block_sizes
Fix JIT core's block sizes.
2015-05-31 16:49:47 -04:00
Ryan Houdek
1723217cc9 [AArch64] Don't disable tw{i,}
It's an endblock instruction, it shouldn't be disabled via the JITDISABLE macro.
2015-05-31 15:37:22 -05:00
Ryan Houdek
6c56cd0c30 Fix JIT core's block sizes.
Was causing disassembled blocks to be cut off by a few instructions at the end.
2015-05-31 14:59:17 -05:00
Ryan Houdek
210d7c4d54 Merge pull request #2486 from Tilka/x86_32
Jit64: drop more x86_32 left-overs
2015-05-31 13:06:19 -04:00
Jeffrey Pfau
704f787c5a DolphinWX: Fix threading issues with TAS pad updates 2015-05-31 03:08:07 -07:00
degasus
bdfea96123 InputCommon: Change default hotkey for home and start.
We already use ALT + ENTER for toggling fullscreen.
But as ENTER is both home and start, this buttons will always
also be triggered on toggling fullscreen. Now we check for
those buttons if ALT is not pressed.
So now we're able to toggle fullscreen without pressing home or start.
2015-05-31 10:30:09 +02:00
degasus
ef3ed682a1 DolphinWX: Also evaluate Hotkeys while stopped. 2015-05-31 10:00:07 +02:00
Jasper St. Pierre
322c813cb6 HotkeyManager: Add missing hotkeys to the Hotkeys dialog 2015-05-31 09:27:04 +02:00
degasus
19f753de6b HotKey: Allow more than one hotkey at the same time. 2015-05-31 09:27:04 +02:00
Tillmann Karras
eb057d49a0 x64Emitter: drop duplicate enum & unused wrappers
Keep the more explicit version of the two SSECompare enums.

And the unused CMP* wrappers wouldn't exactly make the code more
readable anyway.
2015-05-31 08:32:31 +02:00
flacs
43ed19a663 Merge pull request #2481 from lioncash/reference
x64Emitter: Pass some OpArg parameters by const reference.
2015-05-31 08:22:55 +02:00
flacs
a806feb10e Merge pull request #2474 from Tilka/zfreeze
zfreeze: fix 2-component positions
2015-05-31 06:35:21 +02:00
Tillmann Karras
a6004f8274 Jit64: drop more x86_32 left-overs 2015-05-31 05:28:40 +02:00
Markus Wick
c12f04eefa Merge pull request #2472 from degasus/master
AudioCommon: Remove lock on Pause state
2015-05-30 23:40:46 +02:00
degasus
bfa61105d5 Common: Update BlockingLoop to only use one atomic.
This merges two atomic<bool> into one atomic<int>.
We did move the bit from one bool to another, now we can use operator--.
2015-05-30 12:58:09 +02:00
degasus
02a3a063c3 Fifo: Extract syncing loop
It's now a new helper function within common.
2015-05-30 12:58:09 +02:00
JosJuice
301218a103 Volume: Use more appropriate types for some returned values
Disc number is changed from bool to u8, and revision is changed from
int to u16 (WADs can use all 16 bits, but discs can only use 8 bits).
2015-05-29 21:14:02 +02:00
JosJuice
9a000f4085 Volume: Mark ReadWiiNames parameter as const
I forgot it when I added the method.
2015-05-29 20:19:11 +02:00
Scott Mansell
7df6982973 Add a dirty flag for arraybases.
Only loop through and call getPointers when something has actually
changed.
Worth about 2-4% speedup un SMG over the previous commit.
2015-05-30 04:39:48 +12:00
Scott Mansell
f57517f1a0 Clean up cached_arraybases. Update VideoSW to new scheme.
Move ownership of cached_arraybases from CPMemory to VertexLoaderManager
to better match it usage.
2015-05-30 04:09:27 +12:00
degasus
c4fc141ced OGL: Always use sampler objects.
We are used to use the texture parameter for all util draw calls,
but AMD seems to have a bug where they use the sampler parameter
of stage 0 if no sampler is bound to the used stage.
So as workaround (and a bit as nicer code), we now use sampler
objects everywhere.
2015-05-29 14:03:03 +02:00
Tillmann Karras
4943b36259 zfreeze: fix 2-component positions 2015-05-29 13:43:12 +02:00
Scott Mansell
6d916762fb Fix invalid pointer errors in Burnout 2.
Yet another story of games loading weird shit into registers.

For some reason, Burnout 2 would (in rare situations) load invalid
addresses into cp_state.array_bases. What would the real hardware
do in this situation? Who knows, Burnout 2 doesn't actually enable
the vertex array with the invalid address so nothing kinky happens.

But dolphin tries to optimise things and starts using the address
as soon as it is loaded into memory. This causes GetPointer (which is
now much more vocal) to throw an error.

The Fix:  We don't call GetPointer until we are sure the vertex array
has been enabled.
2015-05-29 18:51:17 +12:00
Markus Wick
61c53babf4 Merge pull request #2467 from RisingFog/disc2fix
Fix adding additional Disc 2 to certain multi-disc games
2015-05-29 07:47:56 +02:00
Ryan Houdek
cdbdff436b Merge pull request #2478 from degasus/fix_prefetching
HiresTexture: Fix prefetching with broken textures
2015-05-29 01:42:48 -04:00
degasus
c69cc91f00 HiresTexture: Fix prefetching with broken textures 2015-05-29 07:31:11 +02:00
Lioncash
0b8372e566 Jit_Util: Make some OpArg parameters const references 2015-05-29 01:13:45 -04:00
Lioncash
e3a6191f02 x64Emitter: Pass some OpArg parameters by const reference
Considering OpArg is a struct, passing by value creates unnecessary copies.
2015-05-29 01:13:29 -04:00
Lioncash
810a04db58 x64Emitter: Remove 'Gen::' namespace prefix from some parameters
The emitter is already within the Gen namespace, so this isn't necessary.
2015-05-29 01:05:09 -04:00
Lioncash
84ed196c14 x64Emitter: Adjust position of reference and pointer indicators
Matches the coding style.
2015-05-29 01:04:45 -04:00
Lioncash
ac26f8e79f Pass strings by const reference where possible 2015-05-28 20:54:55 -04:00
comex
45b07cbdcd Fix determinism issues with Wiimote netplay.
- Change the Wiimote emulation SYSCONF R/W to use the temporary NAND if in use.
- Fix up SysConf API so this actually works.

Kind of a hack.  Like I said, this can be cleaned up when configuration
is synced...
2015-05-28 19:19:00 -04:00
comex
0d257b9e88 Don't randomly generate a serial number in deterministic mode. 2015-05-28 19:14:43 -04:00
comex
138d72313e Add a quick check to ScheduleEvent_Threadsafe to ensure it doesn't happen in deterministic mode. 2015-05-28 19:14:43 -04:00
comex
dc91e8b607 Add a mode to use a dummy Wii NAND.
Eventually, netplay will be able to use the host's NAND, but this could
still be useful in some cases; for TAS it definitely makes sense to have
a way to avoid using any preexisting NAND.

In terms of implementation: remove D_WIIUSER_IDX, which was just WIIROOT
+ "/", as well as some other indices which are pointless to have as
separate variables rather than just using the actual path (fixed, since
they're actual Wii NAND paths) at the call site.  Then split off
D_SESSION_WIIROOT_IDX, which can point to the dummy NAND directory, from
D_WIIROOT_IDX, which always points to the "real" one the user
configured.
2015-05-28 19:14:42 -04:00
comex
f6c6822f71 The old g_want_determinism check in WiiSockMan missed a few cases. Move to net.cpp.
Specifically, things like GETHOSTBYNAME, GETHOSTID, etc. could be done
without creating a socket, which is what the old check blocked.  Now we
check at the ioctl and ioctlv handlers.  Might be possible to get a bit
more realistic behavior in future by filtering individual ioctls, but it
probably doesn't matter.
2015-05-28 19:14:42 -04:00
comex
3173d4dcbf Disable /dev/usb/hid too. 2015-05-28 19:14:42 -04:00
comex
aae104ccb4 Disable some stuff in IPC_HLE when determinism is required.
This includes net, which is nonsensical to "sync" in netplay/replays
(could have the host do the Wii networking in future though...), and USB
keyboard, which just needs some love to do the same.
2015-05-28 19:14:42 -04:00
comex
a0a80c9a9c Fix CopyDir to not require source and dest paths to end with "/". 2015-05-28 19:14:42 -04:00
comex
a225426510 Rewrite FileSearch and improve ScanDirectoryTree.
- FileSearch is now just one function, and it converts the original glob
  into a regex on all platforms rather than relying on native Windows
  pattern matching on there and a complete hack elsewhere.  It now
  supports recursion out of the box rather than manually expanding
  into a full list of directories in multiple call sites.

  - This adds a GCC >= 4.9 dependency due to older versions having
  outright broken <regex>.  MSVC is fine with it.

- ScanDirectoryTree returns the parent entry rather than filling parts
  of it in via reference.  The count is now stored in the entry like it
  was for subdirectories.

- .glsl file search is now done with DoFileSearch.

- IOCTLV_READ_DIR now uses ScanDirectoryTree directly and sorts the
  results after replacements for better determinism.
2015-05-28 19:14:42 -04:00
degasus
9a96e3c416 AudioCommon: Remove lock on Pause state
We had to lock audiocommon with the old asynchron HLE audio emulation,
now our Mixer is just a plain FIFO which may underrun.
Of course, this will stutter, but underruning the audio backend is likely worse.
2015-05-28 19:58:18 +02:00
JosJuice
6fb8ce58d6 Honor logging settings at startup
https://code.google.com/p/dolphin-emu/issues/detail?id=7959
2015-05-28 09:28:23 +02:00
Fog
c767813c0c Fix adding additional Disc 2 to certain multi-disc games 2015-05-27 11:08:57 -04:00
Tillmann Karras
285ac34bf3 OGL: use GL_TEXTURE* constants 2015-05-27 15:05:49 +02:00
JosJuice
f1580a4c91 Fix game list name encoding error caused by 4.0-6419 (d7900b4)
The UTF-8 std::strings were being interpreted as the default encoding.
2015-05-27 12:28:23 +02:00
Markus Wick
255a8dfdd2 Merge pull request #2465 from lioncash/commandproc
CommandProcessor: Replace volatile usages with atomics
2015-05-27 11:07:36 +02:00
Lioncash
1ba3b4e7ac CommandProcessor: Replace volatile usages with atomics
Also remove said variables from being globals.
2015-05-27 03:53:29 -04:00
Markus Wick
3318120632 Merge pull request #2422 from lioncash/core
DSPCore: Make the mailbox registers atomic.
2015-05-27 09:14:41 +02:00
Lioncash
ec03196267 PixelEngine: Replace volatile usages with atomics
Also removes two unused volatile variables.
2015-05-27 02:39:55 -04:00
Markus Wick
a6b327751a Merge pull request #2463 from lioncash/fifo
Fifo: Replace usages of volatile with atomics
2015-05-27 08:03:39 +02:00