Léo Lam
6cfd7baac9
Qt/Config: Fix inconsistent spacing between options
2017-09-26 17:43:50 +02:00
Léo Lam
ca3be07e59
Qt/GameList: Fix broken File Name column
2017-09-26 17:43:50 +02:00
Léo Lam
6db55fc2d0
Qt/About: Fix text size to better match WX
2017-09-26 17:43:49 +02:00
Léo Lam
a158b87f9b
Qt/About: Fix the HTML
...
* remove useless units after 'zero' values
* reduce the size of 'Dolphin' to be more reasonable and look better
* avoid hardcoding the normal and small font sizes
2017-09-26 17:43:49 +02:00
Léo Lam
8f2558dc89
Qt: Simplify AboutDialog creation
...
Just create the AboutDialog on the stack -- the actual object lives on
the heap anyway, since Qt uses the pimpl idiom. Removes the need for
an explicit new and a special delete on close attribute.
2017-09-26 17:43:49 +02:00
Léo Lam
730b7fc833
Qt: Remove __DATE__ to make builds reproducible
...
See also PR #3259 .
Also makes the copyright text identical to DolphinWX.
2017-09-26 17:43:49 +02:00
Mike Harris
96525cbaaa
Remove unused FRAGMENT_TAG, and move the fragment's layout ID inline.
...
FRAGMENT_ID wasn't actually the fragment's ID (that's misleading, and
sounds like the tag). It's actually the layout resource ID. There's no point in making that a static constant.
2017-09-25 22:47:52 -07:00
Mike Harris
252af9c1bd
Remove the debug strings.xml definition of application_id.
...
This is handled by gradle, we don't need a separate strings.xml for
debug.
2017-09-25 22:20:52 -07:00
Michael M
9245210c49
Qt: bold graphics settings on ConfigChanged, not EmulationStateChanged
...
EmulationStateChanged is functionally correct right now, but
ConfigChanged expresses more semantically why the config setting gets
re-read and the widgets updated.
2017-09-25 21:48:13 +02:00
Michael M
a334ec3daa
Qt: add ConfigChanged signal to Settings
2017-09-25 21:46:23 +02:00
Léo Lam
6484776920
DSP: Fix a missing mask for the predscale register
2017-09-24 20:48:29 +02:00
Léo Lam
5dae20ea9d
UnitTests: Add DSP accelerator tests
...
Includes DSP accelerator tests for basic behaviour, and everything
that was fixed by the PR.
2017-09-24 20:48:29 +02:00
Léo Lam
de6e807364
DSP: Handle two accelerator loop edge cases properly
...
There are two special cases that the DSP accelerator handles in a
special way: when the end address is of the form xxxxxxx0 or
xxxxxxx1.
For these two cases, the normal overflow handling doesn't apply.
Instead, the overflow check is different, the ACCOV exception never
fires at all, the predscale register is not updated, reads are not
suspended, and if the end address is 16-byte aligned, the DSP loops
back to start_address + 1 instead of the regular start_address.
2017-09-24 20:48:29 +02:00
Léo Lam
bd03f2e46e
DSP: Fix ACCOV not suspending accelerator reads
...
When an ACCOV is triggered, the accelerator stops reading back anything
and updating the current address until the YN2 register is set.
This is kept track of internally by the DSP; this state is not exposed
via any register.
However, we need to emulate this behaviour correctly because some
ucodes rely on it (notably AX GC); failure to emulate it will result
in reading past the end and start address for non-looped voices.
2017-09-24 20:48:29 +02:00
Léo Lam
8310a672b0
DSP: Fix the predscale update logic
...
When the current address is xxxxxxxf, after doing the standard ADPCM
decoding and incrementing the current address as usual to get the
next address, the DSP will update the predscale register by reading
2 bytes from memory, and add two to get the next address.
This means xxxxxx10 cannot be a current address, as the DSP goes
from 0f to 12 directly.
A more serious issue with the old code is that if the start address
is 16-byte aligned, some samples will always be skipped, even when
that should not be the case.
An easy way to test whether this behaviour is correct is to check
the current address register and the predscale after each read.
Old code:
...
ACCA=00000002, predscale=<value>
ACCA=00000003, predscale=<value>
...
ACCA=0000000f, predscale=<value>
ACCA=00000010, predscale=<another value>
ACCA=00000013, predscale=<another value>
ACCA=00000014, predscale=<another value>
...
New code (and console):
...
ACCA=00000002, predscale=<value>
ACCA=00000003, predscale=<value>
...
ACCA=0000000f, predscale=<value>
ACCA=00000012, predscale=<another value>
ACCA=00000013, predscale=<another value>
...
2017-09-24 20:48:29 +02:00
Léo Lam
003dba5275
DSP: Convert accelerator to a C++ class
...
Slightly cleaner, allows DSP accelerator behaviour to be
added to both HLE and LLE pretty easily, and makes the accelerator
easier to unit test.
I chose to include all accelerator state as private members, and
to expose state that is accessible via registers with getters/setters.
It's more verbose, yes, but it makes it very clear what is part of
the accelerator state and what isn't (e.g. coefs).
This works quite well for registers, since the accelerator can do
whatever it wants internally. For example, the start/end/current
addresses are masked -- having a getter/setter makes it easier to
enforce the mask.
2017-09-24 20:48:28 +02:00
Léo Lam
017bfcda2b
DSP: Fix gdsp_ifx_write to take a u16 value
...
And change the JIT to clear the upper 16 bits when calling the write
function to work around bugs in some compilers like clang.
2017-09-24 20:48:28 +02:00
Léo Lam
7c01127ac6
DSPSpy: Add a test for accelerator loop
...
This adds a test ucode that can be used to check the accelerator loop
behaviour with various start/end addresses.
It's actually more of a test template than a ready to use test.
2017-09-22 20:17:38 +02:00
Léo Lam
99e36cd9d9
DSPSpy: Print ACCOV mails
2017-09-22 20:17:38 +02:00
Léo Lam
e569d3bc4a
DSPSpy/Base: Handle ACCOV exceptions
...
This allows dspspy to show that an ACCOV happened, and to resume
accelerator reads after an ACCOV (by refreshing the YN2 register).
2017-09-22 20:17:38 +02:00
Léo Lam
05cdbccc38
DSPSpy/Base: Clean up trailing whitespace
2017-09-22 20:17:38 +02:00
Markus Wick
8ebdd62f45
Merge pull request #6084 from JosJuice/fab-placement
...
Android: Adjust position of floating action button
2017-09-22 08:42:21 +02:00
Leo Lam
969a72faed
Merge pull request #6079 from spycrab/qt_fix_log
...
Qt: Fix log / log config window not being marked as hidden when closing
2017-09-21 17:29:24 +02:00
JosJuice
85ab968136
Android: Adjust position of floating action button
2017-09-21 15:48:17 +02:00
Anthony
56d0cb8d61
Cleanup var naming in ISOProperties
2017-09-20 16:46:46 -07:00
Anthony
47a2a16b77
[Qt] Fix bolding of GraphicsChoice.cpp
2017-09-20 09:13:23 -07:00
spycrab
0b43e1bcf4
Qt: Fix log / log config window not being marked as hidden when closing
2017-09-20 15:12:26 +02:00
spycrab
6c7e392f0c
Qt/GraphicsSettings: Fix overriden settings not being bolded
2017-09-20 15:12:05 +02:00
Markus Wick
d1abd71ccb
Merge pull request #6070 from lioncash/ogl-tcache
...
OGL/TextureCache: Move file statics to the TextureCache class
2017-09-20 10:19:39 +02:00
Leo Lam
c9f790dca4
Merge pull request #6072 from JosJuice/eject-disc
...
Add an option to eject the disc
2017-09-18 12:47:47 +02:00
Pierre Bourdon
43f067c6e1
StringUtil: support TryParse(u16*)
2017-09-18 05:04:11 +02:00
Pierre Bourdon
3f481a70be
Fix sample wrapping with new DSP ADPCM decoding
...
Fixes possible regression from #6069 .
2017-09-18 02:54:58 +02:00
Pierre Bourdon
755253948b
Merge pull request #6069 from leoetlino/common-accelerator
...
DSP: Deduplicate the accelerator code
2017-09-17 23:20:37 +02:00
JosJuice
e4faabb763
Add an option to eject the disc
2017-09-17 11:44:48 +02:00
JosJuice
3c770693a2
DVDInterface: Remove a (mostly) outdated comment
2017-09-17 11:44:32 +02:00
JosJuice
b6bc3bc7c9
Remove DVDInterface::ChangeDiscAsHost
...
There isn't much point in keeping this utility function around
now that RunAsCPUThread provides a simple way of running things
on the CPU thread.
2017-09-17 11:44:27 +02:00
Lioncash
6c326e7215
InputConfigDiag: Fix building DolphinWX on the latest MSVC
...
const char[1] and wxString() can both be converted to multiple common
types, so this results in an ambiguous conditional expression
compilation error (C2445)
2017-09-17 02:38:12 -04:00
Lioncash
dbd9aeb210
OGL/TextureCache: use std::array for the palette shader array
2017-09-17 02:34:02 -04:00
Lioncash
6d9ed9dc32
OGL/TextureCache: Move file statics to the TextureCache class
...
These rely on instance state, or are used within instance-based class
member functions, so they should belong to the instance itself instead
of being file statics.
2017-09-17 02:33:56 -04:00
Léo Lam
7022a18e9a
IOS/SSL: Show built-in cert error once per session
...
See: https://bugs.dolphin-emu.org/issues/10546
2017-09-16 20:43:49 +02:00
Léo Lam
38a7196ec6
DSP: Deduplicate the accelerator code
...
The logic is entirely the same; only the inputs and outputs are
different, so deduplicating makes sense.
This will make fixing accelerator issues easier.
2017-09-16 16:47:43 +02:00
Leo Lam
764e058865
Merge pull request #6063 from ligfx/queuemethodonobject
...
Qt QueueOnObject/RunOnObject: accept pointers to member functions
2017-09-16 16:46:44 +02:00
Leo Lam
68baf7d8fc
Merge pull request #6062 from ligfx/fixqtcorestate
...
Settings: register the Core::State type with Qt
2017-09-15 22:38:42 +02:00
Leo Lam
93574bf016
Merge pull request #6064 from JosJuice/filesystemwidget-nullptr
...
DolphinQt2: Check for file systems being nullptr
2017-09-15 20:58:52 +02:00
Léo Lam
6f1b156020
VolumeGC: Add a default constructor for ConvertedGCBanner
...
Without this, it fails to build with the following error in g++ 7.2.0:
> constructor required before non-static data member has been parsed
2017-09-15 20:47:49 +02:00
spycrab
f90e81b9db
Qt/Properties: Implement "Gecko codes" tab
2017-09-15 19:45:46 +02:00
JosJuice
a0cddc579f
DolphinQt2: Check for file systems being nullptr
...
nullptr gets returned for file systems that are deemed invalid.
2017-09-15 19:44:23 +02:00
Michael M
7f812a7a03
RunOnObject: accept pointers to member functions
2017-09-15 10:36:33 -07:00
Michael M
1e27e87d93
QueueOnObject: accept pointers to member functions
2017-09-15 10:36:32 -07:00
Michael M
6191f04524
Settings: register the Core::State type with Qt
2017-09-15 10:35:38 -07:00
Michael M
4ea8166b93
Qt: Advanced config pane
2017-09-15 10:35:01 -07:00
Leo Lam
7cb8d6612c
Merge pull request #5870 from JosJuice/lazy-filesystem
...
DiscIO: Use Common::Lazy more
2017-09-15 19:30:05 +02:00
JosJuice
f294599e73
DiscIO: Use Common::Lazy for loading GC banners
2017-09-15 19:21:50 +02:00
Arthur Carlsson
79a646a67d
Prevent multiple HID elements of same usage type on OSX
...
On OSX, iterate the HID device's elements and only store the last of
each type to accommodate for flaky hardware
2017-09-15 19:19:46 +02:00
Leo Lam
2b4bf8662a
Merge pull request #5577 from ligfx/separateexpressionparsingandbinding
...
ControlReference/ExpressionParser: separate parsing from binding
2017-09-15 19:11:57 +02:00
spycrab
5aecd61ede
Qt/Settings: Implement cheat settings
2017-09-15 19:01:23 +02:00
spycrab
8687f6aae7
Qt: Implement CheatWarningWidget
2017-09-15 19:01:23 +02:00
spycrab
8580e159fe
Qt/SettingsWindow: Add SelectGeneralPane method
2017-09-15 19:01:22 +02:00
JosJuice
ca36c977d9
DiscIO: Remove m_partition and m_volume from FileSystem
...
The last commit made m_partition unnecessary, and m_volume
has been unnecessary ever since the PR that added DiscExtractor.
2017-09-15 18:57:05 +02:00
JosJuice
38304da947
DiscIO: Use Common::Lazy for loading filesystems
...
This simplifies FileMonitor a lot and also lets us
clean up FilesystemPanel.
2017-09-15 18:57:05 +02:00
Leo Lam
0d07821935
Merge pull request #6024 from ligfx/coreonstatechangedcallback
...
Qt: use Settings::EmulationStateChanged
2017-09-15 18:45:17 +02:00
Leo Lam
30dd544931
Merge pull request #5990 from spycrab/qt_logger_cleanup
...
Qt: Make Log and Log Configuration widget separate from dock
2017-09-15 18:30:45 +02:00
Michael M
738acb6c07
FifoRecorder: move function definitions out of header
2017-09-14 17:28:39 -07:00
Michael M
a47ce0d625
FifoRecorder: remove use of volatile
2017-09-14 17:28:39 -07:00
Michael M
60cba5722c
Qt: use translations
2017-09-14 17:15:21 -07:00
Michael M
bdcd6df459
InterfaceConfigPane: remove unneeded comment
...
It notes that using "no" for Norwegian is not allowed by wxWidgets, but
"nb" is the correct code for Norwegian Bokmål anyways.
2017-09-14 17:15:21 -07:00
Michael M
b22ed9683d
InterfacePane: add all interface languages
2017-09-14 17:15:21 -07:00
Michael M
294b1895ef
ExpressionParser: std::move() tokens vector to parser
2017-09-14 12:53:36 -07:00
Michael M
31f1c06226
ControlReference: don't reparse expression when references are updated
2017-09-14 12:53:35 -07:00
Michael M
c332580b83
ControlReference/ExpressionParser: separate parsing from binding
2017-09-14 12:53:35 -07:00
Michael M
ba87a50338
ExpressionParser: add FallbackExpression node type
2017-09-14 12:53:35 -07:00
Michael M
7e74961eb1
ExpressionParser: expose ExpressionNode directly
2017-09-14 12:53:35 -07:00
Michael M
85301e2bae
ParseStatus: replace NoDevice with EmptyExpression
2017-09-14 12:53:35 -07:00
Michael M
754efd75c5
ExpressionParser: remove DummyExpression
2017-09-14 12:53:35 -07:00
Michael M
f1ff1e3d08
ExpressionParser: clean up ControlExpression
2017-09-14 12:53:35 -07:00
Michael M
3df945f8d0
ExpressionParser: replace bare pointers with unique_ptrs
2017-09-14 12:53:35 -07:00
Michael M
c33e391d26
InputConfigDiag: don't use entire ExpressionParse namespace
2017-09-14 12:53:35 -07:00
Michael M
bbb7c17235
ExpressionParser: use internal ParseResult struct instead of out-params
2017-09-14 12:53:35 -07:00
Michael M
d2821e14fa
ParseExpression: return a std::pair
2017-09-14 12:53:34 -07:00
spycrab
48d57f223d
Qt: Make Log and Log Configuration widget separate
2017-09-14 20:56:48 +02:00
Michael M
3e1072b24d
Qt: use Settings::EmulationStateChanged
2017-09-13 17:30:18 -07:00
Michael M
8e805dcbf4
Core: SetOnStoppedCallback -> SetOnStateChangedCallback
2017-09-13 17:30:18 -07:00
Michael M
22a9a08b24
Add Core::State::Starting
2017-09-13 17:30:18 -07:00
Michael M
d217e797f2
move Movie::DoFrameStep to Core::DoFrameStep
2017-09-13 17:30:18 -07:00
Leo Lam
030dc11c6e
Merge pull request #6058 from leoetlino/dsptool-fix
...
DSPTool: Fix build
2017-09-13 22:13:43 +02:00
Leo Lam
5a89d13655
Merge pull request #6059 from spycrab/qt_columns
...
Qt: Bring column selection up to par with Wx
2017-09-13 22:13:27 +02:00
spycrab
e7318fda34
Qt: Bring column selection up to par with Wx
2017-09-13 22:05:45 +02:00
Léo Lam
12da9c8473
DSPTool: Fix build
...
Stub implementations of Host functions are required, as DSPTool links
against Core (which makes use of Host).
2017-09-13 17:38:23 +02:00
Lioncash
343bde2712
Software/TextureSampler: const correctness
2017-09-11 20:13:47 -04:00
gamemasterplc
4908d79a71
Remove Function Address Symbol Mask
...
The upper 4 bits were masked out of function addresses prior when generating symbols.
2017-09-11 15:39:22 -05:00
Markus Wick
b0f93f2acc
Merge pull request #6053 from spycrab/qt_action
...
Qt/FilesystemWidget: Use AddAction helper
2017-09-11 15:18:09 +02:00
spycrab
2a7ad0b721
Qt/FilesystemWidget: Use AddAction helper
2017-09-11 14:25:30 +02:00
Stenzek
24ddea04ce
VideoBackends: Move SamplerState to common
2017-09-11 20:01:54 +10:00
Stenzek
340aabbb06
VideoCommon: Add helpers for generating common render states
2017-09-11 20:01:52 +10:00
Stenzek
b7a099814a
Vulkan: Clear contents of EFB convert framebuffer at create time
...
Fixes a validation layer warning when converting pixel formats.
2017-09-11 20:01:50 +10:00
Stenzek
e584090822
Vulkan: Fix interface mismatch in RGB->YUYV shader
2017-09-11 20:01:48 +10:00
Stenzek
836b9b9acb
Renderer: Move cull mode to a rasterization state object
...
Also moves logic for primitive handling to VideoCommon.
2017-09-11 20:01:45 +10:00
Stenzek
2869c570f1
Renderer: Move depth state to VideoCommon and seperate from bpmem
2017-09-11 19:40:26 +10:00
Stenzek
4d36f0cc87
Bitfield: Cast value to storage type in assignment operator
...
This allows us to use enum classes in bitfields.
2017-09-11 19:40:25 +10:00
Ryan Meredith
f8b89b7b1a
Update -d argument help message
2017-09-10 12:28:53 +02:00