Commit Graph

49 Commits

Author SHA1 Message Date
jroweboy
4d9cc5eebd Add FPS to SDL title bar
Also fix a small issue with incorrect shutdown ordering in SDL.
Previously the system would still be running so the telemetry task
didn't launch and detached_tasks would assert(count == 0)
2019-09-22 15:49:39 +02:00
Zach Hilman
5490b57199 yuzu: Port old usages of Filesystem namespace to FilesystemController 2019-09-21 16:43:10 -04:00
Zach Hilman
001229e5c9 Merge pull request #2526 from lioncash/global
core/telemetry_session: Remove usages of the global system accessor
2019-06-05 15:57:48 -04:00
Lioncash
10b581d18b yuzu_cmd/yuzu: Correct formatting specifier
Amends the formatting specifier to obey libfmt. Prevents the application
from terminating due to a formatting issue in the error case.
2019-05-28 22:28:46 -04:00
Lioncash
c5b1457a4e core/loader: Remove LoadKernelSystemMode
This is a hold-over from Citra and doesn't apply to yuzu.
2019-05-28 22:28:44 -04:00
ReinUsesLisp
961bb774a5 yuzu_cmd: Split emu_window OpenGL implementation into its own file 2019-05-25 17:47:13 -03:00
ReinUsesLisp
88c75b897f yuzu_cmd: Make OpenGL's context current
The SDL2 frontend never bound the OpenGL context, resulting on a white
screen and no-ops all over the backend.
2019-05-17 04:13:20 -03:00
Lioncash
7fd5d188c3 CMakeLists: Ensure we specify Unicode as the codepage on Windows
Previously we were building with MBCS, which is pretty undesirable. We
want the application to be Unicode-aware in general.

Currently, we make the command line variant of yuzu use ANSI variants of
the non-standard getopt functions that we link in for Windows, given we
only have an ANSI option-set.

We should really replace getopt with a library that we make all build
types of yuzu link in, but this will have to do for the time being.
2019-04-16 21:23:34 -04:00
Zach Hilman
c0e016795c game_list: Register content with ContentProvider 2019-03-26 22:05:37 -04:00
xperia64
8d1976a51e Fix getopt on systems where char is unsigned by default 2019-03-19 23:53:40 +01:00
Lioncash
1cb65a6b68 yuzu-cmd/yuzu: Replace direct usage of the global system telemetry accessor in main()
We already have the system instance around, so we can use that instead
of the accessor.
2019-03-04 10:24:13 -05:00
ReinUsesLisp
361ec8f437 gl_shader_cache: Link loading screen with disk shader cache load 2019-02-06 22:23:40 -03:00
bunnei
038ef6ac38 Merge pull request #1441 from CarlKenner/DebuggerLog
logging: Add DebuggerBackend for logging to Visual Studio
2018-11-05 00:19:59 -05:00
Lioncash
733e7039c7 filesystem: Make CreateFactories() and InstallInterface() take a VfsFilesystem instance by reference
Neither of these functions alter the ownership of the provided pointer,
so we can simply make the parameters a reference rather than a direct
shared pointer alias. This way we also disallow passing incorrect memory values like
nullptr.
2018-10-13 11:36:35 -04:00
Zach Hilman
8095500bbe cmd: Support passing game arguments from command line
Uses -p (--program) and following string as args.
2018-10-07 14:32:32 -04:00
Carl Kenner
def0c021e1 logging: Add DebuggerBackend for logging to Visual Studio 2018-10-07 13:24:04 +10:30
fearlessTobi
6a636602d2 Port web_service from Citra 2018-10-02 15:30:48 +02:00
Zach Hilman
21949c16fd yuzu-cmd: Add call to CreateFactories
Ensures all relevant filesystem objects are initialized and eliminates a crash related to the RegisteredCache.
2018-09-19 09:09:11 -04:00
tgsm
dd65131210 yuzu-cmd: fix SDL logging 2018-09-08 03:12:47 -04:00
Lioncash
94745b24ed vfs_real: Forward declare IOFile
Eliminates the need to rebuild some source files if the file_util header
ever changes. This also uncovered some indirect inclusions, which have
also been fixed.
2018-09-02 12:38:14 -04:00
Lioncash
2bde80e561 core/core: Replace includes with forward declarations where applicable
The follow-up to e2457418da, which
replaces most of the includes in the core header with forward declarations.

This makes it so that if any of the headers the core header was
previously including change, then no one will need to rebuild the bulk
of the core, due to core.h being quite a prevalent inclusion.

This should make turnaround for changes much faster for developers.
2018-08-31 16:30:14 -04:00
Lioncash
6431165144 loader: Make ResultStatus directly compatible with fmt
We can make the enum class type compatible with fmt by providing an
overload of operator<<.

