--- a/src/video/os2fslib/SDL_os2fslib.c Sat Mar 18 18:41:59 2006 +0000
+++ b/src/video/os2fslib/SDL_os2fslib.c Sat Mar 18 22:42:09 2006 +0000
@@ -2725,8 +2725,8 @@
}
/* Determine the current screen size */
- _this->info.current_w = 0; // FIXME!
- _this->info.current_h = 0; // FIXME!
+ _this->info.current_w = pDesktopMode->uiXResolution;
+ _this->info.current_h = pDesktopMode->uiYResolution;
/* Determine the screen depth */
vformat->BitsPerPixel = pDesktopMode->uiBPP;
--- a/src/video/riscos/SDL_riscosvideo.c Sat Mar 18 18:41:59 2006 +0000
+++ b/src/video/riscos/SDL_riscosvideo.c Sat Mar 18 22:42:09 2006 +0000
@@ -162,6 +162,7 @@
int RISCOS_VideoInit(_THIS, SDL_PixelFormat *vformat)
{
_kernel_swi_regs regs;
+ int vars[4], vals[3];
if (RISCOS_InitTask() == 0)
{
@@ -169,15 +170,19 @@
return 0;
}
- regs.r[0] = -1; /* Current mode */
- regs.r[1] = 9; /* Log base 2 bpp */
+ vars[0] = 9; /* Log base 2 bpp */
+ vars[1] = 11; /* XWndLimit - num x pixels -1 */
+ vars[2] = 12; /* YWndLimit - num y pixels -1 */
+ vars[3] = -1; /* Terminate list */
+ regs.r[0] = (int)vars;
+ regs.r[1] = (int)vals;
- _kernel_swi(OS_ReadModeVariable, ®s, ®s);
- vformat->BitsPerPixel = (1 << regs.r[2]);
+ _kernel_swi(OS_ReadVduVariables, ®s, ®s);
+ vformat->BitsPerPixel = (1 << vals[0]);
/* Determine the current screen size */
- this->info.current_w = 0; /* FIXME! */
- this->info.current_h = 0; /* FIXME! */
+ this->info.current_w = vals[1] + 1;
+ this->info.current_h = vals[2] + 1;
/* Minimum bpp for SDL is 8 */
if (vformat->BitsPerPixel < 8) vformat->BitsPerPixel = 8;