Esempio n. 1
0
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);
  }
}
Esempio n. 2
0
 void
 run (Arg)
   {
     noOptions();
     help();
     groupID();
     singleTest();
     groupFilter1();
     groupFilter2();
     additionalCmd();
     additionalCmd2();
   }
Esempio n. 3
0
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()) );
}