X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fclient%2Fbgmscript.qc;h=eeba139c551b4d57aa80776ce6126feee1a7e292;hb=6f37a8f8076a572097afb13de2c367a72717c927;hp=694bc0cc6f960169a3f61628b8541b482c5151ca;hpb=9226d2a17f8329b6964cf4be5c5433e7e763c240;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/client/bgmscript.qc b/qcsrc/client/bgmscript.qc index 694bc0cc6..eeba139c5 100644 --- a/qcsrc/client/bgmscript.qc +++ b/qcsrc/client/bgmscript.qc @@ -1,15 +1,20 @@ +#include "bgmscript.qh" +#include "_.qh" + +#include "../common/util.qh" + #define CONSTANT_SPEED_DECAY float bgmscriptbuf; float bgmscriptbufsize; float bgmscriptbufloaded; -.float bgmscriptline; -.float bgmscriptline0; -.float bgmscriptvolume; -.float bgmscripttime; -.float bgmscriptstate; -.float bgmscriptstatetime; +class(BGMScript) .float bgmscriptline; +class(BGMScript) .float bgmscriptline0; +class(BGMScript) .float bgmscriptvolume; +class(BGMScript) .float bgmscripttime; +class(BGMScript) .float bgmscriptstate; +class(BGMScript) .float bgmscriptstatetime; float GetAttackDecaySustainAmplitude(float a, float d, float s, float t) { @@ -17,10 +22,10 @@ float GetAttackDecaySustainAmplitude(float a, float d, float s, float t) // attack: from 0 to 1, in time a for a full length // decay: from 1 to s, in time d // sustain: s - + if(t < 0) return 0; - + if(a) if(t <= a) return t / a; @@ -38,10 +43,10 @@ float GetReleaseAmplitude(float d, float s, float r, float t) if(!r) return 0; - + if(t > r) return 0; - + releaseval = s * (1 - t / r); if(t < -d) @@ -70,7 +75,7 @@ float GetReleaseTime(float d, float s, float r, float amp) if(!s) return 0; - + // if amp > s, we may be in the attack or in the prolonged decay curve releasetime = (1 - amp / s) * r; @@ -131,7 +136,7 @@ void BGMScript_InitEntity(entity e) e.bgmscriptline = e.bgmscriptline0 = i; if(i >= bgmscriptbufsize) { - print(sprintf("ERROR: bgmscript does not define %s\n", e.bgmscript)); + printf("ERROR: bgmscript does not define %s\n", e.bgmscript); strunzone(e.bgmscript); e.bgmscript = string_null; } @@ -172,11 +177,11 @@ float BGMScript(entity e) if(e.bgmscript == "") return 1; - + if(autocvar_bgmvolume <= 0) return -1; - e.just_toggled = FALSE; + e.just_toggled = false; if(bgmtime < 0) return -1; @@ -189,13 +194,13 @@ float BGMScript(entity e) e.bgmscripttime = bgmtime; // treat this as a stop event for all notes, to prevent sticking keys - e.bgmscriptstate = FALSE; + e.bgmscriptstate = false; e.bgmscriptvolume = 1; e.bgmscriptstatetime = bgmtime - GetTimeForAmplitude(e, amp); } // find the CURRENT line - for(;;) + for (;;) { tokenize_console(bufstr_get(bgmscriptbuf, e.bgmscriptline)); if(stof(argv(1)) >= bgmtime || argv(0) != e.bgmscript) @@ -214,11 +219,11 @@ float BGMScript(entity e) vel = stof(argv(2)); if(vel > 0) { - e.just_toggled = e.bgmscriptstate = TRUE; + e.just_toggled = e.bgmscriptstate = true; e.bgmscriptvolume = vel; } else - e.just_toggled = e.bgmscriptstate = FALSE; + e.just_toggled = e.bgmscriptstate = false; e.bgmscriptstatetime = e.bgmscripttime - GetTimeForAmplitude(e, amp); }