While we're at it, perform proper bounds checking. If something exceeds
the array, it should be a hard fail, because it's, without a doubt, a
programmer error in this case.
2018-08-15 05:52:37 -04:00
Zach Hilman
d455260352 loader: Add more descriptive errors
Full list of new errors and descriptions in core/loader/loader.h
2018-08-09 21:06:59 -04:00
Zach Hilman
9568ba4e3b core: Port core to VfsFilesystem for file access 2018-08-08 21:18:45 -04:00
bunnei
069b0fadce Merge pull request #912 from lioncash/global-var
video_core: Eliminate the g_renderer global variable
2018-08-05 16:37:39 -04:00
bunnei
d2498546e6 Merge pull request #849 from DarkLordZach/xci
XCI and Encrypted NCA Support
2018-08-04 14:33:11 -04:00
Lioncash
ec1683de24 video_core: Eliminate the g_renderer global variable
We move the initialization of the renderer to the core class, while
keeping the creation of it and any other specifics in video_core. This
way we can ensure that the renderer is initialized and doesn't give
unfettered access to the renderer. This also makes dependencies on types
more explicit.

For example, the GPU class doesn't need to depend on the
existence of a renderer, it only needs to care about whether or not it
has a rasterizer, but since it was accessing the global variable, it was
also making the renderer a part of its dependency chain. By adjusting
the interface, we can get rid of this dependency.
2018-08-04 02:36:57 -04:00
Lioncash
6037b115eb video_core: Make global EmuWindow instance part of the base renderer class
Makes the global a member of the RendererBase class. We also change this
to be a reference. Passing any form of null pointer to these functions
is incorrect entirely, especially given the code itself assumes that the
pointer would always be in a valid state.

This also makes it easier to follow the lifecycle of instances being
used, as we explicitly interact the renderer with the rasterizer, rather
than it just operating on a global pointer.
2018-08-01 21:40:30 -04:00
Zach Hilman
f41ecf2335 Fix merge conflicts with opus and update docs 2018-08-01 00:16:54 -04:00
Zach Hilman
cadade1b28 Use more descriptive error codes and messages 2018-08-01 00:16:54 -04:00
Zach Hilman
05354beadb Make XCI comply to review and style guidelines 2018-08-01 00:16:54 -04:00
Zach Hilman
2f355a1609 Remove files that are not used 2018-08-01 00:16:54 -04:00
Lioncash
a0d85ece5b file_util: Use an enum class for GetUserPath()
Instead of using an unsigned int as a parameter and expecting a user to
always pass in the correct values, we can just convert the enum into an
enum class and use that type as the parameter type instead, which makes
the interface more type safe.

We also get rid of the bookkeeping "NUM_" element in the enum by just
using an unordered map. This function is generally low-frequency in
terms of calls (and I'd hope so, considering otherwise would mean we're
slamming the disk with IO all the time) so I'd consider this acceptable
in this case.
2018-07-21 16:21:19 -04:00
bunnei
ae54e16d59 OpenGL: Use MakeCurrent/DoneCurrent for multithreaded rendering. 2018-07-14 02:50:35 -04:00
Tobias
3941ca5fa4 Port #3335 and #3373 from Citra: "Small SDL fixes" and "Print the actual error preventing SDL from working" (#637)
* Port #3335 and #3373 from Citra

* Fixup: Use the new logging placeholders
2018-07-12 09:26:27 -07:00
James Rowe
d2309fe9c0 yuzu-cmd Apply the filter string from settings 2018-07-12 01:09:03 -06:00
bunnei
6ceee1bf3b Fix build and address review feedback 2018-07-02 21:45:48 -04:00
James Rowe
3e4df3574c Add configurable logging backends 2018-07-02 21:45:47 -04:00
James Rowe
489e98954c Update clang format 2018-07-02 21:45:47 -04:00
James Rowe
847a518200 Rename logging macro back to LOG_* 2018-07-02 21:45:47 -04:00
bunnei
549bdf75ec yuzu_cmd: Fix project for latest msvc. 2018-05-23 21:51:49 -04:00
Lioncash
4526964275 frontends: Move logging macros over to new fmt-capable ones 2018-04-26 19:14:48 -04:00
bunnei
de7afdb190 Merge pull request #377 from adityaruplaha/sdl2-fullscreen
SDL2: Implement fullscreen. (Original PR: citra-emu/citra#3607)
2018-04-21 13:53:55 -04:00
adityaruplaha
b4fd59d1f7 SDL2: Implement fullscreen. (Original PR: citra-emu/citra#3607) 2018-04-21 13:24:33 +05:30
N00byKing
5f19ec5ce5 Implement Pull #3528 from citra: use nvidia graphics automatically on laptops with optimus (with AMD support) (#271)
* Port 3528: use nvidia graphics automatically on laptops with optimus

* Force dedicated AMD Card for switchable Graphics

* Ran clang-format
2018-04-19 12:22:26 -06:00
N00byKing
67d1c2eabf yuzu.cpp: Update Link from citra to yuzu 2018-03-26 21:48:18 +02:00
MerryMage
04e933748c clang-format 2018-01-16 18:05:21 +00:00
MerryMage
6d71d8fcf1 Minor cleanup 2018-01-13 23:56:18 +00:00
James Rowe
c620780dca Get yuzu sdl to start compiling 2018-01-12 19:11:04 -07:00