Commit graph

12022 commits

Author SHA1 Message Date
Pierre Bourdon
4c42b38de1 Merge pull request #428 from Sonicadvance1/x86_32-removal
Remove x86_32 support from Dolphin.
2014-08-03 21:17:28 -07:00
Pierre Bourdon
e15ec56bf0 Merge pull request #716 from delroth/vertex-loader
Make vertex loader testable
2014-08-03 21:14:59 -07:00
Lioncash
3aba909b25 Core: Get rid of Host_GetInstance() 2014-08-03 23:47:29 -04:00
Lioncash
847504f327 Merge pull request #725 from lioncash/unnecessary-param
AudioCommon: Remove an unnecessary parameter from the OpenALStream constructor
2014-08-03 22:43:19 -04:00
Lioncash
1515262be9 Merge pull request #710 from Armada651/d3dfullscreen_fixes
CFrame: Only re-assign focus when "Render to main" is enabled.
2014-08-03 22:40:02 -04:00
Lioncash
d8d99f919c Merge pull request #683 from Armada651/linux_hotkeys
Fix hotkeys in Linux and Mac OS X
2014-08-03 22:36:46 -04:00
Lioncash
a66a7e1344 Isolate D3D and Software Renderer from wxWidgets code 2014-08-03 20:28:50 -04:00
Pierre Bourdon
ae27d36961 Jit64: Fix immediates being zero-extended to cr_val instead of sign-extended. Thanks to konpie for finding this issue. 2014-08-03 16:00:41 -07:00
Jules Blok
b67ec4ea58 CFrame: Always exit fullscreen before showing the stop dialog. 2014-08-03 23:38:20 +02:00
Jules Blok
857c116210 CFrame: Add fullscreen window styles to enable exclusive mode in OpenGL.
This is not implemented within the backend, but relies purely on driver heuristics.
2014-08-03 23:36:54 +02:00
Lioncash
1b7d933072 Fix a cast warning when compiling with MSVC
Would previously give a C4800 warning.
2014-08-03 17:33:24 -04:00
Ryan Houdek
0c24e1dcf2 Remove the rest of x86_32 support from Common. 2014-08-03 13:49:46 -05:00
Ryan Houdek
a70fad4dcb Removes x86_32 from Visual Studio Base properties. 2014-08-03 13:48:53 -05:00
Ryan Houdek
e004c8ff2d Remove x86_32 from x64MemTools 2014-08-03 13:48:53 -05:00
Ryan Houdek
8a123b4d75 Remove x86_32 from the JIT block "profiler." 2014-08-03 13:48:53 -05:00
Ryan Houdek
e357fea279 Remove x86_32 from JitCommon. 2014-08-03 13:48:53 -05:00
Ryan Houdek
f2457bbe9d Remove x86_32 from Jit64IL. 2014-08-03 13:47:56 -05:00
Ryan Houdek
1d5281068d Remove x86_32 from Jit64. 2014-08-03 13:45:54 -05:00
Ryan Houdek
d9b5482840 Remove x86_32 from VertexLoader. 2014-08-03 13:44:37 -05:00
Ryan Houdek
35bebe9ce0 Remove x86_32 from the DSP JIT. 2014-08-03 13:44:37 -05:00
Ryan Houdek
21ee61d7fc Remove x86_32 from DolphinWX. 2014-08-03 13:44:37 -05:00
Jules Blok
b6e7e0d57f CFrame: Only re-assign focus when "Render to main" is enabled.
It may cause fullscreen loops and since m_RenderFrame == m_RenderParent now it's not necessary to re-assign focus anymore.
2014-08-03 13:37:19 +02:00
Lioncash
47847bc8dd AudioCommon: Remove an unnecessary parameter from the OpenAL constructor
This wouldn't even be saved to anything.
2014-08-02 23:48:26 -04:00
Lioncash
17e79a966a AudioCommon: Get rid of some unnecessary mem_fn calls 2014-08-02 23:42:34 -04:00
Lioncash
e1192bc64b Core: Fix usages of NULL and 0 literals for pointers in GCMemcardDirectory 2014-08-02 18:55:37 -04:00
Lioncash
10d3b7f8e9 Core: Fix formatting warnings in DSPJitRegCache 2014-08-02 18:48:10 -04:00
Lioncash
0bcebd81f6 Merge pull request #721 from lioncash/netplay-unused-param
Core: Kill off an unused parameter for NetPlayServer::StartGame
2014-08-02 18:31:38 -04:00
Lioncash
a77d397312 Merge pull request #717 from lioncash/unused
Core: Remove unused parameters in Movie
2014-08-02 18:30:18 -04:00
Lioncash
44a157fc09 Core: Kill off an unused parameter for NetPlayServer::StartGame 2014-08-02 18:28:26 -04:00
Pierre Bourdon
9f8e1e2a0d Merge pull request #720 from booto/dma-audio-fix2
DSP: copy audio dma samples as early as possible
2014-08-02 15:13:26 -07:00
booto
35dfe57bc1 DSP: copy audio dma samples as early as possible 2014-08-03 05:24:19 +08:00
Pierre Bourdon
35654513c1 VertexLoader: Add more tests, including a few small benchmarks 2014-08-02 14:02:38 -07:00
Lioncash
a46a500b94 Core: Fix warnings on Linux related to the JIT 2014-08-02 16:15:20 -04:00
Lioncash
a89416306a DolphinWX: Remove an unused variable from ISOProperties
Was used for when we still had the toggle for projection hacks in the UI.
2014-08-02 15:23:31 -04:00
Lioncash
41af9a81a5 Core: Remove unused parameters in Movie 2014-08-02 15:07:13 -04:00
Lioncash
0ed29e1fac DolphinWX: Use a regular wxMessageBox instead of a PanicAlert for non-panic errors. 2014-08-02 13:49:51 -04:00
Pierre Bourdon
da2833c0e6 Merge pull request #679 from lioncash/ucode-update-params
Core: Remove the unused cycle parameter from DSPHLE update calls
2014-08-02 10:37:19 -07:00
Pierre Bourdon
8f768e5a54 Merge pull request #714 from lioncash/gen
Core: Remove using namespace statements from the Jit and Interpreter headers
2014-08-02 10:36:31 -07:00
Pierre Bourdon
c39ef56db5 VertexLoader: Add very basic unit testing to get started 2014-08-02 09:34:39 -07:00
Pierre Bourdon
6f715a1fbe VertexLoader: Remove more global state dependencies (this time IndexGenerator and VertexManager) 2014-08-02 09:34:39 -07:00
Pierre Bourdon
8b26d7bf1e UnitTests: make it possible to build tests for code that has global dependencies 2014-08-02 09:34:39 -07:00
Pierre Bourdon
226a9c2392 Move GLInterface around to remove VideoBackends dependency on DolphinWX 2014-08-02 09:34:39 -07:00
Lioncash
a723fd39df Merge pull request #715 from lioncash/interp
Core: Clean up coding style in the Interpreter
2014-08-02 08:39:11 -04:00
Jules Blok
6ab6d07948 FrameTools: Add a wxPanel as the child of the RenderFrame.
Needed for hotkeys to be captured on Linux.
2014-08-02 13:55:23 +02:00
Lioncash
8467c82f79 Core: Clean up coding style in the Interpreter 2014-08-02 07:49:11 -04:00
Lioncash
afb539699e Core: Remove using statements from the Jit and Interpreter headers 2014-08-02 01:48:02 -04:00
Ryan Houdek
7e83a0ea9b Merge pull request #700 from jimbo1qaz/master
Fix D3D Real XFB texture sampling.
2014-08-01 22:57:44 -05:00
Lioncash
b8e64716be Merge pull request #713 from lioncash/cast
Core: Remove now redundant assert conditions in some DSPJitRegCache functions
2014-08-01 22:55:52 -04:00
Lioncash
77c2b6829a Merge pull request #702 from lioncash/netplay-version
Common: State OS instead of 32/64 bit in the netplay lobby
2014-08-01 22:51:30 -04:00
Lioncash
44f751f752 Merge pull request #692 from booto/dma-audio-fix
DSP: latch dma parameters
2014-08-01 22:19:50 -04:00
Lioncash
899bc84e98 Core: Remove now redundant assert conditions in some DSPJitRegCache functions 2014-08-01 20:49:48 -04:00
Lioncash
005004dfa5 Core: Fix cast warnings in DSPJitRegCache 2014-08-01 20:44:38 -04:00
Lioncash
4e2f487741 Core: Get rid of a cast in JitRegCache.cpp 2014-08-01 20:25:39 -04:00
Lioncash
6c923b776e Merge pull request #695 from lioncash/ipl-string
Core: Use a std::string in EXI_DeviceIPL instead of a char buffer
2014-08-01 19:59:56 -04:00
booto
47ba8cc4c1 DSP: latch dma parameters 2014-08-02 05:59:36 +08:00
Lioncash
4b32dcbc33 Merge pull request #707 from lioncash/strip
Common: Simplify StripTailDirSlashes
2014-08-01 16:01:37 -04:00
Pierre Bourdon
0380bb61fa Merge pull request #708 from lioncash/drum-axis
Core: Fix Y-data not being assigned in Drums.cpp
2014-07-31 22:20:40 -07:00
Lioncash
31e9b1ebdd Core: Fix Y-data not being assigned in Drums.cpp
Prior to this we were overwriting the x-axis with y-axis data.
2014-08-01 01:18:39 -04:00
Pierre Bourdon
f6995d1eff Merge pull request #704 from lioncash/pjhack-removal
DolphinWX: Remove the Projection Hack UI
2014-07-31 20:20:02 -07:00
Lioncash
1dc5294629 Common: Simplify StripTailDirSlashes 2014-07-31 22:18:45 -04:00
degasus
5205d7baa6 ogl: fix rasterfont 2014-07-31 19:03:18 +02:00
Lioncash
c5188c76b3 Merge pull request #705 from Sonicadvance1/fix-memoryutil-check
Fixes a check for what mmap returns.
2014-07-31 03:06:00 -04:00
Lioncash
5bb9a74759 Merge pull request #527 from delroth/flags-opt
[RFC] PowerPC flags emulation optimization
2014-07-31 02:51:48 -04:00
Ryan Houdek
33450c80c3 Fixes a check for what mmap returns.
On error mmap returns MAP_FAILED(-1) not null.
FreeBSD was checking the return correctly, Linux was not.
This was noticed by triad attempting to run Dolphin under valgrind and not getting a memory space under the 2GB limit(Because -1 wraps around on
unsigned obviously)
2014-07-31 00:53:00 -05:00
Ryan Houdek
fda2190a37 Support the 64bit CR flags in the ARM JIT. 2014-07-30 21:41:18 -07:00
Ryan Houdek
3627bd21f1 Remove JitArmIL files from the project.
Due to how the new CR-flags work, it isn't possible without some hefty work in the JITIL backend to support this on 32bit systems.
2014-07-30 21:41:17 -07:00
magumagu
f27940478d JitIL: Attempt to constant-fold more aggressively. 2014-07-30 21:41:17 -07:00
magumagu
79ecdf5fd0 JitIL: Misc small optimizations. 2014-07-30 21:41:17 -07:00
magumagu
c8dd557dde JITIL: compare instruction folding. 2014-07-30 21:41:17 -07:00
magumagu
5bb428c685 JITIL: optimize branches. 2014-07-30 21:41:17 -07:00
magumagu
79cc000d62 JITIL: Optimize compare instruction. 2014-07-30 21:41:17 -07:00
magumagu
1429fccb97 Initial unoptimized JITIL flag optimization. 2014-07-30 21:41:17 -07:00
Pierre Bourdon
5506e57ab8 CR: Replace some magic values with constants. 2014-07-30 21:41:17 -07:00
Pierre Bourdon
0ff1481494 Optimize PPC CR emulation by using magic 64 bit values
PowerPC has a 32 bit CR register, which is used to store flags for results of
computations. Most instructions have an optional bit that tells the CPU whether
the flags should be updated. This 32 bit register actually contains 8 sets of 4
flags: Summary Overflow (SO), Equals (EQ), Greater Than (GT), Less Than (LT).
These 8 sets are usually called CR0-CR7 and accessed independently. In the most
common operations, the flags are computed from the result of the operation in
the following fashion:
  * EQ is set iff result == 0
  * LT is set iff result < 0
  * GT is set iff result > 0
  * (Dolphin does not emulate SO)

While X86 architectures have a similar concept of flags, it is very difficult
to access the FLAGS register directly to translate its value to an equivalent
PowerPC value. With the current Dolphin implementation, updating a PPC CR
register requires CPU branching, which has a few performance issues: it uses
space in the BTB, and in the worst case (!GT, !LT, EQ) requires 2 branches not
taken.

After some brainstorming on IRC about how this could be improved, calc84maniac
figured out a neat trick that makes common CR operations way more efficient to
JIT on 64 bit X86 architectures. It relies on emulating each CRn bitfield with
a 64 bit register internally, whose value is the result of the operation from
which flags are updated, sign extended to 64 bits. Then, checking if a CR bit
is set can be done in the following way:
  * EQ is set iff LOWER_32_BITS(cr_64b_val) == 0
  * GT is set iff (s64)cr_64b_val > 0
  * LT is set iff bit 62 of cr_64b_val is set

To take a few examples, if the result of an operation is:
  * -1 (0xFFFFFFFFFFFFFFFF) -> lower 32 bits not 0       => !EQ
                            -> (s64)val (-1) is not > 0  => !GT
                            -> bit 62 is set             =>  LT
            !EQ, !GT, LT

  *  0 (0x0000000000000000) -> lower 32 bits are 0       =>  EQ
                            -> (s64)val (0) is not > 0   => !GT
                            -> bit 62 is not set         => !LT
            EQ, !GT, !LT

  *  1 (0x0000000000000001) -> lower 32 bits not 0       => !EQ
                            -> (s64)val (1) is > 0       =>  GT
                            -> bit 62 is not set         => !LT
            !EQ, GT, !LT

Sometimes we need to convert PPC CR values to these 64 bit values. The
following convention is used in this case:
  * Bit 0 (LSB) is set iff !EQ
  * Bit 62 is set iff LT
  * Bit 63 is set iff !GT
  * Bit 32 always set to disambiguize between EQ and GT

