void pyVault::AddChronicleEntry( const char * name, uint32_t type, const char * value ) { // FIXME: We should ideally not block, but for now, the Python assumes that when // we return, the chronicle exists and can be found with findChronicleEntry. // Maybe we should insert a dummy into the tree? (currently hard) VaultAddChronicleEntryAndWait(name, type, value); }
bool plAutoProfileImp::MsgReceive(plMessage* msg) { plEvalMsg* evalMsg = plEvalMsg::ConvertNoRef(msg); if (evalMsg) { if (fStatusMessage.GetSize() > 0) plDebugText::Instance().DrawString(10, 10, fStatusMessage.c_str()); } plAgeLoadedMsg* ageLoaded = plAgeLoadedMsg::ConvertNoRef(msg); if (ageLoaded) { if (!ageLoaded->fLoaded) { fLinkTime = hsTimer::GetTicks(); hsStatusMessage("Age unloaded"); } return true; } plInitialAgeStateLoadedMsg* ageStateLoaded = plInitialAgeStateLoadedMsg::ConvertNoRef(msg); if (ageStateLoaded) { if (fNextAge > 0) { fLinkTime = hsTimer::GetTicks() - fLinkTime; float ms = hsTimer::GetMilliSeconds<float>(fLinkTime); hsStatusMessageF("Age %s finished load, took %.1f ms", fAges[fNextAge-1].c_str(), ms); plStatusLog::AddLineS("agetimings.log", "Age %s took %.1f ms", fAges[fNextAge-1].c_str(), ms); } fStatusMessage = "Age loaded. Preparing to profile."; // Age is loaded, start profiling in 5 seconds (to make sure the avatar is linked in all the way) plTimerCallbackMsg* timerMsg = new plTimerCallbackMsg(GetKey()); plgTimerCallbackMgr::NewTimer(5, timerMsg); return true; } plTimerCallbackMsg* timerMsg = plTimerCallbackMsg::ConvertNoRef(msg); if (timerMsg) { INextProfile(); return true; } // When the first age starts to load, register the stupid avatar customization variable // so the calibration screen won't pop up and ruin everything. I'm sure I could try // and do this earlier, but I'm not sure when that player folder is set so screw it, it works here. plAgeBeginLoadingMsg* ageBeginLoadingMsg = plAgeBeginLoadingMsg::ConvertNoRef(msg); if (ageBeginLoadingMsg) { plgDispatch::Dispatch()->UnRegisterForExactType(plAgeBeginLoadingMsg::Index(), GetKey()); VaultAddChronicleEntryAndWait("InitialAvCursomizationsDone", 0, "1"); return true; } return false; }