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.


Messages - Goombert

511
General ENIGMA / Re: Improving rooms editor
« on: December 27, 2014, 08:06:52 AM »
Yes because I don't plan on changing any of those shortcuts. I'm concerned with functional changes, my biggest irk is that you can't set the creation order that's all I really care to fix in the room editor besides bugs.

On a side note, have you been adding the keyboard shortcuts to the properties file I added? That was a change I made a while back, you should use KeyStroke.getKeyStroke(Messages.getKeyboardString(""))
https://github.com/IsmAvatar/LateralGM/blob/master/org/lateralgm/messages/keyboard.properties

512
Finished Games / Re: Christmas Run - Merry Chistmas to You!!!
« on: December 27, 2014, 12:04:48 AM »
Ahhh, I don't know try downloading your exe and see for yourself, space is creating blocks. Perhaps you have a different version than the one you compiled?

513
Developing ENIGMA / Re: LateralGM 1.8.6.837
« on: December 26, 2014, 09:08:52 PM »
Another quick update, I asked ego to add himself to the contributors list in case anyone may need to contact him in the future. I also added the new Calico room icons to Contrast until Josh gives us a proper SVG.



@egofree, just leave it for now, it's not that big of a deal, I can fix it some time in the future.

514
General ENIGMA / Re: Improving rooms editor
« on: December 26, 2014, 08:57:21 PM »
All of these caveats would best be documented on the Wiki page I linked you to. Instead of repeating the same instructions over and over again, just write them on the Wiki and then share the link to anybody who needs to know. Also so you don't forget either.

http://enigma-dev.org/docs/Wiki/Room_Editor
http://enigma-dev.org/docs/Wiki/Working_with_LateralGM

515
Programming Help / Re: Reading xml with Enigma?
« on: December 26, 2014, 08:54:54 PM »
Rapid XML is a cross-platform XML reader, pretty much the standard because of its light weight and efficiency. I used it to build a CLI, a CLI lets you build games from a terminal like command prompt without LateralGM or any IDE. Rapid XML is used to load the GMX format. Someone could write an XML extension for ENIGMA that uses Rapid XML and it would be available on all platforms because we use Rapid XML on all platforms for the CLI. It can't be much clearer than that.

516
General ENIGMA / Re: Improving rooms editor
« on: December 26, 2014, 07:33:24 AM »
Also, I've found another bug as well, you forgot to include a version of the new icons for the contrast icon pack. So these icons are missing under that icon pack now which breaks the dark theme. These icons need vectorized anyways, post a request for Josh to SVG them for Calico, he will make them less aliased.
https://github.com/enigma-dev/Calico-Icon


517
Issues Help Desk / Re: Font character range behaviour
« on: December 26, 2014, 07:16:49 AM »
Yes this is entirely intended behavior, I found GM: Studio's behavior to rather counter intuitive if you will. It was also extremely buggy with setting the character ranges, so i decided to just limit each range to 1000 characters and let the user decide mostly for themselves. You're welcome to suggest changes to it to make it more intuitive.

518
General ENIGMA / Re: Improving rooms editor
« on: December 26, 2014, 06:49:18 AM »
I've pulled and tested and everything seems to work out pretty good. I've caught a small minor visual bug however, notice the one object is less opaque than the others? It's as if it's above the selection. I don't have steps to reproduce, I was just clicking around, I did not change the depth or anything.



Since this is such a minor bug I've gone ahead and made a new quick release anyway so we can catch any other bugs or issues to resolve before putting it in a new portable.

Also it would be really useful to have these shortcuts for the room editor documented on its wiki page.
http://enigma-dev.org/docs/Wiki/Working_with_LateralGM
http://enigma-dev.org/docs/Wiki/Room_Editor

519
Developing ENIGMA / Re: LateralGM 1.8.6.836
« on: December 26, 2014, 06:46:28 AM »
After egofree made several new improvements to the Room Editor, I decided to make a release for everyone to test these features and find any bugs. If things go well we can get this included in a new Portable ZIP with recent compiler fixes such as modulus assignment and instance activation by sorlok.

As always you can update from the extra packages page or via python install.py
http://enigma-dev.org/docs/Wiki/Install:Extra_Packages

