Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
May 21, 2010, 10:25:27 AM (14 years ago)
Author:
scheusso
Message:

merged rocket branch into presentation3 and cleaned up some things (mostly debug output and intendation)

Location:
code/branches/presentation3
Files:
1 edited
1 copied

Legend:

Unmodified
Added
Removed
  • code/branches/presentation3

  • code/branches/presentation3/src/modules/weapons/RocketController.cc

    r6950 r6951  
    4343    RocketController::RocketController(BaseObject* creator) : Controller(creator)
    4444    {
    45                 RegisterObject(RocketController);
    46                 COUT(0)<< "RocketController constructed\n";
     45        RegisterObject(RocketController);
     46        COUT(5)<< "RocketController constructed\n";
    4747
    4848       
    49                 this->rocket = new SimpleRocket(this);
    50                 this->rocket->setController(this);
    51                 this->setControllableEntity(dynamic_cast<ControllableEntity*> (rocket));
    52                 this->haha=0;
     49        this->rocket = new SimpleRocket(this);
     50        this->rocket->setController(this);
     51        this->setControllableEntity(dynamic_cast<ControllableEntity*> (rocket));
     52        this->haha=0;
    5353    }
    5454
     
    6262    void RocketController::tick(float dt)
    6363    {
    64                 haha++;
     64        haha++;
    6565
    66                 //if (haha<30)this->rocket->setVelocity(rocket->getVelocity()*1.03);
    67                 if (this->target_) {
    68                         this->setTargetPosition();
    69                         this->moveToTargetPosition();
    70                 }
    71                 if (haha>500) rocket->setDestroy();;
    72        
    73         }
     66        //if (haha<30)this->rocket->setVelocity(rocket->getVelocity()*1.03);
     67        if (this->target_) {
     68            this->setTargetPosition();
     69            this->moveToTargetPosition();
     70        }
     71        if (haha>500) rocket->setDestroy();;
     72
     73    }
    7474
    7575
    76         RocketController::~RocketController() {
     76    RocketController::~RocketController()
     77    {
     78        COUT(5)<< "RocketController destroyed\n";
     79    }
    7780
    78                
    79                 COUT(0)<< "RocketController destroyed\n";
    80         }
    81 
    82         void RocketController::setTargetPosition() {
    83                 //this->targetPosition_=this->target_->getWorldPosition();
    84                 this->targetPosition_ = getPredictedPosition(this->getControllableEntity()->getWorldPosition(),this->getControllableEntity()->getVelocity().length() , this->target_->getWorldPosition(), this->target_->getVelocity());
    85         }
    86         void RocketController::moveToTargetPosition() {
    87                 this->moveToPosition(this->targetPosition_);
    88         }
     81    void RocketController::setTargetPosition()
     82    {
     83        //this->targetPosition_=this->target_->getWorldPosition();
     84        this->targetPosition_ = getPredictedPosition(this->getControllableEntity()->getWorldPosition(),this->getControllableEntity()->getVelocity().length() , this->target_->getWorldPosition(), this->target_->getVelocity());
     85    }
     86    void RocketController::moveToTargetPosition()
     87    {
     88        this->moveToPosition(this->targetPosition_);
     89    }
    8990
    9091
    9192
    92         void RocketController::setTarget(WorldEntity* target) {
    93                 this->target_ = target;
    94                 COUT(0)<<"got target\n";
    95         }
     93    void RocketController::setTarget(WorldEntity* target)
     94    {
     95        this->target_ = target;
     96        COUT(0)<<"got target\n";
     97    }
    9698
    97         void RocketController::moveToPosition(const Vector3& target)
     99    void RocketController::moveToPosition(const Vector3& target)
    98100    {
    99        if (!this->getControllableEntity())
     101        if (!this->getControllableEntity())
    100102            return;
    101            float dx = target.x-this->getControllableEntity()->getPosition().x;
    102            float dy = target.y-this->getControllableEntity()->getPosition().y;
    103            COUT(0)<<"\n diff: ";
    104            COUT(0)<<target-this->getControllableEntity()->getPosition() << endl;
    105            //COUT(0)<<"\n 2D view: ";
    106           /* COUT(0)<<this->getControllableEntity()->getPosition().x;
    107            COUT(0)<<" ";
    108            COUT(0)<<this->getControllableEntity()->getPosition().y;
    109            COUT(0)<<" ";
    110            COUT(0)<<this->getControllableEntity()->getPosition().z;
    111            COUT(0)<<"\n";*/
     103        float dx = target.x-this->getControllableEntity()->getPosition().x;
     104        float dy = target.y-this->getControllableEntity()->getPosition().y;
     105        COUT(4)<<"\n diff: ";
     106        COUT(4)<<target-this->getControllableEntity()->getPosition() << endl;
     107        //COUT(0)<<"\n 2D view: ";
     108        /* COUT(0)<<this->getControllableEntity()->getPosition().x;
     109        COUT(0)<<" ";
     110        COUT(0)<<this->getControllableEntity()->getPosition().y;
     111        COUT(0)<<" ";
     112        COUT(0)<<this->getControllableEntity()->getPosition().z;
     113        COUT(0)<<"\n";*/
    112114        Vector2 coord = get2DViewdirection(this->getControllableEntity()->getPosition(), this->getControllableEntity()->getOrientation() * WorldEntity::FRONT, this->getControllableEntity()->getOrientation() * WorldEntity::UP, target);
    113115        float distance = (target - this->getControllableEntity()->getPosition()).length();
    114                 //Vector3D diff =target-this->rocket->getPosition();
    115                 COUT(0) << "viewdirection: "<< coord << endl;
    116                 //COUT(0)<<"  ";
    117                 //COUT(0)<<coord.y;
     116        //Vector3D diff =target-this->rocket->getPosition();
     117        COUT(4) << "viewdirection: "<< coord << endl;
     118        //COUT(0)<<"  ";
     119        //COUT(0)<<coord.y;
    118120        this->getControllableEntity()->rotateYaw(-0.8f*sgn(coord.x)*coord.x*coord.x);
    119121        this->getControllableEntity()->rotatePitch(0.8f*sgn(coord.y)*coord.y*coord.y);
    120122//         this->getControllableEntity()->rotateYaw(10);
    121123//         this->getControllableEntity()->rotatePitch(0);
    122                 //this->getControllableEntity()->rotatePitch(rotation.getPitch().valueRadians());
    123                 //this->getControllableEntity()->rotateYaw(rotation.getYaw().valueRadians());
    124                 //this->getControllableEntity()->moveUpDown(coord.y);
    125                 //this->getControllableEntity()->moveRightLeft(coord.x);
    126                 //this->getControllableEntity()->rotatePitch(coord);
     124        //this->getControllableEntity()->rotatePitch(rotation.getPitch().valueRadians());
     125        //this->getControllableEntity()->rotateYaw(rotation.getYaw().valueRadians());
     126        //this->getControllableEntity()->moveUpDown(coord.y);
     127        //this->getControllableEntity()->moveRightLeft(coord.x);
     128        //this->getControllableEntity()->rotatePitch(coord);
    127129   //     if (this->target_ || distance > 10)
    128130   //     {
    129131   //         // Multiply with 0.8 to make them a bit slower
    130                         //this->getControllableEntity()->rotateYaw(coord.x );
     132            //this->getControllableEntity()->rotateYaw(coord.x );
    131133   //         this->getControllableEntity()->rotatePitch(coord.y);
    132                         //
    133134   //     }
    134135    }
Note: See TracChangeset for help on using the changeset viewer.