From e61f47abb24543b0f10c60752a6e9e4ad8648018 Mon Sep 17 00:00:00 2001 From: Christian Semmler Date: Sat, 28 Mar 2026 15:22:00 -0700 Subject: [PATCH] Fix LegoROI forward declaration resolving to wrong namespace The inline `class LegoROI*` in Catalog::GetVehicleState was being resolved within `Multiplayer::Animation` namespace on some compilers (e.g. devkitA64 GCC), creating an incomplete type. Move the forward declaration before the namespace block. Co-Authored-By: Claude Opus 4.6 (1M context) --- extensions/include/extensions/multiplayer/animation/catalog.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/extensions/include/extensions/multiplayer/animation/catalog.h b/extensions/include/extensions/multiplayer/animation/catalog.h index dc84002a..c7584aa1 100644 --- a/extensions/include/extensions/multiplayer/animation/catalog.h +++ b/extensions/include/extensions/multiplayer/animation/catalog.h @@ -5,6 +5,7 @@ #include class LegoAnimationManager; +class LegoROI; struct AnimInfo; namespace Multiplayer::Animation @@ -83,7 +84,7 @@ class Catalog { static bool CheckVehicleEligibility(const CatalogEntry* p_entry, int8_t p_charIndex, uint8_t p_vehicleState); // Determine the vehicle state for a character given their current ride vehicle ROI. - static VehicleState GetVehicleState(int8_t p_charIndex, class LegoROI* p_vehicleROI); + static VehicleState GetVehicleState(int8_t p_charIndex, LegoROI* p_vehicleROI); // Classify a g_vehicles[] index into a vehicle category. // Returns 0=bike, 1=motorcycle, 2=skateboard, -1=invalid.