DotKuribo / BetterSunshineEngine

A modification of the SMS engine to provide nifty features like audio streaming, no boot shines, extra shines, and more.
GNU General Public License v3.0
32 stars 7 forks source link

Unable to build (sms_interface outdated?) #33

Open RibShark opened 1 month ago

RibShark commented 1 month ago

I'm unable to build due to some type errors in sms_interface:

  [33/81] Building CXX object CMakeFiles/BetterSunshineEngine.dir/src/objects/particle.cpp.obj
  FAILED: CMakeFiles/BetterSunshineEngine.dir/src/objects/particle.cpp.obj 
  X:\BetterSunshineEngine\compiler\clang.exe --target=powerpc-gecko-ibm-kuribo-eabi --sysroot=C:/msys64/mingw64 -DBETTER_SMS_CUSTOM_MUSIC=1 -DBETTER_SMS_EXCEPTION_HANDLER=1 -DBETTER_SMS_EXTENDED_RENDER_DISTANCE=1 -DBETTER_SMS_EXTRA_COLLISION=1 -DBETTER_SMS_EXTRA_OBJECTS=1 -DBETTER_SMS_EXTRA_SHINES=1 -DBETTER_SMS_SHADOW_MARIO_HEALTHBAR=1 -DBETTER_SMS_SLOT_B_SUPPORT=1 -DBETTER_SMS_VERSION=\"v3.0.1\" -DKURIBO_NO_TYPES -IX:/BetterSunshineEngine/include/BetterSMS -IX:/BetterSunshineEngine/lib/sms_interface/include -IX:/BetterSunshineEngine/src -IX:/BetterSunshineEngine/lib/sms_interface/include/Dolphin -IX:/BetterSunshineEngine/lib/sms_interface/include/JSystem -IX:/BetterSunshineEngine/lib/sms_interface/include/SMS -IX:/BetterSunshineEngine/lib/sms_interface/include/Kamek -IX:/BetterSunshineEngine/lib/sms_interface/include/Kuribo -O3 -DNDEBUG -std=gnu++20 -std=gnu++17 --target=powerpc-gecko-ibm-kuribo-eabi -D__powerpc__ -DKURIBO_NO_TYPES -DGEKKO -DNTSCU -Os -fno-exceptions -fno-rtti -ffast-math -fpermissive -fdeclspec -fno-unwind-tables -nodefaultlibs -nobuiltininc -nostdinc++ -nostdlib -fno-use-init-array -fno-use-cxa-atexit -fno-c++-static-destructors -fno-function-sections -fno-data-sections -Werror -Wno-main -Wno-incompatible-library-redeclaration -MD -MT CMakeFiles/BetterSunshineEngine.dir/src/objects/particle.cpp.obj -MF CMakeFiles\BetterSunshineEngine.dir\src\objects\particle.cpp.obj.d -o CMakeFiles/BetterSunshineEngine.dir/src/objects/particle.cpp.obj -c X:/BetterSunshineEngine/src/objects/particle.cpp
X:\BetterSunshineEngine\src\objects\particle.cpp(128,14): error GF25AE0AB: cannot initialize a variable of type 'bool' with an rvalue of type 'void'
          bool traced      = mGraphTracer->traceSpline(spline_speed);
               ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
X:\BetterSunshineEngine\src\objects\particle.cpp(130,76): error GEB493B52: no viable conversion from 'TVec3f *' (aka 'TVec3<float> *') to 'TVec3f' (aka 'TVec3<float>')
          mGraphTracer->mGraph->mSplineRail->getPosAndRot(mGraphTracer->_02, &mTranslation,
                                                                             ^~~~~~~~~~~~~
  X:/BetterSunshineEngine/lib/sms_interface/include\JSystem/JGeometry/JGMVec.hxx:88:9: note: candidate constructor not viable: no known conversion from 'TVec3f *' (aka 'TVec3<float> *') to 'const JGeometry::TVec3<float> &' for 1st argument; remove &
          TVec3(const TVec3 &) = default;
          ^
  X:/BetterSunshineEngine/lib/sms_interface/include\SMS/Graph/SplineRail.hxx:14:35: note: passing argument to parameter 'posOut' here
      void getPosAndRot(f32, TVec3f posOut, TVec3f rotOut);
                                    ^

  2 errors generated.

Given that the related code was added recently, I think the sms_interface submodule is outdated and the latest version needs to be pushed.

JoshuaMKW commented 1 month ago

Yeah it's outdated and I will be addressing it soon hopefully 👍