Browse Source

ice skating

master
alistair 2 years ago
parent
commit
7e635184fa
  1. 27
      src/main.cpp
  2. 3
      src/player.cpp

27
src/main.cpp

@ -483,6 +483,7 @@ int main(int argc, char **argv) { @@ -483,6 +483,7 @@ int main(int argc, char **argv) {
float last_frametime = SDL_GetTicks();
//While application is running
glm::vec3 walk_direction = {};
while( !quit )
{
bool shademode = true;
@ -498,16 +499,20 @@ int main(int argc, char **argv) { @@ -498,16 +499,20 @@ int main(int argc, char **argv) {
if (e.type == SDL_KEYUP) {
switch (e.key.keysym.scancode) {
case SDL_SCANCODE_W:
cont.player_data->move(0, glm::vec3(0,0,1));
walk_direction.z = 0;
// cont.player_data->move(0, glm::vec3(0,0,1));
break;
case SDL_SCANCODE_S:
cont.player_data->move(0, glm::vec3(0,0,-1));
walk_direction.z = 0;
//cont.player_data->move(0, glm::vec3(0,0,-1));
break;
case SDL_SCANCODE_A:
cont.player_data->move(0, glm::vec3(-1,0,0));
walk_direction.x = 0;
//cont.player_data->move(0, glm::vec3(-1,0,0));
break;
case SDL_SCANCODE_D:
cont.player_data->move(0, glm::vec3(1,0,0));
walk_direction.x = 0;
//cont.player_data->move(0, glm::vec3(1,0,0));
break;
}
@ -531,16 +536,21 @@ int main(int argc, char **argv) { @@ -531,16 +536,21 @@ int main(int argc, char **argv) {
quit = true;
break;
case SDL_SCANCODE_W:
cont.player_data->move(camera_speed, glm::vec3(0,0,1));
walk_direction.z = 1;
//cont.player_data->move(camera_speed, glm::vec3(0,0,1));
break;
case SDL_SCANCODE_S:
cont.player_data->move(camera_speed, glm::vec3(0,0,-1));
//walk_direction.x = 0;
walk_direction.z = -1;
//cont.player_data->move(camera_speed, glm::vec3(0,0,-1));
break;
case SDL_SCANCODE_A:
cont.player_data->move(camera_speed, glm::vec3(-1,0,0));
walk_direction.x = -1;
// cont.player_data->move(camera_speed, glm::vec3(-1,0,0));
break;
case SDL_SCANCODE_D:
cont.player_data->move(camera_speed, glm::vec3(1,0,0));
walk_direction.x = 1;
//cont.player_data->move(camera_speed, glm::vec3(1,0,0));
break;
case SDL_SCANCODE_R:
glCheckError();
@ -568,6 +578,7 @@ int main(int argc, char **argv) { @@ -568,6 +578,7 @@ int main(int argc, char **argv) {
framestep = this_frametime - last_frametime;
last_frametime = this_frametime;
cont.player_data->move(camera_speed, walk_direction);
cont.player_data->update();
cont.update_camera();

3
src/player.cpp

@ -65,14 +65,13 @@ namespace player { @@ -65,14 +65,13 @@ namespace player {
glm::vec3 amount {};
direction = glm::normalize(direction);
auto left_direction = glm::cross(cam->front, cam->up);
amount += direction.x * left_direction;
amount += direction.y * cam->up;
amount += direction.z * cam->front;
amount = velocity * glm::normalize(amount);
amount *= velocity;
if (move_mode == movement::WALKING) {
amount *= glm::vec3(1,0,1);

Loading…
Cancel
Save