mirror of
https://github.com/AquariaOSE/Aquaria.git
synced 2025-07-04 15:04:36 +00:00
anim editor: highlight bspline'd bones
This commit is contained in:
parent
cfa5d45932
commit
cf70cfe48d
2 changed files with 33 additions and 8 deletions
|
@ -858,10 +858,10 @@ void AnimationEditor::nextKey()
|
||||||
editSprite->setTime(k->t);
|
editSprite->setTime(k->t);
|
||||||
else
|
else
|
||||||
currentKey --;
|
currentKey --;
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
applyBoneToSplineGrid();
|
onKeyframeChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void AnimationEditor::prevKey()
|
void AnimationEditor::prevKey()
|
||||||
|
@ -891,11 +891,11 @@ void AnimationEditor::prevKey()
|
||||||
SkeletalKeyframe *k = editSprite->getCurrentAnimation()->getKeyframe(currentKey);
|
SkeletalKeyframe *k = editSprite->getCurrentAnimation()->getKeyframe(currentKey);
|
||||||
if (k)
|
if (k)
|
||||||
editSprite->setTime(k->t);
|
editSprite->setTime(k->t);
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
applyBoneToSplineGrid();
|
onKeyframeChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1350,7 +1350,7 @@ void AnimationEditor::loadFile()
|
||||||
if (editingStrip)
|
if (editingStrip)
|
||||||
editStripKey();
|
editStripKey();
|
||||||
|
|
||||||
applyBoneToSplineGrid();
|
onKeyframeChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
void AnimationEditor::goToTitle()
|
void AnimationEditor::goToTitle()
|
||||||
|
@ -1465,9 +1465,11 @@ void AnimationEditor::updateRenderBorders()
|
||||||
|
|
||||||
for (size_t i = 0; i < editSprite->bones.size(); ++i)
|
for (size_t i = 0; i < editSprite->bones.size(); ++i)
|
||||||
{
|
{
|
||||||
editSprite->bones[i]->renderBorder = renderBorders;
|
Bone *b = editSprite->bones[i];
|
||||||
editSprite->bones[i]->renderCenter = renderBorders;
|
b->renderBorder = renderBorders;
|
||||||
editSprite->bones[i]->borderAlpha = 0.8f;
|
b->renderCenter = renderBorders;
|
||||||
|
b->borderAlpha = 0.8f;
|
||||||
|
b->renderBorderColor = Vector(1,1,1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1535,6 +1537,27 @@ void AnimationEditor::updateTimelineGrid()
|
||||||
gridsize->setText(os.str());
|
gridsize->setText(os.str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AnimationEditor::onKeyframeChanged()
|
||||||
|
{
|
||||||
|
applyBoneToSplineGrid();
|
||||||
|
|
||||||
|
Animation *a = editSprite->getCurrentAnimation();
|
||||||
|
|
||||||
|
updateRenderBorders(); // restore default state
|
||||||
|
|
||||||
|
for(size_t i = 0; i < a->interpolators.size(); ++i)
|
||||||
|
{
|
||||||
|
const BoneGridInterpolator& bgip = a->interpolators[i];
|
||||||
|
if(Bone *b = editSprite->getBoneByIdx(bgip.idx))
|
||||||
|
{
|
||||||
|
b->renderBorder = true;
|
||||||
|
b->renderCenter = true;
|
||||||
|
b->borderAlpha = 0.4f;
|
||||||
|
b->renderBorderColor = Vector(0.2f, 0.9f, 0.2f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void AnimationEditor::applyBoneToSplineGrid()
|
void AnimationEditor::applyBoneToSplineGrid()
|
||||||
{
|
{
|
||||||
if(splinegrid && editingBone)
|
if(splinegrid && editingBone)
|
||||||
|
|
|
@ -149,6 +149,8 @@ public:
|
||||||
void updateTimelineGrid();
|
void updateTimelineGrid();
|
||||||
DebugFont *gridsize, *unitsize;
|
DebugFont *gridsize, *unitsize;
|
||||||
|
|
||||||
|
void onKeyframeChanged();
|
||||||
|
|
||||||
SplineGrid *splinegrid;
|
SplineGrid *splinegrid;
|
||||||
void applySplineGridToBone();
|
void applySplineGridToBone();
|
||||||
void applyBoneToSplineGrid();
|
void applyBoneToSplineGrid();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue