mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-08-17 20:43:07 -04:00
Reorganize library code into libs/ (#3119)
* Reorganize files into libs/{dolphin,JSystem,PowerPC_EABI_Support,revolution,TRK_MINNOW_DOLPHIN}
* Update configure.py and project.py for new libs structure
* Refactor `#include <dolphin/x.h>` -> `<x.h>`
* Remove `__REVOLUTION_SDK__` forwards from dolphin
* Fix dolphin/ references in revolution
* Wrap `#include <dolphin.h>` in `!__REVOLUTION_SDK__`
* Always build TRK against dolphin headers
* Resolve revolution SDK header resolution issues
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
|
||||
#include "HBMFrameController.h"
|
||||
|
||||
namespace homebutton {
|
||||
|
||||
void FrameController::init(int anm_type, f32 max_frame, f32 min_frame, f32 delta) {
|
||||
mAnmType = anm_type;
|
||||
mMaxFrame = max_frame;
|
||||
mMinFrame = min_frame;
|
||||
|
||||
mDelta = delta;
|
||||
mState = ANIM_STATE_STOP;
|
||||
mbAlternateBack = false;
|
||||
|
||||
initFrame();
|
||||
}
|
||||
|
||||
void FrameController::initFrame() {
|
||||
mFrame = mAnmType == ANIM_TYPE_BACKWARD ? mMaxFrame : mMinFrame;
|
||||
}
|
||||
|
||||
void FrameController::calc() {
|
||||
if (mState != ANIM_STATE_PLAY) {
|
||||
return;
|
||||
}
|
||||
|
||||
switch (mAnmType) {
|
||||
case ANIM_TYPE_FORWARD:
|
||||
if ((mFrame += mDelta) >= getLastFrame()) {
|
||||
mFrame = getLastFrame();
|
||||
stop();
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case ANIM_TYPE_BACKWARD:
|
||||
if ((mFrame -= mDelta) <= mMinFrame) {
|
||||
mFrame = mMinFrame;
|
||||
stop();
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case ANIM_TYPE_LOOP:
|
||||
if ((mFrame += mDelta) >= mMaxFrame) {
|
||||
mFrame -= mMaxFrame - mMinFrame;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case ANIM_TYPE_ALTERNATE:
|
||||
if (!mbAlternateBack) {
|
||||
if ((mFrame += mDelta) >= getLastFrame()) {
|
||||
mFrame = getLastFrame();
|
||||
mbAlternateBack = true;
|
||||
}
|
||||
} else {
|
||||
if ((mFrame -= mDelta) <= mMinFrame) {
|
||||
mFrame = mMinFrame;
|
||||
mbAlternateBack = false;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace homebutton
|
||||
Reference in New Issue
Block a user