void CombatWindow::updateDPS(int iDamage) { int iTimeNow = mTime(); // reset if it's been 10 seconds without an update if (iTimeNow > (m_iDPSTimeLast + 10000)) { // reset DPS m_dDPSLast = m_dDPS; m_dDPS = 0; m_iDPSStartTime = iTimeNow; m_iCurrentDPSTotal = 0; } m_iDPSTimeLast = mTime(); m_iCurrentDPSTotal += iDamage; int iTimeElapsed = (iTimeNow - m_iDPSStartTime) / 1000; if (iTimeElapsed > 0) { m_dDPS = (double)m_iCurrentDPSTotal / (double)iTimeElapsed; } m_mobCurrentDps->setText(QString::number(m_dDPS)); m_mobLastDps->setText(QString::number(m_dDPSLast)); }
void CombatMobRecord::addHit(int iTarget, int iSource, int iDamage) { int iPlayerID = m_player->id(); if (iSource == iPlayerID && iTarget == m_iID) { // update m_iLastTime m_iLastTime = mTime(); if (iDamage > 0) { m_iDamageGiven += iDamage; } } else if (iSource == m_iID && iTarget == iPlayerID) { // update m_iLastTime m_iLastTime = mTime(); if (iDamage > 0) { m_iDamageTaken += iDamage; } } }
static int needsReScan( int what, CfgDep *dep ) { int widx, idx; long mt; for (widx = 0; cfgMapT[widx] != what; widx++); idx = cfgMap[widx]; if (checkDep( idx )) { if (!GetDeps()) return -1; idx = cfgMap[widx]; } mt = mTime( cfgFiles[idx].name->str ); if (dep->name != cfgFiles[idx].name) { if (dep->name) delStr( dep->name ); dep->name = cfgFiles[idx].name; dep->name->cnt++; dep->time = mt; return 1; } else if (dep->time != mt) { dep->time = mt; return 1; } else return 0; }
void CombatWindow::addMobRecord(int iTargetID, int iSourceID, int iDamage, QString tName, QString sName) { #ifdef DEBUGCOMBAT seqDebug("CombatWindow::addMobRecord starting..."); #endif int iTimeNow = mTime(); int iPlayerID = m_player->id(); int iMobID; QString mobName; if(iPlayerID == iTargetID) { iMobID = iSourceID; mobName = sName; } else if(iPlayerID == iSourceID) { iMobID = iTargetID; mobName = tName; } else { //invalid record return; } bool bFoundRecord = false; CombatMobRecord *pRecord; for(pRecord = m_combat_mob_list.first(); pRecord != 0; pRecord = m_combat_mob_list.next()) { if(pRecord->getID() == iMobID) { bFoundRecord = true; break; } } if(!bFoundRecord) { pRecord = new CombatMobRecord(iMobID, iTimeNow, m_player); pRecord->setName(mobName); m_combat_mob_list.append(pRecord); } pRecord->setTime(time(0)); pRecord->addHit(iTargetID, iSourceID, iDamage); #ifdef DEBUGCOMBAT seqDebug("CombatWindow::addMobRecord finished..."); #endif }
static int checkDep( int idx ) { int dep; if ((dep = cfgFiles[idx].depidx) == -1) return 0; if (checkDep( dep )) return 1; return mTime( cfgFiles[dep].name->str ) != cfgFiles[idx].deptime; }
MStatus sgBDataCmd_key::importData() { MStatus status; MTime::Unit currentUnit = MTime().unit(); MPlugArray connections; sgObject_keyData& objectKeyData = m_objectKeyDataImport; MObject& oTarget = objectKeyData.oTargetNode; MDoubleArray& dArrTime = objectKeyData.dArrTime; MTime::Unit unit = (MTime::Unit)objectKeyData.unit; MFnDagNode fnNode = oTarget; MPlugArray targetPlugs; unsigned int numAttr = objectKeyData.namesAttribute.length(); unsigned int lengthTime = dArrTime.length(); for( unsigned int j=0; j<numAttr; j++ ) { if( numAttr <= j ) break; MPlug targetPlug = fnNode.findPlug( objectKeyData.namesAttribute[j] ); targetPlug.connectedTo( connections, true, false ); if( connections.length() ){ m_dgMod_connection.disconnect( connections[0], targetPlug ); m_dgMod_delete.deleteNode( connections[0].node() ); } m_dgMod_connection.doIt(); m_dgMod_delete.doIt(); MObject oAnimCurve = MFnAnimCurve().create( targetPlug ); m_oArrKeyAfter.append( oAnimCurve ); MFnAnimCurve fnAnimCurve( oAnimCurve ); for( unsigned int k=0; k<lengthTime; k++ ) { double& dTime = dArrTime[k]; double& dValue = objectKeyData.dArrValuesArray[ k*numAttr+j ]; MTime mTime( dTime, unit ); mTime.setUnit( currentUnit ); fnAnimCurve.addKeyframe( mTime, dValue ); } } return MS::kSuccess; };
void threadLog() { boost::posix_time::seconds workTime(1); boost::this_thread::sleep(workTime); boost::thread::id tId = boost::this_thread::get_id(); LOG_MSG << fmt("% %") % "Thread" % tId; LOG_MSG << "Hello" << 1 << 2 << 3 << 4 << 5 << 6 << 7 << 8; boost::this_thread::sleep(workTime); LOG_MSG << fmt("% %") % "2 Thread" % tId; boost::posix_time::milliseconds mTime(rand()*100000/RAND_MAX); for (int i = 0; i < 100; i++) { LOG_MSG << fmt("%: % % %") % tId % i % (i*2) % (i*4); boost::this_thread::sleep(mTime); } }
static int GetDeps() { int ncf, i, dep, ret; CfgFile *cf; OpenGetter(); GSendInt( GC_Files ); ncf = GRecvInt(); if (!(cf = Malloc( ncf * sizeof(*cf) ))) { CloseGetter(); return 0; } for (i = 0; i < ncf; i++) { cf[i].name = newStr( GRecvStr() ); if ((dep = cf[i].depidx = GRecvInt()) != -1) cf[i].deptime = mTime( cf[dep].name->str ); } if (cfgFiles) { for (i = 0; i < numCfgFiles; i++) delStr( cfgFiles[i].name ); free( cfgFiles ); } ret = 1; cfgFiles = cf; numCfgFiles = ncf; for (i = 0; i < as(cfgMapT); i++) { GSendInt( cfgMapT[i] ); if ((cfgMap[i] = GRecvInt()) < 0) { LogError( "Config reader does not support config cathegory %#x\n", cfgMapT[i] ); ret = 0; } } GSendInt( -1 ); return ret; }
//////////////////////////////////////////////////// // Reads packets and processes waiting packets from playback file void EQPacket::processPlaybackPackets (void) { #ifdef DEBUG_PACKET // debug ("processPackets()"); #endif /* DEBUG_PACKET */ /* Make sure we are not called while already busy */ if (m_busy_decoding) return; /* Set flag that we are busy decoding */ m_busy_decoding = true; unsigned char buffer[8192]; int size; /* in packet playback mode fetch packets from VPacket class */ time_t now; int timein = mTime(); int i = 0; long version = PACKETVERSION; // decode packets from the playback buffer do { size = m_vPacket->Playback((char *) buffer, sizeof(buffer), &now, &version); if (size) { i++; if (PACKETVERSION == version) { dispatchPacket ( size - sizeof (struct ether_header), (unsigned char *) buffer + sizeof (struct ether_header) ); } else { seqWarn("Error: The version of the packet stream has " \ "changed since '%s' was recorded - disabling playback", m_vPacket->getFileName()); // stop the timer, nothing more can be done... stop(); break; } } else break; } while ( (mTime() - timein) < 100); // check if we've reached the end of the recording if (m_vPacket->endOfData()) { seqInfo("End of playback file '%s' reached." "Playback Finished!", m_vPacket->getFileName()); // stop the timer, nothing more can be done... stop(); } /* Clear decoding flag */ m_busy_decoding = false; }