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 - Brett

Pages: 1 2 »
Off-Topic / Re: GameDev Studio V0.0.3
« on: March 18, 2012, 12:02:17 am »
Update. This should fix the linker errors that its been complaining about when you compile an example. Added a few other things.

Off-Topic / Re: GameDev Studio
« on: February 19, 2012, 07:22:16 pm »
It looks pretty much 100% C++, with only the function names being GML
That is exactly what it is, except many of the functions have different arguments. Since I use Irrlicht for graphics, I plan on implementing them soon. This release was rushed.

C:\Users\Daedalus\Desktop\GDS V0.0.1\GDS V0.0.1>C:\MinGW\bin\g++.exe Internal\Te
mp\tmp\Bin\source.cpp -pipe -DNDEBUG -O -s -o Internal\Temp\tmp\App.exe -mwindow
s -LCompiler\libs -lirrlicht.dll -lcAudio.dll -lgds_engine -lEvt_Handler
): undefined reference to `__gxx_personality_sj0'
Those look like linker errors. Try recompiling the engine. Navigate to "Compiler\Evt_Handler" and open the codeblocks project. Compile it. Then navigate to "Compiler\Gds\gds_engine" and open the codeblocks project. Compile it. Open the IDE and try compiling one of the examples. If you still have problems, contact me.

you will miss math definitions like sin(), which are declared using a macro.
Currently, yes they are missed. This will be fixed in the future. This was not a pressing issue.

Like the GUI though.
Thanks. Not the prettiest thing around, but it works (for the most part). If you wish to change any of the icons, navigate to "Internal\Images" and they are all in there. Make sure they stay the same dimensions that they already are.

just that you might help now.
I could consider it

I assume you report errors by regexing compiler output after a #line directive?
No. All I do is open a console, tell MinGW to compile the source code, and output it to a static location. This is done through a windows batch script (similar thing would be done on the Linux port). If there are any errors, MinGW will output them directly to the console. Once the console is closed, the IDE re-opens.
This is the code I'm using to compile, report errors and run the application. The source code is generated before this is called (mashes all the code the user typed in objects etc. into a compilable c++ file)
Code: [Select]
            std::ofstream ofs("Internal\\compile.bat");
            ofs << compilerpath.c_str() << " ";
            ofs << "Internal\\Temp\\tmp\\Bin\\source.cpp" << " -pipe -DNDEBUG";

                case(OP_NONE): break;//Do nothing
                case(OP_LOWEST): ofs << " -O"; break;
                case(OP_BASIC): ofs << " -O1"; break;
                case(OP_NORMAL): ofs << " -O2"; break;
                case(OP_ADVANCED): ofs << " -O3"; break;
                case(OP_SIZE): ofs << " -Os"; break;
                ofs << " -s";

            ofs << " -o Internal\\Temp\\tmp\\App.exe";
            ofs << " -mwindows -LCompiler\\libs -lirrlicht.dll -lcAudio.dll -lgds_engine -lEvt_Handler";
            ofs << "\n\n\n";//End compile output to .bat file
            ofs << "cd Internal\\Temp\\tmp\n";
            ofs << "App.exe\n";
            ofs << "pause";
            Show(false);//Hide IDE while compiling
            system("Internal\\compile.bat");//compile+run app

Off-Topic / Re: GameDev Studio
« on: February 19, 2012, 11:29:44 am »
Sort of. It will not show errors in your code until you click "compile". I used regular expressions to extract the function names from the header files, and I store them in a string. I used the open source scintilla text editor for all the scripting, so when you type in a function it will appear blue. If there is an error it will not be highlighted like everything else.

Off-Topic / Re: GameDev Studio
« on: February 18, 2012, 09:19:21 pm »
It's interesting how you have an image editor, but that seems to have come at the price of being cross-platform.
If we're lucky, LGM will have one of those before the world ends.
Yes it would be nice for LGM to get one. The IDE will be cross platform, I could make it so in probably a week if I buckled down. I just developed it on windows because I was trying to replicate gamemaker and it was just easier being able to play around with it while making the IDE. It is designed fully in C++ with wxwidgets for the IDE. If I needed something faster (hardware accelerated) I used SFML. Every library I used works with windows, Linux and Mac.

I notice you kept many, but not all of the functions; [....] why not keep the whole library?
The engine is a WIP. I am in the middle of adding more GML functions, I just rushed this version to release. The engine is open source, so anybody can edit, add or optimize it.

if your syntax and everything is so similar
You code in pure C++, there is no parsing of anything. I just attempted to make C++ as GML like as possible to make a shallow learning curve, while still using code that is valid C++.

Off-Topic / Re: GameDev Studio
« on: February 18, 2012, 07:45:09 pm »
Download page link doesn't work though.
Interesting. I'll have to check that out, others downloaded it fine earlier. Do you have a suggestion for a file host?

This project could of been finished about 2 years ago, but we are not in a hurry.. apparently.
I didn't know how to use C++ very well until about a year ago, so your statement is void.


Off-Topic / GameDev Studio V0.0.3
« on: February 18, 2012, 02:37:03 pm »
This is a project that I have been working on for the past nine or so months. It currently only runs on windows, however Linux and Mac(?-does anybody actually develop on a Mac) support are coming in the future. I also plan on IPhone and Android support. To sum it up, it is like ENIGMA - An alternative to gamemaker - with an open source engine, and it is completely free. It uses Irrlicht for the graphics, and I created the IDE to closely mimic gamemakers.


UPDATE (March 17th, 2012):
-Bug fixes (you should no longer get the linker error while compiling).
-Support for sprites, animated images.
-Few other things

UPDATE (March 13th, 2012):
-Now supports shaders (pixel and vertex)
-Bug fixes (Some Major)
-Find Supported resolutions
-A Bunch of Other stuff

Announcements / Re: Happenings
« on: January 29, 2011, 11:02:49 pm »
The surface functions mainly.

I have also noticed that the OpenGL and OpenlGLES folders (subfolders) seem to have the exact same source code and header files, except with different names. Is there any particular reason for this?

Announcements / Re: Happenings
« on: January 29, 2011, 08:37:40 pm »
Okay thanks. I managed to create a test function that works, and compiles on ENIGMA. I'm going to [attempt] to replicate the d3d functions in OGL. I've done it before in DX, so it shouldn't be that much different.

Another quick question. Searching through the source file, it seems MANY functions are commented out. Is this because they are incompatible at the moment?

Here's how to write Good Code. Enigma seems to follow this (it has been re-written 4 times right?)

Announcements / Re: Happenings
« on: January 28, 2011, 01:59:15 am »
I fixed it by doing what MrGriggs said. Enigma seems to compile and run fine (windows 7, 32 bit).

Now my only problem is that Enigma claims that OpenAL32 is missing from my computer. It is there (in my system32 folder), but I solved this problem by pasting it into the Enigma folder. When re-distributing games with made with enigma will I have to include this dll with the game?

Also, to add my own functions to Enigma, do I go into the ENIGMAEngine Codeblocks project and simply add functions, or do I have to add them to a list, map or array some place?

Thank you very much!!

Announcements / Re: Happenings
« on: January 26, 2011, 09:34:22 pm »
Okay I downloaded the newest Enigma (r618) and it said that MinGW was found, but was missing a library. It gave me the option to un-install it, and reinstall from scratch or try overwriting the existing MinGW. I chose to uninstall my older version, then re-download it all through Enigma (to reduce the amount of possible bugs). I started up Enigma and it download a whole bunch of things, however when I went to compile the "CompilerSource" it pops me up the error:

mingw32-g++.exe: CreateProcess: No such file or directory

I know this is not an enigma error, but I've only encountered it after I uninstalled my previous version of MinGW and installed it through Enigma. I can not seem to compile anything, even my older projects that have worked fine before. I checked the compiler paths to make sure that it was pointing to the right directory and it seems to be correct. "C:\MinGW". I was wondering if you could help me out here, on this probably newb error. I am a beginner with C++ BTW.

Thank you very much

Windows 7, 32bit.

General ENIGMA / Re: Marketing Enigma
« on: October 19, 2010, 09:10:59 pm »
should be recommended that they do it in their own way. Not in some stupid, forced way
Exactly what I meant, however I just said it wrong. Maybe the user could put it in the credits. The user can decide how/if he wants to advertise. Completely optional

Issues Help Desk / Re: Can someone explain how to use enigma
« on: October 19, 2010, 08:45:14 pm »
How much (size wise, in MB) does Enigma have to download after first running it? Also how big is Enigma (in MB approx). I have really slow internet, and I still havn't got it to work, I was waiting a little then popped back here and saw this. Thanks.

PS: I too am using Win7, 32bit.

General ENIGMA / Re: Marketing Enigma
« on: October 19, 2010, 08:35:32 pm »
how difficult could they make your life if they intentionally changed GM in future versions to try and make it incompatible with Enigma
We already have compatible GM versions, so users can simply use the older versions to make games in GM. Hopefully, when newer versions of GM get released Engima will be popular/far enough along in development for GM users to start switching and deving their games with Enigma.

How are main stream Game Maker users going to hear about Enigma?
Put a little ad at the start of the games made with Enigma (or GM)? (1 second screen saying who helped?). Most professional games have this, where its mandatory to watch it the first time you start the game up, but the following times it can be skipped by pressing any key.

How are users of other game development software going to hear about Enigma?
Same as above

Is it likely members of this community will take it upon themselves to advertise/mass spam Enigma?
Possibly, just do what I suggested above. When I make my first game with it, I'll put some ads for Enigma at the start.

Thou here we could change float to int, thus creating an (substantial?) speed increase, because I don't see why width, height or position should be decimal.. Thou you have made all positions and sizes in all functions floats for some reason. I know that GM allows x and y to be a decimal, but I don't get why. You cant have something 1.5 pixels from somewhere. Its a lot better if is 1 or 2 pixels.
GM allows X,Y to be decimals because you can modify the view so that those little differences matter. GM has 3D support, and all 2D functions work in 3D as well so the decimals matter when the view is transformed.

Not sure if you can do this in OpenGL (I've only used DX) but you can get DX to do this automatically for you. Simply turn texture repeating on and then put a vertex at the 4 corners with texture cords changed.

Something like this? (Never used OGL before, so it needs debugging)

.H file
Code: [Select]
int draw_sprite_tiled_area(int spr, double X, double Y, int x1, int y1, int x2, int y2);
.CPP file
Code: [Select]
//int spr, double x, double y, int x1, int y1, int x2, int y2
//Draws a rectangle between [x1,y1] and [x2,y2] with the sprite offset by X and Y (both 0-1)
int draw_sprite_tiled_area(int spr, double X, double Y, int x1, int y1, int x2, int y2){
  enigma::sprite *spr2d = enigma::spritestructarray[spr];
  //Non existant sprite
  if (!spr2d) return -1;
  //Some error? No idea, but it is used in the above example too.
  if (enigma::cur_bou_tha_noo_sho_eve_cha_eve != spr2d->texturearray[subimg % spr2d->subcount]){
    glBindTexture(GL_TEXTURE_2D,spr2d->texturearray[subimg % spr2d->subcount]);
    enigma::cur_bou_tha_noo_sho_eve_cha_eve = spr2d->texturearray[subimg % spr2d->subcount];
  const float tbx=spr2d->texbordx;
  const float tby=spr2d->texbordy;
  const float sw = spr2d->width;
  const float sh = spr2d->height;
  //Texture repeat ON
  //Draw the quad
  //End drawing
  return 0;

No credit required and No license attached - do whatever you want with it (if it works). Derived from the code above

Off-Topic / Re: Hey guys, thanx.
« on: October 19, 2010, 07:24:27 pm »
Well, since Enigma is written in c++, and can have c++ used in it you are *shouldn't* be restrict to dll's made for gamemaker. So you could use a 3D engine made for c++ (such as ogre or irrlicht) that is not simply a GM port. GM only supports doubles and strings, whereas most dll's use many different data types.

Also, some dll's made for GM will not work, ones that use GMAPI or deal with the runner.

Pages: 1 2 »