Skip to content

Centrifuge 2.0.0

Choose a tag to compare

@vddCore vddCore released this 15 Nov 11:15
· 214 commits to master since this release

This is a major update for Centrifuge.

Changes

▐ Logging system has been vastly improved. Breaking changes had to be introduced in order to make this happen.

▐ Unity log interceptor has been improved and displays its logs way better than before.

▐ Reactor.API got the new RuntimePatcher system. It allows mods and GSLs to easily run all the patches and GameCodeTranspiler classes without manually creating a new Harmony instance.

▐ GSLs are now able to get a reference to the IManager interface via Initialize(IManager) method, just like mods, it can be configured to run before or after the Awake method.

▐ Mod manifest now accepts the RequiredGSLs string array, allowing mod developers to specify hard dependencies against GSLs by providing the desired GSL IDs.

▐ A critical bug where Section and float types could not be loaded from the settings has been fixed.

▐ Many minor cosmetic and usability changes were introduced. See commit history for details on those.

Logging System - details on breaking changes

Initialization

// Before
public Log Log { get; } = new Log("mylogfile");

// After
public Log Log { get; } = LogManager.GetForCurrentAssembly();

Exception logging

// Before
Log.Exception(e, true); // Silent
Log.Exception(e, false); // Verbose

// After
Log.Exception(e);

Moreover, log configuration is now done at the time of initialization via call chaining. Visit docs on details for using the new Logging system.