New package: SMC-1.9

One of #2097: Secret Maryo Chronicles
This commit is contained in:
Jürgen Buchmüller 2015-10-30 19:51:52 +01:00
parent 8580441a0b
commit 358c0f5c26
6 changed files with 603 additions and 0 deletions

1
srcpkgs/SMC-data Symbolic link
View file

@ -0,0 +1 @@
SMC

View file

@ -0,0 +1,9 @@
[Desktop Entry]
Type=Application
Name=Secret Maryo Chronicles
Exec=smc
Icon=smc
Terminal=false
Categories=Game;ArcadeGame;
StartupNotify=false

BIN
srcpkgs/SMC/files/smc.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

View file

@ -0,0 +1,112 @@
Boost >= 1.5 renamed path::leaf() to path::filename().
Function path(const string_type&, name_check) was removed,
thus here we use path(const string_type&).
--- src/core/filesystem/filesystem.cpp 2015-10-30 19:17:02.512620204 +0100
+++ src/core/filesystem/filesystem.cpp 2015-10-30 19:17:57.036620043 +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().string().find( "." ) == 0 )
{
continue;
}
if( with_directories )
{
- valid_files.push_back( dir + "/" + dir_itr->path().leaf() );
+ valid_files.push_back( dir + "/" + dir_itr->path().filename().string() );
}
// 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 + "/" + dir_itr->path().filename().string(), 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().string().rfind( file_type ) != std::string::npos )
{
- valid_files.push_back( dir + "/" + dir_itr->path().leaf() );
+ valid_files.push_back( dir + "/" + dir_itr->path().filename().string() );
}
}
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() );
}
}
--- src/overworld/world_manager.cpp 2015-10-30 19:17:02.649620204 +0100
+++ src/overworld/world_manager.cpp 2015-10-30 18:30:23.299628497 +0100
@@ -111,7 +111,7 @@
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 )
@@ -118,7 +118,7 @@
{
try
{
- std::string current_dir = dir_itr->path().leaf();
+ std::string current_dir = dir_itr->path().filename().string();
// only directories with an existing description
if( fs::is_directory( *dir_itr ) && File_Exists( dir + "/" + current_dir + "/description.xml" ) )
--- src/video/video.cpp 2015-10-30 19:17:02.822620203 +0100
+++ src/video/video.cpp 2015-10-30 19:18:57.493619864 +0100
@@ -747,7 +747,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 )
@@ -769,7 +769,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

View file

@ -0,0 +1,437 @@
diff -ur smc-1.9/configure.ac smc-1.9-b/configure.ac
--- configure.ac 2009-08-17 15:59:00.000000000 +0200
+++ 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
--- src/core/editor.cpp 2009-08-13 17:11:42.000000000 +0200
+++ 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
--- src/core/editor.h 2009-02-18 05:21:30.000000000 +0100
+++ 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
--- src/core/game_core.cpp 2009-08-16 18:44:42.000000000 +0200
+++ 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
--- src/core/main.cpp 2009-05-12 10:36:04.000000000 +0200
+++ 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
--- src/gui/hud.cpp 2009-05-01 15:00:16.000000000 +0200
+++ 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
--- src/input/mouse.cpp 2009-04-24 21:16:58.000000000 +0200
+++ 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
--- src/level/level_settings.cpp 2009-08-07 03:04:28.000000000 +0200
+++ 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
--- src/objects/sprite.cpp 2009-04-18 09:55:06.000000000 +0200
+++ 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
--- src/video/video.cpp 2009-07-04 11:46:56.000000000 +0200
+++ 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
--- src/video/video.h 2009-07-04 10:49:50.000000000 +0200
+++ 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 *** *** *** *** *** *** *** *** *** *** */

44
srcpkgs/SMC/template Normal file
View file

@ -0,0 +1,44 @@
# Template file for 'SMC'
pkgname=SMC
version=1.9
revision=1
wrksrc=${pkgname,,}-${version}
build_style=gnu-configure
hostmakedepends="automake libtool gettext-devel pkg-config unzip"
makedepends="MesaLib-devel boost-devel cegui07-devel gettext-devel
SDL_image-devel SDL_mixer-devel SDL_ttf-devel"
depends="SMC-data>=${version}"
short_desc="Two-dimensional platform game similar to Super Mario"
maintainer="Jürgen Buchmüller <pullmoll@t-online.de>"
license="GPL-3"
homepage="http://www.secretmaryo.org/"
distfiles="
${SOURCEFORGE_SITE}/smclone/${wrksrc}.tar.bz2
${SOURCEFORGE_SITE}/smclone/SMC_Music_5.0_high.zip"
checksum="
b4194e70d3f1de3da884dd1a11e4f5cec25a205f66a3b85cc9fc1c86289b237d
c5bb2e1830c7cbe499c93851f5a02b2b900b4730d2c7a133a44a7b43a297dab8"
CXXFLAGS="-fpermissive -std=c++11"
LDFLAGS="-lX11 -lboost_system"
post_extract() {
# remove CRs from end of line
find ${wrksrc}/src -type f -exec sed -i "{}" -e "s;\r$;;" \;
mv ${XBPS_BUILDDIR}/data/music/* ${wrksrc}/data/music
}
pre_configure() {
NOCONFIGURE=1 ./autogen.sh
}
post_install() {
vinstall ${FILESDIR}/smc.desktop 644 usr/share/applications
vinstall ${FILESDIR}/smc.png 644 usr/share/pixmaps
}
SMC-data_package() {
short_desc+=" - data files"
noarch=yes
pkg_install() {
vmove usr/share/smc
}
}