The Dink Network

GNU FreeDink

Released:February 16th, 2019
File Size:7.43 MB
Release Notes:* User-visible changes:

- Rewrite graphics/sounds/inputs against SDL2
- Enforce full-screen aspect ratio (no more 4:3 stretched to 16:9).
- Runs in current resolution so leave the screen clean if something goes wrong (no more stuck in 640x480).
Also smoother full-screen / windowed toggle.
- FreeDink respect local keyboard layout for keys (ALT+... shortcuts and custom D-Mod keys) on Windows.
- FreeDinkedit now uses layout-independent scancodes - no longer searching where '[' or '`' was relocated.
- CD-ROM support dropped.

- Default harware-accelerated (OpenGL) rendering

- Web browser support (Emscripten)

- Debug mode is toggled once when Alt+D is pressed (no more fighting with continous toggling).

- DinkC console is toggled when Alt-C is pressed (no more creating a key-xx.c with just "show_console()" inside).

- Game engine translations are loaded under Windows.

- Fix game freeze in The Scourger (in DinkC: cancel concurrent fade_up() and fade_down())

- Never recreate an empty dink.dat in the game, even if there's a problem opening it (avoids potential corruption when running both the game and an editor at the same time).

- Fix portability when saving a FreeDinkedit screen for the first time

- Fix 'make_global_function' and 'load_map' DinkC functions

- sp_custom returns 0 rather than -1 if the lookup key doesn't exist (compatibility with 1.08)

- sp_custom now works for sprite 1 instead of crashing the game (unlike 1.08, that's an improvement )

- Can skip Mom's first dialog line when quickly starting a new game

- Fix historical segfault in DinkC busy() (off-by-one array out of bounds). Somehow the segfault wasn't triggered in the past.

- Sprites colors are more stable after a palette change and a savegame load to a different palette (compatibility with 1.08)

- New translation for the engine strings in Friulian (thanks Fabio Tomat); updated Spanish translation (thanks Francisco Javier Serrador)

- Updated translations: Danish, German, Esperanto, French, Brazilian Portuguese, Russian, Swedish

* Developer notes:

- Move from C to C++

- Move from 'check' to 'cxxtest'

- Start a comprehensive test suite

- Improve distro integration some more (Desktop and AppStream files)
Released:October 22nd, 2014
File Size:7.10 MB
Release Notes:Note: this isn't the grand new Android/SDL2/better-than-sliced-bread version yet, but this fixes a few issues we found since the last stable release.

- Never recreate an empty hard.dat in the game, even if there's a problem opening it (avoids corruption when running both the game and an editor at the same time). (thanks CocoMonkey for the report)

- DinkC: load_palette() now searches for palette in the right place (thanks scratcher for the report)

- DinkC: Dink position is updated after a new screen is loaded (thanks metatarasal for the report)

- New translations for the engine strings in Russian (thanks Yuri Kozlov) and Hungarian (thanks Balázs Úr).
Released:May 29th, 2014
File Size:7.10 MB
Release Notes:This new releases brings a few bug fixes and new translations.
It also makes sure everything still compiles on both 32- and (new) 64-bit.

* User-visible changes:

- New, simple versioning scheme, without scary .20YYMMDD date.

- Properly play Dink's intro screen music (see below).

- FreeDinkedit plays sounds on Windows.

- New translation for the engine strings in Brazilian Portuguese (thanks Enrico Nicoletto)

- Update translations of the engine strings (thanks Translation Project)

- 64-bit support for Windows.

* Developer notes:

- Properly play Dink's intro screen music: the original game actually tries both 3.mid and 1003.mid for playmidi("1003.mid").

- Improved build documentation.

- Display SDL audio driver in debug mode.

- Add AppStream/AppData file for GNU/Linux software centers.
Released:January 13th, 2013
File Size:3.58 MB
Release Notes:Here are the changes since the last DN upload:


* User-visible changes:

- Fix game freeze when warping in some special situations, such as when lots of sprites are created; this bug was present in the original Dink (thanks Bas Wijnen)

- New translation for the engine strings in Catalan (thanks Ŕngel Mompó) and Basque (thanks Gorka Azkarate Zubiaur)

- Update translations of the engine strings (thanks Translation Project), including the Dutch translation which was never credited in this file yet (thanks Koen Torfs)

* Developer notes:

- Use MXE ( to compile freedink.exe


* User-visible changes:

- New translations for the engine strings: Esperanto (thanks Felipe Castro), Slovenian (thanks Klemen Košir), Serbian (thanks Мирослав Николић , Croatian (thanks Tomislav Krznar).

- Fix a few bugs (see below).

* Developer notes:

- No palette conversion for dir.ff graphics in truecolor mode (bug in The Blacksmith's Trail).

- Play some MIDI files when the original CD is not present - this behavior was partially broken a while ago.

- Fix issue in some D-Mods related to DinkC's sp_seq(..., -1) command (bug in Day of the Carcass).
Released:November 14th, 2010
File Size:3.52 MB
Release Notes:- Turbo mode: maintain Tab pressed, and FreeDink will run at triple speed. Useful to accelerate cutscenes that you already saw.

- Display "FreeDink" next to the engine version in the title screen, so that people more easily identify whether they are using the original engine or the FreeDink engine. This will help when people are asking for assistance on the Dink forum, for instance.

- Update Danish and Spanish translations. New Greek, Italian and Czech translations.

- Fix two game crashes (experienced in "Agatha's Will", and "The River").
Released:March 21st, 2010
File Size:1.57 MB
Release Notes:A couple bugfixes and 9 new translations
A detailed version of the changes can be found at:
Released:September 19th, 2009
File Size:1.51 MB
Release Notes:- Toggle fullscreen works on more platforms (not just X11)

- New architecture: PSP (playstation portable) - "Lite" version only for now

- New logging system, enabled with '-d' (instead of writing debug information on standard output by default), with different priorities (debug/info/warn/error/fatal). You also can easily check for DinkC errors in your scripts by searching for "[DinkC]" in DEBUG.TXT. In addition DinkC errors often carry the line number (rather than the binary offset).

- Dink doesn't crash on very long lines in dink.ini or DinkC scripts

- DinkC: map_tile(...) can modify the first tile square (tile_index=0)

- Lower startup RAM requirements (-7MB so far, and less memory bandwidth for sounds); this is mostly useful for small devices.

- Add support for contextual translations: when there are several lines of dialog that are identical in a few scripts, but need to be translated differently, you can add a context in your PO file such as 'msgctxt "s3-chick:57"' (name of the script in lowercase without extension + the line number).

- Code clean-ups, namely in the input subsystem (joystick) and shutdown process.

- Fixed numerous buffer overflows in the DinkC interpreter, and a potential infinite loop during search/replace (when the replacement countained search term).

- Updated DLLs
Released:January 27th, 2009
File Size:1.50 MB
Release Notes:- i18n ("internationalization") - or support for translating D-Mods.

- Fix some crashes due to improper D-Mod scripts (e.g. attempt to modify sprite #1000): DinkC scripts are now better validated to avoid this.
Released:November 30th, 2008
File Size:1000.32 KB
Release Notes:Initial version.