Some more examples:
  * !EQ, GT, LT -> 0x4000000100000001 (!B63, B62, B32, B0)
                -> lower 32 bits not 0          => !EQ
                -> (s64)val is > 0              =>  GT
                -> bit 62 is set                =>  LT
  * EQ, GT, !LT -> 0x0000000100000000
                -> lower 32 bits are 0          =>  EQ
                -> (s64)val is > 0 (note: B32)  =>  GT
                -> bit 62 is not set            => !LT
2014-07-30 21:41:17 -07:00
Lioncash
f507827399 Merge pull request #681 from phire/non-sse4_1
Fix PPC_FP on non-sse4.1 code paths.
2014-07-31 00:31:02 -04:00
Scott Mansell
8c857b45f8 Fix PPC_FP on non-sse4.1 code paths.
The Invalid bit on the x87 fpu is sticky, so once a single NaN goes
through the old code on CPUs without sse4.1 all future floats are
mutilated.

Patch to emulate PTEST by Fiora.

Fixes issue 7237 and issue 7510.
2014-07-31 16:00:27 +12:00
Eder Bastos
33f848c78c Add a bunch of gradle/AS related stuff to gitignore. 2014-07-30 22:27:38 -04:00
Lioncash
cd37af8590 DolphinWX: Remove the Projection Hack UI 2014-07-30 19:32:41 -04:00
Pierre Bourdon
83838a645f Merge pull request #690 from Armada651/d3dfullscreen_fixes
Exclusive fullscreen fixes
2014-07-30 16:28:56 -07:00
Pierre Bourdon
9b9817f927 x64Emitter: Fix REX encoding for SETcc
Previously using the new "lower 8 bits" registers (SIL, SPL, ...) caused SETcc
to write to other registers (for example, SETcc SIL would generate SETcc DH).
2014-07-30 06:41:29 -07:00
Jules Blok
3b5625c76b VideoConfig: Ignore Borderless Fullscreen setting when the backend does not support exclusive fullscreen.
This was expected to be handled by VerifyValidity(), but that only verifies the validity of the INI files.
2014-07-30 12:15:58 +02:00
Jules Blok
5bbd34637b CFrame: Don't check the video config fullscreen setting.
Checking this flag could sometimes incorrectly have the UI assume fullscreen is already off when we're still exiting.
2014-07-30 12:15:32 +02:00
Jules Blok
4501aeefbe CFrame: Check borderless fullscreen setting before enabling exclusive fullscreen in the video config.
Fixes a bug where "Use Fullscreen" would initialize into exclusive fullscreen regardless of the borderless fullscreen setting.

Also relieves the need for the video renderer to check the borderless fullscreen setting each time.
2014-07-30 12:15:26 +02:00
Lioncash
22e9d6977b Common: State OS instead of 32/64 bit in the netplay lobby 2014-07-30 02:04:17 -04:00
Matthew Parlane
5516b0382c Merge pull request #699 from lioncash/enum
Core: Use an enum for the Gekko exception flags instead of defines
2014-07-30 13:53:58 +12:00
Matthew Parlane
a3ca3b0424 Merge pull request #696 from lioncash/more-forward-decls
Convert some more header inclusions into forward declarations
2014-07-30 13:53:48 +12:00
Lioncash
ad3ade1510 Core: Use an enum for the Gekko exception flags instead of defines 2014-07-29 21:51:30 -04:00
Pierre Bourdon
4b66c6c65a Merge pull request #698 from lioncash/missed-workaround
Really get rid of the MSVC 2005 workaround completely
2014-07-29 18:23:04 -07:00
Lioncash
b03c12764d Really get rid of the MSVC 2005 workaround completely 2014-07-29 21:20:43 -04:00
jimbo1qaz
fe9b7fa4f3 Fix D3D Real XFB texture sampling. 2014-07-29 18:15:01 -07:00
Lioncash
abc7845e0c Android: Remove an unused variable from MainAndroid.cpp 2014-07-29 21:05:57 -04:00
Lioncash
522a5c35ad Convert some more header inclusions into forward declarations 2014-07-29 20:55:07 -04:00
Lioncash
3d95ed93f5 Core: Use a std::string in EXI_DeviceIPL instead of a char buffer
Allows getting rid of extra code.
2014-07-29 20:05:57 -04:00
Pierre Bourdon
c0e8d9879a Merge pull request #678 from lioncash/overflow
Fix a possible overflow in EXI_DeviceIPL.
2014-07-29 16:42:58 -07:00
Lioncash
412196a055 Core: Remove defines used to work around an MSVC 2005 bug 2014-07-29 19:33:08 -04:00
Jules Blok
e07c06cb16 CFrame: Handle close events that can't be vetoed.
This can happen during shutdown.

As long as we don't call event.Skip() the CFrame won't be closed yet, so even if we can't veto the shutdown will still happen in the correct order.
2014-07-29 12:36:10 +02:00
Pierre Bourdon
8ff3cf1838 Merge pull request #684 from lioncash/forward-decls
Core: Turn some includes into forward declarations.
2014-07-28 20:50:27 -07:00
Pierre Bourdon
062bce8b7e Merge pull request #659 from Parlane/classic_controller_fix2
Classic controller fix
2014-07-28 20:34:00 -07:00
Oussama Danba
313a743cee Update framelimit tooltip text because the Audio option has been removed. 2014-07-28 19:08:43 +02:00
Tony Wasserka
3fb829ca73 Merge pull request #589 from LPFaint99/gcifolder-fifo
Gcifolder use correct region for fifologs
2014-07-28 14:44:01 +02:00
Tony Wasserka
9c7d4b6408 Merge pull request #667 from RachelBryk/remove-audio-limit
Remove audio frame limit.
2014-07-28 14:38:35 +02:00
Matthew Parlane
3554a15180 Merge pull request #680 from lioncash/fakepoll-removal
Remove fakepoll.h
2014-07-28 21:06:37 +12:00
Lioncash
e225e3679a Merge pull request #685 from lioncash/invalid-reg
Core: Use the enum constant for an invalid reg in JitRegCache
2014-07-27 19:37:43 -04:00
Lioncash
0bb84a1f65 Core: Use the enum constant for an invalid reg in JitRegCache 2014-07-27 19:29:52 -04:00
Lioncash
eb3a1de3f6 Core: Turn some includes into forward declarations. 2014-07-27 13:37:09 -04:00
Tony Wasserka
38c8a4efb2 MMIO: Cleanup Mapping class by using templates instead of macros. 2014-07-27 19:23:19 +02:00
Lioncash
4fa71dd59e Remove fakepoll.h.
It was only used for Windows XP and lower.

