animation animation_create(s32 duration) { animation an; an.time = 0; an.started = false; an.duration = duration; an.percentage = 0.0f; return an; } float animation_update(animation* an) { if (!an->started) return an->percentage; an->time += frame_delta*1000.0f; if (an->time > an->duration) an->time = an->duration; an->percentage = an->time/an->duration; return an->percentage; }