IMyTextSurface broke GetText() not returning player input text

John Ivar Flatmo shared this bug 3 months ago
Reported – Awaiting fix

There may be other issues not sure

tested on single player

tested with cockpit and programmable block

most testing was using cockpit but i suspect IMyTextSurface itself is broke

the correct surface amounts where found using SurfaceCount and GetSurface


problem

GetText() reports empty or previous WriteText() regardless of what is written in any surface by player


reproduction method

so if i type someString in a cockpit panel

GetText() returns "" aka empty string

then i use WriteText("differentString")

GetText() returns "differentString"

then i type someString in the cockpit panel

GetText() still returns "differentString"


testing performed on grid: Static Grid 9560

save listed under attached files


attached files

scriptBaseV5.cs //script used when testing

SpaceEngineers.log //log

VRageRender-DirectX11.log

creative-6.zip //save

scriptLog.png //image of programmable block log

cockpitPanels.png //image of cockpit with various texts on lcd surfaces


hardware

cpu: 23.8.2 "AMD Ryzen Threadripper 2920X 12-Core Processor

gpu: 2x Vega 10 XL/XT [Radeon RX Vega 56/64] (rev c1)

memory: 4x corsair 16GiB DIMM DDR4 Synchronous Unbuffered Unregister


os: linux running under proton-6.10-GE-1

launch options DRI_PRIME=1 %command%

Comments (2)

photo
1

Hello, John!

Thank you for providing all the information here. I have reported this internally for you.

Kind Regards

Laura, QA Department

photo
1

This is the reason why HudLcd Multi-screen mod is not working. https://steamcommunity.com/sharedfiles/filedetails/?id=2005632342

As a workaround seems like ReadText is working fine (simplified example):

StringBuilder builder = new StringBuilder();

surface.ReadText(builder, false);

string text = builder.ToString();