My changes to an awesome classic Linux game

Lubomir Rintel 83d29a2332 Get rid of unused variables if building with both MOUSE and JOYSTICK 10 years ago
historic 15828dc231 Import koules1.4-src.tar.gz 10 years ago
os2dive 15828dc231 Import koules1.4-src.tar.gz 10 years ago
sounds 15828dc231 Import koules1.4-src.tar.gz 10 years ago
svgalib 149ce47b01 io.h no longer needed 10 years ago
util 117bb14fd7 Remove relics 10 years ago
xlib 86e7f46b25 Avoid warnings about unused labels 10 years ago
.depend 15828dc231 Import koules1.4-src.tar.gz 10 years ago
.gitignore 6fd5973d5b gitignore 10 years ago
ANNOUNCE 15828dc231 Import koules1.4-src.tar.gz 10 years ago
BUGS 15828dc231 Import koules1.4-src.tar.gz 10 years ago
COMPILE.OS2 15828dc231 Import koules1.4-src.tar.gz 10 years ago
COPYING 15828dc231 Import koules1.4-src.tar.gz 10 years ago
Card 15828dc231 Import koules1.4-src.tar.gz 10 years ago
ChangeLog 15828dc231 Import koules1.4-src.tar.gz 10 years ago
ChangeLog.OS2 15828dc231 Import koules1.4-src.tar.gz 10 years ago
INSTALLATION 15828dc231 Import koules1.4-src.tar.gz 10 years ago
Icon.xpm 15828dc231 Import koules1.4-src.tar.gz 10 years ago
Icon2.xpm 15828dc231 Import koules1.4-src.tar.gz 10 years ago
Iconfig e159f23dda From Debian: 050_defines.diff 10 years ago
Imakefile 59663761cb Install to relative location and look for the sound server in the right place 10 years ago
Koules.FAQ 15828dc231 Import koules1.4-src.tar.gz 10 years ago
Koules.xpm 15828dc231 Import koules1.4-src.tar.gz 10 years ago
Makefile.hpux 15828dc231 Import koules1.4-src.tar.gz 10 years ago
Makefile.os2 15828dc231 Import koules1.4-src.tar.gz 10 years ago
Makefile.svgalib 15828dc231 Import koules1.4-src.tar.gz 10 years ago
Problems 15828dc231 Import koules1.4-src.tar.gz 10 years ago
README 15828dc231 Import koules1.4-src.tar.gz 10 years ago
TODO 15828dc231 Import koules1.4-src.tar.gz 10 years ago
client.c 15828dc231 Import koules1.4-src.tar.gz 10 years ago
client.h 15828dc231 Import koules1.4-src.tar.gz 10 years ago
cmap-x11.c 15828dc231 Import koules1.4-src.tar.gz 10 years ago
cmap.c 15828dc231 Import koules1.4-src.tar.gz 10 years ago
copyright.h 15828dc231 Import koules1.4-src.tar.gz 10 years ago
font.c 2cf89e93be Set TABSIZE globally 10 years ago
font.h 15828dc231 Import koules1.4-src.tar.gz 10 years ago
framebuffer.c 70636465d0 Fix background color calculation 10 years ago
framebuffer.h 15828dc231 Import koules1.4-src.tar.gz 10 years ago
gameplan.c 15828dc231 Import koules1.4-src.tar.gz 10 years ago
intro.c 15828dc231 Import koules1.4-src.tar.gz 10 years ago
joystick.h 15828dc231 Import koules1.4-src.tar.gz 10 years ago
koules-bin.lsm 15828dc231 Import koules1.4-src.tar.gz 10 years ago
koules-src.lsm 15828dc231 Import koules1.4-src.tar.gz 10 years ago
koules.c 15828dc231 Import koules1.4-src.tar.gz 10 years ago
koules.h 024fc2a18e Fix rocketcolor signedness 10 years ago
koules.sndsrv.freebsd.c 15828dc231 Import koules1.4-src.tar.gz 10 years ago
koules.sndsrv.hp.c 15828dc231 Import koules1.4-src.tar.gz 10 years ago
koules.sndsrv.linux.c 533c2e9de0 Fix pointer target signedness 10 years ago
koules.sndsrv.sgi.c 15828dc231 Import koules1.4-src.tar.gz 10 years ago
koules.sndsrv.sun.c 15828dc231 Import koules1.4-src.tar.gz 10 years ago
koules.svga.6 15828dc231 Import koules1.4-src.tar.gz 10 years ago
koules.tcl 15828dc231 Import koules1.4-src.tar.gz 10 years ago
linux_pcsp.h 15828dc231 Import koules1.4-src.tar.gz 10 years ago
menu.c 86e7f46b25 Avoid warnings about unused labels 10 years ago
myauconvert 15828dc231 Import koules1.4-src.tar.gz 10 years ago
mygetopt.c 15828dc231 Import koules1.4-src.tar.gz 10 years ago
mygetopt.h 15828dc231 Import koules1.4-src.tar.gz 10 years ago
nas_sound.c 1ee3523414 Fix a buffer overflow 10 years ago
net.h 15828dc231 Import koules1.4-src.tar.gz 10 years ago
objectsio.c 15828dc231 Import koules1.4-src.tar.gz 10 years ago
rcfiles.c 83d29a2332 Get rid of unused variables if building with both MOUSE and JOYSTICK 10 years ago
rsound.c 15828dc231 Import koules1.4-src.tar.gz 10 years ago
server.c 15828dc231 Import koules1.4-src.tar.gz 10 years ago
server.h 15828dc231 Import koules1.4-src.tar.gz 10 years ago
sock.c f908c8fc7a Fix socket types 10 years ago
sock.h 15828dc231 Import koules1.4-src.tar.gz 10 years ago
sound.c 15828dc231 Import koules1.4-src.tar.gz 10 years ago
sound.h 15828dc231 Import koules1.4-src.tar.gz 10 years ago
soundos2.c 1ee3523414 Fix a buffer overflow 10 years ago
text.h 1acdf6f0a8 Spelling fixes from Debian. 10 years ago
xkoules.6 15828dc231 Import koules1.4-src.tar.gz 10 years ago

