You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-10 13:00:37 +00:00
Merge pull request #41833 from dalexeev/splash_delay
Add boot splash minimum display time setting
This commit is contained in:
@@ -203,6 +203,9 @@
|
|||||||
Path to an image used as the boot splash. If left empty, the default Godot Engine splash will be displayed instead.
|
Path to an image used as the boot splash. If left empty, the default Godot Engine splash will be displayed instead.
|
||||||
[b]Note:[/b] Only effective if [member application/boot_splash/show_image] is [code]true[/code].
|
[b]Note:[/b] Only effective if [member application/boot_splash/show_image] is [code]true[/code].
|
||||||
</member>
|
</member>
|
||||||
|
<member name="application/boot_splash/minimum_display_time" type="int" setter="" getter="" default="0">
|
||||||
|
Minimum boot splash display time (in milliseconds). It is not recommended to set too high values for this setting.
|
||||||
|
</member>
|
||||||
<member name="application/boot_splash/show_image" type="bool" setter="" getter="" default="true">
|
<member name="application/boot_splash/show_image" type="bool" setter="" getter="" default="true">
|
||||||
If [code]true[/code], displays the image specified in [member application/boot_splash/image] when the engine starts. If [code]false[/code], only displays the plain color specified in [member application/boot_splash/bg_color].
|
If [code]true[/code], displays the image specified in [member application/boot_splash/image] when the engine starts. If [code]false[/code], only displays the plain color specified in [member application/boot_splash/bg_color].
|
||||||
</member>
|
</member>
|
||||||
|
|||||||
@@ -2198,6 +2198,13 @@ bool Main::start() {
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint64_t minimum_time_msec = GLOBAL_DEF("application/boot_splash/minimum_display_time", 0);
|
||||||
|
ProjectSettings::get_singleton()->set_custom_property_info("application/boot_splash/minimum_display_time",
|
||||||
|
PropertyInfo(Variant::INT,
|
||||||
|
"application/boot_splash/minimum_display_time",
|
||||||
|
PROPERTY_HINT_RANGE,
|
||||||
|
"0,100,1,or_greater,suffix:ms")); // No negative numbers.
|
||||||
|
|
||||||
#ifdef TOOLS_ENABLED
|
#ifdef TOOLS_ENABLED
|
||||||
if (!doc_tool_path.is_empty()) {
|
if (!doc_tool_path.is_empty()) {
|
||||||
// Needed to instance editor-only classes for their default values
|
// Needed to instance editor-only classes for their default values
|
||||||
@@ -2718,6 +2725,15 @@ bool Main::start() {
|
|||||||
if (movie_writer) {
|
if (movie_writer) {
|
||||||
movie_writer->begin(DisplayServer::get_singleton()->window_get_size(), fixed_fps, write_movie_path);
|
movie_writer->begin(DisplayServer::get_singleton()->window_get_size(), fixed_fps, write_movie_path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (minimum_time_msec) {
|
||||||
|
uint64_t minimum_time = 1000 * minimum_time_msec;
|
||||||
|
uint64_t elapsed_time = OS::get_singleton()->get_ticks_usec();
|
||||||
|
if (elapsed_time < minimum_time) {
|
||||||
|
OS::get_singleton()->delay_usec(minimum_time - elapsed_time);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user