ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/src/BFW_ScriptingLanguage.h
Revision: 439
Committed: Fri Jul 17 08:34:48 2009 UTC (16 years, 2 months ago) by rossy
Content type: text/x-chdr
File size: 1202 byte(s)
Log Message:
Daodan_BSL

File Contents

# Content
1 #pragma once
2 #ifndef BFW_UTILITY_H
3 #define BFW_UTILITY_H
4
5 #include "Daodan.h"
6
7 #include <stdint.h>
8 #include <stdbool.h>
9
10 typedef enum {
11 sl_int32,
12 sl_str32, /* it's fixed length, 32 bytes. */
13 sl_float,
14 sl_bool, /* Actually int32 0 or 1. */
15 sl_void,
16 } sl_type;
17
18 typedef struct {
19 sl_type type;
20 union {
21 void* value;
22 uint32_t value_int32;
23 char* value_str32;
24 float value_float;
25 bool value_bool;
26 };
27 } sl_arg;
28
29 typedef uint16_t (ONICALL *sl_func)(void* dontuse0, uint32_t numargs, sl_arg args[], void* dontuse1, void* dontuse2, sl_arg* ret);
30
31 uint16_t ONICALL SLrScript_Command_Register_ReturnType(char* name, char* desc, char* argfmt, sl_type type, sl_func callback);
32 uint16_t ONICALL SLrScript_Command_Register_Void(char* name, char* desc, char* argfmt, sl_func callback);
33 uint16_t ONICALL SLrGlobalVariable_Register_Int32(char* name, char* desc, uint32_t* data);
34 uint16_t ONICALL SLrGlobalVariable_Register_Float(char* name, char* desc, float* data);
35 uint16_t ONICALL SLrGlobalVariable_Register_Bool(char* name, char* desc, uint32_t* data);
36 uint16_t ONICALL SLrGlobalVariable_Register_String(char* name, char* desc, char* data);
37
38 #endif