- XMake [3.0.0+]
- C++23 Compiler (MSVC or Clang-CL)
git clone --recurse-submodules https://github.com/libxse/commonlibf4
cd commonlibf4To build the project, run the following command:
xmake buildNote: This will generate a
build/windows/directory in the project's root directory with the build output.
If you use Visual Studio, run the following command:
xmake project -k vsxmakeNote: This will generate a
vsxmakeXXXX/directory in the project's root directory using the latest version of Visual Studio installed on the system.
Alternatively, if you do not use Visual Studio, you can generate a compile_commands.json file for use with a laguage server like clangd in any code editor that supports it, like vscode:
xmake project -k compile_commandsNote: You must have a language server extension installed to make use of this file. I recommend
clangd. Do not have more than one installed at a time as they will conflict with each other. I also recommend installing thexmakeextension if available to make building the project easier.
CommonLibF4 is intended to replace F4SE as a static dependency. However, the runtime component of F4SE is still required.
BSShadowLight exposes the shared descriptor/count and receiver-bias fields.
Directional, frustum, and parabolic wrappers expose UpdateCamerasI; directional
wrappers also expose temporal directions, split distances, and GetFitBounds().
These are mapped prefixes, not complete allocation layouts. The named update
vtable slot and frustum clip accessors are verified on OG, NG, and AE.
ShadowSettings returns the native setting objects with their verified collection
types. BSShaderManager exposes the shadow caches initialized by Initialize();
BSShadowDirectionalLight exposes the threshold-cosine cache lazily initialized
by its constructor. Changing a setting does not rebuild shadow resources or
refresh those caches.
BSGraphics::RenderTargetManager::QShadowMapArrayDepthStencil() queries the
logical shadow target; raster bias constants describe the native selector-8 state.
IDs without typed wrappers do not establish callable signatures.
GPL-3.0-or-later WITH Modding Exception AND GPL-3.0 Linking Exception (with Corresponding Source).
Specifically, the Modded Code is Fallout 4 (and its variants) and Modding Libraries include F4SE (GitHub).
It is recommended to read the FSF FAQ for a full explanation on what this license requires.
The main requirement of this license is: if you link your mod against CommonLibF4, and you distribute the binaries for that mod, you must also distribute the source code under the same license as CommonLibF4 along with the source code for any other libraries you link against, with the exception of the Modded Code and Modding Libraries defined above.
Originally based on code under MIT.