windows-nt/Source/XPSP1/NT/multimedia/opengl/scrsave/3dfo/ss3dfo.h
2020-09-26 16:20:57 +08:00

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