Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="iso-8859-1" ?>
- <ZApplication Name="App" Caption="ZGameEditor application" ClearColor="0.4902 0.8745 1 1" FrameRateStyle="2" FixedFrameRate="60" Camera="ProjectionFrontal" MouseVisible="255">
- <OnLoaded>
- <ZLibrary Comment="HSV Library">
- <Source>
- <![CDATA[//
- vec3 hsv(float h, float s, float v)
- {
- s = clamp(s/100, 0, 1);
- v = clamp(v/100, 0, 1);
- if(!s)return vector3(v, v, v);
- h = h < 0 ? frac(1-abs(frac(h/360)))*6 : frac(h/360)*6;
- float c, f, p, q, t;
- c = floor(h);
- f = h-c;
- p = v*(1-s);
- q = v*(1-s*f);
- t = v*(1-s*(1-f));
- switch(c)
- {
- case 0: return vector3(v, t, p);
- case 1: return vector3(q, v, p);
- case 2: return vector3(p, v, t);
- case 3: return vector3(p, q, v);
- case 4: return vector3(t, p, v);
- case 5: return vector3(v, p, q);
- }
- }]]>
- </Source>
- </ZLibrary>
- <ZExpression>
- <Expression>
- <![CDATA[Stretch.Scale.X = 2f*App.ViewportWidth/App.ViewportHeight;
- Stretch.Scale.Y = 2;
- RainbowField.XCount = NumberOfBars ;
- ColumnColor.SizeDim1 = RainbowField.XCount+1;]]>
- </Expression>
- </ZExpression>
- </OnLoaded>
- <OnUpdate>
- <ZExpression Comment="Which column the cursor is currently in">
- <Expression>
- <![CDATA[MouseToColumn =
- floor
- (
- (App.MousePosition.X+1)/2f*ColumnColor.SizeDim1
- );]]>
- </Expression>
- </ZExpression>
- <ZExpression Comment="Calculate colors">
- <Expression>
- <![CDATA[ColumnColor[MouseToColumn] =
- hsv(MouseToColumn/RainbowField.XCount*360,(App.MousePosition.Y*0.5+0.5)*100,100);]]>
- </Expression>
- </ZExpression>
- <Condition Comment="Should Plink?">
- <Expression>
- <![CDATA[return
- (
- MouseToColumnBuffer != MouseToColumn
- );]]>
- </Expression>
- <OnTrue>
- <PlaySound Sound="Plink" NoteNr="96"/>
- <ZExpression Comment="Calculate colors" Expression="MouseToColumnBuffer = MouseToColumn;"/>
- </OnTrue>
- </Condition>
- </OnUpdate>
- <OnRender>
- <UseMaterial Material="ColorMono"/>
- <RenderTransformGroup Name="Stretch" Scale="7.2566 2 1">
- <Children>
- <RenderNet Name="RainbowField" XCount="12" VertexColors="255">
- <RenderVertexExpression>
- <![CDATA[//Update each vertex.
- //Vertex : current vertex
- //TexCoord : current texture coordinate
- //Color : current vertex color
- float VertexPairInArray;
- VertexPairInArray = ceil((Vertex.X+0.5)*NumberOfBars);
- Color = ColumnColor[VertexPairInArray];]]>
- </RenderVertexExpression>
- </RenderNet>
- </Children>
- </RenderTransformGroup>
- </OnRender>
- <Content>
- <Material Name="ColorMono" Shading="1" Color="1 1 1 0.8993" Light="0"/>
- <Camera Name="ProjectionFrontal" Comment="No rotation, for interface etc" Kind="1" Position="0 0 10"/>
- <Variable Name="MouseToColumn"/>
- <Variable Name="MouseToColumnBuffer"/>
- <Array Name="ColumnColor" Type="7"/>
- <Sound Name="Plink" Length="0.5" Osc1Waveform="3" UseFilter="1" FilterCutoff="0.5095" FilterQ="0.1199" Mod0Active="1" Mod0Destination="11" Mod0Amount="1" Mod1Active="1" Mod1Source="2" Mod1Destination="2" Mod1Amount="0.21" Mod2Source="2" Mod2Amount="0.6" Env0Active="1" Env0DecayTime="0.42" Env0SustainLevel="0.604" Env0ReleaseTime="1.28" Env1DecayTime="1.8" Env1ReleaseTime="0.54" Lfo0Active="1" Lfo0IsBipolar="1" Lfo0Style="1" Lfo0Speed="0.23"/>
- <Constant Name="NumberOfBars" Type="1" IntValue="12"/>
- </Content>
- </ZApplication>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement