GameKit on Windows
GameKit updated for Windows and Mac with latest Rive Renderer.
- [x] Cleanup Windows includes
- [ ] Add image decoding from Flutter so procedural rendering can draw images.
I want to do the first one before submitting the PR and push the image decoding to a new PR. We can even start integrating it into the editor without that right now.
Diffs=
e96739328 GameKit on Windows (#7150)
Co-authored-by: Luigi Rosso <luigi-rosso@users.noreply.github.com>
diff --git a/.rive_head b/.rive_head
index 1b876f8..6f48914 100644
--- a/.rive_head
+++ b/.rive_head
@@ -1 +1 @@
-1c7e61b8a075b2eaacbcce4f5438d6072b30e420
+e96739328b7eb82870c5a642f6e3213c7b423d51
diff --git a/build/rive_build_config.lua b/build/rive_build_config.lua
index 49fa644..84993ee 100644
--- a/build/rive_build_config.lua
+++ b/build/rive_build_config.lua
@@ -130,10 +130,36 @@
linkoptions({ '-flto=full' })
end
-filter('system:windows')
+newoption({
+ trigger = 'use_default_runtime',
+ description = 'Don\'t set windows static runtime and runtime values.',
+})
+
+newoption({
+ trigger = 'runtime',
+ description = 'Choose whether to use staticruntime on/off/default',
+ allowed = {
+ { 'default', 'Use default runtime' },
+ { 'static', 'Use static runtime' },
+ { 'dynamic', 'Use dynamic runtime' },
+ },
+ default = 'static',
+})
+
+filter({ 'system:windows', 'options:runtime=static' })
do
staticruntime('on') -- Match Skia's /MT flag for link compatibility
runtime('Release') -- Use /MT even in debug (/MTd is incompatible with Skia)
+end
+
+filter({ 'system:windows', 'options:runtime=dynamic' })
+do
+ staticruntime('off')
+ runtime('Release')
+end
+
+filter('system:windows')
+do
architecture('x64')
defines({ '_USE_MATH_DEFINES', 'NOMINMAX' })
end
diff --git a/include/rive/artboard.hpp b/include/rive/artboard.hpp
index ba4ae11..69a339d 100644
--- a/include/rive/artboard.hpp
+++ b/include/rive/artboard.hpp
@@ -101,8 +101,8 @@
void onDirty(ComponentDirt dirt) override;
bool advance(double elapsedSeconds);
- bool hasChangedDrawOrderInLastUpdate() { return m_HasChangedDrawOrderInLastUpdate; };
- Drawable* firstDrawable() { return m_FirstDrawable; };
+ bool hasChangedDrawOrderInLastUpdate() { return m_HasChangedDrawOrderInLastUpdate; }
+ Drawable* firstDrawable() { return m_FirstDrawable; }
enum class DrawOption
{
diff --git a/src/animation/state_machine_instance.cpp b/src/animation/state_machine_instance.cpp
index 9434dd4..1719bbe 100644
--- a/src/animation/state_machine_instance.cpp
+++ b/src/animation/state_machine_instance.cpp
@@ -392,7 +392,7 @@
HitComponent(Component* component, StateMachineInstance* stateMachineInstance) :
m_component(component), m_stateMachineInstance(stateMachineInstance)
{}
- virtual ~HitComponent(){};
+ virtual ~HitComponent() {}
virtual HitResult processEvent(Vec2D position, ListenerType hitType, bool canHit) = 0;
protected:
@@ -409,7 +409,6 @@
HitShape(Component* shape, StateMachineInstance* stateMachineInstance) :
HitComponent(shape, stateMachineInstance)
{}
- ~HitShape() {}
bool isHovered = false;
float hitRadius = 2;
std::vector<const StateMachineListener*> listeners;
@@ -459,7 +458,7 @@
HitNestedArtboard(Component* nestedArtboard, StateMachineInstance* stateMachineInstance) :
HitComponent(nestedArtboard, stateMachineInstance)
{}
- ~HitNestedArtboard() {}
+ ~HitNestedArtboard() override {}
HitResult processEvent(Vec2D position, ListenerType hitType, bool canHit) override
{
auto nestedArtboard = m_component->as<NestedArtboard>();