• Check out the results of the Techtree Contest #19!
  • Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.
  • Create a void inspired texture for Warcraft 3 and enter Hive's 34th Texturing Contest: Void! Click here to enter!
  • The Hive's 22nd Icon Contest: Creep Abilities is now concluded, time to vote for your favourite set of icons! Click here to vote!

GuiGui Database Manager

This bundle is marked as pending. It has not been reviewed by a staff member yet.
Are you a GUI enjoyer? Do you want more functionality without having to use so much custom script?
Introducing: GuiGui Database Manager!

What is it?
GuiGui Database Manager is not a trigger/code editor/converter. It is a tool for adding to/removing from/updating the functions, variable types, categories, etc. etc. that are available locally in the World Editor. GuiGui modifies 3 different files: triggerdata.txt, triggerstrings.txt, and worldeditstrings.txt. These files are then read by the World Editor to populate everything usable in GUI in the trigger editor.

Why should I use this instead of notepad?
Since the files used by the editor are txt files, you could just use notepad to edit them instead. However, I aim to make it much less of a headache with GuiGui by providing a GUI to work with, eliminating the hassle of going back and forth from entry to section header to make sure you're not formatting things incorrectly.
GuiGui also has the added functionality of modulization. This means you can make entries functions for things like custom libraries with GuiGui, export them as a module, and then share the module with others so that they can import the module into their trigger library, allowing them to use your library functions in GUI (they would still need to have your library present in a map to do this, of course).


How do I use it?
Firstly, you'll need to install .Net Desktop Runtime 6.0.23 if you don't already have it, and you'll need to enable local files (more info here: Local files) if you haven't already. Also, this program is only compatible with Reforged. I have not accounted for the legacy formats for the triggerdata/triggerstrings/worldeditstrings files, and do not plan to do so at any point in the near future. When you launch GuiGui, you have the option of starting a database from scratch by yourself, but this isn't recommended unless you're just creating a module. If you're not just creating a module, you can load your own triggerdata/triggerstrings/worldeditstrings files, or load either Blizzard's files (taken from patch 1.36), or my own modified files (rev10). After doing this, you can modify any of the data available. Do note that invalid modifications/entries can cause the editor to load incorrectly or crash, and there's not much sanity checking available in GuiGui at this time. That being said, you probably have to actively try to make something that'll cause the editor to crash. When you're done editing things, save your .txt files and place them in your install directory under retail\UI (you will need to create this folder if it doesn't exist). It's important to know that if you cancel while saving the .txt files, no matter which one you cancel at, none of the will save any data and you will instead be left with empty files. There are 3 custom blps provided by me that you can use for category icons as well, and they will automatically be saved in the same folder as the output txt files if they are being referenced by any categories. These blps should go in retail\replaceabletextures\worldeditui (again, create the folders if they don't already exist). After putting all files in their appropriate places, you can fire up the World Editor and all of your changes should take effect.
I have attached a sample module for the Ascii Library found here: [Lua][vJass] Ascii

Note: As far as I know, only functions written in JASS are usable in GUI. I've tried testing some lua functions, both custom and not custom, in GUI, and have had no success.

I do plan to keep working on GuiGui and expand its functionality. Currently, it doesn't save comments and doesn't allow you to load your own images for use as category icons, but both of those things should be remedied before too long. I have had a few people help me with testing (thanks @Wrda and @WaterKnight ), but our testing hasn't been super intensive, and I may have missed some bugs. That being said, if you do happen to run into any issues, please let me know and I'll do my best to fix them. I'd also love to hear any other constructive feedback anyone may have. Thanks, and enjoy!


v1.6.0
-Added functionality to parse function display names, parameters, and hints from imported .j files (example syntax: function TestFunc3 takes player p returns force //@GGName = "Test Function 3" @GGParams = "Test with ",~Player,"." @GGHint = "Some shit to test with")
-Added an Auto-Update option under the edit menu. Auto-update changes whatever function/category/type you're editing during editing (while typing, when a checkbox is checked, when an argument is modified, etc.) without having to click the update button. (known issue: you do still need to click the update button after re-ordering a function's arguments)
-Fixed a crash that occurred from functions with no arguments when importing .j files

