Add and use easing curves
This commit is contained in:
@ -16,11 +16,21 @@
|
||||
*/
|
||||
#define easeTimeToEase(start, current, duration) ((current-start)/duration)
|
||||
|
||||
// Easing Functions, most were sourced from https://gist.github.com/gre/1650294
|
||||
#define easeLinear(t) t
|
||||
|
||||
#define easeInQuad(t) t*t
|
||||
#define easeOutQuad(t) t*(2-t)
|
||||
#define easeInQuad(t) (t*t)
|
||||
#define easeOutQuad(t) (t*(2-t))
|
||||
#define easeInOutQuad(t) (t < .5 ? 2*t*t : -1+(4-2*t)*t)
|
||||
|
||||
#define easeInCubic(t) t*t*t
|
||||
#define easeOutCubic(t) t*(t-1)*(t-1)+1
|
||||
#define easeInCubic(t) (t*t*t)
|
||||
#define easeOutCubic(t) ((t-1)*(t-1)*(t-1)+1)
|
||||
#define easeInOutCubic(t) (t < .5 ? 4*t*t*t : (t-1)*(2*t-2)*(2*t-2)+1)
|
||||
|
||||
#define easeInQuart(t) (t*t*t*t)
|
||||
#define easeOutQuart(t) (1 - (t-1)*(t-1)*(t-1)*(t-1))
|
||||
#define easeInOutQuart(t) (t < .5 ? 8*t*t*t*t : 1-8*(t-1)*(t-1)*(t-1)*(t-1))
|
||||
|
||||
#define easeInQuint(t) (t*t*t*t*t)
|
||||
#define easeOutQuint(t) (1 + (t-1)*(t-1)*(t-1)*(t-1)*(t-1))
|
||||
#define easeInOutQuint(t) (t<.5 ? 16*t*t*t*t*t : 1+16*(t-1)*(t-1)*(t-1)*(t-1)*(t-1))
|
@ -27,8 +27,8 @@ void pokerMatchInit(poker_t *poker, engine_t *engine) {
|
||||
}
|
||||
|
||||
void pokerMatchUpdate(poker_t *poker, engine_t *engine) {
|
||||
float t = easeTimeToEase(poker->roundMatch.time, engine->time.current, 5);
|
||||
pokerLookAtPlayer(
|
||||
&poker->cameraWorld, POKER_SEAT_PLAYER0,
|
||||
easeOutCubic(easeTimeToEase(poker->roundMatch.time,engine->time.current,5))
|
||||
&poker->cameraWorld, POKER_SEAT_PLAYER0, 1 - easeOutQuint(t)
|
||||
);
|
||||
}
|
Reference in New Issue
Block a user