DayZ 1.29
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
82 proto string ToHex();
83
97 bool InRange( int min, int max, bool inclusive_min = true, bool inclusive_max = true )
98 {
99 if( ( !inclusive_min && value <= min ) || value < min )
100 return false;
101
102 if( ( !inclusive_max && value >= max ) || value > max )
103 return false;
104
105 return true;
106 }
107};
108
109class float
110{
111 const float MIN = FLT_MIN;
112 const float MAX = FLT_MAX;
113 const float LOWEST = -FLT_MAX;
114
115 proto string ToString(bool simple = true);
116};
117
119{
120 static const vector Up = "0 1 0";
121 static const vector Aside = "1 0 0";
122 static const vector Forward = "0 0 1";
123 static const vector Zero = "0 0 0";
124
138 proto string ToString(bool beautify = true);
139
153 proto float Normalize();
154
157
169 proto native float Length();
170
182 proto native float LengthSq();
183
196 proto static native float Distance(vector v1, vector v2);
197
210 proto static native float DistanceSq(vector v1, vector v2);
211
223 {
224 return value * vector.Up;
225 }
226
234 {
235 vector dir_vec;
236
237 dir_vec[0] = p2[0] - p1[0];
238 dir_vec[1] = p2[1] - p1[1];
239 dir_vec[2] = p2[2] - p1[2];
240
241 return dir_vec;
242 }
243
260
274 {
276 }
277
284 static float Dot(vector v1, vector v2)
285 {
286 return ((v1[0] * v2[0]) + (v1[1] * v2[1]) + (v1[2] * v2[2]));
287 }
288
300 {
301 for(int i = 0; i < 3; i++) {
302 if(value[i] > 180)
303 value[i] = value[i] - 360;
304 if(value[i] < -180)
305 value[i] = value[i] + 360;
306 }
307 return value;
308 }
309
324 proto float VectorToYaw();
325
338 proto native static vector YawToVector(float yaw);
339
354
369
383 proto void RotationMatrixFromAngles(out vector mat[3]);
384
398 proto vector Multiply4(vector mat[4]);
399
413 proto vector Multiply3(vector mat[3]);
414
429
444
453 proto static native vector Lerp(vector v1, vector v2, float t);
454
462
463 static vector RotateAroundZeroDeg(vector vec, vector axis, float angle)
464 {
465 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));
466 }
467
475
476 static vector RotateAroundZeroRad(vector vec, vector axis, float angle)
477 {
478 return (vec * Math.Cos(angle)) + ((axis * vec) * Math.Sin(angle)) + (axis * vector.Dot(axis, vec)) * (1 - Math.Cos(angle));
479 }
480
489
490 static vector RotateAroundZero(vector pos, vector axis, float cosAngle, float sinAngle)
491 {
492 return (pos * cosAngle) + ((axis * pos) * sinAngle) + (axis * vector.Dot(axis, pos)) * (1 - cosAngle);
493 }
494
504 static vector RotateAroundPoint(vector point, vector pos, vector axis, float cosAngle, float sinAngle)
505 {
506 vector offsetPos = pos - point;
507 return RotateAroundZero(offsetPos, axis, cosAngle, sinAngle) + point;
508 }
509
515 static vector ArrayToVec(float arr[])
516 {
517 return Vector(arr[0], arr[1], arr[2]);
518 }
519};
520
522{
530 proto volatile Class Spawn();
531
536 proto owned string GetModule();
537
539 proto native owned string ToString();
540
549 proto native bool IsInherited(typename baseType);
550
551 proto native int GetVariableCount();
552 proto native owned string GetVariableName(int vIdx);
553 proto native typename GetVariableType(int vIdx);
554 proto bool GetVariableValue(Class var, int vIdx, out void val);
555
563 static string EnumToString(typename e, int enumValue)
564 {
565 int cnt = e.GetVariableCount();
566 int val;
567
568 for (int i = 0; i < cnt; i++)
569 {
570 if (e.GetVariableType(i) == int && e.GetVariableValue(null, i, val) && val == enumValue)
571 {
572 return e.GetVariableName(i);
573 }
574 }
575
576 return "unknown";
577 }
578
585 static int StringToEnum(typename e, string enumName)
586 {
587 int count = e.GetVariableCount();
588 int value;
589
590 for (int i = 0; i < count; i++)
591 {
592 if (e.GetVariableType(i) == int && e.GetVariableValue(null, i, value) && e.GetVariableName(i) == enumName)
593 {
594 return value;
595 }
596 }
597
598 return -1;
599 }
600};
601
603{
604 private void EnumTools();
605 private void ~EnumTools();
606
614 static string EnumToString(typename e, int enumValue)
615 {
616 return typename.EnumToString(e, enumValue);
617 }
618
625 static int StringToEnum(typename e, string enumName)
626 {
627 return typename.StringToEnum(e, enumName);
628 }
629
636 static int GetEnumSize(typename e)
637 {
638 return e.GetVariableCount();
639 }
640
647 static int GetEnumValue(typename e, int idx)
648 {
649 int value;
650 e.GetVariableValue(null, idx, value);
651 return value;
652 }
653
660 static int GetLastEnumValue(typename e)
661 {
662 int lastValue;
663 e.GetVariableValue(null, e.GetVariableCount() - 1, lastValue);
664 return lastValue;
665 }
666}
Param3 int
enum EBool ZERO_PAD_SIZE
const int MIN
Определения EnConvert.c:28
proto string ToHex()
Integer to hex (as string)
bool InRange(int min, int max, bool inclusive_min=true, bool inclusive_max=true)
Check whether integer falls into an inclusive range.
Определения EnConvert.c:97
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:636
static int GetEnumValue(typename e, int idx)
Return the nth value in the enum.
Определения EnConvert.c:647
static int GetLastEnumValue(typename e)
Return amount of values in enum.
Определения EnConvert.c:660
static string EnumToString(typename e, int enumValue)
Return string name of enum value.
Определения EnConvert.c:614
static int StringToEnum(typename e, string enumName)
Return enum value from string name.
Определения EnConvert.c:625
void EnumTools()
Определения EnMath.c:7
string ToString()
Определения EnConvert.c:3
Определения EnConvert.c:2
const float MIN
Определения EnConvert.c:111
proto string ToString(bool simple=true)
const float MAX
Определения EnConvert.c:112
const float LOWEST
Определения EnConvert.c:113
Определения EnConvert.c:110
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:585
static string EnumToString(typename e, int enumValue)
Return string name of enum value.
Определения EnConvert.c:563
Определения EnConvert.c:522
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:256
vector GetRelAngles()
Returns relative angles between -180 and 180, not 0 to 360.
Определения EnConvert.c:299
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:121
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:463
proto native float LengthSq()
Returns squared length (magnitudeSqr)
static vector ArrayToVec(float arr[])
Convert static array of floats into a vector.
Определения EnConvert.c:515
static vector RotateAroundZeroRad(vector vec, vector axis, float angle)
Rotate a vector around 0,0,0 by an angle in radians.
Определения EnConvert.c:476
static float Dot(vector v1, vector v2)
Returns Dot product of vector v1 and vector v2.
Определения EnConvert.c:284
static const vector Forward
Определения EnConvert.c:122
static const vector Zero
Определения EnConvert.c:123
static vector RandomDir2D()
Returns randomly generated XZ unit vector with the Y(up) axis set to 0.
Определения EnConvert.c:273
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:233
static vector RotateAroundZero(vector pos, vector axis, float cosAngle, float sinAngle)
Rotate a vector around 0,0,0.
Определения EnConvert.c:490
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:504
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:120
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:222
Определения EnConvert.c:119
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.