[GH-ISSUE #2802] [GAME BUG]: Softlock Mettaton's fight in Undertale #908

Closed
opened 2026-02-27 21:08:50 +03:00 by kerem · 11 comments
Owner

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)

  • I have searched for a similar issue in this repository and did not find one.
  • I am using an official build obtained from releases or updated one of those builds using its in-app updater.
  • I have re-dumped the game and performed a clean install without mods and the issue is still present.
  • I have disabled all patches and cheats and the issue is still present.
  • I have all the required system modules installed.

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

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) - [x] I have searched for a similar issue in this repository and did not find one. - [x] I am using an official build obtained from [releases](https://github.com/shadps4-emu/shadPS4/releases) or updated one of those builds using its in-app updater. - [x] I have re-dumped the game and performed a clean install without mods and the issue is still present. - [x] I have disabled all patches and cheats and the issue is still present. - [x] I have all the required [system modules](https://github.com/shadps4-emu/shadps4-game-compatibility?tab=readme-ov-file#informations) installed. ### 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] <Info> file_system.cpp:61 sceKernelOpen: path = /savedata0/Undertale/undertale.sav flags = 0x601 mode = 438 [Kernel.Fs] <Info> file_system.cpp:179 sceKernelClose: Closing /savedata0/Undertale/undertale.sav [Kernel.Fs] <Info> file_system.cpp:61 sceKernelOpen: path = /app0/games/mus_mettaton_ex.ogg flags = 0x0 mode = 0 [Render.Vulkan] <Info> vk_pipeline_cache.cpp:503 CompileModule: Compiling fs shader 0x7f3169f1 [Render.Vulkan] <Info> vk_pipeline_cache.cpp:503 CompileModule: Compiling vs shader 0xe1be3bfa [Lib.ImeDialog] <Info> ime_dialog.cpp:198 sceImeDialogInit: Invalid param->maxTextLength [Tty] <Info> logger.cpp:62 log_flush: [stdout] Error inputDialogAsync::sceImeDialogInit() : 80bc0016 [Loader] <Info> emulator.cpp:402 UpdatePlayTime: Playing time for CUSA09415: 3:17:37
kerem closed this issue 2026-02-27 21:08:50 +03:00
Author
Owner

@Hermiten commented on GitHub (Apr 25, 2025):

This is a imGUI problem I think, maybe @w1naenator ?

<!-- gh-comment-id:2830090645 --> @Hermiten commented on GitHub (Apr 25, 2025): This is a imGUI problem I think, maybe @w1naenator ?
Author
Owner

@w1naenator commented on GitHub (Apr 26, 2025):

This is a imGUI problem I think, maybe @w1naenator ?

I will try to check it next week; I have no time for this now.

<!-- gh-comment-id:2831987129 --> @w1naenator commented on GitHub (Apr 26, 2025): > This is a imGUI problem I think, maybe @w1naenator ? I will try to check it next week; I have no time for this now.
Author
Owner

@w1naenator commented on GitHub (Apr 26, 2025):

@JESSUST8 , can you please provide game save data (before the fight)?

<!-- gh-comment-id:2832003728 --> @w1naenator commented on GitHub (Apr 26, 2025): @JESSUST8 , can you please provide game save data (before the fight)?
Author
Owner

@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.

<!-- gh-comment-id:2832011539 --> @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.
Author
Owner

@ghost commented on GitHub (Apr 26, 2025):

@w1naenator, Ok.

CUSA09415.zip

<!-- gh-comment-id:2832133379 --> @ghost commented on GitHub (Apr 26, 2025): @w1naenator, Ok. [CUSA09415.zip](https://github.com/user-attachments/files/19922371/CUSA09415.zip)
Author
Owner

@w1naenator commented on GitHub (Apr 26, 2025):

Thank you!

<!-- gh-comment-id:2832278540 --> @w1naenator commented on GitHub (Apr 26, 2025): Thank you!
Author
Owner

@w1naenator commented on GitHub (Apr 26, 2025):

Ok, according to the log it uses ImeDialog.

<!-- gh-comment-id:2832560730 --> @w1naenator commented on GitHub (Apr 26, 2025): Ok, according to the log it uses ImeDialog.
Author
Owner

@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.

Image

@Hermiten , @JESSUST8

<!-- gh-comment-id:2832836230 --> @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](https://github.com/shadps4-emu/shadPS4/actions/runs/14686655414), once the compilation is finished. ![Image](https://github.com/user-attachments/assets/36af26d0-cb02-4bec-a73b-65f4ab828532) @Hermiten , @JESSUST8
Author
Owner

@red-prig commented on GitHub (Apr 27, 2025):

According to my information it should even be 2048, so it's clearly a error

<!-- gh-comment-id:2832838572 --> @red-prig commented on GitHub (Apr 27, 2025): According to my information it should even be 2048, so it's clearly a error
Author
Owner

@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?

<!-- gh-comment-id:2833200266 --> @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?
Author
Owner

@ghost commented on GitHub (Apr 27, 2025):

@w1naenator, It works! thank you so much.

<!-- gh-comment-id:2833587915 --> @ghost commented on GitHub (Apr 27, 2025): @w1naenator, It works! thank you so much.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/shadPS4#908
No description provided.