ENIGMA Forums

General fluff => Announcements => Topic started by: Josh @ Dreamland on January 03, 2011, 07:42:06 pm

Title: Happenings
Post by: Josh @ Dreamland on January 03, 2011, 07:42:06 pm
So after four people in less than a month struggled to install ENIGMA, I've finally begun redoing ENIGMA.exe. It will automatically call mingw-get to install necessary files; the user needs only to specify a drive letter (if he or she is dissatisfied with the default, being the current drive). I was actually looking for a function to prompt for drive letter, but couldn't find one and so abandoned the notion.

In other news, Gary has added unix names to all user accounts. As new users sign up, they will be given a unix name (or can edit it themselves). This name will be used in the Wiki shortly enough, and for user upload directories and whatnot later on.

In what may be old news, ENIGMA is only three functionalities away from being able to run the official GM platform example perfectly. The three include instance_deactivate() and co, dialog functions (for showing and logging high scores), and tiles. We'll see about those three ASAP. (But after the Windows installer).

With any luck, the provisions I am implementing in the Windows installer (new organization system for compilers and makefiles) will mean, once and for all, simplicity of adding devices for which ENIGMA can officially compile. Also with this addition will come the ability to use ENIGMA portably if configured on a USB drive.

Wish us luck.
Title: Re: Happenings
Post by: freezway on January 04, 2011, 12:43:08 am
Awesome. Free =)'s to everyone!
Title: Re: Happenings
Post by: Fede-lasse on January 04, 2011, 03:03:17 am
Thanks for the free =)!

Good luck.
Title: Re: Happenings
Post by: The 11th plague of Egypt on January 04, 2011, 07:13:57 am
Good luck.
Title: Re: Happenings
Post by: kkg on January 04, 2011, 10:44:48 am
I've started making actual working things in ENIGMA lately, and it's been pretty fucking awesome!
Although I do miss using switch (i can use it C++ legitimately too, you know >:)

Good luck! Hopefully this new work means we'll get some enigmanewbies to help test out!
Title: Re: Happenings
Post by: TheExDeus 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
Title: Re: Happenings
Post by: Josh @ Dreamland on January 04, 2011, 02:46:56 pm
Yeah, that should never happen.

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).

I forget why I couldn't do fonts, be it compression or otherwise. We'll see about those...
Title: Re: Happenings
Post by: TheExDeus 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.
Title: Re: Happenings
Post by: Rusky on January 04, 2011, 06:05:21 pm
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.
Title: Re: Happenings
Post by: freezway on January 04, 2011, 07:29:19 pm
yeah fonts would be nice...
Title: Re: Happenings
Post by: TheExDeus 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 (http://linux.die.net/man/1/c_incl) 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.
Title: Re: Happenings
Post by: Josh @ Dreamland on January 05, 2011, 09:19:30 am
apt-get install "cook"
Title: Re: Happenings
Post by: Rusky on January 05, 2011, 11:18:55 am
'apt-get' is not recognized as an internal or external command, operable program or batch file.
Title: Re: Happenings
Post by: Josh @ Dreamland on January 05, 2011, 11:44:22 am
yum install cook

cd /usr/ports/sysutils/cook && make && make install

Don't forget the sudo.
Title: Re: Happenings
Post by: MrJackSparrow2 on January 05, 2011, 09:38:19 pm
DLL calling sure is a nice thing Mister Dreamland....
Title: Re: Happenings
Post by: onpon on January 07, 2011, 04:45:22 pm
So, I gather that this project is finally coming close to completion? Sounds great. :) ENIGMA is clearly better than GM's slow interpreter from what I can tell, so who knows? Maybe people who used to use GM will come flocking over to LateralGM and ENIGMA.

Although, I personally still prefer Python. ;)
Title: Re: Happenings
Post by: kkg on January 07, 2011, 09:44:11 pm
If by completion you mean "Is usable in the sense that every one of GM's functions is implemented and working fantastically", then in a sense (from a user's stand point) it's a bit of a yes and a no.
Yes in the terms that the functions that are already available (on the most part) work and everything gets compiled and ran
No in the sense that there are still a fucktonne of functions to be done, which I unfortunately can't contribute towards because I'm a novice programmer and that's why I'm here :P
Title: Re: Happenings
Post by: MrGriggs on January 13, 2011, 01:52:35 pm
Get that installer out in the wild so I can start salivating over those juicy switches, surfaces and other functions ;)
Title: Re: Happenings
Post by: TheExDeus on January 13, 2011, 03:14:44 pm
Quote
switches, surfaces and other functions
I don't think their done, even thou its "trivial shit" as Josh used to say. I too guess it could take him like 3h to get all this done, but he is just lazy as hell, and I am new to C++ (and never be anything more, as I think its dreadful). All I can do is some drawing functions etc. Not whole systems like surfaces (I have tried and tried and tried again, always failing). When basic draw_surface works, then I will be able to do the rest of the surface functions thou.
Title: Re: Happenings
Post by: Josh @ Dreamland on January 13, 2011, 09:34:13 pm
Two hours for surfaces, probably three hours for switch()... two hours for ds_ functions... I only now got home from school, and I still have more work to do.
Title: Re: Happenings
Post by: MrGriggs on January 14, 2011, 08:27:19 am
I never suggested functions would take little time to implement, I was just stating excitement to see your work unfold.  :ohdear:


Will be uploading a video of my RTS engine soon, so that you can witness it :).

