Commit Graph
36 Commits
Author SHA1 Message Date
boykopovar ffbb7aabbe fix(ime): restore configuration argument slots 2026-10-21 21:52:57 +03:00
boykopovar 7e6ae8f1c9 fix(ime): restore current text notification argument slots 2026-10-21 21:50:53 +03:00
boykopovar d7606dc9fe fix(ime): restore text validation and dictionary signatures 2026-10-21 21:50:45 +03:00
boykopovar 5cd8348489 fix(ime): recover clause conversion argument width 2026-10-21 21:47:49 +03:00
boykopovar 726359fadd fix(ime): recover text notification signatures 2026-10-21 21:47:35 +03:00
boykopovar 4a7d2251d3 fix(ime): recover candidate keyboard and panel signatures 2026-10-21 21:47:11 +03:00
Dean 1bcaa14234 Merge pull request #8307 from hypermoist/fix/libs-console-results-part2
fix(libs): return what the firmware returns from 31 more calls it does not implement
2026-10-21 20:57:00 +13:00
xdCloudy 76c0bfd264 feat(prx): add missing libSceIme exports 2026-10-21 02:37:15 +01:00
Yuri Olive c0af902132 Merge remote-tracking branch 'origin/main' into feat/ime-filter-text
# Conflicts:
#	docs/dev/debt/libSceIme.md
2026-10-20 10:30:49 -03:00
hypermistandClaude Opus 5.5 db25758397 fix(libs): return what the firmware returns from 29 more calls it does not implement
The NetCtl ApRp calls, the SaveData debug calls, HttpDbgEnableProfile,
HttpDbgSetPrintf, PadEnableExtensionPort and VideoRecording Init, Term
and SendCommand return 0; ImeForTestFunction returns 0x80BC00FF; the Hmd
distortion work memory align and size are 0x400 and 0x20000 and
DistortionGetCompoundEyeCorrectionCommand returns 0x81110009;
AjmInstanceCodecType returns the instance id shifted right by 14.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-20 22:38:57 +13:00
primesoul-web 4c849bcadf fix(libSceIme): discard the edit when a caret move drops the filtered commit 2026-10-20 09:32:35 +00:00
Yuri Olive e6f8dad963 merge: bring in main 2026-10-20 06:27:21 -03:00
primesoul-web eb78be8036 fix(libSceIme): drop the filtered commit when the session changed while the filter ran 2026-10-20 07:24:09 +00:00
primesoul-web 5b2f829133 Merge upstream/main: queue host edits, run the title's filter in sceImeUpdate 2026-10-20 05:43:53 +00:00
Dean 539c53af51 Merge pull request #8019 from ymatrix1/feat/ime-missing-exports
feat(libSceIme): export missing firmware IME interfaces
2026-10-20 17:50:15 +13:00
Yuri Olive aabbd10e36 feat(libSceIme): implement sceImeFilterText
Port the firmware filter for every text type, with the two codepage sets derived from the firmware converters, and declare sceImeCheckFilterText as unimplemented.
2026-10-19 15:14:45 -03:00
Yuri Olive 1a34b1cd3c feat(libSceIme): export missing firmware interfaces 2026-10-19 14:55:31 -03:00
primesoul-web 8454677187 feat(libs): the sceImeOpen text and external-keyboard filters
The text filter follows KytyPS5's contract; the external keyboard filter is
stored on the session and is not called for the host input path, which delivers
no key data.
2026-10-19 17:29:10 +00:00
Lindamea1andClaude Opus 5.5 4faf57a986 feat(libs): add the Voice and IME exports PPSA24191 needs to load
Monster Hunter Wilds imports sceVoicePausePort, sceVoiceResumePort and
sceImeSetConsecutiveClauseConversionEnabled, which no library exported,
so the loader stopped at the first of them.

sceVoicePausePort and sceVoiceResumePort check the library and the port
like sceVoiceResetPort. sceImeSetConsecutiveClauseConversionEnabled has
no public reference and throws.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-19 12:01:08 +01:00
Adrià 8a526d4495 Merge pull request #6504 from 0xRickx/feat/libsceimedialog-host-keyboard
feat(libSceImeDialog): take the dialog's text from the host keyboard
2026-10-19 04:39:46 +02:00
RickandClaude Opus 5.5 6c5686d7ea feat(libSceImeDialog): take the dialog's text from the host keyboard
sceImeDialogInit wrote "Slayer" into an empty text buffer and the
dialog finished on the second status poll, so a title never got text
from the user: ProsperoRadio's search typed "Slayer" by itself and
found no station.

