[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Enigma-devel] Enigma

From: Ronald Lamprecht
Subject: Re: [Enigma-devel] Enigma
Date: Mon, 05 Jul 2010 21:18:45 +0200
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv: Gecko/20100512 Thunderbird/3.0.5


Am 30.06.2010 20:36, schrieb Simon Salvatore:
My name is Simon. I have recently been working on my own level for the
Enigma game and was wondering a little thing about the game. Namely, I
was wondering how the different classes interact. For example, I noticed
that the main.cc calls the startup.lua to initialize the variables for
levels, but I was wondering how the XML files for the levels come into
the equation.

main.cc initializes the application and the resources, but it does not participate in the loading of levels at all. BTW startup.lua is just an outdated application configuration file, that is still present for backward compatibility. The 1.10 version of this file is nearly empty.

The level loading starts in server.cc in

  load_level(lev::Proxy *levelProxy, bool isRestart)

The proxy is preinitialised with all level attributes known by the levelpack index. The proxy handels the complex task of loading the level from any of the many different sources - plain file or entry in a zip, local of located on a http, ftp server, 1.00++ XML format or plain lua format of 0.92. In 1.10 proxy is able to handle multilevel files like Sokoban packages, too. On loading of a level the proxy updates any outdated XML index attributes, preloading of required librarys and executing the level lua code ...

In addition, I was wondering if any of the developers of
Enigma have some sort of class diagram to illustrate the interaction
between classes. I ask this out of personal curiosity. Thanks in advance
for your reply.

I am not aware that someone did invest the time that would be necessary to generate a diagram of all class interactions. Anyway Enigma is still in the process of a major reengineering. Just automatically generated documentation would be useful.

All documentation concerning the gaming objects is included in the 1.10 refman, which is about 433 pages of detailed description.

Some technical object classes introduced by myself are document in Javadoc style.

For source code analyse I recommend the usage of Eclipse CDT.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]