|
|
| version 1.4, 2004/02/13 20:31:55 | version 1.6, 2005/02/07 14:46:15 |
|---|---|
| Line 21 typedef struct { | Line 21 typedef struct { |
| LPDIRECTDRAWSURFACE backsurf; | LPDIRECTDRAWSURFACE backsurf; |
| LPDIRECTDRAWCLIPPER clipper; | LPDIRECTDRAWCLIPPER clipper; |
| LPDIRECTDRAWPALETTE palette; | LPDIRECTDRAWPALETTE palette; |
| UINT8 enable; | |
| UINT8 scrnmode; | UINT8 scrnmode; |
| int width; | int width; |
| int height; | int height; |
| Line 248 static void paletteset(void) { | Line 249 static void paletteset(void) { |
| #if defined(SUPPORT_16BPP) | #if defined(SUPPORT_16BPP) |
| static void make16mask(DWORD bmask, DWORD rmask, DWORD gmask) { | static void make16mask(DWORD bmask, DWORD rmask, DWORD gmask) { |
| BYTE sft; | UINT8 sft; |
| sft = 0; | sft = 0; |
| while((!(bmask & 0x80)) && (sft < 32)) { | while((!(bmask & 0x80)) && (sft < 32)) { |
| bmask <<= 1; | bmask <<= 1; |
| sft++; | sft++; |
| } | } |
| ddraw.pal16mask.p.b = (BYTE)bmask; | ddraw.pal16mask.p.b = (UINT8)bmask; |
| ddraw.r16b = sft; | ddraw.r16b = sft; |
| sft = 0; | sft = 0; |
| Line 263 static void make16mask(DWORD bmask, DWOR | Line 264 static void make16mask(DWORD bmask, DWOR |
| rmask >>= 1; | rmask >>= 1; |
| sft++; | sft++; |
| } | } |
| ddraw.pal16mask.p.r = (BYTE)rmask; | ddraw.pal16mask.p.r = (UINT8)rmask; |
| ddraw.l16r = sft; | ddraw.l16r = sft; |
| sft = 0; | sft = 0; |
| Line 271 static void make16mask(DWORD bmask, DWOR | Line 272 static void make16mask(DWORD bmask, DWOR |
| gmask >>= 1; | gmask >>= 1; |
| sft++; | sft++; |
| } | } |
| ddraw.pal16mask.p.g = (BYTE)gmask; | ddraw.pal16mask.p.g = (UINT8)gmask; |
| ddraw.l16g = sft; | ddraw.l16g = sft; |
| } | } |
| #endif | #endif |
| Line 328 BOOL scrnmng_create(UINT8 scrnmode) { | Line 329 BOOL scrnmng_create(UINT8 scrnmode) { |
| ddraw.ddraw1->QueryInterface(IID_IDirectDraw2, (void **)&ddraw2); | ddraw.ddraw1->QueryInterface(IID_IDirectDraw2, (void **)&ddraw2); |
| ddraw.ddraw2 = ddraw2; | ddraw.ddraw2 = ddraw2; |
| #if defined(SUPPORT_PC9821) | |
| scrnmode |= SCRNMODE_HIGHCOLOR; | |
| #endif | |
| if (scrnmode & SCRNMODE_FULLSCREEN) { | if (scrnmode & SCRNMODE_FULLSCREEN) { |
| ddraw2->SetCooperativeLevel(hWndMain, | ddraw2->SetCooperativeLevel(hWndMain, |
| DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN | DDSCL_ALLOWREBOOT); | DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN | DDSCL_ALLOWREBOOT); |
| Line 452 BOOL scrnmng_create(UINT8 scrnmode) { | Line 456 BOOL scrnmng_create(UINT8 scrnmode) { |
| else { | else { |
| goto scre_err; | goto scre_err; |
| } | } |
| scrnmng.bpp = (BYTE)bitcolor; | scrnmng.bpp = (UINT8)bitcolor; |
| scrnsurf.bpp = bitcolor; | scrnsurf.bpp = bitcolor; |
| ddraw.enable = TRUE; | |
| ddraw.scrnmode = scrnmode; | ddraw.scrnmode = scrnmode; |
| ddraw.width = 640; | ddraw.width = 640; |
| ddraw.height = 480; | ddraw.height = 480; |
| Line 566 const SCRNSURF *scrnmng_surflock(void) { | Line 571 const SCRNSURF *scrnmng_surflock(void) { |
| return(NULL); | return(NULL); |
| } | } |
| if (!(ddraw.scrnmode & SCRNMODE_ROTATE)) { | if (!(ddraw.scrnmode & SCRNMODE_ROTATE)) { |
| scrnsurf.ptr = (BYTE *)destscrn.lpSurface; | scrnsurf.ptr = (UINT8 *)destscrn.lpSurface; |
| scrnsurf.xalign = scrnsurf.bpp >> 3; | scrnsurf.xalign = scrnsurf.bpp >> 3; |
| scrnsurf.yalign = destscrn.lPitch; | scrnsurf.yalign = destscrn.lPitch; |
| } | } |
| else if (!(ddraw.scrnmode & SCRNMODE_ROTATEDIR)) { | else if (!(ddraw.scrnmode & SCRNMODE_ROTATEDIR)) { |
| scrnsurf.ptr = (BYTE *)destscrn.lpSurface; | scrnsurf.ptr = (UINT8 *)destscrn.lpSurface; |
| scrnsurf.ptr += (scrnsurf.width - 1) * destscrn.lPitch; | scrnsurf.ptr += (scrnsurf.width - 1) * destscrn.lPitch; |
| scrnsurf.xalign = 0 - destscrn.lPitch; | scrnsurf.xalign = 0 - destscrn.lPitch; |
| scrnsurf.yalign = scrnsurf.bpp >> 3; | scrnsurf.yalign = scrnsurf.bpp >> 3; |
| } | } |
| else { | else { |
| scrnsurf.ptr = (BYTE *)destscrn.lpSurface; | scrnsurf.ptr = (UINT8 *)destscrn.lpSurface; |
| scrnsurf.ptr += (scrnsurf.height - 1) * (scrnsurf.bpp >> 3); | scrnsurf.ptr += (scrnsurf.height - 1) * (scrnsurf.bpp >> 3); |
| scrnsurf.xalign = destscrn.lPitch; | scrnsurf.xalign = destscrn.lPitch; |
| scrnsurf.yalign = 0 - (scrnsurf.bpp >> 3); | scrnsurf.yalign = 0 - (scrnsurf.bpp >> 3); |
| Line 635 void scrnmng_update(void) { | Line 640 void scrnmng_update(void) { |
| } | } |
| } | } |
| void scrnmng_restoresize(void) { | |
| if ((ddraw.enable) && (!(ddraw.scrnmode & SCRNMODE_FULLSCREEN))) { | |
| renewalclientsize(); | |
| } | |
| } | |