These are egofree's changes:
1) Moved the current tile layer above the tabs and other changes include removing the now useless "Batch" tab
https://github.com/IsmAvatar/LateralGM/pull/179
https://github.com/IsmAvatar/LateralGM/pull/182
https://github.com/IsmAvatar/LateralGM/pull/185
2) Fixed depth issue to make sure the selected instance/tile is always visible
https://github.com/IsmAvatar/LateralGM/pull/186
3) Fixed a tile moving bug
https://github.com/IsmAvatar/LateralGM/issues/183
4) Added rectangular selections tools
https://github.com/IsmAvatar/LateralGM/pull/189
5) Added cut, copy, paste functionality to the room editor
https://github.com/IsmAvatar/LateralGM/pull/192

520
Finished Games / Re: Christmas Run - Merry Chistmas to You!!!
« on: December 25, 2014, 09:04:42 PM »
Yes sort of, it seems like the player is stuck, or is it just that you're intended to jump to move? It's possible to get stuck in a wall as well and the player won't move, like in my screenshot. Also space creates more blocks for me and does not jump.


521
Proposals / Re: Error reporting
« on: December 25, 2014, 08:40:58 PM »
Yes essentially because GM used to be able to let the programmer show debug messages in run mode, this is great if they want this as it can make it easier for them to debug their games with users. And showing that at runtime in compiled mode can only be done without LateralGM or a plugin. The abstraction of show_debug_message and show_error was needed anyway, the first step is to make show_debug_message show the stack trace and let show_error just display the error message passed, this was a mistake I originally made because I was too lazy to replace all of our show_error calls, but I may do this sometime soon and send a pull request.

I am certain we can do this on Windows as well.
http://spin.atomicobject.com/2013/01/13/exceptions-stack-traces-c/

We can also make an implementation for MSVC. I think we should abstract this from the engine somehow though into our own reusable library, I am suggesting we write this and put it in a separate repository, it might actually become pretty popular since there seems to be no equivalent.

It looks like there is a project that makes this easier for MSVC.
https://social.msdn.microsoft.com/Forums/vstudio/en-US/f6d34b0c-a2d1-420e-bf27-a89418eb8e55/how-can-i-get-a-stacktrace-of-the-call-at-runtime?forum=vcgeneral

The reason is because we also want these error messages to show when building from the Command Line Interface, the CLI should also allow setting breakpoints just as the IDE does. The point is that ENIGMA should be able to do all it can do by itself without relying on anything else. I'll try to get Josh to comment on this tonight.

At the very least we could also offer a get_backtrace() function in EDL that lets the user get the string backtrace and do with it as they please. Or actually I think GM used to have a get_debug_message() or similar for this.

522
General ENIGMA / Re: Improving rooms editor
« on: December 25, 2014, 08:09:23 PM »
TheExDeus, I designed the package interface similar to GM's but in a way that lets you control all installed resources types in LGM. The reason it doesn't work is because it is just supposed to run the read/write routines and pass them the resource types they are allowed or not allowed to write/read. The reason this hasn't progressed is because it is really really hard to do with the GMK reader, the GMX and EGM readers/writers can be broken down to handle a single resource at a time which allows us to abstract how we merge the projects together to make it one interface for all formats.

So basically, it is the GMK format that is stopping this feature from progressing. That said, GM8.1 had a funky way of importing single resources, it used a special binary format for each resource, which is likely just GMK but we don't know how each one is formatted, IsmAvatar apparently hasn't investigated and I am unaware of any available documentation on it. They were all essentially the gmres format or whatever which was an adaptation of the GMK format. Studio has the GMX format now which can obviously be easily abstracted to let you handle single resources at a time so they have added import/export buttons in the main tree context menu.

If I click the "Add Existing Sound" button it will display an open dialog with the *.sprite.gmx filter. To do this in LGM requires abstracting the GMX readers/writers in a way that allows it to handle singletons which I haven't done largely because of a lack of sufficient feedback on design and implementation.



Ceteris paribus, this is also off topic, let's keep this topic focused on the room editor and its transferability, resource importing/exporting/merging is beyond the scope of this topic.

