Sunday, March 27, 2011

Graphic creation technique finished!



The content of this video is just me testing the AbstractAnimatedGraphic class.
The graphicfile used for this animation is the following:



The animation is just yoshi, turning around his own axis.
In the video you can see that it is possible to regulate the animationspeed by
key pressing (well you can't see the actual key press).
This feature could be used for fancy slow-motion effects ;)

I also just finished the graphic creation factory.
My engine will support 2 different graphic modes.
  1. Pure SDL (DirectDraw under Windows)
  2. OpenGL
When the function getNewGraphic() from the class "GraphicFactory" get's called,
the engine will check specific configuration flags (which you can change on runtime)
to determine the derived type of the returned AbstractGraphic object (AbstractGraphic is the class that SDLObject and OpenGLObject inherit from).All created graphicObjects are saved to an list to support easy conversion on the fly if the user wants to switch the graphics mode during gameplay.

It's time to sleep now.
I had to work the whole weekend and didn't got much sleep.

Thursday, March 24, 2011

Character designer ready!

I've just finished the character designer I started 3 hours ago.

Now I can easily create new GameActors with specific actions/animations and states for my engine.

Sunday, March 20, 2011

Rendering of levels complete!

I just finished the part of my engine where the levels that got created with the leveleditor gets rendered.
















The left window with the black background is ingame and right window is the leveleditor.

Wednesday, March 16, 2011

Qt Base64 encoding in non Qt application

Hello internet!

Today I'd like to share my experience with you I made today while trying to
decode an Base64 encoded (via Qt) string in a application that does not use Qt (and so does not use Qt for Base64 decoding).

After trying 3 Base64 libraries I though that I have to write the Base64 decoding on my own. Fortunately I found this library a few minutes ago.

Turns out that this library is capable of decoding Base64 string which were created with the Qt Base64 encoding function.

Sunday, March 13, 2011

Got you!

Ha! Just got that error from my last post fixed.
As I postet before (Exactly here)
I'm linking the MFC staticly to my projects to prevent the users from installing the Visual Studio runtimes if they want to play my future games.

Turns out that if I set the MFC linkage to 'dynamicly' everything works fine.
They now share the same 'STL Pool'.

The only remaining question now is what's about the vs runtimes now? :-/
I guess I have to figure that out tomorrow...

Good night, internet.

Sometime I just hate C++

Sometimes I just hate C++.

Like now...
I made a class called "FileAgent", this class has the following method:
 std::string FileAgent::createTmpFile( std::string &content) 

This method creates a temporary file with a random name.
It returns the name of the temporary file and puts a newly created object "FileHandle" in a list where all temporary files gets managed and deleted if they have surved they purpose.

Sounds great, doesn't it?...

I just wanted to test the function before going to sleep, but it turns out that SOMEHOW it is not possible to return an std::string from an DLL to an Executable.

I then tried to return the filename as a c string but that also didn't worked so well (the filename looked like shit).

I guess I have to redesign that somehow to make it work...Damnit...

Thursday, March 10, 2011

New video of the current state (finally!)

I finally managed it to create and upload a new video of the current state of the leveleditor. As you can see, I added several new features like the toolbar (on the left - with the ugly icons ;) ), multilayer drawing, event creation and several other things.



I once again recommend to watch it in fullscreen.

Wednesday, March 9, 2011

DOM Xml parsing don't do's #1

 root.appendChild(root); 


The line above caused confusion, anger and frustation.
Time to sleep, I guess.

I also would like to apologize for not writing the last month.
I had and still have a lot of work to do (not related to the leveleditor or engine).

We'll get a new ERP System at work in the next weeks (preperation is going on currently) , I need to learn for my final exams and I need to start my finish paper.