|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T r
Length: 3029 (0xbd5)
Types: TextFile
Names: »roids.h«
└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
└─⟦this⟧ »EUUGD18/X/Roids/roids.h«
/* roids.h - definitions of roids data structures. */
#ifndef _roids_h
#define _roids_h
#include <stdio.h>
#include <X11/Xos.h>
#include <math.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/cursorfont.h>
#include <X11/IntrinsicP.h>
#include <X11/StringDefs.h>
#define XtRFloat "Float"
#define rint(x) ((int) (x))
#define MIN(x, y) ((x) < (y) ? (x) : (y))
#define MAX(x, y) ((x) > (y) ? (x) : (y))
#define NPOINTS 3 /* Number of points on a ship. */
#ifdef MAIN
#define ext
#else
#define ext extern
#endif
/*
* Definitions to make us act as a widget.
*/
/* New fields for the Roids widget class record */
typedef struct {
int mumble; /* No new procedures */
} RoidsClassPart;
/* Full class record declaration */
typedef struct _RoidsClassRec {
CoreClassPart core_class;
RoidsClassPart roids_class;
} RoidsClassRec;
extern RoidsClassRec roidsClassRec;
extern WidgetClass roidsWidgetClass;
/* New fields for the Roids widget record */
typedef struct _RoidsPart {
int dummy;
} RoidsPart;
/* Full instance record declaration */
typedef struct _RoidsRec {
CorePart core;
RoidsPart roids;
} RoidsRec, *RoidsWidget;
/*
* Actual roids definitions.
*/
ext Boolean debug;
ext Display *dpy;
ext Window gamewindow;
ext RoidsWidget gamewidget;
ext int gamewidth, gameheight;
ext Widget toplevel, scorewidget;
ext int score;
ext int shipsleft;
/* Ship info: */
ext int shipradius;
ext int numdir;
ext int shipwait; /* Number of milleseconds to wait between */
/* moving ship. */
ext int numdestroyed;
ext XtIntervalId shiptimerid;
ext Pixel shippixel;
ext float maxv; /* Constant: what our maximum
velocity is. */
ext float accper; /* Constant: how fast we accelerate. */
ext Boolean shipdestroyed; /* TRUE if the ship is non-existant */
/* Rock info: */
ext XtIntervalId rocktimerid;
ext Pixel rockpixel;
ext int rockwait; /* Number of milleseconds to wait between */
/* moving rocks. */
ext float maxrockspeed; /* Constant: fastest velocity for a rock. */
/* Shot info. */
ext XtIntervalId shottimerid;
ext Pixel shotpixel;
ext int shotwait;
ext float shotacc; /* How many times faster a shot goes than */
/* the ship.*/
ext int maxshots; /* How many shots are allowed to exist at */
/* once. */
ext int shotduration; /* How long (in milleseconds) a shot lives. */
ext GC backgc, shipgc, rockgc, shotgc;
/* From widget.c */
extern Boolean TakeFocus();
extern void Quit();
/* From ship.c */
extern void MoveShip();
extern void ThrustOn();
extern void ThrustOff();
extern void RotateLeft();
extern void RotateRight();
extern void RotateOff();
extern void RotateToPoint();
extern void StopRotateToPoint();
extern void RotateMouseMoved();
extern void Fire();
/* From rocks.c */
extern Boolean CheckIfShipHitRocks();
extern Boolean AreaForShipIsClear();
extern Boolean LineHitsRock();
extern void MoveRocks();
extern void InitRocks();
/* From shot.c */
extern void AddShot();
extern void MoveShots();
#endif _roids_h