815 lines
50 KiB
C
815 lines
50 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);
|
|
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);
|
|
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);
|
|
slot_layer_t *slot_layer_duplicate(slot_layer_t *raw);
|
|
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);
|
|
void layers_apply_mask(slot_layer_t *l, slot_layer_t *m);
|
|
void slot_layer_apply_sculpt(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);
|
|
slot_layer_t_array_t *slot_layer_get_filters(slot_layer_t *raw, bool include_group_filters);
|
|
f32 slot_layer_get_opacity(slot_layer_t *raw);
|
|
i32 slot_layer_get_object_mask(slot_layer_t *raw);
|
|
i32 slot_layer_get_blending(slot_layer_t *raw);
|
|
bool slot_layer_is_layer(slot_layer_t *raw);
|
|
bool slot_layer_is_path(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_filter(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_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();
|
|
bool layers_is_path_material();
|
|
void layers_update_path_layers();
|
|
void layers_update_fill_layer(bool parse_paint);
|
|
void layers_update_linked_layers();
|
|
void layers_set_object_mask();
|
|
slot_layer_t *layers_new_layer(bool clear, i32 position, slot_layer_t *parent);
|
|
slot_layer_t *layers_new_mask(bool clear, slot_layer_t *parent, i32 position);
|
|
slot_layer_t *layers_new_group();
|
|
slot_layer_t *layers_new_path_layer(bool curved);
|
|
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_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();
|
|
void layers_create_filter();
|
|
void layers_create_image_layer(asset_t *asset);
|
|
slot_font_t *slot_font_create(char *name, draw_font_t *font, char *file);
|
|
scene_t *startup_get_scene(void);
|
|
buffer_t *util_encode_scene(scene_t *raw);
|
|
buffer_t *util_encode_project(project_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 render_compass();
|
|
void render_compass_update();
|
|
void render_envsphere();
|
|
void render_pathsphere();
|
|
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_get_layer_res();
|
|
i32 config_get_scene_atlas_res();
|
|
void config_set_texture_res(i32 pos);
|
|
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(physics_body_t *body);
|
|
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_show_mesh();
|
|
void box_export_show_material();
|
|
void box_export_show_brush();
|
|
void box_export_show_player();
|
|
void box_export_fetch_presets();
|
|
void box_export_parse_preset();
|
|
void import_blend_mesh_ui();
|
|
void import_blend_mesh_run(char *path, bool replace_existing);
|
|
void tab_timeline_draw(ui_handle_t *htab);
|
|
void tab_timeline_export(project_t *raw);
|
|
void tab_timeline_import(project_t *raw);
|
|
void tab_timeline_reset();
|
|
void tab_timeline_prepare_save();
|
|
void tab_timeline_finish_save();
|
|
void tab_timeline_play();
|
|
void tab_timeline_player_update();
|
|
void tab_console_draw(ui_handle_t *htab);
|
|
void tab_textures_draw(ui_handle_t *htab);
|
|
void render_path_forward_init();
|
|
void render_path_forward_commands();
|
|
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);
|
|
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 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_texture_run(char *path, bool hdr_as_envmap);
|
|
void import_lut_run(const char *path);
|
|
void import_lut_free();
|
|
void ui_files_show(char *filters, bool is_save, bool open_multiple, void (*files_done)(char *));
|
|
char *ui_files_file_browser(ui_handle_t *handle, bool drag_files, char *search, bool refresh, void (*context_menu)(char *));
|
|
void ui_files_go_up(ui_handle_t *handle);
|
|
void ui_files_navigate(i32 dx, i32 dy);
|
|
void ui_files_enter_selected(ui_handle_t *handle);
|
|
void base_init();
|
|
i32 base_w();
|
|
i32 base_view3d_w();
|
|
i32 base_h();
|
|
i32 base_x();
|
|
i32 base_y();
|
|
void base_on_resize();
|
|
void base_resize();
|
|
void base_update_workspace();
|
|
void base_update_workflow();
|
|
void base_run_in_player();
|
|
string_array_t *base_combo_enum_texts(char *node_type);
|
|
any_array_t *base_combo_enum_images(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();
|
|
uint32_t base_darker(uint32_t x, uint32_t y);
|
|
void base_redraw_ui();
|
|
string_array_t *base_get_viewport_modes();
|
|
string_array_t *base_get_viewport_mode_shortcuts();
|
|
void ui_base_init_on_next_frame(void *_);
|
|
void ui_base_view_top();
|
|
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);
|
|
bool ui_base_picker_button();
|
|
void ui_base_make_empty_envmap(i32 col);
|
|
void ui_base_init();
|
|
void ui_base_menu_draw_viewport_mode();
|
|
void ui_base_update_next_frame(void *_);
|
|
void ui_base_operator_search_menu_draw();
|
|
void ui_base_operator_search();
|
|
f32 ui_base_get_radius_increment();
|
|
void ui_base_update_ui_on_next_frame(void *_);
|
|
rect_t *ui_base_get_brush_stencil_rect();
|
|
bool ui_base_hit_rect(f32 mx, f32 my, i32 x, i32 y, i32 w, i32 h);
|
|
void ui_base_update_ui();
|
|
void ui_base_update(void *_);
|
|
void util_cursor_render(void *_);
|
|
tab_draw_t *_draw_callback_create(void (*f)(ui_handle_t *));
|
|
ui_handle_t_array_t *ui_base_init_hwnds();
|
|
ui_handle_t_array_t *ui_base_init_htabs();
|
|
tab_draw_array_t_array_t *ui_base_init_hwnd_tabs();
|
|
void ui_base_toggle_distract_free();
|
|
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_set_viewport_col(i32 col);
|
|
void render_gizmo_update();
|
|
void util_layer_update_preview();
|
|
void util_layer_update_path();
|
|
bool util_layer_is_path_point_dragging();
|
|
void util_layer_add_path_point(slot_layer_t *l, f32 screen_x, f32 screen_y);
|
|
void util_layer_repaint_path(slot_layer_t *l);
|
|
void util_layer_clear_path_points(slot_layer_t *l);
|
|
f32 util_layer_brush_screen_radius();
|
|
void make_texcoord_run(node_shader_t *kong);
|
|
void context_init();
|
|
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_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_brushes();
|
|
bool context_in_fonts();
|
|
bool context_in_textures();
|
|
bool context_in_browser();
|
|
bool context_is_decal();
|
|
bool context_is_decal_mask();
|
|
bool context_is_decal_mask_paint();
|
|
bool context_is_decal_camera_align();
|
|
bool context_is_floating_toolbar();
|
|
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 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_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);
|
|
node_shader_t *node_shader_context_make_kong(node_shader_context_t *raw);
|
|
void ui_toolbar_init();
|
|
i32 ui_toolbar_w(bool screen_size_request);
|
|
i32 ui_toolbar_x();
|
|
void ui_toolbar_render_ui();
|
|
void export_arm_run_mesh(char *path, mesh_object_t_array_t *paint_objects);
|
|
void export_arm_run_project();
|
|
void export_arm_run_material(char *path);
|
|
void export_arm_run_brush(char *path);
|
|
void export_arm_pack_assets(project_t *raw, asset_t_array_t *assets);
|
|
void export_arm_run_swatches(char *path);
|
|
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);
|
|
material_data_t *make_particle_get_bullet_material();
|
|
void uniforms_ext_init();
|
|
void render_path_deferred_init();
|
|
void render_path_deferred_commands();
|
|
void box_projects_show();
|
|
void box_projects_recent_tab();
|
|
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_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);
|
|
void tab_scripts_set(char *s);
|
|
char *tab_scripts_get();
|
|
void tab_scripts_create(char *name);
|
|
void tab_scripts_draw(ui_handle_t *htab);
|
|
ui_text_coloring_t *tab_scripts_get_text_coloring();
|
|
void tab_debug_draw(ui_handle_t *htab);
|
|
void render_path_preview_init();
|
|
void render_path_preview_commands_preview();
|
|
void render_path_preview_commands_decal();
|
|
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, bool viewport);
|
|
material_data_t *make_mesh_preview_viewport(slot_material_t *slot);
|
|
void import_audio_run(char *path);
|
|
void import_mesh_run(char *path, bool _clear_layers, bool replace_existing, bool keep_camera);
|
|
void import_mesh_finish_import(void *_);
|
|
void import_mesh_make_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_top_y();
|
|
void ui_menubar_render_ui();
|
|
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);
|
|
string_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);
|
|
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_material(char *path);
|
|
void import_arm_run_brush(char *path);
|
|
void import_arm_run_brush_from_project(project_t *project, char *path);
|
|
void import_arm_run_swatches(char *path, bool replace_existing);
|
|
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_screenshot_to(gpu_texture_t *target, float x, float y, float w, float h);
|
|
void viewport_save_texture(gpu_texture_t *screenshot);
|
|
void viewport_capture_video_begin();
|
|
void viewport_capture_video_end();
|
|
void tab_fonts_draw(ui_handle_t *htab);
|
|
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);
|
|
float physics_world_get_speed(physics_world_t *world, physics_body_t *body);
|
|
void ui_menu_render();
|
|
void ui_menu_draw(void (*commands)(void), i32 x, i32 y);
|
|
void ui_menu_separator();
|
|
bool ui_menu_button(char *text, char *label, icon_t icon);
|
|
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_commands(void (*draw_commands)(void));
|
|
void render_path_base_draw_bloom(char *source, char *target);
|
|
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();
|
|
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();
|
|
stage_t *tab_stages_create_stage(char *name);
|
|
stage_t *tab_stages_get_stage();
|
|
void tab_stages_apply(stage_t *stage);
|
|
void tab_stages_rename_object(char *old_name, char *new_name);
|
|
void tab_stages_rename_layer(char *old_name, char *new_name);
|
|
void script_set_stage(char *name);
|
|
void tab_stages_prune();
|
|
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_new(bool reset_layers);
|
|
void project_set_default_envmap();
|
|
void project_import_material();
|
|
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, bool keep_camera, void (*done)(void));
|
|
void project_reimport_mesh();
|
|
void project_reimport_mesh_skinned(int frame);
|
|
void project_unwrap_mesh_box();
|
|
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(asset_t *asset);
|
|
gpu_texture_t *project_get_image(asset_t *asset);
|
|
asset_t_array_t *project_get_assets();
|
|
string_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_update(void *_);
|
|
void make_picking_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(physics_body_t *pb);
|
|
void sim_duplicate();
|
|
void sim_delete();
|
|
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);
|
|
void parser_material_push_group(ui_node_canvas_t *g);
|
|
char *parser_material_parse_group(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_value_input(ui_node_socket_t *inp, bool vector_as_grayscale);
|
|
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);
|
|
char *parser_material_node_name(ui_node_t *node, ui_node_t_array_t *_parents);
|
|
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_brush_update();
|
|
vec4_t raycast_aabb(object_t *object, f32 mouse_x, f32 mouse_y);
|
|
void util_resize_borders();
|
|
void util_select_update();
|
|
void util_shortcut_brush();
|
|
void util_shortcut_global();
|
|
void util_shortcut_undo_redo();
|
|
void util_shortcut_viewport();
|
|
void util_stencil_transform();
|
|
void util_touch_update();
|
|
void tab_materials_draw(ui_handle_t *htab);
|
|
void tab_materials_accept_swatch_drop(swatch_color_t *swatch);
|
|
void tab_materials_accept_material_drop(slot_material_t *material);
|
|
void tab_brushes_accept_brush_drop(slot_brush_t *brush);
|
|
void tab_fonts_accept_font_drop(slot_font_t *font);
|
|
void tab_textures_accept_asset_drop(asset_t *asset);
|
|
void tab_browser_show_directory(char *directory);
|
|
void tab_browser_draw(ui_handle_t *htab);
|
|
void util_mesh_merge(mesh_object_t_array_t *paint_objects);
|
|
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);
|
|
void util_mesh_decimate(f32 strength);
|
|
void util_mesh_smooth();
|
|
void util_mesh_bevel(f32 amount);
|
|
void util_mesh_subdivide();
|
|
void util_mesh_pack_uvs(i16_array_t *texa);
|
|
void ui_header_init();
|
|
void ui_header_render_ui();
|
|
void ui_header_draw_tool_properties();
|
|
void player_update();
|
|
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);
|
|
void parser_logic_parse(ui_node_canvas_t *canvas);
|
|
void resource_load(string_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));
|
|
void make_material_parse_mesh_material();
|
|
void make_material_parse_depth_material();
|
|
void make_material_parse_mesh_preview_material();
|
|
void make_material_parse_paint_material(bool bake_previews);
|
|
void make_material_save_paint_material();
|
|
void make_material_restore_paint_material();
|
|
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);
|
|
f32 make_material_get_displace_strength();
|
|
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_canvas_capture_output(void *_);
|
|
void ui_viewnodes_on_canvas_released_duplicate(void *_);
|
|
void ui_viewnodes_on_canvas_delete_on_next_frame(void *_);
|
|
void ui_viewnodes_on_canvas_delete(void *_);
|
|
void ui_viewnodes_on_canvas_paste(void *_);
|
|
void ui_viewnodes_on_canvas_copy(void *_);
|
|
void ui_viewnodes_on_canvas_cut(void *_);
|
|
void ui_nodes_push_undo(ui_node_canvas_t *last_canvas);
|
|
void ui_nodes_capture_output();
|
|
bool ui_nodes_is_tab_selected();
|
|
i32 ui_nodes_tab_index();
|
|
i32 ui_nodes_get_node_x();
|
|
i32 ui_nodes_get_node_y();
|
|
void ui_nodes_recompile();
|
|
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);
|
|
ui_canvas_control_t *ui_nodes_get_canvas_control(bool controls_down, bool is_node_view);
|
|
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();
|
|
gpu_texture_t *ui_nodes_draw_grid(f32 zoom);
|
|
gpu_texture_t *ui_nodes_get_node_preview_image(ui_node_t *n);
|
|
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);
|
|
bool ui_nodes_has_group(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_traverse_group(ui_node_canvas_t_array_t *mgroups, ui_node_canvas_t *c);
|
|
void ui_nodes_get_linked_nodes(ui_node_t_array_t *linked_nodes, ui_node_t *n, ui_node_canvas_t *c);
|
|
bool ui_nodes_contains_node_group_recursive(node_group_t *group, char *group_name);
|
|
bool ui_nodes_can_place_group(char *group_name);
|
|
void import_theme_run(char *path);
|
|
ui_node_socket_t_array_t *util_clone_canvas_sockets(ui_node_socket_t_array_t *sockets);
|
|
ui_node_t *util_clone_canvas_node(ui_node_t *n);
|
|
ui_node_canvas_t *util_clone_canvas(ui_node_canvas_t *c);
|
|
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 plugin_uv_unwrap_per_object_button(mesh_object_t *mo);
|
|
void make_discard_color_id(node_shader_t *kong, char *tex_coord);
|
|
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);
|
|
bool import_arm_is_old(buffer_t *b);
|
|
project_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 export_obj_run(char *path, mesh_object_t_array_t *paint_objects);
|
|
void export_obj_run_fast(char *path, mesh_object_t_array_t *paint_objects);
|
|
void export_obj_run_sculpt(char *path, mesh_object_t_array_t *paint_objects);
|
|
void make_blur_run(node_shader_t *kong);
|
|
void import_font_run(char *path);
|
|
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_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);
|
|
node_shader_context_t *make_depth_run(material_t *data, material_context_t *matcon);
|
|
void ui_sidebar_render_ui();
|
|
void ui_sidebar_show(bool b);
|
|
void console_toast(char *s);
|
|
void console_info(char *s);
|
|
void console_error(char *s);
|
|
void console_log(char *s);
|
|
void export_mesh_run(char *path, mesh_object_t_array_t *paint_objects, bool merge_vertices);
|
|
void export_player_run(char *path);
|
|
void camera_init();
|
|
void camera_update(void *_);
|
|
f32 camera_distance();
|
|
void camera_reset(i32 view_index);
|
|
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_lut_picked(char *path);
|
|
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 render_path_paint_init();
|
|
void render_path_paint_commands_paint(bool dilation);
|
|
void render_path_paint_use_live_layer(bool use);
|
|
void render_path_paint_commands_cursor();
|
|
bool render_path_paint_paint_enabled();
|
|
void render_path_paint_live_brush_dirty();
|
|
void render_path_paint_begin();
|
|
void render_path_paint_end();
|
|
bool render_path_paint_is_rt_bake();
|
|
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 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 tab_meshes_draw(ui_handle_t *htab);
|
|
void tab_meshes_reset_preview_map();
|
|
void tab_meshes_set_override(mesh_object_t *o, i32 mat_index);
|
|
i32 tab_meshes_get_override(mesh_object_t *o);
|
|
void util_particle_init_physics();
|
|
void util_particle_update();
|
|
void tab_layers_apply_filter(i32 filter);
|
|
void tab_layers_draw(ui_handle_t *htab);
|
|
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_make_mask_preview_rgba32(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_cache_uv_island_map();
|
|
void util_texture_capture_output(gpu_texture_t *img, char *basename, bool bgra);
|
|
void render_path_raytrace_init();
|
|
void render_path_raytrace_raytrace_init(char *shader_name, bool build);
|
|
void render_path_raytrace_draw(bool use_live_layer);
|
|
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_array_t *sculpt_layers, i32_array_t *sculpt_indices);
|
|
void sculpt_make_paint_run(node_shader_t *kong);
|
|
bool sculpt_layer_has_visible_masks(slot_layer_t *l);
|
|
bool sculpt_mask_value(node_shader_t *kong, slot_layer_t *l, char *out_var, bool attrib, slot_layer_t *skip);
|
|
i32 sculpt_object_vertex_offset(mesh_object_t *o);
|
|
void sculpt_import_mesh_pack_to_texture(gpu_texture_t *target);
|
|
void sculpt_init_sculpt_texture(slot_layer_t *l);
|
|
void sculpt_init_meshes();
|
|
void sculpt_init();
|
|
void sculpt_layers_create_sculpt_layer();
|
|
void render_path_sculpt_displace_pass(char *texpaint_sculpt);
|
|
void render_path_sculpt_commands();
|
|
void render_path_sculpt_snapshot_gbuffer();
|
|
void render_path_sculpt_begin();
|
|
void ui_statusbar_init();
|
|
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 image_texture_node_init();
|
|
char *parser_material_texture_store(ui_node_t *node, bind_tex_t *tex, char *tex_name, i32 color_space);
|
|
void material_node_init();
|
|
void uv_map_node_init();
|
|
void wave_texture_node_init();
|
|
void clamp_node_init();
|
|
void curvature_bake_node_init();
|
|
void blur_node_init();
|
|
void text_texture_node_init();
|
|
void gradient_texture_node_init();
|
|
void object_info_node_init();
|
|
void magic_texture_node_init();
|
|
void warp_node_init();
|
|
void normal_node_init();
|
|
void mapping_node_init();
|
|
void normal_map_node_init();
|
|
void invert_color_node_init();
|
|
void wireframe_node_init();
|
|
void gamma_node_init();
|
|
void vector_math2_node_init();
|
|
void vector_rotate_node_init();
|
|
void vector_transform_node_init();
|
|
void checker_texture_node_init();
|
|
void hue_saturation_value_node_init();
|
|
void separate_color_node_init();
|
|
void separate_xyz_node_init();
|
|
void math2_node_init();
|
|
void geometry_node_init();
|
|
void mix_color_node_init();
|
|
void quantize_node_init();
|
|
void layer_node_init();
|
|
void float_curve_node_init();
|
|
void map_range_node_init();
|
|
void voronoi_texture_node_init();
|
|
void color_ramp_node_init();
|
|
void nodes_material_color_ramp_button(i32 node_id);
|
|
void picker_node_init();
|
|
void replace_color_node_init();
|
|
void bump_node_init();
|
|
void gabor_texture_node_init();
|
|
void mix_normal_map_node_init();
|
|
void script_node_init();
|
|
void script_node_button(i32 node_id);
|
|
void combine_color_node_init();
|
|
void combine_xyz_node_init();
|
|
void noise_texture_node_init();
|
|
void brightness_contrast_node_init();
|
|
void color_mask_node_init();
|
|
void rgb_curves_node_init();
|
|
void vector_curves_node_init();
|
|
f32 vector_curves_eval_cpu(f32 *points, i32 num, f32 t);
|
|
char *vector_curves_eval(char *name, char *fac, f32 *points, i32 num);
|
|
void nodes_material_vector_curves_button(i32 node_id);
|
|
void layer_mask_node_init();
|
|
void camera_texture_node_init();
|
|
void value_node_init();
|
|
void texture_coordinate_node_init();
|
|
void tilesheet_node_init();
|
|
void group_node_init();
|
|
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_sync_sockets(ui_node_t *node);
|
|
i32 nodes_material_get_socket_color(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();
|
|
void rgb_node_init();
|
|
void rgb_to_bw_node_init();
|
|
void attribute_node_init();
|
|
void shader_node_init();
|
|
void save_image_node_init();
|
|
void save_image_node_run(ui_node_t *node, gpu_texture_t *result);
|
|
void repeat_node_init();
|
|
void neural_node_load_result(ui_node_t *node);
|
|
void text_to_image_node_run(ui_node_t *node, void (*callback)(ui_node_t *));
|
|
void upscale_image_node_init();
|
|
void image_to_pbr_node_init();
|
|
void text_to_image_node_init();
|
|
void texture_mesh_node_init();
|
|
void text_to_text_node_clear();
|
|
void text_to_text_node_run(char *prompt, void (*done)(char *));
|
|
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_iris_bin();
|
|
char *neural_node_dir();
|
|
void neural_node_download_models(string_array_t *models);
|
|
void neural_node_models_init();
|
|
void edit_image_node_init();
|
|
void image_to_3d_mesh_node_init();
|
|
void image_to_3d_mesh_node_button(i32 node_id);
|
|
void *tex_image_node_create(ui_node_t *raw, f32_array_t *args);
|
|
void *random_node_create(ui_node_t *raw, f32_array_t *args);
|
|
void *boolean_node_create(ui_node_t *raw, f32_array_t *args);
|
|
void *input_node_create(ui_node_t *raw, f32_array_t *args);
|
|
void *math_node_create(ui_node_t *raw, f32_array_t *args);
|
|
void *vector_node_create(ui_node_t *raw, f32_array_t *args);
|
|
void *color_node_create(ui_node_t *raw, f32_array_t *args);
|
|
void *string_node_create(ui_node_t *raw, f32_array_t *args);
|
|
void *null_node_create(ui_node_t *raw, f32_array_t *args);
|
|
void *time_node_create(ui_node_t *raw, f32_array_t *args);
|
|
void *vector_math_node_create(ui_node_t *raw, f32_array_t *args);
|
|
void *float_node_create(ui_node_t *raw, f32_array_t *args);
|
|
void *integer_node_create(ui_node_t *raw, f32_array_t *args);
|
|
void *separate_vector_node_create(ui_node_t *raw, f32_array_t *args);
|
|
void *brush_output_node_create(ui_node_t *raw, f32_array_t *args);
|
|
void brush_output_node_parse_inputs();
|
|
void edit_uvmap_update();
|