Skip to content

Commit

Permalink
Create final repository structure.
Browse files Browse the repository at this point in the history
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@362 4a71c877-e1ca-e34f-864e-861f7616d084
  • Loading branch information
No Author committed Jun 28, 2007
1 parent d17e78a commit 5ba7dda
Show file tree
Hide file tree
Showing 3,210 changed files with 481,085 additions and 0 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
17 changes: 17 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
Original game developed by Pumpkin Studios, and published by EIDOS Interactive.

The GPL project team, in alphabetical order :

Roman C.
Denis Dupeyron
Mike Gilmore
Marcus Hast
Adam Holland
Kevin Malec
Per I Mathisen
Dion Mendel
Kim Metcalfe
Christian Ohm
Victor Qamly
Ben Russon
Rodolphe Suescun
41 changes: 41 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
0.2.1 - 20050716
* .net bug fixes.
* Music sample rate fix.
* New: Shuffle mode for playlists.
* Fixed tile-related crash.
* Removed useless culling code.
* Moved MatScale function into the ivis lib.
* Configure fix: OpenAL is required, not optional.
* More code cleanup.
* gcc4 fixes (thanks to Matze Braun).
* Fixed problem with power plant effect.
* Now use rand() for shuffle mode in playlist on all platforms.
* Fixed sound-related crash on exit.
* Fixed crash when saving without any available sound device.
* Fixed a division by zero.
* Made the banner ad only display on pause, since having it on all the time is
really annoying.
* --enable-debug removed from configuration options for the time being.
* Changed playlist syntax. Replaced '[track1]' and '[track2]' with less cryptic
'[game]' and '[menu]' tags.
* Removed some no-more-needed verbosity during playlist parsing.
* Reverted to wdg data file format, which re-enabled technology levels 2 and
3, plus more maps.
* More sample musics from Neos in order to demo the new shuffle mode.
* Cleaned-up (kinda...) JPEG backdrops used for backgrounds in OpenGL.

0.2 - 20050625
* Code cleanups and minor bug corrections.
* Correction of a bug that prevented network games between Windows and Linux
machines. Windows-only or Linux-only network games were unaffected.
* Music support added. See README.
* Merge of source and data tarballs.
* Video sequences removed (they can't be used anyway).
* "Thump-thump" of the oil-pumps toned down a bit.
* COPYING (oops !), README, CHANGELOG and AUTHORS added to base directory.

0.1 - Initial release
* Based on the code liberated on December 6th, 2004.
* Proprietary technologies replaced by SDL, OpenGL and OpenAL.
* Network implemented using SDL-net.
* Zoom enhancements (increased range and control using the mouse wheel).
340 changes: 340 additions & 0 deletions COPYING

Large diffs are not rendered by default.

15 changes: 15 additions & 0 deletions Makefile.am
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
if MAKE_DATA
DSUBDIRS = data
else
DSUBDIRS =
endif

SUBDIRS = $(DSUBDIRS) lib src

EXTRA_DIST= \
autogen.sh \
configure.ac \
m4/ogg.m4 \
m4/sdl.m4 \
m4/sdl_net.m4 \
m4/vorbis.m4
5 changes: 5 additions & 0 deletions Makefile.raw
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
SUBDIRS=lib src

all clean dep:
@for i in $(SUBDIRS); do (cd $$i; $(MAKE) -f Makefile.raw $@); done

106 changes: 106 additions & 0 deletions README
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
Warzone 2100 ReDev


0) Welcome back !

Warzone 2100 was an innovative 3D real-time strategy game back in 1999, and most
will agree it didn't enjoy the commercial success it should have had. The game's
source code was liberated on December 6th, 2004, under a GPL license (see
COPYING in this directory for details). Soon after that, the Warzone 2100 ReDev
project was formed to take care of its future.

Our goal is to make warzone run on all possible platforms. Therefore, we
stripped the original code of all proprietary technologies and replaced them
with cross-platform and free equivalents, like OpenGL, OpenAL, etc... Right
now, Warzone 2100 works very well on Windows and GNU/Linux, and we have even
heard of it running on BSD with no particular issue.

What you get here is the early product of our collective work. We're not pros,
we just like the game, so bear with us, and feel free to join us if you think
you can do better. We can be found at :
http://www.realtimestrategies.net/forums/index.php
You'll have most chances to find us in the development section.


1) Command-line options.

Once the game is installed (see INSTALL in this directory), you can run it by
changing to its directory and typing './warzone'. Here's a few of the most
common command line options :
-fullscreen : runs in a full-screen window
-window : runs in a window
-WIDTHxHEIGHT : runs at WIDTH times HEIGHT resolution, replace WIDTH
and HEIGHT with your dimensions of choice. Beware, though,
as it needs to be a resolution supported by your X server.

Note that you do need to type the dash in front of the option, like this :
./warzone -fullscreen -1280x960
(this is my prefered mode).

The fullscreen/window modes and the resolution are stored, so they only need to
be specified once, or when you want to change them. So,
./warzone
will start in fullscreen and in 1280x960 because this is what I specified just
before (remember ?).

For more groovy command-line options, check src/clparse.c (yes, we promise we'll
document this properly some day).

If you are on Linux and using X11, you can dynamically switch between windowed
mode and fullscreen using ALT+ENTER at any time.


2) Configuration

When you start Warzone 2100 for the first time, a '.warzone2100' directory
is created in your home directory. A certain number of files are also created in
it, the most important being the one called 'config'. In case you are upgrading
from a previous version and experience problems, try and remove this
'~/.warzone2100/config' file.


3) Music

