コード例 #1
0
ファイル: MapLayouts.cpp プロジェクト: GerbilSoft/tales
MapLayouts::MapLayouts(
          LoadedROM& rom,
          const RawLevelHeaders& headers) {
  // Iterate over headers
  int mapNum = 0;
  for (AddressRawLevelHeaderMap::const_iterator it = headers.cbegin();
       it != headers.cend();
       it++) {
    
    // Check if this map has been loaded
    AddressToMapIndexMap::iterator findIt
      = addressToIndex_.find(it->second.mapLayoutAddress());
    
    // Don't load if map already loaded
    if (findIt != addressToIndex_.end()) {
      continue;
    }
    
    // Add new map to storage
    mapLayouts_.push_back(MapLayout());
    MapLayout& map = mapLayouts_.back();
    
    // Read map data
    map.readFromData(rom,
                     it->second.mapLayoutAddress());
    
    // Add address mapping
    addressToIndex_.insert(AddressToMapIndexPair(
                it->second.mapLayoutAddress(),
                mapNum));
    
    ++mapNum;
  }
}
コード例 #2
0
ファイル: MapLayouts.cpp プロジェクト: GerbilSoft/tales
int MapLayouts::load(const Tbyte* data) {
  // Count of read bytes
  int byteCount = 0;
  
  // Clear existing data
  mapLayouts_.clear();

  // Read number of maps
  int numMaps = ByteConversion::fromBytes(
                          data + byteCount,
                          ByteSizes::uint16Size,
                          EndiannessTypes::little,
                          SignednessTypes::nosign);
  byteCount += ByteSizes::uint16Size;
  
  // Read each map
  for (int i = 0; i < numMaps; i++) {
    // Add new map to storage
    mapLayouts_.push_back(MapLayout());
    MapLayout& map = mapLayouts_.back();
    
    // Read map data
    byteCount += map.load(data + byteCount);
  }
  
  return byteCount;
}
コード例 #3
0
ファイル: objVectorLayout.cpp プロジェクト: AdamSpitz/klein
MapLayout* ObjVectorLayout :: mapLayoutFor(Oop mapOop) {
  // TODO: Put a pointer to a vtable in the map object, figure out at the right offset for a
  // pointer so that the vtable is in the place where the C++ compiler expects it, and then
  // do a simple dispatch.
  Oop   mapTypeOop  =        MapLayout().mapTypeOopOf(mapOop);
  BPRef bpRef       = ByteVectorLayout().bytesPartRefOf(mapTypeOop);
  Byte* mapType     =  BytesPartLayout().addressOfFirstByteInBytesPart(bpRef);
  int   mapTypeSize =  BytesPartLayout().     indexableSizeOfBytesPart(bpRef);

  # include "mapTypeTesters.incl.impl.hh"

  error("unknown map type");
  return NULL;
}
コード例 #4
0
void GPSSyncDialog::readSettings()
{
    KConfig config("kipirc");
    KConfigGroup group = config.group(QString("GPS Sync 2 Settings"));

    // --------------------------

    // TODO: sanely determine a default backend
    const KConfigGroup groupMapWidget = KConfigGroup(&group, "Map Widget");
    d->mapWidget->readSettingsFromGroup(&groupMapWidget);

    const KConfigGroup groupCorrelatorWidget = KConfigGroup(&group, "Correlator Widget");
    d->correlatorWidget->readSettingsFromGroup(&groupCorrelatorWidget);

    const KConfigGroup groupTreeView = KConfigGroup(&group, "Tree View");
    d->treeView->readSettingsFromGroup(&groupTreeView);

    const KConfigGroup groupSearchWidget = KConfigGroup(&group, "Search Widget");
    d->searchWidget->readSettingsFromGroup(&groupSearchWidget);

    const KConfigGroup groupRGWidget = KConfigGroup(&group, "Reverse Geocoding Widget");
    d->rgWidget->readSettingsFromGroup(&groupRGWidget);

    const KConfigGroup groupDialog = KConfigGroup(&group, "Dialog");
    restoreDialogSize(groupDialog);

    // --------------------------

    setCurrentTab(group.readEntry("Current Tab", 0));
    const bool showOldestFirst = group.readEntry("Show oldest images first", false);

    if (showOldestFirst)
    {
        d->sortActionOldestFirst->setChecked(true);
        d->mapWidget->setSortKey(1);
    }
    else
    {
        d->sortActionYoungestFirst->setChecked(true);
        d->mapWidget->setSortKey(0);
    }

    d->actionBookmarkVisibility->setChecked(group.readEntry("Bookmarks visible", false));
    slotBookmarkVisibilityToggled();

    if (group.hasKey("SplitterState V1"))
    {
        const QByteArray splitterState = QByteArray::fromBase64(group.readEntry(QString("SplitterState V1"), QByteArray()));
        if (!splitterState.isEmpty())
        {
            d->VSplitter->restoreState(splitterState);
        }
    }
    if (group.hasKey("SplitterState H1"))
    {
        const QByteArray splitterState = QByteArray::fromBase64(group.readEntry(QString("SplitterState H1"), QByteArray()));
        if (!splitterState.isEmpty())
        {
            d->HSplitter->restoreState(splitterState);
        }
    }
    d->splitterSize = group.readEntry("Splitter H1 CollapsedSize", 0);

    // ----------------------------------

    d->mapLayout = MapLayout(group.readEntry("Map Layout", QVariant::fromValue(int(MapLayoutOne))).value<int>());
    d->setupGlobalObject->writeEntry("Map Layout", QVariant::fromValue(d->mapLayout));
    adjustMapLayout(false);
    if (d->mapWidget2)
    {
        const KConfigGroup groupMapWidget = KConfigGroup(&group, "Map Widget 2");
        d->mapWidget2->readSettingsFromGroup(&groupMapWidget);

        d->mapWidget2->setActive(true);
    }
}