comments
This commit is contained in:
parent
0bf015a146
commit
7b4a08d13e
304
main/render.c
304
main/render.c
|
@ -1,4 +1,4 @@
|
|||
/* $Id: render.c,v 1.9 2002-08-09 00:48:57 btb Exp $ */
|
||||
/* $Id: render.c,v 1.10 2002-12-24 05:30:33 btb Exp $ */
|
||||
/*
|
||||
THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
|
||||
SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO
|
||||
|
@ -8,7 +8,7 @@ IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
|
|||
SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
|
||||
FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
|
||||
CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS
|
||||
AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
|
||||
AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
|
||||
COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
||||
*/
|
||||
|
||||
|
@ -16,6 +16,306 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
|
|||
*
|
||||
* FIXME: put description here
|
||||
*
|
||||
* Old Log:
|
||||
* Revision 1.9 1995/11/20 17:17:48 allender
|
||||
* *** empty log message ***
|
||||
*
|
||||
* Revision 1.8 1995/10/26 14:08:35 allender
|
||||
* added assigment for physics optimization
|
||||
*
|
||||
* Revision 1.7 1995/09/22 14:28:46 allender
|
||||
* changed render_zoom to make game match PC aspect
|
||||
*
|
||||
* Revision 1.6 1995/08/14 14:35:54 allender
|
||||
* change transparency to 0
|
||||
*
|
||||
* Revision 1.5 1995/08/12 11:32:02 allender
|
||||
* removed #ifdef NEWDEMO -- always in
|
||||
*
|
||||
* Revision 1.4 1995/07/05 16:48:31 allender
|
||||
* kitchen stuff
|
||||
*
|
||||
* Revision 1.3 1995/06/23 10:22:54 allender
|
||||
* fix outline mode
|
||||
*
|
||||
* Revision 1.2 1995/06/16 16:11:18 allender
|
||||
* changed sort func to accept const parameters
|
||||
*
|
||||
* Revision 1.1 1995/05/16 15:30:24 allender
|
||||
* Initial revision
|
||||
*
|
||||
* Revision 2.5 1995/12/19 15:31:36 john
|
||||
* Made stereo mode only record 1 eye in demo.
|
||||
*
|
||||
* Revision 2.4 1995/03/20 18:15:53 john
|
||||
* Added code to not store the normals in the segment structure.
|
||||
*
|
||||
* Revision 2.3 1995/03/13 16:11:05 john
|
||||
* Maybe fixed bug that lighting didn't work with vr helmets.
|
||||
*
|
||||
* Revision 2.2 1995/03/09 15:33:49 john
|
||||
* Fixed bug with iglasses timeout too long, and objects
|
||||
* disappearing from left eye.
|
||||
*
|
||||
* Revision 2.1 1995/03/06 15:23:59 john
|
||||
* New screen techniques.
|
||||
*
|
||||
* Revision 2.0 1995/02/27 11:31:01 john
|
||||
* New version 2.0, which has no anonymous unions, builds with
|
||||
* Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
|
||||
*
|
||||
* Revision 1.252 1995/02/22 13:49:38 allender
|
||||
* remove anonymous unions from object structure
|
||||
*
|
||||
* Revision 1.251 1995/02/11 15:07:26 matt
|
||||
* Took out code which was mostly intended as part of a larger renderer
|
||||
* change which never happened. This new code was causing problems with
|
||||
* the level 4 control center.
|
||||
*
|
||||
* Revision 1.250 1995/02/07 16:28:53 matt
|
||||
* Fixed problem with new code
|
||||
*
|
||||
* Revision 1.249 1995/02/06 14:38:58 matt
|
||||
* Took out some code that didn't compile when editor in
|
||||
*
|
||||
* Revision 1.248 1995/02/06 13:45:25 matt
|
||||
* Structural changes, plus small sorting improvements
|
||||
*
|
||||
* Revision 1.247 1995/02/02 15:59:26 matt
|
||||
* Changed assert to int3.
|
||||
*
|
||||
* Revision 1.246 1995/02/01 21:02:27 matt
|
||||
* Added partial fix for rendering bugs
|
||||
* Ripped out laser hack system
|
||||
*
|
||||
* Revision 1.245 1995/01/20 15:14:30 matt
|
||||
* Added parens to fix precedence bug
|
||||
*
|
||||
* Revision 1.244 1995/01/14 19:16:59 john
|
||||
* First version of new bitmap paging code.
|
||||
*
|
||||
* Revision 1.243 1995/01/03 20:19:25 john
|
||||
* Pretty good working version of game save.
|
||||
*
|
||||
* Revision 1.242 1994/12/29 13:51:05 john
|
||||
* Made the floating reticle draw in the spot
|
||||
* regardless of the eye offset.
|
||||
*
|
||||
* Revision 1.241 1994/12/23 15:02:55 john
|
||||
* Tweaked floating reticle.
|
||||
*
|
||||
* Revision 1.240 1994/12/23 14:27:45 john
|
||||
* Changed offset of floating reticle to line up with
|
||||
* lasers a bit better.
|
||||
*
|
||||
* Revision 1.239 1994/12/23 14:22:50 john
|
||||
* Added floating reticle for VR helments.
|
||||
*
|
||||
* Revision 1.238 1994/12/13 14:07:50 matt
|
||||
* Fixed tmap_num2 bug in search mode
|
||||
*
|
||||
* Revision 1.237 1994/12/11 00:45:53 matt
|
||||
* Fixed problem when object sort buffer got full
|
||||
*
|
||||
* Revision 1.236 1994/12/09 18:46:06 matt
|
||||
* Added a little debugging
|
||||
*
|
||||
* Revision 1.235 1994/12/09 14:59:16 matt
|
||||
* Added system to attach a fireball to another object for rendering purposes,
|
||||
* so the fireball always renders on top of (after) the object.
|
||||
*
|
||||
* Revision 1.234 1994/12/08 15:46:54 matt
|
||||
* Fixed buffer overflow that caused seg depth screwup
|
||||
*
|
||||
* Revision 1.233 1994/12/08 11:51:53 matt
|
||||
* Took out some unused stuff
|
||||
*
|
||||
* Revision 1.232 1994/12/06 16:31:48 mike
|
||||
* fix detriangulation problems.
|
||||
*
|
||||
* Revision 1.231 1994/12/05 15:32:51 matt
|
||||
* Changed an assert to an int3 & return
|
||||
*
|
||||
* Revision 1.230 1994/12/04 17:28:04 matt
|
||||
* Got rid of unused no_render_flag array, and took out box clear when searching
|
||||
*
|
||||
* Revision 1.229 1994/12/04 15:51:14 matt
|
||||
* Fixed linear tmap transition for objects
|
||||
*
|
||||
* Revision 1.228 1994/12/03 20:16:50 matt
|
||||
* Turn off window clip for objects
|
||||
*
|
||||
* Revision 1.227 1994/12/03 14:48:00 matt
|
||||
* Restored some default settings
|
||||
*
|
||||
* Revision 1.226 1994/12/03 14:44:32 matt
|
||||
* Fixed another difficult bug in the window clip system
|
||||
*
|
||||
* Revision 1.225 1994/12/02 13:19:56 matt
|
||||
* Fixed rect clears at terminus of rendering
|
||||
* Made a bunch of debug code compile out
|
||||
*
|
||||
* Revision 1.224 1994/12/02 11:58:21 matt
|
||||
* Fixed window clip bug
|
||||
*
|
||||
* Revision 1.223 1994/11/28 21:50:42 mike
|
||||
* optimizations.
|
||||
*
|
||||
* Revision 1.222 1994/11/28 01:32:15 mike
|
||||
* turn off window clearing.
|
||||
*
|
||||
* Revision 1.221 1994/11/27 23:11:52 matt
|
||||
* Made changes for new mprintf calling convention
|
||||
*
|
||||
* Revision 1.220 1994/11/20 15:58:55 matt
|
||||
* Don't migrate the control center, since it doesn't move out of its segment
|
||||
*
|
||||
* Revision 1.219 1994/11/19 23:54:36 mike
|
||||
* change window colors.
|
||||
*
|
||||
* Revision 1.218 1994/11/19 15:20:25 mike
|
||||
* rip out unused code and data
|
||||
*
|
||||
* Revision 1.217 1994/11/18 13:21:24 mike
|
||||
* Clear only view portals into rest of world based on value of Clear_window.
|
||||
*
|
||||
* Revision 1.216 1994/11/15 17:02:10 matt
|
||||
* Re-added accidentally deleted variable
|
||||
*
|
||||
* Revision 1.215 1994/11/15 16:51:50 matt
|
||||
* Made rear view only switch to rear cockpit if cockpit on in front view
|
||||
*
|
||||
* Revision 1.214 1994/11/14 20:47:57 john
|
||||
* Attempted to strip out all the code in the game
|
||||
* directory that uses any ui code.
|
||||
*
|
||||
* Revision 1.213 1994/11/11 15:37:07 mike
|
||||
* write orange for background to show render bugs.
|
||||
*
|
||||
* Revision 1.212 1994/11/09 22:57:18 matt
|
||||
* Keep tract of depth of segments rendered, for detail level optimization
|
||||
*
|
||||
* Revision 1.211 1994/11/01 23:40:14 matt
|
||||
* Elegantly handler buffer getting full
|
||||
*
|
||||
* Revision 1.210 1994/10/31 22:28:13 mike
|
||||
* Fix detriangulation bug.
|
||||
*
|
||||
* Revision 1.209 1994/10/31 11:48:56 mike
|
||||
* Optimize detriangulation, speedup of about 4% in many cases, 0% in many.
|
||||
*
|
||||
* Revision 1.208 1994/10/30 20:08:34 matt
|
||||
* For endlevel: added big explosion at tunnel exit; made lights in tunnel
|
||||
* go out; made more explosions on walls.
|
||||
*
|
||||
* Revision 1.207 1994/10/27 14:14:35 matt
|
||||
* Don't do light flash during endlevel sequence
|
||||
*
|
||||
* Revision 1.206 1994/10/11 12:05:42 mike
|
||||
* Improve detriangulation.
|
||||
*
|
||||
* Revision 1.205 1994/10/07 15:27:00 john
|
||||
* Commented out the code that moves your eye
|
||||
* forward.
|
||||
*
|
||||
* Revision 1.204 1994/10/05 16:07:38 mike
|
||||
* Don't detriangulate sides if in player's segment. Prevents player going behind a wall,
|
||||
* though there are cases in which it would be ok to detriangulate these.
|
||||
*
|
||||
* Revision 1.203 1994/10/03 12:44:05 matt
|
||||
* Took out unreferenced code
|
||||
*
|
||||
* Revision 1.202 1994/09/28 14:08:45 john
|
||||
* Added Zoom stuff back in, but ifdef'd it out.
|
||||
*
|
||||
* Revision 1.201 1994/09/25 23:41:49 matt
|
||||
* Changed the object load & save code to read/write the structure fields one
|
||||
* at a time (rather than the whole structure at once). This mean that the
|
||||
* object structure can be changed without breaking the load/save functions.
|
||||
* As a result of this change, the local_object data can be and has been
|
||||
* incorporated into the object array. Also, timeleft is now a property
|
||||
* of all objects, and the object structure has been otherwise cleaned up.
|
||||
*
|
||||
* Revision 1.200 1994/09/25 15:50:10 mike
|
||||
* Integrate my debug changes which shows how many textures were rendered
|
||||
* this frame.
|
||||
*
|
||||
* Revision 1.199 1994/09/25 15:45:22 matt
|
||||
* Added OBJ_LIGHT, a type of object that casts light
|
||||
* Added generalized lifeleft, and moved it to local_object
|
||||
*
|
||||
* Revision 1.198 1994/09/15 21:23:32 matt
|
||||
* Changed system to keep track of whether & what cockpit is up
|
||||
*
|
||||
* Revision 1.197 1994/09/15 16:30:12 mike
|
||||
* Comment out call to object_render_targets, which did nothing.
|
||||
*
|
||||
* Revision 1.196 1994/09/07 22:25:51 matt
|
||||
* Don't migrate through semi-transparent walls
|
||||
*
|
||||
* Revision 1.195 1994/09/07 19:16:21 mike
|
||||
* Homing missile.
|
||||
*
|
||||
* Revision 1.194 1994/08/31 20:54:17 matt
|
||||
* Don't do flash effect while whiting out
|
||||
*
|
||||
* Revision 1.193 1994/08/23 17:20:12 john
|
||||
* Added rear-view cockpit.
|
||||
*
|
||||
* Revision 1.192 1994/08/22 14:36:35 john
|
||||
* Made R key make a "reverse" view render.
|
||||
*
|
||||
* Revision 1.191 1994/08/19 20:09:26 matt
|
||||
* Added end-of-level cut scene with external scene
|
||||
*
|
||||
* Revision 1.190 1994/08/10 19:56:17 john
|
||||
* Changed font stuff; Took out old menu; messed up lots of
|
||||
* other stuff like game sequencing messages, etc.
|
||||
*
|
||||
* Revision 1.189 1994/08/10 14:45:05 john
|
||||
* *** empty log message ***
|
||||
*
|
||||
* Revision 1.188 1994/08/09 16:04:06 john
|
||||
* Added network players to editor.
|
||||
*
|
||||
* Revision 1.187 1994/08/05 17:07:05 john
|
||||
* Made lasers be two objects, one drawing after the other
|
||||
* all the time.
|
||||
*
|
||||
* Revision 1.186 1994/08/05 10:07:57 matt
|
||||
* Disable window check checking (i.e., always use window check)
|
||||
*
|
||||
* Revision 1.185 1994/08/04 19:11:30 matt
|
||||
* Changed a bunch of vecmat calls to use multiple-function routines, and to
|
||||
* allow the use of C macros for some functions
|
||||
*
|
||||
* Revision 1.184 1994/08/04 00:21:14 matt
|
||||
* Cleaned up fvi & physics error handling; put in code to make sure objects
|
||||
* are in correct segment; simplified segment finding for objects and points
|
||||
*
|
||||
* Revision 1.183 1994/08/02 19:04:28 matt
|
||||
* Cleaned up vertex list functions
|
||||
*
|
||||
* Revision 1.182 1994/07/29 15:13:33 matt
|
||||
* When window check turned off, cut render depth in half
|
||||
*
|
||||
* Revision 1.181 1994/07/29 11:03:50 matt
|
||||
* Use highest_segment_index instead of num_segments so render works from
|
||||
* the editor
|
||||
*
|
||||
* Revision 1.180 1994/07/29 10:04:34 mike
|
||||
* Update Cursegp when an object is selected.
|
||||
*
|
||||
* Revision 1.179 1994/07/25 00:02:50 matt
|
||||
* Various changes to accomodate new 3d, which no longer takes point numbers
|
||||
* as parms, and now only takes pointers to points.
|
||||
*
|
||||
* Revision 1.178 1994/07/24 14:37:49 matt
|
||||
* Added angles for player head
|
||||
*
|
||||
* Revision 1.177 1994/07/20 19:08:07 matt
|
||||
* If in editor, don't move eye from center of viewer object
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
Loading…
Reference in a new issue