JNechaevsky / international-doom

Small, functional and simple source ports, created with help, efforts and bits of code from people around the world.
https://jnechaevsky.github.io/inter-doom/
GNU General Public License v2.0
25 stars 1 forks source link

Heretic: Crash trying to run Blasphemer #101

Closed kitchen-ace closed 7 months ago

kitchen-ace commented 7 months ago

Worked the first time but now usually(?) crashes on starting a new map.

https://github.com/Blasphemer/blasphemer/releases/download/v0.1.8/blasphem-0.1.8.zip

Thread 1 "inter-heretic" received signal SIGSEGV, Segmentation fault.
0x000055555559717d in V_DrawShadowedPatch (x=270, y=192, patch=0x7ffff4a3c120)
    at /home/gxx/Games/doom/src/international-doom/src/v_video.c:390
390                     *dest2 = drawpatchpx2(*dest2, source[srccol >> FRACBITS]);

("Extra level brightness" feature is really appreciated here, this wad is very dark and mostly black & brown.)

JNechaevsky commented 7 months ago

Do you have full screen status bar enabled by the chance? I.e. like this: image

Presumably, some kind of patch shadow going below screen, which is leading to screen buffer overflow. But Windows survives it somehow.

JNechaevsky commented 7 months ago

A-ha, confirmed, something from full screen status bar goes out of screen bounds:

Thread 1 received signal SIGSEGV, Segmentation fault.
0x00007ff7d834aa8d in V_DrawShadowedPatch (x=270, y=192, patch=0x3e91390)
    at D:/JN/Programs/MSYS/home/Julia/international-doom/src/v_video.c:390
#0  0x00007ff7d834aa8d in V_DrawShadowedPatch (x=270, y=192, patch=0x3e91390)
    at D:/JN/Programs/MSYS/home/Julia/international-doom/src/v_video.c:390
#1  0x00007ff7d83a6a89 in DrawFullScreenStuff ()
    at D:/JN/Programs/MSYS/home/Julia/international-doom/src/heretic/sb_bar.c:1440
#2  0x00007ff7d83a4dda in SB_Drawer ()
    at D:/JN/Programs/MSYS/home/Julia/international-doom/src/heretic/sb_bar.c:836
#3  0x00007ff7d8355c01 in D_Display ()

Interestingly, it does not happen on 1x resolution.

kitchen-ace commented 7 months ago

Confirmed fixed, thanks!

JNechaevsky commented 7 months ago

Patch clipping issue has been fixed, but this is not over yet. I'm not happy about how Blasphemer's health vial is drawing. The problem is - status bar health vial is taking sprite offsets into account, and such offsets were polished for original Heretic. Thus, I need to draw such patch slightly different way: by not taking sprite offsets into account.