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 ADDON {
|
||||
clientInit = QUOTE(call COMPILE_FILE(XEH_preClientInit));
|
||||
init = QUOTE(call COMPILE_FILE(XEH_preInit));
|
||||
};
|
||||
};
|
||||
|
@ -1,6 +1,8 @@
|
||||
#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(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_RAIN_PARAMS" addPublicVariableEventHandler { GVAR(rain_period_start_time) = time; };
|
||||
"ACE_MISC_PARAMS" addPublicVariableEventHandler {
|
||||
if !(isServer) then {
|
||||
30 setLightnings (ACE_MISC_PARAMS select 0);
|
||||
30 setRainbow (ACE_MISC_PARAMS select 1);
|
||||
30 setFog (ACE_MISC_PARAMS select 2);
|
||||
if (!isServer) then {
|
||||
if (GVAR(syncMisc)) then {
|
||||
30 setLightnings (ACE_MISC_PARAMS select 0);
|
||||
30 setRainbow (ACE_MISC_PARAMS select 1);
|
||||
30 setFog (ACE_MISC_PARAMS select 2);
|
||||
};
|
||||
GVAR(temperatureShift) = (ACE_MISC_PARAMS select 3);
|
||||
GVAR(badWeatherShift) = (ACE_MISC_PARAMS select 4);
|
||||
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"
|
||||
|
||||
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
|
||||
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);
|
||||
_rainOverCast = ((overcast-0.7)/0.3);
|
||||
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
|
||||
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_period_count) = 0;
|
||||
@ -89,9 +89,11 @@ if(GVAR(wind_period_count) > GVAR(wind_next_period)) then {
|
||||
publicVariable "ACE_WIND_PARAMS";
|
||||
};
|
||||
|
||||
// Sync misc. parameters
|
||||
ACE_MISC_PARAMS = [lightnings, rainbow, fogParams, GVAR(temperatureShift), GVAR(badWeatherShift), GVAR(humidityShift)];
|
||||
publicVariable "ACE_MISC_PARAMS";
|
||||
|
||||
if (GVAR(syncMisc)) then {
|
||||
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(wind_period_count) = GVAR(wind_period_count) + 1;
|
||||
|
@ -11,9 +11,9 @@
|
||||
*/
|
||||
#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 {
|
||||
_oldStrength = ACE_RAIN_PARAMS select 0;
|
||||
|
@ -11,6 +11,8 @@
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
if (!GVAR(syncWind)) exitWith { ACE_wind = wind };
|
||||
|
||||
ACE_wind = [] call FUNC(getWind);
|
||||
setWind [ACE_wind select 0, ACE_wind select 1, true];
|
||||
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
|
||||
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