mirror of
https://github.com/ondra-novak/gates_of_skeldal.git
synced 2025-07-20 22:33:43 -04:00
github publish
This commit is contained in:
commit
506e23bf32
542 changed files with 120675 additions and 0 deletions
78
MAPS/DUMP.C
Normal file
78
MAPS/DUMP.C
Normal file
|
@ -0,0 +1,78 @@
|
|||
#include <skeldal_win.h>
|
||||
#include <stdio.h>
|
||||
#include <bgraph.h>
|
||||
#include <dos.h>
|
||||
#include <memman.h>
|
||||
|
||||
static int latest_version(char *wild,int numpos)
|
||||
{
|
||||
struct find_t ff;
|
||||
int rc;
|
||||
int i=0,j=-1;
|
||||
char *p;
|
||||
|
||||
rc=_dos_findfirst(wild,_A_NORMAL,&ff);
|
||||
while (rc==0)
|
||||
{
|
||||
p=ff.name+numpos;
|
||||
sscanf(p,"%d",&i);
|
||||
if (i>j) j=i;
|
||||
rc=_dos_findnext(&ff);
|
||||
}
|
||||
_dos_findclose(&ff);
|
||||
return j;
|
||||
}
|
||||
|
||||
void save_dump()
|
||||
{
|
||||
static dump_counter=-1;
|
||||
FILE *f;
|
||||
int i,r,g,b,x,y;
|
||||
word *a;
|
||||
char c[20];
|
||||
|
||||
if (dump_counter==-1)
|
||||
{
|
||||
dump_counter=latest_version("DUMP*.BMP",4);
|
||||
SEND_LOG("(DUMP) Dump counter sets to %d",dump_counter,0);
|
||||
}
|
||||
sprintf(c,"DUMP%04d.BMP",++dump_counter);
|
||||
SEND_LOG("(DUMP) Saving screen shot named '%s'",c,0);
|
||||
f=fopen(c,"wb");
|
||||
fputc('B',f);fputc('M',f);
|
||||
i=640*480*3+0x36;
|
||||
fwrite(&i,1,4,f);i=0;
|
||||
fwrite(&i,1,4,f);
|
||||
i=0x36;
|
||||
fwrite(&i,1,4,f);
|
||||
i=0x28;
|
||||
fwrite(&i,1,4,f);
|
||||
i=640;
|
||||
fwrite(&i,1,4,f);
|
||||
i=480;
|
||||
fwrite(&i,1,4,f);
|
||||
i=1;
|
||||
fwrite(&i,1,2,f);
|
||||
i=24;
|
||||
fwrite(&i,1,2,f);
|
||||
i=0;
|
||||
fwrite(&i,1,4,f);
|
||||
i=640*480*3;
|
||||
fwrite(&i,1,4,f);
|
||||
for(i=4,r=0;i>0;i--) fwrite(&r,1,4,f);
|
||||
for(y=480;y>0;y--)
|
||||
{
|
||||
a=&screen[(y-1)*640];
|
||||
for(x=0;x<640;x++)
|
||||
{
|
||||
i=a[x];
|
||||
b=(i & 0x1f)<<3;
|
||||
g=(i & 0x3e0)>>2;
|
||||
r=(i & 0x7f00)>>7;
|
||||
i=((r*256)+g)*256+b;
|
||||
fwrite(&i,1,3,f);
|
||||
}
|
||||
}
|
||||
fclose(f);
|
||||
}
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue