From ed31873e6578dc666c9214461cbab6b8d66e8d0d Mon Sep 17 00:00:00 2001 From: Abraham Sewill Date: Mon, 30 Mar 2026 23:46:12 -0500 Subject: [PATCH 1/4] Fixed missing SelectRoot() call in font rendering. --- src/rendering/font.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rendering/font.go b/src/rendering/font.go index 8c08d3fa1..eda1f5115 100644 --- a/src/rendering/font.go +++ b/src/rendering/font.go @@ -146,7 +146,7 @@ func (cache *FontCache) TransparentMaterial(target *Material) *Material { } else if target.SelectRoot() == cache.textOrthoMaterial.SelectRoot() { return cache.textOrthoMaterialTransparent } else if target.SelectRoot() == cache.textMaterialTransparent.SelectRoot() || - target == cache.textOrthoMaterialTransparent.SelectRoot() { + target.SelectRoot() == cache.textOrthoMaterialTransparent.SelectRoot() { return target } slog.Error("invalid material used for getting transparent text material", "material", target.Id) From 0f2409da64c8718c7329fef4571768d3d8cece57 Mon Sep 17 00:00:00 2001 From: Abraham Sewill Date: Wed, 1 Apr 2026 14:31:11 -0500 Subject: [PATCH 2/4] Add linux/riscv64 CGo support for physics and audio. Add #cgo linux,riscv64 LDFLAGS directives to all 9 physics files and the audio package. Rename libsoloud_nix to libsoloud_nix_amd64 for naming consistency with darwin variants. Fix missing darwin,amd64 LDFLAGS in bullet3_collision_configuration.go. Co-Authored-By: Claude Opus 4.6 --- src/engine/physics/bullet3_broadphase_interface.go | 1 + src/engine/physics/bullet3_collision_configuration.go | 2 ++ src/engine/physics/bullet3_collision_dispatcher.go | 1 + src/engine/physics/bullet3_collision_object.go | 1 + src/engine/physics/bullet3_collision_shape.go | 1 + src/engine/physics/bullet3_constraint_solver.go | 1 + src/engine/physics/bullet3_motion_state.go | 1 + src/engine/physics/bullet3_rigid_body.go | 1 + src/engine/physics/bullet3_world.go | 1 + src/libs | 2 +- src/platform/audio/soloud.c.go | 3 ++- 11 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/engine/physics/bullet3_broadphase_interface.go b/src/engine/physics/bullet3_broadphase_interface.go index dec092d34..e6f54cc41 100644 --- a/src/engine/physics/bullet3_broadphase_interface.go +++ b/src/engine/physics/bullet3_broadphase_interface.go @@ -40,6 +40,7 @@ package physics #cgo CXXFLAGS: -std=c++11 #cgo windows,amd64 LDFLAGS: -L../../libs -lBulletDynamics_win_amd64 -lBulletCollision_win_amd64 -lLinearMath_win_amd64 -lstdc++ -lm #cgo linux,amd64 LDFLAGS: -L../../libs -lBulletDynamics_nix_amd64 -lBulletCollision_nix_amd64 -lLinearMath_nix_amd64 -lstdc++ -lm +#cgo linux,riscv64 LDFLAGS: -L../../libs -lBulletDynamics_nix_riscv64 -lBulletCollision_nix_riscv64 -lLinearMath_nix_riscv64 -lstdc++ -lm #cgo darwin,arm64 LDFLAGS: -L../../libs -lBulletDynamics_darwin_arm64 -lBulletCollision_darwin_arm64 -lLinearMath_darwin_arm64 -lstdc++ -lm #cgo darwin,amd64 LDFLAGS: -L../../libs -lBulletDynamics_darwin_amd64 -lBulletCollision_darwin_amd64 -lLinearMath_darwin_amd64 -lstdc++ -lm #include "bullet3_wrapper.h" diff --git a/src/engine/physics/bullet3_collision_configuration.go b/src/engine/physics/bullet3_collision_configuration.go index d04c1cfd8..2b1c407f8 100644 --- a/src/engine/physics/bullet3_collision_configuration.go +++ b/src/engine/physics/bullet3_collision_configuration.go @@ -42,7 +42,9 @@ import "runtime" #cgo CXXFLAGS: -std=c++11 #cgo windows,amd64 LDFLAGS: -L../../libs -lBulletDynamics_win_amd64 -lBulletCollision_win_amd64 -lLinearMath_win_amd64 -lstdc++ -lm #cgo linux,amd64 LDFLAGS: -L../../libs -lBulletDynamics_nix_amd64 -lBulletCollision_nix_amd64 -lLinearMath_nix_amd64 -lstdc++ -lm +#cgo linux,riscv64 LDFLAGS: -L../../libs -lBulletDynamics_nix_riscv64 -lBulletCollision_nix_riscv64 -lLinearMath_nix_riscv64 -lstdc++ -lm #cgo darwin,arm64 LDFLAGS: -L../../libs -lBulletDynamics_darwin_arm64 -lBulletCollision_darwin_arm64 -lLinearMath_darwin_arm64 -lstdc++ -lm +#cgo darwin,amd64 LDFLAGS: -L../../libs -lBulletDynamics_darwin_amd64 -lBulletCollision_darwin_amd64 -lLinearMath_darwin_amd64 -lstdc++ -lm #include "bullet3_wrapper.h" #cgo noescape new_btDefaultCollisionConfiguration #cgo nocallback new_btDefaultCollisionConfiguration diff --git a/src/engine/physics/bullet3_collision_dispatcher.go b/src/engine/physics/bullet3_collision_dispatcher.go index 5013e4469..90e00748f 100644 --- a/src/engine/physics/bullet3_collision_dispatcher.go +++ b/src/engine/physics/bullet3_collision_dispatcher.go @@ -40,6 +40,7 @@ package physics #cgo CXXFLAGS: -std=c++11 #cgo windows,amd64 LDFLAGS: -L../../libs -lBulletDynamics_win_amd64 -lBulletCollision_win_amd64 -lLinearMath_win_amd64 -lstdc++ -lm #cgo linux,amd64 LDFLAGS: -L../../libs -lBulletDynamics_nix_amd64 -lBulletCollision_nix_amd64 -lLinearMath_nix_amd64 -lstdc++ -lm +#cgo linux,riscv64 LDFLAGS: -L../../libs -lBulletDynamics_nix_riscv64 -lBulletCollision_nix_riscv64 -lLinearMath_nix_riscv64 -lstdc++ -lm #cgo darwin,arm64 LDFLAGS: -L../../libs -lBulletDynamics_darwin_arm64 -lBulletCollision_darwin_arm64 -lLinearMath_darwin_arm64 -lstdc++ -lm #cgo darwin,amd64 LDFLAGS: -L../../libs -lBulletDynamics_darwin_amd64 -lBulletCollision_darwin_amd64 -lLinearMath_darwin_amd64 -lstdc++ -lm #include "bullet3_wrapper.h" diff --git a/src/engine/physics/bullet3_collision_object.go b/src/engine/physics/bullet3_collision_object.go index cd0bdd969..b58377a83 100644 --- a/src/engine/physics/bullet3_collision_object.go +++ b/src/engine/physics/bullet3_collision_object.go @@ -40,6 +40,7 @@ package physics #cgo CXXFLAGS: -std=c++11 #cgo windows,amd64 LDFLAGS: -L../../libs -lBulletDynamics_win_amd64 -lBulletCollision_win_amd64 -lLinearMath_win_amd64 -lstdc++ -lm #cgo linux,amd64 LDFLAGS: -L../../libs -lBulletDynamics_nix_amd64 -lBulletCollision_nix_amd64 -lLinearMath_nix_amd64 -lstdc++ -lm +#cgo linux,riscv64 LDFLAGS: -L../../libs -lBulletDynamics_nix_riscv64 -lBulletCollision_nix_riscv64 -lLinearMath_nix_riscv64 -lstdc++ -lm #cgo darwin,arm64 LDFLAGS: -L../../libs -lBulletDynamics_darwin_arm64 -lBulletCollision_darwin_arm64 -lLinearMath_darwin_arm64 -lstdc++ -lm #cgo darwin,amd64 LDFLAGS: -L../../libs -lBulletDynamics_darwin_amd64 -lBulletCollision_darwin_amd64 -lLinearMath_darwin_amd64 -lstdc++ -lm #include "bullet3_wrapper.h" diff --git a/src/engine/physics/bullet3_collision_shape.go b/src/engine/physics/bullet3_collision_shape.go index 36f701da6..c19dce85c 100644 --- a/src/engine/physics/bullet3_collision_shape.go +++ b/src/engine/physics/bullet3_collision_shape.go @@ -40,6 +40,7 @@ package physics #cgo CXXFLAGS: -std=c++11 #cgo windows,amd64 LDFLAGS: -L../../libs -lBulletDynamics_win_amd64 -lBulletCollision_win_amd64 -lLinearMath_win_amd64 -lstdc++ -lm #cgo linux,amd64 LDFLAGS: -L../../libs -lBulletDynamics_nix_amd64 -lBulletCollision_nix_amd64 -lLinearMath_nix_amd64 -lstdc++ -lm +#cgo linux,riscv64 LDFLAGS: -L../../libs -lBulletDynamics_nix_riscv64 -lBulletCollision_nix_riscv64 -lLinearMath_nix_riscv64 -lstdc++ -lm #cgo darwin,arm64 LDFLAGS: -L../../libs -lBulletDynamics_darwin_arm64 -lBulletCollision_darwin_arm64 -lLinearMath_darwin_arm64 -lstdc++ -lm #cgo darwin,amd64 LDFLAGS: -L../../libs -lBulletDynamics_darwin_amd64 -lBulletCollision_darwin_amd64 -lLinearMath_darwin_amd64 -lstdc++ -lm #include "bullet3_wrapper.h" diff --git a/src/engine/physics/bullet3_constraint_solver.go b/src/engine/physics/bullet3_constraint_solver.go index 4b949b24a..30140b4a0 100644 --- a/src/engine/physics/bullet3_constraint_solver.go +++ b/src/engine/physics/bullet3_constraint_solver.go @@ -40,6 +40,7 @@ package physics #cgo CXXFLAGS: -std=c++11 #cgo windows,amd64 LDFLAGS: -L../../libs -lBulletDynamics_win_amd64 -lBulletCollision_win_amd64 -lLinearMath_win_amd64 -lstdc++ -lm #cgo linux,amd64 LDFLAGS: -L../../libs -lBulletDynamics_nix_amd64 -lBulletCollision_nix_amd64 -lLinearMath_nix_amd64 -lstdc++ -lm +#cgo linux,riscv64 LDFLAGS: -L../../libs -lBulletDynamics_nix_riscv64 -lBulletCollision_nix_riscv64 -lLinearMath_nix_riscv64 -lstdc++ -lm #cgo darwin,arm64 LDFLAGS: -L../../libs -lBulletDynamics_darwin_arm64 -lBulletCollision_darwin_arm64 -lLinearMath_darwin_arm64 -lstdc++ -lm #cgo darwin,amd64 LDFLAGS: -L../../libs -lBulletDynamics_darwin_amd64 -lBulletCollision_darwin_amd64 -lLinearMath_darwin_amd64 -lstdc++ -lm #include "bullet3_wrapper.h" diff --git a/src/engine/physics/bullet3_motion_state.go b/src/engine/physics/bullet3_motion_state.go index 210e32f82..56a125596 100644 --- a/src/engine/physics/bullet3_motion_state.go +++ b/src/engine/physics/bullet3_motion_state.go @@ -40,6 +40,7 @@ package physics #cgo CXXFLAGS: -std=c++11 #cgo windows,amd64 LDFLAGS: -L../../libs -lBulletDynamics_win_amd64 -lBulletCollision_win_amd64 -lLinearMath_win_amd64 -lstdc++ -lm #cgo linux,amd64 LDFLAGS: -L../../libs -lBulletDynamics_nix_amd64 -lBulletCollision_nix_amd64 -lLinearMath_nix_amd64 -lstdc++ -lm +#cgo linux,riscv64 LDFLAGS: -L../../libs -lBulletDynamics_nix_riscv64 -lBulletCollision_nix_riscv64 -lLinearMath_nix_riscv64 -lstdc++ -lm #cgo darwin,arm64 LDFLAGS: -L../../libs -lBulletDynamics_darwin_arm64 -lBulletCollision_darwin_arm64 -lLinearMath_darwin_arm64 -lstdc++ -lm #cgo darwin,amd64 LDFLAGS: -L../../libs -lBulletDynamics_darwin_amd64 -lBulletCollision_darwin_amd64 -lLinearMath_darwin_amd64 -lstdc++ -lm #include "bullet3_wrapper.h" diff --git a/src/engine/physics/bullet3_rigid_body.go b/src/engine/physics/bullet3_rigid_body.go index cb1bb666f..4c4e17494 100644 --- a/src/engine/physics/bullet3_rigid_body.go +++ b/src/engine/physics/bullet3_rigid_body.go @@ -40,6 +40,7 @@ package physics #cgo CXXFLAGS: -std=c++11 #cgo windows,amd64 LDFLAGS: -L../../libs -lBulletDynamics_win_amd64 -lBulletCollision_win_amd64 -lLinearMath_win_amd64 -lstdc++ -lm #cgo linux,amd64 LDFLAGS: -L../../libs -lBulletDynamics_nix_amd64 -lBulletCollision_nix_amd64 -lLinearMath_nix_amd64 -lstdc++ -lm +#cgo linux,riscv64 LDFLAGS: -L../../libs -lBulletDynamics_nix_riscv64 -lBulletCollision_nix_riscv64 -lLinearMath_nix_riscv64 -lstdc++ -lm #cgo darwin,arm64 LDFLAGS: -L../../libs -lBulletDynamics_darwin_arm64 -lBulletCollision_darwin_arm64 -lLinearMath_darwin_arm64 -lstdc++ -lm #cgo darwin,amd64 LDFLAGS: -L../../libs -lBulletDynamics_darwin_amd64 -lBulletCollision_darwin_amd64 -lLinearMath_darwin_amd64 -lstdc++ -lm #include "bullet3_wrapper.h" diff --git a/src/engine/physics/bullet3_world.go b/src/engine/physics/bullet3_world.go index a8264c02c..dde9fbb81 100644 --- a/src/engine/physics/bullet3_world.go +++ b/src/engine/physics/bullet3_world.go @@ -40,6 +40,7 @@ package physics #cgo CXXFLAGS: -std=c++11 #cgo windows,amd64 LDFLAGS: -L../../libs -lBulletDynamics_win_amd64 -lBulletCollision_win_amd64 -lLinearMath_win_amd64 -lstdc++ -lm #cgo linux,amd64 LDFLAGS: -L../../libs -lBulletDynamics_nix_amd64 -lBulletCollision_nix_amd64 -lLinearMath_nix_amd64 -lstdc++ -lm +#cgo linux,riscv64 LDFLAGS: -L../../libs -lBulletDynamics_nix_riscv64 -lBulletCollision_nix_riscv64 -lLinearMath_nix_riscv64 -lstdc++ -lm #cgo darwin,arm64 LDFLAGS: -L../../libs -lBulletDynamics_darwin_arm64 -lBulletCollision_darwin_arm64 -lLinearMath_darwin_arm64 -lstdc++ -lm #cgo darwin,amd64 LDFLAGS: -L../../libs -lBulletDynamics_darwin_amd64 -lBulletCollision_darwin_amd64 -lLinearMath_darwin_amd64 -lstdc++ -lm #include "bullet3_wrapper.h" diff --git a/src/libs b/src/libs index af25a1b14..2ce954545 160000 --- a/src/libs +++ b/src/libs @@ -1 +1 @@ -Subproject commit af25a1b14b4771c7781bd3cf7af796fb4afa4831 +Subproject commit 2ce95454551d30b46cbdfee4750590d2cd1d7f0a diff --git a/src/platform/audio/soloud.c.go b/src/platform/audio/soloud.c.go index c8c78bf51..384001c52 100644 --- a/src/platform/audio/soloud.c.go +++ b/src/platform/audio/soloud.c.go @@ -39,7 +39,8 @@ package audio /* #cgo windows LDFLAGS: -L../../libs -lsoloud_win32 -lstdc++ -lwinmm -lole32 -luuid #cgo android LDFLAGS: -L../../libs -lsoloud_android -#cgo linux,!android LDFLAGS: -L../../libs -lsoloud_nix -lasound -lstdc++ +#cgo linux,!android,amd64 LDFLAGS: -L../../libs -lsoloud_nix_amd64 -lasound -lstdc++ +#cgo linux,!android,riscv64 LDFLAGS: -L../../libs -lsoloud_nix_riscv64 -lasound -lstdc++ #cgo darwin,!ios,arm64 LDFLAGS: -L../../libs -lsoloud_darwin_arm64 -lstdc++ -framework AudioToolbox -framework CoreAudio #cgo darwin,!ios,amd64 LDFLAGS: -L../../libs -lsoloud_darwin_amd64 -lstdc++ -framework AudioToolbox -framework CoreAudio #include From 130bd784a1d510c6d46a9a540e1a87b2f2ef21c2 Mon Sep 17 00:00:00 2001 From: Abraham Sewill Date: Thu, 2 Apr 2026 18:20:02 -0500 Subject: [PATCH 3/4] Same as last; reverted soloud_nix rename to preserve upstream compatibility. --- src/libs | 2 +- src/platform/audio/soloud.c.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libs b/src/libs index 2ce954545..57b2fc076 160000 --- a/src/libs +++ b/src/libs @@ -1 +1 @@ -Subproject commit 2ce95454551d30b46cbdfee4750590d2cd1d7f0a +Subproject commit 57b2fc0762d04d251161fce83427220cc6186738 diff --git a/src/platform/audio/soloud.c.go b/src/platform/audio/soloud.c.go index 384001c52..4f3c5fc75 100644 --- a/src/platform/audio/soloud.c.go +++ b/src/platform/audio/soloud.c.go @@ -39,7 +39,7 @@ package audio /* #cgo windows LDFLAGS: -L../../libs -lsoloud_win32 -lstdc++ -lwinmm -lole32 -luuid #cgo android LDFLAGS: -L../../libs -lsoloud_android -#cgo linux,!android,amd64 LDFLAGS: -L../../libs -lsoloud_nix_amd64 -lasound -lstdc++ +#cgo linux,!android,amd64 LDFLAGS: -L../../libs -lsoloud_nix -lasound -lstdc++ #cgo linux,!android,riscv64 LDFLAGS: -L../../libs -lsoloud_nix_riscv64 -lasound -lstdc++ #cgo darwin,!ios,arm64 LDFLAGS: -L../../libs -lsoloud_darwin_arm64 -lstdc++ -framework AudioToolbox -framework CoreAudio #cgo darwin,!ios,amd64 LDFLAGS: -L../../libs -lsoloud_darwin_amd64 -lstdc++ -framework AudioToolbox -framework CoreAudio From f1e836e8b775470f20f8d92a17033d2b51fec833 Mon Sep 17 00:00:00 2001 From: Abraham Sewill Date: Thu, 2 Apr 2026 19:28:16 -0500 Subject: [PATCH 4/4] updated libs submodule. --- src/libs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs b/src/libs index 57b2fc076..d2a81aa45 160000 --- a/src/libs +++ b/src/libs @@ -1 +1 @@ -Subproject commit 57b2fc0762d04d251161fce83427220cc6186738 +Subproject commit d2a81aa450dd6a8b3c53a396471877bd65434063