add tweaks
This commit is contained in:
@@ -326,17 +326,22 @@ fn void lex_token_ex(lexer_t *lex, lex_t *token) {
|
||||
|
||||
token->len = (i32)(lex->at - token->str);
|
||||
|
||||
if (token->kind == lex_kind_integer || token->kind == lex_kind_real) {
|
||||
if (token->kind == lex_kind_integer) {
|
||||
s8_t string_to_lex = token->string;
|
||||
if (token->suffix != lex_suffix_none) {
|
||||
s8_t string_value = ti_enum_value_to_name(token->suffix, type(lex_suffix_t));
|
||||
s8_t prefix = s8_lit("lex_suffix_");
|
||||
token->len -= string_value.len - prefix.len;
|
||||
string_to_lex.len -= string_value.len - prefix.len;
|
||||
}
|
||||
}
|
||||
if (token->kind == lex_kind_integer) {
|
||||
token->integer = u64_from_s8(token->string, 10);
|
||||
token->integer = u64_from_s8(string_to_lex, 10);
|
||||
} else if (token->kind == lex_kind_real) {
|
||||
token->real = f64_from_s8(token->string);
|
||||
s8_t string_to_lex = token->string;
|
||||
if (token->suffix != lex_suffix_none) {
|
||||
s8_t string_value = ti_enum_value_to_name(token->suffix, type(lex_suffix_t));
|
||||
s8_t prefix = s8_lit("lex_suffix_");
|
||||
string_to_lex.len -= string_value.len - prefix.len;
|
||||
}
|
||||
token->real = f64_from_s8(string_to_lex);
|
||||
} else if (token->kind == lex_kind_string) {
|
||||
token->str += 1;
|
||||
token->len -= 2;
|
||||
|
||||
@@ -50,6 +50,17 @@ struct type_member_t {
|
||||
b8 dont_serialize;
|
||||
};
|
||||
|
||||
typedef struct mt_tweak_t mt_tweak_t;
|
||||
struct mt_tweak_t {
|
||||
type_t *type;
|
||||
s8_t name;
|
||||
void *ptr;
|
||||
f32 min, max;
|
||||
};
|
||||
#define mt_embed_file(name, path)
|
||||
#define mt_tweak_f32(name, default, min, max)
|
||||
#define mt_tweak_b32(name, default)
|
||||
|
||||
//
|
||||
// serialization to string
|
||||
#define ti_deserial_data(ARENA, DATA, TYPE) (TYPE *)ti__deserial_data(ARENA, DATA, type(TYPE))
|
||||
|
||||
Reference in New Issue
Block a user