Candy Cruncher
Version 1.50
May 10, 2002
by Pyrogon
http://www.pyrogon.com

*** TABLE OF CONTENTS 

I	System Requirements
II	Troubleshooting
III	Instructions
IV	Registration
V	Technical Support
VI	Credits
VII	Legal Stuff
VIII	Version History

*** I.  System Requirements 

The following section lists the minimum
and recommended system specifications
for Candy Cruncher:

--- MICROSOFT WINDOWS

* CPU: Pentium/133MHz or better
* RAM: 32MB or more

* Operating System: Microsoft Windows
  95(OSR2), Windows 98, Windows ME,
  Windows 2000, Windows NT4 (SP3+) or
  Windows XP.

* Controls: A standard keyboard is
  required, and a mouse is highly
  recommended.

* Sound: A DirectSound compatible sound
  card is required for sound and music,
  however if no audio is present Candy
  Cruncher will still play with sound
  disabled.

* Graphics: Candy Cruncher requires a
  15, 16, 24 or 32-bit display

--- APPLE MAC OS
* CPU: 150MHz or better
* RAM: 32MB

* Operating System: Apple MacOS 8.5+

* Graphics: 16-bit ("thousands of
  colors") is recommended

--- APPLE MAC OS X

* CPU: G3/233MHz or better
* RAM: 128MB

* Operating System: Apple Mac OS X 10.1
  (untested on 10.0.x but it may work)

* Graphics: Candy Cruncher will run with
  an 8, 16 or 32-bit display, however
  for best graphics and performance
  16-bit ("thousands of colors") is
  recommended.

--- LINUX/FREEBSD

* CPU: Pentium/133MHz or better
* RAM: 32MB RAM

* Operating System: Linux kernel 2.2 or
  later with glibc 2.1 or later.  Unix
  variants with a Linux binary
  compatibility layer, such as FreeBSD,
  may be suitable, but are
  unsupported. The installation should
  be independent of distribution, user
  interface, and package manager.

* Graphics: XFree86 4.0 or later
  recommended.  Other targets such as
  XFree86 3.3 and fbcon may be suitable,
  but are unsupported.  Candy Cruncher
  is best played on a 16-bit, local
  display, but should be able to run on
  any target supported by Simple
  DirectMedia Layer
  (http://www.libsdl.org)

* Sound: Direct access to /dev/dsp is
  recommended.  Other targets such as
  esd and artsd may be suitable, but are
  unsupported.  Candy Cruncher should be
  able to output sound by any means
  supported by Simple DirectMedia Layer
  (SDL).

--- POCKET PC

* CPU: StrongARM, MIPS or SH-3
* RAM: 16MB

* Operating System: WinCE 3.0, PocketPC
  2000, PocketPC 2002

* Graphics: 16-bit color preferred, will
  run on grayscale or 8-bit color
  however these will be significantly
  slower than 16-bit color

* Sound: any Win32 compliant sound
  system

--- SHARP ZAURUS

* Any Sharp Zaurus should be compatible
  with Candy Cruncher. Candy Cruncher
  should also work on other devices
  running Qtopia or OPIE.

*** II.  Troubleshooting 

While we have attempted to make Candy
Cruncher as bug free as possible, we
recognize that some problems may arise.
If you have a bug to report, please send
as much information as possible to
support@pyrogon.com and we will attempt
to resolve the problem to the best of
our abilities.

--- MICROSOFT WINDOWS

Candy Cruncher requires Microsoft
DirectX to be installed.  For the latest
version of DirectX visit:

http://www.microsoft.com/directx

If Candy Cruncher runs slowly in
windowed mode, you may wish to try
switching to full screen (registered
version only).  Alternatively, make sure
your desktop is set to 16-bit color
(also known as "65536 colors" or
"thousands of colors").

--- MAC OS X 
--- SHARP ZAURUS
No troubleshooting recommendations.

--- POCKET PC 
Some handheld units have notoriously
poor graphics performance, and as such
probably will not run Candy Cruncher
very well.  Specific models include SH3
versions of the HP Jornada series
(Jornada 545) and black and white models
such as the Compaq iPAQ 3600.

The Jornada 525 (8-bit color) will not
run Candy Cruncher adequately.

--- LINUX AND COMPATIBLE 
--- OPERATING SYSTEMS   
 
Running the game over X11's network
protocol is very slow, and we do not
recommend it. If the game feels
sluggish, you can try the "--hwcursor"
command line option to get a better
mouse response. For the true hackers,
there is a dynamically-linked version of
the game included, so you can drop in
your own version of SDL, SDL_ttf, or
SDL_mixer as you see fit, but we don't
support the dynamic binary at all.

*** III. Instructions 

The object of Candy Cruncher is to line
up and remove complete rows or columns
of candy.  Each level requires you to
remove a certain number of rows or
columns before time expires.

Clicking on a candy adjacent to the
blank space will swap the blank space
and candy.  The only exception is the
Dreaded Black Jellybean, which cannot be
moved.  You can also use the arrow keys
on your keyboard to move the blank
space.

HINT: Instead of clicking, you can hold
down the mouse button and "drag" the
space around!  It takes some practice,
but it boosts your speed dramatically!

HINT: You can move an entire block of
candies over!  Try clicking two candies
past the space; as long as there are no
Black Jellybeans between the space and
the candy, the entire group should shift
over together!

ZAURUS/POCKET PC: Use the stylus just
like you would use the mouse!

When a row or column is completed it
disappears and the board is adjusted
appropriately.  In addition, every time
a row or column is completed you gain
back some time on the clock.  The number
of points scored for a successful row or
column completion depends on the candy
and the current level.

Later levels introduce the mystery
candy, which acts as a "wildcard" and
can thus be used to fill in a missing
piece.  For example, if a row has 5
candy corns and a mystery candy, it will
complete the row.  In addition, the
mystery candy has a powerful capability
when completing a row with a Dreaded
Black Jellybean....

Clicking on the Fullscreen or Windowed
button toggles between fullscreen and
windowed playing modes.  If you find
that the game is running slowly in a
window, try it in fullscreen mode.  This
is not applicable on PDA Pocket PC or
Zaurus.

Clicking on the Pause button pauses the
game.  A cover will be be placed over
the playfield so that you can't cheat by
looking ahead!  In addition, if Candy
Cruncher is minimized or loses focus
(for example, an "instant messenger"
window pops up while you play), it will
automatically pause!

Finally, if your score is greater than
one of the current high scores, you will
be prompted for your name so that your
own score can be recorded in the high
scores list!  NOTE: On PocketPC and
Zaurus versions, only the score is
recorded.

*** IV. Registration 

If you enjoy playing the demo version of
Candy Cruncher you'll want to register
it for new features!

Registering Candy Cruncher removes
annoying nag screens and waiting
periods.  In addition, it gives you all
the candies, levels and features past
level 6!

To register on-line, go to
www.pyrogon.com/games/candycruncher
and follow the instructions.  You can
automatically reach the site by clicking
on the "Buy Now!" button.

After purchase you will be sent an
e-mail with your license name and
registration code.  When you start up
Candy Cruncher, select Unlock from the
main screen and enter your registration
name and code EXACTLY as they appear in
your registration e-mail and start
crunching!

*** V. Technical Support

In the unlikely event that you
experience problems with Candy Cruncher,
you can contact us at
support@pyrogon.com or visit us on the
Web at www.pyrogon.com.

If you can, please include the following
information along with the description
of your problem:

Computer manufacturer and type
Operating system
CPU Type and Speed
Amount of RAM
Soundcard Type
Videocard Type
Registration name and code (if applicable)

*** VI. Credits 

Candy Cruncher was created by Pyrogon:

Programming:	
   Brian Hook

Art:
   Rosie Cosgrove

Additional help was provided by the
following:

Original Design:		
   Jennifer Hook

Additional Programming:
   Ryan C. Gordon - Unix Port
   David Hedbor - Qt/SDL and Zaurus Port
   Zachary J. Slater - Unix Port Installer

Music composed and performed by:
   Ian Livingstone
   (http://www.mediathemes.co.uk)

Special Thanks:
   The GameHouse team
   "Katravax"
   Ben Hines
   Tom Hubina
   Mike Kulas
   Peter Lincroft
   Cara McDermott
   Jim McNally
   Sam Nova
   Casey Muratori
   Marty Rabens
   Jeff Roberts
   Jan Roza
   Lorene Shaw
   Luc van den Borre
   Ramona and Donnie Young
   our many other friends and families
   for their support, advice, feedback
   and encouragement!

*** VII. Legal Stuff 

SOFTWARE LICENSE AGREEMENT:

This software license agreement is a
legal agreement between you, the
end-user, and Pyrogon Incorporated.

Candy Cruncher ("the software product")
is Copyright 2001-2002 by Pyrogon
Incorporated.  All Rights Reserved
worldwide.

By installing or using the Software
Product, you agree to abide by the terms
in this agreement.

The software product is licensed, and
not sold.  By purchasing the software
product, you are being granted a
non-exclusive license to install and use
the software product on one personal
computer.  You are also granted the
right to make one archival copy of the
software product for the purposes of
data backup.

The software product is provided "as
is", without warranty of any kind,
either expressed or implied, regarding
the operation of the software product,
including warranties of merchantability
or its fitness for use for any
particular purpose. By installing the
software product, you agree to accept
all liability regarding its use or
misuse.

You may not disassemble, decompile, or
Otherwise reverse engineer the Software
Product or any of its data in any
manner.  You may not distribute add-ons
or levels of any kind for use with the
Software Product without the expressed
written consent of Pyrogon Incorporated.
You will reasonably ensure that the
registraton codes you acquire by
purchasing The Software Product will be
protected from redistribution or public
display.

=== Copyright 

Candy Cruncher (C) 2002 Pyrogon, Inc.
All other copyrights and trademarks are
property of their respective owners.

All rights reserved.

=== Simple Directmedia Layer and related
=== libraries 

Candy Cruncher, on certain platforms,
uses Simple Directmedia Layer (SDL) and
associated libraries (SDL_ttf and
SDL_mixer).  These libraries, in source
and binary form, may be obtained from
http://www.libsdl.org/ ... They are used
in this product under the terms of the
GNU Lesser General Public License (GNU
LGPL). The LGPL's text may be found at:

   http://www.gnu.org/licenses/lgpl.txt
 
=== Ogg Vorbis 

Candy Cruncher uses the Ogg Vorbis codec
for streaming audio from Xiphophorous,
licensed under the following terms:

"Copyright (c) 2001, Xiphophorus

Redistribution and use in source and
binary forms, with or without
modification, are permitted provided
that the following conditions are met:

- Redistributions of source code must
retain the above copyright notice, this
list of conditions and the following
disclaimer.

- Redistributions in binary form must
reproduce the above copyright notice,
this list of conditions and the
following disclaimer in the
documentation and/or other materials
provided with the distribution.

- Neither the name of the Xiphophorus
nor the names of its contributors may be
used to endorse or promote products
derived from this software without
specific prior written permission.

THIS SOFTWARE IS PROVIDED BY
THE COPYRIGHT HOLDERS AND
CONTRIBUTORS ``AS IS'' AND ANY
EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE
DISCLAIMED.  IN NO EVENT SHALL
THE REGENTS OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS;
OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY
WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH
DAMAGE."

*** VIII. VERSION HISTORY 

1.50

- MASSIVE changes!  More candies, a
  tutorial, new sound engine, faster
  performance, clear high scores,
  integrated demo/unlocked version, you
  name it!

1.42
- re-architected sound code so that we
  have our own audio mixer
- added dithering to the MacOS X surface
  routines
- fixed "last flash" on exit
- changed WinThreads to use CreateThread
  instead of _beginthread
- bumped up thread priority on audio
  thread

1.41
- put back in CPU usage niceness

1.40
- dirty rectangles implementation

1.35
- changed KC_A...KC_Z back to lower
  range
- added more verbose event printing
  capabilities

1.34
- more PG framework integration
- removed Dev/Framework from global
  include paths and added project
  relative paths to each project file
  (Win32)
1.33
- DEMO: fixed crash bug when hitting Tab
  in the "Fullscreen only" window
- DEMO: reduced length of demo wait if
  you haven't played at least 10 times
- DEMO: buy now buttons now take you
  directly to order forms

1.32
- added "Buy Now" button to exit screen
  of the demo

1.31
- fixed logic bug in the demo version,
  causing improper display of info
  screens
- integrated Linux version and did some
  directory moving

1.21
- fixed start level bonus bug.  If you
  chose a higher start level WITHOUT
  restarting your current game, you'd
  get the bonus for the next level you
  made.

1.20
- got rid of SWGS_PAUSED and replaced
  with proper pause variable
- revamped to use new PG infrastructure
- Win32: no longer specify
  DSBLOCK_ENTIREBUFFER when Lock()ing
  code, which was causing problems on
  NT4 and Win95
- combined LDA and Pyrogon EXEs, now
  differentiate via registry entries and
  assets
- re-implemented sound manager
- Win32: converted to
  WaitForSingleObject instead of polling
  a global in streaming audio code
- Win32: fixed "alt key stuck" problem
  when doing alt-enter to go to
  fullscreen
- Win32: check system registry for pause
  splash screen

1.17
- calling RestoreDisplayMode()
  explicitly when shutting down DD
- no longer draw Buy Now when paused for
  RA build

1.16
- cleaned up key handling support
- Win32 version now derives archive file
  from path name

1.15.RC3
- Mac version no longer draws custom
  cursor.  Should feel more responsive
  as a result.
- Mac version no longer prints console
  tracing
- cut and paste support

1.15.RC0
- you can now quit with Cmd-Q or Alt-f4
  when paused
- start level bonus is now printed

1.15.B00
- first Mac OS X version!
- removed "for Windows" bit from the
  exit screen
- fixed some Apple UI consistency bugs
  (e.g. not supporting Cmd-Q, Quit event
  from Dock)

1.12.xx (internal only)
- bonus for starting at later levels!
  (6/25K, 10/75K, 14/150K, 18/300K,
  22/500K)
- RA support
- automatically paused when losing
  focus, however no longer unpauses when
  focus is regained
- bounce sounds no longer overlap

1.11.B00 (internal only)
- when counting down time bonus,
  licorice no longer blinks
- converted all BMPs to 16-bit TGAs
- implemented HGDI2DDisplayDevice and
  blitter
- removed DirectDraw support
- streaming audio now implemented
  without notifications
- changed compiler detection
  conditionals
- event record/playback implemented
- reduced CPU utilization when paused
- removed splash screens for smaller
  download and faster startup times
- demand load some assets to speed up
  load times
- implemented Mac/Carbon version
- changed icon display behaviour
- removed a lot of state machine
  ugliness and replaced with modal
  dialog handlers
- added PGxxxx sub-framework for UI
  items
- frame rate counter added
- game over is shown before taking you
  to high scores
- options don't restart the game in full
  version
- minor aesthetic changes
- now says "fullscreen on/off" instead
  of "windowed/fullscreen"
- hardcoded clear color support

1.10.RC3
- DEMO ONLY: fixed several bugs related
  to the demo, specifically
	* game would pause (instead of
	  auto-unpausing) doing a
	  Restart
	* game could get in an infinite
	  loop with the "Full version
	  only" dialog boxes if you
	  clicked on multiple items
	  while the dialog box was
	  active.
- fixed up some of the control paths

1.10.RC2

- release candidate

1.10.x

*** ALL BUILDS ***

- bonus for remaining time when a level
  is completed!
- fixed privileges problem where we were
  creating keys in HKEY_LOCAL_MACHINE.
  This caused problems for users on NT,
  XP or Win2K who did not have
  privileges to modify those registry
  entries.  Adjusted now so that if we
  can't access HKLM we attempt to use
  HKEY_CURRENT_USER
- floater scores no longer inadvertently
  "linger"
- converted tile animations to JPEG
- converted most sound effects to Ogg
  Vorbis
- added animation for exploding black
  jellybean
- added sounds for candy cane
  introduction, black jellybean
  destruction, level up and one more to
  go
- new registry interface subsystem,
  including attempts to write to
  HKEY_CURRENT_USER when
  HKEY_LOCAL_MACHINE fails
- all options are now saved and reloaded
- sound plays when clicking on menu
  options
- new options dialog which now allows
  you to specify sound and music
  enabled/disabled separately; choice of
  starting level (full version only);
  alarm sound can be disabled; and you
  can now configure the arrow keys to
  "move space" or "move candy".
- restart button
- level entry in the high scores area
  expanded to 3 digits
- time for each level is now specified
  per level instead of globally
- added a loading progress bar
- fixed bug where if we failed to get a
  notification object the game would
  crash instead of just disabling music.
  This is only an issue on VERY old
  sound cards with VERY old drivers.
- added hint page about sliding the
  space and reduced time
- added distribution partner
  conditionals and assets
- made first two levels last MUCH longer
- (debug only) level warp now unbounded
- switched to external PYZ files

*** DEMO VERSION ***
- added a reverse progress bar for exit
  screen

*** FULL VERSION ***
- clicking on the game area will unpause
  a paused game
- choice of start level in options menu

1.05.4
- added commas to numbers

1.05.3
- fixed minor bug with keyboard handling
  after Game Over

1.05.2 (DEMO VERSION ONLY)
- fixed minor bug with pink "peek
  through" for "Maybe Later" icon

1.05.1
- fixed minor bug where hitting enter
  after the High Scores screen would
  cause the game to immediately start
  instead of taking the player to the
  info start screen
1.05
- first official release
- fixed show stopper bug where blank
  would disappear due to race condition
- "declick" the mouse when losing focus
  or going to fullscreen

1.04
- fixed bug with click/drag support
- added keyboard support

1.03
- minor aesthetic changes
- click/drag support!
- tweaking game balance

1.02
- fixed typos in some messages
- demo is now limited to playing 50
  times

1.01 
- added "floater" scores

1.00 
- first internal release candidate

