diff --git a/Core/GDCore/BuiltinExtensions/SpriteExtension/Dialogs/SpriteObjectEditor.cpp b/Core/GDCore/BuiltinExtensions/SpriteExtension/Dialogs/SpriteObjectEditor.cpp index ceb78968bc..5b43a337aa 100644 --- a/Core/GDCore/BuiltinExtensions/SpriteExtension/Dialogs/SpriteObjectEditor.cpp +++ b/Core/GDCore/BuiltinExtensions/SpriteExtension/Dialogs/SpriteObjectEditor.cpp @@ -674,11 +674,11 @@ void SpriteObjectEditor::OnimagePanelPaint(wxPaintEvent& event) int pointY = 0; if ( pointIndex == 0 ) - { pointX = sprite.GetOrigine().GetX(); pointY = sprite.GetOrigine().GetY(); } - else if ( pointIndex == 1 && sprite.IsCentreAutomatic() ) + { pointX = sprite.GetOrigin().GetX(); pointY = sprite.GetOrigin().GetY(); } + else if ( pointIndex == 1 && sprite.IsDefaultCenterPoint() ) { pointX = bmp.GetWidth()/2; pointY = bmp.GetHeight()/2; } - else if ( pointIndex == 1 && !sprite.IsCentreAutomatic() ) - { pointX = sprite.GetCentre().GetX(); pointY = sprite.GetCentre().GetY(); } + else if ( pointIndex == 1 && !sprite.IsDefaultCenterPoint() ) + { pointX = sprite.GetCenter().GetX(); pointY = sprite.GetCenter().GetY(); } else if ( pointIndex != -1 ) { pointX = sprite.GetPoint(ToString(pointsList->GetItemText(pointIndex))).GetX(); @@ -749,19 +749,19 @@ void SpriteObjectEditor::RefreshPoints() wxBitmap bmp = GetwxBitmapFromImageResource(game.GetResourcesManager().GetResource(sprite.GetImageName())); pointsList->InsertItem(pointsList->GetItemCount(), "Origin", 0); - pointsList->SetItem(pointsList->GetItemCount()-1, 1, ToString(sprite.GetOrigine().GetX())); - pointsList->SetItem(pointsList->GetItemCount()-1, 2, ToString(sprite.GetOrigine().GetY())); + pointsList->SetItem(pointsList->GetItemCount()-1, 1, ToString(sprite.GetOrigin().GetX())); + pointsList->SetItem(pointsList->GetItemCount()-1, 2, ToString(sprite.GetOrigin().GetY())); pointsList->InsertItem(pointsList->GetItemCount(), "Centre", 0); - if ( sprite.IsCentreAutomatic() ) //Center point is a special case as most of the time it is automatically computed at runtime + if ( sprite.IsDefaultCenterPoint() ) //Center point is a special case as most of the time it is automatically computed at runtime { pointsList->SetItem(pointsList->GetItemCount()-1, 1, ToString(bmp.GetWidth()/2)); pointsList->SetItem(pointsList->GetItemCount()-1, 2, ToString(bmp.GetHeight()/2)); } else { - pointsList->SetItem(pointsList->GetItemCount()-1, 1, ToString(sprite.GetCentre().GetX())); - pointsList->SetItem(pointsList->GetItemCount()-1, 2, ToString(sprite.GetCentre().GetY())); + pointsList->SetItem(pointsList->GetItemCount()-1, 1, ToString(sprite.GetCenter().GetX())); + pointsList->SetItem(pointsList->GetItemCount()-1, 2, ToString(sprite.GetCenter().GetY())); } const std::vector & points = sprite.GetAllNonDefaultPoints(); @@ -1182,11 +1182,11 @@ void SpriteObjectEditor::OnimagePanelLeftUp(wxMouseEvent& event) long pointIndex = pointsList->GetNextItem(-1,wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); if ( pointIndex == 0 ) - sprite.GetOrigine().SetXY(event.GetX() - spritePosX, event.GetY() - spritePosY); + sprite.GetOrigin().SetXY(event.GetX() - spritePosX, event.GetY() - spritePosY); else if ( pointIndex == 1 ) { - sprite.SetCentreAutomatic(false); - sprite.GetCentre().SetXY(event.GetX() - spritePosX, event.GetY() - spritePosY); + sprite.SetDefaultCenterPoint(false); + sprite.GetCenter().SetXY(event.GetX() - spritePosX, event.GetY() - spritePosY); } else if ( pointIndex != -1 ) { @@ -1299,7 +1299,7 @@ void SpriteObjectEditor::OnpointsListItemActivated(wxListEvent& event) if (wxMessageBox(_("The point \"Centre\" can be automatically placed by GDevelop at the center.\nDo you really want to modify the point\?\nClick on yes to modify it, click on no so as let GDevelop place it."), _("Position of the point \"Centre\""), wxYES_NO ) == wxNO) { - for (unsigned int i = 0;iSetCentreAutomatic(true); + for (unsigned int i = 0;iSetDefaultCenterPoint(true); RefreshPoints(); imagePanel->Refresh(); imagePanel->Update(); diff --git a/Core/GDCore/BuiltinExtensions/SpriteExtension/Direction.cpp b/Core/GDCore/BuiltinExtensions/SpriteExtension/Direction.cpp index 28042dbfa7..167c42a949 100644 --- a/Core/GDCore/BuiltinExtensions/SpriteExtension/Direction.cpp +++ b/Core/GDCore/BuiltinExtensions/SpriteExtension/Direction.cpp @@ -111,9 +111,9 @@ void Direction::UnserializeFrom(const gd::SerializerElement & element) sprite.SetImageName(spriteElement.GetStringAttribute("image")); OpenPointsSprites(sprite.GetAllNonDefaultPoints(), spriteElement.GetChild("points", 0, "Points")); - OpenPoint(sprite.GetOrigine(), spriteElement.GetChild("originPoint" , 0, "PointOrigine")); - OpenPoint(sprite.GetCentre(), spriteElement.GetChild("centerPoint" , 0, "PointCentre")); - sprite.SetCentreAutomatic(spriteElement.GetChild("centerPoint" , 0, "PointCentre").GetBoolAttribute("automatic", true)); + OpenPoint(sprite.GetOrigin(), spriteElement.GetChild("originPoint" , 0, "PointOrigine")); + OpenPoint(sprite.GetCenter(), spriteElement.GetChild("centerPoint" , 0, "PointCentre")); + sprite.SetDefaultCenterPoint(spriteElement.GetChild("centerPoint" , 0, "PointCentre").GetBoolAttribute("automatic", true)); if (spriteElement.HasChild("CustomCollisionMask")) sprite.SetCollisionMaskAutomatic(!spriteElement.GetChild("CustomCollisionMask").GetBoolAttribute("custom", false)); @@ -170,9 +170,9 @@ void SaveSpritesDirection(const vector < Sprite > & sprites, gd::SerializerEleme spriteElement.SetAttribute("image", sprites[i].GetImageName()); SavePointsSprites(sprites[i].GetAllNonDefaultPoints(), spriteElement.AddChild("points")); - SavePoint(sprites[i].GetOrigine(), spriteElement.AddChild("originPoint")); - SavePoint(sprites[i].GetCentre(), spriteElement.AddChild("centerPoint")); - spriteElement.GetChild("centerPoint").SetAttribute("automatic", sprites[i].IsCentreAutomatic()); + SavePoint(sprites[i].GetOrigin(), spriteElement.AddChild("originPoint")); + SavePoint(sprites[i].GetCenter(), spriteElement.AddChild("centerPoint")); + spriteElement.GetChild("centerPoint").SetAttribute("automatic", sprites[i].IsDefaultCenterPoint()); spriteElement.SetAttribute("hasCustomCollisionMask", !sprites[i].IsCollisionMaskAutomatic()); diff --git a/Core/GDCore/BuiltinExtensions/SpriteExtension/Sprite.cpp b/Core/GDCore/BuiltinExtensions/SpriteExtension/Sprite.cpp index 7165265643..6c98df794e 100644 --- a/Core/GDCore/BuiltinExtensions/SpriteExtension/Sprite.cpp +++ b/Core/GDCore/BuiltinExtensions/SpriteExtension/Sprite.cpp @@ -48,8 +48,8 @@ void Sprite::DelPoint( const std::string & name ) bool Sprite::HasPoint( const std::string & name ) const { - if ( name == "Origin") return true; - if ( name == "Centre") return true; + if (name == "Origin") return true; + if (name == "Centre" || name == "Center") return true; for (unsigned int i = 0;iGetSFMLTexture()->texture.getSize().x : 1; float scaleY = instance.HasCustomSize() ? instance.GetCustomHeight()/associatedSprite->GetSFMLTexture()->texture.getSize().y : 1; - sprite.setOrigin( associatedSprite->GetCentre().GetX(), associatedSprite->GetCentre().GetY() ); ; + sprite.setOrigin( associatedSprite->GetCenter().GetX(), associatedSprite->GetCenter().GetY() ); ; sprite.setRotation( shouldNotRotate ? 0 : instance.GetAngle() ); - sprite.setPosition( instance.GetX() + (associatedSprite->GetCentre().GetX() - associatedSprite->GetOrigine().GetX())*fabs(scaleX), - instance.GetY() + (associatedSprite->GetCentre().GetY() - associatedSprite->GetOrigine().GetY())*fabs(scaleY) ); + sprite.setPosition( instance.GetX() + (associatedSprite->GetCenter().GetX() - associatedSprite->GetOrigin().GetX())*fabs(scaleX), + instance.GetY() + (associatedSprite->GetCenter().GetY() - associatedSprite->GetOrigin().GetY())*fabs(scaleY) ); sprite.setScale(scaleX, scaleY); renderTarget.draw(sprite); @@ -188,8 +188,8 @@ sf::Vector2f SpriteObject::GetInitialInstanceOrigin(gd::InitialInstance & instan float scaleX = instance.HasCustomSize() ? instance.GetCustomWidth()/associatedSprite->GetSFMLTexture()->texture.getSize().x : 1; float scaleY = instance.HasCustomSize() ? instance.GetCustomHeight()/associatedSprite->GetSFMLTexture()->texture.getSize().y : 1; - return sf::Vector2f(((float)associatedSprite->GetOrigine().GetX())*fabs(scaleX), - ((float)associatedSprite->GetOrigine().GetY())*fabs(scaleY)); + return sf::Vector2f(((float)associatedSprite->GetOrigin().GetX())*fabs(scaleX), + ((float)associatedSprite->GetOrigin().GetY())*fabs(scaleY)); } #endif diff --git a/Core/GDCore/Events/ExpressionMetadata.h b/Core/GDCore/Events/ExpressionMetadata.h index 345820e065..af46e60d1b 100644 --- a/Core/GDCore/Events/ExpressionMetadata.h +++ b/Core/GDCore/Events/ExpressionMetadata.h @@ -142,6 +142,7 @@ public: const std::string & GetFullName() const { return fullname; } const std::string & GetDescription() const { return description; } const std::string & GetGroup() const { return group; } + const std::string & GetSmallIconFilename() const { return smallIconFilename; } #if !defined(GD_NO_WX_GUI) const wxBitmap & GetBitmapIcon() const { return smallicon; } #endif diff --git a/Extensions/CMakeLists.txt b/Extensions/CMakeLists.txt index f8891bb4a4..d9f77a69aa 100644 --- a/Extensions/CMakeLists.txt +++ b/Extensions/CMakeLists.txt @@ -36,11 +36,13 @@ IF (NOT EMSCRIPTEN) ADD_SUBDIRECTORY(PrimitiveDrawing) ADD_SUBDIRECTORY(SoundObject) ADD_SUBDIRECTORY(TextEntryObject) +ENDIF() ADD_SUBDIRECTORY(TextObject) +IF (NOT EMSCRIPTEN) ADD_SUBDIRECTORY(TileMapObject) ENDIF() ADD_SUBDIRECTORY(TiledSpriteObject) IF (NOT EMSCRIPTEN) ADD_SUBDIRECTORY(TimedEvent) ENDIF() -ADD_SUBDIRECTORY(TopDownMovementAutomatism) \ No newline at end of file +ADD_SUBDIRECTORY(TopDownMovementAutomatism) diff --git a/Extensions/DestroyOutsideAutomatism/CMakeLists.txt b/Extensions/DestroyOutsideAutomatism/CMakeLists.txt index b79657040b..e31bcc7923 100644 --- a/Extensions/DestroyOutsideAutomatism/CMakeLists.txt +++ b/Extensions/DestroyOutsideAutomatism/CMakeLists.txt @@ -186,4 +186,4 @@ ELSE() ELSE() target_link_libraries(DestroyOutsideAutomatism_Runtime ${sfml_lib_dir}/libsfml-audio.so ${sfml_lib_dir}/libsfml-graphics.so ${sfml_lib_dir}/libsfml-window.so ${sfml_lib_dir}/libsfml-network.so ${sfml_lib_dir}/libsfml-system.so) ENDIF(WIN32) -ENDIF() \ No newline at end of file +ENDIF() diff --git a/Extensions/TextObject/CMakeLists.txt b/Extensions/TextObject/CMakeLists.txt index 50ef3da135..24797f8959 100644 --- a/Extensions/TextObject/CMakeLists.txt +++ b/Extensions/TextObject/CMakeLists.txt @@ -13,6 +13,9 @@ if(CMAKE_COMPILER_IS_GNUCXX) set(CMAKE_EXE_LINKER_FLAGS "-s") ## Strip binary ENDIF() endif() +if(EMSCRIPTEN) #When compiling for the web, ensure we get no warning when using our own external libraries. + SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --bind -Wno-warn-absolute-paths" ) +ENDIF() #Common directories: ### @@ -51,7 +54,7 @@ include_directories(${GDCORE_include_dir}) include_directories(${GDCpp_include_dir}) IF(WIN32) #Special case for wxWidgets on Windows include_directories(${wxwidgets_include_dir}) -ELSE() +ELSEIF (NOT EMSCRIPTEN) find_package(wxWidgets COMPONENTS core base ribbon webview stc aui propgrid richtext html xrc REQUIRED) include( "${wxWidgets_USE_FILE}" ) find_package(PkgConfig REQUIRED) @@ -79,6 +82,10 @@ ENDIF() #Defines ### set(TextObject_extra_definitions "${TextObject_extra_definitions} GD_IDE_ONLY=1;") +IF (EMSCRIPTEN) #When compiling for the web, we do not want any GUI related feature. + add_definitions( -DGD_NO_WX_GUI ) + add_definitions( -DEMSCRIPTEN ) +ENDIF() IF(CMAKE_BUILD_TYPE MATCHES DEBUG) add_definitions( -DDEBUG ) IF(WIN32) @@ -117,55 +124,65 @@ include_directories(.) file(GLOB source_files *) add_library(TextObject SHARED ${source_files}) -add_library(TextObject_Runtime SHARED ${source_files}) set_target_properties(TextObject PROPERTIES COMPILE_DEFINITIONS "${TextObject_extra_definitions}") -set_target_properties(TextObject_Runtime PROPERTIES COMPILE_DEFINITIONS "${TextObject_Runtime_extra_definitions}") set_target_properties(TextObject PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions") set_target_properties(TextObject PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions") set_target_properties(TextObject PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions") -set_target_properties(TextObject_Runtime PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime") -set_target_properties(TextObject_Runtime PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime") -set_target_properties(TextObject_Runtime PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime") -set_target_properties(TextObject_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "TextObject") -set_target_properties(TextObject_Runtime PROPERTIES LIBRARY_OUTPUT_NAME "TextObject") -set_target_properties(TextObject_Runtime PROPERTIES ARCHIVE_OUTPUT_NAME "TextObject") set_target_properties(TextObject PROPERTIES PREFIX "") -set_target_properties(TextObject_Runtime PROPERTIES PREFIX "") +IF(NOT EMSCRIPTEN) + add_library(TextObject_Runtime SHARED ${source_files}) + set_target_properties(TextObject_Runtime PROPERTIES COMPILE_DEFINITIONS "${TextObject_Runtime_extra_definitions}") + set_target_properties(TextObject_Runtime PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime") + set_target_properties(TextObject_Runtime PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime") + set_target_properties(TextObject_Runtime PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${GD_base_dir}/Binaries/Output/${CMAKE_BUILD_TYPE}_${CMAKE_SYSTEM_NAME}/CppPlatform/Extensions/Runtime") + set_target_properties(TextObject_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "TextObject") + set_target_properties(TextObject_Runtime PROPERTIES LIBRARY_OUTPUT_NAME "TextObject") + set_target_properties(TextObject_Runtime PROPERTIES ARCHIVE_OUTPUT_NAME "TextObject") + set_target_properties(TextObject_Runtime PROPERTIES PREFIX "") +ENDIF() IF(WIN32) set_target_properties(TextObject PROPERTIES SUFFIX ".xgdwe") set_target_properties(TextObject_Runtime PROPERTIES SUFFIX ".xgdw") +ELSEIF(EMSCRIPTEN) + set_target_properties(DestroyOutsideAutomatism PROPERTIES SUFFIX ".bc") ELSE() set_target_properties(TextObject PROPERTIES SUFFIX ".xgdle") set_target_properties(TextObject_Runtime PROPERTIES SUFFIX ".xgdl") ENDIF(WIN32) -set_target_properties(TextObject_Runtime PROPERTIES RUNTIME_OUTPUT_NAME "TextObject") #Linker files for the IDE extension ### -target_link_libraries(TextObject GDCore) -target_link_libraries(TextObject GDCpp) -IF(WIN32) - target_link_libraries(TextObject ${sfml_lib_dir}/libsfml-audio.a ${sfml_lib_dir}/libsfml-graphics.a ${sfml_lib_dir}/libsfml-window.a ${sfml_lib_dir}/libsfml-network.a ${sfml_lib_dir}/libsfml-system.a) - IF(CMAKE_BUILD_TYPE MATCHES DEBUG) - target_link_libraries(TextObject ${wxwidgets_lib_dir}/libwxmsw29ud_xrc.a ${wxwidgets_lib_dir}/libwxmsw29ud_stc.a ${wxwidgets_lib_dir}/libwxmsw29ud_richtext.a ${wxwidgets_lib_dir}/libwxmsw29ud_propgrid.a ${wxwidgets_lib_dir}/libwxmsw29ud_ribbon.a ${wxwidgets_lib_dir}/libwxmsw29ud_aui.a ${wxwidgets_lib_dir}/libwxmsw29ud_adv.a ${wxwidgets_lib_dir}/libwxmsw29ud_html.a ${wxwidgets_lib_dir}/libwxmsw29ud_core.a ${wxwidgets_lib_dir}/libwxbase29ud_xml.a ${wxwidgets_lib_dir}/libwxbase29ud_net.a ${wxwidgets_lib_dir}/libwxexpatd.a ${wxwidgets_lib_dir}/libwxbase29ud.a ${wxwidgets_lib_dir}/libwxpngd.a ${wxwidgets_lib_dir}/libwxjpegd.a ${wxwidgets_lib_dir}/libwxzlibd.a ${wxwidgets_lib_dir}/libwxtiffd.a) - ELSE() - target_link_libraries(TextObject ${wxwidgets_lib_dir}/libwxmsw29u_xrc.a ${wxwidgets_lib_dir}/libwxmsw29u_stc.a ${wxwidgets_lib_dir}/libwxmsw29u_richtext.a ${wxwidgets_lib_dir}/libwxmsw29u_propgrid.a ${wxwidgets_lib_dir}/libwxmsw29u_ribbon.a ${wxwidgets_lib_dir}/libwxmsw29u_aui.a ${wxwidgets_lib_dir}/libwxmsw29u_adv.a ${wxwidgets_lib_dir}/libwxmsw29u_html.a ${wxwidgets_lib_dir}/libwxmsw29u_core.a ${wxwidgets_lib_dir}/libwxbase29u_xml.a ${wxwidgets_lib_dir}/libwxbase29u_net.a ${wxwidgets_lib_dir}/libwxexpat.a ${wxwidgets_lib_dir}/libwxbase29u.a ${wxwidgets_lib_dir}/libwxpng.a ${wxwidgets_lib_dir}/libwxjpeg.a ${wxwidgets_lib_dir}/libwxzlib.a ${wxwidgets_lib_dir}/libwxtiff.a) - ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG) - - target_link_libraries(TextObject ws2_32 user32 opengl32 glu32) +IF(EMSCRIPTEN) + #Nothing. ELSE() - target_link_libraries(TextObject ${sfml_lib_dir}/libsfml-audio.so ${sfml_lib_dir}/libsfml-graphics.so ${sfml_lib_dir}/libsfml-window.so ${sfml_lib_dir}/libsfml-network.so ${sfml_lib_dir}/libsfml-system.so) - target_link_libraries(TextObject ${wxWidgets_LIBRARIES}) - target_link_libraries(TextObject ${GTK3_LIBRARIES}) -ENDIF(WIN32) + target_link_libraries(TextObject GDCore) + target_link_libraries(TextObject GDCpp) + IF(WIN32) + target_link_libraries(TextObject ${sfml_lib_dir}/libsfml-audio.a ${sfml_lib_dir}/libsfml-graphics.a ${sfml_lib_dir}/libsfml-window.a ${sfml_lib_dir}/libsfml-network.a ${sfml_lib_dir}/libsfml-system.a) + IF(CMAKE_BUILD_TYPE MATCHES DEBUG) + target_link_libraries(TextObject ${wxwidgets_lib_dir}/libwxmsw29ud_xrc.a ${wxwidgets_lib_dir}/libwxmsw29ud_stc.a ${wxwidgets_lib_dir}/libwxmsw29ud_richtext.a ${wxwidgets_lib_dir}/libwxmsw29ud_propgrid.a ${wxwidgets_lib_dir}/libwxmsw29ud_ribbon.a ${wxwidgets_lib_dir}/libwxmsw29ud_aui.a ${wxwidgets_lib_dir}/libwxmsw29ud_adv.a ${wxwidgets_lib_dir}/libwxmsw29ud_html.a ${wxwidgets_lib_dir}/libwxmsw29ud_core.a ${wxwidgets_lib_dir}/libwxbase29ud_xml.a ${wxwidgets_lib_dir}/libwxbase29ud_net.a ${wxwidgets_lib_dir}/libwxexpatd.a ${wxwidgets_lib_dir}/libwxbase29ud.a ${wxwidgets_lib_dir}/libwxpngd.a ${wxwidgets_lib_dir}/libwxjpegd.a ${wxwidgets_lib_dir}/libwxzlibd.a ${wxwidgets_lib_dir}/libwxtiffd.a) + ELSE() + target_link_libraries(TextObject ${wxwidgets_lib_dir}/libwxmsw29u_xrc.a ${wxwidgets_lib_dir}/libwxmsw29u_stc.a ${wxwidgets_lib_dir}/libwxmsw29u_richtext.a ${wxwidgets_lib_dir}/libwxmsw29u_propgrid.a ${wxwidgets_lib_dir}/libwxmsw29u_ribbon.a ${wxwidgets_lib_dir}/libwxmsw29u_aui.a ${wxwidgets_lib_dir}/libwxmsw29u_adv.a ${wxwidgets_lib_dir}/libwxmsw29u_html.a ${wxwidgets_lib_dir}/libwxmsw29u_core.a ${wxwidgets_lib_dir}/libwxbase29u_xml.a ${wxwidgets_lib_dir}/libwxbase29u_net.a ${wxwidgets_lib_dir}/libwxexpat.a ${wxwidgets_lib_dir}/libwxbase29u.a ${wxwidgets_lib_dir}/libwxpng.a ${wxwidgets_lib_dir}/libwxjpeg.a ${wxwidgets_lib_dir}/libwxzlib.a ${wxwidgets_lib_dir}/libwxtiff.a) + ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG) + target_link_libraries(TextObject ws2_32 user32 opengl32 glu32) + ELSE() + target_link_libraries(TextObject ${sfml_lib_dir}/libsfml-audio.so ${sfml_lib_dir}/libsfml-graphics.so ${sfml_lib_dir}/libsfml-window.so ${sfml_lib_dir}/libsfml-network.so ${sfml_lib_dir}/libsfml-system.so) + target_link_libraries(TextObject ${wxWidgets_LIBRARIES}) + target_link_libraries(TextObject ${GTK3_LIBRARIES}) + ENDIF(WIN32) +ENDIF() #Linker files for the GD C++ Runtime extension ### -target_link_libraries(TextObject_Runtime GDCpp_Runtime) -IF(WIN32) - target_link_libraries(TextObject_Runtime ${sfml_lib_dir}/libsfml-audio.a ${sfml_lib_dir}/libsfml-graphics.a ${sfml_lib_dir}/libsfml-window.a ${sfml_lib_dir}/libsfml-network.a ${sfml_lib_dir}/libsfml-system.a) - target_link_libraries(TextObject_Runtime ws2_32 user32 opengl32 glu32) +IF(EMSCRIPTEN) + #Nothing. ELSE() - target_link_libraries(TextObject_Runtime ${sfml_lib_dir}/libsfml-audio.so ${sfml_lib_dir}/libsfml-graphics.so ${sfml_lib_dir}/libsfml-window.so ${sfml_lib_dir}/libsfml-network.so ${sfml_lib_dir}/libsfml-system.so) -ENDIF(WIN32) \ No newline at end of file + target_link_libraries(TextObject_Runtime GDCpp_Runtime) + IF(WIN32) + target_link_libraries(TextObject_Runtime ${sfml_lib_dir}/libsfml-audio.a ${sfml_lib_dir}/libsfml-graphics.a ${sfml_lib_dir}/libsfml-window.a ${sfml_lib_dir}/libsfml-network.a ${sfml_lib_dir}/libsfml-system.a) + target_link_libraries(TextObject_Runtime ws2_32 user32 opengl32 glu32) + ELSE() + target_link_libraries(TextObject_Runtime ${sfml_lib_dir}/libsfml-audio.so ${sfml_lib_dir}/libsfml-graphics.so ${sfml_lib_dir}/libsfml-window.so ${sfml_lib_dir}/libsfml-network.so ${sfml_lib_dir}/libsfml-system.so) + ENDIF(WIN32) +ENDIF() diff --git a/Extensions/TextObject/TextObject.cpp b/Extensions/TextObject/TextObject.cpp index 11a45159f6..e758d2075e 100644 --- a/Extensions/TextObject/TextObject.cpp +++ b/Extensions/TextObject/TextObject.cpp @@ -29,7 +29,7 @@ freely, subject to the following restrictions: #endif #include #include "GDCpp/Object.h" - +#include "GDCore/Tools/Localization.h" #include "GDCpp/ImageManager.h" #include "GDCpp/Serialization/SerializerElement.h" #include "GDCpp/FontManager.h" @@ -145,15 +145,19 @@ void TextObject::ExposeResources(gd::ArbitraryResourceWorker & worker) bool TextObject::GenerateThumbnail(const gd::Project & project, wxBitmap & thumbnail) const { +#if !defined(GD_NO_WX_GUI) thumbnail = wxBitmap("CppPlatform/Extensions/texticon24.png", wxBITMAP_TYPE_ANY); +#endif return true; } void TextObject::EditObject( wxWindow* parent, gd::Project & game, gd::MainFrameWrapper & mainFrameWrapper ) { +#if !defined(GD_NO_WX_GUI) TextObjectEditor dialog(parent, game, *this, mainFrameWrapper); dialog.ShowModal(); +#endif } #endif diff --git a/Extensions/TextObject/TextObjectEditor.cpp b/Extensions/TextObject/TextObjectEditor.cpp index 55898cb31e..39b1ecc667 100644 --- a/Extensions/TextObject/TextObjectEditor.cpp +++ b/Extensions/TextObject/TextObjectEditor.cpp @@ -24,7 +24,7 @@ freely, subject to the following restrictions: */ -#if defined(GD_IDE_ONLY) +#if defined(GD_IDE_ONLY) && !defined(GD_NO_WX_GUI) #include "TextObjectEditor.h" diff --git a/Extensions/TextObject/TextObjectEditor.h b/Extensions/TextObject/TextObjectEditor.h index 0ce3999b76..c2933d5caa 100644 --- a/Extensions/TextObject/TextObjectEditor.h +++ b/Extensions/TextObject/TextObjectEditor.h @@ -24,7 +24,7 @@ freely, subject to the following restrictions: */ -#if defined(GD_IDE_ONLY) +#if defined(GD_IDE_ONLY) && !defined(GD_NO_WX_GUI) #ifndef TEXTOBJECTEDITOR_H #define TEXTOBJECTEDITOR_H diff --git a/GDCpp/GDCpp/RuntimeSpriteObject.cpp b/GDCpp/GDCpp/RuntimeSpriteObject.cpp index a7cde808d6..3309b31c98 100644 --- a/GDCpp/GDCpp/RuntimeSpriteObject.cpp +++ b/GDCpp/GDCpp/RuntimeSpriteObject.cpp @@ -138,7 +138,7 @@ bool RuntimeSpriteObject::Draw( sf::RenderTarget & renderTarget ) */ float RuntimeSpriteObject::GetDrawableX() const { - return X - GetCurrentSprite().GetOrigine().GetX()*fabs(scaleX); + return X - GetCurrentSprite().GetOrigin().GetX()*fabs(scaleX); } /** @@ -146,7 +146,7 @@ float RuntimeSpriteObject::GetDrawableX() const */ float RuntimeSpriteObject::GetDrawableY() const { - return Y - GetCurrentSprite().GetOrigine().GetY()*fabs(scaleY); + return Y - GetCurrentSprite().GetOrigin().GetY()*fabs(scaleY); } /** @@ -198,7 +198,7 @@ void RuntimeSpriteObject::SetOriginalSize() float RuntimeSpriteObject::GetCenterX() const { //Just need to multiply by the scale as it is the center - return GetCurrentSprite().GetCentre().GetX()*fabs(scaleX); + return GetCurrentSprite().GetCenter().GetX()*fabs(scaleX); } /** @@ -207,7 +207,7 @@ float RuntimeSpriteObject::GetCenterX() const float RuntimeSpriteObject::GetCenterY() const { //Just need to multiply by the scale as it is the center - return GetCurrentSprite().GetCentre().GetY()*fabs(scaleY); + return GetCurrentSprite().GetCenter().GetY()*fabs(scaleY); } float RuntimeSpriteObject::GetPointX(const std::string & name) const @@ -333,12 +333,12 @@ void RuntimeSpriteObject::UpdateCurrentSprite() const } } - ptrToCurrentSprite->GetSFMLSprite().setOrigin( ptrToCurrentSprite->GetCentre().GetX(), ptrToCurrentSprite->GetCentre().GetY() ); ; + ptrToCurrentSprite->GetSFMLSprite().setOrigin( ptrToCurrentSprite->GetCenter().GetX(), ptrToCurrentSprite->GetCenter().GetY() ); ; ptrToCurrentSprite->GetSFMLSprite().setRotation( multipleDirections ? 0 : currentAngle ); - ptrToCurrentSprite->GetSFMLSprite().setPosition( X + (ptrToCurrentSprite->GetCentre().GetX() - ptrToCurrentSprite->GetOrigine().GetX())*fabs(scaleX), - Y + (ptrToCurrentSprite->GetCentre().GetY() - ptrToCurrentSprite->GetOrigine().GetY())*fabs(scaleY) ); - if ( isFlippedX ) ptrToCurrentSprite->GetSFMLSprite().move((ptrToCurrentSprite->GetSFMLSprite().getLocalBounds().width/2-ptrToCurrentSprite->GetCentre().GetX())*fabs(scaleX)*2,0 ); - if ( isFlippedY ) ptrToCurrentSprite->GetSFMLSprite().move(0, (ptrToCurrentSprite->GetSFMLSprite().getLocalBounds().height/2-ptrToCurrentSprite->GetCentre().GetY())*fabs(scaleY)*2); + ptrToCurrentSprite->GetSFMLSprite().setPosition( X + (ptrToCurrentSprite->GetCenter().GetX() - ptrToCurrentSprite->GetOrigin().GetX())*fabs(scaleX), + Y + (ptrToCurrentSprite->GetCenter().GetY() - ptrToCurrentSprite->GetOrigin().GetY())*fabs(scaleY) ); + if ( isFlippedX ) ptrToCurrentSprite->GetSFMLSprite().move((ptrToCurrentSprite->GetSFMLSprite().getLocalBounds().width/2-ptrToCurrentSprite->GetCenter().GetX())*fabs(scaleX)*2,0 ); + if ( isFlippedY ) ptrToCurrentSprite->GetSFMLSprite().move(0, (ptrToCurrentSprite->GetSFMLSprite().getLocalBounds().height/2-ptrToCurrentSprite->GetCenter().GetY())*fabs(scaleY)*2); ptrToCurrentSprite->GetSFMLSprite().setScale( scaleX, scaleY ); ptrToCurrentSprite->GetSFMLSprite().setColor( sf::Color( colorR, colorV, colorB, opacity ) );