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

Announcements / WHAT IS THIS I DON'T EVEN
« on: April 25, 2010, 12:06:21 PM »
Most of the progress reports have been going on at ENIGMA's composed-due-to-popular-opinion IRC channel on Freenode, #enigma-dev.
However, I figure it's a good idea to post what's been happening here as well.

Several bugs between platforms have been found, isolated, and corrected. ENIGMA now operates correctly on every Windows version and Linux distro on which it has been tested thus far. That includes mostly Ubuntu 9.xx and Windows XP, Vista, and 7. I could not test on 98 due to Code::Blocks not starting and me being too lazy to do anything about that. :P

Further, the fixed bugs include the following:
- Some string fixes (waiting for Ism's confirmation)
- x() being randomly defined as a function due to ## mishandling
- Freezing on XP if sprite load fails (which it always does for now)
- Variable overlap on systems where sizeof(size_t) != sizeof(unsigned)
- Failure to load function names for syntax check due to any of the above
- Many smaller things that just needed dealt with

Things that still need to be fixed:
- Minuscule memory leak during C parsing: I will run Valgrind when this is the most pressing of my concerns

Things that need done in general:
- Makeflies need written: I've learned enough make (it was surprisingly easy) and will do this next
- Sprites need added to exe after build: This couldn't be done without the makefile
- Pieces of R3 need salvaged now that the rest seems stable; these include script "linking" and build mode.
- Some pieces of individual graphics systems and window systems need moved to a parent file in ../ to simplify further implementation
- There are at least ten "TODO:" notes lying around the project.

I'm content to leave ENIGMA in the SVN for a while longer, but can probably put out the zip file for those who for some reason do not like operating on a direct line to updates.
Perhaps Ism can implement something to call a quick makefile in CompilerSource in order to allow for easy distribution... I will discuss that with her shortly.

I believe I did. Though it was a little after my time...

"I just clicked the Buid and Run button, Enigma compiled and LGM run."
I "..."'d for a moment before I remembered I set it up to do that. XD

"Found it, the bastard was named ENIGMAengine for some reasons. It works, but it's not fun.

The dot doesn't move until I mouse over it, unlike the gm clown which kept movin."
Didn't realize that constituted fun... :P

The 11th plague of Egypt--
If you install MinGW right to C:\, both ENIGMA and Code::Blocks should detect it. If Code::Blocks doesn't detect it, just reinstall it (Code::Blocks). If it still doesn't detect it, feel free to give up. ENIGMA will be done soon enough.

I don't really "need" new testers, as it seems most of what will break has broken on the three platforms I now have access to, but a "yeah, it works!" is always nice to hear.

Proposals / Re: position_destroy()
« on: April 22, 2010, 01:12:46 PM »
I don't believe it does; and if that's the case, I'm not implementing that in ENIGMA. Functions that are used (especially heavily, which position_destroy may not be) in GM should seek to execute the exact functionality as quickly as possible. No one has made use of a return value for that function; adding one will only slow things down (if not by much). If it were truly useful, though, I'd consider it; I don't see how that's the case when int a = instance_count; position_destroy(); show_message(instance_count - a); is an option.

whenever i use window_set_caption() it  doesn't throw errors.... or do anything....
I used the room_caption variable. My guess is window_set_caption isn't fully implemented or gets overwritten with room_caption.

I try my best to warn people about this; unfortunately it can hardly apply to either of you because you're on Linux.
If it doesn't work in ENIGMA, and you think it should, be sure it works in GM. You are correct that it gets overwritten with room_caption, Ism. This is the behavior of GM, also. The function room_set_caption() is useful only when a script is looping for a long time and needs some way of outputting a percentage.

There's no bug here, and no need for printf(); just use room_caption as people do in GM.

Proposals / Re: position_destroy()
« on: April 21, 2010, 09:31:24 PM »

Proposals / Re: position_destroy()
« on: April 21, 2010, 08:10:03 PM »
Now if only that code was more of a function and less of a script. :P

Proposals / Re: position_destroy()
« on: April 21, 2010, 07:07:21 PM »
Now now, retep, he can edit R3 if he likes.
In actuality, neither code is correct. If I recall correctly, position_destroy() operates based on collision, not based solely on a precise position. Meaning that it'd do a collision_point-style test to determine if the instance is to be destroyed.

However, I still appreciate the effort. If more people showed this incentive, ENIGMA would be done in no time.

As far as adding it to R3, you can't; R3's with() isn't set up in such a way that it can work in plain C++ code (R4's may yet be, though). Don't worry, though; as soon as the collision system is in (and the new instance system, for that matter), I will implement this function.

General ENIGMA / Re: ENIGMA on iPhone - Now legally impossible
« on: April 20, 2010, 06:10:34 PM »
I Don't see how a private court would work. The two would have to consent to one, or it wouldn't be fair. You'd need a city court or something.
The entire operative mechanism behind civilized government is surrendering the right to enforce your own rights (actively; you retain the right to  self-defense) to the government, who will then use that authority to protect your rights for you. A private court seems more spontaneous; the poison-pie -baker and -eater would each want a court composed of different people. Who would decide that? You can't leave such to the capitalist (and for that matter, federalist) idea of "ambition to defeat ambition;" that system tends to work mostly on the larger scale.

Just my two cents; I would care to hear an explanation.

Seems you set lin-build's compiler to an incorrectly-set-up MinGW, instead of win-build's to a correctly-set-up one. :P
Either way, I'd prefer a new target be made for that, if any is to be made at all... I'd rather keep the C::B project for native compilations.

Cross compiling can be a fickle bitch. It's not so bad for Linux->Windows, but... Either way, that should be handled by ENIGMA and whatever makefile is ultimately called.

Announcements / Re: Things that are broke
« on: April 19, 2010, 10:54:52 PM »
Pause is fine for Windows. The terminal doesn't even open for bash files in Linux, so...

Is there a way to concatenate that variable into a path? "Graphics_Systems/" ## @GRAPHICS ## "/*.cpp" style?
Or, better yet, to include a second makefile from "Graphics_Systems/" ## @GRAPHICS ## "/" to promote easy extensibility?

Announcements / Re: Things that are broke
« on: April 19, 2010, 06:36:43 PM »
"approves everything that comes out of my mouth"
What about the stuff you type?

Have you recompiled the compiler lately? It's a good idea to do that each time you check out.

If every Linux distribution could run the same exe's, apt-get would be a thing of the past.
That's why everything on Linux is either open source or apt-get'd. This is another reason why a makefile would seriously help; one could be distributed along with the C++ source of the game to be built on any platform. Also, ENIGMA's site could eventually make it easy by having a changer script for specific operating systems, like Firefox and Chrome do. "Download now for <your OS here>." Would take some effort for that too, though, on our account and on the intermediary user. :P

Announcements / Re: Things that are broke
« on: April 19, 2010, 09:48:59 AM »
Those are for my parser. When it sees those, it dumps scope information. They can be removed now... Done.