[Orxonox-commit 7296] r11913 - in code/branches/RacingBots_FS18: data/levels src/modules/gametypes src/orxonox/items src/orxonox/worldentities/pawns
arismu at orxonox.net
arismu at orxonox.net
Thu Apr 26 16:05:18 CEST 2018
Author: arismu
Date: 2018-04-26 16:05:17 +0200 (Thu, 26 Apr 2018)
New Revision: 11913
Modified:
code/branches/RacingBots_FS18/data/levels/newnewnewspacerace.oxw
code/branches/RacingBots_FS18/src/modules/gametypes/SpaceRace.cc
code/branches/RacingBots_FS18/src/modules/gametypes/SpaceRaceController.cc
code/branches/RacingBots_FS18/src/orxonox/items/Engine.cc
code/branches/RacingBots_FS18/src/orxonox/worldentities/pawns/SpaceShip.h
Log:
pickups, position of checkpoints are fixed
Modified: code/branches/RacingBots_FS18/data/levels/newnewnewspacerace.oxw
===================================================================
--- code/branches/RacingBots_FS18/data/levels/newnewnewspacerace.oxw 2018-04-26 14:03:15 UTC (rev 11912)
+++ code/branches/RacingBots_FS18/data/levels/newnewnewspacerace.oxw 2018-04-26 14:05:17 UTC (rev 11913)
@@ -20,7 +20,7 @@
include("templates/spaceshipPirate.oxt")
include("templates/spaceshipAssff.oxt")
- include("templates/pickupRepresentationTemplates.oxt")
+ include("templates/SpaceRaceTemplates.oxt")
?>
@@ -244,9 +244,9 @@
<BoxCollisionShape position="-70,0,0" halfExtents="10, 10, 70" />
</collisionShapes>
</RaceCheckPoint>
+ <Model mesh="cube.mesh" scale=2 position="3000,200,100"/>
+ <Model mesh="cube.mesh" scale=2 position="5000,100,500"/>
-
-
<RaceCheckPoint name="checkpoint2" yaw=90 pitch=90 position="3000,200,100" direction="0,1,0" roll="0" collisionType="static" scale="1" distance="60" checkpointindex="1" islast="false" nextcheckpoints="2,-1,-1">
<attached>
<Model position="0,0,0" scale="70" mesh="Checkpoint_InnerRing.mesh"/>
@@ -260,7 +260,7 @@
</RaceCheckPoint>
-<RaceCheckPoint name="checkpoint3" yaw=90 pitch=90 position="5000,100,500" direction="0,1,0" roll="0" collisionType="static" scale="1" distance="60" checkpointindex="2" islast="false" nextcheckpoints="3,-1,-1">
+<RaceCheckPoint name="checkpoint3" yaw=90 pitch=90 position="5000,-100,500" direction="0,1,0" roll="0" collisionType="static" scale="1" distance="60" checkpointindex="2" islast="false" nextcheckpoints="3,-1,-1">
<attached>
<Model position="0,0,0" scale="70" mesh="Checkpoint_InnerRing.mesh"/>
</attached>
@@ -286,7 +286,7 @@
</RaceCheckPoint>
-<RaceCheckPoint name="checkpoint5" yaw=90 pitch=90 position="10000,-200,200" direction="0,1,0" roll="0" collisionType="static" scale="1" distance="60" checkpointindex="4" islast="false" nextcheckpoints="5,-1,-1">
+<RaceCheckPoint name="checkpoint5" yaw=90 pitch=90 position="11000,-200,200" direction="0,1,0" roll="0" collisionType="static" scale="1" distance="60" checkpointindex="4" islast="false" nextcheckpoints="5,-1,-1">
<attached>
<Model position="0,0,0" scale="70" mesh="Checkpoint_InnerRing.mesh"/>
</attached>
@@ -300,7 +300,7 @@
-<RaceCheckPoint name="checkpoint6" yaw=90 pitch=90 position="13000,200,400" direction="0,1,0" roll="0" collisionType="static" scale="1" distance="60" checkpointindex="5" islast="false" nextcheckpoints="6,-1,-1">
+<RaceCheckPoint name="checkpoint6" yaw=90 pitch=90 position="13000,-50,400" direction="0,1,0" roll="0" collisionType="static" scale="1" distance="60" checkpointindex="5" islast="false" nextcheckpoints="6,-1,-1">
<attached>
<Model position="0,0,0" scale="70" mesh="Checkpoint_InnerRing.mesh"/>
</attached>
@@ -314,7 +314,7 @@
-<RaceCheckPoint name="checkpoint7" yaw=90 pitch=90 position="15000,0,0" direction="0,1,0" roll="0" collisionType="static" scale="1" distance="60" checkpointindex="6" islast="false" nextcheckpoints="7,-1,-1">
+<RaceCheckPoint name="checkpoint7" yaw=90 pitch=90 position="15500,0,0" direction="0,1,0" roll="0" collisionType="static" scale="1" distance="60" checkpointindex="6" islast="false" nextcheckpoints="7,-1,-1">
<attached>
<Model position="0,0,0" scale="70" mesh="Checkpoint_InnerRing.mesh"/>
</attached>
@@ -405,7 +405,7 @@
-<RaceCheckPoint name="checkpoint14" yaw=90 pitch=90 position="35000,120,20" direction="0,1,0" roll="0" collisionType="static" scale="1" distance="60" checkpointindex="13" islast="false" nextcheckpoints="14,-1,-1">
+<RaceCheckPoint name="checkpoint14" yaw=90 pitch=90 position="35000,700,20" direction="0,1,0" roll="0" collisionType="static" scale="1" distance="60" checkpointindex="13" islast="false" nextcheckpoints="14,-1,-1">
<attached>
<Model position="0,0,0" scale="70" mesh="Checkpoint_InnerRing.mesh"/>
</attached>
@@ -475,7 +475,7 @@
<BoxCollisionShape position="70,0,0" halfExtents="10, 10, 70" />
<BoxCollisionShape position="-70,0,0" halfExtents="10, 10, 70" />
</collisionShapes>
- </RaceCheckPoint>
+ </RaceCheckPoint>
<!-- the last checkpoint is bigger and red -->
<RaceCheckPoint name="checkpoint20" yaw=90 pitch=90 position="51000,0,0" direction="0,1,0" roll="0" collisionType="static" scale="1" distance="60" checkpointindex="19" islast="true">
@@ -488,7 +488,7 @@
<BoxCollisionShape position="90,0,0" halfExtents="13, 13, 90" />
<BoxCollisionShape position="-90,0,0" halfExtents="13, 13, 90" />
</collisionShapes>
- </RaceCheckPoint>
+ </RaceCheckPoint>
</checkpoints>
@@ -531,13 +531,12 @@
<!-- ---------------------PickUps---------------------- -->
- <PickupSpawner pickup=smallshrinkpickup position="10000,-200,200" triggerDistance="60" respawnTime="10" maxSpawnedItems="10" scale="8"/>
- <PickupSpawner pickup=mediumboostpickup position="24000,-150,-80" triggerDistance="60" respawnTime="10" maxSpawnedItems="8" scale="10"/>
+
+ <PickupSpawner pickup=mediumboostpickup position="24000,-165,-80" triggerDistance="60" respawnTime="10" maxSpawnedItems="8" scale="10"/>
<PickupSpawner pickup=smallboostpickup position="38000,-200,0" triggerDistance="60" respawnTime="10" maxSpawnedItems="8" scale="10"/>
- <PickupSpawner pickup=smallspeedpickup position="7000,-200,100" triggerDistance="60" respawnTime="10" maxSpawnedItems="8" scale="10"/>
- <PickupSpawner pickup=mediumshinkpickup position="16000,150,50" triggerDistance="60" respawnTime="10" maxSpawnedItems="8" scale="10"/>
- <PickupSpawner pickup=triplehealthspeedinvisibilitypickup position="41000,-300,100" triggerDistance="60" respawnTime="10" maxSpawnedItems="8" scale="10"/>
+ <PickupSpawner pickup=smallspeedpickup position="9000,-150,150" triggerDistance="60" respawnTime="10" maxSpawnedItems="8" scale="10"/>
+
</Scene>
</Level>
\ No newline at end of file
Modified: code/branches/RacingBots_FS18/src/modules/gametypes/SpaceRace.cc
===================================================================
--- code/branches/RacingBots_FS18/src/modules/gametypes/SpaceRace.cc 2018-04-26 14:03:15 UTC (rev 11912)
+++ code/branches/RacingBots_FS18/src/modules/gametypes/SpaceRace.cc 2018-04-26 14:05:17 UTC (rev 11913)
@@ -124,6 +124,7 @@
for (Engine* engine : ObjectList<Engine>())
{
engine->setActive(false);
+ engine->addSpeedMultiply(3.5f);
}
//append spawn positions to bots
Modified: code/branches/RacingBots_FS18/src/modules/gametypes/SpaceRaceController.cc
===================================================================
--- code/branches/RacingBots_FS18/src/modules/gametypes/SpaceRaceController.cc 2018-04-26 14:03:15 UTC (rev 11912)
+++ code/branches/RacingBots_FS18/src/modules/gametypes/SpaceRaceController.cc 2018-04-26 14:05:17 UTC (rev 11913)
@@ -234,48 +234,6 @@
return nullptr;
}
- /*RaceCheckPoint* SpaceRaceController::addVirtualCheckPoint( RaceCheckPoint* previousCheckpoint, int indexFollowingCheckPoint , const Vector3& virtualCheckPointPosition )
- {
- orxout()<<"add VCP at"<<virtualCheckPointPosition.x<<", "<<virtualCheckPointPosition.y<<", "<<virtualCheckPointPosition.z<<endl;
- RaceCheckPoint* newTempRaceCheckPoint;
- ObjectList<SpaceRaceManager> list;
- for (ObjectList<SpaceRaceManager>::iterator it = list.begin(); it!= list.end(); ++it)
- {
- newTempRaceCheckPoint = new RaceCheckPoint((*it));
- }
- newTempRaceCheckPoint->setVisible(false);
- newTempRaceCheckPoint->setPosition(virtualCheckPointPosition);
- newTempRaceCheckPoint->setCheckpointIndex(virtualCheckPointIndex);
- newTempRaceCheckPoint->setLast(false);
- newTempRaceCheckPoint->setNextVirtualCheckpointsAsVector3(Vector3(indexFollowingCheckPoint,-1,-1));
-
- Vector3 temp = previousCheckpoint->getVirtualNextCheckpointsAsVector3();
- //orxout()<<"temp bei 0: ="<< temp.x<< temp.y<< temp.z<<endl;
- checkpoints_.insert(checkpoints_.end(), newTempRaceCheckPoint);
- int positionInNextCheckPoint;
- for (int i = 0; i <3; i++)
- {
- if(previousCheckpoint->getVirtualNextCheckpointsAsVector3()[i] == indexFollowingCheckPoint)
- positionInNextCheckPoint=i;
- }
- switch(positionInNextCheckPoint)
- {
- case 0: temp.x=virtualCheckPointIndex; break;
- case 1: temp.y=virtualCheckPointIndex; break;
- case 2: temp.z=virtualCheckPointIndex; break;
- }
- previousCheckpoint->setNextVirtualCheckpointsAsVector3(temp); //Existiert internes Problem bei negativen index fueer next Checkpoint
- virtualCheckPointIndex--;
- //orxout()<<"temp bei 1: ="<< temp.x<< temp.y<< temp.z<<endl;
- //orxout()<<"temp nach ausgabe: "<<previousCheckpoint->getVirtualNextCheckpointsAsVector3().x<<previousCheckpoint->getVirtualNextCheckpointsAsVector3().y<<previousCheckpoint->getVirtualNextCheckpointsAsVector3().z<<endl;
- //OrxAssert(virtualCheckPointIndex < -1, "TO much virtual cp");
- orxout()<<"id: "<< previousCheckpoint->getCheckpointIndex() <<", following:"<<indexFollowingCheckPoint<<" : "<<temp.x<<", "<<temp.y<<", "<<temp.z<<"; ";
- temp=previousCheckpoint->getNextCheckpointsAsVector3();
- orxout()<<"id: "<< previousCheckpoint->getCheckpointIndex() <<": "<<temp.x<<", "<<temp.y<<", "<<temp.z<<"; ";
- orxout()<<endl;
- return newTempRaceCheckPoint;
- }*/
-
SpaceRaceController::~SpaceRaceController()
{
if (this->isInitialized())
@@ -379,165 +337,4 @@
return true;
}
-
- /*void SpaceRaceController::computeVirtualCheckpoint(RaceCheckPoint* racepoint1, RaceCheckPoint* racepoint2, const std::vector<StaticEntity*>& allObjects)
- {
- Vector3 cP1ToCP2=(racepoint2->getPosition()-racepoint1->getPosition()) / (racepoint2->getPosition()-racepoint1->getPosition()).length(); //unit Vector
- Vector3 centerCP1=racepoint1->getPosition();
- btVector3 positionObject;
- btScalar radiusObject;
-
- for (std::vector<StaticEntity*>::iterator it = allObjects.begin(); it != allObjects.end(); ++it)
- {
- for (int everyShape=0; (*it)->getAttachedCollisionShape(everyShape) != nullptr; everyShape++)
- {
- btCollisionShape* currentShape = (*it)->getAttachedCollisionShape(everyShape)->getCollisionShape();
- if(currentShape == nullptr)
- continue;
-
- currentShape->getBoundingSphere(positionObject,radiusObject);
- Vector3 positionObjectNonBT(positionObject.x(), positionObject.y(), positionObject.z());
- Vector3 norm_r_CP = cP1ToCP2.crossProduct(centerCP1-positionObjectNonBT);
-
- if(norm_r_CP.length() == 0){
- Vector3 zufall;
- do{
- zufall=Vector3(rnd(),rnd(),rnd());//random
- }while((zufall.crossProduct(cP1ToCP2)).length() == 0);
- norm_r_CP=zufall.crossProduct(cP1ToCP2);
- }
- Vector3 VecToVCP = norm_r_CP.crossProduct(cP1ToCP2);
- float distanzToCP1 = sqrt(powf(radiusObject,4)/(powf((centerCP1-positionObjectNonBT).length(), 2)-powf(radiusObject,2))+powf(radiusObject,2));
- float distanzToCP2 = sqrt(powf(radiusObject,4)/(powf((racepoint2->getPosition()-positionObjectNonBT).length(), 2)-powf(radiusObject,2))+powf(radiusObject,2));
- float distanz = std::max(distanzToCP1,distanzToCP2);
- //float distanz = 0.0f; //TEMPORARY
- Vector3 newCheckpointPositionPos = positionObjectNonBT+(distanz*VecToVCP)/VecToVCP.length();
- Vector3 newCheckpointPositionNeg = positionObjectNonBT-(distanz*VecToVCP)/VecToVCP.length();
- if((newCheckpointPositionPos - centerCP1).length() + (newCheckpointPositionPos - (centerCP1+cP1ToCP2)).length() < (newCheckpointPositionNeg - centerCP1).length() + (newCheckpointPositionNeg - (centerCP1+cP1ToCP2)).length() )
- {
- RaceCheckPoint* newVirtualCheckpoint = addVirtualCheckPoint(racepoint1,racepoint2->getCheckpointIndex(), newCheckpointPositionPos);
- }
- else
- {
- RaceCheckPoint* newVirtualCheckpoint = addVirtualCheckPoint(racepoint1,racepoint2->getCheckpointIndex(), newCheckpointPositionNeg);
- }
- return;
- }
- }
-
- }*/
-
- /*void SpaceRaceController::placeVirtualCheckpoints(RaceCheckPoint* racepoint1, RaceCheckPoint* racepoint2)
- {
- Vector3 point1 = racepoint1->getPosition();
- Vector3 point2 = racepoint2->getPosition();
- std::vector<StaticEntity*> problematicObjects;
-
- ObjectList<StaticEntity> list;
- for (ObjectList<StaticEntity>::iterator it = list.begin(); it!= list.end(); ++it)
- {
-
- if (dynamic_cast<RaceCheckPoint*>(*it) != nullptr)
- {
- continue;
- } // does not work jet
-
- problematicObjects.insert(problematicObjects.end(), *it);
- //it->getScale3D();// vector fuer halbe wuerfellaenge
- }
-
- if(!directLinePossible(racepoint1, racepoint2, problematicObjects))
- {
- //orxout()<<"From "<<racepoint1->getCheckpointIndex()<<" to "<<racepoint2->getCheckpointIndex()<<"produces: "<< virtualCheckPointIndex<<endl;
- computeVirtualCheckpoint(racepoint1, racepoint2, problematicObjects);
- }
-
- //
- // do{
- // zufall=Vector3(rnd(),rnd(),rnd());//random
- // }while((zufall.crossProduct(objectmiddle-racepoint1->getPosition())).length()==0);
- //
- // Vector3 normalvec=zufall.crossProduct(objectmiddle-racepoint1->getPosition());
- // // a'/b'=a/b => a' =b'*a/b
- // float laengeNormalvec=(objectmiddle-racepoint1->getPosition()).length()/sqrt((objectmiddle-racepoint1->getPosition()).squaredLength()-radius*radius)*radius;
- // addVirtualCheckPoint(racepoint1,racepoint2->getCheckpointIndex(), objectmiddle+normalvec/normalvec.length()*laengeNormalvec);
-
- // Vector3 richtungen [6];
- // richtungen[0]= Vector3(1,0,0);
- // richtungen[1]= Vector3(-1,0,0);
- // richtungen[2]= Vector3(0,1,0);
- // richtungen[3]= Vector3(0,-1,0);
- // richtungen[4]= Vector3(0,0,1);
- // richtungen[5]= Vector3(0,0,-1);
- //
- // for (int i = 0; i< 6; i++)
- // {
- // const int STEPS=100;
- // const float PHI=1.1;
- // bool collision=false;
- //
- // for (int j =0; j<STEPS; j++)
- // {
- // Vector3 tempPosition=(point1 - (point2-point1+richtungen[i]*PHI)*(float)j/STEPS);
- // for (std::vector<StaticEntity*>::iterator it = problematicObjects.begin(); it!=problematicObjects.end(); ++it)
- // {
- // btVector3 positionObject;
- // btScalar radiusObject;
- // if((*it)==nullptr)
- // { orxout()<<"Problempoint 1.1"<<endl; continue;}
- // //TODO: Probably it points on a wrong object
- // for (int everyShape=0; (*it)->getAttachedCollisionShape(everyShape)!=nullptr; everyShape++)
- // {
- // if((*it)->getAttachedCollisionShape(everyShape)->getCollisionShape()==nullptr)
- // { continue;}
- //
- // orxout()<<"Problempoint 2.1"<<endl;
- // (*it)->getAttachedCollisionShape(everyShape)->getCollisionShape()->getBoundingSphere(positionObject,radiusObject);
- // Vector3 positionObjectNonBT(positionObject.x(), positionObject.y(), positionObject.z());
- // if (((tempPosition - positionObjectNonBT).length()<radiusObject) && (vergleicheQuader((tempPosition-positionObjectNonBT),(*it)->getScale3D())))
- // {
- // collision=true; break;
- // }
- // }
- // if(collision) break;
- // }
- // if(collision)break;
- // }
- // if(collision) continue;
- // // no collision => possible Way
- // for (float j =0; j<STEPS; j++)
- // {
- // Vector3 possiblePosition=(point1 - (point2-point1+richtungen[i]*PHI)*j/STEPS);
- // collision=false;
- // for(int ij=0; ij<STEPS; j++)
- // {
- // Vector3 tempPosition=(possiblePosition - (point2-possiblePosition)*(float)ij/STEPS);
- // for (std::vector<StaticEntity*>::iterator it = problematicObjects.begin(); it!=problematicObjects.end(); ++it)
- // {
- // btVector3 positionObject;
- // btScalar radiusObject;
- // if((*it)==nullptr)
- // { orxout()<<"Problempoint 1"<<endl; continue;}
- // for (int everyShape=0; (*it)->getAttachedCollisionShape(everyShape)!=nullptr; everyShape++)
- // {
- // if((*it)->getAttachedCollisionShape(everyShape)->getCollisionShape()==nullptr)
- // { orxout()<<"Problempoint 2.2"<<endl; continue;}
- // (*it)->getAttachedCollisionShape(everyShape)->getCollisionShape()->getBoundingSphere(positionObject,radiusObject);
- // Vector3 positionObjectNonBT(positionObject.x(), positionObject.y(), positionObject.z());
- // if (((tempPosition-positionObjectNonBT).length()<radiusObject) && (vergleicheQuader((tempPosition-positionObjectNonBT),(*it)->getScale3D())))
- // {
- // collision=true; break;
- // }
- // }
- // if(collision) break;
- // }
- // if(collision)break;
- // //addVirtualCheckPoint(racepoint1, racepoint2->getCheckpointIndex(), possiblePosition);
- // return;
- // }
- //
- // }
- // }
-
- }*/
}
Modified: code/branches/RacingBots_FS18/src/orxonox/items/Engine.cc
===================================================================
--- code/branches/RacingBots_FS18/src/orxonox/items/Engine.cc 2018-04-26 14:03:15 UTC (rev 11912)
+++ code/branches/RacingBots_FS18/src/orxonox/items/Engine.cc 2018-04-26 14:05:17 UTC (rev 11913)
@@ -67,7 +67,7 @@
this->accelerationUpDown_ = 0.0f;
this->speedAdd_ = 0.0f;
- this->speedMultiply_ = 3.0f; //////////////////////////////////////////
+ this->speedMultiply_ = 1.0f; //////////////////////////////////////////
this->setConfigValues();
this->registerVariables();
Modified: code/branches/RacingBots_FS18/src/orxonox/worldentities/pawns/SpaceShip.h
===================================================================
--- code/branches/RacingBots_FS18/src/orxonox/worldentities/pawns/SpaceShip.h 2018-04-26 14:03:15 UTC (rev 11912)
+++ code/branches/RacingBots_FS18/src/orxonox/worldentities/pawns/SpaceShip.h 2018-04-26 14:05:17 UTC (rev 11913)
@@ -102,7 +102,7 @@
@param value A vector whose first component specifies the amount of movement. Positive means forward, negative means backward.
*/
virtual void moveFrontBack(const Vector2& value)
- { this->steering_.z -= (0.8)*value.x; }
+ { this->steering_.z -= (0.6)*value.x; }
/**
@brief Move right or left.
@param value A vector whose first component specifies the amount of movement. Positive means right, negative means left.
More information about the Orxonox-commit
mailing list