Release
1. Most of the Globals have been substituted with Hashtable.
2. Added new APIs:
1) CSpriteBase.
2) CSpriteMini.
3) CSpriteUber.
3. Fixed CAbilityBase API functions having wrong offsets/not working properly with spells higher than level 1.
4. Added new functions in CAbilityBase API.
5. Additional optimisation.
Update 1
1. Fixed SetFrameSize function, it was causing a fatal error.
2. Fixed CAbilityBase offsets for HeroDuration and NormalDuration.
3. Fixed CAbilityBase offset for SummonedUnit.
4. Added Hide/ShowCSimpleRegion along with SetCSimpleRegionVisibility.
Update 2
1. CSimpleFrameAPI Additions:
1) HideCSimpleFrame
2) ShowCSimpleFrame
3) SetCSimpleFrameVisibility
4) IsCSimpleFrameVisible
2. CLayerAPI Additions:
1) SetCLayerVisibility
2) IsCLayerVisible
3) SetCLayerPriority
3. Added new Trigger APIMemoryFrameData, now it will contain FrameMap with vtables/layouts.
4. Changed: GetFrameLayoutByType to directly check if Layout exists, aka if layout vtable != 0
5. Added: GetFrameTypeName, will return CBackdropFrame if CBackdropFrame type frame was checked, etc.
6. Changed most of the checks for frame type, to frame typename, so it's easier for the eyes + easier to modify and the order won't matter anymore.
7. Modified: AddFrameType to save data not only by vtable/layout vtable address but also by frame index, so data can be extracted both ways.
Update 3
1. Added GetSmartPositionEx function in CGameData API.
2. Added SetSmartPositionEx/SetSmartPosition function in CGameDataAPI.
3. Added SetSmartPositionEx call in SetObjectX/SetObjectY and SetObjectPosition.
4. Fixed bug with effect position change, causing it to not being drawn if it was moved too far from the creation point.
Note: this is fixed due to the usage of SetSmartPositionEx, so don't touch it, even though it will "hinder" the performance slightly.
Update 4
1. Increased OPLimit to 0xEFFFFFFF, maximum allowed amount of operations.