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'