ENIGMA Forums

General fluff => Announcements => Topic started by: Josh @ Dreamland on August 09, 2010, 11:39:23 PM

Title: ENIGMA R4
Post by: Josh @ Dreamland on August 09, 2010, 11:39:23 PM
So I pulled overtime. I Haven't eaten anything today but a bagel. And a handful of spaghetti, which I grabbed out of a bowl as I walked by.
R4 is ready for release, but there's a problem. I was depending on a certain IsmAvatar for an update that would enable LateralGM to download and build ENIGMA. I spent the whole day getting everything perfect. But she's gone. So everybody post "WHY, ISM? WHYYYYY?".

Anyway, here's how the release today (8- 10 -10) works:

WINDOWS:
Download.
Unzip.
Double click ENIGMA.exe
Do what it says.
Wait.

LINUX:
Most Linux users have been using R4 for a month or so. I'll see about putting a .deb and a... whatever that thing is that Retro uses. Hey, Retro, can you assemble those for me tomorrow?

Anyway, I'm really bummed about the release not being 8-9-10, especially that it wasn't even at 11:12 like I thought it would be when the amazing Super Ism showed up to save the day. But hey, life goes on, especially for ENIGMA.

Currently implemented:
And of course, the function lists have grown significantly. I will see about getting those up sooner or later. But I'm feeling very abandoned. I don't really blame anybody; it's just that today was apparently not a good day to say, hey, let's get a zipped distributable out!

So. What will happen tomorrow:
1) I'm implementing sound_loop, sound_pause, sound_isplaying, sound_ispaused, sound_resume
2) I'm making sure users have access to WhiteSpace (the name-pending C++ resource).
3) I'm making sure X.Y works, at least as well as it did in R3.
4) Ism is finishing work on her updater. Or else.
5) I will see if Retro will prepare a deb and archwhatever containing the essentials for LGM and ENIGMA on Linux.
6) The same is basically done for Windows as it stands (just waiting for Ism...)
7) See if a2h can fix some things on the site.

See you all then. Be there, or be *mutter mutter* (and if you happen to be IsmAvatar and are not there, I'll shoot you.)
Title: Re: ENIGMA R4
Post by: kkg on August 10, 2010, 12:42:23 AM
NICE DOWNLOAD URL YOU GOT THERE

*mumbles and goes to svn*
Title: Re: ENIGMA R4
Post by: Josh @ Dreamland on August 10, 2010, 12:50:27 AM
Don't remind me. *sigh*
Title: Re: ENIGMA R4
Post by: MrJackSparrow2 on August 10, 2010, 04:36:13 AM
You suck ass. You commited a broken system and went to bed. You're gonna blame it on poor lil IsmAvatar too.
Title: Re: ENIGMA R4
Post by: The 11th plague of Egypt on August 10, 2010, 04:48:11 AM
That's some good news.

Is ds_list_find_value(id,pos) really not implemented? I'd really need it to test lists properly.
Title: Re: ENIGMA R4
Post by: TheExDeus on August 10, 2010, 05:14:54 AM
This is good news. I guess creating the underlying system is almost complete. Now people can finally create the functions. Most of them aren't that hard to make.

Quote
I will see about getting those up sooner or later.
Isn't the function progress list accurate?

Quote
You suck ass. You commited a broken system and went to bed. You're gonna blame it on poor lil IsmAvatar too.
Sleep? I for example, just got up from sleep. :D

edit: Also, I just found that you can submit some description in the functions progress page. What is that? It doesn't seem to be code, as the box is too uncool for that. And we all know what those functions does, so what is there to describe?
Title: Re: ENIGMA R4
Post by: RetroX on August 10, 2010, 07:17:57 AM
Josh, I'll work on assembling a DEB/RPM right now.  I'll also throw in the pacman package just for the hell of it.

EDIT: unipkg is amazing.  I have the package ready, but I need the proper dependencies for Ubuntu/Debian and Fedora/SUSE.

If someone could check the equivalents of these for those systems, it would help:
libgl libx11 mesa zlib libvorbis libmpeg2 dumb gcc gcc-libs make jre

Also, if the system separates the binaries and development files, include both packages.  And if g++ is a separate package, include that too. >_>
Title: Re: ENIGMA R4
Post by: Josh @ Dreamland on August 10, 2010, 11:29:06 AM
MrJackSparrow2:
  I believe that the breaking for you is local, but I didn't get you to test before I went to bed. I tested it on both Windows 7 and Ubuntu (granted, both x64) before bed, and assumed it would cover it for you. We can work out your difficulty (and avoid future difficulties, I hope) next we see each other.
I will not deny that I suck ass for now.

The 11th plague of Egypt:
  Lists were implemented by Rusky a long time ago. They are basically obsolete. This is my preferred method of lists:
Code: [Select]
list a;
a.push_back("Item 1");
a.push_back(2.001);
show_message(string(a.size()));

I will inspect to make sure iterators work. The ds_list functions are really not that hard to implement.

HaRRiKiRi:
That list is never up to date. You can get a list of all the functions supported by your system by pressing ENIGMA->Keyword Lists->Functions in the LateralGM pane.
The description box is just that; it's so new users can get a synopsis of what the function does. It is community maintained, but I intend to have a moderation screen that will copy the definition to a separate database. This second database will be obtained by LateralGM (At the user's request) to offer a Java-Doc like code helper pane in the LGM code editor.

