Added ability to make a DjuiBase keep its aspect ration
Added on_render_pre callback
Added ability to display 32b images
Added DjuiFlowLayout
Added logo
The birth of a custom user interface system.
Has the ability to draw things to the screen at native resolution
regardless of window size.
Components can be nested within one another to an arbitrary depth.
Text rendering is completely rewritten.
Text and images can be clipped by their parent container.
along with options to select backends for windowing, rendering, audio and controls in the Makefile
use RENDER_API=D3D11 or D3D12 for the D3D renderers, that will also automatically enable using DXGI for windowing; SDL2 will still be used for input and audio for the time being
also adds three-point filtering to the OpenGL backend and an option for it in the menu
when EXTERNAL_TEXTURES is defined, the texture hashmap in gfx_pc.c uses texture names as keys
all textures are precached on startup if EXTERNAL_TEXTURES is defined and 'precache' is true in the config
saves by default go into XDG_DATA_HOME/sm64pc
external data is read from the executable directory, if it's not found there on Unix systems the game will attempt to read it from some paths like /usr/local/share/sm64pc
both save data and readonly data fall back to other options in case of a problem
behavior can be overridden by specifying --datapath and --savepath on the CLI
both of those will expand the exclamation point ('!') to the executable path, e. g. --savepath '!/save'