luboslenco 1 ヶ月 前
コミット
663976fadc

+ 14 - 17
base/sources/ts/iron/scene.ts

@@ -180,7 +180,7 @@ function scene_add_speaker_object(data: speaker_data_t, parent: object_t = null)
 }
 }
 ///end
 ///end
 
 
-function scene_traverse_objects(format: scene_t, parent: object_t, objects: obj_t[], parent_object: obj_t) {
+function scene_traverse_objects(format: scene_t, parent: object_t, objects: obj_t[]) {
 	if (objects == null) {
 	if (objects == null) {
 		return;
 		return;
 	}
 	}
@@ -190,8 +190,8 @@ function scene_traverse_objects(format: scene_t, parent: object_t, objects: obj_
 			continue; // Do not auto-create Scene object
 			continue; // Do not auto-create Scene object
 		}
 		}
 
 
-		let object: object_t = scene_create_object(o, format, parent, parent_object);
-		scene_traverse_objects(format, object, o.children, o);
+		let object: object_t = scene_create_object(o, format, parent);
+		scene_traverse_objects(format, object, o.children);
 	}
 	}
 }
 }
 
 
@@ -206,7 +206,7 @@ function scene_add_scene(scene_name: string, parent: object_t): object_t {
 	_scene_objects_count = scene_get_objects_count(format.objects);
 	_scene_objects_count = scene_get_objects_count(format.objects);
 
 
 	if (format.objects != null && format.objects.length > 0) {
 	if (format.objects != null && format.objects.length > 0) {
-		scene_traverse_objects(format, parent, format.objects, null); // Scene objects
+		scene_traverse_objects(format, parent, format.objects); // Scene objects
 	}
 	}
 	return parent;
 	return parent;
 }
 }
@@ -228,12 +228,12 @@ function scene_get_objects_count(objects: obj_t[]): i32 {
 	return result;
 	return result;
 }
 }
 
 
