<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    Hi Justin,<br>
    I have opened an issue (<span style="color: rgb(0, 0, 0);
      font-family: Verdana, Arial, Helvetica, sans-serif; font-size:
      13px; font-style: normal; font-variant: normal; font-weight:
      normal; letter-spacing: normal; line-height: normal; orphans: 2;
      text-align: left; text-indent: 0px; text-transform: none;
      white-space: normal; widows: 2; word-spacing: 0px;
      -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;
      background-color: rgb(216, 216, 216); display: inline !important;
      float: none; ">0005924) in Bug tracker and added a patch to it.<br>
      Thanks<br>
      Sat<br>
      <br>
    </span>On 3/7/2012 6:24 PM, satguru p srivastava wrote:
    <blockquote cite="mid:4F57FC4E.6080109@mchsi.com" type="cite">Hi
      Justin, I will go ahead a post a patch. I am not familiar enough
      with the code base to take up any kind of  refactoring. I will
      leave that to you :)
      <br>
      Thanks
      <br>
      Sat
      <br>
      <br>
      On 3/6/2012 8:21 PM, Justin Clark-Casey wrote:
      <br>
      <blockquote type="cite">Hi satguru,  This was not done
        deliberately.  If you could post a patch to Mantis with the hack
        that would be much appreciated.  I would probably end up
        refactoring the code so that both LLClientView and NPCAvatar
        call a single method but you don't need to do that yourself
        (unless you want to :).
        <br>
        <br>
        On 07/03/12 01:10, satguru p srivastava wrote:
        <br>
        <blockquote type="cite">Ok, I downloaded and checked the source.
          <br>
          After some digging around I was able to see what was
          happening.
          <br>
          Made some quick and dirty changes and was able to make the NPC
          play internal animations!! How about that !!
          <br>
          <br>
          Before I explain what I found let me first state that I was
          pleasantly surprised by how smooth the whole process of
          <br>
          setting up and building the project was.
          <br>
          I was dreading a complicated setup and a large build time.
          <br>
          The setup was simple and the build pretty fast, usually less
          than a minute.
          <br>
          Thank you developers for making this so easy.
          <br>
          <br>
          Anyway here is what I found.
          <br>
          If the animation specified in an animation function does not
          exist in the prim then the server checks to see if there is
          <br>
          an internal animation with that name.
          <br>
          If it finds one then it passes its UUID to the client else it
          passes UUID.Zero.
          <br>
          <br>
          For normal avatar this is done, I think, by class
          "OpenSim.Region.ClientStack.lindenUDP.LLClientView" method
          <br>
          GetDefaultAnimation(string name)
          <br>
          This basically checks against the animations listed in the
          "data/avataranimations.xml" file
          <br>
          <br>
          For NPC this is done by
          "OpenSim.region.OptionalModules.World.NPCAvatar" method
          GetDefaultAnimation(string name)
          <br>
          For some reason this does not perform any check and always
          returns UUID.Zero.
          <br>
          <br>
          I copied the method code from LLClientview to NPCAvatar and
          was able to make the NPC Avatar play internal animations.
          <br>
          <br>
          Now I am not sure if the code was intentionally written this
          way and if not then if the hack which I did was the proper
          <br>
          way to solve this.
          <br>
          Hope some developer helps out with this.
          <br>
          <br>
          Thanks
          <br>
          Sat
          <br>
          <br>
          <br>
          On 3/5/2012 9:41 PM, satguru p srivastava wrote:
          <br>
          <blockquote type="cite">I think I will download the source
            code and have a go at it.
            <br>
            Thanks
            <br>
            Sat
            <br>
            <br>
            <br>
            On 3/5/2012 9:08 PM, Gudule Lapointe wrote:
            <br>
            <blockquote type="cite">I am not quite sure about the
              detailed protocol between server and client for animation,
              so I would be happy if
              <br>
              someone smarter on this field can confirm or correct...
              <br>
              <br>
              What I am sure is
              <br>
              - client can play the animation if it's included in the
              client software or sent by the server
              <br>
              - script can send the animation only if it's inside the
              prim where the script resides.
              <br>
              That is: first steps needed to animate an avatar
              <br>
              <br>
              After the avatar has confirmed and accepted the animation,
              there is a protocol, which is certainly more complicate,
              <br>
              to deploy this animation to other viewers, (exchange of
              UUID / animations, updates on moves, whatever…). But it
              would
              <br>
              occur only once the avatar has confirmed it can handle the
              animation
              <br>
              <br>
              So, it sounds logical to me that the avatar can be
              animated only if it's own client owns the animation.
              <br>
              <br>
              -- <br>
              <a class="moz-txt-link-freetext" href="http://www.speculoos.net/">http://www.speculoos.net/</a>
              <br>
              <a class="moz-txt-link-freetext" href="secondlife://speculoos.net:8002/">secondlife://speculoos.net:8002/</a>
              <br>
              Speculoos, the belgian cookie-flavored metaverse
              <br>
              <br>
              Le 6 mars 2012 à 03:46, satguru p srivastava a écrit :
              <br>
              <br>
              <blockquote type="cite">I guess I must be dense :(
                <br>
                I still do not get it.
                <br>
                <br>
                Below is how I think the animation system works.
                <br>
                Let me know where I am wrong.
                <br>
                I have a Avatar or a NPC with an attachment.
                <br>
                The attachment has script which plays an animation using
                an animation function like llStartAnimation().
                <br>
                Now like any other script, the script when triggered,
                will run on the server side. (Right ?)
                <br>
                When the server encounters the animation function the
                server will send a message to the client asking it to
                play an
                <br>
                animation with that UUID
                <br>
                If the client has an animation with that UUID it will
                animate the Avatar or NPC with that animation else it
                will ask
                <br>
                the server to send the animation and will animate when
                it receives it.
                <br>
                If the animation is internal animation and if it is, as
                you say, part of the client then the client already has
                it
                <br>
                and should be able to animate the Avatar/NPC
                <br>
                <br>
                Sorry to belabor this but it seems I am obviously
                missing a major concept and would like to figure out
                what :))
                <br>
                <br>
                Thanks
                <br>
                Sat
                <br>
                <br>
                <br>
                On 3/5/2012 7:55 PM, Gudule Lapointe wrote:
                <br>
                <blockquote type="cite">Obviously, everything runs on
                  client side, that's the point of a client ;-)
                  <br>
                  <br>
                  I think what was meant is that internal animations are
                  part of the client, not loaded from server.
                  <br>
                  <br>
                  As your NPC is not controlled by a client, it doesn't
                  have these animations at disposal, unless you put them
                  in
                  <br>
                  your script's prim.
                  <br>
                  <br>
                  -- <br>
                  <a class="moz-txt-link-freetext" href="http://www.speculoos.net/">http://www.speculoos.net/</a>
                  <br>
                  <a class="moz-txt-link-freetext" href="secondlife://speculoos.net:8002/">secondlife://speculoos.net:8002/</a>
                  <br>
                  Speculoos, the belgian cookie-flavored metaverse
                  <br>
                  <br>
                  Le 6 mars 2012 à 02:48, satguru p srivastava a écrit :
                  <br>
                  <br>
                  <blockquote type="cite">Garmin,
                    <br>
                    <br>
                    Thanks for pointing out the BVH files.
                    <br>
                    121 files!!
                    <br>
                    A bit of a pain uploading them :)
                    <br>
                    You also loose the per bone priorites which you get
                    with internal/default animations.
                    <br>
                    Also I am assuming that user loaded animations are
                    not as efficient as internal ones. Right?
                    <br>
                    <br>
                    I am still curious why the internal animations do
                    not play.
                    <br>
                    As far as I know all animations run on client side.
                    <br>
                    The triggers for animation can come from client side
                    (example when a users presses a key to make the
                    avatar walk)
                    <br>
                    or from server side (example when if it is being
                    called from script).
                    <br>
                    NPCs animations are triggered from scripts.
                    <br>
                    How is this different from Avatar animations being
                    triggered from scripts ?
                    <br>
                    <br>
                    Thanks
                    <br>
                    Sat
                    <br>
                    <br>
                    <br>
                    <br>
                    On 3/5/2012 5:34 AM, Garmin Kawaguichi wrote:
                    <br>
                    <blockquote type="cite">True, Trinity! User Playable
                      Internal Animations are serverside; you cannot use
                      them with NPCs but...
                      <br>
                      ... the BVH files corresponding to the Internal
                      Animation are at :
                      <br>
                      <a class="moz-txt-link-freetext" href="http://static-secondlife-com.s3.amazonaws.com/downloads/avatar/bvh_files.zip">http://static-secondlife-com.s3.amazonaws.com/downloads/avatar/bvh_files.zip</a>
                      <br>
                      as it is specified in the SL Wiki :
                      <a class="moz-txt-link-freetext" href="http://wiki.secondlife.com/wiki/Internal_Animations">http://wiki.secondlife.com/wiki/Internal_Animations</a>
                      <br>
                      GCI
                      <br>
                      <br>
                          ----- Original Message -----
                      <br>
                          *From:* Trinity
                      <a class="moz-txt-link-rfc2396E" href="mailto:trinity93@gmail.com"><mailto:trinity93@gmail.com></a>
                      <br>
                          *Sent:* Monday, March 05, 2012 6:58 AM
                      <br>
                          *Subject:* Re: [Opensim-users] NPC and
                      internal Animations
                      <br>
                          Because some animations are built into the
                      viewer and npcs dont use a viewer and perhaps for
                      security
                      <br>
                          reasons. Im not really completely sure to be
                      honest.
                      <br>
                      <br>
                      <br>
                      <br>
                      _______________________________________________
                      <br>
                      Opensim-users mailing list
                      <br>
                      <a class="moz-txt-link-abbreviated" href="mailto:Opensim-users@lists.berlios.de">Opensim-users@lists.berlios.de</a>
                      <br>
