Revision: 2663
          http://rigsofrods.svn.sourceforge.net/rigsofrods/?rev=2663&view=rev
Author:   ulteq
Date:     2012-05-25 07:56:04 +0000 (Fri, 25 May 2012)
Log Message:
-----------
-Cleanup: prepares for anti roll back in auto transmission (DRIVE)

Modified Paths:
--------------
    trunk/source/main/gameplay/RoRFrameListener.cpp

Modified: trunk/source/main/gameplay/RoRFrameListener.cpp
===================================================================
--- trunk/source/main/gameplay/RoRFrameListener.cpp     2012-05-25 07:20:59 UTC 
(rev 2662)
+++ trunk/source/main/gameplay/RoRFrameListener.cpp     2012-05-25 07:56:04 UTC 
(rev 2663)
@@ -2209,7 +2209,7 @@
                                // replay mode
                                if (curr_truck->replaymode)
                                {
-                                       if 
(INPUTENGINE.getEventBoolValueBounce(EV_COMMON_REPLAY_FORWARD, 0.1f) && 
curr_truck->replaypos<=0)
+                                       if 
(INPUTENGINE.getEventBoolValueBounce(EV_COMMON_REPLAY_FORWARD, 0.1f) && 
curr_truck->replaypos <= 0)
                                        {
                                                curr_truck->replaypos++;
                                        }
@@ -2217,7 +2217,7 @@
                                        {
                                                curr_truck->replaypos--;
                                        }
-                                       if 
(INPUTENGINE.getEventBoolValueBounce(EV_COMMON_REPLAY_FAST_FORWARD, 0.1f) && 
curr_truck->replaypos+10<=0)
+                                       if 
(INPUTENGINE.getEventBoolValueBounce(EV_COMMON_REPLAY_FAST_FORWARD, 0.1f) && 
curr_truck->replaypos+10 <= 0)
                                        {
                                                curr_truck->replaypos+=10;
                                        }
@@ -2386,38 +2386,25 @@
 
                                                curr_truck->hydrodircommand = 
sum;
 
-                                               if 
((tmp_left_digital<tmp_left_analog) || (tmp_right_digital<tmp_right_analog))
-                                                       
curr_truck->hydroSpeedCoupling=false;
-                                               else
-                                                       
curr_truck->hydroSpeedCoupling=true;
-
-                                               // arcade_brake: brake + drive 
reverse + accelerate?
-                                               bool arcadeControls = 
BSETTING("ArcadeControls", false);
-
-                                               float accval = 
INPUTENGINE.getEventValue(EV_TRUCK_ACCELERATE);
-                                               float brake  = 
INPUTENGINE.getEventValue(EV_TRUCK_BRAKE);
-
-                                               // arcade controls are only 
working with auto-clutch!
-                                               if (!arcadeControls || 
curr_truck->engine->getAutoMode() > BeamEngine::SEMIAUTO)
+                                               if ((tmp_left_digital < 
tmp_left_analog) || (tmp_right_digital < tmp_right_analog))
                                                {
-                                                       // classic mode, 
realistic
-                                                       if (curr_truck->engine)
-                                                       {
-                                                               
curr_truck->engine->autoSetAcc(accval);
-                                                       }
-                                                       curr_truck->brake = 
brake * curr_truck->brakeforce;
+                                                       
curr_truck->hydroSpeedCoupling = false;
                                                } else
                                                {
-                                                       // start engine
-                                                       if (accval > 0 && 
curr_truck->engine && curr_truck->engine->hasContact() && 
!curr_truck->engine->isRunning())
-                                                       {
-                                                               
curr_truck->engine->start();
-                                                       }
+                                                       
curr_truck->hydroSpeedCoupling = true;
+                                               }
 
-                                                       // arcade controls: hey 
- people wanted it x| ... <- and it's convenient
-                                                       if 
(curr_truck->engine->getGear() >= 0)
+                                               if (curr_truck->engine)
+                                               {
+                                                       bool arcadeControls = 
BSETTING("ArcadeControls", false);
+
+                                                       float accval = 
INPUTENGINE.getEventValue(EV_TRUCK_ACCELERATE);
+                                                       float brake  = 
INPUTENGINE.getEventValue(EV_TRUCK_BRAKE);
+
+                                                       // arcade controls are 
only working with auto-clutch!
+                                                       if (!arcadeControls || 
curr_truck->engine->getAutoMode() > BeamEngine::SEMIAUTO)
                                                        {
-                                                               // neutral or 
drive forward, everything is as its used to be: brake is brake and accel. is 
accel.
+                                                               // classic 
mode, realistic
                                                                if 
(curr_truck->engine)
                                                                {
                                                                        
curr_truck->engine->autoSetAcc(accval);
@@ -2425,61 +2412,81 @@
                                                                
curr_truck->brake = brake * curr_truck->brakeforce;
                                                        } else
                                                        {
-                                                               // reverse 
gear, reverse controls: brake is accel. and accel. is brake.
-                                                               if 
(curr_truck->engine)
+                                                               // start engine
+                                                               if (accval > 0 
&& curr_truck->engine && curr_truck->engine->hasContact() && 
!curr_truck->engine->isRunning())
                                                                {
-                                                                       
curr_truck->engine->autoSetAcc(brake);
+                                                                       
curr_truck->engine->start();
                                                                }
-                                                               
curr_truck->brake = accval * curr_truck->brakeforce;
-                                                       }
 
-                                                       // only when the truck 
really is not moving anymore
-                                                       if 
(fabs(curr_truck->WheelSpeed) <= 0.1f && curr_truck->nodes[0].Velocity.length() 
< 0.2f)
-                                                       {
-                                                               // switching 
point, does the user want to drive forward from backward or the other way 
round? change gears?
-                                                               if (brake > 
0.5f && accval < 0.5f && curr_truck->engine->getGear() >= 0)
+                                                               // arcade 
controls: hey - people wanted it x| ... <- and it's convenient
+                                                               if 
(curr_truck->engine->getGear() >= 0)
                                                                {
-                                                                       // we 
are on the brake, jump to reverse gear
-                                                                       if 
(curr_truck->engine->getAutoMode() == BeamEngine::AUTOMATIC)
+                                                                       // 
neutral or drive forward, everything is as its used to be: brake is brake and 
accel. is accel.
+                                                                       if 
(curr_truck->engine)
                                                                        {
-                                                                               
curr_truck->engine->autoShiftSet(BeamEngine::REAR);
-                                                                       } else
+                                                                               
curr_truck->engine->autoSetAcc(accval);
+                                                                       }
+                                                                       
curr_truck->brake = brake * curr_truck->brakeforce;
+                                                               } else
+                                                               {
+                                                                       // 
reverse gear, reverse controls: brake is accel. and accel. is brake.
+                                                                       if 
(curr_truck->engine)
                                                                        {
-                                                                               
curr_truck->engine->setGear(-1);
+                                                                               
curr_truck->engine->autoSetAcc(brake);
                                                                        }
-                                                               } else if 
(brake < 0.5f && accval > 0.5f && curr_truck->engine->getGear() < 0)
+                                                                       
curr_truck->brake = accval * curr_truck->brakeforce;
+                                                               }
+
+                                                               // only when 
the truck really is not moving anymore
+                                                               if 
(fabs(curr_truck->WheelSpeed) <= 0.1f)
                                                                {
-                                                                       // we 
are on the gas pedal, jump to first gear when we were in rear gear
-                                                                       if 
(curr_truck->engine->getAutoMode() == BeamEngine::AUTOMATIC)
-                                                                       {       
                                                                
-                                                                               
curr_truck->engine->autoShiftSet(BeamEngine::DRIVE);
-                                                                       } else
+                                                                       // 
switching point, does the user want to drive forward from backward or the other 
way round? change gears?
+                                                                       if 
(brake > 0.5f && accval < 0.5f && curr_truck->engine->getGear() >= 0)
                                                                        {
-                                                                               
curr_truck->engine->setGear(1);
+                                                                               
// we are on the brake, jump to reverse gear
+                                                                               
if (curr_truck->engine->getAutoMode() == BeamEngine::AUTOMATIC)
+                                                                               
{
+                                                                               
        curr_truck->engine->autoShiftSet(BeamEngine::REAR);
+                                                                               
} else
+                                                                               
{
+                                                                               
        curr_truck->engine->setGear(-1);
+                                                                               
}
+                                                                       } else 
if (brake < 0.5f && accval > 0.5f && curr_truck->engine->getGear() < 0)
+                                                                       {
+                                                                               
// we are on the gas pedal, jump to first gear when we were in rear gear
+                                                                               
if (curr_truck->engine->getAutoMode() == BeamEngine::AUTOMATIC)
+                                                                               
{                                                                       
+                                                                               
        curr_truck->engine->autoShiftSet(BeamEngine::DRIVE);
+                                                                               
} else
+                                                                               
{
+                                                                               
        curr_truck->engine->setGear(1);
+                                                                               
}
                                                                        }
                                                                }
                                                        }
-                                               }
-#ifdef USE_OPENAL
-                                               if (curr_truck->brake > 
curr_truck->brakeforce/6.0)
-                                                       
SoundScriptManager::getSingleton().trigStart(curr_truck, SS_TRIG_BRAKE);
-                                               else
-                                                       
SoundScriptManager::getSingleton().trigStop(curr_truck, SS_TRIG_BRAKE);
-#endif //OPENAL
-                                               //IMI
-                                               // gear management -- it might 
should be transferred to a standalone function of Beam or RoRFrameListener
-                                               if (curr_truck->engine)
-                                               {
+
+                                                       // IMI
+                                                       // gear management -- 
it might, should be transferred to a standalone function of Beam or 
RoRFrameListener
                                                        if 
(curr_truck->engine->getAutoMode() == BeamEngine::AUTOMATIC)
                                                        {
-                                                               if 
(INPUTENGINE.getEventBoolValueBounce(EV_TRUCK_AUTOSHIFT_UP))         
curr_truck->engine->autoShiftUp();
-                                                               if 
(INPUTENGINE.getEventBoolValueBounce(EV_TRUCK_AUTOSHIFT_DOWN))       
curr_truck->engine->autoShiftDown();
+                                                               if 
(INPUTENGINE.getEventBoolValueBounce(EV_TRUCK_AUTOSHIFT_UP))
+                                                               {
+                                                                       
curr_truck->engine->autoShiftUp();
+                                                               }
+                                                               if 
(INPUTENGINE.getEventBoolValueBounce(EV_TRUCK_AUTOSHIFT_DOWN))
+                                                               {
+                                                                       
curr_truck->engine->autoShiftDown();
+                                                               }
                                                        }
-                                                       if 
(INPUTENGINE.getEventBoolValueBounce(EV_TRUCK_TOGGLE_CONTACT))       
curr_truck->engine->toggleContact();
 
-                                                       if 
(INPUTENGINE.getEventBoolValue(EV_TRUCK_STARTER) && 
curr_truck->engine->hasContact() && !curr_truck->replaymode)
+                                                       if 
(INPUTENGINE.getEventBoolValueBounce(EV_TRUCK_TOGGLE_CONTACT))
                                                        {
-                                                               //starter
+                                                               
curr_truck->engine->toggleContact();
+                                                       }
+
+                                                       if 
(INPUTENGINE.getEventBoolValue(EV_TRUCK_STARTER) && 
curr_truck->engine->hasContact())
+                                                       {
+                                                               // starter
                                                                
curr_truck->engine->setstarter(1);
 #ifdef USE_OPENAL
                                                                
SoundScriptManager::getSingleton().trigStart(curr_truck, SS_TRIG_STARTER);
@@ -2494,7 +2501,7 @@
 
                                                        if 
(INPUTENGINE.getEventBoolValueBounce(EV_TRUCK_SWITCH_SHIFT_MODES))
                                                        {
-                                                               //Toggle Auto 
shift
+                                                               // toggle Auto 
shift
                                                                
curr_truck->engine->toggleAutoMode();
 
                                                                // force gui 
update
@@ -2521,7 +2528,7 @@
 #endif //USE_MYGUI
                                                        }
 
-                                                       //joy clutch
+                                                       // joy clutch
                                                        float cval = 
INPUTENGINE.getEventValue(EV_TRUCK_MANUAL_CLUTCH);
                                                        
curr_truck->engine->setManualClutch(cval);
 
@@ -2634,15 +2641,27 @@
                                                                                
        }
                                                                                
}
                                                                        }
-                                                                       if 
(!found) curr_truck->engine->shiftTo(0);
+                                                                       if 
(!found)
+                                                                       {
+                                                                               
curr_truck->engine->shiftTo(0);
+                                                                       }
                                                                } // end of if 
(gear_changed)
                                                        } // end of shitmode > 
BeamEngine::MANUAL
                                                } // end of ->engine
+#ifdef USE_OPENAL
+                                               if (curr_truck->brake > 
curr_truck->brakeforce / 6.0f)
+                                               {
+                                                       
SoundScriptManager::getSingleton().trigStart(curr_truck, SS_TRIG_BRAKE);
+                                               } else
+                                               {
+                                                       
SoundScriptManager::getSingleton().trigStop(curr_truck, SS_TRIG_BRAKE);
+                                               }
+#endif // USE_OPENAL
                                        } // end of ->replaymode
 
                                        if 
(INPUTENGINE.getEventBoolValueBounce(EV_TRUCK_TOGGLE_AXLE_LOCK))
                                        {
-                                               //Toggle Auto shift
+                                               // toggle auto shift
                                                if 
(!curr_truck->getAxleLockCount())
                                                {
 #ifdef USE_MYGUI

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