Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
May 12, 2016, 4:02:21 PM (8 years ago)
Author:
tgidron
Message:

New Pickup + try to create ground from separate tiles

Location:
code/branches/tgidronFS16
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • code/branches/tgidronFS16

  • code/branches/tgidronFS16/cmake/CompilerConfigClang.cmake

    r11076 r11184  
    6464ADD_COMPILER_FLAGS("-Wno-deprecated" CXX CACHE)
    6565
    66 # Triggers lots of warnings in boost headers
    67 ADD_COMPILER_FLAGS("-Wno-unused-local-typedefs" CXX CACHE)
    68 
    6966# Clang doesn't like some narrowing bullet does
    7067ADD_COMPILER_FLAGS("-Wno-c++11-narrowing" CXX CACHE)
  • code/branches/tgidronFS16/data/levels/Hover.oxw

    r11182 r11184  
    2020<?lua
    2121MAZE_NUM_CELLS = 10
    22 MAZE_CELL_SIZE = 100
    23 MAZE_CELL_HEIGHT = 30
     22MAZE_CELL_SIZE = 600
     23MAZE_CELL_HEIGHT = 180
     24MAZE_WALL_THICKNESS = 10
    2425MAZE_SIZE = MAZE_NUM_CELLS*MAZE_CELL_SIZE
    2526?>
     
    5859            <StaticEntity>
    5960                <attached>
    60                     <Billboard position="0,0,0" colour="1.0,0.55,1.0" material="Sphere2" scale=0.1>
     61                    <Billboard position="0,50,0" colour="1.0,0.55,1.0" material="Sphere2" scale=1>
    6162                        <attached>
    6263                            <Billboard position="0,0,0" colour="1.0,0.55,1.0" material="Shrink" scale=0.35 />
     
    8788            <StaticEntity>
    8889                <attached>
    89                     <Billboard position="0,0,0" colour="0.99,0.96,0.52" material="Sphere2" scale=0.1>
     90                    <Billboard position="0,50,0" colour="0.99,0.96,0.52" material="Sphere2" scale=1>
    9091                        <attached>
    9192                            <Billboard position="0,0,0" colour="0.98,0.94,0.22" material="3arrowsup" scale=0.7 />
     
    116117            <StaticEntity>
    117118                <attached>
    118                     <Billboard position="0,0,0" colour="0.6,0.⁰,0.8" material="Sphere2" scale=0.1>
     119                    <Billboard position="0,50,0" colour="0.6,0.⁰,0.8" material="Sphere2" scale=1>
    119120                        <attached>
    120121                            <Billboard position="0,0,0" colour="0.6,0.⁰,0.8" material="Asterisk" scale=0.65 />
     
    136137    <Pawn team=1 health=30 position="0,100,0" direction="0,-1,0" collisionType=dynamic mass=100000 name=box RVName = "Box 4" >
    137138        <attached>
    138             <Model position="0,0,0" mesh="crate.mesh" scale3D="3,3,3" />
     139            <Model position="0,50,0" mesh="crate.mesh" scale3D="15,15,15" />
    139140        </attached>
    140141        <collisionShapes>
    141             <BoxCollisionShape position="0,0,0" halfExtents="15,15,15" />
     142            <BoxCollisionShape position="0,0,0" halfExtents="70,70,70" />
    142143        </collisionShapes>
    143144    </Pawn>
     
    156157
    157158
    158 
     159  <?lua
     160      for i = 1, 10, 1 do
     161          for j = 1,10 ,1 do
     162  ?>
     163
     164  <StaticEntity position="0,0,0" collisionType="static">
     165    <attached>
     166      <Model
     167        position="<?lua print(MAZE_CELL_SIZE*i)?>, -16, <?lua print(MAZE_CELL_SIZE*j)?>"
     168        scale3D="<?lua print(MAZE_CELL_SIZE*i)?>, 16, <?lua print(MAZE_CELL_SIZE*j)?>"
     169        mesh="CubeGround.mesh"
     170        />
     171    </attached>
     172      <collisionShapes>
     173        <BoxCollisionShape
     174          position="<?lua print(MAZE_CELL_SIZE*i)?>, <?lua print(MAZE_CELL_HEIGHT+1)?>, <?lua print(MAZE_CELL_SIZE*j)?>"
     175          halfExtents="<?lua print(MAZE_CELL_SIZE*i)?>,1,<?lua print(MAZE_CELL_SIZE*j)?>"
     176        />
     177        <BoxCollisionShape
     178          position="<?lua print(MAZE_CELL_SIZE*i)?>,-1,<?lua print(MAZE_CELL_SIZE*j)?>"
     179          halfExtents="<?lua print(MAZE_CELL_SIZE*i)?>,1,<?lua print(MAZE_CELL_SIZE*j)?>"
     180        />
     181      </collisionShapes>
     182
     183  <?lua
     184      end
     185    end
     186   ?>
     187
     188  </StaticEntity>
    159189
    160190  <Scene
    161191    ambientlight = "0.8, 0.8, 0.8"
    162192    skybox       = "Orxonox/Starbox"
    163     gravity      = "0, -200, 0"
     193    gravity      = "0, -300, 0"
    164194  >
    165195
     
    210240          pickuprepresentationtemplateshrink=smallshrinkpickupRepresentation
    211241        />
    212         <Model
    213           position="<?lua print(MAZE_SIZE/2)?>,-16,<?lua print(MAZE_SIZE/2)?>"
    214           scale3D="<?lua print(MAZE_SIZE/2)?>,16,<?lua print(MAZE_SIZE/2)?>"
    215           mesh="CubeGround.mesh"
    216         />
    217       </attached>
    218       <collisionShapes>
    219         <BoxCollisionShape
    220           position="<?lua print(MAZE_SIZE/2)?>,<?lua print(MAZE_CELL_HEIGHT+1)?>,<?lua print(MAZE_SIZE/2)?>"
    221           halfExtents="<?lua print(MAZE_SIZE/2)?>,1,<?lua print(MAZE_SIZE/2)?>"
    222         />
    223         <BoxCollisionShape
    224           position="<?lua print(MAZE_SIZE/2)?>,-1,<?lua print(MAZE_SIZE/2)?>"
    225           halfExtents="<?lua print(MAZE_SIZE/2)?>,1,<?lua print(MAZE_SIZE/2)?>"
    226         />
    227       </collisionShapes>
     242        </attached>
     243       
    228244    </StaticEntity>
    229245
     
    238254    <SpawnPoint
    239255      team=0
    240       position="50,20,50"
    241       lookat="100,20,100"
     256      position="300,120,300"
     257      lookat="600,120,600"
    242258      spawnclass=HoverShip
    243259      pawndesign=spaceshiphover
     
    247263</Level>
    248264
     265
     266
     267<!--<<Model
     268          position="<?lua print(MAZE_SIZE/2)?>,-16,<?lua print(MAZE_SIZE/2)?>"
     269          scale3D="<?lua print(MAZE_SIZE/2)?>,16,<?lua print(MAZE_SIZE/2)?>"
     270          mesh="ss_wall.mesh"
     271        />
     272      </attached>
     273     
     274      <collisionShapes>
     275        <BoxCollisionShape
     276          position="<?lua print(MAZE_SIZE/2)?>,<?lua print(MAZE_CELL_HEIGHT+1)?>,<?lua print(MAZE_SIZE/2)?>"
     277          halfExtents="<?lua print(MAZE_SIZE/2)?>,1,<?lua print(MAZE_SIZE/2)?>"
     278        />
     279        <BoxCollisionShape
     280          position="<?lua print(MAZE_SIZE/2)?>,-1,<?lua print(MAZE_SIZE/2)?>"
     281          halfExtents="<?lua print(MAZE_SIZE/2)?>,1,<?lua print(MAZE_SIZE/2)?>"
     282        />
     283      </collisionShapes> -->
  • code/branches/tgidronFS16/data/levels/emptyLevel.oxw

    r11052 r11184  
    1414<?lua
    1515  include("templates/spaceshipEscort.oxt")
     16  include("templates/spaceshipHover.oxt")
    1617?>
    1718
     
    2930    <Light type=directional position="0,0,0" direction="0.253, 0.593, -0.765" diffuse="1.0, 0.9, 0.9, 1.0" specular="1.0, 0.9, 0.9, 1.0"/>
    3031    <SpawnPoint team=0 position="-200,0,0" lookat="0,0,0" spawnclass=SpaceShip pawndesign=spaceshipescort />
     32
     33    <SpaceShip position="0,0,0" lookat="0,0,0" >
     34                         
     35        <templates>
     36          <Template link=spaceshiphover />
     37        </templates>
     38       
     39    </SpaceShip>
    3140   
    3241  </Scene>
  • code/branches/tgidronFS16/data/levels/includes/weaponSettingsHover.oxi

    r11177 r11184  
    11<weaponslots>
    2   <WeaponSlot position="-3,2,-3" />
    3   <WeaponSlot position=" 3,2,-3" />
     2  <WeaponSlot position="-10,2,-100" />
     3  <WeaponSlot position=" 10,2,-100" />
    44</weaponslots>
    55<weaponsets>
  • code/branches/tgidronFS16/data/levels/templates/spaceshipHover.oxt

    r11177 r11184  
    1818   reloadwaittime      = 0.5
    1919
    20    primaryThrust     = 200
     20   primaryThrust     = 2000
    2121   auxilaryThrust    = 1
    2222   rotationThrust    = 45
    2323
    24    jumpBoost = 110
     24   jumpBoost = 230
    2525
    2626   lift = 1;
    27    stallSpeed = 220;
     27   stallSpeed = 1400;
    2828
    2929   boostPower            = 10
     
    3333
    3434   collisionType     = "dynamic"
    35    mass              = 1000
     35   mass              = 100000
    3636   linearDamping     = 0.2
    3737   angularDamping    = 0.9999999
     
    4141    </engines>
    4242    <attached>
    43       <Model position="0,0,-20" mesh="hovership_body.mesh" scale="5" yaw=180/> 
    44       <Model position="0,0,-20" mesh="hovership_engine.mesh" scale="5" yaw=180/>       
    45       <Model position="0,0,-20" mesh="hovership_gun.mesh" scale="5" yaw=180/>   
     43      <Model position="0,0,-120" mesh="hovership_body.mesh" scale="30" yaw=180/>       
     44      <Model position="0,0,-120" mesh="hovership_engine.mesh" scale="30" yaw=180/>     
     45      <Model position="0,0,-120" mesh="hovership_gun.mesh" scale="30" yaw=180/>
    4646     
    4747    </attached>
    4848    <collisionShapes>
    49       <BoxCollisionShape position="0,-2 ,7" halfExtents="7, 4 ,30" />
     49      <BoxCollisionShape position="0,-12, 42" halfExtents="42, 24 ,180" />
    5050    </collisionShapes>
    5151    <explosion>
     
    6969  <SpaceShip>
    7070    <camerapositions>
    71       <CameraPosition position="0,8, 5" drag=true mouselook=true />
    72       <CameraPosition position="0,8,5" yaw="180" drag=true mouselook=true />
     71      <CameraPosition position="0, 48, 30" drag=true mouselook=true />
     72      <CameraPosition position="0, 48, 30" yaw="180" drag=true mouselook=true />
    7373    </camerapositions>
    7474  </SpaceShip>
     
    7979   boostfactor    = 2
    8080
    81    speedfront     = 150
    82    speedback      =  40
    83    speedleftright =  40
    84    speedupdown    =  40
     81   speedfront     = 1400
     82   speedback      =  800
     83   speedleftright =  600
     84   speedupdown    =  600
    8585
    86    accelerationfront     = 500
    87    accelerationbrake     = 500
     86   accelerationfront     = 1000
     87   accelerationbrake     = 1000
    8888   accelerationback      =  250
    89    accelerationleftright =  125
     89   accelerationleftright =  250
    9090   accelerationupdown    =  125
    9191  >
  • code/branches/tgidronFS16/src/libraries/core/command/TclThreadManager.cc

    r11071 r11184  
    410410            {
    411411                // This query would lead to a deadlock - return with an error
    412                 TclThreadManager::error("Circular query (" + this->dumpList(source_bundle->queriers_.getList()) + ' ' + multi_cast<std::string>(source_bundle->id_) \
    413                             + " -> " + multi_cast<std::string>(target_bundle->id_) \
    414                             + "), couldn't query Tcl-interpreter with ID " + multi_cast<std::string>(target_bundle->id_) \
     412                TclThreadManager::error("Circular query (" + this->dumpList(source_bundle->queriers_.getList()) + ' ' + multi_cast<std::string>(source_bundle->id_)
     413                            + " -> " + multi_cast<std::string>(target_bundle->id_)
     414                            + "), couldn't query Tcl-interpreter with ID " + multi_cast<std::string>(target_bundle->id_)
    415415                            + " from other interpreter with ID " + multi_cast<std::string>(source_bundle->id_) + '.');
    416416            }
  • code/branches/tgidronFS16/src/modules/hover/Hover.cc

    r11182 r11184  
    169169            Pawn* crate = new Pawn(origin_->getContext());
    170170
     171           
     172            crate->addTemplate(origin_->getObstacleTemplate()); 
    171173            crate->setPosition(get3dCoordinates(rand()%numCells, rand()%numCells, 10.0f));
    172             crate->addTemplate(origin_->getObstacleTemplate()); 
    173             crate->setInitialHealth(100.0f);
     174            //ate->setInitialHealth(100.0f);
    174175           
    175176
  • code/branches/tgidronFS16/src/modules/hover/HoverFlag.cc

    r11099 r11184  
    8787        model_ = new Model(this->getContext());
    8888        model_->setMeshSource("ss_flag_eu.mesh");
    89         model_->setScale3D(Vector3(5, 5, 5));
    90         model_->setPosition(Vector3(xCoordinate*cellSize*1.0f + cellSize/2,10.0f,yCoordinate*cellSize*1.0f + cellSize/2));
     89        model_->setScale3D(Vector3(30, 30, 30));
     90        model_->setPosition(Vector3(xCoordinate*cellSize*1.0f + cellSize/2,50.0f,yCoordinate*cellSize*1.0f + cellSize/2));
    9191
    9292        this->attach(model_);
    9393
    9494        cs_ = new BoxCollisionShape(this->getContext());
    95         cs_->setHalfExtents(Vector3(5, 5, 5));
     95        cs_->setHalfExtents(Vector3(30, 30, 30));
    9696        cs_->setPosition(Vector3(xCoordinate*cellSize*1.0f + cellSize/2,0.0f,yCoordinate*cellSize*1.0f + cellSize/2));
    9797
  • code/branches/tgidronFS16/src/modules/hover/HoverOrigin.cc

    r11182 r11184  
    4848        //not needed
    4949
    50         /*pickupTemplate_ = "";
     50        pickupTemplate_ = "";
    5151        pickupRepresentationTemplate_ = "";
    5252
     
    5656
    5757        pickupTemplateShrink_ = "";
    58         pickupRepresentationTemplateShrink_ = "";*/
     58        pickupRepresentationTemplateShrink_ = "";
    5959    }
    6060
  • code/branches/tgidronFS16/src/orxonox/Scene.h

    r11085 r11184  
    4848#include "network/synchronisable/Synchronisable.h"
    4949#include "tools/interfaces/Tickable.h"
     50#include "core/command/ConsoleCommandIncludes.h"
    5051
    5152namespace orxonox
  • code/branches/tgidronFS16/src/orxonox/gametypes/TeamGametype.cc

    r11071 r11184  
    141141    void TeamGametype::spawnDeadPlayersIfRequested()
    142142    {
    143         for (const auto& mapEntry : this->players_)\
     143        for (const auto& mapEntry : this->players_)
    144144        {
    145145            if(allowedInGame_[mapEntry.first] == false)//check if dead player is allowed to enter
  • code/branches/tgidronFS16/src/orxonox/weaponsystem/WeaponSystem.h

    r11071 r11184  
    5555            void removeWeaponSlot(WeaponSlot * wSlot);
    5656            WeaponSlot * getWeaponSlot(unsigned int index) const;
     57            inline const std::vector<WeaponSlot *>& getAllWeaponSlots() const
     58                { return weaponSlots_; }
    5759
    5860            // adding and removing WeaponSets
  • code/branches/tgidronFS16/src/orxonox/worldentities/pawns/Pawn.cc

    r11099 r11184  
    4949#include "weaponsystem/Munition.h"
    5050#include "sound/WorldSound.h"
     51#include "core/object/ObjectListIterator.h"
    5152
    5253#include "controllers/FormationController.h"
     
    5556{
    5657    RegisterClass(Pawn);
     58
     59    SetConsoleCommand("Pawn", "debugDrawWeapons", &Pawn::consoleCommand_debugDrawWeapons).addShortcut();
    5760
    5861    Pawn::Pawn(Context* context)
     
    168171    {
    169172        registerVariable(this->bAlive_,            VariableDirection::ToClient);
     173        registerVariable(this->bVulnerable_,       VariableDirection::ToClient);
    170174        registerVariable(this->health_,            VariableDirection::ToClient);
    171175        registerVariable(this->maxHealth_,         VariableDirection::ToClient);
     
    592596        return BLANKSTRING;
    593597    }
     598
     599    void Pawn::drawWeapons(bool bDraw)
     600    {
     601        if (bDraw)
     602        {
     603            std::vector<WeaponSlot*> weaponSlots = weaponSystem_->getAllWeaponSlots();
     604            int numWeaponSlots = weaponSlots.size();
     605            Vector3 slotPosition = Vector3::ZERO;
     606            Quaternion slotOrientation = Quaternion::IDENTITY;
     607            Model* slotModel = nullptr;
     608
     609            for (int i = 0; i < numWeaponSlots; ++i)
     610            {
     611                slotPosition = weaponSlots.at(i)->getPosition();
     612                slotOrientation = weaponSlots.at(i)->getOrientation();
     613                slotModel = new Model(this->getContext());
     614                slotModel->setMeshSource("Coordinates.mesh");
     615                slotModel->setScale(3.0f);
     616                slotModel->setOrientation(slotOrientation);
     617                slotModel->setPosition(slotPosition);
     618
     619                this->attach(slotModel);
     620                debugWeaponSlotModels_.push_back(slotModel);
     621            }
     622        }
     623        else
     624        {
     625            // delete all debug models
     626            for(Model* model : debugWeaponSlotModels_)
     627            {
     628                model->destroy();
     629            }
     630            debugWeaponSlotModels_.clear();
     631        }
     632    }
     633
     634    /*static*/ void Pawn::consoleCommand_debugDrawWeapons(bool bDraw)
     635    {
     636        if (bDraw)
     637        {
     638            orxout() << "WeaponSlot visualization enabled." << endl;
     639        }
     640        else
     641        {
     642            orxout() << "WeaponSlot visualization disabled." << endl;
     643        }
     644
     645        ObjectList<Pawn> pawnList;
     646        for (ObjectListIterator<Pawn> it = pawnList.begin(); it != pawnList.end(); ++it)
     647        {
     648            it->drawWeapons(bDraw);
     649        }
     650    }
    594651}
  • code/branches/tgidronFS16/src/orxonox/worldentities/pawns/Pawn.h

    r11071 r11184  
    218218                { return this->weaponSystem_; }
    219219
     220            static void consoleCommand_debugDrawWeapons(bool bDraw);
     221
    220222        protected:
    221223            virtual void preDestroy() override;
     
    233235
    234236            bool bAlive_;
    235             bool bVulnerable_; ///< If false the pawn may not ged damaged
     237            bool bVulnerable_; ///< If this is false, then the pawn may not take damage
    236238
    237239            virtual std::vector<PickupCarrier*>* getCarrierChildren(void) const override
     
    269271            inline void setWeaponSystem(WeaponSystem* weaponsystem)
    270272                { this->weaponSystem_ = weaponsystem; }
     273            void drawWeapons(bool bDraw);
    271274
    272275            Vector3 aimPosition_;
    273276
    274277            WorldSound* explosionSound_; // TODO: Does this really belong here? Maybe move it to BigExplosion?
     278
     279            std::vector<Model*> debugWeaponSlotModels_;
    275280
    276281    }; // tolua_export
  • code/branches/tgidronFS16/test/util/StringUtilsTest.cc

    r9114 r11184  
    267267        EXPECT_EQ(0, nocaseCmp("TesT", "teST"));
    268268
    269         EXPECT_EQ(strcmp("a", "b"), nocaseCmp("a", "b"));
    270         EXPECT_EQ(strcmp("b", "a"), nocaseCmp("b", "a"));
    271         EXPECT_EQ(strcmp("hello", "world"), nocaseCmp("hello", "world"));
     269        EXPECT_EQ(strcmp("a", "b") < 0, nocaseCmp("a", "b") < 0);
     270        EXPECT_EQ(strcmp("b", "a") > 0, nocaseCmp("b", "a") > 0);
     271        EXPECT_EQ(strcmp("hello", "world") < 0, nocaseCmp("hello", "world") < 0);
    272272    }
    273273
Note: See TracChangeset for help on using the changeset viewer.