DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
EnConvert.c
См. документацию.
1class bool
2{
3 string ToString()
4 {
5 if (value) return "true";
6 else return "false";
7 }
8};
9
10class func
11{
13 private proto void SetInstance(Class inst);
14};
15
17{
18 NO = 0,
19 YES = 1
20}
21
22class int
23{
24 protected const int ZERO_PAD_SIZE = 8;
25 protected static string m_ZeroPad[ZERO_PAD_SIZE] = {"", "0", "00", "000", "0000", "00000", "000000", "0000000"};
26
27 const int MAX = 2147483647;
28 const int MIN = -2147483648;
29
30 proto string ToString();
31
44 proto string AsciiToString();
45
59 string ToStringLen(int len)
60 {
61 string str = value.ToString();
62
63 int l = len - str.Length();
64
65 if (l > 0 && l < ZERO_PAD_SIZE )
66 return m_ZeroPad[l] + str;
67
68 return str;
69 }
70
84 bool InRange( int min, int max, bool inclusive_min = true, bool inclusive_max = true )
85 {
86 if( ( !inclusive_min && value <= min ) || value < min )
87 return false;
88
89 if( ( !inclusive_max && value >= max ) || value > max )
90 return false;
91
92 return true;
93 }
94};
95
96class float
97{
98 const float MIN = FLT_MIN;
99 const float MAX = FLT_MAX;
100 const float LOWEST = -FLT_MAX;
101
102 proto string ToString(bool simple = true);
103};
104
106{
107 static const vector Up = "0 1 0";
108 static const vector Aside = "1 0 0";
109 static const vector Forward = "0 0 1";
110 static const vector Zero = "0 0 0";
111
125 proto string ToString(bool beautify = true);
126
140 proto float Normalize();
141
144
156 proto native float Length();
157
169 proto native float LengthSq();
170
183 proto static native float Distance(vector v1, vector v2);
184
197 proto static native float DistanceSq(vector v1, vector v2);
198
210 {
211 return value * vector.Up;
212 }
213
221 {
222 vector dir_vec;
223
224 dir_vec[0] = p2[0] - p1[0];
225 dir_vec[1] = p2[1] - p1[1];
226 dir_vec[2] = p2[2] - p1[2];
227
228 return dir_vec;
229 }
230
247
261 {
263 }
264
271 static float Dot(vector v1, vector v2)
272 {
273 return ((v1[0] * v2[0]) + (v1[1] * v2[1]) + (v1[2] * v2[2]));
274 }
275
287 {
288 for(int i = 0; i < 3; i++) {
289 if(value[i] > 180)
290 value[i] = value[i] - 360;
291 if(value[i] < -180)
292 value[i] = value[i] + 360;
293 }
294 return value;
295 }
296
311 proto float VectorToYaw();
312
325 proto native static vector YawToVector(float yaw);
326
341
356
370 proto void RotationMatrixFromAngles(out vector mat[3]);
371
385 proto vector Multiply4(vector mat[4]);
386
400 proto vector Multiply3(vector mat[3]);
401
416
431
440 proto static native vector Lerp(vector v1, vector v2, float t);
441
449
450 static vector RotateAroundZeroDeg(vector vec, vector axis, float angle)
451 {
452 return (vec * Math.Cos(angle * Math.DEG2RAD)) + ((axis * vec) * Math.Sin(angle * Math.DEG2RAD)) + (axis * vector.Dot(axis, vec)) * (1 - Math.Cos(angle * Math.DEG2RAD));
453 }
454
462
463 static vector RotateAroundZeroRad(vector vec, vector axis, float angle)
464 {
465 return (vec * Math.Cos(angle)) + ((axis * vec) * Math.Sin(angle)) + (axis * vector.Dot(axis, vec)) * (1 - Math.Cos(angle));
466 }
467
476
477 static vector RotateAroundZero(vector pos, vector axis, float cosAngle, float sinAngle)
478 {
479 return (pos * cosAngle) + ((axis * pos) * sinAngle) + (axis * vector.Dot(axis, pos)) * (1 - cosAngle);
480 }
481
491 static vector RotateAroundPoint(vector point, vector pos, vector axis, float cosAngle, float sinAngle)
492 {
493 vector offsetPos = pos - point;
494 return RotateAroundZero(offsetPos, axis, cosAngle, sinAngle) + point;
495 }
496
502 static vector ArrayToVec(float arr[])
503 {
504 return Vector(arr[0], arr[1], arr[2]);
505 }
506};
507
509{
517 proto volatile Class Spawn();
518
523 proto owned string GetModule();
524
526 proto native owned string ToString();
527
536 proto native bool IsInherited(typename baseType);
537
538 proto native int GetVariableCount();
539 proto native owned string GetVariableName(int vIdx);
540 proto native typename GetVariableType(int vIdx);
541 proto bool GetVariableValue(Class var, int vIdx, out void val);
542
550 static string EnumToString(typename e, int enumValue)
551 {
552 int cnt = e.GetVariableCount();
553 int val;
554
555 for (int i = 0; i < cnt; i++)
556 {
557 if (e.GetVariableType(i) == int && e.GetVariableValue(null, i, val) && val == enumValue)
558 {
559 return e.GetVariableName(i);
560 }
561 }
562
563 return "unknown";
564 }
565
572 static int StringToEnum(typename e, string enumName)
573 {
574 int count = e.GetVariableCount();
575 int value;
576
577 for (int i = 0; i < count; i++)
578 {
579 if (e.GetVariableType(i) == int && e.GetVariableValue(null, i, value) && e.GetVariableName(i) == enumName)
580 {
581 return value;
582 }
583 }
584
585 return -1;
586 }
587};
588
590{
591 private void EnumTools();
592 private void ~EnumTools();
593
601 static string EnumToString(typename e, int enumValue)
602 {
603 return typename.EnumToString(e, enumValue);
604 }
605
612 static int StringToEnum(typename e, string enumName)
613 {
614 return typename.StringToEnum(e, enumName);
615 }
616
623 static int GetEnumSize(typename e)
624 {
625 return e.GetVariableCount();
626 }
627
634 static int GetEnumValue(typename e, int idx)
635 {
636 int value;
637 e.GetVariableValue(null, idx, value);
638 return value;
639 }
640
647 static int GetLastEnumValue(typename e)
648 {
649 int lastValue;
650 e.GetVariableValue(null, e.GetVariableCount() - 1, lastValue);
651 return lastValue;
652 }
653}
Param3 int
enum EBool ZERO_PAD_SIZE
const int MIN
Определения EnConvert.c:28
bool InRange(int min, int max, bool inclusive_min=true, bool inclusive_max=true)
Check whether integer falls into an inclusive range.
Определения EnConvert.c:84
string ToStringLen(int len)
Integer to string with fixed length, padded with zeroes.
Определения EnConvert.c:59
static string m_ZeroPad[ZERO_PAD_SIZE]
Определения EnConvert.c:25
EBool
Определения EnConvert.c:17
@ NO
Определения EnConvert.c:18
@ YES
Определения EnConvert.c:19
proto string AsciiToString()
Converts ASCII code to string.
const int MAX
Определения EnConvert.c:27
proto string ToString()
Super root of all classes in Enforce script.
Определения EnScript.c:11
void ~EnumTools()
static int GetEnumSize(typename e)
Return amount of values in enum.
Определения EnConvert.c:623
static int GetEnumValue(typename e, int idx)
Return the nth value in the enum.
Определения EnConvert.c:634
static int GetLastEnumValue(typename e)
Return amount of values in enum.
Определения EnConvert.c:647
static string EnumToString(typename e, int enumValue)
Return string name of enum value.
Определения EnConvert.c:601
static int StringToEnum(typename e, string enumName)
Return enum value from string name.
Определения EnConvert.c:612
void EnumTools()
Определения EnMath.c:7
string ToString()
Определения EnConvert.c:3
Определения EnConvert.c:2
const float MIN
Определения EnConvert.c:98
proto string ToString(bool simple=true)
const float MAX
Определения EnConvert.c:99
const float LOWEST
Определения EnConvert.c:100
Определения EnConvert.c:97
proto void SetInstance(Class inst)
For internal usage of VM.
Определения EnConvert.c:11
proto volatile Class Spawn()
Dynamic variant to 'new' keyword. It creates new instance of class.
proto owned string GetModule()
Get the name of the module the typename belongs to.
proto native GetVariableType(int vIdx)
proto native owned string GetVariableName(int vIdx)
proto native bool IsInherited(typename baseType)
Returns true when type is the same as 'baseType', or inherited one.
proto bool GetVariableValue(Class var, int vIdx, out void val)
proto native int GetVariableCount()
proto native owned string ToString()
Returns type name of variable as string.
static int StringToEnum(typename e, string enumName)
Return enum value from string name.
Определения EnConvert.c:572
static string EnumToString(typename e, int enumValue)
Return string name of enum value.
Определения EnConvert.c:550
Определения EnConvert.c:509
proto vector InvMultiply4(vector mat[4])
Invert-transforms position.
proto vector Multiply3(vector mat[3])
Transforms vector.
static vector RandomDir()
Returns randomly generated unit vector.
Определения EnConvert.c:243
vector GetRelAngles()
Returns relative angles between -180 and 180, not 0 to 360.
Определения EnConvert.c:286
proto vector Normalized()
return normalized vector (keeps orginal vector untouched)
static proto native float DistanceSq(vector v1, vector v2)
Returns the square distance between tips of two 3D vectors.
proto native float Length()
Returns length of vector (magnitude)
static const vector Aside
Определения EnConvert.c:108
proto vector Multiply4(vector mat[4])
Transforms position.
static vector RotateAroundZeroDeg(vector vec, vector axis, float angle)
Rotate a vector around 0,0,0 by an angle in degrees.
Определения EnConvert.c:450
proto native float LengthSq()
Returns squared length (magnitudeSqr)
static vector ArrayToVec(float arr[])
Convert static array of floats into a vector.
Определения EnConvert.c:502
static vector RotateAroundZeroRad(vector vec, vector axis, float angle)
Rotate a vector around 0,0,0 by an angle in radians.
Определения EnConvert.c:463
static float Dot(vector v1, vector v2)
Returns Dot product of vector v1 and vector v2.
Определения EnConvert.c:271
static const vector Forward
Определения EnConvert.c:109
static const vector Zero
Определения EnConvert.c:110
static vector RandomDir2D()
Returns randomly generated XZ unit vector with the Y(up) axis set to 0.
Определения EnConvert.c:260
proto float Normalize()
Normalizes vector. Returns length.
static vector Direction(vector p1, vector p2)
Returns direction vector from point p1 to point p2.
Определения EnConvert.c:220
static vector RotateAroundZero(vector pos, vector axis, float cosAngle, float sinAngle)
Rotate a vector around 0,0,0.
Определения EnConvert.c:477
proto void RotationMatrixFromAngles(out vector mat[3])
Creates rotation matrix from angles.
static vector RotateAroundPoint(vector point, vector pos, vector axis, float cosAngle, float sinAngle)
Rotate a vector around point.
Определения EnConvert.c:491
proto vector InvMultiply3(vector mat[3])
Invert-transforms vector.
static proto native float Distance(vector v1, vector v2)
Returns the distance between tips of two 3D vectors.
proto string ToString(bool beautify=true)
Vector to string.
proto static native vector YawToVector(float yaw)
Returns vector of yaw.
static const vector Up
Определения EnConvert.c:107
proto float VectorToYaw()
Returns yaw of vector.
proto vector VectorToAngles()
Converts vector to spherical coordinates with radius = 1.
static proto native vector Lerp(vector v1, vector v2, float t)
Lerp between two vectors.
proto vector AnglesToVector()
Converts spherical coordinates (yaw, pitch, roll in degrees) to unit length vector.
vector Perpend()
Returns perpendicular vector. Perpendicular vector is computed as cross product between input vector ...
Определения EnConvert.c:209
Определения EnConvert.c:106
proto native vector Vector(float x, float y, float z)
Vector constructor from components.
static float RandomFloatInclusive(float min, float max)
Returns a random float number between and min [inclusive] and max [inclusive].
Определения EnMath.c:106
static proto float Cos(float angle)
Returns cosinus of angle in radians.
static proto float Sin(float angle)
Returns sinus of angle in radians.
static const float DEG2RAD
Определения EnMath.c:17
proto native int Length()
Returns length of string.
static proto string ToString(void var, bool type=false, bool name=false, bool quotes=true)
Return string representation of variable.