DDBJ: Droopy Dick's Blow Job
============================

CREDITS
=======
Menu music "Brainwank (Psycho Foo Edit)" by Colektro
- http://www.comfortstand.com/catalog/049/index.html
- Licensed to the public under http://creativecommons.org/licenses/by-nc/2.0/

Game music "It Was A Dream" by Ton Rckert
- http://www.comfortstand.com/catalog/049/index.html
- Licensed to the public under http://creativecommons.org/licenses/by-nc/2.0/

Scott Lembcke for Chipmunk. A free, easy to use 2D Physics library.
- http://code.google.com/p/chipmunk-physics/wiki/Documentation

Psi Jelly for sound effects and occasional sex


SUMMARY
=======
Fly the most realistic simulated penis ever programmed!

Avoid hitting walls and crabs

Collect Pills for power to bomb the end of level boss

Pills help you last longer by slowing you down

Rub Nipples to regain excitement

Hit Space/LMB/RMB/JoyPad Buttons to thrust

Hit Space/LMB/RMB/JoyPad Buttons to drop bomb on final level


RUNNING THE "GAME"
==================
To run DDBJ using whatever config you last had use

    DDBJ.exe

To make life easier(?) 3 extra targets are provided

    DDBJ_onekey.bat
    DDBJ_headtracker.bat
    DDBJ_standard.bat

These RESET THE INPUT OPTIONS to suitable defaults and start the game.
Typically you would only use these the first time you run the game
since after that DDBJ.exe will use the previous options. Or you can
use these to reset everything if the options become a mess.



STORY
=====
There was going to be a back story about Richard who suffers from
ptosis on a mission to...but come on, let's not get silly and pretend
this is anything other than a game with a flying cock.


GUI
===
Menus are used to setup various things like the control schemes,
graphics, game options etc. Functional without the "Fun" is probably
the kindest description. There are different input schemes (one key,
mouse etc) that can be used for both the menus and for controlling
the ship.

The Game shows you in a colour to indicate your current excitement.
If you hit too many walls or crabs you flop to the ground and your
game will be over.


MENU OPTIONS
============
The usual set of options (sound, resolution, etc) can be changed via
the menus. Unfortunately Fullscreen On/off does not take effect until
you restart.


GAME OPTIONS
============
The game options are controlled through the sample SETTINGS_DDBJ.cfg file.
It contains copies of the main game options that you would wish to change.
See that file for details.

There are also several .cfg files which can be played with if you are
so inclined. See the MODDING section below.


XXXX        YOU CAN PROBABLY STOP READING NOW        XXXX
XXXX MOST OF THE STUFF BELOW IS JUST CUT-N-PATE FAFF XXXX


CONTROLS
========
Ah yes, the controls. Funny story. Unfortunately I don't remember it
so here are the painful details.

The controls are simple, describing the raft of horrible options
provided is not.


1. Control Summary
   ---------------
The same one or two inputs are used to everything

    One Key:      SPACE to do stuff

    Head Tracker: Mouse pointer to do stuff

    Standard:     Joypad, Mouse, Mouse Buttons or Arrow Keys and escape
                  space/return to do stuff


2. Menu Control Schemes
   --------------------
This is chosen using the

    Configure->Inputs->Menu Input 

menu option. Here is what the choices mean

    ONEPRESS      Current option auto-scrolls. Press SPACE to SELECT.

    HEADTRACKER   Page has two arrows. Dwell on an arrow with the mouse
                  to click it. The bottom arrow is NEXT, the right arrow
                  is SELECT.

    STANDARD      Page has two arrows and a selection box. Top and bottom
                  arrows select PREV/NEXT option. Click the selection box
                  for SELECT. Use the mouse, joypad or arrow keys. With
                  mouse/joypad buttons, space or return to click.
                  Escape key moves BACK to the previous menu page.


3. Game Control Schemes
   --------------------
This is chosen using the

    Configure->Inputs->Game Input 

menu option. Here is what the choices mean


3.1 HEADTRACKER Controls

Headtracker uses the mouse pointer, but not the buttons.

    HEADTRACKER       Dwell in the Top/Middle screen area to thrust.
                      Dwell in the bottom left of the screen to PAUSE.


3.2 STANDARD Controls

Uses the mouse buttons, keyboard or joypad.

    STANDARD          Space, Left/Right mouse, joypad buttonw to thrust.
                      Escape key to pause.


NOTE: The STANDARD game controls are also ONEPRESS compatible.


MODDING
=======
Most of DDBJ is driven from stuff in config files. These are simple text files
in the format

<KEY> == <value>

If you are bored or insane you can have a play around with these. Things may
well break, especially if you make a syntax problem e.g. miss a closing quote.

The easiest way to change things is simply to copy the file to the same
location but with .mod added to the end. You can then edit that file and the
game will use your changes. You can even remove entries from the .mod file and
just those that set new values e.g. You could create a DDBJ_MENUS.cfg.mod file
containing the line

   ITEM_CHOICES_MUSIC_VOL == "0,10,20,30,40,50,60,70,80,90,100"

if you objected to the lack of granularity the current 5 values provides.

Another method is simply to place the new value in your SETTINGS_DDBJ.cfg file
and it will be used in place of the original value.


1. DDBJ.cfg
   --------
This is the main config file. As well as defining the main game settings this
also defines where to find the other config files. E.g. SOUNDS_CFGFILE.

As well as having a DDBJ.cfg.mod file you can use any file by passing it's name
as the FIRST parameter to DDBJ.exe.

You can change the look of the GUI by playing with the CAMERA_xxxx values


1. data/Config/DDBJ/DDBJ_SOUNDS.cfg
   ---------------------------
What sound files are used and how they are played.


2. data/Config/DDBJ/DDBJ_MENUS.cfg
   --------------------------
The setup and text of the menus.


3. data/Models/DDBJ/*.cm.ply
   ----------------------
The physical properties e.g. mass, of the game items e.g. the Ship, and how to
draw them.  e.g. Setting SACK_MOMENT in DickShip.cm.ply to a small value will make
it rotate more ("moment of inertia" is how hard it is to rotate an object).


9. data/Config/DDBJ/DDBJ_Level1.cfg
   ----------------=====------
Sort of the map file for the game. Probbably one of the more interesting files.


10. data/Config/DDBJ/DDBJ_Physics.cfg
    ----------------------------
Default parameters for the physics.



THANKS
======
This would not exist if I had not stood on the shoulders of giants. Some of
those colossi are

RetroRemakes community for help, support, giving me awareness of OneSwitch
and a place to spurt words on the screen

DeleD for a simple 3D editor - http://www.delgine.com/

Audacity for an awesome sound editor - http://audacity.sourceforge.net/

Dr Petter for sfxr - http://www.drpetter.se/project_sfxr.html

OpenGL for being a graphics API that's not D3D

OpenAL for being a sound API that's not Microsoft

YOU! for reading this far!


HISTORY
=======
v0.9  First and hopefully only release. 

LEGAL STUFF
===========
This software can be distributed by non-commercial means for
free as long as the entire package is unaltered and all files
included.

There is NO COMMERCIAL DISTRIBUTION of this package or any of
it's contents without prior permission from the copyright
owner.  This includes a fee for copying and distributing this
software.  This includes a on a cd, dvd or other distribution
methods.

