home *** CD-ROM | disk | FTP | other *** search
- #undef EXTERN
- #ifdef __DEFINE_VARS
- # define EXTERN
- #else
- # define EXTERN extern
- #endif
-
- #ifdef __riscos
- # include "systems/riscos/stdint.h"
- #else
- # include "systems/msdos/stdint.h"
- #endif
- #include <stdio.h>
-
- #ifdef __riscos
- # define CONFIGREAD "Choices:ManicMiner"
- # define CONFIGWRITE "<Choices$Write>.ManicMiner"
- # define DATANAME "<Manic$Dir>.set0/lev"
- # define GFXDATA "<Manic$Dir>.gfxdata."
- #else
- # define CONFIGREAD "mm-conf.cfg"
- # define CONFIGWRITE "mm-conf.cfg"
- # define DATANAME "set0.lev"
- # define GFXDATA "gfxdata/"
- # define MUSIC_MOD "snddata/manic.xm"
- # define DIE_WAV "snddata/die.wav"
- # define PICK_WAV "snddata/pick.wav"
- # define JUMP_WAV "snddata/jump.wav"
- #endif
-
- #ifdef __riscos
- typedef unsigned int WORD;
- typedef signed int SWORD;
- #else
- typedef unsigned short WORD;
- typedef signed short SWORD;
- #endif
- typedef unsigned char BYTE;
-
- #define UNDEF 0xFF00
-
- typedef struct
- {
- WORD x, y;
- }
- coords_t;
-
- typedef struct
- {
- BYTE ink, paper, gfx;
- }
- scenery_t;
-
- typedef struct
- {
- BYTE ink, paper;
- }
- colour_t;
-
- typedef struct
- {
- colour_t colour;
- BYTE d, s;
- coords_t pos;
- WORD min, max;
- WORD gfx;
- BYTE flip, anim;
- coords_t old[2];
- }
- robo_t;
-
- typedef struct
- {
- coords_t pos;
- BYTE s;
- } switch_t;
-
- EXTERN int_fast16_t xoffset, yoffset;
- EXTERN int_fast16_t scrnwidth, scrnheight;
- EXTERN int_fast8_t gfxpage;
-
-
- /* from globals */
-
- EXTERN const char *dataname;
- EXTERN unsigned long Old_Isr;
-
- #define XMIN 1
- #define X320x200 1
- #define X320x240 2
- #define X320x400 3
- #define X360x240 4
- #define XMAX 4
-
- EXTERN int SCXOFF;
- EXTERN int SCYOFF;
-
- EXTERN BYTE VidMode;
- EXTERN BYTE ResetHigh;
- EXTERN BYTE DoubleSize;
- EXTERN BYTE VS;
- #ifdef __riscos
- extern BYTE VidMode;
- extern int hires_ok; /* rename me */
- #endif
- extern const char VERSION[10];
-
- EXTERN char LEVELSNAME[16];
-
- #define KONGPAUSE 8
-
- EXTERN BYTE PALwhite[768];
- EXTERN BYTE PALblack[768];
- EXTERN BYTE PALfade[768];
- EXTERN BYTE PALover[768];
-
- EXTERN BYTE bMAP[512];
- EXTERN BYTE bCRUMB[512];
- EXTERN char bTITLE[33];
-
- EXTERN colour_t cBG;
- EXTERN scenery_t sPLAT1;
- EXTERN scenery_t sPLAT2;
- EXTERN scenery_t sWALL;
- EXTERN scenery_t sCRUMB;
- EXTERN scenery_t sKILL1;
- EXTERN scenery_t sKILL2;
- EXTERN scenery_t sCONV;
-
- EXTERN BYTE cBORDER;
-
-
- EXTERN struct
- {
- coords_t pos, old[2];
- WORD f;
- BYTE d, m, j;
- BYTE buff[2][256];
- SWORD fall, jp;
- }
- cWILLY;
-
- EXTERN struct
- {
- coords_t pos;
- BYTE d, l, f, m, one;
- }
- cCONV;
-
- EXTERN struct
- {
- coords_t pos;
- BYTE b, s;
- }
- cKEY[5];
-
- EXTERN BYTE cKEYgfx;
-
- EXTERN switch_t cSWITCH[2];
-
- EXTERN struct
- {
- coords_t pos;
- BYTE b, m, gfx;
- }
- cEXIT;
-
- EXTERN BYTE cAIR;
- EXTERN BYTE cAIRp;
-
- EXTERN robo_t cHROBO[4], cVROBO[4];
-
- EXTERN struct
- {
- coords_t pos, old[2];
- WORD min, max;
- BYTE d, m, c;
- }
- EUGENE;
-
- EXTERN BYTE SWITCHm[2];
-
- EXTERN WORD HOLEy;
- EXTERN BYTE HOLEl;
-
- EXTERN struct
- {
- coords_t pos, old[2];
- WORD max;
- BYTE m, c, f, p;
- }
- KONG;
-
- EXTERN struct
- {
- coords_t pos, old[2];
- WORD max;
- BYTE s, m, c, f, p;
- }
- SKY[3];
-
- EXTERN BYTE DEATHm;
- EXTERN WORD DEATHc;
-
- EXTERN WORD BOOTy;
-
- EXTERN struct
- {
- WORD y, yold[2];
- BYTE m, h, hold[2];
- BYTE buff[2][384];
- }
- SUN;
-
- EXTERN coords_t SPG[64][2];
-
- EXTERN unsigned long SCORE;
- EXTERN unsigned long HISCORE;
- EXTERN unsigned long EXTRA;
- EXTERN unsigned long EXTRAdelta;
- EXTERN BYTE EXTRAm;
- EXTERN BYTE EXTRAc;
-
- EXTERN WORD LIVES;
- EXTERN BYTE LIVESf;
- EXTERN BYTE LIVESp;
- EXTERN BYTE LEVEL;
-
- EXTERN BYTE MUSICon;
- EXTERN BYTE PAUSEtype;
-
- EXTERN BYTE old;
-
- EXTERN BYTE SPEED;
-
- EXTERN BYTE MODE;
- EXTERN BYTE GAMEm;
-
- EXTERN BYTE DEMOm;
- EXTERN BYTE DEMOp;
-
- EXTERN BYTE TITLEm;
- EXTERN BYTE TITLEwf;
- EXTERN BYTE TITLEwp;
-
- EXTERN BYTE OVERm;
- EXTERN BYTE OVERink;
- EXTERN BYTE OVERp;
-
- EXTERN BYTE INK;
- EXTERN BYTE PAPER;
-
- EXTERN BYTE CHEAT;
- EXTERN BYTE CHEATp;
- EXTERN BYTE CHEATh;
- EXTERN BYTE CHEATkey[6];
-
- EXTERN BYTE PAUSE;
- EXTERN BYTE LASTm;
- EXTERN WORD LASTc;
- EXTERN BYTE LASTp;
- EXTERN WORD WINDOW[16];
-
- EXTERN struct
- {
- BYTE m, point, ink, fade;
- WORD pause;
- }
- TEXT;
-
- EXTERN BYTE LOADm;
- EXTERN BYTE LOADp;
-
- EXTERN BYTE CHAN[9];
-
- EXTERN BYTE TONKS;
-
- #define INGAMEpc 0x00
- #define INGAMEspec 0x09
- #define TITLEmusic 0x0d
- #define OPTIONSmusic 0x12
- #define FINALcavern 0x16
- #define ENDsequence 0x20
- #define STOPmusic 0x11
-
- EXTERN BYTE MUSICtype;
- EXTERN BYTE VOL;
-
- EXTERN BYTE MUSICh;
-
- EXTERN BYTE FORCE;
-