[Crash + Bugs] Issues with followitem and HIRES
There are some weird issues with followitems.
Under OpenGL:
- followitems do not copy the owner's color.
- followitems do not copy the owner's "scale" through highresscale.
Under Software:
- followitems copy color, as expected.
- followitems do not correctly copy highresscale:
- The scale seems to match what the sprite should look like, however the width boundary of the resulting sprite is inversely proportional to the highresscale.
That is to say:
- If
highresscale > 1
, the sprite is cropped. - If
highresscale < 1
, the sprite is "un"cropped (what), and crashes the game.
- If
- Also, the offset of the sprite seems off.
- The scale seems to match what the sprite should look like, however the width boundary of the resulting sprite is inversely proportional to the highresscale.
That is to say:
Basically: followitems do not perform the same in both renderers. OpenGL doesn't copy a number of the owner's properties.
Additionally, the game crashes under Software if a character has SF_HIRES
, highresscale < 1
and any followitem
.
followitemCrash.wad
This example adds the character God
with a highresscale
of 0.5
. Changing to this character crashes the game.
RPT log
`
-------------------
Error occurred on Thursday, January 13, 2022 at 19:59:58.
srb2win.exe caused an Access Violation at location 005A1A26 in module srb2win.exe Reading from location 91F31110.
Registers:
eax=ffd38e29 ebx=13d30050 ecx=12de1ddd edx=00000023 esi=005a1a10 edi=91f31110
eip=005a1a26 esp=0569fc00 ebp=00000000 iopl=0 nv up ei pl nz na po nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00210206
AddrPC Params
005A1A26 00000000 00000000 00000000 srb2win.exe!R_DrawMaskedColumn
srb2win.exe 2.2.10.0
ntdll.dll 6.3.19041.1288
KERNEL32.DLL 6.3.19041.1348
KERNELBASE.dll 6.3.19041.1348
ADVAPI32.dll 6.3.19041.1052
msvcrt.dll 7.0.19041.546
sechost.dll 6.3.19041.906
RPCRT4.dll 6.3.19041.1288
WS2_32.dll 6.3.19041.546
libcurl.dll 7.69.0.0
libgme.dll
CRYPT32.dll 6.3.19041.1320
USER32.dll 6.3.19041.1348
ucrtbase.dll 6.3.19041.789
win32u.dll 6.3.19041.1320
wldap32.dll 6.3.19041.546
GDI32.dll 6.3.19041.1202
libopenmpt.dll 1.0.0.0
gdi32full.dll 6.3.19041.1320
msvcp_win.dll 6.3.19041.789
SDL2.dll 2.0.10.0
IMM32.DLL 6.3.19041.546
SDL2_mixer_ext.dll 2.1.0.0
ole32.dll 6.3.19041.1202
combase.dll 6.3.19041.1348
OLEAUT32.dll 6.3.19041.985
SETUPAPI.dll 6.3.19041.1237
cfgmgr32.dll 6.3.19041.1151
bcrypt.dll 6.3.19041.1023
SHELL32.dll 6.3.19041.1320
libgcc_s_sjlj-1.dll
libstdc++-6.dll
WINMM.DLL 6.3.19041.546
VERSION.dll 6.3.19041.546
libfluidsynth-2.dll
DSOUND.dll 6.3.19041.1
powrprof.dll 6.3.19041.546
winmmbase.dll 6.3.19041.1
UMPDC.dll
uxtheme.dll 6.3.19041.1266
MSCTF.dll 6.3.19041.1202
exchndl.dll 0.9.0.0
PSAPI.DLL 6.3.19041.546
mgwhelp.dll 0.9.0.0
dbghelp.dll 6.3.19041.1052
dbgcore.DLL 6.3.19041.546
SHCORE.DLL 6.3.19041.1320
kernel.appcore.dll 6.3.19041.546
bcryptPrimitives.dll 6.3.19041.1348
clbcatq.dll 2001.12.10941.16384
textinputframework.dll 6.3.19041.1320
CoreUIComponents.dll 6.3.19041.546
CoreMessaging.dll 6.3.19041.867
wintypes.dll 6.3.19041.1348
ntmarta.dll 6.3.19041.546
D3D9.DLL 6.3.19041.928
dwmapi.dll 6.3.19041.746
windows.storage.dll 6.3.19041.1320
Wldp.dll 6.3.19041.1320
igdumdx32.dll 8.15.10.2900
igdumd32.dll 8.15.10.2900
dinput8.dll 6.3.19041.1
HID.DLL 6.3.19041.546
inputhost.dll 6.3.19041.906
PROPSYS.dll 7.0.19041.1023
DEVOBJ.dll 6.3.19041.1151
WINTRUST.dll 6.3.19041.1266
MSASN1.dll 6.3.19041.546
XInput1_4.dll 6.3.19041.844
MMDevAPI.DLL 6.3.19041.1023
wdmaud.drv 6.3.19041.1
ksuser.dll 6.3.19041.1
AVRT.dll 6.3.19041.546
AUDIOSES.DLL 6.3.19041.1023
msacm32.drv 6.3.19041.488
MSACM32.dll 6.3.19041.1
midimap.dll 6.3.19041.488
resourcepolicyclient.dll 6.3.19041.546
Windows.UI.dll 6.3.19041.746
WindowManagementAPI.dll
twinapi.appcore.dll 6.3.19041.746
shlwapi.dll 6.3.19041.1023
Windows 6.3.9600
DrMingw 0.9.0