102 lines
2.5 KiB
C
102 lines
2.5 KiB
C
/******************************Module*Header*******************************\
|
|
* Module Name: ssopengl.h
|
|
*
|
|
* Global header for the 3D Flying Objects screen saver.
|
|
*
|
|
* Copyright (c) 1994 Microsoft Corporation
|
|
*
|
|
\**************************************************************************/
|
|
|
|
#include "sscommon.h"
|
|
|
|
// redefine PI as a double for all 3dfo code
|
|
#undef PI
|
|
#define PI PI_D
|
|
|
|
#define PALETTE_PER_MATL 32
|
|
#define PALETTE_PER_DIFF 26
|
|
#define PALETTE_PER_SPEC 6
|
|
#define MATL_MAX 7
|
|
|
|
typedef struct strFACE {
|
|
POINT3D p[4];
|
|
POINT3D n[4];
|
|
POINT3D fn;
|
|
int idMatl;
|
|
} FACE;
|
|
|
|
typedef struct strMFACE {
|
|
int p[4];
|
|
int material;
|
|
POINT3D norm;
|
|
} MFACE;
|
|
|
|
typedef struct strMESH {
|
|
int numFaces;
|
|
int numPoints;
|
|
POINT3D *pts;
|
|
POINT3D *norms;
|
|
MFACE *faces;
|
|
GLint listID;
|
|
} MESH;
|
|
|
|
extern BOOL bSmoothShading;
|
|
extern BOOL bFalseColor;
|
|
extern BOOL bColorCycle;
|
|
extern float fTesselFact;
|
|
extern TEXFILE gTexFile;
|
|
extern BOOL gbBounce;
|
|
|
|
extern MATERIAL Material[];
|
|
extern int NumLights;
|
|
|
|
extern void newMesh(MESH *, int numFaces, int numPts);
|
|
extern void delMesh(MESH *);
|
|
extern void revolveSurface(MESH *, POINT3D *curve, int steps);
|
|
|
|
extern void *SaverAlloc(ULONG);
|
|
extern void SaverFree(void *);
|
|
|
|
// Resource constants
|
|
|
|
#define IDS_SAVERNAME 1002
|
|
#define IDS_FALSECOLOR 1004
|
|
#define IDS_SMOOTHSHADING 1005
|
|
#define IDS_OPTIONS 1007
|
|
#define IDS_OBJTYPE 1008
|
|
#define IDS_SCREENSAVERTITLE 1020
|
|
|
|
#define IDS_LOGO 1100
|
|
#define IDS_EXPLODE 1101
|
|
#define IDS_RIBBON 1102
|
|
#define IDS_2RIBBON 1103
|
|
#define IDS_SPLASH 1104
|
|
#define IDS_TWIST 1105
|
|
#define IDS_FLAG 1106
|
|
|
|
#define DLG_SETUP_HELP 2001
|
|
#define DLG_SETUP_TYPES 2002
|
|
#define DLG_SETUP_BITMAP 2003
|
|
#define DLG_SETUP_FCOLOR 2004
|
|
#define DLG_SETUP_SMOOTH 2005
|
|
#define DLG_SETUP_CYCLE 2006
|
|
#define DLG_SETUP_ABOUT 2007
|
|
#define DLG_SETUP_TESSEL 2008
|
|
#define DLG_SETUP_SIZE 2009
|
|
#define DLG_SETUP_TEXTURE 2010
|
|
#define IDC_STATIC_TESS 2011
|
|
#define IDC_STATIC_TESS_MIN 2012
|
|
#define IDC_STATIC_TESS_MAX 2013
|
|
#define IDC_STATIC_SIZE 2014
|
|
#define IDC_STATIC_SIZE_MIN 2015
|
|
#define IDC_STATIC_SIZE_MAX 2016
|
|
|
|
#define IDB_DEFTEX 3000
|
|
|
|
#define SHELP_CONTENTS 01
|
|
#define SHELP_SHAPES 02
|
|
#define SHELP_PASSWORD 03
|
|
#define SHELP_COLOR 04
|
|
#define SHELP_MISC 05
|
|
#define SHELP_OVERVIEW 06
|