mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-11-18 18:21:38 +00:00
d91977d23f
git-svn-id: https://svn.eduke32.com/eduke32@307 1a8010ca-5511-0410-912e-c29ae57300e0
76 lines
2.3 KiB
C
76 lines
2.3 KiB
C
// blah
|
|
|
|
#ifndef _polymer_h_
|
|
# define _polymer_h_
|
|
|
|
# ifdef _WIN32
|
|
# define PR_CALLBACK __stdcall
|
|
# else
|
|
# define PR_CALLBACK
|
|
# endif
|
|
|
|
# include "compat.h"
|
|
# include "build.h"
|
|
# include "glbuild.h"
|
|
# include "osd.h"
|
|
# include "polymost.h"
|
|
# include "pragmas.h"
|
|
|
|
// CVARS
|
|
extern char pr_verbosity;
|
|
extern char pr_wireframe;
|
|
|
|
// DATA
|
|
typedef struct s_prsector {
|
|
// geometry
|
|
GLdouble* verts;
|
|
GLfloat* floorbuffer;
|
|
GLfloat* ceilbuffer;
|
|
// attributes
|
|
GLfloat floorcolor[4], ceilcolor[4];
|
|
GLuint floorglpic, ceilglpic;
|
|
// elements
|
|
GLushort* floorindices;
|
|
GLushort* ceilindices;
|
|
short curindice;
|
|
int indicescount;
|
|
|
|
short wallcount;
|
|
char invalidate;
|
|
} _prsector;
|
|
|
|
typedef struct s_prwall {
|
|
// geometry
|
|
GLfloat* wallbuffer;
|
|
GLfloat* overbuffer;
|
|
// attributes
|
|
GLfloat wallcolor[4], overcolor[4];
|
|
GLfloat wallglpic, overglpic;
|
|
|
|
char underover;
|
|
char invalidate;
|
|
} _prwall;
|
|
|
|
extern _prsector* prsectors[MAXSECTORS];
|
|
extern _prwall* prwalls[MAXWALLS];
|
|
|
|
// EXTERNAL FUNCTIONS
|
|
int polymer_init(void);
|
|
void polymer_glinit(void);
|
|
void polymer_loadboard(void);
|
|
void polymer_drawrooms(long daposx, long daposy, long daposz, short daang, long dahoriz, short dacursectnum, int root);
|
|
// SECTOR MANAGEMENT
|
|
int polymer_initsector(short sectnum);
|
|
int polymer_updatesector(short sectnum);
|
|
void PR_CALLBACK polymer_tesscombine(GLdouble v[3], GLdouble *data[4], GLfloat weight[4], GLdouble **out);
|
|
void PR_CALLBACK polymer_tesserror(GLenum error);
|
|
void PR_CALLBACK polymer_tessedgeflag(GLenum error);
|
|
void PR_CALLBACK polymer_tessvertex(void* vertex, void* sector);
|
|
int polymer_buildfloor(short sectnum);
|
|
void polymer_drawsector(long daposx, long daposy, long daposz, short daang, long dahoriz, short sectnum, int root);
|
|
// WALL MANAGEMENT
|
|
int polymer_initwall(short wallnum);
|
|
void polymer_updatewall(short wallnum);
|
|
void polymer_drawwall(short wallnum);
|
|
|
|
#endif // !_polymer_h_
|