1 /* File: init.h */
2 
3 /*
4  * Copyright (c) 2000 Robert Ruehlmann
5  *
6  * This software may be copied and distributed for educational, research,
7  * and not for profit purposes provided that this copyright and statement
8  * are included in all such copies.
9  */
10 
11 #ifndef INCLUDED_INIT_H
12 #define INCLUDED_INIT_H
13 
14 #include "../common/h-basic.h"
15 
16 
17 /*
18  * Parse errors
19  */
20 #define PARSE_ERROR_GENERIC                  1
21 #define PARSE_ERROR_OBSOLETE_FILE            2
22 #define PARSE_ERROR_MISSING_RECORD_HEADER    3
23 #define PARSE_ERROR_NON_SEQUENTIAL_RECORDS   4
24 #define PARSE_ERROR_INVALID_FLAG             5
25 #define PARSE_ERROR_UNDEFINED_DIRECTIVE      6
26 #define PARSE_ERROR_OUT_OF_MEMORY            7
27 #define PARSE_ERROR_OUT_OF_BOUNDS            8
28 #define PARSE_ERROR_TOO_FEW_ARGUMENTS        9
29 #define PARSE_ERROR_TOO_MANY_ARGUMENTS      10
30 #define PARSE_ERROR_TOO_MANY_ALLOCATIONS    11
31 #define PARSE_ERROR_INVALID_SPELL_FREQ      12
32 #define PARSE_ERROR_INVALID_ITEM_NUMBER     13
33 #define PARSE_ERROR_TOO_MANY_ENTRIES        14
34 #define PARSE_ERROR_VAULT_TOO_BIG           15
35 
36 #define PARSE_ERROR_MAX                     16
37 
38 extern errr init_info_txt(ang_file* fp, char *buf, header *head,
39                           parse_info_txt_func parse_info_txt_line);
40 
41 #ifdef ALLOW_TEMPLATES
42 extern errr parse_z_info(char *buf, header *head);
43 extern errr parse_v_info(char *buf, header *head);
44 extern errr parse_f_info(char *buf, header *head);
45 extern errr parse_k_info(char *buf, header *head);
46 extern errr parse_a_info(char *buf, header *head);
47 extern errr parse_e_info(char *buf, header *head);
48 extern errr parse_r_info(char *buf, header *head);
49 extern errr parse_p_info(char *buf, header *head);
50 extern errr parse_c_info(char *buf, header *head);
51 extern errr parse_h_info(char *buf, header *head);
52 extern errr parse_b_info(char *buf, header *head);
53 extern errr parse_g_info(char *buf, header *head);
54 extern errr parse_flavor_info(char *buf, header *head);
55 
56 /*
57  * Error tracking
58  */
59 extern s16b error_idx;
60 extern s16b error_line;
61 
62 #endif /* ALLOW_TEMPLATES */
63 
64 
65 /*
66  * File headers
67  */
68 extern header z_head;
69 extern header v_head;
70 extern header f_head;
71 extern header k_head;
72 extern header a_head;
73 extern header e_head;
74 extern header r_head;
75 extern header p_head;
76 extern header c_head;
77 extern header h_head;
78 extern header b_head;
79 extern header g_head;
80 extern header flavor_head;
81 
82 #endif /* INCLUDED_INIT_H */
83