System Simulated Hashtable

kingkingyyk3

Visitor (Welcome to the Jungle, Baby!)
Reaction score
216
>>You started off with v1, then v1 beta, now you're on alpha... o_O
First 2 versions are pre-v1.

>>Why?
Removed in new version

>>Also, there's a collision if I do something like this:
It should works well in new version without any collision.

Beta is released!
 

Romek

Super Moderator
Reaction score
964
> First 2 versions are pre-v1.
All alpha and betas are pre-v1.
v1 -> Beta -> Alpha -> Beta again. Great. :rolleyes:

Why the retarded naming convention in the StorageStruct?

JASS:
    local StorageStruct H = GetStoredInteger(TABLE,I2S(parent),I2S(child))
    return H.i[ht]

Could be:
JASS:
    return StorageStruct(GetStoredInteger(TABLE,I2S(parent),I2S(child))).i[ht]


Also, how about something like this, to avoid the horrible arrays?
JASS:
.
    function SaveInteger takes hashtable table, integer parentKey, integer childKey, integer value returns nothing
        call StoreInteger(hashtable.gc, SubString(I2S(integer(table)) + "____", 0, 4) + I2S(parentKey), I2S(childKey), value)
    endfunction
    
    function LoadInteger takes hashtable table, integer parentKey, integer childKey returns integer
        return GetStoredInteger(hashtable.gc, SubString(I2S(integer(table)) + "____", 0, 4) + I2S(parentKey), I2S(childKey))
    endfunction
 

kingkingyyk3

Visitor (Welcome to the Jungle, Baby!)
Reaction score
216
v1 -> Beta -> Alpha -> Beta again. Great.
:p

Also, how about something like this, to avoid the horrible arrays?
Fixed.

See the new v1.

~Bump~
 
Reaction score
91
> People living in certain countries still can't download it.
Where the hell are you living then? o_O
I'm sure you can find an original CD Key and update your Warcraft through Westfall or just wait for a formal release of it and download it from Blizzard's site.
 

T.s.e

Wish I was old and a little sentimental
Reaction score
133
Yes. It can corrupt the handle index, giving two handles the same id.
 

Jesus4Lyf

Good Idea™
Reaction score
397
What a dumb thing to say without explaining to users how to use it "properly". Do you know how to use it properly? I don't know how to use it properly. Is it used properly in your system? Does it effect how users should use your system?

There's a much better alternative, anyway...
JASS:
struct UnitStruct
    unit u
endstruct

For each unit to store, attach a struct wrapper of it. It's safe. :D
 

kingkingyyk3

Visitor (Welcome to the Jungle, Baby!)
Reaction score
216
What a dumb thing to say without explaining to users how to use it "properly". Do you know how to use it properly? I don't know how to use it properly. Is it used properly in your system? Does it effect how users should use your system?

There's a much better alternative, anyway...
JASS:
struct UnitStruct
    unit u
endstruct

For each unit to store, attach a struct wrapper of it. It's safe. :D

Okay. I will improve it.

Yeah, isn't it also faster than I2H?
I2H vs array, which is faster? I think you know it.
 

kingkingyyk3

Visitor (Welcome to the Jungle, Baby!)
Reaction score
216
Well, when I start editing the code... I found it is no need to change since it uses different strings on different handles.

Classic example :

Attach unit to hashtable :

Assume : hashtable's id : 30, timer id's : 104852, unit's id : 102222

The system will attaches to gamecache by using :
Mission key -> 104852_30_UnitData
key -> 1

It is safe.
 

Jesus4Lyf

Good Idea™
Reaction score
397
Yeah, isn't it also faster than I2H?
I2H vs array, which is faster? I think you know it.
I don't know what you were insinuating, but arrays are definitely faster.

Your explanation has nothing to do with safety of handle stack corruption. What are you on about?

Change your code for both or either reason, or I say +Graveyard vote. -_-

Seriously, I2H is a noob's way of doing things. It's not fast or stable, kingking...
 

Jesus4Lyf

Good Idea™
Reaction score
397
Cool.
JASS:
function Load$Type$Handle takes hashtable ht, integer parent, integer child returns $type$
    return $Type$Data(GetStoredInteger(TABLE,I2S(parent)+"_"+I2S(ht)+"$Type$Data",I2S(child))).h
    return null
endfunction

No return null, then this should inline.

And your FlushHashtable thing doesn't appear to flush anything. Just destroys the struct... <_<
 

kingkingyyk3

Visitor (Welcome to the Jungle, Baby!)
Reaction score
216
And your FlushHashtable thing doesn't appear to flush anything. Just destroys the struct... <_<
Huh? If I put flushing here, I should need a history storing record...
 

Troll-Brain

You can change this now in User CP.
Reaction score
85
I'm just wondering, will it be finished one day, before the official patch release ?
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • WildTurkey WildTurkey:
    is there a stephen green in the house?
    +1
  • The Helper The Helper:
    What is up WildTurkey?
  • The Helper The Helper:
    Looks like Google fixed whatever mistake that made the recipes on the site go crazy and we are no longer trending towards a recipe site lol - I don't care though because it motivated me to spend alot of time on the site improving it and at least now the content people are looking at is not stupid and embarrassing like it was when I first got back into this like 5 years ago.
  • The Helper The Helper:
    Plus - I have a pretty bad ass recipe collection now! That section of the site is 10 thousand times better than it was before
  • The Helper The Helper:
    We now have a web designer at my job. A legit talented professional! I am going to get him to redesign the site theme. It is time.
  • Varine Varine:
    I got one more day of community service and then I'm free from this nonsense! I polished a cop car today for a funeral or something I guess
  • Varine Varine:
    They also were digging threw old shit at the sheriff's office and I tried to get them to give me the old electronic stuff, but they said no. They can't give it to people because they might use it to impersonate a cop or break into their network or some shit? idk but it was a shame to see them take a whole bunch of radios and shit to get shredded and landfilled
  • The Helper The Helper:
    whatever at least you are free
  • Monovertex Monovertex:
    How are you all? :D
    +1
  • Ghan Ghan:
    Howdy
  • Ghan Ghan:
    Still lurking
    +3
  • The Helper The Helper:
    I am great and it is fantastic to see you my friend!
    +1
  • The Helper The Helper:
    If you are new to the site please check out the Recipe and Food Forum https://www.thehelper.net/forums/recipes-and-food.220/
  • Monovertex Monovertex:
    How come you're so into recipes lately? Never saw this much interest in this topic in the old days of TH.net
  • Monovertex Monovertex:
    Hmm, how do I change my signature?
  • tom_mai78101 tom_mai78101:
    Signatures can be edit in your account profile. As for the old stuffs, I'm thinking it's because Blizzard is now under Microsoft, and because of Microsoft Xbox going the way it is, it's dreadful.
  • The Helper The Helper:
    I am not big on the recipes I am just promoting them - I use the site as a practice place promoting stuff
    +2
  • Monovertex Monovertex:
    @tom_mai78101 I must be blind. If I go on my profile I don't see any area to edit the signature; If I go to account details (settings) I don't see any signature area either.
  • The Helper The Helper:
    You can get there if you click the bell icon (alerts) and choose preferences from the bottom, signature will be in the menu on the left there https://www.thehelper.net/account/preferences
  • The Helper The Helper:
    I think I need to split the Sci/Tech news forum into 2 one for Science and one for Tech but I am hating all the moving of posts I would have to do
  • The Helper The Helper:
    What is up Old Mountain Shadow?

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top