Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: a670e10aea
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 156 lines (135 sloc) 6.452 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 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)

Something went wrong with that request. Please try again.