DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T t

⟦f21b486a7⟧ TextFile

    Length: 3167 (0xc5f)
    Types: TextFile
    Names: »tetris.h«

Derivation

└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
    └─⟦this⟧ »EUUGD18/General/Tetris/tetris.h« 

TextFile

/*
** written by adam margulies vespa@ssyx.ucsc.edu
**                           {...}!ucbvax!ucscc!ssyx!vespa
**
** permission is granted to freely distribute this code provided that you:
**
** 1) don't charge for it
** 2) leave my name and header on it
** 3) clearly document your changes and place your name on them
**
*/
/* Tetris: tetris.h                                                        */
/*                                                                         */
/* this is the header file, it does all the necessary includes, defines    */
/* the necessary macros, and contains a lot of needed runtime data.        */
#include <sys/file.h>
#include <sys/time.h>
#include <sys/types.h>      
#include <sys/stat.h>
#include <pwd.h>
#include <signal.h>
#include <stdio.h>
#include <utmp.h>
#include "csr.h"			

#define LASTDATE		"2/23/89"
#define VERSION			13

#define HIGHSCOREFILE	"/usr/games/lib/tetris/score.tetris"
#define MONITORFILE		"/dev/null"
#define HELPFILE		"/usr/games/lib/tetris/help.tetris"
#define MASTERUID		0
#define DIFFICULTY		10

#define NUMOFCOLORS		9	/* number of 'colors' available */
#define xoffset		(current->offset & pow(2, 6 - (current->rot *2)))
#define yoffset		(current->offset & pow(2, 7 - (current->rot *2)))
#define MASK(sig)		(1 << ((sig) - 1))
#define SIGHOLD(signo)		(sigblock(MASK(signo)))
#define SIGRELSE(signo)		(sigsetmask(sigblock(0) &~ MASK(signo)))

char keystr[10];
int addict;
int rubble;
int version;
int disp_next;              /* flag for the display next block feature (bug?)*/
int disp_tomb;              /* flag for the display tombstone feature (bug?)*/
int disp_high;              /* flag for the display high score feature (bug?)*/
int disp_open;              /* flag for the display open screen feature (bug?)*/
int shadow;              	/* flag for the shadowing feature (bug?)*/
int nowrite;				/* flag for nowrite option */
struct stat *ttystat;		/* this hold the file perms of the user's tty */
int curx, cury; 			/* current block's x,y coords */
int points, level;			/* current score and level    */
int current_high;           /* current high score */
char rcd_file[255];	        /* path to rc file */
int lines;					/* number of lines eaten	  */
int dropped_from;			/* flag to tell score function where fast drop
							   came from									*/
int fast_drop;				/* flag for dropping blocks fast */
char *user;
int  high_score[15];
char high_user[15][8];
char high_name[15][255];
char username[100];

struct shape_table {		/* this structure holds all the block defins */
	int table[4][4];
	int width;
	int height;
	int offset;
	int pointv[4];
	char color;
	} shape[7];

struct shape {				/* these are for quick reference      */
	int shape;				/* do I know what I am doing? Nah.... */
	int rot;
	int width;
	int height;
	int offset;
	int pointv;
	char color;
	int was_shown;
	int was_shadowed;
	} *current, *next;

struct keystr {
	char left;
	char right;
	char rotleft;
	char rotright;
	char drop;
	char togdisp;
	char togshad;
	} *key; 

struct itimerval timer, otimer;		/* these are for the interrupt timing */
struct passwd *user_info;			/* user info (tricky names aren't they?) */