Codechange: Remove macros involved with NewGRFClass. (#12363)

Use direct class instantiation instead.
This commit is contained in:
Peter Nelson
2024-03-23 21:55:50 +00:00
committed by GitHub
parent ff35288ddf
commit 668186ca5b
10 changed files with 55 additions and 65 deletions

View File

@@ -136,20 +136,21 @@ void ResetObjects()
_object_specs[OBJECT_TRANSMITTER].cls_id = ObjectClass::Allocate('TRNS');
}
template <typename Tspec, typename Tid, Tid Tmax>
/* static */ void NewGRFClass<Tspec, Tid, Tmax>::InsertDefaults()
template <>
/* static */ void ObjectClass::InsertDefaults()
{
ObjectClass::Get(ObjectClass::Allocate('LTHS'))->name = STR_OBJECT_CLASS_LTHS;
ObjectClass::Get(ObjectClass::Allocate('TRNS'))->name = STR_OBJECT_CLASS_TRNS;
}
template <typename Tspec, typename Tid, Tid Tmax>
bool NewGRFClass<Tspec, Tid, Tmax>::IsUIAvailable(uint index) const
template <>
bool ObjectClass::IsUIAvailable(uint index) const
{
return this->GetSpec(index)->IsEverAvailable();
}
INSTANTIATE_NEWGRF_CLASS_METHODS(ObjectClass, ObjectSpec, ObjectClassID, OBJECT_CLASS_MAX)
/* Instantiate ObjectClass. */
template class NewGRFClass<ObjectSpec, ObjectClassID, OBJECT_CLASS_MAX>;
/* virtual */ uint32_t ObjectScopeResolver::GetRandomBits() const
{