The Dink Network

List of weird stuff still present in 1.08 scripts

June 23rd, 12:45 AM
peasantmb.gif
yeoldetoast
Peasant They/Them Australia
LOOK UPON MY DEFORMED FACE! 
When 1.08 came out, it was more than an update to the engine, it also included a million minor fixes to the included scripts primarily by Tal. There were also some balance changes applied, such as a new savebot in Stonebrook. Even so, there are still a few things i've noticed so far that flew under Tal's radar.

* During Martridge's trial in the Bonca cave, even after defeating the monster Dink will continue to say "I don't like this one bit!" with the ominous sound/midi playing.
* Arturous at The Best in Bows in KernSin will sell you multiple bow and arrow sets, with no way to get rid of them. His script was updated for 1.08 to detect if an arrow hit him, but this seems to have been overlooked.
* The Mordavia scroll should really be a one-use consumable item using the caveguy global somehow.

Funny things that don't deserve a fix
* Chealse and the librarian in KernSin are set to brain 9 (standard enemy) rather than 16 (walk-around NPC) meaning if you shoot either of them with a fireball they'll follow you menacingly.
* Lyna has the AlkTree script during the Milder cutscene, meaning if you unfreeze and punch her she'll drop AlkTree nuts.
* The above cutscene can trigger after Milder's supposed to be married or dead.
* It's possible to die while in a choice menu, exit the choice menu and walk around for a few seconds, although this might be an engine bug anyway.

If you've noticed similar script stuff along these lines please post!
June 23rd, 01:41 AM
custom_robj.png
Robj
Jester He/Him Australia
You feed the madness, and it feeds on you. 
The original bomb script has a bug in it that can produce some weirdness:
A bomb bug

Basically, if you place a bomb down and change screens before it explodes, if the new screen has the a sprite on it with the same active sprite number as the bomb on the previous screen, that sprite will glitch out and explode like the bomb should have.

This happens because dam-bom.c is spawned from item-bom.c so it survives a screen change. The fix is script_attach(0) at the start of dam-bom so it doesn't survive a screen change.

This bug is probably in almost every dmod, if authors didn't bother to fix it.

EDIT: @Yeoldetoast, I sent you a DM, asking an engine related question.
June 24th, 01:33 AM
death.gif
seseler
Peasant He/Him Heard Island And Mcdonald Islands
 
I have been collecting a list small Dink bugs. I'm gonna post some of theseā€¦ after your contest is over
July 7th, 08:25 PM
death.gif
Seseler
Peasant He/Him Heard Island And Mcdonald Islands
 
- Besides the scene with Milder and Lyna, the scene with the Milder at the tavern can be triggered after he's traveled to the Darklands or dead.

- The pie at the Dink's house can survive the house fire.

- On the screen where knights are robbing a traveler, you need to only kill the one starting on the left to 'save' the traveler.

- On the screen where knights are robbing a traveler, the scene uses two global variables: one to check if player has seen the scene and one to check if the traveler is safe. They both start at 0 and are updated to 1 when the knight starting on the left is killed. Besides wasting a global variable, this means that you need to only kill the left knight to get the traveler to thank you for saving him. It also means that as long as the left knight is alive, you can reset the scene by just walking off the screen and coming back.

- The conversations with Maria about saving Mary and saving the world are mutually exclusive.

- Jack's soul... uh, I mean script will be left haunting Dink after his death, because in uses script_attach(1000) but does not kill itself.

- When fighting Bishop Nelson and his band of merry dragon cultists, if you let Mary die, your HP drops to 0. However, you can save yourself with elixir or a nut, which leaves you stuck as you need to talk to her after the fight.

- The same thing can happen at the Joppa Isle fight, except you won't be stuck.

- During the dragon figth at the Joppa Isle, you can go back to the shop. The script tries to prevent this... by using a nonexistent sp_prop function.

- The throwing axe vendor is not freezed during conversations.

- The screen isn't locked during the Seth fight.

- Chairs at the Edge of the World's church have Kernsin's fountain's script.

- Most talkable things also have a hit procedures and no script sets sp_nohit during conversations. Therefore when talking to pretty much anybody, if they are hit, you'll remain frozen in place. If you want to try it out, the easiest way to intentionally trigger this is by shooting them with the acid rain and then talk to them.

