diff --git a/Source/DasherVR/Private/Dasher3DWidget.cpp b/Source/DasherVR/Private/Dasher3DWidget.cpp index 131080ea1456346ac2dbabd1d20113a5a6f97c56..163510ade75899c5633f5bfcd72b400b8cac4823 100644 --- a/Source/DasherVR/Private/Dasher3DWidget.cpp +++ b/Source/DasherVR/Private/Dasher3DWidget.cpp @@ -103,13 +103,16 @@ void ADasher3DWidget::DrawCube(Dasher::screenint posX, Dasher::screenint posY, D BackBuffer->second.Add(Scale.X); BackBuffer->second.Add(Scale.Y); BackBuffer->second.Add(Scale.Z); - BackBuffer->second.Add(0.5f * iThickness); //Allows for individual adjustment + BackBuffer->second.Add(0.5f * iThickness * (outlineColor.isFullyTransparent() ? 0.0f : 1.0f)); //Allows for individual adjustment } // x & y are given as upper left corner of the character void ADasher3DWidget::Draw3DLabel(Label* label, Dasher::screenint x, Dasher::screenint y, Dasher::myint extrusionLevel, Dasher::myint groupRecursionDepth, unsigned int iFontSize, const Dasher::ColorPalette::Color& color) { float CharacterOffset = 0; // in Meters + if(LabelBackBuffer->first.Max() < LabelBackBuffer->first.Num() + label->m_strText.length()) LabelBackBuffer->first.Reserve(LabelBackBuffer->first.Num() + label->m_strText.length()); + if(LabelBackBuffer->second.Max() < LabelBackBuffer->second.Num() + label->m_strText.length()) LabelBackBuffer->second.Reserve(LabelBackBuffer->second.Num() + label->m_strText.length()); + FString labelText = UTF8_TO_TCHAR(label->m_strText.c_str()); for (int i = 0; i < labelText.Len(); i++) { @@ -144,7 +147,7 @@ void ADasher3DWidget::Draw3DLabel(Label* label, Dasher::screenint x, Dasher::scr const FVector CharTranslation = FVector( (x / DrawingSize.X + CharScale.X * 0.5f) * WorldToMeters + CharacterOffset, ((y + CharacterVerticalOffset) / DrawingSize.Y) * WorldToMeters, - (FMath::Max(ExtrusionLevelToHeight(extrusionLevel), 0.001) + groupRecursionDepth*0.001) * WorldToMeters + 0.01f + (FMath::Max(ExtrusionLevelToHeight(extrusionLevel), 0.001) + groupRecursionDepth*0.001) * WorldToMeters + 0.05f ) - FVector(0.5f, 0.5f, 0) * WorldToMeters; // Move to upper left corner of parent @@ -238,6 +241,23 @@ void ADasher3DWidget::Display() LetterInstances->SetCustomData(i, data); } + //Events: + const FString Buffer = DasherMainInterface->GetBuffer(); + if (CharacterEnteredFlag && CharacterDeletedFlag) { + CharacterSwitched(AlteredChar, Buffer); + BufferAltered(Buffer); + } + else if (CharacterEnteredFlag) { + CharacterEntered(AlteredChar, Buffer); + BufferAltered(Buffer); + } + else if (CharacterDeletedFlag) { + CharacterDeleted(AlteredChar, Buffer); + BufferAltered(Buffer); + } + + CharacterEnteredFlag = false; + CharacterDeletedFlag = false; } bool ADasher3DWidget::IsPointVisible(Dasher::screenint x, Dasher::screenint y) @@ -265,11 +285,11 @@ void ADasher3DWidget::SimulateClick(FKey Key, bool pressed) { if(Key == EKeys::LeftMouseButton || Key == EKeys::RightMouseButton) if(pressed) - { - DasherMainInterface->KeyDown(FDateTime::Now().GetSecond() + FDateTime::Now().GetMillisecond(), (Key == EKeys::LeftMouseButton)?100:101); + { + DasherMainInterface->KeyDown(FDateTime::Now().GetSecond() + FDateTime::Now().GetMillisecond(), (Key == EKeys::LeftMouseButton) ? Dasher::Keys::Primary_Input : Dasher::Keys::Secondary_Input); } else { - DasherMainInterface->KeyUp(FDateTime::Now().GetSecond() + FDateTime::Now().GetMillisecond(), (Key == EKeys::LeftMouseButton)?100:101); + DasherMainInterface->KeyUp(FDateTime::Now().GetSecond() + FDateTime::Now().GetMillisecond(), (Key == EKeys::LeftMouseButton) ? Dasher::Keys::Primary_Input : Dasher::Keys::Secondary_Input); } } @@ -293,13 +313,14 @@ void ADasher3DWidget::InitializeDasher() { resize(DrawingSize.X, DrawingSize.Y); static Dasher::XMLErrorDisplay display; - Dasher::XmlSettingsStore* Settings = new Dasher::XmlSettingsStore("Settings.xml"/*, &fileUtils*/, &display); //Gets deleted somewhere else + Dasher::XmlSettingsStore* Settings = new Dasher::XmlSettingsStore("Settings3D.xml"/*, &fileUtils*/, &display); //Gets deleted somewhere else Settings->Load(); Settings->Save(); DasherMainInterface = MakeShared<Dasher::DasherInterface>(Settings); - DasherMainInterface->SetDefaultInputDevice(this); - //change dasher parameters - DasherMainInterface->SetLongParameter(Dasher::LP_SHAPE_TYPE, Dasher::Options::CUBE); + DasherMainInterface->GetModuleManager()->RegisterInputDeviceModule(this, true); + + DasherMainInterface->SetCharEnteredCallback([this](FString Char, FString Buffer) {CharacterEnteredFlag = true; AlteredChar = Char; }); + DasherMainInterface->SetCharDeletedCallback([this](FString Char, FString Buffer) {CharacterDeletedFlag = true; AlteredChar = Char; }); DasherMainInterface->SetScreen(this); DasherMainInterface->SetBuffer(0); diff --git a/Source/DasherVR/Private/DasherInterface.cpp b/Source/DasherVR/Private/DasherInterface.cpp index bf2a2eb4c6c2d4e3105b84f382138ba1038cad70..b6b085be38e353ac3334ae91bd50eaa379499206 100644 --- a/Source/DasherVR/Private/DasherInterface.cpp +++ b/Source/DasherVR/Private/DasherInterface.cpp @@ -28,11 +28,11 @@ namespace Dasher //The next functions operate on the buffer //For now can only return one character around the cursor - std::string DasherInterface::GetTextAroundCursor(Dasher::CControlManager::EditDistance iDist) + std::string DasherInterface::GetTextAroundCursor(Dasher::EditDistance iDist) { if (Buffer.Len()>Cursor) { - if (iDist == Dasher::CControlManager::EditDistance::EDIT_CHAR) + if (iDist == Dasher::EditDistance::EDIT_CHAR) { const FString Output = Buffer.Mid(Cursor, 1); return TCHAR_TO_UTF8(*Output); @@ -47,9 +47,9 @@ namespace Dasher return std::string("Cursor out of bounds"); } - unsigned int DasherInterface::ctrlMove(bool bForwards, Dasher::CControlManager::EditDistance dist) + unsigned int DasherInterface::ctrlMove(bool bForwards, Dasher::EditDistance dist) { - if (dist == Dasher::CControlManager::EditDistance::EDIT_CHAR) + if (dist == Dasher::EditDistance::EDIT_CHAR) { if (bForwards) Cursor++; else Cursor--; @@ -57,9 +57,9 @@ namespace Dasher return Cursor; } - unsigned int DasherInterface::ctrlDelete(bool bForwards, Dasher::CControlManager::EditDistance dist) + unsigned int DasherInterface::ctrlDelete(bool bForwards, Dasher::EditDistance dist) { - if (dist == Dasher::CControlManager::EditDistance::EDIT_CHAR) + if (dist == Dasher::EditDistance::EDIT_CHAR) { const int Index = Cursor - (bForwards ? 0 : 1); const FString DeletedChar = Buffer.Mid(Index, 1); diff --git a/Source/DasherVR/Private/SDasherWidget.cpp b/Source/DasherVR/Private/SDasherWidget.cpp index c533fc775f94695ca56599a8ed250d1cad2519f6..255d07b34c576cde7e033bac5136d116a26118ae 100644 --- a/Source/DasherVR/Private/SDasherWidget.cpp +++ b/Source/DasherVR/Private/SDasherWidget.cpp @@ -52,7 +52,7 @@ FReply SDasherWidget::HandleMouseDownEvent(const FGeometry& Geometry, const FPoi CurrentlyUsingVectorInput = false; return FReply::Handled().LockMouseToWidget(AsShared()); } - DasherMainInterface->KeyDown(FDateTime::Now().GetSecond() + FDateTime::Now().GetMillisecond(), 100); //100 is the keycode for LMB + DasherMainInterface->KeyDown(FDateTime::Now().GetSecond() + FDateTime::Now().GetMillisecond(), Dasher::Keys::Primary_Input); MouseDownListeners.ExecuteIfBound(); } return FReply::Handled().LockMouseToWidget(AsShared()); @@ -65,7 +65,7 @@ FReply SDasherWidget::HandleMouseUpEvent(const FGeometry& Geometry, const FPoint CurrentlyUsingVectorInput = false; return FReply::Handled().ReleaseMouseLock(); } - DasherMainInterface->KeyUp(FDateTime::Now().GetSecond() + FDateTime::Now().GetMillisecond(), 100); //100 is the keycode for LMB + DasherMainInterface->KeyUp(FDateTime::Now().GetSecond() + FDateTime::Now().GetMillisecond(), Dasher::Keys::Primary_Input); MouseUpListeners.ExecuteIfBound(); return FReply::Handled().ReleaseMouseLock(); @@ -80,7 +80,7 @@ FReply SDasherWidget::HandleMouseDoubleClickEvent(const FGeometry& Geometry, con CurrentlyUsingVectorInput = false; return FReply::Handled(); } - DasherMainInterface->KeyUp(FDateTime::Now().GetSecond() + FDateTime::Now().GetMillisecond(), 100); //100 is the keycode for LMB + DasherMainInterface->KeyUp(FDateTime::Now().GetSecond() + FDateTime::Now().GetMillisecond(), Dasher::Keys::Primary_Input); } return FReply::Handled(); } @@ -117,10 +117,10 @@ void SDasherWidget::InputButton(bool Pressed) CurrentlyUsingVectorInput = true; if (Pressed) { - DasherMainInterface->KeyDown(FDateTime::Now().GetSecond() + FDateTime::Now().GetMillisecond(), 100); //100 is the keycode for LMB + DasherMainInterface->KeyDown(FDateTime::Now().GetSecond() + FDateTime::Now().GetMillisecond(), Dasher::Keys::Primary_Input); } else { - DasherMainInterface->KeyUp(FDateTime::Now().GetSecond() + FDateTime::Now().GetMillisecond(), 100); //100 is the keycode for LMB + DasherMainInterface->KeyUp(FDateTime::Now().GetSecond() + FDateTime::Now().GetMillisecond(), Dasher::Keys::Primary_Input); } } } @@ -142,11 +142,10 @@ void SDasherWidget::Construct(const FArguments& InArgs) Settings->Load(); Settings->Save(); DasherMainInterface = MakeShared<Dasher::DasherInterface>(Settings); - DasherMainInterface->SetDefaultInputDevice(this); + DasherMainInterface->GetModuleManager()->RegisterInputDeviceModule(this, true); DasherMainInterface->SetScreen(this); DasherMainInterface->SetBuffer(0); - DasherMainInterface->SetLongParameter(Dasher::LP_SHAPE_TYPE, Dasher::Options::OVERLAPPING_RECTANGLE); DasherMainInterface->SetCharEnteredCallback([this](FString Char, FString Buffer) {CharacterEnteredFlag = true; AlteredChar = Char; }); DasherMainInterface->SetCharDeletedCallback([this](FString Char, FString Buffer) {CharacterDeletedFlag = true; AlteredChar = Char; }); @@ -215,8 +214,8 @@ int32 SDasherWidget::OnPaint(const FPaintArgs& Args, const FGeometry& AllottedGe break; case PolyLine: LineObject = static_cast<FPolyLine*>(GeneralObject.Get()); - FSlateDrawElement::MakeLines(OutDrawElements, LayerId++, AllottedGeometry.ToPaintGeometry(), LineObject->points, ESlateDrawEffect::None, LineObject->color, true, LineObject->linewidth); - break; + FSlateDrawElement::MakeLines(OutDrawElements, LayerId++, AllottedGeometry.ToPaintGeometry(), LineObject->points, ESlateDrawEffect::None, LineObject->color, LineObject->AntiAliasing, LineObject->linewidth); + break; default: break; } } @@ -275,30 +274,24 @@ void SDasherWidget::Display() { //Functions for Drawing void SDasherWidget::DrawRectangle(Dasher::screenint x1, Dasher::screenint y1, Dasher::screenint x2, Dasher::screenint y2, const Dasher::ColorPalette::Color& color, const Dasher::ColorPalette::Color& outlineColor, int iThickness) { - FVector2D TopBG = FVector2D(x1, y1); - FVector2D BottomBG = FVector2D(x2, y2); - FVector2D TopFG(x1, y1); - FVector2D BottomFG(x2, y2); + if(outlineColor == Dasher::ColorPalette::noColor) iThickness = 0; // Draw till brim if no outline color is given - if (iThickness) + if(color != Dasher::ColorPalette::noColor && !color.isFullyTransparent()) { - TopFG = FVector2D(x1+iThickness, y1+iThickness); - BottomFG = FVector2D(x2-iThickness, y2-iThickness); - - TArray<FVector2D> PointArray = { - {TopBG.X, TopBG.Y}, - {TopBG.X, BottomBG.Y}, - {BottomBG.X, BottomBG.Y}, - {BottomBG.X, TopBG.Y}, - {TopBG.X, TopBG.Y} - }; - - BackBuffer->Add(MakeUnique<FPolyLine>(PointArray, static_cast<float>(iThickness), FLinearColor(color.Red / 255.0, color.Green / 255.0, color.Blue / 255.0, color.Alpha / 255.0f))); + BackBuffer->Add(MakeUnique<FFilledRect>(FVector2D(x1 + iThickness, y1 + iThickness), FVector2D(x2 - iThickness, y2 - iThickness), FLinearColor(color.Red / 255.0f, color.Green / 255.0f, color.Blue / 255.0f, color.Alpha / 255.0f))); } - if(color != Dasher::ColorPalette::noColor) + if (iThickness && outlineColor != Dasher::ColorPalette::noColor && !outlineColor.isFullyTransparent()) { - BackBuffer->Add(MakeUnique<FFilledRect>(TopFG, BottomFG, FLinearColor(color.Red / 255.0f, color.Green / 255.0f, color.Blue / 255.0f, color.Alpha / 255.0f))); + const float hThickness = iThickness / 2.0f; + const FVector2D CornerMin = FVector2D(x1 + hThickness, y1 + hThickness); + const FVector2D CornerMax = FVector2D(x2 - hThickness, y2 - hThickness); + + const FLinearColor oColor = FLinearColor(outlineColor.Red / 255.0, outlineColor.Green / 255.0, outlineColor.Blue / 255.0, outlineColor.Alpha / 255.0f); + BackBuffer->Add(MakeUnique<FPolyLine>(TArray({FVector2D(CornerMin.X, CornerMin.Y - hThickness),FVector2D(CornerMin.X, CornerMax.Y + hThickness)}), static_cast<float>(iThickness), oColor, false)); + BackBuffer->Add(MakeUnique<FPolyLine>(TArray({FVector2D(CornerMin.X - hThickness, CornerMax.Y),FVector2D(CornerMax.X + hThickness, CornerMax.Y)}), static_cast<float>(iThickness), oColor, false)); + BackBuffer->Add(MakeUnique<FPolyLine>(TArray({FVector2D(CornerMax.X, CornerMax.Y + hThickness),FVector2D(CornerMax.X, CornerMin.Y - hThickness)}), static_cast<float>(iThickness), oColor, false)); + BackBuffer->Add(MakeUnique<FPolyLine>(TArray({FVector2D(CornerMax.X + hThickness, CornerMin.Y),FVector2D(CornerMin.X - hThickness, CornerMin.Y)}), static_cast<float>(iThickness), oColor, false)); } } @@ -313,7 +306,7 @@ void SDasherWidget::Polyline(CDasherScreen::point* points, int number, int iwidt PointArray.Add(Point); } - BackBuffer->Add(MakeUnique<FPolyLine>(PointArray, static_cast<float>(iwidth), FLinearColor(color.Red / 255.0, color.Green / 255.0, color.Blue / 255.0, color.Alpha / 255.0f))); + BackBuffer->Add(MakeUnique<FPolyLine>(PointArray, static_cast<float>(iwidth), FLinearColor(color.Red / 255.0, color.Green / 255.0, color.Blue / 255.0, color.Alpha / 255.0f), true)); } //techincally polygons are just multiple polylines. Dasher doesn't actually draw polygons in our case. @@ -325,7 +318,7 @@ void SDasherWidget::Polygon(CDasherScreen::point* points, int number, const Dash } PointArray.Add(FVector2D(points[0].x, points[0].y)); - BackBuffer->Add(MakeUnique<FPolyLine>(PointArray, static_cast<float>(iwidth), FLinearColor(outlinecolor.Red / 255.0, outlinecolor.Green / 255.0, outlinecolor.Blue / 255.0, outlinecolor.Alpha / 255.0))); + BackBuffer->Add(MakeUnique<FPolyLine>(PointArray, static_cast<float>(iwidth), FLinearColor(outlinecolor.Red / 255.0, outlinecolor.Green / 255.0, outlinecolor.Blue / 255.0, outlinecolor.Alpha / 255.0), true)); } //We pass through the contents of the dasher buffer diff --git a/Source/DasherVR/Public/Dasher3DWidget.h b/Source/DasherVR/Public/Dasher3DWidget.h index 936e4074bafe6e262f14b83de16af027b0a0937f..84daed0d7bf85a3e5cb8b179602d9680151f4e66 100644 --- a/Source/DasherVR/Public/Dasher3DWidget.h +++ b/Source/DasherVR/Public/Dasher3DWidget.h @@ -7,20 +7,19 @@ #include "GameFramework/Actor.h" #include "DasherCoreWrapper.h" #include "DasherInterface.h" -#include "Fonts/FontMeasure.h" #include "Components/InstancedStaticMeshComponent.h" #include "Engine/Texture2DArray.h" #include "Materials/Material.h" -#include "Dasher3DWidget.generated.h" class DasherParents : public Dasher::CDasherScreen, public Dasher::CScreenCoordInput { public: - DasherParents() : CDasherScreen(0,0), CScreenCoordInput(0, _("Mouse Input")){}; + DasherParents() : CDasherScreen(0,0), CScreenCoordInput("Mouse Input"){}; }; +#include "Dasher3DWidget.generated.h" -UCLASS() +UCLASS(BlueprintType) class DASHERVR_API ADasher3DWidget : public AActor, public DasherParents { GENERATED_BODY() @@ -52,7 +51,6 @@ public: virtual void Display() override; virtual bool IsPointVisible(Dasher::screenint x, Dasher::screenint y) override; virtual bool GetScreenCoords(Dasher::screenint& iX, Dasher::screenint& iY, Dasher::CDasherView* pView) override; - virtual bool MultiSizeFonts() override { return true; } virtual void SendMarker(int Marker) override {}; FVector2D GetCursorPosition(){return CursorPosition;}; @@ -69,7 +67,17 @@ public: UFUNCTION(BlueprintCallable) void SetMouseLocation(FVector WorldLocation); UFUNCTION(BlueprintCallable) void SimulateClick(FKey Key, bool pressed); virtual void PostInitializeComponents() override; + +public: + UFUNCTION(BlueprintImplementableEvent) void CharacterEntered(const FString& Char, const FString& Buffer); + UFUNCTION(BlueprintImplementableEvent) void CharacterDeleted(const FString& Char, const FString& Buffer); + UFUNCTION(BlueprintImplementableEvent) void CharacterSwitched(const FString& Char, const FString& Buffer); + UFUNCTION(BlueprintImplementableEvent) void BufferAltered(const FString& Buffer); +private: + bool CharacterEnteredFlag = false; + bool CharacterDeletedFlag = false; + FString AlteredChar = ""; private: FVector2D CursorPosition; diff --git a/Source/DasherVR/Public/DasherInterface.h b/Source/DasherVR/Public/DasherInterface.h index bc2de9c7651949b6664df88755feda0884b8d0a9..6ff93a03db10f9d7c146f9293c49dfa47f245295 100644 --- a/Source/DasherVR/Public/DasherInterface.h +++ b/Source/DasherVR/Public/DasherInterface.h @@ -37,7 +37,7 @@ namespace Dasher /// For character around cursor decision is arbitrary. Let's settle for character before cursor. /// TODO. Consistently name functions dealing with dasher context, versus functions dealing with editor text. /// I.E. GetAllContext should be named GetAllTtext - virtual std::string GetTextAroundCursor(Dasher::CControlManager::EditDistance) override; + virtual std::string GetTextAroundCursor(Dasher::EditDistance) override; ///Called to execute a control-mode "move" command. @@ -45,7 +45,7 @@ namespace Dasher ///\param dist how far to move: character, word, line, file. (Usually defined /// by OS, e.g. for non-european languages) ///\return the offset, into the edit buffer of the cursor *after* the move. - virtual unsigned int ctrlMove(bool bForwards, Dasher::CControlManager::EditDistance dist) override; + virtual unsigned int ctrlMove(bool bForwards, Dasher::EditDistance dist) override; ///Called to execute a control-mode "delete" command. @@ -54,7 +54,7 @@ namespace Dasher /// by OS, e.g. for non-european languages) ///\return the offset, into the edit buffer, of the cursor *after* the delete /// (for forwards deletion, this will be the same as the offset *before - virtual unsigned int ctrlDelete(bool bForwards, Dasher::CControlManager::EditDistance dist) override; + virtual unsigned int ctrlDelete(bool bForwards, Dasher::EditDistance dist) override; ///Clears all written text from edit buffer and rebuilds the model. The default /// implementation does this using the control mode editDelete mechanism diff --git a/Source/DasherVR/Public/SDasherWidget.h b/Source/DasherVR/Public/SDasherWidget.h index b3fa7adc03b039b667fc8125628a4c0e076f222a..ead5b120b45b995fbc2ea9b333dcb94f63164ebd 100644 --- a/Source/DasherVR/Public/SDasherWidget.h +++ b/Source/DasherVR/Public/SDasherWidget.h @@ -49,9 +49,10 @@ struct FWriting : DasherDrawGeometry{ struct FPolyLine : DasherDrawGeometry{ TArray<FVector2D> points; float linewidth; + bool AntiAliasing; FLinearColor color; - FPolyLine(TArray<FVector2D> Points, float LineWidth, FLinearColor Color): DasherDrawGeometry(PolyLine), points(Points), linewidth(LineWidth), color(Color) {} + FPolyLine(TArray<FVector2D> Points, float LineWidth, FLinearColor Color, bool AntiAliasing): DasherDrawGeometry(PolyLine), points(Points), linewidth(LineWidth), AntiAliasing(AntiAliasing), color(Color) {} }; DECLARE_DELEGATE(FDasherMouseUpDelegate); @@ -74,7 +75,7 @@ public: typedef Dasher::screenint screenint; - SDasherWidget(): CDasherScreen(0,0), CScreenCoordInput(0, _("Mouse Input")) {} + SDasherWidget(): CDasherScreen(0,0), CScreenCoordInput("Mouse Input") {} // Constructs this widget with InArgs. Needed for every widget. Builds this widget and any of its children void Construct(const FArguments& InArgs); @@ -104,8 +105,6 @@ public: virtual bool IsPointVisible(screenint x, screenint y) override { return true; } - virtual bool MultiSizeFonts() override {return true;} - //Pass-me-down returning Buffer FString GetBuffer() const; void ResetBuffer(); @@ -124,7 +123,7 @@ public: FReply HandleMouseUpEvent(const FGeometry& Geometry, const FPointerEvent& MouseEvent); FReply HandleMouseDoubleClickEvent(const FGeometry& Geometry, const FPointerEvent& MouseEvent); - virtual bool SupportsKeyboardFocus() const override {return true;}; + virtual bool SupportsKeyboardFocus() const override {return true;} virtual bool GetScreenCoords(screenint& iX, screenint& iY, Dasher::CDasherView* pView) override; @@ -150,8 +149,8 @@ private: TArray<TUniquePtr<DasherDrawGeometry>>* BackBuffer = &GeometryBufferA; TArray<TUniquePtr<DasherDrawGeometry>>* FrontBuffer = &GeometryBufferB; - int Height; - int Width; + int Height = 0; + int Width = 0; bool HasBeenPainted = false; bool CurrentlyUsingVectorInput = false; FVector2D CursorPosition; diff --git a/Source/Thirdparty/Dasher/DasherCore b/Source/Thirdparty/Dasher/DasherCore index 841a75e6a3410f40a44696a5ba4b224fac32566c..a4df257624722cae45b8d9dd5d14dea8ce1dc4a5 160000 --- a/Source/Thirdparty/Dasher/DasherCore +++ b/Source/Thirdparty/Dasher/DasherCore @@ -1 +1 @@ -Subproject commit 841a75e6a3410f40a44696a5ba4b224fac32566c +Subproject commit a4df257624722cae45b8d9dd5d14dea8ce1dc4a5 diff --git a/Source/Thirdparty/Dasher/Lib/DasherCore.lib b/Source/Thirdparty/Dasher/Lib/DasherCore.lib index 211eee4b20608207d8122a1c2a774eabf90dbc57..f6fcc0b262a35b3beb1cd44e1d76c564867c54ab 100644 --- a/Source/Thirdparty/Dasher/Lib/DasherCore.lib +++ b/Source/Thirdparty/Dasher/Lib/DasherCore.lib @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6b5181c3f79660521838bb8c41ba794ef0520053e866f40be22e12913b5de066 -size 20109586 +oid sha256:aabffff7bea2fe1a696c01b35344a381f1da6075928bc3dbee9131143eef7d66 +size 29696466 diff --git a/Source/Thirdparty/Dasher/Lib/DasherCore.pdb b/Source/Thirdparty/Dasher/Lib/DasherCore.pdb index c5fff29c9228c3de21efa84677b30bac89437b21..70bf6b88afa9394bf1c2a60e6895c731a985b585 100644 Binary files a/Source/Thirdparty/Dasher/Lib/DasherCore.pdb and b/Source/Thirdparty/Dasher/Lib/DasherCore.pdb differ diff --git a/Source/Thirdparty/Dasher/Lib/pugixml.lib b/Source/Thirdparty/Dasher/Lib/pugixml.lib index 0c2d22f788751b38a0d3b9de1e36661de8012548..cc5f076671ff70b42d2c22427a759760c21d7f69 100644 --- a/Source/Thirdparty/Dasher/Lib/pugixml.lib +++ b/Source/Thirdparty/Dasher/Lib/pugixml.lib @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4ba9e6aa5ee9fae8c09359967d418ad10f9929acb2d0ae35285f9ad73e21bd95 -size 1492554 +oid sha256:50b65a51cb2f9725e9aa50ec22d9b96566400dd18c424bf28bdb98a6bdc63782 +size 1492990 diff --git a/Source/Thirdparty/Dasher/Lib/pugixml.pdb b/Source/Thirdparty/Dasher/Lib/pugixml.pdb index b94dafb163cafd6c3357df13b6a2005a3c608016..ce063a7660e3e0bfde4796129e03c37b0abd4082 100644 Binary files a/Source/Thirdparty/Dasher/Lib/pugixml.pdb and b/Source/Thirdparty/Dasher/Lib/pugixml.pdb differ