Skip to content

About

A collaborative reverse-engineered library for Fallout 4

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

CommonLibF4

Requirements

  • XMake [3.0.0+]
  • C++23 Compiler (MSVC or Clang-CL)

Getting Started

git clone --recurse-submodules https://github.com/libxse/commonlibf4
cd commonlibf4

Build

To build the project, run the following command:

xmake build

Note: This will generate a build/windows/ directory in the project's root directory with the build output.

Project Generation (Optional)

If you use Visual Studio, run the following command:

xmake project -k vsxmake

Note: 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_commands

Note: 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 the xmake extension if available to make building the project easier.

Notes

CommonLibF4 is intended to replace F4SE as a static dependency. However, the runtime component of F4SE is still required.

Shadow bindings

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.

License

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.

About

A collaborative reverse-engineered library for Fallout 4

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages