X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fmodex16.h;h=d7d8e193e342ae63d288ba3b50a74c91cc3bc6e3;hb=7a02e4f5de25d0cc1bd9100e67274c52ca5193ba;hp=a23d74dc49fa1bbd46823c1948d1f6fca511feb1;hpb=0bfa0326a0fe4dd1515b128c59379e1cc97dc85c;p=16.git diff --git a/src/lib/modex16.h b/src/lib/modex16.h index a23d74dc..d7d8e193 100755 --- a/src/lib/modex16.h +++ b/src/lib/modex16.h @@ -31,6 +31,15 @@ #include "src/lib/planar.h" #include "src/lib/16_head.h" #include "src/lib/16text.h" +#include "src/lib/modex16/320x240.h" +#include "src/lib/modex16/192x144.h" + +//320x240 = 20x15 +//256x192 = 16x12 + +//temp defines +#define TILEWH 16 +#define QUADWH TILEWH/2 /* -========================== Types & Macros ==========================- */ #define PAGE_OFFSET(x,y) (((y)<<6)+((y)<<4)+((x)>>2)) @@ -39,11 +48,13 @@ typedef struct { word id; /* the Identification number of the page~ For layering~ */ - byte far* data; /* the data for the page */ - word dx; /* col we are viewing on the virtual screen */ - word dy; /* row we are viewing on the virtual screen */ - word width; /* virtual width of the page */ - word height; /* virtual height of the page */ + byte far* data; /* the data for the page */ + word dx; /* col we are viewing on the virtual screen */ + word dy; /* row we are viewing on the virtual screen */ + word width; /* virtual width of the page */ + word height; /* virtual height of the page */ + word tw; + word th; } page_t; typedef union @@ -56,8 +67,11 @@ typedef union /* -============================ Functions =============================- */ /* mode switching, page, and plane functions */ void VGAmodeX(sword vq, global_game_variables_t *gv); -void modexEnter(); +void modex__320x240_256__Enter(global_game_variables_t *gv); +void modex__192x144_256__Enter(global_game_variables_t *gv); +long vgaGetMode(); void modexLeave(); +void modexsetBaseXMode(void); page_t modexDefaultPage(); page_t modexNextPage(page_t *p); page_t modexNextPageFlexibleSize(page_t *p, word x, word y); @@ -69,6 +83,7 @@ void oldDrawBmp(byte far* page, int x, int y, bitmap_t *bmp, byte sprite); //void CDrawBmp(byte far* vgamem, page_t* page, int x, int y, bitmap_t *bmp, byte sprite); void modexDrawBmp(page_t *page, int x, int y, bitmap_t *bmp); void modexDrawBmpRegion(page_t *page, int x, int y, int rx, int ry, int rw, int rh, bitmap_t *bmp); +void modex_sparky4_DrawBmpRegion(page_t *page, int x, int y, int rx, int ry, int rw, int rh, bitmap_t *bmp); void modexDrawPlanarBuf(page_t *page, int x, int y, planar_buf_t *bmp); void modexDrawSprite(page_t *page, int x, int y, bitmap_t *bmp); void modexDrawSpriteRegion(page_t *page, int x, int y, int rx, int ry, int rw, int rh, bitmap_t *bmp); @@ -105,7 +120,7 @@ void modexWaitBorder(); /* -======================= Constants & Vars ==========================- */ extern byte far* VGA; /* The VGA Memory */ -extern int old_mode; +//extern int old_mode; #define SCREEN_SEG 0xa000 #define VIDEO_INT 0x10 #define SET_MODE 0x00 @@ -128,8 +143,8 @@ extern int old_mode; #define INPUT_STATUS_1 0x03da #define DISPLAY_ENABLE 0x01 #define MAP_MASK 0x02 -#define PAL_READ_REG 0x03C7 /* Color register, read address */ -#define PAL_WRITE_REG 0x03C8 /* Color register, write address */ -#define PAL_DATA_REG 0x03C9 /* Color register, data port */ -#define PAL_SIZE (256 * 3) +#define PAL_READ_REG 0x03C7 /* Color register, read address */ +#define PAL_WRITE_REG 0x03C8 /* Color register, write address */ +#define PAL_DATA_REG 0x03C9 /* Color register, data port */ +#define PAL_SIZE (256 * 3) #endif