Wallpaper Engine

Wallpaper Engine

Not enough ratings
Subscenes system | Guide
By Bruhsty
This is a guide for a Subscenes system | Script, explaining it's functionality.
   
Award
Favorite
Favorited
Unfavorite
Scene names
Here are defined all the sub scenes:


You can think of them as tags. I've made them case insensitive, but still, it's a good idea to keep them consistent. Amount of defined scene names should not exceed amount of scene checkboxes (less is fine).

Attention! Order of the scene names matters!
In the image above "+scene1" corresponds to "Scene1" checkbox, "+scene2" corresponds to "Scene2", etc. But your scene names can be anything, you can set "+winter, +spring, +summer, +autumn" for example, but they still will correspond to checkboxes in that order ("+winter" = "Scene1", "+spring" = "Scene2").


Then you just add these tags to the layer's name.

Even though there are layers with tag "+Scene1", but tag is defined as "+scene1", it still will work.

Layers with multiple tags will be visible in all of those cases.

Scene names can be anything, they don't need to have "+" in them, but I'd recommend to use some special symbol to identify the tag, otherwise there could be mistakes:





Even though, we're expecting "Widget id" layer to be visible in "id" scene, and "Widget eng" in "eng" scene, in "id" scene we'll see both layers, because both of them have "id" in their names (Widget).
Special symbols solve this problem, because they are not used regularly.





Now they'll work as expected.

New option for video textures:
When subscene loads, video textures get reset (start playing from the beginning).
Single mode
By default there are 6 checkboxes for scenes, unfortunately I can't add/remove them dynamically based on the amount of scene names, nor can I name them with appropriate scene names. So, if you need more checkboxes, you'll need to edit the script and add them manually (look for lines ~ 64-93 to add checkboxes to the script and function getCheckboxes() at line ~220, to make those checkboxes work), it's not that hard, it's a matter of copy-pasting some lines.

You can toggle checkboxes in the editor and "run preview" to see the effect, you can also bind them to user properties (make sure to uncheck all of the checkboxes, before binding them).
They were supposed to be bindable by a combobox, but by the time of writing this guide, there's a bug, that doesn't let you bind multiple checkboxes created by the script to the same combo, it just overrides previous checkbox. Hopefully, it will be fixed. Fixed in 2.0.97, now you can bind scene checkboxes to the combo user property.




You can bind "Random scene" to the same combo, this way it will pick a random scene and will randomize it on wallpaper load (restart). Known bug: switching from a specific scene to a random option is broken (it will turn off all of the scenes), vice versa works though and it does load random scene on start, wallpaper just needs a restart after applying Random option (can make a note in the combo option name like "Random (needs restart)"). Don't have a solution for it yet, might need to wait for devs to change some things in SceneScript. Fixed it.

Update: added new options, works the same as before.

Interval mode
With interval mode, you can change your scenes based on a set time, it's basically a slideshow for scenes.

Interval time uses "minutes:seconds" format, it's not like a clock with a limit of 60. Here are some examples:
128:120 - change scene after 130 minutes.
0:30 - change scene after 30 seconds.
0:0.1 - change scene after 0.1 second (epilepsy warning).
1:1 - change scene after 61 seconds.
01:001 - change scene after 61 seconds.
Also timer is not 100% accurate, there will be some delay, but it shouldn't be noticeable, unless you're aiming for ultra precision.

Update: removed crossfading feature, it was half-broken and result didn't satisfied me; added new order modes.



Regular order plays scene1, scene2, scene3, scene4, etc.

Random order plays random scenes (it won't play the same scene twice in a row, but it can go back and forth between 2 scenes).

Reversed order plays scene4, scene3, scene2, scene1.

Custom order plays in order you set them up.
Example videos
Some videos, that hopefully should clarify things:

https://youtu.be/uPWqJu1uTRc
https://youtu.be/_ZmWz9ZfylA
9 Comments
NeoRaiden 18 Jun, 2024 @ 10:08am 
i used your script and made 3 scenes. I bind the scene checkboxes to general checkboxes and it works well, but i have 2 small problems. First i cant find the "restart video texture on load" option, and some things restart some things dont (i dont want them to restart) and my second problem is not direct related to this script but maybe someone can help. I want to trigger a scene-switch to a mouseclick on a icon that i made in my wallpaper and i know its possible, but i cant figure out how exactly i link this function to a scene of this script. Also i want to trigger the 3rd scene after a few seconds into the 2nd scene. Im happy if someone can help, even if its just some brainstorm
bbspawn 12 Dec, 2022 @ 6:17am 
I think there's an extra bracket at the end of code. Deleting it makes the screen resemble what you have in the video. The reason I wanted to see more examples, was to see if the images that I wanted to used needed any more prep other than needing +scene1 in the name.
Bruhsty  [author] 12 Dec, 2022 @ 3:01am 
I don't think I published any wallpaper with this script, I had multiple, but didn't finish any of them. What's confusing about it? There are example videos.
bbspawn 11 Dec, 2022 @ 3:11pm 
I'm confused on the setup. Is there a published wallpaper that uses this script? I can dissect it and figure it out.
Tock 23 Jul, 2022 @ 3:03pm 
Shame, okay. Thank you!
Bruhsty  [author] 23 Jul, 2022 @ 5:08am 
Currently no, you can't. I don't know if I'll add this feature.
Tock 22 Jul, 2022 @ 3:46pm 
Thank you for this! Extremely helpful script. One question though: Say I have 10 Layers. Can I add User Properties to allow users to choose which 6 of those 10 Layers they want randomized?
阿谛 14 Dec, 2021 @ 1:30am 
1