• 🏆 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!

[vJASS] RAS

Level 22
Joined
Dec 31, 2006
Messages
2,216
The previous RAS thread was closed so I couldn't update it, thus I must make another thread..
The new RAS is now compatible with 1.24.

Code:
JASS:
library RAS

globals
    private constant integer size = 13600
    private constant integer size2 = 3
    private constant hashtable ht = InitHashtable()
endglobals

globals
    private integer array stru [size][size2]
endglobals

function GetAttachedStruct takes handle h, integer slot returns integer
    local integer i = GetHandleId(h) - 0x100000
    if i > size then
        debug call BJDebugMsg("Handle Id too big. Using hashtable.")
        return LoadInteger(ht, i, slot)
    endif
    return stru[GetHandleId(h) - 0x100000][slot]
endfunction

function AttachStruct takes handle h, integer dat, integer slot returns nothing
    local integer i = GetHandleId(h) - 0x100000
    if i > size then
        debug call BJDebugMsg("Handle Id too big. Using hashtable.")
        call SaveInteger(ht, i, slot, dat)
        return
    endif
    set stru[i][slot] = dat
endfunction
endlibrary

I don't know if anyone actually uses it especially because of the Hashtable, but I decided to update it nevertheless.

PS: If you're a mod, can you please delete the previous thread?
 
Last edited:
Top