Commit Graph

3909 Commits

Author SHA1 Message Date
sonninnos d03b77d4cf
Menu icon improvements (#14679) 2022-11-27 19:19:55 +01:00
libretroadmin 8ed246be86 (sinc resampler) Silence warning
(MaterialUI) Style nits
2022-11-23 18:03:44 +01:00
sonninnos 9297ff44b7
(Ozone+XMB) Fix overlays behind menu without core running (#14663) 2022-11-23 16:48:58 +01:00
libretroadmin 736a3034bb (materialUI) Silence signedness warnings 2022-11-23 05:20:17 +01:00
sonninnos 9bc7bebf51
More hotkey cleanups (#14657) 2022-11-22 14:45:30 +01:00
libretroadmin 1c9d3ad0bf Silence some warnings 2022-11-21 20:56:28 +01:00
sonninnos 3377fd55ab
Driver + hotkey list reorder (#14646)
* Reorder driver menu and lists

* Reorder hotkey list
2022-11-20 07:26:34 +01:00
sonninnos 3e8ff57e2c
(Ozone) Show metadata helper in footer only with second thumbnail (#14630) 2022-11-16 00:20:36 +01:00
sonninnos cd2392c559
(XMB) Improve background image selector (#14623) 2022-11-14 11:48:40 +01:00
Ryunam 49b973ac89
(Ozone+XMB) Add option to customize cursor memory (#14605) 2022-11-10 15:46:44 +01:00
Ryunam eb5b4197f8
(Ozone+XMB) Further extend texture support for Core Option categories (#14607) 2022-11-10 09:27:49 +01:00
sonninnos da6e560e72
(Ozone) Fixes, nits and cleanups (#14598) 2022-11-07 05:48:32 +01:00
Michael Burgardt b89692c532
Add Hungarian language option (#14585) 2022-11-04 19:52:39 +01:00
LibretroAdmin 0ffdf0790c (Ozone) Turn more booleans into flags 2022-11-02 03:19:31 +01:00
LibretroAdmin 01649d7955 (Ozone) Turn more booleans into flags 2022-11-02 01:45:43 +01:00
LibretroAdmin e4e776abf7 (Ozone) Partial conversion of booleans to flags 2022-11-01 08:27:10 +01:00
LibretroAdmin bfd9419d6a (MaterialUI) Turn booleans into flags 2022-11-01 06:51:53 +01:00
LibretroAdmin ea4b815117 (RGUI) Turn booleans into flags 2022-11-01 05:33:58 +01:00
LibretroAdmin 250a0b9542 Implicitly use floats in float arrays 2022-10-30 20:16:16 +01:00
sonninnos 194be57da1
(XMB) Add truncate playlist name option (#14553) 2022-10-27 05:42:46 +02:00
LibretroAdmin 94a3eba9ef Turn checked into flag for menu_entry_t 2022-10-26 00:28:57 +02:00
LibretroAdmin 0d16eb6e10 (Menu) menu_entries - get rid of boolean variables and
turn them into flags
2022-10-25 17:22:35 +02:00
LibretroAdmin d30f16dc79 Remove cursor directory/cursor manager list - Views obsoleted
this
2022-10-25 15:21:47 +02:00
LibretroAdmin 11c96ce2d3 (MaterialUI)
* Remove unused variables
* Turn loop counter variable into int
2022-10-24 16:49:01 +02:00
LibretroAdmin 3c7e4b032e (Menu drivers) Remove warnings about missing assets 2022-10-24 16:45:17 +02:00
sonninnos 6c0be28b98
(Ozone) Footer improvements (#14534) 2022-10-19 03:32:21 +02:00
sonninnos 0597aa6939
Thumbnail fullscreen toggle behavior correction (#14527) 2022-10-18 10:05:01 +02:00
sonninnos 0cebebbfdc
(Ozone) Remember selection per main tabs (#14526) 2022-10-17 16:04:54 +02:00
sonninnos feea90d877
(XMB) Vertical Fade fix (#14525) 2022-10-17 00:06:14 +02:00
sonninnos ababfcc0c8
(XMB) Playlist entry index fixes (#14523) 2022-10-16 23:46:27 +02:00
sonninnos 3c61126578
(XMB) Remember selection per main tabs (#14519) 2022-10-16 18:15:50 +02:00
Michael Burgardt 254ac65549
Add British English language option (#14504) 2022-10-12 23:26:00 +02:00
LibretroAdmin d100e73780 Use more runloop flags 2022-10-10 08:59:27 +02:00
Bernhard Schelling c9bbe7683f
Add View feature (#14467)
* Add View feature
Add saving of a filter set in the Explore menu into a so called "View" file which then gets listed alongside playlists.
This also adds the ability to filter a category by range in the Explore menu and not just filter on exact matches.

* Menu improvements for explore and views

* Collapse ozone sidebar in view

* Fix problems with the sidebar in explore/view

* Ignore view files in the Qt playlists menu

* Add missing semicolon

* Support downloading thumbnails in views
2022-10-10 06:36:02 +02:00
LibretroAdmin d506210fbe
(menu_driver.c) Use flags instead of bools (#14500)
* (menu_driver.c) Use flags instead of bools
2022-10-08 22:52:18 +02:00
LibretroAdmin 91119d038f
(gfx_display/gfx_animation) Use flags instead of bools (#14488)
* (gfx_display/gfx_animation) Use flags instead of bools
* (task_save) Use flags instead of bools
2022-10-07 00:10:32 +02:00
LibretroAdmin f8a9b0a197 Combine bit setting 2022-10-05 20:42:30 +02:00
LibretroAdmin ab1f21ef78 (Ozone/MaterialUI) sublabel lines will not ever go beyond uint8_t
max value, so change variable types from 32bit to 8bit
2022-10-04 23:58:04 +02:00
LibretroAdmin 185e1af39b (MaterialUI) Prevent pointless self-assignment with tertiary operators 2022-10-03 21:41:39 +02:00
LibretroAdmin e5897caa8f Cut down on menu_displaylist_info_t size - use flags instead of all
these boolean members
2022-10-03 18:13:32 +02:00
reallibretroadmin 0033224c25 Fix some implicit conversion signedness warnings 2022-10-02 03:22:34 +02:00
sonninnos e902df3b0d
(XMB) Add options for hiding header and horizontal title margin (#14439) 2022-09-26 12:57:20 +02:00
sonninnos 8842603165
Online Updater menu reorganizing (#14414) 2022-09-15 09:24:35 +02:00
LibretroAdmin 36d60f6bf4 (Ozone/MaterialUI/RGUI/XMB) Get rid of some tertiary operators - was basically reassigning the same
value
2022-09-12 22:20:03 +02:00
LibretroAdmin da094eeb2f Remove unused XMB_DEBUG 2022-09-11 19:53:44 +02:00
LibretroAdmin 98ee07eaa0 (MaterialUI) Silence warning 2022-09-06 01:57:08 +02:00
Jamiras 43f5812a18
show achievement badge icons in glui driver (#14390) 2022-09-06 01:53:22 +02:00
sonninnos c4c55077a1
Allow On-Demand Thumbnails in Explore menu (#14385) 2022-09-05 00:01:38 +02:00
LibretroAdmin 1e035b9385 (file_list) Get rid of superfluous small functions 2022-09-04 17:52:06 +02:00
LibretroAdmin 866ce4c50d (Menu drivers) Get rid of verbosity.h include 2022-09-04 04:58:22 +02:00
LibretroAdmin 0ffdd14940 Change msg_len of font driver to size_t - avoids all the type
casting/conversion
2022-09-02 01:10:28 +02:00
LibretroAdmin 003cea5d42 Fix some 'implicit conversion loses precision' warnings 2022-09-01 15:15:48 +02:00
LibretroAdmin 60030e373e
Reduce snprintfs + assorted cleanups (#14369)
* Reduce snprintf and/or use them only for concatenating the
string formatting of numbers/values
* Reduce snprintfs
* Use snprintf for concatenation at parts
* * We don't need to NULL-terminate strings that get passed to strlcpy/strlcat
and friends
* Use snprintf for concatenation in certain instances
* Do away with some string intermediary copies where we can avoid it
* Fix warning unused variable
* * Reduce snprintf calls
* Rewrite snprintf calls into strlcpy where possible
* Use snprintf for concatenation when necessary
* Do away with some string intermediary copies in task_translation.c
* run_translation_service - make switch slightly smaller
2022-09-01 04:17:07 +02:00
sonninnos a96c5f77c8
(Ozone/XMB/RGUI) Explore menu thumbnails (#14365) 2022-08-31 14:42:10 +02:00
LibretroAdmin ef0e9ccc38 (MaterialUI/RGUI/XMB) Less snprintf calls
(menu_displaylist.c) Do away with one less strlen by using
the return value of snprintf here instead
2022-08-29 14:38:26 +02:00
LibretroAdmin f1ff92c881 * menu_entries_append and menu_entries_append_enum are now combined into
one - if you set the last parameter to a valid 'rarch_setting_t' pointer
and enum_msg to MSG_UNKNOWN, you will get the previous menu_entries_append
behavior
* Renamed remaining function to menu_entries_append so that we have one
consistent way of adding menu entries instead of two
Reduces some code duplication significantly
2022-08-27 17:40:52 +02:00
LibretroAdmin 25b76fdb54 input_keyboard_osk_event_append and others: don't call strlen
implicitly, always leave it up to caller
font_driver_get_message_width - try to avoid scenario where 'len'
is 0
2022-08-27 15:13:56 +02:00
LibretroAdmin 61e24132bf (task_save.c) Simplification in control flow
(snprintf) Try to reduce or simplify snprintf calls, only tend to
use it for processing integers/numbers and avoid it for regular
string concatenation (NOTE: we try to be a bit safer about it to
address earlier cited criticism, although we don't consider concatenating
3 or 4 characters at the end to be insecure)
(msg_hash_to_str) Try to avoid duplicate calls to the same localized
string when we can just cache the results once instead locally
2022-08-27 07:55:02 +02:00
sonninnos 1f048dd358
(XMB+Ozone) Core option category icon refinements (#14354) 2022-08-26 16:11:36 +02:00
sonninnos de67f174bf
(XMB) Fix icons in 'Load Content' Favorites (#14353) 2022-08-26 08:35:12 +02:00
LibretroAdmin 575e331fd1 If we already know the length of the string, use strldup instead.
Avoids the internal strlen call inside strdup, and strdup is a deprecated
function starting from MSVC2005 anyways.

NOTE: Do NOT pass STRLEN_CONST as n parameter to strldup, it needs to
be at least +1 character higher than the strlen return value of the same
string
2022-08-25 16:31:54 +02:00
sonninnos 8fd0961c9a
Show playlist entry as 'Quick Menu' header title (#14350) 2022-08-25 04:41:14 +02:00
LibretroAdmin 72cc98e9bd Remove unused variables 2022-08-24 17:42:01 +02:00
LibretroAdmin 2bc723bb4b (Menu) Move duplicate code is_running_quickmenu to menu_driver.c 2022-08-24 13:28:53 +02:00
LibretroAdmin a147cb09d9 Get rid of duplicate code - move function to menu_driver.c and have
both XMB and Ozone use it
2022-08-24 13:14:55 +02:00
sonninnos 5f7d14966c
(Ozone+XMB) Fullscreen thumbnail browsing (#14342) 2022-08-24 12:35:54 +02:00
LibretroAdmin e769436876 (word wrap functions in stdstring.c) Avoid implicit strlens, caller
should pass the 'length' to the function instead
2022-08-23 17:06:01 +02:00
sonninnos c818024bc6
(RGUI) Savestate thumbnails (#14326) 2022-08-18 02:12:50 +02:00
LibretroAdmin 0edbe945b4 (MaterialUI/XMB) Optimize refreshing of playlists 2022-08-06 20:32:19 +02:00
LibretroAdmin 1b43e60c7c (Ozone) Use less path_remove_extension and work more with return values
from file_path.c functions
(menu_cbs_title) Small optimization to string concatenation
2022-08-06 19:51:00 +02:00
TheRhysWyrill 9d939a35d6
Add Daite XMB Icon Theme (#14263) 2022-08-05 04:27:34 +02:00
LibretroAdmin 6ad88b080e Turn these two fill_pathname_join_delim() calls into plain strlcat() 2022-08-04 15:15:27 +02:00
LibretroAdmin b2634ea588 * Create fill_pathname_join_special - and specify fill_pathname_join
as deprecated.
* Use fill_pathname_join_special in the vast majority of cases where
we can ensure out_path is a new empty string
* Get rid of some extension concatenation with strlcat where encountered
* Some general cleanups with NULL termination of strings that get immediately
passed to strlcpy/strlcpy-adjacent functions
2022-08-04 14:19:38 +02:00
LibretroAdmin 88bc26da4e Replace some more trivial strlcat calls 2022-08-04 04:05:27 +02:00
LibretroAdmin e7f3432e48 Replace some trivial strlcat usage - use return value of preceding
strlcpy then simply append the extension to it at this location
2022-08-04 03:45:09 +02:00
LibretroAdmin 6dd52d9bb1 Get rid of more boilerplate code in file_path_special.c 2022-08-02 18:05:51 +02:00
LibretroAdmin 556e6702ef Start downscaling on file_path_special.c 2022-08-02 17:54:38 +02:00
LibretroAdmin 70ca20fbf9 (MaterialUI) Fix earlier mistakes made (cd04f770b9) -
we need two separate icon paths cached - one for MaterialUI and one for Ozone (the system
icons)x
2022-08-02 17:25:52 +02:00
LibretroAdmin f472e4d0de (gfx_widgets) Call fill_pathname_application_special outside of hot functions
(gfx widgets) Pre-assemble and store paths that are not subject to change
2022-08-01 02:07:36 +02:00
LibretroAdmin cd04f770b9 (MaterialUI) Don't keep assembling MaterialUI icons path - store it once
in materialui_init
2022-08-01 01:17:39 +02:00
LibretroAdmin e9a6252fc7 (Ozone) Some simplifications - less string concatenation 2022-08-01 01:06:38 +02:00
LibretroAdmin 83a2ec1da8 (Ozone/XMB) Move some fill_pathname_join operations out of the loops since
the output string is not subject to change during iterations
2022-08-01 00:49:33 +02:00
sonninnos 349ef1add2
(XMB) Dynamic wallpaper fixes: (#14247)
- 'Load Content' playlists
- Period in the playlist name
2022-07-29 17:40:11 +02:00
sonninnos 0c4bf5f2e3
(Ozone) Fix playlist thumbnail mouse hover after returning from QM (#14244) 2022-07-29 15:01:44 +02:00
LibretroAdmin 22bef5dc6b (Ozone) Remove unused arrays 2022-07-29 13:07:16 +02:00
LibretroAdmin 592f9384b0 Silence code analysis warnings by Xcode - unused variables - nothing
done with value set - etc
2022-07-29 08:29:43 +02:00
sonninnos 052cdce29b
(Ozone+XMB) Add playlist icons under 'Load Content' (#14243) 2022-07-29 07:12:01 +02:00
sonninnos 6c1de85add
(Ozone+XMB) Thumbnail fixes (#14210) 2022-07-28 19:21:59 +02:00
TheRhysWyrill 54d0d84696
Fixed Purple Rain Theme (#14214)
* Add Purple Rain Theme
2022-07-25 00:44:31 +02:00
TheRhysWyrill 522d1ed16d
Add Purple Rain Theme (#14212)
* Add Purple Rain Theme

* Revert "Add Purple Rain Theme"

This reverts commit ceb896785b.

* Add Purple Rain Theme
2022-07-24 21:26:16 +02:00
libretroadmin 5c98caa7fd Don't NULL-terminate string if we pass it to strlcpy and/or a
file_path function that calls strlcpy under the hood
2022-07-24 06:22:35 +02:00
sonninnos 1f244aac01
(Ozone+XMB) Thumbnail improvements (#14188) 2022-07-21 15:25:12 +02:00
libretroadmin 69ddf03c91 Remove unused return variables 2022-07-12 18:00:33 +02:00
libretroadmin b7926605f4 Remove fill_short_pathname_representation 2022-07-11 21:40:09 +02:00
libretroadmin adf9994828 Deprecate fill_pathname_base_noext 2022-07-11 20:13:44 +02:00
libretroadmin d706c9c5bf Start deprecating trivial functions in file_path.c 2022-07-11 19:56:46 +02:00
libretroadmin c54499c5fb (Ozone) Simplify code 2022-07-09 14:29:49 +02:00
Cthulhu-throwaway 9af17b633e
(Netplay) Host Ban Submenu (#14151) 2022-07-07 16:08:46 +02:00
libretroadmin bf5409881c gfx_display_rotate_z optimizations - if radians is 0, we know cosine
and sine already. Avoid the computation with sinf/cosf and pass it as value to the
function when possible
2022-07-06 11:03:15 +02:00
libretroadmin 6607ff3aaa rotate_draw - get rid of scale_x/y/enable - scaling is only done now
in XMB at two spots - refactor gfx_display_rotate_z so that it only
manipulates the input matrix' Z axis
2022-07-05 20:50:01 +02:00
libretroadmin 336ca1a68c Don't call gfx_display_rotate_z unless the display driver implementation's
'handles_transform' is set to false
2022-07-05 17:20:01 +02:00
libretroadmin 1798651041 (gfx_widgets) scale_enable can b set to false for widgets, scale_factor was always 1.0f
(XMB) set scale_enable to false when scale_factor is 1.0f
2022-07-05 14:18:20 +02:00
libretroadmin 681e1dea94 gfx_display_rotate_z - if scale_x/y/z are all 1.0f, then set
scale_enable to false
2022-07-05 14:02:38 +02:00
sonninnos 494c93df3e
Thumbnail aspect ratio fix (#14145) 2022-07-05 12:01:21 +02:00
sonninnos 91c8541e20
(Ozone+XMB) Savestate thumbnail aspect ratio (#14139) 2022-07-03 16:14:51 +02:00
sonninnos ee8993c76a
Silence Linux snprintf warnings (#14131) 2022-07-02 14:08:27 +02:00
sonninnos 0232fc8e10
(Ozone+XMB) Savestate thumbnail fullscreen + dropdown (#14116)
* (Ozone+XMB) Savestate thumbnail fullscreen toggle

* (Ozone+XMB) Savestate thumbnail dropdown
2022-07-01 23:41:46 +02:00
libretroadmin 367dfd6e71 No longer include file_path_special.h in gfx_display.h 2022-06-26 18:35:07 +02:00
libretroadmin 4e13134c40 Remove unnecessary wrapper function gfx_display_font - just wrapped
around gfx_display_font_file
2022-06-26 18:19:43 +02:00
sonninnos 3615deed9e
Savestate thumbnails (#14093)
* Savestate slot reset action

* (Ozone) Thumbnail visibility corrections
2022-06-23 14:46:29 +02:00
sonninnos 745652bbbf
(Ozone) Playlist metadata reformat (#14082) 2022-06-22 22:56:03 +02:00
sonninnos 10a2103f7e
(GLUI) Add icon for 'Download Thumbnails' (#14084) 2022-06-22 22:55:38 +02:00
sonninnos 807fd35300
(Ozone) Savestate thumbnail fixes (#14079) 2022-06-21 22:37:39 +02:00
libretroadmin 0356c563b8 Simplify gfx_display_check_compatibility 2022-06-20 20:19:16 +02:00
sonninnos 2ff77a363e
(Ozone) Add savestate thumbnails (#14068) 2022-06-20 16:34:41 +02:00
LibretroAdmin 0008691aa0
Remove unused variables (#14065) 2022-06-18 19:28:07 +02:00
sonninnos 1539e720f1 Add proper icons for shader items 2022-06-18 11:22:50 +03:00
sonninnos 325ba96613 More suitable icons for database entries 2022-06-17 18:10:08 +03:00
sonninnos 098f14dcd4 (Ozone) Header icon spacing adjustment 2022-06-17 15:23:42 +03:00
OsirizX c6d51fdb32 [ORBIS] Initial changes for PS4 2022-05-21 16:31:10 +02:00
libretroadmin 28bfa238d4 (RGUI) Buildfix 2022-05-21 13:54:37 +02:00
Gabriel Morazán 9a0f59677b
(Ozone) UWP Build fix. 2022-05-20 22:10:27 -04:00
libretroadmin 3d010cd7a9 (XMB) Cleanups 2022-05-20 22:40:36 +02:00
libretroadmin 63157a6f09 (RGUI) Cleanups 2022-05-20 21:28:15 +02:00
libretroadmin f879a723c6 (MaterialUI) Cleanups 2022-05-20 20:41:46 +02:00
libretroadmin 69d251ff6d (Menu) Cleanups for drivers 2022-05-20 20:31:06 +02:00
libretroadmin d9948c00e1 (Ozone) Cleanups 2022-05-20 19:50:33 +02:00
libretroadmin 05eca53290 (RGUI) Cleanups 2022-05-20 19:20:59 +02:00
libretroadmin 93e0baf715 (RGUI/MaterialUI) Cleanups 2022-05-20 16:10:15 +02:00
libretroadmin 14ab2db692 (Ozone) Cleanups 2022-05-20 14:46:45 +02:00
libretroadmin 07d19dd807 (XMB) Cleanups 2022-05-20 14:13:45 +02:00
jdgleaver f2dca12a22 (Ozone/XMB) Prevent unnecessary thumbnail requests when scrolling through playlists 2022-05-19 16:42:01 +01:00
Ryunam d7cfcd3f9b Add option to toggle automatic refresh rate switching 2022-05-16 17:50:11 +02:00
LibretroAdmin 9dd03f6d9f
Merge pull request #13835 from sonninnos/quickmenu-reorder
Reorganize Quick Menu items
2022-05-16 12:06:19 +01:00
Cthulhu-throwaway 81593fda42 (Netplay) Host Kick Submenu
Path: Netplay -> Host -> Kick Client

- Allows the host to kick clients.
- Allows the host to view client information: connected clients (names), status (playing/spectating) and ping.
2022-05-15 04:04:15 -03:00
Cthulhu-throwaway 80a9c16b3f
(Netplay/Lobby) Add a toggleable filter for passworded rooms (#13920)
In addition, move lobby filters into its own submenu for better organization.
2022-05-08 04:24:58 +02:00
sonninnos 0b55188969 Reorganize Quick Menu items 2022-04-28 18:57:46 +03:00
jdgleaver 37c56d0d09
Add option to disable automatic saving of input remap files (#13894) 2022-04-27 19:12:53 +02:00
Michael Burgardt e185955bc1
Add Catalan language option (#13850) 2022-04-20 14:37:24 +02:00
Joel Puig Rubio 03146e4604
Label Valencian as a Catalan dialect (#13837) 2022-04-19 11:58:50 +02:00
twinaphex ee9b6ba78e Hide Help menu until there is useful info to be shown 2022-04-09 17:23:14 +02:00
Tony 0dbd2bc3b9
(XMB) Shadow adjustments (#13815) 2022-04-02 17:05:35 +02:00
Michael Burgardt fd35162cbe
Add Valencian language option (#13789) 2022-03-30 17:59:09 +02:00
OsirizX 4d367a2b59 [PSL1GHT] Add RSX graphics support for ps3 2022-03-27 18:03:30 +02:00
DisasterMo 2f88edb93f Add 6x10 font compatibility
This adds compatibility with 6x10 fonts. The hope is to be able to add more fonts to RGUI, like Latin Supplement Extended and others, in the future.
2022-03-22 18:14:46 +01:00
sonninnos 8fc14354e9 (RGUI) Add 'Gray Dark + Light' themes 2022-03-22 17:27:54 +01:00
sonninnos d7983f2827 (GLUI) Divider addition fix 2022-03-22 15:24:31 +01:00
sonninnos 8e962e495c (GLUI) Add 'Gray Dark + Light' themes 2022-03-22 13:09:48 +01:00
sonninnos fb444f9d91 (Ozone) Add 'Gray Dark + Light' themes 2022-03-22 06:59:05 +01:00
jdgleaver 05b7ac47c3 Add 'Reset Input Mapping' option to 'Manage Remap Files' menu 2022-03-21 15:08:02 +01:00
sonninnos 27a6210f96 (XMB) Add title margin adjustment 2022-03-18 13:24:50 +01:00
jdgleaver c6e83d23f5 RETRO_ENVIRONMENT_SHUTDOWN Fixes
- Ensure core is properly unloaded when RETRO_ENVIRONMENT_SHUTDOWN is called
- Ensure menu stack is properly flushed when RETRO_ENVIRONMENT_SHUTDOWN is called
2022-03-18 13:15:47 +01:00
jdgleaver ea77410037 Add 'Manage Remap Files' submenu + automatically save input remaps when closing content 2022-03-16 18:59:49 +01:00
sonninnos 646b0f7209 (XMB+Ozone) Fix input icons 2022-03-15 22:34:15 +01:00
Tony c1216fd16d
(XMB) Vertical Fade corrections (#13736) 2022-03-12 16:50:56 +01:00
Nikos Chantziaras d9bc8fb796
Ozone: Add thumbnail scale option (#13620)
* Ozone: Add thumbnail scale option

* CHANGES.md: Add ozone thumbnail bar scaling option
2022-03-11 15:51:41 +01:00
jdgleaver c67806dbd7
Enable manual selection of which cores are displayed in the 'Standalone Cores' menu (#13722) 2022-03-09 17:49:16 +01:00
Mats 249241d7cd
(steam) Initial integration with Steam API w/ mist (#13710) 2022-03-09 15:05:07 +01:00
Michael Burgardt 56f2e2f7b8
Add Czech language option (#13680) 2022-03-07 19:11:39 +01:00
Vladimir Serbinenko c11a798467
Series of djgpp fixes (#13705)
* features_cpu: Fix clock for djgpp

* frontend_dos_set_fork: Fix wrong id names

* dos_input: Fix missing indexing

* dos_joypad: Fix wrong id name

* Fix menu drawing

Menu is already prescaled to VGA_WIDTH x VGA_HEIGHT in vga_menu_frame. We need
to always use those dimensions

* Change dos compilation from griffin to common

* Set vga menu size to 320x200

* Add DOS compilation in gitlab-ci.yml
2022-03-05 15:53:18 +01:00
twinaphex 460f5e745d Silence some MSVC 2019 code analysis warnings 2022-03-05 14:39:56 +01:00
Vladimir Serbinenko 4a53c6771c
Several fixes and improvements do NGC and Wii (#13698)
* Support new elf2dol path in Makefile.griffin

* Fix NULL pointer dereference when no core info is available

* Fix double include of different versions of libogc

* Move ngc and wii to Makefile.common

Resulting binary is 60K *smaller*. This is surprising but probably due to
less inlining happening

* gx_gfx: Fix hang on gfx initialization

* Remove sthread_isself on NGC/Wii

It relies on pthread_equal that is not there for either legacy pthreads
or normal pthreads on those platforms

* Wii networking

* Missing includes in split

* Network fixes

* Fix logging of non-format string as a format

* Support for gx netlogger

* Network fix

* Network fixes

* Network info

* gx: Move config files to app directory

Otherwise it clashes between wiiU and vWii version with unpredictable
effects
2022-03-04 13:43:00 +01:00
jdgleaver ee4486068d
(XMB+Ozone) Improve efficiency/accuracy of History/Favorites icon rendering (#13661) 2022-02-23 16:53:24 +01:00
jdgleaver 9b0cb0fc92
Add 'Standalone Cores' menu (#13655) 2022-02-22 19:23:48 +01:00
MrHuu a7b7472c34
(RGUI) Add dynamic theme (#13612)
* (RGUI) Add dynamic theme

* (RGUI) Cleanup

* (RGUI) Apply jdgleaver's dynamic theme patch
2022-02-16 15:56:10 +01:00
Tony 6d5d2e722d
Logging cleanups (#13579) 2022-01-31 18:05:23 +01:00
jdgleaver 6ee3c14779
Add 'Core System Files Downloader' entry to the Online Updater (#13524) 2022-01-24 16:41:29 +01:00
Michael Burgardt 311fec15d9
Add Indonesian, Swedish and Ukrainian language options (#13490)
* Add Indonesian, Swedish and Ukrainian language options

* Enable Indonesian and Swedish localisations for RGUI
2022-01-19 19:12:55 +01:00
Tony b7d77e9484
(XMB) Optional vertical list item fade (#13455) 2022-01-07 08:46:49 +01:00
Tony 17f63e6e39
(XMB+Ozone) Category + History/Favorites icons (#13433)
* (XMB+Ozone) Icons for matching core option categories

* (XMB+Ozone) Playlist content icon option for history/favorites
2021-12-30 20:14:57 +01:00
Tony 9da43ad34e
(RGUI) Add Finnish to supported languages (#13389) 2021-12-21 21:15:26 +01:00
Cthulhu-throwaway 690c802921
Netplay Stuff (#13375)
* Netplay Stuff

## PROTOCOL FALLBACK
In order to support older clients a protocol fallback system was introduced.
The host will no longer send its header automatically after a TCP connection is established, instead, it awaits for the client to send his before determining which protocol this connection is going to operate on.
Netplay has now two protocols, a low protocol and a high protocol; the low protocol is the minimum protocol it supports, while the high protocol is the highest protocol it can operate on.
To fully support older clients, a hack was necessary: sending the high protocol in the unused client's header salt field, while keeping the protocol field to the low protocol. Without this hack we would only be able to support older clients if a newer client was the host.
Any future system can make use of this system by checking connection->netplay_protocol, which is available for both the client and host.

## NETPLAY CHAT
Starting with protocol 6, netplay chat is available through the new NETPLAY_CMD_PLAYER_CHAT command.
Limitations of the command code, which causes a disconnection on unknown commands, makes this system not possible on protocol 5.
Protocol 5 connections can neither send nor receive chat, but other netplay operations are unaffected.
Clients send chat as a string to the server, and it's the server's sole responsability to relay chat messages.
As of now, sending chat uses RetroArch's input menu, while the display of on-screen chat uses a widget overlay and RetroArch's notifications as a fallback.
If a new overlay and/or input system is desired, no backwards compatibility changes need to be made.
Only clients in playing mode (as opposed to spectating mode) can send and receive chat.

## SETTINGS SHARING
Some settings are better used when both host and clients share the same configuration.
As of protocol 6, the following settings will be shared from host to clients (without altering a client's configuration file): input latency frames and allow pausing.

## NETPLAY TUNNEL/MITM
With the current MITM system being defunct (at least as of 1.9.X), a new system was in order to solve most if not all of the problems with the current system.
This new system uses a tunneling approach, which is similar to most VPN and tunneling services around.

Tunnel commands:
RATS[unique id] (RetroArch Tunnel Session) - 16 bytes -> When this command is sent with a zeroed unique id, the tunnel server interprets this as a netplay host wanting to create a new session, in this case, the same command is returned to the host, but now with its unique session id. When a client needs to connect to a host, this command is sent with the unique session id of the host, causing the tunnel server to send a RATL command to the host.
RATL[unique id] (RetroArch Tunnel Link) - 16 bytes -> The tunnel server sends this command to the host when a client wants to connect to the host. Once the host receives this command, it establishes a new connection to the tunnel server, sending this command together with the client's unique id through this new connection, causing the tunnel server to link this connection to the connection of the client.
RATP (RetroArch Tunnel Ping) - 4 bytes -> The tunnel server sends this command to verify that the host, whom the session belongs to, is still around. The host replies with the same command. A session is closed if the tunnel server can not verify that the host is alive.

Operations:
Host -> Instead of listening and accepting connections, it connects to the tunnel server, requests a new session and then monitor this connection for new linking requests. Once a request is received, it establishes a new connection to the tunnel server for linking with a client. The tunnel server's address and port are obtained by querying the lobby server. The host will publish its session id together with the rest of its info to the lobby server.
Client -> It connects to the tunnel server and then sends the session id of the host it wants to connect to. A host's session id is obtained from the json data sent by the lobby server.

Improvements (from current MITM system):
No longer a risk of TCP port exhaustion; we only use one port now at the tunnel server.
Very little cpu usage. About 95% net I/O bound now.
Future backwards compatible with any and all changes to netplay as it no longer runs any netplay logic at MITM servers.
No longer operates the host in client mode, which was a source of many of the current problems.
Cleaner and more maintainable system and code.

Notable functions:
netplay_mitm_query -> Grabs the tunnel's address and port from the lobby server.
init_tcp_socket -> Handles the creation and operation mode of the TCP socket based on whether it's host, host+MITM or client.
handle_mitm_connection -> Creates and completes linking connections and replies to ping commands (only 1 of each per call to not affect performance).

## MISC
Ping Limiter: If a client's estimated latency to the server is higher than this value, connection will be dropped just before finishing the netplay handshake.
Ping Counter: A ping counter (similar to the FPS one) can be shown in the bottom right corner of the screen, if you are connected to a host.
LAN Discovery: Refactored and moved to its own "Refresh Netplay LAN List" button.

## FIXES
Many minor fixes to the current netplay implementation are also included.

* Remove NETPLAY_TEST_BUILD
2021-12-19 16:58:01 +01:00
Tomáš Kelemen (vudiq) efad7a7dcc
Lakka: CD-ROM eject menu item
Adds new entry (where the entry for dumping CD is) to eject the disc -
in case the CD drive has no physical button to eject the disc / the
button does not work. Useless for most, but quality of life improvement
for some.

Upstream of patch used by Lakka at build time
1943ad296e/packages/libretro/retroarch/patches/retroarch-99-eject_disc.patch
2021-11-18 00:36:01 +01:00
twinaphex 13d662d76b Silence some warnings 2021-11-11 22:28:16 +01:00
twinaphex 86f899c844 Revert "Shorten character arrays that are passed to fill_pathname_base_noext"
This reverts commit 318108ac82.
2021-11-10 08:22:19 +01:00
twinaphex 28bef36c74 Remove retroarch_data.h and retroarch_fwd_decls.h 2021-11-10 01:18:24 +01:00
twinaphex 318108ac82 Shorten character arrays that are passed to fill_pathname_base_noext 2021-11-10 00:09:33 +01:00
twinaphex f671ce4f8c Move global->name to runloop_st 2021-11-09 06:03:00 +01:00
Omar Saleem b4878a8e7b
feat: solarized light ozone theme (#5)
* feat: adding solarized dark theme to ozone

* fix: variable not defined in header

* fix: added string for selecting theme in menu

* fix: added message hash for string

* feat: copied solarized dark translations into msg hashes

* fix: forgot to change name of enum label after copying

* first pass of new colors

* added selection border and fixed sublabel color

* sublabel color from blue to muted gray

* trying cyan for sublabel

* adjusted selected text color to match philosophy from solarized website

* testing what the entries_ colors do

* chose colors for entries_, adjusted other border and bgs

* match selection border to sublabel color

* trying gray for sublabel

* accidentally put the color in the wrong place, reverting and updating

* trying to change selected option color to orange

* not feeling orange, lets try teal

* try for orange border

* try for magenta border

* try for violet border

* trying blue border again

* trying omar blue bc why not

* reverting to regular blue for icons and green for border

* try magenta for footer border

* trying font color for footer border

* trying to get message background to show

* can't get it to render, but changed message background to violet

* testing sidebar changes

* sidebar colors

* lighter sidebar color

* trying gray sidebar

* try a gradient

* screwed up one of the coordinates

* reversing gradient

* attempting gradient with colors i made up

* accidentally wrote gradient to dracula instead of solarized dark

* adding gradient to the top, reversing bottom gradient

* randomly trying shuffling bottom gradient coords

* moving top right coordinate somewhere else

* swapped top two bottom coords to see

* swapped them back, i got lucky and things were right

* think i figured out the order,  BL, BR, TL, TR

* making background gradient lil darker

* fixed coords

* lessening gradient effect

* lessening gradient effect, but by making darker instead of lighter

* of course, messed up two coords

* removed top and bottom gradients

* dark and flat sidebar

* forgot to change running background

* made running background a bit less transparent since this is a low contrast theme

* added underscore to theme name

* adjusting message background color

* fixing message background color

* fixed cursor color border

* adjusting text to be one notch brighter, base0 -> base1, base01 -> base0

* adjusting sublabel text to use base00 instead, its in between base01 and base0

* added message hashes for light theme name

* added defines and enums for the light theme

* added solarized light structs into ozone.c, theyre all clones of dark for now

* fixing solarized dark ozone theme

fixing name of theme in ozone.c so assets load properly, fixing cursor and message colors to be green instead of purple

* added message hashes for light theme name

* added defines and enums for the light theme

* added solarized light structs into ozone.c, theyre all clones of dark for now

* i had based this branch on the wrong branch, fixed

* first pass, only changing background and regular text

* trying orange and magenta highlights

* Revert "trying orange and magenta highlights"

This reverts commit 1f1e107888cee0e97c6354a8d114863b39af8d00.

* applying the new colors to the right theme this time :)

* trying red instead of pink

* trying magenta icons in a desperate attempt to justify the use of the color

* trying magenta icons, orange labels and selector

* back to orange and red, sigh

* trying sidebar colors

* fixing sidebar gradient

* light theme red animated border colors

* trying magenta for second border color

* that was bad, trying a less light red

* going even darker

* made cursor border get darker instead of lighter

* that was a little too dark

* changed light theme running background to be..light
2021-10-16 16:17:16 -04:00
Omar Saleem 038b28c5f2
updating text labels to be brighter (#4)
* adjusting text to be one notch brighter, base0 -> base1, base01 -> base0

* adjusting sublabel text to use base00 instead, its in between base01 and base0
2021-10-16 12:42:45 -04:00
Omar Saleem 64dabb0388 Revert "Solarized light (#3)"
This reverts commit 485d07691d.
2021-10-15 23:51:25 -04:00
Omar Saleem 485d07691d
Solarized light (#3)
* feat: adding solarized dark theme to ozone

* fix: variable not defined in header

* fix: added string for selecting theme in menu

* fix: added message hash for string

* feat: copied solarized dark translations into msg hashes

* fix: forgot to change name of enum label after copying

* first pass of new colors

* added selection border and fixed sublabel color

* sublabel color from blue to muted gray

* trying cyan for sublabel

* adjusted selected text color to match philosophy from solarized website

* testing what the entries_ colors do

* chose colors for entries_, adjusted other border and bgs

* match selection border to sublabel color

* trying gray for sublabel

* accidentally put the color in the wrong place, reverting and updating

* trying to change selected option color to orange

* not feeling orange, lets try teal

* try for orange border

* try for magenta border

* try for violet border

* trying blue border again

* trying omar blue bc why not

* reverting to regular blue for icons and green for border

* try magenta for footer border

* trying font color for footer border

* trying to get message background to show

* can't get it to render, but changed message background to violet

* testing sidebar changes

* sidebar colors

* lighter sidebar color

* trying gray sidebar

* try a gradient

* screwed up one of the coordinates

* reversing gradient

* attempting gradient with colors i made up

* accidentally wrote gradient to dracula instead of solarized dark

* adding gradient to the top, reversing bottom gradient

* randomly trying shuffling bottom gradient coords

* moving top right coordinate somewhere else

* swapped top two bottom coords to see

* swapped them back, i got lucky and things were right

* think i figured out the order,  BL, BR, TL, TR

* making background gradient lil darker

* fixed coords

* lessening gradient effect

* lessening gradient effect, but by making darker instead of lighter

* of course, messed up two coords

* removed top and bottom gradients

* dark and flat sidebar

* forgot to change running background

* made running background a bit less transparent since this is a low contrast theme

* added underscore to theme name

* adjusting message background color

* fixing message background color

* fixed cursor color border

* adjusting text to be one notch brighter, base0 -> base1, base01 -> base0

* adjusting sublabel text to use base00 instead, its in between base01 and base0

* added message hashes for light theme name

* added defines and enums for the light theme

* added solarized light structs into ozone.c, theyre all clones of dark for now

* fixing solarized dark ozone theme

fixing name of theme in ozone.c so assets load properly, fixing cursor and message colors to be green instead of purple

* added message hashes for light theme name

* added defines and enums for the light theme

* added solarized light structs into ozone.c, theyre all clones of dark for now

* i had based this branch on the wrong branch, fixed

* first pass, only changing background and regular text

* trying orange and magenta highlights

* Revert "trying orange and magenta highlights"

This reverts commit 1f1e107888cee0e97c6354a8d114863b39af8d00.

* applying the new colors to the right theme this time :)

* trying red instead of pink

* trying magenta icons in a desperate attempt to justify the use of the color

* trying magenta icons, orange labels and selector

* back to orange and red, sigh

* trying sidebar colors

* fixing sidebar gradient

* light theme red animated border colors

* trying magenta for second border color

* that was bad, trying a less light red

* going even darker

* made cursor border get darker instead of lighter

* that was a little too dark

* changed light theme running background to be..light
2021-10-15 23:44:42 -04:00
Omar Saleem 0c017a2c82 reverting so i can squash commits 2021-10-15 16:36:09 -04:00
Omar Saleem 5226a0659a
new ozone theme: solarized dark (#1)
* feat: adding solarized dark theme to ozone

* fix: variable not defined in header

* fix: added string for selecting theme in menu

* fix: added message hash for string

* feat: copied solarized dark translations into msg hashes

* fix: forgot to change name of enum label after copying

* first pass of new colors

* added selection border and fixed sublabel color

* sublabel color from blue to muted gray

* trying cyan for sublabel

* adjusted selected text color to match philosophy from solarized website

* testing what the entries_ colors do

* chose colors for entries_, adjusted other border and bgs

* match selection border to sublabel color

* trying gray for sublabel

* accidentally put the color in the wrong place, reverting and updating

* trying to change selected option color to orange

* not feeling orange, lets try teal

* try for orange border

* try for magenta border

* try for violet border

* trying blue border again

* trying omar blue bc why not

* reverting to regular blue for icons and green for border

* try magenta for footer border

* trying font color for footer border

* trying to get message background to show

* can't get it to render, but changed message background to violet

* testing sidebar changes

* sidebar colors

* lighter sidebar color

* trying gray sidebar

* try a gradient

* screwed up one of the coordinates

* reversing gradient

* attempting gradient with colors i made up

* accidentally wrote gradient to dracula instead of solarized dark

* adding gradient to the top, reversing bottom gradient

* randomly trying shuffling bottom gradient coords

* moving top right coordinate somewhere else

* swapped top two bottom coords to see

* swapped them back, i got lucky and things were right

* think i figured out the order,  BL, BR, TL, TR

* making background gradient lil darker

* fixed coords

* lessening gradient effect

* lessening gradient effect, but by making darker instead of lighter

* of course, messed up two coords

* removed top and bottom gradients

* dark and flat sidebar

* forgot to change running background

* made running background a bit less transparent since this is a low contrast theme
2021-10-15 03:16:13 -04:00
Salvador 58e7dd8a1a
Add Miyoo target (#12860)
* add miyoo target
2021-10-08 13:53:49 +02:00
Jean-André Santoni e839cf8434 Fix indentation in xmb.c 2021-10-05 11:29:48 +07:00
twinaphex fde3406d1b Get rid of input_event_get_osk_ptr/get_osk_grid 2021-10-01 07:37:33 +02:00
twinaphex e886e908d5 Create consistent naming conventions - use retroarch_ instead
of rarch_ for some functions for all functions coming from retroarch.h
2021-09-28 12:56:10 +02:00
twinaphex 1ff024be26 Don't do rotate_z call for every draw_texture_slice call 2021-09-21 21:38:07 +02:00
twinaphex 6eeebeab25 Get rid of gfx_display_set_msg_force 2021-09-21 21:10:38 +02:00
twinaphex 83ce4259a0 Have only one getter for runloop_state 2021-09-21 19:08:26 +02:00
twinaphex 33f075191d Silence warning for libnx 2021-09-21 17:53:50 +02:00
twinaphex 7c8c53fb2d Get rid of menu_driver_get_ptr - we are going to be using only one
getter for each component state instead of several getters
2021-09-21 07:14:27 +02:00
twinaphex 295aa84a9e Cleanups 2021-09-20 20:43:05 +02:00
twinaphex 5e4ce74000 Get rid of duplicate code in gfx_widgets -
gfx_display_get_widget_dpi_scale made redundant
2021-09-13 20:21:36 +02:00
twinaphex 490233f3c5 wite_texture is now a static global variable inside gfx_display.c
- no longer referenced outside
2021-09-13 19:55:53 +02:00
twinaphex fe14274b96 Get rid of referencing of gfx_display_white_texture outside 2021-09-13 19:20:43 +02:00
twinaphex fc4d4c53cd Cleanup some references to gfx_display_white_texture and
don't assume NULL == 0 for uintptr_t
2021-09-13 19:07:09 +02:00
twinaphex 3d303a63df (Ozone) Reduce rotate_z calls 2021-09-12 17:14:03 +02:00
twinaphex c3cd3b34b0 (XMB) Reduce amount of times we call blend_begin/blend_end and
rotate_z
2021-09-12 17:06:59 +02:00