Skip to content

Releases: UnryzeC/UjAPI

UjAPI v1.1.37.365

14 Mar 07:27
8852551

Choose a tag to compare

  1. Big internal change related to CFrame::SetSize/Width/Height, now they are properly have Layout mentioned and code has been reworked.
  2. CSpriteFrame::SetLayoutScale and CSpriteFrame::SetSpriteScale have been properly separated and adjusted, now it works properly.
  3. SetFrameScale now uses CLayoutFrame::SetScale.
    Note: CSpriteFrame uses CSpriteFrame::SetLayoutScale, which also scales sprite.
  4. SetFrameSpriteScale uses CSpriteFrame::SetSpriteScale.
  5. All internal CFrame function were rewritten to adhere to the Layout processing change.
  6. CSimpleStatusBar now supports Get/SetFrameColour.
  7. CProgressIndicator now supports Get/SetFrameColour.
  8. CBuildTimeIndicator now supports Get/SetFrameColour.
  9. CStatBar now supports Get/SetFrameColour.
  10. CHeroLevelBar now supports Get/SetFrameColour.
  11. Fixed SetFrameBackdropTexture/SetFrameTextureEx not properly working with CSimpleFrame regarding borders.
    Note: now it should behave 1 to 1 to CBackdropFrame.
  12. native SetFrameBackdropTexture parameter change, boolean allowTransparency -> boolean tileBackground.
  13. Fixed fatal error related to unit deletion with abilities that had custom field edits.
    Note: this was caused due to me not returning original db, as game caches abilities instead of fully re-creating them.
  14. All natives related to backdrop now properly work with CSimpleFrame completely mimicking how it works for CBackdropFrame.

UjAPI v1.1.37.362

07 Mar 11:14
56d75e9

Choose a tag to compare

  1. Fixed SetFrameFocus not removing keyboard capture when CControl type frames are clicked.
  2. Internal changes done to streamline CControl::Add/RemoveStyle/Control.
  3. Fixed TextTags missing shadows.
  4. Fixed UpdateUnitInfoBar not working.
  5. Fixed ShowUnitAbility/Ex causing crash if too many calls were done in a short span of time.
  6. Improved internal Game.dll / Storm.dll linkage.
  7. Removed GetTerrainCliffLevel native usage in CUnit::CreateIllusion, now it uses WorldGetPathingCellCliffLevel.
  8. Fixed IPSE and WORLD axis handling, now they are 1 to 1 as in the game.

UjAPI v1.1.37.361

01 Mar 12:06
97eed6d

Choose a tag to compare

  1. Fixed fatal error from Launching a Missile if no target was provided.
    Note: this bug previously was "bandaid-fixed" now it fallbacks to CBullet logic if target wasn't provided.

UjAPI v1.1.37.360

01 Mar 07:25
2d89406

Choose a tag to compare

  1. Rewritten CLI handling, now it should work without issues.
    Note: it was breaking if specific order wasn't followed.
  2. Fixed AInv being ignored by GetUnitAbility.
  3. Added internal categorisation of Projectiles, this allows for a faster lookup and removes the need to use game's IsDescendant usage, which is very-very slow.
  4. Reworked internal structures of projectiles, also streamline Launch logic.
  5. Artillery launch logic fixed, now it uses correct offset instead of relying on CMissile.
  6. Fixed GitHub's 401 error.

UjAPI v1.1.37.355

22 Feb 09:16
3c77798

