diff --git a/coreengine/animation.c b/coreengine/animation.c index cab87a3..65fb587 100644 --- a/coreengine/animation.c +++ b/coreengine/animation.c @@ -290,13 +290,13 @@ cShifter::cShifter(cShiftable *shiftable) { shifttime = 0; x = 0.0f; y = 0.0f; - stepXLinear = 0; - stepYLinear = 0; + stepXLinear = 0.0f; + stepYLinear = 0.0f; stepsFast = 0; - stepXFast = 0; - stepXSlow = 0; - stepYFast = 0; - stepYSlow = 0; + stepXFast = 0.0f; + stepXSlow = 0.0f; + stepYFast = 0.0f; + stepYSlow = 0.0f; Init(); } @@ -317,14 +317,14 @@ void cShifter::Init(void) { stepYFast = (float)(end.Y() - start.Y()) * distanceFast / 100.0f / (float)stepsFast; stepYSlow = (float)(end.Y() - start.Y()) * (100.0f - distanceFast) / 100.0f / (float)(steps-stepsFast); } else if (start.Y() == end.Y()) { - stepXLinear = (end.X() - start.X()) / steps; + stepXLinear = (float)(end.X() - start.X()) / (float)steps; stepXFast = (float)(end.X() - start.X()) * distanceFast / 100.0f / (float)stepsFast; stepXSlow = (float)(end.X() - start.X()) * (100.0f - distanceFast) / 100.0f / (float)(steps-stepsFast); } else { - stepXLinear = (end.X() - start.X()) / steps; + stepXLinear = (float)(end.X() - start.X()) / (float)steps; stepXFast = (float)(end.X() - start.X()) * distanceFast / 100.0f / (float)stepsFast; stepXSlow = (float)(end.X() - start.X()) * (100.0f - distanceFast) / 100.0f / (float)(steps-stepsFast); - stepYLinear = (end.Y() - start.Y()) / steps; + stepYLinear = (float)(end.Y() - start.Y()) / (float)steps; stepYFast = (float)(end.Y() - start.Y()) * distanceFast / 100.0f / (float)stepsFast; stepYSlow = (float)(end.Y() - start.Y()) * (100.0f - distanceFast) / 100.0f / (float)(steps-stepsFast); } diff --git a/coreengine/view.c b/coreengine/view.c index 95d88a4..6f18a6f 100644 --- a/coreengine/view.c +++ b/coreengine/view.c @@ -258,9 +258,8 @@ void cView::Show(int ve) { void cView::SetViewelementsAnimOut(void) { for (int i=0; i< numViewElements; i++) - if (viewElements[i]) { + if (viewElements[i]) viewElements[i]->SetAnimOut(); - } } void cView::Close(void) { @@ -298,7 +297,9 @@ int cView::ShiftTime(void) { } int cView::ShiftMode(void) { - return attribs->ShiftMode(); + int mode = attribs->ShiftMode(); + if (mode < 0) mode = 0; + return mode; } void cView::ShiftPositions(cPoint *start, cPoint *end) { diff --git a/coreengine/viewelement.c b/coreengine/viewelement.c index 811aad8..5bf482e 100644 --- a/coreengine/viewelement.c +++ b/coreengine/viewelement.c @@ -437,7 +437,9 @@ int cViewElement::ShiftTime(void) { } int cViewElement::ShiftMode(void) { - return attribs->ShiftMode(); + int mode = attribs->ShiftMode(); + if (mode < 0) mode = 0; + return mode; } void cViewElement::ShiftPositions(cPoint *start, cPoint *end) {