X-Git-Url: https://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fmenu%2Fanim%2Fanimation.qc;h=d24220fefae0ab9fe4695d8287fcc21c1a2a7bcd;hp=26b01d71801f3555fa7cc5f0b329c833a5752848;hb=c51698509e174e343dff48128a1dcfff1527c535;hpb=d1ec6cd7b36e2c16817720fe5cce775fc3d26357 diff --git a/qcsrc/menu/anim/animation.qc b/qcsrc/menu/anim/animation.qc index 26b01d718..d24220fef 100644 --- a/qcsrc/menu/anim/animation.qc +++ b/qcsrc/menu/anim/animation.qc @@ -1,18 +1,21 @@ -#ifdef INTERFACE -CLASS(Animation) EXTENDS(Object) - METHOD(Animation, configureAnimation, void(entity, entity, void(entity, float), float, float, float, float)) - METHOD(Animation, setTimeStartEnd, void(entity, float, float)) - METHOD(Animation, setTimeStartDuration, void(entity, float, float)) - METHOD(Animation, setValueStartEnd, void(entity, float, float)) - METHOD(Animation, setValueStartDelta, void(entity, float, float)) - METHOD(Animation, setObjectSetter, void(entity, entity, void(entity, float))) - METHOD(Animation, tick, void(entity, float)) - METHOD(Animation, calcValue, float(entity, float, float, float, float)) - METHOD(Animation, isStopped, float(entity)) - METHOD(Animation, stopAnim, void(entity)) - METHOD(Animation, resumeAnim, void(entity)) - METHOD(Animation, isFinished, float(entity)) - METHOD(Animation, finishAnim, void(entity)) +#ifndef ANIM_ANIMATION_H +#define ANIM_ANIMATION_H +void setterDummy(entity, float); +CLASS(Animation, Object) + METHOD(Animation, configureAnimation, void(entity, entity, void(entity, float), float, float, float, float)); + METHOD(Animation, update, void(entity, float, float, float)); + METHOD(Animation, setTimeStartEnd, void(entity, float, float)); + METHOD(Animation, setTimeStartDuration, void(entity, float, float)); + METHOD(Animation, setValueStartEnd, void(entity, float, float)); + METHOD(Animation, setValueStartDelta, void(entity, float, float)); + METHOD(Animation, setObjectSetter, void(entity, entity, void(entity, float))); + METHOD(Animation, tick, void(entity, float)); + METHOD(Animation, calcValue, float(entity, float, float, float, float)); + METHOD(Animation, isStopped, float(entity)); + METHOD(Animation, stopAnim, void(entity)); + METHOD(Animation, resumeAnim, void(entity)); + METHOD(Animation, isFinished, float(entity)); + METHOD(Animation, finishAnim, void(entity)); ATTRIB(Animation, object, entity, NULL) ATTRIB(Animation, setter, void(entity, float), setterDummy) ATTRIB(Animation, value, float, 0) @@ -23,7 +26,6 @@ CLASS(Animation) EXTENDS(Object) ATTRIB(Animation, stopped, float, false) ATTRIB(Animation, finished, float, false) ENDCLASS(Animation) -void setterDummy(entity, float); #endif #ifdef IMPLEMENTATION @@ -34,6 +36,12 @@ void Animation_configureAnimation(entity me, entity obj, void(entity, float) obj me.setValueStartEnd(me, animStartValue, animEndValue); } +void Animation_update(entity me, float animDuration, float animStartValue, float animEndValue) +{ + me.setTimeStartDuration(me, time, animDuration); + me.setValueStartEnd(me, animStartValue, animEndValue); +} + void Animation_setTimeStartEnd(entity me, float s, float e) { me.startTime = s;