X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fmenu%2Fitem%2Fmodalcontroller.qc;h=a13fcdd69f5706d663ea529072735ae0a85c4dcc;hb=31f1af233d6944afb34a58bafd4794878762b290;hp=bff21707906c9919927ce8557a5934aacbaa4bff;hpb=e3507f4fdbc2b3e15b663365e57e0aa60f3cf1a6;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/menu/item/modalcontroller.qc b/qcsrc/menu/item/modalcontroller.qc index bff217079..a13fcdd69 100644 --- a/qcsrc/menu/item/modalcontroller.qc +++ b/qcsrc/menu/item/modalcontroller.qc @@ -1,5 +1,7 @@ -#ifdef INTERFACE -CLASS(ModalController) EXTENDS(Container) +#ifndef ITEM_MODALCONTROLLER_H +#define ITEM_MODALCONTROLLER_H +#include "container.qc" +CLASS(ModalController, Container) METHOD(ModalController, resizeNotify, void(entity, vector, vector, vector, vector)) METHOD(ModalController, draw, void(entity)) METHOD(ModalController, showChild, void(entity, entity, vector, vector, float)) @@ -150,22 +152,11 @@ void ModalController_draw(entity me) if(e.ModalController_state) { if(front) - { me.switchState(me, front, 2, 0); - if(front.ModalController_factor < 1) - animating = 1; - } front = e; } if(front) - { me.switchState(me, front, 1, 0); - if(front.ModalController_factor < 1) - animating = 1; - } - - if(front && front.Container_alpha == front.ModalController_initialAlpha) - goto update_done; // update isn't needed, everything stay as is df = frametime * 3; // animation speed @@ -209,6 +200,7 @@ void ModalController_draw(entity me) me.setAlphaOf(me, e, e.Container_alpha * prevFactor); else { + animating = 1; targetFactor = df / (1 - f + df); if(e.ModalController_state == 1) @@ -234,7 +226,6 @@ void ModalController_draw(entity me) e.Container_fontscale_y = fs.y * e.ModalController_initialFontScale.y; } } - :update_done if(animating || !me.focused) me.setFocus(me, NULL);