|
|
| version 1.4, 2003/12/01 03:38:52 | version 1.7, 2004/02/18 02:03:37 |
|---|---|
| Line 11 | Line 11 |
| #endif | #endif |
| #if defined(GX_DLL) | |
| #pragma comment(lib, "gx.lib") | |
| #endif | |
| typedef struct { | typedef struct { |
| BOOL rotate; | BOOL rotate; |
| VRAMHDL vram; | VRAMHDL vram; |
| Line 39 static SCRNSTAT scrnstat; | Line 44 static SCRNSTAT scrnstat; |
| static SCRNSURF scrnsurf; | static SCRNSURF scrnsurf; |
| static BYTE gx_disable = 1; | static BYTE gx_disable = 1; |
| extern GXKeyList gx_keylist; | |
| static const TCHAR errmsg[] = STRLITERAL("Error"); | static const TCHAR errmsg[] = STRLITERAL("Error"); |
| Line 145 b16d_err: | Line 151 b16d_err: |
| return; | return; |
| } | } |
| void scrnmng_keybinds(struct GXKeyList *gxkey) { | |
| short tmp; | |
| if (scrnmng.rotate) { | |
| tmp = gxkey->vkLeft; | |
| gxkey->vkLeft = gxkey->vkDown; | |
| gxkey->vkDown = gxkey->vkRight; | |
| gxkey->vkRight = gxkey->vkUp; | |
| gxkey->vkUp = tmp; | |
| } | |
| } | |
| // ---- | // ---- |
| Line 257 RGB16 scrnmng_makepal16(RGB32 pal32) { | Line 250 RGB16 scrnmng_makepal16(RGB32 pal32) { |
| RGB16 ret; | RGB16 ret; |
| ret = (pal32.p.r & 0xf8) << 8; | ret = (pal32.p.r & 0xf8) << 8; |
| #if defined(SIZE_QVGA) | #if defined(SIZE_QVGA) && !defined(SIZE_VGATEST) |
| ret += (pal32.p.g & 0xfc) << (3 + 16); | ret += (pal32.p.g & 0xfc) << (3 + 16); |
| #else | #else |
| ret += (pal32.p.g & 0xfc) << 3; | ret += (pal32.p.g & 0xfc) << 3; |
| Line 291 const SCRNSURF *scrnmng_surflock(void) { | Line 284 const SCRNSURF *scrnmng_surflock(void) { |
| scrnsurf.xalign = 2; | scrnsurf.xalign = 2; |
| scrnsurf.yalign = scrnmng.vram->yalign; | scrnsurf.yalign = scrnmng.vram->yalign; |
| } | } |
| #if !defined(SIZE_VGATEST) | |
| scrnsurf.width = min(scrnstat.width, 640); | scrnsurf.width = min(scrnstat.width, 640); |
| scrnsurf.height = min(scrnstat.height, 400); | scrnsurf.height = min(scrnstat.height, 400); |
| #else | |
| scrnsurf.width = min(scrnstat.width, 320); | |
| scrnsurf.height = min(scrnstat.height, 200); | |
| #endif | |
| scrnsurf.bpp = 16; | scrnsurf.bpp = 16; |
| scrnsurf.extend = 0; | scrnsurf.extend = 0; |
| return(&scrnsurf); | return(&scrnsurf); |
| Line 407 BOOL scrnmng_mousepos(LPARAM *lp) { | Line 405 BOOL scrnmng_mousepos(LPARAM *lp) { |
| return(SUCCESS); | return(SUCCESS); |
| } | } |
| void scrnmng_clear(BOOL logo) { | |
| BMPFILE *bf; | |
| BYTE *p; | |
| BYTE *q; | |
| int y; | |
| int x; | |
| long yalign; | |
| if (gx_disable) { | |
| return; | |
| } | |
| bf = NULL; | |
| if (logo) { | |
| bf = (BMPFILE *)bmpdata_solvedata(nekop2_bmp); | |
| } | |
| p = (BYTE *)GXBeginDraw(); | |
| q = p; | |
| y = gx_dp.cyHeight; | |
| yalign = gx_dp.cbyPitch - (gx_dp.cbxPitch * gx_dp.cxWidth); | |
| do { | |
| x = gx_dp.cxWidth; | |
| do { | |
| *(UINT16 *)q = 0; | |
| q += gx_dp.cbxPitch; | |
| } while(--x); | |
| q += yalign; | |
| } while(--y); | |
| bmp16draw(bf, p + scrnmng.start, scrnmng.width, scrnmng.height, | |
| scrnmng.xalign, scrnmng.yalign); | |
| GXEndDraw(); | |
| if (bf) { | |
| _MFREE(bf); | |
| } | |
| } | |
| void scrnmng_keybinds(void) { | |
| short tmp; | |
| if (scrnmng.rotate) { | |
| tmp = gx_keylist.vkLeft; | |
| gx_keylist.vkLeft = gx_keylist.vkDown; | |
| gx_keylist.vkDown = gx_keylist.vkRight; | |
| gx_keylist.vkRight = gx_keylist.vkUp; | |
| gx_keylist.vkUp = tmp; | |
| } | |
| } | |
| // ---- for menubase | // ---- for menubase |
| Line 483 const BYTE *q; | Line 530 const BYTE *q; |
| GXEndDraw(); | GXEndDraw(); |
| } | } |
| // ---- clear | |
| void scrnmng_clear(BOOL logo) { | |
| BMPFILE *bf; | |
| BYTE *p; | |
| BYTE *q; | |
| int y; | |
| int x; | |
| long yalign; | |
| if (gx_disable) { | |
| return; | |
| } | |
| bf = NULL; | |
| if (logo) { | |
| bf = (BMPFILE *)bmpdata_solvedata(nekop2_bmp); | |
| } | |
| p = (BYTE *)GXBeginDraw(); | |
| q = p; | |
| y = gx_dp.cyHeight; | |
| yalign = gx_dp.cbyPitch - (gx_dp.cbxPitch * gx_dp.cxWidth); | |
| do { | |
| x = gx_dp.cxWidth; | |
| do { | |
| *(UINT16 *)q = 0; | |
| q += gx_dp.cbxPitch; | |
| } while(--x); | |
| q += yalign; | |
| } while(--y); | |
| bmp16draw(bf, p + scrnmng.start, scrnmng.width, scrnmng.height, | |
| scrnmng.xalign, scrnmng.yalign); | |
| GXEndDraw(); | |
| if (bf) { | |
| _MFREE(bf); | |
| } | |
| } | |