1. Melee Mapping contest #3 - Poll is up! Vote for the best 4v4 melee maps!
    Dismiss Notice
  2. The 30th edition of the Modeling Contest is finally up! The Portable Buildings need your attention, so come along and have a blast!
    Dismiss Notice
  3. We have a new contest going on right now! Join the 11th Music Contest! You are to make a Cinematic modern sound-track for this contest, so come and compete with other people for fun.
    Dismiss Notice

[System] Unit Indexer

Discussion in 'Graveyard' started by Nestharus, Jul 6, 2010.

  1. Nestharus

    Nestharus

    Joined:
    Jul 10, 2007
    Messages:
    6,149
    Resources:
    8
    Spells:
    3
    Tutorials:
    4
    JASS:
    1
    Resources:
    8
    This resource has moved here.

    --

    gone
     
    Last edited by a moderator: Jan 17, 2018
  2. azlier

    azlier

    Joined:
    Oct 3, 2008
    Messages:
    354
    Resources:
    4
    JASS:
    4
    Resources:
    4
    I don't see why I would ever choose this over AIDS. Sure, it's simpler, but it's missing that struct stuff that AIDS provides that is so very helpful.
     
  3. Nestharus

    Nestharus

    Joined:
    Jul 10, 2007
    Messages:
    6,149
    Resources:
    8
    Spells:
    3
    Tutorials:
    4
    JASS:
    1
    Resources:
    8
    I will add struct stuff that will be better than AIDS as it will be in a module + use static ifs.

    deal? : P

    edit
    the module is up for structs and I must admit it turned out very good : D. The struct module on this is the best of all of the indexing systems. It uses major static ifs to keep code to a bare minimal and make everything as optimal as possible.

    edit
    Made a very useful object creator script, but importing the constants for the object ids is a problem that you know about Azlier because the constants are generated JASS.

    This is the script-
    http://www.hiveworkshop.com/forums/triggers-scripts-269/lua-any-ideas-making-more-plausible-172582/

    If there are fixes to JASS, I can update this to use that script as it'll be much more stable with the object ids (0 chances for collision).
     
    Last edited: Jul 12, 2010
  4. azlier

    azlier

    Joined:
    Oct 3, 2008
    Messages:
    354
    Resources:
    4
    JASS:
    4
    Resources:
    4
    This really doesn't offer anything more than AIDS does, honestly. There are enough wars between AutoIndex and AIDS already, and a possible efficiency tweak and some sort of access to units I've never needed isn't enough reason to throw a third system into the fray.

    And why are functions to index individual units needed... at all? I can't fathom a scenario in which they'd be useful.

    And this doesn't support AIDS or AutoIndex API, the most widely used indexing systems out there. Instead, you're adding support for PUI which was deprecated long ago. That is a stupid idea. Of course, I doubt you would ever add AIDS API. That would be incredibly difficult.

    I can't see a reason why we would need this approved here, especially since it seems to offer nothing useful that the other two systems don't.
     
  5. Nestharus

    Nestharus

    Joined:
    Jul 10, 2007
    Messages:
    6,149
    Resources:
    8
    Spells:
    3
    Tutorials:
    4
    JASS:
    1
    Resources:
    8
    Actually, I could add an AIDS and AutoIndex API (which I had in here before), but eh. Use whatever you guys want to use.

    It's impossible for a standalone library to ever be as good as AutoEvent. I will personally only ever code for this library because of the crazy cumbersome style of AutoEvent/AutoIndex and because of my own personal issues with AIDS and the fact that a standalone event library will never be as good as AutoEvent or Unit Event (talking about AIDS here).

    They are there for ini dummy units so that you don't have to add a unit type boolean to the global filter for every single system with a dummy unit that you install. I can only think of one use for the global filter, otherwise I think that the enable/disable is a better choice.

    When it comes to functionality, you are spot on = ). However, I like to think that this has the pros of both and the cons of neither.

    It's up to you guys as a community as to whether you want to use it or not, but I know when it comes to me, this is my #1 choice = ).

    I don't see any way that the design between the two libraries can be improved. I believe that AIDS is never going to be coupled with an event library (jesus4lyf had said that before), and I don't believe that AutoIndex or AutoEvent will ever be improved with some of the techniques I came up with (dummy unit killed at start for decay, etc).

    To me, using AutoIndex is out of the question because of the RemoveUnit hook. Using AIDS whenever you want unit events is out of the question because of the fact that a standalone unit event library (this is the third time now, hope I'm making an impression) will never compare with a unit event library coupled with a unit indexing system.


    Again, totally up to you guys = ). I'm just giving you the figures so that you can make a logical decision ^.^.
     
  6. azlier

    azlier

    Joined:
    Oct 3, 2008
    Messages:
    354
    Resources:
    4
    JASS:
    4
    Resources:
    4
    Well, wouldn't the logical solution be to produce a unit event library for AIDS? If it's possible to do that, then it seems that everybody wins. Except for AutoIndex, of course.
     
  7. Nestharus

    Nestharus

    Joined:
    Jul 10, 2007
    Messages:
    6,149
    Resources:
    8
    Spells:
    3
    Tutorials:
    4
    JASS:
    1
    Resources:
    8
    It's too bad that jesus4lyf's plan is for a standalone event system ^.^.

    Also, how long do you think it will take him to update AIDS eh?

    And you skipped my argument for enable/disable vs global where I pretty much state that global is nearly useless, not enable/disable : ).

    Just giving you what I've come to understand and why I've always said that I believe this+Unit Event has the pros of AutoIndex/AutoEvent and AIDS with the cons of neither and that that's likely never to change.

    Again, totally up to you. I hope you can start to see why I was getting so frustrated with TH (that plus the fact that I hadn't slept that week). I pretty much just gave up at wc3c and said w/e. They love cumbersome stuff ; P.

    At this point I really don't care, to each their own. I'll update this code with w/e people want as quickly as possible (and you should know by this point how fast I typically am with updates), but that's about all I can do.
     
  8. Bribe

    Bribe

    Joined:
    Sep 26, 2009
    Messages:
    7,724
    Resources:
    25
    Maps:
    3
    Spells:
    10
    Tutorials:
    3
    JASS:
    9
    Resources:
    25
    I'm unable to load any ObjectMerger thing. My NewGen tells me "External not found in Config file: Object Merger".

    Where do I get this file (clearly I've deleted it or something), from JassHelper or from NewGen? I had to hand-write the Object Editor codes.
     
  9. Nestharus

    Nestharus

    Joined:
    Jul 10, 2007
    Messages:
    6,149
    Resources:
    8
    Spells:
    3
    Tutorials:
    4
    JASS:
    1
    Resources:
    8
    It's part of Grimoire. The last NewGen pack comes with it ; |.

    And thank you for choosing my system =).
     
  10. Bribe

    Bribe

    Joined:
    Sep 26, 2009
    Messages:
    7,724
    Resources:
    25
    Maps:
    3
    Spells:
    10
    Tutorials:
    3
    JASS:
    9
    Resources:
    25
    I'm not "choosing" it ;)

    I'm simply making a version 3 (in Zinc). Two underdogs for the price of one.
     
  11. Nestharus

    Nestharus

    Joined:
    Jul 10, 2007
    Messages:
    6,149
    Resources:
    8
    Spells:
    3
    Tutorials:
    4
    JASS:
    1
    Resources:
    8
    sweet, what kind of features will it have? Will it uses all of the static ifs and what not like this one does for the module? : o. Are you going to be adding locks? Global filter, enable disable, or both?

    =D
     
  12. Bribe

    Bribe

    Joined:
    Sep 26, 2009
    Messages:
    7,724
    Resources:
    25
    Maps:
    3
    Spells:
    10
    Tutorials:
    3
    JASS:
    9
    Resources:
    25
    Haha, I don't know how to exploit those features right now, got a lot on my plate as it is. It will be version #3 of the Retro library in my sig.
     
  13. Bribe

    Bribe

    Joined:
    Sep 26, 2009
    Messages:
    7,724
    Resources:
    25
    Maps:
    3
    Spells:
    10
    Tutorials:
    3
    JASS:
    9
    Resources:
    25
    Looking at the code, holy crap, I didn't know you could implement a module inside of a method :O

    Awesome :p
     
  14. Prince.Zero

    Prince.Zero

    Joined:
    Jun 6, 2010
    Messages:
    217
    Resources:
    3
    Spells:
    3
    Resources:
    3
    AIDS provides nothing but only redundant stuff

    Unit Indexer means only one thing

    INDEXING OF UNITS

    so in case i wanna get a unique ID of a unit i'll use an indexer.
    Everything else is unecessary and redundant.

    But let's keep up with the review of this.

    Despite my opinion on vJass (bad performance, lot of garbage in map script, and lol)

    this is quite useful and good
    You see, simplicity is underrated these days.
    If we keep making things that are huge and huge and rich in content, what options do we give to a user?

    I specificly am an AOS user. I want simple things that run fast. And this is one of it. But unfortunately i've implemented every single system that has been posted on hive in simple JASS so i'll just throw my rating out there and propably some rep for the good work

    Rating - 4.5/5.0 [You could make it even more simple but you didn't -.-]
     
  15. Nestharus

    Nestharus

    Joined:
    Jul 10, 2007
    Messages:
    6,149
    Resources:
    8
    Spells:
    3
    Tutorials:
    4
    JASS:
    1
    Resources:
    8
    uh...
    AIDS does indexing + locks ... : |

    How does this even relate to this system considering it uses extends array?? ....

    Simplicity is not underrated these days at all. Modularity and simplicity is the way of the world... : |...

    What is AOS???

    Again, if you use struct that extends array, vjass doesn't do anything extra...

    I'm curious as to how I could make it more simple. Rather than saying this sucks or this could be more simple or w/e, you should directly state what could be more simple and how it can be more simple. For example
    set x = x + 1 + 1 + 1
    can just be
    set x = x + 3
    rather than saying "that line sux0rz."



    Thank you for the review : )
     
  16. Lambdadelta

    Lambdadelta

    Joined:
    Jul 6, 2009
    Messages:
    730
    Resources:
    1
    Maps:
    1
    Resources:
    1
    AOS: Aeon of Strife. Your generic 3 laned - pick a hero - and kill your enemy "town hall" type map.
     
  17. Nestharus

    Nestharus

    Joined:
    Jul 10, 2007
    Messages:
    6,149
    Resources:
    8
    Spells:
    3
    Tutorials:
    4
    JASS:
    1
    Resources:
    8
    Huh?
     
  18. busterkomo

    busterkomo

    Joined:
    Jun 17, 2007
    Messages:
    1,420
    Resources:
    1
    Tutorials:
    1
    Resources:
    1
    Earlier in the thread you asked him what AOS meant.
     
  19. Nestharus

    Nestharus

    Joined:
    Jul 10, 2007
    Messages:
    6,149
    Resources:
    8
    Spells:
    3
    Tutorials:
    4
    JASS:
    1
    Resources:
    8
    An AOS user in regards to programming makes absolutely no sense (nor does it even make sense when talking about games in general), so I assumed that he must have been talking about something else.

    If he was in fact talking about the genre, then I really don't know how to respond to his statement....
     
  20. busterkomo

    busterkomo

    Joined:
    Jun 17, 2007
    Messages:
    1,420
    Resources:
    1
    Tutorials:
    1
    Resources:
    1
    I think he meant he solely creates maps of the genre AoS.