The Dink Network

Quest for Dorinthia spec ed

Quest for Dorinthia: Special Edition

October 10th 2014, 01:46 PM
After getting through the fence and burning the trees in the correct order and wiping out the pillbugs and getting the fire axe, every attempt to return to the mainland via the warp machine leaves me totally stuck on a dark screen with some scattered points of light. Everything is frozen and all I can do is ctrl-alt-del my way out. I can finish the game without the axe but would love to be able to own it - Am I doing something out of order?
July 6th, 12:24 PM
Still reproducible 8 years later, with v2.5 version released "April 18th, 2018".
The map of interest is #156. It has a warp machine which doesn't have a script attached, but instead is configured to warp Dink like a door does.

In FreeDink 109.6, touching this warp machine causes screen to _slowly_ fade to dark (Dink is frozen) and remain that way, but the warp apparently never happens (ducks can still be heard quacking). He is also never unfrozen.

So, it is obvious it is the bug the author overlooked, no action in game is going to affect this (neither map nor warp has any script). The only remedy is to avoid this part of game (it is optional), or save before visiting it and, having explored it just for the sake of seeing what's there (not much actually), reload the save.

The question is: what attributes did the author specify wrong on the warp's machine sprite? Just for the sake of learning which mistakes to avoid when making a d-mod, in case I ever get around to that, of course.
July 6th, 01:03 PM
Peasant Male Romania
C# nerd 
Hmm, I looked over the map but I can't quite figure out what's wrong there.

The only thing different from usual warp sprites I'm familiar with is that this one has a brain and a base walk set.
July 6th, 01:15 PM
Checked via editing that map: indeed, setting brain to 0 (alone - didn't touch base walk) will unbreak the warp machine, but it stops animating. Setting brain back to 6 makes the bug happen again.

The conclusion so far is that animating warp things should use scripts for warping, not the editor warp attributes. By animating warp here I mean those with idle animation.

Of course, since the original poster never said anything about the engine he used to play this d-mod, it might still be that it worked in some, but certainly doesn't in FreeDink (up to the current v109.6 at least). The more plausible, however, is that it never worked in anything and that author arrived at this broken setup by first making a working warp (which he did check), but then making it animating by giving it a brain, after which it stopped working but he didn't check that anymore.
July 7th, 05:18 AM
Peasant Male Romania
C# nerd 
I think we need RobJ's input on this. Surely he must know the secrets of animated warps!
July 7th, 09:39 AM
Jester Male Australia
You feed the madness, and it feeds on you. 
I would agree with Vigilante and say it just needs to be a scripted warp, rather than set in the editor. I mean, that will definitely fix it.

tbh, I've never tried setting a brain 6 editor sprite to warp in the editor. Any warps out of the ordinary, I just script them instead.
July 7th, 01:24 PM
Peasant Male New Zealand xbox steam
Don't look at me, I'm a ghost 
Alternatively if the warp isn't a solid object, have it scripted under the animated sprite as a separate one, and set the real warp to nodraw. Could work for solid objects but may seem a little odd to just walk into it.
July 7th, 02:52 PM
In FreeDink 109.6, touching this warp machine causes screen to _slowly_ fade to dark (Dink is frozen) and remain that way,

How interesting. Maybe the brain 6 causes the warp code to try to execute on every frame of the animation, so it gets stuck in an endless loop, and fades down slowly because it's constantly trying to run code.

I think something like that's happening, since you can actually fix it by changing the warper's brain to 0 after Dink's already stuck.

It also doesn't work on old Dink or HD either, so this bug is definitely on the author.