Ticket #8116: sdl_gl.diff

File sdl_gl.diff, 2.4 KB (added by SF/luke_br, 21 years ago)

more OpenGL GFX modes

Line 
137c37
2< OSystem_SDL_Normal() : sdl_tmpscreen(0), sdl_hwscreen(0), _overlay_visible(false) { _glScreenStart = 0; }
3---
4> OSystem_SDL_Normal() : sdl_tmpscreen(0), sdl_hwscreen(0), _overlay_visible(false) { _glScreenStart = 0; _glBilinearFilter = true; }
558a59
6> bool _glBilinearFilter;
7264,265d264
8< fprintf(stderr,"bits: %d\n",sdl_tmpscreen->format->BitsPerPixel);
9<
10364a364
11> tmpBlackRect.h = 256-_screenHeight-_glScreenStart-_currentShakePos;
12367c367
13< fb2gl.blit16(tmpSurface,1,&tmpBlackRect,0,_screenHeight+_glScreenStart);
14---
15> fb2gl.blit16(tmpSurface,1,&tmpBlackRect,0,_screenHeight+_glScreenStart+_currentShakePos);
16411,420d410
17< if (value->gfx_mode==0) {
18< fb2gl.init(0,0,0,15,gl_flags);
19< _glScreenStart = 20;
20< SDL_FillRect(tmpSurface,&tmpBlackRect,0);
21< fb2gl.blit16(tmpSurface,1,&tmpBlackRect,0,0);
22< }
23< else {
24< fb2gl.init(0,0,0,70,gl_flags);
25< _glScreenStart = 0;
26< }
27421a412,457
28> glPopMatrix();
29>
30> switch(value->gfx_mode) {
31> case 0: // Bilinear Filtering (on/off)
32> _glBilinearFilter ^= true;
33> for (int i=0; i<2; i++) {
34> glBindTexture(GL_TEXTURE_2D,i);
35> if (_glBilinearFilter) {
36> glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER,
37> GL_LINEAR);
38> glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,
39> GL_LINEAR);
40> }
41> else {
42> glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER,
43> GL_NEAREST);
44> glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,
45> GL_NEAREST);
46> }
47> }
48> break;
49> case 1: // Don't fit the whole screen
50> fb2gl.init(0,0,0,15,gl_flags);
51> _glScreenStart = 20;
52> SDL_FillRect(tmpSurface,&tmpBlackRect,0);
53> fb2gl.blit16(tmpSurface,1,&tmpBlackRect,0,0);
54> break;
55> case 2: // Fit the whole screen
56> fb2gl.init(0,0,0,70,gl_flags);
57> _glScreenStart = 0;
58> break;
59> default: // Zooming
60> glPushMatrix();
61> /* SDL_FillRect(tmpSurface, &full, 0);
62> fb2gl.blit16(tmpSurface,1,&full,0,_glScreenStart);
63> fb2gl.display();
64> double x = (double)((_mouse_cur_state.x)
65> - (_screenWidth/2)) / (_screenWidth/2);
66> double y = (double)((_mouse_cur_state.y)
67> - (_screenHeight/2)) / (_screenHeight/2);
68> glTranslatef(-x,y,0);
69> */
70> glScalef(1.0+(double)(value->gfx_mode-1)/10,
71> 1.0+(double)(value->gfx_mode-1)/10,
72> 0);
73> };
74423a460
75>