With ENIGMA, will it be possible to create my own instance classes, such as using a specific one for projectiles so that it doesn't waste as much resources, this may mean I have to re-write parts of my engine later, though :\.
Title: Re: Happenings
Post by: Josh @ Dreamland on January 14, 2011, 10:06:11 am
You may not treat custom classes as regular objects, but you can already create them in Definitions using C++ syntax.
Title: Re: Happenings
Post by: Rusky on January 14, 2011, 12:50:20 pm
Would it work to extend object_planar or something to get some instance functionality while still making simpler objects?
Title: Re: Happenings
Post by: TheExDeus on January 14, 2011, 01:03:07 pm
Quote
With ENIGMA, will it be possible to create my own instance classes, such as using a specific one for projectiles so that it doesn't waste as much resources, this may mean I have to re-write parts of my engine later, though :\.
I think the idea is that you will be able to remove unneeded built-in variables and so they would not be updated or used. So later it would be as simple as just unchecking some checkboxes inside object properties and they will become as simple as you want.

Quote
Will be uploading a video of my RTS engine soon, so that you can witness it :).
Can't wait. :)
Title: Re: Happenings
Post by: MrGriggs on January 14, 2011, 01:13:05 pm
Oh, so like just stripping everything down and off until I has teh bare essentials? That sounds great.
Title: Re: Happenings
Post by: Josh @ Dreamland on January 14, 2011, 04:10:10 pm
It certainly would, Rusky. But I'm afraid to tell people to do that because they'll call path functions on it or some shit. Path functions will never work on custom classes (without some serious effort poured into the mix).

And yes, selecting variable packages is planned (And about half done).
Title: Re: Happenings
Post by: MrGriggs on January 16, 2011, 12:22:35 pm
 

Any updates om the windows installer or switches? :)

Posting this from an android phone!
Title: Re: Happenings
Post by: MrGriggs on January 16, 2011, 12:39:50 pm
I am getting addicted I check the svn and scower the forums every hour... :-\
Title: Re: Happenings
Post by: Josh @ Dreamland on January 16, 2011, 08:38:13 pm
The installer's been done, the issue is getting the backend to make the correct calls. I'm just finishing that up now. Sign on to the IRC, and say my name if I'm there. I'll tell you what to do.




