From 0da1c8a40c2a9f1f06bfaa18138e146fc071aa05 Mon Sep 17 00:00:00 2001 From: fallenoak Date: Sun, 5 Oct 2025 22:46:20 -0500 Subject: [PATCH] feat(object): implement CGUnit_C::GetDisplayRaceNameFromRecord --- src/object/client/Unit_C.cpp | 44 ++++++++++++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/src/object/client/Unit_C.cpp b/src/object/client/Unit_C.cpp index aec2696..b4da551 100644 --- a/src/object/client/Unit_C.cpp +++ b/src/object/client/Unit_C.cpp @@ -1,4 +1,5 @@ #include "object/client/Unit_C.hpp" +#include "db/Db.hpp" const char* CGUnit_C::GetDisplayClassNameFromRecord(const ChrClassesRec* classRec, UNIT_SEX sex, UNIT_SEX* displaySex) { // TODO @@ -6,6 +7,45 @@ const char* CGUnit_C::GetDisplayClassNameFromRecord(const ChrClassesRec* classRe } const char* CGUnit_C::GetDisplayRaceNameFromRecord(const ChrRacesRec* raceRec, UNIT_SEX sex, UNIT_SEX* displaySex) { - // TODO - return nullptr; + if (displaySex) { + *displaySex = sex; + } + + if (!raceRec) { + return nullptr; + } + + if (sex == UNITSEX_MALE) { + if (*raceRec->m_nameMale) { + return raceRec->m_nameMale; + } + + if (*raceRec->m_nameFemale) { + if (displaySex) { + *displaySex = UNITSEX_FEMALE; + } + + return raceRec->m_nameFemale; + } + + return raceRec->m_name; + } + + if (sex == UNITSEX_FEMALE) { + if (*raceRec->m_nameFemale) { + return raceRec->m_nameFemale; + } + + if (*raceRec->m_nameMale) { + if (displaySex) { + *displaySex = UNITSEX_MALE; + } + + return raceRec->m_nameMale; + } + + return raceRec->m_name; + } + + return raceRec->m_name; }