This also bumps the _WIN32_WINNT define in the stdafx precompiled headers to set the minimum version as Windows Vista.
2014-07-26 22:53:40 -04:00
Lioncash
551cf4b2a2 Core: Remove the unused cycle parameter from DSPHLE update calls 2014-07-26 20:04:15 -04:00
Lioncash
0b8a6f852b Core: Use character literals within EXI_DeviceIPL 2014-07-26 19:07:19 -04:00
Lioncash
70ba8cfbc2 Core: Fix a possible overflow in EXI_DeviceIPL
m_szBuffer has a size of 256, but addressable range is 0 - 255
2014-07-26 19:06:23 -04:00
Jules Blok
1f24122d35 Frame: Only prevent exclusive fullscreen switches when the emulator is paused.
This fixes the "Use Fullscreen" setting in which case the switch is done while the emulator is uninitialized.
2014-07-27 00:08:27 +02:00
Lioncash
c1673824bd Core: Remove the ratio parameter in Zelda UCode's SizeForResampling func
It's only ever passed PB.RatioInt
2014-07-26 17:39:26 -04:00
Pierre Bourdon
957a39942e Merge pull request #675 from lioncash/movie-params
Core: Use param padState instead of a global in SetInputDisplayString
2014-07-26 23:30:26 +02:00
Lioncash
d1e487ae00 Core: Use param padState instead of a global in SetInputDisplayString 2014-07-26 17:14:54 -04:00
Lioncash
40273634a4 Merge pull request #674 from lioncash/loldsp
Core: Get rid of the void handle parameter for DSP initialization
2014-07-26 17:00:02 -04:00
Lioncash
e8d0a910da Core: Get rid of the void handle parameter for DSP initialization 2014-07-26 16:54:36 -04:00
Dolphin Bot
30962ec361 Merge pull request #664 from booto/dtk-surgery
DTK: Adjustments attempting to increase accuracy
2014-07-26 21:26:33 +02:00
booto
a6a4229865 DTK: Adjustments attempting to increase accuracy 2014-07-27 03:15:52 +08:00
Pierre Bourdon
6bd5fb3a67 Merge pull request #666 from booto/audio-dma-sampling
AudioCommon/Mixer: Allow input sample rate changes
2014-07-26 19:22:37 +02:00
Jules Blok
ec402a0d5f FPSCounter: Initialize members. 2014-07-26 14:37:18 +02:00
Jules Blok
ed2c74a024 D3D: Set s_last_fullscreen_mode when constructing the renderer. 2014-07-26 13:47:11 +02:00
Pierre Bourdon
8e865f3848 Merge pull request #506 from Armada651/d3dfullscreen
D3D: Add exclusive fullscreen support.
2014-07-26 13:22:11 +02:00
Jules Blok
06b13f12d3 D3D: Make the global swapchain static again. 2014-07-26 13:04:46 +02:00
Jules Blok
6724ce6275 Cosmetic changes based on feedback on PR #506. 2014-07-26 13:04:39 +02:00
Jules Blok
eea7086b23 CFrame: Prevent fullscreen switches if the renderer is halted. 2014-07-26 12:45:19 +02:00
Jules Blok
bd9953d97e Remove the 3D Vision hack.
The hack was needed because the Nvidia 3D Vision heuristics are documented to only support surfaces that are the same size as the backbuffer. This would be the case if you enabled the hack and selected the "Auto (Window Size)" internal resolution.

However, on recent drivers the same effect is achieved by selecting the "Auto (Multiple)" internal resolution. Therefore the hack is no longer required.
2014-07-26 12:45:10 +02:00
Pierre Bourdon
906b05cb1c Merge pull request #672 from delroth/vertex-loader
Vertex loader: reduce dependency on global state
2014-07-26 02:03:03 +02:00
Pierre Bourdon
73f9a22e2e VertexLoader: Remove global state dependency on g_nativeVertexFmt 2014-07-26 01:35:09 +02:00
Rachel Bryk
acaac51077 Remove audio frame limit.
It serves no purpose and causes bugs and confusion for users.
2014-07-25 12:17:10 -04:00
Tony Wasserka
5c4e5e9f8a Merge pull request #660 from lioncash/warning
DolphinWX: Fix a double truncation warning in InputConfigDiagBitmaps
2014-07-25 18:11:40 +02:00
Lioncash
4189703b40 Merge pull request #662 from lioncash/log-comment
Clarify that WiimoteEmu::Spy is intended for debugging purposes
2014-07-25 08:46:52 -04:00
Fog
250cc9d5a0 Fixed last tick count not being set on movie load 2014-07-24 20:56:27 -04:00
Lioncash
cefea9a1a1 Core: Fix the license headers for Memmap.h and SystemTimers.h/.cpp 2014-07-24 20:15:43 -04:00
Pierre Bourdon
264459457e Merge pull request #665 from lioncash/cisms
Get rid of a few C-style struct declarations
2014-07-25 01:30:29 +02:00
Lioncash
6186a293f6 InputCommon: Include the algorithm header in ForceFeedbackDevice
Also simplified the casting within a std::max call
2014-07-24 18:55:12 -04:00
booto
7d920bbb3a AudioCommon/Mixer: Allow input sample rate changes 2014-07-24 22:42:29 +08:00
Lioncash
5767691f4e Get rid of a few C-style struct declarations 2014-07-23 20:36:45 -04:00
Pierre Bourdon
78c3a22060 VertexLoader: take the VAT object directly for RunVertices 2014-07-24 01:51:37 +02:00
Pierre Bourdon
069801a7d1 VertexLoader: Simplify SetVAT 2014-07-24 01:25:23 +02:00
Pierre Bourdon
20369743a4 VertexLoaderUID: remove global state dependency 2014-07-24 01:12:12 +02:00
Moshe Kaplan
cd8b65bd8a Prevent potential buffer overflow in sscanf 2014-07-23 10:03:49 -04:00
Matthew Parlane
008b907bf0 Merge pull request #655 from lioncash/crashes
Fix two possible crashes related to the debugger.
2014-07-23 21:24:03 +12:00
Pierre Bourdon
257d2a6faf Merge pull request #661 from delroth/dolphinbar
Fix WiiMote issues causing DolphinBar to not work
2014-07-23 05:26:38 +02:00
Pierre Bourdon
e51c459406 IOWin: rework _IOWrite OVERLAPPED/bytes written handling.
CheckDeviceType_Write uses an OVERLAPPED structure to make sure some bytes
were written to the device for a given _IOWrite operation. However, the
OVERLAPPED structure is only used for the BlueSoleil stack, not the MS stack
(which goes through an alternate HID path instead of WriteFile, and does not
have an equivalent async operation).

