Big list of small bugs

Report bugs in this thread. Please
1) Have a copy of your DEBUG.TXT or EDGE.LOG and attach to post.
2) Screenshots or examples do help -- steps to recreate the bug are very encouraged.

Sourceforge Bug Tracker #1
Sourceforge Bug Tracker #2
Github issues tracker
User avatar
Corbachu
Site Admin
Posts: 778
Joined: Fri Jun 08, 2012 11:22 am
Gender:
Contact:

Re: Big list of small bugs

Post by Corbachu »

Try running 3DGE with the command line parameter:

-sprite_kludge 0

and, if you don't see anything different, try:


-sprite_kludge 1


And boot into your test map -- it looks like the following check will remove sprites, since it seems the previous team tried to correct the clipping:

Code: Select all

// fix for sprites that sit wrongly into the floor/ceiling
	int y_clipping = YCLIP_Soft;

	if (is_model || (mo->flags & MF_FUZZY) || (mo->hyperflags & HF_HOVER))
	{
		[b]y_clipping = YCLIP_Never;[/b]
	}
I have a feeling that this was always set to "1" in order to try and correct the "sprites sitting wrongly in the floor or ceiling", thus preventing any kind of Y clipping. However, disabling the "sprite kludge" produces much different results:

Code: Select all

	else if (sprite_kludge==0 && gzb < [b]mo->floorz[/b])
	{
		// explosion ?
		if (mo->info->flags & MF_MISSILE)
		{
			[b]y_clipping = YCLIP_Hard;[/b]
		}
		else
		{
			[b]gzt += mo->floorz - gzb;
			gzb = mo->floorz;[/b]
		}
	}
	else if (sprite_kludge==0 && gzt > [b]mo->ceilingz[/b])
	{
		// explosion ?
		if (mo->info->flags & MF_MISSILE)
		{
			[b]y_clipping = YCLIP_Hard;[/b]
		}
		else
		{
			[b]gzb -= gzt - mo->ceilingz;
			gzt = mo->ceilingz;[/b]
		}
	}
If turning sprite kludge to "0" produces better results, I will add this as a compatibility option, and further tweak the source code. Most of the Y-clipping collision detection was removed between 1.29 <-> 1.31 in an attempt to fix it all up once and for all, but it seems some code was indeed left in there.

At any rate, try that and let me know if it works any differently. I have a good understanding of how Y-clipping works now, so please let me know. If this all fails to produce results, I may have a solution ready. . .

EDIT:

Saw this in the disabled part of the code, in THING rendering:

Code: Select all

	// Note that sprites are not clipped by the lowest floor or
	// highest ceiling, OR by *solid* extrafloors (even translucent
	// ones) -- UNLESS y_clipping == YCLIP_Hard.
So, provide me a test map of the existing behavior -- I think I can fix this and make it a "gameplay" option.
\(סּںסּَ` )/ۜ

CeeJay
Posts: 224
Joined: Sat Jan 26, 2013 9:56 am

Re: Big list of small bugs

Post by CeeJay »

It's not a huge deal, really. More of a pet peeve, i guess. But I can't be the only one. Just thought I'd point out another issue while I was at it :D

I'm not a mapper, which is why I've only made gameplay mods. With the exception of WolfenEDGE, where the levels were auto-generated and with only minor edits in DoomBuilder (replacing/swapping textures and objects around).

User avatar
Corbachu
Site Admin
Posts: 778
Joined: Fri Jun 08, 2012 11:22 am
Gender:
Contact:

Re: Big list of small bugs

Post by Corbachu »

Well, I can make it a cvar, something like:

r_yclip, with something like this:

YCLIP_Never = 0, // don't do any clipping
YCLIP_Soft = 1, // only clip at translucent water
YCLIP_Hard = 2, // vertically clip sprites at all solid surfaces

As a matter of fact, I will do this tonight. I created a small cubed map similar to how you described, and I saw what you meant.

Ideally, I will restore the old behavior for those who prefer it.
\(סּںסּَ` )/ۜ

CeeJay
Posts: 224
Joined: Sat Jan 26, 2013 9:56 am

Re: Big list of small bugs

Post by CeeJay »

Found another what I think is a bug. The BFG spray damage attack will spawn multiple times if the enemy is not enough to kill with the initial blast (all in the exact same spot). I think it should be just once regardless.

Check the BFG replacement in the fantasy mod to see what I mean.

User avatar
Marscaleb
Posts: 89
Joined: Sat Jun 25, 2016 12:57 pm
Location: California or Utah
Contact:

Re: Big list of small bugs

Post by Marscaleb »

This is not where I posted this thread... WHAT SORCERY IS THIS?!?!

User avatar
Corbachu
Site Admin
Posts: 778
Joined: Fri Jun 08, 2012 11:22 am
Gender:
Contact:

Re: Big list of small bugs

Post by Corbachu »

Marscaleb wrote:This is not where I posted this thread... WHAT SORCERY IS THIS?!?!
:D

Figured I would just add this for registered users :)
\(סּںסּَ` )/ۜ

CeeJay
Posts: 224
Joined: Sat Jan 26, 2013 9:56 am

Re: Big list of small bugs

Post by CeeJay »

The save/load sub-menus don't use the correct graphic header, which was a problem in Vanilla DOOM too even though the lump is present in the IWADs. Guess it won't be a problem if 3DGE switches to proper fonts though.

User avatar
RUNSABER
Posts: 132
Joined: Sat Mar 14, 2015 3:10 pm

Re: Big list of small bugs

Post by RUNSABER »

Bug report while playing TNT on MAP28 on UV:

Code: Select all

Entering level 28: the spirit world
WARNING: Failed to read directory: .\savegame\current //disregard
ERROR: Assertion 's->num >= 1' failed in LookupEffectDef (src/s_sound.cc:291).
This occurred in the first room on MAP28 by falling from the starting area's ledge.
Official 3DGE64 Project Portal - Public Repository for 3DGE 64.

User avatar
Corbachu
Site Admin
Posts: 778
Joined: Fri Jun 08, 2012 11:22 am
Gender:
Contact:

Re: Big list of small bugs

Post by Corbachu »

Apparently it is an issue looking up an index for a sound effect. I will debug it through VS.
\(סּںסּَ` )/ۜ

CeeJay
Posts: 224
Joined: Sat Jan 26, 2013 9:56 am

Re: Big list of small bugs

Post by CeeJay »

Some minor and easily fixable issues (for once): "Picked up a armor bonus." still hasn't been corrected with "Picked up AN armor bonus.", at least I think it's supposed to be AN in this case. My grammar is a little wonky. DOOM 1 episode end maps are supposed to skip the intermission screen and go straight to the text screen (this may have been fixed, not sure off hand). The latter can be solved with adding STATS=NONE; to levels.ddf, that's how I did it in Doom Forever.

And lastly, not so much a bug as a pet peeve. Player sounds can not be interrupted upon level end, which becomes an issue with weapons using idling or looping sounds (such as the case with the chainsaw). All player sounds should basically go dead silent when level is ended, either through exit switch or end sector.

EDIT: I've noticed that the end switch sound is cut, but if anything this is the one sound that shouldn't be cut. It makes adding custom sound(s) to it kinda pointless, as they don't get a chance to play out entirely. Unless they are really, really, really short.

EDIT 2: The Doom wiki page claims that 3DGE supports decals. And inventory system and post-processing effects? That's news to me.