The Dink Network

New D-Mod: The Last Quest Part 1: The Oraculum

September 28th 2016, 08:55 PM
custom_king.png
redink1
King He/Him United States bloop
A mother ducking wizard 
The slipperiest Dink of them all, coincidentally named SlipDink, has released his first D-Mod entitled The Last Quest Part 1: The Oraculum. Just to make sure it wasn't Skurn submitting 'tasteful autobiographical erotica' under an alternative account (... again), I verified that the D-Mod is the real deal. Both the title screen and introduction made me chuckle. That's a pretty good sign!

As you may know, the unsurpassed dictionary.com defines Oraculum as "Did you mean osculum? More suggestions: oracular operculum asculum oracle inoculum oracles aciculum". I think we can all learn a lot from that.

September 28th 2016, 09:07 PM
peasantmp.gif
Skurn
Peasant He/Him Equatorial Guinea duck bloop
can't flim flam the glim glam 
so you could deduce it wasn't mine by the fact it was funny.

hooooooboy.
September 28th 2016, 09:11 PM
custom_king.png
redink1
King He/Him United States bloop
A mother ducking wizard 
That isn't quite what I intended (I more meant that because the intro was funny, it is worth checking out), but I do like your interpretation better.
September 28th 2016, 09:14 PM
peasantmp.gif
Skurn
Peasant He/Him Equatorial Guinea duck bloop
can't flim flam the glim glam 
a well oiled machine
September 28th 2016, 09:30 PM
peasantmp.gif
Skurn
Peasant He/Him Equatorial Guinea duck bloop
can't flim flam the glim glam 
"and so begins dink's final quest"

*crash*

probs dink hd since it's bad. but i don't wanna use 1.08 because files.
September 28th 2016, 10:02 PM
wizardg.gif
leprochaun
Peasant He/Him Japan bloop
Responsible for making things not look like ass 
That isn't quite what I intended (I more meant that because the intro was funny, it is worth checking out), but I do like your interpretation better.


Savage.
September 29th 2016, 08:11 AM
dragon.gif
Quiztis
Peasant He/Him Sweden bloop
Life? What's that? Can I download it?! 
Awesome! Good thing we have our glorious moderating king, always vigilant.
September 29th 2016, 08:53 AM
peasantmp.gif
Skurn
Peasant He/Him Equatorial Guinea duck bloop
can't flim flam the glim glam 
don't forget it was your beautiful and amazing, faithful court jester who informed the king of your peoples' wants.

September 29th 2016, 10:05 AM
dinkdead.gif
Baphomet
Peasant He/Him
I Like War. 
Awesome! Good thing we have our glorious moderating king, always vigilant.
Yeah. I'm still waiting for him to change my name...
Which was supposed to have been done a day ago.
September 29th 2016, 10:08 AM
dragon.gif
Quiztis
Peasant He/Him Sweden bloop
Life? What's that? Can I download it?! 
Everyone knows what "always vigilant" means when referring to staff.
September 29th 2016, 10:09 AM
dinkdead.gif
Baphomet
Peasant He/Him
I Like War. 
BAH!
September 29th 2016, 03:43 PM
spike.gif
SlipDink
Peasant He/Him United States bloop rumble
2nd generation. No easy way to be free. 
Thanks for your help Skurn, oh ye of the motley coat and fool's cap!
September 30th 2016, 11:00 AM
spike.gif
SlipDink
Peasant He/Him United States bloop rumble
2nd generation. No easy way to be free. 
It was written and (initially) tested on 1.08. I have no idea why it would fail under the HD version of dink. What do you mean by "because files"?
September 30th 2016, 12:35 PM
peasantmp.gif
Skurn
Peasant He/Him Equatorial Guinea duck bloop
can't flim flam the glim glam 
if i install dmods like normal, no matter the drive, it'll put the dmods into my totally disorganized folder on C:/ and i don't want to add a whole lot of different things to it or edit things in it since i'm trying to keep a perfect copy of it on another drive.
October 1st 2016, 10:49 AM
spike.gif
SlipDink
Peasant He/Him United States bloop rumble
2nd generation. No easy way to be free. 
Hmmm. Well no one really wants a mess in their file system, of course. I'd certainly like you to be able to play the game though.

