* Changes
-Added support for OrbisImeParamExtended (extended IME parameters) in ImeHandler, ImeState, and ImeUi
-Updated all relevant constructors and logic to propagate and store the extended parameter
- Now fully supports passing extended options from sceImeOpen to the IME UI and backend
* Potential CUSA00434 [Debug] <Critical> assert.cpp:30 assert_fail_debug_msg: Assertion Failed!
buf_len + 1 <= buf_size && "Is your input buffer properly zero-terminated?" at C:/VS/shadPS4-ime-fixes/externals/dear_imgui/imgui_widgets.cpp:4601 fix
* Attempting to resolve an assertion failure in Diablo III:
- Adjusted buffer sizes
- Updated the calculation of text‑length values
---------
Co-authored-by: w1naenator <valdis.bogdans@hotmail.com>
* Store platform-specific level in a separate variable
So the level logged in the getsockopt/setsockopt unreachable is actually useful in cases where the level is unknown.
* Define ORBIS_NET_IPPROTO_IPV6
Not implemented yet, but since it's known we might as well add it.
* Fix error codes
Our libSceNet code expects accurate ORBIS_NET_E* errors, while the sys_net code returns ORBIS_NET_ERROR_* errors.
* Remove duplicate getsockname implementation
* Use separate mutex for ReceivePacket calls
Calls to ReceivePacket shouldn't block other socket functions, and allowing them to block these functions frequently causes deadlocks in games that use multiple threads for socket behaviors.
That said, concurrent receives are still a potential issue, so the function should still have a mutex.
* Add missing error codes
* Clang
* Minor nit
Not sure why these were left separate from the rest of the net errnos
* Set __Error() in ConvertReturnErrorCode
Because the new error values are positive, the logic of "negative return is an error" doesn't work anymore. The easiest fix, while retaining corrected error values, is to just set __Error() in ConvertReturnErrorCode, and have that return -1 instead.
I also added some formatting fixes here too.
* Set errno on stubbed P2P socket error returns.
Otherwise the errno is just whatever was set by a previous failing function, which may cause issues in some games.
I used EAGAIN here since it appears to be valid for all three of these functions, but this can be changed if requested.
* Fix missed error returns
* Fix socket methods in file_system
Missed these
* initial commit - not cleanup yet, not usable with imGUI
* Ugly solution to working with ImGUI
* Populate the default controller labels
* Add remove default button
* missing tr calls
* edit imgui flag after updating
* Refactor
* Update sirit
* shader_recompiler: Remove remnants of old discard
Also constant propagate conditional discard if condition is constant
* resource_tracking_pass: Rework sharp tracking for robustness
* resource_tracking_pass: Add source dominance analysis
When reachability is not enough to prune source list, check if a source dominates all other sources
* resource_tracking_pass: Fix immediate check
How did this work before
* resource_tracking_pass: Remove unused template type
* readlane_elimination_pass: Don't add phi when all args are the same
New sharp tracking exposed some bad sources coming on sampler sharps with aniso disable pattern that also were part of readlane pattern, fix tracking by removing the unnecessary phis inbetween
* resource_tracking_pass: Allow phi in disable aniso pattern
* resource_tracking_pass: Handle not valid buffer sharp and more phi in aniso pattern
* Implement simple DNS name resolution
* Remove conversion of getaddrinfo errors to string
---------
Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
* Retrieve correct netmask in netctl
* Retrieve correct default route in netctl (Linux)
* Retrieve default gateway on mac
* added default gateway for windows
---------
Co-authored-by: georgemoralis <giorgosmrls@gmail.com>
* Add readback and readback linear image toggles to the settings window
* reuse and crowdin
* clang-format... my worst enemy...
* Experimental group box (#3)
* New Groupbox
* adjustments
* revised warning on experimental group box
---------
Co-authored-by: rainmakerv2 <30595646+rainmakerv3@users.noreply.github.com>
* ime-fixes-hotfix
- Fixed incorrect validation of internal errors causing the keyboard GUI to not close on call to sceImeClose.
- Removed nonstop spam when ImeDialog is opened.
- Fixed text and data decoding for logs.
- Fixed incorrect validation of internal errors in sceImeKeyboardClose.
- Added partial implementation of sceImeKeyboardGetResourceId (always returns that the USB keyboard is disconnected); used in CUSA33782.
* fix clang in ime.cpp
* Update ime_dialog.cpp
Remove unnecessary Log spam
* Update ime.cpp
- use brackets for loops
- removed duplicated Log
* Update ime_dialog_ui.cpp
- fixed comment style code removal
* Update ime.cpp
- more brackets
---------
Co-authored-by: w1naenator <valdis.bogdans@hotmail.com>
* Config entry isConnectedToNetwork
* Respect Config::isConnectedToNetwork when returning connection state
* Return connection status in NetCtlGetInfo
* Print connection data in log
* Use a config version constant to check for config updates
Should address the largest issue with the prior update logic, where configs with removed/additional entries will no longer force config updates on every emulator boot.
This also makes it easier to add config entries, since you don't need to keep track of how many entries you add, or how many entries you removed.
* Use git revision hash instead of constant
In exchange for updating configs on every update, this removes the need for PR authors to manually change a constant when adding new settings.
* New translations en_us.ts (Greek)
* New translations en_us.ts (Vietnamese)
* New translations en_us.ts (Indonesian)
* New translations en_us.ts (Vietnamese)
* - typo fix
- added validations for sceImeKeyboardOpen/Close
- fixed mistakes in logs
- additional log spam for debuging
* Disable user id validation
Disable user id validation until user manager is ready.
---------
Co-authored-by: w1naenator <valdis.bogdans@hotmail.com>