}
// catch the dbc file we need
//-----------------------------------------------------
dbc src;
if(mix.endsWith("same")) {
src = data.dbcFile;
}
else {
//request (load) DBC file
openedFile of = null;
// ask the file loader
for(openedFile af : fm.getFileList()) {
if(af.f.getName().endsWith(mix)) {
of = af;
break;
}
}
// ask the mpq loader
if(of==null) {
if(mpqLoader==null) continue;
if(!(mpqLoader instanceof PluginRequest)) continue;
PluginRequest mpql = (PluginRequest)mpqLoader;
of = mpql.requestRessource("DBFilesClient\\" + mix);
}
if(of==null) continue;
src = (dbc)of.obj;
}
// prepare create crosslist vector
//-----------------------------------------------------
int l = data.mixArrIndexies[i];
data.CrossLists[l] = new HashMap<Integer, String>();
// lazy shortcut ..
HashMap<Integer, String> tmpVec = data.CrossLists[l];
// copy data
for(int j=0; j<src.getNRecords(); j++) {
// index in our tmpVector
Object t = src.getData(vCol, j);
int vIndex = ((Number)t).intValue();
// index in the string table
t = src.getData(dCol, j);
int strIndex = ((Number)t).intValue();
// string we want to store
tmpVec.put(vIndex, src.getStringByOffset(strIndex).toString());
}
}
}