From 9f1c70ad09c9b2caaf8250995c2f16aea0bebfa4 Mon Sep 17 00:00:00 2001 From: HJfod <60038575+HJfod@users.noreply.github.com> Date: Mon, 9 Sep 2024 22:29:34 +0300 Subject: [PATCH] allow making incompatibilities platform-specific --- loader/src/loader/ModMetadataImpl.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/loader/src/loader/ModMetadataImpl.cpp b/loader/src/loader/ModMetadataImpl.cpp index c377f6b3..51181915 100644 --- a/loader/src/loader/ModMetadataImpl.cpp +++ b/loader/src/loader/ModMetadataImpl.cpp @@ -228,6 +228,16 @@ Result ModMetadata::Impl::createFromSchemaV010(ModJson const& rawJs } for (auto& incompat : root.has("incompatibilities").items()) { + bool onThisPlatform = !incompat.has("platforms"); + for (auto& plat : incompat.has("platforms").items()) { + if (PlatformID::coveredBy(plat.get(), GEODE_PLATFORM_TARGET)) { + onThisPlatform = true; + } + } + if (!onThisPlatform) { + continue; + } + Incompatibility incompatibility; incompat.needs("id").mustBe(ID_REGEX, &ModMetadata::Impl::validateOldID).into(incompatibility.id); incompat.needs("version").into(incompatibility.version);