mirror of
https://github.com/blendogames/thirtyflightsofloving.git
synced 2024-11-14 16:40:57 +00:00
8d9024e33f
Refactored some suface rendering functions. Moved some lightmap code from r_surface.c to r_warp.c.
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.
|
|
Absolutely MUST have GL_ARB_multitexture support, 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. |