src/proto2/GameState.cc
author nireco
Tue, 02 Dec 2008 00:23:16 +0000
changeset 174 073f25a84f60
parent 170 fe74105c07ea
child 180 bfe1077edab3
permissions -rw-r--r--
removed bad comment
26
5685602aeb9c it works \o/
terom
parents:
diff changeset
     1
5685602aeb9c it works \o/
terom
parents:
diff changeset
     2
#include "GameState.hh"
94
08bebac3d0c2 Maalla liikkumista
ekku
parents: 66
diff changeset
     3
#include "Engine.hh"
26
5685602aeb9c it works \o/
terom
parents:
diff changeset
     4
96
4a801210096c fix movement physics+network code to some degree, jumping is now buggy?
terom
parents: 94
diff changeset
     5
void Player::handleMove (PlayerInput_Move input) {
108
1b93045a5b0a T?ht?in lis?tty, tosin se piirret??n tosi rumasti.
saiam
parents: 96
diff changeset
     6
    float fx = 0; // Force in x-direction
1b93045a5b0a T?ht?in lis?tty, tosin se piirret??n tosi rumasti.
saiam
parents: 96
diff changeset
     7
    float da = 0; // Crosshair angle
26
5685602aeb9c it works \o/
terom
parents:
diff changeset
     8
96
4a801210096c fix movement physics+network code to some degree, jumping is now buggy?
terom
parents: 94
diff changeset
     9
    // handle left/right
160
ba0b6f421a3c not anything big
nireco
parents: 153
diff changeset
    10
    if ((input & INPUT_MOVE_LEFT) && (velocity.x > -PLAYER_MAX_SPEED))
108
1b93045a5b0a T?ht?in lis?tty, tosin se piirret??n tosi rumasti.
saiam
parents: 96
diff changeset
    11
        fx -= PLAYER_MOVE_FORCE;
50
9e1a6506f5a1 some rough-handed code modifications towards a newer, better, working Physics
terom
parents: 26
diff changeset
    12
160
ba0b6f421a3c not anything big
nireco
parents: 153
diff changeset
    13
    if ((input & INPUT_MOVE_RIGHT) && (velocity.x < PLAYER_MAX_SPEED))
108
1b93045a5b0a T?ht?in lis?tty, tosin se piirret??n tosi rumasti.
saiam
parents: 96
diff changeset
    14
        fx += PLAYER_MOVE_FORCE;
94
08bebac3d0c2 Maalla liikkumista
ekku
parents: 66
diff changeset
    15
108
1b93045a5b0a T?ht?in lis?tty, tosin se piirret??n tosi rumasti.
saiam
parents: 96
diff changeset
    16
    if (input & INPUT_MOVE_UP)
1b93045a5b0a T?ht?in lis?tty, tosin se piirret??n tosi rumasti.
saiam
parents: 96
diff changeset
    17
        da += CROSSHAIR_ANGLE_SPEED;
1b93045a5b0a T?ht?in lis?tty, tosin se piirret??n tosi rumasti.
saiam
parents: 96
diff changeset
    18
1b93045a5b0a T?ht?in lis?tty, tosin se piirret??n tosi rumasti.
saiam
parents: 96
diff changeset
    19
    if (input & INPUT_MOVE_DOWN)
1b93045a5b0a T?ht?in lis?tty, tosin se piirret??n tosi rumasti.
saiam
parents: 96
diff changeset
    20
        da -= CROSSHAIR_ANGLE_SPEED;
1b93045a5b0a T?ht?in lis?tty, tosin se piirret??n tosi rumasti.
saiam
parents: 96
diff changeset
    21
170
fe74105c07ea jumppi toimii oikeisiin suuntiin
ekku
parents: 160
diff changeset
    22
    if (input & INPUT_MOVE_JUMP) {
fe74105c07ea jumppi toimii oikeisiin suuntiin
ekku
parents: 160
diff changeset
    23
        if ((input & INPUT_MOVE_LEFT))
fe74105c07ea jumppi toimii oikeisiin suuntiin
ekku
parents: 160
diff changeset
    24
            jump(-1);
fe74105c07ea jumppi toimii oikeisiin suuntiin
ekku
parents: 160
diff changeset
    25
        else if ((input & INPUT_MOVE_RIGHT))
fe74105c07ea jumppi toimii oikeisiin suuntiin
ekku
parents: 160
diff changeset
    26
            jump(1);
fe74105c07ea jumppi toimii oikeisiin suuntiin
ekku
parents: 160
diff changeset
    27
        else
fe74105c07ea jumppi toimii oikeisiin suuntiin
ekku
parents: 160
diff changeset
    28
            jump(0);
fe74105c07ea jumppi toimii oikeisiin suuntiin
ekku
parents: 160
diff changeset
    29
    }
114
71f7e9d3d052 V?h?n siistin tota walkkia, viel? on kyll? tekemist?.
saiam
parents: 108
diff changeset
    30
71f7e9d3d052 V?h?n siistin tota walkkia, viel? on kyll? tekemist?.
saiam
parents: 108
diff changeset
    31
    this->changeAim(da); // Move crosshair
71f7e9d3d052 V?h?n siistin tota walkkia, viel? on kyll? tekemist?.
saiam
parents: 108
diff changeset
    32
108
1b93045a5b0a T?ht?in lis?tty, tosin se piirret??n tosi rumasti.
saiam
parents: 96
diff changeset
    33
    // Player facing
1b93045a5b0a T?ht?in lis?tty, tosin se piirret??n tosi rumasti.
saiam
parents: 96
diff changeset
    34
    if (fx < 0) setFacing(false);
1b93045a5b0a T?ht?in lis?tty, tosin se piirret??n tosi rumasti.
saiam
parents: 96
diff changeset
    35
    else if (fx > 0) setFacing(true);
1b93045a5b0a T?ht?in lis?tty, tosin se piirret??n tosi rumasti.
saiam
parents: 96
diff changeset
    36
114
71f7e9d3d052 V?h?n siistin tota walkkia, viel? on kyll? tekemist?.
saiam
parents: 108
diff changeset
    37
    // Apply force
122
16a73ebca810 No warnings anymore, but well have to think about that applyForce
saiam
parents: 117
diff changeset
    38
    applyForce(Vector(fx, 0));
108
1b93045a5b0a T?ht?in lis?tty, tosin se piirret??n tosi rumasti.
saiam
parents: 96
diff changeset
    39
117
2877eef6c1d5 digging
nireco
parents: 116
diff changeset
    40
    // dig/shoot or something
2877eef6c1d5 digging
nireco
parents: 116
diff changeset
    41
    if (input & INPUT_MOVE_DIG) {
2877eef6c1d5 digging
nireco
parents: 116
diff changeset
    42
        // Should create Shot which destroys ground, but also should be destroyed then,
2877eef6c1d5 digging
nireco
parents: 116
diff changeset
    43
        // but it doesn't.
2877eef6c1d5 digging
nireco
parents: 116
diff changeset
    44
        // But this now just segfaults
2877eef6c1d5 digging
nireco
parents: 116
diff changeset
    45
//        world.addObject(new Shot(state, position, true));
2877eef6c1d5 digging
nireco
parents: 116
diff changeset
    46
153
73402d5b778e Lots of small fixe. Moved drawing PhysicsObjects away from Graphics.cc.
saiam
parents: 122
diff changeset
    47
        world.removeGround(position, 15);
117
2877eef6c1d5 digging
nireco
parents: 116
diff changeset
    48
    }
26
5685602aeb9c it works \o/
terom
parents:
diff changeset
    49
}
94
08bebac3d0c2 Maalla liikkumista
ekku
parents: 66
diff changeset
    50
08bebac3d0c2 Maalla liikkumista
ekku
parents: 66
diff changeset
    51
void Player::debugInfo (void) {
108
1b93045a5b0a T?ht?in lis?tty, tosin se piirret??n tosi rumasti.
saiam
parents: 96
diff changeset
    52
    Engine::log(DEBUG, "Player.debugInfo") << "In air: " << this->inAir;
94
08bebac3d0c2 Maalla liikkumista
ekku
parents: 66
diff changeset
    53
}
116
0d36aade845e some stuff, don't remember what
nireco
parents: 114
diff changeset
    54
0d36aade845e some stuff, don't remember what
nireco
parents: 114
diff changeset
    55
void Shot::onCollision() {
0d36aade845e some stuff, don't remember what
nireco
parents: 114
diff changeset
    56
//    world.removeGround(position, 20);
0d36aade845e some stuff, don't remember what
nireco
parents: 114
diff changeset
    57
}