HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

Every Single Reason a Handle Index Would Fail

01-10-2007, 01:09 AM#1
Rising_Dusk
Alright, this is sort of a daunting request, but I need it.
And badly.

I need to know absolutely every possible known way for a handle index to fail.
I am sick and tired of AotZ not working, and God damnit I am figuring it out.

What I know:
  1. Setting timers with handles attached to them to null
  2. The DestroyTrigger() function call
  3. Units' ghosts in groups and then FirstOfGroup() being called on that group

So let's start, shall we?
01-10-2007, 01:11 AM#2
Vexorian
range event on a disease cloud.

To know every single reason is something that will never happen.
01-10-2007, 01:14 AM#3
Rising_Dusk
Quote:
I need to know absolutely every possible known way for a handle index to fail.
The bolded part is what's important here.

Thanks, Vex.
01-10-2007, 03:20 AM#4
Joker
Whats does the 'The DestroyTrigger() function call' do that makes the index fail?
01-10-2007, 03:59 AM#5
Rising_Dusk
Got me, I just know it makes them fail.
01-10-2007, 11:03 AM#6
Vexorian
Now that I remember, the actual problem lies with adding the disease cloud to a unit group that is not temporary
01-10-2007, 03:03 PM#7
emjlr3
i dont know

how do you deal with timers and triggers?

since i started using integer locals instead of timer, and added a wait before destroying triggers, remembering to always set them both to variables, all bugs/crashes I had randomly stopped, and I used to have them randomly, almost every game

I use game cache a lot too

i say try that, if u have not already, or there is something specific that you are doing wrong, it either one or many triggers

btw were u ever able to isolate any specific problem? to a trigger or anything
01-10-2007, 03:51 PM#8
blu_da_noob
Dusk uses integer for timers (so no nulling) and disables triggers instead of destroying them.
01-10-2007, 04:53 PM#9
Rising_Dusk
Blu is correct.
And no, I cannot isolate it to any single trigger or part of the code.
If I could, then I would have figured this shit out by now.

You must realize, before posting here I have done hundreds of hours of searching through the code, all to the same result.
Nothing gets fixed because I can find nothing wrong.

See, what I fear for AotZ is that there is something killing handle indicies that noone has discovered yet.
So I'm just walking right by it everytime and totally missing that it is the problem.

That's why I made this topic, I need to figure out what other people know, and combine it with what I know, and hopefully find something in the code I didn't know before would break the indicies.
01-10-2007, 05:14 PM#10
Vexorian
What I figured is that using integers for timers makes everything worse, recycling is the way, the actual problem with timers is in DestroyTimer, nulling just triggers the reference cleaning.
01-10-2007, 05:18 PM#11
Rising_Dusk
Wait, really?
So if I converted to your RecycleTimer method like I posted in that tutorial o' mine, it would fix it?

I'll do it, hell yeah I will, but I want to know if you think it would solve anything first.
01-10-2007, 05:34 PM#12
emjlr3
u can take heed of his advice, however i think you should not completely throw away my comment either, using integers FIXED my problems, it made nothing worse in any sense of the word
01-10-2007, 05:38 PM#13
Rising_Dusk
Well I have always used integers.
So don't worry 'bout it. xD

The thing is, handle indicies failing is an issue with H2I() and I2OtherThings() not the cache.
Therefore using integers inherently won't fix anything but the timer to null issue.
01-10-2007, 05:49 PM#14
Vexorian
Using integers is slower either way
01-10-2007, 11:10 PM#15
emjlr3
but its better then nulling timers no?

can u post a demo map where something fails, as u say, or is it just in your map?