|
|
| version 1.1, 2004/08/01 05:31:31 | version 1.9, 2004/08/17 12:30:41 |
|---|---|
| Line 13 | Line 13 |
| #include "extclass.h" | #include "extclass.h" |
| #include "pccore.h" | #include "pccore.h" |
| #include "scrndraw.h" | #include "scrndraw.h" |
| #include "draw.h" | |
| #include "palettes.h" | #include "palettes.h" |
| #include "x1_io.h" | #include "makescrn.h" |
| #include "x1_crtc.h" | |
| typedef struct { | typedef struct { |
| Line 243 static void paletteinit(void) { | Line 241 static void paletteinit(void) { |
| hdc = GetDC(hWndMain); | hdc = GetDC(hWndMain); |
| GetSystemPaletteEntries(hdc, 0, 256, ddraw.pal); | GetSystemPaletteEntries(hdc, 0, 256, ddraw.pal); |
| ReleaseDC(hWndMain, hdc); | ReleaseDC(hWndMain, hdc); |
| for (i=START_PAL; i<(START_PAL + TOTAL_PALS); i++) { | for (i=0; i<XMILPAL_USE; i++) { |
| ddraw.pal[i].peFlags = PC_RESERVED | PC_NOCOLLAPSE; | ddraw.pal[i + START_PAL].peFlags = PC_RESERVED | PC_NOCOLLAPSE; |
| } | } |
| for (i=0; i<4; i++) { | for (i=0; i<4; i++) { |
| ddraw.pal[i+START_PAL+TOTAL_PALS].peBlue = dclock_pal[i].p.b; | ddraw.pal[i + START_PALORG].peBlue = dclockpal.pal32[i].p.b; |
| ddraw.pal[i+START_PAL+TOTAL_PALS].peRed = dclock_pal[i].p.r; | ddraw.pal[i + START_PALORG].peRed = dclockpal.pal32[i].p.r; |
| ddraw.pal[i+START_PAL+TOTAL_PALS].peGreen = dclock_pal[i].p.g; | ddraw.pal[i + START_PALORG].peGreen = dclockpal.pal32[i].p.g; |
| ddraw.pal[i+START_PAL+TOTAL_PALS].peFlags = PC_RESERVED | PC_NOCOLLAPSE; | ddraw.pal[i + START_PALORG].peFlags = PC_RESERVED | PC_NOCOLLAPSE; |
| } | } |
| reflesh_palette(); | pal_reset(); |
| ddraw.ddraw2->CreatePalette(DDPCAPS_8BIT, ddraw.pal, &ddraw.palette, 0); | ddraw.ddraw2->CreatePalette(DDPCAPS_8BIT, ddraw.pal, &ddraw.palette, 0); |
| ddraw.primsurf->SetPalette(ddraw.palette); | ddraw.primsurf->SetPalette(ddraw.palette); |
| scrnmng.palchanged = 0; | scrnmng.palchanged = 0; |
| Line 260 static void paletteinit(void) { | Line 258 static void paletteinit(void) { |
| static void paletteset(void) { | static void paletteset(void) { |
| int i; | UINT i; |
| if ((ddraw.palette != NULL) && (xm_palettes)) { | if ((ddraw.palette != NULL) && (xmil_palettes)) { |
| for (i=0; i<xm_palettes; i++) { | for (i=0; i<xmil_palettes; i++) { |
| ddraw.pal[i+START_PAL].peRed = x1n_pal32[i].p.r; | ddraw.pal[i+START_PAL].peRed = xmil_pal32[i].p.r; |
| ddraw.pal[i+START_PAL].peBlue = x1n_pal32[i].p.b; | ddraw.pal[i+START_PAL].peBlue = xmil_pal32[i].p.b; |
| ddraw.pal[i+START_PAL].peGreen = x1n_pal32[i].p.g; | ddraw.pal[i+START_PAL].peGreen = xmil_pal32[i].p.g; |
| } | } |
| ddraw.palette->SetEntries(0, START_PAL, xm_palettes, | ddraw.palette->SetEntries(0, START_PAL, xmil_palettes, |
| &ddraw.pal[START_PAL]); | &ddraw.pal[START_PAL]); |
| } | } |
| } | } |
| Line 404 BRESULT scrnmng_create(UINT8 mode) { | Line 402 BRESULT scrnmng_create(UINT8 mode) { |
| } | } |
| else { | else { |
| make16mask(ddpf.dwBBitMask, ddpf.dwRBitMask, ddpf.dwGBitMask); | make16mask(ddpf.dwBBitMask, ddpf.dwRBitMask, ddpf.dwGBitMask); |
| scrndraw_changepalette(); // 呼ぶ必要あるの? | |
| reflesh_palette(); | |
| dclock_init16(); | dclock_init16(); |
| } | } |
| Line 458 BRESULT scrnmng_create(UINT8 mode) { | Line 454 BRESULT scrnmng_create(UINT8 mode) { |
| } | } |
| else if (bitcolor == 16) { | else if (bitcolor == 16) { |
| make16mask(ddpf.dwBBitMask, ddpf.dwRBitMask, ddpf.dwGBitMask); | make16mask(ddpf.dwBBitMask, ddpf.dwRBitMask, ddpf.dwGBitMask); |
| reflesh_palette(); | |
| } | } |
| else if (bitcolor == 24) { | else if (bitcolor == 24) { |
| reflesh_palette(); | |
| } | } |
| else if (bitcolor == 32) { | else if (bitcolor == 32) { |
| reflesh_palette(); | |
| } | } |
| else { | else { |
| goto scre_err; | goto scre_err; |
| Line 473 BRESULT scrnmng_create(UINT8 mode) { | Line 466 BRESULT scrnmng_create(UINT8 mode) { |
| scrnmng.bpp = (UINT8)bitcolor; | scrnmng.bpp = (UINT8)bitcolor; |
| scrnsurf.bpp = bitcolor; | scrnsurf.bpp = bitcolor; |
| ddraw.scrnmode = mode; | ddraw.scrnmode = mode; |
| ddraw.width = SCREEN_WIDTH; | ddraw.width = SURFACE_WIDTH; |
| ddraw.height = height; | ddraw.height = height; |
| ddraw.cliping = 0; | ddraw.cliping = 0; |
| renewalclientsize(FALSE); | renewalclientsize(FALSE); |
| Line 642 void clearblanklines(DWORD posx, DWORD p | Line 635 void clearblanklines(DWORD posx, DWORD p |
| fillrect.left = posx; | fillrect.left = posx; |
| fillrect.top = posy + ddraw.rect.bottom; | fillrect.top = posy + ddraw.rect.bottom; |
| fillrect.right = posx + SCREEN_WIDTH; | fillrect.right = posx + SURFACE_WIDTH; |
| fillrect.bottom = posy + SCREEN_HEIGHT; | fillrect.bottom = posy + SURFACE_HEIGHT; |
| ZeroMemory(&ddbf, sizeof(ddbf)); | ZeroMemory(&ddbf, sizeof(ddbf)); |
| ddbf.dwSize = sizeof(ddbf); | ddbf.dwSize = sizeof(ddbf); |
| Line 748 void scrnmng_dispclock(void) { | Line 741 void scrnmng_dispclock(void) { |
| DDSURFACEDESC dest; | DDSURFACEDESC dest; |
| if ((ddraw.clocksurf) && (dclock_disp())) { | if ((ddraw.clocksurf) && |
| (ddraw.scrn.top >= DCLOCK_Y) && (dclock_disp())) { | |
| dclock_make(); | dclock_make(); |
| ZeroMemory(&dest, sizeof(dest)); | ZeroMemory(&dest, sizeof(dest)); |
| dest.dwSize = sizeof(dest); | dest.dwSize = sizeof(dest); |
| Line 762 void scrnmng_dispclock(void) { | Line 756 void scrnmng_dispclock(void) { |
| ddraw.clocksurf->Unlock(NULL); | ddraw.clocksurf->Unlock(NULL); |
| } | } |
| if (ddraw.primsurf->BltFast(640 - DCLOCK_X - 4, | if (ddraw.primsurf->BltFast(640 - DCLOCK_X - 4, |
| 480 - DCLOCK_Y - 8, | ddraw.height - DCLOCK_Y, |
| ddraw.clocksurf, (RECT *)&rectclk, | ddraw.clocksurf, (RECT *)&rectclk, |
| DDBLTFAST_WAIT) == DDERR_SURFACELOST) { | DDBLTFAST_WAIT) == DDERR_SURFACELOST) { |
| ddraw.primsurf->Restore(); | ddraw.primsurf->Restore(); |
| ddraw.clocksurf->Restore(); | ddraw.clocksurf->Restore(); |
| } | } |
| dclock_cntdown(xmilcfg.DRAW_SKIP); | dclock_cntdown(xmiloscfg.DRAW_SKIP); |
| } | } |
| } | } |