Stroggs Gone Mad 05/29/98
Title : Stroggs Gone Mad v1.2.03
Author : Roscoe A. Sincero
Email Address : firstname.lastname@example.org
Description : This mod enhances the fighting abilities of the
Web site/Home page : legion's Stroggs Gone Mad
News site : Inside3D (http://www.inside3d.com)
TC Website : http://swtc.telefragged.com. The chase AI
used in this mod is slated to be used in the
Star Wars TC for Quake II itself.
Archive content : gamex86.dll
sgm.txt (this file, you fool)
various *.pcx files for the scanner
and three sample route files for base1, base2,
Route files : this archive contains three sample route files.
If you want more, visit the SGM home page and
download the additional route files. Most of them
have been donated by fellow users like yourself.
Other files : If you want to see the weapons in COOP or in
single-player games using the chase cam, you must
download the visible weapons pak from Hentai's
visible weapons page, El Nino's Quake Extension
Additional Credits to : id Software for Quake2, especially Paul Steed of
id for giving out the stats for the enemies
Matt Barnett for leading target code for Iron Maiden
(http://ds.dial.pipex.com/town/terace/qg20) used in
the monster enhancement mod. The actual code used
is a modified version of his. Thus, the soldiers
now aim better. NOTE: For a long time, the
actual code used in SGM is no longer recognizable
from the original. But the aiming function had its
beginnings using Barnett's code.
Yaya for the scanner tutorial that was posted at
Quake Developers Studio
The pcx files also came from the tutorial.
SaTaN for the chasecam tutorial that was posted
at Quake Developers Studio
LM Jormungard for the Star Wars Blaster tutorial
posted at Quake Developers Studio
John Rittenhouse for the concussion grenade
tutorial posted at Quake Developers Studio
William van der Sterren for Dijkstra's method. I've
abandoned Floyd's algorithm. Also the rest of
the SABIN team (e.g. Dark_Skye) for ideas although
currently none of them are implemented or even
started. Don't worry, I'll try to see if any
can be used for Strogg enemies.
Michael Smit for the original Navigator Algorithm
El Nino Quake Extensions
(http://www.telefragged.com/vwep) for the
visible weapon's patch. You will need to visit that
site and download their pak file. It contains
the new models for the visible weapons. In addition,
I've also added Hentai's "hitloc" modification.
Misc : You will need Quake II v3.13 or v3.14. Been tested
Known User Problems : a) User attempts to play this mod using older
versions of Quake II. End up with
"game is version 3, not 1" error or
"game is version 3, not 2" usually.
b) User fails to follow install instructions
detailed below. Thus, user ends up playing regular
Quake II instead of SGM.
c) User has a copy of a gamex86.dll in the main
quake2 directory instead of inside one of the
subdirectories like \baseq2\ or \strogg\ where it
Thus, user either plays an original Quake II or
plays some other stupid mod that provides errors
like where's the bot.cfg.
d) User's attempt to download file resulted in a
corrupted file. Used PKZipFix or similar utility
to fix file but resultant gamex86.dll is still
corrupted. The DOWNLOAD ATTEMPT corrupted the
zip file. The zip file itself at the download
site is NOT corrupted. User ends up with
"Error during initialization" error. (Note:
problems with hard-drive can also cause this
* COPYRIGHTS/DISCLAMERS *
Quake II (c) 1997 by id Software.
Stroggs Gone Mad (c) 1998 by Roscoe A. Sincero
You may distribute this package in its unmodified form free of charge.
The distributers, reviewers, testers, and developer of the Stroggs Gone Mad
as well as id Software accepts no liability for any damages whether real or
imaginary that might have been caused by the direct use or indirect use of
Stroggs Gone Mad. Like all of the other mods, use this mod at your own risk.
* Play Information *
Single Player : yes
Cooperative (2-4) : yes
Deathmatch (2-16) : No
New Sounds : No
New Graphics : No
New Music : No
System Requirements : Quake II, duh!
P200+ recommended highly (formerly P166+)
*good* 3D card recommended highly
32 megabytes of RAM min, 48+ recommended min
(w/o visible weapons).
64 megabytes recommended min w/ visible weapons
Quake II using this mod is not really meant to
be played "in software". Get a 3D card.
Tested on a P200, no 3D card, 32 megabytes of RAM
* Construction *
Base : Quake2 DLL Source v3.14
Editor(s) used : Microsoft Visual C++ v4.0
Known Bugs : a) firing weapons when the chasecam is inside a
wall will cause game to crash.
b) hyper rocket launcher pushes limit of game
engine. Too many explosions, etc. will cause
overflows. The results of overflows can vary.
It is not uncommon to NOT see any of the rockets
firing and/or even the weapon model disappear when
firing too many rockets at the same time for an
extended period of time.
Another result is that screen stops being updated
by the game for several seconds but the game
continues on. When the screen fails to update, one
of the Stroggs can still be firing at you and you
would not know it.
Build Time : I don't know. Forgot.
* Install Instructions *
1) Make a dir under your quake2 directory (c:\quake2\strogg)
2) Unzip the gamex86.dll into the dir created in #1
3) Make a directory in that game directory called "pics". In THAT
directory, make another directory called scanner.
Unzip the pcx files into this \pics\scanner directory.
4) Make a directory in that game directory called "routes". In THAT
directory, copy all the files with the extension of "*.dat" into that
5) Run Quake2 with the command line "quake2 +set game dir" where "dir" is the
directory where you copied the gamex86.dll
(i.e. quake2 +set game strogg)
6) start a new game
7) optional: bring down console, type "skill 3" followed by enter. Then type
"map base1" (or some other map name) to start a new game at skill 3.
skill 3 is the so-called "nightmare level".
Obviously, if you unzipped the files keeping the directory names, then
the WinZip or PKZIP will place the files in the correct sub-directories
for you. That is, you specify the drive to unzip the files and let
WinZip or PKZIP create the sub-directories and place the files in the
correct sub-directories for you. The only thinking you need to do is
figure out what drive Quake II is on.
You can also set up a dedicated COOP server by typing this:
quake2 +set dedicated 1 +set game strogg +set coop 1 +skill 3 +map base1
* Other Info *
This is the post-point-release of the Monster Enhancement mod. I decided to
start over from scratch with the coding and gave it a new name.
* Summary of Commands *
The following commands are executed by typing them at the console.
scanner - toggles on/off (default is off) the scanner
save_nodes - save nodes that were created
load_nodes - load nodes that were previously created.
mapping - toggles on/off the mapping routine
unless a message in the game says otherwise, the mapping
routine is always on. *NOTE* if no node is created
after two minutes, then the mapping routine is turned
off automatically without telling you.
chasecam - toggles on/off the chasecam. The default is off.
legion-navigator - calculates all the paths. This turns off Dijkstra's
algorithm so the monsters won't be calculating paths
any more. To turn it back on, turn mapping on. Of
course, if mapping is already on, then you have to turn
it off then turn it back on. There will be a pause
when running this calculation. The more nodes there
are, the longer it will take. And, obviously, the slower
your machine, the longer it will take.
max_performance - turns on/off id's movement code and uses the new movement
code. Results in significant performance increase but
decrease reliability in Strogg's ability to move around.
The default is off--id's movement code is off.
* Making a route file *
This is optional. This means you do not have to make one.
Load a level in exactly the same way you load any level. If you have not
performed this simple task before, then I suggest that you make an attempt
to play a single-player or multiplayer game at least once before you download
or play any mod.
Once you load a level, turn on no target (type "notarget" at the console).
No target will prevent all monsters from targetting you until you fire at
it. Walk around the level. After you visited every spot on the level that
you think a monster can reach, save the nodes. Saving the node is
accomplished by typing "save_nodes" at the console. See summary of commands
* Version Info *
v1.2.03 (May 29, 1998)
- added debug messages to catch crashing bug. If problem is found,
a debug message will pop up (e-mail me the message), and the game
will continue on. If game still crashes, then obviously the problem
lies elsewhere in the code.
- forgot to menion, you need at least one rocket to select the rocket
launcher. Otherwise, you will not be able to use the hyper rocket
launcher. I might change it in the future to make it so that you use
ammo when firing the hyper rocket launcher.
v1.2.02 (May 25, 1998)
- removed a feature of the chasecam where it moves backwards and up when
looking down and backwards and down when looking up.
- added alternative, infinite ammo mode for rocket launcher. Explosive
power of rockets in alternative mode is, however, much less than normal.
The second mode is called "Hyper Rocket Launcher". The choice of name
will be obvious when the weapon is in use. Selection of weapon is simple:
press 7 to alternate modes (or if you like using the console, type
"use Rocket Launcher" to alternate modes). Hyper Rocket Launcher was put
in just to see how the game would be like with lots of explosions.
- removed notarget, god, give commands for coop servers. To re-enable cheats,
server must set cheats to a value of 1.
added coopflags. Default value for coopflags is 0. A value of 1 means
that clients can not kill each other directly (i.e. by "friendly fire").
This is known as the moron avoidance. Morons would log on to coop servers
and deliberately frag other clients.
For coop servers, use "+set coopflags 1" at the prompt in addition to the
other settings. As always the case, "+map " must be the last
v1.2.01 (May 17, 1998)
- fixed "cosmetic" bug with informing people version of SGM when entering
- fixed more grammar errors in text file. There's plenty more where they
v1.2.00 (May 17, 1998)
- modified sgm.txt. Removed "misc info" below since it was obvious that
some people don't read it and instead will report in the "obvious"--stuff
I mentioned in "misc info". I guess this is better than people reporting
in bugs like the SGM mod keeps crashing after they created the "bot.cfg"
and "chat.txt" for it. Yeah, I guess it is better.
Word of the day: MooCows.
MooCows are people who use the computer like an "applicance". They can
turn it on and stuff like that but they are actually clueless about how
to work the computer. Some MCs are cool, I guess, but the "best" of them
are the ones who make "suggestions" on how to improve your testing
techniques. For example, a mod that crashes upon start-up after all
those requested files were created (e.g. "bot.cfg" and "chat.txt") should
be tested more thoroughly on other versions of Quake II prior to release.
Makes one wonder: how often do MooCows download mods that crashes upon
- since v1.0.00 not all Stroggs will come running when "alerted". This is
random. This means when you see a bunch of blaster soldiers running
towards you , there is a chance that there are still other blaster soldiers
who are not running towards you. That is what RANDOM means.
This was mentioned already (see version info below for v1.0.00).
- since v1.1.00, no Stroggs resurrect from the dead (except when the medic
does it, of course)
- since v1.1.00, the Enforcer now throw a BFG grenade so it is not a bug.
- with the older versions, a message will appear indicating information about
the mod. This information can be seen by bringing down the console as
always. New to this version is that those who log on to a SERVER using
this mod will also see a message. Like before, the user must bring down
the console to see the message.
- Added "hitloc". The amount of damage occured during weapon hits is based
on the location of the hit. So headshots do 2x the damage while shots to
the feet do 1/2 damage. This option is only available for skill settings
of three or greater.
- scanner has been re-introduced. The default is off. Monsters show up
as green dots. Any monster who has selected YOU as the enemy will show up
as red dots. Any other clients in the game will show up as light blue
dots. So yes, this is a slightly improved version of the previous
scanner. And yes, I did receive more than one request for the return of
- soldier's blasters look like Star Wars blasters. Makes for a different
look; it doesn't change game play. Well, the shots might be a tad more
difficult to see coming.
- added concussion blast from the concussion grenade tutorial.
Unfortunately, the tutorial wasn't very complete so I had to add some
stuff to make it work. Not very difficult, though. Concussion blast
only affects player. Like the BFG grenade added in previous version,
this is tune in to the human's DNA. The explosion itself is harmful to
all life but the concussion blast only affects players.
- 3 reports that the laser on base3 (Comm Center) would not turn off when
the gunner is killed. (Well, 4 reports counting myself). This comes in
two varieties. Gunner is killed by player in which the gunner is usually
far away from the laser (but large distance is sometimes not required).
The laser light stays on and the laser itself is active. The second
variety occurs when the gunner kills itself by crossing the laser. The
laser light is turned off but the laser itself is still active. Apparently
setting the nextthink to zero (which is what id did) does not mean that the
think function won't be executed; it still is. Problem appears to be fixed
v1.1.00 (May 10, 1998)
- UPON LOADING A LEVEL, the mod will try to load up a route file. If a
route file is loaded, it assumes that the route file is a completed file
and turns off mapping.
- added SaTaN's chasecam using the tutorial posted at QDeveLS. However,
there were quite a bit of problems with his chasecam. For instance, it
crashes underwater and that the camera goes through walls. In addition,
the player "chases" the camera rather than the camera chasing the player.
And when the player dies, the camera does not look at the killer.
So I fixed these problems and made the camera actually work. In netplay,
the camera will be "jumpy". The reason is simple: the camera is an
entity in the game like any other entity. This entity is *NOT*, I repeat
NOT a player entity. It is an entity like other entities in the game
such as items, BFG ball, lasers, monsters, etc. Because of this, the
location of this camera entity is only updated 10 times a second. The
player's location, on the other hand, can be updated many times more than
this. This results in choppy camera movement especially in netplay.
- tweaked the code that allows the monster to "hunt" down a sound that
- fixed NO FREE EDICTS crashes. This was confirmed. The only way to
cause this now is to play on a map that has lots of entities in them.
- another bug was causing occasionally crashes. Fixed that too, I believe.
Thus, this version is probably the most stable of all the releases.
- started over from scratch in the coding. This is how I fixed the two
bugs that causes game crashes.
- added the legion-navigator algorithm. If the route file has less than
320 nodes, the mod will calculate all the paths in the beginning so that
the Stroggs don't have to calculate any paths. If more than 320 nodes
are present, then type "legion_navigator" at the console. Otherwise,
the Stroggs will calculate paths using Dijkstra's algorithm during the
game. Upon executing legion-navigator algorithm, Dijkstra's algorithm
will be turned off. The reason is that the legion-navigator algorithm
calculates all the paths. Since all the paths are calculated, there is
no reason for the Stroggs to calculate the paths. NOTE: if mapping is
on and a new node was added, then Dijkstra's algorithm gets turned
back on automatically so the Stroggs will again calculate paths.
- messed with movement code so that Stroggs are less likely to get stuck
in walls and other such things. Improvement is most notable to melee
only Stroggs like berserkers, although, improvement can be seen with other
Stroggs. The new movement code, however, is far more CPU intensive than
id's original. So I added an option to turn this off. Type
"max_performance" to toggle on/off the id's movement code. The default
is off. The new movement code allows swimming while id's movement code
- tweaked fighting abilities of the berserker and infantry. "Tweaked"
the fighting ability of the Makron, too. You might be surprised to see
that the Makron appears to be tougher now.
- new Strogg weapon--a mini-BFG grenade that explodes on contact. The
frequency of the BFG energy is tuned to human DNA so it is toxic to
humans but it is harmless to fellow Stroggs. However, the amount of
energy that is released is quite substantial so it can do a small amount
of damage to other Stroggs on a DIRECT hit.
v1.0.03 (April 27, 1998)
- must have broken something in previous version. No free edict crashes
causes game to end. It either causes Quake II to exit without any warning
or it drops to console giving you a reason. Hopefully, this bug is
- I accidently removed the soldier's ability to strafe. ooops
v1.0.02 (April 27, 1998)
- received a report that Stroggs can walk through closed doors. This
only appeared in user-created levels so far. Have not been able to
duplicate this bug. However, I deleted the modified g_func.c and replace
it with id's original g_func.c and proceeded to modify Touch_Plat_Center
so that the Stroggs can activate platforms. All functions related to
doors were left untouched, unlike in previous versions.
v1.0.01 (April 26, 1998)
- fixed "hesitation" bug in which Stroggs are very unlikely to fire at you
when you are on higher/lower ground and there is a path towards you but
Strogg is unable to get to you due to obstacles (other Stroggs, for
instance) in the way or environmental reasons (like cliffs, etc.).
However, to increase the difference between skill difficulty levels,
I left this bug in for skill levels 0 and 1.
v1.0.00 (April 24, 1998)
- added El Nino Quake Extensions' (http://www.telefragged.com/vwep)
Visible Weapons patch so users can see each other's weapons in
- not all Stroggs come running when alerted. This is now random.
v.9.04 (April 24, 1998)
- fixed COOP bug
v0.9.03 (April 18, 1998)
- modified SV_movestep again. Decrease performance but increase reliability.
This is most important for monsters strafing or monsters with melee
attacks only like Berserkers.
- added gap checking for bersekers and parasites. CPU intensive routine
allows berserkers/parasites to recognize gaps and determines whether or not
gap prevents it from walking over it. That is, "broken" ground won't
hinder these Stroggs nearly as much as before. However, these Strogg will
walk off ledges easier than before.
v0.9.02 (April 14, 1998)
- changed "map" command to "mapping" to turn on/off mapping
v0.9.01 (April 14, 1998)
- fixed aiming bug for projectile weaponry
- made new route file for base1. Apparently, there was something wrong
v0.9.00 (April 11, 1998)
- fixed crash when trying to load a route file, hopefully. Don't close a
file if a file was not successfully opened
- added shielding to Infantry. Allowed infantry to block rather than
duck for skill levels 2 and higher. Skill 1 infantry will either duck
or block. Skill 0 infantry never block. Shielding is turned on only
- a blocking infantry at skill 1 will absorb 50% of damage plus protection
- a blocking infantry at skill 2 or higher will absorb 75% of damage plus
protection from shielding.
- Infantry can now walk and run faster
- modified SV_movestep so monster movement for walking monsters now behave
better than id's original. It requires more instructions so performance
is a tad bit slower
- tweaked chase AI to take into account monsters with only true melee
attacks (like Berserker)
v0.8.03 (April 10, 1998)
- made loading of route files automatic. got annoyed having to load
the files every time I needed to test out a level.
- added route files for base1, base2, and base3
- reduced maximum number of nodes to 512. so mod is a little bit more
memory friendly now, a little bit.
v0.8.02 (April 9, 1998)
- fixed NO FREE EDICTS crashes hopefully. First time I ever had this
type of crash for Quake II today. Hopefully, it is the last time I
see it for this mod.
v0.8.01 (April 8, 1998)
- fixed node counting not resetting on level changes as well as node table
not reinitializing on level changes.
v0.8.00 (April 7, 1998)
worked on mapping code again. Hopefully fix the node linking on the other
side of wall problem that has been plaguing mod since the beginning.
Additionally, corners of walls now are treated much better as well as
stairs/inclines. Result: decrease performance, increase reliability.
- changed version number format from x.xxx to a.b.cc. For major revisions,
a is increased by one. For minor revision changes (e.g. one or two new
but not very significant features added), b is increased by one. For patch
updates (usually for bug fixes), cc is increased by one.
- added ability to save/load nodes to a file in "..\routes\" directory.
Name of file is the name of level with ".dat" extension. New feature --
incremented second digit in version number. save_nodes saves the node.
load_nodes loads the nodes from file. Any node that was created before
the nodes were loaded from file will be erased. So load the file first
once you load the level. Type "save_nodes" at the console to save,
type "load_nodes" at the console to load.
* NOTE *: If you like killing the Stroggs the minute you see them then none
of the changes, since the original, I have been making will be seen by you.
The nodes are used for chasing. Obviously, Stroggs won't be chasing if
they are dead.
- sample route file for base1 have been included. You must load the nodes
first before playing; otherwise, any nodes you had created in the game will
be erased when you load the nodes. If you load nodes from a file
(even if the file is incomplete--the nodes don't cover the entire level),
the mapping is automatically turned off so there will be performance
benefits in loading the sample route files. The monsters will still
calculate paths as usual. You can obviously choose not to load the
route files by not loading them. The monsters will not be as "smart",
however. For instance, when a Strogg alerts another nearby Strogg, that
Strogg might not know how to find you. This is because no nodes have
been created yet to teach it. So for faster performance and smarter
monsters (in regards to chasing, they are smarter), loading the route
files is better.
OBVIOUS NOTE: The nodes are not automatically loaded even if a route file
for that map is present. This way you have a choice of either loading it
or not. This will allow you to see first-hand any differences in the
Strogg's IQ as well as differences in the performance (in regards to
- although not mentioned before, the nodes do not affect the movement code
at all. Thus, monsters that swim will not suddenly jump out of the water
and walk. Walking monsters will not suddenly hop into the pool and swim.
v0.7.03 (April 6, 1998)
- tweaked mapping code so nodes should link up better, decreases performance
- improved mapping CAN lead to better pathing once the level is mapped out.
This results in more slowdown in mapping routines but less choppy play
since pathing code is only executed when needed. Mapping is executed
v0.7.02 (April 3, 1998)
- fixed crashing problem with new chase AI (first mode)
- fixed incompatibility problems with chase AI modes
- increased performance in pathing code a little. Still results in noticeable
choppy play for a P200 if a lot of monsters (e.g. 5 or more) are calculating
a path at the same time or that the map already has a lot of nodes in them
- mapping code will turn off automatically if no nodes are being created
after two minutes
v0.7.01 (March 31, 1998)
- rewrote chase AI. There was a bug that prevented it from chasing. The
chase AI falls in two modes. The last "mode" of chasing *IS* id's
original chase AI. There is a problem with compatibilty with the two
modes--if the first mode fails, the second mode fails too. Bug with
first mode appears to be fixed. Incompatibility bug with second mode
is still present. Unknown at this time on how to fix said problem.
These modes were present in the original release but not documented in
- for skill settings of 11 or greater, soldier's weapons are just as powerful
as players. Note: this is changed from previous version. The game is
not very fun with the previous setting.
- first mode of chasing:
- monsters dynamically learn the level by dropping nodes
- players also drop nodes for monsters to use
- in previous version, the dropping of nodes eats up a lot of CPU. It
is most noticeable on maps with large number of Stroggs (e.g. greater
than 30) or if the map has or will have a lot of nodes in them.
- in this version, the routine now runs faster.
- monsters use these nodes to find a path from current position to
target's position. If no path found, it uses id's chase AI.
- limiting CPU sappage now is the path finding routine. Only "solution"
is to reduce the maximum number of nodes allowable in the game. It is
currently set at 1024, it is reduced to 512 nodes. This will reduce the
memory requirement of the mod as well as prevent mod from spawning so
many waypoints that the monsters would take too long to calculate the
- increased performance in mapping code
- unlike pathing, mapping routines are executed every frame.
v0.7.0 (March 10, 1998)
- soldiers will display animations normally not seen very often. the run-n-shoot
as well as duck-n-shoot animations will be seen more often. also the run,
shoot, and trip animations are displayed--originally id left this out. soldiers
can now move and fire at the same time. they have animations to support this
so I used them.
- soldiers can have mega armor which makes them translucent--practically
invisible for some graphics cards. Only skill 4 or higher can have mega armor.
- support skill settings upto 2000
- at skill 3 or higher, soldier's firepower have been equalized to that of the
player. In other words, they now do as much damage as a player at skill 3
and higher. (Machine gun soldier's firepower has been equalized at skill 4
-- blaster soldiers originally did 1/2 damage, now do full damage
-- shotgun soldiers originally did 1/2 damage, now do full damage
-- machine gun soldiers originally did 1/4 damage, now do full damage
* THIS MAKES THE GAME SIGNIFICANTLY MORE DIFFICULT! *
This may be a single-player game but do not leave your deathmatch
skills out the door. Bring it with you. Start out with skill 1 or
2 to get used to the moving soldiers. Then try the nightmare levels.
- added Yaya's scanner. Type "scanner" at the console. With the scanner on,
the menu (press escape for menu) will not be active. To activate the menu,
turn off the scanner FIRST by typing "scanner" again at the console then
press escape. red dots mean Stroggs who are targetting you! The other
dots are either Stroggs or some other equipment that provide false positive
positions of Stroggs. scanner is short-ranged so don't expect to "see"
the entire map with this. The computer [Press F1] is also "down" when the
scanner is on. The info will only pop up for a very brief moment when the
scanner is on so turn off the scanner if you wish to see the computer update.
-- there are some pretty strong limitations to the scanner. In short,
too many Stroggs can cause overflow errors which can also lead to
other problems as well including but not limited to not being able
to find the correct *.pcx file error messages.
- NEARYBY Stroggs are alerted by your presence. So if one Strogg sees you and
there are others nearby, they will be notified.
- obituary has been modified to include new death messages. it is NOT complete.
- soldiers can resurrect at skill 3 or higher. Hence, skill 3 is the beginning
of the "nightmare" levels. To prevent resurrection, you must gib the body.