home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FreeWare Collection 2
/
FreeSoftwareCollection2pd199x-jp.img
/
ms_dos
/
fmgraph
/
g_tilept.c
< prev
next >
Wrap
Text File
|
1990-06-14
|
981b
|
47 lines
#include <stdio.h>
#include <dos.h>
struct TILE {
char id,reserve;
unsigned wdh,hgt;
unsigned char img[128];
};
extern unsigned char gds_fshift;
extern unsigned gds_wrkoff;
extern unsigned gds_wrkseg;
int g_tilepattern(char tileid,unsigned height,unsigned char *pln0,
unsigned char *pln1,unsigned char *pln2,unsigned char *pln3)
{
union REGS reg;
struct SREGS seg;
struct TILE tiledata;
int i;
unsigned char *ptr;
if((height==0)||(height>32))
return -1;
segread(&seg);
reg.h.ah=gds_fshift+0x7c;
reg.x.di=(unsigned)&tiledata;
seg.ds=seg.ss;
tiledata.id=tileid;
tiledata.reserve=0;
tiledata.wdh=8;
tiledata.hgt=height;
ptr=&tiledata.img[0];
for(i=0;i<height;i++)
*ptr++ = *pln0++;
for(i=0;i<height;i++)
*ptr++ = *pln1++;
for(i=0;i<height;i++)
*ptr++ = *pln2++;
for(i=0;i<height;i++)
*ptr++ = *pln3++;
reg.x.bx=gds_wrkoff;
seg.es=gds_wrkseg;
int86x(0x92,®,®,&seg);
return (int)reg.h.ah;
}