523
Proposals / Re: Error reporting
« on: December 25, 2014, 08:00:03 PM »
No no no no Harri, we don't need any of this noise.

Building the executable with debugging symbols and using the GCC compiler you can generate line numbers, file names, and a full stack trace.
http://stackoverflow.com/questions/3151779/how-its-better-to-invoke-gdb-from-program-to-print-its-stacktrace/4611112#4611112

Then we can implement the same thing as the LGM error reporting dialog in ENIGMA, trust me I've already done the research on this. In addition we should implement this dialog as the function show_debug_message with a texture component that lets the user cut copy and paste as well as click a button to open a web browser or something by overloading the function with a url parameter or something, or even a script index to call when the button is clicked. This is to avoid ambiguity of the show_error function, show_error should never show a stack trace it should just be a native dialog that displays the message the user specifies, show_debug_message is intended for more advanced debugging, though GM mixes it up and uses the same dialog for both which is pointless. show_error should be replaced in all of our debugging code and be made more headless.

Side Note: That's a really great idea for overloading GM's dialog functions, accept script indices as arguments to be called when buttons on the dialog are clicked instead of checking the return. I can't believe I never thought of that.

Code: (GML) [Select]
// this would allow the user to make a script for when the dialog completes that can either open a
// file, another program, or a URL in a web browser to github for instance where they could report the bug
show_debug_message(string title, string message, int reportScript);
// all of our internally detected issues would automatically set this to report to our GitHub tracker,
// but we could add an extra function that also lets the user override that like the following
set_debug_report_script(int reportScript);
// if it does not exist then we point the user to ENIGMA's GitHub issue tracker

524
General ENIGMA / Re: Improving rooms editor
« on: December 25, 2014, 03:58:44 PM »
Nice work so far egofree, when you're done then I will pull your changes and make an LGM release and if that goes well I'll update the Portable ZIP with some recent compiler fixes for alarms by me and instance activation by sorlok which you reported (and saw that he fixed too).

525
Quote from: TheExDeus
Josh, it was not hard-coded before and I personally liked it that way, but sorlok changed it because of some crosscompiling stuff or because of mac/linux which made him change it every time he opened LGM or something.
Yes, but it was more so because my first implementation was a little obnoxious and made it hard to share EGM's because if you put one up on the EDC it will have the Windows default make-dir stored in it and when someone opens any EGM on Mac or Linux or vice versa they automatically have to go and change it before they can build and they may not know what it is, this is clearly not user friendly and sorlok was correct.
https://github.com/enigma-dev/enigma-dev/issues/805

Quote from: TheExDeus
I vote for bringing it back, but making it an LGM option that is saved, so you must do it only once.
I had actually considered doing that as well and making it a global compiler preference, currently ENIGMA has no implementation/system for global compiler preferences.

Quote from: JoshDreamland
What is the difference in behavior? If it's a problem with differentiate between host platform and target platform when choosing settings. If that's the case, we need to update the configuration file's schema to support both behaviors.
Actually, I have already updated our eyaml specification to allow defaults for specific platforms.
https://github.com/enigma-dev/enigma-dev/blob/master/settings.ey#L49

Quote from: JoshDreamland
We should also find a way to override settings in a way that gitignore can help prevent being committed, if his changes are not good for everyone.
I actually agreed to merging this because after I had added make-dir as a setting to the compiler TheExDeus specifically had problems with sharing EGM's and it made the EGM sort of unusable on the site for sharing.

The whole reason I implemented make-dir as a setting originally was to be like the Qt Framework IDE where when you open a project and if no compiler settings are detected it will ask you to configure the defaults and save them, which can change based on platform, such as where to output the project to. Perhaps we could just undo sorloks pull request and store Default-Windows as Default-Windows in the EGM instead of simply storing Default-Windows, Default-Mac, and Default-Linux all as the same variable so that the ENIGMA settings remembers what the user had selected on each platform instead of using the same on all platforms. So in other words, if you entered the setting on Linux and open the EGM on Windows it will show the default make-dir instead of the one you saved on/for Linux.

If you want to do it that way, someone just needs to undo sorlok's pull request and then make a few slight modifications to the plugin.