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

646
Issues Help Desk / Re: Error - Invalid assignment to function
« on: June 10, 2014, 01:18:21 pm »
That is just like saying to use a different variable name. The issue though, is that "connect" should probably be available. It's possible that someone has included some kind of a header in enigma_user namespace.

647
Issues Help Desk / Re: Error - Invalid assignment to function
« on: June 10, 2014, 02:19:25 am »
Quote
We already do that, dazappa. This relates to naming a variable the same thing as a function. No one would be complaining if the variable behind the problem were called "instance_destroy" instead of "connect," but unfortunately, "connect" names a function as well.
I think he mean "connect" needs to be changed into "obj_object_connect", so there would be no conflict. But we do it partially, but assigning function to variables should be possible, so resolving all these issues with changing the variables while parsing is not really the solution.

648
Every test works fine on my laptop.
Win8.1 64bit
ATI Mobility RadeonHD 5000.

649
Issues Help Desk / Re: keyboard_key does not work!
« on: June 08, 2014, 02:57:55 pm »
Those are also numeric constants. No function can return "vk_left", it can only return an integer that corresponds to vk_left.

650
Try compiling an empty room first.

651
General ENIGMA / Re: Modifying the wiki page on EDL specification
« on: June 07, 2014, 09:20:24 am »
If you want to add functions, then no, they are just pure C++ in ENIGMAsystem folders. They also include extensions, new graphics systems and even platforms. What parser does (and it's in CompilerSource) is it converts your GML/EDL to C++. This is what allows you to use static types (int, double) together with GM's one type var. It is what what implements EDL specification (it's on the wiki), but as we all know it's not implemented completely. Like we still can't use structs, even though it is in the specification. The parser is also responsible for many of the compile bugs, like when you use "globalvar a = 0" in create and then try "a = 2" in a script. It will probably fail now, but in reality it shouldn't. So it's not anything to do with your game (so speed, size or anything else shouldn't change), but how you can code it. Like there is a topic on "Staff Board" about parser bugs. Should have probably posted in "Issues" so everyone can see.

Quote
I decided to make a quick topic here to mention the parser bugs I keep having in hopes that when Josh finished his new parser he could test these cases. They should be mentioned in the ENIGMA bug tracker as well somewhere, but I think they are buried now. So this is not a bug report as Josh should be already aware of these. It's just so we can point out what is fixed and what isn't.

They all for now are something to do with scripts. I remember having bugs outside scripts as well, but I sadly forgot them. That is why I am making this topic.

1) Local scope problems in scripts when using variadic functions. Example:
Create event:
Code:
Code: [Select]
a = 5;
b = 0;
scr_init();

scr_init():
Code:
Code: [Select]
b = max(5,a);
This will say that 'a' was not declared in this scope.
On the other hand this will work fine:
Code:
Code: [Select]
var tmp;
tmp = a;
b = max(5,tmp);
//or this
b = fmax(5,a);

So we cannot use object local variables directly in variadic functions (they are min,max,median,mean etc.).

2) We cannot use global variables defined by "global var" in scripts. I mentioned this bug before, but Josh dismissed it, so he might not be aware of it:
Create event:
Code:
Code: [Select]
global var a, b;
a = 5;
b = 0;
scr_init();

scr_init():
Code:
Code: [Select]
b = 5;
This will error 'struct enigma::OBJ_obj_0' has no member named 'b'. This is because in the script it actually tries to access local b even though there is no such thing as local b. If I type "global." in front of all of them, then the problem disappears. This is a problem I actually have in the Circuit Drawer port (had it a year ago when I tried to port it the first time and I have it now), because I actually use a lot of "global var" (at least one for each element type).

I will post more when I remember or find more bugs.

652
Yes, try running git-bash.bat from the same folder where ENIGMA.exe is. Then type "cd enigma-dev" and then "mingw32-make". It should compile the compileEGMf.dll and put it in enigma-dev.

653
Issues Help Desk / Re: Full Screen bug? and help
« on: June 06, 2014, 03:17:11 pm »
Quote
Robert...when i go to a room, objects tab and i push "instance creation code" button nothings happens...it should open the script window to write on it right?
You probably have to select an instance from the list if you do it this way. Works for me. I usually do it with mouse though - Ctrl+Right-Click->Creation Code.

