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: Add a place for extra returns.
« on: September 13, 2010, 12:00:18 PM »
Then the exe size would skyrocket if it was actually used with multiple types. If a function absolutely needs to take double&, then it should. But these solutions seem a little overcomplicated for a simple multivalue return.

Announcements / Re: What's happening now
« on: September 13, 2010, 09:42:26 AM »
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.

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.

Proposals / Re: Add a place for extra returns.
« on: September 13, 2010, 09:25:54 AM »
Code: (EDL) [Select]
struct collision_result { double x, y; };
collision_result collision_line_ext(x,y,x2,y2,obj);


collision_result xy = collision_line_ext(x,y,o.x,o.y,wall);
x = xy.x; y = xy.y;

What luis was suggesting is passing x and y to be modified by reference. The problem with luis's idea is that now, the arguments MUST be double or var, they can't be int or anything or it'll throw a compile error.

Announcements / What's happening now
« 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.


Off-Topic / Re: Slow compile times for C++?
« on: September 12, 2010, 11:43:10 AM »
Oh, there's definitely room to be improved upon from C++. The language would be ten times better if they dumped most of the old, unneeded parts of the C spec. But to claim that a group of languages sharing on common trait is, in general, faster at compile, load, and run than languages of other groups, is asinine.

Off-Topic / Re: Slow compile times for C++?
« on: September 12, 2010, 10:22:08 AM »
Wow! Better compile AND load time?!
Still, they can't compete with C++'s sourceless residuum of grandeur.

 Works for me. I figure at some point I'll have to break down and add an if() for it, anyway.

Function Peer Review / Re: Instance Interface How-to
« on: September 10, 2010, 12:41:20 PM »
If you feel you can, go for it. I forget where I left off with backgrounds; they may or may not be loaded properly. See backgroundinit.cpp.

Looks like I left off after checking how many backgrounds there are. I can finish that file later today.

If you are operating from "Stable," I suggest you unzip and run again, marking "Trunk" and "I'm a dev, don't touch my changes."

If you check out from the trunk, you'll be informed of an update every time I commit something new.

Announcements / Re: ENIGMA R4
« on: September 10, 2010, 12:14:06 PM »
Heh, I suppose, but then we'd need to maintain a manifest of correct directories. Which is hard to decide on.

'fraid I have to deny those. They're unimplemented for a reason. Create a 48*48 sprite and try your functions; you won't like the results. But for power-of-two textures, that will work fine. See the issue?

Announcements / Re: ENIGMA R4
« on: September 10, 2010, 02:41:04 AM »
Plague: That's just Make stabbing at the dark to get what platform it's on. I'm not sure why it doesn't know that. But Windows doesn't support anything, so.

I'd need to see the other make error to know what's causing it.

What happens if you don't use run.bat? Can't find library? If so, Ism's working on that, I think.

Mac OS stuff comes with the Repo. I'm not sure what to do about that, really, since we decided to use SVN for updates, and SVN can't mark folders as being for a specific OS.

Issues Help Desk / Re: Common Incompatibilities
« on: September 10, 2010, 02:33:19 AM »
I can add a list_find_next() of some sort, plague. It will require a call to list_find_first(), and one at a time.

Function Peer Review / Re: draw_sprite_stretched_ext
« on: September 09, 2010, 05:01:02 PM »
That's just how it looks.
Seems to be like the others, so if you've tested that and it works, I'll add it now.

Function Peer Review / Re: Instance Interface How-to
« on: September 09, 2010, 04:05:39 PM »
HaRRiKiRi: You should just be able to use them as-is. The resource is included after the rest of the variables.

Issues Help Desk / Re: Common Incompatibilities
« on: September 09, 2010, 04:00:46 PM »
The outside room event can be edited in events.res. Open it in notepad, if you like.