diff --git a/CMakeLists.txt b/CMakeLists.txt index 7a5cc95e9..2d2e73ad9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -231,6 +231,8 @@ add_subdirectory(mpcksum) add_subdirectory(gbalink) add_subdirectory(visigen) +add_dependencies(hecl visigen) + find_package(Qt5Widgets) if (Qt5Widgets_FOUND) message(STATUS "Qt5 found, hecl-gui will be built") diff --git a/Runtime/Character/CPOINode.cpp b/Runtime/Character/CPOINode.cpp index 972c9c975..b264030c8 100644 --- a/Runtime/Character/CPOINode.cpp +++ b/Runtime/Character/CPOINode.cpp @@ -9,7 +9,7 @@ namespace urde { CPOINode::CPOINode(std::string_view name, EPOIType type, const CCharAnimTime& time, - u32 index, bool c, float weight, s32 e, s32 f) + s32 index, bool c, float weight, s32 e, s32 f) : x4_(1), x8_name(name), x18_type(type), @@ -26,7 +26,7 @@ CPOINode::CPOINode(CInputStream& in) x8_name(in.readString()), x18_type(EPOIType(in.readUint16Big())), x1c_time(in), - x24_index(in.readUint32Big()), + x24_index(in.readInt32Big()), x28_(in.readBool()), x2c_weight(in.readFloatBig()), x30_charIdx(in.readInt32Big()), diff --git a/Runtime/Character/CPOINode.hpp b/Runtime/Character/CPOINode.hpp index fa04cb9ef..97aed6a33 100644 --- a/Runtime/Character/CPOINode.hpp +++ b/Runtime/Character/CPOINode.hpp @@ -27,14 +27,14 @@ protected: std::string x8_name; EPOIType x18_type; CCharAnimTime x1c_time; - u32 x24_index; + s32 x24_index; bool x28_; float x2c_weight; s32 x30_charIdx = -1; s32 x34_flags; public: CPOINode(std::string_view name, EPOIType type, const CCharAnimTime& time, - u32 index, bool, float weight, s32 charIdx, s32 flags); + s32 index, bool, float weight, s32 charIdx, s32 flags); CPOINode(CInputStream& in); virtual ~CPOINode() = default; @@ -42,7 +42,7 @@ public: const CCharAnimTime& GetTime() const { return x1c_time; } void SetTime(const CCharAnimTime& time) { x1c_time = time; } EPOIType GetPoiType() const { return x18_type; } - u32 GetIndex() const { return x24_index; } + s32 GetIndex() const { return x24_index; } float GetWeight() const { return x2c_weight; } s32 GetCharacterIndex() const { return x30_charIdx; } s32 GetFlags() const { return x34_flags; } diff --git a/Runtime/Graphics/Shaders/CMapSurfaceShaderMetal.cpp b/Runtime/Graphics/Shaders/CMapSurfaceShaderMetal.cpp index d87a3694b..e3f92aed3 100644 --- a/Runtime/Graphics/Shaders/CMapSurfaceShaderMetal.cpp +++ b/Runtime/Graphics/Shaders/CMapSurfaceShaderMetal.cpp @@ -75,7 +75,7 @@ CMapSurfaceShader::Initialize(boo::MetalDataFactory::Context& ctx) s_VtxFmt = ctx.newVertexFormat(1, VtxVmt); s_Pipeline = ctx.newShaderPipeline(VS, FS, nullptr, nullptr, s_VtxFmt, boo::BlendFactor::SrcAlpha, boo::BlendFactor::InvSrcAlpha, boo::Primitive::TriStrips, - boo::ZTest::None, false, true, false, boo::CullMode::Backface); + boo::ZTest::GEqual, false, true, false, boo::CullMode::Backface); return new CMapSurfaceShaderMetalDataBindingFactory; } diff --git a/hecl b/hecl index 060202ca9..225585688 160000 --- a/hecl +++ b/hecl @@ -1 +1 @@ -Subproject commit 060202ca9b9f8a352ec2cf27c0ba5896f53c0a39 +Subproject commit 2255856884b53bbc126d5dfc70723f4be193613d