Weiyi Wang
8b047a49ae
Merge pull request #4586 from xperia64/qt_color_button_fix
...
citra_qt: Use QPixmap/QIcon for background color selection button
2019-01-23 20:24:57 -05:00
Weiyi Wang
054a97c08b
Merge pull request #4579 from xperia64/3d_slider
...
Change 3D Slider in-game
2019-01-23 20:23:55 -05:00
Lioncash
306ce6416a
vfp_helper: Remove accidental use of the comma operator in vfp_single_unpack()
...
Makes the line of code slightly easier to read properly.
2019-01-22 18:30:34 -05:00
Lioncash
c1a066fa89
yuzu/configuration/configure_web: Remove an unused lambda capture
...
'this' isn't actually used within the lambda, since what we need
from the class is already assigned within the capture section of
the lambda.
2019-01-21 22:11:02 +01:00
Lioncash
b16445064b
yuzu/configuration/configure_web: Use an ellipsis with 'Verifying' text
...
It's a common UI pattern to use an ellipsis to indicate an ongoing
action, rather than just specifying the word by itself.
2019-01-21 22:10:56 +01:00
bunnei
efd5768398
Merge pull request #4457 from FearlessTobi/remove-vsync
...
citra_qt: Remove V-Sync option
2019-01-21 15:56:12 -05:00
xperia64
ce26de858a
Use QPixmap/QIcon for background color selection button
2019-01-20 22:09:23 -05:00
Adityarup Laha
71f36efd27
citra-qt: Use structured bindings where applicable in `ConfigureHotkeys::applyConfiguration`. Fix a few minor issues.
...
* Address https://github.com/citra-emu/citra/pull/4437#discussion_r241380912
2019-01-20 16:14:07 +05:30
Adityarup Laha
dccd1664ad
citra-qt/configuration: Fix a weird issue where the tab UI disappears when language is changed.
2019-01-20 16:14:03 +05:30
Adityarup Laha
988acf588a
citra-qt: Add back missing hotkeys & conflict fixes.
...
* Also fixed a missing spacer in ConfigureGeneral.
2019-01-20 16:13:59 +05:30
Adityarup Laha
4309585623
citra-qt: Commented & documented code related to hotkeys as & when required.
2019-01-20 16:13:54 +05:30
Adityarup Laha
9615acb550
citra-qt: Fixed reloading hotkeys on-the fly.
2019-01-20 16:13:49 +05:30
Adityarup Laha
5fa25fcf13
citra-qt: Add base support for hotkey reconfiguration + UI (whole of PR citra-emu/citra#3786 )
...
* Adds a new Hotkeys tab in the Controls group.
* Right click to reconfigure.
* See the original PR for more details & screenshots.
2019-01-20 16:12:10 +05:30
xperia64
c6d623f4ba
Fix crash when no files are selected
2019-01-19 22:14:19 -05:00
xperia64
82acde7e4b
Add file extension to screenshot filename if not provided
2019-01-19 22:10:30 -05:00
Frederic Laing
5df6506e81
game_list: Remove a reference of a reference
2019-01-19 21:30:32 +01:00
Otávio Pace
6560fac5ff
audio_core: remove unnecessary spaces on comments
2019-01-19 21:28:52 +01:00
fearlessTobi
1302c9c1e7
frontend: Remove V-Sync option from UI
...
The V-Sync option is fundamentally broken in Citra, so let's do the same as yuzu and remove it entirely for SDL2 and at least from the frontend for QT.
(It was also only used by 7.3% of users)
2019-01-19 17:43:44 +01:00
xperia64
c1ac39f058
Actually fix the race condition
2019-01-18 16:32:16 -05:00
xperia64
5f5646c850
Fix types
2019-01-18 15:24:39 -05:00
xperia64
6f2eb2a418
Do 3D slider updating in the HID module
2019-01-17 23:48:50 -05:00
xperia64
81f4cef201
Revert "Change 3D slider in-game"
...
This reverts commit bb9a972e35
.
Needs to be completely redone in the HID HLE service module.
2019-01-17 23:33:24 -05:00
Weiyi Wang
95a57a2fe3
Merge pull request #4538 from valentinvanelslande/profiles
...
Add multiple input profile support
2019-01-17 22:32:24 -05:00
xperia64
bb9a972e35
Change 3D slider in-game
2019-01-17 22:18:15 -05:00
James Rowe
3523831195
Frontend: Only reload icons in chat when the chat room is open
2019-01-17 12:25:17 -07:00
James Rowe
f110cd95a6
Merge pull request #4569 from zhaowenlan1779/multiplayer-fix
...
multiplayer: minor UI fixes
2019-01-17 09:37:18 -07:00
zhupengfei
2d65371c20
citra_qt/multiplayer: Update themed icon on theme change
2019-01-16 22:01:21 +08:00
BreadFish64
ac3b514875
android: fix native library inclusion
2019-01-15 20:28:56 -06:00
BreadFish64
7b1cfff825
android: use better icons
...
vector assets are available
unfortunately android studio mutilates citra's vector icon
2019-01-15 20:28:29 -06:00
BreadFish64
d4646938e9
android: move cmakelist
2019-01-15 19:24:03 -06:00
zhupengfei
5f0dcd52ae
multiplayer: minor UI fixes
...
Just two minor fixes:
1. Font color is black in dark theme. It is now only black for pings.
2. If a user is called `abc`, you can ping them by `@abc_`. Now a ping only takes effect when there are spaces around it.
2019-01-13 22:21:04 +08:00
Ben
4f23d5d69e
Merge pull request #4490 from wwylele/teakra-new
...
audio: implement DSP LLE
2019-01-11 16:45:00 +01:00
Valentin Vanelslande
62b40e9155
Merge branch 'master' into profiles
2019-01-07 10:39:44 -05:00
Weiyi Wang
941d241e7d
Merge pull request #4537 from RicBent/master
...
Added Debug/GPIO14 Buttons
2019-01-07 10:07:31 -05:00
Weiyi Wang
895936360b
network: remove cpp-jwt library dependency
...
This is not used anywhere in in the module
2018-12-31 23:23:09 -05:00
Valentin Vanelslande
df02ea48d2
minor ui changes
2018-12-29 19:28:56 -05:00
Valentin Vanelslande
64b992487e
fix regression
2018-12-29 16:23:33 -05:00
Valentin Vanelslande
dce82fa005
move comment
2018-12-29 13:15:31 -05:00
Valentin Vanelslande
57f224fc50
fix clang-format
2018-12-29 09:31:03 -05:00
RicBent
707bc48440
Added new buttons to movie system
2018-12-29 08:19:59 -06:00
Valentin Vanelslande
3d00beb9d5
add a comment, rename old index
2018-12-29 09:19:45 -05:00
Valentin Vanelslande
e7b1a1d5c8
fix clang-format
2018-12-29 09:04:43 -05:00
Valentin Vanelslande
60d1822206
if to clamp
2018-12-29 08:39:30 -05:00
Valentin Vanelslande
5a14af5f38
address some comments
2018-12-29 08:27:06 -05:00
Pengfei Zhu
5a4c7c32d8
Update src/citra_qt/configuration/config.cpp
...
Co-Authored-By: valentinvanelslande <valentinvanelslandeacnl@gmail.com>
2018-12-29 08:14:37 -05:00
Mat M
ec7a3fb72c
Update src/core/settings.h
...
Co-Authored-By: valentinvanelslande <valentinvanelslandeacnl@gmail.com>
2018-12-28 23:33:40 -05:00
Valentin Vanelslande
8e614c3eb0
clang-format; address one comment
2018-12-28 23:31:55 -05:00
Weiyi Wang
fbd0944a5a
Merge pull request #4512 from FearlessTobi/port-1902
...
Port yuzu-emu/yuzu#1902 : "audio_core: Make g_sink_details internally linked"
2018-12-28 22:55:08 -05:00
Valentin Vanelslande
860860397b
more fixes
2018-12-28 21:26:50 -05:00
Valentin Vanelslande
39140bbff8
another fix
2018-12-28 21:24:01 -05:00
Valentin Vanelslande
16ebb38b4a
more fixes
2018-12-28 21:23:43 -05:00
Valentin Vanelslande
e420fb666f
another fix
2018-12-28 21:15:18 -05:00
Valentin Vanelslande
6d0c50dfec
more fixes
2018-12-28 21:14:44 -05:00
Valentin Vanelslande
bf93b94658
fixes
2018-12-28 21:13:57 -05:00
Mat M
90965525ac
Apply suggestions from code review
...
Co-Authored-By: valentinvanelslande <valentinvanelslandeacnl@gmail.com>
2018-12-28 21:00:09 -05:00
Valentin Vanelslande
7c95032e3a
Add multiple input profile support
...
Only supported in the Qt frontend.
2018-12-28 20:28:45 -05:00
RicBent
6ad609a539
Added GPIO14 button and UI config buttons
2018-12-28 17:13:37 -06:00
RicBent
7c007eac24
Fixed coding style
2018-12-28 15:13:16 -06:00
RicBent
446b614409
Removed unnecessary debug key abbreviations
2018-12-28 13:33:54 -06:00
RicBent
403d2f0058
Added Debug Button
2018-12-28 12:47:50 -06:00
Pengfei Zhu
3989c17cb0
Merge pull request #4531 from lioncash/mem
...
core/memory: Remove unnecessary memory zeroing in MemorySystem::Impl
2018-12-27 22:29:20 +08:00
Lioncash
432e847c24
core/memory: Remove unnecessary memory zeroing in MemorySystem::Impl
...
std::make_unique for arrays is equivalent to doing:
std::unique_ptr<T>(new typename std::remove_extent<T>::type[size]())
(note the ending () after the array size specifier). This means that the
default value within memory for the constructed types will be whatever
the default constructor for that type does. Given the built-in
type for std::uint8_t doesn't have a constructor, this is equivalent to
forcing zero-initialization, so the memory will already be zeroed out on
construction. Because of that, there's no need to zero it out again.
2018-12-27 00:35:53 -05:00
Lioncash
d2aac218a6
renderer_opengl: Correct forward declaration of FramebufferLayout
...
This is actually a struct, not a class, which can lead to compilation
warnings.
2018-12-27 02:48:05 +01:00
Weiyi Wang
3ede436053
Merge pull request #4489 from FearlessTobi/port-ui-stuff
...
Port QT interface changes from yuzu.
2018-12-21 20:52:14 -05:00
Weiyi Wang
443f4b964d
DSP/LLE: add multithread mode
2018-12-21 20:49:24 -05:00
Weiyi Wang
fbad420240
Common/Barrier: add method to get current generation
2018-12-21 20:49:24 -05:00
Weiyi Wang
969dc3b46f
Update teakra and address more comments
2018-12-21 20:49:23 -05:00
Weiyi Wang
05c372bf6c
Update teakra to fix macos issue; address comment feedbacks
2018-12-21 20:49:23 -05:00
Weiyi Wang
67213ca855
audio_core/lle: link ahbm and audio callback
2018-12-21 20:49:22 -05:00
Weiyi Wang
21da135cc6
Configuration: add option to use DSP LLE
2018-12-21 20:49:22 -05:00
Weiyi Wang
483680a124
audio_core/lle: only process pipe signal after loading
2018-12-21 20:49:22 -05:00
Weiyi Wang
92e5c51adb
Service/DSP: implement semaphore event
2018-12-21 20:49:22 -05:00
Weiyi Wang
6f6ffceec4
audio_core/hle,lle: implement UnloadComponent
2018-12-21 20:49:21 -05:00
Weiyi Wang
9b41e6f85f
audio_core/lle: implement LoadComponent
2018-12-21 20:49:21 -05:00
Weiyi Wang
4add509b20
audio_core/hle: move implementation of LoadComponent
2018-12-21 20:49:21 -05:00
Weiyi Wang
9ab4e3c686
audio_core/lle: implement GetDspMemory and SetServiceToInterrupt
2018-12-21 20:49:21 -05:00
Weiyi Wang
df8aaee965
DSP_DSP: avoid global in ReadPipe
2018-12-21 20:49:20 -05:00
Weiyi Wang
5c13eca700
audio_core/lle: implement PipeRead/GetPipeReadableSize
2018-12-21 20:49:20 -05:00
Weiyi Wang
daf23eca2e
DSP_DSP: avoid global in WriteProcessPipe
2018-12-21 20:49:20 -05:00
Weiyi Wang
e40efbf37b
audio_core/lle: implement PipeWrite
2018-12-21 20:49:20 -05:00
Weiyi Wang
c9736b3300
audio_core/hle,lle: implement SetSemaphore
2018-12-21 20:49:20 -05:00
Weiyi Wang
4671ccf416
audio_core/lle: implement RecvDataIsReady
2018-12-21 20:49:19 -05:00
Weiyi Wang
14eb3561de
audio_core/hle: move implementation of RecvDataIsReady
2018-12-21 20:49:19 -05:00
Weiyi Wang
b609753fb6
audio_core/lle: implement RecvData
2018-12-21 20:49:19 -05:00
Weiyi Wang
7f568a3c19
DSP/HLE: move implementation of RecvData to audio_core, behind common interface
2018-12-21 20:49:19 -05:00
Weiyi Wang
6d51d95d44
audio_core: add teakra and lle interface
2018-12-21 20:49:18 -05:00
Pengfei Zhu
eabc9727d8
Merge pull request #4468 from citra-emu/multiplayer-v4/main
...
Multiplayer version 4
2018-12-22 09:45:28 +08:00
Weiyi Wang
83e3e30d0e
Merge pull request #4496 from wwylele/smd-fix
...
gl_rasterizer_cache/MortonCopy: avoid read/write to invalid address
2018-12-19 19:46:10 -05:00
Weiyi Wang
5c75974909
Merge pull request #4500 from wwylele/sync-cache
...
Memory: sync rasterizer cache mark to fix LLE applet crash
2018-12-19 19:45:48 -05:00
zhupengfei
7a379ee03a
citra_qt/multiplayer: Add `View Profile` option
...
Adds an UI action to navigate to the user's profile located in Citra Community.
2018-12-18 22:07:42 +08:00
Weiyi Wang
29548bbe86
Merge pull request #4511 from FearlessTobi/port-1871
...
Port yuzu-emu/yuzu#1871 : "yuzu/wait_tree: Pass QString by value and std::move in the initializer list for WaitTreeText"
2018-12-17 00:02:42 -05:00
zhupengfei
4df4b90795
citra_qt/multiplayer: Change style for pinged messages a bit
...
To allow it to be seen more clearly in dark themes
2018-12-16 23:08:47 +08:00
danman447
66a4f8a9d0
(QLabel)_is_already_in_use-Correct_Auto_Default
2018-12-16 11:16:05 +00:00
zhupengfei
4574bd1e5c
web_service: Change endpoint to `/lobby`.
...
Preparation for shipping.
2018-12-16 10:48:42 +08:00
Lioncash
90082268dc
audio_core: Make g_sink_details internally linked
...
We can hide the direct array from external view and instead provide
functions to retrieve the necessary info. This has the benefit of
completely hiding the makeup of the SinkDetails structure from the rest
of the code.
Given that this makes the array hidden, we can also make the array
constexpr by altering the members slightly. This gets rid of several
static constructor calls related to std::vector and std::function.
Now we don't have heap allocations here that need to occur before the
program can even enter main(). It also has the benefit of saving a
little bit of heap space, but this doesn't matter too much, since the
savings in that regard are pretty tiny.
2018-12-16 02:44:04 +01:00
Lioncash
c2790a3f86
yuzu/wait_tree: Pass QString by value and std::move in the initializer list for WaitTreeText
...
Just a trivial modernization that potentially avoids copying strings in certain scenarios.
2018-12-16 01:18:06 +01:00
zhupengfei
13ec2abbf6
network: Make citra mods optional and disabled by default
...
To avoid extra legal responsibility, this should actually only be used on our self-hosted rooms.
2018-12-15 22:47:07 +08:00
zhupengfei
9d062d63da
network, citra_qt: Give moderation permission to community mods
...
Based on the `roles` payload in the JWT, the rooms will now give mod permission to Citra Community Moderators. To notify the client of its permissions, a new response, IdJoinSuccessAsMod is added, and there's now a new RoomMember::State called Moderator.
2018-12-15 20:28:03 +08:00
zhupengfei
94be4050bc
network/packet: Fix reading vectors/arrays of strings
...
Previously would break here, as it is trying to initialize a string with 0, which is then considered NULL.
2018-12-15 14:37:23 +08:00
zhupengfei
8b8b39ec0e
citra_qt/multiplayer: Add user ping support
...
The user would be notified if the message contains "@" followed by the user's nickname or forum username. An alert would be shown, and the icon and message in the status bar would be changed. All notification is only shown if the chat window currently does not have focus.
Also added a connected_notification icon for showing in the status bar.
2018-12-15 11:03:35 +08:00
zhupengfei
6feeaed77e
citra: add errors callback and add status message types
2018-12-15 11:03:35 +08:00
zhupengfei
bd29f1facb
dedicated_room: load and save ban list
...
The ban list is stored in a format so-called CitraRoom-BanList-1 and just first stores username ban list, one entry per line, then an empty line and then store the ip ban list.
2018-12-15 11:03:34 +08:00
zhupengfei
deb398d190
citra_qt: Save ban list for room hosting
2018-12-15 11:03:33 +08:00
zhupengfei
15540df140
citra_qt/multiplayer/chat_room: Add moderation to context menu
2018-12-15 11:03:33 +08:00
zhupengfei
6359b6094c
citra_qt: Add a moderation dialog
...
The dialog currently supports accessing the ban list and removing entries from it.
2018-12-15 11:03:32 +08:00
zhupengfei
7acd2664dd
network/room_member: Add moderation functions
...
To allow for passing moderation errors around without impacting the State, this commit also separates the previous State enum into two enums: State, and Error. The State enum now only contains generic states like disconnected or connected, and the Error enum describes the specific error happened.
citra_qt/multiplayer/{state, message} is changed accordingly.
2018-12-15 11:03:31 +08:00
zhupengfei
38f86cce94
network/room: Moderation implementation
...
Currently consist of 4 moderation commands (kick, ban, unban and get ban list).
2018-12-15 11:03:28 +08:00
zhupengfei
6c29d441f4
multiplayer: fix "Connected" message not appearing on first connection
2018-12-15 11:03:10 +08:00
zhupengfei
0823d8e009
citra: add status messages and fix missing errors
2018-12-15 11:03:09 +08:00
zhupengfei
0319e51960
multiplayer: Add status message for user joining/leaving
...
The room server is now able to send a new type of packet: IdStatusMessage which is parsed and displayed by the client.
2018-12-15 11:03:06 +08:00
zhupengfei
386bf5c861
citra_qt: Use the new verify backend; UI changes
...
Displayed username along with nickname (when they are not identical); Requested and displayed user's avatar; Made the dialog bigger for extended names.
Added a few functions to web_backend (GetImage, GetPlain) to support getting data in multiple content-types.
Added a no_avatar icon for users without avatars.
2018-12-15 11:02:54 +08:00
zhupengfei
4906c8ce7b
citra-room: Add verify backend and use new announce api
2018-12-15 11:02:53 +08:00
zhupengfei
e04f75e1bf
web_backend: added GetExternalJWT function
...
To support requesting external JWTs to use them as verification tokens.
2018-12-15 11:02:53 +08:00
zhupengfei
ab335ccf1b
core, web_service: Changes to announce service
...
Separated registering and updating to correspond to the new announce API endpoint. Also added a verify_UID for JWT audience verification.
2018-12-15 11:02:52 +08:00
zhupengfei
1a8841f96e
network, web_service: Add Verification backend and use new lobby API
...
Added verify_backend to load user_data for members. and removed method to generate UID as this is now done server-side.
Added GetUsername function and a "token" param to room_member.
Also added a username to ChatEntry, so that the username can be shown (along with nicknames) in the chat dialog.
2018-12-15 11:02:51 +08:00
adityaruplaha
5f0e189238
Add Support for Room Descriptions
2018-12-15 11:02:50 +08:00
zhupengfei
c396e3c6e5
network: check Console ID conflicts
...
As Console ID can be sensitive data sometimes, this implementation sent a SHA256 hash of it instead.
2018-12-15 11:02:47 +08:00
zhupengfei
3c589f473f
multiplayer: check nickname regex server side
2018-12-15 10:40:27 +08:00
James Rowe
e040bc9355
Multiplayer: Send an error message when connecting to a full room
2018-12-15 10:40:26 +08:00
zhupengfei
a9c9ffd32c
network: bump multiplayer version
2018-12-15 10:40:25 +08:00
Pengfei Zhu
d2003dae4a
Merge pull request #4498 from valentinvanelslande/patch-2
...
host_room: change minimum members to 2
2018-12-15 09:39:11 +08:00
Weiyi Wang
9293760d0a
Core, test: perform kernel and memory destruction in the correct order
...
The change in test is temporary due to it accessing global state
2018-12-10 23:29:08 -05:00
Weiyi Wang
b49f2d2958
APT: enable LLE applet
2018-12-10 22:25:02 -05:00
Weiyi Wang
bf2056f12e
Memory: apply rasterizer cache mark to all page tables and the global marker
2018-12-10 22:21:03 -05:00
Weiyi Wang
88161b8ac6
Memory: register page tables into a list for rasterizer cache marking
2018-12-10 22:13:10 -05:00
Weiyi Wang
9d616e5951
Memory: mark pages on mapping if it is already rasterizer-cached
2018-12-10 22:05:28 -05:00
Weiyi Wang
643b7d4dcb
Memory: move memory setup into MemorySystem
2018-12-10 22:01:09 -05:00
Weiyi Wang
e7a3c296c3
Memory: create rasterizer cache marker
2018-12-10 21:43:39 -05:00
Valentin Vanelslande
599e60f80b
host_room: change minimum members to 2
...
the minimum for dedicated_room is 2.
2018-12-10 15:39:52 -05:00
Valentin Vanelslande
1ec7c951a8
dedicated_room: allow maximum members = 254
...
Without this change, it will not accept 254 but it will say that the maximum is 254.
2018-12-10 14:21:32 -05:00
Weiyi Wang
07d6d90bb3
gl_rasterizer_cache/MortonCopy: avoid read/write to invalid address
2018-12-09 13:20:44 -05:00
fearlessTobi
5a625fe945
yuzu/game_list_worker: Move std::string construction after the termintion check in callbacks
...
Avoids potentially allocating a std::string instance when it isn't
needed.
2018-12-09 15:51:19 +01:00
Lioncash
5840943110
yuzu/configuration: Make slots private where applicable
...
These slots are only ever attached to event handling mechanisms within
the class itself, they're never used externally. Because of this, we can
make the functions private.
This also removes redundant usages of the private access specifier.
2018-12-09 15:51:19 +01:00
Lioncash
d87961bad3
yuzu/configuration: Add missing override specifiers to configuration-related classes
...
Resolves trivial compiler warnings.
2018-12-09 15:51:19 +01:00
Lioncash
9c0c817e6f
yuzu/configuration/configure_input: Default destructor in the cpp file
...
The previous code could potentially be a compilation issue waiting to
occur, given we forward declare the type for a std::unique_ptr. If the
complete definition of the forward declared type isn't visible in a
translation unit that the class is used in, then it would fail to
compile.
Defaulting the destructor in a cpp file ensures the std::unique_ptr's
destructor is only invoked where its complete type is known.
2018-12-09 15:51:08 +01:00
Lioncash
dd2cbca3f4
hle/service: Remove unnecessary using declarations
...
Only one usage of the specified objects made use of the lack of
namespacing. Given the low usage, we can just remove these.
2018-12-08 14:52:30 +01:00
Lioncash
a32725540c
hle/service, hle/sm: Use structured bindings where applicable
...
Gets rid of the need to keep the variables separate from their actual
initialization spots.
2018-12-08 14:49:53 +01:00
Lioncash
0cb7654d60
hle/service, hle/sm: Use structured bindings where applicable
...
Gets rid of the need to keep the variables separate from their actual
initialization spots.
2018-12-08 14:48:01 +01:00
Bartosz Kaszubowski
7aeb4e29c2
remove border from GameList
2018-12-07 16:33:05 +01:00
bunnei
edbdbf0ba1
Merge pull request #4480 from wwylele/memory-global-2
...
Memory: eliminate global state
2018-12-06 19:17:28 -05:00
Weiyi Wang
556ac5c075
Merge pull request #4469 from shutterbug2000/httpAddSet
...
Add HTTP_C::AddPostDataAscii
2018-12-06 14:28:56 -05:00
Weiyi Wang
b9f7c9142a
Merge pull request #4476 from FearlessTobi/fix-testcase-sending
...
web_service: move telemetry condition from TelemetrySession constructor to destructor
2018-12-06 14:28:21 -05:00
Weiyi Wang
23bad5d398
fix clang-format
2018-12-06 13:30:58 -05:00
Weiyi Wang
7e8ba6ed8e
Memory: move memory chunk into pImpl and make them dynamically allocated
...
Otherwise MSVC would give out-of-memory error on compile time
2018-12-06 13:30:47 -05:00
Weiyi Wang
ac1cda21c3
Address code style comments
2018-12-05 20:24:37 -05:00
Weiyi Wang
e87dc17da2
Pass system into arm interpreter; fix tests
2018-12-05 20:21:14 -05:00
Weiyi Wang
c6b3186475
Memory: IsValidVirtualAddress can be global
2018-12-05 20:21:14 -05:00
Weiyi Wang
42edab01d9
Memory: move states into class
2018-12-05 20:21:14 -05:00
Weiyi Wang
d18cda5a5d
Memory: move MarkRegionCached into class
2018-12-05 20:21:14 -05:00
Weiyi Wang
2582d64fb3
Memory: move block operations into class
2018-12-05 20:21:14 -05:00
Weiyi Wang
323990d402
Memory: move Read/Write8/16/32/64 and ReadCString into class
2018-12-05 20:21:14 -05:00
Weiyi Wang
1ec9ed6827
LDR_RO: pass memory in CROHelper
2018-12-05 20:21:14 -05:00
Weiyi Wang
76e0a4ece7
Memory: move GetPointer into class
2018-12-05 20:21:14 -05:00
Weiyi Wang
405218c3a7
Memory: move IsValidVirtualAddress into class
2018-12-05 20:21:14 -05:00
Weiyi Wang
296c458e0e
Memory: move GetPhysicalPointer and IsValidPhysicalAddress into class
2018-12-05 20:21:14 -05:00
Weiyi Wang
cfee59c6db
hw/gpu: pass in memory reference
2018-12-05 20:16:42 -05:00
Weiyi Wang
ec01975549
audio_core: pass in memory reference
...
Because HLE::Source is initialized as an array in the member initializer, it is hard to let it accept the reference on ctor, so it has a second init stage performed by DspHle::Impl::Impl
2018-12-05 20:16:42 -05:00
Weiyi Wang
8bb404c82a
VideoCore: pass in memory system
...
currently set as global. Will change when videocore itself is wrapped as a class
2018-12-05 20:16:42 -05:00
Weiyi Wang
8c618c3fc3
Memory: move PageTable functions into class
2018-12-05 20:16:42 -05:00
Weiyi Wang
b199b7ada9
Memory: move GetFCRAMOffset into MemorySystem
2018-12-05 20:16:42 -05:00
Weiyi Wang
8118be6615
Kernel: pass in MemorySystem
2018-12-05 20:16:42 -05:00
Weiyi Wang
6992f76acf
Memory: create MemorySystem class
2018-12-05 20:16:42 -05:00
Francois Berder
c598fd7228
renderer_opengl: Fix string comparison
...
Signed-off-by: Francois Berder <fberder@outlook.fr>
2018-12-04 22:12:35 +00:00
Pengfei Zhu
cd80a0df8c
Merge pull request #4418 from FearlessTobi/port-1441
...
Port yuzu-emu/yuzu#1441 : "logging: Add DebuggerBackend for logging to Visual Studio"
2018-12-04 22:20:41 +08:00
RoadrunnerWMC
008ef1fd71
DSP: Add a comment about physical address masking
...
See @wwylele's comment on PR 4483 for more details on what causes this behavior.
2018-12-03 12:22:11 -07:00
RoadrunnerWMC
3aff585f32
DSP: Add address mask for physical pointers to audio data buffers
...
Hardware testing indicated that FFFFFFFC is the correct mask for all audio formats (mono and stereo PCM8, mono and stereo PCM16, and ADPCM). This fixes broken audio in Luigi's Mansion: Dark Moon and a few other games.
2018-12-03 01:07:55 -07:00
Weiyi Wang
76944ec0e0
Merge pull request #4279 from FearlessTobi/better-mii-stub
...
applets: stub mii selector to always return a standard mii
2018-12-01 19:41:21 -05:00
Carl Kenner
3d083859c1
logging: Add DebuggerBackend for logging to Visual Studio
2018-12-01 12:54:17 +01:00
fearlessTobi
630e3d6dea
web_service: move telemetry condition from TelemetrySession constructor to destructor
...
Fixes an issue where Testcases couldn't be sent when Telemetry was disabled, because both things are tied closely together in the backend.
2018-11-30 19:01:05 +01:00
zhupengfei
1970178cc0
citra_qt: rename the menu to Tools
...
Also made Movie a sub-menu of Tools.
2018-11-30 14:14:41 +08:00
zhupengfei
071b41cb61
citra_qt, video_core: Screenshot functionality
...
Allows capturing screenshot at the current internal resolution (native for software renderer), but a setting is available to capture it in other resolutions. The screenshot is saved to a single PNG in the current layout.
2018-11-30 14:14:41 +08:00
Weiyi Wang
7e90abec78
Merge pull request #4442 from wwylele/memory-no-kernel
...
Memory: decouple from Kernel
2018-11-28 11:24:41 -05:00
Weiyi Wang
b37d3be34e
Merge pull request #4458 from FearlessTobi/port-1773
...
Port yuzu-emu/yuzu#1773 : "common/thread: Minor cleanup"
2018-11-28 11:07:48 -05:00
fearlessTobi
48239be22c
mii_selector: Use BitField where possible
2018-11-27 14:57:51 +01:00
Weiyi Wang
2678c1a945
Merge pull request #4462 from FearlessTobi/fix-my-shit
...
ir_user: Remove ArrayToString() calls
2018-11-26 14:43:07 -05:00
fearlessTobi
5121fadb4f
ir:/movie: Replace for-loops with fmt::join
2018-11-26 20:04:18 +01:00
shutterbug2000
a7bbe60c18
Put AddPostDataAscii in the function list
2018-11-25 15:47:37 -06:00
shutterbug2000
4c198591d5
Add HTTP_C::AddPostDataAscii
2018-11-25 15:29:04 -06:00
Lioncash
067f09b41d
kernel/shared_memory: std::move the string parameter in SetName()
...
This avoids a potential reallocation.
2018-11-24 10:07:11 -05:00
fearlessTobi
fe99e5a51e
mii_selector: map raw data to the MiiResult struct
2018-11-24 14:35:06 +01:00
Weiyi Wang
210e558bea
Merge pull request #4456 from FearlessTobi/port-1767
...
Port yuzu-emu/yuzu#1734 and yuzu-emu/yuzu#1767 : Minor changes to "kernel"
2018-11-24 00:04:42 -05:00
bunnei
9bd7379cc6
Merge pull request #4454 from FearlessTobi/port-1758
...
Port yuzu-emu/yuzu#1758 : "common/math_util: Minor cleanup"
2018-11-23 23:15:40 -05:00
bunnei
dc16ba009e
Merge pull request #4444 from FearlessTobi/port-1684
...
Port yuzu-emu/yuzu#1684 : "common/string_util: Minor cleanup"
2018-11-23 23:13:39 -05:00
Lioncash
00564bdb6f
common/thread: Drop Hungarian notation on SetCurrentThreadName's parameter
...
This is inconsistent with our coding style.
2018-11-23 18:23:06 +01:00
Lioncash
255d46e6ee
common/thread: Make Barrier's 'count' member non-const
...
While admirable as a means to ensure immutability, this has the
unfortunate downside of making the class non-movable. std::move cannot
actually perform a move operation if the provided operand has const data
members (std::move acts as an operation to "slide" resources out of an
object instance). Given Barrier contains move-only types such as
std::mutex, this can lead to confusing error messages if an object ever
contained a Barrier instance and said object was attempted to be moved.
2018-11-23 18:22:30 +01:00
Lioncash
4f0ec03c97
common/thread: Initialize class member variables where applicable
...
Simplifies the constructor interfaces for Barrier and Event classes.
2018-11-23 18:22:14 +01:00
Lioncash
9cbcc70c9b
common/thread: Group non-member functions together
...
Keeps the non-member interface in one spot instead of split into two
places, making it nicer to locate functions.
2018-11-23 18:22:05 +01:00
Lioncash
a7a319cfd1
common/thread: Remove SleepCurrentThread()
...
This is also unused and superceded by standard functionality. The
standard library provides std::this_thread::sleep_for(), which provides
a much more flexible interface, as different time units can be used with
it.
2018-11-23 18:21:59 +01:00
Lioncash
61eafcee98
common/thread: Remove unused CurrentThreadId()
...
This is an old function that's no longer necessary. C++11 introduced
proper threading support to the language and a thread ID can be
retrieved via std::this_thread::get_id() if it's ever needed.
2018-11-23 18:21:45 +01:00
Lioncash
86c36cb176
kernel/shared_memory: Make Map() and Unmap() take the target process by reference rather than as a pointer
...
Both member functions assume the passed in target process will not be
null. Instead of making this assumption implicit, we can change the
functions to be references and enforce this at the type-system level.
2018-11-23 17:00:12 +01:00
Lioncash
0f544af89a
kernel/shared_memory: Add a const qualified member function overload for GetPointer()
...
Given this doesn't mutate instance state, we can provide a
const-qualified variant as well.
2018-11-23 16:38:18 +01:00
Lioncash
1cb9bea504
kernel/shared_memory: Make data members private
...
Rather than allow unfettered access to the class internals, we hide all
members by default and create and API that other code can operate
against.
2018-11-23 16:20:18 +01:00
Lioncash
662c3ff684
kernel/handle_table: Move private static functions into the cpp file
...
These don't depend on class state, and are effectively implementation
details, so they can go into the cpp file .
2018-11-23 15:58:12 +01:00
Lioncash
83f6e9ea72
kernel/handle_table: Default destructor in the cpp file
...
We don't need to potentially inline the teardown logic of all of the
handle instances.
2018-11-23 15:58:07 +01:00
Lioncash
d37c826097
common/math_util: Simplify std::make_signed usages to std::make_signed_t
...
Gets rid of the need to use typename to access the ::type alias.
2018-11-23 15:01:05 +01:00
Lioncash
8d169a4bfa
common/math_util: Make Rectangle's constructors constexpr
...
Allows objects that contain rectangle instances to be constexpr
constructible as well.
2018-11-23 15:00:59 +01:00
Lioncash
bf8f7f0ab6
common/math_util: Remove unnecessary static from PI
...
const/constexpr variables have internal linkage by default.
2018-11-23 15:00:52 +01:00
Lioncash
2787d1230b
common/math_util: Remove unused IntervalsIntersect() function
...
This hasn't been used since the project started, so we may as well get
rid of it to keep it from bit rotting.
2018-11-23 15:00:47 +01:00
BreadFish64
f4472a10e6
core: undef PAGE_SIZE and PAGE_MASK
...
these are defined a system header which causes complications when building for android
2018-11-20 14:24:19 -05:00
BreadFish64
6609ff83a7
android: set up cmake
2018-11-20 14:24:19 -05:00
fearlessTobi
fc51a6fd08
Fix functions which used Common::ArrayToString
2018-11-20 15:05:54 +01:00
Weiyi Wang
a854b23d9b
RPC: add missing include
2018-11-19 11:16:55 -05:00
Weiyi Wang
679dfd7cdf
Memory: remove CopyBlock with current process
2018-11-19 11:16:55 -05:00
Weiyi Wang
185a83f06d
Memory: remove ZeroBlock with current process
2018-11-19 11:16:55 -05:00
Weiyi Wang
4e99641a3b
Memory: remove WriteBlock with current process
2018-11-19 11:16:55 -05:00
Weiyi Wang
8871f5a4ac
Memory: remove ReadBlock with current process
2018-11-19 11:16:55 -05:00
Weiyi Wang
524364d95a
ldr_ro: pass process reference to memory operation
...
Note that not all memory operation is fixed. Specifically, u8/u16/u32 Read/Write is still using the current page tabel
2018-11-19 11:16:55 -05:00
Weiyi Wang
d4ba87d90a
Memory: remove GetMMIOHandler with current process
2018-11-19 11:16:55 -05:00
Weiyi Wang
7308b8d294
Memory: remove IsValidVirtualAddress with current process
2018-11-19 11:16:55 -05:00
Weiyi Wang
36cf104a02
Memory: replace GetPointerFromVMA with GetPointerForRasterizerCache
...
All usage of GetPointerFromVMA is to recover the pointer that is nulled by changing page type to RasterizerCachedMemory. Our rasterizer cache only works on linear heap and vram, so we can recover the pointer directly by address computation, instead of going through VMA table. Also removed a sanity check pointer!=nullptr in RasterizerMarkRegionCached(RasterizerCachedMemory=>Memory), as now the pointer is never null. The sanity check was added in f2a5a77
(#2797 ), which was originally necessary during VMA unmapping process, because the function is invloked by VMA after unmapping the page, which in turn invokes back to query the memory, forming a circular dependency. Now the dependency is resolved so the check is not necessary
2018-11-19 11:16:55 -05:00
Weiyi Wang
2b768da531
Merge pull request #4433 from wwylele/vmmanager-simple
...
VMManager: remove shared_ptr<vector> backing type
2018-11-19 11:13:22 -05:00
Weiyi Wang
a7d6bc4e84
Merge pull request #4441 from FearlessTobi/port-1688
...
Port yuzu-emu/yuzu#1688 : "service: Mark MakeFunctionString with the [[maybe_unused]] attribute."
2018-11-19 11:10:51 -05:00
Weiyi Wang
803f783f07
Merge pull request #4427 from wwylele/query-memory-merge
...
SVC: QueryMemory merges similar VMA
2018-11-19 11:10:15 -05:00
Weiyi Wang
471b4cf44f
Merge pull request #4436 from wwylele/p2ptr-boundary
...
Memory: GetPhysicalPointer should accept right open bound address
2018-11-19 11:05:42 -05:00
Weiyi Wang
0d96c0b44e
Merge pull request #4439 from FearlessTobi/actually-port-1649
...
Port yuzu-emu/yuzu#1649 and yuzu-emu/yuzu#1653 : Changes to gl_resource_manager and gl_rasterizer
2018-11-19 11:05:10 -05:00
Weiyi Wang
1bc253f1be
Merge pull request #4353 from zaksabeast/ips-patches
...
Add IPS patching
2018-11-18 13:39:41 -05:00
Sebastian Valle
b1fa9c0a7c
Merge pull request #4434 from wwylele/shared-memory-state
...
Kernel/SharedMemory: set and reset source memory state
2018-11-18 12:23:21 -05:00
B3N30
2f3142e192
Fix 16bit comparison operations
2018-11-18 14:37:11 +01:00
Lioncash
39fcc3a589
service: Mark MakeFunctionString with the [[maybe_unused]] attribute.
...
When yuzu is compiled in release mode this function is unused, however,
when compiled in debug mode, it's used within a LOG_TRACE statement.
This prevents erroneous compilation warnings about an unused function
(that isn't actually totally unused).
2018-11-17 16:41:10 +01:00
Markus Wick
62036bdea8
gl_rasterizer_cache: Add profiles for Copy and Blit
...
They were missed, and Copy is very high in profile here. It doesn't block the GPU,
but it stalls the driver thread. So with our bad GL instructions, this might block quite a while.
2018-11-17 15:11:56 +01:00
Markus Wick
2b793797e0
gl_resource_manager: Profile creation and deletion
2018-11-17 15:07:30 +01:00
Markus Wick
79696a1a43
gl_stream_buffer: Profile orphaning of stream buffer.
...
This serialize to the driver thread and so it may block for a while.
So if it is in the benchmark, we get noticed if it happens too often.
2018-11-17 15:03:20 +01:00
Markus Wick
392547a97c
gl_resource_manager: Split implementations in .cpp file
...
Those implementations are quite costly, so there is no need to inline them to the caller.
Ressource deletion is often a performance bug, so in this way, we support to add breakpoints to them.
2018-11-17 15:01:40 +01:00
bunnei
d3b1b5f22c
Merge pull request #4398 from zhaowenlan1779/config-fix
...
citra_qt/configuration: fix language configuration issues
2018-11-16 23:33:50 -08:00
bunnei
11baf7ac13
Merge pull request #4419 from FearlessTobi/port-1639
...
Port yuzu-emu/yuzu#1639 : "qt: Add help option to open yuzu folder"
2018-11-16 23:29:59 -08:00
Tobias
46e8237e7e
Port yuzu-emu/yuzu#1137: "renderer_opengl: Namespace OpenGL code" ( #4423 )
...
* renderer_opengl: Namespace OpenGL code
Namespaces all OpenGL code under the OpenGL namespace.
Prevents polluting the global namespace and allows clear distinction
between other renderers' code in the future.
* Also namespace TextureCubeConfig
2018-11-16 23:29:10 -08:00
bunnei
7f727177bf
Merge pull request #4431 from wwylele/no-v2p
...
Memory: remove VirtualToPhysicalAddress
2018-11-16 23:28:33 -08:00
Weiyi Wang
4d1c4f898b
Merge pull request #4324 from BreadFish64/android1
...
android: add initial android app
2018-11-16 21:40:57 -05:00
Ben
b90ff739a0
Add CheatEngine and support for Gateway cheats ( #4406 )
...
* Add CheatEngine; Add support for Gateway cheats; Add Cheat UI
* fix a potential crash on some systems
* fix substr with negative length
* Add Joker to the NonOp comp handling
* Fixup JokerOp
* minor fixup in patchop; add todo for nested loops
* Add comment for PadState member variable in HID
* fix: stol to stoul in parsing cheat file
* fix misplaced parsing of values; fix patchop code
* add missing break
* Make read_func and write_func a template parameter
2018-11-16 18:01:10 -07:00
Weiyi Wang
95bbe2302b
Kernel/IPC: fix mapped buffer target address
2018-11-16 19:47:16 -05:00
Weiyi Wang
365eeb889f
Memory: GetPhysicalPointer should accept right open bound address
...
Also removed IO region check in GetPhysicalPointer as it doesn't make sense to get a pointer to MMIO
2018-11-16 10:27:30 -05:00
Lioncash
41376cfa26
string_util: Remove ArrayToString()
...
An old function from Dolphin. This is also unused, and pretty inflexible
when it comes to printing out different data types (for example, one
might not want to print out an array of u8s but a different type
instead. Given we use fmt, there's no need to keep this implementation
of the function around.
2018-11-16 15:29:40 +01:00
Lioncash
cab8dc3824
string_util: Remove TryParse()
...
This is an unused hold-over from Dolphin that was primarily used to
parse values out of the .ini files. Given we already have libraries that
do this for us, we don't need to keep this around.
2018-11-16 15:27:35 +01:00
Lioncash
3d0339659a
string_util: Remove ThousandSeparate()
...
This is currently unused and doesn't really provide much value to keep
around either.
2018-11-16 15:27:29 +01:00
Zach Hilman
3a1fe87f6c
qt: Move Open yuzu Folder action from Help to File
2018-11-16 15:24:42 +01:00
Weiyi Wang
d90094e8a7
Service: release shared memory object when finalize
...
Since last commit SharedMemory only reset source memory set on dtor, service should always release the ref as soon as possible to make the reset happen
2018-11-16 00:24:13 -05:00
Weiyi Wang
cfa9a322c7
Kernel/SharedMemory: set and reset source memory state
2018-11-16 00:24:08 -05:00
Weiyi Wang
b6ab4e466b
VMManager: remove all backing block related functions
...
The shared_ptr<vector> type backing memory is unused now, and is not expected to be used in the future
2018-11-16 00:16:13 -05:00
Weiyi Wang
7f9873d7ec
VMManager: change MapMemoryBlockToBase to use raw backing memory
...
And let ServerSession.MappedBufferContext hold the mapped memory
2018-11-16 00:16:13 -05:00
Weiyi Wang
0b8d2ecabe
IPC: store mapped buffer info in session context
...
So that it doesn't have to scan over the request buffer again on reply. This also allow us to store additional info like memory mapping
2018-11-16 00:16:13 -05:00
Weiyi Wang
7a564b904b
tests: use VMManager::MapBackingMemory
2018-11-16 00:16:13 -05:00
Weiyi Wang
560df843b1
Merge pull request #4405 from wwylele/svc-global
...
SVC: new wrapper template & pass system reference across the SVC barrier
2018-11-16 00:07:50 -05:00
Weiyi Wang
a51d7430d7
Merge pull request #4408 from wwylele/ro-map
...
ldr_ro: properly map CRS/CRO buffer
2018-11-16 00:07:33 -05:00
Weiyi Wang
ecc1c575d5
Merge pull request #4426 from wwylele/signed-bitfield
...
Common/Bitfield: store value as unsigned type
2018-11-16 00:07:16 -05:00
Zak Kurka
1ded48f5a3
Merge branch 'master' of github.com:citra-emu/citra into ips-patches
2018-11-15 07:11:18 -06:00
Zak Kurka
896577044d
Remove ApplyIPS from the class and header
2018-11-15 07:11:06 -06:00
BreadFish64
18771f1b61
add test dependencies
2018-11-13 19:54:33 -06:00
BreadFish64
65f033f856
android: create bare application
2018-11-13 19:54:33 -06:00
BreadFish64
8838485b1a
android: add build files
2018-11-13 19:54:32 -06:00
BreadFish64
6b4c40ffd5
android: add basic resources
2018-11-13 19:50:43 -06:00
Weiyi Wang
9e8d149ca7
Memory: remove unused VirtualToPhysical
2018-11-13 11:56:05 -05:00
Weiyi Wang
1388a44c41
GSP: uses a dedicate VirtualToPhysical converter
2018-11-13 11:24:46 -05:00
Weiyi Wang
12daaeedf1
Memory: Use the fixed PAddr directly in RasterizerFlushVirtualRegion
2018-11-13 11:24:46 -05:00
Weiyi Wang
248106d972
Skyeye: unstub cp15 virtual to physical address
2018-11-13 11:24:46 -05:00
Weiyi Wang
b1f55c9cab
Merge pull request #4429 from wwylele/io-size
...
Memory: IO area is at most 4MB
2018-11-13 11:09:14 -05:00
Tobias
34e1250ccc
citra_qt: Add Amiibo hotkeys, notify user of loading errors ( #4387 )
2018-11-13 14:58:05 +01:00
Weiyi Wang
fe47243690
Merge pull request #4413 from wwylele/memory-global
...
Fix shared font addres; Remove global PhysicalToVirtualAddress
2018-11-13 00:14:24 -05:00
Weiyi Wang
194118011a
Memory: IO area is at most 4MB
2018-11-12 15:12:12 -05:00
Weiyi Wang
c57ee36222
SVC: hide details in pimpl
2018-11-12 13:59:34 -05:00
Weiyi Wang
aec8b1e375
SVC: use context and generic templates
2018-11-12 13:59:34 -05:00
Weiyi Wang
28513c5177
ResultCode: use default copy assignment
...
Our definition of the copy assignment is equivalent to the default one, but prevents the type being trivially copyable
2018-11-12 13:59:34 -05:00
Weiyi Wang
d373a6430d
SVC: move function_wrappers.h into kernel
...
It is only used by kernel/SVC
2018-11-12 13:59:34 -05:00
Weiyi Wang
29ade3e610
Process: check source/target overlap for Map/Unmap
2018-11-11 12:39:05 -05:00
Weiyi Wang
3db8915356
ldr_ro: properly map CRS/CRO buffer
2018-11-11 12:39:05 -05:00
Weiyi Wang
617b388354
Kernel/Process: implement prvileged Map/Unmap
...
This is used by svcControlProcessMemory and maps memory as Locked/AliasCode pair.
Also fixed a bug where map didn't apply specified permissions to the alias memory
2018-11-11 12:39:05 -05:00
Ben
f43524fff1
Merge pull request #4415 from wwylele/tls-state
...
Kernel: correct MemoryState for TLS
2018-11-11 17:53:18 +01:00
Weiyi Wang
3d73b8d694
Common/Bitfield: store value as unsigned type
...
Storing signed type causes the following behaviour: extractValue can do overflow/negative left shift. Now it only relies on two implementation-defined behaviours (which are almost always defined as we want): unsigned->signed conversion and signed right shift
2018-11-10 23:42:39 -05:00
Weiyi Wang
5179915fb4
filesys/ncch: prevent buffer overflow on calculating SHA256
2018-11-10 22:58:32 -05:00
Zach Hilman
31c394e9b5
qt: Add help option to open yuzu folder
2018-11-09 17:00:14 +01:00
Weiyi Wang
d0edb81182
Memory: convert PAddr for N3DS FCRAM extension
2018-11-09 10:40:04 -05:00
Weiyi Wang
98ddea4ddd
Kernel: correct MemoryState for TLS
2018-11-09 00:14:13 -05:00
Weiyi Wang
5325388e24
SVC: QueryMemory merges similar VMA
2018-11-08 20:42:21 -05:00
Weiyi Wang
2654a679b3
Memory: replace PhysicalToVirtualAddress with a more dedicated function
...
There is no external use of PhysicalToVirtualAddress any more, so it there is no need to have a generic function that handles all physical regions. Also, the previous APT change makes it possible that linear heap has some regions mapped to old and new VAddr regions at the same time, so we need to check both region and mark cached for the mapped one. RasterizerMarkRegionCached would skip the unmapped one in its loop
2018-11-08 00:19:57 -05:00
Weiyi Wang
8c65433ab5
Kernel, APT: SharedFont/SharedMemoryOnSharedDevice should always use old linear heap VAddr
2018-11-08 00:19:19 -05:00
Valentin Vanelslande
0f4a6e39c9
ldr_ro: change std::tie to structured binding
2018-11-07 13:38:52 -05:00
Weiyi Wang
1444d60109
Merge pull request #4400 from wwylele/core-timing-global
...
CoreTiming: wrap into class
2018-11-06 20:04:56 -05:00
Weiyi Wang
2067946f59
Kernel: reimplement memory management on physical FCRAM ( #4392 )
...
* Kernel: reimplement memory management on physical FCRAM
* Kernel/Process: Unmap does not care the source memory permission
What game usually does is after mapping the memory, they reprotect the source memory as no permission to avoid modification there
* Kernel/SharedMemory: zero initialize new-allocated memory
* Process/Thread: zero new TLS entry
* Kernel: fix a bug where code segments memory usage are accumulated twice
It is added to both misc and heap (done inside HeapAlloc), which results a doubled number reported by svcGetProcessInfo. While we are on it, we just merge the three number misc, heap and linear heap usage together, as there is no where they are distinguished.
Question: is TLS page also added to this number?
* Kernel/SharedMemory: add more object info on mapping error
* Process: lower log level; SharedMemory: store phys offset
* VMManager: add helper function to retrieve backing block list for a range
2018-11-06 15:00:47 -05:00
Weiyi Wang
9458e4d8ec
CoreTiming: wrap into class
2018-11-04 10:26:38 -05:00
Weiyi Wang
2d9dfe5bce
Kernel: thread manager still has to be destructed first
2018-11-04 09:29:28 -05:00
Weiyi Wang
57e1f47a52
Kernel: destruct thread/timer managers after processes ( #4399 )
...
Processes can keep some Thread/Timer object alive while the manager is already destructed, resulting use-after-free in Thread::Stop and Timer::dtor. To resolve this, the manager objects should be destructed after all related object destructed.
Fixes a bug where quiting citra causes crash while the game is using a Timer.
2018-11-04 10:24:37 +01:00
zhupengfei
ab07d44193
citra_qt/configuration: fix language configuration issues
2018-11-03 09:34:01 +08:00
Weiyi Wang
fc84091d88
Service, Kernel: move named port list to kernel
2018-11-01 12:56:40 -04:00
Weiyi Wang
ece96807c4
Kernel: move memory_regions into Kernel instance
2018-11-01 12:56:40 -04:00
Weiyi Wang
263290d48c
HLE: move SharedPage into Kernel
...
similar to config_mem, kernel is responsible for setting up this
2018-11-01 12:56:40 -04:00
Weiyi Wang
773ec47629
Kernel: make config_mem and MapSharedPages members of KernelSystem
2018-11-01 12:56:40 -04:00
Weiyi Wang
95790218f2
HLE: move config_mem to kernel
...
ConfigMem is initialized in kernel and only used by kernel. It is also likely how it works on real 3DS
2018-11-01 11:21:34 -04:00
Weiyi Wang
a753b9c6cc
Merge pull request #4228 from NarcolepticK/lle-mapped-buffer
...
LLE Mapped Buffer: Add unmapping of write buffer, zero-size, and multiple page handling
2018-10-30 19:18:11 -04:00
Weiyi Wang
445538c2cf
Merge pull request #4371 from wwylele/kernel-global-3
...
Kernel: eliminate global state for threads and timers
2018-10-30 00:36:10 -04:00
Weiyi Wang
2183d0d6be
core: use internal kernel pointer directly
2018-10-30 00:35:37 -04:00
Weiyi Wang
bd4beb6558
Merge pull request #4386 from wwylele/codeset-class
...
Kernel/CodeSet: change struct to class
2018-10-30 00:30:50 -04:00
NarcolepticK
c97146226a
LLE Mapped Buffer: Addressed comments.
2018-10-29 18:35:34 -04:00
Weiyi Wang
f63098ccdf
Kernel/CodeSet: change struct to class
...
Fix a warning where class definition and forward declaration mismatch. CodeSet is a kernel object and have ctor/dtor/private members like others, so in convention it should be a class
2018-10-28 10:35:40 -04:00
Weiyi Wang
67888f92e5
Merge pull request #4348 from B3n30/native_firm_keys
...
Load keys from save mode native firm
2018-10-28 10:24:29 -04:00
bunnei
9d05fbbef4
Merge pull request #4369 from FearlessTobi/compat-new
...
compatdb: Use a seperate endpoint for testcase submission
2018-10-28 03:53:10 -04:00
bunnei
3219bdb30d
Merge pull request #4382 from FearlessTobi/reset-defaults
...
configure_general: Add an option to reset defaults
2018-10-28 03:52:10 -04:00
fearlessTobi
96ee82c464
configure_general: Add an option to reset defaults
2018-10-27 22:43:29 +02:00
fearlessTobi
6e6c437a52
applets: stub mii selector to always return a standard mii
...
To obtain the data, the LLEd mii selector of system version 11.8.0 was used.
In AppletManager::GlanceParameter, the following code was added to write the returned buffer data to a file:
if (parameter.buffer.size() == 132) {
std::u16string name(10, '\0');
std::memcpy(name.data(), parameter.buffer.data() + 0x26, 10 * sizeof(u16));
name = std::u16string(name.data());
FileUtil::IOFile file{fmt::format("{}.mii", Common::UTF16ToUTF8(name)), "wb"};
file.WriteBytes(parameter.buffer.data(), parameter.buffer.size());
}
Then "xxd -i" was used on the file to convert it to a hex array.
2018-10-27 12:23:24 +02:00
fearlessTobi
236a7dba7e
Move "Report compatibility" button to Emulation tab
2018-10-27 12:20:03 +02:00
fearlessTobi
b7117bf050
compatdb: Use a seperate endpoint for testcase submission
2018-10-27 12:20:03 +02:00
Weiyi Wang
5b7d21c3cd
FileSys/DelayGenerator: add missing #include and virtual dtor ( #4363 )
...
* FileSys/DelayGenerator: add missing #include and virtual dtor
Added the needed include so that it won't cause error if another file includes this without including the depended files
Deleting a virtual class via base type without virtual dtor is UB, which happens inFileBackend.
* FileSys/DelayGenerator: move function definition into cpp file/n/nTo avoid generating vtable in all units that includes the header file
* filesys/delay_generator: rearrange #include
2018-10-27 12:46:03 +08:00
Weiyi Wang
fa46dbdf0b
Merge pull request #4376 from FearlessTobi/port-1571
...
Port yuzu-emu/yuzu#1571 : "graphic_breakpoints: Correct translation of strings in BreakpointModel's data() function"
2018-10-26 22:40:55 -04:00
Weiyi Wang
724b458a83
Merge pull request #4373 from FearlessTobi/port-1553
...
Port yuzu-emu/yuzu#1553 : "common: Remove memory_util.h/.cpp"
2018-10-26 22:38:18 -04:00
Weiyi Wang
f274340001
Merge pull request #4374 from FearlessTobi/frontend-ports
...
Port various frontend cleanups from yuzu
2018-10-26 22:38:07 -04:00
Weiyi Wang
477cda1a7e
Merge pull request #4364 from wwylele/gl-error-tr
...
citra_qt: fix translation for opengl version error
2018-10-26 22:37:47 -04:00
Weiyi Wang
59cb0ec570
Merge pull request #4359 from FearlessTobi/port-webstuff
...
web_service: Port yuzu-emu/yuzu#1465 and Port yuzu-emu/yuzu#1473 (Many self-contained changes)
2018-10-26 22:34:51 -04:00
fearlessTobi
d28233961b
Put WebResult into a seperate file
2018-10-27 00:39:02 +02:00
fearlessTobi
494d86d083
graphic_breakpoints: Correct translation of strings in BreakpointModel's data() function
...
tr() will not function properly on static/global data like this, as the
object is only ever constructed once, so the strings won't translate if
the language is changed without restarting the program, which is
undesirable. Instead we can just turn the map into a plain old function
that maps the values to their equivalent strings. This is also lessens
the memory allocated, since it's only allocating memory for the strings
themselves, and not an encompassing map as well.
2018-10-27 00:33:31 +02:00
Lioncash
9f6c1b058a
CMakeLists: Use PROJECT_SOURCE_DIR instead of CMAKE_SOURCE_DIR
...
This is more localized to what we want to enforce directory-wise with
the project. CMAKE_SOURCE_DIR indicates the root of the source tree, but
this would cause the wrong behavior if someone included yuzu as part of
a larger buildsystem (for whatever reason). Instead, we want to use the
directory where the "project(yuzu)" command was declared as the root
path reference.
2018-10-27 00:20:52 +02:00
fearlessTobi
446989aaaf
common: Actually remove memory_util.cpp
2018-10-27 00:14:23 +02:00
Lioncash
a74d97b15f
configure_system: Default initialize member variables
...
These should be initialized to deterministic values so it's easier to
catch improper behavior, as it'll always be reproducable, instead of
performing uninitialized reads.
2018-10-27 00:02:27 +02:00
Lioncash
470cc66049
configure_system: Amend function casing
2018-10-27 00:00:43 +02:00
Lioncash
97cdf44ddd
configure_system: Add missing override specifier on the destructor
2018-10-26 23:59:18 +02:00
Lioncash
452cfb46a9
configure_system: Make public slots private
...
These are only used within this class, so we can make them private to
keep their use contained. This also gets rid of the pre-Qt5 'slot'
identifier, since Qt 5's connection syntax doesn't require a function to
be declared a slot anymore.
2018-10-26 23:58:37 +02:00
Lioncash
027197cf1f
bootmanager: Use QStringLiteral instead of std::string to represent the window title
...
This gets rid of an unnecessary type conversion. We can just use the
regular QStringLiteral to already format the string as the type
setWindowTitle accepts instead of converting from a std::string
instance.
2018-10-26 23:56:04 +02:00
Lioncash
bf6dd78324
yuzu/configuration/config: Use a std::unique_ptr for qt_config instead of a raw pointer
...
Same behavior, less code.
2018-10-26 23:53:58 +02:00
Lioncash
f4bd5c3559
yuzu/configuration/config: Reorganize member variable and function layout
...
Makes the class layout consistent with the others.
2018-10-26 23:52:25 +02:00
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
Lioncash
0242d2b13a
common: Remove memory_util.cpp/.h
...
Everything from here is completely unused and also written with the
notion of supporting 32-bit architecture variants in mind. Given the
Switch itself is on a 64-bit architecture, we won't be supporting 32-bit
architectures. If we need specific allocation functions in the future,
it's likely more worthwhile to new functions for that purpose.
2018-10-26 23:39:08 +02:00
Weiyi Wang
e5b93741d3
kernel/timer: add TimerManager for timer system states
2018-10-26 16:07:45 -04:00
Weiyi Wang
20ae37ba4f
kernel/Thread: move thread list into the manager
2018-10-26 16:07:45 -04:00
Weiyi Wang
7fc61920cc
kernel/Thread: move thread wake up table and callback handle into the manager
2018-10-26 16:07:45 -04:00
Weiyi Wang
0478bc3dee
Kernel/Thread: move thread queue, current thread, and scheduling related function into the manager
...
As we touched it, remove IPC::GetCommandBuffer
2018-10-26 16:07:11 -04:00
Weiyi Wang
876729ab52
kernel/thread: move next_thread_id into manager
2018-10-26 16:07:11 -04:00
Weiyi Wang
34f1fe088c
kernel/thread: add ThreadManager
2018-10-26 16:07:11 -04:00
Weiyi Wang
f3ee5feb02
Merge pull request #4358 from wwylele/kernel-global-2
...
kernel: Eliminate global state in process and handle_table
2018-10-26 15:51:36 -04:00
Weiyi Wang
8ad6cbfde2
kernel/thread: change owner_process parameter to reference
...
To enforce a valid process object
2018-10-26 09:37:46 -04:00
Weiyi Wang
b4062abc11
cubeb_sink: ignore null-name device when selecting
...
We already ignore them on listing devices. We should do the same when selecting devices. This fix a crash when opening a specific device while there is a null device in the list
2018-10-26 09:17:44 -04:00
Weiyi Wang
fa0e82b812
SeedDB: replace seek(tell, set) with seek(cur) ( #4344 )
2018-10-25 21:39:26 -04:00
Weiyi Wang
e5c5d1ecce
Kernel: change owner_process in Thread/SharedMemory to raw pointer
...
Otherwise circular ownership would form in Process->handle_table->thread->owner_process
2018-10-25 19:54:06 -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
8d32843d68
thread/kernel: remove unused callback_id
...
we use the thread id for the same purpose now
2018-10-23 10:06:32 -04:00
Lioncash
6fb6737642
core/CMakeLists: Make all web_service-related libraries private
...
Now that all external dependencies are hidden, we can remove
json-headers from the publically linked libraries, as the use of this
library is now completely hidden from external users of the web_service
library. We can also make the web_services library private as well,
considering it's not a requirement. If a library needs to link in
web_service, it should be done explicitly -- not via indirect linking.
2018-10-23 15:43:40 +02:00
Lioncash
8b98560ebb
web_backend: Make Client use the PImpl idiom
...
Like with TelemetryJson, we can make the implementation details private
and avoid the need to expose httplib to external libraries that need to
use the Client class.
2018-10-23 15:42:22 +02:00
Lioncash
25038aeb0d
telemetry_json: Use the PImpl idiom to avoid unnecessary dependency exposure
...
Users of the web_service library shouldn't need to care about an
external library like json.h. However, given it's exposed in our
interface, this requires that other libraries publicly link in the JSON
library. We can do better.
By using the PImpl idiom, we can hide this dependency in the cpp file
and remove the need to link that library in altogether.
2018-10-23 15:35:17 +02:00
Lioncash
131ce59800
telemetry_json: Add missing override specifier to the destructor of TelemetryJson
2018-10-23 15:33:41 +02:00
Lioncash
8747d93f6a
telemetry_json: Take std::string parameters by value
...
Taking them by const reference isn't advisable here, because it means
the std::move calls were doing nothing and we were always copying the
std::string instances.
2018-10-23 15:33:34 +02:00
Lioncash
c9013c481a
telemetry_json: Remove unnecessary includes
...
Removes unused includes. Also rectifies a missing <chrono> include.
2018-10-23 15:33:18 +02:00
Lioncash
7142d3cf78
telemetry_session: Remove doxygen comment for a non-existent parameter
...
There's no "func" parameter, so this can just be removed.
2018-10-23 15:30:07 +02:00
Lioncash
61627c2042
telemetry_session: Add missing includes
...
Prevents potential compilation issues in the future by including missing
headers for certain functions and types.
2018-10-23 15:28:50 +02:00
Lioncash
d5bb2a21aa
telemetry_session: Remove unimplemented FinalizeAsyncJob prototype
...
This isn't implemented anywhere, so it can just be removed.
2018-10-23 15:27:05 +02:00
Weiyi Wang
eb285c33fd
kernel: make handle table per-process
2018-10-22 21:32:34 -04:00
Weiyi Wang
fda2a5cf54
kernel/thread: use std::unordered_map for callback record
2018-10-22 21:32:34 -04:00
Weiyi Wang
5b45a3e1b5
Kernel/Timer: use unordered_map for callback recording
2018-10-22 21:32:34 -04:00
Weiyi Wang
8fb3d8ff38
kernel/process: move current process to kernel instance
...
Two functional change:
QueryProcessMemory uses the process passed from handle instead current_process
Thread::Stop() uses TLS from owner_process instead of current_process
2018-10-22 21:32:34 -04:00
Weiyi Wang
d9342622b0
kennel/process: move process list to kernel instance
2018-10-22 21:32:34 -04:00
Weiyi Wang
4238754d8c
kernel/process: move next_process_id to kernel instance
2018-10-22 09:30:48 -04:00
Lioncash
930abb4b5e
svc: Correct vma_map boundary check within QueryProcessMemory
...
This should be using the process instance retrieved within the function,
and not g_current_process, otherwise this is potentially comparing
iterators from unrelated vma_map instances (which is undefined
behavior).
2018-10-21 22:00:12 -04:00
Weiyi Wang
57ce5079bc
Merge pull request #4336 from wwylele/file-util-mingw
...
Only redefine some 64-bit file operation for MSVC
2018-10-21 20:34:48 -04:00
Weiyi Wang
6f1759c5bd
Merge pull request #4341 from wwylele/kernel-global
...
Kernel: make a kernel instance and remove object ID counter from global state
2018-10-21 18:53:36 -04:00
Zak Kurka
92f8b71137
Make ApplyIPS static and private
2018-10-21 10:42:23 -05:00
Zak Kurka
05c1816504
Stay in bounds
2018-10-21 07:48:54 -05:00
Zak Kurka
1c62bc06cf
Add rle record support
2018-10-21 07:48:29 -05:00
Zak Kurka
d8284dfacc
Log invalid IPS attempt
2018-10-21 07:47:27 -05:00
Zak Kurka
d0b54e9939
Check for EOF
2018-10-20 23:25:16 -05:00
Zak Kurka
2778801dc5
Updated based on review
2018-10-20 19:45:16 -05:00
Zak Kurka
2a5b56bb1d
Be more intentional with check
2018-10-20 18:17:54 -05:00
Zak Kurka
261dc33507
Merge branch 'master' of github.com:citra-emu/citra into ips-patches
2018-10-20 18:11:38 -05:00
Zak Kurka
bf50bb06f1
Minor style changes and use memcpy
2018-10-20 18:10:32 -05: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
Zak Kurka
2496ecbaf6
Added IPS patching
2018-10-20 13:09:05 -05:00
Weiyi Wang
65ec8de31e
web_service: hide dependencies to private
2018-10-20 10:47:17 -04:00
fearlessTobi
57d68bb541
Address review comments
2018-10-20 10:35:55 -04:00
fearlessTobi
7daac96862
Review comments - part 5
2018-10-20 10:35:55 -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
18caa787d2
Merge pull request #4197 from B3n30/spsc_queue_wait
...
threadsafe_queue: Add PopWait and use it where possible
2018-10-19 19:36:37 -04:00
Weiyi Wang
751ebe55e9
Kernel: pass ref down to Object and wrap ID counter into kernel state
2018-10-18 21:41:36 -04:00
Weiyi Wang
87426b29ff
kernel: pass ref to shared memory
2018-10-18 21:41:36 -04:00
Weiyi Wang
2a411bb501
Kernel: wrap resource limit state into kernel state; pass ref to resource limit
2018-10-18 21:41:36 -04:00
Weiyi Wang
13c26b4371
Kernel: pass ref to session pair
2018-10-18 21:41:36 -04:00
Weiyi Wang
1213a298df
Kernel: pass ref to port
2018-10-18 21:41:36 -04:00
Weiyi Wang
c141657d83
Kernel: pass ref to timer
2018-10-18 21:41:36 -04:00
Weiyi Wang
247249d5d3
Kernel: pass ref to sempahore
2018-10-18 21:41:36 -04:00
Weiyi Wang
181646679c
ServiceManager: pass down core reference
2018-10-18 21:41:36 -04:00
Weiyi Wang
d940293d32
Kernel: pass ref to thread
2018-10-18 21:41:36 -04:00
Weiyi Wang
9565091fc2
kernel: pass ref in Process
2018-10-18 21:41:36 -04:00
Weiyi Wang
213b259cf1
kernel: pass ref in CodeSet
2018-10-18 21:41:36 -04:00
Weiyi Wang
7449ba85a6
Kernel: pass ref in Mutex
2018-10-18 21:41:36 -04:00
Weiyi Wang
eec11a94cb
Kernel: pass Kernel ref in Event
2018-10-18 21:41:36 -04:00
Weiyi Wang
734be98966
Kernel: pass Kernel reference into AddressArbiter
2018-10-18 21:41:00 -04:00
Weiyi Wang
f446fd1fe5
Kernel: add KernelSystem class
2018-10-18 21:41:00 -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
Weiyi Wang
ad232efbf0
apply fixes
2018-10-17 18:35:16 +02:00
B3n30
be3bd18c42
Load keys from new3DS native firm
2018-10-17 17:44:54 +02:00
B3n30
15c9db0883
Load keys from the o3DS save mode native firm
2018-10-17 17:44:52 +02:00
Weiyi Wang
53a3498aee
Merge pull request #4193 from B3n30/controller5
...
Joystick: Allow for background events; Add deadzone to SDLAnalog
2018-10-17 10:49:21 -04:00
B3n30
1849e8b09c
HW::AES: add generator_constant
2018-10-17 16:07:11 +02:00
Ben
f48157c6ea
Load AES keys stored in boot9.bin ( #4335 )
...
* Load AES keys stored in boot9.bin
2018-10-17 10:13:55 +02:00