105 lines
1.6 KiB
C
105 lines
1.6 KiB
C
#ifndef __MAZE_STD_H__
|
|
#define __MAZE_STD_H__
|
|
|
|
#include <stdlib.h>
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
|
|
#include "fixed.h"
|
|
#include "genmaze.h"
|
|
#include "sscommon.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef struct _IntPt2
|
|
{
|
|
int x, y;
|
|
} IntPt2;
|
|
|
|
#define DIR_RIGHT 0
|
|
#define DIR_UP 1
|
|
#define DIR_LEFT 2
|
|
#define DIR_DOWN 3
|
|
#define DIR_COUNT 4
|
|
|
|
typedef struct
|
|
{
|
|
TEXTURE *pTex; // ptr to texture
|
|
IPOINT2D texRep; // texture repetition in s and t directions
|
|
BOOL bPalRot; // whether should rotate texture palette
|
|
int iPalRot; // current palette rotation start point
|
|
BOOL bTransp; // transparency on/off for RGBA textures
|
|
} TEX_ENV;
|
|
|
|
typedef struct _MazeView
|
|
{
|
|
FxPt2 pos;
|
|
FaAngle ang;
|
|
} MazeView;
|
|
|
|
#define RENDER_NONE 0
|
|
#define RENDER_FLAT 1
|
|
#define RENDER_SMOOTH 2
|
|
#define RENDER_TEXTURED 3
|
|
#define RENDER_COUNT 4
|
|
|
|
// surfaces
|
|
enum {
|
|
WALLS = 0,
|
|
FLOOR,
|
|
CEILING,
|
|
NUM_SURFACES
|
|
};
|
|
|
|
// default surface textures
|
|
enum {
|
|
BRICK_TEXTURE = 0,
|
|
WOOD_TEXTURE,
|
|
CASTLE_TEXTURE,
|
|
CURL4_TEXTURE,
|
|
BHOLE4_TEXTURE,
|
|
SNOWFLAK_TEXTURE,
|
|
SWIRLX4_TEXTURE,
|
|
NUM_DEF_SURFACE_TEXTURES
|
|
};
|
|
|
|
// textured objects
|
|
enum {
|
|
START = 0,
|
|
END,
|
|
RAT,
|
|
AD,
|
|
COVER,
|
|
NUM_OBJECT_TEXTURES
|
|
};
|
|
|
|
|
|
enum {
|
|
IMAGEQUAL_DEFAULT = 0,
|
|
IMAGEQUAL_HIGH,
|
|
IMAGEQUAL_COUNT
|
|
};
|
|
|
|
typedef struct _MazeOptions
|
|
{
|
|
BOOL depth_test;
|
|
int render[NUM_SURFACES];
|
|
BOOL frame_count;
|
|
BOOL top_view;
|
|
BOOL eye_view;
|
|
BOOL single_step;
|
|
BOOL all_alpha;
|
|
BOOL bDither;
|
|
int nrats;
|
|
} MazeOptions;
|
|
|
|
extern MazeOptions maze_options;
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif // __MAZE_STD_H__
|