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.
166
General ENIGMA / Views Fix
« on: September 15, 2013, 04:49:26 am »Quote
<freezway> secondly, line 271 of GSscreen.cpp in the gl1.1 version needs to be glViewport(view_xport[vc], view_yport[vc], view_wview[vc], view_hview[vc]);
168
General ENIGMA / Font Add and Runtime Fonts
« on: September 12, 2013, 08:54:23 pm »
Ya font_add crashes, most likely cuz it never packs or renders glyphs. Canthelp was discussing this before with his python IDE rasterizing a font to hand to ENIGMA like the plugin does. ENIGMA needs to be able to render fonts itself.
Also needs some thought because it takes a string that maps the characters to the glyphs.
Code: [Select]
font_add_sprite_ext(spr, string_map, prop, sep);
Also needs some thought because it takes a string that maps the characters to the glyphs.
169
General ENIGMA / Can I have commit access?
« on: September 12, 2013, 02:41:51 pm »
Srsly, you guys, it would help if I could organize the bug tracker better and not have to nag you guys all the time in order to fix merge conflicts I tend to work at a much higher pace than everyone else.
170
General ENIGMA / House Effects Demo
« on: September 10, 2013, 05:27:17 pm »
I don't know if anyone noticed but that thing won't even compile now.
171
Tips, Tutorials, Examples / Multitextured Terrain Example
« on: September 09, 2013, 01:25:02 pm »
This is for a game I am making, enjoy!
Download: https://www.dropbox.com/s/1j2gkap2ygwyyfy/MultitexturedTerrain.egm
Size: 1.71mb's
173
General ENIGMA / Interpolate Colors Between Pixels
« on: September 07, 2013, 09:17:59 pm »
This is the fucked up most god damn son of a bitch of an option ever.
So basically, it is the equivalent of texture_set_interpolation(true); and is used to smoothly scale sprites and shit, but *ahem* can cause things to look blurry. Basically anyone who would say that doesn't understand the actual operation the sampler performs.
At any rate, this is where the texture options for sprites and backgrounds come into play in Studio, the Tile: Vertically/Horizontally options control UV wrapping but not W.
Basically that lets you use texture_set_interpolation(true); on a draw_sprite(); call without the problem of the sampler interpolation nearby pixels from other textures causing planar edge artifacts.
I will implement that, but I am also going to implement the function, that option is specific to Direct3D under the Windows tab in Studio.
Quote
Interpolate Colors Between Pixels - Turns on interpolation, which basically "smooths" pixels. for crisp pixel graphics, it should be off, but if you have nice alpha blends and smoothed edge graphics it is better left on.
So basically, it is the equivalent of texture_set_interpolation(true); and is used to smoothly scale sprites and shit, but *ahem* can cause things to look blurry. Basically anyone who would say that doesn't understand the actual operation the sampler performs.
At any rate, this is where the texture options for sprites and backgrounds come into play in Studio, the Tile: Vertically/Horizontally options control UV wrapping but not W.
Basically that lets you use texture_set_interpolation(true); on a draw_sprite(); call without the problem of the sampler interpolation nearby pixels from other textures causing planar edge artifacts.
Quote
Force Software Vertex Processing - This forces GameMaker:Studio to use the CPU for all graphics and is only recommended if there are compatibility issues with older machines.
I will implement that, but I am also going to implement the function, that option is specific to Direct3D under the Windows tab in Studio.
174
General ENIGMA / A Few Good Bugs
« on: September 01, 2013, 05:31:25 am »
Just to update you guys on a few things.
I fixed why the plugin was not rebuilding the compiler, it was actually me delaying the thread for double clicking gmks and gmx, I have fixed it all properly and added the ability for EGM's to be double clicked now as well, so that is all good. Get the new JARs from LGM topic or redownload and extract the portable ZIP.
I have also fixed the issue with the output_log.txt growing to immense sizes, simply merge this commit...
https://github.com/enigma-dev/enigma-dev/pull/378
And it will no longer append to the file, but overwrite it. Rebuild the exe yourself, or again, get the new portable ZIP.
This also fixes why old EGM's wouldn't add a Shaders resource group.
I fixed why the plugin was not rebuilding the compiler, it was actually me delaying the thread for double clicking gmks and gmx, I have fixed it all properly and added the ability for EGM's to be double clicked now as well, so that is all good. Get the new JARs from LGM topic or redownload and extract the portable ZIP.
I have also fixed the issue with the output_log.txt growing to immense sizes, simply merge this commit...
https://github.com/enigma-dev/enigma-dev/pull/378
And it will no longer append to the file, but overwrite it. Rebuild the exe yourself, or again, get the new portable ZIP.
This also fixes why old EGM's wouldn't add a Shaders resource group.