RetroX:
Thank you, sincerely.
These are the packages that are currently required:
libgl libx11 mesa zlib gcc gcc-libs g++ make jre6

These are the Ubuntu equivalents:
libgl1-mesa-dev libx11-dev libz-dev gcc g++ make sun-java6-jre

That is the recommended set. I prefer Sun, because it actually works, unlike some. Ism says she uses the same. So.


Anybody and Everybody:
Please show up at the IRC and let me know if the project works for you correctly. This will help make the release a lot smoother, and reduce the number of people who think any of us "Suck Ass."

irc://irc.freenode.net/enigma-dev
ChatZilla for FireFox, or Pidgin.
Title: Re: ENIGMA R4
Post by: freezway on August 10, 2010, 12:14:21 PM
Call it a beta until ISM shows up.

EDIT: josh: as of 226 everything appears to work.
Title: Re: ENIGMA R4
Post by: RetroX on August 10, 2010, 01:05:16 PM
You mean 326.  And it's 327, now.
Title: Re: ENIGMA R4
Post by: RetroX on August 10, 2010, 01:28:01 PM
Okay, I've finished the GNU/Linux packages.  Here are the current downloads, and if they could be added to the sourceforge page or something, it would be appreciated.  I'll work on RPMs later, but for now, these two should satisfy almost all (if not all) of the current users' needs:
Please refer to the more recent Windows/Linux releases topic: http://enigma-dev.org/forums/index.php?topic=669.0
Title: Re: ENIGMA R4
Post by: freezway on August 10, 2010, 01:43:23 PM
I get wrong architecture for both of them! do i have a 48bit cpu?
Title: Re: ENIGMA R4
Post by: RetroX on August 10, 2010, 01:55:51 PM
EDIT: Updated packages (again).  Should work.
Title: Re: ENIGMA R4
Post by: freezway on August 10, 2010, 09:28:06 PM
dpkg-deb: file `/home/andrew/Downloads/enigma-dev-svn-327-1-amd64.deb' is not a debian binary archive (try dpkg-split?)
dpkg: error processing /home/andrew/Downloads/enigma-dev-svn-327-1-amd64.deb (--install):
 subprocess dpkg-deb --control returned error exit status 2
Errors were encountered while processing:
 /home/andrew/Downloads/enigma-dev-svn-327-1-amd64.deb

still dont work
Title: Re: ENIGMA R4
Post by: RetroX on August 11, 2010, 10:30:48 AM
I'll work on it more.  I'm sure that I can get it to work.

EDIT: Apparently, debian-binary has to be the first file in the archive.  It seems to identify as a debian package without an extension, now.  I'll upload a new package once I'm finished.
Title: Re: ENIGMA R4
Post by: justyellowboy on August 12, 2010, 12:13:42 AM
I just registered to say that I managed to finally get LGM/ENIGMA working on my Linux desktop.

Dude, thanks so much for working this up. I've made a pretty sweet platforming engine in the past, zPlat, and I'm going to be writing it for ENIGMA from here on out. Thanks, everyone, so much for making this happen, it is so great. I'll be majoring in Computer Engineering for college in this fall, and I'll be taking lots of Java and C classes and would love to contribute to this project, hopefully I'll stop worrying about being terrible at coding and just make some suggestions or something.

Anyway, for now, I'll see if I can port that old project over here, I want ENIGMA somethin' bad. Also thanks for not including some wonky-ass sprite editor, GIMP works just fine for me. High-fives, guys, you made a boy happy today.
Title: Re: ENIGMA R4
Post by: kkg on August 12, 2010, 12:55:57 AM
There are a few ways you can contribute without needing much C++ knowledge (which is good because i know squat :P).  I know that Josh wants a2h to do something that will allow us to document functions and what they do (atm ENIGMA just shows the function and how many arguments it has :P)

Also, we can start coding functions ^_^
Title: Re: ENIGMA R4
Post by: IsmAvatar on August 12, 2010, 07:22:01 AM
Quote
Also thanks for not including some wonky-ass sprite editor, GIMP works just fine for me. High-fives, guys, you made a boy happy today.
LGM does not include a sprite editor simply because we haven't found a good one to include and haven't finished writing our own yet. GIMP is overly complex for many people (including myself), and not even included in some distros (such as the latest Ubuntu release), not to mention it takes ages to load for many. We are working on our own sprite editor, which is kind of like a cross-over between MSPaint and GM's, so that less competent graphic artists, like myself, can quickly design a basic image without worrying about the complexities of GIMP or such.

That said, also like in GM, once said sprite editor is added, you have the option to toggle a checkbox (essentially) to use GIMP instead of it.

Is this objectionable?
Title: Re: ENIGMA R4
Post by: RetroX on August 12, 2010, 08:22:23 AM
That works.  Also, for me, GIMP literally takes four seconds to load.

And on another note, I can work on the external_call functions for SOs.  Will the Linux version use WINE to enable DLL support, will it just use SOs, or will it use both?  I can work on the SO functions if needed.
Title: Re: ENIGMA R4
Post by: justyellowboy on August 12, 2010, 08:40:06 AM
GIMP is overly complex for many people (including myself), and not even included in some distros (such as the latest Ubuntu release), not to mention it takes ages to load for many. We are working on our own sprite editor, which is kind of like a cross-over between MSPaint and GM's, so that less competent graphic artists, like myself, can quickly design a basic image without worrying about the complexities of GIMP or such.

That said, also like in GM, once said sprite editor is added, you have the option to toggle a checkbox (essentially) to use GIMP instead of it.

Is this objectionable?
Absolutely not. That's fine for me, yeah.
Title: Re: ENIGMA R4
Post by: RetroX on August 12, 2010, 11:59:54 AM
Bug: Compile searches for libmpfr.so.1 and I have libmpfr.so.4.  I symbolically linked it, but it should be looking for just libmpfr.so.

Also, you forgot to add that to the dependencies.

Why use mpfr instead of gmp?
Title: Re: ENIGMA R4
Post by: Josh @ Dreamland on August 12, 2010, 03:51:59 PM
justyellowboy:
Glad to hear it's working for you; we've come a long way, but we've got a long way yet to go. I hope you can pitch in as well; we'll have room for hundreds quite shortly.

RetroX:
I don't hard-code any such value for compile to search for. On Linux, I link against these:
string glinks = "-lGL -lz -lopenal";

If your machine is linking against a lib you don't have, it's set up incorrectly. I've never even heard of MPFR. Apparently it's for float rounding...? I let GCC take care of that mess.
Title: Re: ENIGMA R4
Post by: freezway on August 12, 2010, 03:54:11 PM
if i compile it it works fine.
Title: Re: ENIGMA R4
Post by: RetroX on August 12, 2010, 09:36:25 PM
Hmm, might be because I installed gcc-multilib recently, and it was an old version. :/
Title: Re: ENIGMA R4
Post by: The 11th plague of Egypt on August 13, 2010, 04:29:32 AM
Where can I download Enigma for Windows?
Title: Re: ENIGMA R4
Post by: Rusky on August 13, 2010, 01:16:38 PM
Windows XP SP3, Java 1.6.0_21, revision 337; when I run ENIGMA.exe I get an error when it tries to run LGM:
Code: [Select]
Initializing Enigma: Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'compileEGMf': The specified module could not be found.
...
    at org.lateralgm.main.LGM.loadPlugins(LGM.java:297)
...
Title: Re: ENIGMA R4
Post by: RetroX on August 13, 2010, 02:16:19 PM
Windows XP SP3, Java 1.6.0_21, revision 337; when I run ENIGMA.exe I get an error when it tries to run LGM:
Code: [Select]
Initializing Enigma: Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'compileEGMf': The specified module could not be found.
...
    at org.lateralgm.main.LGM.loadPlugins(LGM.java:297)
...
(http://enigma-dev.org/forums/avatars/Other/troll2.jpg)
Title: Re: ENIGMA R4
Post by: retep998 on August 13, 2010, 02:28:13 PM
Windows XP SP3, Java 1.6.0_21, revision 337; when I run ENIGMA.exe I get an error when it tries to run LGM:
Code: [Select]
Initializing Enigma: Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'compileEGMf': The specified module could not be found.
...
    at org.lateralgm.main.LGM.loadPlugins(LGM.java:297)
...
try running enigma directly from codeblocks.
Also make sure you have the enigma dll compiled and in the right location.
Title: Re: ENIGMA R4
Post by: Brett on August 13, 2010, 02:56:36 PM
Where can I find the download link? I've looked everywhere and I can only find R3 in the downloads section.

BTW: I'm Brett. I've been lurking around here for a while (checking the forum basically weekly) and decided to register now.

EDIT: I'm using windows (7)
Title: Re: ENIGMA R4
Post by: Josh @ Dreamland on August 13, 2010, 03:12:41 PM
Brett: We're waiting on IsmAvatar to provide the updater which will function as an installer for first-time use on Windows. RetroX is currently working on the package for Ubuntu anyway, so it's still a hassle for automated installation on either platform.

Rusky: Can you get in contact with Ism? She's looking for others who are affected by that problem. (There's been a bug report posted on it, but too few people experience it to work it out). She'll be back from vacation Wednesday; the IRC is a good place to find her.
Title: Re: ENIGMA R4
Post by: Brett on August 13, 2010, 03:50:29 PM
Thanks for the reply, I'll check back about a week and see progress. Once I get it, I'm planning on adding to the function list (coding functions in c++)


Cheers
~~Brett
Title: Re: ENIGMA R4
Post by: RetroX on August 13, 2010, 06:23:40 PM
Speaking of packages, I've decided to make a compromise.  I've modified unipkg to work with compiling for multiple architectures and multiple package formats, including pacman, debian, and slackware (it was there, so, I made it work properly).  If anyone has the sanity to work on an RPM package, go ahead, but I won't for now.

Right now, I just have to run build-enigma and it compiles all of the packages for me at the latest revisions.  If Josh or someone on the ENIGMA team could upload them to sourceforge (under files, not on the SVN) once I finish building them, that would be nice.
Title: Re: ENIGMA R4
Post by: Rusky on August 13, 2010, 07:31:19 PM
@retep: That worked.
@Josh: Thanks, will do.

Edit: the build system has issues on Windows. The error is "sh: C:\Program: No such file or directory." I'm looking into it, but I don't know enough about the system.
Title: Re: ENIGMA R4
Post by: Josh @ Dreamland on August 13, 2010, 09:16:12 PM
Oh, er, well. Never mind then. Someone was having problems where the DLL was right there but LGM couldn't find it unless the JRE was pointed right to it via command line.
Title: Re: ENIGMA R4
Post by: IsmAvatar on August 18, 2010, 10:46:24 AM
I've committed a working and tested updater, but I wouldn't use it, partly because update doesn't work (due to a bug I'm trying to fix, but first time checkout works and checks out the latest revision), but mainly because it sleeps until the update and make is done, which takes long enough that the user would probably think that LGM froze.
I've also committed the latest LGM, which replaces the infamous "ZOMG ERROR JNA ISN'T A PLUGIN, LGM IS GONNA ASPLODE" with "Info: jna.jar is not an LGM plugin: null: No plugin entry point (LGM-Plugin)" along with a minor bugfix.

Stay tuned for more progress.
Title: Re: ENIGMA R4
Post by: IsmAvatar on August 19, 2010, 01:46:32 PM
r346 fixed the update part of the updater. Also r348 now displays the Make output in a GUI frame and to stdout. Be aware that checkout/update may take a moment, and during that time you will still have no indication of progress, but look at the console, and if you don't see errors, you can assume it's moving along. It shouldn't take too long. `Make` is the longest part, but it shows in a window, so you know it's working.

I'd like to make some other GUI improvements, and possibly thread the whole thing so you can use LGM while the plugin is loading.
Title: Re: ENIGMA R4
Post by: Josh @ Dreamland on August 19, 2010, 04:13:32 PM
Make is the longest part *on your connection.
Title: Re: ENIGMA R4
Post by: IsmAvatar on August 20, 2010, 09:35:35 AM
And CPU. Point taken.
Title: Re: ENIGMA R4
Post by: RetroX on August 20, 2010, 11:05:05 AM
Suggestion for the linux version: compileEGMF should be placed in /usr/lib and LGM should search there.  If it's not there, it searches in /lib, and if it's not there, it searches in the working directory.  Windows should place the plugin in the same directory by default but should search in system32 if it's not there.

Additionally, there should be an option to link to ENIGMA's runtime libraries as SOs/DLLs as opposed to including them with the program (inclusion should be default).  And these SOs/DLLs can be packaged and redistributed and put in system32/runEGMF.dll or /usr/lib/librunEGMF.so.
Title: Re: ENIGMA R4
Post by: IsmAvatar on August 20, 2010, 11:22:58 AM
Might I inquire as to why you think these actions should be taken? The reasoning isn't exactly obvious to some of us, namely myself.
Title: Re: ENIGMA R4
Post by: RetroX on August 20, 2010, 11:26:33 AM
1. To make it so that LGM will work by just running java -jar (LGM) rather than having to create a bash script to go to its directory.
2. Runtime libraries make the binary file size smaller.
Title: Re: ENIGMA R4
Post by: Josh @ Dreamland on August 20, 2010, 12:24:10 PM
God damn it, that is the stupidest fucking excuse in the book, and it's officially pissed me off, because now we have the most flaringly beautiful fallacy of accident I have ever seen.
1. Using a runtime library makes binaries smaller, WHEN MORE THAN ONE BINARY DEPENDS ON THE LIBRARY AND SO THE USER CAN BE GUARANTEED THAT IT IS ALREADY INSTALLED. I have to include a megabyte-large AL installer with ENIGMA, and if I don't do something about it, users will have to include that same installer with their games. Why? Because no one has fucking AL installed! As the sole proprietor of libcompileEGMf.so, it doesn't matter WHERE THE FUCK WE PUT IT, IT'S STILL A MEGABYTE OF DLL. Maybe if fuck-anybody had any reason to install OpenAL on Microsoft, I could happily leave AL's DLLs dynamic. But as it stands, no. one. does.

2. Putting a DLL in a system folder that would, ideally, be updated by LGM moderately frequently, is not a good idea. Sure, you can set its permissions to allow LGM to replace it, but then 20 different things have to be modified in LGM to make sure /usr/lib is what this particular operating system supports: so far, Mac has been riding Linux's coattails to functioning at the bare minimum. I'm not exactly sure what trying to write into the correct system folder would do.
Title: Re: ENIGMA R4
Post by: RetroX on August 20, 2010, 12:47:39 PM
It was an idea, not a required obligation.  It doesn't mean that it should be done in the near future or even at all.

My idea is that simply, ENIGMA shouldn't all be stuffed into one folder.  Some parts should be stuffed into /home/user or C:\Users\user and others should be put in the right places in the system.  But then again, and system32/lib is probably a bad idea.
Title: Re: ENIGMA R4
Post by: RetroX on August 21, 2010, 08:24:34 PM
LINUX PACKAGES ARE FINISHED

They are listed in this (http://dl.dropbox.com/u/6125077/enigma/pkglist) file.  I've automated the building of ENIGMA so that I just have to run a bash script to upload the new packages.

NOTE: Old packages are not kept, and if you end up having a failed download, it's probably because the file was deleted automatically on a package update; in this case, check the package list again.  I'm only going to be updating these on major updates, and I'll give you about an hour's notice before I do so, for those with really slow connections or limited bandwidth.

For people that don't know which package to download, i386, i486, i586, and i686 are 32-bit, and x86_64 and amd64 are 64-bit.  The Ubuntu packages have the .deb extension, the Arch Linux packages have the .pkg.tar.xz extension, and the slackware packages have the .lzm extension.
Title: Re: ENIGMA R4
Post by: freezway on August 21, 2010, 08:40:32 PM
im getting 404's now... i can dl the pkg list.. but not the .deb
Title: Re: ENIGMA R4
Post by: RetroX on August 21, 2010, 08:51:12 PM
Yeah, they were still uploading.  It should work, now, though.
Title: Re: ENIGMA R4
Post by: freezway on August 21, 2010, 09:07:53 PM
Running it from the terminal lets it run, but from the menu it doesn't (ubuntu64)
It failed at compiling my game.
Code: [Select]
Building for mode (0)
Cleaning up from previous executions
Grabbing locals
Location in memory of structure: 0x412a32c0
File version: 600

Error: Incorrect version. File is too old for this compiler.COPYING SOME F*CKING RESOURCES:
Copying sprite names [0]
Copying sound names [1]
Copying background names [0]
Copying path names [kidding, these are totally not implemented :P] [0]
Copying script names [3]
Copying font names [kidding, these are totally not implemented :P] [0]
Copying timeline names [kidding, these are totally not implemented :P] [0]
Copying object names [1]
Copying room names [1]
SYNTAX CHECKING AND PRIMARY PARSING:
3 Scripts:
Parsed `ldx': 2 locals, 0 globals
Parsed `ldy': 2 locals, 0 globals
Parsed `myAbs': 1 locals, 0 globals
"Linking" scripts
`Linking' 3 scripts in 2 passes...
Completing script "Link"
Linking `ldx':
Linking `ldy':
Linking `myAbs':
Done.
1 Objects:
 racer: 12 events:
  Event[0]:   Parsing 1 sub-events:
Check `racer::create...Done. Starting parse...Done.
  Event[3]:   Parsing 1 sub-events:
Check `racer::step...Done. Starting parse...Done.
  Event[8]:   Parsing 1 sub-events:
Check `racer::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
Running make from `make'
Full command line: make Game GMODE=Run GFLAGS="-O3 -s" GLINKS="-lGL -lz -lopenal" GRAPHICS=OpenGL PLATFORM=xlib
----Make returned error 512------------------------------
Title: Re: ENIGMA R4
Post by: RetroX on August 21, 2010, 09:09:15 PM
Realised the menu error and fixed that; currently building new packages.  Also, the make error is because ENIGMA's actual source isn't working, not the package.
Title: Re: ENIGMA R4
Post by: freezway on August 21, 2010, 09:11:52 PM
ENIGMA is working! I just svn up'd and recompiled. It works fine.
Title: Re: ENIGMA R4
Post by: RetroX on August 21, 2010, 09:17:42 PM
Well, that's odd, because I was getting undefined errors under Arch. :/