[Closed] [GZDooM] Sprite Offsets Fowled Up If DooM Names Used

Bugs that have been investigated and resolved somehow.

Moderator: GZDoom Developers

[GZDooM] Sprite Offsets Fowled Up If DooM Names Used

Postby Boingo_the_Clown » Sat Aug 12, 2017 11:54 am

This problem has been around since GZDooM version 2.3.2, and is still present in the current version 3.1.0. (I just checked)

I noticed during a test playthrough of my mod, DeiMWolf, that some of the objects in the game appeared to be burried in the floor.

Image

After some inspection, I noticed all the problem sprites shared one thing in common. All of them used sprite names from the original DooM. This bug appears in all of my various mods wherever any of the original DooM sprite names are used.

I was able to confirm the bug is related to the sprite names by changing the names of some of the affected sprites, which caused the bug to instantly disappear.

I suspect GZDooM is somehow using the original DooM sprite offsets on the replacement sprites instead of the offsets specified for them. The sprites in DeimWolf are taller than the sprites they replace. If GZDooM is using the Y offsets from the original DooM sprites, that would definitely explain why they appear in the floor.

Does GZDooM keep a list of the original DooM sprite offsets somewhere?

Here is another example of the bug in The People's DooM, where the current enemy sprites use tombstones instead of corpses. The tombstones are taller than the original corpses, and so are also rendered inside the floor.

Image

The bug does not just bury sprites in the floor. Replacement sprites that are shorter than the originals they replace are rendered floating above the ground.

Image

DeiMWolf can be downloaded here: http://www.doomlegends.com/deimwolf/dwv093.zip
Last edited by Boingo_the_Clown on Sat Aug 12, 2017 2:56 pm, edited 1 time in total.
User avatar
Boingo_the_Clown
 
Joined: 17 Sep 2012
Location: Canada

Re: [GZDooM] Sprite Offsets Fowled Up If DooM Names Used

Postby Graf Zahl » Sat Aug 12, 2017 11:59 am

That's because for Doom IWADs the offsets get adjusted to look better in the hardware renderer. I'll have to make an option to disable it from the mod side
User avatar
Graf Zahl
Lead GZDoom Developer
Lead GZDoom Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: [GZDooM] Sprite Offsets Fowled Up If DooM Names Used

Postby Boingo_the_Clown » Sat Aug 12, 2017 4:18 pm

Suggestion:

It might be a good idea to make it optional for users to disable it from the options menu as well.

The reason I mention this is because older mods (i.e. Aliens TC, Batman TC, etc.,) will be affected as well, and since they are no longer under development, they can not be corrected. Adding the option for users to disable the function would be useful for compatability with older mods.
User avatar
Boingo_the_Clown
 
Joined: 17 Sep 2012
Location: Canada

Re: [GZDooM] Sprite Offsets Fowled Up If DooM Names Used

Postby Rachael » Sat Aug 12, 2017 4:24 pm

Most likely, rather than a menu option, there will instead be compatibility.txt entries to automatically enable it when such wads are loaded. GZDoom already does similar things on-the-fly for certain mods that no longer get updated.
User avatar
Rachael
Webmaster
 
Joined: 13 Jan 2004
Discord: Rachael#3767
Twitch ID: madamerachelle
Github ID: madame-rachelle

Re: [GZDooM] Sprite Offsets Fowled Up If DooM Names Used

Postby Graf Zahl » Sat Aug 12, 2017 4:42 pm

This can only happen with IWADs so compatibility.txt won't help.
Once the IWADs get their own IWADINFO entry this will automatically be filtered anyway because the responsible data is put into the subdirectories for Doom.wad and Doom2.wad.
User avatar
Graf Zahl
Lead GZDoom Developer
Lead GZDoom Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: [GZDooM] Sprite Offsets Fowled Up If DooM Names Used

Postby Gez » Sun Aug 13, 2017 10:00 am

