]> git.sur5r.net Git - c128-kasse/blob - config.c
merge
[c128-kasse] / config.c
1 #include <stdlib.h>
2 #include <stdio.h>
3 #include <string.h>
4 #include "general.h"
5 #include "config.h"
6
7 unsigned long int money = 0;
8 unsigned long int num_items = 0;
9 BYTE num_credit_items = 0;
10 unsigned long int items_sold = 0;
11 BYTE printer_port = 4;
12 struct status_t status[MAX_ITEMS+1];
13 struct credits_t credits[MAX_CREDIT_ITEMS+1];
14
15 #ifdef REAL_DATA
16 void load_config();
17
18
19 void load_items(){
20         FILE* f;
21         char line[80];
22         char * sep;
23         f = fopen("items", "r");
24         for (num_items=0; num_items < MAX_ITEMS && !feof(f); num_items++) {
25                 fgets(line, 79, f);
26                 sep = strchr(line, '=');
27                 strncpy(status[num_items].item_name, line, sep-line);
28                 status[num_items].price = atoi(sep+1);
29                 status[num_items].times_sold = 0; 
30         }
31         
32 }
33
34 /**
35  * must be called after load_items()
36  */
37 void load_state(){
38     FILE* f;
39     char line[80];
40     char * sep;
41     char i, j;
42     f = fopen("state", "r");
43     if (f==NULL){
44         printf("cannot open state\n");
45         return;
46     }
47     while (!feof(f)) {
48         fgets(line, 79, f);
49         sep = strchr(line, '=');
50         *(line + (sep-line)) = 0;
51         for (i=0; i< MAX_ITEMS; i++) {
52                 if (strcmp(line, status[i].item_name)==0) {
53                         status[i].times_sold = atoi(sep+1);
54                         break;
55                 }
56         }
57     }
58 }
59
60 void save_state(){}
61
62 void load_config() {
63 }
64
65 #else
66
67 void load_config() {
68 }
69
70 void load_items() {
71         BYTE c;
72         num_items=2;
73         strcpy(status[0].item_name, "cola");
74         status[0].price = 230;
75         status[0].times_sold = 0;
76         strcpy(status[1].item_name, "mate");
77         status[1].price = 150;
78         status[1].times_sold = 0;
79         for (c = 2; c < MAX_ITEMS; ++c)
80                 status[c].item_name[0] = 0;
81 }
82
83 void load_state() {
84         status[0].times_sold=23;        
85         status[1].times_sold=42;        
86 }
87
88 void load_credits() {
89 }
90
91 void save_state() {
92 }
93
94 void save_credits() {}
95 #endif