Make _IOWrite return the number of written bytes instead, since it knows
about the Bluetooth stack being used.
2014-07-23 05:17:04 +02:00
Lioncash
7f55d36013 Clarify that WiimoteEmu::Spy is intended for debugging purposes 2014-07-22 22:38:31 -04:00
Pierre Bourdon
ff61158466 IOWin: Make error 0x1F less noisy.
This error code is used by third-party WiiMote adapters to signal the
absence of a WiiMote connected to their virtual HID port. Ignoring it
removes some log spamming and doesn't change anything in terms of
behavior.
2014-07-23 03:32:15 +02:00
Lioncash
8a7640f8b4 DolphinWX: Fix a double truncation warning in InputConfigDiagBitmaps 2014-07-22 06:58:32 -04:00
Shawn Hoffman
c3eb45f7bc Revert "Merge pull request #473 from Tilka/frsp"
This reverts commit d369627d70, reversing
changes made to 67ff926f1e.
2014-07-21 20:40:21 -07:00
Matthew Parlane
cee07ff16e Use new stick/trigger constants for Classic.cpp 2014-07-22 12:16:34 +12:00
Matthew Parlane
82ee68663f Add stick and trigger radius/center/range consts 2014-07-22 12:14:47 +12:00
Matthew Parlane
e30f4576c9 Revert "Use new stick/trigger constants for Classic.cpp"
Added using github, Parlane is an idiot.
This reverts commit 954e61949f.
2014-07-22 00:08:10 +00:00
Matthew Parlane
954e61949f Use new stick/trigger constants for Classic.cpp 2014-07-22 11:57:12 +12:00
Jules Blok
4b3d579573 Renderer: Only notify the host when exiting fullscreen 2014-07-21 20:50:50 +02:00
Jules Blok
0c81494c89 Frame: Make the fullscreen transitions more reliable. 2014-07-21 20:50:49 +02:00
Jules Blok
009b4dd376 Exit exclusive fullscreen when the stop confirmation is shown.
Also have the renderer remember its own fullscreen state. This is done to prevent a case where we exit exclusive fullscreen through the configuration and a focus shift at the same time. In this case the renderer would fail to detect that the fullscreen state was changed.
2014-07-21 20:50:48 +02:00
Lioncash
d369627d70 Merge pull request #473 from Tilka/frsp
Jit64: implement frsp
2014-07-21 14:35:40 -04:00
Jules Blok
36ea1890c8 Let the Renderer decide when to exit fullscreen.
This ensures the transition from/to exclusive mode happens while the RenderFrame is fullscreen.

This prevents fullscreen loops and relieves us of having to restore the window size after we exit fullscreen.
2014-07-21 17:11:13 +02:00
booto
0d2bef2743 GCPadStatus: coalescing magic numbers into consts 2014-07-21 19:56:05 +08:00
Matthew Parlane
38d5197a2c Merge pull request #646 from lioncash/warnings
Core: Fix warnings in JitRegCache
2014-07-21 20:43:41 +12:00
Jules Blok
cd94ff1966 VideoConfig: Add "Borderless Fullscreen" option.
This option will disable exclusive fullscreen for users who prefer the old behaviour.
2014-07-20 22:02:57 +02:00
Shawn Hoffman
cfc7bb35c2 Windows: Also look for git.exe in the registry (for Git Extensions installs). 2014-07-20 12:33:56 -07:00
Lioncash
298425920a DolphinWX: Fix a possible crash when setting debugger memory values. 2014-07-19 19:59:44 -04:00
Lioncash
44e43fe5c3 Core: Make CPU_POWERDOWN the initial CPU state.
This isn't a correct state for the CPU to begin in when starting the application.

Also CPU_STEPPING as an initial state causes the emulator to crash if you use any of the debugger stepping buttons, since it checks if the CPU is in the CPU_STEPPING state before performing their functions.
2014-07-19 19:43:53 -04:00
Pierre Bourdon
963e1a698c Merge pull request #581 from TotalNerd/memcard-emu
Emulate GameCube memory card speeds
2014-07-20 00:12:47 +02:00
Lioncash
fa2944898f DolphinWX: Move some public variables to be private in CodeView
It's not used outside of the class, and it also shouldn't be modified
outside of it either (considering it holds all the blr instructions inserted by the user).
2014-07-19 17:23:43 -04:00
Jules Blok
3400871992 Renderer: Don't attempt to switch to exclusive fullscreen if "render to main" is enabled. 2014-07-19 21:14:49 +02:00
Jules Blok
9064bf147d D3D: Don't set the windowed mode size when we initialize in fullscreen. 2014-07-19 21:14:48 +02:00
Jules Blok
d00e76b3ef Cosmetic changes based on feedback on PR #506. 2014-07-19 21:14:47 +02:00
Jules Blok
5837b35add Renderer: Restore exclusive mode after focus has been regained. 2014-07-19 21:14:47 +02:00
Jules Blok
5f04e9c526 D3D: Make the swapchain available outside of the namespace.
This commit reverts a part of pull request #579.
2014-07-19 21:14:46 +02:00
Jules Blok
643c9ff173 D3D: Initialize the renderer in exclusive fullscreen mode if it is enabled. 2014-07-19 21:14:46 +02:00
Jules Blok
961076a3d5 D3D: Return to windowed mode before destroying the swapchain. 2014-07-19 21:14:45 +02:00
Jules Blok
77bc879384 D3D: Add exclusive fullscreen support. 2014-07-19 21:14:44 +02:00
Jules Blok
d72375fdfa D3D: Request desktop resolution before overriding the buffer size.
This fixes issues where the wrong refresh rate is selected for some monitors.
2014-07-19 21:14:44 +02:00
Jules Blok
c323b386ae Prevent DXGI from making changes to the window.
Prevents DXGI from responding to Alt+Enter and messing up our fullscreen handling.
2014-07-19 21:14:43 +02:00
Jules Blok
8d76dca30d Frame: Make RendererHasFocus() compatible with the new window structure. 2014-07-19 21:14:38 +02:00
Jules Blok
66fec6d0bd Remove CPanel.
Let the RenderFrame handle those messages.
2014-07-19 21:13:15 +02:00
Dolphin Bot
5df45dfbba Merge pull request #650 from lioncash/scrolling
DolphinWX: Implement scrolling in the memory views
2014-07-19 19:31:41 +02:00
Jules Blok
1b70bebb5a Don't create a Panel for a seperate render window.
Instead of setting RenderParent to null and raising complexity RenderFrame can be its own parent.
2014-07-19 15:56:49 +02:00
booto
631a361cc8 GCPadEmu: stop sticks wrapping at extreme values 2014-07-19 19:22:05 +08:00
LPFaint99
da99e0448b GCI Folder: no need to force reload sysmenu to get version
causes crash with larger gci folders as we pull the loader out from under the ppc
2014-07-18 20:34:26 -07:00
Lioncash
a00c7bdb9e DolphinWX: Implement scrolling in the memory views 2014-07-18 22:42:03 -04:00
TotalNerd
b2ac65bb21 Revised channel access from EXI_DeviceMemoryCard 2014-07-18 20:06:03 -05:00
Ryan Houdek
bc9ef95643 Support Sampler binding in the shader.
In the cases where we support the binding layout keyword, use it for more than binding UBO location.
This changes it so it is supported for samplers as well.

Instances when this is enabled is if a device supports GL_ARB_shading_language_420pack, or if it supports GLES 3.10.
2014-07-18 17:04:03 -05:00
Dolphin Bot
b9dc69105d Merge pull request #595 from Armada651/pref_log
FPSCounter: Flush the logs every second and close them when the renderer is shut down.
2014-07-18 12:59:04 +02:00
Jules Blok
eaa7460636 FPSCounter: Remove redundant destructor. 2014-07-18 12:49:40 +02:00
Pierre Bourdon
a180cd60ee Merge pull request #640 from lioncash/debugger
DolphinWX: Enable certain Code View context options only when the core is running.
2014-07-18 09:15:03 +02:00
Pierre Bourdon
8085b3d264 Merge pull request #638 from lioncash/bound-check
Core: Fix bounds checking within GCMemcard.cpp.
2014-07-18 09:14:27 +02:00
Pierre Bourdon
4db84c5188 Merge pull request #637 from lioncash/unused
Core: Remove unused function Callback_ISOName()
2014-07-18 09:14:06 +02:00
Pierre Bourdon
2fbdc03572 Merge pull request #642 from phire/vs-constants
VideoSoftware: Use the same max XFB size as VideoCommon.
2014-07-18 09:12:36 +02:00
Lioncash
98f352a4e6 Core: Fix warnings in JitRegCache 2014-07-18 02:44:29 -04:00
Tillmann Karras
771a30da36 Jit64: implement frsp 2014-07-17 23:22:41 +02:00
TotalNerd
f602372885 Redo timing in DMAWrite/DMARead 2014-07-17 10:57:34 -05:00
TotalNerd
8a0093de23 Emulate GameCube memory card speeds 2014-07-17 10:57:34 -05:00
Scott Mansell
7aff56bef5 Implement the correct method for determining field order.
Based on advice from tueidj we implement this method based on how
TVs actually determin the field order.