<-- lol 69
Title: Re: Happenings
Post by: MrGriggs on January 17, 2011, 06:39:36 am
I'll sign on and test it for you tonight, if that's ok, at about 4 o clockpm I think it will be, about 10:10 pm for me.
Title: Re: Happenings
Post by: MrGriggs on January 18, 2011, 04:21:15 am
I bet you're having fun testing the installer on all those PCs as of now :P.
Title: Re: Happenings
Post by: TheExDeus on January 18, 2011, 08:37:13 am
Josh, clean up the repo. Its been like two years since many of the files are not used. Might as well make the distribution a little smaller by removing thous useless files.
And if by some unknown reason you don't know what I am talking about, then one example are these GM{PutSomethingHere}.h inside OpenGL. They are whooping 77kb. Also removing useless stuff from other directories would make a much bigger difference.
Title: Re: Happenings
Post by: MrGriggs on January 18, 2011, 08:44:02 am
Code: [Select]
int main()
{
switch ( Begin )
{
case default:
int numofinst = 0;
instance_create(30,30,ball, //path of sprite); //This instance is desired to move down and right
instance_create(2,2,TheGame, //path of sprite); //This instance is an instance which shall do nothing
int Begin = 1;
break;

case 1:
step();
draw();
break;

}


}

void declareinst()
{
string instance_name[numofinst];
int instance_xposition[numofinst];
int instance_yposition[numofinst];
string instance_sprite[numofinst];
return;
}

void instance_create(int x, int y, string name, string spritepath)
{
numofinst +=1;
declareinst();
string instance[numofinst] = {name};
int instance_xposition[numofinst] = {x};
int instance_yposition[numofinst] = {y};
string instance_sprite[numofinst] = {spritepath};
return;
}

void dostuff(int xammount, int yammount)
{
int instance_xposition[curinst] +=xammount;
int instance_yposition[curinst] +=yammount;
return;
}

void step()
{

for(i=0;i<numofinst;i++){

if i=1{

int curinst = i;
dostuff(3,3); //Move by 3 pixels the instance "1" down and right.
}
}
return;
}

void draw() //Draw shit to the screen
{

//
return;

}
Title: Re: Happenings
Post by: Josh @ Dreamland on January 18, 2011, 09:10:56 am
MrGriggs: I won't have access to them until later today.

HaRRiKiRi: I've deleted those files twice already. Someone keeps accidentally resurrecting them. I will delete them a third time, if it pleases the court.

MrGriggs: What is that?
Title: Re: Happenings
Post by: MrGriggs on January 18, 2011, 09:37:15 am
Been learning c++, so that when the time comes, I can help out with the functionallity of ENIGMA!

Is there a list of operaters and their extensions/functions that I can learn to memorize so I can use them when creating functions, such as for determining the current instance.

Sorry for spamming this topic with useless stuff.
Title: Re: Happenings
Post by: luiscubal on January 18, 2011, 09:49:30 am
"case default:"?
Title: Re: Happenings
Post by: MrGriggs on January 18, 2011, 09:51:08 am
Is that not what you use for in the case that the variable is undefined?

I was using that switch to create an initilization step.
Title: Re: Happenings
Post by: IsmAvatar on January 18, 2011, 12:00:40 pm
Yeah... it doesn't work that way.

Also, pretty sure the default case doesn't include the word 'case'.

Code: (C++) [Select]
switch (existing_var_only) {
 case 0: /* do stuff; */ break;
 case 1: //fall into case 2
 case 2: /* do stuff; */ break;
 default: /* do stuff when existing_var_only takes on a value other than 0, 1, or 2; */ break;
}

It's unwise to initialize variables in a switch-case.
Title: Re: Happenings
Post by: RetroX on January 18, 2011, 01:17:09 pm
If you initialise variables in a switch case, they'll just be deleted at the }.
Title: Re: Happenings
Post by: IsmAvatar on January 18, 2011, 01:49:13 pm
Yeah, scope problems, etc. I figured I'd just save myself the trouble of enumerating the problems with it and just say "it doesn't work that way"
Title: Re: Happenings
Post by: MrGriggs on January 19, 2011, 09:25:57 am
Ok, thanks, I've learned something!  :eng101:


How's the installer coming, Josh?
Title: Re: Happenings
Post by: Josh @ Dreamland on January 19, 2011, 09:32:34 am
I've fixed it, but now GCC misbehaves if it doesn't have the correct path.
Title: Re: Happenings
Post by: MrGriggs on January 19, 2011, 09:34:39 am
Did gcc need to be installed first? What was the problem?


What is feeding it the wrong path?
Title: Re: Happenings
Post by: Josh @ Dreamland on January 19, 2011, 09:41:43 am
Since we don't force users to add anything to their path, GCC needs to be invoked with an understanding of where its precious DLLs are. This is the first MinGW release for which this is the case, because the MinGW team decided that DLLs really aren't so bad. So now even programs created with MinGW have dependencies on DLLs, and working around that is difficult.
Title: Re: Happenings
Post by: MrGriggs on January 19, 2011, 09:44:54 am
Meaning that not only users who want to run ENIGMA project executables will need the DLLS packaged with the file, but also OpenAL as it stands already?

Would you not be able to incorperate the DLLS into the project file that's created, I suppose that will increase the ultimating size considerably.

Quick re-think

Do you mean that the DLLs will need to be under ENIGMA's directory? That will be fine in my opinion, the ENIGMA project needs to just remain under 700mb, - 1gb, anymore and it's too much, I personally feel that this is a brilliant project, many large development platforms of today are fairly large!
Title: Re: Happenings
Post by: Josh @ Dreamland on January 19, 2011, 10:59:23 am
The DLLs are small; its the concept that irks me.
Title: Re: Happenings
Post by: MrGriggs on January 19, 2011, 01:00:05 pm
But can they be shoved into the executable (Compiled with it), you know I love shoving, upon the condition the user can't fuck them up or forget to include them does it really matter?  :)
android phone I am using    yes
Title: Re: Happenings
Post by: TheExDeus on January 19, 2011, 01:38:15 pm
Quote
But caN they be shoved in t he executable, you know I love shoving if the user cant fuck them up or forget to include them does it ns matter  :)
android phone I am using    yes
An include system just like GM's will have to made either way, so I don't see why not. I always include my dll's inside the exe.
Title: Re: Happenings
Post by: MrGriggs on January 24, 2011, 04:08:40 am
When will an update to the front page (or what have you) including the recently completed installer be added? ;)

People need to witness ze beautiful creation.

Well done to Josh, Ism and everyone :)
Title: Re: Happenings
Post by: Fede-lasse on January 24, 2011, 09:48:40 am
(http://enigma-dev.org/forums/avatars/Fanfare/elogo_smooth_purple.png)
Title: Re: Happenings
Post by: MrGriggs on January 24, 2011, 11:15:36 am
Yes, my favourite is the purple ENIGMA icon.
Title: Re: Happenings
Post by: Josh @ Dreamland on January 24, 2011, 03:45:16 pm
As soon as people verify that this works for them:
http://dl.dropbox.com/u/1052740/ENIGMA-R4-r615.zip

If that works, I will add a call to the AL installer to ENIGMA.exe and link to the front page. Positive reviews there will lead to a formal release.
Title: Re: Happenings
Post by: Game_boy on January 24, 2011, 04:12:45 pm
rUnhandled Exception:
org.lateralgm.file.GmFormatException - java.io.FileNotFoundException: Compilers\Windows\gcc.ey (The system cannot find the path specified)

Stack trace:
java.io.FileInputStream.open(Native Method)
java.io.FileInputStream.<init>(Unknown Source)
java.util.Scanner.<init>(Unknown Source)
org.enigma.EnigmaRunner.make(EnigmaRunner.java:196)
org.enigma.EnigmaRunner$1.run(EnigmaRunner.java:137)
Title: Re: Happenings
Post by: Josh @ Dreamland on January 24, 2011, 04:39:19 pm
Game_boy: Running from ENIGMA.exe? It's an installer.
Title: Re: Happenings
Post by: Game_boy on January 24, 2011, 04:56:25 pm
That was after Enigma.exe ran and I let it install MinGW to C:/
Title: Re: Happenings
Post by: RetroX on January 24, 2011, 05:09:28 pm
This might not be useful to many people, but just clarifying:

The GCC on every operating system in the entire world besides Windows separates C and C++ library functions into separate runtime libraries (DLLs or SOs depending on the OS).  This is to reduce the size of programs, because if every program were to include them, it would just be a massive file size bloat.

Now, for Windows users, most people want to be able to bundle a single EXE and give it to people.  If it's bigger, "more important," people usually don't groan about DLLs, because it's installed in some arbitrary folder in the middle of oblivion.  But the unofficial Windows philosophy is to bundle every DLL with every program anyways, removing the point of them.

When C++ code is compiled, it is compiled into "objects" - these are intermediate, non-runnable bits of pre-compiled code that can be easily made to be runnable.  A dynamic library (DLL or SO) is a file that contains the codes in a morphed form that enables executable programs to find the code and run it.  This allows several programs to use the same code and link to only one place where it is located.

A static library is merely an archive (like ZIP) of all of the "objects," which are compiled along with a file to create an EXE.  It is essentially duplicating the code and putting it in the executable.

For the GCC, it has libraries for libgcc, glibc, and libstdc++.  glibc and libgcc are combined as far as the GCC sees.  By default, the GCC it will link to dynamic libraries, requiring the DLLs to be placed in a usable PATH (on Windows, usually system32 or the current directory).  If you use the -static-libgcc and -static-libstdc++ flags, these libraries are linked statically.

MinGW isn't being stupid.  It's just finally decided that it's stupid to do something different from what the regular GCC does - and besides, its libraries are no different from Microsoft's C++ runtime.  However, for the usage with a game similar to those of GM's, most people will hate the idea of bundling DLLs.
Title: Re: Happenings
Post by: Josh @ Dreamland on January 24, 2011, 05:34:15 pm
http://dl.dropbox.com/u/1052740/ENIGMA-R4-r617.zip
http://dl.dropbox.com/u/1052740/ENIGMA-R4-r618.zip

Use the trunk until official release. Though we are pushing to stable now.
Title: Re: Happenings
Post by: Game_boy on January 24, 2011, 07:09:54 pm
Installs now, thanks.

Out of interest, what is the limiting factor to compile speed on newer computers - CPU? Hard-drive? RAM?

Title: Re: Happenings
Post by: freezway on January 24, 2011, 07:23:47 pm
CPU most defiantly...
Title: Re: Happenings
Post by: Josh @ Dreamland on January 24, 2011, 08:14:23 pm
Yeah, mostly CPU. Memory's cheap, they say, and the GCC uses a shitload compared to the sleekest around (Clang, however incomplete). But yes, I notice a huge jump from single core to even just dual core. I don't notice much difference between dual and quad, though, so. I think there's an option for number of CPUs to use in the GCC, but I don't make use of it.
Title: Re: Happenings
Post by: Fede-lasse on January 25, 2011, 04:49:32 am
Yeah, mostly CPU. Memory's cheap, they say, and the GCC uses a shitload compared to the sleekest around (Clang, however incomplete). But yes, I notice a huge jump from single core to even just dual core. I don't notice much difference between dual and quad, though, so. I think there's an option for number of CPUs to use in the GCC, but I don't make use of it.
Then do it already.

Anyway, downloaded r618, extracted, ran ENIGMA, got told that it found MinGW, so I clicked Yes, but it failed to do anything. So I uninstalled, removed the MinGW folder, and ran ENIGMA again, this time clicking No. A bunch of text appeared in the console, and then I thought it got stuck, but in actually, it was just taking forever to download MinGW.

This (http://pastebin.com/u2K1NWmM) is what the console wrote during installation. Sorry for the wrapping. It's cmd.exe's fault. It probably took 15 minutes for ENIGMA to download MinGW. Maybe you should host MinGW in your Dropbox public folder, hehe.

Some specs (school computer, using that right now):
 - OS: Windows 7 Professional 64-bit
 - Processor: Intel(R) Xeon(R) CPU W3520 @ 2.67GHz
 - RAM: 4 GB
Title: Re: Happenings
Post by: polygone on January 25, 2011, 04:58:53 am
Yeah, mostly CPU. Memory's cheap, they say, and the GCC uses a shitload compared to the sleekest around (Clang, however incomplete). But yes, I notice a huge jump from single core to even just dual core. I don't notice much difference between dual and quad, though, so. I think there's an option for number of CPUs to use in the GCC, but I don't make use of it.
Then do it already.

Anyway, downloaded r618, extracted, ran ENIGMA, got told that it found MinGW, so I clicked Yes, but it failed to do anything. So I uninstalled, removed the MinGW folder, and ran ENIGMA again, this time clicking No. A bunch of text appeared in the console, and then I thought it got stuck, but in actually, it was just taking forever to download MinGW.

This (http://pastebin.com/u2K1NWmM) is what the console wrote during installation. Sorry for the wrapping. It's cmd.exe's fault. It probably took 15 minutes for ENIGMA to download MinGW. Maybe you should host MinGW in your Dropbox public folder, hehe.

Some specs (school computer, using that right now):
 - OS: Windows 7 Professional 64-bit
 - Processor: Intel(R) Xeon(R) CPU W3520 @ 2.67GHz
 - RAM: 4 GB
This happened to me to, exactly the same. However I made sure all traces of Enigma and MinGW was completely removed the next time, rebooted and ran r618 again and it worked. Don't worry it installs rather fast, it's the errors which are slowing the instillation down.
Title: Re: Happenings
Post by: polygone on January 25, 2011, 05:05:27 am
However directly after installing, I tried to run a GM file. And I got this error:

Quote
Unknown compilation settings for your platform. Perhaps your platform isn't supported.
I no longer got it after restarting LGM though.

But when I tried to run again, I got this error:

Quote
This application has failed to start because OpenAL32.dll was not found.
But after installing OpenAL manually Enigma appears to all be working correctly :)

So congrats, I think the hard part is all done now.
Title: Re: Happenings
Post by: MrGriggs on January 25, 2011, 05:08:13 am
Yeah, mostly CPU. Memory's cheap, they say, and the GCC uses a shitload compared to the sleekest around (Clang, however incomplete). But yes, I notice a huge jump from single core to even just dual core. I don't notice much difference between dual and quad, though, so. I think there's an option for number of CPUs to use in the GCC, but I don't make use of it.

If introducing quad core support DEFINATELY won't eff anything up, is there anyway i can convince you to utilize it?

Actually, screw that, switches, you sexy boy.
Title: Re: Happenings
Post by: RetroX on January 25, 2011, 10:50:12 am
The GCC probably only supports dual-core.
Title: Re: Happenings
Post by: Fede-lasse on January 26, 2011, 06:13:07 am
The school computer that I'm using uses eight cores (yes), even though it's really sluggish, and ENIGMA failed to run a really simple example due to prior errors. However, those prior errors were probably the extremely splendid program called F-secure being butthurt of ENIGMA doing things it shouldn't do, ohohoho!
Title: Re: Happenings
Post by: MrGriggs on January 26, 2011, 06:19:18 am
eight cores? 512mb of ram? Sounds like a school thing to do.
Title: Re: Happenings
Post by: Brett 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
~~Brett;


Windows 7, 32bit.
Title: Re: Happenings
Post by: RetroX on January 26, 2011, 09:57:12 pm
The school computer that I'm using uses eight cores
do they even offer prebuilt oct-core machines
Title: Re: Happenings
Post by: MrGriggs on January 27, 2011, 08:55:08 am
The school computer that I'm using uses eight cores
do they even offer prebuilt oct-core machines

Use Add/Remove programs in the control panel to uninstall MINGW, if it's not in that listing, go into C:\ and delete MinGW, re-download a fresh SVN for ENIGMA, or if Josh supplied a download link in this thread, use that (I use the SVN), then run ENIGMA.exe from there.
Title: Re: Happenings
Post by: Josh @ Dreamland on January 28, 2011, 12:27:04 am
I'm not sure, Brett. Can you paste Compilers/Windows/gcc.ey? And the whole terminal output, that'd help. I need to know where Make is getting the mingw-g++.exe idea from. It should be able to find it, though, anyway... hmm...
Title: Re: Happenings
Post by: Brett 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!!
~~Brett;
Title: Re: Happenings
Post by: MrGriggs on January 28, 2011, 04:44:36 am
In one of the child directories in the main ENIGMA folder, you'll find a OpenAl.exe installer... I can't remember where it exactly is and I can't look for you as I'm not at a machine that allows me to do this atm. (Being at work and all)

http://connect.creativelabs.com/openal/Downloads/oalinst.zip

Or download this and install OpenAl from there. :)

Hope this helps!


Quote
I'm not sure, Brett. Can you paste Compilers/Windows/gcc.ey? And the whole terminal output, that'd help. I need to know where Make is getting the mingw-g++.exe idea from. It should be able to find it, though, anyway... hmm...

It's probably best if you also try this, unless you didn't save the error before you fixed it :\, because it will help Josh in determining the issue and what to use to counteract such an occurance in the future.
Title: Re: Happenings
Post by: Josh @ Dreamland on January 28, 2011, 08:15:02 am
Yeah, I still need to run that, but I'm afraid it'll gripe that it's not privileged. I'll add that now.
Title: Re: Happenings
Post by: MrGriggs on January 28, 2011, 09:31:28 am
You going to cause the executable for the installer to run, or extract the neccessary DLLs from the installer and use ENIGMA to throw them where they should be and add the neccessary paths.
Title: Re: Happenings
Post by: kkg on January 29, 2011, 10:28:45 am
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?

Enigma > Settings > Definitions.

Add all of your functions here for now :)
Title: Re: Happenings
Post by: Josh @ Dreamland on January 29, 2011, 04:09:07 pm
You can also put them in the Code::Blocks project or wherever else; there are a number of ways to add functions.
Title: Re: Happenings
Post by: Brett 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?)
http://xkcd.com/844/ (http://xkcd.com/844/)
Title: Re: Happenings
Post by: Josh @ Dreamland on January 29, 2011, 10:38:54 pm
They may have been moved, or they may have, as you and XKCD pointed out, been redone to meet a new requirement. Which ones are you looking at? We've been making a point of removing or re-implementing them lately.
Title: Re: Happenings
Post by: Brett 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?
Title: Re: Happenings
Post by: Josh @ Dreamland on January 29, 2011, 11:16:29 pm
Surfaces were removed after R3 because no one's shitty Intel card supported them.

As for the GLES folder, ask TGMG. He thought it would become necessary; we haven't seen it be so yet.
Title: Re: Happenings
Post by: TheExDeus on January 30, 2011, 05:54:26 am
Quote
Surfaces were removed after R3 because no one's shitty Intel card supported them.
And I don't care about intel cards. Also, I don't think there is another way in OpenGL, so either use FBO which intel cards won't be able to support or don't have surfaces in ENIGMA whatsoever (and that would suck). The game would still run on intel cards when the surface code is only included but not used right? Then I think that's the best bet, as GM's surfaces (or large backgrounds for that reason) didn't work on my Voodoo3 16mb either. So I see no reason why shitty card owners should have any saying in this. We will support directx at some point and that has some way to run surfaces on intel too (thou not on all hardware as I already stated about my voodoo).

Quote
As for the GLES folder, ask TGMG. He thought it would become necessary; we haven't seen it be so yet.
GLES is OpenGL for Embedded Systems and as it doesn't support many things GL supports and so it should be in separate files. That is if you want to run ENIGMA games on phones.
Title: Re: Happenings
Post by: MrGriggs on January 30, 2011, 06:35:43 am
Yeah, fuck the intel cards most people do have dedicated GPUs now, surfaces are an important feature! I would go as far as to say that surfaces are almost as important as switches!
Title: Re: Happenings
Post by: TGMG on January 30, 2011, 07:27:24 am
Quote
As for the GLES folder, ask TGMG. He thought it would become necessary; we haven't seen it be so yet.
Well without that folder enigma iphone/android games wouldn't work so it is very necessary for phone development. It contains the same files as it as alot of opengl code is the same, but many features have to be rewritten for opengles (no glbegin/glend for example).
Title: Re: Happenings
Post by: RetroX on January 30, 2011, 10:53:13 am
I think that it's a bad idea to copy so much code for something that's a simple rewrite.  I think that maybe, we should have some kind of dependency system - for example, GLES requires GL.  Both GL and GLES are built, but GL has a few headers that are only built if you choose GL explicitly.  This will cut down on code size.
Title: Re: Happenings
Post by: Josh @ Dreamland on January 30, 2011, 11:42:01 am
I understand that much; all I'm saying is that those files have been in there for a while and they're still identical. But I haven't said anything about it personally because TGMG told me early on that they'd be changed at some point.
Title: Re: Happenings
Post by: Rusky on January 31, 2011, 12:03:33 pm
Some of them are different (e.g. sprite drawing can't use glBegin/End). However, OpenGL ES is a strict subset of OpenGL, and it might not be a bad idea to just migrate everything over to use it. Less code to deal with, no dependencies, no duplication and the techniques required by GLES are often as or more efficient than what you might jump to with full OpenGL.
Title: Re: Happenings
Post by: MrGriggs on January 31, 2011, 02:15:08 pm
getting this as of 637


Building for mode (0)
Cleaning up from previous executions
Grabbing locals
Location in memory of structure: 0547D470
File version: 600

Error: Incorrect version. File is too old for this compiler.COPYING SOME F*CKING RESOURCES:
Copying sprite names
Copying sound names
Copying background names
Copying path names [kidding, these are totally not implemented :P]
Copying script names
Copying font names [kidding, these are totally not implemented :P]
Copying timeline names [kidding, these are totally not implemented :P]
Copying object names
Copying room names
SYNTAX CHECKING AND PRIMARY PARSING:
0 Scripts:
"Linking" scripts
`Linking' 0 scripts in 0 passes...
Completing script "Link"
Done.
0 Objects:
"Linking" scripts into the objects...
"Link" complete.
Writing modes and settings
Writing object switch
Writing resource names and maxima
Writing events
Checking for default code in ev[8, 0.
Checking for default code in ev[3, 0.
Linking globals
Running Secondary Parse Passes
Writing object data
Writing local accessors
Running make from `\MinGW\bin\mingw32-make.exe'
Full command line: \MinGW\bin\mingw32-make.exe Game GMODE=Run GFLAGS="-s -O3" CFLAGS="-static-libgcc" CPPFLAGS="-static-libstdc++ -static-libgcc" GLINKS="-static-libstdc++ -static-libgcc '../additional/zlib/libzlib.a' '../additional/al/lib/Win32/OpenAL32.lib' 'Platforms/Win32/ffi/libFFI.a' -lcomdlg32 -lgdi32 -lopengl32 -lglu32" GRAPHICS=OpenGL WIDGETS=None PLATFORM=Win32 OUTPUTNAME="C:/Users/Amy/AppData/Local/Temp/egm95572224840606354.exe" eTCpath="\MinGW\bin\;\MinGW\msys\1.0\bin\;"
echo Okay.
Okay.
cd ENIGMAsystem/SHELL/ && C:/MinGW/bin/mingw32-make GMODE=Run GLINKS="-static-libstdc++ -static-libgcc '../additional/zlib/libzlib.a' '../additional/al/lib/Win32/OpenAL32.lib' 'Platforms/Win32/ffi/libFFI.a' -lcomdlg32 -lgdi32 -lopengl32 -lglu32" GFLAGS="-s -O3" GRAPHICS=OpenGL PLATFORM=Win32 OUTPUTNAME="C:/Users/Amy/AppData/Local/Temp/egm95572224840606354.exe"
mingw32-make[1]: Entering directory `c:/TOFU2/ENIGMAsystem/SHELL'
cd Graphics_Systems/OpenGL/   && c:/MinGW/bin/mingw32-make Run MODE=Run GFLAGS="-s -O3" ECFLAGS="" ECPPFLAGS=""
mingw32-make[2]: Entering directory `c:/TOFU2/ENIGMAsystem/SHELL/Graphics_Systems/OpenGL'
mingw32-make[2]: Nothing to be done for `Run'.
mingw32-make[2]: Leaving directory `c:/TOFU2/ENIGMAsystem/SHELL/Graphics_Systems/OpenGL'
cd Platforms/Win32/          && c:/MinGW/bin/mingw32-make Run MODE=Run GFLAGS="-s -O3" ECFLAGS="" ECPPFLAGS=""
mingw32-make[2]: Entering directory `c:/TOFU2/ENIGMAsystem/SHELL/Platforms/Win32'
g++ -c WINDOWSwindow.cpp      -o .eobjs_Run/WINDOWSwindow.o -s -O3
----Make returned error 2----------------------------------
WINDOWSwindow.cpp:33:1: error: expected unqualified-id before 'extern'
WINDOWSwindow.cpp: In function 'void window_default()':
WINDOWSwindow.cpp:194:11: error: 'view_visible' was not declared in this scope
WINDOWSwindow.cpp:195:13: error: 'view_xview' was not declared in this scope
WINDOWSwindow.cpp:195:27: error: 'view_wview' was not declared in this scope
WINDOWSwindow.cpp:196:13: error: 'view_yview' was not declared in this scope
WINDOWSwindow.cpp:196:27: error: 'view_hview' was not declared in this scope
mingw32-make[2]: *** [.eobjs_Run/WINDOWSwindow.o] Error 1
mingw32-make[2]: Leaving directory `c:/TOFU2/ENIGMAsystem/SHELL/Platforms/Win32'
mingw32-make[1]: *** [build] Error 2
mingw32-make[1]: Leaving directory `c:/TOFU2/ENIGMAsystem/SHELL'
mingw32-make: *** [Game] Error 2






from the svn after trying to run
Title: Re: Happenings
Post by: Josh @ Dreamland on February 01, 2011, 12:24:52 am
Fixed, Griggs.
Title: Re: Happenings
Post by: MrGriggs on February 01, 2011, 10:30:51 am
What's next on your project listings?

Anything my limited C++ knowledge can help with?
Title: Re: Happenings
Post by: IsmAvatar on February 01, 2011, 12:11:08 pm
Lrn2Java
Title: Re: Happenings
Post by: RetroX on February 01, 2011, 01:30:27 pm
MrGriggs: There's always this: http://dl.dropbox.com/u/6125077/enigma/needed.txt
Title: Re: Happenings
Post by: MrGriggs on February 01, 2011, 04:45:18 pm
Lrn2Java

Is java that much different in its syntax from C++?

Any places that can get me kick started?
Title: Re: Happenings
Post by: IsmAvatar on February 01, 2011, 06:02:45 pm
They're very similar. One of the major differences you'll run into is the namespace and the full object-orientedness.
This looks like it might be useful:
http://pages.cs.wisc.edu/~cs368-1/JavaTutorial/main.html
The biggest trick behind java is just to know how to use the JavaDocs, because a Java developer accesses them 500x a day.
http://download.oracle.com/javase/6/docs/api/
Title: Re: Happenings
Post by: Josh @ Dreamland on February 01, 2011, 11:05:36 pm
One last test, I hope:
http://dl.dropbox.com/u/1052740/ENIGMA-R4-r640-win.zip

Come on, lucky 640.
Title: Re: Happenings
Post by: kkg on February 02, 2011, 02:38:58 am
Extracted. Ran enigma.exe, it found the original MinGW folder that the old installation installed fine, and I selected yes to use that.
It then was like DUN HAVE THE LIBARIES BRAH, so I selected "Stable" and let it do it's thing, which it then updated to r641 and exited.
When I started it up again, it did a whole lot of shit concerning g++, but once that finished it all worked fine.

Win7 x64
Title: Re: Happenings
Post by: MrGriggs on February 02, 2011, 04:13:22 am
One last test, I hope:
http://dl.dropbox.com/u/1052740/ENIGMA-R4-r640-win.zip

Come on, lucky 640.

Yeah, it all functioned as expected, except I selected dev trunk... Is this not correct?


You should have that selection process automated for those that don't know the differences.

Also, you may want to have an "installing..." message for when you start ENIGMA up for the second time and it's doing its thing, possibly even grey everything in LGM out.


Windows Seven, 64 bit.
Title: Re: Happenings
Post by: Fede-lasse on February 02, 2011, 04:37:07 am
Okay, erm... I started ENIGMA (r640) and got told that libintl-8.dll is missing. However, it seems to continue when I click OK. It found "some" of MinGW but it worked anyway when I clicked Yes to install. I basically did the same as kkg, so it installed fine and didn't take 15 minutes, probably because I had MinGW already and thus, avoided a ton of errors. Also, thanks for including an OpenAL installer. This (http://pastebin.com/wLqVmqW8) is what it said in the console during installation.

ENIGMA tells me that it can't communicate with "the library" when opening again. When I try to Debug a game, I get told that ENIGMA can't find compileEGMf, so I can't run a project. This is what it said during that session:
Quote from: Console
Checking configuration
Scouring for Java
java version "1.6.0_23"
Java(TM) SE Runtime Environment (build 1.6.0_23-b05)
Java HotSpot(TM) Client VM (build 19.0-b09, mixed mode, sharing)
Calling `java -jar l*.jar`

Java Version: 10600 (1.6.0_23)
Loading lib files in C:\Users\AspIT\Downloads\ENIGMA-R4-r640-win\ENIGMA-R4-r640-
win\lgm16b4.jar
01_move.lgl 02_main1.lgl 03_main2.lgl 04_control.lgl
 05_score.lgl 06_extra.lgl 07_draw.lgl
ENIGMA r641
Calling `C:\MinGW\bin\mingw32-make.exe eTCpath="\MinGW\msys\1.0\bin;\MinGW\bin\;
"`
> cd CompilerSource && C:/MinGW/bin/mingw32-make
> mingw32-make: *** [ENIGMA] Fejl -1073741515
2
Tryk på en vilkårlig tast for at fortsætte . . . <- This translates to "press any key to continue." I'ma Danish. Also, "fejl" means "error."
Title: Re: Happenings
Post by: polygone on February 02, 2011, 06:12:07 am
Everything looks A OK now.

So what's planned next?  :)
Title: Re: Happenings
Post by: MrGriggs on February 02, 2011, 06:14:21 am
Let's have a vote,


Switches,


Poll closed.
Title: Re: Happenings
Post by: kkg on February 02, 2011, 11:39:41 am
Okay!
I decided to update my SVN copy of ENIGMA. Upon finishing the update, I ran enigma.exe.
First off, it gave this error message: http://enigma.pastebin.com/BxB0nMk7
So I got a new enigma.exe and replaced the current one. It gave me the "I'VE ALREADY FOUND MINGW LOL, USE DIS?" I select yes. The console then proceeds to do more g++ shit, but then fails.
Because the piece of shit won't let me highlight for some reason, I had to take a screenshot, hopefully it's enough info: http://img34.imageshack.us/img34/9272/enigmaerror.png

Note: The installer-version works fine :S
Title: Re: Happenings
Post by: MrGriggs on February 03, 2011, 04:58:00 am
kkg: Go to the bar for the window, right click, go to edit, then to mark, select the text you want copied, press enter, then go paste to your heart's content.

 :eng101:
Title: Re: Happenings
Post by: Fede-lasse on February 03, 2011, 06:54:52 am
k
Title: Re: Happenings
Post by: MrGriggs on February 03, 2011, 08:46:37 am
k

eh?
Title: Re: Happenings
Post by: Fede-lasse on February 03, 2011, 10:57:42 am
no
Title: Re: Happenings
Post by: kkg on February 03, 2011, 11:06:00 am
MrGriggs, I know how to copy text from cmd, it's just that it wasnt bringing up anything upon right-click. I got that sorted out though (just closed LGM which ended the cmd session). It's all already been discussed with Josh anywh0000000
Title: Re: Happenings
Post by: MrGriggs on February 03, 2011, 11:35:52 am
no

You slut.


kkg: That's good.
Title: Re: Happenings
Post by: Fede-lasse on February 04, 2011, 03:00:33 am
no

You slut.
http://www.youtube.com/v/b6rkXGikuNA (http://www.youtube.com/v/b6rkXGikuNA)
Title: Re: Happenings
Post by: MrGriggs on February 07, 2011, 08:27:31 am
So, what's going on with the current developments?
Title: Re: Happenings
Post by: kkg on February 08, 2011, 03:35:23 am
As far as I'm aware, Josh is still making sure that the installer version is running smoothly.
That, and school :P
Title: Re: Happenings
Post by: Fede-lasse on February 08, 2011, 05:00:00 am
FATAL ERROR: Toungue doesn't work.
Title: Re: Happenings
Post by: MrGriggs on February 15, 2011, 08:14:49 am
Has progess been halted?
Title: Re: Happenings
Post by: Josh @ Dreamland on February 15, 2011, 11:12:28 pm
Certainly not. Our inner workings have just been reduced to a clusterfuck again, as usual.
Title: Re: Happenings
Post by: MrGriggs on February 18, 2011, 09:27:05 am
Have you got any set targets for yourself to work on for the moment?
Title: Re: Happenings
Post by: Josh @ Dreamland on February 19, 2011, 12:23:47 am
Stop in at the IRC. You'll see what's going on. Basically, we have more resource-related segfaults and more Mac issues than ever before, I've started a Java code editor for some reason, Ism's dealing with Mac problems, TGMG pops in at odd intervals and works on Mac problems, and everyone else has disappeared. All this, coupled with school work, has left me seeing stars, and I really just want something to bite into really, really hard.
Title: Re: Happenings
Post by: ugriffin on February 19, 2011, 11:24:17 pm
Hey, I'm just taking a weekend break. I just fucking quit computer dev for this weekend and focused on playing DS videogames.  (Y)

Will be back on Monday.   :eng101:
Title: Re: Happenings
Post by: Fede-lasse on February 20, 2011, 04:29:46 am
 :eng101: :eng101: :eng101: :eng101: :eng101: :eng101: :eng101: :eng101: :eng101: :eng101: :eng101: :eng101: :eng101: :eng101: :eng101: :eng101: :eng101:
Title: Re: Happenings
Post by: kkg on February 20, 2011, 09:36:42 am
I'm still around, just busy organising university stuff :P
You only hear from me most when there's a problem with ENIGMA or a new major release needs to be tested :P
Title: Re: Happenings
Post by: kkg on March 21, 2011, 03:36:17 am
I believe the Announcements needs a new thread. After two months of nothing being posted on the main page of the website, newcomers will be like NAH PROJECT'S DEAD LATEERZZZRDS
Title: Re: Happenings
Post by: Fede-lasse on March 21, 2011, 10:25:13 am
Was the thinking the same.