#ifndef ONI_H #error Do not include this file directly, include Oni/Oni.h instead! #endif #ifndef BFW_SCRIPTLANG_H #define BFW_SCRIPTLANG_H typedef enum { sl_int32, sl_str32, sl_float, sl_bool, /* Actually int32 0 or 1. */ sl_void, } sl_type; typedef struct { sl_type type; union { void* value; int32_t value_int32; char* value_str32; float value_float; char value_bool; } val; } sl_arg; typedef struct { char* name; char* calllocation; //maybe int linenumber; //perhaps } sl_callinfo; // Method signature for script (BSL) functions typedef uint16_t ( ONICALL *sl_func)(sl_callinfo* callinfo, uint32_t numargs, sl_arg args[], int* dontuse1, int* dontuse2, sl_arg* ret); #endif