Diff
checker
Text
Text
Images
Documents
Excel
Folders
Legal
Enterprise
Desktop
Pricing
Sign in
Download Diffchecker Desktop
Compare text
Find the difference between two text files
Tools
History
Real-time editor
Hide unchanged lines
Disable line wrap
Layout
Split
Unified
Diff precision
Smart
Word
Char
Syntax highlighting
Choose syntax
Ignore
Transform text
Go to first change
Edit input
Diffchecker Desktop
The most secure way to run Diffchecker. Get the Diffchecker Desktop app: your diffs never leave your computer!
Get Desktop
Untitled diff
Created
10 years ago
Diff never expires
Clear
Export
Share
Explain
24 removals
Lines
Total
Removed
Characters
Total
Removed
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
79 lines
Copy
19 additions
Lines
Total
Added
Characters
Total
Added
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
83 lines
Copy
// _null = [this, 0, 1] execVM "moveWithWind.sqf"; // Rotate with Wind
// _null = [this, 0, 1] execVM "moveWithWind.sqf"; // Rotate with Wind
// _null = [this, 1, 1] execVM "moveWithWind.sqf"; // Continuous rotation
// _null = [this, 1, 1] execVM "moveWithWind.sqf"; // Continuous rotation
Copy
Copied
Copy
Copied
private ["_obj", "_mod", "_vel", "_dif", "_wdr", "_upd"];
params [
_obj = _this select 0;
// The object being affected
"_obj",
// The object being affected
_mod
= _this select 1;
// The mode of movement (0 = wind, 1 = Rotation, 2 = TBD, etc.)
"
_mod
",
// The mode of movement (0 = wind, 1 = Rotation, 2 = TBD, etc.)
_vel
= _this select 2;
// Movement velocity (1° to 45°)
"
_vel
"
// Movement velocity (1° to 45°)
_upd = 1 / 30; // The object update rate
];
// If this isn't the server then get out
// If this isn't the server then get out
if (!isServer) exitWith {};
if (!isServer) exitWith {};
Copy
Copied
Copy
Copied
private _upd = 1 / 30; // The object update rate
//----------------------------------------------------------------------
//----------------------------------------------------------------------
// Constrain velocity
// Constrain velocity
if (_mod == 0) then {
if (_mod == 0) then {
_vel = abs _vel;
_vel = abs _vel;
Copy
Copied
Copy
Copied
if (_vel < 1) then {
if (_vel < 1) then {
_vel = 1;
_vel = 1;
};
};
Copy
Copied
Copy
Copied
if (_vel > 45) then {
if (_vel > 45) then {
_vel = 45;
_vel = 45;
};
};
};
};
//----------------------------------------------------------------------
//----------------------------------------------------------------------
if (_mod == 1) then {
if (_mod == 1) then {
Copy
Copied
Copy
Copied
if (_vel < -360) then {
if (_vel < -360) then {
_vel = -360;
_vel = -360;
};
};
Copy
Copied
Copy
Copied
if (_vel > 360) then {
if (_vel > 360) then {
_vel = 360;
_vel = 360;
};
};
};
};
//----------------------------------------------------------------------
//----------------------------------------------------------------------
// Do forever...
// Do forever...
Copy
Copied
Copy
Copied
while {
0 != 1
} do
while {
true
} do
{
{
//----------------------------------------------------------------------
//----------------------------------------------------------------------
// Set direction based on wind
// Set direction based on wind
if (_mod == 0) then {
if (_mod == 0) then {
// Get current wind direction
// Get current wind direction
Copy
Copied
Copy
Copied
_wdr = windDir;
private
_wdr = windDir;
// Randomise wind direction
// Randomise wind direction
_wdr = _wdr + ((random (_vel * 2))- _vel);
_wdr = _wdr + ((random (_vel * 2))- _vel);
// Get difference in direction
// Get difference in direction
Copy
Copied
Copy
Copied
_dif = (_wdr - (getDir _obj));
private
_dif = (_wdr - (getDir _obj));
// If difference is greather than 180°
// If difference is greather than 180°
if (abs _dif > 180) then {
if (abs _dif > 180) then {
// Rotate counter-clockwise
// Rotate counter-clockwise
_dif = _vel * -1;
_dif = _vel * -1;
Copy
Copied
Copy
Copied
}
}
else
{
else
{
// Rotate clockwise
// Rotate clockwise
_dif = _vel;
_dif = _vel;
};
};
Copy
Copied
Copy
Copied
// Alternatively: _dif = [_vel, _vel * -1] select (abs _dif > 180);
// Calculate rate of change
// Calculate rate of change
_dif = _dif * _upd;
_dif = _dif * _upd;
// Increment current direction
// Increment current direction
_dif = (getDir _obj) + _dif;
_dif = (getDir _obj) + _dif;
// Set to new direction
// Set to new direction
_obj setDir _dif;
_obj setDir _dif;
};
};
//----------------------------------------------------------------------
//----------------------------------------------------------------------
// Rotate object clockwise/counter-clockwise
// Rotate object clockwise/counter-clockwise
if (_mod == 1) then {
if (_mod == 1) then {
// Update rotation
// Update rotation
Copy
Copied
Copy
Copied
_dif = (getDir _obj) + (_vel * _upd);
private
_dif = (getDir _obj) + (_vel * _upd);
// Deal with out of range rotations
// Deal with out of range rotations
Copy
Copied
Copy
Copied
if (_dif < 0) then {
if (_dif < 0) then {
_dif = _dif + 360;
_dif = _dif + 360;
};
};
Copy
Copied
Copy
Copied
if (_dif > 360) then {
if (_dif > 360) then {
_dif = _dif - 360;
_dif = _dif - 360;
};
};
// Set to new rotatoin
// Set to new rotatoin
_obj setDir _dif;
_obj setDir _dif;
};
};
//----------------------------------------------------------------------
//----------------------------------------------------------------------
// Wait for next update time
// Wait for next update time
sleep _upd;
sleep _upd;
};
};
Copy
Copied
Copy
Copied
Saved diffs
Original text
Open file
// _null = [this, 0, 1] execVM "moveWithWind.sqf"; // Rotate with Wind // _null = [this, 1, 1] execVM "moveWithWind.sqf"; // Continuous rotation private ["_obj", "_mod", "_vel", "_dif", "_wdr", "_upd"]; _obj = _this select 0; // The object being affected _mod = _this select 1; // The mode of movement (0 = wind, 1 = Rotation, 2 = TBD, etc.) _vel = _this select 2; // Movement velocity (1° to 45°) _upd = 1 / 30; // The object update rate // If this isn't the server then get out if (!isServer) exitWith {}; //---------------------------------------------------------------------- // Constrain velocity if (_mod == 0) then { _vel = abs _vel; if (_vel < 1) then { _vel = 1; }; if (_vel > 45) then { _vel = 45; }; }; //---------------------------------------------------------------------- if (_mod == 1) then { if (_vel < -360) then { _vel = -360; }; if (_vel > 360) then { _vel = 360; }; }; //---------------------------------------------------------------------- // Do forever... while {0 != 1} do { //---------------------------------------------------------------------- // Set direction based on wind if (_mod == 0) then { // Get current wind direction _wdr = windDir; // Randomise wind direction _wdr = _wdr + ((random (_vel * 2))- _vel); // Get difference in direction _dif = (_wdr - (getDir _obj)); // If difference is greather than 180° if (abs _dif > 180) then { // Rotate counter-clockwise _dif = _vel * -1; } else { // Rotate clockwise _dif = _vel; }; // Calculate rate of change _dif = _dif * _upd; // Increment current direction _dif = (getDir _obj) + _dif; // Set to new direction _obj setDir _dif; }; //---------------------------------------------------------------------- // Rotate object clockwise/counter-clockwise if (_mod == 1) then { // Update rotation _dif = (getDir _obj) + (_vel * _upd); // Deal with out of range rotations if (_dif < 0) then { _dif = _dif + 360; }; if (_dif > 360) then { _dif = _dif - 360; }; // Set to new rotatoin _obj setDir _dif; }; //---------------------------------------------------------------------- // Wait for next update time sleep _upd; };
Changed text
Open file
// _null = [this, 0, 1] execVM "moveWithWind.sqf"; // Rotate with Wind // _null = [this, 1, 1] execVM "moveWithWind.sqf"; // Continuous rotation params [ "_obj", // The object being affected "_mod", // The mode of movement (0 = wind, 1 = Rotation, 2 = TBD, etc.) "_vel" // Movement velocity (1° to 45°) ]; // If this isn't the server then get out if (!isServer) exitWith {}; private _upd = 1 / 30; // The object update rate //---------------------------------------------------------------------- // Constrain velocity if (_mod == 0) then { _vel = abs _vel; if (_vel < 1) then { _vel = 1; }; if (_vel > 45) then { _vel = 45; }; }; //---------------------------------------------------------------------- if (_mod == 1) then { if (_vel < -360) then { _vel = -360; }; if (_vel > 360) then { _vel = 360; }; }; //---------------------------------------------------------------------- // Do forever... while {true} do { //---------------------------------------------------------------------- // Set direction based on wind if (_mod == 0) then { // Get current wind direction private _wdr = windDir; // Randomise wind direction _wdr = _wdr + ((random (_vel * 2))- _vel); // Get difference in direction private _dif = (_wdr - (getDir _obj)); // If difference is greather than 180° if (abs _dif > 180) then { // Rotate counter-clockwise _dif = _vel * -1; } else { // Rotate clockwise _dif = _vel; }; // Alternatively: _dif = [_vel, _vel * -1] select (abs _dif > 180); // Calculate rate of change _dif = _dif * _upd; // Increment current direction _dif = (getDir _obj) + _dif; // Set to new direction _obj setDir _dif; }; //---------------------------------------------------------------------- // Rotate object clockwise/counter-clockwise if (_mod == 1) then { // Update rotation private _dif = (getDir _obj) + (_vel * _upd); // Deal with out of range rotations if (_dif < 0) then { _dif = _dif + 360; }; if (_dif > 360) then { _dif = _dif - 360; }; // Set to new rotatoin _obj setDir _dif; }; //---------------------------------------------------------------------- // Wait for next update time sleep _upd; };
Find difference