[Scummvm-git-logs] scummvm master -> 4c78530c72f7abe929b6d63475bba86cd63e0883

mduggan noreply at scummvm.org
Tue Jul 16 03:50:23 UTC 2024


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
52b928f23c DGDS: Fix Willy Beamish dialogs a bit
4c78530c72 GRAPHICS: Constify object references in primitives API


Commit: 52b928f23c12c53f46b7b6f1b63e2afb4e9b3f31
    https://github.com/scummvm/scummvm/commit/52b928f23c12c53f46b7b6f1b63e2afb4e9b3f31
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2024-07-16T10:48:34+10:00

Commit Message:
DGDS: Fix Willy Beamish dialogs a bit

Changed paths:
    engines/dgds/dialog.cpp
    engines/dgds/dialog.h
    engines/dgds/font.cpp
    engines/dgds/request.cpp
    engines/dgds/ttm.cpp
    engines/dgds/ttm.h


diff --git a/engines/dgds/dialog.cpp b/engines/dgds/dialog.cpp
index 7ce84c7e11b..fed7607aa83 100644
--- a/engines/dgds/dialog.cpp
+++ b/engines/dgds/dialog.cpp
@@ -155,6 +155,22 @@ void Dialog::drawType2BackgroundChina(Graphics::ManagedSurface *dst, const Commo
 	}
 }
 
+void Dialog::drawType2BackgroundBeamish(Graphics::ManagedSurface *dst, const Common::String &title) {
+	// TODO: This needs updating.
+	_state->_loc = DgdsRect(_rect.x + 12, _rect.y + 10, _rect.width - 24, _rect.height - 20);
+	if (title.empty()) {
+		RequestData::fillBackground(dst, _rect.x, _rect.y, _rect.width, _rect.height, 0);
+		RequestData::drawCorners(dst, 54, _rect.x, _rect.y, _rect.width, _rect.height);
+	} else {
+		dst->fillRect(Common::Rect(Common::Point(_rect.x + 2, _rect.y + 2), _rect.width - 4, _rect.height - 4), 0);
+		RequestData::drawCorners(dst, 46, _rect.x, _rect.y, _rect.width, _rect.height);
+		// TODO: Maybe should measure the font?
+		_state->_loc.y += 11;
+		_state->_loc.height -= 11;
+		RequestData::drawHeader(dst, _rect.x, _rect.y, _rect.width, 2, title, _fontColor, false);
+	}
+}
+
 // box with fancy frame and optional title (everything before ":")
 void Dialog::drawType2(Graphics::ManagedSurface *dst, DialogDrawStage stage) {
 	if (!_state)
@@ -177,8 +193,10 @@ void Dialog::drawType2(Graphics::ManagedSurface *dst, DialogDrawStage stage) {
 		DgdsEngine *engine = static_cast<DgdsEngine *>(g_engine);
 		if (engine->getGameId() == GID_DRAGON)
 			drawType2BackgroundDragon(dst, title);
-		else
+		else if (engine->getGameId() == GID_HOC)
 			drawType2BackgroundChina(dst, title);
+		else
+			drawType2BackgroundBeamish(dst, title);
 
 	} else if (stage == kDlgDrawFindSelectionPointXY) {
 		drawFindSelectionXY();
diff --git a/engines/dgds/dialog.h b/engines/dgds/dialog.h
index 1a9f586235b..b79c0ac0768 100644
--- a/engines/dgds/dialog.h
+++ b/engines/dgds/dialog.h
@@ -143,6 +143,7 @@ private:
 
 	void drawType2BackgroundDragon(Graphics::ManagedSurface *dst, const Common::String &title);
 	void drawType2BackgroundChina(Graphics::ManagedSurface *dst, const Common::String &title);
+	void drawType2BackgroundBeamish(Graphics::ManagedSurface *dst, const Common::String &title);
 
 	void drawFindSelectionXY();
 	void drawFindSelectionTxtOffset();
diff --git a/engines/dgds/font.cpp b/engines/dgds/font.cpp
index 53bdfc1571e..711ffaa378f 100644
--- a/engines/dgds/font.cpp
+++ b/engines/dgds/font.cpp
@@ -220,9 +220,9 @@ FontManager::FontType FontManager::fontTypeByName(const Common::String &filename
 	if (filename == "HOC.FNT") return kGameFont;
 	if (filename == "CHINA.FNT") return kGameDlgFont;
 	if (filename == "CHINESE.FNT") return kChinaFont;
-	if (filename == "WILLY.FNT") return kGameFont;
+	if (filename == "WILLY.FNT") return kGameDlgFont;
+	if (filename == "COMIX_16.FNT") return kGameFont;
 	if (filename == "WVCR.FNT") return kVCRFont;
-	if (filename == "COMIX_16.FNT") return kGameDlgFont;
 	if (filename == "EXIT.FNT") return kVCRFont;
 	if (filename == "SSM1_12.FNT") return kGameFont;
 	if (filename == "SSM1_15.FNT") return kGameDlgFont;
diff --git a/engines/dgds/request.cpp b/engines/dgds/request.cpp
index a83f05a5c23..b6f9ccf110c 100644
--- a/engines/dgds/request.cpp
+++ b/engines/dgds/request.cpp
@@ -51,7 +51,10 @@ static const byte DragonFallbackColors[] = {
 	0x8, 0x7, 0x0, 0x7, 0x7
 };
 
-static const byte ChinaBakgroundColor = 23;
+static const byte ChinaBackgroundColor = 23;
+
+// TODO: Work out correct fill color for willy beamish
+static const byte WillyBackgroundColor = 23;
 
 static const byte MenuBackgroundColors[] {
 	0x71, 0x71, 0x71, 0x71, 0x71, 0x7B, 0x71, 0x7B, 0x7B, 0x7B, 0x7B, 0x7B,
@@ -756,8 +759,13 @@ void RequestData::drawBackgroundWithSliderArea(Graphics::ManagedSurface *dst, in
 
 void RequestData::drawBackgroundNoSliders(Graphics::ManagedSurface *dst, const Common::String &header) const {
 	DgdsEngine *engine = static_cast<DgdsEngine *>(g_engine);
-	fillBackground(dst, _rect.x, _rect.y, _rect.width, _rect.height, 0);
-	drawCorners(dst, engine->getGameId() == GID_DRAGON ? 11 : 1, _rect.x, _rect.y, _rect.width, _rect.height);
+	DgdsGameId gameId = engine->getGameId();
+	if (gameId != GID_WILLY)
+		fillBackground(dst, _rect.x, _rect.y, _rect.width, _rect.height, 0);
+	else
+		fillBackground(dst, _rect.x + 5, _rect.y + 5, _rect.width - 10, _rect.height - 10, 0);
+	uint16 cornerOffset = (gameId == GID_DRAGON ? 11 : (gameId == GID_HOC ? 1 : 0));
+	drawCorners(dst, cornerOffset, _rect.x, _rect.y, _rect.width, _rect.height);
 	drawHeader(dst, _rect.x, _rect.y, _rect.width, 4, header, 0,
 		engine->getGameId() == GID_DRAGON);
 }
@@ -790,7 +798,9 @@ void RequestData::fillBackground(Graphics::ManagedSurface *dst, uint16 x, uint16
 	} else {
 		byte bgCol = DragonFallbackColors[0];
 		if (engine->getGameId() == GID_HOC)
-			bgCol = ChinaBakgroundColor;
+			bgCol = ChinaBackgroundColor;
+		else if (engine->getGameId() == GID_WILLY)
+			bgCol = WillyBackgroundColor;
 		dst->fillRect(Common::Rect(Common::Point(x, y), width, height), bgCol);
 	}
 }
diff --git a/engines/dgds/ttm.cpp b/engines/dgds/ttm.cpp
index 1097adc4db3..1ce5b273b1f 100644
--- a/engines/dgds/ttm.cpp
+++ b/engines/dgds/ttm.cpp
@@ -235,7 +235,10 @@ static const char *ttmOpName(uint16 op) {
 	}
 }
 
-struct ClipSurface {
+class ClipSurface {
+public:
+	ClipSurface(const Common::Rect &clipWin, Graphics::Surface *surf)
+		: _surf(surf), _clipWin(clipWin) { }
 	Graphics::Surface *_surf;
 	Common::Rect _clipWin;
 };
@@ -459,7 +462,7 @@ void TTMInterpreter::doDrawDialogForStrings(TTMEnviro &env, TTMSeq &seq, int16 x
 }
 
 
-void TTMInterpreter::handleOperation(TTMEnviro &env, TTMSeq &seq, uint16 op, byte count, const int16 *ivals, const Common::String &sval) {
+void TTMInterpreter::handleOperation(TTMEnviro &env, TTMSeq &seq, uint16 op, byte count, const int16 *ivals, const Common::String &sval, const Common::Array<Common::Point> &pts) {
 	switch (op) {
 	case 0x0000: // FINISH:	void
 		break;
@@ -701,9 +704,7 @@ void TTMInterpreter::handleOperation(TTMEnviro &env, TTMSeq &seq, uint16 op, byt
 		doWipeOp(op, env, seq, Common::Rect(Common::Point(ivals[0], ivals[1]), ivals[2], ivals[3]));
 		break;
 	case 0xa0a0: { // DRAW LINE  x1,y1,x2,y2:int
-		ClipSurface clipSurf;
-		clipSurf._clipWin = seq._drawWin;
-		clipSurf._surf = _vm->_compositionBuffer.surfacePtr();
+		ClipSurface clipSurf(seq._drawWin, _vm->_compositionBuffer.surfacePtr());
 		Graphics::drawLine(ivals[0], ivals[1], ivals[2], ivals[3], seq._drawColFG, plotClippedPoint, &clipSurf);
 		break;
 	}
@@ -800,12 +801,30 @@ void TTMInterpreter::handleOperation(TTMEnviro &env, TTMSeq &seq, uint16 op, byt
 						Common::Point(r.left, r.top));
 		break;
 	}
-	case 0xaf10:
-		warning("TT3 TODO: Implement 0xAF10 DRAW EMPTY POLY");
+	case 0xaf10: { // DRAW EMPTY POLY
+		ClipSurface clipSurf(seq._drawWin, _vm->_compositionBuffer.surfacePtr());
+		for (uint i = 1; i < pts.size(); i++) {
+			const Common::Point &p1 = pts[i - 1];
+			const Common::Point &p2 = pts[i];
+			Graphics::drawLine(p1.x, p1.y, p2.x, p2.y, seq._drawColFG, plotClippedPoint, &clipSurf);
+		}
+		if (pts.size() > 2)
+			Graphics::drawLine(pts.back().x, pts.back().y, pts[0].x, pts[0].y, seq._drawColFG,
+				plotClippedPoint, &clipSurf);
 		break;
-	case 0xaf20:
-		warning("TT3 TODO: Implement 0xAF20 DRAW FILLED POLY");
+	}
+	case 0xaf20: { // DRAW FILLED POLY
+		ClipSurface clipSurf(seq._drawWin, _vm->_compositionBuffer.surfacePtr());
+		Common::Array<int> xvals(pts.size());
+		Common::Array<int> yvals(pts.size());
+		for (uint i = 0; i < pts.size(); i++) {
+			xvals[i] = pts[i].x;
+			yvals[i] = pts[i].y;
+		}
+		Graphics::drawPolygonScan(xvals.data(), yvals.data(), pts.size(), seq._drawWin,
+					seq._drawColFG, plotClippedPoint, &clipSurf);
 		break;
+	}
 	case 0xb000:
 		if (seq._executed) // this is a one-shot op
 			break;
@@ -833,8 +852,10 @@ void TTMInterpreter::handleOperation(TTMEnviro &env, TTMSeq &seq, uint16 op, byt
 		const Common::Rect r(Common::Point(ivals[0], ivals[1]), ivals[2], ivals[3]);
 		int16 b1 = ivals[4];
 		int16 b2 = ivals[5];
-		Graphics::ManagedSurface &s1 = ((b1 == 0) ? _vm->_compositionBuffer : (b1 == 2 ? _vm->getBackgroundBuffer() : _vm->getStoredAreaBuffer()));
-		Graphics::ManagedSurface &s2 = ((b2 == 0) ? _vm->_compositionBuffer : (b2 == 2 ? _vm->getBackgroundBuffer() : _vm->getStoredAreaBuffer()));
+		Graphics::ManagedSurface &s1 = ((b1 == 0) ? _vm->_compositionBuffer :
+				(b1 == 2 ? _vm->getBackgroundBuffer() : _vm->getStoredAreaBuffer()));
+		Graphics::ManagedSurface &s2 = ((b2 == 0) ? _vm->_compositionBuffer :
+				(b2 == 2 ? _vm->getBackgroundBuffer() : _vm->getStoredAreaBuffer()));
 		s2.blitFrom(s1, r, r);
 		break;
 	}
@@ -947,6 +968,7 @@ bool TTMInterpreter::run(TTMEnviro &env, TTMSeq &seq) {
 		byte count = code & 0x000F;
 		int16 ivals[8] = {0, 0, 0, 0, 0, 0, 0, 0};
 		Common::String sval;
+		Common::Array<Common::Point> pts;
 
 		if (count > 8 && count != 0x0f)
 			error("Invalid TTM opcode %04x requires %d locals", code, count);
@@ -954,15 +976,19 @@ bool TTMInterpreter::run(TTMEnviro &env, TTMSeq &seq) {
 		debugN(10, "\tOP: 0x%4.4x %2u ", op, count);
 
 		if (count == 0x0F) {
-			// Special case for these codes, they are data blocks
-			// with length arg rather than strings.
+			// Special case for these codes, they are not strings,
+			// but lists of points.
 			if (code == 0xaf1f || code == 0xaf2f) {
-				int16 nbytes = scr->readSint16LE() * 4;
-				byte *buf = new byte[nbytes + 1];
-				scr->read(buf, nbytes);
-				buf[nbytes] = 0;
-				debugN(10, "\"%d bytes\"", nbytes);
-				delete [] buf; // TODO: use this data as a set of points in a polygon
+				uint16 npoints = scr->readSint16LE();
+				pts.resize(npoints);
+				for (uint i = 0; i < npoints; i++)
+					pts[i].x = scr->readUint16LE();
+				for (uint i = 0; i < npoints; i++)
+					pts[i].y = scr->readUint16LE();
+				debugN(10, "%d points: [", npoints);
+				for (uint i = 0; i < npoints; i++)
+					debugN(10, "(%d,%d)", pts[i].x, pts[i].y);
+				debugN(10, "]");
 			} else {
 				byte ch[2];
 
@@ -987,7 +1013,7 @@ bool TTMInterpreter::run(TTMEnviro &env, TTMSeq &seq) {
 		}
 		debug(10, " (%s)", ttmOpName(op));
 
-		handleOperation(env, seq, op, count, ivals, sval);
+		handleOperation(env, seq, op, count, ivals, sval, pts);
 	}
 
 	return true;
diff --git a/engines/dgds/ttm.h b/engines/dgds/ttm.h
index e96b75adac3..be1ef66214c 100644
--- a/engines/dgds/ttm.h
+++ b/engines/dgds/ttm.h
@@ -113,7 +113,7 @@ public:
 	void findAndAddSequences(TTMEnviro &scriptData, Common::Array<TTMSeq> &seqArray);
 
 protected:
-	void handleOperation(TTMEnviro &env, TTMSeq &seq, uint16 op, byte count, const int16 *ivals, const Common::String &sval);
+	void handleOperation(TTMEnviro &env, TTMSeq &seq, uint16 op, byte count, const int16 *ivals, const Common::String &sval, const Common::Array<Common::Point> &pts);
 	int32 findGOTOTarget(TTMEnviro &env, TTMSeq &seq, int16 frame);
 	void doWipeOp(uint16 code, TTMEnviro &env, TTMSeq &seq, const Common::Rect &r);
 	int16 doOpInitCreditScroll(const Image *img);


Commit: 4c78530c72f7abe929b6d63475bba86cd63e0883
    https://github.com/scummvm/scummvm/commit/4c78530c72f7abe929b6d63475bba86cd63e0883
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2024-07-16T13:48:44+10:00

Commit Message:
GRAPHICS: Constify object references in primitives API

This makes usage of the API a bit clearer - they are inputs only, not outputs.

Changed paths:
  A graphics/tinygl/glenum.h
    graphics/primitives.cpp
    graphics/primitives.h


diff --git a/graphics/primitives.cpp b/graphics/primitives.cpp
index 8f7f32f4494..c2aaf0476d2 100644
--- a/graphics/primitives.cpp
+++ b/graphics/primitives.cpp
@@ -238,7 +238,7 @@ void drawThickLine2(int x1, int y1, int x2, int y2, int thick, uint32 color, voi
 	}
 }
 
-void drawFilledRect(Common::Rect &rect, uint32 color, void (*plotProc)(int, int, int, void *), void *data) {
+void drawFilledRect(const Common::Rect &rect, uint32 color, void (*plotProc)(int, int, int, void *), void *data) {
 	for (int y = rect.top; y < rect.bottom; y++)
 		drawHLine(rect.left, rect.right - 1, y, color, plotProc, data);
 }
@@ -246,12 +246,12 @@ void drawFilledRect(Common::Rect &rect, uint32 color, void (*plotProc)(int, int,
 /**
  * @brief Draws filled rectangle _with_ right and bottom edges
  */
-void drawFilledRect1(Common::Rect &rect, uint32 color, void (*plotProc)(int, int, int, void *), void *data) {
+void drawFilledRect1(const Common::Rect &rect, uint32 color, void (*plotProc)(int, int, int, void *), void *data) {
 	for (int y = rect.top; y <= rect.bottom; y++)
 		drawHLine(rect.left, rect.right, y, color, plotProc, data);
 }
 
-void drawRect(Common::Rect &rect, uint32 color, void (*plotProc)(int, int, int, void *), void *data) {
+void drawRect(const Common::Rect &rect, uint32 color, void (*plotProc)(int, int, int, void *), void *data) {
 	drawHLine(rect.left, rect.right - 1, rect.top, color, plotProc, data);
 	drawHLine(rect.left, rect.right - 1, rect.bottom - 1, color, plotProc, data);
 	drawVLine(rect.left, rect.top, rect.bottom - 1, color, plotProc, data);
@@ -261,21 +261,21 @@ void drawRect(Common::Rect &rect, uint32 color, void (*plotProc)(int, int, int,
 /**
  * @brief Draws rectangle outline _with_ right and bottom edges
  */
-void drawRect1(Common::Rect &rect, uint32 color, void (*plotProc)(int, int, int, void *), void *data) {
+void drawRect1(const Common::Rect &rect, uint32 color, void (*plotProc)(int, int, int, void *), void *data) {
 	drawHLine(rect.left + 1, rect.right - 1, rect.top, color, plotProc, data);
 	drawHLine(rect.left + 1, rect.right - 1, rect.bottom, color, plotProc, data);
 	drawVLine(rect.left, rect.top, rect.bottom, color, plotProc, data);
 	drawVLine(rect.right, rect.top, rect.bottom, color, plotProc, data);
 }
 
-void drawRoundRect(Common::Rect &rect, int arc, uint32 color, bool filled, void (*plotProc)(int, int, int, void *), void *data) {
+void drawRoundRect(const Common::Rect &rect, int arc, uint32 color, bool filled, void (*plotProc)(int, int, int, void *), void *data) {
 	Common::Rect r(rect.left, rect.top, rect.right - 1, rect.bottom - 1);
 
 	drawRoundRect1(r, arc, color, filled, plotProc, data);
 }
 
 // http://members.chello.at/easyfilter/bresenham.html
-void drawRoundRect1(Common::Rect &rect, int arc, uint32 color, bool filled, void (*plotProc)(int, int, int, void *), void *data) {
+void drawRoundRect1(const Common::Rect &rect, int arc, uint32 color, bool filled, void (*plotProc)(int, int, int, void *), void *data) {
 	if (rect.height() < rect.width()) {
 		int x = -arc, y = 0, err = 2-2*arc; /* II. Quadrant */
 		int dy = rect.height() - arc * 2;
@@ -371,7 +371,7 @@ void drawRoundRect1(Common::Rect &rect, int arc, uint32 color, bool filled, void
 
 // Based on public-domain code by Darel Rex Finley, 2007
 // http://alienryderflex.com/polygon_fill/
-void drawPolygonScan(int *polyX, int *polyY, int npoints, Common::Rect &bbox, uint32 color, void (*plotProc)(int, int, int, void *), void *data) {
+void drawPolygonScan(const int *polyX, const int *polyY, int npoints, const Common::Rect &bbox, uint32 color, void (*plotProc)(int, int, int, void *), void *data) {
 	int *nodeX = (int *)calloc(npoints, sizeof(int));
 	int i, j;
 
diff --git a/graphics/primitives.h b/graphics/primitives.h
index 7febbd18140..a0721dae04f 100644
--- a/graphics/primitives.h
+++ b/graphics/primitives.h
@@ -32,13 +32,13 @@ void drawVLine(int x, int y1, int y2, uint32 color, void (*plotProc)(int, int, i
 void drawThickLine(int x0, int y0, int x1, int y1, int penX, int penY, uint32 color, void (*plotProc)(int, int, int, void *), void *data);
 void drawThickLine2(int x1, int y1, int x2, int y2, int thick, uint32 color,
 								void (*plotProc)(int, int, int, void *), void *data);
-void drawFilledRect(Common::Rect &rect, uint32 color, void (*plotProc)(int, int, int, void *), void *data);
-void drawFilledRect1(Common::Rect &rect, uint32 color, void (*plotProc)(int, int, int, void *), void *data);
-void drawRect(Common::Rect &rect, uint32 color, void (*plotProc)(int, int, int, void *), void *data);
-void drawRect1(Common::Rect &rect, uint32 color, void (*plotProc)(int, int, int, void *), void *data);
-void drawRoundRect(Common::Rect &rect, int arc, uint32 color, bool filled, void (*plotProc)(int, int, int, void *), void *data);
-void drawRoundRect1(Common::Rect &rect, int arc, uint32 color, bool filled, void (*plotProc)(int, int, int, void *), void *data);
-void drawPolygonScan(int *polyX, int *polyY, int npoints, Common::Rect &bbox, uint32 color,
+void drawFilledRect(const Common::Rect &rect, uint32 color, void (*plotProc)(int, int, int, void *), void *data);
+void drawFilledRect1(const Common::Rect &rect, uint32 color, void (*plotProc)(int, int, int, void *), void *data);
+void drawRect(const Common::Rect &rect, uint32 color, void (*plotProc)(int, int, int, void *), void *data);
+void drawRect1(const Common::Rect &rect, uint32 color, void (*plotProc)(int, int, int, void *), void *data);
+void drawRoundRect(const Common::Rect &rect, int arc, uint32 color, bool filled, void (*plotProc)(int, int, int, void *), void *data);
+void drawRoundRect1(const Common::Rect &rect, int arc, uint32 color, bool filled, void (*plotProc)(int, int, int, void *), void *data);
+void drawPolygonScan(const int *polyX, const int *polyY, int npoints, const Common::Rect &bbox, uint32 color,
 								void (*plotProc)(int, int, int, void *), void *data);
 void drawEllipse(int x0, int y0, int x1, int y1, uint32 color, bool filled, void (*plotProc)(int, int, int, void *), void *data);
 
diff --git a/graphics/tinygl/glenum.h b/graphics/tinygl/glenum.h
new file mode 100644
index 00000000000..b1b7cca78a4
--- /dev/null
+++ b/graphics/tinygl/glenum.h
@@ -0,0 +1,637 @@
+typedef enum {
+	// Boolean values
+	GL_FALSE                       = 0,
+	GL_TRUE                        = 1,
+
+	// Data types
+	GL_BYTE                        = 0x1400,
+	GL_UNSIGNED_BYTE               = 0x1401,
+	GL_SHORT                       = 0x1402,
+	GL_UNSIGNED_SHORT              = 0x1403,
+	GL_INT                         = 0x1404,
+	GL_UNSIGNED_INT                = 0x1405,
+	GL_FLOAT                       = 0x1406,
+	GL_DOUBLE                      = 0x140A,
+	GL_2_BYTES                     = 0x1407,
+	GL_3_BYTES                     = 0x1408,
+	GL_4_BYTES                     = 0x1409,
+
+	// Primitives
+	GL_LINES                       = 0x0001,
+	GL_POINTS                      = 0x0000,
+	GL_LINE_STRIP                  = 0x0003,
+	GL_LINE_LOOP                   = 0x0002,
+	GL_TRIANGLES                   = 0x0004,
+	GL_TRIANGLE_STRIP              = 0x0005,
+	GL_TRIANGLE_FAN                = 0x0006,
+	GL_QUADS                       = 0x0007,
+	GL_QUAD_STRIP                  = 0x0008,
+	GL_POLYGON                     = 0x0009,
+	GL_EDGE_FLAG                   = 0x0B43,
+
+	// Vertex Arrays
+	GL_VERTEX_ARRAY                = 0x8074,
+	GL_NORMAL_ARRAY                = 0x8075,
+	GL_COLOR_ARRAY                 = 0x8076,
+	GL_INDEX_ARRAY                 = 0x8077,
+	GL_TEXTURE_COORD_ARRAY         = 0x8078,
+	GL_EDGE_FLAG_ARRAY             = 0x8079,
+	GL_VERTEX_ARRAY_SIZE           = 0x807A,
+	GL_VERTEX_ARRAY_TYPE           = 0x807B,
+	GL_VERTEX_ARRAY_STRIDE         = 0x807C,
+	GL_VERTEX_ARRAY_COUNT          = 0x807D,
+	GL_NORMAL_ARRAY_TYPE           = 0x807E,
+	GL_NORMAL_ARRAY_STRIDE         = 0x807F,
+	GL_NORMAL_ARRAY_COUNT          = 0x8080,
+	GL_COLOR_ARRAY_SIZE            = 0x8081,
+	GL_COLOR_ARRAY_TYPE            = 0x8082,
+	GL_COLOR_ARRAY_STRIDE          = 0x8083,
+	GL_COLOR_ARRAY_COUNT           = 0x8084,
+	GL_INDEX_ARRAY_TYPE            = 0x8085,
+	GL_INDEX_ARRAY_STRIDE          = 0x8086,
+	GL_INDEX_ARRAY_COUNT           = 0x8087,
+	GL_TEXTURE_COORD_ARRAY_SIZE    = 0x8088,
+	GL_TEXTURE_COORD_ARRAY_TYPE    = 0x8089,
+	GL_TEXTURE_COORD_ARRAY_STRIDE  = 0x808A,
+	GL_TEXTURE_COORD_ARRAY_COUNT   = 0x808B,
+	GL_EDGE_FLAG_ARRAY_STRIDE      = 0x808C,
+	GL_EDGE_FLAG_ARRAY_COUNT       = 0x808D,
+	GL_VERTEX_ARRAY_POINTER        = 0x808E,
+	GL_NORMAL_ARRAY_POINTER        = 0x808F,
+	GL_COLOR_ARRAY_POINTER         = 0x8090,
+	GL_INDEX_ARRAY_POINTER         = 0x8091,
+	GL_TEXTURE_COORD_ARRAY_POINTER = 0x8092,
+	GL_EDGE_FLAG_ARRAY_POINTER     = 0x8093,
+	GL_V2F                         = 0x2A20,
+	GL_V3F                         = 0x2A21,
+	GL_C4UB_V2F                    = 0x2A22,
+	GL_C4UB_V3F                    = 0x2A23,
+	GL_C3F_V3F                     = 0x2A24,
+	GL_N3F_V3F                     = 0x2A25,
+	GL_C4F_N3F_V3F                 = 0x2A26,
+	GL_T2F_V3F                     = 0x2A27,
+	GL_T4F_V4F                     = 0x2A28,
+	GL_T2F_C4UB_V3F                = 0x2A29,
+	GL_T2F_C3F_V3F                 = 0x2A2A,
+	GL_T2F_N3F_V3F                 = 0x2A2B,
+	GL_T2F_C4F_N3F_V3F             = 0x2A2C,
+	GL_T4F_C4F_N3F_V4F             = 0x2A2D,
+
+	// Matrix Mode
+	GL_MATRIX_MODE                 = 0x0BA0,
+	GL_MODELVIEW                   = 0x1700,
+	GL_PROJECTION                  = 0x1701,
+	GL_TEXTURE                     = 0x1702,
+
+	// Points
+	GL_POINT_SMOOTH                = 0x0B10,
+	GL_POINT_SIZE                  = 0x0B11,
+	GL_POINT_SIZE_GRANULARITY      = 0x0B13,
+	GL_POINT_SIZE_RANGE            = 0x0B12,
+
+	// Lines
+	GL_LINE_SMOOTH                 = 0x0B20,
+	GL_LINE_STIPPLE                = 0x0B24,
+	GL_LINE_STIPPLE_PATTERN        = 0x0B25,
+	GL_LINE_STIPPLE_REPEAT         = 0x0B26,
+	GL_LINE_WIDTH                  = 0x0B21,
+	GL_LINE_WIDTH_GRANULARITY      = 0x0B23,
+	GL_LINE_WIDTH_RANGE            = 0x0B22,
+
+	// Polygons
+	GL_POINT                       = 0x1B00,
+	GL_LINE                        = 0x1B01,
+	GL_FILL                        = 0x1B02,
+	GL_CCW                         = 0x0901,
+	GL_CW                          = 0x0900,
+	GL_FRONT                       = 0x0404,
+	GL_BACK                        = 0x0405,
+	GL_CULL_FACE                   = 0x0B44,
+	GL_CULL_FACE_MODE              = 0x0B45,
+	GL_POLYGON_SMOOTH              = 0x0B41,
+	GL_POLYGON_STIPPLE             = 0x0B42,
+	GL_FRONT_FACE                  = 0x0B46,
+	GL_POLYGON_MODE                = 0x0B40,
+	GL_POLYGON_OFFSET_FACTOR       = 0x3038,
+	GL_POLYGON_OFFSET_UNITS        = 0x2A00,
+	GL_POLYGON_OFFSET_POINT        = 0x2A01,
+	GL_POLYGON_OFFSET_LINE         = 0x2A02,
+	GL_POLYGON_OFFSET_FILL         = 0x8037,
+	GL_SHADOW_MASK_MODE            = 0x0C40,
+	GL_SHADOW_MODE                 = 0x0C41,
+
+	// Display Lists
+	GL_COMPILE                     = 0x1300,
+	GL_COMPILE_AND_EXECUTE         = 0x1301,
+	GL_LIST_BASE                   = 0x0B32,
+	GL_LIST_INDEX                  = 0x0B33,
+	GL_LIST_MODE                   = 0x0B30,
+
+	// Depth buffer
+	GL_NEVER                       = 0x0200,
+	GL_LESS                        = 0x0201,
+	GL_GEQUAL                      = 0x0206,
+	GL_LEQUAL                      = 0x0203,
+	GL_GREATER                     = 0x0204,
+	GL_NOTEQUAL                    = 0x0205,
+	GL_EQUAL                       = 0x0202,
+	GL_ALWAYS                      = 0x0207,
+	GL_DEPTH_TEST                  = 0x0B71,
+	GL_DEPTH_BITS                  = 0x0D56,
+	GL_DEPTH_CLEAR_VALUE           = 0x0B73,
+	GL_DEPTH_FUNC                  = 0x0B74,
+	GL_DEPTH_RANGE                 = 0x0B70,
+	GL_DEPTH_WRITEMASK             = 0x0B72,
+	GL_DEPTH_COMPONENT             = 0x1902,
+
+	// Lighting
+	GL_LIGHTING                    = 0x0B50,
+	GL_LIGHT0                      = 0x4000,
+	GL_LIGHT1                      = 0x4001,
+	GL_LIGHT2                      = 0x4002,
+	GL_LIGHT3                      = 0x4003,
+	GL_LIGHT4                      = 0x4004,
+	GL_LIGHT5                      = 0x4005,
+	GL_LIGHT6                      = 0x4006,
+	GL_LIGHT7                      = 0x4007,
+	GL_SPOT_EXPONENT               = 0x1205,
+	GL_SPOT_CUTOFF                 = 0x1206,
+	GL_CONSTANT_ATTENUATION        = 0x1207,
+	GL_LINEAR_ATTENUATION          = 0x1208,
+	GL_QUADRATIC_ATTENUATION       = 0x1209,
+	GL_AMBIENT                     = 0x1200,
+	GL_DIFFUSE                     = 0x1201,
+	GL_SPECULAR                    = 0x1202,
+	GL_SHININESS                   = 0x1601,
+	GL_EMISSION                    = 0x1600,
+	GL_POSITION                    = 0x1203,
+	GL_SPOT_DIRECTION              = 0x1204,
+	GL_AMBIENT_AND_DIFFUSE         = 0x1602,
+	GL_COLOR_INDEXES               = 0x1603,
+	GL_LIGHT_MODEL_TWO_SIDE        = 0x0B52,
+	GL_LIGHT_MODEL_LOCAL_VIEWER    = 0x0B51,
+	GL_LIGHT_MODEL_AMBIENT         = 0x0B53,
+	GL_FRONT_AND_BACK              = 0x0408,
+	GL_SHADE_MODEL                 = 0x0B54,
+	GL_FLAT                        = 0x1D00,
+	GL_SMOOTH                      = 0x1D01,
+	GL_COLOR_MATERIAL              = 0x0B57,
+	GL_COLOR_MATERIAL_FACE         = 0x0B55,
+	GL_COLOR_MATERIAL_PARAMETER    = 0x0B56,
+	GL_NORMALIZE                   = 0x0BA1,
+
+	// User clipping planes
+	GL_CLIP_PLANE0                 = 0x3000,
+	GL_CLIP_PLANE1                 = 0x3001,
+	GL_CLIP_PLANE2                 = 0x3002,
+	GL_CLIP_PLANE3                 = 0x3003,
+	GL_CLIP_PLANE4                 = 0x3004,
+	GL_CLIP_PLANE5                 = 0x3005,
+
+	// Accumulation buffer
+	GL_ACCUM_RED_BITS              = 0x0D58,
+	GL_ACCUM_GREEN_BITS            = 0x0D59,
+	GL_ACCUM_BLUE_BITS             = 0x0D5A,
+	GL_ACCUM_ALPHA_BITS            = 0x0D5B,
+	GL_ACCUM_CLEAR_VALUE           = 0x0B80,
+	GL_ACCUM                       = 0x0100,
+	GL_ADD                         = 0x0104,
+	GL_LOAD                        = 0x0101,
+	GL_MULT                        = 0x0103,
+	GL_RETURN                      = 0x0102,
+
+	// Alpha testing
+	GL_ALPHA_TEST                  = 0x0BC0,
+	GL_ALPHA_TEST_REF              = 0x0BC2,
+	GL_ALPHA_TEST_FUNC             = 0x0BC1,
+
+	// Blending
+	GL_BLEND                       = 0x0BE2,
+	GL_BLEND_SRC                   = 0x0BE1,
+	GL_BLEND_DST                   = 0x0BE0,
+	GL_ZERO                        = 0,
+	GL_ONE                         = 1,
+	GL_SRC_COLOR                   = 0x0300,
+	GL_ONE_MINUS_SRC_COLOR         = 0x0301,
+	GL_DST_COLOR                   = 0x0306,
+	GL_ONE_MINUS_DST_COLOR         = 0x0307,
+	GL_SRC_ALPHA                   = 0x0302,
+	GL_ONE_MINUS_SRC_ALPHA         = 0x0303,
+	GL_DST_ALPHA                   = 0x0304,
+	GL_ONE_MINUS_DST_ALPHA         = 0x0305,
+	GL_SRC_ALPHA_SATURATE          = 0x0308,
+	GL_CONSTANT_COLOR              = 0x8001,
+	GL_ONE_MINUS_CONSTANT_COLOR    = 0x8002,
+	GL_CONSTANT_ALPHA              = 0x8003,
+	GL_ONE_MINUS_CONSTANT_ALPHA    = 0x8004,
+
+	// Render Mode
+	GL_FEEDBACK                    = 0x1C01,
+	GL_RENDER                      = 0x1C00,
+	GL_SELECT                      = 0x1C02,
+
+	// Feedback
+	GL_2D                          = 0x0600,
+	GL_3D                          = 0x0601,
+	GL_3D_COLOR                    = 0x0602,
+	GL_3D_COLOR_TEXTURE            = 0x0603,
+	GL_4D_COLOR_TEXTURE            = 0x0604,
+	GL_POINT_TOKEN                 = 0x0701,
+	GL_LINE_TOKEN                  = 0x0702,
+	GL_LINE_RESET_TOKEN            = 0x0707,
+	GL_POLYGON_TOKEN               = 0x0703,
+	GL_BITMAP_TOKEN                = 0x0704,
+	GL_DRAW_PIXEL_TOKEN            = 0x0705,
+	GL_COPY_PIXEL_TOKEN            = 0x0706,
+	GL_PASS_THROUGH_TOKEN          = 0x0700,
+
+	// Fog
+	GL_FOG                         = 0x0B60,
+	GL_FOG_MODE                    = 0x0B65,
+	GL_FOG_DENSITY                 = 0x0B62,
+	GL_FOG_COLOR                   = 0x0B66,
+	GL_FOG_INDEX                   = 0x0B61,
+	GL_FOG_START                   = 0x0B63,
+	GL_FOG_END                     = 0x0B64,
+	GL_LINEAR                      = 0x2601,
+	GL_EXP                         = 0x0800,
+	GL_EXP2                        = 0x0801,
+
+	// Logic Ops
+	GL_LOGIC_OP                    = 0x0BF1,
+	GL_LOGIC_OP_MODE               = 0x0BF0,
+	GL_CLEAR                       = 0x1500,
+	GL_SET                         = 0x150F,
+	GL_COPY                        = 0x1503,
+	GL_COPY_INVERTED               = 0x150C,
+	GL_NOOP                        = 0x1505,
+	GL_INVERT                      = 0x150A,
+	GL_AND                         = 0x1501,
+	GL_NAND                        = 0x150E,
+	GL_OR                          = 0x1507,
+	GL_NOR                         = 0x1508,
+	GL_XOR                         = 0x1506,
+	GL_EQUIV                       = 0x1509,
+	GL_AND_REVERSE                 = 0x1502,
+	GL_AND_INVERTED                = 0x1504,
+	GL_OR_REVERSE                  = 0x150B,
+	GL_OR_INVERTED                 = 0x150D,
+
+	// Stencil
+	GL_STENCIL_TEST                = 0x0B90,
+	GL_STENCIL_WRITEMASK           = 0x0B98,
+	GL_STENCIL_BITS                = 0x0D57,
+	GL_STENCIL_FUNC                = 0x0B92,
+	GL_STENCIL_VALUE_MASK          = 0x0B93,
+	GL_STENCIL_REF                 = 0x0B97,
+	GL_STENCIL_FAIL                = 0x0B94,
+	GL_STENCIL_PASS_DEPTH_PASS     = 0x0B96,
+	GL_STENCIL_PASS_DEPTH_FAIL     = 0x0B95,
+	GL_STENCIL_CLEAR_VALUE         = 0x0B91,
+	GL_STENCIL_INDEX               = 0x1901,
+	GL_KEEP                        = 0x1E00,
+	GL_REPLACE                     = 0x1E01,
+	GL_INCR                        = 0x1E02,
+	GL_DECR                        = 0x1E03,
+	GL_INCR_WRAP                   = 0x8507,
+	GL_DECR_WRAP                   = 0x8508,
+
+	// Buffers, Pixel Drawing/Reading
+	GL_NONE                        = 0,
+	GL_LEFT                        = 0x0406,
+	GL_RIGHT                       = 0x0407,
+	//TGL_FRONT                     = 0x0404,
+	//TGL_BACK                      = 0x0405,
+	//TGL_FRONT_AND_BACK            = 0x0408,
+	GL_FRONT_LEFT                  = 0x0400,
+	GL_FRONT_RIGHT                 = 0x0401,
+	GL_BACK_LEFT                   = 0x0402,
+	GL_BACK_RIGHT                  = 0x0403,
+	GL_AUX0                        = 0x0409,
+	GL_AUX1                        = 0x040A,
+	GL_AUX2                        = 0x040B,
+	GL_AUX3                        = 0x040C,
+	GL_COLOR_INDEX                 = 0x1900,
+	GL_RED                         = 0x1903,
+	GL_GREEN                       = 0x1904,
+	GL_BLUE                        = 0x1905,
+	GL_ALPHA                       = 0x1906,
+	GL_LUMINANCE                   = 0x1909,
+	GL_LUMINANCE_ALPHA             = 0x190A,
+	GL_ALPHA_BITS                  = 0x0D55,
+	GL_RED_BITS                    = 0x0D52,
+	GL_GREEN_BITS                  = 0x0D53,
+	GL_BLUE_BITS                   = 0x0D54,
+	GL_INDEX_BITS                  = 0x0D51,
+	GL_SUBPIXEL_BITS               = 0x0D50,
+	GL_AUX_BUFFERS                 = 0x0C00,
+	GL_READ_BUFFER                 = 0x0C02,
+	GL_DRAW_BUFFER                 = 0x0C01,
+	GL_DOUBLEBUFFER                = 0x0C32,
+	GL_STEREO                      = 0x0C33,
+	GL_BITMAP                      = 0x1A00,
+	GL_COLOR                       = 0x1800,
+	GL_DEPTH                       = 0x1801,
+	GL_STENCIL                     = 0x1802,
+	GL_DITHER                      = 0x0BD0,
+	GL_RGB                         = 0x1907,
+	GL_RGBA                        = 0x1908,
+
+	// Implementation limits
+	GL_MAX_LIST_NESTING            = 0x0B31,
+	GL_MAX_ATTRIB_STACK_DEPTH      = 0x0D35,
+	GL_MAX_MODELVIEW_STACK_DEPTH   = 0x0D36,
+	GL_MAX_NAME_STACK_DEPTH        = 0x0D37,
+	GL_MAX_PROJECTION_STACK_DEPTH  = 0x0D38,
+	GL_MAX_TEXTURE_STACK_DEPTH     = 0x0D39,
+	GL_MAX_EVAL_ORDER              = 0x0D30,
+	GL_MAX_LIGHTS                  = 0x0D31,
+	GL_MAX_CLIP_PLANES             = 0x0D32,
+	GL_MAX_TEXTURE_SIZE            = 0x0D33,
+	GL_MAX_PIXEL_MAP_TABLE         = 0x0D34,
+	GL_MAX_VIEWPORT_DIMS           = 0x0D3A,
+	GL_MAX_CLIENT_ATTRIB_STACK_DEPTH = 0x0D3B,
+
+	// Gets
+	GL_ATTRIB_STACK_DEPTH          = 0x0BB0,
+	GL_COLOR_CLEAR_VALUE           = 0x0C22,
+	GL_COLOR_WRITEMASK             = 0x0C23,
+	GL_CURRENT_INDEX               = 0x0B01,
+	GL_CURRENT_COLOR               = 0x0B00,
+	GL_CURRENT_NORMAL              = 0x0B02,
+	GL_CURRENT_RASTER_COLOR        = 0x0B04,
+	GL_CURRENT_RASTER_DISTANCE     = 0x0B09,
+	GL_CURRENT_RASTER_INDEX        = 0x0B05,
+	GL_CURRENT_RASTER_POSITION     = 0x0B07,
+	GL_CURRENT_RASTER_TEXTURE_COORDS = 0x0B06,
+	GL_CURRENT_RASTER_POSITION_VALID = 0x0B08,
+	GL_CURRENT_TEXTURE_COORDS      = 0x0B03,
+	GL_INDEX_CLEAR_VALUE           = 0x0C20,
+	GL_INDEX_MODE                  = 0x0C30,
+	GL_INDEX_WRITEMASK             = 0x0C21,
+	GL_MODELVIEW_MATRIX            = 0x0BA6,
+	GL_MODELVIEW_STACK_DEPTH       = 0x0BA3,
+	GL_NAME_STACK_DEPTH            = 0x0D70,
+	GL_PROJECTION_MATRIX           = 0x0BA7,
+	GL_PROJECTION_STACK_DEPTH      = 0x0BA4,
+	GL_RENDER_MODE                 = 0x0C40,
+	GL_RGBA_MODE                   = 0x0C31,
+	GL_TEXTURE_MATRIX              = 0x0BA8,
+	GL_TEXTURE_STACK_DEPTH         = 0x0BA5,
+	GL_VIEWPORT                    = 0x0BA2,
+
+	// Evaluators
+	GL_AUTO_NORMAL                 = 0x0D80,
+	GL_MAP1_COLOR_4                = 0x0D90,
+	GL_MAP1_GRID_DOMAIN            = 0x0DD0,
+	GL_MAP1_GRID_SEGMENTS          = 0x0DD1,
+	GL_MAP1_INDEX                  = 0x0D91,
+	GL_MAP1_NORMAL                 = 0x0D92,
+	GL_MAP1_TEXTURE_COORD_1        = 0x0D93,
+	GL_MAP1_TEXTURE_COORD_2        = 0x0D94,
+	GL_MAP1_TEXTURE_COORD_3        = 0x0D95,
+	GL_MAP1_TEXTURE_COORD_4        = 0x0D96,
+	GL_MAP1_VERTEX_3               = 0x0D97,
+	GL_MAP1_VERTEX_4               = 0x0D98,
+	GL_MAP2_COLOR_4                = 0x0DB0,
+	GL_MAP2_GRID_DOMAIN            = 0x0DD2,
+	GL_MAP2_GRID_SEGMENTS          = 0x0DD3,
+	GL_MAP2_INDEX                  = 0x0DB1,
+	GL_MAP2_NORMAL                 = 0x0DB2,
+	GL_MAP2_TEXTURE_COORD_1        = 0x0DB3,
+	GL_MAP2_TEXTURE_COORD_2        = 0x0DB4,
+	GL_MAP2_TEXTURE_COORD_3        = 0x0DB5,
+	GL_MAP2_TEXTURE_COORD_4        = 0x0DB6,
+	GL_MAP2_VERTEX_3               = 0x0DB7,
+	GL_MAP2_VERTEX_4               = 0x0DB8,
+	GL_COEFF                       = 0x0A00,
+	GL_DOMAIN                      = 0x0A02,
+	GL_ORDER                       = 0x0A01,
+
+	// Hints
+	GL_FOG_HINT                    = 0x0C54,
+	GL_LINE_SMOOTH_HINT            = 0x0C52,
+	GL_PERSPECTIVE_CORRECTION_HINT = 0x0C50,
+	GL_POINT_SMOOTH_HINT           = 0x0C51,
+	GL_POLYGON_SMOOTH_HINT         = 0x0C53,
+	GL_DONT_CARE                   = 0x1100,
+	GL_FASTEST                     = 0x1101,
+	GL_NICEST                      = 0x1102,
+
+	// Scissor box
+	GL_SCISSOR_TEST                = 0x0C11,
+	GL_SCISSOR_BOX                 = 0x0C10,
+
+	// Pixel Mode / Transfer
+	GL_MAP_COLOR                   = 0x0D10,
+	GL_MAP_STENCIL                 = 0x0D11,
+	GL_INDEX_SHIFT                 = 0x0D12,
+	GL_INDEX_OFFSET                = 0x0D13,
+	GL_RED_SCALE                   = 0x0D14,
+	GL_RED_BIAS                    = 0x0D15,
+	GL_GREEN_SCALE                 = 0x0D18,
+	GL_GREEN_BIAS                  = 0x0D19,
+	GL_BLUE_SCALE                  = 0x0D1A,
+	GL_BLUE_BIAS                   = 0x0D1B,
+	GL_ALPHA_SCALE                 = 0x0D1C,
+	GL_ALPHA_BIAS                  = 0x0D1D,
+	GL_DEPTH_SCALE                 = 0x0D1E,
+	GL_DEPTH_BIAS                  = 0x0D1F,
+	GL_PIXEL_MAP_S_TO_S_SIZE       = 0x0CB1,
+	GL_PIXEL_MAP_I_TO_I_SIZE       = 0x0CB0,
+	GL_PIXEL_MAP_I_TO_R_SIZE       = 0x0CB2,
+	GL_PIXEL_MAP_I_TO_G_SIZE       = 0x0CB3,
+	GL_PIXEL_MAP_I_TO_B_SIZE       = 0x0CB4,
+	GL_PIXEL_MAP_I_TO_A_SIZE       = 0x0CB5,
+	GL_PIXEL_MAP_R_TO_R_SIZE       = 0x0CB6,
+	GL_PIXEL_MAP_G_TO_G_SIZE       = 0x0CB7,
+	GL_PIXEL_MAP_B_TO_B_SIZE       = 0x0CB8,
+	GL_PIXEL_MAP_A_TO_A_SIZE       = 0x0CB9,
+	GL_PIXEL_MAP_S_TO_S            = 0x0C71,
+	GL_PIXEL_MAP_I_TO_I            = 0x0C70,
+	GL_PIXEL_MAP_I_TO_R            = 0x0C72,
+	GL_PIXEL_MAP_I_TO_G            = 0x0C73,
+	GL_PIXEL_MAP_I_TO_B            = 0x0C74,
+	GL_PIXEL_MAP_I_TO_A            = 0x0C75,
+	GL_PIXEL_MAP_R_TO_R            = 0x0C76,
+	GL_PIXEL_MAP_G_TO_G            = 0x0C77,
+	GL_PIXEL_MAP_B_TO_B            = 0x0C78,
+	GL_PIXEL_MAP_A_TO_A            = 0x0C79,
+	GL_PACK_ALIGNMENT              = 0x0D05,
+	GL_PACK_LSB_FIRST              = 0x0D01,
+	GL_PACK_ROW_LENGTH             = 0x0D02,
+	GL_PACK_SKIP_PIXELS            = 0x0D04,
+	GL_PACK_SKIP_ROWS              = 0x0D03,
+	GL_PACK_SWAP_BYTES             = 0x0D00,
+	GL_UNPACK_ALIGNMENT            = 0x0CF5,
+	GL_UNPACK_LSB_FIRST            = 0x0CF1,
+	GL_UNPACK_ROW_LENGTH           = 0x0CF2,
+	GL_UNPACK_SKIP_PIXELS          = 0x0CF4,
+	GL_UNPACK_SKIP_ROWS            = 0x0CF3,
+	GL_UNPACK_SWAP_BYTES           = 0x0CF0,
+	GL_ZOOM_X                      = 0x0D16,
+	GL_ZOOM_Y                      = 0x0D17,
+
+	// Texture mapping
+	GL_TEXTURE_ENV                 = 0x2300,
+	GL_TEXTURE_ENV_MODE            = 0x2200,
+	GL_TEXTURE_1D                  = 0x0DE0,
+	GL_TEXTURE_2D                  = 0x0DE1,
+	GL_TEXTURE_WRAP_S              = 0x2802,
+	GL_TEXTURE_WRAP_T              = 0x2803,
+	GL_TEXTURE_MAG_FILTER          = 0x2800,
+	GL_TEXTURE_MIN_FILTER          = 0x2801,
+	GL_TEXTURE_ENV_COLOR           = 0x2201,
+	GL_TEXTURE_GEN_S               = 0x0C60,
+	GL_TEXTURE_GEN_T               = 0x0C61,
+	GL_TEXTURE_GEN_MODE            = 0x2500,
+	GL_TEXTURE_BORDER_COLOR        = 0x1004,
+	GL_TEXTURE_WIDTH               = 0x1000,
+	GL_TEXTURE_HEIGHT              = 0x1001,
+	GL_TEXTURE_BORDER              = 0x1005,
+	GL_TEXTURE_COMPONENTS          = 0x1003,
+	GL_NEAREST_MIPMAP_NEAREST      = 0x2700,
+	GL_NEAREST_MIPMAP_LINEAR       = 0x2702,
+	GL_LINEAR_MIPMAP_NEAREST       = 0x2701,
+	GL_LINEAR_MIPMAP_LINEAR        = 0x2703,
+	GL_OBJECT_LINEAR               = 0x2401,
+	GL_OBJECT_PLANE                = 0x2501,
+	GL_EYE_LINEAR                  = 0x2400,
+	GL_EYE_PLANE                   = 0x2502,
+	GL_SPHERE_MAP                  = 0x2402,
+	GL_DECAL                       = 0x2101,
+	GL_MODULATE                    = 0x2100,
+	GL_NEAREST                     = 0x2600,
+	GL_REPEAT                      = 0x2901,
+	GL_CLAMP                       = 0x2900,
+	GL_CLAMP_TO_EDGE               = 0x812F,
+	GL_MIRRORED_REPEAT             = 0x8370,
+	GL_S                           = 0x2000,
+	GL_T                           = 0x2001,
+	GL_R                           = 0x2002,
+	GL_Q                           = 0x2003,
+	GL_TEXTURE_GEN_R               = 0x0C62,
+	GL_TEXTURE_GEN_Q               = 0x0C63,
+
+	GL_PROXY_TEXTURE_1D            = 0x8063,
+	GL_PROXY_TEXTURE_2D            = 0x8064,
+	GL_TEXTURE_PRIORITY            = 0x8066,
+	GL_TEXTURE_RESIDENT            = 0x8067,
+	GL_TEXTURE_1D_BINDING          = 0x8068,
+	GL_TEXTURE_2D_BINDING          = 0x8069,
+
+	// Internal texture formats
+	GL_ALPHA4                      = 0x803B,
+	GL_ALPHA8                      = 0x803C,
+	GL_ALPHA12                     = 0x803D,
+	GL_ALPHA16                     = 0x803E,
+	GL_LUMINANCE4                  = 0x803F,
+	GL_LUMINANCE8                  = 0x8040,
+	GL_LUMINANCE12                 = 0x8041,
+	GL_LUMINANCE16                 = 0x8042,
+	GL_LUMINANCE4_ALPHA4           = 0x8043,
+	GL_LUMINANCE6_ALPHA2           = 0x8044,
+	GL_LUMINANCE8_ALPHA8           = 0x8045,
+	GL_LUMINANCE12_ALPHA4          = 0x8046,
+	GL_LUMINANCE12_ALPHA12         = 0x8047,
+	GL_LUMINANCE16_ALPHA16         = 0x8048,
+	GL_INTENSITY                   = 0x8049,
+	GL_INTENSITY4                  = 0x804A,
+	GL_INTENSITY8                  = 0x804B,
+	GL_INTENSITY12                 = 0x804C,
+	GL_INTENSITY16                 = 0x804D,
+	GL_R3_G3_B2                    = 0x2A10,
+	GL_RGB4                        = 0x804F,
+	GL_RGB5                        = 0x8050,
+	GL_RGB8                        = 0x8051,
+	GL_RGB10                       = 0x8052,
+	GL_RGB12                       = 0x8053,
+	GL_RGB16                       = 0x8054,
+	GL_RGBA2                       = 0x8055,
+	GL_RGBA4                       = 0x8056,
+	GL_RGB5_A1                     = 0x8057,
+	GL_RGBA8                       = 0x8058,
+	GL_RGB10_A2                    = 0x8059,
+	GL_RGBA12                      = 0x805A,
+	GL_RGBA16                      = 0x805B,
+	GL_UNSIGNED_SHORT_5_6_5        = 0x8363,
+	GL_UNSIGNED_SHORT_5_6_5_REV    = 0x8364,
+	GL_UNSIGNED_INT_8_8_8_8        = 0x8035,
+	GL_UNSIGNED_INT_8_8_8_8_REV    = 0x8367,
+	GL_UNSIGNED_SHORT_5_5_5_1      = 0x8034,
+	GL_UNSIGNED_SHORT_1_5_5_5_REV  = 0x8366,
+	GL_UNSIGNED_SHORT_4_4_4_4      = 0x8033,
+	GL_UNSIGNED_SHORT_4_4_4_4_REV  = 0x8365,
+
+	// Utility
+	GL_VENDOR                      = 0x1F00,
+	GL_RENDERER                    = 0x1F01,
+	GL_VERSION                     = 0x1F02,
+	GL_EXTENSIONS                  = 0x1F03,
+
+	// Errors
+	GL_INVALID_VALUE               = 0x0501,
+	GL_INVALID_ENUM                = 0x0500,
+	GL_INVALID_OPERATION           = 0x0502,
+	GL_STACK_OVERFLOW              = 0x0503,
+	GL_STACK_UNDERFLOW             = 0x0504,
+	GL_OUT_OF_MEMORY               = 0x0505,
+
+	// 1.0 Extensions
+
+	// TGL_EXT_blend_minmax and TGL_EXT_blend_color
+	GL_CONSTANT_COLOR_EXT          = 0x8001,
+	GL_ONE_MINUS_CONSTANT_COLOR_EXT = 0x8002,
+	GL_CONSTANT_ALPHA_EXT          = 0x8003,
+	GL_ONE_MINUS_CONSTANT_ALPHA_EXT = 0x8004,
+	GL_BLEND_EQUATION_EXT          = 0x8009,
+	GL_MIN_EXT                     = 0x8007,
+	GL_MAX_EXT                     = 0x8008,
+	GL_FUNC_ADD_EXT                = 0x8006,
+	GL_FUNC_SUBTRACT_EXT           = 0x800A,
+	GL_FUNC_REVERSE_SUBTRACT_EXT   = 0x800B,
+	GL_BLEND_COLOR_EXT             = 0x8005,
+
+	// TGL_EXT_polygon_offset
+	GL_POLYGON_OFFSET_EXT           = 0x8037,
+	GL_POLYGON_OFFSET_FACTOR_EXT    = 0x8038,
+	GL_POLYGON_OFFSET_BIAS_EXT      = 0x8039,
+
+	// TGL_EXT_vertex_array
+	GL_VERTEX_ARRAY_EXT            = 0x8074,
+	GL_NORMAL_ARRAY_EXT            = 0x8075,
+	GL_COLOR_ARRAY_EXT             = 0x8076,
+	GL_INDEX_ARRAY_EXT             = 0x8077,
+	GL_TEXTURE_COORD_ARRAY_EXT     = 0x8078,
+	GL_EDGE_FLAG_ARRAY_EXT         = 0x8079,
+	GL_VERTEX_ARRAY_SIZE_EXT       = 0x807A,
+	GL_VERTEX_ARRAY_TYPE_EXT       = 0x807B,
+	GL_VERTEX_ARRAY_STRIDE_EXT     = 0x807C,
+	GL_VERTEX_ARRAY_COUNT_EXT      = 0x807D,
+	GL_NORMAL_ARRAY_TYPE_EXT       = 0x807E,
+	GL_NORMAL_ARRAY_STRIDE_EXT     = 0x807F,
+	GL_NORMAL_ARRAY_COUNT_EXT      = 0x8080,
+	GL_COLOR_ARRAY_SIZE_EXT        = 0x8081,
+	GL_COLOR_ARRAY_TYPE_EXT        = 0x8082,
+	GL_COLOR_ARRAY_STRIDE_EXT      = 0x8083,
+	GL_COLOR_ARRAY_COUNT_EXT       = 0x8084,
+	GL_INDEX_ARRAY_TYPE_EXT        = 0x8085,
+	GL_INDEX_ARRAY_STRIDE_EXT      = 0x8086,
+	GL_INDEX_ARRAY_COUNT_EXT       = 0x8087,
+	GL_TEXTURE_COORD_ARRAY_SIZE_EXT = 0x8088,
+	GL_TEXTURE_COORD_ARRAY_TYPE_EXT = 0x8089,
+	GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = 0x808A,
+	GL_TEXTURE_COORD_ARRAY_COUNT_EXT = 0x808B,
+	GL_EDGE_FLAG_ARRAY_STRIDE_EXT  = 0x808C,
+	GL_EDGE_FLAG_ARRAY_COUNT_EXT   = 0x808D,
+	GL_VERTEX_ARRAY_POINTER_EXT    = 0x808E,
+	GL_NORMAL_ARRAY_POINTER_EXT    = 0x808F,
+	GL_COLOR_ARRAY_POINTER_EXT     = 0x8090,
+	GL_INDEX_ARRAY_POINTER_EXT     = 0x8091,
+	GL_TEXTURE_COORD_ARRAY_POINTER_EXT = 0x8092,
+	GL_EDGE_FLAG_ARRAY_POINTER_EXT = 0x8093,
+
+	// Color-types from 1.2, from SDL_opengl.h
+	GL_BGR                         = 0x80E0,
+	GL_BGRA                        = 0x80E1
+} GLenum;




More information about the Scummvm-git-logs mailing list