mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2025-10-30 08:01:01 +00:00
Added a Color type (typedef u8 Color[3]) Added network_player_color_to_palette and network_player_palette_to_color Reran autogen
73 lines
No EOL
1.4 KiB
C
73 lines
No EOL
1.4 KiB
C
#ifndef SMLUA_COBJECT_H
|
|
#define SMLUA_COBJECT_H
|
|
|
|
enum LuaValueType {
|
|
LVT_BOOL,
|
|
LVT_U8,
|
|
LVT_U8_P,
|
|
LVT_U16,
|
|
LVT_U16_P,
|
|
LVT_U32,
|
|
LVT_U32_P,
|
|
LVT_S8,
|
|
LVT_S8_P,
|
|
LVT_S16,
|
|
LVT_S16_P,
|
|
LVT_S32,
|
|
LVT_S32_P,
|
|
LVT_F32,
|
|
LVT_F32_P,
|
|
LVT_U64,
|
|
LVT_U64_P,
|
|
LVT_COBJECT,
|
|
LVT_COBJECT_P,
|
|
LVT_STRING,
|
|
LVT_STRING_P,
|
|
LVT_BEHAVIORSCRIPT,
|
|
LVT_BEHAVIORSCRIPT_P,
|
|
LVT_OBJECTANIMPOINTER,
|
|
LVT_OBJECTANIMPOINTER_P,
|
|
LVT_COLLISION,
|
|
LVT_COLLISION_P,
|
|
LVT_LEVELSCRIPT,
|
|
LVT_LEVELSCRIPT_P,
|
|
LVT_TRAJECTORY,
|
|
LVT_TRAJECTORY_P,
|
|
LVT_LUAFUNCTION,
|
|
LVT_POINTER,
|
|
LVT_MAX,
|
|
};
|
|
|
|
enum LuaObjectType {
|
|
LOT_NONE = 0,
|
|
LOT_VEC3S,
|
|
LOT_VEC3F,
|
|
LOT_COLOR,
|
|
LOT_POINTER,
|
|
LOT_MAX,
|
|
};
|
|
|
|
struct LuaObjectField {
|
|
const char* key;
|
|
enum LuaValueType valueType;
|
|
size_t valueOffset;
|
|
bool immutable;
|
|
u16 lot;
|
|
};
|
|
|
|
struct LuaObjectTable {
|
|
u16 lot;
|
|
struct LuaObjectField* fields;
|
|
u16 fieldCount;
|
|
};
|
|
|
|
bool smlua_valid_lot(u16 lot);
|
|
bool smlua_valid_lvt(u16 lvt);
|
|
struct LuaObjectField* smlua_get_object_field_from_ot(struct LuaObjectTable* ot, const char* key);
|
|
struct LuaObjectField* smlua_get_object_field(u16 lot, const char* key);
|
|
struct LuaObjectField* smlua_get_custom_field(lua_State* L, u32 lot, int keyIndex);
|
|
void smlua_cobject_init_globals(void);
|
|
void smlua_cobject_init_per_file_globals(char* path);
|
|
void smlua_bind_cobject(void);
|
|
|
|
#endif |