The Dink Network

Dink HD V2.05 release

April 5th, 01:27 AM
seth.gif
Seth
Peasant He/Him Japan
 
Ok, updated the Windows version of Dink HD with the following changes:

------ Change log for 2.05 --------- (April 2024)

* BUGFIX: Detects divide by 0 errors in some DinkC situations and avoids a crash (Fix by drone1400)
* BUGFIX: Fixed issue where HD would get tricked into improperly eating a punch/magic keystroke to skip dialog when DMODS did certain tricky things (SimonK)
* Now correctly handles the case when a DMOD directory filename is different than the savestate it is in (ie, it was renamed after the savestate was made)
* (Win) Added "-skip" command-line parm support, will skip the new version check and make the main menu load without fancy animations
* Added "Force save to slot 9" option to debug menu, might break the game but useful for debugging because unlike savestates it will force all scripts to be reloaded
* (Win) Added ` (backtick) to toggle an overlay window showing the log. I wanted to do Shift-Tilde or something so it wasn't accidently hit but ran into some Windows/proton keyboard problems. At least the method I used should work on non-US keyboards too
* Removed "View log" from debug menu because the above option replaces it
* Added "set_music_vol" DinkC command. Accepts between 0 and 100. 50 means set the music/midi to 50% of whatever the current setting is in options.
* get_version now returns 113 instead of 112 due to the DinkC addition

Screenshot of the new in-game console (the ` button, grave, backtick) - debug mode is on here (Alt-D) so it shows a lot of extra details: (is there a way to imbed an image here?)

https://rtsoft.com/dink/dink_console.jpg

Lemmie know if you see anything broken! Oh, I added SimonK and drone1400 to the About Us credits, thanks !
April 5th, 02:05 AM
custom_simon.gif
SimonK
Peasant He/Him Australia
 
Thanks Seth.

So I've installed this version, loaded up my save game which is just after the intro and before getting thrown into the dungeon for the first time. Eat the five cockroaches to get a level raise on strength and then punch the wall, only to have Dink frozen again and not play the crawl through the wall animation.

Hmmm....
April 7th, 02:39 PM
goblins.gif
drone1400
Peasant He/Him Romania
C# nerd 
Should probably update the official DinkHD TDN release file soon... It's still on V1.99 https://www.dinknetwork.com/file/dink_smallwood_hd/
April 7th, 08:11 PM
duck.gif
toof
Peasant He/Him
I disagree. 
Official support for a freeware game for more than quarter of a century... Nice
April 8th, 03:32 PM
peasantmp.gif
Skurn
Peasant He/Him Equatorial Guinea duck bloop
can't flim flam the glim glam 
dinkHD over on gog could use updating too. right now, its pointless having it there since the game just tells you to update, then leads you to download a completely separate instance of HD entirely.
April 8th, 08:41 PM
duckdie.gif
liquid141
Peasant They/Them
Sons of liberty 
would have been better if we had a steam release , these updates would be quicker to do it. wondering if i should try the new dmod on the vita release
April 8th, 11:20 PM
peasantmp.gif
Skurn
Peasant He/Him Equatorial Guinea duck bloop
can't flim flam the glim glam 
i'm all for both. probably absolutely no point to a workshop integration though since hd's got a dmod browser, but itd be swood
April 8th, 11:55 PM
seth.gif
Seth
Peasant He/Him Japan
 
>>>dinkHD over on gog could use updating too. right now, its pointless having it there since the game just tells you to update, then leads you to download a completely separate instance of HD entirely.

I might update it later after the iOS/Android versions, it's not like just uploading a zip, have to jump through some hoops with their packing/signing tools, so better to wait until all the bugs are worked out. I like that they let me put in my own version check so at least people get notified about new versions though - so GOG helps advertise Dink and even if I'm too lazy to update their version it can still funnel people over to my build at least.
April 16th, 08:50 PM
duckdie.gif
liquid141
Peasant They/Them
Sons of liberty 
@Seth can you fix the Forum Discussion link on the Dink Smallwood HD page ? to either redirect the gog users to here or a new forum part on gog ?
https://www.gog.com/en/game/dink_smallwood_hd
current link just leads to the general forum page https://www.gog.com/forum/general
April 18th, 09:40 AM
seth.gif
Seth
Peasant He/Him Japan
 
