• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

Public Test Realm 1.31.1

Status
Not open for further replies.

Attachments

  • 1311-small.png
    1311-small.png
    195.2 KB · Views: 61,662
Level 11
Joined
Nov 23, 2013
Messages
665
I can't update my PTR from 1.31 to 1.31.1 ("Update failed, would you like to open a web browser to troubleshoot?"), do I have to delete this version and download the PTR again?

All natives are now zero-indexed
What does that mean?
 
Last edited:

deepstrasz

Map Reviewer
Level 73
Joined
Jun 4, 2009
Messages
19,685
I can't update my PTR from 1.31 to 1.31.1 ("Update failed, would you like to open a web browser to troubleshoot?"), do I have to delete this version and download the PTR again?
I just used the launcher as @Tasyen wrote. Can confirm it works.
> All natives are now zero-indexed

Isn't this literally the exact opposite of making sure existing custom-game maps aren't broken?
Maybe, it's a counterintuitive measure :D
 
Isn't this literally the exact opposite of making sure existing custom-game maps aren't broken?

Yes, it will break certain maps which use some of the natives from 1.29 and up. Blizzard could use their version detection to check which version the map was created on and force it to use the old behavior, but that means more code to maintain and it would cause odd behavior for people using 3rd party editors.

Somebody was also asking about GetUnitAbilityLevel (and natives like it, I suppose) and whether or not it will return 0 for level 1 abilities. They currently still retain their old behavior which leads to inconsistencies, yet changing it will break tons of maps. That native is also used to check whether or not a unit has an ability. Level 0 means the unit does not have the ability. I'm thinking Blizzard should have left abilities at index 1 to keep it consistent with the old API. Maybe levels should be treated differently than indexes. For example we don't call SetHeroLevel(hero, 0) to set a heroes level to 1, however we use Player(0) to denote player 1.
 
Last edited:

Wrda

Spell Reviewer
Level 28
Joined
Nov 18, 2012
Messages
1,993
Well, the PTR WE and in-game no longer have retarded random crashes. They still have the orb of fire ability problem though.
Yes, it will break certain maps which use some of the natives from 1.29 and up. Blizzard could use their version detection to check which version the map was created on and force it to use the old behavior, but that means more code to maintain and it would cause odd behavior on people using 3rd party editors.

Somebody was asking also about GetUnitAbilityLevel (and natives like it, I suppose) and whether or not it will return 0 for level 1 abilities. They currently still retain their old behavior which leads to inconsistencies, yet changing it will break tons of maps. That native is also used to check whether or not a unit has an ability. Level 0 means the unit does not have the ability. I'm thinking Blizzard should have left abilities at index 1 to keep it consistent with the old API. Maybe levels should be treated differently than indexes. For example we don't call SetHeroLevel(hero, 0) to set a heroes level to 1, however we use Player(0) to denote player 1.
Meh, they should just set all ability level "indexes" natives to be minimum as 1.... so we can probably detect when a unit has an ability he has at least level 1, if not then 0, like it's been already said. The rest can stay as 0, it won't break anything.
 
Probably just you, I don't have that :eek:
Does it happen everytime?

It happened one time, I haven't been able to replicate it again so all good for now I guess.

Are you playing in windowed mode at an odd resolution? Did you manually change the window size by dragging the window?

I'm not playing in windowed, and I am playing at 1920x1080. I use two screens and change the position of W3 with windows key + shift + arrow key so that might be why. It was one time though, so not a problem. Probably just a one time bug.


So far everything looks good.
 
Yes, it will break certain maps which use some of the natives from 1.29 and up.

The number of maps it breaks doesn't matter, because we're talking about fundamentals of API design

Blizzard could use their version detection to check which version the map was created on and force it to use the old behavior, but that means more code to maintain and it would cause odd behavior for people using 3rd party editors.

Or they could just not change it.

Somebody was also asking about GetUnitAbilityLevel (and natives like it, I suppose) and whether or not it will return 0 for level 1 abilities. They currently still retain their old behavior which leads to inconsistencies, yet changing it will break tons of maps. That native is also used to check whether or not a unit has an ability. Level 0 means the unit does not have the ability. I'm thinking Blizzard should have left abilities at index 1 to keep it consistent with the old API. Maybe levels should be treated differently than indexes. For example we don't call SetHeroLevel(hero, 0) to set a heroes level to 1, however we use Player(0) to denote player 1.