README

// // /// // // // ///// ///
. // // // // // // // // //
. //// // // // // // //// ///
// // // // // // // // //
// // //// //// ///// ///// ///
* .
v1.4
by . .
.

// /// // // // // ///////////////////////
. // // // // // // // //
// // ///// ///// // // // /// ///// /////
* /// // // // // //// // // // // //
// // // //// // .
////////////////////////// /// // //

. . THIS PROGRAM IS FREEWARE .
*
^ .
. / \ * .
. . / \
* . / \ . .
. * / \
. / \ .
. / \
. / \ .
* . / CREDITS \ * .
/ --------- \ . * .
/ \
Sounds by Jan Hubicka . .
. Graphics by Jan Hubicka
and Kamil Toman
. * Programming by Jan Hubicka
Joystick support by Ludvik Tesar
. HP-UX sound by Lutz Vieweg
OS/2 version by Thomas A. K. Kjaer .
* Story by Kamil Toman and Jan Hubicka
* Script by Kamil Toman and Jan Hubicka .
English Spelling checked by Thomas Marsh
SGI sound and creator effect by Rick Sayre .
Sound servers by Joe Rumsey and S. M. Patel
/ \
. / INTRODUCTION: \
/ --------------- \
* Koules is a fast action arcade-style game for UNIX and
OS/2. This version supports X window system, SVGAlib for
Linux and OS/2. It works in fine resolution. (up to
900x620) with cool 256 color graphics, multi-player mode up
to 5 players, full sound and, of course, network support.
Koules is an original idea. The first version of Koules was
/ developed from scratch by Jan Hubicka in July 1995. \
. / \
/ REQUIREMENTS: \
/ --------------- \
It runs well on computers which can be marked as faster than a 386DX/40
with math coprocessor (320x200 resolution) or 486DX2/50 (640x480 resolution).


HOMEPAGE:
---------
http://www.paru.cas.cz/~hubicka/koules/English/koules.html

INSTALL:
--------

In order to install Koules 1.4 you must do the following:
(If you encounter any problems read `Problems' and `Koules.FAQ')

For X11:
========

Edit the Iconfig for your computer and type:
xmkmf -a
make
make install

For SVGAlib:
============

You MUST be 'root' to install the game.
Edit the Makefile.svgalib for your computer and type:
make -f Makefile.svgalib
make -f Makefile.svgalib install

For HP-UX wo imake:
===================

Edit the Makefile.hpux for your computer and type:
make -f Makefile.hpux
make -f Makefile.hpux install

For OS/2:
=========

Who cares?! :)

Widows 95*:
============

Heavens no Koules ...

*Widows 95 is a shitmark of Macro$oft

