- Heavily modified patch #1214784: "Disable overlay scaling"

- Eriktorbjorn's patch from same tracker item for scaling sword1/2 cutscenes
  is applied as is. It lacks resolution switch on-the-fly.
- GUI widgets are repositioned on the fly and use most space, even aspect
  ratio corrected screen is used without scaling
- Heavy tesing is required, but works for me in all cases except for bug
  #1483272: "GUI: SCUMM pause dialog breaks upon scaler switch" which needs more
  work.
- I probavly broke some backend or two

svn-id: r22505
This commit is contained in:
Eugene Sandulenko 2006-05-17 23:52:45 +00:00
parent 65091f7370
commit 14ec3f45fa
36 changed files with 355 additions and 223 deletions

View file

@ -132,20 +132,19 @@ OSystem_PSP_GU::~OSystem_PSP_GU()
sceGuTerm();
}
void OSystem_PSP_GU::initSize(uint width, uint height, int overlayScale) {
void OSystem_PSP_GU::initSize(uint width, uint height) {
PSPDebugTrace("initSize\n");
_screenWidth = width;
_screenHeight = height;
// _offscreen = (byte *)offscreen256;
_overlayBuffer = (OverlayColor *)0x44000000 + PSP_FRAME_SIZE;
if(overlayScale == -1 || width == 640)
overlayScale = 1;
_overlayScale = overlayScale;
_offscreen = (unsigned byte *)_overlayBuffer+_screenWidth*_screenHeight*_overlayScale*_overlayScale*sizeof(OverlayColor);
// FIXME: This is not needed anymore
_overlayScale = 1;
_offscreen = (unsigned byte *)_overlayBuffer+_screenWidth*_screenHeight*sizeof(OverlayColor);
bzero(_offscreen, width * height);
bzero(_overlayBuffer, width * overlayScale * height * overlayScale);
bzero(_overlayBuffer, width * height);
_kbdClut[0] = 0xffff;
_kbdClut[246] = 0x4ccc;
_kbdClut[247] = 0x0000;