LZDoom 3.88b 02/26 released

Game Engines like EDGE, LZDoom, QZDoom, ECWolf, and others, go in this forum
Forum rules
The Projects forums are ONLY for YOUR PROJECTS! If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.

Got a cool project idea but nothing else? Put it in the project ideas thread instead!

Projects for any Doom-based engine are perfectly acceptable here too.

Please read the full rules for more details.
User avatar
drfrag
Vintage GZDoom Developer
Posts: 3141
Joined: Fri Apr 23, 2004 3:51 am
Location: Spain

Re: LZDoom [beta 4 11/29 released]

Post by drfrag »

It works on most computers, may be performance with hyperthreading on only one real core is bad. I don't know for sure what cpu his "craptop" has.
TDRR wrote:Forgot to say, after using r_multithreaded 2 (i think that was the command?) The framerate issue in software mode got fixed.
What is the model number of your laptop's cpu? Why don't you compile the latest g3.3mgw and see if you get the warning? It's the only way to know for sure what's going on. Use VS or MinGW-w64 for more fun, see the wiki.
User avatar
TDRR
Posts: 815
Joined: Sun Mar 11, 2018 4:15 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): Debian 12/ Manjaro
Graphics Processor: nVidia with Vulkan support
Location: Venezuela

Re: LZDoom [beta 4 11/29 released]

Post by TDRR »

drfrag wrote:What is the model number of your laptop's cpu? Why don't you compile the latest g3.3mgw and see if you get the warning? It's the only way to know for sure what's going on. Use VS or MinGW-w64 for more fun, see the wiki.
It's a Celeron N2805, quite okay-ish for a free laptop. I'm definitely going to compile it later or sooner, but i haven't got around to setting up Visual Studio, and MinGW just spits weird smiley face errors with everything i try to compile so i uninstalled it. (Stuff like "Unknown character blablabalbalbalbalbla" and then a smiley face and some symbols)

Hope there's something to be done for core-amount detection, as it may be a bit troublesome to tell users to "type r_multithreaded and the number of cores in the console".
User avatar
drfrag
Vintage GZDoom Developer
Posts: 3141
Joined: Fri Apr 23, 2004 3:51 am
Location: Spain

Re: LZDoom [beta 4 11/29 released]

Post by drfrag »

And my solution was obviously wrong, now i've just declared num_threads as static. Should be okay unless i'm missing something. :? I'm still defaulting to two logical cores/threads.
TDRR wrote:Hope there's something to be done for core-amount detection
Your problem is extremely rare so i've just added a warning but anyway two cores should be okay unless it's some extremely craptastic hardware.
Just look at the wiki: https://zdoom.org/wiki/Compile_ZDoom_on_Windows
User avatar
goldenmob72
Posts: 80
Joined: Thu Sep 14, 2017 6:50 am

Re: LZDoom [beta 4 11/29 released]

Post by goldenmob72 »

I know this is Unofficial but Will this be added to the ZDoom Download Page later ?
Just curious
User avatar
TDRR
Posts: 815
Joined: Sun Mar 11, 2018 4:15 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): Debian 12/ Manjaro
Graphics Processor: nVidia with Vulkan support
Location: Venezuela

Re: LZDoom [beta 4 11/29 released]

Post by TDRR »

goldenwar72 wrote:I know this is Unofficial but Will this be added to the ZDoom Download Page later ?
Just curious
This would be neat, honestly, because it would help all the people who try downloading GZDoom but their PC won't run it. Not many of those come to these forums.

Thanks drfrag, going to try compiling it.
User avatar
drfrag
Vintage GZDoom Developer
Posts: 3141
Joined: Fri Apr 23, 2004 3:51 am
Location: Spain

Re: LZDoom [beta 4 11/29 released]

Post by drfrag »

I don't think it will be added to the download page for now.
I will release a new version soon but i could post a rogue devbuild @DRD Team with the vintage builds. BTW i've hooked the CI services to my repo so you could download an Appveyor build (artifact) and add the dlls.
@Rachael: now you can add the status to the Code Submissions forum header, both legacy and g3.3mgw are compiled tough (they are very similar anyway).
These are the projects:
https://ci.appveyor.com/project/drfrag666/gzdoom
https://travis-ci.org/drfrag666/gzdoom
User avatar
drfrag
Vintage GZDoom Developer
Posts: 3141
Joined: Fri Apr 23, 2004 3:51 am
Location: Spain

Re: LZDoom [beta 4 11/29 released]

Post by drfrag »

Finally i uploaded both rogue devbuilds (RelWithDebInfo) to the gzdoom-vintage folder. :)
User avatar
goldenmob72
Posts: 80
Joined: Thu Sep 14, 2017 6:50 am

Re: LZDoom [beta 4 11/29 released]

Post by goldenmob72 »

Where can I get more updates on this?

Also If I may suggest, I suggest changing the icon color to yellow instead of red that way it won't have the same color as ZDoom
User avatar
drfrag
Vintage GZDoom Developer
Posts: 3141
Joined: Fri Apr 23, 2004 3:51 am
Location: Spain

Re: LZDoom [beta 4 11/29 released]

Post by drfrag »

I don't know what you mean. Tormentor667 did the logo for ZDoom and since it's unused i borrowed it, in theory it should say LZ but it doesn't matter, take it as a generic logo for a ZDoom derived engine. Still it's closer to the old ZDoom than GZDoom.

Now to the meat... i've made the switch to Unicode but without the newer fonts. Doom Tournament now works (with the -zsvoverride switch) and even with spanish but there's a crash in software when i open the Player setup menu. OpenGL runs fine (but GLSWFB also crashes).
If i remove the ZMAPINFO line Border = 0,0,"","","","","","","","" in GameInfo it doesn't crash. The crash was here already in the last devbuild changing ByteAt for CharCodeAt.
According to the wiki border = <size>, <offset>, "<tr>", "<t>", "<tl>", "<r>", "<l>", "<br>", "<b>", "<bl>" sets the border graphics used in various places throughout the game.
I guess those are textures? Also crashes reducing screen size, what does "" mean? A dummy texture? Is that line okay?
The crash happens here: *buff++ = *pix2; in texture.cpp. pix is null in pix = GetPixels(fmt == TEX_Pal? DefaultRenderStyle() : LegacyRenderStyles[STYLE_Shaded]);
Last iteration enters here:

Code: Select all

const uint8_t *FDummyTexture::GetPixels(FRenderStyle style)
{
	return nullptr;
}
@Marisa Kirisame: was that line already in old versions? Could you provide (or someone) an older version?
@devs: i really need help with this. What could i do? Add a null pointer check? What's going on here? Thanks.
Backtrace:

Code: Select all

>	lzdoom.exe!FTexture::FillBuffer(unsigned char * buff, int pitch, int height, FTextureFormat fmt) Line 768	C++
 	lzdoom.exe!D3DTex::Update() Line 2339	C++
 	lzdoom.exe!D3DTex::Create(D3DFB * fb, bool wrapping) Line 2290	C++
 	lzdoom.exe!D3DTex::D3DTex(FTexture * tex, FTextureFormat fmt, D3DFB * fb, bool wrapping) Line 2223	C++
 	lzdoom.exe!D3DFB::CreateTexture(FTexture * gametex, FTextureFormat fmt, bool wrapping) Line 2573	C++
 	lzdoom.exe!FTexture::GetNative(FTextureFormat fmt, bool wrapping) Line 733	C++
 	lzdoom.exe!D3DFB::FlatFill(int left, int top, int right, int bottom, FTexture * src, bool local_origin) Line 3003	C++
 	lzdoom.exe!V_DrawFrame(int left, int top, int width, int height) Line 1384	C++
 	lzdoom.exe!AF__Screen_DrawFrame(VMValue * param, int numparam, VMReturn * ret, int numret, const unsigned char * reginfo) Line 1408	C++
 	lzdoom.exe!VMNativeFunction::NativeScriptCall(VMFunction * func, VMValue * params, int numparams, VMReturn * returns, int numret) Line 308	C++
 	[External Code]	
 	lzdoom.exe!VMScriptFunction::FirstScriptCall(VMFunction * func, VMValue * params, int numparams, VMReturn * ret, int numret) Line 301	C++
 	[External Code]	
 	lzdoom.exe!VMScriptFunction::FirstScriptCall(VMFunction * func, VMValue * params, int numparams, VMReturn * ret, int numret) Line 301	C++
 	lzdoom.exe!VMCall(VMFunction * func, VMValue * params, int numparams, VMReturn * results, int numresults) Line 580	C++
 	lzdoom.exe!DMenu::CallDrawer() Line 325	C++
 	lzdoom.exe!M_Drawer() Line 839	C++
 	lzdoom.exe!D_Display() Line 959	C++
 	lzdoom.exe!D_DoomLoop() Line 1086	C++
 	lzdoom.exe!D_DoomMain() Line 2772	C++
 	lzdoom.exe!DoMain(HINSTANCE__ * hInstance) Line 1059	C++
 	lzdoom.exe!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * nothing, wchar_t * cmdline, int nCmdShow) Line 1390	C++

Code: Select all

-		this	0x0000023a13d4fc20 {...}	FTexture * {FDummyTexture}
+		[FDummyTexture]	{...}	FDummyTexture
+		__vfptr	0x00007ff75d2b40a0 {lzdoom.exe!void(* FDummyTexture::`vftable'[17])()} {0x00007ff75baf1c2a {lzdoom.exe!FDummyTexture::`vector deleting destructor'(unsigned int)}, ...}	void * *
		LeftOffset	0	short
		TopOffset	0	short
		WidthBits	6 '\x6'	unsigned char
		HeightBits	6 '\x6'	unsigned char
+		Scale	{X=1.0000000000000000 Y=1.0000000000000000 }	TVector2<double>
		SourceLump	-1	int
+		id	{texnum=0 }	FTextureID
+		CustomShaderTextures	0x0000023a13d4fc48 {0x0000000000000000 <NULL>, 0x0000000000000000 <NULL>, 0x0000000000000000 <NULL>, ...}	FTexture *[15]
+		Name	{Chars=0x00007ff75d4d1cdc "" }	FString
		UseType	Null (13 '\r')	ETextureType
		bNoDecals	0 '\0'	unsigned char
		bNoRemap0	0 '\0'	unsigned char
		bWorldPanning	0 '\0'	unsigned char
		bMasked	1 '\x1'	unsigned char
		bAlphaTexture	0 '\0'	unsigned char
		bHasCanvas	0 '\0'	unsigned char
		bWarped	0 '\0'	unsigned char
		bComplex	0 '\0'	unsigned char
		bMultiPatch	0 '\0'	unsigned char
		bKeepAround	0 '\0'	unsigned char
		Rotations	65535	unsigned short
		SkyOffset	0	short
		Width	64	unsigned short
		Height	64	unsigned short
		WidthMask	63	unsigned short
+		Native	0x0000023a13d4fcd8 {0x0000000000000000 <NULL>, 0x0000000000000000 <NULL>, 0x0000000000000000 <NULL>}	FNativeTexture *[3]
+		PixelsBgra	{ size=0 }	std::vector<unsigned int,std::allocator<unsigned int> >
		bSWSkyColorDone	false	bool
+		FloorSkyColor	{b=205 'Í' g=205 'Í' r=205 'Í' ...}	PalEntry
+		CeilingSkyColor	{b=205 'Í' g=205 'Í' r=205 'Í' ...}	PalEntry
+		gl_info	{Material=0x0000023a13d4fd20 {0x0000000000000000 <NULL>, 0x0000000000000000 <NULL>} SystemTexture=0x0000023a13d4fd30 {...} ...}	FTexture::MiscGLInfo
+		buff	0x0000023a15aa3560 ""	unsigned char *
		fmt	TEX_Pal (0)	FTextureFormat
		h	64	int
		height	64	int
		pitch	64	int
+		pix	0x0000000000000000 <NULL>	const unsigned char *
+		pix2	0x0000000000000000 <NULL>	const unsigned char *
		stride	0	int
		w	64	int
		x	0	int
		y	0	int
User avatar
Marisa the Magician
Posts: 3886
Joined: Fri Feb 08, 2008 9:15 am
Preferred Pronouns: She/Her
Operating System Version (Optional): (btw I use) Arch
Graphics Processor: nVidia with Vulkan support
Location: Vigo, Galicia

Re: LZDoom [beta 4 11/29 released]

Post by Marisa the Magician »

That ZMAPINFO line has been in there for a long time. It's so there are no borders displayed and it's just the tiled texture. This is to keep it identical to how it works in the original game (which was kind of a hidden feature).

I guess I'd have to change it to be a blank, existing texture?
User avatar
drfrag
Vintage GZDoom Developer
Posts: 3141
Joined: Fri Apr 23, 2004 3:51 am
Location: Spain

Re: LZDoom [beta 4 11/29 released]

Post by drfrag »

It works in GZDoom, but don't think it did in ZDoom. I could try to avoid the crash.
May be i'm missing something but about this code in gi.cpp the graphics array is not used anywhere else, how does this work?

Code: Select all

			{
				// border = {size, offset, tr, t, tl, r, l ,br, b, bl};
				FString *graphics[8] = { &gameinfo.Border.tr, &gameinfo.Border.t, &gameinfo.Border.tl, &gameinfo.Border.r, &gameinfo.Border.l, &gameinfo.Border.br, &gameinfo.Border.b, &gameinfo.Border.bl };
				sc.MustGetToken(TK_IntConst);
				gameinfo.Border.offset = sc.Number;
				sc.MustGetToken(',');
				sc.MustGetToken(TK_IntConst);
				gameinfo.Border.size = sc.Number;
				for(int i = 0;i < 8;i++)
				{
					sc.MustGetToken(',');
					sc.MustGetToken(TK_StringConst);
					(*graphics[i]) = sc.String;
				}
			}
Edit: just confirmed with a zmapinfo.txt that ZDoom also crashed.
User avatar
drfrag
Vintage GZDoom Developer
Posts: 3141
Joined: Fri Apr 23, 2004 3:51 am
Location: Spain

Re: LZDoom [beta 4 11/29 released]

Post by drfrag »

It's fixed. https://github.com/drfrag666/gzdoom/com ... 64ea8f5f3c
Marisa Kirisame wrote: I guess I'd have to change it to be a blank, existing texture?
No, it could stop working when you add more unsupported features anyway.
User avatar
LossForWords
Posts: 676
Joined: Fri Jan 13, 2017 9:08 pm

Re: LZDoom [beta 4 11/29 released]

Post by LossForWords »

hey, how do i disable sprites consantly facing me like this?
You do not have the required permissions to view the files attached to this post.
User avatar
TDRR
Posts: 815
Joined: Sun Mar 11, 2018 4:15 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): Debian 12/ Manjaro
Graphics Processor: nVidia with Vulkan support
Location: Venezuela

Re: LZDoom [beta 4 11/29 released]

Post by TDRR »

LossForWords wrote:hey, how do i disable sprites consantly facing me like this?
Use the poly renderer or OpenGL, as Classic Software has no way to fix it.
User avatar
drfrag
Vintage GZDoom Developer
Posts: 3141
Joined: Fri Apr 23, 2004 3:51 am
Location: Spain

Re: LZDoom [beta 4 11/29 released]

Post by drfrag »

I don't know what to say, i think he is already using the GL renderer. It's the same as in GZDoom, there's the sprite billboard option but when you set it to Y axis they look like paper cutouts.
https://zdoom.org/wiki/OpenGL_options

Return to “Game Engines”