ref: fe87c990e0e84be637a8a743f2dd9d48ae6f5895
parent: b10d6e123329a38a29030744bf232ac03387cee5
author: Konstantinn Bonnet <qu7uux@gmail.com>
date: Fri Mar 13 08:04:45 EDT 2015
remove more unused stuff - purge useless text files, unused asm, etc. - move mkfile to root folder - anorms.h and q_shared.h were duplicated
--- a/3.15_Changes.txt
+++ /dev/null
@@ -1,107 +1,0 @@
-
-Quake2 3.15 Upgrade
--------------------
-
-This upgrade addresses several features, including security, playability, and
-enhancements.
-
-A new map is also included (in baseq2\pak3.pak) called match1, Reckless
-Abandon. This map is designed for one on one deathmatch play. It was built
-by American McGee and Dave "Zoid" Kirsch.
-
-This patch replaces the following files:
-
- quake2.exe
- 3dfxgl.dll
- pvrgl.dll
- ref_gl.dll
- ref_soft.dll
- baseq2\gamex86.dll
-
-Changes
--------
-
-- Added visible weapons support. This is precached with a special symbol, i.e.
- gi.modelindex("#w_shotgun.md2") which causes the client to autobind it to
- the players current weapon model. Plug in player models can optionally
- support the visible weapons. Any that do not support it will use their
- default weapon.md2 files automatically.
- Visible weapons files for plug in player models are not downloaded
- automatically--only the default weapon.md2 (and skin) is.
- The Visible weapon models themselves are not included. They can be
- downloaded from http://www.telefragged.com/vwep/
-- Rewrote the some of the net code to use optimized network packets for
- projectiles. This is transparent to the game code, but improves netplay
- substancially. The hyperblaster doesn't flood modem players anymore.
-- Rewrote the packet checksum code to be more portable and defeat proxy bots
- yet again.
-- Autodownload support is in. The following items will be automatcally
- downloaded as needed:
- - world map (and textures)
- - models
- - sounds (precached ones)
- - plug in player model, skin, skin_i and weapon.md2
- downloads go to a temp file (maps/blah.tmp for example) and get renamed
- when done. autoresume is supported (if you lose connect during the
- download, just reconnect and resume). Server has fine control over
- the downloads with the following new cvars:
- allow_download - global download on/off
- allow_download_players - players download on/off
- allow_download_models - models download on/off
- allow_download_sounds - sounds download on/off
- allow_download_maps - maps download on/off
- maps that are in pak files will _not_ autodownload from the server, this
- is for copyright considerations.
- The QuakeWorld bug of the server map changing while download a map has
- been fixed.
-- New option in the Multiplayer/Player Setup menu for setting your connection
- speed. This sets a default rate for the player and can improve net
- performance for modem connections.
-- Rewrote some of the save game code to make it more portable. I wanted to
- completely rewrite the entire save game system and make it portable across
- versions and operating systems, but this would require an enormous amount
- of work.
-- Added another 512 configure strings for general usage for mod makers.
- This gives lots of room for general string displays on the HUD and in other
- data.
-- Player movement code re-written to be similiar to that of NetQuake and
- later versions of QuakeWorld. Player has more control in the air and
- gets a boost in vertical speed when jumping off the top of ramps.
-- Fixed up serverrecord so that it works correctly with the later versions.
- serverrecord lets the server do a recording of the current game that
- demo editors can use to make demos from any PVS in the level. Server
- recorded demos are BIG. Will look at using delta compression in them
- to cut down the size.
-- Copy protection CD check has been removed.
-- Quake2 3.15 has changed the protocol (so old servers will not run) but
- all existing game dlls can run on the new version (albiet without the
- new features such as visible weapons).
-- Added flood protection. Controlled from the following cvars:
- flood_msgs - maximum number of messages allowed in the time period
- specified by flood_persecond
- flood_persecond - time period that a maximum of flood_msgs messages are
- permitted
- flood_waitdelay - amount of time a client gets muzzled for flooding
-- fixed it so blaster/hyperblaster shots aren't treated as solid when
- predicting--you aren't clipped against them now.
-- gender support is now in. The userinfo cvar "gender" can be set to
- male/female/none (none for neutral messages). This doesn't affect sounds
- but does affect death messages in the game. The models male and cyborg
- default to gender male, and female and crackhor default to female.
- Everything else defaults to none, but you can set it by typing
- "gender male" or "gender female" as appropriate.
-- IP banning support ala QW. It's built into the game dll as 'sv' console
- commands. This list is:
- sv addip <ip-mask> - adds an ip to the ban list
- sv listip <ip-mask> - removes an ip from the ban list
- sv writeip - writes the ban list to <gamedir>/listip.cfg. You can
- exec this on a server load to load the list on subsequent server runs.
- like so: quake2 +set dedicated 1 +exec listip.cfg
- sv removeip <ip-mask> - remove an ip from the list
- the ip list is a simple mask system. Adding 192.168 to the list
- would block out everyone in the 192.168.*.* net block. You get 1024 bans,
- if you need more, recompile the game dll. :)
- A new cvar is also supported called 'filterban'. It defaults to one which
- means "allow everyone to connect _except_ those matching in the ban list."
- If you set it to zero, the meaning reverses like so, "don't allow anyone
- to connect unless they are in the list."
--- a/3.16_Changes.txt
+++ /dev/null
@@ -1,127 +1,0 @@
-
-Quake2 3.16 Upgrade
--------------------
-
-This upgrade addresses several features, including security, playability, and
-enhancements.
-
-A new map is also included (in baseq2\pak3.pak) called match1, Reckless
-Abandon. This map is designed for one on one deathmatch play. It was built
-by American McGee and Dave "Zoid" Kirsch.
-
-Changes for 3.16
-----------------
-
-- Fixed infinite grenade bug
-- Fixed autodownloading to actually download sounds and console pics
-- Fixed autodownload to not create empty directories for files not on
- the server.
-- Added customized client downloading. cvars are the same as the server side:
- allow_download - global download on/off
- allow_download_players - players download on/off
- allow_download_models - models download on/off
- allow_download_sounds - sounds download on/off
- allow_download_maps - maps download on/off
- They can also be (more easily) set with a new Download Options menu
- accessible in Multiplayer/Player Setup/Download Options
-- Changed checksumming code to be more portable and faster.
- The checksum in 3.15 was seriously broken.
- This change makes 3.16 incompatible with previous servers.
-- Fixed it so sounds played for PPMs that default to male are only checked
- on disk once.
-- Fixed player 'warping' present in 3.15 (this was an artifact of the
- hyperblaster optimizations).
-- Fixed the autodownload in 3.15 so that stuff like skins for models are
- downloaded as well as pics.
-
-Changes for 3.15
-----------------
-
-- Added visible weapons support. This is precached with a special symbol, i.e.
- gi.modelindex("#w_shotgun.md2") which causes the client to autobind it to
- the players current weapon model. Plug in player models can optionally
- support the visible weapons. Any that do not support it will use their
- default weapon.md2 files automatically.
- Visible weapons files for plug in player models are not downloaded
- automatically--only the default weapon.md2 (and skin) is.
- The Visible weapon models themselves are not included. They can be
- downloaded from http://www.telefragged.com/vwep/
-- Rewrote the some of the net code to use optimized network packets for
- projectiles. This is transparent to the game code, but improves netplay
- substancially. The hyperblaster doesn't flood modem players anymore.
-- Rewrote the packet checksum code to be more portable and defeat proxy bots
- yet again.
-- Autodownload support is in. The following items will be automatcally
- downloaded as needed:
- - world map (and textures)
- - models
- - sounds (precached ones)
- - plug in player model, skin, skin_i and weapon.md2
- downloads go to a temp file (maps/blah.tmp for example) and get renamed
- when done. autoresume is supported (if you lose connect during the
- download, just reconnect and resume). Server has fine control over
- the downloads with the following new cvars:
- allow_download - global download on/off
- allow_download_players - players download on/off
- allow_download_models - models download on/off
- allow_download_sounds - sounds download on/off
- allow_download_maps - maps download on/off
- maps that are in pak files will _not_ autodownload from the server, this
- is for copyright considerations.
- The QuakeWorld bug of the server map changing while download a map has
- been fixed.
-- New option in the Multiplayer/Player Setup menu for setting your connection
- speed. This sets a default rate for the player and can improve net
- performance for modem connections.
-- Rewrote some of the save game code to make it more portable. I wanted to
- completely rewrite the entire save game system and make it portable across
- versions and operating systems, but this would require an enormous amount
- of work.
-- Added another 512 configure strings for general usage for mod makers.
- This gives lots of room for general string displays on the HUD and in other
- data.
-- Player movement code re-written to be similiar to that of NetQuake and
- later versions of QuakeWorld. Player has more control in the air and
- gets a boost in vertical speed when jumping off the top of ramps.
-- Fixed up serverrecord so that it works correctly with the later versions.
- serverrecord lets the server do a recording of the current game that
- demo editors can use to make demos from any PVS in the level. Server
- recorded demos are BIG. Will look at using delta compression in them
- to cut down the size.
-- Copy protection CD check has been removed.
-- Quake2 3.15 has changed the protocol (so old servers will not run) but
- all existing game dlls can run on the new version (albiet without the
- new features such as visible weapons).
-- Added flood protection. Controlled from the following cvars:
- flood_msgs - maximum number of messages allowed in the time period
- specified by flood_persecond
- flood_persecond - time period that a maximum of flood_msgs messages are
- permitted
- flood_waitdelay - amount of time a client gets muzzled for flooding
- (gamex86 DLL specific)
-- fixed it so blaster/hyperblaster shots aren't treated as solid when
- predicting--you aren't clipped against them now.
- (gamex86 DLL specific, the SVF_DEADMONSTER flag is set on projectiles)
-- gender support is now in. The userinfo cvar "gender" can be set to
- male/female/none (none for neutral messages). This doesn't affect sounds
- but does affect death messages in the game. The models male and cyborg
- default to gender male, and female and crackhor default to female.
- Everything else defaults to none, but you can set it by typing
- "gender male" or "gender female" as appropriate.
-- IP banning support ala QW. It's built into the game dll as 'sv' console
- commands. This list is:
- sv addip <ip-mask> - adds an ip to the ban list
- sv listip <ip-mask> - removes an ip from the ban list
- sv writeip - writes the ban list to <gamedir>/listip.cfg. You can
- exec this on a server load to load the list on subsequent server runs.
- like so: quake2 +set dedicated 1 +exec listip.cfg
- sv removeip <ip-mask> - remove an ip from the list
- the ip list is a simple mask system. Adding 192.168 to the list
- would block out everyone in the 192.168.*.* net block. You get 1024 bans,
- if you need more, recompile the game dll. :)
- A new cvar is also supported called 'filterban'. It defaults to one which
- means "allow everyone to connect _except_ those matching in the ban list."
- If you set it to zero, the meaning reverses like so, "don't allow anyone
- to connect unless they are in the list."
- (gamex86 DLL specific)
-
--- a/3.17_Changes.txt
+++ /dev/null
@@ -1,158 +1,0 @@
-
-Quake2 3.17 Upgrade
--------------------
-
-This upgrade addresses several features, including security, playability, and
-enhancements.
-
-Changes for 3.17
-----------------
-
-- Fixed possible NAN resulting from handing zero to second arg of atan2
-- Autodownloading is now DISABLED by DEFAULT. It must be enabled by typing
- 'allow_download 1' at the console, or using the download options menu
- in Multiplayer/PlayerSetup/Download Options
-- Server demos now include a svc_serverdata block at the beginning with the
- attractloop byte set to '2' to indicate server demo (byte before gamedir
- in the svc_serverdata block). This allows easy identification of
- serverrecorded demos (serverrecord demos are only for demo editors, they
- can not be played back in Quake2 without being first edited).
-- New options for setting texture formats in ref_gl:
- gl_texturealphamode: default, GL_RGBA, GL_RGBA8, GL_RGB5_A1, GL_RGBA4,
- GL_RGBA2
- gl_texturesolidmode: default, GL_RGB, GL_RGB8, GL_RGB5, GL_RGB4,
- GL_R3_G3_B2, GL_RGB2 (SGI only)
-- Player movement during Air acceleration changed to reflect more real-world
- physics while airborne.
-- Fixed a bug when riding trains that caused drift in a southwest direction
- (Thanks to Jim Dose at Ritual for pointing this one out).
-- Linux: Now correctly reports out of memory rather than segfaulting (mmap
- returns (void *)-1 and not NULL on error).
-- Fixed autodownloading to not create paths for files that can't be downloaded
- (this was creating many empty directories in baseq2/players).
-- When downloading a file from a server that doesn't have it, the message is
- now "Server does not have this file" rather than "File not found."
-- Fixed some coop keys in 3.15 weren't being handled correctly (pyramid key).
-- Highbits are now stripped from console when using condump
-- Restored support for gl_modulate in multiplayer play
-- Fixed it so that players with a model/skin you don't have aren't checked for
- on disk more than once.
-- Fixed it so sounds played for PPMs that default to male are only checked
- on disk once.
-- Byte ordering/portability fixes in cinematics, PCX and other file handling.
-- Client state during static image cinematic (PCX image) so that client can
- continue to next unit.
-- Fixed it so that dedicated coop servers no longer get stuck at victory.pcx,
- if a server is in coop mode, hitting a button at the victory.pcx screen
- while cause the server to restart at base1
-- Fixed infinite grenade bug
-- Fixed autodownloading to actually download sounds and console pics
-- Fixed autodownload to not create empty directories for files not on
- the server.
-- Added customized client downloading. cvars are the same as the server side:
- allow_download - global download on/off
- allow_download_players - players download on/off
- allow_download_models - models download on/off
- allow_download_sounds - sounds download on/off
- allow_download_maps - maps download on/off
- They can also be (more easily) set with a new Download Options menu
- accessible in Multiplayer/Player Setup/Download Options
-- Changed checksumming code to be more portable and faster.
- The checksum in 3.15 was seriously broken.
- This change makes 3.17 incompatible with previous servers.
-- Fixed player 'warping' present in 3.15 (this was an artifact of the
- hyperblaster optimizations).
-- Fixed the autodownload in 3.15 so that stuff like skins for models are
- downloaded as well as pics.
-
-Changes for 3.15
-----------------
-
-- Added visible weapons support. This is precached with a special symbol, i.e.
- gi.modelindex("#w_shotgun.md2") which causes the client to autobind it to
- the players current weapon model. Plug in player models can optionally
- support the visible weapons. Any that do not support it will use their
- default weapon.md2 files automatically.
- Visible weapons files for plug in player models are not downloaded
- automatically--only the default weapon.md2 (and skin) is.
- The Visible weapon models themselves are not included. They can be
- downloaded from http://www.telefragged.com/vwep/
-- Rewrote the some of the net code to use optimized network packets for
- projectiles. This is transparent to the game code, but improves netplay
- substancially. The hyperblaster doesn't flood modem players anymore.
-- Rewrote the packet checksum code to be more portable and defeat proxy bots
- yet again.
-- Autodownload support is in. The following items will be automatcally
- downloaded as needed:
- - world map (and textures)
- - models
- - sounds (precached ones)
- - plug in player model, skin, skin_i and weapon.md2
- downloads go to a temp file (maps/blah.tmp for example) and get renamed
- when done. autoresume is supported (if you lose connect during the
- download, just reconnect and resume). Server has fine control over
- the downloads with the following new cvars:
- allow_download - global download on/off
- allow_download_players - players download on/off
- allow_download_models - models download on/off
- allow_download_sounds - sounds download on/off
- allow_download_maps - maps download on/off
- maps that are in pak files will _not_ autodownload from the server, this
- is for copyright considerations.
- The QuakeWorld bug of the server map changing while download a map has
- been fixed.
-- New option in the Multiplayer/Player Setup menu for setting your connection
- speed. This sets a default rate for the player and can improve net
- performance for modem connections.
-- Rewrote some of the save game code to make it more portable. I wanted to
- completely rewrite the entire save game system and make it portable across
- versions and operating systems, but this would require an enormous amount
- of work.
-- Added another 512 configure strings for general usage for mod makers.
- This gives lots of room for general string displays on the HUD and in other
- data.
-- Player movement code re-written to be similiar to that of NetQuake and
- later versions of QuakeWorld. Player has more control in the air and
- gets a boost in vertical speed when jumping off the top of ramps.
-- Fixed up serverrecord so that it works correctly with the later versions.
- serverrecord lets the server do a recording of the current game that
- demo editors can use to make demos from any PVS in the level. Server
- recorded demos are BIG. Will look at using delta compression in them
- to cut down the size.
-- Copy protection CD check has been removed.
-- Quake2 3.15 has changed the protocol (so old servers will not run) but
- all existing game dlls can run on the new version (albiet without the
- new features such as visible weapons).
-- Added flood protection. Controlled from the following cvars:
- flood_msgs - maximum number of messages allowed in the time period
- specified by flood_persecond
- flood_persecond - time period that a maximum of flood_msgs messages are
- permitted
- flood_waitdelay - amount of time a client gets muzzled for flooding
- (gamex86 DLL specific)
-- fixed it so blaster/hyperblaster shots aren't treated as solid when
- predicting--you aren't clipped against them now.
- (gamex86 DLL specific, the SVF_DEADMONSTER flag is set on projectiles)
-- gender support is now in. The userinfo cvar "gender" can be set to
- male/female/none (none for neutral messages). This doesn't affect sounds
- but does affect death messages in the game. The models male and cyborg
- default to gender male, and female and crackhor default to female.
- Everything else defaults to none, but you can set it by typing
- "gender male" or "gender female" as appropriate.
-- IP banning support ala QW. It's built into the game dll as 'sv' console
- commands. This list is:
- sv addip <ip-mask> - adds an ip to the ban list
- sv listip <ip-mask> - removes an ip from the ban list
- sv writeip - writes the ban list to <gamedir>/listip.cfg. You can
- exec this on a server load to load the list on subsequent server runs.
- like so: quake2 +set dedicated 1 +exec listip.cfg
- sv removeip <ip-mask> - remove an ip from the list
- the ip list is a simple mask system. Adding 192.168 to the list
- would block out everyone in the 192.168.*.* net block. You get 1024 bans,
- if you need more, recompile the game dll. :)
- A new cvar is also supported called 'filterban'. It defaults to one which
- means "allow everyone to connect _except_ those matching in the ban list."
- If you set it to zero, the meaning reverses like so, "don't allow anyone
- to connect unless they are in the list."
- (gamex86 DLL specific)
-
--- a/3.18_changes.txt
+++ /dev/null
@@ -1,53 +1,0 @@
-3.18 Changes
-
-- "Water surfing" that was present in 3.17 has been fixed (holding jump while
- on the surface of water let you swim at full speed).
-- Environment maps (env) are now autodownloaded (if allow_download_maps is set).
-- Spectator support added. A new cvar is built into the client, "spectator"
- Setting it to value other than "0" will allow you join a game as a spectator.
- While in spectator mode, you can press the attack button to enter a chasecam
- mode and follow other players. Using the inventory keys (by default the
- left and right square brackets) you can switch between players in the game
- while using the chasecam.
- You may enter and leave spectator mode while connected. Doing so resets
- your score to zero.
- ***The new spectator support requires a new game.dll and may not work for
- user mods until they update their code. The default game.dll that comes
- with 3.18 supports chasecam as well as the new included Xatrix game.dll.
-- Fixed it so that when a model defaults to male/grunt (don't have the
- necessary model or skin for the player), VWep support is still enabled.
-- New console command for players, "playerlist". This will cause the server
- to give you a text list of the players on the server, including their
- connect time, score, ping and spectator status. This is handy if not
- everyone fits on the scoreboard on busy servers.
-- New cvar for the game.dll: spectator_password. If set to a value (other
- than "none"), users must set their spectator variable to this value in order
- to join the server as a spectator. This password is independant of the
- normal user password.
-- New cvar for the game.dll: maxspectators (defaults to 4). This value is
- not seperate from maxclients (a spectator is still a client).
-- New cvar for the game.dll: sv_maplist. This can be set to a list of map
- names that the server should autorotate through, rather than using the
- nextmap set in the actual map files themselves.
- For example: set sv_maplist "base1 q2dm1 q2dm3 fact3" will cause the server
- to rotate through those maps.
- ***This requires a game.dll update and will not work with user mods until
- they update their code.
-- A new facility has been added to ClientConnect() in the game.dll to allow
- the game.dll to pass a message back to the user for the reason of disallowing
- a connection. It is done by setting a key of "rejmsg" in the passed userinfo.
- For example:
- Info_SetValueforKey(userinfo, "rejmsg", "Password required or incorrect.");
-- The server cvar, password, may be set to "none" to clear the password. This
- is needed because rcon can not set a blank password.
-- New server cvar: sv_airaccelerate. This controls the optional air
- acceleration facility. The default value is 0, which disables air control.
- The usual value to replicate the air control seen in the original Quake and
- later versions of Quakeworld is 10. 10 allows for much more
- air control (as was seen in 3.15). This value is ignored in single player
- and coop.
-- Fixed NoSuchFrame/BAD_MODELTYPE errors when doing a vid_restart while
- connected.
-- NoSuchFrame errors now include model name to assist in debugging user mods.
-- Fixed the remote status query response (ServerInfo) to not include error
- messages and be more consistent.
--- /dev/null
+++ b/README
@@ -1,0 +1,8 @@
+qk2 - (9) quake 2
+=================
+
+
+legal
+-----
+Quake 2, hence qk2, is licensed under the GPLv2. See COPYING for details.
+All of the Q2 data files remain copyrighted and licensed under the original terms.
--- /dev/null
+++ b/anorms.h
@@ -1,0 +1,181 @@
+/*
+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.
+
+*/
+{-0.525731, 0.000000, 0.850651},
+{-0.442863, 0.238856, 0.864188},
+{-0.295242, 0.000000, 0.955423},
+{-0.309017, 0.500000, 0.809017},
+{-0.162460, 0.262866, 0.951056},
+{0.000000, 0.000000, 1.000000},
+{0.000000, 0.850651, 0.525731},
+{-0.147621, 0.716567, 0.681718},
+{0.147621, 0.716567, 0.681718},
+{0.000000, 0.525731, 0.850651},
+{0.309017, 0.500000, 0.809017},
+{0.525731, 0.000000, 0.850651},
+{0.295242, 0.000000, 0.955423},
+{0.442863, 0.238856, 0.864188},
+{0.162460, 0.262866, 0.951056},
+{-0.681718, 0.147621, 0.716567},
+{-0.809017, 0.309017, 0.500000},
+{-0.587785, 0.425325, 0.688191},
+{-0.850651, 0.525731, 0.000000},
+{-0.864188, 0.442863, 0.238856},
+{-0.716567, 0.681718, 0.147621},
+{-0.688191, 0.587785, 0.425325},
+{-0.500000, 0.809017, 0.309017},
+{-0.238856, 0.864188, 0.442863},
+{-0.425325, 0.688191, 0.587785},
+{-0.716567, 0.681718, -0.147621},
+{-0.500000, 0.809017, -0.309017},
+{-0.525731, 0.850651, 0.000000},
+{0.000000, 0.850651, -0.525731},
+{-0.238856, 0.864188, -0.442863},
+{0.000000, 0.955423, -0.295242},
+{-0.262866, 0.951056, -0.162460},
+{0.000000, 1.000000, 0.000000},
+{0.000000, 0.955423, 0.295242},
+{-0.262866, 0.951056, 0.162460},
+{0.238856, 0.864188, 0.442863},
+{0.262866, 0.951056, 0.162460},
+{0.500000, 0.809017, 0.309017},
+{0.238856, 0.864188, -0.442863},
+{0.262866, 0.951056, -0.162460},
+{0.500000, 0.809017, -0.309017},
+{0.850651, 0.525731, 0.000000},
+{0.716567, 0.681718, 0.147621},
+{0.716567, 0.681718, -0.147621},
+{0.525731, 0.850651, 0.000000},
+{0.425325, 0.688191, 0.587785},
+{0.864188, 0.442863, 0.238856},
+{0.688191, 0.587785, 0.425325},
+{0.809017, 0.309017, 0.500000},
+{0.681718, 0.147621, 0.716567},
+{0.587785, 0.425325, 0.688191},
+{0.955423, 0.295242, 0.000000},
+{1.000000, 0.000000, 0.000000},
+{0.951056, 0.162460, 0.262866},
+{0.850651, -0.525731, 0.000000},
+{0.955423, -0.295242, 0.000000},
+{0.864188, -0.442863, 0.238856},
+{0.951056, -0.162460, 0.262866},
+{0.809017, -0.309017, 0.500000},
+{0.681718, -0.147621, 0.716567},
+{0.850651, 0.000000, 0.525731},
+{0.864188, 0.442863, -0.238856},
+{0.809017, 0.309017, -0.500000},
+{0.951056, 0.162460, -0.262866},
+{0.525731, 0.000000, -0.850651},
+{0.681718, 0.147621, -0.716567},
+{0.681718, -0.147621, -0.716567},
+{0.850651, 0.000000, -0.525731},
+{0.809017, -0.309017, -0.500000},
+{0.864188, -0.442863, -0.238856},
+{0.951056, -0.162460, -0.262866},
+{0.147621, 0.716567, -0.681718},
+{0.309017, 0.500000, -0.809017},
+{0.425325, 0.688191, -0.587785},
+{0.442863, 0.238856, -0.864188},
+{0.587785, 0.425325, -0.688191},
+{0.688191, 0.587785, -0.425325},
+{-0.147621, 0.716567, -0.681718},
+{-0.309017, 0.500000, -0.809017},
+{0.000000, 0.525731, -0.850651},
+{-0.525731, 0.000000, -0.850651},
+{-0.442863, 0.238856, -0.864188},
+{-0.295242, 0.000000, -0.955423},
+{-0.162460, 0.262866, -0.951056},
+{0.000000, 0.000000, -1.000000},
+{0.295242, 0.000000, -0.955423},
+{0.162460, 0.262866, -0.951056},
+{-0.442863, -0.238856, -0.864188},
+{-0.309017, -0.500000, -0.809017},
+{-0.162460, -0.262866, -0.951056},
+{0.000000, -0.850651, -0.525731},
+{-0.147621, -0.716567, -0.681718},
+{0.147621, -0.716567, -0.681718},
+{0.000000, -0.525731, -0.850651},
+{0.309017, -0.500000, -0.809017},
+{0.442863, -0.238856, -0.864188},
+{0.162460, -0.262866, -0.951056},
+{0.238856, -0.864188, -0.442863},
+{0.500000, -0.809017, -0.309017},
+{0.425325, -0.688191, -0.587785},
+{0.716567, -0.681718, -0.147621},
+{0.688191, -0.587785, -0.425325},
+{0.587785, -0.425325, -0.688191},
+{0.000000, -0.955423, -0.295242},
+{0.000000, -1.000000, 0.000000},
+{0.262866, -0.951056, -0.162460},
+{0.000000, -0.850651, 0.525731},
+{0.000000, -0.955423, 0.295242},
+{0.238856, -0.864188, 0.442863},
+{0.262866, -0.951056, 0.162460},
+{0.500000, -0.809017, 0.309017},
+{0.716567, -0.681718, 0.147621},
+{0.525731, -0.850651, 0.000000},
+{-0.238856, -0.864188, -0.442863},
+{-0.500000, -0.809017, -0.309017},
+{-0.262866, -0.951056, -0.162460},
+{-0.850651, -0.525731, 0.000000},
+{-0.716567, -0.681718, -0.147621},
+{-0.716567, -0.681718, 0.147621},
+{-0.525731, -0.850651, 0.000000},
+{-0.500000, -0.809017, 0.309017},
+{-0.238856, -0.864188, 0.442863},
+{-0.262866, -0.951056, 0.162460},
+{-0.864188, -0.442863, 0.238856},
+{-0.809017, -0.309017, 0.500000},
+{-0.688191, -0.587785, 0.425325},
+{-0.681718, -0.147621, 0.716567},
+{-0.442863, -0.238856, 0.864188},
+{-0.587785, -0.425325, 0.688191},
+{-0.309017, -0.500000, 0.809017},
+{-0.147621, -0.716567, 0.681718},
+{-0.425325, -0.688191, 0.587785},
+{-0.162460, -0.262866, 0.951056},
+{0.442863, -0.238856, 0.864188},
+{0.162460, -0.262866, 0.951056},
+{0.309017, -0.500000, 0.809017},
+{0.147621, -0.716567, 0.681718},
+{0.000000, -0.525731, 0.850651},
+{0.425325, -0.688191, 0.587785},
+{0.587785, -0.425325, 0.688191},
+{0.688191, -0.587785, 0.425325},
+{-0.955423, 0.295242, 0.000000},
+{-0.951056, 0.162460, 0.262866},
+{-1.000000, 0.000000, 0.000000},
+{-0.850651, 0.000000, 0.525731},
+{-0.955423, -0.295242, 0.000000},
+{-0.951056, -0.162460, 0.262866},
+{-0.864188, 0.442863, -0.238856},
+{-0.951056, 0.162460, -0.262866},
+{-0.809017, 0.309017, -0.500000},
+{-0.864188, -0.442863, -0.238856},
+{-0.951056, -0.162460, -0.262866},
+{-0.809017, -0.309017, -0.500000},
+{-0.681718, 0.147621, -0.716567},
+{-0.681718, -0.147621, -0.716567},
+{-0.850651, 0.000000, -0.525731},
+{-0.688191, 0.587785, -0.425325},
+{-0.587785, 0.425325, -0.688191},
+{-0.425325, 0.688191, -0.587785},
+{-0.425325, -0.688191, -0.587785},
+{-0.587785, -0.425325, -0.688191},
+{-0.688191, -0.587785, -0.425325},
--- a/changes.txt
+++ /dev/null
@@ -1,166 +1,0 @@
-
-Quake2 3.16 changes:
-
-- Fixed infinite grenade bug
-- Fixed autodownloading to actually download sounds and console pics
-- Fixed autodownload to not create empty directories for files not on
- the server.
-- Added customized client downloading. cvars are the same as the server side:
- allow_download - global download on/off
- allow_download_players - players download on/off
- allow_download_models - models download on/off
- allow_download_sounds - sounds download on/off
- allow_download_maps - maps download on/off
- They can also be (more easily) set with a new Download Options menu
- accessible in Multiplayer/Player Setup/Download Options
-- Changed checksumming code to be more portable and faster.
-
-
-Quake2 3.15 changes:
-
-- Added visible weapons support. This is precached with a special symbol, i.e.
- gi.modelindex("#w_shotgun.md2") which causes the client to autobind it to
- the players current weapon model. Plug in player models can optionally
- support the visible weapons. Any that do not support it will use their
- default weapon.md2 files automatically.
- Visible weapons files for plug in player models are not downloaded
- automatically--only the default weapon.md2 (and skin) is.
-- New cvar cl_vwep controls whether visible weapons is enabled on the client.
- If you turn it off, the visible weapons models are not loaded. This can offer
- a speed up on slow or memory starved machines.
-- Rewrote the some of the net code to use optimized network packets for
- projectiles. This is transparent to the game code, but improves netplay
- substancially. The hyperblaster doesn't flood modem players anymore.
-- Rewrote the packet checksum code to be more portable and defeat proxy bots
- yet again.
-- Autodownload support is in. The following items will be automatcally
- downloaded as needed:
- - world map (and textures)
- - models
- - sounds (precached ones)
- - plug in player model, skin, skin_i and weapon.md2
- downloads go to a temp file (maps/blah.tmp for example) and get renamed
- when done. autoresume is supported (if you lose connect during the
- download, just reconnect and resume). Server has fine control over
- the downloads with the following new cvars:
- allow_download - global download on/off
- allow_download_players - players download on/off
- allow_download_models - models download on/off
- allow_download_sounds - sounds download on/off
- allow_download_maps - maps download on/off
- maps that are in pak files will _not_ autodownload from the server, this
- is for copyright considerations.
- The QuakeWorld bug of the server map changing while download a map has
- been fixed.
-- New option in the Multiplayer/Player Setup menu for setting your connection
- speed. This sets a default rate for the player and can improve net
- performance for modem connections.
-- Rewrote some of the save game code to make it more portable. I wanted to
- completely rewrite the entire save game system and make it portable across
- versions and operating systems, but this would require an enormous amount
- of work.
-- Added another 512 configure strings for general usage for mod makers.
- This gives lots of room for general string displays on the HUD and in other
- data.
-- Player movement code re-written to be similiar to that of NetQuake and
- later versions of QuakeWorld. Player has more control in the air and
- gets a boost in vertical speed when jumping off the top of ramps.
-- Fixed up serverrecord so that it works correctly with the later versions.
- serverrecord lets the server do a recording of the current game that
- demo editors can use to make demos from any PVS in the level. Server
- recorded demos are BIG. Will look at using delta compression in them
- to cut down the size.
-- Copy protection CD check has been removed.
-- Quake2 3.15 has changed the protocol (so old servers will not run) but
- all existing game dlls can run on the new version (albiet without the
- new features such as visible weapons).
-- Added flood protection. Controlled from the following cvars:
- flood_msgs - maximum number of messages allowed in the time period
- specified by flood_persecond
- flood_persecond - time period that a maximum of flood_msgs messages are
- permitted
- flood_waitdelay - amount of time a client gets muzzled for flooding
-- fixed it so blaster/hyperblaster shots aren't treated as solid when
- predicting--you aren't clipped against them now.
-- gender support is now in. The userinfo cvar "gender" can be set to
- male/female/none (none for neutral messages). This doesn't affect sounds
- but does affect death messages in the game. The models male and cyborg
- default to gender male, and female and crackhor default to female.
- Everything else defaults to none, but you can set it by typing
- "gender male" or "gender female" as appropriate.
-- IP banning support ala QW. It's built into the game dll as 'sv' console
- commands. This list is:
- sv addip <ip-mask> - adds an ip to the ban list
- sv listip <ip-mask> - removes an ip from the ban list
- sv writeip - writes the ban list to <gamedir>/listip.cfg. You can
- exec this on a server load to load the list on subsequent server runs.
- like so: quake2 +set dedicated 1 +exec listip.cfg
- sv removeip <ip-mask> - remove an ip from the list
- the ip list is a simple mask system. Adding 192.168 to the list
- would block out everyone in the 192.168.*.* net block. You get 1024 bans,
- if you need more, recompile the game dll. :)
- A new cvar is also supported called 'filterban'. It defaults to one which
- means "allow everyone to connect _except_ those matching in the ban list."
- If you set it to zero, the meaning reverses like so, "don't allow anyone
- to connect unless they are in the list."
-
-Quake2 CTF 1.09a Changes:
-
-- Q2CTF 1.09 requires 3.15 now.
-- Competition Match mode added. Server can be reset into a timed match mode.
- Includes a pregame setup time, countdown until game start, timed match,
- statistics on players, admin functions and a post game time.
-- The server command 'gamemap' now works correctly. On a server, you can
- change maps with two commands: map and gamemap. Map will cause all teams
- to reset, gamemap will change maps with the teams intact.
-- New console commands:
- yes - vote yes on an election
- no - vote no on an election
- ready - ready oneself for a match
- notready - remove oneself from the ready list (stop the clock)
- ghost - ghost back into a match if connection was lost
- admin - become an admin or access the admin menu
- stats - show statistics on players in a match
- warp - warp to a new level
- boot - kick a player of the server (you must be an admin)
- playerlist - show player list and connect times
-- New cvars:
- competition - set to 1 to allow the server to be voted by players into
- competition mode. Set to 3 for a dedicated competition server.
- The default, 0, disables competition features.
- matchlock - controls whether players are allowed into a match in progress
- in competition mode. Defaults to on (1).
- electpercentage - the precentage of yes votes needed to win an election.
- Defaults to 66%.
- matchtime - length of a match, defaulting to 20 minutes. Can be changed
- by admins.
- matchsetuptime - length of time allowed to setup a match (after which
- the server will reset itself back into normal pickup play). Defaults
- to 10 mins.
- matchstarttime - The countdown after match setup has been completed
- until the match begins. Defaults to 20 seconds.
- admin_password - Password for admin access (allowing access to the admin
- menu without needing to be elected).
-- Minor bug fixes in team selection to help balance the teams better (the
- default option on the menu is now the team with the fewer players).
-- Don't get base defenses for telefragging your teammates in base.
-- Telefrags at start of game no longer count (to help with game spawning).
-- Instant weapon changing is now a server option (and can be changed by
- admin menu).
-- New admin menu that allows remote changes of the following items:
- Match length (time)
- Match setup length (time)
- Match start length (time)
- Weapons Stay
- Instant Items
- Quad Drop
- Instant Weapons
-- As part of the match code, a new 'ghost' option is included. When a match
- begins, all players are printed a randomly generated five digit ghost code
- in their consoles. If the player loses connection for some reason during
- the match, they can reconnect and reenter the game keeping their score
- intact at the time of disconnection.
-- Visible weapon support (as with the 3.15 release).
-- Some minor changes to the pmenu code to allow more flexability
-
-
--- a/client/adivtab.h
+++ /dev/null
@@ -1,1058 +1,0 @@
-// table of quotients and remainders for [-15...16] / [-15...16]
-
-// numerator = -15
-{1, 0},
-{1, -1},
-{1, -2},
-{1, -3},
-{1, -4},
-{1, -5},
-{1, -6},
-{1, -7},
-{2, -1},
-{2, -3},
-{3, 0},
-{3, -3},
-{5, 0},
-{7, -1},
-{15, 0},
-{0, 0},
-{-15, 0},
-{-8, 1},
-{-5, 0},
-{-4, 1},
-{-3, 0},
-{-3, 3},
-{-3, 6},
-{-2, 1},
-{-2, 3},
-{-2, 5},
-{-2, 7},
-{-2, 9},
-{-2, 11},
-{-2, 13},
-{-1, 0},
-{-1, 1},
-// numerator = -14
-{0, -14},
-{1, 0},
-{1, -1},
-{1, -2},
-{1, -3},
-{1, -4},
-{1, -5},
-{1, -6},
-{2, 0},
-{2, -2},
-{2, -4},
-{3, -2},
-{4, -2},
-{7, 0},
-{14, 0},
-{0, 0},
-{-14, 0},
-{-7, 0},
-{-5, 1},
-{-4, 2},
-{-3, 1},
-{-3, 4},
-{-2, 0},
-{-2, 2},
-{-2, 4},
-{-2, 6},
-{-2, 8},
-{-2, 10},
-{-2, 12},
-{-1, 0},
-{-1, 1},
-{-1, 2},
-// numerator = -13
-{0, -13},
-{0, -13},
-{1, 0},
-{1, -1},
-{1, -2},
-{1, -3},
-{1, -4},
-{1, -5},
-{1, -6},
-{2, -1},
-{2, -3},
-{3, -1},
-{4, -1},
-{6, -1},
-{13, 0},
-{0, 0},
-{-13, 0},
-{-7, 1},
-{-5, 2},
-{-4, 3},
-{-3, 2},
-{-3, 5},
-{-2, 1},
-{-2, 3},
-{-2, 5},
-{-2, 7},
-{-2, 9},
-{-2, 11},
-{-1, 0},
-{-1, 1},
-{-1, 2},
-{-1, 3},
-// numerator = -12
-{0, -12},
-{0, -12},
-{0, -12},
-{1, 0},
-{1, -1},
-{1, -2},
-{1, -3},
-{1, -4},
-{1, -5},
-{2, 0},
-{2, -2},
-{3, 0},
-{4, 0},
-{6, 0},
-{12, 0},
-{0, 0},
-{-12, 0},
-{-6, 0},
-{-4, 0},
-{-3, 0},
-{-3, 3},
-{-2, 0},
-{-2, 2},
-{-2, 4},
-{-2, 6},
-{-2, 8},
-{-2, 10},
-{-1, 0},
-{-1, 1},
-{-1, 2},
-{-1, 3},
-{-1, 4},
-// numerator = -11
-{0, -11},
-{0, -11},
-{0, -11},
-{0, -11},
-{1, 0},
-{1, -1},
-{1, -2},
-{1, -3},
-{1, -4},
-{1, -5},
-{2, -1},
-{2, -3},
-{3, -2},
-{5, -1},
-{11, 0},
-{0, 0},
-{-11, 0},
-{-6, 1},
-{-4, 1},
-{-3, 1},
-{-3, 4},
-{-2, 1},
-{-2, 3},
-{-2, 5},
-{-2, 7},
-{-2, 9},
-{-1, 0},
-{-1, 1},
-{-1, 2},
-{-1, 3},
-{-1, 4},
-{-1, 5},
-// numerator = -10
-{0, -10},
-{0, -10},
-{0, -10},
-{0, -10},
-{0, -10},
-{1, 0},
-{1, -1},
-{1, -2},
-{1, -3},
-{1, -4},
-{2, 0},
-{2, -2},
-{3, -1},
-{5, 0},
-{10, 0},
-{0, 0},
-{-10, 0},
-{-5, 0},
-{-4, 2},
-{-3, 2},
-{-2, 0},
-{-2, 2},
-{-2, 4},
-{-2, 6},
-{-2, 8},
-{-1, 0},
-{-1, 1},
-{-1, 2},
-{-1, 3},
-{-1, 4},
-{-1, 5},
-{-1, 6},
-// numerator = -9
-{0, -9},
-{0, -9},
-{0, -9},
-{0, -9},
-{0, -9},
-{0, -9},
-{1, 0},
-{1, -1},
-{1, -2},
-{1, -3},
-{1, -4},
-{2, -1},
-{3, 0},
-{4, -1},
-{9, 0},
-{0, 0},
-{-9, 0},
-{-5, 1},
-{-3, 0},
-{-3, 3},
-{-2, 1},
-{-2, 3},
-{-2, 5},
-{-2, 7},
-{-1, 0},
-{-1, 1},
-{-1, 2},
-{-1, 3},
-{-1, 4},
-{-1, 5},
-{-1, 6},
-{-1, 7},
-// numerator = -8
-{0, -8},
-{0, -8},
-{0, -8},
-{0, -8},
-{0, -8},
-{0, -8},
-{0, -8},
-{1, 0},
-{1, -1},
-{1, -2},
-{1, -3},
-{2, 0},
-{2, -2},
-{4, 0},
-{8, 0},
-{0, 0},
-{-8, 0},
-{-4, 0},
-{-3, 1},
-{-2, 0},
-{-2, 2},
-{-2, 4},
-{-2, 6},
-{-1, 0},
-{-1, 1},
-{-1, 2},
-{-1, 3},
-{-1, 4},
-{-1, 5},
-{-1, 6},
-{-1, 7},
-{-1, 8},
-// numerator = -7
-{0, -7},
-{0, -7},
-{0, -7},
-{0, -7},
-{0, -7},
-{0, -7},
-{0, -7},
-{0, -7},
-{1, 0},
-{1, -1},
-{1, -2},
-{1, -3},
-{2, -1},
-{3, -1},
-{7, 0},
-{0, 0},
-{-7, 0},
-{-4, 1},
-{-3, 2},
-{-2, 1},
-{-2, 3},
-{-2, 5},
-{-1, 0},
-{-1, 1},
-{-1, 2},
-{-1, 3},
-{-1, 4},
-{-1, 5},
-{-1, 6},
-{-1, 7},
-{-1, 8},
-{-1, 9},
-// numerator = -6
-{0, -6},
-{0, -6},
-{0, -6},
-{0, -6},
-{0, -6},
-{0, -6},
-{0, -6},
-{0, -6},
-{0, -6},
-{1, 0},
-{1, -1},
-{1, -2},
-{2, 0},
-{3, 0},
-{6, 0},
-{0, 0},
-{-6, 0},
-{-3, 0},
-{-2, 0},
-{-2, 2},
-{-2, 4},
-{-1, 0},
-{-1, 1},
-{-1, 2},
-{-1, 3},
-{-1, 4},
-{-1, 5},
-{-1, 6},
-{-1, 7},
-{-1, 8},
-{-1, 9},
-{-1, 10},
-// numerator = -5
-{0, -5},
-{0, -5},
-{0, -5},
-{0, -5},
-{0, -5},
-{0, -5},
-{0, -5},
-{0, -5},
-{0, -5},
-{0, -5},
-{1, 0},
-{1, -1},
-{1, -2},
-{2, -1},
-{5, 0},
-{0, 0},
-{-5, 0},
-{-3, 1},
-{-2, 1},
-{-2, 3},
-{-1, 0},
-{-1, 1},
-{-1, 2},
-{-1, 3},
-{-1, 4},
-{-1, 5},
-{-1, 6},
-{-1, 7},
-{-1, 8},
-{-1, 9},
-{-1, 10},
-{-1, 11},
-// numerator = -4
-{0, -4},
-{0, -4},
-{0, -4},
-{0, -4},
-{0, -4},
-{0, -4},
-{0, -4},
-{0, -4},
-{0, -4},
-{0, -4},
-{0, -4},
-{1, 0},
-{1, -1},
-{2, 0},
-{4, 0},
-{0, 0},
-{-4, 0},
-{-2, 0},
-{-2, 2},
-{-1, 0},
-{-1, 1},
-{-1, 2},
-{-1, 3},
-{-1, 4},
-{-1, 5},
-{-1, 6},
-{-1, 7},
-{-1, 8},
-{-1, 9},
-{-1, 10},
-{-1, 11},
-{-1, 12},
-// numerator = -3
-{0, -3},
-{0, -3},
-{0, -3},
-{0, -3},
-{0, -3},
-{0, -3},
-{0, -3},
-{0, -3},
-{0, -3},
-{0, -3},
-{0, -3},
-{0, -3},
-{1, 0},
-{1, -1},
-{3, 0},
-{0, 0},
-{-3, 0},
-{-2, 1},
-{-1, 0},
-{-1, 1},
-{-1, 2},
-{-1, 3},
-{-1, 4},
-{-1, 5},
-{-1, 6},
-{-1, 7},
-{-1, 8},
-{-1, 9},
-{-1, 10},
-{-1, 11},
-{-1, 12},
-{-1, 13},
-// numerator = -2
-{0, -2},
-{0, -2},
-{0, -2},
-{0, -2},
-{0, -2},
-{0, -2},
-{0, -2},
-{0, -2},
-{0, -2},
-{0, -2},
-{0, -2},
-{0, -2},
-{0, -2},
-{1, 0},
-{2, 0},
-{0, 0},
-{-2, 0},
-{-1, 0},
-{-1, 1},
-{-1, 2},
-{-1, 3},
-{-1, 4},
-{-1, 5},
-{-1, 6},
-{-1, 7},
-{-1, 8},
-{-1, 9},
-{-1, 10},
-{-1, 11},
-{-1, 12},
-{-1, 13},
-{-1, 14},
-// numerator = -1
-{0, -1},
-{0, -1},
-{0, -1},
-{0, -1},
-{0, -1},
-{0, -1},
-{0, -1},
-{0, -1},
-{0, -1},
-{0, -1},
-{0, -1},
-{0, -1},
-{0, -1},
-{0, -1},
-{1, 0},
-{0, 0},
-{-1, 0},
-{-1, 1},
-{-1, 2},
-{-1, 3},
-{-1, 4},
-{-1, 5},
-{-1, 6},
-{-1, 7},
-{-1, 8},
-{-1, 9},
-{-1, 10},
-{-1, 11},
-{-1, 12},
-{-1, 13},
-{-1, 14},
-{-1, 15},
-// numerator = 0
-{0, 0},
-{0, 0},
-{0, 0},
-{0, 0},
-{0, 0},
-{0, 0},
-{0, 0},
-{0, 0},
-{0, 0},
-{0, 0},
-{0, 0},
-{0, 0},
-{0, 0},
-{0, 0},
-{0, 0},
-{0, 0},
-{0, 0},
-{0, 0},
-{0, 0},
-{0, 0},
-{0, 0},
-{0, 0},
-{0, 0},
-{0, 0},
-{0, 0},
-{0, 0},
-{0, 0},
-{0, 0},
-{0, 0},
-{0, 0},
-{0, 0},
-{0, 0},
-// numerator = 1
-{-1, -14},
-{-1, -13},
-{-1, -12},
-{-1, -11},
-{-1, -10},
-{-1, -9},
-{-1, -8},
-{-1, -7},
-{-1, -6},
-{-1, -5},
-{-1, -4},
-{-1, -3},
-{-1, -2},
-{-1, -1},
-{-1, 0},
-{0, 0},
-{1, 0},
-{0, 1},
-{0, 1},
-{0, 1},
-{0, 1},
-{0, 1},
-{0, 1},
-{0, 1},
-{0, 1},
-{0, 1},
-{0, 1},
-{0, 1},
-{0, 1},
-{0, 1},
-{0, 1},
-{0, 1},
-// numerator = 2
-{-1, -13},
-{-1, -12},
-{-1, -11},
-{-1, -10},
-{-1, -9},
-{-1, -8},
-{-1, -7},
-{-1, -6},
-{-1, -5},
-{-1, -4},
-{-1, -3},
-{-1, -2},
-{-1, -1},
-{-1, 0},
-{-2, 0},
-{0, 0},
-{2, 0},
-{1, 0},
-{0, 2},
-{0, 2},
-{0, 2},
-{0, 2},
-{0, 2},
-{0, 2},
-{0, 2},
-{0, 2},
-{0, 2},
-{0, 2},
-{0, 2},
-{0, 2},
-{0, 2},
-{0, 2},
-// numerator = 3
-{-1, -12},
-{-1, -11},
-{-1, -10},
-{-1, -9},
-{-1, -8},
-{-1, -7},
-{-1, -6},
-{-1, -5},
-{-1, -4},
-{-1, -3},
-{-1, -2},
-{-1, -1},
-{-1, 0},
-{-2, -1},
-{-3, 0},
-{0, 0},
-{3, 0},
-{1, 1},
-{1, 0},
-{0, 3},
-{0, 3},
-{0, 3},
-{0, 3},
-{0, 3},
-{0, 3},
-{0, 3},
-{0, 3},
-{0, 3},
-{0, 3},
-{0, 3},
-{0, 3},
-{0, 3},
-// numerator = 4
-{-1, -11},
-{-1, -10},
-{-1, -9},
-{-1, -8},
-{-1, -7},
-{-1, -6},
-{-1, -5},
-{-1, -4},
-{-1, -3},
-{-1, -2},
-{-1, -1},
-{-1, 0},
-{-2, -2},
-{-2, 0},
-{-4, 0},
-{0, 0},
-{4, 0},
-{2, 0},
-{1, 1},
-{1, 0},
-{0, 4},
-{0, 4},
-{0, 4},
-{0, 4},
-{0, 4},
-{0, 4},
-{0, 4},
-{0, 4},
-{0, 4},
-{0, 4},
-{0, 4},
-{0, 4},
-// numerator = 5
-{-1, -10},
-{-1, -9},
-{-1, -8},
-{-1, -7},
-{-1, -6},
-{-1, -5},
-{-1, -4},
-{-1, -3},
-{-1, -2},
-{-1, -1},
-{-1, 0},
-{-2, -3},
-{-2, -1},
-{-3, -1},
-{-5, 0},
-{0, 0},
-{5, 0},
-{2, 1},
-{1, 2},
-{1, 1},
-{1, 0},
-{0, 5},
-{0, 5},
-{0, 5},
-{0, 5},
-{0, 5},
-{0, 5},
-{0, 5},
-{0, 5},
-{0, 5},
-{0, 5},
-{0, 5},
-// numerator = 6
-{-1, -9},
-{-1, -8},
-{-1, -7},
-{-1, -6},
-{-1, -5},
-{-1, -4},
-{-1, -3},
-{-1, -2},
-{-1, -1},
-{-1, 0},
-{-2, -4},
-{-2, -2},
-{-2, 0},
-{-3, 0},
-{-6, 0},
-{0, 0},
-{6, 0},
-{3, 0},
-{2, 0},
-{1, 2},
-{1, 1},
-{1, 0},
-{0, 6},
-{0, 6},
-{0, 6},
-{0, 6},
-{0, 6},
-{0, 6},
-{0, 6},
-{0, 6},
-{0, 6},
-{0, 6},
-// numerator = 7
-{-1, -8},
-{-1, -7},
-{-1, -6},
-{-1, -5},
-{-1, -4},
-{-1, -3},
-{-1, -2},
-{-1, -1},
-{-1, 0},
-{-2, -5},
-{-2, -3},
-{-2, -1},
-{-3, -2},
-{-4, -1},
-{-7, 0},
-{0, 0},
-{7, 0},
-{3, 1},
-{2, 1},
-{1, 3},
-{1, 2},
-{1, 1},
-{1, 0},
-{0, 7},
-{0, 7},
-{0, 7},
-{0, 7},
-{0, 7},
-{0, 7},
-{0, 7},
-{0, 7},
-{0, 7},
-// numerator = 8
-{-1, -7},
-{-1, -6},
-{-1, -5},
-{-1, -4},
-{-1, -3},
-{-1, -2},
-{-1, -1},
-{-1, 0},
-{-2, -6},
-{-2, -4},
-{-2, -2},
-{-2, 0},
-{-3, -1},
-{-4, 0},
-{-8, 0},
-{0, 0},
-{8, 0},
-{4, 0},
-{2, 2},
-{2, 0},
-{1, 3},
-{1, 2},
-{1, 1},
-{1, 0},
-{0, 8},
-{0, 8},
-{0, 8},
-{0, 8},
-{0, 8},
-{0, 8},
-{0, 8},
-{0, 8},
-// numerator = 9
-{-1, -6},
-{-1, -5},
-{-1, -4},
-{-1, -3},
-{-1, -2},
-{-1, -1},
-{-1, 0},
-{-2, -7},
-{-2, -5},
-{-2, -3},
-{-2, -1},
-{-3, -3},
-{-3, 0},
-{-5, -1},
-{-9, 0},
-{0, 0},
-{9, 0},
-{4, 1},
-{3, 0},
-{2, 1},
-{1, 4},
-{1, 3},
-{1, 2},
-{1, 1},
-{1, 0},
-{0, 9},
-{0, 9},
-{0, 9},
-{0, 9},
-{0, 9},
-{0, 9},
-{0, 9},
-// numerator = 10
-{-1, -5},
-{-1, -4},
-{-1, -3},
-{-1, -2},
-{-1, -1},
-{-1, 0},
-{-2, -8},
-{-2, -6},
-{-2, -4},
-{-2, -2},
-{-2, 0},
-{-3, -2},
-{-4, -2},
-{-5, 0},
-{-10, 0},
-{0, 0},
-{10, 0},
-{5, 0},
-{3, 1},
-{2, 2},
-{2, 0},
-{1, 4},
-{1, 3},
-{1, 2},
-{1, 1},
-{1, 0},
-{0, 10},
-{0, 10},
-{0, 10},
-{0, 10},
-{0, 10},
-{0, 10},
-// numerator = 11
-{-1, -4},
-{-1, -3},
-{-1, -2},
-{-1, -1},
-{-1, 0},
-{-2, -9},
-{-2, -7},
-{-2, -5},
-{-2, -3},
-{-2, -1},
-{-3, -4},
-{-3, -1},
-{-4, -1},
-{-6, -1},
-{-11, 0},
-{0, 0},
-{11, 0},
-{5, 1},
-{3, 2},
-{2, 3},
-{2, 1},
-{1, 5},
-{1, 4},
-{1, 3},
-{1, 2},
-{1, 1},
-{1, 0},
-{0, 11},
-{0, 11},
-{0, 11},
-{0, 11},
-{0, 11},
-// numerator = 12
-{-1, -3},
-{-1, -2},
-{-1, -1},
-{-1, 0},
-{-2, -10},
-{-2, -8},
-{-2, -6},
-{-2, -4},
-{-2, -2},
-{-2, 0},
-{-3, -3},
-{-3, 0},
-{-4, 0},
-{-6, 0},
-{-12, 0},
-{0, 0},
-{12, 0},
-{6, 0},
-{4, 0},
-{3, 0},
-{2, 2},
-{2, 0},
-{1, 5},
-{1, 4},
-{1, 3},
-{1, 2},
-{1, 1},
-{1, 0},
-{0, 12},
-{0, 12},
-{0, 12},
-{0, 12},
-// numerator = 13
-{-1, -2},
-{-1, -1},
-{-1, 0},
-{-2, -11},
-{-2, -9},
-{-2, -7},
-{-2, -5},
-{-2, -3},
-{-2, -1},
-{-3, -5},
-{-3, -2},
-{-4, -3},
-{-5, -2},
-{-7, -1},
-{-13, 0},
-{0, 0},
-{13, 0},
-{6, 1},
-{4, 1},
-{3, 1},
-{2, 3},
-{2, 1},
-{1, 6},
-{1, 5},
-{1, 4},
-{1, 3},
-{1, 2},
-{1, 1},
-{1, 0},
-{0, 13},
-{0, 13},
-{0, 13},
-// numerator = 14
-{-1, -1},
-{-1, 0},
-{-2, -12},
-{-2, -10},
-{-2, -8},
-{-2, -6},
-{-2, -4},
-{-2, -2},
-{-2, 0},
-{-3, -4},
-{-3, -1},
-{-4, -2},
-{-5, -1},
-{-7, 0},
-{-14, 0},
-{0, 0},
-{14, 0},
-{7, 0},
-{4, 2},
-{3, 2},
-{2, 4},
-{2, 2},
-{2, 0},
-{1, 6},
-{1, 5},
-{1, 4},
-{1, 3},
-{1, 2},
-{1, 1},
-{1, 0},
-{0, 14},
-{0, 14},
-// numerator = 15
-{-1, 0},
-{-2, -13},
-{-2, -11},
-{-2, -9},
-{-2, -7},
-{-2, -5},
-{-2, -3},
-{-2, -1},
-{-3, -6},
-{-3, -3},
-{-3, 0},
-{-4, -1},
-{-5, 0},
-{-8, -1},
-{-15, 0},
-{0, 0},
-{15, 0},
-{7, 1},
-{5, 0},
-{3, 3},
-{3, 0},
-{2, 3},
-{2, 1},
-{1, 7},
-{1, 6},
-{1, 5},
-{1, 4},
-{1, 3},
-{1, 2},
-{1, 1},
-{1, 0},
-{0, 15},
-// numerator = 16
-{-2, -14},
-{-2, -12},
-{-2, -10},
-{-2, -8},
-{-2, -6},
-{-2, -4},
-{-2, -2},
-{-2, 0},
-{-3, -5},
-{-3, -2},
-{-4, -4},
-{-4, 0},
-{-6, -2},
-{-8, 0},
-{-16, 0},
-{0, 0},
-{16, 0},
-{8, 0},
-{5, 1},
-{4, 0},
-{3, 1},
-{2, 4},
-{2, 2},
-{2, 0},
-{1, 7},
-{1, 6},
-{1, 5},
-{1, 4},
-{1, 3},
-{1, 2},
-{1, 1},
-{1, 0},
--- a/client/anorms.h
+++ /dev/null
@@ -1,181 +1,0 @@
-/*
-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.
-
-*/
-{-0.525731, 0.000000, 0.850651},
-{-0.442863, 0.238856, 0.864188},
-{-0.295242, 0.000000, 0.955423},
-{-0.309017, 0.500000, 0.809017},
-{-0.162460, 0.262866, 0.951056},
-{0.000000, 0.000000, 1.000000},
-{0.000000, 0.850651, 0.525731},
-{-0.147621, 0.716567, 0.681718},
-{0.147621, 0.716567, 0.681718},
-{0.000000, 0.525731, 0.850651},
-{0.309017, 0.500000, 0.809017},
-{0.525731, 0.000000, 0.850651},
-{0.295242, 0.000000, 0.955423},
-{0.442863, 0.238856, 0.864188},
-{0.162460, 0.262866, 0.951056},
-{-0.681718, 0.147621, 0.716567},
-{-0.809017, 0.309017, 0.500000},
-{-0.587785, 0.425325, 0.688191},
-{-0.850651, 0.525731, 0.000000},
-{-0.864188, 0.442863, 0.238856},
-{-0.716567, 0.681718, 0.147621},
-{-0.688191, 0.587785, 0.425325},
-{-0.500000, 0.809017, 0.309017},
-{-0.238856, 0.864188, 0.442863},
-{-0.425325, 0.688191, 0.587785},
-{-0.716567, 0.681718, -0.147621},
-{-0.500000, 0.809017, -0.309017},
-{-0.525731, 0.850651, 0.000000},
-{0.000000, 0.850651, -0.525731},
-{-0.238856, 0.864188, -0.442863},
-{0.000000, 0.955423, -0.295242},
-{-0.262866, 0.951056, -0.162460},
-{0.000000, 1.000000, 0.000000},
-{0.000000, 0.955423, 0.295242},
-{-0.262866, 0.951056, 0.162460},
-{0.238856, 0.864188, 0.442863},
-{0.262866, 0.951056, 0.162460},
-{0.500000, 0.809017, 0.309017},
-{0.238856, 0.864188, -0.442863},
-{0.262866, 0.951056, -0.162460},
-{0.500000, 0.809017, -0.309017},
-{0.850651, 0.525731, 0.000000},
-{0.716567, 0.681718, 0.147621},
-{0.716567, 0.681718, -0.147621},
-{0.525731, 0.850651, 0.000000},
-{0.425325, 0.688191, 0.587785},
-{0.864188, 0.442863, 0.238856},
-{0.688191, 0.587785, 0.425325},
-{0.809017, 0.309017, 0.500000},
-{0.681718, 0.147621, 0.716567},
-{0.587785, 0.425325, 0.688191},
-{0.955423, 0.295242, 0.000000},
-{1.000000, 0.000000, 0.000000},
-{0.951056, 0.162460, 0.262866},
-{0.850651, -0.525731, 0.000000},
-{0.955423, -0.295242, 0.000000},
-{0.864188, -0.442863, 0.238856},
-{0.951056, -0.162460, 0.262866},
-{0.809017, -0.309017, 0.500000},
-{0.681718, -0.147621, 0.716567},
-{0.850651, 0.000000, 0.525731},
-{0.864188, 0.442863, -0.238856},
-{0.809017, 0.309017, -0.500000},
-{0.951056, 0.162460, -0.262866},
-{0.525731, 0.000000, -0.850651},
-{0.681718, 0.147621, -0.716567},
-{0.681718, -0.147621, -0.716567},
-{0.850651, 0.000000, -0.525731},
-{0.809017, -0.309017, -0.500000},
-{0.864188, -0.442863, -0.238856},
-{0.951056, -0.162460, -0.262866},
-{0.147621, 0.716567, -0.681718},
-{0.309017, 0.500000, -0.809017},
-{0.425325, 0.688191, -0.587785},
-{0.442863, 0.238856, -0.864188},
-{0.587785, 0.425325, -0.688191},
-{0.688191, 0.587785, -0.425325},
-{-0.147621, 0.716567, -0.681718},
-{-0.309017, 0.500000, -0.809017},
-{0.000000, 0.525731, -0.850651},
-{-0.525731, 0.000000, -0.850651},
-{-0.442863, 0.238856, -0.864188},
-{-0.295242, 0.000000, -0.955423},
-{-0.162460, 0.262866, -0.951056},
-{0.000000, 0.000000, -1.000000},
-{0.295242, 0.000000, -0.955423},
-{0.162460, 0.262866, -0.951056},
-{-0.442863, -0.238856, -0.864188},
-{-0.309017, -0.500000, -0.809017},
-{-0.162460, -0.262866, -0.951056},
-{0.000000, -0.850651, -0.525731},
-{-0.147621, -0.716567, -0.681718},
-{0.147621, -0.716567, -0.681718},
-{0.000000, -0.525731, -0.850651},
-{0.309017, -0.500000, -0.809017},
-{0.442863, -0.238856, -0.864188},
-{0.162460, -0.262866, -0.951056},
-{0.238856, -0.864188, -0.442863},
-{0.500000, -0.809017, -0.309017},
-{0.425325, -0.688191, -0.587785},
-{0.716567, -0.681718, -0.147621},
-{0.688191, -0.587785, -0.425325},
-{0.587785, -0.425325, -0.688191},
-{0.000000, -0.955423, -0.295242},
-{0.000000, -1.000000, 0.000000},
-{0.262866, -0.951056, -0.162460},
-{0.000000, -0.850651, 0.525731},
-{0.000000, -0.955423, 0.295242},
-{0.238856, -0.864188, 0.442863},
-{0.262866, -0.951056, 0.162460},
-{0.500000, -0.809017, 0.309017},
-{0.716567, -0.681718, 0.147621},
-{0.525731, -0.850651, 0.000000},
-{-0.238856, -0.864188, -0.442863},
-{-0.500000, -0.809017, -0.309017},
-{-0.262866, -0.951056, -0.162460},
-{-0.850651, -0.525731, 0.000000},
-{-0.716567, -0.681718, -0.147621},
-{-0.716567, -0.681718, 0.147621},
-{-0.525731, -0.850651, 0.000000},
-{-0.500000, -0.809017, 0.309017},
-{-0.238856, -0.864188, 0.442863},
-{-0.262866, -0.951056, 0.162460},
-{-0.864188, -0.442863, 0.238856},
-{-0.809017, -0.309017, 0.500000},
-{-0.688191, -0.587785, 0.425325},
-{-0.681718, -0.147621, 0.716567},
-{-0.442863, -0.238856, 0.864188},
-{-0.587785, -0.425325, 0.688191},
-{-0.309017, -0.500000, 0.809017},
-{-0.147621, -0.716567, 0.681718},
-{-0.425325, -0.688191, 0.587785},
-{-0.162460, -0.262866, 0.951056},
-{0.442863, -0.238856, 0.864188},
-{0.162460, -0.262866, 0.951056},
-{0.309017, -0.500000, 0.809017},
-{0.147621, -0.716567, 0.681718},
-{0.000000, -0.525731, 0.850651},
-{0.425325, -0.688191, 0.587785},
-{0.587785, -0.425325, 0.688191},
-{0.688191, -0.587785, 0.425325},
-{-0.955423, 0.295242, 0.000000},
-{-0.951056, 0.162460, 0.262866},
-{-1.000000, 0.000000, 0.000000},
-{-0.850651, 0.000000, 0.525731},
-{-0.955423, -0.295242, 0.000000},
-{-0.951056, -0.162460, 0.262866},
-{-0.864188, 0.442863, -0.238856},
-{-0.951056, 0.162460, -0.262866},
-{-0.809017, 0.309017, -0.500000},
-{-0.864188, -0.442863, -0.238856},
-{-0.951056, -0.162460, -0.262866},
-{-0.809017, -0.309017, -0.500000},
-{-0.681718, 0.147621, -0.716567},
-{-0.681718, -0.147621, -0.716567},
-{-0.850651, 0.000000, -0.525731},
-{-0.688191, 0.587785, -0.425325},
-{-0.587785, 0.425325, -0.688191},
-{-0.425325, 0.688191, -0.587785},
-{-0.425325, -0.688191, -0.587785},
-{-0.587785, -0.425325, -0.688191},
-{-0.688191, -0.587785, -0.425325},
--- a/client/asm_i386.h
+++ /dev/null
@@ -1,81 +1,0 @@
-
-#ifndef __ASM_I386__
-#define __ASM_I386__
-
-#ifdef ELF
-#define C(label) label
-#else
-#define C(label) _##label
-#endif
-
-//
-// !!! note that this file must match the corresponding C structures at all
-// times !!!
-//
-
-// plane_t structure
-// !!! if this is changed, it must be changed in model.h too !!!
-// !!! if the size of this is changed, the array lookup in SV_HullPointContents
-// must be changed too !!!
-#define pl_normal 0
-#define pl_dist 12
-#define pl_type 16
-#define pl_signbits 17
-#define pl_pad 18
-#define pl_size 20
-
-// hull_t structure
-// !!! if this is changed, it must be changed in model.h too !!!
-#define hu_clipnodes 0
-#define hu_planes 4
-#define hu_firstclipnode 8
-#define hu_lastclipnode 12
-#define hu_clip_mins 16
-#define hu_clip_maxs 28
-#define hu_size 40
-
-// dnode_t structure
-// !!! if this is changed, it must be changed in bspfile.h too !!!
-#define nd_planenum 0
-#define nd_children 4
-#define nd_mins 8
-#define nd_maxs 20
-#define nd_firstface 32
-#define nd_numfaces 36
-#define nd_size 40
-
-// sfxcache_t structure
-// !!! if this is changed, it much be changed in sound.h too !!!
-#define sfxc_length 0
-#define sfxc_loopstart 4
-#define sfxc_speed 8
-#define sfxc_width 12
-#define sfxc_stereo 16
-#define sfxc_data 20
-
-// channel_t structure
-// !!! if this is changed, it much be changed in sound.h too !!!
-#define ch_sfx 0
-#define ch_leftvol 4
-#define ch_rightvol 8
-#define ch_end 12
-#define ch_pos 16
-#define ch_looping 20
-#define ch_entnum 24
-#define ch_entchannel 28
-#define ch_origin 32
-#define ch_dist_mult 44
-#define ch_master_vol 48
-#define ch_size 52
-
-// portable_samplepair_t structure
-// !!! if this is changed, it much be changed in sound.h too !!!
-#define psp_left 0
-#define psp_right 4
-#define psp_size 8
-
-// !!! must be kept the same as in d_iface.h !!!
-#define TRANSPARENT_COLOR 255
-
-#endif
-
--- a/client/block16.h
+++ /dev/null
@@ -1,123 +1,0 @@
-LEnter16_16:
- movb (%esi),%al
- movb (%esi,%ebx,),%cl
- movb %dh,%ah
- addl %ebp,%edx
- movb %dh,%ch
- leal (%esi,%ebx,2),%esi
- movw 0x12345678(,%eax,2),%ax
-LBPatch0:
- addl %ebp,%edx
- movw %ax,(%edi)
- movw 0x12345678(,%ecx,2),%cx
-LBPatch1:
- movw %cx,2(%edi)
- addl $0x4,%edi
-
- movb (%esi),%al
- movb (%esi,%ebx,),%cl
- movb %dh,%ah
- addl %ebp,%edx
- movb %dh,%ch
- leal (%esi,%ebx,2),%esi
- movw 0x12345678(,%eax,2),%ax
-LBPatch2:
- addl %ebp,%edx
- movw %ax,(%edi)
- movw 0x12345678(,%ecx,2),%cx
-LBPatch3:
- movw %cx,2(%edi)
- addl $0x4,%edi
-
- movb (%esi),%al
- movb (%esi,%ebx,),%cl
- movb %dh,%ah
- addl %ebp,%edx
- movb %dh,%ch
- leal (%esi,%ebx,2),%esi
- movw 0x12345678(,%eax,2),%ax
-LBPatch4:
- addl %ebp,%edx
- movw %ax,(%edi)
- movw 0x12345678(,%ecx,2),%cx
-LBPatch5:
- movw %cx,2(%edi)
- addl $0x4,%edi
-
- movb (%esi),%al
- movb (%esi,%ebx,),%cl
- movb %dh,%ah
- addl %ebp,%edx
- movb %dh,%ch
- leal (%esi,%ebx,2),%esi
- movw 0x12345678(,%eax,2),%ax
-LBPatch6:
- addl %ebp,%edx
- movw %ax,(%edi)
- movw 0x12345678(,%ecx,2),%cx
-LBPatch7:
- movw %cx,2(%edi)
- addl $0x4,%edi
-
-LEnter8_16:
- movb (%esi),%al
- movb (%esi,%ebx,),%cl
- movb %dh,%ah
- addl %ebp,%edx
- movb %dh,%ch
- leal (%esi,%ebx,2),%esi
- movw 0x12345678(,%eax,2),%ax
-LBPatch8:
- addl %ebp,%edx
- movw %ax,(%edi)
- movw 0x12345678(,%ecx,2),%cx
-LBPatch9:
- movw %cx,2(%edi)
- addl $0x4,%edi
-
- movb (%esi),%al
- movb (%esi,%ebx,),%cl
- movb %dh,%ah
- addl %ebp,%edx
- movb %dh,%ch
- leal (%esi,%ebx,2),%esi
- movw 0x12345678(,%eax,2),%ax
-LBPatch10:
- addl %ebp,%edx
- movw %ax,(%edi)
- movw 0x12345678(,%ecx,2),%cx
-LBPatch11:
- movw %cx,2(%edi)
- addl $0x4,%edi
-
-LEnter4_16:
- movb (%esi),%al
- movb (%esi,%ebx,),%cl
- movb %dh,%ah
- addl %ebp,%edx
- movb %dh,%ch
- leal (%esi,%ebx,2),%esi
- movw 0x12345678(,%eax,2),%ax
-LBPatch12:
- addl %ebp,%edx
- movw %ax,(%edi)
- movw 0x12345678(,%ecx,2),%cx
-LBPatch13:
- movw %cx,2(%edi)
- addl $0x4,%edi
-
-LEnter2_16:
- movb (%esi),%al
- movb (%esi,%ebx,),%cl
- movb %dh,%ah
- addl %ebp,%edx
- movb %dh,%ch
- leal (%esi,%ebx,2),%esi
- movw 0x12345678(,%eax,2),%ax
-LBPatch14:
- addl %ebp,%edx
- movw %ax,(%edi)
- movw 0x12345678(,%ecx,2),%cx
-LBPatch15:
- movw %cx,2(%edi)
- addl $0x4,%edi
--- a/client/block8.h
+++ /dev/null
@@ -1,124 +1,0 @@
-LEnter16_8:
- movb (%esi),%al
- movb (%esi,%ebx,),%cl
- movb %dh,%ah
- addl %ebp,%edx
- movb %dh,%ch
- leal (%esi,%ebx,2),%esi
- movb 0x12345678(%eax),%al
-LBPatch0:
- addl %ebp,%edx
- movb %al,(%edi)
- movb 0x12345678(%ecx),%cl
-LBPatch1:
- movb %cl,1(%edi)
- addl $0x2,%edi
-
- movb (%esi),%al
- movb (%esi,%ebx,),%cl
- movb %dh,%ah
- addl %ebp,%edx
- movb %dh,%ch
- leal (%esi,%ebx,2),%esi
- movb 0x12345678(%eax),%al
-LBPatch2:
- addl %ebp,%edx
- movb %al,(%edi)
- movb 0x12345678(%ecx),%cl
-LBPatch3:
- movb %cl,1(%edi)
- addl $0x2,%edi
-
- movb (%esi),%al
- movb (%esi,%ebx,),%cl
- movb %dh,%ah
- addl %ebp,%edx
- movb %dh,%ch
- leal (%esi,%ebx,2),%esi
- movb 0x12345678(%eax),%al
-LBPatch4:
- addl %ebp,%edx
- movb %al,(%edi)
- movb 0x12345678(%ecx),%cl
-LBPatch5:
- movb %cl,1(%edi)
- addl $0x2,%edi
-
- movb (%esi),%al
- movb (%esi,%ebx,),%cl
- movb %dh,%ah
- addl %ebp,%edx
- movb %dh,%ch
- leal (%esi,%ebx,2),%esi
- movb 0x12345678(%eax),%al
-LBPatch6:
- addl %ebp,%edx
- movb %al,(%edi)
- movb 0x12345678(%ecx),%cl
-LBPatch7:
- movb %cl,1(%edi)
- addl $0x2,%edi
-
-LEnter8_8:
- movb (%esi),%al
- movb (%esi,%ebx,),%cl
- movb %dh,%ah
- addl %ebp,%edx
- movb %dh,%ch
- leal (%esi,%ebx,2),%esi
- movb 0x12345678(%eax),%al
-LBPatch8:
- addl %ebp,%edx
- movb %al,(%edi)
- movb 0x12345678(%ecx),%cl
-LBPatch9:
- movb %cl,1(%edi)
- addl $0x2,%edi
-
- movb (%esi),%al
- movb (%esi,%ebx,),%cl
- movb %dh,%ah
- addl %ebp,%edx
- movb %dh,%ch
- leal (%esi,%ebx,2),%esi
- movb 0x12345678(%eax),%al
-LBPatch10:
- addl %ebp,%edx
- movb %al,(%edi)
- movb 0x12345678(%ecx),%cl
-LBPatch11:
- movb %cl,1(%edi)
- addl $0x2,%edi
-
-LEnter4_8:
- movb (%esi),%al
- movb (%esi,%ebx,),%cl
- movb %dh,%ah
- addl %ebp,%edx
- movb %dh,%ch
- leal (%esi,%ebx,2),%esi
- movb 0x12345678(%eax),%al
-LBPatch12:
- addl %ebp,%edx
- movb %al,(%edi)
- movb 0x12345678(%ecx),%cl
-LBPatch13:
- movb %cl,1(%edi)
- addl $0x2,%edi
-
-LEnter2_8:
- movb (%esi),%al
- movb (%esi,%ebx,),%cl
- movb %dh,%ah
- addl %ebp,%edx
- movb %dh,%ch
- leal (%esi,%ebx,2),%esi
- movb 0x12345678(%eax),%al
-LBPatch14:
- addl %ebp,%edx
- movb %al,(%edi)
- movb 0x12345678(%ecx),%cl
-LBPatch15:
- movb %cl,1(%edi)
- addl $0x2,%edi
-
--- a/client/x86.c
+++ /dev/null
@@ -1,95 +1,0 @@
-/*
-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.
-
-*/
-#include <stdlib.h>
-#include "client.h"
-
-#if id386
-
-static unsigned long bias;
-static unsigned long *histogram;
-static unsigned long start, range;
-static unsigned long bias;
-
-__declspec( naked ) void x86_TimerStart( void )
-{
- __asm _emit 0fh
- __asm _emit 31h
- __asm mov start, eax
- __asm ret
-}
-
-__declspec( naked ) void x86_TimerStop( void )
-{
- __asm push edi
- __asm mov edi, histogram
- __asm _emit 0fh
- __asm _emit 31h
- __asm sub eax, start
- __asm sub eax, bias
- __asm js discard
- __asm cmp eax, range
- __asm jge discard
- __asm lea edi, [edi + eax*4]
- __asm inc dword ptr [edi]
-discard:
- __asm pop edi
- __asm ret
-}
-
-#pragma warning( disable: 4035 )
-static __declspec( naked ) unsigned long x86_TimerStopBias( void )
-{
- __asm push edi
- __asm mov edi, histogram
- __asm _emit 0fh
- __asm _emit 31h
- __asm sub eax, start
- __asm pop edi
- __asm ret
-}
-#pragma warning( default:4035 )
-
-void x86_TimerInit( unsigned long smallest, unsigned length )
-{
- int i;
- unsigned long biastable[100];
-
- range = length;
- bias = 10000;
-
- for ( i = 0; i < 100; i++ )
- {
- x86_TimerStart();
- biastable[i] = x86_TimerStopBias();
-
- if ( bias > biastable[i] )
- bias = biastable[i];
- }
-
- bias += smallest;
- histogram = Z_Malloc( range * sizeof( unsigned long ) );
-}
-
-unsigned long *x86_TimerGetHistogram( void )
-{
- return histogram;
-}
-
-#endif
--- a/ctf/ctf.001
+++ /dev/null
@@ -1,1009 +1,0 @@
-# Microsoft Developer Studio Project File - Name="ctf" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 5.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-# TARGTYPE "Win32 (ALPHA) Dynamic-Link Library" 0x0602
-
-CFG=ctf - Win32 Debug Alpha
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "ctf.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "ctf.mak" CFG="ctf - Win32 Debug Alpha"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "ctf - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "ctf - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "ctf - Win32 Debug Alpha" (based on\
- "Win32 (ALPHA) Dynamic-Link Library")
-!MESSAGE "ctf - Win32 Release Alpha" (based on\
- "Win32 (ALPHA) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-# PROP WCE_Configuration "H/PC Ver. 2.00"
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir ".\release"
-# PROP Intermediate_Dir ".\release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-CPP=cl.exe
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /MT /W4 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib winmm.lib /nologo /subsystem:windows /dll /machine:I386 /out:".\release\gamex86.dll"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ".\debug"
-# PROP Intermediate_Dir ".\debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-CPP=cl.exe
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FR /YX /FD /c
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib winmm.lib /nologo /subsystem:windows /dll /incremental:no /map /debug /machine:I386 /out:".\debug\gamex86.dll" /pdbtype:sept
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "ctf___Wi"
-# PROP BASE Intermediate_Dir "ctf___Wi"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\DebugAXP"
-# PROP Intermediate_Dir ".\DebugAXP"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
-CPP=cl.exe
-# ADD BASE CPP /nologo /Gt0 /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FR /YX /FD /MTd /c
-# ADD CPP /nologo /Gt0 /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FR /YX /FD /MTd /c
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 winmm.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /map /debug /machine:ALPHA /out:".\debug\gamex86.dll" /pdbtype:sept
-# ADD LINK32 winmm.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /map /debug /machine:ALPHA /out:".\debugAXP\gameaxp.dll" /pdbtype:sept
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "ctf___W0"
-# PROP BASE Intermediate_Dir "ctf___W0"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\ReleaseAXP"
-# PROP Intermediate_Dir ".\ReleaseAXP"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
-CPP=cl.exe
-# ADD BASE CPP /nologo /MT /Gt0 /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /MT /Gt0 /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 winmm.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /machine:ALPHA /out:".\release\gamex86.dll"
-# ADD LINK32 winmm.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /machine:ALPHA /out:".\ReleaseAXP\gameaxp.dll"
-
-!ENDIF
-
-# Begin Target
-
-# Name "ctf - Win32 Release"
-# Name "ctf - Win32 Debug"
-# Name "ctf - Win32 Debug Alpha"
-# Name "ctf - Win32 Release Alpha"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "*.c"
-# Begin Source File
-
-SOURCE=.\g_ai.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_AI_=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_AI_=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_chase.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_CHA=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_CHA=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_cmds.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_CMD=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_CMD=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_combat.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_COM=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_COM=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_ctf.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_CTF=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_CTF=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_func.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_FUN=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_FUN=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_items.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_ITE=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_ITE=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_main.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_MAI=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_MAI=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_misc.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_MIS=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_MIS=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_monster.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_MON=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_MON=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_phys.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_PHY=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_PHY=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_save.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_SAV=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_SAV=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_spawn.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_SPA=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_SPA=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_svcmds.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_SVC=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_SVC=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_target.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_TAR=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_TAR=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_trigger.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_TRI=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_TRI=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_utils.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_UTI=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_UTI=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_weapon.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_WEA=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_WEA=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_move.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_M_MOV=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_M_MOV=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\p_client.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_P_CLI=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_P_CLI=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\p_hud.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_P_HUD=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_P_HUD=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\p_menu.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_P_MEN=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_P_MEN=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\p_trail.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_P_TRA=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_P_TRA=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\p_view.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_P_VIE=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_P_VIE=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\p_weapon.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_P_WEA=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_P_WEA=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\q_shared.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_Q_SHA=\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_Q_SHA=\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "*.h"
-# Begin Source File
-
-SOURCE=.\g_ctf.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_local.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\game.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_player.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\p_menu.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\q_shared.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "*.def,*.res"
-# Begin Source File
-
-SOURCE=.\ctf.def
-# End Source File
-# End Group
-# End Target
-# End Project
--- a/ctf/ctf.def
+++ /dev/null
@@ -1,2 +1,0 @@
-EXPORTS
- GetGameAPI
--- a/ctf/ctf.dsp
+++ /dev/null
@@ -1,1007 +1,0 @@
-# Microsoft Developer Studio Project File - Name="ctf" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-# TARGTYPE "Win32 (ALPHA) Dynamic-Link Library" 0x0602
-
-CFG=ctf - Win32 Debug Alpha
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "ctf.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "ctf.mak" CFG="ctf - Win32 Debug Alpha"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "ctf - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "ctf - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "ctf - Win32 Debug Alpha" (based on "Win32 (ALPHA) Dynamic-Link Library")
-!MESSAGE "ctf - Win32 Release Alpha" (based on "Win32 (ALPHA) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir ".\release"
-# PROP Intermediate_Dir ".\release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-CPP=cl.exe
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /MT /W4 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib winmm.lib /nologo /subsystem:windows /dll /machine:I386 /out:".\release\gamex86.dll"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ".\debug"
-# PROP Intermediate_Dir ".\debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-CPP=cl.exe
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FR /YX /FD /c
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib winmm.lib /nologo /subsystem:windows /dll /incremental:no /map /debug /machine:I386 /out:".\debug\gamex86.dll" /pdbtype:sept
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "ctf___Wi"
-# PROP BASE Intermediate_Dir "ctf___Wi"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\DebugAXP"
-# PROP Intermediate_Dir ".\DebugAXP"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-CPP=cl.exe
-# ADD BASE CPP /nologo /Gt0 /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FR /YX /FD /MTd /c
-# ADD CPP /nologo /Gt0 /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FR /YX /FD /MTd /c
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 winmm.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /map /debug /machine:ALPHA /out:".\debug\gamex86.dll" /pdbtype:sept
-# ADD LINK32 winmm.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /map /debug /machine:ALPHA /out:".\debugAXP\gameaxp.dll" /pdbtype:sept
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "ctf___W0"
-# PROP BASE Intermediate_Dir "ctf___W0"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\ReleaseAXP"
-# PROP Intermediate_Dir ".\ReleaseAXP"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-CPP=cl.exe
-# ADD BASE CPP /nologo /MT /Gt0 /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /MT /Gt0 /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 winmm.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /machine:ALPHA /out:".\release\gamex86.dll"
-# ADD LINK32 winmm.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /machine:ALPHA /out:".\ReleaseAXP\gameaxp.dll"
-
-!ENDIF
-
-# Begin Target
-
-# Name "ctf - Win32 Release"
-# Name "ctf - Win32 Debug"
-# Name "ctf - Win32 Debug Alpha"
-# Name "ctf - Win32 Release Alpha"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "*.c"
-# Begin Source File
-
-SOURCE=.\g_ai.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_AI_=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_AI_=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_chase.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_CHA=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_CHA=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_cmds.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_CMD=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_CMD=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_combat.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_COM=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_COM=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_ctf.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_CTF=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_CTF=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_func.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_FUN=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_FUN=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_items.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_ITE=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_ITE=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_main.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_MAI=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_MAI=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_misc.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_MIS=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_MIS=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_monster.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_MON=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_MON=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_phys.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_PHY=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_PHY=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_save.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_SAV=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_SAV=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_spawn.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_SPA=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_SPA=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_svcmds.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_SVC=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_SVC=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_target.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_TAR=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_TAR=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_trigger.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_TRI=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_TRI=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_utils.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_UTI=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_UTI=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_weapon.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_G_WEA=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_G_WEA=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_move.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_M_MOV=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_M_MOV=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\p_client.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_P_CLI=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_P_CLI=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\p_hud.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_P_HUD=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_P_HUD=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\p_menu.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_P_MEN=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_P_MEN=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\p_trail.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_P_TRA=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_P_TRA=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\p_view.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_P_VIE=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_P_VIE=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\p_weapon.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_P_WEA=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_P_WEA=\
- ".\g_ctf.h"\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\p_menu.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\q_shared.c
-
-!IF "$(CFG)" == "ctf - Win32 Release"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Debug Alpha"
-
-DEP_CPP_Q_SHA=\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ctf - Win32 Release Alpha"
-
-DEP_CPP_Q_SHA=\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "*.h"
-# Begin Source File
-
-SOURCE=.\g_ctf.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_local.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\game.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_player.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\p_menu.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\q_shared.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "*.def,*.res"
-# Begin Source File
-
-SOURCE=.\ctf.def
-# End Source File
-# End Group
-# End Target
-# End Project
--- a/ctf/ctf.plg
+++ /dev/null
@@ -1,17 +1,0 @@
---------------------Configuration: ctf - Win32 Debug Alpha--------------------
-Begining build with project "G:\quake2\code\ctf\ctf.dsp", at root.
-Active configuration is Win32 (ALPHA) Dynamic-Link Library (based on Win32 (ALPHA) Dynamic-Link Library)
-
-Project's tools are:
- "OLE Type Library Maker" with flags "/nologo /D "_DEBUG" /mktyplib203 /o NUL /win32 "
- "C/C++ Compiler for Alpha" with flags "/nologo /MTd /Gt0 /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FR".\DebugAXP/" /Fp".\DebugAXP/ctf.pch" /YX /Fo".\DebugAXP/" /Fd".\DebugAXP/" /FD /c "
- "Win32 Resource Compiler" with flags "/l 0x409 /d "_DEBUG" "
- "Browser Database Maker" with flags "/nologo /o"..\DebugAXP/ctf.bsc" "
- "COFF Linker for Alpha" with flags "winmm.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\DebugAXP/gameaxp.pdb" /map:".\DebugAXP/gameaxp.map" /debug /machine:ALPHA /def:".\ctf.def" /out:".\debugAXP\gameaxp.dll" /implib:"..\DebugAXP/gameaxp.lib" /pdbtype:sept "
- "Custom Build" with flags ""
- "<Component 0xa>" with flags ""
-
-
-
-
-gameaxp.dll - 0 error(s), 0 warning(s)
--- a/ctf/g_local.h
+++ b/ctf/g_local.h
@@ -19,7 +19,7 @@
*/
// g_local.h -- local definitions for game module
-#include "q_shared.h"
+#include "../q_shared.h"
// define GAME_INCLUDE so that game.h does not define the
// short, server-visible gclient_t and edict_t structures,
--- a/ctf/q_shared.c
+++ b/ctf/q_shared.c
@@ -17,7 +17,7 @@
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include "q_shared.h"
+#include "../q_shared.h"
#define DEG2RAD( a ) ( a * M_PI ) / 180.0F
--- a/ctf/q_shared.h
+++ /dev/null
@@ -1,1200 +1,0 @@
-/*
-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.
-
-*/
-
-// q_shared.h -- included first by ALL program modules
-
-#ifdef _WIN32
-// unknown pragmas are SUPPOSED to be ignored, but....
-#pragma warning(disable : 4244) // MIPS
-#pragma warning(disable : 4136) // X86
-#pragma warning(disable : 4051) // ALPHA
-
-#pragma warning(disable : 4018) // signed/unsigned mismatch
-#pragma warning(disable : 4305) // truncation from const double to float
-
-#endif
-
-#include <assert.h>
-#include <math.h>
-#include <stdio.h>
-#include <stdarg.h>
-#include <string.h>
-#include <stdlib.h>
-#include <time.h>
-
-#if (defined _M_IX86 || defined __i386__) && !defined C_ONLY && !defined __sun__
-#define id386 1
-#else
-#define id386 0
-#endif
-
-#if defined _M_ALPHA && !defined C_ONLY
-#define idaxp 1
-#else
-#define idaxp 0
-#endif
-
-typedef unsigned char byte;
-typedef enum {false, true} qboolean;
-
-
-#ifndef NULL
-#define NULL ((void *)0)
-#endif
-
-
-// angle indexes
-#define PITCH 0 // up / down
-#define YAW 1 // left / right
-#define ROLL 2 // fall over
-
-#define MAX_STRING_CHARS 1024 // max length of a string passed to Cmd_TokenizeString
-#define MAX_STRING_TOKENS 80 // max tokens resulting from Cmd_TokenizeString
-#define MAX_TOKEN_CHARS 128 // max length of an individual token
-
-#define MAX_QPATH 64 // max length of a quake game pathname
-#define MAX_OSPATH 128 // max length of a filesystem pathname
-
-//
-// per-level limits
-//
-#define MAX_CLIENTS 256 // absolute limit
-#define MAX_EDICTS 1024 // must change protocol to increase more
-#define MAX_LIGHTSTYLES 256
-#define MAX_MODELS 256 // these are sent over the net as bytes
-#define MAX_SOUNDS 256 // so they cannot be blindly increased
-#define MAX_IMAGES 256
-#define MAX_ITEMS 256
-#define MAX_GENERAL (MAX_CLIENTS*2) // general config strings
-
-
-// game print flags
-#define PRINT_LOW 0 // pickup messages
-#define PRINT_MEDIUM 1 // death messages
-#define PRINT_HIGH 2 // critical messages
-#define PRINT_CHAT 3 // chat messages
-
-
-
-#define ERR_FATAL 0 // exit the entire game with a popup window
-#define ERR_DROP 1 // print to console and disconnect from game
-#define ERR_DISCONNECT 2 // don't kill server
-
-#define PRINT_ALL 0
-#define PRINT_DEVELOPER 1 // only print when "developer 1"
-#define PRINT_ALERT 2
-
-
-// destination class for gi.multicast()
-typedef enum
-{
-MULTICAST_ALL,
-MULTICAST_PHS,
-MULTICAST_PVS,
-MULTICAST_ALL_R,
-MULTICAST_PHS_R,
-MULTICAST_PVS_R
-} multicast_t;
-
-
-/*
-==============================================================
-
-MATHLIB
-
-==============================================================
-*/
-
-typedef float vec_t;
-typedef vec_t vec3_t[3];
-typedef vec_t vec5_t[5];
-
-typedef int fixed4_t;
-typedef int fixed8_t;
-typedef int fixed16_t;
-
-#ifndef M_PI
-#define M_PI 3.14159265358979323846 // matches value in gcc v2 math.h
-#endif
-
-struct cplane_s;
-
-extern vec3_t vec3_origin;
-
-#define nanmask (255<<23)
-
-#define IS_NAN(x) (((*(int *)&x)&nanmask)==nanmask)
-
-// microsoft's fabs seems to be ungodly slow...
-//float Q_fabs (float f);
-//#define fabs(f) Q_fabs(f)
-#if !defined C_ONLY && !defined __linux__ && !defined __sgi
-extern long Q_ftol( float f );
-#else
-#define Q_ftol( f ) ( long ) (f)
-#endif
-
-#define DotProduct(x,y) (x[0]*y[0]+x[1]*y[1]+x[2]*y[2])
-#define VectorSubtract(a,b,c) (c[0]=a[0]-b[0],c[1]=a[1]-b[1],c[2]=a[2]-b[2])
-#define VectorAdd(a,b,c) (c[0]=a[0]+b[0],c[1]=a[1]+b[1],c[2]=a[2]+b[2])
-#define VectorCopy(a,b) (b[0]=a[0],b[1]=a[1],b[2]=a[2])
-#define VectorClear(a) (a[0]=a[1]=a[2]=0)
-#define VectorNegate(a,b) (b[0]=-a[0],b[1]=-a[1],b[2]=-a[2])
-#define VectorSet(v, x, y, z) (v[0]=(x), v[1]=(y), v[2]=(z))
-
-void VectorMA (vec3_t veca, float scale, vec3_t vecb, vec3_t vecc);
-
-// just in case you do't want to use the macros
-vec_t _DotProduct (vec3_t v1, vec3_t v2);
-void _VectorSubtract (vec3_t veca, vec3_t vecb, vec3_t out);
-void _VectorAdd (vec3_t veca, vec3_t vecb, vec3_t out);
-void _VectorCopy (vec3_t in, vec3_t out);
-
-void ClearBounds (vec3_t mins, vec3_t maxs);
-void AddPointToBounds (vec3_t v, vec3_t mins, vec3_t maxs);
-int VectorCompare (vec3_t v1, vec3_t v2);
-vec_t VectorLength (vec3_t v);
-void CrossProduct (vec3_t v1, vec3_t v2, vec3_t cross);
-vec_t VectorNormalize (vec3_t v); // returns vector length
-vec_t VectorNormalize2 (vec3_t v, vec3_t out);
-void VectorInverse (vec3_t v);
-void VectorScale (vec3_t in, vec_t scale, vec3_t out);
-int Q_log2(int val);
-
-void R_ConcatRotations (float in1[3][3], float in2[3][3], float out[3][3]);
-void R_ConcatTransforms (float in1[3][4], float in2[3][4], float out[3][4]);
-
-void AngleVectors (vec3_t angles, vec3_t forward, vec3_t right, vec3_t up);
-int BoxOnPlaneSide (vec3_t emins, vec3_t emaxs, struct cplane_s *plane);
-float anglemod(float a);
-float LerpAngle (float a1, float a2, float frac);
-
-#define BOX_ON_PLANE_SIDE(emins, emaxs, p) \
- (((p)->type < 3)? \
- ( \
- ((p)->dist <= (emins)[(p)->type])? \
- 1 \
- : \
- ( \
- ((p)->dist >= (emaxs)[(p)->type])?\
- 2 \
- : \
- 3 \
- ) \
- ) \
- : \
- BoxOnPlaneSide( (emins), (emaxs), (p)))
-
-void ProjectPointOnPlane( vec3_t dst, const vec3_t p, const vec3_t normal );
-void PerpendicularVector( vec3_t dst, const vec3_t src );
-void RotatePointAroundVector( vec3_t dst, const vec3_t dir, const vec3_t point, float degrees );
-
-
-//=============================================
-
-char *COM_SkipPath (char *pathname);
-void COM_StripExtension (char *in, char *out);
-void COM_FileBase (char *in, char *out);
-void COM_FilePath (char *in, char *out);
-void COM_DefaultExtension (char *path, char *extension);
-
-char *COM_Parse (char **data_p);
-// data is an in/out parm, returns a parsed out token
-
-void Com_sprintf (char *dest, int size, char *fmt, ...);
-
-void Com_PageInMemory (byte *buffer, int size);
-
-//=============================================
-
-// portable case insensitive compare
-int Q_stricmp (char *s1, char *s2);
-int Q_strcasecmp (char *s1, char *s2);
-int Q_strncasecmp (char *s1, char *s2, int n);
-
-//=============================================
-
-short BigShort(short l);
-short LittleShort(short l);
-int BigLong (int l);
-int LittleLong (int l);
-float BigFloat (float l);
-float LittleFloat (float l);
-
-void Swap_Init (void);
-char *va(char *format, ...);
-
-//=============================================
-
-//
-// key / value info strings
-//
-#define MAX_INFO_KEY 64
-#define MAX_INFO_VALUE 64
-#define MAX_INFO_STRING 512
-
-char *Info_ValueForKey (char *s, char *key);
-void Info_RemoveKey (char *s, char *key);
-void Info_SetValueForKey (char *s, char *key, char *value);
-qboolean Info_Validate (char *s);
-
-/*
-==============================================================
-
-SYSTEM SPECIFIC
-
-==============================================================
-*/
-
-extern int curtime; // time returned by last Sys_Milliseconds
-
-int Sys_Milliseconds (void);
-void Sys_Mkdir (char *path);
-
-// large block stack allocation routines
-void *Hunk_Begin (int maxsize);
-void *Hunk_Alloc (int size);
-void Hunk_Free (void *buf);
-int Hunk_End (void);
-
-// directory searching
-#define SFF_ARCH 0x01
-#define SFF_HIDDEN 0x02
-#define SFF_RDONLY 0x04
-#define SFF_SUBDIR 0x08
-#define SFF_SYSTEM 0x10
-
-/*
-** pass in an attribute mask of things you wish to REJECT
-*/
-char *Sys_FindFirst (char *path, unsigned musthave, unsigned canthave );
-char *Sys_FindNext ( unsigned musthave, unsigned canthave );
-void Sys_FindClose (void);
-
-
-// this is only here so the functions in q_shared.c and q_shwin.c can link
-void Sys_Error (char *error, ...);
-void Com_Printf (char *msg, ...);
-
-
-/*
-==========================================================
-
-CVARS (console variables)
-
-==========================================================
-*/
-
-#ifndef CVAR
-#define CVAR
-
-#define CVAR_ARCHIVE 1 // set to cause it to be saved to vars.rc
-#define CVAR_USERINFO 2 // added to userinfo when changed
-#define CVAR_SERVERINFO 4 // added to serverinfo when changed
-#define CVAR_NOSET 8 // don't allow change from console at all,
- // but can be set from the command line
-#define CVAR_LATCH 16 // save changes until server restart
-
-// nothing outside the Cvar_*() functions should modify these fields!
-typedef struct cvar_s
-{
- char *name;
- char *string;
- char *latched_string; // for CVAR_LATCH vars
- int flags;
- qboolean modified; // set each time the cvar is changed
- float value;
- struct cvar_s *next;
-} cvar_t;
-
-#endif // CVAR
-
-/*
-==============================================================
-
-COLLISION DETECTION
-
-==============================================================
-*/
-
-// lower bits are stronger, and will eat weaker brushes completely
-#define CONTENTS_SOLID 1 // an eye is never valid in a solid
-#define CONTENTS_WINDOW 2 // translucent, but not watery
-#define CONTENTS_AUX 4
-#define CONTENTS_LAVA 8
-#define CONTENTS_SLIME 16
-#define CONTENTS_WATER 32
-#define CONTENTS_MIST 64
-#define LAST_VISIBLE_CONTENTS 64
-
-// remaining contents are non-visible, and don't eat brushes
-
-#define CONTENTS_AREAPORTAL 0x8000
-
-#define CONTENTS_PLAYERCLIP 0x10000
-#define CONTENTS_MONSTERCLIP 0x20000
-
-// currents can be added to any other contents, and may be mixed
-#define CONTENTS_CURRENT_0 0x40000
-#define CONTENTS_CURRENT_90 0x80000
-#define CONTENTS_CURRENT_180 0x100000
-#define CONTENTS_CURRENT_270 0x200000
-#define CONTENTS_CURRENT_UP 0x400000
-#define CONTENTS_CURRENT_DOWN 0x800000
-
-#define CONTENTS_ORIGIN 0x1000000 // removed before bsping an entity
-
-#define CONTENTS_MONSTER 0x2000000 // should never be on a brush, only in game
-#define CONTENTS_DEADMONSTER 0x4000000
-#define CONTENTS_DETAIL 0x8000000 // brushes to be added after vis leafs
-#define CONTENTS_TRANSLUCENT 0x10000000 // auto set if any surface has trans
-#define CONTENTS_LADDER 0x20000000
-
-
-
-#define SURF_LIGHT 0x1 // value will hold the light strength
-
-#define SURF_SLICK 0x2 // effects game physics
-
-#define SURF_SKY 0x4 // don't draw, but add to skybox
-#define SURF_WARP 0x8 // turbulent water warp
-#define SURF_TRANS33 0x10
-#define SURF_TRANS66 0x20
-#define SURF_FLOWING 0x40 // scroll towards angle
-#define SURF_NODRAW 0x80 // don't bother referencing the texture
-
-
-
-// content masks
-#define MASK_ALL (-1)
-#define MASK_SOLID (CONTENTS_SOLID|CONTENTS_WINDOW)
-#define MASK_PLAYERSOLID (CONTENTS_SOLID|CONTENTS_PLAYERCLIP|CONTENTS_WINDOW|CONTENTS_MONSTER)
-#define MASK_DEADSOLID (CONTENTS_SOLID|CONTENTS_PLAYERCLIP|CONTENTS_WINDOW)
-#define MASK_MONSTERSOLID (CONTENTS_SOLID|CONTENTS_MONSTERCLIP|CONTENTS_WINDOW|CONTENTS_MONSTER)
-#define MASK_WATER (CONTENTS_WATER|CONTENTS_LAVA|CONTENTS_SLIME)
-#define MASK_OPAQUE (CONTENTS_SOLID|CONTENTS_SLIME|CONTENTS_LAVA)
-#define MASK_SHOT (CONTENTS_SOLID|CONTENTS_MONSTER|CONTENTS_WINDOW|CONTENTS_DEADMONSTER)
-#define MASK_CURRENT (CONTENTS_CURRENT_0|CONTENTS_CURRENT_90|CONTENTS_CURRENT_180|CONTENTS_CURRENT_270|CONTENTS_CURRENT_UP|CONTENTS_CURRENT_DOWN)
-
-
-// gi.BoxEdicts() can return a list of either solid or trigger entities
-// FIXME: eliminate AREA_ distinction?
-#define AREA_SOLID 1
-#define AREA_TRIGGERS 2
-
-
-// plane_t structure
-// !!! if this is changed, it must be changed in asm code too !!!
-typedef struct cplane_s
-{
- vec3_t normal;
- float dist;
- byte type; // for fast side tests
- byte signbits; // signx + (signy<<1) + (signz<<1)
- byte pad[2];
-} cplane_t;
-
-// structure offset for asm code
-#define CPLANE_NORMAL_X 0
-#define CPLANE_NORMAL_Y 4
-#define CPLANE_NORMAL_Z 8
-#define CPLANE_DIST 12
-#define CPLANE_TYPE 16
-#define CPLANE_SIGNBITS 17
-#define CPLANE_PAD0 18
-#define CPLANE_PAD1 19
-
-typedef struct cmodel_s
-{
- vec3_t mins, maxs;
- vec3_t origin; // for sounds or lights
- int headnode;
-} cmodel_t;
-
-typedef struct csurface_s
-{
- char name[16];
- int flags;
- int value;
-} csurface_t;
-
-typedef struct mapsurface_s // used internally due to name len probs //ZOID
-{
- csurface_t c;
- char rname[32];
-} mapsurface_t;
-
-// a trace is returned when a box is swept through the world
-typedef struct
-{
- qboolean allsolid; // if true, plane is not valid
- qboolean startsolid; // if true, the initial point was in a solid area
- float fraction; // time completed, 1.0 = didn't hit anything
- vec3_t endpos; // final position
- cplane_t plane; // surface normal at impact
- csurface_t *surface; // surface hit
- int contents; // contents on other side of surface hit
- struct edict_s *ent; // not set by CM_*() functions
-} trace_t;
-
-
-
-// pmove_state_t is the information necessary for client side movement
-// prediction
-typedef enum
-{
- // can accelerate and turn
- PM_NORMAL,
- PM_SPECTATOR,
- // no acceleration or turning
- PM_DEAD,
- PM_GIB, // different bounding box
- PM_FREEZE
-} pmtype_t;
-
-// pmove->pm_flags
-#define PMF_DUCKED 1
-#define PMF_JUMP_HELD 2
-#define PMF_ON_GROUND 4
-#define PMF_TIME_WATERJUMP 8 // pm_time is waterjump
-#define PMF_TIME_LAND 16 // pm_time is time before rejump
-#define PMF_TIME_TELEPORT 32 // pm_time is non-moving time
-#define PMF_NO_PREDICTION 64 // temporarily disables prediction (used for grappling hook)
-
-// this structure needs to be communicated bit-accurate
-// from the server to the client to guarantee that
-// prediction stays in sync, so no floats are used.
-// if any part of the game code modifies this struct, it
-// will result in a prediction error of some degree.
-typedef struct
-{
- pmtype_t pm_type;
-
- short origin[3]; // 12.3
- short velocity[3]; // 12.3
- byte pm_flags; // ducked, jump_held, etc
- byte pm_time; // each unit = 8 ms
- short gravity;
- short delta_angles[3]; // add to command angles to get view direction
- // changed by spawns, rotating objects, and teleporters
-} pmove_state_t;
-
-
-//
-// button bits
-//
-#define BUTTON_ATTACK 1
-#define BUTTON_USE 2
-#define BUTTON_ANY 128 // any key whatsoever
-
-
-// usercmd_t is sent to the server each client frame
-typedef struct usercmd_s
-{
- byte msec;
- byte buttons;
- short angles[3];
- short forwardmove, sidemove, upmove;
- byte impulse; // remove?
- byte lightlevel; // light level the player is standing on
-} usercmd_t;
-
-
-#define MAXTOUCH 32
-typedef struct
-{
- // state (in / out)
- pmove_state_t s;
-
- // command (in)
- usercmd_t cmd;
- qboolean snapinitial; // if s has been changed outside pmove
-
- // results (out)
- int numtouch;
- struct edict_s *touchents[MAXTOUCH];
-
- vec3_t viewangles; // clamped
- float viewheight;
-
- vec3_t mins, maxs; // bounding box size
-
- struct edict_s *groundentity;
- int watertype;
- int waterlevel;
-
- // callbacks to test the world
- trace_t (*trace) (vec3_t start, vec3_t mins, vec3_t maxs, vec3_t end);
- int (*pointcontents) (vec3_t point);
-} pmove_t;
-
-
-// entity_state_t->effects
-// Effects are things handled on the client side (lights, particles, frame animations)
-// that happen constantly on the given entity.
-// An entity that has effects will be sent to the client
-// even if it has a zero index model.
-#define EF_ROTATE 0x00000001 // rotate (bonus items)
-#define EF_GIB 0x00000002 // leave a trail
-#define EF_BLASTER 0x00000008 // redlight + trail
-#define EF_ROCKET 0x00000010 // redlight + trail
-#define EF_GRENADE 0x00000020
-#define EF_HYPERBLASTER 0x00000040
-#define EF_BFG 0x00000080
-#define EF_COLOR_SHELL 0x00000100
-#define EF_POWERSCREEN 0x00000200
-#define EF_ANIM01 0x00000400 // automatically cycle between frames 0 and 1 at 2 hz
-#define EF_ANIM23 0x00000800 // automatically cycle between frames 2 and 3 at 2 hz
-#define EF_ANIM_ALL 0x00001000 // automatically cycle through all frames at 2hz
-#define EF_ANIM_ALLFAST 0x00002000 // automatically cycle through all frames at 10hz
-#define EF_FLIES 0x00004000
-#define EF_QUAD 0x00008000
-#define EF_PENT 0x00010000
-#define EF_TELEPORTER 0x00020000 // particle fountain
-#define EF_FLAG1 0x00040000
-#define EF_FLAG2 0x00080000
-// RAFAEL
-#define EF_IONRIPPER 0x00100000
-#define EF_GREENGIB 0x00200000
-#define EF_BLUEHYPERBLASTER 0x00400000
-#define EF_SPINNINGLIGHTS 0x00800000
-#define EF_PLASMA 0x01000000
-#define EF_TRAP 0x02000000
-
-//ROGUE
-#define EF_TRACKER 0x04000000
-#define EF_DOUBLE 0x08000000
-#define EF_SPHERETRANS 0x10000000
-#define EF_TAGTRAIL 0x20000000
-#define EF_HALF_DAMAGE 0x40000000
-#define EF_TRACKERTRAIL 0x80000000
-//ROGUE
-
-// entity_state_t->renderfx flags
-#define RF_MINLIGHT 1 // allways have some light (viewmodel)
-#define RF_VIEWERMODEL 2 // don't draw through eyes, only mirrors
-#define RF_WEAPONMODEL 4 // only draw through eyes
-#define RF_FULLBRIGHT 8 // allways draw full intensity
-#define RF_DEPTHHACK 16 // for view weapon Z crunching
-#define RF_TRANSLUCENT 32
-#define RF_FRAMELERP 64
-#define RF_BEAM 128
-#define RF_CUSTOMSKIN 256 // skin is an index in image_precache
-#define RF_GLOW 512 // pulse lighting for bonus items
-#define RF_SHELL_RED 1024
-#define RF_SHELL_GREEN 2048
-#define RF_SHELL_BLUE 4096
-
-//ROGUE
-#define RF_IR_VISIBLE 0x00008000 // 32768
-#define RF_SHELL_DOUBLE 0x00010000 // 65536
-#define RF_SHELL_HALF_DAM 0x00020000
-#define RF_USE_DISGUISE 0x00040000
-//ROGUE
-
-// player_state_t->refdef flags
-#define RDF_UNDERWATER 1 // warp the screen as apropriate
-#define RDF_NOWORLDMODEL 2 // used for player configuration screen
-
-//ROGUE
-#define RDF_IRGOGGLES 4
-#define RDF_UVGOGGLES 8
-//ROGUE
-
-//
-// muzzle flashes / player effects
-//
-#define MZ_BLASTER 0
-#define MZ_MACHINEGUN 1
-#define MZ_SHOTGUN 2
-#define MZ_CHAINGUN1 3
-#define MZ_CHAINGUN2 4
-#define MZ_CHAINGUN3 5
-#define MZ_RAILGUN 6
-#define MZ_ROCKET 7
-#define MZ_GRENADE 8
-#define MZ_LOGIN 9
-#define MZ_LOGOUT 10
-#define MZ_RESPAWN 11
-#define MZ_BFG 12
-#define MZ_SSHOTGUN 13
-#define MZ_HYPERBLASTER 14
-#define MZ_ITEMRESPAWN 15
-// RAFAEL
-#define MZ_IONRIPPER 16
-#define MZ_BLUEHYPERBLASTER 17
-#define MZ_PHALANX 18
-#define MZ_SILENCED 128 // bit flag ORed with one of the above numbers
-
-//ROGUE
-#define MZ_ETF_RIFLE 30
-#define MZ_UNUSED 31
-#define MZ_SHOTGUN2 32
-#define MZ_HEATBEAM 33
-#define MZ_BLASTER2 34
-#define MZ_TRACKER 35
-#define MZ_NUKE1 36
-#define MZ_NUKE2 37
-#define MZ_NUKE4 38
-#define MZ_NUKE8 39
-//ROGUE
-
-//
-// monster muzzle flashes
-//
-#define MZ2_TANK_BLASTER_1 1
-#define MZ2_TANK_BLASTER_2 2
-#define MZ2_TANK_BLASTER_3 3
-#define MZ2_TANK_MACHINEGUN_1 4
-#define MZ2_TANK_MACHINEGUN_2 5
-#define MZ2_TANK_MACHINEGUN_3 6
-#define MZ2_TANK_MACHINEGUN_4 7
-#define MZ2_TANK_MACHINEGUN_5 8
-#define MZ2_TANK_MACHINEGUN_6 9
-#define MZ2_TANK_MACHINEGUN_7 10
-#define MZ2_TANK_MACHINEGUN_8 11
-#define MZ2_TANK_MACHINEGUN_9 12
-#define MZ2_TANK_MACHINEGUN_10 13
-#define MZ2_TANK_MACHINEGUN_11 14
-#define MZ2_TANK_MACHINEGUN_12 15
-#define MZ2_TANK_MACHINEGUN_13 16
-#define MZ2_TANK_MACHINEGUN_14 17
-#define MZ2_TANK_MACHINEGUN_15 18
-#define MZ2_TANK_MACHINEGUN_16 19
-#define MZ2_TANK_MACHINEGUN_17 20
-#define MZ2_TANK_MACHINEGUN_18 21
-#define MZ2_TANK_MACHINEGUN_19 22
-#define MZ2_TANK_ROCKET_1 23
-#define MZ2_TANK_ROCKET_2 24
-#define MZ2_TANK_ROCKET_3 25
-
-#define MZ2_INFANTRY_MACHINEGUN_1 26
-#define MZ2_INFANTRY_MACHINEGUN_2 27
-#define MZ2_INFANTRY_MACHINEGUN_3 28
-#define MZ2_INFANTRY_MACHINEGUN_4 29
-#define MZ2_INFANTRY_MACHINEGUN_5 30
-#define MZ2_INFANTRY_MACHINEGUN_6 31
-#define MZ2_INFANTRY_MACHINEGUN_7 32
-#define MZ2_INFANTRY_MACHINEGUN_8 33
-#define MZ2_INFANTRY_MACHINEGUN_9 34
-#define MZ2_INFANTRY_MACHINEGUN_10 35
-#define MZ2_INFANTRY_MACHINEGUN_11 36
-#define MZ2_INFANTRY_MACHINEGUN_12 37
-#define MZ2_INFANTRY_MACHINEGUN_13 38
-
-#define MZ2_SOLDIER_BLASTER_1 39
-#define MZ2_SOLDIER_BLASTER_2 40
-#define MZ2_SOLDIER_SHOTGUN_1 41
-#define MZ2_SOLDIER_SHOTGUN_2 42
-#define MZ2_SOLDIER_MACHINEGUN_1 43
-#define MZ2_SOLDIER_MACHINEGUN_2 44
-
-#define MZ2_GUNNER_MACHINEGUN_1 45
-#define MZ2_GUNNER_MACHINEGUN_2 46
-#define MZ2_GUNNER_MACHINEGUN_3 47
-#define MZ2_GUNNER_MACHINEGUN_4 48
-#define MZ2_GUNNER_MACHINEGUN_5 49
-#define MZ2_GUNNER_MACHINEGUN_6 50
-#define MZ2_GUNNER_MACHINEGUN_7 51
-#define MZ2_GUNNER_MACHINEGUN_8 52
-#define MZ2_GUNNER_GRENADE_1 53
-#define MZ2_GUNNER_GRENADE_2 54
-#define MZ2_GUNNER_GRENADE_3 55
-#define MZ2_GUNNER_GRENADE_4 56
-
-#define MZ2_CHICK_ROCKET_1 57
-
-#define MZ2_FLYER_BLASTER_1 58
-#define MZ2_FLYER_BLASTER_2 59
-
-#define MZ2_MEDIC_BLASTER_1 60
-
-#define MZ2_GLADIATOR_RAILGUN_1 61
-
-#define MZ2_HOVER_BLASTER_1 62
-
-#define MZ2_ACTOR_MACHINEGUN_1 63
-
-#define MZ2_SUPERTANK_MACHINEGUN_1 64
-#define MZ2_SUPERTANK_MACHINEGUN_2 65
-#define MZ2_SUPERTANK_MACHINEGUN_3 66
-#define MZ2_SUPERTANK_MACHINEGUN_4 67
-#define MZ2_SUPERTANK_MACHINEGUN_5 68
-#define MZ2_SUPERTANK_MACHINEGUN_6 69
-#define MZ2_SUPERTANK_ROCKET_1 70
-#define MZ2_SUPERTANK_ROCKET_2 71
-#define MZ2_SUPERTANK_ROCKET_3 72
-
-#define MZ2_BOSS2_MACHINEGUN_L1 73
-#define MZ2_BOSS2_MACHINEGUN_L2 74
-#define MZ2_BOSS2_MACHINEGUN_L3 75
-#define MZ2_BOSS2_MACHINEGUN_L4 76
-#define MZ2_BOSS2_MACHINEGUN_L5 77
-#define MZ2_BOSS2_ROCKET_1 78
-#define MZ2_BOSS2_ROCKET_2 79
-#define MZ2_BOSS2_ROCKET_3 80
-#define MZ2_BOSS2_ROCKET_4 81
-
-#define MZ2_FLOAT_BLASTER_1 82
-
-#define MZ2_SOLDIER_BLASTER_3 83
-#define MZ2_SOLDIER_SHOTGUN_3 84
-#define MZ2_SOLDIER_MACHINEGUN_3 85
-#define MZ2_SOLDIER_BLASTER_4 86
-#define MZ2_SOLDIER_SHOTGUN_4 87
-#define MZ2_SOLDIER_MACHINEGUN_4 88
-#define MZ2_SOLDIER_BLASTER_5 89
-#define MZ2_SOLDIER_SHOTGUN_5 90
-#define MZ2_SOLDIER_MACHINEGUN_5 91
-#define MZ2_SOLDIER_BLASTER_6 92
-#define MZ2_SOLDIER_SHOTGUN_6 93
-#define MZ2_SOLDIER_MACHINEGUN_6 94
-#define MZ2_SOLDIER_BLASTER_7 95
-#define MZ2_SOLDIER_SHOTGUN_7 96
-#define MZ2_SOLDIER_MACHINEGUN_7 97
-#define MZ2_SOLDIER_BLASTER_8 98
-#define MZ2_SOLDIER_SHOTGUN_8 99
-#define MZ2_SOLDIER_MACHINEGUN_8 100
-
-// --- Xian shit below ---
-#define MZ2_MAKRON_BFG 101
-#define MZ2_MAKRON_BLASTER_1 102
-#define MZ2_MAKRON_BLASTER_2 103
-#define MZ2_MAKRON_BLASTER_3 104
-#define MZ2_MAKRON_BLASTER_4 105
-#define MZ2_MAKRON_BLASTER_5 106
-#define MZ2_MAKRON_BLASTER_6 107
-#define MZ2_MAKRON_BLASTER_7 108
-#define MZ2_MAKRON_BLASTER_8 109
-#define MZ2_MAKRON_BLASTER_9 110
-#define MZ2_MAKRON_BLASTER_10 111
-#define MZ2_MAKRON_BLASTER_11 112
-#define MZ2_MAKRON_BLASTER_12 113
-#define MZ2_MAKRON_BLASTER_13 114
-#define MZ2_MAKRON_BLASTER_14 115
-#define MZ2_MAKRON_BLASTER_15 116
-#define MZ2_MAKRON_BLASTER_16 117
-#define MZ2_MAKRON_BLASTER_17 118
-#define MZ2_MAKRON_RAILGUN_1 119
-#define MZ2_JORG_MACHINEGUN_L1 120
-#define MZ2_JORG_MACHINEGUN_L2 121
-#define MZ2_JORG_MACHINEGUN_L3 122
-#define MZ2_JORG_MACHINEGUN_L4 123
-#define MZ2_JORG_MACHINEGUN_L5 124
-#define MZ2_JORG_MACHINEGUN_L6 125
-#define MZ2_JORG_MACHINEGUN_R1 126
-#define MZ2_JORG_MACHINEGUN_R2 127
-#define MZ2_JORG_MACHINEGUN_R3 128
-#define MZ2_JORG_MACHINEGUN_R4 129
-#define MZ2_JORG_MACHINEGUN_R5 130
-#define MZ2_JORG_MACHINEGUN_R6 131
-#define MZ2_JORG_BFG_1 132
-#define MZ2_BOSS2_MACHINEGUN_R1 133
-#define MZ2_BOSS2_MACHINEGUN_R2 134
-#define MZ2_BOSS2_MACHINEGUN_R3 135
-#define MZ2_BOSS2_MACHINEGUN_R4 136
-#define MZ2_BOSS2_MACHINEGUN_R5 137
-
-//ROGUE
-#define MZ2_CARRIER_MACHINEGUN_L1 138
-#define MZ2_CARRIER_MACHINEGUN_R1 139
-#define MZ2_CARRIER_GRENADE 140
-#define MZ2_TURRET_MACHINEGUN 141
-#define MZ2_TURRET_ROCKET 142
-#define MZ2_TURRET_BLASTER 143
-#define MZ2_STALKER_BLASTER 144
-#define MZ2_DAEDALUS_BLASTER 145
-#define MZ2_MEDIC_BLASTER_2 146
-#define MZ2_CARRIER_RAILGUN 147
-#define MZ2_WIDOW_DISRUPTOR 148
-#define MZ2_WIDOW_BLASTER 149
-#define MZ2_WIDOW_RAIL 150
-#define MZ2_WIDOW_PLASMABEAM 151 // PMM - not used
-#define MZ2_CARRIER_MACHINEGUN_L2 152
-#define MZ2_CARRIER_MACHINEGUN_R2 153
-#define MZ2_WIDOW_RAIL_LEFT 154
-#define MZ2_WIDOW_RAIL_RIGHT 155
-#define MZ2_WIDOW_BLASTER_SWEEP1 156
-#define MZ2_WIDOW_BLASTER_SWEEP2 157
-#define MZ2_WIDOW_BLASTER_SWEEP3 158
-#define MZ2_WIDOW_BLASTER_SWEEP4 159
-#define MZ2_WIDOW_BLASTER_SWEEP5 160
-#define MZ2_WIDOW_BLASTER_SWEEP6 161
-#define MZ2_WIDOW_BLASTER_SWEEP7 162
-#define MZ2_WIDOW_BLASTER_SWEEP8 163
-#define MZ2_WIDOW_BLASTER_SWEEP9 164
-#define MZ2_WIDOW_BLASTER_100 165
-#define MZ2_WIDOW_BLASTER_90 166
-#define MZ2_WIDOW_BLASTER_80 167
-#define MZ2_WIDOW_BLASTER_70 168
-#define MZ2_WIDOW_BLASTER_60 169
-#define MZ2_WIDOW_BLASTER_50 170
-#define MZ2_WIDOW_BLASTER_40 171
-#define MZ2_WIDOW_BLASTER_30 172
-#define MZ2_WIDOW_BLASTER_20 173
-#define MZ2_WIDOW_BLASTER_10 174
-#define MZ2_WIDOW_BLASTER_0 175
-#define MZ2_WIDOW_BLASTER_10L 176
-#define MZ2_WIDOW_BLASTER_20L 177
-#define MZ2_WIDOW_BLASTER_30L 178
-#define MZ2_WIDOW_BLASTER_40L 179
-#define MZ2_WIDOW_BLASTER_50L 180
-#define MZ2_WIDOW_BLASTER_60L 181
-#define MZ2_WIDOW_BLASTER_70L 182
-#define MZ2_WIDOW_RUN_1 183
-#define MZ2_WIDOW_RUN_2 184
-#define MZ2_WIDOW_RUN_3 185
-#define MZ2_WIDOW_RUN_4 186
-#define MZ2_WIDOW_RUN_5 187
-#define MZ2_WIDOW_RUN_6 188
-#define MZ2_WIDOW_RUN_7 189
-#define MZ2_WIDOW_RUN_8 190
-#define MZ2_CARRIER_ROCKET_1 191
-#define MZ2_CARRIER_ROCKET_2 192
-#define MZ2_CARRIER_ROCKET_3 193
-#define MZ2_CARRIER_ROCKET_4 194
-#define MZ2_WIDOW2_BEAMER_1 195
-#define MZ2_WIDOW2_BEAMER_2 196
-#define MZ2_WIDOW2_BEAMER_3 197
-#define MZ2_WIDOW2_BEAMER_4 198
-#define MZ2_WIDOW2_BEAMER_5 199
-#define MZ2_WIDOW2_BEAM_SWEEP_1 200
-#define MZ2_WIDOW2_BEAM_SWEEP_2 201
-#define MZ2_WIDOW2_BEAM_SWEEP_3 202
-#define MZ2_WIDOW2_BEAM_SWEEP_4 203
-#define MZ2_WIDOW2_BEAM_SWEEP_5 204
-#define MZ2_WIDOW2_BEAM_SWEEP_6 205
-#define MZ2_WIDOW2_BEAM_SWEEP_7 206
-#define MZ2_WIDOW2_BEAM_SWEEP_8 207
-#define MZ2_WIDOW2_BEAM_SWEEP_9 208
-#define MZ2_WIDOW2_BEAM_SWEEP_10 209
-#define MZ2_WIDOW2_BEAM_SWEEP_11 210
-
-// ROGUE
-
-extern vec3_t monster_flash_offset [];
-
-
-// temp entity events
-//
-// Temp entity events are for things that happen
-// at a location seperate from any existing entity.
-// Temporary entity messages are explicitly constructed
-// and broadcast.
-typedef enum
-{
- TE_GUNSHOT,
- TE_BLOOD,
- TE_BLASTER,
- TE_RAILTRAIL,
- TE_SHOTGUN,
- TE_EXPLOSION1,
- TE_EXPLOSION2,
- TE_ROCKET_EXPLOSION,
- TE_GRENADE_EXPLOSION,
- TE_SPARKS,
- TE_SPLASH,
- TE_BUBBLETRAIL,
- TE_SCREEN_SPARKS,
- TE_SHIELD_SPARKS,
- TE_BULLET_SPARKS,
- TE_LASER_SPARKS,
- TE_PARASITE_ATTACK,
- TE_ROCKET_EXPLOSION_WATER,
- TE_GRENADE_EXPLOSION_WATER,
- TE_MEDIC_CABLE_ATTACK,
- TE_BFG_EXPLOSION,
- TE_BFG_BIGEXPLOSION,
- TE_BOSSTPORT, // used as '22' in a map, so DON'T RENUMBER!!!
- TE_BFG_LASER,
- TE_GRAPPLE_CABLE,
- TE_WELDING_SPARKS,
- TE_GREENBLOOD,
- TE_BLUEHYPERBLASTER,
- TE_PLASMA_EXPLOSION,
- TE_TUNNEL_SPARKS,
-//ROGUE
- TE_BLASTER2,
- TE_RAILTRAIL2,
- TE_FLAME,
- TE_LIGHTNING,
- TE_DEBUGTRAIL,
- TE_PLAIN_EXPLOSION,
- TE_FLASHLIGHT,
- TE_FORCEWALL,
- TE_HEATBEAM,
- TE_MONSTER_HEATBEAM,
- TE_STEAM,
- TE_BUBBLETRAIL2,
- TE_MOREBLOOD,
- TE_HEATBEAM_SPARKS,
- TE_HEATBEAM_STEAM,
- TE_CHAINFIST_SMOKE,
- TE_ELECTRIC_SPARKS,
- TE_TRACKER_EXPLOSION,
- TE_TELEPORT_EFFECT,
- TE_DBALL_GOAL,
- TE_WIDOWBEAMOUT,
- TE_NUKEBLAST,
- TE_WIDOWSPLASH,
- TE_EXPLOSION1_BIG,
- TE_EXPLOSION1_NP,
- TE_FLECHETTE
-//ROGUE
-} temp_event_t;
-
-#define SPLASH_UNKNOWN 0
-#define SPLASH_SPARKS 1
-#define SPLASH_BLUE_WATER 2
-#define SPLASH_BROWN_WATER 3
-#define SPLASH_SLIME 4
-#define SPLASH_LAVA 5
-#define SPLASH_BLOOD 6
-
-
-// sound channels
-// channel 0 never willingly overrides
-// other channels (1-7) allways override a playing sound on that channel
-#define CHAN_AUTO 0
-#define CHAN_WEAPON 1
-#define CHAN_VOICE 2
-#define CHAN_ITEM 3
-#define CHAN_BODY 4
-// modifier flags
-#define CHAN_NO_PHS_ADD 8 // send to all clients, not just ones in PHS (ATTN 0 will also do this)
-#define CHAN_RELIABLE 16 // send by reliable message, not datagram
-
-
-// sound attenuation values
-#define ATTN_NONE 0 // full volume the entire level
-#define ATTN_NORM 1
-#define ATTN_IDLE 2
-#define ATTN_STATIC 3 // diminish very rapidly with distance
-
-
-// player_state->stats[] indexes
-#define STAT_HEALTH_ICON 0
-#define STAT_HEALTH 1
-#define STAT_AMMO_ICON 2
-#define STAT_AMMO 3
-#define STAT_ARMOR_ICON 4
-#define STAT_ARMOR 5
-#define STAT_SELECTED_ICON 6
-#define STAT_PICKUP_ICON 7
-#define STAT_PICKUP_STRING 8
-#define STAT_TIMER_ICON 9
-#define STAT_TIMER 10
-#define STAT_HELPICON 11
-#define STAT_SELECTED_ITEM 12
-#define STAT_LAYOUTS 13
-#define STAT_FRAGS 14
-#define STAT_FLASHES 15 // cleared each frame, 1 = health, 2 = armor
-#define STAT_CHASE 16
-#define STAT_SPECTATOR 17
-
-#define MAX_STATS 32
-
-
-// dmflags->value flags
-#define DF_NO_HEALTH 0x00000001 // 1
-#define DF_NO_ITEMS 0x00000002 // 2
-#define DF_WEAPONS_STAY 0x00000004 // 4
-#define DF_NO_FALLING 0x00000008 // 8
-#define DF_INSTANT_ITEMS 0x00000010 // 16
-#define DF_SAME_LEVEL 0x00000020 // 32
-#define DF_SKINTEAMS 0x00000040 // 64
-#define DF_MODELTEAMS 0x00000080 // 128
-#define DF_NO_FRIENDLY_FIRE 0x00000100 // 256
-#define DF_SPAWN_FARTHEST 0x00000200 // 512
-#define DF_FORCE_RESPAWN 0x00000400 // 1024
-#define DF_NO_ARMOR 0x00000800 // 2048
-#define DF_ALLOW_EXIT 0x00001000 // 4096
-#define DF_INFINITE_AMMO 0x00002000 // 8192
-#define DF_QUAD_DROP 0x00004000 // 16384
-#define DF_FIXED_FOV 0x00008000 // 32768
-
-// RAFAEL
-#define DF_QUADFIRE_DROP 0x00010000 // 65536
-
-//ROGUE
-#define DF_NO_MINES 0x00020000
-#define DF_NO_STACK_DOUBLE 0x00040000
-#define DF_NO_NUKES 0x00080000
-#define DF_NO_SPHERES 0x00100000
-//ROGUE
-
-/*
-ROGUE - VERSIONS
-1234 08/13/1998 Activision
-1235 08/14/1998 Id Software
-1236 08/15/1998 Steve Tietze
-1237 08/15/1998 Phil Dobranski
-1238 08/15/1998 John Sheley
-1239 08/17/1998 Barrett Alexander
-1230 08/17/1998 Brandon Fish
-1245 08/17/1998 Don MacAskill
-1246 08/17/1998 David "Zoid" Kirsch
-1247 08/17/1998 Manu Smith
-1248 08/17/1998 Geoff Scully
-1249 08/17/1998 Andy Van Fossen
-1240 08/20/1998 Activision Build 2
-1256 08/20/1998 Ranger Clan
-1257 08/20/1998 Ensemble Studios
-1258 08/21/1998 Robert Duffy
-1259 08/21/1998 Stephen Seachord
-1250 08/21/1998 Stephen Heaslip
-1267 08/21/1998 Samir Sandesara
-1268 08/21/1998 Oliver Wyman
-1269 08/21/1998 Steven Marchegiano
-1260 08/21/1998 Build #2 for Nihilistic
-1278 08/21/1998 Build #2 for Ensemble
-
-9999 08/20/1998 Internal Use
-*/
-#define ROGUE_VERSION_ID 1278
-
-#define ROGUE_VERSION_STRING "08/21/1998 Beta 2 for Ensemble"
-
-// ROGUE
-/*
-==========================================================
-
- ELEMENTS COMMUNICATED ACROSS THE NET
-
-==========================================================
-*/
-
-#define ANGLE2SHORT(x) ((int)((x)*65536/360) & 65535)
-#define SHORT2ANGLE(x) ((x)*(360.0/65536))
-
-
-//
-// config strings are a general means of communication from
-// the server to all connected clients.
-// Each config string can be at most MAX_QPATH characters.
-//
-#define CS_NAME 0
-#define CS_CDTRACK 1
-#define CS_SKY 2
-#define CS_SKYAXIS 3 // %f %f %f format
-#define CS_SKYROTATE 4
-#define CS_STATUSBAR 5 // display program string
-
-#define CS_AIRACCEL 29 // air acceleration control
-#define CS_MAXCLIENTS 30
-#define CS_MAPCHECKSUM 31 // for catching cheater maps
-
-#define CS_MODELS 32
-#define CS_SOUNDS (CS_MODELS+MAX_MODELS)
-#define CS_IMAGES (CS_SOUNDS+MAX_SOUNDS)
-#define CS_LIGHTS (CS_IMAGES+MAX_IMAGES)
-#define CS_ITEMS (CS_LIGHTS+MAX_LIGHTSTYLES)
-#define CS_PLAYERSKINS (CS_ITEMS+MAX_ITEMS)
-#define CS_GENERAL (CS_PLAYERSKINS+MAX_CLIENTS)
-#define MAX_CONFIGSTRINGS (CS_GENERAL+MAX_GENERAL)
-
-
-//==============================================
-
-
-// entity_state_t->event values
-// ertity events are for effects that take place reletive
-// to an existing entities origin. Very network efficient.
-// All muzzle flashes really should be converted to events...
-typedef enum
-{
- EV_NONE,
- EV_ITEM_RESPAWN,
- EV_FOOTSTEP,
- EV_FALLSHORT,
- EV_FALL,
- EV_FALLFAR,
- EV_PLAYER_TELEPORT,
- EV_OTHER_TELEPORT
-} entity_event_t;
-
-
-// entity_state_t is the information conveyed from the server
-// in an update message about entities that the client will
-// need to render in some way
-typedef struct entity_state_s
-{
- int number; // edict index
-
- vec3_t origin;
- vec3_t angles;
- vec3_t old_origin; // for lerping
- int modelindex;
- int modelindex2, modelindex3, modelindex4; // weapons, CTF flags, etc
- int frame;
- int skinnum;
- unsigned int effects; // PGM - we're filling it, so it needs to be unsigned
- int renderfx;
- int solid; // for client side prediction, 8*(bits 0-4) is x/y radius
- // 8*(bits 5-9) is z down distance, 8(bits10-15) is z up
- // gi.linkentity sets this properly
- int sound; // for looping sounds, to guarantee shutoff
- int event; // impulse events -- muzzle flashes, footsteps, etc
- // events only go out for a single frame, they
- // are automatically cleared each frame
-} entity_state_t;
-
-//==============================================
-
-
-// player_state_t is the information needed in addition to pmove_state_t
-// to rendered a view. There will only be 10 player_state_t sent each second,
-// but the number of pmove_state_t changes will be reletive to client
-// frame rates
-typedef struct
-{
- pmove_state_t pmove; // for prediction
-
- // these fields do not need to be communicated bit-precise
-
- vec3_t viewangles; // for fixed views
- vec3_t viewoffset; // add to pmovestate->origin
- vec3_t kick_angles; // add to view direction to get render angles
- // set by weapon kicks, pain effects, etc
-
- vec3_t gunangles;
- vec3_t gunoffset;
- int gunindex;
- int gunframe;
-
- float blend[4]; // rgba full screen effect
-
- float fov; // horizontal field of view
-
- int rdflags; // refdef flags
-
- short stats[MAX_STATS]; // fast status bar updates
-} player_state_t;
-
-
-// ==================
-// PGM
-#define VIDREF_GL 1
-#define VIDREF_SOFT 2
-#define VIDREF_OTHER 3
-
-extern int vidref_val;
-// PGM
-// ==================
--- a/game/g_local.h
+++ b/game/g_local.h
@@ -19,7 +19,7 @@
*/
// g_local.h -- local definitions for game module
-#include "q_shared.h"
+#include "../q_shared.h"
// define GAME_INCLUDE so that game.h does not define the
// short, server-visible gclient_t and edict_t structures,
--- a/game/game.001
+++ /dev/null
@@ -1,1619 +1,0 @@
-# Microsoft Developer Studio Project File - Name="game" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 5.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-# TARGTYPE "Win32 (ALPHA) Dynamic-Link Library" 0x0602
-
-CFG=game - Win32 Debug Alpha
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "game.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "game.mak" CFG="game - Win32 Debug Alpha"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "game - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "game - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "game - Win32 Debug Alpha" (based on\
- "Win32 (ALPHA) Dynamic-Link Library")
-!MESSAGE "game - Win32 Release Alpha" (based on\
- "Win32 (ALPHA) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ".\Release"
-# PROP BASE Intermediate_Dir ".\Release"
-# PROP BASE Target_Dir "."
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\release"
-# PROP Intermediate_Dir ".\release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir "."
-CPP=cl.exe
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /G5 /MT /W4 /GX /Zd /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib winmm.lib /nologo /base:"0x20000000" /subsystem:windows /dll /machine:I386 /out:"..\release\gamex86.dll"
-# SUBTRACT LINK32 /incremental:yes /debug
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ".\Debug"
-# PROP BASE Intermediate_Dir ".\Debug"
-# PROP BASE Target_Dir "."
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\debug"
-# PROP Intermediate_Dir ".\debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir "."
-CPP=cl.exe
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /G5 /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "BUILDING_REF_GL" /FR /YX /FD /c
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386
-# ADD LINK32 kernel32.lib user32.lib winmm.lib /nologo /base:"0x20000000" /subsystem:windows /dll /incremental:no /map /debug /machine:I386 /out:"..\debug\gamex86.dll"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug Alpha"
-# PROP BASE Intermediate_Dir "Debug Alpha"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\DebugAxp"
-# PROP Intermediate_Dir ".\DebugAxp"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
-CPP=cl.exe
-# ADD BASE CPP /nologo /MTd /Gt0 /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /QA21164 /MTd /Gt0 /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "C_ONLY" /YX /FD /c
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /base:"0x20000000" /subsystem:windows /dll /debug /machine:ALPHA
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /base:"0x20000000" /subsystem:windows /dll /debug /machine:ALPHA /out:"..\DebugAxp/gameaxp.dll"
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "game___W"
-# PROP BASE Intermediate_Dir "game___W"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\ReleaseAXP"
-# PROP Intermediate_Dir ".\ReleaseAXP"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
-CPP=cl.exe
-# ADD BASE CPP /nologo /MT /Gt0 /W3 /GX /Zd /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /QA21164 /MT /Gt0 /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "C_ONLY" /YX /FD /c
-# SUBTRACT CPP /Z<none> /Fr
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /base:"0x20000000" /subsystem:windows /dll /machine:ALPHA /out:"..\Release/gamex86.dll"
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib /nologo /base:"0x20000000" /subsystem:windows /dll /machine:ALPHA /out:"..\ReleaseAXP/gameaxp.dll"
-# SUBTRACT LINK32 /debug
-
-!ENDIF
-
-# Begin Target
-
-# Name "game - Win32 Release"
-# Name "game - Win32 Debug"
-# Name "game - Win32 Debug Alpha"
-# Name "game - Win32 Release Alpha"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
-# Begin Source File
-
-SOURCE=.\g_ai.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_AI_=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_AI_=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_chase.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_CHA=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_CHA=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_cmds.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_CMD=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_CMD=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_combat.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_COM=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_COM=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_func.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_FUN=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_FUN=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_items.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_ITE=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_ITE=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_main.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_MAI=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_MAI=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_misc.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_MIS=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_MIS=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_monster.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_MON=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_MON=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_phys.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_PHY=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_PHY=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_save.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_SAV=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_SAV=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_spawn.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_SPA=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_SPA=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_svcmds.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_SVC=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_SVC=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_target.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_TAR=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_TAR=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_trigger.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_TRI=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_TRI=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_turret.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_TUR=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_TUR=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_utils.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_UTI=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_UTI=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_weapon.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_WEA=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_WEA=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_actor.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_ACT=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_actor.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_ACT=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_actor.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_berserk.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_BER=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_berserk.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_BER=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_berserk.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_boss2.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_BOS=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_boss2.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_BOS=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_boss2.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_boss3.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_BOSS=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_boss32.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_BOSS=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_boss32.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_boss31.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_BOSS3=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_boss31.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_BOSS3=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_boss31.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_boss32.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_BOSS32=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_boss32.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_BOSS32=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_boss32.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_brain.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_BRA=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_brain.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_BRA=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_brain.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_chick.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_CHI=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_chick.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_CHI=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_chick.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_flash.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_FLA=\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_FLA=\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_flipper.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_FLI=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_flipper.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_FLI=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_flipper.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_float.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_FLO=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_float.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_FLO=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_float.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_flyer.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_FLY=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_flyer.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_FLY=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_flyer.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_gladiator.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_GLA=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_gladiator.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_GLA=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_gladiator.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_gunner.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_GUN=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_gunner.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_GUN=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_gunner.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_hover.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_HOV=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_hover.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_HOV=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_hover.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_infantry.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_INF=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_infantry.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_INF=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_infantry.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_insane.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_INS=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_insane.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_INS=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_insane.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_medic.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_MED=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_medic.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_MED=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_medic.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_move.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_MOV=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_MOV=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_mutant.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_MUT=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_mutant.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_MUT=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_mutant.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_parasite.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_PAR=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_parasite.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_PAR=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_parasite.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_soldier.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_SOL=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_soldier.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_SOL=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_soldier.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_supertank.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_SUP=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_supertank.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_SUP=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_supertank.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_tank.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_TAN=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_tank.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_TAN=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_tank.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\p_client.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_P_CLI=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_P_CLI=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\p_hud.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_P_HUD=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_P_HUD=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\p_trail.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_P_TRA=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_P_TRA=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\p_view.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_P_VIE=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_P_VIE=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\p_weapon.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_P_WEA=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_P_WEA=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\q_shared.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_Q_SHA=\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_Q_SHA=\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
-# Begin Source File
-
-SOURCE=.\g_local.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\game.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_actor.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_berserk.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_boss2.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_boss31.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_boss32.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_brain.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_chick.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_flipper.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_float.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_flyer.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_gladiator.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_gunner.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_hover.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_infantry.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_insane.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_medic.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_mutant.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_parasite.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_player.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_soldier.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_supertank.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_tank.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\q_shared.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
-# Begin Source File
-
-SOURCE=.\game.def
-# End Source File
-# End Group
-# End Target
-# End Project
--- a/game/game.def
+++ /dev/null
@@ -1,2 +1,0 @@
-EXPORTS
- GetGameAPI
--- a/game/game.dsp
+++ /dev/null
@@ -1,1618 +1,0 @@
-# Microsoft Developer Studio Project File - Name="game" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-# TARGTYPE "Win32 (ALPHA) Dynamic-Link Library" 0x0602
-
-CFG=game - Win32 Debug Alpha
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "game.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "game.mak" CFG="game - Win32 Debug Alpha"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "game - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "game - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "game - Win32 Debug Alpha" (based on "Win32 (ALPHA) Dynamic-Link Library")
-!MESSAGE "game - Win32 Release Alpha" (based on "Win32 (ALPHA) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ".\Release"
-# PROP BASE Intermediate_Dir ".\Release"
-# PROP BASE Target_Dir "."
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\release"
-# PROP Intermediate_Dir ".\release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir "."
-CPP=cl.exe
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /G5 /MT /W4 /GX /Zd /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib winmm.lib /nologo /base:"0x20000000" /subsystem:windows /dll /machine:I386 /out:"..\release\gamex86.dll"
-# SUBTRACT LINK32 /incremental:yes /debug
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ".\Debug"
-# PROP BASE Intermediate_Dir ".\Debug"
-# PROP BASE Target_Dir "."
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\debug"
-# PROP Intermediate_Dir ".\debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir "."
-CPP=cl.exe
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /G5 /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "BUILDING_REF_GL" /FR /YX /FD /c
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386
-# ADD LINK32 kernel32.lib user32.lib winmm.lib /nologo /base:"0x20000000" /subsystem:windows /dll /incremental:no /map /debug /machine:I386 /out:"..\debug\gamex86.dll"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug Alpha"
-# PROP BASE Intermediate_Dir "Debug Alpha"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\DebugAxp"
-# PROP Intermediate_Dir ".\DebugAxp"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-CPP=cl.exe
-# ADD BASE CPP /nologo /MTd /Gt0 /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /QA21164 /MTd /Gt0 /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "C_ONLY" /YX /FD /c
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /base:"0x20000000" /subsystem:windows /dll /debug /machine:ALPHA
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /base:"0x20000000" /subsystem:windows /dll /debug /machine:ALPHA /out:"..\DebugAxp/gameaxp.dll"
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "game___W"
-# PROP BASE Intermediate_Dir "game___W"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\ReleaseAXP"
-# PROP Intermediate_Dir ".\ReleaseAXP"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-CPP=cl.exe
-# ADD BASE CPP /nologo /MT /Gt0 /W3 /GX /Zd /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /QA21164 /MT /Gt0 /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "C_ONLY" /YX /FD /c
-# SUBTRACT CPP /Z<none> /Fr
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /base:"0x20000000" /subsystem:windows /dll /machine:ALPHA /out:"..\Release/gamex86.dll"
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib /nologo /base:"0x20000000" /subsystem:windows /dll /machine:ALPHA /out:"..\ReleaseAXP/gameaxp.dll"
-# SUBTRACT LINK32 /debug
-
-!ENDIF
-
-# Begin Target
-
-# Name "game - Win32 Release"
-# Name "game - Win32 Debug"
-# Name "game - Win32 Debug Alpha"
-# Name "game - Win32 Release Alpha"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
-# Begin Source File
-
-SOURCE=.\g_ai.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_AI_=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_AI_=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_chase.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_CHA=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_CHA=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_cmds.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_CMD=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_CMD=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_combat.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_COM=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_COM=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_func.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_FUN=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_FUN=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_items.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_ITE=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_ITE=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_main.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_MAI=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_MAI=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_misc.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_MIS=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_MIS=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_monster.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_MON=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_MON=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_phys.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_PHY=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_PHY=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_save.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_SAV=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_SAV=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_spawn.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_SPA=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_SPA=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_svcmds.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_SVC=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_SVC=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_target.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_TAR=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_TAR=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_trigger.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_TRI=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_TRI=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_turret.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_TUR=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_TUR=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_utils.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_UTI=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_UTI=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\g_weapon.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_G_WEA=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_G_WEA=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_actor.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_ACT=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_actor.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_ACT=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_actor.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_berserk.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_BER=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_berserk.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_BER=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_berserk.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_boss2.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_BOS=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_boss2.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_BOS=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_boss2.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_boss3.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_BOSS=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_boss32.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_BOSS=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_boss32.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_boss31.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_BOSS3=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_boss31.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_BOSS3=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_boss31.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_boss32.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_BOSS32=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_boss32.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_BOSS32=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_boss32.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_brain.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_BRA=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_brain.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_BRA=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_brain.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_chick.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_CHI=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_chick.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_CHI=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_chick.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_flash.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_FLA=\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_FLA=\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_flipper.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_FLI=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_flipper.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_FLI=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_flipper.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_float.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_FLO=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_float.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_FLO=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_float.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_flyer.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_FLY=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_flyer.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_FLY=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_flyer.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_gladiator.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_GLA=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_gladiator.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_GLA=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_gladiator.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_gunner.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_GUN=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_gunner.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_GUN=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_gunner.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_hover.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_HOV=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_hover.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_HOV=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_hover.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_infantry.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_INF=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_infantry.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_INF=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_infantry.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_insane.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_INS=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_insane.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_INS=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_insane.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_medic.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_MED=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_medic.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_MED=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_medic.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_move.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_MOV=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_MOV=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_mutant.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_MUT=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_mutant.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_MUT=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_mutant.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_parasite.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_PAR=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_parasite.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_PAR=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_parasite.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_soldier.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_SOL=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_soldier.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_SOL=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_soldier.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_supertank.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_SUP=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_supertank.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_SUP=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_supertank.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_tank.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_M_TAN=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_tank.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_M_TAN=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_tank.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\p_client.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_P_CLI=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_P_CLI=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\p_hud.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_P_HUD=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_P_HUD=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\p_trail.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_P_TRA=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_P_TRA=\
- ".\g_local.h"\
- ".\game.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\p_view.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_P_VIE=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_P_VIE=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\p_weapon.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_P_WEA=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_P_WEA=\
- ".\g_local.h"\
- ".\game.h"\
- ".\m_player.h"\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\q_shared.c
-
-!IF "$(CFG)" == "game - Win32 Release"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "game - Win32 Debug Alpha"
-
-DEP_CPP_Q_SHA=\
- ".\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "game - Win32 Release Alpha"
-
-DEP_CPP_Q_SHA=\
- ".\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
-# Begin Source File
-
-SOURCE=.\g_local.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\game.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_actor.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_berserk.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_boss2.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_boss31.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_boss32.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_brain.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_chick.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_flipper.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_float.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_flyer.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_gladiator.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_gunner.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_hover.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_infantry.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_insane.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_medic.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_mutant.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_parasite.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_player.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_soldier.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_supertank.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\m_tank.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\q_shared.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
-# Begin Source File
-
-SOURCE=.\game.def
-# End Source File
-# End Group
-# End Target
-# End Project
--- a/game/game.plg
+++ /dev/null
@@ -1,75 +1,0 @@
---------------------Configuration: game - Win32 Release Alpha--------------------
-Begining build with project "G:\quake2\code\game\game.dsp", at root.
-Active configuration is Win32 (ALPHA) Dynamic-Link Library (based on Win32 (ALPHA) Dynamic-Link Library)
-
-Project's tools are:
- "OLE Type Library Maker" with flags "/nologo /D "NDEBUG" /mktyplib203 /o NUL /win32 "
- "C/C++ Compiler for Alpha" with flags "/nologo /QA21164 /MT /Gt0 /W3 /GX /Zi /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "C_ONLY" /Fp".\ReleaseAXP/game.pch" /YX /Fo".\ReleaseAXP/" /Fd".\ReleaseAXP/" /FD /c "
- "Win32 Resource Compiler" with flags "/l 0x409 /d "NDEBUG" "
- "Browser Database Maker" with flags "/nologo /o"..\ReleaseAXP/game.bsc" "
- "COFF Linker for Alpha" with flags "kernel32.lib user32.lib gdi32.lib /nologo /base:"0x20000000" /subsystem:windows /dll /incremental:no /pdb:"..\ReleaseAXP/gameaxp.pdb" /debug /machine:ALPHA /def:".\game.def" /out:"..\ReleaseAXP/gameaxp.dll" /implib:"..\ReleaseAXP/gameaxp.lib" "
- "Custom Build" with flags ""
- "<Component 0xa>" with flags ""
-
-Creating temp file "C:\TEMP\RSPA6.tmp" with contents </nologo /QA21164 /MT /Gt0 /W3 /GX /Zi /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "C_ONLY" /Fp".\ReleaseAXP/game.pch" /YX /Fo".\ReleaseAXP/" /Fd".\ReleaseAXP/" /c
-"G:\quake2\code\game\p_weapon.c"
->
-Creating command line "cl.exe @C:\TEMP\RSPA6.tmp"
-Creating temp file "C:\TEMP\RSPA7.tmp" with contents <kernel32.lib user32.lib gdi32.lib /nologo /base:"0x20000000" /subsystem:windows /dll /incremental:no /pdb:"..\ReleaseAXP/gameaxp.pdb" /debug /machine:ALPHA /def:".\game.def" /out:"..\ReleaseAXP/gameaxp.dll" /implib:"..\ReleaseAXP/gameaxp.lib"
-.\ReleaseAXP\g_ai.obj
-.\ReleaseAXP\g_chase.obj
-.\ReleaseAXP\g_cmds.obj
-.\ReleaseAXP\g_combat.obj
-.\ReleaseAXP\g_func.obj
-.\ReleaseAXP\g_items.obj
-.\ReleaseAXP\g_main.obj
-.\ReleaseAXP\g_misc.obj
-.\ReleaseAXP\g_monster.obj
-.\ReleaseAXP\g_phys.obj
-.\ReleaseAXP\g_save.obj
-.\ReleaseAXP\g_spawn.obj
-.\ReleaseAXP\g_svcmds.obj
-.\ReleaseAXP\g_target.obj
-.\ReleaseAXP\g_trigger.obj
-.\ReleaseAXP\g_turret.obj
-.\ReleaseAXP\g_utils.obj
-.\ReleaseAXP\g_weapon.obj
-.\ReleaseAXP\m_actor.obj
-.\ReleaseAXP\m_berserk.obj
-.\ReleaseAXP\m_boss2.obj
-.\ReleaseAXP\m_boss3.obj
-.\ReleaseAXP\m_boss31.obj
-.\ReleaseAXP\m_boss32.obj
-.\ReleaseAXP\m_brain.obj
-.\ReleaseAXP\m_chick.obj
-.\ReleaseAXP\m_flash.obj
-.\ReleaseAXP\m_flipper.obj
-.\ReleaseAXP\m_float.obj
-.\ReleaseAXP\m_flyer.obj
-.\ReleaseAXP\m_gladiator.obj
-.\ReleaseAXP\m_gunner.obj
-.\ReleaseAXP\m_hover.obj
-.\ReleaseAXP\m_infantry.obj
-.\ReleaseAXP\m_insane.obj
-.\ReleaseAXP\m_medic.obj
-.\ReleaseAXP\m_move.obj
-.\ReleaseAXP\m_mutant.obj
-.\ReleaseAXP\m_parasite.obj
-.\ReleaseAXP\m_soldier.obj
-.\ReleaseAXP\m_supertank.obj
-.\ReleaseAXP\m_tank.obj
-.\ReleaseAXP\p_client.obj
-.\ReleaseAXP\p_hud.obj
-.\ReleaseAXP\p_trail.obj
-.\ReleaseAXP\p_view.obj
-.\ReleaseAXP\p_weapon.obj
-.\ReleaseAXP\q_shared.obj>
-Creating command line "link.exe @C:\TEMP\RSPA7.tmp"
-Compiling...
-p_weapon.c
-Linking...
- Creating library ..\ReleaseAXP/gameaxp.lib and object ..\ReleaseAXP/gameaxp.exp
-
-
-
-gameaxp.dll - 0 error(s), 0 warning(s)
--- a/game/m_flash.c
+++ b/game/m_flash.c
@@ -19,7 +19,7 @@
*/
// m_flash.c
-#include "q_shared.h"
+#include "../q_shared.h"
// this file is included in both the game dll and quake2,
// the game needs it to source shot locations, the client
--- a/game/q_shared.c
+++ b/game/q_shared.c
@@ -17,7 +17,7 @@
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#include "q_shared.h"
+#include "../q_shared.h"
#define DEG2RAD( a ) ( a * M_PI ) / 180.0F
--- a/game/q_shared.h
+++ /dev/null
@@ -1,1200 +1,0 @@
-/*
-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.
-
-*/
-
-// q_shared.h -- included first by ALL program modules
-
-#ifdef _WIN32
-// unknown pragmas are SUPPOSED to be ignored, but....
-#pragma warning(disable : 4244) // MIPS
-#pragma warning(disable : 4136) // X86
-#pragma warning(disable : 4051) // ALPHA
-
-#pragma warning(disable : 4018) // signed/unsigned mismatch
-#pragma warning(disable : 4305) // truncation from const double to float
-
-#endif
-
-#include <assert.h>
-#include <math.h>
-#include <stdio.h>
-#include <stdarg.h>
-#include <string.h>
-#include <stdlib.h>
-#include <time.h>
-
-#if (defined _M_IX86 || defined __i386__) && !defined C_ONLY && !defined __sun__
-#define id386 1
-#else
-#define id386 0
-#endif
-
-#if defined _M_ALPHA && !defined C_ONLY
-#define idaxp 1
-#else
-#define idaxp 0
-#endif
-
-typedef unsigned char byte;
-typedef enum {false, true} qboolean;
-
-
-#ifndef NULL
-#define NULL ((void *)0)
-#endif
-
-
-// angle indexes
-#define PITCH 0 // up / down
-#define YAW 1 // left / right
-#define ROLL 2 // fall over
-
-#define MAX_STRING_CHARS 1024 // max length of a string passed to Cmd_TokenizeString
-#define MAX_STRING_TOKENS 80 // max tokens resulting from Cmd_TokenizeString
-#define MAX_TOKEN_CHARS 128 // max length of an individual token
-
-#define MAX_QPATH 64 // max length of a quake game pathname
-#define MAX_OSPATH 128 // max length of a filesystem pathname
-
-//
-// per-level limits
-//
-#define MAX_CLIENTS 256 // absolute limit
-#define MAX_EDICTS 1024 // must change protocol to increase more
-#define MAX_LIGHTSTYLES 256
-#define MAX_MODELS 256 // these are sent over the net as bytes
-#define MAX_SOUNDS 256 // so they cannot be blindly increased
-#define MAX_IMAGES 256
-#define MAX_ITEMS 256
-#define MAX_GENERAL (MAX_CLIENTS*2) // general config strings
-
-
-// game print flags
-#define PRINT_LOW 0 // pickup messages
-#define PRINT_MEDIUM 1 // death messages
-#define PRINT_HIGH 2 // critical messages
-#define PRINT_CHAT 3 // chat messages
-
-
-
-#define ERR_FATAL 0 // exit the entire game with a popup window
-#define ERR_DROP 1 // print to console and disconnect from game
-#define ERR_DISCONNECT 2 // don't kill server
-
-#define PRINT_ALL 0
-#define PRINT_DEVELOPER 1 // only print when "developer 1"
-#define PRINT_ALERT 2
-
-
-// destination class for gi.multicast()
-typedef enum
-{
-MULTICAST_ALL,
-MULTICAST_PHS,
-MULTICAST_PVS,
-MULTICAST_ALL_R,
-MULTICAST_PHS_R,
-MULTICAST_PVS_R
-} multicast_t;
-
-
-/*
-==============================================================
-
-MATHLIB
-
-==============================================================
-*/
-
-typedef float vec_t;
-typedef vec_t vec3_t[3];
-typedef vec_t vec5_t[5];
-
-typedef int fixed4_t;
-typedef int fixed8_t;
-typedef int fixed16_t;
-
-#ifndef M_PI
-#define M_PI 3.14159265358979323846 // matches value in gcc v2 math.h
-#endif
-
-struct cplane_s;
-
-extern vec3_t vec3_origin;
-
-#define nanmask (255<<23)
-
-#define IS_NAN(x) (((*(int *)&x)&nanmask)==nanmask)
-
-// microsoft's fabs seems to be ungodly slow...
-//float Q_fabs (float f);
-//#define fabs(f) Q_fabs(f)
-#if !defined C_ONLY && !defined __linux__ && !defined __sgi
-extern long Q_ftol( float f );
-#else
-#define Q_ftol( f ) ( long ) (f)
-#endif
-
-#define DotProduct(x,y) (x[0]*y[0]+x[1]*y[1]+x[2]*y[2])
-#define VectorSubtract(a,b,c) (c[0]=a[0]-b[0],c[1]=a[1]-b[1],c[2]=a[2]-b[2])
-#define VectorAdd(a,b,c) (c[0]=a[0]+b[0],c[1]=a[1]+b[1],c[2]=a[2]+b[2])
-#define VectorCopy(a,b) (b[0]=a[0],b[1]=a[1],b[2]=a[2])
-#define VectorClear(a) (a[0]=a[1]=a[2]=0)
-#define VectorNegate(a,b) (b[0]=-a[0],b[1]=-a[1],b[2]=-a[2])
-#define VectorSet(v, x, y, z) (v[0]=(x), v[1]=(y), v[2]=(z))
-
-void VectorMA (vec3_t veca, float scale, vec3_t vecb, vec3_t vecc);
-
-// just in case you do't want to use the macros
-vec_t _DotProduct (vec3_t v1, vec3_t v2);
-void _VectorSubtract (vec3_t veca, vec3_t vecb, vec3_t out);
-void _VectorAdd (vec3_t veca, vec3_t vecb, vec3_t out);
-void _VectorCopy (vec3_t in, vec3_t out);
-
-void ClearBounds (vec3_t mins, vec3_t maxs);
-void AddPointToBounds (vec3_t v, vec3_t mins, vec3_t maxs);
-int VectorCompare (vec3_t v1, vec3_t v2);
-vec_t VectorLength (vec3_t v);
-void CrossProduct (vec3_t v1, vec3_t v2, vec3_t cross);
-vec_t VectorNormalize (vec3_t v); // returns vector length
-vec_t VectorNormalize2 (vec3_t v, vec3_t out);
-void VectorInverse (vec3_t v);
-void VectorScale (vec3_t in, vec_t scale, vec3_t out);
-int Q_log2(int val);
-
-void R_ConcatRotations (float in1[3][3], float in2[3][3], float out[3][3]);
-void R_ConcatTransforms (float in1[3][4], float in2[3][4], float out[3][4]);
-
-void AngleVectors (vec3_t angles, vec3_t forward, vec3_t right, vec3_t up);
-int BoxOnPlaneSide (vec3_t emins, vec3_t emaxs, struct cplane_s *plane);
-float anglemod(float a);
-float LerpAngle (float a1, float a2, float frac);
-
-#define BOX_ON_PLANE_SIDE(emins, emaxs, p) \
- (((p)->type < 3)? \
- ( \
- ((p)->dist <= (emins)[(p)->type])? \
- 1 \
- : \
- ( \
- ((p)->dist >= (emaxs)[(p)->type])?\
- 2 \
- : \
- 3 \
- ) \
- ) \
- : \
- BoxOnPlaneSide( (emins), (emaxs), (p)))
-
-void ProjectPointOnPlane( vec3_t dst, const vec3_t p, const vec3_t normal );
-void PerpendicularVector( vec3_t dst, const vec3_t src );
-void RotatePointAroundVector( vec3_t dst, const vec3_t dir, const vec3_t point, float degrees );
-
-
-//=============================================
-
-char *COM_SkipPath (char *pathname);
-void COM_StripExtension (char *in, char *out);
-void COM_FileBase (char *in, char *out);
-void COM_FilePath (char *in, char *out);
-void COM_DefaultExtension (char *path, char *extension);
-
-char *COM_Parse (char **data_p);
-// data is an in/out parm, returns a parsed out token
-
-void Com_sprintf (char *dest, int size, char *fmt, ...);
-
-void Com_PageInMemory (byte *buffer, int size);
-
-//=============================================
-
-// portable case insensitive compare
-int Q_stricmp (char *s1, char *s2);
-int Q_strcasecmp (char *s1, char *s2);
-int Q_strncasecmp (char *s1, char *s2, int n);
-
-//=============================================
-
-short BigShort(short l);
-short LittleShort(short l);
-int BigLong (int l);
-int LittleLong (int l);
-float BigFloat (float l);
-float LittleFloat (float l);
-
-void Swap_Init (void);
-char *va(char *format, ...);
-
-//=============================================
-
-//
-// key / value info strings
-//
-#define MAX_INFO_KEY 64
-#define MAX_INFO_VALUE 64
-#define MAX_INFO_STRING 512
-
-char *Info_ValueForKey (char *s, char *key);
-void Info_RemoveKey (char *s, char *key);
-void Info_SetValueForKey (char *s, char *key, char *value);
-qboolean Info_Validate (char *s);
-
-/*
-==============================================================
-
-SYSTEM SPECIFIC
-
-==============================================================
-*/
-
-extern int curtime; // time returned by last Sys_Milliseconds
-
-int Sys_Milliseconds (void);
-void Sys_Mkdir (char *path);
-
-// large block stack allocation routines
-void *Hunk_Begin (int maxsize);
-void *Hunk_Alloc (int size);
-void Hunk_Free (void *buf);
-int Hunk_End (void);
-
-// directory searching
-#define SFF_ARCH 0x01
-#define SFF_HIDDEN 0x02
-#define SFF_RDONLY 0x04
-#define SFF_SUBDIR 0x08
-#define SFF_SYSTEM 0x10
-
-/*
-** pass in an attribute mask of things you wish to REJECT
-*/
-char *Sys_FindFirst (char *path, unsigned musthave, unsigned canthave );
-char *Sys_FindNext ( unsigned musthave, unsigned canthave );
-void Sys_FindClose (void);
-
-
-// this is only here so the functions in q_shared.c and q_shwin.c can link
-void Sys_Error (char *error, ...);
-void Com_Printf (char *msg, ...);
-
-
-/*
-==========================================================
-
-CVARS (console variables)
-
-==========================================================
-*/
-
-#ifndef CVAR
-#define CVAR
-
-#define CVAR_ARCHIVE 1 // set to cause it to be saved to vars.rc
-#define CVAR_USERINFO 2 // added to userinfo when changed
-#define CVAR_SERVERINFO 4 // added to serverinfo when changed
-#define CVAR_NOSET 8 // don't allow change from console at all,
- // but can be set from the command line
-#define CVAR_LATCH 16 // save changes until server restart
-
-// nothing outside the Cvar_*() functions should modify these fields!
-typedef struct cvar_s
-{
- char *name;
- char *string;
- char *latched_string; // for CVAR_LATCH vars
- int flags;
- qboolean modified; // set each time the cvar is changed
- float value;
- struct cvar_s *next;
-} cvar_t;
-
-#endif // CVAR
-
-/*
-==============================================================
-
-COLLISION DETECTION
-
-==============================================================
-*/
-
-// lower bits are stronger, and will eat weaker brushes completely
-#define CONTENTS_SOLID 1 // an eye is never valid in a solid
-#define CONTENTS_WINDOW 2 // translucent, but not watery
-#define CONTENTS_AUX 4
-#define CONTENTS_LAVA 8
-#define CONTENTS_SLIME 16
-#define CONTENTS_WATER 32
-#define CONTENTS_MIST 64
-#define LAST_VISIBLE_CONTENTS 64
-
-// remaining contents are non-visible, and don't eat brushes
-
-#define CONTENTS_AREAPORTAL 0x8000
-
-#define CONTENTS_PLAYERCLIP 0x10000
-#define CONTENTS_MONSTERCLIP 0x20000
-
-// currents can be added to any other contents, and may be mixed
-#define CONTENTS_CURRENT_0 0x40000
-#define CONTENTS_CURRENT_90 0x80000
-#define CONTENTS_CURRENT_180 0x100000
-#define CONTENTS_CURRENT_270 0x200000
-#define CONTENTS_CURRENT_UP 0x400000
-#define CONTENTS_CURRENT_DOWN 0x800000
-
-#define CONTENTS_ORIGIN 0x1000000 // removed before bsping an entity
-
-#define CONTENTS_MONSTER 0x2000000 // should never be on a brush, only in game
-#define CONTENTS_DEADMONSTER 0x4000000
-#define CONTENTS_DETAIL 0x8000000 // brushes to be added after vis leafs
-#define CONTENTS_TRANSLUCENT 0x10000000 // auto set if any surface has trans
-#define CONTENTS_LADDER 0x20000000
-
-
-
-#define SURF_LIGHT 0x1 // value will hold the light strength
-
-#define SURF_SLICK 0x2 // effects game physics
-
-#define SURF_SKY 0x4 // don't draw, but add to skybox
-#define SURF_WARP 0x8 // turbulent water warp
-#define SURF_TRANS33 0x10
-#define SURF_TRANS66 0x20
-#define SURF_FLOWING 0x40 // scroll towards angle
-#define SURF_NODRAW 0x80 // don't bother referencing the texture
-
-
-
-// content masks
-#define MASK_ALL (-1)
-#define MASK_SOLID (CONTENTS_SOLID|CONTENTS_WINDOW)
-#define MASK_PLAYERSOLID (CONTENTS_SOLID|CONTENTS_PLAYERCLIP|CONTENTS_WINDOW|CONTENTS_MONSTER)
-#define MASK_DEADSOLID (CONTENTS_SOLID|CONTENTS_PLAYERCLIP|CONTENTS_WINDOW)
-#define MASK_MONSTERSOLID (CONTENTS_SOLID|CONTENTS_MONSTERCLIP|CONTENTS_WINDOW|CONTENTS_MONSTER)
-#define MASK_WATER (CONTENTS_WATER|CONTENTS_LAVA|CONTENTS_SLIME)
-#define MASK_OPAQUE (CONTENTS_SOLID|CONTENTS_SLIME|CONTENTS_LAVA)
-#define MASK_SHOT (CONTENTS_SOLID|CONTENTS_MONSTER|CONTENTS_WINDOW|CONTENTS_DEADMONSTER)
-#define MASK_CURRENT (CONTENTS_CURRENT_0|CONTENTS_CURRENT_90|CONTENTS_CURRENT_180|CONTENTS_CURRENT_270|CONTENTS_CURRENT_UP|CONTENTS_CURRENT_DOWN)
-
-
-// gi.BoxEdicts() can return a list of either solid or trigger entities
-// FIXME: eliminate AREA_ distinction?
-#define AREA_SOLID 1
-#define AREA_TRIGGERS 2
-
-
-// plane_t structure
-// !!! if this is changed, it must be changed in asm code too !!!
-typedef struct cplane_s
-{
- vec3_t normal;
- float dist;
- byte type; // for fast side tests
- byte signbits; // signx + (signy<<1) + (signz<<1)
- byte pad[2];
-} cplane_t;
-
-// structure offset for asm code
-#define CPLANE_NORMAL_X 0
-#define CPLANE_NORMAL_Y 4
-#define CPLANE_NORMAL_Z 8
-#define CPLANE_DIST 12
-#define CPLANE_TYPE 16
-#define CPLANE_SIGNBITS 17
-#define CPLANE_PAD0 18
-#define CPLANE_PAD1 19
-
-typedef struct cmodel_s
-{
- vec3_t mins, maxs;
- vec3_t origin; // for sounds or lights
- int headnode;
-} cmodel_t;
-
-typedef struct csurface_s
-{
- char name[16];
- int flags;
- int value;
-} csurface_t;
-
-typedef struct mapsurface_s // used internally due to name len probs //ZOID
-{
- csurface_t c;
- char rname[32];
-} mapsurface_t;
-
-// a trace is returned when a box is swept through the world
-typedef struct
-{
- qboolean allsolid; // if true, plane is not valid
- qboolean startsolid; // if true, the initial point was in a solid area
- float fraction; // time completed, 1.0 = didn't hit anything
- vec3_t endpos; // final position
- cplane_t plane; // surface normal at impact
- csurface_t *surface; // surface hit
- int contents; // contents on other side of surface hit
- struct edict_s *ent; // not set by CM_*() functions
-} trace_t;
-
-
-
-// pmove_state_t is the information necessary for client side movement
-// prediction
-typedef enum
-{
- // can accelerate and turn
- PM_NORMAL,
- PM_SPECTATOR,
- // no acceleration or turning
- PM_DEAD,
- PM_GIB, // different bounding box
- PM_FREEZE
-} pmtype_t;
-
-// pmove->pm_flags
-#define PMF_DUCKED 1
-#define PMF_JUMP_HELD 2
-#define PMF_ON_GROUND 4
-#define PMF_TIME_WATERJUMP 8 // pm_time is waterjump
-#define PMF_TIME_LAND 16 // pm_time is time before rejump
-#define PMF_TIME_TELEPORT 32 // pm_time is non-moving time
-#define PMF_NO_PREDICTION 64 // temporarily disables prediction (used for grappling hook)
-
-// this structure needs to be communicated bit-accurate
-// from the server to the client to guarantee that
-// prediction stays in sync, so no floats are used.
-// if any part of the game code modifies this struct, it
-// will result in a prediction error of some degree.
-typedef struct
-{
- pmtype_t pm_type;
-
- short origin[3]; // 12.3
- short velocity[3]; // 12.3
- byte pm_flags; // ducked, jump_held, etc
- byte pm_time; // each unit = 8 ms
- short gravity;
- short delta_angles[3]; // add to command angles to get view direction
- // changed by spawns, rotating objects, and teleporters
-} pmove_state_t;
-
-
-//
-// button bits
-//
-#define BUTTON_ATTACK 1
-#define BUTTON_USE 2
-#define BUTTON_ANY 128 // any key whatsoever
-
-
-// usercmd_t is sent to the server each client frame
-typedef struct usercmd_s
-{
- byte msec;
- byte buttons;
- short angles[3];
- short forwardmove, sidemove, upmove;
- byte impulse; // remove?
- byte lightlevel; // light level the player is standing on
-} usercmd_t;
-
-
-#define MAXTOUCH 32
-typedef struct
-{
- // state (in / out)
- pmove_state_t s;
-
- // command (in)
- usercmd_t cmd;
- qboolean snapinitial; // if s has been changed outside pmove
-
- // results (out)
- int numtouch;
- struct edict_s *touchents[MAXTOUCH];
-
- vec3_t viewangles; // clamped
- float viewheight;
-
- vec3_t mins, maxs; // bounding box size
-
- struct edict_s *groundentity;
- int watertype;
- int waterlevel;
-
- // callbacks to test the world
- trace_t (*trace) (vec3_t start, vec3_t mins, vec3_t maxs, vec3_t end);
- int (*pointcontents) (vec3_t point);
-} pmove_t;
-
-
-// entity_state_t->effects
-// Effects are things handled on the client side (lights, particles, frame animations)
-// that happen constantly on the given entity.
-// An entity that has effects will be sent to the client
-// even if it has a zero index model.
-#define EF_ROTATE 0x00000001 // rotate (bonus items)
-#define EF_GIB 0x00000002 // leave a trail
-#define EF_BLASTER 0x00000008 // redlight + trail
-#define EF_ROCKET 0x00000010 // redlight + trail
-#define EF_GRENADE 0x00000020
-#define EF_HYPERBLASTER 0x00000040
-#define EF_BFG 0x00000080
-#define EF_COLOR_SHELL 0x00000100
-#define EF_POWERSCREEN 0x00000200
-#define EF_ANIM01 0x00000400 // automatically cycle between frames 0 and 1 at 2 hz
-#define EF_ANIM23 0x00000800 // automatically cycle between frames 2 and 3 at 2 hz
-#define EF_ANIM_ALL 0x00001000 // automatically cycle through all frames at 2hz
-#define EF_ANIM_ALLFAST 0x00002000 // automatically cycle through all frames at 10hz
-#define EF_FLIES 0x00004000
-#define EF_QUAD 0x00008000
-#define EF_PENT 0x00010000
-#define EF_TELEPORTER 0x00020000 // particle fountain
-#define EF_FLAG1 0x00040000
-#define EF_FLAG2 0x00080000
-// RAFAEL
-#define EF_IONRIPPER 0x00100000
-#define EF_GREENGIB 0x00200000
-#define EF_BLUEHYPERBLASTER 0x00400000
-#define EF_SPINNINGLIGHTS 0x00800000
-#define EF_PLASMA 0x01000000
-#define EF_TRAP 0x02000000
-
-//ROGUE
-#define EF_TRACKER 0x04000000
-#define EF_DOUBLE 0x08000000
-#define EF_SPHERETRANS 0x10000000
-#define EF_TAGTRAIL 0x20000000
-#define EF_HALF_DAMAGE 0x40000000
-#define EF_TRACKERTRAIL 0x80000000
-//ROGUE
-
-// entity_state_t->renderfx flags
-#define RF_MINLIGHT 1 // allways have some light (viewmodel)
-#define RF_VIEWERMODEL 2 // don't draw through eyes, only mirrors
-#define RF_WEAPONMODEL 4 // only draw through eyes
-#define RF_FULLBRIGHT 8 // allways draw full intensity
-#define RF_DEPTHHACK 16 // for view weapon Z crunching
-#define RF_TRANSLUCENT 32
-#define RF_FRAMELERP 64
-#define RF_BEAM 128
-#define RF_CUSTOMSKIN 256 // skin is an index in image_precache
-#define RF_GLOW 512 // pulse lighting for bonus items
-#define RF_SHELL_RED 1024
-#define RF_SHELL_GREEN 2048
-#define RF_SHELL_BLUE 4096
-
-//ROGUE
-#define RF_IR_VISIBLE 0x00008000 // 32768
-#define RF_SHELL_DOUBLE 0x00010000 // 65536
-#define RF_SHELL_HALF_DAM 0x00020000
-#define RF_USE_DISGUISE 0x00040000
-//ROGUE
-
-// player_state_t->refdef flags
-#define RDF_UNDERWATER 1 // warp the screen as apropriate
-#define RDF_NOWORLDMODEL 2 // used for player configuration screen
-
-//ROGUE
-#define RDF_IRGOGGLES 4
-#define RDF_UVGOGGLES 8
-//ROGUE
-
-//
-// muzzle flashes / player effects
-//
-#define MZ_BLASTER 0
-#define MZ_MACHINEGUN 1
-#define MZ_SHOTGUN 2
-#define MZ_CHAINGUN1 3
-#define MZ_CHAINGUN2 4
-#define MZ_CHAINGUN3 5
-#define MZ_RAILGUN 6
-#define MZ_ROCKET 7
-#define MZ_GRENADE 8
-#define MZ_LOGIN 9
-#define MZ_LOGOUT 10
-#define MZ_RESPAWN 11
-#define MZ_BFG 12
-#define MZ_SSHOTGUN 13
-#define MZ_HYPERBLASTER 14
-#define MZ_ITEMRESPAWN 15
-// RAFAEL
-#define MZ_IONRIPPER 16
-#define MZ_BLUEHYPERBLASTER 17
-#define MZ_PHALANX 18
-#define MZ_SILENCED 128 // bit flag ORed with one of the above numbers
-
-//ROGUE
-#define MZ_ETF_RIFLE 30
-#define MZ_UNUSED 31
-#define MZ_SHOTGUN2 32
-#define MZ_HEATBEAM 33
-#define MZ_BLASTER2 34
-#define MZ_TRACKER 35
-#define MZ_NUKE1 36
-#define MZ_NUKE2 37
-#define MZ_NUKE4 38
-#define MZ_NUKE8 39
-//ROGUE
-
-//
-// monster muzzle flashes
-//
-#define MZ2_TANK_BLASTER_1 1
-#define MZ2_TANK_BLASTER_2 2
-#define MZ2_TANK_BLASTER_3 3
-#define MZ2_TANK_MACHINEGUN_1 4
-#define MZ2_TANK_MACHINEGUN_2 5
-#define MZ2_TANK_MACHINEGUN_3 6
-#define MZ2_TANK_MACHINEGUN_4 7
-#define MZ2_TANK_MACHINEGUN_5 8
-#define MZ2_TANK_MACHINEGUN_6 9
-#define MZ2_TANK_MACHINEGUN_7 10
-#define MZ2_TANK_MACHINEGUN_8 11
-#define MZ2_TANK_MACHINEGUN_9 12
-#define MZ2_TANK_MACHINEGUN_10 13
-#define MZ2_TANK_MACHINEGUN_11 14
-#define MZ2_TANK_MACHINEGUN_12 15
-#define MZ2_TANK_MACHINEGUN_13 16
-#define MZ2_TANK_MACHINEGUN_14 17
-#define MZ2_TANK_MACHINEGUN_15 18
-#define MZ2_TANK_MACHINEGUN_16 19
-#define MZ2_TANK_MACHINEGUN_17 20
-#define MZ2_TANK_MACHINEGUN_18 21
-#define MZ2_TANK_MACHINEGUN_19 22
-#define MZ2_TANK_ROCKET_1 23
-#define MZ2_TANK_ROCKET_2 24
-#define MZ2_TANK_ROCKET_3 25
-
-#define MZ2_INFANTRY_MACHINEGUN_1 26
-#define MZ2_INFANTRY_MACHINEGUN_2 27
-#define MZ2_INFANTRY_MACHINEGUN_3 28
-#define MZ2_INFANTRY_MACHINEGUN_4 29
-#define MZ2_INFANTRY_MACHINEGUN_5 30
-#define MZ2_INFANTRY_MACHINEGUN_6 31
-#define MZ2_INFANTRY_MACHINEGUN_7 32
-#define MZ2_INFANTRY_MACHINEGUN_8 33
-#define MZ2_INFANTRY_MACHINEGUN_9 34
-#define MZ2_INFANTRY_MACHINEGUN_10 35
-#define MZ2_INFANTRY_MACHINEGUN_11 36
-#define MZ2_INFANTRY_MACHINEGUN_12 37
-#define MZ2_INFANTRY_MACHINEGUN_13 38
-
-#define MZ2_SOLDIER_BLASTER_1 39
-#define MZ2_SOLDIER_BLASTER_2 40
-#define MZ2_SOLDIER_SHOTGUN_1 41
-#define MZ2_SOLDIER_SHOTGUN_2 42
-#define MZ2_SOLDIER_MACHINEGUN_1 43
-#define MZ2_SOLDIER_MACHINEGUN_2 44
-
-#define MZ2_GUNNER_MACHINEGUN_1 45
-#define MZ2_GUNNER_MACHINEGUN_2 46
-#define MZ2_GUNNER_MACHINEGUN_3 47
-#define MZ2_GUNNER_MACHINEGUN_4 48
-#define MZ2_GUNNER_MACHINEGUN_5 49
-#define MZ2_GUNNER_MACHINEGUN_6 50
-#define MZ2_GUNNER_MACHINEGUN_7 51
-#define MZ2_GUNNER_MACHINEGUN_8 52
-#define MZ2_GUNNER_GRENADE_1 53
-#define MZ2_GUNNER_GRENADE_2 54
-#define MZ2_GUNNER_GRENADE_3 55
-#define MZ2_GUNNER_GRENADE_4 56
-
-#define MZ2_CHICK_ROCKET_1 57
-
-#define MZ2_FLYER_BLASTER_1 58
-#define MZ2_FLYER_BLASTER_2 59
-
-#define MZ2_MEDIC_BLASTER_1 60
-
-#define MZ2_GLADIATOR_RAILGUN_1 61
-
-#define MZ2_HOVER_BLASTER_1 62
-
-#define MZ2_ACTOR_MACHINEGUN_1 63
-
-#define MZ2_SUPERTANK_MACHINEGUN_1 64
-#define MZ2_SUPERTANK_MACHINEGUN_2 65
-#define MZ2_SUPERTANK_MACHINEGUN_3 66
-#define MZ2_SUPERTANK_MACHINEGUN_4 67
-#define MZ2_SUPERTANK_MACHINEGUN_5 68
-#define MZ2_SUPERTANK_MACHINEGUN_6 69
-#define MZ2_SUPERTANK_ROCKET_1 70
-#define MZ2_SUPERTANK_ROCKET_2 71
-#define MZ2_SUPERTANK_ROCKET_3 72
-
-#define MZ2_BOSS2_MACHINEGUN_L1 73
-#define MZ2_BOSS2_MACHINEGUN_L2 74
-#define MZ2_BOSS2_MACHINEGUN_L3 75
-#define MZ2_BOSS2_MACHINEGUN_L4 76
-#define MZ2_BOSS2_MACHINEGUN_L5 77
-#define MZ2_BOSS2_ROCKET_1 78
-#define MZ2_BOSS2_ROCKET_2 79
-#define MZ2_BOSS2_ROCKET_3 80
-#define MZ2_BOSS2_ROCKET_4 81
-
-#define MZ2_FLOAT_BLASTER_1 82
-
-#define MZ2_SOLDIER_BLASTER_3 83
-#define MZ2_SOLDIER_SHOTGUN_3 84
-#define MZ2_SOLDIER_MACHINEGUN_3 85
-#define MZ2_SOLDIER_BLASTER_4 86
-#define MZ2_SOLDIER_SHOTGUN_4 87
-#define MZ2_SOLDIER_MACHINEGUN_4 88
-#define MZ2_SOLDIER_BLASTER_5 89
-#define MZ2_SOLDIER_SHOTGUN_5 90
-#define MZ2_SOLDIER_MACHINEGUN_5 91
-#define MZ2_SOLDIER_BLASTER_6 92
-#define MZ2_SOLDIER_SHOTGUN_6 93
-#define MZ2_SOLDIER_MACHINEGUN_6 94
-#define MZ2_SOLDIER_BLASTER_7 95
-#define MZ2_SOLDIER_SHOTGUN_7 96
-#define MZ2_SOLDIER_MACHINEGUN_7 97
-#define MZ2_SOLDIER_BLASTER_8 98
-#define MZ2_SOLDIER_SHOTGUN_8 99
-#define MZ2_SOLDIER_MACHINEGUN_8 100
-
-// --- Xian shit below ---
-#define MZ2_MAKRON_BFG 101
-#define MZ2_MAKRON_BLASTER_1 102
-#define MZ2_MAKRON_BLASTER_2 103
-#define MZ2_MAKRON_BLASTER_3 104
-#define MZ2_MAKRON_BLASTER_4 105
-#define MZ2_MAKRON_BLASTER_5 106
-#define MZ2_MAKRON_BLASTER_6 107
-#define MZ2_MAKRON_BLASTER_7 108
-#define MZ2_MAKRON_BLASTER_8 109
-#define MZ2_MAKRON_BLASTER_9 110
-#define MZ2_MAKRON_BLASTER_10 111
-#define MZ2_MAKRON_BLASTER_11 112
-#define MZ2_MAKRON_BLASTER_12 113
-#define MZ2_MAKRON_BLASTER_13 114
-#define MZ2_MAKRON_BLASTER_14 115
-#define MZ2_MAKRON_BLASTER_15 116
-#define MZ2_MAKRON_BLASTER_16 117
-#define MZ2_MAKRON_BLASTER_17 118
-#define MZ2_MAKRON_RAILGUN_1 119
-#define MZ2_JORG_MACHINEGUN_L1 120
-#define MZ2_JORG_MACHINEGUN_L2 121
-#define MZ2_JORG_MACHINEGUN_L3 122
-#define MZ2_JORG_MACHINEGUN_L4 123
-#define MZ2_JORG_MACHINEGUN_L5 124
-#define MZ2_JORG_MACHINEGUN_L6 125
-#define MZ2_JORG_MACHINEGUN_R1 126
-#define MZ2_JORG_MACHINEGUN_R2 127
-#define MZ2_JORG_MACHINEGUN_R3 128
-#define MZ2_JORG_MACHINEGUN_R4 129
-#define MZ2_JORG_MACHINEGUN_R5 130
-#define MZ2_JORG_MACHINEGUN_R6 131
-#define MZ2_JORG_BFG_1 132
-#define MZ2_BOSS2_MACHINEGUN_R1 133
-#define MZ2_BOSS2_MACHINEGUN_R2 134
-#define MZ2_BOSS2_MACHINEGUN_R3 135
-#define MZ2_BOSS2_MACHINEGUN_R4 136
-#define MZ2_BOSS2_MACHINEGUN_R5 137
-
-//ROGUE
-#define MZ2_CARRIER_MACHINEGUN_L1 138
-#define MZ2_CARRIER_MACHINEGUN_R1 139
-#define MZ2_CARRIER_GRENADE 140
-#define MZ2_TURRET_MACHINEGUN 141
-#define MZ2_TURRET_ROCKET 142
-#define MZ2_TURRET_BLASTER 143
-#define MZ2_STALKER_BLASTER 144
-#define MZ2_DAEDALUS_BLASTER 145
-#define MZ2_MEDIC_BLASTER_2 146
-#define MZ2_CARRIER_RAILGUN 147
-#define MZ2_WIDOW_DISRUPTOR 148
-#define MZ2_WIDOW_BLASTER 149
-#define MZ2_WIDOW_RAIL 150
-#define MZ2_WIDOW_PLASMABEAM 151 // PMM - not used
-#define MZ2_CARRIER_MACHINEGUN_L2 152
-#define MZ2_CARRIER_MACHINEGUN_R2 153
-#define MZ2_WIDOW_RAIL_LEFT 154
-#define MZ2_WIDOW_RAIL_RIGHT 155
-#define MZ2_WIDOW_BLASTER_SWEEP1 156
-#define MZ2_WIDOW_BLASTER_SWEEP2 157
-#define MZ2_WIDOW_BLASTER_SWEEP3 158
-#define MZ2_WIDOW_BLASTER_SWEEP4 159
-#define MZ2_WIDOW_BLASTER_SWEEP5 160
-#define MZ2_WIDOW_BLASTER_SWEEP6 161
-#define MZ2_WIDOW_BLASTER_SWEEP7 162
-#define MZ2_WIDOW_BLASTER_SWEEP8 163
-#define MZ2_WIDOW_BLASTER_SWEEP9 164
-#define MZ2_WIDOW_BLASTER_100 165
-#define MZ2_WIDOW_BLASTER_90 166
-#define MZ2_WIDOW_BLASTER_80 167
-#define MZ2_WIDOW_BLASTER_70 168
-#define MZ2_WIDOW_BLASTER_60 169
-#define MZ2_WIDOW_BLASTER_50 170
-#define MZ2_WIDOW_BLASTER_40 171
-#define MZ2_WIDOW_BLASTER_30 172
-#define MZ2_WIDOW_BLASTER_20 173
-#define MZ2_WIDOW_BLASTER_10 174
-#define MZ2_WIDOW_BLASTER_0 175
-#define MZ2_WIDOW_BLASTER_10L 176
-#define MZ2_WIDOW_BLASTER_20L 177
-#define MZ2_WIDOW_BLASTER_30L 178
-#define MZ2_WIDOW_BLASTER_40L 179
-#define MZ2_WIDOW_BLASTER_50L 180
-#define MZ2_WIDOW_BLASTER_60L 181
-#define MZ2_WIDOW_BLASTER_70L 182
-#define MZ2_WIDOW_RUN_1 183
-#define MZ2_WIDOW_RUN_2 184
-#define MZ2_WIDOW_RUN_3 185
-#define MZ2_WIDOW_RUN_4 186
-#define MZ2_WIDOW_RUN_5 187
-#define MZ2_WIDOW_RUN_6 188
-#define MZ2_WIDOW_RUN_7 189
-#define MZ2_WIDOW_RUN_8 190
-#define MZ2_CARRIER_ROCKET_1 191
-#define MZ2_CARRIER_ROCKET_2 192
-#define MZ2_CARRIER_ROCKET_3 193
-#define MZ2_CARRIER_ROCKET_4 194
-#define MZ2_WIDOW2_BEAMER_1 195
-#define MZ2_WIDOW2_BEAMER_2 196
-#define MZ2_WIDOW2_BEAMER_3 197
-#define MZ2_WIDOW2_BEAMER_4 198
-#define MZ2_WIDOW2_BEAMER_5 199
-#define MZ2_WIDOW2_BEAM_SWEEP_1 200
-#define MZ2_WIDOW2_BEAM_SWEEP_2 201
-#define MZ2_WIDOW2_BEAM_SWEEP_3 202
-#define MZ2_WIDOW2_BEAM_SWEEP_4 203
-#define MZ2_WIDOW2_BEAM_SWEEP_5 204
-#define MZ2_WIDOW2_BEAM_SWEEP_6 205
-#define MZ2_WIDOW2_BEAM_SWEEP_7 206
-#define MZ2_WIDOW2_BEAM_SWEEP_8 207
-#define MZ2_WIDOW2_BEAM_SWEEP_9 208
-#define MZ2_WIDOW2_BEAM_SWEEP_10 209
-#define MZ2_WIDOW2_BEAM_SWEEP_11 210
-
-// ROGUE
-
-extern vec3_t monster_flash_offset [];
-
-
-// temp entity events
-//
-// Temp entity events are for things that happen
-// at a location seperate from any existing entity.
-// Temporary entity messages are explicitly constructed
-// and broadcast.
-typedef enum
-{
- TE_GUNSHOT,
- TE_BLOOD,
- TE_BLASTER,
- TE_RAILTRAIL,
- TE_SHOTGUN,
- TE_EXPLOSION1,
- TE_EXPLOSION2,
- TE_ROCKET_EXPLOSION,
- TE_GRENADE_EXPLOSION,
- TE_SPARKS,
- TE_SPLASH,
- TE_BUBBLETRAIL,
- TE_SCREEN_SPARKS,
- TE_SHIELD_SPARKS,
- TE_BULLET_SPARKS,
- TE_LASER_SPARKS,
- TE_PARASITE_ATTACK,
- TE_ROCKET_EXPLOSION_WATER,
- TE_GRENADE_EXPLOSION_WATER,
- TE_MEDIC_CABLE_ATTACK,
- TE_BFG_EXPLOSION,
- TE_BFG_BIGEXPLOSION,
- TE_BOSSTPORT, // used as '22' in a map, so DON'T RENUMBER!!!
- TE_BFG_LASER,
- TE_GRAPPLE_CABLE,
- TE_WELDING_SPARKS,
- TE_GREENBLOOD,
- TE_BLUEHYPERBLASTER,
- TE_PLASMA_EXPLOSION,
- TE_TUNNEL_SPARKS,
-//ROGUE
- TE_BLASTER2,
- TE_RAILTRAIL2,
- TE_FLAME,
- TE_LIGHTNING,
- TE_DEBUGTRAIL,
- TE_PLAIN_EXPLOSION,
- TE_FLASHLIGHT,
- TE_FORCEWALL,
- TE_HEATBEAM,
- TE_MONSTER_HEATBEAM,
- TE_STEAM,
- TE_BUBBLETRAIL2,
- TE_MOREBLOOD,
- TE_HEATBEAM_SPARKS,
- TE_HEATBEAM_STEAM,
- TE_CHAINFIST_SMOKE,
- TE_ELECTRIC_SPARKS,
- TE_TRACKER_EXPLOSION,
- TE_TELEPORT_EFFECT,
- TE_DBALL_GOAL,
- TE_WIDOWBEAMOUT,
- TE_NUKEBLAST,
- TE_WIDOWSPLASH,
- TE_EXPLOSION1_BIG,
- TE_EXPLOSION1_NP,
- TE_FLECHETTE
-//ROGUE
-} temp_event_t;
-
-#define SPLASH_UNKNOWN 0
-#define SPLASH_SPARKS 1
-#define SPLASH_BLUE_WATER 2
-#define SPLASH_BROWN_WATER 3
-#define SPLASH_SLIME 4
-#define SPLASH_LAVA 5
-#define SPLASH_BLOOD 6
-
-
-// sound channels
-// channel 0 never willingly overrides
-// other channels (1-7) allways override a playing sound on that channel
-#define CHAN_AUTO 0
-#define CHAN_WEAPON 1
-#define CHAN_VOICE 2
-#define CHAN_ITEM 3
-#define CHAN_BODY 4
-// modifier flags
-#define CHAN_NO_PHS_ADD 8 // send to all clients, not just ones in PHS (ATTN 0 will also do this)
-#define CHAN_RELIABLE 16 // send by reliable message, not datagram
-
-
-// sound attenuation values
-#define ATTN_NONE 0 // full volume the entire level
-#define ATTN_NORM 1
-#define ATTN_IDLE 2
-#define ATTN_STATIC 3 // diminish very rapidly with distance
-
-
-// player_state->stats[] indexes
-#define STAT_HEALTH_ICON 0
-#define STAT_HEALTH 1
-#define STAT_AMMO_ICON 2
-#define STAT_AMMO 3
-#define STAT_ARMOR_ICON 4
-#define STAT_ARMOR 5
-#define STAT_SELECTED_ICON 6
-#define STAT_PICKUP_ICON 7
-#define STAT_PICKUP_STRING 8
-#define STAT_TIMER_ICON 9
-#define STAT_TIMER 10
-#define STAT_HELPICON 11
-#define STAT_SELECTED_ITEM 12
-#define STAT_LAYOUTS 13
-#define STAT_FRAGS 14
-#define STAT_FLASHES 15 // cleared each frame, 1 = health, 2 = armor
-#define STAT_CHASE 16
-#define STAT_SPECTATOR 17
-
-#define MAX_STATS 32
-
-
-// dmflags->value flags
-#define DF_NO_HEALTH 0x00000001 // 1
-#define DF_NO_ITEMS 0x00000002 // 2
-#define DF_WEAPONS_STAY 0x00000004 // 4
-#define DF_NO_FALLING 0x00000008 // 8
-#define DF_INSTANT_ITEMS 0x00000010 // 16
-#define DF_SAME_LEVEL 0x00000020 // 32
-#define DF_SKINTEAMS 0x00000040 // 64
-#define DF_MODELTEAMS 0x00000080 // 128
-#define DF_NO_FRIENDLY_FIRE 0x00000100 // 256
-#define DF_SPAWN_FARTHEST 0x00000200 // 512
-#define DF_FORCE_RESPAWN 0x00000400 // 1024
-#define DF_NO_ARMOR 0x00000800 // 2048
-#define DF_ALLOW_EXIT 0x00001000 // 4096
-#define DF_INFINITE_AMMO 0x00002000 // 8192
-#define DF_QUAD_DROP 0x00004000 // 16384
-#define DF_FIXED_FOV 0x00008000 // 32768
-
-// RAFAEL
-#define DF_QUADFIRE_DROP 0x00010000 // 65536
-
-//ROGUE
-#define DF_NO_MINES 0x00020000
-#define DF_NO_STACK_DOUBLE 0x00040000
-#define DF_NO_NUKES 0x00080000
-#define DF_NO_SPHERES 0x00100000
-//ROGUE
-
-/*
-ROGUE - VERSIONS
-1234 08/13/1998 Activision
-1235 08/14/1998 Id Software
-1236 08/15/1998 Steve Tietze
-1237 08/15/1998 Phil Dobranski
-1238 08/15/1998 John Sheley
-1239 08/17/1998 Barrett Alexander
-1230 08/17/1998 Brandon Fish
-1245 08/17/1998 Don MacAskill
-1246 08/17/1998 David "Zoid" Kirsch
-1247 08/17/1998 Manu Smith
-1248 08/17/1998 Geoff Scully
-1249 08/17/1998 Andy Van Fossen
-1240 08/20/1998 Activision Build 2
-1256 08/20/1998 Ranger Clan
-1257 08/20/1998 Ensemble Studios
-1258 08/21/1998 Robert Duffy
-1259 08/21/1998 Stephen Seachord
-1250 08/21/1998 Stephen Heaslip
-1267 08/21/1998 Samir Sandesara
-1268 08/21/1998 Oliver Wyman
-1269 08/21/1998 Steven Marchegiano
-1260 08/21/1998 Build #2 for Nihilistic
-1278 08/21/1998 Build #2 for Ensemble
-
-9999 08/20/1998 Internal Use
-*/
-#define ROGUE_VERSION_ID 1278
-
-#define ROGUE_VERSION_STRING "08/21/1998 Beta 2 for Ensemble"
-
-// ROGUE
-/*
-==========================================================
-
- ELEMENTS COMMUNICATED ACROSS THE NET
-
-==========================================================
-*/
-
-#define ANGLE2SHORT(x) ((int)((x)*65536/360) & 65535)
-#define SHORT2ANGLE(x) ((x)*(360.0/65536))
-
-
-//
-// config strings are a general means of communication from
-// the server to all connected clients.
-// Each config string can be at most MAX_QPATH characters.
-//
-#define CS_NAME 0
-#define CS_CDTRACK 1
-#define CS_SKY 2
-#define CS_SKYAXIS 3 // %f %f %f format
-#define CS_SKYROTATE 4
-#define CS_STATUSBAR 5 // display program string
-
-#define CS_AIRACCEL 29 // air acceleration control
-#define CS_MAXCLIENTS 30
-#define CS_MAPCHECKSUM 31 // for catching cheater maps
-
-#define CS_MODELS 32
-#define CS_SOUNDS (CS_MODELS+MAX_MODELS)
-#define CS_IMAGES (CS_SOUNDS+MAX_SOUNDS)
-#define CS_LIGHTS (CS_IMAGES+MAX_IMAGES)
-#define CS_ITEMS (CS_LIGHTS+MAX_LIGHTSTYLES)
-#define CS_PLAYERSKINS (CS_ITEMS+MAX_ITEMS)
-#define CS_GENERAL (CS_PLAYERSKINS+MAX_CLIENTS)
-#define MAX_CONFIGSTRINGS (CS_GENERAL+MAX_GENERAL)
-
-
-//==============================================
-
-
-// entity_state_t->event values
-// ertity events are for effects that take place reletive
-// to an existing entities origin. Very network efficient.
-// All muzzle flashes really should be converted to events...
-typedef enum
-{
- EV_NONE,
- EV_ITEM_RESPAWN,
- EV_FOOTSTEP,
- EV_FALLSHORT,
- EV_FALL,
- EV_FALLFAR,
- EV_PLAYER_TELEPORT,
- EV_OTHER_TELEPORT
-} entity_event_t;
-
-
-// entity_state_t is the information conveyed from the server
-// in an update message about entities that the client will
-// need to render in some way
-typedef struct entity_state_s
-{
- int number; // edict index
-
- vec3_t origin;
- vec3_t angles;
- vec3_t old_origin; // for lerping
- int modelindex;
- int modelindex2, modelindex3, modelindex4; // weapons, CTF flags, etc
- int frame;
- int skinnum;
- unsigned int effects; // PGM - we're filling it, so it needs to be unsigned
- int renderfx;
- int solid; // for client side prediction, 8*(bits 0-4) is x/y radius
- // 8*(bits 5-9) is z down distance, 8(bits10-15) is z up
- // gi.linkentity sets this properly
- int sound; // for looping sounds, to guarantee shutoff
- int event; // impulse events -- muzzle flashes, footsteps, etc
- // events only go out for a single frame, they
- // are automatically cleared each frame
-} entity_state_t;
-
-//==============================================
-
-
-// player_state_t is the information needed in addition to pmove_state_t
-// to rendered a view. There will only be 10 player_state_t sent each second,
-// but the number of pmove_state_t changes will be reletive to client
-// frame rates
-typedef struct
-{
- pmove_state_t pmove; // for prediction
-
- // these fields do not need to be communicated bit-precise
-
- vec3_t viewangles; // for fixed views
- vec3_t viewoffset; // add to pmovestate->origin
- vec3_t kick_angles; // add to view direction to get render angles
- // set by weapon kicks, pain effects, etc
-
- vec3_t gunangles;
- vec3_t gunoffset;
- int gunindex;
- int gunframe;
-
- float blend[4]; // rgba full screen effect
-
- float fov; // horizontal field of view
-
- int rdflags; // refdef flags
-
- short stats[MAX_STATS]; // fast status bar updates
-} player_state_t;
-
-
-// ==================
-// PGM
-#define VIDREF_GL 1
-#define VIDREF_SOFT 2
-#define VIDREF_OTHER 3
-
-extern int vidref_val;
-// PGM
-// ==================
--- a/joystick.txt
+++ /dev/null
@@ -1,226 +1,0 @@
-Title: Description of Windows 95 Quake 2 support for DirectInput devices such as:
- standard joysticks
- FPgaming Assassin 3D www.fpgaming.com
- Logitech WingMan Warrior www.logitech.com
- Mad Catz Panther www.madcatz.com
- Mad Catz Panther XL www.madcatz.com
- SpaceTec IMC SpaceOrb 360 www.spacetec.com
-File: JOYSTICK.TXT
-Revision History:
- 02/21/97 JCB Quake 1: Created by FPgaming, Inc. (www.fpgaming.com) -- Creators of the Assassin 3D.
- 03/12/97 id Quake 1: Joysticks are disabled by default now.
- 10/28/97 JCB Quake 2: Added up/down axis control for SpaceOrb 360 users, changed names to joy_* and changed 'joystick to 'in_joystick'.
-Overview:
-The input device support in Quake 2 is designed to take full advantage of your DirectInput device. Standard joysticks, digital joysticks and new advanced controllers are all supported.
-
-
-Standard Joystick Directions:
-1. Verify your joystick or game controller is selected in the Joystick (or Game Controllers) control panel applet.
-2. Verify your device has been calibrated and tested.
-3. Launch Quake 2 (quake2.exe).
-4. Type 'in_joystick 1' at the console to enable your joystick (only needs to by typed in one time).
-From then on, just launch Quake 2.
-
-
-Advanced Controller Directions:
-1. Verify your joystick or game controller is selected in the Joystick (or Game Controllers) control panel applet.
-2. Verify your device has been calibrated and tested.
-3. Get the configuration file for your controller from your manufacturer's website or copy from the selections below.
-4. Place the configuration file in your quake2\baseq2 directory.
-6. Launch Quake 2 (quake2.exe).
-7. Type 'exec <configuration file name here>' at the console to enable your advanced controller each time you launch Quake 2.
-Optionally you can:
-Create or modify quake2\baseq2\autoexec.cfg to include an exec to your configuration file (i.e. 'exec adva3d.cfg'). This will automatically load your configuration file each time you launch Quake 2.
-From then on, just launch Quake 2.
-
-
-Details:
-(This may be more information than you ever wanted to know.)
-Standard Joystick Support
-The standard joystick support has been enhanced to provide the following:
-1. proportional movement (the farther you move the stick, the faster you move)
-2. support for up to 32 buttons (JOY1-JOY4 and AUX5-AUX32)
-3. sensitivity setting for each control (allows tuning and inverting the control direction)
-4. dead-zone setting for each control
-
-The default joystick setting is for joystick left/right movement to control turning and for joystick forward/backward movement to control moving forward/backward. For optional strafing, add the 'sidestep' feature to one of your buttons (via the Customize menu). For optional looking, add the 'mouse look' feature to one of your buttons (also via the Customize menu).
-
-Additionally, there are several features that you can set from the Options menu. 'Always Run' allows you change your maximum speed from walking to running. 'Invert Mouse' allows you to change the direction the joystick has to move to when looking up and down. 'Lookspring' enables automatic look-forward-when-moving. And, 'Lookstrafe' automatically enables strafing when the 'mouse look' button is pressed.
-
-The following variables control your sensititivity settings:
- joy_forwardsensitivity - controls the ramp-up speed for moving forward and backward
- joy_sidesensitivity - controls the ramp-up speed for moving side to side
- joy_upsensitivity - controls the ramp-up speed for moving up and down
- joy_pitchsensitivity - controls the speed that you look up and down
- joy_yawsensitivity - controls the speed that you look left to right
-You can set the sensitivity settings to negative numbers. This inverts the direction of movement for the control. The default sensitivity settings are 1 (or -1). There is no limit on the range; whatever feels good.
-
-The following variables control your threshold settings:
- joy_forwardthreshold - controls the dead-zone for moving forward and backward
- joy_sidethreshold - controls the dead-zone for moving side to side
- joy_upthreshold - controls the dead-zone for moving up and down
- joy_pitchthreshold - controls the dead-zone for looking up and down
- joy_yawthreshold - controls the dead-zone for looking left and right
-The threshold settings allow you to control your dead-zone (or no-movement zone). The default threshold settings are .15 (meaning 15% of the full-range). The range of the threshold settings is from 0 to 1. Troublesome analog joysticks may need a larger number (like .2). Premium joysticks can use a smaller number (like .1).
-
-The joystick sensitivity settings and the threshold settings are not saved after you quit your game as inadvertent settings can really hose your control. If you want to keep any changes, add them into your autoexec.cfg file or add an 'exec' call to your configuration file.
-
-If your joystick has a POV hat, the buttons are mapped to AUX29-AUX32. So, you get 8 buttons with the Logitech WingMan Extreme and 12 buttons with the Microsoft SideWinder 3D Pro, etc.
-
-
-Advanced Controller Support
-The following features have been added:
-1. support for all 6 axes (X, Y, Z, R, U, V)
-2. mapping of any axis to any control (Forward, Look, Side, Turn, Up)
-3. proportional movement for all controls
-4. sensitivity setting for any control (allows tuning and inverting the control direction)
-5. threshold setting for any control (allows dead-zone setting)
-6. support for absolute controls (like joysticks) and relative controls (like trackballs)
-7. support for up to 32 buttons (JOY1-JOY4 and AUX5-AUX32)
-
-******************************************************************************
-NOTE: The information below is for game controller companies to integrate their device and for anyone wanting to create a custom setup.
-
-In addition to the above new variables, there are six more for axis mapping. These are:
- joy_advaxisx - controls mapping of DirectInput axis X (typically joystick left and right)
- joy_advaxisy - controls mapping of DirectInput axis Y (typically joystick forward and backward)
- joy_advaxisz - controls mapping of DirectInput axis Z (typically joystick throttle)
- joy_advaxisr - controls mapping of DirectInput axis R (typically joystick rudder)
- joy_advaxisu - controls mapping of DirectInput axis U (custom axis - Assassin 3D trackball left and right and SpaceOrb roll)
- joy_advaxisv - controls mapping of DirectInput axis V (custom axis - Assassin 3D trackball forward and backward and SpaceOrb yaw)
-Each joy_advaxis variable can be set to the following controls:
- 0 = Axis not used
- 1 = Axis is for forward and backward movement
- 2 = Axis is for looking up and down (pitch)
- 3 = Axis is for side to side movement
- 4 = Axis is for turning left and right (yaw)
- 5 = Axis is for up and down movement
-Additionally, each axis can be designated as an absolute axis (like a joystick) or a relative axis (like the FPgaming trackball). Absolute axes are defined as having a stopping position whereas relative axes don't have a stopping position and just go around and around. To designate an axis as a relative axis, add 16 to the above control number. For example, to set the Assassin 3D's axis U to be looking left and right, type 'joyadvaxisu 20'. As another example, to make your rudder pedals contol turning left and right, type 'joyadvaxisr 4'. It's a bit complicated, but only needs to be done once.
-
-The advanced axes variables will not have any effect until joyadvanced is set to 1. Additionally, any changes to the to the axes will not take effect until the joyadvancedupdate command is executed. So, the procedure for creating an advanced mapping is:
-1. set 'joy_advanced 1'
-2. make any desired mapping changes
-3. make any desired sensitivity changes
-4. make any desired threshold changes
-3. call 'joy_advancedupdate'
-
-Here is the config file for the FPgaming Assassin 3D:
-// ADVA3D.CFG
-// Revision 2.0 -- refer to www.fpgaming.com for updates
-joy_name "FPgaming Assassin 3D"
-+mlook
-in_joystick 1
-joy_advanced 1
-joy_advaxisx 3
-joy_advaxisy 1
-joy_advaxisz 0
-joy_advaxisr 0
-joy_advaxisu 20
-joy_advaxisv 18
-joy_forwardsensitivity -1.0
-joy_sidesensitivity 1.0
-joy_upsensitivity 1.0
-joy_pitchsensitivity -0.25
-joy_yawsensitivity -0.5
-joy_forwardthreshold 0.15
-joy_sidethreshold 0.15
-joy_upthreshold 0.15
-joy_yawthreshold 0.0
-joy_pitchthreshold 0.0
-joy_advancedupdate
-
-Here is a config file for the Mad Catz Panther and Mad Catz Panther XL:
-// ADVPNTHR.CFG
-// Revision 2.0 -- refer to www.madcatz.com for updates
-joy_name "Mad Catz Panther/Panther XL"
-+mlook
-in_joystick 1
-joy_advanced 1
-joy_advaxisx 3
-joy_advaxisy 1
-joy_advaxisz 0
-joy_advaxisr 0
-joy_advaxisu 20
-joy_advaxisv 18
-joy_forwardsensitivity -1.0
-joy_sidesensitivity 1.0
-joy_upsensitivity 1.0
-joy_pitchsensitivity -0.25
-joy_yawsensitivity -0.5
-joy_forwardthreshold 0.15
-joy_sidethreshold 0.15
-joy_upthreshold 0.15
-joy_yawthreshold 0.0
-joy_pitchthreshold 0.0
-joy_advancedupdate
-
-Here is a config file for the Logitech WingMan Warrior:
-// ADVWW.CFG
-// Revision 0.2 -- refer to www.logitech.com for updates
-joy_name "Logitech WingMan Warrior"
-in_joystick 1
-joy_advanced 1
-joy_advaxisx 3
-joy_advaxisy 1
-joy_advaxisz 0
-joy_advaxisr 4
-joy_advaxisu 0
-joy_advaxisv 0
-joy_forwardsensitivity -1.0
-joy_sidesensitivity 1.0
-joy_upsensitivity 1.0
-joy_pitchsensitivity 0.0
-joy_yawsensitivity -3.0
-joy_forwardthreshold 0.15
-joy_sidethreshold 0.15
-joy_upthreshold 0.15
-joy_pitchthreshold 0.0
-joy_yawthreshold 0.0
-joy_advancedupdate
-
-Here is a config file for the SpaceTec IMC SpaceOrb 360:
-// ADVSPORB.CFG
-// Revision 0.2 -- refer to www.spacetec.com for updates
-joy_name "SpaceTec IMC SpaceOrb 360"
-+mlook
-in_joystick 1
-joy_advanced 1
-joy_advaxisx 3
-joy_advaxisy 0
-joy_advaxisz 1
-joy_advaxisr 2
-joy_advaxisu 4
-joy_advaxisv 5
-joy_forwardsensitivity 2.5
-joy_sidesensitivity 2.0
-joy_upsensitivity -2.0
-joy_pitchsensitivity 2.0
-joy_yawsensitivity 5.0
-joy_forwardthreshold 0.0
-joy_sidethreshold 0.0
-joy_upthreshold 0.15
-joy_pitchthreshold 0.1
-joy_yawthreshold 0.0
-joy_advancedupdate
-
-Here is a config file for making your joystick operate looking around and strafing, your rudder pedals control turning left and right and throttle control moving forward and backward:
-joy_name "Joystick, Rudder & Throttle"
-in_joystick 1
-joy_advanced 1
-joy_advaxisx 3
-joy_advaxisy 2
-joy_advaxisz 1
-joy_advaxisr 4
-joy_advaxisu 0
-joy_advaxisv 0
-joy_forwardsensitivity -1.0
-joy_sidesensitivity -1.0
-joy_upsensitivity 1.0
-joy_pitchsensitivity 1.0
-joy_yawsensitivity -1.0
-joy_forwardthreshold 0.15
-joy_sidethreshold 0.15
-joy_upthreshold 0.15
-joy_pitchthreshold 0.15
-joy_yawthreshold 0.15
-joy_advancedupdate
--- /dev/null
+++ b/mkfile
@@ -1,0 +1,289 @@
+</$objtype/mkfile
+
+BIN=.
+TARG=qk2
+
+CLDIR=client
+SVDIR=server
+SRDIR=ref_soft
+CMDIR=qcommon
+P9DIR=plan9
+GMDIR=game
+CTFDIR=ctf
+XADIR=xatrix
+
+CLOFILES=\
+ $CLDIR/cl_cin.$O\
+ $CLDIR/cl_ents.$O\
+ $CLDIR/cl_fx.$O\
+ $CLDIR/cl_newfx.$O\
+ $CLDIR/cl_input.$O\
+ $CLDIR/cl_inv.$O\
+ $CLDIR/cl_main.$O\
+ $CLDIR/cl_parse.$O\
+ $CLDIR/cl_pred.$O\
+ $CLDIR/cl_tent.$O\
+ $CLDIR/cl_scrn.$O\
+ $CLDIR/cl_view.$O\
+ $CLDIR/console.$O\
+ $CLDIR/keys.$O\
+ $CLDIR/menu.$O\
+ $CLDIR/snd_dma.$O\
+ $CLDIR/snd_mem.$O\
+ $CLDIR/snd_mix.$O\
+ $CLDIR/qmenu.$O\
+ $GMDIR/m_flash.$O\
+ $CMDIR/cmd.$O\
+ $CMDIR/cmodel.$O\
+ $CMDIR/common.$O\
+ $CMDIR/crc.$O\
+ $CMDIR/cvar.$O\
+ $CMDIR/files.$O\
+ $CMDIR/md4.$O\
+ $CMDIR/net_chan.$O\
+ $GMDIR/q_shared.$O\
+ $CMDIR/pmove.$O\
+ $SVDIR/sv_ccmds.$O\
+ $SVDIR/sv_ents.$O\
+ $SVDIR/sv_game.$O\
+ $SVDIR/sv_init.$O\
+ $SVDIR/sv_main.$O\
+ $SVDIR/sv_send.$O\
+ $SVDIR/sv_user.$O\
+ $SVDIR/sv_world.$O\
+ $P9DIR/cd_linux.$O\
+ $P9DIR/q_shlinux.$O\
+ $P9DIR/vid_menu.$O\
+ $P9DIR/vid_so.$O\
+ $P9DIR/snd_linux.$O\
+ $P9DIR/sys_linux.$O\
+ $P9DIR/glob.$O\
+ $P9DIR/net_udp.$O\
+
+CLHFILES=\
+ $CLDIR/cdaudio.h\
+ $CLDIR/client.h\
+ $CLDIR/console.h\
+ $CLDIR/input.h\
+ $CLDIR/keys.h\
+ $CLDIR/qmenu.h\
+ $CLDIR/ref.h\
+ $CLDIR/screen.h\
+ $CLDIR/snd_loc.h\
+ $CLDIR/sound.h\
+ $CLDIR/vid.h\
+
+GMOFILES=\
+ $GMDIR/g_ai.$O\
+ $GMDIR/p_client.$O\
+ $GMDIR/g_chase.$O\
+ $GMDIR/g_cmds.$O\
+ $GMDIR/g_svcmds.$O\
+ $GMDIR/g_combat.$O\
+ $GMDIR/g_func.$O\
+ $GMDIR/g_items.$O\
+ $GMDIR/g_main.$O\
+ $GMDIR/g_misc.$O\
+ $GMDIR/g_monster.$O\
+ $GMDIR/g_phys.$O\
+ $GMDIR/g_save.$O\
+ $GMDIR/g_spawn.$O\
+ $GMDIR/g_target.$O\
+ $GMDIR/g_trigger.$O\
+ $GMDIR/g_turret.$O\
+ $GMDIR/g_utils.$O\
+ $GMDIR/g_weapon.$O\
+ $GMDIR/m_actor.$O\
+ $GMDIR/m_berserk.$O\
+ $GMDIR/m_boss2.$O\
+ $GMDIR/m_boss3.$O\
+ $GMDIR/m_boss31.$O\
+ $GMDIR/m_boss32.$O\
+ $GMDIR/m_brain.$O\
+ $GMDIR/m_chick.$O\
+ $GMDIR/m_flipper.$O\
+ $GMDIR/m_float.$O\
+ $GMDIR/m_flyer.$O\
+ $GMDIR/m_gladiator.$O\
+ $GMDIR/m_gunner.$O\
+ $GMDIR/m_hover.$O\
+ $GMDIR/m_infantry.$O\
+ $GMDIR/m_insane.$O\
+ $GMDIR/m_medic.$O\
+ $GMDIR/m_move.$O\
+ $GMDIR/m_mutant.$O\
+ $GMDIR/m_parasite.$O\
+ $GMDIR/m_soldier.$O\
+ $GMDIR/m_supertank.$O\
+ $GMDIR/m_tank.$O\
+ $GMDIR/p_hud.$O\
+ $GMDIR/p_trail.$O\
+ $GMDIR/p_view.$O\
+ $GMDIR/p_weapon.$O\
+ $GMDIR/q_shared.$O\
+ $GMDIR/m_flash.$O\
+
+GMHFILES=\
+ $GMDIR/g_local.h\
+ $GMDIR/game.h\
+ $GMDIR/m_actor.h\
+ $GMDIR/m_berserk.h\
+ $GMDIR/m_boss2.h\
+ $GMDIR/m_boss31.h\
+ $GMDIR/m_boss32.h\
+ $GMDIR/m_brain.h\
+ $GMDIR/m_chick.h\
+ $GMDIR/m_flipper.h\
+ $GMDIR/m_float.h\
+ $GMDIR/m_flyer.h\
+ $GMDIR/m_gladiator.h\
+ $GMDIR/m_gunner.h\
+ $GMDIR/m_hover.h\
+ $GMDIR/m_infantry.h\
+ $GMDIR/m_insane.h\
+ $GMDIR/m_medic.h\
+ $GMDIR/m_mutant.h\
+ $GMDIR/m_parasite.h\
+ $GMDIR/m_player.h\
+ $GMDIR/m_rider.h\
+ $GMDIR/m_soldier.h\
+ $GMDIR/m_supertank.h\
+ $GMDIR/m_tank.h\
+
+CTFOFILES=\
+ $CTFDIR/g_ai.$O\
+ $CTFDIR/g_chase.$O\
+ $CTFDIR/g_cmds.$O\
+ $CTFDIR/g_combat.$O\
+ $CTFDIR/g_ctf.$O\
+ $CTFDIR/g_func.$O\
+ $CTFDIR/g_items.$O\
+ $CTFDIR/g_main.$O\
+ $CTFDIR/g_misc.$O\
+ $CTFDIR/g_monster.$O\
+ $CTFDIR/g_phys.$O\
+ $CTFDIR/g_save.$O\
+ $CTFDIR/g_spawn.$O\
+ $CTFDIR/g_svcmds.$O\
+ $CTFDIR/g_target.$O\
+ $CTFDIR/g_trigger.$O\
+ $CTFDIR/g_utils.$O\
+ $CTFDIR/g_weapon.$O\
+ $CTFDIR/m_move.$O\
+ $CTFDIR/p_client.$O\
+ $CTFDIR/p_hud.$O\
+ $CTFDIR/p_menu.$O\
+ $CTFDIR/p_trail.$O\
+ $CTFDIR/p_view.$O\
+ $CTFDIR/p_weapon.$O\
+ $CTFDIR/q_shared.$O\
+
+CTFHFILES=\
+ $CTFDIR/g_ctf.h\
+ $CTFDIR/g_local.h\
+ $CTFDIR/game.h\
+ $CTFDIR/m_player.h\
+ $CTFDIR/p_menu.h\
+
+XAOFILES=\
+ $XADIR/g_ai.$O\
+ $XADIR/g_cmds.$O\
+ $XADIR/g_combat.$O\
+ $XADIR/g_func.$O\
+ $XADIR/g_items.$O\
+ $XADIR/g_main.$O\
+ $XADIR/g_misc.$O\
+ $XADIR/g_monster.$O\
+ $XADIR/g_phys.$O\
+ $XADIR/g_save.$O\
+ $XADIR/g_spawn.$O\
+ $XADIR/g_svcmds.$O\
+ $XADIR/g_target.$O\
+ $XADIR/g_trigger.$O\
+ $XADIR/g_turret.$O\
+ $XADIR/g_utils.$O\
+ $XADIR/g_weapon.$O\
+ $XADIR/m_actor.$O\
+ $XADIR/m_berserk.$O\
+ $XADIR/m_boss2.$O\
+ $XADIR/m_boss3.$O\
+ $XADIR/m_boss31.$O\
+ $XADIR/m_boss32.$O\
+ $XADIR/m_boss5.$O\
+ $XADIR/m_brain.$O\
+ $XADIR/m_chick.$O\
+ $XADIR/m_fixbot.$O\
+ $XADIR/m_flash.$O\
+ $XADIR/m_flipper.$O\
+ $XADIR/m_float.$O\
+ $XADIR/m_flyer.$O\
+ $XADIR/m_gekk.$O\
+ $XADIR/m_gladb.$O\
+ $XADIR/m_gladiator.$O\
+ $XADIR/m_gunner.$O\
+ $XADIR/m_hover.$O\
+ $XADIR/m_infantry.$O\
+ $XADIR/m_insane.$O\
+ $XADIR/m_medic.$O\
+ $XADIR/m_move.$O\
+ $XADIR/m_mutant.$O\
+ $XADIR/m_parasite.$O\
+ $XADIR/m_soldier.$O\
+ $XADIR/m_supertank.$O\
+ $XADIR/m_tank.$O\
+ $XADIR/p_client.$O\
+ $XADIR/p_hud.$O\
+ $XADIR/p_trail.$O\
+ $XADIR/p_view.$O\
+ $XADIR/p_weapon.$O\
+ $XADIR/q_shared.$O\
+
+# FIXME
+XAHFILES=
+
+SROFILES=\
+ $SRDIR/r_aclip.$O\
+ $SRDIR/r_alias.$O\
+ $SRDIR/r_bsp.$O\
+ $SRDIR/r_draw.$O\
+ $SRDIR/r_edge.$O\
+ $SRDIR/r_image.$O\
+ $SRDIR/r_light.$O\
+ $SRDIR/r_main.$O\
+ $SRDIR/r_misc.$O\
+ $SRDIR/r_model.$O\
+ $SRDIR/r_part.$O\
+ $SRDIR/r_poly.$O\
+ $SRDIR/r_polyse.$O\
+ $SRDIR/r_rast.$O\
+ $SRDIR/r_scan.$O\
+ $SRDIR/r_sprite.$O\
+ $SRDIR/r_surf.$O\
+ $GMDIR/q_shared.$O\
+ $P9DIR/q_shlinux.$O\
+ $P9DIR/glob.$O\
+ $P9DIR/rw_x11.$O\
+
+SRHFILES=\
+ $SRDIR/adivtab.h\
+ $SRDIR/r_local.h\
+ $SRDIR/r_model.h\
+ $SRDIR/rand1k.h\
+
+CMHFILES=\
+ $CMDIR/crc.h\
+ $CMDIR/qcommon.h\
+ $CMDIR/qfiles.h\
+
+# only build and link needed modules for main game
+# *ofiles: ofiles needed for each module
+# *hfiles: hfiles in each module directory...
+OFILES= $CLOFILES $GMOFILES $SROFILES
+HFILES= $CLHFILES $GMHFILES $SRHFILES $CMHFILES \
+ anorms.h\
+ q_shared.h\
+
+</sys/src/cmd/mkone
+
+# FIXME
+CFLAGS=-FVw
--- a/plan9/mkfile
+++ /dev/null
@@ -1,299 +1,0 @@
-</$objtype/mkfile
-
-BIN=.
-TARG=qk2
-
-CLDIR=../client
-SVDIR=../server
-SRDIR=../ref_soft
-CMDIR=../qcommon
-P9DIR=.
-GMDIR=../game
-CTFDIR=../ctf
-XADIR=../xatrix
-
-CLOFILES=\
- $CLDIR/cl_cin.$O\
- $CLDIR/cl_ents.$O\
- $CLDIR/cl_fx.$O\
- $CLDIR/cl_newfx.$O\
- $CLDIR/cl_input.$O\
- $CLDIR/cl_inv.$O\
- $CLDIR/cl_main.$O\
- $CLDIR/cl_parse.$O\
- $CLDIR/cl_pred.$O\
- $CLDIR/cl_tent.$O\
- $CLDIR/cl_scrn.$O\
- $CLDIR/cl_view.$O\
- $CLDIR/console.$O\
- $CLDIR/keys.$O\
- $CLDIR/menu.$O\
- $CLDIR/snd_dma.$O\
- $CLDIR/snd_mem.$O\
- $CLDIR/snd_mix.$O\
- $CLDIR/qmenu.$O\
- $GMDIR/m_flash.$O\
- $CMDIR/cmd.$O\
- $CMDIR/cmodel.$O\
- $CMDIR/common.$O\
- $CMDIR/crc.$O\
- $CMDIR/cvar.$O\
- $CMDIR/files.$O\
- $CMDIR/md4.$O\
- $CMDIR/net_chan.$O\
- $GMDIR/q_shared.$O\
- $CMDIR/pmove.$O\
- $SVDIR/sv_ccmds.$O\
- $SVDIR/sv_ents.$O\
- $SVDIR/sv_game.$O\
- $SVDIR/sv_init.$O\
- $SVDIR/sv_main.$O\
- $SVDIR/sv_send.$O\
- $SVDIR/sv_user.$O\
- $SVDIR/sv_world.$O\
- $P9DIR/cd_linux.$O\
- $P9DIR/q_shlinux.$O\
- $P9DIR/vid_menu.$O\
- $P9DIR/vid_so.$O\
- $P9DIR/snd_linux.$O\
- $P9DIR/sys_linux.$O\
- $P9DIR/glob.$O\
- $P9DIR/net_udp.$O\
-
-CLHFILES=\
- $CLDIR/adivtab.h\
- $CLDIR/anorms.h\
- $CLDIR/asm_i386.h\
- $CLDIR/block16.h\
- $CLDIR/block8.h\
- $CLDIR/cdaudio.h\
- $CLDIR/client.h\
- $CLDIR/console.h\
- $CLDIR/input.h\
- $CLDIR/keys.h\
- $CLDIR/qmenu.h\
- $CLDIR/ref.h\
- $CLDIR/screen.h\
- $CLDIR/snd_loc.h\
- $CLDIR/sound.h\
- $CLDIR/vid.h\
-
-# g_chase.c -> ChasePrev, ChaseNext, .. undefined symbols -> dlopen fails
- #$GMDIR/g_chase.$O\
-GMOFILES=\
- $GMDIR/g_ai.$O\
- $GMDIR/p_client.$O\
- $GMDIR/g_cmds.$O\
- $GMDIR/g_svcmds.$O\
- $GMDIR/g_combat.$O\
- $GMDIR/g_func.$O\
- $GMDIR/g_items.$O\
- $GMDIR/g_main.$O\
- $GMDIR/g_misc.$O\
- $GMDIR/g_monster.$O\
- $GMDIR/g_phys.$O\
- $GMDIR/g_save.$O\
- $GMDIR/g_spawn.$O\
- $GMDIR/g_target.$O\
- $GMDIR/g_trigger.$O\
- $GMDIR/g_turret.$O\
- $GMDIR/g_utils.$O\
- $GMDIR/g_weapon.$O\
- $GMDIR/m_actor.$O\
- $GMDIR/m_berserk.$O\
- $GMDIR/m_boss2.$O\
- $GMDIR/m_boss3.$O\
- $GMDIR/m_boss31.$O\
- $GMDIR/m_boss32.$O\
- $GMDIR/m_brain.$O\
- $GMDIR/m_chick.$O\
- $GMDIR/m_flipper.$O\
- $GMDIR/m_float.$O\
- $GMDIR/m_flyer.$O\
- $GMDIR/m_gladiator.$O\
- $GMDIR/m_gunner.$O\
- $GMDIR/m_hover.$O\
- $GMDIR/m_infantry.$O\
- $GMDIR/m_insane.$O\
- $GMDIR/m_medic.$O\
- $GMDIR/m_move.$O\
- $GMDIR/m_mutant.$O\
- $GMDIR/m_parasite.$O\
- $GMDIR/m_soldier.$O\
- $GMDIR/m_supertank.$O\
- $GMDIR/m_tank.$O\
- $GMDIR/p_hud.$O\
- $GMDIR/p_trail.$O\
- $GMDIR/p_view.$O\
- $GMDIR/p_weapon.$O\
- $GMDIR/q_shared.$O\
- $GMDIR/m_flash.$O\
-
-GMHFILES=\
- $GMDIR/g_local.h\
- $GMDIR/game.h\
- $GMDIR/m_actor.h\
- $GMDIR/m_berserk.h\
- $GMDIR/m_boss2.h\
- $GMDIR/m_boss31.h\
- $GMDIR/m_boss32.h\
- $GMDIR/m_brain.h\
- $GMDIR/m_chick.h\
- $GMDIR/m_flipper.h\
- $GMDIR/m_float.h\
- $GMDIR/m_flyer.h\
- $GMDIR/m_gladiator.h\
- $GMDIR/m_gunner.h\
- $GMDIR/m_hover.h\
- $GMDIR/m_infantry.h\
- $GMDIR/m_insane.h\
- $GMDIR/m_medic.h\
- $GMDIR/m_mutant.h\
- $GMDIR/m_parasite.h\
- $GMDIR/m_player.h\
- $GMDIR/m_rider.h\
- $GMDIR/m_soldier.h\
- $GMDIR/m_supertank.h\
- $GMDIR/m_tank.h\
- $GMDIR/q_shared.h\
-
-CTFOFILES=\
- $CTFDIR/g_ai.$O\
- $CTFDIR/g_chase.$O\
- $CTFDIR/g_cmds.$O\
- $CTFDIR/g_combat.$O\
- $CTFDIR/g_ctf.$O\
- $CTFDIR/g_func.$O\
- $CTFDIR/g_items.$O\
- $CTFDIR/g_main.$O\
- $CTFDIR/g_misc.$O\
- $CTFDIR/g_monster.$O\
- $CTFDIR/g_phys.$O\
- $CTFDIR/g_save.$O\
- $CTFDIR/g_spawn.$O\
- $CTFDIR/g_svcmds.$O\
- $CTFDIR/g_target.$O\
- $CTFDIR/g_trigger.$O\
- $CTFDIR/g_utils.$O\
- $CTFDIR/g_weapon.$O\
- $CTFDIR/m_move.$O\
- $CTFDIR/p_client.$O\
- $CTFDIR/p_hud.$O\
- $CTFDIR/p_menu.$O\
- $CTFDIR/p_trail.$O\
- $CTFDIR/p_view.$O\
- $CTFDIR/p_weapon.$O\
- $CTFDIR/q_shared.$O\
-
-CTFHFILES=\
- $CTFDIR/g_ctf.h\
- $CTFDIR/g_local.h\
- $CTFDIR/game.h\
- $CTFDIR/m_player.h\
- $CTFDIR/p_menu.h\
- $CTFDIR/q_shared.h\
-
-XAOFILES=\
- $XADIR/g_ai.$O\
- $XADIR/g_cmds.$O\
- $XADIR/g_combat.$O\
- $XADIR/g_func.$O\
- $XADIR/g_items.$O\
- $XADIR/g_main.$O\
- $XADIR/g_misc.$O\
- $XADIR/g_monster.$O\
- $XADIR/g_phys.$O\
- $XADIR/g_save.$O\
- $XADIR/g_spawn.$O\
- $XADIR/g_svcmds.$O\
- $XADIR/g_target.$O\
- $XADIR/g_trigger.$O\
- $XADIR/g_turret.$O\
- $XADIR/g_utils.$O\
- $XADIR/g_weapon.$O\
- $XADIR/m_actor.$O\
- $XADIR/m_berserk.$O\
- $XADIR/m_boss2.$O\
- $XADIR/m_boss3.$O\
- $XADIR/m_boss31.$O\
- $XADIR/m_boss32.$O\
- $XADIR/m_boss5.$O\
- $XADIR/m_brain.$O\
- $XADIR/m_chick.$O\
- $XADIR/m_fixbot.$O\
- $XADIR/m_flash.$O\
- $XADIR/m_flipper.$O\
- $XADIR/m_float.$O\
- $XADIR/m_flyer.$O\
- $XADIR/m_gekk.$O\
- $XADIR/m_gladb.$O\
- $XADIR/m_gladiator.$O\
- $XADIR/m_gunner.$O\
- $XADIR/m_hover.$O\
- $XADIR/m_infantry.$O\
- $XADIR/m_insane.$O\
- $XADIR/m_medic.$O\
- $XADIR/m_move.$O\
- $XADIR/m_mutant.$O\
- $XADIR/m_parasite.$O\
- $XADIR/m_soldier.$O\
- $XADIR/m_supertank.$O\
- $XADIR/m_tank.$O\
- $XADIR/p_client.$O\
- $XADIR/p_hud.$O\
- $XADIR/p_trail.$O\
- $XADIR/p_view.$O\
- $XADIR/p_weapon.$O\
- $XADIR/q_shared.$O\
-
-# FIXME
-XAHFILES=
-
-SROFILES=\
- $SRDIR/r_aclip.$O\
- $SRDIR/r_alias.$O\
- $SRDIR/r_bsp.$O\
- $SRDIR/r_draw.$O\
- $SRDIR/r_edge.$O\
- $SRDIR/r_image.$O\
- $SRDIR/r_light.$O\
- $SRDIR/r_main.$O\
- $SRDIR/r_misc.$O\
- $SRDIR/r_model.$O\
- $SRDIR/r_part.$O\
- $SRDIR/r_poly.$O\
- $SRDIR/r_polyse.$O\
- $SRDIR/r_rast.$O\
- $SRDIR/r_scan.$O\
- $SRDIR/r_sprite.$O\
- $SRDIR/r_surf.$O\
- $GMDIR/q_shared.$O\
- $P9DIR/q_shlinux.$O\
- $P9DIR/glob.$O\
- $P9DIR/rw_x11.$O\
-
-SRHFILES=\
- $SRDIR/adivtab.h\
- $SRDIR/anorms.h\
- $SRDIR/asm_draw.h\
- $SRDIR/d_ifacea.h\
- $SRDIR/r_local.h\
- $SRDIR/r_model.h\
- $SRDIR/rand1k.h\
-
-CMHFILES=\
- $CMDIR/crc.h\
- $CMDIR/qcommon.h\
- $CMDIR/qfiles.h\
-
-# only build and link needed modules for main game
-# *ofiles: ofiles needed for each module
-# *hfiles: hfiles in each module directory...
-OFILES= $CLOFILES $GMOFILES $SROFILES
-HFILES= $CLHFILES $GMHFILES $SRHFILES $CMHFILES
-
-</sys/src/cmd/mkone
-
-# FIXME
-clean:
- rm -f $CLOFILES $GMOFILES $SROFILES $CTFOFILES $XAOFILES
--- /dev/null
+++ b/q_shared.h
@@ -1,0 +1,1200 @@
+/*
+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.
+
+*/
+
+// q_shared.h -- included first by ALL program modules
+
+#ifdef _WIN32
+// unknown pragmas are SUPPOSED to be ignored, but....
+#pragma warning(disable : 4244) // MIPS
+#pragma warning(disable : 4136) // X86
+#pragma warning(disable : 4051) // ALPHA
+
+#pragma warning(disable : 4018) // signed/unsigned mismatch
+#pragma warning(disable : 4305) // truncation from const double to float
+
+#endif
+
+#include <assert.h>
+#include <math.h>
+#include <stdio.h>
+#include <stdarg.h>
+#include <string.h>
+#include <stdlib.h>
+#include <time.h>
+
+#if (defined _M_IX86 || defined __i386__) && !defined C_ONLY && !defined __sun__
+#define id386 1
+#else
+#define id386 0
+#endif
+
+#if defined _M_ALPHA && !defined C_ONLY
+#define idaxp 1
+#else
+#define idaxp 0
+#endif
+
+typedef unsigned char byte;
+typedef enum {false, true} qboolean;
+
+
+#ifndef NULL
+#define NULL ((void *)0)
+#endif
+
+
+// angle indexes
+#define PITCH 0 // up / down
+#define YAW 1 // left / right
+#define ROLL 2 // fall over
+
+#define MAX_STRING_CHARS 1024 // max length of a string passed to Cmd_TokenizeString
+#define MAX_STRING_TOKENS 80 // max tokens resulting from Cmd_TokenizeString
+#define MAX_TOKEN_CHARS 128 // max length of an individual token
+
+#define MAX_QPATH 64 // max length of a quake game pathname
+#define MAX_OSPATH 128 // max length of a filesystem pathname
+
+//
+// per-level limits
+//
+#define MAX_CLIENTS 256 // absolute limit
+#define MAX_EDICTS 1024 // must change protocol to increase more
+#define MAX_LIGHTSTYLES 256
+#define MAX_MODELS 256 // these are sent over the net as bytes
+#define MAX_SOUNDS 256 // so they cannot be blindly increased
+#define MAX_IMAGES 256
+#define MAX_ITEMS 256
+#define MAX_GENERAL (MAX_CLIENTS*2) // general config strings
+
+
+// game print flags
+#define PRINT_LOW 0 // pickup messages
+#define PRINT_MEDIUM 1 // death messages
+#define PRINT_HIGH 2 // critical messages
+#define PRINT_CHAT 3 // chat messages
+
+
+
+#define ERR_FATAL 0 // exit the entire game with a popup window
+#define ERR_DROP 1 // print to console and disconnect from game
+#define ERR_DISCONNECT 2 // don't kill server
+
+#define PRINT_ALL 0
+#define PRINT_DEVELOPER 1 // only print when "developer 1"
+#define PRINT_ALERT 2
+
+
+// destination class for gi.multicast()
+typedef enum
+{
+MULTICAST_ALL,
+MULTICAST_PHS,
+MULTICAST_PVS,
+MULTICAST_ALL_R,
+MULTICAST_PHS_R,
+MULTICAST_PVS_R
+} multicast_t;
+
+
+/*
+==============================================================
+
+MATHLIB
+
+==============================================================
+*/
+
+typedef float vec_t;
+typedef vec_t vec3_t[3];
+typedef vec_t vec5_t[5];
+
+typedef int fixed4_t;
+typedef int fixed8_t;
+typedef int fixed16_t;
+
+#ifndef M_PI
+#define M_PI 3.14159265358979323846 // matches value in gcc v2 math.h
+#endif
+
+struct cplane_s;
+
+extern vec3_t vec3_origin;
+
+#define nanmask (255<<23)
+
+#define IS_NAN(x) (((*(int *)&x)&nanmask)==nanmask)
+
+// microsoft's fabs seems to be ungodly slow...
+//float Q_fabs (float f);
+//#define fabs(f) Q_fabs(f)
+#if !defined C_ONLY && !defined __linux__ && !defined __sgi
+extern long Q_ftol( float f );
+#else
+#define Q_ftol( f ) ( long ) (f)
+#endif
+
+#define DotProduct(x,y) (x[0]*y[0]+x[1]*y[1]+x[2]*y[2])
+#define VectorSubtract(a,b,c) (c[0]=a[0]-b[0],c[1]=a[1]-b[1],c[2]=a[2]-b[2])
+#define VectorAdd(a,b,c) (c[0]=a[0]+b[0],c[1]=a[1]+b[1],c[2]=a[2]+b[2])
+#define VectorCopy(a,b) (b[0]=a[0],b[1]=a[1],b[2]=a[2])
+#define VectorClear(a) (a[0]=a[1]=a[2]=0)
+#define VectorNegate(a,b) (b[0]=-a[0],b[1]=-a[1],b[2]=-a[2])
+#define VectorSet(v, x, y, z) (v[0]=(x), v[1]=(y), v[2]=(z))
+
+void VectorMA (vec3_t veca, float scale, vec3_t vecb, vec3_t vecc);
+
+// just in case you do't want to use the macros
+vec_t _DotProduct (vec3_t v1, vec3_t v2);
+void _VectorSubtract (vec3_t veca, vec3_t vecb, vec3_t out);
+void _VectorAdd (vec3_t veca, vec3_t vecb, vec3_t out);
+void _VectorCopy (vec3_t in, vec3_t out);
+
+void ClearBounds (vec3_t mins, vec3_t maxs);
+void AddPointToBounds (vec3_t v, vec3_t mins, vec3_t maxs);
+int VectorCompare (vec3_t v1, vec3_t v2);
+vec_t VectorLength (vec3_t v);
+void CrossProduct (vec3_t v1, vec3_t v2, vec3_t cross);
+vec_t VectorNormalize (vec3_t v); // returns vector length
+vec_t VectorNormalize2 (vec3_t v, vec3_t out);
+void VectorInverse (vec3_t v);
+void VectorScale (vec3_t in, vec_t scale, vec3_t out);
+int Q_log2(int val);
+
+void R_ConcatRotations (float in1[3][3], float in2[3][3], float out[3][3]);
+void R_ConcatTransforms (float in1[3][4], float in2[3][4], float out[3][4]);
+
+void AngleVectors (vec3_t angles, vec3_t forward, vec3_t right, vec3_t up);
+int BoxOnPlaneSide (vec3_t emins, vec3_t emaxs, struct cplane_s *plane);
+float anglemod(float a);
+float LerpAngle (float a1, float a2, float frac);
+
+#define BOX_ON_PLANE_SIDE(emins, emaxs, p) \
+ (((p)->type < 3)? \
+ ( \
+ ((p)->dist <= (emins)[(p)->type])? \
+ 1 \
+ : \
+ ( \
+ ((p)->dist >= (emaxs)[(p)->type])?\
+ 2 \
+ : \
+ 3 \
+ ) \
+ ) \
+ : \
+ BoxOnPlaneSide( (emins), (emaxs), (p)))
+
+void ProjectPointOnPlane( vec3_t dst, const vec3_t p, const vec3_t normal );
+void PerpendicularVector( vec3_t dst, const vec3_t src );
+void RotatePointAroundVector( vec3_t dst, const vec3_t dir, const vec3_t point, float degrees );
+
+
+//=============================================
+
+char *COM_SkipPath (char *pathname);
+void COM_StripExtension (char *in, char *out);
+void COM_FileBase (char *in, char *out);
+void COM_FilePath (char *in, char *out);
+void COM_DefaultExtension (char *path, char *extension);
+
+char *COM_Parse (char **data_p);
+// data is an in/out parm, returns a parsed out token
+
+void Com_sprintf (char *dest, int size, char *fmt, ...);
+
+void Com_PageInMemory (byte *buffer, int size);
+
+//=============================================
+
+// portable case insensitive compare
+int Q_stricmp (char *s1, char *s2);
+int Q_strcasecmp (char *s1, char *s2);
+int Q_strncasecmp (char *s1, char *s2, int n);
+
+//=============================================
+
+short BigShort(short l);
+short LittleShort(short l);
+int BigLong (int l);
+int LittleLong (int l);
+float BigFloat (float l);
+float LittleFloat (float l);
+
+void Swap_Init (void);
+char *va(char *format, ...);
+
+//=============================================
+
+//
+// key / value info strings
+//
+#define MAX_INFO_KEY 64
+#define MAX_INFO_VALUE 64
+#define MAX_INFO_STRING 512
+
+char *Info_ValueForKey (char *s, char *key);
+void Info_RemoveKey (char *s, char *key);
+void Info_SetValueForKey (char *s, char *key, char *value);
+qboolean Info_Validate (char *s);
+
+/*
+==============================================================
+
+SYSTEM SPECIFIC
+
+==============================================================
+*/
+
+extern int curtime; // time returned by last Sys_Milliseconds
+
+int Sys_Milliseconds (void);
+void Sys_Mkdir (char *path);
+
+// large block stack allocation routines
+void *Hunk_Begin (int maxsize);
+void *Hunk_Alloc (int size);
+void Hunk_Free (void *buf);
+int Hunk_End (void);
+
+// directory searching
+#define SFF_ARCH 0x01
+#define SFF_HIDDEN 0x02
+#define SFF_RDONLY 0x04
+#define SFF_SUBDIR 0x08
+#define SFF_SYSTEM 0x10
+
+/*
+** pass in an attribute mask of things you wish to REJECT
+*/
+char *Sys_FindFirst (char *path, unsigned musthave, unsigned canthave );
+char *Sys_FindNext ( unsigned musthave, unsigned canthave );
+void Sys_FindClose (void);
+
+
+// this is only here so the functions in q_shared.c and q_shwin.c can link
+void Sys_Error (char *error, ...);
+void Com_Printf (char *msg, ...);
+
+
+/*
+==========================================================
+
+CVARS (console variables)
+
+==========================================================
+*/
+
+#ifndef CVAR
+#define CVAR
+
+#define CVAR_ARCHIVE 1 // set to cause it to be saved to vars.rc
+#define CVAR_USERINFO 2 // added to userinfo when changed
+#define CVAR_SERVERINFO 4 // added to serverinfo when changed
+#define CVAR_NOSET 8 // don't allow change from console at all,
+ // but can be set from the command line
+#define CVAR_LATCH 16 // save changes until server restart
+
+// nothing outside the Cvar_*() functions should modify these fields!
+typedef struct cvar_s
+{
+ char *name;
+ char *string;
+ char *latched_string; // for CVAR_LATCH vars
+ int flags;
+ qboolean modified; // set each time the cvar is changed
+ float value;
+ struct cvar_s *next;
+} cvar_t;
+
+#endif // CVAR
+
+/*
+==============================================================
+
+COLLISION DETECTION
+
+==============================================================
+*/
+
+// lower bits are stronger, and will eat weaker brushes completely
+#define CONTENTS_SOLID 1 // an eye is never valid in a solid
+#define CONTENTS_WINDOW 2 // translucent, but not watery
+#define CONTENTS_AUX 4
+#define CONTENTS_LAVA 8
+#define CONTENTS_SLIME 16
+#define CONTENTS_WATER 32
+#define CONTENTS_MIST 64
+#define LAST_VISIBLE_CONTENTS 64
+
+// remaining contents are non-visible, and don't eat brushes
+
+#define CONTENTS_AREAPORTAL 0x8000
+
+#define CONTENTS_PLAYERCLIP 0x10000
+#define CONTENTS_MONSTERCLIP 0x20000
+
+// currents can be added to any other contents, and may be mixed
+#define CONTENTS_CURRENT_0 0x40000
+#define CONTENTS_CURRENT_90 0x80000
+#define CONTENTS_CURRENT_180 0x100000
+#define CONTENTS_CURRENT_270 0x200000
+#define CONTENTS_CURRENT_UP 0x400000
+#define CONTENTS_CURRENT_DOWN 0x800000
+
+#define CONTENTS_ORIGIN 0x1000000 // removed before bsping an entity
+
+#define CONTENTS_MONSTER 0x2000000 // should never be on a brush, only in game
+#define CONTENTS_DEADMONSTER 0x4000000
+#define CONTENTS_DETAIL 0x8000000 // brushes to be added after vis leafs
+#define CONTENTS_TRANSLUCENT 0x10000000 // auto set if any surface has trans
+#define CONTENTS_LADDER 0x20000000
+
+
+
+#define SURF_LIGHT 0x1 // value will hold the light strength
+
+#define SURF_SLICK 0x2 // effects game physics
+
+#define SURF_SKY 0x4 // don't draw, but add to skybox
+#define SURF_WARP 0x8 // turbulent water warp
+#define SURF_TRANS33 0x10
+#define SURF_TRANS66 0x20
+#define SURF_FLOWING 0x40 // scroll towards angle
+#define SURF_NODRAW 0x80 // don't bother referencing the texture
+
+
+
+// content masks
+#define MASK_ALL (-1)
+#define MASK_SOLID (CONTENTS_SOLID|CONTENTS_WINDOW)
+#define MASK_PLAYERSOLID (CONTENTS_SOLID|CONTENTS_PLAYERCLIP|CONTENTS_WINDOW|CONTENTS_MONSTER)
+#define MASK_DEADSOLID (CONTENTS_SOLID|CONTENTS_PLAYERCLIP|CONTENTS_WINDOW)
+#define MASK_MONSTERSOLID (CONTENTS_SOLID|CONTENTS_MONSTERCLIP|CONTENTS_WINDOW|CONTENTS_MONSTER)
+#define MASK_WATER (CONTENTS_WATER|CONTENTS_LAVA|CONTENTS_SLIME)
+#define MASK_OPAQUE (CONTENTS_SOLID|CONTENTS_SLIME|CONTENTS_LAVA)
+#define MASK_SHOT (CONTENTS_SOLID|CONTENTS_MONSTER|CONTENTS_WINDOW|CONTENTS_DEADMONSTER)
+#define MASK_CURRENT (CONTENTS_CURRENT_0|CONTENTS_CURRENT_90|CONTENTS_CURRENT_180|CONTENTS_CURRENT_270|CONTENTS_CURRENT_UP|CONTENTS_CURRENT_DOWN)
+
+
+// gi.BoxEdicts() can return a list of either solid or trigger entities
+// FIXME: eliminate AREA_ distinction?
+#define AREA_SOLID 1
+#define AREA_TRIGGERS 2
+
+
+// plane_t structure
+// !!! if this is changed, it must be changed in asm code too !!!
+typedef struct cplane_s
+{
+ vec3_t normal;
+ float dist;
+ byte type; // for fast side tests
+ byte signbits; // signx + (signy<<1) + (signz<<1)
+ byte pad[2];
+} cplane_t;
+
+// structure offset for asm code
+#define CPLANE_NORMAL_X 0
+#define CPLANE_NORMAL_Y 4
+#define CPLANE_NORMAL_Z 8
+#define CPLANE_DIST 12
+#define CPLANE_TYPE 16
+#define CPLANE_SIGNBITS 17
+#define CPLANE_PAD0 18
+#define CPLANE_PAD1 19
+
+typedef struct cmodel_s
+{
+ vec3_t mins, maxs;
+ vec3_t origin; // for sounds or lights
+ int headnode;
+} cmodel_t;
+
+typedef struct csurface_s
+{
+ char name[16];
+ int flags;
+ int value;
+} csurface_t;
+
+typedef struct mapsurface_s // used internally due to name len probs //ZOID
+{
+ csurface_t c;
+ char rname[32];
+} mapsurface_t;
+
+// a trace is returned when a box is swept through the world
+typedef struct
+{
+ qboolean allsolid; // if true, plane is not valid
+ qboolean startsolid; // if true, the initial point was in a solid area
+ float fraction; // time completed, 1.0 = didn't hit anything
+ vec3_t endpos; // final position
+ cplane_t plane; // surface normal at impact
+ csurface_t *surface; // surface hit
+ int contents; // contents on other side of surface hit
+ struct edict_s *ent; // not set by CM_*() functions
+} trace_t;
+
+
+
+// pmove_state_t is the information necessary for client side movement
+// prediction
+typedef enum
+{
+ // can accelerate and turn
+ PM_NORMAL,
+ PM_SPECTATOR,
+ // no acceleration or turning
+ PM_DEAD,
+ PM_GIB, // different bounding box
+ PM_FREEZE
+} pmtype_t;
+
+// pmove->pm_flags
+#define PMF_DUCKED 1
+#define PMF_JUMP_HELD 2
+#define PMF_ON_GROUND 4
+#define PMF_TIME_WATERJUMP 8 // pm_time is waterjump
+#define PMF_TIME_LAND 16 // pm_time is time before rejump
+#define PMF_TIME_TELEPORT 32 // pm_time is non-moving time
+#define PMF_NO_PREDICTION 64 // temporarily disables prediction (used for grappling hook)
+
+// this structure needs to be communicated bit-accurate
+// from the server to the client to guarantee that
+// prediction stays in sync, so no floats are used.
+// if any part of the game code modifies this struct, it
+// will result in a prediction error of some degree.
+typedef struct
+{
+ pmtype_t pm_type;
+
+ short origin[3]; // 12.3
+ short velocity[3]; // 12.3
+ byte pm_flags; // ducked, jump_held, etc
+ byte pm_time; // each unit = 8 ms
+ short gravity;
+ short delta_angles[3]; // add to command angles to get view direction
+ // changed by spawns, rotating objects, and teleporters
+} pmove_state_t;
+
+
+//
+// button bits
+//
+#define BUTTON_ATTACK 1
+#define BUTTON_USE 2
+#define BUTTON_ANY 128 // any key whatsoever
+
+
+// usercmd_t is sent to the server each client frame
+typedef struct usercmd_s
+{
+ byte msec;
+ byte buttons;
+ short angles[3];
+ short forwardmove, sidemove, upmove;
+ byte impulse; // remove?
+ byte lightlevel; // light level the player is standing on
+} usercmd_t;
+
+
+#define MAXTOUCH 32
+typedef struct
+{
+ // state (in / out)
+ pmove_state_t s;
+
+ // command (in)
+ usercmd_t cmd;
+ qboolean snapinitial; // if s has been changed outside pmove
+
+ // results (out)
+ int numtouch;
+ struct edict_s *touchents[MAXTOUCH];
+
+ vec3_t viewangles; // clamped
+ float viewheight;
+
+ vec3_t mins, maxs; // bounding box size
+
+ struct edict_s *groundentity;
+ int watertype;
+ int waterlevel;
+
+ // callbacks to test the world
+ trace_t (*trace) (vec3_t start, vec3_t mins, vec3_t maxs, vec3_t end);
+ int (*pointcontents) (vec3_t point);
+} pmove_t;
+
+
+// entity_state_t->effects
+// Effects are things handled on the client side (lights, particles, frame animations)
+// that happen constantly on the given entity.
+// An entity that has effects will be sent to the client
+// even if it has a zero index model.
+#define EF_ROTATE 0x00000001 // rotate (bonus items)
+#define EF_GIB 0x00000002 // leave a trail
+#define EF_BLASTER 0x00000008 // redlight + trail
+#define EF_ROCKET 0x00000010 // redlight + trail
+#define EF_GRENADE 0x00000020
+#define EF_HYPERBLASTER 0x00000040
+#define EF_BFG 0x00000080
+#define EF_COLOR_SHELL 0x00000100
+#define EF_POWERSCREEN 0x00000200
+#define EF_ANIM01 0x00000400 // automatically cycle between frames 0 and 1 at 2 hz
+#define EF_ANIM23 0x00000800 // automatically cycle between frames 2 and 3 at 2 hz
+#define EF_ANIM_ALL 0x00001000 // automatically cycle through all frames at 2hz
+#define EF_ANIM_ALLFAST 0x00002000 // automatically cycle through all frames at 10hz
+#define EF_FLIES 0x00004000
+#define EF_QUAD 0x00008000
+#define EF_PENT 0x00010000
+#define EF_TELEPORTER 0x00020000 // particle fountain
+#define EF_FLAG1 0x00040000
+#define EF_FLAG2 0x00080000
+// RAFAEL
+#define EF_IONRIPPER 0x00100000
+#define EF_GREENGIB 0x00200000
+#define EF_BLUEHYPERBLASTER 0x00400000
+#define EF_SPINNINGLIGHTS 0x00800000
+#define EF_PLASMA 0x01000000
+#define EF_TRAP 0x02000000
+
+//ROGUE
+#define EF_TRACKER 0x04000000
+#define EF_DOUBLE 0x08000000
+#define EF_SPHERETRANS 0x10000000
+#define EF_TAGTRAIL 0x20000000
+#define EF_HALF_DAMAGE 0x40000000
+#define EF_TRACKERTRAIL 0x80000000
+//ROGUE
+
+// entity_state_t->renderfx flags
+#define RF_MINLIGHT 1 // allways have some light (viewmodel)
+#define RF_VIEWERMODEL 2 // don't draw through eyes, only mirrors
+#define RF_WEAPONMODEL 4 // only draw through eyes
+#define RF_FULLBRIGHT 8 // allways draw full intensity
+#define RF_DEPTHHACK 16 // for view weapon Z crunching
+#define RF_TRANSLUCENT 32
+#define RF_FRAMELERP 64
+#define RF_BEAM 128
+#define RF_CUSTOMSKIN 256 // skin is an index in image_precache
+#define RF_GLOW 512 // pulse lighting for bonus items
+#define RF_SHELL_RED 1024
+#define RF_SHELL_GREEN 2048
+#define RF_SHELL_BLUE 4096
+
+//ROGUE
+#define RF_IR_VISIBLE 0x00008000 // 32768
+#define RF_SHELL_DOUBLE 0x00010000 // 65536
+#define RF_SHELL_HALF_DAM 0x00020000
+#define RF_USE_DISGUISE 0x00040000
+//ROGUE
+
+// player_state_t->refdef flags
+#define RDF_UNDERWATER 1 // warp the screen as apropriate
+#define RDF_NOWORLDMODEL 2 // used for player configuration screen
+
+//ROGUE
+#define RDF_IRGOGGLES 4
+#define RDF_UVGOGGLES 8
+//ROGUE
+
+//
+// muzzle flashes / player effects
+//
+#define MZ_BLASTER 0
+#define MZ_MACHINEGUN 1
+#define MZ_SHOTGUN 2
+#define MZ_CHAINGUN1 3
+#define MZ_CHAINGUN2 4
+#define MZ_CHAINGUN3 5
+#define MZ_RAILGUN 6
+#define MZ_ROCKET 7
+#define MZ_GRENADE 8
+#define MZ_LOGIN 9
+#define MZ_LOGOUT 10
+#define MZ_RESPAWN 11
+#define MZ_BFG 12
+#define MZ_SSHOTGUN 13
+#define MZ_HYPERBLASTER 14
+#define MZ_ITEMRESPAWN 15
+// RAFAEL
+#define MZ_IONRIPPER 16
+#define MZ_BLUEHYPERBLASTER 17
+#define MZ_PHALANX 18
+#define MZ_SILENCED 128 // bit flag ORed with one of the above numbers
+
+//ROGUE
+#define MZ_ETF_RIFLE 30
+#define MZ_UNUSED 31
+#define MZ_SHOTGUN2 32
+#define MZ_HEATBEAM 33
+#define MZ_BLASTER2 34
+#define MZ_TRACKER 35
+#define MZ_NUKE1 36
+#define MZ_NUKE2 37
+#define MZ_NUKE4 38
+#define MZ_NUKE8 39
+//ROGUE
+
+//
+// monster muzzle flashes
+//
+#define MZ2_TANK_BLASTER_1 1
+#define MZ2_TANK_BLASTER_2 2
+#define MZ2_TANK_BLASTER_3 3
+#define MZ2_TANK_MACHINEGUN_1 4
+#define MZ2_TANK_MACHINEGUN_2 5
+#define MZ2_TANK_MACHINEGUN_3 6
+#define MZ2_TANK_MACHINEGUN_4 7
+#define MZ2_TANK_MACHINEGUN_5 8
+#define MZ2_TANK_MACHINEGUN_6 9
+#define MZ2_TANK_MACHINEGUN_7 10
+#define MZ2_TANK_MACHINEGUN_8 11
+#define MZ2_TANK_MACHINEGUN_9 12
+#define MZ2_TANK_MACHINEGUN_10 13
+#define MZ2_TANK_MACHINEGUN_11 14
+#define MZ2_TANK_MACHINEGUN_12 15
+#define MZ2_TANK_MACHINEGUN_13 16
+#define MZ2_TANK_MACHINEGUN_14 17
+#define MZ2_TANK_MACHINEGUN_15 18
+#define MZ2_TANK_MACHINEGUN_16 19
+#define MZ2_TANK_MACHINEGUN_17 20
+#define MZ2_TANK_MACHINEGUN_18 21
+#define MZ2_TANK_MACHINEGUN_19 22
+#define MZ2_TANK_ROCKET_1 23
+#define MZ2_TANK_ROCKET_2 24
+#define MZ2_TANK_ROCKET_3 25
+
+#define MZ2_INFANTRY_MACHINEGUN_1 26
+#define MZ2_INFANTRY_MACHINEGUN_2 27
+#define MZ2_INFANTRY_MACHINEGUN_3 28
+#define MZ2_INFANTRY_MACHINEGUN_4 29
+#define MZ2_INFANTRY_MACHINEGUN_5 30
+#define MZ2_INFANTRY_MACHINEGUN_6 31
+#define MZ2_INFANTRY_MACHINEGUN_7 32
+#define MZ2_INFANTRY_MACHINEGUN_8 33
+#define MZ2_INFANTRY_MACHINEGUN_9 34
+#define MZ2_INFANTRY_MACHINEGUN_10 35
+#define MZ2_INFANTRY_MACHINEGUN_11 36
+#define MZ2_INFANTRY_MACHINEGUN_12 37
+#define MZ2_INFANTRY_MACHINEGUN_13 38
+
+#define MZ2_SOLDIER_BLASTER_1 39
+#define MZ2_SOLDIER_BLASTER_2 40
+#define MZ2_SOLDIER_SHOTGUN_1 41
+#define MZ2_SOLDIER_SHOTGUN_2 42
+#define MZ2_SOLDIER_MACHINEGUN_1 43
+#define MZ2_SOLDIER_MACHINEGUN_2 44
+
+#define MZ2_GUNNER_MACHINEGUN_1 45
+#define MZ2_GUNNER_MACHINEGUN_2 46
+#define MZ2_GUNNER_MACHINEGUN_3 47
+#define MZ2_GUNNER_MACHINEGUN_4 48
+#define MZ2_GUNNER_MACHINEGUN_5 49
+#define MZ2_GUNNER_MACHINEGUN_6 50
+#define MZ2_GUNNER_MACHINEGUN_7 51
+#define MZ2_GUNNER_MACHINEGUN_8 52
+#define MZ2_GUNNER_GRENADE_1 53
+#define MZ2_GUNNER_GRENADE_2 54
+#define MZ2_GUNNER_GRENADE_3 55
+#define MZ2_GUNNER_GRENADE_4 56
+
+#define MZ2_CHICK_ROCKET_1 57
+
+#define MZ2_FLYER_BLASTER_1 58
+#define MZ2_FLYER_BLASTER_2 59
+
+#define MZ2_MEDIC_BLASTER_1 60
+
+#define MZ2_GLADIATOR_RAILGUN_1 61
+
+#define MZ2_HOVER_BLASTER_1 62
+
+#define MZ2_ACTOR_MACHINEGUN_1 63
+
+#define MZ2_SUPERTANK_MACHINEGUN_1 64
+#define MZ2_SUPERTANK_MACHINEGUN_2 65
+#define MZ2_SUPERTANK_MACHINEGUN_3 66
+#define MZ2_SUPERTANK_MACHINEGUN_4 67
+#define MZ2_SUPERTANK_MACHINEGUN_5 68
+#define MZ2_SUPERTANK_MACHINEGUN_6 69
+#define MZ2_SUPERTANK_ROCKET_1 70
+#define MZ2_SUPERTANK_ROCKET_2 71
+#define MZ2_SUPERTANK_ROCKET_3 72
+
+#define MZ2_BOSS2_MACHINEGUN_L1 73
+#define MZ2_BOSS2_MACHINEGUN_L2 74
+#define MZ2_BOSS2_MACHINEGUN_L3 75
+#define MZ2_BOSS2_MACHINEGUN_L4 76
+#define MZ2_BOSS2_MACHINEGUN_L5 77
+#define MZ2_BOSS2_ROCKET_1 78
+#define MZ2_BOSS2_ROCKET_2 79
+#define MZ2_BOSS2_ROCKET_3 80
+#define MZ2_BOSS2_ROCKET_4 81
+
+#define MZ2_FLOAT_BLASTER_1 82
+
+#define MZ2_SOLDIER_BLASTER_3 83
+#define MZ2_SOLDIER_SHOTGUN_3 84
+#define MZ2_SOLDIER_MACHINEGUN_3 85
+#define MZ2_SOLDIER_BLASTER_4 86
+#define MZ2_SOLDIER_SHOTGUN_4 87
+#define MZ2_SOLDIER_MACHINEGUN_4 88
+#define MZ2_SOLDIER_BLASTER_5 89
+#define MZ2_SOLDIER_SHOTGUN_5 90
+#define MZ2_SOLDIER_MACHINEGUN_5 91
+#define MZ2_SOLDIER_BLASTER_6 92
+#define MZ2_SOLDIER_SHOTGUN_6 93
+#define MZ2_SOLDIER_MACHINEGUN_6 94
+#define MZ2_SOLDIER_BLASTER_7 95
+#define MZ2_SOLDIER_SHOTGUN_7 96
+#define MZ2_SOLDIER_MACHINEGUN_7 97
+#define MZ2_SOLDIER_BLASTER_8 98
+#define MZ2_SOLDIER_SHOTGUN_8 99
+#define MZ2_SOLDIER_MACHINEGUN_8 100
+
+// --- Xian shit below ---
+#define MZ2_MAKRON_BFG 101
+#define MZ2_MAKRON_BLASTER_1 102
+#define MZ2_MAKRON_BLASTER_2 103
+#define MZ2_MAKRON_BLASTER_3 104
+#define MZ2_MAKRON_BLASTER_4 105
+#define MZ2_MAKRON_BLASTER_5 106
+#define MZ2_MAKRON_BLASTER_6 107
+#define MZ2_MAKRON_BLASTER_7 108
+#define MZ2_MAKRON_BLASTER_8 109
+#define MZ2_MAKRON_BLASTER_9 110
+#define MZ2_MAKRON_BLASTER_10 111
+#define MZ2_MAKRON_BLASTER_11 112
+#define MZ2_MAKRON_BLASTER_12 113
+#define MZ2_MAKRON_BLASTER_13 114
+#define MZ2_MAKRON_BLASTER_14 115
+#define MZ2_MAKRON_BLASTER_15 116
+#define MZ2_MAKRON_BLASTER_16 117
+#define MZ2_MAKRON_BLASTER_17 118
+#define MZ2_MAKRON_RAILGUN_1 119
+#define MZ2_JORG_MACHINEGUN_L1 120
+#define MZ2_JORG_MACHINEGUN_L2 121
+#define MZ2_JORG_MACHINEGUN_L3 122
+#define MZ2_JORG_MACHINEGUN_L4 123
+#define MZ2_JORG_MACHINEGUN_L5 124
+#define MZ2_JORG_MACHINEGUN_L6 125
+#define MZ2_JORG_MACHINEGUN_R1 126
+#define MZ2_JORG_MACHINEGUN_R2 127
+#define MZ2_JORG_MACHINEGUN_R3 128
+#define MZ2_JORG_MACHINEGUN_R4 129
+#define MZ2_JORG_MACHINEGUN_R5 130
+#define MZ2_JORG_MACHINEGUN_R6 131
+#define MZ2_JORG_BFG_1 132
+#define MZ2_BOSS2_MACHINEGUN_R1 133
+#define MZ2_BOSS2_MACHINEGUN_R2 134
+#define MZ2_BOSS2_MACHINEGUN_R3 135
+#define MZ2_BOSS2_MACHINEGUN_R4 136
+#define MZ2_BOSS2_MACHINEGUN_R5 137
+
+//ROGUE
+#define MZ2_CARRIER_MACHINEGUN_L1 138
+#define MZ2_CARRIER_MACHINEGUN_R1 139
+#define MZ2_CARRIER_GRENADE 140
+#define MZ2_TURRET_MACHINEGUN 141
+#define MZ2_TURRET_ROCKET 142
+#define MZ2_TURRET_BLASTER 143
+#define MZ2_STALKER_BLASTER 144
+#define MZ2_DAEDALUS_BLASTER 145
+#define MZ2_MEDIC_BLASTER_2 146
+#define MZ2_CARRIER_RAILGUN 147
+#define MZ2_WIDOW_DISRUPTOR 148
+#define MZ2_WIDOW_BLASTER 149
+#define MZ2_WIDOW_RAIL 150
+#define MZ2_WIDOW_PLASMABEAM 151 // PMM - not used
+#define MZ2_CARRIER_MACHINEGUN_L2 152
+#define MZ2_CARRIER_MACHINEGUN_R2 153
+#define MZ2_WIDOW_RAIL_LEFT 154
+#define MZ2_WIDOW_RAIL_RIGHT 155
+#define MZ2_WIDOW_BLASTER_SWEEP1 156
+#define MZ2_WIDOW_BLASTER_SWEEP2 157
+#define MZ2_WIDOW_BLASTER_SWEEP3 158
+#define MZ2_WIDOW_BLASTER_SWEEP4 159
+#define MZ2_WIDOW_BLASTER_SWEEP5 160
+#define MZ2_WIDOW_BLASTER_SWEEP6 161
+#define MZ2_WIDOW_BLASTER_SWEEP7 162
+#define MZ2_WIDOW_BLASTER_SWEEP8 163
+#define MZ2_WIDOW_BLASTER_SWEEP9 164
+#define MZ2_WIDOW_BLASTER_100 165
+#define MZ2_WIDOW_BLASTER_90 166
+#define MZ2_WIDOW_BLASTER_80 167
+#define MZ2_WIDOW_BLASTER_70 168
+#define MZ2_WIDOW_BLASTER_60 169
+#define MZ2_WIDOW_BLASTER_50 170
+#define MZ2_WIDOW_BLASTER_40 171
+#define MZ2_WIDOW_BLASTER_30 172
+#define MZ2_WIDOW_BLASTER_20 173
+#define MZ2_WIDOW_BLASTER_10 174
+#define MZ2_WIDOW_BLASTER_0 175
+#define MZ2_WIDOW_BLASTER_10L 176
+#define MZ2_WIDOW_BLASTER_20L 177
+#define MZ2_WIDOW_BLASTER_30L 178
+#define MZ2_WIDOW_BLASTER_40L 179
+#define MZ2_WIDOW_BLASTER_50L 180
+#define MZ2_WIDOW_BLASTER_60L 181
+#define MZ2_WIDOW_BLASTER_70L 182
+#define MZ2_WIDOW_RUN_1 183
+#define MZ2_WIDOW_RUN_2 184
+#define MZ2_WIDOW_RUN_3 185
+#define MZ2_WIDOW_RUN_4 186
+#define MZ2_WIDOW_RUN_5 187
+#define MZ2_WIDOW_RUN_6 188
+#define MZ2_WIDOW_RUN_7 189
+#define MZ2_WIDOW_RUN_8 190
+#define MZ2_CARRIER_ROCKET_1 191
+#define MZ2_CARRIER_ROCKET_2 192
+#define MZ2_CARRIER_ROCKET_3 193
+#define MZ2_CARRIER_ROCKET_4 194
+#define MZ2_WIDOW2_BEAMER_1 195
+#define MZ2_WIDOW2_BEAMER_2 196
+#define MZ2_WIDOW2_BEAMER_3 197
+#define MZ2_WIDOW2_BEAMER_4 198
+#define MZ2_WIDOW2_BEAMER_5 199
+#define MZ2_WIDOW2_BEAM_SWEEP_1 200
+#define MZ2_WIDOW2_BEAM_SWEEP_2 201
+#define MZ2_WIDOW2_BEAM_SWEEP_3 202
+#define MZ2_WIDOW2_BEAM_SWEEP_4 203
+#define MZ2_WIDOW2_BEAM_SWEEP_5 204
+#define MZ2_WIDOW2_BEAM_SWEEP_6 205
+#define MZ2_WIDOW2_BEAM_SWEEP_7 206
+#define MZ2_WIDOW2_BEAM_SWEEP_8 207
+#define MZ2_WIDOW2_BEAM_SWEEP_9 208
+#define MZ2_WIDOW2_BEAM_SWEEP_10 209
+#define MZ2_WIDOW2_BEAM_SWEEP_11 210
+
+// ROGUE
+
+extern vec3_t monster_flash_offset [];
+
+
+// temp entity events
+//
+// Temp entity events are for things that happen
+// at a location seperate from any existing entity.
+// Temporary entity messages are explicitly constructed
+// and broadcast.
+typedef enum
+{
+ TE_GUNSHOT,
+ TE_BLOOD,
+ TE_BLASTER,
+ TE_RAILTRAIL,
+ TE_SHOTGUN,
+ TE_EXPLOSION1,
+ TE_EXPLOSION2,
+ TE_ROCKET_EXPLOSION,
+ TE_GRENADE_EXPLOSION,
+ TE_SPARKS,
+ TE_SPLASH,
+ TE_BUBBLETRAIL,
+ TE_SCREEN_SPARKS,
+ TE_SHIELD_SPARKS,
+ TE_BULLET_SPARKS,
+ TE_LASER_SPARKS,
+ TE_PARASITE_ATTACK,
+ TE_ROCKET_EXPLOSION_WATER,
+ TE_GRENADE_EXPLOSION_WATER,
+ TE_MEDIC_CABLE_ATTACK,
+ TE_BFG_EXPLOSION,
+ TE_BFG_BIGEXPLOSION,
+ TE_BOSSTPORT, // used as '22' in a map, so DON'T RENUMBER!!!
+ TE_BFG_LASER,
+ TE_GRAPPLE_CABLE,
+ TE_WELDING_SPARKS,
+ TE_GREENBLOOD,
+ TE_BLUEHYPERBLASTER,
+ TE_PLASMA_EXPLOSION,
+ TE_TUNNEL_SPARKS,
+//ROGUE
+ TE_BLASTER2,
+ TE_RAILTRAIL2,
+ TE_FLAME,
+ TE_LIGHTNING,
+ TE_DEBUGTRAIL,
+ TE_PLAIN_EXPLOSION,
+ TE_FLASHLIGHT,
+ TE_FORCEWALL,
+ TE_HEATBEAM,
+ TE_MONSTER_HEATBEAM,
+ TE_STEAM,
+ TE_BUBBLETRAIL2,
+ TE_MOREBLOOD,
+ TE_HEATBEAM_SPARKS,
+ TE_HEATBEAM_STEAM,
+ TE_CHAINFIST_SMOKE,
+ TE_ELECTRIC_SPARKS,
+ TE_TRACKER_EXPLOSION,
+ TE_TELEPORT_EFFECT,
+ TE_DBALL_GOAL,
+ TE_WIDOWBEAMOUT,
+ TE_NUKEBLAST,
+ TE_WIDOWSPLASH,
+ TE_EXPLOSION1_BIG,
+ TE_EXPLOSION1_NP,
+ TE_FLECHETTE
+//ROGUE
+} temp_event_t;
+
+#define SPLASH_UNKNOWN 0
+#define SPLASH_SPARKS 1
+#define SPLASH_BLUE_WATER 2
+#define SPLASH_BROWN_WATER 3
+#define SPLASH_SLIME 4
+#define SPLASH_LAVA 5
+#define SPLASH_BLOOD 6
+
+
+// sound channels
+// channel 0 never willingly overrides
+// other channels (1-7) allways override a playing sound on that channel
+#define CHAN_AUTO 0
+#define CHAN_WEAPON 1
+#define CHAN_VOICE 2
+#define CHAN_ITEM 3
+#define CHAN_BODY 4
+// modifier flags
+#define CHAN_NO_PHS_ADD 8 // send to all clients, not just ones in PHS (ATTN 0 will also do this)
+#define CHAN_RELIABLE 16 // send by reliable message, not datagram
+
+
+// sound attenuation values
+#define ATTN_NONE 0 // full volume the entire level
+#define ATTN_NORM 1
+#define ATTN_IDLE 2
+#define ATTN_STATIC 3 // diminish very rapidly with distance
+
+
+// player_state->stats[] indexes
+#define STAT_HEALTH_ICON 0
+#define STAT_HEALTH 1
+#define STAT_AMMO_ICON 2
+#define STAT_AMMO 3
+#define STAT_ARMOR_ICON 4
+#define STAT_ARMOR 5
+#define STAT_SELECTED_ICON 6
+#define STAT_PICKUP_ICON 7
+#define STAT_PICKUP_STRING 8
+#define STAT_TIMER_ICON 9
+#define STAT_TIMER 10
+#define STAT_HELPICON 11
+#define STAT_SELECTED_ITEM 12
+#define STAT_LAYOUTS 13
+#define STAT_FRAGS 14
+#define STAT_FLASHES 15 // cleared each frame, 1 = health, 2 = armor
+#define STAT_CHASE 16
+#define STAT_SPECTATOR 17
+
+#define MAX_STATS 32
+
+
+// dmflags->value flags
+#define DF_NO_HEALTH 0x00000001 // 1
+#define DF_NO_ITEMS 0x00000002 // 2
+#define DF_WEAPONS_STAY 0x00000004 // 4
+#define DF_NO_FALLING 0x00000008 // 8
+#define DF_INSTANT_ITEMS 0x00000010 // 16
+#define DF_SAME_LEVEL 0x00000020 // 32
+#define DF_SKINTEAMS 0x00000040 // 64
+#define DF_MODELTEAMS 0x00000080 // 128
+#define DF_NO_FRIENDLY_FIRE 0x00000100 // 256
+#define DF_SPAWN_FARTHEST 0x00000200 // 512
+#define DF_FORCE_RESPAWN 0x00000400 // 1024
+#define DF_NO_ARMOR 0x00000800 // 2048
+#define DF_ALLOW_EXIT 0x00001000 // 4096
+#define DF_INFINITE_AMMO 0x00002000 // 8192
+#define DF_QUAD_DROP 0x00004000 // 16384
+#define DF_FIXED_FOV 0x00008000 // 32768
+
+// RAFAEL
+#define DF_QUADFIRE_DROP 0x00010000 // 65536
+
+//ROGUE
+#define DF_NO_MINES 0x00020000
+#define DF_NO_STACK_DOUBLE 0x00040000
+#define DF_NO_NUKES 0x00080000
+#define DF_NO_SPHERES 0x00100000
+//ROGUE
+
+/*
+ROGUE - VERSIONS
+1234 08/13/1998 Activision
+1235 08/14/1998 Id Software
+1236 08/15/1998 Steve Tietze
+1237 08/15/1998 Phil Dobranski
+1238 08/15/1998 John Sheley
+1239 08/17/1998 Barrett Alexander
+1230 08/17/1998 Brandon Fish
+1245 08/17/1998 Don MacAskill
+1246 08/17/1998 David "Zoid" Kirsch
+1247 08/17/1998 Manu Smith
+1248 08/17/1998 Geoff Scully
+1249 08/17/1998 Andy Van Fossen
+1240 08/20/1998 Activision Build 2
+1256 08/20/1998 Ranger Clan
+1257 08/20/1998 Ensemble Studios
+1258 08/21/1998 Robert Duffy
+1259 08/21/1998 Stephen Seachord
+1250 08/21/1998 Stephen Heaslip
+1267 08/21/1998 Samir Sandesara
+1268 08/21/1998 Oliver Wyman
+1269 08/21/1998 Steven Marchegiano
+1260 08/21/1998 Build #2 for Nihilistic
+1278 08/21/1998 Build #2 for Ensemble
+
+9999 08/20/1998 Internal Use
+*/
+#define ROGUE_VERSION_ID 1278
+
+#define ROGUE_VERSION_STRING "08/21/1998 Beta 2 for Ensemble"
+
+// ROGUE
+/*
+==========================================================
+
+ ELEMENTS COMMUNICATED ACROSS THE NET
+
+==========================================================
+*/
+
+#define ANGLE2SHORT(x) ((int)((x)*65536/360) & 65535)
+#define SHORT2ANGLE(x) ((x)*(360.0/65536))
+
+
+//
+// config strings are a general means of communication from
+// the server to all connected clients.
+// Each config string can be at most MAX_QPATH characters.
+//
+#define CS_NAME 0
+#define CS_CDTRACK 1
+#define CS_SKY 2
+#define CS_SKYAXIS 3 // %f %f %f format
+#define CS_SKYROTATE 4
+#define CS_STATUSBAR 5 // display program string
+
+#define CS_AIRACCEL 29 // air acceleration control
+#define CS_MAXCLIENTS 30
+#define CS_MAPCHECKSUM 31 // for catching cheater maps
+
+#define CS_MODELS 32
+#define CS_SOUNDS (CS_MODELS+MAX_MODELS)
+#define CS_IMAGES (CS_SOUNDS+MAX_SOUNDS)
+#define CS_LIGHTS (CS_IMAGES+MAX_IMAGES)
+#define CS_ITEMS (CS_LIGHTS+MAX_LIGHTSTYLES)
+#define CS_PLAYERSKINS (CS_ITEMS+MAX_ITEMS)
+#define CS_GENERAL (CS_PLAYERSKINS+MAX_CLIENTS)
+#define MAX_CONFIGSTRINGS (CS_GENERAL+MAX_GENERAL)
+
+
+//==============================================
+
+
+// entity_state_t->event values
+// ertity events are for effects that take place reletive
+// to an existing entities origin. Very network efficient.
+// All muzzle flashes really should be converted to events...
+typedef enum
+{
+ EV_NONE,
+ EV_ITEM_RESPAWN,
+ EV_FOOTSTEP,
+ EV_FALLSHORT,
+ EV_FALL,
+ EV_FALLFAR,
+ EV_PLAYER_TELEPORT,
+ EV_OTHER_TELEPORT
+} entity_event_t;
+
+
+// entity_state_t is the information conveyed from the server
+// in an update message about entities that the client will
+// need to render in some way
+typedef struct entity_state_s
+{
+ int number; // edict index
+
+ vec3_t origin;
+ vec3_t angles;
+ vec3_t old_origin; // for lerping
+ int modelindex;
+ int modelindex2, modelindex3, modelindex4; // weapons, CTF flags, etc
+ int frame;
+ int skinnum;
+ unsigned int effects; // PGM - we're filling it, so it needs to be unsigned
+ int renderfx;
+ int solid; // for client side prediction, 8*(bits 0-4) is x/y radius
+ // 8*(bits 5-9) is z down distance, 8(bits10-15) is z up
+ // gi.linkentity sets this properly
+ int sound; // for looping sounds, to guarantee shutoff
+ int event; // impulse events -- muzzle flashes, footsteps, etc
+ // events only go out for a single frame, they
+ // are automatically cleared each frame
+} entity_state_t;
+
+//==============================================
+
+
+// player_state_t is the information needed in addition to pmove_state_t
+// to rendered a view. There will only be 10 player_state_t sent each second,
+// but the number of pmove_state_t changes will be reletive to client
+// frame rates
+typedef struct
+{
+ pmove_state_t pmove; // for prediction
+
+ // these fields do not need to be communicated bit-precise
+
+ vec3_t viewangles; // for fixed views
+ vec3_t viewoffset; // add to pmovestate->origin
+ vec3_t kick_angles; // add to view direction to get render angles
+ // set by weapon kicks, pain effects, etc
+
+ vec3_t gunangles;
+ vec3_t gunoffset;
+ int gunindex;
+ int gunframe;
+
+ float blend[4]; // rgba full screen effect
+
+ float fov; // horizontal field of view
+
+ int rdflags; // refdef flags
+
+ short stats[MAX_STATS]; // fast status bar updates
+} player_state_t;
+
+
+// ==================
+// PGM
+#define VIDREF_GL 1
+#define VIDREF_SOFT 2
+#define VIDREF_OTHER 3
+
+extern int vidref_val;
+// PGM
+// ==================
--- a/qcommon/common.c
+++ b/qcommon/common.c
@@ -271,7 +271,7 @@
vec3_t bytedirs[NUMVERTEXNORMALS] =
{
-#include "../client/anorms.h"
+#include "../anorms.h"
};
//
--- a/qcommon/qcommon.h
+++ b/qcommon/qcommon.h
@@ -20,7 +20,7 @@
// qcommon.h -- definitions common between client and server, but not game.dll
-#include "../game/q_shared.h"
+#include "../q_shared.h"
#define VERSION 3.19
--- a/readme.txt
+++ /dev/null
@@ -1,29 +1,0 @@
-
-This is the complete source code for Quake 2, version 3.19, buildable with
-visual C++ 6.0. The linux version should be buildable, but we haven't
-tested it for the release.
-
-The code is all licensed under the terms of the GPL (gnu public license).
-You should read the entire license, but the gist of it is that you can do
-anything you want with the code, including sell your new version. The catch
-is that if you distribute new binary versions, you are required to make the
-entire source code available for free to everyone.
-
-The primary intent of this release is for entertainment and educational
-purposes, but the GPL does allow commercial exploitation if you obey the
-full license. If you want to do something commercial and you just can't bear
-to have your source changes released, we could still negotiate a separate
-license agreement (for $$$), but I would encourage you to just live with the
-GPL.
-
-All of the Q2 data files remain copyrighted and licensed under the
-original terms, so you cannot redistribute data from the original game, but if
-you do a true total conversion, you can create a standalone game based on
-this code.
-
-Thanks to Robert Duffy for doing the grunt work of building this release.
-
-John Carmack
-Id Software
-
-
--- a/ref_soft/anorms.h
+++ /dev/null
@@ -1,181 +1,0 @@
-/*
-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.
-
-*/
-{-0.525731, 0.000000, 0.850651},
-{-0.442863, 0.238856, 0.864188},
-{-0.295242, 0.000000, 0.955423},
-{-0.309017, 0.500000, 0.809017},
-{-0.162460, 0.262866, 0.951056},
-{0.000000, 0.000000, 1.000000},
-{0.000000, 0.850651, 0.525731},
-{-0.147621, 0.716567, 0.681718},
-{0.147621, 0.716567, 0.681718},
-{0.000000, 0.525731, 0.850651},
-{0.309017, 0.500000, 0.809017},
-{0.525731, 0.000000, 0.850651},
-{0.295242, 0.000000, 0.955423},
-{0.442863, 0.238856, 0.864188},
-{0.162460, 0.262866, 0.951056},
-{-0.681718, 0.147621, 0.716567},
-{-0.809017, 0.309017, 0.500000},
-{-0.587785, 0.425325, 0.688191},
-{-0.850651, 0.525731, 0.000000},
-{-0.864188, 0.442863, 0.238856},
-{-0.716567, 0.681718, 0.147621},
-{-0.688191, 0.587785, 0.425325},
-{-0.500000, 0.809017, 0.309017},
-{-0.238856, 0.864188, 0.442863},
-{-0.425325, 0.688191, 0.587785},
-{-0.716567, 0.681718, -0.147621},
-{-0.500000, 0.809017, -0.309017},
-{-0.525731, 0.850651, 0.000000},
-{0.000000, 0.850651, -0.525731},
-{-0.238856, 0.864188, -0.442863},
-{0.000000, 0.955423, -0.295242},
-{-0.262866, 0.951056, -0.162460},
-{0.000000, 1.000000, 0.000000},
-{0.000000, 0.955423, 0.295242},
-{-0.262866, 0.951056, 0.162460},
-{0.238856, 0.864188, 0.442863},
-{0.262866, 0.951056, 0.162460},
-{0.500000, 0.809017, 0.309017},
-{0.238856, 0.864188, -0.442863},
-{0.262866, 0.951056, -0.162460},
-{0.500000, 0.809017, -0.309017},
-{0.850651, 0.525731, 0.000000},
-{0.716567, 0.681718, 0.147621},
-{0.716567, 0.681718, -0.147621},
-{0.525731, 0.850651, 0.000000},
-{0.425325, 0.688191, 0.587785},
-{0.864188, 0.442863, 0.238856},
-{0.688191, 0.587785, 0.425325},
-{0.809017, 0.309017, 0.500000},
-{0.681718, 0.147621, 0.716567},
-{0.587785, 0.425325, 0.688191},
-{0.955423, 0.295242, 0.000000},
-{1.000000, 0.000000, 0.000000},
-{0.951056, 0.162460, 0.262866},
-{0.850651, -0.525731, 0.000000},
-{0.955423, -0.295242, 0.000000},
-{0.864188, -0.442863, 0.238856},
-{0.951056, -0.162460, 0.262866},
-{0.809017, -0.309017, 0.500000},
-{0.681718, -0.147621, 0.716567},
-{0.850651, 0.000000, 0.525731},
-{0.864188, 0.442863, -0.238856},
-{0.809017, 0.309017, -0.500000},
-{0.951056, 0.162460, -0.262866},
-{0.525731, 0.000000, -0.850651},
-{0.681718, 0.147621, -0.716567},
-{0.681718, -0.147621, -0.716567},
-{0.850651, 0.000000, -0.525731},
-{0.809017, -0.309017, -0.500000},
-{0.864188, -0.442863, -0.238856},
-{0.951056, -0.162460, -0.262866},
-{0.147621, 0.716567, -0.681718},
-{0.309017, 0.500000, -0.809017},
-{0.425325, 0.688191, -0.587785},
-{0.442863, 0.238856, -0.864188},
-{0.587785, 0.425325, -0.688191},
-{0.688191, 0.587785, -0.425325},
-{-0.147621, 0.716567, -0.681718},
-{-0.309017, 0.500000, -0.809017},
-{0.000000, 0.525731, -0.850651},
-{-0.525731, 0.000000, -0.850651},
-{-0.442863, 0.238856, -0.864188},
-{-0.295242, 0.000000, -0.955423},
-{-0.162460, 0.262866, -0.951056},
-{0.000000, 0.000000, -1.000000},
-{0.295242, 0.000000, -0.955423},
-{0.162460, 0.262866, -0.951056},
-{-0.442863, -0.238856, -0.864188},
-{-0.309017, -0.500000, -0.809017},
-{-0.162460, -0.262866, -0.951056},
-{0.000000, -0.850651, -0.525731},
-{-0.147621, -0.716567, -0.681718},
-{0.147621, -0.716567, -0.681718},
-{0.000000, -0.525731, -0.850651},
-{0.309017, -0.500000, -0.809017},
-{0.442863, -0.238856, -0.864188},
-{0.162460, -0.262866, -0.951056},
-{0.238856, -0.864188, -0.442863},
-{0.500000, -0.809017, -0.309017},
-{0.425325, -0.688191, -0.587785},
-{0.716567, -0.681718, -0.147621},
-{0.688191, -0.587785, -0.425325},
-{0.587785, -0.425325, -0.688191},
-{0.000000, -0.955423, -0.295242},
-{0.000000, -1.000000, 0.000000},
-{0.262866, -0.951056, -0.162460},
-{0.000000, -0.850651, 0.525731},
-{0.000000, -0.955423, 0.295242},
-{0.238856, -0.864188, 0.442863},
-{0.262866, -0.951056, 0.162460},
-{0.500000, -0.809017, 0.309017},
-{0.716567, -0.681718, 0.147621},
-{0.525731, -0.850651, 0.000000},
-{-0.238856, -0.864188, -0.442863},
-{-0.500000, -0.809017, -0.309017},
-{-0.262866, -0.951056, -0.162460},
-{-0.850651, -0.525731, 0.000000},
-{-0.716567, -0.681718, -0.147621},
-{-0.716567, -0.681718, 0.147621},
-{-0.525731, -0.850651, 0.000000},
-{-0.500000, -0.809017, 0.309017},
-{-0.238856, -0.864188, 0.442863},
-{-0.262866, -0.951056, 0.162460},
-{-0.864188, -0.442863, 0.238856},
-{-0.809017, -0.309017, 0.500000},
-{-0.688191, -0.587785, 0.425325},
-{-0.681718, -0.147621, 0.716567},
-{-0.442863, -0.238856, 0.864188},
-{-0.587785, -0.425325, 0.688191},
-{-0.309017, -0.500000, 0.809017},
-{-0.147621, -0.716567, 0.681718},
-{-0.425325, -0.688191, 0.587785},
-{-0.162460, -0.262866, 0.951056},
-{0.442863, -0.238856, 0.864188},
-{0.162460, -0.262866, 0.951056},
-{0.309017, -0.500000, 0.809017},
-{0.147621, -0.716567, 0.681718},
-{0.000000, -0.525731, 0.850651},
-{0.425325, -0.688191, 0.587785},
-{0.587785, -0.425325, 0.688191},
-{0.688191, -0.587785, 0.425325},
-{-0.955423, 0.295242, 0.000000},
-{-0.951056, 0.162460, 0.262866},
-{-1.000000, 0.000000, 0.000000},
-{-0.850651, 0.000000, 0.525731},
-{-0.955423, -0.295242, 0.000000},
-{-0.951056, -0.162460, 0.262866},
-{-0.864188, 0.442863, -0.238856},
-{-0.951056, 0.162460, -0.262866},
-{-0.809017, 0.309017, -0.500000},
-{-0.864188, -0.442863, -0.238856},
-{-0.951056, -0.162460, -0.262866},
-{-0.809017, -0.309017, -0.500000},
-{-0.681718, 0.147621, -0.716567},
-{-0.681718, -0.147621, -0.716567},
-{-0.850651, 0.000000, -0.525731},
-{-0.688191, 0.587785, -0.425325},
-{-0.587785, 0.425325, -0.688191},
-{-0.425325, 0.688191, -0.587785},
-{-0.425325, -0.688191, -0.587785},
-{-0.587785, -0.425325, -0.688191},
-{-0.688191, -0.587785, -0.425325},
--- a/ref_soft/asm_draw.h
+++ /dev/null
@@ -1,121 +1,0 @@
-//
-// asm_draw.h
-//
-// Include file for asm drawing routines.
-//
-
-//
-// !!! note that this file must match the corresponding C structures at all
-// times !!!
-//
-
-// !!! if this is changed, it must be changed in r_local.h too !!!
-#define NEAR_CLIP 0.01
-
-// !!! if this is changed, it must be changed in r_local.h too !!!
-#define CYCLE 128
-
-// espan_t structure
-// !!! if this is changed, it must be changed in r_shared.h too !!!
-#define espan_t_u 0
-#define espan_t_v 4
-#define espan_t_count 8
-#define espan_t_pnext 12
-#define espan_t_size 16
-
-// sspan_t structure
-// !!! if this is changed, it must be changed in d_local.h too !!!
-#define sspan_t_u 0
-#define sspan_t_v 4
-#define sspan_t_count 8
-#define sspan_t_pnext 12
-#define sspan_t_size 16
-
-// edge_t structure
-// !!! if this is changed, it must be changed in r_shared.h too !!!
-#define et_u 0
-#define et_u_step 4
-#define et_prev 8
-#define et_next 12
-#define et_surfs 16
-#define et_nextremove 20
-#define et_nearzi 24
-#define et_owner 28
-#define et_size 32
-
-// surf_t structure
-// !!! if this is changed, it must be changed in r_shared.h too !!!
-#define SURF_T_SHIFT 6
-#define st_next 0
-#define st_prev 4
-#define st_spans 8
-#define st_key 12
-#define st_last_u 16
-#define st_spanstate 20
-#define st_flags 24
-#define st_data 28
-#define st_entity 32
-#define st_nearzi 36
-#define st_insubmodel 40
-#define st_d_ziorigin 44
-#define st_d_zistepu 48
-#define st_d_zistepv 52
-#define st_pad 56
-#define st_size 64
-
-// clipplane_t structure
-// !!! if this is changed, it must be changed in r_local.h too !!!
-#define cp_normal 0
-#define cp_dist 12
-#define cp_next 16
-#define cp_leftedge 20
-#define cp_rightedge 21
-#define cp_reserved 22
-#define cp_size 24
-
-// medge_t structure
-// !!! if this is changed, it must be changed in model.h too !!!
-#define me_v 0
-#define me_cachededgeoffset 4
-#define me_size 8
-
-// mvertex_t structure
-// !!! if this is changed, it must be changed in model.h too !!!
-#define mv_position 0
-#define mv_size 12
-
-// refdef_t structure
-// !!! if this is changed, it must be changed in render.h too !!!
-#define rd_vrect 0
-#define rd_aliasvrect 20
-#define rd_vrectright 40
-#define rd_vrectbottom 44
-#define rd_aliasvrectright 48
-#define rd_aliasvrectbottom 52
-#define rd_vrectrightedge 56
-#define rd_fvrectx 60
-#define rd_fvrecty 64
-#define rd_fvrectx_adj 68
-#define rd_fvrecty_adj 72
-#define rd_vrect_x_adj_shift20 76
-#define rd_vrectright_adj_shift20 80
-#define rd_fvrectright_adj 84
-#define rd_fvrectbottom_adj 88
-#define rd_fvrectright 92
-#define rd_fvrectbottom 96
-#define rd_horizontalFieldOfView 100
-#define rd_xOrigin 104
-#define rd_yOrigin 108
-#define rd_vieworg 112
-#define rd_viewangles 124
-#define rd_ambientlight 136
-#define rd_size 140
-
-// mtriangle_t structure
-// !!! if this is changed, it must be changed in model.h too !!!
-#define mtri_facesfront 0
-#define mtri_vertindex 4
-#define mtri_size 16 // !!! if this changes, array indexing in !!!
- // !!! d_polysa.s must be changed to match !!!
-#define mtri_shift 4
-
--- a/ref_soft/block16.inc
+++ /dev/null
@@ -1,116 +1,0 @@
-LEnter16_16:
- mov al,ds:byte ptr[esi]
- mov cl,ds:byte ptr[esi+ebx]
- mov ah,dh
- add edx,ebp
- mov ch,dh
- lea esi,ds:dword ptr[esi+ebx*2]
- mov ax,ds:word ptr[12345678h+eax*2]
-LBPatch0:
- add edx,ebp
- mov ds:word ptr[edi],ax
- mov cx,ds:word ptr[12345678h+ecx*2]
-LBPatch1:
- mov ds:word ptr[2+edi],cx
- add edi,04h
- mov al,ds:byte ptr[esi]
- mov cl,ds:byte ptr[esi+ebx]
- mov ah,dh
- add edx,ebp
- mov ch,dh
- lea esi,ds:dword ptr[esi+ebx*2]
- mov ax,ds:word ptr[12345678h+eax*2]
-LBPatch2:
- add edx,ebp
- mov ds:word ptr[edi],ax
- mov cx,ds:word ptr[12345678h+ecx*2]
-LBPatch3:
- mov ds:word ptr[2+edi],cx
- add edi,04h
- mov al,ds:byte ptr[esi]
- mov cl,ds:byte ptr[esi+ebx]
- mov ah,dh
- add edx,ebp
- mov ch,dh
- lea esi,ds:dword ptr[esi+ebx*2]
- mov ax,ds:word ptr[12345678h+eax*2]
-LBPatch4:
- add edx,ebp
- mov ds:word ptr[edi],ax
- mov cx,ds:word ptr[12345678h+ecx*2]
-LBPatch5:
- mov ds:word ptr[2+edi],cx
- add edi,04h
- mov al,ds:byte ptr[esi]
- mov cl,ds:byte ptr[esi+ebx]
- mov ah,dh
- add edx,ebp
- mov ch,dh
- lea esi,ds:dword ptr[esi+ebx*2]
- mov ax,ds:word ptr[12345678h+eax*2]
-LBPatch6:
- add edx,ebp
- mov ds:word ptr[edi],ax
- mov cx,ds:word ptr[12345678h+ecx*2]
-LBPatch7:
- mov ds:word ptr[2+edi],cx
- add edi,04h
-LEnter8_16:
- mov al,ds:byte ptr[esi]
- mov cl,ds:byte ptr[esi+ebx]
- mov ah,dh
- add edx,ebp
- mov ch,dh
- lea esi,ds:dword ptr[esi+ebx*2]
- mov ax,ds:word ptr[12345678h+eax*2]
-LBPatch8:
- add edx,ebp
- mov ds:word ptr[edi],ax
- mov cx,ds:word ptr[12345678h+ecx*2]
-LBPatch9:
- mov ds:word ptr[2+edi],cx
- add edi,04h
- mov al,ds:byte ptr[esi]
- mov cl,ds:byte ptr[esi+ebx]
- mov ah,dh
- add edx,ebp
- mov ch,dh
- lea esi,ds:dword ptr[esi+ebx*2]
- mov ax,ds:word ptr[12345678h+eax*2]
-LBPatch10:
- add edx,ebp
- mov ds:word ptr[edi],ax
- mov cx,ds:word ptr[12345678h+ecx*2]
-LBPatch11:
- mov ds:word ptr[2+edi],cx
- add edi,04h
-LEnter4_16:
- mov al,ds:byte ptr[esi]
- mov cl,ds:byte ptr[esi+ebx]
- mov ah,dh
- add edx,ebp
- mov ch,dh
- lea esi,ds:dword ptr[esi+ebx*2]
- mov ax,ds:word ptr[12345678h+eax*2]
-LBPatch12:
- add edx,ebp
- mov ds:word ptr[edi],ax
- mov cx,ds:word ptr[12345678h+ecx*2]
-LBPatch13:
- mov ds:word ptr[2+edi],cx
- add edi,04h
-LEnter2_16:
- mov al,ds:byte ptr[esi]
- mov cl,ds:byte ptr[esi+ebx]
- mov ah,dh
- add edx,ebp
- mov ch,dh
- lea esi,ds:dword ptr[esi+ebx*2]
- mov ax,ds:word ptr[12345678h+eax*2]
-LBPatch14:
- add edx,ebp
- mov ds:word ptr[edi],ax
- mov cx,ds:word ptr[12345678h+ecx*2]
-LBPatch15:
- mov ds:word ptr[2+edi],cx
- add edi,04h
--- a/ref_soft/block8.inc
+++ /dev/null
@@ -1,116 +1,0 @@
-LEnter16_16:
- mov al,ds:byte ptr[esi]
- mov cl,ds:byte ptr[esi+ebx]
- mov ah,dh
- add edx,ebp
- mov ch,dh
- lea esi,ds:dword ptr[esi+ebx*2]
- mov ax,ds:word ptr[12345678h+eax*2]
-LBPatch0:
- add edx,ebp
- mov ds:word ptr[edi],ax
- mov cx,ds:word ptr[12345678h+ecx*2]
-LBPatch1:
- mov ds:word ptr[2+edi],cx
- add edi,04h
- mov al,ds:byte ptr[esi]
- mov cl,ds:byte ptr[esi+ebx]
- mov ah,dh
- add edx,ebp
- mov ch,dh
- lea esi,ds:dword ptr[esi+ebx*2]
- mov ax,ds:word ptr[12345678h+eax*2]
-LBPatch2:
- add edx,ebp
- mov ds:word ptr[edi],ax
- mov cx,ds:word ptr[12345678h+ecx*2]
-LBPatch3:
- mov ds:word ptr[2+edi],cx
- add edi,04h
- mov al,ds:byte ptr[esi]
- mov cl,ds:byte ptr[esi+ebx]
- mov ah,dh
- add edx,ebp
- mov ch,dh
- lea esi,ds:dword ptr[esi+ebx*2]
- mov ax,ds:word ptr[12345678h+eax*2]
-LBPatch4:
- add edx,ebp
- mov ds:word ptr[edi],ax
- mov cx,ds:word ptr[12345678h+ecx*2]
-LBPatch5:
- mov ds:word ptr[2+edi],cx
- add edi,04h
- mov al,ds:byte ptr[esi]
- mov cl,ds:byte ptr[esi+ebx]
- mov ah,dh
- add edx,ebp
- mov ch,dh
- lea esi,ds:dword ptr[esi+ebx*2]
- mov ax,ds:word ptr[12345678h+eax*2]
-LBPatch6:
- add edx,ebp
- mov ds:word ptr[edi],ax
- mov cx,ds:word ptr[12345678h+ecx*2]
-LBPatch7:
- mov ds:word ptr[2+edi],cx
- add edi,04h
-LEnter8_16:
- mov al,ds:byte ptr[esi]
- mov cl,ds:byte ptr[esi+ebx]
- mov ah,dh
- add edx,ebp
- mov ch,dh
- lea esi,ds:dword ptr[esi+ebx*2]
- mov ax,ds:word ptr[12345678h+eax*2]
-LBPatch8:
- add edx,ebp
- mov ds:word ptr[edi],ax
- mov cx,ds:word ptr[12345678h+ecx*2]
-LBPatch9:
- mov ds:word ptr[2+edi],cx
- add edi,04h
- mov al,ds:byte ptr[esi]
- mov cl,ds:byte ptr[esi+ebx]
- mov ah,dh
- add edx,ebp
- mov ch,dh
- lea esi,ds:dword ptr[esi+ebx*2]
- mov ax,ds:word ptr[12345678h+eax*2]
-LBPatch10:
- add edx,ebp
- mov ds:word ptr[edi],ax
- mov cx,ds:word ptr[12345678h+ecx*2]
-LBPatch11:
- mov ds:word ptr[2+edi],cx
- add edi,04h
-LEnter4_16:
- mov al,ds:byte ptr[esi]
- mov cl,ds:byte ptr[esi+ebx]
- mov ah,dh
- add edx,ebp
- mov ch,dh
- lea esi,ds:dword ptr[esi+ebx*2]
- mov ax,ds:word ptr[12345678h+eax*2]
-LBPatch12:
- add edx,ebp
- mov ds:word ptr[edi],ax
- mov cx,ds:word ptr[12345678h+ecx*2]
-LBPatch13:
- mov ds:word ptr[2+edi],cx
- add edi,04h
-LEnter2_16:
- mov al,ds:byte ptr[esi]
- mov cl,ds:byte ptr[esi+ebx]
- mov ah,dh
- add edx,ebp
- mov ch,dh
- lea esi,ds:dword ptr[esi+ebx*2]
- mov ax,ds:word ptr[12345678h+eax*2]
-LBPatch14:
- add edx,ebp
- mov ds:word ptr[edi],ax
- mov cx,ds:word ptr[12345678h+ecx*2]
-LBPatch15:
- mov ds:word ptr[2+edi],cx
- add edi,04h
--- a/ref_soft/d_if.inc
+++ /dev/null
@@ -1,81 +1,0 @@
-;
-; d_ifacea.h
-;
-; Include file for asm driver interface.
-;
-
-;
-; !!! note that this file must match the corresponding C structures in
-; d_iface.h at all times !!!
-;
-
-; !!! if this is changed, it must be changed in r_shared.h too !!!
-ALIAS_ONSEAM equ 00020h
-
-; !!! if this is changed, it must be changed in d_iface.h too !!!
-TURB_TEX_SIZE equ 64
-
-; !!! if this is changed, it must be changed in d_iface.h too !!!
-CYCLE equ 128
-
-; !!! if this is changed, it must be changed in r_shared.h too !!!
-MAXHEIGHT equ 1024
-
-; !!! if this is changed, it must be changed in quakedef.h too !!!
-CACHE_SIZE equ 32
-
-; particle_t structure
-; !!! if this is changed, it must be changed in d_iface.h too !!!
-; driver-usable fields
-pt_org equ 0
-pt_color equ 12
-; drivers never touch the following fields
-pt_next equ 16
-pt_vel equ 20
-pt_ramp equ 32
-pt_die equ 36
-pt_type equ 40
-pt_size equ 44
-
-PARTICLE_Z_CLIP equ 8.0
-
-; finalvert_t structure
-; !!! if this is changed, it must be changed in d_iface.h too !!!
-fv_v equ 0 ; !!! if this is moved, cases where the !!!
- ; !!! address of this field is pushed in !!!
- ; !!! d_polysa.s must be changed !!!
-fv_flags equ 24
-fv_reserved equ 28
-fv_size equ 32
-fv_shift equ 5
-
-
-; stvert_t structure
-; !!! if this is changed, it must be changed in modelgen.h too !!!
-stv_onseam equ 0
-stv_s equ 4
-stv_t equ 8
-stv_size equ 12
-
-
-; trivertx_t structure
-; !!! if this is changed, it must be changed in modelgen.h too !!!
-tv_v equ 0
-tv_lightnormalindex equ 3
-tv_size equ 4
-
-; affinetridesc_t structure
-; !!! if this is changed, it must be changed in d_iface.h too !!!
-atd_pskin equ 0
-atd_pskindesc equ 4
-atd_skinwidth equ 8
-atd_skinheight equ 12
-atd_ptriangles equ 16
-atd_pfinalverts equ 20
-atd_numtriangles equ 24
-atd_drawtype equ 28
-atd_seamfixupX16 equ 32
-atd_do_vis_thresh equ 36
-atd_vis_thresh equ 40
-atd_size equ 44
-
--- a/ref_soft/d_ifacea.h
+++ /dev/null
@@ -1,76 +1,0 @@
-//
-// d_ifacea.h
-//
-// Include file for asm driver interface.
-//
-
-//
-// !!! note that this file must match the corresponding C structures in
-// d_iface.h at all times !!!
-//
-
-// !!! if this is changed, it must be changed in d_iface.h too !!!
-#define TURB_TEX_SIZE 64 // base turbulent texture size
-
-// !!! if this is changed, it must be changed in d_iface.h too !!!
-#define CYCLE 128
-
-// !!! if this is changed, it must be changed in r_shared.h too !!!
-#define MAXHEIGHT 1200
-
-// !!! if this is changed, it must be changed in qcommon.h too !!!
-#define CACHE_SIZE 32 // used to align key data structures
-
-// particle_t structure
-// !!! if this is changed, it must be changed in d_iface.h too !!!
-// driver-usable fields
-#define pt_org 0
-#define pt_color 12
-// drivers never touch the following fields
-#define pt_next 16
-#define pt_vel 20
-#define pt_ramp 32
-#define pt_die 36
-#define pt_type 40
-#define pt_size 44
-
-#define PARTICLE_Z_CLIP 8.0
-
-// finalvert_t structure
-// !!! if this is changed, it must be changed in d_iface.h too !!!
-#define fv_v 0 // !!! if this is moved, cases where the !!!
- // !!! address of this field is pushed in !!!
- // !!! d_polysa.s must be changed !!!
-#define fv_flags 24
-#define fv_reserved 28
-#define fv_size 32
-#define fv_shift 5
-
-
-// stvert_t structure
-// !!! if this is changed, it must be changed in modelgen.h too !!!
-#define stv_onseam 0
-#define stv_s 4
-#define stv_t 8
-#define stv_size 12
-
-
-// trivertx_t structure
-// !!! if this is changed, it must be changed in modelgen.h too !!!
-#define tv_v 0
-#define tv_lightnormalindex 3
-#define tv_size 4
-
-// affinetridesc_t structure
-// !!! if this is changed, it must be changed in d_iface.h too !!!
-#define atd_pskin 0
-#define atd_pskindesc 4
-#define atd_skinwidth 8
-#define atd_skinheight 12
-#define atd_ptriangles 16
-#define atd_pfinalverts 20
-#define atd_numtriangles 24
-#define atd_drawtype 28
-#define atd_seamfixupX16 32
-#define atd_size 36
-
--- a/ref_soft/qasm.inc
+++ /dev/null
@@ -1,435 +1,0 @@
-;
-; qasm.inc
-;
-; Include file for asm routines.
-;
-
-;
-; !!! note that this file must match the corresponding C structures at all
-; times !!!
-;
-
-; set to 0 to skip all asm code
-id386 equ 1
-
-; !!! must be kept the same as in d_iface.h !!!
-TRANSPARENT_COLOR equ 255
-
-ifndef GLQUAKE
- externdef _d_zistepu:dword
- externdef _d_pzbuffer:dword
- externdef _d_zistepv:dword
- externdef _d_zrowbytes:dword
- externdef _d_ziorigin:dword
- externdef _r_turb_s:dword
- externdef _r_turb_t:dword
- externdef _r_turb_pdest:dword
- externdef _r_turb_spancount:dword
- externdef _r_turb_turb:dword
- externdef _r_turb_pbase:dword
- externdef _r_turb_sstep:dword
- externdef _r_turb_tstep:dword
- externdef _r_bmodelactive:dword
- externdef _d_sdivzstepu:dword
- externdef _d_tdivzstepu:dword
- externdef _d_sdivzstepv:dword
- externdef _d_tdivzstepv:dword
- externdef _d_sdivzorigin:dword
- externdef _d_tdivzorigin:dword
- externdef _sadjust:dword
- externdef _tadjust:dword
- externdef _bbextents:dword
- externdef _bbextentt:dword
- externdef _cacheblock:dword
- externdef _d_viewbuffer:dword
- externdef _cachewidth:dword
- externdef _d_pzbuffer:dword
- externdef _d_zrowbytes:dword
- externdef _d_zwidth:dword
- externdef _d_scantable:dword
- externdef _r_lightptr:dword
- externdef _r_numvblocks:dword
- externdef _prowdestbase:dword
- externdef _pbasesource:dword
- externdef _r_lightwidth:dword
- externdef _lightright:dword
- externdef _lightrightstep:dword
- externdef _lightdeltastep:dword
- externdef _lightdelta:dword
- externdef _lightright:dword
- externdef _lightdelta:dword
- externdef _sourcetstep:dword
- externdef _surfrowbytes:dword
- externdef _lightrightstep:dword
- externdef _lightdeltastep:dword
- externdef _r_sourcemax:dword
- externdef _r_stepback:dword
- externdef _colormap:dword
- externdef _blocksize:dword
- externdef _sourcesstep:dword
- externdef _lightleft:dword
- externdef _blockdivshift:dword
- externdef _blockdivmask:dword
- externdef _lightleftstep:dword
- externdef _r_origin:dword
- externdef _r_ppn:dword
- externdef _r_pup:dword
- externdef _r_pright:dword
- externdef _ycenter:dword
- externdef _xcenter:dword
- externdef _d_vrectbottom_particle:dword
- externdef _d_vrectright_particle:dword
- externdef _d_vrecty:dword
- externdef _d_vrectx:dword
- externdef _d_pix_shift:dword
- externdef _d_pix_min:dword
- externdef _d_pix_max:dword
- externdef _d_y_aspect_shift:dword
- externdef _screenwidth:dword
- externdef _r_leftclipped:dword
- externdef _r_leftenter:dword
- externdef _r_rightclipped:dword
- externdef _r_rightenter:dword
- externdef _modelorg:dword
- externdef _xscale:dword
- externdef _r_refdef:dword
- externdef _yscale:dword
- externdef _r_leftexit:dword
- externdef _r_rightexit:dword
- externdef _r_lastvertvalid:dword
- externdef _cacheoffset:dword
- externdef _newedges:dword
- externdef _removeedges:dword
- externdef _r_pedge:dword
- externdef _r_framecount:dword
- externdef _r_u1:dword
- externdef _r_emitted:dword
- externdef _edge_p:dword
- externdef _surface_p:dword
- externdef _surfaces:dword
- externdef _r_lzi1:dword
- externdef _r_v1:dword
- externdef _r_ceilv1:dword
- externdef _r_nearzi:dword
- externdef _r_nearzionly:dword
- externdef _edge_aftertail:dword
- externdef _edge_tail:dword
- externdef _current_iv:dword
- externdef _edge_head_u_shift20:dword
- externdef _span_p:dword
- externdef _edge_head:dword
- externdef _fv:dword
- externdef _edge_tail_u_shift20:dword
- externdef _r_apverts:dword
- externdef _r_anumverts:dword
- externdef _aliastransform:dword
- externdef _r_avertexnormals:dword
- externdef _r_plightvec:dword
- externdef _r_ambientlight:dword
- externdef _r_shadelight:dword
- externdef _aliasxcenter:dword
- externdef _aliasycenter:dword
- externdef _a_sstepxfrac:dword
- externdef _r_affinetridesc:dword
- externdef _acolormap:dword
- externdef _d_pcolormap:dword
- externdef _r_affinetridesc:dword
- externdef _d_sfrac:dword
- externdef _d_ptex:dword
- externdef _d_pedgespanpackage:dword
- externdef _d_tfrac:dword
- externdef _d_light:dword
- externdef _d_zi:dword
- externdef _d_pdest:dword
- externdef _d_pz:dword
- externdef _d_aspancount:dword
- externdef _erroradjustup:dword
- externdef _errorterm:dword
- externdef _d_xdenom:dword
- externdef _r_p0:dword
- externdef _r_p1:dword
- externdef _r_p2:dword
- externdef _a_tstepxfrac:dword
- externdef _r_sstepx:dword
- externdef _r_tstepx:dword
- externdef _a_ststepxwhole:dword
- externdef _zspantable:dword
- externdef _skintable:dword
- externdef _r_zistepx:dword
- externdef _erroradjustdown:dword
- externdef _d_countextrastep:dword
- externdef _ubasestep:dword
- externdef _a_ststepxwhole:dword
- externdef _a_tstepxfrac:dword
- externdef _r_lstepx:dword
- externdef _a_spans:dword
- externdef _erroradjustdown:dword
- externdef _d_pdestextrastep:dword
- externdef _d_pzextrastep:dword
- externdef _d_sfracextrastep:dword
- externdef _d_ptexextrastep:dword
- externdef _d_countextrastep:dword
- externdef _d_tfracextrastep:dword
- externdef _d_lightextrastep:dword
- externdef _d_ziextrastep:dword
- externdef _d_pdestbasestep:dword
- externdef _d_pzbasestep:dword
- externdef _d_sfracbasestep:dword
- externdef _d_ptexbasestep:dword
- externdef _ubasestep:dword
- externdef _d_tfracbasestep:dword
- externdef _d_lightbasestep:dword
- externdef _d_zibasestep:dword
- externdef _zspantable:dword
- externdef _r_lstepy:dword
- externdef _r_sstepy:dword
- externdef _r_tstepy:dword
- externdef _r_zistepy:dword
- externdef _D_PolysetSetEdgeTable:dword
- externdef _D_RasterizeAliasPolySmooth:dword
-
- externdef float_point5:dword
- externdef Float2ToThe31nd:dword
- externdef izistep:dword
- externdef izi:dword
- externdef FloatMinus2ToThe31nd:dword
- externdef float_1:dword
- externdef float_particle_z_clip:dword
- externdef float_minus_1:dword
- externdef float_0:dword
- externdef fp_16:dword
- externdef fp_64k:dword
- externdef fp_1m:dword
- externdef fp_1m_minus_1:dword
- externdef fp_8 :dword
- externdef entryvec_table:dword
- externdef advancetable:dword
- externdef sstep:dword
- externdef tstep:dword
- externdef pspantemp:dword
- externdef counttemp:dword
- externdef jumptemp:dword
- externdef reciprocal_table:dword
- externdef DP_Count:dword
- externdef DP_u:dword
- externdef DP_v:dword
- externdef DP_32768:dword
- externdef DP_Color:dword
- externdef DP_Pix:dword
- externdef DP_EntryTable:dword
- externdef pbase:dword
- externdef s:dword
- externdef t:dword
- externdef sfracf:dword
- externdef tfracf:dword
- externdef snext:dword
- externdef tnext:dword
- externdef spancountminus1:dword
- externdef zi16stepu:dword
- externdef sdivz16stepu:dword
- externdef tdivz16stepu:dword
- externdef zi8stepu:dword
- externdef sdivz8stepu:dword
- externdef tdivz8stepu:dword
- externdef reciprocal_table_16:dword
- externdef entryvec_table_16:dword
- externdef fp_64kx64k:dword
- externdef pz:dword
- externdef spr8entryvec_table:dword
-endif
-
- externdef _fpu_ceil_cw:dword
- externdef _fpu_chop_cw:dword
- externdef _snd_scaletable:dword
- externdef _paintbuffer:dword
- externdef _snd_linear_count:dword
- externdef _snd_p:dword
- externdef _snd_vol:dword
- externdef _snd_out:dword
- externdef _vright:dword
- externdef _vup:dword
- externdef _vpn:dword
- externdef _BOPS_Error:dword
-
-; plane_t structure
-; !!! if this is changed, it must be changed in model.h too !!!
-; !!! if the size of this is changed, the array lookup in SV_HullPointContents
-; must be changed too !!!
-pl_normal equ 0
-pl_dist equ 12
-pl_type equ 16
-pl_signbits equ 17
-pl_pad equ 18
-pl_size equ 20
-
-; hull_t structure
-; !!! if this is changed, it must be changed in model.h too !!!
-hu_clipnodes equ 0
-hu_planes equ 4
-hu_firstclipnode equ 8
-hu_lastclipnode equ 12
-hu_clip_mins equ 16
-hu_clip_maxs equ 28
-hu_size equ 40
-
-; dnode_t structure
-; !!! if this is changed, it must be changed in bspfile.h too !!!
-nd_planenum equ 0
-nd_children equ 4
-nd_mins equ 8
-nd_maxs equ 20
-nd_firstface equ 32
-nd_numfaces equ 36
-nd_size equ 40
-
-; sfxcache_t structure
-; !!! if this is changed, it much be changed in sound.h too !!!
-sfxc_length equ 0
-sfxc_loopstart equ 4
-sfxc_speed equ 8
-sfxc_width equ 12
-sfxc_stereo equ 16
-sfxc_data equ 20
-
-; channel_t structure
-; !!! if this is changed, it much be changed in sound.h too !!!
-ch_sfx equ 0
-ch_leftvol equ 4
-ch_rightvol equ 8
-ch_end equ 12
-ch_pos equ 16
-ch_looping equ 20
-ch_entnum equ 24
-ch_entchannel equ 28
-ch_origin equ 32
-ch_dist_mult equ 44
-ch_master_vol equ 48
-ch_size equ 52
-
-; portable_samplepair_t structure
-; !!! if this is changed, it much be changed in sound.h too !!!
-psp_left equ 0
-psp_right equ 4
-psp_size equ 8
-
-; !!! if this is changed, it must be changed in r_local.h too !!!
-NEAR_CLIP equ 0.01
-
-; !!! if this is changed, it must be changed in r_local.h too !!!
-CYCLE equ 128
-
-; espan_t structure
-; !!! if this is changed, it must be changed in r_shared.h too !!!
-espan_t_u equ 0
-espan_t_v equ 4
-espan_t_count equ 8
-espan_t_pnext equ 12
-espan_t_size equ 16
-
-; sspan_t structure
-; !!! if this is changed, it must be changed in d_local.h too !!!
-sspan_t_u equ 0
-sspan_t_v equ 4
-sspan_t_count equ 8
-sspan_t_size equ 12
-
-; spanpackage_t structure
-; !!! if this is changed, it must be changed in d_polyset.c too !!!
-spanpackage_t_pdest equ 0
-spanpackage_t_pz equ 4
-spanpackage_t_count equ 8
-spanpackage_t_ptex equ 12
-spanpackage_t_sfrac equ 16
-spanpackage_t_tfrac equ 20
-spanpackage_t_light equ 24
-spanpackage_t_zi equ 28
-spanpackage_t_size equ 32
-
-; edge_t structure
-; !!! if this is changed, it must be changed in r_shared.h too !!!
-et_u equ 0
-et_u_step equ 4
-et_prev equ 8
-et_next equ 12
-et_surfs equ 16
-et_nextremove equ 20
-et_nearzi equ 24
-et_owner equ 28
-et_size equ 32
-
-; surf_t structure
-; !!! if this is changed, it must be changed in r_shared.h too !!!
-SURF_T_SHIFT equ 6
-st_next equ 0
-st_prev equ 4
-st_spans equ 8
-st_key equ 12
-st_last_u equ 16
-st_spanstate equ 20
-st_flags equ 24
-st_data equ 28
-st_entity equ 32
-st_nearzi equ 36
-st_insubmodel equ 40
-st_d_ziorigin equ 44
-st_d_zistepu equ 48
-st_d_zistepv equ 52
-st_pad equ 56
-st_size equ 64
-
-; clipplane_t structure
-; !!! if this is changed, it must be changed in r_local.h too !!!
-cp_normal equ 0
-cp_dist equ 12
-cp_next equ 16
-cp_leftedge equ 20
-cp_rightedge equ 21
-cp_reserved equ 22
-cp_size equ 24
-
-; medge_t structure
-; !!! if this is changed, it must be changed in model.h too !!!
-me_v equ 0
-me_cachededgeoffset equ 4
-me_size equ 8
-
-; mvertex_t structure
-; !!! if this is changed, it must be changed in model.h too !!!
-mv_position equ 0
-mv_size equ 12
-
-; refdef_t structure
-; !!! if this is changed, it must be changed in render.h too !!!
-rd_vrect equ 0
-rd_aliasvrect equ 20
-rd_vrectright equ 40
-rd_vrectbottom equ 44
-rd_aliasvrectright equ 48
-rd_aliasvrectbottom equ 52
-rd_vrectrightedge equ 56
-rd_fvrectx equ 60
-rd_fvrecty equ 64
-rd_fvrectx_adj equ 68
-rd_fvrecty_adj equ 72
-rd_vrect_x_adj_shift20 equ 76
-rd_vrectright_adj_shift20 equ 80
-rd_fvrectright_adj equ 84
-rd_fvrectbottom_adj equ 88
-rd_fvrectright equ 92
-rd_fvrectbottom equ 96
-rd_horizontalFieldOfView equ 100
-rd_xOrigin equ 104
-rd_yOrigin equ 108
-rd_vieworg equ 112
-rd_viewangles equ 124
-rd_ambientlight equ 136
-rd_size equ 140
-
-; mtriangle_t structure
-; !!! if this is changed, it must be changed in model.h too !!!
-mtri_facesfront equ 0
-mtri_vertindex equ 4
-mtri_size equ 16 ; !!! if this changes, array indexing in !!!
- ; !!! d_polysa.s must be changed to match !!!
-mtri_shift equ 4
-
--- a/ref_soft/r_aclipa.asm
+++ /dev/null
@@ -1,200 +1,0 @@
- .386P
- .model FLAT
-;
-; r_aliasa.s
-; x86 assembly-language Alias model transform and project code.
-;
-
-include qasm.inc
-include d_if.inc
-
-if id386
-
-_DATA SEGMENT
-Ltemp0 dd 0
-Ltemp1 dd 0
-
-_DATA ENDS
-_TEXT SEGMENT
-
-pfv0 equ 8+4
-pfv1 equ 8+8
-outparm equ 8+12
-
- public _R_Alias_clip_bottom
-_R_Alias_clip_bottom:
- push esi
- push edi
-
- mov esi,ds:dword ptr[pfv0+esp]
- mov edi,ds:dword ptr[pfv1+esp]
-
- mov eax,ds:dword ptr[_r_refdef+rd_aliasvrectbottom]
-
-LDoForwardOrBackward:
-
- mov edx,ds:dword ptr[fv_v+4+esi]
- mov ecx,ds:dword ptr[fv_v+4+edi]
-
- cmp edx,ecx
- jl LDoForward
-
- mov ecx,ds:dword ptr[fv_v+4+esi]
- mov edx,ds:dword ptr[fv_v+4+edi]
- mov edi,ds:dword ptr[pfv0+esp]
- mov esi,ds:dword ptr[pfv1+esp]
-
-LDoForward:
-
- sub ecx,edx
- sub eax,edx
- mov ds:dword ptr[Ltemp1],ecx
- mov ds:dword ptr[Ltemp0],eax
- fild ds:dword ptr[Ltemp1]
- fild ds:dword ptr[Ltemp0]
- mov edx,ds:dword ptr[outparm+esp]
- mov eax,2
-
- fdivrp st(1),st(0) ; scale
-
-LDo3Forward:
- fild ds:dword ptr[fv_v+0+esi] ; fv0v0 | scale
- fild ds:dword ptr[fv_v+0+edi] ; fv1v0 | fv0v0 | scale
- fild ds:dword ptr[fv_v+4+esi] ; fv0v1 | fv1v0 | fv0v0 | scale
- fild ds:dword ptr[fv_v+4+edi] ; fv1v1 | fv0v1 | fv1v0 | fv0v0 | scale
- fild ds:dword ptr[fv_v+8+esi] ; fv0v2 | fv1v1 | fv0v1 | fv1v0 | fv0v0 | scale
- fild ds:dword ptr[fv_v+8+edi] ; fv1v2 | fv0v2 | fv1v1 | fv0v1 | fv1v0 | fv0v0 |
-; scale
- fxch st(5) ; fv0v0 | fv0v2 | fv1v1 | fv0v1 | fv1v0 | fv1v2 |
-; scale
- fsub st(4),st(0) ; fv0v0 | fv0v2 | fv1v1 | fv0v1 | fv1v0-fv0v0 |
-; fv1v2 | scale
- fxch st(3) ; fv0v1 | fv0v2 | fv1v1 | fv0v0 | fv1v0-fv0v0 |
-; fv1v2 | scale
- fsub st(2),st(0) ; fv0v1 | fv0v2 | fv1v1-fv0v1 | fv0v0 |
-; fv1v0-fv0v0 | fv1v2 | scale
- fxch st(1) ; fv0v2 | fv0v1 | fv1v1-fv0v1 | fv0v0 |
-; fv1v0-fv0v0 | fv1v2 | scale
- fsub st(5),st(0) ; fv0v2 | fv0v1 | fv1v1-fv0v1 | fv0v0 |
-; fv1v0-fv0v0 | fv1v2-fv0v2 | scale
- fxch st(6) ; scale | fv0v1 | fv1v1-fv0v1 | fv0v0 |
-; fv1v0-fv0v0 | fv1v2-fv0v2 | fv0v2
- fmul st(4),st(0) ; scale | fv0v1 | fv1v1-fv0v1 | fv0v0 |
-; (fv1v0-fv0v0)*scale | fv1v2-fv0v2 | fv0v2
- add edi,12
- fmul st(2),st(0) ; scale | fv0v1 | (fv1v1-fv0v1)*scale | fv0v0 |
-; (fv1v0-fv0v0)*scale | fv1v2-fv0v2 | fv0v2
- add esi,12
- add edx,12
- fmul st(5),st(0) ; scale | fv0v1 | (fv1v1-fv0v1)*scale | fv0v0 |
-; (fv1v0-fv0v0)*scale | (fv1v2-fv0v2)*scale |
-; fv0v2
- fxch st(3) ; fv0v0 | fv0v1 | (fv1v1-fv0v1)*scale | scale |
-; (fv1v0-fv0v0)*scale | (fv1v2-fv0v2)*scale |
-; fv0v2
- faddp st(4),st(0) ; fv0v1 | (fv1v1-fv0v1)*scale | scale |
-; fv0v0+(fv1v0-fv0v0)*scale |
-; (fv1v2-fv0v2)*scale | fv0v2
- faddp st(1),st(0) ; fv0v1+(fv1v1-fv0v1)*scale | scale |
-; fv0v0+(fv1v0-fv0v0)*scale |
-; (fv1v2-fv0v2)*scale | fv0v2
- fxch st(4) ; fv0v2 | scale | fv0v0+(fv1v0-fv0v0)*scale |
-; (fv1v2-fv0v2)*scale | fv0v1+(fv1v1-fv0v1)*scale
- faddp st(3),st(0) ; scale | fv0v0+(fv1v0-fv0v0)*scale |
-; fv0v2+(fv1v2-fv0v2)*scale |
-; fv0v1+(fv1v1-fv0v1)*scale
- fxch st(1) ; fv0v0+(fv1v0-fv0v0)*scale | scale |
-; fv0v2+(fv1v2-fv0v2)*scale |
-; fv0v1+(fv1v1-fv0v1)*scale
- fadd ds:dword ptr[float_point5]
- fxch st(3) ; fv0v1+(fv1v1-fv0v1)*scale | scale |
-; fv0v2+(fv1v2-fv0v2)*scale |
-; fv0v0+(fv1v0-fv0v0)*scale
- fadd ds:dword ptr[float_point5]
- fxch st(2) ; fv0v2+(fv1v2-fv0v2)*scale | scale |
-; fv0v1+(fv1v1-fv0v1)*scale |
-; fv0v0+(fv1v0-fv0v0)*scale
- fadd ds:dword ptr[float_point5]
- fxch st(3) ; fv0v0+(fv1v0-fv0v0)*scale | scale |
-; fv0v1+(fv1v1-fv0v1)*scale |
-; fv0v2+(fv1v2-fv0v2)*scale
- fistp ds:dword ptr[fv_v+0-12+edx] ; scale | fv0v1+(fv1v1-fv0v1)*scale |
-; fv0v2+(fv1v2-fv0v2)*scale
- fxch st(1) ; fv0v1+(fv1v1-fv0v1)*scale | scale |
-; fv0v2+(fv1v2-fv0v2)*scale | scale
- fistp ds:dword ptr[fv_v+4-12+edx] ; scale | fv0v2+(fv1v2-fv0v2)*scale
- fxch st(1) ; fv0v2+(fv1v2-fv0v2)*sc | scale
- fistp ds:dword ptr[fv_v+8-12+edx] ; scale
-
- dec eax
- jnz LDo3Forward
-
- fstp st(0)
-
- pop edi
- pop esi
-
- ret
-
-
- public _R_Alias_clip_top
-_R_Alias_clip_top:
- push esi
- push edi
-
- mov esi,ds:dword ptr[pfv0+esp]
- mov edi,ds:dword ptr[pfv1+esp]
-
- mov eax,ds:dword ptr[_r_refdef+rd_aliasvrect+4]
- jmp LDoForwardOrBackward
-
-
-
- public _R_Alias_clip_right
-_R_Alias_clip_right:
- push esi
- push edi
-
- mov esi,ds:dword ptr[pfv0+esp]
- mov edi,ds:dword ptr[pfv1+esp]
-
- mov eax,ds:dword ptr[_r_refdef+rd_aliasvrectright]
-
-LRightLeftEntry:
-
-
- mov edx,ds:dword ptr[fv_v+4+esi]
- mov ecx,ds:dword ptr[fv_v+4+edi]
-
- cmp edx,ecx
- mov edx,ds:dword ptr[fv_v+0+esi]
-
- mov ecx,ds:dword ptr[fv_v+0+edi]
- jl LDoForward2
-
- mov ecx,ds:dword ptr[fv_v+0+esi]
- mov edx,ds:dword ptr[fv_v+0+edi]
- mov edi,ds:dword ptr[pfv0+esp]
- mov esi,ds:dword ptr[pfv1+esp]
-
-LDoForward2:
-
- jmp LDoForward
-
-
- public _R_Alias_clip_left
-_R_Alias_clip_left:
- push esi
- push edi
-
- mov esi,ds:dword ptr[pfv0+esp]
- mov edi,ds:dword ptr[pfv1+esp]
-
- mov eax,ds:dword ptr[_r_refdef+rd_aliasvrect+0]
- jmp LRightLeftEntry
-
-
-
-_TEXT ENDS
-endif ;id386
- END
--- a/ref_soft/r_alias.c
+++ b/ref_soft/r_alias.c
@@ -58,7 +58,7 @@
#define NUMVERTEXNORMALS 162
float r_avertexnormals[NUMVERTEXNORMALS][3] = {
-#include "anorms.h"
+#include "../anorms.h"
};
--- a/ref_soft/r_draw16.asm
+++ /dev/null
@@ -1,1234 +1,0 @@
- .386P
- .model FLAT
-;
-; d_draw16.s
-; x86 assembly-language horizontal 8-bpp span-drawing code, with 16-pixel
-; subdivision.
-;
-
-include qasm.inc
-include d_if.inc
-
-if id386
-
-;----------------------------------------------------------------------
-; 8-bpp horizontal span drawing code for polygons, with no transparency and
-; 16-pixel subdivision.
-;
-; Assumes there is at least one span in pspans, and that every span
-; contains at least one pixel
-;----------------------------------------------------------------------
-
-_DATA SEGMENT
-
-_DATA ENDS
-_TEXT SEGMENT
-
-; out-of-line, rarely-needed clamping code
-
-LClampHigh0:
- mov esi,ds:dword ptr[_bbextents]
- jmp LClampReentry0
-LClampHighOrLow0:
- jg LClampHigh0
- xor esi,esi
- jmp LClampReentry0
-
-LClampHigh1:
- mov edx,ds:dword ptr[_bbextentt]
- jmp LClampReentry1
-LClampHighOrLow1:
- jg LClampHigh1
- xor edx,edx
- jmp LClampReentry1
-
-LClampLow2:
- mov ebp,4096
- jmp LClampReentry2
-LClampHigh2:
- mov ebp,ds:dword ptr[_bbextents]
- jmp LClampReentry2
-
-LClampLow3:
- mov ecx,4096
- jmp LClampReentry3
-LClampHigh3:
- mov ecx,ds:dword ptr[_bbextentt]
- jmp LClampReentry3
-
-LClampLow4:
- mov eax,4096
- jmp LClampReentry4
-LClampHigh4:
- mov eax,ds:dword ptr[_bbextents]
- jmp LClampReentry4
-
-LClampLow5:
- mov ebx,4096
- jmp LClampReentry5
-LClampHigh5:
- mov ebx,ds:dword ptr[_bbextentt]
- jmp LClampReentry5
-
-
-pspans equ 4+16
-
- align 4
- public _D_DrawSpans16
-_D_DrawSpans16:
- push ebp ; preserve caller's stack frame
- push edi
- push esi ; preserve register variables
- push ebx
-
-;
-; set up scaled-by-16 steps, for 16-long segments; also set up cacheblock
-; and span list pointers
-;
-; TODO: any overlap from rearranging?
- fld ds:dword ptr[_d_sdivzstepu]
- fmul ds:dword ptr[fp_16]
- mov edx,ds:dword ptr[_cacheblock]
- fld ds:dword ptr[_d_tdivzstepu]
- fmul ds:dword ptr[fp_16]
- mov ebx,ds:dword ptr[pspans+esp] ; point to the first span descriptor
- fld ds:dword ptr[_d_zistepu]
- fmul ds:dword ptr[fp_16]
- mov ds:dword ptr[pbase],edx ; pbase = cacheblock
- fstp ds:dword ptr[zi16stepu]
- fstp ds:dword ptr[tdivz16stepu]
- fstp ds:dword ptr[sdivz16stepu]
-
-LSpanLoop:
-;
-; set up the initial s/z, t/z, and 1/z on the FP stack, and generate the
-; initial s and t values
-;
-; FIXME: pipeline FILD?
- fild ds:dword ptr[espan_t_v+ebx]
- fild ds:dword ptr[espan_t_u+ebx]
-
- fld st(1) ; dv | du | dv
- fmul ds:dword ptr[_d_sdivzstepv] ; dv*d_sdivzstepv | du | dv
- fld st(1) ; du | dv*d_sdivzstepv | du | dv
- fmul ds:dword ptr[_d_sdivzstepu] ; du*d_sdivzstepu | dv*d_sdivzstepv | du | dv
- fld st(2) ; du | du*d_sdivzstepu | dv*d_sdivzstepv | du | dv
- fmul ds:dword ptr[_d_tdivzstepu] ; du*d_tdivzstepu | du*d_sdivzstepu |
-; dv*d_sdivzstepv | du | dv
- fxch st(1) ; du*d_sdivzstepu | du*d_tdivzstepu |
-; dv*d_sdivzstepv | du | dv
- faddp st(2),st(0) ; du*d_tdivzstepu |
-; du*d_sdivzstepu + dv*d_sdivzstepv | du | dv
- fxch st(1) ; du*d_sdivzstepu + dv*d_sdivzstepv |
-; du*d_tdivzstepu | du | dv
- fld st(3) ; dv | du*d_sdivzstepu + dv*d_sdivzstepv |
-; du*d_tdivzstepu | du | dv
- fmul ds:dword ptr[_d_tdivzstepv] ; dv*d_tdivzstepv |
-; du*d_sdivzstepu + dv*d_sdivzstepv |
-; du*d_tdivzstepu | du | dv
- fxch st(1) ; du*d_sdivzstepu + dv*d_sdivzstepv |
-; dv*d_tdivzstepv | du*d_tdivzstepu | du | dv
- fadd ds:dword ptr[_d_sdivzorigin] ; sdivz = d_sdivzorigin + dv*d_sdivzstepv +
-; du*d_sdivzstepu; stays in %st(2) at end
- fxch st(4) ; dv | dv*d_tdivzstepv | du*d_tdivzstepu | du |
-; s/z
- fmul ds:dword ptr[_d_zistepv] ; dv*d_zistepv | dv*d_tdivzstepv |
-; du*d_tdivzstepu | du | s/z
- fxch st(1) ; dv*d_tdivzstepv | dv*d_zistepv |
-; du*d_tdivzstepu | du | s/z
- faddp st(2),st(0) ; dv*d_zistepv |
-; dv*d_tdivzstepv + du*d_tdivzstepu | du | s/z
- fxch st(2) ; du | dv*d_tdivzstepv + du*d_tdivzstepu |
-; dv*d_zistepv | s/z
- fmul ds:dword ptr[_d_zistepu] ; du*d_zistepu |
-; dv*d_tdivzstepv + du*d_tdivzstepu |
-; dv*d_zistepv | s/z
- fxch st(1) ; dv*d_tdivzstepv + du*d_tdivzstepu |
-; du*d_zistepu | dv*d_zistepv | s/z
- fadd ds:dword ptr[_d_tdivzorigin] ; tdivz = d_tdivzorigin + dv*d_tdivzstepv +
-; du*d_tdivzstepu; stays in %st(1) at end
- fxch st(2) ; dv*d_zistepv | du*d_zistepu | t/z | s/z
- faddp st(1),st(0) ; dv*d_zistepv + du*d_zistepu | t/z | s/z
-
- fld ds:dword ptr[fp_64k] ; fp_64k | dv*d_zistepv + du*d_zistepu | t/z | s/z
- fxch st(1) ; dv*d_zistepv + du*d_zistepu | fp_64k | t/z | s/z
- fadd ds:dword ptr[_d_ziorigin] ; zi = d_ziorigin + dv*d_zistepv +
-; du*d_zistepu; stays in %st(0) at end
-; 1/z | fp_64k | t/z | s/z
-;
-; calculate and clamp s & t
-;
- fdiv st(1),st(0) ; 1/z | z*64k | t/z | s/z
-
-;
-; point %edi to the first pixel in the span
-;
- mov ecx,ds:dword ptr[_d_viewbuffer]
- mov eax,ds:dword ptr[espan_t_v+ebx]
- mov ds:dword ptr[pspantemp],ebx ; preserve spans pointer
-
- mov edx,ds:dword ptr[_tadjust]
- mov esi,ds:dword ptr[_sadjust]
- mov edi,ds:dword ptr[_d_scantable+eax*4] ; v * screenwidth
- add edi,ecx
- mov ecx,ds:dword ptr[espan_t_u+ebx]
- add edi,ecx ; pdest = &pdestspan[scans->u];
- mov ecx,ds:dword ptr[espan_t_count+ebx]
-
-;
-; now start the FDIV for the end of the span
-;
- cmp ecx,16
- ja LSetupNotLast1
-
- dec ecx
- jz LCleanup1 ; if only one pixel, no need to start an FDIV
- mov ds:dword ptr[spancountminus1],ecx
-
-; finish up the s and t calcs
- fxch st(1) ; z*64k | 1/z | t/z | s/z
-
- fld st(0) ; z*64k | z*64k | 1/z | t/z | s/z
- fmul st(0),st(4) ; s | z*64k | 1/z | t/z | s/z
- fxch st(1) ; z*64k | s | 1/z | t/z | s/z
- fmul st(0),st(3) ; t | s | 1/z | t/z | s/z
- fxch st(1) ; s | t | 1/z | t/z | s/z
- fistp ds:dword ptr[s] ; 1/z | t | t/z | s/z
- fistp ds:dword ptr[t] ; 1/z | t/z | s/z
-
- fild ds:dword ptr[spancountminus1]
-
- fld ds:dword ptr[_d_tdivzstepu] ; C(d_tdivzstepu) | spancountminus1
- fld ds:dword ptr[_d_zistepu] ; C(d_zistepu) | C(d_tdivzstepu) | spancountminus1
- fmul st(0),st(2) ; C(d_zistepu)*scm1 | C(d_tdivzstepu) | scm1
- fxch st(1) ; C(d_tdivzstepu) | C(d_zistepu)*scm1 | scm1
- fmul st(0),st(2) ; C(d_tdivzstepu)*scm1 | C(d_zistepu)*scm1 | scm1
- fxch st(2) ; scm1 | C(d_zistepu)*scm1 | C(d_tdivzstepu)*scm1
- fmul ds:dword ptr[_d_sdivzstepu] ; C(d_sdivzstepu)*scm1 | C(d_zistepu)*scm1 |
-; C(d_tdivzstepu)*scm1
- fxch st(1) ; C(d_zistepu)*scm1 | C(d_sdivzstepu)*scm1 |
-; C(d_tdivzstepu)*scm1
- faddp st(3),st(0) ; C(d_sdivzstepu)*scm1 | C(d_tdivzstepu)*scm1
- fxch st(1) ; C(d_tdivzstepu)*scm1 | C(d_sdivzstepu)*scm1
- faddp st(3),st(0) ; C(d_sdivzstepu)*scm1
- faddp st(3),st(0)
-
- fld ds:dword ptr[fp_64k]
- fdiv st(0),st(1) ; this is what we've gone to all this trouble to
-; overlap
- jmp LFDIVInFlight1
-
-LCleanup1:
-; finish up the s and t calcs
- fxch st(1) ; z*64k | 1/z | t/z | s/z
-
- fld st(0) ; z*64k | z*64k | 1/z | t/z | s/z
- fmul st(0),st(4) ; s | z*64k | 1/z | t/z | s/z
- fxch st(1) ; z*64k | s | 1/z | t/z | s/z
- fmul st(0),st(3) ; t | s | 1/z | t/z | s/z
- fxch st(1) ; s | t | 1/z | t/z | s/z
- fistp ds:dword ptr[s] ; 1/z | t | t/z | s/z
- fistp ds:dword ptr[t] ; 1/z | t/z | s/z
- jmp LFDIVInFlight1
-
- align 4
-LSetupNotLast1:
-; finish up the s and t calcs
- fxch st(1) ; z*64k | 1/z | t/z | s/z
-
- fld st(0) ; z*64k | z*64k | 1/z | t/z | s/z
- fmul st(0),st(4) ; s | z*64k | 1/z | t/z | s/z
- fxch st(1) ; z*64k | s | 1/z | t/z | s/z
- fmul st(0),st(3) ; t | s | 1/z | t/z | s/z
- fxch st(1) ; s | t | 1/z | t/z | s/z
- fistp ds:dword ptr[s] ; 1/z | t | t/z | s/z
- fistp ds:dword ptr[t] ; 1/z | t/z | s/z
-
- fadd ds:dword ptr[zi16stepu]
- fxch st(2)
- fadd ds:dword ptr[sdivz16stepu]
- fxch st(2)
- fld ds:dword ptr[tdivz16stepu]
- faddp st(2),st(0)
- fld ds:dword ptr[fp_64k]
- fdiv st(0),st(1) ; z = 1/1/z
-; this is what we've gone to all this trouble to
-; overlap
-LFDIVInFlight1:
-
- add esi,ds:dword ptr[s]
- add edx,ds:dword ptr[t]
- mov ebx,ds:dword ptr[_bbextents]
- mov ebp,ds:dword ptr[_bbextentt]
- cmp esi,ebx
- ja LClampHighOrLow0
-LClampReentry0:
- mov ds:dword ptr[s],esi
- mov ebx,ds:dword ptr[pbase]
- shl esi,16
- cmp edx,ebp
- mov ds:dword ptr[sfracf],esi
- ja LClampHighOrLow1
-LClampReentry1:
- mov ds:dword ptr[t],edx
- mov esi,ds:dword ptr[s] ; sfrac = scans->sfrac;
- shl edx,16
- mov eax,ds:dword ptr[t] ; tfrac = scans->tfrac;
- sar esi,16
- mov ds:dword ptr[tfracf],edx
-
-;
-; calculate the texture starting address
-;
- sar eax,16
- mov edx,ds:dword ptr[_cachewidth]
- imul eax,edx ; (tfrac >> 16) * cachewidth
- add esi,ebx
- add esi,eax ; psource = pbase + (sfrac >> 16) +
-; ((tfrac >> 16) * cachewidth);
-;
-; determine whether last span or not
-;
- cmp ecx,16
- jna LLastSegment
-
-;
-; not the last segment; do full 16-wide segment
-;
-LNotLastSegment:
-
-;
-; advance s/z, t/z, and 1/z, and calculate s & t at end of span and steps to
-; get there
-;
-
-; pick up after the FDIV that was left in flight previously
-
- fld st(0) ; duplicate it
- fmul st(0),st(4) ; s = s/z * z
- fxch st(1)
- fmul st(0),st(3) ; t = t/z * z
- fxch st(1)
- fistp ds:dword ptr[snext]
- fistp ds:dword ptr[tnext]
- mov eax,ds:dword ptr[snext]
- mov edx,ds:dword ptr[tnext]
-
- mov bl,ds:byte ptr[esi] ; get first source texel
- sub ecx,16 ; count off this segments' pixels
- mov ebp,ds:dword ptr[_sadjust]
- mov ds:dword ptr[counttemp],ecx ; remember count of remaining pixels
-
- mov ecx,ds:dword ptr[_tadjust]
- mov ds:byte ptr[edi],bl ; store first dest pixel
-
- add ebp,eax
- add ecx,edx
-
- mov eax,ds:dword ptr[_bbextents]
- mov edx,ds:dword ptr[_bbextentt]
-
- cmp ebp,4096
- jl LClampLow2
- cmp ebp,eax
- ja LClampHigh2
-LClampReentry2:
-
- cmp ecx,4096
- jl LClampLow3
- cmp ecx,edx
- ja LClampHigh3
-LClampReentry3:
-
- mov ds:dword ptr[snext],ebp
- mov ds:dword ptr[tnext],ecx
-
- sub ebp,ds:dword ptr[s]
- sub ecx,ds:dword ptr[t]
-
-;
-; set up advancetable
-;
- mov eax,ecx
- mov edx,ebp
- sar eax,20 ; tstep >>= 16;
- jz LZero
- sar edx,20 ; sstep >>= 16;
- mov ebx,ds:dword ptr[_cachewidth]
- imul eax,ebx
- jmp LSetUp1
-
-LZero:
- sar edx,20 ; sstep >>= 16;
- mov ebx,ds:dword ptr[_cachewidth]
-
-LSetUp1:
-
- add eax,edx ; add in sstep
-; (tstep >> 16) * cachewidth + (sstep >> 16);
- mov edx,ds:dword ptr[tfracf]
- mov ds:dword ptr[advancetable+4],eax ; advance base in t
- add eax,ebx ; ((tstep >> 16) + 1) * cachewidth +
-; (sstep >> 16);
- shl ebp,12 ; left-justify sstep fractional part
- mov ebx,ds:dword ptr[sfracf]
- shl ecx,12 ; left-justify tstep fractional part
- mov ds:dword ptr[advancetable],eax ; advance extra in t
-
- mov ds:dword ptr[tstep],ecx
- add edx,ecx ; advance tfrac fractional part by tstep frac
-
- sbb ecx,ecx ; turn tstep carry into -1 (0 if none)
- add ebx,ebp ; advance sfrac fractional part by sstep frac
- adc esi,ds:dword ptr[advancetable+4+ecx*4] ; point to next source texel
-
- add edx,ds:dword ptr[tstep]
- sbb ecx,ecx
- mov al,ds:byte ptr[esi]
- add ebx,ebp
- mov ds:byte ptr[1+edi],al
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
-
- add edx,ds:dword ptr[tstep]
- sbb ecx,ecx
- add ebx,ebp
- mov al,ds:byte ptr[esi]
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
-
- add edx,ds:dword ptr[tstep]
- sbb ecx,ecx
- mov ds:byte ptr[2+edi],al
- add ebx,ebp
- mov al,ds:byte ptr[esi]
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
-
- add edx,ds:dword ptr[tstep]
- sbb ecx,ecx
- mov ds:byte ptr[3+edi],al
- add ebx,ebp
- mov al,ds:byte ptr[esi]
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
-
- add edx,ds:dword ptr[tstep]
- sbb ecx,ecx
- mov ds:byte ptr[4+edi],al
- add ebx,ebp
- mov al,ds:byte ptr[esi]
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
-
- add edx,ds:dword ptr[tstep]
- sbb ecx,ecx
- mov ds:byte ptr[5+edi],al
- add ebx,ebp
- mov al,ds:byte ptr[esi]
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
-
- add edx,ds:dword ptr[tstep]
- sbb ecx,ecx
- mov ds:byte ptr[6+edi],al
- add ebx,ebp
- mov al,ds:byte ptr[esi]
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
-
- add edx,ds:dword ptr[tstep]
- sbb ecx,ecx
- mov ds:byte ptr[7+edi],al
- add ebx,ebp
- mov al,ds:byte ptr[esi]
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
-
-
-;
-; start FDIV for end of next segment in flight, so it can overlap
-;
- mov ecx,ds:dword ptr[counttemp]
- cmp ecx,16 ; more than one segment after this?
- ja LSetupNotLast2 ; yes
-
- dec ecx
- jz LFDIVInFlight2 ; if only one pixel, no need to start an FDIV
- mov ds:dword ptr[spancountminus1],ecx
- fild ds:dword ptr[spancountminus1]
-
- fld ds:dword ptr[_d_zistepu] ; C(d_zistepu) | spancountminus1
- fmul st(0),st(1) ; C(d_zistepu)*scm1 | scm1
- fld ds:dword ptr[_d_tdivzstepu] ; C(d_tdivzstepu) | C(d_zistepu)*scm1 | scm1
- fmul st(0),st(2) ; C(d_tdivzstepu)*scm1 | C(d_zistepu)*scm1 | scm1
- fxch st(1) ; C(d_zistepu)*scm1 | C(d_tdivzstepu)*scm1 | scm1
- faddp st(3),st(0) ; C(d_tdivzstepu)*scm1 | scm1
- fxch st(1) ; scm1 | C(d_tdivzstepu)*scm1
- fmul ds:dword ptr[_d_sdivzstepu] ; C(d_sdivzstepu)*scm1 | C(d_tdivzstepu)*scm1
- fxch st(1) ; C(d_tdivzstepu)*scm1 | C(d_sdivzstepu)*scm1
- faddp st(3),st(0) ; C(d_sdivzstepu)*scm1
- fld ds:dword ptr[fp_64k] ; 64k | C(d_sdivzstepu)*scm1
- fxch st(1) ; C(d_sdivzstepu)*scm1 | 64k
- faddp st(4),st(0) ; 64k
-
- fdiv st(0),st(1) ; this is what we've gone to all this trouble to
-; overlap
- jmp LFDIVInFlight2
-
- align 4
-LSetupNotLast2:
- fadd ds:dword ptr[zi16stepu]
- fxch st(2)
- fadd ds:dword ptr[sdivz16stepu]
- fxch st(2)
- fld ds:dword ptr[tdivz16stepu]
- faddp st(2),st(0)
- fld ds:dword ptr[fp_64k]
- fdiv st(0),st(1) ; z = 1/1/z
-; this is what we've gone to all this trouble to
-; overlap
-LFDIVInFlight2:
- mov ds:dword ptr[counttemp],ecx
-
- add edx,ds:dword ptr[tstep]
- sbb ecx,ecx
- mov ds:byte ptr[8+edi],al
- add ebx,ebp
- mov al,ds:byte ptr[esi]
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
-
- add edx,ds:dword ptr[tstep]
- sbb ecx,ecx
- mov ds:byte ptr[9+edi],al
- add ebx,ebp
- mov al,ds:byte ptr[esi]
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
-
- add edx,ds:dword ptr[tstep]
- sbb ecx,ecx
- mov ds:byte ptr[10+edi],al
- add ebx,ebp
- mov al,ds:byte ptr[esi]
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
-
- add edx,ds:dword ptr[tstep]
- sbb ecx,ecx
- mov ds:byte ptr[11+edi],al
- add ebx,ebp
- mov al,ds:byte ptr[esi]
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
-
- add edx,ds:dword ptr[tstep]
- sbb ecx,ecx
- mov ds:byte ptr[12+edi],al
- add ebx,ebp
- mov al,ds:byte ptr[esi]
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
-
- add edx,ds:dword ptr[tstep]
- sbb ecx,ecx
- mov ds:byte ptr[13+edi],al
- add ebx,ebp
- mov al,ds:byte ptr[esi]
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
-
- add edx,ds:dword ptr[tstep]
- sbb ecx,ecx
- mov ds:byte ptr[14+edi],al
- add ebx,ebp
- mov al,ds:byte ptr[esi]
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
-
- add edi,16
- mov ds:dword ptr[tfracf],edx
- mov edx,ds:dword ptr[snext]
- mov ds:dword ptr[sfracf],ebx
- mov ebx,ds:dword ptr[tnext]
- mov ds:dword ptr[s],edx
- mov ds:dword ptr[t],ebx
-
- mov ecx,ds:dword ptr[counttemp] ; retrieve count
-
-;
-; determine whether last span or not
-;
- cmp ecx,16 ; are there multiple segments remaining?
- mov ds:byte ptr[-1+edi],al
- ja LNotLastSegment ; yes
-
-;
-; last segment of scan
-;
-LLastSegment:
-
-;
-; advance s/z, t/z, and 1/z, and calculate s & t at end of span and steps to
-; get there. The number of pixels left is variable, and we want to land on the
-; last pixel, not step one past it, so we can't run into arithmetic problems
-;
- test ecx,ecx
- jz LNoSteps ; just draw the last pixel and we're done
-
-; pick up after the FDIV that was left in flight previously
-
-
- fld st(0) ; duplicate it
- fmul st(0),st(4) ; s = s/z * z
- fxch st(1)
- fmul st(0),st(3) ; t = t/z * z
- fxch st(1)
- fistp ds:dword ptr[snext]
- fistp ds:dword ptr[tnext]
-
- mov al,ds:byte ptr[esi] ; load first texel in segment
- mov ebx,ds:dword ptr[_tadjust]
- mov ds:byte ptr[edi],al ; store first pixel in segment
- mov eax,ds:dword ptr[_sadjust]
-
- add eax,ds:dword ptr[snext]
- add ebx,ds:dword ptr[tnext]
-
- mov ebp,ds:dword ptr[_bbextents]
- mov edx,ds:dword ptr[_bbextentt]
-
- cmp eax,4096
- jl LClampLow4
- cmp eax,ebp
- ja LClampHigh4
-LClampReentry4:
- mov ds:dword ptr[snext],eax
-
- cmp ebx,4096
- jl LClampLow5
- cmp ebx,edx
- ja LClampHigh5
-LClampReentry5:
-
- cmp ecx,1 ; don't bother
- je LOnlyOneStep ; if two pixels in segment, there's only one step,
-; of the segment length
- sub eax,ds:dword ptr[s]
- sub ebx,ds:dword ptr[t]
-
- add eax,eax ; convert to 15.17 format so multiply by 1.31
- add ebx,ebx ; reciprocal yields 16.48
-
- imul ds:dword ptr[reciprocal_table_16-8+ecx*4] ; sstep = (snext - s) /
-; (spancount-1)
- mov ebp,edx
-
- mov eax,ebx
- imul ds:dword ptr[reciprocal_table_16-8+ecx*4] ; tstep = (tnext - t) /
-; (spancount-1)
-LSetEntryvec:
-;
-; set up advancetable
-;
- mov ebx,ds:dword ptr[entryvec_table_16+ecx*4]
- mov eax,edx
- mov ds:dword ptr[jumptemp],ebx ; entry point into code for RET later
- mov ecx,ebp
- sar edx,16 ; tstep >>= 16;
- mov ebx,ds:dword ptr[_cachewidth]
- sar ecx,16 ; sstep >>= 16;
- imul edx,ebx
-
- add edx,ecx ; add in sstep
-; (tstep >> 16) * cachewidth + (sstep >> 16);
- mov ecx,ds:dword ptr[tfracf]
- mov ds:dword ptr[advancetable+4],edx ; advance base in t
- add edx,ebx ; ((tstep >> 16) + 1) * cachewidth +
-; (sstep >> 16);
- shl ebp,16 ; left-justify sstep fractional part
- mov ebx,ds:dword ptr[sfracf]
- shl eax,16 ; left-justify tstep fractional part
- mov ds:dword ptr[advancetable],edx ; advance extra in t
-
- mov ds:dword ptr[tstep],eax
- mov edx,ecx
- add edx,eax
- sbb ecx,ecx
- add ebx,ebp
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
-
- jmp dword ptr[jumptemp] ; jump to the number-of-pixels handler
-
-;----------------------------------------
-
-LNoSteps:
- mov al,ds:byte ptr[esi] ; load first texel in segment
- sub edi,15 ; adjust for hardwired offset
- jmp LEndSpan
-
-
-LOnlyOneStep:
- sub eax,ds:dword ptr[s]
- sub ebx,ds:dword ptr[t]
- mov ebp,eax
- mov edx,ebx
- jmp LSetEntryvec
-
-;----------------------------------------
-
- public Entry2_16, Entry3_16, Entry4_16, Entry5_16
- public Entry6_16, Entry7_16, Entry8_16, Entry9_16
- public Entry10_16, Entry11_16, Entry12_16, Entry13_16
- public Entry14_16, Entry15_16, Entry16_16
-
-Entry2_16:
- sub edi,14 ; adjust for hardwired offsets
- mov al,ds:byte ptr[esi]
- jmp LEntry2_16
-
-;----------------------------------------
-
-Entry3_16:
- sub edi,13 ; adjust for hardwired offsets
- add edx,eax
- mov al,ds:byte ptr[esi]
- sbb ecx,ecx
- add ebx,ebp
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
- jmp LEntry3_16
-
-;----------------------------------------
-
-Entry4_16:
- sub edi,12 ; adjust for hardwired offsets
- add edx,eax
- mov al,ds:byte ptr[esi]
- sbb ecx,ecx
- add ebx,ebp
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
- add edx,ds:dword ptr[tstep]
- jmp LEntry4_16
-
-;----------------------------------------
-
-Entry5_16:
- sub edi,11 ; adjust for hardwired offsets
- add edx,eax
- mov al,ds:byte ptr[esi]
- sbb ecx,ecx
- add ebx,ebp
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
- add edx,ds:dword ptr[tstep]
- jmp LEntry5_16
-
-;----------------------------------------
-
-Entry6_16:
- sub edi,10 ; adjust for hardwired offsets
- add edx,eax
- mov al,ds:byte ptr[esi]
- sbb ecx,ecx
- add ebx,ebp
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
- add edx,ds:dword ptr[tstep]
- jmp LEntry6_16
-
-;----------------------------------------
-
-Entry7_16:
- sub edi,9 ; adjust for hardwired offsets
- add edx,eax
- mov al,ds:byte ptr[esi]
- sbb ecx,ecx
- add ebx,ebp
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
- add edx,ds:dword ptr[tstep]
- jmp LEntry7_16
-
-;----------------------------------------
-
-Entry8_16:
- sub edi,8 ; adjust for hardwired offsets
- add edx,eax
- mov al,ds:byte ptr[esi]
- sbb ecx,ecx
- add ebx,ebp
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
- add edx,ds:dword ptr[tstep]
- jmp LEntry8_16
-
-;----------------------------------------
-
-Entry9_16:
- sub edi,7 ; adjust for hardwired offsets
- add edx,eax
- mov al,ds:byte ptr[esi]
- sbb ecx,ecx
- add ebx,ebp
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
- add edx,ds:dword ptr[tstep]
- jmp LEntry9_16
-
-;----------------------------------------
-
-Entry10_16:
- sub edi,6 ; adjust for hardwired offsets
- add edx,eax
- mov al,ds:byte ptr[esi]
- sbb ecx,ecx
- add ebx,ebp
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
- add edx,ds:dword ptr[tstep]
- jmp LEntry10_16
-
-;----------------------------------------
-
-Entry11_16:
- sub edi,5 ; adjust for hardwired offsets
- add edx,eax
- mov al,ds:byte ptr[esi]
- sbb ecx,ecx
- add ebx,ebp
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
- add edx,ds:dword ptr[tstep]
- jmp LEntry11_16
-
-;----------------------------------------
-
-Entry12_16:
- sub edi,4 ; adjust for hardwired offsets
- add edx,eax
- mov al,ds:byte ptr[esi]
- sbb ecx,ecx
- add ebx,ebp
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
- add edx,ds:dword ptr[tstep]
- jmp LEntry12_16
-
-;----------------------------------------
-
-Entry13_16:
- sub edi,3 ; adjust for hardwired offsets
- add edx,eax
- mov al,ds:byte ptr[esi]
- sbb ecx,ecx
- add ebx,ebp
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
- add edx,ds:dword ptr[tstep]
- jmp LEntry13_16
-
-;----------------------------------------
-
-Entry14_16:
- sub edi,2 ; adjust for hardwired offsets
- add edx,eax
- mov al,ds:byte ptr[esi]
- sbb ecx,ecx
- add ebx,ebp
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
- add edx,ds:dword ptr[tstep]
- jmp LEntry14_16
-
-;----------------------------------------
-
-Entry15_16:
- dec edi ; adjust for hardwired offsets
- add edx,eax
- mov al,ds:byte ptr[esi]
- sbb ecx,ecx
- add ebx,ebp
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
- add edx,ds:dword ptr[tstep]
- jmp LEntry15_16
-
-;----------------------------------------
-
-Entry16_16:
- add edx,eax
- mov al,ds:byte ptr[esi]
- sbb ecx,ecx
- add ebx,ebp
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
-
- add edx,ds:dword ptr[tstep]
- sbb ecx,ecx
- mov ds:byte ptr[1+edi],al
- add ebx,ebp
- mov al,ds:byte ptr[esi]
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
- add edx,ds:dword ptr[tstep]
-LEntry15_16:
- sbb ecx,ecx
- mov ds:byte ptr[2+edi],al
- add ebx,ebp
- mov al,ds:byte ptr[esi]
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
- add edx,ds:dword ptr[tstep]
-LEntry14_16:
- sbb ecx,ecx
- mov ds:byte ptr[3+edi],al
- add ebx,ebp
- mov al,ds:byte ptr[esi]
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
- add edx,ds:dword ptr[tstep]
-LEntry13_16:
- sbb ecx,ecx
- mov ds:byte ptr[4+edi],al
- add ebx,ebp
- mov al,ds:byte ptr[esi]
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
- add edx,ds:dword ptr[tstep]
-LEntry12_16:
- sbb ecx,ecx
- mov ds:byte ptr[5+edi],al
- add ebx,ebp
- mov al,ds:byte ptr[esi]
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
- add edx,ds:dword ptr[tstep]
-LEntry11_16:
- sbb ecx,ecx
- mov ds:byte ptr[6+edi],al
- add ebx,ebp
- mov al,ds:byte ptr[esi]
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
- add edx,ds:dword ptr[tstep]
-LEntry10_16:
- sbb ecx,ecx
- mov ds:byte ptr[7+edi],al
- add ebx,ebp
- mov al,ds:byte ptr[esi]
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
- add edx,ds:dword ptr[tstep]
-LEntry9_16:
- sbb ecx,ecx
- mov ds:byte ptr[8+edi],al
- add ebx,ebp
- mov al,ds:byte ptr[esi]
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
- add edx,ds:dword ptr[tstep]
-LEntry8_16:
- sbb ecx,ecx
- mov ds:byte ptr[9+edi],al
- add ebx,ebp
- mov al,ds:byte ptr[esi]
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
- add edx,ds:dword ptr[tstep]
-LEntry7_16:
- sbb ecx,ecx
- mov ds:byte ptr[10+edi],al
- add ebx,ebp
- mov al,ds:byte ptr[esi]
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
- add edx,ds:dword ptr[tstep]
-LEntry6_16:
- sbb ecx,ecx
- mov ds:byte ptr[11+edi],al
- add ebx,ebp
- mov al,ds:byte ptr[esi]
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
- add edx,ds:dword ptr[tstep]
-LEntry5_16:
- sbb ecx,ecx
- mov ds:byte ptr[12+edi],al
- add ebx,ebp
- mov al,ds:byte ptr[esi]
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
- add edx,ds:dword ptr[tstep]
-LEntry4_16:
- sbb ecx,ecx
- mov ds:byte ptr[13+edi],al
- add ebx,ebp
- mov al,ds:byte ptr[esi]
- adc esi,ds:dword ptr[advancetable+4+ecx*4]
-LEntry3_16:
- mov ds:byte ptr[14+edi],al
- mov al,ds:byte ptr[esi]
-LEntry2_16:
-
-LEndSpan:
-
-;
-; clear s/z, t/z, 1/z from FP stack
-;
- fstp st(0)
- fstp st(0)
- fstp st(0)
-
- mov ebx,ds:dword ptr[pspantemp] ; restore spans pointer
- mov ebx,ds:dword ptr[espan_t_pnext+ebx] ; point to next span
- test ebx,ebx ; any more spans?
- mov ds:byte ptr[15+edi],al
- jnz LSpanLoop ; more spans
-
- pop ebx ; restore register variables
- pop esi
- pop edi
- pop ebp ; restore the caller's stack frame
- ret
-
-
-;----------------------------------------------------------------------
-; 8-bpp horizontal span z drawing codefor polygons, with no transparency.
-;
-; Assumes there is at least one span in pzspans, and that every span
-; contains at least one pixel
-;----------------------------------------------------------------------
-
-
-
-; z-clamp on a non-negative gradient span
-LClamp:
- mov edx,040000000h
- xor ebx,ebx
- fstp st(0)
- jmp LZDraw
-
-; z-clamp on a negative gradient span
-LClampNeg:
- mov edx,040000000h
- xor ebx,ebx
- fstp st(0)
- jmp LZDrawNeg
-
-
-pzspans equ 4+16
-
- public _D_DrawZSpans
-_D_DrawZSpans:
- push ebp ; preserve caller's stack frame
- push edi
- push esi ; preserve register variables
- push ebx
-
- fld ds:dword ptr[_d_zistepu]
- mov eax,ds:dword ptr[_d_zistepu]
- mov esi,ds:dword ptr[pzspans+esp]
- test eax,eax
- jz LFNegSpan
-
- fmul ds:dword ptr[Float2ToThe31nd]
- fistp ds:dword ptr[izistep] ; note: we are relying on FP exceptions being turned
-; off here to avoid range problems
- mov ebx,ds:dword ptr[izistep] ; remains loaded for all spans
-
-LFSpanLoop:
-; set up the initial 1/z value
- fild ds:dword ptr[espan_t_v+esi]
- fild ds:dword ptr[espan_t_u+esi]
- mov ecx,ds:dword ptr[espan_t_v+esi]
- mov edi,ds:dword ptr[_d_pzbuffer]
- fmul ds:dword ptr[_d_zistepu]
- fxch st(1)
- fmul ds:dword ptr[_d_zistepv]
- fxch st(1)
- fadd ds:dword ptr[_d_ziorigin]
- imul ecx,ds:dword ptr[_d_zrowbytes]
- faddp st(1),st(0)
-
-; clamp if z is nearer than 2 (1/z > 0.5)
- fcom ds:dword ptr[float_point5]
- add edi,ecx
- mov edx,ds:dword ptr[espan_t_u+esi]
- add edx,edx ; word count
- mov ecx,ds:dword ptr[espan_t_count+esi]
- add edi,edx ; pdest = &pdestspan[scans->u];
- push esi ; preserve spans pointer
- fnstsw ax
- test ah,045h
- jz LClamp
-
- fmul ds:dword ptr[Float2ToThe31nd]
- fistp ds:dword ptr[izi] ; note: we are relying on FP exceptions being turned
-; off here to avoid problems when the span is closer
-; than 1/(2**31)
- mov edx,ds:dword ptr[izi]
-
-; at this point:
-; %ebx = izistep
-; %ecx = count
-; %edx = izi
-; %edi = pdest
-
-LZDraw:
-
-; do a single pixel up front, if necessary to dword align the destination
- test edi,2
- jz LFMiddle
- mov eax,edx
- add edx,ebx
- shr eax,16
- dec ecx
- mov ds:word ptr[edi],ax
- add edi,2
-
-; do middle a pair of aligned dwords at a time
-LFMiddle:
- push ecx
- shr ecx,1 ; count / 2
- jz LFLast ; no aligned dwords to do
- shr ecx,1 ; (count / 2) / 2
- jnc LFMiddleLoop ; even number of aligned dwords to do
-
- mov eax,edx
- add edx,ebx
- shr eax,16
- mov esi,edx
- add edx,ebx
- and esi,0FFFF0000h
- or eax,esi
- mov ds:dword ptr[edi],eax
- add edi,4
- and ecx,ecx
- jz LFLast
-
-LFMiddleLoop:
- mov eax,edx
- add edx,ebx
- shr eax,16
- mov esi,edx
- add edx,ebx
- and esi,0FFFF0000h
- or eax,esi
- mov ebp,edx
- mov ds:dword ptr[edi],eax
- add edx,ebx
- shr ebp,16
- mov esi,edx
- add edx,ebx
- and esi,0FFFF0000h
- or ebp,esi
- mov ds:dword ptr[4+edi],ebp ; FIXME: eliminate register contention
- add edi,8
-
- dec ecx
- jnz LFMiddleLoop
-
-LFLast:
- pop ecx ; retrieve count
- pop esi ; retrieve span pointer
-
-; do the last, unaligned pixel, if there is one
- and ecx,1 ; is there an odd pixel left to do?
- jz LFSpanDone ; no
- shr edx,16
- mov ds:word ptr[edi],dx ; do the final pixel's z
-
-LFSpanDone:
- mov esi,ds:dword ptr[espan_t_pnext+esi]
- test esi,esi
- jnz LFSpanLoop
-
- jmp LFDone
-
-LFNegSpan:
- fmul ds:dword ptr[FloatMinus2ToThe31nd]
- fistp ds:dword ptr[izistep] ; note: we are relying on FP exceptions being turned
-; off here to avoid range problems
- mov ebx,ds:dword ptr[izistep] ; remains loaded for all spans
-
-LFNegSpanLoop:
-; set up the initial 1/z value
- fild ds:dword ptr[espan_t_v+esi]
- fild ds:dword ptr[espan_t_u+esi]
- mov ecx,ds:dword ptr[espan_t_v+esi]
- mov edi,ds:dword ptr[_d_pzbuffer]
- fmul ds:dword ptr[_d_zistepu]
- fxch st(1)
- fmul ds:dword ptr[_d_zistepv]
- fxch st(1)
- fadd ds:dword ptr[_d_ziorigin]
- imul ecx,ds:dword ptr[_d_zrowbytes]
- faddp st(1),st(0)
-
-; clamp if z is nearer than 2 (1/z > 0.5)
- fcom ds:dword ptr[float_point5]
- add edi,ecx
- mov edx,ds:dword ptr[espan_t_u+esi]
- add edx,edx ; word count
- mov ecx,ds:dword ptr[espan_t_count+esi]
- add edi,edx ; pdest = &pdestspan[scans->u];
- push esi ; preserve spans pointer
- fnstsw ax
- test ah,045h
- jz LClampNeg
-
- fmul ds:dword ptr[Float2ToThe31nd]
- fistp ds:dword ptr[izi] ; note: we are relying on FP exceptions being turned
-; off here to avoid problems when the span is closer
-; than 1/(2**31)
- mov edx,ds:dword ptr[izi]
-
-; at this point:
-; %ebx = izistep
-; %ecx = count
-; %edx = izi
-; %edi = pdest
-
-LZDrawNeg:
-
-; do a single pixel up front, if necessary to dword align the destination
- test edi,2
- jz LFNegMiddle
- mov eax,edx
- sub edx,ebx
- shr eax,16
- dec ecx
- mov ds:word ptr[edi],ax
- add edi,2
-
-; do middle a pair of aligned dwords at a time
-LFNegMiddle:
- push ecx
- shr ecx,1 ; count / 2
- jz LFNegLast ; no aligned dwords to do
- shr ecx,1 ; (count / 2) / 2
- jnc LFNegMiddleLoop ; even number of aligned dwords to do
-
- mov eax,edx
- sub edx,ebx
- shr eax,16
- mov esi,edx
- sub edx,ebx
- and esi,0FFFF0000h
- or eax,esi
- mov ds:dword ptr[edi],eax
- add edi,4
- and ecx,ecx
- jz LFNegLast
-
-LFNegMiddleLoop:
- mov eax,edx
- sub edx,ebx
- shr eax,16
- mov esi,edx
- sub edx,ebx
- and esi,0FFFF0000h
- or eax,esi
- mov ebp,edx
- mov ds:dword ptr[edi],eax
- sub edx,ebx
- shr ebp,16
- mov esi,edx
- sub edx,ebx
- and esi,0FFFF0000h
- or ebp,esi
- mov ds:dword ptr[4+edi],ebp ; FIXME: eliminate register contention
- add edi,8
-
- dec ecx
- jnz LFNegMiddleLoop
-
-LFNegLast:
- pop ecx ; retrieve count
- pop esi ; retrieve span pointer
-
-; do the last, unaligned pixel, if there is one
- and ecx,1 ; is there an odd pixel left to do?
- jz LFNegSpanDone ; no
- shr edx,16
- mov ds:word ptr[edi],dx ; do the final pixel's z
-
-LFNegSpanDone:
- mov esi,ds:dword ptr[espan_t_pnext+esi]
- test esi,esi
- jnz LFNegSpanLoop
-
-LFDone:
- pop ebx ; restore register variables
- pop esi
- pop edi
- pop ebp ; restore the caller's stack frame
- ret
-
-
-
-_TEXT ENDS
-endif ;id386
- END
--- a/ref_soft/r_drawa.asm
+++ /dev/null
@@ -1,822 +1,0 @@
- .386P
- .model FLAT
-;
-; r_drawa.s
-; x86 assembly-language edge clipping and emission code
-;
-
-include qasm.inc
-include d_if.inc
-
-if id386
-
-; !!! if these are changed, they must be changed in r_draw.c too !!!
-FULLY_CLIPPED_CACHED equ 080000000h
-FRAMECOUNT_MASK equ 07FFFFFFFh
-
-_DATA SEGMENT
-
-Ld0 dd 0.0
-Ld1 dd 0.0
-Lstack dd 0
-Lfp_near_clip dd NEAR_CLIP
-Lceilv0 dd 0
-Lv dd 0
-Lu0 dd 0
-Lv0 dd 0
-Lzi0 dd 0
-
-_DATA ENDS
-_TEXT SEGMENT
-
-;----------------------------------------------------------------------
-; edge clipping code
-;----------------------------------------------------------------------
-
-pv0 equ 4+12
-pv1 equ 8+12
-clip equ 12+12
-
- align 4
- public _R_ClipEdge
-_R_ClipEdge:
- push esi ; preserve register variables
- push edi
- push ebx
- mov ds:dword ptr[Lstack],esp ; for clearing the stack later
-
-; float d0, d1, f;
-; mvertex_t clipvert;
-
- mov ebx,ds:dword ptr[clip+esp]
- mov esi,ds:dword ptr[pv0+esp]
- mov edx,ds:dword ptr[pv1+esp]
-
-; if (clip)
-; {
- test ebx,ebx
- jz Lemit
-
-; do
-; {
-
-Lcliploop:
-
-; d0 = DotProduct (pv0->position, clip->normal) - clip->dist;
-; d1 = DotProduct (pv1->position, clip->normal) - clip->dist;
- fld ds:dword ptr[mv_position+0+esi]
- fmul ds:dword ptr[cp_normal+0+ebx]
- fld ds:dword ptr[mv_position+4+esi]
- fmul ds:dword ptr[cp_normal+4+ebx]
- fld ds:dword ptr[mv_position+8+esi]
- fmul ds:dword ptr[cp_normal+8+ebx]
- fxch st(1)
- faddp st(2),st(0) ; d0mul2 | d0add0
-
- fld ds:dword ptr[mv_position+0+edx]
- fmul ds:dword ptr[cp_normal+0+ebx]
- fld ds:dword ptr[mv_position+4+edx]
- fmul ds:dword ptr[cp_normal+4+ebx]
- fld ds:dword ptr[mv_position+8+edx]
- fmul ds:dword ptr[cp_normal+8+ebx]
- fxch st(1)
- faddp st(2),st(0) ; d1mul2 | d1add0 | d0mul2 | d0add0
- fxch st(3) ; d0add0 | d1add0 | d0mul2 | d1mul2
-
- faddp st(2),st(0) ; d1add0 | dot0 | d1mul2
- faddp st(2),st(0) ; dot0 | dot1
-
- fsub ds:dword ptr[cp_dist+ebx] ; d0 | dot1
- fxch st(1) ; dot1 | d0
- fsub ds:dword ptr[cp_dist+ebx] ; d1 | d0
- fxch st(1)
- fstp ds:dword ptr[Ld0]
- fstp ds:dword ptr[Ld1]
-
-; if (d0 >= 0)
-; {
- mov eax,ds:dword ptr[Ld0]
- mov ecx,ds:dword ptr[Ld1]
- or ecx,eax
- js Lp2
-
-; both points are unclipped
-
-Lcontinue:
-
-;
-; R_ClipEdge (&clipvert, pv1, clip->next);
-; return;
-; }
-; } while ((clip = clip->next) != NULL);
- mov ebx,ds:dword ptr[cp_next+ebx]
- test ebx,ebx
- jnz Lcliploop
-
-; }
-
-;// add the edge
-; R_EmitEdge (pv0, pv1);
-Lemit:
-
-;
-; set integer rounding to ceil mode, set to single precision
-;
-; FIXME: do away with by manually extracting integers from floats?
-; FIXME: set less often
- fldcw ds:word ptr[_fpu_ceil_cw]
-
-; edge_t *edge, *pcheck;
-; int u_check;
-; float u, u_step;
-; vec3_t local, transformed;
-; float *world;
-; int v, v2, ceilv0;
-; float scale, lzi0, u0, v0;
-; int side;
-
-; if (r_lastvertvalid)
-; {
- cmp ds:dword ptr[_r_lastvertvalid],0
- jz LCalcFirst
-
-; u0 = r_u1;
-; v0 = r_v1;
-; lzi0 = r_lzi1;
-; ceilv0 = r_ceilv1;
- mov eax,ds:dword ptr[_r_lzi1]
- mov ecx,ds:dword ptr[_r_u1]
- mov ds:dword ptr[Lzi0],eax
- mov ds:dword ptr[Lu0],ecx
- mov ecx,ds:dword ptr[_r_v1]
- mov eax,ds:dword ptr[_r_ceilv1]
- mov ds:dword ptr[Lv0],ecx
- mov ds:dword ptr[Lceilv0],eax
- jmp LCalcSecond
-
-; }
-
-LCalcFirst:
-
-; else
-; {
-; world = &pv0->position[0];
-
- call near ptr LTransformAndProject ; v0 | lzi0 | u0
-
- fst ds:dword ptr[Lv0]
- fxch st(2) ; u0 | lzi0 | v0
- fstp ds:dword ptr[Lu0] ; lzi0 | v0
- fstp ds:dword ptr[Lzi0] ; v0
-
-; ceilv0 = (int)(v0 - 2000) + 2000; // ceil(v0);
- fistp ds:dword ptr[Lceilv0]
-
-; }
-
-LCalcSecond:
-
-; world = &pv1->position[0];
- mov esi,edx
-
- call near ptr LTransformAndProject ; v1 | lzi1 | u1
-
- fld ds:dword ptr[Lu0] ; u0 | v1 | lzi1 | u1
- fxch st(3) ; u1 | v1 | lzi1 | u0
- fld ds:dword ptr[Lzi0] ; lzi0 | u1 | v1 | lzi1 | u0
- fxch st(3) ; lzi1 | u1 | v1 | lzi0 | u0
- fld ds:dword ptr[Lv0] ; v0 | lzi1 | u1 | v1 | lzi0 | u0
- fxch st(3) ; v1 | lzi1 | u1 | v0 | lzi0 | u0
-
-; r_ceilv1 = (int)(r_v1 - 2000) + 2000; // ceil(r_v1);
- fist ds:dword ptr[_r_ceilv1]
-
- fldcw ds:word ptr[_fpu_chop_cw] ; put back normal floating-point state
-
- fst ds:dword ptr[_r_v1]
- fxch st(4) ; lzi0 | lzi1 | u1 | v0 | v1 | u0
-
-; if (r_lzi1 > lzi0)
-; lzi0 = r_lzi1;
- fcom st(1)
- fnstsw ax
- test ah,1
- jz LP0
- fstp st(0)
- fld st(0)
-LP0:
-
- fxch st(1) ; lzi1 | lzi0 | u1 | v0 | v1 | u0
- fstp ds:dword ptr[_r_lzi1] ; lzi0 | u1 | v0 | v1 | u0
- fxch st(1)
- fst ds:dword ptr[_r_u1]
- fxch st(1)
-
-; if (lzi0 > r_nearzi) // for mipmap finding
-; r_nearzi = lzi0;
- fcom ds:dword ptr[_r_nearzi]
- fnstsw ax
- test ah,045h
- jnz LP1
- fst ds:dword ptr[_r_nearzi]
-LP1:
-
-; // for right edges, all we want is the effect on 1/z
-; if (r_nearzionly)
-; return;
- mov eax,ds:dword ptr[_r_nearzionly]
- test eax,eax
- jz LP2
-LPop5AndDone:
- mov eax,ds:dword ptr[_cacheoffset]
- mov edx,ds:dword ptr[_r_framecount]
- cmp eax,07FFFFFFFh
- jz LDoPop
- and edx,offset FRAMECOUNT_MASK
- or edx,offset FULLY_CLIPPED_CACHED
- mov ds:dword ptr[_cacheoffset],edx
-
-LDoPop:
- fstp st(0) ; u1 | v0 | v1 | u0
- fstp st(0) ; v0 | v1 | u0
- fstp st(0) ; v1 | u0
- fstp st(0) ; u0
- fstp st(0)
- jmp Ldone
-
-LP2:
-
-; // create the edge
-; if (ceilv0 == r_ceilv1)
-; return; // horizontal edge
- mov ebx,ds:dword ptr[Lceilv0]
- mov edi,ds:dword ptr[_edge_p]
- mov ecx,ds:dword ptr[_r_ceilv1]
- mov edx,edi
- mov esi,ds:dword ptr[_r_pedge]
- add edx,offset et_size
- cmp ebx,ecx
- jz LPop5AndDone
-
- mov eax,ds:dword ptr[_r_pedge]
- mov ds:dword ptr[et_owner+edi],eax
-
-; side = ceilv0 > r_ceilv1;
-;
-; edge->nearzi = lzi0;
- fstp ds:dword ptr[et_nearzi+edi] ; u1 | v0 | v1 | u0
-
-; if (side == 1)
-; {
- jc LSide0
-
-LSide1:
-
-; // leading edge (go from p2 to p1)
-
-; u_step = ((u0 - r_u1) / (v0 - r_v1));
- fsubp st(3),st(0) ; v0 | v1 | u0-u1
- fsub st(0),st(1) ; v0-v1 | v1 | u0-u1
- fdivp st(2),st(0) ; v1 | ustep
-
-; r_emitted = 1;
- mov ds:dword ptr[_r_emitted],1
-
-; edge = edge_p++;
- mov ds:dword ptr[_edge_p],edx
-
-; pretouch next edge
- mov eax,ds:dword ptr[edx]
-
-; v2 = ceilv0 - 1;
-; v = r_ceilv1;
- mov eax,ecx
- lea ecx,ds:dword ptr[-1+ebx]
- mov ebx,eax
-
-; edge->surfs[0] = 0;
-; edge->surfs[1] = surface_p - surfaces;
- mov eax,ds:dword ptr[_surface_p]
- mov esi,ds:dword ptr[_surfaces]
- sub edx,edx
- sub eax,esi
- shr eax,offset SURF_T_SHIFT
- mov ds:dword ptr[et_surfs+edi],edx
- mov ds:dword ptr[et_surfs+2+edi],eax
-
- sub esi,esi
-
-; u = r_u1 + ((float)v - r_v1) * u_step;
- mov ds:dword ptr[Lv],ebx
- fild ds:dword ptr[Lv] ; v | v1 | ustep
- fsubrp st(1),st(0) ; v-v1 | ustep
- fmul st(0),st(1) ; (v-v1)*ustep | ustep
- fadd ds:dword ptr[_r_u1] ; u | ustep
-
- jmp LSideDone
-
-; }
-
-LSide0:
-
-; else
-; {
-; // trailing edge (go from p1 to p2)
-
-; u_step = ((r_u1 - u0) / (r_v1 - v0));
- fsub st(0),st(3) ; u1-u0 | v0 | v1 | u0
- fxch st(2) ; v1 | v0 | u1-u0 | u0
- fsub st(0),st(1) ; v1-v0 | v0 | u1-u0 | u0
- fdivp st(2),st(0) ; v0 | ustep | u0
-
-; r_emitted = 1;
- mov ds:dword ptr[_r_emitted],1
-
-; edge = edge_p++;
- mov ds:dword ptr[_edge_p],edx
-
-; pretouch next edge
- mov eax,ds:dword ptr[edx]
-
-; v = ceilv0;
-; v2 = r_ceilv1 - 1;
- dec ecx
-
-; edge->surfs[0] = surface_p - surfaces;
-; edge->surfs[1] = 0;
- mov eax,ds:dword ptr[_surface_p]
- mov esi,ds:dword ptr[_surfaces]
- sub edx,edx
- sub eax,esi
- shr eax,offset SURF_T_SHIFT
- mov ds:dword ptr[et_surfs+2+edi],edx
- mov ds:dword ptr[et_surfs+edi],eax
-
- mov esi,1
-
-; u = u0 + ((float)v - v0) * u_step;
- mov ds:dword ptr[Lv],ebx
- fild ds:dword ptr[Lv] ; v | v0 | ustep | u0
- fsubrp st(1),st(0) ; v-v0 | ustep | u0
- fmul st(0),st(1) ; (v-v0)*ustep | ustep | u0
- faddp st(2),st(0) ; ustep | u
- fxch st(1) ; u | ustep
-
-; }
-
-LSideDone:
-
-; edge->u_step = u_step*0x100000;
-; edge->u = u*0x100000 + 0xFFFFF;
-
- fmul ds:dword ptr[fp_1m] ; u*0x100000 | ustep
- fxch st(1) ; ustep | u*0x100000
- fmul ds:dword ptr[fp_1m] ; ustep*0x100000 | u*0x100000
- fxch st(1) ; u*0x100000 | ustep*0x100000
- fadd ds:dword ptr[fp_1m_minus_1] ; u*0x100000 + 0xFFFFF | ustep*0x100000
- fxch st(1) ; ustep*0x100000 | u*0x100000 + 0xFFFFF
- fistp ds:dword ptr[et_u_step+edi] ; u*0x100000 + 0xFFFFF
- fistp ds:dword ptr[et_u+edi]
-
-; // we need to do this to avoid stepping off the edges if a very nearly
-; // horizontal edge is less than epsilon above a scan, and numeric error
-; // causes it to incorrectly extend to the scan, and the extension of the
-; // line goes off the edge of the screen
-; // FIXME: is this actually needed?
-; if (edge->u < r_refdef.vrect_x_adj_shift20)
-; edge->u = r_refdef.vrect_x_adj_shift20;
-; if (edge->u > r_refdef.vrectright_adj_shift20)
-; edge->u = r_refdef.vrectright_adj_shift20;
- mov eax,ds:dword ptr[et_u+edi]
- mov edx,ds:dword ptr[_r_refdef+rd_vrect_x_adj_shift20]
- cmp eax,edx
- jl LP4
- mov edx,ds:dword ptr[_r_refdef+rd_vrectright_adj_shift20]
- cmp eax,edx
- jng LP5
-LP4:
- mov ds:dword ptr[et_u+edi],edx
- mov eax,edx
-LP5:
-
-; // sort the edge in normally
-; u_check = edge->u;
-;
-; if (edge->surfs[0])
-; u_check++; // sort trailers after leaders
- add eax,esi
-
-; if (!newedges[v] || newedges[v]->u >= u_check)
-; {
- mov esi,ds:dword ptr[_newedges+ebx*4]
- test esi,esi
- jz LDoFirst
- cmp ds:dword ptr[et_u+esi],eax
- jl LNotFirst
-LDoFirst:
-
-; edge->next = newedges[v];
-; newedges[v] = edge;
- mov ds:dword ptr[et_next+edi],esi
- mov ds:dword ptr[_newedges+ebx*4],edi
-
- jmp LSetRemove
-
-; }
-
-LNotFirst:
-
-; else
-; {
-; pcheck = newedges[v];
-;
-; while (pcheck->next && pcheck->next->u < u_check)
-; pcheck = pcheck->next;
-LFindInsertLoop:
- mov edx,esi
- mov esi,ds:dword ptr[et_next+esi]
- test esi,esi
- jz LInsertFound
- cmp ds:dword ptr[et_u+esi],eax
- jl LFindInsertLoop
-
-LInsertFound:
-
-; edge->next = pcheck->next;
-; pcheck->next = edge;
- mov ds:dword ptr[et_next+edi],esi
- mov ds:dword ptr[et_next+edx],edi
-
-; }
-
-LSetRemove:
-
-; edge->nextremove = removeedges[v2];
-; removeedges[v2] = edge;
- mov eax,ds:dword ptr[_removeedges+ecx*4]
- mov ds:dword ptr[_removeedges+ecx*4],edi
- mov ds:dword ptr[et_nextremove+edi],eax
-
-Ldone:
- mov esp,ds:dword ptr[Lstack] ; clear temporary variables from stack
-
- pop ebx ; restore register variables
- pop edi
- pop esi
- ret
-
-; at least one point is clipped
-
-Lp2:
- test eax,eax
- jns Lp1
-
-; else
-; {
-; // point 0 is clipped
-
-; if (d1 < 0)
-; {
- mov eax,ds:dword ptr[Ld1]
- test eax,eax
- jns Lp3
-
-; // both points are clipped
-; // we do cache fully clipped edges
-; if (!leftclipped)
- mov eax,ds:dword ptr[_r_leftclipped]
- mov ecx,ds:dword ptr[_r_pedge]
- test eax,eax
- jnz Ldone
-
-; r_pedge->framecount = r_framecount;
- mov eax,ds:dword ptr[_r_framecount]
- and eax,offset FRAMECOUNT_MASK
- or eax,offset FULLY_CLIPPED_CACHED
- mov ds:dword ptr[_cacheoffset],eax
-
-; return;
- jmp Ldone
-
-; }
-
-Lp1:
-
-; // point 0 is unclipped
-; if (d1 >= 0)
-; {
-; // both points are unclipped
-; continue;
-
-; // only point 1 is clipped
-
-; f = d0 / (d0 - d1);
- fld ds:dword ptr[Ld0]
- fld ds:dword ptr[Ld1]
- fsubr st(0),st(1)
-
-; // we don't cache partially clipped edges
- mov ds:dword ptr[_cacheoffset],07FFFFFFFh
-
- fdivp st(1),st(0)
-
- sub esp,offset mv_size ; allocate space for clipvert
-
-; clipvert.position[0] = pv0->position[0] +
-; f * (pv1->position[0] - pv0->position[0]);
-; clipvert.position[1] = pv0->position[1] +
-; f * (pv1->position[1] - pv0->position[1]);
-; clipvert.position[2] = pv0->position[2] +
-; f * (pv1->position[2] - pv0->position[2]);
- fld ds:dword ptr[mv_position+8+edx]
- fsub ds:dword ptr[mv_position+8+esi]
- fld ds:dword ptr[mv_position+4+edx]
- fsub ds:dword ptr[mv_position+4+esi]
- fld ds:dword ptr[mv_position+0+edx]
- fsub ds:dword ptr[mv_position+0+esi] ; 0 | 1 | 2
-
-; replace pv1 with the clip point
- mov edx,esp
- mov eax,ds:dword ptr[cp_leftedge+ebx]
- test al,al
-
- fmul st(0),st(3)
- fxch st(1) ; 1 | 0 | 2
- fmul st(0),st(3)
- fxch st(2) ; 2 | 0 | 1
- fmulp st(3),st(0) ; 0 | 1 | 2
- fadd ds:dword ptr[mv_position+0+esi]
- fxch st(1) ; 1 | 0 | 2
- fadd ds:dword ptr[mv_position+4+esi]
- fxch st(2) ; 2 | 0 | 1
- fadd ds:dword ptr[mv_position+8+esi]
- fxch st(1) ; 0 | 2 | 1
- fstp ds:dword ptr[mv_position+0+esp] ; 2 | 1
- fstp ds:dword ptr[mv_position+8+esp] ; 1
- fstp ds:dword ptr[mv_position+4+esp]
-
-; if (clip->leftedge)
-; {
- jz Ltestright
-
-; r_leftclipped = true;
-; r_leftexit = clipvert;
- mov ds:dword ptr[_r_leftclipped],1
- mov eax,ds:dword ptr[mv_position+0+esp]
- mov ds:dword ptr[_r_leftexit+mv_position+0],eax
- mov eax,ds:dword ptr[mv_position+4+esp]
- mov ds:dword ptr[_r_leftexit+mv_position+4],eax
- mov eax,ds:dword ptr[mv_position+8+esp]
- mov ds:dword ptr[_r_leftexit+mv_position+8],eax
-
- jmp Lcontinue
-
-; }
-
-Ltestright:
-; else if (clip->rightedge)
-; {
- test ah,ah
- jz Lcontinue
-
-; r_rightclipped = true;
-; r_rightexit = clipvert;
- mov ds:dword ptr[_r_rightclipped],1
- mov eax,ds:dword ptr[mv_position+0+esp]
- mov ds:dword ptr[_r_rightexit+mv_position+0],eax
- mov eax,ds:dword ptr[mv_position+4+esp]
- mov ds:dword ptr[_r_rightexit+mv_position+4],eax
- mov eax,ds:dword ptr[mv_position+8+esp]
- mov ds:dword ptr[_r_rightexit+mv_position+8],eax
-
-; }
-;
-; R_ClipEdge (pv0, &clipvert, clip->next);
-; return;
-; }
- jmp Lcontinue
-
-; }
-
-Lp3:
-
-; // only point 0 is clipped
-; r_lastvertvalid = false;
-
- mov ds:dword ptr[_r_lastvertvalid],0
-
-; f = d0 / (d0 - d1);
- fld ds:dword ptr[Ld0]
- fld ds:dword ptr[Ld1]
- fsubr st(0),st(1)
-
-; // we don't cache partially clipped edges
- mov ds:dword ptr[_cacheoffset],07FFFFFFFh
-
- fdivp st(1),st(0)
-
- sub esp,offset mv_size ; allocate space for clipvert
-
-; clipvert.position[0] = pv0->position[0] +
-; f * (pv1->position[0] - pv0->position[0]);
-; clipvert.position[1] = pv0->position[1] +
-; f * (pv1->position[1] - pv0->position[1]);
-; clipvert.position[2] = pv0->position[2] +
-; f * (pv1->position[2] - pv0->position[2]);
- fld ds:dword ptr[mv_position+8+edx]
- fsub ds:dword ptr[mv_position+8+esi]
- fld ds:dword ptr[mv_position+4+edx]
- fsub ds:dword ptr[mv_position+4+esi]
- fld ds:dword ptr[mv_position+0+edx]
- fsub ds:dword ptr[mv_position+0+esi] ; 0 | 1 | 2
-
- mov eax,ds:dword ptr[cp_leftedge+ebx]
- test al,al
-
- fmul st(0),st(3)
- fxch st(1) ; 1 | 0 | 2
- fmul st(0),st(3)
- fxch st(2) ; 2 | 0 | 1
- fmulp st(3),st(0) ; 0 | 1 | 2
- fadd ds:dword ptr[mv_position+0+esi]
- fxch st(1) ; 1 | 0 | 2
- fadd ds:dword ptr[mv_position+4+esi]
- fxch st(2) ; 2 | 0 | 1
- fadd ds:dword ptr[mv_position+8+esi]
- fxch st(1) ; 0 | 2 | 1
- fstp ds:dword ptr[mv_position+0+esp] ; 2 | 1
- fstp ds:dword ptr[mv_position+8+esp] ; 1
- fstp ds:dword ptr[mv_position+4+esp]
-
-; replace pv0 with the clip point
- mov esi,esp
-
-; if (clip->leftedge)
-; {
- jz Ltestright2
-
-; r_leftclipped = true;
-; r_leftenter = clipvert;
- mov ds:dword ptr[_r_leftclipped],1
- mov eax,ds:dword ptr[mv_position+0+esp]
- mov ds:dword ptr[_r_leftenter+mv_position+0],eax
- mov eax,ds:dword ptr[mv_position+4+esp]
- mov ds:dword ptr[_r_leftenter+mv_position+4],eax
- mov eax,ds:dword ptr[mv_position+8+esp]
- mov ds:dword ptr[_r_leftenter+mv_position+8],eax
-
- jmp Lcontinue
-
-; }
-
-Ltestright2:
-; else if (clip->rightedge)
-; {
- test ah,ah
- jz Lcontinue
-
-; r_rightclipped = true;
-; r_rightenter = clipvert;
- mov ds:dword ptr[_r_rightclipped],1
- mov eax,ds:dword ptr[mv_position+0+esp]
- mov ds:dword ptr[_r_rightenter+mv_position+0],eax
- mov eax,ds:dword ptr[mv_position+4+esp]
- mov ds:dword ptr[_r_rightenter+mv_position+4],eax
- mov eax,ds:dword ptr[mv_position+8+esp]
- mov ds:dword ptr[_r_rightenter+mv_position+8],eax
-
-; }
- jmp Lcontinue
-
-; %esi = vec3_t point to transform and project
-; %edx preserved
-LTransformAndProject:
-
-; // transform and project
-; VectorSubtract (world, modelorg, local);
- fld ds:dword ptr[mv_position+0+esi]
- fsub ds:dword ptr[_modelorg+0]
- fld ds:dword ptr[mv_position+4+esi]
- fsub ds:dword ptr[_modelorg+4]
- fld ds:dword ptr[mv_position+8+esi]
- fsub ds:dword ptr[_modelorg+8]
- fxch st(2) ; local[0] | local[1] | local[2]
-
-; TransformVector (local, transformed);
-;
-; if (transformed[2] < NEAR_CLIP)
-; transformed[2] = NEAR_CLIP;
-;
-; lzi0 = 1.0 / transformed[2];
- fld st(0) ; local[0] | local[0] | local[1] | local[2]
- fmul ds:dword ptr[_vpn+0] ; zm0 | local[0] | local[1] | local[2]
- fld st(1) ; local[0] | zm0 | local[0] | local[1] |
-; local[2]
- fmul ds:dword ptr[_vright+0] ; xm0 | zm0 | local[0] | local[1] | local[2]
- fxch st(2) ; local[0] | zm0 | xm0 | local[1] | local[2]
- fmul ds:dword ptr[_vup+0] ; ym0 | zm0 | xm0 | local[1] | local[2]
- fld st(3) ; local[1] | ym0 | zm0 | xm0 | local[1] |
-; local[2]
- fmul ds:dword ptr[_vpn+4] ; zm1 | ym0 | zm0 | xm0 | local[1] |
-; local[2]
- fld st(4) ; local[1] | zm1 | ym0 | zm0 | xm0 |
-; local[1] | local[2]
- fmul ds:dword ptr[_vright+4] ; xm1 | zm1 | ym0 | zm0 | xm0 |
-; local[1] | local[2]
- fxch st(5) ; local[1] | zm1 | ym0 | zm0 | xm0 |
-; xm1 | local[2]
- fmul ds:dword ptr[_vup+4] ; ym1 | zm1 | ym0 | zm0 | xm0 |
-; xm1 | local[2]
- fxch st(1) ; zm1 | ym1 | ym0 | zm0 | xm0 |
-; xm1 | local[2]
- faddp st(3),st(0) ; ym1 | ym0 | zm2 | xm0 | xm1 | local[2]
- fxch st(3) ; xm0 | ym0 | zm2 | ym1 | xm1 | local[2]
- faddp st(4),st(0) ; ym0 | zm2 | ym1 | xm2 | local[2]
- faddp st(2),st(0) ; zm2 | ym2 | xm2 | local[2]
- fld st(3) ; local[2] | zm2 | ym2 | xm2 | local[2]
- fmul ds:dword ptr[_vpn+8] ; zm3 | zm2 | ym2 | xm2 | local[2]
- fld st(4) ; local[2] | zm3 | zm2 | ym2 | xm2 | local[2]
- fmul ds:dword ptr[_vright+8] ; xm3 | zm3 | zm2 | ym2 | xm2 | local[2]
- fxch st(5) ; local[2] | zm3 | zm2 | ym2 | xm2 | xm3
- fmul ds:dword ptr[_vup+8] ; ym3 | zm3 | zm2 | ym2 | xm2 | xm3
- fxch st(1) ; zm3 | ym3 | zm2 | ym2 | xm2 | xm3
- faddp st(2),st(0) ; ym3 | zm4 | ym2 | xm2 | xm3
- fxch st(4) ; xm3 | zm4 | ym2 | xm2 | ym3
- faddp st(3),st(0) ; zm4 | ym2 | xm4 | ym3
- fxch st(1) ; ym2 | zm4 | xm4 | ym3
- faddp st(3),st(0) ; zm4 | xm4 | ym4
-
- fcom ds:dword ptr[Lfp_near_clip]
- fnstsw ax
- test ah,1
- jz LNoClip
- fstp st(0)
- fld ds:dword ptr[Lfp_near_clip]
-
-LNoClip:
-
- fdivr ds:dword ptr[float_1] ; lzi0 | x | y
- fxch st(1) ; x | lzi0 | y
-
-; // FIXME: build x/yscale into transform?
-; scale = xscale * lzi0;
-; u0 = (xcenter + scale*transformed[0]);
- fld ds:dword ptr[_xscale] ; xscale | x | lzi0 | y
- fmul st(0),st(2) ; scale | x | lzi0 | y
- fmulp st(1),st(0) ; scale*x | lzi0 | y
- fadd ds:dword ptr[_xcenter] ; u0 | lzi0 | y
-
-; if (u0 < r_refdef.fvrectx_adj)
-; u0 = r_refdef.fvrectx_adj;
-; if (u0 > r_refdef.fvrectright_adj)
-; u0 = r_refdef.fvrectright_adj;
-; FIXME: use integer compares of floats?
- fcom ds:dword ptr[_r_refdef+rd_fvrectx_adj]
- fnstsw ax
- test ah,1
- jz LClampP0
- fstp st(0)
- fld ds:dword ptr[_r_refdef+rd_fvrectx_adj]
-LClampP0:
- fcom ds:dword ptr[_r_refdef+rd_fvrectright_adj]
- fnstsw ax
- test ah,045h
- jnz LClampP1
- fstp st(0)
- fld ds:dword ptr[_r_refdef+rd_fvrectright_adj]
-LClampP1:
-
- fld st(1) ; lzi0 | u0 | lzi0 | y
-
-; scale = yscale * lzi0;
-; v0 = (ycenter - scale*transformed[1]);
- fmul ds:dword ptr[_yscale] ; scale | u0 | lzi0 | y
- fmulp st(3),st(0) ; u0 | lzi0 | scale*y
- fxch st(2) ; scale*y | lzi0 | u0
- fsubr ds:dword ptr[_ycenter] ; v0 | lzi0 | u0
-
-; if (v0 < r_refdef.fvrecty_adj)
-; v0 = r_refdef.fvrecty_adj;
-; if (v0 > r_refdef.fvrectbottom_adj)
-; v0 = r_refdef.fvrectbottom_adj;
-; FIXME: use integer compares of floats?
- fcom ds:dword ptr[_r_refdef+rd_fvrecty_adj]
- fnstsw ax
- test ah,1
- jz LClampP2
- fstp st(0)
- fld ds:dword ptr[_r_refdef+rd_fvrecty_adj]
-LClampP2:
- fcom ds:dword ptr[_r_refdef+rd_fvrectbottom_adj]
- fnstsw ax
- test ah,045h
- jnz LClampP3
- fstp st(0)
- fld ds:dword ptr[_r_refdef+rd_fvrectbottom_adj]
-LClampP3:
- ret
-
-
-_TEXT ENDS
-endif ;id386
- END
--- a/ref_soft/r_edgea.asm
+++ /dev/null
@@ -1,733 +1,0 @@
- .386P
- .model FLAT
-;
-; r_edgea.s
-; x86 assembly-language edge-processing code.
-;
-
-include qasm.inc
-
-if id386
-
-_DATA SEGMENT
-Ltemp dd 0
-float_1_div_0100000h dd 035800000h ; 1.0/(float)0x100000
-float_point_999 dd 0.999
-float_1_point_001 dd 1.001
-
-_DATA ENDS
-_TEXT SEGMENT
-
-;--------------------------------------------------------------------
-
-edgestoadd equ 4+8 ; note odd stack offsets because of interleaving
-edgelist equ 8+12 ; with pushes
-
- public _R_EdgeCodeStart
-_R_EdgeCodeStart:
-
- public _R_InsertNewEdges
-_R_InsertNewEdges:
- push edi
- push esi ; preserve register variables
- mov edx,ds:dword ptr[edgestoadd+esp]
- push ebx
- mov ecx,ds:dword ptr[edgelist+esp]
-
-LDoNextEdge:
- mov eax,ds:dword ptr[et_u+edx]
- mov edi,edx
-
-LContinueSearch:
- mov ebx,ds:dword ptr[et_u+ecx]
- mov esi,ds:dword ptr[et_next+ecx]
- cmp eax,ebx
- jle LAddedge
- mov ebx,ds:dword ptr[et_u+esi]
- mov ecx,ds:dword ptr[et_next+esi]
- cmp eax,ebx
- jle LAddedge2
- mov ebx,ds:dword ptr[et_u+ecx]
- mov esi,ds:dword ptr[et_next+ecx]
- cmp eax,ebx
- jle LAddedge
- mov ebx,ds:dword ptr[et_u+esi]
- mov ecx,ds:dword ptr[et_next+esi]
- cmp eax,ebx
- jg LContinueSearch
-
-LAddedge2:
- mov edx,ds:dword ptr[et_next+edx]
- mov ebx,ds:dword ptr[et_prev+esi]
- mov ds:dword ptr[et_next+edi],esi
- mov ds:dword ptr[et_prev+edi],ebx
- mov ds:dword ptr[et_next+ebx],edi
- mov ds:dword ptr[et_prev+esi],edi
- mov ecx,esi
-
- cmp edx,0
- jnz LDoNextEdge
- jmp LDone
-
- align 4
-LAddedge:
- mov edx,ds:dword ptr[et_next+edx]
- mov ebx,ds:dword ptr[et_prev+ecx]
- mov ds:dword ptr[et_next+edi],ecx
- mov ds:dword ptr[et_prev+edi],ebx
- mov ds:dword ptr[et_next+ebx],edi
- mov ds:dword ptr[et_prev+ecx],edi
-
- cmp edx,0
- jnz LDoNextEdge
-
-LDone:
- pop ebx ; restore register variables
- pop esi
- pop edi
-
- ret
-
-;--------------------------------------------------------------------
-
-predge equ 4+4
-
- public _R_RemoveEdges
-_R_RemoveEdges:
- push ebx
- mov eax,ds:dword ptr[predge+esp]
-
-Lre_loop:
- mov ecx,ds:dword ptr[et_next+eax]
- mov ebx,ds:dword ptr[et_nextremove+eax]
- mov edx,ds:dword ptr[et_prev+eax]
- test ebx,ebx
- mov ds:dword ptr[et_prev+ecx],edx
- jz Lre_done
- mov ds:dword ptr[et_next+edx],ecx
-
- mov ecx,ds:dword ptr[et_next+ebx]
- mov edx,ds:dword ptr[et_prev+ebx]
- mov eax,ds:dword ptr[et_nextremove+ebx]
- mov ds:dword ptr[et_prev+ecx],edx
- test eax,eax
- mov ds:dword ptr[et_next+edx],ecx
- jnz Lre_loop
-
- pop ebx
- ret
-
-Lre_done:
- mov ds:dword ptr[et_next+edx],ecx
- pop ebx
-
- ret
-
-;--------------------------------------------------------------------
-
-pedgelist equ 4+4 ; note odd stack offset because of interleaving
- ; with pushes
-
- public _R_StepActiveU
-_R_StepActiveU:
- push edi
- mov edx,ds:dword ptr[pedgelist+esp]
- push esi ; preserve register variables
- push ebx
-
- mov esi,ds:dword ptr[et_prev+edx]
-
-LNewEdge:
- mov edi,ds:dword ptr[et_u+esi]
-
-LNextEdge:
- mov eax,ds:dword ptr[et_u+edx]
- mov ebx,ds:dword ptr[et_u_step+edx]
- add eax,ebx
- mov esi,ds:dword ptr[et_next+edx]
- mov ds:dword ptr[et_u+edx],eax
- cmp eax,edi
- jl LPushBack
-
- mov edi,ds:dword ptr[et_u+esi]
- mov ebx,ds:dword ptr[et_u_step+esi]
- add edi,ebx
- mov edx,ds:dword ptr[et_next+esi]
- mov ds:dword ptr[et_u+esi],edi
- cmp edi,eax
- jl LPushBack2
-
- mov eax,ds:dword ptr[et_u+edx]
- mov ebx,ds:dword ptr[et_u_step+edx]
- add eax,ebx
- mov esi,ds:dword ptr[et_next+edx]
- mov ds:dword ptr[et_u+edx],eax
- cmp eax,edi
- jl LPushBack
-
- mov edi,ds:dword ptr[et_u+esi]
- mov ebx,ds:dword ptr[et_u_step+esi]
- add edi,ebx
- mov edx,ds:dword ptr[et_next+esi]
- mov ds:dword ptr[et_u+esi],edi
- cmp edi,eax
- jnl LNextEdge
-
-LPushBack2:
- mov ebx,edx
- mov eax,edi
- mov edx,esi
- mov esi,ebx
-
-LPushBack:
-; push it back to keep it sorted
- mov ecx,ds:dword ptr[et_prev+edx]
- mov ebx,ds:dword ptr[et_next+edx]
-
-; done if the -1 in edge_aftertail triggered this
- cmp edx,offset _edge_aftertail
- jz LUDone
-
-; pull the edge out of the edge list
- mov edi,ds:dword ptr[et_prev+ecx]
- mov ds:dword ptr[et_prev+esi],ecx
- mov ds:dword ptr[et_next+ecx],ebx
-
-; find out where the edge goes in the edge list
-LPushBackLoop:
- mov ecx,ds:dword ptr[et_prev+edi]
- mov ebx,ds:dword ptr[et_u+edi]
- cmp eax,ebx
- jnl LPushBackFound
-
- mov edi,ds:dword ptr[et_prev+ecx]
- mov ebx,ds:dword ptr[et_u+ecx]
- cmp eax,ebx
- jl LPushBackLoop
-
- mov edi,ecx
-
-; put the edge back into the edge list
-LPushBackFound:
- mov ebx,ds:dword ptr[et_next+edi]
- mov ds:dword ptr[et_prev+edx],edi
- mov ds:dword ptr[et_next+edx],ebx
- mov ds:dword ptr[et_next+edi],edx
- mov ds:dword ptr[et_prev+ebx],edx
-
- mov edx,esi
- mov esi,ds:dword ptr[et_prev+esi]
-
- cmp edx,offset _edge_tail
- jnz LNewEdge
-
-LUDone:
- pop ebx ; restore register variables
- pop esi
- pop edi
-
- ret
-
-;--------------------------------------------------------------------
-
-surf equ 4 ; note this is loaded before any pushes
-
- align 4
-TrailingEdge:
- mov eax,ds:dword ptr[st_spanstate+esi] ; check for edge inversion
- dec eax
- jnz LInverted
-
- mov ds:dword ptr[st_spanstate+esi],eax
- mov ecx,ds:dword ptr[st_insubmodel+esi]
- mov edx,ds:dword ptr[12345678h] ; surfaces[1].st_next
-LPatch0:
- mov eax,ds:dword ptr[_r_bmodelactive]
- sub eax,ecx
- cmp edx,esi
- mov ds:dword ptr[_r_bmodelactive],eax
- jnz LNoEmit ; surface isn't on top, just remove
-
-; emit a span (current top going away)
- mov eax,ds:dword ptr[et_u+ebx]
- shr eax,20 ; iu = integral pixel u
- mov edx,ds:dword ptr[st_last_u+esi]
- mov ecx,ds:dword ptr[st_next+esi]
- cmp eax,edx
- jle LNoEmit2 ; iu <= surf->last_u, so nothing to emit
-
- mov ds:dword ptr[st_last_u+ecx],eax ; surf->next->last_u = iu;
- sub eax,edx
- mov ds:dword ptr[espan_t_u+ebp],edx ; span->u = surf->last_u;
-
- mov ds:dword ptr[espan_t_count+ebp],eax ; span->count = iu - span->u;
- mov eax,ds:dword ptr[_current_iv]
- mov ds:dword ptr[espan_t_v+ebp],eax ; span->v = current_iv;
- mov eax,ds:dword ptr[st_spans+esi]
- mov ds:dword ptr[espan_t_pnext+ebp],eax ; span->pnext = surf->spans;
- mov ds:dword ptr[st_spans+esi],ebp ; surf->spans = span;
- add ebp,offset espan_t_size
-
- mov edx,ds:dword ptr[st_next+esi] ; remove the surface from the surface
- mov esi,ds:dword ptr[st_prev+esi] ; stack
-
- mov ds:dword ptr[st_next+esi],edx
- mov ds:dword ptr[st_prev+edx],esi
- ret
-
-LNoEmit2:
- mov ds:dword ptr[st_last_u+ecx],eax ; surf->next->last_u = iu;
- mov edx,ds:dword ptr[st_next+esi] ; remove the surface from the surface
- mov esi,ds:dword ptr[st_prev+esi] ; stack
-
- mov ds:dword ptr[st_next+esi],edx
- mov ds:dword ptr[st_prev+edx],esi
- ret
-
-LNoEmit:
- mov edx,ds:dword ptr[st_next+esi] ; remove the surface from the surface
- mov esi,ds:dword ptr[st_prev+esi] ; stack
-
- mov ds:dword ptr[st_next+esi],edx
- mov ds:dword ptr[st_prev+edx],esi
- ret
-
-LInverted:
- mov ds:dword ptr[st_spanstate+esi],eax
- ret
-
-;--------------------------------------------------------------------
-
-; trailing edge only
-Lgs_trailing:
- push offset Lgs_nextedge
- jmp TrailingEdge
-
-
- public _R_GenerateSpans
-_R_GenerateSpans:
- push ebp ; preserve caller's stack frame
- push edi
- push esi ; preserve register variables
- push ebx
-
-; clear active surfaces to just the background surface
- mov eax,ds:dword ptr[_surfaces]
- mov edx,ds:dword ptr[_edge_head_u_shift20]
- add eax,offset st_size
-; %ebp = span_p throughout
- mov ebp,ds:dword ptr[_span_p]
-
- mov ds:dword ptr[_r_bmodelactive],0
-
- mov ds:dword ptr[st_next+eax],eax
- mov ds:dword ptr[st_prev+eax],eax
- mov ds:dword ptr[st_last_u+eax],edx
- mov ebx,ds:dword ptr[_edge_head+et_next] ; edge=edge_head.next
-
-; generate spans
- cmp ebx,offset _edge_tail ; done if empty list
- jz Lgs_lastspan
-
-Lgs_edgeloop:
-
- mov edi,ds:dword ptr[et_surfs+ebx]
- mov eax,ds:dword ptr[_surfaces]
- mov esi,edi
- and edi,0FFFF0000h
- and esi,0FFFFh
- jz Lgs_leading ; not a trailing edge
-
-; it has a left surface, so a surface is going away for this span
- shl esi,offset SURF_T_SHIFT
- add esi,eax
- test edi,edi
- jz Lgs_trailing
-
-; both leading and trailing
- call near ptr TrailingEdge
- mov eax,ds:dword ptr[_surfaces]
-
-; ---------------------------------------------------------------
-; handle a leading edge
-; ---------------------------------------------------------------
-
-Lgs_leading:
- shr edi,16-SURF_T_SHIFT
- mov eax,ds:dword ptr[_surfaces]
- add edi,eax
- mov esi,ds:dword ptr[12345678h] ; surf2 = surfaces[1].next;
-LPatch2:
- mov edx,ds:dword ptr[st_spanstate+edi]
- mov eax,ds:dword ptr[st_insubmodel+edi]
- test eax,eax
- jnz Lbmodel_leading
-
-; handle a leading non-bmodel edge
-
-; don't start a span if this is an inverted span, with the end edge preceding
-; the start edge (that is, we've already seen the end edge)
- test edx,edx
- jnz Lxl_done
-
-
-; if (surf->key < surf2->key)
-; goto newtop;
- inc edx
- mov eax,ds:dword ptr[st_key+edi]
- mov ds:dword ptr[st_spanstate+edi],edx
- mov ecx,ds:dword ptr[st_key+esi]
- cmp eax,ecx
- jl Lnewtop
-
-; main sorting loop to search through surface stack until insertion point
-; found. Always terminates because background surface is sentinel
-; do
-; {
-; surf2 = surf2->next;
-; } while (surf->key >= surf2->key);
-Lsortloopnb:
- mov esi,ds:dword ptr[st_next+esi]
- mov ecx,ds:dword ptr[st_key+esi]
- cmp eax,ecx
- jge Lsortloopnb
-
- jmp LInsertAndExit
-
-
-; handle a leading bmodel edge
- align 4
-Lbmodel_leading:
-
-; don't start a span if this is an inverted span, with the end edge preceding
-; the start edge (that is, we've already seen the end edge)
- test edx,edx
- jnz Lxl_done
-
- mov ecx,ds:dword ptr[_r_bmodelactive]
- inc edx
- inc ecx
- mov ds:dword ptr[st_spanstate+edi],edx
- mov ds:dword ptr[_r_bmodelactive],ecx
-
-; if (surf->key < surf2->key)
-; goto newtop;
- mov eax,ds:dword ptr[st_key+edi]
- mov ecx,ds:dword ptr[st_key+esi]
- cmp eax,ecx
- jl Lnewtop
-
-; if ((surf->key == surf2->key) && surf->insubmodel)
-; {
- jz Lzcheck_for_newtop
-
-; main sorting loop to search through surface stack until insertion point
-; found. Always terminates because background surface is sentinel
-; do
-; {
-; surf2 = surf2->next;
-; } while (surf->key > surf2->key);
-Lsortloop:
- mov esi,ds:dword ptr[st_next+esi]
- mov ecx,ds:dword ptr[st_key+esi]
- cmp eax,ecx
- jg Lsortloop
-
- jne LInsertAndExit
-
-; Do 1/z sorting to see if we've arrived in the right position
- mov eax,ds:dword ptr[et_u+ebx]
- sub eax,0FFFFFh
- mov ds:dword ptr[Ltemp],eax
- fild ds:dword ptr[Ltemp]
-
- fmul ds:dword ptr[float_1_div_0100000h] ; fu = (float)(edge->u - 0xFFFFF) *
-; (1.0 / 0x100000);
-
- fld st(0) ; fu | fu
- fmul ds:dword ptr[st_d_zistepu+edi] ; fu*surf->d_zistepu | fu
- fld ds:dword ptr[_fv] ; fv | fu*surf->d_zistepu | fu
- fmul ds:dword ptr[st_d_zistepv+edi] ; fv*surf->d_zistepv | fu*surf->d_zistepu | fu
- fxch st(1) ; fu*surf->d_zistepu | fv*surf->d_zistepv | fu
- fadd ds:dword ptr[st_d_ziorigin+edi] ; fu*surf->d_zistepu + surf->d_ziorigin |
-; fv*surf->d_zistepv | fu
-
- fld ds:dword ptr[st_d_zistepu+esi] ; surf2->d_zistepu |
-; fu*surf->d_zistepu + surf->d_ziorigin |
-; fv*surf->d_zistepv | fu
- fmul st(0),st(3) ; fu*surf2->d_zistepu |
-; fu*surf->d_zistepu + surf->d_ziorigin |
-; fv*surf->d_zistepv | fu
- fxch st(1) ; fu*surf->d_zistepu + surf->d_ziorigin |
-; fu*surf2->d_zistepu |
-; fv*surf->d_zistepv | fu
- faddp st(2),st(0) ; fu*surf2->d_zistepu | newzi | fu
-
- fld ds:dword ptr[_fv] ; fv | fu*surf2->d_zistepu | newzi | fu
- fmul ds:dword ptr[st_d_zistepv+esi] ; fv*surf2->d_zistepv |
-; fu*surf2->d_zistepu | newzi | fu
- fld st(2) ; newzi | fv*surf2->d_zistepv |
-; fu*surf2->d_zistepu | newzi | fu
- fmul ds:dword ptr[float_point_999] ; newzibottom | fv*surf2->d_zistepv |
-; fu*surf2->d_zistepu | newzi | fu
-
- fxch st(2) ; fu*surf2->d_zistepu | fv*surf2->d_zistepv |
-; newzibottom | newzi | fu
- fadd ds:dword ptr[st_d_ziorigin+esi] ; fu*surf2->d_zistepu + surf2->d_ziorigin |
-; fv*surf2->d_zistepv | newzibottom | newzi |
-; fu
- faddp st(1),st(0) ; testzi | newzibottom | newzi | fu
- fxch st(1) ; newzibottom | testzi | newzi | fu
-
-; if (newzibottom >= testzi)
-; goto Lgotposition;
-
- fcomp st(1) ; testzi | newzi | fu
-
- fxch st(1) ; newzi | testzi | fu
- fmul ds:dword ptr[float_1_point_001] ; newzitop | testzi | fu
- fxch st(1) ; testzi | newzitop | fu
-
- fnstsw ax
- test ah,001h
- jz Lgotposition_fpop3
-
-; if (newzitop >= testzi)
-; {
-
- fcomp st(1) ; newzitop | fu
- fnstsw ax
- test ah,045h
- jz Lsortloop_fpop2
-
-; if (surf->d_zistepu >= surf2->d_zistepu)
-; goto newtop;
-
- fld ds:dword ptr[st_d_zistepu+edi] ; surf->d_zistepu | newzitop| fu
- fcomp ds:dword ptr[st_d_zistepu+esi] ; newzitop | fu
- fnstsw ax
- test ah,001h
- jz Lgotposition_fpop2
-
- fstp st(0) ; clear the FPstack
- fstp st(0)
- mov eax,ds:dword ptr[st_key+edi]
- jmp Lsortloop
-
-
-Lgotposition_fpop3:
- fstp st(0)
-Lgotposition_fpop2:
- fstp st(0)
- fstp st(0)
- jmp LInsertAndExit
-
-
-; emit a span (obscures current top)
-
-Lnewtop_fpop3:
- fstp st(0)
-Lnewtop_fpop2:
- fstp st(0)
- fstp st(0)
- mov eax,ds:dword ptr[st_key+edi] ; reload the sorting key
-
-Lnewtop:
- mov eax,ds:dword ptr[et_u+ebx]
- mov edx,ds:dword ptr[st_last_u+esi]
- shr eax,20 ; iu = integral pixel u
- mov ds:dword ptr[st_last_u+edi],eax ; surf->last_u = iu;
- cmp eax,edx
- jle LInsertAndExit ; iu <= surf->last_u, so nothing to emit
-
- sub eax,edx
- mov ds:dword ptr[espan_t_u+ebp],edx ; span->u = surf->last_u;
-
- mov ds:dword ptr[espan_t_count+ebp],eax ; span->count = iu - span->u;
- mov eax,ds:dword ptr[_current_iv]
- mov ds:dword ptr[espan_t_v+ebp],eax ; span->v = current_iv;
- mov eax,ds:dword ptr[st_spans+esi]
- mov ds:dword ptr[espan_t_pnext+ebp],eax ; span->pnext = surf->spans;
- mov ds:dword ptr[st_spans+esi],ebp ; surf->spans = span;
- add ebp,offset espan_t_size
-
-LInsertAndExit:
-; insert before surf2
- mov ds:dword ptr[st_next+edi],esi ; surf->next = surf2;
- mov eax,ds:dword ptr[st_prev+esi]
- mov ds:dword ptr[st_prev+edi],eax ; surf->prev = surf2->prev;
- mov ds:dword ptr[st_prev+esi],edi ; surf2->prev = surf;
- mov ds:dword ptr[st_next+eax],edi ; surf2->prev->next = surf;
-
-; ---------------------------------------------------------------
-; leading edge done
-; ---------------------------------------------------------------
-
-; ---------------------------------------------------------------
-; see if there are any more edges
-; ---------------------------------------------------------------
-
-Lgs_nextedge:
- mov ebx,ds:dword ptr[et_next+ebx]
- cmp ebx,offset _edge_tail
- jnz Lgs_edgeloop
-
-; clean up at the right edge
-Lgs_lastspan:
-
-; now that we've reached the right edge of the screen, we're done with any
-; unfinished surfaces, so emit a span for whatever's on top
- mov esi,ds:dword ptr[12345678h] ; surfaces[1].st_next
-LPatch3:
- mov eax,ds:dword ptr[_edge_tail_u_shift20]
- xor ecx,ecx
- mov edx,ds:dword ptr[st_last_u+esi]
- sub eax,edx
- jle Lgs_resetspanstate
-
- mov ds:dword ptr[espan_t_u+ebp],edx
- mov ds:dword ptr[espan_t_count+ebp],eax
- mov eax,ds:dword ptr[_current_iv]
- mov ds:dword ptr[espan_t_v+ebp],eax
- mov eax,ds:dword ptr[st_spans+esi]
- mov ds:dword ptr[espan_t_pnext+ebp],eax
- mov ds:dword ptr[st_spans+esi],ebp
- add ebp,offset espan_t_size
-
-; reset spanstate for all surfaces in the surface stack
-Lgs_resetspanstate:
- mov ds:dword ptr[st_spanstate+esi],ecx
- mov esi,ds:dword ptr[st_next+esi]
- cmp esi,012345678h ; &surfaces[1]
-LPatch4:
- jnz Lgs_resetspanstate
-
-; store the final span_p
- mov ds:dword ptr[_span_p],ebp
-
- pop ebx ; restore register variables
- pop esi
- pop edi
- pop ebp ; restore the caller's stack frame
- ret
-
-
-; ---------------------------------------------------------------
-; 1/z sorting for bmodels in the same leaf
-; ---------------------------------------------------------------
- align 4
-Lxl_done:
- inc edx
- mov ds:dword ptr[st_spanstate+edi],edx
-
- jmp Lgs_nextedge
-
-
- align 4
-Lzcheck_for_newtop:
- mov eax,ds:dword ptr[et_u+ebx]
- sub eax,0FFFFFh
- mov ds:dword ptr[Ltemp],eax
- fild ds:dword ptr[Ltemp]
-
- fmul ds:dword ptr[float_1_div_0100000h] ; fu = (float)(edge->u - 0xFFFFF) *
-; (1.0 / 0x100000);
-
- fld st(0) ; fu | fu
- fmul ds:dword ptr[st_d_zistepu+edi] ; fu*surf->d_zistepu | fu
- fld ds:dword ptr[_fv] ; fv | fu*surf->d_zistepu | fu
- fmul ds:dword ptr[st_d_zistepv+edi] ; fv*surf->d_zistepv | fu*surf->d_zistepu | fu
- fxch st(1) ; fu*surf->d_zistepu | fv*surf->d_zistepv | fu
- fadd ds:dword ptr[st_d_ziorigin+edi] ; fu*surf->d_zistepu + surf->d_ziorigin |
-; fv*surf->d_zistepv | fu
-
- fld ds:dword ptr[st_d_zistepu+esi] ; surf2->d_zistepu |
-; fu*surf->d_zistepu + surf->d_ziorigin |
-; fv*surf->d_zistepv | fu
- fmul st(0),st(3) ; fu*surf2->d_zistepu |
-; fu*surf->d_zistepu + surf->d_ziorigin |
-; fv*surf->d_zistepv | fu
- fxch st(1) ; fu*surf->d_zistepu + surf->d_ziorigin |
-; fu*surf2->d_zistepu |
-; fv*surf->d_zistepv | fu
- faddp st(2),st(0) ; fu*surf2->d_zistepu | newzi | fu
-
- fld ds:dword ptr[_fv] ; fv | fu*surf2->d_zistepu | newzi | fu
- fmul ds:dword ptr[st_d_zistepv+esi] ; fv*surf2->d_zistepv |
-; fu*surf2->d_zistepu | newzi | fu
- fld st(2) ; newzi | fv*surf2->d_zistepv |
-; fu*surf2->d_zistepu | newzi | fu
- fmul ds:dword ptr[float_point_999] ; newzibottom | fv*surf2->d_zistepv |
-; fu*surf2->d_zistepu | newzi | fu
-
- fxch st(2) ; fu*surf2->d_zistepu | fv*surf2->d_zistepv |
-; newzibottom | newzi | fu
- fadd ds:dword ptr[st_d_ziorigin+esi] ; fu*surf2->d_zistepu + surf2->d_ziorigin |
-; fv*surf2->d_zistepv | newzibottom | newzi |
-; fu
- faddp st(1),st(0) ; testzi | newzibottom | newzi | fu
- fxch st(1) ; newzibottom | testzi | newzi | fu
-
-; if (newzibottom >= testzi)
-; goto newtop;
-
- fcomp st(1) ; testzi | newzi | fu
-
- fxch st(1) ; newzi | testzi | fu
- fmul ds:dword ptr[float_1_point_001] ; newzitop | testzi | fu
- fxch st(1) ; testzi | newzitop | fu
-
- fnstsw ax
- test ah,001h
- jz Lnewtop_fpop3
-
-; if (newzitop >= testzi)
-; {
-
- fcomp st(1) ; newzitop | fu
- fnstsw ax
- test ah,045h
- jz Lsortloop_fpop2
-
-; if (surf->d_zistepu >= surf2->d_zistepu)
-; goto newtop;
-
- fld ds:dword ptr[st_d_zistepu+edi] ; surf->d_zistepu | newzitop | fu
- fcomp ds:dword ptr[st_d_zistepu+esi] ; newzitop | fu
- fnstsw ax
- test ah,001h
- jz Lnewtop_fpop2
-
-Lsortloop_fpop2:
- fstp st(0) ; clear the FP stack
- fstp st(0)
- mov eax,ds:dword ptr[st_key+edi]
- jmp Lsortloop
-
-
- public _R_EdgeCodeEnd
-_R_EdgeCodeEnd:
-
-
-;----------------------------------------------------------------------
-; Surface array address code patching routine
-;----------------------------------------------------------------------
-
- align 4
- public _R_SurfacePatch
-_R_SurfacePatch:
-
- mov eax,ds:dword ptr[_surfaces]
- add eax,offset st_size
- mov ds:dword ptr[LPatch4-4],eax
-
- add eax,offset st_next
- mov ds:dword ptr[LPatch0-4],eax
- mov ds:dword ptr[LPatch2-4],eax
- mov ds:dword ptr[LPatch3-4],eax
-
- ret
-
-_TEXT ENDS
-endif ;id386
- END
--- a/ref_soft/r_polysa.asm
+++ /dev/null
@@ -1,812 +1,0 @@
- .386P
- .model FLAT
-;
-; d_polysa.s
-; x86 assembly-language polygon model drawing code
-;
-
-include qasm.inc
-include d_if.inc
-
-if id386
-
-; !!! if this is changed, it must be changed in d_polyse.c too !!!
-;DPS_MAXSPANS equ (MAXHEIGHT+1)
-; 1 extra for spanpackage that marks end
-
-;SPAN_SIZE equ (((DPS_MAXSPANS + 1 + ((CACHE_SIZE - 1) / spanpackage_t_size)) + 1) * spanpackage_t_size)
-
-MASK_1K equ 03FFh
-
-_DATA SEGMENT
-
- align 4
-;p10_minus_p20 dd 0
-;p01_minus_p21 dd 0
-;temp0 dd 0
-;temp1 dd 0
-;Ltemp dd 0
-
-aff8entryvec_table dd LDraw8, LDraw7, LDraw6, LDraw5
- dd LDraw4, LDraw3, LDraw2, LDraw1, LDraw8IR, LDraw7IR, LDraw6IR, LDraw5IR, LDraw4IR, LDraw3IR, LDraw2IR, LDraw1IR
-
-lzistepx dd 0
-
- externdef _rand1k:dword
- externdef _rand1k_index:dword
- externdef _alias_colormap:dword
-
-;PGM
- externdef _irtable:dword
- externdef _iractive:byte
-;PGM
-
-_DATA ENDS
-_TEXT SEGMENT
-
-
-;----------------------------------------------------------------------
-; 8-bpp horizontal span drawing code for affine polygons, with smooth
-; shading and no transparency
-;----------------------------------------------------------------------
-
-;===================================
-;===================================
-
-pspans equ 4+8
-
- public _D_PolysetAff8Start
-_D_PolysetAff8Start:
-
- public _R_PolysetDrawSpans8_Opaque
-_R_PolysetDrawSpans8_Opaque:
-
- push esi ; preserve register variables
- push ebx
-
- mov esi,ds:dword ptr[pspans+esp] ; point to the first span descriptor
- mov ecx,ds:dword ptr[_r_zistepx]
-
- push ebp ; preserve caller's stack frame
- push edi
-
- ror ecx,16 ; put high 16 bits of 1/z step in low word
- mov edx,ds:dword ptr[spanpackage_t_count+esi]
-
- mov ds:dword ptr[lzistepx],ecx
-
-LSpanLoop:
-
-; lcount = d_aspancount - pspanpackage->count;
-;
-; errorterm += erroradjustup;
-; if (errorterm >= 0)
-; {
-; d_aspancount += d_countextrastep;
-; errorterm -= erroradjustdown;
-; }
-; else
-; {
-; d_aspancount += ubasestep;
-; }
-
- mov eax,ds:dword ptr[_d_aspancount]
- sub eax,edx
-
- mov edx,ds:dword ptr[_erroradjustup]
- mov ebx,ds:dword ptr[_errorterm]
- add ebx,edx
- js LNoTurnover
-
- mov edx,ds:dword ptr[_erroradjustdown]
- mov edi,ds:dword ptr[_d_countextrastep]
- sub ebx,edx
- mov ebp,ds:dword ptr[_d_aspancount]
- mov ds:dword ptr[_errorterm],ebx
- add ebp,edi
- mov ds:dword ptr[_d_aspancount],ebp
- jmp LRightEdgeStepped
-
-LNoTurnover:
- mov edi,ds:dword ptr[_d_aspancount]
- mov edx,ds:dword ptr[_ubasestep]
- mov ds:dword ptr[_errorterm],ebx
- add edi,edx
- mov ds:dword ptr[_d_aspancount],edi
-
-LRightEdgeStepped:
- cmp eax,1
-
- jl LNextSpan
- jz LExactlyOneLong
-
-;
-; set up advancetable
-;
- mov ecx,ds:dword ptr[_a_ststepxwhole]
- mov edx,ds:dword ptr[_r_affinetridesc+atd_skinwidth]
-
- mov ds:dword ptr[advancetable+4],ecx ; advance base in t
- add ecx,edx
-
- mov ds:dword ptr[advancetable],ecx ; advance extra in t
- mov ecx,ds:dword ptr[_a_tstepxfrac]
-
- mov cx,ds:word ptr[_r_lstepx]
- mov edx,eax ; count
-
- mov ds:dword ptr[tstep],ecx
- add edx,7
-
- shr edx,3 ; count of full and partial loops
- mov ebx,ds:dword ptr[spanpackage_t_sfrac+esi]
-
- mov bx,dx
- mov ecx,ds:dword ptr[spanpackage_t_pz+esi]
-
- neg eax
-
- mov edi,ds:dword ptr[spanpackage_t_pdest+esi]
- and eax,7 ; 0->0, 1->7, 2->6, ... , 7->1
-
- sub edi,eax ; compensate for hardwired offsets
- sub ecx,eax
-
- sub ecx,eax
- mov edx,ds:dword ptr[spanpackage_t_tfrac+esi]
-
- mov dx,ds:word ptr[spanpackage_t_light+esi]
- mov ebp,ds:dword ptr[spanpackage_t_zi+esi]
-
- ror ebp,16 ; put high 16 bits of 1/z in low word
- push esi
-
- push eax
- mov al, [_iractive]
- cmp al, 0
- pop eax
- jne IRInsert
-
- mov esi,ds:dword ptr[spanpackage_t_ptex+esi]
- jmp dword ptr[aff8entryvec_table+eax*4]
-
-IRInsert:
- mov esi,ds:dword ptr[spanpackage_t_ptex+esi]
- add eax, 8
- jmp dword ptr[aff8entryvec_table+eax*4]
-
-; %bx = count of full and partial loops
-; %ebx high word = sfrac
-; %ecx = pz
-; %dx = light
-; %edx high word = tfrac
-; %esi = ptex
-; %edi = pdest
-; %ebp = 1/z
-; tstep low word = C(r_lstepx)
-; tstep high word = C(a_tstepxfrac)
-; C(a_sstepxfrac) low word = 0
-; C(a_sstepxfrac) high word = C(a_sstepxfrac)
-
-;===
-;Standard Draw Loop
-;===
-LDrawLoop:
-
- mov al,[_iractive]
- cmp al,0
- jne LDrawLoopIR
-
-; FIXME: do we need to clamp light? We may need at least a buffer bit to
-; keep it from poking into tfrac and causing problems
-
-LDraw8:
- cmp bp,ds:word ptr[ecx]
- jl Lp1
- xor eax,eax
- mov ah,dh
- mov al,ds:byte ptr[esi]
- mov ds:word ptr[ecx],bp
- mov al,ds:byte ptr[12345678h+eax]
-LPatch8:
- mov ds:byte ptr[edi],al
-Lp1:
- add edx,ds:dword ptr[tstep]
- sbb eax,eax
- add ebp,ds:dword ptr[lzistepx]
- adc ebp,0
- add ebx,ds:dword ptr[_a_sstepxfrac]
- adc esi,ds:dword ptr[advancetable+4+eax*4]
-
-LDraw7:
- cmp bp,ds:word ptr[2+ecx]
- jl Lp2
- xor eax,eax
- mov ah,dh
- mov al,ds:byte ptr[esi]
- mov ds:word ptr[2+ecx],bp
- mov al,ds:byte ptr[12345678h+eax]
-LPatch7:
- mov ds:byte ptr[1+edi],al
-Lp2:
- add edx,ds:dword ptr[tstep]
- sbb eax,eax
- add ebp,ds:dword ptr[lzistepx]
- adc ebp,0
- add ebx,ds:dword ptr[_a_sstepxfrac]
- adc esi,ds:dword ptr[advancetable+4+eax*4]
-
-LDraw6:
- cmp bp,ds:word ptr[4+ecx]
- jl Lp3
- xor eax,eax
- mov ah,dh
- mov al,ds:byte ptr[esi]
- mov ds:word ptr[4+ecx],bp
- mov al,ds:byte ptr[12345678h+eax]
-LPatch6:
- mov ds:byte ptr[2+edi],al
-Lp3:
- add edx,ds:dword ptr[tstep]
- sbb eax,eax
- add ebp,ds:dword ptr[lzistepx]
- adc ebp,0
- add ebx,ds:dword ptr[_a_sstepxfrac]
- adc esi,ds:dword ptr[advancetable+4+eax*4]
-
-LDraw5:
- cmp bp,ds:word ptr[6+ecx]
- jl Lp4
- xor eax,eax
- mov ah,dh
- mov al,ds:byte ptr[esi]
- mov ds:word ptr[6+ecx],bp
- mov al,ds:byte ptr[12345678h+eax]
-LPatch5:
- mov ds:byte ptr[3+edi],al
-Lp4:
- add edx,ds:dword ptr[tstep]
- sbb eax,eax
- add ebp,ds:dword ptr[lzistepx]
- adc ebp,0
- add ebx,ds:dword ptr[_a_sstepxfrac]
- adc esi,ds:dword ptr[advancetable+4+eax*4]
-
-LDraw4:
- cmp bp,ds:word ptr[8+ecx]
- jl Lp5
- xor eax,eax
- mov ah,dh
- mov al,ds:byte ptr[esi]
- mov ds:word ptr[8+ecx],bp
- mov al,ds:byte ptr[12345678h+eax]
-LPatch4:
- mov ds:byte ptr[4+edi],al
-Lp5:
- add edx,ds:dword ptr[tstep]
- sbb eax,eax
- add ebp,ds:dword ptr[lzistepx]
- adc ebp,0
- add ebx,ds:dword ptr[_a_sstepxfrac]
- adc esi,ds:dword ptr[advancetable+4+eax*4]
-
-LDraw3:
- cmp bp,ds:word ptr[10+ecx]
- jl Lp6
- xor eax,eax
- mov ah,dh
- mov al,ds:byte ptr[esi]
- mov ds:word ptr[10+ecx],bp
- mov al,ds:byte ptr[12345678h+eax]
-LPatch3:
- mov ds:byte ptr[5+edi],al
-Lp6:
- add edx,ds:dword ptr[tstep]
- sbb eax,eax
- add ebp,ds:dword ptr[lzistepx]
- adc ebp,0
- add ebx,ds:dword ptr[_a_sstepxfrac]
- adc esi,ds:dword ptr[advancetable+4+eax*4]
-
-LDraw2:
- cmp bp,ds:word ptr[12+ecx]
- jl Lp7
- xor eax,eax
- mov ah,dh
- mov al,ds:byte ptr[esi]
- mov ds:word ptr[12+ecx],bp
- mov al,ds:byte ptr[12345678h+eax]
-LPatch2:
- mov ds:byte ptr[6+edi],al
-Lp7:
- add edx,ds:dword ptr[tstep]
- sbb eax,eax
- add ebp,ds:dword ptr[lzistepx]
- adc ebp,0
- add ebx,ds:dword ptr[_a_sstepxfrac]
- adc esi,ds:dword ptr[advancetable+4+eax*4]
-
-LDraw1:
- cmp bp,ds:word ptr[14+ecx]
- jl Lp8
- xor eax,eax
- mov ah,dh
- mov al,ds:byte ptr[esi]
- mov ds:word ptr[14+ecx],bp
- mov al,ds:byte ptr[12345678h+eax]
-LPatch1:
- mov ds:byte ptr[7+edi],al
-Lp8:
- add edx,ds:dword ptr[tstep]
- sbb eax,eax
- add ebp,ds:dword ptr[lzistepx]
- adc ebp,0
- add ebx,ds:dword ptr[_a_sstepxfrac]
- adc esi,ds:dword ptr[advancetable+4+eax*4]
-
- add edi,8
- add ecx,16
-
- dec bx
- jnz LDrawLoop
-
- pop esi ; restore spans pointer
-LNextSpan:
- add esi,offset spanpackage_t_size ; point to next span
-LNextSpanESISet:
- mov edx,ds:dword ptr[spanpackage_t_count+esi]
- cmp edx,offset -999999 ; any more spans?
- jnz LSpanLoop ; yes
-
- pop edi
- pop ebp ; restore the caller's stack frame
- pop ebx ; restore register variables
- pop esi
- ret
-
-;=======
-; IR active draw loop
-;=======
-LDrawLoopIR:
-
-; FIXME: do we need to clamp light? We may need at least a buffer bit to
-; keep it from poking into tfrac and causing problems
-
-LDraw8IR:
- cmp bp,ds:word ptr[ecx]
- jl Lp1IR
- xor eax,eax
- mov al,ds:byte ptr[esi]
- mov al,ds:byte ptr[_irtable+eax]
- mov ds:word ptr[ecx],bp
- mov al,ds:byte ptr[12345678h+eax]
-LPatch8IR:
- mov ds:byte ptr[edi],al
-Lp1IR:
- add edx,ds:dword ptr[tstep]
- sbb eax,eax
- add ebp,ds:dword ptr[lzistepx]
- adc ebp,0
- add ebx,ds:dword ptr[_a_sstepxfrac]
- adc esi,ds:dword ptr[advancetable+4+eax*4]
-
-LDraw7IR:
- cmp bp,ds:word ptr[2+ecx]
- jl Lp2IR
- xor eax,eax
- mov al,ds:byte ptr[esi]
- mov al,ds:byte ptr[_irtable+eax]
- mov ds:word ptr[2+ecx],bp
- mov al,ds:byte ptr[12345678h+eax]
-LPatch7IR:
- mov ds:byte ptr[1+edi],al
-Lp2IR:
- add edx,ds:dword ptr[tstep]
- sbb eax,eax
- add ebp,ds:dword ptr[lzistepx]
- adc ebp,0
- add ebx,ds:dword ptr[_a_sstepxfrac]
- adc esi,ds:dword ptr[advancetable+4+eax*4]
-
-LDraw6IR:
- cmp bp,ds:word ptr[4+ecx]
- jl Lp3IR
- xor eax,eax
- mov al,ds:byte ptr[esi]
- mov al,ds:byte ptr[_irtable+eax]
- mov ds:word ptr[4+ecx],bp
- mov al,ds:byte ptr[12345678h+eax]
-LPatch6IR:
- mov ds:byte ptr[2+edi],al
-Lp3IR:
- add edx,ds:dword ptr[tstep]
- sbb eax,eax
- add ebp,ds:dword ptr[lzistepx]
- adc ebp,0
- add ebx,ds:dword ptr[_a_sstepxfrac]
- adc esi,ds:dword ptr[advancetable+4+eax*4]
-
-LDraw5IR:
- cmp bp,ds:word ptr[6+ecx]
- jl Lp4IR
- xor eax,eax
- mov al,ds:byte ptr[esi]
- mov al,ds:byte ptr[_irtable+eax]
- mov ds:word ptr[6+ecx],bp
- mov al,ds:byte ptr[12345678h+eax]
-LPatch5IR:
- mov ds:byte ptr[3+edi],al
-Lp4IR:
- add edx,ds:dword ptr[tstep]
- sbb eax,eax
- add ebp,ds:dword ptr[lzistepx]
- adc ebp,0
- add ebx,ds:dword ptr[_a_sstepxfrac]
- adc esi,ds:dword ptr[advancetable+4+eax*4]
-
-LDraw4IR:
- cmp bp,ds:word ptr[8+ecx]
- jl Lp5IR
- xor eax,eax
- mov al,ds:byte ptr[esi]
- mov al,ds:byte ptr[_irtable+eax]
- mov ds:word ptr[8+ecx],bp
- mov al,ds:byte ptr[12345678h+eax]
-LPatch4IR:
- mov ds:byte ptr[4+edi],al
-Lp5IR:
- add edx,ds:dword ptr[tstep]
- sbb eax,eax
- add ebp,ds:dword ptr[lzistepx]
- adc ebp,0
- add ebx,ds:dword ptr[_a_sstepxfrac]
- adc esi,ds:dword ptr[advancetable+4+eax*4]
-
-LDraw3IR:
- cmp bp,ds:word ptr[10+ecx]
- jl Lp6IR
- xor eax,eax
- mov al,ds:byte ptr[esi]
- mov al,ds:byte ptr[_irtable+eax]
- mov ds:word ptr[10+ecx],bp
- mov al,ds:byte ptr[12345678h+eax]
-LPatch3IR:
- mov ds:byte ptr[5+edi],al
-Lp6IR:
- add edx,ds:dword ptr[tstep]
- sbb eax,eax
- add ebp,ds:dword ptr[lzistepx]
- adc ebp,0
- add ebx,ds:dword ptr[_a_sstepxfrac]
- adc esi,ds:dword ptr[advancetable+4+eax*4]
-
-LDraw2IR:
- cmp bp,ds:word ptr[12+ecx]
- jl Lp7IR
- xor eax,eax
- mov al,ds:byte ptr[esi]
- mov al,ds:byte ptr[_irtable+eax]
- mov ds:word ptr[12+ecx],bp
- mov al,ds:byte ptr[12345678h+eax]
-LPatch2IR:
- mov ds:byte ptr[6+edi],al
-Lp7IR:
- add edx,ds:dword ptr[tstep]
- sbb eax,eax
- add ebp,ds:dword ptr[lzistepx]
- adc ebp,0
- add ebx,ds:dword ptr[_a_sstepxfrac]
- adc esi,ds:dword ptr[advancetable+4+eax*4]
-
-LDraw1IR:
- cmp bp,ds:word ptr[14+ecx]
- jl Lp8IR
- xor eax,eax
- mov al,ds:byte ptr[esi]
- mov al,ds:byte ptr[_irtable+eax]
- mov ds:word ptr[14+ecx],bp
- mov al,ds:byte ptr[12345678h+eax]
-LPatch1IR:
- mov ds:byte ptr[7+edi],al
-Lp8IR:
- add edx,ds:dword ptr[tstep]
- sbb eax,eax
- add ebp,ds:dword ptr[lzistepx]
- adc ebp,0
- add ebx,ds:dword ptr[_a_sstepxfrac]
- adc esi,ds:dword ptr[advancetable+4+eax*4]
-
- add edi,8
- add ecx,16
-
- dec bx
- jnz LDrawLoopIR
-
- pop esi ; restore spans pointer
-LNextSpanIR:
- add esi,offset spanpackage_t_size ; point to next span
-LNextSpanESISetIR:
- mov edx,ds:dword ptr[spanpackage_t_count+esi]
- cmp edx,offset -999999 ; any more spans?
- jnz LSpanLoop ; yes
-
- pop edi
- pop ebp ; restore the caller's stack frame
- pop ebx ; restore register variables
- pop esi
- ret
-
-;=======
-; Standard One-Long Draw
-;=======
-; draw a one-long span
-
-LExactlyOneLong:
- mov al,[_iractive]
- cmp al,0
- jne LExactlyOneLongIR
-
- mov ecx,ds:dword ptr[spanpackage_t_pz+esi]
- mov ebp,ds:dword ptr[spanpackage_t_zi+esi]
-
- ror ebp,16 ; put high 16 bits of 1/z in low word
- mov ebx,ds:dword ptr[spanpackage_t_ptex+esi]
-
- cmp bp,ds:word ptr[ecx]
- jl LNextSpan
- xor eax,eax
- mov edi,ds:dword ptr[spanpackage_t_pdest+esi]
- mov ah,ds:byte ptr[spanpackage_t_light+1+esi]
- add esi,offset spanpackage_t_size ; point to next span
- mov al,ds:byte ptr[ebx]
- mov ds:word ptr[ecx],bp
- mov al,ds:byte ptr[12345678h+eax]
-LPatch9:
- mov ds:byte ptr[edi],al
-
- jmp LNextSpanESISet
-
-
-;========
-;========
-; draw a one-long span
-
-LExactlyOneLongIR:
-
- mov ecx,ds:dword ptr[spanpackage_t_pz+esi]
- mov ebp,ds:dword ptr[spanpackage_t_zi+esi]
-
- ror ebp,16 ; put high 16 bits of 1/z in low word
- mov ebx,ds:dword ptr[spanpackage_t_ptex+esi]
-
- cmp bp,ds:word ptr[ecx]
- jl LNextSpanIR
- xor eax,eax
- mov edi,ds:dword ptr[spanpackage_t_pdest+esi]
- add esi,offset spanpackage_t_size ; point to next span
- mov al,ds:byte ptr[ebx]
- mov al,ds:byte ptr[_irtable+eax]
- mov ds:word ptr[ecx],bp
- mov al,ds:byte ptr[12345678h+eax]
-LPatch9IR:
- mov ds:byte ptr[edi],al
-
- jmp LNextSpanESISetIR
-
-;===================================
-;===================================
- public _D_Aff8Patch
-_D_Aff8Patch:
- mov eax,[_alias_colormap]
- mov ds:dword ptr[LPatch1-4],eax
- mov ds:dword ptr[LPatch2-4],eax
- mov ds:dword ptr[LPatch3-4],eax
- mov ds:dword ptr[LPatch4-4],eax
- mov ds:dword ptr[LPatch5-4],eax
- mov ds:dword ptr[LPatch6-4],eax
- mov ds:dword ptr[LPatch7-4],eax
- mov ds:dword ptr[LPatch8-4],eax
- mov ds:dword ptr[LPatch9-4],eax
- mov ds:dword ptr[LPatch1IR-4],eax
- mov ds:dword ptr[LPatch2IR-4],eax
- mov ds:dword ptr[LPatch3IR-4],eax
- mov ds:dword ptr[LPatch4IR-4],eax
- mov ds:dword ptr[LPatch5IR-4],eax
- mov ds:dword ptr[LPatch6IR-4],eax
- mov ds:dword ptr[LPatch7IR-4],eax
- mov ds:dword ptr[LPatch8IR-4],eax
- mov ds:dword ptr[LPatch9IR-4],eax
-
- ret
-
-
-
-;===================================
-;===================================
-
-height equ 4+16
-
- public _R_PolysetScanLeftEdge
-_R_PolysetScanLeftEdge:
- push ebp ; preserve caller stack frame pointer
- push esi ; preserve register variables
- push edi
- push ebx
-
- mov eax,ds:dword ptr[height+esp]
- mov ecx,ds:dword ptr[_d_sfrac]
-
- and eax,0FFFFh
- mov ebx,ds:dword ptr[_d_ptex]
- or ecx,eax
- mov esi,ds:dword ptr[_d_pedgespanpackage]
- mov edx,ds:dword ptr[_d_tfrac]
- mov edi,ds:dword ptr[_d_light]
- mov ebp,ds:dword ptr[_d_zi]
-
-; %eax: scratch
-; %ebx: d_ptex
-; %ecx: d_sfrac in high word, count in low word
-; %edx: d_tfrac
-; %esi: d_pedgespanpackage, errorterm, scratch alternately
-; %edi: d_light
-; %ebp: d_zi
-
-; do
-; {
-
-LScanLoop:
-
-; d_pedgespanpackage->ptex = ptex;
-; d_pedgespanpackage->pdest = d_pdest;
-; d_pedgespanpackage->pz = d_pz;
-; d_pedgespanpackage->count = d_aspancount;
-; d_pedgespanpackage->light = d_light;
-; d_pedgespanpackage->zi = d_zi;
-; d_pedgespanpackage->sfrac = d_sfrac << 16;
-; d_pedgespanpackage->tfrac = d_tfrac << 16;
- mov ds:dword ptr[spanpackage_t_ptex+esi],ebx
- mov eax,ds:dword ptr[_d_pdest]
- mov ds:dword ptr[spanpackage_t_pdest+esi],eax
- mov eax,ds:dword ptr[_d_pz]
- mov ds:dword ptr[spanpackage_t_pz+esi],eax
- mov eax,ds:dword ptr[_d_aspancount]
- mov ds:dword ptr[spanpackage_t_count+esi],eax
- mov ds:dword ptr[spanpackage_t_light+esi],edi
- mov ds:dword ptr[spanpackage_t_zi+esi],ebp
- mov ds:dword ptr[spanpackage_t_sfrac+esi],ecx
- mov ds:dword ptr[spanpackage_t_tfrac+esi],edx
-
-; pretouch the next cache line
- mov al,ds:byte ptr[spanpackage_t_size+esi]
-
-; d_pedgespanpackage++;
- add esi,offset spanpackage_t_size
- mov eax,ds:dword ptr[_erroradjustup]
- mov ds:dword ptr[_d_pedgespanpackage],esi
-
-; errorterm += erroradjustup;
- mov esi,ds:dword ptr[_errorterm]
- add esi,eax
- mov eax,ds:dword ptr[_d_pdest]
-
-; if (errorterm >= 0)
-; {
- js LNoLeftEdgeTurnover
-
-; errorterm -= erroradjustdown;
-; d_pdest += d_pdestextrastep;
- sub esi,ds:dword ptr[_erroradjustdown]
- add eax,ds:dword ptr[_d_pdestextrastep]
- mov ds:dword ptr[_errorterm],esi
- mov ds:dword ptr[_d_pdest],eax
-
-; d_pz += d_pzextrastep;
-; d_aspancount += d_countextrastep;
-; d_ptex += d_ptexextrastep;
-; d_sfrac += d_sfracextrastep;
-; d_ptex += d_sfrac >> 16;
-; d_sfrac &= 0xFFFF;
-; d_tfrac += d_tfracextrastep;
- mov eax,ds:dword ptr[_d_pz]
- mov esi,ds:dword ptr[_d_aspancount]
- add eax,ds:dword ptr[_d_pzextrastep]
- add ecx,ds:dword ptr[_d_sfracextrastep]
- adc ebx,ds:dword ptr[_d_ptexextrastep]
- add esi,ds:dword ptr[_d_countextrastep]
- mov ds:dword ptr[_d_pz],eax
- mov eax,ds:dword ptr[_d_tfracextrastep]
- mov ds:dword ptr[_d_aspancount],esi
- add edx,eax
-
-; if (d_tfrac & 0x10000)
-; {
- jnc LSkip1
-
-; d_ptex += r_affinetridesc.skinwidth;
-; d_tfrac &= 0xFFFF;
- add ebx,ds:dword ptr[_r_affinetridesc+atd_skinwidth]
-
-; }
-
-LSkip1:
-
-; d_light += d_lightextrastep;
-; d_zi += d_ziextrastep;
- add edi,ds:dword ptr[_d_lightextrastep]
- add ebp,ds:dword ptr[_d_ziextrastep]
-
-; }
- mov esi,ds:dword ptr[_d_pedgespanpackage]
- dec ecx
- test ecx,0FFFFh
- jnz LScanLoop
-
- pop ebx
- pop edi
- pop esi
- pop ebp
- ret
-
-; else
-; {
-
-LNoLeftEdgeTurnover:
- mov ds:dword ptr[_errorterm],esi
-
-; d_pdest += d_pdestbasestep;
- add eax,ds:dword ptr[_d_pdestbasestep]
- mov ds:dword ptr[_d_pdest],eax
-
-; d_pz += d_pzbasestep;
-; d_aspancount += ubasestep;
-; d_ptex += d_ptexbasestep;
-; d_sfrac += d_sfracbasestep;
-; d_ptex += d_sfrac >> 16;
-; d_sfrac &= 0xFFFF;
- mov eax,ds:dword ptr[_d_pz]
- mov esi,ds:dword ptr[_d_aspancount]
- add eax,ds:dword ptr[_d_pzbasestep]
- add ecx,ds:dword ptr[_d_sfracbasestep]
- adc ebx,ds:dword ptr[_d_ptexbasestep]
- add esi,ds:dword ptr[_ubasestep]
- mov ds:dword ptr[_d_pz],eax
- mov ds:dword ptr[_d_aspancount],esi
-
-; d_tfrac += d_tfracbasestep;
- mov esi,ds:dword ptr[_d_tfracbasestep]
- add edx,esi
-
-; if (d_tfrac & 0x10000)
-; {
- jnc LSkip2
-
-; d_ptex += r_affinetridesc.skinwidth;
-; d_tfrac &= 0xFFFF;
- add ebx,ds:dword ptr[_r_affinetridesc+atd_skinwidth]
-
-; }
-
-LSkip2:
-
-; d_light += d_lightbasestep;
-; d_zi += d_zibasestep;
- add edi,ds:dword ptr[_d_lightbasestep]
- add ebp,ds:dword ptr[_d_zibasestep]
-
-; }
-; } while (--height);
- mov esi,ds:dword ptr[_d_pedgespanpackage]
- dec ecx
- test ecx,0FFFFh
- jnz LScanLoop
-
- pop ebx
- pop edi
- pop esi
- pop ebp
- ret
-
-_TEXT ENDS
-endif ;id386
- END
--- a/ref_soft/r_scana.asm
+++ /dev/null
@@ -1,73 +1,0 @@
- .386P
- .model FLAT
-;
-; d_scana.s
-; x86 assembly-language turbulent texture mapping code
-;
-
-include qasm.inc
-include d_if.inc
-
-if id386
-
-_DATA SEGMENT
-
-_DATA ENDS
-_TEXT SEGMENT
-
-;----------------------------------------------------------------------
-; turbulent texture mapping code
-;----------------------------------------------------------------------
-
- align 4
- public _D_DrawTurbulent8Span
-_D_DrawTurbulent8Span:
- push ebp ; preserve caller's stack frame pointer
- push esi ; preserve register variables
- push edi
- push ebx
-
- mov esi,ds:dword ptr[_r_turb_s]
- mov ecx,ds:dword ptr[_r_turb_t]
- mov edi,ds:dword ptr[_r_turb_pdest]
- mov ebx,ds:dword ptr[_r_turb_spancount]
-
-Llp:
- mov eax,ecx
- mov edx,esi
- sar eax,16
- mov ebp,ds:dword ptr[_r_turb_turb]
- sar edx,16
- and eax,offset CYCLE-1
- and edx,offset CYCLE-1
- mov eax,ds:dword ptr[ebp+eax*4]
- mov edx,ds:dword ptr[ebp+edx*4]
- add eax,esi
- sar eax,16
- add edx,ecx
- sar edx,16
- and eax,offset TURB_TEX_SIZE-1
- and edx,offset TURB_TEX_SIZE-1
- shl edx,6
- mov ebp,ds:dword ptr[_r_turb_pbase]
- add edx,eax
- inc edi
- add esi,ds:dword ptr[_r_turb_sstep]
- add ecx,ds:dword ptr[_r_turb_tstep]
- mov dl,ds:byte ptr[ebp+edx*1]
- dec ebx
- mov ds:byte ptr[-1+edi],dl
- jnz Llp
-
- mov ds:dword ptr[_r_turb_pdest],edi
-
- pop ebx ; restore register variables
- pop edi
- pop esi
- pop ebp ; restore caller's stack frame pointer
- ret
-
-
-_TEXT ENDS
-endif ;id386
- END
--- a/ref_soft/r_spr8.asm
+++ /dev/null
@@ -1,884 +1,0 @@
- .386P
- .model FLAT
-;
-; d_spr8.s
-; x86 assembly-language horizontal 8-bpp transparent span-drawing code.
-;
-
-include qasm.inc
-include d_if.inc
-
-if id386
-
-;----------------------------------------------------------------------
-; 8-bpp horizontal span drawing code for polygons, with transparency.
-;----------------------------------------------------------------------
-
-_TEXT SEGMENT
-
-; out-of-line, rarely-needed clamping code
-
-LClampHigh0:
- mov esi,ds:dword ptr[_bbextents]
- jmp LClampReentry0
-LClampHighOrLow0:
- jg LClampHigh0
- xor esi,esi
- jmp LClampReentry0
-
-LClampHigh1:
- mov edx,ds:dword ptr[_bbextentt]
- jmp LClampReentry1
-LClampHighOrLow1:
- jg LClampHigh1
- xor edx,edx
- jmp LClampReentry1
-
-LClampLow2:
- mov ebp,2048
- jmp LClampReentry2
-LClampHigh2:
- mov ebp,ds:dword ptr[_bbextents]
- jmp LClampReentry2
-
-LClampLow3:
- mov ecx,2048
- jmp LClampReentry3
-LClampHigh3:
- mov ecx,ds:dword ptr[_bbextentt]
- jmp LClampReentry3
-
-LClampLow4:
- mov eax,2048
- jmp LClampReentry4
-LClampHigh4:
- mov eax,ds:dword ptr[_bbextents]
- jmp LClampReentry4
-
-LClampLow5:
- mov ebx,2048
- jmp LClampReentry5
-LClampHigh5:
- mov ebx,ds:dword ptr[_bbextentt]
- jmp LClampReentry5
-
-
-pspans equ 4+16
-
- align 4
- public _D_SpriteDrawSpansXXX
-_D_SpriteDrawSpansXXX:
- push ebp ; preserve caller's stack frame
- push edi
- push esi ; preserve register variables
- push ebx
-
-;
-; set up scaled-by-8 steps, for 8-long segments; also set up cacheblock
-; and span list pointers, and 1/z step in 0.32 fixed-point
-;
-; FIXME: any overlap from rearranging?
- fld ds:dword ptr[_d_sdivzstepu]
- fmul ds:dword ptr[fp_8]
- mov edx,ds:dword ptr[_cacheblock]
- fld ds:dword ptr[_d_tdivzstepu]
- fmul ds:dword ptr[fp_8]
- mov ebx,ds:dword ptr[pspans+esp] ; point to the first span descriptor
- fld ds:dword ptr[_d_zistepu]
- fmul ds:dword ptr[fp_8]
- mov ds:dword ptr[pbase],edx ; pbase = cacheblock
- fld ds:dword ptr[_d_zistepu]
- fmul ds:dword ptr[fp_64kx64k]
- fxch st(3)
- fstp ds:dword ptr[sdivz8stepu]
- fstp ds:dword ptr[zi8stepu]
- fstp ds:dword ptr[tdivz8stepu]
- fistp ds:dword ptr[izistep]
- mov eax,ds:dword ptr[izistep]
- ror eax,16 ; put upper 16 bits in low word
- mov ecx,ds:dword ptr[sspan_t_count+ebx]
- mov ds:dword ptr[izistep],eax
-
- cmp ecx,0
- jle LNextSpan
-
-LSpanLoop:
-
-;
-; set up the initial s/z, t/z, and 1/z on the FP stack, and generate the
-; initial s and t values
-;
-; FIXME: pipeline FILD?
- fild ds:dword ptr[sspan_t_v+ebx]
- fild ds:dword ptr[sspan_t_u+ebx]
-
- fld st(1) ; dv | du | dv
- fmul ds:dword ptr[_d_sdivzstepv] ; dv*d_sdivzstepv | du | dv
- fld st(1) ; du | dv*d_sdivzstepv | du | dv
- fmul ds:dword ptr[_d_sdivzstepu] ; du*d_sdivzstepu | dv*d_sdivzstepv | du | dv
- fld st(2) ; du | du*d_sdivzstepu | dv*d_sdivzstepv | du | dv
- fmul ds:dword ptr[_d_tdivzstepu] ; du*d_tdivzstepu | du*d_sdivzstepu |
-; dv*d_sdivzstepv | du | dv
- fxch st(1) ; du*d_sdivzstepu | du*d_tdivzstepu |
-; dv*d_sdivzstepv | du | dv
- faddp st(2),st(0) ; du*d_tdivzstepu |
-; du*d_sdivzstepu + dv*d_sdivzstepv | du | dv
- fxch st(1) ; du*d_sdivzstepu + dv*d_sdivzstepv |
-; du*d_tdivzstepu | du | dv
- fld st(3) ; dv | du*d_sdivzstepu + dv*d_sdivzstepv |
-; du*d_tdivzstepu | du | dv
- fmul ds:dword ptr[_d_tdivzstepv] ; dv*d_tdivzstepv |
-; du*d_sdivzstepu + dv*d_sdivzstepv |
-; du*d_tdivzstepu | du | dv
- fxch st(1) ; du*d_sdivzstepu + dv*d_sdivzstepv |
-; dv*d_tdivzstepv | du*d_tdivzstepu | du | dv
- fadd ds:dword ptr[_d_sdivzorigin] ; sdivz = d_sdivzorigin + dv*d_sdivzstepv +
-; du*d_sdivzstepu; stays in %st(2) at end
- fxch st(4) ; dv | dv*d_tdivzstepv | du*d_tdivzstepu | du |
-; s/z
- fmul ds:dword ptr[_d_zistepv] ; dv*d_zistepv | dv*d_tdivzstepv |
-; du*d_tdivzstepu | du | s/z
- fxch st(1) ; dv*d_tdivzstepv | dv*d_zistepv |
-; du*d_tdivzstepu | du | s/z
- faddp st(2),st(0) ; dv*d_zistepv |
-; dv*d_tdivzstepv + du*d_tdivzstepu | du | s/z
- fxch st(2) ; du | dv*d_tdivzstepv + du*d_tdivzstepu |
-; dv*d_zistepv | s/z
- fmul ds:dword ptr[_d_zistepu] ; du*d_zistepu |
-; dv*d_tdivzstepv + du*d_tdivzstepu |
-; dv*d_zistepv | s/z
- fxch st(1) ; dv*d_tdivzstepv + du*d_tdivzstepu |
-; du*d_zistepu | dv*d_zistepv | s/z
- fadd ds:dword ptr[_d_tdivzorigin] ; tdivz = d_tdivzorigin + dv*d_tdivzstepv +
-; du*d_tdivzstepu; stays in %st(1) at end
- fxch st(2) ; dv*d_zistepv | du*d_zistepu | t/z | s/z
- faddp st(1),st(0) ; dv*d_zistepv + du*d_zistepu | t/z | s/z
-
- fld ds:dword ptr[fp_64k] ; fp_64k | dv*d_zistepv + du*d_zistepu | t/z | s/z
- fxch st(1) ; dv*d_zistepv + du*d_zistepu | fp_64k | t/z | s/z
- fadd ds:dword ptr[_d_ziorigin] ; zi = d_ziorigin + dv*d_zistepv +
-; du*d_zistepu; stays in %st(0) at end
-; 1/z | fp_64k | t/z | s/z
-
- fld st(0) ; FIXME: get rid of stall on FMUL?
- fmul ds:dword ptr[fp_64kx64k]
- fxch st(1)
-
-;
-; calculate and clamp s & t
-;
- fdiv st(2),st(0) ; 1/z | z*64k | t/z | s/z
- fxch st(1)
-
- fistp ds:dword ptr[izi] ; 0.32 fixed-point 1/z
- mov ebp,ds:dword ptr[izi]
-
-;
-; set pz to point to the first z-buffer pixel in the span
-;
- ror ebp,16 ; put upper 16 bits in low word
- mov eax,ds:dword ptr[sspan_t_v+ebx]
- mov ds:dword ptr[izi],ebp
- mov ebp,ds:dword ptr[sspan_t_u+ebx]
- imul ds:dword ptr[_d_zrowbytes]
- shl ebp,1 ; a word per pixel
- add eax,ds:dword ptr[_d_pzbuffer]
- add eax,ebp
- mov ds:dword ptr[pz],eax
-
-;
-; point %edi to the first pixel in the span
-;
- mov ebp,ds:dword ptr[_d_viewbuffer]
- mov eax,ds:dword ptr[sspan_t_v+ebx]
- push ebx ; preserve spans pointer
- mov edx,ds:dword ptr[_tadjust]
- mov esi,ds:dword ptr[_sadjust]
- mov edi,ds:dword ptr[_d_scantable+eax*4] ; v * screenwidth
- add edi,ebp
- mov ebp,ds:dword ptr[sspan_t_u+ebx]
- add edi,ebp ; pdest = &pdestspan[scans->u];
-
-;
-; now start the FDIV for the end of the span
-;
- cmp ecx,8
- ja LSetupNotLast1
-
- dec ecx
- jz LCleanup1 ; if only one pixel, no need to start an FDIV
- mov ds:dword ptr[spancountminus1],ecx
-
-; finish up the s and t calcs
- fxch st(1) ; z*64k | 1/z | t/z | s/z
-
- fld st(0) ; z*64k | z*64k | 1/z | t/z | s/z
- fmul st(0),st(4) ; s | z*64k | 1/z | t/z | s/z
- fxch st(1) ; z*64k | s | 1/z | t/z | s/z
- fmul st(0),st(3) ; t | s | 1/z | t/z | s/z
- fxch st(1) ; s | t | 1/z | t/z | s/z
- fistp ds:dword ptr[s] ; 1/z | t | t/z | s/z
- fistp ds:dword ptr[t] ; 1/z | t/z | s/z
-
- fild ds:dword ptr[spancountminus1]
-
- fld ds:dword ptr[_d_tdivzstepu] ; _d_tdivzstepu | spancountminus1
- fld ds:dword ptr[_d_zistepu] ; _d_zistepu | _d_tdivzstepu | spancountminus1
- fmul st(0),st(2) ; _d_zistepu*scm1 | _d_tdivzstepu | scm1
- fxch st(1) ; _d_tdivzstepu | _d_zistepu*scm1 | scm1
- fmul st(0),st(2) ; _d_tdivzstepu*scm1 | _d_zistepu*scm1 | scm1
- fxch st(2) ; scm1 | _d_zistepu*scm1 | _d_tdivzstepu*scm1
- fmul ds:dword ptr[_d_sdivzstepu] ; _d_sdivzstepu*scm1 | _d_zistepu*scm1 |
-; _d_tdivzstepu*scm1
- fxch st(1) ; _d_zistepu*scm1 | _d_sdivzstepu*scm1 |
-; _d_tdivzstepu*scm1
- faddp st(3),st(0) ; _d_sdivzstepu*scm1 | _d_tdivzstepu*scm1
- fxch st(1) ; _d_tdivzstepu*scm1 | _d_sdivzstepu*scm1
- faddp st(3),st(0) ; _d_sdivzstepu*scm1
- faddp st(3),st(0)
-
- fld ds:dword ptr[fp_64k]
- fdiv st(0),st(1) ; this is what we've gone to all this trouble to
-; overlap
- jmp LFDIVInFlight1
-
-LCleanup1:
-; finish up the s and t calcs
- fxch st(1) ; z*64k | 1/z | t/z | s/z
-
- fld st(0) ; z*64k | z*64k | 1/z | t/z | s/z
- fmul st(0),st(4) ; s | z*64k | 1/z | t/z | s/z
- fxch st(1) ; z*64k | s | 1/z | t/z | s/z
- fmul st(0),st(3) ; t | s | 1/z | t/z | s/z
- fxch st(1) ; s | t | 1/z | t/z | s/z
- fistp ds:dword ptr[s] ; 1/z | t | t/z | s/z
- fistp ds:dword ptr[t] ; 1/z | t/z | s/z
- jmp LFDIVInFlight1
-
- align 4
-LSetupNotLast1:
-; finish up the s and t calcs
- fxch st(1) ; z*64k | 1/z | t/z | s/z
-
- fld st(0) ; z*64k | z*64k | 1/z | t/z | s/z
- fmul st(0),st(4) ; s | z*64k | 1/z | t/z | s/z
- fxch st(1) ; z*64k | s | 1/z | t/z | s/z
- fmul st(0),st(3) ; t | s | 1/z | t/z | s/z
- fxch st(1) ; s | t | 1/z | t/z | s/z
- fistp ds:dword ptr[s] ; 1/z | t | t/z | s/z
- fistp ds:dword ptr[t] ; 1/z | t/z | s/z
-
- fadd ds:dword ptr[zi8stepu]
- fxch st(2)
- fadd ds:dword ptr[sdivz8stepu]
- fxch st(2)
- fld ds:dword ptr[tdivz8stepu]
- faddp st(2),st(0)
- fld ds:dword ptr[fp_64k]
- fdiv st(0),st(1) ; z = 1/1/z
-; this is what we've gone to all this trouble to
-; overlap
-LFDIVInFlight1:
-
- add esi,ds:dword ptr[s]
- add edx,ds:dword ptr[t]
- mov ebx,ds:dword ptr[_bbextents]
- mov ebp,ds:dword ptr[_bbextentt]
- cmp esi,ebx
- ja LClampHighOrLow0
-LClampReentry0:
- mov ds:dword ptr[s],esi
- mov ebx,ds:dword ptr[pbase]
- shl esi,16
- cmp edx,ebp
- mov ds:dword ptr[sfracf],esi
- ja LClampHighOrLow1
-LClampReentry1:
- mov ds:dword ptr[t],edx
- mov esi,ds:dword ptr[s] ; sfrac = scans->sfrac;
- shl edx,16
- mov eax,ds:dword ptr[t] ; tfrac = scans->tfrac;
- sar esi,16
- mov ds:dword ptr[tfracf],edx
-
-;
-; calculate the texture starting address
-;
- sar eax,16
- add esi,ebx
- imul eax,ds:dword ptr[_cachewidth] ; (tfrac >> 16) * cachewidth
- add esi,eax ; psource = pbase + (sfrac >> 16) +
-; ((tfrac >> 16) * cachewidth);
-
-;
-; determine whether last span or not
-;
- cmp ecx,8
- jna LLastSegment
-
-;
-; not the last segment; do full 8-wide segment
-;
-LNotLastSegment:
-
-;
-; advance s/z, t/z, and 1/z, and calculate s & t at end of span and steps to
-; get there
-;
-
-; pick up after the FDIV that was left in flight previously
-
- fld st(0) ; duplicate it
- fmul st(0),st(4) ; s = s/z * z
- fxch st(1)
- fmul st(0),st(3) ; t = t/z * z
- fxch st(1)
- fistp ds:dword ptr[snext]
- fistp ds:dword ptr[tnext]
- mov eax,ds:dword ptr[snext]
- mov edx,ds:dword ptr[tnext]
-
- sub ecx,8 ; count off this segments' pixels
- mov ebp,ds:dword ptr[_sadjust]
- push ecx ; remember count of remaining pixels
- mov ecx,ds:dword ptr[_tadjust]
-
- add ebp,eax
- add ecx,edx
-
- mov eax,ds:dword ptr[_bbextents]
- mov edx,ds:dword ptr[_bbextentt]
-
- cmp ebp,2048
- jl LClampLow2
- cmp ebp,eax
- ja LClampHigh2
-LClampReentry2:
-
- cmp ecx,2048
- jl LClampLow3
- cmp ecx,edx
- ja LClampHigh3
-LClampReentry3:
-
- mov ds:dword ptr[snext],ebp
- mov ds:dword ptr[tnext],ecx
-
- sub ebp,ds:dword ptr[s]
- sub ecx,ds:dword ptr[t]
-
-;
-; set up advancetable
-;
- mov eax,ecx
- mov edx,ebp
- sar edx,19 ; sstep >>= 16;
- mov ebx,ds:dword ptr[_cachewidth]
- sar eax,19 ; tstep >>= 16;
- jz LIsZero
- imul eax,ebx ; (tstep >> 16) * cachewidth;
-LIsZero:
- add eax,edx ; add in sstep
-; (tstep >> 16) * cachewidth + (sstep >> 16);
- mov edx,ds:dword ptr[tfracf]
- mov ds:dword ptr[advancetable+4],eax ; advance base in t
- add eax,ebx ; ((tstep >> 16) + 1) * cachewidth +
-; (sstep >> 16);
- shl ebp,13 ; left-justify sstep fractional part
- mov ds:dword ptr[sstep],ebp
- mov ebx,ds:dword ptr[sfracf]
- shl ecx,13 ; left-justify tstep fractional part
- mov ds:dword ptr[advancetable],eax ; advance extra in t
- mov ds:dword ptr[tstep],ecx
-
- mov ecx,ds:dword ptr[pz]
- mov ebp,ds:dword ptr[izi]
-
- cmp bp,ds:word ptr[ecx]
- jl Lp1
- mov al,ds:byte ptr[esi] ; get first source texel
- cmp al,offset TRANSPARENT_COLOR
- jz Lp1
- mov ds:word ptr[ecx],bp
- mov ds:byte ptr[edi],al ; store first dest pixel
-Lp1:
- add ebp,ds:dword ptr[izistep]
- adc ebp,0
- add edx,ds:dword ptr[tstep] ; advance tfrac fractional part by tstep frac
-
- sbb eax,eax ; turn tstep carry into -1 (0 if none)
- add ebx,ds:dword ptr[sstep] ; advance sfrac fractional part by sstep frac
- adc esi,ds:dword ptr[advancetable+4+eax*4] ; point to next source texel
-
- cmp bp,ds:word ptr[2+ecx]
- jl Lp2
- mov al,ds:byte ptr[esi]
- cmp al,offset TRANSPARENT_COLOR
- jz Lp2
- mov ds:word ptr[2+ecx],bp
- mov ds:byte ptr[1+edi],al
-Lp2:
- add ebp,ds:dword ptr[izistep]
- adc ebp,0
- add edx,ds:dword ptr[tstep]
- sbb eax,eax
- add ebx,ds:dword ptr[sstep]
- adc esi,ds:dword ptr[advancetable+4+eax*4]
-
- cmp bp,ds:word ptr[4+ecx]
- jl Lp3
- mov al,ds:byte ptr[esi]
- cmp al,offset TRANSPARENT_COLOR
- jz Lp3
- mov ds:word ptr[4+ecx],bp
- mov ds:byte ptr[2+edi],al
-Lp3:
- add ebp,ds:dword ptr[izistep]
- adc ebp,0
- add edx,ds:dword ptr[tstep]
- sbb eax,eax
- add ebx,ds:dword ptr[sstep]
- adc esi,ds:dword ptr[advancetable+4+eax*4]
-
- cmp bp,ds:word ptr[6+ecx]
- jl Lp4
- mov al,ds:byte ptr[esi]
- cmp al,offset TRANSPARENT_COLOR
- jz Lp4
- mov ds:word ptr[6+ecx],bp
- mov ds:byte ptr[3+edi],al
-Lp4:
- add ebp,ds:dword ptr[izistep]
- adc ebp,0
- add edx,ds:dword ptr[tstep]
- sbb eax,eax
- add ebx,ds:dword ptr[sstep]
- adc esi,ds:dword ptr[advancetable+4+eax*4]
-
- cmp bp,ds:word ptr[8+ecx]
- jl Lp5
- mov al,ds:byte ptr[esi]
- cmp al,offset TRANSPARENT_COLOR
- jz Lp5
- mov ds:word ptr[8+ecx],bp
- mov ds:byte ptr[4+edi],al
-Lp5:
- add ebp,ds:dword ptr[izistep]
- adc ebp,0
- add edx,ds:dword ptr[tstep]
- sbb eax,eax
- add ebx,ds:dword ptr[sstep]
- adc esi,ds:dword ptr[advancetable+4+eax*4]
-
-;
-; start FDIV for end of next segment in flight, so it can overlap
-;
- pop eax
- cmp eax,8 ; more than one segment after this?
- ja LSetupNotLast2 ; yes
-
- dec eax
- jz LFDIVInFlight2 ; if only one pixel, no need to start an FDIV
- mov ds:dword ptr[spancountminus1],eax
- fild ds:dword ptr[spancountminus1]
-
- fld ds:dword ptr[_d_zistepu] ; _d_zistepu | spancountminus1
- fmul st(0),st(1) ; _d_zistepu*scm1 | scm1
- fld ds:dword ptr[_d_tdivzstepu] ; _d_tdivzstepu | _d_zistepu*scm1 | scm1
- fmul st(0),st(2) ; _d_tdivzstepu*scm1 | _d_zistepu*scm1 | scm1
- fxch st(1) ; _d_zistepu*scm1 | _d_tdivzstepu*scm1 | scm1
- faddp st(3),st(0) ; _d_tdivzstepu*scm1 | scm1
- fxch st(1) ; scm1 | _d_tdivzstepu*scm1
- fmul ds:dword ptr[_d_sdivzstepu] ; _d_sdivzstepu*scm1 | _d_tdivzstepu*scm1
- fxch st(1) ; _d_tdivzstepu*scm1 | _d_sdivzstepu*scm1
- faddp st(3),st(0) ; _d_sdivzstepu*scm1
- fld ds:dword ptr[fp_64k] ; 64k | _d_sdivzstepu*scm1
- fxch st(1) ; _d_sdivzstepu*scm1 | 64k
- faddp st(4),st(0) ; 64k
-
- fdiv st(0),st(1) ; this is what we've gone to all this trouble to
-; overlap
- jmp LFDIVInFlight2
-
- align 4
-LSetupNotLast2:
- fadd ds:dword ptr[zi8stepu]
- fxch st(2)
- fadd ds:dword ptr[sdivz8stepu]
- fxch st(2)
- fld ds:dword ptr[tdivz8stepu]
- faddp st(2),st(0)
- fld ds:dword ptr[fp_64k]
- fdiv st(0),st(1) ; z = 1/1/z
-; this is what we've gone to all this trouble to
-; overlap
-LFDIVInFlight2:
- push eax
-
- cmp bp,ds:word ptr[10+ecx]
- jl Lp6
- mov al,ds:byte ptr[esi]
- cmp al,offset TRANSPARENT_COLOR
- jz Lp6
- mov ds:word ptr[10+ecx],bp
- mov ds:byte ptr[5+edi],al
-Lp6:
- add ebp,ds:dword ptr[izistep]
- adc ebp,0
- add edx,ds:dword ptr[tstep]
- sbb eax,eax
- add ebx,ds:dword ptr[sstep]
- adc esi,ds:dword ptr[advancetable+4+eax*4]
-
- cmp bp,ds:word ptr[12+ecx]
- jl Lp7
- mov al,ds:byte ptr[esi]
- cmp al,offset TRANSPARENT_COLOR
- jz Lp7
- mov ds:word ptr[12+ecx],bp
- mov ds:byte ptr[6+edi],al
-Lp7:
- add ebp,ds:dword ptr[izistep]
- adc ebp,0
- add edx,ds:dword ptr[tstep]
- sbb eax,eax
- add ebx,ds:dword ptr[sstep]
- adc esi,ds:dword ptr[advancetable+4+eax*4]
-
- cmp bp,ds:word ptr[14+ecx]
- jl Lp8
- mov al,ds:byte ptr[esi]
- cmp al,offset TRANSPARENT_COLOR
- jz Lp8
- mov ds:word ptr[14+ecx],bp
- mov ds:byte ptr[7+edi],al
-Lp8:
- add ebp,ds:dword ptr[izistep]
- adc ebp,0
- add edx,ds:dword ptr[tstep]
- sbb eax,eax
- add ebx,ds:dword ptr[sstep]
- adc esi,ds:dword ptr[advancetable+4+eax*4]
-
- add edi,8
- add ecx,16
- mov ds:dword ptr[tfracf],edx
- mov edx,ds:dword ptr[snext]
- mov ds:dword ptr[sfracf],ebx
- mov ebx,ds:dword ptr[tnext]
- mov ds:dword ptr[s],edx
- mov ds:dword ptr[t],ebx
-
- mov ds:dword ptr[pz],ecx
- mov ds:dword ptr[izi],ebp
-
- pop ecx ; retrieve count
-
-;
-; determine whether last span or not
-;
- cmp ecx,8 ; are there multiple segments remaining?
- ja LNotLastSegment ; yes
-
-;
-; last segment of scan
-;
-LLastSegment:
-
-;
-; advance s/z, t/z, and 1/z, and calculate s & t at end of span and steps to
-; get there. The number of pixels left is variable, and we want to land on the
-; last pixel, not step one past it, so we can't run into arithmetic problems
-;
- test ecx,ecx
- jz LNoSteps ; just draw the last pixel and we're done
-
-; pick up after the FDIV that was left in flight previously
-
-
- fld st(0) ; duplicate it
- fmul st(0),st(4) ; s = s/z * z
- fxch st(1)
- fmul st(0),st(3) ; t = t/z * z
- fxch st(1)
- fistp ds:dword ptr[snext]
- fistp ds:dword ptr[tnext]
-
- mov ebx,ds:dword ptr[_tadjust]
- mov eax,ds:dword ptr[_sadjust]
-
- add eax,ds:dword ptr[snext]
- add ebx,ds:dword ptr[tnext]
-
- mov ebp,ds:dword ptr[_bbextents]
- mov edx,ds:dword ptr[_bbextentt]
-
- cmp eax,2048
- jl LClampLow4
- cmp eax,ebp
- ja LClampHigh4
-LClampReentry4:
- mov ds:dword ptr[snext],eax
-
- cmp ebx,2048
- jl LClampLow5
- cmp ebx,edx
- ja LClampHigh5
-LClampReentry5:
-
- cmp ecx,1 ; don't bother
- je LOnlyOneStep ; if two pixels in segment, there's only one step,
-; of the segment length
- sub eax,ds:dword ptr[s]
- sub ebx,ds:dword ptr[t]
-
- add eax,eax ; convert to 15.17 format so multiply by 1.31
- add ebx,ebx ; reciprocal yields 16.48
- imul ds:dword ptr[reciprocal_table-8+ecx*4] ; sstep = (snext - s) / (spancount-1)
- mov ebp,edx
-
- mov eax,ebx
- imul ds:dword ptr[reciprocal_table-8+ecx*4] ; tstep = (tnext - t) / (spancount-1)
-
-LSetEntryvec:
-;
-; set up advancetable
-;
- mov ebx,ds:dword ptr[spr8entryvec_table+ecx*4]
- mov eax,edx
- push ebx ; entry point into code for RET later
- mov ecx,ebp
- sar ecx,16 ; sstep >>= 16;
- mov ebx,ds:dword ptr[_cachewidth]
- sar edx,16 ; tstep >>= 16;
- jz LIsZeroLast
- imul edx,ebx ; (tstep >> 16) * cachewidth;
-LIsZeroLast:
- add edx,ecx ; add in sstep
-; (tstep >> 16) * cachewidth + (sstep >> 16);
- mov ecx,ds:dword ptr[tfracf]
- mov ds:dword ptr[advancetable+4],edx ; advance base in t
- add edx,ebx ; ((tstep >> 16) + 1) * cachewidth +
-; (sstep >> 16);
- shl ebp,16 ; left-justify sstep fractional part
- mov ebx,ds:dword ptr[sfracf]
- shl eax,16 ; left-justify tstep fractional part
- mov ds:dword ptr[advancetable],edx ; advance extra in t
-
- mov ds:dword ptr[tstep],eax
- mov ds:dword ptr[sstep],ebp
- mov edx,ecx
-
- mov ecx,ds:dword ptr[pz]
- mov ebp,ds:dword ptr[izi]
-
- ret ; jump to the number-of-pixels handler
-
-;----------------------------------------
-
-LNoSteps:
- mov ecx,ds:dword ptr[pz]
- sub edi,7 ; adjust for hardwired offset
- sub ecx,14
- jmp LEndSpan
-
-
-LOnlyOneStep:
- sub eax,ds:dword ptr[s]
- sub ebx,ds:dword ptr[t]
- mov ebp,eax
- mov edx,ebx
- jmp LSetEntryvec
-
-;----------------------------------------
-
- public Spr8Entry2_8
-Spr8Entry2_8:
- sub edi,6 ; adjust for hardwired offsets
- sub ecx,12
- mov al,ds:byte ptr[esi]
- jmp LLEntry2_8
-
-;----------------------------------------
-
- public Spr8Entry3_8
-Spr8Entry3_8:
- sub edi,5 ; adjust for hardwired offsets
- sub ecx,10
- jmp LLEntry3_8
-
-;----------------------------------------
-
- public Spr8Entry4_8
-Spr8Entry4_8:
- sub edi,4 ; adjust for hardwired offsets
- sub ecx,8
- jmp LLEntry4_8
-
-;----------------------------------------
-
- public Spr8Entry5_8
-Spr8Entry5_8:
- sub edi,3 ; adjust for hardwired offsets
- sub ecx,6
- jmp LLEntry5_8
-
-;----------------------------------------
-
- public Spr8Entry6_8
-Spr8Entry6_8:
- sub edi,2 ; adjust for hardwired offsets
- sub ecx,4
- jmp LLEntry6_8
-
-;----------------------------------------
-
- public Spr8Entry7_8
-Spr8Entry7_8:
- dec edi ; adjust for hardwired offsets
- sub ecx,2
- jmp LLEntry7_8
-
-;----------------------------------------
-
- public Spr8Entry8_8
-Spr8Entry8_8:
- cmp bp,ds:word ptr[ecx]
- jl Lp9
- mov al,ds:byte ptr[esi]
- cmp al,offset TRANSPARENT_COLOR
- jz Lp9
- mov ds:word ptr[ecx],bp
- mov ds:byte ptr[edi],al
-Lp9:
- add ebp,ds:dword ptr[izistep]
- adc ebp,0
- add edx,ds:dword ptr[tstep]
- sbb eax,eax
- add ebx,ds:dword ptr[sstep]
- adc esi,ds:dword ptr[advancetable+4+eax*4]
-LLEntry7_8:
- cmp bp,ds:word ptr[2+ecx]
- jl Lp10
- mov al,ds:byte ptr[esi]
- cmp al,offset TRANSPARENT_COLOR
- jz Lp10
- mov ds:word ptr[2+ecx],bp
- mov ds:byte ptr[1+edi],al
-Lp10:
- add ebp,ds:dword ptr[izistep]
- adc ebp,0
- add edx,ds:dword ptr[tstep]
- sbb eax,eax
- add ebx,ds:dword ptr[sstep]
- adc esi,ds:dword ptr[advancetable+4+eax*4]
-LLEntry6_8:
- cmp bp,ds:word ptr[4+ecx]
- jl Lp11
- mov al,ds:byte ptr[esi]
- cmp al,offset TRANSPARENT_COLOR
- jz Lp11
- mov ds:word ptr[4+ecx],bp
- mov ds:byte ptr[2+edi],al
-Lp11:
- add ebp,ds:dword ptr[izistep]
- adc ebp,0
- add edx,ds:dword ptr[tstep]
- sbb eax,eax
- add ebx,ds:dword ptr[sstep]
- adc esi,ds:dword ptr[advancetable+4+eax*4]
-LLEntry5_8:
- cmp bp,ds:word ptr[6+ecx]
- jl Lp12
- mov al,ds:byte ptr[esi]
- cmp al,offset TRANSPARENT_COLOR
- jz Lp12
- mov ds:word ptr[6+ecx],bp
- mov ds:byte ptr[3+edi],al
-Lp12:
- add ebp,ds:dword ptr[izistep]
- adc ebp,0
- add edx,ds:dword ptr[tstep]
- sbb eax,eax
- add ebx,ds:dword ptr[sstep]
- adc esi,ds:dword ptr[advancetable+4+eax*4]
-LLEntry4_8:
- cmp bp,ds:word ptr[8+ecx]
- jl Lp13
- mov al,ds:byte ptr[esi]
- cmp al,offset TRANSPARENT_COLOR
- jz Lp13
- mov ds:word ptr[8+ecx],bp
- mov ds:byte ptr[4+edi],al
-Lp13:
- add ebp,ds:dword ptr[izistep]
- adc ebp,0
- add edx,ds:dword ptr[tstep]
- sbb eax,eax
- add ebx,ds:dword ptr[sstep]
- adc esi,ds:dword ptr[advancetable+4+eax*4]
-LLEntry3_8:
- cmp bp,ds:word ptr[10+ecx]
- jl Lp14
- mov al,ds:byte ptr[esi]
- cmp al,offset TRANSPARENT_COLOR
- jz Lp14
- mov ds:word ptr[10+ecx],bp
- mov ds:byte ptr[5+edi],al
-Lp14:
- add ebp,ds:dword ptr[izistep]
- adc ebp,0
- add edx,ds:dword ptr[tstep]
- sbb eax,eax
- add ebx,ds:dword ptr[sstep]
- adc esi,ds:dword ptr[advancetable+4+eax*4]
-LLEntry2_8:
- cmp bp,ds:word ptr[12+ecx]
- jl Lp15
- mov al,ds:byte ptr[esi]
- cmp al,offset TRANSPARENT_COLOR
- jz Lp15
- mov ds:word ptr[12+ecx],bp
- mov ds:byte ptr[6+edi],al
-Lp15:
- add ebp,ds:dword ptr[izistep]
- adc ebp,0
- add edx,ds:dword ptr[tstep]
- sbb eax,eax
- add ebx,ds:dword ptr[sstep]
- adc esi,ds:dword ptr[advancetable+4+eax*4]
-
-LEndSpan:
- cmp bp,ds:word ptr[14+ecx]
- jl Lp16
- mov al,ds:byte ptr[esi] ; load first texel in segment
- cmp al,offset TRANSPARENT_COLOR
- jz Lp16
- mov ds:word ptr[14+ecx],bp
- mov ds:byte ptr[7+edi],al
-Lp16:
-
-;
-; clear s/z, t/z, 1/z from FP stack
-;
- fstp st(0)
- fstp st(0)
- fstp st(0)
-
- pop ebx ; restore spans pointer
-LNextSpan:
- add ebx,offset sspan_t_size ; point to next span
- mov ecx,ds:dword ptr[sspan_t_count+ebx]
- cmp ecx,0 ; any more spans?
- jg LSpanLoop ; yes
- jz LNextSpan ; yes, but this one's empty
-
- pop ebx ; restore register variables
- pop esi
- pop edi
- pop ebp ; restore the caller's stack frame
- ret
-
-_TEXT ENDS
-endif ; id386
- END
--- a/ref_soft/r_surf8.asm
+++ /dev/null
@@ -1,771 +1,0 @@
- .386P
- .model FLAT
-;
-; surf8.s
-; x86 assembly-language 8 bpp surface block drawing code.
-;
-
-include qasm.inc
-
-if id386
-
-_DATA SEGMENT
-
-sb_v dd 0
-
-_DATA ENDS
-_TEXT SEGMENT
-
- align 4
- public _R_Surf8Start
-_R_Surf8Start:
-
-;----------------------------------------------------------------------
-; Surface block drawer for mip level 0
-;----------------------------------------------------------------------
-
- align 4
- public _R_DrawSurfaceBlock8_mip0
-_R_DrawSurfaceBlock8_mip0:
- push ebp ; preserve caller's stack frame
- push edi
- push esi ; preserve register variables
- push ebx
-
-; for (v=0 ; v<numvblocks ; v++)
-; {
- mov ebx,ds:dword ptr[_r_lightptr]
- mov eax,ds:dword ptr[_r_numvblocks]
-
- mov ds:dword ptr[sb_v],eax
- mov edi,ds:dword ptr[_prowdestbase]
-
- mov esi,ds:dword ptr[_pbasesource]
-
-Lv_loop_mip0:
-
-; lightleft = lightptr[0];
-; lightright = lightptr[1];
-; lightdelta = (lightleft - lightright) & 0xFFFFF;
- mov eax,ds:dword ptr[ebx] ; lightleft
- mov edx,ds:dword ptr[4+ebx] ; lightright
-
- mov ebp,eax
- mov ecx,ds:dword ptr[_r_lightwidth]
-
- mov ds:dword ptr[_lightright],edx
- sub ebp,edx
-
- and ebp,0FFFFFh
- lea ebx,ds:dword ptr[ebx+ecx*4]
-
-; lightptr += lightwidth;
- mov ds:dword ptr[_r_lightptr],ebx
-
-; lightleftstep = (lightptr[0] - lightleft) >> blockdivshift;
-; lightrightstep = (lightptr[1] - lightright) >> blockdivshift;
-; lightdeltastep = ((lightleftstep - lightrightstep) & 0xFFFFF) |
-; 0xF0000000;
- mov ecx,ds:dword ptr[4+ebx] ; lightptr[1]
- mov ebx,ds:dword ptr[ebx] ; lightptr[0]
-
- sub ebx,eax
- sub ecx,edx
-
- sar ecx,4
- or ebp,0F0000000h
-
- sar ebx,4
- mov ds:dword ptr[_lightrightstep],ecx
-
- sub ebx,ecx
- and ebx,0FFFFFh
-
- or ebx,0F0000000h
- sub ecx,ecx ; high word must be 0 in loop for addressing
-
- mov ds:dword ptr[_lightdeltastep],ebx
- sub ebx,ebx ; high word must be 0 in loop for addressing
-
-Lblockloop8_mip0:
- mov ds:dword ptr[_lightdelta],ebp
- mov cl,ds:byte ptr[14+esi]
-
- sar ebp,4
- mov bh,dh
-
- mov bl,ds:byte ptr[15+esi]
- add edx,ebp
-
- mov ch,dh
- add edx,ebp
-
- mov ah,ds:byte ptr[12345678h+ebx]
-LBPatch0:
- mov bl,ds:byte ptr[13+esi]
-
- mov al,ds:byte ptr[12345678h+ecx]
-LBPatch1:
- mov cl,ds:byte ptr[12+esi]
-
- mov bh,dh
- add edx,ebp
-
- ror eax,16
- mov ch,dh
-
- add edx,ebp
- mov ah,ds:byte ptr[12345678h+ebx]
-LBPatch2:
-
- mov bl,ds:byte ptr[11+esi]
- mov al,ds:byte ptr[12345678h+ecx]
-LBPatch3:
-
- mov cl,ds:byte ptr[10+esi]
- mov ds:dword ptr[12+edi],eax
-
- mov bh,dh
- add edx,ebp
-
- mov ch,dh
- add edx,ebp
-
- mov ah,ds:byte ptr[12345678h+ebx]
-LBPatch4:
- mov bl,ds:byte ptr[9+esi]
-
- mov al,ds:byte ptr[12345678h+ecx]
-LBPatch5:
- mov cl,ds:byte ptr[8+esi]
-
- mov bh,dh
- add edx,ebp
-
- ror eax,16
- mov ch,dh
-
- add edx,ebp
- mov ah,ds:byte ptr[12345678h+ebx]
-LBPatch6:
-
- mov bl,ds:byte ptr[7+esi]
- mov al,ds:byte ptr[12345678h+ecx]
-LBPatch7:
-
- mov cl,ds:byte ptr[6+esi]
- mov ds:dword ptr[8+edi],eax
-
- mov bh,dh
- add edx,ebp
-
- mov ch,dh
- add edx,ebp
-
- mov ah,ds:byte ptr[12345678h+ebx]
-LBPatch8:
- mov bl,ds:byte ptr[5+esi]
-
- mov al,ds:byte ptr[12345678h+ecx]
-LBPatch9:
- mov cl,ds:byte ptr[4+esi]
-
- mov bh,dh
- add edx,ebp
-
- ror eax,16
- mov ch,dh
-
- add edx,ebp
- mov ah,ds:byte ptr[12345678h+ebx]
-LBPatch10:
-
- mov bl,ds:byte ptr[3+esi]
- mov al,ds:byte ptr[12345678h+ecx]
-LBPatch11:
-
- mov cl,ds:byte ptr[2+esi]
- mov ds:dword ptr[4+edi],eax
-
- mov bh,dh
- add edx,ebp
-
- mov ch,dh
- add edx,ebp
-
- mov ah,ds:byte ptr[12345678h+ebx]
-LBPatch12:
- mov bl,ds:byte ptr[1+esi]
-
- mov al,ds:byte ptr[12345678h+ecx]
-LBPatch13:
- mov cl,ds:byte ptr[esi]
-
- mov bh,dh
- add edx,ebp
-
- ror eax,16
- mov ch,dh
-
- mov ah,ds:byte ptr[12345678h+ebx]
-LBPatch14:
- mov edx,ds:dword ptr[_lightright]
-
- mov al,ds:byte ptr[12345678h+ecx]
-LBPatch15:
- mov ebp,ds:dword ptr[_lightdelta]
-
- mov ds:dword ptr[edi],eax
-
- add esi,ds:dword ptr[_sourcetstep]
- add edi,ds:dword ptr[_surfrowbytes]
-
- add edx,ds:dword ptr[_lightrightstep]
- add ebp,ds:dword ptr[_lightdeltastep]
-
- mov ds:dword ptr[_lightright],edx
- jc Lblockloop8_mip0
-
-; if (pbasesource >= r_sourcemax)
-; pbasesource -= stepback;
-
- cmp esi,ds:dword ptr[_r_sourcemax]
- jb LSkip_mip0
- sub esi,ds:dword ptr[_r_stepback]
-LSkip_mip0:
-
- mov ebx,ds:dword ptr[_r_lightptr]
- dec ds:dword ptr[sb_v]
-
- jnz Lv_loop_mip0
-
- pop ebx ; restore register variables
- pop esi
- pop edi
- pop ebp ; restore the caller's stack frame
- ret
-
-
-;----------------------------------------------------------------------
-; Surface block drawer for mip level 1
-;----------------------------------------------------------------------
-
- align 4
- public _R_DrawSurfaceBlock8_mip1
-_R_DrawSurfaceBlock8_mip1:
- push ebp ; preserve caller's stack frame
- push edi
- push esi ; preserve register variables
- push ebx
-
-; for (v=0 ; v<numvblocks ; v++)
-; {
- mov ebx,ds:dword ptr[_r_lightptr]
- mov eax,ds:dword ptr[_r_numvblocks]
-
- mov ds:dword ptr[sb_v],eax
- mov edi,ds:dword ptr[_prowdestbase]
-
- mov esi,ds:dword ptr[_pbasesource]
-
-Lv_loop_mip1:
-
-; lightleft = lightptr[0];
-; lightright = lightptr[1];
-; lightdelta = (lightleft - lightright) & 0xFFFFF;
- mov eax,ds:dword ptr[ebx] ; lightleft
- mov edx,ds:dword ptr[4+ebx] ; lightright
-
- mov ebp,eax
- mov ecx,ds:dword ptr[_r_lightwidth]
-
- mov ds:dword ptr[_lightright],edx
- sub ebp,edx
-
- and ebp,0FFFFFh
- lea ebx,ds:dword ptr[ebx+ecx*4]
-
-; lightptr += lightwidth;
- mov ds:dword ptr[_r_lightptr],ebx
-
-; lightleftstep = (lightptr[0] - lightleft) >> blockdivshift;
-; lightrightstep = (lightptr[1] - lightright) >> blockdivshift;
-; lightdeltastep = ((lightleftstep - lightrightstep) & 0xFFFFF) |
-; 0xF0000000;
- mov ecx,ds:dword ptr[4+ebx] ; lightptr[1]
- mov ebx,ds:dword ptr[ebx] ; lightptr[0]
-
- sub ebx,eax
- sub ecx,edx
-
- sar ecx,3
- or ebp,070000000h
-
- sar ebx,3
- mov ds:dword ptr[_lightrightstep],ecx
-
- sub ebx,ecx
- and ebx,0FFFFFh
-
- or ebx,0F0000000h
- sub ecx,ecx ; high word must be 0 in loop for addressing
-
- mov ds:dword ptr[_lightdeltastep],ebx
- sub ebx,ebx ; high word must be 0 in loop for addressing
-
-Lblockloop8_mip1:
- mov ds:dword ptr[_lightdelta],ebp
- mov cl,ds:byte ptr[6+esi]
-
- sar ebp,3
- mov bh,dh
-
- mov bl,ds:byte ptr[7+esi]
- add edx,ebp
-
- mov ch,dh
- add edx,ebp
-
- mov ah,ds:byte ptr[12345678h+ebx]
-LBPatch22:
- mov bl,ds:byte ptr[5+esi]
-
- mov al,ds:byte ptr[12345678h+ecx]
-LBPatch23:
- mov cl,ds:byte ptr[4+esi]
-
- mov bh,dh
- add edx,ebp
-
- ror eax,16
- mov ch,dh
-
- add edx,ebp
- mov ah,ds:byte ptr[12345678h+ebx]
-LBPatch24:
-
- mov bl,ds:byte ptr[3+esi]
- mov al,ds:byte ptr[12345678h+ecx]
-LBPatch25:
-
- mov cl,ds:byte ptr[2+esi]
- mov ds:dword ptr[4+edi],eax
-
- mov bh,dh
- add edx,ebp
-
- mov ch,dh
- add edx,ebp
-
- mov ah,ds:byte ptr[12345678h+ebx]
-LBPatch26:
- mov bl,ds:byte ptr[1+esi]
-
- mov al,ds:byte ptr[12345678h+ecx]
-LBPatch27:
- mov cl,ds:byte ptr[esi]
-
- mov bh,dh
- add edx,ebp
-
- ror eax,16
- mov ch,dh
-
- mov ah,ds:byte ptr[12345678h+ebx]
-LBPatch28:
- mov edx,ds:dword ptr[_lightright]
-
- mov al,ds:byte ptr[12345678h+ecx]
-LBPatch29:
- mov ebp,ds:dword ptr[_lightdelta]
-
- mov ds:dword ptr[edi],eax
- mov eax,ds:dword ptr[_sourcetstep]
-
- add esi,eax
- mov eax,ds:dword ptr[_surfrowbytes]
-
- add edi,eax
- mov eax,ds:dword ptr[_lightrightstep]
-
- add edx,eax
- mov eax,ds:dword ptr[_lightdeltastep]
-
- add ebp,eax
- mov ds:dword ptr[_lightright],edx
-
- jc Lblockloop8_mip1
-
-; if (pbasesource >= r_sourcemax)
-; pbasesource -= stepback;
-
- cmp esi,ds:dword ptr[_r_sourcemax]
- jb LSkip_mip1
- sub esi,ds:dword ptr[_r_stepback]
-LSkip_mip1:
-
- mov ebx,ds:dword ptr[_r_lightptr]
- dec ds:dword ptr[sb_v]
-
- jnz Lv_loop_mip1
-
- pop ebx ; restore register variables
- pop esi
- pop edi
- pop ebp ; restore the caller's stack frame
- ret
-
-
-;----------------------------------------------------------------------
-; Surface block drawer for mip level 2
-;----------------------------------------------------------------------
-
- align 4
- public _R_DrawSurfaceBlock8_mip2
-_R_DrawSurfaceBlock8_mip2:
- push ebp ; preserve caller's stack frame
- push edi
- push esi ; preserve register variables
- push ebx
-
-; for (v=0 ; v<numvblocks ; v++)
-; {
- mov ebx,ds:dword ptr[_r_lightptr]
- mov eax,ds:dword ptr[_r_numvblocks]
-
- mov ds:dword ptr[sb_v],eax
- mov edi,ds:dword ptr[_prowdestbase]
-
- mov esi,ds:dword ptr[_pbasesource]
-
-Lv_loop_mip2:
-
-; lightleft = lightptr[0];
-; lightright = lightptr[1];
-; lightdelta = (lightleft - lightright) & 0xFFFFF;
- mov eax,ds:dword ptr[ebx] ; lightleft
- mov edx,ds:dword ptr[4+ebx] ; lightright
-
- mov ebp,eax
- mov ecx,ds:dword ptr[_r_lightwidth]
-
- mov ds:dword ptr[_lightright],edx
- sub ebp,edx
-
- and ebp,0FFFFFh
- lea ebx,ds:dword ptr[ebx+ecx*4]
-
-; lightptr += lightwidth;
- mov ds:dword ptr[_r_lightptr],ebx
-
-; lightleftstep = (lightptr[0] - lightleft) >> blockdivshift;
-; lightrightstep = (lightptr[1] - lightright) >> blockdivshift;
-; lightdeltastep = ((lightleftstep - lightrightstep) & 0xFFFFF) |
-; 0xF0000000;
- mov ecx,ds:dword ptr[4+ebx] ; lightptr[1]
- mov ebx,ds:dword ptr[ebx] ; lightptr[0]
-
- sub ebx,eax
- sub ecx,edx
-
- sar ecx,2
- or ebp,030000000h
-
- sar ebx,2
- mov ds:dword ptr[_lightrightstep],ecx
-
- sub ebx,ecx
-
- and ebx,0FFFFFh
-
- or ebx,0F0000000h
- sub ecx,ecx ; high word must be 0 in loop for addressing
-
- mov ds:dword ptr[_lightdeltastep],ebx
- sub ebx,ebx ; high word must be 0 in loop for addressing
-
-Lblockloop8_mip2:
- mov ds:dword ptr[_lightdelta],ebp
- mov cl,ds:byte ptr[2+esi]
-
- sar ebp,2
- mov bh,dh
-
- mov bl,ds:byte ptr[3+esi]
- add edx,ebp
-
- mov ch,dh
- add edx,ebp
-
- mov ah,ds:byte ptr[12345678h+ebx]
-LBPatch18:
- mov bl,ds:byte ptr[1+esi]
-
- mov al,ds:byte ptr[12345678h+ecx]
-LBPatch19:
- mov cl,ds:byte ptr[esi]
-
- mov bh,dh
- add edx,ebp
-
- ror eax,16
- mov ch,dh
-
- mov ah,ds:byte ptr[12345678h+ebx]
-LBPatch20:
- mov edx,ds:dword ptr[_lightright]
-
- mov al,ds:byte ptr[12345678h+ecx]
-LBPatch21:
- mov ebp,ds:dword ptr[_lightdelta]
-
- mov ds:dword ptr[edi],eax
- mov eax,ds:dword ptr[_sourcetstep]
-
- add esi,eax
- mov eax,ds:dword ptr[_surfrowbytes]
-
- add edi,eax
- mov eax,ds:dword ptr[_lightrightstep]
-
- add edx,eax
- mov eax,ds:dword ptr[_lightdeltastep]
-
- add ebp,eax
- mov ds:dword ptr[_lightright],edx
-
- jc Lblockloop8_mip2
-
-; if (pbasesource >= r_sourcemax)
-; pbasesource -= stepback;
-
- cmp esi,ds:dword ptr[_r_sourcemax]
- jb LSkip_mip2
- sub esi,ds:dword ptr[_r_stepback]
-LSkip_mip2:
-
- mov ebx,ds:dword ptr[_r_lightptr]
- dec ds:dword ptr[sb_v]
-
- jnz Lv_loop_mip2
-
- pop ebx ; restore register variables
- pop esi
- pop edi
- pop ebp ; restore the caller's stack frame
- ret
-
-
-;----------------------------------------------------------------------
-; Surface block drawer for mip level 3
-;----------------------------------------------------------------------
-
- align 4
- public _R_DrawSurfaceBlock8_mip3
-_R_DrawSurfaceBlock8_mip3:
- push ebp ; preserve caller's stack frame
- push edi
- push esi ; preserve register variables
- push ebx
-
-; for (v=0 ; v<numvblocks ; v++)
-; {
- mov ebx,ds:dword ptr[_r_lightptr]
- mov eax,ds:dword ptr[_r_numvblocks]
-
- mov ds:dword ptr[sb_v],eax
- mov edi,ds:dword ptr[_prowdestbase]
-
- mov esi,ds:dword ptr[_pbasesource]
-
-Lv_loop_mip3:
-
-; lightleft = lightptr[0];
-; lightright = lightptr[1];
-; lightdelta = (lightleft - lightright) & 0xFFFFF;
- mov eax,ds:dword ptr[ebx] ; lightleft
- mov edx,ds:dword ptr[4+ebx] ; lightright
-
- mov ebp,eax
- mov ecx,ds:dword ptr[_r_lightwidth]
-
- mov ds:dword ptr[_lightright],edx
- sub ebp,edx
-
- and ebp,0FFFFFh
- lea ebx,ds:dword ptr[ebx+ecx*4]
-
- mov ds:dword ptr[_lightdelta],ebp
-; lightptr += lightwidth;
- mov ds:dword ptr[_r_lightptr],ebx
-
-; lightleftstep = (lightptr[0] - lightleft) >> blockdivshift;
-; lightrightstep = (lightptr[1] - lightright) >> blockdivshift;
-; lightdeltastep = ((lightleftstep - lightrightstep) & 0xFFFFF) |
-; 0xF0000000;
- mov ecx,ds:dword ptr[4+ebx] ; lightptr[1]
- mov ebx,ds:dword ptr[ebx] ; lightptr[0]
-
- sub ebx,eax
- sub ecx,edx
-
- sar ecx,1
-
- sar ebx,1
- mov ds:dword ptr[_lightrightstep],ecx
-
- sub ebx,ecx
- and ebx,0FFFFFh
-
- sar ebp,1
- or ebx,0F0000000h
-
- mov ds:dword ptr[_lightdeltastep],ebx
- sub ebx,ebx ; high word must be 0 in loop for addressing
-
- mov bl,ds:byte ptr[1+esi]
- sub ecx,ecx ; high word must be 0 in loop for addressing
-
- mov bh,dh
- mov cl,ds:byte ptr[esi]
-
- add edx,ebp
- mov ch,dh
-
- mov al,ds:byte ptr[12345678h+ebx]
-LBPatch16:
- mov edx,ds:dword ptr[_lightright]
-
- mov ds:byte ptr[1+edi],al
- mov al,ds:byte ptr[12345678h+ecx]
-LBPatch17:
-
- mov ds:byte ptr[edi],al
- mov eax,ds:dword ptr[_sourcetstep]
-
- add esi,eax
- mov eax,ds:dword ptr[_surfrowbytes]
-
- add edi,eax
- mov eax,ds:dword ptr[_lightdeltastep]
-
- mov ebp,ds:dword ptr[_lightdelta]
- mov cl,ds:byte ptr[esi]
-
- add ebp,eax
- mov eax,ds:dword ptr[_lightrightstep]
-
- sar ebp,1
- add edx,eax
-
- mov bh,dh
- mov bl,ds:byte ptr[1+esi]
-
- add edx,ebp
- mov ch,dh
-
- mov al,ds:byte ptr[12345678h+ebx]
-LBPatch30:
- mov edx,ds:dword ptr[_sourcetstep]
-
- mov ds:byte ptr[1+edi],al
- mov al,ds:byte ptr[12345678h+ecx]
-LBPatch31:
-
- mov ds:byte ptr[edi],al
- mov ebp,ds:dword ptr[_surfrowbytes]
-
- add esi,edx
- add edi,ebp
-
-; if (pbasesource >= r_sourcemax)
-; pbasesource -= stepback;
-
- cmp esi,ds:dword ptr[_r_sourcemax]
- jb LSkip_mip3
- sub esi,ds:dword ptr[_r_stepback]
-LSkip_mip3:
-
- mov ebx,ds:dword ptr[_r_lightptr]
- dec ds:dword ptr[sb_v]
-
- jnz Lv_loop_mip3
-
- pop ebx ; restore register variables
- pop esi
- pop edi
- pop ebp ; restore the caller's stack frame
- ret
-
-
- public _R_Surf8End
-_R_Surf8End:
-
-;----------------------------------------------------------------------
-; Code patching routines
-;----------------------------------------------------------------------
-_TEXT ENDS
-_DATA SEGMENT
-
- align 4
-LPatchTable8:
- dd LBPatch0-4
- dd LBPatch1-4
- dd LBPatch2-4
- dd LBPatch3-4
- dd LBPatch4-4
- dd LBPatch5-4
- dd LBPatch6-4
- dd LBPatch7-4
- dd LBPatch8-4
- dd LBPatch9-4
- dd LBPatch10-4
- dd LBPatch11-4
- dd LBPatch12-4
- dd LBPatch13-4
- dd LBPatch14-4
- dd LBPatch15-4
- dd LBPatch16-4
- dd LBPatch17-4
- dd LBPatch18-4
- dd LBPatch19-4
- dd LBPatch20-4
- dd LBPatch21-4
- dd LBPatch22-4
- dd LBPatch23-4
- dd LBPatch24-4
- dd LBPatch25-4
- dd LBPatch26-4
- dd LBPatch27-4
- dd LBPatch28-4
- dd LBPatch29-4
- dd LBPatch30-4
- dd LBPatch31-4
-
-_DATA ENDS
-_TEXT SEGMENT
-
- align 4
- public _R_Surf8Patch
-_R_Surf8Patch:
- push ebx
-
- mov eax,ds:dword ptr[_colormap]
- mov ebx,offset LPatchTable8
- mov ecx,32
-LPatchLoop8:
- mov edx,ds:dword ptr[ebx]
- add ebx,4
- mov ds:dword ptr[edx],eax
- dec ecx
- jnz LPatchLoop8
-
- pop ebx
-
- ret
-
-_TEXT ENDS
-endif ;id386
-
- END
-
--- a/ref_soft/r_varsa.asm
+++ /dev/null
@@ -1,220 +1,0 @@
- .386P
- .model FLAT
-;
-; d_varsa.s
-;
-
-include qasm.inc
-include d_if.inc
-
-if id386
-
-_DATA SEGMENT
-
-;-------------------------------------------------------
-; ASM-only variables
-;-------------------------------------------------------
- public float_1, float_particle_z_clip, float_point5
- public float_minus_1, float_0
-float_0 dd 0.0
-float_1 dd 1.0
-float_minus_1 dd -1.0
-float_particle_z_clip dd PARTICLE_Z_CLIP
-float_point5 dd 0.5
-
- public fp_16, fp_64k, fp_1m, fp_64kx64k
- public fp_1m_minus_1
- public fp_8
-fp_1m dd 1048576.0
-fp_1m_minus_1 dd 1048575.0
-fp_64k dd 65536.0
-fp_8 dd 8.0
-fp_16 dd 16.0
-fp_64kx64k dd 04f000000h ; (float)0x8000*0x10000
-
-
- public FloatZero, Float2ToThe31nd, FloatMinus2ToThe31nd
-FloatZero dd 0
-Float2ToThe31nd dd 04f000000h
-FloatMinus2ToThe31nd dd 0cf000000h
-
- public _r_bmodelactive
-_r_bmodelactive dd 0
-
-
-;-------------------------------------------------------
-; global refresh variables
-;-------------------------------------------------------
-
-; FIXME: put all refresh variables into one contiguous block. Make into one
-; big structure, like cl or sv?
-
- align 4
- public _d_sdivzstepu
- public _d_tdivzstepu
- public _d_zistepu
- public _d_sdivzstepv
- public _d_tdivzstepv
- public _d_zistepv
- public _d_sdivzorigin
- public _d_tdivzorigin
- public _d_ziorigin
-_d_sdivzstepu dd 0
-_d_tdivzstepu dd 0
-_d_zistepu dd 0
-_d_sdivzstepv dd 0
-_d_tdivzstepv dd 0
-_d_zistepv dd 0
-_d_sdivzorigin dd 0
-_d_tdivzorigin dd 0
-_d_ziorigin dd 0
-
- public _sadjust
- public _tadjust
- public _bbextents
- public _bbextentt
-_sadjust dd 0
-_tadjust dd 0
-_bbextents dd 0
-_bbextentt dd 0
-
- public _cacheblock
- public _d_viewbuffer
- public _cachewidth
- public _d_pzbuffer
- public _d_zrowbytes
- public _d_zwidth
-_cacheblock dd 0
-_cachewidth dd 0
-_d_viewbuffer dd 0
-_d_pzbuffer dd 0
-_d_zrowbytes dd 0
-_d_zwidth dd 0
-
-
-;-------------------------------------------------------
-; ASM-only variables
-;-------------------------------------------------------
- public izi
-izi dd 0
-
- public pbase, s, t, sfracf, tfracf, snext, tnext
- public spancountminus1, zi16stepu, sdivz16stepu, tdivz16stepu
- public zi8stepu, sdivz8stepu, tdivz8stepu, pz
-s dd 0
-t dd 0
-snext dd 0
-tnext dd 0
-sfracf dd 0
-tfracf dd 0
-pbase dd 0
-zi8stepu dd 0
-sdivz8stepu dd 0
-tdivz8stepu dd 0
-zi16stepu dd 0
-sdivz16stepu dd 0
-tdivz16stepu dd 0
-spancountminus1 dd 0
-pz dd 0
-
- public izistep
-izistep dd 0
-
-;-------------------------------------------------------
-; local variables for d_draw16.s
-;-------------------------------------------------------
-
- public reciprocal_table_16, entryvec_table_16
-; 1/2, 1/3, 1/4, 1/5, 1/6, 1/7, 1/8, 1/9, 1/10, 1/11, 1/12, 1/13,
-; 1/14, and 1/15 in 0.32 form
-reciprocal_table_16 dd 040000000h, 02aaaaaaah, 020000000h
- dd 019999999h, 015555555h, 012492492h
- dd 010000000h, 0e38e38eh, 0ccccccch, 0ba2e8bah
- dd 0aaaaaaah, 09d89d89h, 09249249h, 08888888h
-
- externdef Entry2_16:dword
- externdef Entry3_16:dword
- externdef Entry4_16:dword
- externdef Entry5_16:dword
- externdef Entry6_16:dword
- externdef Entry7_16:dword
- externdef Entry8_16:dword
- externdef Entry9_16:dword
- externdef Entry10_16:dword
- externdef Entry11_16:dword
- externdef Entry12_16:dword
- externdef Entry13_16:dword
- externdef Entry14_16:dword
- externdef Entry15_16:dword
- externdef Entry16_16:dword
-
-entryvec_table_16 dd 0, Entry2_16, Entry3_16, Entry4_16
- dd Entry5_16, Entry6_16, Entry7_16, Entry8_16
- dd Entry9_16, Entry10_16, Entry11_16, Entry12_16
- dd Entry13_16, Entry14_16, Entry15_16, Entry16_16
-
-;-------------------------------------------------------
-; local variables for d_parta.s
-;-------------------------------------------------------
- public DP_Count, DP_u, DP_v, DP_32768, DP_Color, DP_Pix
-DP_Count dd 0
-DP_u dd 0
-DP_v dd 0
-DP_32768 dd 32768.0
-DP_Color dd 0
-DP_Pix dd 0
-
-
-;externdef DP_1x1:dword
-;externdef DP_2x2:dword
-;externdef DP_3x3:dword
-;externdef DP_4x4:dword
-
-;DP_EntryTable dd DP_1x1, DP_2x2, DP_3x3, DP_4x4
-
-;
-; advancetable is 8 bytes, but points to the middle of that range so negative
-; offsets will work
-;
- public advancetable, sstep, tstep, pspantemp, counttemp, jumptemp
-advancetable dd 0, 0
-sstep dd 0
-tstep dd 0
-
-pspantemp dd 0
-counttemp dd 0
-jumptemp dd 0
-
-; 1/2, 1/3, 1/4, 1/5, 1/6, and 1/7 in 0.32 form
-; public reciprocal_table, entryvec_table
-reciprocal_table dd 040000000h, 02aaaaaaah, 020000000h
- dd 019999999h, 015555555h, 012492492h
-
-
-; externdef Entry2_8:dword
-; externdef Entry3_8:dword
-; externdef Entry4_8:dword
-; externdef Entry5_8:dword
-; externdef Entry6_8:dword
-; externdef Entry7_8:dword
-; externdef Entry8_8:dword
-
-;entryvec_table dd 0, Entry2_8, Entry3_8, Entry4_8
-; dd Entry5_8, Entry6_8, Entry7_8, Entry8_8
-
- externdef Spr8Entry2_8:dword
- externdef Spr8Entry3_8:dword
- externdef Spr8Entry4_8:dword
- externdef Spr8Entry5_8:dword
- externdef Spr8Entry6_8:dword
- externdef Spr8Entry7_8:dword
- externdef Spr8Entry8_8:dword
-
- public spr8entryvec_table
-spr8entryvec_table dd 0, Spr8Entry2_8, Spr8Entry3_8, Spr8Entry4_8
- dd Spr8Entry5_8, Spr8Entry6_8, Spr8Entry7_8, Spr8Entry8_8
-
-
-_DATA ENDS
-endif ; id386
- END
--- a/ref_soft/ref_soft.001
+++ /dev/null
@@ -1,1498 +1,0 @@
-# Microsoft Developer Studio Project File - Name="ref_soft" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 5.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-# TARGTYPE "Win32 (ALPHA) Dynamic-Link Library" 0x0602
-
-CFG=ref_soft - Win32 Debug Alpha
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "ref_soft.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "ref_soft.mak" CFG="ref_soft - Win32 Debug Alpha"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "ref_soft - Win32 Release" (based on\
- "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "ref_soft - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "ref_soft - Win32 Debug Alpha" (based on\
- "Win32 (ALPHA) Dynamic-Link Library")
-!MESSAGE "ref_soft - Win32 Release Alpha" (based on\
- "Win32 (ALPHA) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ".\ref_soft"
-# PROP BASE Intermediate_Dir ".\ref_soft"
-# PROP BASE Target_Dir "."
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\release"
-# PROP Intermediate_Dir ".\release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir "."
-CPP=cl.exe
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /G5 /MT /W4 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winmm.lib /nologo /subsystem:windows /dll /machine:I386
-# SUBTRACT LINK32 /debug
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ".\ref_soft"
-# PROP BASE Intermediate_Dir ".\ref_soft"
-# PROP BASE Target_Dir "."
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\debug"
-# PROP Intermediate_Dir ".\debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir "."
-CPP=cl.exe
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /G5 /MTd /W3 /Gm /GX /Zi /Od /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /FR /YX /FD /c
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winmm.lib /nologo /subsystem:windows /dll /incremental:no /map /debug /machine:I386 /nodefaultlib:"libc"
-# SUBTRACT LINK32 /profile /nodefaultlib
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug Alpha"
-# PROP BASE Intermediate_Dir "Debug Alpha"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\DebugAxp"
-# PROP Intermediate_Dir ".\DebugAxp"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
-CPP=cl.exe
-# ADD BASE CPP /nologo /MTd /Gt0 /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /QA21164 /MTd /Gt0 /W3 /GX /Zi /Od /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "C_ONLY" /YX /FD /QAieee1 /c
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 winmm.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /debug /machine:ALPHA /nodefaultlib:"libc"
-# SUBTRACT BASE LINK32 /nodefaultlib
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winmm.lib /nologo /subsystem:windows /dll /debug /machine:ALPHA /nodefaultlib:"libc"
-# SUBTRACT LINK32 /nodefaultlib
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "ref_soft"
-# PROP BASE Intermediate_Dir "ref_soft"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\ReleaseAXP"
-# PROP Intermediate_Dir ".\ReleaseAXP"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
-CPP=cl.exe
-# ADD BASE CPP /nologo /MT /Gt0 /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /QA21164 /MT /Gt0 /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "C_ONLY" /YX /FD /QAieee1 /c
-# SUBTRACT CPP /Z<none> /Fr
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /machine:ALPHA
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winmm.lib /nologo /subsystem:windows /dll /machine:ALPHA
-# SUBTRACT LINK32 /debug
-
-!ENDIF
-
-# Begin Target
-
-# Name "ref_soft - Win32 Release"
-# Name "ref_soft - Win32 Debug"
-# Name "ref_soft - Win32 Debug Alpha"
-# Name "ref_soft - Win32 Release Alpha"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
-# Begin Source File
-
-SOURCE=..\game\q_shared.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_Q_SHA=\
- "..\game\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_Q_SHA=\
- "..\game\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_Q_SHA=\
- "..\game\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\win32\q_shwin.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_Q_SHW=\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- "..\win32\winquake.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_Q_SHW=\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- "..\win32\winquake.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_Q_SHW=\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- "..\win32\winquake.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_aclip.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_ACL=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_ACL=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_ACL=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_aclipa.asm
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-# Begin Custom Build
-OutDir=.\..\release
-InputPath=.\r_aclipa.asm
-InputName=r_aclipa
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-# Begin Custom Build
-OutDir=.\..\debug
-InputPath=.\r_aclipa.asm
-InputName=r_aclipa
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-# PROP Exclude_From_Build 1
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_alias.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_ALI=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\anorms.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_ALI=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\anorms.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_ALI=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\anorms.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_bsp.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_BSP=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_BSP=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_BSP=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_draw.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_DRA=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_DRA=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_DRA=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_draw16.asm
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-# Begin Custom Build
-OutDir=.\..\release
-InputPath=.\r_draw16.asm
-InputName=r_draw16
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-# Begin Custom Build
-OutDir=.\..\debug
-InputPath=.\r_draw16.asm
-InputName=r_draw16
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-# PROP Exclude_From_Build 1
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_drawa.asm
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-# Begin Custom Build
-OutDir=.\..\release
-InputPath=.\r_drawa.asm
-InputName=r_drawa
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-# Begin Custom Build
-OutDir=.\..\debug
-InputPath=.\r_drawa.asm
-InputName=r_drawa
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-# PROP Exclude_From_Build 1
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_edge.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_EDG=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_EDG=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_EDG=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_edgea.asm
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-# Begin Custom Build
-OutDir=.\..\release
-InputPath=.\r_edgea.asm
-InputName=r_edgea
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-# Begin Custom Build
-OutDir=.\..\debug
-InputPath=.\r_edgea.asm
-InputName=r_edgea
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-# PROP Exclude_From_Build 1
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_image.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_IMA=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_IMA=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_IMA=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_light.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_LIG=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_LIG=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_LIG=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_main.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_MAI=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_MAI=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_MAI=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_misc.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_MIS=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_MIS=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_MIS=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_model.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_MOD=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_MOD=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_MOD=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_part.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_PAR=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_PAR=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_PAR=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_poly.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_POL=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_POL=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_POL=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_polysa.asm
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-# Begin Custom Build
-OutDir=.\..\release
-InputPath=.\r_polysa.asm
-InputName=r_polysa
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-# Begin Custom Build
-OutDir=.\..\debug
-InputPath=.\r_polysa.asm
-InputName=r_polysa
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_polyse.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_POLY=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\adivtab.h"\
- ".\r_local.h"\
- ".\r_model.h"\
- ".\rand1k.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_POLY=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\adivtab.h"\
- ".\r_local.h"\
- ".\r_model.h"\
- ".\rand1k.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_POLY=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\adivtab.h"\
- ".\r_local.h"\
- ".\r_model.h"\
- ".\rand1k.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_rast.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_RAS=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_RAS=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_RAS=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_scan.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_SCA=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_SCA=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_SCA=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_scana.asm
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-# Begin Custom Build
-OutDir=.\..\release
-InputPath=.\r_scana.asm
-InputName=r_scana
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-# Begin Custom Build
-OutDir=.\..\debug
-InputPath=.\r_scana.asm
-InputName=r_scana
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-# PROP Exclude_From_Build 1
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_spr8.asm
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-# Begin Custom Build
-OutDir=.\..\release
-InputPath=.\r_spr8.asm
-InputName=r_spr8
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-# Begin Custom Build
-OutDir=.\..\debug
-InputPath=.\r_spr8.asm
-InputName=r_spr8
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-# PROP Exclude_From_Build 1
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_sprite.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_SPR=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_SPR=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_SPR=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_surf.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_SUR=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_SUR=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_SUR=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_surf8.asm
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-# Begin Custom Build
-OutDir=.\..\release
-InputPath=.\r_surf8.asm
-InputName=r_surf8
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-# Begin Custom Build
-OutDir=.\..\debug
-InputPath=.\r_surf8.asm
-InputName=r_surf8
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-# PROP Exclude_From_Build 1
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_varsa.asm
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-# Begin Custom Build
-OutDir=.\..\release
-InputPath=.\r_varsa.asm
-InputName=r_varsa
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-# Begin Custom Build
-OutDir=.\..\debug
-InputPath=.\r_varsa.asm
-InputName=r_varsa
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-# PROP Exclude_From_Build 1
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\win32\rw_ddraw.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_RW_DD=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- "..\win32\rw_win.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_RW_DD=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- "..\win32\rw_win.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_RW_DD=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- "..\win32\rw_win.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\win32\rw_dib.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_RW_DI=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- "..\win32\rw_win.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_RW_DI=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- "..\win32\rw_win.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_RW_DI=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- "..\win32\rw_win.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\win32\rw_imp.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_RW_IM=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- "..\win32\rw_win.h"\
- "..\win32\winquake.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_RW_IM=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- "..\win32\rw_win.h"\
- "..\win32\winquake.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_RW_IM=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- "..\win32\rw_win.h"\
- "..\win32\winquake.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
-# Begin Source File
-
-SOURCE=.\adivtab.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\anorms.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\game\q_shared.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\qcommon\qcommon.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\qcommon\qfiles.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_local.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_model.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\rand1k.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\client\ref.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\win32\rw_win.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\win32\winquake.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
-# Begin Source File
-
-SOURCE=.\ref_soft.def
-# End Source File
-# End Group
-# End Target
-# End Project
--- a/ref_soft/ref_soft.def
+++ /dev/null
@@ -1,2 +1,0 @@
-EXPORTS
- GetRefAPI
--- a/ref_soft/ref_soft.dsp
+++ /dev/null
@@ -1,1496 +1,0 @@
-# Microsoft Developer Studio Project File - Name="ref_soft" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-# TARGTYPE "Win32 (ALPHA) Dynamic-Link Library" 0x0602
-
-CFG=ref_soft - Win32 Debug Alpha
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "ref_soft.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "ref_soft.mak" CFG="ref_soft - Win32 Debug Alpha"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "ref_soft - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "ref_soft - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "ref_soft - Win32 Debug Alpha" (based on "Win32 (ALPHA) Dynamic-Link Library")
-!MESSAGE "ref_soft - Win32 Release Alpha" (based on "Win32 (ALPHA) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ".\ref_soft"
-# PROP BASE Intermediate_Dir ".\ref_soft"
-# PROP BASE Target_Dir "."
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\release"
-# PROP Intermediate_Dir ".\release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir "."
-CPP=cl.exe
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /G5 /MT /W4 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winmm.lib /nologo /subsystem:windows /dll /machine:I386
-# SUBTRACT LINK32 /debug
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ".\ref_soft"
-# PROP BASE Intermediate_Dir ".\ref_soft"
-# PROP BASE Target_Dir "."
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\debug"
-# PROP Intermediate_Dir ".\debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir "."
-CPP=cl.exe
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /G5 /MTd /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /FR /YX /FD /c
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winmm.lib /nologo /subsystem:windows /dll /incremental:no /map /debug /machine:I386 /nodefaultlib:"libc"
-# SUBTRACT LINK32 /profile /nodefaultlib
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug Alpha"
-# PROP BASE Intermediate_Dir "Debug Alpha"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "..\DebugAxp"
-# PROP Intermediate_Dir ".\DebugAxp"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-CPP=cl.exe
-# ADD BASE CPP /nologo /MTd /Gt0 /W3 /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /QA21164 /MTd /Gt0 /W3 /GX /Zi /Od /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "C_ONLY" /YX /FD /QAieee1 /c
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 winmm.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /debug /machine:ALPHA /nodefaultlib:"libc"
-# SUBTRACT BASE LINK32 /nodefaultlib
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winmm.lib /nologo /subsystem:windows /dll /debug /machine:ALPHA /nodefaultlib:"libc"
-# SUBTRACT LINK32 /nodefaultlib
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "ref_soft"
-# PROP BASE Intermediate_Dir "ref_soft"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "..\ReleaseAXP"
-# PROP Intermediate_Dir ".\ReleaseAXP"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-CPP=cl.exe
-# ADD BASE CPP /nologo /MT /Gt0 /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /QA21164 /MT /Gt0 /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "C_ONLY" /YX /FD /QAieee1 /c
-# SUBTRACT CPP /Z<none> /Fr
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
-RSC=rc.exe
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /dll /machine:ALPHA
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winmm.lib /nologo /subsystem:windows /dll /machine:ALPHA
-# SUBTRACT LINK32 /debug
-
-!ENDIF
-
-# Begin Target
-
-# Name "ref_soft - Win32 Release"
-# Name "ref_soft - Win32 Debug"
-# Name "ref_soft - Win32 Debug Alpha"
-# Name "ref_soft - Win32 Release Alpha"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
-# Begin Source File
-
-SOURCE=..\game\q_shared.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_Q_SHA=\
- "..\game\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_Q_SHA=\
- "..\game\q_shared.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_Q_SHA=\
- "..\game\q_shared.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\win32\q_shwin.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_Q_SHW=\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- "..\win32\winquake.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_Q_SHW=\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- "..\win32\winquake.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_Q_SHW=\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- "..\win32\winquake.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_aclip.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_ACL=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_ACL=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_ACL=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_aclipa.asm
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-# Begin Custom Build
-OutDir=.\..\release
-InputPath=.\r_aclipa.asm
-InputName=r_aclipa
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-# Begin Custom Build
-OutDir=.\..\debug
-InputPath=.\r_aclipa.asm
-InputName=r_aclipa
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-# PROP Exclude_From_Build 1
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_alias.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_ALI=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\anorms.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_ALI=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\anorms.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_ALI=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\anorms.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_bsp.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_BSP=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_BSP=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_BSP=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_draw.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_DRA=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_DRA=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_DRA=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_draw16.asm
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-# Begin Custom Build
-OutDir=.\..\release
-InputPath=.\r_draw16.asm
-InputName=r_draw16
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-# Begin Custom Build
-OutDir=.\..\debug
-InputPath=.\r_draw16.asm
-InputName=r_draw16
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-# PROP Exclude_From_Build 1
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_drawa.asm
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-# Begin Custom Build
-OutDir=.\..\release
-InputPath=.\r_drawa.asm
-InputName=r_drawa
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-# Begin Custom Build
-OutDir=.\..\debug
-InputPath=.\r_drawa.asm
-InputName=r_drawa
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-# PROP Exclude_From_Build 1
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_edge.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_EDG=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_EDG=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_EDG=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_edgea.asm
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-# Begin Custom Build
-OutDir=.\..\release
-InputPath=.\r_edgea.asm
-InputName=r_edgea
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-# Begin Custom Build
-OutDir=.\..\debug
-InputPath=.\r_edgea.asm
-InputName=r_edgea
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-# PROP Exclude_From_Build 1
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_image.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_IMA=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_IMA=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_IMA=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_light.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_LIG=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_LIG=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_LIG=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_main.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_MAI=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_MAI=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_MAI=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_misc.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_MIS=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_MIS=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_MIS=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_model.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_MOD=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_MOD=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_MOD=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_part.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_PAR=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_PAR=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_PAR=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_poly.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_POL=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_POL=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_POL=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_polysa.asm
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-# Begin Custom Build
-OutDir=.\..\release
-InputPath=.\r_polysa.asm
-InputName=r_polysa
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-# Begin Custom Build
-OutDir=.\..\debug
-InputPath=.\r_polysa.asm
-InputName=r_polysa
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_polyse.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_POLY=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\adivtab.h"\
- ".\r_local.h"\
- ".\r_model.h"\
- ".\rand1k.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_POLY=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\adivtab.h"\
- ".\r_local.h"\
- ".\r_model.h"\
- ".\rand1k.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_POLY=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\adivtab.h"\
- ".\r_local.h"\
- ".\r_model.h"\
- ".\rand1k.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_rast.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_RAS=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_RAS=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_RAS=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_scan.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_SCA=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_SCA=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_SCA=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_scana.asm
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-# Begin Custom Build
-OutDir=.\..\release
-InputPath=.\r_scana.asm
-InputName=r_scana
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-# Begin Custom Build
-OutDir=.\..\debug
-InputPath=.\r_scana.asm
-InputName=r_scana
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-# PROP Exclude_From_Build 1
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_spr8.asm
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-# Begin Custom Build
-OutDir=.\..\release
-InputPath=.\r_spr8.asm
-InputName=r_spr8
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-# Begin Custom Build
-OutDir=.\..\debug
-InputPath=.\r_spr8.asm
-InputName=r_spr8
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-# PROP Exclude_From_Build 1
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_sprite.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_SPR=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_SPR=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_SPR=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_surf.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_R_SUR=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_R_SUR=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_R_SUR=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_surf8.asm
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-# Begin Custom Build
-OutDir=.\..\release
-InputPath=.\r_surf8.asm
-InputName=r_surf8
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-# Begin Custom Build
-OutDir=.\..\debug
-InputPath=.\r_surf8.asm
-InputName=r_surf8
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-# PROP Exclude_From_Build 1
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_varsa.asm
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-# Begin Custom Build
-OutDir=.\..\release
-InputPath=.\r_varsa.asm
-InputName=r_varsa
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-# Begin Custom Build
-OutDir=.\..\debug
-InputPath=.\r_varsa.asm
-InputName=r_varsa
-
-"$(OUTDIR)\$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- ml /c /Cp /coff /Fo$(OUTDIR)\$(InputName).obj /Zm /Zi $(InputPath)
-
-# End Custom Build
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-# PROP Exclude_From_Build 1
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\win32\rw_ddraw.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_RW_DD=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- "..\win32\rw_win.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_RW_DD=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- "..\win32\rw_win.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_RW_DD=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- "..\win32\rw_win.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\win32\rw_dib.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_RW_DI=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- "..\win32\rw_win.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_RW_DI=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- "..\win32\rw_win.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_RW_DI=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- "..\win32\rw_win.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\win32\rw_imp.c
-
-!IF "$(CFG)" == "ref_soft - Win32 Release"
-
-DEP_CPP_RW_IM=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- "..\win32\rw_win.h"\
- "..\win32\winquake.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Debug Alpha"
-
-DEP_CPP_RW_IM=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- "..\win32\rw_win.h"\
- "..\win32\winquake.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ELSEIF "$(CFG)" == "ref_soft - Win32 Release Alpha"
-
-DEP_CPP_RW_IM=\
- "..\client\ref.h"\
- "..\game\q_shared.h"\
- "..\qcommon\qcommon.h"\
- "..\qcommon\qfiles.h"\
- "..\win32\rw_win.h"\
- "..\win32\winquake.h"\
- ".\r_local.h"\
- ".\r_model.h"\
-
-
-!ENDIF
-
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
-# Begin Source File
-
-SOURCE=.\adivtab.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\anorms.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\game\q_shared.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\qcommon\qcommon.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\qcommon\qfiles.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_local.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\r_model.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\rand1k.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\client\ref.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\win32\rw_win.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\win32\winquake.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
-# Begin Source File
-
-SOURCE=.\ref_soft.def
-# End Source File
-# End Group
-# End Target
-# End Project
--- a/ref_soft/ref_soft.plg
+++ /dev/null
@@ -1,17 +1,0 @@
---------------------Configuration: ref_soft - Win32 Release Alpha--------------------
-Begining build with project "G:\quake2\code\ref_soft\ref_soft.dsp", at root.
-Active configuration is Win32 (ALPHA) Dynamic-Link Library (based on Win32 (ALPHA) Dynamic-Link Library)
-
-Project's tools are:
- "OLE Type Library Maker" with flags "/nologo /D "NDEBUG" /mktyplib203 /o NUL /win32 "
- "C/C++ Compiler for Alpha" with flags "/nologo /QA21164 /MT /Gt0 /W3 /GX /Zi /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "C_ONLY" /Fp".\ReleaseAXP/ref_soft.pch" /YX /Fo".\ReleaseAXP/" /Fd".\ReleaseAXP/" /FD /QAieee1 /c "
- "Win32 Resource Compiler" with flags "/l 0x409 /d "NDEBUG" "
- "Browser Database Maker" with flags "/nologo /o"..\ReleaseAXP/ref_soft.bsc" "
- "COFF Linker for Alpha" with flags "kernel32.lib user32.lib gdi32.lib winmm.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\ReleaseAXP/ref_soft.pdb" /debug /machine:ALPHA /def:".\ref_soft.def" /out:"..\ReleaseAXP/ref_soft.dll" /implib:"..\ReleaseAXP/ref_soft.lib" "
- "Custom Build" with flags ""
- "<Component 0xa>" with flags ""
-
-
-
-
-ref_soft.dll - 0 error(s), 0 warning(s)
--- a/server/sv_null.c
+++ /dev/null
@@ -1,15 +1,0 @@
-// sv_null.c -- this file can stub out the entire server system
-// for pure net-only clients
-
-void SV_Init (void)
-{
-}
-
-void SV_Shutdown (char *finalmsg, qboolean reconnect)
-{
-}
-
-void SV_Frame (float time)
-{
-}
-