-function _scene_spawn_object_tree(obj: obj_t, parent: object_t, parent_object: obj_t, spawn_children: bool): object_t {
-	let object: object_t = scene_create_object(obj, _scene_raw, parent, parent_object);
+function _scene_spawn_object_tree(obj: obj_t, parent: object_t, spawn_children: bool): object_t {
+	let object: object_t = scene_create_object(obj, _scene_raw, parent);
 	if (spawn_children && obj.children != null) {
 	if (spawn_children && obj.children != null) {
 		for (let i: i32 = 0; i < obj.children.length; ++i) {
 		for (let i: i32 = 0; i < obj.children.length; ++i) {
 			let child: obj_t = obj.children[i];
 			let child: obj_t = obj.children[i];
-			_scene_spawn_object_tree(child, object, obj, spawn_children);
+			_scene_spawn_object_tree(child, object, spawn_children);
 		}
 		}
 	}
 	}
 	return object;
 	return object;
@@ -241,7 +241,7 @@ function _scene_spawn_object_tree(obj: obj_t, parent: object_t, parent_object: o
 
 
 function scene_spawn_object(name: string, parent: object_t = null, spawn_children: bool = true): object_t {
 function scene_spawn_object(name: string, parent: object_t = null, spawn_children: bool = true): object_t {
 	let obj: obj_t = scene_get_raw_object_by_name(_scene_raw, name);
 	let obj: obj_t = scene_get_raw_object_by_name(_scene_raw, name);
-	return _scene_spawn_object_tree(obj, parent, null, spawn_children);
+	return _scene_spawn_object_tree(obj, parent, spawn_children);
 }
 }
 
 
 function scene_get_raw_object_by_name(format: scene_t, name: string): obj_t {
 function scene_get_raw_object_by_name(format: scene_t, name: string): obj_t {
@@ -264,7 +264,7 @@ function scene_traverse_objs(children: obj_t[], name: string): obj_t {
 	return null;
 	return null;
 }
 }
 
 
-function scene_create_object(o: obj_t, format: scene_t, parent: object_t, parent_object: obj_t): object_t {
+function scene_create_object(o: obj_t, format: scene_t, parent: object_t): object_t {
 	let scene_name: string = format.name;
 	let scene_name: string = format.name;
 
 
 	if (o.type == "camera_object") {
 	if (o.type == "camera_object") {
@@ -274,7 +274,7 @@ function scene_create_object(o: obj_t, format: scene_t, parent: object_t, parent
 	}
 	}
 	else if (o.type == "mesh_object") {
 	else if (o.type == "mesh_object") {
 		if (o.material_refs == null || o.material_refs.length == 0) {
 		if (o.material_refs == null || o.material_refs.length == 0) {
-			return scene_create_mesh_object(o, format, parent, parent_object, null);
+			return scene_create_mesh_object(o, format, parent, null);
 		}
 		}
 		else {
 		else {
 			// Materials
 			// Materials
@@ -284,7 +284,7 @@ function scene_create_object(o: obj_t, format: scene_t, parent: object_t, parent
 				let mat: material_data_t = data_get_material(scene_name, ref);
 				let mat: material_data_t = data_get_material(scene_name, ref);
 				array_push(materials, mat);
 				array_push(materials, mat);
 			}
 			}
-			return scene_create_mesh_object(o, format, parent, parent_object, materials);
+			return scene_create_mesh_object(o, format, parent, materials);
 		}
 		}
 	}
 	}
 	///if arm_audio
 	///if arm_audio
@@ -302,7 +302,7 @@ function scene_create_object(o: obj_t, format: scene_t, parent: object_t, parent
 	}
 	}
 }
 }
 
 
-function scene_create_mesh_object(o: obj_t, format: scene_t, parent: object_t, parent_object: obj_t, materials: material_data_t[]): object_t {
+function scene_create_mesh_object(o: obj_t, format: scene_t, parent: object_t, materials: material_data_t[]): object_t {
 	// Mesh reference
 	// Mesh reference
 	let ref: string[] = string_split(o.data_ref, "/");
 	let ref: string[] = string_split(o.data_ref, "/");
 	let object_file: string = "";
 	let object_file: string = "";
@@ -317,15 +317,12 @@ function scene_create_mesh_object(o: obj_t, format: scene_t, parent: object_t, p
 		data_ref = o.data_ref;
 		data_ref = o.data_ref;
 	}
 	}
 
 
-	return scene_return_mesh_object(object_file, data_ref, scene_name, null, materials, parent, parent_object, o);
+	return scene_return_mesh_object(object_file, data_ref, materials, parent, o);
 }
 }
 
 
-function scene_return_mesh_object(object_file: string, data_ref: string, scene_name: string, armature: any, // armature_t
-	materials: material_data_t[], parent: object_t, parent_object: obj_t, o: obj_t): object_t {
-
+function scene_return_mesh_object(object_file: string, data_ref: string, materials: material_data_t[], parent: object_t, o: obj_t): object_t {
 	let mesh: mesh_data_t = data_get_mesh(object_file, data_ref);
 	let mesh: mesh_data_t = data_get_mesh(object_file, data_ref);
 	let object: mesh_object_t = scene_add_mesh_object(mesh, materials, parent);
 	let object: mesh_object_t = scene_add_mesh_object(mesh, materials, parent);
-
 	return scene_return_object(object.base, o);
 	return scene_return_object(object.base, o);
 }
 }
 
 

+ 2 - 28
base/sources/ts/iron/sys.ts

@@ -341,7 +341,6 @@ enum window_mode_t {
 	FULLSCREEN,
 	FULLSCREEN,
 }
 }
 
 
-let _sys_on_resets: callback_t[] = [];
 let _sys_on_next_frames: callback_t[] = [];
 let _sys_on_next_frames: callback_t[] = [];
 let _sys_on_end_frames: callback_t[] = [];
 let _sys_on_end_frames: callback_t[] = [];
 let _sys_on_updates: callback_t[] = [];
 let _sys_on_updates: callback_t[] = [];
@@ -382,18 +381,6 @@ function sys_y(): i32 {
 	return 0;
 	return 0;
 }
 }
 
 
