New D-Mod: The Last Quest Part 1: The Oraculum
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.
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.
so you could deduce it wasn't mine by the fact it was funny.
hooooooboy.
hooooooboy.
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.
"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.
*crash*
probs dink hd since it's bad. but i don't wanna use 1.08 because files.
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.
Savage.
Awesome! Good thing we have our glorious moderating king, always vigilant.
don't forget it was your beautiful and amazing, faithful court jester who informed the king of your peoples' wants.
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.
Yeah. I'm still waiting for him to change my name...
Which was supposed to have been done a day ago.
Everyone knows what "always vigilant" means when referring to staff.
Thanks for your help Skurn, oh ye of the motley coat and fool's cap!
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"?
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.
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?
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?
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.
but cloud castle 2 also crashed after "churnblade" disappears and drops hellfire, so it's just dinkHD being a chode.
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.
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.
along the road i guess. but it may just be a random crash because dink hd
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.
I'm just trying to help you get a chance to play this dmod.
just finishes up with the intro and breaks itself.
but yeah. probably just dinkhd.
but yeah. probably just dinkhd.
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?
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?
i know leprochaun compiled a list of bugs in dank hd. but that might not help.
It crashes almost immediately after arriving on screen 768. SOMETIMES. This is just the kind of crap I've come to expect from DinkHD.
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.
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.
- 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.
- 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.
i don't think it's just sometimes. it happened again. but cloud castle 2's crash didn't repeat.
OK. Let's see if version 1.1a works for DinkHD once it is available for you to download.
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.
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.
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();
}
------------------------------------------------------
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();
}
------------------------------------------------------