Revision: 2577
          http://rigsofrods.svn.sourceforge.net/rigsofrods/?rev=2577&view=rev
Author:   ulteq
Date:     2012-05-16 17:11:39 +0000 (Wed, 16 May 2012)
Log Message:
-----------
improved? a few configurator settings

Modified Paths:
--------------
    trunk/source/configurator/configurator.cpp
    trunk/source/main/physics/BeamFactory.cpp

Modified: trunk/source/configurator/configurator.cpp
===================================================================
--- trunk/source/configurator/configurator.cpp  2012-05-16 13:57:47 UTC (rev 
2576)
+++ trunk/source/configurator/configurator.cpp  2012-05-16 17:11:39 UTC (rev 
2577)
@@ -237,94 +237,96 @@
 
 //     void checkLinuxPaths();
        MyApp *app;
+
 private:
+
        //bool postinstall;
+       //wxButton *btnRemap;
+       //wxCheckBox *autodl;
+       //wxCheckBox *hydrax;
+       //wxCheckBox *rtshader;
+       //wxComboBox *ctrlTypeCombo;
+       //wxStaticText *controlText;
+       KeySelectDialog *kd;
        Ogre::Root *ogreRoot;
-       wxPanel *graphicsPanel;
-       wxPanel *gamePanel;
-       wxPanel *debugPanel;
-       wxPanel *settingsPanel;
-       wxPanel *rsPanel;
-       wxTextCtrl *gputext;
-       wxValueChoice *renderer;
-       std::vector<wxStaticText *>  renderer_text;
+       int controlItemCounter;
+       std::map<int,wxTreeItemId> treeItems;
        std::vector<std::string>     renderer_name;
+       std::vector<wxStaticText *>  renderer_text;
        std::vector<wxValueChoice *> renderer_choice;
-       wxValueChoice *textfilt;
-       wxValueChoice *inputgrab;
-       wxValueChoice *sky;
-       wxValueChoice *shadow;
-       wxCheckBox *shadowOptimizations;
-       wxSlider *sightRange;
-       wxStaticText *sightRangeText;
-       wxValueChoice *water;
-       wxCheckBox *waves;
-       wxCheckBox *replaymode;
-       wxCheckBox *dtm;
+       wxButton *btnAddKey;
+       wxButton *btnDeleteKey;
+       wxButton *btnUpdate, *btnToken;
        wxCheckBox *advanced_logging;
-       wxCheckBox *ingame_console;
-       wxCheckBox *dofdebug;
-       wxCheckBox *nocrashrpt;
-       wxCheckBox *debug_vidcam;
-       wxCheckBox *debug_envmap;
-       wxCheckBox *debug_triggers;
+       wxCheckBox *arcadeControls;
        wxCheckBox *beam_break_debug;
        wxCheckBox *beam_deform_debug;
-       wxCheckBox *dcm;
-       wxTextCtrl *fovint, *fovext;
-       wxTextCtrl *presel_map, *presel_truck;
-       wxCheckBox *particles;
-       wxCheckBox *heathaze;
-       //wxCheckBox *hydrax;
        wxCheckBox *collisions;
-       wxCheckBox *selfcollisions;
-       //wxCheckBox *rtshader;
+       wxCheckBox *creaksound;
+       wxCheckBox *dcm;
+       wxCheckBox *debug_envmap;
+       wxCheckBox *debug_triggers;
+       wxCheckBox *debug_vidcam;
        wxCheckBox *dismap;
-       //wxCheckBox *autodl;
-       wxCheckBox *posstor;
-       wxCheckBox *extcam;
-       wxCheckBox *arcadeControls;
-       wxCheckBox *mirror;
+       wxCheckBox *dof;
+       wxCheckBox *dofdebug;
+       wxCheckBox *dtm;
        wxCheckBox *envmap;
-       wxCheckBox *sunburn;
-       wxCheckBox *hdr;
+       wxCheckBox *extcam;
+       wxCheckBox *ffEnable;
        wxCheckBox *glow;
-       wxCheckBox *dof;
+       wxCheckBox *hdr;
+       wxCheckBox *heathaze;
+       wxCheckBox *ingame_console;
        wxCheckBox *mblur;
+       wxCheckBox *mirror;
+       wxCheckBox *nocrashrpt;
+       wxCheckBox *particles;
+       wxCheckBox *posstor;
+       wxCheckBox *replaymode;
+       wxCheckBox *selfcollisions;
+       wxCheckBox *shadowOptimizations;
        wxCheckBox *skidmarks;
