-
Notifications
You must be signed in to change notification settings - Fork 3
Description
As part of the UI (a.o), we want to have the ability to show a bitmap on-screen.
Bitmaps come from the BSI/TEXBSI/GXA files and land in RGTexStore, where they can be retrieved based on palette/BSI number/image number/shader ID as unity Materials.
Background on script usage:
When a strenght potion is imbibed, it show a bitmap in the top-left corner for a while before hiding it again:

In the Observatory, looking through the telescope shows a full-screen image of stars for 36 units of time (~3 seconds?):

Implementation:
In UIManager, provide a function to show a bitmap at a position, it returns the index of the bitmap. Layer would be an integer to determine which bitmaps go on top of others.
int UIManager.ShowBitmap(Material mat, Vector2 position, int layer);
We also want a way to unshow a bitmap. hence the id above:
UIManager.HideBitmap(int id)
Further functions will be needed in MainUIScript. Quick outline of what I think is useful:
- ShowGXA(GXAfile, UNKNOWN, duration) < shows a full-screen GXA file for duration
- ShowBitmap(UNKNOWN, Id) < Show a bitmap in the top-left corner, UNKNOWN will probably be an index into some TEXBSI file, further investigation needed
- UnshowBitmap(int Id) < and hides it again
For the inventory we will probably need the following:
- ShowInventoryBG() < would fetch the inventory background (TBD) and show it on the background
- ShowInventoryItemUnselected(int id) < shows a bitmap for item #Id, unselected
- ShowInventoryItemSelected(int id) < shows a bitmap for item #Id, selected (it's a different GXA file)
- InspectInventoryItem(int id) < shows a 3D model of the item