- Gray boncas target the enemy with lowest active sprite number (as opposed to choosing a random target).
July 7th, 08:45 PM
peasantmb.gif
yeoldetoast
Peasant They/Them Australia
LOOK UPON MY DEFORMED FACE! 
Very cool list! Looks like "sp_prop" was supposed to be there to toggle warps on and off but never got bound in the engine for some reason.
July 10th, 06:53 PM
death.gif
Seseler
Peasant He/Him Heard Island And Mcdonald Islands
 
- I just found out that you can save the game while your hitpoints are 0 but your life bar has not yet depleted.

- You can just murder Chealse in front of Renton without him caring.

- Everything about the thief-sideplot in Terris is a bit weird:
* If you only talk him once (i.e. select "Ask what he does" without talking again and choosing "Offer to help him out") and leave the bar, the thief won't appear on the bar anymore, making the whole thievery-scene pretty easy to miss.
* The house you enter is rather unique as has internal (unusable) doors, and is the only non-castle building in the game where single floor is implied to span multiple screens (even though you only visit one screen)
* The guards arresting the thief know Dink by name, althrough you can complete the thing immediately after arriving Terris (and thus before doing anything to gain fame).
* The game sets a global variable "&tombob" to 1 after the arrest, but the variable is never used anywhere.

- And then there's the classic, as cited in quotes.txt:
"Hey, the pigs are dead, but I can feed them!" - Seth

"That RULES!!" - Pap in response
July 10th, 09:40 PM
custom_simon.gif
SimonK
Peasant He/Him Australia
 
On Joppa Island the girl can die and you can grab a small heart from the barrel before Dink's life hits zero to stop him from dying as he is supposed to if one of the females die.

Yes, the global variable &hero is also never used. And I think the same goes for &town1 global variable.

And the global variable &mlibby might have had further plot developments if the m meant "meet" or even "marry" - something to do with Port Town?

Why wasn't the golden apple ever available on Windemere island? Another sub-plot not used?

Where does Lyna live? Where did Milder live if he was from the same village as Dink?

The things that might have been...
July 11th, 10:23 AM
peasantmb.gif
yeoldetoast
Peasant They/Them Australia
LOOK UPON MY DEFORMED FACE! 
Something i've found interesting is that some NPCs are initted with a local variable of a proper name that doesn't end up being mentioned anywhere in character dialogue. I do wonder if the RTSoft crew based them upon real people they knew, like Seth did with his family members in the KernSin cabinet shop.

Also just realised I had forgotten about this.
July 12th, 07:49 PM
death.gif
Seseler
Peasant He/Him Heard Island And Mcdonald Islands
 
@Robj:
Basically, if you place a bomb down and change screens before it explodes, if the new screen has the a sprite on it with the same active sprite number as the bomb on the previous screen, that sprite will glitch out and explode like the bomb should have.

This happens because dam-bom.c is spawned from item-bom.c so it survives a screen change. The fix is script_attach(0) at the start of dam-bom so it doesn't survive a screen change.


dam-bom.c also fails to call kill_this_task, so every bomb will take one script buffer slot permamently.

Edit: s3-mog, dam-bom2 and s4-end also fail to call kill_this_task
July 12th, 07:58 PM
custom_robj.png
Robj
Jester He/Him Australia
You feed the madness, and it feeds on you. 
> "dam-bom.c also fails to call kill_this_task, so every bomb will take one script buffer slot permamently."

Yeh that's the reason the bug happens. Script_attach(0) fixes it by attaching it to the screen instead of sprite 1000.
July 13th, 04:25 AM
peasantmb.gif
yeoldetoast
Peasant They/Them Australia
LOOK UPON MY DEFORMED FACE! 
It appears dam-bom2 isn't used anywhere. There's a lot of weird and interesting stuff in the other unused scripts too, particularly the Spice Girls one.
July 13th, 03:43 PM
death.gif
Seseler
Peasant He/Him Heard Island And Mcdonald Islands
 
s7-boss spawns dam-bom2.

Apparently the barmaid was meant to move faster when Dink is fighting the guards:

if (&temp4hold == 1)
  {
   //dink is gonna fight
sp_speed(&current_sprite, 2);
sp_timing(&current_sprite, 0);
  }

sp_speed(&current_sprite, 1);
sp_timing(&current_sprite, 33);


