void AbstractInput::bind() { inputList.reset(); lstring list = mapping.split(","); for(auto& mapping : list) { lstring values = mapping.split("/"); if(values.size() == 1) continue; //skip "None" mapping uint64_t id = hex(values[0]); string group = values(1, ""); string input = values(2, ""); string qualifier = values(3, ""); Input item; for(auto device : inputManager->devices) { if(id != device->id) continue; if(group == "Rumble") { item.device = device; item.id = id; item.group = 0; item.input = 0; break; } if(auto groupID = device->find(group)) { if(auto inputID = device->group[groupID()].find(input)) { item.device = device; item.id = id; item.group = groupID(); item.input = inputID(); item.qualifier = Input::Qualifier::None; if(qualifier == "Lo") item.qualifier = Input::Qualifier::Lo; if(qualifier == "Hi") item.qualifier = Input::Qualifier::Hi; break; } } } if(item.device == nullptr) continue; inputList.append(item); } }
void run (Arg) { noOptions(); help(); groupID(); singleTest(); groupFilter1(); groupFilter2(); additionalCmd(); additionalCmd2(); }
void InventoryItem::GetItemRow( PyPackedRow* into ) const { into->SetField( "itemID", new PyLong( itemID() ) ); into->SetField( "typeID", new PyInt( typeID() ) ); into->SetField( "ownerID", new PyInt( ownerID() ) ); into->SetField( "locationID", new PyLong( locationID() ) ); into->SetField( "flagID", new PyInt( flag() ) ); into->SetField( "quantity", new PyInt( singleton() ? -1 : quantity()) ); into->SetField( "groupID", new PyInt( groupID() ) ); into->SetField( "categoryID", new PyInt( categoryID() ) ); into->SetField( "customInfo", new PyString( customInfo() ) ); //into->SetField( "singleton", new PyBool( singleton() ) ); //into->SetField( "stacksize", new PyInt (quantity()) ); }