mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Time magic.
This commit is contained in:
parent
d87797d83d
commit
b3833c665d
@ -312,6 +312,15 @@ if (hasInterface) then {
|
||||
}, 0, []] call cba_fnc_addPerFrameHandler;
|
||||
};
|
||||
|
||||
// Time handling
|
||||
ACE_time = diag_tickTime;
|
||||
ACE_realTime = diag_tickTime;
|
||||
ACE_virtualTime = diag_tickTime;
|
||||
ACE_gameTime = time;
|
||||
|
||||
PREP(timePFH);
|
||||
[FUNC(timePFH), 0, []] call cba_fnc_addPerFrameHandler;
|
||||
|
||||
// Init toHex
|
||||
[0] call FUNC(toHex);
|
||||
|
||||
|
26
addons/common/functions/fnc_timePFH.sqf
Normal file
26
addons/common/functions/fnc_timePFH.sqf
Normal file
@ -0,0 +1,26 @@
|
||||
//#define DEBUG_MODE_FULL
|
||||
#include "script_component.hpp"
|
||||
|
||||
private["_lastTime", "_lastRealTime", "_lastVirtualTime", "_lastGameTime", "_delta"];
|
||||
|
||||
_lastTime = ACE_time;
|
||||
_lastRealTime = ACE_realTime;
|
||||
_lastVirtualTime = ACE_virtualTime;
|
||||
_lastGameTime = ACE_gameTime;
|
||||
_lastPausedTime = ACE_pausedTime;
|
||||
_lastVirtualPausedTime = ACE_virtualPausedTime;
|
||||
|
||||
ACE_gameTime = time;
|
||||
ACE_realTime = diag_tickTime;
|
||||
|
||||
_delta = ACE_realTime - _lastRealTime;
|
||||
if(time <= _lastGameTime) then {
|
||||
// Game is paused or not running
|
||||
ACE_pausedTime = ACE_pausedTime + _delta;
|
||||
ACE_virtualPausedTime = ACE_pausedTime + (_delta * accTime);
|
||||
} else {
|
||||
// Time is updating
|
||||
ACE_virtualTime = _lastVirtualTime + (_delta * accTime);
|
||||
ACE_time = ACE_realTime + _delta;
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user