1. Hey! Guest! The 32nd GMC Jam will take place between Feb 22nd, 12:00 UTC (Friday noon) and Feb 25th, 12:00 UTC (Monday noon). Why not join in! Click here to find out more!
    Dismiss Notice

Asset - Extension Dialog Module (for Windows, macOS, and Ubuntu)

Discussion in 'Marketplace' started by Samuel Venable, Mar 14, 2018.

  1. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]

    [Made for GameMaker Studio 1.4 and GameMaker Studio 2]

    This extension is for Windows, macOS, and Ubuntu.


    Improved file / folder selection and other various dialogs. For user convenience, "File Manager" is now bundled with this.

    Windows, macOS, and Ubuntu executable demos, (made with GameMaker Studio 2.2), can be downloaded here.

    Notice:

    The macOS executable demo is not codesigned, therefore you will need to enable the execution of apps downloaded from "Anywhere". For the Ubuntu executable demo, you will need all of GameMaker Studio's Linux runner dependencies installed before you can run it. This would also include GTK+3.0, Zenity, and KDialog, because the Ubuntu executable demo uses both the Zenity and KDialog widget systems.

    Functions included:
    • string widget_get_system() // Returns current widget system
    • real widget_set_system(string system) // "Zenity" or "KDialog"
    • real show_message_fmns(string str)
    • real show_question_fmns(string str)
    • real show_error_fmns(string str, real abort)
    • string get_string_fmns(string str, string def)
    • string get_password_fmns(string str, string def)
    • real get_integer_fmns(string str, real def)
    • real get_passcode_fmns(string str, real def)
    • string get_open_filename_fmns(string filter, string fname)
    • string get_open_filename_ext_fmns(string filter, string fname, string dir, string title)
    • string get_save_filename_fmns(string filter, string fname)
    • string get_save_filename_ext_fmns(string filter, string fname, string dir, string title)
    • string get_directory_fmns(string dname)
    • string get_directory_alt_fmns(string capt, string root)
    • real get_color_fmns(real defcol)
    The DLL's full source code included.

    The Linux apps that use this extension need either Zenity or KDialog installed, (Zenity is needed by default).

    To install Zenity on Debian-based Linux distributions, enter this command into the terminal:

    sudo apt-get install gtk+3.0 zenity

    To install KDialog on Debian-based Linux distributions, enter this command into the terminal:

    sudo apt-get install kdebase-bin

    The Linux library's source code needs libx11-dev installed.

    To install libx11-dev on Debian-based Linux distributions, enter this command into the terminal:

    sudo apt-get install libx11-dev

    Very big thanks to Josh Ventura, for writing the widen() and shorten() scripts, enabling UTF-8 support on Windows.

    Disclaimer:

    Please be aware KDialog's support for the provided function set is limited and not everything will be guaranteed to work as expected with that widget system. If you need more functionality, use Zenity instead. Both the macOS widget system, and KDialog are limited to one file filter, but one filter can contain multiple allowed file types. The Windows widget system, and Zenity, both support multiple file filters. At this time, both KDialog and Zenity are only avilable on Linux.

    Buy Now ($29.99 USD) for GameMaker Studio 1.4 and 2 (GameMaker Marketplace)
    Buy Now ($29.99 USD) for GameMaker Studio 1.4 and 2 (itch.io Game Asset Store)
     
    Last edited: Feb 13, 2019 at 12:30 PM
    klys and cgPixel like this.
  2. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    Version 1.0.0 Released!
    Added function get_directory().

    Now this extension has mirrored every open / save dialog currently available in both GameMaker Studio 2 and all older versions of GameMaker!

    Function List:
    • get_open_filename(filter, fname) This function opens a dialogue and asks the player for a filename to open with the given filter. The filter has the form "name1|mask1|name2|mask2|...", where the mask may contain the different options with a semicolon between them and you can also use a "*" to mean any string. For example: "bitmaps|*.bmp;*.wmf", would ask the user to select the name of a bitmap file from the system, but only those that have the two specified extensions (bmp and png). this function does not open the file itself! It only returns a string with the full name and path of the file. If the user presses "Cancel" an empty string "" is returned.
    • get_save_filename(filter, fname) This function opens a dialogue and asks the player for a filename to save to with the given filter. The filter has the form "name1|mask1|name2|mask2|...", where the mask may contain the different options with a semicolon between them and you can also use a "*" to mean any string. For example: "bitmaps|*.bmp;*.wmf", would ask the user to select the name of a bitmap file from the system, but only those that have the two specified extensions (bmp and png). this function does not save the file itself! It only returns a string with the full name and path of the file. If the user presses "Cancel" an empty string "" is returned.
    • get_open_filename_ext(filter, fname, dir, title) This function opens a dialogue and asks the player for a filename to open with the given filter. The filter has the form "name1|mask1|name2|mask2|...", where the mask may contain the different options with a semicolon between them and you can also use a "*" to mean any string. For example: "bitmaps|*.bmp;*.wmf", would ask the user to select the name of a bitmap file from the system, but only those that have the two specified extensions (bmp and png). this function does not open the file itself! It only returns a string with the full name and path of the file. If the user presses "Cancel" an empty string "" is returned. You may also add in a directory to start the search from, and a caption to be shown at the top of the window instead of the default one.
    • get_save_filename_ext(filter, fname, dir, title) This function opens a dialogue and asks the player for a filename to save to with the given filter. The filter has the form "name1|mask1|name2|mask2|...", where the mask may contain the different options with a semicolon between them and you can also use a "*" to mean any string. For example: "bitmaps|*.bmp;*.wmf", would ask the user to select the name of a bitmap file from the system, but only those that have the two specified extensions (bmp and png). this function does not save the file itself! It only returns a string with the full name and path of the file. If the user presses "Cancel" an empty string "" is returned. You may also add in a directory to start the search from, and a caption to be shown at the top of the window instead of the default one.
    • get_directory(dname) This function opens a dialogue and asks the player for a directory. dname is the default name. If the user presses "Cancel" an empty string "" is returned.
    • get_directory_alt(capt, root) This function opens a dialogue and is an alternative way to ask the player for a directory. capt is the caption to be shown. root is the root of the directory tree to be shown. Use an empty string to show the whole tree. If the user presses "Cancel" an empty string "" is returned.
     
    Last edited: Mar 21, 2018
  3. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    Version 1.1.0 Released!
    Added Linux Support! (known issues listed below)
    • The Linux *.SO library needs to be built as x64 for the GMS 2 runner.
    • The filter argument is currently ignored; all file types will be displayed.
    • The dialogues will not keep focus, if the main game window is clicked.
    • The root argument in get_directory_alt does not limit viewable folders.
    scr5.jpg scr6.jpg
     
  4. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    New Version(s) Released!

    Now this extension has new and improved popup message and input boxes, for both Windows and Linux!

    See the OP for the new screenshots and function list.
     
  5. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    Version 1.6.0 Released!
    New functions listed below:
    • Choose Color Dialog - get_color_fmns(defcol)
    • Show Error Dialolg - show_error_fmns(str, abort)
    Version 1.6.1 Released!
    Small bug-fixes listed below:
    • Fixed the crash that occurred when a dialog opened during the game being minimized
    • Fixed the crash that occurred when you try to use double quotes in a string of a function
    • No more crashes should be happening for any reason--sorry about that!
    Version 1.6.2 Released!
    New change mentioned below:

    Added single-file-filter support to Linux. For example, this works:
    • get_open_filename_fmns("Sprite Image Files|*.png;*.gif;*.jpg;*.jpeg", "sprite.png");
    Multiple-file-filters aren't yet supported on Linux, so this won't work:
    • get_open_filename_fmns("PNG Image Files|*.png|GIF Image Files|*.gif|JPEG Image Files|*.jpg;*.jpeg", "sprite.png");
    However, both of the above examples work on Windows, you should probably use the earlier example, so that it will work cross-platform. Multiple-file-filters will be added to Linux as soon as I figure out how to do that. Hopefully soon.

    Version 1.7.0 Coming Soon!

    Here's what will be available in version 1.7.0:
    • GameMaker Studio 2's 64-bit Linux runner compatibility - this will be added to my other Linux extensions as well
    • Support for multiple-file-filters in the "filter" argument of the "Open" and "Save As" dialogs on Ubuntu
    When those two things are complete, I am going to start charging for the asset, but I will be reasonable ($1.99 USD).
     
    Last edited: Apr 8, 2018
  6. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    Yesterday, I created a helpdesk ticket asking for YoYoGames to bring back the GameMaker 8.1 get_color(defcol) function, to GameMaker Studio 2, (and possibly 1.4), on Windows, Mac, and Linux. I provided them source code taken from my extension to help the process of them adding this feature that much easier, by doing practically all the work for them. The only problem is, while the code is Mac-compatible, I don't know what language their macOS runner is written in - the only two I think are likely would be either C++ or Objective-C, but my code is written specifically for either C or C++, so if their Mac runner is in Objective-C or some other language like that, it won't be near as easy to port the function I wrote to Mac. We'll see what happens! :D

    scr23.png
    scr11.jpg

    This is my third potential code-contribution to GameMaker Studio. After but so many of these, they might as well change my member type from a normal member to a contributor! :D

    1) YoYoGames already confirmed they will use my code I provided for Borderless Window support on Linux, it just isn't high on their priority list.

    2) They did not say if or when they will add my get_open/save_filename/_ext() functions I wrote for Linux, but the guy who reviewed my ticket did say they are having internal discussion about it and they will contact me if they have any questions or need further assistance in adding those features, should they decide to do it.

    3) And last but not least, my get_color(defcol) function might be added to GMS2, I just haven't heard back from them yet, and when I do, they may or may not tell me whether they will add it, and they may or may not add it.

    If you are a good cross-platform programmer, I highly recommend submitting to the helpdesk your contributions to either add back functions from older versions of GameMaker, or completely new ones that YoYoGames haven't thought of before to add to the engine - https://help.yoyogames.com/

    And if they deny your request, you can always make that code of yours into an extension and publish it to the marketplace. :)
     
    Last edited: Apr 9, 2018
  7. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    Version 1.6.4 Released!
    • The new Linux runner is now fully supported.
    • Linux dialogs now keep focus, (64-bit only).
    • All of my Linux extensions now support 64-bit.
     
    Last edited: May 1, 2018
  8. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    Version 1.6.9 Released!
    • BUGFIX: Inputbox no longer hides input like a password field when the second argument of get_string_fmns() is an empty string on Linux.
    • BUGFIX: Added a call to XCloseDisplay() because I forgot it initially, (required whenever there is a call to XOpenDisplay() in X11), on Linux.
    • BUGFIX: Removed a bunch of redundant code in the C++ side on Linux. This also reduced the file size of the shared object library a little.
    Also wanted everyone to know that if you happen to not like GameMaker's default dialog system, this is a very nice looking, well designed, and clean alternative. Unlike GameMaker Studio's default get_string() and get_integer() for Linux, the functions my extension provides have a text field with text contents that can actually have the entry point repositioned, text can be selected, copied, and pasted in and out of the text field. Also supports full UTF-8 characters. None of this can be said about GameMaker Studio's current get_string() or get_integer() functions on Linux. In general, not just the input box functions, but all the dialogs this extension can create in general on Windows and Linux are just overall better, because they are a designed based on what is native to the OS, not custom-made dialogs, like GameMaker's default.

    The get_directory_fmns() function on Windows is the only custom made dialog this extension uses, because I wanted to mimic the get_directory() function of GameMaker v4.3-8.1 the best I could, which is a Delphi-specific dialog. This extension is written in C++, not Delphi, so the imitation isn't perfect, but it is pretty darn close visually.
     
    Last edited: May 19, 2018
  9. streepje8

    streepje8 Member

    Joined:
    Jan 26, 2017
    Posts:
    26
    Really useful tnx!
     
    Samuel Venable likes this.
  10. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    Thank you! Yay! I finally got 1 comment of appreciation in this topic!! lol

    Version 1.6.10 Released!

    Please replace all Scripts and Included Files in your existing projects to apply this update!!!

    Added two new functions:
    • string get_password_fmns(string str, string def)
    • real get_passcode_fmns(string str, real def)
     
  11. BiTrunade

    BiTrunade Member

    Joined:
    Sep 11, 2017
    Posts:
    193
    Great asset, Samuel, just like always!
     
    Samuel Venable likes this.
  12. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    Thank you! :D Very much appreciated!
     
    BiTrunade likes this.
  13. cgPixel

    cgPixel Member

    Joined:
    Jun 30, 2016
    Posts:
    52
    Hello Samuel,

    this extension is really helpful, thank you very much!
    Any chance for a show_menu replacement?

    The famous N_Menu Dll is no longer working in GM:S...
    Keep up the good work.

    Kind Regards
     
    Samuel Venable likes this.
  14. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    Hello @cgPixel,

    While this idea has already been explored, I just never got around to doing it yet. If I do manage to add this feature, I would strongly prefer it to be cross-platform across desktops, (Windows, Mac, and Linux), like the rest of the extension.

    Doing so on Windows should be very simple, the only thing I haven't looked into is the proper way of achieving this on Linux and Mac. On Linux, menus are displayed a lot like on Mac, and are usually accessed through the menu bar located on the top of the screen, not on any specific window's client area other than the Desktop. I'm not sure if it is a simple process to complete on Linux or Mac, I don't have enough experience with those platforms to know how easy it would be, but I will check it out pretty soon. :)

    I am looking to getting this extension working on Mac, I'm just not in a position to port it right now.
     
    cgPixel likes this.
  15. klys

    klys Member

    Joined:
    Jun 21, 2016
    Posts:
    108
    wow! Awesome work!
    Would be great to have those functions working on Android too...

    But to have then working on Linux/ubuntu is great! I can now make one of my game editor work on linux!!!

    Android should be taked as a SYSTEM for all devices (Desktop included) since it can be installed on Mac, Linux and Windows computers and use cursor features.
     
    Samuel Venable likes this.
  16. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    I have the 1.4 Android module, but not the 2.x version. Since 1.4 is going to stop working on Android rather soon, I don't want to pursue doing this until I have the 2.x Android export. But your request I have made note of, I'd love to support this extension beyond desktops, if it isn't too much trouble to maintain.

    In other news...

    Working on Multiple File Filters support for Linux. So far so good... Got it working powered by Zenity, now I need to port the code to KDialog, AppleScript, and a few other scripting dialog tools. Once I'm done with those, the next update will roll around pretty quickly. :)
     
  17. klys

    klys Member

    Joined:
    Jun 21, 2016
    Posts:
    108
    So sad they going to stop supporting 1.4 ...

    I havent tested 2.0 ...

    its really better than 1.4 or still being buggy?

    ONTOPIC

    Would be great to also support iOS but its only for iPhone and emulators, i dont know if somebody already support a port of iOS for desktop machine, it anyway really do not make sense since its a comercial system rather than a normal OS.
     
  18. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    I hate to say it, but currently there are no plans for an iOS version of this asset. It would be too much trouble to test and maintain because I would be relying on someone else's Mac and iOS devices.

    Are you saying GMStudio is buggy or my extension is buggy?
     
    Last edited: Jun 2, 2018
  19. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    Version 1.7.0 Released!

    As a friendly reminder, I did say once version 1.7.0 was released, I was going to start charging $1.99 USD for the asset. To give more people a chance to download it before I start charging, I have decided to put off selling the asset for a week, starting now. Get it for free while you can! :D

    Please replace all Scripts and Included Files in your existing projects to apply this update!!!
    • Now requires zenity to be installed on the end user's Linux machine as well as your own.
    • Multiple file filters are now supported on Linux for all Open and Save As dialog functions.
    The Linux apps that use this extension need zenity installed.

    To install zenity on Debian-based Linux distributions, enter this command into the terminal:

    sudo apt-get install zenity

    The Linux library's source code needs libx11-dev installed.

    To install libx11-dev on Debian-based Linux distributions, enter this command into the terminal:

    sudo apt-get install libx11-dev
     
  20. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    Okay, the asset now costs $1.99 USD going forward. I will not be doing any 100%-off sales on my paid assets, so don't bother trying to wait for one. :p
     
  21. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    Version 1.8.0 Released!

    Please replace all Scripts and Included Files in your existing projects to apply this update!!!
    • Fixed several bugs / inconsistencies between GameMaker 8.1's version of the get_directory(dname) and the equivalent function included in this extension. This includes returning a directory string that is no longer converted to lower case for seemingly no reason, and a change in the specific font used by the dialog to match the original function.
    • get_directory_fmns(dname) and get_directory_alt_fmns(capt, root) now both return the selected path string as before but now including the final slash at the end, to be more consistent with how GameMaker Studio 1.4 and GameMaker Studio 2 works with directory constants such as working_directory.
    • Re-targeted the Windows DLL to use ATL. This enables you to optionally install the DLL to your registry, so that you may also use its functions in languages besides GML, such as VBScript and JScript, that you otherwise normally couldn't. Examples on how to do this may be found in the "DialogModule.dll.zip" included file, which contains the source code to the DLL, an example VBScipt file, and an example JScript file.
    • Do not be alarmed by the previous bullet point - using the DLL in GameMaker does not require writing anything to registry, you may still use it like any normal DLL.
     
    Last edited: Jul 6, 2018
  22. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    The DialogModule Windows DLL and Linux SO libraries and their source code are now available for free on GitHub.

    Contribute your own code, ideas, or create your own version - https://github.com/time-killer-games/DialogModule

    However, I am not giving out any example GameMaker project files for this extension on GitHub; for the easiest access to that, you will still need to purchase the asset.

    If you are OK with going through the trouble it takes to import the DLL and SO, and create the extension or scripts manually, you are free to do so.

    But it is widely preferred that you support me so I can continue making these things for everyone.
     
  23. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    The Mac port of this extension is coming very soon guys!

    [​IMG]
     
    Last edited: Sep 1, 2018
    IndianaBones likes this.
  24. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    Version 1.9.2 Released!

    Please replace all Scripts and Included Files in your existing projects to apply this update!!!

    • Added macOS support (WIP).
    • Minor code tweaks.
    macOS users: get_color() will usually hang the game in an infinite loop due to a current bug with AppleScript. There is no workaround that I am aware of until Apple fixes it. Everything else works, so once the demo project starts hanging on Mac, (because get_color() being called at the end), just right click on the game's icon in the System Tray and "Force Quit". File Filters are not yet supported in "Open" and "Save As" dialogs, so all file types will be select-able. Please note this extension is mostly a finished product, macOS is the only platform with these limitations, which I intend, (and hope), to have fixed as soon as I can. As it stands, the Windows and Linux ports are pretty solid on their own. "File Manager" will be updated soon as well so that you may use the "Open" and "Save As" dialogs more effectively on macOS, (by breaking the sandboxed filesystem limitations). "File Manager" also has several minor bugs that will be sorted out in this upcoming release.

    Edit:

    Added the Mac OS X binaries and source code to the Dialog Module repository on GitHub.

    https://github.com/time-killer-games/DialogModule
     
    Last edited: Aug 11, 2018
    IndianaBones likes this.
  25. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    Edit: nevermind.
     
    Last edited: Aug 24, 2018
  26. rIKmAN

    rIKmAN Member

    Joined:
    Sep 6, 2016
    Posts:
    3,613
    Hey Sam, just a bit of general feedback.

    I would have tried this out if you had provided links to compiled binaries (if possible) that I could have quickly checked out with a double click rather than having to open GMS, create a new project, copy the code etc.

    Lazy I know, but that's most people today I guess and I think people may be more willing to run a quick compiled binary to check out the features and then if they like what they see go and investigate the code and the library itself etc.

    Just a thought anyway, keep up the solid work!
     
    Samuel Venable likes this.
  27. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    Ok, I'll provide binaries then, will be available within a few minutes.

    Thank you! :)

    Edit:

    The official Windows and Linux executable demos, (made with GameMaker Studio 2.1), can be downloaded here.
     
    Last edited: Aug 19, 2018
    rIKmAN likes this.
  28. rIKmAN

    rIKmAN Member

    Joined:
    Sep 6, 2016
    Posts:
    3,613
    Nice one, that was quick!
    This looks pretty handy so I'll keep it in mind if I ever need to do native dialogue / file access stuff.

    I noticed all the options fail gracefully if you cancel them except number 4 which gives the standard GMS crash dialogue.
     
    Samuel Venable likes this.
  29. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    lol i forgot i accidentally misspelled a variable for number 4. Let me fix that one real quick and re-upload.

    Edit:

    Fixed!

    Edit2:

    Found a few bugs on Mac and Linux, thanks to the creation of these demos. I have somewhere to be right now, but I'll be sure to fix them super quick, no later than tmr.

    Edit3:

    Fixed!
     
    Last edited: Aug 18, 2018
    rIKmAN likes this.
  30. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    Version 2.2.0 Released!
    • I fixed get_color() on macOS. It no longer hangs the program and the dialog initializes, opens, and returns properly.
    • 1 File Filter is now supported on macOS File Dialogs. Due to the API functions used, there appears to be no way to implement multiple file filters. So all file types you separate by semicolons in the first filter are the only types that will be recognized in the File Dialogs on macOS.
     
  31. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    Version 2.4.0 Released!
    • [Windows] Fixed a problem with some dialogs not opening on the right monitor in a multiple monitor setup.
    • [macOS] Fixed an issue where it was impossible to display all file types using an asterisk for the file dialogs.
    • [macOS] [Ubuntu] Fixed a safety issue with the use of the POSIX functions dirname() and basename().
     
  32. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    Version 2.5.0 Released!
    • [Windows] Added support for multiple DPI settings.
    Anyone who has a multiple monitor setup running Windows 10, I need your help with something. Please run the executable demo provided in the OP on your multiple monitor Windows 10. It needs to be tested with a different DPI setting on each monitor, and I will need a screenshot of the dialog on each monitor; specifically with the input box dialog and the "Select Directory" dialog.

    Thanks!
    Samuel
     
  33. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    Screenshot from 2018-09-21 17-06-34.png

    Dialog Module is now featured at the top of the GameMaker Marketplace homepage!

    It is occasionally swapped in and out with a different asset, so no guarantee you'll see it there.

    Keep an eye out for this asset in a big sale coming up!

    Click here for more details.
     
  34. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    [​IMG]

    Coming Soon: Optionally Create KDE Dialogs on Linux!

    (Due to incompatibility, some minor features will not be included with this version).

    Edit: Now Available!
     
    Last edited: Oct 16, 2018
  35. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    Version 2.8.0 Released!
    • [Windows] Fixed a bug where "Input Box" functions would not resize to fit static text contents.
    Version 2.9.0 Released!
    • [Windows] Code tweaks.
    Version 3.0.0 Released!
    • [All Platforms] Updated included "File Manager" to version 3.0.0.
     
  36. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
  37. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    Get 50%-off this product until January 1st, 2019 at 0:00 AM EST.

    Applies to both the GameMaker Marketplace and the itch.io Game Asset Store.

    Buy it for half-off now, while you can, or wait until around the end of 2019, for the next, (likely, but not promised), Winter Sale!
     
    Last edited: Jan 1, 2019
  38. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    Well, the sale is over. Too bad only one user took advantage of it. lel
     
  39. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    Due to a problem with the Marketplace GameMaker Studio 1.4 uploader, I will not be updating this asset on the Marketplace until YoYoGames gets that uploader fixed.

    If you purchase from itch.io, there are 4 new functions:
    • get_open_filenames_fmns(filter, fname)
    • get_open_filenames_ext_fmns(filter, fname, dir, title)
    • get_color_ext_fmns(defcol, title)
    • environment_get_variable_fmns(name)
    At long last, the ability to select multiple files in the Open File dialog is available to GameMaker users! :D
     
  40. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    Re-wrote the documentation so that it now uses my own words instead of being a copy/paste of the documentation written for YoYo by @Nocturne. This is an important step to make, apart from me not owning the copyrights to the original text, also because not everything about my extension is necessarily the same as YoYo's implementation. Apologies to YoYo staff for me not doing this in the first place!

    Documentation:
    http://dialogmodule.weebly.com/
     
  41. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    Really exciting news for you Mac users! The icon you set for your game is now used for the dialogs that formerly used a default "no icon set" app icon, with the exception of show_error_fmns() due to a limitation with the stop sign icon in AppleScript dialogs. As can be seen below in the first several frames of this GIF:

    <image removed>

    At the end of the day, this makes your app look way more professional than before. I am so glad I got this done. This update is already available on itch.io. I currently have no sales on there yet so I assume most people prefer ordering from the GM Marketplace, and if you would like to get access to this update sooner, Marketplace users, please contact the YoYo helpdesk and request them to fix the GameMaker Studio 1.4 uploader. Once that has been done, I will update the GM Marketplace upload of the asset for both 1.4 and 2.x to this new version. :)

    P.S. a significant amount of bugs have been fixed with KDialog, and KDialog is now just as stable as the other Widget Systems in the latest itch.io release.
     
    Last edited: Feb 11, 2019
  42. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    997
    Now multiple file filters are supported on macOS! Also did a full re-write in Objective-C, (formerly written in AppleScript).

    [​IMG]
     
    Last edited: Feb 13, 2019 at 12:44 PM

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice