Hello,
I have generated a list of classes, methods, and functions that would be nice to have re-exposed or added back. I have made care to not request something that already exists but was moved (e.g. `Math.SignFloat` is now `float.Sign`).
Each class is separated into bold headers. Each bullet point starts off with the name of the function to be implemented within that class. If necessary further information will be provided in the same line such as the original source of the function name and its class.
**typename**
- `SetVariableValue`: Class method `EnScript.SetClassVar`. No such method existed in `typename` but did in the class `EnScript` which has been removed.
**EnumTools**: Just a helper class, functionality already exists through `typename`
- `EnumToString`
- `StringToEnum`
- `GetEnumSize`
- `GetLastEnumValue`
**array<Class T>**
- `Reserve`
- `InsertArray`
- `Invert`
- `MoveIndex`
- `ShuffleArray`
**map<Class TKey,Class TValue>**
- `GetKeyArray`
- `GetValueArray`
- `GetKeyByValueChecked`
**string**
- `HexToInt`
- `SubstringInverted`
- `Set`
- `Parse`: Creates a `ParseHandle` for the string. Was class method `string.ParseString[Ex]`.
**ParseHandle**: Merges `BeginParse`/`ParseLine`/`EndParse` and `string.ParseString[Ex]` from DayZ
- `ParseToken`: Return a `bool` if it is the end of the string or file. Has out parameters for `token` and `type`
**vector**
- `RandomDir`
- `RandomDirXZ`: Class method `vector.RandomDir2D`
- `RotateAroundZeroDeg`
- `RotateAroundZeroRad`
- `RotateAroundZero`
- `RotateAroundPoint`
- `ArrayToVec`
**System**
- `GetTickCount`: Global function `TickCount`. Unlike Reforger it returns the number of CPU ticks which is more beneficial. `GetTickCount` should instead be renamed to `GetMSCount`
**Physics**
- `ApplyTorqueImpulse`: Global function `dBodyApplyTorqueImpulse`, was exposed directly from Bullet API
- `GetInvInertiaDiagLocal`: Global function `dBodyGetInvInertiaDiagLocal`, was exposed directly from Bullet API
- `ComputeImpulseDenominator`: Global function `dBodyComputeImpulseDenominator`, was exposed directly from Bullet API
- `ComputeAngularImpulseDenominator`: Global function `dBodyComputeAngularImpulseDenominator`, was exposed directly from Bullet API
- `GetLocalInertia`: Global function `dBodyGetLocalInertia`, was exposed directly from Bullet API
- `GetInvInertiaTensorWorld`: Global function `dBodyGetInvInertiaTensorWorld`, was exposed directly from Bullet API
**PhysicsWorld**
- `RayCast`: Class method `DayZPhyics.RayCastBullet`. Not properly working in DayZ but still has its uses (https://feedback.bistudio.com/T150488)
- `SphereCast`: Class method `DayZPhyics.SphereCastBullet`. Not properly working in DayZ but still has its uses (https://feedback.bistudio.com/T150488)
**Math**
- `GetNumberOfSetBits`
- `GetNthBitSet`
- `NormalizeAngle`
- `DiffAngle`
- `ModFloat`
- `RemainderFloat`
- `SqrFloat`
- `SqrInt`
- `Atan`
- `WrapFloat`
- `WrapFloatInclusive`
- `WrapFloat0X`
- `WrapFloat0XInclusive`
- `WrapInt`
- `WrapInt0X`
- `IsInRange`
- `IsInRangeInt`
- `AreaOfRightTriangle`
- `HypotenuseOfRightTriangle`
**Math2D**
- `IsPointInCircle`: Class method `Math.IsPointInCircle`
- `IsPointInRectangle`: Class method `Math.IsPointInRectangle`
**Math3D**
- `ClipLine`
- `IntersectCylinderOBB`
- `IntersectRayCylinder`
- `IntersectSphereBox`
- `NearestPoint`
- `AngleFromPosition`
**Debug**
- `DumpStackString`: Global function `DumpStackString`
**Shape**
- `SetDirection`
- `SetPosition`
- `CreateFrustum`
- `CreateArrow`
- `CreateMatrix`
**BaseWorld**
- `GetWaterDepth`: Class method `CGame.GetWaterDepth`, was originally `CGame.IsPointUnderWater`
**BaseAnimPhysComponent**
- `LinkToLocalSpaceOf`: Class method `Human.LinkToLocalSpaceOf`.
- `UnlinkFromLocalSpace`: Class method `Human.UnlinkFromLocalSpace`.
**Tuple7**: Class `Param7`
**Tuple8**: Class `Param8`