Hello, Thanks for reply, Do you add it to 2238 branch? Im using 2238 branch - no tla sdk.  
Cvet paste me this log, but I dont understund where is this TextRect structure. I searhed all folder with total commander, and in any file i didn't find it.
[20:29:54] <~cvet> Here. You mean pass parameters from scripts or fo3d files?
[20:31:17] <~cvet> Both is possible.
[20:38:17] <cirn1> How to pass from script to shader
[20:38:35] <cirn1> to the  .fx or .glsl
[20:38:47] <cirn1> use 3rd party library?
[21:51:47] <~cvet> Global variables __EffectValue0..9.
[21:52:13] <~cvet> Type is float.
[21:53:21] <cirn1> inside Shader it is referenced as same?
[21:54:20] <~cvet> Without __.
[21:54:36] <~cvet> uniform float EffectValue0;
[21:55:03] <cirn1> Great, have you visited the forum post about my first question?
[21:56:21] <[DP]LoadRunner> http://www.fonline.ru/forum/threads/3935/
[21:57:06] <~cvet> Title is about one, first post about another, what do you want to know?
[21:57:27] <cirn1> If there is a reference between sprite object and a critter
[21:58:31] <cirn1> Is possible to get the rendered position of the critter's sprite by script?
[22:12:51] <~cvet> For now I see this way. It's next fields for CritterCl class:
[22:12:54] <~cvet> UShortPairVec MoveSteps;
[22:12:54] <~cvet>     int           CurMoveStep;
[22:12:54] <~cvet>     ...
[22:12:54] <~cvet> private:
[22:12:54] <~cvet>     bool needReSet;
[22:12:54] <~cvet>     uint reSetTick;
[22:12:54] <~cvet>     ...
[22:12:54] <~cvet> public:
[22:12:54] <~cvet>     void*             Layers3d;
[22:12:54] <~cvet>     ...
[22:12:54] <~cvet> private:
[22:12:54] <~cvet>     uint curSpr, lastEndSpr;
[22:12:54] <~cvet>     uint animStartTick;
[22:12:54] <~cvet>     ...
[22:12:54] <~cvet>     typedef vector< CritterAnim > CritterAnimVec;
[22:12:54] <~cvet>     CritterAnimVec animSequence;
[22:12:54] <~cvet>     CritterAnim    stayAnim;
[22:12:54] <~cvet>     ...
[22:12:54] <~cvet> public:
[22:12:54] <~cvet>     Animation3d* Anim3d;
[22:12:54] <~cvet>     Animation3d* Anim3dStay;
[22:12:54] <~cvet>     bool         Visible;
[22:12:54] <~cvet>     uchar        Alpha;
[22:12:54] <~cvet>     Rect         DRect;
[22:12:54] <~cvet>     bool         SprDrawValid;
[22:12:54] <~cvet>     Sprite*      SprDraw;
[22:12:54] <~cvet>     uint         SprId;
[22:12:54] <~cvet>     short        SprOx, SprOy;
[22:13:26] <~cvet> UShortPairVec, CritterAnimVec - vectors, size is 12.
[22:14:16] <~cvet> Rect         DRect; - here bounds.
[22:14:29] <~cvet> uint         SprId; - drawing sprite.
[22:14:38] <~cvet> short        SprOx, SprOy; - offsets.
[22:15:57] <~cvet> Whole in the end:
[22:15:57] <~cvet>     bool         SprDrawValid;
[22:15:57] <~cvet>     Sprite*      SprDraw;
[22:15:57] <~cvet>     uint         SprId;
[22:15:57] <~cvet>     short        SprOx, SprOy;
[22:15:57] <~cvet>     // Extra offsets
[22:15:57] <~cvet>     short        OxExtI, OyExtI;
[22:15:57] <~cvet>     float        OxExtF, OyExtF;
[22:15:57] <~cvet>     float        OxExtSpeed, OyExtSpeed;
[22:15:57] <~cvet>     uint         OffsExtNextTick;
[22:15:57] <~cvet>     int  staySprDir;
[22:15:57] <~cvet>     uint staySprTick;
[22:15:57] <~cvet>     uint finishingTime;
[22:15:57] <~cvet>     bool fadingEnable;
[22:15:57] <~cvet>     bool fadeUp;
[22:15:57] <~cvet>     uint FadingTick;
[22:15:57] <~cvet>     Rect   textRect;
[22:15:57] <~cvet>     uint   tickFidget;
[22:15:57] <~cvet>     string strTextOnHead;
[22:15:57] <~cvet>     uint   tickStartText;
[22:15:57] <~cvet>     uint   tickTextDelay;
[22:15:57] <~cvet>     uint   textOnHeadColor;
[22:15:57] <~cvet>     short RefCounter;
[22:15:57] <~cvet>     bool  IsNotValid;
[22:18:05] <~cvet> sizeof CritterAnim = 40
[22:23:25] <~cvet> Add this to end of CritterCl:
[22:23:32] <cirn1> Ah ok
[22:23:37] <~cvet> char                  RawData[112];
[22:23:37] <~cvet>     struct { L, T, R, B } DRect;
[22:23:37] <~cvet>     bool                  SprDrawValid;
[22:23:37] <~cvet>     Sprite*               SprDraw;
[22:23:37] <~cvet>     uint                  SprId;
[22:23:37] <~cvet>     short                 SprOx, SprOy;
[22:23:58] <~cvet> char                  RawData[112];
[22:23:58] <~cvet> struct { L, T, R, B } DRect;
[22:23:58] <~cvet> bool                  SprDrawValid;
[22:23:58] <~cvet> Sprite*               SprDraw;
[22:23:58] <~cvet> uint                  SprId;
[22:23:58] <~cvet> short                 SprOx, SprOy;
[22:28:37] <~cvet> char                  RawData[112];
[22:28:37] <~cvet> struct { L, T, R, B } SpriteRect;
[22:28:37] <~cvet> bool                  SprDrawValid;
[22:28:37] <~cvet> Sprite*               SprDraw;
[22:28:37] <~cvet> uint                  SprId;
[22:28:37] <~cvet> short                 SprOx, SprOy;
[22:28:37] <~cvet> char                  RawData2[44];
[22:28:37] <~cvet> struct { L, T, R, B } TextRect;
[22:28:44] <~cvet> ...............
[22:28:47] <~cvet> char                  RawData[112];
[22:28:47] <~cvet> struct { L, T, R, B } SpriteRect;
[22:28:47] <~cvet> bool                  SprDrawValid;
[22:28:47] <~cvet> Sprite*               SprDraw;
[22:28:47] <~cvet> uint                  SprId;
[22:28:47] <~cvet> short                 SprOx, SprOy;
[22:28:47] <~cvet> char                  RawData2[44];
[22:28:47] <~cvet> struct { L, T, R, B } TextRect;
[22:29:13] <~cvet> SpriteRect - sprite rect, TextRect - text on head.
[22:29:35] <~cvet> struct { L, T, R, B } - struct { int L, T, R, B; }
[22:35:26] <cirn1> it is inside fonline.h I add, extend myself to get the sprite info?
[22:38:49] <~cvet> Yes, to CritterCl, in the end of structure.
[22:39:34] <cirn1> I will update the forum with this information 
[22:41:35] <cirn1> Thank you, one last one for today, is possible to setEffect only for critter with script? I know the engine supports it.
[22:42:26] <~cvet> Whole client critter engine header http://codepad.org/StQmcKBt
[22:43:01] <~cvet> Don't know what you mean, but you can set effect by critter id.
[22:43:33] <cirn1> currently void SetEffect(int effectType, int effectSubtype, string@ effectName);
[22:44:29] <~cvet> bool SetEffect(int effectType, int effectSubtype, string@+ effectName, string@+ effectDefines = null)
[22:45:04] <cirn1> must be inside newer rev
[22:45:05] <~cvet> https://xp-dev.com/sc/change/76003/394
[22:45:09] <cirn1> ok
[22:45:13] <cirn1> Thats great
[22:45:33] <~cvet> >EFFECT_2D_CRITTER - при указании id криттера, эффект сменится только для него; при передаче 0 сменится эффект по умолчанию;