mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-06-13 15:42:23 -07:00
f32 path for meta evaluations
This commit is contained in:
@@ -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")},
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
```
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user