From 8da0bc0c09680dd570dcaa362721712ac6abe49e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mart=C3=ADn=20Lucas=20Golini?= Date: Mon, 17 Dec 2012 13:06:59 -0300 Subject: [PATCH] Minor fixes to make it work eepp as a dll in windows. --- include/eepp/base/debug.hpp | 2 +- include/eepp/graphics/blendmode.hpp | 2 +- include/eepp/graphics/renderer/cgl.hpp | 2 +- include/eepp/physics/moment.hpp | 18 +-- premake4.lua | 15 ++- projects/windows/ee.files | 147 +++++++++++++------------ src/eepp/graphics/blendmode.cpp | 3 +- src/eepp/physics/moment.cpp | 21 ++++ 8 files changed, 114 insertions(+), 96 deletions(-) create mode 100644 src/eepp/physics/moment.cpp diff --git a/include/eepp/base/debug.hpp b/include/eepp/base/debug.hpp index 524a4618d..37a3230ca 100644 --- a/include/eepp/base/debug.hpp +++ b/include/eepp/base/debug.hpp @@ -9,7 +9,7 @@ extern bool PrintDebugInLog; #ifdef EE_DEBUG -void eeREPORT_ASSERT( const char * File, const int Line, const char * Exp ); +void EE_API eeREPORT_ASSERT( const char * File, const int Line, const char * Exp ); #define eeASSERT( expr ) if ( !(expr) ) { eeREPORT_ASSERT( __FILE__, __LINE__, #expr ); } #define eeASSERTM( expr, msg ) if ( !(expr) ) { eeREPORT_ASSERT( __FILE__, __LINE__, #msg ); } diff --git a/include/eepp/graphics/blendmode.hpp b/include/eepp/graphics/blendmode.hpp index b3afc63d6..94133bd31 100644 --- a/include/eepp/graphics/blendmode.hpp +++ b/include/eepp/graphics/blendmode.hpp @@ -21,7 +21,7 @@ class EE_API BlendMode { static void SetMode( const EE_BLEND_MODE& blend, bool force = false ); /** @return The last used predefined blend func */ - static const EE_BLEND_MODE& GetPreBlendFunc(); + static EE_BLEND_MODE GetPreBlendFunc(); protected: static EE_BLEND_MODE sLastBlend; }; diff --git a/include/eepp/graphics/renderer/cgl.hpp b/include/eepp/graphics/renderer/cgl.hpp index 4f7c5dab7..b99ac14e7 100644 --- a/include/eepp/graphics/renderer/cgl.hpp +++ b/include/eepp/graphics/renderer/cgl.hpp @@ -192,7 +192,7 @@ class EE_API cGL { void WriteExtension( Uint8 Pos, Uint32 BitWrite ); }; -extern cGL * GLi; +extern EE_API cGL * GLi; }} diff --git a/include/eepp/physics/moment.hpp b/include/eepp/physics/moment.hpp index ff810b560..9b820655f 100644 --- a/include/eepp/physics/moment.hpp +++ b/include/eepp/physics/moment.hpp @@ -7,23 +7,13 @@ CP_NAMESPACE_BEGIN class CP_API Moment { public: - public: + static cpFloat ForCircle( cpFloat m, cpFloat r1, cpFloat r2, cVect offset ); - inline static cpFloat ForCircle( cpFloat m, cpFloat r1, cpFloat r2, cVect offset ) { - return cpMomentForCircle( m, r1, r2, tocpv( offset ) ); - } + static cpFloat ForSegment( cpFloat m, cVect a, cVect b); - inline static cpFloat ForSegment( cpFloat m, cVect a, cVect b) { - return cpMomentForSegment( m, tocpv( a ), tocpv( b ) ); - } + static cpFloat ForPoly( cpFloat m, int numVerts, const cVect *verts, cVect offset ); - inline static cpFloat ForPoly( cpFloat m, int numVerts, const cVect *verts, cVect offset ) { - return cpMomentForPoly( m, numVerts, constcasttocpv( verts ), tocpv( offset ) ); - } - - inline static cpFloat ForBox( cpFloat m, cpFloat width, cpFloat height ) { - return cpMomentForBox( m, width, height ); - } + static cpFloat ForBox( cpFloat m, cpFloat width, cpFloat height ); }; CP_NAMESPACE_END diff --git a/premake4.lua b/premake4.lua index b70ffd379..833a0ab26 100644 --- a/premake4.lua +++ b/premake4.lua @@ -58,8 +58,13 @@ function build_link_configuration( package_name ) links { link_list } if package_name ~= "eepp" and package_name ~= "eepp-static" then - links { "eepp-static" } - add_static_links() + links { "eepp-shared" } + + if os.is("windows") then + linkoptions { "-mwindows" } + end + + --add_static_links() end configuration "debug" @@ -180,7 +185,7 @@ function select_backend() end function build_eepp( build_name ) - includedirs { "include", "src", "src/eepp/helper/freetype2/include" } + includedirs { "include", "src", "src/eepp/helper/freetype2/include", "src/eepp/helper/zlib" } add_static_links() @@ -214,10 +219,10 @@ function build_eepp( build_name ) configuration "windows" files { "src/eepp/window/platform/win/*.cpp" } - linkoptions { "mwindows" } + linkoptions { "-mwindows" } if _ACTION == "gmake" then - linkoptions { "static-libgcc", "static-libstdc++" } + linkoptions { "-static-libgcc" } --, "-static-libstdc++" end configuration "linux" diff --git a/projects/windows/ee.files b/projects/windows/ee.files index e363f21a8..fdc4bbc10 100644 --- a/projects/windows/ee.files +++ b/projects/windows/ee.files @@ -8,7 +8,6 @@ ../../include/eepp/audio/csoundbuffer.hpp ../../include/eepp/audio/csound.hpp ../../include/eepp/audio/cmusic.hpp -../../include/eepp/audio/caudioresource.hpp ../../include/eepp/audio/caudiolistener.hpp ../../include/eepp/audio/caudiodevice.hpp ../../include/eepp/audio/base.hpp @@ -20,7 +19,6 @@ ../../src/eepp/audio/csoundbuffer.cpp ../../src/eepp/audio/csound.cpp ../../src/eepp/audio/cmusic.cpp -../../src/eepp/audio/caudioresource.cpp ../../src/eepp/audio/caudiolistener.cpp ../../src/eepp/audio/caudiodevice.cpp ../../include/eepp/base/utf.hpp @@ -92,18 +90,17 @@ ../../include/eepp/gaming/cisomap.hpp ../../include/eepp/gaming/cgameobjectvirtual.hpp ../../include/eepp/gaming/cgameobjectsprite.hpp -../../include/eepp/gaming/cgameobjectshapeex.hpp -../../include/eepp/gaming/cgameobjectshape.hpp +../../include/eepp/gaming/cgameobjectsubtextureex.hpp +../../include/eepp/gaming/cgameobjectsubtexture.hpp ../../include/eepp/gaming/cgameobject.hpp ../../include/eepp/gaming/base.hpp -../../include/eepp/gaming/mapeditor/cuimapnew.hpp -../../include/eepp/gaming/mapeditor/cuimap.hpp -../../include/eepp/gaming/mapeditor/cuilayernew.hpp -../../include/eepp/gaming/mapeditor/cuigotypenew.hpp -../../include/eepp/gaming/mapeditor/cmapproperties.hpp +../../src/eepp/gaming/mapeditor/cuimapnew.hpp +../../src/eepp/gaming/mapeditor/cuimap.hpp +../../src/eepp/gaming/mapeditor/cuilayernew.hpp +../../src/eepp/gaming/mapeditor/cuigotypenew.hpp +../../src/eepp/gaming/mapeditor/cmapproperties.hpp ../../include/eepp/gaming/mapeditor/cmapeditor.hpp -../../include/eepp/gaming/mapeditor/clayerproperties.hpp -../../include/eepp/gaming/mapeditor/base.hpp +../../src/eepp/gaming/mapeditor/clayerproperties.hpp ../../src/eepp/gaming/ctilelayer.cpp ../../src/eepp/gaming/cobjectlayer.cpp ../../src/eepp/gaming/cmap.cpp @@ -113,8 +110,8 @@ ../../src/eepp/gaming/cisomap.cpp ../../src/eepp/gaming/cgameobjectvirtual.cpp ../../src/eepp/gaming/cgameobjectsprite.cpp -../../src/eepp/gaming/cgameobjectshapeex.cpp -../../src/eepp/gaming/cgameobjectshape.cpp +../../src/eepp/gaming/cgameobjectsubtextureex.cpp +../../src/eepp/gaming/cgameobjectsubtexture.cpp ../../src/eepp/gaming/cgameobject.cpp ../../src/eepp/gaming/mapeditor/cuimapnew.cpp ../../src/eepp/gaming/mapeditor/cuimap.cpp @@ -123,10 +120,11 @@ ../../src/eepp/gaming/mapeditor/cmapproperties.cpp ../../src/eepp/gaming/mapeditor/cmapeditor.cpp ../../src/eepp/gaming/mapeditor/clayerproperties.cpp +../../include/eepp/graphics/blendmode.hpp +../../src/eepp/graphics/blendmode.cpp ../../include/eepp/graphics/vbohelper.hpp ../../include/eepp/graphics/renders.hpp ../../include/eepp/graphics/pixelperfect.hpp -../../include/eepp/graphics/glhelper.hpp ../../include/eepp/graphics/fonthelper.hpp ../../include/eepp/graphics/cvertexbuffervbo.hpp ../../include/eepp/graphics/cvertexbufferogl.hpp @@ -138,16 +136,16 @@ ../../src/eepp/graphics/ctexturepackernode.hpp ../../include/eepp/graphics/ctexturepacker.hpp ../../include/eepp/graphics/ctextureloader.hpp -../../include/eepp/graphics/ctexturegrouploader.hpp +../../include/eepp/graphics/ctextureatlasloader.hpp ../../include/eepp/graphics/ctexturefontloader.hpp ../../include/eepp/graphics/ctexturefont.hpp ../../include/eepp/graphics/ctexturefactory.hpp ../../include/eepp/graphics/ctexture.hpp ../../include/eepp/graphics/ctextcache.hpp ../../include/eepp/graphics/csprite.hpp -../../include/eepp/graphics/cshapegroupmanager.hpp -../../include/eepp/graphics/cshapegroup.hpp -../../include/eepp/graphics/cshape.hpp +../../include/eepp/graphics/ctextureatlasmanager.hpp +../../include/eepp/graphics/ctextureatlas.hpp +../../include/eepp/graphics/csubtexture.hpp ../../include/eepp/graphics/cshaderprogrammanager.hpp ../../include/eepp/graphics/cshaderprogram.hpp ../../include/eepp/graphics/cshader.hpp @@ -156,7 +154,7 @@ ../../include/eepp/graphics/cparticlesystem.hpp ../../include/eepp/graphics/cparticle.hpp ../../include/eepp/graphics/cimage.hpp -../../include/eepp/graphics/cglobalshapegroup.hpp +../../include/eepp/graphics/cglobaltextureatlas.hpp ../../include/eepp/graphics/cglobalbatchrenderer.hpp ../../src/eepp/graphics/cframebuffermanager.hpp ../../include/eepp/graphics/cframebuffer.hpp @@ -172,7 +170,6 @@ ../../include/eepp/math/math.hpp ../../include/eepp/math/cmtrand.hpp ../../include/eepp/math/base.hpp -../../src/eepp/math/math.cpp ../../src/eepp/math/cmtrand.cpp ../../include/eepp/physics/settings.hpp ../../include/eepp/physics/physicshelper.hpp @@ -275,10 +272,9 @@ ../../include/eepp/ui/cuibackground.hpp ../../include/eepp/ui/cuiaquatheme.hpp ../../include/eepp/ui/base.hpp -../../include/eepp/ui/tools/ctexturegroupshapeeditor.hpp -../../include/eepp/ui/tools/ctexturegroupnew.hpp -../../include/eepp/ui/tools/ctexturegroupeditor.hpp -../../src/eepp/ui/uihelper.cpp +../../src/eepp/ui/tools/ctextureatlassubtextureeditor.hpp +../../src/eepp/ui/tools/ctextureatlasnew.hpp +../../include/eepp/ui/tools/ctextureatlaseditor.hpp ../../src/eepp/ui/cuiwinmenu.cpp ../../src/eepp/ui/cuiwindow.cpp ../../src/eepp/ui/cuitooltip.cpp @@ -330,34 +326,32 @@ ../../src/eepp/ui/cuiborder.cpp ../../src/eepp/ui/cuibackground.cpp ../../src/eepp/ui/cuiaquatheme.cpp -../../src/eepp/ui/tools/ctexturegroupshapeeditor.cpp -../../src/eepp/ui/tools/ctexturegroupnew.cpp -../../src/eepp/ui/tools/ctexturegroupeditor.cpp -../../include/eepp/utils/vector3.hpp -../../include/eepp/utils/vector2.hpp -../../include/eepp/utils/utils.hpp -../../include/eepp/utils/triangle2.hpp -../../include/eepp/utils/string.hpp -../../include/eepp/utils/size.hpp -../../include/eepp/utils/safedatapointer.hpp -../../include/eepp/utils/rect.hpp -../../include/eepp/utils/quad2.hpp -../../include/eepp/utils/polygon2.hpp -../../include/eepp/utils/line2.hpp -../../include/eepp/utils/helper.hpp -../../include/eepp/utils/easing.hpp -../../include/eepp/utils/cwaypoints.hpp -../../include/eepp/utils/cperlinnoise.hpp -../../include/eepp/utils/colors.hpp -../../include/eepp/utils/cinterpolation.hpp -../../include/eepp/utils/base.hpp -../../src/eepp/utils/utils.cpp -../../src/eepp/utils/string.cpp -../../src/eepp/utils/safedatapointer.cpp -../../src/eepp/utils/easing.cpp -../../src/eepp/utils/cwaypoints.cpp -../../src/eepp/utils/cperlinnoise.cpp -../../src/eepp/utils/cinterpolation.cpp +../../src/eepp/ui/tools/ctextureatlassubtextureeditor.cpp +../../src/eepp/ui/tools/ctextureatlasnew.cpp +../../src/eepp/ui/tools/ctextureatlaseditor.cpp +../../include/eepp/math/vector3.hpp +../../include/eepp/math/vector2.hpp +../../include/eepp/system/bitop.hpp +../../include/eepp/math/triangle2.hpp +../../include/eepp/system/sys.hpp +../../src/eepp/system/sys.cpp +../../include/eepp/math/size.hpp +../../include/eepp/system/safedatapointer.hpp +../../include/eepp/math/rect.hpp +../../include/eepp/math/quad2.hpp +../../include/eepp/math/polygon2.hpp +../../include/eepp/math/line2.hpp +../../include/eepp/math/helper.hpp +../../include/eepp/math/easing.hpp +../../include/eepp/math/cwaypoints.hpp +../../include/eepp/math/cperlinnoise.hpp +../../include/eepp/system/colors.hpp +../../include/eepp/math/cinterpolation.hpp +../../src/eepp/system/safedatapointer.cpp +../../src/eepp/math/easing.cpp +../../src/eepp/math/cwaypoints.cpp +../../src/eepp/math/cperlinnoise.cpp +../../src/eepp/math/cinterpolation.cpp ../../include/eepp/window/keycodes.hpp ../../include/eepp/window/joycodes.hpp ../../include/eepp/window/inputhelper.hpp @@ -405,22 +399,22 @@ ../../src/eepp/window/backend/SDL/ccursorsdl.cpp ../../src/eepp/window/backend/SDL/ccursormanagersdl.cpp ../../src/eepp/window/backend/SDL/cclipboardsdl.cpp -../../src/eepp/window/backend/SDL2/cwindowsdl.hpp -../../src/eepp/window/backend/SDL2/cjoysticksdl.hpp -../../src/eepp/window/backend/SDL2/cjoystickmanagersdl.hpp -../../src/eepp/window/backend/SDL2/cinputsdl.hpp -../../src/eepp/window/backend/SDL2/ccursorsdl.hpp -../../src/eepp/window/backend/SDL2/ccursormanagersdl.hpp -../../src/eepp/window/backend/SDL2/cclipboardsdl.hpp -../../src/eepp/window/backend/SDL2/cbackendsdl.hpp +../../src/eepp/window/backend/SDL2/cwindowsdl2.hpp +../../src/eepp/window/backend/SDL2/cjoysticksdl2.hpp +../../src/eepp/window/backend/SDL2/cjoystickmanagersdl2.hpp +../../src/eepp/window/backend/SDL2/cinputsdl2.hpp +../../src/eepp/window/backend/SDL2/ccursorsdl2.hpp +../../src/eepp/window/backend/SDL2/ccursormanagersdl2.hpp +../../src/eepp/window/backend/SDL2/cclipboardsdl2.hpp +../../src/eepp/window/backend/SDL2/cbackendsdl2.hpp ../../src/eepp/window/backend/SDL2/base.hpp -../../src/eepp/window/backend/SDL2/cwindowsdl.cpp -../../src/eepp/window/backend/SDL2/cjoysticksdl.cpp -../../src/eepp/window/backend/SDL2/cjoystickmanagersdl.cpp -../../src/eepp/window/backend/SDL2/cinputsdl.cpp -../../src/eepp/window/backend/SDL2/ccursorsdl.cpp -../../src/eepp/window/backend/SDL2/ccursormanagersdl.cpp -../../src/eepp/window/backend/SDL2/cclipboardsdl.cpp +../../src/eepp/window/backend/SDL2/cwindowsdl2.cpp +../../src/eepp/window/backend/SDL2/cjoysticksdl2.cpp +../../src/eepp/window/backend/SDL2/cjoystickmanagersdl2.cpp +../../src/eepp/window/backend/SDL2/cinputsdl2.cpp +../../src/eepp/window/backend/SDL2/ccursorsdl2.cpp +../../src/eepp/window/backend/SDL2/ccursormanagersdl2.cpp +../../src/eepp/window/backend/SDL2/cclipboardsdl2.cpp ../../src/eepp/window/backend/allegro5/cwindowal.hpp ../../src/eepp/window/backend/allegro5/cjoystickmanageral.hpp ../../src/eepp/window/backend/allegro5/cjoystickal.hpp @@ -476,16 +470,16 @@ ../../src/eepp/graphics/ctexturepackernode.cpp ../../src/eepp/graphics/ctexturepacker.cpp ../../src/eepp/graphics/ctextureloader.cpp -../../src/eepp/graphics/ctexturegrouploader.cpp +../../src/eepp/graphics/ctextureatlasloader.cpp ../../src/eepp/graphics/ctexturefontloader.cpp ../../src/eepp/graphics/ctexturefont.cpp ../../src/eepp/graphics/ctexturefactory.cpp ../../src/eepp/graphics/ctexture.cpp ../../src/eepp/graphics/ctextcache.cpp ../../src/eepp/graphics/csprite.cpp -../../src/eepp/graphics/cshapegroupmanager.cpp -../../src/eepp/graphics/cshapegroup.cpp -../../src/eepp/graphics/cshape.cpp +../../src/eepp/graphics/ctextureatlasmanager.cpp +../../src/eepp/graphics/ctextureatlas.cpp +../../src/eepp/graphics/csubtexture.cpp ../../src/eepp/graphics/cshaderprogrammanager.cpp ../../src/eepp/graphics/cshaderprogram.cpp ../../src/eepp/graphics/cshader.cpp @@ -494,7 +488,7 @@ ../../src/eepp/graphics/cparticlesystem.cpp ../../src/eepp/graphics/cparticle.cpp ../../src/eepp/graphics/cimage.cpp -../../src/eepp/graphics/cglobalshapegroup.cpp +../../src/eepp/graphics/cglobaltextureatlas.cpp ../../src/eepp/graphics/cglobalbatchrenderer.cpp ../../src/eepp/graphics/cframebufferpbuffer.cpp ../../src/eepp/graphics/cframebuffermanager.cpp @@ -538,7 +532,6 @@ ../../src/eepp/helper/haikuttf/hkfontmanager.cpp ../../src/eepp/helper/haikuttf/hkfont.cpp ../../include/eepp/window.hpp -../../include/eepp/utils.hpp ../../include/eepp/ui.hpp ../../include/eepp/system.hpp ../../include/eepp/physics.hpp @@ -569,3 +562,11 @@ ../../src/eepp/graphics/cframebufferfbo.hpp ../../src/eepp/graphics/renderer/rendererhelper.hpp ../../include/eepp/graphics/packerhelper.hpp +../../src/eepp/window/backend/SDL2/cbackendsdl.cpp +../../include/eepp/system/filesystem.hpp +../../src/eepp/system/filesystem.cpp +../../include/eepp/graphics/glhelper.hpp +../../include/eepp/window/windowhandle.hpp +../../include/eepp/window/windowcontext.hpp +../../include/eepp/version.hpp +../../src/eepp/base/version.cpp diff --git a/src/eepp/graphics/blendmode.cpp b/src/eepp/graphics/blendmode.cpp index 12efa92a6..53abc3029 100644 --- a/src/eepp/graphics/blendmode.cpp +++ b/src/eepp/graphics/blendmode.cpp @@ -60,8 +60,9 @@ void BlendMode::SetBlendFunc( const EE_BLEND_FUNC& SrcFactor, const EE_BLEND_FUN sLastBlend = ALPHA_CUSTOM; } -const EE_BLEND_MODE& BlendMode::GetPreBlendFunc() { +EE_BLEND_MODE BlendMode::GetPreBlendFunc() { return sLastBlend; } }} + diff --git a/src/eepp/physics/moment.cpp b/src/eepp/physics/moment.cpp new file mode 100644 index 000000000..47e5413e4 --- /dev/null +++ b/src/eepp/physics/moment.cpp @@ -0,0 +1,21 @@ +#include + +CP_NAMESPACE_BEGIN + +cpFloat Moment::ForCircle( cpFloat m, cpFloat r1, cpFloat r2, cVect offset ) { + return cpMomentForCircle( m, r1, r2, tocpv( offset ) ); +} + +cpFloat Moment::ForSegment( cpFloat m, cVect a, cVect b) { + return cpMomentForSegment( m, tocpv( a ), tocpv( b ) ); +} + +cpFloat Moment::ForPoly( cpFloat m, int numVerts, const cVect *verts, cVect offset ) { + return cpMomentForPoly( m, numVerts, constcasttocpv( verts ), tocpv( offset ) ); +} + +cpFloat Moment::ForBox( cpFloat m, cpFloat width, cpFloat height ) { + return cpMomentForBox( m, width, height ); +} + +CP_NAMESPACE_END