GAMECUBE SOPWITH (aka SDL Sopwith for Gamecube)
-----------------------------------------------
by Ben Larson - benjamin_e_larson@yahoo.com
Build 8-23-2008

Description
-----------
This is a port of SDL Sopwith 1.7.1 by Simon Howard for the Nintendo Gamecube.
SDL Sopwith, in turn, is a port/rewrite of the original Sopwith 2: Author's
Edition which was written by David L. Clark.

I decided to work on this port for a couple reasons: A) I was bored,
B) I wanted to do some Gamecube development, but most importantly C) I like
Sopwith and thought it would be cool to be able to play it on a console in
the comfort of my living room, instead of sitting at a computer desk.

Of course since this is sort of a beta version, based on a beta Gamecube SDL
library, there's no sound, no network play, and no ability to save settings
to the SD card...but the game itself plays fine as far as I know.

History
-------
The first time I played Sopwith must have been around 1988-89 or so.  Back
then, before the Internet, you could purchase shareware games on floppy disks
at a lot of places, and that's how I came across Sopwith.  My parents'
computer at the time only had a Hercules graphics card, but fortunately I had
a TSR (terminate-and-stay-resident) CGA emulator, which was pretty much a
godsend for gaming purposes.  This enabled me to play Sopwith in full amber
monochrome glory. :)  That was the beginning of many happy sessions of blasting
enemy fighters out of the sky, destroying factories, and inadvertently bombing
hapless cows (or oxen...whatever they are).

Alas those days of MS-DOS, games on floppy disks, and 640K memory barriers are
long gone...but Sopwith lives on in it's CGA glory...

Changes from SDL Sopwith
------------------------
Other than the obvious changes to get the game actually working on a Gamecube
and working with a Gamecube controller, I added a credits screen, as well as a
much needed pause feature that SDL Sopwith was lacking.

Usage
-----
This distribution contains both .DOL and .ELF files so that you can play on
either a Gamecube or a Wii.  I haven't actually tested it on a Wii but I 
think it should work fine (as long as you have a Gamecube controller).  For
either system you'll need to be familiar with the processes involved to load
homebrews - for example, the Action Replay and SDLoad technique for Gamecube,
the Twilight hack for Wii, etc.

Controls
--------
The in-game controls are as follows:

Left Analog left  -      Pull up
Left Analog right -      Pull down
D-Pad or C-Stick left -  Decelerate
D-Pad or C-Stick right - Accelerate
L -                      Fly home
R -                      Flip plane
A -                      Machine gun
B -                      Bomb
Y -                      Missile
X -                      Flare
Start -                  Pause game

Note that when you accelerate you have to press more than once to get up
to full speed, i.e. you can't just hold the D-pad or C-stick.

Building
--------
If you are so intrepid as to attempt to build Gamecube Sopwith you will need
a couple things:

* a GCC environment set up
* the devkitPro environment set up, along with devkitPPC
* the devkitPro libogc library
* Peter Mackay's Gamecube SDL port, which is in the devkitPro CVS repository
  (it's the folder called 'SDL-Port').  This is pretty easy to build...IF you
  remember to replace the SDL_config.h file located in the include directory
  with the SDL_config_gamecube.h header file first...otherwise you'll end up
  with a non-gamecube version of the SDL library which will give you a bunch
  of undefined symbols when you try to link Gamecube Sopwith.  Also you'll
  want to use 'Makefile.gamecube' instead of the default makefile when
  building this.
  
Assuming your devkitPro environment variables are set up right, and that the 
SDL Port is located off of the main devkitPro directory, and that you built
the SDL Gamecube library successfully, you would then build Gamecube Sopwith
by going to the 'sopwith-gc/sdl' directory, typing 'make', then going to the
main 'sopwith-gc' directory and typing 'make' again.  The .DOL and .ELF output
files should be sitting in the 'sopwith-gc' directory if everything built
correctly.

TO DO:
------
The most immediate improvement would be to add sound.  Unfortunately I don't
think the Gamecube SDL Library has sound capability implemented yet, so it
might be a while before that gets done.  The next priority is probably
network play, although I'm not sure how useful that would be on the Gamecube
considering the fact that hardly anyone has a Gamecube ethernet adapter.  A
Wii version with wireless network capability would definitely be cool though.
Except that I don't own a Wii... :(
