Compare commits
1 Commits
v0.0.1-alp
...
v0.0.2-alp
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1d5ebf4867 |
16
HISTORY
16
HISTORY
@@ -0,0 +1,16 @@
|
||||
2000/9/27(<28><>)
|
||||
|
||||
Wonx-a02 <20><><EFBFBD><EFBFBD>
|
||||
|
||||
<EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>δؿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>¹Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>ˡ<EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>餺ʸ<E9A4BA><CAB8><EFBFBD><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><CAA4><EFBFBD>)
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߥʥ<EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>褦<EFBFBD>ˤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɥ<EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
|
||||
|
||||
2000/9/26(<28><>)
|
||||
|
||||
Wonx-a01 <20><><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
4
Makefile
4
Makefile
@@ -2,8 +2,8 @@ XINCLUDEDIR = /usr/X11R6/include
|
||||
INCLUDEDIR = .
|
||||
XLIBDIR = /usr/X11R6/lib
|
||||
|
||||
VERSION = Wonx-a01
|
||||
PKGNAME = wonx-a01
|
||||
VERSION = Wonx-a02
|
||||
PKGNAME = wonx-a02
|
||||
|
||||
OBJS = WWCharacter.o WWColorMap.o WWDisplay.o WWLCDPanel.o WWPalette.o WWScreen.o WWSprite.o WonxDisplay.o XDisplay.o bank.o comm.o disp.o text.o key.o sound.o system.o timer.o etc.o wonx.o
|
||||
|
||||
|
||||
46
WWDisplay.c
46
WWDisplay.c
@@ -20,14 +20,10 @@ WWSprite WWDisplay_GetSprite(WWDisplay d, int n) { return (d->sprite[n]); }
|
||||
WWScreen WWDisplay_GetScreen(WWDisplay d, int n) { return (d->screen[n]); }
|
||||
WWLCDPanel WWDisplay_GetLCDPanel(WWDisplay d) { return (d->lcd_panel); }
|
||||
|
||||
int WWDisplay_GetScreenEnable(WWDisplay d, int n)
|
||||
{ return (d->screen_enable[n]); }
|
||||
int WWDisplay_GetSpriteEnable(WWDisplay d) { return (d->sprite_enable); }
|
||||
int WWDisplay_GetSpriteWindowEnable(WWDisplay d)
|
||||
{ return (d->sprite_window_enable); }
|
||||
|
||||
int WWDisplay_GetScreen2WindowMode(WWDisplay d)
|
||||
{ return (d->screen2_window_mode); }
|
||||
int WWDisplay_GetBorder(WWDisplay d) { return (d->border); }
|
||||
|
||||
int WWDisplay_GetForegroundColor(WWDisplay d) { return (d->foreground_color); }
|
||||
@@ -53,15 +49,11 @@ WWScreen WWDisplay_SetScreen(WWDisplay d, int n, WWScreen s)
|
||||
WWLCDPanel WWDisplay_SetLCDPanel(WWDisplay d, WWLCDPanel p)
|
||||
{ return (d->lcd_panel = p); }
|
||||
|
||||
int WWDisplay_SetScreenEnable(WWDisplay d, int n, int f)
|
||||
{ return (d->screen_enable[n] = f); }
|
||||
int WWDisplay_SetSpriteEnable(WWDisplay d, int f)
|
||||
{ return (d->sprite_enable = f); }
|
||||
int WWDisplay_SetSpriteWindowEnable(WWDisplay d, int f)
|
||||
{ return (d->sprite_window_enable = f); }
|
||||
|
||||
int WWDisplay_SetScreen2WindowMode(WWDisplay d, int mode)
|
||||
{ return (d->screen2_window_mode = mode); }
|
||||
int WWDisplay_SetBorder(WWDisplay d, int b) { return (d->border = b); }
|
||||
|
||||
int WWDisplay_SetForegroundColor(WWDisplay d, int c)
|
||||
@@ -109,18 +101,17 @@ WWDisplay WWDisplay_Create(int lcd_panel_width, int lcd_panel_height,
|
||||
WWDisplay_SetScreen(display, i,
|
||||
WWScreen_Create(i, screen_width, screen_height,
|
||||
WWDisplay_GetPalette(display, 0),
|
||||
WWDisplay_GetCharacter(display, 0)));
|
||||
WWDisplay_GetCharacter(display, 0),
|
||||
0, 0,
|
||||
lcd_panel_width, lcd_panel_height));
|
||||
}
|
||||
|
||||
WWDisplay_SetLCDPanel(display, WWLCDPanel_Create(lcd_panel_width,
|
||||
lcd_panel_height));
|
||||
|
||||
WWDisplay_SetScreenEnable(display, 0, 0);
|
||||
WWDisplay_SetScreenEnable(display, 1, 0);
|
||||
WWDisplay_SetSpriteEnable(display, 0);
|
||||
WWDisplay_SetSpriteWindowEnable(display, 0);
|
||||
|
||||
WWDisplay_SetScreen2WindowMode(display, 0);
|
||||
WWDisplay_SetBorder(display, 0);
|
||||
|
||||
WWDisplay_SetForegroundColor(display, 3);
|
||||
@@ -189,16 +180,47 @@ static int WWDisplay_DrawScreen(WWDisplay display, WWScreen screen)
|
||||
|
||||
int pixel;
|
||||
int x, y, px, py;
|
||||
int sx, sy, ex, ey;
|
||||
int mode;
|
||||
|
||||
if (!WWScreen_GetEnable(screen)) return (0);
|
||||
|
||||
lcd_panel = WWDisplay_GetLCDPanel(display);
|
||||
lcd_panel_width = WWLCDPanel_GetWidth( lcd_panel);
|
||||
lcd_panel_height = WWLCDPanel_GetHeight(lcd_panel);
|
||||
|
||||
if ( (WWScreen_GetMode(screen) == WWSCREEN_INSIDE_ONLY) ||
|
||||
(WWScreen_GetMode(screen) == WWSCREEN_OUTSIDE_ONLY) ) {
|
||||
sx = WWScreen_GetDrawX(screen);
|
||||
sy = WWScreen_GetDrawX(screen);
|
||||
ex = sx + WWScreen_GetDrawWidth( screen) - 1;
|
||||
ey = sy + WWScreen_GetDrawHeight(screen) - 1;
|
||||
}
|
||||
|
||||
mode = WWScreen_GetMode(screen);
|
||||
|
||||
/* <20>ʲ<EFBFBD><CAB2>ϥۥåȥ<C3A5><C8A5>ݥåȤˤʤ<CBA4><CAA4>Τǡ<CEA4><C7A1><EFBFBD><EFBFBD>Τ<EFBFBD><CEA4><EFBFBD><EFBFBD>롼<EFBFBD>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>ۤ<EFBFBD><DBA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
|
||||
for (y = 0; y < lcd_panel_height; y++) {
|
||||
for (x = 0; x < lcd_panel_width; x++) {
|
||||
px = x + WWScreen_GetRollX(screen);
|
||||
py = y + WWScreen_GetRollY(screen);
|
||||
|
||||
if (mode == WWSCREEN_INSIDE_ONLY) {
|
||||
if (y > ey) {
|
||||
x = lcd_panel_width - 1; y = lcd_panel_height - 1; continue;
|
||||
}
|
||||
if (y < sy) { x = lcd_panel_width - 1; y = sy - 1; continue; }
|
||||
if (x > ex) { x = lcd_panel_width - 1; continue; }
|
||||
if (x < sx) { x = sx - 1; continue; }
|
||||
} else if (mode == WWSCREEN_OUTSIDE_ONLY) {
|
||||
if ( (x >= sx) && (x <= ex) && (y >= sy) && (y <= ey) ) {
|
||||
x = ex;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
pixel = WWScreen_GetPixel(screen, px, py);
|
||||
|
||||
/* Ʃ<><C6A9><EFBFBD><EFBFBD><EFBFBD>ξ<EFBFBD><CEBE><EFBFBD> */
|
||||
|
||||
@@ -32,11 +32,9 @@ WWCharacter WWDisplay_GetCharacter(WWDisplay d, int n);
|
||||
WWSprite WWDisplay_GetSprite(WWDisplay d, int n);
|
||||
WWScreen WWDisplay_GetScreen(WWDisplay d, int n);
|
||||
WWLCDPanel WWDisplay_GetLCDPanel(WWDisplay d);
|
||||
int WWDisplay_GetScreenEnable(WWDisplay d, int n);
|
||||
int WWDisplay_GetSpriteEnable(WWDisplay d);
|
||||
int WWDisplay_GetSpriteWindowEnable(WWDisplay d);
|
||||
|
||||
int WWDisplay_GetScreen2WindowMode(WWDisplay d);
|
||||
int WWDisplay_GetBorder(WWDisplay d);
|
||||
|
||||
int WWDisplay_GetForegroundColor(WWDisplay d);
|
||||
@@ -56,11 +54,9 @@ WWSprite WWDisplay_SetSprite(WWDisplay d, int n, WWSprite s);
|
||||
WWScreen WWDisplay_SetScreen(WWDisplay d, int n, WWScreen s);
|
||||
WWLCDPanel WWDisplay_SetLCDPanel(WWDisplay d, WWLCDPanel p);
|
||||
|
||||
int WWDisplay_SetScreenEnable(WWDisplay d, int n, int f);
|
||||
int WWDisplay_SetSpriteEnable(WWDisplay d, int f);
|
||||
int WWDisplay_SetSpriteWindowEnable(WWDisplay d, int f);
|
||||
|
||||
int WWDisplay_SetScreen2WindowMode(WWDisplay d, int mode);
|
||||
int WWDisplay_SetBorder(WWDisplay d, int b);
|
||||
|
||||
int WWDisplay_SetForegroundColor(WWDisplay d, int c);
|
||||
|
||||
@@ -21,14 +21,9 @@ typedef struct _WWDisplay {
|
||||
WWLCDPanel lcd_panel;
|
||||
|
||||
/* <20>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD>ץ쥤<D7A5><ECA5A4>°<EFBFBD><C2B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
int screen_enable[2]; /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA1BC>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD>͡<EFBFBD><CDA1>֥<EFBFBD><D6A5>ե饰 */
|
||||
int sprite_enable; /* <20><><EFBFBD>ץ饤<D7A5><E9A5A4>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD>͡<EFBFBD><CDA1>֥<EFBFBD><D6A5>ե饰 */
|
||||
int sprite_window_enable; /* <20><><EFBFBD>ץ饤<D7A5>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɥ<EFBFBD><C9A5><EFBFBD>ǽ<EFBFBD><C7BD><EFBFBD>͡<EFBFBD><CDA1>֥<EFBFBD><D6A5>ե饰 */
|
||||
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F3A3B2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɥ<EFBFBD><C9A5>⡼<EFBFBD><E2A1BC> */
|
||||
/* 0,1... ̵<><CCB5> 2...<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɥ<EFBFBD><C9A5><EFBFBD><EFBFBD><EFBFBD>¦<EFBFBD><C2A6>ɽ<EFBFBD><C9BD> 3...<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɥ<EFBFBD><C9A5>γ<EFBFBD>¦<EFBFBD><C2A6>ɽ<EFBFBD><C9BD> */
|
||||
int screen2_window_mode;
|
||||
|
||||
int border; /* <20>ܡ<EFBFBD><DCA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>顼<EFBFBD><E9A1BC>0<EFBFBD><30>7<EFBFBD>Υ<EFBFBD><CEA5>顼<EFBFBD>ޥå<DEA5><C3A5>ֹ<EFBFBD> */
|
||||
|
||||
int foreground_color; /* <20><><EFBFBD>Υ<EFBFBD><CEA5><EFBFBD><EFBFBD>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD> */
|
||||
|
||||
35
WWScreen.c
35
WWScreen.c
@@ -73,7 +73,6 @@ static WWScreenCharacter WWScreen_SetScreenCharacter(WWScreen s, int x, int y,
|
||||
/* <20>ѥ֥<D1A5><D6A5>å<EFBFBD><C3A5>ʤ<EFBFBD><CAA4><EFBFBD> */
|
||||
/*===========================================================================*/
|
||||
|
||||
int WWScreen_GetNumber(WWScreen s) { return (s->number); }
|
||||
int WWScreen_GetHorizontal(WWScreen s, int x, int y)
|
||||
{ return (WWScreen_GetScreenCharacter(s, x, y)->horizontal); }
|
||||
int WWScreen_GetVertical(WWScreen s, int x, int y)
|
||||
@@ -83,7 +82,6 @@ WWPalette WWScreen_GetPalette(WWScreen s, int x, int y)
|
||||
WWCharacter WWScreen_GetCharacter(WWScreen s, int x, int y)
|
||||
{ return (WWScreen_GetScreenCharacter(s, x, y)->character); }
|
||||
|
||||
int WWScreen_SetNumber(WWScreen s, int n) { return (s->number = n); }
|
||||
int WWScreen_SetHorizontal(WWScreen s, int x, int y, int f)
|
||||
{ return (WWScreen_GetScreenCharacter(s, x, y)->horizontal = f); }
|
||||
int WWScreen_SetVertical(WWScreen s, int x, int y, int f)
|
||||
@@ -93,16 +91,34 @@ WWPalette WWScreen_SetPalette(WWScreen s, int x, int y, WWPalette palette)
|
||||
WWCharacter WWScreen_SetCharacter(WWScreen s, int x, int y, WWCharacter c)
|
||||
{ return (WWScreen_GetScreenCharacter(s, x, y)->character = c); }
|
||||
|
||||
int WWScreen_GetNumber(WWScreen s) { return (s->number); }
|
||||
int WWScreen_GetWidth( WWScreen s) { return (s->width ); }
|
||||
int WWScreen_GetHeight(WWScreen s) { return (s->height); }
|
||||
int WWScreen_GetRollX( WWScreen s) { return (s->roll_x); }
|
||||
int WWScreen_GetRollY( WWScreen s) { return (s->roll_y); }
|
||||
|
||||
int WWScreen_GetEnable(WWScreen s) { return (s->enable); }
|
||||
int WWScreen_GetMode( WWScreen s) { return (s->mode ); }
|
||||
|
||||
int WWScreen_GetDrawX( WWScreen s) { return (s->draw_x ); }
|
||||
int WWScreen_GetDrawY( WWScreen s) { return (s->draw_y ); }
|
||||
int WWScreen_GetDrawWidth( WWScreen s) { return (s->draw_width ); }
|
||||
int WWScreen_GetDrawHeight(WWScreen s) { return (s->draw_height); }
|
||||
|
||||
int WWScreen_SetNumber(WWScreen s, int n) { return (s->number = n); }
|
||||
int WWScreen_SetWidth( WWScreen s, int n) { return (s->width = n); }
|
||||
int WWScreen_SetHeight(WWScreen s, int n) { return (s->height = n); }
|
||||
int WWScreen_SetRollX( WWScreen s, int r) { return (s->roll_x = r); }
|
||||
int WWScreen_SetRollY( WWScreen s, int r) { return (s->roll_y = r); }
|
||||
|
||||
int WWScreen_SetEnable(WWScreen s, int n) { return (s->enable = n); }
|
||||
int WWScreen_SetMode( WWScreen s, int n) { return (s->mode = n); }
|
||||
|
||||
int WWScreen_SetDrawX( WWScreen s, int n) { return (s->draw_x = n); }
|
||||
int WWScreen_SetDrawY( WWScreen s, int n) { return (s->draw_y = n); }
|
||||
int WWScreen_SetDrawWidth( WWScreen s, int n) { return (s->draw_width = n); }
|
||||
int WWScreen_SetDrawHeight(WWScreen s, int n) { return (s->draw_height = n); }
|
||||
|
||||
/* <20><><EFBFBD>顼<EFBFBD>ޥåפο<D7A4>(0<><30>7)<29><><EFBFBD>֤<EFBFBD>(Ʃ<><C6A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-1<><31><EFBFBD>֤<EFBFBD>) */
|
||||
int WWScreen_GetPixel(WWScreen screen, int x, int y)
|
||||
{
|
||||
@@ -133,9 +149,12 @@ int WWScreen_GetPixel(WWScreen screen, int x, int y)
|
||||
return (pixel);
|
||||
}
|
||||
|
||||
WWScreen WWScreen_Create(int number, int width, int height,
|
||||
WWScreen WWScreen_Create(int number,
|
||||
int width, int height,
|
||||
WWPalette initial_palette,
|
||||
WWCharacter initial_character)
|
||||
WWCharacter initial_character,
|
||||
int draw_x, int draw_y,
|
||||
int draw_width, int draw_height)
|
||||
{
|
||||
WWScreen screen;
|
||||
WWScreenCharacter sc;
|
||||
@@ -150,6 +169,14 @@ WWScreen WWScreen_Create(int number, int width, int height,
|
||||
WWScreen_SetRollX( screen, 0);
|
||||
WWScreen_SetRollY( screen, 0);
|
||||
|
||||
WWScreen_SetEnable(screen, 1);
|
||||
WWScreen_SetMode( screen, WWSCREEN_DRAW_ALL);
|
||||
|
||||
WWScreen_SetDrawX( screen, draw_x);
|
||||
WWScreen_SetDrawY( screen, draw_y);
|
||||
WWScreen_SetDrawWidth( screen, draw_width);
|
||||
WWScreen_SetDrawHeight(screen, draw_height);
|
||||
|
||||
screen->screen_characters =
|
||||
(WWScreenCharacter *)malloc(sizeof(WWScreenCharacter) *
|
||||
screen->width * screen->height);
|
||||
|
||||
35
WWScreen.h
35
WWScreen.h
@@ -16,37 +16,64 @@
|
||||
|
||||
typedef struct _WWScreen * WWScreen;
|
||||
|
||||
/*****************************************************************************/
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
/*****************************************************************************/
|
||||
|
||||
#define WWSCREEN_DRAW_ALL 0
|
||||
#define WWSCREEN_INSIDE_ONLY 1
|
||||
#define WWSCREEN_OUTSIDE_ONLY 2
|
||||
|
||||
/*****************************************************************************/
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>дؿ<D0B4><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
/*****************************************************************************/
|
||||
|
||||
int WWScreen_GetNumber(WWScreen s);
|
||||
int WWScreen_GetHorizontal(WWScreen s, int x, int y);
|
||||
int WWScreen_GetVertical(WWScreen s, int x, int y);
|
||||
WWPalette WWScreen_GetPalette(WWScreen s, int x, int y);
|
||||
WWCharacter WWScreen_GetCharacter(WWScreen s, int x, int y);
|
||||
|
||||
int WWScreen_SetNumber(WWScreen s, int n);
|
||||
int WWScreen_SetHorizontal(WWScreen s, int x, int y, int f);
|
||||
int WWScreen_SetVertical(WWScreen s, int x, int y, int f);
|
||||
WWPalette WWScreen_SetPalette(WWScreen s, int x, int y, WWPalette palette);
|
||||
WWCharacter WWScreen_SetCharacter(WWScreen s, int x, int y, WWCharacter c);
|
||||
|
||||
int WWScreen_GetNumber(WWScreen s);
|
||||
int WWScreen_GetWidth( WWScreen s);
|
||||
int WWScreen_GetHeight(WWScreen s);
|
||||
int WWScreen_GetRollX( WWScreen s);
|
||||
int WWScreen_GetRollY( WWScreen s);
|
||||
|
||||
int WWScreen_GetEnable(WWScreen s);
|
||||
int WWScreen_GetMode( WWScreen s);
|
||||
|
||||
int WWScreen_GetDrawX( WWScreen s);
|
||||
int WWScreen_GetDrawY( WWScreen s);
|
||||
int WWScreen_GetDrawWidth( WWScreen s);
|
||||
int WWScreen_GetDrawHeight(WWScreen s);
|
||||
|
||||
int WWScreen_SetNumber(WWScreen s, int n);
|
||||
int WWScreen_SetWidth( WWScreen s, int n);
|
||||
int WWScreen_SetHeight(WWScreen s, int n);
|
||||
int WWScreen_SetRollX( WWScreen s, int r);
|
||||
int WWScreen_SetRollY( WWScreen s, int r);
|
||||
|
||||
int WWScreen_SetEnable(WWScreen s, int n);
|
||||
int WWScreen_SetMode( WWScreen s, int n);
|
||||
|
||||
int WWScreen_SetDrawX( WWScreen s, int n);
|
||||
int WWScreen_SetDrawY( WWScreen s, int n);
|
||||
int WWScreen_SetDrawWidth( WWScreen s, int n);
|
||||
int WWScreen_SetDrawHeight(WWScreen s, int n);
|
||||
|
||||
int WWScreen_GetPixel(WWScreen screen, int x, int y);
|
||||
|
||||
WWScreen WWScreen_Create(int number, int width, int height,
|
||||
WWScreen WWScreen_Create(int number,
|
||||
int width, int height,
|
||||
WWPalette initial_palette,
|
||||
WWCharacter initial_character);
|
||||
WWCharacter initial_character,
|
||||
int draw_x, int draw_y,
|
||||
int draw_width, int draw_height);
|
||||
WWScreen WWScreen_Destroy(WWScreen screen);
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
12
WWScreenP.h
12
WWScreenP.h
@@ -27,7 +27,19 @@ typedef struct _WWScreen {
|
||||
int height;
|
||||
int roll_x;
|
||||
int roll_y;
|
||||
|
||||
WWScreenCharacter * screen_characters;
|
||||
|
||||
int enable; /* ɽ<><C9BD>/<2F><>ɽ<EFBFBD><C9BD><EFBFBD>Υե饰 */
|
||||
|
||||
int mode; /* ɽ<><C9BD><EFBFBD>⡼<EFBFBD><E2A1BC> */
|
||||
/* WWSCREEN_DRAW_ALL, WWSCREEN_INSIDE_ONLY, WWSCREEN_OUTSIDE_ONLY <20><> */
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD>줫<EFBFBD><ECA4AB><EFBFBD>ͤ<EFBFBD><CDA4><EFBFBD><EFBFBD><EFBFBD> */
|
||||
|
||||
/* ɽ<><C9BD><EFBFBD>ΰ<EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<F3A3B2A4><CEA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɥ<EFBFBD><C9A5><EFBFBD>ǽ<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<F3A3B1A4>̤<EFBFBD><CCA4><EFBFBD><EFBFBD>) */
|
||||
int draw_x, draw_y;
|
||||
int draw_width, draw_height;
|
||||
|
||||
} _WWScreen;
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
86
disp.c
86
disp.c
@@ -17,31 +17,32 @@
|
||||
|
||||
void display_control(unsigned int flags)
|
||||
{
|
||||
WWDisplay ww_display;
|
||||
|
||||
printf("display_control(): flags = %ud, ", flags); fflush(stdout);
|
||||
|
||||
if (wonx_display == NULL) Wonx_Create();
|
||||
|
||||
WWDisplay_SetScreenEnable(WonxDisplay_GetWWDisplay(wonx_display),
|
||||
SCREEN1,
|
||||
(flags & DCM_SCR1) ? 1 : 0);
|
||||
ww_display = WonxDisplay_GetWWDisplay(wonx_display);
|
||||
|
||||
WWDisplay_SetScreenEnable(WonxDisplay_GetWWDisplay(wonx_display),
|
||||
SCREEN2,
|
||||
(flags & DCM_SCR2) ? 1 : 0);
|
||||
WWScreen_SetEnable(WWDisplay_GetScreen(ww_display, SCREEN1),
|
||||
(flags & DCM_SCR1) ? 1 : 0);
|
||||
|
||||
WWDisplay_SetSpriteEnable(WonxDisplay_GetWWDisplay(wonx_display),
|
||||
(flags & DCM_SPR) ? 1 : 0);
|
||||
WWScreen_SetEnable(WWDisplay_GetScreen(ww_display, SCREEN2),
|
||||
(flags & DCM_SCR2) ? 1 : 0);
|
||||
|
||||
WWDisplay_SetSpriteWindowEnable(WonxDisplay_GetWWDisplay(wonx_display),
|
||||
(flags & DCM_SPR_WIN) ? 1 : 0);
|
||||
WWDisplay_SetSpriteEnable(ww_display, (flags & DCM_SPR) ? 1 : 0);
|
||||
|
||||
WWDisplay_SetSpriteWindowEnable(ww_display, (flags & DCM_SPR_WIN) ? 1 : 0);
|
||||
|
||||
if ((flags & 0x0030) == DCM_SCR2_WIN_INSIDE)
|
||||
WWDisplay_SetScreen2WindowMode(WonxDisplay_GetWWDisplay(wonx_display), 2);
|
||||
WWScreen_SetMode(WWDisplay_GetScreen(ww_display, SCREEN2),
|
||||
WWSCREEN_INSIDE_ONLY);
|
||||
else if ((flags & 0x0030) == DCM_SCR2_WIN_OUTSIDE)
|
||||
WWDisplay_SetScreen2WindowMode(WonxDisplay_GetWWDisplay(wonx_display), 3);
|
||||
WWScreen_SetMode(WWDisplay_GetScreen(ww_display, SCREEN2),
|
||||
WWSCREEN_OUTSIDE_ONLY);
|
||||
|
||||
WWDisplay_SetBorder(WonxDisplay_GetWWDisplay(wonx_display),
|
||||
(flags & DCM_BORDER_COLOR) >> 7);
|
||||
WWDisplay_SetBorder(ww_display, (flags & DCM_BORDER_COLOR) >> 7);
|
||||
|
||||
WonxDisplay_Flush(wonx_display);
|
||||
|
||||
@@ -52,20 +53,21 @@ void display_control(unsigned int flags)
|
||||
|
||||
unsigned int display_status()
|
||||
{
|
||||
WWDisplay ww_display;
|
||||
unsigned short int ret;
|
||||
|
||||
printf("display_status(): "); fflush(stdout);
|
||||
|
||||
if (wonx_display == NULL) Wonx_Create();
|
||||
|
||||
ww_display = WonxDisplay_GetWWDisplay(wonx_display);
|
||||
|
||||
ret = 0;
|
||||
|
||||
if (WWDisplay_GetScreenEnable(WonxDisplay_GetWWDisplay(wonx_display),
|
||||
SCREEN1))
|
||||
if (WWScreen_GetEnable(WWDisplay_GetScreen(ww_display, SCREEN1)))
|
||||
ret |= DCM_SCR1;
|
||||
|
||||
if (WWDisplay_GetScreenEnable(WonxDisplay_GetWWDisplay(wonx_display),
|
||||
SCREEN2))
|
||||
if (WWScreen_GetEnable(WWDisplay_GetScreen(ww_display, SCREEN2)))
|
||||
ret |= DCM_SCR2;
|
||||
|
||||
if (WWDisplay_GetSpriteEnable(WonxDisplay_GetWWDisplay(wonx_display)))
|
||||
@@ -74,12 +76,11 @@ unsigned int display_status()
|
||||
if (WWDisplay_GetSpriteWindowEnable(WonxDisplay_GetWWDisplay(wonx_display)))
|
||||
ret |= DCM_SPR_WIN;
|
||||
|
||||
switch
|
||||
(WWDisplay_GetScreen2WindowMode(WonxDisplay_GetWWDisplay(wonx_display))) {
|
||||
case 2:
|
||||
switch (WWScreen_GetMode(WWDisplay_GetScreen(ww_display, SCREEN2))) {
|
||||
case WWSCREEN_INSIDE_ONLY:
|
||||
ret |= DCM_SCR2_WIN_INSIDE;
|
||||
break;
|
||||
case 3:
|
||||
case WWSCREEN_OUTSIDE_ONLY:
|
||||
ret |= DCM_SCR2_WIN_OUTSIDE;
|
||||
break;
|
||||
default:
|
||||
@@ -94,8 +95,7 @@ unsigned int display_status()
|
||||
return (ret);
|
||||
}
|
||||
|
||||
void font_set_monodata(unsigned int number,
|
||||
unsigned int count, void * data)
|
||||
void font_set_monodata(unsigned int number, unsigned int count, void * data)
|
||||
{
|
||||
WWCharacter c;
|
||||
int i, x, y, n, p;
|
||||
@@ -669,18 +669,52 @@ unsigned int screen_get_scroll(int screen)
|
||||
|
||||
void screen2_set_window(int x, int y, int w, int h)
|
||||
{
|
||||
WWScreen s;
|
||||
|
||||
printf("screen2_set_window(): x = %d, y = %d, width = %d, height = %d, ",
|
||||
x, y, w, h); fflush(stdout);
|
||||
|
||||
if (wonx_display == NULL) Wonx_Create();
|
||||
/* <20><><EFBFBD>Ȥǽ<C7BD><F1A4AFA4><EFBFBD> */
|
||||
|
||||
s = WWDisplay_GetScreen(WonxDisplay_GetWWDisplay(wonx_display), SCREEN2);
|
||||
WWScreen_SetDrawX(s, x);
|
||||
WWScreen_SetDrawY(s, y);
|
||||
WWScreen_SetDrawWidth( s, w);
|
||||
WWScreen_SetDrawHeight(s, h);
|
||||
|
||||
WonxDisplay_Flush(wonx_display);
|
||||
|
||||
printf("return value = none\n"); fflush(stdout);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
unsigned long int screen2_get_window(void)
|
||||
{
|
||||
WWScreen s;
|
||||
unsigned short int xy;
|
||||
unsigned short int wh;
|
||||
unsigned long int ret;
|
||||
|
||||
if (wonx_display == NULL) Wonx_Create();
|
||||
/* <20><><EFBFBD>Ȥǽ<C7BD><F1A4AFA4><EFBFBD> */
|
||||
|
||||
printf("screen2_get_window(): "); fflush(stdout);
|
||||
|
||||
s = WWDisplay_GetScreen(WonxDisplay_GetWWDisplay(wonx_display), SCREEN2);
|
||||
|
||||
xy =
|
||||
((WWScreen_GetDrawY(s) << 8) & 0xff00) |
|
||||
(WWScreen_GetDrawX(s) & 0x00ff);
|
||||
wh =
|
||||
((WWScreen_GetDrawHeight(s) << 8) & 0xff00) |
|
||||
(WWScreen_GetDrawWidth(s) & 0x00ff);
|
||||
ret = ((unsigned long int)wh) << 16 | xy;
|
||||
|
||||
WonxDisplay_Flush(wonx_display);
|
||||
|
||||
printf("return value = %ul\n", ret); fflush(stdout);
|
||||
|
||||
return (ret);
|
||||
}
|
||||
|
||||
void sprite_set_window(int x, int y, int w, int h)
|
||||
|
||||
Reference in New Issue
Block a user