AGIWiki/Includes

From ScummVM :: Wiki
< AGIWiki
Revision as of 15:05, 25 October 2018 by Criezy (talk | contribs) (Text replacement - "</source>" to "</syntaxhighlight>")
Jump to navigation Jump to search
AGIWiki


Includes, in AGI logic, allow you to add the text of a file to another file by simply referencing the file name. This is done using the #include command. For example, if you have a file called "file.txt", which contains the following:

 #define ego_on_water f0
 #define new_room     f5
 #define score        v3
 

You can use the #include command as follows:

#include "file.txt"
 

When the compiler encounters the above line, it will replace it with the contents of "file.txt". So, the following logic file:

<source lang="cpp">

#include "file.txt"
if (new_room)
{
    // do new room stuff here
}
if (ego_on_water)
{
    score  ;
}

</syntaxhighlight> would be seen by the compiler as: <source lang="cpp">

#define ego_on_water f0
#define new_room     f5
#define score        v3
if (new_room)
{
    // do new room stuff here
}
if (ego_on_water)
{
    score  ;
}
</syntaxhighlight>

Note: AGI Studio requires include files to be in the "src" directory for the game.

It is a good idea to have all the defines that you need for multiple logics in an include file, so if you need to change the define value you only have to do it once (although you will need to recompile all logics that use that define). The AGI Studio Template Game provides a file like this called defines.txt.

Note: when you change a define value in an include file, AGI Studio does not automatically ensure that all logics that use the define are recompiled. You will need to recompile the logics manually, or use a development environment that will recompile all of the logics for you.