fix cross compilation for windows (disable boost.stacktrace + use sqrt instead of rsqrt)

This commit is contained in:
2026-03-02 20:08:38 +01:00
parent 9c48954a78
commit fed8a3aa82
4 changed files with 18 additions and 13 deletions

View File

@ -27,6 +27,7 @@ rec {
config = "x86_64-w64-mingw32";
};
config.allowUnfree = true;
overlays = [];
};
# ===========================================================================================
@ -190,7 +191,15 @@ rec {
raylib
raygui
thread-pool
boost
# Disable stacktrace since that's platform dependant and won't cross compile to windows
# https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/boost/generic.nix#L43
(boost.override {
enableShared = false;
extraB2Args = [
"--without-stacktrace"
];
})
];
cmakeFlags = [

View File

@ -11,6 +11,7 @@
#define NOUSER // All USER defines and routines
#endif
#define BS_THREAD_POOL_NATIVE_EXTENSIONS
// ReSharper disable once CppUnusedIncludeDirective
#include <BS_thread_pool.hpp>
#if defined(_WIN32) // raylib uses these names as function parameters
#undef near

View File

@ -14,19 +14,14 @@
#include <tracy/Tracy.hpp>
#endif
// TODO: Manual movement is now completely broken
// TODO: Add state space generation time to debug overlay
// TODO: Improve solver
// - Implement state discovery/enumeration
// - Find all possible initial board states (single one for each
// possible statespace). Currently wer're just finding all states
// given the initial state
// - Would allow to generate random puzzles with a certain move count
// TODO: Implement state discovery/enumeration
// - Find all possible initial board states (single one for each possible statespace).
// Currently wer're just finding all states given the initial state
// - Would allow to generate random puzzles with a certain move count
// TODO: Move selection accordingly when undoing moves (need to diff two states
// and get the moved blocks)
// TODO: Move selection accordingly when undoing moves (need to diff two states and get the moved blocks)
// TODO: Click states in the graph to display them in the board

View File

@ -21,7 +21,7 @@ auto mass_spring_system::calculate_spring_force(const size_t s) -> void
const Vector3 delta_vel = a_vel - b_vel;
const float sq_len = Vector3DotProduct(delta_pos, delta_pos);
const float inv_len = rsqrt(sq_len);
const float inv_len = 1.0f / sqrt(sq_len);
const float len = sq_len * inv_len;
const float hooke = SPRING_CONSTANT * (len - REST_LENGTH);