Posted
about 6 years
ago
QuoteWell, for the first time in the roughly 10 years the ENIGMA game engine has been around, you can now natively set a PNG icon for your game that will show in the title bar, task manager, system monitor, and Alt+Tab process swapper. No thanks to
... [More]
those fat lards Josh, Robert, and fundies. No offense, I love you guys, but I couldn't take it any longer so I decided to step in and add Linux icon support.Includes the following functions:- string window_get_icon() returns the absolute path to the custom icon being used by the game. Returns an empty string "" if there is not one currently used.- void window_set_icon(string fname) sets the icon to use for the game from the given PNG filename fname.- void window_set_icon_from_unpacked_sprite(int ind, unsigned subimg, string fname) Want to export your game as a single executable? You can! Exports the internal sprite resource of the given sprite index ind and subimage subimg. Export it to preferably the temp_directory or game_save_id folders with the provided PNG filename fname. The image will be loaded from that exported location and will be displayed as the icon.- void window_set_icon_from_unpacked_background(int ind, string fname) Similar to the sprite function. Exports the internal backgound resource of the given background index ind. Export it to preferably the temp_directory or game_save_id folders with the provided PNG filename fname. The image will be loaded from that exported location and will be displayed as the icon.Example project and 64-bit demo executable: animated_icon.zipAs a small side note - this pull request also allows capturing SDL's window handle on linux for widget use. Although I still haven't fixed the SDL bug where the game doesn't respond and then segfaults, if you click the close button in the main game window's title bar over and over whil... [Less]
|
Posted
about 6 years
ago
QuoteWell, for the first time in the roughly 10 years the ENIGMA game engine has been around, you can now natively set a PNG icon for your game that will show in the title bar, task manager, system monitor, and Alt+Tab process swapper. No thanks to
... [More]
those fat lards Josh, Robert, and fundies. No offense, I love you guys, but I couldn't take it any longer so I decided to step in and add Linux icon support.Includes the following functions: - string window_get_icon() returns the absolute path to the custom icon being used by the game. Returns an empty string "" if there is not one currently used.- void window_set_icon(string fname) sets the icon to use for the game from the given filename fname. Supported formats include PNG, TIFF, GIF, BMP, TGA, and WBMP. With an ENIGMA extension, you may add support for JPEG, WEBP, and XPM, but these have additional dependencies.- void window_set_icon_from_unpacked_sprite(int ind, unsigned subimg, string fname) Want to export your game as a single executable? You can! Exports the internal sprite resource of the given sprite index ind and subimage subimg. Export it to preferably the temp_directory or game_save_id folders with the provided filename fname. Only PNG and GIF for unpacked sprites are supported. With the extension, this will expand to enable JPEG as well. The image will be loaded from that exported location and will be displayed as the icon. The unpacked sprite's filename fname is automatically deleted after being loaded into memory.- void window_set_icon_from_unpacked_background(int ind, string fname) Similar to the sprite function. Exports the internal backgound resource of the given background index ind. Export it to preferably the temp_directory or game_save_id folders with the provided filename fname. Only PNG and GIF for unpacked backgrounds are supported. With the extension, this will expand to enable JPEG as well. The image will be loaded from that exported location and will be displayed as the icon. The unpacked background's filename fname is automatical... [Less]
|
Posted
about 6 years
ago
QuoteWell, for the first time in the roughly 10 years the ENIGMA game engine has been around, you can now natively set a PNG icon for your game that will show in the title bar, task manager, system monitor, and Alt+Tab process swapper. No thanks to
... [More]
those fat lards Josh, Robert, and fundies. No offense, I love you guys, but I couldn't take it any longer so I decided to step in and add Linux icon support.Includes the following functions:- string window_get_icon() returns the absolute path to the custom icon being used by the game. Returns an empty string "" if there is not one currently used.- void window_set_icon(string fname) sets the icon to use for the game from the given PNG filename fname.- void window_set_icon_from_unpacked_sprite(int ind, unsigned subimg, string fname) Want to export your game as a single executable? You can! Exports the internal sprite resource of the given sprite index ind and subimage subimg. Export it to preferably the temp_directory or game_save_id folders with the provided PNG filename fname. The image will be loaded from that exported location and will be displayed as the icon. The unpacked sprite's filename fname is automatically deleted after being loaded into memory.- void window_set_icon_from_unpacked_background(int ind, string fname) Similar to the sprite function. Exports the internal backgound resource of the given background index ind. Export it to preferably the temp_directory or game_save_id folders with the provided PNG filename fname. The image will be loaded from that exported location and will be displayed as the icon. The unpacked background's filename fname is automatically deleted after being loaded into memory.Example project and 64-bit demo executable: animated_icon.zipAs a small side note - this pull request also allows capturing SDL's window handle on linux fo... [Less]
|
Posted
about 6 years
ago
Every now and again I like to share some exceptional games from ENIGMA's EDC or the community. Two games I've recently spotted are by community member Hugh Greene.Amazing Box Puzzles is a fun and challenging puzzle game similar to Mystery Mansion and
... [More]
other titles he's released with new and refined mechanics.https://enigma-dev.org/edc/games.php?game=99Defense of the Realm is a more traditional side-scrolling shooter that's fast paced and involves finer-tuned reflexes to succeed.https://enigma-dev.org/edc/games.php?game=98If you enjoy these genres, please do check out his games. He not only puts a lot of effort into them, but I can personally vouch for their quality. Consider leaving him some reviews and feedback so he knows how to get even better. He's on his way to becoming a master game developer! [Less]
|
Posted
about 6 years
ago
Platform: WindowsAPI: Win32 (VC++)Platform: macOSAPI: Cocoa (Obj-C)Platform: UbuntuAPI: Zenity (GTK)Platform: KubuntuAPI: KDialog (KDE)What's Changed?First of all, for those of you targeting Linux who aren't aware, click here for the terminal
... [More]
commands needed to install the appropriate packages and dependencies used in the Linux widget systems - Zenity and KDialog. Installation instructions will be different depending on your Linux distro. Other info is there that Linux and non-Linux users alike may benefit from.We recently updated Windows Widgets to include the same GML and EDL function set as the other actively supported systems - Cocoa Widgets for macOS, Zenity for Linux distro's using GTK+ for windowing, and KDialog for Linux distro's using KDE for windowing. Windows Widgets also now has full UTF-8 support with these same functions, just as the other systems and platforms already supported. This means we now have a fully cross-platform API that will work seamlessly on all platforms and windowing systems we support. If you want to use these same exact functions in GameMaker Studio 2 or Unity, you may override GameMaker's implementations with these functions using my Dialog Module extension, or the Unity plugin, which are both free and open source. MIT License. Links to GameMaker Marketplace, Unity, and itch.io as well as GitHub and SourceForge here.Known Issues- get_open_filenames() and get_open_filenames_ext() can only return a maximum of 3 files from a given drive's root, so if your files are selected directly from C:\, I:\, etc. without being within a subf... [Less]
|
Posted
about 6 years
ago
Platform: WindowsAPI: Win32 (VC++)Platform: macOSAPI: Cocoa (Obj-C)Platform: UbuntuAPI: Zenity (GTK)Platform: KubuntuAPI: KDialog (KDE)What's Changed?First of all, for those of you targeting Linux who aren't aware, click here for the terminal
... [More]
commands needed to install the appropriate packages and dependencies used in the Linux widget systems - Zenity and KDialog. Installation instructions will be different depending on your Linux distro. Other info is there that Linux and non-Linux users alike may benefit from.We recently updated Windows Widgets to include the same GML and EDL function set as the other actively supported systems - Cocoa Widgets for macOS, Zenity for Linux distro's using GTK+ for windowing, and KDialog for Linux distro's using KDE for windowing. Windows Widgets also now has full UTF-8 support with these same functions, just as the other systems and platforms already supported. This means we now have a fully cross-platform API that will work seamlessly on all platforms and windowing systems we support. If you want to use these same exact functions in GameMaker Studio 2 or Unity, you may override GameMaker's implementations with these functions using my Dialog Module extension, or the Unity plugin, which are both free and open source. MIT License. Links to GameMaker Marketplace, Unity, and itch.io as well as GitHub and SourceForge here.Known Issues- get_open_filenames() and get_open_filenames_ext() can only return a maximum of 3 files from a given drive's root, so if your files are selected directly from C:\, I:\, etc. without being within a subf... [Less]
|
Posted
about 6 years
ago
Platform: WindowsAPI: Win32 (VC++)Platform: macOSAPI: Cocoa (Obj-C)Platform: UbuntuAPI: Zenity (GTK)Platform: KDE neonAPI: KDialog (KDE)What's Changed?First of all, for those of you targeting Linux who aren't aware, click here for the terminal
... [More]
commands needed to install the appropriate packages and dependencies used in the Linux widget systems - Zenity and KDialog. Installation instructions will be different depending on your Linux distro. Other info is there that Linux and non-Linux users alike may benefit from.We recently updated Windows Widgets to include the same GML and EDL function set as the other actively supported systems - Cocoa Widgets for macOS, Zenity for Linux distro's using GTK+ for windowing, and KDialog for Linux distro's using KDE for windowing. Windows Widgets also now has full UTF-8 support with these same functions, just as the other systems and platforms already supported. This means we now have a fully cross-platform API that will work seamlessly on all platforms and windowing systems we support. If you want to use these same exact functions in GameMaker Studio 2 or Unity, you may override GameMaker's implementations with these functions using my Dialog Module extension, or the Unity plugin, which are both free and open source. MIT License. Links to GameMaker Marketplace, Unity, and itch.io as well as GitHub and SourceForge here.Known Issues- get_open_filenames() and get_open_filenames_ext() can only return a maximum of 3 files from a given drive's root, so if your files are selected directly from C:\, I:\, etc. without being within a sub... [Less]
|
Posted
about 6 years
ago
We have recently updated the Windows Installation Wiki Page to reflect some missing information that explains how to get OpenAL working on Windows machines.https://enigma-dev.org/docs/Wiki/Install:WindowsFirst, you'll need libmodplug installed in
... [More]
your MSYS2 packages. This will be required for your game executable to build properly.Install libmodplug for 32-bit MSYS2Code: [Select]
pacboy -S libmodplug:i Install libmodplug for 64-bit MSYS2Code: [Select]
pacboy -S libmodplug:xIf you want to use OpenAL for audio, instead of DirectSound, you'll want to make sure you have "libopenal-1.dll" in your game's working directory. https://enigma-dev.org/edc/games.php?game=97You can see below a quote below of the information and downloads for libopenal-1.dll found at the link above.Quote
libopenal-1.dll (REQUIRED for the OpenAL Audio System on Windows)If you want to build ENIGMA games on Windows that use the OpenAL Audio System, which is required for external sound resource loading via sound_add() and other various features DirectSound and other alternatives do not offer, you need to have this DLL in the same directory as your game executable when running and distributing your game.- Download the 32-bit DLL and put that in the same directory as you 32-bit game executables.- Download the 64-bit DLL and put that in the same directory as you 64-bit game executables.- You can not put your 32-bit and 64-bit games in the same directory otherwise you will end up with a name conflict because both the 32-bit and the 64-bit DLL have the same file name and you can't rename them without breaking the ability for your games to recognize them. Downloads (2):Windows 32-bitWindows 64-bit
Also due to a bug with ENIGMA currently, you may also need "libgcc_s_dw2-1.dll" and "libwinpthread-1.dll" in your game... [Less]
|
Posted
over 6 years
ago
This may come as a welcome surprise to many of you, but I wanted to announce a few LateralGM releases that I've made recently. Yes, we are still working on a new IDE, but are not yet ready to completely drop LateralGM so I don't mind making a few
... [More]
stability changes and healthy fixes for the project to placate everybody in the interim. The main point of these changes is not to introduce radical changes to LGM, but simply make maintenance a little easier, including some custom error dialogs that facilitate users solving certain issues themselves rather than posting them to our GitHub.As always, you can obtain the new releases on GitHub. The installation scripts in enigma-dev have also been updated to refer to the latest LateralGM release.https://github.com/IsmAvatar/LateralGM/releases/tag/v1.8.53Summary of Changes1) New event selector based on a mockup by Josh which is a critique of the GameMaker 5 event selector.2) Fixed translations that already existed but where the keys have been renamed. Also provided new translations where possible using Google Translate.3) Cleanup of the GMX writer including refactoring of group writing.4) Memory leak fix in the GMX and GMK readers.5) Fixed some inconsistent use of certain icons.6) Fixed some action list behavior including exceptions around clipboard options and empty selection.7) Fixed clipboard copying of actions using a deep copy addressing the linked actions issue.8) Fixed resource name completions in the code editor.9) Fixed default sprite transparency which addresses issues with loading GMX projects after GMK projects.10) Improved external editor error handling with custom error messages directing users how to resolve desktop editing failures themselves.11) Made it easier to import multiple sprite sheets to the same sprite by making the "Add Spritesheet Subimages" button not clear the sprite's previous subframes firs... [Less]
|
Posted
over 6 years
ago
Hello ENIGMOs, I'm excited to share some exciting news with you all regarding ENIGMA's language design and the future of the engine. It has been a long and treacherous path in recent years to correctly parse C++ while balancing the user friendliness
... [More]
and smooth learning curve of traditional GML. After an arduous discussion on the prospects of JDI, we decided an alternative approach would give us everything we want and more.I'm here today to announce that me and Josh have completely redesigned EDL from the ground up. We looked at earlier design cues that Mark Overmars took with GML and realized that we were emphasizing the C origins of the language way more than its COBOL or BASIC nuances. We believe there is no doubt that this reimagined EDL will serve to bring a vast new audience to the ENIGMA development scene like we have never seen before. Whether you feel that too many operators makes for a daunting language to memorize, or you prefer statements that read like English, EDL 2.0 will make you feel perfectly at home with Visual BASIC 6 all over again.In order to make this easier for everyone we have outlined an incremental approach to replacing the current JDI over the coming months.* The current JDI has to go, so we will begin by hoisting the current EDL up by its drag and drop boot straps.* Once we have hammered out any regressions from the EDL->Drag and Drop conversion, we will delete the current JDI.* I will then begin integrating the FreeBASIC compiler in place of the old JDI.* A drag and drop -> VB6 converter will be developed.* Finally, we will drop the EDL->Drag and Drop converter.This would have been a nearly impractical objective in the past, but there has never been a better time than now for us to make this transition. There may be bugs along this road to progress, but if we can stick it out, I'm certain that we can usher in a new era of game development utopia. Please stay tuned and thank you all for your continued interest in ENIGMA! [Less]
|