From b9935846c4b3cc9bb2c4b27d24048c3f260d2537 Mon Sep 17 00:00:00 2001 From: Sara Date: Thu, 26 Sep 2024 12:48:53 +0200 Subject: [PATCH] feat: PlayerController no longer implements Renderable --- src/player_controller.c | 13 ++----------- src/player_controller.h | 2 -- 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/src/player_controller.c b/src/player_controller.c index c7c3971..4910ba6 100644 --- a/src/player_controller.c +++ b/src/player_controller.c @@ -7,17 +7,12 @@ START_REFLECT(PlayerController); REFLECT_TYPECLASS(PlayerController, Drop); REFLECT_TYPECLASS(PlayerController, SceneNodeEntity); -REFLECT_TYPECLASS(PlayerController, Renderable); END_REFLECT(PlayerController); impl_Drop_for(PlayerController, DestroyPlayerController ) -impl_Renderable_for(PlayerController, - PlayerControllerDraw -) - impl_SceneNodeEntity_for(PlayerController, PlayerControllerEnterTree, PlayerControllerExitTree, @@ -37,7 +32,6 @@ void DestroyPlayerController(PlayerController *self) { void PlayerControllerEnterTree(PlayerController *self) { self->transform = TC_CAST(self->node->parent->entity, Transformable); - AddRenderable(PlayerController_as_Renderable(self)); DisableCursor(); AddListener("pitch_up", ButtonInputListener(self, PlayerControllerUpInput)); AddListener("pitch_down", ButtonInputListener(self, PlayerControllerDownInput)); @@ -47,10 +41,7 @@ void PlayerControllerEnterTree(PlayerController *self) { } void PlayerControllerExitTree(PlayerController *self) { - RemoveRenderable(PlayerController_as_Renderable(self)); -} - -void PlayerControllerDraw(PlayerController *self) { + RemoveAllListeners(self); } //! angular acceleration limited to local X and Z axes @@ -65,7 +56,7 @@ void PlayerControllerTickAngularAcceleration(PlayerController *self, double delt //! linear acceleration limited to the local Z axis static void PlayerControllerTickLinearAcceleration(PlayerController *self, double delta) { - float const target = (!self->stopped && self->rotation.y == 0.f) ? 30.f : 20.f; + float const target = self->stopped ? 10.f : (self->rotation.y == 0.f ? 30.f : 20.f); float const speed_diff = target - self->speed; self->speed = self->speed + copysignf(fminf(fabsf(speed_diff), 10.f * delta), speed_diff); } diff --git a/src/player_controller.h b/src/player_controller.h index f5de4cb..e20a724 100644 --- a/src/player_controller.h +++ b/src/player_controller.h @@ -23,7 +23,6 @@ void DestroyPlayerController(PlayerController *self); extern void PlayerControllerEnterTree(PlayerController *self); extern void PlayerControllerExitTree(PlayerController *self); -extern void PlayerControllerDraw(PlayerController *self); extern void PlayerControllerTick(PlayerController *self, double delta); extern void PlayerControllerLeftInput(PlayerController *self, bool value); @@ -35,6 +34,5 @@ extern void PlayerControllerStopInput(PlayerController *self, bool value); DECL_REFLECT(PlayerController); decl_typeclass_impl(SceneNodeEntity, PlayerController); decl_typeclass_impl(Drop, PlayerController); -decl_typeclass_impl(Renderable, PlayerController); #endif // !PLAYER_CONTROLLER_H