Choose a tag to compare

  1. New Natives:
    native CameraCreate takes nothing returns camerahandle
    native CameraDestroy takes camerahandle whichCameraHandle returns nothing

    native CameraGetPositionX takes camerahandle whichCameraHandle returns real
    native CameraSetPositionX takes camerahandle whichCameraHandle, real x returns nothing
    native CameraGetPositionY takes camerahandle whichCameraHandle returns real
    native CameraSetPositionY takes camerahandle whichCameraHandle, real y returns nothing
    native CameraGetPositionZ takes camerahandle whichCameraHandle returns real
    native CameraSetPositionZ takes camerahandle whichCameraHandle, real z returns nothing
    native CameraSetPosition takes camerahandle whichCameraHandle, real x, real y, real z returns nothing

    native CameraGetTargetPositionX takes camerahandle whichCameraHandle returns real
    native CameraSetTargetPositionX takes camerahandle whichCameraHandle, real x returns nothing
    native CameraGetTargetPositionY takes camerahandle whichCameraHandle returns real
    native CameraSetTargetPositionY takes camerahandle whichCameraHandle, real y returns nothing
    native CameraGetTargetPositionZ takes camerahandle whichCameraHandle returns real
    native CameraSetTargetPositionZ takes camerahandle whichCameraHandle, real z returns nothing
    native CameraSetTargetPosition takes camerahandle whichCameraHandle, real x, real y, real z returns nothing

    native CameraGetDistance takes camerahandle whichCameraHandle returns real
    native CameraSetDistance takes camerahandle whichCameraHandle, real x returns nothing
    native CameraGetFarZ takes camerahandle whichCameraHandle returns real
    native CameraSetFarZ takes camerahandle whichCameraHandle, real y returns nothing
    native CameraGetNearZ takes camerahandle whichCameraHandle returns real
    native CameraSetNearZ takes camerahandle whichCameraHandle, real z returns nothing

    native CameraGetAngleOfAttackX takes camerahandle whichCameraHandle returns real
    native CameraSetAngleOfAttackX takes camerahandle whichCameraHandle, real x returns nothing
    native CameraGetAngleOfAttackY takes camerahandle whichCameraHandle returns real
    native CameraSetAngleOfAttackY takes camerahandle whichCameraHandle, real y returns nothing
    native CameraGetAngleOfAttackZ takes camerahandle whichCameraHandle returns real
    native CameraSetAngleOfAttackZ takes camerahandle whichCameraHandle, real z returns nothing
    native CameraSetAngleOfAttack takes camerahandle whichCameraHandle, real x, real y, real z returns nothing

    native CameraGetFieldOfViewX takes camerahandle whichCameraHandle returns real
    native CameraSetFieldOfViewX takes camerahandle whichCameraHandle, real x returns nothing
    native CameraGetFieldOfViewY takes camerahandle whichCameraHandle returns real
    native CameraSetFieldOfViewY takes camerahandle whichCameraHandle, real y returns nothing
    native CameraGetFieldOfViewZ takes camerahandle whichCameraHandle returns real
    native CameraSetFieldOfViewZ takes camerahandle whichCameraHandle, real z returns nothing
    native CameraSetFieldOfView takes camerahandle whichCameraHandle, real x, real y, real z returns nothing

    native CameraGetRollX takes camerahandle whichCameraHandle returns real
    native CameraSetRollX takes camerahandle whichCameraHandle, real x returns nothing
    native CameraGetRollY takes camerahandle whichCameraHandle returns real
    native CameraSetRollY takes camerahandle whichCameraHandle, real y returns nothing
    native CameraGetRollZ takes camerahandle whichCameraHandle returns real
    native CameraSetRollZ takes camerahandle whichCameraHandle, real z returns nothing
    native CameraSetRoll takes camerahandle whichCameraHandle, real x, real y, real z returns nothing

    native CameraGetRotationX takes camerahandle whichCameraHandle returns real
    native CameraSetRotationX takes camerahandle whichCameraHandle, real x returns nothing
    native CameraGetRotationY takes camerahandle whichCameraHandle returns real
    native CameraSetRotationY takes camerahandle whichCameraHandle, real y returns nothing
    native CameraGetRotationZ takes camerahandle whichCameraHandle returns real
    native CameraSetRotationZ takes camerahandle whichCameraHandle, real z returns nothing
    native CameraSetRotation takes camerahandle whichCameraHandle, real x, real y, real z returns nothing
    //
    native GetFrameCamera takes framehandle whichFrame returns camerahandle
    native SetFrameCamera takes framehandle whichFrame, camerahandle whichCameraHandle returns nothing
    //

  2. Fully rewritten Tip/Ubertip parser for maximum efficiency.

  3. Fixed case where $DataA,%$% wouldn't work and required $A00B,DataA,%$%.
    Note: this just means that supplying typeId was required for % value token.

  4. Fixed SetFrameState on normal frames (only ones that extend CControl) to properly set control flags. It was effectively doing nothing.

  5. Fixed EnumSpecialEffectsInRange not working at all apart from .0, .0 axis.

  6. Massive code rehaul again.

  7. "PORTRAIT" is now accessible for CreateFrameByType.

  8. Fixed Draw priority of CSpriteFrame, now it's unaffected by terrain.

  9. Library now has module tracking to prevent secondary library from loading, and it's able to see newer modules if they were loaded and so on.
    Note: this only will work starting this version with all libraries equal or higher version than this.
    Modules: AngelScript, FastMenu, FPSUnlocker, UnlockMapSize, MultiWindow, RepplaySpeedUnlocker, UjAPI and WFE.

UjAPI v1.1.36.347

10 Jan 12:28
9d326d5

Choose a tag to compare

Release:

  1. Minor update in CDataStore.h/cpp.
  2. Updates in CTerrainData.h/cpp now using const Vector2&.
  3. CAbilityInventoryEx fixed incorrect death processing (sometimes would remove items or incorrectly process drop).
  4. Fixed ItemDataNode.h/cpp strucute had one extra variable and Get/Set for hp was incorrect (as ItemDataNode only has max_hp and no current hp).

UjAPI v1.1.36.344

27 Dec 14:57
54356a8

Choose a tag to compare

  1. Fixed UnitAddBuffById/Ex on stuns/pauses on Illusions, since buffs are "self-cast" and game internally prevents illusions from most of the actions this had to be circumvented.
  2. Updated Blizzard.as for newer AngelScript version that can use "using namespace" feature and moved all natives to Jass namespace and all Blizzard functions to BJ namespace.

UjAPI v1.1.35.343

09 Nov 07:35
54356a8

Choose a tag to compare

  1. Fixed fatal error on pop up frame events.
  2. Fixed incorrect projectile launching, it was resetting to default values on each launch. Now all settings persist.
  3. Fixed enumeration for HandleList failing if null/nil Filter/Condition was passed.
  4. Fixed incorrect area calculation, which was supposed to be done via radius and diameter was used instead.
  5. Fixed SetIllusionDamageDealt not working with custom Item Illusion buffs.
  6. Fixed SetIllusionDamageReceived not working with custom Item Illusion buffs.
  7. Fixed SetMouseScreenAbsoluteY being mirrored. (Same for position, only Y axis was wrong).
  8. Fixed SyncData triggering all registered SyncData events.
    Note: other sync events were overhauled as well, now they should work a tad better.
  9. Fixed IsMouseKeyPressed incorrectly processing mouse buttons.

UjAPI v1.1.34.338

07 Oct 09:17
bb59089

Choose a tag to compare

  1. New Natives:
    native FogUpdate takes nothing returns nothing
    //
    native GetFogHeartbeat takes nothing returns real
    native StartFogHeartbeat takes boolean isStart, real time returns nothing
    //
    native GetPlayerPathingLimit takes player whichPlayer, integer queueType returns integer // 0 - deep | 1 - dynamic | 2 - fast | 3 - local
    native SetPlayerPathingLimit takes player whichPlayer, integer value returns nothing // Set for all
    native SetPlayerPathingLimitEx takes player whichPlayer, integer queueType, integer value returns nothing
    //
    native GetUnitBonusMoveSpeed takes unit whichUnit returns real
    native GetUnitTurnRate takes unit whichUnit returns real
    native SetUnitTurnRate takes unit whichUnit, real turnRate returns nothing
    native IsUnitTurningOnly takes unit whichUnit returns boolean
    native UnitAllowMove takes unit whichUnit returns nothing
    native UnitAllowTurningOnly takes unit whichUnit returns nothing
    native GetUnitPathingLimit takes unit whichUnit, integer level returns integer // Levels: 0 or 1.
    native SetUnitPathingLimit takes unit whichUnit, integer level, integer limit returns nothing // Limit is 0 to 32,767 (anything lower than 0 will default to -32,767). Use -1 (or any other negative number) to "erase" limit.
    //
    native EnableFrameButtonPushAnimation takes framehandle whichFrame, boolean enable returns nothing
  2. Fixed SetTYPEFacing not setting internal Position::Facing, hence causing GetTYPEFacing to not work properly.
  3. Fixed SetX/Y not working for destructables.
  4. Fixed PauseUnitEx not unpausing units.
  5. Fixed crash related to SetFrameStepSize on SLIDER frame type.
  6. Added internal CArtillery::SetData, now it can be properly copied and fired.
  7. Fixed GetUnitBonusDamageByIndex breaking whenever bonus attack was awarded from main stat.
  8. Fixed Mouse API not working when Cursor Frame was not present, either at the very start of the game or when cursor is outside of the game window.
  9. Fixed internal CAbility::CloneBase not returning cloned base and defaulting to nullptr instead, when base was already cloned.
  10. Added internal edits to Pathing and Fog heartbeat constants, to ensure their work. (Pathing seemed to be just fine).
  11. Added internal lock for SetUnitControlCount whenever a value is set to less than 0 to default to 0. Any value below 0 breaks internal counters.
  12. Fixed Item Name/Description changes not working in CInfoPanelItemDetail tab.
  13. Fixed internal CItem/CItemEx GetOrderType handling, __thiscall was used whereas __cdecl was expected. (Yes, some class member functions use __cdecl...)
  14. Fixed Doom and similar abilities not stopping item useage via its hotkeys.
    Note: on patches other than 1.26a this was also causing fatal error in unit selection with items that had ANcl in their abilities.
  15. Fixed incorrect handling of Fortified armour damage, no damage reduction was applied on buildings that finished their construction.
    Note: only constructing buildings are supposed to take 100% damage.
  16. Fixed incorrect offsets for widget enumeration for patches 1.24e/1.27a/1.27b/1.28f.
    Note: EnumDestructablesInRange seemed to be affected and was causing a crash.
  17. Fixed SetTextTagPos not setting Z (ZOffset) correctly.
  18. Fixed CDoodads::GetInRect using GetInArea offset instead.
  19. Fixed ABILITY_REMOVED not triggering event.
  20. Fixed Projectile enumeration in Area not working.
  21. Added new CSimpleButton type, SHRINKINGBUTTON. Which can be affected by EnableFrameButtonPushAnimation, just like CCommandButton.
  22. Fixed Learn Tooltip/Ubertooltip not being updated when hovering over learnable spell.

Post release fixes (please re-download if you downloaded before this changes):

  1. SPRITE_FLAG_UNSELECTRABLE fixed to SPRITE_FLAG_UNSELECTABLE.
  2. Fixed comment about CShrinking button in common.j

UjAPI v1.1.33.334

21 Jun 14:57
e6a84f1

Choose a tag to compare

Release:

  1. Added nullptr check to CObserver::IsEventRegistered, on some peculiar maps, nullptr was somehow sent in it.
  2. Fixed Get/Set texture natives for Sprites up to Units, it got broken recently after code refactoring.