Commit graph

5905 commits

Author SHA1 Message Date
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
B3n30 ca77be3ac2 remove std::tie in sdl_impl 2018-10-09 23:19:24 +02:00
B3n30 2b46b838f1 fix deadzone max value 2018-10-09 21:23:50 +02: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
B3n30 e267377111 More fixes 2018-10-09 10:26:44 +02:00
B3n30 ad8b9c0429 Adressed review comments 2018-10-08 23:28:54 +02:00
Sebastian Valle f405134913
Merge pull request #4306 from Subv/apt_jump
Services/APT: Better implementation of PrepareToDoApplicationJump and DoApplicationJump.
2018-10-08 15:44:38 -05:00
Ben d99b1f581f NWM_UDS: Signal bind_node_event in Unbind (#4321) 2018-10-08 15:44:14 -05: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 756a3d404a
Merge pull request #4283 from valentinvanelslande/seed-db
Implement SeedDB & Seed Crypto
2018-10-08 14:18:42 -04: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
Weiyi Wang 0b7b9a51d6
Merge pull request #4299 from B3n30/uds
NWM_UDS: Fix some issues, cleanups, better PacketHandling
2018-10-07 13:56:59 -04:00
Merry a8155fdf48
Merge pull request #4314 from FearlessTobi/port-1440
Port yuzu-emu/yuzu#1440: "ui_settings: Place definition of the theme array within the cpp file"
2018-10-07 11:14:58 +01:00
Merry aab56c2e20
Merge pull request #4316 from FearlessTobi/port-1442
Port yuzu-emu/yuzu#1442: "Avoid unnecessary string temporary creation in PrintMessage()"
2018-10-07 11:13:48 +01:00
Subv 8ec2a9817c Services/APT: Better implementation of PrepareToDoApplicationJump and DoApplicationJump.
The real console can't launch an Application directly from within another Application so it has to go through the Home Menu. We do not have such limitation and can directly launch the requested title.
2018-10-06 17:08:24 -05:00
Valentin Vanelslande 7b6c5cd988
fix reply header 2018-10-06 16:59:57 -05:00
Subv 1d59c8f792 Logging: Change the TimeStretch::Process log from debug to trace level.
This function is called too many times and makes the debug logging basically unusable due to the spam.
2018-10-06 16:55:05 +02:00
Lioncash cd7596e67e text_formatter: Avoid unnecessary string temporary creation in PrintMessage()
operator+ for std::string creates an entirely new string, which is kind
of unnecessary here if we just want to append a null terminator to the
existing one.

Reduces the total amount of potential allocations that need to be done
in the logging path.
2018-10-06 16:46:02 +02: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
Weiyi Wang 389d3d630e fs/archive: wrap states into archive manager 2018-10-06 01:23:03 -04:00
Weiyi Wang 7678327bf2 fs/archive: move file and directory classes to their own files 2018-10-06 01:23:03 -04:00
Weiyi Wang 81657b737f
Remove "#" in the version number (#4311)
So that people can stop using it in issue/pr comments and randomly link some other issue/pr unintentionally.
2018-10-06 00:55:52 -04:00
Valentin Vanelslande dcd6e7f99f movie: fix some checks
Fixes invalid movie error
2018-10-05 17:20:14 -05:00
Weiyi Wang b163502744
Core: pass down Core::System reference to all services (#4272)
* Core: pass down Core::System reference to all services

This has to be done at once due to unified interface used by HLE/LLE switcher

* apt: eliminate Core::System::GetInstance

* gpu_gsp: eliminate Core::System::GetInstance in service

* hid: eliminate Core::System::GetInstance

* nwm: eliminate Core::System::GetInstance

* err_f: eliminate Core::System::GetInstance
2018-10-05 10:59:43 -04:00
Weiyi Wang 794498c33e
Merge pull request #4289 from wwylele/sdl-twice-twice
input/sdl: lock map mutex after SDL call
2018-10-05 10:54:45 -04: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
B3n30 7efe60ed23 Use SPSCQueue::PopWait in Scripting 2018-10-05 11:25:23 +02:00
B3n30 9b49a79a72 threadsafe_queue: Add WaitIfEmpty and use it in logging 2018-10-05 11:09:38 +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 a5daf60e62
Merge pull request #4301 from citra-emu/revert-4241-port-yuzu-1367
Revert "Port yuzu/#1367 from yuzu: "game_list: Handle plurals within setFilterResult() better""
2018-10-04 15:03:03 -04:00
Weiyi Wang eb494c574d
Merge pull request #4244 from wwylele/swap-enum
common/swap: add swap template for enum
2018-10-04 14:51:49 -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
B3n30 458346d1e8 Adressed feedback 2018-10-04 12:34:51 +02: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
B3n30 38f136048e Cleanup NWM_UDS::SendTo 2018-10-04 00:00:49 +02:00
Weiyi Wang ea53b0f795
Merge pull request #4298 from Subv/am_titles
Services/AM: Implemented BeginImportProgramTemporarily, EndImportProgramWithoutCommit and CommitImportPrograms.
2018-10-03 17:41:40 -04:00
B3n30 7e7f17c78d Add filter to PacketHandling; Fix some issues with Disconnect 2018-10-03 23:07:31 +02:00
Weiyi Wang cfa52e2b7b
Merge pull request #4296 from B3n30/service_getter
Give frontend access to the hle service interfaces
2018-10-03 15:58:27 -04:00
Subv 0f6f7cfd95 Services/AM: Implemented BeginImportProgramTemporarily, EndImportProgramWithoutCommit and CommitImportPrograms.
These functions are pretty much identical to BeginImportProgram and EndImportProgram.

We don't need to do anything special in EndImportProgramWithoutCommit and CommitImportPrograms because we don't need to implement the two-phase title installation that the 3DS uses to prevent corruption of the title.db.
2018-10-03 14:48:39 -05:00
B3n30 544eb25c99 fixup! Give frontend access to the hle service interfaces 2018-10-03 20:08:01 +02:00
B3n30 d3694a930e Give frontend access to the hle service interfaces 2018-10-03 19:44:23 +02:00
Sebastian Valle 3790ccc7b2
Merge pull request #4287 from Subv/am_subfile
Services/AM: Support using FS subfiles with the CIA-related service functions.
2018-10-03 10:13:46 -05:00
Subv 5165b63512 Services/AM: Support using FS subfiles with the CIA-related service functions.
FS subfiles are created with File::OpenSubFile, they have a start offset that must be added to all read/write operations.

The implementation in this commit is done using a new FileBackend that wraps the FS::File along with the start offset.
2018-10-03 09:57:05 -05:00
Kyran Butler 7df8c118d4
Slightly changed wording of LOG_ERROR statements.
More grammatically correct.
2018-10-02 13:20:36 -06:00
Weiyi Wang 22df17c303 input/sdl: lock map mutex after SDL call
Any SDL invocation can call the even callback on the same thread, which can call GetSDLJoystickBySDLID and eventually cause double lock on joystick_map_mutex. To avoid this, lock guard should be placed as closer as possible to the object accessing code, so that any SDL invocation is with the mutex unlocked
2018-10-02 11:22:20 -04:00
bunnei 2d116607fe
Merge pull request #4288 from Subv/am_system_mutex
Services/AM: Implement the GetSystemUpdaterMutex function.
2018-10-02 11:14:04 -04:00
Valentin Vanelslande b067b5aa5a Implement SeedDB & Seed Crypto 2018-10-02 10:12:40 -05:00
Subv 7aa97198a3 Services/AM: Implement the GetSystemUpdaterMutex function.
This function just returns a Mutex.
2018-10-02 09:07:00 -05:00
zhupengfei 8cf1132b2e
ncch_container: choose the first id as extdata id when extended save data access is used 2018-10-02 08:15:10 +08: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
Weiyi Wang 0e77cd385a
Merge pull request #4277 from wwylele/cecd-direct-fs
cecd: access FS via backend directly
2018-10-01 18:26:51 -04:00
bunnei 4a5a97ab88
Merge pull request #4253 from wwylele/string-util-cleanup
common/string_util cleanup
2018-10-01 17:52:58 -04:00
Weiyi Wang fb720c00b7
Merge pull request #4273 from wwylele/apt-direct-fs
APT: access FS via backend directly
2018-10-01 14:24:06 -04:00
Weiyi Wang 5fb3137bdc
Merge pull request #4181 from wwylele/cia-crypto
Add encrypted CIA support
2018-10-01 14:23:35 -04:00
B3n30 4831095610 fixup! Joystick: Allow for background events; Add deadzone to SDLAnalog 2018-10-01 16:02:19 +02: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
bunnei 9f972b9f5c
Merge pull request #4276 from MerryMage/jit_breakpoints
arm_dynarmic: Pass breakpoints to gdbstub
2018-09-30 21:42:00 -04:00
bunnei 27203c0d47
Merge pull request #4274 from wwylele/http-direct-fs
http_c: access FS via backend directly
2018-09-30 21:37:07 -04:00
zhupengfei bbf391abb9
citra_qt, core: game list "Open XXX Location" improvements 2018-10-01 08:42:22 +08:00
MerryMage b4d9d9661a arm_dynarmic: Pass breakpoints to gdbstub
Allow gdbstub to handle execution breakpoints
2018-09-30 19:40:49 +01:00
zhupengfei 9d142f981d
movie: fix default value in StartPlayback 2018-09-30 14:26:38 +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 edc6e419b0
Merge pull request #4232 from wwylele/multi-region
loader, cfg: choose region based on language if multiple regions available
2018-09-29 23:01:36 -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 f5a3ec18c2
Merge pull request #4072 from B3n30/httpc3
Service::HTTP_C: Implement Client Cert opening and closing
2018-09-29 22:53:49 -04:00
Lioncash d64094a0d2 kernel/object: Remove unnecessary std::move from DynamicObjectCast()
boost::static_pointer_cast for boost::intrusive_ptr (what SharedPtr is),
takes its parameter by const reference. Given that, it means that this
std::move doesn't actually do anything other than obscure what the
function's actual behavior is, so we can remove this. To clarify, this
would only do something if the parameter was either taking its argument
by value, by non-const ref, or by rvalue-reference.
2018-09-29 23:14:10 +02:00
Weiyi Wang 89a5b9b622 qt/configure_system: FS decoupled 2018-09-28 17:34:47 -04:00
Weiyi Wang bcb5d438a9 cfg: access FS via backend directly 2018-09-28 17:32:05 -04:00
Weiyi Wang 2757eff122 ptm: access FS via backend directly 2018-09-28 17:21:45 -04:00
Weiyi Wang b03332d09b fs: remove ArchiveFactory_ExtSaveData::Initialize
This is unnecessary as any open archive would create the full path for themselves
2018-09-28 17:08:39 -04:00
Weiyi Wang bb252ecab3 cecd: access FS via backend directly 2018-09-28 17:03:24 -04:00
Weiyi Wang 0bc98cdca4 http_c: access FS via backend directly 2018-09-28 14:25:19 -04:00
Weiyi Wang 94b273ac20 APT: access FS via backend directly 2018-09-28 14:08:30 -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 7c97e8df62
Merge pull request #4256 from wwylele/country-list
archive_ncch: add open source country list archive
2018-09-27 10:09:37 -04: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 08bfba5d8e
Merge pull request #4005 from NarcolepticK/stub-cecd
service/cecd: Implement some functions
2018-09-27 10:08:14 -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
Weiyi Wang 1f9f220a3e
Merge pull request #4262 from EverOddish/master
Added CMake option to enable/disable scripting support
2018-09-25 22:57:07 -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
EverOddish 15d44f0450 Review changes for enable/disable scripting 2018-09-23 20:13:28 -04:00
EverOddish fce7afb8dc Added CMake option to enable/disable scripting support 2018-09-23 19:16:18 -04:00
Weiyi Wang 9668852c0d Service/AM: handle encrypted CIA 2018-09-23 13:05:55 -04:00
Weiyi Wang df77491938 FileSys/cia: add ticket parsing 2018-09-23 13:05:55 -04:00
Weiyi Wang b70e2bce58 HW/AES: add common key loading and selecting 2018-09-23 13:00:07 -04:00
Pengfei Zhu 6b538a49ac
Merge pull request #4246 from FearlessTobi/port-1346
Port yuzu-emu/yuzu#1346: "svc_wrap: Convert the PARAM macro into a function"
2018-09-23 13:10:11 +08:00
Weiyi Wang 20e42592ff
Merge pull request #4249 from FearlessTobi/port-760
Port yuzu-emu/yuzu#760: "file_util: Use an enum class for GetUserPath()"
2018-09-22 23:42:59 -04:00
Weiyi Wang e087cb9a28 string_util: unify UTF8<->UTF16 conversion to codecvt 2018-09-22 17:23:48 -04:00