Guest User

Untitled

a guest
Nov 17th, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. bool SetupDisplay(void) {
  2. GrScreenResolution_t res = GR_RESOLUTION_1024x768;
  3. unsigned int w, h;
  4. if (ri.Vid_GetModeInfo(&w, &h, glide_config.mode->value)) {
  5. switch (h) {
  6. case 200: res = GR_RESOLUTION_320x200; break;
  7. case 240: res = GR_RESOLUTION_320x240; break;
  8. case 300: res = GR_RESOLUTION_400x300; break;
  9. case 384: res = GR_RESOLUTION_512x384; break;
  10. case 480: res = GR_RESOLUTION_640x480; break;
  11. case 600: res = GR_RESOLUTION_800x600; break;
  12. case 720: res = GR_RESOLUTION_960x720; break;
  13. case 768: res = GR_RESOLUTION_1024x768; break;
  14. case 1024: res = GR_RESOLUTION_1280x1024; break;
  15. case 1200: res = GR_RESOLUTION_1600x1200; break;
  16. }
  17. }
  18. else {
  19. ri.Con_Printf(PRINT_ALL, "Attempted to set an invalid display mode, %d!\n",
  20. glide_config.mode->value);
  21. }
  22.  
  23. #if 1
  24. static GrResolution *res_list = NULL;
  25. if (res_list != NULL) {
  26. free(res_list);
  27. }
  28. GrResolution query;
  29. memset(&query, GR_QUERY_ANY, sizeof(GrResolution));
  30. query.resolution = res;
  31. query.refresh = GR_REFRESH_60Hz;
  32. unsigned int size = grQueryResolutions(&query, NULL);
  33. res_list = malloc(size);
  34. grQueryResolutions(&query, res_list);
  35. if (res_list[0].resolution != res) {
  36. res = GR_RESOLUTION_1024x768;
  37. ri.Con_Printf(PRINT_ALL, "Display mode %d (%dx%d) is unsupported by this card!\n",
  38. glide_config.mode->value, w, h);
  39. }
  40. #endif
  41.  
  42. static GrContext_t context = NULL;
  43. if (context != NULL) {
  44. grSstWinClose(context);
  45. context = NULL;
  46. }
  47.  
  48. if ((context = grSstWinOpen(
  49. NULL, res,
  50. GR_REFRESH_60Hz,
  51. GR_COLORFORMAT_RGBA,
  52. GR_ORIGIN_UPPER_LEFT,
  53. 2, 0
  54. )) == NULL) {
  55. ri.Con_Printf(PRINT_ALL, "Failed to create window!\n");
  56. return false;
  57. }
  58.  
  59. return true;
  60. }
Add Comment
Please, Sign In to add comment