BlackHole project

Jesus4Lyf

Good Idea™
Reaction score
397
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.
 

Attachments

  • BlackHole.zip
    238 KB · Views: 388
  • BlackHoleSource.zip
    24.8 KB · Views: 302

Jesus4Lyf

Good Idea™
Reaction score
397
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. :)
 

Troll-Brain

You can change this now in User CP.
Reaction score
85
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.
 

Vestras

Retired
Reaction score
248
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. :)

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:
 

Joker(Div)

Always Here..
Reaction score
86
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.
They stated they aren't going to have galaxy as a part of the trigger editor in the last Twitter Q&A session.
 

Troll-Brain

You can change this now in User CP.
Reaction score
85
They stated they aren't going to have galaxy as a part of the trigger editor in the last Twitter Q&A session.
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 ...
 

Jesus4Lyf

Good Idea™
Reaction score
397
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:
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
 

Vestras

Retired
Reaction score
248
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 ...

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.

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

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?

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. :)

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

Jesus4Lyf

Good Idea™
Reaction score
397
If you give me your MSN we can discuss it further :)
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

So what's the difference between Voidscript and Galaxy?
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.
 

Vestras

Retired
Reaction score
248
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.

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.

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.

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();)
 

overload119

New Member
Reaction score
5
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.
 

Weep

Godspeed to the sound of the pounding
Reaction score
401
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:
 

Vestras

Retired
Reaction score
248
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:

There's 1 IDE and 2 languages, take it easy. :p
 

Jesus4Lyf

Good Idea™
Reaction score
397
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.
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:
 

overload119

New Member
Reaction score
5
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.

a. I can't put everything Andromeda has into Voidscript and
b. Why you can do Andromeda --> BlackHole --> GUI.

Why would you want to do something that has already been done?
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      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