Quakespasm icon indicating copy to clipboard operation
Quakespasm copied to clipboard

[Bug] Episode ending texts cut in "Rapture"

Open NightFright2k19 opened this issue 3 years ago • 0 comments

"Rapture" is known for its long texts at the end of each episode. These are not printed completely in latest QSS, e.g. right after entering the teleporter in the first map or at the end of "Rain Palisade - Final" (rainend.bsp).

Example screenshot from WinQuake, showing the way it is supposed to look (rainend). In QSS, text is cut after line 19 ("When the rain baron hit the dirt he").

mh wrote this about the issue before it was fixed in Mark V: "I did a rough calculation of the text length and it comes out at ~900 chars. Now, Quake copies the centerprint text to a 1024 char buffer (in SCR_CenterPrint), so it's possible that this particular text is exceeding the buffer size and being chopped. That's possibility one.

Quake also counts the lines of text (stored to scr_center_lines) and I make it 29 lines, or 232 pixels high. Now, FitzQuake implements a GL_SetCanvas mechanism for laying out the 2D GUI elements, and centerprints use CANVAS_MENU, which is constrained to a 320x200 viewport (via a glViewport call), so anything outside of that viewport gets discarded by the driver. Add in the "Congratulations" banner and you can easily see why the text gets chopped. That's possibility two.

Possibility one is unlikely but it is nonetheless something that you should try to fix.

Possibility two is definitely what's going on here; the text is just too large for a 320x200 viewport.

Unfortunately this is a case where the mod author was careless: the same problem would occur on any engine running at a sufficiently low resolution. It doesn't occur on non-Fitz-based engines at higher resolutions simply because they don't use the same constrained viewport."

Tested with latest unmodified QSS x64 build from 2020-10-17.

NightFright2k19 avatar Dec 17 '20 14:12 NightFright2k19