Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added contents of sdl_sopwith-1.7.1.tar.gz
- Loading branch information
0 parents
commit 9b7f85c
Showing
98 changed files
with
26,539 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
BMB Compuscience Canada | ||
David L. Clark | ||
Andrew Jenner | ||
Simon Howard <sdh300@ecs.soton.ac.uk> |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,155 @@ | ||
v1.7.1 | ||
|
||
Fix some compilation errors due to an error in swinit.c | ||
Fix networking which got broken somewhere. | ||
|
||
v1.7.0 | ||
|
||
Allow control via arrow keys, for people with "unusual" keyboard layouts | ||
Fix right-ctrl for ctrl-c (thanks to electricelf) | ||
Support Gtk+ 2.0 and some GNOME HiGification | ||
|
||
Psion Port: | ||
devfs support | ||
improved screen squishing for revo | ||
Code cleanup: | ||
Removed a load of redundant code including the last remnants of | ||
the old Imaginet code. Also some archaic stuff like the | ||
ATARI/IBMPC defines | ||
Some of the keyboard code moved out into a system-independent | ||
module. | ||
|
||
v1.6.0 | ||
|
||
Fixed bug with harry keys mode and returning to home from the left | ||
(thanks to Kodath duMatri) | ||
Fixed bullets being colored (instead of always white like they should be) | ||
Now totally under the GPL! | ||
|
||
v1.5.0 | ||
|
||
Removed old redundant collision detection code | ||
PsiLinux port: Keyboard code added, video code improved. This port is now | ||
playable! | ||
Fixed gtk+ port turning off key repeat | ||
Fixed SDL version drawing a blank screen on changing video modes | ||
Fixed consistency failure with flocks between clients with different screen | ||
widths | ||
renamed "getmode" to "getgamemode" to avoid conflicts with standard unix | ||
function (thanks to Edwin Groothuis) | ||
SDL Icon is now set from the internal sprite table, not from an external | ||
file (no more "icon.bmp not found" errors) | ||
Added manual page | ||
|
||
v1.4.0 (29/06/2002) | ||
|
||
Start of PsiLinux port (for Psion Revo/5MX) | ||
Collision detection code rewritten | ||
Save button added to settings dialog in Gtk+ version | ||
Added original documentation to doc/origdoc.txt | ||
Code restructure: All rendering is now done directly to the appropriate buffer, | ||
the old Atari rendering functions (which I thought were CGA | ||
functions) are no longer used as there are now native 8-bit | ||
versions. | ||
sopsym_t is used for storing sprites; ob->ob_symwdt/symhgt | ||
removed as they are no longer of any use | ||
|
||
v1.3.0 (??/11/2001) | ||
|
||
Gtk+ port! (work in progress, no sound yet but it is playable) | ||
Game no longer thrashes the CPU when waiting for keypresses or the next | ||
gametic. | ||
'S' key to toggle sound fixed | ||
Network connect now allows you to connect to a different port than the | ||
default (use host.domain.com:port) | ||
Network option to connect to a TCP loop (forwards between two sopwith | ||
clients using a third "man in the middle" server) | ||
Fixed "holes" in ground when using solid ground (the solid ground function | ||
was originally hacked from the line ground function, it is now practically | ||
rewriteen). | ||
Fixed out of sync netgames when starting a netgame after playing a | ||
single player game already. | ||
build now uses autoconf/automake | ||
Code cleanup: intson, intsoff calls removed, bmblib.[ch] removed from build | ||
Build process changed: SDL code moved into a seperate | ||
subdirectory, Gtk+ code is in another directory. All the | ||
game code is compiled into a single module "sopwith.o" and | ||
this is linked with the appropriate modules for Sound, | ||
Graphics and Timer. This allows multiple ports for Gtk+, SDL | ||
etc, while keeping the game itself seperate from the display | ||
specific code. | ||
Added a 'dos' subdirectory with relevant code for if/when | ||
I do a DOS port. | ||
|
||
v1.2.0 (4/11/2001) | ||
|
||
Added options menu, game options are saved to disk (sopwith.ini on | ||
Windows systems, ~/.sopwithrc on Unix). Game options: | ||
* enable/disable missiles | ||
* solid ground (draw as a block like sopwith 1) | ||
* hud splats (option to disable) | ||
* wounded planes (option to disable) | ||
* animals (oxen and birds) | ||
* harry keys (pull up/down keys are relative to screen, not plane) | ||
* fullscreen/double scale video options | ||
(these were available before but required command line args) | ||
More sensible versioning system | ||
When you die, you are taken back to the menu rather than immediately | ||
restarting. | ||
Splatted oxen turn the screen pink (as in Authors Edition) | ||
Icon | ||
Code cleanup: lots of reordering of the initial setup and restart code | ||
Menu code is now all in swtitle.c (except the options menu which is in | ||
swconf.c) | ||
|
||
v1.10 (2x/10/2001) | ||
|
||
Networking! I have hacked in TCP/IP Networking based on the old asyncronous | ||
multiplayer option code. There is a new option on the main menu "Network" | ||
through which network games can be started. | ||
Fixed use of auxdisp which was why the score was not displayed and was | ||
also why the map was not being properly refreshed. | ||
Fixed command line args and updated help screen | ||
Title screen based on the "network edition" title screen. | ||
Extra command line args: | ||
-f (fullscreen) | ||
-2 (double size window for easier viewing) | ||
-l (network mode, listen for connection) | ||
-j (network mode, connect to host) | ||
Sopwith now quits if you hit ctrl-c, not escape, like in the original. | ||
However, for lazy people not wanting to wait while their plane crashes | ||
and the game exits, if you hit ctrl-c 3 times it quits immediately. | ||
Hitting escape in menus now takes you back to the previous menu. | ||
|
||
Major code cleanup - this is the main difference. I have created headers | ||
for all the source modules so that it is no longer neccesary to include | ||
millions of "extern" definitions in every file (which is tedious, ugly | ||
and prone to bugs). I have also reformatted all the code so that it looks | ||
nicer, and removed some obfuscations so that the code is more readable | ||
in places. | ||
CVS Tags have been added to all source files for if/when I put this into | ||
CVS. | ||
Various extra code hacks: sopwith1 theme music (was different music in | ||
sopwith 1, I extracted the music sequence from the hexdump), | ||
solid ground (also ala sopwith1) | ||
|
||
v1.00 (15/10/2001) | ||
|
||
Video and Sound is all working (afaik) | ||
ASM removed/replaced. | ||
Internally it draws everything as if it were still using a CGA screen, | ||
I have written some SDL code that "emulates" a CGA screen and draws | ||
it to an SDL screen. | ||
Sound is done in a similar way: The digital output in LibSDL is used to | ||
make the appropriately-pitched beepings to sound like a PC Speaker :) | ||
The API to the PC Speaker code is identical to those of a small | ||
library I wrote a while back to control the PC Speaker in DJGPP, this | ||
is incase I want to do a DOS port. | ||
Moved all of Andrew Jenners decompiled code into amj/, I do not use this | ||
directly but it is useful in deciphering some ASM functions. | ||
attic/ has all the asm source and other source files that are redundant | ||
now. | ||
doc/ has all the documentation that came with the source | ||
current bugs: crashing into an ox doesnt turn your screen pink, | ||
map/status bar dont refresh properly (?? score not displayed) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
SDL Sopwith FAQ | ||
=============== | ||
|
||
Q. What is this? What is sopwith? | ||
A. Sopwith is a classic scrolling shoot 'em up developed in the early | ||
1980s by the Canadian firm BMB Compuscience. In 2000, Dave L Clark, | ||
the main programmer behind Sopwith, released the source code to | ||
Sopwith. This is an updated version based on his released sources. | ||
It is named SDL Sopwith as it makes use of the LibSDL multimedia | ||
library to access the screen and the sound device. | ||
|
||
Q. How well does it work? | ||
A. As far as I know, SDL Sopwith should play just like the original. | ||
|
||
Q. This is different to the original sopwith! | ||
A. SDL Sopwith is based on the source to an enhanced "Authors Edition" | ||
release that the Author, Dave Clark, made. As a result, there may | ||
be some differences between SDL Sopwith and the widely distributed | ||
Sopwith/Sopwith 2 binaries that you probably played. | ||
|
||
Differences between Sopwith 1 and Sopwith 2: | ||
|
||
* Single line for the ground (Sopwith 1 had solid ground) | ||
* Extra objects: oxes, flocks of birds | ||
* Enhanced AI | ||
* Game speed not dependent on processor speed (can run on faster | ||
processors) | ||
* Different musical theme and sound is enabled by default | ||
* Option for "2 players over an asyncronous line" | ||
|
||
Differences between Sopwith 2 and the Authors Edition: | ||
|
||
* Heat Seeking Missiles(!) (enabled with -x, extra bars on status bar | ||
for missiles and flares) | ||
* Wounded planes | ||
* Splatted birds and cracks in the screen if you hit a bird or get | ||
shot. If you fly into an ox your screen goes pink. | ||
|
||
Q. Why is it called "SDL Sopwith" when there is now a Gtk+ port? | ||
A. I originally designed it to use only SDL, but out of interest/ | ||
boredom I decided to do a Gtk+ port. Suggestions for new names | ||
are welcome :) | ||
|
||
Q. Does it have sound? | ||
A. Yes! Sound is done through an emulation of the PC Speaker using the | ||
digital output available on modern sound cards. | ||
|
||
Q. Does it have network support? | ||
A. Yes! Classic sopwith had support for network as well, but it used a | ||
proprietory networking system (which sopwith was made to demonstrate). | ||
Sopwith 2 also had support for "2 players over an asyncronous line", | ||
presumably for playing over a serial cable, although this did not | ||
seem to work either. I have replaced the serial code with code to use | ||
TCP/IP. This means that you can play 2 player SDL Sopwith over a | ||
LAN with TCP/IP or even over the Internet. | ||
|
||
Q. What is a 'TCP Loop'? | ||
A. In the ordinary networking mode, one client sets up in listen mode | ||
and waits for the other client to connect. When it connects, the | ||
game begins. However, this can be a problem if both clients are behind | ||
firewalls which block incoming connections. A TCP Loop is a simple | ||
server that relays data between all the clients connected to it. If | ||
you are both behind firewalls you can connect to a loop running on a | ||
third machine that acts as a relay. | ||
|
||
There is code for a simple loop on my site in the 'tools' directory: | ||
http://fraggle.alkali.org/tools/loop.c | ||
|
||
Q. What platforms does it run on? | ||
A. I have only compiled it on Windows and Linux. However, as it uses | ||
LibSDL for Video and Sound, it should compile "out of the box" on any | ||
platform supported by SDL. Other platforms supported by SDL include | ||
BeOS, MacOS, QNX and various other Unix flavours. | ||
|
||
I use the GNU Compiler Collection (gcc) for compiling both in Linux | ||
and in Windows (cygwin). I have not tried compiling in other | ||
compilers such as MSVC. | ||
|
||
If you have any success compiling/running SDL on other platforms or | ||
compilers, please let me know! | ||
|
||
Q. What is SDL? | ||
A. LibSDL is a multimedia library designed for portability. Instead of | ||
coding for a particular platform (such as windows, linux etc), you | ||
use the SDL interface. Your program can then run many different | ||
platforms with only minor changes. There is more information at | ||
http://www.libsdl.org/ | ||
|
||
Q. What is Gtk+? | ||
A. Gtk+ is a C GUI toolkit originally designed for The GIMP, an open | ||
source graphics program. It is now being used as the base for | ||
GNOME, an open source desktop environment, as well as many other | ||
projects. There is more information at http://www.gtk.org/ | ||
|
||
Q. Will you make a DOS port? | ||
A. Possibly. | ||
|
||
Q. What license is this released under? | ||
A. The original sopwith source code (as released by David L. Clark) was | ||
under a restrictive license, but is now totally under the GNU GPL! | ||
|
Oops, something went wrong.