Hmm, just checked, I don't seem to have any options to edit anything on that page. If/when I submit a new version I can try to see if there are any options during the submission process though.
April 25th, 06:23 PM
custom_robj.png
Robj
Jester He/Him Australia
You feed the madness, and it feeds on you. 
Deleted, had an issue, solved it. Not DinkHD's fault.
April 27th, 11:13 PM
peasantmb.gif
yeoldetoast
Peasant They/Them Australia
LOOK UPON MY DEFORMED FACE! 
There appears to be a problem with map_tile, which mysteriously cuts off at the miscalculated Freedink limit of 5216, rather than 5248 as per 128 * 41 screens such as in Robj's calculations. It also looks like it will never stamp tile zero.
April 28th, 07:29 AM
custom_robj.png
Robj
Jester He/Him Australia
You feed the madness, and it feeds on you. 
Huh, so I wasn't losing my mind... at some point I edited my google spreadsheet for calculating the map tile number(which isn't really needed anymore if you use drone's windinkedit since it shows the map_tile ID in the status bar), because i thought the upper limit in fact is 5215 (5216 tiles but starting at 0)... turns out it was because I tested it using map_tile in DinkHD and this bug threw me off and made me think my previous calculations were wrong. I even update the DinkC ref with this limit thinking I screwed up somewhere in the past with my calculation lol.

The tile limit is indeed 0 - 5247, I'll re-update the DinkC ref back to what it should be.

Oh, it's just the map_tile function that's broken, looks like you can stamp those extra tiles in the editor.
April 28th, 08:53 AM
peasantmb.gif
yeoldetoast
Peasant They/Them Australia
LOOK UPON MY DEFORMED FACE! 
I'm just going by the source here. I haven't actually tested it, though I did have problems with map_tile() while making PNGtions which appear to be related.

On the topic of the DinkC reference, there's a few things that appear to be missing including:
* logmsg()
* show_popup()
* get_client_fork()
* get_platform()
* and set_music_vol()

The last 3 of which are also supported in yedink. I was also wrong that one time about disable_all_sprites() as I didn't account for it not redrawing the background which means it leaves background sprites behind. Also, some of the newer present commands like set_disable_savestates() don't show up when searching for them.
April 28th, 09:40 AM
custom_robj.png
Robj
Jester He/Him Australia
You feed the madness, and it feeds on you. 
Ah, yes, I was aware of the missing DinkHD stuff in the DinkC ref. I do plan to add them soon.
Not sure about stuff not showing up in search, I don't actually host or run the website. Kyle does. I just push stuff to it via git and he has it setup to update automatically.

As far as I'm aware, when I tested, disable_all_sprites does have some issues though?
But I do have that workaround in the DinkC ref for how to do a loop using sp_disabled to achieve the same affect.
April 28th, 11:29 AM
peasantmb.gif
yeoldetoast
Peasant They/Them Australia
LOOK UPON MY DEFORMED FACE! 
Indeed you're right! The function loops over all active sprites less that the last sprite created, which means it never alters the most recently created sprite. It's the same for enable_all_sprites() of course. Would be fixed by a <= in that loop.
April 29th, 03:34 AM
seth.gif
Seth
Peasant He/Him Japan
 
oh, nice. Thanks, fixed 'em I think

