mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2026-04-26 00:05:58 +03:00
[GH-ISSUE #2802] [GAME BUG]: Softlock Mettaton's fight in Undertale #908
Labels
No labels
Bloodborne
bug
contributor wanted
documentation
enhancement
frontend
good first issue
help wanted
linux
pull-request
question
release
verification progress
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/shadPS4#908
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @ghost on GitHub (Apr 18, 2025).
Original GitHub issue: https://github.com/shadps4-emu/shadPS4/issues/2802
Checklist (we expect you to perform these steps before opening the issue)
Describe the Bug
In the Mettaton fight the game asks you to type a response but the virtual keyboard will not appear and it will be impossible to finish the fight.
Reproduction Steps
Fight on the neutral or pacifist route.
Specify OS Version
Windows 11
CPU
AMD Ryzen 7 5800X 8-Core Processor
GPU
RTX 4060Ti
Amount of RAM in GB
32 GB
Amount of VRAM in GB
16 GB
Log File
[Kernel.Fs] file_system.cpp:61 sceKernelOpen: path = /savedata0/Undertale/undertale.sav flags = 0x601 mode = 438
[Kernel.Fs] file_system.cpp:179 sceKernelClose: Closing /savedata0/Undertale/undertale.sav
[Kernel.Fs] file_system.cpp:61 sceKernelOpen: path = /app0/games/mus_mettaton_ex.ogg flags = 0x0 mode = 0
[Render.Vulkan] vk_pipeline_cache.cpp:503 CompileModule: Compiling fs shader 0x7f3169f1
[Render.Vulkan] vk_pipeline_cache.cpp:503 CompileModule: Compiling vs shader 0xe1be3bfa
[Lib.ImeDialog] ime_dialog.cpp:198 sceImeDialogInit: Invalid param->maxTextLength
[Tty] logger.cpp:62 log_flush: [stdout] Error inputDialogAsync::sceImeDialogInit() : 80bc0016
[Loader] emulator.cpp:402 UpdatePlayTime: Playing time for CUSA09415: 3:17:37
@Hermiten commented on GitHub (Apr 25, 2025):
This is a imGUI problem I think, maybe @w1naenator ?
@w1naenator commented on GitHub (Apr 26, 2025):
I will try to check it next week; I have no time for this now.
@w1naenator commented on GitHub (Apr 26, 2025):
@JESSUST8 , can you please provide game save data (before the fight)?
@w1naenator commented on GitHub (Apr 26, 2025):
@Hermiten If the game uses its own keyboard (I am not sure, as I have never played Undertale on PS4), it actually uses IME, so the IME implementation is already very basic.
@ghost commented on GitHub (Apr 26, 2025):
@w1naenator, Ok.
CUSA09415.zip
@w1naenator commented on GitHub (Apr 26, 2025):
Thank you!
@w1naenator commented on GitHub (Apr 26, 2025):
Ok, according to the log it uses ImeDialog.
@w1naenator commented on GitHub (Apr 27, 2025):
So, the problem is with ORBIS_IME_DIALOG_MAX_TEXT_LENGTH. The game expects a text size of 1023, but ORBIS_IME_DIALOG_MAX_TEXT_LENGTH is 120.
If I change it to
constexpr u32 ORBIS_IME_DIALOG_MAX_TEXT_LENGTH = 0x3FF; // 0x78;, the softlock disappears.You can try it in my pull request: link, once the compilation is finished.
@Hermiten , @JESSUST8
@red-prig commented on GitHub (Apr 27, 2025):
According to my information it should even be 2048, so it's clearly a error
@w1naenator commented on GitHub (Apr 27, 2025):
Yes, in Ime it used as
constexpr u32 ORBIS_IME_MAX_TEXT_LENGTH = 2048;.Maybe good idea to move these definitions to ime_common.h?
@ghost commented on GitHub (Apr 27, 2025):
@w1naenator, It works! thank you so much.