Skip to content

Releases: simonvic/sFramework

v2.0.0

20 Feb 14:01
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
Choose a tag to compare

ADDED

  • Added compatibility mod icon

CHANGED

  • Removed debug plugin

v1.1.0

25 Oct 17:21
Compare
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

v1.0.0

29 Sep 09:17
Compare
Choose a tag to compare

ADDED

  • Added godrays PPE parameter
  • Added basic Tree data structure
  • Added basic Stack data structure
  • Improved sGameConfig capabilities
  • Added setters for R, G, B and alpha channel to sColor
  • Moved most logic and generic assets from sVisual
    • Moved sGameConfig and sUserConfig
    • Moved utilities and tools (sColor, sLog, sFlagOperator, sRaycast etc.)
    • Moved sPPEffect (former PPEParams) and its animated variation
    • Moved sPPEManager (former PPEManager)
    • Moved sCameraOverlay and its animated variation
    • Moved sCameraOverlayManager
    • Moved masks .edds

CHANGED

  • Rewrote from scratch options menu UI/UX
    • A sUDE tab will now hold all sUDE modules options menu
    • Options can now be locked more easily with the possibility to show a message next to them
  • The sPPEManager is now more consistent:
    • The merged PPE value will be correctly computed (previously it was also being merged with the default value)
    • Only non-requested PPE will now be interpolated to the default values
    • Added ACTIVATION_SPEED constant, which will dictates how fast effects will be applied
  • Added DEFAULT, COPY, INTERPOLATE, UNION and INTERSECTION merge flags
    By default the merging will be done with INTERPOLATE and UNION flags
  • Improved merging performance
  • Improved SLog redeability

FIXED

  • Minor fixes