Jump to content

Setting BootConfig in 2.14


photo

Recommended Posts

I'm upgrading our code base from 2.13 to 2.14. As we have multiple projects in the same repository, we used Unigine::BootConfig::setPath in our main.exe to specify the right boot config to get the splash screen for the correct project. This worked fine in 2.13, however in 2.14 it always seems to take the boot config from the userdata. The config file itself is fine, if I copy it into the userdata folder it will load fine.

If I log out the value of Unigine::BootConfig::getPath() I see the value is correct before creating an instance of Unigine::EnginePtr but afterwards it changed back to the default value. Changin it again after that before starting the main loop is too late, the config is already loaded during the engine init. Our code did not change from 2.13 to 2.14, did something in the engine change between these versions?

Link to comment

Bemined

Could you please show us your simplified main app (where do you call setPath() and other engine startup parameters) so we can check this our side as well?

Also what's your current data folder structure? We need to replicate it to get the identical results.

Thanks!

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Link to comment

A simplified version of the main function looks like this:

// UnigineLogic
AppSystemLogic system_logic;
AppWorldLogic world_logic;
AppEditorLogic editor_logic;

// Set config path
Unigine::BootConfig::setPath(Unigine::String("D:\\Projects\\Unigine Projects\\Cpp214\\data\\Projects\\Test\\default.boot" ).get());

// init engine
Unigine::EnginePtr engine(UNIGINE_VERSION, argc, argv);

// enter main loop
engine->main(&system_logic, &world_logic, &editor_logic);

And in the data all you need is a Projects/Test/default.boot file with the following content and a random image as Projects/Test/Logo.png:

<?xml version="1.0" encoding="utf-8"?>
<boot version="2.14.1.1" autosave="0">
	<screen>
		<width>600</width>
		<height>600</height>
		<background_color>0.2039, 0.2039, 0.2117, 1</background_color>
		<transform>0.0, 1.0, 0.5, 0.5</transform>
		<texture>Projects/Test/Logo.png</texture>
		<threshold>10</threshold>
		<messages>
			<engine_init></engine_init>
			<file_system_init></file_system_init>
			<materials_init></materials_init>
			<properties_init></properties_init>
			<plugins_init></plugins_init>
			<shaders_compilation></shaders_compilation>
		</messages>
	</screen>
	<console>
		<background_update>1</background_update>
	</console>
</boot>

I tried it on a clean project, in 2.13 it works fine and in 2.14 the default boot screen appears instead, according to the console it isn't even loading the custom one:

---- Configs ----
Loading boot config "D:/Projects/Unigine Projects/Cpp214/data/configs/default.boot"...
Loading user config "D:/Projects/Unigine Projects/Cpp214/data/configs/default.user"...
Using config file "configs/default.config"
Using boot config file "configs/default.boot"
Using user config file "configs/default.user"
Using controls config file "configs/default.controls"

 

Link to comment
  • 3 weeks later...

Any update on this? If this cannot be solved we would need to find a workaround since we also have background_update within the boot update and without this we cannot start multiple instances on the same machine (without background_update only the instance with focus would start).

Link to comment

Bemined

Thanks for the waiting. Unfortunately, we didn't have much time to check this behavior yet.

In the meantime if you need to set path to the boot config you can do it via engine startup parameters:

  • main_x64.exe -boot_config "Projects/Test/my.boot"

As soon as I get more info from the dev team I would surely let you know.

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Link to comment
×
×
  • Create New...