Index: /Vago/trunk/Vago/about.cpp
===================================================================
--- /Vago/trunk/Vago/about.cpp	(revision 896)
+++ /Vago/trunk/Vago/about.cpp	(revision 897)
@@ -20,5 +20,5 @@
                          "Samer/Mukade/EdT for allow me to use Jubei as icon<br />"
                          "Alloc for AIE2 and support<br />"
-                         "Paradox for Sound excel plugin and documentation<br />"
+                         "Paradox for Sound documentation and testing<br />"
                          "Wiki contributors for the documentation<br />"
                          "AE contributors<br />"
Index: /Vago/trunk/Vago/about.ui
===================================================================
--- /Vago/trunk/Vago/about.ui	(revision 896)
+++ /Vago/trunk/Vago/about.ui	(revision 897)
@@ -53,30 +53,11 @@
          </property>
          <property name="text">
-          <string>&lt;html&gt;
-&lt;b&gt;Vago GUI&lt;/b&gt;
-&lt;p style=&quot;font-size:small;&quot;&gt;
-Written by s10k&lt;br /&gt;&lt;br/&gt;
-Thanks to:&lt;br/&gt;
-Neo for OniSplit&lt;br /&gt;
-EdT for testing, suggestions and icon&lt;br /&gt;
-demos_kratos for original OniSplit GUI&lt;br /&gt;
-Samer/Mukade/EdT for allow me to use Jubei as icon&lt;br /&gt;
-Alloc for AIE2 and support&lt;br /&gt;
-Paradox for Sound excel plugin and documentation&lt;br /&gt;
-Wiki contributors for the documentation&lt;br /&gt;
-AE contributors&lt;br /&gt;
-and in general to all OniCentral Community&lt;br /&gt;&lt;br/&gt;
-Also thanks to: &lt;br /&gt;
-StackOverflow Community&lt;br /&gt;
-Fabrizio Angius for PKZIP 2.0 for zip handling&lt;br /&gt;
-smashingmagazine for the folder icon :)&lt;br /&gt;
-&lt;center&gt;
-Visit us at:&lt;br /&gt;
-&lt;a href=&quot;http://oni.bungie.org&quot;&gt;
-oni.bungie.org
-&lt;/center&gt;
-&lt;/a&gt;
-&lt;/p&gt;
-&lt;/html&gt;</string>
+          <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt; font-weight:600;&quot;&gt;Vago GUI&lt;/span&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;Written by s10k&lt;br /&gt;&lt;br /&gt;Thanks to:&lt;br /&gt;Edit in About.cpp&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
+&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;Visit us at:&lt;br /&gt;&lt;/span&gt;&lt;a href=&quot;http://oni.bungie.org&quot;&gt;&lt;span style=&quot; font-size:8pt; text-decoration: underline; color:#0000ff;&quot;&gt;oni.bungie.org &lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
          </property>
         </widget>
Index: /Vago/trunk/Vago/converter.cpp
===================================================================
--- /Vago/trunk/Vago/converter.cpp	(revision 896)
+++ /Vago/trunk/Vago/converter.cpp	(revision 897)
@@ -10,10 +10,11 @@
 void Converter::run()
 {
-    QProcess *myProcess = new QProcess();
+    this->processHasKilled=false;
+    this->myProcess = new QProcess();
     QString result = QString();
     QString errorMessage = "";
     int numErrors=0;
 
-    myProcess->setWorkingDirectory(this->AppDir);
+    myProcess->setWorkingDirectory(this->AppDir); // Set working directory (for work with AEI2/Mac OS)
 
     if(this->myData->size()!=1){
@@ -23,6 +24,4 @@
         emit setupPB(0); //Intermitent bar, we don't have any estimation when the task is done
     }
-
-    //myProcess->setProcessChannelMode(QProcess::MergedChannels); //we want both stdout and stderr
 
     for(int i=0; i<this->myData->size(); i++){
@@ -37,7 +36,15 @@
 
             commandToExec=commands.mid(currentIndex,(nextIndex-currentIndex));
-            myProcess->start(GlobalVars::OniSplitExeName+" "+commandToExec);
-            myProcess->waitForFinished(-1);
-            result=myProcess->readAllStandardError();
+            this->myProcess->start(GlobalVars::OniSplitExeName+" "+commandToExec);
+            this->myProcess->waitForFinished(-1);
+
+            if(this->processHasKilled){ // If the process has killed there's no need to proceed with reading output or process more commands
+                delete this->myProcess; //delete object and make pointer invalid
+                this->myData->clear(); //clean list
+                emit conversionAborted();
+                return;
+            }
+
+            result=this->myProcess->readAllStandardError();
 
             if(!result.isEmpty()){ //if(!result.startsWith("Importing",Qt::CaseSensitive) && !result.startsWith("Importing",Qt::CaseSensitive)){ //case sensitive is faster
@@ -57,5 +64,5 @@
     }
 
-    delete myProcess; //delete object and make pointer invalid
+    delete this->myProcess; //delete object and make pointer invalid
     this->myData->clear(); //clean list
 
@@ -71,2 +78,8 @@
 }
 
+// Kill the process if requested
+void Converter::terminateCurrProcess(){
+    this->myProcess->kill();
+    this->processHasKilled=true;
+    this->myLogger->writeString("Received signal to kill current OniSplit operation (user requested).");
+}
Index: /Vago/trunk/Vago/converter.h
===================================================================
--- /Vago/trunk/Vago/converter.h	(revision 896)
+++ /Vago/trunk/Vago/converter.h	(revision 897)
@@ -6,6 +6,4 @@
 
 #include "logger.h"
-#include "util.h"
-//#include <QDebug>
 
 class Converter : public QThread
@@ -18,12 +16,16 @@
     Logger *myLogger;
     QStringList *myData;
+    QProcess *myProcess;
+    bool processHasKilled;
 
 protected:
     void run(); //for thread
 private slots:
+    void terminateCurrProcess();
 signals:
     void setupPB(int numberTasks);
     void taskDone();
     void resultConversion(QString result, int numErrors);
+    void conversionAborted();
 };
 
Index: /Vago/trunk/Vago/mainwindow.cpp
===================================================================
--- /Vago/trunk/Vago/mainwindow.cpp	(revision 896)
+++ /Vago/trunk/Vago/mainwindow.cpp	(revision 897)
@@ -58,4 +58,12 @@
         iniChanged=true;
     }
+    if(!this->vagoSettings->contains("WindowWidth")){
+        this->vagoSettings->setValue("WindowWidth", GlobalVars::DefaultWindowWidth);
+        iniChanged=true;
+    }
+    if(!this->vagoSettings->contains("WindowHeight")){
+        this->vagoSettings->setValue("WindowHeight", GlobalVars::DefaultWindowHeight);
+        iniChanged=true;
+    }
     if(!this->vagoSettings->contains("OniWindow")){
         this->vagoSettings->setValue("OniWindow", true);
@@ -80,4 +88,6 @@
     this->AeLocation=this->vagoSettings->value("AeFolder").toString();
     this->outputFolder=this->workspaceLocation;
+    this->startedWindowWidth=this->vagoSettings->value("WindowWidth").toInt();
+    this->startedWindowHeight=this->vagoSettings->value("WindowHeight").toInt();
 
     //Create our workspace if it doesn't exists yet
@@ -93,6 +103,8 @@
     this->myBar->setMinimumWidth(150);
     this->myBar->hide(); //hide while not being used
-
-    ui->statusBar->addPermanentWidget(myBar); //this adds automatically in right
+    ui->tbAbortConversion->hide(); //hide while not being used
+
+    ui->statusBar->addPermanentWidget(this->myBar); //this adds automatically in right
+    ui->statusBar->addPermanentWidget(ui->tbAbortConversion);
 
     //Initialize list pointers
@@ -123,9 +135,11 @@
     ui->actionWindows->setChecked(false);
     ui->actionMac_Windows_demo->setChecked(true);
-    resize(800,600); // Mac OS pcs should be able to render this resolution without any problem. It's also better
-    // because the components on mac use more space
+    // resize(800,600); // Mac OS pcs should be able to render this resolution without any problem. It's also better
+    //// because the components on mac use more space
 #else
-    resize(640,480);
+    //resize(640,480); // windows stuff
 #endif
+
+    resize(this->startedWindowWidth,this->startedWindowHeight);
 
     connectSlots();
@@ -135,5 +149,5 @@
     mapCommands();
 
-    updateItemsLoaded(ui->twSourcesGeneral);
+    updateItemsLoaded(ui->twSourcesXML);
 
     this->myLogger->writeString("Application started.");
@@ -204,4 +218,11 @@
 }
 
+void MainWindow::on_tbAbortConversion_clicked()
+{
+    if(Util::showQuestionPopUp(this,"Are you sure you want to abort the current conversion?")){
+        emit terminateCurrProcess();
+    }
+}
+
 void MainWindow::on_cbEnvMap_toggled(bool checked)
 {
@@ -219,17 +240,7 @@
 }
 
-void MainWindow::on_cbCamera_toggled(bool checked)
-{
-    if(checked){
-        ui->cbGeometry->setChecked(false);
-    }
-}
-
-void MainWindow::on_cbGeometry_toggled(bool checked)
-{
-    ui->leGeometryName->setEnabled(checked);
-    if(checked){
-        ui->cbCamera->setChecked(false);
-    }
+void MainWindow::on_cbSpecificFilesLevels_toggled(bool checked)
+{
+    ui->leSpecificFilesLevels->setEnabled(checked);
 }
 
@@ -270,32 +281,32 @@
 }
 