-function sys_reset() {
-	_sys_on_next_frames = [];
-	_sys_on_end_frames = [];
-	_sys_on_updates = [];
-	_sys_on_renders = [];
-	for (let i: i32 = 0; i < _sys_on_resets.length; ++i) {
-		let cb: callback_t = _sys_on_resets[i];
-		cb.f(cb.data);
-	}
-	input_reset();
-}
-
 function _sys_run_callbacks(cbs: callback_t[]) {
 function _sys_run_callbacks(cbs: callback_t[]) {
 	for (let i: i32 = 0; i < cbs.length; ++i) {
 	for (let i: i32 = 0; i < cbs.length; ++i) {
 		let cb: callback_t = cbs[i];
 		let cb: callback_t = cbs[i];
@@ -427,6 +414,8 @@ function sys_render() {
 	}
 	}
 
 
 	_sys_run_callbacks(_sys_on_updates);
 	_sys_run_callbacks(_sys_on_updates);
+	scene_render_frame();
+	_sys_run_callbacks(_sys_on_renders);
 
 
 	if (_sys_on_end_frames.length > 0) {
 	if (_sys_on_end_frames.length > 0) {
 		_sys_run_callbacks(_sys_on_end_frames);
 		_sys_run_callbacks(_sys_on_end_frames);
@@ -444,18 +433,11 @@ function sys_render() {
 		if (sys_on_resize != null) {
 		if (sys_on_resize != null) {
 			sys_on_resize();
 			sys_on_resize();
 		}
 		}
-		else if (scene_camera != null) {
-			camera_object_build_proj(scene_camera);
-		}
 	}
 	}
 	_sys_lastw = sys_w();
 	_sys_lastw = sys_w();
 	_sys_lasth = sys_h();
 	_sys_lasth = sys_h();
-
 	_sys_time_real_delta = sys_time() - _sys_time_last;
 	_sys_time_real_delta = sys_time() - _sys_time_last;
 	_sys_time_last = sys_time();
 	_sys_time_last = sys_time();
-
-	scene_render_frame();
-	_sys_run_callbacks(_sys_on_renders);
 }
 }
 
 
 function _callback_create(f: (data?: any)=>void, data: any): callback_t {
 function _callback_create(f: (data?: any)=>void, data: any): callback_t {
@@ -474,10 +456,6 @@ function sys_notify_on_render(f: (data?: any)=>void, data: any = null) {
 	array_push(_sys_on_renders, _callback_create(f, data));
 	array_push(_sys_on_renders, _callback_create(f, data));
 }
 }
 
 
-function sys_notify_on_reset(f: (data?: any)=>void, data: any = null) {
-	array_push(_sys_on_resets, _callback_create(f, data));
-}
-
 function sys_notify_on_next_frame(f: (data?: any)=>void, data: any = null) {
 function sys_notify_on_next_frame(f: (data?: any)=>void, data: any = null) {
 	array_push(_sys_on_next_frames, _callback_create(f, data));
 	array_push(_sys_on_next_frames, _callback_create(f, data));
 }
 }
@@ -503,10 +481,6 @@ function sys_remove_render(f: (data?: any)=>void) {
 	_sys_remove_callback(_sys_on_renders, f);
 	_sys_remove_callback(_sys_on_renders, f);
 }
 }
 
 
-function sys_remove_reset(f: (data?: any)=>void) {
-	_sys_remove_callback(_sys_on_resets, f);
-}
-
 function sys_remove_end_frame(f: (data?: any)=>void) {
 function sys_remove_end_frame(f: (data?: any)=>void) {
 	_sys_remove_callback(_sys_on_end_frames, f);
 	_sys_remove_callback(_sys_on_end_frames, f);
 }
 }

+ 0 - 6
base/sources/ts/iron/tween.ts

@@ -2,15 +2,9 @@
 let _tween_anims: tween_anim_t[] = [];
 let _tween_anims: tween_anim_t[] = [];
 let _tween_registered: bool = false;
 let _tween_registered: bool = false;
 
 
-function tween_on_reset() {
-	sys_notify_on_update(tween_update);
-	tween_reset();
-}
-
 function _tween_register() {
 function _tween_register() {
 	_tween_registered = true;
 	_tween_registered = true;
 	sys_notify_on_update(tween_update);
 	sys_notify_on_update(tween_update);
-	sys_notify_on_reset(tween_on_reset);
 }
 }
 
 
 function tween_to(anim: tween_anim_t): tween_anim_t {
 function tween_to(anim: tween_anim_t): tween_anim_t {

+ 53 - 0
base/sources/ts/nodes_material.ts

@@ -5,6 +5,7 @@ let nodes_material_categories: string[] = [
 	_tr("Color"),
 	_tr("Color"),
 	_tr("Vector"),
 	_tr("Vector"),
 	_tr("Converter"),
 	_tr("Converter"),
+	// _tr("Neural"),
 	_tr("Group")
 	_tr("Group")
 ];
 ];
 
 
@@ -3934,6 +3935,57 @@ let nodes_material_converter: ui_node_t[] = [
 	}
 	}
 ];
 ];
 
 