654
General ENIGMA / Re: $20 to anyone who does this
« on: June 06, 2014, 12:26:25 pm »
Quote
Yes adding it to the room editor is one way to save it in your source, but if you want it reflected in ENIGMA, you'll also have to add it to the compiler and the plugin.

I'd do it if I had time. I am certain they are all linked to object locals like image_angle for rotation and stuff, is this correct? It's a fairly easy task.
We discussed this before. I think we came to the conclusion, that they should just work like Creation Code. So in the creation code you append before (or after, depending on when GM does it) lines like this:
Code: [Select]
image_angle = angle_defined_in_room;
image_xscale = xscale_defined_in_room;
etc..
This would then automatically work in ENIGMA without additional changes.

Quote
My concern, and maybe Robert or one of the ENIGMA devs can answer this, is that these features would require modification to the LGM code itself along with ENIGMA.  Wouldn't the rotate and scale in room editor add some extra overhead to your game (not the IDE, but game execution) ?
Mostly the LGM would have to be changed. It's possible ENIGMA wouldn't have to be changed at all (if implemented via the creation code method). And no, it wouldn't in any way create any extra overhead.

655
General ENIGMA / Re: Modifying the wiki page on EDL specification
« on: June 06, 2014, 12:22:10 pm »
Josh, still waiting on that parser.. :)

656
Programming Help / Re: EDL & ENIGMA functions, syntax etc.
« on: June 06, 2014, 12:17:13 pm »
Quote
OR you can mention that your game was made with the ENIGMA engine (far more appealing and professional to read) but have to link the enigma's site and open your legs and arse crack and allow people people to use your source code, sell it, rip your hard work / resources and shit.
This has been said a million times, but I guess I have to say it a million more - You are not obliged by any law to release the source. The license says that you have to, yes, but WE (the ENIGMA team) are the ones who enforce it. If we don't care whether you release it or not, then you don't have to release it. And we couldn't really sue you for millions even if we wanted you to release the source, because all you would have to do in that case is actually release it. Like we couldn't sue you for "damages" as ENIGMA is free - the fact that you sold a game and didn't release the source didn't cost us anything. So even if did try to somehow sue for money, then the first thing we could ask is for you to release the source, which in most cases you probably would.

Long story short - Sell your games, keep the source. Nothing of any significance will happen because of that.

657
Quote
Yeah but not everyone has a DX11 card.  let alone DX10 card.  and you do want your game to run on as many systems as possible.
I don't think things like lost device are anything to do with hardware version of DX it supports. So it should be possible to use many of the DX11 functions and syntax and still run on DX9/10 hardware.

Quote
Yeah but again I am not suggesting it is rounding, Microsoft is, I'm literally just being a parrot here, or a parakeet (no pun intended). But that still doesn't make sense, rounding is in the FPU, and changing drivers should affect it's hard-wired behavior.
I don't think anything is hard wired anymore. So I am pretty sure all of it can be changed in the drivers. GPU's don't use FFP anymore for a reason.

658
Off-Topic / Re: Echo of the Wilds
« on: June 05, 2014, 02:53:17 pm »
The language is a bit strange, but the game looks pretty cool. It seems a lot of work went into it.

659
Quote
The problem is apparent on AMD devices as well.
Until recently no one said that. I have an AMD and I don't have that issue. For now you seem the only one.

Quote
This pissing contest attitude of Nvidia is why they are having problems pushing their shit cards into Android and other markets. I'll be glad to see their demise.
Nothing is wrong with nvidia. They are the only ones who care about OpenGL in the first place. Also, by Steam data 50% have Nvidia and 30% have AMD, which is contrary to what you mentioned. AMD is in consoles though, but Nvidia is actually the only one of the two going into Android and other markets. Nvidia is even in cars now. And spacecraft. I personally like Nvidia as a company and their products, but I have nothing against AMD either.

660
Quote
The problem DOES occur on AMD devices HD5570...
But doesn't on several others. And that is why it's not only ENIGMA issue. If it was ENIGMA issue, it would be broken everywhere. All we can do is fix it either as we know how or as more experienced people tells us.

Quote
Geez, I don't know. There is a hell of a lot of wierd issues that ENIGMA has that I have never seen before anywhere else.
Probably because you haven't made an OpenGL engine.