Commit Graph

178 Commits

Author SHA1 Message Date
unknown 89dd133a2f
[frontend] Remove QDockWidget Wait Tree (#2949)
No one uses it and knows how to use it. So, remove it and replace it later with something more useful :)

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2949
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Co-authored-by: unknown <sahyno1996@gmail.com>
Co-committed-by: unknown <sahyno1996@gmail.com>
2025-11-08 22:16:30 +01:00
crueter fff8e2026f
[qt_common] reorg + checkstate abstraction (#2735)
no diff. in functionality, just confirm builds on ubuntu 24.04/debian 12

Signed-off-by: crueter <crueter@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2735
2025-10-15 05:05:03 +02:00
crueter f4386423e8
[qt] refactor: qt_common lib (#94)
This is part of a series of PRs made in preparation for the QML rewrite. this PR specifically moves a bunch of utility functions from main.cpp into qt_common, with the biggest benefit being that QML can reuse the exact same code through ctx passthrough.

Also, QtCommon::Frontend is an abstraction layer over several previously Widgets-specific stuff like QMessageBox that gets used everywhere. The idea is that once QML is implemented, these functions can have a Quick version implemented for systems that don't work well with Widgets (sun) or for those on Plasma 6+ (reduces memory usage w/o Widgets linkage) although Quick from C++ is actually anal, but whatever.

Other than that this should also just kinda reduce the size of main.cpp which is a 6000-line behemoth rn, and clangd straight up gives up with it for me (likely caused by the massive amount of headers, which this DOES reduce).

In the future, I probably want to create a common strings lookup table that both Qt and QML can reference--though I'm not sure how much linguist likes that--which should give us a way to keep language consistent (use frozen-map).

TODO: Docs for Qt stuff

Co-authored-by: MaranBr <maranbr@outlook.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/94
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
2025-09-15 17:21:18 +02:00
crueter 982b171f30
[desktop] fix random qt annoyances (#226)
Removes that silly QLayout message and improves consistency thereof for
other QLayouts

Still work to be done but this is all that's needed rn

Signed-off-by: crueter <crueter@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/226
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
2025-08-08 01:25:00 +02:00
crueter f1e74f6855
[meta] remove MicroProfile (#185)
Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/185
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
2025-08-06 07:48:11 +02:00
Gamer64 1f34d836b4
Add cmake option to enable microprofile (#179)
Backported from dd9c743041.

Co-authored-by: PabloMK7 <hackyglitch2@gmail.com>

Co-authored-by: Shinmegumi <shinmegumi@eden-emu.dev>
Co-authored-by: Gamer64 <76565986+Gamer64ytb@users.noreply.github.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/179
Co-authored-by: Gamer64 <gamer64@eden-emu.dev>
Co-committed-by: Gamer64 <gamer64@eden-emu.dev>
2025-08-02 17:22:38 +02:00
crueter 9cef9f5dce Update fmt to allow for v11
Signed-off-by: swurl <swurl@swurl.xyz>
2025-04-10 01:11:22 +02:00
Kelebek1 52c35521bd Rework time service to fix time passing offline. 2024-01-24 04:26:55 +00:00
Narr the Reg 146975c880 hid_core: Move hid to it's own subproject 2024-01-05 11:41:15 -06:00
Liam 3d5c6a73cb core: refactor emulated cpu core activation 2023-12-04 10:37:16 -05:00
t895 230bd06245 config: Unify config handling under frontend_common
Replaces every way of handling config for each frontend with SimpleIni. frontend_common's Config class is at the center where it saves and loads all of the cross-platform settings and provides a set of pure virtual functions for platform specific settings.

As a result of making config handling platform specific, several parts had to be moved to each platform's own config class or to other parts. Default keys were put in platform specific config classes and translatable strings for Qt were moved to shared_translation. Default hotkeys, default_theme, window geometry, and qt metatypes were moved to uisettings. Additionally, to reduce dependence on Qt, QStrings were converted to std::strings where applicable.
2023-11-21 01:58:13 -05:00
Liam 62e106dbe8 kernel: update KProcess 2023-10-21 20:03:41 -04:00
Liam 46d09ae364 kernel: convert KThread to new style 2023-03-12 22:09:09 -04:00
Liam 3c93638acf kernel: convert KPort, KSession 2023-03-12 22:06:53 -04:00
Morph aeada1616a main: Globally disable the "?" button on dialogs
Sets the AA_DisableWindowContextHelpButton attribute to disable this useless button globally.
2023-01-25 01:12:50 -05:00
MonsterDruide1 9e783cc922 TAS: Record sanitized instead of raw stick inputs
Co-Authored-By: Narr the Reg <5944268+german77@users.noreply.github.com>
2023-01-01 22:39:18 +01:00
Andrea Pappacoda 6a2efdda2f chore: make yuzu REUSE compliant
[REUSE] is a specification that aims at making file copyright
information consistent, so that it can be both human and machine
readable. It basically requires that all files have a header containing
copyright and licensing information. When this isn't possible, like
when dealing with binary assets, generated files or embedded third-party
dependencies, it is permitted to insert copyright information in the
`.reuse/dep5` file.

Oh, and it also requires that all the licenses used in the project are
present in the `LICENSES` folder, that's why the diff is so huge.
This can be done automatically with `reuse download --all`.

The `reuse` tool also contains a handy subcommand that analyzes the
project and tells whether or not the project is (still) compliant,
`reuse lint`.

Following REUSE has a few advantages over the current approach:

- Copyright information is easy to access for users / downstream
- Files like `dist/license.md` do not need to exist anymore, as
  `.reuse/dep5` is used instead
- `reuse lint` makes it easy to ensure that copyright information of
  files like binary assets / images is always accurate and up to date

To add copyright information of files that didn't have it I looked up
who committed what and when, for each file. As yuzu contributors do not
have to sign a CLA or similar I couldn't assume that copyright ownership
was of the "yuzu Emulator Project", so I used the name and/or email of
the commit author instead.

[REUSE]: https://reuse.software

Follow-up to b2eb103829
2022-07-27 12:53:49 +02:00
Morph 69cd83d3ac wait_tree: Eliminate variable shadowing 2022-06-14 08:30:09 -04:00
Morph 2b87305d31 general: Convert source file copyright comments over to SPDX
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-04-23 05:55:32 -04:00
ameerj 012963c513 yuzu: Reduce unused includes 2022-03-20 02:25:09 -04:00
Morph c1a3ce985f debugger: console: Set console output codepage to UTF-8
This allows the console to display multi-byte encoded characters.
2022-02-13 18:18:05 -05:00
bunnei cc4cbff1ca hle: kernel: KThread: Rename thread_type_for_debugging -> thread_type.
- This will be used to ensure that we do not schedule dummy threads.
2022-01-20 17:08:00 -08:00
Morph 006965d3c0 profiler: Use QWheelEvent position().toPoint()
QWheelEvent::pos() is deprecated. Make use of position().toPoint() instead.
2021-12-08 15:25:46 -05:00
german77 d12525737a service/hid: Remove includes of core.h and settings.h 2021-11-24 20:30:27 -06:00
german77 4736326a05 second commit lion review 2021-11-24 20:30:26 -06:00
german77 f63c6fce6d input_common: Revert deleted TAS functions 2021-11-24 20:30:26 -06:00
german77 d1bac9024d settings: Fix mouse and keyboard mappings 2021-11-24 20:30:25 -06:00
german77 0292fe0198 kraken: Fix errors from rebase and format files 2021-11-24 20:30:24 -06:00
german77 5d631fd6ef debugger/controller: Remove TAS 2021-11-24 20:30:23 -06:00
german77 00d3c058c5 input_common: Rewrite keyboard 2021-11-24 20:30:22 -06:00
ameerj 4919d2d00f bootmanager: Fix screenshot resolution factor usage
Fixes screenshots at non integer scaling
2021-11-16 22:11:30 +01:00
Morph 6d0b721351 Merge pull request #6774 from lat9nq/remove-global-yuzu
yuzu qt: Remove global system instances
2021-10-14 14:12:22 -04:00
Romain Failliot 01827a8f62 Create local variables for mouse and wheel positions 2021-10-11 19:21:24 -04:00
Romain Failliot deb8c58ce8 Fix a few warnings
- configure_input_player_widget.cpp: always better to use `const auto &`
  whenever possible
- profiler.cpp: `ev->pos()` is deprecated, replace with
  `ev->position()`, which returns floats, thus the addition of
  `.toPoint()` (same as what's happening in `pos()`)
- game_list.cpp: `QString::SplitBehavior` is deprecate, use `Qt::`
  namespace instead
2021-10-11 19:21:17 -04:00
lat9nq 3aec34df0a yuzu qt: Remove global system instances from config, WaitTree, main 2021-10-07 13:50:13 -04:00
german77 1b060a47b2 UI: Relocate tas menu and add brief description 2021-09-18 23:23:03 +02:00
german77 3333d96b46 input_common/tas: new update method 2021-09-18 23:22:57 +02:00
MonsterDruide1 1b67085cda input_common/tas: Fallback to simple update 2021-09-18 23:22:30 +02:00
german77 bba1ab83d6 config: Move TAS options to it's own menu 2021-09-18 23:22:30 +02:00
MonsterDruide1 31068a63a9 input_common/tas: Base playback & recording system
The base playback system supports up to 8 controllers (specified by `PLAYER_NUMBER` in `tas_input.h`), which all change their inputs simulataneously when `TAS::UpdateThread` is called.

The recording system uses the controller debugger to read the state of the first controller and forwards that data to the TASing system for recording. Currently, this process sadly is not frame-perfect and pixel-accurate.

Co-authored-by: Naii-the-Baf <sfabian200@gmail.com>
Co-authored-by: Narr-the-Reg <juangerman-13@hotmail.com>
2021-09-18 23:22:00 +02:00
yzct12345 aee8cc20ea logging: Simplify and make thread-safe
This simplifies the logging system.

This also fixes some lost messages on startup.

The simplification is simple. I removed unused functions and moved most things in the .h to the .cpp. I replaced the unnecessary linked list with its contents laid out as three member variables. Anything that went through the linked list now directly accesses the backends. Generic functions are replaced with those for each specific use case and there aren't many. This change increases coupling but we gain back more KISS and encapsulation.

With those changes it was easy to make it thread-safe. I just removed the mutex and turned a boolean atomic. I was planning to use this thread-safety in my next PR about stacktraces. It was actually async-signal-safety at first but I ended up using a different approach. Anyway getting rid of the linked list is important for that because have the list of backends constantly changing complicates things.
2021-08-13 18:39:45 +00:00
Ameer J 60e29dd3b0 Merge pull request #6539 from lat9nq/default-setting
general: Move most settings' defaults and labels into their definition
2021-07-08 14:46:31 -04:00
german77 99bf1aa49f profiler: Fix deprecated functions 2021-07-05 10:15:35 -05:00
lat9nq 843455fa98 yuzu qt: Make most UISettings a BasicSetting
For simple primitive settings, moves their defaults and labels to
definition time.

Also fixes typo and clang-format

yuzu qt: config: Fix rng_seed
2021-06-28 19:13:53 -04:00
german77 a5f5e8edb1 settings: Disable controller preview if controller is not active 2021-05-30 10:57:20 -05:00
german77 a724cf5fa1 settings: Forbid docked mode on handheld 2021-05-23 20:34:46 -05:00
bunnei 47224d3864 hle: kernel: Migrate to KHandleTable. 2021-05-05 16:40:53 -07:00
bunnei ad048de3d6 hle: kernel: Rename Process to KProcess. 2021-05-05 16:40:52 -07:00
bunnei 796dddf78f hle: kernel: Remove deprecated Object class. 2021-05-05 16:40:52 -07:00
bunnei 944eb14d69 hle: kernel: HandleTable: Remove deprecated APIs. 2021-05-05 16:40:52 -07:00