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:
Luke Street
2026-03-01 15:35:36 -07:00
committed by GitHub
parent c9a46bd65b
commit 4df8ccc871
1740 changed files with 583 additions and 825 deletions
@@ -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