void DrawGL (Game & game)
{
- game.DrawGLScene();
+ if ( stereomode == stereoNone ) {
+ game.DrawGLScene(stereoCenter);
+ } else {
+ game.DrawGLScene(stereoLeft);
+ game.DrawGLScene(stereoRight);
+ }
}
opstream << KeyToChar(game.attackkey);
opstream << "\nChat key:\n";
opstream << KeyToChar(game.chatkey);
+ opstream << "\nStereoMode:\n";
+ opstream << stereomode;
+ opstream << "\nStereoSeparation:\n";
+ opstream << stereoseparation;
+ opstream << "\nStereoReverse:\n";
+ opstream << stereoreverse;
opstream.close();
}
if(ipstream){
ipstream.ignore(256,'\n');
ipstream >> string;
game.chatkey=CharToKey(string);
+ ipstream.ignore(256,'\n');
+ ipstream.ignore(256,'\n');
+ if (!ipstream.eof()) {
+ ipstream >> i;
+ stereomode = (StereoMode)i;
+ ipstream.ignore(256,'\n');
+ ipstream.ignore(256,'\n');
+ ipstream >> stereoseparation;
+ ipstream.ignore(256,'\n');
+ ipstream.ignore(256,'\n');
+ ipstream >> stereoreverse;
+ }
ipstream.close();
if(detail>2)detail=2;
SDL_ShowCursor(0);
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
-
+ SDL_GL_SetAttribute(SDL_GL_STENCIL_SIZE, 1);
+
if (SDL_SetVideoMode(kContextWidth, kContextHeight, 0, sdlflags) == NULL)
{
fprintf(stderr, "SDL_SetVideoMode() failed: %s\n", SDL_GetError());
glDisable( GL_FOG);
glDisable( GL_LIGHTING);
glDisable( GL_LOGIC_OP);
- glDisable( GL_STENCIL_TEST);
glDisable( GL_TEXTURE_1D);
glDisable( GL_TEXTURE_2D);
glPixelTransferi( GL_MAP_COLOR, GL_FALSE);
game.newscreenwidth=screenwidth;
game.newscreenheight=screenheight;
+ if ( CanInitStereo(stereomode) ) {
+ InitStereo(stereomode);
+ } else {
+ fprintf(stderr, "Failed to initialize stereo, disabling.\n");
+ stereomode = stereoNone;
+ }
+
game.InitGame();
return true;