• 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.
Another little hidden resource by me. Much smaller than typical utility systems and much faster.
maddeem

Another little hidden resource by me. Much smaller than typical utility systems and much faster.

JASS:
library GroupUtils initializer init
globals
private integer AMOUNT=64
private group array GROUPS
private boolean array USED
private integer array ID
private integer array ATTACH
endglobals
function NewGroupEx takes integer ii returns group
local integer i=0
loop
set i=i+1
exitwhen USED[i]==false
endloop
set USED[i]=true
set ATTACH[i]=ii
return GROUPS[i]
endfunction
function GetGroupData takes group g returns integer
local integer i=0
local integer id=GetHandleId(g)
loop
set i=i+1
exitwhen id=ID[i]
endloop
return ATTACH[i]
endfunction
function SetGroupData takes group g integer ii returns nothing
local integer i=0
local integer id=GetHandleId(g)
loop
set i=i+1
exitwhen id=ID[i]
endloop
set ATTACH[i]=ii
endfunction
function NewGroup takes nothing returns group
local integer i=0
loop
set i=i+1
exitwhen USED[i]==false
endloop
set USED[i]=true
return GROUPS[i]
endfunction
function ReleaseGroup takes group g returns nothing
local integer id=GetHandleId(g)
local integer i=0
loop
set i=i+1
exitwhen id==ID[i]
endloop
call GroupClear(g)
set USED[i]=false
endfunction
private function init takes nothing returns nothing
local integer i=0
loop
set i=i+1
exitwhen i==AMOUNT
set GROUPS[i]=CreateGroup()
set USED[i]=false
set ID[i]=GetHandleId(GROUPS[i])
set ATTACH[i]=0
endloop
endfunction
endlibrary
 

Media information

Album
Coding
Added by
maddeem
Date added
View count
345
Comment count
1
Rating
0.00 star(s) 0 ratings

Share this media

Top