1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
/* LOCKVC Version 3.6 (c) 1994,1995,1997 by Matthias Straub */
/* shadow-password option added by Ed Beaumont */
/* this file was released under GPL */
/* see COPYING for details */
#include <vga.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include "lockvc.h"
unsigned char *screen;
unsigned char *rscreen;
unsigned char *escreen;
unsigned short zuf=1777;
unsigned short zufm=31317;
void draw_feuer()
{
unsigned char *lscreen;
for(lscreen=screen+200*320;lscreen<(screen+201*320);lscreen++)
{
if((zuf*=zufm)<17000) *lscreen=191;
else *lscreen=0;
}
for(lscreen=screen+80*320;lscreen<escreen;lscreen++)
{
*lscreen=(*lscreen+*(lscreen+321)+*(lscreen+319)+*(lscreen+640))/4;
}
memcpy(rscreen+80*320,screen+80*320,120*320);
if(vga_getkey()!=0 && vga_getkey()!=-1)authenticate();
vga_waitretrace();
}
void feuer()
{
int i;
if (vga_init() < 0) {
fprintf(stderr, "vga_init failed\n");
exit(-1);
}
if (vga_setmode(G320x200x256) < 0) {
fprintf(stderr, "vga_setmode failed\n");
fflush(stderr);
exit(-1);
}
signals();
if (!(screen=(unsigned char *)malloc(64320)))
{
fprintf(stderr, "Cannot allocate memory\n");
exit(-1);
}
rscreen=vga_getgraphmem();
for(i=0;i<32;i++)
{
vga_setpalette(i , i*2,0 ,0);
vga_setpalette(i+32 ,63,20+i/2 ,0);
vga_setpalette(i+64 ,63,36+i/2 ,0);
vga_setpalette(i+96 ,63 , 55 ,i);
vga_setpalette(i+128,63, 63, i);
}
escreen=screen+320*200;
while(1)
{
draw_feuer();
}
}
|