Commit graph

157 commits

Author SHA1 Message Date
Megamouse fd3522436a overlays/osk: add more panels 2020-03-25 03:54:49 +01:00
Eladash 9acf8e283d Fix OSK thread exit condition 2020-03-21 12:37:29 +03:00
Nekotekina c577bd2111 Implement thread_state::errored
State after calling thread emergency_exit() function.
Also default-construct thread result in this case.
2020-03-20 21:31:27 +03:00
Megamouse fd8cda0f2b overlays/osk: fix selection after changing panels
We now try to keep the current x and y selected after panel changes.
Also change some copy to ref
2020-03-19 21:10:08 +01:00
Megamouse c63f77e3b0 overlays/osk: fix full width characters 2020-03-19 21:10:08 +01:00
Megamouse a1f70bf96e overlays/osk: do not change the preview text on empty input
This prevents that the placeholder disappears
2020-03-19 21:10:08 +01:00
Megamouse f1127f1894 overlays: implement osk panels 2020-03-19 21:10:08 +01:00
Nekotekina 04dedb17eb Disable exception handling.
Use -fno-exceptions in cmake.
On MSVC, enable _HAS_EXCEPTION=0.
Cleanup throw/catch from the source.
Create yaml.cpp enclave because it needs exception to work.
Disable thread_local optimizations in logs.cpp (TODO).
Implement cpu_counter for cpu_threads (moved globals).
2020-03-12 16:03:08 +03:00
Megamouse 3ea94c286b input/overlays: fix premature pad interception removal
shader compilation and trophy notifications shouldn't cancel the pad interception during proper dialogs
2020-03-10 19:04:32 +01:00
Nekotekina 7a8772dafa Replace std::string::npos with umax 2020-03-05 14:05:23 +03:00
Nekotekina Aux1 250736ece5 Fix warnings in emucore 2020-03-04 21:23:34 +03:00
Nekotekina ecd68dfc70 overlays: add "thread bits" to wait on and avoid lockup
Add TLS variable to store its own bit.
2020-02-27 19:14:08 +03:00
Megamouse ee46ad1ca9 move overlays code to headers 2020-02-26 23:43:18 +01:00
gamerforEA 93552a5958 Apply some Clang-Tidy fixes 2020-02-27 00:38:55 +03:00
gamerforEA 49294a3dd2 Add missing include guards 2020-02-27 00:38:55 +03:00
Nekotekina b35a5982e8 Fix one bug with MsgDialog thread (freeze on exit)
Forgot to check thread state
2020-02-26 21:23:30 +03:00
Nekotekina df1813b4e2 overlays: hotfix for waiting on thread_count 2020-02-25 23:43:05 +03:00
Nekotekina ff16e678a5 Add thread_count instead of former thread pool 2020-02-25 23:16:55 +03:00
Nekotekina 982856e70d overlays: remove unused threadpool 2020-02-25 22:56:50 +03:00
Nekotekina 144c20649f Try to fix msg dialog breakage 2020-02-25 22:50:44 +03:00
Megamouse e719bcf338 overlays: add layer modes to osk 2020-02-25 21:57:49 +03:00
Megamouse 3f4226b70e overlays: Fix find and replace regression 2020-02-25 21:57:49 +03:00
Megamouse 620cfd5063 overlays: move code to overlay_utils.cpp 2020-02-25 21:57:49 +03:00
Megamouse 2341749485 overlays: add overlay_osk.h 2020-02-25 21:57:49 +03:00
Nekotekina 9c9c2eb2c9 Fix wrong g_fxo->init_crtp name, use just init<> 2020-02-25 14:07:50 +03:00
Nekotekina 318a364d09 Try to fix OSK 2020-02-25 14:03:13 +03:00
kd-11 cd40bc8c61 overlays: Avoid race condition between rendering and layout operations for system widgets
- System widgets are callable from outside RSX code.
- Responding to draw requests while setup is in progress can cause malformed cached output
- Fixes glitched layouts for system message dialogs
2020-02-24 23:33:47 +03:00
kd-11 f6ebd88687 overlays: Ditch wstring for u32string
- Turns out wstring is not the same as u32string on windows.
2020-02-24 23:33:47 +03:00
Megamouse f7666f44da Untangle GUI and input includes 2020-02-24 16:31:01 +01:00
Nekotekina 8b4b859091 Remove "thread_ctrl::spawn" 2020-02-23 15:03:38 +03:00
kd-11 fa41297b27 overlays/trophy: Migrate to multibyte strings 2020-02-22 15:07:14 +03:00
kd-11 b8f51398b7 overlays/save_dialog: Migrate to multibyte strings 2020-02-22 15:07:14 +03:00
kd-11 cb2129c7e4 overlays/osk: Migrate to multibyte encoding 2020-02-22 15:07:14 +03:00
kd-11 703ec9f896 overlays: More unicode utilities 2020-02-22 15:07:14 +03:00
kd-11 19350d024b overlays: Font system improvements
- Add support for Hangul blocks (korean)
- Restructure font fallback system to allow the user to 'install' fonts if missing.
  Should allow fonts to work with no firmware on open systems like linux
2020-02-22 15:07:14 +03:00
kd-11 8e68427daf overlays: Add basic font substitution system and separate JPN from Latin-1 set
- Gets JP glyphs to render correctly, but the generalization may negatively affect other CJK glyph sets.
  PS3 doesn't seem to use other glyph sets much however.
2020-02-22 15:07:14 +03:00
kd-11 6178a0ab25 overlays: Migrate to wide-char strings 2020-02-22 15:07:14 +03:00
Nekotekina 92e3eaf3ff Fix signed-unsigned comparisons and mark warning as error (part 2). 2020-02-19 22:54:58 +03:00
Megamouse fe75311be2 move config structs to own files and clean up some headers 2020-02-17 15:08:17 +03:00
Nekotekina bcbe324534 geometry.h: make conversion operators explicit
It requires static_cast<> to call them.
2020-02-11 13:21:45 +03:00
kd-11 54da9ac7e5 overlays: Fixup
- Avoid calling join on self thread.
- Avoid use-after-free.
2020-02-07 19:28:41 +03:00
kd-11 e45360de2b overlays: Fix use after free
- Overlay can be closed when secondary thread is asleep!
  Wait for it to wake before proceeding with deletion.
2020-02-07 16:15:02 +03:00
Nekotekina c0f80cfe7a Use attributes for LIKELY/UNLIKELY
Remove LIKELY/UNLIKELY macro.
2020-02-05 10:42:34 +03:00
Nekotekina 15391f45d0 Modernize RSX logging (rsx_log variable) 2020-02-01 11:52:22 +03:00
Nekotekina 1d0f359406 logs: add more log channels instead of GENERAL 2020-01-31 16:44:48 +03:00
Nick Renieris 1e69de1205 overlays/perf: Graph label tune-up
Place graph text on top, split in 2 lines, center it horizontally.
Also if it's wider than the graph, match up graph's width to it.
2020-01-26 17:55:11 +01:00
kd-11 3f34a0196c overlays/osk: Add linear fade-in/out effect to OSK 2020-01-07 21:31:19 +03:00
kd-11 ecf00be155 rsx: Add color interpolation animation
- Adds color interpolation and modulation pass and refactors the code a
bit. Elements with this pass applied have their color modulated by the
animated color from the pass. Modulation transform is multiplicative.
2020-01-07 21:31:19 +03:00
Nick Renieris 5bace118a7 overlays: Redesign animation system (add easing functions, fix bugs)
Instead of speed, direction and distance, the user now specifies
start/end offsets and how much time the transition should take.

Fixes:
- Stuttering caused from framerate estimation.
- An edge case where animations would go over their supposed limit.

Adds:
- The ability to specify arbitrary easing functions for the animations
  - Implemented quadratic ease in and ease out and cubic ease in/out.
- Usage of cubic ease in/out in the trophy notification
2020-01-06 22:42:07 +03:00
Nick Renieris 28770c1580 overlays: Move vertex & vector utility classes to new file 2020-01-06 22:42:07 +03:00