Warcraft-III-Community-Edition/W3CE

BlzSetSpecialEffectX/Y/Z

Closed this issue · 3 comments

1.29.2 up to 1.30.4 has this bug where if you're setting SFX coordinates individually using BlzSetSpecialEffectX/Y/Z natives will change the desired coordinate, but will reset the other 2 coordinates to the position where the SFX was spawned at.
W3CE bug showcase:
W3CE
Trueshot auras are going by X and Y axises, Devotion aura is going along Z axis, and Command aura is moving through all 3 dimensions.
However, all 4 aura effects are supposed to be in the same position, not separated as shown in above screenshot.

Turns out 1.32 version still has BlzSetSpecialEffectX/Y bugged, because those still reset the Z coordinate to the spawnpoint.
1 32
Trueshot auras have merged into 1, which indicates X/Y coordinate resetting fixed.

Again, all 4 aura effects are supposed to be in the same position.

Here's the demo map for this issue:

Thanks for the demo map. We'll make the natives match Reforged on the next update. I've also implemented a new API that properly updates the positions, which works on more than just effects.

sfxfix

local spritehandle sprite = CeGetWar3ImageSprite(udg_testSFX)
local spritehandle sprite2 = CeGetWar3ImageSprite(udg_testSFX2)
local spritehandle spritez = CeGetWar3ImageSprite(udg_testSFXZ)

call CeSetSpriteZ(sprite, udg_ZCoor)
call CeSetSpriteX(sprite, udg_XCoor)
call CeSetSpriteY(sprite, udg_YCoor)

call CeSetSpriteZ(sprite2, udg_ZCoor)
call CeSetSpriteY(sprite2, udg_YCoor)
call CeSetSpriteX(sprite2, udg_XCoor)

call CeSetSpriteY(spritez, udg_YCoor)
call CeSetSpriteX(spritez, udg_XCoor)
call CeSetSpriteZ(spritez, udg_ZCoor)

Can this be closed @cipherxof ?

Can this be closed @cipherxof ?

I figured I would leave it open until the next release but we can close it.