Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cleanup animationinfo #7707

Closed
wants to merge 1 commit into from

Conversation

kphoenix137
Copy link
Collaborator

Improved version of: #7550

  • Moved a chunk of logic out of setNewAnimation into a new member function of AnimationInfo class to reduce function size with no logic changes.
  • Other minor cleanups with no logic changes.
  • Preserved original comments.

@@ -82,6 +82,8 @@ class AnimationInfo {
*/
[[nodiscard]] uint8_t getAnimationProgress() const;

void configureFrameDistribution(AnimationDistributionFlags flags, int8_t numberOfFrames, int8_t distributeFramesBeforeFrame, int8_t numSkippedFrames, int8_t ticksPerFrame, uint8_t previewShownGameTickFragments);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could this be a private method?

@@ -27,9 +27,8 @@ int8_t AnimationInfo::getFrameToUseForRendering() const
if (currentFrame >= relevantFramesForDistributing_)
return currentFrame;

int16_t ticksSinceSequenceStarted = ticksSinceSequenceStarted_;
int16_t ticksSinceSequenceStarted = std::max<int16_t>(0, ticksSinceSequenceStarted_);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Personally, I'd leave it as it is, as the log and the local variable are less confusing that way.
For clarity we could also change the if from ticksSinceSequenceStarted_ to ticksSinceSequenceStarted.
But maybe that is just personal taste 😉.

@@ -82,6 +82,8 @@ class AnimationInfo {
*/
[[nodiscard]] uint8_t getAnimationProgress() const;

void configureFrameDistribution(AnimationDistributionFlags flags, int8_t numberOfFrames, int8_t distributeFramesBeforeFrame, int8_t numSkippedFrames, int8_t ticksPerFrame, uint8_t previewShownGameTickFragments);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm still not sure if this is a good move. On the one hand the function is smaller. On the other hand, the new function has only 21 lines less than setNewAnimation and now we have another function with many parameters. 🤷

Maybe we could remove some of the parameters. If we use the ticksPerFrame member (assigned in setNewAnimation) instead of passing it as a variable. The same for numberOfFrames.

We could also replace numSkippedFrames with currentFrame, but that might be going a bit too far.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You may be right. I was too concerned with salvaging the potentially useful parts of the original PR, but I didn't take enough time to consider the best way to approach cleaning up this file. I think I may just close it instead.

@@ -82,6 +82,8 @@ class AnimationInfo {
*/
[[nodiscard]] uint8_t getAnimationProgress() const;

void configureFrameDistribution(AnimationDistributionFlags flags, int8_t numberOfFrames, int8_t distributeFramesBeforeFrame, int8_t numSkippedFrames, int8_t ticksPerFrame, uint8_t previewShownGameTickFragments);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this function include documentation, e.g. `@brief'?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes

@kphoenix137 kphoenix137 closed this Feb 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants