1145 lines
76 KiB
C
1145 lines
76 KiB
C
|
|
#pragma once
|
|
|
|
#include "enums.h"
|
|
#include "types.h"
|
|
#include <iron.h>
|
|
|
|
f32 ui_MENUBAR_H(ui_t *ui);
|
|
f32 ui_nodes_INPUT_Y(ui_node_canvas_t *canvas, ui_node_t *node, i32 pos);
|
|
ui_handle_t *ui_handle(char *s);
|
|
ui_t *ui_create(ui_options_t *ops);
|
|
ui_theme_t *ui_theme_create();
|
|
void nodes_on_custom_button(i32 node_id, char *button_name);
|
|
ui_nodes_t *ui_nodes_create();
|
|
ui_node_socket_t *ui_get_socket(ui_node_t_array_t *nodes, i32 id);
|
|
void ui_set_font(ui_t *ui, draw_font_t *font);
|
|
void tab_swatches_empty_set(gpu_texture_t *image);
|
|
gpu_texture_t *tab_swatches_empty_get();
|
|
void tab_swatches_draw(ui_handle_t *htab);
|
|
void tab_swatches_accept_swatch_drop(swatch_color_t *swatch);
|
|
void tab_swatches_delete_swatch(swatch_color_t *swatch);
|
|
slot_brush_t *slot_brush_create(ui_node_canvas_t *c);
|
|
slot_layer_t *slot_layer_create(char *ext, layer_slot_type_t type, slot_layer_t *parent);
|
|
void slot_layer_delete(slot_layer_t *raw);
|
|
void slot_layer_unload(slot_layer_t *raw);
|
|
void slot_layer_swap(slot_layer_t *raw, slot_layer_t *other);
|
|
void slot_layer_clear(slot_layer_t *raw, i32 base_color, gpu_texture_t *base_image, f32 occlusion, f32 roughness, f32 metallic);
|
|
void slot_layer_invert_mask(slot_layer_t *raw);
|
|
void slot_layer_apply_mask(slot_layer_t *raw);
|
|
slot_layer_t *slot_layer_duplicate(slot_layer_t *raw);
|
|
void slot_layer_resize_and_set_bits(slot_layer_t *raw);
|
|
void slot_layer_to_fill_layer(slot_layer_t *raw);
|
|
void slot_layer_to_paint_layer(slot_layer_t *raw);
|
|
bool slot_layer_is_visible(slot_layer_t *raw);
|
|
slot_layer_t_array_t *slot_layer_get_children(slot_layer_t *raw);
|
|
slot_layer_t_array_t *slot_layer_get_recursive_children(slot_layer_t *raw);
|
|
slot_layer_t_array_t *slot_layer_get_masks(slot_layer_t *raw, bool include_group_masks);
|
|
bool slot_layer_has_masks(slot_layer_t *raw, bool include_group_masks);
|
|
f32 slot_layer_get_opacity(slot_layer_t *raw);
|
|
i32 slot_layer_get_object_mask(slot_layer_t *raw);
|
|
bool slot_layer_is_layer(slot_layer_t *raw);
|
|
bool slot_layer_is_group(slot_layer_t *raw);
|
|
slot_layer_t *slot_layer_get_containing_group(slot_layer_t *raw);
|
|
bool slot_layer_is_mask(slot_layer_t *raw);
|
|
bool slot_layer_is_group_mask(slot_layer_t *raw);
|
|
bool slot_layer_is_layer_mask(slot_layer_t *raw);
|
|
bool slot_layer_is_in_group(slot_layer_t *raw);
|
|
bool slot_layer_can_move(slot_layer_t *raw, i32 to);
|
|
void slot_layer_move(slot_layer_t *raw, i32 to);
|
|
void layers_init();
|
|
void layers_resize();
|
|
void layers_set_bits();
|
|
void layers_make_temp_img();
|
|
void layers_make_temp_mask_img();
|
|
void layers_make_export_img();
|
|
void layers_apply_mask(slot_layer_t *l, slot_layer_t *m);
|
|
void layers_commands_merge_pack(gpu_pipeline_t *pipe, gpu_texture_t *i0, gpu_texture_t *i1, gpu_texture_t *i1pack, f32 i1mask_opacity, gpu_texture_t *i1texmask,
|
|
i32 i1blending);
|
|
bool layers_is_fill_material();
|
|
void layers_update_fill_layers();
|
|
void layers_update_fill_layer(bool parse_paint);
|
|
void layers_set_object_mask();
|
|
slot_layer_t *layers_new_layer(bool clear, i32 position);
|
|
slot_layer_t *layers_new_mask(bool clear, slot_layer_t *parent, i32 position);
|
|
slot_layer_t *layers_new_group();
|
|
void layers_create_fill_layer(uv_type_t uv_type, mat4_t decal_mat, i32 position);
|
|
void layers_create_image_mask(asset_t *asset);
|
|
void layers_create_color_layer(i32 base_color, f32 occlusion, f32 roughness, f32 metallic, i32 position);
|
|
void layers_duplicate_layer(slot_layer_t *l);
|
|
void layers_apply_masks(slot_layer_t *l);
|
|
void layers_merge_down();
|
|
slot_layer_t *layers_merge_group(slot_layer_t *l);
|
|
void layers_merge_layer(slot_layer_t *l0, slot_layer_t *l1, bool use_mask);
|
|
slot_layer_t *layers_flatten(bool height_to_normal, slot_layer_t_array_t *layers);
|
|
void layers_on_resized();
|
|
slot_font_t *slot_font_create(char *name, draw_font_t *font, char *file);
|
|
buffer_t *util_encode_scene(scene_t *raw);
|
|
void util_encode_node_canvas(ui_node_canvas_t *c);
|
|
i32 util_encode_mesh_data_size(mesh_data_t_array_t *datas);
|
|
i32 util_encode_packed_assets_size(packed_asset_t_array_t *assets);
|
|
i32 util_encode_buffers_size(buffer_t_array_t *buffers);
|
|
i32 util_encode_layer_data_size(layer_data_t_array_t *datas);
|
|
void util_encode_mesh_datas(mesh_data_t_array_t *datas);
|
|
buffer_t *util_encode_project(project_format_t *raw);
|
|
void operator_register(char *name, void (*call)(void));
|
|
void operator_run(char *name);
|
|
void operator_update();
|
|
bool operator_shortcut(char *s, shortcut_type_t type);
|
|
void compass_render();
|
|
void compass_init_hitbox();
|
|
bool _compass_compare_quat(quat_t a, quat_t b);
|
|
void compass_update();
|
|
void config_load();
|
|
void config_save();
|
|
void config_init();
|
|
void config_init_layout();
|
|
char *config_get_sha();
|
|
char *config_get_date();
|
|
iron_window_options_t *config_get_options();
|
|
void config_restore();
|
|
void config_import_from(config_t *from);
|
|
void config_apply();
|
|
i32 config_get_super_sample_quality(f32 f);
|
|
f32 config_get_super_sample_size(i32 i);
|
|
i32 config_texture_res_size(i32 pos);
|
|
i32 config_get_texture_res();
|
|
i32 config_get_layer_res();
|
|
i32 config_get_scene_atlas_res();
|
|
i32 config_get_texture_res_x();
|
|
i32 config_get_texture_res_y();
|
|
i32 config_get_texture_res_pos(i32 i);
|
|
void config_load_theme(char *theme, bool tag_redraw);
|
|
void config_enable_plugin(char *f);
|
|
void config_disable_plugin(char *f);
|
|
bool config_is_iphone();
|
|
physics_body_t *physics_body_create();
|
|
void physics_body_init(physics_body_t *body, object_t *obj);
|
|
void physics_body_remove(i32 uid);
|
|
void physics_body_apply_impulse(physics_body_t *body, vec4_t dir);
|
|
void physics_body_sync_transform(physics_body_t *body);
|
|
void physics_body_update(physics_body_t *body);
|
|
void box_export_show_textures();
|
|
void box_export_show_bake_material();
|
|
void box_export_tab_export_textures(char *title, bool bake_material);
|
|
void box_export_tab_presets();
|
|
void box_export_tab_atlases();
|
|
void box_export_show_mesh();
|
|
void box_export_tab_export_mesh(ui_handle_t *htab);
|
|
void box_export_show_material();
|
|
void box_export_show_brush();
|
|
void box_export_fetch_presets();
|
|
void box_export_parse_preset();
|
|
void box_export_new_preset(char *name);
|
|
void box_export_save_preset();
|
|
char *box_export_preset_to_json(export_preset_t *p);
|
|
void box_export_show_player();
|
|
void import_blend_mesh_ui();
|
|
void import_blend_mesh_run(char *path, bool replace_existing);
|
|
void tab_console_draw(ui_handle_t *htab);
|
|
void tab_textures_draw(ui_handle_t *htab);
|
|
void tab_textures_update_texture_pointers(ui_node_t_array_t *nodes, i32 index);
|
|
void tab_textures_delete_texture(asset_t *asset);
|
|
void render_path_forward_init();
|
|
void render_path_forward_commands();
|
|
void render_path_forward_draw_forward();
|
|
void make_bake_run(node_shader_context_t *con, node_shader_t *kong);
|
|
void make_bake_position_normal(node_shader_t *kong);
|
|
void make_bake_set_color_writes(node_shader_context_t *con_paint);
|
|
char *make_bake_axis_string(i32 i);
|
|
slot_material_t *slot_material_create(material_data_t *m, ui_node_canvas_t *c);
|
|
void slot_material_unload(slot_material_t *raw);
|
|
void slot_material_delete(slot_material_t *raw);
|
|
void make_clone_run(node_shader_t *kong);
|
|
void tab_brushes_draw(ui_handle_t *htab);
|
|
void tab_brushes_delete_brush(slot_brush_t *b);
|
|
gpu_pipeline_t *_pipes_make_merge(bool red, bool green, bool blue, bool alpha);
|
|
void pipes_init();
|
|
i32 pipes_get_constant_location(char *type);
|
|
void make_brush_run(node_shader_t *kong);
|
|
void import_blend_material_run(char *path);
|
|
void _import_blend_material();
|
|
void import_texture_run(char *path, bool hdr_as_envmap);
|
|
gpu_texture_t *import_texture_default_importer(char *path);
|
|
void ui_files_show(char *filters, bool is_save, bool open_multiple, void (*files_done)(char *));
|
|
void ui_files_release_keys();
|
|
draw_cloud_icon_data_t *make_draw_cloud_icon_data(char *f, gpu_texture_t *image);
|
|
char *ui_files_file_browser(ui_handle_t *handle, bool drag_files, char *search, bool refresh, void (*context_menu)(char *));
|
|
void ui_files_make_icon(ui_files_make_icon_t *args);
|
|
void ui_files_go_up(ui_handle_t *handle);
|
|
void base_init();
|
|
void base_save_and_quit_callback(bool save);
|
|
i32 base_w();
|
|
i32 base_view3d_w();
|
|
i32 base_h();
|
|
i32 base_x();
|
|
i32 base_y();
|
|
void base_on_resize();
|
|
void base_save_window_rect();
|
|
void base_resize();
|
|
void base_update(void *_);
|
|
void base_update_workspace();
|
|
void base_update_workflow();
|
|
void base_material_dropped();
|
|
void base_handle_drop_paths();
|
|
rect_t *base_get_drag_background();
|
|
gpu_texture_t *base_get_drag_image();
|
|
void base_render(void *_);
|
|
string_t_array_t *base_enum_texts(char *node_type);
|
|
i32 base_get_asset_index(char *file_name);
|
|
void base_toggle_fullscreen();
|
|
bool base_is_decal_layer();
|
|
void base_redraw_status();
|
|
void base_redraw_console();
|
|
void base_init_undo_layers();
|
|
ui_handle_t_array_t *ui_base_init_hwnds();
|
|
ui_handle_t_array_t *ui_base_init_htabs();
|
|
tab_draw_t *_draw_callback_create(void (*f)(ui_handle_t *));
|
|
tab_draw_array_t_array_t *ui_base_init_hwnd_tabs();
|
|
void ui_base_init();
|
|
void ui_base_update(void *_);
|
|
void ui_base_view_top();
|
|
void ui_base_operator_search();
|
|
void ui_base_toggle_distract_free();
|
|
f32 ui_base_get_radius_increment();
|
|
bool ui_base_hit_rect(f32 mx, f32 my, i32 x, i32 y, i32 w, i32 h);
|
|
rect_t *ui_base_get_brush_stencil_rect();
|
|
void ui_base_update_ui();
|
|
void ui_base_render(void *_);
|
|
void ui_base_render_cursor(void *_);
|
|
void ui_base_show_material_nodes();
|
|
void ui_base_show_brush_nodes();
|
|
void ui_base_show_2d_view(view_2d_type_t type);
|
|
void ui_base_show_3d_view();
|
|
void ui_base_toggle_browser();
|
|
void ui_base_set_icon_scale();
|
|
void ui_base_on_border_hover(ui_handle_t *handle, i32 side);
|
|
void ui_base_on_tab_drop(ui_handle_t *to, i32 to_position, ui_handle_t *from, i32 from_position);
|
|
void base_redraw_ui();
|
|
void ui_base_make_empty_envmap(i32 col);
|
|
void ui_base_set_viewport_col(i32 col);
|
|
void gizmo_update();
|
|
void make_texcoord_run(node_shader_t *kong);
|
|
context_t *context_create();
|
|
void context_init();
|
|
bool context_use_deferred();
|
|
void context_select_material(i32 i);
|
|
void context_set_material(slot_material_t *m);
|
|
void context_select_brush(i32 i);
|
|
void context_set_brush(slot_brush_t *b);
|
|
void context_select_font(i32 i);
|
|
void context_set_font(slot_font_t *f);
|
|
void context_select_layer(i32 i);
|
|
void context_set_layer(slot_layer_t *l);
|
|
void context_select_tool(i32 i);
|
|
void context_init_tool();
|
|
void context_select_paint_object(mesh_object_t *o);
|
|
mesh_object_t *context_main_object();
|
|
bool context_layer_filter_used();
|
|
bool context_object_mask_used();
|
|
bool context_in_3d_view();
|
|
bool context_in_paint_area();
|
|
bool context_in_layers();
|
|
bool context_in_materials();
|
|
bool context_in_2d_view(view_2d_type_t type);
|
|
bool context_in_nodes();
|
|
bool context_in_swatches();
|
|
bool context_in_browser();
|
|
bool context_is_picker();
|
|
bool context_is_decal();
|
|
bool context_is_decal_mask();
|
|
bool context_is_decal_mask_paint();
|
|
bool context_is_floating_toolbar();
|
|
area_type_t context_get_area_type();
|
|
void context_set_viewport_mode(viewport_mode_t mode);
|
|
void context_load_envmap();
|
|
void context_update_envmap();
|
|
void context_set_viewport_shader(void *viewport_shader);
|
|
void context_set_render_path();
|
|
bool context_enable_import_plugin(char *file);
|
|
void context_set_swatch(swatch_color_t *s);
|
|
node_shader_t *node_shader_create(node_shader_context_t *context);
|
|
void node_shader_add_in(node_shader_t *raw, char *s);
|
|
void node_shader_add_out(node_shader_t *raw, char *s);
|
|
void node_shader_add_constant(node_shader_t *raw, char *s, char *link);
|
|
void node_shader_add_texture(node_shader_t *raw, char *name, char *link);
|
|
void node_shader_add_function(node_shader_t *raw, char *s);
|
|
void node_shader_write_vert(node_shader_t *raw, char *s);
|
|
void node_shader_write_end_vert(node_shader_t *raw, char *s);
|
|
void node_shader_write_attrib_vert(node_shader_t *raw, char *s);
|
|
void node_shader_write_frag(node_shader_t *raw, char *s);
|
|
void node_shader_write_attrib_frag(node_shader_t *raw, char *s);
|
|
char *node_shader_data_size(node_shader_t *raw, char *data);
|
|
void node_shader_vstruct_to_vsin(node_shader_t *raw);
|
|
char *node_shader_get(node_shader_t *raw);
|
|
node_shader_context_t *node_shader_context_create(material_t *material, shader_context_t *props);
|
|
void node_shader_context_add_elem(node_shader_context_t *raw, char *name, char *data_type);
|
|
bool node_shader_context_is_elem(node_shader_context_t *raw, char *name);
|
|
vertex_element_t *node_shader_context_get_elem(node_shader_context_t *raw, char *name);
|
|
void node_shader_context_add_constant(node_shader_context_t *raw, char *ctype, char *name, char *link);
|
|
void node_shader_context_add_texture_unit(node_shader_context_t *raw, char *name, char *link);
|
|
node_shader_t *node_shader_context_make_kong(node_shader_context_t *raw);
|
|
void ui_toolbar_init();
|
|
void ui_toolbar_draw_tool(i32 tool, gpu_texture_t *img, i32 icon_accent);
|
|
i32 ui_toolbar_w(bool screen_size_request);
|
|
i32 ui_toolbar_x();
|
|
void ui_toolbar_draw_show_3d_view();
|
|
void ui_toolbar_render_ui();
|
|
void ui_toolbar_tool_properties_menu();
|
|
void ui_toolbar_draw_highlight();
|
|
void export_arm_run_mesh(char *path, mesh_object_t_array_t *paint_objects);
|
|
void export_arm_run_project();
|
|
void export_arm_export_node(ui_node_t *n, asset_t_array_t *assets);
|
|
void export_arm_run_material(char *path);
|
|
buffer_t *export_arm_bgra_swap(buffer_t *buffer);
|
|
buffer_t *export_arm_bgra64_swap(buffer_t *buffer);
|
|
void export_arm_run_brush(char *path);
|
|
string_t_array_t *export_arm_assets_to_files(char *project_path, asset_t_array_t *assets);
|
|
string_t_array_t *export_arm_meshes_to_files(char *project_path);
|
|
string_t_array_t *export_arm_fonts_to_files(char *project_path, slot_font_t_array_t *fonts);
|
|
packed_asset_t_array_t *export_arm_get_packed_assets(char *project_path, string_t_array_t *texture_files);
|
|
void export_arm_pack_assets(project_format_t *raw, asset_t_array_t *assets);
|
|
void export_arm_run_swatches(char *path);
|
|
f32_array_t *export_arm_vec3f32(vec4_t v);
|
|
buffer_t *export_arm_rgba64_to_rgba32(buffer_t *buffer);
|
|
void import_asset_run(char *path, f32 drop_x, f32 drop_y, bool show_box, bool hdr_as_envmap, void (*done)(void));
|
|
void make_particle_mask(node_shader_t *kong);
|
|
void uniforms_ext_init();
|
|
i32 uniforms_ext_i32_link(object_t *object, material_data_t *mat, char *link);
|
|
f32 uniforms_ext_f32_link(object_t *object, material_data_t *mat, char *link);
|
|
vec2_t uniforms_ext_vec2_link(object_t *object, material_data_t *mat, char *link);
|
|
vec4_t uniforms_ext_vec3_link(object_t *object, material_data_t *mat, char *link);
|
|
f32 uniforms_ext_vec2d(f32 x);
|
|
vec4_t uniforms_ext_vec4_link(object_t *object, material_data_t *mat, char *link);
|
|
mat4_t uniforms_ext_mat4_link(object_t *object, material_data_t *mat, char *link);
|
|
gpu_texture_t *uniforms_ext_tex_link(object_t *object, material_data_t *mat, char *link);
|
|
void render_path_deferred_init();
|
|
void render_path_deferred_commands();
|
|
void render_path_deferred_draw_deferred();
|
|
void box_projects_show();
|
|
void box_projects_tab();
|
|
void box_projects_recent_tab();
|
|
void box_projects_draw_badge();
|
|
void box_projects_get_started_tab();
|
|
void box_projects_align_to_fullscreen();
|
|
node_shader_context_t *make_node_preview_run(material_t *data, material_context_t *matcon, ui_node_t *node, ui_node_canvas_t *group,
|
|
ui_node_t_array_t *parents);
|
|
void history_undo();
|
|
void history_redo();
|
|
void history_reset();
|
|
void history_edit_nodes(ui_node_canvas_t *canvas, i32 canvas_type, i32 canvas_group);
|
|
void history_paint();
|
|
void history_new_layer();
|
|
void history_new_black_mask();
|
|
void history_new_white_mask();
|
|
void history_new_fill_mask();
|
|
void history_new_group();
|
|
void history_duplicate_layer();
|
|
void history_delete_layer();
|
|
void history_clear_layer();
|
|
void history_order_layers(i32 prev_order);
|
|
void history_merge_layers();
|
|
void history_apply_mask();
|
|
void history_invert_mask();
|
|
void history_apply_filter();
|
|
void history_to_fill_layer();
|
|
void history_to_fill_mask();
|
|
void history_to_paint_layer();
|
|
void history_to_paint_mask();
|
|
void history_layer_opacity();
|
|
void history_layer_blending();
|
|
void history_new_material();
|
|
void history_delete_material();
|
|
void history_duplicate_material();
|
|
void history_delete_material_group(node_group_t *group);
|
|
history_step_t *history_push(char *name);
|
|
void history_copy_merging_layers();
|
|
void history_copy_merging_layers2(slot_layer_t_array_t *layers);
|
|
void history_swap_active();
|
|
void history_copy_to_undo(i32 from_id, i32 to_id, bool is_mask);
|
|
ui_node_canvas_t *history_get_canvas(history_step_t *step);
|
|
void history_set_canvas(history_step_t *step, ui_node_canvas_t *canvas);
|
|
void history_swap_canvas(history_step_t *step);
|
|
void tab_scripts_draw(ui_handle_t *htab);
|
|
ui_text_coloring_t *tab_scripts_get_text_coloring();
|
|
void render_path_preview_init();
|
|
void render_path_preview_commands_preview();
|
|
void render_path_preview_commands_decal();
|
|
bool make_paint_is_raytraced_bake();
|
|
string_t_array_t *make_paint_color_attachments();
|
|
node_shader_context_t *make_paint_run(material_t *data, material_context_t *matcon);
|
|
node_shader_context_t *make_mesh_preview_run(material_t *data, material_context_t *matcon);
|
|
void import_mesh_run(char *path, bool _clear_layers, bool replace_existing);
|
|
void import_mesh_finish_import();
|
|
void _import_mesh_make_mesh(raw_mesh_t *mesh);
|
|
void import_mesh_first_unwrap_done(raw_mesh_t *mesh);
|
|
void import_mesh_make_mesh(raw_mesh_t *mesh);
|
|
bool _import_mesh_is_unique_name(char *s);
|
|
char *_import_mesh_number_ext(i32 i);
|
|
void _import_mesh_add_mesh(raw_mesh_t *mesh);
|
|
void import_mesh_add_mesh(raw_mesh_t *mesh);
|
|
mesh_data_t *import_mesh_raw_mesh(raw_mesh_t *mesh);
|
|
void ui_menubar_init();
|
|
i32 ui_menu_panel_x();
|
|
i32 ui_menu_top_y();
|
|
i32 ui_menu_panel_y();
|
|
void ui_menubar_render_ui();
|
|
void ui_menubar_draw_tab_header();
|
|
void ui_menubar_draw_category_items();
|
|
void ui_menubar_show_menu(i32 category);
|
|
bool ui_menubar_icon_button(i32 i);
|
|
char *_tr(char *s);
|
|
char *vtr(char *id, any_map_t *vars);
|
|
char *tr(char *id);
|
|
void translator_load_translations(char *new_locale);
|
|
void translator_init_font(bool cjk, char *font_path, f32 font_scale);
|
|
void translator_extended_glyphs();
|
|
string_t_array_t *translator_get_supported_locales();
|
|
logic_node_t *logic_node_create(logic_node_ext_t *ext);
|
|
void logic_node_add_input(logic_node_t *self, logic_node_ext_t *node, i32 from);
|
|
void logic_node_add_outputs(logic_node_t *self, logic_node_t_array_t *nodes);
|
|
void *logic_node_get(logic_node_t *self, i32 from);
|
|
gpu_texture_t *logic_node_get_as_image(logic_node_t *self, i32 from);
|
|
gpu_texture_t *logic_node_get_cached_image(logic_node_t *self);
|
|
void logic_node_set(logic_node_t *self, void *value);
|
|
logic_node_input_t *logic_node_input_create(logic_node_ext_t *node, i32 from);
|
|
logic_node_value_t *logic_node_input_get(logic_node_input_t *self);
|
|
gpu_texture_t *logic_node_input_get_as_image(logic_node_input_t *self);
|
|
void logic_node_input_set(logic_node_input_t *self, f32_array_t *value);
|
|
void import_arm_run_project(char *path);
|
|
void import_arm_run_mesh(project_format_t *raw);
|
|
void import_arm_run_material(char *path);
|
|
void import_arm_run_material_from_project(project_format_t *project, char *path);
|
|
bool import_arm_group_exists(ui_node_canvas_t *c);
|
|
void import_arm_rename_group(char *name, slot_material_t_array_t *materials, ui_node_canvas_t_array_t *groups);
|
|
void import_arm_run_brush(char *path);
|
|
void import_arm_run_brush_from_project(project_format_t *project, char *path);
|
|
void import_arm_run_swatches(char *path, bool replace_existing);
|
|
void import_arm_run_swatches_from_project(project_format_t *project, char *path, bool replace_existing);
|
|
void import_arm_make_pink(char *abs);
|
|
void import_arm_init_nodes(ui_node_t_array_t *nodes);
|
|
void import_arm_unpack_asset(project_format_t *project, char *abs, char *file, bool gc_copy);
|
|
bool import_arm_has_version(buffer_t *b);
|
|
void viewport_scale_to_bounds(f32 bounds);
|
|
void viewport_reset();
|
|
void viewport_set_view(f32 x, f32 y, f32 z, f32 rx, f32 ry, f32 rz);
|
|
void viewport_orbit(f32 x, f32 y);
|
|
void viewport_orbit_opposite();
|
|
void viewport_zoom(f32 f);
|
|
void viewport_update_camera_type(i32 camera_type);
|
|
void viewport_capture_screenshot();
|
|
void viewport_capture_video_begin();
|
|
void viewport_capture_video_end();
|
|
void tab_fonts_draw(ui_handle_t *htab);
|
|
void tab_fonts_delete_font(slot_font_t *font);
|
|
physics_world_t *physics_world_create();
|
|
void physics_world_update(physics_world_t *world);
|
|
physics_pair_t_array_t *physics_world_get_contact_pairs(physics_world_t *world, physics_body_t *body);
|
|
void physics_world_destroy();
|
|
void ui_menu_render();
|
|
void ui_menu_hide();
|
|
void ui_menu_draw(void (*commands)(void), i32 x, i32 y);
|
|
void ui_menu_fit_to_screen();
|
|
void ui_menu_separator();
|
|
bool ui_menu_button(char *text, char *label, icon_t icon);
|
|
u32 ui_menu_color_sub(u32 c, u32 s);
|
|
bool ui_icon_button(char *text, icon_t icon, ui_align_t align);
|
|
bool ui_menu_sub_button(ui_handle_t *handle, char *text);
|
|
void ui_menu_label(char *text, char *shortcut);
|
|
void ui_menu_align();
|
|
void ui_menu_begin();
|
|
void ui_menu_end();
|
|
void ui_menu_sub_begin(i32 items);
|
|
void ui_menu_sub_end();
|
|
void render_path_base_init();
|
|
void render_path_base_apply_config();
|
|
f32 render_path_base_get_super_sampling();
|
|
void render_path_base_draw_compass();
|
|
void render_path_base_begin();
|
|
void render_path_base_end();
|
|
bool render_path_base_ssaa4();
|
|
bool render_path_base_is_cached();
|
|
void render_path_base_commands(void (*draw_commands)(void));
|
|
void render_path_base_draw_bloom(char *source, char *target);
|
|
void render_path_base_draw_split(void (*draw_commands)(void));
|
|
void render_path_base_init_ssao();
|
|
void render_path_base_draw_ssao();
|
|
void render_path_base_draw_deferred_light();
|
|
void render_path_base_draw_taa(char *bufa, char *bufb);
|
|
void render_path_base_swap_buf(char *bufb);
|
|
void render_path_base_draw_gbuffer();
|
|
void render_path_base_make_gbuffer_copy_textures();
|
|
void render_path_base_copy_to_gbuffer();
|
|
char *strings_arm_file_expected();
|
|
char *strings_unknown_asset_format();
|
|
char *strings_could_not_locate_texture();
|
|
char *strings_failed_to_read_mesh_data();
|
|
char *strings_check_internet_connection();
|
|
char *strings_asset_already_imported();
|
|
char *strings_graphics_api();
|
|
void tab_history_draw(ui_handle_t *htab);
|
|
void project_open();
|
|
void project_save(bool save_and_quit);
|
|
void project_save_as(bool save_and_quit);
|
|
void project_fetch_default_meshes();
|
|
void project_new_box();
|
|
void project_cleanup();
|
|
void project_new(bool reset_layers);
|
|
void project_set_default_envmap();
|
|
void project_import_material();
|
|
ui_node_link_t *project_create_node_link(ui_node_link_t_array_t *links, i32 from_id, i32 from_socket, i32 to_id, i32 to_socket);
|
|
void project_import_brush();
|
|
void project_import_mesh(bool replace_existing, void (*done)(void));
|
|
void project_append_mesh();
|
|
void project_import_mesh_box(char *path, bool replace_existing, bool clear_layers, void (*done)(void));
|
|
void project_reimport_mesh();
|
|
string_t_array_t *project_get_unwrap_plugins();
|
|
void project_unwrap_mesh_box(raw_mesh_t *mesh, void (*done)(raw_mesh_t *), bool skip_ui);
|
|
void project_unwrap_mesh(raw_mesh_t *mesh, void (*done)(raw_mesh_t *));
|
|
void project_import_asset(char *filters, bool hdr_as_envmap);
|
|
void project_import_swatches(bool replace_existing);
|
|
void project_reimport_textures();
|
|
void project_reimport_texture_load(char *path, asset_t *asset);
|
|
void project_reimport_texture(asset_t *asset);
|
|
gpu_texture_t *project_get_image(asset_t *asset);
|
|
string_t_array_t *project_get_used_atlases();
|
|
bool project_is_atlas_object(mesh_object_t *p);
|
|
mesh_object_t_array_t *project_get_atlas_objects(i32 object_mask);
|
|
bool project_packed_asset_exists(packed_asset_t_array_t *packed_assets, char *name);
|
|
void project_export_swatches();
|
|
swatch_color_t *project_make_swatch(i32 base);
|
|
swatch_color_t *project_clone_swatch(swatch_color_t *swatch);
|
|
void project_set_default_swatches();
|
|
node_group_t *project_get_material_group_by_name(char *group_name);
|
|
bool project_is_material_group_in_use(node_group_t *group);
|
|
void keymap_load();
|
|
void keymap_save();
|
|
char *keymap_to_json(any_map_t *keymap);
|
|
any_map_t *keymap_get_default();
|
|
void ui_view2d_init();
|
|
void ui_view2d_draw_image(gpu_texture_t *image, f32 dx, f32 dy, f32 dw, f32 dh, i32 channel);
|
|
void ui_view2d_render(void *_);
|
|
void ui_view2d_update(void *_);
|
|
void make_colorid_picker_run(node_shader_t *kong);
|
|
void sim_init();
|
|
void sim_update();
|
|
void sim_play();
|
|
void sim_stop();
|
|
void sim_add_body(object_t *o, physics_shape_t shape, f32 mass);
|
|
void sim_remove_body(i32 uid);
|
|
void sim_duplicate();
|
|
void sim_delete();
|
|
ui_node_t *parser_material_get_node(i32 id);
|
|
ui_node_link_t *parser_material_get_input_link(ui_node_socket_t *inp);
|
|
void parser_material_init();
|
|
shader_out_t *parser_material_parse(ui_node_canvas_t *canvas, node_shader_context_t *_con, node_shader_t *_kong, material_context_t *_matcon);
|
|
void parser_material_finalize(node_shader_context_t *con);
|
|
shader_out_t *parser_material_parse_output(ui_node_t *node);
|
|
shader_out_t *parser_material_parse_output_pbr(ui_node_t *node);
|
|
ui_node_canvas_t *parser_material_get_group(char *name);
|
|
void parser_material_push_group(ui_node_canvas_t *g);
|
|
void parser_material_pop_group();
|
|
char *parser_material_parse_group(ui_node_t *node, ui_node_socket_t *socket);
|
|
char *parser_material_parse_group_input(ui_node_t *node, ui_node_socket_t *socket);
|
|
char *parser_material_parse_input(ui_node_socket_t *inp);
|
|
shader_out_t *parser_material_parse_shader_input(ui_node_socket_t *inp);
|
|
shader_out_t *parser_material_parse_shader(ui_node_t *node, ui_node_socket_t *socket);
|
|
void parser_material_write(node_shader_t *raw, char *s);
|
|
char *parser_material_parse_vector_input(ui_node_socket_t *inp);
|
|
char *parser_material_parse_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
void parse_normal_map_color_input(ui_node_socket_t *inp);
|
|
char *parser_material_parse_value_input(ui_node_socket_t *inp, bool vector_as_grayscale);
|
|
char *parser_material_parse_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
char *parser_material_get_coord(ui_node_t *node);
|
|
char *parser_material_res_var_name(ui_node_t *node, ui_node_socket_t *socket);
|
|
char *parser_material_write_result(ui_node_link_t *l);
|
|
char *parser_material_store_var_name(ui_node_t *node);
|
|
char *parser_material_vec1(f32 v);
|
|
char *parser_material_vec3(f32_array_t *v);
|
|
char *parser_material_to_vec3(char *s);
|
|
ui_node_t *parser_material_node_by_type(ui_node_t_array_t *nodes, char *ntype);
|
|
i32 parser_material_socket_index(ui_node_t *node, ui_node_socket_t *socket);
|
|
char *parser_material_node_name(ui_node_t *node, ui_node_t_array_t *_parents);
|
|
char *parser_material_safesrc(char *s);
|
|
char *parser_material_enum_data(char *s);
|
|
bind_tex_t *parser_material_make_bind_tex(char *tex_name, char *file);
|
|
char *u8_array_string_at(u8_array_t *a, i32 i);
|
|
void args_parse();
|
|
void args_run();
|
|
void util_render_make_material_preview();
|
|
void util_render_make_decal_preview();
|
|
void util_render_make_text_preview();
|
|
void util_render_make_font_preview();
|
|
void util_render_make_brush_preview();
|
|
void util_render_make_node_preview(ui_node_canvas_t *canvas, ui_node_t *node, gpu_texture_t *image, ui_node_canvas_t *group, ui_node_t_array_t *parents);
|
|
void util_render_pick_pos_nor_tex();
|
|
mat4_t util_render_get_decal_mat();
|
|
void util_render_create_screen_aligned_full_data();
|
|
void tab_materials_draw(ui_handle_t *htab);
|
|
void tab_materials_draw_mini(ui_handle_t *htab);
|
|
void tab_materials_draw_full(ui_handle_t *htab);
|
|
void tab_materials_button_nodes();
|
|
void tab_materials_draw_slots(bool mini);
|
|
void tab_materials_button_new(char *text);
|
|
void tab_materials_update_material();
|
|
void tab_materials_update_material_pointers(ui_node_t_array_t *nodes, i32 i);
|
|
void tab_materials_accept_swatch_drop(swatch_color_t *swatch);
|
|
void tab_materials_delete_material(slot_material_t *m);
|
|
void tab_browser_show_directory(char *directory);
|
|
void tab_browser_draw(ui_handle_t *htab);
|
|
void tab_browser_go_to_cloud();
|
|
void tab_browser_go_to_disk();
|
|
void util_mesh_merge(mesh_object_t_array_t *paint_objects);
|
|
void util_mesh_remove_merged();
|
|
void util_mesh_swap_axis(i32 a, i32 b);
|
|
void util_mesh_flip_normals();
|
|
void util_mesh_calc_normals(bool smooth);
|
|
void util_mesh_to_origin();
|
|
void util_mesh_apply_displacement(gpu_texture_t *texpaint_pack, f32 strength, f32 uv_scale);
|
|
void util_mesh_equirect_unwrap(raw_mesh_t *mesh);
|
|
bool util_mesh_pnpoly(f32 v0x, f32 v0y, f32 v1x, f32 v1y, f32 v2x, f32 v2y, f32 px, f32 py);
|
|
vec4_t util_mesh_calc_normal(vec4_t p0, vec4_t p1, vec4_t p2);
|
|
void util_mesh_decimate(f32 strength);
|
|
i32 _util_mesh_unique_data_count();
|
|
void util_mesh_pack_uvs(i16_array_t *texa);
|
|
mesh_object_t_array_t *util_mesh_get_unique();
|
|
void ui_header_init();
|
|
void ui_header_render_ui();
|
|
void ui_header_draw_tool_properties();
|
|
plugin_t *plugin_create();
|
|
void plugin_start(char *plugin);
|
|
void plugin_stop(char *plugin);
|
|
void plugin_notify_on_ui(plugin_t *plugin, void *f);
|
|
void plugin_notify_on_update(plugin_t *plugin, void *f);
|
|
void plugin_notify_on_delete(plugin_t *plugin, void *f);
|
|
void import_plugin_run(char *path);
|
|
logic_node_ext_t *parser_logic_get_logic_node(ui_node_t *node);
|
|
ui_node_t *parser_logic_get_node(i32 id);
|
|
ui_node_link_t *parser_logic_get_link(i32 id);
|
|
ui_node_link_t *parser_logic_get_input_link(ui_node_socket_t *inp);
|
|
ui_node_link_t_array_t *parser_logic_get_output_links(ui_node_socket_t *out);
|
|
char *parser_logic_safe_src(char *s);
|
|
char *parser_logic_node_name(ui_node_t *node);
|
|
void parser_logic_parse(ui_node_canvas_t *canvas);
|
|
char *parser_logic_build_node(ui_node_t *node);
|
|
ui_node_t_array_t *parser_logic_get_root_nodes(ui_node_canvas_t *node_group);
|
|
logic_node_ext_t *parser_logic_build_default_node(ui_node_socket_t *inp);
|
|
logic_node_ext_t *parser_logic_create_node_instance(char *node_type, ui_node_t *raw, f32_array_t *args);
|
|
void resource_load(string_t_array_t *names);
|
|
gpu_texture_t *resource_get(char *name);
|
|
rect_t *resource_tile50(gpu_texture_t *img, i32 i);
|
|
rect_t *resource_tile18(gpu_texture_t *img, i32 i);
|
|
bool render_path_raytrace_bake_commands(void (*parse_paint_material)(bool));
|
|
char *render_path_raytrace_bake_get_bake_shader_name();
|
|
bool make_material_get_mout();
|
|
void make_material_parse_mesh_material();
|
|
void make_material_parse_mesh_preview_material(material_data_t *md);
|
|
void make_material_parse_paint_material(bool bake_previews);
|
|
void make_material_bake_node_previews();
|
|
void make_material_traverse_nodes(ui_node_t_array_t *nodes, ui_node_canvas_t *group, ui_node_t_array_t *parents);
|
|
void make_material_bake_node_preview(ui_node_t *node, ui_node_canvas_t *group, ui_node_t_array_t *parents);
|
|
parse_node_preview_result_t *make_material_parse_node_preview_material(ui_node_t *node, ui_node_canvas_t *group, ui_node_t_array_t *parents);
|
|
void make_material_parse_brush();
|
|
char *make_material_blend_mode(node_shader_t *kong, i32 blending, char *cola, char *colb, char *opac);
|
|
char *make_material_blend_mode_mask(node_shader_t *kong, i32 blending, char *cola, char *colb, char *opac);
|
|
f32 make_material_get_displace_strength();
|
|
void make_material_delete_context(shader_context_t *c);
|
|
void ui_viewnodes_init();
|
|
void ui_viewnodes_on_node_remove(ui_node_t *n);
|
|
void ui_viewnodes_on_node_changed(ui_node_t *n);
|
|
void ui_viewnodes_on_link_drag(i32 link_drag_id, bool is_new_link);
|
|
void ui_viewnodes_on_socket_released(i32 socket_id);
|
|
void ui_viewnodes_on_canvas_released();
|
|
ui_canvas_control_t *ui_viewnodes_on_canvas_control();
|
|
ui_canvas_control_t *ui_nodes_get_canvas_control(bool controls_down);
|
|
f32 ui_nodes_get_zoom_delta();
|
|
bool ui_nodes_is_tab_selected();
|
|
i32 ui_nodes_tab_index();
|
|
ui_node_canvas_t *ui_nodes_get_canvas(bool groups);
|
|
ui_nodes_t *ui_nodes_get_nodes();
|
|
void ui_nodes_update(void *_);
|
|
void ui_nodes_canvas_changed();
|
|
void ui_nodes_node_search(i32 x, i32 y, void (*done)(void));
|
|
i32 ui_nodes_get_node_x();
|
|
i32 ui_nodes_get_node_y();
|
|
gpu_texture_t *ui_nodes_draw_grid(f32 zoom);
|
|
void ui_nodes_recompile();
|
|
void ui_nodes_get_linked_nodes(ui_node_t_array_t *linked_nodes, ui_node_t *n, ui_node_canvas_t *c);
|
|
void ui_nodes_render(void *_);
|
|
gpu_texture_t *ui_nodes_get_node_preview_image(ui_node_t *n);
|
|
void ui_nodes_draw_menubar();
|
|
bool ui_nodes_contains_node_group_recursive(node_group_t *group, char *group_name);
|
|
bool ui_nodes_can_place_group(char *group_name);
|
|
void ui_nodes_push_undo(ui_node_canvas_t *last_canvas);
|
|
void ui_nodes_accept_asset_drop(i32 index);
|
|
void ui_nodes_accept_layer_drop(i32 index);
|
|
void ui_nodes_accept_material_drop(i32 index);
|
|
void ui_nodes_accept_swatch_drop(swatch_color_t *swatch);
|
|
ui_node_t *ui_nodes_make_node(ui_node_t *n, ui_nodes_t *nodes, ui_node_canvas_t *canvas);
|
|
ui_node_t *ui_nodes_make_group_node(ui_node_canvas_t *group_canvas, ui_nodes_t *nodes, ui_node_canvas_t *canvas);
|
|
void ui_nodes_make_node_preview(ui_node_t *node);
|
|
bool ui_nodes_has_group(ui_node_canvas_t *c);
|
|
void ui_nodes_traverse_group(ui_node_canvas_t_array_t *mgroups, ui_node_canvas_t *c);
|
|
ui_node_canvas_t *ui_nodes_get_group(ui_node_canvas_t_array_t *canvases, char *name);
|
|
void ui_nodes_capture_output();
|
|
void import_theme_run(char *path);
|
|
f32_array_t *util_clone_f32_array(f32_array_t *f32a);
|
|
u32_array_t *util_clone_u32_array(u32_array_t *u32a);
|
|
u8_array_t *util_clone_u8_array(u8_array_t *u8a);
|
|
string_t_array_t *util_clone_string_array(string_t_array_t *a);
|
|
u8_array_t *util_clone_bool_array(u8_array_t *a);
|
|
ui_node_socket_t_array_t *util_clone_canvas_sockets(ui_node_socket_t_array_t *sockets);
|
|
ui_node_button_t_array_t *util_clone_canvas_buttons(ui_node_button_t_array_t *buttons);
|
|
ui_node_t *util_clone_canvas_node(ui_node_t *n);
|
|
ui_node_t_array_t *util_clone_canvas_nodes(ui_node_t_array_t *nodes);
|
|
ui_node_link_t_array_t *util_clone_canvas_links(ui_node_link_t_array_t *links);
|
|
ui_node_canvas_t *util_clone_canvas(ui_node_canvas_t *c);
|
|
vertex_element_t_array_t *util_clone_vertex_elements(vertex_element_t_array_t *elems);
|
|
shader_const_t_array_t *util_clone_shader_consts(shader_const_t_array_t *consts);
|
|
tex_unit_t_array_t *util_clone_tex_units(tex_unit_t_array_t *units);
|
|
shader_context_t_array_t *util_clone_shader_contexts(shader_context_t_array_t *contexts);
|
|
shader_data_t *util_clone_shader_data(shader_data_t *s);
|
|
bind_const_t_array_t *util_clone_bind_constants(bind_const_t_array_t *consts);
|
|
bind_tex_t_array_t *util_clone_bind_textures(bind_tex_t_array_t *texs);
|
|
material_context_t_array_t *util_clone_material_contexts(material_context_t_array_t *contexts);
|
|
material_data_t *util_clone_material_data(material_data_t *m);
|
|
obj_t *util_clone_obj(obj_t *o);
|
|
swatch_color_t *util_clone_swatch_color(swatch_color_t *s);
|
|
void import_keymap_run(char *path);
|
|
void tab_plugins_draw(ui_handle_t *htab);
|
|
void plugin_uv_unwrap_button();
|
|
void make_discard_color_id(node_shader_t *kong);
|
|
void make_discard_face(node_shader_t *kong);
|
|
void make_discard_uv_island(node_shader_t *kong);
|
|
void make_discard_material_id(node_shader_t *kong);
|
|
ui_node_socket_t_array_t *_import_arm_get_legacy_node_socket_array(any_map_t *old, char *key);
|
|
ui_node_canvas_t_array_t *_import_arm_get_legacy_node_canvas_array(any_map_t *map, char *key);
|
|
ui_node_socket_t_array_t *import_arm_get_node_socket_array(any_map_t *old, char *key);
|
|
ui_node_canvas_t_array_t *import_arm_get_node_canvas_array(any_map_t *map, char *key);
|
|
bool import_arm_is_legacy(buffer_t *b);
|
|
bool import_arm_is_version_2(buffer_t *b);
|
|
bool import_arm_is_version_3(buffer_t *b);
|
|
bool import_arm_is_old(buffer_t *b);
|
|
project_format_t *import_arm_from_legacy(any_map_t *old);
|
|
project_format_t *import_arm_from_version_2(any_map_t *old);
|
|
project_format_t *import_arm_from_version_3(any_map_t *old);
|
|
project_format_t *import_arm_from_old(buffer_t *b);
|
|
void nodes_brush_init();
|
|
void nodes_brush_list_init();
|
|
ui_node_t *nodes_brush_create_node(char *node_type);
|
|
void import_obj_run(char *path, bool replace_existing);
|
|
void import_folder_run(char *path);
|
|
void import_folder_place_image_node(ui_nodes_t *nodes, ui_node_canvas_t *canvas, char *asset, i32 ny, i32 to_id, i32 to_socket);
|
|
void export_obj_write_string(u8_array_t *out, char *str);
|
|
void export_obj_run(char *path, mesh_object_t_array_t *paint_objects, bool apply_disp);
|
|
void export_obj_run_fast(char *path, mesh_object_t_array_t *paint_objects);
|
|
void make_blur_run(node_shader_t *kong);
|
|
void import_font_run(char *path);
|
|
void export_exr_write_string(u8_array_t *out, char *str);
|
|
void export_exr_write_line16(i32 byte_pos);
|
|
void export_exr_write_line32(i32 byte_pos);
|
|
void export_exr_write_bgr(i32 off, i32 pos, i32 byte_size);
|
|
void export_exr_write_single(i32 off, i32 pos, i32 byte_size);
|
|
buffer_t *export_exr_run(i32 width, i32 height, buffer_t *src, i32 bits, i32 type, i32 off);
|
|
void nodes_material_init();
|
|
ui_node_t *nodes_material_get_node_t(char *node_type);
|
|
ui_node_t *nodes_material_create_node(char *node_type, node_group_t *group);
|
|
raw_mesh_t *geom_make_plane(f32 size_x, f32 size_y, i32 verts_x, i32 verts_y, f32 uv_scale);
|
|
raw_mesh_t *geom_make_uv_sphere(f32 radius, i32 width_segments, i32 height_segments, bool stretch_uv, f32 uv_scale);
|
|
node_shader_context_t *make_mesh_run(material_t *data, i32 layer_pass);
|
|
void ui_sidebar_render_ui();
|
|
void ui_sidebar_show(bool b);
|
|
void console_draw_toast(char *s);
|
|
void console_toast(char *s);
|
|
void console_draw_progress(void *_);
|
|
void console_progress(char *s);
|
|
void console_info(char *s);
|
|
void console_error(char *s);
|
|
void console_log(char *s);
|
|
void console_trace(char *s);
|
|
void export_mesh_run(char *path, mesh_object_t_array_t *paint_objects, bool apply_disp, bool merge_vertices);
|
|
void export_player_run(char *path);
|
|
void camera_init();
|
|
void camera_update(void *_);
|
|
f32 camera_distance();
|
|
i32 camera_index();
|
|
f32 camera_get_zoom_speed();
|
|
void camera_reset(i32 view_index);
|
|
void camera_pan_action(bool modif, bool default_keymap);
|
|
f32 camera_get_zoom_delta();
|
|
void camera_set_pivot_center_to_mouse();
|
|
void box_preferences_interface_tab();
|
|
void box_preferences_theme_tab();
|
|
void box_preferences_usage_tab();
|
|
void box_preferences_pen_tab();
|
|
void box_preferences_viewport_tab();
|
|
void box_preferences_keymap_tab();
|
|
void box_preferences_neural_tab();
|
|
bool box_preferences_model_exists(char *file_name);
|
|
char *box_preferences_file_name_from_url(char *url);
|
|
char *box_preferneces_model_url_from_name(char *name);
|
|
void box_preferences_model_panel(neural_node_model_t *m);
|
|
void box_preferences_plugins_tab();
|
|
void box_preferences_show();
|
|
void box_preferences_fetch_themes();
|
|
void box_preferences_fetch_keymaps();
|
|
void box_preferences_fetch_plugins();
|
|
i32 box_preferences_get_theme_index();
|
|
i32 box_preferences_get_preset_index();
|
|
void box_preferences_set_scale();
|
|
char *box_preferences_theme_to_json(ui_theme_t *theme);
|
|
void render_path_paint_init();
|
|
void render_path_paint_draw_fullscreen_triangle(char *context);
|
|
void render_path_paint_commands_paint(bool dilation);
|
|
void render_path_paint_use_live_layer(bool use);
|
|
void render_path_paint_commands_live_brush();
|
|
void render_path_paint_commands_cursor();
|
|
void render_path_paint_draw_cursor(f32 mx, f32 my, f32 radius, f32 tint_r, f32 tint_g, f32 tint_b);
|
|
void render_path_paint_commands_symmetry();
|
|
bool render_path_paint_paint_enabled();
|
|
void render_path_paint_live_brush_dirty();
|
|
void render_path_paint_begin();
|
|
void render_path_paint_end();
|
|
void _render_path_paint_final();
|
|
void _render_path_paint_deriv();
|
|
bool render_path_paint_is_rt_bake();
|
|
void render_path_paint_update_bake_layer(texture_bits_t bits);
|
|
void render_path_paint_draw();
|
|
void render_path_paint_set_plane_mesh();
|
|
void render_path_paint_restore_plane_mesh();
|
|
void render_path_paint_bind_layers();
|
|
void render_path_paint_unbind_layers();
|
|
void render_path_paint_dilate(bool base, bool nor_pack);
|
|
void export_texture_run(char *path, bool bake_material);
|
|
void export_texture_run_bake_material(char *path);
|
|
void export_texture_run_layers(char *path, slot_layer_t_array_t *layers, char *object_name, bool bake_material);
|
|
void export_texture_write_texture(char *file, buffer_t *pixels, i32 type, i32 off);
|
|
i32 _export_texture_channel_bgra_swap(i32 c);
|
|
void export_texture_copy_channel(buffer_t *from, i32 from_channel, buffer_t *to, i32 to_channel, bool linear);
|
|
void export_texture_copy_channel_inv(buffer_t *from, i32 from_channel, buffer_t *to, i32 to_channel, bool linear);
|
|
void export_texture_extract_channel(buffer_t *from, i32 from_channel, buffer_t *to, i32 to_channel, i32 step, i32 mask, bool linear);
|
|
void export_texture_set_channel(i32 value, buffer_t *to, i32 to_channel, bool linear);
|
|
void export_texture_to_srgb(buffer_t *to, i32 to_channel);
|
|
void ui_box_init();
|
|
void ui_box_render();
|
|
void ui_box_show_message(char *title, char *text, bool copyable);
|
|
void ui_box_show_custom(void (*commands)(void), i32 mw, i32 mh, void (*on_hide)(void), bool draggable, char *title);
|
|
void ui_box_hide();
|
|
void ui_box_hide_internal();
|
|
void ui_box_tween_in();
|
|
void ui_box_tween_out();
|
|
void ui_box_tween_tick();
|
|
void ui_box_window_border();
|
|
void tab_meshes_draw(ui_handle_t *htab);
|
|
void tab_meshes_draw_properties(mesh_object_t *o);
|
|
void tab_meshes_append_shape(char *mesh_name);
|
|
void tab_scene_select_object(mesh_object_t *mo);
|
|
void tab_scene_sort();
|
|
void tab_scene_import_mesh_done();
|
|
void tab_scene_draw_list(ui_handle_t *list_handle, object_t *current_object);
|
|
void tab_scene_draw(ui_handle_t *htab);
|
|
void util_particle_init();
|
|
void util_particle_init_physics();
|
|
void util_particle_init_mesh();
|
|
void tab_layers_draw(ui_handle_t *htab);
|
|
void tab_layers_draw_mini(ui_handle_t *htab);
|
|
void tab_layers_draw_full(ui_handle_t *htab);
|
|
void tab_layers_button_2d_view();
|
|
void tab_layers_draw_slots(bool mini);
|
|
void tab_layers_highlight_odd_lines();
|
|
void tab_layers_button_new(char *text);
|
|
void tab_layers_combo_filter();
|
|
void tab_layers_remap_layer_pointers(ui_node_t_array_t *nodes, i32_imap_t *pointer_map);
|
|
i32_map_t *tab_layers_init_layer_map();
|
|
i32_imap_t *tab_layers_fill_layer_map(i32_map_t *map);
|
|
void tab_layers_set_drag_layer(slot_layer_t *layer, f32 off_x, f32 off_y);
|
|
void tab_layers_draw_layer_slot(slot_layer_t *l, i32 i, bool mini);
|
|
void tab_layers_draw_layer_slot_mini(slot_layer_t *l, i32 i);
|
|
void tab_layers_draw_layer_slot_full(slot_layer_t *l, i32 i);
|
|
ui_handle_t *tab_layers_combo_object(slot_layer_t *l, bool label);
|
|
ui_handle_t *tab_layers_combo_blending(slot_layer_t *l, bool label);
|
|
void tab_layers_layer_toggle_visible(slot_layer_t *l);
|
|
void tab_layers_draw_layer_highlight(slot_layer_t *l, bool mini);
|
|
void tab_layers_handle_layer_icon_state(slot_layer_t *l, i32 i, ui_state_t state, f32 uix, f32 uiy);
|
|
ui_state_t tab_layers_draw_layer_icon(slot_layer_t *l, i32 i, f32 uix, f32 uiy, bool mini);
|
|
bool tab_layers_can_merge_down(slot_layer_t *l);
|
|
void tab_layers_draw_layer_context_menu(slot_layer_t *l, bool mini);
|
|
void tab_layers_make_mask_preview_rgba32(slot_layer_t *l);
|
|
void tab_layers_delete_layer(slot_layer_t *l);
|
|
bool tab_layers_can_delete(slot_layer_t *l);
|
|
bool tab_layers_can_drop_new_layer(i32 position);
|
|
void util_uv_cache_uv_map();
|
|
void util_uv_cache_triangle_map();
|
|
void util_uv_cache_dilate_map();
|
|
void _util_uv_check(i32 cx, i32 cy, i32 w, i32 h, i32 r, buffer_t *view, i32_array_t *coords_x, i32_array_t *coords_y);
|
|
void util_uv_cache_uv_island_map();
|
|
void render_path_raytrace_init();
|
|
void render_path_raytrace_commands(bool use_live_layer);
|
|
void render_path_raytrace_raytrace_init(char *shader_name, bool build);
|
|
void render_path_raytrace_build_data();
|
|
void render_path_raytrace_draw(bool use_live_layer);
|
|
void sculpt_import_mesh_pack_to_texture(mesh_data_t *mesh, slot_layer_t *l);
|
|
node_shader_context_t *sculpt_make_sculpt_run(material_t *data, material_context_t *matcon);
|
|
void sculpt_make_mesh_run(node_shader_t *kong, slot_layer_t *l);
|
|
void sculpt_layers_create_sculpt_layer();
|
|
void render_path_sculpt_commands();
|
|
void render_path_sculpt_begin();
|
|
void ui_statusbar_init();
|
|
i32 ui_statusbar_width();
|
|
void ui_statusbar_render_ui();
|
|
void ui_statusbar_draw_version_tab(ui_handle_t *htab);
|
|
void import_envmap_run(char *path, gpu_texture_t *image);
|
|
void import_envmap_get_radiance_mip(gpu_texture_t *mip, i32 level, gpu_texture_t *radiance);
|
|
vec4_t import_envmap_reverse_equirect(f32 x, f32 y);
|
|
f32_array_t *import_envmap_get_spherical_harmonics(buffer_t *source, i32 source_width, i32 source_height);
|
|
void image_texture_node_init();
|
|
char *parser_material_texture_store(ui_node_t *node, bind_tex_t *tex, char *tex_name, i32 color_space);
|
|
bind_tex_t *parser_material_make_texture(ui_node_t *image_node, char *tex_name);
|
|
char *image_texture_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
char *image_texture_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void material_node_init();
|
|
char *material_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
char *material_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void uv_map_node_init();
|
|
char *uv_map_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
void wave_texture_node_init();
|
|
char *wave_texture_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
char *wave_texture_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void clamp_node_init();
|
|
char *clamp_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void tangent_node_init();
|
|
char *tangent_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
void curvature_bake_node_init();
|
|
char *curvature_bake_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void blur_node_init();
|
|
char *blur_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
void text_texture_node_init();
|
|
void _parser_material_cache_tex_text_node(char *file, char *text);
|
|
char *text_texture_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
char *text_texture_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void gradient_texture_node_init();
|
|
char *parser_material_get_gradient(char *grad, char *co);
|
|
char *gradient_texture_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
char *gradient_texture_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void object_info_node_init();
|
|
char *object_info_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
char *object_info_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void magic_texture_node_init();
|
|
char *magic_texture_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
char *magic_texture_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void fresnel_node_init();
|
|
char *fresnel_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void warp_node_init();
|
|
char *warp_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
void normal_node_init();
|
|
char *normal_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
char *normal_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void mapping_node_init();
|
|
char *mapping_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
void normal_map_node_init();
|
|
char *normal_map_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
void invert_color_node_init();
|
|
char *invert_color_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
void wireframe_node_init();
|
|
char *wireframe_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void gamma_node_init();
|
|
char *gamma_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
void vector_math2_node_init();
|
|
char *vector_math2_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
char *vector_math2_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void checker_texture_node_init();
|
|
char *checker_texture_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
char *checker_texture_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void hue_saturation_value_node_init();
|
|
char *hue_saturation_value_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
void separate_xyz_node_init();
|
|
char *separate_xyz_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void math2_node_init();
|
|
char *math2_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void geometry_node_init();
|
|
char *geometry_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
char *geometry_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void mix_color_node_init();
|
|
char *mix_color_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
void quantize_node_init();
|
|
char *quantize_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
void layer_node_init();
|
|
char *layer_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
char *layer_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void map_range_node_init();
|
|
char *map_range_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void voronoi_texture_node_init();
|
|
char *voronoi_texture_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
char *voronoi_texture_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void color_ramp_node_init();
|
|
char *color_ramp_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
void nodes_material_color_ramp_button(i32 node_id);
|
|
void picker_node_init();
|
|
char *picker_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
char *picker_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void layer_weight_node_init();
|
|
char *layer_weight_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void replace_color_node_init();
|
|
char *replace_color_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
void bump_node_init();
|
|
char *bump_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
void gabor_texture_node_init();
|
|
char *gabor_texture_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void mix_normal_map_node_init();
|
|
char *mix_normal_map_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
void camera_data_node_init();
|
|
char *camera_data_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
char *camera_data_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void script_node_init();
|
|
char *script_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void combine_xyz_node_init();
|
|
char *combine_xyz_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
void noise_texture_node_init();
|
|
char *noise_texture_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
char *noise_texture_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void brightness_contrast_node_init();
|
|
char *brightness_contrast_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
void color_mask_node_init();
|
|
char *color_mask_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void vector_curves_node_init();
|
|
char *parser_material_vector_curve(char *name, char *fac, f32 *points, i32 num);
|
|
char *vector_curves_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
void nodes_material_vector_curves_button(i32 node_id);
|
|
void layer_mask_node_init();
|
|
char *layer_mask_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void camera_texture_node_init();
|
|
char *camera_texture_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
void value_node_init();
|
|
char *value_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void texture_coordinate_node_init();
|
|
char *texture_coordinate_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
void group_node_init();
|
|
char *group_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
char *group_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void nodes_material_new_group_button(i32 node_id);
|
|
void nodes_material_group_input_button(i32 node_id);
|
|
void nodes_material_group_output_button(i32 node_id);
|
|
void nodes_material_add_socket_button(ui_nodes_t *nodes, ui_node_t *node, ui_node_socket_t_array_t *sockets);
|
|
void nodes_material_sync_sockets(ui_node_t *node);
|
|
void nodes_material_sync_group_sockets(ui_node_canvas_t *canvas, char *group_name, ui_node_t *node);
|
|
i32 nodes_material_get_socket_color(char *type);
|
|
f32_array_t *nodes_material_get_socket_default_value(char *type);
|
|
char *nodes_material_get_socket_name(char *type);
|
|
ui_node_socket_t *nodes_material_create_socket(ui_nodes_t *nodes, ui_node_t *node, char *name, char *type, ui_node_canvas_t *canvas, f32 min, f32 max,
|
|
void *default_value);
|
|
void brick_texture_node_init();
|
|
char *brick_texture_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
char *brick_texture_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void rgb_node_init();
|
|
char *rgb_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
void rgb_to_bw_node_init();
|
|
char *rgb_to_bw_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void attribute_node_init();
|
|
char *attribute_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
char *attribute_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void shader_node_init();
|
|
char *shader_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void upscale_image_node_init();
|
|
void upscale_image_node_button(i32 node_id);
|
|
void image_to_pbr_node_init();
|
|
char *image_to_pbr_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
char *image_to_pbr_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
void image_to_pbr_node_run_sd(char *model, char *prompt, void (*done)(gpu_texture_t *));
|
|
void image_to_pbr_node_button(i32 node_id);
|
|
void image_to_pbr_node_check_result(void (*done)(gpu_texture_t *));
|
|
void inpaint_image_node_init();
|
|
void inpaint_image_node_button(i32 node_id);
|
|
void text_to_image_node_init();
|
|
string_t_array_t *text_to_image_node_sd_args(char *dir, char *prompt);
|
|
string_t_array_t *text_to_image_node_zimage_args(char *dir, char *prompt);
|
|
string_t_array_t *text_to_image_node_qwen_args(char *dir, char *prompt);
|
|
string_t_array_t *text_to_image_node_wan_args(char *dir, char *prompt);
|
|
void text_to_image_node_button(i32 node_id);
|
|
void outpaint_image_node_init();
|
|
void outpaint_image_node_button(i32 node_id);
|
|
char *neural_node_vector(ui_node_t *node, ui_node_socket_t *socket);
|
|
char *neural_node_value(ui_node_t *node, ui_node_socket_t *socket);
|
|
ui_node_t *neural_from_node(ui_node_socket_t *inp, i32 socket);
|
|
bool neural_node_button(ui_node_t *node, char *model);
|
|
void neural_node_check_result(ui_node_t *node);
|
|
char *neural_node_sd_bin_ext();
|
|
char *neural_node_sd_bin();
|
|
char *neural_node_dir();
|
|
void neural_node_download(char *url);
|
|
void neural_node_download_models(string_t_array_t *models);
|
|
void neural_node_models_init();
|
|
void edit_image_node_init();
|
|
void edit_image_node_button(i32 node_id);
|
|
void tile_image_node_init();
|
|
void tile_image_node_button(i32 node_id);
|
|
void image_to_3d_mesh_node_init();
|
|
buffer_t *image_to_3d_mesh_node_remove_background(buffer_t *buffer);
|
|
void image_to_3d_mesh_node_button(i32 node_id);
|
|
void image_to_3d_mesh_node_check_result(ui_node_t *node);
|
|
void vary_image_node_init();
|
|
void vary_image_node_button(i32 node_id);
|
|
void image_to_normal_map_node_init();
|
|
void image_to_normal_map_node_button(i32 node_id);
|
|
void image_to_depth_node_init();
|
|
void image_to_depth_node_button(i32 node_id);
|
|
tex_image_node_t *tex_image_node_create(ui_node_t *raw, f32_array_t *args);
|
|
logic_node_value_t *tex_image_node_get(tex_image_node_t *self, i32 from);
|
|
|
|
random_node_t *random_node_create(ui_node_t *raw, f32_array_t *args);
|
|
logic_node_value_t *random_node_get(random_node_t *self, i32 from);
|
|
i32 random_node_get_int();
|
|
void random_node_set_seed(i32 seed);
|
|
i32 random_node_get_seed();
|
|
f32 random_node_get_float();
|
|
|
|
boolean_node_t *boolean_node_create(ui_node_t *raw, f32_array_t *args);
|
|
logic_node_value_t *boolean_node_get(boolean_node_t *self, i32 from);
|
|
void boolean_node_set(boolean_node_t *self, f32_array_t *value);
|
|
|
|
input_node_t *input_node_create(ui_node_t *raw, f32_array_t *args);
|
|
void input_node_update(float_node_t *self);
|
|
logic_node_value_t *input_node_get(input_node_t *self, i32 from);
|
|
|
|
math_node_t *math_node_create(ui_node_t *raw, f32_array_t *args);
|
|
logic_node_value_t *math_node_get(math_node_t *self, i32 from);
|
|
|
|
vector_node_t *vector_node_create(ui_node_t *raw, f32_array_t *args);
|
|
logic_node_value_t *vector_node_get(vector_node_t *self, i32 from);
|
|
gpu_texture_t *vector_node_get_as_image(vector_node_t *self, i32 from);
|
|
void vector_node_set(vector_node_t *self, f32_array_t *value);
|
|
|
|
color_node_t *color_node_create(ui_node_t *raw, f32_array_t *args);
|
|
logic_node_value_t *color_node_get(color_node_t *self, i32 from);
|
|
gpu_texture_t *color_node_get_as_image(color_node_t *self, i32 from);
|
|
void color_node_set(color_node_t *self, f32_array_t *value);
|
|
|
|
string_node_t *string_node_create(ui_node_t *raw, f32_array_t *args);
|
|
logic_node_value_t *string_node_get(string_node_t *self, i32 from);
|
|
void string_node_set(string_node_t *self, void *value);
|
|
|
|
null_node_t *null_node_create(ui_node_t *raw, f32_array_t *args);
|
|
logic_node_value_t *null_node_get(null_node_t *self, i32 from);
|
|
|
|
time_node_t *time_node_create(ui_node_t *raw, f32_array_t *args);
|
|
logic_node_value_t *time_node_get(time_node_t *self, i32 from);
|
|
|
|
vector_math_node_t *vector_math_node_create(ui_node_t *raw, f32_array_t *args);
|
|
logic_node_value_t *vector_math_node_get(vector_math_node_t *self, i32 from);
|
|
|
|
float_node_t *float_node_create(ui_node_t *raw, f32_array_t *args);
|
|
logic_node_value_t *float_node_get(float_node_t *self, i32 from);
|
|
gpu_texture_t *float_node_get_as_image(float_node_t *self, i32 from);
|
|
void float_node_set(float_node_t *self, f32_array_t *value);
|
|
|
|
integer_node_t *integer_node_create(ui_node_t *raw, f32_array_t *args);
|
|
logic_node_value_t *integer_node_get(integer_node_t *self, i32 from);
|
|
void integer_node_set(integer_node_t *self, f32_array_t *value);
|
|
|
|
separate_vector_node_t *separate_vector_node_create(ui_node_t *raw, f32_array_t *args);
|
|
logic_node_value_t *separate_vector_node_get(separate_vector_node_t *self, i32 from);
|
|
|
|
brush_output_node_t *brush_output_node_create(ui_node_t *raw, f32_array_t *args);
|
|
void brush_output_node_parse_inputs(brush_output_node_t *self);
|
|
void brush_output_node_run(brush_output_node_t *self, i32 from);
|
|
void brush_output_paint(brush_output_node_t *self);
|