Minimal forward-port to modern C - just enough to get it to compile.
This commit is contained in:
parent
24d7aeaf8a
commit
50ab7b9d47
4 changed files with 26 additions and 14 deletions
3
Makefile
3
Makefile
|
@ -21,3 +21,6 @@ actions2.o: misc.h main.h share.h funcs.h
|
||||||
score.o: misc.h main.h share.h
|
score.o: misc.h main.h share.h
|
||||||
|
|
||||||
misc.o: misc.h main.h
|
misc.o: misc.h main.h
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *.o adventure
|
||||||
|
|
|
@ -17,7 +17,7 @@ extern carry(), discard(long), attack(), throw(), feed(), fill();
|
||||||
/* ANALYSE A VERB. REMEMBER WHAT IT WAS, GO BACK FOR OBJECT IF SECOND WORD
|
/* ANALYSE A VERB. REMEMBER WHAT IT WAS, GO BACK FOR OBJECT IF SECOND WORD
|
||||||
* UNLESS VERB IS "SAY", WHICH SNARFS ARBITRARY SECOND WORD. */
|
* UNLESS VERB IS "SAY", WHICH SNARFS ARBITRARY SECOND WORD. */
|
||||||
|
|
||||||
action(STARTAT)long STARTAT; {
|
int action(STARTAT)long STARTAT; {
|
||||||
switch(STARTAT) {
|
switch(STARTAT) {
|
||||||
case 4000: goto L4000;
|
case 4000: goto L4000;
|
||||||
case 4090: goto L4090;
|
case 4090: goto L4090;
|
||||||
|
|
26
init.c
26
init.c
|
@ -3,6 +3,7 @@
|
||||||
#include "share.h"
|
#include "share.h"
|
||||||
#include "funcs.h"
|
#include "funcs.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
|
||||||
#define TRUE (0==0)
|
#define TRUE (0==0)
|
||||||
#define FALSE (0!=0)
|
#define FALSE (0!=0)
|
||||||
|
@ -164,13 +165,20 @@
|
||||||
* %B = VARIABLE NUMBER OF BLANKS
|
* %B = VARIABLE NUMBER OF BLANKS
|
||||||
* %! = THE ENTIRE MESSAGE SHOULD BE SUPPRESSED */
|
* %! = THE ENTIRE MESSAGE SHOULD BE SUPPRESSED */
|
||||||
|
|
||||||
initialise() {
|
static bool quick_init(void);
|
||||||
|
static int raw_init(void);
|
||||||
|
static void report(void);
|
||||||
|
static void quick_save(void);
|
||||||
|
static int finish_init(void);
|
||||||
|
static void quick_io(void);
|
||||||
|
|
||||||
|
void initialise() {
|
||||||
printf("Initialising...\n");
|
printf("Initialising...\n");
|
||||||
if(!quick_init()){raw_init(); report(); quick_save();}
|
if(!quick_init()){raw_init(); report(); quick_save();}
|
||||||
finish_init();
|
finish_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
static raw_init() {
|
static int raw_init(void) {
|
||||||
printf("Couldn't find adventure.data, using adventure.text...\n");
|
printf("Couldn't find adventure.data, using adventure.text...\n");
|
||||||
|
|
||||||
/* CLEAR OUT THE VARIOUS TEXT-POINTER ARRAYS. ALL TEXT IS STORED IN ARRAY
|
/* CLEAR OUT THE VARIOUS TEXT-POINTER ARRAYS. ALL TEXT IS STORED IN ARRAY
|
||||||
|
@ -366,7 +374,7 @@ L1092: LOCSND[K]=KK;
|
||||||
* CORRECT LINK TO USE.) ABB IS ZEROED; IT CONTROLS WHETHER THE ABBREVIATED
|
* CORRECT LINK TO USE.) ABB IS ZEROED; IT CONTROLS WHETHER THE ABBREVIATED
|
||||||
* DESCRIPTION IS PRINTED. COUNTS MOD 5 UNLESS "LOOK" IS USED. */
|
* DESCRIPTION IS PRINTED. COUNTS MOD 5 UNLESS "LOOK" IS USED. */
|
||||||
|
|
||||||
static finish_init() {
|
static int finish_init(void) {
|
||||||
/* 1101 */ for (I=1; I<=100; I++) {
|
/* 1101 */ for (I=1; I<=100; I++) {
|
||||||
PLACE[I]=0;
|
PLACE[I]=0;
|
||||||
PROP[I]=0;
|
PROP[I]=0;
|
||||||
|
@ -590,7 +598,7 @@ L1800: {long x = 2*I+81; if(RTEXT[x] != 0)MAXDIE=I+1;}
|
||||||
|
|
||||||
/* REPORT ON AMOUNT OF ARRAYS ACTUALLY USED, TO PERMIT REDUCTIONS. */
|
/* REPORT ON AMOUNT OF ARRAYS ACTUALLY USED, TO PERMIT REDUCTIONS. */
|
||||||
|
|
||||||
static report() {
|
static void report(void) {
|
||||||
/* 1998 */ for (K=1; K<=LOCSIZ; K++) {
|
/* 1998 */ for (K=1; K<=LOCSIZ; K++) {
|
||||||
KK=LOCSIZ+1-K;
|
KK=LOCSIZ+1-K;
|
||||||
if(LTEXT[KK] != 0) goto L1997;
|
if(LTEXT[KK] != 0) goto L1997;
|
||||||
|
@ -632,7 +640,7 @@ static FILE *f;
|
||||||
static void quick_item(long*);
|
static void quick_item(long*);
|
||||||
static void quick_array(long*, long);
|
static void quick_array(long*, long);
|
||||||
|
|
||||||
static quick_init() {
|
static bool quick_init(void) {
|
||||||
#ifdef AMIGA
|
#ifdef AMIGA
|
||||||
f = fopen("ram:adventure.data", READ_MODE);
|
f = fopen("ram:adventure.data", READ_MODE);
|
||||||
#else
|
#else
|
||||||
|
@ -652,19 +660,18 @@ static quick_init() {
|
||||||
return(init_cksum == 0);
|
return(init_cksum == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static quick_save() {
|
static void quick_save(void) {
|
||||||
printf("Writing adventure.data...\n");
|
printf("Writing adventure.data...\n");
|
||||||
f = fopen("adventure.data",WRITE_MODE);
|
f = fopen("adventure.data",WRITE_MODE);
|
||||||
if(f == NULL){printf("Can't open file!\n"); return(0);}
|
if(f == NULL){printf("Can't open file!\n"); return;}
|
||||||
init_reading = FALSE;
|
init_reading = FALSE;
|
||||||
init_cksum = 1;
|
init_cksum = 1;
|
||||||
quick_io();
|
quick_io();
|
||||||
fwrite(&init_cksum,4,1,f);
|
fwrite(&init_cksum,4,1,f);
|
||||||
fclose(f);
|
fclose(f);
|
||||||
return(0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static quick_io() {
|
static void quick_io(void) {
|
||||||
quick_item(&LINUSE);
|
quick_item(&LINUSE);
|
||||||
quick_item(&TRVS);
|
quick_item(&TRVS);
|
||||||
quick_item(&CLSSES);
|
quick_item(&CLSSES);
|
||||||
|
@ -692,7 +699,6 @@ static quick_io() {
|
||||||
quick_array(FIXD,100);
|
quick_array(FIXD,100);
|
||||||
quick_array(ACTSPK,VRBSIZ);
|
quick_array(ACTSPK,VRBSIZ);
|
||||||
quick_array((long *)HINTS,(HNTMAX+1)*5-1);
|
quick_array((long *)HINTS,(HNTMAX+1)*5-1);
|
||||||
return(0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void quick_item(W)long *W; {
|
static void quick_item(W)long *W; {
|
||||||
|
|
9
main.c
9
main.c
|
@ -1,3 +1,6 @@
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
#ifdef __MSDOS__
|
#ifdef __MSDOS__
|
||||||
#include "alloc.h"
|
#include "alloc.h"
|
||||||
|
@ -35,15 +38,15 @@ long ABBNUM, ACTSPK[36], AMBER, ATTACK, AXE, BACK, BATTER, BEAR, BIRD, BLOOD, BO
|
||||||
VOLCAN, VRBSIZ = 35, VRSION = 25, WATER, WD1, WD1X, WD2, WD2X,
|
VOLCAN, VRBSIZ = 35, VRSION = 25, WATER, WD1, WD1X, WD2, WD2X,
|
||||||
WZDARK = FALSE, ZZWORD;
|
WZDARK = FALSE, ZZWORD;
|
||||||
|
|
||||||
extern initialise();
|
extern void initialise();
|
||||||
extern void score(long);
|
extern void score(long);
|
||||||
extern action(long);
|
extern int action(long);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* MAIN PROGRAM
|
* MAIN PROGRAM
|
||||||
*/
|
*/
|
||||||
|
|
||||||
main() {
|
int main() {
|
||||||
|
|
||||||
/* ADVENTURE (REV 2: 20 TREASURES) */
|
/* ADVENTURE (REV 2: 20 TREASURES) */
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue