A 2D tile-based sandbox game.
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

util.cc 598B

123456789101112131415161718192021222324252627282930313233343536
  1. #include "util.h"
  2. #include <SDL.h>
  3. #include "gl.h"
  4. namespace Cygnet {
  5. inline const char *glErrorString(int err) {
  6. #define errcase(x) case x: return #x
  7. switch (err) {
  8. errcase(GL_NO_ERROR);
  9. errcase(GL_INVALID_ENUM);
  10. errcase(GL_INVALID_VALUE);
  11. errcase(GL_INVALID_OPERATION);
  12. errcase(GL_INVALID_FRAMEBUFFER_OPERATION);
  13. errcase(GL_OUT_OF_MEMORY);
  14. default: return "(unknown)";
  15. }
  16. #undef errcase
  17. }
  18. void sdlCheck(bool ok) {
  19. if (!ok) {
  20. throw SDLError(SDL_GetError());
  21. }
  22. }
  23. void glCheck() {
  24. GLenum err = glGetError();
  25. if (err != GL_NO_ERROR) {
  26. throw GlError(glErrorString(err));
  27. }
  28. }
  29. }