paint: cleanup
This commit is contained in:
+65
-47
@@ -59,6 +59,7 @@ void base_on_drop_files(char *drop_path) {
|
||||
|
||||
void base_init_on_start_arm(void *_) {
|
||||
import_arm_run_project(project_filepath);
|
||||
g_context->tool = TOOL_TYPE_CURSOR;
|
||||
// Auto-run script
|
||||
if (g_project->script_datas != NULL && g_project->script_datas->length > 0) {
|
||||
minic_ctx_t *ctx = minic_eval(g_project->script_datas->buffer[0]);
|
||||
@@ -390,12 +391,6 @@ void base_init_undo_layers() {
|
||||
}
|
||||
|
||||
void base_render(void *_) {
|
||||
if (g_context->frame == 2) {
|
||||
util_render_make_material_preview();
|
||||
ui_base_hwnds->buffer[TAB_AREA_SIDEBAR1]->redraws = 2;
|
||||
|
||||
base_init_undo_layers();
|
||||
}
|
||||
|
||||
if (g_context->tool == TOOL_TYPE_CURSOR) {
|
||||
sim_init();
|
||||
@@ -403,11 +398,12 @@ void base_render(void *_) {
|
||||
}
|
||||
|
||||
if (g_context->frame == 2) {
|
||||
util_render_make_material_preview();
|
||||
ui_base_hwnds->buffer[TAB_AREA_SIDEBAR1]->redraws = 2;
|
||||
base_init_undo_layers();
|
||||
make_material_parse_mesh_material();
|
||||
make_material_parse_paint_material(true);
|
||||
g_context->ddirty = 0;
|
||||
g_context->camera_pivot = g_config->camera_pivot;
|
||||
g_context->camera_controls = g_config->camera_controls;
|
||||
}
|
||||
else if (g_context->frame == 3) {
|
||||
g_context->ddirty = 3;
|
||||
@@ -648,44 +644,8 @@ void ui_base_menu_draw_viewport_mode() {
|
||||
mode_handle->i = g_context->viewport_mode;
|
||||
ui_text(tr("Viewport Mode"), UI_ALIGN_RIGHT, 0x00000000);
|
||||
|
||||
string_array_t *modes = any_array_create_from_raw(
|
||||
(void *[]){
|
||||
tr("Lit"),
|
||||
tr("Base Color"),
|
||||
tr("Normal"),
|
||||
tr("Occlusion"),
|
||||
tr("Roughness"),
|
||||
tr("Metallic"),
|
||||
tr("Opacity"),
|
||||
tr("Height"),
|
||||
tr("Emission"),
|
||||
tr("Subsurface"),
|
||||
tr("TexCoord"),
|
||||
tr("Object Normal"),
|
||||
tr("Material ID"),
|
||||
tr("Object ID"),
|
||||
tr("Mask"),
|
||||
},
|
||||
15);
|
||||
string_array_t *shortcuts = any_array_create_from_raw(
|
||||
(void *[]){
|
||||
"l",
|
||||
"b",
|
||||
"n",
|
||||
"o",
|
||||
"r",
|
||||
"m",
|
||||
"a",
|
||||
"h",
|
||||
"e",
|
||||
"s",
|
||||
"t",
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
},
|
||||
15);
|
||||
string_array_t *modes = base_get_viewport_modes();
|
||||
string_array_t *shortcuts = base_get_viewport_mode_shortcuts();
|
||||
if (gpu_raytrace_supported()) {
|
||||
any_array_push(modes, tr("Path Traced"));
|
||||
any_array_push(shortcuts, "p");
|
||||
@@ -1752,6 +1712,9 @@ void base_init() {
|
||||
base_update_workflow();
|
||||
}
|
||||
|
||||
g_context->camera_pivot = g_config->camera_pivot;
|
||||
g_context->camera_controls = g_config->camera_controls;
|
||||
|
||||
bool has_projects = g_config->recent_projects->length > 0;
|
||||
if (g_config->splash_screen && has_projects) {
|
||||
box_projects_show();
|
||||
@@ -1768,7 +1731,6 @@ void base_init() {
|
||||
|
||||
if (args_player) {
|
||||
sys_notify_on_next_frame(&base_init_on_start_arm, NULL);
|
||||
g_context->tool = TOOL_TYPE_CURSOR;
|
||||
make_material_parse_paint_material(true);
|
||||
g_config->workspace = WORKSPACE_PLAYER;
|
||||
base_update_workspace();
|
||||
@@ -2357,3 +2319,59 @@ uint32_t base_darker(uint32_t x, uint32_t y) {
|
||||
b = b > by ? b - by : 0;
|
||||
return (x & 0xff000000) | (r << 16) | (g << 8) | b;
|
||||
}
|
||||
|
||||
string_array_t *base_get_viewport_modes() {
|
||||
string_array_t *modes = any_array_create_from_raw(
|
||||
(void *[]){
|
||||
tr("Lit"),
|
||||
tr("Base Color"),
|
||||
tr("Normal"),
|
||||
tr("Occlusion"),
|
||||
tr("Roughness"),
|
||||
tr("Metallic"),
|
||||
tr("Opacity"),
|
||||
tr("Height"),
|
||||
tr("Emission"),
|
||||
tr("Subsurface"),
|
||||
tr("TexCoord"),
|
||||
tr("Object Normal"),
|
||||
tr("Material ID"),
|
||||
tr("Object ID"),
|
||||
tr("Mask"),
|
||||
},
|
||||
15);
|
||||
|
||||
if (gpu_raytrace_supported()) {
|
||||
any_array_push(modes, tr("Path Traced"));
|
||||
}
|
||||
|
||||
return modes;
|
||||
}
|
||||
|
||||
string_array_t *base_get_viewport_mode_shortcuts() {
|
||||
string_array_t *shortcuts = any_array_create_from_raw(
|
||||
(void *[]){
|
||||
"l",
|
||||
"b",
|
||||
"n",
|
||||
"o",
|
||||
"r",
|
||||
"m",
|
||||
"a",
|
||||
"h",
|
||||
"e",
|
||||
"s",
|
||||
"t",
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
},
|
||||
15);
|
||||
|
||||
if (gpu_raytrace_supported()) {
|
||||
any_array_push(shortcuts, "p");
|
||||
}
|
||||
|
||||
return shortcuts;
|
||||
}
|
||||
|
||||
@@ -607,12 +607,7 @@ void box_preferences_pen_tab() {
|
||||
void box_preferences_viewport_tab() {
|
||||
ui_handle_t *h_mode = ui_handle(__ID__);
|
||||
h_mode->i = g_config->viewport_mode;
|
||||
string_array_t *mode_combo = any_array_create_from_raw(
|
||||
(void *[]){
|
||||
tr("Lit"),
|
||||
tr("Path Traced"),
|
||||
},
|
||||
2);
|
||||
string_array_t *mode_combo = base_get_viewport_modes();
|
||||
ui_combo(h_mode, mode_combo, tr("Default Mode"), true, UI_ALIGN_LEFT, true);
|
||||
if (h_mode->changed) {
|
||||
g_config->viewport_mode = h_mode->i;
|
||||
|
||||
@@ -26,7 +26,7 @@ context_t *context_create() {
|
||||
c->layers_destination = EXPORT_DESTINATION_DISK;
|
||||
c->split_by = SPLIT_TYPE_OBJECT;
|
||||
c->select_time = 0.0;
|
||||
c->viewport_mode = g_config->viewport_mode == 0 ? VIEWPORT_MODE_LIT : VIEWPORT_MODE_PATH_TRACE;
|
||||
c->viewport_mode = g_config->viewport_mode;
|
||||
c->hscale_was_changed = false;
|
||||
c->export_mesh_format = MESH_FORMAT_OBJ;
|
||||
c->export_mesh_index = 0;
|
||||
@@ -285,7 +285,7 @@ void context_select_tool(i32 i) {
|
||||
make_material_parse_mesh_material();
|
||||
g_context->ddirty = 3;
|
||||
viewport_mode_t _viewport_mode = g_context->viewport_mode;
|
||||
g_context->viewport_mode = VIEWPORT_MODE_MINUS_ONE;
|
||||
g_context->viewport_mode = VIEWPORT_MODE_NONE;
|
||||
context_set_viewport_mode(_viewport_mode);
|
||||
|
||||
context_init_tool();
|
||||
@@ -460,6 +460,10 @@ void context_set_viewport_mode(viewport_mode_t mode) {
|
||||
}
|
||||
}
|
||||
|
||||
void context_set_camera_controls(int i) {
|
||||
g_context->camera_controls = i;
|
||||
}
|
||||
|
||||
void context_load_envmap() {
|
||||
if (!g_context->envmap_loaded) {
|
||||
// TODO: Unable to share texture for both radiance and envmap - reload image
|
||||
|
||||
@@ -49,7 +49,7 @@ typedef enum {
|
||||
} bake_up_axis_t;
|
||||
|
||||
typedef enum {
|
||||
VIEWPORT_MODE_MINUS_ONE = -1,
|
||||
VIEWPORT_MODE_NONE = -1,
|
||||
VIEWPORT_MODE_LIT = 0,
|
||||
VIEWPORT_MODE_BASE_COLOR = 1,
|
||||
VIEWPORT_MODE_NORMAL_MAP = 2,
|
||||
@@ -145,6 +145,7 @@ typedef enum {
|
||||
} blend_type_t;
|
||||
|
||||
typedef enum {
|
||||
CAMERA_CONTROLS_NONE = -1,
|
||||
CAMERA_CONTROLS_ORBIT = 0,
|
||||
CAMERA_CONTROLS_ROTATE = 1,
|
||||
CAMERA_CONTROLS_FLY = 2,
|
||||
|
||||
@@ -157,6 +157,8 @@ 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();
|
||||
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();
|
||||
@@ -577,6 +579,9 @@ void render_path_raytrace_raytrace_init(char *shader_nam
|
||||
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 *l);
|
||||
void sculpt_import_mesh_pack_to_texture(mesh_data_t *mesh, slot_layer_t *l);
|
||||
void sculpt_setup_layer_sculpt_texture(slot_layer_t *l, mesh_data_t *md);
|
||||
void sculpt_setup();
|
||||
void sculpt_layers_create_sculpt_layer();
|
||||
void render_path_sculpt_commands();
|
||||
void render_path_sculpt_begin();
|
||||
|
||||
@@ -595,6 +595,7 @@ void import_arm_run_project(char *path) {
|
||||
|
||||
sys_notify_on_next_frame(&import_arm_run_project_on_next_frame, NULL);
|
||||
|
||||
base_update_workflow();
|
||||
ui_base_hwnds->buffer[TAB_AREA_SIDEBAR0]->redraws = 2;
|
||||
ui_base_hwnds->buffer[TAB_AREA_SIDEBAR1]->redraws = 2;
|
||||
g_context->ddirty = 4;
|
||||
|
||||
@@ -497,49 +497,8 @@ void ui_menubar_draw_category_items() {
|
||||
else if (ui_menubar_category == MENUBAR_CATEGORY_MODE) {
|
||||
ui_handle_t *mode_handle = ui_handle(__ID__);
|
||||
mode_handle->i = g_context->viewport_mode;
|
||||
string_array_t *modes = any_array_create_from_raw(
|
||||
(void *[]){
|
||||
tr("Lit"),
|
||||
tr("Base Color"),
|
||||
tr("Normal"),
|
||||
tr("Occlusion"),
|
||||
tr("Roughness"),
|
||||
tr("Metallic"),
|
||||
tr("Opacity"),
|
||||
tr("Height"),
|
||||
tr("Emission"),
|
||||
tr("Subsurface"),
|
||||
tr("TexCoord"),
|
||||
tr("Object Normal"),
|
||||
tr("Material ID"),
|
||||
tr("Object ID"),
|
||||
tr("Mask"),
|
||||
},
|
||||
15);
|
||||
string_array_t *shortcuts = any_array_create_from_raw(
|
||||
(void *[]){
|
||||
"l",
|
||||
"b",
|
||||
"n",
|
||||
"o",
|
||||
"r",
|
||||
"m",
|
||||
"a",
|
||||
"h",
|
||||
"e",
|
||||
"s",
|
||||
"t",
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
},
|
||||
15);
|
||||
|
||||
if (gpu_raytrace_supported()) {
|
||||
any_array_push(modes, tr("Path Traced"));
|
||||
any_array_push(shortcuts, "p");
|
||||
}
|
||||
string_array_t *modes = base_get_viewport_modes();
|
||||
string_array_t *shortcuts = base_get_viewport_mode_shortcuts();
|
||||
|
||||
if (g_config->workflow == WORKFLOW_BASE) {
|
||||
array_splice(modes, 9, 1);
|
||||
|
||||
@@ -138,6 +138,7 @@ buffer_t *util_encode_project(project_t *raw) {
|
||||
|
||||
armpack_encode_start(encoded->buffer);
|
||||
armpack_encode_map(25);
|
||||
|
||||
armpack_encode_string("version");
|
||||
armpack_encode_string(raw->version);
|
||||
armpack_encode_string("assets");
|
||||
|
||||
Reference in New Issue
Block a user