From 415856bdd4f48ab4f2732996f0bae58595092bbe Mon Sep 17 00:00:00 2001 From: Parabola Date: Tue, 5 Apr 2011 14:26:38 +0000 Subject: Tue Apr 5 14:26:38 UTC 2011 --- community/smc/PKGBUILD | 45 ++++ community/smc/smc-for-cegui-v0-7.diff | 437 ++++++++++++++++++++++++++++++++++ community/smc/smc.desktop | 9 + community/smc/smc.png | Bin 0 -> 2961 bytes 4 files changed, 491 insertions(+) create mode 100644 community/smc/PKGBUILD create mode 100644 community/smc/smc-for-cegui-v0-7.diff create mode 100644 community/smc/smc.desktop create mode 100644 community/smc/smc.png (limited to 'community/smc') diff --git a/community/smc/PKGBUILD b/community/smc/PKGBUILD new file mode 100644 index 000000000..05bdc6ea2 --- /dev/null +++ b/community/smc/PKGBUILD @@ -0,0 +1,45 @@ +# $Id: PKGBUILD 40953 2011-03-02 21:01:34Z lcarlier $ +# Maintainer: +# Contributor: Juergen Hoetzel +# Contributor: Kritoke + +pkgname=smc +pkgver=1.9 +pkgrel=10 +pkgdesc="Secret Maryo Chronicles" +arch=('i686' 'x86_64') +url="http://www.secretmaryo.org/" +license=('GPL3') +depends=('sdl_image' 'sdl_ttf' 'sdl_mixer' 'cegui>=0.7' 'boost-libs>=1.46' 'smc-data') +makedepends=('autoconf' 'automake' 'boost>=1.46') +source=(http://downloads.sourceforge.net/smclone/$pkgname-$pkgver.tar.bz2 + smc-for-cegui-v0-7.diff + smc.desktop + smc.png) +md5sums=('75ab7826303c49aec25b052a8b90287f' + '51dfea21b741ad19df14e738df52f1cf' + '80fe208132ff41dd7677a53ee429ecdb' + 'efca7580e28748625eb676c9d24ee122') + +build() { + cd $srcdir/$pkgname-$pkgver + + # to remove when smc will be compatible with cegui-0.7.x + patch -Np1 -i ${srcdir}/smc-for-cegui-v0-7.diff + # fix for boost-1.46 + export CXXFLAGS="${CXXFLAGS} -DBOOST_FILESYSTEM_VERSION=2" + + ./autogen.sh + ./configure --prefix=/usr +} + +package() { + cd $srcdir/$pkgname-$pkgver + + make install DESTDIR=$pkgdir + # install some freedesktop.org compatibility + install -Dm644 $srcdir/$pkgname.desktop $pkgdir/usr/share/applications/$pkgname.desktop + install -Dm644 $srcdir/$pkgname.png $pkgdir/usr/share/pixmaps/$pkgname.png + + rm -rf $pkgdir/usr/share/smc/ +} diff --git a/community/smc/smc-for-cegui-v0-7.diff b/community/smc/smc-for-cegui-v0-7.diff new file mode 100644 index 000000000..a99cbce6c --- /dev/null +++ b/community/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(ev->resize.w), static_cast(ev->resize.h) ) ); ++ pGuiSystem->notifyDisplaySizeChanged( CEGUI::Size( static_cast(ev->resize.w), static_cast(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(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(screen_w), static_cast(screen_h) ) ); ++ pGuiSystem->notifyDisplaySizeChanged( CEGUI::Size( static_cast(screen_w), static_cast(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 + + 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 *** *** *** *** *** *** *** *** *** *** */ diff --git a/community/smc/smc.desktop b/community/smc/smc.desktop new file mode 100644 index 000000000..6cfe5b018 --- /dev/null +++ b/community/smc/smc.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=Secret Maryo Chronicles +GenericName=Arcade Game +Exec=smc +Icon=smc.png +Terminal=false +Type=Application +Categories=Game;ArcadeGame;KidsGame; +StartupNotify=false \ No newline at end of file diff --git a/community/smc/smc.png b/community/smc/smc.png new file mode 100644 index 000000000..f02af1bfc Binary files /dev/null and b/community/smc/smc.png differ -- cgit v1.2.3-54-g00ecf