ENIGMA Forums

General fluff => Announcements => Topic started by: Josh @ Dreamland on September 13, 2010, 12:13:25 AM

Title: What's happening now
Post by: Josh @ Dreamland on September 13, 2010, 12:13:25 AM
Since I put out that zip file to test who can install ENIGMA, I've been getting feedback from all angles. Basically, a couple serious issues were corrected or are being corrected, in the order they likely surfaced:

1. ENIGMA.exe could not recognize the Program Files directory on foreign (Non-English) Windows systems. This meant that it simply couldn't find Java to run it for the user. Since %programfiles% is evidently not interpreted correctly by CreateProcess, this was fixed (in theory; I've not tested but assume it to work) by fetching the environment variable manually.

2. An invalid handle (as far as DuplicateHandle is concerned) to stdin was passed to make.exe when no console window was open. This caused make to bail for no rea reason (It doesn't actually use stdin in ENIGMA's process, or in any process of which I'm aware). Combined with the previous error, this means that if ENIGMA.exe can't find Java.exe, you can't use ENIGMA at all. This error was resolved by requesting a new (also either NULL or INVALID) handle to CONIN$, which placates make.exe (again, for no good reason).

3. D:C:\ Was an issue that surfaced when I threw kkg and some others on the IRC a fix for (1). This error lived a total of ten minutes, and was fixed by adding a NOT.

4. LateralGM exception: Cannot find ENIGMA's class. This error can only be explained by blaming the update sequence. It can be remedied simply by restarting LGM without it updating. Ism is working on a fix for it now.

5. LateralGM constantly pesters for update: Fixed.
5.5: LateralGM frequently pesters for update: This is due to a number of factors, the common ones being, as Ism said, as follow:
- An update is in fact available.
- A file has changed that is under strict version control (aka, everything that downloads when you run LGM for the first time).
- An update exists for one of the other branches. This should certainly not be notified on.


What else I've fixed/am working on:
- Fixed a couple small but annoying bugs, mostly reported by polygone. The most severe of them was a crash on missing closing comment, which originally I was going to have error, but then remembered that GML allows it and removed the check for it in syntax without taxing the parser to do that check as well.
- Am currently working on the network of flag files ENIGMA will use to identify different platforms that can be compiled for. The basic gist of them is this:

Code: ( (Unknown Language)) [Select]
%e-yaml---Name: Mac OS XIdentifier: CocoaRepresents: MacOSXDescription: Run on Apple Mac OS X, or other Cocoa-enabled Apple systems.Author: TGMGBuild-Platforms: MacOSXRun-Program: openRun-Params: $game
That file contains everything (so far) needed to describe OS X as a platform for which ENIGMA can compile. It is located under ENIGMAsystem/SHELL/Platforms/Cocoa/. Three other files almost identical to that one exist under the other three folders. Android is not presently supported in the repository version; TGMG will likely add it after this flagging system is finished.

Wish us luck. Especially Ism. She has a lot of crap to sort through due to such road blocks as Java lacking a "delete."
*mutters something under breath*

When all of the bugs above are fixed and re-tested by my group of victims, we will re-release the zip file. If all comes back positive, the zip will be uploaded to SourceForge, as well as the other zips/packages.

Peace.
Title: Re: What's happening now
Post by: freezway on September 13, 2010, 01:23:00 AM
request: make it so you choose wher especiallye to install openal. At school we aren't admin so we can't install things in programsfiles. Basiccly create a portable version and it'll spread though my school like a wildfire via flash drives. Especially when collisions are done.
Title: Re: What's happening now
Post by: The 11th plague of Egypt on September 13, 2010, 05:02:36 AM
Can I participate to these early tests?

BTW the full edit window of this forum looks messed up (all blank)

I found out that when Penumbra: Overtur was open-sourced (http://frictionalgames.blogspot.com/2010/05/penumbra-overture-goes-open-source.html), they released a nice OpenAL wrapper (http://github.com/FrictionalGames).
Title: Re: What's happening now
Post by: Josh @ Dreamland on September 13, 2010, 09:42:26 AM
Freezway:
I can't control where the installer places OpenAL. And apparently, I can't just pack the DLLs with it, because they seem to vary from computer to computer (Most likely just from 32bit to 64bit, but I can't pack 2MB worth of Audio DLL into each game). That's why I intend to create a DirectX version of the audio system.

Plague:
Sure you can participate. In fact, I kind of need you to, since yours is one of the computers with the differently named Program Files directories.

I'll tell a2h about the edit page next I see him (if he's not already fixed it by then).

I don't really need an AL wrapper; just some better way of taking AL with ENIGMA. But AL's support isn't that great right now, so I can't just assume anyone on Windows has it installed.
Title: Re: What's happening now
Post by: TheExDeus on September 13, 2010, 11:56:27 AM
Is basic backgrounds included? I just want to make all of the background functions (if you don't want too), and that will make porting from GM almost possible. Then fonts, surfaces and thats it. I for one don't use paths or timelines so I don't care about those.
Title: Re: What's happening now
Post by: Josh @ Dreamland on September 13, 2010, 12:13:22 PM
I can do backgrounds as soon as I finish this, I guess.
I'm also renaming Windows to Win32, so this could get messy pretty quick.
Title: Re: What's happening now
Post by: The 11th plague of Egypt on September 13, 2010, 01:01:49 PM
Where can I download the test version?
Title: Re: What's happening now
Post by: Josh @ Dreamland on September 13, 2010, 05:40:13 PM
I'd rather wait for Ism to finish her work now, on which there is no ETA (She describes this as 'new territory,' as I was sure it would be). She hopes to have something ready this week, though. For now, I the previous file seems to be holding up.
Title: Re: What's happening now
Post by: The 11th plague of Egypt on September 15, 2010, 05:54:11 PM
Please try to be quick. I'll have to go back to university in october.
Title: Re: What's happening now
Post by: polygone on October 01, 2010, 06:54:55 AM
Any news/predictions for when everything will be sorted and the zip re-released?
Title: Re: What's happening now
Post by: Josh @ Dreamland on October 02, 2010, 09:03:23 PM
No clue. Ism was supposed to port my YAML parser, but it's too pointerriffic for Java, so she was going to write her own. Well, that didn't happen. So I'm moving on without her... I'm going to replace the installer with MinGW-get, further automating the install process. And add a dialog warning people that Ism's going to download lots of shit without saying anything about it. I'm not sure what I can rely on Ism to implement at this point. I guess we'll have to wait and see. Really, I'm just trying to get it as automated as possible before re-release.
Title: Re: What's happening now
Post by: Josh @ Dreamland on October 09, 2010, 02:20:16 PM
In news, dazappa did finish his parser, and now Ism reads the YAML. She's yet to act on it, so we're still waiting.
Title: Re: What's happening now
Post by: RetroX on October 13, 2010, 08:13:59 PM
Random notice: I'm going to start building packages for ENIGMA more often now that my packages actually work (hopefully).  If someone could test the Ubuntu packages, that would be nice.

This file (http://dl.dropbox.com/u/6125077/enigma/pkglist) contains a list of the latest packages.  If a file on this list doesn't exist, I'm uploading it; be patient.

i386, i486, i586, and i686 are 32-bit packages.  x86_64 and amd64 are 64-bit packages.
.deb is for Ubuntu, .rpm is for Fedora, .pkg.tar.gz is for Arch, .src.tar.gz contains the PKGBUILD source, and .lzm contains the slackware package (I can't test it but could build the package and did for the hell of it).

This really is a temporary solution for people that want to test it but would prefer to have an actually installed package.  To run ENIGMA, either go to the Applications menu > Programming > ENIGMA Game Maker, or run enigma-dev or lateralgm in a terminal.
Title: Re: What's happening now
Post by: The 11th plague of Egypt on October 14, 2010, 06:07:44 AM
I have an Ubuntu desktop to test them.
Title: Re: What's happening now
Post by: The 11th plague of Egypt on October 14, 2010, 01:01:50 PM
I tested the Ubuntu 32bit version and it works. I hope it will uninstall without leaving pieces behind.

Do you have a game to test?
Title: Re: What's happening now
Post by: IsmAvatar on October 14, 2010, 02:38:07 PM
http://enigma-dev.org/forums/index.php?topic=488.0

The de-facto standard game to test has become Catch the Clown.
Title: Re: What's happening now
Post by: The 11th plague of Egypt on October 14, 2010, 03:00:57 PM
Error
Quote
Building for mode (0)
Cleaning up from previous executions
Grabbing locals
Location in memory of structure: 0x8a56d968
File version: 800

COPYING SOME F*CKING RESOURCES:
Copying sprite names [2]
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 [2]
Copying room names [1]
SYNTAX CHECKING AND PRIMARY PARSING:
0 Scripts:
"Linking" scripts
`Linking' 0 scripts in 0 passes...
Completing script "Link"
Done.
2 Objects:
 obj_clown: 12 events:
  Event[0]:   Parsing 1 sub-events:
Check `obj_clown::create...Done. Starting parse...Done.
  Event[3]:   Parsing 1 sub-events:
Check `obj_clown::step...Done. Starting parse...Done.
  Event[8]:   Parsing 1 sub-events:
Check `obj_clown::draw...Done. Starting parse...Done.
 obj_wall: 12 events:
  Event[0]:   Parsing 1 sub-events:
Check `obj_wall::create...Done. Starting parse...Done.
  Event[8]:   Parsing 1 sub-events:
Check `obj_wall::draw...Done. Starting parse...Done.
"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[0, 0.
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 `make'
Full command line: make Game GMODE=Run GFLAGS="-O3 -s" GLINKS="-lz -lGL -lGLU -lopenal  " GRAPHICS=OpenGL PLATFORM=xlib OUTPUTNAME="/tmp/egm3158479706586988398.exe"
echo Okay.
Okay.
cd ENIGMAsystem/SHELL/ && make GMODE=Run GLINKS="-lz -lGL -lGLU -lopenal  " GFLAGS="-O3 -s" GRAPHICS=OpenGL PLATFORM=xlib OUTPUTNAME="/tmp/egm3158479706586988398.exe"
make[1]: ingresso nella directory «/opt/enigma/ENIGMAsystem/SHELL»
cd Graphics_Systems/OpenGL/     && make Run MODE=Run FLAGS="-O3 -s"
make[2]: ingresso nella directory «/opt/enigma/ENIGMAsystem/SHELL/Graphics_Systems/OpenGL»
mkdir .eobjs_Run
g++ -c graphics_object.cpp        -o .eobjs_Run/graphics_object.o -O3 -s
g++ -c GSbackground.cpp        -o .eobjs_Run/GSbackground.o -O3 -s
----Make returned error 512----------------------------------
In file included from GSbackground.cpp:29:
OpenGLHeaders.h:35: fatal error: GL/glu.h: Nessun file o directory
compilation terminated.
make[2]: *** [.eobjs_Run/GSbackground.o] Errore 1
make[2]: uscita dalla directory «/opt/enigma/ENIGMAsystem/SHELL/Graphics_Systems/OpenGL»
make[1]: *** [all] Errore 2
make[1]: uscita dalla directory «/opt/enigma/ENIGMAsystem/SHELL»
make: *** [Game] Errore 2
Title: Re: What's happening now
Post by: RetroX on October 14, 2010, 03:44:06 PM
I tested the Ubuntu 32bit version and it works. I hope it will uninstall without leaving pieces behind.

Do you have a game to test?
It removes the symbolic links when it uninstalls, but it will probably will leave the /opt/enigma directory behind.  You can delete that if you want it to be fully removed.
Title: Re: What's happening now
Post by: RetroX on October 14, 2010, 03:49:39 PM
I've added GLU to the dependencies.  I'll build new packages soon.
Title: Re: What's happening now
Post by: The 11th plague of Egypt on October 16, 2010, 05:57:13 AM
Please make it this weekend, or I won't have that much time for testing.
Title: Re: What's happening now
Post by: RetroX on October 16, 2010, 01:23:06 PM
They're built, now.  If you have any other package-related errors, let me know.  Otherwise, it's Josh's job.
Title: Re: What's happening now
Post by: The 11th plague of Egypt on October 17, 2010, 06:24:23 AM
Ubuntu Software Center didn't found the Enigma installation, so I had to use Package Manager, and do the work by hand. And removing Opt/Enigma folder requires root privileges, so it can't be done using the GUI. I had to install search the net for a Nautilus plugin to get those privileges, and once I "trashed" the folder, it just disappeared instead of going into the trash can.

I still have to install the new Enigma and I'm already fed up...

EDIT: it works, but the Enigma Progress Console doesn't close when the game starts.
Title: Re: What's happening now
Post by: Josh @ Dreamland on October 17, 2010, 08:18:25 AM
We're working on that. By which I mean, I'm hinting to Ism every week or so that I hate it when that thing covers my game window.
Title: Re: What's happening now
Post by: IsmAvatar on October 17, 2010, 09:09:03 AM
Quote
We're working on that. By which I mean, I'm hinting to Ism every week or so that I hate it when that thing covers my game window.
You've never mentioned it.

I'm looking over my code, and it looks like I call compileEGMf from your dll, and then never execute the game myself - it seems you do that now from within compileEGMf. Obviously I have no way of telling when that single method is done one part and moving on to another, which means that the method would need to inform me. Which means that it's Josh's job. And since I provided josh with this wonderful toolkit of progress console methods, including one to close the console, I don't know what you're bitching to me about.

Although I am aware of a slightly separate, always-on-top problem which I'm still trying to fix I've now fixed in r504.
Title: Re: What's happening now
Post by: RetroX on October 17, 2010, 12:29:01 PM
Ubuntu Software Center didn't found the Enigma installation, so I had to use Package Manager and do the work by hand.
Download the package, right click the package > install.  Or something like that.  Eventually, a package repository will probably be put up or something, so that it will be automatically updated.  I'm not doing that until it's actually onto a stable release.

And removing Opt/Enigma folder requires root privileges, so it can't be done using the GUI. I had to install search the net for a Nautilus plugin to get those privileges, and once I "trashed" the folder, it just disappeared instead of going into the trash can.
I'll look into debian packages more.  I know that there's a purge configuration option in the package manager, which, when chosen, would fully remove configuration (in this case, /opt/enigma) after uninstall.  It's not done automatically with the package because you might want to uninstall and then reinstall explicitly, and that would delete your configurations without any undo.  Could you check the software center for me and see what kind of uninstallation options that there are?  I know that Synaptic has it, but I'm not sure that it can be done via the software center.

You have to realise that this is still a development version of ENIGMA.  It's not automated for Linux yet, but I'll try to do that.
Title: Re: What's happening now
Post by: Josh @ Dreamland on October 17, 2010, 12:44:24 PM
We may need to set up our own repository. I doubt ENIGMA will just waltz into the main Ubuntu repo (But never say never. I intend to try).
Title: Re: What's happening now
Post by: RetroX on October 17, 2010, 01:16:36 PM
As a little update, I've made it so that for all of the packages, when ENIGMA is updated or uninstalled, this is run:
Code: [Select]
rm -rf /opt/enigma/blank.txt /opt/enigma/defines.txt /opt/enigma/redirfile.txt /opt/enigma/searchdirs.txt /opt/enigma/ENIGMAsystem/SHELL/Preprocessor_Environment_Editable /opt/enigma/ENIGMAsystem/SHELL/API_Switchboard.h
find /opt/enigma -type f -name "*.o" -exec rm {} \;
find /opt/enigma -type f -name "*.a" -exec rm {} \;
find /opt/enigma -type d -depth -exec rmdir {} --ignore-fail-on-non-empty \;

In English:
blank.txt, defines.txt, redirfile.txt, and searchdirs.txt are all deleted so that LGM can regenerate them.
ENIGMAsystem/SHELL/Preprocessor_Environment_Editable and ENIGMAsystem/SHELL/API_Switchboard.h are deleted.  These are generated when compiling and will be updated per-game, anyways.
All objects and static libraries are deleted.
All empty directories are removed.
Title: Re: What's happening now
Post by: IsmAvatar on October 17, 2010, 03:12:51 PM
Quote
blank.txt, defines.txt, redirfile.txt, and searchdirs.txt are all deleted so that LGM can regenerate them.
Neither LGM nor the plugin are responsible for the generation or regeneration of any of these files. I believe you meant ENIGMA.
Also, redirfile.txt should be regenerated irregardless of its existence. It serves as a temporary active log of the output of `make game` when run from ENIGMA, which the plugin will then attempt to read and pipe to the progress console. I don't know of the nature of the other 3.
Title: Re: What's happening now
Post by: The 11th plague of Egypt on October 17, 2010, 04:44:03 PM
I'll look into debian packages more.  I know that there's a purge configuration option in the package manager, which, when chosen, would fully remove configuration (in this case, /opt/enigma) after uninstall.  It's not done automatically with the package because you might want to uninstall and then reinstall explicitly, and that would delete your configurations without any undo.  Could you check the software center for me and see what kind of uninstallation options that there are?  I know that Synaptic has it, but I'm not sure that it can be done via the software center.

You have to realise that this is still a development version of ENIGMA.  It's not automated for Linux yet, but I'll try to do that.
It showed up under installed software only after I used the search function, here's a pick (http://img171.imageshack.us/img171/3834/schermatay.png).
There's only one uninstall option, a Remove button.

BTW there's a typo in the description "EnvironmentAn"
Title: Re: What's happening now
Post by: RetroX on October 17, 2010, 04:46:58 PM
Quote
blank.txt, defines.txt, redirfile.txt, and searchdirs.txt are all deleted so that LGM can regenerate them.
Neither LGM nor the plugin are responsible for the generation or regeneration of any of these files. I believe you meant ENIGMA.
Also, redirfile.txt should be regenerated irregardless of its existence. It serves as a temporary active log of the output of `make game` when run from ENIGMA, which the plugin will then attempt to read and pipe to the progress console. I don't know of the nature of the other 3.
ENIGMA, whatever.  The point is that they're regenerated every single time and can be deleted after ENIGMA is removed.  In fact, I'll actually create them in the package so that they're removed automatically.
Title: Re: What's happening now
Post by: RetroX on October 17, 2010, 04:51:21 PM
I'll look into debian packages more.  I know that there's a purge configuration option in the package manager, which, when chosen, would fully remove configuration (in this case, /opt/enigma) after uninstall.  It's not done automatically with the package because you might want to uninstall and then reinstall explicitly, and that would delete your configurations without any undo.  Could you check the software center for me and see what kind of uninstallation options that there are?  I know that Synaptic has it, but I'm not sure that it can be done via the software center.

You have to realise that this is still a development version of ENIGMA.  It's not automated for Linux yet, but I'll try to do that.
It showed up under installed software only after I used the search function, here's a pick (http://img171.imageshack.us/img171/3834/schermatay.png).
There's only one uninstall option, a Remove button.

BTW there's a typo in the description "EnvironmentAn"
Okay.  It's automatic now, anyways.

EnvironmentAn is bash being stupid as far as new lines go.  Let me fix that.  I'm building packages right now.