Merge pull request #308 from westonCoder/energy-ball-timer-reset

Ball Resets Lifetime Through Portal
This commit is contained in:
lambertjamesd 2023-10-16 11:45:59 -06:00 committed by GitHub
commit 0e51a71b8b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 0 deletions

View file

@ -108,6 +108,7 @@ void ballInit(struct Ball* ball, struct Vector3* position, struct Vector3* veloc
ball->rigidBody.currentRoom = startingRoom;
ball->flags = 0;
ball->lifetime = ballLifetime;
ball->originalLifetime = ballLifetime;
ball->targetSpeed = sqrtf(vector3MagSqrd(&ball->rigidBody.velocity));
@ -188,6 +189,10 @@ void ballUpdate(struct Ball* ball) {
return;
}
if (ball->rigidBody.flags & (RigidBodyFlagsCrossedPortal0 | RigidBodyFlagsCrossedPortal1)){
ball->lifetime = ball->originalLifetime;
}
float currentSpeed = sqrtf(vector3MagSqrd(&ball->rigidBody.velocity));
if (currentSpeed == 0.0f) {

View file

@ -27,6 +27,7 @@ struct Ball {
float targetSpeed;
float lifetime;
float originalLifetime;
short dynamicId;
short flags;
short soundLoopId;