Perhaps you could be a bit more precise about the bug you encountered and what happened during the crash. For example, I don't think the precise phrase "and so begins dink's final quest" exists in any of the DinkC scripts.

There is a point where Dink thinks to himself and says, "Well, now the adventure truly begins..." as he starts to enter the cave system that will eventually take him to the top of the Mountain of Mystery. Is that what you mean? Or did you mean that the Start/Continue/Quit screen that starts the game crashes or something else entirely?
October 1st 2016, 10:57 AM
peasantmp.gif
Skurn
Peasant He/Him Equatorial Guinea duck bloop
can't flim flam the glim glam 
right when the intro is over, i think. it says that.

but cloud castle 2 also crashed after "churnblade" disappears and drops hellfire, so it's just dinkHD being a chode.
October 1st 2016, 11:03 AM
spike.gif
SlipDink
Peasant He/Him United States bloop rumble
2nd generation. No easy way to be free. 
Thanks for the prompt feedback!

So then this crash occurs in Martridge's house when Dink first arrives or when Dink is sent from his house to a place along the road to Blartina? Or someplace else?

If you can still play it under 1.08 and plan to do so, then I'll drop this matter. But, I'd hate to block you from playing the game and would want to try to resolve this if possible.
October 1st 2016, 11:12 AM
peasantmp.gif
Skurn
Peasant He/Him Equatorial Guinea duck bloop
can't flim flam the glim glam 
along the road i guess. but it may just be a random crash because dink hd
October 2nd 2016, 11:17 AM
spike.gif
SlipDink
Peasant He/Him United States bloop rumble
2nd generation. No easy way to be free. 
Does it always crash in the same place? Is it after Dink has done something or attempted something?

I'm just trying to help you get a chance to play this dmod.

October 2nd 2016, 11:39 AM
peasantmp.gif
Skurn
Peasant He/Him Equatorial Guinea duck bloop
can't flim flam the glim glam 
just finishes up with the intro and breaks itself.

but yeah. probably just dinkhd.
October 2nd 2016, 11:44 AM
spike.gif
SlipDink
Peasant He/Him United States bloop rumble
2nd generation. No easy way to be free. 
Skurn: I just uploaded version 1.1, and I assume it will have the same problem you mention, as I have done nothing to consciously address this issue. On the other hand, it would not hurt to try it I suppose.

ALL: Do any of you "old time dinkers" have any ideas about what can be done to resolve this matter? Is there a list of known workarounds for Dink HD anywhere?
October 2nd 2016, 11:47 AM
peasantmp.gif
Skurn
Peasant He/Him Equatorial Guinea duck bloop
can't flim flam the glim glam 
i know leprochaun compiled a list of bugs in dank hd. but that might not help.
October 2nd 2016, 01:26 PM
spike.gif
It crashes almost immediately after arriving on screen 768. SOMETIMES. This is just the kind of crap I've come to expect from DinkHD.
October 2nd 2016, 01:33 PM
wizardg.gif
leprochaun
Peasant He/Him Japan bloop
Responsible for making things not look like ass 
i know leprochaun compiled a list of bugs in dank hd. but that might not help.

I started compiling a list of dmods that didn't work in dinkhd.
The list was moved onto the dink solutions page under a dmod compatibility page.

While developing Malachi, Cocomonkey discovered a few bugs:

Goto statements have to have a semicolon at the end of the line, or Dink HD ignores them. Most people seem to put semicolons at the end of every line anyway, but this was the main thing keeping my DMODs from working.
You won't be able to see a choice statement in Dink HD if the screen is faded down. In FreeDink, you can see it fine. In 1.08, you can see it well enough to read it, although the arrows aren't visible.
draw_background doesn't erase blood and corpses like it does in FreeDink and 1.08.
Dink HD uses different keycodes for some keys. This spreadsheet lists all of the keycodes.


So I would check to make sure that's all in order.
October 2nd 2016, 05:13 PM
spike.gif
SlipDink
Peasant He/Him United States bloop rumble
2nd generation. No easy way to be free. 
- All my "goto x" statements have a semicolon after them and look like this --> "goto x;". So, I don't think that (in this case) that is the source of any compatibility problems.

