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

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.

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.

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.

Developing ENIGMA / Re: LateralGM
« 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

These are egofree's changes:
1) Moved the current tile layer above the tabs and other changes include removing the now useless "Batch" tab
2) Fixed depth issue to make sure the selected instance/tile is always visible
3) Fixed a tile moving bug
4) Added rectangular selections tools
5) Added cut, copy, paste functionality to the room editor

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.

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.

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.

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.

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 * 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.

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.

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

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).

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.

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.

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.

Issues Help Desk / Re: I'm a noob and I can't build a project
« on: December 25, 2014, 06:00:47 am »
egofree, you must have not seen my GitHub issues, I am actually planning something similar, I would like feedback, you should post on the tracker.

Though do not get hasty and try finishing this feature, it requires a lot of work in the plugin and should be thoroughly discussed first, plus we have more important things to do. Also this is what that vertical splitter you asked about was really hiding.

Issues Help Desk / Re: I'm a noob and I can't build a project
« on: December 25, 2014, 02:27:12 am »
Excellent, it's taking longer than expected because this is your first setup and it has to at least compile the whole engine once. You won't have to go through that again unless you change any of the source files or download an updated portable ZIP. At any rate I am glad we got this resolved, if you have any other issues let us know!  (Y)

Issues Help Desk / Re: I'm a noob and I can't build a project
« on: December 25, 2014, 02:05:09 am »
Yes it does, because this setting is not honored cross-platform sorlok disabled it but it looks like he also disabled the settings file altogether.

Just change it manually in the file
CompilerSource\settings-parse\parse_ide_settings.cpp:146:  make_directory = "%PROGRAMDATA%/ENIGMA/";

You won't need the CLI, so just change that one line then launch ENIGMA again and then everything should finally work.

Issues Help Desk / Re: I'm a noob and I can't build a project
« on: December 25, 2014, 01:46:06 am »
Craven did you update settings.ey? It's still loading the old value.
Code: [Select]
ERROR! Failed to create make directory, path not found: "%PROGRAMDATA%/ENIGMA/"
Make directory is: "%PROGRAMDATA%/ENIGMA/"
Setting up IDE editables...
treat-literals-as: 0
inherit-equivalence-from: 0
make-directory: "C:/ProgramData/ENIGMA/"

Copy and paste the contents of settings.ey so I can see if you updated it properly. Also make sure that you create the C:/ProgramData/ENIGMA path space if the folders do not exist.

Issues Help Desk / Re: I'm a noob and I can't build a project
« on: December 25, 2014, 01:34:03 am »
Wow that's really weird, so make_color_rgb does not appear in the function list at all? When I type it in I get the correct results, and no it is not deprecated we implement the function in our graphics system.

Code: [Select]
make_color : inline int make_color(unsigned char r, unsigned char g, unsigned char b);
make_color_hsv : int make_color_hsv(int hue, int saturation, int value);
make_color_rgb : int make_color_rgb(unsigned char red, unsigned char green, unsigned char blue);
make_color_rgba : int make_color_rgba(unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha);

Since we fixed the error messages can you paste a new copy of enigma-dev/output_log.txt? Compile or attempt to compile the game first and then close LateralGM before you copy the output_log.txt too, that will give me the full compiler output.

Again this is super strange we've never had an issue like this where only some functions are missing.