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

1711
Quote
First, tbx and tby are both 1 for Po2 textures.
I am aware.

But as I stated. (GL_TEXTURE_WRAP_S,GL_REPEAT) draws only the min(window_width,window_height). Maybe there is another parameter that needs to be changed, but for now I can't see any way to fix this. For example, I added a picture on how draw_sprite_tiled_n2 draws. It should tile the whole room, but it tiles a square of 480x480.

Quote
Second, I believe the most efficient way to code this function is by giving it this structure:
Well keeping the second thing in mind it should be:
Code: [Select]
max_size = min(window_width,window_height)
if (tbx == 1 && region_width < max_size)
  if (tby == 1 && region_height < max_size)
    //YOUR CURRENT METHOD
  else if (region_width < max_size)
    //DRAW LARGE TILED HORIZONTAL STRIPS OF SIZE REQUESTED_WIDTH * SPRITE_HEIGHT
else
  if (tby == 1 && region_height < max_size)
    //DRAW LARGE TILED VERTICAL STRIPS OF SIZE SPRITE_WIDTH * REQUESTED_HEIGHT
  else
    //THE INEFFICIENT METHOD

1712
Quote
In my opinion being able to draw sprites in this method would be great, and should be implemetned, I for one need it for my RTS.
What exactly do you need from this method? As I already stated in the first post, this is very limited. Not only it works specifically with power of two textures alone, but also the maximum size you can draw it is min(window_width,window_height). So with a 800x600 you will get only a 600x600 region. So I think its better to use the other method already implemented. That method is also not slow, and the speed should not be a problem.

1713
General ENIGMA / Re: String Physics
« on: January 10, 2011, 06:31:17 am »
Quote
Cool, I'm gunna work on a 2d raytracing shadow engine. Could do it better if enigma had surfaces but w/e
Yeah I am waiting for surfaces for quite some time too. I am trying to implement them myself but I hate C++ and its header files. Just useless piece of shit design that language has. I am doing everything properly as far as I know, but I just can't get it work. I have:
Code: (C++) [Select]
#include <GL/glext.h>Inside of OpenGLHeaders.h and that file glext.h which is in MinGW/Include/GL directory has declarations for glGenFramebuffersEXT, GL_FRAMEBUFFER_BINDING_EXT etc., but when I try to compile I always get:
Quote
GSsurface.cpp:98:30: error: 'glGenFramebuffersEXT' was not declared in this scope
GSsurface.cpp:106:16: error: 'GL_FRAMEBUFFER_BINDING_EXT' was not declared in this scope
GSsurface.cpp:107:23: error: 'GL_FRAMEBUFFER_EXT' was not declared in this scope
And so forth. Josh said that I need to run the makefile .sh but I can't do that on win. And I actually don't get why I would need to do that, as that would just generate Makefile inside the Graphics_Systems\OpenGL directory and that file has this:
Quote
.eobjs_$(MODE)/GSsurface.o: GSsurface.cpp OpenGLHeaders.h ../../API_Switchboard.h
   $(CXX) -c GSsurface.cpp      -o .eobjs_$(MODE)/GSsurface.o $(FLAGS)
Which seems all I need.... I always had problems with this in C++ and so I always made my small projects in one .cpp file.  :raise:

1714
General ENIGMA / Re: String Physics
« on: January 09, 2011, 06:53:14 pm »
Cool. I would actually want to see full blown physics engine in Enigma. I guess it should be a module just like the collision system thou.
And I don't think that is in any way a surprise that Enigma is faster. :)

Quote
I couldn't get ENIGMA to compile and save the example but i could get it to compile and run. To save it i ran the example in ENIGMA and went to windows temp folder and copied the .tmp file and changed the extension to .exe
That's normal. Compile button doesn't actually do anything (as far as I know), so copying from temp directory is how we all do it right now.

1715
Proposals / Re: switch and mp_step functions.
« on: January 07, 2011, 10:50:00 am »
Quote
Yeah, but surfaces have a 1024 x 1024 limit as i've heard... I was using surfaces initially, but then read they have limitations
Where did you read the limitations? The limitation is just the max texture size your video card supports. With my, now quite old, geforce8800 its 8192x8192 or even more. Usually its just how much memory you have. Even when the max limit is 1024x1024, you can still make several surfaces and work on them in tandem. I have used surfaces for extremely large rooms in the past.

Also, surface is the same as a texture. If you can't have a surface larger than 1024x1024, then you won't be able to hold a texture larger than that too.

edit: Here is a little demo on very large surface array. Sorry its 7.2mb, because I needed to include FMod.dll. My original milestone was to convert this to Enigma, but OpenAL doesn't support easy get_Spectrum functionality. Press O to see both channels and the part of the spectrum it looks for the beat.

1716
Proposals / Re: switch and mp_step functions.
« on: January 07, 2011, 07:52:41 am »
Quote
Also, I'd like it if ENIGMA had a function to be able to draw a sprite to the background without having to do a large method, but only once that doesn't refresh so that it stays, this would be helpful for textures to the background that don't move.
Surfaces are the thing you are looking for. I have tried to implement them (they actually where like 90% done, but because of some intel cards they commented the functions out), but I couldn't get them working because of headers which I can't make on win. I think screw intel and just make it work in opengl. If surfaces are not used, then automatically ENIGMA should exclude the headers.

