I search for solutions in this order: Past Code, Unreal Source, Wiki, BUF, groups.yahoo, google, screaming at monitor. – RegularX
Difference between revisions of "Compiler directives"
(Created page with ''''Compiler directives''' are lines in UnrealScript source files that affect compiler behavior and have no meaning at runtime. They are not really used anymore in [[Unreal En…') |
m ("include" does not work with UE1 - moved to UE2 (I hope that it works there...)) |
||
(One intermediate revision by one other user not shown) | |||
Line 11: | Line 11: | ||
===call=== | ===call=== | ||
Similar to the "exec" console command in the editor and the game. Loads a list of console commands from a text file and executes them. | Similar to the "exec" console command in the editor and the game. Loads a list of console commands from a text file and executes them. | ||
+ | |||
+ | See [[exec commands]] for a useful selection of commands. | ||
===error=== | ===error=== | ||
Line 21: | Line 23: | ||
See [[exec commands]] for a useful selection of commands. | See [[exec commands]] for a useful selection of commands. | ||
+ | |||
+ | ==Unreal Engine 2== | ||
===include=== | ===include=== |
Latest revision as of 12:05, 2 September 2016
Compiler directives are lines in UnrealScript source files that affect compiler behavior and have no meaning at runtime. They are not really used anymore in Unreal Engine 3, which comes with a powerful preprocessor instead.
Directives are parsed during the compile process, not before that. This means they cannot be used in defaultproperties or cpptext sections. In fact, any directives in cpptext blocks will end up in exported header files for preprocessing by the C++ compiler.
Contents
Syntax[edit]
Compiler directives must be placed on a separate line. The syntax is as follows:
#directivename parameters
There must not be anything else before the # on that line and there shouldn't be anything after the directive name and parameters, except maybe a line comment. Directive names are case-insensitive, like any other part of UnrealScript syntax.
Unreal Engine 1/2[edit]
call[edit]
Similar to the "exec" console command in the editor and the game. Loads a list of console commands from a text file and executes them.
See exec commands for a useful selection of commands.
error[edit]
Immediately stops compiling with the message: "#Error directive encountered"
Note that there is no built-in conditional compiling, so using this directive may be quite pointless without an external preprocessor tool like UCPP.
exec[edit]
The most-used directive and probably the only one most UnrealScript programmers ever need to use. The #exec directive executes an editor console command in the context of the compiler.
See exec commands for a useful selection of commands.
Unreal Engine 2[edit]
include[edit]
Loads a text file and replaces the #include line with its content.
There are several things to watch out for when using this directive:
- Line numbers reported in errors and warnings after the #include line will reflect the source text with the included content, so they no longer match the original source line numbers.
- If the included file contains a defaultproperties block, it is not included directly. Instead, its content is inserted into the class's defaultproperties block.
Unreal Engine 3[edit]
The only known directive in Unreal Engine 3 is #linenumber, which is inserted by the preprocessor after an `include macro to make sure the compiler reports the line numbers the user expects.
Declarations | Preprocessor • Classes • Interfaces • Cpptext • Constants • Enums • Structs • Variables (Metadata) • Replication block • Operators • Delegates • Functions • States • Defaultproperties (Subobjects) |
---|---|
Types | bool • byte • float • int • name • string • Object • Class • Enums • Structs (Vector ⋅ Rotator ⋅ Quat ⋅ Color) • Static arrays • Dynamic arrays • Delegates • Typecasting |
Literals | Boolean • Float • Integer • Names • Objects (None ⋅ Self) • Vectors • Rotators • Strings |
Flow | GoTo • If • Assert • Return • Stop • Switch • While • Do...Until • For • ForEach • Break • Continue |
Specifiers | Super • Global • Static • Default • Const |
UnrealScript | Syntax • .UC • .UCI • .UPKG • Comments • #directives • Native |