Advertisement
pouar

Untitled

Jan 24th, 2014
324
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.22 KB | None | 0 0
  1. --- a/src/lipsofsuna/render/font/font.cpp
  2. +++ b/src/lipsofsuna/render/font/font.cpp
  3. @@ -27,12 +27,17 @@
  4. #include "lipsofsuna/system.h"
  5. #include "../internal/render.hpp"
  6. #include "font.h"
  7. -#include <OgreFont.h>
  8. -#include <OgreFontManager.h>
  9. #include <OgrePass.h>
  10. #include <OgreStringConverter.h>
  11. #include <OgreTechnique.h>
  12. #include <OgreTextureUnitState.h>
  13. +#if OGRE_VERSION_MAJOR >= 1 && OGRE_VERSION_MINOR >= 9
  14. +#include <Overlay/OgreFont.h>
  15. +#include <Overlay/OgreFontManager.h>
  16. +#else
  17. +#include <OgreFont.h>
  18. +#include <OgreFontManager.h>
  19. +#endif
  20.  
  21. struct _LIFntFont
  22. {
  23. --- a/src/lipsofsuna/render/internal/render-mesh-builder.cpp
  24. +++ b/src/lipsofsuna/render/internal/render-mesh-builder.cpp
  25. @@ -376,7 +376,7 @@
  26. /* Create the skeleton. */
  27. Ogre::String name (render->id.next ());
  28. Ogre::ResourcePtr resource = Ogre::SkeletonManager::getSingleton ().create (name, LIREN_RESOURCES_TEMPORARY, true);
  29. - Ogre::SkeletonPtr skeleton (resource);
  30. + Ogre::Skeleton* skeleton = (Ogre::Skeleton*) resource.getPointer ();
  31.  
  32. /* Create the dummy bone. */
  33. bone = skeleton->createBone (0);
  34. --- a/src/lipsofsuna/render/internal/render.cpp
  35. +++ b/src/lipsofsuna/render/internal/render.cpp
  36. @@ -36,7 +36,6 @@
  37. #include "../overlay/render-overlay-manager.hpp"
  38. #include <OgreCompositorManager.h>
  39. #include <OgreEntity.h>
  40. -#include <OgreFontManager.h>
  41. #include <OgreMeshManager.h>
  42. #include <OgrePlugin.h>
  43. #include <OgreShadowCameraSetupLiSPSM.h>
  44. @@ -114,7 +113,7 @@
  45. camera->setAspectRatio (w / h);
  46.  
  47. /* Initialize the user interface. */
  48. - overlay_mgr = new LIRenOverlayManager ();
  49. + overlay_mgr = new LIRenOverlayManager (this);
  50.  
  51. /* Create the group for temporary resources. */
  52. /* This group is used for temporary resources such as meshes or
  53.  
  54.  
  55. --- a/src/lipsofsuna/render/internal/render.hpp
  56. +++ b/src/lipsofsuna/render/internal/render.hpp
  57. @@ -24,7 +24,6 @@
  58. #include <OgreRoot.h>
  59. #include <OgreCamera.h>
  60. #include <OgreMaterialManager.h>
  61. -#include <OgreOverlayManager.h>
  62. #include <OgreRenderWindow.h>
  63. #include <OgreRenderSystem.h>
  64. #include <OgreSceneManager.h>
  65. --- a/src/lipsofsuna/render/overlay/render-base-overlay.hpp
  66. +++ b/src/lipsofsuna/render/overlay/render-base-overlay.hpp
  67. @@ -19,7 +19,7 @@
  68. #define __RENDER_INTERNAL_BASE_OVERLAY_HPP__
  69.  
  70. #include "lipsofsuna/system.h"
  71. -#include <OgreOverlayElement.h>
  72. +#include "render-overlay.hpp"
  73.  
  74. class LIRenBaseOverlay
  75. {
  76. --- a/src/lipsofsuna/render/overlay/render-container-factory.hpp
  77. +++ b/src/lipsofsuna/render/overlay/render-container-factory.hpp
  78. @@ -19,8 +19,8 @@
  79. #define __RENDER_INTERNAL_CONTAINER_FACTORY_HPP__
  80.  
  81. #include "lipsofsuna/system.h"
  82. +#include "render-overlay.hpp"
  83. #include "render-container.hpp"
  84. -#include <OgreOverlayElementFactory.h>
  85.  
  86. class LIRenContainerFactory : public Ogre::OverlayElementFactory
  87. {
  88. --- a/src/lipsofsuna/render/overlay/render-container.cpp
  89. +++ b/src/lipsofsuna/render/overlay/render-container.cpp
  90. @@ -26,7 +26,6 @@
  91.  
  92. #include "render-container.hpp"
  93. #include <OgreHardwareBufferManager.h>
  94. -#include <OgreOverlayManager.h>
  95.  
  96. #define MAX_VERTEX_COUNT 1024
  97. --- a/src/lipsofsuna/render/overlay/render-container.hpp
  98. +++ b/src/lipsofsuna/render/overlay/render-container.hpp
  99. @@ -19,8 +19,8 @@
  100. #define __RENDER_INTERNAL_CONTAINER_HPP__
  101.  
  102. #include "lipsofsuna/system.h"
  103. +#include "render-overlay.hpp"
  104. #include "render-base-overlay.hpp"
  105. -#include <OgrePanelOverlayElement.h>
  106.  
  107. class LIRenContainer : public Ogre::PanelOverlayElement
  108. {
  109. --- a/src/lipsofsuna/render/overlay/render-image-overlay-factory.hpp
  110. +++ b/src/lipsofsuna/render/overlay/render-image-overlay-factory.hpp
  111. @@ -19,8 +19,8 @@
  112. #define __RENDER_INTERNAL_IMAGE_OVERLAY_FACTORY_HPP__
  113.  
  114. #include "lipsofsuna/system.h"
  115. +#include "render-overlay.hpp"
  116. #include "render-image-overlay.hpp"
  117. -#include <OgreOverlayElementFactory.h>
  118.  
  119. class LIRenImageOverlayFactory : public Ogre::OverlayElementFactory
  120. {
  121. --- a/src/lipsofsuna/render/overlay/render-image-overlay.hpp
  122. +++ b/src/lipsofsuna/render/overlay/render-image-overlay.hpp
  123. @@ -20,7 +20,11 @@
  124.  
  125. #include "lipsofsuna/system.h"
  126. #include "render-base-overlay.hpp"
  127. +#if OGRE_VERSION_MAJOR >= 1 && OGRE_VERSION_MINOR >= 9
  128. +#include <Overlay/OgreOverlayElement.h>
  129. +#else
  130. #include <OgreOverlayElement.h>
  131. +#endif
  132.  
  133. class LIRenImageOverlay : public LIRenBaseOverlay, public Ogre::OverlayElement
  134. {
  135. --- a/src/lipsofsuna/render/overlay/render-overlay-manager.cpp
  136. +++ b/src/lipsofsuna/render/overlay/render-overlay-manager.cpp
  137. @@ -31,12 +31,17 @@
  138. #include "render-scaled-overlay-factory.hpp"
  139. #include "render-text-overlay-factory.hpp"
  140.  
  141. -LIRenOverlayManager::LIRenOverlayManager ()
  142. +LIRenOverlayManager::LIRenOverlayManager (LIRenRender* render)
  143. {
  144. /* Allocate the overlay dictionary. */
  145. overlays = lialg_u32dic_new ();
  146. if (overlays == NULL)
  147. throw;
  148. +
  149. +#if OGRE_VERSION_MAJOR >= 1 && OGRE_VERSION_MINOR >= 9
  150. + overlay_system = new Ogre::OverlaySystem ();
  151. + render->scene_manager->addRenderQueueListener (overlay_system);
  152. +#endif
  153.  
  154. /* Add the overlay factories. */
  155. overlay_manager = &(Ogre::OverlayManager::getSingleton ());
  156. --- a/src/lipsofsuna/render/overlay/render-overlay-manager.hpp
  157. +++ b/src/lipsofsuna/render/overlay/render-overlay-manager.hpp
  158. @@ -19,7 +19,8 @@
  159. #define __RENDER_OVERLAY_OVERLAY_MANAGER_HPP__
  160.  
  161. #include "lipsofsuna/algorithm.h"
  162. -#include <OgreOverlayManager.h>
  163. +#include "lipsofsuna/render.h"
  164. +#include "render-overlay.hpp"
  165.  
  166. class LIRenContainerFactory;
  167. class LIRenImageOverlayFactory;
  168. @@ -29,7 +30,7 @@
  169. class LIRenOverlayManager
  170. {
  171. public:
  172. - LIRenOverlayManager ();
  173. + LIRenOverlayManager (LIRenRender* render);
  174. ~LIRenOverlayManager ();
  175.  
  176. // FIXME
  177. @@ -40,6 +41,9 @@
  178. LIRenImageOverlayFactory* image_factory;
  179. LIRenScaledOverlayFactory* scaled_factory;
  180. LIRenTextOverlayFactory* text_factory;
  181. +#if OGRE_VERSION_MAJOR >= 1 && OGRE_VERSION_MINOR >= 9
  182. + Ogre::OverlaySystem* overlay_system;
  183. +#endif
  184. };
  185.  
  186. #endif
  187. --- a/src/lipsofsuna/render/overlay/render-overlay.cpp
  188. +++ b/src/lipsofsuna/render/overlay/render-overlay.cpp
  189. @@ -537,7 +537,12 @@
  190. }
  191.  
  192. /* Create a new material. */
  193. +#if OGRE_VERSION_MAJOR >= 1 && OGRE_VERSION_MINOR >= 9
  194. + self->render->material_manager->load (matname, group);
  195. + material = self->render->material_manager->getByName (matname);
  196. +#else
  197. material = self->render->material_manager->load (matname, group);
  198. +#endif
  199. lisys_assert (!material.isNull ());
  200. material->setSceneBlending (Ogre::SBT_TRANSPARENT_ALPHA);
  201.  
  202. --- a/src/lipsofsuna/render/overlay/render-overlay.hpp
  203. +++ b/src/lipsofsuna/render/overlay/render-overlay.hpp
  204. @@ -19,7 +19,17 @@
  205. #define __RENDER_OVERLAY_OVERLAY_HPP__
  206.  
  207. #include "lipsofsuna/math.h"
  208. -#include <OgreOverlay.h>
  209. +#include "lipsofsuna/render/internal/render.hpp"
  210. +#if OGRE_VERSION_MAJOR >= 1 && OGRE_VERSION_MINOR >= 9
  211. +#include <Overlay/OgreOverlaySystem.h>
  212. +#include <Overlay/OgreOverlayManager.h>
  213. +#include <Overlay/OgreOverlayElementFactory.h>
  214. +#include <Overlay/OgrePanelOverlayElement.h>
  215. +#else
  216. +#include <OgreOverlayManager.h>
  217. +#include <OgreOverlayElementFactory.h>
  218. +#include <OgrePanelOverlayElement.h>
  219. +#endif
  220.  
  221. class LIRenContainer;
  222. class LIRenOverlayManager;
  223. --- a/src/lipsofsuna/render/overlay/render-scaled-overlay-factory.hpp
  224. +++ b/src/lipsofsuna/render/overlay/render-scaled-overlay-factory.hpp
  225. @@ -19,8 +19,8 @@
  226. #define __RENDER_INTERNAL_SCALED_OVERLAY_FACTORY_HPP__
  227.  
  228. #include "lipsofsuna/system.h"
  229. +#include "render-overlay.hpp"
  230. #include "render-scaled-overlay.hpp"
  231. -#include <OgreOverlayElementFactory.h>
  232.  
  233. class LIRenScaledOverlayFactory : public Ogre::OverlayElementFactory
  234. {
  235. -- a/src/lipsofsuna/render/overlay/render-scaled-overlay.hpp
  236. +++ b/src/lipsofsuna/render/overlay/render-scaled-overlay.hpp
  237. @@ -19,6 +19,7 @@
  238. #define __RENDER_INTERNAL_SCALED_OVERLAY_HPP__
  239.  
  240. #include "lipsofsuna/system.h"
  241. +#include "render-overlay.hpp"
  242. #include "render-image-overlay.hpp"
  243.  
  244. class LIRenScaledOverlay : public LIRenImageOverlay
  245. --- a/src/lipsofsuna/render/overlay/render-text-overlay-factory.hpp
  246. +++ b/src/lipsofsuna/render/overlay/render-text-overlay-factory.hpp
  247. @@ -19,8 +19,8 @@
  248. #define __RENDER_INTERNAL_TEXT_OVERLAY_FACTORY_HPP__
  249.  
  250. #include "lipsofsuna/system.h"
  251. +#include "render-overlay.hpp"
  252. #include "render-text-overlay.hpp"
  253. -#include <OgreOverlayElementFactory.h>
  254.  
  255. class LIRenTextOverlayFactory : public Ogre::OverlayElementFactory
  256. {
  257. --- a/src/lipsofsuna/render/overlay/render-text-overlay.hpp
  258. +++ b/src/lipsofsuna/render/overlay/render-text-overlay.hpp
  259. @@ -20,8 +20,11 @@
  260.  
  261. #include "lipsofsuna/system.h"
  262. #include "render-base-overlay.hpp"
  263. -#include <OgreOverlayElement.h>
  264. +#if OGRE_VERSION_MAJOR >= 1 && OGRE_VERSION_MINOR >= 9
  265. +#include <Overlay/OgreTextAreaOverlayElement.h>
  266. +#else
  267. #include <OgreTextAreaOverlayElement.h>
  268. +#endif
  269.  
  270. class LIRenTextOverlay : public LIRenBaseOverlay, public Ogre::TextAreaOverlayElement
  271. {
  272. --- a/wscript
  273. +++ b/wscript
  274. @@ -92,6 +92,7 @@
  275. conf.check_ogre()
  276. conf.check_ogre_plugindir()
  277. conf.check_ogre_terrain()
  278. + conf.check_ogre_overlay()
  279. conf.check_ois()
  280. conf.check_xlib()
  281. if Options.options.sound:
  282. @@ -528,6 +529,30 @@
  283. conf.fatal('Could not find OGRE-Terrain')
  284.  
  285. @conf
  286. +def check_ogre_overlay(conf):
  287. + conf.start_msg('Checking for package OGRE-Overlay')
  288. + conf.env.stash()
  289. + if conf.check_cfg(package='OGRE-Overlay', atleast_version='1.9.0', args='--cflags --libs', mandatory=False, uselib_store='OGRE'):
  290. + conf.end_msg('pkg-config OGRE-Overlay')
  291. + return
  292. + conf.env.revert()
  293. + conf.env.stash()
  294. + if conf.check_cxx(lib='OgreOverlay', mandatory=False, uselib='TEST', uselib_store='OGRE') and\
  295. + conf.check_cxx(header_name='Overlay/OgreOverlay.h', mandatory=False, uselib='TEST', uselib_store='OGRE', fragment='''
  296. + #include <stdio.h>
  297. + int main() { printf(""); return 0; }'''):
  298. + conf.end_msg('library OgreOverlay')
  299. + return
  300. + conf.env.revert()
  301. + conf.env.stash()
  302. + if conf.check_cfg(package='OGRE', atleast_version='1.9.0', args='--cflags --libs', mandatory=False, uselib_store='OGRE'):
  303. + conf.env.revert()
  304. + conf.end_msg(False)
  305. + conf.fatal('Could not find OGRE-Overlay')
  306. + return
  307. + conf.end_msg('OGRE built-in')
  308. +
  309. +@conf
  310. def check_ois(conf):
  311. conf.start_msg('Checking for package OIS')
  312. conf.env.stash()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement