From 9c0e927f4f5714077d5bbbb542e239478bf76117 Mon Sep 17 00:00:00 2001 From: Arsenics1501 <145995101+Arsenics1501@users.noreply.github.com> Date: Sat, 13 Jan 2024 15:50:54 +0800 Subject: [PATCH 01/14] Update regular_ball.cpp --- src/GameBall/logic/units/regular_ball.cpp | 74 +++++++++++------------ 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/src/GameBall/logic/units/regular_ball.cpp b/src/GameBall/logic/units/regular_ball.cpp index af1cc95..7164719 100644 --- a/src/GameBall/logic/units/regular_ball.cpp +++ b/src/GameBall/logic/units/regular_ball.cpp @@ -45,43 +45,43 @@ void RegularBall::UpdateTick() { auto physics_world = world_->PhysicsWorld(); auto &sphere = physics_world->GetSphere(sphere_id_); - // auto owner = world_->GetPlayer(player_id_); - // if (owner) { - // if (UnitId() == owner->PrimaryUnitId()) { - // auto input = owner->TakePlayerInput(); - // - // glm::vec3 forward = glm::normalize(glm::vec3{input.orientation}); - // glm::vec3 right = - // glm::normalize(glm::cross(forward, glm::vec3{0.0f, 1.0f, 0.0f})); - // - // glm::vec3 moving_direction{}; - // - // float angular_acceleration = glm::radians(2880.0f); - // - // if (input.move_forward) { - // moving_direction -= right; - // } - // if (input.move_backward) { - // moving_direction += right; - // } - // if (input.move_left) { - // moving_direction -= forward; - // } - // if (input.move_right) { - // moving_direction += forward; - // } - // - // if (glm::length(moving_direction) > 0.0f) { - // moving_direction = glm::normalize(moving_direction); - // sphere.angular_velocity += - // moving_direction * angular_acceleration * delta_time; - // } - // - // if (input.brake) { - // sphere.angular_velocity = glm::vec3{0.0f}; - // } - // } - // } + auto owner = world_->GetPlayer(player_id_); + if (owner) { + if (UnitId() == owner->PrimaryUnitId()) { + auto input = owner->TakePlayerInput(); + + glm::vec3 forward = glm::normalize(glm::vec3{input.orientation}); + glm::vec3 right = + glm::normalize(glm::cross(forward, glm::vec3{0.0f, 1.0f, 0.0f})); + + glm::vec3 moving_direction{}; + + float angular_acceleration = glm::radians(2880.0f); + + if (input.move_forward) { + moving_direction -= right; + } + if (input.move_backward) { + moving_direction += right; + } + if (input.move_left) { + moving_direction -= forward; + } + if (input.move_right) { + moving_direction += forward; + } + + if (glm::length(moving_direction) > 0.0f) { + moving_direction = glm::normalize(moving_direction); + sphere.angular_velocity += + moving_direction * angular_acceleration * delta_time; + } + + if (input.brake) { + sphere.angular_velocity = glm::vec3{0.0f}; + } + } + } sphere.velocity *= std::pow(0.5f, delta_time); sphere.angular_velocity *= std::pow(0.2f, delta_time); From 09d2439d08d3bd7593a400619402254d855bcb9f Mon Sep 17 00:00:00 2001 From: Arsenics1501 <145995101+Arsenics1501@users.noreply.github.com> Date: Mon, 15 Jan 2024 15:51:12 +0800 Subject: [PATCH 02/14] Add files via upload --- BANG.mp3 | Bin 0 -> 9429 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 BANG.mp3 diff --git a/BANG.mp3 b/BANG.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..79a428bdef6aaf9d73629cf1ecf00178d3be5d9c GIT binary patch literal 9429 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 Y4jz%&+`Cmhbf^FJK5cis7_adE15$BpMgRZ+ literal 0 HcmV?d00001 From 778cb3717bad2ce35cf07151b83d78908d36318e Mon Sep 17 00:00:00 2001 From: Arsenics1501 <145995101+Arsenics1501@users.noreply.github.com> Date: Mon, 15 Jan 2024 15:55:12 +0800 Subject: [PATCH 03/14] Update collision.cpp --- src/GameX/physics/collision.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/GameX/physics/collision.cpp b/src/GameX/physics/collision.cpp index 27de48d..8682770 100644 --- a/src/GameX/physics/collision.cpp +++ b/src/GameX/physics/collision.cpp @@ -1,6 +1,9 @@ #include "GameX/physics/collision.h" - +#include +#include #include +#pragma comment (lib,"winmm.lib") + namespace GameX::Physics { @@ -164,7 +167,10 @@ bool SolveCollision(RigidBody &body1, body2.angular_velocity += inverse_inertia2 * glm::cross(r2, friction_impulse); } - +if (0 == PlaySound(TEXT("BANG.mp3"), NULL, SND_FILENAME | SND_ASYNC)) + { + printf("playsound false"); + } return true; } From d575557dfda1c99c8488ae8b4a06f6211986989a Mon Sep 17 00:00:00 2001 From: Arsenics1501 <145995101+Arsenics1501@users.noreply.github.com> Date: Mon, 15 Jan 2024 16:11:06 +0800 Subject: [PATCH 04/14] Update collision.cpp --- src/GameX/physics/collision.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/GameX/physics/collision.cpp b/src/GameX/physics/collision.cpp index 8682770..13f5dc9 100644 --- a/src/GameX/physics/collision.cpp +++ b/src/GameX/physics/collision.cpp @@ -1,5 +1,5 @@ #include "GameX/physics/collision.h" -#include + #include #include #pragma comment (lib,"winmm.lib") From 3aec8e9cc5adbc4c7b41012fe128575e4dd35fc7 Mon Sep 17 00:00:00 2001 From: Arsenics1501 <145995101+Arsenics1501@users.noreply.github.com> Date: Mon, 15 Jan 2024 16:15:49 +0800 Subject: [PATCH 05/14] Update collision.cpp --- src/GameX/physics/collision.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/GameX/physics/collision.cpp b/src/GameX/physics/collision.cpp index 13f5dc9..89aff3d 100644 --- a/src/GameX/physics/collision.cpp +++ b/src/GameX/physics/collision.cpp @@ -1,6 +1,6 @@ #include "GameX/physics/collision.h" -#include + #include #pragma comment (lib,"winmm.lib") From 35249d9970535a77711e7761d5bfd8589c50be2e Mon Sep 17 00:00:00 2001 From: Arsenics1501 <145995101+Arsenics1501@users.noreply.github.com> Date: Mon, 15 Jan 2024 16:24:45 +0800 Subject: [PATCH 06/14] Update collision.cpp --- src/GameX/physics/collision.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/GameX/physics/collision.cpp b/src/GameX/physics/collision.cpp index 89aff3d..2bcbf4f 100644 --- a/src/GameX/physics/collision.cpp +++ b/src/GameX/physics/collision.cpp @@ -1,5 +1,6 @@ #include "GameX/physics/collision.h" - +#include +#include #include #pragma comment (lib,"winmm.lib") From 5c7da2073167fc4af88fcc2fa2a3394181ce3d0b Mon Sep 17 00:00:00 2001 From: Arsenics1501 <145995101+Arsenics1501@users.noreply.github.com> Date: Mon, 15 Jan 2024 16:30:34 +0800 Subject: [PATCH 07/14] Update collision.cpp --- src/GameX/physics/collision.cpp | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/GameX/physics/collision.cpp b/src/GameX/physics/collision.cpp index 2bcbf4f..27de48d 100644 --- a/src/GameX/physics/collision.cpp +++ b/src/GameX/physics/collision.cpp @@ -1,10 +1,6 @@ #include "GameX/physics/collision.h" -#include -#include #include -#pragma comment (lib,"winmm.lib") - namespace GameX::Physics { @@ -168,10 +164,7 @@ bool SolveCollision(RigidBody &body1, body2.angular_velocity += inverse_inertia2 * glm::cross(r2, friction_impulse); } -if (0 == PlaySound(TEXT("BANG.mp3"), NULL, SND_FILENAME | SND_ASYNC)) - { - printf("playsound false"); - } + return true; } From 51a58667e3d6ac4c9378ab5c47bad474e9a7eff7 Mon Sep 17 00:00:00 2001 From: Arsenics1501 <145995101+Arsenics1501@users.noreply.github.com> Date: Mon, 15 Jan 2024 19:39:19 +0800 Subject: [PATCH 08/14] Update world.h --- src/GameX/physics/world.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/GameX/physics/world.h b/src/GameX/physics/world.h index fe902b1..aac3ebb 100644 --- a/src/GameX/physics/world.h +++ b/src/GameX/physics/world.h @@ -23,10 +23,12 @@ class World { void ApplyGravity(float delta_time); + void GetScore(); private: std::map spheres_; uint64_t next_sphere_id_{1}; std::map cubes_; uint64_t next_cube_id_{1}; + uint64_t score_=0; }; } // namespace GameX::Physics From 6b230129320d6cc0a079a962fd77453819464167 Mon Sep 17 00:00:00 2001 From: Arsenics1501 <145995101+Arsenics1501@users.noreply.github.com> Date: Mon, 15 Jan 2024 19:49:19 +0800 Subject: [PATCH 09/14] Update collision.h --- src/GameX/physics/collision.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/GameX/physics/collision.h b/src/GameX/physics/collision.h index 2a515b6..d5920b3 100644 --- a/src/GameX/physics/collision.h +++ b/src/GameX/physics/collision.h @@ -19,7 +19,7 @@ bool DetectCollision(const Sphere &sphere, const Cube &cube, Collision &collision); -bool SolveCollision(RigidBody &body1, +uint64_t SolveCollision(RigidBody &body1, RigidBody &body2, const Collision &collision); From da01b638038c094a0e89807050d21159a0ccca07 Mon Sep 17 00:00:00 2001 From: Arsenics1501 <145995101+Arsenics1501@users.noreply.github.com> Date: Mon, 15 Jan 2024 19:51:56 +0800 Subject: [PATCH 10/14] Update collision.cpp --- src/GameX/physics/collision.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/GameX/physics/collision.cpp b/src/GameX/physics/collision.cpp index 27de48d..8f67647 100644 --- a/src/GameX/physics/collision.cpp +++ b/src/GameX/physics/collision.cpp @@ -68,7 +68,7 @@ bool DetectCollision(const Sphere &sphere, return true; } -bool SolveCollision(RigidBody &body1, +uint64_t SolveCollision(RigidBody &body1, RigidBody &body2, const Collision &collision) { // std::cout << "Solve Collision..." << std::endl; @@ -103,8 +103,9 @@ bool SolveCollision(RigidBody &body1, body2.velocity + glm::cross(body2.angular_velocity, r2) - body1.velocity - glm::cross(body1.angular_velocity, r1); float velocity_along_normal = glm::dot(relative_velocity, collision.normal); + uint64_t addscore=10000*velocity_along_normal; if (velocity_along_normal > -0.0001f) { - return false; + return 0; } glm::mat3 inverse_inertia1 = @@ -165,7 +166,7 @@ bool SolveCollision(RigidBody &body1, inverse_inertia2 * glm::cross(r2, friction_impulse); } - return true; + return addscore; } } // namespace GameX::Physics From 7e2d361b90b7642e45d977c89bc277fcd9a6b56d Mon Sep 17 00:00:00 2001 From: Arsenics1501 <145995101+Arsenics1501@users.noreply.github.com> Date: Mon, 15 Jan 2024 19:57:41 +0800 Subject: [PATCH 11/14] Update world.cpp --- src/GameX/physics/world.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/GameX/physics/world.cpp b/src/GameX/physics/world.cpp index 6a68a67..58ff944 100644 --- a/src/GameX/physics/world.cpp +++ b/src/GameX/physics/world.cpp @@ -72,8 +72,10 @@ void World::SolveCollisions() { do { collision_found = false; for (auto &pair : collision_pairs) { - if (SolveCollision(*std::get<0>(pair), *std::get<1>(pair), - std::get<2>(pair))) { + uint64_t k = SolveCollision(*std::get<0>(pair), *std::get<1>(pair), + std::get<2>(pair)); + score_ += k; + if(k!=0){ collision_found = true; } } @@ -88,4 +90,7 @@ void World::ApplyGravity(float delta_time) { cube.second.velocity += cube.second.gravity * delta_time; } } +void World::GetScore(){ + std::cout< Date: Mon, 15 Jan 2024 20:02:11 +0800 Subject: [PATCH 12/14] Update world.cpp --- src/GameX/physics/world.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/GameX/physics/world.cpp b/src/GameX/physics/world.cpp index 58ff944..e9f51ac 100644 --- a/src/GameX/physics/world.cpp +++ b/src/GameX/physics/world.cpp @@ -91,6 +91,6 @@ void World::ApplyGravity(float delta_time) { } } void World::GetScore(){ - std::cout< Date: Mon, 15 Jan 2024 20:09:16 +0800 Subject: [PATCH 13/14] Update world.cpp --- src/GameX/physics/world.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/GameX/physics/world.cpp b/src/GameX/physics/world.cpp index e9f51ac..73a4733 100644 --- a/src/GameX/physics/world.cpp +++ b/src/GameX/physics/world.cpp @@ -91,6 +91,6 @@ void World::ApplyGravity(float delta_time) { } } void World::GetScore(){ - printf(%u,score_); + printf(%lu,score_); } } // namespace GameX::Physics From 39a73bef366ff933cf88786e0dbdf8975dc4e1fe Mon Sep 17 00:00:00 2001 From: Arsenics1501 <145995101+Arsenics1501@users.noreply.github.com> Date: Mon, 15 Jan 2024 20:13:43 +0800 Subject: [PATCH 14/14] Update world.cpp --- src/GameX/physics/world.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/GameX/physics/world.cpp b/src/GameX/physics/world.cpp index 73a4733..bbee415 100644 --- a/src/GameX/physics/world.cpp +++ b/src/GameX/physics/world.cpp @@ -91,6 +91,6 @@ void World::ApplyGravity(float delta_time) { } } void World::GetScore(){ - printf(%lu,score_); + printf("%lu",score_); } } // namespace GameX::Physics