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

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.

Function Peer Review / Instance Interface How-to
« on: September 09, 2010, 12:40:21 PM »
Some functions need to interface with the current instance or with all instances.
The new instance system I was singing praises about for so long offers a simple interface to do this.

To fetch the currently active instance, use
Code: [Select]
Code: [Select]
int instance_destroy()
  return 0;

Iterating instances is about as easy.
As I've said, ENIGMA uses a unified iterator class. The class contains two members of concern; a pointer to the instance (guaranteeing only id and object_index members) and a pointer to the next iterator. If at any point the pointer is NULL, iteration is over.

An iterator can be fetched by an integer just like in EDL by using enigma::fetch_inst_iter_by_int(obj).

Code: [Select]
int instance_find(int obj, int num)
  int nth=0;
  for (enigma::inst_iter *it = enigma::fetch_inst_iter_by_int(obj); it != NULL; it = it->next)
    if (nth>num)
    return (int) it->inst->id;
  return noone;

A system has not yet been added to manipulate locals that are not guaranteed (such as health).
Variables that are key parts of the system (such as x and y) are included in different tiers of ENIGMA's instance system. The lowest tier is collisions, implementing bbox_* variables, and solid. The graphics tier implements such variables as sprite_index and image_index (which may eventually be removed as its use seems to indicate that placing it in system tiers is unnecessary). x,y, speed, direction, hspeed, and vspeed are implemented in the tier below that. Variables id and object_index are implemented in the bottommost tier.

Function Peer Review / Function Peer Review Board
« on: September 09, 2010, 12:24:09 PM »
Greetings, all.

This board was added with the completion (However temporary) of ENIGMA's C++ Definitions resource.

Using this resource, users can add their own C++ functions and types to ENIGMA, or include them from other headers.

This board is for users who wish to share their C++ function sets, and perhaps even include them in the specification. If you meet developer peer review, and your function is included in the Game Maker spec, it will almost certainly be added.

Basic board rules apply. No flaming; every contribution or attempt at a contribution, however poor or inefficient, is welcome.
A sad cry of a stab in the dark at implementing a function may even provoke a developer to implement it correctly and add it in.


Issues Help Desk / Re: Common Incompatibilities
« on: September 09, 2010, 09:19:30 AM »
Haha! The problem is (yes, entirely my fault) that the code is in fact, too short. I'll fix it now, but I'm waiting for a fix from Ism before I commit to the Stable repo. Presently, LGM is breaking on update.

Polygone: I've fixed your other two bug reports as well, but you'll need to wait for the commit before LGM can update to them.

Issues Help Desk / Re: Common Incompatibilities
« on: September 09, 2010, 08:42:26 AM »
The repeat statement doesn't really do anything but count... It's probably something inside it that's crashing.
Indeed, the repeat statement works fine here. I'll investigate the break; issue.