<a class="moz-txt-link-freetext" href="https://lists.berlios.de/mailman/listinfo/opensim-users">https://lists.berlios.de/mailman/listinfo/opensim-users</a>
                      <br>
                    </blockquote>
                    _______________________________________________
                    <br>
                    Opensim-users mailing list
                    <br>
                    <a class="moz-txt-link-abbreviated" href="mailto:Opensim-users@lists.berlios.de">Opensim-users@lists.berlios.de</a>
                    <a class="moz-txt-link-rfc2396E" href="mailto:Opensim-users@lists.berlios.de"><mailto:Opensim-users@lists.berlios.de></a>
                    <br>
<a class="moz-txt-link-freetext" href="https://lists.berlios.de/mailman/listinfo/opensim-users">https://lists.berlios.de/mailman/listinfo/opensim-users</a>
                    <br>
                  </blockquote>
                  <br>
                  <br>
                  <br>
                  _______________________________________________
                  <br>
                  Opensim-users mailing list
                  <br>
                  <a class="moz-txt-link-abbreviated" href="mailto:Opensim-users@lists.berlios.de">Opensim-users@lists.berlios.de</a>
                  <br>
<a class="moz-txt-link-freetext" href="https://lists.berlios.de/mailman/listinfo/opensim-users">https://lists.berlios.de/mailman/listinfo/opensim-users</a>
                  <br>
                </blockquote>
                _______________________________________________
                <br>
                Opensim-users mailing list
                <br>
                <a class="moz-txt-link-abbreviated" href="mailto:Opensim-users@lists.berlios.de">Opensim-users@lists.berlios.de</a>
                <a class="moz-txt-link-rfc2396E" href="mailto:Opensim-users@lists.berlios.de"><mailto:Opensim-users@lists.berlios.de></a>
                <br>
                <a class="moz-txt-link-freetext" href="https://lists.berlios.de/mailman/listinfo/opensim-users">https://lists.berlios.de/mailman/listinfo/opensim-users</a>
                <br>
              </blockquote>
              <br>
              <br>
              <br>
              _______________________________________________
              <br>
              Opensim-users mailing list
              <br>
              <a class="moz-txt-link-abbreviated" href="mailto:Opensim-users@lists.berlios.de">Opensim-users@lists.berlios.de</a>
              <br>
              <a class="moz-txt-link-freetext" href="https://lists.berlios.de/mailman/listinfo/opensim-users">https://lists.berlios.de/mailman/listinfo/opensim-users</a>
              <br>
            </blockquote>
            <br>
            <br>
            _______________________________________________
            <br>
            Opensim-users mailing list
            <br>
            <a class="moz-txt-link-abbreviated" href="mailto:Opensim-users@lists.berlios.de">Opensim-users@lists.berlios.de</a>
            <br>
            <a class="moz-txt-link-freetext" href="https://lists.berlios.de/mailman/listinfo/opensim-users">https://lists.berlios.de/mailman/listinfo/opensim-users</a>
            <br>
          </blockquote>
          <br>
          <br>
          _______________________________________________
          <br>
          Opensim-users mailing list
          <br>
          <a class="moz-txt-link-abbreviated" href="mailto:Opensim-users@lists.berlios.de">Opensim-users@lists.berlios.de</a>
          <br>
          <a class="moz-txt-link-freetext" href="https://lists.berlios.de/mailman/listinfo/opensim-users">https://lists.berlios.de/mailman/listinfo/opensim-users</a>
          <br>
        </blockquote>
        <br>
        <br>
      </blockquote>
      _______________________________________________
      <br>
      Opensim-users mailing list
      <br>
      <a class="moz-txt-link-abbreviated" href="mailto:Opensim-users@lists.berlios.de">Opensim-users@lists.berlios.de</a>
      <br>
      <a class="moz-txt-link-freetext" href="https://lists.berlios.de/mailman/listinfo/opensim-users">https://lists.berlios.de/mailman/listinfo/opensim-users</a>
      <br>
      <br>
    </blockquote>
  </body>
</html>