@@ -164,8 +164,8 @@ void PlayerTrace::AddPoint(std::string trace_name, void *player, int slot, bool
164164 camera->GetEyePos <true >(slot, eyepos, angles);
165165 }
166166
167- this ->EmitLog (Utils::ssprintf ( " ProcessMovement(%d)" , session->GetTick ()). c_str () );
168- this ->EmitLog (Utils::ssprintf ( " player @ (%.6f,%.6f,%.6f)" , pos.x , pos.y , pos.z ). c_str () );
167+ this ->EmitLog (" ProcessMovement(%d) slot: %d " , session->GetTick (), slot );
168+ this ->EmitLog (" player %d @ (%.6f,%.6f,%.6f)" , slot, pos.x , pos.y , pos.z );
169169
170170 HitboxList hitboxes = ConstructHitboxList (pos);
171171
@@ -1215,7 +1215,7 @@ void PlayerTrace::ExitLogScope() {
12151215 trace->log_scope_stack .pop_back ();
12161216}
12171217
1218- void PlayerTrace::EmitLog (const char * msg) {
1218+ void PlayerTrace::EmitLog (std::string msg) {
12191219 if (!playerTrace->ShouldRecord ()) return ;
12201220 auto trace = this ->GetTrace (sar_trace_record.GetString ());
12211221 if (!trace) return ;
@@ -1227,3 +1227,17 @@ void PlayerTrace::EmitLog(const char *msg) {
12271227 line += msg;
12281228 trace->log_lines .push_back (line);
12291229}
1230+
1231+ void PlayerTrace::EmitLog (const char *fmt, ...) {
1232+ va_list ap1, ap2;
1233+ va_start (ap1, fmt);
1234+ va_copy (ap2, ap1);
1235+ size_t sz = vsnprintf (NULL , 0 , fmt, ap1) + 1 ;
1236+ va_end (ap1);
1237+ char *buf = (char *)malloc (sz);
1238+ vsnprintf (buf, sz, fmt, ap2);
1239+ va_end (ap2);
1240+ std::string str (buf);
1241+ free (buf);
1242+ PlayerTrace::EmitLog (str);
1243+ }
0 commit comments