Contrib/Misc: Allow enumutils_describe.py to better deal with commented-out enum lines

This commit is contained in:
Treeston
2019-07-30 11:42:08 +02:00
parent 00b10c6b34
commit 19d71fb206
3 changed files with 7 additions and 3 deletions

View File

@@ -27,7 +27,7 @@ if not getcwd().endswith('src'):
exit(1) exit(1)
EnumPattern = compile(r'//\s*EnumUtils: DESCRIBE THIS\s+enum\s+([0-9A-Za-z]+)[^\n]*\s*{([^}]+)};') EnumPattern = compile(r'//\s*EnumUtils: DESCRIBE THIS\s+enum\s+([0-9A-Za-z]+)[^\n]*\s*{([^}]+)};')
EnumValuesPattern = compile(r'\s+[^,]+[^\n]*') EnumValuesPattern = compile(r'\s+[^,\n]+(,[^\n]*)?')
EnumValueNamePattern = compile(r'^\s*([a-zA-Z0-9_]+)', flags=MULTILINE) EnumValueNamePattern = compile(r'^\s*([a-zA-Z0-9_]+)', flags=MULTILINE)
EnumValueSkipLinePattern = compile(r'^\s*//') EnumValueSkipLinePattern = compile(r'^\s*//')
EnumValueCommentPattern = compile(r'//[ \t]*([^\n]+)$') EnumValueCommentPattern = compile(r'//[ \t]*([^\n]+)$')

View File

@@ -65,12 +65,14 @@ TC_API_EXPORT EnumText EnumUtils<CreatureFlagsExtra>::ToString(CreatureFlagsExtr
case CREATURE_FLAG_EXTRA_IGNORE_PATHFINDING: return { "CREATURE_FLAG_EXTRA_IGNORE_PATHFINDING", "CREATURE_FLAG_EXTRA_IGNORE_PATHFINDING", "creature ignore pathfinding" }; case CREATURE_FLAG_EXTRA_IGNORE_PATHFINDING: return { "CREATURE_FLAG_EXTRA_IGNORE_PATHFINDING", "CREATURE_FLAG_EXTRA_IGNORE_PATHFINDING", "creature ignore pathfinding" };
case CREATURE_FLAG_EXTRA_IMMUNITY_KNOCKBACK: return { "CREATURE_FLAG_EXTRA_IMMUNITY_KNOCKBACK", "CREATURE_FLAG_EXTRA_IMMUNITY_KNOCKBACK", "creature is immune to knockback effects" }; case CREATURE_FLAG_EXTRA_IMMUNITY_KNOCKBACK: return { "CREATURE_FLAG_EXTRA_IMMUNITY_KNOCKBACK", "CREATURE_FLAG_EXTRA_IMMUNITY_KNOCKBACK", "creature is immune to knockback effects" };
case CREATURE_FLAG_EXTRA_UNUSED_31: return { "CREATURE_FLAG_EXTRA_UNUSED_31", "CREATURE_FLAG_EXTRA_UNUSED_31", "" }; case CREATURE_FLAG_EXTRA_UNUSED_31: return { "CREATURE_FLAG_EXTRA_UNUSED_31", "CREATURE_FLAG_EXTRA_UNUSED_31", "" };
case CREATURE_FLAG_EXTRA_UNUSED: return { "CREATURE_FLAG_EXTRA_UNUSED", "CREATURE_FLAG_EXTRA_UNUSED", "" };
case CREATURE_FLAG_EXTRA_UNUSED_23: return { "CREATURE_FLAG_EXTRA_UNUSED_23", "CREATURE_FLAG_EXTRA_UNUSED_23", "" };
default: throw std::out_of_range("value"); default: throw std::out_of_range("value");
} }
} }
template <> template <>
TC_API_EXPORT size_t EnumUtils<CreatureFlagsExtra>::Count() { return 32; } TC_API_EXPORT size_t EnumUtils<CreatureFlagsExtra>::Count() { return 34; }
template <> template <>
TC_API_EXPORT CreatureFlagsExtra EnumUtils<CreatureFlagsExtra>::FromIndex(size_t index) TC_API_EXPORT CreatureFlagsExtra EnumUtils<CreatureFlagsExtra>::FromIndex(size_t index)
@@ -109,6 +111,8 @@ TC_API_EXPORT CreatureFlagsExtra EnumUtils<CreatureFlagsExtra>::FromIndex(size_t
case 29: return CREATURE_FLAG_EXTRA_IGNORE_PATHFINDING; case 29: return CREATURE_FLAG_EXTRA_IGNORE_PATHFINDING;
case 30: return CREATURE_FLAG_EXTRA_IMMUNITY_KNOCKBACK; case 30: return CREATURE_FLAG_EXTRA_IMMUNITY_KNOCKBACK;
case 31: return CREATURE_FLAG_EXTRA_UNUSED_31; case 31: return CREATURE_FLAG_EXTRA_UNUSED_31;
case 32: return CREATURE_FLAG_EXTRA_UNUSED;
case 33: return CREATURE_FLAG_EXTRA_UNUSED_23;
default: throw std::out_of_range("index"); default: throw std::out_of_range("index");
} }
} }

View File

@@ -42,7 +42,7 @@ TC_API_EXPORT EnumText EnumUtils<Races>::ToString(Races value)
case RACE_GNOME: return { "RACE_GNOME", "Gnome", "" }; case RACE_GNOME: return { "RACE_GNOME", "Gnome", "" };
case RACE_TROLL: return { "RACE_TROLL", "Troll", "" }; case RACE_TROLL: return { "RACE_TROLL", "Troll", "" };
case RACE_BLOODELF: return { "RACE_BLOODELF", "Blood Elf", "" }; case RACE_BLOODELF: return { "RACE_BLOODELF", "Blood Elf", "" };
case RACE_DRAENEI: return { "RACE_DRAENEI", "RACE_DRAENEI", "RACE_FEL_ORC = 12," }; case RACE_DRAENEI: return { "RACE_DRAENEI", "Draenei", "" };
default: throw std::out_of_range("value"); default: throw std::out_of_range("value");
} }
} }