mbbsemu / MBBSEmu

The MajorBBS Emulation Project is an Open Source, Cross-Platform emulator for easily running The MajorBBS & Worldgroup Modules
https://www.mbbsemu.com
MIT License
126 stars 14 forks source link

[ELWIC] Infinity Complex - Truncated Strings #591

Open mseelye opened 9 months ago

mseelye commented 9 months ago

Module Information

Describe the bug Some of the strings from the DLL, and from the ELWIC.MSG file are getting truncated in game at the first "space" character.

To Reproduce Steps to reproduce the behavior:

  1. Start Infinity Complex

  2. Wait for 'The Spanish Inquisition' to come by

  3. He/They'll drop an M1 and say, "Take", instead of "Take this, you'll need it." (See ELWIC.DLL DASM)

    OR

  4. Look for a gathering of commies, when they are all singing.

  5. They'll yell stuff like "Daylight", instead of "Daylight come and me wanna go home!" (See ELWIC.MSG line 2313, "CMSNG4 {yell Daylight come and me wanna go home!} T")

    OR

  6. Wander around and find a commie, (Khan, Doctor Doom, Evil Ted, etc.) and the random things they yell will only be 1 word. Like: "How", instead of "How much is that %s in the window?" (See ELWIC.MSG line 102, ZOMBCRY3 {yell How much is that %s in the window?} T )

Expected behavior The strings from the DLL and MSG file should be expressed completely in the game instead of truncated.

Screenshots

image

Software Information:

mseelye commented 9 months ago

Update: I tried updating some of the affected strings in the ELWIC.MSG file by changing spaces between words (after the initial command, i.e. 'yell') with hyphens, and these display fine in the game without truncation. So, I'm guessing it has something to do with the space characters.

One thing of note:

If a commie's name is like, "Surlaw The Unfeasible" with spaces, and the commie chooses to yell the string: ZOMCRY11 {yell Call-me-%s...everybody-does.} T

In the game when "Surlaw The Unfeasible" yells it we get: Surlaw The Unfeasible yells: "Call-me-Surlaw" Where it cuts off the string at the first space (first after the space after the command 'yell', anyway).