diff --git a/LEGO1/lego/legoomni/include/legoanimpresenter.h b/LEGO1/lego/legoomni/include/legoanimpresenter.h index 9d1a6416..3e2f98f4 100644 --- a/LEGO1/lego/legoomni/include/legoanimpresenter.h +++ b/LEGO1/lego/legoomni/include/legoanimpresenter.h @@ -51,7 +51,7 @@ class LegoAnimPresenter : public MxVideoPresenter { LegoChar* FUN_10069150(const LegoChar*); void FUN_100692b0(); void FUN_100695c0(); - LegoChar* FUN_100697c0(const LegoChar*, LegoChar*); + LegoChar* FUN_100697c0(const LegoChar* p_und1, const LegoChar* p_und2); LegoBool FUN_100698b0(CompoundObject&, const LegoChar*); LegoAnim* m_anim; // 0x64 diff --git a/LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp b/LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp index 0c04bb25..a98b3b49 100644 --- a/LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp +++ b/LEGO1/lego/legoomni/src/video/legoanimpresenter.cpp @@ -224,11 +224,31 @@ void LegoAnimPresenter::FUN_100695c0() } } -// STUB: LEGO1 0x100697c0 -LegoChar* LegoAnimPresenter::FUN_100697c0(const LegoChar*, LegoChar*) +// FUNCTION: LEGO1 0x100697c0 +LegoChar* LegoAnimPresenter::FUN_100697c0(const LegoChar* p_und1, const LegoChar* p_und2) { - // TODO - return NULL; + const LegoChar* str = p_und1; + const char* var = VariableTable()->GetVariable(p_und1); + + if (*var) { + str = var; + } + + LegoU32 len = strlen(str) + (p_und2 ? strlen(p_und2) : 0) + 2; + LegoChar* result = new LegoChar[len]; + + if (result != NULL) { + *result = '\0'; + + if (p_und2) { + strcpy(result, p_und2); + strcat(result, ":"); + } + + strcat(result, str); + } + + return result; } // STUB: LEGO1 0x100698b0