luboslenco 1 lună în urmă
părinte
comite
640f4afa73

+ 1 - 1
base/sources/ts/box_preferences.ts

@@ -847,7 +847,7 @@ plugin_notify_on_ui(plugin, function() {\
 			}
 			}
 		}
 		}
 
 
-	}, 620, config_raw.touch_ui ? 480 : 420, function () {
+	}, 620, config_raw.touch_ui ? 510 : 420, function () {
 		config_save();
 		config_save();
 	});
 	});
 }
 }

+ 25 - 74
base/sources/ts/iron/sys.ts

@@ -12,7 +12,6 @@ type callback_t = {
 	data?: any;
 	data?: any;
 };
 };
 
 
-let _sys_render_listeners: sys_callback_t[] = [];
 let _sys_foreground_listeners: sys_callback_t[] = [];
 let _sys_foreground_listeners: sys_callback_t[] = [];
 let _sys_resume_listeners: sys_callback_t[] = [];
 let _sys_resume_listeners: sys_callback_t[] = [];
 let _sys_pause_listeners: sys_callback_t[] = [];
 let _sys_pause_listeners: sys_callback_t[] = [];
@@ -56,7 +55,7 @@ function sys_start(ops: iron_window_options_t) {
 		iron_load_blob(data_path() + "draw_text.vert" + sys_shader_ext()),
 		iron_load_blob(data_path() + "draw_text.vert" + sys_shader_ext()),
 		iron_load_blob(data_path() + "draw_text.frag" + sys_shader_ext())
 		iron_load_blob(data_path() + "draw_text.frag" + sys_shader_ext())
 	);
 	);
-	_iron_set_update_callback(sys_render_callback);
+	_iron_set_update_callback(sys_render);
 	_iron_set_drop_files_callback(sys_drop_files_callback);
 	_iron_set_drop_files_callback(sys_drop_files_callback);
 	iron_set_application_state_callback(sys_foreground_callback, sys_resume_callback, sys_pause_callback, sys_background_callback, sys_shutdown_callback);
 	iron_set_application_state_callback(sys_foreground_callback, sys_resume_callback, sys_pause_callback, sys_background_callback, sys_shutdown_callback);
 	iron_set_keyboard_down_callback(sys_keyboard_down_callback);
 	iron_set_keyboard_down_callback(sys_keyboard_down_callback);
@@ -85,10 +84,6 @@ function _sys_callback_create(f: ()=>void): sys_callback_t {
 	return cb;
 	return cb;
 }
 }
 
 
-function sys_notify_on_frames(listener: ()=>void) {
-	array_push(_sys_render_listeners, _sys_callback_create(listener));
-}
-
 function sys_notify_on_app_state(on_foreground: ()=>void, on_resume: ()=>void, on_pause: ()=>void, on_background: ()=>void, on_shutdown: ()=>void) {
 function sys_notify_on_app_state(on_foreground: ()=>void, on_resume: ()=>void, on_pause: ()=>void, on_background: ()=>void, on_shutdown: ()=>void) {
 	if (on_foreground != null) {
 	if (on_foreground != null) {
 		array_push(_sys_foreground_listeners, _sys_callback_create(on_foreground));
 		array_push(_sys_foreground_listeners, _sys_callback_create(on_foreground));
@@ -153,12 +148,6 @@ function sys_time(): f32 {
 	return iron_time() - _sys_start_time;
 	return iron_time() - _sys_start_time;
 }
 }
 
 
-function sys_render_callback() {
-	for (let i: i32 = 0; i < _sys_render_listeners.length; ++i) {
-		_sys_render_listeners[i].f();
-	}
-}
-
 function sys_drop_files_callback(file_path: string) {
 function sys_drop_files_callback(file_path: string) {
 	sys_drop_files(file_path);
 	sys_drop_files(file_path);
 }
 }
@@ -358,7 +347,6 @@ let _sys_on_inits: callback_t[] = [];
 let _sys_on_updates: callback_t[] = [];
 let _sys_on_updates: callback_t[] = [];
 let _sys_on_renders: callback_t[] = [];
 let _sys_on_renders: callback_t[] = [];
 let _sys_on_renders_2d: callback_t[] = [];
 let _sys_on_renders_2d: callback_t[] = [];
-let _sys_pause_updates: bool = false;
 let _sys_lastw: i32 = -1;
 let _sys_lastw: i32 = -1;
 let _sys_lasth: i32 = -1;
 let _sys_lasth: i32 = -1;
 let sys_on_resize: ()=>void = null;
 let sys_on_resize: ()=>void = null;
@@ -395,10 +383,6 @@ function sys_y(): i32 {
 	return 0;
 	return 0;
 }
 }
 
 
-function sys_init() {
-	sys_notify_on_frames(sys_render);
-}
-
 function sys_reset() {
 function sys_reset() {
 	_sys_on_next_frames = [];
 	_sys_on_next_frames = [];
 	_sys_on_end_frames = [];
 	_sys_on_end_frames = [];
@@ -420,10 +404,26 @@ function _sys_run_callbacks(cbs: callback_t[]) {
 }
 }
 
 
 function sys_update() {
 function sys_update() {
-	if (!_scene_ready) {
-		return;
+
+}
+
+let _sys_time_last: f32 = 0.0;
+let _sys_time_real_delta: f32 = 0.0;
+let _sys_time_frequency: i32 = -1;
+
+function sys_delta(): f32 {
+	if (_sys_time_frequency < 0) {
+		_sys_time_frequency = sys_display_frequency();
 	}
 	}
-	if (_sys_pause_updates) {
+	return (1 / _sys_time_frequency);
+}
+
+function sys_real_delta(): f32 {
+	return _sys_time_real_delta;
+}
+
+function sys_render() {
+	if (!_scene_ready) {
 		return;
 		return;
 	}
 	}
 
 
@@ -434,26 +434,12 @@ function sys_update() {
 
 
 	scene_update_frame();
 	scene_update_frame();
 
 
-	let i: i32 = 0;
-	let l: i32 = _sys_on_updates.length;
-	while (i < l) {
-		if (_sys_on_inits.length > 0) {
-			_sys_run_callbacks(_sys_on_inits);
-			array_splice(_sys_on_inits, 0, _sys_on_inits.length);
-		}
-
-		let cb: callback_t = _sys_on_updates[i];
-		cb.f(cb.data);
-
-		// Account for removed traits
-		if (l <= _sys_on_updates.length) {
-			i++;
-		}
-		else {
-			l = _sys_on_updates.length;
-		}
+	if (_sys_on_inits.length > 0) {
+		_sys_run_callbacks(_sys_on_inits);
+		array_splice(_sys_on_inits, 0, _sys_on_inits.length);
 	}
 	}
 
 
+	_sys_run_callbacks(_sys_on_updates);
 	_sys_run_callbacks(_sys_on_end_frames);
 	_sys_run_callbacks(_sys_on_end_frames);
 
 
 	// Rebuild projection on window resize
 	// Rebuild projection on window resize
@@ -471,48 +457,13 @@ function sys_update() {
 	}
 	}
 	_sys_lastw = sys_w();
 	_sys_lastw = sys_w();
 	_sys_lasth = sys_h();
 	_sys_lasth = sys_h();
-}
-
-let _sys_time_last: f32 = 0.0;
-let _sys_time_real_delta: f32 = 0.0;
-let _sys_time_frequency: i32 = -1;
-
-function sys_delta(): f32 {
-	if (_sys_time_frequency < 0) {
-		_sys_time_frequency = sys_display_frequency();
-	}
-	return (1 / _sys_time_frequency);
-}
-
-function sys_real_delta(): f32 {
-	return _sys_time_real_delta;
-}
-
-function sys_render() {
-	sys_update();
 
 
 	_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();
 
 
-	if (!_scene_ready) {
-		sys_render_2d();
-		return;
-	}
-
-	if (_sys_on_inits.length > 0) {
-		_sys_run_callbacks(_sys_on_inits);
-		array_splice(_sys_on_inits, 0, _sys_on_inits.length);
-	}
-
 	scene_render_frame();
 	scene_render_frame();
 	_sys_run_callbacks(_sys_on_renders);
 	_sys_run_callbacks(_sys_on_renders);
-	sys_render_2d();
-}
-
-function sys_render_2d() {
-	if (_sys_on_renders_2d.length > 0) {
-		_sys_run_callbacks(_sys_on_renders_2d);
-	}
+	_sys_run_callbacks(_sys_on_renders_2d);
 }
 }
 
 
 function _callback_create(f: (data?: any)=>void, data: any): callback_t {
 function _callback_create(f: (data?: any)=>void, data: any): callback_t {

+ 0 - 1
base/sources/ts/main.ts

@@ -18,7 +18,6 @@ function main() {
 		base_init_layout();
 		base_init_layout();
 	}
 	}
 	iron_set_app_name(manifest_title);
 	iron_set_app_name(manifest_title);
-	sys_init();
 	scene_set_active("Scene");
 	scene_set_active("Scene");
 	uniforms_ext_init();
 	uniforms_ext_init();
 	render_path_base_init();
 	render_path_base_init();

+ 1 - 1
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_next_frame(function () {
+					sys_notify_on_end_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;

+ 0 - 1
base/tests/cube/sources/main.ts

@@ -14,7 +14,6 @@ function main() {
 		depth_bits: 32
 		depth_bits: 32
 	};
 	};
 	sys_start(ops);
 	sys_start(ops);
-	sys_init();
 	ready();
 	ready();
 }
 }
 
 

+ 0 - 1
base/tests/fall/sources/main.ts

@@ -18,7 +18,6 @@ function main() {
 		depth_bits: 32
 		depth_bits: 32
 	};
 	};
 	sys_start(ops);
 	sys_start(ops);
-	sys_init();
 	ready();
 	ready();
 }
 }