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 - TheExDeus

General ENIGMA / Re: Some stupid question
« on: November 09, 2016, 03:05:46 pm »
ENIGMA is a game engine, while SDL is a framework. ENIGMA could *use* SDL actually. And it has been tried before. The engine I am slowly working (kind of a rewrite of ENIGMA) actually uses SDL for the windowing, input and some more things.

I disabled the extension by default in master.

You have a variable called "new" in the holdItem object. It is reserved name in C++ and parser doesn't handle reserved names in any way. So open your project and replace the local variable "new".

The collision error is weird. You can try changing the collision subsystem and see if that works.

General ENIGMA / Re: Question about project output.
« on: July 11, 2016, 05:03:18 am »
The ENIGMA engine itself is in C:\enigma-dev\ENIGMAsystem\SHELL - or your equivalent.
When you press "Run" or "Compile" your code is turned from EDL (similar to GML) into C++ via the parser and written to C:\ProgramData\ENIGMA\Preprocessor_Environment_Editable - or your equivalent.

Having the sources won't give you much though. For running something on an embedded device the code needs to be written in a way to support that. For example, ENIGMA supports GL1.1, GL3.3 and DX9 (broken probably) and non of those work for embedded devices. OpenPandora uses GLES, which ENIGMA doesn't currently support.

Issues Help Desk / Re: Lots of compile errors
« on: June 16, 2016, 04:01:38 am »
Yeah, sorry I didn't change DX9.

You do have a 12 years old graphics card. That does limit on what you can do with it. I personally don't plan supporting anything nearly as old in the future, but that will probably be outside ENIGMA.

Third Party / Re: ECOE - In terminal Linux object editor
« on: June 15, 2016, 08:13:45 am »
Code looks okay, but I don't like C so I cannot give you many tips. I personally use C++ everywhere, and specifically modern C++. The "proper" way to use C++11 and newer actually make it look like more to python than C (C++14 guidelines being a good resource), so I enjoy the new C++ more. It would probably make your code smaller.

Off-Topic / Re: NVIDIA GTX 1080 and 1070 line of cards !
« on: June 13, 2016, 01:12:34 pm »
For 1080p the 960 should be totally fine. I have overclocked 970 and I can play every game on ultra without any problems. The new ones will greatly help with VR though, as requirements there are a lot higher (2 * 1080p with 90fps). But if you don't plan to VR (or at least on Utra) then you can hold off for now. I personally think the only VR worth considering is the steam's HTC Vive, but sadly it costs 1k. I will probably skip a generation.

General ENIGMA / Re: Why the draw event types jump from 0 to 64
« on: June 09, 2016, 01:27:50 pm »
What is the other source from?

Third Party / Re: Game Maker IDE
« on: June 06, 2016, 06:12:00 am »
I did try it and it worked. It had an error message at the top (can't remember what it said), but it worked.
Cool midi editor.

Did you make all the widgets yourself? Can you show an example code of a window or something? I'm making widget systems here and there (including BasicGUI extension in ENIGMA) and just wanted to see some other approaches. Textboxes with colored text, like scripting window is a though one. At least to make fast. I had the idea of a simple html parser, but I didn't want all the loops. The ability to rebind keys is something I haven't though about and window snapping. Like dragging a window near the edge of another window and allow them to automatically resize. You don't seem to have it either.

If you are interested in some bug reports / improvements:
1) The midi sound is a little weird. Like having an electrical filter over it.
2) Buttons in midi like "Traspose" have only "ok". So you cannot cancel out. It will probably use your windows instead of GM's later I guess.
3) In code editor emply lines don't have line numbers. I don't know if that is intentional. The numbers are not skipped though. Code editor also has two arrows at the bottom that do some weird mouse chasing, so I don't know what they are meant to do.
4) Some right click / left click functions for the resource tree would be nice. So I don't have to go to top to add new resource.

I see that framerate falls rapidly when few windows are opened. I will check how many draw calls it makes. I believe with texture pages which GM supports it should actually be able to manage the whole drawing in one.

Third Party / Re: Game Maker IDE
« on: May 21, 2016, 01:26:23 pm »
Game Maker made in Game Maker. I actually love that. I actually want to make an ENIGMA IDE inside ENIGMA. Then we could actually write shaders and particle systems and show that in real-time. Also have 3D room editors and so on. I like how Unreal just packs the editor in the same exe as the game and I want something similar, but with of course separately compilable games as well.

