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 

Dehacked cannot override heretic/hexen pickup floating

 
Post new topic   Reply to topic    ZDaemon Forum Index -> Rejected Requests
View previous topic :: View next topic  
Author Message
Body-Guard
Unstoppable!


Joined: 08 Jan 2006
Location: Hungary

PostPosted: Mon Aug 12, 2013 10:16 am    Post subject: Dehacked cannot override heretic/hexen pickup floating Reply with quote

By default, heretic and hexen pickups have the FLOATBOB effect, but when using these items in Doom, this effect may be undesirable. Even when combining dehacked with dehsupp, it is still not possible to remove the floating effect from the pickups.
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
Cybershark
Spamming!


Joined: 05 Jan 2005
Location: off the grid, but still fighting for the users!

PostPosted: Tue Aug 13, 2013 1:23 am    Post subject: Reply with quote

That's rubbish, as I've done it myself Laughing

The problem is not with DEHACKED, it's with the subsections that the various effects fall under. This was one of those things that Worst explains to you but you never really understand.
Basically, unless you set some flag(s) within the bit range you wish to use, the existing flags will not be reset.

For example, in my WAD, to counteract FLOATBOB on Heretic armor, I set the BLASTED flag. That flag is useless on a pickup, but it overwrote the native one.

This was the definition:
Code:
Thing 213 (SilverShield)
Bits = 1 + BLASTED
Back to top
View user's profile Send private message Visit poster's website
Body-Guard
Unstoppable!


Joined: 08 Jan 2006
Location: Hungary

PostPosted: Tue Aug 13, 2013 9:16 am    Post subject: Reply with quote

I used Bits = 0 + SPECIAL which didn't work. SPECIAL means item can be picked up. AFAIK this should also remove the effect but it doesn' work. Nevertheless if yours work, I'll give it a go.
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
Sr69Mm-jC
Unstoppable!


Joined: 21 Jul 2011

PostPosted: Tue Aug 13, 2013 12:02 pm    Post subject: Reply with quote

Body-Guard wrote:
I used Bits = 0 + SPECIAL which didn't work. SPECIAL means item can be picked up. AFAIK this should also remove the effect but it doesn' work. Nevertheless if yours work, I'll give it a go.

SPECIAL is not in the same group as FLOATBOB, hence setting SPECIAL won't remove FLOATBOB.

CyberShark attempted to explain it and provided a good reference link, though it might still be not easy to understand it indeed. I personally prefer ZDoom wiki link for this (and cybershark's link doesn't even contain BLASTED bit he mentioned himself). You can see that some bits start with "MF_", and others start with "MF2_". These are two groups of bits. They are separate. Each object has some bits set in one group and some other bits set in the other group. There also "MF3_" and "MF4_" but I'm not sure if they work at all. I will be explaining this for just the first two groups for now.

Now, let's say you write: Bits=SPECIAL. This sets a bit from group 1. What happens is all other bits from group 1 reset while all bits from group 2 remain the same as they were initially for this object. That is why your heretic item is still floatbobbing. However, BLASTED bit is in group 2. So if you write Bits=BLASTED, all other bits from group 2 are reset (including FLOATBOB) while bits from group 1 remain as they were (we don't care about those anyway). Hence CyberShark's solution works.

I hope it makes some sense now. If MF3_ and MF4_ bits indeed work, the exact same logic is applied for these separate groups too. So, in conclusion:
1) If you wish to add a new bit to an object you will also need to explicitly set the other bits from the same group that the object had before. If you only do Bits=MYNEWBIT it will lose the bits from the same group that it had before.
2) If you wish to unset a specific bit you need to assign another bit from the same group. This would often be something that affects your particular object the least. For example, CyberShark used "blasted" bit which makes projectiles pass through your object; as he said himself this does not affect pickup items anyway, hence it's a good idea to assign this bit in order to get rid of "floatbob".
Back to top
View user's profile Send private message
Body-Guard
Unstoppable!


Joined: 08 Jan 2006
Location: Hungary

PostPosted: Tue Aug 13, 2013 1:57 pm    Post subject: Reply with quote

Thanks for the detailed explanation. I knew about multiple bit types but I thought once I use the Bits keyword, all of the flags of the actor get reset no matter which section they belong to. Smile
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
Cybershark
Spamming!


Joined: 05 Jan 2005
Location: off the grid, but still fighting for the users!

PostPosted: Thu Aug 15, 2013 1:24 am    Post subject: Reply with quote

Thanks for a much clearer explanation, Sr Smile
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    ZDaemon Forum Index -> Rejected 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