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

General ENIGMA / Re: Recodes
« on: July 25, 2012, 04:02:36 PM »
The old parser was designed to bail on the first error. At first, it wasn't a problem, but as C++ continued to evolve and GCC continued to change, it was left unable to read the headers each time they were updated. Maintaining it became a pain in the ass. This new one takes a real beating, and still doesn't give up; plus, it gives us more information about the language, which opens the doors to giving us more tricks.

The number of advantages ENIGMA has over GM have declined since Yoyo started pulling budget out of the air to get code out. We're down to being faster and being free (and they're trying to threaten to get rid of the former advantage). I'm not interested in just being another Game Maker.

ENIGMA keeps getting bigger and better; we haven't launched a formal release because we really don't need one: People can check out the latest at any time. It's practically a release every time we commit. At some point, I will take the latest SVN version, package it up and mark it "stable" and go wave it at people. In the meantime, we'll stick with our Git revisions.

Announcements / Re: k done
« on: July 23, 2012, 07:03:09 PM »
If it broke, it was because the parser was not checking errors correctly at all, because the `variadic' field given to each parameter in memory was not initialized. While it's possible for what seemed like a regression to surface, it's a sharp statistical improbability.

Either way, I've pushed the version that initializes those fields, and sets them correctly.

Announcements / Re: k done
« on: July 23, 2012, 05:32:26 PM »
What I committed didn't break anything. It fixed your problem, revealing the next error it encountered while trying to parse your code.

I will commit the fix to the instance_nearest problem after I finish writing these diagnostic toString methods.

Announcements / Re: k done
« on: July 23, 2012, 11:45:15 AM »
That, I am looking into now. Median is the only function correctly identified to take variadic parameters. Due to issues in resolving ::, min, max, and choose are not read correctly. The bug in resolving median as variadic is ENIGMA's fault; I'll look into it after the other three read properly.

Announcements / Re: k done
« on: July 23, 2012, 11:15:17 AM »
Bear in mind, cheeseboy, I can very easily apply all the IP bans from the IRC here.

I have not touched sounds. If they don't work anymore, it has nothing to do with the parser. The parser only determines whether or not the sounds are functions. The other problems you are describing sound like an issue identifying locals, which was already fixed.

General ENIGMA / Re: Liberated Pixel Cup beta-entry
« on: July 22, 2012, 06:57:57 AM »
Pull requests are fine. Did you make any changes to the compiler, or just to the engine? I ask because ENIGMA is presently divided into two branches from my attempts at installing the new C parser, and the other branch could make it very difficult to auto-merge compiler changes, while only a little of the engine was changed.

Also, we sometimes go by "ENIGMA Development Environment."

Announcements / Re: k done
« on: July 21, 2012, 10:15:44 PM »
You make a great point, but let me offer this as a rebuttal: I'm lazy. I have higher priorities.

(Note from Ism: ftfy)

Announcements / k done
« on: July 21, 2012, 07:39:57 PM »
After some grueling moments of agony, I have the new system working—as far as I can tell—on Linux. TGMG is testing it for Mac, and then I guess I'll make it work on Windows and merge it in to the main branch.

I'm more concerned about Mac because, number one, its headers are older and very different, and number two, TGMG has a massive testing platform running on it which we can use for automated regression testing.

In other news, I fixed depth, too.

Proposals / Re: question: how to make an EXE?
« on: July 19, 2012, 10:23:35 PM »
The option that is supposed to work is "Compile." If it doesn't work, it's because IsmAvatar still doesn't add .exe to the end of the output name, but GCC does. You can fix that by adding .exe yourself.

I will add a Compile button with icon to the UI when I start doing Java dev.

General ENIGMA / Re: Liberated Pixel Cup beta-entry
« on: July 19, 2012, 10:19:51 PM »
Indeed, the game looks great. I was saving my comments for after I was able to run it, which I hope to be soon, but rest assured that the game looks great.

Oh, and as I mentioned, I would be happy to pull your changes. Though I must say, your use of the sprite max ID is concerning, as sprite IDs can become fragmented (hence the need for sprite_exists).

Issues Help Desk / Re: ENIGMA Shell crashes on Win 7 64-bit
« on: July 19, 2012, 12:06:28 AM »
For future reference of anyone else affected by this sort of issue:

Aergis was having trouble with the Radeon card described above while playing Skyrim, and so installed a third-party driver set to patch the issue. This patch knocked out all GL-based applications, including Blender and ENIGMA.

I encouraged Aergis to install the latest version of AMD's driver for the card, as it will likely fix both issues.

If you have this problem and have not tinkered with your graphics, post a new thread.

Issues Help Desk / Re: ENIGMA Shell crashes on Win 7 64-bit
« on: July 18, 2012, 10:24:01 PM »
Okay, from your specs, you should have absolutely everything you need to run ENIGMA successfully.

Anyway, GDB is the GNU debugger. It's proficient at finding the point at which programs die. Unfortunately, you have to know a few commands to be able to do it.

I'll try to give the step-by-step, but it'd be easier to walk you through over IRC.

  • First, download this version of Verlet, compiled with debugging symbols: You can technically build your own by selecting Debug from the ENIGMA menu and copying the executable out of the temporary files.
  • Next, open an msys bash shell. There should be a program under C:\MinGW\MSys\1.0\bin\ called "bash.exe" or similar. You may need to open it from a terminal.
  • Once the bash shell is open, input gdb "Verlet (Debug).exe" and press Enter. You may need to replace "Verlet (Debug).exe" with the full path to the program. A line starting with (gdb) should display.
  • Type run and press enter. The program should attempt to start.
  • From there, GDB will print the error that occurred, probably SIGSEGV (segmentation fault). If it does, type backtrace, or "bt" for short.
  • GDB should then output a list of functions on the call stack before the program exploded. Copy the contents of the terminal, and paste them to us (either here or on Pastebin.

If you have trouble copying text from the terminal, try right clicking the title bar and going to Edit->Select All/Copy.

Issues Help Desk / Re: ENIGMA Shell crashes on Win 7 64-bit
« on: July 18, 2012, 09:59:19 PM »
You are running Windows 7, 64bit, I presume? Is there anything notable about your Windows environment? Also, it might help if we knew what graphics card you used, and possibly some info from running dxdiag. Basically, computer specs might help.

Better yet, it would help if you could run a debug version of the program through GDB for us, so we have an idea of what is failing. Have you ever used GDB before?

Announcements / Re: wtf am I doing
« on: July 18, 2012, 12:55:21 AM »
So I fixed a couple problems that were silly typos on my account, and now I've run into a new one. This one is a genuine heisenbug. You see, upon calling a function, memory is corrupted to the degree that I cannot print the name of the scope I passed as a parameter. The interesting thing is, if I attempt to print the name myself (by hard-casting std::string to char* illegally), it magically works, temporarily. It completes the first cycle without segfault. This one is going to take more brainpower, so I think I'll sleep on it. Figuratively speaking, of course; I feel as though sleeping on ENIGMA right now would be akin to sleeping on a cloud made of red-hot needles covered in thorns and lemon juice.

Announcements / Re: wtf am I doing
« on: July 17, 2012, 10:52:39 PM »
All of my attempts to reproduce the crash from C++ have failed. Last crash was due to a stack overflow caused by G++ failing to optimize a tail call. I replaced it with a jump, and the change was fixed. This time, the crash is with the syntax checker, which never goes deeper than two function calls. And it's with the simplest code. Performing a syntax check on the code a causes a crash from LateralGM. I can check far more complicated code using the same function from C++ without issue. So what else is at play?

I will continue probing the issue. In the meantime, I may start fixing the remaining errors in JDI as well (none of which, again, result in segmentation fault or even leak memory).