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.
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 »
46
Issues Help Desk / Re: D3d and collision functons are not working,can't load latest GM:S gmx files...
« on: December 23, 2015, 09:30:16 pm »
Can you post compilation logs or error messages? It just says that d3d_start() is not found? If so, then what Graphics System is selected in ENIGMA settings? Place_meeting is also supported and implemented, so can you post more specifically what didn't work? And which platformer engine did you test? This: http://enigma-dev.org/edc/games.php?game=69 ? If so, then I just tested it and it works fine. Here is a screenshot I just took:
Collision - including water and sloped surfaces - work fine for me. There seems to be a rounding bug with the background though, as it sometimes flashes. That is probably just because of slight differences on how GM and ENIGMA handle numbers.
I also use 3D now and in my latest project I use it all the time (including more complicated shaders and what not) and everything works fine. I do have a slightly upgraded version though. So I guess I will try releasing something by the end of the week, so people can test the new ENIGMA. That might fix some of the bugs (and probably introduce a lot more).
LGM (the IDE) does crash a lot on Windows. Sadly my hands are tied on that and it seems little progress is made in this regard. My idea is starting from scratch, but sadly it involves a lot of work for only one person.
Collision - including water and sloped surfaces - work fine for me. There seems to be a rounding bug with the background though, as it sometimes flashes. That is probably just because of slight differences on how GM and ENIGMA handle numbers.
I also use 3D now and in my latest project I use it all the time (including more complicated shaders and what not) and everything works fine. I do have a slightly upgraded version though. So I guess I will try releasing something by the end of the week, so people can test the new ENIGMA. That might fix some of the bugs (and probably introduce a lot more).
LGM (the IDE) does crash a lot on Windows. Sadly my hands are tied on that and it seems little progress is made in this regard. My idea is starting from scratch, but sadly it involves a lot of work for only one person.
47
Issues Help Desk / Re: Strange For Error
« on: December 23, 2015, 09:01:06 am »
It is normal. If you type "int button", then the variable is temporary to that script (in this case create event code). Just like if you type "var button" in GM or ENIGMA, because "var" is actually a type "variant", just like "int" is "integer" and so on. If you want to use types, but also want them to be local to the instance, then you must add "local" in front. So basically totalButtons in Draw Event was zero, because it was undefined. If you ran in Debug Mode it should have errored at that point. There is a slight explanation here: http://enigma-dev.org/docs/Wiki/Moving_from_EDL_to_C%2B%2B . Sadly good docs, examples and tutorials is also a thing we are missing in ENIGMA project, because it just requires a lot of manpower we don't have.
I am surprised C style pointer arrays worked though. I would suggest using a data structure or just GM/ENIGMA array. But if this works, then okay. See if "delete buttonH" also works.
I am surprised C style pointer arrays worked though. I would suggest using a data structure or just GM/ENIGMA array. But if this works, then okay. See if "delete buttonH" also works.
48
Issues Help Desk / Re: Is Enigma supposed to be able to compile and run gmk files? Mine doesn't
« on: December 20, 2015, 06:37:05 pm »
There have been a lot of changes ENIGMA engine wise, but the installer has not been updated. I'm hoping to give an additional update this week and maybe update an installer so people can test and use it. It has been delayed because of work and by problems creating examples. I want to release several examples with the new version - gui example, shadowmapping example, 3d animation blending example and maybe 3d skeleton animation example (but I am not sure about this one).
49
Works in Progress / Re: Upcoming Games
« on: December 14, 2015, 04:25:49 am »
Can you load it after the save at all? If yes, then does LGM crash during saving? Because for me corruption only happens if LGM crashes during saving. It doesn't get corrupt without crashing, so if this happens to you it might be new issue.
50
Works in Progress / Re: Upcoming Games
« on: December 11, 2015, 03:57:56 am »
Sometimes my saves get corrupted because LGM crashes during save. But we already know about LGM crashes, so I'm tired of reporting them.
51
Programming Help / Re: My platform generation code does not work in ENIGMA.
« on: December 07, 2015, 07:52:38 am »
If you assign to them, then it is initialization. So in scr_load_map you only assign to the global variables and that is why it is okay. If you used them like "global.mapcontentscount += 1;" then it would be bad. But it wouldn't crash, because by default any uninitialized variable is zero. For example, in worldspawn create event you have "if (global.initialized)", but global.initialized is actually not set. So when you use it defaults to 0, which makes the if check fail and call scr_load_map() instead. After that global.initialized is set to true and it works the second time.
Normally if you use uninitialized variable you would get an error if ran in Debug mode. It seems it doesn't apply to global variables, not sure if a bug or not (probably a parser bug and should be a ticket in Git).
If you want a solid way to set initial variables (like all the globals), the I suggest making a new room (room_init) and an instance (obj_init) which inits everything in the create event and the goes to the next room. That is how I usually do it. It is also useful if you need to load external resources as you can make a loading screen there later.
ENIGMA has an internal event named "PreCreation event", which is the earliest event called on game start (or more precisely room start). Sadly we don't allow user to add code to it, but that is an LGM limitation. We use it internally to allow LGM to add transformations (rotation, scale, blending etc.) to instance sprites inside the room editor. If we allowed users to append code to it, then it would also be a good place to do initialization.
Another possibility is dropping GM compatibility even more. Clearly even GM isn't GM compatible.
Normally if you use uninitialized variable you would get an error if ran in Debug mode. It seems it doesn't apply to global variables, not sure if a bug or not (probably a parser bug and should be a ticket in Git).
If you want a solid way to set initial variables (like all the globals), the I suggest making a new room (room_init) and an instance (obj_init) which inits everything in the create event and the goes to the next room. That is how I usually do it. It is also useful if you need to load external resources as you can make a loading screen there later.
ENIGMA has an internal event named "PreCreation event", which is the earliest event called on game start (or more precisely room start). Sadly we don't allow user to add code to it, but that is an LGM limitation. We use it internally to allow LGM to add transformations (rotation, scale, blending etc.) to instance sprites inside the room editor. If we allowed users to append code to it, then it would also be a good place to do initialization.
Another possibility is dropping GM compatibility even more. Clearly even GM isn't GM compatible.
52
Programming Help / Re: My platform generation code does not work in ENIGMA.
« on: December 07, 2015, 05:08:03 am »
It's is actually weird that it works in GM8. The reason it is not working is because "Game Start" event is executed AFTER create event (just like in GM, see here http://docs.yoyogames.com/source/dadiospice/000_using%20gamemaker/events/other%20event.html and here: http://docs.yoyogames.com/source/dadiospice/000_using%20gamemaker/events/index.html . Even the GM8 manual: http://gamemaker.info/en/manual#game%20start%20event).
So what happens in your code:
1) The file is loaded in create event and the global variables are initialized. Most importantly mapcontentscount is set to the number of objects loaded.
2) Game start event is called and all the global variables are reset. You cannot really reset the whole arrays so except the first one ([0] you null) the rest still hold the data, but mapcontentscount is set to 0.
3) Your room transition thing happens and you are back at room 1 and the parser is called. The room parser sees mapcontentscount == 0 and the for loop doesn't execute.
Try putting 'show_message("Running game start!");' in Game Start event and 'show_message("Running create!");' in Create event to see in which order they run.
After I removed everything from Game Start event it worked fine.
I also find it weird that Game Start runs AFTER Create event, Creation code and even Room start, but sadly that is how GM does it. We had a discussion about this a while back and sadly we chose compatibility. But it seems it's not possible to be compatible with GM if even they don't do what they say they do.
On the other hand it could be an ENIGMA bug, but right now it seems we are just more consistent.
So what happens in your code:
1) The file is loaded in create event and the global variables are initialized. Most importantly mapcontentscount is set to the number of objects loaded.
2) Game start event is called and all the global variables are reset. You cannot really reset the whole arrays so except the first one ([0] you null) the rest still hold the data, but mapcontentscount is set to 0.
3) Your room transition thing happens and you are back at room 1 and the parser is called. The room parser sees mapcontentscount == 0 and the for loop doesn't execute.
Try putting 'show_message("Running game start!");' in Game Start event and 'show_message("Running create!");' in Create event to see in which order they run.
After I removed everything from Game Start event it worked fine.
I also find it weird that Game Start runs AFTER Create event, Creation code and even Room start, but sadly that is how GM does it. We had a discussion about this a while back and sadly we chose compatibility. But it seems it's not possible to be compatible with GM if even they don't do what they say they do.
On the other hand it could be an ENIGMA bug, but right now it seems we are just more consistent.
53
Works in Progress / Re: Upcoming Games
« on: December 07, 2015, 04:38:11 am »
Scale at runtime or scale in room editor? Because we do support that at runtime with tile_add(). There would need to be changes in LGM's room editor to support that though.
54
General ENIGMA / Re: About dependencies for distributing games
« on: December 06, 2015, 10:26:08 am »
I guess on Linux it is more standard to use dynamic linking (as it is easy to install dependencies) instead of static. On Windows everything is statically linked as we don't want force people to include some .dll's with the game. On Linux I don't know what the best way would be in this case. Maybe two profiles in ENIGMA - one statically link and the other dynamically. If you don't use Audio, then only these should be required:
For the ones you posted:
g++ - Compiler - used by ENIGMA to make your game. But not required to run it.
zlib1g-dev - Used in ENIGMA engine to pack resources with zip compression.
libglu1-mesa-dev - OpenGL support what is used by ENIGMA for graphics.
libalure-dev libvorbisfile3 libvorbis-dev libdumb1-dev - All of these are for sound. OpenAL (ALURE) is the sound system used by ENIGMA. Vorbis and Dumb just give additional file formats OpenAL can playback.
Quote
zlib1g-dev libglu1-mesa-devBut of course without the "-dev", as it is required for compiling with ENIGMA, not running.
For the ones you posted:
g++ - Compiler - used by ENIGMA to make your game. But not required to run it.
zlib1g-dev - Used in ENIGMA engine to pack resources with zip compression.
libglu1-mesa-dev - OpenGL support what is used by ENIGMA for graphics.
libalure-dev libvorbisfile3 libvorbis-dev libdumb1-dev - All of these are for sound. OpenAL (ALURE) is the sound system used by ENIGMA. Vorbis and Dumb just give additional file formats OpenAL can playback.
55
Programming Help / Re: Code couldn't fire over ENIGMA.
« on: December 06, 2015, 10:15:15 am »
Debug mode enables many internal error checks that will trow an error box (basically call show_error()) if any of those checks fail. This involves things like using uninitialized variables, using resources with id's that don't exist, like draw_sprite(background_20, x, y) will trow an error because you try drawing a background with a sprite function. That is not guearanteed to trow an error though, just because how GM and ENIGMA handle resources (they are just numbers starting at 0), so if there is a sprite with ID == background_20 (which might represent number 20, for example) then it will draw that sprite instead of trowing an error. This is a limitation I am trying to fix, but it cannot be done without totally changing the parser.
Can you maybe post an example of your instance problem here? It's hard to know what the problem is. Maybe the file isn't loading or the array doesn't work right (which might be true as it involves the parser).
Can you maybe post an example of your instance problem here? It's hard to know what the problem is. Maybe the file isn't loading or the array doesn't work right (which might be true as it involves the parser).
56
General ENIGMA / Re: About dependencies for distributing games
« on: December 05, 2015, 10:46:18 am »
Technically none. Everything is statically linked on Windows and Linux, so there shouldn't be any. I have seen people adding pthread.dll or openal.dll with their games made in ENIGMA, but that isn't required. Sadly I haven't tested Linux much, so there could be a problem there. But then we just need to change the makefile.
57
Off-Topic / Re: Introductions
« on: December 04, 2015, 07:35:52 am »
Welcome. From dev point we will try helping as much as possible. While the ENIGMA engine is quite stable and many ways powerful, there are still instabilities on the IDE and parser (that thing which converts your code, called EDL to C++) side. We are trying to find way to fix it though.
58
Issues Help Desk / Re: Unknown function or script `place_meeting'
« on: November 29, 2015, 10:11:21 am »
That is very weird. I just downloaded the windows Installer from the wiki, installed it and run the example it works fine. The function place_meeting was added years ago. Go to "enigma-dev\ENIGMAsystem\SHELL\Collision_Systems\General\CSfuncs.h" and open it. It should have "bool place_meeting(cs_scalar x, cs_scalar y, int object);" inside "namespace enigma_user {" block. If that is true, then it should show up in ENIGMA as usable. The error is actually not by the compiler (which I think can find the function just fine), but by ENIGMA parser which returns the syntax error. It might be a bug in it. As you cannot run my example as well, then it rules out something with your code. Can you run a simple test with just a room drawing a text or something? Then we would know if only Collision functions have problems for you. The parser has been an issue for years, and sadly Josh won't work on it anymore. I have been giving alternatives on what to replace it with. I will probably make a new post about it.
59
Issues Help Desk / Re: Unknown function or script `place_meeting'
« on: November 27, 2015, 06:06:57 pm »
It is in fact implemented and working in ENIGMA. The only way to replicate what you are seeing is by disabling collision system in ENIGMA settings. When you go to "Game Settings" -> "ENIGMA" -> "API" then the "Collision" is set to what? By default it is Precise. It can also be "Bounding Box" (which also has place_meeting implemented) or "None" which of course doesn't. If it is in fact not set to "None", then we have a larger problem here.
I attached an example I just made and tested. See if it compiles for you.
I attached an example I just made and tested. See if it compiles for you.
60
Works in Progress / Re: Croky
« on: November 17, 2015, 04:05:59 pm »Quote
1.shot snail should disappear as the GM, I did not mention earlier on linux This error also occursIt does disappear for me on Windows, so I cannot replicate the bug.
Quote
2.Basic GUI has a problem with mingw enclose a log of the compilationThank you for this log. The bug was that Linux compiler configuration didn't have C++11 enabled which ENIGMA now uses. It is actually used in GL3 graphics system as well, so if you tried compiling with that you would also get those errors. I have enabled C++11 on Linux now: https://github.com/enigma-dev/enigma-dev/commit/ad3c81a830db30ae83a89c36a4dac43bdbde6246
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 »