Converted all the variable names from Lode's tutorial style to the one I use in prep for some review and cleanup.
This commit is contained in:
parent
0cbe20af35
commit
51972b0c35
6 changed files with 157 additions and 156 deletions
38
camera.cpp
38
camera.cpp
|
@ -5,45 +5,45 @@
|
|||
Point CameraLOL::plan_move(Raycaster &rayview, int dir, bool strafe) {
|
||||
t = 0.0;
|
||||
if(strafe) {
|
||||
targetX = rayview.$posX + int(-rayview.$dirY * 1.5 * dir);
|
||||
targetY = rayview.$posY + int(rayview.$dirX * 1.5 * dir);
|
||||
target_x = rayview.$pos_x + int(-rayview.$dir_y * 1.5 * dir);
|
||||
target_y = rayview.$pos_y + int(rayview.$dir_x * 1.5 * dir);
|
||||
} else {
|
||||
targetX = rayview.$posX + int(rayview.$dirX * 1.5 * dir);
|
||||
targetY = rayview.$posY + int(rayview.$dirY * 1.5 * dir);
|
||||
target_x = rayview.$pos_x + int(rayview.$dir_x * 1.5 * dir);
|
||||
target_y = rayview.$pos_y + int(rayview.$dir_y * 1.5 * dir);
|
||||
}
|
||||
|
||||
return {size_t(targetX), size_t(targetY)};
|
||||
return {size_t(target_x), size_t(target_y)};
|
||||
}
|
||||
|
||||
void CameraLOL::plan_rotate(Raycaster &rayview, int dir) {
|
||||
t = 0.0;
|
||||
double angle_dir = std::numbers::pi * 0.25 * dir;
|
||||
|
||||
targetDirX = rayview.$dirX * cos(angle_dir) - rayview.$dirY * sin(angle_dir);
|
||||
targetDirY = rayview.$dirX * sin(angle_dir) + rayview.$dirY * cos(angle_dir);
|
||||
target_dir_x = rayview.$dir_x * cos(angle_dir) - rayview.$dir_y * sin(angle_dir);
|
||||
target_dir_y = rayview.$dir_x * sin(angle_dir) + rayview.$dir_y * cos(angle_dir);
|
||||
|
||||
targetPlaneX = rayview.$planeX * cos(angle_dir) - rayview.$planeY * sin(angle_dir);
|
||||
targetPlaneY = rayview.$planeX * sin(angle_dir) + rayview.$planeY * cos(angle_dir);
|
||||
target_plane_x = rayview.$plane_x * cos(angle_dir) - rayview.$plane_y * sin(angle_dir);
|
||||
target_plane_y = rayview.$plane_x * sin(angle_dir) + rayview.$plane_y * cos(angle_dir);
|
||||
}
|
||||
|
||||
bool CameraLOL::play_rotate(Raycaster &rayview) {
|
||||
t += rotSpeed;
|
||||
rayview.$dirX = std::lerp(rayview.$dirX, targetDirX, t);
|
||||
rayview.$dirY = std::lerp(rayview.$dirY, targetDirY, t);
|
||||
rayview.$planeX = std::lerp(rayview.$planeX, targetPlaneX, t);
|
||||
rayview.$planeY = std::lerp(rayview.$planeY, targetPlaneY, t);
|
||||
t += rot_speed;
|
||||
rayview.$dir_x = std::lerp(rayview.$dir_x, target_dir_x, t);
|
||||
rayview.$dir_y = std::lerp(rayview.$dir_y, target_dir_y, t);
|
||||
rayview.$plane_x = std::lerp(rayview.$plane_x, target_plane_x, t);
|
||||
rayview.$plane_y = std::lerp(rayview.$plane_y, target_plane_y, t);
|
||||
|
||||
return t > 1.0;
|
||||
}
|
||||
|
||||
bool CameraLOL::play_move(Raycaster &rayview) {
|
||||
t += moveSpeed;
|
||||
rayview.$posX = std::lerp(rayview.$posX, targetX, t);
|
||||
rayview.$posY = std::lerp(rayview.$posY, targetY, t);
|
||||
t += move_speed;
|
||||
rayview.$pos_x = std::lerp(rayview.$pos_x, target_x, t);
|
||||
rayview.$pos_y = std::lerp(rayview.$pos_y, target_y, t);
|
||||
return t >= 1.0;
|
||||
}
|
||||
|
||||
void CameraLOL::abort_plan(Raycaster &rayview) {
|
||||
targetX = rayview.$posX;
|
||||
targetY = rayview.$posY;
|
||||
target_x = rayview.$pos_x;
|
||||
target_y = rayview.$pos_y;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue