1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
//
//
#ifndef FS2_OPEN_SEXPVAR_H
#define FS2_OPEN_SEXPVAR_H
#include "globalincs/pstypes.h"
#include "scripting/ade.h"
#include "scripting/ade_api.h"
#include <parse/sexp.h>
namespace scripting {
namespace api {
//**********HANDLE: sexpvariable
struct sexpvar_h
{
int idx;
char variable_name[TOKEN_LENGTH];
sexpvar_h()
: idx(-1)
{
variable_name[0] = '\0';
}
sexpvar_h(int n_idx)
: idx(n_idx)
{
if ((n_idx >= 0 && n_idx < MAX_SEXP_VARIABLES) && (Sexp_variables[n_idx].type & SEXP_VARIABLE_SET))
strcpy_s(variable_name, Sexp_variables[n_idx].variable_name);
else
variable_name[0] = '\0';
}
bool isValid() const
{
return (idx >= 0
&& idx < MAX_SEXP_VARIABLES
&& (Sexp_variables[idx].type & SEXP_VARIABLE_SET)
&& !strcmp(Sexp_variables[idx].variable_name, variable_name));
}
};
DECLARE_ADE_OBJ(l_SEXPVariable, sexpvar_h);
}
}
#endif //FS2_OPEN_SEXPVAR_H
|