ConfigSetDefaultBool(l_ConfigVideoGeneral, "Fullscreen", 0, "Use fullscreen mode if True, or windowed mode if False ");
ConfigSetDefaultInt(l_ConfigVideoGeneral, "ScreenWidth", 640, "Width of output window or fullscreen width");
ConfigSetDefaultInt(l_ConfigVideoGeneral, "ScreenHeight", 480, "Height of output window or fullscreen height");
+#if 1
+ ConfigSetDefaultBool(l_ConfigVideoGeneral, "AspectRatio", 1, "If true, use correct aspect ratio, if false, stretch to fullscreen");
+#endif
ConfigSetDefaultBool(l_ConfigVideoGeneral, "VerticalSync", 0, "If true, activate the SDL_GL_SWAP_CONTROL attribute");
ConfigSetDefaultInt(l_ConfigVideoRice, "FrameBufferSetting", FRM_BUF_NONE, "Frame Buffer Emulation (0=ROM default, 1=disable)");
windowSetting.bDisplayFullscreen = ConfigGetParamBool(l_ConfigVideoGeneral, "Fullscreen");
windowSetting.uDisplayWidth = ConfigGetParamInt(l_ConfigVideoGeneral, "ScreenWidth");
#if 1
- if (windowSetting.uDisplayWidth==800)
- windowSetting.uDisplayWidth = 640; // no strech
+ windowSetting.bDisplayRatio = true;
+ windowSetting.uDisplayX = 0;
+ windowSetting.uDisplayY = 0;
+ windowSetting.bDisplayRatio = ConfigGetParamBool(l_ConfigVideoGeneral, "AspectRatio");
+ if (windowSetting.bDisplayRatio) {
+ if (windowSetting.uDisplayWidth==800) {
+ windowSetting.uDisplayWidth = 640; // no strech
+ windowSetting.uDisplayX = 80;
+ }
+ }
#endif
windowSetting.uDisplayHeight = ConfigGetParamInt(l_ConfigVideoGeneral, "ScreenHeight");
windowSetting.bVerticalSync = ConfigGetParamBool(l_ConfigVideoGeneral, "VerticalSync");
uint32 height = (gRDP.scissor.right*gRDP.scissor.bottom)/width;
glEnable(GL_SCISSOR_TEST);
OPENGL_CHECK_ERRORS;
-/* glScissor(0, int(height*windowSetting.fMultY+windowSetting.statusBarHeightToUse),
- int(width*windowSetting.fMultX), int(height*windowSetting.fMultY) );*/
- glScissor(80, int(height*windowSetting.fMultY+windowSetting.statusBarHeightToUse),
+ glScissor(windowSetting.uDisplayX, windowSetting.uDisplayY+int(height*windowSetting.fMultY+windowSetting.statusBarHeightToUse),
int(width*windowSetting.fMultX), int(height*windowSetting.fMultY) );
OPENGL_CHECK_ERRORS;
}
uint32 height = (gRDP.scissor.right*gRDP.scissor.bottom)/width;
glEnable(GL_SCISSOR_TEST);
OPENGL_CHECK_ERRORS;
-/* glScissor(0, int(height*windowSetting.fMultY+windowSetting.statusBarHeightToUse),
- int(width*windowSetting.fMultX), int(height*windowSetting.fMultY) );*/
- glScissor(80, int(height*windowSetting.fMultY+windowSetting.statusBarHeightToUse),
+ glScissor(windowSetting.uDisplayX, windowSetting.uDisplayY+int(height*windowSetting.fMultY+windowSetting.statusBarHeightToUse),
int(width*windowSetting.fMultX), int(height*windowSetting.fMultY) );
OPENGL_CHECK_ERRORS;
}
else
{
-/* glScissor(int(gRDP.scissor.left*windowSetting.fMultX), int((windowSetting.uViHeight-gRDP.scissor.bottom)*windowSetting.fMultY+windowSetting.statusBarHeightToUse),
- int((gRDP.scissor.right-gRDP.scissor.left)*windowSetting.fMultX), int((gRDP.scissor.bottom-gRDP.scissor.top)*windowSetting.fMultY ));*/
- glScissor(80+int(gRDP.scissor.left*windowSetting.fMultX), int((windowSetting.uViHeight-gRDP.scissor.bottom)*windowSetting.fMultY+windowSetting.statusBarHeightToUse),
+ glScissor(windowSetting.uDisplayX+int(gRDP.scissor.left*windowSetting.fMultX), windowSetting.uDisplayY+int((windowSetting.uViHeight-gRDP.scissor.bottom)*windowSetting.fMultY+windowSetting.statusBarHeightToUse),
int((gRDP.scissor.right-gRDP.scissor.left)*windowSetting.fMultX), int((gRDP.scissor.bottom-gRDP.scissor.top)*windowSetting.fMultY ));
OPENGL_CHECK_ERRORS;
}
glEnable(GL_SCISSOR_TEST);
OPENGL_CHECK_ERRORS;
-/* glScissor(windowSetting.clipping.left, int((windowSetting.uViHeight-gRSP.real_clip_scissor_bottom)*windowSetting.fMultY)+windowSetting.statusBarHeightToUse,
- windowSetting.clipping.width, windowSetting.clipping.height);*/
- glScissor(80+windowSetting.clipping.left, int((windowSetting.uViHeight-gRSP.real_clip_scissor_bottom)*windowSetting.fMultY)+windowSetting.statusBarHeightToUse,
+ glScissor(windowSetting.uDisplayX+windowSetting.clipping.left, windowSetting.uDisplayY+int((windowSetting.uViHeight-gRSP.real_clip_scissor_bottom)*windowSetting.fMultY)+windowSetting.statusBarHeightToUse,
windowSetting.clipping.width, windowSetting.clipping.height);
OPENGL_CHECK_ERRORS;
static GLsizei m_width=0, m_height=0;
static bool mflag=true;
- x+=80;
+ x+=windowSetting.uDisplayX;
+ y+=windowSetting.uDisplayY;
if( x!=mx || y!=my || width!=m_width || height!=m_height || mflag!=flag)
{