1
0

feat: fully refactor BMapInspector rule set for better layout

This commit is contained in:
2026-03-03 17:11:30 +08:00
parent 49a729078c
commit 4c71a20935
35 changed files with 1628 additions and 1428 deletions

View File

@@ -0,0 +1,44 @@
#pragma once
#include "../Rule.hpp"
namespace BMapInspector::Ruleset {
/**
* @brief Gamepiaynmo Rule 1
* @details
* The most comprehensive group checker inspired from Ballance Blender Plugin.
*/
class GpRule1 : public Rule::IRule {
public:
GpRule1();
virtual ~GpRule1();
YYCC_DELETE_COPY_MOVE(GpRule1)
public:
std::u8string_view GetRuleName() const override;
void Check(Reporter::Reporter& reporter, Map::Level& level) const override;
};
/**
* @brief Gamepiaynmo Rule 2
* @details
* This rule will:
* \li Show how many sector located in given map.
* \li Check whether there is sector group.
* \li Check whether use intuitive sector name for sector 9.
* \li Warn for sector count is equal to 1. It will cause mosaic issue on the flames of checkpoint.
* \li Warn for sector count greater than 8. It will cause vanilla game freezed without 999 sector loader.
* \li Check whether sector group is successive.
*/
class GpRule2 : public Rule::IRule {
public:
GpRule2();
virtual ~GpRule2();
YYCC_DELETE_COPY_MOVE(GpRule2)
public:
std::u8string_view GetRuleName() const override;
void Check(Reporter::Reporter& reporter, Map::Level& level) const override;
};
}