v1.5.0
-Added functionality to copy + paste arguments and parameters text between functions
-Fixed several bugs with saving/loading, including, but not limited to: generating empty arguments when importing functions from a .j file, and the ScriptName field being applied 1 function too late when saving actions, sometimes skipping the first function when importing from a .j file
-It is now possible to update a function's argument directly instead of removing the old one and adding a new one (it does not update visually though unless you switch to another function and back. not sure why, will look into this more in the future.)
-Slight optimizations have been made for loading times
-Updated the included triggerdata/triggerstrings/worldeditstrings files to 2.0.3 blizz official files and the latest revision of my gui mod
-Possibly other things I forgot to document(?)

v1.4.1
-Preset editor now actually saves stuff lol
-Default files have been updated to rev17 of my GUI mod and 2.0.3 blizz files

v1.4.0
-Fixed numerous bugs with the "import from .j file" window
-"import from .j file" window now supports deleting from the types & main functions boxes via pressing the delete key

v1.3.2
-The search bars now support partial matches (previously you had to know the name of a specific entry to search for it)

v1.3.1
-Added a new dialog that pops up when an improperly formatted line is encountered when loading files that allows users to select the proper format for the line (previously the program would just throw an error/crash)
-Increased the size of the moon emoji for dark mode

v1.3.0
-Added functionality to import types/events/actions/functions directly from a .j file (imported types/functions still require some user definition as not every field's value is immediately discernible from a JASS declaration alone)
-Added functionality for adding a debug logging system to your maps (not really related to the main purpose of guigui but I developed it for personal use and wanted to put it somewhere so 🤷‍♂️)
-Replaced my ugly banana moon with the moon emoji 🌙
-Fixed the A-Z sort button on Types for dark mode

v1.2.2
-Fixed more (all?) bugs with the file loading code and updated the sample module with correctly loaded data

v1.2.1
-Added a button to sort categories alphabetically by category name and types alphabetically by type name
-Added buttons to clear all of x data type
-Fixed some discrepancies with categories that caused incorrect display suppression values and duplicate entries (affects the sample module which has been updated as well)

v1.2.0
-Optimized the code for loading files (400+ lines shorter now), changed some data types because of this (though none of these changes should have any user-facing effects)

v1.1.2
-Fixed a bug with module importing that caused entries from modules to skip duplicate checks and be added to the main database anyway if they're duplicates

v1.1.1
-Fixed a bug that caused function calls to not save or load Return Type properly
-Fixed a bug that caused users to be unable to add arguments to an entry without first selecting an entry
-Fixed a bug that could cause issues with newly added arguments' min/max values

v1.1.0
-Added an option to load only default categories and types so that you don't have to load an entire trigger database in order to start creating modules (the default categories and types feature all additions made in my own extended GUI files)
-Added measures to prevent exact duplicate entries from being added when importing modules (will add more mistake preventing measures in the future)

v1.0.2
-Fixed the 1.0.1 bug but for function calls because I forgot to do that earlier 🥸

v1.0.1
-Fixed a bug that caused some strings to be loaded incorrectly

-Windows Defender will tell you that GuiGui is every kind of trojan, presumably because I’m not spending the money to buy a certificate to sign the app with. Running a scan with VirusTotal or something like that will come back clean though, as I do not know how to write a trojan.
-The main boxes for categories and types don't have purple lines on the right in dark mode when no scrollbar is present
-Jass version of the debug logging system might not work perfectly, haven’t fully tested/ironed it out
Contents

GuiGui Database Manager v1.6.0 (Binary)

sample module (Binary)

This is incredibly skibidi based. As one of the few members of the GUI sigmarace, believing that GUI is the best and vJass is vAss, i absolutely love this Trigger expander. It makes working with indepth GUI functions a lot easier and smoother, and even for unexperienced map developers, this can help them create very complex triggers in GUI that they would otherwise probably not be able to do or would need a lot of help from the forum to create. Overall, this is a very good adition to the GUIverse
 
When opening the GrapesOfWath Module, getting these two notifications. (is that intended?)

View attachment 494561View attachment 494562

When opening Reforged Module , im getting the same two window pop ups and this too.
View attachment 494563

Also is it safe or needed to use GrapesOfWath Module , if i already installed the [1.35+] GrapesOfWath's Extended GUI
ah yeah that’s all from blizz half-finishing entries and making some typos, that is normal behavior

also I’ve noticed I never fully implemented the variable preset editor so I just wanted to let everyone know before sinking a bunch of time into presets (it’ll be fixed 🔜™️)
 
Back
Top