175
General ENIGMA / Shaders
« on: August 29, 2013, 06:16:48 am »
I rewrote all of ENIGMA's model batching last night to do some kickass batching. OpenGL 1 now uses this class and OGL 1.0 support is dropped minimum is now 1.1, as those have vertex arrays allowing me to use the same class and not be forced to use call lists which are slow as dog shit and bloat the ram they can't even handle big models. Anyway, I have programmed model batching not even that efficiently and it still whomps Game Makers ass using the fixed function pipeline.
The commit I am working on is available on Git, but I am not quite ready for it to be merged, when it is your games with models should have a huge performance increase.
https://github.com/enigma-dev/enigma-dev/pull/374
ENIGMA OpenGL 1
Ram Usage: 135,000 K
FPS: 25
GameMaker: Studio
Ram Usage: 180,000 K
FPS: 240ish
ENIGMA Direct3D 9.0
Ram Usage: 137,000 K
FPS: 260ish
ENIGMA OpenGL 3
Ram Usage: 59,000 K
FPS: 320ish
OpenGL 3 kicks studio's ass by a whopping 100 frames per second on their own fucking demo...

GameMaker: Studio sucks donkey dick, slower than a fuckin snail...

Direct3D 9.0 is a really shitty graphics API but still beats Studio a little bit...

OpenGL 1 graphics are still slow but at least thanks to my new batching they can handle some models without killing over and bloating the ram.

The memory usage of OpenGL 1 running their demo was almost half of what Stupido was using...

Direct3D 9.0 is really out of date, and too bloaty of an API...

I wish this software would die a miserable death...

OpenGL 3 uses 1/4th the ram Stupido does...

And the first one now, will later be last....
The commit I am working on is available on Git, but I am not quite ready for it to be merged, when it is your games with models should have a huge performance increase.
https://github.com/enigma-dev/enigma-dev/pull/374
ENIGMA OpenGL 1
Ram Usage: 135,000 K
FPS: 25
GameMaker: Studio
Ram Usage: 180,000 K
FPS: 240ish
ENIGMA Direct3D 9.0
Ram Usage: 137,000 K
FPS: 260ish
ENIGMA OpenGL 3
Ram Usage: 59,000 K
FPS: 320ish
OpenGL 3 kicks studio's ass by a whopping 100 frames per second on their own fucking demo...

GameMaker: Studio sucks donkey dick, slower than a fuckin snail...

Direct3D 9.0 is a really shitty graphics API but still beats Studio a little bit...

OpenGL 1 graphics are still slow but at least thanks to my new batching they can handle some models without killing over and bloating the ram.

The memory usage of OpenGL 1 running their demo was almost half of what Stupido was using...

Direct3D 9.0 is really out of date, and too bloaty of an API...

I wish this software would die a miserable death...

OpenGL 3 uses 1/4th the ram Stupido does...

And the first one now, will later be last....
176
Tips, Tutorials, Examples / Example Shaders
« on: August 28, 2013, 05:36:08 am »
This topic is a collection of various shaders that can be used in your game. You are free to use them and can also post your own in this topic.
Cartoon Shader
Language: GLSL
Vertex Shader
Fragment Shader
Perpixel
Language: GLSL
Vertex Shader
Fragment Shader
Cartoon Shader
Language: GLSL
Vertex Shader
Code: (glsl) [Select]
varying vec3 normal;
void main()
{
normal = gl_NormalMatrix * gl_Normal;
gl_Position = ftransform();
}
Fragment Shader
Code: (glsl) [Select]
varying vec3 normal;
void main()
{
float intensity;
vec4 color;
vec3 n = normalize(normal);
intensity = dot(vec3(gl_LightSource[0].position),n);
if (intensity > 0.95)
color = vec4(1.0,0.5,0.5,1.0);
else if (intensity > 0.5)
color = vec4(0.6,0.3,0.3,1.0);
else if (intensity > 0.25)
color = vec4(0.4,0.2,0.2,1.0);
else
color = vec4(0.2,0.1,0.1,1.0);
gl_FragColor = color;
}
Perpixel
Language: GLSL
Vertex Shader
Code: (glsl) [Select]
void main()
{
vec3 normal, lightDir;
vec4 diffuse, ambient, globalAmbient;
float NdotL;
normal = normalize(gl_NormalMatrix * gl_Normal);
lightDir = normalize(vec3(gl_LightSource[0].position));
NdotL = max(dot(normal, lightDir), 0.0);
diffuse = gl_FrontMaterial.diffuse * gl_LightSource[0].diffuse;
/* Compute the ambient and globalAmbient terms */
ambient = gl_FrontMaterial.ambient * gl_LightSource[0].ambient;
globalAmbient = gl_LightModel.ambient * gl_FrontMaterial.ambient;
gl_FrontColor = NdotL * diffuse + globalAmbient + ambient;
gl_Position = ftransform();
}
Fragment Shader
Code: (glsl) [Select]
void main()
{
gl_FragColor = gl_Color;
}
178
General ENIGMA / Everything Is Good Now
« on: August 28, 2013, 04:10:24 am »
I believe the issues with the executable have been resolved, it is now working for me again, Harri, polygonz, and frogg. So let's just not mess with the exe quite some time, the only thing it needs is automatic updates to download binaries, I will finish it myself at a later point in time.
Polygonz, please try not to do shit like remove glewInit() from OpenGL 1, like seriously, do you even think before you commit anything?
This is the kind of responses we end up getting on our Facebook as a result...
We need to at least try not to break EVERYTHING all at one time ;_;
Polygonz, please try not to do shit like remove glewInit() from OpenGL 1, like seriously, do you even think before you commit anything?
This is the kind of responses we end up getting on our Facebook as a result...
Quote
Yeah... Its crashed on first run for me... I will send bug report next weekend
Quote
Janko Knez I suggest you focus on the bugs first, then add features.
We need to at least try not to break EVERYTHING all at one time ;_;
179
Announcements / Shader Resources
« on: August 27, 2013, 04:31:04 am »
Shaders are now available as a resource and can be used. They are compatible with Game Maker's and can currently only be saved and loaded under EGM, GMK does not support them. GMX format will be finished soon enough I have a lot on my plate.