Removes spammy messages about "Invalid field order"
2014-07-17 23:56:23 +12:00
Pierre Bourdon
d44fc48295 SW: Call OnFrameEnd in the FifoPlayer XFB hack. Required to dump DFF frames. 2014-07-17 13:20:13 +02:00
Scott Mansell
2be83c13be VideoSoftware: Use the same max XFB size as VideoCommon.
And lets just use the same constant as videocommon, so if it ever
increases (again) VideoSoftware will be automatically updated.
2014-07-17 22:39:09 +12:00
Lioncash
bc172f4883 DolphinWX: Enable certain Code View context options only when the core is running.
Prior to this, attempting to execute these contextual menu options would
crash the application.
2014-07-17 04:50:53 -04:00
Scott Mansell
48afab2685 Correct left/right volume for padded samples. 2014-07-17 18:41:18 +12:00
Scott Mansell
a0101c5d29 Audio Mixer: move Static variable to a member variable.
The two instances of this class were sharing a frac variable causing
audio glitches when both were running (which is now all the time).

Fixes issue 7463 (Since DTK merge, audio has staic in it).
2014-07-17 18:26:21 +12:00
Lioncash
7ca8a834c1 Core: Fix bounds checking within GCMemcard.cpp.
Prior to this 127 would be an allowed numeric index. However There is only an addressable range from 0-126.
2014-07-17 01:33:47 -04:00
LPFaint99
19c94de6e0 Gcifolder use correct region for fifologs and homebrew 2014-07-16 21:41:09 -07:00
Lioncash
041445a155 Core: Remove unused function Callback_ISOName() 2014-07-16 20:44:17 -04:00
Sean
304d9ccd58 [Android] Enable filtering onscreen buttons 2014-07-16 20:29:10 -04:00
Dolphin Bot
51dff5a74e Merge pull request #622 from phire/sw-fix-frame-dump
Fixed Frame dumping in VideoSoftware.
2014-07-17 02:04:03 +02:00
Scott Mansell
92eed47213 Fixed Frame dumping in VideoSoftware.
Old code dumped the efb, which was no-longer relevant since the
backend gained xfb support.
New code dumps the colour texture which is about to be rendered to
the screen so correctly reflects the bypassXFB option.
2014-07-17 11:43:59 +12:00
Pierre Bourdon
8cf21cdcdb Merge pull request #633 from magcius/wip/input-focus-fix
Fix input focus issues
2014-07-17 01:21:31 +02:00
Lioncash
30e4366d28 Merge pull request #580 from SeannyM/smaller-b
[Android] User configurable input overlay scaling
2014-07-16 19:04:35 -04:00
Pierre Bourdon
9481af886b Merge pull request #632 from lioncash/dolwx
DolphinWX: Mild readability clean up of CodeView.
2014-07-16 23:46:47 +02:00
Pierre Bourdon
ebec4b01ef Merge pull request #634 from degasus/pixelshader-align
PixelShaderGen: fix indentation
2014-07-16 23:43:36 +02:00
Jules Blok
3b978f7c27 Turn the FPSCounter namespace into a class. 2014-07-16 20:40:40 +02:00
Tony Wasserka
2daa83da48 Merge pull request #372 from Tilka/fctiwzx
Jit64: implement fctiwx/fctiwzx
2014-07-16 17:41:21 +02:00
degasus
01fd96ab31 PixelShaderGen: fix indentation 2014-07-16 17:24:43 +02:00
Jasper St. Pierre
44307c9508 Host: Add a new "UIHasFocus" hook to determine if the UI has focus
We can't use RendererHasFocus for this purpose because of some issues
with exclusive fullscreen, and the new RendererHasFocus implementation
didn't work for non-Render to Main Window cases, since the renderer
window wasn't managed by wx.
2014-07-16 10:27:21 -04:00
Jasper St. Pierre
ee087f5953 Revert "Frame: Fix RendererHasFocus"
This reverts commit ff918df889.

This changed it from "RendererHasFocus" to "UIHasFocus", which is
wrong. Specifically, it broke for non-Render to Main Window cases where
the renderer window isn't managed by wx. It also broke the pending
exclusive fullscreen support, which checks this function to determine if
the renderer is on top so it can full-screen it.

We'll add a new hook, "UIHasFocus", in the next commit.
2014-07-16 10:26:06 -04:00
Lioncash
48ca800b13 DolphinWX: Mild readability clean up of CodeView.
- Gets rid of the underscore in some function names
- Appends the 'm_' prefix to class member variables.

Now it isn't a pain to see what is being modified in terms of state. Especially in the OnPaint call.
2014-07-15 23:01:17 -04:00
Dolphin Bot
57a4bfb835 Merge pull request #631 from lioncash/scrolling
DolphinWX: Implement scrolling in the code view and DSP disassembly view.
2014-07-16 03:53:53 +02:00
Lioncash
9c1b427687 DolphinWX: Implement scrolling in the code view and DSP disassembly view. 2014-07-15 21:35:11 -04:00
Lioncash
6c57457f9f Core: Correct some function casings. 2014-07-15 19:41:50 -04:00
Tillmann Karras
6521929f99 Jit64: implement fctiw/fctiwz 2014-07-15 23:58:09 +02:00
Tillmann Karras
6df48ed432 x64Emitter: add CVTTPD2DQ 2014-07-15 23:53:56 +02:00
Rachel Bryk
ed5169c5eb Fix leaking exi devices. 2014-07-15 16:15:38 -04:00
Sean
cd9a0b6f4d [Android] Onscreen controls better resemble GC and user configurable scaling 2014-07-15 16:14:27 -04:00
Lioncash
ebd029973a Merge pull request #604 from magcius/wip/emu-cleanup-2
Start cleaning up the input interface
2014-07-15 12:11:17 -04:00
Lioncash
01cd90deef Merge pull request #544 from LPFaint99/memcard
GCI Folder fix compatibility with games that relocate the save after first use
2014-07-15 12:09:56 -04:00
Lioncash
0720a36c99 Merge pull request #624 from phire/fix-334-issue
Fix another protential issue with casting.
2014-07-15 12:04:16 -04:00
Lioncash
79eb0f8d0c Merge pull request #623 from phire/sw-xfb-clamping
Fix incorrect clamping in SWRenderer.
2014-07-15 12:04:06 -04:00
Lioncash
35b97ed732 Merge pull request #558 from sigmabeta/game-list-fixes
A few tweaks to implementation of the game list screen.
2014-07-15 11:31:26 -04:00
Scott Mansell
b8695a57da Fix incorrect clamping in SWRenderer.
A previous PR changed a whole lot of min/maxes to std::min/std::max
but made a mistake here and used a templated min which cast it's
arguments to unsigned instead of casting return value.