As the original game music is part of the data that was not liberated, we are
reintroducing music, but in a different way. We use a playlist system that can
point to any ogg or mp3 file in you filesystem. This is still experimental, and
we are gradually making this more useable.

The following playlists are read, in this order, and only the first playlist
found is used :
- ~/.warzone2100/music/music.wpl
- <whereverwarzoneisinstalled>/music/music.wpl

Playlist example :

--------------------------------------------------------------------------------
[game]
path=.
shuffle=yes
neos_aurore.ogg
neos_chocolat.ogg
neos_down.ogg
neos_esperance.ogg
neos_indy.ogg

[menu]
path=.
neos_symphonie_du_vide.ogg
--------------------------------------------------------------------------------

In this example, there are 6 songs played in random order while playing a game,
and one song only when going around in the menu.

"shuffle=yes" specifies you want the songs for a given category (game or menu)
to be played in random order. If you want it for both categories, you need to
specify it in both of them.

"path" can be anything you wish. If it's ".", the path is the directory where
the playlist is found. If no path is set, all filenames must be given with
absolute path. All filenames must be lowercase.

ogg and mp3 files are supported (provided all necessary libs are installed).



The Warzone 2100 ReDev team.
144 changes: 144 additions & 0 deletions autogen.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
#!/bin/sh
# Run this to generate all the initial makefiles, etc.

# This is a kludge to make Gentoo behave and select the
# correct version of automake to use.
WANT_AUTOMAKE=1.8
export WANT_AUTOMAKE

DIE=0
SRCDIR=`dirname $0`
BUILDDIR=`pwd`
srcfile=src/action.c

debug ()
# print out a debug message if DEBUG is a defined variable
{
if [ ! -z "$DEBUG" ]; then
echo "DEBUG: $1"
fi
}

version_check ()
# check the version of a package
# first argument : complain ('1') or not ('0')
# second argument : package name (executable)
# third argument : source download url
# rest of arguments : major, minor, micro version
{
COMPLAIN=$1
PACKAGE=$2
URL=$3
MAJOR=$4
MINOR=$5
MICRO=$6

WRONG=

debug "major $MAJOR minor $MINOR micro $MICRO"
VERSION=$MAJOR
if [ ! -z "$MINOR" ]; then VERSION=$VERSION.$MINOR; else MINOR=0; fi
if [ ! -z "$MICRO" ]; then VERSION=$VERSION.$MICRO; else MICRO=0; fi

debug "version $VERSION"
echo "+ checking for $PACKAGE >= $VERSION ... " | tr -d '\n'

($PACKAGE --version) < /dev/null > /dev/null 2>&1 ||
{
echo
echo "You must have $PACKAGE installed to compile $package."
echo "Download the appropriate package for your distribution,"
echo "or get the source tarball at $URL"
return 1
}
# the following line is carefully crafted sed magic
pkg_version=`$PACKAGE --version|head -n 1|sed 's/([^)]*)//g;s/^[a-zA-Z\.\ \-]*//;s/ .*$//'`
debug "pkg_version $pkg_version"
pkg_major=`echo $pkg_version | cut -d. -f1`
pkg_minor=`echo $pkg_version | sed s/[-,a-z,A-Z].*// | cut -d. -f2`
pkg_micro=`echo $pkg_version | sed s/[-,a-z,A-Z].*// | cut -d. -f3`
[ -z "$pkg_minor" ] && pkg_minor=0
[ -z "$pkg_micro" ] && pkg_micro=0

debug "found major $pkg_major minor $pkg_minor micro $pkg_micro"

#start checking the version
if [ "$pkg_major" -lt "$MAJOR" ]; then
WRONG=1
elif [ "$pkg_major" -eq "$MAJOR" ]; then
if [ "$pkg_minor" -lt "$MINOR" ]; then
WRONG=1
elif [ "$pkg_minor" -eq "$MINOR" -a "$pkg_micro" -lt "$MICRO" ]; then
WRONG=1
fi
fi

if [ ! -z "$WRONG" ]; then
echo "found $pkg_version, not ok !"
if [ "$COMPLAIN" -eq "1" ]; then
echo
echo "You must have $PACKAGE $VERSION or greater to compile $package."
echo "Get the latest version from <$URL>."
echo
fi
return 1
else
echo "found $pkg_version, ok."
fi
}

version_check 1 "autoconf" "ftp://ftp.gnu.org/pub/gnu/autoconf/" 2 56 || DIE=1
version_check 1 "automake" "ftp://ftp.gnu.org/pub/gnu/automake/" 1 6 || DIE=1
if [ "$DIE" -eq 1 ]; then
exit 1
fi


# Chdir to the srcdir, then run auto* tools.
cd $SRCDIR

[ -f $srcfile ] || {
echo "Are you sure $SRCDIR is a valid source directory?"
exit 1
}

echo "+ creating acinclude.m4"
cat m4/*.m4 > acinclude.m4

echo "+ running aclocal ..."
aclocal $ACLOCAL_FLAGS || {
echo
echo "aclocal failed - check that all needed development files are present on system"
exit 1
}
echo "+ running autoheader ... "
autoheader || {
echo
echo "autoheader failed"
exit 1
}
echo "+ running autoconf ... "
autoconf || {
echo
echo "autoconf failed"
exit 1
}
echo "+ running automake ... "
automake -a -c --foreign || {
echo
echo "automake failed"
exit 1
}

# Chdir back to the builddir before the configure step.
cd $BUILDDIR

# now remove the cache, because it can be considered dangerous in this case
echo "+ removing config.cache ... "
rm -f config.cache

echo
echo "Now type './configure && make' to compile."

exit 0

Loading

0 comments on commit 5ba7dda

Please sign in to comment.