Youtube Video: https://youtu.be/cZixbLHaroI
WARNING! You have to update in order to use them, and you must update both LateralGM, the plugin, and ENIGMA using git in order to use them, if you update only one of these then the others will break. If you have installed using the Windows ENIGMA Portable you are advised to redownload as bug fixes have been applied to those of you with MinGW issues and it also now contains an ini settings file to control checking for java and other things. Automatic updating will be available at a later point in time.
The shader functions are all documented and available on the Wiki.
https://enigma-dev.org/docs/Wiki/Shader_Functions
Currently only GLSL shaders are supported, but the function API is tailored for glsl programming and can currently only be used in OpenGL. The Game Maker version of the functions are simply wrapped around each graphics systems implementation so that there can exist an API which caters to only one shading language. These shaders can greatly help improve the performance of your games by offloading strenuous work onto the GPU where they properly belong, unlike Game Maker we also provide you the option to dynamically compile and link shaders at runtime as shaders are properly intended and encouraged by hardware manufacturers to be used.
There is a nice website for scripting and seeing real time results of shaders as well, they also have many example shaders.
http://www.kickjs.org/example/shader_editor/shader_editor.html#
There is the GLSL sandbox as well which I thought was very cool.
https://www.shadertoy.com/

Youtube Video: https://youtu.be/cZixbLHaroI
WARNING! You have to update in order to use them, and you must update both LateralGM, the plugin, and ENIGMA using git in order to use them, if you update only one of these then the others will break. If you have installed using the Windows ENIGMA Portable you are advised to redownload as bug fixes have been applied to those of you with MinGW issues and it also now contains an ini settings file to control checking for java and other things. Automatic updating will be available at a later point in time.
The shader functions are all documented and available on the Wiki.
https://enigma-dev.org/docs/Wiki/Shader_Functions
Currently only GLSL shaders are supported, but the function API is tailored for glsl programming and can currently only be used in OpenGL. The Game Maker version of the functions are simply wrapped around each graphics systems implementation so that there can exist an API which caters to only one shading language. These shaders can greatly help improve the performance of your games by offloading strenuous work onto the GPU where they properly belong, unlike Game Maker we also provide you the option to dynamically compile and link shaders at runtime as shaders are properly intended and encouraged by hardware manufacturers to be used.
There is a nice website for scripting and seeing real time results of shaders as well, they also have many example shaders.
http://www.kickjs.org/example/shader_editor/shader_editor.html#
There is the GLSL sandbox as well which I thought was very cool.
https://www.shadertoy.com/
180
General ENIGMA / GMK 820 Will Not Be Supported
« on: August 25, 2013, 03:30:55 am »
I have made the definitive choice to never support GMK 820, why? Because it does not even properly version itself. GMK 820's are GMK's exported from GayMaka: Stupido that version themselves as 810 but remove settings such as F4 for fullscreen and other options, and without the proper format version, it is impossible for me to tell whether or not to skip these bytes when reading the GMK.
To be honest, I am surprised at all anyone was even able to load these GMK's into GM81 exported from Studio. Studio is exporting crazy corrupt GMK's this way, and no comprehensive GMK reader would be able to read Studio's files. I would not export your games from Studio that way, they did just drop this feature too, and from what I can tell it was very buggy.
But anyway, in this screenshot you can see me looking at a GMK in a binary file viewer to check the version number, the version number is the second set of 4 bytes inside the file, but it also recurs throughout GMK.

See, look at the last part of the file is the resource tree...

The GMK format was horrible, that is why YoYoGames switched to an XML based format, GMX. So I will just finish my GMX reader and everybody can just be happy, GMK 820 isn't needed anyway when I finish GMX it will be able to export to any version of GMK specified.
To be honest, I am surprised at all anyone was even able to load these GMK's into GM81 exported from Studio. Studio is exporting crazy corrupt GMK's this way, and no comprehensive GMK reader would be able to read Studio's files. I would not export your games from Studio that way, they did just drop this feature too, and from what I can tell it was very buggy.
But anyway, in this screenshot you can see me looking at a GMK in a binary file viewer to check the version number, the version number is the second set of 4 bytes inside the file, but it also recurs throughout GMK.

See, look at the last part of the file is the resource tree...

The GMK format was horrible, that is why YoYoGames switched to an XML based format, GMX. So I will just finish my GMX reader and everybody can just be happy, GMK 820 isn't needed anyway when I finish GMX it will be able to export to any version of GMK specified.