mirror of
https://github.com/blendogames/thirtyflightsofloving.git
synced 2024-11-14 16:40:57 +00:00
8a2739c555
Tweaked client handling of "Server is version x.xx" server rejection messages. Client now sends info requests to servers with both KMQ2 and stock Q2 protocol versions. Client now ignores server "wrong version" status messages. Added server sending protocol version in challenge message.
217 lines
No EOL
8.1 KiB
Text
217 lines
No EOL
8.1 KiB
Text
------------------------------
|
|
KMQuake2 v0.20 with update 8
|
|
|
|
Readme.txt
|
|
------------------------------
|
|
Enhanced Quake2 OpenGL-only engine with integrated Lazarus support
|
|
(kmquake2.exe & kmq2gamex86.dll && kmquake2.pk3)
|
|
|
|
By Knightmare (knightmare66@yahoo.com)
|
|
|
|
Other code by:
|
|
|
|
Aaron Reeves
|
|
Anthony Jacques
|
|
Backslash
|
|
Barnes
|
|
Berserk
|
|
Berserker
|
|
Bitshifter
|
|
BramBo
|
|
CDawg
|
|
David M. Pochron
|
|
Discoloda
|
|
DarkOne
|
|
Dopefish
|
|
Dukey
|
|
Echon
|
|
Frank Sapone
|
|
Fuh
|
|
Harven
|
|
Heffo
|
|
Idle
|
|
Jalisko
|
|
Jay Dolan
|
|
Jitspoe
|
|
MaxED
|
|
MH
|
|
MrG
|
|
NeVo
|
|
Nexus
|
|
NiceAss
|
|
Nicolas
|
|
Odium
|
|
Pat Aftermoon
|
|
Pooy
|
|
Psycospaz
|
|
QuDos
|
|
Scarface
|
|
Serge
|
|
[SkulleR]
|
|
Spike
|
|
Steve Yeager
|
|
Tomaz
|
|
Vic
|
|
VoiD
|
|
Yamagi
|
|
And anyone else I forgot...
|
|
|
|
Menu dogtags, HUD numbers, and F1 computer icon by Pieter Verhoeven
|
|
|
|
Menu screen by MDK
|
|
|
|
Load screen by Christopher "Sherpa" Owen
|
|
|
|
Weapon glow skins in kmquake2_extras.pk3 by Odium and Kman and from Quake2XP
|
|
|
|
Uses Zlib compression library, (C) 1995-2017 Jean-loup Gailly and Mark Adler
|
|
|
|
Uses libjpeg (Independent JPEG Group's software) Copyright (C) 1994-2013, Thomas G. Lane, Guido Vollbeding
|
|
|
|
Uses libpng image library, Copyright (c) 1998-2017 Glenn Randers-Pehrson
|
|
|
|
Uses libogg and libvorbis audio libraries, Copyright (c) 2002-2015 Xiph.org Foundation
|
|
|
|
Uses libcurl data transfer library, Copyright (c) 1996 - 2020, Daniel Stenberg
|
|
|
|
------------------------------
|
|
Key Features
|
|
------------------------------
|
|
- Eliminates the limit of 256 each on models, sounds, and images- no more index: overflow errors!
|
|
- No more SZ_Getspace: overflow errors
|
|
- Supports up to 8000 entities per map, up to 2000 in view at once
|
|
- Supports maps with large coordinate ranges, maximum of +/-16384
|
|
- Supports maps compiled with large chop values, up to 1024
|
|
- Supports server-side player speed control for class-based mods, etc.
|
|
- Supports server-side control of entity transparency
|
|
- Supports server-side control of looped sound attenuation
|
|
- Includes default Lazarus DLL with ACE bots, CTF and 3Team CTF support
|
|
- Uses modified Quake2maX particle effects
|
|
- Improved menus and console (uses some code from Quake2maX)
|
|
- Streamlined, more memory-efficent adaptation of decal system from Quake2maX
|
|
- TGA, PNG, and JPG texture, skin, and pic autoloading
|
|
- Autoscaling of hi-res replacement textures
|
|
- Support for MD3 models
|
|
- *.pak and pk3 support
|
|
- Ogg Vorbis soundtrack support
|
|
- RoQ support
|
|
- Alpha test surface support for easy rendering of textures with holes/cut-outs
|
|
- Trans33 and Trans66 flag combining for textures with alpha-channel controlled transparency
|
|
- Supports rendering transparent surfaces with lightmaps
|
|
- Supports moving and animated transparent surfaces
|
|
- Integrated support for Lazarus footstep sounds
|
|
|
|
------------------------------
|
|
How To Run
|
|
------------------------------
|
|
Unzip into your Quake2 directory (where quake2.exe is) and make a shortcut with path
|
|
|
|
x\quake2\kmquake2.exe +set game gamedir (for singleplayer, LAN games, and net client use)
|
|
|
|
where X is your Quake2 dir's parent dir (for example, C: or D:\games), and gamedir
|
|
is the game subdirectory (if any) where the mod you want to run is. NOTE: for the
|
|
mod's code to run, it must be compiled into a kmq2gamex86.dll (see end of file for
|
|
instructions).
|
|
|
|
To ensure connection to all standard Quake2 protocol (34) servers, add
|
|
|
|
+set cl_servertrick 1
|
|
|
|
to the command line. Or you can set the "client protocol compatbility" option in the Join Server menu
|
|
to version 34 (stock Quake2). This is disabled by default.
|
|
|
|
If you want to enable the playing of cinematics off the game or mission pack CD, add
|
|
|
|
+set scanforcd 1
|
|
|
|
to the command line. This is disabled by default.
|
|
|
|
KMQuake2 writes/reads savegames, config files, demos, etc. to <userprofile>/Saved Games/KMQuake2 on Windows Vista
|
|
and later, and to My Documents/My Games/KMQuake2 on Windows 2000/XP/2003.
|
|
Auto-downloaded files are saved to <userprofile>/Downloads/KMQuake2 on Windows Vista and later, and
|
|
My Documents/My Downloads/KMQuake2 on Windows 2000/XP/2003.
|
|
|
|
The classic Quake 2 behavior of writing config files/savegames/etc to the Quake2 folder can be restored by adding the parameter
|
|
"-portable" to the command line, or by placing an empty text file called "portable.cfg" in the baseq2 folder.
|
|
|
|
An OpenGL 1.2 compatible 3D accelerator, OpenGL 1.4 support or higher (GeForce FX/Radeon 9500 or better) recommended.
|
|
(Note: 3Dfx cards are NOT supported)
|
|
Pentium III or Athlon 800MHz+
|
|
At least 512MB of RAM (1 GB recommended) for 32-bit operating sytems, at least 2GB for 64-bit operating sytsems.
|
|
|
|
If it crashes on startup, make sure that kmq2gamex86.dll is in the baseq2 subdir.
|
|
|
|
If you experience lockups on an ATI video card, set entity shell type to solid or flowing
|
|
in the advanced section of the video menu. The envmap effect may be causing the lockups.
|
|
|
|
If performance is too slow, or there are no visible or all black textures, type
|
|
"exec lowend.cfg; vid_restart" in the console. If you still get all-black
|
|
textures, remove all config files from the game directory you are running in and restart.
|
|
This will make KMQ2 fall back on the internal cvar defaults.
|
|
|
|
It is strongly recommened that you copy the idlog.cin file from the Quake2 CD to your
|
|
baseq2/video folder. This will allow you to always open the menu before any demos start playing.
|
|
|
|
To hear Ogg Vorbis tracks ingame, rip the Q2 CD's audio tracks (2-11) to track02-track11.ogg
|
|
and put them in baseq2/music. For the mission pack audio tracks, rip the Ground Zero CD's
|
|
audio tracks (2-11) to track12-track21.ogg. Don't bother ripping the tracks from the
|
|
Reckoning CD, as they're a mix of the tracks on the Q2 and Ground Zero CDs. Everything else
|
|
will be taken care of internally by KMQuake2.
|
|
|
|
=====================================================================================
|
|
|
|
MOD SUPPORT INSTRUCTIONS
|
|
|
|
=====================================================================================
|
|
|
|
To compile your mod for KMQuake2, substitute the files game/q_shared.c, game/q_shared.h,
|
|
and game/game.h from the engine's source code into the mod's source after backing up the mod's originals.
|
|
Or you can just search for all my changes, which are marked with my name, if you don't want to use
|
|
GPLed headers. Just don't forget to include the #ifdef compiler directives around my changes.
|
|
Some mods may make additions or changes to these 3 files, so in that case you will need to use
|
|
a diff utility like Windiff to find said changes and hand-merge them into the files from
|
|
KMQ2's source.
|
|
|
|
Next, in g_save.c, change the assignment of the "maxentities" cvar from this:
|
|
|
|
maxentities = gi.cvar ("maxentities", "1024", CVAR_LATCH);
|
|
|
|
to this:
|
|
|
|
maxentities = gi.cvar ("maxentities", va("%i",MAX_EDICTS), CVAR_LATCH);
|
|
|
|
Then, change all references to modelindex 255 to MAX_MODELS-1 (for most mods,
|
|
p_client.c, p_view.c, and p_weapon.c are the only files that need changes).
|
|
|
|
Before compiling, make sure that this line in q_shared.h is uncommented:
|
|
|
|
#define KMQUAKE2_ENGINE_MOD
|
|
|
|
You can revert your mod to compatibility with other engines by commenting out this line.
|
|
|
|
Finally, after compiling, rename the resulting gamex86.dll to kmq2gamex86.dll so
|
|
that the new engine will load it (don't overwrite your existing game DLL!).
|
|
|
|
=====================================================================================
|
|
|
|
If you downloaded this engine mod without source code, the complete source is
|
|
available at www.markshan.com/knightmare
|
|
|
|
=====================================================================================
|
|
|
|
Copyright (C) 1997-2001 Id Software, Inc.
|
|
|
|
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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |