bool Othello_Logic::Logic_CheckInterUnit_AfterLogic(Match_Map* cur_Map, vector<int> &list_InterUnit, int index_X, int index_Y, int tag) { if(list_InterUnit.size() > 0) { for(int i=0; i<list_InterUnit.size(); ++i) { int index = list_InterUnit[i]; cur_Map->RemoveUnit(index); cur_Map->SetUnit_ToMap(CreateUnit(tag), cur_Map->GetConvertedTileIndex_X(index), cur_Map->GetConvertedTileIndex_Y(index)); } cur_Map->SetUnit_ToMap(CreateUnit(tag), index_X, index_Y); return true; } else return false; }
void ClientGame::LoadEvents(ConstPayloadPtr aPayloadMsg) { for (int i = 0; i < aPayloadMsg->changes_size(); ++i) { const ChangeMsg& change = aPayloadMsg->changes(i); if (change.has_unitenter()) { const UnitEnterMsg& move = change.unitenter(); ClientUnit* unit = GetUnit(move.unitid()); if (!unit) { if (move.has_visualcode()) { CreateUnit(move.unitid(), move.visualcode(), move.to()); } } else { unit->SetTile(mTiles.at(move.to())); } } if (change.has_unitleave()) { const UnitLeaveMsg& leave = change.unitleave(); DeleteUnit(leave.unitid()); } if (change.has_commanddone()) { mTargetMarker->setVisible(false); } if (change.has_remove()) { const RemoveMsg& command = change.remove(); DeleteUnit(command.unitid()); } if (change.has_showtile()) { TileId tileId = change.showtile().tileid(); ClientTile* tile = mTiles.at(tileId); tile->CreateEntity(change.showtile().whater() == 0); } if (change.has_hidetile()) { TileId tileId = change.hidetile().tileid(); ClientTile* tile = mTiles.at(tileId); tile->DestroyEntity(); for (ClientTile::UnitIterator i = tile->GetUnits(); !tile->IsLastUnit(i); ++i) { DeleteUnit(*i); } } } }
AROS_UFH3(void, PCI_Enumerator, AROS_UFHA(struct Hook *, hook, A0), AROS_UFHA(OOP_Object *, pciDevice, A2), AROS_UFHA(APTR, message, A1)) { AROS_USERFUNC_INIT D(bug("[SiS900] PCI_Enumerator()\n")); LIBBASETYPEPTR LIBBASE = (LIBBASETYPEPTR)hook->h_Data; BOOL FoundCompatNIC = FALSE; IPTR DeviceID, VendorID, RevisionID; char *CardName, *CardChipName; struct SiS900Unit *unit; OOP_GetAttr(pciDevice, aHidd_PCIDevice_VendorID, &VendorID); OOP_GetAttr(pciDevice, aHidd_PCIDevice_ProductID, &DeviceID); OOP_GetAttr(pciDevice, aHidd_PCIDevice_RevisionID, &RevisionID); if ((DeviceID == 0x0900)) { FoundCompatNIC = TRUE; CardName = "SiS 900 PCI Fast Ethernet"; CardChipName = "SiS900"; } else if ((DeviceID == 0x7016)) { FoundCompatNIC = TRUE; CardName = "SiS 7016 PCI Fast Ethernet"; CardChipName = "SiS7016"; } if (FoundCompatNIC) { D(bug("[SiS900] PCI_Enumerator: Found %s NIC, PCI_ID %04x:%04x Rev:%d\n", CardName, VendorID, DeviceID, RevisionID)); if ((unit = CreateUnit(LIBBASE, pciDevice, CardName, CardChipName))) { AddTail(&LIBBASE->sis900b_Units, &unit->sis900u_Node); } else { D(bug("[SIS900] PCI_Enumerator: Failed to create unit!\n")); return; } D(bug("[%s] PCI_Enumerator: %s NIC I/O MEM @ %08x\n", unit->sis900u_name, unit->sis900u_rtl_chipname, unit->sis900u_BaseMem)); } AROS_USERFUNC_EXIT }
CSpringUnit* CSpringGame::CreateUnit(int id) { if (id < 0) { SendToConsole("shard-runtime warning: tried to create unit with id < 0"); return NULL; } springai::Unit* unit = springai::WrappUnit::GetInstance(callback->GetSkirmishAIId(), id); if (unit) { return CreateUnit(unit); } else { SendToConsole("shard-runtime warning: Could not create unit, WrappUnit returned NULL."); return NULL; } }
static struct DevUnit *CreatePCIUnit(ULONG index, struct DevBase *base) { BOOL success = TRUE; struct BusContext *context; struct DevUnit *unit = NULL; context = AllocCard(index, base); if(context == NULL) success = FALSE; if(success) { if(context->unit_tags == NULL) { if(context->bus_type == PCI_BUS) context->unit_tags = unit_tags; else context->unit_tags = bridge_unit_tags; } context->unit = unit = CreateUnit(index, context, context->unit_tags, context->bus_type, base); if(unit == NULL) success = FALSE; } /* Add interrupt */ if(success) { if(!(WrapInt(&unit->status_int, base) && WrapInt(&unit->rx_int, base) && WrapInt(&unit->tx_int, base) && WrapInt(&unit->info_int, base))) success = FALSE; success = AddPCIIntServer(context->card, &unit->status_int, base); } if(!success) { if(context != NULL) { DeleteUnit(context->unit, base); FreeCard(context, base); } unit = NULL; } return unit; }
cActiveSkillObject::cActiveSkillObject(const cActiveSkillInfo& skillInfo) : cSkillObject(skillInfo.GetInfo()), mSkillInfo(&skillInfo), mTarget(new cTarget), mpSkillUnit(0), mCastingTick(0), mProcessTick(0), mCoolingTick(0) { // 080602 LUJ, 오브젝트 타입을 초기화한다 mType = cSkillObject::TypeActive; m_BuffSkillTable.Initialize( 3 ); mpSkillUnit = CreateUnit( skillInfo.GetInfo()); }
/***************************************************************************** * * GetUnit * *****************************************************************************/ struct DevUnit *GetUnit (ULONG unit_num, struct MyBase *base) { struct DevUnit *unit; unit = FindUnit (unit_num, base); if (unit == NULL) { Debug ("\n Unit not found, creating new"); unit = CreateUnit (unit_num, base); if (unit != NULL) { Debug ("\n Adding unit to base->units list"); AddTail ((APTR)&(base->units), (APTR)unit); } } return unit; }
void CSpringGame::FillUnitVector(std::vector<IUnit*>& target, std::vector<springai::Unit*> source) { target.clear(); std::vector<springai::Unit*>::iterator i = source.begin(); for(; i != source.end(); ++i) { if (!(*i)) { continue; } CSpringUnit* unit = GetUnitById((*i)->GetUnitId()); if (!unit) { unit = CreateUnit(*i, false); } else { delete (*i); } if (unit) { target.push_back(unit); } } }
nsresult otMacAudioInputStream::Init(otAudioFilter *aFilter, otICodecInfo *aCodecInfo) { nsresult rv; PRUint32 sampleRate; PRUint16 ptime; NS_ENSURE_ARG_POINTER(aCodecInfo); rv = aCodecInfo->GetClockrate(&sampleRate); if (NS_FAILED(rv)) return rv; rv = aCodecInfo->GetPtime(&ptime); if (NS_FAILED(rv)) return rv; mFrameSize = 2*ptime*sampleRate/1000; rv = CreateUnit(PR_TRUE, sampleRate, 1, mFrameSize, InputReadyCb, this); if (NS_FAILED(rv)) { FreeData(); return rv; } mFrame = (char*)nsMemory::Alloc(mInputFrameSize); if (!mFrame) { FreeData(); return NS_ERROR_OUT_OF_MEMORY; } mFilter = aFilter; mCodecInfo = new otCodecInfo(aCodecInfo); return NS_OK; }
AROS_UFH3(void, PCI_Enumerator, AROS_UFHA(struct Hook *, hook, A0), AROS_UFHA(OOP_Object *, pciDevice, A2), AROS_UFHA(APTR, message, A1)) { AROS_USERFUNC_INIT char *CardName, *CardChipName; IPTR DeviceID, VendorID, RevisionID, CardCapabilities; BOOL FoundCompatNIC = FALSE; D(bug("[rtl8139] PCI_Enumerator(PCI Device Obj @ %p)\n", pciDevice)); LIBBASETYPEPTR LIBBASE = (LIBBASETYPEPTR)hook->h_Data; OOP_GetAttr(pciDevice, aHidd_PCIDevice_VendorID, &VendorID); OOP_GetAttr(pciDevice, aHidd_PCIDevice_ProductID, &DeviceID); OOP_GetAttr(pciDevice, aHidd_PCIDevice_RevisionID, &RevisionID); if ((VendorID == 0x10ec) && (DeviceID == 0x8129)) { FoundCompatNIC = TRUE; CardCapabilities = RTLc_HAS_MII_XCVR; CardName = "RealTek RTL8129"; CardChipName = "RTL8129"; } else if ((VendorID == 0x10ec) && ((DeviceID == 0x8138) || (DeviceID == 0x8139))) { FoundCompatNIC = TRUE; if ((DeviceID == 0x8139) && (RevisionID >= 0x20)) { CardCapabilities = RTLc_HAS_CHIP_XCVR | RTLc_HAS_LNK_CHNG | RTLc_HAS_DESC; CardName = "RealTek RTL8139D"; CardChipName = "RTL8139D"; } else { CardCapabilities = RTLc_HAS_CHIP_XCVR | RTLc_HAS_LNK_CHNG; CardName = "RealTek RTL8139C"; CardChipName = "RTL8139C"; } } else if ((VendorID == 0x1113) && (DeviceID == 0x1211)) { FoundCompatNIC = TRUE; CardCapabilities = RTLc_HAS_CHIP_XCVR | RTLc_HAS_LNK_CHNG; CardName = "Accton EN-1207D Fast Ethernet"; CardChipName = "RTL8139"; } else if ((VendorID == 0x1186) && (DeviceID == 0x1300)) { FoundCompatNIC = TRUE; CardCapabilities = RTLc_HAS_CHIP_XCVR | RTLc_HAS_LNK_CHNG; CardName = "D-Link DFE-538TX"; CardChipName = "RTL8139"; } else if ((VendorID == 0x018a) && (DeviceID == 0x0106)) { FoundCompatNIC = TRUE; CardCapabilities = RTLc_HAS_CHIP_XCVR | RTLc_HAS_LNK_CHNG; CardName = "LevelOne FPC-0106Tx"; CardChipName = "RTL8139"; } else if ((VendorID == 0x021b) && (DeviceID == 0x8139)) { FoundCompatNIC = TRUE; CardCapabilities = RTLc_HAS_CHIP_XCVR | RTLc_HAS_LNK_CHNG; CardName = "Compaq HNE-300"; CardChipName = "RTL8139"; } if (FoundCompatNIC) { D(bug("[rtl8139] PCI_Enumerator: Found %s NIC [%s], PCI_ID %04x:%04x Rev:%d\n", CardName, CardChipName, VendorID, DeviceID, RevisionID)); struct RTL8139Unit *unit = NULL; if ((unit = CreateUnit(LIBBASE, pciDevice, CardCapabilities, CardName, CardChipName)) != NULL) { AddTail(&LIBBASE->rtl8139b_Units, &unit->rtl8139u_Node); } else { D(bug("[rtl8139] PCI_Enumerator: Failed to create unit!\n")); return; } RTLD(bug("[%s] PCI_Enumerator: %s NIC I/O MEM @ %08x\n", unit->rtl8139u_name, unit->rtl8139u_rtl_chipname, unit->rtl8139u_BaseMem)) } AROS_USERFUNC_EXIT }
bool City::CheckMouseClick(const sf::Vector2f* mousePos) { if (interactionMenu.at("menu").visible) { std::string msg = interactionMenu.at("menu").activate(*mousePos); if (msg == "null") { return false; } else { if (msg == "train_swordsman") { CreateUnit(Unit::UNITTYPES::SWORDSMAN); return true; } else if (msg == "train_pikeman") { CreateUnit(Unit::UNITTYPES::PIKEMAN); return true; } else if (msg == "train_archer") { CreateUnit(Unit::UNITTYPES::ARCHER); return true; } else if (msg == "train_knight") { CreateUnit(Unit::UNITTYPES::KNIGHT); return true; } else if (msg == "improve_weapons") { if (MapManager::GetInstance()->GetPlayerGold(owningPlayer) >= 500) { MapManager::GetInstance()->RemoveGold(500, owningPlayer); levelWeapons++; interactionMenu.at("menu").entries.pop_back(); sf::RectangleShape shape; shape.setSize(sf::Vector2f(menuXDimension, menuYDimension)); shape.setFillColor(Camera::GetInstance()->getStyleSheets()->at("button").bodyCol); shape.setOutlineThickness(-Camera::GetInstance()->getStyleSheets()->at("button").borderSize); shape.setOutlineColor(Camera::GetInstance()->getStyleSheets()->at("button").borderCol); sf::Text text; text.setString("Improve Weapons (1000)"); text.setFont(*Camera::GetInstance()->getStyleSheets()->at("button").font); text.setColor(Camera::GetInstance()->getStyleSheets()->at("button").textCol); text.setCharacterSize(menuYDimension - Camera::GetInstance()->getStyleSheets()->at("button").borderSize - 4); //4 is the padding size interactionMenu.at("menu").entries.push_back(GuiEntry("improve_weapons 2", shape, text)); } } else if (msg == "improve_weapons 2") { if (MapManager::GetInstance()->GetPlayerGold(owningPlayer) >= 1000) { MapManager::GetInstance()->RemoveGold(1000, owningPlayer); levelWeapons++; interactionMenu.at("menu").entries.pop_back(); } } hasSpawnedUnit = true; } } return false; }