The first issue is that speed and timing are unconditionally reset immediately. An other issue is that &temp4hold is set to 1 when talking to the barkeep but resets to 0 at the end of any conversation choice, so even if the latter speed/timing changes are put inside an else statement, the barmaid will only move faster when Dink is talking to the barkeep.
July 15th, 05:07 AM
peasantmb.gif
yeoldetoast
Peasant They/Them Australia
LOOK UPON MY DEFORMED FACE! 
Oops, indeed it is. Another minor thing is that s3-chick.c, the script for the KernSin fountain girl has a missing comma in a say_stop meaning you never find out her name is Christina until later from the mayor, which then makes the interaction somewhat odd.
July 26th, 05:42 AM
peasantmb.gif
yeoldetoast
Peasant They/Them Australia
LOOK UPON MY DEFORMED FACE! 
> The pie at the Dink's house can survive the house fire.

Another peculiarity is that the scripts for the furniture have text along the lines of "Oh no it's burning up!", if you talk to them while the house is ablaze. Of course, this section is all a cutscene meaning you won't see it unless you unfreeze in the midst of it.
September 18th, 05:28 PM
duck.gif
Tal
Noble He/Him United States
Super Sexy Tal Pal 
Just so we're clear, my contributions to 1.08 - which, mind you, were made about half of my life ago now - involved very little, if any, actual bug fixes.

As a matter of fact, aside from maybe a thorough playtest and general hunt for bugs, I basically filled a few hardness holes in the map and painstakingly combed through the scripts for spelling and grammar errors, of which there were many.

I hope I didn't make any egregious oversights or unnecessary "corrections," though I probably did mercilessly abuse the Oxford comma. It likely isn't worth a comprehensive do-over - I'm generally very meticulous and obsessive when I do bother to do anything.

My comfort and familiarity with scripting and coding conventions is tenuous at best. Though I spent a lot of time back in the day combing through DinkC scripts (thanks in part to a long-lost decompiler) and I still have an inexplicable obsession with analyzing ScummVM Github commits, I would be pushing my abilities to and likely past their limits to even Frankenstein functional scripts together. Though I could possibly endeavor to fix a longstanding bug or two through some sleuthing mixed with trial and error, it would probably be best left to some other community diehard.

Though my contributions are comparatively slight, I won't lie, it kind of sucks to see Skull credited above me (and for what?) in the Dink HD credits - that guy's insistence that my lack of a D-Mod release made me a less valuable community member was a substantial contributing factor in dialing back my presence to near-nonexistence. Life and adulthood interfered a lot too, in fairness.
September 18th, 07:29 PM
duck.gif
Tal
Noble He/Him United States
Super Sexy Tal Pal 
I feel like I/we solicited a list of bugs from the community prior to hammering out 1.08, so to see a wide variety of bugs listed here - many of which are easily found and replicated - is quite surprising, and honestly a bit frustrating!
September 18th, 10:03 PM
duck.gif
Tal
Noble He/Him United States
Super Sexy Tal Pal 
I just looked through some of the scripts again for fun...

Honestly, I think nearly every bit of it could use a slight rewrite - one that retains the atmosphere while expanding on the thinner sequences of dialogue. That might take more effort than it's worth, but I think it could be a fun endeavor.

I did notice an instance in which one of the wanderers uses "populous" when the intended word choice is clearly "populace." Barf!!

It's enough to make me wonder if another comprehensive script sweep is worth running by the Robinson cabal. I have better things to be doing with my life, but I've never been known for getting my priorities in order. Lol.
September 19th, 01:11 AM
custom_robj.png
Robj
Jester He/Him Australia
You feed the madness, and it feeds on you. 
I missed you TAL.

I'm not wearing pants.
September 19th, 10:04 AM
duck.gif
Tal
Noble He/Him United States
Super Sexy Tal Pal 
Any reasonable person should dedicate much of their day - their life, even - to not wearing pants.
September 19th, 12:03 PM
peasantmb.gif
yeoldetoast
Peasant They/Them Australia
LOOK UPON MY DEFORMED FACE! 
> (and for what?)