-       wxCheckBox *creaksound;
-       wxValueChoice *sound;
-       wxSlider *soundVolume;
-       wxStaticText *soundVolumeText;
-       wxValueChoice *thread;
+       wxCheckBox *sunburn;
+       wxCheckBox *thread;
+       wxCheckBox *waves;
+       wxNotebook *nbook;
+       wxPanel *debugPanel;
+       wxPanel *gamePanel;
+       wxPanel *graphicsPanel;
+       wxPanel *rsPanel;
+       wxPanel *settingsPanel;
+       wxScrolledWindow *aboutPanel;
+       wxSlider *ffCamera;
+       wxSlider *ffCenter;
+       wxSlider *ffHydro;
+       wxSlider *ffOverall;
        wxSlider *fpsLimiter;
+       wxSlider *sightRange;
+       wxSlider *soundVolume;
+       wxStaticText *ffCameraText;
+       wxStaticText *ffCenterText;
+       wxStaticText *ffHydroText;
+       wxStaticText *ffOverallText;
        wxStaticText *fpsLimiterText;
+       wxStaticText *sightRangeText;
+       wxStaticText *soundVolumeText;
+       wxTextCtrl *fovint, *fovext;
+       wxTextCtrl *gputext;
+       wxTextCtrl *presel_map, *presel_truck;
+       wxTimer *timer1;
        wxValueChoice *flaresMode;
+       wxValueChoice *gearBoxMode;
+       wxValueChoice *inputgrab;
        wxValueChoice *languageMode;
-       wxValueChoice *vegetationMode;
+       wxValueChoice *renderer;
        wxValueChoice *screenShotFormat;
-       wxValueChoice *gearBoxMode;
-       wxCheckBox *ffEnable;
-       wxSlider *ffOverall;
-       wxStaticText *ffOverallText;
-       wxSlider *ffHydro;
-       wxStaticText *ffHydroText;
-       wxSlider *ffCenter;
-       wxStaticText *ffCenterText;
-       wxSlider *ffCamera;
-       wxStaticText *ffCameraText;
-       wxTimer *timer1;
-       wxNotebook *nbook;
-       wxScrolledWindow *aboutPanel;
-       //wxStaticText *controlText;
-       //wxComboBox *ctrlTypeCombo;
-       //wxButton *btnRemap;
-       wxButton *btnUpdate, *btnToken;
-       KeySelectDialog *kd;
-       int controlItemCounter;
-       wxButton *btnAddKey;
-       wxButton *btnDeleteKey;
-       std::map<int,wxTreeItemId> treeItems;
+       wxValueChoice *shadow;
+       wxValueChoice *sky;
+       wxValueChoice *sound;
+       wxValueChoice *textfilt;
+       wxValueChoice *vegetationMode;
+       wxValueChoice *water;
 
 #ifdef NETWORK
        wxCheckBox *network_enable;
@@ -1351,15 +1353,14 @@
 
        mblur=new wxCheckBox(graphicsPanel, -1, _("Motion blur"), 
wxPoint(x_row1, y));
        mblur->SetToolTip(_("Requires a recent video card. Adds a motion blur 
effect."));
-       mblur->Disable();
 
        skidmarks=new wxCheckBox(graphicsPanel, -1, _("Skidmarks"), 
wxPoint(x_row2, y));
        skidmarks->SetToolTip(_("Adds tire tracks to the ground."));
        skidmarks->Disable();
        y+=15;
 
-       envmap=new wxCheckBox(graphicsPanel, -1, _("High quality reflective 
effects"), wxPoint(x_row1, y));
-       envmap->SetToolTip(_("Enable high quality reflective effects. Causes a 
slowdown."));
+       envmap=new wxCheckBox(graphicsPanel, -1, _("HQ reflections"), 
wxPoint(x_row1, y));
+       envmap->SetToolTip(_("Enables high quality reflective effects. Causes a 
slowdown."));
        y+=15;
 
        glow=new wxCheckBox(graphicsPanel, -1, _("Glow"), wxPoint(x_row1, y));
@@ -1367,7 +1368,7 @@
        glow->Disable();
 
        dof=new wxCheckBox(graphicsPanel, -1, _("DOF"), wxPoint(x_row2, y));
-       dof->SetToolTip(_("Adds a nice Depth of field effect to the scene."));
+       dof->SetToolTip(_("Adds a nice depth of field effect to the scene."));
        y+=25;
 
        dText = new wxStaticText(graphicsPanel, -1, _("Screenshot Format:"), 
wxPoint(10, y));
@@ -1492,15 +1493,6 @@
        y+=35;
 #endif //USE_OPENAL
 
-       // Threads
-       dText = new wxStaticText(advancedPanel, -1, _("Thread number:"), 
wxPoint(10, y+3));
-       thread=new wxValueChoice(advancedPanel, -1, wxPoint(x_row1, y), 
wxSize(280, -1), 0);
-       thread->AppendValueItem(wxT("1 (Single Core CPU)"), _("1 (Single Core 
CPU)"));
-       thread->AppendValueItem(wxT("2 (Hyper-Threading or Dual core CPU)"), 
_("2 (Hyper-Threading or Dual core CPU)"));
-       //thread->AppendValueItem(wxT("3 (multi core CPU, one thread per 
truck)"), _("3 (multi core CPU, one thread per truck)"));
-       thread->SetToolTip(_("If you have a Hyper-Threading, or Dual core or 
multiprocessor computer,\nyou will have a huge gain in speed by choosing the 
second option.\nBut this mode has some camera shaking issues.\n"));
-       y+=35;
-
        // Lights
        dText = new wxStaticText(advancedPanel, -1, _("Light source effects:"), 
wxPoint(10, y+3));
        flaresMode=new wxValueChoice(advancedPanel, -1, wxPoint(x_row1, y), 
wxSize(280, -1), 0);
@@ -1555,14 +1547,18 @@
        dismap->SetToolTip(_("Disabled the map. This is for testing purposes 
only, you should not gain any FPS with that."));
        y+=15;
 
-       collisions=new wxCheckBox(advancedPanel, -1, _("Disable Collisions"), 
wxPoint(x_row1, y));
-       collisions->SetToolTip(_(""));
+       thread=new wxCheckBox(advancedPanel, -1, _("Disable multi-threading"), 
wxPoint(x_row1, y));
+       thread->SetToolTip(_("Disables the separate physics thread (might be an 
option to avoid camera stuttering)."));
        y+=15;
 
-       selfcollisions=new wxCheckBox(advancedPanel, -1, _("Disable Self 
Collisions"), wxPoint(x_row1, y));
-       selfcollisions->SetToolTip(_(""));
+       collisions=new wxCheckBox(advancedPanel, -1, _("Disable inter-vehicle 
collisions"), wxPoint(x_row1, y));
+       collisions->SetToolTip(_("Disables the inter-vehicle collision 
completely."));
        y+=15;
 
+       selfcollisions=new wxCheckBox(advancedPanel, -1, _("Adaptive 
inter-vehicle collisions"), wxPoint(x_row1, y));
+       selfcollisions->SetToolTip(_("Disables self-collision with only one 
activated vehicle (up to 100% FPS increase in single threading mode)."));
+       y+=15;
+
        // controls settings panel
 #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
 #if 0
@@ -2056,75 +2052,65 @@
 
 void MyDialog::SetDefaults()
 {
-       inputgrab->SetSelection(0);          // All
-       textfilt->SetSelection(3);           // anisotropic
-       sky->SetSelection(1);                // caelum
-       shadow->SetSelection(1);             // texture shadows
-       shadowOptimizations->SetValue(true);
-       sightRange->SetValue(5000);          // 5k = unlimited
-       water->SetSelection(0);              // basic water
-       waves->SetValue(false);              // no waves
-       vegetationMode->SetSelection(3);     // Full
-       particles->SetValue(true);
-       flaresMode->SetSelection(2);         // all trucks
-       fpsLimiter->SetValue(200);           // 200 = unlimited
-
-       ffEnable->SetValue(true);
-       ffOverall->SetValue(100);
-       ffHydro->SetValue(100);
-       ffCenter->SetValue(50);
-       ffCamera->SetValue(0);
-
-       //update textboxes
        wxScrollEvent dummye;
+       //autodl->SetValue(false);
+       //hydrax->SetValue(false);
+       //rtshader->SetValue(false);
+       //update textboxes
+       //wxCheckBox *dust;
        OnScrollForceFeedback(dummye);
-
-       screenShotFormat->SetSelection(0);
-       gearBoxMode->SetSelection(0);
-
-       replaymode->SetValue(false);
-       dtm->SetValue(false);
-       presel_map->SetValue(wxString());
-       presel_truck->SetValue(wxString());
-       fovint->SetValue(wxT("75"));
-       fovext->SetValue(wxT("60"));
        advanced_logging->SetValue(false);
-       ingame_console->SetValue(false);
-       dofdebug->SetValue(false);
-       nocrashrpt->SetValue(false);
-       debug_triggers->SetValue(false);
-       debug_vidcam->SetValue(false);
-       debug_envmap->SetValue(false);
+       arcadeControls->SetValue(false);
        beam_break_debug->SetValue(false);
        beam_deform_debug->SetValue(false);
-       dcm->SetValue(false);
-       //wxCheckBox *dust;
-       heathaze->SetValue(false);
-       //hydrax->SetValue(false);
-       //rtshader->SetValue(false);
        collisions->SetValue(false);
-       selfcollisions->SetValue(false);
+       dcm->SetValue(false);
+       debug_envmap->SetValue(false);
+       debug_triggers->SetValue(false);
+       debug_vidcam->SetValue(false);
        dismap->SetValue(false);
-       //autodl->SetValue(false);
-       posstor->SetValue(false);
-       extcam->SetValue(false);
-       arcadeControls->SetValue(false);
-       mirror->SetValue(true);
+       dof->SetValue(false);
+       dofdebug->SetValue(false);
+       dtm->SetValue(false);
        envmap->SetValue(true);
-       sunburn->SetValue(false);
-       hdr->SetValue(false);
+       extcam->SetValue(false);
+       ffCamera->SetValue(0);
+       ffCenter->SetValue(50);
+       ffEnable->SetValue(true);
+       ffHydro->SetValue(100);
+       ffOverall->SetValue(100);
+       flaresMode->SetSelection(2);         // all trucks
+       fovext->SetValue(wxT("60"));
+       fovint->SetValue(wxT("75"));
+       fpsLimiter->SetValue(200);           // 200 = unlimited
+       gearBoxMode->SetSelection(0);
        glow->SetValue(false);
-       dof->SetValue(false);
+       hdr->SetValue(false);
+       heathaze->SetValue(false);
+       ingame_console->SetValue(false);
+       inputgrab->SetSelection(0);          // All
        mblur->SetValue(false);
+       mirror->SetValue(true);
+       nocrashrpt->SetValue(false);
+       particles->SetValue(true);
+       posstor->SetValue(false);
+       presel_map->SetValue(wxString());
+       presel_truck->SetValue(wxString());
+       replaymode->SetValue(false);
+       screenShotFormat->SetSelection(0);
+       selfcollisions->SetValue(true);
+       shadow->SetSelection(1);             // texture shadows
+       shadowOptimizations->SetValue(true);
+       sightRange->SetValue(5000);          // 5k = unlimited
        skidmarks->SetValue(false);
-#ifdef USE_OPENAL
-       creaksound->SetValue(true);
-       sound->SetSelection(1);//default
-       soundVolume->SetValue(100);
-#endif // USE_OPENAL
+       sky->SetSelection(1);                // caelum
+       sunburn->SetValue(false);
+       textfilt->SetSelection(3);           // anisotropic
+       thread->SetValue(false);
+       vegetationMode->SetSelection(3);     // Full
+       water->SetSelection(0);              // basic water
+       waves->SetValue(false);              // no waves
 
-       thread->SetSelection(1); //2 CPUs is now the norm (incl. HyperThreading)
-
 #ifdef NETWORK
        network_enable->SetValue(false);
        nickname->SetValue(_("Anonymous"));
@@ -2134,104 +2120,90 @@
        usertoken->SetValue(wxString());
 #endif
 
+#ifdef USE_OPENAL
+       creaksound->SetValue(true);
+       sound->SetSelection(1); // default
+       soundVolume->SetValue(100);
+#endif // USE_OPENAL
+
        // update settings
        getSettingsControls();
 }
 
 void MyDialog::getSettingsControls()
 {
-       char tmp[255]="";
-
-       settings["Texture Filtering"] = textfilt->getSelectedValueAsSTDString();
-       settings["Input Grab"] = inputgrab->getSelectedValueAsSTDString();
-       settings["Sky effects"] = sky->getSelectedValueAsSTDString();
-       settings["Shadow technique"] = shadow->getSelectedValueAsSTDString();
-       
-       
-       sprintf(tmp, "%d", sightRange->GetValue());
-       settings["SightRange"] = tmp;
-       settings["Shadow optimizations"] = (shadowOptimizations->GetValue()) ? 
"Yes" : "No";
-
-       settings["Preselected Map"] = conv(presel_map->GetValue());
-       settings["Preselected Truck"] = conv(presel_truck->GetValue());
-
-       settings["FOV Internal"] = conv(fovint->GetValue());
-       settings["FOV External"] = conv(fovext->GetValue());
-
-       settings["Water effects"] = water->getSelectedValueAsSTDString();
-
-       settings["Waves"] = (waves->GetValue()) ? "Yes" : "No";
-       settings["Replay mode"] = (replaymode->GetValue()) ? "Yes" : "No";
-       settings["Debug Truck Mass"] = (dtm->GetValue()) ? "Yes" : "No";
+       //settings["AutoDownload"] = (autodl->GetValue()) ? "Yes" : "No";
+       //settings["Hydrax"] = (hydrax->GetValue()) ? "Yes" : "No";
+       //settings["Use RTShader System"] = (rtshader->GetValue()) ? "Yes" : 
"No";
        settings["Advanced Logging"] = (advanced_logging->GetValue()) ? "Yes" : 
"No";
-       settings["Enable Ingame Console"] = (ingame_console->GetValue()) ? 
"Yes" : "No";
-       settings["DOFDebug"] = (dofdebug->GetValue()) ? "Yes" : "No";
-       settings["NoCrashRpt"] = (nocrashrpt->GetValue()) ? "Yes" : "No";
-       settings["Trigger Debug"] = (debug_triggers->GetValue()) ? "Yes" : "No";
-       settings["VideoCameraDebug"] = (debug_vidcam->GetValue()) ? "Yes" : 
"No";
-       settings["EnvMapDebug"] = (debug_envmap->GetValue()) ? "Yes" : "No";
+       settings["ArcadeControls"] = (arcadeControls->GetValue()) ? "Yes" : 
"No";
        settings["Beam Break Debug"] = (beam_break_debug->GetValue()) ? "Yes" : 
"No";
        settings["Beam Deform Debug"] = (beam_deform_debug->GetValue()) ? "Yes" 
: "No";
+       settings["Configurator Size"] = TOSTRING(this->GetSize().x) + ", " + 
TOSTRING(this->GetSize().y);
+       settings["DOF"] = (dof->GetValue()) ? "Yes" : "No";
+       settings["DOFDebug"] = (dofdebug->GetValue()) ? "Yes" : "No";
        settings["Debug Collisions"] = (dcm->GetValue()) ? "Yes" : "No";
-       settings["Particles"] = (particles->GetValue()) ? "Yes" : "No";
-       settings["HeatHaze"] = "No"; //(heathaze->GetValue()) ? "Yes" : "No";
+       settings["Debug Truck Mass"] = (dtm->GetValue()) ? "Yes" : "No";
        settings["DisableCollisions"] = (collisions->GetValue()) ? "Yes" : "No";
        settings["DisableSelfCollisions"] = (selfcollisions->GetValue()) ? 
"Yes" : "No";
-       //settings["Hydrax"] = (hydrax->GetValue()) ? "Yes" : "No";
-       //settings["Use RTShader System"] = (rtshader->GetValue()) ? "Yes" : 
"No";
-       settings["disableOverViewMap"] = (dismap->GetValue()) ? "Yes" : "No";
-       //settings["AutoDownload"] = (autodl->GetValue()) ? "Yes" : "No";
-       settings["Position Storage"] = (posstor->GetValue()) ? "Yes" : "No";
-       settings["GearboxMode"]= gearBoxMode->getSelectedValueAsSTDString();
-       settings["External Camera Mode"] = (extcam->GetValue()) ? "Static" : 
"Pitching";
-       settings["ArcadeControls"] = (arcadeControls->GetValue()) ? "Yes" : 
"No";
-       settings["Mirrors"] = (mirror->GetValue()) ? "Yes" : "No";
+       settings["Enable Ingame Console"] = (ingame_console->GetValue()) ? 
"Yes" : "No";
+       settings["EnvMapDebug"] = (debug_envmap->GetValue()) ? "Yes" : "No";
        settings["Envmap"] = (envmap->GetValue()) ? "Yes" : "No";
-       settings["Sunburn"] = "No"; //(sunburn->GetValue()) ? "Yes" : "No";
-       settings["HDR"] = (hdr->GetValue()) ? "Yes" : "No";
-       settings["Glow"] = "No"; //(glow->GetValue()) ? "Yes" : "No";
-       settings["DOF"] = (dof->GetValue()) ? "Yes" : "No";
-       settings["Motion blur"] = "No"; //(mblur->GetValue()) ? "Yes" : "No";
-       settings["Skidmarks"] = "No"; //(skidmarks->GetValue()) ? "Yes" : "No";
        settings["Envmap"] = (envmap->GetValue()) ? "Yes" : "No";
-#ifdef USE_OPENAL
-       settings["Creak Sound"] = (creaksound->GetValue()) ? "No" : "Yes";
-       settings["AudioDevice"] = sound->getSelectedValueAsSTDString();
-       sprintf(tmp, "%d", soundVolume->GetValue());
-       settings["Sound Volume"] = tmp;
-#endif //USE_OPENAL
-       settings["Threads"] = thread->getSelectedValueAsSTDString();
-       sprintf(tmp, "%d", fpsLimiter->GetValue());
-       settings["FPS-Limiter"] = tmp;
+       settings["External Camera Mode"] = (extcam->GetValue()) ? "Static" : 
"Pitching";
+       settings["FOV External"] = conv(fovext->GetValue());
+       settings["FOV Internal"] = conv(fovint->GetValue());
+       settings["FPS-Limiter"] = TOSTRING(fpsLimiter->GetValue());
+       settings["Force Feedback Camera"] = TOSTRING(ffCamera->GetValue());
+       settings["Force Feedback Centering"] = TOSTRING(ffCenter->GetValue());
+       settings["Force Feedback Gain"] = TOSTRING(ffOverall->GetValue());
+       settings["Force Feedback Stress"] = TOSTRING(ffHydro->GetValue());
        settings["Force Feedback"] = (ffEnable->GetValue()) ? "Yes" : "No";
-       sprintf(tmp, "%d", ffOverall->GetValue());
-       settings["Force Feedback Gain"] = tmp;
-       sprintf(tmp, "%d", ffHydro->GetValue());
-       settings["Force Feedback Stress"] = tmp;
-       sprintf(tmp, "%d", ffCenter->GetValue());
-       settings["Force Feedback Centering"] = tmp;
-       sprintf(tmp, "%d", ffCamera->GetValue());
-       settings["Force Feedback Camera"] = tmp;
-
+       settings["GearboxMode"]= gearBoxMode->getSelectedValueAsSTDString();
+       settings["Glow"] = "No"; //(glow->GetValue()) ? "Yes" : "No";
+       settings["HDR"] = (hdr->GetValue()) ? "Yes" : "No";
+       settings["HeatHaze"] = "No"; //(heathaze->GetValue()) ? "Yes" : "No";
+       settings["Input Grab"] = inputgrab->getSelectedValueAsSTDString();
        settings["Lights"] = flaresMode->getSelectedValueAsSTDString();
-
+       settings["Mirrors"] = (mirror->GetValue()) ? "Yes" : "No";
+       settings["Motion blur"] = (mblur->GetValue()) ? "Yes" : "No";
+       settings["Multi-threading"] = (thread->GetValue()) ? "No" : "Yes";
+       settings["NoCrashRpt"] = (nocrashrpt->GetValue()) ? "Yes" : "No";
+       settings["Particles"] = (particles->GetValue()) ? "Yes" : "No";
+       settings["Position Storage"] = (posstor->GetValue()) ? "Yes" : "No";
+       settings["Preselected Map"] = conv(presel_map->GetValue());
+       settings["Preselected Truck"] = conv(presel_truck->GetValue());
+       settings["Replay mode"] = (replaymode->GetValue()) ? "Yes" : "No";
+       settings["Screenshot Format"] = 
screenShotFormat->getSelectedValueAsSTDString();
+       settings["Shadow optimizations"] = (shadowOptimizations->GetValue()) ? 
"Yes" : "No";
+       settings["Shadow technique"] = shadow->getSelectedValueAsSTDString();
+       settings["SightRange"] = TOSTRING(sightRange->GetValue());
+       settings["Skidmarks"] = "No"; //(skidmarks->GetValue()) ? "Yes" : "No";
+       settings["Sky effects"] = sky->getSelectedValueAsSTDString();
+       settings["Sunburn"] = "No"; //(sunburn->GetValue()) ? "Yes" : "No";
+       settings["Texture Filtering"] = textfilt->getSelectedValueAsSTDString();
+       settings["Trigger Debug"] = (debug_triggers->GetValue()) ? "Yes" : "No";
        settings["Vegetation"] = vegetationMode->getSelectedValueAsSTDString();
+       settings["VideoCameraDebug"] = (debug_vidcam->GetValue()) ? "Yes" : 
"No";
+       settings["Water effects"] = water->getSelectedValueAsSTDString();
+       settings["Waves"] = (waves->GetValue()) ? "Yes" : "No";
+       settings["disableOverViewMap"] = (dismap->GetValue()) ? "Yes" : "No";
 
-       settings["Screenshot Format"] = 
screenShotFormat->getSelectedValueAsSTDString();
-
-       wxSize s = this->GetSize();
-       sprintf(tmp, "%d, %d", s.x, s.y);
-       settings["Configurator Size"] = tmp;
-
 #ifdef NETWORK
        settings["Network enable"] = (network_enable->GetValue()) ? "Yes" : 
"No";
        settings["Nickname"] = conv(nickname->GetValue().SubString(0,20));
        settings["Server name"] = conv(servername->GetValue());
-       settings["Server port"] = conv(serverport->GetValue());
        settings["Server password"] = conv(serverpassword->GetValue());
+       settings["Server port"] = conv(serverport->GetValue());
        settings["User Token"] = conv(usertoken->GetValue());
 #endif
 
+#ifdef USE_OPENAL
+       settings["AudioDevice"] = sound->getSelectedValueAsSTDString();
+       settings["Creak Sound"] = (creaksound->GetValue()) ? "No" : "Yes";
+       settings["Sound Volume"] = TOSTRING(soundVolume->GetValue());
+#endif //USE_OPENAL
+
        // save language, if one is set
        if(avLanguages.size() > 0 && languageMode->GetSelection() > 0)
        {
@@ -2292,43 +2264,41 @@
        sound->setSelectedValue(settings["AudioDevice"]);
 #endif //USE_OPENAL
 
-       st = settings["Shadow optimizations"]; if (st.length()>0) 
shadowOptimizations->SetValue(st=="Yes");
-       st = settings["Waves"]; if (st.length()>0) waves->SetValue(st=="Yes");
-       st = settings["Replay mode"]; if (st.length()>0) 
replaymode->SetValue(st=="Yes");
+       //st = settings["AutoDownload"]; if (st.length()>0) 
autodl->SetValue(st=="Yes");
+       //st = settings["Glow"]; if (st.length()>0) glow->SetValue(st=="Yes");
+       //st = settings["Hydrax"]; if (st.length()>0) 
hydrax->SetValue(st=="Yes");
+       //st = settings["Skidmarks"]; if (st.length()>0) 
skidmarks->SetValue(st=="Yes");
+       //st = settings["Sunburn"]; if (st.length()>0) 
sunburn->SetValue(st=="Yes");
+       //st = settings["Use RTShader System"]; if (st.length()>0) 
rtshader->SetValue(st=="Yes");
+       st = settings["Advanced Logging"]; if (st.length()>0) 
advanced_logging->SetValue(st=="Yes");
+       st = settings["ArcadeControls"]; if (st.length()>0) 
arcadeControls->SetValue(st=="Yes");
        st = settings["Beam Break Debug"]; if (st.length()>0) 
beam_break_debug->SetValue(st=="Yes");
        st = settings["Beam Deform Debug"]; if (st.length()>0) 
beam_deform_debug->SetValue(st=="Yes");
-       st = settings["Debug Truck Mass"]; if (st.length()>0) 
dtm->SetValue(st=="Yes");
-       st = settings["Advanced Logging"]; if (st.length()>0) 
advanced_logging->SetValue(st=="Yes");
-       st = settings["Enable Ingame Console"]; if (st.length()>0) 
ingame_console->SetValue(st=="Yes");
+       st = settings["DOF"]; if (st.length()>0) dof->SetValue(st=="Yes");
        st = settings["DOFDebug"]; if (st.length()>0) 
dofdebug->SetValue(st=="Yes");
-       st = settings["NoCrashRpt"]; if (st.length()>0) 
nocrashrpt->SetValue(st=="Yes");
-       st = settings["Trigger Debug"]; if (st.length()>0) 
debug_triggers->SetValue(st=="Yes");
-       st = settings["VideoCameraDebug"]; if (st.length()>0) 
debug_vidcam->SetValue(st=="Yes");
-       st = settings["EnvMapDebug"]; if (st.length()>0) 
debug_envmap->SetValue(st=="Yes");
        st = settings["Debug Collisions"]; if (st.length()>0) 
dcm->SetValue(st=="Yes");
-
-       st = settings["Particles"]; if (st.length()>0) 
particles->SetValue(st=="Yes");
-       st = settings["HeatHaze"]; if (st.length()>0) 
heathaze->SetValue(st=="Yes");
+       st = settings["Debug Truck Mass"]; if (st.length()>0) 
dtm->SetValue(st=="Yes");
        st = settings["DisableCollisions"]; if (st.length()>0) 
collisions->SetValue(st=="Yes");
        st = settings["DisableSelfCollisions"]; if (st.length()>0) 
selfcollisions->SetValue(st=="Yes");
-       //st = settings["Hydrax"]; if (st.length()>0) 
hydrax->SetValue(st=="Yes");
-       //st = settings["Use RTShader System"]; if (st.length()>0) 
rtshader->SetValue(st=="Yes");
-       st = settings["disableOverViewMap"]; if (st.length()>0) 
dismap->SetValue(st=="Yes");
-       st = settings["External Camera Mode"]; if (st.length()>0) 
extcam->SetValue(st=="Static");
-       st = settings["ArcadeControls"]; if (st.length()>0) 
arcadeControls->SetValue(st=="Yes");
-       //st = settings["AutoDownload"]; if (st.length()>0) 
autodl->SetValue(st=="Yes");
-       st = settings["Position Storage"]; if (st.length()>0) 
posstor->SetValue(st=="Yes");
-       st = settings["Mirrors"]; if (st.length()>0) 
mirror->SetValue(st=="Yes");
+       st = settings["Enable Ingame Console"]; if (st.length()>0) 
ingame_console->SetValue(st=="Yes");
+       st = settings["EnvMapDebug"]; if (st.length()>0) 
debug_envmap->SetValue(st=="Yes");
        st = settings["Envmap"]; if (st.length()>0) envmap->SetValue(st=="Yes");
-       //st = settings["Sunburn"]; if (st.length()>0) 
sunburn->SetValue(st=="Yes");
+       st = settings["External Camera Mode"]; if (st.length()>0) 
extcam->SetValue(st=="Static");
        st = settings["HDR"]; if (st.length()>0) hdr->SetValue(st=="Yes");
-       //st = settings["Glow"]; if (st.length()>0) glow->SetValue(st=="Yes");
-       st = settings["DOF"]; if (st.length()>0) dof->SetValue(st=="Yes");
-       //st = settings["Motion blur"]; if (st.length()>0) 
mblur->SetValue(st=="Yes");
-       //st = settings["Skidmarks"]; if (st.length()>0) 
skidmarks->SetValue(st=="Yes");
+       st = settings["HeatHaze"]; if (st.length()>0) 
heathaze->SetValue(st=="Yes");
+       st = settings["Mirrors"]; if (st.length()>0) 
mirror->SetValue(st=="Yes");
+       st = settings["Motion blur"]; if (st.length()>0) 
mblur->SetValue(st=="Yes");
+       st = settings["Multi-threading"]; if (st.length()>0) 
thread->SetValue(st=="No");
+       st = settings["NoCrashRpt"]; if (st.length()>0) 
nocrashrpt->SetValue(st=="Yes");
+       st = settings["Particles"]; if (st.length()>0) 
particles->SetValue(st=="Yes");
+       st = settings["Position Storage"]; if (st.length()>0) 
posstor->SetValue(st=="Yes");
+       st = settings["Replay mode"]; if (st.length()>0) 
replaymode->SetValue(st=="Yes");
+       st = settings["Shadow optimizations"]; if (st.length()>0) 
shadowOptimizations->SetValue(st=="Yes");
+       st = settings["Trigger Debug"]; if (st.length()>0) 
debug_triggers->SetValue(st=="Yes");
+       st = settings["VideoCameraDebug"]; if (st.length()>0) 
debug_vidcam->SetValue(st=="Yes");
+       st = settings["Waves"]; if (st.length()>0) waves->SetValue(st=="Yes");
+       st = settings["disableOverViewMap"]; if (st.length()>0) 
dismap->SetValue(st=="Yes");
 
-       thread->setSelectedValue(settings["Threads"]);
-
        double flt = 0;
        st = settings["Force Feedback"]; if (st.length()>0) 
ffEnable->SetValue(st=="Yes");
        st = settings["Force Feedback Gain"]; if (st.length()>0 && 
conv(st).ToDouble(&flt)) ffOverall->SetValue(flt);
@@ -2558,13 +2528,12 @@
                // error starting
                return;
        }
-       // intentionally leak the process handle so the
-       // process object is not destroyed
-       // do NOT wait for the process to finish
-       // close handle properly to prevent the warning
-       //CloseHandle( pi.hProcess );
-       //CloseHandle( pi.hThread );    
+       // Wait until child process exits.
+       WaitForSingleObject(pi.hProcess, INFINITE);
+       CloseHandle(pi.hProcess);
+       CloseHandle(pi.hThread);
 #endif
+
 #if OGRE_PLATFORM == OGRE_PLATFORM_LINUX
        execl("./RoR.bin", "", (char *) 0);
 #endif
@@ -2574,7 +2543,6 @@
        LSOpenFSRef(&ref, NULL);
        //execl("./RoR.app/Contents/MacOS/RoR", "", (char *) 0);
 #endif
-
        Destroy();
        exit(0);
 }

Modified: trunk/source/main/physics/BeamFactory.cpp
===================================================================
--- trunk/source/main/physics/BeamFactory.cpp   2012-05-16 13:57:47 UTC (rev 
2576)
+++ trunk/source/main/physics/BeamFactory.cpp   2012-05-16 17:11:39 UTC (rev 
2577)
@@ -59,7 +59,7 @@
        for (int t=0; t < MAX_TRUCKS; t++)
                trucks[t] = 0;
 
-       if (SSETTING("Threads", "2 (Hyper-Threading or Dual core CPU)") == "2 
(Hyper-Threading or Dual core CPU)")
+       if (BSETTING("Multi-threading", true))
                Beam::thread_mode = THREAD_MULTI;
 
        if (BSETTING("2DReplay", false))

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Rigsofrods-devel mailing list
Rigsofrods-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rigsofrods-devel

Reply via email to