OSDN Git Service

Initial commit for ACC.
[zandronum/zandronum-acc.git] / common.h
1 \r
2 //**************************************************************************\r
3 //**\r
4 //** common.h\r
5 //**\r
6 //**************************************************************************\r
7 \r
8 #ifndef __COMMON_H__\r
9 #define __COMMON_H__\r
10 \r
11 // HEADER FILES ------------------------------------------------------------\r
12 \r
13 // MACROS ------------------------------------------------------------------\r
14 \r
15 #define ARRAY_SIZE(a)   (sizeof(a)/sizeof(*(a)))\r
16 #ifndef TRUE\r
17 #define TRUE 1\r
18 #endif\r
19 #ifndef FALSE\r
20 #define FALSE 0\r
21 #endif\r
22 #ifndef YES\r
23 #define YES 1\r
24 #endif\r
25 #ifndef NO\r
26 #define NO 0\r
27 #endif\r
28 // Increased limits - Ty 03jan2000\r
29 // 32 is okay\r
30 #define MAX_IDENTIFIER_LENGTH 32\r
31 // 256 long quoted string is okay\r
32 #define MAX_QUOTED_LENGTH 256\r
33 // 512 max file name is okay in DOS/Win\r
34 #define MAX_FILE_NAME_LENGTH 512\r
35 // Was 64\r
36 #define MAX_SCRIPT_COUNT 1000\r
37 // Was 32\r
38 #define MAX_MAP_VARIABLES 128\r
39 // Left alone--there's something in the docs about this...\r
40 // [RH] Bumped up to 20 for fun.\r
41 #define MAX_SCRIPT_VARIABLES 20\r
42 // Was 64\r
43 #define MAX_WORLD_VARIABLES 256\r
44 // [RH] New\r
45 #define MAX_GLOBAL_VARIABLES 64\r
46 // Was 128\r
47 #define MAX_STRINGS 32768\r
48 // Don't know what this is\r
49 #define DEFAULT_OBJECT_SIZE 65536\r
50 // Added Ty 07Jan2000 for error details\r
51 #define MAX_STATEMENT_LENGTH 4096\r
52 \r
53 #define MAX_LANGUAGES 256\r
54 \r
55 #define MAX_FUNCTION_COUNT 256\r
56 \r
57 #define MAX_IMPORTS 256\r
58 \r
59 // Maximum number of translations that can be used\r
60 #define MAX_TRANSLATIONS 32\r
61 \r
62 enum\r
63 {\r
64         STRLIST_PICS,\r
65         STRLIST_FUNCTIONS,\r
66         STRLIST_MAPVARS,\r
67 \r
68         NUM_STRLISTS\r
69 };\r
70 \r
71 // These are just defs and have not been messed with\r
72 #define ASCII_SPACE 32\r
73 #define ASCII_QUOTE 34\r
74 #define ASCII_UNDERSCORE 95\r
75 #define EOF_CHARACTER 127\r
76 #ifdef __NeXT__\r
77 #define DIRECTORY_DELIMITER "/"\r
78 #define DIRECTORY_DELIMITER_CHAR ('/')\r
79 #else\r
80 #define DIRECTORY_DELIMITER "\\"\r
81 #define DIRECTORY_DELIMITER_CHAR ('\\')\r
82 #endif\r
83 \r
84 \r
85 \r
86 #define MAKE4CC(a,b,c,d)        ((a)|((b)<<8)|((c)<<16)|((d)<<24))\r
87 \r
88 // TYPES -------------------------------------------------------------------\r
89 \r
90 typedef unsigned long   boolean;\r
91 typedef unsigned char   byte;\r
92 typedef signed char             S_BYTE;\r
93 typedef unsigned char   U_BYTE;\r
94 typedef signed short    S_WORD;\r
95 typedef unsigned short  U_WORD;\r
96 typedef signed long             S_LONG;\r
97 typedef unsigned long   U_LONG;\r
98 \r
99 enum ImportModes\r
100 {\r
101         IMPORT_None,\r
102         IMPORT_Importing,\r
103         IMPORT_Exporting\r
104 };\r
105 \r
106 // PUBLIC FUNCTION PROTOTYPES ----------------------------------------------\r
107 \r
108 // PUBLIC DATA DECLARATIONS ------------------------------------------------\r
109 \r
110 #endif\r