Fix build issue and ref count bug with scripts.
diff --git a/rsScriptC.h b/rsScriptC.h
index 664bd6d..5b79b90 100644
--- a/rsScriptC.h
+++ b/rsScriptC.h
@@ -36,15 +36,32 @@
     ScriptC();
     virtual ~ScriptC();
 
+    struct Program_t {
+        const char * mScriptText;
+        uint32_t mScriptTextLength;
 
-    virtual bool run(Context *, uint32_t launchID);
+        bool useStateVertex;
+        bool useStateRaster;
+        bool useStateFragment;
+        bool useStateStore;
 
-    const char * mScriptText;
-    uint32_t mScriptTextLength;
+        rsc_RunScript mScript;
+    };
+
+    struct Enviroment_t {
+        bool mIsRoot;
+        bool mIsOrtho;
+        float mClearColor[4];
+        float mClearDepth;
+        uint32_t mClearStencil;
+    };
+
+    Program_t mProgram;
+    Enviroment_t mEnviroment;
 
     ACCscript*    mAccScript;
-    rsc_RunScript mScript;
 
+    virtual bool run(Context *, uint32_t launchID);
 
     struct Env {
         Context *mContext;
@@ -60,14 +77,9 @@
     ~ScriptCState();
 
     ACCscript* mAccScript;
-    const char * mScriptText;
-    uint32_t mScriptTextLength;
-    rsc_RunScript mScript;
-    float mClearColor[4];
-    float mClearDepth;
-    uint32_t mClearStencil;
-    bool mIsRoot;
-    bool mIsOrtho;
+
+    ScriptC::Program_t mProgram;
+    ScriptC::Enviroment_t mEnviroment;
 
     Vector<const Type *> mConstantBufferTypes;