Obviously don't change it.
 
Level 20
Joined
Apr 12, 2018
Messages
494
It's way more intuitive if 1 == level 1, 0 == doesn't have ability, like it's always been. I don't see why they would change it. It's both counterintuitive and breaks backwards compatibility.
I'm not sure why we're all assuming that's one of the ones affected by the change since that one already starts at zero.

Beside which changing that would affect everything in the entire game since every Ability with more than one level depends on it working like it does.
 
Level 20
Joined
Apr 12, 2018
Messages
494
Yes, it will break certain maps which use some of the natives from 1.29 and up. Blizzard could use their version detection to check which version the map was created on and force it to use the old behavior, but that means more code to maintain and it would cause odd behavior for people using 3rd party editors.
I'm sure it already does version checking for the purposes of assigning the Neutral Players since that is one of the major changes between old maps and newer maps. As long as you're only referring to the Neutral Players through their Blizzard-defined global variables compatibility is A-ok, but direct reference will end up referring to a specific player in current versions and that could do some funny things (the same kind as making one of the original players without defining them at initialization; most of the time they'll just behave similarly to Neutral Hostile)


===============

ED:

String corruption appears to be fixed.

The missing texture I posted about is definitely back.
 
Last edited:
I can confirm that AI heroes are not spending their skill points in 1.31.1 PTR.

I confirmed it as follows with the attached debug version of the Gnoll Campaign (GnollCampaign-C1R6-build10.w3n).

1. Copy the campaign into Documents\Warcraft III Public Test\Campaigns
2. Start the campaign and play the Chapter One: Shipwrecked in Yeenador.
3. Skip the intro.
4. Type -dunspent chat command. This shows the unspent skill points of the hero named Darythya. It should be 0.
5. Type -dlevel chat command. This gives the hero a level.
6. Type again -dunspent chat command. This shows now 1, which means that the hero has not spent her skills point.

If you do this in 1.30.4, the result of the last -dunspent is 0, which means that the hero has used her skill point according to what is determined in the AI file.
 

Attachments

  • GnollCampaign-C1R6-build10.w3n
    28 MB · Views: 185
Level 8
Joined
Jul 14, 2010
Messages
235
So 1.31 brings the new world editor?
So if I start building a complex new map now with Reforged in mind, I won't run into weird script errors on Reforged launch date, because that will mostly be just the graphical update?
 

Wrda

Spell Reviewer
Level 28
Joined
Nov 18, 2012
Messages
1,993
Zero Indexing Fix only affects new Blz natives which had inconsistent behavior, no classic functions affected by it.

Ok, but having functions like Ability - Set Tooltip of Ability to Value for level 0 is just bad, we will always have to do this math -1 when dealing with other functions e.g. GetUnitAbilityLevel, it's a mess. It's better if they make all these ability functions starting at 1.
Source - Willy
Who's willy? :p

So 1.31 brings the new world editor?
So if I start building a complex new map now with Reforged in mind, I won't run into weird script errors on Reforged launch date, because that will mostly be just the graphical update?
This is PTR 1.31.1. Reforged is supposed to be the same as the classic Warcraft 3, mostly, the graphical update is the difference.
 

deepstrasz

Map Reviewer
Level 73
Joined
Jun 4, 2009
Messages
19,685
The guy who messed the editor :)
Also, creator of SharpCraft, meaning quite a big deal.

EDIT:
Testing/reviewing stuff on the current PTR and well this happens, what @FeelsGoodMan encountered. Basically, when the game isn't paused the Quest etc. UI part has displaced text. Happens every time the game is not paused.
1311PTRUIbug01.png 1311PTRUIbug02.png
Playing on full screen with max monitor resolution. Everything to highest, disabled Vsync.
It doesn't happen all the time, in that starting a new map might fix it.

Also, the weird UI cross artifact still appears when clicking multi/leaderboards.
 
Last edited:
Level 5
Joined
May 10, 2018
Messages
129
> All natives are now zero-indexed