This resulted in glitchy artifacts in bright areas (See issue 7439)

I rewrote the code to use a proper clamping function so it's cleaner
to read.
2014-07-15 21:15:49 +12:00
Lioncash
8cc11de94a Merge pull request #625 from lioncash/logging
Remove some unnecessary defines in Log.h
2014-07-15 02:37:16 -04:00
Tillmann Karras
4063694d20 VideoCommon: fix ifdef expression 2014-07-15 04:15:49 +02:00
Eder Bastos
36821cb117 Display file size in GiB instead of bytes. 2014-07-14 21:52:52 -04:00
LPFaint99
198d137ca0 GCI Folder fix compatibility with games that relocate the save after first use 2014-07-14 18:52:29 -07:00
Eder Bastos
0170050cad Use the "No Banner" graphic as a Drawable resource, instead of as an asset. 2014-07-14 21:34:44 -04:00
Lioncash
8087a89afd Remove some unnecessary defines in Log.h 2014-07-14 15:51:28 -04:00
Scott Mansell
d4a2afe345 Fix another protential issue with casting.
Another issue from #334 with the casting moved from the output of
min to it's inputs.

This is a non-issue on 64 bit machines, but if dolphin is compiled
on an OS with size_t == u32 (say ARM) then remainingSize could be
truncated.

Restored the casting to the original order before #334.
2014-07-15 01:38:05 +12:00
Scott Mansell
d4cfddcf8d Revert "DolphinWX: Use non-deprecated flags for the monospace debugger font" 2014-07-14 21:37:27 +12:00
shuffle2
3ac4e9f171 Merge pull request #608 from lioncash/compat
DolphinWX: Remove the use of some wx 1.0 compatibility function calls.
2014-07-14 01:56:09 -07:00
shuffle2
0c6eeaff05 Merge pull request #617 from Tilka/clang_bug
VideoCommon: fix clang version check
2014-07-14 01:55:31 -07:00
Pierre Bourdon
1464cfee13 Merge pull request #619 from lioncash/dpl2
Correct the function casing for DPL2Decoder
2014-07-14 10:21:20 +02:00
Lioncash
2c73472671 Correct the function casing for DPL2Decoder
Brings it more in-line with the rest of the codebase.
2014-07-14 03:34:40 -04:00
Lioncash
b66eb03b2f OGL: Correctly guard against array bounds of s_encodingPrograms
s_encodingPrograms is defined as an array with a length of 64
NUM_ENCODING_PROGRAMS is also defined as 64.

However 64 is out of bounds, so we want to be comparing for "equal to or
greater than here"
2014-07-14 00:48:14 -04:00
Lioncash
d931637d63 DolphinWX: Remove two c_str calls in ISOProperties.cpp. 2014-07-13 23:43:41 -04:00
Lioncash
5c57a1ef4b DolphinWX: Remove the use of some wx 1.0 compatibility functions.
Uses the recommended replacements.
2014-07-13 23:42:37 -04:00
Tillmann Karras
dbc30c6c76 VideoCommon: make version check easier to read 2014-07-14 03:05:56 +02:00
Pierre Bourdon
dee6f226a3 Merge pull request #614 from Tilka/branch_prediction
[RFC] Common: add macros for assisting branch prediction
2014-07-14 03:00:08 +02:00
Tillmann Karras
0be03252cc VideoCommon: fix clang version check
That was... er... a typo!
2014-07-14 02:59:31 +02:00
shuffle2
3f67ec0d50 Merge pull request #611 from Tilka/clang_bug
VideoCommon: version-check clang for workaround
2014-07-13 17:52:54 -07:00
Tillmann Karras
b6f3ae23bc VideoCommon: version-check clang for workaround
The bug was fixed in clang 3.4.
2014-07-14 02:12:48 +02:00
Pierre Bourdon
5c701f6e82 Merge pull request #610 from lioncash/delete
DolphinWX: Remove the need for an explicit new/delete in ISOProperties
2014-07-14 01:55:11 +02:00
Tillmann Karras
d398e9ef61 Common: add macros for assisting branch prediction 2014-07-14 01:52:14 +02:00
Jules Blok
aa2495205e Shutdown the Core before other components.
Other components depend on the EmuThread being stopped.
2014-07-13 23:47:59 +02:00
Pierre Bourdon
8876ee120a Change libav* autodetection to support framedumping on Ubuntu 14.04
Add an "ugly" workaround in the AVIDump code, but looking at other project this
seems to be the most common way to handle this API change.
2014-07-13 23:06:20 +02:00
shuffle2
3cabacde9d Merge pull request #613 from lioncash/uninitialized
Core: Fix potential uninitialized var usage in WII_IPC_HLE_Device_usb
2014-07-13 14:03:02 -07:00
Lioncash
fae0cf3698 Core: Fix potential uninitialized var usage in WII_IPC_HLE_Device_usb
If "if (ReadStoredLinkKey->read_all == 1)" is not true, then
num_keys_read would be used uninitialized.
2014-07-13 15:41:35 -04:00
Lioncash
9d3c0102fc Core: Get rid of an unnecessary struct typedef in Boot.h. 2014-07-13 15:28:50 -04:00
Lioncash
5b649902dc DolphinWX: Remove the need for an explicit new/delete in ISOProperties
Just use a normal constructor call and call Destroy to close the window.
2014-07-13 15:06:03 -04:00
Pierre Bourdon
16582a0459 Merge pull request #543 from RachelBryk/patches
Fix patches not being loaded when running real gc bios.
2014-07-13 06:25:39 +02:00
Pierre Bourdon
0563960dbc Merge pull request #603 from lioncash/debugger-font
DolphinWX: Use non-deprecated flags for the monospace debugger font
2014-07-13 06:21:02 +02:00
Pierre Bourdon
12fa5ba8b4 Merge pull request #607 from Tilka/fix_warnings
Fix warnings unearthed by #579
2014-07-13 06:20:45 +02:00
Tillmann Karras
0ccee6c87b Fix warnings unearthed by #579 2014-07-13 02:16:51 +02:00
Jules Blok
64801008a0 NoGUI: Add missing call to Core::Shutdown().
Fixes a crash when exiting the application.
2014-07-13 01:05:09 +02:00
Jasper St. Pierre
ff918df889 Frame: Fix RendererHasFocus
The logic of RendererHasFocus was extremely convoluted beforehand and
was too brittle and broke in certain circumstances, like when the
GCPad window was active. Simplify it and leave a comment explaining the
new logic. This fixes the GCPad window not working when Background Input
is unchecked.
2014-07-12 07:29:49 -04:00
Lioncash
26f3867e20 DolphinWX: Allow short-hand searching in the code window
Lessens the restrictions on the searching in the code view.
Now typing out the full 8 digit hex number isn't needed. For example, you don't need to type 000000FF to go to FF, you just literally type FF.

Also makes JumpToAddress a boolean function to remain consistent with the DSP code view.