USAGE:
------
xkoules [-SxslMmpdh]
-h for help
-s for small display(320x250)
for slow machines
-l for large display(640x480)
default size
-E extra large display size (900x620)
-m for monochrome mode
-b for black and white mode
-p use private colormap
use only if 'Could not allocate colormap' error is reported
-y Synchronize with X
use only for debugging
-f Disable palette fading
-d Disable sound support
Game will run faster.
-x Disable X11 pointer
Use the game's own cursor when standard X11's cursor is blinking
-M DISABLE shared memory support
Slow down the game. Use only if shared memory support crashes.

koules.svga [-slMmdh]
-h for help
-s for small display(320x200)
for worse machines
-l for large display(640x480)
default size
-M disable mouse support
avoid gpm/selection conflict
-d Disable sound support
Game will run faster.


Network options(common for both versions)
-C run koules as network client
-S run koules as network server
-P select port. Default is:12345
Use this in case that some other program is already using this port.

Server options:
-W run server in width mode-support for 320x200 svgalib and OS/2 clients.
Use this in case that server is refusing your clients.
-L select level for server
-D select dificulty for server:
0: nightmare
1: hard
2: medium(default and really, really recomended)
3: easy
4: very easy
-K run server in deathmatch mode
-E extra large display size (900x620)

MENU SYSTEM:

look at this simple hypertext diagram to understand them:

/----------------+
START GAME (---+ +--+ |
X PLAYER ---)--^------+ | +-------------+
CONTROL----/ | | |
GAME MODE------^---------^-----------------^------------------------------+
DIFFICULTY-----^---------^-----------------^----------------------------+ |
SOUND ON/OFF---^---------^-----------------^---------------------------+| |
QUIT-----------^---------^-----------------^--------------------------+|| |
| | | ||| |
+--------------+ | | ||| |
| +--------------+ | ||| |
+----Start game (The fun is begins) | | ||| |
| | ||| |
+---------------------------------------+stip to (1) (1)||| |
| | ||| |
+----Select number of players (up to 5 player are possible) !!!!! | ||| |
| ||| |
+-------------------------------------------------------------------+ ||| |
| ||| |
PLAYER 1:(CONTROL MODE)------+ ||| |
(CONTROL OPTIONS)------------^---+ ||| |
PLAYER 2:(CONTROL MODE)------+ | ||| |
(CONTROL OPTIONS)------------^---+----------------------------------+ ||| |
PLAYER 3:(CONTROL MODE)------+ | | ||| |
(CONTROL OPTIONS)------------^---+ | ||| |
| | | | ||| |
v | \ | ||| |
PLAYER 5:(CONTROL MODE)------+-----)---+ | ||| |
(CONTROL OPTIONS)-----------------/ | | ||| |
| | ||| |
+--------------------------------------+ | ||| |
| | ||| |
Possible selections: | ||| |
KEYBOARD---------------------------------------------------------+ | ||| |
ROTATION KEYBOARD----------------------------------------------+ | | ||| |
MOUSE--------------------------------------------------------+ | | | ||| |
JOYSTICK A button *----------------------------------------+ | | | | ||| |
JOYSTICK B button *--------------------------------------+ | | | | | ||| |
JOYSTICK A deflection *--------------------------------+ | | | | | | ||| |
JOYSTICK B deflection *------------------------------+ | | | | | | | ||| |
| | | | | | | | ||| |
*)available only when JOYSTICK support enabled | | | | | | | | ||| |
+----------------------------------------------------+ | | | | | | | ||| |
| | | | | | | | ||| |
use second Joystick to control player. | | | | | | | ||| |
use deflection of stick to control | | | | | | | ||| |
both direction and acceleration | | | | | | | ||| |
see also JOYSTICK SUPPORT,CONTROL OPTIONS | | | | | | | ||| |
+------------------------------------------------------+ | | | | | | ||| |
| | | | | | | ||| |
use first Joystick to control player. | | | | | | ||| |
use deflection of stick to control | | | | | | ||| |
both direction and acceleration | | | | | | ||| |
see also JOYSTICK SUPPORT,CONTROL OPTIONS | | | | | | ||| |
+--------------------------------------------------------+ | | | | | ||| |
| | | | | | ||| |
use second Joystick to control player. | | | | | ||| |
use deflection of stick to control direction | | | | | ||| |
use joystick button to accelerate | | | | | ||| |
see also JOYSTICK SUPPORT,CONTROL OPTIONS | | | | | ||| |
+----------------------------------------------------------+ | | | | ||| |
| | | | | ||| |
use first Joystick to control player. | | | | ||| |
use deflection of stick to control direction | | | | ||| |
use joystick button to accelerate | | | | ||| |
see also JOYSTICK SUPPORT,CONTROL MODE | | | | ||| |
+------------------------------------------------------------+ | | | ||| |
| | | | ||| |
use mouse to control player. | | | ||| |
use pointer to rotate and button to accelerate | | | ||| |
mouse must be configured in | | | ||| |
usr/local/lib/libvga.conf read this file for more | | | ||| |
informations. | | | ||| |
use arrow to rotate player and button to accelerate. | | | ||| |
mouse can be also use to control menus! | | | ||| |
there are no CONTROL OPTIONS supported | | | ||| |
+--------------------------------------------------------------+ | | ||| |
| | | ||| |
use keyboard to control player | | ||| |
3 keys are used:ACCELERATE,ROTATE LEFT,ROTATE RIGHT | | ||| |
note:there are no predefined settings! use CONTROL OPTIONS | | ||| |
to set keys! | | ||| |
see also: CONTROL OPTIONS , KEYBOARD PROBLEM | | ||| |
+----------------------------------------------------------------+ | ||| |
| | ||| |
use keyboard to control player | ||| |
4 keys are used:LEFT RIGHT UP AND DOWN | ||| |
there are predefined settings: | ||| |
player 1:cursor box | ||| |
player 2:Arrows on keypad. | ||| |
player 3: there are no predefined settings! use CONTROL OPTIONS | ||| |
player 4: there are no predefined settings! use CONTROL OPTIONS | ||| |
see also: CONTROL OPTIONS , KEYBOARD PROBLEM | ||| |
+-------------------------------------------------------------------+ ||| |
| ||| |
(CONTROL OPTIONS)may be on of following: ||| |
CHANGE KEYS-------------------+ ||| |
CALIBRATE JOYSTICK A-------+ | ||| |
CALIBRATE JOYSTICK B----+ | +---------------------------------+ ||| |
| +---------------------------------+ | ||| |
+-----------------------+ | | ||| |
select it to calibrate second joystick. | | ||| |
if you still see same menu your joystick is broken | | ||| |
or joystick toolkit is not initialized(see JOYSTICK SUPPORT) | | ||| |
otherwise you will see: | | ||| |
Move joystick to lower right corner | | ||| |
look at your joystick: | | ||| |
(it is usually futuristic designed black thing) | | ||| |
there is black stick. | | ||| |
get it and move it into lower right corner.then press | | ||| |
red button on joystick or space key. | | ||| |
| | ||| |
then you will see: | | ||| |
Center joystick | | ||| |
and press either button or space | | ||| |
| | ||| |
Place joystick on your desk.center the stick. | | ||| |
and smoothly and slowly press space key. | | ||| |
+------------------------------------------------------------+ | ||| |
| | ||| |
select it to calibrate first joystick. | ||| |
if you still see same menu your joystick is broken | ||| |
or joystick toolkit is not initialized(see JOYSTICK SUPPORT) | ||| |
otherwise you will see: | ||| |
Move joystick to lower right corner | ||| |
look at your joystick: | ||| |
(it is usually futuristic designed black thing) | ||| |
there is black stick. | ||| |
get it and move it into lower right corner.then press | ||| |
red button on joystick or space key. | ||| |
| ||| |
then you will see: | ||| |
Center joystick | ||| |
and press either button or space | ||| |
| ||| |
Place joystick on your desk.center the stick. | ||| |
and smoothly and slowly press space key. | ||| |
+---------------------------------------------------------------+ ||| |
| ||| |
define your keys: ||| |
if you see ACCELERATION skip to b) ||| |
if you see UP skip to a) ||| |
a)you have selected KEYBOARD ||| |
press a key what you want use to move up ||| |
then you will see: ||| |
DOWN ||| |
press a key what you want use to move down ||| |
then you will see: ||| |
LEFT ||| |
press a key what you want use to move left ||| |
then you will see: ||| |
RIGHT ||| |
press key what you want use to move right ||| |
then a you will see: ||| |
see also:KEYBOARD PROBLEMS ||| |
b)you have selected ROTATION KEYBOARD ||| |
press a key what you want use to accelerate ||| |
then you will see: ||| |
ROTATE LEFT ||| |
press a key what you want use to rotate left ||| |
then you will see: ||| |
ROTATE RIGHT ||| |
press a key what you want use to rotate right ||| |
then you will see: ||| |
see also:KEYBOARD PROBLEMS ||| |
+---------------------------------------------------------------------+|| |
| || |
back to the reality || |
NOT RECOMMENDED!!!! VERY DANGEROUS || |
RISK OF THE PSYCHICAL ( PHYSICAL ? ) SHOCK || |
+----------------------------------------------------------------------+| |
| | |
turns the space sound on/off | |
+-----------------------------------------------------------------------+ |
menu: |
EASY----------------------------+ |
MEDIUM------------------+ | |
HARD-------------+ | | |
| | | |
+----------------+ | | |
| | | |
only for professionals! | | |
+-----------------------+ | |
| | |
recommended mode | |
+-------------------------------+ |
| |
less fun |
+-------------------------------------------------------------------------+
|
menu:
DEATH MATCH(doom)---------------+
COOPERATIVE---------+ |
| |
+-------------------+ |
| |
default mode. |
operates in both |
multi-player and |
mono-player modes |
100 levels! |
+-------------------------------+
|
for doom maniacs -try to kill each other and stay alive!




