火炬之光的特效文件存放在media/particles目录下, 后缀名为layout(打包后为layout.adm). 虽然它的特效是在Particle Universe的基础上实现的, 但是它的改动非常大, 可以说对整个Particle Universe都作了修改. 比如说
1. 在Render Type的类型中, 新增了两种BillboardType
2. 通过查看汇编可以看出, 它对Billboard, RibbonTrail等渲染方式(Renderer)也作了修改.
3. 另外对Affector也作了修改, 比如TextureAnimator, 通过函数列表对比, 可以看到删除了AnimationTimeStep, TextureCoords等方法, 增加了Frame 和 AnimationSpeed动态属性.
...
由于第一次接触反汇编, 本打算对ParticleUniverse::RibbonTrailRenderer::updateRenderQueue作一些跟踪, 实现一些基础功能, 但是在对Ogre::RibbonTrail::updateTrail进行分析时, 由于能力和精力有限, 就不进行下去了..
最后附上毒特效截图(没有RibbonTrail效果), 以作初次接触汇编的记念: