[Won't fix] Bug in TC osiris.wad "fountain of ammo"

Bugs that have been investigated and resolved somehow.

Moderator: GZDoom Developers

Forum rules
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49230
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

Enjay wrote: To be clear - I'm all for compatability. I do think it is important. However, I think Zdoom moving on and providing flexibility is even more important. Sometimes the two things will be achievable at the same time, sometimes they won't.

And in this particular case it's almost possible to achieve both. Just use my last suggestion to prevent the same frame to spawn items twice in a row for the same monster. The only way this can happen is a loop and probably nobody is intentionally going to do this. Result: Most old WADs still work and the more recent stuff also works.

Thinking about the spawning on death: How about totally moving this out of the EXE? Instead a small script file could define which actor spawns which object.

Something like

Code: Select all

ZombieMan
{
    Clip
}
for Doom's enemies

and

Code: Select all

Mummy
{
    GoldWandAmmo, 3, 84
}

Minotaur
{
	ArtiSuperHealth, 0, 51
	PhoenixRodAmmo, 10, 84
}
for Heretic (with ammo count, probability and multiple objects)

This way has the distinct advantage that item spawns could be removed completely from a monster and it is much easier to use than to attach a script or special to each monster of a type that should have a species-defined item spawn action.
User avatar
Biff
Posts: 1061
Joined: Wed Jul 16, 2003 5:29 pm
Location: Monrovia, CA, USA

Post by Biff »

Are you all sure that the Osiris TC is broken? It's one of my all-time favorites and I've played it quite a bit with zdoom, probably more than a year ago, and I did not notice anything broken. In fact, I liked this TC enough to install the dehacked patch in the wad for convenience and make it available as Osiris2 on rarefiles. Guess I'll have to check into it...
User avatar
Risen
Posts: 5263
Joined: Thu Jan 08, 2004 1:02 pm
Location: N44°30' W073°05'

Post by Risen »

It's possible it was meant to do this, but I don't remember it that way. I'd have to actually pull out Doom.exe to know for sure...
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49230
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

Biff wrote:Are you all sure that the Osiris TC is broken? It's one of my all-time favorites and I've played it quite a bit with zdoom, probably more than a year ago, and I did not notice anything broken. In fact, I liked this TC enough to install the dehacked patch in the wad for convenience and make it available as Osiris2 on rarefiles. Guess I'll have to check into it...
It's only in the extreme death sequence of some monsters. That's why it normaly can't be seen. Just type 'kill monsters' at the console and watch the show!


BTW, nice WAD. I'm surprised I've never seen it before...
User avatar
Enjay
 
 
Posts: 26992
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland
Contact:

Post by Enjay »

Risen wrote:It's possible it was meant to do this, but I don't remember it that way.
I haven't actually checked Osiris, but it is unlikely that it was meant to do this. Dropping an item every time a death pointer is used is not original Doom behaviour. It is something that cropped up during the development of Zdoom 1.23. If the "ammo fountains" exist because a death pointer is being played multiple times, that would not have happened in vanilla Doom. In fact, I don't think there was any way of making an enemy drop multiple items in vanilla doom. (Which is why this is so useful in Zdoom.)

Graf Zahl's suggestion of a "dropdef" lump is a very good one, and would give a level of flexibility that TC makers have been desperate for, for years. My concern with it is that it is essentially doing something that will undoubtedly, sooner or later, fall under the umbrella of what doomscript will do. Now, I realise such a system could be available very quickly and doomscript will take a long time. So this would be one way of making this feature available quickly without having to WFDS. It does, however, strike me as a touch uncoordinated to release bits of pseudo doomscript, which may or may not be implemented in the same way in doomscript proper. The pseudo doomscript would then possibly have to be revised later, or support for interim lump formats may have to be provided for all versions from now on. This, despite the fact the interim formats would have been superseded by the final format of doomscript.


Another possibility for a fix (for this and other problems): Zdoom specific fixes.

Without looking at the dehacked patch at all, I suspect it is possible to fix the Osiris dehacked patch to make the death/fall pointer be used before the loop starts. A simple fix like that could easily be done by anyone with more than a passing knowledge of dehacked.

So, here's the suggestion: A Zdoom specific database of fixes and downloads. A list of projects that need a Zdoom specific fix could be maintained somewhere (the Wikki?) and patches/ fixed files linked to from there. People who discover the problem could either make the fix themselves (if they are able to do it) or post about the problem here and see if anyone else fancies doing a fix.

I'm not saying every incompatibility should be fixed using a Zdoom specific add-on patch. I'm sure Randy would want to continue making Zdoom as compatible as possible. However, certain things may only require a simple change to a dehacked lump, or the texture lump or something. Judging by previous problems and fixes that have occurred, a great many of the problems that have come up have actually been due to sloppy WAD construction that goes against the official Doom specs, but which the original exe let you get away with. Yet Randy makes Zdoom jump through hoops to accommodate a faulty WAD after making his own engine comply with the specs (and thereby breaking the faulty WAD). Perhaps it might be better to have Zdoom behaving as it is supposed to and have a library of fixes for wads that don't.

Thoughts, comments?
User avatar
Biff
Posts: 1061
Joined: Wed Jul 16, 2003 5:29 pm
Location: Monrovia, CA, USA

Post by Biff »

Yes, I wonder if we can fix the patch. I did as Graf said, and saw the clip and shotgun fountains. They soon slowed my machine to a crawl. Then I removed the dehacked patch from the wad and no more fountains.

Nigel, I know that you're one of the most adept dehacked patch tweakers, do you think this patch can be salvaged? Maybe give up some minor special effect like the smoke or????
User avatar
Biff
Posts: 1061
Joined: Wed Jul 16, 2003 5:29 pm
Location: Monrovia, CA, USA

Post by Biff »

OK, it was simpler than I thought. Here's one tweak that works. I just commented (used the # symbol) the lines which pointed to frame 695, which is the start of the smoking meat animation. Here's the patch, go play Osiris!


Patch File for DeHackEd v3.0

# Note: Use the pound sign ('#') to start comment lines.

Doom version = 19
Patch format = 6


Thing 3 (Sargeant)
Hit points = 40
Speed = 10

Thing 12 (Imp)
Hit points = 50
Reaction time = 6
Speed = 12
Mass = 124

Thing 13 (Demon)
Width = 1310720
Mass = 160

Thing 14 (Spectre)
Width = 1310720
Mass = 300

Thing 19 (Lost Soul)
Hit points = 70
Pain sound = 68
Mass = 70
Action sound = 84

Thing 20 (Spiderdemon)
First moving frame = 0
Alert sound = 46
Attack sound = 0
Injury frame = 0
Pain sound = 0
Far attack frame = 0
Death frame = 0
Death sound = 0
Action sound = 0
Bits = 8

Thing 21 (Arachnotron)
Hit points = 750
First moving frame = 645
Alert sound = 43
Reaction time = 6
Pain chance = 40
Pain sound = 28
Death sound = 71
Speed = 8
Width = 2097152
Height = 4718592
Mass = 200
Action sound = 80
Bits = 4195334

Thing 32 (Imp Fireball)
Initial frame = 102
Death frame = 104

Thing 34 (Rocket (in air))
Initial frame = 301
Alert sound = 91
Death frame = 306
Death sound = 92
Speed = 1638400
Missile damage = 12

Thing 37 (Arach. Fireball)
Initial frame = 357
Alert sound = 92
Death frame = 318
Speed = 1835008
Missile damage = 12

Thing 86 (Short Red Pillar)
Alert sound = 44
Reaction time = 4
Bits = 8

Thing 90 (Flaming Skulls)
Initial frame = 442
Hit points = 1
First moving frame = 444
Alert sound = 44
Pain chance = 200
Speed = 1
Width = 1835008
Height = 1245184
Bits = 40

Thing 91 (Grey Tree)
Bits = 258

Thing 102 (Swaying Body)
Width = 1638400
Height = 8388608
Bits = 768

Thing 105 (Hanging Torso)
Width = 2162688
Height = 1966080
Bits = 768

Thing 106 (Hanging Leg)
Width = 2555904
Height = 1638400
Bits = 768

Thing 108 (Hanging Torso 2)
Width = 2162688
Height = 1966080

Thing 110 (Hanging Leg 2)
Width = 2555904
Height = 1638400

Thing 126 (Twitching Body)
Initial frame = 602
Hit points = 1
First moving frame = 728
Alert sound = 45
Pain chance = 200
Speed = 1
Action sound = 85
Bits = 40

Thing 128 (Flaming Barrel)
First moving frame = 813
Alert sound = 92

Thing 130 (Hanging Body 2)
Bits = 768

Thing 136 (Pool Of Blood 2)
Width = 1835008
Height = 3014656
Bits = 525078

Frame 60
Duration = 2

Frame 61
Duration = 6

Frame 63
Duration = 1

Frame 64
Duration = 3

Frame 65
Duration = 6
Next frame = 1

Frame 66
Duration = 2

Frame 99
Duration = 8

Frame 100
Duration = 8

Frame 101
Duration = 8

Frame 106
Next frame = 91

Frame 114
Sprite number = 18

Frame 127
Duration = 6

Frame 128
Duration = 4

Frame 129
Duration = 2

Frame 144
Sprite subnumber = 32769

Frame 145
Sprite subnumber = 32771
Next frame = 148

Frame 147
Next frame = 146

#Frame 202
#Duration = 3
#Next frame = 695

#Frame 235
#Duration = 2
#Next frame = 695

Frame 300
Duration = 4
Next frame = 303

Frame 302
Duration = 3

Frame 303
Duration = 3

Frame 306
Duration = 3

Frame 307
Duration = 3

Frame 308
Duration = 4

Frame 309
Duration = 8

Frame 310
Duration = 6

Frame 359
Duration = 6

Frame 420
Duration = 4

#Frame 434
#Duration = 2
#Next frame = 695

#Frame 469
#Duration = 2
#Next frame = 695

Frame 477
Duration = 3

Frame 478
Duration = 3

Frame 479
Duration = 3

Frame 480
Duration = 3

Frame 481
Duration = 3

Frame 482
Duration = 3

Frame 483
Duration = 3

Frame 484
Duration = 3

Frame 488
Sprite subnumber = 32775
Duration = 4

Frame 489
Duration = 8

Frame 492
Duration = 6

Frame 493
Duration = 6

Frame 494
Duration = 6

Frame 587
Duration = 4

Frame 588
Duration = 4

Frame 595
Duration = 4

Frame 596
Duration = 4

Frame 597
Duration = 3

Frame 598
Duration = 3

Frame 599
Duration = 3

Frame 600
Duration = 3

Frame 601
Duration = 32

Frame 602
Duration = 32

Frame 604
Next frame = 606

Frame 606
Next frame = 608

Frame 608
Next frame = 610

Frame 610
Next frame = 612

Frame 612
Next frame = 614

Frame 648
Duration = 16

Frame 649
Duration = 14

Frame 651
Duration = 6

Frame 694
Next frame = 698

Frame 695
Duration = 5

Frame 696
Duration = 5

Frame 697
Duration = 5
Next frame = 695

Frame 728
Duration = 10

Frame 729
Duration = 10

Frame 730
Duration = 10

Frame 731
Duration = 8

Frame 732
Duration = 8

Frame 733
Duration = 8

Frame 734
Duration = 8

Frame 735
Duration = 8

Frame 736
Duration = 8

Frame 791
Duration = 2

Frame 792
Duration = 2

Frame 793
Duration = 2

Frame 794
Duration = 2

Frame 795
Duration = 2

Frame 796
Duration = 2

Frame 798
Duration = 6

Frame 861
Sprite subnumber = 0

Frame 865
Next frame = 862

Frame 888
Duration = 5

Frame 889
Duration = 5

Frame 890
Duration = 5
Next frame = 902

Frame 902
Duration = 5
Next frame = 903

Frame 903
Duration = 5
Next frame = 888

Sprite 0
Offset = 1

Sprite 1
Offset = 64

Ammo 3 (Rockets)
Max ammo = 100
Per ammo = 10

Cheat 0
Chainsaw = butcherme
God mode = cheop
Ammo & Keys = fluff
Ammo = fluf
No Clipping 1 = olddm1code
No Clipping 2 = sghost
Invincibility = cantgetme
Berserk = grettirÿÿ
Invisibility = cantseeme
Radiation Suit = veneneuxÿ
Auto-map = eyeofraÿÿ
Lite-Amp Goggles = lite meÿÿ
BEHOLD menu = 1 foryou
Map cheat = lkjh

Text 21 23
commercial version.
OSIRIS Modification


Text 43 40
You need a blue key to activate this objectDamn! Better find a blue key . . .

Text 42 40
You need a red key to activate this objectDamn! Better go find a red key . . .

Text 45 44
You need a yellow key to activate this objectDamn! Better find a yellow key . . .

Text 37 36
You need a blue key to open this doorLocked. Need a blue key.

Text 39 36
You need a yellow key to open this doorShut tight. Where's the yellow key?

Text 36 36
You need a red key to open this doorDamn! Locked. Need a red key.

Text 20 21
Picked up the armor.Bagged some armor.

Text 24 25
Picked up the MegaArmor!Shields ON!

Text 25 24
Picked up a health bonus.Snagged a bit of health.

Text 12 12
Supercharge!Skull Power.

Text 11 11
MegaSphere!Skull of Ra

Text 25 26
Picked up a blue keycard.Where was that blue door?


Text 27 27
Picked up a yellow keycard.Now for that yellow door..


Text 24 27
Picked up a red keycard.Must be a red door around..

Text 27 24
Picked up a blue skull key.Found the Blue Ankh Key.

Text 29 28
Picked up a yellow skull key.Found the Yellow Ankh Key.

Text 26 24
Picked up a red skull key.Found the Red Ankh Key.

Text 21 20
Picked up a stimpack.A measly stimpack.

Text 20 23
Picked up a medikit.Snagged a box o' health

Text 16 16
Invulnerability!Death Mask!

Text 8 10
Berserk!Knife 'em!

Text 24 26
Radiation Shielding SuitRadiation Shielding Cloak

Text 17 17
Computer Area MapPyramid Data Feed

Text 25 26
Light Amplification VisorGot the lite-amp goggles

Text 19 18
Picked up a rocket.Got a fuel tank...

Text 27 27
Picked up a box of rockets.Flamethrower Fuel Container

Text 25 24
Picked up an energy cell.Haze weapon feeder cell.

Text 30 28
Picked up an energy cell pack.Electric Injector Cell Pack.

Text 21 20
You got the chaingun!Got a machine gun!

Text 28 28
You got the rocket launcher!You got the Flamethrower!

Text 23 20
You got the plasma gun!Are You Experienced?

Text 22 20
Degreelessness Mode OnWhy not let MOM try?

Text 23 20
Degreelessness Mode OffThat's better.

Text 20 21
Ammo (no keys) AddedYou are so LAME . . .

Text 21 22
Very Happy Ammo AddedCan't HACK it, huh?

Text 19 17
No Clipping Mode ONCHEATING again.

Text 20 20
No Clipping Mode OFFThat's better.

Text 17 16
level 1: entrywayStargate Systems

Text 19 18
level 2: underhallsThe Crypts Defiled

Text 20 20
level 3: the gantletCloud of Flame

Text 18 16
level 4: the focusR U Experienced?

Text 26 26
level 5: the waste tunnelsOSIRIS Outpost

Text 20 21
level 6: the crusherPrince of the Dead

Text 20 21
level 7: dead simpleTemple of Amon-Ra
User avatar
Biff
Posts: 1061
Joined: Wed Jul 16, 2003 5:29 pm
Location: Monrovia, CA, USA

Post by Biff »

One more thing I just spotted when starting Osiris, Zdoom gives these messages in the console:

sprite name -18915 out of range
sprite name -18908 out of range


Does that mean several sprites won't be used?
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49230
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

Enjay wrote: Graf Zahl's suggestion of a "dropdef" lump is a very good one, and would give a level of flexibility that TC makers have been desperate for, for years. My concern with it is that it is essentially doing something that will undoubtedly, sooner or later, fall under the umbrella of what doomscript will do. Now, I realise such a system could be available very quickly and doomscript will take a long time. So this would be one way of making this feature available quickly without having to WFDS. It does, however, strike me as a touch uncoordinated to release bits of pseudo doomscript, which may or may not be implemented in the same way in doomscript proper. The pseudo doomscript would then possibly have to be revised later, or support for interim lump formats may have to be provided for all versions from now on. This, despite the fact the interim formats would have been superseded by the final format of doomscript.

I'm sick of Doomscript. To be honest all this WFDS is hampering the development of ZDoom more than anything else. Every now and then some feature is suggested and the answer is 'DoomScript will handle it.' Problem: There is no DoomScript! Until now it's total vaporware without even a shred of apparent development. I fully realize that doing some interim solutions is probably not the best idea if DoomScript is eventually done but currently it's a totally frustrating situation. A few examples:

Dehacked is pathetically limited because it has such a small set of resources to work on. The set isn't expanded - because DoomScript will eventually fix it.
Heretic/Hexen items cannot be customized - wait for DoomScript.
Certain hard coded stuff (like the item dropping) cannot be altered - because eventually there will be DoomScript to handle this.
You can't let a monster shoot a custom projectile. Again the proposed solution is DoomScript.
Did I mention the item dropping? (And you can't even put it in the Dehacked lump because that doesn't handle Heretic/Hexen!)
...

You see where it is going?


So let's theorize the worst case situation if an interim solution is done and later superseded by DoomScript?

Answer: There's one more redundant lump! Frankly, who cares! Nobody is forced to use it if it becomes obsolete. Dehacked will become obsolete as well but since that's a resource that predates ZDoom support for it can't be dropped eventually.
And please don't start about the amount of added code to ZDOOM.EXE or the amount of work required to implement it. I could write a DROPDEF implementation in 1-1.5 hours. There's really nothing even remotely complex in there.

Don't get me wrong. ZDoom is still the best source port out there but as I closely follow the development of some other source ports, namely Eternity, I see it gradually implementing exactly the stuff that ZDoom is not doing - and that's the one and only weak point in it.

[/rant]

Disclaimer: This rant is in no way intended to criticize anybody's work, especially Randy's.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49230
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

Biff, to fix the patch you have to clear the code pointer in frame 696 with the BEX extensions. That's the one that gets looped. The problem with this patch is that even my suggested fix won't help altogether because it executes the NOBLOCKING code pointer twice in the extreme death sequence.
User avatar
Biff
Posts: 1061
Joined: Wed Jul 16, 2003 5:29 pm
Location: Monrovia, CA, USA

Post by Biff »

Well then, the "fix" I posted above is probably best in that only one clip, shotgun or whatever is dropped now.

I still don't know what to make of the "sprite name out of range" messages. Any idea?
User avatar
Lexus Alyus
Posts: 4220
Joined: Tue Jul 15, 2003 5:07 pm
Location: Nottingham, UK
Contact:

Post by Lexus Alyus »

Can't you just use an unused from and loop them. Better yet, find a frame that isn't used and set it's codepointers to 'null' and then loop[ those frames. It only needs about 2 frames and I'm sure Doom has those frames available.

Also, about WFDS: lately it doe sseem like an excuse to not implement stuff. To tell you the truth, I havn't personally seen any evidence that DS will ever be official... it seems like it was a dream dreamt by some random person on these forums and not randy. So, all this WFDS crap just seems like bullshit...

It doesn't help that Rany doesn't acknowledge any of this to put us out of our misery. Will DoomScript ever exist? Are you gonna dd support for Heretic/Hexen editing of codeponters, etc...? Are you gonn allow us to specify what Items monsters will drop? I'm not asking for resaults here, I'm just asking that randy at least lets us know whats going on or at least tell us that we are dreaming of something that will never see the light of day (Doomscript?).

Sorry,I know I may seem like a bastard... maybe I am... but i feel that randy nees to say something rather than ignoring us... (like always, just disagree if you want :-D).

:twisted:
User avatar
Risen
Posts: 5263
Joined: Thu Jan 08, 2004 1:02 pm
Location: N44°30' W073°05'

Post by Risen »

I know what it is like to work on something and not know when to possibly expect results. You don't want to say too much about it along the way. With the activity on the forums, it can hardly be said Randy is ignoring us.
User avatar
Enjay
 
 
Posts: 26992
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland
Contact:

Post by Enjay »

Randy has certainly said something about a scripting language and a desire to implement one. However, the all singing-all dancing editing panacea that doomscript has become in many people's minds may or may not be what Randy has envisaged.

In fact, I think Randy's last comment on the issue was something like

"doomscript is vaporware :P".
Last edited by Enjay on Tue Feb 03, 2004 8:07 am, edited 1 time in total.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49230
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

Lexus Alyus wrote:Can't you just use an unused from and loop them. Better yet, find a frame that isn't used and set it's codepointers to 'null' and then loop[ those frames. It only needs about 2 frames and I'm sure Doom has those frames available.
Setting the code pointer in frame 696 to NULL will solve the problem.
Also, about WFDS: lately it doe sseem like an excuse to not implement stuff. To tell you the truth, I havn't personally seen any evidence that DS will ever be official... it seems like it was a dream dreamt by some random person on these forums and not randy. So, all this WFDS crap just seems like bullshit...
My feelings exactly!
It doesn't help that Rany doesn't acknowledge any of this to put us out of our misery. Will DoomScript ever exist? Are you gonna dd support for Heretic/Hexen editing of codeponters, etc...? Are you gonn allow us to specify what Items monsters will drop? I'm not asking for resaults here, I'm just asking that randy at least lets us know whats going on or at least tell us that we are dreaming of something that will never see the light of day (Doomscript?).


Sorry,I know I may seem like a bastard... maybe I am... but i feel that randy nees to say something rather than ignoring us... (like always, just disagree if you want :-D).
No need to feel like a bastard. It had to be said.
Either
1) DoomScript will be done eventually- in that case the current list of bugs should be fixed ASAP and a 'final' version 2.1 be released, so development of DoomScript can start.
2) Or it won't be done and the current state of piecemeal additions of features will continue - not the most promising state of affairs, I have to admit.
I strongly propose to do 1).
Post Reply

Return to “Closed Bugs [GZDoom]”