FIFE  2008.0
modules.h
00001 /***************************************************************************
00002  *   Copyright (C) 2005-2008 by the FIFE team                              *
00003  *   http://www.fifengine.de                                               *
00004  *   This file is part of FIFE.                                            *
00005  *                                                                         *
00006  *   FIFE is free software; you can redistribute it and/or                 *
00007  *   modify it under the terms of the GNU Lesser General Public            *
00008  *   License as published by the Free Software Foundation; either          *
00009  *   version 2.1 of the License, or (at your option) any later version.    *
00010  *                                                                         *
00011  *   This library is distributed in the hope that it will be useful,       *
00012  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00013  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
00014  *   Lesser General Public License for more details.                       *
00015  *                                                                         *
00016  *   You should have received a copy of the GNU Lesser General Public      *
00017  *   License along with this library; if not, write to the                 *
00018  *   Free Software Foundation, Inc.,                                       *
00019  *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA          *
00020  ***************************************************************************/
00021 
00022 #ifndef FIFE_MODULES_H
00023 #define FIFE_MODULES_H
00024 
00025 // Standard C++ library includes
00026 
00027 // 3rd party library includes
00028 
00029 // FIFE includes
00030 // These includes are split up in two parts, separated by one empty line
00031 // First block: files included from the FIFE root src directory
00032 // Second block: files included from the same folder
00033 
00036 enum logmodule_t {
00037     LM_CORE = -1,
00038     LM_AUDIO,
00039     LM_CONTROLLER,
00040     LM_EVTCHANNEL,
00041     LM_GUI,
00042     LM_CONSOLE,
00043     LM_LOADERS,
00044     LM_NATIVE_LOADERS,
00045     LM_FO_LOADERS,
00046     LM_MODEL,
00047     LM_STRUCTURES,
00048     LM_INSTANCE,
00049     LM_LOCATION,
00050     LM_METAMODEL,
00051     LM_CELLGRID,
00052     LM_SQUAREGRID,
00053     LM_HEXGRID,
00054     LM_PATHFINDER,
00055     LM_UTIL,
00056     LM_POOL,
00057     LM_VFS,
00058     LM_VIDEO,
00059     LM_VIEW,
00060     LM_CAMERA,
00061     LM_VIEWVIEW,
00062     LM_XML,
00063     LM_EXCEPTION,
00064     LM_SCRIPT,
00065     LM_MODULE_MAX // sentinel
00066 };
00067 
00071 #define MODULE_INFO_RELATIONSHIPS \
00072     ModuleInfo moduleInfos[] = { \
00073         {LM_AUDIO, LM_CORE, "Audio"}, \
00074         {LM_CONTROLLER, LM_CORE, "Controller"}, \
00075         {LM_EVTCHANNEL, LM_CORE, "Event Channel"}, \
00076         {LM_GUI, LM_CORE, "GUI"}, \
00077           {LM_CONSOLE, LM_GUI, "Console"}, \
00078         {LM_LOADERS, LM_CORE, "Loaders"}, \
00079           {LM_NATIVE_LOADERS, LM_LOADERS, "Native loaders"}, \
00080           {LM_FO_LOADERS, LM_LOADERS, "Fallout loaders"}, \
00081         {LM_MODEL, LM_CORE, "Model"}, \
00082           {LM_STRUCTURES, LM_MODEL, "Structures"}, \
00083             {LM_INSTANCE, LM_STRUCTURES, "Instance"}, \
00084             {LM_LOCATION, LM_STRUCTURES, "Location"}, \
00085           {LM_METAMODEL, LM_MODEL, "Metamodel"}, \
00086             {LM_CELLGRID, LM_METAMODEL, "Cellgrid"}, \
00087             {LM_SQUAREGRID, LM_METAMODEL, "Squaregrid"}, \
00088             {LM_HEXGRID, LM_METAMODEL, "Hexgrid"}, \
00089         {LM_PATHFINDER, LM_CORE, "Pathfinder"}, \
00090         {LM_UTIL, LM_CORE, "Util"}, \
00091           {LM_POOL, LM_UTIL, "Pool"}, \
00092         {LM_VFS, LM_CORE, "VFS"}, \
00093         {LM_VIDEO, LM_CORE, "Video" }, \
00094         {LM_VIEW, LM_CORE, "View"}, \
00095           {LM_CAMERA, LM_VIEW, "Camera"}, \
00096           {LM_VIEWVIEW, LM_VIEW, "View::View"}, \
00097         {LM_XML, LM_CORE, "XML"}, \
00098         {LM_EXCEPTION, LM_CORE, "Exception"}, \
00099         {LM_SCRIPT, LM_CORE, "Script"} \
00100     };
00101 
00102 #endif