Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Goombert

Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 »
Tips, Tutorials, Examples / 1945 and other Mark Overmars Tutorials
« on: October 10, 2014, 01:35:03 am »
As you all probably know, most of the Mark Overmars examples work in ENIGMA without many issues. I just want to list these here for anybody who needs them.

Some of the games such as the FPS tutorial and the parallax scrolling/scaling examples need you to change collision functions for != noone just like you would have to do with C++

This is because ISO C99 defines boolean true as any non-zero value but GM8.1 only considered numbers larger than 0 as true.

Tips, Tutorials, Examples / One Script Pong
« on: October 10, 2014, 01:20:17 am »
I saw this example and immediately thought of all the Dreamland script kiddies, it's pong in one script. However it will need slightly changed to work with ENIGMA just like Studio, follow the instructions in the script. Additionally because of current bugs in local access from scripts you will need to place the remaining code into the actual draw event, nothing should be left in the script.

All in all, it's a pretty cool example but by default the paddles are extremely slow!

Here is the script I pasted for convenience so you don't have to download.

This is the forum post where you can obtain the original.

Graphics and Video / 3D Tutorial Resources
« on: October 10, 2014, 12:56:45 am »
These 3D tutorials have no example files so not sure whether they will fully work with ENIGMA or not. However they do include videos and the assets to create the 3D games which I thought people may find useful.

The tutorial also shows you how to model a basic gun.

The whole package can be downloaded from the sandbox as well.

Tips, Tutorials, Examples / Rewind Space Time
« on: October 10, 2014, 12:44:54 am »
This example shows you how to rewind a game, it requires one tiny change.

The room creation code needs to declare the i variable for some reason, simply change it to the following. We will need to investigate the bug.
Code: (EDL) [Select]
for(int i=0; i<10; i+=1)

Tips, Tutorials, Examples / Analog Clock Example
« on: October 10, 2014, 12:41:33 am »
This is a nifty example showing you how to use the date and time functions to create an analog clock. Once again thanks for the extension TheExDeus!  (Y)

Tips, Tutorials, Examples / Rain Particle Example
« on: October 10, 2014, 12:39:18 am »
This is a nice example I found on the GMC that works perfectly out of the box with no changes.

Tips, Tutorials, Examples / LateralGM Look and Feels
« on: October 08, 2014, 05:50:03 pm »
This is a bit of a guide on using custom look and feels with LateralGM. Before attempting this please download the latest LateralGM, it has not yet been added to a new Portable ZIP

1) The first thing you will need to do is locate your lateralgm.jar, it may be in your enigma-dev folder
2) Create a folder next to lateralgm.jar in the same directory named "lookandfeels"
3) Download and copy the jar file of the look and feel into the newly created "lookandfeels" folder
4) Open LateralGM and navigate to "File->Preferences/General", if you are on a newer LGM it may be "File->Preferences/Appearance"
5) Set the theme to "Custom"
6) Enter the main class name of the jar file in the "Theme Path:" text box, you will have to find this name on your own because most look and feels are not executable jars and therefore do not have this in their manifest
7) Hit "Apply Changes" and then restart LGM, I advise you to restart because sometimes the look and feels may not update properly, it's a Java issue.

I have compiled a list here of available look and feels I've already tried. Please feel free to post more to this topic in a reply, and please let's keep replies only to additions to this list, any other replies will be deleted. You can also create your own look and feels using Java the same way you would create a regular look and feel and use it with LateralGM.

Here are some links to get you started on making your own Look and Feel for Java applications:

You can also override the background image used on the MDI area. Inside the "lookandfeels" folder you created previously you just need to create a file called "lgmbackground.png" which will automatically be applied the next time you load. You can use the following dark variation of LGM's current background if you like.

Kind of a more modern flat style look and feel that really looks clean.
Class Names:

This one is for all you Windows XP/GM6/7 fans, who for all intents and purposes no longer have Windows XP or have Mac or Linux.
Class Name: de.muntjak.tinylookandfeel.TinyLookAndFeel

According to Mac's licensing, you are technically not allowed to legally use this on platforms other than Mac, but that won't stand up in court see Microsoft V. Apple
Download: (once you extract look in the "dist" folder)
Class Name: ch.randelshofer.quaqua.QuaquaLookAndFeel

Info Node
Download: (once you extract look in the "lib" folder)
Class Name: net.infonode.gui.laf.InfoNodeLookAndFeel

Class Names:
(there's more but I'm not typing them all out)

You must download the base Synthetica and place it in there before you can use the extended ones.

