Jesus4Lyf
Good Idea™
- Reaction score
- 397
AIDS structs, of course.Jesus4Lyfe, what in the world could you want from unit indexing that neither PUI nor AutoIndex does?
>I believe in "don't fix if it is not broken" phylosophy.It is imperative that indexes always be as low as possible because of the way jass arrays allocate memory.
>PUI works as it should and it works well, I have no intention of wasting my time on maybe-improvements.
What are you talking about? PUI is broken as hell by your logic. And it DOESN'T free indexes after 5 seconds. See demo map. Your algorithm vs mine.
By the way, that's only the average index. Would you like to see the max?
Edit: If so...
JASS:
library TestPUI initializer test uses PUI, Mod
private function periodic takes nothing returns nothing
globals
private integer PUI_Max=0
private integer Mod_Max=0
private integer Index
private unit u
endglobals
set u=CreateUnit(Player(0),039;hfoo039;,0,0,0)
set Index=GetUnitIndex(u)
if Index>PUI_Max then
set PUI_Max=Index
endif
call RemoveUnit(u)
set u=CreateUnit(Player(0),039;hfoo039;,0,0,0)
set Index=Mod_GetUnitIndex(u)
if Index>Mod_Max then
set Mod_Max=Index
endif
call RemoveUnit(u)
call BJDebugMsg("Max Indexes: PUI: "+I2S(PUI_Max)+" | Modded: "+I2S(Mod_Max)+".")
endfunction
private function test takes nothing returns nothing
call TimerStart(CreateTimer(),0.02,true,function periodic)
endfunction
endlibrary
Shows that PUI with your algorithm breaks when my algorithm is only on about index 3300. (Yes, 8100 to 3300, roughly.)