support bgmscript with target_music
[xonotic/xonotic-data.pk3dir.git] / qcsrc / client / bgmscript.qc
index 587a2e96cf8ac289bf287905ce5560c7eb17ab65..c23b425ae9d2e4edd0ace7c0cd77ec703b06b7ed 100644 (file)
@@ -167,7 +167,6 @@ float GetTimeForAmplitude(entity e, float amp)
 
 float BGMScript(entity e)
 {
-       float t;
        float amp, vel;
 
        if(e.bgmscript == "")
@@ -178,34 +177,33 @@ float BGMScript(entity e)
 
        e.just_toggled = FALSE;
 
-       t = gettime(GETTIME_CDTRACK);
-       if(t < 0)
+       if(bgmtime < 0)
                return -1;
 
-       if(t < e.bgmscripttime)
+       if(bgmtime < e.bgmscripttime)
        {
                //print("reset ", e.bgmscript, "\n");
                amp = GetCurrentAmplitude(e, e.bgmscripttime - e.bgmscriptstatetime + drawframetime);
 
                e.bgmscriptline = e.bgmscriptline0;
-               e.bgmscripttime = t;
+               e.bgmscripttime = bgmtime;
 
                // treat this as a stop event for all notes, to prevent sticking keys
                e.bgmscriptstate = FALSE;
                e.bgmscriptvolume = 1;
-               e.bgmscriptstatetime = t - GetTimeForAmplitude(e, amp);
+               e.bgmscriptstatetime = bgmtime - GetTimeForAmplitude(e, amp);
        }
 
        // find the CURRENT line
        for(;;)
        {
                tokenize_console(bufstr_get(bgmscriptbuf, e.bgmscriptline));
-               if(stof(argv(1)) >= t || argv(0) != e.bgmscript)
+               if(stof(argv(1)) >= bgmtime || argv(0) != e.bgmscript)
                {
-                       e.bgmscripttime = t;
-                       return GetCurrentAmplitude(e, t - e.bgmscriptstatetime);
+                       e.bgmscripttime = bgmtime;
+                       return GetCurrentAmplitude(e, bgmtime - e.bgmscriptstatetime);
                }
-               else if(t >= stof(argv(1)))
+               else if(bgmtime >= stof(argv(1)))
                {
                        e.bgmscriptline += 1;
                        e.bgmscripttime = stof(argv(1));