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 - RetroX

Proposals / Fix Wiki Namespaces
« on: August 17, 2011, 03:24:09 PM »
None of you know how to wiki.

Someone should read this and fix the pages.

Nested namespaces don't work.

General ENIGMA / Re: Reaccessing goals/aims
« on: August 17, 2011, 12:25:29 PM »
a2h: It would be nice to, eventually, have a skin that's actually properly designed.  It's annoying that a load of pages exist but are not linked, such as

It would be best to work off of SMF's default theme instead of core. :V

Proposals / Re: GM Compatibility Resolver
« on: August 14, 2011, 11:18:19 AM »
IMO, whenever that you load a GM project instead of an ENIGMA project, it should ask to fix it for compatibility, noting that if you save, the changes can't be reverted.

And in addition, if you try to save as a GM project, add a warning that says that it might not work in GM.

Proposals / Re: Animated tiles/tilesets
« on: August 08, 2011, 09:12:00 AM »
If you're going to have an animation order, that might as well apply to sprites, too.  It overcomplicates things, but avoids extra space being wasted for duplicate frames.

Proposals / Remove GLU dependency
« on: July 31, 2011, 01:07:35 PM »
Currently, the only two functions from it that are used are gluLookAt and gluPerspective.  I also see a line with gluBuild2DMipmaps that is commented out, but it's really not necessary.

Both of these functions can be replicated with basic GL calls.  Currently, they are only used in GSd3d.h and GSd3d.cpp.

General ENIGMA / Dependency List
« on: July 31, 2011, 12:58:55 PM »
Because so many people ask for it.

Dependencies for Ubuntu:

Dependencies for Arch Linux:

General ENIGMA / Re: Stuph
« on: July 31, 2011, 11:56:49 AM »
event_user is very useful.  It should be implemented. :P

Issues Help Desk / Re: Compile Errors
« on: July 31, 2011, 11:52:51 AM »
ENIGMA's in active development, and because some of the developers do not adequately test before committing, you may have to use a previous revision.

Announcements / Re: Overdue Update
« on: July 25, 2011, 07:59:56 PM »
Question: Would it be possible, at some point, to have a command-line compiler for GMKs, or for ENIGMA projects (whenever that we get our own format)?

Or rather, would it be possible to at least invoke LGM via command-line to do this?  All of the code's already there; even if it requires a graphical environment, it's still nice to be able to batch-compile things.

Proposals / Re: Script Editor Features
« on: July 19, 2011, 12:49:49 PM »
Indenting should be possible with Tab and Shift+Tab.  At least, via preference.

Function Peer Review / Re: "Choose" statement
« on: July 11, 2011, 12:45:07 PM »
Bump because I thought of a better idea.

Parse choose(x, y, z...) to choose({x, y, z...}).

And have some code:
Code: [Select]
template<unsigned n> inline double choose(double vals[n])
  return vals[random(n)];

EDIT: Fix the [tt] tag. :/

General ENIGMA / Re: Questions on EDL and ENIGMA
« on: July 10, 2011, 05:28:43 PM »
You would not have asked, not would not of asked.

"would not of asked" makes no sense at all.

Function Peer Review / Re: "Choose" statement
« on: July 08, 2011, 09:03:13 PM »
It is possible to do choose() with variadic templates, but probably not very efficiently:

Code: [Select]
template<typename... types>
  double choose(types... vals)
    return choose_impl(random(sizeof...(vals)), vals...);

template<typename... types>
  double choose_impl(unsigned counter, double head, types... vals)
    return counter == 0 ? head : choose_impl(counter - 1, vals...);

Untested, but should work.  And requires the -std=gnu++0x flag.  Also will give very odd errors if you have arguments that can't cast to double.

Function Peer Review / Re: "Choose" statement
« on: July 04, 2011, 11:53:55 AM »
pigeonhole each of the options, then choose one with random(n). This is a simple but somewhat inefficient way to do it.

A more efficient way to do it would be the same way we plan on implementing max, which also isn't implemented at this point.

max(a) = a
max(a,b) = a > b ? a : b;
max(a,b,c) = max(a,max(b,c));
max(a,b,c,d) = max(a,max(b,max(c,d)))

likewise, instead of doing the > comparator for the secondary base case, you'd simply do a random() > 0.5 type of thing.
I don't get how this is more efficient.

Java is awful because it splits classes apart with shitty keywords.

An interface only has pure virtual (abstract) functions and multiple interfaces can be inherited.
An abstract function can contain mixed pure virtual (abstract) functions and only one can be inherited.
All non-abstract functions are virtual.

Under C++, you can inherit multiple classes, you can have some virtual functions and you can have some pure virtual functions.

C++ is so hard!!!!!111!!11!!!!!