f32 path for meta evaluations

This commit is contained in:
Ryan Fleury
2025-04-14 13:18:01 -07:00
parent 7d48e9915d
commit 5162301316
4 changed files with 33 additions and 4 deletions
+1 -1
View File
@@ -329,7 +329,7 @@ RD_NameSchemaInfo rd_name_schema_info_table[17] =
{str8_lit_comp("disasm"), str8_lit_comp("x:\n{\n 'arch': arch,\n 'syntax': dasm_syntax,\n 'size': code_string,\n @default(1) 'show_addresses': bool,\n @default(0) 'show_code_bytes': bool,\n @default(1) 'show_source_lines': bool,\n @default(1) 'show_symbol_names': bool,\n @default(1) 'show_line_numbers': bool,\n}\n")},
{str8_lit_comp("memory"), str8_lit_comp("x:\n{\n 'size': code_string,\n @default(16) 'num_columns': @range[1, 64] u64,\n}\n")},
{str8_lit_comp("bitmap"), str8_lit_comp("x:\n{\n @order(0) 'w': code_string,\n @order(1) 'h': code_string,\n 'fmt': tex2dformat,\n}\n")},
{str8_lit_comp("geo3d"), str8_lit_comp("x:\n{\n 'count': code_string,\n 'vtx': code_string,\n 'vtx_size': code_string,\n 'yaw': code_string,\n 'pitch': code_string,\n 'zoom': code_string,\n}\n")},
{str8_lit_comp("geo3d"), str8_lit_comp("x:\n{\n 'count': code_string,\n 'vtx': code_string,\n 'vtx_size': code_string,\n 'yaw': f32,\n 'pitch': f32,\n 'zoom': f32,\n}\n")},
{str8_lit_comp("target"), str8_lit_comp("@commands(enable_cfg, launch_and_run, launch_and_step_into, remove_cfg)\n@collection_commands(add_target)\nx:\n{\n 'label': code_string,\n 'executable': path,\n 'arguments': string,\n 'working_directory': path,\n 'entry_point': code_string,\n 'stdout_path': path,\n 'stderr_path': path,\n 'stdin_path': path,\n 'environment': query,\n 'debug_subprocesses': bool,\n @no_expand @default(0) 'enabled': bool,\n}\n")},
{str8_lit_comp("breakpoint"), str8_lit_comp("@commands(enable_cfg, remove_cfg)\n@collection_commands(toggle_breakpoint, add_breakpoint, add_address_breakpoint)\nx:\n{\n 'label': code_string,\n 'condition': code_string,\n 'source_location': path_pt,\n 'address_location': code_string,\n 'hit_count': u64,\n 'address_range_size': @or(0, 1, 2, 4, 8) u64,\n 'break_on_write': bool,\n 'break_on_read': bool,\n 'break_on_execute': bool,\n @no_expand @default(1) 'enabled': bool,\n}\n")},
{str8_lit_comp("watch_pin"), str8_lit_comp("@commands(remove_cfg)\n@collection_commands(add_watch_pin)\nx:\n{\n 'expression': code_string,\n 'view_rule': code_string,\n 'source_location': path_pt,\n 'address_location': code_string,\n}\n")},
+3 -3
View File
@@ -227,9 +227,9 @@ RD_VocabTable:
'count': code_string,
'vtx': code_string,
'vtx_size': code_string,
'yaw': code_string,
'pitch': code_string,
'zoom': code_string,
'yaw': f32,
'pitch': f32,
'zoom': f32,
}
```
}
+25
View File
@@ -1648,6 +1648,16 @@ rd_eval_space_read(void *u, E_Space space, void *out, Rng1U64 range)
try_u64_from_str8_c_rules(value_string, &value);
read_data = push_str8_copy(scratch.arena, str8_struct(&value));
}
else if(str8_match(child_type_name, str8_lit("f32"), 0))
{
String8 value_string = cfg->first->string;
if(value_string.size == 0)
{
value_string = md_tag_from_string(child_schema, str8_lit("default"), 0)->first->string;
}
F32 value = (F32)f64_from_str8(value_string);
read_data = push_str8_copy(scratch.arena, str8_struct(&value));
}
}
// rjf: perform read
@@ -1812,6 +1822,21 @@ rd_eval_space_write(void *u, E_Space space, void *in, Rng1U64 range)
}
result = 1;
}
else if(str8_match(child_type_name, str8_lit("f32"), 0))
{
if(range.max == range.min)
{
rd_cfg_release(rd_cfg_child_from_string(root_cfg, child_key));
}
else
{
F32 value = 0;
MemoryCopy(&value, in, dim_1u64(range));
RD_Cfg *child = rd_cfg_child_from_string_or_alloc(root_cfg, child_key);
rd_cfg_new_replacef(child, "%f", value);
}
result = 1;
}
}
scratch_end(scratch);
+4
View File
@@ -369,6 +369,10 @@ E_TYPE_ACCESS_FUNCTION_DEF(schema)
{
child_type_key = e_type_key_basic(E_TypeKind_U64);
}
else if(str8_match(child_schema->first->string, str8_lit("f32"), 0))
{
child_type_key = e_type_key_basic(E_TypeKind_F32);
}
else if(str8_match(child_schema->first->string, str8_lit("bool"), 0))
{
child_type_key = e_type_key_basic(E_TypeKind_Bool);