1 // Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
2 // Copyright (C) 2010 Winch Gate Property Limited
4 // This source file has been modified by the following contributors:
5 // Copyright (C) 2014 Jan BOON (Kaetemi) <jan.boon@kaetemi.be>
7 // This program is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU Affero General Public License as
9 // published by the Free Software Foundation, either version 3 of the
10 // License, or (at your option) any later version.
12 // This program is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU Affero General Public License for more details.
17 // You should have received a copy of the GNU Affero General Public License
18 // along with this program. If not, see <http://www.gnu.org/licenses/>.
25 //----------------------------------------------------------------
27 //----------------------------------------------------------------
29 // this is up top because it contains a certain number of #pragmas to
30 // control compiler warnings with stlport
32 #include "nel/misc/types_nl.h"
35 //----------------------------------------------------------------
44 //----------------------------------------------------------------
61 //----------------------------------------------------------------
64 #include "nel/misc/common.h"
65 #include "nel/misc/debug.h"
66 #include "nel/misc/command.h"
67 #include "nel/misc/variable.h"
68 #include "nel/misc/sheet_id.h"
69 #include "nel/misc/entity_id.h"
70 #include "nel/misc/file.h"
71 #include "nel/misc/path.h"
72 #include "nel/misc/time_nl.h"
73 #include "nel/misc/random.h"
74 #include "nel/misc/smart_ptr.h"
76 #include "nel/misc/vector_2d.h"
77 #include "nel/misc/vectord.h"
79 #include "nel/net/message.h"
80 #include "nel/net/unified_network.h"
83 #include "nel/ligo/ligo_config.h"
84 #include "nel/ligo/primitive.h"
85 #include "nel/ligo/primitive_configuration.h"
88 //----------------------------------------------------------------
90 #include "nel/net/service.h"
91 //----------------------------------------------------------------
94 #define FOREACH(__itvar,__conttype,__contvar) \
95 for (__conttype::iterator __itvar(__contvar.begin()),__itvar##end(__contvar.end()); __itvar!=__itvar##end; ++__itvar)
97 #define FOREACH_NOINC(__itvar,__conttype,__contvar) \
98 for (__conttype::iterator __itvar(__contvar.begin()),__itvar##end(__contvar.end()); __itvar!=__itvar##end;)
100 #define FOREACHC(__itvar,__conttype,__contvar) \
101 for (__conttype::const_iterator __itvar(__contvar.begin()),__itvar##end(__contvar.end()); __itvar!=__itvar##end; ++__itvar)
103 #define FOREACHC_NOINC(__itvar,__conttype,__contvar) \
104 for (__conttype::const_iterator __itvar(__contvar.begin()),__itvar##end(__contvar.end()); __itvar!=__itvar##end; )
108 :public NLMISC::CRefCount
113 virtual ~CStringWriter()
115 virtual void append(const std::string
&str
) = 0;
118 class CTrashStringWriter
119 :public CStringWriter
122 CTrashStringWriter(NLMISC::CLog
*log
=NLMISC::InfoLog
)
124 virtual ~CTrashStringWriter()
126 void append(const std::string
&str
)
130 class CLogStringWriter
131 :public CStringWriter
134 CLogStringWriter(NLMISC::CLog
*log
=NLMISC::InfoLog
)
137 virtual ~CLogStringWriter()
139 void append(const std::string
&str
)
145 _Log
->displayNL(str
.c_str());
151 class CArrayStringWriter
152 :public CStringWriter
155 CArrayStringWriter(std::vector
<std::string
> &stringVector
)
156 :_StringVector(stringVector
)
158 virtual ~CArrayStringWriter()
160 void append(const std::string
&str
)
162 _StringVector
.push_back(str
);
164 std::vector
<std::string
> &_StringVector
;
168 namespace MULTI_LINE_FORMATER
{
169 void pushTitle(std::vector
<std::string
>& container
, std::string
const& text
);
170 void pushEntry(std::vector
<std::string
>& container
, std::string
const& text
);
171 void pushFooter(std::vector
<std::string
>& container
);
174 //----------------------------------------------------------------
177 #include "game_share/ryzom_entity_id.h"
178 #include "game_share/mode_and_behaviour.h"
179 #include "game_share/player_visual_properties.h"
180 #include "ai_share/ai_event.h"
181 #include "server_share/msg_ai_service.h"
183 //----------------------------------------------------------------
187 #include "ai_share/ai_share.h"
188 #include "ai_share/ai_types.h"
189 #include "ai_share/ai_alias_description_node.h"
190 #include "ai_share/ai_event_description.h"
191 #include "ai_share/ai_coord.h"
192 #include "ai_share/ai_vector.h"
193 #include "ai_share/angle.h"
194 #include "ai_share/world_map.h"
197 # ifndef NL_COMP_MINGW
200 # include <windows.h>
201 #endif // NL_OS_WINDOWS