Commit Graph

1481 Commits

Author SHA1 Message Date
Lioncash
452ccf02a6 game_list: Make game list column headers translatable
These are user-facing strings, so they should be marked as translatable
2018-10-26 23:51:04 +02:00
Weiyi Wang
20ae37ba4f kernel/Thread: move thread list into the manager 2018-10-26 16:07:45 -04:00
Weiyi Wang
92b1a5c546 citra_qt: fix translation for opengl version error
variable in tr() won't trigger linguist to generate translation entry. Instead it needs a string literal
2018-10-25 14:30:46 -04:00
Pengfei Zhu
c5b7018625
citra_qt: add seconds section to clock settings (#4347)
* citra_qt: add seconds section to clock settings

Simple fix to make the UI more usable.

* Use an ISO styled format string

Not actually tested locally
2018-10-25 21:29:43 +08:00
Tobias
dec3fb2dcf nfc: Add Amiibo support (REOPENED) (#4337)
* Initial implementation

* Various fixes and new features

* Address some review comments

* Fixes

* Address more comments

* Use g_hle_lock

* Add more state checking, remove unneeded include

* Minor changes
2018-10-24 21:01:38 -04:00
Weiyi Wang
6742472133
Merge pull request #4235 from FearlessTobi/port-1259
Port various game_list changes from yuzu
2018-10-24 20:57:58 -04:00
Lioncash
6147bb622d CMakeLists: Use target_compile_definitions instead of add_definitions to define YUZU_ENABLE_COMPATIBILITY_REPORTING
Keeps the definition constrained to the citra_qt target and prevents
polluting anything else in the same directory (should that ever happen).
It also keeps it consistent with how the USE_DISCORD_PRESENCE definition
is introduced below it.
2018-10-23 16:16:11 +02:00
Weiyi Wang
11729eafe1
Merge pull request #4315 from FearlessTobi/port-1332
WebService: Backport review comments from yuzu-emu/yuzu#1332
2018-10-20 18:05:06 -04:00
fearlessTobi
9901b289b6 Review comments -part 4 2018-10-20 10:35:55 -04:00
fearlessTobi
08793a6dae Review comments - part 3 2018-10-20 10:35:55 -04:00
fearlessTobi
b0aed19823 Address a bunch of review comments 2018-10-20 10:35:55 -04:00
fearlessTobi
111b7db759 Stop splitting includes 2018-10-20 16:31:35 +02:00
Lioncash
f56a840333 game_list_p: Take map iterator contents by const reference
We don't need to copy the whole struct in this instance, we can just
utilize a reference instead.
2018-10-20 16:31:35 +02:00
Lioncash
52ec85be12 game_list_p: Amend typo in GameListItemCompat's constructor parameter
Adds a missing 'i' character that was missing in compatibility.
2018-10-20 16:31:35 +02:00
Lioncash
230edc8c7c yuzu: Move compatibility list specifics to their own source files
Lets us keep the generic portions of the compatibility list code
together, and allows us to introduce a type alias that makes it so we
don't need to type out a very long type declaration anymore, making the
immediate readability of some code better.
2018-10-20 16:31:35 +02:00
lioncash
9238015dd4 yuzu: Move GameListWorker to its own source files
This has gotten sufficiently large enough to warrant moving it to its
own source files. Especially given it dumps the file_sys headers around
code that doesn't use it for the most part.

This'll also make it easier to introduce a type alias for the
compatibility list, so a large unordered_map type declaration doesn't
need to be specified all the time (we don't want to propagate the
game_list_p.h include via the main game_list.h header).
2018-10-20 16:31:35 +02:00
Weiyi Wang
eadd8b91b2
Merge pull request #4338 from FearlessTobi/port-1490
Port yuzu-emu/yuzu#1490: "citra_qt/main: Simplify OnMenuLoadFile()"
2018-10-20 10:09:41 -04:00
Weiyi Wang
1de63f9b16
Merge pull request #4328 from B3n30/remove_current_module
remove GetCurrentModule() functions in HLE Services
2018-10-18 21:39:24 -04:00
Pengfei Zhu
9458ae0977
Merge pull request #4259 from zhaowenlan1779/game-list
citra_qt: Add Game List configuration
2018-10-18 21:29:33 +08:00
Lioncash
15ecc38ada citra_qt/main: Apply the [[maybe_unused]] attribute to the parameter of SetDiscordEnabled()
Depending on whether or not USE_DISCORD_PRESENCE is defined, the "state"
parameter can be used or unused. If USE_DISCORD_PRESENCE is not defined,
the parameter will be considered unused, which can lead to compiler
warnings. So, we can explicitly mark it with [[maybe_unused]] to inform
the compiler that this is intentional.
2018-10-16 14:42:48 +02:00
Pengfei Zhu
0df32275a7
Merge pull request #4282 from zhaowenlan1779/frame-advance
core, citra_qt: add frame advancing to framelimiter
2018-10-15 21:25:41 +08:00
Lioncash
7ddfce4a87 citra_qt/main: Simplify OnMenuLoadFile()
We can utilize QStringList's join() function to perform all of the
appending in a single function call.

While we're at it, make the extension list a single translatable string
and add a disambiguation comment to explain to translators what %1
actually is.
2018-10-14 22:31:46 +02:00
zhupengfei
8ecd31db41
citra_qt: use enum classes for the settings 2018-10-14 22:55:28 +08:00
B3n30
eb3af0f16a Add GetModule() helper functions, for HID, CAM, and CFG 2018-10-12 11:50:50 +02:00
B3n30
9d53136f20 remove GetCurrentModule() functions in HLE Services 2018-10-11 19:23:14 +02:00
Weiyi Wang
9adc407112
Merge pull request #4304 from B3n30/std_optional
Replace boost::optional with std::optional where possible
2018-10-11 12:40:00 -04:00
Pengfei Zhu
efc0d502ed
Merge pull request #4326 from zhaowenlan1779/multiplayer-retranslate
citra_qt/multiplayer: retranslate multiplayer dialogs
2018-10-11 09:44:33 -05:00
zhupengfei
748a9849ec
citra_qt/multiplayer: retranslate multiplayer dialogs 2018-10-10 18:21:22 +08:00
NeatNit
4ee914c7a8 implemented touch in Qt and SDL
change TouchToPixelPos to return std::pair<int, int>

static_cast (SDL)

various minor style and code improvements

style - PascalCase for function names

made touch events private

const pointer arg in touch events

make TouchToPixelPos a const member function

did I do this right?

braces on barely-multiline if

remove question comment (confirmed in Discord)

fixed consts

remove unused parameter from TouchEndEvent

DRY - High-DPI scaled touch put in separate function

also fixes a bug where if you start touching (with either mouse or touchscreen) and drag the mouse to the LEFT of the emulator window, the touch point jumps to the RIGHT side of the touchscreen; draggin to above the window would make it jump to the bottom.

implicit conversion from QPoint to QPointF, apparently

I have no idea what const even means but I'll put it here anyway

remove unused or used-once variables

make touch scaling functions const, and put their implementations together

removed unused FingerID parameters

QTouchEvent forward declaration; add comment to TouchBegin that was lost in an edit

better DRY in SDL

To do -> TODO(NeatNit)

remove unused include
2018-10-09 23:10:28 +08:00
zhupengfei
90f9d32f13
citra_qt: Add Game List configuration
This adds a Game List configuration group box which is similar to yuzu's, with features including icon size setting, row 1/2 text, and ability to hide invalid titles (those without a valid SMDH). I also added a UI tab and moved the language and theme settings there.
2018-10-09 22:37:21 +08:00
BreadFish64
ce823759cc citra-qt: disable directory watcher during CIA installation (#4284)
* disable directory watcher during CIA installation

fixes several errors while installing multiple CIAs

* use braces in if statement
2018-10-08 15:37:44 -05:00
Weiyi Wang
3480c1d49d
Merge pull request #4242 from citra-valentin/fix-camera-on-linux-pr
Fix camera on Linux
2018-10-08 11:01:59 -04:00
Lioncash
365d8c57c7 ui_settings: Place definition of the theme array within the cpp file
Placing the array wholesale into the header places a copy of the whole
array into every translation unit that uses the data, which is wasteful.
Particularly given that this array is referenced from three different
translation units.

This also changes the array to contain pairs of const char*, rather than
QString instances. This way, the string data is able to be fixed into
the read-only segment of the program, as well as eliminate static
constructors/heap allocation immediately on program start.
2018-10-06 16:22:28 +02:00
B3n30
2306af3600 Handle cases when std::optional does not contain a value 2018-10-05 16:51:33 +02:00
Valentin Vanelslande
53afb1cc2d
Move if 2018-10-05 09:27:16 -05:00
Pengfei Zhu
2a90426cb8
Merge pull request #4267 from zhaowenlan1779/movie
movie: Add clock init time to CTM header
2018-10-05 08:20:33 -05:00
Valentin Vanelslande
19ef115f50
Address comment 2018-10-05 07:22:26 -05:00
B3n30
d37a2270d6 Replace boost::optional with std::optional where possible 2018-10-05 13:51:09 +02:00
Pengfei Zhu
87e16c80ac
Merge pull request #4229 from zhaowenlan1779/open-folder
citra_qt, core: game list "Open XXX Location" improvements
2018-10-05 00:46:43 -05:00
Weiyi Wang
cdf8d80c87
Merge pull request #4300 from FearlessTobi/port-1429-1431
Port yuzu-emu/yuzu#1429 and yuzu-emu/yuzu#1431: Minor configuration changes
2018-10-04 19:38:54 -04:00
Weiyi Wang
4352c6784b
Revert "Port yuzu/#1367 from yuzu: "game_list: Handle plurals within setFilterResult() better"" 2018-10-04 12:04:49 -04:00
Lioncash
be534b9388 configure_audio: Move combo box index setting to their own functions
Keeps the individual behaviors in their own functions, and cleanly
separate. We can also do a little better by converting the relevant IDs
within the core to a QString only once, instead of converting every
string into a std::string.
2018-10-04 01:39:12 +02:00
Lioncash
2a612f7bd4 configure_audio: Use QString::fromStdString() for converting audio device names
This ensures that the proper codec will always be used no matter what.
It also avoids relying on ASCII conversions.
2018-10-04 01:39:12 +02:00
Lioncash
97e8354fb0 configure_audio: Add disambiguation comment for the volume percentage string
Disambiguates what the string represents to help translators more easily
understand what it is that they're translating. While we're at it, we
can move the code to its own function, so that we don't need to specify
the same string twice.
2018-10-04 01:39:12 +02:00
Lioncash
00af9da245 configure_input: Make analog mapping strings translatable
These strings are user-facing, so they should be specified as
translatable with tr().
2018-10-04 01:39:12 +02:00
zhupengfei
cb775eb1ba
core, citra_qt: add frame advancing to framelimiter
Frame advancing is a commonly used TAS feature which basically means running the game frame by frame. TASers use this feature to press exact buttons at the exact frames. This commit added frame advancing to the framelimiter and two actions to the Movie menu. The default hotkey is `\` for advancing frames, and `Ctrl+A` for toggling frame advancing. The `Advance Frame` hotkey would automatically enable frame advancing if not already enabled.
2018-10-02 07:28:58 +08:00
Weiyi Wang
fceec34945
Merge pull request #4278 from wwylele/cfg-ptm-direct-fs
cfg, ptm: access FS via backend directly
2018-10-01 18:32:43 -04:00
Pengfei Zhu
b2bfcfcbd7
Merge pull request #4140 from zhaowenlan1779/input-config
citra_qt/configuration: misc input tab improvements
2018-10-01 03:05:31 -05:00
zhupengfei
bbf391abb9
citra_qt, core: game list "Open XXX Location" improvements 2018-10-01 08:42:22 +08:00
Weiyi Wang
4a30a502a0
Merge pull request #4211 from wwylele/web-cleanup
web_service: stop using std::future + callback style async
2018-09-29 23:02:27 -04:00
Weiyi Wang
fbc36ff63c
Merge pull request #4257 from jroweboy/sdl-globals
Input: Remove global variables from SDL Input
2018-09-29 23:00:12 -04:00
Weiyi Wang
89a5b9b622 qt/configure_system: FS decoupled 2018-09-28 17:34:47 -04:00
zhupengfei
ae5c658997
movie: Add clock init time to CTM header
This adds a clock init time field to the CTM header. The clock settings would be overridden when playing a movie. And when recording a movie, if the clock is set to System Time, it would be set to fixed init time at the current moment as well. In this way this keeps consistency with the RNG even if the user does just no setting.
2018-09-27 22:18:10 +08:00
Weiyi Wang
892ca2a94a
Merge pull request #4209 from zhaowenlan1779/play-coin
service/ptm, citra_qt: Add Play Coins setting
2018-09-27 10:09:02 -04:00
Weiyi Wang
a96f0f5167
Merge pull request #4241 from citra-valentin/port-yuzu-1367
Port yuzu/#1367 from yuzu: "game_list: Handle plurals within setFilterResult() better"
2018-09-25 23:09:40 -04:00
Weiyi Wang
f05740a5fd
Merge pull request #4224 from FearlessTobi/port-1310
Port #734 and #1310 from yuzu: Changes to Thread-related enums
2018-09-25 23:07:43 -04:00
Pengfei Zhu
d6a9b01624
Merge pull request #4183 from zhaowenlan1779/multiplayer-ui
citra_qt/multiplayer: three minor fixes
2018-09-24 13:20:32 +08:00
James Rowe
3f4a7f8f58 Input: Remove global variables from SDL Input
Changes the interface as well to remove any unique methods that
frontends needed to call such as StartJoystickEventHandler by
conditionally starting the polling thread only if the frontend hasn't
started it already. Additionally, moves all global state into a single
SDLState class in order to guarantee that the destructors are called in
the proper order
2018-09-22 14:13:50 -06:00
Lioncash
b3221c3180 file_util: Use an enum class for GetUserPath()
Instead of using an unsigned int as a parameter and expecting a user to
always pass in the correct values, we can just convert the enum into an
enum class and use that type as the parameter type instead, which makes
the interface more type safe.

We also get rid of the bookkeeping "NUM_" element in the enum by just
using an unordered map. This function is generally low-frequency in
terms of calls (and I'd hope so, considering otherwise would mean we're
slamming the disk with IO all the time) so I'd consider this acceptable
in this case.
2018-09-22 21:18:56 +02:00
Valentin Vanelslande
21bdc03908
Force camera pixel format to RGB565 on Linux 2018-09-21 18:28:46 -05:00
Lioncash
03908116ae game_list: Handle plurals within setFilterResult() better
Qt provides an overload of tr() that operates on quantities in relation
to pluralization. This also allows the translation to adapt based on the
target language rules better.

For example, the previous code would result in an incorrect translation
for the French language (which doesn't use the pluralized version of
"result" in the case of a total of zero. While in English it's
correct to use the pluralized version of "result", that is, "results"

---

For example:

English: "0 results"

French: "0 résultat" (uses the singular form)

In French, the noun being counted is singular if the quantity is 0 or 1.
In English, on the other hand, if the noun being counted has a quantity
of 0 or N > 1, then the noun is pluralized.

---

For another example in a language that has different counting methods
than the above, consider English and Irish. Irish has a special form of
of a grammatical number called a dual. Which alters how a word is
written when N of something is 2. This won't appear in this case with a
direct number "2", but it would change if we ever used "Two" to refer to
two of something. For example:

English: "Zero results"

Irish: "Toradh ar bith"

English: "One result"

Irish: "Toradh amháin"

English: "Two results"

Irish: "Dhá thorthaí" <- Dual case

Which is an important distinction to make between singular and plural,
because in other situations, "two" on its own would be written as "dó"
in Irish. There's also a few other cases where the order the words are
placed *and* whether or not the plural or singular variant of the word
is used *and* whether or not the word is placed after or between a set
of numbers can vary. Counting in Irish also differs depending on whether or not
you're counting things (like above) or counting people, in which case an
entirely different set of numbers are used.

It's not important for this case, but it's provided as an example as to why one
should never assume the placement of values in text will be like that of
English or other languages. Some languages have very different ways to
represent counting, and breaking up the translated string like this
isn't advisable because it makes it extremely difficult to get right
depending on what language a translator is translating text into due to
the ambiguity of the strings being presented for translation.

In this case a translator would see three fragmented strings on
Transifex (and not necessarily grouped beside one another, but even
then, it would still be annoying to decipher):

- "of"
- "result"
- "results"

There is no way a translator is going to know what those sets of words
are actually used for unless they look at the code to see what is being
done with them (which they shouldn't have to do).
2018-09-21 17:45:14 -05:00
fearlessTobi
3ee9f669c1 Address review comments 2018-09-21 16:39:10 +02:00
zhupengfei
31dc9003c5
citra_qt/configuration: Add Play Coins setting 2018-09-20 22:42:39 +08:00
James Rowe
687e3e74ca
Merge pull request #3959 from zhaowenlan1779/semi-reset
service/apt: Implement soft reset & CloseApplication
2018-09-19 21:02:59 -06:00
Pengfei Zhu
dc863724ac
Merge pull request #4231 from CaptV0rt3x/port-1336
Port #1336 from yuzu
2018-09-17 22:37:40 +08:00
CaptV0rt3x
48fafaba3e Antialias game list compatibility pixmaps 2018-09-17 19:00:28 +05:30
Lioncash
ca3d9d659e kernel/thread: Include thread-related enums within the kernel namespace
Previously, these were sitting outside of the Kernel namespace, which
doesn't really make sense, given they're related to the Thread class
which is within the Kernel namespace.
2018-09-15 17:16:20 +02:00
Lioncash
5dfa7b74b5 thread: Convert ThreadStatus into an enum class
Makes the thread status strongly typed, so implicit conversions can't
happen. It also makes it easier to catch mistakes at compile time.
2018-09-15 17:02:44 +02:00
Lioncash
d864d9bf03 game_list: Resolve variable shadowing within LoadCompatibilityList()
"value" is already a used variable name within the outermost ranged-for
loop, so this variable was shadowing the outer one. This isn't a bug,
but it will get rid of a -Wshadow warning.
2018-09-15 15:54:20 +02:00
Lioncash
52f12e303a game_list: Use QJsonValueRef() within LoadCompatibilityList()
This way, we aren't constructing unnecessary QJsonValue instances.
2018-09-15 15:53:36 +02:00
zhupengfei
9bd8edb3b6
citra_qt: add Camera tab to "System" category 2018-09-15 14:19:45 +08:00
Weiyi Wang
6767f4562b
Merge pull request #4187 from spycrab/qt_config_sidebar
Qt/Configure: Use sidebar to divide tabs into smaller groups
2018-09-14 16:45:45 -04:00
Weiyi Wang
77c1f647cb web_service: stop using std::future + callback style async 2018-09-13 16:14:34 -04:00
Weiyi Wang
0a4d338ffa
Merge pull request #4138 from FearlessTobi/change-web-links
web_service: Unify links for web service endpoints
2018-09-12 16:31:59 -04:00
fearlessTobi
b82bf1ccdb Change variable name to web_api_url 2018-09-12 19:07:06 +02:00
Valentin Vanelslande
093987eaa7
Fix #4203 2018-09-11 22:45:12 -05:00
spycrab
d63a63cff0 Qt/Configure: Use sidebar to divide tabs into smaller groups 2018-09-11 16:02:39 +02:00
Ben
17978cf758
Joystick hotplug support (#4141)
* use SDL_PollEvent instead of SDL_JoystickUpdate

Register hot plugged controller by GUID if they were configured in a previous session

* Move SDL_PollEvent into its own thread

* Don't store SDLJoystick pointer in Input Device; Get pointer on each GetStatus call

* Fix that joystick_list gets cleared after SDL_Quit

* Add VirtualJoystick for InputDevices thats never nullptr

* fixup! Add VirtualJoystick for InputDevices thats never nullptr

* fixup! fixup! Add VirtualJoystick for InputDevices thats never nullptr

* Remove SDL_GameController, make SDL_Joystick* unique_ptr

* fixup! Remove SDL_GameController, make SDL_Joystick* unique_ptr

* Adressed feedback; fixed handling of same guid reconnects

* fixup! Adressed feedback; fixed handling of same guid reconnects

* merge the two joystick_lists into one

* make SDLJoystick a member of VirtualJoystick

* fixup! make SDLJoystick a member of VirtualJoystick

* fixup! make SDLJoystick a member of VirtualJoystick

* fixup! fixup! make SDLJoystick a member of VirtualJoystick
2018-09-08 19:01:30 +02:00
zhupengfei
a3625b544f
citra_qt/configuration: misc input tab improvements
* Added a context menu on the buttons including Clear & Restore Default

* Allow clearing (unsetting) inputs. Added a Clear All button

* Allow restoring a single input to default (instead of all)
2018-09-08 11:26:10 +08:00
zhupengfei
ad6b140cb0
service/apt: Implement soft reset & CloseApplication 2018-09-08 11:05:23 +08:00
Weiyi Wang
7d8f115185 Prefix all size_t with std::
done automatically by executing regex replace `([^:0-9a-zA-Z_])size_t([^0-9a-zA-Z_])` -> `$1std::size_t$2`
2018-09-06 16:03:28 -04:00
Merry
eca98eeb3e
Merge pull request #4143 from zhaowenlan1779/shared-font-text-fix
core, citra_qt: unify status of system archives and shared fonts
2018-09-06 20:51:32 +01:00
fearlessTobi
cf8b1726df Address review comments 2018-09-06 00:00:21 +02:00
Lioncash
3284bef360 string_util: Remove StringFromFormat() and related functions
Given we utilize fmt, we don't need to provide our own functions for formatting anymore
2018-09-06 00:00:21 +02:00
zhupengfei
cdd3bd72e5
citra_qt/multiplayer: three minor fixes
* Fix the issue that icons for owned games do not appear

* Fix the issue where you would double click on a room and connect to another

* Fix the issue that room name and nickname does not have size limitation
2018-09-05 22:46:33 +08:00
fearlessTobi
0d6b1d161b web_service: Unify links for web service endpoints 2018-09-05 03:07:03 +02:00
fearlessTobi
2f6f232965 Backport some review fixes of Lioncash 2018-09-01 15:41:46 +02:00
zhupengfei
f28bc28d6b
core, citra_qt: unify status of system archives and shared fonts
Shared fonts is no different from any other system archives, and there is not really any point to make a separate status for it. This also fixes the incorrect error message that was introduced when I made the UI text improvements.
2018-08-27 22:40:35 +08:00
James Rowe
05118a2326
Merge pull request #4130 from FearlessTobi/port-942
Port #942 from yuzu: "qt: Minor cleanup-related changes"
2018-08-26 12:22:34 -06:00
James Rowe
a6723ec2eb
Merge pull request #4126 from FearlessTobi/port-892
Port #892 from yuzu: "Make global EmuWindow instance part of the base renderer class"
2018-08-26 12:00:55 -06:00
James Rowe
50270fd791
Merge pull request #4059 from zhaowenlan1779/udp-input-ui
citra_qt: add motion/touch config
2018-08-26 11:56:50 -06:00
Ben
b20607dfc6 Add system time configuration (#4043)
* Add setting to switch between a fixed start time and the system time

Add clock settings to SDL

Make clock configureable in qt

Add a SharedPage handler class

Init shared_page_handler for tests
2018-08-26 11:47:45 -06:00
James Rowe
13262c187c
Merge pull request #3922 from zhaowenlan1779/qt-movie
movie: Add Qt Movie feature
2018-08-26 11:07:15 -06:00
Merry
9b9227089b
Merge pull request #4121 from FearlessTobi/port-894
Port #894 from yuzu: "kernel: Move object class to its own source files"
2018-08-26 00:02:33 +01:00
fearlessTobi
f61c9c3eb7 video_core: Make global EmuWindow instance part of the base renderer …
…class

Makes the global a member of the RendererBase class. We also change this
to be a reference. Passing any form of null pointer to these functions
is incorrect entirely, especially given the code itself assumes that the
pointer would always be in a valid state.

This also makes it easier to follow the lifecycle of instances being
used, as we explicitly interact the renderer with the rasterizer, rather
than it just operating on a global pointer.
2018-08-25 15:20:40 +02:00
Merry
b49d042200
Merge pull request #4101 from Hedges/GDBClean
GDB Modernization
2018-08-25 13:58:38 +01:00
fearlessTobi
4bf76833b8 Clean up aboutdialog.h 2018-08-25 14:45:50 +02:00
Lioncash
cb1825a769 qt/hotkey: Get rid of global hotkey map instance
Instead, we make a proper registry class and house it within the main
window, then pass it to whatever needs access to the loaded hotkeys.

This way, we avoid a global variable, and don't need to initialize a
std::map instance before the program can do anything.
2018-08-25 13:43:11 +02:00
Merry
0a5621fafc
Merge pull request #3970 from FearlessTobi/more-popup-madness
citra_qt: Add more verbose popups for video_core errors
2018-08-24 19:21:35 +01:00
Merry
ed79288e41
Merge pull request #4124 from FearlessTobi/port-907
Port #907 from yuzu: "yuzu: Use Qt 5 signal/slots where applicable"
2018-08-24 19:00:10 +01:00
Merry
702ca755b3
Merge pull request #4131 from FearlessTobi/port-943
Port #943 from yuzu: "game_list: Join declarations and assignments in onTextChanged()"
2018-08-24 18:54:31 +01:00
zhaowenlan1779
642f0bd62b Port "kernel/event: Make data members private" from yuzu (#4077)
* kernel/event: Make data members private

Instead we can simply provide accessors to the required data instead of
giving external read/write access to the variables directly.

* fix compile error
2018-08-24 19:43:28 +02:00
fearlessTobi
c8b1edac63 Port #943 from yuzu: "game_list: Join declarations and assignments in onTextChanged()" 2018-08-24 17:28:00 +02:00
fearlessTobi
1f0cbf43d6 Port #942 from yuzu: "qt: Minor cleanup-related changes" 2018-08-24 17:14:09 +02:00
Lioncash
79434d3d4c citra-qt: Use Qt 5 signal/slots where applicable
Makes the signal/slot connections type-safe instead of string-based.
2018-08-23 18:34:25 +02:00
Lioncash
63c7b44ba8 kernel: Move object class to its own source files
General moving to keep kernel object types separate from the direct
kernel code. Also essentially a preliminary cleanup before eliminating
global kernel state in the kernel code.
2018-08-23 17:31:59 +02:00
James Rowe
b3ca900ba7 Revert "Set DiscordRPC OFF by default (#4109)"
This reverts commit 516be14a6b.
2018-08-20 10:34:58 -06:00
Vamsi Krishna
516be14a6b Set DiscordRPC OFF by default (#4109) 2018-08-20 16:19:12 +02:00
zhupengfei
9d056282df citra_qt: record movie record/playback path 2018-08-20 11:36:00 +02:00
zhupengfei
3b459f6eb3 citra_qt, movie: allow recording/playback before emulation starts 2018-08-20 11:34:27 +02:00
zhupengfei
a9ad8daf47 citra_qt: Add movie frontend 2018-08-20 11:34:26 +02:00
Vamsi Krishna
6cb9a45154 Add Discord Rich Presence Support (#3883)
* Initial Discord RPC support

Build with Discord Presence ON

Fix RPC detection

Fix Time elapsed on pause; will now continue to count.

* Fix CI builds with compile flag

Addressed reviews

Fix silly mistakes

Fix 'Not in-game' display

class instead of namespace

Fix

Revamped

remove redundant code

Using Pimpl pattern

* Implement Null class

* Fix config updation

* Addressed All Reviews

* externals/discord-rpc : Updated to latest commit
2018-08-20 11:20:33 +02:00
fearlessTobi
b19e88a9f4 Small fixup 2018-08-19 16:46:10 +02:00
fearlessTobi
4cd737abae Address zhaowenlans feedback 2018-08-19 15:53:46 +02:00
fearlessTobi
d1c5f01afe Add more verbose popups for video_core errors 2018-08-19 15:48:40 +02:00
Jarek Syrylak
bd658a8801 GDB Modernization:
- Can be used in either DynCom or Dynarmic mode
- Added support for threads
- Proper support for FPU registers
- Fix for NibbleToHex conversion that used to produce false error codes
- Fix for clang-format failing under Windows
2018-08-16 10:40:52 +01:00
zhaowenlan1779
5c5aad09ce qt_themes: add two colorful themes (#4004)
* qt_themes: add two colorful themes

These two colorful themes are based on the Default and Dark themes, and contain icons that are colored rather than black and white. These icons come from https://icons8.com and they have been slightly revised by me. I'm pretty sure I was licensed to use them for Citra.

* Add license for icons
2018-08-16 10:39:23 +02:00
James Rowe
20cb8f66db
Merge pull request #4099 from zhaowenlan1779/lle-service-modules-fixup
citra_qt: set object name for LLEServiceModulesWidget
2018-08-14 10:48:03 -06:00
zhaowenlan1779
e837717592
citra_qt: set object name for LLEServiceModulesWidget
Gets rid of a qt error that occurs when Citra is closed.
2018-08-14 20:28:47 +08:00
James Rowe
aed15a8d9d
Merge pull request #4012 from zhaowenlan1779/ui-retext
citra_qt: UI text improvements
2018-08-13 23:31:39 -06:00
zhupengfei
8db6822ee9
citra_qt: add motion/touch config 2018-08-11 14:16:44 +08:00
zhupengfei
e1ae14d508
input_common/udp: allow changing pad index 2018-08-11 13:23:10 +08:00
Lioncash
265e875e5b
qt/main: Better file-existence checking within OnMenuRecentFile() and UpdateUITheme() 2018-08-10 09:45:48 +08:00
BreadFish64
d09646ab9d citra-qt: service: add convenient LLE service module configuration (#3967)
* citra-qt: service: add convenient LLE service module configuration

* fix SDL settings

* unexpose AttemptLLE

* static

* fix array includes

* use default with writesetting
2018-08-09 21:10:11 +02:00
James Rowe
dceb4150a8
Merge pull request #4065 from zhaowenlan1779/port-yuzu-947
game_list: Use QString::fromStdString() where applicable instead of c_str()
2018-08-09 09:41:35 -06:00
James Rowe
77573b93ce
Merge pull request #4066 from zhaowenlan1779/port-yuzu-946
Port "qt/main: Collapse if statement in UpdateRecentFiles()" from yuzu
2018-08-09 09:41:10 -06:00
zhupengfei
a51c700f59
Port "qt/main: Collapse if statement in UpdateRecentFiles()" from yuzu 2018-08-08 16:55:23 +08:00
zhupengfei
b71fbe62a8
game_list: Use QString::fromStdString() where applicable instead of c_str() 2018-08-08 16:43:59 +08:00
James Rowe
93386efccb
Merge pull request #4056 from zhaowenlan1779/clear-recent-files
citra_qt: add Clear Recent Files menu action
2018-08-07 21:28:33 -06:00
James Rowe
6bcbda5ab2 Input: UDP Client to provide motion and touch controls
An implementation of the cemuhook motion/touch protocol, this adds the
ability for users to connect several different devices to citra to send
direct motion and touch data to citra.
2018-08-07 21:05:09 -06:00
zhupengfei
6a1f9afbba
citra_qt: add Clear Recent Files menu action
I had to edit a bit of the Restart action so that it does not go wrong because recent files are cleared.
2018-08-06 09:19:35 +08:00
Weiyi Wang
5bc72cca6b
Merge pull request #3924 from zhaowenlan1779/settings
citra_qt: Settings (configuration) default value fix
2018-08-03 23:09:57 +03:00
zhupengfei
650c20eebf
citra_qt: Settings (configuration) rework 2018-08-03 13:49:30 +08:00
James Rowe
751e00a615
Merge pull request #3902 from valentinvanelslande/restart
citra_qt: add restart hotkey & menu option
2018-08-02 22:55:07 -06:00
James Rowe
6bc87cdf3e
Merge pull request #3987 from zhaowenlan1779/language-config-fix-2
citra_qt/configuration: retranslate hotkey widget on language change
2018-08-02 11:15:27 -06:00
James Rowe
14b0435df2
Merge pull request #3994 from FearlessTobi/replace-clamp-functions
Remove MathUtil::Clamp and replace it with its std:: counterpart
2018-08-02 11:08:07 -06:00
James Rowe
cafe9838b5
Merge pull request #4047 from zhaowenlan1779/bg-color
citra_qt/configuration: Add background color config
2018-08-02 11:05:20 -06:00
Weiyi Wang
27b015e652
Merge pull request #4011 from zhaowenlan1779/cmake-warning
citra_qt/CMakeLists: get rid of a warning
2018-08-02 11:16:46 +03:00
zhupengfei
60edddac7d
citra_qt/configuration: Add background color config
This is actually very easy to do. I added a label and a push button for it, and used the Qt standard dialog QColorDialog for picking colors.
2018-08-02 11:39:27 +08:00
Merry
6a9e18a49a
Merge pull request #4022 from zhaowenlan1779/port-yuzu-837
Port yuzu-emu/yuzu#837 from yuzu
2018-08-01 15:01:17 +01:00
Merry
703da21688
Merge pull request #4046 from zhaowenlan1779/config-camera-retranslate
citra_qt/configuration: retranslate camera tab
2018-08-01 15:00:12 +01:00
zhupengfei
51d05bd42b citra_qt/configuration: retranslate camera tab
It was really a stupid mistake..
2018-08-01 21:51:38 +08:00
Lioncash
8e103d0675
kernel/timer: Make data members private where applicable
Instead, we can just expose functions that return the queryable state
instead of letting anything modify it.
2018-08-01 17:49:52 +08:00
zhupengfei
383dd967d1
citra_qt: UI text improvements
Changed a few texts that are not so good in the UI according to
@neobrain.
2018-08-01 17:32:33 +08:00
James Rowe
7b46b7e29a
Merge pull request #4010 from zhaowenlan1779/statusbar-retheme
qt_themes: add themed connected/disconnected icons for dark and fix status bar theme updating
2018-07-30 10:35:42 -06:00
zhupengfei
5d7ccfb920
citra_qt/CMakeLists: get rid of a warning
This got rid of a warning of CMake Policy CMP0071 not set. In fact, setting it to either OLD or NEW is same for Citra (I tested on MSVC and MinGW), and the OLD option is deprecated, so I am using NEW here.
2018-07-30 22:32:48 +08:00
Ben
b4524eb70b
Merge pull request #3988 from zhaowenlan1779/multiplayer-block
citra_qt/multiplayer: allow blocking other players in chat room
2018-07-30 14:07:40 +02:00
Ben
d5333c37de
Merge pull request #4033 from zhaowenlan1779/port-yuzu-764
Port "file_util: Minor changes to ScanDirectoryTree() and ForeachDirectoryEntry()" from yuzu
2018-07-30 13:51:21 +02:00
Merry
45beea31ea
Merge pull request #4034 from zhaowenlan1779/port-yuzu-802
Port "wait_tree: Silence warning about all code paths not returning a value" from yuzu
2018-07-30 12:38:24 +01:00
Weiyi Wang
71729fd47a
Merge pull request #3951 from zhaowenlan1779/cfg-country-code
service/cfg, citra_qt: add country code configuration
2018-07-30 12:02:07 +03:00
Lioncash
bf5b5d25ed wait_tree: Silence warning about all code paths not returning a value
If code execution hits this spot, something has gone very wrong, so mark
the path as unreachable. This silences a warning on MSVC.
2018-07-30 16:32:09 +08:00
Lioncash
df5069f8c0 file_util: Use a u64 to represent number of entries
This avoids a truncating cast on size. I doubt we'd ever traverse a
directory this large, however we also shouldn't truncate sizes away.
2018-07-30 16:19:03 +08:00
Ben
07a78a6dd2
Merge pull request #3986 from zhaowenlan1779/language-config-fix
citra_qt/configuration: fix input configuration disappearing after changing languages
2018-07-29 10:35:17 +02:00
zhupengfei
b1bbe0441e
qt_themes: add themed connected/disconnected icons for dark and fix status bar theme updating
In dark theme, it is very hard to see the connected/disconnected icons because they are dark too. So I added two white-coloured icons for the dark theme. This also fixed an issue where theme update does not change the icon on the status bar.
2018-07-28 11:50:46 +08:00
Weiyi Wang
be193869cd
Merge pull request #3990 from zhaowenlan1779/retranslation-continue
citra_qt: minor retranslation fix
2018-07-27 19:55:58 +03:00
James Rowe
6a973cc0bb citra-qt: Init logging sooner so we dont miss some logs on startup 2018-07-27 09:29:31 -06:00
Weiyi Wang
7babd78a23
Merge pull request #3928 from zhaowenlan1779/log-settings
citra_qt: Log settings on launch
2018-07-27 11:22:23 +03:00
fearlessTobi
71e1d6e25d Fix compile errors 2018-07-26 13:23:25 +02:00
Weiyi Wang
7568020ea0
Merge pull request #3979 from zhaowenlan1779/filter-untranslated
game_list: move SearchField to game_list_p.h and fix untranslated text
2018-07-26 12:26:39 +03:00
Weiyi Wang
4b6d240641
Merge pull request #3983 from zhaowenlan1779/gamelist-translation
game_list: fix untranslated texts
2018-07-26 12:26:12 +03:00
James Rowe
4a3c4f5f67
Merge pull request #3989 from zhaowenlan1779/statusbar-retranslate
citra_qt: retranslate status bar
2018-07-25 10:19:11 -06:00
fearlessTobi
7a3e126a4f Replace MathUtil::Clamp with its std counterpart 2018-07-24 19:08:17 +02:00
zhupengfei
3a8b002ede citra_qt: minor retranslation fix
When you change the language when a game is running, the "Continue" action in the "Emulation" menu would become "Start". This commit fixes the issue by checking and setting it if it should be "Continue". It seems that this is the only place with this issue.
2018-07-24 19:49:49 +08:00
zhupengfei
76465dd0f5
citra_qt: retranslate status bar 2018-07-24 19:20:00 +08:00
zhupengfei
921037a7c3
citra_qt/multiplayer: allow blocking other players in chat room 2018-07-24 15:24:21 +08:00
zhupengfei
2cf7576351
citra_qt/configuration: retranslate hotkey widget on language change
The hotkey widget has a separate class defined for it, and qt cannot automatically retranslate it when retranslateUi is called. This commit explicitly calls the function to retranslate the hotkey dialog.
2018-07-24 12:32:09 +08:00
zhupengfei
79a38f8782 citra_qt/configuration: fix input configuration disappearing after changing languages
Previously, once you change language, the texts in the buttons in the Input tab will disappear. It is because the default text in the buttons are empty, and we did not update the text after translations are reloaded, aka texts are reset. This commit fixed the issue.
2018-07-24 12:19:47 +08:00
zhupengfei
f70dc9198c
game_list: fix untranslated texts
Due to a bug of Qt Linguist, the spliters in numbers cannot be parsed correctly and will cause strange issues. As far as I know, this caused 4 texts to be untranslated (translation source for them are not generated). Before the Qt bug is fixed (and we move to that version), I think we can temporarily remove the spliters from the numbers.
2018-07-23 23:44:43 +08:00
zhupengfei
11da018ea6
game_list: move SearchField to game_list_p.h and fix untranslated text
I have tested and made sure the text is translatable, but this would require a translation update to take effect.
2018-07-23 21:26:55 +08:00
adityaruplaha
38d4b41b0a citra_qt: Move CPU JIT toggle to Debug tab. 2018-07-21 12:43:24 +05:30
Weiyi Wang
c8c5b55c00
Merge pull request #3957 from lioncash/qt
game_list: Remove unnecessary QString initialization in KeyReleaseEater
2018-07-19 10:14:58 +03:00
zhupengfei
e8ac58c480
settings: move log code to settings 2018-07-19 08:38:57 +08:00
Lioncash
6614450da3 game_list: Make containsAllWords() a non-member function
This doesn't depend on class state at all, so this can be made internal.
While we're at it, amend the function to take its arguments by const reference.
2018-07-18 16:55:13 -04:00
Lioncash
033e889645 game_list: Remove unnecessary QString initialization in KeyReleaseEater
QString initializes to an empty string by default, so this does nothing
meaningful. While we're at it, use a constructor initializer list for
initializing the gamelist member variable.
2018-07-18 16:44:21 -04:00
James Rowe
7fa2076918
Merge pull request #3946 from zhaowenlan1779/macos-no-hw-shader
citra_qt: disable hw shader by default for macos
2018-07-18 10:07:12 -06:00
James Rowe
bc30b314d8
Merge pull request #3947 from zhaowenlan1779/autofill-multiplayer
citra_qt: use Citra Web Service username as default multiplayer nickname
2018-07-18 10:02:14 -06:00
James Rowe
2f8c9c8126
Merge pull request #3831 from FearlessTobi/add-volume-slider
citra_qt: Add a volume slider
2018-07-18 09:56:47 -06:00
zhupengfei
e61b7d265f
service/cfg, citra_qt: add country code configuration 2018-07-18 20:09:34 +08:00
zhupengfei
bcbfac4081
configure_system: fix an untranslated text 2018-07-18 14:50:38 +08:00
James Rowe
bf6da61da5
Merge pull request #3850 from zhaowenlan1779/swkbd
applets/swkbd: Software Keyboard Implementation
2018-07-17 09:02:55 -06:00
zhupengfei
82aa45d9fa
citra_qt/configuration: log on config dialog close 2018-07-17 15:33:59 +08:00
zhupengfei
250cf584e3
citra_qt: Log settings on launch 2018-07-17 15:33:58 +08:00
zhupengfei
40aea8d6b8
citra_qt: use Citra Web Service username as default multiplayer nickname 2018-07-17 15:25:00 +08:00
zhupengfei
a398bceb93
citra_qt: disable hw shader by default for macos
Also show an warning when turning it on.
2018-07-17 10:07:02 +08:00
Merry
47d283a1e4
Merge pull request #3909 from MerryMage/rm-SetDevice
sink_details: Tidy-up device listing code
2018-07-12 20:49:29 +01:00
MerryMage
7d642b25e9 sink: Make auto device name a constant 2018-07-12 15:56:37 +01:00
zhupengfei
dcaf4a8e83
citra_qt: Add length validation 2018-07-10 13:05:13 +08:00
zhupengfei
5407ed8b5e
citra_qt/applets/swkbd: QtKeyboard and misc fixes
* Addressed comments and removed the applet interface

* swkbd: address @lioncash's comments

* core: more fixes

** Moved registered_swkbd to System

** Removed an usused virtual

** Removed functionality of DrawScreenKeyboard

** Removed src/core/settings.h change

* swkbd: address @lioncash's 2nd review

* swkbd: update logging macro

* QtKeyboard: Make dialog modal and hide help
2018-07-10 12:49:55 +08:00
Weiyi Wang
c1580c406d
Merge pull request #3899 from wwylele/no-double-log
citra_qt: only toggle console if the setting has been changed
2018-07-07 18:47:35 +03:00
fearlessTobi
6eb7ee99cd Address last review comment 2018-07-03 21:14:00 +02:00
Weiyi Wang
fd5f71bcff
Merge pull request #3912 from BreadFish64/fix-conversion-warnings
fix conversion warnings
2018-07-03 21:14:01 +03:00
fearlessTobi
a780f3821e citra_qt: Add a volume slider 2018-07-03 17:26:50 +02:00
Weiyi Wang
9c1c899243
Merge pull request #3911 from BreadFish64/fix-setting-change-freeze
citra-qt: optimize settings application
2018-07-03 11:08:42 +03:00
James Rowe
6a08167505
Merge pull request #3905 from valentinvanelslande/remove-return
citra_qt: Remove return
2018-07-02 20:12:55 -06:00
BreadFish64
5b181976ce fix conversion warnings 2018-07-02 18:45:45 -05:00
BynariStar
e80ae1a5d7
citra_qt: Remove obsolete application attribute
As of Qt 5 Qt::AA_X11InitThreads no longer does anything.

See http://doc.qt.io/qt-5/qt.html
2018-07-03 01:26:54 +03:00
BreadFish64
f649c443d9 optimize settings application 2018-07-02 16:53:34 -05:00
Weiyi Wang
a9f8887c93
remove trailing space 2018-07-02 19:47:41 +03:00
Weiyi Wang
4be2f12914
log/console: no need to test first call
Just let `console_shown` be initialized to the default status (console isn't shown on startup)
2018-07-02 19:39:13 +03:00
MerryMage
d269beab0d sink_details: Listing available devices should be separate from sink construction 2018-07-02 14:09:17 +01:00
Valentin Vanelslande
77b338e928
citra_qt: Remove return 2018-06-30 21:50:30 -05:00
Valentin Vanelslande
5a60c85f58
citra_qt: add Restart to UI 2018-06-30 12:34:09 -05:00
Valentin Vanelslande
6380d52d1c
citra_qt: add Restart hotkey & menu action code 2018-06-30 12:30:56 -05:00
wwylele
810b86f451 citra_qt: only toggle console if the setting has been changed 2018-06-30 13:07:30 +03:00
zhupengfei
f23443b921
applets/swkbd: Implement DefaultCitraKeyboard 2018-06-30 08:01:50 +08:00
wwylele
0eab948728 reformat all files with clang-format 2018-06-29 16:56:12 +03:00
wwylele
7c5a76e58b log: replace all NGLOG with LOG 2018-06-29 14:18:07 +03:00
zhupengfei
0bd843f324
citra_qt: Fix image file selection dialog 2018-06-28 22:35:12 +08:00
wwylele
458a96bf90 citra_qt: only update title from game after ensuring loaded successfully 2018-06-24 17:30:43 +03:00
zhupengfei
fa80ba9846
citra-qt: Improve Title Bar display 2018-06-20 09:30:29 +08:00
zhupengfei
ddc97b15f4 common: Parse Nightly/Canary build version 2018-06-20 09:30:26 +08:00
James Rowe
e27bb6394d
Merge pull request #3837 from zhaowenlan1779/aboutdialog-builddate
citra-qt: Add build date in about dialog
2018-06-19 11:57:40 -06:00
zhupengfei
6c4f3257b7
citra-qt: Add build date in about dialog 2018-06-18 21:21:00 +08:00
James Rowe
574824a26c
Merge pull request #3632 from N00byKing/3dtv_botenable
Add Support for Stereoscopic 3D
2018-06-17 21:05:15 -06:00
James Rowe
c39dee1569
Merge pull request #3617 from BreadFish64/multiple-game-dirs
QT: Add support for multiple game directories
2018-06-17 21:04:24 -06:00
James Rowe
6811eda2b9
Merge pull request #3764 from zhaowenlan1779/camera-flip
camera: camera refinement
2018-06-09 14:02:50 -06:00
zhupengfei
cb52033133
game_list: fix system title display 2018-06-07 18:50:35 +08:00
zhupengfei
3c554153c7
StillImageCamera: fix multiple prompt 2018-06-07 14:57:07 +08:00
zhupengfei
a15e4e80c6
QtMultimediaCamera: fix invalid settings 2018-06-07 14:57:07 +08:00
zhupengfei
7c48160beb
StillImageCamera: move GetFilePath to UI thread 2018-06-07 14:57:06 +08:00
zhupengfei
341c07156a
camera: Single/Double (QtMultimediaCamera) 2018-06-07 14:57:05 +08:00
zhupengfei
6e410dcef5
camera: refactor (add qt_camera_base) 2018-06-07 14:57:04 +08:00
zhupengfei
5ebd466869
camera: Add camera flip config 2018-06-07 14:57:03 +08:00
N00byKing
e4788130e5 citra, citra_qt, settings.h: Add Options for Stereoscopic 3D 2018-06-01 17:01:00 +02:00
James Rowe
87d2866127
Merge pull request #3757 from zhaowenlan1779/game-list-fix
citra_qt: Improve Game List Item display
2018-05-31 23:10:02 -06:00
James Rowe
489d5a3da9
Merge pull request #3769 from Kloen/dark-theme-updates
citra-qt: Update Dark theme to latest version
2018-05-31 22:45:54 -06:00
Valentin Vanelslande
90bcb26c3b citra_qt: Add Continue/Pause & Toggle Speed Limit hotkeys 2018-05-28 16:36:56 -05:00
BreadFish64
30c6c37d6c fix jrowes lazy sorting 2018-05-26 15:38:06 -05:00
BreadFish64
31a9fdb00b fix preffered game 2018-05-26 15:38:06 -05:00
BreadFish64
1a57f9488f citra_qt: support multiple game directories 2018-05-26 15:38:06 -05:00
Nico Bosshard
88ebd844e5 Add search filter support for multiple game directories 2018-05-26 15:38:05 -05:00
zhupengfei
9504aa19d5
game_list: rewrite format 2018-05-26 22:27:59 +08:00
Logan B
b5934237fa
Fix build 2018-05-25 20:28:15 +12:00
zhupengfei
e5c8b9f0a2
game_list: append filename after program ID 2018-05-23 21:36:10 +08:00
Kloen
15e2be85b5 citra-qt: Change link colors to a more readable one when using the dark theme 2018-05-23 02:51:19 +02:00
zhupengfei
3b18faa163
citra_qt: Improve Game List Item display 2018-05-19 17:21:26 +08:00
Christoph
3bf924cd20 Camera translation (#3747)
* citra_qt: correct spelling in configuration

* citra_qt/camera: Changed the order of the translation

The translation may not correspond to "couln't load" and "the camera", so create two cases which can get translated individually.
Also add a space after "the camera".

* citra_qt/camera: use the same syntax for the filter in "still_image_camera.cpp" as in "configure_camera.cpp"

* citra_qt/camera: the config should only get added if it's not empty
2018-05-19 12:03:06 +03:00
James Rowe
e35c634fc6
Merge pull request #3742 from wwylele/glvtx-ui
citra-qt: add gpu shader emulation related configurations
2018-05-18 13:04:18 -06:00
James Rowe
64a8c8ee07
Merge pull request #3741 from wwylele/glvtx-last
gl_rasterizer: implement AccelerateDrawBatch to emulate PICA shader on hardware
2018-05-18 13:03:40 -06:00
wwylele
4377caf1df citra-qt: add tooltips for renderer options 2018-05-18 15:15:07 +03:00
wwylele
f1cc8cfea9 citra,citra_qt: load/save hardware shader settings 2018-05-14 10:17:35 +03:00
wwylele
1d5a26b1d8 citra-qt: add gpu shader emulation related configurations 2018-05-13 10:58:20 +03:00
James Rowe
80bfd87270
Merge pull request #3730 from FearlessTobi/game-compat-fixes
citra_qt: Refactor game list compatibility system
2018-05-11 11:59:53 -06:00
朱鹏飞
57827de38b citra_qt: camera integration (#3566)
* Implement camera feature

* Make OpenCVCamera optional

* Fix styling problems

* CI configuration

* Fix CI

* Hopefully final fix

* Hopefully final fix

* Fix all the problems

* Oops..

* Add Qt Multimedia Camera

* Another oops

* Try to fix broken linux CI

* Try to fix broken linux CI

* Fix problems

* Improve UI

* Fix problems

* camera: Add support for Qt <5.10 and fix preview error

* CI: try to fix linux-frozen travis build

* camera: fix problems and add multiple handlers support

* fix CI

* remove most ServiceFramework changes

* Fix format

* Remove last ServiceFramework change

* camera: remove unused interfaces; revert submodule change

* camera: fix CI error

* ci: use ccache for opencv build

* citra_qt: fix configuration error; CI: add mediaservice plugin

* citra_qt: fix clang-format

* citra_qt: fix documentation error

* citra_qt: fix configuration page; camera: fix pausing crash

* citra_qt: fix preview not stopping

* camera: extend handlers length

* camera: fix camera resume error

* camera: fix clang-format

* camera: remove all OpenCV; citra_qt: rewrite configuration

* camera: remove all OpenCV; citra_qt: rewrite configuration

* camera: remove all OpenCV; citra_qt: rewrite configuration

* CI: fix linux ci

* camera: check settings update; citra_qt: fix configuration error

* service_cam: use a better way to apply configuration

* Service_CAM: rewrite camera reload

* cam: fix clang format

* citra_qt: fix argument load issue; camera: base of system camera selection

* citra_qt: Add system camera selection

* camera: fix image upside down, Implement SetFrameRate in Qt Multimedia Camera

* camera: Add missing <array> include, update SetFrameRate and add settings in Qt Multimedia Camera header

* camera: move started in Qt Multimedia Camera header

* QtMultimediaCamera: Move frame rates to SetFrameRate; Set minimum and maximum frame rate

* Update appveyor.yml
2018-05-11 11:42:23 -06:00
FearlessTobi
f354744ad4 citra_qt: Refactor game list compatibilty 2018-05-10 03:57:57 +02:00
James Rowe
ca01c7eea8
Merge pull request #3665 from adityaruplaha/log-version
frontend: Log Citra version.
2018-05-03 15:17:04 -06:00
James Rowe
ca3b82caa4
Merge pull request #3705 from zhaowenlan1779/multiplayer-fix
citra_qt: multiplayer password dialog fix
2018-05-02 09:17:33 -06:00
FearlessTobi
36c4765054 citra_qt: Add a game region column 2018-05-01 19:57:01 +02:00
zhupengfei
b33f7901b6
citra_qt: fix clang-format 2018-05-01 11:26:57 +08:00
zhupengfei
784c41bf34
citra_qt: multiplayer password dialog fix 2018-05-01 11:15:31 +08:00
adityaruplaha
0cece7918a Log Citra version.
Class: Frontend
Level: Info
Format: "Citra Version: " + window title
2018-04-29 21:05:19 +05:30
Weiyi Wang
9c65a45358
Merge pull request #3694 from jroweboy/quickfix
Fix duplicated logs on windows
2018-04-28 10:31:25 +03:00
James Rowe
252e5f173d
Merge pull request #3676 from jroweboy/minor-mp-ui-fix
Minor multiplayer ui fixes
2018-04-27 10:00:21 -06:00
James Rowe
98c150e7fc Fix duplicated logs on windows 2018-04-27 09:58:48 -06:00
James Rowe
1b94f25e6c
Merge pull request #3568 from daniellimws/logging-backends
Logging: Add customizable backends
2018-04-26 21:09:31 -06:00
James Rowe
65b38a7537 fixup: Address review 2018-04-25 10:31:51 -06:00
James Rowe
6ce111301f Frontend: Add missing translation for network error messages 2018-04-25 09:44:16 -06:00
Daniel Lim Wee Soong
51398e0301 Logging: Add customizable logging backends and fmtlib based macros
* Change the logging backend to support multiple sinks through the
Backend Interface
* Add a new set of logging macros to use fmtlib instead.
* Qt: Compile as GUI application on windows to make the console hidden by
default. Add filter configuration and a button to open log location.
* SDL: Migrate to the new logging macros
2018-04-23 21:32:56 -06:00
Adityarup Laha
c06d6ecea2
Replace "Hide Full Games" with "Hide Full Rooms" 2018-04-22 16:56:49 +05:30
James Rowe
c7726f13e8 Frontend: Prevent a crash from closing a hosted room using the Disconnect button and then trying to host another room 2018-04-20 00:53:56 -06:00
James Rowe
5fef22fc52 Frontend: Prevent connecting to another room when already joining 2018-04-20 00:53:31 -06:00
James Rowe
d35693bbbc More minor issue fixes
* Move Joining state change sooner in the code to prevent an issue where
failing to connect multiple times in a row doesn't change the state (as
it goes from CouldNotConnect -> CouldNotConnect which doesn't trigger a
state changed callback)
* Prevent double clicking too fast on a room in the lobby from causing
issues
* Lobby no longer closes when joining a room
2018-04-19 10:28:19 -06:00
James Rowe
62257e0d79 Fix Lobby filtering with player list
* Make double clicking the player list open the correct room
* Fix an issue where filtering with search broke the whos playing list
2018-04-19 10:28:18 -06:00
James Rowe
1f6791431d Move almost all state change tracking to MultiplayerState
Each window can still watch for state changes to update the ui or to
close the window as appropriate, but for any error announcements, they
all belong in Multiplayer state now.
2018-04-19 10:28:18 -06:00
James Rowe
a5c8e07f46 Remove duplicated logic in HostRoom
Fixes some issues with multiple warning messages
2018-04-19 10:28:18 -06:00
James Rowe
2be02f221d Fix player list not showing in lobby. Fix host and direct connect crashing citra 2018-04-19 10:28:18 -06:00
James Rowe
01b49b7e78 Fix compilation issue where unique_ptr needs full class declaration 2018-04-19 10:28:17 -06:00
James Rowe
c635c7f40d Address more review comments
* Make Validation a singleton instead
* Wording changes for error messages
* Smart pointers for Ui members
* Other minor nitpicks
2018-04-19 10:28:17 -06:00
James Rowe
a85511cd7d Fix multiplayer dropdowns and proxy model
* Filters in the lobby properly remove rooms
* Multiplayer menu items for Show Room and Leave Room work as intended
2018-04-19 10:28:17 -06:00
James Rowe
601fd81d5c Address review comments 2018-04-19 10:28:16 -06:00
James Rowe
3be7aa2cfc Moved the password icon to the room name.
Also added a dark mode lock icon as well (and fixed a small bug
preventing the lock icon from showing up)
2018-04-19 10:28:16 -06:00
James Rowe
aa391ed60d Fixed and issue where multiplayer state was covering the File and Emulation menu items when it shouldn't even be visible 2018-04-19 10:28:16 -06:00
James Rowe
599eebf511 Remove the current players blurb 2018-04-19 10:28:16 -06:00
James Rowe
2d1efcc36b Add a member list expandable to the lobby. Fix issue with hosting more than once. 2018-04-19 10:28:15 -06:00
James Rowe
f346a9d372 Split multiplayer code into its own class 2018-04-19 10:28:15 -06:00
James Rowe
ddbbab8fd6 Add network status text to the status bar 2018-04-19 10:28:15 -06:00
James Rowe
871196bc10 Citra-qt: Add multiplayer ui 2018-04-19 10:28:14 -06:00
Jan Beich
394638e9c9 Qt: Add missing #include after 2f8bd18296
In file included from src/citra_qt/citra-qt_autogen/mocs_compilation.cpp:14:
In file included from src/citra_qt/citra-qt_autogen/EWIEGA46WW/moc_game_list_p.cpp:9:
src/citra_qt/game_list_p.h:160:17: error: use of undeclared identifier 'QCoreApplication'; did you mean 'QApplication'?
        setText(QCoreApplication::translate("GameList", status.text));
                ^~~~~~~~~~~~~~~~
                QApplication
/usr/local/include/qt5/QtGui/qwindowdefs.h:81:7: note: 'QApplication' declared here
class QApplication;
      ^
In file included from src/citra_qt/citra-qt_autogen/mocs_compilation.cpp:14:
In file included from src/citra_qt/citra-qt_autogen/EWIEGA46WW/moc_game_list_p.cpp:9:
src/citra_qt/game_list_p.h:160:17: error: incomplete type 'QApplication' named in nested name specifier
        setText(QCoreApplication::translate("GameList", status.text));
                ^~~~~~~~~~~~~~~~~~
/usr/local/include/qt5/QtCore/qobject.h:446:18: note: forward declaration of 'QApplication'
    friend class QApplication;
                 ^
In file included from src/citra_qt/citra-qt_autogen/mocs_compilation.cpp:14:
In file included from src/citra_qt/citra-qt_autogen/EWIEGA46WW/moc_game_list_p.cpp:9:
src/citra_qt/game_list_p.h:161:20: error: use of undeclared identifier 'QCoreApplication'; did you mean 'QApplication'?
        setToolTip(QCoreApplication::translate("GameList", status.tooltip));
                   ^~~~~~~~~~~~~~~~
                   QApplication
/usr/local/include/qt5/QtGui/qwindowdefs.h:81:7: note: 'QApplication' declared here
class QApplication;
      ^
In file included from src/citra_qt/citra-qt_autogen/mocs_compilation.cpp:14:
In file included from src/citra_qt/citra-qt_autogen/EWIEGA46WW/moc_game_list_p.cpp:9:
src/citra_qt/game_list_p.h:161:20: error: incomplete type 'QApplication' named in nested name specifier
        setToolTip(QCoreApplication::translate("GameList", status.tooltip));
                   ^~~~~~~~~~~~~~~~~~
/usr/local/include/qt5/QtCore/qobject.h:446:18: note: forward declaration of 'QApplication'
    friend class QApplication;
                 ^
2018-04-18 20:03:52 +00:00
James Rowe
2f8bd18296 Use the QT_TRANSLATE_NOOP macro 2018-04-17 10:42:05 -06:00
baka0815
4321ab44ea citra-qt: Don't translate function keys in InitializeHotkeys() 2018-04-16 12:37:13 +02:00
FearlessTobi
fbc05fac19 Show game compatibility within Citra 2018-04-16 00:42:58 +02:00
adityaruplaha
2a7d0ec4be Fix the stuck in fullscreen bug.
Don't save the UI/RenderWindow geometry if fullscreen was enabled.
2018-04-07 12:16:07 +05:30
Weiyi Wang
a9544ca015
Merge pull request #3580 from daniellimws/common-fmt
common: Migrate logging macros
2018-04-06 12:38:08 +03:00
BreadFish64
1d809ce6aa update-icons-signal 2018-03-30 10:20:21 -05:00
Daniel Lim Wee Soong
968569aa61 Replace format specifiers for all usages of ASSERT_MSG 2018-03-27 23:28:42 +08:00
BreadFish64
05cf7fe70a QT: Implement themed icons (#3554)
* implement themed icons

* fix theme search paths
2018-03-27 12:11:04 +01:00
Weiyi Wang
0607bc36e3
Merge pull request #3574 from daniellimws/citra-qt-fmt
citra_qt: Migrate logging macros
2018-03-27 13:52:31 +03:00
Daniel Lim Wee Soong
5ddc440b48 Change to print program id as hex 2018-03-26 20:44:49 +08:00
FearlessTobi
245a3bd067 game_list: Add missing override specifier for KeyReleaseEater's eventFilter function 2018-03-25 23:57:25 +02:00
Daniel Lim Wee Soong
978a169cc4 Drop # for formatting program id 2018-03-25 15:48:29 +08:00
Daniel Lim Wee Soong
79b0e62455 citra_qt: Migrate logging macros
Follow-up of #3533

Replace prefix of all logging macros from LOG to NGLOG
2018-03-25 13:00:36 +08:00
Weiyi Wang
d03f72eb56
Merge pull request #3535 from ccawley2011/emu_arch_bits
CMake: Set EMU_ARCH_BITS in CMakeLists.txt
2018-03-21 16:15:22 +02:00
Weiyi Wang
42ed0254db
Merge pull request #3528 from BreadFish64/auto-nvidia
use nvidia graphics automatically on laptops with optimus
2018-03-18 23:41:08 +02:00
Weiyi Wang
171cb4452f
Merge pull request #3498 from wwylele/cfg-new-framework
Service/CFG: convert to ServiceFramework
2018-03-17 13:54:29 +02:00
BreadFish64
691aadb6a3 comment 2018-03-16 16:06:33 -05:00
Cameron Cawley
8d1cab4892 CMake: Set EMU_ARCH_BITS in CMakeLists.txt 2018-03-16 13:29:36 +00:00
BreadFish64
55d5720962 use nvidia graphics automatically on laptops with optimus 2018-03-15 20:36:53 -05:00
Valentin Vanelslande
2f165a1ca6
citra_qt: Sync menu UI settings after changing the layout with F10 2018-03-12 18:40:54 -06:00
Pierre de La Morinerie
c4dbdeba0a Fix QGLWidget viewport resize on macOS
This fixes #2092, a long-standing bug where on macOS resizing the window
results in a garbled display.

It seems the seemingly optional child()->makeCurrent call is actually
required on macOS. Enabling it in all cases fixes the resize issue.
2018-03-11 19:22:30 +05:30
wwylele
b179b86f14
Service/CFG: convert to ServiceFramework 2018-03-10 13:37:03 +02:00
James Rowe
f61141e86a Update the entire application to use the new clang format style 2018-03-09 10:54:43 -07:00
Weiyi Wang
4befbddc34
Merge pull request #3281 from jroweboy/texcache-pt2
Texture Cache Rework
2018-03-05 11:57:25 +02:00
wwylele
5178e5bce1 fix clang-format 2018-03-04 13:30:29 +02:00
Weiyi Wang
0cea9c54ac
Merge pull request #3434 from BreadFish64/MultipleInstalls
QT: allow installation of multiple CIAs
2018-02-28 15:55:15 +02:00
BreadFish64
165d3e1ab2 tidy loop 2018-02-19 17:11:46 -06:00
James Rowe
33fe6c30e0
Merge pull request #3322 from MerryMage/DSP
audio_core: Remove global state
2018-02-19 09:08:37 -07:00
BreadFish64
f0f9f34445 move callback definition outside loop 2018-02-16 14:53:38 -06:00
BreadFish64
c547465657 install multiple CIAs sequentially 2018-02-13 18:16:26 -06:00
BreadFish64
752e6e62b8
correct escape sequence warning 2018-02-03 13:33:18 -06:00
MerryMage
ab3d53131a audio_core: Remove global state 2018-02-03 15:15:17 +00:00
bunnei
dca5fd291f
Merge pull request #3272 from MerryMage/dynarmic
core/arm: Backend-specific context implementations
2018-02-02 12:27:52 -08:00
Paulo Faustino
8e4b806419 More accessible screen layout settings. (#3340)
* Remove borders from status bar items

On Ubuntu the status bar didn't look as good as on Windows due to some border being drawn around each status bar cell.

* Revert "Remove borders from status bar items"

This reverts commit 15fd32bf2b.

* Remove borders from status bar items 

On Ubuntu the status bar didn't look as good as on Windows due to some border being drawn around each status bar cell.

* More accessible screen layout settings.

Depending on the game I'm playing I find myself needing to switch screen layouts very often and it's currently a hassle to have to open the settings dialog in order to do that so I've added shortcuts for the screen layout options and swap screen option on the main menu plus I added a keyboard shortcut to quickly toggle between the available layouts during game play (F10). I've also updated the swap screen shortcut (F9 now, used to be Ctrl + Tab) so it's next to the layout toggle shortcut by default (F9 and F10).

* Clean up.
2018-02-02 12:19:49 -08:00
BreadFish64
d3a0375f47 Add Context Menu Options to Open Application and Update Location (#3411)
* Add Context Menu Options to Open Application and Update Location

* address jroweboy's feedback

move enum definition to game list header
declare sdmc_dir in SAVE_DATA case
fix log formatting

* Address Merry's feedback

remove redundant line
format program ID as 16 digit hex in log|
change case of open_target to look better in title bar
add whitespace for readability
2018-02-02 12:18:19 -08:00
Merry
5a57578ce9
Merge pull request #3402 from BreadFish64/installed-game-list
Allow Installed Apps to Display in the Game List
2018-01-27 00:32:36 +00:00
BreadFish64
79e4fe58dc fix comparison operator 2018-01-26 17:12:50 -06:00
Weiyi Wang
e53e07b528
Merge pull request #3325 from BreadFish64/CompatibiltyReporting
Add ability to send test cases through telemetry
2018-01-27 00:56:55 +02:00
James Rowe
b002511df0
citra-qt: Add customizable speed limit target (#3353)
citra-qt: Add customizable speed limit target

* Update SDL config for the new frame_limit option
* Made max lag time a function of target speed percent.
* Added a checkbox to enable/disable frame limiter
* UI: Prevent frame_limit from under/overflowing
* UI: Hide target speed percent when frame limiter is off
* Disable frame limit spin box when framelimit isn't enabled
2018-01-25 22:24:40 -07:00
BreadFish64
4f5892d86d
Fix comparison operators 2018-01-25 20:50:22 -06:00
BreadFish64
db3c83fedc
remove spaces 2018-01-24 10:17:04 -06:00
BreadFish64
1e54b52edf
revert move 2018-01-24 10:16:40 -06:00
BreadFish64
eb1b5f588a only pass one smdh 2018-01-23 21:32:27 -06:00
BreadFish64
4da837c929 only search to two recursions, add update dir to watch list 2018-01-23 14:13:54 -06:00
BreadFish64
38c5ca68b2 reduce the scope of the variables 2018-01-22 07:56:24 -06:00
BreadFish64
980923d351 allow installed apps to display in the game list 2018-01-20 11:33:14 -06:00
BreadFish64
fc1bdc3c62 enum class 2018-01-20 09:56:02 -06:00
James Rowe
bf4e35b916
Merge pull request #3399 from FearlessTobi/patch-1
Remove "tr" from image formats in graphics_surface.cpp
2018-01-19 08:17:40 -07:00
Reegea85
0ea85b935a
citra-qt: fix broken About box
Fixing contributor ink in about box. Link missing https:
2018-01-19 15:26:03 +01:00
BreadFish64
169b076913 use enum and add default case 2018-01-18 21:02:55 -06:00
Tobias
ae4e8bc316
Remove tr from image formats 2018-01-18 23:04:31 +01:00
literalmente-game
7cf9bc88a3
Update configure_web.cpp
Typo
2018-01-18 18:08:33 -02:00
BreadFish64
c3afd73592
Merge branch 'master' into CompatibiltyReporting 2018-01-18 10:36:32 -06:00
James Rowe
e1ffcde355
Merge pull request #3297 from wwylele/translation-tx
citra-qt: add translation support; link translation with transifex
2018-01-18 09:01:00 -07:00
Adityarup Laha
93cca23dd6 Variable tilt clamp (#3366)
* Add tilt clamp setting

* Updated `clamp` to use variable

* Fixed a minor typo

* Include possibly necessary header

* expose setting in sdl2

* expose setting in qt

* incorporate @wwylele 's suggestion in sdl2

* Incorporate @wwylele 's suggestion (?)

Please review the code, this is the first time I'm working with `ParamPackage`s so I may just screw up the code.

* Forgot to change in qt

* Fixed an fatal error

* fixed clang format error

* remove the old setting

* fixed typos cusing errors

* removed old setting

* Changed init style

* Forgot this one

* Removed unnecessary header inclusion

* Update config.cpp

* update qt-config

* Update motion_emu.cpp

* Update motion_emu.cpp
2018-01-17 17:30:50 -05:00
BreadFish64
11d2825070
only enable menu visibility 2018-01-17 13:57:42 -06:00
BreadFish64
ca96077601
1 -> d 2018-01-11 10:57:44 -06:00
BreadFish64
b71d9e108d address wwylele's feedback 2018-01-10 19:05:14 -06:00
bunnei
2e41810608
Merge pull request #3333 from Senjosei/pause-coreerror
citra_qt: Pause emulation on CoreError
2018-01-10 12:16:51 -05:00
BreadFish64
68959823e9 move menu action 2018-01-06 11:56:12 -06:00
BreadFish64
e768a92587 add compatibility reporting to qt frontend 2018-01-01 19:25:38 -06:00
PizzicatoWolf
8fa160395b Revert index change 2017-12-30 14:51:45 +10:30
PizzicatoWolf
e0e4b70f6a Resized main config window 2017-12-30 14:10:05 +10:30
Senjosei
fb72a9d9fa Fixed clang whitespace 2017-12-29 06:31:18 +11:00
Senjosei
f17600db1a Moved when to pause because it wasnt fast enough 2017-12-29 06:17:21 +11:00
Senjosei
bbe6c8890c Pause emulation OnCoreError 2017-12-29 06:15:59 +11:00
James Rowe
c821c14908 Settings: Change resolution scaling to an integer instead of a float 2017-12-23 16:10:25 -07:00
wwylele
5345d2e957 fixup!citra_qt: load translation from resource 2017-12-22 12:34:49 +02:00
Lioncash
a73f135868
citra_qt: Migrate to Qt 5 signal/slot connection syntax where applicable
This is more type-safe than the string-based signal/slot syntax that was
being used. It also makes the connections throughout the UI code consistent.
2017-12-17 18:44:48 -05:00
Weiyi Wang
4c3a4ab664
Merge pull request #3306 from lioncash/qt4
citra_qt: Drop Qt 5 version checks in code
2017-12-17 12:08:21 +02:00
Lioncash
9ec0609ae5
citra_qt: Drop Qt 5 version checks in code
We don't support Qt 4.x anymore.
2017-12-16 13:26:14 -05:00
Lioncash
8e53599deb
game_list: Use forward declarations where applicable
Reduces the number of header dependencies propagated by the header file.
2017-12-16 13:14:23 -05:00
wwylele
500a7f07c2 cmake: generate translation file and add to resource for citra_qt 2017-12-16 13:11:05 +02:00
wwylele
62890b253e citra_qt: load translation from resource 2017-12-16 13:11:05 +02:00
Lioncash
c681090d06 citra_qt: CMakeLists: Drop leftover handling code for Qt 4 UI files
We don't support Qt 4 anymore.
2017-12-15 19:01:21 -05:00
bunnei
892b681f17
Merge pull request #3240 from muemart/input-config
Add button labels for sdl joystick mappings
2017-12-13 22:27:01 -05:00
muemart
23732a9ab3 Use static functions instead of lambdas 2017-12-13 19:06:14 +01:00
bunnei
4695f12a08
Merge pull request #3264 from lioncash/cmake-target
CMakeLists: Derive the source directory grouping from targets themselves
2017-12-12 14:34:51 -05:00
MerryMage
fb2d34997e core/arm: Backend-specific context implementations 2017-12-12 19:12:03 +00:00
Lioncash
ab021d163e CMakeLists: Derive the source directory grouping from targets themselves
Removes the need to store to separate SRC and HEADER variables,
and then construct the target in most cases.
2017-12-11 21:11:52 -05:00
Lioncash
e439725271 bootmanager: Make EmuThread's IsRunning() member function const 2017-12-10 20:12:47 -05:00
Lioncash
c06f7978ac bootmanager: In-class initialize EmuThread's boolean member variables
Trims down the initializer list a little.
2017-12-10 20:11:35 -05:00
muemart
53741c6ebd Add translation support for button labels 2017-12-09 16:11:17 +01:00
muemart
bac776439b Fix crash when loading an unsupported file.
The telemetry stuff isn't properly initialized when loading fails, resulting in a crash.
2017-12-09 15:59:21 +01:00
muemart
441a9b5622 Add button labels for sdl joystick mappings 2017-12-08 13:08:42 +01:00
bunnei
040006fa6b
Merge pull request #3159 from FearlessTobi/really-fix-fullscreen
citra-qt : Fix a bug in our fullscreen implementation
2017-12-07 11:32:28 -05:00
muemart
e784434a25 Allow input configuration with SDL joysticks (#3116)
* Add infrastructure to poll joystick input and get ParamPackages

* Generalize the callbacks in configure_input.cpp and add buttons for analog sticks

* Use the polling classes in the input dialog

* Fix includes

* Formatting fix

* Include real header instead of forward declaring, to fix compiler error

* Split up pair and add deadzone for joystick configuration

* Pass ParamPackages by reference to callback

* fix formatting

* getPollers -> GetPollers

* Add forward declarations and simplify code a bit

* Update joysticks before opening them

* Fix mixup between joystick IDs and device indices
2017-12-05 23:26:29 -05:00
FearlessTobi
8942bfd759 Fix a bug in the fullscreen implementation 2017-12-04 17:42:23 +01:00
Weiyi Wang
466bec2d43
Merge pull request #3144 from BreadFish64/CIAInstallUI
QT CIA installation
2017-12-03 11:32:58 +02:00
BreadFish64
80852f918a add CIA installation to QT frontend 2017-12-02 15:35:20 -06:00
bunnei
b2a99043e3
Merge pull request #2968 from Subv/hle_thread_pause
Kernel/Threads: Add a new thread status that will allow using a Kernel::Event to put a guest thread to sleep inside an HLE handler until said event is signaled
2017-11-29 10:45:48 -05:00
Sebastian Valle
d55a13c35d
Merge pull request #2981 from Subv/replyreceive
Kernel/SVC: Implement LLE command buffer translation in ReplyAndReceive
2017-11-06 13:02:30 -05:00
wwylele
3b960fe651 citra-qt: fix broken About box 2017-11-06 18:08:53 +02:00
Subv
33c5982f6d Kernel/Threads: Added a new thread status to identify threads waiting for an IPC reply from svcSendSyncRequest. 2017-11-06 10:46:19 -05:00
James
b579bf0cc2 Fixed up method docs for updater 2017-11-04 15:10:59 -06:00
James
53a88a0e13 Fix edge case for checking for updates when already deferred 2017-11-04 15:00:24 -06:00
James
7361ee9750 Defer update prompt if emulating, and show no update found on explicit click 2017-11-04 15:00:24 -06:00
James Rowe
2e6c80d1aa Qt updater integration, based on QtAutoUpdater 2017-11-04 15:00:20 -06:00
BreadFish64
ee5aecee3f Implement About Button Functionality (#3005) 2017-11-04 13:59:27 -04:00
Mohit Sahu
1f6da9fbc5 Capitalize the first word in a comment (#3059)
* Correct spelling of searchfield in comment
2017-10-28 12:38:56 -05:00
Mohit Sahu
f75dd34747 Correct spelling of searchfield in comment (#3052)
Correct spelling of searchfield in comment
2017-10-27 15:43:22 +00:00
James Rowe
b4c1c26511 Merge pull request #3028 from MerryMage/fix-3023
citra_qt: Remove use of QKeySequence::Cancel
2017-10-24 09:21:27 -06:00
Dragios
a88185b5d6 citra-qt: Rename derivative class name 2017-10-22 09:33:23 +08:00
MerryMage
1e4bd67a12 citra_qt: Remove use of QKeySequence::Cancel
Closes #3023. QKeySequence::Cancel requires Qt 5.6, which our buildbots do not support.
2017-10-21 23:58:18 +01:00
Yacine
e3d9e6c802 citra-qt : Adding fullscreen mode 2017-10-11 20:21:09 +02:00
Subv
0a308e224c Kernel/Threads: Add a new thread status that will allow using a Kernel::Event to put a guest thread to sleep inside an HLE handler until said event is signaled. 2017-09-30 11:16:49 -05:00
Huw Pascoe
a13ab958cb Fixed type conversion ambiguity 2017-09-30 09:34:35 +01:00
wwylele
7117fcc024 citra-qt: fix some untranslated strings 2017-09-24 17:53:35 +03:00
B3n30
28c726f205 WebService: Verify username and token (#2930)
* WebService: Verify username and token; Log errors in PostJson

* Fixup: added docstrings to the functions

* Webservice: Added Icons to the verification, imrpved error detection in cpr, fixup nits

* fixup: fmt warning
2017-09-18 21:18:26 -04:00
James Rowe
79f177c6d2 Fix icon for citra qt 2017-09-03 11:26:10 -06:00
DaMan
40505bc4fc Add manifest 2017-09-02 20:08:11 -04:00
bunnei
75cd28a7cc Merge pull request #2899 from wwylele/touch-refactor
Refactor touch input into a TouchDevice
2017-08-29 11:29:10 -04:00
bunnei
9f0da33c33 qt: Add an option to view/regenerate telemetry ID. 2017-08-25 23:10:02 -04:00
bunnei
2e37201c63 # This is a combination of 2 commits.
# This is the 1st commit message:

qt: Add web configuration tab.

# The commit message #2 will be skipped:

# fixup! qt: Add web configuration tab.
2017-08-25 23:10:01 -04:00
bunnei
fb17e866aa qt: Add web configuration tab. 2017-08-25 23:10:01 -04:00
bunnei
40f417125b telemetry: Log frontend type. 2017-08-25 23:10:01 -04:00
bunnei
c781aea947 settings: Add enable_telemetry, citra_username, and citra_token. 2017-08-25 23:10:00 -04:00
bunnei
59ad933022 citra_qt: Show one-time callout messages to user. 2017-08-25 23:10:00 -04:00
ThaMighty90
3cdf854e44 SidebySide Layout (#2859)
* added a SidebySide Layout

* Reworked, so both screen have the same height and cleaned up screen translates.

* added the option in the UI, hope this is the right way to do it. formated framebuffer_layout.cpp

* delete the x64 files

* deleted ui_configure_graphics.h

* added Option for the Layout in the xml

* got rid of SIDE_BY_SIDE_ASPECT_RATIO because it was useless. pulled translate into variables

* changed shift variables to u32 and moved them in their respective branch. remove notr="true" for the Screen layout drop down

* reworked intends :). changed function description for SideFrameLayout

* some description reworking
2017-08-25 17:53:07 -04:00
wwylele
2617de1fe6 EmuWindow: refactor touch input into a TouchDevice 2017-08-24 15:00:56 +03:00
wwylele
188194908c move MotionEmu from core/frontend to input_common as a InputDevice 2017-08-11 11:05:08 +03:00
Andrea Pascal
f55b7aefd9 Quickfix typo in OpenGL 3.3 error message
User pointed out on the Discord server that "nothave" is erroneously concatenated. Added a space to prevent it.
2017-08-04 23:11:27 -04:00
wwylele
49602139c8 debugger/shader: display LOOP 2017-07-20 23:30:34 +03:00
wwylele
b5609e1578 debugger/shader: print the invert flag for JMPU 2017-07-20 23:18:07 +03:00
wwylele
8375fd2aba debugger/shader: fix address register for reverted arithmetic op 2017-07-20 23:12:08 +03:00
wwylele
98cd5164c5 debugger/shader: fix inverted uniform flow control 2017-07-20 22:47:53 +03:00
bunnei
822e8d21ea Merge pull request #2804 from Kloen/theming
citra-qt: UI Themes
2017-07-17 21:30:01 -04:00
bunnei
8abf808854 settings: Add telemetry endpoint URL. 2017-07-10 00:15:39 -04:00
B3n30
2e37ce01c9 Implement basic virtual Room support based on enet (#2803)
* Added support for network with ENet lib,

connecting is possible, but data can't be sent, yet.

* fixup! Added support for network with ENet lib,

* fixup! CLang

* fixup! Added support for network with ENet lib,

* fixup! Added support for network with ENet lib,

* fixup! Clang format

* More fixups!

* Moved ENetHost* and ENetPeer* into pimpl classes

* fixup! Moved ENetHost* and ENetPeer* into pimpl classes

* fixup! Clang again

* fixup! Moved ENetHost* and ENetPeer* into pimpl classes

* fixup! Moved ENetHost* and ENetPeer* into pimpl classes

* fixup! Moved ENetHost* and ENetPeer* into pimpl classes
2017-07-07 15:34:15 -04:00
MerryMage
f1790e6d91 configure_debug: Add label warning that CPU JIT needs to be disabled for gdbstub to work 2017-06-28 08:50:22 +01:00
Kloen
74cf73f9d3 citra-qt: Add option to configure the UI theme 2017-06-24 05:48:43 +02:00
Kloen
9c2335b984 citra-qt: load ui theme at startup and config change. 2017-06-24 05:48:42 +02:00
Kloen
1355f0f39e citra-qt: Add Dark theme from https://github.com/ColinDuquesnoy/QDarkStyleSheet 2017-06-24 05:48:42 +02:00
Kloen
bbeb9f1dbb citra-qt: add new uisetting->theme 2017-06-24 05:48:35 +02:00
chris062689
f44b360724 Changing default values for bg_red, bg_green, and bg_blue from 1.0 to 0.0. 2017-06-21 13:45:07 -04:00
Yuri Kunde Schlesner
838faf147e Session: Remove/add some forward declarations 2017-06-08 00:33:57 -07:00
Yuri Kunde Schlesner
d96a9e0c11 Service: Remove unnecessary includes from service.h
This has a huge fallout in terms of needing to fix other files because
all service implementations included that file.
2017-06-06 02:57:23 -07:00
Kloen
b763220dec Remove unused imports in game_list_p.h 2017-06-03 17:43:37 +02:00
TheKoopaKingdom
f008b22e3b Addressed Bunnei's review comments, and made some other tweaks:
- Deleted GetStatus() because it wasn't used anywhere outside of Core::System.
 - Fixed design flaw where the message bar status could be set despite the game being stopped.
2017-06-02 18:40:39 -04:00
TheKoopaKingdom
ff04320c97 Fixed wiki URLs. 2017-06-02 18:40:39 -04:00
TheKoopaKingdom
a8aef599e0 Created a whitelist of system archives to prevent false positives creating dialogs. 2017-06-02 18:28:14 -04:00
TheKoopaKingdom
0409bdfea5 Optimized messages that were repetitive and added ability for core errors to specify more details optionally. 2017-06-02 18:28:14 -04:00
TheKoopaKingdom
b6bab59000 Added message to status bar to show core errors ignored by the user. 2017-06-02 18:28:14 -04:00
TheKoopaKingdom
37bec598ea Made some changes from review comments:
- Made LoadKernelSystemMode return a pair consisting of a system mode and a result code (Could use review).
- Deleted ErrorOpenGL error code in favor of just having ErrorVideoCore.
- Made dialog messages more clear.
- Compared archive ID in fs_user.cpp to ArchiveIdCode::NCCH as opposed to hex magic.
- Cleaned up some other stuff.
2017-06-02 18:28:14 -04:00
TheKoopaKingdom
1ecb322daa Added system for handling core errors in citra-qt. 2017-06-02 18:27:56 -04:00
bunnei
af1ff4d3ce Merge pull request #2739 from yuriks/kernel-reorg
Split-up kernel.h
2017-05-31 19:46:15 -04:00
Yuri Kunde Schlesner
64ecf81a3c Kernel: Move WaitObject to a separate file
Now that HandleTable doesn't directly depend on WaitObject anymore, this
can be separated from the main kernel.h header.
2017-05-29 16:16:46 -07:00
Yuri Kunde Schlesner
d736cca848 CMake: Create INTERFACE targets for microprofile and nihstro 2017-05-27 22:34:52 -07:00
Yuri Kunde Schlesner
34b6c8bd88 CMake: Remove CITRA_QT_LIBS var
This used to be required to support both Qt4 and Qt5, but we dropped Qt4
so it's not needed anymore.
2017-05-27 20:53:39 -07:00
Yuri Kunde Schlesner
089baa04e8 CMake: Stop using FindOpenGL, which seems to not be required anymore 2017-05-27 20:48:00 -07:00
Yuri Kunde Schlesner
0f563111a2 CMake: Use IMPORTED target for Boost 2017-05-27 20:44:51 -07:00
Yuri Kunde Schlesner
7b81903756 CMake: Correct inter-module dependencies and library visibility
Modules didn't correctly define their dependencies before, which relied
on the frontends implicitly including every module for linking to
succeed.

Also changed every target_link_libraries call to specify visibility of
dependencies to avoid leaking definitions to dependents when not
necessary.
2017-05-27 18:41:24 -07:00
Yuri Kunde Schlesner
e91f2b7663 Remove some unnecessary inclusions of video_core.h 2017-05-27 18:41:24 -07:00
Yuri Kunde Schlesner
eb10f25025 Move screen size constants from video_core to core
video_core didn't even properly use them, and they were the source of
many otherwise-unnecessary dependencies from core to video_core.
2017-05-27 18:41:24 -07:00
James Rowe
fc2f7b0df6 Frontend: Prevent FileSystemWatcher from blocking UI thread
Instead of tying the QFileSystemWatcher to the GameList and updating in
the UI thread, this change moves it to the worker thread. Since it gets
deleted and recreated as part of the worker thread, this prevents it from
ever getting used from multiple threads (which is why it was originally
done on the UI thread)
2017-05-10 09:37:44 -06:00
Yuri Kunde Schlesner
6577bbc3c5 Remove ability to load symbol maps
This was now mostly unused except by thread creation, which used a
symbol of the entrypoint, if available, to name the thread.
2017-05-07 15:33:07 -07:00
Yuri Kunde Schlesner
4af2a1a3d7 citra-qt: Remove callstack widget
Appears to be currently broken, and given the complexity of doing this
for ARM code without debugging information, should probably be left to
an external tool or library. Use the GDB stub instead.

Closes #586
2017-05-07 15:32:47 -07:00
Yuri Kunde Schlesner
47e806b084 citra-qt: Remove disassembler widget
It has performance problems, a very misleading UI, and is broken in
general. It has essentially been superceded by the GDB stub, but if we
wanted a built-in disassembler in the future it'd essentially need to be
rewritten from scratch anyway.

Closes #427, #1480
2017-05-07 15:29:36 -07:00
Yuri Kunde Schlesner
e33558c6ce Merge pull request #2682 from nicoboss/filter
citra-qt: game list search function fixed minor mistakes
2017-05-07 13:46:46 -07:00
Nico Bosshard
db256ea395 Don’t focus the search field if the game is empty 2017-05-06 12:08:28 +02:00
B3n30
8bee016145 Create a random console_unique_id (#2668)
* Create a random console_id when config save_file is created

Added button in system config to refresh the console unique id

* Moved the connect for the button from .ui file to constructor of ConfigureSystem

* Added warning and info dialog
Fixup: Make use of qt5 style connects,
  renamed the refresh button,
  removed some duplicate code,
  changed random device and moved all to the generate function

* Changed the random generator to reflect what a real 3DS stores as console unique id
Fixup: Changed the warning message

* Fixup: Set and Create

* Fixup: Added console id label, therfore removed second message box

* Fixup: fixed the endianess

* Fixup: more endianness fixes

* Fixup: Endianness the 3rd
2017-05-05 20:55:51 -04:00
bunnei
de1b6cc695 Merge pull request #2606 from wwylele/ir
ir: implement circle pad pro
2017-05-03 22:34:12 -04:00
Nico Bosshard
89c28f9f80 Fixed some more typos 2017-05-03 00:23:20 +02:00
Nico Bosshard
f447dfc36b citra-qt: game list search function fixed minor mistakes 2017-05-02 23:55:27 +02:00
Nico Bosshard
06d4654966 citra-qt: game list search function (#2673)
* citra-qt: game list search function

* Empty search field during game list refresh

* Code improvements

* Code formatting

* Autofocus search field

* JayFoxRox's recommendations

* lioncash's review
2017-04-29 22:04:39 -04:00
Cereal-Killa
bf18e584e5 Better looking status bar under Linux Ubuntu (#2662)
* Remove borders from status bar items

On Ubuntu the status bar didn't look as good as on Windows due to some border being drawn around each status bar cell.
2017-04-12 19:14:52 -06:00
wwylele
6843538f7c qt: enable config for circle pad pro 2017-04-09 12:05:57 +03:00
Lioncash
1631e99eed citra-qt: Move config dialog code to its own directory 2017-04-03 20:43:13 -06:00
bunnei
ccc3985cc0 Merge pull request #2512 from SonofUgly/custom-layout
Add custom layout settings.
2017-03-21 22:57:31 -04:00
wwylele
560884336f citra-qt: remove dead code 2017-03-17 21:45:29 +02:00
wwylele
5245c86f26 citra-qt: release all buttons when render window focus is lost
credit to @Hawkheart for the original idea
2017-03-17 21:41:25 +02:00
wwylele
b5faa68120 qt/config_input: don't connect for null button 2017-03-02 13:29:28 +02:00
wwylele
e02c4b7195 Input: remove unused stuff & clean up
1. removed zl, zr and c-stick from HID::PadState. They are handled by IR, not HID
2. removed button handling in EmuWindow
3. removed key_map
4. cleanup #include
2017-03-01 23:30:57 +02:00
wwylele
e7a602fe16 Qt: rework input configuration for new input system 2017-03-01 23:30:57 +02:00
wwylele
a6bd7917cb InputCommon: add AnalogFromButton 2017-03-01 23:30:57 +02:00
wwylele
38e800f70d InputCommon: add Keyboard 2017-03-01 23:30:57 +02:00
Mat M
0cb52ee74a Doxygen: Amend minor issues (#2593)
Corrects a few issues with regards to Doxygen documentation, for example:

- Incorrect parameter referencing.
- Missing @param tags.
- Typos in @param tags.

and a few minor other issues.
2017-02-26 17:58:51 -08:00
Yuri Kunde Schlesner
b250ce21b9 Merge pull request #2587 from yuriks/status-bar
Replace built-in Profiler with indicators in status bar
2017-02-26 17:51:15 -08:00
Yuri Kunde Schlesner
1469b3212b Qt: Tweak status bar styling 2017-02-26 17:22:04 -08:00
Yuri Kunde Schlesner
915d69ac4c Qt: Increase status bar update interval to 2 seconds 2017-02-26 17:22:04 -08:00
Yuri Kunde Schlesner
f273959205 Qt: Add tooltips to status bar displays 2017-02-26 17:22:03 -08:00
Yuri Kunde Schlesner
008c709dbf Qt: Don't show fractional figures in the status bar
They're not very important and this makes the display changes less
often, making it less distracting.
2017-02-26 17:22:03 -08:00
Yuri Kunde Schlesner
3b4e400333 Remove built-in (non-Microprofile) profiler 2017-02-26 17:22:03 -08:00
Yuri Kunde Schlesner
c75ae6c585 Add performance statistics to status bar 2017-02-26 17:22:03 -08:00
Yuri Kunde Schlesner
1b28b26682 Qt: Add (empty) status bar 2017-02-26 17:22:02 -08:00
Yuri Kunde Schlesner
441f8b5a4b Core: Remove unnecessary include in thread.h 2017-02-26 17:22:01 -08:00
James Rowe
26823cd38b Use QFileSystemWatcher to reload the game list when a change is detected. (#2555)
* Added a refresh game directory option to the file menu

* Make the game list watcher recursive and have it start watching from the initial load

* Rework game list watcher to be thread safe

* Fix code style issues
2017-02-23 16:29:00 -05:00
bunnei
4dee08b343 Merge pull request #2441 from jroweboy/titlebar
Gui: Change title bar to include build name
2017-02-23 16:24:48 -05:00
SonofUgly
e0a4450bbd Add custom layout settings. 2017-02-23 10:49:56 -08:00
James Rowe
b090422991 Gui: Change title bar to include build name
Nightly builds now have "Citra Nightly" in the titlebar
Bleeding edge builds now have "Citra Bleeding Edge" in the titlebar
2017-02-23 00:42:55 -07:00
Anthony
a7360f2642 [UI] Modify recursive scanning label (#2589) 2017-02-22 21:45:03 -08:00
Yuri Kunde Schlesner
80762583c2 Qt: Move some connections from .ui file to code 2017-02-18 02:30:29 -08:00
Yuri Kunde Schlesner
5b96915c69 Qt: Reorganize connection of menu events 2017-02-18 02:26:57 -08:00
Yuri Kunde Schlesner
4cb1f36896 Qt: Re-organize setup of debugging widgets 2017-02-18 02:16:24 -08:00
Yuri Kunde Schlesner
e823c908ea Qt: Fix action name to match conventions 2017-02-18 01:11:57 -08:00
Yuri Kunde Schlesner
cef18c94e2 Qt: Make IsSingleFileDropEvent static 2017-02-17 21:44:00 -08:00
Yuri Kunde Schlesner
c81a2aabbf Qt: Allow any file extension in Open dialog 2017-02-17 21:44:00 -08:00
Yuri Kunde Schlesner
c7c0219f8a Qt: Remove orpahned function declaration 2017-02-17 21:44:00 -08:00
Yuri Kunde Schlesner
5f00fe905c Qt: Remove unnecessary std::string usage 2017-02-17 21:44:00 -08:00
noah the goodra
6bcd5ce047 added drag n drop feature 2017-02-16 14:43:18 -06:00
Yuri Kunde Schlesner
f75e964d49 Qt/GameList: Use suffix() to parse the file extension
completeSuffix returns everything after the first period, which means
that a file such as `foo.bar.3ds` would not get recognized.
2017-02-13 19:03:59 -08:00
Yuri Kunde Schlesner
443bb3d522 Merge pull request #2550 from yuriks/pica-refactor2
Small VideoCore cleanups
2017-02-12 12:33:26 -08:00
Kloen Lansfiel
30ff675f02 citra-qt: Don't attempt to scan files with unsupported extensions (#2402) 2017-02-12 12:28:56 -08:00
Yuri Kunde Schlesner
60fc0b086f VideoCore: Split regs.h inclusions 2017-02-09 00:04:24 -08:00
Yuri Kunde Schlesner
f241bb72f5 Pica/Regs: Use binary search to look up reg names
This gets rid of the static unordered_map. Also changes the return type
const char*, avoiding unnecessary allocations (the result was only used
by calling .c_str() on it.)
2017-02-09 00:04:24 -08:00
Yuri Kunde Schlesner
5759d94b5c VideoCore: Move Regs to its own file 2017-02-04 13:59:12 -08:00
Yuri Kunde Schlesner
23713d5dee VideoCore: Split framebuffer regs from Regs struct 2017-02-04 13:59:11 -08:00
Yuri Kunde Schlesner
9017093f58 VideoCore: Split texturing regs from Regs struct 2017-02-04 13:59:09 -08:00
Yuri Kunde Schlesner
000e78144c VideoCore: Split rasterizer regs from Regs struct 2017-02-04 13:08:47 -08:00
Yuri Kunde Schlesner
97e06b0a0d Merge pull request #2476 from yuriks/shader-refactor3
Oh No! More shader changes!
2017-02-04 13:02:48 -08:00
Yuri Kunde Schlesner
09a750e866 Pica/Texture: Simplify/cleanup texture tile addressing 2017-02-04 12:33:25 -08:00
Yuri Kunde Schlesner
a1c9ac7845 VideoCore: Move LookupTexture out of debug_utils.h 2017-02-04 12:31:40 -08:00
noah the goodra
6c41d87a9d removal of the -1 case in the configure_input switch
this case is unneeded because no enumeration value can possibly correspond to it
2017-01-31 09:55:56 -06:00
Yuri Kunde Schlesner
1410aa1824 Merge pull request #2368 from wwylele/camera-2
CAM: build the service framework with a dummy implementation
2017-01-29 22:16:39 -08:00
Yuri Kunde Schlesner
335df895b9 VideoCore: Consistently use shader configuration to load attributes 2017-01-29 21:31:37 -08:00
Yuri Kunde Schlesner
ab6954e942 VideoCore: Rename some types to more accurate names 2017-01-29 21:31:36 -08:00
Yuri Kunde Schlesner
bf14f4be22 Merge pull request #2346 from yuriks/shader-refactor2
More shader refactoring
2017-01-27 14:29:10 -03:00
Kloen Lansfiel
f852369986 SDL: Select audio device (#2403)
* Initial Commit

Added Device logic to Sinks
Started on UI for selecting devices

Removed redundant import

* Audio Core: Complete Device Switching

Complete the device switching implementation by allowing the output
device to be loaded, changed and saved through the configurations menu.

Worked with the Sink abstraction and tuned the "Device Selection"
configuration so that the Device List is automatically populated when
the Sink is changed.
This hopefully addresses the concerns and recommendations mentioned in
the comments of the PR.

* Clean original implementation.

* Refactor GetSinkDetails
2017-01-25 22:33:26 -05:00
Yuri Kunde Schlesner
0e9081b973 VideoCore/Shader: Move entry_point to SetupBatch 2017-01-25 18:53:25 -08:00
Yuri Kunde Schlesner
0f64274145 VideoCore/Shader: Move per-batch ShaderEngine state into ShaderSetup 2017-01-25 18:53:25 -08:00
Yuri Kunde Schlesner
ade7ed7c5f VideoCore/Shader: Move ProduceDebugInfo to InterpreterEngine 2017-01-25 18:53:24 -08:00
Yuri Kunde Schlesner
a9b7752b9d Debugger: Always use interpreter for shader debugging 2017-01-25 18:53:24 -08:00