+let nodes_material_neural: ui_node_t[] = [
+	{
+		id: 0,
+		name: _tr("Text to Photo"),
+		type: "text_to_photo_node",
+		x: 0,
+		y: 0,
+		color: 0xff4982a0,
+		inputs: [],
+		outputs: [
+			{
+				id: 0,
+				node_id: 0,
+				name: _tr("Color"),
+				type: "RGBA",
+				color: 0xffc7c729,
+				default_value: f32_array_create_xyzw(0.0, 0.0, 0.0, 1.0),
+				min: 0.0,
+				max: 1.0,
+				precision: 100,
+				display: 0
+			}
+		],
+		buttons: [
+			{
+				name: _tr("tiling"),
+				type: "BOOL",
+				output: 0,
+				default_value: f32_array_create_x(0),
+				data: null,
+				min: 0.0,
+				max: 1.0,
+				precision: 100,
+				height: 0
+			},
+			{
+				name: "text_to_photo_node_button",
+				type: "CUSTOM",
+				output: -1,
+				default_value: f32_array_create_x(0),
+				data: null,
+				min: 0.0,
+				max: 1.0,
+				precision: 100,
+				height: 1
+			}
+		],
+		width: 0
+	}
+];
+
 let nodes_material_group: ui_node_t[] = [
 let nodes_material_group: ui_node_t[] = [
 	{
 	{
 		id: 0,
 		id: 0,
@@ -3969,6 +4021,7 @@ let nodes_material_list: node_list_t[] = [
 	nodes_material_color,
 	nodes_material_color,
 	nodes_material_vector,
 	nodes_material_vector,
 	nodes_material_converter,
 	nodes_material_converter,
+	// nodes_material_neural,
 	nodes_material_group
 	nodes_material_group
 ];
 ];
 
 

+ 2 - 1
base/sources/ts/tab_meshes.ts

@@ -8,7 +8,8 @@ function tab_meshes_draw(htab: ui_handle_t) {
 		ui_begin_sticky();
 		ui_begin_sticky();
 
 
 		if (config_raw.touch_ui) {
 		if (config_raw.touch_ui) {
-			ui_row2();
+			let row: f32[] = [1 / 4, 1 / 4];
+			ui_row(row);
 		}
 		}
 		else {
 		else {
 			let row: f32[] = [1 / 14, 1 / 14];
 			let row: f32[] = [1 / 14, 1 / 14];

+ 1 - 5
base/sources/ts/ui_nodes.ts

@@ -334,7 +334,7 @@ function ui_viewnodes_on_canvas_released() {
 				}
 				}
 				ui.enabled = !is_protected;
 				ui.enabled = !is_protected;
 				if (ui_menu_button(tr("Delete"), "delete")) {
 				if (ui_menu_button(tr("Delete"), "delete")) {
-					sys_notify_on_end_frame(function () {
+					sys_notify_on_next_frame(function () {
 						ui_nodes_hwnd.redraws = 2;
 						ui_nodes_hwnd.redraws = 2;
 						ui.is_delete_down = true;
 						ui.is_delete_down = true;
 						ui_nodes_is_node_menu_op = true;
 						ui_nodes_is_node_menu_op = true;
@@ -1173,10 +1173,6 @@ function ui_nodes_render() {
 		}
 		}
 		///end
 		///end
 
 
-		// let type_combo: string[] = [tr("Shader"), tr("Neural")];
-		// let type_handle: ui_handle_t = ui_handle(__ID__);
-		// let type: i32 = ui_combo(type_handle, type_combo, tr("Type"), true);
-
 		///if is_lab
 		///if is_lab
 		ui.window_border_top = 0;
 		ui.window_border_top = 0;
 		ui_nodes_ext_draw_buttons(ew, start_y);
 		ui_nodes_ext_draw_buttons(ew, start_y);