| 1 |
#ifndef ONI_H |
| 2 |
#error Do not include this file directly, include Oni/Oni.h instead! |
| 3 |
#endif |
| 4 |
|
| 5 |
#ifndef BFW_SCRIPTLANG_H |
| 6 |
#define BFW_SCRIPTLANG_H |
| 7 |
|
| 8 |
typedef enum { |
| 9 |
sl_int32, |
| 10 |
sl_str32, |
| 11 |
sl_float, |
| 12 |
sl_bool, /* Actually int32 0 or 1. */ |
| 13 |
sl_void, |
| 14 |
} sl_type; |
| 15 |
|
| 16 |
typedef struct { |
| 17 |
sl_type type; |
| 18 |
union { |
| 19 |
void* value; |
| 20 |
int32_t value_int32; |
| 21 |
char* value_str32; |
| 22 |
float value_float; |
| 23 |
char value_bool; |
| 24 |
} val; |
| 25 |
} sl_arg; |
| 26 |
|
| 27 |
typedef struct { |
| 28 |
char* name; |
| 29 |
char* calllocation; //maybe |
| 30 |
int linenumber; //perhaps |
| 31 |
} sl_callinfo; |
| 32 |
|
| 33 |
// Method signature for script (BSL) functions |
| 34 |
typedef uint16_t ( ONICALL *sl_func)(sl_callinfo* callinfo, uint32_t numargs, sl_arg args[], int* dontuse1, int* dontuse2, sl_arg* ret); |
| 35 |
|
| 36 |
|
| 37 |
#endif |