mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Added global variables (syncRain, syncWind, syncMisc) which give some control over the weather module:
*Removed duplicate debug output
This commit is contained in:
parent
0146439925
commit
5a90ef6207
@ -1,6 +1,5 @@
|
|||||||
class Extended_PreInit_EventHandlers {
|
class Extended_PreInit_EventHandlers {
|
||||||
class ADDON {
|
class ADDON {
|
||||||
clientInit = QUOTE(call COMPILE_FILE(XEH_preClientInit));
|
|
||||||
init = QUOTE(call COMPILE_FILE(XEH_preInit));
|
init = QUOTE(call COMPILE_FILE(XEH_preInit));
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
GVAR(enableRain) = true;
|
GVAR(syncRain) = true;
|
||||||
|
GVAR(syncWind) = true; // Wind, Gusts, Waves
|
||||||
|
GVAR(syncMisc) = true; // Lightnings, Rainbow, Fog
|
||||||
|
|
||||||
GVAR(wind_period_start_time) = time;
|
GVAR(wind_period_start_time) = time;
|
||||||
GVAR(rain_period_start_time) = time;
|
GVAR(rain_period_start_time) = time;
|
||||||
@ -8,10 +10,12 @@ GVAR(rain_period_start_time) = time;
|
|||||||
"ACE_WIND_PARAMS" addPublicVariableEventHandler { GVAR(wind_period_start_time) = time; };
|
"ACE_WIND_PARAMS" addPublicVariableEventHandler { GVAR(wind_period_start_time) = time; };
|
||||||
"ACE_RAIN_PARAMS" addPublicVariableEventHandler { GVAR(rain_period_start_time) = time; };
|
"ACE_RAIN_PARAMS" addPublicVariableEventHandler { GVAR(rain_period_start_time) = time; };
|
||||||
"ACE_MISC_PARAMS" addPublicVariableEventHandler {
|
"ACE_MISC_PARAMS" addPublicVariableEventHandler {
|
||||||
if !(isServer) then {
|
if (!isServer) then {
|
||||||
30 setLightnings (ACE_MISC_PARAMS select 0);
|
if (GVAR(syncMisc)) then {
|
||||||
30 setRainbow (ACE_MISC_PARAMS select 1);
|
30 setLightnings (ACE_MISC_PARAMS select 0);
|
||||||
30 setFog (ACE_MISC_PARAMS select 2);
|
30 setRainbow (ACE_MISC_PARAMS select 1);
|
||||||
|
30 setFog (ACE_MISC_PARAMS select 2);
|
||||||
|
};
|
||||||
GVAR(temperatureShift) = (ACE_MISC_PARAMS select 3);
|
GVAR(temperatureShift) = (ACE_MISC_PARAMS select 3);
|
||||||
GVAR(badWeatherShift) = (ACE_MISC_PARAMS select 4);
|
GVAR(badWeatherShift) = (ACE_MISC_PARAMS select 4);
|
||||||
GVAR(humidityShift) = (ACE_MISC_PARAMS select 5);
|
GVAR(humidityShift) = (ACE_MISC_PARAMS select 5);
|
||||||
|
@ -1,17 +0,0 @@
|
|||||||
#include "script_component.hpp"
|
|
||||||
|
|
||||||
|
|
||||||
FUNC(KEEPTIME) = {
|
|
||||||
if((count GVAR(WINDSPEED)) > 0) then {
|
|
||||||
private ["_wind", "_p", "_str"];
|
|
||||||
_wind = ACE_wind;
|
|
||||||
|
|
||||||
_p = _wind call CBA_fnc_vect2polar;
|
|
||||||
_str = format["Wind: %1 at %2m/s (%3MPH)\n%4", floor(_p select 1), floor(_p select 0), floor((_p select 0)*2.23693629), GVAR(WINDSPEED)];
|
|
||||||
TRACE_2("Wind",_wind,_str);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
#ifdef DEBUG_MODE_FULL
|
|
||||||
[FUNC(KEEPTIME), 0.0, []] call CBA_fnc_addPerFrameHandler;
|
|
||||||
#endif
|
|
@ -11,12 +11,12 @@
|
|||||||
*/
|
*/
|
||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
private ["_i", "_lastRain", "_rainOverCast", "_transitionTime", "_windDirectionVariance", "_windSpeed", "_windSpeedChange", "_windMaxDiff", "_windMinDiff", "_windDirection", "_windDirectionChange", "_time", "_ratioMin", "_ratioMax"];
|
private ["_lastRain", "_rainOverCast", "_transitionTime", "_windDirectionVariance", "_windSpeed", "_windSpeedChange", "_windMaxDiff", "_windMinDiff", "_windDirection", "_windDirectionChange", "_time", "_ratioMin", "_ratioMax"];
|
||||||
|
|
||||||
// Rain simulation
|
// Rain simulation
|
||||||
if(GVAR(rain_period_count) > GVAR(rain_next_period)) then {
|
if (GVAR(syncRain) && GVAR(rain_period_count) > GVAR(rain_next_period)) then {
|
||||||
|
|
||||||
if(overcast >= 0.7) then {
|
if (overcast >= 0.7) then {
|
||||||
_lastRain = GVAR(current_rain);
|
_lastRain = GVAR(current_rain);
|
||||||
_rainOverCast = ((overcast-0.7)/0.3);
|
_rainOverCast = ((overcast-0.7)/0.3);
|
||||||
GVAR(rain_next_period) = ceil((1+random(10))/GVAR(overcast_multiplier));
|
GVAR(rain_next_period) = ceil((1+random(10))/GVAR(overcast_multiplier));
|
||||||
@ -44,7 +44,7 @@ if(GVAR(rain_period_count) > GVAR(rain_next_period)) then {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Wind simulation
|
// Wind simulation
|
||||||
if(GVAR(wind_period_count) > GVAR(wind_next_period)) then {
|
if (GVAR(syncWind) && GVAR(wind_period_count) > GVAR(wind_next_period)) then {
|
||||||
|
|
||||||
GVAR(wind_next_period) = ceil((2 + (random 5)) / GVAR(overcast_multiplier));
|
GVAR(wind_next_period) = ceil((2 + (random 5)) / GVAR(overcast_multiplier));
|
||||||
GVAR(wind_period_count) = 0;
|
GVAR(wind_period_count) = 0;
|
||||||
@ -89,9 +89,11 @@ if(GVAR(wind_period_count) > GVAR(wind_next_period)) then {
|
|||||||
publicVariable "ACE_WIND_PARAMS";
|
publicVariable "ACE_WIND_PARAMS";
|
||||||
};
|
};
|
||||||
|
|
||||||
// Sync misc. parameters
|
|
||||||
ACE_MISC_PARAMS = [lightnings, rainbow, fogParams, GVAR(temperatureShift), GVAR(badWeatherShift), GVAR(humidityShift)];
|
if (GVAR(syncMisc)) then {
|
||||||
publicVariable "ACE_MISC_PARAMS";
|
ACE_MISC_PARAMS = [lightnings, rainbow, fogParams, GVAR(temperatureShift), GVAR(badWeatherShift), GVAR(humidityShift)];
|
||||||
|
publicVariable "ACE_MISC_PARAMS";
|
||||||
|
};
|
||||||
|
|
||||||
GVAR(rain_period_count) = GVAR(rain_period_count) + 1;
|
GVAR(rain_period_count) = GVAR(rain_period_count) + 1;
|
||||||
GVAR(wind_period_count) = GVAR(wind_period_count) + 1;
|
GVAR(wind_period_count) = GVAR(wind_period_count) + 1;
|
||||||
|
@ -11,9 +11,9 @@
|
|||||||
*/
|
*/
|
||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
private ["_oldStrength", "_rainStrength", "_transitionTime", "_periodPosition", "_periodPercent"];
|
if (!GVAR(syncRain)) exitWith {};
|
||||||
|
|
||||||
if (!GVAR(enableRain)) exitWith {};
|
private ["_oldStrength", "_rainStrength", "_transitionTime", "_periodPosition", "_periodPercent"];
|
||||||
|
|
||||||
if (!isNil "ACE_RAIN_PARAMS" && {!isNil QGVAR(rain_period_start_time)}) then {
|
if (!isNil "ACE_RAIN_PARAMS" && {!isNil QGVAR(rain_period_start_time)}) then {
|
||||||
_oldStrength = ACE_RAIN_PARAMS select 0;
|
_oldStrength = ACE_RAIN_PARAMS select 0;
|
||||||
|
@ -11,6 +11,8 @@
|
|||||||
*/
|
*/
|
||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
if (!GVAR(syncWind)) exitWith { ACE_wind = wind };
|
||||||
|
|
||||||
ACE_wind = [] call FUNC(getWind);
|
ACE_wind = [] call FUNC(getWind);
|
||||||
setWind [ACE_wind select 0, ACE_wind select 1, true];
|
setWind [ACE_wind select 0, ACE_wind select 1, true];
|
||||||
2 setGusts 0;
|
2 setGusts 0;
|
||||||
@ -18,4 +20,4 @@ setWind [ACE_wind select 0, ACE_wind select 1, true];
|
|||||||
// Set waves: 0 when no wind, 1 when wind >= 16 m/s
|
// Set waves: 0 when no wind, 1 when wind >= 16 m/s
|
||||||
1 setWaves (((vectorMagnitude ACE_wind) / 16.0) min 1.0);
|
1 setWaves (((vectorMagnitude ACE_wind) / 16.0) min 1.0);
|
||||||
|
|
||||||
//hintSilent format["Wind: %1\nACE_wind: %2\nDeviation: %3 (m/s)", wind, ACE_wind, Round((vectorMagnitude (ACE_wind vectorDiff wind)) * 1000) / 1000];
|
TRACE_3("Wind/ACE_wind/Deviation(m/s)",wind,ACE_wind,Round((vectorMagnitude (ACE_wind vectorDiff wind)) * 1000) / 1000);
|
||||||
|
Loading…
Reference in New Issue
Block a user