[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