void ReportFailure(const GameState * state, const char * condition, const char * file, int line, const char * msg, ...) { std::cerr << "Assertion thrown!\n"; char messageBuffer[4096] = ""; if (msg != NULL) { va_list args; va_start(args, msg); vsprintf(messageBuffer, msg, args); va_end(args); } std::stringstream ss; ss << std::endl; ss << "!Assert: " << condition << std::endl; ss << "File: " << file << std::endl; ss << "Message: " << messageBuffer << std::endl; ss << "Line: " << line << std::endl; #if !defined(EMSCRIPTEN) std::cerr << ss.str(); throw BOSSException(ss.str()); #else printf("C++ AI: AI Exception Thrown:\n %s\n", ss.str().c_str()); throw BOSSException(ss.str()); #endif }
void ReportFailure(const char * condition, const char * file, int line, const char * msg, ...) { char messageBuffer[1024] = ""; if (msg != NULL) { va_list args; va_start(args, msg); //vsprintf(messageBuffer, msg, args); vsnprintf_s(messageBuffer, 1024, msg, args); va_end(args); } std::stringstream ss; ss << std::endl; ss << "!Assert: " << condition << std::endl; ss << "File: " << file << std::endl; ss << "Message: " << messageBuffer << std::endl; ss << "Line: " << line << std::endl; ss << "Time: " << currentDateTime() << std::endl; lastErrorMessage = messageBuffer; std::cerr << ss.str(); throw BOSSException(ss.str()); }