I made my own markup for the coloring of text. As of now I think just using strings to define your texts is the easiest.
My solution:
Create a format function that replaces parts of your string with the codes used for textformatting. In this case Y means make yellow.
Format("Access your inventory by pressing #Y>I<#Y or clicking on ...")becomes"Access your inventory by pressing <c val=\"FDF000\">I</c> or clicking on ..."
Other codes would be #G> and <#G for green #IMG> and <#IMG for images and so on. This has the advantage that you can globaly define the colors that you are using. If you dont use a replace function and concatenate the strings ala
"Access your inventory by pressing "+cYellow+"I"+cYellowEnd+" or clicking on ..."
at some point you will get an directory overflow error from the script because galaxy has to use too many brackets.
Edit:
Another matter: In galaxy++ the function UnitGetTag(unit):int does not seem to be avaliable, but it's important! (Edit: Nevermind that, seems to be a general issue)
@Slarti
Could you add a new type of compile without the generation of MapScript.galaxy.It takes too long time (always more then 5 min) to generating MapScript.galaxy,.
Time maybe waste in assignment of variables` initial values in function.
thanks.
Ps: Do you know the function ref ,struct ref ,and array ref ? these are addied in v1.5 of SE.But there is no GUI for them .
You can find script about them in SC2Mapster.
O_o Doesn't take longer than 5 seconds for me. But then again, I only have around 4000 lines so far.
I found another function that doesn't work: libNtve_gf_SetDialogItemToggled. The program doesn't recognize it as a valid method (It doesn't highlight it, can't compile it, etc.) It seems to work in 3.1.0, but that version doesn't let me inject. I tried using the native, but the native uses the constant c_triggerControlPropertyToggled, which for some reason is also unrecognized by galaxy + +. :/
How long taking in compiling is mainly decided by code complexity, or how many lines of MapScript.galaxy.
Unlucky,my script of 600+ lines generate 13000+ lines MapScript.galaxy,and most of the lines are assignment sof variables` initial value
BUG: If you create a file that consists only constants, the compiler ignores to constants and creates an empty file. This will result in a crash when launching the game.
QUESTION: Why are all trigger initializations run via the "Invoke" function? This feels awefully uneffective...
Apart that, I must say this tool is awesome! I definantly like the namespace feature most.
Well, sorry to say it but Galaxy++ will, most likely, not receive any new features (at least not in the near future). But if you really want them, have a look at the Galaxy++ source, implement them and send them to Beier :)
@Slarti Could you add a new type of compile without the generation of MapScript.galaxy.It takes too long time (always more then 5 min) to generating MapScript.galaxy,. Time maybe waste in assignment of variables` initial values in function.
thanks.
Ps: Do you know the function ref ,struct ref ,and array ref ? these are addied in v1.5 of SE.But there is no GUI for them . You can find script about them in SC2Mapster.
Sorry for my poor English.
Please note that I'm not the one who developed Galaxy++ or the Editor. That credit goes to Beier. I only made a small change to the source. I'm sorry compiling takes so long. You could try to disable the optimization flags in the editor but it is not guaranteed to work. About the "ref" types. You can already use pass-by-reference functionality in Galaxy++. You can find the documentation here or use pointer types.
Basically Galaxy++ emulates many features of 1.5 (see also: function pointers).
I found another function that doesn't work: libNtve_gf_SetDialogItemToggled. The program doesn't recognize it as a valid method (It doesn't highlight it, can't compile it, etc.) It seems to work in 3.1.0, but that version doesn't let me inject. I tried using the native, but the native uses the constant c_triggerControlPropertyToggled, which for some reason is also unrecognized by galaxy + +. :/
I hope that when my patch for 3.1.0 is merged with the Galaxy++ source, those errors will be of the past.
I get flooded with error messages for not recognized constants.
The current version 3.1.0 is bugged in that regard as it does not function while the sc2 editor is open (this was my fault). If the sc2 editor is open, the 3.1.0 version has absolutely no information about any sc2 functions or constants making it bug out. I fixed this for the next version, but Beier has not released it yet (like he said: he is busy at the moment).
So, either:
Revert to the version before that and the errors about the missing constants should be gone. But you won't be able to use any new sc2 1.5 features.
Use the Galaxy++ editor only when the sc2 editor is closed. This would make developing pretty annoying.
The dialog designer crashes on me for a specific dialog. It wouldn't even let me send a bug report, it just freezes and windows terminates the program.
Attached the dialog
Additionally, I would suggest using a folder or something of the sort, where the default script files are stored. The program could pull the SC2 script files from your game by pressing a button and put them in that folder. But you also have the chance to use script files for other versions, modified versions or even additional files (which may be included in mods or something).
I loaded up the editor to try out the dialog feature. When I search for images for any dialog item (images, backgrounds, etc)...the list is completely empty. What do I need to do get it to show the images for working with dialogs? The texture browser is completely empty
The Team - TnTProductions
TnTProductions latest Project - Docking Bay 13
TnTProductions Epic RPG in the making - Psionics: Chaos Rising
Check out our website on wixx! http://bulletbutter.wix.com/tntproductions
I know it has been almost 2 months since last post, but I thought I would wrap this up, since I am still getting a few questions about it once in a while.
I haven't been developing on this for about a year. I have been wanting to have another go at it where I correct some of the mistakes I did with the compiler such as choice of parser, unit tests, overall architecture, and so on.
However, I find it hard to be motivated to put in the amount of hours a project on this scale demands, when I can go to work and get paid to do the same.
So yes. Galaxy++ is very much dead, and I don't expect any serious development will ever be done on it again.
I would suggest you look elsewhere for an editor, since this one is no longer supporting all the features of galaxy, and I can not guarantee that it produces valid code.
That said, I uploaded version 3.0.8 to the project page, and you can find the source code at https://code.google.com/p/galaxy-pp/ if you are interested.
I am sorry to say this so late. And I am a new programmer. So I had not say the truth that I had translated GE++ into Chinese and remove some functions such as the upload library half a year before.(I linked to this page ) http://bbs.islga.org/forum.php?mod=viewthread&tid=2152473
This is the page. I like GE++, it is cool.
I know little C#, and it is so hard for me to do much for GE++, and I don't agree some ideas form you. Just like I have said , I don't like the code translation.
I was a mapper of war3 also. And the script language of it, the Jass is so lag, the translated language of Jass , which named VJass, may be more lag than the same code of function.
So I want to remove this function of GE++ . I don't know how much I would do, there is so little user of galaxy for mapping. And I find none us GE++ in China.
Thank you for you job ,I express my sincerely sorry again about what I do.
I made my own markup for the coloring of text. As of now I think just using strings to define your texts is the easiest.
My solution: Create a format function that replaces parts of your string with the codes used for textformatting. In this case Y means make yellow.
Other codes would be #G> and <#G for green #IMG> and <#IMG for images and so on. This has the advantage that you can globaly define the colors that you are using. If you dont use a replace function and concatenate the strings ala
at some point you will get an directory overflow error from the script because galaxy has to use too many brackets.
Edit:
Another matter: In galaxy
++
the function UnitGetTag(unit):int does not seem to be avaliable, but it's important! (Edit: Nevermind that, seems to be a general issue)Another awesome feature would be the foreach loop for unitgroups and playergroups!
Edit: Summing up!
1) declaring multiple GLOBAL variables like "int a, b, c;";
2) initializing string arrays like "string[3] names = { "Hodor", "Brandon", "Robb" };
3) foreach for player/unit-groups
Apart that, I must say this tool is awesome! I definantly like the namespace feature most.
@Slarti Could you add a new type of compile without the generation of MapScript.galaxy.It takes too long time (always more then 5 min) to generating MapScript.galaxy,. Time maybe waste in assignment of variables` initial values in function.
thanks.
Ps: Do you know the function ref ,struct ref ,and array ref ? these are addied in v1.5 of SE.But there is no GUI for them . You can find script about them in SC2Mapster.
Sorry for my poor English.
O_o Doesn't take longer than 5 seconds for me. But then again, I only have around 4000 lines so far.
I found another function that doesn't work: libNtve_gf_SetDialogItemToggled. The program doesn't recognize it as a valid method (It doesn't highlight it, can't compile it, etc.) It seems to work in 3.1.0, but that version doesn't let me inject. I tried using the native, but the native uses the constant c_triggerControlPropertyToggled, which for some reason is also unrecognized by galaxy + +. :/
@DieHappy1234: Go
How long taking in compiling is mainly decided by code complexity, or how many lines of MapScript.galaxy. Unlucky,my script of 600+ lines generate 13000+ lines MapScript.galaxy,and most of the lines are assignment sof variables` initial value
BUG: If you create a file that consists only constants, the compiler ignores to constants and creates an empty file. This will result in a crash when launching the game.
QUESTION: Why are all trigger initializations run via the "Invoke" function? This feels awefully uneffective...
-BUG: UnitGetOwner(unit):int is unknown to the compiler.Edit: Never mind that.
Hey, I'm currently not online very often as I don't have internet at home.
Well, sorry to say it but Galaxy
++
will, most likely, not receive any new features (at least not in the near future). But if you really want them, have a look at the Galaxy++
source, implement them and send them to Beier :)Please note that I'm not the one who developed Galaxy
++
or the Editor. That credit goes to Beier. I only made a small change to the source. I'm sorry compiling takes so long. You could try to disable the optimization flags in the editor but it is not guaranteed to work. About the "ref" types. You can already use pass-by-reference functionality in Galaxy++
. You can find the documentation here or use pointer types.Basically Galaxy
++
emulates many features of 1.5 (see also: function pointers).I hope that when my patch for 3.1.0 is merged with the Galaxy
++
source, those errors will be of the past.See here
I get flooded with error messages for not recognized constants. Also the editor crashes, if I try to insert a compressed unit filter.
The current version 3.1.0 is bugged in that regard as it does not function while the sc2 editor is open (this was my fault). If the sc2 editor is open, the 3.1.0 version has absolutely no information about any sc2 functions or constants making it bug out. I fixed this for the next version, but Beier has not released it yet (like he said: he is busy at the moment).
So, either:
++
editor only when the sc2 editor is closed. This would make developing pretty annoying.The dialog designer crashes on me for a specific dialog. It wouldn't even let me send a bug report, it just freezes and windows terminates the program.
Attached the dialog
Additionally, I would suggest using a folder or something of the sort, where the default script files are stored. The program could pull the SC2 script files from your game by pressing a button and put them in that folder. But you also have the chance to use script files for other versions, modified versions or even additional files (which may be included in mods or something).
How do you use mod methods such as from the Campaign or GAx3? The include doesn't work either.
I loaded up the editor to try out the dialog feature. When I search for images for any dialog item (images, backgrounds, etc)...the list is completely empty. What do I need to do get it to show the images for working with dialogs? The texture browser is completely empty
How do you run this? if i click on the exe it just crashes
e/ the zip file worked but the natives list wont, nothing is highlighted, autocorrected, etc.
Do GE still Develop?
I know it has been almost 2 months since last post, but I thought I would wrap this up, since I am still getting a few questions about it once in a while.
I haven't been developing on this for about a year. I have been wanting to have another go at it where I correct some of the mistakes I did with the compiler such as choice of parser, unit tests, overall architecture, and so on.
However, I find it hard to be motivated to put in the amount of hours a project on this scale demands, when I can go to work and get paid to do the same.
So yes. Galaxy
++
is very much dead, and I don't expect any serious development will ever be done on it again. I would suggest you look elsewhere for an editor, since this one is no longer supporting all the features of galaxy, and I can not guarantee that it produces valid code.That said, I uploaded version 3.0.8 to the project page, and you can find the source code at https://code.google.com/p/galaxy-pp/ if you are interested.
:(
It was fun, while it lasted.
Indeed it was :)
@SBeier
I am sorry to say this so late. And I am a new programmer. So I had not say the truth that I had translated GE++ into Chinese and remove some functions such as the upload library half a year before.(I linked to this page )
http://bbs.islga.org/forum.php?mod=viewthread&tid=2152473
This is the page. I like GE++, it is cool.
I know little C#, and it is so hard for me to do much for GE++, and I don't agree some ideas form you. Just like I have said , I don't like the code translation.
I was a mapper of war3 also. And the script language of it, the Jass is so lag, the translated language of Jass , which named VJass, may be more lag than the same code of function.
So I want to remove this function of GE++ . I don't know how much I would do, there is so little user of galaxy for mapping. And I find none us GE++ in China.
Thank you for you job ,I express my sincerely sorry again about what I do.
@whimsyduke: Go
Can you translate it to English and upload on sc2mapster?
http://www.youtube.com/user/RussianMapster