CvUnit::stackTraceRemark(const FAutoVariableBase &) const
- Defined in
- CvUnit.cpp, line 25467
- Class
- CvUnit
- Hook name
CivHooks::CvUnit_stackTraceRemark
Hooks
static bool BeforeCvUnit_stackTraceRemark(const CvUnit* self, const FAutoVariableBase& var, std::string& result);static void AfterCvUnit_stackTraceRemark(const CvUnit* self, const FAutoVariableBase& var, std::string& result);static std::string ReplaceCvUnit_stackTraceRemark(std::string (*original)(const CvUnit*, const FAutoVariableBase&), const CvUnit* self, const FAutoVariableBase& var);CivRegisterBefore<CivHooks::CvUnit_stackTraceRemark>(host, &BeforeCvUnit_stackTraceRemark);CivRegisterAfter<CivHooks::CvUnit_stackTraceRemark>(host, &AfterCvUnit_stackTraceRemark);CivRegisterReplace<CivHooks::CvUnit_stackTraceRemark>(host, &ReplaceCvUnit_stackTraceRemark);
Code
25467std::string CvUnit::stackTraceRemark(const FAutoVariableBase& var) const25468{25469 std::string result = "Game Turn : ";25470 char gameTurnBuffer[8] = {0};25471 int gameTurn = GC.getGame().getGameTurn();25472 sprintf_s(gameTurnBuffer, "%d\0", gameTurn);25473 result += gameTurnBuffer;25474 result += "\nValue Before Change=" + FSerialization::toString(var);25475 if(&var == &m_eActivityType)25476 {25477 result += "\nm_eActivityType changes based on canMove().\n";25478 bool moves = getMoves() > 0;25479 if(canMove())25480 {25481 result += "canMove() returned true because ";25482 if(moves)25483 {25484 result += "getMoves() > 0\n";25485 result += "---- Call Stack for m_iMoves last change: ----\n";25486 result += m_iMoves.getStackTrace();25487 result += "---- END STACK TRACE FOR m_iMoves ----\n";25488 }25489 else25490 {25491 result += "some unknown check was added there but not here in the remark code\n";25492 }25493 }25494 else25495 {25496 result += "\ncanMove() return false because ";25497 if(!moves)25498 {25499 result += "getMoves() == 0\n";25500 result += "---- Call Stack for m_iMoves last change: ----\n";25501 result += m_iMoves.getStackTrace();25502 result += "---- END STACK TRACE FOR m_iMoves ----\n";2550325504 }25505 else25506 {25507 result += "some unknown check was added there but not here in the remark code\n";25508 }25509 }25510 }25511 return result;25512}
Calls
- CvGame::getGameTurn()
- CvGlobals::getGame()
- CvUnit::canMove() const
- CvUnit::getMoves() const
FAutoVariableBase::getStackTraceFSerialization::toStringsprintf_sstd::basic_string::basic_stringstd::basic_string::basic_stringstd::basic_string::operator+=std::basic_string::operator+=std::operator+