1 // compiler options, common for all game modules
2 {$MODE OBJFPC}
4 {$MODESWITCH ADVANCEDRECORDS+}
5 {$MODESWITCH ALLOWINLINE+}
6 {$MODESWITCH ANSISTRINGS+} // Allow use of ansistrings.
7 {$MODESWITCH AUTODEREF+} // Automatic (silent) dereferencing of typed pointers.
8 {$MODESWITCH CLASS+}
9 {$MODESWITCH CLASSICPROCVARS+} // Use classical procedural variables.
10 {$MODESWITCH DEFAULTPARAMETERS+} // Allow use of default parameter values.
11 {$MODESWITCH DUPLICATELOCALS-} // Allow local variables in class methods to have the same names as properties of the class.
12 {$MODESWITCH EXCEPTIONS+}
13 {$MODESWITCH HINTDIRECTIVE+} // Support the hint directives (deprecated, platform etc.)
14 {$MODESWITCH INITFINAL+} // Allow use of Initialization and Finalization
15 {.$MODESWITCH ISOUNARYMINUS-} // Unary minus as required by ISO pascal.
16 {$MODESWITCH MACPROCVARS-} // Use mac-style procedural variables.
17 {$MODESWITCH NESTEDCOMMENTS-}
18 {$MODESWITCH NESTEDPROCVARS+}
19 {$MODESWITCH OBJPAS+}
20 {$MODESWITCH OUT+} // Allow use of the out parameter type.
21 {$MODESWITCH PCHARTOSTRING+}
22 {$MODESWITCH POINTERTOPROCVAR+} // Allow silent conversion of pointers to procedural variables.
23 {$MODESWITCH PROPERTIES+}
24 {$MODESWITCH REPEATFORWARD+} // Implementation and Forward declaration must match completely.
25 {$MODESWITCH RESULT+}
26 {$MODESWITCH TYPEHELPERS+} // Allow the use of type helpers.
27 {$MODESWITCH UNICODESTRINGS-}
30 {$ASSERTIONS ON}
31 {$BITPACKING OFF}
32 {$BOOLEVAL OFF}
33 {$COPERATORS ON}
34 {$EXTENDEDSYNTAX ON}
35 {$IFDEF CPU386}
36 {$IFDEF GO32V2}
37 {$ELSE}
38 {$FPUTYPE SSE}
39 {$ENDIF}
40 {$ENDIF}
41 {$GOTO ON}
42 {$IEEEERRORS OFF}
43 {$INLINE ON}
44 {$LONGSTRINGS ON}
45 {$MACRO OFF}
46 {$OBJECTCHECKS OFF}
47 {$OVERFLOWCHECKS OFF}
48 {$POINTERMATH ON}
49 {$RANGECHECKS OFF}
50 {$SAFEFPUEXCEPTIONS OFF}
51 {$SCOPEDENUMS ON} // this may be changed later
52 {$SMARTLINK ON}
53 {$TYPEDADDRESS ON}
54 {$TYPEINFO ON}
55 {$VARSTRINGCHECKS OFF}
57 {$S-} // disable stack checking
58 {$IFDEF GO32V2}
59 {$ELSE}
60 {$MMX-} // get lost, mmx
61 {$ENDIF}
63 {$IF DEFINED(D2F_DEBUG)}
64 {$STACKFRAMES ON}
65 {$HINTS OFF}
66 {$ELSE}
67 {$STACKFRAMES OFF}
68 {$HINTS OFF}
69 {$DEFINE D2F_MORE_OPTIM}
70 {$ENDIF}
71 {$WARNINGS ON}
72 {$NOTES ON}
74 {$IF DEFINED(D2F_DEBUG_OPTIM) or DEFINED(D2F_MORE_OPTIM)}
75 {$OPTIMIZATION DEADVALUES}
76 {$OPTIMIZATION CONSTPROP}
77 {$OPTIMIZATION DEADSTORE}
78 {$ENDIF}
80 {$IFDEF WIN32}
81 {$IFNDEF MSWINDOWS}
82 {$DEFINE MSWINDOWS}
83 {$ENDIF}
84 {$ENDIF}
86 {$IFDEF MSWINDOWS}
87 {$IFNDEF WINDOWS}
88 {$DEFINE WINDOWS}
89 {$ENDIF WINDOWS}
90 {$ENDIF}