• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

war3mapoptimizer with 24 players

Status
Not open for further replies.
^probably that, but I have a feeling it is the opposite. iirc it'll inline constants, like PLAYER_NEUTRAL_PASSIVE, and that can cause some things to fuck up.

try clicking the "tweaks" section, I think you can input the common.j/Blizzard.j for 1.29, or just completely disable constant inlining (that way your map won't crash on pre-1.29)
 
Tweaking it to ignore constant inlining does NOT work, for whatever reason. It will still change everything to the old values.

I will attach a python script I made that fixed this issue here. I don't have time to compile it right now, so just install Python and run the script.

1. Export war3map.j from the optimizer, put it in the same folder as FixVexorian.py and then run the script. This will generate a file named war3map-fix.j in the same folder.
2. Using WinMPQ v1.64 you delete the war3map.j in the map, import the war3map-fix.j and rename it to war3map.j
3. Please note that MPQEditor will break the map optimizer, WinMPQ is the only tool I found that is compatible with the optimizer.
4. After you have followed steps 1 and 2, you can optimize your map using the Map Optimizer.

Disclaimer: This solution will make your map break (have the same neutral passive owner problem) if blizzard ever decides to increase the player limit even more.
Disclaimer2: This solution will break your map for patches lower than 1.29!
 

Attachments

  • FixVexorian.zip
    513 bytes · Views: 91
Last edited:
Tweaking it to ignore constant inlining does NOT work, for whatever reason. It will still change everything to the old values.

Vexorian's optimizer works perfectly fine for me when disabling inline constants.

vex.png
 
Vexorian's optimizer works perfectly fine for me when disabling inline constants.

vex.png


Hmmm, that's really weird. I even specified the updated common and blizzard .j's in the tweaks, and it would always inline the player number constants, no matter what I did. I'll try again with those other tweaks. This gave me an hours of headaches before I gave up and made that script instead.
 
Level 13
Joined
May 10, 2009
Messages
868
Hmmm, that's really weird. I even specified the updated common and blizzard .j's in the tweaks, and it would always inline the player number constants, no matter what I did. I'll try again with those other tweaks. This gave me an hours of headaches before I gave up and made that script instead.

I checked the "AntiBJ" and added both common.j and blizzard.j in the Tweaks section. Apparently, it works


upload_2018-5-16_18-40-57.png


upload_2018-5-16_18-42-31.png

JASS:
...
function AM takes nothing returns nothing
local player p=Player(PLAYER_NEUTRAL_AGGRESSIVE)
local unit u
local integer unitID
local trigger t
local real life
set hk=CreateUnit(p,'h008',-7334.1,7006.,.0)
endfunction
function NM takes nothing returns nothing
local player p=Player(PLAYER_NEUTRAL_PASSIVE)
local unit u
local integer unitID
local trigger t
local real life
set u=CreateUnit(p,'ncp3',-6016.,-1472.,270.)
set u=CreateUnit(p,'ntn2',-5440.,7040.,270.)
set u=CreateUnit(p,'nten',-5056.,7040.,270.)

...

function IW takes nothing returns nothing
local unit f=CreateUnit(Player(PLAYER_NEUTRAL_PASSIVE),'hfoo',GetRectCenterX(ag),GetRectCenterY(ag),90)
local unit u=CreateUnit(Player(PLAYER_NEUTRAL_PASSIVE),'hpea',GetRectCenterX(Vg),GetRectCenterY(Vg),60)
local unit s=CreateUnit(Player(PLAYER_NEUTRAL_PASSIVE),'hspt',GetRectCenterX(Eg),GetRectCenterY(Eg),$B4)
local unit AW=CreateUnit(Player($B),'n005',GetRectCenterX(Sf),GetRectCenterY(Sf),60.2)
...
 

Attachments

  • upload_2018-5-16_18-41-13.png
    upload_2018-5-16_18-41-13.png
    14.7 KB · Views: 275
Considering all these difficulties that exist for map building since 1.29, don't you think it would be better to use a 1.28 copy solely for map developing?

1.29.2 is ideal if you want to mod with the latest features (new natives, widescreen ect..). I use JNGP on an older patch with updated .j files but configured to launch 1.30, or WEX.

Eventually the Vanilla World Editor should be all we need.
 
Level 21
Joined
Jul 6, 2014
Messages
6,791
1.29.2 is ideal if you want to mod with the latest features (new natives, widescreen ect..). I use JNGP on an older patch with updated .j files but configured to launch 1.30, or WEX.

Eventually the Vanilla World Editor should be all we need.
Sure seems like it,they made great changes to it recently.it'ss all i need and use atm
 
Level 23
Joined
Jan 1, 2009
Messages
1,610
Considering all these difficulties that exist for map building since 1.29, don't you think it would be better to use a 1.28 copy solely for map developing?

1.29.2 is ideal if you want to mod with the latest features (new natives, widescreen ect..). I use JNGP on an older patch with updated .j files but configured to launch 1.30

Yup, I'm doing the same for our wurstpack jngp derivative. I also was enjoying being able to launch multiple instances of wc3. Playing a map on battle.net and being able to launch a test instance at the same time allowed for an awesome work flow. Oh well.

I have also been working on an optimizer app that combines most available tooling into one neat package, but the patches have been screwing with the release because of move to casc and changes in slk data/parsing. Will make a thread soon though with limited features.
 
Status
Not open for further replies.
Top