Skip to content

Releases: simonvic/sFramework

v3.0.0-exp

07 Dec 18:35

Choose a tag to compare

v3.0.0-exp Pre-release
Pre-release

ADDED

  • Improved documentation about user configuration and server constraints
  • A preload function that implementing user configurations could hook into for preloading
  • New SLOG logger implementation superseding the now deprecated SLog
  • New SLOG options added in the diagnostic menu
  • New sDebugUI function for building checkbox returning its boolean state
  • New sDebugUI function for building sliders returning its float value
  • New onValueChange event (ScriptInvoker) for user configuration options that gets fired when the value of the option effectively changes

CHANGED

  • The default message of a server constraint is now an empty string and it will default to the localized string in the UI. This resulted in a slight reduction in the data size being sent to the clients over the wire
  • Improved logging related to user configurations and server constraints
  • User configuration and server constraints are initialized earlier in the game lifecycle (DayZGame::DeferredInit)
  • Removed default user configuration.
    The implementation was meh, it was unused and it only complicated the user configuration APIs with no real benefit.
    SPOILER: it might come back once the user configuration gets refactored to be more similar to DayZ vanilla settings
  • Removed user configuration and server constraints validation step.
  • Removed unnecessary typedefs in favor of the actual type
  • Replaced client/server checks with IsDedicatedServer
  • Cleaner and more human readable log entry format
  • Improved UI and localization for boolean based constraints
  • The method loading a user configuration will now return the loaded instance
  • The method loading a server constraint will now return the loaded instance
  • sJONSSerializable serialization and deserialization now returns a boolean value based on whether or not the operation was successful
  • The new logging implementation is now used throughout sFramework

FIXED

  • Mod list in log files wouldn't be printed entirely if too long
  • File handles are now being closed only if it was actually open
  • The user configuration constraint reading flow has been refactored, and should fix a rare case of constraints not being applied correctly.

FULL CHANGELOG

v2.0.1...v3.0.0-exp

v2.0.1

03 Jun 14:24

Choose a tag to compare

FIXED

  • Various syntax errors

MODDING

  • The begin() function for DebugUI now returns the enabled status
  • The onValueChange() user config callback would not get called for array based options

FULL CHANGELOG

v2.0.0...v2.0.1

v2.0.1.exp

23 Apr 14:08

Choose a tag to compare

v2.0.1.exp Pre-release
Pre-release

FIXED

  • Various syntax errors

MODDING

  • The begin() function for DebugUI now returns the enabled status
  • The onValueChange() user config callback would not get called for array based options

FULL CHANGELOG

v2.0.0...v2.0.1.exp

v2.0.0

20 Feb 14:01

Choose a tag to compare

And here we are with the 2.0 update, which brings some breaking changes about PostProcessingeffects, but for a greater good. For this reason (and lack of free time on my side), the 2.0update has been sitting in the experimental version of sFramework for quite a while; apologies for thedelay.

With this update, sFramework removes its implementation of the sPPEManager, since vanillaDayZ added its own implementation (PPEManager).
That leads to the sPPEffect now extending the vanilla PPERequester class.
But why all these breaking changes?
Compatibility!
Previously, sFramework's PPEffect system was necessary since vanilla DayZ lacked one, andif two mods wanted to use ppeffects at the same time without sFramework, all bets were off!
With the new vanilla system (which all mods can and should use) it's much easier for mods tocooperate.
For this reason, sFramework now relies on it too to provide you the API for defining PPEffects, with thebenefit of compatibility with any other mod, without the need to make compatibility mods.

Although the new vanilla system is pretty similar to my previous implementation, it comes withsome differences, which means you may need to make some changes to your effects.To learn more about it, I highly suggest giving a read to thenew sPPEffect tutorial

ADDED

  • isActive(), activate(), deactivate() and toggle()functions have been added to sCameraOverlay
  • isActive(), activate(), deactivate() and toggle()functions have been added to sPPEffect
  • Builders for CameraOverlays
  • Modded diagnostic menu (only available with diagnostic executable)
  • sDebugUI builder function with default visibility state

CHANGED

  • sPPEffect now extends the vanilla PPERequester
  • Removed sPPEManager
  • Removed PPEPreset and PPEDefaultPreset
  • Removed DoFPreset
  • The sColor class is now the preferred way to define and use colors
  • Removed arguments in CameraOverlays constructors; onInit is now the preferred way tooverride default settings of an overlay
  • The overlays default priorities have been changed to allow finer control between types of overlays
  • Cleaned up overlay root layout
  • Removed unnecessary typedefs