And I love interleaving of DND and code. As Robert mentioned, this was actually considered, but nobody had the time to try something like that.

And the whole thing is only 3mb - that is why I want an ENIGMA IDE as well. A 3mb - 0 dependency executable.

Programming Help / Re: Using EDL in LateralGM
« on: May 21, 2016, 01:15:34 pm »
I'm surprised that structs actually work, as I think EDL parser was very far from finished when it was stopped being worked on. I would use structs everywhere if I could.
But in short - EDL != C++. And the things that are written in the wiki about EDL are not entirely true. Those were the planned features. Most of them weren't finished.

Lack of C++11? Which versions of gcc you guys are having? Please "gcc -v".

General ENIGMA / Re: What do you want?
« on: May 04, 2016, 01:20:36 pm »
I agree partly with Wendigo. But I think we need developers more than users. We won't be able to keep users if nobody is developing ENIGMA itself. Having an active community helps with getting dev's though. There was a total ENIGMA website rewrite some time ago (6 years ago to be precise: and a broken version ), but I think as development slowed the need or even the want for more users diminished as well, because that would mean more people coming and saying how something is lacking or not working.

Tips, Tutorials, Examples / Re: Sprite Patch Scripts
« on: May 03, 2016, 04:34:51 am »
The left/top/right/bottom is padding in pixels and x1,y1,x2,y2 is the rectangle on the screen it will draw to. So in your example sprite padding would be 1/3 of image width and height.
Code: (edl) [Select]
double left = sprite_get_width(spr)/3.0;
double top = sprite_get_height(spr)/3.0;
double right = left; //Same padding for right and bottom as top ~50 pixels in the above image
double bottom = top;
draw_sprite_padded(spr, subimg, left, top, right, bottom, 100, 100, mouse_x, mouse_y, c_white, 1.0);
This would draw the sprite from 100,100 to mouse_x,mouse_y keeping the corners and sides correct and stretching the middle. The function also takes into account cases when the given rectangle (x1,y1,x2,y2) is negative or when it is smaller than the padding. Like in the above case padding 50pixels on each side. So the drawn image will never be smaller than 100pixels in width and height even if you specify smaller rectangle.

General ENIGMA / Re: What do you want?
« on: May 02, 2016, 03:59:29 pm »
My comments about the requested stuff:
Faster compile time - There are three main things we can do to speed up compilation. For me compilation is extremely fast and takes less than 5-10s, but I have recently seen a PC which it took >30s per compile. So it can be slow for older PC's. What we can do is:
a) Switch from EDL to C++ so there isn't any parsing going. Not entirely sure how much speed this would give as the parsing isn't actually the slowest thing in my tests.
b) Split user code into several and make them individually compilable. Right now all the user code is in one header and it takes a lot longer to compile as it can have thousands of lines. Especially when warnings are enabled (by default) and so console takes like 60% of the time just printing stuff instead of actually compiling. So if the user code was separated into several .cpp files it would be possible to compile them individually. Maybe per object or something. So if the user changes only code in one object the rest won't recompile.
c) Combine several object files into one. Currently during linking it links about 100 files together. This can be slow, especially when link-time optimization is enabled. It is possible to link these together (ld -r) so only one large ENIGMA library needs to be linked whenever the user compiles.

Go with C++ instead of EDL -yes, that is the idea for my "Pure ENIGMA" project, but sadly I haven't had much luck with it yet. It sadly takes a lot of planning and time to make it usable without an IDE. I have a feeling I will need to brutally pull out the ENIGMA engine proper and rewrite some front-end code to make it stand-alone.

Fix LGM stability - Sadly I don't think this will happen. It is tied to the ENIGMA plugin and it seems to be the issue. It also depends on Java and apparently hardware (as it is rock solid on my laptop, but crashes in 30 seconds on my desktop).

edit: Robert, maybe lets merge the branch I have been working on in the past year and make a new installer for users? I think a lot of problems they have posted from engine part have actually been fixed. I will fix any newer bugs that they might find. From then on I will work on separating engine from IDE (Pure ENIGMA) and I don't plan to add new features to ENIGMA directly.