- I took a guess as to why the last thing some HD viewers saw was "...and so Dink began his final quest." in screen 768 when Dink lands at the base of the Mountain of Mystery. The fact that it only failed SOMETIMES suggested to me that it might be a timing sensitive issue. Based on those guesses, I made some changes in the andso01.c script and a few others. The changes will be uploaded as version 1.1a in a few minutes.

- Thanks to all of you for your help in trying to "fix" this.

- Please me know if these changes help.
October 2nd 2016, 05:43 PM
peasantmp.gif
Skurn
Peasant He/Him Equatorial Guinea duck bloop
can't flim flam the glim glam 
i don't think it's just sometimes. it happened again. but cloud castle 2's crash didn't repeat.
October 2nd 2016, 10:13 PM
spike.gif
SlipDink
Peasant He/Him United States bloop rumble
2nd generation. No easy way to be free. 
OK. Let's see if version 1.1a works for DinkHD once it is available for you to download.
October 3rd 2016, 10:51 AM
peasantm.gif
shevek
Peasant They/Them Netherlands
Never be afraid to ask, but don't demand an answer 
I only ever use Freedink (nothing else works on GNU/Linux). One useful feature of it is its console output: in case of errors that may or may not visibly break things, it will complain there. For example, "say_stop requires 2 arguments" or something like that, when I forget to specify the speaker. Fixing those errors probably makes the D-Mod better.

There is one that doesn't break anything (I think): With the boomerang, when it hits a background sprite, &missile_target is 0, and you do something to it (sp_brain or similar). That gives an error message. But as I wrote, it probably doesn't break anything, because it makes the collision do nothing, which is correct. I would still test for it so the error is gone.

I'm not sure if it's easy to get access to this output in Windows; I'm guessing the same way as in GNU/Linux: start it from the commandline. You do this with:

c:\path\to\freedink.exe -g c:\path\to\dmod -w

If you run it from the dmod directory, the path to the dmod is "." (which is the current directory).

The -w makes it windowed; omit it if you want full screen. You can also add -d to start in debug mode; you can also enable and disable that with alt-d. In debug mode there is a lot more output, so that may be useful when debugging.

Also, the when a script does debug("message"), that message is printed to the console as well, so you can use it instead of say() to check the value of variables, or whether a certain piece of code is executed. For example, it could be used to find out how the candles can be decremented below zero.
October 3rd 2016, 11:03 AM
spike.gif
SlipDink
Peasant He/Him United States bloop rumble
2nd generation. No easy way to be free. 
Thanks for the development tips shevek.

Like you I use Freedink on GNU/Linux, for any dmod that I play and for some phases of my testing.

I also use WinDinkEdit2 on a creaky and unstable old version of Windoze Vista to do the bulk of my development. Ironically, this use of Windoze is without question the most I've ever used it (at home). For the office, of course, I was forced to use Windoze most of the time, though my real development work was on Solaris.

I used code like this (see below) during my development efforts to debug certain values at will, but I can see where running log output might be helpful too as just pressing a key changes some things.

I think I'll that I'll try using alt-d or -d on the command line in the near future. Thanks again.

------------------------------------------------------
key-67.c:
void main(void)
{
freeze(1);
if (&candlelit > 0)
{
say_stop("It looks like the current candle is good for &candlerooms more pitch dark cavernous rooms.", 1);
}
else
{
say_stop("<Hmm.> I can only tell how many more rooms a Magic Candle is good for if it is lit in the lantern.", 1);
}
say_stop("candlelit = &candlelit; candlerooms = &candlerooms; candleheard = &candleheard", 1);
say_stop("candleroomlimit = &candleroomlimit; warn = &candlewarn", 1);
// say_stop("snow_wind = &snow_wind", 1);
say_stop("cave fairy status = &cave_fairy", 1);
say_stop("cave_fairy_gift = &cave_fairy_gift", 1);
say_stop("cave_fairy_war = &cave_fairy_war", 1);
say_stop("cave_fairy_chnt = &cave_fairy_chnt", 1);
say_stop("readadvtrsbequst = &readadvtrsbequst", 1);
say_stop("given_amulet = &given_amulet", 1);
// say_stop("rock4placement = &rock4placement", 1);
say_stop("warpstonesactive = &warpstonesactive", 1);

unfreeze(1);
kill_this_task();
}

------------------------------------------------------