Page 1 of 1

[CODEPTR]

Posted: Mon May 22, 2006 3:51
by Jive
I'm not sure, but...

I was playing IC2004, by Ian Cunnings (Map01), this pure jewel, this awesome masterpiece, and didn't find any way to end it.
So I looked at it with Doombuilder and discovered that 4 pillars should have been lowered after the cyberdemon's death.
The dehacked file was containing:

[CODEPTR]
Frame 700 = KeenDie

I must add that I didn't see it firstly when I included another dehacked entry for the name of the levels of the IC's Series.

Conclusion:
1) The fact to have 2 dehacked entries can have a bad effect on the CODEPTR value? Thus, the level was correctly named, so MY dehacked values were used.
2) GZDoom v1.0.10 is not fully compatible with Zdoom, at least for this part of the code and the use of the tag 666.

Posted: Mon May 22, 2006 9:22
by Graf Zahl
There are issues with multiple DEHACKEDs. Recent ZDoom versions often crashed when you were doing that (which has been fixed by now) but the way the code is written I wouldn't be surprised if there were more problems.

Posted: Mon May 22, 2006 13:38
by Jive
Ok, but Ian advise us that his pwad is zdoom compatible:
May Not Run With... : Non Boom compatible sourceports, and any
sourceport that hasn't increased the SEG
limit. Requires ports that spawn Voodoo Dolls
and can read embedded dehacked files. Tested and
works fine in ZDoom 2.0.63a and PRBoom 2.2.6

Posted: Mon May 22, 2006 14:47
by Graf Zahl
I have played this WAD with one of the recent versions and it was working. The problems are caused by your second Dehacked patch.

Posted: Mon May 22, 2006 17:46
by Jive
you're right: I came back here to tell you that the dehacked patch was efficient, once integrated within the other one, so that there is no more 2 but 1 entry for dehacked.
Strangely, the entry made by Ian was using "Doom version = 19" and mine "Doom version = 21". So, I guess that the latest version (mine) was choosen by GZDoom to be the one to use, which was preventing the other one to be used. Or, like Zdoom, the GZDoom engine don't worry about this entry?
If yes, why the second entry was used and not the first one?!?
I guess that it's because of the rule "The last entry crush the other ones".

Resume: only ONE dehacked entry!!!

Posted: Mon May 22, 2006 19:11
by Jive
Special Monster Death Effects available for extended dehacked files (bex files):

KeenDie
Type: Monster death / "Magic" codepointer, normal
Purpose: The Fall codepointer will be called on the object. It will then check the level to see if all objects of the type which called this pointer are dead. If so, all sectors tagged 666 will be opened as normal, stay-open doors.
Notes: This "magic" pointer works on all maps and with any type of monster.

So, the way the code was written by Ian is fine.

Other explanations here