ZDaemon Forum Index ZDaemon
Client/Server DOOM
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

[Render] Old vanilla doom quirk - patch submit

 
Post new topic   Reply to topic    ZDaemon Forum Index -> Implemented Requests
View previous topic :: View next topic  
Author Message
Aeyesx
Spamming!


Joined: 13 Oct 2012
Location: Czech Republic

PostPosted: Sat Feb 17, 2018 5:33 pm    Post subject: [Render] Old vanilla doom quirk - patch submit Reply with quote

Hello,
I'd like to submit a self-made patch we compiled with noncom based on the 1.06 source purely made for zdaemon. This has been patched among many other ports and its for a good reason.

What it is:
All it changes is a really few lines in r_things.cpp that are responsible for "sprite mirroring" (or flipping if you wish).
The sprite mirroring was implemented in doom's IdTech1 engine because of memory limitations back then. to save a resources and reduce size ...
And what it does it mirrors the sprite.

What's wrong with it:
In doom, every sprite contains also X and Y offsets.



During mirroring, sprites are mirrored but the offsets are incorrectly flipped to the other side of the center. (They are actually lost)
This si mostly visible with big sprites, its not much noticable with smaller sprites as the different is just a few pixels.


The difference can clearly be seen here:




Our patch:

The patched r_things.cpp

Original: http://pastebin.com/bXJaGTDK
Patched http://pastebin.com/c52Kmsgj

Back in the day I also recorded a comparsion video of the our patched ZDaemon 1.06 client and the recent version.
https://www.youtube.com/watch?v=ms2Cg0UJVO8

Compatibility issues?!
None! This will never break any!
You see, there is a project that aims to fix those doom quirks, beign created by a guy Revenant100 known as Minor Sprite Fixing Project..

Among many other flaws it contains a work-around for those padding issues.
It acomplishes this by manually modifying all doom sprites giving them extra transparent space.



...As you can tell from the picture. Even if the bug occurs or not, and the offsets are lost the sprite will always be correctly mirrored.
And that's because the sprite itself is modified manually to have same dimensions on both sides.

Summary:
This old quirk can be harmlesly fixed to improve overall visual feeling. (And keep monster sprites in their hitboxes Wink ). Not everybody wants to load a custom PWAD for patching sprites.
I've spend myself few hours trying to animate some new actors and kept wondering why the offsets keep beign so crazy, so from point of mods is also a great thing so one does not have to keep this bug in mind.
Back to top
View user's profile Send private message Send e-mail
Kilgore
Air Cavalry


Joined: 17 Jun 2003
Location: Up the river

PostPosted: Wed Mar 07, 2018 11:27 am    Post subject: Reply with quote

I'd classify this as a feature request rather than a bug fix since that's the way it was in the original. At any rate, it's implemented. Thanks Medis (Aeyesx) and noncom.
Back to top
View user's profile Send private message Visit poster's website
Aeyesx
Spamming!


Joined: 13 Oct 2012
Location: Czech Republic

PostPosted: Wed Mar 07, 2018 12:39 pm    Post subject: Reply with quote

Thanks Kilgore.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic    ZDaemon Forum Index -> Implemented Requests All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group