Blog Archives

Scripting is Fully Functional

In an earlier post, I have written that I have implemented Lua script support in the engine. Now it reached its full power since I have added a proper callback mechanism to it. It makes possible for the triggers in the engine to call user specified Lua functions on firing. Unfortunately, SWIG does not help to implement such callbacks, so I had to do it by myself.

Read the rest of this entry

Porting Back to Linux II.

This post is the second part of another I posted earlier.

The detection of uninitialized class members is one of  of my recurring problems with C++. The language standard does not guarantee anything about member variables so I should initialize them myself. Unfortunately, VC++ compiler does not warn me if I forget to initialize a class member variable, even if I set the highest warning level. GCC detects this kind of sloppiness and reports them to me keenly, making great improvements in code quality. Furthermore, GCC goes one step beyond and warns me if the initialization order differs from the declaration order (see Effective C++ about this).
Read the rest of this entry

Porting Back to Linux I.

Motivation

Several weeks ago I have taken over a small C project from my colleague. This project was almost totally unrelated to computer graphics or game development, and it was cancelled later, but it ran on Linux, so I had to install Linux on my computer. Aside from the compatibility problems of different Ubuntu releases with my old ATI card, and not counting the six fruitless attempts to get a working Linux on my machine, it was a pleasant task for me because it recalled some old memories about the early days of the engine development. The engine coding was started on Linux originally, but I am developing it under Windows for long time.

So the project gave me the idea to port my game engine from Windows back to Linux again, or at least to see that whether it still compiled. So I copied the Makefile from the old Linux version and the sources from the Windows version, fired up Emacs, my old favorite editor, and started to wrestle with the compiler… 🙂 Read the rest of this entry