Cleanup
This commit is contained in:
+31
-54
@@ -68,11 +68,9 @@ function base_init() {
|
||||
|
||||
iron_set_save_and_quit_callback(base_save_and_quit_callback);
|
||||
|
||||
let font: draw_font_t = data_get_font("font.ttf");
|
||||
let image_color_wheel: gpu_texture_t = data_get_image("color_wheel.k");
|
||||
let image_color_wheel_gradient: gpu_texture_t = data_get_image("color_wheel_gradient.k");
|
||||
|
||||
base_font = font;
|
||||
base_font = data_get_font("font.ttf");
|
||||
base_color_wheel = data_get_image("color_wheel.k");
|
||||
base_color_wheel_gradient = data_get_image("color_wheel_gradient.k");
|
||||
config_load_theme(config_raw.theme, false);
|
||||
base_default_element_w = base_theme.ELEMENT_W;
|
||||
base_default_element_h = base_theme.ELEMENT_H;
|
||||
@@ -91,8 +89,6 @@ function base_init() {
|
||||
draw_font_init(base_font);
|
||||
}
|
||||
|
||||
base_color_wheel = image_color_wheel;
|
||||
base_color_wheel_gradient = image_color_wheel_gradient;
|
||||
ui_nodes_enum_texts = base_enum_texts;
|
||||
|
||||
// Init plugins
|
||||
@@ -104,22 +100,21 @@ function base_init() {
|
||||
}
|
||||
|
||||
args_parse();
|
||||
|
||||
camera_init();
|
||||
ui_base_init();
|
||||
ui_viewnodes_init();
|
||||
ui_view2d_init();
|
||||
base_ext_init();
|
||||
|
||||
sys_notify_on_update(base_update);
|
||||
sys_notify_on_render(ui_view2d_render);
|
||||
sys_notify_on_update(ui_view2d_update);
|
||||
sys_notify_on_render(ui_base_render_cursor);
|
||||
sys_notify_on_update(ui_nodes_update);
|
||||
sys_notify_on_render(ui_nodes_render);
|
||||
sys_notify_on_update(ui_base_update);
|
||||
sys_notify_on_render(ui_base_render);
|
||||
sys_notify_on_update(camera_update);
|
||||
|
||||
sys_notify_on_render(ui_view2d_render);
|
||||
sys_notify_on_render(ui_base_render_cursor);
|
||||
sys_notify_on_render(ui_nodes_render);
|
||||
sys_notify_on_render(ui_base_render);
|
||||
sys_notify_on_render(base_render);
|
||||
|
||||
base_appx = ui_toolbar_w(true);
|
||||
@@ -127,9 +122,8 @@ function base_init() {
|
||||
if (config_raw.layout[layout_size_t.HEADER] == 1) {
|
||||
base_appy = ui_header_h * 2;
|
||||
}
|
||||
let cam: camera_object_t = scene_camera;
|
||||
cam.data.fov = math_floor(cam.data.fov * 100) / 100;
|
||||
camera_object_build_proj(cam);
|
||||
scene_camera.data.fov = math_floor(scene_camera.data.fov * 100) / 100;
|
||||
camera_object_build_proj(scene_camera);
|
||||
|
||||
args_run();
|
||||
|
||||
@@ -436,7 +430,16 @@ function base_update() {
|
||||
context_raw.ddirty = 0;
|
||||
}
|
||||
|
||||
base_ext_update();
|
||||
if (context_raw.tool == tool_type_t.GIZMO) {
|
||||
if (keyboard_down("control") && keyboard_started("d")) {
|
||||
sim_duplicate();
|
||||
}
|
||||
|
||||
if (keyboard_started("delete")) {
|
||||
sim_delete();
|
||||
}
|
||||
}
|
||||
|
||||
compass_update();
|
||||
}
|
||||
|
||||
@@ -526,7 +529,17 @@ function base_get_drag_image(): gpu_texture_t {
|
||||
}
|
||||
|
||||
function base_render() {
|
||||
base_ext_render();
|
||||
if (context_raw.frame == 2) {
|
||||
util_render_make_material_preview();
|
||||
ui_base_hwnds[tab_area_t.SIDEBAR1].redraws = 2;
|
||||
|
||||
base_init_undo_layers();
|
||||
}
|
||||
|
||||
if (context_raw.tool == tool_type_t.GIZMO) {
|
||||
sim_init();
|
||||
sim_update();
|
||||
}
|
||||
|
||||
if (context_raw.frame == 2) {
|
||||
make_material_parse_mesh_material();
|
||||
@@ -780,40 +793,4 @@ function base_init_config() {
|
||||
raw.scene_atlas_res = texture_res_t.RES8192;
|
||||
raw.pathtrace_mode = pathtrace_mode_t.FAST;
|
||||
raw.grid_snap = false;
|
||||
|
||||
base_ext_init_config(raw);
|
||||
}
|
||||
|
||||
|
||||
function base_ext_init() {
|
||||
}
|
||||
|
||||
function base_ext_render() {
|
||||
if (context_raw.frame == 2) {
|
||||
util_render_make_material_preview();
|
||||
ui_base_hwnds[tab_area_t.SIDEBAR1].redraws = 2;
|
||||
|
||||
base_init_undo_layers();
|
||||
}
|
||||
|
||||
if (context_raw.tool == tool_type_t.GIZMO) {
|
||||
sim_init();
|
||||
sim_update();
|
||||
}
|
||||
}
|
||||
|
||||
function base_ext_init_config(raw: config_t) {
|
||||
|
||||
}
|
||||
|
||||
function base_ext_update() {
|
||||
if (context_raw.tool == tool_type_t.GIZMO) {
|
||||
if (keyboard_down("control") && keyboard_started("d")) {
|
||||
sim_duplicate();
|
||||
}
|
||||
|
||||
if (keyboard_started("delete")) {
|
||||
sim_delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,7 +47,6 @@ function box_projects_tab() {
|
||||
|
||||
if (ui_button(tr("New"))) {
|
||||
project_new();
|
||||
viewport_scale_to_bounds();
|
||||
ui_box_hide();
|
||||
// Pick unique name
|
||||
let i: i32 = 0;
|
||||
|
||||
@@ -1,16 +1,13 @@
|
||||
|
||||
function main() {
|
||||
|
||||
// Used to locate external application data folder
|
||||
iron_set_app_name(manifest_title);
|
||||
config_load();
|
||||
|
||||
sys_on_resize = base_on_resize;
|
||||
sys_on_w = base_w;
|
||||
sys_on_h = base_h;
|
||||
sys_on_x = base_x;
|
||||
sys_on_y = base_y;
|
||||
|
||||
iron_set_app_name(manifest_title); // Used to locate external application data folder
|
||||
config_load();
|
||||
config_init();
|
||||
context_init();
|
||||
sys_start(config_get_options());
|
||||
@@ -22,7 +19,6 @@ function main() {
|
||||
uniforms_ext_init();
|
||||
render_path_base_init();
|
||||
render_path_deferred_init(); // Allocate gbuffer
|
||||
|
||||
if (context_raw.render_mode == render_mode_t.FORWARD) {
|
||||
render_path_forward_init();
|
||||
render_path_commands = render_path_forward_commands;
|
||||
|
||||
+12
-16
@@ -10,19 +10,13 @@ let project_paint_objects: mesh_object_t[] = null;
|
||||
let project_asset_map: map_t<i32, any> = map_create(); // gpu_texture_t | font_t
|
||||
let project_mesh_list: string[] = null;
|
||||
|
||||
let project_materials: slot_material_t[] = null;
|
||||
let project_brushes: slot_brush_t[] = null;
|
||||
let project_layers: slot_layer_t[] = null;
|
||||
let project_fonts: slot_font_t[] = null;
|
||||
let project_materials: slot_material_t[] = [];
|
||||
let project_brushes: slot_brush_t[] = [];
|
||||
let project_layers: slot_layer_t[] = [];
|
||||
let project_fonts: slot_font_t[] = [];
|
||||
let project_atlas_objects: i32[] = null;
|
||||
let project_atlas_names: string[] = null;
|
||||
|
||||
// lab
|
||||
let project_material_data: material_data_t = null;
|
||||
let project_nodes: ui_nodes_t;
|
||||
let project_canvas: ui_node_canvas_t;
|
||||
let project_default_canvas: buffer_t = null;
|
||||
|
||||
let _project_save_and_quit: bool;
|
||||
let _project_import_mesh_replace_existing: bool;
|
||||
let _project_import_mesh_done: ()=>void;
|
||||
@@ -182,12 +176,16 @@ function project_cleanup() {
|
||||
}
|
||||
|
||||
function project_new(reset_layers: bool = true) {
|
||||
let first: bool = context_raw.paint_object == null;
|
||||
if (!first) {
|
||||
if (context_raw.paint_object != null) {
|
||||
project_cleanup();
|
||||
project_filepath = "";
|
||||
}
|
||||
|
||||
if (project_layers.length == 0) {
|
||||
array_push(project_layers, slot_layer_create());
|
||||
context_raw.layer = project_layers[0];
|
||||
}
|
||||
|
||||
project_filepath = "";
|
||||
context_raw.layer_preview_dirty = true;
|
||||
context_raw.layer_filter = 0;
|
||||
context_raw.texture = null;
|
||||
@@ -202,7 +200,6 @@ function project_new(reset_layers: bool = true) {
|
||||
// raw = import_mesh_raw_mesh(mesh);
|
||||
// }
|
||||
// else {
|
||||
|
||||
if (project_mesh_list == null) {
|
||||
project_mesh_list = ["box_bevel"];
|
||||
}
|
||||
@@ -227,7 +224,7 @@ function project_new(reset_layers: bool = true) {
|
||||
if (in_use) draw_end();
|
||||
|
||||
let m: material_data_t = data_get_material("Scene", "Material");
|
||||
if (first) {
|
||||
if (context_raw.paint_object == null) {
|
||||
let ms: material_data_t[] = [m];
|
||||
context_raw.paint_object = mesh_object_create(md, ms);
|
||||
context_raw.paint_object.base.name = "paint_object";
|
||||
@@ -273,7 +270,6 @@ function project_new(reset_layers: bool = true) {
|
||||
project_asset_id = 0;
|
||||
project_raw.packed_assets = [];
|
||||
context_raw.ddirty = 4;
|
||||
|
||||
ui_base_hwnds[tab_area_t.SIDEBAR0].redraws = 2;
|
||||
ui_base_hwnds[tab_area_t.SIDEBAR1].redraws = 2;
|
||||
|
||||
|
||||
+35
-79
@@ -46,13 +46,37 @@ function _draw_callback_create(f: (h: ui_handle_t)=>void): tab_draw_t {
|
||||
}
|
||||
|
||||
function ui_base_init_hwnd_tabs(): tab_draw_array_t[] {
|
||||
return ui_base_ext_init_hwnd_tabs();
|
||||
let a0: tab_draw_array_t = [
|
||||
_draw_callback_create(tab_layers_draw),
|
||||
_draw_callback_create(tab_history_draw),
|
||||
_draw_callback_create(tab_plugins_draw)
|
||||
];
|
||||
let a1: tab_draw_array_t = [
|
||||
_draw_callback_create(tab_materials_draw),
|
||||
_draw_callback_create(tab_brushes_draw),
|
||||
_draw_callback_create(tab_scripts_draw)
|
||||
|
||||
];
|
||||
let a2: tab_draw_array_t = [
|
||||
_draw_callback_create(tab_browser_draw),
|
||||
_draw_callback_create(tab_meshes_draw),
|
||||
_draw_callback_create(tab_textures_draw),
|
||||
_draw_callback_create(tab_fonts_draw),
|
||||
_draw_callback_create(tab_swatches_draw),
|
||||
_draw_callback_create(tab_console_draw),
|
||||
_draw_callback_create(ui_status_draw_version_tab)
|
||||
];
|
||||
|
||||
let r: tab_draw_array_t[] = [];
|
||||
array_push(r, a0);
|
||||
array_push(r, a1);
|
||||
array_push(r, a2);
|
||||
return r;
|
||||
}
|
||||
|
||||
function ui_base_init() {
|
||||
ui_toolbar_init();
|
||||
context_raw.text_tool_text = tr("Text");
|
||||
|
||||
ui_header_init();
|
||||
ui_status_init();
|
||||
ui_menubar_init();
|
||||
@@ -60,37 +84,6 @@ function ui_base_init() {
|
||||
ui_header_h = math_floor(ui_header_default_h * config_raw.window_scale);
|
||||
ui_menubar_w = math_floor(ui_menubar_default_w * config_raw.window_scale);
|
||||
|
||||
if (project_materials == null) {
|
||||
project_materials = [];
|
||||
let m: material_data_t = data_get_material("Scene", "Material");
|
||||
array_push(project_materials, slot_material_create(m));
|
||||
context_raw.material = project_materials[0];
|
||||
}
|
||||
|
||||
if (project_brushes == null) {
|
||||
project_brushes = [];
|
||||
array_push(project_brushes, slot_brush_create());
|
||||
context_raw.brush = project_brushes[0];
|
||||
make_material_parse_brush();
|
||||
}
|
||||
|
||||
if (project_fonts == null) {
|
||||
project_fonts = [];
|
||||
array_push(project_fonts, slot_font_create("default.ttf", base_font));
|
||||
context_raw.font = project_fonts[0];
|
||||
}
|
||||
|
||||
if (project_layers == null) {
|
||||
project_layers = [];
|
||||
array_push(project_layers, slot_layer_create());
|
||||
context_raw.layer = project_layers[0];
|
||||
}
|
||||
|
||||
if (project_raw.swatches == null) {
|
||||
project_set_default_swatches();
|
||||
context_raw.swatch = project_raw.swatches[0];
|
||||
}
|
||||
|
||||
if (context_raw.empty_envmap == null) {
|
||||
ui_base_make_empty_envmap(base_theme.VIEWPORT_COL);
|
||||
}
|
||||
@@ -103,18 +96,15 @@ function ui_base_init() {
|
||||
context_raw.preview_envmap = gpu_create_texture_from_bytes(b, 1, 1);
|
||||
}
|
||||
|
||||
let world: world_data_t = scene_world;
|
||||
if (context_raw.saved_envmap == null) {
|
||||
// raw.saved_envmap = world._envmap;
|
||||
context_raw.default_irradiance = world._.irradiance;
|
||||
context_raw.default_radiance = world._.radiance;
|
||||
context_raw.default_radiance_mipmaps = world._.radiance_mipmaps;
|
||||
// raw.saved_envmap = scene_world._envmap;
|
||||
context_raw.default_irradiance = scene_world._.irradiance;
|
||||
context_raw.default_radiance = scene_world._.radiance;
|
||||
context_raw.default_radiance_mipmaps = scene_world._.radiance_mipmaps;
|
||||
}
|
||||
world._.envmap = context_raw.show_envmap ? context_raw.saved_envmap : context_raw.empty_envmap;
|
||||
scene_world._.envmap = context_raw.show_envmap ? context_raw.saved_envmap : context_raw.empty_envmap;
|
||||
context_raw.ddirty = 1;
|
||||
|
||||
history_reset();
|
||||
|
||||
let scale: f32 = config_raw.window_scale;
|
||||
let ops: ui_options_t = {
|
||||
theme: base_theme,
|
||||
@@ -128,8 +118,9 @@ function ui_base_init() {
|
||||
ui_on_text_hover = ui_base_on_text_hover;
|
||||
ui_on_deselect_text = ui_base_on_deselect_text;
|
||||
ui_on_tab_drop = ui_base_on_tab_drop;
|
||||
|
||||
let resources: string[] = ["cursor.k", "icons.k"];
|
||||
if (UI_SCALE() > 1) {
|
||||
ui_base_set_icon_scale();
|
||||
}
|
||||
|
||||
context_raw.gizmo = scene_get_child(".Gizmo");
|
||||
context_raw.gizmo_translate_x = object_get_child(context_raw.gizmo, ".TranslateX");
|
||||
@@ -142,12 +133,9 @@ function ui_base_init() {
|
||||
context_raw.gizmo_rotate_y = object_get_child(context_raw.gizmo, ".RotateY");
|
||||
context_raw.gizmo_rotate_z = object_get_child(context_raw.gizmo, ".RotateZ");
|
||||
|
||||
let resources: string[] = ["cursor.k", "icons.k"];
|
||||
resource_load(resources);
|
||||
|
||||
if (UI_SCALE() > 1) {
|
||||
ui_base_set_icon_scale();
|
||||
}
|
||||
|
||||
project_new(false);
|
||||
|
||||
if (project_filepath == "") {
|
||||
@@ -1469,35 +1457,3 @@ function ui_base_set_viewport_col(col: i32) {
|
||||
scene_world._.envmap = context_raw.empty_envmap;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function ui_base_ext_init_hwnd_tabs(): tab_draw_array_t[] {
|
||||
|
||||
let a0: tab_draw_array_t = [
|
||||
_draw_callback_create(tab_layers_draw),
|
||||
_draw_callback_create(tab_history_draw),
|
||||
_draw_callback_create(tab_plugins_draw)
|
||||
];
|
||||
let a1: tab_draw_array_t = [
|
||||
_draw_callback_create(tab_materials_draw),
|
||||
_draw_callback_create(tab_brushes_draw),
|
||||
_draw_callback_create(tab_scripts_draw)
|
||||
|
||||
];
|
||||
let a2: tab_draw_array_t = [
|
||||
_draw_callback_create(tab_browser_draw),
|
||||
_draw_callback_create(tab_meshes_draw),
|
||||
_draw_callback_create(tab_textures_draw),
|
||||
_draw_callback_create(tab_fonts_draw),
|
||||
_draw_callback_create(tab_swatches_draw),
|
||||
_draw_callback_create(tab_console_draw),
|
||||
_draw_callback_create(ui_status_draw_version_tab)
|
||||
];
|
||||
|
||||
let r: tab_draw_array_t[] = [];
|
||||
array_push(r, a0);
|
||||
array_push(r, a1);
|
||||
array_push(r, a2);
|
||||
return r;
|
||||
}
|
||||
|
||||
|
||||
@@ -58,8 +58,6 @@ function ui_viewnodes_init() {
|
||||
ui_nodes_on_canvas_control = ui_viewnodes_on_canvas_control;
|
||||
ui_nodes_grid_snap = config_raw.grid_snap;
|
||||
nodes_material_init();
|
||||
|
||||
// ui.scroll_enabled = false;
|
||||
}
|
||||
|
||||
function ui_viewnodes_on_link_drag(link_drag_id: i32, is_new_link: bool) {
|
||||
|
||||
@@ -41,8 +41,6 @@ function ui_view2d_init() {
|
||||
pipes_get_constant_location("float4");
|
||||
pipes_get_constant_location("float4");
|
||||
ui_view2d_channel_loc = pipes_get_constant_location("int");
|
||||
|
||||
// ui.scroll_enabled = false;
|
||||
}
|
||||
|
||||
function ui_view2d_draw_image(image: gpu_texture_t, dx: f32, dy: f32, dw: f32, dh: f32, channel: i32) {
|
||||
|
||||
Reference in New Issue
Block a user