rnd-20090919-1-src
[rocksndiamonds.git] / src / game_sp / vb_lib.c
1 // ----------------------------------------------------------------------------
2 // vb_lib.c
3 // ----------------------------------------------------------------------------
4
5 #include "vb_types.h"
6 #include "vb_defs.h"
7 #include "vb_vars.h"
8 #include "vb_lib.h"
9
10 #include "main_sp.h"
11
12 #include <sys/stat.h>
13
14
15 /* helper functions for constructs not supported by C */
16 void *REDIM_1D(int a, int b, int c)
17 {
18   return checked_calloc(a * (c - b + 1));
19 }
20
21 void *REDIM_2D(int a, int b, int c, int d, int e)
22 {
23   return 0;
24 }
25
26 boolean IS_NOTHING(void *a, int b)
27 {
28   return 0;
29 }
30
31 void SET_TO_NOTHING(void *a, int b)
32 {
33   return;
34 }
35
36 void MESSAGE_BOX(char *a)
37 {
38   return;
39 }
40
41
42 char *CAT(const char *a, ...)
43 {
44   return 0;
45 }
46
47 char *GET_PATH(char *a, ...)
48 {
49   return 0;
50 }
51
52 char *INT_TO_STR(int a)
53 {
54   return 0;
55 }
56
57
58 boolean STRING_IS_LIKE(char *a, char *b)
59 {
60   if (*b == '*')                // something like "*.sp"
61   {
62     return (strSuffix(a, &b[1]));
63   }
64   else
65   {
66     // more sophisticated patterns currently not supported
67
68     return 0;
69   }
70 }
71
72
73 void FILE_GET(FILE *file, int offset, void *buffer, int num_bytes)
74 {
75   fseek(file, offset - 1, SEEK_SET);
76
77   while (num_bytes--)
78     *(byte *)buffer++ = fgetc(file);
79 }
80
81 int FILE_PUT(FILE *a, int b, void *c, int d)
82 {
83   return 0;
84 }
85
86
87 /* this is just a workaround -- handle array definitions later */
88 void *Array(int a, ...)
89 {
90   return 0;
91 }
92
93
94 /* VB functions that do not return "int" (and would cause compiler errors) */
95 double Val(char *a)
96 {
97   return 0;
98 }
99
100 char *Left(char *a, int b)
101 {
102   return 0;
103 }
104
105 char *left(char *a, int b)
106 {
107   return 0;
108 }
109
110 char *Right(char *a, int b)
111 {
112   return 0;
113 }
114
115 char *right(char *a, int b)
116 {
117   return 0;
118 }
119
120 char *StrReverse(char *a)
121 {
122   return 0;
123 }
124
125 int InStr(int a, char *b, char *c)
126 {
127   return 0;
128 }
129
130 char *Dir(char *a)
131 {
132   return 0;
133 }
134
135 char *Dir_Without_Args()
136 {
137   return 0;
138 }
139
140 void Kill(char *a)
141 {
142   return;
143 }
144
145 char *Chr(int a)
146 {
147   return 0;
148 }
149
150 char *String(int a, char *b)
151 {
152   return 0;
153 }
154
155 void MkDir(char *a)
156 {
157   return;
158 }
159
160 char *Hex(int a)
161 {
162   return 0;
163 }
164
165
166 int FileLen(char *a)
167 {
168   struct stat buffer;
169
170   if (stat(a, &buffer) == 0)
171   {
172     return buffer.st_size;
173   }
174   else
175   {
176     return 0;
177   }
178 }
179
180 long GetTickCount()
181 {
182   return random_linux_libc(RANDOM_SIMPLE);
183 }
184
185 int GetAttr(char *a)
186 {
187   return 0;
188 }
189
190 void DoEvents()
191 {
192   return;
193 }
194
195 void SaveSetting(const char * a, const char *b, char *c, int d)
196 {
197   return;
198 }
199
200 long GetTempPath(long a, char *b)
201 {
202   return 0;
203 }