Dayz Explorer  1.24.157551 (v105080)
Dayz Code Explorer by Zeroy
enscript.c
Go to the documentation of this file.
1 
9 class Class
11 {
23  proto native external bool IsInherited(typename type);
24 
37  proto native owned external string ClassName();
38 
39  string GetDebugName() { return ClassName(); }
40 
52  proto native external typename Type();
53 
64  proto external static typename StaticType();
65 
73  static typename StaticGetType(typename t)
74  {
75  return t;
76  }
77 
78  proto external string ToString();
79 
94  proto static Class Cast(Class from);
95 
110  proto static bool CastTo(out Class to, Class from);
111 
113  private proto static bool SafeCastType(Class type, out Class to, Class from);
114 };
115 
117 class Managed
118 {
119 };
120 
123 {
124 };
125 
127 typedef int[] TypeID;
128 
131 {
132  private void ~ScriptModule();
133 
139  proto volatile int Call(Class inst, string function, void parm);
140 
146  proto volatile int CallFunction(Class inst, string function, out void returnVal, void parm);
147  proto volatile int CallFunctionParams(Class inst, string function, out void returnVal, Class parms);
148  proto native void Release();
149 
160  static proto native ScriptModule LoadScript(ScriptModule parentModule, string scriptFile, bool listing);
161 };
162 
163 //main script module (contains script.c and this file)
164 //ScriptModule g_Script;
165 
166 class EnScript
167 {
168  private void EnScript() {}
169  private void ~EnScript() {}
170 
188  static proto int GetClassVar(Class inst, string varname,int index, out void result);
189 
211  static proto int SetClassVar(Class inst, string varname, int index, void input);
212 
222  static proto int SetVar(out void var, string value);
223 
230  static proto void Watch(void var, int flags);
231 };
232 
233 
234 
253 proto void Sort(void param_array[], int num);
254 proto void reversearray(void param_array);
255 proto void copyarray(void destArray, void srcArray);
256 
287 proto int ParseStringEx(inout string input, string token);
288 
307 proto int ParseString(string input, out string tokens[]);
308 
318 proto native int KillThread(Class owner, string name);
319 
323 proto volatile void Idle();
324 
336 proto owned string ThreadFunction(Class owner, string name, int backtrace, out int linenumber);
337 
339 string String(string s)
340 {
341  return s;
342 }
343 
345 void PrintString(string s)
346 {
347  Print(s);
348 }
349 
350 class array<Class T>
351 {
356  proto native int Count();
361  proto native void Clear();
365  proto void Set(int n, T value);
370  proto int Find(T value);
375  proto T Get(int n);
383  proto int Insert(T value);
394  proto int InsertAt(T value, int index);
425  void InsertAll(notnull array<T> from)
426  {
427  for ( int i = 0; i < from.Count(); i++ )
428  {
429  Insert( from.Get(i) );
430  }
431  }
438  proto native void Remove(int index);
445  proto native void RemoveOrdered(int index);
451  proto native void Resize(int newSize);
452 
457  proto native void Reserve(int newSize);
458 
463  proto native void Swap(notnull array<T> other);
464 
468  proto native void Sort(bool reverse = false);
474  proto int Copy(notnull array<T> from);
475  proto int Init(T init[]);
476 
477  void RemoveItem(T value)
478  {
479  int remove_index = Find(value);
480 
481  if ( remove_index >= 0 )
482  {
483  RemoveOrdered(remove_index);
484  }
485  }
486 
487  void RemoveItemUnOrdered(T value)
488  {
489  int remove_index = Find(value);
490 
491  if ( remove_index >= 0 )
492  {
493  Remove(remove_index);
494  }
495  }
496 
497  bool IsValidIndex( int index )
498  {
499  return ( index > -1 && index < Count() );
500  }
501 
502  /*
503  T GetChecked( int index )
504  {
505  if( IsValidIndex( index ) )
506  return Get( index );
507  else
508  return null;
509  }
510  */
511 
523  void Debug()
524  {
525  Print(string.Format("Array count: %1", Count()));
526  for (int i = 0; i < Count(); i++)
527  {
528  T item = Get(i);
529  Print(string.Format("[%1] => %2", i, item));
530  }
531  }
532 
542  int GetRandomIndex()
543  {
544  if ( Count() > 0 )
545  {
546  return Math.RandomInt(0, Count());
547  }
548 
549  return -1;
550  }
551 
561  T GetRandomElement()
562  {
563  return Get(GetRandomIndex());
564  }
565 
566  void SwapItems(int item1_index, int item2_index)
567  {
568  T item1 = Get(item1_index);
569  Set(item1_index, Get(item2_index));
570  Set(item2_index, item1);
571  }
572 
573  void InsertArray(array<T> other)
574  {
575  for (int i = 0; i < other.Count(); i++)
576  {
577  T item = other.Get(i);
578  Insert(item);
579  }
580  }
581 
582  void Invert()
583  {
584  int left = 0;
585  int right = Count() - 1;
586  if (right > 0)
587  {
588  while (left < right)
589  {
590  T temp = Get(left);
591  Set(left++, Get(right));
592  Set(right--, temp);
593  }
594  }
595  }
596 
610  int MoveIndex(int curr_index, int move_number)
611  {
612  int count = Count();
613  int new_index = curr_index;
614 
615  if ( move_number > 0 )
616  {
617  new_index = curr_index + move_number;
618  }
619 
620  if ( move_number < 0 )
621  {
622  new_index = curr_index - move_number;
623 
624  if ( new_index < 0 )
625  {
626  if ( new_index <= -count )
627  {
628  new_index = (new_index % count);
629  }
630 
631  new_index = new_index + count;
632  }
633  }
634 
635  if ( new_index >= count )
636  {
637  new_index = (new_index % count);
638  }
639 
640  // move_number is 0
641  return new_index;
642  }
643 
644  void ShuffleArray()
645  {
646  for (int i = 0; i < Count(); i++)
647  {
648  SwapItems(i,GetRandomIndex());
649  }
650  }
651 
664  int DifferentAtPosition(array<T> pOtherArray)
665  {
666  if (Count() != pOtherArray.Count())
667  {
668  ErrorEx("arrays are not the same size");
669  return -1;
670  }
671 
672  for (int i = 0; i < pOtherArray.Count(); ++i)
673  {
674  if (Get(i) != pOtherArray.Get(i))
675  {
676  return i;
677  }
678  }
679 
680  return -1;
681  }
682 };
683 
684 //force these to compile so we can link C++ methods to them
694 
695 class set<Class T>
696 {
697  proto native int Count();
698  proto native void Clear();
703  proto int Find(T value);
704  proto T Get(int n);
712  proto int Insert(T value);
723  proto int InsertAt(T value, int index);
729  proto native void Remove(int index);
730  proto int Copy(set<T> from);
731  proto native void Swap(set<T> other);
732  proto int Init(T init[]);
733 
734  void InsertSet(set<T> other)
735  {
736  int count = other.Count();
737  for (int i = 0; i < count; i++)
738  {
739  T item = other[i];
740  Insert(item);
741  }
742  }
743 
744  void RemoveItem(T value)
745  {
746  int remove_index = Find(value);
747  if (remove_index >= 0)
748  {
749  Remove(remove_index);
750  }
751  }
752 
753  void RemoveItems(set<T> other)
754  {
755  int count = other.Count();
756  for (int i = 0; i < count; i++)
757  {
758  T item = other[i];
759  RemoveItem(item);
760  }
761  }
762 
763  void Debug()
764  {
765  Print(string.Format("Set count: %1", Count()));
766  for (int i = 0; i < Count(); i++)
767  {
768  T item = Get(i);
769  Print(string.Format("[%1] => %2", i, item));
770  }
771  }
772 };
773 
774 //force these to compile so we can link C++ methods to them
775 typedef set<string> TStringSet;
776 typedef set<float> TFloatSet;
777 typedef set<int> TIntSet;
778 typedef set<Class> TClassSet;
779 typedef set<Managed> TManagedSet;
780 typedef set<ref Managed> TManagedRefSet;
781 typedef set<typename> TTypenameSet;
782 
783 typedef int MapIterator;
800 class map<Class TKey,Class TValue>
801 {
806  proto native int Count();
807 
811  proto native void Clear();
820  proto TValue Get(TKey key);
831  proto bool Find(TKey key, out TValue val);
841  proto TValue GetElement(int index);
851  proto TKey GetKey(int i);
856  proto void Set(TKey key, TValue value);
860  proto void Remove(TKey key);
867  proto void RemoveElement(int i);
871  proto bool Contains(TKey key);
880  proto bool Insert(TKey key, TValue value);
881  proto int Copy(map<TKey,TValue> from);
882 
883  array<TKey> GetKeyArray()
884  {
885  array<TKey> keys = new array<TKey>;
886  for (int i = 0; i < Count(); i++)
887  {
888  keys.Insert( GetKey( i ) );
889  }
890  return keys;
891  }
892 
893  array<TValue> GetValueArray()
894  {
895  array<TValue> elements = new array<TValue>;
896  for (int i = 0; i < Count(); i++)
897  {
898  elements.Insert( GetElement( i ) );
899  }
900  return elements;
901  }
902 
903  bool ReplaceKey(TKey old_key, TKey new_key)
904  {
905  if (Contains(old_key))
906  {
907  Set(new_key, Get(old_key));
908  Remove(old_key);
909  return true;
910  }
911  return false;
912  }
913 
914  TKey GetKeyByValue(TValue value)
915  {
916  TKey ret;
917  for (int i = 0; i < Count(); i++)
918  {
919  if (GetElement(i) == value)
920  {
921  ret = GetKey(i);
922  break;
923  }
924  }
925 
926  return ret;
927  }
928 
929  bool GetKeyByValueChecked(TValue value, out TKey key)
930  {
931  for (int i = 0; i < Count(); i++)
932  {
933  if (GetElement(i) == value)
934  {
935  key = GetKey(i);
936  return true;
937  }
938  }
939  return false;
940  }
941 
942  proto native MapIterator Begin();
943  proto native MapIterator End();
944  proto native MapIterator Next(MapIterator it);
945  proto TKey GetIteratorKey(MapIterator it);
946  proto TValue GetIteratorElement(MapIterator it);
947 };
948 
957 
966 
975 
984 
993 
1002 
TClassVectorMap
map< Class, vector > TClassVectorMap
Definition: enscript.c:974
End
void End()
called on surrender end request end
ThreadFunction
proto owned string ThreadFunction(Class owner, string name, int backtrace, out int linenumber)
Debug function. Returns current function on stack of the thread.
TStringStringMap
map< string, string > TStringStringMap
Definition: enscript.c:960
TClassTypenameMap
map< Class, typename > TClassTypenameMap
Definition: enscript.c:973
TStringTypenameMap
map< string, typename > TStringTypenameMap
Definition: enscript.c:964
TClassManagedMap
map< Class, Managed > TClassManagedMap
Definition: enscript.c:971
TVectorArray
array< vector > TVectorArray
Definition: enscript.c:692
TFloatArray
array< float > TFloatArray
Definition: enscript.c:686
TManagedFloatMap
map< Managed, float > TManagedFloatMap
Definition: enscript.c:985
TClassStringMap
map< Class, string > TClassStringMap
Definition: enscript.c:969
Sort
proto void Sort(void param_array[], int num)
Sorts static array of integers(ascendically) / floats(ascendically) / strings(alphabetically)
String
string String(string s)
Helper for passing string expression to functions with void parameter. Example: Print(String("Hello "...
Definition: enscript.c:339
Remove
void Remove(Object object)
Definition: actiontargets.c:95
TStringArray
array< string > TStringArray
Definition: enscript.c:685
TManagedRefSet
set< ref Managed > TManagedRefSet
Definition: enscript.c:780
TManagedRefStringMap
map< ref Managed, string > TManagedRefStringMap
Definition: enscript.c:996
TManagedArray
array< Managed > TManagedArray
Definition: enscript.c:690
Clear
protected void Clear(bool clearFile=false)
Definition: scriptconsoleenfscripttab.c:95
TTypenameSet
set< typename > TTypenameSet
Definition: enscript.c:781
TManagedRefManagedRefMap
map< ref Managed, ref Managed > TManagedRefManagedRefMap
Definition: enscript.c:999
TManagedStringMap
map< Managed, string > TManagedStringMap
Definition: enscript.c:987
Managed
TODO doc.
Definition: enscript.c:117
TManagedRefVectorMap
map< ref Managed, vector > TManagedRefVectorMap
Definition: enscript.c:1001
Print
proto void Print(void var)
Prints content of variable to console/log.
ParseString
proto int ParseString(string input, out string tokens[])
Parses string into array of tokens returns number of tokens.
TStringIntMap
map< string, int > TStringIntMap
Definition: enscript.c:959
GetElement
DisplayElementBase GetElement(eDisplayElements element_id)
Definition: displaystatus.c:95
TIntManagedMap
map< int, Managed > TIntManagedMap
Definition: enscript.c:953
TClassClassMap
map< Class, Class > TClassClassMap
Definition: enscript.c:970
TIntVectorMap
map< int, vector > TIntVectorMap
Definition: enscript.c:956
Param3
Definition: entityai.c:95
TStringManagedMap
map< string, Managed > TStringManagedMap
Definition: enscript.c:962
TManagedRefArray
array< ref Managed > TManagedRefArray
Definition: enscript.c:691
TManagedManagedMap
map< Managed, Managed > TManagedManagedMap
Definition: enscript.c:989
TTypenameArray
array< typename > TTypenameArray
Definition: enscript.c:693
ErrorEx
enum ShapeType ErrorEx
TManagedRefTypenameMap
map< ref Managed, typename > TManagedRefTypenameMap
Definition: enscript.c:1000
TClassSet
set< Class > TClassSet
Definition: enscript.c:778
TIntArray
array< int > TIntArray
Definition: enscript.c:687
ParseStringEx
proto int ParseStringEx(inout string input, string token)
Parses one token from input string. Result is put into token string, and type of token is returned....
TManagedClassMap
map< Managed, Class > TManagedClassMap
Definition: enscript.c:988
EnScript
Definition: enscript.c:166
TManagedVectorMap
map< Managed, vector > TManagedVectorMap
Definition: enscript.c:992
TManagedTypenameMap
map< Managed, typename > TManagedTypenameMap
Definition: enscript.c:991
TIntStringMap
map< int, string > TIntStringMap
Definition: enscript.c:951
MapIterator
int MapIterator
Definition: enscript.c:783
map
map
Definition: controlsxboxnew.c:3
Idle
proto volatile void Idle()
TIntClassMap
map< int, Class > TIntClassMap
Definition: enscript.c:952
Init
class InventoryGridController extends ScriptedWidgetEventHandler Init
Definition: uihintpanel.c:46
copyarray
proto void copyarray(void destArray, void srcArray)
TManagedRefClassMap
map< ref Managed, Class > TManagedRefClassMap
Definition: enscript.c:997
TTypeNameManagedMap
map< typename, Managed > TTypeNameManagedMap
Definition: enscript.c:980
TIntIntMap
map< int, int > TIntIntMap
Definition: enscript.c:950
TStringFloatMap
map< string, float > TStringFloatMap
Definition: enscript.c:958
PrintString
void PrintString(string s)
Helper for printing out string expression. Example: PrintString("Hello " + var);.
Definition: enscript.c:345
TTypeNameIntMap
map< typename, int > TTypeNameIntMap
Definition: enscript.c:977
TStringVectorMap
map< string, vector > TStringVectorMap
Definition: enscript.c:965
TClassManagedRefMap
map< Class, ref Managed > TClassManagedRefMap
Definition: enscript.c:972
TStringManagedRefMap
map< string, ref Managed > TStringManagedRefMap
Definition: enscript.c:963
Get
array< ref PlayerStatBase > Get()
Definition: playerstatspco.c:103
NonSerialized
TODO doc.
Definition: enscript.c:122
TManagedRefManagedMap
map< ref Managed, Managed > TManagedRefManagedMap
Definition: enscript.c:998
TTypeNameStringMap
map< typename, string > TTypeNameStringMap
Definition: enscript.c:978
TClassArray
array< Class > TClassArray
Definition: enscript.c:689
array
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Definition: isboxcollidinggeometryproxyclasses.c:27
TManagedManagedRefMap
map< Managed, ref Managed > TManagedManagedRefMap
Definition: enscript.c:990
TTypeNameTypenameMap
map< typename, typename > TTypeNameTypenameMap
Definition: enscript.c:982
TIntManagedRefMap
map< int, ref Managed > TIntManagedRefMap
Definition: enscript.c:954
name
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
init
enum MagnumStableStateID init
TClassFloatMap
map< Class, float > TClassFloatMap
Definition: enscript.c:967
TTypeNameManagedRefMap
map< typename, ref Managed > TTypeNameManagedRefMap
Definition: enscript.c:981
TClassIntMap
map< Class, int > TClassIntMap
Definition: enscript.c:968
TIntSet
set< int > TIntSet
Definition: enscript.c:777
ScriptModule
Module containing compiled scripts.
Definition: enscript.c:130
TIntFloatMap
map< int, float > TIntFloatMap
Definition: enscript.c:949
TManagedRefIntMap
map< ref Managed, int > TManagedRefIntMap
Definition: enscript.c:995
TManagedIntMap
map< Managed, int > TManagedIntMap
Definition: enscript.c:986
KillThread
proto native int KillThread(Class owner, string name)
Kills thread.
Debug
void Debug()
Definition: universaltemperaturesource.c:297
TTypeNameVectorMap
map< typename, vector > TTypeNameVectorMap
Definition: enscript.c:983
TManagedSet
set< Managed > TManagedSet
Definition: enscript.c:779
TypeID
int[] TypeID
script representation for C++ RTTI types
Definition: enscript.c:127
TManagedRefFloatMap
map< ref Managed, float > TManagedRefFloatMap
Definition: enscript.c:994
Math
Definition: enmath.c:6
TStringClassMap
map< string, Class > TStringClassMap
Definition: enscript.c:961
Class
Super root of all classes in Enforce script.
Definition: enscript.c:10
TFloatSet
set< float > TFloatSet
Definition: enscript.c:776
TStringSet
set< string > TStringSet
Definition: enscript.c:775
TTypeNameFloatMap
map< typename, float > TTypeNameFloatMap
Definition: enscript.c:976
Count
@ Count
Definition: randomgeneratorsyncmanager.c:7
TTypeNameClassMap
map< typename, Class > TTypeNameClassMap
Definition: enscript.c:979
TIntTypenameMap
map< int, typename > TIntTypenameMap
Definition: enscript.c:955
TBoolArray
array< bool > TBoolArray
Definition: enscript.c:688
reversearray
proto void reversearray(void param_array)