Things such as brightmaps can be disabled if they are modified; can't the same thing be done here?
Gez
 
 
 
Joined: 06 Jul 2007

Re: [GZDooM] Sprite Offsets Fowled Up If DooM Names Used

Postby Graf Zahl » Sun Aug 13, 2017 11:33 am

Of course the definitions contain code for that. I'll just repeat myself: This effect only happens if the content is loaded as an IWAD and for that the same logic as for brightmaps applies: The loader cannot detect such a use case where the IWAD pretends to be a regular Doom 2 but really isn't.
User avatar
Graf Zahl
Lead GZDoom Developer
Lead GZDoom Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: [GZDooM] Sprite Offsets Fowled Up If DooM Names Used

Postby Rachael » Sun Aug 13, 2017 4:40 pm

What if we MD5'd the individual IWAD assets and put in code to check for that, and then updated the default brightmaps for that?
User avatar
Rachael
Webmaster
 
Joined: 13 Jan 2004
Discord: Rachael#3767
Twitch ID: madamerachelle
Github ID: madame-rachelle

Re: [GZDooM] Sprite Offsets Fowled Up If DooM Names Used

Postby Graf Zahl » Sun Aug 13, 2017 4:49 pm

Do you know the MD5's of all regular or modified Doom.wad's? I sure don't.
User avatar
Graf Zahl
Lead GZDoom Developer
Lead GZDoom Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: [GZDooM] Sprite Offsets Fowled Up If DooM Names Used

Postby Rachael » Sun Aug 13, 2017 4:55 pm

Just the sprites, themselves, as they are loaded. Not the entire IWAD.
User avatar
Rachael
Webmaster
 
Joined: 13 Jan 2004
Discord: Rachael#3767
Twitch ID: madamerachelle
Github ID: madame-rachelle

Re: [GZDooM] Sprite Offsets Fowled Up If DooM Names Used

Postby Gez » Mon Aug 14, 2017 4:52 am

The original sprite height would be enough IMO.
Gez
 
 
 
Joined: 06 Jul 2007

Re: [GZDooM] Sprite Offsets Fowled Up If DooM Names Used

Postby Boingo_the_Clown » Tue Nov 07, 2017 9:58 pm

The problem continues in GZDooM version 3.2.1, as pointed out to me by another user on my T.U.C.Q. forum.

http://www.chexquest.org/index.php?topic=5449.0

So I hope this feature/bug can be fixed soon.
User avatar
Boingo_the_Clown
 
Joined: 17 Sep 2012
Location: Canada

Re: [GZDooM] Sprite Offsets Fowled Up If DooM Names Used

Postby Graf Zahl » Wed Nov 08, 2017 2:16 am

I am not going to fix this because with the new IWADINFO feature you can define your own filter directory and leave out the offending file.
User avatar
Graf Zahl
Lead GZDoom Developer
Lead GZDoom Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: [GZDooM] Sprite Offsets Fowled Up If DooM Names Used

Postby Boingo_the_Clown » Wed Nov 08, 2017 9:55 am

More info please?

If I can fix it, then I will, but I have to know how first.
User avatar
Boingo_the_Clown
 
Joined: 17 Sep 2012
Location: Canada

Re: [GZDooM] Sprite Offsets Fowled Up If DooM Names Used

Postby Graf Zahl » Wed Nov 08, 2017 10:00 am

Your problem is that the engine identifies the IWAD as Doom2 which also pulls in all lumps which are being explicitly filtered for inclusion in Doom2 IWADs.
A few weeks ago I added a feature that lets the engine load files named *.iwad and *.ipk3 as additional IWADs. To identify them they will require an IWADINFO lump to be added which sets up a few important items, one of which is the filter to be used for loading selective content.
User avatar
Graf Zahl
Lead GZDoom Developer
Lead GZDoom Developer
 
Joined: 19 Jul 2003
Location: Germany

Next

Return to Closed Bugs

Who is online

Users browsing this forum: No registered users and 1 guest