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 a

⟦fc7819302⟧ TextFile

    Length: 4265 (0x10a9)
    Types: TextFile
    Names: »asteroids.h«

Derivation

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

TextFile

 
/*  asteroids.h
 *
 *  Definitions used by the asteroids game.
 *  Written by Rich Burridge - SUN Microsystems Australia (Melbourne).
 *
 *  Version 3.0.  -  April 1987.
 *
 *  No responsibility is taken for any errors inherent either to the code
 *  or the comments of this program, but if reported to me then an attempt
 *  will be made to fix them.
 */

extern char *sprintf() ;

#define  CLOSE        (void) close       /* To make lint happy. */
#define  FCLOSE       (void) fclose
#define  FCNTL        (void) fcntl
#define  FPRINTF      (void) fprintf
#define  IOCTL        (void) ioctl
#define  NICE         (void) nice
#define  PRINTF       (void) printf
#define  READ         (void) read
#define  SCANF        (void) scanf
#define  SPRINTF      (void) sprintf
#define  STRCPY       (void) strcpy
#define  WRITE        (void) write

#define  BYTESPERWORD  2
#define  BHEIGHT       15
#define  BSIZE         2*BHEIGHT+1

/*
 *   Macros to test and set bits.
 *   i,j are the x,y offsets from pointer.
 *   scan is the scan length of the area pointed at.
 */
 
#define SETON(i,j,scan,ptr)  (*(ptr+(scan*(j))+(i)/16) |= (1 << (017 - ((i) & 017))))
#define SETOFF(i,j,scan,ptr) (*(ptr+(scan*(j))+(i)/16) &= ~(1 << (017 - ((i) & 017))))
#define BITSET(i,j,scan,ptr) \
              (((*(ptr+(scan*(j))+(i)/16)) &(1 << (017 - ((i) & 017)))) ? (1):(0))
 
#define  BIDLE     0
#define  BWAITING  1
#define  BACTIVE   2
#define  BDYING    3
 
#define  MAXHS     5      /* Max records held in high score file. */
#define  AFACTOR   120
#define  BFACTOR   256
#define  REFUEL    6000   /* fill up tanks every REFUEL points scored per ship */
 
#define  MAXDIFF   15000
#define  MAXLINE      80      /* Maximum string length. */

#ifndef  CTRLQ
#define  CTRLQ        17      /* Used to restart the asteroids game. */
#endif
#ifndef  CTRLS
#define  CTRLS        19      /* Used to halt the asteroids game. */
#endif

/* Definitions for asteroid keys. */
#define  K_QUIT       'q'     /* Quit the asteroids game. */
#define  K_GO         'g'     /* Turn the rocket motor on. */
#define  K_STOP       's'     /* Turn the rocket motor off. */
#define  K_TELEPORT   't'     /* Jump through hyperspace. */

/* Key definitions used by getnewscore. */
#define  BSPACE       8       /* Backspace. */
#define  CR           13      /* Carriage Return. */
#define  DEL          127     /* Delete. */

#define  FLASHTIME    4       /* Seconds */
#define  FLICKERTIME  20      /* Jiffies */
#define  FONT_HEIGHT  16      /* Height of font within asteroids. */
#define  FONT_WIDTH   8       /* Width of standard character font. */
#define  FULLTANK     50000   /* Full fuel tanks */
#define  HELPNAME     "asteroids.help"     /* Name of the initial help file. */
#define  RETURN       13      /* Certain useful ASCII constants. */

#define  OFFCURSOR    0       /* Modes for the mouse cursor. */
#define  TRACKCURSOR  1

#define  KEY_SET      0       /* Used for function key setup. */
#define  KEY_RESET    1

/* States for the asteroids automation. */
#define  HELP         0       /* Display initial help screen. */
#define  GETRET       1       /* Wait for user to press return. */
#define  STARTUP      2       /* Perform initialisation. */
#define  UPDATE       3       /* Main loop  to update screen. */
#define  EXPIRED      4       /* Player is dead. Terminate gracefully. */
#define  NEXTLINE     5       /* Get new username for highscore. */
#define  DOEND        6       /* Finally show highscores and end. */
#define  SCORE        7       /* Get RETURN after highscores. */
#define  CTRLSHIT     8       /* ^S has been hit, do nothing until ^Q. */

/* Asteroid event values. */
#define  LEFTUP       1       /* Left mouse button up. */
#define  LEFTDOWN     2       /* Left mouse button down. */
#define  BUTMIDDLE    3       /* Middle mouse button. */
#define  RIGHTUP      4       /* Right mouse button up. */
#define  RIGHTDOWN    5       /* Right mouse button down. */

#define  SWIDTH     768       /* Maximum screen width. */
#define  SHEIGHT    900       /* Maximum screen height. */

/* Set the function to be used for characters. */
#define  SCHRFUNC(f)  (sfunc = f)

struct hscore
         {
           char who[MAXLINE] ;
           int score ;
         } ;