Only apply new behaviour to x direction only
parent
f8eab8acec
commit
d1d8033b77
|
@ -1809,14 +1809,15 @@ void camera_update_system(Scene_t* scene)
|
||||||
target_pos = p_ctransform->position;
|
target_pos = p_ctransform->position;
|
||||||
target_vel = p_ctransform->velocity;
|
target_vel = p_ctransform->velocity;
|
||||||
CMovementState_t* p_movement = get_component(p_player, CMOVEMENTSTATE_T);
|
CMovementState_t* p_movement = get_component(p_player, CMOVEMENTSTATE_T);
|
||||||
target_pos.x += (p_movement->x_dir == 1) ? width/8: -width/8;
|
target_pos.x += (p_movement->x_dir == 1) ? width/6: -width/6;
|
||||||
target_pos.y -= height / 8;
|
//target_pos.y -= height / 8;
|
||||||
//target_pos.y += p_ctransform->velocity.y * 0.08;
|
//target_pos.y += p_ctransform->velocity.y * 0.08;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Mass-Spring damper update
|
// Mass-Spring damper update
|
||||||
Vector2 x = Vector2Subtract(target_pos, data->camera.cam.target);
|
Vector2 x = Vector2Subtract(target_pos, data->camera.cam.target);
|
||||||
Vector2 v = Vector2Subtract(data->camera.current_vel, target_vel);
|
Vector2 v = Vector2Subtract(data->camera.current_vel, target_vel);
|
||||||
|
//Vector2 v = data->camera.current_vel;
|
||||||
Vector2 F =
|
Vector2 F =
|
||||||
Vector2Subtract(
|
Vector2Subtract(
|
||||||
Vector2Scale(x, data->camera.k),
|
Vector2Scale(x, data->camera.k),
|
||||||
|
@ -1834,6 +1835,7 @@ void camera_update_system(Scene_t* scene)
|
||||||
Vector2Scale(a_dt, dt*0.5f)
|
Vector2Scale(a_dt, dt*0.5f)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
data->camera.cam.target.y = target_pos.y;
|
||||||
data->camera.current_vel = Vector2Add(data->camera.current_vel, a_dt);
|
data->camera.current_vel = Vector2Add(data->camera.current_vel, a_dt);
|
||||||
|
|
||||||
Vector2 max = GetWorldToScreen2D(
|
Vector2 max = GetWorldToScreen2D(
|
||||||
|
|
|
@ -14,8 +14,8 @@ void init_level_scene_data(LevelSceneData_t* data, uint32_t max_tiles, Tile_t* t
|
||||||
memset(&data->camera, 0, sizeof(LevelCamera_t));
|
memset(&data->camera, 0, sizeof(LevelCamera_t));
|
||||||
data->camera.cam.rotation = 0.0f;
|
data->camera.cam.rotation = 0.0f;
|
||||||
data->camera.cam.zoom = 1.0f;
|
data->camera.cam.zoom = 1.0f;
|
||||||
data->camera.mass = 0.33f;
|
data->camera.mass = 0.2f;
|
||||||
data->camera.k = 3.2f;
|
data->camera.k = 6.2f;
|
||||||
data->camera.c = 2.2f;
|
data->camera.c = 2.2f;
|
||||||
|
|
||||||
data->tilemap.max_tiles = max_tiles;
|
data->tilemap.max_tiles = max_tiles;
|
||||||
|
|
Loading…
Reference in New Issue