* BUGFIX with map_tile, now goes 0 to 5247 (Robj, yeoldetoast, https://www.dinknetwork.com/forum.cgi?MID=209752&Posts=16 )

* BUGFIX with disable_all_sprites/enable_all_sprites (Robj, yeoldetoast, https://www.dinknetwork.com/forum.cgi?MID=209752&Posts=16 )

https://github.com/SethRobinson/RTDink/commit/b141858e279a3782e6012a05697c929d638797b3
April 29th, 03:41 AM
peasantmb.gif
yeoldetoast
Peasant They/Them Australia
LOOK UPON MY DEFORMED FACE! 
Thanks Seth. Also here's a calculator for sound_set_vol between linear and logarithmic in case you need it.

Oh wait no, that commit has broken map_tile a bit more in the process. Apologies for the ambiguity, but the destination tiles go from 1 to 96, with the source tile indices starting from zero such that:

if (g_nlist[1] >= 0 && g_nlist[1] < 5248)


nlist[0] on the other hand, must be 1 or greater for the first conditional.
April 29th, 04:57 AM
duckdie.gif
liquid141
Peasant They/Them
Sons of liberty 
i was playing sob remake mod and found i wasn't able to pickup potions in the starting area near the pillbugs then i remembered the mobile port is not updated yet.
April 29th, 09:56 PM
seth.gif
Seth
Peasant He/Him Japan
 
>>but the destination tiles go from 1 to 96, with the source tile indices

oops, will fix, thanks!

I haven't really looked at the sound stuff yet, I'm not clear on what's wrong or what should change to what
April 29th, 10:03 PM
custom_robj.png
Robj
Jester He/Him Australia
You feed the madness, and it feeds on you. 
"On the topic of the DinkC reference, there's a few things that appear to be missing"

DinkC Reference has now been updated, all missing functions are now on there, with a note at the top stating which versions of Dink the functions work in(for the newly added ones, I'll add this to the rest of the functions later for consistency), I added YeOldeDink to get_client_version as well, that's been on there for a while but only had DinkHD listed under versions.

I spoke to Kyle, the search should be fixed shortly so everything shows up.
April 29th, 10:57 PM
peasantmb.gif
yeoldetoast
Peasant They/Them Australia
LOOK UPON MY DEFORMED FACE! 
>I'm not clear on what's wrong

I believe it's the calc here which has to send a value to the audio manager between 0.0 and 1.0 from the DirectSound logarithmic values of -10,000 to zero that are given to sound_set_vol(). That stackoverflow answer breaks it down.

>DinkC Reference has now been updated

Awesome! Thank you!
April 30th, 02:10 AM
seth.gif
Seth
Peasant He/Him Japan
 
>>I believe it's the calc here which has to send a value to the audio manager between 0.0 and 1.0 from the DirectSound logarithmic values of -10,000

If I apply the new calc directly to the entire game engine it does make some big changes, for example, near the start of Dink, standing on the left of the screen with the Save Machine, here are the sound values of the Save Machine looping noise:

Current RTDink SetVolume: Changing -396.00 to final vol of 0.78
New Calc SetVolume: Changing vol -396.00 to 0.759728

Standing on the far right of the screen:

Current RTDink SetVolume: Changing -1932.00 to final vol of -0.07
New Calc SetVolume: Changing vol -1932.00 to 0.261344

Note that the machine was barely audible on the current version when standing on the right, with the new calc it's much louder. (current at -0.07 yet somehow I can still barely hear it, new: 0.261, much louder)

So I guess original 1999 Dink worked like the new calc? This is a pretty drastic change, just want to make sure it's inline with other Dink engines, etc. Or, I could choose not to modify things for the engine and only apply the new calc to sound_set_vol, but it feels like maybe engine-wide is better if it's so wrong - however, it's going to nerf the distance fading effect of things like pigs/ducks quite a bit.
April 30th, 02:31 AM
peasantmb.gif
yeoldetoast
Peasant They/Them Australia
LOOK UPON MY DEFORMED FACE! 
Ah yeah, just realised that those calculations were rigged up on the assumption that the only source of volume control changes would be the positional audio system, rather than sound_set_vol.

In this case I would change it back, as the sound level for positional audio is/was fine, and for sound_set_vol call the audio manager directly with the logarithmic to linear algo, assuming that's possible.