Download: (you will have to register, but it's still free)

Class Names:

The purpose of this one is having a Windows look and feel on Mac or Linux, it doesn't look much different than the one included in the Java SE, except fonts.
You also need to download both JGoodies Common as well as JGoodies Looks.
Class Names:


Class Name: com.pagosoft.plaf.PgsLookAndFeel

Sea Glass
Download: (seaglasslookandfeel-0.2.jar)
Class Name: com.seaglasslookandfeel.SeaGlassLookAndFeel

Developing ENIGMA / LateralGM
« on: October 02, 2014, 07:00:40 pm »

This is a preliminary minor release of a major build for LGM with a number of bug fixes.

You can download the new jars from the Extra Packages page.  I have also updated the hashes so should also fetch the new jars if you prefer to use the script. I have decided to not include this in a new Portable ZIP until everyone has had the chance to test the changes.
NOTE: You will need to update both the new plugin and LateralGM jars!!!

Change Log
Regressions that were introduced in and then fixed in this version are not listed here.

1) Asking to save changes should now be conditional and only show if you have actually made changes. You can also make changes, run your game, see the changes reflected without having closed the frame, close the game and still be able to revert the frame.
2) Game Information frame now properly recognizes changes, it will not complain unless you have actually changed a property or edited the document.
3) Constants frame has been partially fixed, it had several bugs in its revert methods and what not, it should now properly detect changes as well.
4) Enigma Settings have been more integrated with Game Settings, you should no longer see the node in the tree and the Game Settings frame should now also now properly recognize changes to Enigma Settings.
5) Non-instantiable resources should now have the proper references after reloading and creating new projects.
6) Tree filter has been redesigned to be a little less bloated looking.
7) The X button on resource frames no longer commits twice.
8) Fixed exception when clicking on tile tree under the "Edit" tab if no tiles exist. Also fixed a similar exception for instances.
9) Keyboard shortcuts have been moved to a properties file where they can be customized more easily, though we need to still work out external files and user modification.
10) Search feature implemented, it will search all arguments of every action of a script, shader, object, timeline, room, or instance and the nodes open the resource frame and select the appropriate event, moment, or action and open the correct code frame. Clicking on result nodes will also focus the correct line in the corresponding code editor or focus the correct argument entry field on an action frame. Directory structure is maintained and there is also a context menu that can be used to select all nodes and copy them to the clipboard to share search results.
11) Fix for bold nodes, there was an unreported issue where new children of bold nodes would become bold once you started renaming them, we now format the node with HTML instead to give it the bold effect.
12) Fixes Look and Feel bug for "Windows Classic" it's a known UI bug, just had to set the property in our look and feel code.
13) Fixed Look and Feel bug for the regular native "Windows" look and feel, this will not be applied unless you explicitly state this LNF over the "Native" one, it stops the buttons from being cut off.
14) Removes one touch expandable splitters, they have been replaced with a more common software implementation, double clicking will toggle their expanded or collapsed state, no need to spend hours in frustration hitting tiny little buttons.
15) Maximized state of the window will no longer be lost when changing look and feels from preferences, I was repacking the frame which I shouldn't have been doing.
16) Fix syntax check button from appearing multiple times on a code frame, action frame, or script frame. The issue was the subframeAppeared being fired when the frame is already visible, I simply added a parameter that tells us whether the frame was previously visible in determining whether to add the syntax check buttons.
17) Adds greater than or equal to and less than or equal to as options to action_if_variable as well as other actions that Studio forgot to; you will need to fetch changes from enigma-dev until the Portable ZIP is updated.
18) Old GM files will now scan their rooms and automatically flag the setting "Used as tileset" for backgrounds that are used as tiles in any room (committed by sorlok). This effectively prevents them from being unusable.
19) Game Information text alignment is now properly saved and works at runtime as well.
20) Fixed printing dialogs on both Game Info and Resource Info frames, they work exactly as expected and I've tested them. No print preview exists yet, but I've requested it, though Studio also does not have it and you can also preview by printing to OneNote.
21) Added external look and feel support, please see accompanying tutorial post.
22) Improved the main zoom tool for the Sprite and Background editor, the calculation was wrong. It will now properly center around points.
23) Fixed loading exception dialog, it was not properly displaying the stack trace. It was also showing multiple dialogs, and there was an issue in the GMX reader. Additionally I made the populateTree method check to see if a node of the registered types already exist, what this means is if you have an error trying to load your project you won't end up with a duplicated tree.
24) Fixed exception in the Room Editor when icon is missing.
25) Swing Icon Pack is no longer included in the jar, nobody wanted to maintain it and LGM only needs 2 default icon packs, 1 nice looking one and a contrasting version of it for dark themes.
26) Fixed an issue with custom icon packs, the custom path should not have caused the icon pack option to always be overriden, I had the implementation backwards and intended for the internal jar location to be used when the custom user path did not actually exist.
27) Fixed exception reported by Josh caused when centering instances in the room editor that do not have sprites.
28) Fixed a painting exception in the ImageToolTipUI occurring when hovering over resource menus.
29) Fixed an issue where certain look and feels would cause the main frame to overlap the toolbar on Windows on some platforms, and yes this also includes the default Swing look and feel.
30) You can also use a custom background image for LGM's window area now, create a file called "lgmbackground.png" in the "lookandfeels" folder next to lateralgm.jar and the image should be applied during the splash screen when you load. The following is a link to LGM's dark background.
31) Fixed long existing PropertyLinkFactory disposal issues that were propagating into race conditions in multiple editors. ResourceFrames now dispose of them automatically, custom PLF's will need to be disposed by overriding the frame dispose method.
32) Fixed a mistake made in Game Information that caused its little settings window to create its controls twice.
33) Simple JoshEdit print support added, word wrapping is not yet supported just like Studio. Printing interface is designed to be Java/AWT/Swing compliant and implements the standard feature set.
34) Exception reporting has been improved for file loading errors, GmFormatException and ProjectFormatException were essentially throwing away half of the stack trace.
35) Fixed horizontal and vertical snap properties in the GMX writer where they were being written backwards.
36) Fixed transitivity in some toolbars.
37) Window decorations can now be disabled, this means the look and feel will not be able to decorate the window border if you don't want it to, this required fixing the toolbar transitivity first.
38) Hardware acceleration is no longer forced off, there are now preferences to force OpenGL or Direct3D on or off or let the Java system decide and there is a similar preference for antialiasing of control fonts. The JVM will detect if your hardware supports hardware accelerated rendering so I recommend keeping the settings left at "default" but for those of us that do have the capable graphics hardware this will seriously improve the speed of rendering for LGM. Testing sprite animation playback was a lot smoother and higher frequency once I implemented the preference to stop forcing it off for everyone, it also reduced CPU and RAM usage significantly.
39) Fixed a component transparency issue caused when using *.lib action libraries from GM, they were supposed to be taking the transparency color from the bottom left corner.
40) Fixed the EventPanel layout, it was setting it before actually laying out the components causing it to look incorrect under certain look and feels, specifically the new dark one.
41) Fixed an old mistake I made in the Game Settings frame mixing up the DESCRIPTION and INFORMATION properties.
42) Switching look and feels no longer breaks layouts, I have a special wrapper class for this.
43) Stopped a look and feel change from readding the icons to the Preferences tree, just had to make a custom class as a wrapper and basically an empty shell to fix it.
44) The MDI area scrollbars are now only shown when needed, so when you maximize a frame they will not be visible, just like normal MDI managers and the one in GM8.1, giving just a little more space on screen.
45) Icon reading exception fixed by sorlok for some ico files that have empty/fake masks.
46) Implemented undo and redo to the action list editors you can undo multiple actions such as move, cut, copy, paste, delete, and clear. The only thing that does not yet get undone is changes to the actions values, not even recognized yet as an undo operation.
47) Fixed exceptions for some file open dialogs when you enter a filename for a file that does not exist. This needs further cleaned up.
48) Added APNG loading to the sprite and background editor, the file extension will need to be ".apng" for LGM to load all the subimages from it, or it will think it's a regular PNG. It can be used to mix GIF's and APNG's in the sprite editor. This required moving the APNG reader/writer from the plugin to LGM.
49) Added line numbers to the action list editor that uses the default UI colors for now.
50) Added a save button to the sprite and background frames, the sprite frame will save the selected subimages or if none are selected it will save all subimages, in order for it to be animated you will obviously have to save to an animated format such as APNG, GIF writing currently does not support multiple subframes. A dialog will also be displayed warning you if haven't yet created an image for the sprite or background.
51) Fixed a typo in the GMX reader that was causing room persistence to not be read properly.
52) Load dialogs will now verify that the file exists and if it does not it will warn you to verify the file name. You will see this on all file dialogs, including the one for loading projects, images, sprites, game information, etc.
53) Added confirm overwrite dialog to JoshEdit and LGM file choosers when saving files to disk.
54) Temporarily patched an issue that caused the language preference to not explicitly override the operating system locale, though I am currently waiting for IsmAvatar to see if she would like it fixed differently because I have another solution that is just as easy. This issue was reported by egofree.
55) You can now preview icon files when loading them. We broke Christian Trebel's ICOReader when we originally ported it by automatically closing the stream, this is incompatible when plugging it into ImageIO, you need to close the stream manually. So that is fixed, but also I double checked to make sure streams were not left open from game info and elsewhere and properly closed the streams where they needed to be.
56) ICO files can now be loaded by the background and sprite editors, the sprite editor will load all layers.
57) Prefix options have been full implemented, you do not need to restart they take immediate effect, adding new resource types also doesn't require updating the preferences frame anymore, it is generated dynamically.
58) Game icon and version information have been fully moved to the Platforms/Windows tab in Game Settings, Project Information is now fully implemented as well so information and description are properly distinguished now. Other platform settings are soon to follow.
59) Made the layout for physics options on the object frame more compact and correct.
60) Fixed a race condition between messages, preferences, and resource kinds which was necessary to implement prefix preferences. So the tree groups can be translated again.
61) Increased the default room size a bit, default size is way too small.
62) Added missing separators to some resource frames
63) Symbols are translated again for the object frame, so no double semicolons will appear under the French translation.
64) Added translations for messages that were not translated before.
65) Switched the executable file chooser to use the LGM CustomFileChooser, so it will now ask you whether to overwrite files when you save an executable and things like that.
66) Stopped the sprite frame subimage selection from going out of bounds when clicking a button, the last frame will still be properly previewed.
67) Fixed issues where the checkered patterns for image previews were not resizing without closing and reopening the resource frame, this was caused by me caching the image without checking if the size changed.
68) Image effects frame implemented and 12 basic effects including Colorize, Intensity, Outline, Emboss, Black and White, Invert Color, Remove Color, Remove Transparency, Sharpen, Blur, Opacity, and Edge detection. The little green spray paint can icon on the sprite and background frame will open the image effects frame. For sprites you can apply it to all selected subimages, otherwise just select 1 subimage, if no subimages are selected it will be applied to every subimage.
69) A fix was included by egofree for the GMX writer to give all tiles unique names using the id, which works with Studio though is less hash-like. A similar fix was previously included for instances by myself.
70) Fixed exception in instance list of the room editor when selected instance has a non-existant object reference. For example you create an instance of an object and then delete the object resource, the instance becomes of unlinked.
71) Moved transparency functions, such as for checkered patterns, to Utility class.
72) Moved the current tile layer above the tabs and other changes include removing the now useless "Batch" tab
73) Fixed depth issue to make sure the selected instance/tile is always visible
74) Fixed a tile moving bug
75) Added rectangular selections tools
76) Added cut, copy, paste functionality to the room editor

