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'm currently editing the Galaxy++ source so that functions are automatically gathered from the various starcraft 2 script files inside the game mpq's. As SBeier said, right now the available functions are hardcoded, so there may be some missing ones. Functions added with 1.5 are also not available yet.
I'm not sure when I will finish this but it's going well so far. So reading the script files and parsing them for functions/constants works already but the integration with the editor is missing. Since I don't really have a good understanding of the project yet, this may take some time.
I sent you some error reports, where the program threw errors at me for every letter I typed. I cannot seem to reproduce it, but it seemed to be related to the suggestion list.
Highlights the last line as comment, but it is included in the output script.
Suggestion: Add a "Save As" functionality, so we can quickly save a project under a new name (for backups etc). Currently, we need to copy the files manually.
I might have mentioned it already, but I would really like to have copy%paste support for the dialog designer. Either for just copy&pasting fields (you can copy most fields, but paste doesn't work that good. Try to paste a string in an image field), probably by just selecting the field instead of the actual text, similar to how it is possible in the Galaxy Editor for Data fields, and/or for entire dialogs or dialog items.
Bug with dialog items for the dialog designer: When trying to change min/max values for certain dialog items, you are only allowed to write fixed numbers in a,b format, instead of a.b. This , will be added to the output script, causing a syntax error.
Unhandled exception when doing right click -> insert constructor in a Dialog script.
How do we use custom imported pictures in the Dialog Designer?
Its hardly possible to make fullscreen dialogs with the dialog designer; you cannot see any UI borders or select multiple resolutions at all. Zoom would be nice, as well.
€ okay, so zoom is already there. However, for a fullscreen dialog (up to 2133x1200 UI units) you only see about 1/4 of it, the rest is cut off.
€€ thats, if you mark a dialog as Fullscreen, apparently, it just gets resized to something like 500;500
Well.. for each switch case the test is basically switchVar == testExp. How can the other case be true without being the exact same thing as the first case? Or why would you want to identical cases?
It is working as intended as it is
For your implementation of a switch, this is true; in a sense, fall-through doesn't even has a reason to exist.
But from my understanding, a switch should be able to do this:
switch(i){case>4:
{Print("i is bigger than 4");}case>8:
{Print("Wow! And its even bigger than 8!");}}
This way, the fall-through would actually make sense.
Yours doesn't support this, because we can only check exact values for the switchVar.
I don't have that much programming experience, so I might simply misunderstand the concept of switch and fall-through, but my version somehow makes more sense to me than yours.
€ nvm, looked it up, and, of course, your version is correct and I was wrong. Still, I have a hard time understanding this decision ;)
Suggestion: Don't automatically add the } after a {, when typing it within a string.
2 problems with InvokeAsync:
How do I use it on a class method? Doing something like this:
results in an exception and will probably be hard to detect, because of the 2 instances of >
(however using (*f). instead of -> causes an exception as well).
The switch is not a bug. In the documentation it does say "Note that it is possible to fall through to the next case if one doesn't write break, like it is done from marine to zealot."
Yes, it should be able to fall though, but the 2nd case should only be called, if the case itself is true, right? For this code, the 2nd case should never ever be true; the switch variable is always true and the case is always false. Even if it falls through the first case, it should not run the 2nd one in this case, or did I misunderstand something?
:(
It was fun, while it lasted.
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 get flooded with error messages for not recognized constants. Also the editor crashes, if I try to insert a compressed unit filter.
Nice! I was hoping, someone would do that.
Also, the arcade seems to disallow importing a custom MapScript.galaxy file, which kind of makes Galaxy
++
unuseable for now.I would like support for template panels in the Dialog Designer, as well as changing rotation.
I sent you some error reports, where the program threw errors at me for every letter I typed. I cannot seem to reproduce it, but it seemed to be related to the suggestion list.
@SBeier: Go
You are right, it was an issue with my code. Sorry :)
Calling return in an initializer does not only seem to end this initializer, but to end the entire initialization process.
Highlights the last line as comment, but it is included in the output script.
Suggestion: Add a "Save As" functionality, so we can quickly save a project under a new name (for backups etc). Currently, we need to copy the files manually.
I might have mentioned it already, but I would really like to have copy%paste support for the dialog designer. Either for just copy&pasting fields (you can copy most fields, but paste doesn't work that good. Try to paste a string in an image field), probably by just selecting the field instead of the actual text, similar to how it is possible in the Galaxy Editor for Data fields, and/or for entire dialogs or dialog items.
Bug with dialog items for the dialog designer: When trying to change min/max values for certain dialog items, you are only allowed to write fixed numbers in a,b format, instead of a.b. This , will be added to the output script, causing a syntax error.
Unhandled exception when doing right click -> insert constructor in a Dialog script.
How do we use custom imported pictures in the Dialog Designer?
Its hardly possible to make fullscreen dialogs with the dialog designer; you cannot see any UI borders or select multiple resolutions at all. Zoom would be nice, as well.
€ okay, so zoom is already there. However, for a fullscreen dialog (up to 2133x1200 UI units) you only see about 1/4 of it, the rest is cut off.
€€ thats, if you mark a dialog as Fullscreen, apparently, it just gets resized to something like 500;500
For your implementation of a switch, this is true; in a sense, fall-through doesn't even has a reason to exist.
But from my understanding, a switch should be able to do this:
This way, the fall-through would actually make sense.
Yours doesn't support this, because we can only check exact values for the switchVar.
I don't have that much programming experience, so I might simply misunderstand the concept of switch and fall-through, but my version somehow makes more sense to me than yours.
€ nvm, looked it up, and, of course, your version is correct and I was wrong. Still, I have a hard time understanding this decision ;)
Suggestion: Don't automatically add the } after a {, when typing it within a string.
2 problems with InvokeAsync:
How do I use it on a class method? Doing something like this:
results in an exception and will probably be hard to detect, because of the 2 instances of >
(however using (*f). instead of -> causes an exception as well).
Also, how do we invoke a delegate asynchronously?
Yes, it should be able to fall though, but the 2nd case should only be called, if the case itself is true, right? For this code, the 2nd case should never ever be true; the switch variable is always true and the case is always false. Even if it falls through the first case, it should not run the 2nd one in this case, or did I misunderstand something?
Bug with inline functions:
causes an unhandled exception