1717
Announcements / Re: Happenings
« on: January 05, 2011, 05:27:37 am »
Quote
Looks to me like you're missing the autocrap package. I would look on Cygwin's package list for autotools, automake, autoconf, or something and make sure it's installed.
I checked the package list and c_incl was not there. I did install all make and auto... packages. From this I understand it is a program, and so I should be able to find it in the package list if it existed.

edit: So basically I guess there is no way to run this .sh from win.

1718
Announcements / Re: Happenings
« on: January 04, 2011, 04:15:35 pm »
Quote
Yes, but the makefile needs updated. Ism updated it for you last time by running automake_all.sh from SHELL/.
You can update it manually, if you wish, or find a competent shell to update it for you. (Or commit and ask Ism to do so again, or I can).
What is the easiest way to run .sh scripts on win? I try to use cygwin but have a problem after problem. The newest one is:
 ../Developer/automake.sh: line 7: c_incl: command not found
 ../Developer/automake.sh: line 7: c_incl: command not found
 ../Developer/automake.sh: line 7: c_incl: command not found
 ../../Developer/automake.sh: line 7: c_incl: command not found
 ../../Developer/automake.sh: line 7: c_incl: command not found

And so on and on. I guess I will have to install Ubuntu. Or make some .bat that can replicate functionality that of .sh.

1719
Announcements / Re: Happenings
« on: January 04, 2011, 01:21:26 pm »
Great, thou finishing that font support would awesome. ISM says she already has done everything and so we all can blame you.

In kind of related note, I get this error in rev591 when compiling the curve example (in that thread about the curves):
"Subimages of sprite `spr_font' vary in dimensions; do not want."
And when exactly can that happen? I know that it happens when dimensions don't agree (doh), but when can that happen? When LGM screws up and returns cropped sprites or something?
Added the gmk if someones interested.

edit: Also, I know I shouldn't post it here but what directories does make check? I try to disable vsync in opengl via the windows extension <wglext.h>, but I when I do #include <GL/wglext.h>, it says the file doesn't exist. I placed it C:\CodeBlocks\MinGW\include\GL where make you totally check right? The header can be downloaded here: http://www.opengl.org/registry/api/wglext.h

1720
Quote
This will be nice, as it removes 90% of the use of execute_string().
I agree. That's actually the only reason why I use execute_string. Even thou GM can set variables using strings too, it doesn't allow creating them. It wouldn't change anything sprite_index case, but it would be nice if things like variable_create("int variable"), would create a variable. This is the reason why I still needed to use execute_string in one GM project, as it allows creating variables too. I had an alternative, but it would be harder to use, so...

edit: Though I don't know how this (even if this) would work in C++.

1721
Issues Help Desk / Re: Segfalt with enigma compiler
« on: December 29, 2010, 04:29:50 pm »
Quote
IDE_EDIT_resourcenames.h is the bit I was talking about, the problem with changing them is that all references to them also have to be changed to each variable will have to be checked if it is a resource name and if so append the relevant prefix.
I still doubt its hard, as some Java based obscurer(?) did this too for gmk's. I could be wrong thou, maybe there is some via ass method on how Josh did something and so its hard to implement.

1722
Issues Help Desk / Re: Segfalt with enigma compiler
« on: December 29, 2010, 03:35:01 pm »
Quote
Another annoying thing is the way people name there resources, some are c++ keywords like 'catch' other contain spaces and more often the sprites have the same name as the objects etc. Which causes a compile error which would be very confusing to new users.
Didn't parser already add prefixed like OBJ_ to objects and SPR_ to sprites? Because in IDE_EDIT you already have things like:
Code: [Select]
variant enigma::OBJ_obj_0::myevent_draw()Thou in IDE_EDIT_resourcenames.h they are without them. I think this should be an easy fix, as just adding easy prefixes for all resource names.

1723
Proposals / Re: Welcome PM
« on: December 26, 2010, 10:44:56 am »
Yeah, it would look like so:
Quote
Welcome to ENIGMA forums
Check out the wiki for more information:http://enigma-dev.org/docs/wiki/index.php
The end.

1724
Quote
I don't see how. A function is a function....
Well but isn't step before draw? And so if there is draw{} inside step, then wouldn't it draw in the wrong depth (below everything)? Well, but if its queued then ok. I just don't see where that queuing is happening, as I have only made some draw functions themselves and haven't checked any event code. I guess I will have to study the code some more. :) And how font loading from LGM is going?

1725
Quote
Yes, all of these will be queued in each event if used. Pay attention to that last clause. If no one uses the when(), step{}, or draw{} statement, they will not be added to any of the objects. As polygone mentioned, most of the events are entirely queue-based anyway, so the performance cut from when() will be roughly negligible. Those who are concerned about the negligible (such as myself) can opt to program the checks in manually so they are not stacked anywhere and iterated.
I just meant drawing. As far as I know drawing is not queued, and thus using draw{} inside step event would cause problems with depth. That was all I was saying. Maybe I misunderstood something thou.