﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-&lt;FONT face="Arial Black" size=12&gt;&lt;FONT color=#663399 qq&gt;F&lt;/FONT&gt;&lt;FONT color=#00ade5 qq&gt;e&lt;/FONT&gt;&lt;FONT color=#663399 qq&gt;l&lt;/FONT&gt;&lt;FONT color=#00b085 qq&gt;i&lt;/FONT&gt;&lt;FONT color=#cc6633 qq&gt;c&lt;/FONT&gt;&lt;FONT color=#00b085 qq&gt;i&lt;/FONT&gt;&lt;FONT color=#00ade5 qq&gt;a&lt;/FONT&gt;&lt;/FONT&gt;</title><link>http://www.cppblog.com/Felicia/</link><description /><language>zh-cn</language><lastBuildDate>Fri, 10 Apr 2026 19:46:54 GMT</lastBuildDate><pubDate>Fri, 10 Apr 2026 19:46:54 GMT</pubDate><ttl>60</ttl><item><title>[导入]论函数调用约定(修订版)</title><link>http://www.cppblog.com/Felicia/archive/2010/10/23/133720.html</link><dc:creator>Felicia</dc:creator><author>Felicia</author><pubDate>Fri, 22 Oct 2010 17:16:00 GMT</pubDate><guid>http://www.cppblog.com/Felicia/archive/2010/10/23/133720.html</guid><wfw:comment>http://www.cppblog.com/Felicia/comments/133720.html</wfw:comment><comments>http://www.cppblog.com/Felicia/archive/2010/10/23/133720.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Felicia/comments/commentRss/133720.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Felicia/services/trackbacks/133720.html</trackback:ping><description><![CDATA[<h2>前言</h2><p>在C语言中，假设我们有这样的一个函数：</p><pre>
<span class="readmore"><a href="http://gccfeli.cn/2010/10/calling-convention.html" title="论函数调用约定(修订版)">阅读全文（4746字）</a></span><br>文章来源:<a href='http://gccfeli.cn/2010/10/calling-convention.html'>http://gccfeli.cn/2010/10/calling-convention.html</a><img src ="http://www.cppblog.com/Felicia/aggbug/133720.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Felicia/" target="_blank">Felicia</a> 2010-10-23 01:16 <a href="http://www.cppblog.com/Felicia/archive/2010/10/23/133720.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]CodeColorer的可视化插入代码</title><link>http://www.cppblog.com/Felicia/archive/2010/10/20/133721.html</link><dc:creator>Felicia</dc:creator><author>Felicia</author><pubDate>Tue, 19 Oct 2010 23:31:00 GMT</pubDate><guid>http://www.cppblog.com/Felicia/archive/2010/10/20/133721.html</guid><wfw:comment>http://www.cppblog.com/Felicia/comments/133721.html</wfw:comment><comments>http://www.cppblog.com/Felicia/archive/2010/10/20/133721.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Felicia/comments/commentRss/133721.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Felicia/services/trackbacks/133721.html</trackback:ping><description><![CDATA[<p>因为原先用的代码高亮插件CoolCode不能高亮C#代码，最近尝试着使用另一个非常优秀的代码高亮插件<a
href="http://kpumuk.info/projects/wordpress-plugins/codecolorer/">CodeColorer</a>来显示代码。CodeColorer使用牛X的<a
href="http://qbnz.com/highlighter/">GeSHi</a>库作为后端，能支持上百种不同语言的高亮，的确十分强大。</p> <span
class="readmore"><a
href="http://gccfeli.cn/2010/10/codecolorer-insert-code-in-wysiwyg-editor.html" title="CodeColorer的可视化插入代码">阅读全文（597字）</a></span><br>文章来源:<a href='http://gccfeli.cn/2010/10/codecolorer-insert-code-in-wysiwyg-editor.html'>http://gccfeli.cn/2010/10/codecolorer-insert-code-in-wysiwyg-editor.html</a><img src ="http://www.cppblog.com/Felicia/aggbug/133721.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Felicia/" target="_blank">Felicia</a> 2010-10-20 07:31 <a href="http://www.cppblog.com/Felicia/archive/2010/10/20/133721.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]Gravatar头像被墙的解决方法</title><link>http://www.cppblog.com/Felicia/archive/2010/10/17/133722.html</link><dc:creator>Felicia</dc:creator><author>Felicia</author><pubDate>Sun, 17 Oct 2010 07:58:00 GMT</pubDate><guid>http://www.cppblog.com/Felicia/archive/2010/10/17/133722.html</guid><wfw:comment>http://www.cppblog.com/Felicia/comments/133722.html</wfw:comment><comments>http://www.cppblog.com/Felicia/archive/2010/10/17/133722.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Felicia/comments/commentRss/133722.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Felicia/services/trackbacks/133722.html</trackback:ping><description><![CDATA[<p>这两天Gravatar被墙，真是吐血，博客上所有的头像都不能显示了。BS抽风的GFW。</p><p>经测试，虽然%d.gravatar.com不能访问，但是gravatar.com还是可以访问的，因此解决方法也很简单：</p><p>将&#8221;wp-includes/pluggable.php&#8221;文件中的1649-1652行：</p> <span
class="readmore"><a
href="http://gccfeli.cn/2010/10/gravatar-gfw.html" title="Gravatar头像被墙的解决方法">阅读全文（338字）</a></span><br>文章来源:<a href='http://gccfeli.cn/2010/10/gravatar-gfw.html'>http://gccfeli.cn/2010/10/gravatar-gfw.html</a><img src ="http://www.cppblog.com/Felicia/aggbug/133722.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Felicia/" target="_blank">Felicia</a> 2010-10-17 15:58 <a href="http://www.cppblog.com/Felicia/archive/2010/10/17/133722.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]Win7下解决80端口被占用的办法</title><link>http://www.cppblog.com/Felicia/archive/2010/10/16/133723.html</link><dc:creator>Felicia</dc:creator><author>Felicia</author><pubDate>Sat, 16 Oct 2010 07:40:00 GMT</pubDate><guid>http://www.cppblog.com/Felicia/archive/2010/10/16/133723.html</guid><wfw:comment>http://www.cppblog.com/Felicia/comments/133723.html</wfw:comment><comments>http://www.cppblog.com/Felicia/archive/2010/10/16/133723.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Felicia/comments/commentRss/133723.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Felicia/services/trackbacks/133723.html</trackback:ping><description><![CDATA[<p>Win7的80端口默认是被System进程占用的。在cmd下输入</p><pre>
<div class="codecolorer-container powershell mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="powershell codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">netstat <span style="color: pink;">-</span>aon <span style="color: pink;">&#124;</span> findstr <span style="color: #804000;">80</span></div></div>
<span class="readmore"><a href="http://gccfeli.cn/2010/10/win7-solve-80-port-occupied.html" title="Win7下解决80端口被占用的办法">阅读全文（318字）</a></span><br>文章来源:<a href='http://gccfeli.cn/2010/10/win7-solve-80-port-occupied.html'>http://gccfeli.cn/2010/10/win7-solve-80-port-occupied.html</a><img src ="http://www.cppblog.com/Felicia/aggbug/133723.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Felicia/" target="_blank">Felicia</a> 2010-10-16 15:40 <a href="http://www.cppblog.com/Felicia/archive/2010/10/16/133723.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]C# 泛型+扩展方法</title><link>http://www.cppblog.com/Felicia/archive/2010/10/15/133724.html</link><dc:creator>Felicia</dc:creator><author>Felicia</author><pubDate>Fri, 15 Oct 2010 09:17:00 GMT</pubDate><guid>http://www.cppblog.com/Felicia/archive/2010/10/15/133724.html</guid><wfw:comment>http://www.cppblog.com/Felicia/comments/133724.html</wfw:comment><comments>http://www.cppblog.com/Felicia/archive/2010/10/15/133724.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Felicia/comments/commentRss/133724.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Felicia/services/trackbacks/133724.html</trackback:ping><description><![CDATA[<p>C# 3.0及以后版本提供了扩展方法这一强大工具，使得动态扩展类变得十分方便。具体使用方法是定义一个static class，然后定义static扩展方法，注意扩展方法的第一个参数必须用this关键字修饰。扩展方法能像类本身定义的方法一样被使用，而不需要修改类的代码，这样扩展原有库中的类就变得非常容易了。扩展方法同样对接口生效，更牛X的是，扩展方法中同样可以使用泛型。</p><p>下面是一个例子，展示了怎样扩展IEnumerable接口，增加一个RandomSelect的方法用于在表中随机选取元素。</p> <span
class="readmore"><a
href="http://gccfeli.cn/2010/10/c-generic-extend-method.html" title="C# 泛型+扩展方法">阅读全文（865字）</a></span><br>文章来源:<a href='http://gccfeli.cn/2010/10/c-generic-extend-method.html'>http://gccfeli.cn/2010/10/c-generic-extend-method.html</a><img src ="http://www.cppblog.com/Felicia/aggbug/133724.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Felicia/" target="_blank">Felicia</a> 2010-10-15 17:17 <a href="http://www.cppblog.com/Felicia/archive/2010/10/15/133724.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> &lt;天龙八部Online&gt;资源包Axp格式研究 </title><link>http://www.cppblog.com/Felicia/archive/2009/01/25/72566.html</link><dc:creator>Felicia</dc:creator><author>Felicia</author><pubDate>Sun, 25 Jan 2009 02:53:00 GMT</pubDate><guid>http://www.cppblog.com/Felicia/archive/2009/01/25/72566.html</guid><wfw:comment>http://www.cppblog.com/Felicia/comments/72566.html</wfw:comment><comments>http://www.cppblog.com/Felicia/archive/2009/01/25/72566.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/Felicia/comments/commentRss/72566.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Felicia/services/trackbacks/72566.html</trackback:ping><description><![CDATA[很久没有做过逆向了，今天就玩了玩，并且玩了一整天。以下为研究成果。<br>Axp包其实是很简单的，结构简单，明文保存。<br><br>Axp文件格式大致上如下：<br>1.文件头；<br>2.索引表；<br>3.文件名表；<br>4.数据。<br>其中，文件名表以文件名为(list)的文件存在于数据当中。我想，之所以要有这么一个东西，而不和索引表合二为一，恐怕是因为文件名是变长之故吧。<br><br>Axp文件头的格式大致为：<br>1. 文件标示，一般为字符串&#8220;AXPK&#8221;，它占据了四个字节，占据空间为0x00-0x04；<br>2.索引表偏移量，为unit，它占据了四个字节，占据的空间为：0x10-0x13；<br>3.文件数，为unit，它占据了四个字节，占据的空间为：0x14-0x17。<br>文件头占据40个字节，既是在0x00-0x27的空间内。<br><br>一般来说，索引表的偏移量为：0x60028，数据区的偏移量为：0x160028.<br>不过还是依照以下流程获取偏移量为好：<br>1.获取文件头的索引表偏移量；<br>2.使用索引表偏移量定位到文件具体位置；<br>3.使用文件头获取到的文件数来读取文件数条索引；<br>4.根据索引查找文件。<br>在
这里我是很纳闷的：文件名表文件没有特殊位置，也似乎没有看到有文件头保存的偏移量指向它，如何去获取这个文件是个很令我困扰的事情。另外，表里面的文件
名顺序和资源包里面的文件排列顺序似乎是没有一个顺序对应的关系的。如何将索引表和文件名表进行关联，又是一个令人困扰的事情，或许能够解释通的大概就是
他们是读取后需要排序的，或者说还有什么特别的相关数据我没有获取到。<br><br><br>索引表的索引：<br>1.偏移量，unit；<br>2.文件大小，unit；<br>3.标志位，unit，现在似乎只有0x00000000和0x80000000两个标识，用于标示该文件是否可以被使用或者已经被删除。<br><br><br>到现在为止，最令我困惑的就是那两张表该如何进行关联和绑定数据。还有就是如何去获取文件名表。<img src ="http://www.cppblog.com/Felicia/aggbug/72566.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Felicia/" target="_blank">Felicia</a> 2009-01-25 10:53 <a href="http://www.cppblog.com/Felicia/archive/2009/01/25/72566.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何加载《天龙八部》Skeleton</title><link>http://www.cppblog.com/Felicia/archive/2009/01/25/72565.html</link><dc:creator>Felicia</dc:creator><author>Felicia</author><pubDate>Sun, 25 Jan 2009 02:36:00 GMT</pubDate><guid>http://www.cppblog.com/Felicia/archive/2009/01/25/72565.html</guid><wfw:comment>http://www.cppblog.com/Felicia/comments/72565.html</wfw:comment><comments>http://www.cppblog.com/Felicia/archive/2009/01/25/72565.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Felicia/comments/commentRss/72565.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Felicia/services/trackbacks/72565.html</trackback:ping><description><![CDATA[<span style="color: red;">说明：本文章纯属学习之用，如有商业之用，与本人无关。</span><br><br>网络游戏《天龙八部》采用的是Ogre3d作为其客户端渲染引擎，他们对之做了许多自定义的修改，在这里作为学习只用，特别说明一下其自定义的Skeleton的格式，以及如何加载的办法。<br><br>天龙八部加入了这样一个区段：<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">SKELETON_ANIMATION_TRACK_MULTI_KEYFRAME&nbsp;&nbsp;</span><span style="color: #000000;">0x4120</span><span style="color: #000000;">&nbsp;(</span><span style="color: #000000;">16672</span><span style="color: #000000;">)</span></div>
在加入了这个区段的内容之后，其格式大概就是这样一个样子：<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">enum</span><span style="color: #000000;">&nbsp;SkeletonChunkID&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SKELETON_HEADER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0x1000</span><span style="color: #000000;">,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;char*&nbsp;version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;Version&nbsp;number&nbsp;check</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SKELETON_BONE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0x2000</span><span style="color: #000000;">,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Repeating&nbsp;section&nbsp;defining&nbsp;each&nbsp;bone&nbsp;in&nbsp;the&nbsp;system.&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Bones&nbsp;are&nbsp;assigned&nbsp;indexes&nbsp;automatically&nbsp;based&nbsp;on&nbsp;their&nbsp;order&nbsp;of&nbsp;declaration<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;starting&nbsp;with&nbsp;0.<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;char*&nbsp;name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;name&nbsp;of&nbsp;the&nbsp;bone<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;unsigned&nbsp;short&nbsp;handle&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;handle&nbsp;of&nbsp;the&nbsp;bone,&nbsp;should&nbsp;be&nbsp;contiguous&nbsp;&amp;&nbsp;start&nbsp;at&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Vector3&nbsp;position&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;position&nbsp;of&nbsp;this&nbsp;bone&nbsp;relative&nbsp;to&nbsp;parent&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Quaternion&nbsp;orientation&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;orientation&nbsp;of&nbsp;this&nbsp;bone&nbsp;relative&nbsp;to&nbsp;parent&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Vector3&nbsp;scale&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;scale&nbsp;of&nbsp;this&nbsp;bone&nbsp;relative&nbsp;to&nbsp;parent&nbsp;</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SKELETON_BONE_PARENT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0x3000</span><span style="color: #000000;">,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Record&nbsp;of&nbsp;the&nbsp;parent&nbsp;of&nbsp;a&nbsp;single&nbsp;bone,&nbsp;used&nbsp;to&nbsp;build&nbsp;the&nbsp;node&nbsp;tree<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Repeating&nbsp;section,&nbsp;listed&nbsp;in&nbsp;Bone&nbsp;Index&nbsp;order,&nbsp;one&nbsp;per&nbsp;Bone<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;unsigned&nbsp;short&nbsp;handle&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;child&nbsp;bone<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;unsigned&nbsp;short&nbsp;parentHandle&nbsp;&nbsp;&nbsp;:&nbsp;parent&nbsp;bone</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SKELETON_ANIMATION&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0x4000</span><span style="color: #000000;">,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;A&nbsp;single&nbsp;animation&nbsp;for&nbsp;this&nbsp;skeleton<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;char*&nbsp;name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;Name&nbsp;of&nbsp;the&nbsp;animation<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;float&nbsp;length&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;Length&nbsp;of&nbsp;the&nbsp;animation&nbsp;in&nbsp;seconds</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SKELETON_ANIMATION_TRACK&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0x4100</span><span style="color: #000000;">,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;A&nbsp;single&nbsp;animation&nbsp;track&nbsp;(relates&nbsp;to&nbsp;a&nbsp;single&nbsp;bone)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Repeating&nbsp;section&nbsp;(within&nbsp;SKELETON_ANIMATION)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;unsigned&nbsp;short&nbsp;boneIndex&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;Index&nbsp;of&nbsp;bone&nbsp;to&nbsp;apply&nbsp;to</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SKELETON_ANIMATION_TRACK_KEYFRAME&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0x4110</span><span style="color: #000000;">,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;A&nbsp;single&nbsp;keyframe&nbsp;within&nbsp;the&nbsp;track<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Repeating&nbsp;section<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;float&nbsp;time&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;The&nbsp;time&nbsp;position&nbsp;(seconds)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Quaternion&nbsp;rotate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;Rotation&nbsp;to&nbsp;apply&nbsp;at&nbsp;this&nbsp;keyframe<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Vector3&nbsp;translate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;Translation&nbsp;to&nbsp;apply&nbsp;at&nbsp;this&nbsp;keyframe<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Vector3&nbsp;scale&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;Scale&nbsp;to&nbsp;apply&nbsp;at&nbsp;this&nbsp;keyframe</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SKELETON_ANIMATION_TRACK_MULTI_KEYFRAME&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0x4120</span><span style="color: #000000;">,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;A&nbsp;multiple&nbsp;keyframe&nbsp;within&nbsp;the&nbsp;track<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Repeating&nbsp;section<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;float&nbsp;length&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;Length&nbsp;of&nbsp;the&nbsp;animation&nbsp;in&nbsp;seconds<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;float&nbsp;flags&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;Length&nbsp;of&nbsp;the&nbsp;animation&nbsp;in&nbsp;seconds<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;float&nbsp;time&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;The&nbsp;time&nbsp;position&nbsp;(seconds)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Quaternion&nbsp;rotate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;Rotation&nbsp;to&nbsp;apply&nbsp;at&nbsp;this&nbsp;keyframe<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Vector3&nbsp;translate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;Translation&nbsp;to&nbsp;apply&nbsp;at&nbsp;this&nbsp;keyframe</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SKELETON_ANIMATION_LINK&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0x5000</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Link&nbsp;to&nbsp;another&nbsp;skeleton,&nbsp;to&nbsp;re-use&nbsp;its&nbsp;animations<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;char*&nbsp;skeletonName&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;name&nbsp;of&nbsp;skeleton&nbsp;to&nbsp;get&nbsp;animations&nbsp;from<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;float&nbsp;scale&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;scale&nbsp;to&nbsp;apply&nbsp;to&nbsp;trans/scale&nbsp;keys</span><span style="color: #008000;"><br></span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;};</span></div>
<br><br>然后我们打开OgreSkeletonSerializer.cpp找到SkeletonSerializer::readAnimationTrack的实现，然后替换为下面的代码:<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;SkeletonSerializer::readAnimationTrack(DataStreamPtr</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;stream,&nbsp;Animation</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;anim,&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Skeleton</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;pSkel)<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;unsigned&nbsp;short&nbsp;boneIndex&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;Index&nbsp;of&nbsp;bone&nbsp;to&nbsp;apply&nbsp;to</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;</span><span style="color: #0000ff;">short</span><span style="color: #000000;">&nbsp;boneHandle;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;readShorts(stream,&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">boneHandle,&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Find&nbsp;bone</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bone&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">targetBone&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;pSkel</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">getBone(boneHandle);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Create&nbsp;track</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NodeAnimationTrack</span><span style="color: #000000;">*</span><span style="color: #000000;">&nbsp;pTrack&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;anim</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">createNodeTrack(boneHandle,&nbsp;targetBone);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Keep&nbsp;looking&nbsp;for&nbsp;nested&nbsp;keyframes</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(</span><span style="color: #000000;">!</span><span style="color: #000000;">stream</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">eof())<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;</span><span style="color: #0000ff;">short</span><span style="color: #000000;">&nbsp;streamID&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;readChunk(stream);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">while</span><span style="color: #000000;">(&nbsp;(streamID&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;SKELETON_ANIMATION_TRACK_KEYFRAME&nbsp;</span><span style="color: #000000;">||</span><span style="color: #000000;">&nbsp;streamID&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;SKELETON_ANIMATION_TRACK_MULTI_KEYFRAME)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">!</span><span style="color: #000000;">stream</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">eof())<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(streamID&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;SKELETON_ANIMATION_TRACK_MULTI_KEYFRAME)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;TLBB&nbsp;新增了此部分</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;</span><span style="color: #0000ff;">short</span><span style="color: #000000;">&nbsp;len;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;</span><span style="color: #0000ff;">short</span><span style="color: #000000;">&nbsp;flags;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;readShorts(stream,&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">len,&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;readShorts(stream,&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">flags,&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;count&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;(mCurrentstreamLen&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(len&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;count&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">8</span><span style="color: #000000;">)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;len&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;len;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">float</span><span style="color: #000000;">&nbsp;time;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;len;&nbsp;i&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;readFloats(stream,&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">time,&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TransformKeyFrame&nbsp;</span><span style="color: #000000;">*</span><span style="color: #000000;">kf&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;pTrack</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">createNodeKeyFrame(time);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Quaternion&nbsp;rot&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Quaternion::IDENTITY;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(flags&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;readObject(stream,&nbsp;rot);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kf</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">setRotation(rot);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Vector3&nbsp;trans&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Vector3::ZERO;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(flags&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;readObject(stream,&nbsp;trans);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kf</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">setTranslate(trans);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;readKeyFrame(stream,&nbsp;pTrack,&nbsp;pSkel);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(</span><span style="color: #000000;">!</span><span style="color: #000000;">stream</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">eof())<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Get&nbsp;next&nbsp;stream</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;streamID&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;readChunk(stream);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(</span><span style="color: #000000;">!</span><span style="color: #000000;">stream</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">eof())<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;Backpedal&nbsp;back&nbsp;to&nbsp;start&nbsp;of&nbsp;this&nbsp;stream&nbsp;if&nbsp;we've&nbsp;found&nbsp;a&nbsp;non-keyframe</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stream</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">skip(</span><span style="color: #000000;">-</span><span style="color: #000000;">STREAM_OVERHEAD_SIZE);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;}</span></div>
保存然后重新编译Ogre就OK了，理论上就是可以加载其骨骼动画了。<br>另外，其骨骼文件名，模型文件名都是用的中文，而VS2005对中文路径名的支持是有一个bug的，解决此问题参见下面这篇文章：<br>http://www.cppblog.com/tx7do/archive/2008/12/09/68897.html<br><img src ="http://www.cppblog.com/Felicia/aggbug/72565.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Felicia/" target="_blank">Felicia</a> 2009-01-25 10:36 <a href="http://www.cppblog.com/Felicia/archive/2009/01/25/72565.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我已更换新的blog  http://gccfeli.cn  此blog的文章已全部转移</title><link>http://www.cppblog.com/Felicia/archive/2008/02/19/42936.html</link><dc:creator>Felicia</dc:creator><author>Felicia</author><pubDate>Tue, 19 Feb 2008 04:26:00 GMT</pubDate><guid>http://www.cppblog.com/Felicia/archive/2008/02/19/42936.html</guid><wfw:comment>http://www.cppblog.com/Felicia/comments/42936.html</wfw:comment><comments>http://www.cppblog.com/Felicia/archive/2008/02/19/42936.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Felicia/comments/commentRss/42936.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Felicia/services/trackbacks/42936.html</trackback:ping><description><![CDATA[我已更换新的blog<br><a style="font-size: 36pt;" href="http://gccfeli.cn/">猛击此处访问新blog</a><br>此blog的文章已全部转移<br>欢迎访问<br>o(&#8745;_&#8745;)o...  <img src ="http://www.cppblog.com/Felicia/aggbug/42936.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Felicia/" target="_blank">Felicia</a> 2008-02-19 12:26 <a href="http://www.cppblog.com/Felicia/archive/2008/02/19/42936.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>今天自己做果冻吃</title><link>http://www.cppblog.com/Felicia/archive/2008/02/07/42572.html</link><dc:creator>Felicia</dc:creator><author>Felicia</author><pubDate>Wed, 06 Feb 2008 16:40:00 GMT</pubDate><guid>http://www.cppblog.com/Felicia/archive/2008/02/07/42572.html</guid><wfw:comment>http://www.cppblog.com/Felicia/comments/42572.html</wfw:comment><comments>http://www.cppblog.com/Felicia/archive/2008/02/07/42572.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Felicia/comments/commentRss/42572.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Felicia/services/trackbacks/42572.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Felicia的果冻秘方！<br><br>&nbsp;&nbsp;<a href='http://www.cppblog.com/Felicia/archive/2008/02/07/42572.html'>阅读全文</a><img src ="http://www.cppblog.com/Felicia/aggbug/42572.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Felicia/" target="_blank">Felicia</a> 2008-02-07 00:40 <a href="http://www.cppblog.com/Felicia/archive/2008/02/07/42572.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>非常喜欢珞珈山水离版画面的一首诗</title><link>http://www.cppblog.com/Felicia/archive/2008/01/30/42191.html</link><dc:creator>Felicia</dc:creator><author>Felicia</author><pubDate>Wed, 30 Jan 2008 03:24:00 GMT</pubDate><guid>http://www.cppblog.com/Felicia/archive/2008/01/30/42191.html</guid><wfw:comment>http://www.cppblog.com/Felicia/comments/42191.html</wfw:comment><comments>http://www.cppblog.com/Felicia/archive/2008/01/30/42191.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Felicia/comments/commentRss/42191.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Felicia/services/trackbacks/42191.html</trackback:ping><description><![CDATA[<p>每次在telnet下退出珞珈山水，都会随机出现一个离版画面。<br>我最喜欢的是这首诗<br><br><br></p>
<p>
<table style="WIDTH: 320px; BORDER-COLLAPSE: collapse" cellSpacing=0 cellPadding=3 border=1>
    <tbody>
        <tr>
            <td>
            <p align=center>就这样走了吗<br>亲爱的 Felicia </p>
            <p align=center>你可知道<br>与你相遇在这十字路口<br>是我的最美回忆</p>
            <p align=center>我知道你会回来<br>在这熟悉路口<br>不要说是否曾经相约<br>不去说诺言<br>我知道你的脚步<br>终会明白<br>这心的约定</p>
            <p align=center>让我静静等你再次出现</p>
            </td>
        </tr>
    </tbody>
</table>
</p>
<img src ="http://www.cppblog.com/Felicia/aggbug/42191.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Felicia/" target="_blank">Felicia</a> 2008-01-30 11:24 <a href="http://www.cppblog.com/Felicia/archive/2008/01/30/42191.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>