
DANCE WITH INTENSITY! v1.27.0
=============================
(C) SimWolf              2002
=============================

1. DISCLAIMER AND TERMS OF USE
2. VERSION HISTORY
3. USING AND CONFIGURING DWI
4. DWI FILE FORMAT
     - Steps
     - Tags
     - Background Animations + Movies
5. LIMITATIONS
6. FUTURE DEVELOPMENT AND THANKS

1. DISCLAIMER AND TERMS OF USE
==============================

This program is provided for free, as-is.  Although it has been tested on multiple systems for compatability 
and reliability, you run this program at your own risk.  I cannot be held responsible if the program causes 
file loss or other problems.

THIS PROGRAM IS *NOT* FOR SALE!!!  IT SHOULD NEVER BE BUNDLED WITH ANY OTHER FILES (MUSIC OR STEP FILES) ON 
ANY MEDIA, INCLUDING (BUT NOT LIMITED TO) CD's, DVD's, DISKS OR OTHER MEDIA.

This program simulates a popular arcade and home video game.  It was written to allow myself the ability to 
play songs from the games without having to switch CDs in my Playstation or Dreamcast, and also affords the 
ability to add new songs not currently available.  It also allows for playing older songs with new play 
modes, such as downward-scrolling arrows.  This program is being released to the public in the hopes that 
others would find it useful in the same manner.

As such, this program REQUIRES responsibility on the part of the end-user (ie. YOU) to use the program 
LEGALLY.  You should *ONLY* play songs where you:

   a) Own the game from which that music comes from.
or b) Own the soundtrack CD from which the music comes from.
or c) Legally own rights to the music being used (ie. other CDs, etc.)

I own all the available soundtracks and videogames for the music I own, and respectfully ask that you 
support the games and purchase them.  Thank you.


2. VERSION HISTORY
==================

v1.27 - January 19, 2002.
        - DWI should work on Voodoo 3 cards (and hopefully others) in DirectX mode now.
          Graphics will take a hit as they can't do everything newer cards can do - in particular, 
          backgrounds and other large images will be blockier, and graphics that had alpha channels will
          lose some transparancy - but it will run in DirectX.
        - New flag in BACKGROUND section: "KEEPTIME", for AVI files.
        - Better/more efficient timekeeping in AVIs
        - fixed fade 'edges' on song start/end.
        - option "/anysize" added for DirectX mode.  
          Forces textures to be created in original sizes if your videocard can handle it (can improve speed)
        - proper 'fade in' for songs with positive "GAP" values.
        - fixed selection in some options menus.

v1.26 - January 15, 2002.
        - Fixed problems with Voodoo cards (at least, tested on a Voodoo 5 with the 'x3dfx' drivers).

v1.25 - January 13, 2002.
        - Alternate graphics engine implemented.  Choose the SDL-based graphics engine at startup by using 
          the command-line option "/sdl" (otherwise the default DirectX graphics engine is used).
        - Other command line arguments:
             /16bpp - forces a 16-bit graphics surface.  May speed things up on some computers.
             /32bpp - forces a 32-bit graphics surface.  Some cards might require this option.
             /hw    - (SDL only) attempts to load images in video hardware.  May fail on some hardware.
             /fullscreen - forces fullscreen mode.
             /window     - forces windowed mode.
        - MD5 checking on files.  If MD5 doesn't match, warning message is displayed.
        - Better treatment of songs with no music file associated with them (error message displayed)
        - OGG/Vorbis support.  (Can now use MP3,WAV, or OGG files)
        - Synchronization accross all sound cards should be improved now, latency accounted for.
        - BPM display at song select screen (ensure that dwi-7segments.png is in the 'images' folder).
        - Bugs and memory leaks (hopefully) fixed on song-select screen.

v1.20 - January 7, 2002.
          - DirectX graphics engine implemented.
            YOU MUST HAVE DIRECTX 8.1 INSTALLED AND A VIDEO CARD THAT CAN TAKE ADVANTAGE OF 
            HARDWARE 3D GRAPHICS.  Version 1.05 will work on most other systems although will
            run slower.
          - AVI file support for backgrounds.
          - BASS.dll upgraded to latest version.

v1.10 - December 31, 2001
          - Used SDL.dll for graphics.  Seemed fairly buggy. :P
          - You can now press 'escape' on the difficulty select screen to go back to the 
            'select song' screen.
          - Bugfix: announcer comments in Versus mode.

v1.05 - December 26, 2001
          - IMPORTANT NOTICE
            DWI has changed the directory structure for where step files and images go.
            The program will detect the old directory structure and make the changes for 
            you after displaying a notice screen.  For the automatic conversion to work, 
            the files in Backgrounds, Banners, and DWIs must NOT be "read-only".  You 
            can set the attributes of the files by selecting them in Explorer and going 
            to File-Properties.  More details are in the "Using and Configuring DWI" 
            section below.
          - fixed bug in "Sort by Genre".

v1.04 - December 22, 2001 (pm)
          - Expanded support for different audio sets, similar to skins.
            The directory for new sets is "alt-soundfx", and each set goes in its
            own subdirectory with that.  The layout of the sound-set directories 
            should be the same tree structure as "soundfx".

v1.03 - December 22, 2001
          - Built-in support for skins, selectable from the options screen.
            Simply create a directory called "skins" in the same folder as "DWI.exe",
            then create different sub-directories within that for each skin you 
            wish to use.

v1.02 - December 21, 2001
          - stealth mode arrows now appear if missed
          - arrows rated 'good' continue to scroll up
          - new features added to Game Options screen:
               - Max Stage "Unlimited".  This effectively allows "Event Mode" - there is no limit
                 to the number of stages you can play, and the difficulty level is capped after you 
                 reach Stage 5.  Pressing "Escape" during gameplay will take you back to the 
                 song-select screen without having to go back to the main menu.  Failing a song 
                 takes you back to the song-select screen also, back at Stage 1.
               - Auto Play.  Will play the game for you, though you can still press the inputs if you
                 like.  NOTE: RECORDS WILL NOT BE KEPT when Auto Play mode is enabled.

v1.01 - December 16, 2001
          - minor fix to select screen, fixed crashing problems in Win2k and XP.

v1.00 - December 14, 2001
      - first public release.  Supported are:
          - BPM changes, pauses
          - Freeze arrows
          - Split/Unison/Couple modes
          - multiple folders
          - downwards-scrolling arrows
          - record keeping
          - background animations

3. USING AND CONFIGURING DWI
============================

BASIC OPERATION
---------------

When you first run DWI, you will receive a warning screen about responsible use of the program.  This 
warning screen will appear *EVERY* time the program detects new songs.

DWI uses step-files with the extension ".DWI".  As of v1.05, these files go in their own folder along
with their associated background and banner images.  Optionally the music file can go in the same 
folder also.

DWI supports multiple collections of songs, so you can organise your songs as you see fit.  To do this, 
just create different sub-directories in the "Songs" folder.

