Source-checkedOther

sFramework_experimental

by simonvic · for DayZ

https://imgur.com/YqbBwor.gif https://imgur.com/o8eQiaF.png Information WARNING This is an experimental version of the mod meant for testing purposes. It may be unstable; use at your own risk.…

151KDownloads
6 mo agoLast updated
787 KBFile size
Steam WorkshopSource

About sFramework_experimental

From Steam Workshop

https://imgur.com/YqbBwor.gif https://imgur.com/o8eQiaF.png Information WARNING This is an experimental version of the mod meant for testing purposes. It may be unstable; use at your own risk.…

Information

WARNING This is an experimental version of the mod meant for testing purposes. It may be unstable; use at your own risk.

sFramework is the core of the sUDE project.

It ships many features and utilities used and/or implemented by sUDE modules :

  • Advanced PostProcessing
  • Cameras Overlays
  • Game and User configuration interface
  • Helper classes and utilities for developing and debugging
  • Improvements to base game classes
  • more...

PostProcessing effects

sFramework ships a centralized post processing effects manager, with the goal of allowing multiple requests of the same effects, without hardcoding them.

SPPEffect

SPPEffect is the "container" of any PostProcess Effect you wish to add to it (e.g. saturation, vignette, motion blur etc.).


SPPEffect myPPE = new SPPEffect();

To add a parameter use the provided setters:


myPPE.setVignette(intensity, color);
myPPE.setRadialBlur(powerX, powerY, offsetX, offsetY);
myPPE.setChromAber(powerX, powerY);
//...

To apply it, "hand it over" to the SPPEManager, which will calculate the correct value of all active SPPEffect and then apply it


SPPEManager.activate(myPPE);
//SPPEManager.deactivate(myPPE); // to deactivate the effect

SPPEffectAnimated

A SPPEffectAnimated is just like a SPPEffect, but it has an animation mechanism which allows you to animate the values of a PostProcess effect.

A SPPEffectAnimated is an abstract class. You need to implement it with your own class and override the onAnimate() method, which will be called on every frame.

There also is a timed variant SPPEffectTimed, which will be automatically deactivated once a certain amount has passed.

To create your animation, simply extend either SPPEffectAnimated or SPPEffectTimed


class MyLoopAnimation : PPELoopedParams{
 override void onAnimate(float deltaTime){
  /* change PPE values here
  setOverlay(...);
  setChromAber(...);
  setCameraEffects(...);
  */
  setVignetteIntensity( Math.Sin(getTime()) );
 }
}

class MyTimedAnimation : SPPEffectTimed{
 override void onAnimate(float deltaTime){
  setVignetteIntensity( Math.Cos(getTime()) );
 }
}

A SPPEffectTimed also has a "duration" which can be set with the constructor, or the provided method:


MyTimedAnimation myTimedAnimation = new MyTimedAnimation(6); // the animation will last 6 seconds
myTimedAnimation.setDuration(10.0); // the animation will last 10 seconds

The activation of the animation is identical to any other SPPEffect


MyLoopAnimation myAnimation = new MyLoopAnimation();
SPPEManager.activate(myAnimation);

MyTimedAnimation myTimedAnimation = new MyTimedAnimation(5.5);
SPPEManager.activate(myTimedAnimation);

If you want to manually manage the animation you can use the provided methods


myAnimation.start();  // Set the animation state to "Playing"
myAnimation.stop();   // Reset the time and set the animation state to "Stopped"
myAnimation.pause();  // Freeze the animation values and set the animation state to "Paused"
myAnimation.resume(); // Resume the the animation and set the animation state to "Playing"

Camera Overlays

A camera overlay is nothing else than an image, used like an HUD. The fundemental unit of camera overlays is the SCameraOverlay, a very simple wrapper for the ImageWidget (the DayZ UI component that holds an image).

It can be used in countless ways:

As an animated UI :

or for emulating headgear damage: (from sVisual, MotoHelmet in various health state: Pristine, Worn, Damaged, BadlyDamaged and Ruined)

Defining an overlay is very simple and very similar to SPPEffects, in fact there are three types as well and the logic is identical to the SPPEffects:


class MyAnimatedOverlay : SCameraOverlayAnimated {

    override void onInit(){
        setImage("path/to/texture.edds");
        //...
    }

    //onAnimate() gets called every frame!
    override void onAnimate(float deltaTime){
        setSize(Math.Sin(getTime()));
        //setPosition(...)
        //setRotation(...)
        //setMask(...)
        //...
    }
}

To activate/deactivate an overlay, you use the SCameraOverlayManager:


SCameraOverlaysManager.getInstance().activate(myOverlay);

A SCameraOverlay has many attributes you can play with, which can be set either by scripts or in the config. Currently available attributes are:


image="";                                 // Resource image path, can be whatever an ImageWidget accepts texture
alpha=1.0;                                // [0.0 - 1.0] Alpha value (transparency)
mask="";                                  // Resource image path, can be whatever an ImageWidget accepts as mask
maskProgress=1.0;                         // [0.0 - 1.0] Mask progress
maskTransitionWidth=1.0;                  // Mask transition width (used as progress + transitionWidth)
position[] = {0.0, 0.0};                  // [0.0 - 1.0] X and Y position in screenspace
size[] = {1.0, 1.0};                      // [0.0 - 1.0] X and Y size in screenspace
rotation[] = {0.0, 0.0, 0.0};             // Yaw, Pitch and Roll defined in degrees
priority = 0;                             // Higher priority means closer to the camera (also known as z-depth)
targetCameras[] = {"DayZPlayerCamera"};   // Camera typename on which the overlay will be visible
hidesWithIngameHUD = 0;                   // [0 = false, 1 = true] Determines if it must hides when the player hides the ingame HUD

Utilities

Read the full description on Steam Workshop →

Highlights

From source data

Footprint

A 787 KB download, rated a light load on a server.

Last update

Its author last shipped an update 6 mo ago.

sFramework_experimental on Nxeon

From our catalogue
One-click install
Not available. One-click install isn't available for this game's mods yet. Download it and upload it to your server in Files.
Server load
light
Smallest plan we suggest
DayZ — 6 GB (6 GB RAM). This follows our own load rating above, not a benchmark.
Latest build
2026-04-09, released 2026-04-09, 787 KB

Game versions by loader

LoaderGame versionsNewest
Workshop

From 1 recorded build of sFramework_experimental.

Run sFramework_experimental on a DayZ server

Deploy a server above, then upload the file in Files.

What kind of mod it is

From the catalog
Listed on Steam Workshop as “Workshop”

Workshop

Its source category doesn’t say more about what it does, so NxLabs lists it under Other.

Compatibility

Game
DayZ
File size
787 KB

Verified at the source

  • ✓Steam WorkshopOfficial listing, checked 2026-10-10Open ↗
  • ✓Authorsimonvic, as published on Steam Workshop
  • ✓LicenseNot published by the sourceFree

sFramework_experimental, answered

Generated from the mod’s own source data.

Is it free?

Yes. sFramework_experimental is free to download from Steam Workshop.

How do I add it to my Nxeon server?

One-click install isn't available for this game's mods yet. Download sFramework_experimental from Steam Workshop and upload it to your Nxeon DayZ server in Files.

NxLabs

Run sFramework_experimental on a DayZ server.

Deploy in about a minute from $10.49 a month, then upload sFramework_experimental in Files.