This will also change the address search box to have a red background if
either an invalid hex number is given, or if it's longer than 8 characters
2014-07-11 18:32:32 -04:00
Lioncash
58c58d2f92 InputCommon: Use enums instead of defines within GCPadStatus.h 2014-07-11 17:18:11 -04:00
Jasper St. Pierre
e4eec2002b ControllerEmu: Remove focus-checking code from the rest of ControllerEmu 2014-07-11 14:08:29 -04:00
Jasper St. Pierre
74f3083381 ControllerInterface: Gate the input based on our new background input setting 2014-07-11 13:38:52 -04:00
Jasper St. Pierre
5abc028ace ControllerEmu: Make BackgroundInput a global setting through the virtualization
This will allow us to simplify the checks for background input and push
them further down into the architecture, into the ControllerEmu layer.

The new setting isn't actually used yet, though.
2014-07-11 13:38:37 -04:00
Jasper St. Pierre
0d49bf65a7 ControllerEmu: Virtualize settings
This will allow us to move Background Input to a global setting rather
than a local setting.
2014-07-11 13:32:58 -04:00
Jasper St. Pierre
a6dc3c47a9 ControllerEmu: Change the GetState interface to remove range/base
Do the scaling in the code that interprets the results.

This also removes the templatization of things and changes the interface
to always take a double.

This does add a bit more code to the users of GetState, especially when
having to deal with focus management, but this will be cleaned up very
soon, as focus and focus-related options will be centralized inside the
input platforms themselves, rather than spread out across all the input
plugins.
2014-07-11 13:32:57 -04:00
Jasper St. Pierre
0d11081a3b ControllerEmu: Clean up the code that applies the modifier
This makes it more clear and pretty much the analog stick code bog standard.
2014-07-11 13:32:57 -04:00
Jasper St. Pierre
c29d5ff989 ControllerEmu: Always convert to polar coordinates and back
Most users will have something in the radius or deadzone fields, so
don't bother filtering out 'extra' work. This also lets us clean up
the modifier implementation.
2014-07-11 13:32:57 -04:00
Jasper St. Pierre
f2d4f10fc9 ControllerEmu: Remove support for the "Square Stick" option
It was only used for really old joypads which we really don't want to
support. If users have these joypads, they should look into using
something at the OS level, as games shouldn't need to have this
transformation; it should be done by the OS and driver.
2014-07-11 13:32:57 -04:00
Jasper St. Pierre
07c4925059 InputConfigDiagBitmaps: Clean up the FORCE drawing code as well 2014-07-11 13:32:57 -04:00
Jasper St. Pierre
4d2a39090b InputConfigDiagBitmaps: Rewrite the stick visualization code
Change our DrawCoordinate helper method to take raw coordinate
positions, and draw the rectangle using that. This is a lot better
and more friendly than applying various crazy constants in the GetState
for the base/range.
2014-07-11 13:32:57 -04:00
Jasper St. Pierre
8abff435e6 InputConfigDiagBitmaps: Clean up code a bit more
Split out some math into a utility.
2014-07-11 13:32:57 -04:00
Jasper St. Pierre
3c411c33e8 InputConfigDiagBitmaps: Start a cleanup by splitting code out
This doesn't have any functional changes, it just removes part of the
mess by killing indentation.
2014-07-11 13:32:57 -04:00
Jasper St. Pierre
68a4979f35 Nunchuk: Stop the dereference dance 2014-07-11 13:32:56 -04:00
Jasper St. Pierre
e20a0265de Remove UDPWiimote feature
It substantially complicates the code and doesn't really provide any
functionality. According to the forums, the Android app is out of date
and has been broken for quite a while.

If we want to add this back, I'd write an app that speaks a more native
Wiimote protocol, and we can hook that up to the backend quite easily.
It could even be over our NetPlay protocol!
2014-07-11 13:32:56 -04:00
Jasper St. Pierre
c11672b2d8 ControllerEmu: Constructors go on top 2014-07-11 13:32:18 -04:00
Jasper St. Pierre
d468c38335 ControllerEmu: Fix code style 2014-07-11 13:32:18 -04:00
Jasper St. Pierre
0c9f6c2a2b ControllerEmu: Remove unnecessary include 2014-07-11 13:32:18 -04:00
Lioncash
6885bac05f DolphinWX: Use non-deprecated flags for the monospace debugger font 2014-07-11 13:11:11 -04:00
degasus
7e79806efc remove unused globals
Also change globals into statics which are only used in one file
2014-07-11 16:10:20 +02:00
degasus
81ed17be53 avoid the extern keyword in .cpp files 2014-07-11 16:10:20 +02:00
degasus
6d3f249dcc mark all local variables as static 2014-07-11 16:10:20 +02:00
degasus
22e1aa5bb4 mark all local functions as static 2014-07-11 16:07:23 +02:00
Tony Wasserka
326af097d9 Merge pull request #593 from neobrain/master
Use uniform capitalization in VideoConfigDiag
2014-07-11 13:26:23 +02:00
Dolphin Bot
75c6575f37 Merge pull request #601 from lioncash/pad-struct
Change SPADStatus struct name to GCPadStatus
2014-07-11 06:20:33 +02:00
Lioncash
896d7e5685 Change SPADStatus struct name to GCPadStatus
Also get rid of the typedef, since this is unnecessary in C++
2014-07-10 22:02:38 -04:00
Pierre Bourdon
ef510a4f73 Merge pull request #594 from lioncash/another-clamp-removal
DolphinWX: Remove yet another clamp method
2014-07-11 02:48:27 +02:00
Lioncash
6f9483d161 DolphinWX: Remove unnecessary true within event Skip calls 2014-07-10 20:39:26 -04:00
Lioncash
32d53c7d1d DolphinWX: Get rid of an unneccessary cast in CodeWindow
CFrame inherits from CRenderFrame which inherits from wxFrame which
eventually inherits from wxWindow, so this cast is not required.
2014-07-10 20:29:55 -04:00
Jules Blok
6def4ead01 FPSCounter: Flush the logs every second and close them when the renderer is shut down. 2014-07-10 23:11:28 +02:00
Jules Blok
1754cbda9d Move FPSCounter calls to RenderBase. 2014-07-10 23:11:09 +02:00
Lioncash
a546ef3276 Merge pull request #573 from sigmabeta/file-copies-intentservice
Get rid of the UI-less Activity that launches from Android's home screen.
2014-07-10 16:20:38 -04:00
Dolphin Bot
bc655d1a82 Merge pull request #515 from Armada651/threading
Make the emulation stop asynchronous to prevent deadlocks.
2014-07-10 21:02:47 +02:00
shuffle2
15c1250d9d Merge pull request #596 from delroth/master
AVIDump: fix FFV1 encoding
2014-07-09 18:02:40 -07:00
Pierre Bourdon
da697df6ee AVIDump: fix FFV1 encoding
ffmpeg 2.0 changed requirements for the FFV1 encoder and made them more strict,
requiring more fields of the input frame to be initialized. Explicitly setting
pixfmt, width and height solve the EINVAL issues with FFV1 encoding.

Original fix from http://ffmpeg.org/pipermail/libav-user/2013-October/005759.html
2014-07-10 02:53:12 +02:00
Lioncash
dbdefd074b DolphinWX: Remove yet another clamp method 2014-07-09 16:17:13 -04:00