FIXED

  • CameraOverlayManager::getAnimating would return a set of overlays weak ref

FULL CHANGELOG

v1.4.0...v2.0.0

v1.4.0

23 May 15:22

Choose a tag to compare

ADDED

  • New camera transition timing from 3rd person vehicle to 3rd person (DayZ 1.20)
  • sDebugUI widgets now use consumable options instead of parameters
  • sColor method to build color from string
  • sDebugUI: option helper function with map argument
  • sDebugUI: window body color can now be changed with body.bg option
  • sDebugUI: new options for table cells flags (table.cell.flags.set,table.cell.flags.set)
  • Helper function to convert array to csv row
  • sColor: getter for normalized array in RGBA format
  • sColor: allow hashtag (#) in color string representation

CHANGED

  • sDebugUI: Enabling/disabling a DUI won't show/hide it

FIXED

  • sColor: memory leak
  • sDebugUI: vertical scale option not working for plot widget
  • sDebugUI: null pointer exception on server
  • sDebugUI: possible lost refs when instatiating a DUI early during game init
  • sSpawnableBundle: missin argument in constructor

MODDING

  • Preprocessor defines are now declared according to DayZ 1.21 changes
  • Removed debug plugin

FULL CHANGELOG

v1.3.0...v1.4.0

v1.3.0

20 Oct 15:13

Choose a tag to compare

Because of some breaking changes to user config constraints, server owners are advised to delete the current constraints.json files and let the server regenerate it.
Alternatively you can use this tool to edit the constraints: sConstraintsEditor

ADDED

  • New logo
  • sDebugUI IMGUI framework
  • sMath: normalize() function
  • sMath: normalizeClamp() function
  • sMath: map() function
  • sMath: mapClamp() function
  • sMath: squared PI constant
  • sSpawnableBundle API
  • ComboWidget options can now be registered in the Options menu
  • sTreeNode: allow max depth in debug print

CHANGED

  • sConstraints enabled field has been renamed to constrain
  • sConstraints now can get preloaded at mission start
  • User config array options only worked with floats
  • Removed sCameraManager
  • Code refactor and cleanup

FIXED

  • sCameraOverlay not hiding along with the HUD
  • sLog: the header will now be printed at every boot
  • sLog: filename date format
  • sMath: Wrong arctan computation
  • sPPEManager: potenrially wrong DoF reset
  • sPPEManager: PiP not working without sVisual
  • sUserConfigConstraints deserialization validation

FULL CHANGELOG

v1.2.0...v1.3.0

v1.2.0

19 Apr 13:19

Choose a tag to compare

ADDED

  • Added sObservableArray API
  • Added sTest framework (UnitTesting). sTest related stuff is only compiled with DIAG_DEVELOPER directive
  • Added test unit for sMath
  • Added test unit for sConstraints
  • Added test unit for sUserConfigs
  • Added test unit for sObservableArray

v1.1.1a

18 Feb 11:58

Choose a tag to compare

FIXED

  • Fixed server constraints not being sent to clients when joined while not having an alive character

v1.1.1

08 Feb 13:12

Choose a tag to compare

ADDED

  • Added compatibility mod icon

CHANGED

  • Removed debug plugin

v1.1.0

25 Oct 17:21

Choose a tag to compare

ADDED

  • ServerSide config constraints
    sUserConfig can now be constrained based on constraints defined on the server
  • InfoBox in options menu, containing option (and constraints) description
  • sUserConfigOption
    A generic option, to replace the old coupled way of creating UserConfig
  • JSONSerializable interface
  • sConstraintBase (for primitive and non primitive data)
    • sConstraintSimple
    • sConstraintMinMax

CHANGED

  • Completely reworked sUserConfig
    • sUserConfigBase now implements JSONSerializable interface
    • options are now held in the new generic sUserConfigOption
    • options must be registered with a unique string identifier
  • Improved generalization of user config UI controllers
    • widgets that control options now need to be binded with the option
    • they won't handle the option change anymore (the option itself will)
    • improved config change handling to reduce reads/writes on disk
  • Improved sMath and sTest

FIXED

  • onInit method in SCameraOverlayTimed was not getting called at the right time