Index: /code/branches/Presentation_HS17_merge/src/modules/asteroidmining/AsteroidMinable.cc
===================================================================
--- /code/branches/Presentation_HS17_merge/src/modules/asteroidmining/AsteroidMinable.cc	(revision 11738)
+++ /code/branches/Presentation_HS17_merge/src/modules/asteroidmining/AsteroidMinable.cc	(revision 11739)
@@ -115,5 +115,5 @@
     }
 
-    void AsteroidMinable::setSize(int s)
+    void AsteroidMinable::setSize(float s)
     {
         this->size = s;
@@ -214,8 +214,8 @@
     if (this->size <=1){return;} // Absicherung trivialer Fall
 
-    int massRem = this->size-1; //some mass is lost
-    int num = round(rnd()*(massRem-1)) + 1; // random number of children, at least one
+    float massRem = (this->size-1); //some mass is lost
+    int num = (int)roundf(rnd(massRem-1)) + 1; // random number of children, at least one
     if(num > 10){num = 10;} // no max function in C? 
-    std::vector<int> masses(num); // Masses of the asteroids
+    std::vector<float> masses(num); // Masses of the asteroids
     // orxout() << "SpawnChildren(): Passed basic stuff. num = " << num << "; massRem(total) = "<< massRem << endl;
     massRem = massRem-num; // mass must be at least one, add later.  
@@ -228,5 +228,5 @@
     for(int twat = 0; twat<num; ++twat)
     {
-        masses[twat] = 0;
+        masses[twat] = 0.0f;
         phi[twat] = 0.0f;
         theta[twat] = 0.0f;
@@ -236,6 +236,6 @@
     float d_p = 2*piG/num;
     float d_t = piG/num;
-    float p = d_p/2.0;
-    float t = d_t/2.0;
+    float p = d_p/2.0f;
+    float t = d_t/2.0f;
     // float phiOffset = rnd()*2*pi; // Added everywhere to become independent of the coordinate system?
     // float thetaOffset = rnd()*pi;
@@ -251,5 +251,5 @@
         for(int it = 0; it<num; ++it){
 
-            pos = mod((int)(rnd()*num),num); 
+            pos = mod((int)(rnd((float)num)),num);
             while(phi[pos] != 0.0){// find empty spot in array
                 pos = (int)mod(++pos, num);
@@ -257,5 +257,5 @@
             phi[pos] = p + it*d_p;// set angle there
 
-            pos = mod((int)(rnd()*num),num);
+            pos = mod((int)(rnd((float)num)),num);
             while(theta[pos] != 0.0){
                 pos = (int)mod(++pos, num);
@@ -271,15 +271,15 @@
     // Triangular, discrete probability "density" with max at the average value massRem/num. 50% chance to be below that. 
     if(massRem>0){
-        int c = massRem;
+        int c = (int)massRem;
         std::vector<float> probDensity(c);
 
-        int a = round(massRem/num);
+        int a = (int)roundf(massRem/num);
         int b = c-a;
         
         int z = 0;
-        float dProbA = 1.0/(a*a + 3.0*a + 2.0); // one 'probability unit' for discrete ramp function. Gauss stuff. 
+        float dProbA = 1.0f/(a*a + 3.0f*a + 2.0f); // one 'probability unit' for discrete ramp function. Gauss stuff.
         for(z = 0; z<a; ++z){probDensity[z] = (z+1)*dProbA; } // rising part
 
-        float dProbB = 1.0/(b*b +3.0*b + 2.0);
+        float dProbB = 1.0f/(b*b +3.0f*b + 2.0f);
         for(z = 0; z<b; ++z){probDensity[c-1-z] = (z+1)*dProbB;} // falling part
     
@@ -306,5 +306,5 @@
             }
 
-            masses[trav] = 1 +result; // Fragments have mass of at least one. 
+            masses[trav] = 1.0f + result; // Fragments have mass of at least one.
             massRem = massRem-result;
 
Index: /code/branches/Presentation_HS17_merge/src/modules/asteroidmining/AsteroidMinable.h
===================================================================
--- /code/branches/Presentation_HS17_merge/src/modules/asteroidmining/AsteroidMinable.h	(revision 11738)
+++ /code/branches/Presentation_HS17_merge/src/modules/asteroidmining/AsteroidMinable.h	(revision 11739)
@@ -94,6 +94,6 @@
             virtual void hit(Pawn* originator, btManifoldPoint& contactpoint, const btCollisionShape* cs, float damage, float healthdamage = 0.0f, float shielddamage = 0.0f);
 
-            void setSize(int s);
-            inline int getSize(){return this->size;}
+            void setSize(float s);
+            inline float getSize(){return this->size;}
 
             inline void setShattering(bool b){this->generateSmaller = b;}
@@ -105,5 +105,5 @@
         protected:
 
-            int size; //!< Implies health and type of dropped pickups
+            float size; //!< Implies health and type of dropped pickups
             bool generateSmaller; //!< Whether this asteroid leaves fragments
             bool dropStuff; //!< Whether this asteroid yields valuable stuff
Index: /code/branches/Presentation_HS17_merge/src/modules/asteroidmining/SpicedAsteroidBelt.cc
===================================================================
--- /code/branches/Presentation_HS17_merge/src/modules/asteroidmining/SpicedAsteroidBelt.cc	(revision 11738)
+++ /code/branches/Presentation_HS17_merge/src/modules/asteroidmining/SpicedAsteroidBelt.cc	(revision 11739)
@@ -88,11 +88,11 @@
         float myPi = 3.1415927410125732421875; //pi; // Math.pi ist statisch oder so. 
         float width = this->radius1 - this->radius0; if(width<0){width = -width;} // predefined abs?
-        float radius = (this->radius1 + this->radius0) / 2.0;
-        int segmentCount = round(this->count / this->segments);
+        float radius = (this->radius1 + this->radius0) / 2.0f;
+        int segmentCount = (int)roundf(this->count / this->segments);
 
         float dPhi = (2 * myPi) / this->segments;
-        float dTheta = 4.0*this->tiltBy/this->segments; 
+        float dTheta = 4.0f*this->tiltBy/this->segments;
         float sepp = -this->tiltAt;
-        float globi = (myPi/2.0) + this->tiltBy;
+        float globi = (myPi/2.0f) + this->tiltBy;
 
         for(int s = 0; s<segments; ++s){
Index: /code/branches/Presentation_HS17_merge/src/modules/asteroidmining/SpicedAsteroidBelt.h
===================================================================
--- /code/branches/Presentation_HS17_merge/src/modules/asteroidmining/SpicedAsteroidBelt.h	(revision 11738)
+++ /code/branches/Presentation_HS17_merge/src/modules/asteroidmining/SpicedAsteroidBelt.h	(revision 11739)
@@ -72,21 +72,21 @@
             inline float getMineralDensity(){return this->mDensity;}
 
-            inline void setPosition(Vector3 v){this->position = v;}
-            inline Vector3 getPosition(){return this->position;}
+            inline void setPosition(const Vector3& v){this->position = v;}
+            inline const Vector3& getPosition(){return this->position;}
 
             inline void setSegments(int s){this->segments = s;}
             inline int getSegments(){return this->segments;}
 
-            inline void setMaxSize(int i){this->maxSize = i;}
-            inline int getMaxSize(){return this->maxSize;}
+            inline void setMaxSize(float i){this->maxSize = i;}
+            inline float getMaxSize(){return this->maxSize;}
 
-            inline void setMinSize(int i){this->minSize = i;}
-            inline int getMinSize(){return this->minSize;}
+            inline void setMinSize(float i){this->minSize = i;}
+            inline float getMinSize(){return this->minSize;}
 
             inline void setRadius0(float r0){this->radius0 = r0;}
-            inline int getRadius0(){return this->radius0;}
+            inline float getRadius0(){return this->radius0;}
 
             inline void setRadius1(float r1){this->radius1 = r1;}
-            inline int getRadius1(){return this->radius1;}            
+            inline float getRadius1(){return this->radius1;}
 
             inline void setFog(bool f){this->foggy = f;}
@@ -111,6 +111,6 @@
             int segments; //!< Number of asteroidFields that get generated. 
             
-            int maxSize; //!< Most obese asteroid possible
-            int minSize; //!< Most meagre asteroid possible
+            float maxSize; //!< Most obese asteroid possible
+            float minSize; //!< Most meagre asteroid possible
 
             float radius0; //!< Inner radius
Index: /code/branches/Presentation_HS17_merge/src/modules/asteroidmining/SpicedAsteroidField.cc
===================================================================
--- /code/branches/Presentation_HS17_merge/src/modules/asteroidmining/SpicedAsteroidField.cc	(revision 11738)
+++ /code/branches/Presentation_HS17_merge/src/modules/asteroidmining/SpicedAsteroidField.cc	(revision 11739)
@@ -77,8 +77,8 @@
     void SpicedAsteroidField::create(){
 
-        int size;
-        int pX;
-        int pY;
-        int pZ;
+        float size;
+        float pX;
+        float pY;
+        float pZ;
 
         for(int gertrud = 0; gertrud<count; ++gertrud){
@@ -86,10 +86,10 @@
             AsteroidMinable* a = new AsteroidMinable(this->getContext());
 
-            size = round(rnd()*(this->maxSize - this->minSize)) + this->minSize;
+            size = roundf(rnd(this->maxSize - this->minSize)) + this->minSize;
             a->setSize(size); 
 
-            pX = round(rnd()*2*this->radius) - radius;
-            pY = round(rnd()*2*this->radius) - radius;
-            pZ = round(rnd()*2*this->radius) - radius;
+            pX = roundf(rnd(2*this->radius)) - radius;
+            pY = roundf(rnd(2*this->radius)) - radius;
+            pZ = roundf(rnd(2*this->radius)) - radius;
             Vector3 relPos(pX, pY, pZ);
             a->setPosition(this->position + relPos);
Index: /code/branches/Presentation_HS17_merge/src/modules/asteroidmining/SpicedAsteroidField.h
===================================================================
--- /code/branches/Presentation_HS17_merge/src/modules/asteroidmining/SpicedAsteroidField.h	(revision 11738)
+++ /code/branches/Presentation_HS17_merge/src/modules/asteroidmining/SpicedAsteroidField.h	(revision 11739)
@@ -60,21 +60,21 @@
             virtual void tick(float dt) override;
 
-            inline void setCount(float s){this->count = s;}
-            inline float getCount(){return this->count;}
+            inline void setCount(int s){this->count = s;}
+            inline int getCount(){return this->count;}
 
             inline void setMineralDensity(float d){this->mDensity = d;}
             inline float getMineralDensity(){return this->mDensity;}
 
-            inline void setPosition(Vector3 v){this->position = v;}
-            inline Vector3 getPosition(){return this->position;}
+            inline void setPosition(const Vector3& v){this->position = v;}
+            inline const Vector3& getPosition(){return this->position;}
 
-            inline void setMaxSize(int i){this->maxSize = i;}
-            inline int getMaxSize(){return this->maxSize;}
+            inline void setMaxSize(float i){this->maxSize = i;}
+            inline float getMaxSize(){return this->maxSize;}
 
-            inline void setMinSize(int i){this->minSize = i;}
-            inline int getMinSize(){return this->minSize;}
+            inline void setMinSize(float i){this->minSize = i;}
+            inline float getMinSize(){return this->minSize;}
 
             inline void setRadius(float r){this->radius = r;}
-            inline int getRadius(){return this->radius;}
+            inline float getRadius(){return this->radius;}
 
             inline void setFog(bool f){this->foggy = f;}
@@ -86,15 +86,15 @@
         protected:
 
-            float count; //!< Number of asteroids generated
+            int count; //!< Number of asteroids generated
             float mDensity; //!< Mineral density, between 0 and 1;
 
             Vector3 position; //!< The center
             
-            int maxSize; //!< Upper bound to asteroid size 
-            int minSize; //!< Lower bound to asteroid size
+            float maxSize; //!< Upper bound to asteroid size
+            float minSize; //!< Lower bound to asteroid size
 
             float radius; //!< Asteroids can appear within a sphere. 
             bool foggy; //!< Whether there's fog
-            float fogDensity; 
+            float fogDensity;
 
 