Off-Topic / Windows 10
« on: October 01, 2014, 08:12:17 am »

I guess somebody at Microsoft can't count...

I'll concede, I am actually very excited for Windows 10, the quicker we kill Vista along with XP the better. Additionally I like the task switcher button, that is a really awesome new feature that should have been in Windows 8 honestly. It technically is you just don't see it without ALT+TAB. Plus a workspace switcher like Ubuntu, that was one of my favorite Ubuntu features.

Also there's finally going to be CTRL+C and other clipboard shortcuts and stuff for Command Prompt. I can't wait I really might sign up for the developer preview just to get my hands on it.

General ENIGMA / Externalizing LateralGM
« on: September 28, 2014, 01:33:21 pm »
I want to make the case for excluding several things from LateralGM's JAR and redistributing it as a zip file.

1) I want to externalize the file that configures all the keyboard shortcuts of the application to allow people to change the shortcuts.
2) I want people to easily be able to add and change existing icon packs by placing them in a folder called icons and every top level folder will become a new icon pack.
3) I want to do the same thing I want to do for icons with languages and allow people to easily add new language packs.
4) I want to externalize all the LGL action libraries to a folder where LGM will load them to allow users the easy ability to add and remove action libraries as well as modify and utilize existing ones, even those made for GM since we already have the code to load them it doesn't make any sense not to offer the capability, obviously for legal purposes we use our own LGL format.

Anybody that knows me knows that I have never been one for creating applications that package everything into a single file, it has never been my thing and I strongly oppose it for several reasons. I like applications that you can easily modify without hassle or even having to know what you are doing, and I find this aspect of LateralGM to actually be against what makes LGM great, its free and open source nature.

General ENIGMA / New Portable
« on: September 23, 2014, 01:25:52 pm »
I just want to let everyone know that after extensive testing several new improvements and general cleanup has been included in a new release of the Portable ZIP. Some such changes include typo fixes, missing XLIB functions, inconsistencies, and many other changes including the introduction of scaling options for XLIB.

You can get the new Portable from the downloads page.

You can as always manually update the jars and pull the changes yourself.

General ENIGMA / Searching In Resources
« on: September 13, 2014, 08:09:47 pm »
I've been back and forth contemplating the implementation of a global search feature to quickly find use of functions and variables in LateralGM.

This is what searching for resources is like in Studio. The results are tabled and can be saved to a text file, though not copied to your clipboard.

In Eclipse IDE when you search there is a docked form to the bottom that appears with a filtered version of the file tree that allows you to expand files to find the occurrence of each expression. You can also copy the nodes to your clipboard to save the results in a text editor to a file or share them.

Both of these options are possible, though if we were to go the Eclipse route the results do not actually have to be docked they can be a free form or something similar. There are several questions I would like to ask everyone. Going back to the Eclipse idea also gave me the idea again about the search filter having more advanced settings, we could make it search inside the resources like Windows explorer and thread the results to feed in as the search completes. The search filter results would be like an extension of what eclipse does basically, because I thought of this I saw no reason to have a separate search feature at all.

A) What do you think about the GM search feature?
A.1) If I were to implement LGM's this way, would you like the ability to copy the results to the clipboard?
A.2) Would you like the search results to be a separate form from the search settings or should they be the same form/window?
B) What do you think about the Eclipse search feature?
B.1) Would you like the search results to be a separate form from the search settings or should they be the same form/window?
C) What do you think about the search filter on the resource tree having more advanced options?
C.1) Would you want this in addition to a separate search feature?

Answers to these questions will better assist me in the implementation of advanced resource search functionality and I am also open to new suggestions. You do not have to participate in my R&D but by participating in the questionnaire and posting your answers you agree that you have given informed consent to participate.

General ENIGMA / JavaFX on ARM
« on: September 12, 2014, 09:54:20 pm »
Apparently Oracle added ARM support for the JavaFX library which is included since JSE 7, making LGM much more likely to work on Chromebooks and other smaller devices and embedded systems in the future. This has actually been in development for a year now and available in Early Access since the very beginning of 2013 but has just now entered the main Java SE update stream, JDK8u20

I know a lot of you have been wanting LateralGM on more platforms and I understand why so this is good news overall, I don't think I've stressed enough how much I want LGM to embrace new Java technologies. Some of the features of Java 8 I am planning to implement as soon as I can find time such as JavaScript extensions, these features will merely be disabled when running in an older JDK that does not support them. Porting the components to JavaFX however will probably be done in a fork.

General ENIGMA / LGM 1.8.6
« on: September 09, 2014, 10:00:28 pm »

Minor release with recent changes and fixes.

You can manually update using the python script or from the Extra Packages page with also a git pull for ENIGMA.
You can also download the new Portable ZIP.

* New resource search filter that can be optionally disabled from the preferences window.
* icons are now fixed thanks to sorlok, LGM can read icons of any size with any internal format
* ENIGMA Settings Frame has been merged with Global Game Settings, some old files may need fixed by simply opening the ZIP and removing the node from the top level TOC, if anybody needs help send me the file.
* ^^ operator now works thanks to heathtech
* Recent room editor improvements by egofree included
* Explore Project button fixed for when no project is actually open or you have not yet saved, it will open LateralGM's working directory instead of throwing an exception.
* Other changes and fixes included

General ENIGMA / Settings/Preferences Redesign
« on: September 09, 2014, 01:18:46 pm »
This is another feature I have finished today that I have been meaning to implement for some time. Replace the tab controls with a tree view to better organize settings and preferences. This is ultimately intended to give these interfaces more room as we need to expand them for more settings such as platform settings for not just Windows and many other things. The new interfaces are more reminiscent of Visual Studio and Eclipse or Code::Blocks preference panels.

Down the road it is possible for me to also had a filter functionality to those trees like other IDE's have once they get more features implemented to them. But this is also intended to bring about another change, removing ENIGMA settings. My objective is to allow the ENIGMA plugin to extend the Preferences and Game Settings window for permanent and per-project compiler and API settings. So ENIGMA settings will vanish without breaking any of your EGM's and all of its settings will now show up in Game Settings if of course you have LGM to hooked up to the plugin.

I would like you guys to offer some feedback on my vision for the future of LateralGM, please do not hesitate to let me know how you think about this.

Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 »