VERY VERY EASY, isn't it? ;)


-----
/ \
| o | o |
===========================OO==============OO=============================

PC KEYBOARD PROBLEMS
----------------------
If you feel weak go away! I have to tell you a story about stupidity of your
keyboard controller. Once upon a time ?BM (alias Little Yellow) made a stupid
keyboard which is not able to handle more than 4 keys at a time...
... and they lived happily ever after.


JOYSTICK SUPPORT
(linux only)
------------------
Requires joystick toolkit. Koules must be compiled with joystick support
(see the file "Iconfig" for X-version and "Makefile.svgalib" for svga version)

Maybe, that you have newer kernel than I have, and you don't need to install
joystick toolkit, you only need to add joystick support in configuration
menu of kernel and then to recompile kernel and kernel modules.

If not you must download joystick toolkit archive "joystick-0.8.0.tar.gz",
and install it. To summarize only briefly an installation (as root):

cd /usr/src
tar -xzf joystick-0.8.0.tar.gz
cd joystick-0.8.0
make joystick.o
cp joystick.o /lib/modules/2.0.??/
echo alias char-major-15 joystick >>/etc/conf.modules
shutdown -r now

We are assuming that you have "/sbin/depmod -a" and "/sbin/kerneld" in your
startup files. The daemon "kerneld" should load module joystick.o
automatically, when needed. Use "js 0" or "js 1" for testing.
If it doesn't work, load joystick module manually:

insmod joystick.o

and watch screen. You must see:

js_init: found joysticks

number must be 1 or 2!!! If daemon kerneld loaded it automatically and
syslogd is running, the "js_init" message should be in log file (usually
/var/log/messages).

SOUND SUPPORT
---------------
LINUX: koules support voxware sound driver and pcsnd pcspeaker driver.
Other architectures: OS/2, Free BSD, HP-UX, SUN, SGI

FAQ
-----

Q: Sounds not running.
A: You entered invalid path edit makefile.
Note on spaces and / at end of path.

Q: Why this stupid game don't run on my machine?
A: Your stupid machine is not supported. Buy another one.

Q: Why game run s l o w l y ?
A: Try 320x200 or 320x250 version.

Q: Why game still run s l o w l y ?
A: Buy sextium ;)

see Koules.FAQ for more

COPYING
---------

Copyright (C) 1995 - 1998 Jan Hubicka and Kamil Toman

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or (at
your option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.


BUGS
------
There is bug in my svgalib.1.2.8 and earlier:
switch to another console, switch back and press enter it will crash your
computer.It is not koules bug!!! Test it on svgalib/demos/keytest!

Koules from the top:

.
--- . . O
/ \ . .
| | . . .. ---
\ / / \ X O
--- | O|
\ O/
--- ---
. O /O O\
. . . . | |
. . . \ /
. .X. . O ---
. . . .
. . . . ...
. . . .
. . . .
. . .
H A V E
FUN
!

please send a note to my e-mail address so I know how many people play Koules.
send any comments, problems, suggestions, donations, flames, ideas for KoulesII
email:
hubicka@freesoft.cz

smail:
Jan Hubicka
Dukelskych bojovniku 1944
Tabor 39001
Czech Republic