Page 2 of 3

Re: Big list of small bugs

Posted: Fri Jul 15, 2016 1:04 am
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.

Re: Big list of small bugs

Posted: Fri Jul 15, 2016 8:05 am
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).

Re: Big list of small bugs

Posted: Fri Jul 15, 2016 9:48 am
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.

Re: Big list of small bugs

Posted: Fri Jul 15, 2016 9:00 pm
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.

Re: Big list of small bugs

Posted: Mon Jul 18, 2016 3:40 pm
by Marscaleb
This is not where I posted this thread... WHAT SORCERY IS THIS?!?!

Re: Big list of small bugs

Posted: Tue Jul 19, 2016 2:12 pm
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 :)

Re: Big list of small bugs

Posted: Thu Aug 04, 2016 2:05 am
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.

Re: Big list of small bugs

Posted: Thu Aug 04, 2016 1:45 pm
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.

Re: Big list of small bugs

Posted: Fri Aug 12, 2016 2:03 pm
by Corbachu
Apparently it is an issue looking up an index for a sound effect. I will debug it through VS.

Re: Big list of small bugs

Posted: Wed Aug 17, 2016 11:42 pm
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.