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 / Re: Tentative Todo
« on: June 03, 2010, 01:58:53 PM »
it draws -something- of an ellipse. It's actually two parabolas stuck together, because serp doesn't believe in sqrt or trig.

Announcements / Tentative Todo
« on: June 03, 2010, 12:14:07 PM »
This is what's going on and what will be going on before release.

Current Todo:
  • Implement instance system (Currently working on)
  • Implement new var (has already been coded)
  • Resolve, once and for all, string() vs string, using a special property of macros. (#define string(x) toString(x))
  • Make some changes to the parsers to accommodate some of these and more:
    • Implement macros in the syntax check
    • Implement C++ operators scope resolve :: and template parameter pass <...>
    • Implement GML operators not equal <> , access . , and dynamic array subscript [...] .
    • Run a check on subscript passes to global variables
    • Finish implementing special treatment for variables declared as const.

What's just been done recently includes a fix on global declarations as well as testing of all drawing functions. Only draw_ellipse doesn't work, and I will fix that "soon."

Announcements / Re: Graduation
« on: June 03, 2010, 10:18:37 AM »
Because syntax check can't account for y/16 and x/16 not existing in the global scope. This is the closest thing to a "runtime error" you'll get in ENIGMA.

It may also be because I forgot to tell it to add "var" to globals with no such definition. :P

It is possible now that fixing this error is within my power. As in, making the syntax check error.

Proposals / Re: LGM Bug
« on: June 02, 2010, 02:08:33 PM »
I hadn't realized there was a problem with my SVN repository. For some reason, it reported that the directories were locked and refused to clean up. A clean checkout fixed both problems.

Proposals / LGM Bug
« on: June 02, 2010, 01:38:11 AM »
Too lazy to log in to Ism's forum on Vista laptop.

File corruption error with totally-LGM-made GM6:

Unhandled Exception:
org.lateralgm.file.GmFormatException - java.lang.NullPointerException: null

Stack trace:
javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
javax.swing.DefaultButtonModel.setPressed(Unknown Source)
javax.swing.AbstractButton.doClick(Unknown Source)
javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
java.awt.Component.processMouseEvent(Unknown Source)
javax.swing.JComponent.processMouseEvent(Unknown Source)
java.awt.Component.processEvent(Unknown Source)
java.awt.Container.processEvent(Unknown Source)
java.awt.Component.dispatchEventImpl(Unknown Source)
java.awt.Container.dispatchEventImpl(Unknown Source)
java.awt.Component.dispatchEvent(Unknown Source)
java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
java.awt.Container.dispatchEventImpl(Unknown Source)
java.awt.Window.dispatchEventImpl(Unknown Source)
java.awt.Component.dispatchEvent(Unknown Source)
java.awt.EventQueue.dispatchEvent(Unknown Source)
java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
java.awt.EventDispatchThread.pumpEvents(Unknown Source)
java.awt.EventDispatchThread.pumpEvents(Unknown Source) Source)

This was made with an older version of LGM; it may be a bug with the old one that is now corrected. Of course, I'm still seeing "Unhandled exception..." But I don't speak Javanese.

Proposals / Re: Recursion
« on: June 01, 2010, 05:48:29 PM »
No, most compiler writers just think that disallowing void main() is stupid.

Announcements / Re: Graduation
« on: June 01, 2010, 01:44:23 PM »
Indeed. If ENIGMA got what it wanted from MinGW, I have no idea why it would freeze. Perhaps it asked a bad question and Make paused for input. Does ENIGMA waste your CPU while it is frozen?

Also, what Windows version/processor architecture are you running? I've not tested ENIGMA on Win7, either bit depth. I can test on Win7 x64 if need be.

Announcements / Re: Graduation
« on: May 31, 2010, 03:29:51 PM »
MrJackSparrow: I've not yet heard that one. I'm in the middle of something large right now, but will commit soon enough; it may help if you join the IRC.

Retep: The problem is with your new configuration; Java is set up to run from its own working directory instead of from the directory of the Jar. I'm not sure how Ism could fix that without hacks.

Announcements / Re: Graduation
« on: May 31, 2010, 12:07:12 PM »
The vast majority of Linux ENIGMA users is on Ubuntu. The rest can probably figure out the name of the package on their platform.

Announcements / Graduation
« on: May 30, 2010, 11:05:55 AM »
Of me, not yet ENIGMA. I know many others are graduating about now; congratulations to all of you.

I figure I should repost the method of obtaining and compiling ENIGMA. Again, post bugs and concerns here. At least five individuals have successfully checked out and compiled; don't think that this isn't going to work if it fails a few times, just ask for help.

Instructions for obtaining and compiling the ENIGMA R4 public testing copy

IRC Channel
ENIGMA has an IRC channel set up on Freenode. Predictably, it is called #enigma-dev. This link may take you there.

Procedure in general is as follows: (Subject to revision; pay attention)
Note: This is only for people who wish to test but do not wish to wait for "stable test," meaning "at least moderately workable pile of fail."

No recent revisions


If you are on Windows, do the following:
- Install an SVN client (either the command line version, or a visual one like RapidSVN or Tortoise)
- Install Code::Blocks ( ) unless you know how to use Make and will put up with outdated makefiles.
- After checking out the SVN (see "Getting ENIGMA"), If this file does not exist, copy it to ENIGMAsystem/additional/zlib/:

If you are on Linux, you will need the following packages:
- g++
- libgl1-mesa-dev (or similar)
- zlib1g-dev (SHOULD be installed already, but Ism's wasn't)
- codeblocks
- svn / rapidsvn / tortoise
- Java (I -strongly- recommend sun-java6-jre)

Getting ENIGMA to Work

Getting ENIGMA

- Check out the SVN repository via the most applicable of the following:
--- From command line, you will use  svn co enigma-dev )
--- From RapidSVN, go to the Repository menu, and select Checkout. Provide the URL, and specify where you want it downloaded.
- The above will begin downloading ENIGMA. Let it finish.
- Go to ./trunk/
- Go to ./CompilerSource/
- Build it with your choice of these two:
--- From Code::Blocks
------- Open the Code::Blocks project. Find the drop down box that likely reads "Release." If you're on Linux, set it to "Release-Linux."
------- Hit compile (blue gear)
--- With Make
------- Your make is either called `make` or `mingw32-make`; call it with your OS name as the target. For example, `make windows` or `make linux`.
------- Make shouldn't error, but is more likely to than C::B; if it does, post here.
- Done, go back up to Trunk

Running ENIGMA Itself (LGM)

- Run LateralGM, best done with a terminal via "java -jar lateralgm16b4.jar" -- This terminal should have +++++++++++++ at the bottom.
--- If it does not, or if that errors, paste output here. If you compiled with Make, that's probably why.
------ If the terminal errors that java is not a valid application, then you are on Windows.
------ Find "java.exe" and add its directory to your PATH variable from the control panel.
- Make something simple (like a single object drawing a graded circle; that's what I've been using as a preliminary test)
- Under the "Enigma" menu, hit "Run"
- Check the terminal window (the one I hope you used to run LGM) for syntax errors.
--- If there is one that you don't think is correct, post it here. (I'm currently developing the syntax checker).
- Your code has now been secretly translated to C++ behind your back.
- If all went successfully, your game should launch.

Testing the Game You Just "Ran"

ENIGMA should run your game for you. If it does not, and you see no errors in the terminal window, you can do the following:

-Open trunk/ENIGMAsystem/SHELL/ENIGMAengine.cbp in Code::Blocks
-Select your OS from the dropdown box once more (Debug is faster to build, release will run fastest)
-Press Compile
---If anything errors and you think you followed the above correctly, right click the error list, select "Copy Contents to Clipboard," and paste them all here.
-Press run.
---If it doesn't behave as expected, describe what went wrong here.

What now?

Repeat the step starting at "Make something simple" until you're sick of finding bugs.
The most immediate concern is that everyone can achieve a simple circle.

Common Errors

error: ‘instdata’ was not declared in this scope
--This means you did not actually create a game from LGM (By clicking "Run") before trying to compile it, the compile failed due to syntax errors, or you restarted LGM in the meantime. It isn't really an error.

- SvnKit missing, corrupted, or unusable. Please download and place next to the enigma plugin in order to enable auto-update.
---This is not an error. It is a warning thrown by Enigma.jar, warning you that it's not able to update itself if you don't have SvnKit. Of course, Enigma doesn't need to update itself.

- Unable to load plugin: SvnKit.jar: null: Missing plugin entry point (LGM-Plugin)
- Unable to load plugin: jna.jar: null: Missing plugin entry point (LGM-Plugin)
---These are not errors. They are warnings thrown by LGM indicating that it can't load those files as LGM Plugins -- because they *aren't* LGM Plugins! Basically these are just reminders to the devs that we shouldn't just throw every darned file we need access to in the Plugins folder >_<

Announcements / Re: Documentation
« on: May 27, 2010, 10:34:52 PM »
Rusky: Actually, that does look okay. Set at 90%.


Issues Help Desk / Re: Error
« on: May 27, 2010, 06:50:43 PM »
I already said it didn't.

Announcements / Re: Documentation
« on: May 26, 2010, 10:28:54 PM »
Pleased to report that the layout no longer sucks in Webkit-based browsers (namely, Chrome, Safari). In fact, now it no longer sucks in Firefox, either.

Proposals / Re: Recursion
« on: May 26, 2010, 04:21:43 PM »
</thread>'; void 0

Announcements / Re: Documentation
« on: May 26, 2010, 04:07:08 PM »
Luis: This isn't the format for function documentation; only for system overviews and philosophical goo.