Removed binaries

This commit is contained in:
Synthasmagoria 2026-08-28 07:47:15 +02:00
commit 6698cf2301
13 changed files with 109 additions and 34 deletions

View file

@ -19,7 +19,6 @@ TRANSFORMATION_RECTANGLE_COLOR_MIDDLE :: rl.MAGENTA
TRANSFORMATION_RECTANGLE_COLOR_NEXT :: rl.GRAY
TRANSFORMATION_RECTANGLE_COLOR_LAST :: rl.BLUE
@rodata default_project_load_location := "default"
UiContainerType :: enum {
@ -269,6 +268,26 @@ matrix_pool_get_mat3 :: proc() -> (value_strings: []InputFloatField, values: []f
return value_strings, values
}
matrix_move_to :: proc(floats: []f32, inputs: []InputFloatField, from, to: int) {
if from == to do return
floats := program.matrix_float_pool
inputs := program.matrix_value_string_pool
floats_values_size := size_of(f32) * 9
inputs_buffer_size := size_of(InputFloatField) * 9
floats_moving_matrix := &floats[from * 9]
inputs_moving_matrix := &inputs[from * 9][0]
floats_moved_to_matrix := &floats[to * 9]
inputs_moved_to_matrix := &inputs[to * 9][0]
floats_temp := [9]f32{}
inputs_temp := [9]InputFloatField{}
mem.copy(&floats_temp[0], floats_moving_matrix, floats_values_size)
mem.copy(&inputs_temp[0][0], inputs_moving_matrix, inputs_buffer_size)
mem.copy(floats_moving_matrix, floats_moved_to_matrix, floats_values_size)
mem.copy(inputs_moving_matrix, inputs_moved_to_matrix, inputs_buffer_size)
mem.copy(floats_moved_to_matrix, &floats_temp[0], floats_values_size)
mem.copy(inputs_moved_to_matrix, &inputs_temp[0][0], inputs_buffer_size)
}
program_save_project :: proc(program: ^Program, path: string) -> ProjectWriteError {
project := ProjectData {
matrix_count = u32(program.matrix_count),
@ -316,11 +335,17 @@ program_init :: proc(allocator := context.allocator) {
program.matrix_float_pool = make(type_of(program.matrix_float_pool), MATRIX_POOL_SIZE)
program.matrix_value_string_pool = make(type_of(program.matrix_value_string_pool), MATRIX_POOL_SIZE)
program.matrix_scroll_speed = 32.0
font := rl.LoadFontEx("assets/fonts/cmuntb.ttf", 24.0, nil, 0)
program.font_style = {
font = rl.GetFontDefault(),
size = 16.0,
font = font,
size = 24.0,
spacing = 2.0
}
rl.GuiSetFont(font)
rl.GuiSetStyle(.DEFAULT, i32(rl.GuiDefaultProperty.TEXT_SIZE), i32(program.font_style.size))
rl.GuiSetStyle(.DEFAULT, i32(rl.GuiDefaultProperty.TEXT_SPACING), i32(program.font_style.spacing))
program.grid = {
cell_size = 32.0,
zoom = 1.0,
@ -439,7 +464,8 @@ program_update :: proc() {
case .SaveProject:
path := strings.string_from_null_terminated_ptr(&program.dialog_data.input_text_buffers[0][0], DIALOG_STATE_TEXT_INPUT_FIELD_SIZE)
if err := program_save_project(&program, path); err != nil {
// TODO (Synthas): show error message
msg := fmt.caprint("Tried saving but got error: '", typeid_of(type_of(err)), ".", err, "'", sep = "")
program_show_dialog(&program, .Error, msg)
} else {
program.project_save_string = program.dialog_data.input_text_buffers[0]
program.state = .Normal
@ -447,7 +473,8 @@ program_update :: proc() {
case .LoadProject:
path := strings.string_from_null_terminated_ptr(&program.dialog_data.input_text_buffers[0][0], DIALOG_STATE_TEXT_INPUT_FIELD_SIZE)
if err := program_load_project(&program, path); err != nil {
// TODO (Synthas): show error message
msg := fmt.caprint("Tried loading but got error: '", typeid_of(type_of(err)), ".", err, "'", sep = "")
program_show_dialog(&program, .Error, msg)
} else {
program.state = .Normal
}
@ -946,7 +973,8 @@ program_render_ui_and_handle_focus :: proc(ctx: ^ui.Context, focus_element_id: u
case .ProjectLoadConfirm:
path := strings.string_from_null_terminated_ptr(&program.dialog_data.input_text_buffers[0][0], DIALOG_STATE_TEXT_INPUT_FIELD_SIZE)
if err := program_load_project(&program, path); err != nil {
// TODO (Synthas): show error message
msg := fmt.caprint("Tried loading but got error: '", typeid_of(type_of(err)), ".", err, "'", sep = "")
program_show_dialog(&program, .Error, msg)
} else {
program.state = .Normal
}
@ -1059,26 +1087,6 @@ program_render_ui_and_handle_focus :: proc(ctx: ^ui.Context, focus_element_id: u
return focus_element_id
}
matrix_move_to :: proc(floats: []f32, inputs: []InputFloatField, from, to: int) {
if from == to do return
floats := program.matrix_float_pool
inputs := program.matrix_value_string_pool
floats_values_size := size_of(f32) * 9
inputs_buffer_size := size_of(InputFloatField) * 9
floats_moving_matrix := &floats[from * 9]
inputs_moving_matrix := &inputs[from * 9][0]
floats_moved_to_matrix := &floats[to * 9]
inputs_moved_to_matrix := &inputs[to * 9][0]
floats_temp := [9]f32{}
inputs_temp := [9]InputFloatField{}
mem.copy(&floats_temp[0], floats_moving_matrix, floats_values_size)
mem.copy(&inputs_temp[0][0], inputs_moving_matrix, inputs_buffer_size)
mem.copy(floats_moving_matrix, floats_moved_to_matrix, floats_values_size)
mem.copy(inputs_moving_matrix, inputs_moved_to_matrix, inputs_buffer_size)
mem.copy(floats_moved_to_matrix, &floats_temp[0], floats_values_size)
mem.copy(inputs_moved_to_matrix, &inputs_temp[0][0], inputs_buffer_size)
}
ui_confirm_and_cancel_buttons :: proc(button_type_add: UiButtonType, margin: f32) {
button_data: ^UiElementData_Button
button_data = new(UiElementData_Button, context.temp_allocator)