--- np2/win9x/scrnmng.cpp 2003/11/07 20:07:58 1.11 +++ np2/win9x/scrnmng.cpp 2004/05/21 14:09:27 1.16 @@ -28,15 +28,15 @@ typedef struct { LPDIRECTDRAWSURFACE clocksurf; LPDIRECTDRAWCLIPPER clipper; LPDIRECTDRAWPALETTE palette; - BYTE scrnmode; + UINT scrnmode; int width; int height; int extend; int cliping; RGB32 pal16mask; - BYTE r16b; - BYTE l16r; - BYTE l16g; + UINT8 r16b; + UINT8 l16r; + UINT8 l16g; BYTE menudisp; int menusize; RECT scrn; @@ -385,15 +385,14 @@ BOOL scrnmng_create(BYTE scrnmode) { if (scrnmode & SCRNMODE_FULLSCREEN) { dclock_init(); -#if 1 ddraw2->SetCooperativeLevel(hWndMain, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN); -#else - ddraw2->SetCooperativeLevel(hWndMain, - DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN | DDSCL_ALLOWREBOOT); -#endif height = (np2oscfg.force400)?400:480; +#if !defined(SUPPORT_PC9821) bitcolor = (scrnmode & SCRNMODE_HIGHCOLOR)?16:8; +#else + bitcolor = 16; +#endif if (ddraw2->SetDisplayMode(640, height, bitcolor, 0, 0) != DD_OK) { goto scre_err; } @@ -483,7 +482,11 @@ BOOL scrnmng_create(BYTE scrnmode) { } bitcolor = ddpf.dwRGBBitCount; if (bitcolor == 8) { +#if !defined(SUPPORT_PC9821) paletteinit(); +#else + goto scre_err; +#endif } else if (bitcolor == 16) { make16mask(ddpf.dwBBitMask, ddpf.dwRBitMask, ddpf.dwGBitMask); @@ -497,7 +500,7 @@ BOOL scrnmng_create(BYTE scrnmode) { } ddraw.extend = 1; } - scrnmng.bpp = (BYTE)bitcolor; + scrnmng.bpp = (UINT8)bitcolor; scrnsurf.bpp = bitcolor; ddraw.scrnmode = scrnmode; ddraw.width = 640; @@ -617,7 +620,7 @@ void scrnmng_clearwinui(void) { else { if (np2oscfg.wintype) { np2class_enablemenu(hWndMain, FALSE); - scrnmng_update(); // °ì±þ¡Ä + InvalidateRect(hWndMain, NULL, TRUE); } } mousemng_enable(MOUSEPROC_WINUI); @@ -632,6 +635,7 @@ void scrnmng_setwidth(int posx, int widt void scrnmng_setextend(int extend) { scrnstat.extend = extend; + scrnmng.allflash = TRUE; renewalclientsize(TRUE); }