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.
121
General ENIGMA / DevOps
« on: December 21, 2013, 01:01:18 pm »
Due to recent criticism I am going to open a topic for everyone to criticize my development habits. My retort to these criticisms so far is just because I am in favor of more rapid development, doesn't make me horribly inexperienced for running a software development project or rather in this case having a large say in its development.
First I would like to introduce you to the rapid development strategy known as DevOps.
http://en.wikipedia.org/wiki/DevOps
It basically stresses good communication between developers, testers, and project leaders. Without good communication we end up with incidents such as polygonz merging a commit without communicating it to another developer such as myself which I always request or it undergoing any quality assurance.
Now this is where I mainly want to retort IsmAvatar in that I do not agree with full blown unmonitored contributions. Many people have heard me complain about Canonical releasing bugged updates constantly, and is also one of the main reasons I currently will not use Linux.
Basically when the cycle is working as is intended we end up with the following results.
I would rather steer away from just criticism and request that anyone posting here post constructive criticism and not just how bad I suck but rather what I could do to improve my communication skills and help improve the work flow with other developers.
First I would like to introduce you to the rapid development strategy known as DevOps.
http://en.wikipedia.org/wiki/DevOps
It basically stresses good communication between developers, testers, and project leaders. Without good communication we end up with incidents such as polygonz merging a commit without communicating it to another developer such as myself which I always request or it undergoing any quality assurance.
Now this is where I mainly want to retort IsmAvatar in that I do not agree with full blown unmonitored contributions. Many people have heard me complain about Canonical releasing bugged updates constantly, and is also one of the main reasons I currently will not use Linux.
Basically when the cycle is working as is intended we end up with the following results.
I would rather steer away from just criticism and request that anyone posting here post constructive criticism and not just how bad I suck but rather what I could do to improve my communication skills and help improve the work flow with other developers.
122
General ENIGMA / Preprocessor Move
« on: December 20, 2013, 06:04:11 pm »
I have decided to move the preprocessor for Windows again, this time to C:/ProgramData/ENIGMA
This is a user directory introduced in Windows vista, and is a hidden folder. So this will alleviate the problem with GNU make not allowing spaces and also continue to alleviate administrator privileges issues. This also fixes the issues with using ENIGMA on a drive other than C:/ assuming of course this was the only issue with using a different drive but as far as I am aware this was the actual issue being that the working directory assumed C:/ drive. This fix only applies for Windows, and should make ENIGMA usable again for those of you with spaces.
Please redownload the Portable ZIP if you need these fixes.
http://enigma-dev.org/docs/Wiki/Install:Windows
Here is some information from Microsoft on what this directory is.
http://msdn.microsoft.com/en-us/library/windows/desktop/dd378457%28v=vs.85%29.aspx
Wikipedia also has some information about the %ALLUSERSPROFILE%
http://en.wikipedia.org/wiki/Environment_variable
This was the pull request where I fixed this issue.
https://github.com/enigma-dev/enigma-dev/pull/590
This was the pull request I fixed the drives issue with.
https://github.com/enigma-dev/enigma-dev/pull/591
This is a user directory introduced in Windows vista, and is a hidden folder. So this will alleviate the problem with GNU make not allowing spaces and also continue to alleviate administrator privileges issues. This also fixes the issues with using ENIGMA on a drive other than C:/ assuming of course this was the only issue with using a different drive but as far as I am aware this was the actual issue being that the working directory assumed C:/ drive. This fix only applies for Windows, and should make ENIGMA usable again for those of you with spaces.
Please redownload the Portable ZIP if you need these fixes.
http://enigma-dev.org/docs/Wiki/Install:Windows
Here is some information from Microsoft on what this directory is.
http://msdn.microsoft.com/en-us/library/windows/desktop/dd378457%28v=vs.85%29.aspx
Wikipedia also has some information about the %ALLUSERSPROFILE%
http://en.wikipedia.org/wiki/Environment_variable
This was the pull request where I fixed this issue.
https://github.com/enigma-dev/enigma-dev/pull/590
This was the pull request I fixed the drives issue with.
https://github.com/enigma-dev/enigma-dev/pull/591
123
General ENIGMA / All Roads Lead To Rome
« on: December 18, 2013, 07:10:11 am »
With the advent of Josh and IsmAvatar throwing hissy fits and leaving the project, me and cheeseboy are curious as to what direction people think we should try to go with development.
124
General ENIGMA / All EGM's Broke
« on: December 14, 2013, 06:32:40 am »
Well I had to add the "Force software vertex processing" setting to Global Game Settings and found a real nasty bug.
If an EGM is saved with older global game settings it fails to load with the latest version. If you update LGM or the plugin any time lately you'll need to patch up your EGM's too, it is real simple, the bug is already filed on the tracker as well.
Since EGM is simply a ZIP file just open it up and add "FORCE_SOFTWARE_VERTEX_PROCESSING: false" to Game Settings.ey file then rezip or whatever. I already updated all my EGM's on the site.
You can also just download the new Portable ZIP.
http://enigma-dev.org/docs/Wiki/Install:Windows
This is the open bug report.
https://github.com/enigma-dev/lgmplugin/issues/12
If an EGM is saved with older global game settings it fails to load with the latest version. If you update LGM or the plugin any time lately you'll need to patch up your EGM's too, it is real simple, the bug is already filed on the tracker as well.
Since EGM is simply a ZIP file just open it up and add "FORCE_SOFTWARE_VERTEX_PROCESSING: false" to Game Settings.ey file then rezip or whatever. I already updated all my EGM's on the site.
You can also just download the new Portable ZIP.
http://enigma-dev.org/docs/Wiki/Install:Windows
This is the open bug report.
https://github.com/enigma-dev/lgmplugin/issues/12
125
Tips, Tutorials, Examples / Basic Graphics Test
« on: December 13, 2013, 01:51:12 am »This is a minimal example which can be used to check if graphics systems are working on certain hardware.
https://www.dropbox.com/s/0pl8050nmb2948k/graphicstest.gm81
126
General ENIGMA / New Audio Functions Deprecated
« on: December 12, 2013, 11:32:53 pm »Quote
DescriptionThe following quote above is for the audio_play_music function. I originally complained like crazy that they had a duplicate set of functions and were reserving an audio channel, I am so glad they corrected this. I am going to remove all those music functions so that I can fix the new audio system to work properly. It is not an issue since the functions were short lived and the duplicates still exist, there was no need to distinguish the functions.
WARNING! This function has been deprecated and you should use audio_play_sound instead.
This function can be used to start a piece of background music playing. You can only have one piece of background playing at a time when using this function, and starting a sound while a previous one is playing will end the previous one directly. You can also choose whether the sound should loop back to the beginning by setting the loop flag to true, or only to play once by setting it to false.
The full list of deprecated audio functions can be found here.
http://enigma-dev.org/docs/Wiki/Obsolete_Functions#Audio
This is the commit where the fixes are applied and functions become deprecated.
https://github.com/enigma-dev/enigma-dev/pull/574
127
General ENIGMA / Direct3D 11.0 Implemented
« on: December 12, 2013, 07:53:54 am »
As you can see in the following screenshot I finally managed to get Direct3D 11 implemented now as well. I have shelled the graphics and made it clear the background color, simply need to readd the functions again, just like what was done with Direct3D 9.
The issue why I couldn't do it before is because Microsoft changed the API mid-version and moved it into the Windows SDK and then removed the D3DX stuff for coloring and matrix functions. I have not yet decided whether I will make use of these by hacking them into MinGW as well or more likely I will just waste my time rewriting the FFP instead since then it will be a sinch for me to do in the other graphics systems.
I got this working by rebuilding the libd3d11.a myself to link and get the correct symbols from, because apparently the MinGW really hates Direct3D 11. I will also have to maintain a custom version of the d3d11.h header based off theirs so that I can add missing declarations. I will keep these two in the WinPatch.zip
This is the commit I have done this in along with some compiler fixes regarding spaces in paths.
https://github.com/enigma-dev/enigma-dev/pull/572
This is the LIB2A tool I used to convert the MSVC libs with.
https://code.google.com/p/lib2a/
This is the libd3d11.a file.
https://www.dropbox.com/s/fyxa577ij7bg5dd/libd3d11.a
This is the d3d11.h header file.
https://www.dropbox.com/s/015mzbz6doi9k5j/d3d11.h
I have updated the Portable ZIP installer to include these two missing files under ENIGMAsystem/Additional where the rest of our headers for Box2D and Bullet and things are, cheeseboy will need to update the ZIP automatic builder to include these files. You can go ahead and download if you want to test an empty game with the background color or if you wish to help me start adding functions.
http://enigma-dev.org/docs/Wiki/Install:Windows
The issue why I couldn't do it before is because Microsoft changed the API mid-version and moved it into the Windows SDK and then removed the D3DX stuff for coloring and matrix functions. I have not yet decided whether I will make use of these by hacking them into MinGW as well or more likely I will just waste my time rewriting the FFP instead since then it will be a sinch for me to do in the other graphics systems.
I got this working by rebuilding the libd3d11.a myself to link and get the correct symbols from, because apparently the MinGW really hates Direct3D 11. I will also have to maintain a custom version of the d3d11.h header based off theirs so that I can add missing declarations. I will keep these two in the WinPatch.zip
This is the commit I have done this in along with some compiler fixes regarding spaces in paths.
https://github.com/enigma-dev/enigma-dev/pull/572
This is the LIB2A tool I used to convert the MSVC libs with.
https://code.google.com/p/lib2a/
This is the libd3d11.a file.
https://www.dropbox.com/s/fyxa577ij7bg5dd/libd3d11.a
This is the d3d11.h header file.
https://www.dropbox.com/s/015mzbz6doi9k5j/d3d11.h
I have updated the Portable ZIP installer to include these two missing files under ENIGMAsystem/Additional where the rest of our headers for Box2D and Bullet and things are, cheeseboy will need to update the ZIP automatic builder to include these files. You can go ahead and download if you want to test an empty game with the background color or if you wish to help me start adding functions.
http://enigma-dev.org/docs/Wiki/Install:Windows
128
Off-Topic / Is the GMC dying?
« on: December 12, 2013, 04:29:46 am »
This is not a rant topic, I am just noticing since I don't visit there but once every month or so, the community really seems like it is starting to become inactive.
Take for instance, the Work In Progress section...
http://gmc.yoyogames.com/index.php?showforum=11
Only a few games that were able to stay in the spotlight since this summer.
Look at the 3D examples.
http://gmc.yoyogames.com/index.php?showforum=41
Only one significant post since freaking 2012. Not to mention the only people that ever post to announcement topics are generally staff. Are they delusional over there, or can they not see they killed their own community?
Take for instance, the Work In Progress section...
http://gmc.yoyogames.com/index.php?showforum=11
Only a few games that were able to stay in the spotlight since this summer.
Look at the 3D examples.
http://gmc.yoyogames.com/index.php?showforum=41
Only one significant post since freaking 2012. Not to mention the only people that ever post to announcement topics are generally staff. Are they delusional over there, or can they not see they killed their own community?
129
General ENIGMA / Studio vs Legacy Alpha and Color
« on: December 09, 2013, 07:25:02 pm »After realizing that some of the Game Maker sprite and background functions are not affected by the set drawing color and alpha I decided to run some tests. In the above two screenshots you can see a little test I ran in Studio and 8.1 with the code below. Notice in Studio the background function is affected by alpha but not color and in 8.1 it was affected by neither.
Code: (edl) [Select]
draw_set_color(c_red);
draw_set_alpha(0.5);
draw_background(bkg_0,0,0);
My solution to this was to simply allow all background and sprite and standard draw functions that do not accept color to be affected by the set drawing color and alpha. However, due to outcries from retarded trolls (cheeseboy/polygon) they want the old legacy Game Maker behavior which breaks support for Studio's version of the functions.
Part of this issue was starting to unfold in the following post.
http://enigma-dev.org/forums/index.php?topic=1632.0
The GitHub ticket for this issue can be found here.
https://github.com/enigma-dev/enigma-dev/issues/560
130
General ENIGMA / RadialGM
« on: December 06, 2013, 04:42:50 am »
Hey guys, just wanted to update everyone a bit the LateralGM rewrite in C++. The project is definitely making progress, and I also decided to write a little article on the wiki with some information any of you may find useful.
http://enigma-dev.org/docs/Wiki/RadialGM
The GMK API is currently completed, thanks to DatZach for writing the whole thing. The editor widgets and most of the LGM GUI layouts are completely redone and I do have a few functional editors such as the script/coding and game information editors working. I am waiting for the time to set down and work out the serializer for it with a little help from Josh. Basically what it does it make a single internal representation of the current projects kind of like XML sort of, it involves schema nodes and stuff. But anyway the goal there is to make it modular so many components of the various GMK/GMX/EGM readers and writers are agnostic to a lot of things. When the project gets further I will add information on building it, but it is too early for that quite yet.
http://enigma-dev.org/docs/Wiki/RadialGM
The GMK API is currently completed, thanks to DatZach for writing the whole thing. The editor widgets and most of the LGM GUI layouts are completely redone and I do have a few functional editors such as the script/coding and game information editors working. I am waiting for the time to set down and work out the serializer for it with a little help from Josh. Basically what it does it make a single internal representation of the current projects kind of like XML sort of, it involves schema nodes and stuff. But anyway the goal there is to make it modular so many components of the various GMK/GMX/EGM readers and writers are agnostic to a lot of things. When the project gets further I will add information on building it, but it is too early for that quite yet.
131
General ENIGMA / LateralGM Plugin Repository
« on: December 06, 2013, 04:42:29 am »
This is just a heads up everyone, the source code to the LateralGM plugin that allows you to compile games with ENIGMA, is no longer included in the main repository. Its new repository can be located at the link below and all your old tickets have been preserved and moved there.
https://github.com/enigma-dev/lgmplugin
The justification for this is simple, we need to make room to accommodate multiple IDE's, and that will mean multiple plugins in the future. We eventually plan to allow you to pick out which IDE you want when downloading, these ideas are still rather young and we will discuss them more in the future. This movement of the plugin code will also allow us to make a Linux package, for instance, for the Ubuntu software center much easier.
This also means a couple of other things, one being that on Windows, your games when compiled are now found in %AppData%/Roaming/ENIGMA
https://github.com/enigma-dev/lgmplugin
The justification for this is simple, we need to make room to accommodate multiple IDE's, and that will mean multiple plugins in the future. We eventually plan to allow you to pick out which IDE you want when downloading, these ideas are still rather young and we will discuss them more in the future. This movement of the plugin code will also allow us to make a Linux package, for instance, for the Ubuntu software center much easier.
This also means a couple of other things, one being that on Windows, your games when compiled are now found in %AppData%/Roaming/ENIGMA
132
Tips, Tutorials, Examples / Hacking Windows Executables
« on: December 04, 2013, 05:09:28 pm »
This is just a tutorial for anyone who may be interested. You can use a special tool to modify executable files and changes things such as the copyright and change any Windows forms around.
Hacking the icon, description, and copyright information.
Step 1
Download and install Resource Hacker from the link below, if you do not already have it, which is the program we are going to use to do this. Scroll down the page at the link below if you can't see the setup, its there, just scroll down a bit.
http://www.angusj.com/resourcehacker/
Step 2
Open Resource Hacker from Start->All Programs and hit File->Open then navigate to and open the executable you want to modify. You can also just right click it in Windows Explorer and select "Open In Resource Hacker" it installs an option there by default, for me it does anyway.
Step 3
Make your changes to the exe, set the icon, and the copyright info, modify dialogues, etc.
Step 4
Save your changes to the exe, and it should automatically create a backup copy of the old executable.
Hacking the icon, description, and copyright information.
Step 1
Download and install Resource Hacker from the link below, if you do not already have it, which is the program we are going to use to do this. Scroll down the page at the link below if you can't see the setup, its there, just scroll down a bit.
http://www.angusj.com/resourcehacker/
Step 2
Open Resource Hacker from Start->All Programs and hit File->Open then navigate to and open the executable you want to modify. You can also just right click it in Windows Explorer and select "Open In Resource Hacker" it installs an option there by default, for me it does anyway.
Step 3
Make your changes to the exe, set the icon, and the copyright info, modify dialogues, etc.
Step 4
Save your changes to the exe, and it should automatically create a backup copy of the old executable.
133
Ideas and Design / Website Issue Tracker Sucks
« on: December 04, 2013, 04:54:17 pm »
The website tracker is a disgrace. It files all bug reports to the ENIGMA tracker and everyone who comes here ends up filing LateralGM and Plugin issues there, which is a serious problem considering there will eventually be multiple IDE's.
I have already begun to accommodate this by moving the plugin to its own repository and moving all your old bug reports there.
https://github.com/enigma-dev/lgmplugin
Not only does the site tracker look like shit, it parses in BBCode since it is simply an extension of our forum which makes it incompatible with Git MarkDown cuasing the real issue tracker on GitHub to look like shit too.
My opinion is we should simply get the fuck rid of it and replace it with an embedded Wiki page that links people to the proper GitHub repository trackers and explain to them where a certain issue should be reported and how we would like them to report. Currently nobody even takes the time to add test cases or even thoroughly describe their problems, people literally need to be lead around by the fucking hand, and our site tracker isn't helping.
I have already begun to accommodate this by moving the plugin to its own repository and moving all your old bug reports there.
https://github.com/enigma-dev/lgmplugin
Not only does the site tracker look like shit, it parses in BBCode since it is simply an extension of our forum which makes it incompatible with Git MarkDown cuasing the real issue tracker on GitHub to look like shit too.
My opinion is we should simply get the fuck rid of it and replace it with an embedded Wiki page that links people to the proper GitHub repository trackers and explain to them where a certain issue should be reported and how we would like them to report. Currently nobody even takes the time to add test cases or even thoroughly describe their problems, people literally need to be lead around by the fucking hand, and our site tracker isn't helping.
134
General ENIGMA / Canthelp/Default font
« on: December 01, 2013, 04:17:42 pm »
A while ago you wanted to add libtiff or whatever to generate a default font, I just ran across the fact of font_add.
Code: (cpp) [Select]
int font_add(string name, int size, bool bold, bool italic, unsigned char first, unsigned char last)
{
int res = enigma::font_new(first, last-first);
enigma::font *fnt = enigma::fontstructarray[res];
fnt->name = name;
fnt->fontsize = size;
fnt->bold = bold;
fnt->italic = italic;
fnt->glyphstart = first;
fnt->glyphcount = last-first;
return res;
}
That is the current implementation of font_add, I don't know if that even works or not, but I doubt it, because nothing is rendering the glyphs. A test should be done to see if this function works or not, and if it does not you can freely add libtiff to generate a default font, though the IDE should still render the fonts and place inside the GMX/EGM for later usage, I am only talking of for this function and for a default font.
135
Developing ENIGMA / GameMaker: Studio is EXTREMELY slow...
« on: November 30, 2013, 10:34:50 am »Well, I figured out how they are handling draw_set_color()
Harri, you were wrong, they are not adding it to each vertex if one is not passed. They are halting the ENTIRE graphics pipeline, and adding the currently set drawing color. I am amazed at their stupidity, the only thing I can think of is that Micro$hit gave them this idea, see the following article.
http://msdn.microsoft.com/en-us/library/windows/desktop/bb206331%28v=vs.85%29.aspx
I tested this by simply doing the following before that model is drawn in the above screenshot.
Code: (edl) [Select]
draw_set_color(choose(c_green, c_red, c_blue));
draw_set_alpha(random(100)/100);
Which sure enough proved that the entire graphics pipeline was haulted in order to update the color vertices, this is only possible on a model without colors added to each vertex already, which is why when I originally tested this I couldn't get any results, I had to go and remove the color and alpha from their AddCube() script. I also tested with the built in block and other shapes to get these same results.
So anyway, I am going to scrap what were doing by adding it per-vertex, and sure as HELL not doing what they are doing. I am going to change the default drawing color to white and alpha to 1.0, then handle it all in the shader, it's the most optimal solution.