⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lsys.h

📁 ldraw_DOS游戏开发包
💻 H
字号:
/*****************************************************************************
 *
 *      LinSys v1.1 for Watcom C++ 10.0
 *      By Lin Wei inc 2000, 
 *
 *      Header file for the LinSys library.
 *      This should be included by everyone and everything.
 *
 *      See readme.txt for copyright information.
 */

#ifndef LinSys_H
#define LinSys_H
#define LinSys_Ver   0x110

#pragma off(check_stack)

#define TRUE  1
#define FALSE 0
#ifndef MIN
#define MIN(x,y)     (((x) < (y)) ? (x) : (y))
#define MAX(x,y)     (((x) > (y)) ? (x) : (y))
#define MID(x,y,z)   MAX((x), MIN((y), (z)))
#endif
typedef unsigned char  uchar;
typedef unsigned short ushort;
////////////////////////  Base Functions  //////////////////////////////////
#define SVGA_MAX_MODE         32
#define SVGA_TYPE_TEXT         0
#define SVGA_TYPE_256          1
#define SVGA_TYPE_X            2
#define SVGA_TYPE_15B          3
#define SVGA_TYPE_16B          4
#define SVGA_TYPE_24B          5
#define SVGA_TYPE_32B          6
#define SVGA_TEXT           0x00
#define SVGA_320X200        0x01
#define SVGA_640X480        0x02
#define SVGA_800X600        0x03
#define SVGA_VESA640X480    0x04
#define SVGA_VESA800X600    0x05
#define SVGA_VESA320X200    0x06
#define SVGA_VESA320X240    0x07
#define SVGA_VESA512X384    0x08
#define SVGA_MODEX320X240   0x09
#define SVGA_MODEX400X300   0x0a

extern char  *VideoBuf,       // Video Mem addr in graph mode
             *VideoTextBuf,   // Video Mem addr in text mode
             *DrawBuf;        // Doble Graph Mem addr 

struct TGModeTable
{ short VGAMODE, GMTYPE, LEN, WID;
};  // TGModeTable
extern struct TGModeTable GModeTable[SVGA_MAX_MODE],
                          GModeData;

////////////////////////  Surface Access  ////////////////////////////////
struct LSURFACE  // To descripe a surface
{ int   len;     // len of the bitmap
  int   wid;     // wid of the bitmap
  int   mode;    // bitmap mode 0 NULL, 1 SCREEN, 2 MEMORY
  int  *index;   // the offset of the first pixel in each line
  char *memory;  // data point to the bitmap
};  // LSURFACE
extern char    lsys_message[];
extern int     LineBase[2000], *DrawLb;
extern short   DrawLen, DrawWid;
/////////// SYSTEM TIMER PROCESS //////////////
// These are new functions copy from allegro 3.0
void lt_install_timer();
void lt_remove_timer();
long lt_clock(char swit); // 0: 1.19MHz 1: 200Hz
char lt_install_int_ex(void (*proc)(),long speed);
char lt_install_int(void (*proc)(),long speed);
void lt_remove_int(void (*proc)());

///////////////////////////////////////
short lEnterGraph(short mode);
short lInitGraph (short mode_index);
void  lCloseGraph();
void  lpixel(short x, short y, uchar color);
void  lFillLine(short x,short y,short len,uchar color);
void  lScanLine(short x,short y,short len,char *p);
void  lScanLine2(short x,short y,short len,char *p);
void  lGetLine(short x,short y,short len,char *p);
//////////////  Surface Access ///////////////////
#define LSM_SCREEN  1
#define LSM_MEMORY  2
#define LSM_SHADOW  3
short lCreateSurface(short len,short wid,LSURFACE *SFACE,char *shadow,int mode);
void  lDeleteSurface(LSURFACE *SFACE);
char  lBlitFast(LSURFACE *TSFACE,short tx,short ty,short sx1,short sy1,
                short sx2,short sy2,LSURFACE *SSFACE,short blit_mode);
char  lOutToScr(LSURFACE *SFACE,short tx,short ty,short sx1,short sy1,
                short sx2,short sy2);
void  lActiveSurface(LSURFACE *SFACE);
void  lClearSurface(LSURFACE *SFACE,char color);
////////////////  Dmac Access ////////////////////
char *lsys_dos_alloc(int size,short *selector);
void  lsys_dos_free(short selector);
void  lsys_mem_lock(void *mem,ushort size);
void  lsys_mem_unlock(void *mem,ushort size);

char  lsys_dma_alloc(int size,long *phy,short *selector);
char  lsys_dma_free(int size,long phy,short selector);
void  lsys_dma_start(char channel,unsigned long addr,short size,char auto_init,char input);
void  lsys_dma_stop(char channel);
long  lsys_dma_todo(char channel);
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -