|
|
| version 1.1.1.1, 2003/10/16 17:58:47 | version 1.4, 2003/10/21 14:57:41 |
|---|---|
| Line 1 | Line 1 |
| #include "compiler.h" | #include "compiler.h" |
| #include <ddraw.h> | #include <ddraw.h> |
| #ifndef __GNUC__ | |
| #include <winnls32.h> | #include <winnls32.h> |
| #endif | |
| #include "resource.h" | #include "resource.h" |
| #include "np2.h" | #include "np2.h" |
| #include "mousemng.h" | #include "mousemng.h" |
| #include "scrnmng.h" | #include "scrnmng.h" |
| #include "sysmng.h" | #include "sysmng.h" |
| #include "pccore.h" | |
| #include "scrndraw.h" | |
| #include "palettes.h" | |
| #include "dclock.h" | #include "dclock.h" |
| #include "menu.h" | #include "menu.h" |
| #include "scrndraw.h" | |
| #include "palettes.h" | |
| typedef struct { | typedef struct { |
| Line 127 static void renewalclientsize(void) { | Line 128 static void renewalclientsize(void) { |
| else { | else { |
| multiple = scrnstat.multiple; | multiple = scrnstat.multiple; |
| if (!(ddraw.scrnmode & SCRNMODE_ROTATE)) { | if (!(ddraw.scrnmode & SCRNMODE_ROTATE)) { |
| if (np2oscfg.paddingx) { | if ((np2oscfg.paddingx) && (multiple == 8)) { |
| extend = min(scrnstat.extend, ddraw.extend); | extend = min(scrnstat.extend, ddraw.extend); |
| } | } |
| scrnwidth = (width * multiple) >> 3; | scrnwidth = (width * multiple) >> 3; |
| Line 138 static void renewalclientsize(void) { | Line 139 static void renewalclientsize(void) { |
| ddraw.scrn.top = np2oscfg.paddingy; | ddraw.scrn.top = np2oscfg.paddingy; |
| } | } |
| else { | else { |
| if (np2oscfg.paddingy) { | if ((np2oscfg.paddingy) && (multiple == 8)) { |
| extend = min(scrnstat.extend, ddraw.extend); | extend = min(scrnstat.extend, ddraw.extend); |
| } | } |
| scrnwidth = (height * multiple) >> 3; | scrnwidth = (height * multiple) >> 3; |
| Line 229 static void paletteinit(void) { | Line 230 static void paletteinit(void) { |
| GetSystemPaletteEntries(hdc, 0, 256, ddraw.pal); | GetSystemPaletteEntries(hdc, 0, 256, ddraw.pal); |
| ReleaseDC(hWndMain, hdc); | ReleaseDC(hWndMain, hdc); |
| for (i=0; i<4; i++) { | for (i=0; i<4; i++) { |
| ddraw.pal[i+START_PALORG].peBlue = dclock_pal[i].p.b; | ddraw.pal[i+START_PALORG].peBlue = dclockpal.pal32[i].p.b; |
| ddraw.pal[i+START_PALORG].peRed = dclock_pal[i].p.r; | ddraw.pal[i+START_PALORG].peRed = dclockpal.pal32[i].p.r; |
| ddraw.pal[i+START_PALORG].peGreen = dclock_pal[i].p.g; | ddraw.pal[i+START_PALORG].peGreen = dclockpal.pal32[i].p.g; |
| ddraw.pal[i+START_PALORG].peFlags = PC_RESERVED | PC_NOCOLLAPSE; | ddraw.pal[i+START_PALORG].peFlags = PC_RESERVED | PC_NOCOLLAPSE; |
| } | } |
| for (i=0; i<NP2PAL_TOTAL; i++) { | for (i=0; i<NP2PAL_TOTAL; i++) { |
| Line 269 static void make16mask(DWORD bmask, DWOR | Line 270 static void make16mask(DWORD bmask, DWOR |
| ddraw.r16b = sft; | ddraw.r16b = sft; |
| sft = 0; | sft = 0; |
| while((rmask & 0xffffff0) && (sft < 32)) { | while((rmask & 0xffffff00) && (sft < 32)) { |
| rmask >>= 1; | rmask >>= 1; |
| sft++; | sft++; |
| } | } |
| Line 277 static void make16mask(DWORD bmask, DWOR | Line 278 static void make16mask(DWORD bmask, DWOR |
| ddraw.l16r = sft; | ddraw.l16r = sft; |
| sft = 0; | sft = 0; |
| while((gmask & 0xffffff0) && (sft < 32)) { | while((gmask & 0xffffff00) && (sft < 32)) { |
| gmask >>= 1; | gmask >>= 1; |
| sft++; | sft++; |
| } | } |
| Line 445 BOOL scrnmng_create(BYTE scrnmode) { | Line 446 BOOL scrnmng_create(BYTE scrnmode) { |
| else { | else { |
| goto scre_err; | goto scre_err; |
| } | } |
| ddraw.extend = 1; | |
| } | } |
| scrnmng.bpp = (BYTE)bitcolor; | scrnmng.bpp = (BYTE)bitcolor; |
| scrnsurf.bpp = bitcolor; | scrnsurf.bpp = bitcolor; |
| Line 496 void scrnmng_querypalette(void) { | Line 498 void scrnmng_querypalette(void) { |
| } | } |
| } | } |
| UINT16 scrnmng_makepal16(RGB32 pal32) { | RGB16 scrnmng_makepal16(RGB32 pal32) { |
| RGB32 pal; | RGB32 pal; |
| pal.d = pal32.d & ddraw.pal16mask.d; | pal.d = pal32.d & ddraw.pal16mask.d; |
| return((UINT16)((pal.p.g << ddraw.l16g) + | return((RGB16)((pal.p.g << ddraw.l16g) + |
| (pal.p.r << ddraw.l16r) + (pal.p.b >> ddraw.r16b))); | (pal.p.r << ddraw.l16r) + (pal.p.b >> ddraw.r16b))); |
| } | } |
| Line 512 void scrnmng_topwinui(void) { | Line 514 void scrnmng_topwinui(void) { |
| if (scrnmng.flag & SCRNFLAG_FULLSCREEN) { | if (scrnmng.flag & SCRNFLAG_FULLSCREEN) { |
| ddraw.primsurf->SetClipper(ddraw.clipper); | ddraw.primsurf->SetClipper(ddraw.clipper); |
| } | } |
| #ifndef __GNUC__ | |
| WINNLSEnableIME(hWndMain, TRUE); | WINNLSEnableIME(hWndMain, TRUE); |
| #endif | |
| } | } |
| } | } |
| void scrnmng_clearwinui(void) { | void scrnmng_clearwinui(void) { |
| if ((ddraw.cliping > 0) && (!(--ddraw.cliping))) { | if ((ddraw.cliping > 0) && (!(--ddraw.cliping))) { |
| #ifndef __GNUC__ | |
| WINNLSEnableIME(hWndMain, FALSE); | WINNLSEnableIME(hWndMain, FALSE); |
| #endif | |
| if (scrnmng.flag & SCRNFLAG_FULLSCREEN) { | if (scrnmng.flag & SCRNFLAG_FULLSCREEN) { |
| ddraw.primsurf->SetClipper(0); | ddraw.primsurf->SetClipper(0); |
| } | } |
| Line 628 void scrnmng_update(void) { | Line 634 void scrnmng_update(void) { |
| // ---- | // ---- |
| void scrnmng_setmultiple(int multiple) { | |
| if (scrnstat.multiple != multiple) { | |
| scrnstat.multiple = multiple; | |
| renewalclientsize(); | |
| } | |
| } | |
| static const RECT rectclk = {0, 0, DCLOCK_X, DCLOCK_Y}; | static const RECT rectclk = {0, 0, DCLOCK_X, DCLOCK_Y}; |
| void scrnmng_dispclock(void) { | void scrnmng_dispclock(void) { |