summaryrefslogtreecommitdiff
path: root/src/win95/item.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/win95/item.c')
-rw-r--r--src/win95/item.c306
1 files changed, 0 insertions, 306 deletions
diff --git a/src/win95/item.c b/src/win95/item.c
deleted file mode 100644
index af4edef..0000000
--- a/src/win95/item.c
+++ /dev/null
@@ -1,306 +0,0 @@
-
-#include "3dc.h"
-#include "module.h"
-#include "inline.h"
-#include "krender.h" /* KJL 11:37:53 12/05/96 - new scandraws patch */
-
-/* KJL 15:02:50 05/14/97 - new max lighting intensity */
-#define MAX_INTENSITY (65536*4-1)
-
-
-#if StandardShapeLanguage
-
-
-#define UseLocalAssert Yes
-
-#include "ourasert.h"
-
-/*
- The outputclockwise compile option has been
- maintained in case anyone wants to use the existing
- triangle array code with counterclockwise ordering.
- In the case of Win95, we might want to this if we can ever
- persuade the Direct3D rasterisation module to come up
- with CULL_CCW set. Note that outputtriangles has now been purged
- from the system.
-*/
-
-#define outputclockwise Yes
-
-#define use_div_fixed Yes
-
-#define trip_debugger No
-
-#if trip_debugger
-int testa = 0;
-int testb = 100;
-int testc = 0;
-#endif
-
-/*
- To make scan draws work backwards as
- well as forwards, i.e. to cope with
- items that would be backface culled
- without the no cull flag set, as in racing
- game TLOs.
- This should now work for all polygon types.
-*/
-
-#define ReverseDraws Yes
-
-/*
- To optimise scan draws with local variables
- explicitly braced to improve compiler
- optimisation.
- NOTE THIS IS -->ONLY<-- IMPLEMENTED FOR
- VIDEOMODETYPE_8, 2DTEXTURE, 3DTEXTURE (LINEAR)
- AND 3DTEXTURE (LINEAR_S) AT PRESENT.
- AND NOT ALL THE OPTIONS INSIDE THOSE!!!
- NOTE ALSO THAT THIS APPEARS TO PRODUCE BAD CODE
- WITH WATCOM 10.0 AND -oeitlr, BUT WE HOPE IT WILL
- WORK WITH WATCOM 10.6
- -->CRASHES, AS IT HAPPENS!!!<--
-*/
-/*
- Prototypes
-*/
-
-
-
-/*
-
- externs for commonly used global variables and arrays
-
-*/
-
- extern int VideoModeType;
- extern int VideoModeTypeScreen;
- extern int ScanDrawMode;
- extern int **ShadingTableArray;
- extern unsigned char **PaletteShadingTableArray;
- extern VIEWDESCRIPTORBLOCK *Global_VDB_Ptr;
- extern unsigned char *ScreenBuffer;
-
-
-
- extern IMAGEHEADER *ImageHeaderPtrs[MaxImages];
- extern SCREENDESCRIPTORBLOCK ScreenDescriptorBlock;
- extern long BackBufferPitch;
-
- /* For multiple execute buffers */
- extern int NumVertices;
-
-
-#endif /* for support3dtextures */
-
-/*
-
- Global Variables
-
-*/
-
-
-// int *ItemPointers[maxpolyptrs];
-
-// int ItemData[maxpolys * avgpolysize];
-
-
- int **NextFreeItemPtr;
- int *NextFreeItemData;
-
- int NumFreeItemPtrs;
- int NumFreeItemData;
-
- int ItemCount; /* Instead of a Terminator */
-
- POLYHEADER *global_pheader;
-
- int MIP_Index;
-
-/*
-
- Global Variables For Scan Convertors
-
-*/
-
- int ScanData[maxpolys*maxscansize];
- int *NextFreeScanData;
- int NumFreeScanData;
- int NumScans;
-
-
- int NumPolyPts;
-
-
-
-/*
-
- Item Data Structures.
-
- Buffer Initialisation and Allocation Functions.
-
-*/
-
-
-
-
-/*
- John and Neal's code
- Note this is only experimental, for the interface engine,
- and therefore does not go through the standard scan draw
- function array!!! Also, it only works in VideoModeType_8!!!
- USE AT YOUR PERIL!!!!
-*/
-
-void Draw_Line_VMType_8(VECTOR2D* LineStart, VECTOR2D* LineEnd, int LineColour)
-{
- int gosa, tame, hani, dire;
- int w, x, y;
- int x1, y1, x2, y2;
- unsigned char *sbufferptr;
- unsigned char colour = LineColour;
-
- x1 = LineStart->vx;
- y1 = LineStart->vy;
- x2 = LineEnd->vx;
- y2 = LineEnd->vy;
-
- x1=max(x1,Global_VDB_Ptr->VDB_ClipLeft);
- x1=min(x1,Global_VDB_Ptr->VDB_ClipRight-1);
- x2=max(x2,Global_VDB_Ptr->VDB_ClipLeft);
- x2=min(x2,Global_VDB_Ptr->VDB_ClipRight-1);
-
- y1=max(y1,Global_VDB_Ptr->VDB_ClipUp);
- y1=min(y1,Global_VDB_Ptr->VDB_ClipDown-1);
- y2=max(y2,Global_VDB_Ptr->VDB_ClipUp);
- y2=min(y2,Global_VDB_Ptr->VDB_ClipDown-1);
-
- if( abs( x2 - x1 ) < abs( y2 - y1 ) ) {
- if( y2 < y1 ) {
- w = y1;
- y1 = y2;
- y2 = w;
- w = x1;
- x1 = x2;
- x2 = w;
- }
- dire = x1 < x2 ? 1 : -1;
- gosa = abs( x2 - x1 );
- hani = y2 - y1;
- tame = hani / 2;
- x = x1;
- for( y = y1; y <= y2; y++ ) {
- sbufferptr =
- ScreenBuffer +
- (y * BackBufferPitch) + x;
- *sbufferptr = colour;
- tame += gosa;
- if( tame > hani ) {
- x += dire;
- tame -= hani;
- }
- }
- } else {
- if( x2 < x1 ) {
- w = x1;
- x1 = x2;
- x2 = w;
- w = y1;
- y1 = y2;
- y2 = w;
- }
- dire = y1 < y2 ? 1 : -1;
- gosa = abs( y2 - y1 );
- hani = x2 - x1;
- tame = hani / 2;
- y = y1;
- for( x = x1; x <= x2; x++ ) {
- sbufferptr =
- ScreenBuffer +
- (y * BackBufferPitch) + x;
- *sbufferptr = colour;
- tame += gosa;
- if( tame > hani ) {
- y += dire;
- tame -= hani;
- }
- }
- }
-
-}
-
-
-
-/*
-
- Scan Convert and Draw I_GouraudPolygon
-
-*/
-
-
-void Draw_Item_GouraudPolygon(int *itemptr)
-{
- if (ScanDrawMode == ScanDrawDirectDraw)
- {
- KDraw_Item_GouraudPolygon(itemptr);
- }
-}
-
-
-void Draw_Item_2dTexturePolygon(int *itemptr)
-{
- if (ScanDrawMode == ScanDrawDirectDraw)
- {
- KDraw_Item_2dTexturePolygon(itemptr);
- }
-}
-
-void Draw_Item_Gouraud2dTexturePolygon(int *itemptr)
-{
- if (ScanDrawMode == ScanDrawDirectDraw)
- {
- KDraw_Item_Gouraud2dTexturePolygon(itemptr);
- }
-}
-
-void Draw_Item_Gouraud3dTexturePolygon(int *itemptr)
-{
- if (ScanDrawMode == ScanDrawDirectDraw)
- {
- KDraw_Item_Gouraud3dTexturePolygon(itemptr);
- }
-}
-
-void Draw_Item_ZB_Gouraud3dTexturePolygon(int *itemptr)
-{
-}
-
-void Draw_Item_ZB_GouraudPolygon(int *itemptr)
-{
-}
-
-
-void Draw_Item_ZB_2dTexturePolygon(int *itemptr)
-{
-}
-
-
-void Draw_Item_ZB_Gouraud2dTexturePolygon(int *itemptr)
-{
-}
-
-
-
-void Draw_Item_ZB_3dTexturedPolygon(int *itemptr)
-{
-}
-
-
-
-
-
-
-
-
-
-