þ DEVELOPER INFO þ

This game was designed from the ground up to be used as an 'engine' for
other scenarios.

Virtually everything in the game is done by DinkC scripts.

Check out the source.zip file. - these are all DinkC scripts.  Go ahead and
view a few, maybe even try editing one or two...

The *.D files are the same thing, but 'compiled'.  These are not
editable.

The whole theory here is that someone could put together a 50K zip that
has a quest that has a neat little 20 screen world that could take days
to finish -

OR:

Someone could offer a 15 meg addon that COMPLETELY changes much of the
graphics/tiles and make the game COMPLETELY different.  The player could
control a frog or something.

Or anywhere between the two.  How?  When Dink is run with a -game <dir>
parm, it reads the DINK.INI, MAP.DAT and DINK.DAT from this dir.

That is ALL that is required.

Next, Dink checks this 'new' dir for ALL other files - if they DON'T exist,
it gets them from the default 'dink' dir.

This means you could change ONE frame of ONE animation, and the blanks
would be filled in from the main game dir.

All of Dink's graphics are in .BMP format.  Nearly any graphics program
(like Photoshop(tm) ) can read and write this format.

Dink also uses standard .WAV and .MID formats for sounds.

DINKEDIT.EXE (included) is the program that allows
you to do the following:

  *  Create, copy and edit maps.  (768 maps can exist in one world)
  *  Cut and paste tiles from over 41 screens of tiles
  *  Cut and paste sprites, and edit the following attributes:
     * Hard or not
     * Brain
     * Attach dinkc file
     * Hitpoints
     * Strength
     * Size
     * Clipping
     * Animation
     * Sound
     * Much more
  * Generate a 'world map' - a tiny version of the ENTIRE map, helpful for
    seeing if rivers connect, etc
  * Smartmatch technologies - Paste a tree on one screen, and it will be
    added to the adjoining screens.  When the screen scrolls to the next
    one, it will effortlessly line up every time
  * Visual sprite database - select from scaled thumbnails, then select
    from that particular animation.  You can place and access ANY graphic
    in the game
  * Graphics can be added at any time by editing the DINK.INI
  * Internal sprite depthdot/hardbox editor
  * Ability to start a new map from scratch, or import certain screens
    from another map
  * Assign up to 99 sprites per screen.  
  * Windowed and fullscreen modes, possible to run Dinkedit and Dink at
    the same time
  * Movie2000 sprite movie maker can assist your dinkc by adding commands
    directly to the .c file
  * Mouse interface for picking up/moving/stamping sprites

DINKEDIT controls the graphical end of it - but dinkc controls the other
part.  Behavior, brains and programming can be done easily.

Many aspects of dinkc and Dinkedit overlap - for instance, from within
a dinkc script you can create a sprite and change ANY of the attributes
that Dinkedit.exe can, and more.

Dinkc follows standard C syntax is most areas.

Features:

  * Dynamic local and global variable creation
  * Globals are automatically saved with the players save games
  * Up to 64K in size, each
  * Dynamically allocates RAM for each instance needed
  * Blazingly fast!
  * Compileable (for encryption, actually gets smaller too)
  * Dink can also run uncompiled (.C txt files) too
  * You can edit WHILE playing Dink and see changes without quitting the
    game
  * Internal multithread support, can run 300 dinkc scripts AT THE SAME TIME!
  * Every WEAPON, ITEM and MAGIC in the game is done with dinkc
  * Every conversation is done with dinkc
  * Sound, midi & redbook can be can be completely controlled
  * Play sounds at different speeds, with real-time mixing of up to 30
  * The entire Dink intro (logo, arrows that pop out and the buttons) was
    done in dinkc, you could add a button, etc, easily.
  * Pushing rocks, burning trees and barrels were done by hooking up the
    desired sprite to a dinkc script
  * Easily mark items to 'not show up again' for this player. (for instance,
    any sprite attached to sfood.c will cause the sprite to shrink when
    touched, play a sound, give dink 3 life and 'never come back')
  * Dink knows that if a Push(), talk(), hit(), damage(), main(), die()
    exists in a .c file, to run that procedure at the correct time

To started, check out your dink/dink/story dir and look at some of the
*.C files.  Then look at the DINKC.CHM file.  Read the TUT1.TXT file,
this is a tutorial on how to make a simple Dink addon.

Be sure to hit our webpage at www.rtsoft.com/dink for the latest info/
tutorials and addon worlds.

If you have any questions are problems, feel free to email me!

-Seth (seth@rtsoft.com)
