In hardware GL mode i get an assert failure instead, gl_walls_draw.cpp:53, assert(wall->vertcount > 0);
I think it's the same problem. Warp to x=7500,y=9500 (that room) and turn around to reproduce.
This is a crash log for the vintage build, modern also crashes.
Code: Select all
> gzdoom.exe!swrenderer::RenderDrawSegment::RenderWall(swrenderer::DrawSegment * ds, int x1, int x2, swrenderer::WallDrawerArgs & walldrawerargs, swrenderer::SpriteDrawerArgs & columndrawerargs, bool visible, FDynamicColormap * basecolormap, int wallshade) Line 338 C++
gzdoom.exe!swrenderer::RenderDrawSegment::Render(swrenderer::DrawSegment * ds, int x1, int x2, swrenderer::Fake3DTranslucent clip3DFloor) Line 143 C++
gzdoom.exe!swrenderer::VisibleSprite::Render(swrenderer::RenderThread * thread, swrenderer::Fake3DTranslucent clip3DFloor) Line 332 C++
gzdoom.exe!swrenderer::RenderTranslucentPass::DrawMaskedSingle(bool renew, swrenderer::Fake3DTranslucent clip3DFloor) Line 148 C++
gzdoom.exe!swrenderer::RenderTranslucentPass::Render() Line 215 C++
gzdoom.exe!swrenderer::RenderScene::RenderThreadSlice(swrenderer::RenderThread * thread) Line 313 C++
gzdoom.exe!swrenderer::RenderScene::RenderThreadSlices() Line 246 C++
gzdoom.exe!swrenderer::RenderScene::RenderActorView(AActor * actor, bool dontmaplines) Line 185 C++
gzdoom.exe!swrenderer::RenderScene::RenderView(player_t * player, DCanvas * target, void * videobuffer) Line 134 C++
gzdoom.exe!FSoftwareRenderer::RenderView(player_t * player, DCanvas * target, void * videobuffer) Line 175 C++
gzdoom.exe!SWSceneDrawer::RenderView(player_t * player) Line 120 C++
gzdoom.exe!FGLRenderer::RenderView(player_t * player) Line 300 C++
gzdoom.exe!OpenGLFrameBuffer::RenderView(player_t * player) Line 222 C++
gzdoom.exe!D_Display() Line 796 C++
gzdoom.exe!D_DoomLoop() Line 1038 C++
gzdoom.exe!D_DoomMain() Line 2714 C++
gzdoom.exe!DoMain(HINSTANCE__ * hInstance) Line 1027 C++
gzdoom.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * nothing, char * cmdline, int nCmdShow) Line 1342 C++
- MaskedSWall 0xfffff7d8 {???} float *
<Unable to read memory> float
MaskedScaleY 0.000000000 float
- basecolormap 0x0b6fbe70 {Next=0x0b6fbdf0 {Next=0x0b6fb1f0 {Next=0x00000000 <NULL> } } } FDynamicColormap *
+ FSWColormap {Maps=0x0b13c700 "÷\x1\x2\x3\x4\x5\x6\a\b\t\n\v\f\r\xe\xf\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§\x4©ª«¬®¯°±²³´µ¶·¸¹º»¼½-/ÀÁÂÃÄÅÆÇ... ...} FSWColormap
+ Next 0x0b6fbdf0 {Next=0x0b6fb1f0 {Next=0x00000000 <NULL> } } FDynamicColormap *
- columndrawerargs {dc_dest=0x00000000 <NULL> dc_dest_y=0 dc_count=0 ...} swrenderer::SpriteDrawerArgs &
+ swrenderer::DrawerArgs {mBaseColormap=0x0b6fbe70 {Maps=0x0b13c700 "÷\x1\x2\x3\x4\x5\x6\a\b\t\n\v\f\r\xe\xf\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§\x4©ª«¬®¯°±²³´µ¶·¸¹º»¼½-/ÀÁÂÃÄÅÆÇ... ...} ...} swrenderer::DrawerArgs
+ dc_dest 0x00000000 <NULL> unsigned char *
dc_dest_y 0 int
dc_count 0 int
dc_iscale -858993460 int
dc_texturefrac -858993460 int
dc_texturefracx 3435973836 unsigned int
dc_textureheight 0 unsigned int
+ dc_source 0x00000000 <NULL> const unsigned char *
+ dc_source2 0x00000000 <NULL> const unsigned char *
drawer_needs_pal_input false bool
+ dc_srcblend 0x00000000 {???} unsigned int *
+ dc_destblend 0x00000000 {???} unsigned int *
dc_srcalpha 65536 int
dc_destalpha 0 int
dc_x 0 int
dc_yl 0 int
dc_yh 0 int
dc_color 0 int
dc_color_bgra 0 unsigned int
dc_srccolor 0 unsigned int
dc_srccolor_bgra 0 unsigned int
dynlightcolor 0 unsigned int
colfunc 0x00cad1fc {gzdoom.exe![thunk]:swrenderer::SWPixelFormatDrawers::`vcall'{36,{flat}}' }'} void(swrenderer::SWPixelFormatDrawers::*)(const swrenderer::SpriteDrawerArgs &)
+ dc_viewport 0x00000000 <NULL> swrenderer::RenderViewport *
iscale -858993460 int
rw_light 1.85609853 float
- this 0x0070b6bc {Thread=0x0aa50068 {Scene=0x0b11d50c {dontmaplines=false clearcolor=0 Threads={ size=1 } ...} ...} ...} swrenderer::RenderDrawSegment *
+ Thread 0x0aa50068 {Scene=0x0b11d50c {dontmaplines=false clearcolor=0 Threads={ size=1 } ...} X1=0 X2=640 ...} swrenderer::RenderThread *
+ frontsector 0x0fc62bd0 {planes=0x0fc62bd0 {{xform={xOffs=0.00000000000000000 yOffs=0.00000000000000000 baseyOffs=...} ...}, ...} ...} sector_t *
+ backsector 0x0fc61ba0 {planes=0x0fc61ba0 {{xform={xOffs=0.00000000000000000 yOffs=0.00000000000000000 baseyOffs=...} ...}, ...} ...} sector_t *
+ curline 0x1b25601c {v1=0x1b0c17a0 {p={X=6688.0000000000000 Y=9456.0000000000000 } viewangle=0 angletime=0 ...} ...} seg_t *
+ m3DFloor {clipBottom=false clipTop=true down2Up=true ...} swrenderer::Fake3DTranslucent
+ WallC {tleft={X=-107374176. Y=-107374176. } tright={X=-107374176. Y=-107374176. } sz1=689.618591 ...} swrenderer::FWallCoords
+ WallT {UoverZorg=-107374176. UoverZstep=-107374176. InvZorg=-107374176. ...} swrenderer::FWallTmapVals
rw_light 1.85609853 float
rw_lightstep 0.00274933269 float
rw_offset 0 int
+ rw_pic 0x00000000 <NULL> FTexture *
+ wallupper {ScreenY=0x0070b720 {-13108, -13108, -13108, -13108, -13108, -13108, -13108, -13108, -13108, -13108, ...} } swrenderer::ProjectedWallLine
+ walllower {ScreenY=0x007114e0 {-13108, -13108, -13108, -13108, -13108, -13108, -13108, -13108, -13108, -13108, ...} } swrenderer::ProjectedWallLine
wallshade 2949120 int
x 522 int