Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=e061d74d8e0ffe8f436008628bcc3a7253851972

commit e061d74d8e0ffe8f436008628bcc3a7253851972
Author: DeX77 <[email protected]>
Date:   Sat Nov 21 14:40:49 2015 +0100

Revert "smc-1.9-11-x86_64"

This reverts commit 519a9edede45ee69679770b652e6ac64464c9ad7.

diff --git a/source/games-extra/smc/FrugalBuild 
b/source/games-extra/smc/FrugalBuild
new file mode 100644
index 0000000..373dd90
--- /dev/null
+++ b/source/games-extra/smc/FrugalBuild
@@ -0,0 +1,42 @@
+# Compiling Time: 0.77 SBU
+# Maintainer: DeX77 <[email protected]>
+
+options+=('asneeded')
+
+pkgname=smc
+pkgver=1.9
+pkgrel=11
+pkgdesc="Secret Maryo Chronicles"
+_F_sourceforge_ext=".tar.bz2"
+_F_sourceforge_dirname="smclone"
+_F_sourceforge_realname="Secret Maryo Chronicles"
+Finclude sourceforge
+url="http://www.secretmaryo.org/";
+depends=('sdlimage' 'sdl_ttf' 'sdl_gfx>=2.0.19' 'sdl_mixer' 'cegui>=0.7.9' 
'freeglut' 'sdl' 'libglu')
+rodepends=('smc-music')
+makedepends=('boost>=1.58.0')
+groups=('games-extra')
+archs=('i686' 'x86_64')
+source=(${source[@]} smc-for-cegui-v0-7.diff boost1.patch boost2.patch)
+sha1sums=('9a4ec12c64378d804848357bf143755a98d14baa' \
+          'db09e10fe82525ab7e6c561748c6e44eff921834' \
+          'b3167cfd0a78e79bee91ffac2d277b86013c7aed' \
+          '717ce366ad7c257d8a1d324180fceb5664aaf1ac')
+
+_F_desktop_name="Secret Maryo Chronicles"
+_F_desktop_icon="/usr/share/smc/icon/window_32.png"
+_F_desktop_categories="Game;ArcadeGame;KidsGame;"
+
+build() {
+       Fcd
+       Fpatch smc-for-cegui-v0-7.diff
+       Fpatch boost1.patch
+       patch -Np1 --binary < ../boost2.patch || Fdie
+       ./autogen.sh || Fdie
+       LIBS+="-lX11 -lboost_system" ./configure --prefix=/usr || Fdie
+       make || Fdie
+       Fmakeinstall
+       Fdesktop2
+}
+
+# optimization OK
diff --git a/source/games-extra/smc/boost1.patch 
b/source/games-extra/smc/boost1.patch
new file mode 100644
index 0000000..a842391
--- /dev/null
+++ b/source/games-extra/smc/boost1.patch
@@ -0,0 +1,67 @@
+--- smc-1.9/src/core/filesystem/filesystem.cpp 2009-07-04 12:11:18.000000000 
+0200
++++ smc-1.9.new/src/core/filesystem/filesystem.cpp     2011-02-10 
13:00:42.310260022 +0100
+@@ -64,7 +64,7 @@
+
+ bool Dir_Exists( const std::string &dir )
+ {
+-      return fs::exists( fs::path( dir, fs::native ) );
++      return fs::exists( fs::path( dir ) );
+
+       /*struct stat file_info;
+
+@@ -89,7 +89,7 @@
+
+ bool Create_Directory( const std::string &dir )
+ {
+-      return fs::create_directory( fs::path( dir, fs::native ) );
++      return fs::create_directory( fs::path( dir ) );
+ }
+
+ size_t Get_File_Size( const std::string &filename )
+@@ -130,7 +130,7 @@
+ {
+       vector<std::string> valid_files;
+
+-      fs::path full_path( dir, fs::native );
++      fs::path full_path( dir );
+       fs::directory_iterator end_iter;
+
+       // load all available objects
+@@ -142,32 +142,32 @@
+                       if( fs::is_directory( *dir_itr ) )
+                       {
+                               // ignore hidden directories
+-                              if( dir_itr->path().leaf().find( "." ) == 0 )
++                              if( dir_itr->path().filename().native().find( 
"." ) == 0 )
+                               {
+                                       continue;
+                               }
+
+                               if( with_directories )
+                               {
+-                                      valid_files.push_back( dir + "/" + 
dir_itr->path().leaf() );
++                                      valid_files.push_back( 
dir_itr->path().native() );
+                               }
+
+                               // load all items from the sub-directory
+                               if( search_in_sub_directories )
+                               {
+-                                      vector<std::string> new_valid_files = 
Get_Directory_Files( dir + "/" + dir_itr->path().leaf(), file_type, 
with_directories );
++                                      vector<std::string> new_valid_files = 
Get_Directory_Files( dir_itr->path().native(), file_type, with_directories );
+                                       valid_files.insert( valid_files.end(), 
new_valid_files.begin(), new_valid_files.end() );
+                               }
+                       }
+                       // valid file
+-                      else if( file_type.empty() || 
dir_itr->path().leaf().rfind( file_type ) != std::string::npos )
++                      else if( file_type.empty() || 
dir_itr->path().filename().native().rfind( file_type ) != std::string::npos )
+                       {
+-                              valid_files.push_back( dir + "/" + 
dir_itr->path().leaf() );
++                              valid_files.push_back( dir_itr->path().native() 
);
+                       }
+               }
+               catch( const std::exception &ex )
+               {
+-                      printf( "%s %s\n", dir_itr->path().leaf().c_str(), 
ex.what() );
++                      printf( "%s %s\n", dir_itr->path().filename().c_str(), 
ex.what() );
+               }
+       }
diff --git a/source/games-extra/smc/boost2.patch 
b/source/games-extra/smc/boost2.patch
new file mode 100644
index 0000000..70c0e06
--- /dev/null
+++ b/source/games-extra/smc/boost2.patch
@@ -0,0 +1,51 @@
+--- smc-1.9/src/overworld/world_manager.cpp    2009-08-16 18:44:52.000000000 
+0200
++++ smc-1.9.new/src/overworld/world_manager.cpp        2011-02-10 
13:04:19.029260001 +0100
+@@ -111,14 +111,14 @@
+ void cOverworld_Manager :: Load_Dir( const std::string &dir, bool user_dir /* 
= 0 */ )
+ {
+       // set world directory
+-      fs::path full_path( dir, fs::native );
++      fs::path full_path( dir );
+       fs::directory_iterator end_iter;
+
+       for( fs::directory_iterator dir_itr( full_path ); dir_itr != end_iter; 
++dir_itr )
+       {
+               try
+               {
+-                      std::string current_dir = dir_itr->path().leaf();
++                      std::string current_dir = 
dir_itr->path().filename().native();
+
+                       // only directories with an existing description
+                       if( fs::is_directory( *dir_itr ) && File_Exists( dir + 
"/" + current_dir + "/description.xml" ) )
+@@ -145,7 +145,7 @@
+               }
+               catch( const std::exception &ex )
+               {
+-                      printf( "%s %s\n", dir_itr->path().leaf().c_str(), 
ex.what() );
++                      printf( "%s %s\n", dir_itr->path().filename().c_str(), 
ex.what() );
+               }
+       }
+ }
+Only in smc-1.9.new/src: utilities.o
+Only in smc-1.9.new/src: vector.o
+diff -ur smc-1.9/src/video/video.cpp smc-1.9.new/src/video/video.cpp
+--- smc-1.9/src/video/video.cpp        2011-02-10 13:06:45.880260001 +0100
++++ smc-1.9.new/src/video/video.cpp    2011-02-10 13:06:25.319259961 +0100
+@@ -735,7 +735,7 @@
+               {
+                       try
+                       {
+-                              fs::remove_all( fs::path( m_imgcache_dir, 
fs::native ) );
++                              fs::remove_all( fs::path( m_imgcache_dir ) );
+                       }
+                       // could happen if a file is locked or we have no write 
rights
+                       catch( const std::exception &ex )
+@@ -757,7 +757,7 @@
+       // no cache available
+       if( !Dir_Exists( imgcache_dir_active ) )
+       {
+-              fs::create_directories( fs::path( imgcache_dir_active + "/" 
GAME_PIXMAPS_DIR, fs::native ) );
++              fs::create_directories( fs::path( imgcache_dir_active + "/" 
GAME_PIXMAPS_DIR ) );
+       }
+       // cache available
+       else
diff --git a/source/games-extra/smc/smc-for-cegui-v0-7.diff 
b/source/games-extra/smc/smc-for-cegui-v0-7.diff
new file mode 100644
index 0000000..a99cbce
--- /dev/null
+++ b/source/games-extra/smc/smc-for-cegui-v0-7.diff
@@ -0,0 +1,437 @@
+diff -ur smc-1.9/configure.ac smc-1.9-b/configure.ac
+--- smc-1.9/configure.ac       2009-08-17 15:59:00.000000000 +0200
++++ smc-1.9-b/configure.ac     2011-01-19 00:43:37.809884881 +0100
+@@ -53,7 +53,7 @@
+       AC_MSG_ERROR([SDL_ttf library not found]))
+
+ # Check for the CEGUI library
+-PKG_CHECK_MODULES(CEGUI, CEGUI-OPENGL >= 0.5.0)
++PKG_CHECK_MODULES(CEGUI, CEGUI-OPENGL >= 0.7.0)
+ CPPFLAGS="$CPPFLAGS $CEGUI_CFLAGS"
+ LIBS="$LIBS $CEGUI_LIBS"
+
+diff -ur smc-1.9/src/core/editor.cpp smc-1.9-b/src/core/editor.cpp
+--- smc-1.9/src/core/editor.cpp        2009-08-13 17:11:42.000000000 +0200
++++ smc-1.9-b/src/core/editor.cpp      2011-01-19 00:44:46.734328121 +0100
+@@ -118,16 +118,10 @@
+       return tmp;
+ }
+
+-void cEditor_Item_Object :: draw( const CEGUI::Vector3 &position, float 
alpha, const CEGUI::Rect &clipper ) const
++void cEditor_Item_Object :: draw( CEGUI::GeometryBuffer &buffer, const 
CEGUI::Rect &targetRect, float alpha, const CEGUI::Rect *clipper ) const
+ {
+       // draw text
+-      list_text->draw( position, alpha, clipper );
+-}
+-
+-void cEditor_Item_Object :: draw( CEGUI::RenderCache &cache, const 
CEGUI::Rect &targetRect, float zBase, float alpha, const CEGUI::Rect *clipper ) 
const
+-{
+-      // draw text
+-      list_text->draw( cache, targetRect, zBase, alpha, clipper );
++      list_text->draw( buffer, targetRect, alpha, clipper );
+ }
+
+ void cEditor_Item_Object :: Draw_Image( void )
+@@ -533,12 +527,12 @@
+       if( editor_window->getXPosition().asRelative( 1 ) >= 0 )
+       {
+               // Listbox dimension
+-              float list_posy = listbox_items->getUnclippedPixelRect().d_top 
* global_downscaley;
+-              float list_height = 
listbox_items->getUnclippedPixelRect().getHeight() * global_downscaley;
++              float list_posy = listbox_items->getUnclippedOuterRect().d_top 
* global_downscaley;
++              float list_height = 
listbox_items->getUnclippedOuterRect().getHeight() * global_downscaley;
+               // Vertical ScrollBar Position
+               float scroll_pos = 
listbox_items->getVertScrollbar()->getScrollPosition() * global_downscaley;
+               // font height
+-              float font_height = CEGUI::FontManager::getSingleton().getFont( 
"bluebold_medium" )->getFontHeight() * global_downscaley;
++              float font_height = CEGUI::FontManager::getSingleton().get( 
"bluebold_medium" ).getFontHeight() * global_downscaley;
+
+               // draw items
+               for( unsigned int i = 0; i < listbox_items->getItemCount(); i++ 
)
+diff -ur smc-1.9/src/core/editor.h smc-1.9-b/src/core/editor.h
+--- smc-1.9/src/core/editor.h  2009-02-18 05:21:30.000000000 +0100
++++ smc-1.9-b/src/core/editor.h        2011-01-19 00:43:37.809884881 +0100
+@@ -62,8 +62,7 @@
+       */
+       virtual CEGUI::Size getPixelSize( void ) const;
+       // draw
+-      void draw( const CEGUI::Vector3 &position, float alpha, const 
CEGUI::Rect &clipper ) const;
+-      void draw( CEGUI::RenderCache &cache, const CEGUI::Rect &targetRect, 
float zBase, float alpha, const CEGUI::Rect *clipper) const;
++      void draw(CEGUI::GeometryBuffer& buffer, const CEGUI::Rect& targetRect, 
float alpha, const CEGUI::Rect* clipper) const;
+       // draw image
+       void Draw_Image( void );
+
+diff -ur smc-1.9/src/core/game_core.cpp smc-1.9-b/src/core/game_core.cpp
+--- smc-1.9/src/core/game_core.cpp     2009-08-16 18:44:42.000000000 +0200
++++ smc-1.9-b/src/core/game_core.cpp   2011-01-19 00:59:02.668958883 +0100
+@@ -265,7 +265,7 @@
+
+
+       // align text
+-      CEGUI::Font *font = CEGUI::FontManager::getSingleton().getFont( 
"bluebold_medium" );
++      CEGUI::Font *font = &CEGUI::FontManager::getSingleton().get( 
"bluebold_medium" );
+       // fixme : Can't handle multiple lines of text
+       float text_width = font->getTextExtent( text ) * global_downscalex;
+
+@@ -1182,7 +1182,7 @@
+       text_default->setText( gui_text );
+
+       // align text
+-      CEGUI::Font *font = CEGUI::FontManager::getSingleton().getFont( 
"bluebold_medium" );
++      CEGUI::Font *font = &CEGUI::FontManager::getSingleton().get( 
"bluebold_medium" );
+       float text_width = font->getTextExtent( gui_text ) * global_downscalex;
+
+       text_default->setWidth( CEGUI::UDim( 0, ( text_width + 15 ) * 
global_upscalex ) );
+@@ -1190,7 +1190,7 @@
+       text_default->moveToFront();
+
+       // set window height
+-      text_default->setHeight( CEGUI::UDim( 0, font->getFontHeight() * 
font->getFormattedLineCount( gui_text, text_default->getUnclippedInnerRect(), 
CEGUI::LeftAligned ) + ( 12 * global_upscaley ) ) );
++      text_default->setHeight( CEGUI::UDim( 0, font->getFontHeight() + ( 12 * 
global_upscaley ) ) );
+
+       while( draw )
+       {
+diff -ur smc-1.9/src/core/main.cpp smc-1.9-b/src/core/main.cpp
+--- smc-1.9/src/core/main.cpp  2009-05-12 10:36:04.000000000 +0200
++++ smc-1.9-b/src/core/main.cpp        2011-01-19 00:43:37.809884881 +0100
+@@ -444,13 +444,15 @@
+
+       if( pGuiSystem )
+       {
+-              delete pGuiSystem;
++              CEGUI::ResourceProvider* rp = pGuiSystem->getResourceProvider();
++              pGuiSystem->destroy();
+               pGuiSystem = NULL;
++              delete rp;
+       }
+
+       if( pGuiRenderer )
+       {
+-              delete pGuiRenderer;
++              pGuiRenderer->destroy( *pGuiRenderer );
+               pGuiRenderer = NULL;
+       }
+
+@@ -507,7 +509,7 @@
+               }
+               case SDL_VIDEORESIZE:
+               {
+-                      pGuiRenderer->setDisplaySize( CEGUI::Size( 
static_cast<float>(ev->resize.w), static_cast<float>(ev->resize.h) ) );
++                      pGuiSystem->notifyDisplaySizeChanged( CEGUI::Size( 
static_cast<float>(ev->resize.w), static_cast<float>(ev->resize.h) ) );
+                       break;
+               }
+               case SDL_KEYDOWN:
+diff -ur smc-1.9/src/gui/hud.cpp smc-1.9-b/src/gui/hud.cpp
+--- smc-1.9/src/gui/hud.cpp    2009-05-01 15:00:16.000000000 +0200
++++ smc-1.9-b/src/gui/hud.cpp  2011-01-19 00:43:37.816550365 +0100
+@@ -946,7 +946,7 @@
+               m_text_debug_text->setVisible( 1 );
+
+               // update position
+-              CEGUI::Font *font = CEGUI::FontManager::getSingleton().getFont( 
"bluebold_medium" );
++              CEGUI::Font *font = &CEGUI::FontManager::getSingleton().get( 
"bluebold_medium" );
+               float text_width = font->getTextExtent( gui_text ) * 
global_downscalex;
+
+               if( text_width > 800.0f )
+diff -ur smc-1.9/src/input/mouse.cpp smc-1.9-b/src/input/mouse.cpp
+--- smc-1.9/src/input/mouse.cpp        2009-04-24 21:16:58.000000000 +0200
++++ smc-1.9-b/src/input/mouse.cpp      2011-01-19 00:43:37.813217623 +0100
+@@ -432,17 +432,12 @@
+
+ void cMouseCursor :: Render( void ) const
+ {
+-      if( !m_active )
+-      {
++      CEGUI::MouseCursor *mouse = CEGUI::MouseCursor::getSingletonPtr();
++
++      if ( m_active == mouse->isVisible() )
+               return;
+-      }
+
+-      // Render CEGUI Mouse
+-      pGuiRenderer->setQueueingEnabled( 0 );
+-      CEGUI::MouseCursor *mouse = CEGUI::MouseCursor::getSingletonPtr();
+-      mouse->setVisible( 1 );
+-      mouse->draw();
+-      mouse->setVisible( 0 );
++      mouse->setVisible( m_active );
+ }
+
+ void cMouseCursor :: Update_Position( void )
+diff -ur smc-1.9/src/level/level_settings.cpp 
smc-1.9-b/src/level/level_settings.cpp
+--- smc-1.9/src/level/level_settings.cpp       2009-08-07 03:04:28.000000000 
+0200
++++ smc-1.9-b/src/level/level_settings.cpp     2011-01-19 01:06:59.064259070 
+0100
+@@ -163,8 +163,8 @@
+       editbox->setText( int_to_string( bg_color_2.blue ).c_str() );
+       // preview window
+       CEGUI::Window *window_background_preview = 
CEGUI::WindowManager::getSingleton().getWindow( "window_background_preview" );
+-      background_preview->Set_Pos_X( 
window_background_preview->getUnclippedPixelRect().d_left * global_downscalex, 
1 );
+-      background_preview->Set_Pos_Y( 
window_background_preview->getUnclippedPixelRect().d_top * global_downscaley, 1 
);
++      background_preview->Set_Pos_X( 
window_background_preview->getUnclippedOuterRect().d_left * global_downscalex, 
1 );
++      background_preview->Set_Pos_Y( 
window_background_preview->getUnclippedOuterRect().d_top * global_downscaley, 1 
);
+
+       Update_BG_Colors( CEGUI::EventArgs() );
+
+@@ -555,8 +555,8 @@
+
+       // set default rect
+       CEGUI::Window *window_background_preview = 
CEGUI::WindowManager::getSingleton().getWindow( "window_background_preview" );
+-      background_preview->m_rect.m_w = 
window_background_preview->getUnclippedPixelRect().getWidth() * 
global_downscalex;
+-      background_preview->m_rect.m_h = 
window_background_preview->getUnclippedPixelRect().getHeight() * 
global_downscaley;
++      background_preview->m_rect.m_w = 
window_background_preview->getUnclippedOuterRect().getWidth() * 
global_downscalex;
++      background_preview->m_rect.m_h = 
window_background_preview->getUnclippedOuterRect().getHeight() * 
global_downscaley;
+
+       if( !File_Exists( filename ) )
+       {
+diff -ur smc-1.9/src/objects/sprite.cpp smc-1.9-b/src/objects/sprite.cpp
+--- smc-1.9/src/objects/sprite.cpp     2009-04-18 09:55:06.000000000 +0200
++++ smc-1.9-b/src/objects/sprite.cpp   2011-01-19 00:43:37.813217623 +0100
+@@ -1663,7 +1663,7 @@
+       window_name->setText( name );
+       window_name->setTooltipText( tooltip );
+       // get text width
+-      CEGUI::Font *font = CEGUI::FontManager::getSingleton().getFont( 
"bluebold_medium" );
++      CEGUI::Font *font = &CEGUI::FontManager::getSingleton().get( 
"bluebold_medium" );
+       float text_width = 12 + font->getTextExtent( name ) * global_downscalex;
+       // all names should have the same width
+       if( text_width > m_editor_window_name_width )
+diff -ur smc-1.9/src/video/video.cpp smc-1.9-b/src/video/video.cpp
+--- smc-1.9/src/video/video.cpp        2009-07-04 11:46:56.000000000 +0200
++++ smc-1.9-b/src/video/video.cpp      2011-01-19 01:22:45.338524592 +0100
+@@ -103,15 +103,15 @@
+
+ /* *** *** *** *** *** *** *** CEGUI renderer fake class *** *** *** *** *** 
*** *** *** *** *** */
+
+-cFake_Renderer :: cFake_Renderer( void )
+-{
+-      d_identifierString = "Fake Renderer";
+-}
++//cFake_Renderer :: cFake_Renderer( void )
++//{
++//    d_identifierString = "Fake Renderer";
++//}
+
+-cFake_Renderer :: ~cFake_Renderer( void )
+-{
++//cFake_Renderer :: ~cFake_Renderer( void )
++//{
+
+-}
++//}
+
+ /* *** *** *** *** *** *** *** Video class *** *** *** *** *** *** *** *** 
*** *** */
+
+@@ -158,7 +158,7 @@
+       std::string log_dump_dir = "/dev/null";
+ #endif
+       // create fake system and renderer
+-      pGuiSystem = new CEGUI::System( new cFake_Renderer(), rp, NULL, NULL, 
"", log_dump_dir );
++      pGuiSystem = &CEGUI::System::create( *new cFake_Renderer(), rp, NULL, 
NULL, NULL, "", log_dump_dir );
+ }
+
+ void cVideo :: Delete_CEGUI_Fake( void ) const
+@@ -166,7 +166,7 @@
+       CEGUI::ResourceProvider *rp = pGuiSystem->getResourceProvider();
+       CEGUI::Renderer *renderer = pGuiSystem->getRenderer();
+
+-      delete pGuiSystem;
++      pGuiSystem->destroy();
+       pGuiSystem = NULL;
+       delete renderer;
+       delete rp;
+@@ -177,7 +177,7 @@
+       // create renderer
+       try
+       {
+-              pGuiRenderer = new CEGUI::OpenGLRenderer( 0, screen->w, 
screen->h );
++              pGuiRenderer = &CEGUI::OpenGLRenderer::create( CEGUI::Size( 
screen->w, screen->h ) );
+       }
+       // catch CEGUI Exceptions
+       catch( CEGUI::Exception &ex )
+@@ -186,10 +186,10 @@
+               exit( EXIT_FAILURE );
+       }
+
+-      /* create Resource Provider
+-       * no need to destroy it later since it is handled by the CEGUI renderer
+-      */
+-      CEGUI::DefaultResourceProvider *rp = 
static_cast<CEGUI::DefaultResourceProvider 
*>(pGuiRenderer->createResourceProvider());
++      pGuiRenderer->enableExtraStateSettings(true);
++
++      // create Resource Provider
++      CEGUI::DefaultResourceProvider *rp = new CEGUI::DefaultResourceProvider;
+
+       // set Resource Provider directories
+       rp->setResourceGroupDirectory( "schemes", DATA_DIR "/" GUI_SCHEME_DIR 
"/" );
+@@ -215,7 +215,7 @@
+       // create system
+       try
+       {
+-              pGuiSystem = new CEGUI::System( pGuiRenderer, rp, NULL, NULL, 
"", pResource_Manager->user_data_dir + "cegui.log" );
++              pGuiSystem = &CEGUI::System::create( *pGuiRenderer, rp, NULL, 
NULL, NULL, "", pResource_Manager->user_data_dir + "cegui.log" );
+       }
+       // catch CEGUI Exceptions
+       catch( CEGUI::Exception &ex )
+@@ -242,7 +242,7 @@
+       // load the scheme file, which auto-loads the imageset
+       try
+       {
+-              CEGUI::SchemeManager::getSingleton().loadScheme( 
"TaharezLook.scheme" );
++              CEGUI::SchemeManager::getSingleton().create( 
"TaharezLook.scheme" );
+       }
+       // catch CEGUI Exceptions
+       catch( CEGUI::Exception &ex )
+@@ -254,9 +254,7 @@
+       // default mouse cursor
+       pGuiSystem->setDefaultMouseCursor( "TaharezLook", "MouseArrow" );
+       // force new mouse image
+-      CEGUI::MouseCursor::getSingleton().setImage( 
&CEGUI::ImagesetManager::getSingleton().getImageset( "TaharezLook" )->getImage( 
"MouseArrow" ) );
+-      // hide CEGUI mouse always because we render it manually
+-      CEGUI::MouseCursor::getSingleton().hide();
++      CEGUI::MouseCursor::getSingleton().setImage( 
&CEGUI::ImagesetManager::getSingleton().get( "TaharezLook" ).getImage( 
"MouseArrow" ) );
+       // default tooltip
+       pGuiSystem->setDefaultTooltip( "TaharezLook/Tooltip" );
+       // create default root window
+@@ -553,7 +551,7 @@
+               pFont->Restore_Textures();
+
+               // send new size to CEGUI
+-              pGuiRenderer->setDisplaySize( CEGUI::Size( 
static_cast<float>(screen_w), static_cast<float>(screen_h) ) );
++              pGuiSystem->notifyDisplaySizeChanged( CEGUI::Size( 
static_cast<float>(screen_w), static_cast<float>(screen_h) ) );
+
+               // check if CEGUI is initialized
+               bool cegui_initialized = pGuiSystem->getGUISheet() != NULL;
+diff -ur smc-1.9/src/video/video.h smc-1.9-b/src/video/video.h
+--- smc-1.9/src/video/video.h  2009-07-04 10:49:50.000000000 +0200
++++ smc-1.9-b/src/video/video.h        2011-01-19 01:16:42.791283379 +0100
+@@ -23,7 +23,7 @@
+ #include "SDL_opengl.h"
+ // CEGUI
+ #include "CEGUI.h"
+-#include "RendererModules/OpenGLGUIRenderer/openglrenderer.h"
++#include <RendererModules/OpenGL/CEGUIOpenGLRenderer.h>
+
+ namespace SMC
+ {
+@@ -129,31 +129,100 @@
+       EFFECT_IN_AMOUNT
+ };
+
+-/* *** *** *** *** *** *** *** CEGUI renderer fake class *** *** *** *** *** 
*** *** *** *** *** */
++/* *** *** *** *** *** *** *** CEGUI renderer fake classes *** *** *** *** 
*** *** *** *** *** *** */
++// CEGUI 0.7.x requires more 'fake' classes than the 0.6.x version did...
++class cFake_GeometryBuffer : public CEGUI::GeometryBuffer
++{
++      void draw() const {}
++      void setTranslation(const CEGUI::Vector3&) {}
++      void setRotation(const CEGUI::Vector3&) {}
++      void setPivot(const CEGUI::Vector3&) {}
++      void setClippingRegion(const CEGUI::Rect&) {}
++      void appendVertex(const CEGUI::Vertex&) {}
++      void appendGeometry(const CEGUI::Vertex* const, CEGUI::uint) {}
++      void setActiveTexture(CEGUI::Texture*) {}
++      void reset() {}
++      CEGUI::Texture* getActiveTexture() const { return 0; }
++      CEGUI::uint getVertexCount() const { return 0; }
++      CEGUI::uint getBatchCount() const { return 0; }
++      void setRenderEffect(CEGUI::RenderEffect*) {}
++      CEGUI::RenderEffect* getRenderEffect() { return 0; }
++};
+
+-class cFake_Renderer : public CEGUI::Renderer
++class cFake_Texture : public CEGUI::Texture
++{
++public:
++      cFake_Texture() :
++        m_size(1, 1),
++        m_scaling(1, 1) {}
++
++      const CEGUI::Size& getSize() const { return m_size; }
++      const CEGUI::Size& getOriginalDataSize() const { return m_size; }
++      const CEGUI::Vector2& getTexelScaling() const { return m_scaling; }
++      void loadFromFile(const CEGUI::String&, const CEGUI::String&) {}
++      void loadFromMemory(const void*, const CEGUI::Size&, 
CEGUI::Texture::PixelFormat) {}
++      void saveToMemory(void*) {}
++
++private:
++      CEGUI::Size m_size;
++      CEGUI::Vector2 m_scaling;
++};
++
++class cFake_RenderTarget : public CEGUI::RenderTarget
+ {
+ public:
+-      cFake_Renderer( void );
+-      virtual ~cFake_Renderer( void );
++      cFake_RenderTarget() : m_area(0, 0, 0, 0) {}
++      void draw(const CEGUI::GeometryBuffer&) {}
++      void draw(const CEGUI::RenderQueue&) {}
++      void setArea(const CEGUI::Rect&) {}
++      const CEGUI::Rect& getArea() const { return m_area; }
++      bool isImageryCache() const { return false; }
++      void activate() {}
++      void deactivate() {}
++      void unprojectPoint(const CEGUI::GeometryBuffer&, const 
CEGUI::Vector2&, CEGUI::Vector2&) const {}
++
++private:
++      CEGUI::Rect m_area;
++};
+
+-      virtual void addQuad(const CEGUI::Rect& dest_rect, float z, const 
CEGUI::Texture* tex, const CEGUI::Rect& texture_rect, const CEGUI::ColourRect& 
colours, CEGUI::QuadSplitMode quad_split_mode) {};
+-      virtual void doRender(void) {};
+-      virtual void clearRenderList(void) {};
+-      virtual void setQueueingEnabled(bool setting) {};
+-      virtual CEGUI::Texture *createTexture(void) { return NULL; };
+-      virtual CEGUI::Texture *createTexture(const CEGUI::String& filename, 
const CEGUI::String& resourceGroup) { return NULL; };
+-      virtual CEGUI::Texture *createTexture(float size) { return NULL; };
+-      virtual void destroyTexture(CEGUI::Texture* texture) {};
+-      virtual void destroyAllTextures(void) {};
+-      virtual bool isQueueingEnabled(void) const { return 0; };
+-      virtual float getWidth(void) const { return 0; };
+-      virtual float getHeight(void) const { return 0; };
+-      virtual CEGUI::Size getSize(void) const { return CEGUI::Size();};
+-      virtual CEGUI::Rect getRect(void) const { return CEGUI::Rect();};
+-      virtual unsigned int getMaxTextureSize(void) const { return 0; };
+-      virtual unsigned int getHorzScreenDPI(void) const { return 0; };
+-      virtual unsigned int getVertScreenDPI(void) const { return 0; };
++class cFake_Renderer : public CEGUI::Renderer
++{
++public:
++      cFake_Renderer( void ) :
++        m_size(0, 0),
++        m_dpi(0, 0),
++        m_identifierString("Fake Renderer"),
++        m_root(m_target) {}
++      ~cFake_Renderer( void ) {}
++
++      CEGUI::RenderingRoot& getDefaultRenderingRoot() { return m_root; }
++      CEGUI::GeometryBuffer& createGeometryBuffer() { return m_geometry; }
++      void destroyGeometryBuffer(const CEGUI::GeometryBuffer&) {}
++      void destroyAllGeometryBuffers() {}
++      CEGUI::TextureTarget* createTextureTarget() { return 0; }
++      void destroyTextureTarget(CEGUI::TextureTarget*) {}
++      void destroyAllTextureTargets() {}
++      CEGUI::Texture& createTexture() { return m_texture; }
++      CEGUI::Texture& createTexture(const CEGUI::String&, const 
CEGUI::String&) { return m_texture; }
++      CEGUI::Texture& createTexture(const CEGUI::Size&) { return m_texture; }
++      void destroyTexture(CEGUI::Texture&) {}
++      void destroyAllTextures() {}
++      void beginRendering() {}
++      void endRendering() {}
++      void setDisplaySize(const CEGUI::Size&) {}
++      const CEGUI::Size& getDisplaySize() const { return m_size; }
++      const CEGUI::Vector2& getDisplayDPI() const {return m_dpi; }
++      CEGUI::uint getMaxTextureSize() const { return 0; }
++      const CEGUI::String& getIdentifierString() const { return 
m_identifierString; }
++
++private:
++      CEGUI::Size m_size;
++      CEGUI::Vector2 m_dpi;
++      CEGUI::String m_identifierString;
++      cFake_GeometryBuffer m_geometry;
++      cFake_Texture m_texture;
++      cFake_RenderTarget m_target;
++      CEGUI::RenderingRoot m_root;
+ };
+
+ /* *** *** *** *** *** *** *** Video class *** *** *** *** *** *** *** *** 
*** *** */
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to