eg. For a song with a step-file of "abc.dwi", put into a collection called "My Songs", your directory 
structure should look like this:

     <install directory>
        + Songs
           + My Songs
              + abc
                 + abc-banner.png   (any name, the program will detect that it's a banner)
                 + abc-bg.png       (any name, the program will detect that it's a background)
                 + abc.dwi          (any name)
                 + (abc.mp3/wav)    (optional - otherwise FILE: tag is used).
                  
So, in each "song folder", there should be two image files (background and banner), the DWI file,
and optionally the music file in MP3 or WAV format.  This should allow for easier distribution of 
songs and images over the old directory structure.

Song Sorting
------------

When you are at the song select screen, simply press up or down to change the current collection you are 
in.  Songs are organized alphabetically within each collection, and collections are organized 
alphabetically also.

Another option is to sort your music by genre.  To activate this, go to "Options Menu", then "System Menu",
and change the sort method to "GENRE" *.  This requires your DWI files to have a tag defining the genre to
put the music into (see DWI format, below).  Multiple genres can be given (separated by a comma), to make
the same song appear in different collections.  At the song select screen, press up or down to change the
genre.

  * NB: You must exit DWI and start it again for this change to take effect.

Selecting Song Modifiers
------------------------

After selecting a song, but before choosing your difficulty, press the "Select" button/key.  A collection 
of icons will appear on your side of the screen.  By pressing the directional inputs you can set various 
modifiers that will affect gameplay.  In order (top to bottom), they are:

   - LITTLE, FLAT
   - LEFT, MIRROR, RIGHT, SHUFFLE
   - HIDDEN, SUDDEN, STEALTH
   - DROP (reverse scroll)
   - 1.5x, 2x, 3x, 4x, 5x, 8x speeds
   - NO FREEZE ARROWS

Press "Select" again to exit this sub-menu.  Your selected options will stay on-screen.
NB: In some battle modes (Split and Unison), selecting "DROP" mode will affect both players.

Controller Configuration
------------------------

To change the inputs, simply go to the Options Menu from the main screen and goto "Controller 
Configuration".  Choose to configure either Player 1 or Player 2's inputs and you will be prompted to press
each key, joystick button or dancepad square in turn.  You cannot choose a key that is currently in use.
When done, select "Return" to make the change take effect.

Gameplay Settings
-----------------

Gameplay settings such as difficulty level, danger display, and end-of-game settings are selected from the
Gameplay Configuration menu from the Options screen.  These changes take effect immediately.

Sound Configuration
-------------------

The default sound settings for DWI are 44Khz, Stereo, 16-bit samples.  However, you may want to lower these
settings on slower computers.

  * NB: You must exit DWI and start it again for this change to take effect.

Changing the Display from Windowed to Full-screen
-------------------------------------------------

Go to the "System Menu" from the Options screen and change the display type.

  * NB: You must exit DWI and start it again for this change to take effect.

Sound effects
-------------

Sound effects are all in the "soundfx" directory.  You can add or remove files to most directories, and the
program will use the existing files during gameplay.  However, files in the root of the "soundfx" directory
and those in the "attract" and "combo" directories must be the same name in order for the program to find
them and play them appropriately.

Setting Skins
-------------
Simply create a directory called "skins" in the same folder as "DWI.exe", then create different 
sub-directories within that for each skin you wish to use.  So, for example:

     <install directory>
        + skins
            + Skin A
            + Skin B
            + ...         

The filenames for each skin should be the same as in the default "images" directory.  If an image isn't 
found, the default is used.  This way you can create skins that are relatively simple, or very elaborate ones.
And you don't need to delete any of the original files. ;)  There is a limit of 64 skins.

Changes will take effect when you leave the Skin Selection screen.

I do ask, however, that you keep the title of the program as "Dance With Intensity".  Thank you. :)

Setting Announcer and Sound Effects
-----------------------------------
Similar to skins, just create a directory called "alt-soundfx" in the same folder as "DWI.exe",
then create different sub-directories within that for each sound set you wish to use.  So, for example:

     <install directory>
        + alt-soundfx
            + Jack
            + Jill
            + ...         

The tree structure for each set should be the same as is used for the "soundfx" directory.  For example:

    + Jill
        + attract    - files should be named attract-00.wav, attract-01.wav, attract-02.wav
        |              (these are the sounds used on the title screen)
        + combo      - files should be named combo-00.wav and combo-01.wav
        |              ("100 Combo" and "Combo stopped")
        + danger     - a set of files played when power level at danger or zero.
        + eval
        |   + A
        |   + B      - sets of files to play at the evaluation screen based on grade
        |   + ...   
        + good       - a set of files played when power level in the 'good' range
        + great      - "                                           " 'great' range
        + over
        |   + fail   - files played at game over screen (failure)
        |   + pass   - "                              " (cleared all stages)
        + select
        |   + new    - files played when #STATUS:NEW; is set in DWI file and song is selected
        |   + song   - files played when a song is selected
        + start
        +   + go     - files played at "Here we go!" screen.
        +   + ready  - files played at "Ready?" screen.
        + warning    - a set of files played when the power gauge is in the 'warning' range.

There should not be more than 64 sound effects in a single subdirectory.  There is a limit of 64 skins.
Changes will take effect once you leave the Announcer/Sound Select screen.
Please keep the title sound effect (attract-00.wav) as "Dance With Intensity".

AVI Movie Support
-----------------
AVI movies can now be played in the background while you play.  See the "Background Animation" section 
below for more details on how this is set up.  From the System Menu, you can tell DWI whether to not 
play AVI files at all, or set the quality level from 1 (worst) to 10 (full).  The default is 5.
Changing this value could affect your framerate, so play with the values to determine what works best
for your system.

4. DWI FILE FORMAT
==================

Steps
-----

DWI uses step-files that are similar to the ".MSD" file format.  However, there are new additions and some
tags are treated slightly differently, so the extension was changed to avoid confusion.  DWI files with
these new additions will not work properly in other simulators.

Step-patterns are defined in the same way as .MSD files - use the numeric keypad as a reference for most
patterns:

  7=U+L     8=U      9=U+R

  4=L                6=R

  1=D+L     2=D      3=D+R

    (U+D = A and L+R = B)

A '0' indicates no step.  Each character defaults to one 1/8 of a beat.  Surround a series of characters 
with the following brackets to change the rate at which the steps come:

   (...)  = 1/16 steps
   [...]  = 1/24 steps
   {...}  = 1/64 steps

6-panel (Solo) mode uses additional characters:

-\---- = C
----/- = D

L\---- = E
-\D--- = F
-\-U-- = G
-\---R = H

L---/- = I
--D-/- = J
---U/- = K
----/R = L

-\--/- = M

MSD files from other simulators will work with DWI, with a change in the 'GAP' value being the only change
usually necessary.  DWI calculates the 'GAP' value differently than other simulators that use the MSD 
format.

DWI does not support the BMS file format.  There is a utility available that can convert any BMS file into
DWI format.  Each song only requires one DWI file for all of its steps, so if you are converting BMS files
please remember that all the different difficulties of step patterns will be contained in the same DWI file.

Hold Arrows
-----------

In the DWI file format a hold arrow is signified with the ! symbol.  The string  8!8   will begin an 'up'
hold arrow, and the arrow will be released the next time the program encounters an 'up' arrow: by itself or
combined with another arrow (7, 8, 9, A, etc.)  The characters  7!4  would show both 'up' and 'left' arrows
but only the left arrow would be held.  The format could best be described as "show!hold".

Tags
----

These tags should be in every DWI file:

#TITLE:...;    - title of the song.
#ARTIST:...;   - artist of the song.
#GAP:...;      - number of milliseconds that pass before the program starts counting
                 beats.  Used to sync the steps to the music.
#BPM:...;      - BPM of the music

Additionally, the following tags can be given:

#FILE:...;     - path to the music file to play (eg. /music/mysongs/abc.mp3 )
                 (NB: if the file is not found, a .wav or .mp3 file in the same folder as 
                      the DWI file is used).

#MD5:...;      - an MD5 string for the music file.  Helps ensure that same music file is used
                 on all systems.

#FREEZE:...;   - a value of the format "BBB=sss".  Indicates that at 'beat' "BBB", 
                 the motion of the arrows should stop for "sss" milliseconds.  Turn on 
                 beat-display in the System menu to help determine what values to use.
                 Multiple freezes can be given by separating them with commas.

#BPMCHANGE:...; - a value of the format "BBB=nnn".  Indicates that at 'beat' "BBB",
                  the speed of the arrows will change to reflect a new BPM of "nnn".
                  Multiple BPM changes can be given by separating them with commas.

#STATUS:...;   - can be "NEW" or "NORMAL".  Changes the display of songs on the 
                 song-select screen.

#GENRE:...;    - a genre to assign to the song if "sort by Genre" is selected in the 
                 System Options.  Multiple Genres can be given by separating them with 
                 commas.
#CDTITLE:...;  - points to a small graphic file (64x40) that will display in the song 
                 selection screen in the bottom right of the background, showing which
                 CD the song is from.  The colour of the pixel in the upper-left will
                 be made transparent.  

Each pattern of steps for different modes have the same basic format:

#SINGLE:BASIC:X:...;
 ^      ^     ^ ^
 |      |     | + step patterns.  In doubles, the left pad's steps are given first, 
 |      |     |   then the right pad's, separated by a colon (:).
 |      |     |
 |      |     + difficulty rating.  Should be 1 or higher.
 |      |
 |      + Difficulty.  Can be one of "BASIC", "ANOTHER", "MANIAC", or "SMANIAC"
 |
 + Style.  Can be one of "SINGLE", "DOUBLE", "COUPLE", or "SOLO".  "COUPLE" is 
   Battle-mode steps.

Background Animations
---------------------

DWI allows for background animations using a special script within the step-file.  A script consists 
of static images, animated images, and/or an AVI movie.  Using the script, you can create a variety 
of layered effects.  A sample animation is described below:

#BACKGROUND:

  M:MOVIE:.\movies\sfx.avi STARTAT:-1.0 LAYER:0;
  E:FILE:.\anim\equalizer.png ANIMATE:10,33 POSITION:-33,0 SPACING:40,40 LAYER:1;
  D:FILE:.\anim\dancer-m1.png ANIMATE:24,66 SIZE:2 MULT:0,0.5,1 SPACING:30,30 LAYER:1;
  X:LAYER:1 OFF;

  SCRIPT:M.......................
         ................E...............
         D...............X...............E...............D...............
         X...............E...............D...............X...............
         E...............D...............X...............E...............
         D...............X...............E...............D...............
         X...............E...............D...............X;

#END;

The first part of the "BACKGROUND" definition defines the effects.  Each effect is attributed to a letter
or number ("a-z", "A-Z", "1-9").  The format for defining an effect is:

   FILE:       - path to a file (required unless parameter "OFF" is given, or MOVIE: specified).  
                 Either a still image, or an animation (multiple frames of animation are 
                 stacked *vertically* in the image).

   MOVIE:      - path to a file (required unless parameter "OFF" is given, or FILE: specified).
                 File should be a standard Windows AVI file.  Note that the movie won't play
                 unless you have the right codecs installed in Windows.  Movies are currently
                 stretched to fill the whole screen.

   STARTAT:t   - number of seconds into the AVI file to start at.  If negative, the movie will 
                 wait that many seconds before playing.  Can be decimal (eg. 1.3 = 1300ms).

   MULT:r,g,b  - Red, Green, and Blue pixels in the image/movie are tinted by the given 
                 amounts.  This way the same image/movie can be used multiple times across DWI
		 files and have different colours.

   ANIMATE:f,n1,n2,...nF - indicates that the FILE contains multiple frames of animation. 
                           "f" is the number of frames of animation.  Each following 
                           value is the number of milliseconds each frame of animation 
                           is displayed.  If not enough time-values are given, the last
                           given value is used.  Ignored for MOVIE type.

   MOVE:x,y    - the image/movie is moved by the given number of pixels every millisecond.

   SPACING:x,y - images are always tiled if they don't fill up the screen.  This tag 
                 allows you to add some spacing between the images by the given number 
                 of pixels horizontally and vertically (Layer > 0)

   SIZE:s      - multiplies the image size by 's' in both directions.  Must be a whole 
                 number.

   LAYER:l     - the layer to use (required):
                   0 - base layer.  Image/Movie is *always* tiled and SPACING is ignored.
                   1 - overlay layer
                   2 - overlay layer
                   3 - overlay layer

   KEEPPOS     - normally when a new effect is turned on, its position is reset.  This 
                 tag keeps the layer where it is, useful for keeping images moving 
                 smoothly.

   KEEPTIME    - (MOVIEs only) normally when a movie starts, it starts from the beginning or the
                 time given in the "STARTAT" tag.  Adding this tag will keep it playing so when 
                 that layer is enabled again, it will have kept going.

   OFF         - turns off a layer, effectively making it invisible.  Will not turn off 
                 layer 0.

Following the effect definition, comes the actual animation script.  This is a sequence of characters in a
similar way as the step-patterns are given - each character normally is 1/8 of a beat, though brackets can
be used to change the time-values.  In this way, background animations can be syched to the steps.  It is
suggested that the steps for "SINGLE:BASIC" are copied to after the "SCRIPT:" tag, and then the effects be
set.  In this way one knows that the script will match the same length of the music.

The animations take effect as that point in the song is reached.  Multiple effects can occur at the same
time if they are separated with a comma.

A period (.) means no new effect should take place at that point.  A zero (0) turns off all effects and
returns the background to the original graphic.

5. LIMITATIONS
==============

Partly due to the compiler and my own lack of knowledge in some areas, there are a number of limitations
imposed on the program that users should know about:

   - No more than 64 collections.
   - No more than 128 step-files in a single collection/folder
   - No more than 64 sound effects in a single subdirectory of 'soundfx'
   - No more than 2000 steps per player in a single song (or no more than 1000 jumps)
     More than that will be ignored.

If the program runs slowly on your machine, try the following:

      - Install the latest DirectX 8.1 drivers.
      - Update the video drivers for your video card.
      - Try running the game in fullscreen mode, and/or setting your screen resolution to 16-bit mode.
      - Lower the sound quality to Mono, 8-bit, and/or 11 or 22Khz.
      - Lower the quality of background movies if you use them a lot.

You *will* need a 3D card that supports DirectX 8.1 - sorry.  Use DWI v1.05.1 if you can't get
this to work and are unable to upgrade your video hardware currently.

6. FUTURE DEVELOPMENT AND THANKS
================================

A long time was spent making this program, and I believe that this first release is fairly complete in
terms of features.  I do intend on speeding up the graphics engine at some point, but my abilities in that
area is fairly limited unfortunately.  The song-select screen may be updated in a future release.  New
features will be considered as resources and interest permit.

Special thanks go to DjDraftHorse for the announcer files - I think he did a fantastic job, very
professional.  Also he has been a great beta-tester and a sounding board for new ideas.  Much appreciated!

BBW, for putting up with my incessant programming of the simulator and my exhorting of the joys of 
Bemani. ;)

Also, thank you to BemaniRuler for beta-testing the program and your enthusiasm for the project.
LagGed and the others at "The Melting Pot" for the resources available there concerning the file formats
and other simulators, and his offer to host the distribution files.  Also a special thanks to 
Apocalypse for his insight in getting DirectX working.

Pawwaves to those in the furry community. :^)

Enjoy...
SimWolf.

http://www.teamgwailo.com/ddrpccentral/dwi
