Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Quasar

Scripts haywire on DKotDC Brackenwood

Recommended Posts

I am curious if anyone else has seen the scripts on Brackenwood in Deathkings of the Dark Citadel (for Hexen) go nuts and fail to spawn the glitter bridge staircase that allows collecting the Emerald Planet that is hanging from a chain over the central pit.

Kaiser ran into this last night and got stuck. Puking script 15 to try to run it again would cause Chocolate Hexen to either lock up in an infinite loop, or crash. We poured over the decompiled ACS and, while it's messy as hell like most of Raven's scripts, we couldn't figure out what would cause the game to lock up or crash - or why the script failed to spawn the staircase in the first place.

Anybody got any clues?

Share this post


Link to post

This is probably only the vaguest help, if any, but I recall not being able to complete Wastelands in standard Hexen once for a similar reason (bridges were supposed to spawn and didn't, in the cave with a building area.) It was a long time ago though, and a freak occurrence that hasn't happened since.

Share this post


Link to post

There's all sorts of issues going on in this map. The glitter bridges not spawning seems to be affected by the switch before solving the puzzle. When you hit the switch for the third time (where it says "You're stubborn") it will seem to cause issues when you hit the switch again after solving the puzzle.

Doing puke15 will sometimes cause the game to go into a infinite loop and freeze and sometimes just flat out crashes.

Also, in the center of the area, some green chaos serpents spawn. If you turn them into pigs right before the glitter bridge spawns, the game bombs out.

Here's a video demonstrating the crash:
http://www.speedyshare.com/T5QrS/chocolate-hexen-2012-06-30-20-31-47-93.7z

Crash occurs right at the end (no I_Error message, application just flat out closes).

Here's the complete decompiled script for this map:
http://pastebin.com/uUujGSQH

Share this post


Link to post
Stilgar said:

This is probably only the vaguest help, if any, but I recall not being able to complete Wastelands in standard Hexen once for a similar reason (bridges were supposed to spawn and didn't, in the cave with a building area.) It was a long time ago though, and a freak occurrence that hasn't happened since.


That happens when an Afrit is blocking where one of the glitter bridges are spawned. I've played Hexen so much that at that part I make sure the Afrits are clear of the bridge area.

Edit: I'm not sure if you mean one sparkle bridge is missing or all of them when they are supposed to spawn.

Share this post


Link to post
Quasar said:

Here's Kaiser's crash vid uploaded to Youtube for convenience.

That's a very contrived scenario, though.

Share this post


Link to post
printz said:

That's a very contrived scenario, though.

How so exactly? We're just trying to get to the bottom of what's going on in this map, because it's VERY broken.

Share this post


Link to post

Unlikely to do the pig transform on those dragons at that exact moment... I think.

Share this post


Link to post

Can you save a vanilla Hexen compatible save state just before taking the action that will result in the crash (and provide step-by-step details of how to crash it once loading said save state)?

I'd like to debug this myself.

Share this post


Link to post

It is my understanding that when a monster in Vanilla HeXen is turned into a pig, that it loses it's TID and hence any scripts linked to it won't work.

Am I correct?

Kaiser said:

Doing puke15 will sometimes cause the game to go into a infinite loop and freeze and sometimes just flat out crashes.


The infinite loop doesn't seem to occur if you enter Puke 15 before having started the whole puzzle.

If you enter Puke 15 after having completed the pedestals outside, you will get an infinite loop.

So maybe the infinite loop is because script 15 is active at the time? Maybe it was an oversight by Raven that the Puke command doesn't check wheter a script is already running first?

Share this post


Link to post
chopkinsca said:

Edit: I'm not sure if you mean one sparkle bridge is missing or all of them when they are supposed to spawn.

All of them, as if the script never triggered properly.

Share this post


Link to post
Vermil said:

It is my understanding that when a monster in Vanilla HeXen is turned into a pig, that it loses it's TID and hence any scripts linked to it won't work.

Even if so, that wouldn't cause a crash. Also, the chaos serpents being spawned here are not given a TID.

Thing_Spawn(const:4, T_DEMON, 270);
"Spawn at spot ID 4 chaos serpents with angle 270° (South)."


Also, I'm not getting this part of the script:
until(var0 == 10)
        {
            delay(const:35);
            Thing_Spawn(const:5, T_BRIDGE, 0);
            var0++;
        }
What is the point of spawning ten times in a row glitter bridges at the same spot? If it was something like, say:
until(var0 == 10)
        {
            delay(const:35);
            Thing_Spawn(5 + var0, T_BRIDGE, 0);
            var0++;
        }
Then I'd get it. The bridge steps would be spawned in sequence. But that's not the case here. A possible explanation would be a safeguard against the spawn failing because an affrit blocks the spawn point; but from what's been said in that thread, it doesn't work.

Share this post


Link to post
printz said:

Unlikely to do the pig transform on those dragons at that exact moment... I think.


I managed to get it to happen on a normal playthrough. So it's possible to easily run into that.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×