home *** CD-ROM | disk | FTP | other *** search
/ Classic Fond 49 / ClassicFond49.iso / games / sbmd.rar / TheGame.dll / SYMS / 128
Text File  |  1998-10-14  |  33KB  |  1,486 lines

  1. File Flow
  2. {
  3.     version { 1, 9 };
  4.     author "Tom Schenck";
  5.     copyright "(C) 1997 by Jinx Incorporated";
  6. };
  7.  
  8. DefStruct fxVec3
  9. {
  10.     tag "fxVec3";
  11.     field { x,        REAL };
  12.     field { y,        REAL };
  13.     field { Z,        REAL };
  14. };
  15.  
  16. DefStruct fxRot2
  17. {
  18.     tag "fxRot2";
  19.     field { x,        REAL };
  20.     field { y,        REAL };
  21. };
  22.  
  23. DefStruct fxCone
  24. {
  25.     tag "fxCone";
  26.     field { xMin,    REAL };
  27.     field { xMax,    REAL };
  28.     field { yMin,    REAL };
  29.     field { yMax,    REAL };
  30. };
  31.  
  32. DefStruct gAttributes
  33. {
  34.     tag "gAttributes";
  35.     field {    rHealth,        REAL };    
  36.     field {    rAccuracy,        REAL };    
  37. };
  38.  
  39. /////////////////////////////////////////////////////
  40. // custom build types
  41. /////////////////////////////////////////////////////
  42. DefEnum GameBuildTypes
  43. {
  44.     value    BeTaskSet;
  45.     value    PlayList;
  46.     value    KeyMap;
  47. };
  48.  
  49. /////////////////////////////////////////////////////
  50. // Behavior Info
  51. /////////////////////////////////////////////////////
  52. DefBitFld bvBehObjInfoFlags
  53. {
  54.     bits  { DisposeAfterDeath,     1    };
  55. };
  56.  
  57. DefBitFld bvBehFlags
  58. {
  59.     bits  { Interuptable,         1    };
  60.     bits  { Loop,                 1    };
  61.     bits  { SetHeading,         1    };
  62.     bits  { UnsetHeading,         1    };
  63.     bits  { Lock,                 1    };
  64.     bits  { Unlock,             1    };
  65.     bits  { ClearStack,         1    };
  66.     bits  { UseRgnSynch,         1    };
  67.     bits  { Procedural,         1    };
  68.     bits  { UseInternalFlags,     1    };
  69.     bits  { UsePos,                 1    };
  70.     bits  { UsePosLimits,         1    };
  71.     bits  { PosDeterminesEnd,     1    };
  72.     bits  { UseRot,                 1    };
  73.     bits  { UseRotLimits,         1    };
  74.     bits  { RotDeterminesEnd,     1    };
  75.     bits  { UseNextProcBeh,        1    };
  76. };
  77.  
  78. DefStruct bvBehObjInfo
  79. {
  80.     tag "bvBehObjInfo";
  81.     field { uFlags,                bvBehObjInfoFlags };
  82.     field { shStartBeh,            strHandle };
  83.     field { uStartBehFlags,        bvBehFlags };
  84.     field { shHitBeh,            strHandle };
  85.     field { uHitBehFlags,        bvBehFlags };
  86.     field { vAttributes,        gAttributes };
  87.     field { shDeathBeh,            strHandle };
  88.     field { uDeathBehFlags,        bvBehFlags };
  89.     field { shRgnSynchName,        strHandle };
  90.     field { _hBehStack,            mmHandle };
  91.     field { _vCurAttr,            gAttributes };
  92.     field { _hPrxBox,            mmHandle };
  93. };
  94.  
  95. DefStruct bvProcBehInfo
  96. {
  97.     tag "bvProcBehInfo";
  98.     field { uFlags,            bvBehFlags };
  99.     field { shName,            strHandle };
  100.     field { vPosIncr,        fxVec3 };
  101.     field { vRotIncr,        fxVec3 };
  102.     field { vPosLimits,        fxVec3 };
  103.     field { vRotLimits,        fxVec3 };
  104.     field { shNextProcBeh,    strHandle };
  105. };
  106.  
  107. DefProp { bvrBehObjInfo,        bvBehObjInfo,        void };
  108. DefProp { bvrProcBehInfo,        bvProcBehInfo,        void };
  109.  
  110. // methods
  111. DefNode BvrInit
  112. {
  113.     icon    0;
  114.     class    BvrInit;
  115.     field    {hObj, hGeomObj};
  116. };
  117.  
  118. DefNode BvrUpdate
  119. {
  120.     icon    0;
  121.     class    BvrUpdate;
  122.     constFlow ;
  123.     field    {hObj, hGeomObj};
  124. };
  125.  
  126. DefNode BvrCollide
  127. {
  128.     icon    0;
  129.     class    BvrCollide;
  130.     inflow    {hitObject, hGeomObj, 0, 0};
  131.     outflow {Result, BOOLDATA, 0,0};
  132.     field    {hObj,    hGeomObj};
  133. };
  134.  
  135. DefNode BvrRestore
  136. {
  137.     icon    0;
  138.     class    BvrRestore;
  139.     field    {hObj, hGeomObj};
  140.     inflow    {hPrx, hObject, 0, 0};
  141. };
  142.  
  143. DefNode BvrDispose
  144. {
  145.     icon    0;
  146.     class    BvrDispose;
  147.     field    {hObj, hGeomObj};
  148. };
  149.  
  150. DefNode BehaviorLoopMethod
  151. {
  152.     icon    0;
  153.     class    BehaviorLoopMethod;
  154.     constFlow ;
  155.     field    {hObj, hGeomObj};
  156. };
  157.  
  158. DefNode BvrLoopRestore
  159. {
  160.     icon    0;
  161.     class    BvrLoopRestore;
  162.     constFlow ;
  163.     field    {hObj, hGeomObj};
  164.     inflow    {hPrx, hObject, 0, 0};
  165. };
  166.  
  167. DefNode WatchUpdate
  168. {
  169.     icon    0;
  170.     class    WatchUpdate;
  171.     constFlow ;
  172.     field    {hObj, hGeomObj};
  173. };
  174.  
  175. DefNode LightUpdate
  176. {
  177.     icon    0;
  178.     class    LightUpdate;
  179.     constFlow ;
  180.     field    {hObj, hGeomObj};
  181. };
  182.  
  183.  
  184.  
  185.  
  186.  
  187. /////////////////////////////////////////////////////
  188. // Behavior Task
  189. /////////////////////////////////////////////////////
  190. DefEnum betCameraModeEnum
  191. {
  192.     xValue { Auto,                1 };
  193.     xValue { Shoulder,            2 };
  194.     xValue { ProfileRight,        3 };
  195.     xValue { ProfileLeft,        4 };
  196.     xValue { Above,                5 };
  197.     xValue { Lock,                6 };
  198. };
  199.  
  200. DefBitFld betCameraFlags
  201. {
  202.     bits  { CameraTeleport,             1    };
  203.     bits  { CameraPerfectFollowPos,     1    };
  204.     bits  { LoadNewLevel,                 1    };
  205.     bits  { SaveCurrentGame,             1    };
  206. };
  207.  
  208. DefStruct betCameraInfo
  209. {
  210.     tag "betCameraInfo";
  211.     field {    uMode,            betCameraModeEnum };
  212.     field {    rPosLag,        REAL };
  213.     field {    rRotLag,        REAL };
  214.     field {    rRotation,        REAL };
  215.     field {    vAutoDist,        fxVec3 };
  216.     field {    vShoulderDist,    fxVec3 };
  217.     field {    vProfileLDist,    fxVec3 };
  218.     field {    vProfileRDist,    fxVec3 };
  219.     field {    vAboveDist,        fxVec3 };
  220. };
  221.  
  222. DefStruct thePlayerCamera
  223. {
  224.     tag "thePlayerCamera";
  225.     field { PositionLagPercent,        fxVec3 };
  226.     field { RotationLagPercent,        fxVec3 };
  227.     field { TargetOffsetPointIn,    fxVec3 };
  228.     field { TargetOffsetPointOut,    fxVec3 };
  229.     field { CameraOrientationIn,    fxVec3 };
  230.     field { CameraOrientationOut,    fxVec3 };
  231.     field { CameraIdleDistance,        REAL };
  232.     field { CameraMoveDistance,        REAL };
  233.     field { CameraLookDistance,        REAL };
  234.     field { CameraMinDistance,        REAL };
  235. };
  236.  
  237. DefStruct betCameraManualInfo
  238. {
  239.     tag "betCameraManualInfo";
  240.     field {    rLongitudeSpeed,    REAL };
  241.     field {    rLatitudeSpeed,        REAL };
  242.     field {    rMinAngle,            REAL };
  243. };
  244.  
  245. DefNode AutoCamInitMethod
  246. {
  247.     icon    0;
  248.     class    CameraInit;
  249.     field    {hObj, hGeomObj};
  250. };
  251.  
  252. DefStruct betRobettInfo
  253. {
  254.     tag "betRobettInfo";
  255.     field {    rPosLag,                REAL };
  256.     field {    rRotLag,                REAL };
  257.     field {    rMinRadius,                REAL };
  258.     field {    rMaxRadius,                REAL };
  259.     field {    rMinHeightOffset,        REAL };
  260.     field {    rMaxHeightOffset,        REAL };
  261.     field {    shWeapon,                strHandle };
  262.     field {    _hWeapon,                mmHandle };
  263.     field {    shPatrolBox,            strHandle };
  264.     field {    _hPatrolBox,            mmHandle };
  265. };
  266.  
  267. DefNode RobettInit
  268. {
  269.     icon    0;
  270.     class    RobettInit;
  271.     field    {hObj, hGeomObj};
  272. };
  273.  
  274. DefEnum eFuncKeyEnum
  275. {
  276.     value F1;
  277.     value F2;
  278.     value F3;
  279.     value F4;
  280.     value F5;
  281.     value F6;
  282.     value F7;
  283.     value F8;
  284.     value F9;
  285.     value F10;
  286.     value F11;
  287.     value F12;
  288. };
  289.  
  290. DefStruct betTeleportInfo
  291. {
  292.     tag "betTeleportInfo";
  293.     field {    eFunctionKey,    eFuncKeyEnum };    
  294.     field {    shPath,            strHandle };    
  295.     field {    uFlags,            betCameraFlags };    
  296. };
  297.  
  298. DefProp { objPlayerCameraInfo,    thePlayerCamera,    void };
  299. DefProp { btCameraInfo,            betCameraInfo,         void };
  300. DefProp { btCameraManualInfo,    betCameraManualInfo,void };
  301. DefProp { btRobettInfo,            betRobettInfo,         void };
  302. DefProp { btTeleportInfo,        betTeleportInfo,    void };
  303. DefProp { btFollowPriority,        strHandle,            void };
  304. DefProp { btPatrolBox,            strHandle,            void };
  305. DefProp { btToolNavs,            strHandle,            void };
  306.  
  307. /////////////////////////////////////////////////////
  308. // Behavior Task Inventory
  309. /////////////////////////////////////////////////////
  310. DefBitFld betInvLocationFlags
  311. {
  312.     bits  { Right,                 1    };
  313.     bits  { Left,                 1    };
  314. };
  315.  
  316. DefBitFld betInvLocationType
  317. {
  318.     bits  { Hip,                 1    };
  319.     bits  { Back,                 1    };
  320. };
  321.  
  322. DefStruct betInvLocationInfo
  323. {
  324.     tag "betInvLocationInfo";
  325.     field {    shName,                strHandle };    
  326.     field {    uFlags,                betInvLocationFlags };    
  327.     field {    uType,                betInvLocationType };    
  328.     field {    _hInvLocation,        mmHandle };    
  329.     field {    shGetToolBeh,        strHandle };    
  330.     field { vToolPosOffset,        fxVec3 };
  331.     field { vToolRotOffset,        fxVec3 };
  332.     field {    _hInvObj,            mmHandle };    
  333. };
  334.  
  335. DefProp { btInvLocationInfo,        betInvLocationInfo, void };
  336.  
  337. /////////////////////////////////////////////////////
  338. // Behavior Task Tools
  339. /////////////////////////////////////////////////////
  340.  
  341. DefStruct betToolInfo
  342. {
  343.     tag "betToolInfo";
  344.     field {    uFlags,                betInvLocationFlags };    
  345.     field {    uType,                betInvLocationType };    
  346.     field {    shShootBehavior,    strHandle };    
  347.     field {    Cone,                fxCone };    
  348.     field {    rDistMin,            REAL };    
  349.     field {    rDistMax,            REAL };    
  350.     field {    rInterpLag,            REAL };    
  351. };
  352.  
  353. DefStruct betToolAmmoInfo
  354. {
  355.     tag "betToolAmmoInfo";
  356.     field { shPkgName,        strHandle };
  357.     field { shName,            strHandle };
  358.     field {    iType,            INT32 };
  359.     field {    iMaxInFlight,    INT32 };
  360.     field { _hAmmoArray,    mmHandle };
  361.     field { _hAmmoPackage,    mmHandle };
  362.     field { _hAmmoInstance,    mmHandle };
  363.     field { _hAmmoMaster,    mmHandle };
  364. };
  365.  
  366. DefProp { btToolInfo,                betToolInfo,        void };
  367. DefProp { btToolAmmoInfo,            betToolAmmoInfo,    void };
  368.  
  369. DefNode ToolAmmoExplosion
  370. {
  371.     icon    0;
  372.     class    ToolAmmoExplosion;
  373.     constFlow ;
  374.     field    {hObj, hGeomObj};
  375. };
  376.  
  377. //DefNode ToolAmmoProjectile
  378. //{
  379. //    icon    0;
  380. //    class    ToolAmmoProjectile;
  381. //    const