mckayemu / sdlquake

SDL port of the rasterizer only Quake engine for older GPU's without Opengl support in linux
GNU General Public License v2.0
3 stars 0 forks source link

Crashes with `-height` > 1073 (segfault) #1

Open wyatt8740 opened 3 years ago

wyatt8740 commented 3 years ago

The software renderer crashes with a segfault in r_edge.c at line 714 if a height greater than 1073 pixels is specified. This also happens in plain X11 quake (so it's not a problem coming from your SDL port, but an issue in the original code).

Thread 1 "quake" received signal SIGSEGV, Segmentation fault.
R_ScanEdges ()
    at /path/to/r_edge.c:714
714         surfaces[1].spanstate = 1;
mckaygerhard commented 3 years ago

thank for the hint but yes.. sdlquake is a port and no features was added so this piece of code was a rescue one and is not desinged for stupid modern fashioned hardware..

In those days... resolutions more that 1024 were so big... in fact the standard resolution in those days was 800x600 and great games runs in 640x480 .. the 1024x768 was a big resolution that the CRT monitor did not put with great definition (too many small pixels for the property to render well done and our eyes can appreciate it, somethings those monitor just renders narrow pixels and that's all)

i dont know if this isse must be close cos thyis is a port only (no features) or let open to property waith a patch.. (a patch that detect and just returns to 1024 pixels the most biug that can renders)

i let open and waith for a couple of months

wyatt8740 commented 3 years ago

I figured it out in my own port. See these patches: https://github.com/wyatt8740/Quake-LinuxUpdate/commit/356553f368733858ae690eee0dc0ad30ec1b39f9

It was just a header limitation. I've played the resulting game in a LAN party successfully since then in 1920x1200.

mckaygerhard commented 3 years ago

I figured it out in my own port. See these patches: wyatt8740/Quake-LinuxUpdate@356553f

It was just a header limitation. I've played the resulting game in a LAN party successfully since then in 1920x1200.

please open a pull request to merge it! thanks in advance.