• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Gui-isator : a program to mod the GUI editor

Status
Not open for further replies.

rgf

rgf

Level 3
Joined
Dec 27, 2008
Messages
21
Hello everyone !
Here's the link : Gui-isator

This program allows one to add functionnalities to the GUI editor, like for instance JASS functions using their header (function ... takes ... returns ...), new types, categories, presets values and also structs and their methods. (When a struct is added, the allocate and dellocate methods are automatically added, and they are removed if the create/destroy methods are added)

Just extract it with the DLLs in the root directory of Warcraft III, although it is'nt required (but it would be easier to use).

- It will automatically generate two files : TriggerData and TriggerStrings, these two files have to be placed in the root directory (that's why it's better to put the program in the root).
- All the modifications will be available in your editor only if you reload it, this system is compatible with JNGP.
- If you use UMSWE, it isn't necessary to deactivate it, however the modifications to the GUI editor brought by the UMSWE won't be available while these two files are in the root directory.


Every modification is listed in a configuration file.
It is possible to reset every modifications, which will create a new config file. Then you'll be able to get back all your old config files (and the modifications they list) using the program.
It would also be useful if for instance, JASS resources accross the forum are converted to individual configuration files by their maker or anyone else, so it would be easier to implement for the users.

Bugs may remain but I think I have removed them all.
I want also thank Tirlititi who helped me a lot and made a lot of tests.
 
Last edited:

rgf

rgf

Level 3
Joined
Dec 27, 2008
Messages
21
Used to be my dream too :p

Well I didn't know where to put it, if it needed discussion or not so I posted it here, but now that you mentioned it I've uploaded it in the Tools section
 
Level 5
Joined
May 6, 2013
Messages
125
I really wish this tool would work. Sadly, i get a runtime error somewhere inside one of the very first calls to the qt library. And due to the extensive name mangling, i can not even tell which function that was.
On a more general note, i would consider using microsofts visual c(++) if your targeting windows pcs only (which i assume out of the context... dlls, exes, all that stuff), as, unlike gcc (which nobody really has), Microsofts runtime dlls are more widespread and can be downloaded more easily than the gcc dlls, so you wouldn't have to ship those ddls as well (i still had to get a dll called "libgcc_s_dw2-1.dll" to even boot the program, and i actually DO have g++ installed). Unless of course Qt is the dll thats building the gcc dependency. Which would be pretty... stupid.

I've thought many times about doing such a hack just to come to the conclusion that i'm too damn lazy to do something like that. Now it's here and its crashing. Please fix it, that would be SO awsome :)
 
I really wish this tool would work. Sadly, i get a runtime error somewhere inside one of the very first calls to the qt library. And due to the extensive name mangling, i can not even tell which function that was.
On a more general note, i would consider using microsofts visual c(++) if your targeting windows pcs only (which i assume out of the context... dlls, exes, all that stuff), as, unlike gcc (which nobody really has), Microsofts runtime dlls are more widespread and can be downloaded more easily than the gcc dlls, so you wouldn't have to ship those ddls as well (i still had to get a dll called "libgcc_s_dw2-1.dll" to even boot the program, and i actually DO have g++ installed). Unless of course Qt is the dll thats building the gcc dependency. Which would be pretty... stupid.

I've thought many times about doing such a hack just to come to the conclusion that i'm too damn lazy to do something like that. Now it's here and its crashing. Please fix it, that would be SO awsome :)

Well screenshotting the error should help him at least.
 
Level 5
Joined
May 6, 2013
Messages
125
Well screenshotting the error should help him at least.

Not much to screenshot. Its a standard c++ standard library runtime error, just a little bit malformed. I'll give a screenshot anyway, for the people that can'T get enough of that window ;)

Hm, now that i think about it, i could swear that this is not the original font. It's like... kind of shady. Or maybe i'm just tired.
 

Attachments

  • error.jpg
    error.jpg
    26.8 KB · Views: 219

rgf

rgf

Level 3
Joined
Dec 27, 2008
Messages
21
I edited the link and this should work now. A friend of mine got the same problem on the first version and now it works for him. I also changed some heavy DLLs and included the gcc DLL so that it takes only 13 mb now, but for now we will have to deal with the (cluttering ?)
 
Any suggestion or anything ^^ ?

By the way when will I know if my tool is approved or not (I uploaded it in the tools section as well) ?

You'll get a PM if it gets moderated. I'll try to see if I can test it when I have time, it sounds neat! Especially considering it was tested by Tirlititi, I doubt there will be much to fix. :p

I'll be busy tomorrow but I should be able to get to it on Friday.
 
Level 5
Joined
May 6, 2013
Messages
125
Its not like writing plain jass code would be superior in every way. Gui has its own neat set of advantages, especially the automatic elapse and contract functionality and, in general, much easier to read triggers for no additional effort whatsoever, but also a total elimination of spelling errors (which is a blessing on maps that take a lot of time to save), and you never have to learn the (really inconsistent) function names. The only real problem is the lack of local and custom function support (would be really nice if somebody implemented that :thumbs_up:).
 
Its not like writing plain jass code would be superior in every way. Gui has its own neat set of advantages, especially the automatic elapse and contract functionality and, in general, much easier to read triggers for no additional effort whatsoever, but also a total elimination of spelling errors (which is a blessing on maps that take a lot of time to save), and you never have to learn the (really inconsistent) function names. The only real problem is the lack of local and custom function support (would be really nice if somebody implemented that :thumbs_up:).
Easier to read? Really?

I prefer the "all in one" short implementations of JASS spells over the "spread-over-multiple-triggers" GUI shit.
This and the ugly nested GUI statements that give you a headache to read.

Clean Jass code is much easier to read than GUI. And more logical to boot, because of the poor implementation of loops and enumerations in GUI.


And yes, the functions are sometimes inconsistent. However, if you use JASS long enough, you will know them inside-out, so whatever...
 
Level 14
Joined
Jun 27, 2008
Messages
1,325
The "easier to read" and "more comfortable" discussion about GUI vs. Jass always ends up like this:
- People who only know GUI say GUI is easier and more comfortable.
- People who know GUI and Jass agree that Jass is easier and more comfortable
- Those people who think they know jass but only read 2 or 3 tutorials and never actually used it say Jass is shit and GUI is sooo much better.

GUI is easier to learn, but Jass will always be easier to use (once you know it).
 

rgf

rgf

Level 3
Joined
Dec 27, 2008
Messages
21
To PurgeandFire : Thx a lot !

Muzzel clarified the situation well.
I think it would be mostly useful for users who don't know how to use custom scripts. Furthermore a lot of GUI users are using thoses lines of code without even knowing how they works, how to change them to give the inputs they want to a function, or they can have doubts about their effects. By the time I used GUI I would have liked to have this kind of customization possible !

To Chaosy : The header of the function is its prototype, like in your example "function GetTriggerEventId takes nothing returns eventid".
 
The thing is: if people would just read one of the many simple tutorials on how to use JASS, then they would know and understand how to use custom scripts and all.

For someone who codes in GUI alot, the shift over to JASS is not far away. GUI, in fact, has a very similar structure. You can easily learn JASS in a couple of days if you just want to.

That's why I simply can not appreciate resources that improve GUI usage. Simply because I feel it would be better to encourage learning JASS instead of making GUI triggers better.
 

rgf

rgf

Level 3
Joined
Dec 27, 2008
Messages
21
To Chaosy : Yes it's as simple as that !

I know what you mean but some people don't want to learn jass. Sometimes, they have good reasons, and I think this kind of tool could be useful for them.
 
Level 14
Joined
Jun 27, 2008
Messages
1,325
I have to agree with Zwiebell.

I think the only good reason not to learn jass is if GUI is sufficient for your needs. And in that case you dont need to improve GUI.

Not matter how much you add to GUI, it will never be as good as jass, so at some point users will have to make the step and learn jass. Imo the earlier the better.
 

rgf

rgf

Level 3
Joined
Dec 27, 2008
Messages
21
I know you have a really good point, and that jass is infinitely more powerful than GUI, using it myself, but what do you expect me to do ^^ ? It can be useful to some people, that's why I put it here
 
Status
Not open for further replies.
Top