BlackHole project

Discussion in 'Starcraft 2 (SC2) Editor Help' started by Jesus4Lyf, Apr 29, 2010.

  1. Jesus4Lyf

    Jesus4Lyf Good Idea™

    Ratings:
    +394 / 0 / -0
    Black Hole
    Version 1.0.4 BETA​

    Requirements:
    - Java 6

    How to use:
    Run from the command line using in the folder of BlackHole.jar using: java -jar BlackHole.jar
    This will parse all ".void" files inside the "void" scripts directory into a single "Output.SC2Lib" file to be imported into your map.

    Example Voidscript:
    JASS:
    library TEST { // Test library
    	int count = 0;
    	public void Increment(int toAdd){
    		count += toAdd;
    	}
    	public gui int GetCount() {
    		return co/* random comment*/unt;
    	}
    }


    Features:
    Previous to-do which was here was completed.
    Will document features properly some time...

    Change List:
    - Version 1.0.4 BETA: Implemented private identifiers. Changed previous "public" to "gui".
    - Version 1.0.3 BETA: Added parsing of init{} syntax in libraries, implemented array parsing.
    - Version 1.0.2 BETA: Initial groundwork for init{} and arrays completed.
    - Version 1.0.1 BETA: Massive refactor.
    - Version 1.0.0 BETA: Release.
     

    Attached Files:

    • Like Like x 1
  2. Jesus4Lyf

    Jesus4Lyf Good Idea™

    Ratings:
    +394 / 0 / -0
    Hi,

    I'm attempting to write a parser which should compile SC2Lib files from a galaxy-like syntax.

    Just scouting for interest before I get too serious. Objectively is loosely a decompiler for galaxy script, so writing GUI can be made easier. :thup:

    Writing it in Java. I don't care about compile time efficiency, I care about maintainability. :)
     
  3. Troll-Brain

    Troll-Brain You can change this now in User CP.

    Ratings:
    +85 / 0 / -0
    Isn't it to much early ?
    I highly hope Blizzard will allow us to convert a trigger in plain galaxy when the official editor will be released, like wc3 in fact.
     
  4. Jesus4Lyf

    Jesus4Lyf Good Idea™

    Ratings:
    +394 / 0 / -0
    Progress on this is that it now parses galaxy code successfully. Working on making it compile to SC2Lib files tomorrow, hopefully. :thup:
     
  5. Vestras

    Vestras Retired

    Ratings:
    +249 / 0 / -0
    If you could make a Galaxy --> SC2Lib parser I would love it. I need that for Moonlite, so go ahead and do it please.
    :thup:
     
  6. Joker(Div)

    Joker(Div) Always Here..

    Ratings:
    +86 / 0 / -0
    They stated they aren't going to have galaxy as a part of the trigger editor in the last Twitter Q&A session.
     
  7. Troll-Brain

    Troll-Brain You can change this now in User CP.

    Ratings:
    +85 / 0 / -0
    OMG :thdown:
    Even in the worst scenario i had imagined i didn't thought they would not include a decent way to code with galaxy instead of GUI, at very least i thought they would add a header like TFT.
    It's so sad ...
     
  8. Jesus4Lyf

    Jesus4Lyf Good Idea™

    Ratings:
    +394 / 0 / -0
    I think we need to talk. I hope to add lang features with this like JassHelper, and also make it then compile to GUI. If you want to write a good editor for the lang I come up with, I think we've got a match made in heaven. :thup:

    So far, I've dropped the ; from the very end of a struct declaration. Because it was:
    JASS:
    struct hi{
        int x;
        int y;
    }; // <-- ??

    Calling the "new" language Voidscript.

    Edit: Proof of concept complete, I have the first BlackHole generated SC2Lib file working in SC2 editor. Once I complete the very basic functionality, I'll upload an Alpha version. :D
     
  9. Jesus4Lyf

    Jesus4Lyf Good Idea™

    Ratings:
    +394 / 0 / -0
    Released Version 1.0.0 BETA with source. :thup:

    Needs a lot of work, but lets people start giving feedback. See first post of thread for details on how it works/what it does. :)
     
  10. Vestras

    Vestras Retired

    Ratings:
    +249 / 0 / -0
    There's still hope. As long as maps have a MapScript.galaxy anyone can write Galaxy, more or less. Might be the GE doesn't support it, but there will be third party programs for it then.

    Well, Moonlite accepts more than one preprocessor, so basically it's already compatible. But most preprocessors needs custom codes unless they're built directly for Moonlite (which is basically like JassHelper runs), so I think I would need to integrate BlackHole with Moonlite. If you give me your MSN we can discuss it further :)
    So what's the difference between Voidscript and Galaxy?

    Imma check out the code and see how it runs.
    Keep up the good work :thup:
     
  11. Jesus4Lyf

    Jesus4Lyf Good Idea™

    Ratings:
    +394 / 0 / -0
    Hm. I don't really have MSN.. I use Google Talk. :(

    Let me know what's required to integrate and I could be able to help you out.

    But yeah, definitely taking comments/requests at this point for BH. Let me know your feedback! :D

    Very little:
    - Everything must be inside a library.
    - Public keyword added to make things usable in GUI (and will have LIBNAME_ prefix later, when I implement prefixing).
    - Structs no longer need that ';' at the end of their declaration.
     
  12. Vestras

    Vestras Retired

    Ratings:
    +249 / 0 / -0
    Well, I'll download (?) Google Talk then. :p EDIT: There, downloaded Google Talk. mcrelsker(at)gmail(dot)com
    Moonlite is in C#, so I don't think you can help really. (Unless you know C#?) The integration process is also not very hard, depending on how you want it to be integrated of course.

    So BlackHole is actually also a Language instead of just a Galaxy -> SC2Lib converter?
    EDIT: Also, please - not libraries. I've had enough of them. Classes, yes :) (And for public -> className.methodName();)
     
  13. Jesus4Lyf

    Jesus4Lyf Good Idea™

    Ratings:
    +394 / 0 / -0
    Released Version 1.0.2 BETA. :)
     
  14. overload119

    overload119 New Member

    Ratings:
    +5 / 0 / -0
    From what I understand this is just another language.

    I can't help but feel like most people are going to be more lenient towards Andromeda.

    The code -> Sc2 LIB is really helpful though.
     
  15. Weep

    Weep Godspeed to the sound of the pounding

    Ratings:
    +400 / 0 / -0
    There seem to be a million and a half "vGalaxyScript" and IDE projects, and I can't follow all of them to hound for Mac compatibility. :(

    At least this one is in Java. :thup: :thup:
     
  16. Vestras

    Vestras Retired

    Ratings:
    +249 / 0 / -0
    There's 1 IDE and 2 languages, take it easy. :p
     
  17. Jesus4Lyf

    Jesus4Lyf Good Idea™

    Ratings:
    +394 / 0 / -0
    Yeah. But this language is designed to integrate with GUI. Andromeda, from what I understand, has no integration with SC2. Anyway, I don't see why:
    a. I can't put everything Andromeda has into Voidscript and
    b. Why you can do Andromeda --> BlackHole --> GUI.
    :thup:
     
  18. overload119

    overload119 New Member

    Ratings:
    +5 / 0 / -0
    What do you mean by integrated?

    Converting to SC2Lib and having to import is hardly "integrated".

    Are you saying your thing is going to end up being like TESH?

    I'm just waiting on Vestras tool, which is being done in conjunction with Andromeda, so that it almost completely replaces the GE and so in effect it is 'integrated' with SC2. Honestly, the Trigger Editor is so laggy in GE.

    Why would you want to do something that has already been done?
     
  19. Jesus4Lyf

    Jesus4Lyf Good Idea™

    Ratings:
    +394 / 0 / -0
    Dunno what you're talking about. Andromeda doesn't even work, last I checked.
    Pretty sure Vestras is happy to work with BlackHole, also.
     
  20. Jesus4Lyf

    Jesus4Lyf Good Idea™

    Ratings:
    +394 / 0 / -0
    Released version 1.0.4, now has private identifiers as private and parses arrays and using "gui" prefix on a function makes it GUIable (instead of using "public", which is now used for public library members).

    So this is almost usable in a practical way...
     

Share This Page