-void MainWindow::on_pbAddSourceGeneral_clicked()
-{
-    if(QString::compare(ui->cbFromGeneral->currentText(),"ONI",Qt::CaseSensitive)==0 && QString::compare(ui->cbToGeneral->currentText(),"DAT",Qt::CaseSensitive)==0){ //CaseSensitive is faster)
-        addFilesSource(ui->twSourcesGeneral,Util::multipleDirDialog("Choose folders with ONIs..."));
+void MainWindow::on_pbAddSourceXML_clicked()
+{
+    addFilesSource( ui->twSourcesXML,QFileDialog::getOpenFileNames(this,"Choose the files...","./" , "All Files (*.*)"));
+}
+
+void MainWindow::on_pbAddSourceTextures_clicked()
+{
+    addFilesSource( ui->twSourcesTextures, QFileDialog::getOpenFileNames(this,"Choose the files...","./" , "All Files (*.*)"));
+}
+
+void MainWindow::on_pbAddSourceObjects_clicked()
+{
+    addFilesSource( ui->twSourcesObjects,QFileDialog::getOpenFileNames(this,"Choose the files...","./" , "All Files (*.*)"));
+}
+
+void MainWindow::on_pbAddSourceCharacters_clicked()
+{
+    addFilesSource( ui->twSourcesCharacters,QFileDialog::getOpenFileNames(this,"Choose the files...","./" , "All Files (*.*)"));
+}
+
+void MainWindow::on_pbAddSourceLevels_clicked()
+{
+    if(QString::compare(ui->cbFromXML->currentText(),"ONI FILES",Qt::CaseSensitive)==0 && QString::compare(ui->cbToXML->currentText(),"DAT",Qt::CaseSensitive)==0){ //CaseSensitive is faster)
+        addFilesSource(ui->twSourcesLevels,Util::multipleDirDialog("Choose folders with ONIs..."));
     }
     else{
-        addFilesSource( ui->twSourcesGeneral,QFileDialog::getOpenFileNames(this,"Choose the files...","./" , "All Files (*.*)"));
-    }
-}
-
-void MainWindow::on_pbAddSourceTextures_clicked()
-{
-    addFilesSource( ui->twSourcesTextures, QFileDialog::getOpenFileNames(this,"Choose the files...","./" , "All Files (*.*)"));
-}
-
-void MainWindow::on_pbAddSourceModels_clicked()
-{
-    addFilesSource( ui->twSourcesModels,QFileDialog::getOpenFileNames(this,"Choose the files...","./" , "All Files (*.*)"));
-}
-
-void MainWindow::on_pbAddSourceAnimations_clicked()
-{
-    addFilesSource( ui->twSourcesAnimations,QFileDialog::getOpenFileNames(this,"Choose the files...","./" , "All Files (*.*)"));
-}
-
-void MainWindow::on_pbAddSourceLevels_clicked()
-{
-    addFilesSource( ui->twSourcesLevels,QFileDialog::getOpenFileNames(this,"Choose the files...","./" , "All Files (*.*)"));
+        addFilesSource(ui->twSourcesLevels,QFileDialog::getOpenFileNames(this,"Choose the files...","./" , "All Files (*.*)"));
+    }
 }
 
@@ -329,5 +340,5 @@
 
     //Pre-processing (check if the files/folders received are valid), e.g. check for ONI->DAT if are only given folders and not files
-    if(QString::compare(from,"ONI",Qt::CaseSensitive)==0 && QString::compare(to,"DAT",Qt::CaseSensitive)==0){
+    if(from=="ONI FILES" && to=="DAT"){
         //check if it's a folder
         foreach(QString myFile, files){
@@ -381,85 +392,58 @@
 }
 
-QString MainWindow::fileParsingGeneral(QString myOutputFolder, QString from, QString to , QString file){
+QString MainWindow::fileParsingXML(QString tabTitle, QString myOutputFolder, QString from, QString to , QString file){
 
     QString command;
 
-    if(QString::compare(from,"ONI",Qt::CaseSensitive)==0 && QString::compare(to,"DAT",Qt::CaseSensitive)==0){ //CaseSensitive is faster
-
-        QString datName;
-
-        if(ui->cbDatGeneral->isChecked()){
-            if(ui->leTargetDatGeneral->text().isEmpty()){
-                showErrStatusMessage("Checkbox '"+ui->cbDatGeneral->text()+"' is selected. The name cannot be empty.");
-                return "";
-            }
-            datName+=QString(myOutputFolder).insert(myOutputFolder.size()-1,ui->leTargetDatGeneral->text()); //set name inputted by user
-            if(!ui->leTargetDatGeneral->text().toUpper().endsWith(".DAT")){
-                datName.insert(datName.size()-1,".dat"); //append extension if necessary (-1 to maintain final quote)
-            }
-        }
-        else{
-            datName=QString(myOutputFolder).insert(myOutputFolder.size()-1,Util::cutName(file).remove("/")+".dat"); //if none iputted set the same name of input file
-        }
-
-        if(ui->actionWindows->isChecked()){ //is target plataform select windows?
-            return command=this->commandMap.value("general->"+from+"->"+to+"(PC)")+" "+ file + " "+datName;
-        }
-        else{
-            return command=this->commandMap.value("general->"+from+"->"+to+"(demoPCMAC)")+" "+ file + " "+datName;
-        }
-    }
-    else if(QString::compare(from,"ONI",Qt::CaseSensitive)==0 && QString::compare(to,"XML",Qt::CaseSensitive)==0 && ui->cbTRAMGeneral->isChecked()){
-        if(ui->leTRAMGeneral->text().isEmpty()){
-            showErrStatusMessage("Checkbox '"+ui->cbTRAMGeneral->text()+"' is selected. The source cannot be empty.");
-            return "";
-        }
-        return command=this->commandMap.value("general->"+from+"->"+to)+" "+myOutputFolder+" "+this->commandMap.value("general->"+ui->cbTRAMGeneral->text())+file + " "+ Util::normalizeAndQuote(ui->leTRAMGeneral->text());
-    }
-    else{
-        return command=this->commandMap.value("general->"+from+"->"+to)+" "+myOutputFolder+" "+file;
-    }
-
-}
-
-QString MainWindow::fileParsingTextures(QString myOutputFolder, QString from, QString to , QString file){
-
-    QString command=this->commandMap.value("textures->"+from+"->"+to)+" "+myOutputFolder;
+    if(from=="ONI" && to=="XML"){
+        return command=this->commandMap.value(tabTitle+"->"+from+"->"+to)+" "+myOutputFolder+" "+file;
+    }
+    else if(from=="XML" && to=="ONI"){
+        return command=this->commandMap.value(tabTitle+"->"+from+"->"+to)+" "+myOutputFolder+" "+file;
+    }
+
+    return "";
+
+}
+
+QString MainWindow::fileParsingTextures(QString tabTitle, QString myOutputFolder, QString from, QString to , QString file){
+
+    QString command=this->commandMap.value(tabTitle+"->"+from+"->"+to)+" "+myOutputFolder;
 
     if(ui->gbTextures->isEnabled()){ //faster than compare strings (if is DAT/ONI)
 
         if(ui->cbMipMapsTextures->isChecked()){
-            command+=" "+this->commandMap.value("textures->"+ui->cbMipMapsTextures->text());
+            command+=" "+this->commandMap.value(tabTitle+"->"+ui->cbMipMapsTextures->text());
         }
 
         if(ui->cbNoUwrap->isChecked()){
-            command+=" "+this->commandMap.value("textures->"+ui->cbNoUwrap->text());
+            command+=" "+this->commandMap.value(tabTitle+"->"+ui->cbNoUwrap->text());
         }
 
         if(ui->cbNoVwrap->isChecked()){
-            command+=" "+this->commandMap.value("textures->"+ui->cbNoVwrap->text());
+            command+=" "+this->commandMap.value(tabTitle+"->"+ui->cbNoVwrap->text());
         }
 
         if(ui->cbLarge->isChecked()){
-            command+=" "+this->commandMap.value("textures->"+ui->cbLarge->text());
+            command+=" "+this->commandMap.value(tabTitle+"->"+ui->cbLarge->text());
         }
 
         if(ui->rbBGR32->isChecked()){
-            command+=" "+this->commandMap.value("textures->"+ui->rbBGR32->text());
+            command+=" "+this->commandMap.value(tabTitle+"->"+ui->rbBGR32->text());
         }
         else if(ui->rbBGRA32->isChecked()){
-            command+=" "+this->commandMap.value("textures->"+ui->rbBGRA32->text());
+            command+=" "+this->commandMap.value(tabTitle+"->"+ui->rbBGRA32->text());
         }
         else if(ui->rbBGR555->isChecked()){
-            command+=" "+this->commandMap.value("textures->"+ui->rbBGR555->text());
+            command+=" "+this->commandMap.value(tabTitle+"->"+ui->rbBGR555->text());
         }
         else if(ui->rbBGRA5551->isChecked()){
-            command+=" "+this->commandMap.value("textures->"+ui->rbBGRA5551->text());
+            command+=" "+this->commandMap.value(tabTitle+"->"+ui->rbBGRA5551->text());
         }
         else if(ui->rbBGRA444->isChecked()){
-            command+=" "+this->commandMap.value("textures->"+ui->rbBGRA444->text());
+            command+=" "+this->commandMap.value(tabTitle+"->"+ui->rbBGRA444->text());
         }
         else{ //dxt1 checked
-            command+=" "+this->commandMap.value("textures->"+ui->rbDxt1->text());
+            command+=" "+this->commandMap.value(tabTitle+"->"+ui->rbDxt1->text());
         }
 
@@ -469,5 +453,5 @@
                 return "";
             }
-            command+=" "+this->commandMap.value("textures->"+ui->cbEnvMap->text()) + ui->leEnvMapTexture->text().remove(".oni",Qt::CaseInsensitive);
+            command+=" "+this->commandMap.value(tabTitle+"->"+ui->cbEnvMap->text()) + ui->leEnvMapTexture->text().remove(".oni",Qt::CaseInsensitive);
         }
     }
@@ -476,66 +460,86 @@
 }
 
-QString MainWindow::fileParsingModels(QString myOutputFolder, QString from, QString to , QString file){
-
-    QString command=this->commandMap.value("models->"+from+"->"+to)+" "+myOutputFolder;
+QString MainWindow::fileParsingCharacters(QString tabTitle, QString myOutputFolder, QString from, QString to , QString file){
+
+    QString command=this->commandMap.value(tabTitle+"->"+from+"->"+to)+" "+myOutputFolder + " " + file ;
+
+
+    if(ui->cbCellShading->isChecked()){
+        command+=" "+this->commandMap.value(tabTitle+"->"+ui->cbCellShading->text());
+    }
+
+    if(ui->cbNormals->isChecked()){
+        command+=" "+this->commandMap.value(tabTitle+"->"+ui->cbNormals->text());
+    }
+
+    if(ui->cbWithTRBS_ONCC->isChecked()){
+        if(ui->leTRBS_ONCC->text().isEmpty()){
+            showErrStatusMessage("Checkbox '"+ui->cbWithTRBS_ONCC->text()+"' is selected. The name cannot be empty.");
+            return "";
+        }
+
+        command+=" "+this->commandMap.value(tabTitle+"->"+ui->cbWithTRBS_ONCC->text())+Util::normalizeAndQuote(ui->leTRBS_ONCC->text());
+    }
+
+    return command;
+}
+
+
+QString MainWindow::fileParsingObjects(QString tabTitle, QString myOutputFolder, QString from, QString to , QString file){
+
+    QString command=this->commandMap.value(tabTitle+"->"+from+"->"+to)+" "+myOutputFolder;
 
     //TODO: This can be optimized. When some are not enable others are.
     if(ui->cbTexture->isChecked()){
         if(ui->leTextureName->text().isEmpty()){
-            showErrStatusMessage("Checkbox '"+ui->cbTexture->text()+"' is selected. The name cannot be empty.");
+            showErrStatusMessage("Checkbox '"+ui->cbTexture->text()+"' is selected. The file source cannot be empty.");
             return "";
         }
-        command+=" "+this->commandMap.value("models->"+ui->cbTexture->text()) + ui->leTextureName->text().remove(".oni",Qt::CaseInsensitive);
-    }
-
-    if(ui->cbCellShading->isChecked()){
-        command+=" "+this->commandMap.value("models->"+ui->cbCellShading->text());
-    }
-
-    if(ui->cbNormals->isChecked()){
-        command+=" "+this->commandMap.value("models->"+ui->cbNormals->text());
-    }
-
-    if(ui->cbWithAnimation->isEnabled()){
-        if(ui->cbWithAnimation->isChecked()){
-            command+=" "+this->commandMap.value("models->"+ui->cbWithAnimation->text())+ui->leAnimationName->text().remove(".oni",Qt::CaseInsensitive);
-        }
-        else{
-            command+=" "+this->commandMap.value("models->No Animation");
-        }
-    }
-
+        command+=" "+this->commandMap.value(tabTitle+"->"+ui->cbTexture->text()) + ui->leTextureName->text();
+    }
+    else if(ui->cbWithAnimation->isChecked()){
+        if(ui->leAnimationName->text().isEmpty()){
+            showErrStatusMessage("Checkbox '"+ui->cbWithAnimation->text()+"' is selected. The file source cannot be empty.");
+            return "";
+        }
+        command+=" "+Util::normalizeAndQuote(ui->leAnimationName->text()) + " " + this->commandMap.value(tabTitle+"->"+ui->cbWithAnimation->text()) + file;
+        return command;
+    }
+
+    if(from=="OBAN ONI (cam)"){
+        command+=" -geom:camera";
+    }
 
     return command+=" "+file; //add source
 }
 
-QString MainWindow::fileParsingAnimations(QString myOutputFolder, QString from, QString to , QString file){
-
-    QString command=this->commandMap.value("animations->"+from+"->"+to)+" "+myOutputFolder + " " + file ;
-
-    if(ui->cbCamera->isChecked()){
-        command+=" "+this->commandMap.value("animations->"+ui->cbCamera->text());
-    }
-    else if(ui->cbGeometry->isChecked()){
-        if(ui->leGeometryName->text().isEmpty()){
-            showErrStatusMessage("Checkbox '"+ui->cbGeometry->text()+"' is selected. The geometry file path cannot be empty.");
-            return "";
-        }
-        command+=" "+this->commandMap.value("animations->"+ui->cbGeometry->text()) + (ui->leGeometryName->text().startsWith('"')?ui->leGeometryName->text():Util::insertQuotes(ui->leGeometryName->text()));
-    }
-
-    return command;
-}
-
-QString MainWindow::fileParsingLevels(QString myOutputFolder, QString from, QString to , QString file){
+QString MainWindow::fileParsingLevels(QString tabTitle, QString myOutputFolder, QString from, QString to , QString file){
 
     QString datName, command;
 
-    command=this->commandMap.value("levels->"+from+"->"+to)+" "+myOutputFolder+" "+file;
-
-    if(from=="MASTER XML" && to=="DAT"){
-        command+=GlobalVars::OniSplitProcSeparator; //insert mark so we know this action will take 2 commands
-
+    if(!(from=="ONI FILES" && to=="DAT")){ // to all except this one
+
+        command=this->commandMap.value(tabTitle+"->"+from+"->"+to);
+
+        if(ui->cbSpecificFilesLevels->isChecked()){
+
+            if(ui->leSpecificFilesLevels->text().isEmpty()){
+                showErrStatusMessage("Checkbox '"+ui->cbSpecificFilesLevels->text()+"' is selected. The files pattern cannot be empty.");
+                return "";
+            }
+
+            command+=":"+ui->leSpecificFilesLevels->text();
+        }
+        command+=" "+myOutputFolder+" "+file;
+
+    }
+
+    if((from=="ONI FILES" || from=="MASTER XML") && to=="DAT"){ // almost the same command for both
         QString datName;
+
+        if(from=="MASTER XML"){
+            command+=GlobalVars::OniSplitProcSeparator; //insert mark so we know this action will take 2 commands
+        }
+
         if(ui->cbDatLevels->isChecked()){
             if(ui->leTargetDatLevels->text().isEmpty()){
@@ -549,12 +553,26 @@
         }
         else{
-            datName=QString(myOutputFolder).insert(myOutputFolder.size()-1,Util::cutName(file).remove("/").replace(".xml",".dat",Qt::CaseInsensitive)); //if none iputted set the same name of input file
-        }
-
-        if(ui->actionWindows->isChecked()){ //is target plataform select windows?
-            command+=this->commandMap.value("general->ONI->"+to+"(PC)")+" "+myOutputFolder+" "+datName; //add second command
-        }
-        else{
-            command+=this->commandMap.value("general->ONI->"+to+"(demoPCMAC)")+" "+myOutputFolder+" "+datName; //add second command
+            if(from=="ONI FILES"){
+                datName=QString(myOutputFolder).insert(myOutputFolder.size()-1,Util::cutName(file).remove("/")+".dat"); //if none iputted set the same name of input file
+            }
+            else if(from=="MASTER XML"){
+                datName=QString(myOutputFolder).insert(myOutputFolder.size()-1,Util::cutName(file).remove("/").replace(".xml",".dat",Qt::CaseInsensitive)); //if none iputted set the same name of input file
+            }
+        }
+        if(from=="ONI FILES"){
+            if(ui->actionWindows->isChecked()){ //is target plataform select windows?
+                return command=this->commandMap.value(tabTitle+"->"+from+"->"+to+"(PC)")+" "+ file + " "+datName;
+            }
+            else{
+                return command=this->commandMap.value(tabTitle+"->"+from+"->"+to+"(demoPCMAC)")+" "+ file + " "+datName;
+            }
+        }
+        else if(from=="MASTER XML"){
+            if(ui->actionWindows->isChecked()){ //is target plataform select windows?
+                command+=this->commandMap.value(tabTitle+"->ONI FILES->"+to+"(PC)")+" "+myOutputFolder+" "+datName; //add second command
+            }
+            else{
+                command+=this->commandMap.value(tabTitle+"->ONI FILES->"+to+"(demoPCMAC)")+" "+myOutputFolder+" "+datName; //add second command
+            }
         }
     }
@@ -582,5 +600,5 @@
         //parse all files (separated by spaces)
         while(true){
-            nextIndex=additionalFiles.indexOf(" ",currentIndex+1);
+            nextIndex=additionalFiles.indexOf(";",currentIndex+1);
 
             command += " "+Util::normalizeAndQuote(additionalFiles.mid(currentIndex,(nextIndex-currentIndex)));
@@ -594,5 +612,5 @@
 
     if(ui->cbGridsLevels->isChecked()){
-        command+=GlobalVars::OniSplitProcSeparator+this->commandMap.value("levels->"+ui->cbGridsLevels->text())+" "+Util::normalizeAndQuote(ui->leBnvLevels->text())+" "+file+" -out:"+myOutputFolder;
+        command+=GlobalVars::OniSplitProcSeparator+this->commandMap.value(tabTitle+"->"+ui->cbGridsLevels->text())+" "+Util::normalizeAndQuote(ui->leBnvLevels->text())+" "+file+" -out:"+myOutputFolder;
     }
 
@@ -623,7 +641,7 @@
 }
 
-void MainWindow::on_pbConvertGeneral_clicked()
-{
-    startConversion(ui->twSourcesGeneral);
+void MainWindow::on_pbConvertXML_clicked()
+{
+    startConversion(ui->twSourcesXML);
 }
 
@@ -633,12 +651,12 @@
 }
 
-void MainWindow::on_pbConvertModels_clicked()
-{
-    startConversion(ui->twSourcesModels);
-}
-
-void MainWindow::on_pbConvertAnimations_clicked()
-{
-    startConversion(ui->twSourcesAnimations);
+void MainWindow::on_pbConvertObjects_clicked()
+{
+    startConversion(ui->twSourcesObjects);
+}
+
+void MainWindow::on_pbConvertCharacters_clicked()
+{
+    startConversion(ui->twSourcesCharacters);
 }
 
@@ -668,5 +686,5 @@
     }
 
-    if(myBar->isVisible()){
+    if(this->myBar->isVisible()){
         Util::showErrorPopUp("Another conversion is progress. Please wait until it finishes.");
         return;
@@ -687,4 +705,5 @@
     this->myBar->show();
     this->myBar->setMaximum(max);
+    ui->tbAbortConversion->show();
 }
 
@@ -696,4 +715,5 @@
     QApplication::alert(this); //Show a notification if window is not active
     this->myBar->hide();
+    ui->tbAbortConversion->hide();
 
     if(numErrors!=0){
@@ -714,4 +734,11 @@
 }
 
+void MainWindow::TconversionAborted(){
+    this->myBar->hide();
+    ui->tbAbortConversion->hide();
+
+    showErrStatusMessage("Conversion was aborted.");
+}
+
 void MainWindow::showErrStatusMessage(QString message){
 
@@ -733,25 +760,19 @@
 
 void MainWindow::mapCommands(){
-    ////////////////////////////////////////////////////////////////////////General Commands
-    this->commandMap.insert("general->DAT->ONI","-export");
-    //this->commandMap.insert("general->ONI->DAT","-import"); //Not used.
-    this->commandMap.insert("general->ONI->DAT(PC)","-import:nosep");
-    this->commandMap.insert("general->ONI->DAT(demoPCMAC)","-import:sep");
-    this->commandMap.insert("general->ONI->XML","-extract:xml");
-    this->commandMap.insert("general->XML->ONI","-create");
+    ////////////////////////////////////////////////////////////////////////XML Commands
+    this->commandMap.insert("xml->ONI->XML","-extract:xml");
+    this->commandMap.insert("xml->XML->ONI","-create");
     //######################General Options
-    this->commandMap.insert("general->"+ui->cbTRAMGeneral->text(),"-anim-body:");
+
     //Possible Combinations
-    this->commandMap.insertMulti("general->DAT","ONI");
-    this->commandMap.insertMulti("general->ONI","DAT");
-    this->commandMap.insertMulti("general->ONI","XML");
-    this->commandMap.insertMulti("general->XML","ONI");
+    this->commandMap.insertMulti("xml->ONI","XML");
+    this->commandMap.insertMulti("xml->XML","ONI");
 
     ////////////////////////////////////////////////////////////////////////Textures Commands
-    this->commandMap.insert("textures->DAT / ONI->DDS","-extract:dds");
-    this->commandMap.insert("textures->DAT / ONI->TGA","-extract:tga");
-    this->commandMap.insert("textures->DAT / ONI->PNG","-extract:png");
-    this->commandMap.insert("textures->DAT / ONI->JPG","-extract:jpg");
-    this->commandMap.insert("textures->DDS / TGA / PNG / JPG->ONI","-create:txmp");
+    this->commandMap.insert("textures->DAT / TXMP ONI->DDS","-extract:dds");
+    this->commandMap.insert("textures->DAT / TXMP ONI->TGA","-extract:tga");
+    this->commandMap.insert("textures->DAT / TXMP ONI->PNG","-extract:png");
+    this->commandMap.insert("textures->DAT / TXMP ONI->JPG","-extract:jpg");
+    this->commandMap.insert("textures->TGA / DDS / PNG / JPG->TXMP ONI","-create:txmp");
     //######################Textures Options
     this->commandMap.insert("textures->"+ui->rbBGR32->text(),"-format:bgr32");
@@ -767,41 +788,55 @@
     this->commandMap.insert("textures->"+ui->cbEnvMap->text(),"-envmap:");
     //Possible Combinations
-    this->commandMap.insertMulti("textures->DAT / ONI","DDS");
-    this->commandMap.insertMulti("textures->DAT / ONI","TGA");
-    this->commandMap.insertMulti("textures->DAT / ONI","PNG");
-    this->commandMap.insertMulti("textures->DAT / ONI","JPG");
-    this->commandMap.insertMulti("textures->DDS / TGA / PNG / JPG","ONI");
-
-    ////////////////////////////////////////////////////////////////////////Models Commands
-    this->commandMap.insert("models->ONI->OBJ","-extract:obj");
-    this->commandMap.insert("models->ONI->DAE","-extract:dae -search "+Util::insertQuotes(this->AeLocation+"/GameDataFolder/level0_Final"));
-    this->commandMap.insert("models->OBJ->ONI","-create:m3gm");
-    this->commandMap.insert("models->DAE->ONI","-create:trbs");
-    //######################Models Options
-    this->commandMap.insert("models->"+ui->cbCellShading->text(),"-cel");
-    this->commandMap.insert("models->"+ui->cbNormals->text(),"-normals");
-    this->commandMap.insert("models->"+ui->cbTexture->text(),"-tex:");
-    this->commandMap.insert("models->"+ui->cbWithAnimation->text(),"-anim:");
-    this->commandMap.insert("models->No Animation","-noanim"); //No label with this name so can't be dynamic
+    this->commandMap.insertMulti("textures->DAT / TXMP ONI","TGA");
+    this->commandMap.insertMulti("textures->DAT / TXMP ONI","DDS");
+    this->commandMap.insertMulti("textures->DAT / TXMP ONI","PNG");
+    this->commandMap.insertMulti("textures->DAT / TXMP ONI","JPG");
+    this->commandMap.insertMulti("textures->TGA / DDS / PNG / JPG","TXMP ONI");
+
+    ////////////////////////////////////////////////////////////////////////Characters Commands
+    this->commandMap.insert("characters->TRAM ONI->XML / XML & DAE","-extract:xml");
+    this->commandMap.insert("characters->TRBS / ONCC ONI->DAE","-extract:dae");
+    this->commandMap.insert("characters->TRBS XML->TRBS ONI","-create");
+    this->commandMap.insert("characters->TRBS DAE->TRBS ONI","-create:trbs");
+    this->commandMap.insert("characters->FILM DAT->XML","film2xml");
+
+    //######################Characters Options
+    this->commandMap.insert("characters->"+ui->cbWithTRBS_ONCC->text(),"-anim-body:");
+    this->commandMap.insert("characters->"+ui->cbCellShading->text(),"-cel");
+    this->commandMap.insert("characters->"+ui->cbNormals->text(),"-normals");
     //Possible Combinations
-    this->commandMap.insertMulti("models->ONI","OBJ");
-    this->commandMap.insertMulti("models->ONI","DAE");
-    this->commandMap.insertMulti("models->OBJ","ONI");
-    this->commandMap.insertMulti("models->DAE","ONI");
-
-    ////////////////////////////////////////////////////////////////////////Animations Commands
-    this->commandMap.insert("animations->ONI->DAE","-extract:dae");
-    this->commandMap.insert("animations->FILM DAT->XML","film2xml");
-    //######################Animations Options
-    this->commandMap.insert("animations->"+ui->cbCamera->text(),"-geom:camera");
-    this->commandMap.insert("animations->"+ui->cbGeometry->text(),"-geom:");
+    this->commandMap.insertMulti("characters->TRAM ONI","XML / XML & DAE");
+    this->commandMap.insertMulti("characters->TRBS / ONCC ONI","DAE");
+    this->commandMap.insertMulti("characters->DAE","TRBS ONI");
+    this->commandMap.insertMulti("characters->TRBS DAE","TRBS ONI");
+    this->commandMap.insertMulti("characters->TRBS XML","TRBS ONI");
+    this->commandMap.insertMulti("characters->FILM DAT","XML");
+
+    ////////////////////////////////////////////////////////////////////////Objects Commands
+    this->commandMap.insert("objects->M3GM ONI->OBJ","-extract:obj");
+    this->commandMap.insert("objects->M3GM ONI->DAE","-extract:dae");
+    this->commandMap.insert("objects->ONWC ONI->OBJ","-extract:obj");
+    this->commandMap.insert("objects->ONWC ONI->DAE","-extract:dae");
+    this->commandMap.insert("objects->OBAN ONI (cam)->DAE","-extract:dae");
+    this->commandMap.insert("objects->OBJ->M3GM ONI","-create:m3gm");
+    //######################Characters Options
+    this->commandMap.insert("objects->"+ui->cbTexture->text(),"-tex:");
+    this->commandMap.insert("objects->"+ui->cbWithAnimation->text(),"-geom:");
     //Possible Combinations
-    this->commandMap.insertMulti("animations->ONI","DAE");
-    this->commandMap.insertMulti("animations->DAE","ONI");
-    this->commandMap.insertMulti("animations->FILM DAT","XML");
+    this->commandMap.insertMulti("objects->M3GM ONI","OBJ");
+    this->commandMap.insertMulti("objects->M3GM ONI","DAE");
+    this->commandMap.insertMulti("objects->ONWC ONI","OBJ");
+    this->commandMap.insertMulti("objects->ONWC ONI","DAE");
+    this->commandMap.insertMulti("objects->OBAN ONI (cam)","DAE");
+    this->commandMap.insertMulti("objects->OBJ","M3GM ONI");
+
 
     ////////////////////////////////////////////////////////////////////////Levels Commands
-    this->commandMap.insert("levels->ONI->DAE","-extract:dae -search "+Util::insertQuotes(this->AeLocation+"/GameDataFolder/level0_Final"));
-    this->commandMap.insert("levels->DAE->ONI","-create:akev");
+    this->commandMap.insert("levels->DAT->ONI FILES","-export");
+    //this->commandMap.insert("levels->ONI FILES->DAT","-import"); //Not used.
+    this->commandMap.insert("levels->ONI FILES->DAT(PC)","-import:nosep");
+    this->commandMap.insert("levels->ONI FILES->DAT(demoPCMAC)","-import:sep");
+    this->commandMap.insert("levels->AKEV ONI->DAE","-extract:dae");
+    this->commandMap.insert("levels->DAE->AKEV ONI","-create:akev");
     this->commandMap.insert("levels->MASTER XML->DAT","-create:level");
     this->commandMap.insert("levels->MASTER XML->ONI FILES","-create:level");
@@ -809,28 +844,31 @@
     this->commandMap.insert("levels->"+ui->cbGridsLevels->text(),"-grid:create");
     //Possible Combinations
-    this->commandMap.insertMulti("levels->ONI","DAE");
-    this->commandMap.insertMulti("levels->DAE","ONI");
+    this->commandMap.insertMulti("levels->DAT","ONI FILES");
+    this->commandMap.insertMulti("levels->ONI FILES","DAT");
+    this->commandMap.insertMulti("levels->AKEV ONI","DAE");
+    this->commandMap.insertMulti("levels->DAE","AKEV ONI");
     this->commandMap.insertMulti("levels->MASTER XML","DAT");
     this->commandMap.insertMulti("levels->MASTER XML","ONI FILES");
 
     ////////////////////////////////////////////////////////////////////////Misc Commands
-    this->commandMap.insert("misc->DAT / ONI->WAV","-extract:wav");
-    this->commandMap.insert("misc->DAT / ONI->AIF","-extract:aif");
-    this->commandMap.insert("misc->DAT / ONI->TXT","-extract:txt");
-    this->commandMap.insert("misc->WAV / AIF->ONI","-create");
-    this->commandMap.insert("misc->TXT->ONI","-create:subt");
+    this->commandMap.insert("misc->DAT / SNDD ONI->WAV","-extract:wav");
+    this->commandMap.insert("misc->DAT / SNDD ONI->AIF","-extract:aif");
+    this->commandMap.insert("misc->DAT / SUBT ONI->TXT","-extract:txt");
+    this->commandMap.insert("misc->WAV / AIF->SNDD ONI","-create");
+    this->commandMap.insert("misc->TXT->SUBT ONI","-create:subt");
     //Possible Combinations
-    this->commandMap.insertMulti("misc->DAT / ONI","WAV");
-    this->commandMap.insertMulti("misc->DAT / ONI","AIF");
-    this->commandMap.insertMulti("misc->DAT / ONI","TXT");
-    this->commandMap.insertMulti("misc->WAV / AIF","ONI");
-    this->commandMap.insertMulti("misc->TXT","ONI");
-
-}
-
-void MainWindow::on_cbFromGeneral_currentIndexChanged(const QString &arg1)
-{
-    updateComboBox(arg1, ui->cbToGeneral, "general");
-}
+    this->commandMap.insertMulti("misc->DAT / SNDD ONI","WAV");
+    this->commandMap.insertMulti("misc->DAT / SNDD ONI","AIF");
+    this->commandMap.insertMulti("misc->DAT / SUBT ONI","TXT");
+    this->commandMap.insertMulti("misc->WAV / AIF","SNDD ONI");
+    this->commandMap.insertMulti("misc->TXT","SUBT ONI");
+
+}
+
+void MainWindow::on_cbFromXML_currentIndexChanged(const QString &arg1)
+{
+    updateComboBox(arg1, ui->cbToXML);
+}
+
 
 void MainWindow::on_cbFromTextures_currentIndexChanged(const QString &arg1)
@@ -844,221 +882,49 @@
     }
 
-    updateComboBox(arg1, ui->cbToTextures, "textures");
-}
-
-void MainWindow::on_cbFromModels_currentIndexChanged(const QString &arg1)
-{
-
+    updateComboBox(arg1, ui->cbToTextures);
+}
+
+void MainWindow::on_cbFromObjects_currentIndexChanged(const QString &arg1)
+{
+    ui->cbTexture->setEnabled(false);
+    ui->cbTexture->setChecked(false);
+    ui->cbWithAnimation->setEnabled(false);
+    ui->cbWithAnimation->setChecked(false);
+
+    if(QString::compare(arg1,"M3GM ONI",Qt::CaseSensitive)==0){ //case sensitive is faster
+        ui->cbWithAnimation->setEnabled(true);
+    }
+    else if(QString::compare(arg1,"OBJ",Qt::CaseSensitive)==0){
+        ui->cbTexture->setEnabled(true);
+    }
+
+    updateComboBox(arg1, ui->cbToObjects);
+}
+
+void MainWindow::on_cbFromCharacters_currentIndexChanged(const QString &arg1)
+{
+    ui->cbWithTRBS_ONCC->setEnabled(false);
+    ui->cbWithTRBS_ONCC->setChecked(false);
     ui->cbCellShading->setEnabled(false);
     ui->cbCellShading->setChecked(false);
     ui->cbNormals->setEnabled(false);
     ui->cbNormals->setChecked(false);
-    ui->cbTexture->setEnabled(false);
-    ui->cbTexture->setChecked(false);
-    ui->cbWithAnimation->setEnabled(false);
-    ui->cbWithAnimation->setChecked(false);
-
-    if(QString::compare(arg1,"OBJ",Qt::CaseSensitive)==0){ //case sensitive is faster
-        ui->cbTexture->setEnabled(true);
-    }
-    else if(QString::compare(arg1,"DAE",Qt::CaseSensitive)==0){
+
+    if(QString::compare(arg1,"TRAM ONI",Qt::CaseSensitive)==0){ //case sensitive is faster
+        ui->cbWithTRBS_ONCC->setEnabled(true);
+    }
+    else if(QString::compare(arg1,"TRBS DAE",Qt::CaseSensitive)==0){
+        ui->cbNormals->setEnabled(true);
         ui->cbCellShading->setEnabled(true);
-        ui->cbNormals->setEnabled(true);
-    }
-
-    updateComboBox(arg1, ui->cbToModels, "models");
-}
-
-void MainWindow::on_cbFromAnimations_currentIndexChanged(const QString &arg1)
-{
-    ui->cbCamera->setEnabled(false);
-    ui->cbCamera->setChecked(false);
-    ui->cbGeometry->setEnabled(false);
-    ui->cbGeometry->setChecked(false);
-
-    if(QString::compare(arg1,"ONI",Qt::CaseSensitive)==0){ //case sensitive is faster
-        ui->cbCamera->setEnabled(true);
-        ui->cbGeometry->setEnabled(true);
-    }
-
-    updateComboBox(arg1, ui->cbToAnimations, "animations");
+    }
+
+    updateComboBox(arg1, ui->cbToCharacters);
 }
 
 void MainWindow::on_cbFromLevels_currentIndexChanged(const QString &arg1)
 {
-    updateComboBox(arg1, ui->cbToLevels, "levels");
-}
-
-void MainWindow::on_cbFromMisc_currentIndexChanged(const QString &arg1)
-{
-    updateComboBox(arg1, ui->cbToMisc, "misc");
-}
-
-void MainWindow::updateComboBox(const QString &arg1, QComboBox *comboBox, const QString &identifier){
-    comboBox->clear();
-
-    QStringList toUpdate=QStringList();
-
-    QStringList values=commandMap.values(identifier+"->"+arg1);
-
-    for (int i = values.size()-1; i >= 0; i--){ //By defaut MultiItems have the inversed order (http://qt-project.org/doc/qt-4.8/qhash.html#insertMulti)
-        toUpdate << values.at(i);
-    }
-
-    comboBox->addItems(toUpdate);
-}
-
-
-void MainWindow::on_actionWindows_triggered()
-{
-    ui->actionWindows->setChecked(true);
-    ui->actionMac_Windows_demo->setChecked(false);
-}
-
-void MainWindow::on_actionMac_Windows_demo_triggered()
-{
-    ui->actionMac_Windows_demo->setChecked(true);
-    ui->actionWindows->setChecked(false);
-}
-
-void MainWindow::on_pbRemoveSourceGeneral_clicked()
-{
-    removeTableContents( ui->twSourcesGeneral);
-}
-
-void MainWindow::on_pbRemoveSourceTextures_clicked()
-{
-    removeTableContents(ui->twSourcesTextures);
-}
-
-void MainWindow::on_pbRemoveSourceModels_clicked()
-{
-    removeTableContents(ui->twSourcesModels);
-}
-
-void MainWindow::on_pbRemoveSourceAnimations_clicked()
-{
-    removeTableContents(ui->twSourcesAnimations);
-}
-
-void MainWindow::on_pbRemoveSourceLevels_clicked()
-{
-    removeTableContents(ui->twSourcesLevels);
-}
-
-void MainWindow::on_pbRemoveSourceMisc_clicked()
-{
-    removeTableContents(ui->twSourcesMisc);
-}
-
-void MainWindow::on_pbClearSourcesGeneral_clicked()
-{
-    clearTableContents(ui->twSourcesGeneral);
-}
-
-void MainWindow::on_pbClearSourcesTextures_clicked()
-{
-    clearTableContents(ui->twSourcesTextures);
-}
-
-void MainWindow::on_pbClearSourcesModels_clicked()
-{
-    clearTableContents(ui->twSourcesModels);
-}
-
-void MainWindow::on_pbClearSourcesAnimations_clicked()
-{
-    clearTableContents(ui->twSourcesAnimations);
-}
-
-void MainWindow::on_pbClearSourcesLevels_clicked()
-{
-    clearTableContents(ui->twSourcesLevels);
-}
-
-void MainWindow::on_pbClearSourcesMisc_clicked()
-{
-    clearTableContents(ui->twSourcesMisc);
-}
-
-void MainWindow::removeTableContents(DropTableWidget *myTable){
-    int size = myTable->selectionModel()->selectedRows().size();
-
-    if(size==0){
-        Util::showPopUp("Select a row first.");
-        return;
-    }
-
-    if(Util::showQuestionPopUp(this,"Are you sure you want to delete the selected rows?")){
-        for(int i=0; i<size; i++){
-            //myTable->removeRow(myTable->selectedItems().at(size-i-1)->row());
-            myTable->removeRow(myTable->selectionModel()->selectedRows().at(size-i-1).row());
-        }
-        updateItemsLoaded(myTable);
-    }
-}
-
-void MainWindow::clearTableContents(DropTableWidget *myTable){
-    if(myTable->rowCount()==0){
-        Util::showPopUp("Nothing to clear.");
-        return;
-    }
-
-    if(Util::showQuestionPopUp(this,"Are you sure you want to clear the content?")){
-        myTable->clearContents();
-        myTable->setRowCount(0);
-    }
-    updateItemsLoaded(myTable);
-}
-
-
-void MainWindow::on_actionPreferences_triggered()
-{
-    //Show preferences
-    Preferences *preferencesWindow = new Preferences(this,this->vagoSettings);
-    preferencesWindow->exec(); //it destroys itself when finished.
-}
-
-
-void MainWindow::closeEvent(QCloseEvent *event){
-    if(this->vagoSettings->value("ConfirmExit").toBool()){
-        if(!Util::showQuestionPopUp(this,"Exit Vago?")){
-            event->ignore();
-        }
-    }
-}
-
-void MainWindow::on_cbToGeneral_currentIndexChanged(const QString &arg1)
-{
-
-    ui->cbDatGeneral->setEnabled(false);
-    ui->cbDatGeneral->setChecked(false);
-    ui->cbTRAMGeneral->setEnabled(false);
-    ui->cbTRAMGeneral->setChecked(false);
-
-    if(QString::compare(ui->cbFromGeneral->currentText(),"ONI",Qt::CaseSensitive)==0){
-        if(QString::compare(arg1,"DAT",Qt::CaseSensitive)==0){
-            ui->cbDatGeneral->setEnabled(true);
-        }
-        else{
-            ui->cbTRAMGeneral->setEnabled(true);
-        }
-    }
-
-}
-
-void MainWindow::on_cbToModels_currentIndexChanged(const QString &arg1)
-{
-    ui->cbWithAnimation->setEnabled(false);
-    ui->cbWithAnimation->setChecked(false);
-
-    if(arg1=="DAE"){
-        ui->cbWithAnimation->setEnabled(true);
-    }
-}
-
-void MainWindow::on_cbToLevels_currentIndexChanged(const QString &arg1)
-{
-
+
+    ui->cbSpecificFilesLevels->setEnabled(false);
+    ui->cbSpecificFilesLevels->setChecked(false);
     ui->cbDatLevels->setEnabled(false);
     ui->cbDatLevels->setChecked(false);
@@ -1070,27 +936,170 @@
     ui->cbGridsLevels->setChecked(false);
 
+    if(arg1=="DAT"){ //case sensitive is faster
+        ui->cbSpecificFilesLevels->setEnabled(true);
+    }
+    else if(arg1=="ONI FILES"){ //case sensitive is faster
+        ui->cbDatLevels->setEnabled(true);
+    }
+    else if(arg1=="DAE"){
+        ui->cbBnvLevels->setEnabled(true);
+        ui->cbAdditionalSourcesLevels->setEnabled(true);
+    }
+
+    updateComboBox(arg1, ui->cbToLevels);
+}
+
+void MainWindow::on_cbFromMisc_currentIndexChanged(const QString &arg1)
+{
+    updateComboBox(arg1, ui->cbToMisc);
+}
+
+void MainWindow::updateComboBox(const QString &arg1, QComboBox *comboBox){
+    QString identifier=ui->tabWidget->tabText(ui->tabWidget->currentIndex()).toLower(); // get current tab title text (lower case)
+
+    comboBox->clear();
+
+    QStringList toUpdate=QStringList();
+
+    QStringList values=commandMap.values(identifier+"->"+arg1);
+
+    for (int i = values.size()-1; i >= 0; i--){ //By defaut MultiItems have the inversed order (http://qt-project.org/doc/qt-4.8/qhash.html#insertMulti)
+        toUpdate << values.at(i);
+    }
+
+    comboBox->addItems(toUpdate);
+}
+
+
+void MainWindow::on_actionWindows_triggered()
+{
+    ui->actionWindows->setChecked(true);
+    ui->actionMac_Windows_demo->setChecked(false);
+}
+
+void MainWindow::on_actionMac_Windows_demo_triggered()
+{
+    ui->actionMac_Windows_demo->setChecked(true);
+    ui->actionWindows->setChecked(false);
+}
+
+void MainWindow::on_pbRemoveSourceXML_clicked()
+{
+    removeTableContents( ui->twSourcesXML);
+}
+
+void MainWindow::on_pbRemoveSourceTextures_clicked()
+{
+    removeTableContents(ui->twSourcesTextures);
+}
+
+void MainWindow::on_pbRemoveSourceObjects_clicked()
+{
+    removeTableContents(ui->twSourcesObjects);
+}
+
+void MainWindow::on_pbRemoveSourceCharacters_clicked()
+{
+    removeTableContents(ui->twSourcesCharacters);
+}
+
+void MainWindow::on_pbRemoveSourceLevels_clicked()
+{
+    removeTableContents(ui->twSourcesLevels);
+}
+
+void MainWindow::on_pbRemoveSourceMisc_clicked()
+{
+    removeTableContents(ui->twSourcesMisc);
+}
+
+void MainWindow::on_pbClearSourcesXML_clicked()
+{
+    clearTableContents(ui->twSourcesXML);
+}
+
+void MainWindow::on_pbClearSourcesTextures_clicked()
+{
+    clearTableContents(ui->twSourcesTextures);
+}
+
+void MainWindow::on_pbClearSourcesObjects_clicked()
+{
+    clearTableContents(ui->twSourcesObjects);
+}
+
+void MainWindow::on_pbClearSourcesCharacters_clicked()
+{
+    clearTableContents(ui->twSourcesCharacters);
+}
+
+void MainWindow::on_pbClearSourcesLevels_clicked()
+{
+    clearTableContents(ui->twSourcesLevels);
+}
+
+void MainWindow::on_pbClearSourcesMisc_clicked()
+{
+    clearTableContents(ui->twSourcesMisc);
+}
+
+void MainWindow::removeTableContents(DropTableWidget *myTable){
+    int size = myTable->selectionModel()->selectedRows().size();
+
+    if(size==0){
+        Util::showPopUp("Select a row first.");
+        return;
+    }
+
+    if(Util::showQuestionPopUp(this,"Are you sure you want to delete the selected rows?")){
+        for(int i=0; i<size; i++){
+            //myTable->removeRow(myTable->selectedItems().at(size-i-1)->row());
+            myTable->removeRow(myTable->selectionModel()->selectedRows().at(size-i-1).row());
+        }
+        updateItemsLoaded(myTable);
+    }
+}
+
+void MainWindow::clearTableContents(DropTableWidget *myTable){
+    if(myTable->rowCount()==0){
+        Util::showPopUp("Nothing to clear.");
+        return;
+    }
+
+    if(Util::showQuestionPopUp(this,"Are you sure you want to clear the content?")){
+        myTable->clearContents();
+        myTable->setRowCount(0);
+    }
+    updateItemsLoaded(myTable);
+}
+
+
+void MainWindow::on_actionPreferences_triggered()
+{
+    //Show preferences
+    Preferences *preferencesWindow = new Preferences(this,this->vagoSettings);
+    preferencesWindow->exec(); //it destroys itself when finished.
+}
+
+
+void MainWindow::closeEvent(QCloseEvent *event){
+    if(this->vagoSettings->value("ConfirmExit").toBool()){
+        if(!Util::showQuestionPopUp(this,"Exit Vago?")){
+            event->ignore();
+        }
+    }
+}
+
+void MainWindow::on_cbToLevels_currentIndexChanged(const QString &arg1)
+{
+
     if(ui->cbFromLevels->currentText()=="MASTER XML" && arg1=="DAT"){
         ui->cbDatLevels->setEnabled(true);
     }
-    else if(ui->cbFromLevels->currentText()=="DAE" && arg1=="ONI"){
-        ui->cbBnvLevels->setEnabled(true);
-        ui->cbAdditionalSourcesLevels->setEnabled(true);
-    }
-}
-
-void MainWindow::on_cbDatGeneral_toggled(bool checked)
-{
-    ui->leTargetDatGeneral->setEnabled(checked);
-}
-
-void MainWindow::on_cbTRAMGeneral_toggled(bool checked)
-{
-    ui->leTRAMGeneral->setEnabled(checked);
-    if(checked){
-        QString file=QFileDialog::getOpenFileName(this,"Choose the TRAM.oni file...","./" , "All Files (*.*)");
-        if(!file.isEmpty()){
-            ui->leTRAMGeneral->setText(file);
-        }
-    }
+    else if(ui->cbFromLevels->currentText()=="MASTER XML" && arg1=="ONI FILES"){
+        ui->cbDatLevels->setEnabled(false);
+        ui->cbDatLevels->setChecked(false);
+    }
+
 }
 
@@ -1133,4 +1142,9 @@
 }
 
+void MainWindow::on_cbWithTRBS_ONCC_toggled(bool checked)
+{
+    ui->leTRBS_ONCC->setEnabled(checked);
+}
+
 void MainWindow::on_actionCheck_OniSplit_version_triggered()
 {
@@ -1161,11 +1175,11 @@
 {
     if(arg1.compare("General",Qt::CaseSensitive)==0){ //case sentive is faster
-        updateItemsLoaded(ui->twSourcesGeneral);
+        updateItemsLoaded(ui->twSourcesXML);
     }
     else if(arg1.compare("Textures",Qt::CaseSensitive)==0){
         updateItemsLoaded(ui->twSourcesTextures);
     }
-    else if(arg1.compare("Models",Qt::CaseSensitive)==0){
-        updateItemsLoaded(ui->twSourcesModels);
+    else if(arg1.compare("Objects",Qt::CaseSensitive)==0){
+        updateItemsLoaded(ui->twSourcesObjects);
     }
     else if(arg1.compare("Levels",Qt::CaseSensitive)==0){
@@ -1230,10 +1244,15 @@
 }
 
+void MainWindow::on_actionOpen_AE_folder_triggered()
+{
+    QDesktopServices::openUrl(QUrl("file:///"+this->AeLocation));
+}
+
 QString MainWindow::getTypeConversion(DropTableWidget *myTable){
     QString from,to;
 
-    if(myTable==ui->twSourcesGeneral){
-        from=ui->cbFromGeneral->currentText();
-        to=ui->cbToGeneral->currentText();
+    if(myTable==ui->twSourcesXML){
+        from=ui->cbFromXML->currentText();
+        to=ui->cbToXML->currentText();
     }
     else if(myTable==ui->twSourcesTextures){
@@ -1241,11 +1260,11 @@
         to=ui->cbToTextures->currentText();
     }
-    else if(myTable==ui->twSourcesModels){
-        from=ui->cbFromModels->currentText();
-        to=ui->cbToModels->currentText();
-    }
-    else if(myTable==ui->twSourcesAnimations){
-        from=ui->cbFromAnimations->currentText();
-        to=ui->cbToAnimations->currentText();
+    else if(myTable==ui->twSourcesObjects){
+        from=ui->cbFromObjects->currentText();
+        to=ui->cbToObjects->currentText();
+    }
+    else if(myTable==ui->twSourcesCharacters){
+        from=ui->cbFromCharacters->currentText();
+        to=ui->cbToCharacters->currentText();
     }
     else if(myTable==ui->twSourcesLevels){
@@ -1473,18 +1492,21 @@
 
 QString MainWindow::getCommand(DropTableWidget* myTable, QString myOutputFolder, QString from, QString to , QString file){
-    if(myTable==ui->twSourcesGeneral){ //So we only need to parse one command.
-        return fileParsingGeneral(myOutputFolder,from,to,file);
+
+    QString tabTitle=ui->tabWidget->tabText(ui->tabWidget->currentIndex()).toLower(); // get current tab title
+
+    if(myTable==ui->twSourcesXML){ //So we only need to parse one command.
+        return fileParsingXML(tabTitle, myOutputFolder,from,to,file);
     }
     else if(myTable==ui->twSourcesTextures){
-        return fileParsingTextures(myOutputFolder,from,to,file);
-    }
-    else if(myTable==ui->twSourcesModels){
-        return fileParsingModels(myOutputFolder,from,to,file);
-    }
-    else if(myTable==ui->twSourcesAnimations){
-        return fileParsingAnimations(myOutputFolder,from,to,file);
+        return fileParsingTextures(tabTitle, myOutputFolder,from,to,file);
+    }
+    else if(myTable==ui->twSourcesObjects){
+        return fileParsingObjects(tabTitle, myOutputFolder,from,to,file);
+    }
+    else if(myTable==ui->twSourcesCharacters){
+        return fileParsingCharacters(tabTitle, myOutputFolder,from,to,file);
     }
     else if(myTable==ui->twSourcesLevels){
-        return fileParsingLevels(myOutputFolder,from,to,file);
+        return fileParsingLevels(tabTitle, myOutputFolder,from,to,file);
     }
     else{
@@ -1498,9 +1520,9 @@
   **/
 void MainWindow::setConverterButtonsSize(){
-    int height=ui->pbConvertGeneral->sizeHint().height()*1.3;
-    ui->pbConvertGeneral->setMinimumHeight(height);
+    int height=ui->pbConvertXML->sizeHint().height()*1.3;
+    ui->pbConvertXML->setMinimumHeight(height);
     ui->pbConvertTextures->setMinimumHeight(height);
-    ui->pbConvertModels->setMinimumHeight(height);
-    ui->pbConvertAnimations->setMinimumHeight(height);
+    ui->pbConvertObjects->setMinimumHeight(height);
+    ui->pbConvertCharacters->setMinimumHeight(height);
     ui->pbConvertLevels->setMinimumHeight(height);
     ui->pbConvertMisc->setMinimumHeight(height);
@@ -1535,15 +1557,21 @@
     connect(myConverter, SIGNAL(resultConversion(QString,int)), this, SLOT(TresultConversion(QString,int)));
 
+    //This signal is for thread that is working notify the gui thread that the conversion was aborted with sucess
+    connect(myConverter, SIGNAL(conversionAborted()), this, SLOT(TconversionAborted()));
+
+    // This signal is to the user be able to terminate a conversion (OniSplit process in class myConverter will be terminated)
+    connect(this, SIGNAL(terminateCurrProcess()), myConverter, SLOT(terminateCurrProcess()));
+
     //Drop signal for General table
-    connect(ui->twSourcesGeneral, SIGNAL(dropped(DropTableWidget*,QStringList)), this, SLOT(addFilesSource(DropTableWidget*,QStringList)));
+    connect(ui->twSourcesXML, SIGNAL(dropped(DropTableWidget*,QStringList)), this, SLOT(addFilesSource(DropTableWidget*,QStringList)));
 
     //Drop signal for Textures table
     connect(ui->twSourcesTextures, SIGNAL(dropped(DropTableWidget*,QStringList)), this, SLOT(addFilesSource(DropTableWidget*,QStringList)));
 
-    //Drop signal for Models table
-    connect(ui->twSourcesModels, SIGNAL(dropped(DropTableWidget*,QStringList)), this, SLOT(addFilesSource(DropTableWidget*,QStringList)));
-
-    //Drop signal for Animations table
-    connect(ui->twSourcesAnimations, SIGNAL(dropped(DropTableWidget*,QStringList)), this, SLOT(addFilesSource(DropTableWidget*,QStringList)));
+    //Drop signal for Objects table
+    connect(ui->twSourcesObjects, SIGNAL(dropped(DropTableWidget*,QStringList)), this, SLOT(addFilesSource(DropTableWidget*,QStringList)));
+
+    //Drop signal for Characters table
+    connect(ui->twSourcesCharacters, SIGNAL(dropped(DropTableWidget*,QStringList)), this, SLOT(addFilesSource(DropTableWidget*,QStringList)));
 
     //Drop signal for Levels table
@@ -1554,14 +1582,14 @@
 
     //Context menu for General table
-    connect(ui->twSourcesGeneral, SIGNAL(dtContextMenu(DropTableWidget*,QContextMenuEvent*)), this, SLOT(dtContextMenu(DropTableWidget*,QContextMenuEvent*)));
+    connect(ui->twSourcesXML, SIGNAL(dtContextMenu(DropTableWidget*,QContextMenuEvent*)), this, SLOT(dtContextMenu(DropTableWidget*,QContextMenuEvent*)));
 
     //Context menu for Textures table
     connect(ui->twSourcesTextures, SIGNAL(dtContextMenu(DropTableWidget*,QContextMenuEvent*)), this, SLOT(dtContextMenu(DropTableWidget*,QContextMenuEvent*)));
 
-    //Context menu for Models table
-    connect(ui->twSourcesModels, SIGNAL(dtContextMenu(DropTableWidget*,QContextMenuEvent*)), this, SLOT(dtContextMenu(DropTableWidget*,QContextMenuEvent*)));
-
-    //Context menu for Animations table
-    connect(ui->twSourcesAnimations, SIGNAL(dtContextMenu(DropTableWidget*,QContextMenuEvent*)), this, SLOT(dtContextMenu(DropTableWidget*,QContextMenuEvent*)));
+    //Context menu for Objects table
+    connect(ui->twSourcesObjects, SIGNAL(dtContextMenu(DropTableWidget*,QContextMenuEvent*)), this, SLOT(dtContextMenu(DropTableWidget*,QContextMenuEvent*)));
+
+    //Context menu for Characters table
+    connect(ui->twSourcesCharacters, SIGNAL(dtContextMenu(DropTableWidget*,QContextMenuEvent*)), this, SLOT(dtContextMenu(DropTableWidget*,QContextMenuEvent*)));
 
     //Context menu for Levels table
@@ -1571,4 +1599,2 @@
     connect(ui->twSourcesMisc, SIGNAL(dtContextMenu(DropTableWidget*,QContextMenuEvent*)), this, SLOT(dtContextMenu(DropTableWidget*,QContextMenuEvent*)));
 }
-
-
Index: /Vago/trunk/Vago/mainwindow.h
===================================================================
--- /Vago/trunk/Vago/mainwindow.h	(revision 896)
+++ /Vago/trunk/Vago/mainwindow.h	(revision 897)
@@ -65,7 +65,7 @@
     void on_actionCheck_For_Updates_triggered();
 
-    void on_pbAddSourceGeneral_clicked();
-
-    void on_pbConvertGeneral_clicked();
+    void on_pbAddSourceXML_clicked();
+
+    void on_pbConvertXML_clicked();
 
     void TsetupProgressBar(int max);
@@ -75,5 +75,5 @@
     void TresultConversion(QString result, int numErrors);
 
-    void on_cbFromGeneral_currentIndexChanged(const QString &arg1);
+    void TconversionAborted();
 
     void on_actionWindows_triggered();
@@ -81,7 +81,7 @@
     void on_actionMac_Windows_demo_triggered();
 
-    void on_pbClearSourcesGeneral_clicked();
-
-    void on_pbRemoveSourceGeneral_clicked();
+    void on_pbClearSourcesXML_clicked();
+
+    void on_pbRemoveSourceXML_clicked();
 
     void on_pbAddSourceTextures_clicked();
@@ -93,5 +93,5 @@
     void on_cbFromTextures_currentIndexChanged(const QString &arg1);
 
-    void on_cbFromModels_currentIndexChanged(const QString &arg1);
+    void on_cbFromObjects_currentIndexChanged(const QString &arg1);
 
     void on_cbFromLevels_currentIndexChanged(const QString &arg1);
@@ -99,5 +99,5 @@
     void on_cbFromMisc_currentIndexChanged(const QString &arg1);
 
-    void on_pbAddSourceModels_clicked();
+    void on_pbAddSourceObjects_clicked();
 
     void on_pbAddSourceLevels_clicked();
@@ -107,5 +107,5 @@
     void on_pbConvertTextures_clicked();
 
-    void on_pbConvertModels_clicked();
+    void on_pbConvertObjects_clicked();
 
     void on_pbConvertLevels_clicked();
@@ -113,5 +113,5 @@
     void on_pbConvertMisc_clicked();
 
-    void on_pbRemoveSourceModels_clicked();
+    void on_pbRemoveSourceObjects_clicked();
 
     void on_pbRemoveSourceLevels_clicked();
@@ -119,5 +119,5 @@
     void on_pbRemoveSourceMisc_clicked();
 
-    void on_pbClearSourcesModels_clicked();
+    void on_pbClearSourcesObjects_clicked();
 
     void on_pbClearSourcesLevels_clicked();
@@ -127,10 +127,6 @@
     void on_actionPreferences_triggered();
 
-    void on_cbToGeneral_currentIndexChanged(const QString &arg1);
-
     void on_cbToLevels_currentIndexChanged(const QString &arg1);
 
-    void on_cbDatGeneral_toggled(bool checked);
-
     void on_cbDatLevels_toggled(bool checked);
 
@@ -141,6 +137,4 @@
     void dtContextMenu(DropTableWidget* myTable, QContextMenuEvent *event); //Context menu options for table widgets
 
-    void on_cbTRAMGeneral_toggled(bool checked);
-
     void on_tabWidget_selected(const QString &arg1);
 
@@ -159,27 +153,31 @@
     void on_actionView_log_triggered();
 
-    void on_cbToModels_currentIndexChanged(const QString &arg1);
+    void on_actionAE_Package_Creator_triggered();
+
+    void on_cbFromCharacters_currentIndexChanged(const QString &arg1);
+
+    void on_pbConvertCharacters_clicked();
+
+    void on_pbAddSourceCharacters_clicked();
+
+    void on_pbRemoveSourceCharacters_clicked();
+
+    void on_pbClearSourcesCharacters_clicked();
+
+    void on_actionSound_Wizard_triggered();
+
+    void on_actionCheck_xmlTools_version_triggered();
+
+    void on_actionOpen_AE_folder_triggered();
+
+    void on_cbWithTRBS_ONCC_toggled(bool checked);
 
     void on_cbWithAnimation_toggled(bool checked);
 
-    void on_actionAE_Package_Creator_triggered();
-
-    void on_cbFromAnimations_currentIndexChanged(const QString &arg1);
-
-    void on_cbCamera_toggled(bool checked);
-
-    void on_cbGeometry_toggled(bool checked);
-
-    void on_pbConvertAnimations_clicked();
-
-    void on_pbAddSourceAnimations_clicked();
-
-    void on_pbRemoveSourceAnimations_clicked();
-
-    void on_pbClearSourcesAnimations_clicked();
-
-    void on_actionSound_Wizard_triggered();
-
-    void on_actionCheck_xmlTools_version_triggered();
+    void on_cbFromXML_currentIndexChanged(const QString &arg1);
+
+    void on_cbSpecificFilesLevels_toggled(bool checked);
+
+    void on_tbAbortConversion_clicked();
 
 private:
@@ -191,4 +189,6 @@
     QString outputFolder; //Output folder
     QString AeLocation; //Workspace location
+    int startedWindowWidth;
+    int startedWindowHeight;
     QLabel *itemsLoaded;
     QProgressBar *myBar; //Progress Bar
@@ -206,5 +206,5 @@
     void clearTableContents(DropTableWidget *myTable);
     void removeTableContents(DropTableWidget *myTable);
-    void updateComboBox(const QString &arg1, QComboBox *comboBox, const QString &identifier);
+    void updateComboBox(const QString &arg1, QComboBox *comboBox);
     void startConversion(DropTableWidget *myTable);
     void updateItemsLoaded(DropTableWidget *currentTable);
@@ -213,13 +213,16 @@
     void setConverterButtonsSize();
     QString getFileOutputFolder(QString fromTo, QString myOutputFolder="");
-    QString fileParsingGeneral(QString myOutputFolder, QString from, QString to , QString file);
-    QString fileParsingTextures(QString myOutputFolder, QString from, QString to , QString file);
-    QString fileParsingModels(QString myOutputFolder, QString from, QString to , QString file);
-    QString fileParsingAnimations(QString myOutputFolder, QString from, QString to , QString file);
-    QString fileParsingLevels(QString myOutputFolder, QString from, QString to , QString file);
+    QString fileParsingXML(QString tabTitle, QString myOutputFolder, QString from, QString to , QString file);
+    QString fileParsingTextures(QString tabTitle, QString myOutputFolder, QString from, QString to , QString file);
+    QString fileParsingObjects(QString tabTitle, QString myOutputFolder, QString from, QString to , QString file);
+    QString fileParsingCharacters(QString tabTitle, QString myOutputFolder, QString from, QString to , QString file);
+    QString fileParsingLevels(QString tabTitle, QString myOutputFolder, QString from, QString to , QString file);
     QString fileParsingMisc(QString myOutputFolder, QString from, QString to , QString file);
     QString getCommand(DropTableWidget* myTable, QString myOutputFolder, QString from, QString to , QString file);
     QString getTypeConversion(DropTableWidget *myTable); //get the current type for a table
     QString getOSIndependentAppPath();
+
+signals:
+    void terminateCurrProcess();
 };
 
Index: /Vago/trunk/Vago/mainwindow.ui
===================================================================
--- /Vago/trunk/Vago/mainwindow.ui	(revision 896)
+++ /Vago/trunk/Vago/mainwindow.ui	(revision 897)
@@ -7,6 +7,6 @@
     <x>0</x>
     <y>0</y>
-    <width>640</width>
-    <height>480</height>
+    <width>800</width>
+    <height>600</height>
    </rect>
   </property>
@@ -23,4 +23,21 @@
      <layout class="QHBoxLayout" name="horizontalLayout_10">
       <item>
+       <widget class="QToolButton" name="tbAbortConversion">
+        <property name="toolTip">
+         <string>Abort current conversion</string>
+        </property>
+        <property name="text">
+         <string/>
+        </property>
+        <property name="icon">
+         <iconset resource="resources.qrc">
+          <normaloff>:/new/icons/abort.png</normaloff>:/new/icons/abort.png</iconset>
+        </property>
+        <property name="autoRaise">
+         <bool>true</bool>
+        </property>
+       </widget>
+      </item>
+      <item>
        <widget class="QToolButton" name="tbOpenFolder">
         <property name="toolTip">
@@ -156,5 +173,5 @@
       <widget class="QWidget" name="tabGeneral">
        <attribute name="title">
-        <string>General</string>
+        <string>XML</string>
        </attribute>
        <layout class="QVBoxLayout" name="verticalLayout_18">
@@ -177,10 +194,5 @@
             </item>
             <item>
-             <widget class="QComboBox" name="cbFromGeneral">
-              <item>
-               <property name="text">
-                <string>DAT</string>
-               </property>
-              </item>
+             <widget class="QComboBox" name="cbFromXML">
               <item>
                <property name="text">
@@ -213,8 +225,8 @@
             </item>
             <item>
-             <widget class="QComboBox" name="cbToGeneral">
-              <item>
-               <property name="text">
-                <string>ONI</string>
+             <widget class="QComboBox" name="cbToXML">
+              <item>
+               <property name="text">
+                <string>XML</string>
                </property>
               </item>
@@ -228,5 +240,5 @@
          <layout class="QHBoxLayout" name="horizontalLayout_11">
           <item>
-           <widget class="QGroupBox" name="gbSourcesGeneral">
+           <widget class="QGroupBox" name="gbSourcesXML">
             <property name="title">
              <string>Sources</string>
@@ -234,10 +246,10 @@
             <layout class="QHBoxLayout" name="horizontalLayout_13">
              <item>
-              <widget class="DropTableWidget" name="twSourcesGeneral"/>
+              <widget class="DropTableWidget" name="twSourcesXML"/>
              </item>
              <item>
               <layout class="QVBoxLayout" name="verticalLayout_10">
                <item>
-                <widget class="QPushButton" name="pbAddSourceGeneral">
+                <widget class="QPushButton" name="pbAddSourceXML">
                  <property name="minimumSize">
                   <size>
@@ -252,5 +264,5 @@
                </item>
                <item>
-                <widget class="QPushButton" name="pbRemoveSourceGeneral">
+                <widget class="QPushButton" name="pbRemoveSourceXML">
                  <property name="text">
                   <string>Remove</string>
@@ -259,5 +271,5 @@
                </item>
                <item>
-                <widget class="QPushButton" name="pbClearSourcesGeneral">
+                <widget class="QPushButton" name="pbClearSourcesXML">
                  <property name="text">
                   <string>Clear</string>
@@ -273,76 +285,4 @@
         </item>
         <item>
-         <widget class="QGroupBox" name="gbGeneral">
-          <property name="enabled">
-           <bool>true</bool>
-          </property>
-          <property name="title">
-           <string>Options</string>
-          </property>
-          <layout class="QHBoxLayout" name="horizontalLayout_23">
-           <item>
-            <layout class="QVBoxLayout" name="verticalLayout_38">
-             <item>
-              <layout class="QHBoxLayout" name="horizontalLayout_29">
-               <item>
-                <widget class="QCheckBox" name="cbDatGeneral">
-                 <property name="enabled">
-                  <bool>false</bool>
-                 </property>
-                 <property name="text">
-                  <string>DAT Filename:</string>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <widget class="QLineEdit" name="leTargetDatGeneral">
-                 <property name="enabled">
-                  <bool>false</bool>
-                 </property>
-                 <property name="placeholderText">
-                  <string>Custom .dat filename</string>
-                 </property>
-                </widget>
-               </item>
-              </layout>
-             </item>
-            </layout>
-           </item>
-           <item>
-            <widget class="QCheckBox" name="cbTRAMGeneral">
-             <property name="enabled">
-              <bool>false</bool>
-             </property>
-             <property name="toolTip">
-              <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
-&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt; font-weight:600;&quot;&gt;Extract an ONCC with another character's TRAM&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt; font-weight:600;&quot;&gt;For example extract Konoko's ONCC with Muro's TRAM&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
-             </property>
-             <property name="text">
-              <string>Another TRAM:</string>
-             </property>
-            </widget>
-           </item>
-           <item>
-            <widget class="QLineEdit" name="leTRAMGeneral">
-             <property name="enabled">
-              <bool>false</bool>
-             </property>
-             <property name="toolTip">
-              <string>Extract an ONCC with another character's TRAM
-For example extract Konoko's ONCC with Muro's TRAM</string>
-             </property>
-             <property name="placeholderText">
-              <string>TRAM.oni source file</string>
-             </property>
-            </widget>
-           </item>
-          </layout>
-         </widget>
-        </item>
-        <item>
          <widget class="Line" name="line_3">
           <property name="orientation">
@@ -352,5 +292,11 @@
         </item>
         <item>
-         <widget class="QPushButton" name="pbConvertGeneral">
+         <widget class="QPushButton" name="pbConvertXML">
+          <property name="minimumSize">
+           <size>
+            <width>0</width>
+            <height>30</height>
+           </size>
+          </property>
           <property name="text">
            <string>Convert</string>
@@ -386,10 +332,10 @@
               <item>
                <property name="text">
-                <string>DAT / ONI</string>
-               </property>
-              </item>
-              <item>
-               <property name="text">
-                <string>DDS / TGA / PNG / JPG</string>
+                <string>DAT / TXMP ONI</string>
+               </property>
+              </item>
+              <item>
+               <property name="text">
+                <string>TGA / DDS / PNG / JPG</string>
                </property>
               </item>
@@ -417,10 +363,10 @@
               <item>
                <property name="text">
+                <string>TGA</string>
+               </property>
+              </item>
+              <item>
+               <property name="text">
                 <string>DDS</string>
-               </property>
-              </item>
-              <item>
-               <property name="text">
-                <string>TGA</string>
                </property>
               </item>
@@ -631,9 +577,220 @@
        </layout>
       </widget>
+      <widget class="QWidget" name="tab">
+       <attribute name="title">
+        <string>Characters</string>
+       </attribute>
+       <layout class="QVBoxLayout" name="verticalLayout_4">
+        <item>
+         <layout class="QHBoxLayout" name="horizontalLayout_49">
+          <item>
+           <layout class="QVBoxLayout" name="verticalLayout_63">
+            <item>
+             <widget class="QLabel" name="label_30">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="text">
+               <string>From</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QComboBox" name="cbFromCharacters">
+              <item>
+               <property name="text">
+                <string>TRBS / ONCC ONI</string>
+               </property>
+              </item>
+              <item>
+               <property name="text">
+                <string>TRBS XML</string>
+               </property>
+              </item>
+              <item>
+               <property name="text">
+                <string>TRBS DAE</string>
+               </property>
+              </item>
+              <item>
+               <property name="text">
+                <string>TRAM ONI</string>
+               </property>
+              </item>
+              <item>
+               <property name="text">
+                <string>FILM DAT</string>
+               </property>
+              </item>
+             </widget>
+            </item>
+           </layout>
+          </item>
+          <item>
+           <layout class="QVBoxLayout" name="verticalLayout_64">
+            <item>
+             <widget class="QLabel" name="label_31">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="text">
+               <string>To</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QComboBox" name="cbToCharacters">
+              <item>
+               <property name="text">
+                <string>DAE</string>
+               </property>
+              </item>
+             </widget>
+            </item>
+           </layout>
+          </item>
+         </layout>
+        </item>
+        <item>
+         <widget class="QGroupBox" name="gbSourcesAnimations">
+          <property name="title">
+           <string>Sources</string>
+          </property>
+          <layout class="QHBoxLayout" name="horizontalLayout_48">
+           <item>
+            <widget class="DropTableWidget" name="twSourcesCharacters"/>
+           </item>
+           <item>
+            <layout class="QVBoxLayout" name="verticalLayout_62">
+             <item>
+              <widget class="QPushButton" name="pbAddSourceCharacters">
+               <property name="minimumSize">
+                <size>
+                 <width>0</width>
+                 <height>0</height>
+                </size>
+               </property>
+               <property name="text">
+                <string>Add</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QPushButton" name="pbRemoveSourceCharacters">
+               <property name="text">
+                <string>Remove</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QPushButton" name="pbClearSourcesCharacters">
+               <property name="text">
+                <string>Clear</string>
+               </property>
+              </widget>
+             </item>
+            </layout>
+           </item>
+          </layout>
+         </widget>
+        </item>
+        <item>
+         <widget class="QGroupBox" name="gbModels">
+          <property name="title">
+           <string>Options</string>
+          </property>
+          <layout class="QHBoxLayout" name="horizontalLayout_3">
+           <item>
+            <widget class="QCheckBox" name="cbCellShading">
+             <property name="enabled">
+              <bool>false</bool>
+             </property>
+             <property name="text">
+              <string>Cell Shading</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QCheckBox" name="cbNormals">
+             <property name="enabled">
+              <bool>false</bool>
+             </property>
+             <property name="text">
+              <string>Normals</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QCheckBox" name="cbWithTRBS_ONCC">
+             <property name="enabled">
+              <bool>false</bool>
+             </property>
+             <property name="toolTip">
+              <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Extract a TRAM (animation) with character's TRBS / ONCC&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;For example extract a Muro's TRAM  with Konoko's ONCC&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+             </property>
+             <property name="text">
+              <string>Extract with TRBS / ONCC:</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QLineEdit" name="leTRBS_ONCC">
+             <property name="enabled">
+              <bool>false</bool>
+             </property>
+             <property name="toolTip">
+              <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Extract a TRAM (animation) with character's TRBS / ONCC&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;For example extract a Muro's TRAM  with Konoko's ONCC&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+             </property>
+             <property name="placeholderText">
+              <string>TRBS / ONCC.oni source file</string>
+             </property>
+            </widget>
+           </item>
+          </layout>
+         </widget>
+        </item>
+        <item>
+         <widget class="Line" name="line_15">
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QPushButton" name="pbConvertCharacters">
+          <property name="minimumSize">
+           <size>
+            <width>0</width>
+            <height>30</height>
+           </size>
+          </property>
+          <property name="text">
+           <string>Convert</string>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </widget>
       <widget class="QWidget" name="tabModels">
        <attribute name="title">
-        <string>Models</string>
+        <string>Objects</string>
        </attribute>
-       <layout class="QVBoxLayout" name="verticalLayout_25">
+       <layout class="QVBoxLayout" name="verticalLayout_2">
         <item>
          <layout class="QHBoxLayout" name="horizontalLayout_26">
@@ -654,8 +811,18 @@
             </item>
             <item>
-             <widget class="QComboBox" name="cbFromModels">
-              <item>
-               <property name="text">
-                <string>ONI</string>
+             <widget class="QComboBox" name="cbFromObjects">
+              <item>
+               <property name="text">
+                <string>M3GM ONI</string>
+               </property>
+              </item>
+              <item>
+               <property name="text">
+                <string>ONWC ONI</string>
+               </property>
+              </item>
+              <item>
+               <property name="text">
+                <string>OBAN ONI (cam)</string>
                </property>
               </item>
@@ -663,9 +830,4 @@
                <property name="text">
                 <string>OBJ</string>
-               </property>
-              </item>
-              <item>
-               <property name="text">
-                <string>DAE</string>
                </property>
               </item>
@@ -690,5 +852,5 @@
             </item>
             <item>
-             <widget class="QComboBox" name="cbToModels">
+             <widget class="QComboBox" name="cbToObjects">
               <item>
                <property name="text">
@@ -714,10 +876,10 @@
           <layout class="QHBoxLayout" name="horizontalLayout_16">
            <item>
-            <widget class="DropTableWidget" name="twSourcesModels"/>
+            <widget class="DropTableWidget" name="twSourcesObjects"/>
            </item>
            <item>
             <layout class="QVBoxLayout" name="verticalLayout_11">
              <item>
-              <widget class="QPushButton" name="pbAddSourceModels">
+              <widget class="QPushButton" name="pbAddSourceObjects">
                <property name="minimumSize">
                 <size>
@@ -732,5 +894,5 @@
              </item>
              <item>
-              <widget class="QPushButton" name="pbRemoveSourceModels">
+              <widget class="QPushButton" name="pbRemoveSourceObjects">
                <property name="text">
                 <string>Remove</string>
@@ -739,5 +901,5 @@
              </item>
              <item>
-              <widget class="QPushButton" name="pbClearSourcesModels">
+              <widget class="QPushButton" name="pbClearSourcesObjects">
                <property name="text">
                 <string>Clear</string>
@@ -751,94 +913,67 @@
         </item>
         <item>
-         <widget class="QGroupBox" name="gbModels">
+         <widget class="QGroupBox" name="gbAnimations">
           <property name="title">
            <string>Options</string>
           </property>
-          <layout class="QVBoxLayout" name="verticalLayout_26">
-           <item>
-            <layout class="QVBoxLayout" name="verticalLayout_27">
-             <item>
-              <layout class="QHBoxLayout" name="horizontalLayout_24">
-               <item>
-                <widget class="QCheckBox" name="cbCellShading">
-                 <property name="enabled">
-                  <bool>false</bool>
-                 </property>
-                 <property name="text">
-                  <string>Cell Shading</string>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <widget class="QCheckBox" name="cbNormals">
-                 <property name="enabled">
-                  <bool>false</bool>
-                 </property>
-                 <property name="text">
-                  <string>Normals</string>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <widget class="QCheckBox" name="cbWithAnimation">
-                 <property name="enabled">
-                  <bool>false</bool>
-                 </property>
-                 <property name="toolTip">
-                  <string>Extract the model with a specific animation.  
-If none inputted (and checkbox is selected) it will search for one at ONCC&gt;TRAC.
-It's the name of a TRAM.oni file, don't include the extension.</string>
-                 </property>
-                 <property name="text">
-                  <string>With Animation:</string>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <widget class="QLineEdit" name="leAnimationName">
-                 <property name="enabled">
-                  <bool>false</bool>
-                 </property>
-                 <property name="toolTip">
-                  <string>Extract the model with a specific animation.  
-If none inputted (and checkbox is selected) it will search for one at ONCC&gt;TRAC.
-It's the name of a TRAM.oni file, don't include the extension.</string>
-                 </property>
-                 <property name="placeholderText">
-                  <string>Animation name</string>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <widget class="QCheckBox" name="cbTexture">
-                 <property name="enabled">
-                  <bool>false</bool>
-                 </property>
-                 <property name="toolTip">
-                  <string>Give model a texture.
+          <layout class="QHBoxLayout" name="horizontalLayout">
+           <item>
+            <widget class="QCheckBox" name="cbTexture">
+             <property name="enabled">
+              <bool>false</bool>
+             </property>
+             <property name="toolTip">
+              <string>Give model a texture.
 It's the name of a TXMP.oni file, don't include the extension.</string>
-                 </property>
-                 <property name="text">
-                  <string>Texture:</string>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <widget class="QLineEdit" name="leTextureName">
-                 <property name="enabled">
-                  <bool>false</bool>
-                 </property>
-                 <property name="toolTip">
-                  <string>Give model a texture. 
+             </property>
+             <property name="text">
+              <string>Texture:</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QLineEdit" name="leTextureName">
+             <property name="enabled">
+              <bool>false</bool>
+             </property>
+             <property name="toolTip">
+              <string>Give model a texture. 
 It's the name of a TXMP.oni file, don't include the extension.</string>
-                 </property>
-                 <property name="placeholderText">
-                  <string>Texture name</string>
-                 </property>
-                </widget>
-               </item>
-              </layout>
-             </item>
-            </layout>
+             </property>
+             <property name="text">
+              <string>TXMP.oni source file</string>
+             </property>
+             <property name="placeholderText">
+              <string>Texture name</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QCheckBox" name="cbWithAnimation">
+             <property name="enabled">
+              <bool>true</bool>
+             </property>
+             <property name="toolTip">
+              <string>Give model a texture.
+It's the name of a TXMP.oni file, don't include the extension.</string>
+             </property>
+             <property name="text">
+              <string>With Animation:</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QLineEdit" name="leAnimationName">
+             <property name="enabled">
+              <bool>false</bool>
+             </property>
+             <property name="toolTip">
+              <string>Give model a texture. 
+It's the name of a TXMP.oni file, don't include the extension.</string>
+             </property>
+             <property name="placeholderText">
+              <string>OBAN.oni source file</string>
+             </property>
+            </widget>
            </item>
           </layout>
@@ -853,189 +988,5 @@
         </item>
         <item>
-         <widget class="QPushButton" name="pbConvertModels">
-          <property name="minimumSize">
-           <size>
-            <width>0</width>
-            <height>30</height>
-           </size>
-          </property>
-          <property name="text">
-           <string>Convert</string>
-          </property>
-         </widget>
-        </item>
-       </layout>
-      </widget>
-      <widget class="QWidget" name="tab">
-       <attribute name="title">
-        <string>Animations</string>
-       </attribute>
-       <layout class="QVBoxLayout" name="verticalLayout_2">
-        <item>
-         <layout class="QHBoxLayout" name="horizontalLayout_49">
-          <item>
-           <layout class="QVBoxLayout" name="verticalLayout_63">
-            <item>
-             <widget class="QLabel" name="label_30">
-              <property name="sizePolicy">
-               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                <horstretch>0</horstretch>
-                <verstretch>0</verstretch>
-               </sizepolicy>
-              </property>
-              <property name="text">
-               <string>From</string>
-              </property>
-             </widget>
-            </item>
-            <item>
-             <widget class="QComboBox" name="cbFromAnimations">
-              <item>
-               <property name="text">
-                <string>ONI</string>
-               </property>
-              </item>
-              <item>
-               <property name="text">
-                <string>FILM DAT</string>
-               </property>
-              </item>
-             </widget>
-            </item>
-           </layout>
-          </item>
-          <item>
-           <layout class="QVBoxLayout" name="verticalLayout_64">
-            <item>
-             <widget class="QLabel" name="label_31">
-              <property name="sizePolicy">
-               <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                <horstretch>0</horstretch>
-                <verstretch>0</verstretch>
-               </sizepolicy>
-              </property>
-              <property name="text">
-               <string>To</string>
-              </property>
-             </widget>
-            </item>
-            <item>
-             <widget class="QComboBox" name="cbToAnimations">
-              <item>
-               <property name="text">
-                <string>DAE</string>
-               </property>
-              </item>
-             </widget>
-            </item>
-           </layout>
-          </item>
-         </layout>
-        </item>
-        <item>
-         <widget class="QGroupBox" name="gbSourcesAnimations">
-          <property name="title">
-           <string>Sources</string>
-          </property>
-          <layout class="QHBoxLayout" name="horizontalLayout_48">
-           <item>
-            <widget class="DropTableWidget" name="twSourcesAnimations"/>
-           </item>
-           <item>
-            <layout class="QVBoxLayout" name="verticalLayout_62">
-             <item>
-              <widget class="QPushButton" name="pbAddSourceAnimations">
-               <property name="minimumSize">
-                <size>
-                 <width>0</width>
-                 <height>0</height>
-                </size>
-               </property>
-               <property name="text">
-                <string>Add</string>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QPushButton" name="pbRemoveSourceAnimations">
-               <property name="text">
-                <string>Remove</string>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QPushButton" name="pbClearSourcesAnimations">
-               <property name="text">
-                <string>Clear</string>
-               </property>
-              </widget>
-             </item>
-            </layout>
-           </item>
-          </layout>
-         </widget>
-        </item>
-        <item>
-         <widget class="QGroupBox" name="gbAnimations">
-          <property name="title">
-           <string>Options</string>
-          </property>
-          <layout class="QVBoxLayout" name="verticalLayout_60">
-           <item>
-            <layout class="QVBoxLayout" name="verticalLayout_61">
-             <item>
-              <layout class="QHBoxLayout" name="horizontalLayout_47">
-               <item>
-                <widget class="QCheckBox" name="cbCamera">
-                 <property name="enabled">
-                  <bool>true</bool>
-                 </property>
-                 <property name="text">
-                  <string>Camera</string>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <widget class="QCheckBox" name="cbGeometry">
-                 <property name="enabled">
-                  <bool>true</bool>
-                 </property>
-                 <property name="toolTip">
-                  <string/>
-                 </property>
-                 <property name="text">
-                  <string>Geometry:</string>
-                 </property>
-                </widget>
-               </item>
-               <item>
-                <widget class="QLineEdit" name="leGeometryName">
-                 <property name="enabled">
-                  <bool>false</bool>
-                 </property>
-                 <property name="toolTip">
-                  <string/>
-                 </property>
-                 <property name="placeholderText">
-                  <string>Geometry file path</string>
-                 </property>
-                </widget>
-               </item>
-              </layout>
-             </item>
-            </layout>
-           </item>
-          </layout>
-         </widget>
-        </item>
-        <item>
-         <widget class="Line" name="line_15">
-          <property name="orientation">
-           <enum>Qt::Horizontal</enum>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QPushButton" name="pbConvertAnimations">
+         <widget class="QPushButton" name="pbConvertObjects">
           <property name="minimumSize">
            <size>
@@ -1055,5 +1006,5 @@
         <string>Levels</string>
        </attribute>
-       <layout class="QVBoxLayout" name="verticalLayout_31">
+       <layout class="QVBoxLayout" name="verticalLayout_5">
         <item>
          <layout class="QHBoxLayout" name="horizontalLayout_28">
@@ -1077,5 +1028,20 @@
               <item>
                <property name="text">
-                <string>ONI</string>
+                <string>DAT</string>
+               </property>
+              </item>
+              <item>
+               <property name="text">
+                <string>ONI FILES</string>
+               </property>
+              </item>
+              <item>
+               <property name="text">
+                <string>MASTER XML</string>
+               </property>
+              </item>
+              <item>
+               <property name="text">
+                <string>AKEV ONI</string>
                </property>
               </item>
@@ -1083,9 +1049,4 @@
                <property name="text">
                 <string>DAE</string>
-               </property>
-              </item>
-              <item>
-               <property name="text">
-                <string>MASTER XML</string>
                </property>
               </item>
@@ -1113,5 +1074,5 @@
               <item>
                <property name="text">
-                <string>DAE</string>
+                <string>ONI FILES</string>
                </property>
               </item>
@@ -1173,5 +1134,68 @@
            <string>Options</string>
           </property>
-          <layout class="QVBoxLayout" name="verticalLayout_30">
+          <layout class="QVBoxLayout" name="verticalLayout_3">
+           <item>
+            <layout class="QHBoxLayout" name="horizontalLayout_4">
+             <item>
+              <widget class="QCheckBox" name="cbSpecificFilesLevels">
+               <property name="enabled">
+                <bool>true</bool>
+               </property>
+               <property name="minimumSize">
+                <size>
+                 <width>122</width>
+                 <height>0</height>
+                </size>
+               </property>
+               <property name="toolTip">
+                <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;Extract specific files oni files from the DAT file&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;Example of input:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;AKEVEnvWarehouse&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;This will extract only the file AKEVEnvWarehouse.oni from the dat.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;You can extract multiple files using wildcards e.g.: &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;M3GM* &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;This will extract all files which begin with M3GM. &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+               </property>
+               <property name="text">
+                <string>Extract specific files:</string>
+               </property>
+              </widget>
+             </item>
+             <item>
+              <widget class="QLineEdit" name="leSpecificFilesLevels">
+               <property name="enabled">
+                <bool>false</bool>
+               </property>
+               <property name="toolTip">
+                <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;Extract specific files oni files from the DAT file&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;Example of input:&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;AKEVEnvWarehouse&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;This will extract only the file AKEVEnvWarehouse.oni from the dat.&lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;You can extract multiple files using wildcards e.g.: &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;M3GM* &lt;/span&gt;&lt;/p&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;This will extract all files which begin with M3GM. &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+               </property>
+               <property name="text">
+                <string/>
+               </property>
+               <property name="placeholderText">
+                <string>Pattern to file or files (e.g. AKEVEnvWarehouse)</string>
+               </property>
+              </widget>
+             </item>
+            </layout>
+           </item>
            <item>
             <layout class="QHBoxLayout" name="horizontalLayout_27">
@@ -1183,5 +1207,5 @@
                <property name="minimumSize">
                 <size>
-                 <width>115</width>
+                 <width>122</width>
                  <height>0</height>
                 </size>
@@ -1222,8 +1246,21 @@
               </widget>
              </item>
+             <item>
+              <widget class="QCheckBox" name="cbGridsLevels">
+               <property name="enabled">
+                <bool>false</bool>
+               </property>
+               <property name="toolTip">
+                <string>Generate pathfinding grids (master xml generates them automatically). Needs Bnv source.</string>
+               </property>
+               <property name="text">
+                <string>Generate Grids</string>
+               </property>
+              </widget>
+             </item>
             </layout>
            </item>
            <item>
-            <layout class="QHBoxLayout" name="horizontalLayout_31">
+            <layout class="QHBoxLayout" name="horizontalLayout_2">
              <item>
               <widget class="QCheckBox" name="cbAdditionalSourcesLevels">
@@ -1231,4 +1268,10 @@
                 <bool>false</bool>
                </property>
+               <property name="minimumSize">
+                <size>
+                 <width>122</width>
+                 <height>0</height>
+                </size>
+               </property>
                <property name="text">
                 <string>Additional Sources:</string>
@@ -1242,21 +1285,12 @@
                </property>
                <property name="toolTip">
-                <string>Use &quot;space&quot; as separator for each file</string>
+                <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt;&quot;&gt;Use &amp;quot;;&amp;quot; as separator for each file&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
                </property>
                <property name="placeholderText">
                 <string>Additional .dae sources for akev (e.g. env_markers.dae)</string>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QCheckBox" name="cbGridsLevels">
-               <property name="enabled">
-                <bool>false</bool>
-               </property>
-               <property name="toolTip">
-                <string>Generate pathfinding grids (master xml generates them automatically). Needs Bnv source.</string>
-               </property>
-               <property name="text">
-                <string>Generate Grids</string>
                </property>
               </widget>
@@ -1315,5 +1349,10 @@
               <item>
                <property name="text">
-                <string>DAT / ONI</string>
+                <string>DAT / SNDD ONI</string>
+               </property>
+              </item>
+              <item>
+               <property name="text">
+                <string>DAT / SUBT ONI</string>
                </property>
               </item>
@@ -1357,9 +1396,4 @@
                <property name="text">
                 <string>AIF</string>
-               </property>
-              </item>
-              <item>
-               <property name="text">
-                <string>TXT</string>
                </property>
               </item>
@@ -1444,5 +1478,5 @@
      <x>0</x>
      <y>0</y>
-     <width>640</width>
+     <width>800</width>
      <height>21</height>
     </rect>
@@ -1485,4 +1519,5 @@
     <addaction name="menuOutput_directly_to"/>
     <addaction name="separator"/>
+    <addaction name="actionOpen_AE_folder"/>
     <addaction name="actionView_log"/>
    </widget>
@@ -1619,4 +1654,9 @@
    </property>
   </action>
+  <action name="actionOpen_AE_folder">
+   <property name="text">
+    <string>Open AE folder</string>
+   </property>
+  </action>
  </widget>
  <layoutdefault spacing="6" margin="11"/>
Index: /Vago/trunk/Vago/packageWizard/packagepage2.ui
===================================================================
--- /Vago/trunk/Vago/packageWizard/packagepage2.ui	(revision 896)
+++ /Vago/trunk/Vago/packageWizard/packagepage2.ui	(revision 897)
@@ -245,5 +245,9 @@
     <widget class="QLabel" name="lbFieldsReadOnly">
      <property name="text">
-      <string>&lt;html&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;* Fields read only  by AEI2 when the package isn't at the mod depot.&lt;/span&gt;&lt;/html&gt;</string>
+      <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;* Edit this text in packagepage2.cpp&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
      </property>
      <property name="wordWrap">
Index: /Vago/trunk/Vago/packageWizard/packagepage4.ui
===================================================================
--- /Vago/trunk/Vago/packageWizard/packagepage4.ui	(revision 896)
+++ /Vago/trunk/Vago/packageWizard/packagepage4.ui	(revision 897)
@@ -28,5 +28,9 @@
          </property>
          <property name="text">
-          <string>&lt;html&gt;&lt;b&gt;Common&lt;/b&gt;&lt;/html&gt;</string>
+          <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Common [edit this text in packagepage4.cpp]&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
          </property>
         </widget>
Index: /Vago/trunk/Vago/packageWizard/packagepagefinal.ui
===================================================================
--- /Vago/trunk/Vago/packageWizard/packagepagefinal.ui	(revision 896)
+++ /Vago/trunk/Vago/packageWizard/packagepagefinal.ui	(revision 897)
@@ -18,8 +18,5 @@
     <widget class="QLabel" name="lbComplete">
      <property name="text">
-      <string>&lt;html&gt;
-The wizard is now complete. The package will be created when you click in finish.&lt;br/&gt;
-After that you can upload the package to &lt;a href=&quot;www.mods.oni2.net&quot;&gt;mods.oni2.net&lt;/a&gt; to get your mod listed in the AEI.
-&lt;/html&gt;</string>
+      <string>The wizard is now complete. Edit this text in packagepagefinal.cpp</string>
      </property>
      <property name="wordWrap">
Index: /Vago/trunk/Vago/preferences.cpp
===================================================================
--- /Vago/trunk/Vago/preferences.cpp	(revision 896)
+++ /Vago/trunk/Vago/preferences.cpp	(revision 897)
@@ -13,4 +13,6 @@
     ui->leAEfolder->setText(this->vagoSettings->value("AeFolder").toString());
     ui->leWorkspace->setText(this->vagoSettings->value("Workspace").toString());
+    ui->leWidth->setText(this->vagoSettings->value("WindowWidth").toString());
+    ui->leHeight->setText(this->vagoSettings->value("WindowHeight").toString());
     ui->cbOniWindow->setChecked(this->vagoSettings->value("OniWindow").toBool());
     ui->cbSeparate->setChecked(this->vagoSettings->value("SeparateInWorkspace").toBool());
@@ -24,8 +26,36 @@
 }
 
-void Preferences::on_buttonBox_accepted()
-{
+// Need to override to do the verification
+// http://stackoverflow.com/questions/3261676/how-to-make-qdialogbuttonbox-not-close-its-parent-qdialog
+void Preferences::accept (){
+    QStringList options;
+    QRect screenRes = Util::getScreenResolution();
+
+    options << ui->leAEfolder->text() << ui->leWorkspace->text() << ui->leWidth->text() << ui->leHeight->text();
+
+    if(Util::checkEmptySpaces(options)){
+        Util::showErrorPopUp("Setting not saved! There are empty settings.");
+        return;
+    }
+
+    if(Util::checkIfIntegers(QStringList() << ui->leWidth->text() << ui->leHeight->text() )){
+        Util::showErrorPopUp("Setting not saved! Width and Height must be numbers.");
+        return;
+    }
+
+    if(ui->leWidth->text().toInt() > screenRes.width() || ui->leHeight->text().toInt() > screenRes.height()){
+        Util::showErrorPopUp("Setting not saved! Width or Height specified are greater than actual screen resolution.");
+        return;
+    }
+
+    if(ui->leWidth->text().toInt() <= 0  || ui->leHeight->text().toInt() <= 0 ){
+        Util::showErrorPopUp("Settings not saved! Width and Height must be greater than 0.");
+        return;
+    }
+
     this->vagoSettings->setValue("AeFolder",ui->leAEfolder->text());
     this->vagoSettings->setValue("Workspace",ui->leWorkspace->text());
+    this->vagoSettings->setValue("WindowWidth",ui->leWidth->text());
+    this->vagoSettings->setValue("WindowHeight",ui->leHeight->text());
     this->vagoSettings->setValue("OniWindow",ui->cbOniWindow->isChecked());
     this->vagoSettings->setValue("SeparateInWorkspace",ui->cbSeparate->isChecked());
@@ -33,4 +63,6 @@
 
     Util::showPopUp("You need to restart the application to all changes take effect.");
+
+    QDialog::accept();
 }
 
Index: /Vago/trunk/Vago/preferences.h
===================================================================
--- /Vago/trunk/Vago/preferences.h	(revision 896)
+++ /Vago/trunk/Vago/preferences.h	(revision 897)
@@ -20,8 +20,9 @@
     Preferences(QWidget *parent, QSettings *vagoSettings);
     ~Preferences();
+
+public slots:
+    void accept ();
     
 private slots:
-
-    void on_buttonBox_accepted();
 
     void on_pbChooseWorkspace_clicked();
Index: /Vago/trunk/Vago/preferences.ui
===================================================================
--- /Vago/trunk/Vago/preferences.ui	(revision 896)
+++ /Vago/trunk/Vago/preferences.ui	(revision 897)
@@ -20,54 +20,96 @@
       <string>Preferences</string>
      </property>
-     <layout class="QFormLayout" name="formLayout">
-      <item row="0" column="0">
-       <widget class="QLabel" name="label">
-        <property name="minimumSize">
-         <size>
-          <width>130</width>
-          <height>0</height>
-         </size>
-        </property>
-        <property name="text">
-         <string>Vago Workspace Folder:</string>
-        </property>
-       </widget>
-      </item>
-      <item row="0" column="1">
-       <layout class="QHBoxLayout" name="horizontalLayout">
-        <item>
-         <widget class="QLineEdit" name="leWorkspace"/>
-        </item>
-        <item>
-         <widget class="QPushButton" name="pbChooseWorkspace">
+     <layout class="QVBoxLayout" name="verticalLayout_2">
+      <item>
+       <layout class="QFormLayout" name="formLayout">
+        <item row="0" column="0">
+         <widget class="QLabel" name="label">
+          <property name="minimumSize">
+           <size>
+            <width>0</width>
+            <height>0</height>
+           </size>
+          </property>
           <property name="text">
-           <string>Choose</string>
+           <string>Vago Workspace Folder:</string>
           </property>
          </widget>
         </item>
-       </layout>
-      </item>
-      <item row="1" column="0">
-       <widget class="QLabel" name="label_2">
-        <property name="text">
-         <string>Anniversary Edition Folder:</string>
-        </property>
-       </widget>
-      </item>
-      <item row="1" column="1">
-       <layout class="QHBoxLayout" name="horizontalLayout_2">
-        <item>
-         <widget class="QLineEdit" name="leAEfolder"/>
-        </item>
-        <item>
-         <widget class="QPushButton" name="pbChooseAE">
+        <item row="1" column="0">
+         <widget class="QLabel" name="label_2">
           <property name="text">
-           <string>Choose</string>
+           <string>Anniversary Edition Folder:</string>
           </property>
          </widget>
         </item>
+        <item row="2" column="0">
+         <widget class="QLabel" name="label_3">
+          <property name="minimumSize">
+           <size>
+            <width>0</width>
+            <height>0</height>
+           </size>
+          </property>
+          <property name="text">
+           <string>Default Vago Window Resolution:</string>
+          </property>
+         </widget>
+        </item>
+        <item row="0" column="1">
+         <layout class="QHBoxLayout" name="horizontalLayout">
+          <item>
+           <widget class="QLineEdit" name="leWorkspace"/>
+          </item>
+          <item>
+           <widget class="QPushButton" name="pbChooseWorkspace">
+            <property name="text">
+             <string>Choose</string>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </item>
+        <item row="1" column="1">
+         <layout class="QHBoxLayout" name="horizontalLayout_2">
+          <item>
+           <widget class="QLineEdit" name="leAEfolder"/>
+          </item>
+          <item>
+           <widget class="QPushButton" name="pbChooseAE">
+            <property name="text">
+             <string>Choose</string>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </item>
+        <item row="2" column="1">
+         <layout class="QHBoxLayout" name="horizontalLayout_3">
+          <item>
+           <widget class="QLineEdit" name="leWidth">
+            <property name="placeholderText">
+             <string>Width</string>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QLabel" name="label_4">
+            <property name="text">
+             <string>x</string>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QLineEdit" name="leHeight">
+            <property name="placeholderText">
+             <string>Height</string>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </item>
        </layout>
       </item>
-      <item row="2" column="0">
+      <item>
        <widget class="QCheckBox" name="cbOniWindow">
         <property name="text">
@@ -76,5 +118,5 @@
        </widget>
       </item>
-      <item row="3" column="0" colspan="2">
+      <item>
        <widget class="QCheckBox" name="cbSeparate">
         <property name="toolTip">
@@ -90,5 +132,5 @@
        </widget>
       </item>
-      <item row="4" column="0" colspan="2">
+      <item>
        <widget class="QCheckBox" name="cbVagoExit">
         <property name="text">
Index: /Vago/trunk/Vago/readme.txt
===================================================================
--- /Vago/trunk/Vago/readme.txt	(revision 896)
+++ /Vago/trunk/Vago/readme.txt	(revision 897)
@@ -1,5 +1,5 @@
 Readme.txt
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Vago GUI v0.8
+Vago GUI v0.9
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -37,4 +37,16 @@
 ----------------------------------
 Change Log:
+----------------------------------
+0.9, 05-01-2014
+-Updated OniSplit to 0.9.94.0 version
+-Added option to open AE folder
+-Redesigned the tabs of file conversions and its options (thanks paradox!)
+-Windows version also starts with a resolution of 800x600 as Mac did before
+-Added option in preferences to user set up the default window resolution
+-Added option to abort conversion
+-Textures tab: TGA made as default image type for .oni conversions
+-Levels tab: Added option to extract only specific files from DAT files
+-Characters tab: Added option to convert TRAM XML > TRBS ONI
+-Characters tab: Added option to convert TRAM ONI > XML / XML & DAE
 ----------------------------------
 0.8, 01-04-2012
Index: /Vago/trunk/Vago/resources.qrc
===================================================================
--- /Vago/trunk/Vago/resources.qrc	(revision 896)
+++ /Vago/trunk/Vago/resources.qrc	(revision 897)
@@ -14,4 +14,5 @@
         <file>sound.png</file>
         <file>oni_icon_mac.png</file>
+        <file>abort.png</file>
     </qresource>
     <qresource prefix="/new/about">
Index: /Vago/trunk/Vago/soundWizard/soundpage2.ui
===================================================================
--- /Vago/trunk/Vago/soundWizard/soundpage2.ui	(revision 896)
+++ /Vago/trunk/Vago/soundWizard/soundpage2.ui	(revision 897)
@@ -21,5 +21,5 @@
     <widget class="QLabel" name="label">
      <property name="text">
-      <string>&lt;html&gt;Add here the files you want to convert. All the files will have the same properties applied.&lt;br/&gt;Don't forget to first convert the files to an oni compatible codec. More information &lt;a href=&quot; &quot;&gt;here.&lt;/a&gt;&lt;/html&gt;</string>
+      <string>Edit this text in soundpage2.cpp</string>
      </property>
      <property name="wordWrap">
Index: /Vago/trunk/Vago/soundWizard/soundpagefinal.ui
===================================================================
--- /Vago/trunk/Vago/soundWizard/soundpagefinal.ui	(revision 896)
+++ /Vago/trunk/Vago/soundWizard/soundpagefinal.ui	(revision 897)
@@ -18,5 +18,5 @@
     <widget class="QLabel" name="lbComplete">
      <property name="text">
-      <string>&lt;html&gt;The wizard is now complete. The sounds have been converted. You can view all converted files clicking &lt;a href=&quot; &quot;&gt;here.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Click restart to create more sounds from the wizard beggining, otherwise click finish.&lt;/html&gt;</string>
+      <string>The wizard is now complete. Edit this text in soundpagefinal.cpp</string>
      </property>
      <property name="wordWrap">
Index: /Vago/trunk/Vago/util.cpp
===================================================================
--- /Vago/trunk/Vago/util.cpp	(revision 896)
+++ /Vago/trunk/Vago/util.cpp	(revision 897)
@@ -101,4 +101,13 @@
         if(current.trimmed().isEmpty()){
             return true; //There are empty spaces
+        }
+    }
+    return false;
+}
+
+bool checkIfIntegers(QStringList toCheck){
+    foreach (QString current, toCheck){
+        if(!isStringInteger(current)){
+            return true; // Some aren't valid integers
         }
     }
@@ -235,3 +244,9 @@
 }
 
-}
+// From here: http://stackoverflow.com/questions/17893328/qt-getting-the-screen-resolution-without-the-extended-monitor ty Chris
+QRect getScreenResolution(){
+    QDesktopWidget widget;
+    return widget.availableGeometry(widget.primaryScreen()); // or screenGeometry(), depending on your needs
+}
+
+}
Index: /Vago/trunk/Vago/util.h
===================================================================
--- /Vago/trunk/Vago/util.h	(revision 896)
+++ /Vago/trunk/Vago/util.h	(revision 897)
@@ -10,7 +10,8 @@
 #include <QUrl>
 #include <QCoreApplication>
+#include <QDesktopWidget>
 
 namespace GlobalVars{
-const QString AppVersion="0.8";
+const QString AppVersion="0.9";
 const QString OniSplitString="OniSplit.exe";
 const QString XmlToolsString="xmlTools.exe";
@@ -27,5 +28,5 @@
 
 const QString AppLogName="logVago.txt";
-const QString BuiltOniSplitVersion="0.9.86.0";
+const QString BuiltOniSplitVersion="0.9.94.0";
 const QString BuiltXmlToolsVersion="0.8d";
 const QString ModsDomain="mods.oni2.net";
@@ -35,4 +36,6 @@
 const QString VagoTemporaryDir=QDir::tempPath()+"/VagoTemp";
 const QString HelpDir="help";
+const int DefaultWindowWidth=800;
+const int DefaultWindowHeight=600;
 const char OniSplitProcSeparator=';';
 }
@@ -54,4 +57,5 @@
 bool showQuestionPopUp(QWidget * parent, QString message);
 bool checkEmptySpaces(QStringList toCheck);
+bool checkIfIntegers(QStringList toCheck);
 bool checkIfDoubles(QStringList toCheck);
 bool isStringInteger(QString myString);
@@ -60,4 +64,5 @@
 bool rmDir(const QString &dirPath);
 bool removeDir(const QString &dirName);
+QRect getScreenResolution();
 void showPopUp(QString message);
 void showRichPopUp(QString message);
