[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:1.9.1.10) Gecko/20100512 Thunderbird/3.0.5 |
Hi,
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.
Greets
Ronald