word dy; /* row we are viewing on virtual screen (on page[0]) */ /* off screen buffer on the top size */\r
word sw; /* screen width */ /* resolution */\r
word sh; /* screen heigth */ /* resolution */\r
- word tw; /* screen width in tiles */\r
- word th; /* screen height in tiles */\r
+ word tw; /* screen width in tiles */\r
+ word th; /* screen height in tiles */\r
word width; /* virtual width of the page */\r
word height; /* virtual height of the page */\r
- word tilesw; /* virtual screen width in tiles */\r
- word tilesh; /* virtual screen height in tiles */\r
- sword tilemidposscreenx; /* middle tile x position */ /* needed for scroll system to work accordingly */\r
- sword tilemidposscreeny; /* middle tile y position */ /* needed for scroll system to work accordingly */\r
- sword tileplayerposscreenx; /* player position on screen */ /* needed for scroll and map system to work accordingly */\r
- sword tileplayerposscreeny; /* player position on screen */ /* needed for scroll and map system to work accordingly */\r
+ word tilesw; /* virtual screen width in tiles */\r
+ word tilesh; /* virtual screen height in tiles */\r
+ sword tilemidposscreenx; /* middle tile x position */ /* needed for scroll system to work accordingly */\r
+ sword tilemidposscreeny; /* middle tile y position */ /* needed for scroll system to work accordingly */\r
+ sword tileplayerposscreenx; /* player position on screen */ /* needed for scroll and map system to work accordingly */\r
+ sword tileplayerposscreeny; /* player position on screen */ /* needed for scroll and map system to work accordingly */\r
word stridew; /* width/4 */ /* VGA */\r
word pagesize; /* page size */\r
word pi; /* increment page by this much to preserve location */\r
int triggery; //entity's trigger box tile position on the viewable map\r
int sheetsetx; //NOT USED YET! entity sprite sheet set on the image x\r
int sheetsety; //NOT USED YET! entity sprite sheet set on the image y\r
- byte d; //direction to render sprite!! wwww\r
- byte q; //loop variable for anumation and locking the playing to compleate the animation cycle to prevent issues with misalignment www\r
+ nibble d; //direction to render sprite!! wwww\r
+ nibble pred; //prev. direction for animation changing\r
+ word dire; //sprite in use\r
+ nibble q; //loop variable for anumation and locking the playing to compleate the animation cycle to prevent issues with misalignment www\r
word speed; //entity speed!\r
word spt; //speed per tile\r
struct sprite *spri; // sprite used by entity\r
sword hp; //hitpoints of the entity\r
- int persist_aniframe; /* gonna be increased to 1 before being used, so 0 is ok for default */\r
+ nibble overdraww, overdrawh; // how many pixels to "overdraw" so that moving sprites with edge pixels don't leave streaks.\r
+ // if the sprite's edge pixels are clear anyway, you can set this to 0.\r
+ nibble /*int*/ persist_aniframe; // gonna be increased to 1 before being used, so 0 is ok for default\r
} entity_t;\r
\r
//TODO: MAKE THIS WWWW\r
typedef struct\r
{\r
entity_t near enti;\r
- entity_t *ent;\r
#ifdef __WATCOMC__\r
//struct sprite *spri; //supposively the sprite sheet data\r
memptr gr;\r
typedef struct\r
{\r
char old_mode; //old video mode before game!\r
+ byte palette[768]; //palette array\r
page_t page[MAXPAGE]; //can be used as a pointer to root page[0]\r
word vmem_remain; //remaining video memory\r
byte num_of_pages; //number of actual pages\r
byte far * omemptr;\r
byte vga_draw_stride;\r
byte vga_draw_stride_limit; // further X clipping\r
-//\r
- word __near rs; //render switch\r
- int __near sprifilei; //player file's i\r
+ //end of doslib origi vars\r
+ boolean __near rss; //render sprite switch\r
+ sword __near sprifilei; //player file's i\r
boolean __near p; //render page number //BLEH\r
- boolean __near r; //page flip if true\r
+ boolean __near r; //page flip, showpage, or render if true\r
word pr[MAXPAGE][4]; //render sections of pages (this is supposed to be set up to draw sections of the screen if updated)\r
\r
- nibble sfip;//shinku_fps_indicator_page; // we're on page 1 now, shinku(). follow along please or it will not be visible.\r
+ nibble sfip; //shinku_fps_indicator_page; // we're on page 1 now, shinku(). follow along please or it will not be visible.\r
nibble panp; //pan_t replacement\r
+ word vh; //video combined height\r
//0000word startclk; float clk, tickclk; //timer\r
//newer vars\r
//TODO: find out how they are used\r