The Dink Network

Updated File: GNU FreeDink

June 9th 2014, 03:09 AM
dinkdead.gif
FreeDink has been updated by Beuc, the main changes being 64-bit support and playing sounds for Windows, some new/updated translations and other bits and pieces.

The source code is also updated of course!

June 9th 2014, 03:18 AM
custom_coco.gif
Cocomonkey
Bard He/Him United States
Please Cindy, say the whole name each time. 
I had noticed the problem with the title MIDI. I didn't know it was a FreeDink problem.
June 10th 2014, 02:51 AM
slimeg.gif
metatarasal
Bard He/Him Netherlands
I object 
After starting up my DMOD in v1.08, I found that the truecolor fade_down doesn't really work very well. It doesn't turn completely black and the text looks ugly on top.

So I started it up in freedink thinking I could have something to complain about. I don't. It's already fixed in freedink. I'm going to make my DMOD for freedink now.
June 10th 2014, 12:28 PM
slimeg.gif
metatarasal
Bard He/Him Netherlands
I object 
Okay, I've been playing around with this some more and it's not entirely bug-free yet.

I found that freedink (at least the 64-bit version) has trouble with choice menu's. If you include any comment's line the choice menu will skip. For example this will work:

choice_start()
"Option 1"
"Option 2"
choice_end()


But this will not:

choice_start()
//Here we see what options we have:
"Option 1"
"Option 2"
choice_end()


In Dink v1.08 the second snippet will work just fine.

On the other hand I must say that freedink works nice and smooth on my system while v1.08 looks quite jirky. What an improvement that makes to the feel...

EDIT: Also, one of my scripts failed because in v1.08 if you ask for Dink's coordinates you get Dink's coordinates on the previous screen. Apparently you do get the values for the new screen on freedink. Teaches me to do a wait(1) before checking positions. Just something to be aware off... It's more of a bug in v1.08 than one in freedink I suppose.
June 11th 2014, 05:48 PM
farmer.gif
Beuc
Peasant He/Him France
 
metatarasal: thanks a lot for the testing
I'll have a look at this by the end of the week.

Generally if something was working in a released D-Mod, then it should in FreeDink, so at first glance there is something to fix in both cases.
June 13th 2014, 03:42 PM
farmer.gif
Beuc
Peasant He/Him France
 
metatarasal: the following code doesn't work for me in either FreeDink or 1.08. E.g. add it in key-65.c:
void main(void) {
choice_start()
//Here we see what options we have:
"Option 1"
"Option 2"
choice_end()  
}


About the coordinates: do you have some code sample?
June 13th 2014, 03:58 PM
custom_skull.gif
Skull
Peasant He/Him Finland bloop
A Disembodied Sod 
That one bracket seems to be in the wrong place. If it's placed like that in the actual script itself, no wonder it won't work. If it's just a mistake you made in the post, then I'm note sure what would be wrong. Works fine for me on version 1.08.
June 13th 2014, 05:12 PM
farmer.gif
Beuc
Peasant He/Him France
 
Can you copy/paste the exact code that works for you?
void main ( void )
{
  choice_start()
  //Here we see what options we have:
  "Option 1"
  "Option 2"
  choice_end()  
}

doesn't work anywhere and you should see "Dink:Error with choice() statement in script key-65, offset 73. (//Here we see what options we have:?)" in the debug log.

With the comment above choice_start():
void main ( void )
{
  //Here we see what options we have:
  choice_start()
  "Option 1"
  "Option 2"
  choice_end()  
}

it works everywhere, so we've got textbook compatibility.

I must be missing something obvious.
June 13th 2014, 05:55 PM
custom_skull.gif
Skull
Peasant He/Him Finland bloop
A Disembodied Sod 
Ok, so now all of a sudden, it doesn't work for me anymore. It worked just a second back, but now if I put the comment under choice_start(), it won't work. Strange. Unless I screwed up (pretty sure I didn't), it worked just a while back.

Though the "Dink:Error with choice() statement in script key-65, offset 73. (//Here we see what options we have:?)" message you were talking about, doesn't show up for me in the debug log.
June 14th 2014, 04:29 AM
farmer.gif
Beuc
Peasant He/Him France
 
dang, hopefully metatarasal can post his code then

(about the debug log, just to make sure, you enabled debug mode before starting the script right?)
June 14th 2014, 04:44 AM
spike.gif
I don't think that stuff has ever worked.

This, however, does (on both 108 and Freedink):
choice_start //Here we see what options we have:
"Option 1"
"Option 2"
choice_end
June 15th 2014, 06:40 AM
slimeg.gif
metatarasal
Bard He/Him Netherlands
I object 
I really thought it worked. There was a script with a choice menu and commented out parts that failed on me only in freedink. Now I can't replicate it anymore...

As for the scripts on positions, here's the ones I used. Attached to the screen:

void main(void)
{
&difper1 = sp_y(1,-1);
&difper2 = sp_x(1,-1);
}


Here the variables &difper1 and &difper2 are globals. Another script attached to a sprite on the screen:

void main(void)
{
int &dix = sp_x(1,-1);
int &diy = sp_y(1,-1);
}
void talk(void)
{
say("&dix , &diy , &difper1 , &difper2",1);
}


If I enter a screen from below this shows "277 , -10 , -10 , 277" in dink v1.08, in freedink I get "277 , 399 , 399 , 277". I kinda expected it to show "277 , 399 , -10 , 277" as dink (sprite # 1 gets drawn before the other sprites and after the screenload. Ah well...
June 15th 2014, 04:29 PM
farmer.gif
Beuc
Peasant He/Him France
 
Thanks for the details metatarasal

Indeed I see that I modified this behavior back in 2008 by mistake.
There is even a case where X is set before the screen is loaded, and Y after (fortunately it's a vertical move).

This is fixed in the FreeDink development version

As for the choice issue, for now it looks like we've got compatibility. Let me know if you find anything.