Commit Graph

3660 Commits

Author SHA1 Message Date
Michael Burgardt b89692c532
Add Hungarian language option (#14585) 2022-11-04 19:52:39 +01:00
neil4 b98c53ddb7
Improve haptic feedback for input overlays (#14517)
Repurpose vibrate_on_keypress to enable device's standard keypress feedback on overlay key/button state changes

- Add keypress_vibrate function ptr to input_driver_t (only implemented on Android for now)
- (Android) Remove APP_CMD_VIBRATE_KEYPRESS
- (Android) Add doHapticFeedback, called directly to avoid latency
2022-10-16 09:58:09 +02:00
Michael Burgardt 254ac65549
Add British English language option (#14504) 2022-10-12 23:26:00 +02:00
LibretroAdmin 78ffb973b1
Add WIIU ifdef for socket_connect_with_timeout and revert (#14503)
else default codepath
2022-10-10 18:04:05 +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
gblues c51b1491ef
Get mkdir working on wiiu (#14490)
== DETAILS
Looks like Wii U's mkdir() implementation doesn't like trailing
slashes either.

Since we already have an implementation to handle this, I just added
Wii U to it.
2022-10-07 06:19:54 +02:00
LibretroAdmin 951b98fe1b
Bools to flags (#14486)
* (D3D11) Use flags instead of bools

* (RPNG) Use flags

* Simplify rpng_is_valid

* (rpng_is_valid) Prevent potential NULL pointer dereference
(D3D11) Some whitespacing changes/code nits

* (task_pl_thumbnail_download.c) Simplify some code
2022-10-06 19:26:38 +02:00
gblues 714878783a
Fix socket_connect_with_timeout for WIIU (#14483)
== DETAILS
Previous work to clean up the HTTP networking code surfaced a bug
in `socket_connect_with_timeout()` that caused connections to
immediately fail. Specifically, achievements stopped working because
the http task code path was rewritten to use
`socket_connect_with_timeout` instead of `socket_connect`.

The bug appears to come down to an unsupported socket option. The final
check is to try to read `SO_ERROR` from the socket, and on WIIU the
`getsockopt()` call returns -1 and sets `lastsocketerr()` (WIIU's
equivalent to errno) to 16.

The fix is to change the logic to only abort the connection if that
`getsockopt()` call succeeds *and* the error is set.
2022-10-06 17:01:19 +02:00
LibretroAdmin b3bb62881a Disable poll support for MSVC 2010 and earlier 2022-10-06 01:27:27 +02:00
LibretroAdmin 92e996e272 Revert "(Win32/Sockets/Networking) WSAPoll is only available since Windows Vista; disable"
This reverts commit d832ce15d6.
2022-10-06 00:46:33 +02:00
LibretroAdmin d832ce15d6 (Win32/Sockets/Networking) WSAPoll is only available since Windows Vista; disable
NETWORK_HAVE_POLL for MSVC2003/2005/2010
2022-10-05 23:54:25 +02:00
LibretroAdmin d0c6dfee0b Cleanup bitmask setting 2022-10-05 18:43:58 +02:00
Cthulhu-throwaway d774256e0d
(Network) Add the const qualifier to some function parameters (#14463) 2022-10-03 07:35:37 +02:00
Cthulhu-throwaway daf8cb9bc8
(Netplay) Add a private or CGNAT address warning to UPnP (#14461) 2022-10-03 01:18:34 +02:00
reallibretroadmin 0033224c25 Fix some implicit conversion signedness warnings 2022-10-02 03:22:34 +02:00
LibretroAdmin 4251eb5f61 Turn uwp_mkdir_impl function static 2022-09-30 17:50:07 +02:00
MrHuu a878bd3f95
(Network) Adapt POLL for 3DS platform (#14431) 2022-09-25 17:15:56 +02:00
Filipe Azevedo c10a4d632f
Fix label sanitization (#14428)
This simplify and trim whitespaces left.
ie, starting, trailing and multiple consecutive whitespaces are now
removed.
2022-09-18 19:25:21 +02:00
MrHuu dbba69a2d1
(Network) Check connect errno for successful connection (#14420) 2022-09-18 01:15:09 +02:00
MrHuu b88c297f8e
(Network) Don't call getsockopt on 3DS platform (#14389) 2022-09-06 01:51:15 +02:00
Filipe Azevedo 788d602ec7
Fix various vfs / file stream issues (#14384)
* VFS: Fix stream size after truncate / write calls
Those changes ensure the stream size get updated correctly after a
truncate or write call.
* File Stream: Fix file stream eof
After a write call, EOF would be incorrect because it was only updated
after a read call.
2022-09-04 23:11:54 +02:00
LibretroAdmin 1e035b9385 (file_list) Get rid of superfluous small functions 2022-09-04 17:52:06 +02:00
LibretroAdmin dfb4b603e4 Get rid of superfluous wrapper function file_list_get_at_offset 2022-09-04 07:30:21 +02:00
LibretroAdmin 1a24bfe60c (file_list) Get rid of useless wrapper functions 2022-09-04 05:39:16 +02:00
LibretroAdmin 3abd414656 Backport ebe5f2cc3d -
Remove config_file_exists, replace with path_is_valid
2022-09-03 06:35:41 +02:00
LibretroAdmin ab39c6c2c8 * VFS:
- Simplify retro_vfs_file_seek_impl
- Some cleanups of vfs_implementation_uwp.cpp - backport some of the
improvements made to the non-UWP version
2022-09-03 01:42:57 +02:00
LibretroAdmin 8f14143859 Don't do implicit memsets for struct timespec - always has only
a tv_sec and tv_nsec member field which always get set
2022-09-02 23:47:58 +02:00
Themaister 6038d503c2 Move over to VK_EXT_debug_utils.
Debug marker is deprecated years ago.
2022-08-31 19:45:21 +02:00
LibretroAdmin fcbc71fef8 retro_vfs_opendir_impl - one less unnecessary strlen for Win32 2022-08-29 10:04:18 +02:00
LibretroAdmin 8f47621857 (libretro-common) Remove unused jsonsax files - we use rjson now instead 2022-08-26 17:38:34 +02:00
LibretroAdmin 288b2da13e Create separate file compat_strldup.c since compat_strl.c is not
getting built-in for Apple targets at all
2022-08-25 16:50: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
LibretroAdmin da13fb0f48 Don't include errno.h in files that don't justify its use 2022-08-25 05:19:30 +02:00
Cthulhu-throwaway e45958b25a
(Network) Get rid of the timeout_enable parameter for socket_connect (#14351) 2022-08-25 04:40:19 +02:00
LibretroAdmin 9aef0eff90 Resync 2022-08-24 16:41:21 +02:00
LibretroAdmin 6b9a382f2e Resync 2022-08-24 15:09:51 +02:00
LibretroAdmin 6894600d41 (stdstring) word_wrap - use strlcpy instead of strcpy 2022-08-24 15:06:03 +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
Jamiras 85c44f9245
more thread-awareness in task callbacks (#14337)
* more thread-awareness in task callbacks
2022-08-23 15:11:11 +02:00
LibretroAdmin 6f738d4fbd Gradually get rid of strcpy_literal
Reasons:
1 - Just a macro for strcpy
1.2 - doesn't have a return type unlike strlcpy, can't be used
for string concatenation
1.3 - unsafe compared to strlcpy

Do either manual string assignment per character or strlcpy, no
inbetween by resorting to strcpy
2022-08-23 15:04:47 +02:00
LibretroAdmin a96d12e8bc Put back property locking in threaded_gather_internal - without this,
core updater tasks would crash/segfault - heap corruption
2022-08-22 03:41:17 +02:00
Cthulhu-throwaway e1a139ec0f
(Network Stream) Add function netstream_eof (#14335) 2022-08-21 21:52:57 +02:00
Cthulhu-throwaway f27c8c0c1d
(Network Stream) Add string functions (#14333) 2022-08-20 16:36:13 +02:00
Jamiras e0a065d20e
don't hold property_lock while gathering tasks (#14328) 2022-08-18 04:28:40 +02:00
Filipe Azevedo e8668a5c71
rzipstream_tell: Fix missing tell for non compressed files (#14313)
The tell call would always return the compressed stream position.
2022-08-15 17:48:09 +02:00
Filipe Azevedo d62b866237
rzipstream_gets: Fix missing eol (#14311)
The eol was always stripped from the data, leading to behavior
differences with filestream_gets and general read line implementations.
2022-08-11 23:17:00 +02:00
Cthulhu-throwaway d3f3c58e61
(Network) Fix getnameinfo_retro's port value for HAVE_SOCKET_LEGACY platforms (#14303) 2022-08-08 15:28:42 +02:00
Cthulhu-throwaway 078f712b34
(WiiU) Attempt fix (#14302) 2022-08-07 20:32:27 +02:00
LibretroAdmin c7786a45e1 Create path_get_extension_mutable and use it in menu_explore function
for trivial extension replacement in string
2022-08-06 19:06:31 +02:00
Cthulhu-throwaway a7c93eb9ed
(PS3) Silence Warnings (#14287) 2022-08-05 12:45:35 +02:00
Cthulhu-throwaway b04cb4b1e5
(PS3) Buildfix (#14285) 2022-08-05 04:19:28 +02:00
Cthulhu-throwaway add4a1e8a0
(Network) Define inet_ntop and inet_pton for older Windows versions (#14284) 2022-08-05 02:23:35 +02:00
Cthulhu-throwaway c6b99a5df0
(Network) Always have getaddrinfo and getnameinfo flags defined (#14283) 2022-08-04 23:06:28 +02:00
LibretroAdmin 2e5df6a973 fill_str_dated_filename: add size_t return value 2022-08-04 17:18:32 +02:00
LibretroAdmin 0c21a92581 * fill_pathname_expand_special will NULL-terminate string so not
necessary to NULL terminate passed string
* fill_pathname - add size_t return value
* Some general cleanups
2022-08-04 17:10:51 +02:00
LibretroAdmin 9ae46d2648 (file_path.c)
- file_path_expand_special - cut down on code duplication
- file_path_expand_special - add size_t return value
- fill_pathname_abbreviate_special - add size_t return value
2022-08-04 16:53:53 +02:00
LibretroAdmin 5172fe2ba6 fill_pathname_abbreviated_or_relative - add return value 2022-08-04 16:44:01 +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
Cthulhu-throwaway 3aa1811ca9
(Network) Add getnameinfo_retro (#14278) 2022-08-04 13:22:49 +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 f4c22cb236 (file_path.c) fill_pathname_join - do away with one less strlcat 2022-08-03 23:54:10 +02:00
LibretroAdmin c240340c91 (vfs_implementation.c) We need to include stdstring.h for string_is_empty 2022-08-03 19:49:02 +02:00
LibretroAdmin 53d2fdbd97 net_http_urlencode - avoid one strlen call by clever use of strlcpy
return value and some subtraction arithmetic
2022-08-03 15:53:12 +02:00
LibretroAdmin 8e6369ef33 (vfs_implementation.c) An unnecessary repeated conditional removed 2022-08-03 15:19:54 +02:00
LibretroAdmin 7871e9fbc1 retro_vfs_file_open_impl - bunch of inefficiencies here:
- was doing a strlen first on path to calculate the length
- stored at least three local variables for string constants
- did another memcmp check after doing the length comparison conditional first
Simplify all this into a simple string comparison checking if the
path starts with the string 'vfsonly://' and/or 'cdrom://' -
avoid both strlen and memcmp cost. Also removed the need for
stdstring.h header include - just translated STRLEN_CONST into
(sizeof(x)-1) - no header file dependency for the only usage of stdstring.h
in this file
2022-08-03 15:07:02 +02:00
LibretroAdmin 33c9f56df0 (RPNG) PNG decoder - proper namespacing of functions, general cleanups 2022-08-02 15:55:26 +02:00
LibretroAdmin 342d3da620 (RPNG optimizations)
- Use memcpy to inflate_buf into array
- Some miscellaneous tweaks
2022-08-02 15:17:37 +02:00
LibretroAdmin e6f3a387b2 png_reverse_filter_copy_line - optimization - paeth would always return
'b' input value (and input is unsigned, so abs would have no effect), so
get rid of the paeth function call for the first loop iteration
2022-08-02 13:22:13 +02:00
LibretroAdmin 78f4e0abda C89_BUILD buildfix 2022-08-02 11:34:41 +02:00
LibretroAdmin a974cef001 (sinc resampler) Simplifications - call besseli0 directly instead of
through kaiser_window_function wrapper function - get rid of some unnecessary
sqrtf calls and such, some other small opts
2022-08-02 11:29:05 +02:00
LibretroAdmin 605c4608d9 Optimize fill_pathname_join - avoid the call to fill_pathname_slash()
which would have an implicit strlen cost
2022-08-01 22:14:26 +02:00
LibretroAdmin e4bff7c12c Move rjsonwriter helper inline functions over to separate file rjson_helpers.h 2022-08-01 17:41:34 +02:00
LibretroAdmin f79875536a (libretro-common) Move file_crc32 out of encoding_crc32.c - we don't want file I/O
code in encodings/encoding_crc32.c
2022-08-01 14:04:01 +02:00
LibretroAdmin ec6f4c1f55 (libretro-common) refinements to documentation 2022-08-01 13:06:35 +02:00
LibretroAdmin 107c69ab9e (libretro-common) More documentation refinement 2022-08-01 11:03:58 +02:00
LibretroAdmin c7a1d83675 (libretro-common) Start documenting leaf functon calls in function documentation
(libretro-common) docs - document when string has to be non-NULL or else UB (undefined behavior)
(libretro-common) stdstring.c - string_hex_to_unsigned - make strlen call unneeded
2022-08-01 09:52:39 +02:00
LibretroAdmin fca6015011 (file_path) path_basedir - remove unnecessary strlcpy - add return value comment
to another function
2022-07-31 12:45:14 +02:00
LibretroAdmin 88bdaffa87 path_basedir_wrapper - get rid of unnecessary strlcpy 2022-07-31 12:42:50 +02:00
LibretroAdmin 36edb15c5b path_parent_dir - don't do implicit strlen inside 2022-07-31 12:31:55 +02:00
Cthulhu-throwaway 9b10579a54
(Network) Fix getaddrinfo_retro (#14261) 2022-07-31 11:22:28 +02:00
Cthulhu-throwaway f96ef5407a
(Network) Refactor getaddrinfo_retro (#14258) 2022-07-30 22:43:32 +02:00
LibretroAdmin 2c3c9e1e71 Add note to string_list_join_concat 2022-07-27 15:51:16 +02:00
Cthulhu-throwaway 29f0ba2e71
(Network/Vita) Add net_ifinfo support (#14225) 2022-07-26 16:10:23 +01:00
Cthulhu-throwaway 97e3ef6ec7
(Network/Vita) Do not multiply negative timeout values (#14217) 2022-07-25 07:55:08 +02:00
Cthulhu-throwaway 07e03c86fa
(Network/Vita) Fix epoll's timeout parameter (#14216) 2022-07-25 07:07:14 +02:00
libretroadmin a6a4b845a4 Some string simplifications - don't NULL terminate if we pass
string to strlcpy and/or a file_path function using strlcpy under
the hood - don't do strlcpy for trivial setting of 2/3 char strings
2022-07-25 04:39:08 +02:00
libretroadmin 8d12918243 (libretro-common) Small cleanups - don't NULL-terminate string
if we pass it off to fill_pathname_join (or another function that
uses strlcpy under the hood)
2022-07-22 19:33:30 +02:00
libretroadmin 05622ebe85 Some trivial strlen usage simplifications where possible, removing
the need for strlen
2022-07-20 17:23:28 +02:00
libretroadmin ba35f0de93 (file_path.c) Do away with trivial strlen checks (checked if
return number was <= 2/>= 2, instead check first two characters
of the string directly instead for NULL
2022-07-19 23:23:37 +02:00
libretroadmin 7ff58265bf Simplify fopen_utf8 2022-07-19 21:31:26 +02:00
libretroadmin f994c0b371 Get rid of superfluous wrapper function config_entry_exists 2022-07-19 21:00:40 +02:00
libretroadmin 4b5c7856e6 Remove some more explicit NULL-termination when we're calling a
string function that calls strlcpy under the hood
2022-07-19 20:43:12 +02:00
LibretroAdmin 29774f5b7a
Small opts (#14186)
* (joypad_connection) Small optimizations -
* Turn functions static where possible
* Hose strlen call out of loop

* (input_driver.c) General cleanups:
* Some small code/style nits

task_screenshot.c:
* Move widget callback function for screenshots to task_screenshot.c

(file_path.c):
* Turn get_pathname_num_slashes into static function
* path_linked_list_free - always returns true, so get rid of return value
* path_linked_list_new - fix function signature
* path_get_archive_delim - do not NULL-terminate string, already done by strlcpy later on

General:
* Slight optimizations - use int/size_t for loop counter variable instead of unsigned
* Take advantage of fact that strlcpy already NULL-terminates, so don't do this explicitly
outside if we're just going to end up calling strlcpy/fill_pathname_join on it anyway
2022-07-19 10:01:33 +02:00
Cthulhu-throwaway 83ed9a5980
(Network) Implement binary network streams (#14180) 2022-07-17 19:43:48 +02:00
libretroadmin 610292db61 Replace more trivial sscanf usage with strtol 2022-07-17 18:38:28 +02:00
libretroadmin c89f6cf0a9 Replace more trivial usage of sscanf 2022-07-17 18:33:54 +02:00
libretroadmin 113b9e96d1 Miscellaneous cleanups to VFS layers:
* Indents
* Simplifications
2022-07-17 07:29:00 +02:00
libretroadmin e4b33fd0e6 (formats/json/rjson.c) Get rid of some implicit strlens and pass
size parameter to the functions instead˜
2022-07-17 06:58:22 +02:00
libretroadmin c570e657c1 (CDROM) Fix memory leak caught with asan - buf passed to filestream_read_file
was not being freed after we were done with it (we are done with it after iterating
over the string list)
2022-07-15 19:00:59 +02:00
libretroadmin 675ff6b9b6 net_http_send_str - reduce the amount of times strlen is called by
hardcoding the length when we feed the function a constant string
(with STRLEN_CONST)
2022-07-15 17:37:30 +02:00