The dialog now runs until the user answers on the host keyboard, the
way #4756 made sceImeOpen's panel-less IME take it. While no IME panel
is open, libSceIme hands the game window's text and editing keys to
a sink that the dialog registers. Typing edits the text up to
maxTextLength without splitting a surrogate pair, Enter writes it to
the title's buffer and finishes with end status 0, and Escape finishes
with 1. Abort still finishes with 2. A second Init reports busy, and a
null parameter or buffer or a maximum length outside 1 to 2048 is
refused, as in shadPS4.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-10-15 19:52:28 +02:00
Adrià Franch 04b1e9b0b7 fix(libSceIme): reuse ErrorBusy for duplicate keyboard open and record the behaviour in technical debt 2026-10-15 15:45:56 +02:00
Nithishvelan M e485f6ae09 fix(libSceIme): return error codes instead of throwing on duplicate open or close 2026-10-15 15:45:47 +02:00
p3nicillinandClaude Opus 5.5 435be9905d feat(libSceIme): open a panel-less IME fed by the host keyboard
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 08:49:04 +01:00
MathiasDevelopesandClaude Opus 5.5 e21d8bd12f feat(libSceIme): implement sceImeGetPanelPositionAndForm
The IME panel cannot be open while sceImeOpen is unimplemented, so the
query returns SCE_IME_ERROR_NOT_OPENED and leaves the output untouched,
like sceImeSetCaret, sceImeSetText and sceImeSetTextGeometry. As with
sceImeSetCaret, the closed panel is reported before a null output.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-10-09 23:36:28 +02:00
Claude 121d9332b5 build(libs): strip the MinGW static runtime flags once for all libraries
Every library CMakeLists.txt ended with the same block removing -static,
-static-libgcc and -static-libstdc++ from CMAKE_EXE_LINKER_FLAGS on MinGW,
because core/libs/CMakeLists.txt only removed them after adding the library
directories. Remove them before the libc and library directories are added
so each directory inherits the stripped flags, and drop the 52 copies.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_017pTZqAyVSZy2FZmaqakPHZ
2026-10-07 10:10:38 +00:00
LexroidandClaude Opus 5.5 54f0e03cde feat(libSceIme): implement sceImeKeyboardGetResourceId
The resource id array is cleared and given the user. A null array returns
INVALID_ADDRESS and an invalid user INVALID_USER_ID without writing it; a
user whose keyboard is not open gets NOT_OPENED, and an open one gets
CONNECTION_FAILED, as no USB keyboard is reported through the IME, as in
shadPS4. The missing IME keyboard events are recorded in TechnicalDebt.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-06 08:56:44 +03:00
ChadandClaude Opus 5.5 a74f282359 feat(libSceIme): report the closed IME panel
sceImeOpen is not implemented, so the IME panel is never open.
sceImeClose, sceImeSetCaret, sceImeSetText and sceImeSetTextGeometry
return SCE_IME_ERROR_NOT_OPENED, checking the panel before their
arguments, as sceImeKeyboardGetInfo does for the keyboard.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-05 20:14:09 -05:00
Adrià FranchandClaude 58263b5075 feat(libSceIme): implement keyboard info and mode queries
Co-Authored-By: Claude <[email protected]>
2026-10-06 00:30:16 +02:00
Nicolas Abosch 65e59966bc feat(libSceIme): implement parameter initialization and panel size queries 2026-10-02 12:03:34 -03:00
STL1teandClaude Opus 5.5 6b36c050fe style: drop the branch's code comments per CONVENTIONS.md
Only the lines this branch added lose their comments; the commits before
keep them, with the reasoning behind each change, for whoever digs into
that code later.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-29 21:25:29 +03:00
STL1teandClaude Opus 5.5 502a79381a feat(libs): system services for a console without PSN, dialogs or streaming
- NP: signed-out callbacks and reachability; owned add-on entitlements
  from anyps5-entitlements.ini next to the executable (or the file
  ANYPS5_ENTITLEMENTS names)
- web browser, message, player invitation and player selection dialogs
  finish without a UI; Remote Play, IME keyboard, SharePlay, live
  streaming and video recording lifecycles for a console without them
- app content temporary data mount, format and free space (download data
  quota from param.json); content export, search and delete lifecycles
- pad output-only calls, system service notice-screen flags, RazorCpu
  markers, ulobjmgr
- throwing stubs for the remaining imports, so missing behavior fails
  loudly

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-29 21:22:16 +03:00
boykopovar abc72da741 feat(libs): define vabi macros + add to declarations 2026-09-10 08:07:03 +03:00
boykopovar 6123893998 feat(libs): throw not impl ex in every stub 2026-09-06 15:05:04 +03:00
boykopovar 55a120e318 fix(nid): detect linker suffix-merged symbol names postfixes 2026-08-21 14:45:07 +03:00
boykopovar 59bee8d187 feat(libs): add libs function signatures 2026-08-20 23:18:16 +03:00