I believe it was a bug report regarding the purple boncas not having a special frame designated in dink.ini causing their attacks to be ineffective. i.e. an oversight in 1.08. Heh.
September 19th, 11:59 PM
duck.gif
Tal
Noble He/Him United States
Super Sexy Tal Pal 
I think I would have rather it not been answered, that being the case.
Interesting by some metric, though.
September 20th, 02:29 AM
peasantmb.gif
yeoldetoast
Peasant They/Them Australia
LOOK UPON MY DEFORMED FACE! 
Well, it illustrates that the order of credits is without rhyme or reason, rather than sorted by gravity of addition. I'm on that list for noticing that a slider was backwards, for example.
September 20th, 10:02 AM
duck.gif
Tal
Noble He/Him United States
Super Sexy Tal Pal 
I had already inferred that much I don't get why it wouldn't simply be alphabetical, but as with many things Seth, there's just no rhyme or reason for the quirks!
September 24th, 04:24 PM
custom_fish.png
SabreTrout
Noble He/Him United Kingdom
Tigertigertiger. 
Can I be added to the credits for my contributions to the community as a whole please.
September 24th, 10:29 PM
custom_robj.png
Robj
Jester He/Him Australia
You feed the madness, and it feeds on you. 
Sabretrout, you finished that sandwich yet?
September 25th, 12:53 PM
goblins.gif
drone1400
Peasant He/Him Romania
C# nerd 
Hey, wait, am I late for the stream?!!
September 25th, 07:20 PM
peasantmp.gif
Skurn
Peasant He/Him Equatorial Guinea duck bloop
can't flim flam the glim glam 
where's the stream, sabretrout
September 26th, 04:08 PM
custom_fish.png
SabreTrout
Noble He/Him United Kingdom
Tigertigertiger. 
Weirdly, I can actually commit to this now.
September 26th, 04:46 PM
peasantmp.gif
Skurn
Peasant He/Him Equatorial Guinea duck bloop
can't flim flam the glim glam 
you always could. let's see it, then
September 27th, 07:32 AM
death.gif
RangerLord
Peasant He/Him Hungary bloop
The nation above all. 
At this point, I belive SabreTrout will never do that stream, no matter how many nag him about it.
September 27th, 10:48 AM
spike.gif
SlipDink
Peasant He/Him United States bloop rumble
2nd generation. No easy way to be free. 
Could someone please explain why watching someone else play a computer game of any kind is entertaining? I just don't get it. The idea of streaming game playing escapes me entirely. It is not that I am opposed to it in any way. In fact, anything that (in this case) celebrates and encourages others to explore our favorite RPG hero is fine with me.

Maybe it is just that I am too much of a loner, but I really just don't get it.
September 27th, 10:45 PM
peasantmp.gif
Skurn
Peasant He/Him Equatorial Guinea duck bloop
can't flim flam the glim glam 
because they don't just play the game
September 28th, 12:21 AM
peasantmb.gif
yeoldetoast
Peasant They/Them Australia
LOOK UPON MY DEFORMED FACE! 
you can bully them in the stream chat box
September 28th, 03:21 AM
custom_fish.png
SabreTrout
Noble He/Him United Kingdom
Tigertigertiger. 
29th October?
September 28th, 01:25 PM
spike.gif
SlipDink
Peasant He/Him United States bloop rumble
2nd generation. No easy way to be free. 
@yeoldetoast:
you can bully them in the stream chat box

Well, that is still something "not for me". It sounds almost painfully dull.
September 28th, 01:26 PM
spike.gif
SlipDink
Peasant He/Him United States bloop rumble
2nd generation. No easy way to be free. 
@Skurn:
because they don't just play the game

Well what else do they do that could possibly make it interesting?
September 28th, 07:34 PM
peasantmp.gif
Skurn
Peasant He/Him Equatorial Guinea duck bloop
can't flim flam the glim glam 
Weirdly, I can actually commit to this now.

29th October?

???????
September 29th, 04:58 PM
goblins.gif
drone1400
Peasant He/Him Romania
C# nerd 
@SlipDink - Sometimes you feel nostalgic about some old game but don't have time to play it, so you watch/listen to it while working

With certain games you might be familiar with, it can also be interesting to see how people play them differently.
September 29th, 07:28 PM
death.gif
RangerLord
Peasant He/Him Hungary bloop
The nation above all. 
@Skurn
If you don't answer, you'll likely not achieve what you want.

@SabreTrout
Okay, fine day by me. What time? I'll be curious if you'll actually live up to your promise this time.
September 30th, 08:27 AM
custom_fish.png
SabreTrout
Noble He/Him United Kingdom
Tigertigertiger. 
I mean, it'll be a late afternoon / early evening job I imagine.
September 30th, 11:15 AM
spike.gif
SlipDink
Peasant He/Him United States bloop rumble
2nd generation. No easy way to be free. 
@drone1400

With certain games you might be familiar with, it can also be interesting to see how people play them differently.

Well, that is something that does seem mildly interesting to me, I must admit, but I still don't see how I could sit through watching a long session of someone else's game play. Anyway, thanks for taking the time to offer a pretty good explanation that makes some sense (to me anyway).