The Dink Network

DinkC Reference Guide Now Available

The duckingly prolific RobJ (with website support from the shadowy figure known as Kyle) has revised and republished the DinkC Reference Guide. It is no longer a lengthy txt document or unviewable 'CHM' file. Instead, it is a clean and efficient web site, and thoughtfully maintained via a GitHub repository. There's also a permanent link in the 'Partners' section to your right.

Whereas the earlier versions of the DinkC Reference had significant errors and hadn't been updated in about 15 years, this version boasts a few major changes such as:
  • Anything in the Reference (functions or general guides) that behaves differently between version of Dink and FreeDink is clearly shown, with version text tags and also color coded.
  • Changes to many of the guides to make them more understandable, with extra stuff added to explain some common errors, and fixed some stuff that was incorrect.
  • Fixed a lot of incorrect information given in the "Graphics" section, particularly surrounding things that can or cannot be used in the "init" function, but also some other stuff too.
  • Where warnings are given for errors or flawed commands, a workaround example is provided, if one is possible.
  • Many functions corrected, some re-written.
For a glimpse of the minor changes, please see the comments.

  • editor_seq & editor_frame: to show that -1 works to get value.
  • init: updated version difference given, to explain that the 'dir.ff' packing requirement for graphics to work well is only needed for Dink < 1.08 and not for 1.08 or FreeDink.
  • preload_seq: A warning about a potential error causing sprites to be created with incorrect hardbox, and that using preload_seq for the fix, means this command is still useful in modern versions.
  • debug: A warning about freedink 109.6 bloating a debug.txt files very quickly with hundreds of "surface does not have colorkey" reports.
  • disable_all_sprites: Added info that the functions does not work as intended, and provided a workaround example in DinkC to accomplish exactly the same outcome.
  • enable_all_sprites: Same as disable_all_sprites, but in reverse.
  • external: A warning that calling a procedure with external will cause the calling script to continue past } and into code afterwards.
  • fade_down: Added info about text becoming barely readable on fade down in FreeDink, and a work-around given.
  • get_version: A note that FreeDink engine versions will return 108, and a link to Verion Checker file on TDN for if FreeDink version differentiation is required.
  • hurt: Added a bit of information here for varying behavior of this function between <1.08, and 1.08/freedink.
  • initfont: Info on diffrent behavior between versions and how to get this function to work most of the time
  • kill_cur_item: Warning of error where script stops executing when this function is called causing a status bar bug, with work-around fix given.
  • kill_cur_magic: Similar to kill_cur_item changes
  • kill_this_magic: Warning of bugs when calling this function, with work-around fix given
  • load_palette: Warning of flawed function and advised to use copy_bmp_to_screen for palette changes instead
  • make_global_function: Warning of flawed function
  • map_hard_tile: Corrected index range.
  • map_tile: Corrected index range, added tip of using larger 600x550 tilesets, gave updated DinkC example based on new range and added a link to google sheet tile_index calculator.
  • playsound: Added warning of FreeDink 109.6 returning the soundbank number +1
  • say_xy & say_stop_xy: Made corrections in that the text will actually be displayed at int x plus 320.
  • script_attach: Correction made in that this function updates active_sprite attached to the script, but not vise versa, and links to a DN thread for those seeking better understanding.
  • sound_set_kill, sound_set_survive, sound_set_vol: Warning added of FreeDink 109.6 returning the soundbank number plus 1.
  • sp_active: corrections made.
  • spclip: Edits made to all sp_clip functions to fix incorrect information. Examples added on how to initialize DinkC clipping without prior clipping required from the editor.
  • sp_custom: Version difference information added
  • sp_exp: Note about exp given for missile kill regardless of where the missile came from (prior DinkC Ref's specifically state only player missiles will credit the exp to the player)
  • sp_script: Corrections made based on version differences. Also added info that the main procedure will execute on the new script.
  • sp_touch_damage: Added an example of leveraging prior mentioned engine oversight to also detect when dink stops touching a sprite.
  • sp_x & sp_y: Added a tip that these functions should not be used to get the x or y of a shadow sprite, otherwise it can return an incorrect value.