Yuri Kunde Schlesner
147ec9e842
Service: Remove a few redundant namespace qualifiers
2017-06-08 00:11:37 -07:00
Yuri Kunde Schlesner
0a7f4f531f
Service: Add new ServiceFramework framework for writing HLE services
...
The old "Interface" class had a few problems such as using free
functions (Which didn't allow you to write the service handler as if it
were a regular class.) which weren't very extensible. (Only received one
parameter with a pointer to the Interface object.)
The new ServiceFramework aims to solve these problems by working with
member functions and passing a generic context struct as parameter. This
struct can be extended in the future without having to update all
existing service implementations.
2017-06-08 00:11:37 -07:00
James Rowe
5639a00972
Merge pull request #2737 from Subv/decryptbeacondata
...
Services/UDS: Implement DecryptBeaconData.
2017-06-07 10:08:43 -06:00
Yuri Kunde Schlesner
1e267fd653
Kernel: Remove some unnecessary namespace qualifications
2017-06-06 14:51:42 -07:00
Subv
656f26c4df
Services/UDS: Implement DecryptBeaconData.
...
This function decrypts the encrypted data tags contained in the 802.11 beacon frames.
2017-06-06 11:31:20 -05:00
Yuri Kunde Schlesner
f68fd997cd
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
Yuri Kunde Schlesner
0e3e091a0d
Service: Make service registration part of the sm implementation
...
Also enhances the GetServiceHandle implementation to be more accurate.
2017-06-06 02:57:04 -07:00
Yuri Kunde Schlesner
d9e7be32de
Service/sm: Use an actual semaphore for the notification semaphore
...
An Event was used way back then when we didn't have proper working
semaphores. Our Semaphore implementation is good enough now.
2017-06-06 02:57:04 -07:00
Yuri Kunde Schlesner
c17330e05f
Service: Move SRV interface to a new sm/ subdirectory
...
This will contain the implementation of the sm (Service Manager) system
module.
2017-06-06 02:57:04 -07:00
Yuri Kunde Schlesner
8a35f3634e
Kernel: Add a dedicated SetHleHandler method to ServerPort/ServerSession
...
This allows attaching a HLE handle to a ServerPort at any point after it
is created, allowing port/session creation to be generic between HLE and
regular services.
2017-06-06 02:56:32 -07:00
Yuri Kunde Schlesner
9dd1fd5b9e
ResultVal: Add more convenience utils for creating and cascading results
2017-06-06 00:51:57 -07:00
Yuri Kunde Schlesner
41a3feea66
HLE: Move SessionRequestHandler from Service:: to Kernel::
...
Most of the code that works with this is or will be in the kernel, so
it's a more appropriate place for it to be.
2017-06-05 23:40:11 -07:00
TheKoopaKingdom
e0f8f75f43
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
fa11f957f4
Switched to the ERROR_NOT_FOUND constant from errors.h.
2017-06-02 18:40:39 -04:00
TheKoopaKingdom
af0a2f11d9
Moved whitelist checks from FS_User to the Archive_NCCH handler.
2017-06-02 18:40:27 -04:00
TheKoopaKingdom
b817071212
Created a whitelist of system archives to prevent false positives creating dialogs.
2017-06-02 18:28:14 -04:00
TheKoopaKingdom
4799017aec
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
cee9b78a15
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
3a32a33fde
Added system for handling core errors in citra-qt.
2017-06-02 18:27:56 -04:00
TheKoopaKingdom
1b9c3436ab
Fixed encrypted ROM error messages.
2017-06-02 18:25:32 -04:00
bunnei
c5b12080e7
Merge pull request #2722 from wwylele/cam-ipc-helper
...
CAM: use IPCHelper
2017-05-31 19:47:37 -04:00
bunnei
11b66db774
Merge pull request #2739 from yuriks/kernel-reorg
...
Split-up kernel.h
2017-05-31 19:46:15 -04:00
Yuri Kunde Schlesner
ecfda5317e
Kernel: Move HandleTable to a separate file
2017-05-29 17:34:39 -07:00
Yuri Kunde Schlesner
6f662625d3
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
ddbf9cec1b
Kernel: Removed HandleTable::GetWaitObject
...
This isn't necessary anymore since plain Get works correctly for
WaitObjects.
2017-05-29 15:10:06 -07:00
Yuri Kunde Schlesner
74aa9efe3e
Kernel: Extract dynamic Object pointer cast into its own function
2017-05-29 14:42:27 -07:00
Yuri Kunde Schlesner
49ef9a6270
CMake: Remove unnecessary include_directories for dynarmic
...
Dynarmic already adds the correct include paths to the library target.
2017-05-27 22:19:37 -07:00
Yuri Kunde Schlesner
dfd2db3e37
CMake: Add cryptopp include path to target property
2017-05-27 22:16:57 -07:00
Yuri Kunde Schlesner
97f922e583
CMake: Use IMPORTED target for Boost
2017-05-27 20:44:51 -07:00
Yuri Kunde Schlesner
b78ce2bce5
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
7d74a5daf0
Remove some unnecessary inclusions of video_core.h
2017-05-27 18:41:24 -07:00
Yuri Kunde Schlesner
b868036561
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
Yuri Kunde Schlesner
7b560a8b81
Core: Fix some out-of-style includes
2017-05-27 16:31:42 -07:00
Yuri Kunde Schlesner
e6dc5926fb
Move framebuffer_layout from Common to Core
...
This removes a dependency inversion between core and common. It's also
the proper place for the file since it makes screen layout decisions
specific to the 3DS.
2017-05-27 16:10:25 -07:00
wwylele
3342bb1fa9
fixup!cam: use IPCHelper
2017-05-27 21:30:07 +03:00
bunnei
030121014f
Merge pull request #2716 from yuriks/decentralized-result
...
Decentralize ResultCode
2017-05-26 11:59:57 -04:00
Yuri Kunde Schlesner
782c6b1923
FS: Remove unused result definition
2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner
467545ed48
Kernel: Centralize error definitions in errors.h
2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner
6210a1aaf3
GSP_GPU: Move error codes from result.h to local file
2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner
2d147a1c0d
FileSys: Move all result description to errors.h
2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner
f2e65b5cbc
result: Make error description a generic integer
...
It is now known that result code description vary depending on the
module, and so they're best defined on a per-module basis. To support
this, allow passing in an arbitrary integer instead of limiting to the
ones in the ErrorDescription enum. These will be gradually migrated to
their individual users, but a few will be kept as "common" codes shared
by all modules.
2017-05-24 21:05:59 -07:00
Yuri Kunde Schlesner
a786199c4b
Make BitField and ResultCode constexpr-initializable
2017-05-24 21:05:59 -07:00
bunnei
68100e88e0
telemetry: Log a few simple data fields throughout core.
2017-05-24 19:16:23 -04:00
bunnei
e65f4cc882
core: Keep track of telemetry for the current emulation session.
2017-05-24 19:16:22 -04:00
wwylele
3b34518bcf
cam: move u32->u8 trancation to IPCHelper
2017-05-24 12:50:19 +03:00
wwylele
e82ac2e80f
cam: use IPCHelper
2017-05-24 12:45:36 +03:00
Sebastian Valle
1483d53541
Merge pull request #2692 from Subv/vfp_ftz
...
Dyncom/VFP: Convert denormal outputs into 0 when the FTZ flag is enabled.
2017-05-22 12:16:53 -05:00
Yuri Kunde Schlesner
464dc927af
Merge pull request #2406 from Subv/session_disconnect
...
Kernel: Properly update port counters on session disconnection.
2017-05-21 17:18:16 -07:00
Subv
c67cd54049
fixup! Dyncom/VFP: Convert denormal outputs into 0 when the FTZ flag is enabled.
2017-05-21 18:56:09 -05:00
Subv
8e4b05c22a
Kernel/Sessions: Remove the ClientSession::Create function.
...
It is not meant to be used by anything other than CreateSessionPair.
2017-05-21 18:52:42 -05:00