|
|
#1 |
|
User
Join Date: Feb 2006
Posts: 9
|
Hi guys
i'm developing a rpg map from two years ago named enthashara. i was working on a new update and i got a stranger problem from the last six days. i use vexorian optimizer after saving the map and for some unknow reason when i save the map (this before using optimizer) some triggers don't work, it's like they are disabled, but they work fine when i use the optimizer after this saved version. Unfortunately, from the last six days i got some inactive triggers after using optimizer too. (mainly triggers with EVENT_PLAYER_UNIT_DEATH) my question is if there are into the map a limitation with max number of triggers or something like this. i know that there are a maximun of 8100 instances per var type, and that's the maximun size of an array but i am using a very low number of triggers compared with that. Or instead of that. ask if someone got the same issue with triggers those don't work until the optimizer rebuilds the map and if he knows the reason. here is the *.j file. (english is not my native languaje xd)war3map.txt Last edited by avahor : 06-04-2013 at 03:09 AM. |
|
|
|
| Sponsored Links - Login to hide this ad! |
|
|
|
|
#2 |
|
User
Join Date: Dec 2006
Posts: 238
![]()
|
What settings are you using for the optimizer?
__________________If you are using tweaks, try ignoring the tweaks option in your next optimizer run. Make sure you specified a path to your war3patch.mpq as well, if you have the "compress names" option enabled. Also, are you sure that it only doesn't work after optimization? Have you tested it without optimizing? You may be hitting the op-limit early on, which may prevent some of your events from being registered. Checking that war3map.txt, you have over a million characters. Maybe that is contributing to the problems. Perhaps you should look into optimizing your code a bit manually. Last edited by PurgeandFire111 : 06-02-2013 at 04:58 AM. |
|
|
|
|
|
#3 |
|
User
Join Date: Feb 2006
Posts: 9
|
Hi purgeandfire.
thanks for reply this fast. i've tested the game just after saving the map and some triggers like the loading system doesn't work. then i use the optimizer and -voila-, this works fine. that's the stranger issue. anyway i'll check your suggestions. thanks. Edit: I just delete about of 2000 units. and i've tested the map without using the optimizer. nothing happens, the problem continues here. Last edited by avahor : 06-02-2013 at 05:42 AM. |
|
|
|
|
|
#4 |
|
Procrastination Incarnate
Development Director
|
This really does sound like an op-limit problem, the way it's just some triggers that don't work and using the optimizer used to fix the issue for a while (presumably, because of inlining, the amount of ops gets reduced). However, if this really were an op-limit issue, I'd expect that removing 2000 preplaced units (that's quite a lot) should fix the problem; unless perhaps you recently added a bunch of large arrays to the map? Initializing a large number of large arrays is the most common way of hitting the op limit.
__________________Do you have any triggers that are set to run on the map initialization event? If those work, then that rules out the op limit scenario because those triggers run after all the regular triggers get initialized, so if you were hitting the op limit in the trigger initialization section then the map init triggers would never run. |
|
|
|
|
|
#5 |
|
User
Join Date: Feb 2006
Posts: 9
|
Hi Anitarf.
well, i remember that i have 3 triggers those are launched at map inititalization. Anyway, OP-limit means? i have 2 big arrays. those are increased a bit on each new update. i'll check that Last edited by avahor : 06-02-2013 at 02:20 PM. |
|
|
|
|
|
#6 |
|
User
Join Date: Oct 2007
Posts: 39
|
udg_stringitempoll, udg_itemname and udg_itemLevel are initialized up to index 2002.
|
|
|
|
|
|
#7 |
|
User
Join Date: Feb 2006
Posts: 9
|
yeah. i'm reworking those vars.
|
|
|
|
|
|
#8 | |
|
Procrastination Incarnate
Development Director
|
Quote:
When the map is first loaded, all the setup code runs in one thread, so if you have too many actions in there (for example, if you initialize a bunch of large arrays), the thread could hit the op limit before the map setup is finished, which could explain why some of your triggers aren't working. Of course, this is just one possible explanation, it might not be the right one, this is what we're trying to figure out now. That's why I asked if you have any triggers that run on the map initialization event and whether those triggers still work; since those triggers run at the end of the map setup, if they still work that would mean that the op limit is not your problem, but something else. |
|
|
|
|
|
|
#9 |
|
User
Join Date: Feb 2006
Posts: 9
|
issue found.
there is a global NULL integer adding to random integer. and some down-to loop into the saving scope that makes wrong function. anyway i learned a lot about op-limit and i rewrote all those big arrays initializations. (find this took me about 7 days, =S) thanks to everyone for the usefull help! Last edited by avahor : 06-08-2013 at 08:06 PM. |
|
|
|
![]() |
| Thread Tools | Search this Thread |
|
|
|
Donate |