Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Josh @ Dreamland

Proposals / Re: Forums - Users country info
« on: April 10, 2011, 10:18:02 PM »
Okay, let's see what that did.


Proposals / Re: Official Tutorials
« on: April 10, 2011, 10:06:33 PM »
You can compile for Linux on Linux, and on any other system, but you'd have to be insane to do it from Windows or OS X.  It's very difficult and annoying to do, and it's not worth it, because you can install any Linux-based OS for free and compile it and test it properly.  It'll be easier to do, too, rather than building the program from scratch by yourself.
This is why it's our job to make a patch (and distribute a third-party installer) that makes it easy for them.
But yeah, may never happen.

You can compile for OS X on a non-Mac OS, but running and testing on a non-Mac OS is illegal, basically ruining the point.
The idea is that if it compiles, it'll work the same. So they can test for Windows with Windows, then compile for Mac and trust it works.

Furthermore, yes, Windows is horrible, but it's our job as developers to hide that from the fragile userbase until Linux grows some stones (and, more importantly, some market share).

Proposals / Re: Official Tutorials
« on: April 08, 2011, 12:22:39 PM »
I'm becoming a fan of video tutorials; maybe YouTube will eventually be our friend. *creates account*
As for tutorials like click-the-clown, we have a nice plan for that.

Proposals / Re: Sprite Editor / Sound Editor
« on: April 08, 2011, 11:46:18 AM »
I can't speak for Ism on the matter (this is really her area), but I know a sprite editor has been a request and a to-do item for a long time. We're focusing on more technical aspects, especially with the high number of people that tell us they hate LGM and will use it only as an easy way of invoking ENIGMA.

The nice thing is that LGM gets along well with GIMP, and Ism has promised to allow setting your own external editor at some point in the near future.

Proposals / Re: LGM Find/Replace - Design Ideas
« on: April 08, 2011, 11:41:30 AM »
It means you're searching the name. If anyone selects a single sprite or background, they are retarded.

General ENIGMA / Re: First questions
« on: April 08, 2011, 11:34:53 AM »
Unfortunately, no. The new options panel has been on its feet for less than three cycles and TGMG hasn't surfaced in that time (or if he has, I wasn't there to greet him and help it through it).

But we're ready to make the three Apple platforms compile as soon as someone with access to them shows up to help.

Hey, and welcome to the ENIGMA board!

IsmAvatar said most of what needs said, but I should add a couple things, and, well, may as well go off on a huge tangent about where ENIGMA stands and how it works. ENIGMA can already compile on most platforms, and some consoles. The issue is getting it to work from one to another without massive modification. The way we have set up ENIGMA thus far, thanks in good part to its Java interface, is such that it can compile itself on any platform actually capable of running Java and a compiler (this is basically Windows, Linux, and MacOSX). On each of those platforms, you can of course compile and run your game. To compile for other platforms, you have to select them.

The issue is that the location of the compiler along with the libraries it uses varies impressively from platform to platform. That being the case, we have been developing a system that allows ENIGMA to keep track of where these compilers are and how it can interface with them on each platform the interface will run on (Windows, Linux, MacOSX). That being the case, you will need to set up compilers for those alternate systems, which we are working on automating.

So, say you set up ENIGMA on Windows. In its Windows compilers folder, it will make an entry, Compilers\Windows\gcc.ey (the default compiler). When you try to use ENIGMA, it will read that file to figure out how to interface with the GCC, which will tell ENIGMA exactly what it can do, and exactly what you can do as the user. If you want to compile for a different platform, you will, ideally, simply download an installer that sets up the compiler for your machine and places the configuration file in Compilers\Windows\ where ENIGMA can find it.

Using the same data files, the interface can determine what platforms are available to you to compile on. What this comes down to is the interface looking at all the files under .\Compilers\Windows\ and offering you choices based on what the files say they can compile for. So when you go to choose your compiler, the IDE roots through them, reading for the destination:
  • gcc.ey claims that it can compile for Windows and names itself the default, so LGM places it in the list and selects it.
  • devkitppc.ey claims that it can compile for Wii, so LGM lists "Wii" as well.
  • devkitarm.ey claims it can do NintendoDS, so LGM adds that.
  • xgccmac.ey claims it can compile for OS X, so LGM offers it.

At the moment, approximately half of the ENIGMA project actually acknowledges the existence of those files. So, even though TGMG has gotten ENIGMA to compile on MacOSX, iPhone, iPad, Android, the PSP, and even NintendoDS (I've not seen his NDS code, so don't quote me), he did so by making hard-coded modifications to the way ENIGMA's compiler processes things, because this system was not yet around. The changes he made aren't the kind that the IDE could just slap in, so what we have to do is re-implement them as vaguely as possible to allow the .ey files I mentioned above to be able to dictate them. For instance, to get it to work on iPhone, he had to write resources in a separate wad (NOT as part of the executable), which meant changing some four lines of code and recompiling. A simple if() based on what appears in iphone.ey could take its place. So, that's what we're working on next.

Anyway, sorry for the wall of text.

