Archive for the ‘Level Master 2000’ category

Using PushButton Engine with Flex4

May 15th, 2010

I recently upgraded to Flex4 SDK. Before that everything worked fine. After that, I had some compiler errors, and a quick research brought to me that I had to add

-static-link-runtime-shared-libraries=true

to the additional compiler options. Doing some more in depth research, I discovered that this isn’t neccessary with a newer version of FlashDevelop – and I can confirm: it’s true =)
After the update procedure, everything compiled fine in debug mode. In release mode, it compiled too, but I got a runtime error: “VerifyError: Error #1024: Stack underflow occurred”. Again, investigating this error on the web, I stumbled over http://bugs.adobe.com/jira/browse/ASC-2266. The piece of code causing this, looked like so:

conn = new LocalConnection();
conn.client = this;
conn.allowDomain('*');
try {
	conn.connect("_SchemaConnection");
} catch (error:ArgumentError) {
	trace("Can't connect to _SchemaConnection");
}

So as you can see, it’s not the same as in the link above. I started commenting out line by line, and then I discovered, that it was the trace call. Replacing it with a Logger call finally fixed the error:

Logger.print(this, "Can't connect to _SchemaConnection");

I guess we’ll just put that on the unsolved mysteries stack ;)

Milestone 1: accomplished!

May 3rd, 2010

And that on time :) For Level Master 2000, this means:

All implemented. For my thesis this means: written a first version of chapter 3: overview of rapid prototyping tools. As posted recently, it’s in German, but I’ll port it over to English as soon as possible!

Level Master 2000 – Log view update

April 26th, 2010

It’s time for another Level Master 2000 development update again. I recently updated the log view, so that I can filter the log messages. Currently, I support:

  • Info
  • Warning
  • Error
  • Debug command

It should be quite self-explanatory, except for the Debug command: since the editor front end is Qt/C++, and the backend is Flash/AS3/Pushbutton Engine, I need to communicate between these apps. I do this via XML, and that’s basically what the debug command is. I can simply copy and paste these commands into my the Flash part of the app and now easily start debugging! I’ll post more about the communication flow in a few months, when I’m covering that in my thesis, until that, just enjoy the new logger view:

Level Master 2000: new log view

Level Master 2000: new log view

I also log to files: a normal log file, which contains all entries, and a command log file, which only contains the executed commands. This way I can easily reproduce possible error situations :)

Workspace and level management

April 5th, 2010

Level Master 2000 now has the possibility to switch between different workspaces (must lie within the application root though…seems like a flash restriction) and one can now save and load scenes! Before talking a lot, just take a look at the short video I setup:

Next on my todo list is creating undo/redo commands for creating and deleting entities and components. As soon as that’s done, milestone 1 for my thesis is finished! :)

MOCing around with vftable errors

March 26th, 2010

In case you ever do some Qt programming, and work with QObjects (needed for Qt’s signals and slots), you might run over a strange compiler error, something like “bla bla bla vftable bla bla” (sorry, but I don’t have the exact error message in my head…if I reproduce the error sometime, I’ll update my post).
The clue is, instead of searching for errors in your code, just delete all the MOC and other generated files, clean the solution and rebuild it.
The error should be gone…

Other than that, I really like Qt and Qt Creator. It simplifies life big time! At least as far as it can get with C++ (silent hoooorraayyy for C# ;) ).