ScummVM API documentation
forbidden.h
Go to the documentation of this file.
1 /* ScummVM - Graphic Adventure Engine
2  *
3  * ScummVM is the legal property of its developers, whose names
4  * are too numerous to list here. Please refer to the COPYRIGHT
5  * file distributed with this source distribution.
6  *
7  * This program is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation, either version 3 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program. If not, see <http://www.gnu.org/licenses/>.
19  *
20  */
21 
22 #ifndef COMMON_FORBIDDEN_H
23 #define COMMON_FORBIDDEN_H
24 
41 #ifndef FORBIDDEN_SYMBOL_ALLOW_ALL
42 
43 // Make sure scummsys.h is always included first
44 #include "common/scummsys.h"
45 
46 
57 // Use debug and warning in common/textconsole.h
58 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_printf
59 #undef printf
60 #define printf FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
61 #endif
62 
63 // Use g_system->getSaveFileManager()->openForSaving
64 // to create output streams and use the stream's methods
65 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_fprintf
66 #undef fprintf
67 #define fprintf FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
68 #endif
69 
70 // Use Common::String::format to format strings,
71 // and then debug or warning to output to console
72 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_vprintf
73 #undef vprintf
74 #define vprintf FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
75 #endif
76 
77 // Use Common::String::format to format strings,
78 // and then use the save file manager's methods to write
79 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_vfprintf
80 #undef vfprintf
81 #define vfprintf FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
82 #endif
83 
84 // Use Common::File in common/file.h
85 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_FILE
86 #undef FILE
87 #define FILE FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
88 #endif
89 
90 // Use g_system->getEventManager()->pollEvent to
91 // get events, one type of which is keyboard events
92 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_stdin
93 #undef stdin
94 #define stdin FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
95 #endif
96 
97 // Use debug and warning in common/textconsole.h
98 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_stdout
99 #undef stdout
100 #define stdout FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
101 #endif
102 
103 // Use debug and warning in common/textconsole.h
104 // ScummVM also has an error method, but this also
105 // exits the program immediately
106 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_stderr
107 #undef stderr
108 #define stderr FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
109 #endif
110 
111 // Use Common::File in common/file.h
112 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_fopen
113 #undef fopen
114 #define fopen(a,b) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
115 #endif
116 
117 // Use Common::File in common/file.h
118 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_fclose
119 #undef fclose
120 #define fclose(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
121 #endif
122 
123 // Use Common::File in common/file.h
124 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_fread
125 #undef fread
126 #define fread(a,b,c,d) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
127 #endif
128 
129 // Use Common::File in common/file.h
130 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_fwrite
131 #undef fwrite
132 #define fwrite(a,b,c,d) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
133 #endif
134 
135 // Use Common::File in common/file.h
136 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_fseek
137 #undef fseek
138 #define fseek(a,b,c) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
139 #endif
140 
141 // Use Common::File in common/file.h
142 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_ftell
143 #undef ftell
144 #define ftell(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
145 #endif
146 
147 // Use Common::File in common/file.h
148 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_feof
149 #undef feof
150 #define feof(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
151 #endif
152 
153 // Use Common::File in common/file.h
154 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_fgetc
155 #undef fgetc
156 #define fgetc(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
157 #endif
158 
159 // For writing to files use the save file manager
160 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_fputc
161 #undef fputc
162 #define fputc(a,b) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
163 #endif
164 
165 // Use Common::File in common/file.h
166 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_fgets
167 #undef fgets
168 #define fgets(a,b,c) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
169 #endif
170 
171 // For writing to files use the save file manager
172 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_fputs
173 #undef fputs
174 #define fputs(a,b) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
175 #endif
176 
177 // Use g_system->getEventManager()->pollEvent to
178 // get events, one type of which is keyboard events
179 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_getc
180 #undef getc
181 #define getc(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
182 #endif
183 
184 // Use debug and warning in common/textconsole.h
185 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_putc
186 #undef putc
187 #define putc(a,b) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
188 #endif
189 
190 // Use g_system->getEventManager()->pollEvent to
191 // get events, one type of which is keyboard events
192 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_gets
193 #undef gets
194 #define gets(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
195 #endif
196 
197 // Use debug and warning in common/textconsole.h
198 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_puts
199 #undef puts
200 #define puts(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
201 #endif
202 
203 // Use g_system->getEventManager()->pollEvent to
204 // get events, one type of which is keyboard events
205 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_getchar
206 #undef getchar
207 #define getchar() FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
208 #endif
209 
210 // Use debug and warning in common/textconsole.h
211 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_putchar
212 #undef putchar
213 #define putchar(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
214 #endif
215 
216 // No equivalent in ScummVM
217 // mingw-w64 uses [set|long]jmp in system headers
218 #if !defined __MINGW64__ && ! defined __MINGW32__
219 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_setjmp
220 #undef setjmp
221 #define setjmp(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
222 #endif
223 
224 // No equivalent in ScummVM
225 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_longjmp
226 #undef longjmp
227 #define longjmp(a,b) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
228 #endif
229 #endif // __MINGW64__ __MINGW32__
230 
231 // No equivalent in ScummVM. The functionality of
232 // any system calls need to reimplemented as code
233 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_system
234 #undef system
235 #define system(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
236 #endif
237 
238 // You can either use error in common/textconsole.h
239 // to force stopping your engine, or do a call
240 // g_engine->quitGame(). For the latter, make sure to
241 // do g_engine->shouldQuit() checks in the loops of any
242 // calling methods so execution can break out of them
243 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_exit
244 #undef exit
245 #define exit(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
246 #endif
247 
248 // Use error or quitGame
249 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_abort
250 #undef abort
251 #define abort() FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
252 #endif
253 
254 // Use ConfMan in common/config-manager.h to save
255 // settings rather than environment variables
256 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_getenv
257 #undef getenv
258 #define getenv(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
259 #endif
260 
261 // Use ConfMan in common/config-manager.h to save
262 // settings rather than environment variables
263 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_putenv
264 #undef putenv
265 #define putenv(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
266 #endif
267 
268 // Use ConfMan in common/config-manager.h to save
269 // settings rather than environment variables
270 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_setenv
271 #undef setenv
272 #define setenv(a,b,c) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
273 #endif
274 
275 // Use ConfMan in common/config-manager.h to save
276 // settings rather than environment variables
277 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_unsetenv
278 #undef unsetenv
279 #define unsetenv(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
280 #endif
281 
282 
283 //
284 // Disable various symbols from time.h
285 // Use instead g_system->getTimeAndDate
286 //
287 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_time_h
288 
289  /*
290  #ifndef FORBIDDEN_SYMBOL_EXCEPTION_time_t
291  #undef time_t
292  #define time_t FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
293  #endif
294  */
295 
296  #ifndef FORBIDDEN_SYMBOL_EXCEPTION_asctime
297  #undef asctime
298  #define asctime(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
299  #endif
300 
301  #ifndef FORBIDDEN_SYMBOL_EXCEPTION_clock
302  #undef clock
303  #define clock() FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
304  #endif
305 
306  #ifndef FORBIDDEN_SYMBOL_EXCEPTION_ctime
307  #undef ctime
308  #define ctime(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
309  #endif
310 
311  #ifndef FORBIDDEN_SYMBOL_EXCEPTION_difftime
312  #undef difftime
313  #define difftime(a,b) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
314  #endif
315 
316  #ifndef FORBIDDEN_SYMBOL_EXCEPTION_getdate
317  #undef getdate
318  #define getdate(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
319  #endif
320 
321  #ifndef FORBIDDEN_SYMBOL_EXCEPTION_gmtime
322  #undef gmtime
323  #define gmtime(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
324  #endif
325 
326  #ifndef FORBIDDEN_SYMBOL_EXCEPTION_localtime
327  #undef localtime
328  #define localtime(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
329  #endif
330 
331  #ifndef FORBIDDEN_SYMBOL_EXCEPTION_mktime
332  #undef mktime
333  #define mktime(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
334  #endif
335 
336  #ifndef FORBIDDEN_SYMBOL_EXCEPTION_time
337  #undef time
338  #define time(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
339  #endif
340 
341 #endif // FORBIDDEN_SYMBOL_EXCEPTION_time_h
342 
343 //
344 // Disable various symbols from unistd.h
345 //
346 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_unistd_h
347 
348  // ScummVM does not allow changing the current directory
349  #ifndef FORBIDDEN_SYMBOL_EXCEPTION_chdir
350  #undef chdir
351  #define chdir(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
352  #endif
353 
354  // ScummVM has no equivalent for getting the current directory.
355  // However, you can use ConfMan.getPath("path") to get the
356  // running game's directory
357  #ifndef FORBIDDEN_SYMBOL_EXCEPTION_getcwd
358  #undef getcwd
359  #define getcwd(a,b) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
360  #endif
361 
362  // ScummVM has no equivalent for getting the current directory.
363  // However, you can use ConfMan.getPath("path") to get the
364  // running game's directory
365 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_getwd
366  #undef getwd
367  #define getwd(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
368  #endif
369 
370  // ScummVM only allows deleting save files, via the
371  // save file manager's removeSavefile method
372  #ifndef FORBIDDEN_SYMBOL_EXCEPTION_unlink
373  #undef unlink
374  #define unlink(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
375  #endif
376 
377 #endif // FORBIDDEN_SYMBOL_EXCEPTION_unistd_h
378 
379 
380 //
381 // Disable various symbols from ctype.h
382 //
383 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_ctype_h
384 
385  // Use Common::isAlnum in common/util.h
386  #ifndef FORBIDDEN_SYMBOL_EXCEPTION_isalnum
387  #undef isalnum
388  #define isalnum(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
389  #endif
390 
391  // Use Common::isAlpha in common/util.h
392  #ifndef FORBIDDEN_SYMBOL_EXCEPTION_isalpha
393  #undef isalpha
394  #define isalpha(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
395  #endif
396 
397  // Use Common::isCntrl in common/util.h
398  #ifndef FORBIDDEN_SYMBOL_EXCEPTION_iscntrl
399  #undef iscntrl
400  #define iscntrl(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
401  #endif
402 
403  // Use Common::isDigit in common/util.h
404  #ifndef FORBIDDEN_SYMBOL_EXCEPTION_isdigit
405  #undef isdigit
406  #define isdigit(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
407  #endif
408 
409  // Use Common::isGraph in common/util.h
410  #ifndef FORBIDDEN_SYMBOL_EXCEPTION_isgraph
411  #undef isgraph
412  #define isgraph(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
413  #endif
414 
415  // Use Common::isDigit in common/util.h
416  #ifndef FORBIDDEN_SYMBOL_EXCEPTION_isnumber
417  #undef isnumber
418  #define isnumber(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
419  #endif
420 
421  // Use Common::isLower in common/util.h
422  #ifndef FORBIDDEN_SYMBOL_EXCEPTION_islower
423  #undef islower
424  #define islower(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
425  #endif
426 
427  // Use Common::isPrint in common/util.h
428  #ifndef FORBIDDEN_SYMBOL_EXCEPTION_isprint
429  #undef isprint
430  #define isprint(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
431  #endif
432 
433  // Use Common::isPunct in common/util.h
434  #ifndef FORBIDDEN_SYMBOL_EXCEPTION_ispunct
435  #undef ispunct
436  #define ispunct(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
437  #endif
438 
439  // Use Common::isSpace in common/util.h
440  #ifndef FORBIDDEN_SYMBOL_EXCEPTION_isspace
441  #undef isspace
442  #define isspace(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
443  #endif
444 
445  // Use Common::isUpper in common/util.h
446  #ifndef FORBIDDEN_SYMBOL_EXCEPTION_isupper
447  #undef isupper
448  #define isupper(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
449  #endif
450 
451  // Use Common::isXDigit in common/util.h
452  #ifndef FORBIDDEN_SYMBOL_EXCEPTION_isxdigit
453  #undef isxdigit
454  #define isxdigit(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
455  #endif
456 
457  // Use Common::isBlank in common/util.h
458  #ifndef FORBIDDEN_SYMBOL_EXCEPTION_isblank
459  #undef isblank
460  #define isblank(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
461  #endif
462 
463 #endif // FORBIDDEN_SYMBOL_EXCEPTION_ctype_h
464 
465 
466 //
467 // Disable various symbols from math.h
468 //
469 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_math_h
470 
471  // Use MIN in common/util.h
472  #ifndef FORBIDDEN_SYMBOL_EXCEPTION_fmin
473  #undef fmin
474  #define fmin(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
475  #endif
476 
477  // Use MIN in common/util.h
478  #ifndef FORBIDDEN_SYMBOL_EXCEPTION_fminf
479  #undef fminf
480  #define fminf(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
481  #endif
482 
483  // Use MAX in common/util.h
484  #ifndef FORBIDDEN_SYMBOL_EXCEPTION_fmax
485  #undef fmax
486  #define fmax(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
487  #endif
488 
489  // Use MAX in common/util.h
490  #ifndef FORBIDDEN_SYMBOL_EXCEPTION_fmaxf
491  #undef fmaxf
492  #define fmaxf(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
493  #endif
494 
495 #endif // FORBIDDEN_SYMBOL_EXCEPTION_math_h
496 
497 // Use Common::String::format
498 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_itoa
499 #undef itoa
500 #define itoa(a,b,c) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
501 #endif
502 
503 // Use Common::String::format
504 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_uitoa
505 #undef uitoa
506 #define uitoa(a,b,c) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
507 #endif
508 
509 // FIXME: Forbid atoi as well?
510 
511 // No equivalent in ScummVM
512 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_mkdir
513 #undef mkdir
514 #define mkdir(a,b) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
515 #endif
516 
517 /*
518 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_setlocale
519 #undef setlocale
520 #define setlocale(a,b) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
521 #endif
522 */
523 
524 // No equivalent in ScummVM
525 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_setvbuf
526 #undef setvbuf
527 #define setvbuf(a,b,c,d) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
528 #endif
529 
530 // Temporary files must be manually implemented using save files
531 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_tmpfile
532 #undef tmpfile
533 #define tmpfile() FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
534 #endif
535 
536 // Temporary files must be manually implemented using save files
537 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_tmpnam
538 #undef tmpnam
539 #define tmpnam(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
540 #endif
541 
542 // Temporary files must be manually implemented using save files
543 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_tempnam
544 #undef tempnam
545 #define tempnam(a,b) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
546 #endif
547 
548 // Define a Common::RandomSource as part of the engine,
549 // which has a getRandomNumber method
550 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_rand
551 #undef rand
552 #define rand() FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
553 #endif
554 
555 // Define a Common::RandomSource as part of the engine,
556 // which has a setSeed method
557 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_srand
558 #undef srand
559 #define srand(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
560 #endif
561 
562 // Define a Common::RandomSource as part of the engine,
563 // which has a getRandomNumber method
564 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_random
565 #undef random
566 #define random() FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
567 #endif
568 
569 // Define a Common::RandomSource as part of the engine,
570 // which has a setSeed method
571 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_srandom
572 #undef srandom
573 #define srandom(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
574 #endif
575 
576 // Use Common::strcat_s or Common::strlcat in common/str.h
577 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_strcat
578 #undef strcat
579 #define strcat(a,b) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
580 #endif
581 
582 // Use Common::strcpy_s or Common::strlcpy in common/str.h
583 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_strcpy
584 #undef strcpy
585 #define strcpy(a,b) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
586 #endif
587 
588 // Use Common::vsprintf_s in common/str.h or vsnprintf
589 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_vsprintf
590 #undef vsprintf
591 #define vsprintf(a,b,c) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
592 #endif
593 
594 // Use Common::sprintf_s in common/str.h or snprintf
595 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_sprintf
596 #undef sprintf
597 #define sprintf(a,b,...) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
598 #endif
599 
600 // Use scumm_stricmp in common/str.h
601 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_stricmp
602 #undef stricmp
603 #define stricmp(a,b) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
604 #endif
605 
606 // Use scumm_strnicmp in common/str.h
607 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_strnicmp
608 #undef strnicmp
609 #define strnicmp(a,b,c) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
610 #endif
611 
612 // Use scumm_stricmp in common/str.h
613 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_strcasecmp
614 #undef strcasecmp
615 #define strcasecmp(a,b) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
616 #endif
617 
618 // Use scumm_strnicmp in common/str.h
619 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_strncasecmp
620 #undef strncasecmp
621 #define strncasecmp(a,b,c) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
622 #endif
623 
624 // Use scumm_strdup in common/str.h
625 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_strdup
626 #undef strdup
627 #define strdup(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
628 #endif
629 
630 // Use Common::String.toLowercase()
631 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_strlwr
632 #undef strlwr
633 #define strlwr(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
634 #endif
635 
636 // Use Common::String.toUppercase()
637 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_strupr
638 #undef strupr
639 #define strupr(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
640 #endif
641 
642 // This is a C++11 extension not present on all platforms
643 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_strncpy_s
644 #undef strncpy_s
645 #define strncpy_s(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
646 #endif
647 
648 // This is a C++11 extension not present on all platforms
649 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_sscanf_s
650 #undef sscanf_s
651 #define sscanf_s(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
652 #endif
653 
654 // This is a C++11 extension not present on all platforms
655 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_fscanf_s
656 #undef fscanf_s
657 #define fscanf_s(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
658 #endif
659 
660 // This is a C++11 extension not present on all platforms
661 #ifndef FORBIDDEN_SYMBOL_EXCEPTION_scanf_s
662 #undef scanf_s
663 #define scanf_s(a) FORBIDDEN_look_at_common_forbidden_h_for_more_info SYMBOL !%*
664 #endif
665 
666 /*
667  * We also would like to disable the following symbols;
668  * however, these are also frequently used in regular code,
669  * e.g. for method names, so we don't override them.
670  * - read
671  * - remove
672  * - write
673  * - ...
674  */
675 
676 
677 #endif
678 
679 
680 #endif