Create a cheater to test strange save/resume cases.
[open-adventure.git] / cheat.c
1 #define DEFINE_GLOBALS_FROM_INCLUDES
2 #include <stdlib.h>
3 #include <stdio.h>
4 #include <stdbool.h>
5 #include <time.h>
6 #include "advent.h"
7 #include "database.h"
8 #include "linenoise/linenoise.h"
9 #include "newdb.h"
10
11 struct game_t game;
12
13 long LNLENG, LNPOSN;
14 char rawbuf[LINESIZE], INLINE[LINESIZE + 1];
15
16 long AMBER, AXE, BACK, BATTERY, BEAR, BIRD, BLOOD,
17      BOTTLE, CAGE, CAVE, CAVITY, CHAIN, CHASM, CHEST,
18      CLAM, COINS, DOOR, DPRSSN, DRAGON, DWARF, EGGS,
19      EMERALD, ENTER, ENTRNC, FIND, FISSURE, FOOD,
20      GRATE, HINT, INVENT, JADE, KEYS,
21      KNIFE, LAMP, LOCK, LOOK, MAGAZINE,
22      MESSAG, MIRROR, NUGGET, NUL, OGRE, OIL, OYSTER,
23      PEARL, PILLOW, PLANT, PLANT2, PYRAMID, RESER, ROD, ROD2,
24      RUBY, RUG, SAPPH, SAY, SIGN, SNAKE,
25      STEPS, STREAM, THROW, TRIDENT, TROLL, TROLL2,
26      URN, VASE, VEND, VOLCANO, WATER;
27
28 FILE  *logfp = NULL, *rfp = NULL;
29 bool oldstyle = false;
30 bool editline = true;
31 bool prompt = true;
32
33 int main(int argc, char *argv[])
34 {
35     FILE *fp = NULL;
36
37     game.lcg_a = 1093;
38     game.lcg_c = 221587;
39     game.lcg_m = 1048576;
40     srand(time(NULL));
41     long seedval = (long)rand();
42     set_seed(seedval);
43
44     /*  Initialize game variables */
45     initialise();
46
47     game.zzword = rndvoc(3, 0);
48     game.newloc = LOC_START;
49     game.loc = LOC_START;
50     game.limit = GAMELIMIT;
51     game.numdie = -1000;
52     game.saved = 1;
53     
54     fp = fopen("cheat_numdie.adv", WRITE_MODE);
55     if (fp == NULL)
56     {
57         printf("Can't open file. Exiting.\n");
58         exit(0);
59     }        
60
61     savefile(fp);
62     printf("cheat: tests/cheat_numdie.adv created.\n");
63     return 0;
64 }