MVI (and some others who I don't know) made a lot of progress deciphering the format of various UIB files, culminating in the release of an editor that works on many uib formats.
For the menus.uib, the each menu entry had: a key name (that UIL searches for when attempting to open a new menu), a value (the file that represents the menu to open) and two unknown integer values, named Unknown1 and Unknown2.
I'll let Ghidra explain the unknown values for me. (Apparently the game has functions converting other files into UIB files. Probably used for debugging or their development, but very useful for reverse engineering their formats)
----------------------------------------
Unknown 1 (int): Determines how the menu fades in
0 = Fade From Black? (From videos of the game, this appears to be Fade From Black. However, my game does something weird when this is used, drawing a black rectangle at point 0,0 during the 'animation' phase). It could be due to the patched game, a graphics setting or that some legacy Windows broke on newer Windows. See below for a more visual result)
1 = Unused (the game flickers when you use this. I suspect this is for fading out but it doesn't play well as a fade in sequence)
2 = Tween (looks like the proper fade blending the menu and the background behind it)
3 = Skip (no transition. The new menu pops in)
Other values (I only tested '4') = The new menu is not drawn, but is functional. See below for a more visual result)
----------------------------------------
Unknown 2 (int): Determines how the menu fades out
0 = Unused (the game flickers when you use this. I suspect this is for fading in but it doesn't play well as a fade out sequence)
1 = Fade To Black? (From videos of the game, this appears to be Fade To Black. However, my game does something weird when this is used, drawing a black rectangle at point 0,0 during the 'animation' phase). It could be due to the patched game, a graphics setting or that some legacy Windows broke on newer Windows. See below for a more graphical result)
2 = Tween (looks like the proper fade blending the menu and the background behind it)
3 = Skip (no transition. The new menu pops out)
Other values (I only tested '4') = The background behind the closing menu is not drawn, but is functional. See below for a more visual result)
----------------------------------------
The tests are perform by modifying the entry for DIFFICULTY / skill.uid. This menu is called when you click Start New Game on the main menu.
Visual - When using value 0 or 1 (Fade) as fade in / fade out
For an example of a working Fade To Black, see 3:20 of https://www.youtube.com/watch?v=-x9MahcVn7k where a Fade To Black was demonstrated from the campaign map.
Visual - Value 4 for Fade In
Menu did not appear, but is active. Buttons will paint over the screen when you interact with them.
Visual - Value 4 for Fade Out
Menu did not disappear, but the previous menu (main menu) is active. Buttons from the currently active menu will paint over the screen when you interact with them.
With this I think the description of the Menus.uib is complete. I hope this gives modders more control over the UI behavior of their experiments. :)
EDIT: Corrected errors - it was Fade (value 0,1) that was giving display glitches, not Tween. Also added more information on the fade behaviour.