The short answer to your question is that, while ENIGMA is presently capable of compiling for all the platforms you mentioned and more, it will not be as easy as choosing them from a menu for another couple weeks.

As for JAR, like Ism said, ENIGMA compiles as C++. You'll find companies like Yahoo have other ways of embedding games in browsers (Yahoo games are largely C++), and ENIGMA can compile to the three major platforms anyway, so there isn't much advantage to running a fork that compiles to Java.

And as for HTML5... No, we'll let Yoyo fall off that cliff themselves, if they like. There's no advantage to using HTML5 over using Java, that I can see, other than it's "kinda neato," and as you can see, Sandy gets his knickers in a knot every time it's mentioned, probably due to the dilution of the project it would introduce and the impossibility of securing it.

Announcements / Re: Recent Events
« on: April 07, 2011, 09:38:31 AM »
Essentially nothing, though Ism's planning a find function for LGM. I've been engulfed in schoolwork (I'm taking 24 credit hours of classes, soon to be 15), so I haven't had much time to work on ENIGMA. I've not forgotten about your switch(), though.

I've been hoping TGMG would notice that Ism finished that options panel (so she says). Perhaps I'll have to deal with that myself, but for now, I have school things to do and am barely keeping up with things here.

It'll be over by next weekend.

Proposals / Re: LGM Find/Replace - Design Ideas
« on: April 07, 2011, 09:35:11 AM »
Or you could make a supermassive tree that shows all the resources in one place, along with the groups, and all the events under each object. So to search in the step events of obj_ground, you'd select Objects/Platforms/obj_ground/Step in the tree. Maybe you could put the tree in the main LGM pane, next to the MDI window.

...I'm proposing you just add events to the existing resource tree and allow selecting from that tree for the find function.

Issues Help Desk / Re: Function pointers
« on: March 28, 2011, 01:36:27 PM »
Currently, ENIGMA defines scripts as the actual functions inside each object scope. To correct this, the compiler must export the following:
Code: (C) [Select]
enum {
  script0 = 0,
  script1 = 1,
  // ...
variant SCR_script0(/*...*/)
  return 0;
variant SCR_script1(/*...*/)
  return 0;

#define script0(x...) SCR_script0(x)
#define script1(x...) SCR_script1(x)

variant execute_script(int scr, variant arg0 = 0 /* ... (all of these will be defined and defaulted) */)
   switch (scr)
       case 0: return SCR_script0(/* ... (The same number of parameters as the script max will be used) */);
       case 1: return SCR_script1(/* ...  */);

Issues Help Desk / Re: Troubles with mingw32-make
« on: March 28, 2011, 01:17:19 PM »
If Griggs thinks the problem is from running the Jar instead of the EXE, make sure you're trying ENIGMA.exe. The Jar seems to be run from Java's path rather than its own working directory.

Where did you obtain the source? If you checked out from the SVN, running ENIGMA.exe once is necessary (it actually performs some installation routines now). It will automatically install the latest version of MinGW, and write a configuration file to let ENIGMA know that it has been installed.

If you want to use the version you've installed now, you'll have to create your own config file under Compilers/Windows. Model it after the ones in MacOSX/ and Linux/.

Perhaps it would be better if we included a workable config file in the SVN...

Off-Topic / Re: Test
« on: March 28, 2011, 01:12:38 PM »
The third one looks best, but for legibility...

Issues Help Desk / Re: Build mode doesn't and has never worked for me.
« on: March 23, 2011, 11:16:20 AM »
There's no caps lock delay. It just stays on until you release the key, unlike in Windows.

Issues Help Desk / Re: Build mode doesn't and has never worked for me.
« on: March 22, 2011, 10:25:02 AM »
It wasn't. That build mode used WinAPI to construct the window. I started a set of widget functions not long ago to allow it to be implemented cross-platform; you'll see mention of it in the latest newspost; "and then I'm going to finish ENIGMA's widget functions, and reactivate R3's super cow powers."

Build mode was a powerful asset, but I'm focusing on the actual engine for now. It'll work again before May.

Announcements / Re: Recent Events
« on: March 22, 2011, 12:52:34 AM »
Nah, just take
Code: [Select]
    #include "Graphics_Systems/OpenGL/OPENGLStd.h"
    #include "Graphics_Systems/OpenGL/GSsprite.h"
    #include "Graphics_Systems/OpenGL/GSbackground.h"
    #include "Graphics_Systems/OpenGL/GSfont.h"
    #include "Graphics_Systems/OpenGL/GScurves.h"
and jam it all into "Graphics_Systems/OpenGL/include.h", then do the same for OpenGLES (Graphics_Systems/OpenGLES/include.h).

If you like, you can then place the
Code: [Select]
    #include "Graphics_Systems/OpenGL/include.h"
    #include "Graphics_Systems/OpenGLES/include.h"

Into its own header, "Preprocessor_Environment_Editable/apis.h". ENIGMA will eventually generate that file, sans the #ifs.

Announcements / Re: Recent Events
« on: March 21, 2011, 11:51:30 AM »
Possibly with a Diff patch; maybe I'll just give you commit privileges for it.