Isn't this literally the exact opposite of making sure existing custom-game maps aren't broken?
I've test that, at least, level fields fo BlzSetAbility****LevelField functions are now properly 1-indexed. FINALLY FIXED!

Still can't campare GetTiggerEventId() with EVENT_XXXX by '==' in LUA.
 
Last edited:
I noticed a strange behavior when you add hero glow without modelling using Tornado Slow Aura
How to add Hero Glow without Modeling

Even though I have removed the buff of the Slow Aura, it now shows up with the hero in both 1.30.4 and 1.31.1 PTR.
It reads "Tornado - Has movement speed reduced etc." and has the tornado icon.

I think this did not happen before in 1.29 or so.

I had to put Targets allowed: Not self to get rid off the buff icon. (I also reduced the area to 0 from 1.)

You can try it with
https://www.hiveworkshop.com/attachments/gnollcampaign-c1r6-build10-w3n.324883/

In Chapter One, you can type -reveal chat message to reveal the whole map and click on Darathya in the Yellow base to see the buff icon.

EDIT: It seems that the problem was that I had removed all Targets Allowed in Gnoll Campaign Hero Glow. If you leave them untouched, the hero glow works as it should.
 
Last edited:
Level 10
Joined
Dec 11, 2009
Messages
234
I didn't see it being mentioned in patch notes, but in 1.31 they changed how EnableSelect() works.
Now when called it automatically clears selection for player and also prevents any further calls to SelectUnit().
Also does anyone know the difference between EnableSelect() and BlzEnableSelections()?
 
Level 5
Joined
May 10, 2018
Messages
129
Ok, but having functions like Ability - Set Tooltip of Ability to Value for level 0 is just bad, we will always have to do this math -1 when dealing with other functions e.g. GetUnitAbilityLevel, it's a mess. It's better if they make all these ability functions starting at 1.
I've tested this new 1.31.1 PTR. They start at 1.
 
Level 9
Joined
Jul 20, 2018
Messages
177
They added 3 new natives.
JASS:
native BlzFrameAddText                             takes framehandle frame, string text returns nothing
native BlzGetTriggerFrameValue                     takes nothing returns real
native BlzGetTriggerFrameText                      takes nothing returns string
 

Wrda

Spell Reviewer
Level 28
Joined
Nov 18, 2012
Messages
1,993
I don't get this. It simply won't work. Tried changing tooltip learn of mountain king's storm bolt and tooltip normal extended on all levels and still failed.
I'm talking about the Ability - Set Ability String Level Field as an example.
I've tested this new 1.31.1 PTR. They start at 1.
Ability - Set Ability Tooltip and the likes work, but the real level 1 there is level 0 in the function...not possible.
Unless they forgot some functions.
 
Last edited:
Level 9
Joined
Jul 20, 2018
Messages
177
Try deleting the test path in the editor's preferences. Leave it blank.
Thanks, this helped.
KEK, the problem is in SLASHES, for very stupid reason 1.31 and 1.31.1 use / and not \, as in Windows.
No, I can't even find the new field for it, but this problem affects other paths.
 
Last edited:
Level 14
Joined
Aug 30, 2004
Messages
909
My campaigns (both the corrupted and uncorrupted backups) won't open. I get this error:

B1A8E629-9603-485A-A2AE-322226DFEE83

I could open the dwarf campaign though.

Should I panic yet?

EDIT: I should point out that the campaign plays. I can play the campaign, but I can't open it in the World Editor.
 
Last edited:
Level 15
Joined
Jan 8, 2015
Messages
440
What about cliff and tile limits, lots of tiles still are impossible to replace and limit of 16 is quite painful. Plus old hacked versions of World editor could add several cliffs to the map.

What i want to see soon is expansion of max map size beyond original engine limit it doesnt need to be drastic but even jump from 480x480 to 720x720 or something around it would be a great change for very big maps(ones that recreate entire continents from either warcraft or other franchises) same with stupid tile limits(caused only by map files using just 4bits to store information about this).

A way to edit and change type of water on the map or even use multiple water types from various tilesets would be amazing aswell.
Fixes to object editor with some option to mass change some values.
EDIT: Ah and i would forget - make raise/lower terrain unlimited, since game doesnt accept the misc file anymore.
 
Last edited:
Status
Not open for further replies.
Top