//sets the new positon to the given values, informs all other objects about the collision if needed, updates the grid void Field::updatePosition(const float &xNew, const float &yNew) { if (x != xNew || y != yNew) { updateMetrics(metrics, affectedGrids, (int32_t)xNew, (int32_t)yNew); applyCollision(); int32_t newGridX = (int32_t)floor(xNew / GRID_SIZE); int32_t newGridY = (int32_t)floor(yNew / GRID_SIZE); if (xGridded != newGridX || yGridded != newGridY) { removeFromMap(); x = xNew; y = yNew; xGridded = newGridX; yGridded = newGridY; insertIntoMap(); } else { x = xNew; y = yNew; xGridded = newGridX; yGridded = newGridY; } } }
void ContinuousAnim::abort() { if (isRunning()) { AnimPtr tempThis = shared_from_this(); removeFromMap(); setStopped(); } }
void OS2LPlugin::closeInput(quint32 input, quint32 universe) { enableTCPServer(false); removeFromMap(input, universe, Input); m_inputUniverse = UINT_MAX; }
void DMXUSB::closeOutput(quint32 output, quint32 universe) { if (output < quint32(m_outputs.size())) { removeFromMap(output, universe, Output); m_outputs.at(output)->close(output, false); } }
void GPIOPlugin::closeOutput(quint32 output, quint32 universe) { if (output != 0) return; m_outputUniverse = UINT_MAX; removeFromMap(output, universe, Output); }
void CompPinStruct::setRefDes(const CString& refDes) { if (m_refDes != refDes) { removeFromMap(); m_refDes = refDes; addToMap(); } }
void* UA_memoryManager_realloc(void *ptr, size_t new_size) { removeFromMap(ptr); if (totalMemorySize + new_size > memoryLimit) return NULL; void *addr = realloc(ptr, new_size); if (!addr) return NULL; addToMap(new_size, addr); return addr; }
void HIDPlugin::closeOutput(quint32 output, quint32 universe) { HIDDevice* dev = deviceOutput(output); if (dev != NULL) { removeFromMap(output, universe, Output); dev->closeOutput(); } else qDebug() << name() << "has no output number:" << output; }
/** * @brief */ void FeedProvider::cleanup() { setEnded(); removeFromMap(); mConsumerMutex.lock(); for ( ConsumerMap::iterator iter = mConsumers.begin(); iter != mConsumers.end(); iter++ ) if ( iter->first->hasProvider( *this ) ) iter->first->deregisterProvider( *this, false ); mConsumers.clear(); mConsumerMutex.unlock(); }
void CompPinStruct::setPinName(const CString& pinName) { if (m_pinName != pinName) { removeFromMap(); m_pinName = pinName; addToMap(); } }
Animate3D::~Animate3D() { removeFromMap(); for (auto& it : _keyFrameEvent) { delete it.second; } _keyFrameEvent.clear(); CC_SAFE_RELEASE(_animation); }
Definition::~Definition() { if (m_isSymbol) { removeFromMap(this); } if (m_impl) { delete m_impl; m_impl=0; } }
void HIDPlugin::closeInput(quint32 input, quint32 universe) { HIDDevice* dev = device(input); if (dev != NULL) { removeFromMap(input, universe, Input); dev->closeInput(); disconnect(dev, SIGNAL(valueChanged(quint32,quint32,quint32,uchar)), this, SIGNAL(valueChanged(quint32,quint32,quint32,uchar))); } else qDebug() << name() << "has no input number:" << input; }
bool FileFormatManager::removeFormat(const std::string &identifier) { FormatIdVector ids = m_identifiers[identifier]; m_identifiers.erase(identifier); if (ids.empty()) return false; for (FormatIdVector::const_iterator it = ids.begin(), itEnd = ids.end(); it != itEnd; ++it) { FileFormat *fmt = m_formats[*it]; if (fmt == NULL) continue; removeFromMap(m_mimeTypes, fmt->mimeTypes(), *it); removeFromMap(m_fileExtensions, fmt->fileExtensions(), *it); m_formats[*it] = NULL; delete fmt; } return true; }
void SPIPlugin::closeOutput(quint32 output, quint32 universe) { if (output != 0) return; removeFromMap(output, universe, Output); m_referenceCount--; if (m_referenceCount == 0) { if (m_spifd != -1) close(m_spifd); m_spifd = -1; } }
void DMXUSB::closeInput(quint32 input, quint32 universe) { if (input < quint32(m_inputs.size())) { DMXUSBWidget *widget = m_inputs.at(input); removeFromMap(input, universe, Input); widget->close(input, true); if (widget->type() == DMXUSBWidget::ProRXTX || widget->type() == DMXUSBWidget::ProMk2 || widget->type() == DMXUSBWidget::UltraPro) { EnttecDMXUSBPro* pro = (EnttecDMXUSBPro*) widget; disconnect(pro, SIGNAL(valueChanged(quint32,quint32,quint32,uchar)), this, SIGNAL(valueChanged(quint32,quint32,quint32,uchar))); } } }
void LLViewerObjectList::cleanupReferences(LLViewerObject *objectp) { LLMemType mt(LLMemType::MTYPE_OBJECT); if (mDeadObjects.find(objectp->mID) != mDeadObjects.end()) { llinfos << "Object " << objectp->mID << " already on dead list!" << llendl; } else { mDeadObjects.insert(objectp->mID); } // Cleanup any references we have to this object // Remove from object map so noone can look it up. mUUIDObjectMap.erase(objectp->mID); mUUIDAvatarMap.erase(objectp->mID);//No need to be careful here. //if (objectp->getRegion()) //{ // llinfos << "cleanupReferences removing object from table, local ID " << objectp->mLocalID << ", ip " // << objectp->getRegion()->getHost().getAddress() << ":" // << objectp->getRegion()->getHost().getPort() << llendl; //} removeFromLocalIDTable(*objectp); if (objectp->onActiveList()) { //llinfos << "Removing " << objectp->mID << " " << objectp->getPCodeString() << " from active list in cleanupReferences." << llendl; objectp->setOnActiveList(FALSE); mActiveObjects.erase(objectp); } if (objectp->isOnMap()) { removeFromMap(objectp); } // Don't clean up mObject references, these will be cleaned up more efficiently later! // Also, not cleaned up removeDrawable(objectp->mDrawable); mNumDeadObjects++; }
void Field::onUsed(const ToolTypes &toolType, const int32_t &toolLevel) { if (toolType == appropriateTool) { health -= 2*toolLevel*deltaTime; } else { health -= toolLevel*deltaTime; } if (health <= 0) { removeFromMap(); delete this; return; } }
void FieldBackSilver::onUsed(const ToolTypes &toolType, const int32_t &toolLevel) { if (toolType == appropriateTool) { health -= 2*toolLevel*deltaTime; } else { health -= toolLevel*deltaTime; } if (health <= 0) { InventoryObject* inventoryObject = new InventorySilver(1); world.player.inventory.add(inventoryObject); removeFromMap(); delete this; return; } }
Animate3D::~Animate3D() { removeFromMap(); CC_SAFE_RELEASE(_animation); }
void Animate3D::stop() { removeFromMap(); ActionInterval::stop(); }
void UA_memoryManager_free(void* ptr) { removeFromMap(ptr); free(ptr); }
void SimpleAnim::remove() { AnimPtr tempThis = shared_from_this(); removeFromMap(); setStopped(); }
void cGameServer::doDeath(int id) { //printf("%d(%s) type %d died to %d(%s) type %d\n",id,player[id].name,player[id].type,player[id].target,player[player[id].target].name,player[player[id].target].type); //run death script mlscript.run(1005,id); if(player[id].hp > 0)//script revived player return; //announce death and assign experience if(player[id].type==PLAYER) { //exp loss player[id].exp = (unsigned long) ( float(player[id].exp) * 0.666f); sendEXPMsg(id); } if(player[id].type==NPC && player[player[id].target].type==PLAYER && player[player[id].target].lvl<255) { player[player[id].target].exp+=player[id].worth;//+expBonus(player[player[id].target].wis,player[player[id].target].lvl); sendEXPMsg(player[id].target); } //set this spot to vacant world[player[id].map].map[player[id].y][player[id].x].space=VACANT; //do loot drop if(player[id].type==NPC && player[id].state != MERCHANT) { for(int c=0; c<MAX_INV; c++) if( player[id].inventory[c]>-1) { int invitem=player[id].inventory[c]; //switch from player to ground ml_items.item[invitem].owner=-1; ml_items.item[invitem].map=player[id].map; ml_items.item[invitem].x=player[id].x; ml_items.item[invitem].y=player[id].y; player[id].inventory[c]=-1; //send add map item sendAddMapItem(ml_items.item[invitem].graphic,player[id].map,player[id].x,player[id].y); //insert into db now that item is no longer on npc mydb.insertItem(&ml_items.item[invitem]); } //refill npcs inventory doNpcFill(id); } else if(player[id].type==PLAYER) { //unequip all player[id].eLeft=-1; player[id].eRight=-1; player[id].eBody=-1; player[id].eHead=-1; player[id].eSpecial=-1; sendEquipMsg(id); //death drop for(int c=0; c<MAX_INV; c++) if( player[id].inventory[c]>-1 && rand()%3==0 && player[id].lvl>=newbieLevel && ml_items.item[player[id].inventory[c]].stack!=PERMANENT) { //send inventory removal sendInventoryRemove(itod(id),ml_items.item[player[id].inventory[c]].slot,ml_items.item[player[id].inventory[c]].qty); //send add map item sendAddMapItem(ml_items.item[player[id].inventory[c]].graphic,player[id].map,player[id].x,player[id].y); //switch from player to ground ml_items.item[player[id].inventory[c]].owner=-1; ml_items.item[player[id].inventory[c]].map=player[id].map; ml_items.item[player[id].inventory[c]].x=player[id].x; ml_items.item[player[id].inventory[c]].y=player[id].y; updateItem(player[id].inventory[c]); player[id].inventory[c]=-1; //save item } player[id].x = player[id].origin_x; player[id].y = player[id].origin_y; player[id].map = player[id].origin_map; } //reset hp player[id].hp=player[id].mhp; player[id].mp=player[id].mmp; if(player[id].origin_map!=-1) { player[id].x = player[id].origin_x; player[id].y = player[id].origin_y; player[id].map = player[id].origin_map; } if(player[id].type==PLAYER) { //send to origin sendMycrMsg(itod(id),id); } //Sleep(1000); //Death bug emulation //send back to origin for NPC if(player[id].type==NPC) { if(player[id].origin_map==-1) { removeFromMap(id,player[id].map); player[id].current_map=-1; player[id].access=-1; } player[id].randomize(); //respawn time if(!player[id].total_time) { if(player[id].state==MERCHANT) player[id].total_time = 70; else player[id].total_time = 675; } int x=0; while(world[player[id].map].map[player[id].y][player[id].x].type!=OPEN || world[player[id].map].map[player[id].y][player[id].x].space!=VACANT) { player[id].randomize(); x++; if(x>600) { newLine("map %d too crowded!\n",player[id].map); break; } } } //send hp if player if(player[id].type==PLAYER) { //save player mydb.updatePlayer(&player[id]); //send hp here sendHPMsg(id); sendMPMsg(id); } else player[id].target=-1; }