<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.secondlife.com/w/api.php?action=feedcontributions&amp;user=Scalar+Tardis&amp;feedformat=atom</id>
	<title>Second Life Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.secondlife.com/w/api.php?action=feedcontributions&amp;user=Scalar+Tardis&amp;feedformat=atom"/>
	<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/wiki/Special:Contributions/Scalar_Tardis"/>
	<updated>2026-07-22T18:46:21Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Rotation&amp;diff=1159204</id>
		<title>Talk:Rotation</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Rotation&amp;diff=1159204"/>
		<updated>2011-12-07T16:52:57Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: /* Viewer UI, object rotation bugs, code analysis */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Talk}}&lt;br /&gt;
Fixed a few minor syntax errors and reworked the top of the article a bit. As an article it is quite far along though it still has a ways to go. [[User:Strife Onizuka|Strife Onizuka]] 03:32, 29 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
== Intro is awful ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;gymbal lock&amp;quot; is something that affects mechanical systems with gyroscopes.  A quaternion rotation is a mathematical abstraction.  The term simply does not apply, and only serves to confuse things.  The reference to &amp;quot;SLERP&amp;quot; without a link is useless. [[User:Doran Zemlja|Doran Zemlja]]&lt;br /&gt;
&lt;br /&gt;
:Gimbal lock effects Euler angles to which you wrote an article using them everywhere without mention it; it is a gross oversight. That sentence is a bit complex on review and yes there is no SLERP article but that doesn&#039;t mean someone won&#039;t write one (it is better to leave open links then no links; no links give no hint that a page should be created). I may write a short one tomorrow, I already have a function that implements it (I&#039;ve just been pressed for time). I will find a better article on gimbal lock, the wikipedia one is pretty poor in this regard as it fails to go into the programing implications. I gave you the benefit of the doubt and looked up &#039;gymbal&#039; in the dictionary, to which it was nowhere to be found; but &#039;gimbal&#039; was. [[User:Strife Onizuka|Strife Onizuka]] 19:33, 31 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
::Gimbal lock affects you every time you use Euler Coordinates, it is not restricted to gyroscopes. German article on wikipedia about gimbal lock shows it much more clearly than the English version -- Catherine Pfeffer 2007-12-08&lt;br /&gt;
&lt;br /&gt;
I&#039;m a mathematician, and think the following text is also misleading (or partially incorrect) in the &#039;&#039;&#039;Other Representations&#039;&#039;&#039; section: &#039;&#039;&#039;&#039;&#039;&amp;quot;Another way to represent a rotation is using three numbers, &amp;lt;X, Y, Z&amp;gt;, which represent the amount (in radians) which the object is rotated around each axis. This is used in the Edit window...&amp;quot;&#039;&#039;&#039;&#039;&#039; Technically, 1 &amp;quot;radian&amp;quot; equals the angle that is traced out by an arc along a circle&#039;s circumference, [[when that arc equals the circle&#039;s radius]]. This means that 2*pi radians equals 360 degrees, 1*pi radians equals 180 degrees, and pi/2 radians equals 90 degrees. SL&#039;s &#039;&#039;&#039;prim&#039;&#039;&#039;-editing window displays rotations in [[degrees]] (360, 180, 90...) and NOT in [[radians]] (2pi, pi, pi/2)! However, it IS true that radians must be used when editing values in some LSL &#039;&#039;&#039;script&#039;&#039;&#039; commands! [[User:Times Sands|Times Sands]] 18:18, 10 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Mirroring using quaternions ==&lt;br /&gt;
&lt;br /&gt;
I think I have worked out how to mirror a point (and therefore an entire object in pieces,) using quaternions, but does anyone here know how to, or if it is even possible to, define a rotation that turns a left hand into a right hand or vise-versa?  This is a three diminsional mirror operation, but in four diminsions it is a simple rotation.  (I could be wrong, but based on my research into quaternions it seems right...)&amp;lt;br /&amp;gt;[[User:Cron Stardust|Cron Stardust]] 22:16, 25 March 2007 (PDT)&lt;br /&gt;
:It depends entirely upon which axis you want to mirror around. Save yourself some work and look up Jeffrey&#039;s Prim Mirror. [[User:Strife Onizuka|Strife Onizuka]] 11:13, 26 March 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Moving this page ==&lt;br /&gt;
&lt;br /&gt;
Shouldn&#039;t the content of this page be moved to Category:LSL Rotation? It seems confusing to me to have multiple Rotation pages.&lt;br /&gt;
&lt;br /&gt;
:Good point, I see no problem merging them. -- [[User:Strife Onizuka|Strife Onizuka]] 08:40, 22 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
::Very true. Or even better, do a &amp;quot;pure maths&amp;quot; one and a &amp;quot;pure lsl&amp;quot; one -- Catherine Pfeffer, 2007-12-08&lt;br /&gt;
&lt;br /&gt;
== GetRot()/SetRot() chart ==&lt;br /&gt;
&lt;br /&gt;
llGetLocalRot() and llGetRot() clearly do *not* return the same value in the root prim of an attachment.  While I believe that llGetRot() returns the avatar rotation as indicated, llGetLocalRot() I believe gives the rotation of the root prim relative to the attachment point (or the avatar?)&lt;br /&gt;
&lt;br /&gt;
:You are correct, that entry in the table is wrong. -- [[User:Strife Onizuka|Strife Onizuka]] 08:40, 22 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Visual aids ==&lt;br /&gt;
&lt;br /&gt;
I use [http://www.isner.com/tutorials/quatSpells/quaternion_spells_14.htm this page] as a visual reference and cheat sheet for quaternion operations. --[[User:Tateru Nino|Tateru Nino]] 15:53, 9 September 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Maths versus LSL ==&lt;br /&gt;
&lt;br /&gt;
Has anyone noticed that maths&#039; quaternion multiplication is written in reverse order than in LSL ? That is, what you write Q1 . Q2 in maths is computed in LSL with Q2 * Q1. Is that a bug or simply a documentation issue ? -- Catherine Pfeffer - 2007-12-08&lt;br /&gt;
&lt;br /&gt;
:It appears to be a bug, with an obvious patch in the server code, but this bug won&#039;t be fixed, so I decided to document the problem here -- Catherine Pfeffer - 2008-08-28&lt;br /&gt;
&lt;br /&gt;
::I know it&#039;s a way late comment, but my guess is that it&#039;s the noticable side effect of LSL&#039;s backwards order of evaluation. we just don&#039;t notice it elsewhere because most other operations within lsl are communicative and quaternion math isn&#039;t.&amp;lt;br/&amp;gt;-- &#039;&#039;&#039;[[User:Void_Singer|Void]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User_talk:Void_Singer|talk]]|[[Special:Contributions/Void_Singer|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 11:09, 19 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Unjustified preference for Euler notation ==&lt;br /&gt;
&lt;br /&gt;
One thing that really annoys me with this page is that it seems to consider that the Euler coordinates are the easy way to deal with rotations, while the &amp;lt;x, y, z, s&amp;gt; quaternion representation is almost unintelligible.&lt;br /&gt;
&lt;br /&gt;
That&#039;s a common opinon, and as a matter of facts, most LSL scripts I have found use and overuse llEuler2Rot() and llRot2Euler().&lt;br /&gt;
&lt;br /&gt;
But that&#039;s simply wrong. Euler&#039;s notation is completly unintuitive for any non-trivial situation.&lt;br /&gt;
&lt;br /&gt;
To get convinced of it, try to figure out the Euler angles for the rotation of 45 degrees around XY diagonal (X = Y and Z = 0). Good luck ! :-).&lt;br /&gt;
Now try figuring out the quaternions&#039;s values with the directing vector and sine and cosine of the half-angle: that&#039;s straightforward.&lt;br /&gt;
&lt;br /&gt;
I think this page is misleading a lot of new scripters into the wrong direction because of its preference for Euler angles. -- Catherine Pfeffer - 2008-08-28&lt;br /&gt;
&lt;br /&gt;
:I agree. &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 14:19, 28 August 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
:As I also agreed and no one here has disagreed, I have take the liberty of adding a section on axis and turn angle.  I think it&#039;s horses for courses whether you are better off using Euler2Rot or AxisAngle2Rot, but people should be more aware of both.  I also put an example in the section on degrees to radians.  If anyone wants to champion forward, left, right representation, it won&#039;t be me!  [[User:Jonno Stromfield|Jonno Stromfield]] 12:21, 21 October 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Rotating Vectors ==&lt;br /&gt;
&lt;br /&gt;
The example:-&lt;br /&gt;
&lt;br /&gt;
//-- same as:&lt;br /&gt;
llSetPrimitiveParams( [PRIM_POSITION, llGetPos() + (gPosOffset - gPosOffset * gRotArc) * llGetRot(),PRIM_ROTATION, gRotArc * llGetRot()] );&lt;br /&gt;
&lt;br /&gt;
gives no derivation of the variables gPosOffset and gRotArc.&lt;br /&gt;
Which is less than useful to someone learning from the text.&lt;br /&gt;
[[User:Gregory McLeod|Gregory McLeod]] 08:51, 1 September 2008 (PDT)&lt;br /&gt;
:missed this comment before. although it should be guessable that offset = gPosOffset, and rot6x = gRotArc, I went ahead and made the section more explicit, and converted it to use lsl highlighting (so that all keywords would be linked) and removed a few slightly misleading viewer frame references. &amp;lt;br/&amp;gt;-- &#039;&#039;&#039;[[User:Void_Singer|Void]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User_talk:Void_Singer|talk]]|[[Special:Contributions/Void_Singer|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 11:00, 19 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Useful snippets ==&lt;br /&gt;
&lt;br /&gt;
The snippet we have now is kind of a string function. [http://www.isner.com/tutorials/quatSpells/quaternion_spells_12.htm How about converting these] from XSI to LSL? &lt;br /&gt;
&lt;br /&gt;
[http://lslwiki.net/lslwiki/wakka.php?wakka=LibraryRotationFunctions How about these] from lslwiki.net? (&amp;quot;All functions on this page are released into public domain and may have been based off other public domain works.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
By the way, someone above complained about an unlinked reference to slerp() which seems to now be completely missing(!) Both of those have slerp(). [[User:Gia May|Gia May]] 07:15, 8 December 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
:I offer L$5000 to the first person who translates two functions from http://www.isner.com/tutorials/quatSpells/quaternion_spells_12.htm to the Useful snippets here, or for code constraining rotations to an arbitrary conic section. Runners up, if any, will be awarded on merit, and I am also asking the Lindens to help with this library deficiency bug bounty.  IM me inworld for details. [[User:JS Uralia|JS Uralia]] 21:17, 2 February 2009 (UTC)&lt;br /&gt;
::Hello, I went ahead and added three such functions: ConstrainQuaternion2Plane, ScaleQuaternion and CombineQuaternions (Slerp) though this last one already existed on the Wiki.--[[User:Jesrad Seraph|Jesrad Seraph]] 07:05, 17 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Pending fulfillment of my promise to pay Jesrad L$5000 -- and [http://wiki.secondlife.com/w/index.php?title=Rotation&amp;amp;diff=220643&amp;amp;oldid=167253 Mephistopheles Thalheimer can attest I keep my word on these bounty payments] -- could someone please independently verify that this function works as it should?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;// Constrain a rotation to a given plane, defined by its normal, this is very useful for vehicles that remain horizontal in turns:&lt;br /&gt;
rotation ConstrainQuat2Plane(rotation source, vector normal)&lt;br /&gt;
{&lt;br /&gt;
	return llAxisAngle2Rot(normal, &amp;lt;source.x, source.y, source.z&amp;gt; * normal * llRot2Angle(source));&lt;br /&gt;
} // Jesrad Seraph&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I&#039;m very troubled by the use of the first three elements of the quaternion in that manner, but in all honestly, I don&#039;t know enough to figure out what a correct answer is. [[User:JS Uralia|JS Uralia]] 20:43, 23 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:I think it might just be correct. I can&#039;t verify it at the moment but the math looks to have the correct properties though the magnitudes of the vectors going into the dot product worry me. I&#039;m wondering if &amp;lt;source.x, source.y, source.z&amp;gt; shouldn&#039;t be normalized first. On a side note, it doesn&#039;t handle the edge cases where source and normal haven&#039;t been normalized.  -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 09:56, 24 May 2009 (UTC)&lt;br /&gt;
::More testing shows it is off by sometimes as much as 90 degrees... I will try to correct it, probably by normalizing the vector part first like suggested.--[[User:Jesrad Seraph|Jesrad Seraph]] 14:52, 7 July 2009 (UTC)&lt;br /&gt;
:::Any progress? I just ran into some problems with it myself, so I left a note on the main page warning others to be cautious with it. [[User:Nica Pennell|Nica Pennell]] 03:34, 23 November 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== With regard to rotations of a child of an attachment ==&lt;br /&gt;
&lt;br /&gt;
I blow a raspberry at lsl. -- &#039;&#039;&#039;[[User:EddyFragment Robonaught|Eddy]]&#039;&#039;&#039;  &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:EddyFragment_Robonaught|talk]]|[[Special:Contributions/EddyFragment_Robonaught|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 06:37, 13 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Don&#039;t you just love {{Jira|SVC-93}}? Gage me with a spoon *rolls eyes*. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 18:08, 13 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Ah. Not just me then. I thought I just needed a degree in quantum maths to understand it. Thanx for the link. *voted* -- &#039;&#039;&#039;[[User:EddyFragment Robonaught|Eddy]]&#039;&#039;&#039;  &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:EddyFragment_Robonaught|talk]]|[[Special:Contributions/EddyFragment_Robonaught|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 01:41, 14 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I think this is wrong: it claims that the llGetRot of a child prim of an attached object gives &amp;quot;global rotation of avatar * global rotation of prim (Not Useful)&amp;quot;  This would be very useful if it were true and would let you calculate the rotation of the attach point.  But I think llGetRot gives you the local rotation of the child prim * global rotation of the avatar, which is of no use that I can think of. I&#039;m new at scripting so I&#039;d appreciate some verification and so won&#039;t just change the page.  [[User:Jonno Stromfield|Jonno Stromfield]] 11:04, 11 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Simplification of the page ==&lt;br /&gt;
&lt;br /&gt;
Having just head-bashed and hair-pulled my way through yet another case of what should be a simple rotation task, I&#039;ve come to the understanding that despite all the information in the rotations page, that it really is a poor resource for people that just want to get things done. While it&#039;s all well and good knowing various tidbits about rotations, 99% of scripters just need to know how to use them, as such it may be a good idea to re-write the article as more of a practical manual, with the emphasis being on useful code snippets. The things that I think most scripters want to know (and some of which are currently covered, albeit in a bit of a text-heavy way) are:&lt;br /&gt;
&lt;br /&gt;
 * Combining two rotations (getting a bigger or smaller rotation by combining two together)&lt;br /&gt;
 * Creating a &amp;quot;negative&amp;quot; rotation (only one, best-practise solution is needed, which I believe is flipping .s?)&lt;br /&gt;
 * Applying rotations to object (best practises for rotating an object X degrees globally, X degrees locally, as well as -X degrees globally and -X degrees locally)&lt;br /&gt;
 * Rotating an object around a global point&lt;br /&gt;
 * Rotating a child-prim around a global point&lt;br /&gt;
 * Rotating a child-prim around a local point&lt;br /&gt;
 &lt;br /&gt;
Each snippet or set of snippets should show how to do these operations using &amp;lt;code&amp;gt;llSet*&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;llSetLocal*&amp;lt;/code&amp;gt; functions, as well as llSetPrimitiveParams().&lt;br /&gt;
Basically the idea is that we need the article to be more of a &amp;quot;how-to&amp;quot;, or possibly create a new article that is a &amp;quot;cheat sheet&amp;quot;, because rotation problems are annoyingly common, and the combination of lack of understanding of quarternion math, and LSL&#039;s broken rotation functions does not serve to help anyone, meaning most people looking here are looking for solutions to common problems that they can combine. I&#039;ve been scripting in Second Life for nearly 5 years, and have a Masters degree in computer science, and my fall-back if I get stuck is still trial and error!&lt;br /&gt;
I may start hashing together an idea of what such a page should be like as a personal sub-page, but I&#039;m not the most qualified person to provide all of the snippets as I suspect I use bad-practises for most of the above operations, and I&#039;m still having ongoing problems with rotating child-prims around local points without converting to global and doing it that way. -- [[User:Haravikk Mistral|Haravikk Mistral]] 12:44, 30 September 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
: best practice for reversing a rotations direction (negative rotation) is actually &#039;&#039;&#039;(ZERO_ROTATION / Rot2Reverse)&#039;&#039;&#039;, although there are cases in which scalar sign flipping might be more elegant, that&#039;s actually an abuse that does not produce a properly normalized rotation (I, unfortunately, popularized that one =X). applying a rot best practice, assuming the greatest degree of flexibility is desired, is the same method as rotation combining... get the rotation of the prim in the frame that it will be applied in, and then multiply it in the order that produces either a prim relative, or frame relative manner. there are actually ~8+ ways to rotate a prim around a point, depending on if that point is relative to the prim rotating (offset), or to the frame it&#039;s in (fixed), whether the calculation is done from the objects perspective, or the points perspective, and whether you want to track the current value by the position or rotation of the point.... 2 are detailed on the rotation page linked from my user page. Rotating a child around a global point is is a slightly odd case that could possibly break much more easily than simply rotating a child around a local point, but the format is almost exactly the same.... I&#039;d be happy to detail extended examples for all of those though (and I promise not to use overly obscure variable names).... I&#039;ve actually been wanting to update the rotations page under my user page for a while anyways, so I&#039;ll detail them there, and you can feel free to pirate my examples for your prospective page design? it may be a week or so before I get to it though. &amp;lt;br/&amp;gt;-- &#039;&#039;&#039;[[User:Void_Singer|Void]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User_talk:Void_Singer|talk]]|[[Special:Contributions/Void_Singer|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 08:30, 2 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:: Well I&#039;m probably going to be about the same unless I get some time today or tomorrow; as I say I&#039;m not really up on the best way to do everything, as my knowledge is mostly purely practical as I&#039;m sure is the case with most scripters, so I think a &amp;quot;cheat sheet&amp;quot; will help greatly. Coincidentally, I&#039;ve actually always used &amp;lt;code&amp;gt;rotReversed = (ZERO_ROTATION / rot)&amp;lt;/code&amp;gt;, seems I also fooled into thinking negative .s might have been simpler, so at least it seems I haven&#039;t been completely wrong all this time after all! Anyway, whenever I find time I&#039;ll create a page and try to come up with a logical order, then start filling out the examples I can be sure of getting right, and update whenever I get to some meaningful stage.&amp;lt;br/&amp;gt;-- &#039;&#039;&#039;[[User:Haravikk_Mistral|Haravikk]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User_talk:Haravikk_Mistral|talk]]|[[Special:Contributions/Haravikk_Mistral|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 10:30, 2 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
: m&#039;kay, I&#039;m a nitwit... somehow I thought this conversation happened on the blogorums, and I was trying to figure out who I needed to let know that I&#039;d be updating [[User:Void_Singer/Rotations|my rotations page]] (and make sure I covered all the cases listed)... anyways, yeah... that will happen this week and now that I have the list I can make sure it&#039;s all covered.&amp;lt;br/&amp;gt;-- &#039;&#039;&#039;[[User:Void_Singer|Void]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User_talk:Void_Singer|talk]]|[[Special:Contributions/Void_Singer|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 12:20, 25 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::Heh, I made the same mistake as well another time myself! Needless to say I haven&#039;t got anywhere with my layout as I keep getting distracted with other things (as I am much too prone to doing). Anyway, your page is looking excellent, and thinking on it I&#039;m wondering if perhaps the &amp;quot;cheat sheet&amp;quot; style page will be a good candidate for the {{LSLGC|Rotation|Rotation Category}} page which is currently a bit bleak, so that it has the &amp;quot;live&amp;quot; list of all LSL functions, as well as plenty of cheat-sheet examples. This leaves this article to be all in depth and trying to explain them in more depth, and we just have a prominent link. Am just thinking this as while I come off a bit disparaging about this article, it is actually very good, just not what most scripters want or need to know when a nice set of examples will do just fine.&lt;br /&gt;
::I also wondered if it might be worth adding mirroring of a rotation to the list of examples; whereby an upper right rotation can be mirrored along your front into an upper left for example. I know it doesn&#039;t come up a lot but I know it&#039;s something I&#039;ve never really grasped myself. I always end up just doing things by eye until I get it close enough to round to the correct value, which is very unscientific!&amp;lt;br/&amp;gt;-- &#039;&#039;&#039;[[User:Haravikk_Mistral|Haravikk]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User_talk:Haravikk_Mistral|talk]]|[[Special:Contributions/Haravikk_Mistral|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 22:51, 25 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::: Look up Jeffrey&#039;s prim mirror for the math for mirroring rotations. I forget the details of how to do it aswell (it&#039;s been too long since I&#039;ve done anything but edit the wiki). By all means please improve the rotation category page. I hope the changes to the table are ok with people. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 20:06, 26 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::hmm that should be something I add to the page... IIRC it&#039;s just sign flipping of the elements... can&#039;t remember the exact sequence, but I&#039;m sure I can trial and error it if I don&#039;t have a copy of the prim mirror. I&#039;ve done some of the page edits for my page already, although I was tired and had to stop, so it&#039;s got typos and I haven&#039;t redone the examples yet (but you can pull from the previous version in history)&amp;lt;br/&amp;gt;-- &#039;&#039;&#039;[[User:Void_Singer|Void]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User_talk:Void_Singer|talk]]|[[Special:Contributions/Void_Singer|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 00:46, 27 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Position of Object Rotated Around A Relative Point ==&lt;br /&gt;
I found the snippet code for &amp;quot;Position of Object Rotated Around A Relative Point&amp;quot; to be difficult to grasp without some trials and errors (check the [http://lslwiki.net/lslwiki/wakka.php?wakka=rotation lslwiki] for a different answer). I made a few tests and i realised that the lslwiki code lacked the adjustment to original object orientation (* llGetRot( )) so the rotation started around a point located to an absolute world offset instead of relative to the object&#039;s orientation. I tried to add something to the lslwiki code but i failed to find exactly where to use llGetRot there. I then returned to this page&#039;s code and after looking closer i was able to write a small demo that seems to work (I don&#039;t have the time to make further tests, i hope someone will check it and see if i didn&#039;t make some mistake).&amp;lt;BR&amp;gt;Here is my script that now seems to handle both cases correctly (having one face of the prim (case 1) facing or (case 2) staying in the same rotation all along its orbit toward the center of rotation) : [http://lsl.pastebin.com/n3PnnG3h Position of Object Rotated Around A Relative Point] (feel free to add the snippet to the wiki page or anywhere you need it if you think its usefull - i don&#039;t care for credits, just don&#039;t say you made it yourself)&lt;br /&gt;
([[User:Francoise Eichel|Francoise Eichel]] 11:11, 22 February 2011 (PST))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;/*&lt;br /&gt;
    Position of Object Rotated Around A Relative Point, &lt;br /&gt;
        from : http://wiki.secondlife.com/wiki/Rotation&lt;br /&gt;
    change the FACING value to have the object &lt;br /&gt;
        keep its original orientation all around its orbit (FALSE)&lt;br /&gt;
        keep the same face turned toward the center of rotation (TRUE)&lt;br /&gt;
*/&lt;br /&gt;
integer FACING = FALSE;&lt;br /&gt;
&lt;br /&gt;
rotation vRotArc;&lt;br /&gt;
vector   vPosOffset;&lt;br /&gt;
&lt;br /&gt;
RotAround( integer facing )&lt;br /&gt;
{&lt;br /&gt;
    vector curpos = llGetPos();&lt;br /&gt;
    vector p = curpos + (vPosOffset - vPosOffset * vRotArc) * llGetRot();&lt;br /&gt;
    if( facing )&lt;br /&gt;
        llSetPrimitiveParams( [ PRIM_POSITION, p, PRIM_ROTATION, vRotArc * llGetRot() ] );&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
        llSetPrimitiveParams( [ PRIM_POSITION, p ] );&lt;br /&gt;
        vPosOffset = vPosOffset * vRotArc;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
integer orbiting;&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        vRotArc     = llEuler2Rot( &amp;lt;30.0, 0.0, 0.0&amp;gt; * DEG_TO_RAD );&lt;br /&gt;
        vPosOffset  = &amp;lt;0.0, 1.0, 0.0&amp;gt;;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    touch_start(integer total_number)&lt;br /&gt;
    {&lt;br /&gt;
        llSetTimerEvent( 2*(orbiting = !orbiting) );&lt;br /&gt;
    }&lt;br /&gt;
    timer( )&lt;br /&gt;
    {&lt;br /&gt;
        RotAround( FACING );&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:Looks good, two problems:&lt;br /&gt;
:*While this method is expedient, the point which the object orbits will drift due to rounding errors. The simple solution is to store the center position in a global.&lt;br /&gt;
:*Making vRotArc &amp;amp; vPosOffset globals makes reusing this function difficult (as it has dependencies external to it). Function parameters on the other hand would eliminate this problem. This is a coding style issue and can (and should in this case!) be ignored.&lt;br /&gt;
:Not only will the position drift, but so will the rotation of the object, removing llGetRot from inside the loop will reduce drift but won&#039;t eliminate it. The solution to this problem is to define the axis of rotation and change the angle of rotation. This is also a good opportunity to use states.&lt;br /&gt;
&lt;br /&gt;
:Please check that the following code works, I haven&#039;t done extensive tested. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 22:22, 22 February 2011 (PST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;/*&lt;br /&gt;
    Position of Object Rotated Around A Relative Point, &lt;br /&gt;
        from : http://wiki.secondlife.com/wiki/Rotation&lt;br /&gt;
    change the bFacing value to have the object &lt;br /&gt;
        keep its original orientation all around its orbit (FALSE)&lt;br /&gt;
        keep the same face turned toward the center of rotation (TRUE)&lt;br /&gt;
*/&lt;br /&gt;
integer  bFacing = FALSE;&lt;br /&gt;
&lt;br /&gt;
integer  iDegrees   = 30;&lt;br /&gt;
vector   vPosOffset = &amp;lt;0.0, 1.0, 0.0&amp;gt;;&lt;br /&gt;
vector   vRotAxis   = &amp;lt;0.0, 0.0, 1.0&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
vector   vPosCenter;&lt;br /&gt;
rotation rRotStart;&lt;br /&gt;
integer  iSteps = 0;&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        vPosCenter  = llGetPos() - vPosOffset;&lt;br /&gt;
        rRotStart   = llGetRot();&lt;br /&gt;
        state on;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
state on&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        llSetTimerEvent( 2.0 );&lt;br /&gt;
    }&lt;br /&gt;
    touch_start(integer i)&lt;br /&gt;
    {&lt;br /&gt;
        llSetTimerEvent( 0.0 );&lt;br /&gt;
        state off;&lt;br /&gt;
    }&lt;br /&gt;
    timer()&lt;br /&gt;
    {&lt;br /&gt;
        iSteps = (iSteps + iDegrees) % 360;//eliminates compounding rounding errors&lt;br /&gt;
        rotation rRotArc = llAxisAngle2Rot(vRotAxis, DEG_TO_RAD * iSteps);&lt;br /&gt;
        vector dest = vPosCenter + (vPosOffset * rRotArc * rRotStart);&lt;br /&gt;
        if( bFacing )&lt;br /&gt;
            llSetPrimitiveParams( [ PRIM_POSITION, dest, PRIM_ROTATION, rRotArc * rRotStart ] );&lt;br /&gt;
        else&lt;br /&gt;
            llSetPrimitiveParams( [ PRIM_POSITION, dest ] );&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
state off&lt;br /&gt;
{&lt;br /&gt;
    touch_start(integer i)&lt;br /&gt;
    {&lt;br /&gt;
        state on;&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Attached prims: how to get the rotation of the attach point relative to the avatar forward vector ==&lt;br /&gt;
&lt;br /&gt;
I have no idea how to accomplish that, and I would need to do it in order to reverse all the rotations in an attached linked child prim.&lt;br /&gt;
My goal is to have one of the linked child prims always pointing in the same direction as the avatar forward vector.&lt;br /&gt;
I am struggling with this and many many other problems with rotations when dealing with attached prims.&lt;br /&gt;
&lt;br /&gt;
-- [[User:Clodoveo Haven|Clodoveo Haven]] 06:40, 13 August 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
attach points are only relative to themselves, because they are subject to animations (which are client side effcts).... if you make a static animation, then any attachment position will also be static, and you can estimate the facing. the pelvis is an exception, it defaults to the avatar position/facing.&amp;lt;br/&amp;gt;-- &#039;&#039;&#039;[[User:Void_Singer|Void]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User_talk:Void_Singer|talk]]|[[Special:Contributions/Void_Singer|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 16:46, 21 August 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Useful Tutorials ==&lt;br /&gt;
Grandma Bates has posted a couple of very helpful tutorials at [http://www.sluniverse.com/php/vb/tutorials/62235-basic-introduction-rotations.html Basic Introduction to Rotations] and [http://www.sluniverse.com/php/vb/tutorials/62479-introduction-rotations-translations-rotation-tutorial.html#post1337030 Introduction to Rotations with Translations (rotation tutorial part II)] over at SLU.&lt;br /&gt;
&lt;br /&gt;
Would it an idea to link to them somewhere? [[User:Innula Zenovka|Innula Zenovka]] 07:04, 31 July 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
: even better, get permission to copy and link it as it&#039;s own page here?&amp;lt;br/&amp;gt;-- &#039;&#039;&#039;[[User:Void_Singer|Void]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User_talk:Void_Singer|talk]]|[[Special:Contributions/Void_Singer|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 08:18, 31 July 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
: I&#039;ve asked her, and she&#039;ll be delighted to have it copied.  She&#039;s edited the two pieces to add a Creative Commons licence. [[User:Innula Zenovka|Innula Zenovka]] 11:04, 31 July 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
:: Sounds like a plan. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 15:16, 31 July 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
== [[PRIM_ROT_LOCAL]] &amp;amp; [[ PRIM_POS_LOCAL ]] ==&lt;br /&gt;
&lt;br /&gt;
Aspects of the article needs to be rewritten since we now have [[PRIM_ROT_LOCAL]] and [[PRIM_POS_LOCAL]]. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 12:19, 5 September 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Some interesting values ==&lt;br /&gt;
&lt;br /&gt;
What rotations do you get for various Euler coordinates? Derived from LSL and the viewer GUI:&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
default&lt;br /&gt;
{   state_entry()&lt;br /&gt;
    {   llSetTimerEvent(1.0);   }&lt;br /&gt;
&lt;br /&gt;
timer()&lt;br /&gt;
    {   rotation rot = llGetRot();&lt;br /&gt;
        llSetText(&amp;quot;My rotation: &amp;quot;&lt;br /&gt;
            + &amp;quot;\n X: &amp;quot; + (string)rot.x &lt;br /&gt;
            + &amp;quot;\n Y: &amp;quot; + (string)rot.y &lt;br /&gt;
            + &amp;quot;\n Z: &amp;quot; + (string)rot.z &lt;br /&gt;
            + &amp;quot;\n S: &amp;quot; + (string)rot.s&lt;br /&gt;
            + &amp;quot;\n \n \n \n \n \n \n \n \n &amp;quot;,&lt;br /&gt;
            &amp;lt;1,1,1&amp;gt;,1);&lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
! colspan=3| Degrees&lt;br /&gt;
! #&lt;br /&gt;
! colspan=4| Rotation&lt;br /&gt;
|-&lt;br /&gt;
!    X !!    Y !!    Z !! # !!     X    !!     Y    !!     Z    !!     S&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;8&amp;quot; | Starting position:&lt;br /&gt;
|-&lt;br /&gt;
|    0 ||    0 ||    0 || # || 0.000000 || 0.000000 || 0.000000 || 1.000000&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;8&amp;quot; | Symmetry mystery&lt;br /&gt;
|-&lt;br /&gt;
|   60 ||    0 ||    0 || # || 0.500000 || 0.000000 || 0.000000 || 0.866025&lt;br /&gt;
|-&lt;br /&gt;
|    0 ||   60 ||    0 || # || 0.000000 || 0.500000 || 0.000000 || 0.866025&lt;br /&gt;
|-&lt;br /&gt;
|    0 ||    0 ||   60 || # || 0.000000 || 0.000000 || 0.500000 || 0.866025&lt;br /&gt;
|-&lt;br /&gt;
|   90 ||    0 ||    0 || # || 0.707107 || 0.000000 || 0.000000 || 0.707107&lt;br /&gt;
|-&lt;br /&gt;
|    0 ||   90 ||    0 || # || 0.000000 || 0.707107 || 0.000000 || 0.707107&lt;br /&gt;
|-&lt;br /&gt;
|    0 ||    0 ||   90 || # || 0.000000 || 0.000000 || 0.707107 || 0.707107&lt;br /&gt;
|-&lt;br /&gt;
|  120 ||    0 ||    0 || # || 0.866025 || 0.000000 || 0.000000 || 0.500000&lt;br /&gt;
|-&lt;br /&gt;
|    0 ||  120 ||    0 || # || 0.000000 || 0.866025 || 0.000000 || 0.500000&lt;br /&gt;
|-&lt;br /&gt;
|    0 ||    0 ||  120 || # || 0.000000 || 0.000000 || 0.866025 || 0.500000&lt;br /&gt;
|-&lt;br /&gt;
| colspan=8 | Negative and positive 0.000000 ?? ...&lt;br /&gt;
|-&lt;br /&gt;
|  180 ||    0 ||    0 || # ||-1.000000 || 0.000000 ||-0.000000 || 0.000000&lt;br /&gt;
|-&lt;br /&gt;
|    0 ||  180 ||    0 || # ||-0.000000 ||-1.000000 ||-0.000000 || 0.000000&lt;br /&gt;
|-&lt;br /&gt;
|    0 ||    0 ||  180 || # ||-0.000000 ||-0.000000 ||-1.000000 || 0.000000&lt;br /&gt;
|-&lt;br /&gt;
| colspan=8 | Is -180 different from 180? Well, that depends on there being a difference between -0 and 0, above...&lt;br /&gt;
|-&lt;br /&gt;
| -180 ||    0 ||    0 || # || 1.000000 || 0.000000 || 0.000000 || 0.000000&lt;br /&gt;
|-&lt;br /&gt;
|    0 || -180 ||    0 || # || 0.000000 || 1.000000 || 0.000000 || 0.000000&lt;br /&gt;
|-&lt;br /&gt;
|    0 ||    0 || -180 || # || 0.000000 || 0.000000 || 1.000000 || 0.000000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:Quaternions only need half a 4 dimensional sphere to work, the other half is duplicate so, &amp;lt;0,0,0,1&amp;gt; expresses the same angle as &amp;lt;0,0,0,-1&amp;gt;. Mathematically there is no difference between negative and positive zero, but that doesn&#039;t mean negative zero is not without it&#039;s use which is why it is supported in the floating point standard. As you can see, by preserving the negative zero, you can get seemingly different values, which are just mirror of the same angle. You may want to read [[Quaternion]]. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 10:21, 6 December 2011 (PST)&lt;br /&gt;
&lt;br /&gt;
== Viewer UI, object rotation bugs, code analysis ==&lt;br /&gt;
&lt;br /&gt;
So, I think we all know the Viewer UI for rotating objects sucks. Values randomly flip themselves around, and entering angles into one field inexplicably causes the value to disappear and instead the other fields change. Many submissions to the JIRA have resulted in &amp;quot;WON&#039;T FIX&amp;quot; or &amp;quot;EXPECTED BEHAVIOR&amp;quot; responses, with no explanation or proper resolution.&lt;br /&gt;
&lt;br /&gt;
Well, the real answer appears to be to tackle the source directly to figure out why it does this, and what can be done to make its behavior more sane, because nobody at LL seems willing to deal with it themselves. &lt;br /&gt;
&lt;br /&gt;
(The challenge for me personally is that I am not a c++ programmer so I don&#039;t fully understand the arcane details of the language. *.h files are apparently for declarations while *.cpp is for definitions, but it seems like if you wade into putting actual code into the .h, beyond simply declaring &amp;quot;int x;&amp;quot; or somesuch, then *.h acts as a *.cpp. But LL has full complete code in .h and apparently conflicting duplicate full complete code in *.cpp. Probably an expert C++ coder would know which parts of this mess is ignored by the compiler.)&lt;br /&gt;
&lt;br /&gt;
=== object editor panel UI ===&lt;br /&gt;
Starting point, the user interface of the object editor panel:&lt;br /&gt;
&lt;br /&gt;
http://hg.secondlife.com/viewer-development/src/a126abe30997/indra/newview/llpanelobject.cpp&lt;br /&gt;
&lt;br /&gt;
Line 145:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    // Rotation&lt;br /&gt;
    mLabelRotation = getChild&amp;lt;LLTextBox&amp;gt;(&amp;quot;label rotation&amp;quot;);&lt;br /&gt;
    mCtrlRotX = getChild&amp;lt;LLSpinCtrl&amp;gt;(&amp;quot;Rot X&amp;quot;);&lt;br /&gt;
    childSetCommitCallback(&amp;quot;Rot X&amp;quot;,onCommitRotation,this);&lt;br /&gt;
    mCtrlRotY = getChild&amp;lt;LLSpinCtrl&amp;gt;(&amp;quot;Rot Y&amp;quot;);&lt;br /&gt;
    childSetCommitCallback(&amp;quot;Rot Y&amp;quot;,onCommitRotation,this);&lt;br /&gt;
    mCtrlRotZ = getChild&amp;lt;LLSpinCtrl&amp;gt;(&amp;quot;Rot Z&amp;quot;);&lt;br /&gt;
    childSetCommitCallback(&amp;quot;Rot Z&amp;quot;,onCommitRotation,this);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== onCommitRotation ===&lt;br /&gt;
Searching for &amp;quot;onCommitRotation&amp;quot; in same file...&lt;br /&gt;
&lt;br /&gt;
http://hg.secondlife.com/viewer-development/src/a126abe30997/indra/newview/llpanelobject.cpp&lt;br /&gt;
&lt;br /&gt;
Line 1951:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// static&lt;br /&gt;
void LLPanelObject::onCommitRotation( LLUICtrl* ctrl, void* userdata )&lt;br /&gt;
{&lt;br /&gt;
    LLPanelObject* self = (LLPanelObject*) userdata;&lt;br /&gt;
    BOOL btn_down = ((LLSpinCtrl*)ctrl)-&amp;gt;isMouseHeldDown() ;&lt;br /&gt;
    self-&amp;gt;sendRotation(btn_down);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== sendRotation ===&lt;br /&gt;
Searching for &amp;quot;sendRotation&amp;quot; in same file...&lt;br /&gt;
&lt;br /&gt;
http://hg.secondlife.com/viewer-development/src/a126abe30997/indra/newview/llpanelobject.cpp&lt;br /&gt;
&lt;br /&gt;
Line 1578:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// BUG: Make work with multiple objects&lt;br /&gt;
void LLPanelObject::sendRotation(BOOL btn_down)&lt;br /&gt;
{&lt;br /&gt;
    if (mObject.isNull()) return;&lt;br /&gt;
&lt;br /&gt;
    LLVector3 new_rot(mCtrlRotX-&amp;gt;get(), mCtrlRotY-&amp;gt;get(), mCtrlRotZ-&amp;gt;get());&lt;br /&gt;
    new_rot.mV[VX] = llround(new_rot.mV[VX], OBJECT_ROTATION_PRECISION);&lt;br /&gt;
    new_rot.mV[VY] = llround(new_rot.mV[VY], OBJECT_ROTATION_PRECISION);&lt;br /&gt;
    new_rot.mV[VZ] = llround(new_rot.mV[VZ], OBJECT_ROTATION_PRECISION);&lt;br /&gt;
&lt;br /&gt;
    // Note: must compare before conversion to radians&lt;br /&gt;
    LLVector3 delta = new_rot - mCurEulerDegrees;&lt;br /&gt;
&lt;br /&gt;
    if (delta.magVec() &amp;gt;= 0.0005f)&lt;br /&gt;
    {&lt;br /&gt;
        mCurEulerDegrees = new_rot;&lt;br /&gt;
        new_rot *= DEG_TO_RAD;&lt;br /&gt;
&lt;br /&gt;
        LLQuaternion rotation;&lt;br /&gt;
        rotation.setQuat(new_rot.mV[VX], new_rot.mV[VY], new_rot.mV[VZ]);&lt;br /&gt;
&lt;br /&gt;
        if (mRootObject != mObject)&lt;br /&gt;
        {&lt;br /&gt;
            rotation = rotation * ~mRootObject-&amp;gt;getRotationRegion();&lt;br /&gt;
        }&lt;br /&gt;
        std::vector&amp;lt;LLVector3&amp;gt;&amp;amp; child_positions = mObject-&amp;gt;mUnselectedChildrenPositions ;&lt;br /&gt;
        std::vector&amp;lt;LLQuaternion&amp;gt; child_rotations;&lt;br /&gt;
        if (mObject-&amp;gt;isRootEdit())&lt;br /&gt;
        {&lt;br /&gt;
            mObject-&amp;gt;saveUnselectedChildrenRotation(child_rotations) ;&lt;br /&gt;
            mObject-&amp;gt;saveUnselectedChildrenPosition(child_positions) ;          &lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        mObject-&amp;gt;setRotation(rotation);&lt;br /&gt;
        LLManip::rebuild(mObject) ;&lt;br /&gt;
&lt;br /&gt;
        // for individually selected roots, we need to counterrotate all the children&lt;br /&gt;
        if (mObject-&amp;gt;isRootEdit())&lt;br /&gt;
        {           &lt;br /&gt;
            mObject-&amp;gt;resetChildrenRotationAndPosition(child_rotations, child_positions) ;           &lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if(!btn_down)&lt;br /&gt;
        {&lt;br /&gt;
            child_positions.clear() ;&lt;br /&gt;
            LLSelectMgr::getInstance()-&amp;gt;sendMultipleUpdate(UPD_ROTATION | UPD_POSITION);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== F32 LLVector3::magVec ===&lt;br /&gt;
Googling goes to Dale Glass&#039;s website which says:&lt;br /&gt;
---&amp;gt; F32 LLVector3::magVec () const, in file v3math.h&lt;br /&gt;
&lt;br /&gt;
http://hg.secondlife.com/viewer-development/src/a126abe30997/indra/llmath/v3math.h&lt;br /&gt;
&lt;br /&gt;
Line 337:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
inline F32  LLVector3::magVec(void) const&lt;br /&gt;
{&lt;br /&gt;
    return (F32) sqrt(mV[0]*mV[0] + mV[1]*mV[1] + mV[2]*mV[2]);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(MagVec is not defined in the matching v3math.cpp so this *.h is the declaration and definition.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== const LLQuaternion&amp;amp; setQuat ===&lt;br /&gt;
&lt;br /&gt;
Understanding this section is a confusing mess for a non C++ programmer. Which of these is actually used by &amp;quot;rotation.setQuat(new_rot.mV[VX], new_rot.mV[VY], new_rot.mV[VZ]);&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
http://hg.secondlife.com/viewer-development/src/a126abe30997/indra/llmath/llquaternion.h&lt;br /&gt;
&lt;br /&gt;
Line 51:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class LLQuaternion&lt;br /&gt;
{&lt;br /&gt;
public:&lt;br /&gt;
&lt;br /&gt;
[..........]&lt;br /&gt;
&lt;br /&gt;
    const LLQuaternion&amp;amp; setQuatInit(F32 x, F32 y, F32 z, F32 w);    // deprecated&lt;br /&gt;
    const LLQuaternion&amp;amp; setQuat(const LLQuaternion &amp;amp;quat);          // deprecated&lt;br /&gt;
    const LLQuaternion&amp;amp; setQuat(const F32 *q);                      // deprecated&lt;br /&gt;
    const LLQuaternion&amp;amp; setQuat(const LLMatrix3 &amp;amp;mat);              // deprecated&lt;br /&gt;
    const LLQuaternion&amp;amp; setQuat(const LLMatrix4 &amp;amp;mat);              // deprecated&lt;br /&gt;
    const LLQuaternion&amp;amp; setQuat(F32 angle, F32 x, F32 y, F32 z);    // deprecated&lt;br /&gt;
    const LLQuaternion&amp;amp; setQuat(F32 angle, const LLVector3 &amp;amp;vec);   // deprecated&lt;br /&gt;
    const LLQuaternion&amp;amp; setQuat(F32 angle, const LLVector4 &amp;amp;vec);   // deprecated&lt;br /&gt;
    const LLQuaternion&amp;amp; setQuat(F32 roll, F32 pitch, F32 yaw);      // deprecated&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Line 273:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// deprecated&lt;br /&gt;
inline const LLQuaternion&amp;amp;  LLQuaternion::setQuatInit(F32 x, F32 y, F32 z, F32 w)&lt;br /&gt;
{&lt;br /&gt;
    mQ[VX] = x;&lt;br /&gt;
    mQ[VY] = y;&lt;br /&gt;
    mQ[VZ] = z;&lt;br /&gt;
    mQ[VS] = w;&lt;br /&gt;
    normalize();&lt;br /&gt;
    return (*this);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// deprecated&lt;br /&gt;
inline const LLQuaternion&amp;amp;  LLQuaternion::setQuat(const LLQuaternion &amp;amp;quat)&lt;br /&gt;
{&lt;br /&gt;
    mQ[VX] = quat.mQ[VX];&lt;br /&gt;
    mQ[VY] = quat.mQ[VY];&lt;br /&gt;
    mQ[VZ] = quat.mQ[VZ];&lt;br /&gt;
    mQ[VW] = quat.mQ[VW];&lt;br /&gt;
    normalize();&lt;br /&gt;
    return (*this);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// deprecated&lt;br /&gt;
inline const LLQuaternion&amp;amp;  LLQuaternion::setQuat(const F32 *q)&lt;br /&gt;
{&lt;br /&gt;
    mQ[VX] = q[VX];&lt;br /&gt;
    mQ[VY] = q[VY];&lt;br /&gt;
    mQ[VZ] = q[VZ];&lt;br /&gt;
    mQ[VS] = q[VW];&lt;br /&gt;
    normalize();&lt;br /&gt;
    return (*this);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Overlapping function definitions in the *.cpp:&lt;br /&gt;
&lt;br /&gt;
http://hg.secondlife.com/viewer-development/src/a126abe30997/indra/llmath/llquaternion.cpp&lt;br /&gt;
&lt;br /&gt;
Line 219:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// deprecated&lt;br /&gt;
const LLQuaternion&amp;amp; LLQuaternion::setQuat(F32 angle, F32 x, F32 y, F32 z)&lt;br /&gt;
{&lt;br /&gt;
    LLVector3 vec(x, y, z);&lt;br /&gt;
    vec.normalize();&lt;br /&gt;
&lt;br /&gt;
    angle *= 0.5f;&lt;br /&gt;
    F32 c, s;&lt;br /&gt;
    c = cosf(angle);&lt;br /&gt;
    s = sinf(angle);&lt;br /&gt;
&lt;br /&gt;
    mQ[VX] = vec.mV[VX]*s;&lt;br /&gt;
    mQ[VY] = vec.mV[VY]*s;&lt;br /&gt;
    mQ[VZ] = vec.mV[VZ]*s;&lt;br /&gt;
    mQ[VW] = c;&lt;br /&gt;
&lt;br /&gt;
    normalize();&lt;br /&gt;
    return (*this);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// deprecated&lt;br /&gt;
const LLQuaternion&amp;amp; LLQuaternion::setQuat(F32 angle, const LLVector3 &amp;amp;vec)&lt;br /&gt;
{&lt;br /&gt;
    LLVector3 v(vec);&lt;br /&gt;
    v.normalize();&lt;br /&gt;
&lt;br /&gt;
    angle *= 0.5f;&lt;br /&gt;
    F32 c, s;&lt;br /&gt;
    c = cosf(angle);&lt;br /&gt;
    s = sinf(angle);&lt;br /&gt;
&lt;br /&gt;
    mQ[VX] = v.mV[VX]*s;&lt;br /&gt;
    mQ[VY] = v.mV[VY]*s;&lt;br /&gt;
    mQ[VZ] = v.mV[VZ]*s;&lt;br /&gt;
    mQ[VW] = c;&lt;br /&gt;
&lt;br /&gt;
    normalize();&lt;br /&gt;
    return (*this);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
const LLQuaternion&amp;amp; LLQuaternion::setQuat(F32 angle, const LLVector4 &amp;amp;vec)&lt;br /&gt;
{&lt;br /&gt;
    LLVector3 v(vec.mV[VX], vec.mV[VY], vec.mV[VZ]);&lt;br /&gt;
    v.normalize();&lt;br /&gt;
&lt;br /&gt;
    F32 c, s;&lt;br /&gt;
    c = cosf(angle*0.5f);&lt;br /&gt;
    s = sinf(angle*0.5f);&lt;br /&gt;
&lt;br /&gt;
    mQ[VX] = v.mV[VX]*s;&lt;br /&gt;
    mQ[VY] = v.mV[VY]*s;&lt;br /&gt;
    mQ[VZ] = v.mV[VZ]*s;&lt;br /&gt;
    mQ[VW] = c;&lt;br /&gt;
&lt;br /&gt;
    normalize();&lt;br /&gt;
    return (*this);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
const LLQuaternion&amp;amp; LLQuaternion::setQuat(F32 roll, F32 pitch, F32 yaw)&lt;br /&gt;
{&lt;br /&gt;
    LLMatrix3 rot_mat(roll, pitch, yaw);&lt;br /&gt;
    rot_mat.orthogonalize();&lt;br /&gt;
    *this = rot_mat.quaternion();&lt;br /&gt;
        &lt;br /&gt;
    normalize();&lt;br /&gt;
    return (*this);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
const LLQuaternion&amp;amp; LLQuaternion::setQuat(const LLMatrix3 &amp;amp;mat)&lt;br /&gt;
{&lt;br /&gt;
    *this = mat.quaternion();&lt;br /&gt;
    normalize();&lt;br /&gt;
    return (*this);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
const LLQuaternion&amp;amp; LLQuaternion::setQuat(const LLMatrix4 &amp;amp;mat)&lt;br /&gt;
{&lt;br /&gt;
    *this = mat.quaternion();&lt;br /&gt;
    normalize();&lt;br /&gt;
    return (*this);&lt;br /&gt;
//#if 1&lt;br /&gt;
//  // NOTE: LLQuaternion&#039;s are actually inverted with respect to&lt;br /&gt;
//  // the matrices, so this code also assumes inverted quaternions&lt;br /&gt;
//  // (-x, -y, -z, w). The result is that roll,pitch,yaw are applied&lt;br /&gt;
//  // in reverse order (yaw,pitch,roll).&lt;br /&gt;
//  F64 cosX = cos(roll);&lt;br /&gt;
//    F64 cosY = cos(pitch);&lt;br /&gt;
//    F64 cosZ = cos(yaw);&lt;br /&gt;
//&lt;br /&gt;
//    F64 sinX = sin(roll);&lt;br /&gt;
//    F64 sinY = sin(pitch);&lt;br /&gt;
//    F64 sinZ = sin(yaw);&lt;br /&gt;
//&lt;br /&gt;
//    mQ[VW] = (F32)sqrt(cosY*cosZ - sinX*sinY*sinZ + cosX*cosZ + cosX*cosY + 1.0)*.5;&lt;br /&gt;
//  if (fabs(mQ[VW]) &amp;lt; F_APPROXIMATELY_ZERO)&lt;br /&gt;
//  {&lt;br /&gt;
//      // null rotation, any axis will do&lt;br /&gt;
//      mQ[VX] = 0.0f;&lt;br /&gt;
//      mQ[VY] = 1.0f;&lt;br /&gt;
//      mQ[VZ] = 0.0f;&lt;br /&gt;
//  }&lt;br /&gt;
//  else&lt;br /&gt;
//  {&lt;br /&gt;
//      F32 inv_s = 1.0f / (4.0f * mQ[VW]);&lt;br /&gt;
//      mQ[VX] = (F32)-(-sinX*cosY - cosX*sinY*sinZ - sinX*cosZ) * inv_s;&lt;br /&gt;
//      mQ[VY] = (F32)-(-cosX*sinY*cosZ + sinX*sinZ - sinY) * inv_s;&lt;br /&gt;
//      mQ[VZ] = (F32)-(-cosY*sinZ - sinX*sinY*cosZ - cosX*sinZ) * inv_s;       &lt;br /&gt;
//  }&lt;br /&gt;
//&lt;br /&gt;
//#else // This only works on a certain subset of roll/pitch/yaw&lt;br /&gt;
//  &lt;br /&gt;
//  F64 cosX = cosf(roll/2.0);&lt;br /&gt;
//    F64 cosY = cosf(pitch/2.0);&lt;br /&gt;
//    F64 cosZ = cosf(yaw/2.0);&lt;br /&gt;
//&lt;br /&gt;
//    F64 sinX = sinf(roll/2.0);&lt;br /&gt;
//    F64 sinY = sinf(pitch/2.0);&lt;br /&gt;
//    F64 sinZ = sinf(yaw/2.0);&lt;br /&gt;
//&lt;br /&gt;
//    mQ[VW] = (F32)(cosX*cosY*cosZ + sinX*sinY*sinZ);&lt;br /&gt;
//    mQ[VX] = (F32)(sinX*cosY*cosZ - cosX*sinY*sinZ);&lt;br /&gt;
//    mQ[VY] = (F32)(cosX*sinY*cosZ + sinX*cosY*sinZ);&lt;br /&gt;
//    mQ[VZ] = (F32)(cosX*cosY*sinZ - sinX*sinY*cosZ);&lt;br /&gt;
//#endif&lt;br /&gt;
//&lt;br /&gt;
//  normalize();&lt;br /&gt;
//  return (*this);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(From looking at the above overlapping code definitions, I would assume the section used is this one, in the *.cpp:)&lt;br /&gt;
&lt;br /&gt;
Line 277:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
const LLQuaternion&amp;amp; LLQuaternion::setQuat(F32 roll, F32 pitch, F32 yaw)&lt;br /&gt;
{&lt;br /&gt;
    LLMatrix3 rot_mat(roll, pitch, yaw);&lt;br /&gt;
    rot_mat.orthogonalize();&lt;br /&gt;
    *this = rot_mat.quaternion();&lt;br /&gt;
        &lt;br /&gt;
    normalize();&lt;br /&gt;
    return (*this);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== const LLMatrix3&amp;amp; orthogonalize(); ===&lt;br /&gt;
&lt;br /&gt;
http://hg.secondlife.com/viewer-development/src/a126abe30997/indra/llmath/m3math.h&lt;br /&gt;
&lt;br /&gt;
Line 114:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
const LLMatrix3&amp;amp; orthogonalize();   // Orthogonalizes X, then Y, then Z&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://hg.secondlife.com/viewer-development/src/a126abe30997/indra/llmath/m3math.cpp&lt;br /&gt;
&lt;br /&gt;
Line 458:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
const LLMatrix3&amp;amp;    LLMatrix3::orthogonalize()&lt;br /&gt;
{&lt;br /&gt;
    LLVector3 x_axis(mMatrix[VX]);&lt;br /&gt;
    LLVector3 y_axis(mMatrix[VY]);&lt;br /&gt;
    LLVector3 z_axis(mMatrix[VZ]);&lt;br /&gt;
&lt;br /&gt;
    x_axis.normVec();&lt;br /&gt;
    y_axis -= x_axis * (x_axis * y_axis);&lt;br /&gt;
    y_axis.normVec();&lt;br /&gt;
    z_axis = x_axis % y_axis;&lt;br /&gt;
    setRows(x_axis, y_axis, z_axis);&lt;br /&gt;
    return (*this);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LLMatrix3::quaternion() const ===&lt;br /&gt;
&lt;br /&gt;
http://hg.secondlife.com/viewer-development/src/a126abe30997/indra/llmath/m3math.h&lt;br /&gt;
&lt;br /&gt;
Line 99:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LLQuaternion quaternion() const;        // Returns quaternion from mat&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://hg.secondlife.com/viewer-development/src/a126abe30997/indra/llmath/m3math.cpp&lt;br /&gt;
&lt;br /&gt;
Line 244:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// SJB: This code is correct for a logicly stored (non-transposed) matrix;&lt;br /&gt;
//      Our matrices are stored transposed, OpenGL style, so this generates the&lt;br /&gt;
//      INVERSE quaternion (-x, -y, -z, w)!&lt;br /&gt;
//      Because we use similar logic in LLQuaternion::getMatrix3,&lt;br /&gt;
//      we are internally consistant so everything works OK :)&lt;br /&gt;
LLQuaternion    LLMatrix3::quaternion() const&lt;br /&gt;
{&lt;br /&gt;
    LLQuaternion    quat;&lt;br /&gt;
    F32     tr, s, q[4];&lt;br /&gt;
    U32     i, j, k;&lt;br /&gt;
    U32     nxt[3] = {1, 2, 0};&lt;br /&gt;
&lt;br /&gt;
    tr = mMatrix[0][0] + mMatrix[1][1] + mMatrix[2][2];&lt;br /&gt;
&lt;br /&gt;
    // check the diagonal&lt;br /&gt;
    if (tr &amp;gt; 0.f) &lt;br /&gt;
    {&lt;br /&gt;
        s = (F32)sqrt (tr + 1.f);&lt;br /&gt;
        quat.mQ[VS] = s / 2.f;&lt;br /&gt;
        s = 0.5f / s;&lt;br /&gt;
        quat.mQ[VX] = (mMatrix[1][2] - mMatrix[2][1]) * s;&lt;br /&gt;
        quat.mQ[VY] = (mMatrix[2][0] - mMatrix[0][2]) * s;&lt;br /&gt;
        quat.mQ[VZ] = (mMatrix[0][1] - mMatrix[1][0]) * s;&lt;br /&gt;
    } &lt;br /&gt;
    else&lt;br /&gt;
    {       &lt;br /&gt;
        // diagonal is negative&lt;br /&gt;
        i = 0;&lt;br /&gt;
        if (mMatrix[1][1] &amp;gt; mMatrix[0][0]) &lt;br /&gt;
            i = 1;&lt;br /&gt;
        if (mMatrix[2][2] &amp;gt; mMatrix[i][i]) &lt;br /&gt;
            i = 2;&lt;br /&gt;
&lt;br /&gt;
        j = nxt[i];&lt;br /&gt;
        k = nxt[j];&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        s = (F32)sqrt ((mMatrix[i][i] - (mMatrix[j][j] + mMatrix[k][k])) + 1.f);&lt;br /&gt;
&lt;br /&gt;
        q[i] = s * 0.5f;&lt;br /&gt;
&lt;br /&gt;
        if (s != 0.f) &lt;br /&gt;
            s = 0.5f / s;&lt;br /&gt;
&lt;br /&gt;
        q[3] = (mMatrix[j][k] - mMatrix[k][j]) * s;&lt;br /&gt;
        q[j] = (mMatrix[i][j] + mMatrix[j][i]) * s;&lt;br /&gt;
        q[k] = (mMatrix[i][k] + mMatrix[k][i]) * s;&lt;br /&gt;
&lt;br /&gt;
        quat.setQuat(q);&lt;br /&gt;
    }&lt;br /&gt;
    return quat;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== normalize() ===&lt;br /&gt;
&lt;br /&gt;
manual search, walking backward through includes in &amp;quot;llquaternion.cpp&amp;quot;..&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;quot;linden_common.h&amp;quot;&lt;br /&gt;
#include &amp;quot;llmath.h&amp;quot; // for F_PI&lt;br /&gt;
#include &amp;quot;llquaternion.h&amp;quot;&lt;br /&gt;
//#include &amp;quot;vmath.h&amp;quot;&lt;br /&gt;
#include &amp;quot;v3math.h&amp;quot;&lt;br /&gt;
#include &amp;quot;v3dmath.h&amp;quot;&lt;br /&gt;
#include &amp;quot;v4math.h&amp;quot; ----- Yes&lt;br /&gt;
#include &amp;quot;m4math.h&amp;quot; - nope&lt;br /&gt;
#include &amp;quot;m3math.h&amp;quot; - nope&lt;br /&gt;
#include &amp;quot;llquantize.h&amp;quot; - nope&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://hg.secondlife.com/viewer-development/src/a126abe30997/indra/llmath/v4math.h&lt;br /&gt;
&lt;br /&gt;
Line 84:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        F32 normalize();                // Normalizes and returns the magnitude of LLVector4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Line 458:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
inline F32      LLVector4::normalize(void)&lt;br /&gt;
{&lt;br /&gt;
    F32 mag = (F32) sqrt(mV[VX]*mV[VX] + mV[VY]*mV[VY] + mV[VZ]*mV[VZ]);&lt;br /&gt;
    F32 oomag;&lt;br /&gt;
&lt;br /&gt;
    if (mag &amp;gt; FP_MAG_THRESHOLD)&lt;br /&gt;
    {&lt;br /&gt;
        oomag = 1.f/mag;&lt;br /&gt;
        mV[VX] *= oomag;&lt;br /&gt;
        mV[VY] *= oomag;&lt;br /&gt;
        mV[VZ] *= oomag;&lt;br /&gt;
    }&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
        mV[0] = 0.f;&lt;br /&gt;
        mV[1] = 0.f;&lt;br /&gt;
        mV[2] = 0.f;&lt;br /&gt;
        mag = 0;&lt;br /&gt;
    }&lt;br /&gt;
    return (mag);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No matching function in v4math.cpp so this *.h is the declaration and definition.&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Rotation&amp;diff=1159074</id>
		<title>Talk:Rotation</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Rotation&amp;diff=1159074"/>
		<updated>2011-12-04T09:04:11Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: /* Some interesting values */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Talk}}&lt;br /&gt;
Fixed a few minor syntax errors and reworked the top of the article a bit. As an article it is quite far along though it still has a ways to go. [[User:Strife Onizuka|Strife Onizuka]] 03:32, 29 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
== Intro is awful ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;gymbal lock&amp;quot; is something that affects mechanical systems with gyroscopes.  A quaternion rotation is a mathematical abstraction.  The term simply does not apply, and only serves to confuse things.  The reference to &amp;quot;SLERP&amp;quot; without a link is useless. [[User:Doran Zemlja|Doran Zemlja]]&lt;br /&gt;
&lt;br /&gt;
:Gimbal lock effects Euler angles to which you wrote an article using them everywhere without mention it; it is a gross oversight. That sentence is a bit complex on review and yes there is no SLERP article but that doesn&#039;t mean someone won&#039;t write one (it is better to leave open links then no links; no links give no hint that a page should be created). I may write a short one tomorrow, I already have a function that implements it (I&#039;ve just been pressed for time). I will find a better article on gimbal lock, the wikipedia one is pretty poor in this regard as it fails to go into the programing implications. I gave you the benefit of the doubt and looked up &#039;gymbal&#039; in the dictionary, to which it was nowhere to be found; but &#039;gimbal&#039; was. [[User:Strife Onizuka|Strife Onizuka]] 19:33, 31 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
::Gimbal lock affects you every time you use Euler Coordinates, it is not restricted to gyroscopes. German article on wikipedia about gimbal lock shows it much more clearly than the English version -- Catherine Pfeffer 2007-12-08&lt;br /&gt;
&lt;br /&gt;
I&#039;m a mathematician, and think the following text is also misleading (or partially incorrect) in the &#039;&#039;&#039;Other Representations&#039;&#039;&#039; section: &#039;&#039;&#039;&#039;&#039;&amp;quot;Another way to represent a rotation is using three numbers, &amp;lt;X, Y, Z&amp;gt;, which represent the amount (in radians) which the object is rotated around each axis. This is used in the Edit window...&amp;quot;&#039;&#039;&#039;&#039;&#039; Technically, 1 &amp;quot;radian&amp;quot; equals the angle that is traced out by an arc along a circle&#039;s circumference, [[when that arc equals the circle&#039;s radius]]. This means that 2*pi radians equals 360 degrees, 1*pi radians equals 180 degrees, and pi/2 radians equals 90 degrees. SL&#039;s &#039;&#039;&#039;prim&#039;&#039;&#039;-editing window displays rotations in [[degrees]] (360, 180, 90...) and NOT in [[radians]] (2pi, pi, pi/2)! However, it IS true that radians must be used when editing values in some LSL &#039;&#039;&#039;script&#039;&#039;&#039; commands! [[User:Times Sands|Times Sands]] 18:18, 10 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Mirroring using quaternions ==&lt;br /&gt;
&lt;br /&gt;
I think I have worked out how to mirror a point (and therefore an entire object in pieces,) using quaternions, but does anyone here know how to, or if it is even possible to, define a rotation that turns a left hand into a right hand or vise-versa?  This is a three diminsional mirror operation, but in four diminsions it is a simple rotation.  (I could be wrong, but based on my research into quaternions it seems right...)&amp;lt;br /&amp;gt;[[User:Cron Stardust|Cron Stardust]] 22:16, 25 March 2007 (PDT)&lt;br /&gt;
:It depends entirely upon which axis you want to mirror around. Save yourself some work and look up Jeffrey&#039;s Prim Mirror. [[User:Strife Onizuka|Strife Onizuka]] 11:13, 26 March 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Moving this page ==&lt;br /&gt;
&lt;br /&gt;
Shouldn&#039;t the content of this page be moved to Category:LSL Rotation? It seems confusing to me to have multiple Rotation pages.&lt;br /&gt;
&lt;br /&gt;
:Good point, I see no problem merging them. -- [[User:Strife Onizuka|Strife Onizuka]] 08:40, 22 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
::Very true. Or even better, do a &amp;quot;pure maths&amp;quot; one and a &amp;quot;pure lsl&amp;quot; one -- Catherine Pfeffer, 2007-12-08&lt;br /&gt;
&lt;br /&gt;
== GetRot()/SetRot() chart ==&lt;br /&gt;
&lt;br /&gt;
llGetLocalRot() and llGetRot() clearly do *not* return the same value in the root prim of an attachment.  While I believe that llGetRot() returns the avatar rotation as indicated, llGetLocalRot() I believe gives the rotation of the root prim relative to the attachment point (or the avatar?)&lt;br /&gt;
&lt;br /&gt;
:You are correct, that entry in the table is wrong. -- [[User:Strife Onizuka|Strife Onizuka]] 08:40, 22 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Visual aids ==&lt;br /&gt;
&lt;br /&gt;
I use [http://www.isner.com/tutorials/quatSpells/quaternion_spells_14.htm this page] as a visual reference and cheat sheet for quaternion operations. --[[User:Tateru Nino|Tateru Nino]] 15:53, 9 September 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Maths versus LSL ==&lt;br /&gt;
&lt;br /&gt;
Has anyone noticed that maths&#039; quaternion multiplication is written in reverse order than in LSL ? That is, what you write Q1 . Q2 in maths is computed in LSL with Q2 * Q1. Is that a bug or simply a documentation issue ? -- Catherine Pfeffer - 2007-12-08&lt;br /&gt;
&lt;br /&gt;
:It appears to be a bug, with an obvious patch in the server code, but this bug won&#039;t be fixed, so I decided to document the problem here -- Catherine Pfeffer - 2008-08-28&lt;br /&gt;
&lt;br /&gt;
::I know it&#039;s a way late comment, but my guess is that it&#039;s the noticable side effect of LSL&#039;s backwards order of evaluation. we just don&#039;t notice it elsewhere because most other operations within lsl are communicative and quaternion math isn&#039;t.&amp;lt;br/&amp;gt;-- &#039;&#039;&#039;[[User:Void_Singer|Void]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User_talk:Void_Singer|talk]]|[[Special:Contributions/Void_Singer|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 11:09, 19 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Unjustified preference for Euler notation ==&lt;br /&gt;
&lt;br /&gt;
One thing that really annoys me with this page is that it seems to consider that the Euler coordinates are the easy way to deal with rotations, while the &amp;lt;x, y, z, s&amp;gt; quaternion representation is almost unintelligible.&lt;br /&gt;
&lt;br /&gt;
That&#039;s a common opinon, and as a matter of facts, most LSL scripts I have found use and overuse llEuler2Rot() and llRot2Euler().&lt;br /&gt;
&lt;br /&gt;
But that&#039;s simply wrong. Euler&#039;s notation is completly unintuitive for any non-trivial situation.&lt;br /&gt;
&lt;br /&gt;
To get convinced of it, try to figure out the Euler angles for the rotation of 45 degrees around XY diagonal (X = Y and Z = 0). Good luck ! :-).&lt;br /&gt;
Now try figuring out the quaternions&#039;s values with the directing vector and sine and cosine of the half-angle: that&#039;s straightforward.&lt;br /&gt;
&lt;br /&gt;
I think this page is misleading a lot of new scripters into the wrong direction because of its preference for Euler angles. -- Catherine Pfeffer - 2008-08-28&lt;br /&gt;
&lt;br /&gt;
:I agree. &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 14:19, 28 August 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
:As I also agreed and no one here has disagreed, I have take the liberty of adding a section on axis and turn angle.  I think it&#039;s horses for courses whether you are better off using Euler2Rot or AxisAngle2Rot, but people should be more aware of both.  I also put an example in the section on degrees to radians.  If anyone wants to champion forward, left, right representation, it won&#039;t be me!  [[User:Jonno Stromfield|Jonno Stromfield]] 12:21, 21 October 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Rotating Vectors ==&lt;br /&gt;
&lt;br /&gt;
The example:-&lt;br /&gt;
&lt;br /&gt;
//-- same as:&lt;br /&gt;
llSetPrimitiveParams( [PRIM_POSITION, llGetPos() + (gPosOffset - gPosOffset * gRotArc) * llGetRot(),PRIM_ROTATION, gRotArc * llGetRot()] );&lt;br /&gt;
&lt;br /&gt;
gives no derivation of the variables gPosOffset and gRotArc.&lt;br /&gt;
Which is less than useful to someone learning from the text.&lt;br /&gt;
[[User:Gregory McLeod|Gregory McLeod]] 08:51, 1 September 2008 (PDT)&lt;br /&gt;
:missed this comment before. although it should be guessable that offset = gPosOffset, and rot6x = gRotArc, I went ahead and made the section more explicit, and converted it to use lsl highlighting (so that all keywords would be linked) and removed a few slightly misleading viewer frame references. &amp;lt;br/&amp;gt;-- &#039;&#039;&#039;[[User:Void_Singer|Void]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User_talk:Void_Singer|talk]]|[[Special:Contributions/Void_Singer|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 11:00, 19 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Useful snippets ==&lt;br /&gt;
&lt;br /&gt;
The snippet we have now is kind of a string function. [http://www.isner.com/tutorials/quatSpells/quaternion_spells_12.htm How about converting these] from XSI to LSL? &lt;br /&gt;
&lt;br /&gt;
[http://lslwiki.net/lslwiki/wakka.php?wakka=LibraryRotationFunctions How about these] from lslwiki.net? (&amp;quot;All functions on this page are released into public domain and may have been based off other public domain works.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
By the way, someone above complained about an unlinked reference to slerp() which seems to now be completely missing(!) Both of those have slerp(). [[User:Gia May|Gia May]] 07:15, 8 December 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
:I offer L$5000 to the first person who translates two functions from http://www.isner.com/tutorials/quatSpells/quaternion_spells_12.htm to the Useful snippets here, or for code constraining rotations to an arbitrary conic section. Runners up, if any, will be awarded on merit, and I am also asking the Lindens to help with this library deficiency bug bounty.  IM me inworld for details. [[User:JS Uralia|JS Uralia]] 21:17, 2 February 2009 (UTC)&lt;br /&gt;
::Hello, I went ahead and added three such functions: ConstrainQuaternion2Plane, ScaleQuaternion and CombineQuaternions (Slerp) though this last one already existed on the Wiki.--[[User:Jesrad Seraph|Jesrad Seraph]] 07:05, 17 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Pending fulfillment of my promise to pay Jesrad L$5000 -- and [http://wiki.secondlife.com/w/index.php?title=Rotation&amp;amp;diff=220643&amp;amp;oldid=167253 Mephistopheles Thalheimer can attest I keep my word on these bounty payments] -- could someone please independently verify that this function works as it should?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;// Constrain a rotation to a given plane, defined by its normal, this is very useful for vehicles that remain horizontal in turns:&lt;br /&gt;
rotation ConstrainQuat2Plane(rotation source, vector normal)&lt;br /&gt;
{&lt;br /&gt;
	return llAxisAngle2Rot(normal, &amp;lt;source.x, source.y, source.z&amp;gt; * normal * llRot2Angle(source));&lt;br /&gt;
} // Jesrad Seraph&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I&#039;m very troubled by the use of the first three elements of the quaternion in that manner, but in all honestly, I don&#039;t know enough to figure out what a correct answer is. [[User:JS Uralia|JS Uralia]] 20:43, 23 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:I think it might just be correct. I can&#039;t verify it at the moment but the math looks to have the correct properties though the magnitudes of the vectors going into the dot product worry me. I&#039;m wondering if &amp;lt;source.x, source.y, source.z&amp;gt; shouldn&#039;t be normalized first. On a side note, it doesn&#039;t handle the edge cases where source and normal haven&#039;t been normalized.  -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 09:56, 24 May 2009 (UTC)&lt;br /&gt;
::More testing shows it is off by sometimes as much as 90 degrees... I will try to correct it, probably by normalizing the vector part first like suggested.--[[User:Jesrad Seraph|Jesrad Seraph]] 14:52, 7 July 2009 (UTC)&lt;br /&gt;
:::Any progress? I just ran into some problems with it myself, so I left a note on the main page warning others to be cautious with it. [[User:Nica Pennell|Nica Pennell]] 03:34, 23 November 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== With regard to rotations of a child of an attachment ==&lt;br /&gt;
&lt;br /&gt;
I blow a raspberry at lsl. -- &#039;&#039;&#039;[[User:EddyFragment Robonaught|Eddy]]&#039;&#039;&#039;  &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:EddyFragment_Robonaught|talk]]|[[Special:Contributions/EddyFragment_Robonaught|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 06:37, 13 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Don&#039;t you just love {{Jira|SVC-93}}? Gage me with a spoon *rolls eyes*. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 18:08, 13 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Ah. Not just me then. I thought I just needed a degree in quantum maths to understand it. Thanx for the link. *voted* -- &#039;&#039;&#039;[[User:EddyFragment Robonaught|Eddy]]&#039;&#039;&#039;  &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:EddyFragment_Robonaught|talk]]|[[Special:Contributions/EddyFragment_Robonaught|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 01:41, 14 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I think this is wrong: it claims that the llGetRot of a child prim of an attached object gives &amp;quot;global rotation of avatar * global rotation of prim (Not Useful)&amp;quot;  This would be very useful if it were true and would let you calculate the rotation of the attach point.  But I think llGetRot gives you the local rotation of the child prim * global rotation of the avatar, which is of no use that I can think of. I&#039;m new at scripting so I&#039;d appreciate some verification and so won&#039;t just change the page.  [[User:Jonno Stromfield|Jonno Stromfield]] 11:04, 11 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Simplification of the page ==&lt;br /&gt;
&lt;br /&gt;
Having just head-bashed and hair-pulled my way through yet another case of what should be a simple rotation task, I&#039;ve come to the understanding that despite all the information in the rotations page, that it really is a poor resource for people that just want to get things done. While it&#039;s all well and good knowing various tidbits about rotations, 99% of scripters just need to know how to use them, as such it may be a good idea to re-write the article as more of a practical manual, with the emphasis being on useful code snippets. The things that I think most scripters want to know (and some of which are currently covered, albeit in a bit of a text-heavy way) are:&lt;br /&gt;
&lt;br /&gt;
 * Combining two rotations (getting a bigger or smaller rotation by combining two together)&lt;br /&gt;
 * Creating a &amp;quot;negative&amp;quot; rotation (only one, best-practise solution is needed, which I believe is flipping .s?)&lt;br /&gt;
 * Applying rotations to object (best practises for rotating an object X degrees globally, X degrees locally, as well as -X degrees globally and -X degrees locally)&lt;br /&gt;
 * Rotating an object around a global point&lt;br /&gt;
 * Rotating a child-prim around a global point&lt;br /&gt;
 * Rotating a child-prim around a local point&lt;br /&gt;
 &lt;br /&gt;
Each snippet or set of snippets should show how to do these operations using &amp;lt;code&amp;gt;llSet*&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;llSetLocal*&amp;lt;/code&amp;gt; functions, as well as llSetPrimitiveParams().&lt;br /&gt;
Basically the idea is that we need the article to be more of a &amp;quot;how-to&amp;quot;, or possibly create a new article that is a &amp;quot;cheat sheet&amp;quot;, because rotation problems are annoyingly common, and the combination of lack of understanding of quarternion math, and LSL&#039;s broken rotation functions does not serve to help anyone, meaning most people looking here are looking for solutions to common problems that they can combine. I&#039;ve been scripting in Second Life for nearly 5 years, and have a Masters degree in computer science, and my fall-back if I get stuck is still trial and error!&lt;br /&gt;
I may start hashing together an idea of what such a page should be like as a personal sub-page, but I&#039;m not the most qualified person to provide all of the snippets as I suspect I use bad-practises for most of the above operations, and I&#039;m still having ongoing problems with rotating child-prims around local points without converting to global and doing it that way. -- [[User:Haravikk Mistral|Haravikk Mistral]] 12:44, 30 September 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
: best practice for reversing a rotations direction (negative rotation) is actually &#039;&#039;&#039;(ZERO_ROTATION / Rot2Reverse)&#039;&#039;&#039;, although there are cases in which scalar sign flipping might be more elegant, that&#039;s actually an abuse that does not produce a properly normalized rotation (I, unfortunately, popularized that one =X). applying a rot best practice, assuming the greatest degree of flexibility is desired, is the same method as rotation combining... get the rotation of the prim in the frame that it will be applied in, and then multiply it in the order that produces either a prim relative, or frame relative manner. there are actually ~8+ ways to rotate a prim around a point, depending on if that point is relative to the prim rotating (offset), or to the frame it&#039;s in (fixed), whether the calculation is done from the objects perspective, or the points perspective, and whether you want to track the current value by the position or rotation of the point.... 2 are detailed on the rotation page linked from my user page. Rotating a child around a global point is is a slightly odd case that could possibly break much more easily than simply rotating a child around a local point, but the format is almost exactly the same.... I&#039;d be happy to detail extended examples for all of those though (and I promise not to use overly obscure variable names).... I&#039;ve actually been wanting to update the rotations page under my user page for a while anyways, so I&#039;ll detail them there, and you can feel free to pirate my examples for your prospective page design? it may be a week or so before I get to it though. &amp;lt;br/&amp;gt;-- &#039;&#039;&#039;[[User:Void_Singer|Void]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User_talk:Void_Singer|talk]]|[[Special:Contributions/Void_Singer|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 08:30, 2 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:: Well I&#039;m probably going to be about the same unless I get some time today or tomorrow; as I say I&#039;m not really up on the best way to do everything, as my knowledge is mostly purely practical as I&#039;m sure is the case with most scripters, so I think a &amp;quot;cheat sheet&amp;quot; will help greatly. Coincidentally, I&#039;ve actually always used &amp;lt;code&amp;gt;rotReversed = (ZERO_ROTATION / rot)&amp;lt;/code&amp;gt;, seems I also fooled into thinking negative .s might have been simpler, so at least it seems I haven&#039;t been completely wrong all this time after all! Anyway, whenever I find time I&#039;ll create a page and try to come up with a logical order, then start filling out the examples I can be sure of getting right, and update whenever I get to some meaningful stage.&amp;lt;br/&amp;gt;-- &#039;&#039;&#039;[[User:Haravikk_Mistral|Haravikk]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User_talk:Haravikk_Mistral|talk]]|[[Special:Contributions/Haravikk_Mistral|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 10:30, 2 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
: m&#039;kay, I&#039;m a nitwit... somehow I thought this conversation happened on the blogorums, and I was trying to figure out who I needed to let know that I&#039;d be updating [[User:Void_Singer/Rotations|my rotations page]] (and make sure I covered all the cases listed)... anyways, yeah... that will happen this week and now that I have the list I can make sure it&#039;s all covered.&amp;lt;br/&amp;gt;-- &#039;&#039;&#039;[[User:Void_Singer|Void]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User_talk:Void_Singer|talk]]|[[Special:Contributions/Void_Singer|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 12:20, 25 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::Heh, I made the same mistake as well another time myself! Needless to say I haven&#039;t got anywhere with my layout as I keep getting distracted with other things (as I am much too prone to doing). Anyway, your page is looking excellent, and thinking on it I&#039;m wondering if perhaps the &amp;quot;cheat sheet&amp;quot; style page will be a good candidate for the {{LSLGC|Rotation|Rotation Category}} page which is currently a bit bleak, so that it has the &amp;quot;live&amp;quot; list of all LSL functions, as well as plenty of cheat-sheet examples. This leaves this article to be all in depth and trying to explain them in more depth, and we just have a prominent link. Am just thinking this as while I come off a bit disparaging about this article, it is actually very good, just not what most scripters want or need to know when a nice set of examples will do just fine.&lt;br /&gt;
::I also wondered if it might be worth adding mirroring of a rotation to the list of examples; whereby an upper right rotation can be mirrored along your front into an upper left for example. I know it doesn&#039;t come up a lot but I know it&#039;s something I&#039;ve never really grasped myself. I always end up just doing things by eye until I get it close enough to round to the correct value, which is very unscientific!&amp;lt;br/&amp;gt;-- &#039;&#039;&#039;[[User:Haravikk_Mistral|Haravikk]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User_talk:Haravikk_Mistral|talk]]|[[Special:Contributions/Haravikk_Mistral|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 22:51, 25 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::: Look up Jeffrey&#039;s prim mirror for the math for mirroring rotations. I forget the details of how to do it aswell (it&#039;s been too long since I&#039;ve done anything but edit the wiki). By all means please improve the rotation category page. I hope the changes to the table are ok with people. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 20:06, 26 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
::hmm that should be something I add to the page... IIRC it&#039;s just sign flipping of the elements... can&#039;t remember the exact sequence, but I&#039;m sure I can trial and error it if I don&#039;t have a copy of the prim mirror. I&#039;ve done some of the page edits for my page already, although I was tired and had to stop, so it&#039;s got typos and I haven&#039;t redone the examples yet (but you can pull from the previous version in history)&amp;lt;br/&amp;gt;-- &#039;&#039;&#039;[[User:Void_Singer|Void]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User_talk:Void_Singer|talk]]|[[Special:Contributions/Void_Singer|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 00:46, 27 October 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Position of Object Rotated Around A Relative Point ==&lt;br /&gt;
I found the snippet code for &amp;quot;Position of Object Rotated Around A Relative Point&amp;quot; to be difficult to grasp without some trials and errors (check the [http://lslwiki.net/lslwiki/wakka.php?wakka=rotation lslwiki] for a different answer). I made a few tests and i realised that the lslwiki code lacked the adjustment to original object orientation (* llGetRot( )) so the rotation started around a point located to an absolute world offset instead of relative to the object&#039;s orientation. I tried to add something to the lslwiki code but i failed to find exactly where to use llGetRot there. I then returned to this page&#039;s code and after looking closer i was able to write a small demo that seems to work (I don&#039;t have the time to make further tests, i hope someone will check it and see if i didn&#039;t make some mistake).&amp;lt;BR&amp;gt;Here is my script that now seems to handle both cases correctly (having one face of the prim (case 1) facing or (case 2) staying in the same rotation all along its orbit toward the center of rotation) : [http://lsl.pastebin.com/n3PnnG3h Position of Object Rotated Around A Relative Point] (feel free to add the snippet to the wiki page or anywhere you need it if you think its usefull - i don&#039;t care for credits, just don&#039;t say you made it yourself)&lt;br /&gt;
([[User:Francoise Eichel|Francoise Eichel]] 11:11, 22 February 2011 (PST))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;/*&lt;br /&gt;
    Position of Object Rotated Around A Relative Point, &lt;br /&gt;
        from : http://wiki.secondlife.com/wiki/Rotation&lt;br /&gt;
    change the FACING value to have the object &lt;br /&gt;
        keep its original orientation all around its orbit (FALSE)&lt;br /&gt;
        keep the same face turned toward the center of rotation (TRUE)&lt;br /&gt;
*/&lt;br /&gt;
integer FACING = FALSE;&lt;br /&gt;
&lt;br /&gt;
rotation vRotArc;&lt;br /&gt;
vector   vPosOffset;&lt;br /&gt;
&lt;br /&gt;
RotAround( integer facing )&lt;br /&gt;
{&lt;br /&gt;
    vector curpos = llGetPos();&lt;br /&gt;
    vector p = curpos + (vPosOffset - vPosOffset * vRotArc) * llGetRot();&lt;br /&gt;
    if( facing )&lt;br /&gt;
        llSetPrimitiveParams( [ PRIM_POSITION, p, PRIM_ROTATION, vRotArc * llGetRot() ] );&lt;br /&gt;
    else&lt;br /&gt;
    {&lt;br /&gt;
        llSetPrimitiveParams( [ PRIM_POSITION, p ] );&lt;br /&gt;
        vPosOffset = vPosOffset * vRotArc;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
integer orbiting;&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        vRotArc     = llEuler2Rot( &amp;lt;30.0, 0.0, 0.0&amp;gt; * DEG_TO_RAD );&lt;br /&gt;
        vPosOffset  = &amp;lt;0.0, 1.0, 0.0&amp;gt;;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    touch_start(integer total_number)&lt;br /&gt;
    {&lt;br /&gt;
        llSetTimerEvent( 2*(orbiting = !orbiting) );&lt;br /&gt;
    }&lt;br /&gt;
    timer( )&lt;br /&gt;
    {&lt;br /&gt;
        RotAround( FACING );&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:Looks good, two problems:&lt;br /&gt;
:*While this method is expedient, the point which the object orbits will drift due to rounding errors. The simple solution is to store the center position in a global.&lt;br /&gt;
:*Making vRotArc &amp;amp; vPosOffset globals makes reusing this function difficult (as it has dependencies external to it). Function parameters on the other hand would eliminate this problem. This is a coding style issue and can (and should in this case!) be ignored.&lt;br /&gt;
:Not only will the position drift, but so will the rotation of the object, removing llGetRot from inside the loop will reduce drift but won&#039;t eliminate it. The solution to this problem is to define the axis of rotation and change the angle of rotation. This is also a good opportunity to use states.&lt;br /&gt;
&lt;br /&gt;
:Please check that the following code works, I haven&#039;t done extensive tested. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 22:22, 22 February 2011 (PST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lsl&amp;gt;/*&lt;br /&gt;
    Position of Object Rotated Around A Relative Point, &lt;br /&gt;
        from : http://wiki.secondlife.com/wiki/Rotation&lt;br /&gt;
    change the bFacing value to have the object &lt;br /&gt;
        keep its original orientation all around its orbit (FALSE)&lt;br /&gt;
        keep the same face turned toward the center of rotation (TRUE)&lt;br /&gt;
*/&lt;br /&gt;
integer  bFacing = FALSE;&lt;br /&gt;
&lt;br /&gt;
integer  iDegrees   = 30;&lt;br /&gt;
vector   vPosOffset = &amp;lt;0.0, 1.0, 0.0&amp;gt;;&lt;br /&gt;
vector   vRotAxis   = &amp;lt;0.0, 0.0, 1.0&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
vector   vPosCenter;&lt;br /&gt;
rotation rRotStart;&lt;br /&gt;
integer  iSteps = 0;&lt;br /&gt;
&lt;br /&gt;
default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        vPosCenter  = llGetPos() - vPosOffset;&lt;br /&gt;
        rRotStart   = llGetRot();&lt;br /&gt;
        state on;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
state on&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        llSetTimerEvent( 2.0 );&lt;br /&gt;
    }&lt;br /&gt;
    touch_start(integer i)&lt;br /&gt;
    {&lt;br /&gt;
        llSetTimerEvent( 0.0 );&lt;br /&gt;
        state off;&lt;br /&gt;
    }&lt;br /&gt;
    timer()&lt;br /&gt;
    {&lt;br /&gt;
        iSteps = (iSteps + iDegrees) % 360;//eliminates compounding rounding errors&lt;br /&gt;
        rotation rRotArc = llAxisAngle2Rot(vRotAxis, DEG_TO_RAD * iSteps);&lt;br /&gt;
        vector dest = vPosCenter + (vPosOffset * rRotArc * rRotStart);&lt;br /&gt;
        if( bFacing )&lt;br /&gt;
            llSetPrimitiveParams( [ PRIM_POSITION, dest, PRIM_ROTATION, rRotArc * rRotStart ] );&lt;br /&gt;
        else&lt;br /&gt;
            llSetPrimitiveParams( [ PRIM_POSITION, dest ] );&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
state off&lt;br /&gt;
{&lt;br /&gt;
    touch_start(integer i)&lt;br /&gt;
    {&lt;br /&gt;
        state on;&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Attached prims: how to get the rotation of the attach point relative to the avatar forward vector ==&lt;br /&gt;
&lt;br /&gt;
I have no idea how to accomplish that, and I would need to do it in order to reverse all the rotations in an attached linked child prim.&lt;br /&gt;
My goal is to have one of the linked child prims always pointing in the same direction as the avatar forward vector.&lt;br /&gt;
I am struggling with this and many many other problems with rotations when dealing with attached prims.&lt;br /&gt;
&lt;br /&gt;
-- [[User:Clodoveo Haven|Clodoveo Haven]] 06:40, 13 August 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
attach points are only relative to themselves, because they are subject to animations (which are client side effcts).... if you make a static animation, then any attachment position will also be static, and you can estimate the facing. the pelvis is an exception, it defaults to the avatar position/facing.&amp;lt;br/&amp;gt;-- &#039;&#039;&#039;[[User:Void_Singer|Void]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User_talk:Void_Singer|talk]]|[[Special:Contributions/Void_Singer|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 16:46, 21 August 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Useful Tutorials ==&lt;br /&gt;
Grandma Bates has posted a couple of very helpful tutorials at [http://www.sluniverse.com/php/vb/tutorials/62235-basic-introduction-rotations.html Basic Introduction to Rotations] and [http://www.sluniverse.com/php/vb/tutorials/62479-introduction-rotations-translations-rotation-tutorial.html#post1337030 Introduction to Rotations with Translations (rotation tutorial part II)] over at SLU.&lt;br /&gt;
&lt;br /&gt;
Would it an idea to link to them somewhere? [[User:Innula Zenovka|Innula Zenovka]] 07:04, 31 July 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
: even better, get permission to copy and link it as it&#039;s own page here?&amp;lt;br/&amp;gt;-- &#039;&#039;&#039;[[User:Void_Singer|Void]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User_talk:Void_Singer|talk]]|[[Special:Contributions/Void_Singer|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 08:18, 31 July 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
: I&#039;ve asked her, and she&#039;ll be delighted to have it copied.  She&#039;s edited the two pieces to add a Creative Commons licence. [[User:Innula Zenovka|Innula Zenovka]] 11:04, 31 July 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
:: Sounds like a plan. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 15:16, 31 July 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
== [[PRIM_ROT_LOCAL]] &amp;amp; [[ PRIM_POS_LOCAL ]] ==&lt;br /&gt;
&lt;br /&gt;
Aspects of the article needs to be rewritten since we now have [[PRIM_ROT_LOCAL]] and [[PRIM_POS_LOCAL]]. -- &#039;&#039;&#039;[[User:Strife_Onizuka|Strife]]&#039;&#039;&#039; &amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt; 12:19, 5 September 2011 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Some interesting values ==&lt;br /&gt;
&lt;br /&gt;
What rotations do you get for various Euler coordinates? Derived from LSL and the viewer GUI:&lt;br /&gt;
&amp;lt;lsl&amp;gt;&lt;br /&gt;
default&lt;br /&gt;
{   state_entry()&lt;br /&gt;
    {   llSetTimerEvent(1.0);   }&lt;br /&gt;
&lt;br /&gt;
timer()&lt;br /&gt;
    {   rotation rot = llGetRot();&lt;br /&gt;
        llSetText(&amp;quot;My rotation: &amp;quot;&lt;br /&gt;
            + &amp;quot;\n X: &amp;quot; + (string)rot.x &lt;br /&gt;
            + &amp;quot;\n Y: &amp;quot; + (string)rot.y &lt;br /&gt;
            + &amp;quot;\n Z: &amp;quot; + (string)rot.z &lt;br /&gt;
            + &amp;quot;\n S: &amp;quot; + (string)rot.s&lt;br /&gt;
            + &amp;quot;\n \n \n \n \n \n \n \n \n &amp;quot;,&lt;br /&gt;
            &amp;lt;1,1,1&amp;gt;,1);&lt;br /&gt;
    } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lsl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
! colspan=3| Degrees&lt;br /&gt;
! #&lt;br /&gt;
! colspan=4| Rotation&lt;br /&gt;
|-&lt;br /&gt;
!    X !!    Y !!    Z !! # !!     X    !!     Y    !!     Z    !!     S&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;8&amp;quot; | Starting position:&lt;br /&gt;
|-&lt;br /&gt;
|    0 ||    0 ||    0 || # || 0.000000 || 0.000000 || 0.000000 || 1.000000&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;8&amp;quot; | Symmetry mystery&lt;br /&gt;
|-&lt;br /&gt;
|   60 ||    0 ||    0 || # || 0.500000 || 0.000000 || 0.000000 || 0.866025&lt;br /&gt;
|-&lt;br /&gt;
|    0 ||   60 ||    0 || # || 0.000000 || 0.500000 || 0.000000 || 0.866025&lt;br /&gt;
|-&lt;br /&gt;
|    0 ||    0 ||   60 || # || 0.000000 || 0.000000 || 0.500000 || 0.866025&lt;br /&gt;
|-&lt;br /&gt;
|   90 ||    0 ||    0 || # || 0.707107 || 0.000000 || 0.000000 || 0.707107&lt;br /&gt;
|-&lt;br /&gt;
|    0 ||   90 ||    0 || # || 0.000000 || 0.707107 || 0.000000 || 0.707107&lt;br /&gt;
|-&lt;br /&gt;
|    0 ||    0 ||   90 || # || 0.000000 || 0.000000 || 0.707107 || 0.707107&lt;br /&gt;
|-&lt;br /&gt;
|  120 ||    0 ||    0 || # || 0.866025 || 0.000000 || 0.000000 || 0.500000&lt;br /&gt;
|-&lt;br /&gt;
|    0 ||  120 ||    0 || # || 0.000000 || 0.866025 || 0.000000 || 0.500000&lt;br /&gt;
|-&lt;br /&gt;
|    0 ||    0 ||  120 || # || 0.000000 || 0.000000 || 0.866025 || 0.500000&lt;br /&gt;
|-&lt;br /&gt;
| colspan=8 | Negative and positive 0.000000 ?? ...&lt;br /&gt;
|-&lt;br /&gt;
|  180 ||    0 ||    0 || # ||-1.000000 || 0.000000 ||-0.000000 || 0.000000&lt;br /&gt;
|-&lt;br /&gt;
|    0 ||  180 ||    0 || # ||-0.000000 ||-1.000000 ||-0.000000 || 0.000000&lt;br /&gt;
|-&lt;br /&gt;
|    0 ||    0 ||  180 || # ||-0.000000 ||-0.000000 ||-1.000000 || 0.000000&lt;br /&gt;
|-&lt;br /&gt;
| colspan=8 | Is -180 different from 180? Well, that depends on there being a difference between -0 and 0, above...&lt;br /&gt;
|-&lt;br /&gt;
| -180 ||    0 ||    0 || # || 1.000000 || 0.000000 || 0.000000 || 0.000000&lt;br /&gt;
|-&lt;br /&gt;
|    0 || -180 ||    0 || # || 0.000000 || 1.000000 || 0.000000 || 0.000000&lt;br /&gt;
|-&lt;br /&gt;
|    0 ||    0 || -180 || # || 0.000000 || 0.000000 || 1.000000 || 0.000000&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=GRAVITY_MULTIPLIER&amp;diff=1158942</id>
		<title>GRAVITY MULTIPLIER</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=GRAVITY_MULTIPLIER&amp;diff=1158942"/>
		<updated>2011-11-30T19:03:29Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: I don&amp;#039;t actually know how this works, but I understand the physics well enough to make educated guesses/suggestions. fix it if you don&amp;#039;t like it.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Parameter range: [-1.0 to +28.0]&lt;br /&gt;
&lt;br /&gt;
1.0 is equal to normal Earth gravity (acceleration of 9.8 meters per second in a vacuum)&lt;br /&gt;
&lt;br /&gt;
Considering the object alone, increasing its gravity multiplier has a similar effect as increasing the object&#039;s mass.&lt;br /&gt;
&lt;br /&gt;
However, for interactions with other objects the gravity multiplier is different from increasing mass:&lt;br /&gt;
* a low-mass object with a high multiplier will not transfer much inertia to another object during an impact.&lt;br /&gt;
* a high-mass object with a low multiplier will transfer large amounts of inertia to another impacted object.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Warning, objects with the multiplier set to less than zero will repel gravity, causing the objects to &amp;quot;fall upward&amp;quot;. This may result in loss of objects in the sky of a sim.&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=RESTITUTION&amp;diff=1158941</id>
		<title>RESTITUTION</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=RESTITUTION&amp;diff=1158941"/>
		<updated>2011-11-30T18:48:54Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: Paste of Andrew Meadows describing it: https://lists.secondlife.com/pipermail/secondlifescripters/2007-April/000806.html&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;From: https://lists.secondlife.com/pipermail/secondlifescripters/2007-April/000806.html&lt;br /&gt;
&lt;br /&gt;
Andrew Meadows andrew at lindenlab.com&lt;br /&gt;
Fri Apr 13 07:31:56 PDT 2007&lt;br /&gt;
&lt;br /&gt;
Havok has a per-prim property called &#039;restitution&#039; whose range is [0,1].&lt;br /&gt;
Basically it is a measure of how much energy is conserved on a collision.&lt;br /&gt;
A restitution of 1 would be complete conservation of energy and 0&lt;br /&gt;
would be none.  Each object&#039;s restitution contributes during a collision,&lt;br /&gt;
so a bouncy ball still won&#039;t bounce high on a soft floor.&lt;br /&gt;
&lt;br /&gt;
The allowed restitution of the various materials in SL are kept low&lt;br /&gt;
for stability purposes.  High restitution combined with LSL&lt;br /&gt;
actions might have modes where unlimited energy could be pumped&lt;br /&gt;
into the system.  There is a large amount of work to do before we&#039;ll&lt;br /&gt;
be ready to provide more liberal restitution settings.&lt;br /&gt;
&lt;br /&gt;
Havok&#039;s objects are all rigid bodies, so every collision is &amp;quot;instant&amp;quot; in&lt;br /&gt;
the sense that the object does not flex.  The newer versions of Havok&lt;br /&gt;
have &amp;quot;soft body dynamics&amp;quot;, although I believe it comes with a significant&lt;br /&gt;
performance penalty, more than we would want to incur at this time.&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Viewer_Source_Files&amp;diff=313483</id>
		<title>Talk:Viewer Source Files</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Viewer_Source_Files&amp;diff=313483"/>
		<updated>2009-04-11T15:17:07Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: /* Very Stale page */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== This Aug 2007 page needs updating ==&lt;br /&gt;
&lt;br /&gt;
Could someone with more knowledge and experience please update this Viewer Source Files wiki page?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I&#039;m creating a page documenting where the various VFS, gVFS, gStaticVFS, and LFS references are located in the 1.19.1.4 source. I am basing the layout of the new page on that source file listing.&lt;br /&gt;
&lt;br /&gt;
[[VFS: Where it is used in the viewer]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the process I&#039;ve found a large collection of source files that aren&#039;t on the Viewer Source Files page, which I&#039;ve stuck at the bottom of the new page:&lt;br /&gt;
&lt;br /&gt;
[[VFS: Where it is used in the viewer#Unlisted in Viewer Source Files page]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I can understand some of these files not being listed, since the viewer source page hasn&#039;t been updated since August 2007....... but many of the unlisted files I&#039;m finding were in existence long before that time, like llvfs.cpp.&lt;br /&gt;
&lt;br /&gt;
As a non-C++/Visual Studio programmer, I don&#039;t know how to determine which of these &amp;quot;extra&amp;quot; files are actually being used and where they should be added to the Viewer Source Files page. Some may be unused, legacy, or example files, but I have no idea.&lt;br /&gt;
&lt;br /&gt;
[[User:Scalar Tardis|Scalar Tardis]] 22:41, 15 June 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Very Stale page ==&lt;br /&gt;
&lt;br /&gt;
This page has not been significantly updated since in was first created for client 1.17.2. A large number of newer source files are not listed here, such as for the voice chat system and for sculpted primitives. As of today I have added this to [[:Category:Articles in need of updating]]&lt;br /&gt;
&lt;br /&gt;
As a non-official wiki editor and a non-expert programmer, I am loathe to making major changes here lest I get my hand slapped.&lt;br /&gt;
&lt;br /&gt;
Personally I do not like this file since it does not correspond to the source directory structure. But then, I don&#039;t like the viewer directory structure either since a huge pile of stuff is thrown into \newview &lt;br /&gt;
&lt;br /&gt;
[[User:Scalar Tardis|Scalar Tardis]] 15:17, 11 April 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Source_download&amp;diff=313463</id>
		<title>Source download</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Source_download&amp;diff=313463"/>
		<updated>2009-04-11T15:07:21Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: Non-plural redirect to the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Source downloads]]&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Viewer_Source_Files&amp;diff=313453</id>
		<title>Viewer Source Files</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Viewer_Source_Files&amp;diff=313453"/>
		<updated>2009-04-11T15:02:19Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: Add :Category:Articles in need of updating to top. This page has not been updated significantly since it was created. See talk&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Articles in need of updating]]&lt;br /&gt;
= See Also =&lt;br /&gt;
[[Viewer Software Overview]]&lt;br /&gt;
= Source Files in indra/newview =&lt;br /&gt;
Up to date as of 6/2007, version 1.17.2&lt;br /&gt;
== General ==&lt;br /&gt;
=== Main and Startup ===&lt;br /&gt;
viewer.cpp&lt;br /&gt;
llstartup.cpp&lt;br /&gt;
&lt;br /&gt;
=== Window Management and Render Pipeline ===&lt;br /&gt;
pipeline.cpp&lt;br /&gt;
llviewerdisplay.cpp&lt;br /&gt;
llviewerprecompiledheaders.cpp&lt;br /&gt;
llviewerwindow.cpp&lt;br /&gt;
llwindebug.cpp&lt;br /&gt;
&lt;br /&gt;
=== Utility and Misc ===&lt;br /&gt;
llbbox.cpp&lt;br /&gt;
llbox.cpp&lt;br /&gt;
llcallbacklist.cpp&lt;br /&gt;
llcontroldef.cpp&lt;br /&gt;
lleventnotifier.cpp&lt;br /&gt;
lleventpoll.cpp&lt;br /&gt;
llhippo.cpp&lt;br /&gt;
llregionposition.cpp&lt;br /&gt;
moviemaker.cpp&lt;br /&gt;
noise.cpp&lt;br /&gt;
&lt;br /&gt;
=== Unused ===&lt;br /&gt;
llcape.cpp&lt;br /&gt;
lllocalanimationobject.cpp&lt;br /&gt;
head.cpp&lt;br /&gt;
llanimalcontrols.cpp&lt;br /&gt;
&lt;br /&gt;
== Rendering ==&lt;br /&gt;
=== Asset Management ===&lt;br /&gt;
llassetuploadresponders.cpp&lt;br /&gt;
lltexturecache.cpp&lt;br /&gt;
lltexturefetch.cpp&lt;br /&gt;
llviewerassetstorage.cpp&lt;br /&gt;
llwearable.cpp&lt;br /&gt;
llwearablelist.cpp&lt;br /&gt;
&lt;br /&gt;
=== Character and Animation ===&lt;br /&gt;
lldriverparam.cpp&lt;br /&gt;
llemote.cpp&lt;br /&gt;
llviewergesture.cpp&lt;br /&gt;
llvoavatar.cpp&lt;br /&gt;
see also [[Viewer Software Overview#llcharacter]]&lt;br /&gt;
&lt;br /&gt;
=== Camera ===&lt;br /&gt;
llcameraview.cpp&lt;br /&gt;
llfollowcam.cpp&lt;br /&gt;
llmorphview.cpp&lt;br /&gt;
llviewercamera.cpp&lt;br /&gt;
&lt;br /&gt;
=== Effects ===&lt;br /&gt;
llhudconnector.cpp&lt;br /&gt;
llhudeffect.cpp&lt;br /&gt;
llhudeffectbeam.cpp&lt;br /&gt;
llhudeffectlookat.cpp&lt;br /&gt;
llhudeffectpointat.cpp&lt;br /&gt;
llhudeffecttrail.cpp&lt;br /&gt;
llhudicon.cpp&lt;br /&gt;
llhudmanager.cpp&lt;br /&gt;
llhudobject.cpp&lt;br /&gt;
llhudrender.cpp&lt;br /&gt;
llhudtext.cpp&lt;br /&gt;
llhudview.cpp&lt;br /&gt;
lltracker.cpp&lt;br /&gt;
llvelocitybar.cpp&lt;br /&gt;
llvotextbubble.cpp&lt;br /&gt;
&lt;br /&gt;
=== Environment ===&lt;br /&gt;
llvlmanager.cpp&lt;br /&gt;
llvlcomposition.cpp&lt;br /&gt;
llvoclouds.cpp&lt;br /&gt;
llvosurfacepatch.cpp&lt;br /&gt;
llvoground.cpp&lt;br /&gt;
llvosky.cpp&lt;br /&gt;
llvostars.cpp&lt;br /&gt;
llvowater.cpp&lt;br /&gt;
llwind.cpp&lt;br /&gt;
&lt;br /&gt;
=== Viewer Objects: Volumes, Particles, and Trees ===&lt;br /&gt;
llvocache.cpp&lt;br /&gt;
llvograss.cpp&lt;br /&gt;
llvoinventorylistener.cpp&lt;br /&gt;
llvopartgroup.cpp&lt;br /&gt;
llvotree.cpp&lt;br /&gt;
llvovolume.cpp&lt;br /&gt;
&lt;br /&gt;
=== Render Pipeline ===&lt;br /&gt;
llcloud.cpp&lt;br /&gt;
llcubemap.cpp&lt;br /&gt;
llcylinder.cpp&lt;br /&gt;
lldrawable.cpp&lt;br /&gt;
lldrawpool.cpp&lt;br /&gt;
lldrawpoolalpha.cpp&lt;br /&gt;
lldrawpoolavatar.cpp&lt;br /&gt;
lldrawpoolbump.cpp&lt;br /&gt;
lldrawpoolclouds.cpp&lt;br /&gt;
lldrawpoolground.cpp&lt;br /&gt;
lldrawpoolsimple.cpp&lt;br /&gt;
lldrawpoolsky.cpp&lt;br /&gt;
lldrawpoolstars.cpp&lt;br /&gt;
lldrawpoolterrain.cpp&lt;br /&gt;
lldrawpooltree.cpp&lt;br /&gt;
lldrawpoolwater.cpp&lt;br /&gt;
lldynamictexture.cpp&lt;br /&gt;
llface.cpp&lt;br /&gt;
llfeaturemanager.cpp&lt;br /&gt;
llflexibleobject.cpp&lt;br /&gt;
llglsandbox.cpp&lt;br /&gt;
llglslshader.cpp&lt;br /&gt;
llpatchvertexarray.cpp&lt;br /&gt;
llpolymesh.cpp&lt;br /&gt;
llpolymorph.cpp&lt;br /&gt;
llsky.cpp&lt;br /&gt;
llspatialpartition.cpp&lt;br /&gt;
llsphere.cpp&lt;br /&gt;
llsprite.cpp&lt;br /&gt;
llsurface.cpp&lt;br /&gt;
llsurfacepatch.cpp&lt;br /&gt;
lltexlayer.cpp&lt;br /&gt;
llviewerimage.cpp&lt;br /&gt;
llviewerimagelist.cpp&lt;br /&gt;
llviewerjoint.cpp&lt;br /&gt;
llviewerjointattachment.cpp&lt;br /&gt;
llviewerjointmesh.cpp&lt;br /&gt;
llviewerjointshape.cpp&lt;br /&gt;
llviewervisualparam.cpp&lt;br /&gt;
llviewerlayer.cpp&lt;br /&gt;
llviewerobject.cpp&lt;br /&gt;
llviewerobjectlist.cpp&lt;br /&gt;
llviewerpartsim.cpp&lt;br /&gt;
llviewerpartsource.cpp&lt;br /&gt;
llviewertextureanim.cpp&lt;br /&gt;
&lt;br /&gt;
== Input and Output ==&lt;br /&gt;
=== Audio ===&lt;br /&gt;
fmodwrapper.cpp&lt;br /&gt;
llaudiosourcevo.cpp&lt;br /&gt;
llaudiostatus.cpp&lt;br /&gt;
&lt;br /&gt;
=== Input ===&lt;br /&gt;
llviewerjoystick.cpp&lt;br /&gt;
llviewerkeyboard.cpp&lt;br /&gt;
&lt;br /&gt;
== Data and Communication ==&lt;br /&gt;
=== Agents ===&lt;br /&gt;
llagent.cpp&lt;br /&gt;
llagentdata.cpp&lt;br /&gt;
llagentpilot.cpp&lt;br /&gt;
&lt;br /&gt;
=== Region and World ===&lt;br /&gt;
llviewerregion.cpp&lt;br /&gt;
llworld.cpp&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
llasynchostbyname.cpp&lt;br /&gt;
llcaphttpsender.cpp&lt;br /&gt;
llurl.cpp&lt;br /&gt;
llurlwhitelist.cpp&lt;br /&gt;
lluserauth.cpp&lt;br /&gt;
llviewergenericmessage.cpp&lt;br /&gt;
llviewermessage.cpp&lt;br /&gt;
llviewernetwork.cpp&lt;br /&gt;
llviewerthrottle.cpp&lt;br /&gt;
llweb.cpp&lt;br /&gt;
llxmlrpctransaction.cpp&lt;br /&gt;
&lt;br /&gt;
== User Interface ==&lt;br /&gt;
see also [[Viewer Software Overview#llui]]&lt;br /&gt;
=== Alerts ===&lt;br /&gt;
llconfirmationmanager.cpp&lt;br /&gt;
llfirstuse.cpp&lt;br /&gt;
llnotify.cpp&lt;br /&gt;
&lt;br /&gt;
=== Assets ===&lt;br /&gt;
llcompilequeue.cpp&lt;br /&gt;
llfloateranimpreview.cpp&lt;br /&gt;
llfloaterimagepreview.cpp&lt;br /&gt;
llfloatergesture.cpp&lt;br /&gt;
llpreview.cpp&lt;br /&gt;
llpreviewanim.cpp&lt;br /&gt;
llpreviewgesture.cpp&lt;br /&gt;
llpreviewlandmark.cpp&lt;br /&gt;
llpreviewnotecard.cpp&lt;br /&gt;
llpreviewscript.cpp&lt;br /&gt;
llpreviewsound.cpp&lt;br /&gt;
llpreviewtexture.cpp&lt;br /&gt;
llfloaterinspect.cpp&lt;br /&gt;
llfloateropenobject.cpp&lt;br /&gt;
llfloaterproperties.cpp&lt;br /&gt;
llfloaterscriptdebug.cpp&lt;br /&gt;
&lt;br /&gt;
=== Avatar Appearance ===&lt;br /&gt;
llgenepool.cpp&lt;br /&gt;
llgesturemgr.cpp&lt;br /&gt;
llfloaterclothing.cpp&lt;br /&gt;
llfloatercustomize.cpp&lt;br /&gt;
llpanelmorph.cpp&lt;br /&gt;
&lt;br /&gt;
=== Chat, Instant Messaging, Notices, Reports ===&lt;br /&gt;
llchatbar.cpp&lt;br /&gt;
llfloaterchat.cpp&lt;br /&gt;
llgroupmgr.cpp&lt;br /&gt;
llgroupnotify.cpp&lt;br /&gt;
llimpanel.cpp&lt;br /&gt;
llimview.cpp&lt;br /&gt;
lllogchat.cpp&lt;br /&gt;
llmutelist.cpp&lt;br /&gt;
llfloatermute.cpp&lt;br /&gt;
llfloaternewim.cpp&lt;br /&gt;
llfloaterpostcard.cpp&lt;br /&gt;
llfloaterreporter.cpp&lt;br /&gt;
&lt;br /&gt;
=== Data ===&lt;br /&gt;
llclassifiedinfo.cpp&lt;br /&gt;
lleventinfo.cpp&lt;br /&gt;
llfloaterabout.cpp&lt;br /&gt;
llfloaterauction.cpp&lt;br /&gt;
llfloateravatarinfo.cpp&lt;br /&gt;
llfloatergroupinfo.cpp&lt;br /&gt;
llfloatergroupinvite.cpp&lt;br /&gt;
llfloatergroups.cpp&lt;br /&gt;
llfloaterland.cpp&lt;br /&gt;
llfloaterlandholdings.cpp&lt;br /&gt;
llfloaterregioninfo.cpp&lt;br /&gt;
llfloatertelehub.cpp&lt;br /&gt;
llfloatertos.cpp&lt;br /&gt;
llpanelavatar.cpp&lt;br /&gt;
llpanelclassified.cpp&lt;br /&gt;
llpanelevent.cpp&lt;br /&gt;
llpanelgroup.cpp&lt;br /&gt;
llpanelgroupgeneral.cpp&lt;br /&gt;
llpanelgroupinvite.cpp&lt;br /&gt;
llpanelgrouplandmoney.cpp&lt;br /&gt;
llpanelgroupnotices.cpp&lt;br /&gt;
llpanelgrouproles.cpp&lt;br /&gt;
llpanelgroupvoting.cpp&lt;br /&gt;
llpanelland.cpp&lt;br /&gt;
llpanellandobjects.cpp&lt;br /&gt;
llpanellandoptions.cpp&lt;br /&gt;
&lt;br /&gt;
=== Data:Inventory ===&lt;br /&gt;
llcallingcard.cpp&lt;br /&gt;
llinventoryactions.cpp&lt;br /&gt;
llinventorybridge.cpp&lt;br /&gt;
llinventoryclipboard.cpp&lt;br /&gt;
llinventorymodel.cpp&lt;br /&gt;
llinventoryview.cpp&lt;br /&gt;
lllandmarklist.cpp&lt;br /&gt;
llfloaterfriends.cpp&lt;br /&gt;
llviewerinventory.cpp&lt;br /&gt;
&lt;br /&gt;
=== Data: Money and Land ===&lt;br /&gt;
llcurrencyuimanager.cpp&lt;br /&gt;
llgivemoney.cpp&lt;br /&gt;
llfloaterbuy.cpp&lt;br /&gt;
llfloaterbuycontents.cpp&lt;br /&gt;
llfloaterbuycurrency.cpp&lt;br /&gt;
llfloaterbuyland.cpp&lt;br /&gt;
llfloatersellland.cpp&lt;br /&gt;
&lt;br /&gt;
=== Data:Search ===&lt;br /&gt;
llfloaterdirectory.cpp&lt;br /&gt;
llpaneldirbrowser.cpp&lt;br /&gt;
llpaneldirclassified.cpp&lt;br /&gt;
llpaneldirevents.cpp&lt;br /&gt;
llpaneldirfind.cpp&lt;br /&gt;
llpaneldirgroups.cpp&lt;br /&gt;
llpaneldirland.cpp&lt;br /&gt;
llpaneldirpeople.cpp&lt;br /&gt;
llpaneldirplaces.cpp&lt;br /&gt;
llpaneldirpopular.cpp&lt;br /&gt;
llpanelpick.cpp&lt;br /&gt;
llpanelplace.cpp&lt;br /&gt;
&lt;br /&gt;
=== Data:Map ===&lt;br /&gt;
llcompass.cpp&lt;br /&gt;
llfloatermap.cpp&lt;br /&gt;
llfloaterworldmap.cpp&lt;br /&gt;
llmapresponders.cpp&lt;br /&gt;
llnetmap.cpp&lt;br /&gt;
llworldmap.cpp&lt;br /&gt;
llworldmapview.cpp&lt;br /&gt;
&lt;br /&gt;
=== Objects and Edit Tools ===&lt;br /&gt;
llhoverview.cpp&lt;br /&gt;
llmanip.cpp&lt;br /&gt;
llmaniprotate.cpp&lt;br /&gt;
llmanipscale.cpp&lt;br /&gt;
llmaniptranslate.cpp&lt;br /&gt;
llfloaterbuildoptions.cpp&lt;br /&gt;
llfloaterbump.cpp&lt;br /&gt;
llfloatercolorpicker.cpp&lt;br /&gt;
llfloaterpermissionsmgr.cpp&lt;br /&gt;
llfloatertools.cpp&lt;br /&gt;
llpanelcontents.cpp&lt;br /&gt;
llpanelface.cpp&lt;br /&gt;
llpanelgeneral.cpp&lt;br /&gt;
llpanelinventory.cpp&lt;br /&gt;
llpanelobject.cpp&lt;br /&gt;
llpanelpermissions.cpp&lt;br /&gt;
llselectmgr.cpp&lt;br /&gt;
lltool.cpp&lt;br /&gt;
lltoolbar.cpp&lt;br /&gt;
lltoolbrush.cpp&lt;br /&gt;
lltoolcomp.cpp&lt;br /&gt;
lltooldraganddrop.cpp&lt;br /&gt;
lltoolface.cpp&lt;br /&gt;
lltoolfocus.cpp&lt;br /&gt;
lltoolgrab.cpp&lt;br /&gt;
lltoolgun.cpp&lt;br /&gt;
lltoolindividual.cpp&lt;br /&gt;
lltoolmgr.cpp&lt;br /&gt;
lltoolmorph.cpp&lt;br /&gt;
lltoolobjpicker.cpp&lt;br /&gt;
lltoolpie.cpp&lt;br /&gt;
lltoolpipette.cpp&lt;br /&gt;
lltoolplacer.cpp&lt;br /&gt;
lltoolselect.cpp&lt;br /&gt;
lltoolselectland.cpp&lt;br /&gt;
lltoolselectrect.cpp&lt;br /&gt;
lltoolview.cpp&lt;br /&gt;
llviewerparcelmgr.cpp&lt;br /&gt;
llviewerparceloverlay.cpp&lt;br /&gt;
&lt;br /&gt;
=== HTML===&lt;br /&gt;
llfloaterhtml.cpp&lt;br /&gt;
llfloaterhtmlfind.cpp&lt;br /&gt;
llfloaterhtmlhelp.cpp&lt;br /&gt;
&lt;br /&gt;
=== Import, Export, Upload ===&lt;br /&gt;
llfloaterimport.cpp&lt;br /&gt;
llfloatersaveavatar.cpp&lt;br /&gt;
llfloatersnapshot.cpp&lt;br /&gt;
lluploaddialog.cpp&lt;br /&gt;
&lt;br /&gt;
=== Menus, Overlays, Login ===&lt;br /&gt;
llmediaremotectrl.cpp&lt;br /&gt;
llmenucommands.cpp&lt;br /&gt;
llmoveview.cpp&lt;br /&gt;
lloverlaybar.cpp&lt;br /&gt;
llpanellogin.cpp&lt;br /&gt;
llprogressview.cpp&lt;br /&gt;
llviewermenu.cpp&lt;br /&gt;
llviewermenufile.cpp&lt;br /&gt;
&lt;br /&gt;
=== Preferences ===&lt;br /&gt;
llfloaterpreference.cpp&lt;br /&gt;
llpanelaudioprefs.cpp&lt;br /&gt;
llprefschat.cpp&lt;br /&gt;
llprefsim.cpp&lt;br /&gt;
llpaneldisplay.cpp&lt;br /&gt;
llpanelmsgs.cpp&lt;br /&gt;
llpanelnetwork.cpp&lt;br /&gt;
llpanelvolume.cpp&lt;br /&gt;
llpanelweb.cpp&lt;br /&gt;
&lt;br /&gt;
=== Utility ===&lt;br /&gt;
llcolorscheme.cpp&lt;br /&gt;
lldirpicker.cpp&lt;br /&gt;
llfilepicker.cpp&lt;br /&gt;
llfloateravatarpicker.cpp&lt;br /&gt;
llfloaternamedesc.cpp&lt;br /&gt;
llsavedsettingsglue.cpp&lt;br /&gt;
llviewchildren.cpp&lt;br /&gt;
*TODO: deprecate llcolorscheme.cpp, llsavedsettingsglue.cpp, and llviewchildren.cpp&lt;br /&gt;
&lt;br /&gt;
=== Widgets ===&lt;br /&gt;
llcolorswatch.cpp&lt;br /&gt;
llcontainerview.cpp&lt;br /&gt;
llfolderview.cpp&lt;br /&gt;
llnamebox.cpp&lt;br /&gt;
llnameeditor.cpp&lt;br /&gt;
llnamelistctrl.cpp&lt;br /&gt;
lltexturectrl.cpp&lt;br /&gt;
lljoystickbutton.cpp&lt;br /&gt;
llviewertexteditor.cpp&lt;br /&gt;
llvieweruictrlfactory.cpp&lt;br /&gt;
llwebbrowserctrl.cpp&lt;br /&gt;
&lt;br /&gt;
=== Debug ===&lt;br /&gt;
llconsole.cpp&lt;br /&gt;
lldebugmessagebox.cpp&lt;br /&gt;
lldebugview.cpp&lt;br /&gt;
llfasttimerview.cpp&lt;br /&gt;
llframestats.cpp&lt;br /&gt;
llframestatview.cpp&lt;br /&gt;
llmemoryview.cpp&lt;br /&gt;
llfloateravatartextures.cpp&lt;br /&gt;
llfloatereditui.cpp&lt;br /&gt;
llfloatergodtools.cpp&lt;br /&gt;
llfloatertest.cpp&lt;br /&gt;
llfloatertopobjects.cpp&lt;br /&gt;
llpaneldebug.cpp&lt;br /&gt;
llstatbar.cpp&lt;br /&gt;
llstatgraph.cpp&lt;br /&gt;
llstatusbar.cpp&lt;br /&gt;
llstatview.cpp&lt;br /&gt;
lltextureview.cpp&lt;br /&gt;
llvelocitybar.cpp&lt;br /&gt;
llviewercontrol.cpp&lt;br /&gt;
llviewerstats.cpp&lt;br /&gt;
&lt;br /&gt;
[[Category:Compiling viewer]]&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Article_needs_updating&amp;diff=313443</id>
		<title>Article needs updating</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Article_needs_updating&amp;diff=313443"/>
		<updated>2009-04-11T14:57:44Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: stale pages redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Is it up to date?]]&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Stale_pages&amp;diff=313433</id>
		<title>Stale pages</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Stale_pages&amp;diff=313433"/>
		<updated>2009-04-11T14:56:25Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: stale pages redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Is it up to date?]]&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Stale_page&amp;diff=313423</id>
		<title>Stale page</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Stale_page&amp;diff=313423"/>
		<updated>2009-04-11T14:55:48Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: stale pages redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Is it up to date?]]&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Stale&amp;diff=313413</id>
		<title>Stale</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Stale&amp;diff=313413"/>
		<updated>2009-04-11T14:55:18Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: stale pages redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Is it up to date?]]&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Sculpted_Prims:_FAQ&amp;diff=203543</id>
		<title>Sculpted Prims: FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Sculpted_Prims:_FAQ&amp;diff=203543"/>
		<updated>2009-01-20T23:34:36Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: In question #1, touch on the issue of soft organic shapes vs hard-edged support added later, and discuss lossless compression in further detail in item #3..&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Help|Object=*}}&lt;br /&gt;
&lt;br /&gt;
== Sculpted Prims: Frequently Asked Questions ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
| __TOC__&lt;br /&gt;
|}&lt;br /&gt;
;Q. What is a Sculpted Prim?&lt;br /&gt;
&lt;br /&gt;
:*A &#039;&#039;&#039;Sculpted Prim&#039;&#039;&#039; is a prim whose shape is determined by a texture. These textures are called &#039;&#039;&#039;[[#SculptTextures|Sculpt Textures]]&#039;&#039;&#039;. You can use sculpted prims to create complex shapes that are not currently possible with Second Life&#039;s prim system.&lt;br /&gt;
:*Sculpted prims were originally intended by Linden Lab to support only &#039;&#039;&#039;soft organic shapes&#039;&#039;&#039; with imprecise surface definition, but by popular demand were later extended to support the creation of complex, &#039;&#039;&#039;hard-edged objects&#039;&#039;&#039; with precise surface definition, similar to traditional 3D surface meshes used in other 3D software. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;SculptTextures&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Q. What is a Sculpt Texture?&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* A &#039;&#039;&#039;Sculpt Texture&#039;&#039;&#039; or &#039;&#039;&#039;Sculpt Map&#039;&#039;&#039; is a standard RGB [[Textures|texture]] where the R (red), G (green) and B (blue) channels are mapped onto X, Y, and Z space. Sculpt Textures are similar to so-called &amp;quot;[http://en.wikipedia.org/wiki/Normal_mapping normal maps]&amp;quot;, but instead of encoding surface normals we encode surface positions.&lt;br /&gt;
&lt;br /&gt;
:* They are also similar to [http://en.wikipedia.org/wiki/Displacement_mapping displacement maps], but instead of a single scalar distance we have three values &amp;amp;mdash; one each for the X, Y, and Z coordinates. Sculpt Textures are also very similar to [http://en.wikipedia.org/wiki/Parametric_surface parametric] (e.g. [http://en.wikipedia.org/wiki/NURBS NURBS]) surfaces. See [[Sculpted_Prim_Explanation|Sculpted Prims: Under the Hood]] for details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Q. Why use textures (images) to encode shapes?&lt;br /&gt;
&lt;br /&gt;
:* An image is just an array of numeric triples, which is what you need for a sculpty, so why not?  Also, using image formats to encode shapes comes in very handy because there are many existing tools for handling them. Image compression, streaming, progressive loading, and animation are all well-explored problems. For example, we could create a Quicktime stream which fades from one sculpt texture (sculpt map) to another. When attached to a sculpted prim, the prim would &amp;quot;morph&amp;quot; from one shape to the other. Another example: it would be easy to have a flash animation generate a sculpted prim &amp;amp;mdash; when a resident touches a spot on its surface, the shape could wiggle and ripple appropriately. This is the direction we are headed.&lt;br /&gt;
:* The original Linden Lab implementation of sculpted prims used a &#039;&#039;lossy&#039;&#039; texture compression method to store the shape in Second Life&#039;s asset storage system. This resulted in an object created with hard edges being &#039;&#039;softened&#039;&#039; when uploaded into the world, creating only rough approximations since the upload necessarily discarded some of the texture detail.&lt;br /&gt;
:* By popular demand, an option was added to permit the use of &#039;&#039;lossless compression&#039;&#039; when the sculpt texture is uploaded, to preserve the texture detail and the original object shape, at a cost of greater texture storage requirements in the Second Life asset system.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Q. Where can I go to obtain or share Sculpt Maps and Textures?&lt;br /&gt;
&lt;br /&gt;
:* [[Sculpted Prims: Sculpt Maps and Textures|Sculpt Maps and Textures]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Q. How can I make a Sculpt Texture?&lt;br /&gt;
&lt;br /&gt;
One way is to create a 3D model in an [[Sculpted_Prims:_3d_Software_Guide|external 3D software package]], and then export a [[Sculpt Map]] for uploading to Second Life. &lt;br /&gt;
&lt;br /&gt;
Members of the SL community have written [http://amandalevitsky.googlepages.com/sculptedprims several] [http://bentha.net/sculpted-tuto/Blender-export-template-tut.html tutorials] for [[Sculpted_Prims:_3d_Software_Guide#Blender|Blender]], an open-source 3D modeling platform. &lt;br /&gt;
Qarl Linden has written an exporter for the [[Sculpted_Prims:_3d_Software_Guide#Maya_.28Autodesk.2FWavefront.29|Maya]] modeling program ([[LlSculpt_mel|code available here]], [[#MayaExporter|installation instructions below]]). &lt;br /&gt;
There is a [http://www.independentdeveloper.com/archive/2007/09/27/sculpted_prims_from_existing_3 tutorial] for using [[Sculpted_Prims:_3d_Software_Guide#AC3D_(invis)|AC3D]] to export any pre-existing 3D model. Exporters for [http://en.wikipedia.org/wiki/3D_Studio_Max 3D Studio Max] and [http://en.wikipedia.org/wiki/Pixologic ZBrush] will be available soon. There is also import/export for [[Wings 3D]].&lt;br /&gt;
&lt;br /&gt;
Linden Lab has plans to provide a sculpt editor within the Second Life viewer. Check the [[Sculpted_Prims:_3d_Software_Guide|Sculpted Prims: 3D Software Guide]] wiki page for more the latest developments; there&#039;s an ongoing discussion [[Talk:Sculpted_Prims#3D_Programs_for_the_Rich_and...the_not_so_Rich.|Sculpted Prims:Talk]] page.&lt;br /&gt;
&lt;br /&gt;
A second way is to calculate the texture directly using a programming language and the mathematics of the shape.  For examples, see [http://www.kanae.net/secondlife/ Rokuro] or nand Nerd&#039;s [http://www.nandnerd.info/sculpty.php | Sculpt Texture Generator].&lt;br /&gt;
&lt;br /&gt;
A third way: A number of residents have created in-world tools with LSL and web code - you can select a number of parameters or edit a array of normal prims from which the program calculates the points of the sculpt texture.&lt;br /&gt;
&lt;br /&gt;
An extensive list of resident-created tools both inworld and out can be found here:  [[Sculpted Prims: Resident-made Tools]] .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Q. How do I create a Sculpted Prim from a texture?&lt;br /&gt;
&lt;br /&gt;
:* First create a regular prim (any type). Then edit it, and in the object tab change the prim type to &#039;&#039;sculpted&#039;&#039;. You&#039;ll then be able to select the sculpt texture on that tab. The &amp;quot;Texture&amp;quot; tab will allow you to change the surface texture. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;MayaExporter&amp;quot;&amp;gt;&lt;br /&gt;
;Q. How do i use the Maya exporter?&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Go to [[llSculpt_mel|this page]] and copy the contents of the script. Paste it into your Maya script editor and save it. (Optionally, drag it into a button on your tool bar.) When you run the exporter script, it will pop up a dialog box with exporting options. Select which shapes you wish to export and press the &amp;quot;Export&amp;quot; button. The ideal candidate for export is a [[Sculpted Prims Creators Guide#NURBS|NURBS surface]] with no more than 16 isoparms per direction. You may also export [[Sculpted Prims Creators Guide#PolygonMesh|polygon meshes]] &amp;amp;mdash; but you must first ensure that the poly-mesh has a &#039;&#039;perfect UV space&#039;&#039; (it must cover the entire surface and the space must have no holes).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Q. Can Polygon Models be exported as Sculpt Textures (Sculpt Maps)?&lt;br /&gt;
&lt;br /&gt;
:* Yes, with care and with some restrictions. See the [[Talk:Sculpted_Prims|Sculpted Prims Talk page for details]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Q. Can &#039;&#039;&#039;my&#039;&#039;&#039; 3D program do [[Sculpted Prims Creators Guide#NURBS|NURBS]] models?&lt;br /&gt;
&lt;br /&gt;
:* [http://en.wikipedia.org/wiki/NURBS NURBS] used to be the feature that separated professional-quality 3D modeling software from the rest, but the gap is narrowing. &lt;br /&gt;
3D Studio Max, Maya, and Blender offer both NURBS and polygon modeling. &lt;br /&gt;
Many other &amp;quot;free&amp;quot;/low cost programs like [http://sketchup.google.com/ Google Sketchup], &lt;br /&gt;
[http://www.milkshape3d.com/ Milkshape], &lt;br /&gt;
[http://www.wings3d.com/ Wings3D], and gMax do not. &lt;br /&gt;
[http://www.rhino3d.com/ Rhino3d] is a commercial program (though considerably cheaper than 3D Studio Max or Maya) that specializes in NURBS modeling. See the [[Sculpted_Prims:_3d_Software_Guide|Sculpted Prims: 3D Software Guide]] page for an in-depth discussion of applicable 3D modeling software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Q. How detailed can a Sculpted Prim be?&lt;br /&gt;
&lt;br /&gt;
:* The current implementation samples the &#039;&#039;&#039;Sculpt Texture&#039;&#039;&#039; (or &#039;&#039;&#039;Sculpt Map&#039;&#039;&#039;) by different amounts depending on the &amp;quot;Level of Detail&amp;quot; or [[Sculpted Prims Creators Guide#LOD|LOD]]. Prims which are close to the viewer camera have a 32 by 32 grid of vertices, which drops to 16 by 16 as the prim moves away from camera.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Q. How big should my Sculpt Textures/Sculpt Maps be?&lt;br /&gt;
&lt;br /&gt;
:* The recommended size is [[Sculpted_Prim_Explanation#Sampling|64 by 64 pixels]]. More data is really unnecessary &amp;amp;mdash; lower resolutions can result in bad sampling when the [[Sculpted Prims Creators Guide#LOD|Level of Detail (LOD)]] changes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Q. Are there any size or distance restrictions on Sculpted Prims?&lt;br /&gt;
&lt;br /&gt;
:* Sculpted Prims use the same position, rotation, and size parameters that a normal prim has. For example, this means that the maximum distance from the center of a sculpted prim is 5m as prims can be no more than 10m from side to side.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Q. Can &amp;quot;huge prims&amp;quot; be used to make &amp;quot;huge sculpties&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
:* Yes, have a look at [http://wiki.secondlife.com/wiki/Image:Megapple.jpg this snapshot].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Q. The [http://youtube.com/watch?v=LlfpACg_lww demonstration video] shows a lot of smooth shapes. Can I use Sculpted Prims to make sharp corners and angles? What if I want to create more complex shapes?&lt;br /&gt;
&lt;br /&gt;
:* Since the introduction of lossless compression for sculptie maps, 8 bit precision is now possible. The name &amp;quot;sculpted prim&amp;quot; was chosen to convey the idea of &amp;quot;approximate&amp;quot; shapes &amp;amp;mdash; but as you can see from the plate in the image above, &amp;quot;approximate&amp;quot; is pretty close to &amp;quot;exact&amp;quot;. Depending on the techniques used to produce the  map, a sculpted prim can have a very defined edge. At maximum resolution, a 32x32 pixel Sculpt Map would describe up to 1024 vertices (with each pixel representing a single vertex). The recommended sculpt map resolution is 64x64 pixels but in practice the highest level of detail for sculpted prims in Second Life is a grid of 32x32 vertices (larger images are downsampled), and the lower level of detail uses 16x16 vertices. If you need more vertices, split your model up into multiple prims. For reference, a torus-shaped prim in SL has about 1000 vertices.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Q. With image pixels defining the position of the prim&#039;s vertices, will jpeg compression artifacts not skew the vertex positions?&lt;br /&gt;
&lt;br /&gt;
:* This can be avoided using the &amp;quot;Lossless Compression&amp;quot; option when loading your sculptie texture. Support for 16bit textures might be added in the future to allow even greater precision.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Q. After making a Sculpt Texture (Sculpt Map), it seems to be &#039;inside out&#039;, when applied on a prim. What can I do to fix that?&lt;br /&gt;
&lt;br /&gt;
:* This means the &#039;U&#039; of the UV map needs to be reversed. Open the Sculpt Texture in any image editor and &#039;flip&#039; it horizontally. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Q. Can I make flexi sculpted prims?&lt;br /&gt;
&lt;br /&gt;
:* Not at present but it is planned for a future revision.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Q. Can I make Sculpt Textures (Sculpt Maps) in Photoshop or other paint programs?&lt;br /&gt;
&lt;br /&gt;
:* Not easily, but with a technical understanding of sculpt textures it is possible to manipulate them. Check out the ongoing talk page discussions:&lt;br /&gt;
:** [[Talk:Sculpted_Prims#Sculpt_Texture|Sculpt texture]]&lt;br /&gt;
:** [[Talk:Sculpted_Prims#.22Annoying.22_Questions | &amp;quot;Annoying&amp;quot; questions]]&lt;br /&gt;
:** [[Sculpted_Prims:Clarification_Page | Clarification]]&lt;br /&gt;
&lt;br /&gt;
:* Also see [[Sculpt Textures in Paint Programs]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Q. Can I preview Sculpt Maps in the Texture Upload window?&lt;br /&gt;
&lt;br /&gt;
:* Yes, the texture upload preview has a &amp;quot;sculpted prim&amp;quot; mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Q. Can I texture a Sculpted Prim just like a regular one?&lt;br /&gt;
&lt;br /&gt;
:* Yes. Each sculpted prim has one texture face. The texture space of a sculpted prim is defined by the sculpt texture.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Q. What about the UV mapping of the Sculpted Prim&#039;s single texture?&lt;br /&gt;
&lt;br /&gt;
:* You can use the texture scale/rotate/offset controls to position the texture on the sculpted prim. In terms of UV mapping, the sculpt map defines the texture space &amp;amp;mdash; the sculpted prim will have the same UV space as the object in your modeling program.&lt;br /&gt;
Users are discovering various ways to create UV-maps to aid in the creation of image textures.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Q. What happens if I use a normal texture instead of a sculpt map as the sculpt texture?&lt;br /&gt;
&lt;br /&gt;
:* The result is affectionately called &amp;quot;vertex vomit&amp;quot; &amp;amp;mdash; ... and no, it&#039;s not pretty.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Q. What will be the associated LSL functions and PrimitiveParams arguments?&lt;br /&gt;
&lt;br /&gt;
:* Sculpted prims can be defined via LSL using &amp;lt;span style=&amp;quot;font-weight:bold; color:#560&amp;quot;&amp;gt;[[LlSetPrimitiveParams|llSetPrimitiveParams()]]&amp;lt;/span&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:: &amp;lt;span style=&amp;quot;font-size:1.2em; font-weight:bold; color:#560&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;llSetPrimitiveParams([PRIM_TYPE, PRIM_TYPE_SCULPT, &amp;quot;uuid&amp;quot;, PRIM_SCULPT_TYPE_SPHERE]);&amp;lt;/tt&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
:: &amp;lt;span style=&amp;quot;font-size:1.2em; font-weight:bold; color:#560&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;llSetPrimitiveParams([PRIM_TYPE, PRIM_TYPE_SCULPT, &amp;quot;uuid&amp;quot;, PRIM_SCULPT_TYPE_TORUS]);&amp;lt;/tt&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
:: &amp;lt;span style=&amp;quot;font-size:1.2em; font-weight:bold; color:#560&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;llSetPrimitiveParams([PRIM_TYPE, PRIM_TYPE_SCULPT, &amp;quot;uuid&amp;quot;, PRIM_SCULPT_TYPE_PLANE]);&amp;lt;/tt&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
:: &amp;lt;span style=&amp;quot;font-size:1.2em; font-weight:bold; color:#560&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;llSetPrimitiveParams([PRIM_TYPE, PRIM_TYPE_SCULPT, &amp;quot;uuid&amp;quot;, PRIM_SCULPT_TYPE_CYLINDER]);&amp;lt;/tt&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Q. How do sculpted prims work in the physics engine?&lt;br /&gt;
&lt;br /&gt;
:* At present, sculpted prims are approximated by a lopsided sphere that is roughly the same size as the sculpted prim. &lt;br /&gt;
If you stand or sit on one, you might sink in, or you might levitate.&lt;br /&gt;
In the future, a more exact representation to the physics engine may be provided, thereby offering more realistic movement/collisions for sculpted prims.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Q. This sounds like it might take some extra processing power &amp;amp;mdash; will there be limits or can I have 15,000 sculpted prims per sim?&lt;br /&gt;
&lt;br /&gt;
:* At a maximum of approximately 1000 vertices, sculpted prims have about the same &amp;quot;rendering weight&amp;quot; as a hollow torus prim. So no, they aren&#039;t more &amp;quot;expensive&amp;quot; to render, and you&#039;ll be able to fill your sim if you like.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Q. When I edit a sculpted prim, the sculpt map is perfectly visible in the editor window.  Someone can easily steal it with a screen capture.&lt;br /&gt;
&lt;br /&gt;
:* Just like regular prims, when you have &#039;&#039;modify&#039;&#039; permission to a sculpted prim, you may view/edit all of the shape parameters of that prim.  So if you do not wish for others to see the sculpt map, you&#039;ll want to set the permissions of the prim to &#039;&#039;no modify&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
:* BUT - there is a cute trick which can be used to prevent others from seeing your sculpt map even when they have full permissions to the prim:  use the alpha channel of the sculpt map to obscure it from view.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Q.  Sculpted prims are limited to 32x32 vertices at their highest resolution.  If I&#039;ve uploaded a 256x256 sculpt map, how can I get the sculpted prim to show that detail?&lt;br /&gt;
&lt;br /&gt;
:* You cannot.  Currently in Second Life, we use the &amp;quot;prim economy&amp;quot; to prevent builders from &amp;quot;stealing&amp;quot; rendering resources from each other.  Each region is allowed 15,000 prims, each of which may have 1024 vertices.  These resources are divided proportionally amongst the region&#039;s landowners.  This balance works well with the current state of rendering hardware.  There are no plans to increase these numbers in the near future.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Sculpted Prims]]&lt;br /&gt;
* [[Sculpted Prims: Technical Explanation]]&lt;br /&gt;
* [[Sculpted_Prims:_3d_Software_Guide|Sculpted Prims: 3D Software Guide]]&lt;br /&gt;
* [[Sculpted_Prims_Textures|Sculpted Prims: Textures]]&lt;br /&gt;
* [[Sharing sculpt maps and textures|Sharing Sculpt Maps and textures]] &lt;br /&gt;
* [[Sculpted Prims Creators Guide]]&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://blog.secondlife.com/2007/04/27/the-advent-of-an-illustrious-age-of-sculpted-prims/ Sculpted Prims Announcement] on the SL blog&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Sculpted Prims]]&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Local_data_storage_methods_used_in_the_viewer&amp;diff=164883</id>
		<title>Local data storage methods used in the viewer</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Local_data_storage_methods_used_in_the_viewer&amp;diff=164883"/>
		<updated>2008-12-05T00:34:15Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: Removing &amp;quot;do not edit&amp;quot; messages. Go ahead and edit this.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Evolving article purpose ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;From Scalar Tardis / Dale Mahalko:&#039;&#039; This started out as a list of references in the client source to the keyword &#039;&#039;&#039;VFS&#039;&#039;&#039;, which then became more useful in table format when I noticed the &#039;&#039;&#039;gVFS&#039;&#039;&#039; and &#039;&#039;&#039;gStaticVFS&#039;&#039;&#039;. As I explored the code further I noted the related file access procedures of the &#039;&#039;&#039;LFS&#039;&#039;&#039; and then discovered the use of the &#039;&#039;&#039;Apache Portable Runtime&#039;&#039;&#039; used to replace the LFS.&lt;br /&gt;
&lt;br /&gt;
There is no official stated policy anywhere, but it would appear there is an effort to replace the LFS calls with APR calls, and perhaps eventually, also replacing VFS calls with APR calls. Local file storage based purely on the APR may be faster and more stable than previous methods created in-house by Linden Lab, and would make the client much easier to port to more widely varying OS platforms since the APR is already widely deployed across many platforms. And as the [http://en.wikipedia.org/wiki/Apache_Portable_Runtime Wikipedia article] for the APR states, if an OS doesn&#039;t directly support some needed feature, the APR will directly implement that feature itself, making it very useful to replace as many legacy calls with APR calls.&lt;br /&gt;
&lt;br /&gt;
== Notes on the source code references ==&lt;br /&gt;
&lt;br /&gt;
The following list of source references is based on viewer source released 1.19.1.4 in the SVN repository, and will need future updating as the viewer source continues to evolve:&lt;br /&gt;
* [http://svn.secondlife.com/trac/linden/browser/branches/Branch_1-19-1-Viewer/indra/newview?rev=443 Link to 1.19.1.4 in the SVN repository]&lt;br /&gt;
&lt;br /&gt;
This listing duplicates the layout and format of the [[Viewer Source Files]] page, providing a direct 1-to-1 correspondence with each section and source file. Although the source list only includes .cpp files, if a matching .h file is found it is listed here below the .cpp for that name.&lt;br /&gt;
&lt;br /&gt;
=== Table column headings ===&lt;br /&gt;
Each column of these tables refer to:&lt;br /&gt;
* &#039;&#039;&#039;VFS&#039;&#039;&#039; - any reference to this keyward. &amp;quot;VFS&amp;quot; is not used in the code alone, and so is usually referring to comments in the source, or debugging/logging notes.&lt;br /&gt;
* &#039;&#039;&#039;gVFS&#039;&#039;&#039; - the &amp;quot;general VFS&amp;quot; which is used for temporary storage for assets, in a private RAM-disk held in memory at all times. It is the primary limitation for allowing unlimited local asset caching in the viewer as currently designed. This needs to be removed and replaced with direct filesystem calls to folder-based storage.&lt;br /&gt;
* &#039;&#039;&#039;gStaticVFS&#039;&#039;&#039; - a read-only VFS in &#039;&#039;&amp;quot;static_data.db2&amp;quot;&#039;&#039; and &#039;&#039;&amp;quot;static_index.db2&amp;quot;&#039;&#039;. This contains the graphical elements and sounds of the Second Life user interface. It&#039;s only about 8 megabytes, but why does it have to be fully loaded in a virtual RAM-disk all the time using limited system memory? May be worthwhile to replace this with direct on-disk storage, perhaps in a ZIP file.&lt;br /&gt;
* &#039;&#039;&#039;LLVFile&#039;&#039;&#039; - the purpose of this code is still unclear &#039;&#039;(to Scalar Tardis / Dale Mahalko)&#039;&#039; but this appears to be how the two different VFS are accessed. The LLVFile is a general procedure for accessing both of them.&lt;br /&gt;
* &#039;&#039;&#039;LLLFS&#039;&#039;&#039; - the &amp;quot;Local File System&amp;quot; procedures, used to directly read and write to the local OS storage. The audio manager for example uses LLLFS calls to write decoded OGG sounds as WAV files in the cache directory. &lt;br /&gt;
* &#039;&#039;&#039;apr_file&#039;&#039;&#039; - it appears that the Apache Portable Runtime is being used to replace calls to the LFS in the client source. The LFS can probably be regarded as legacy code which should not be used if possible, and by association, the VFS may also eventually be retired, replaced with direct filesystem APR calls.&lt;br /&gt;
&lt;br /&gt;
=== VFS removal/replacement ===&lt;br /&gt;
As has been discussed in the sl-dev mailing list and in the JIRA, the VFS does not scale up very well at all since it functions as a private RAM-disk for non-texture assets downloaded by the viewer. The on-disk VFS files are used only for storage when the viewer is not running. At startup, the files are parsed for errors and loaded into memory, and continue to occupy memory until the viewer exits and the contents are written back to the disk files.&lt;br /&gt;
As a RAM disk, increasing the cache size to larger than the available free memory causes the computer to run out of physical RAM and require the use of virtual memory and disk swapping. This is counterproductive when the intent of increasing the VFS size is to cache more of the frequently-used data to speed up the client and reduce network traffic.&lt;br /&gt;
In order to permit the cache of assets currently stored in the VFS to grow to gigabytes of storage without requiring gigabytes of physical memory to store it, the existing VFS will have to be removed from the viewer and replaced with a traditional file/directory-based disk cache.&lt;br /&gt;
&lt;br /&gt;
==== Need for lightweight asset obfuscation ====&lt;br /&gt;
In the interests of copyright protection, a directory-based non-texture asset cache should include some form of low-impact data obfuscation, to make it slightly difficult for the copyrighted works of other SL users held in the cache to be casually copied and examined.&lt;br /&gt;
As has been discussed in SL-Dev, heavy and slow cache encryption would serve no purpose since a decryption tool can be easily built using the client source that would do the cache decrypting. So it&#039;s better to just use a simple and fast obfuscation technique which discourages casual asset theft.&lt;br /&gt;
&lt;br /&gt;
== General - Main and Startup ==&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|llstartup.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llappviewer.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llappviewer.h&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General - Window Management and Render Pipeline  ==&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|pipeline.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewerdisplay.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewerprecompiledheaders.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewerprecompiledheaders.h&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewerwindow.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llwindebug.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General - Filesystem Access and Storage ==&lt;br /&gt;
&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|lllfsthread.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lllfsthread.h&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llvfile.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llvfile.h&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llvfs.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llvfs.h&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llvfsthread.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llvfsthread.h&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llxfer_vfile.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llxfer_vfile.h&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== General - Utility and Misc ==&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|llbbox.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llbox.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llcallbacklist.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llcontroldef.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lleventnotifier.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lleventpoll.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llhippo.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llregionposition.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|moviemaker.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|noise.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Rendering - Asset Management ==&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|llassetuploadresponders.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lltexturecache.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lltexturefetch.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewerassetstorage.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewerassetstorage.h&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llwearable.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llwearablelist.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Rendering - Character and Animation ==&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|lldriverparam.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llemote.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewergesture.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llvoavatar.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llcharacter(???)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Rendering - Camera ==&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|llcameraview.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfollowcam.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llmorphview.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewercamera.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Rendering - Effects ==&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|llhudconnector.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llhudeffect.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llhudeffectbeam.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llhudeffectlookat.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llhudeffectpointat.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llhudeffecttrail.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llhudicon.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llhudmanager.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llhudobject.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llhudrender.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llhudtext.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llhudview.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lltracker.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llvelocitybar.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llvotextbubble.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Rendering - Environment ==&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|llvlmanager.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llvlcomposition.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llvoclouds.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llvosurfacepatch.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llvoground.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llvosky.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llvostars.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llvowater.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llwind.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Rendering - Viewer Objects: Volumes, Particles, and Trees ==&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|llvocache.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llvograss.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llvoinventorylistener.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llvopartgroup.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llvotree.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llvovolume.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Rendering - Render Pipeline ==&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|llcloud.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llcubemap.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llcylinder.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lldrawable.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lldrawpool.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lldrawpoolalpha.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lldrawpoolavatar.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lldrawpoolbump.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lldrawpoolclouds.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lldrawpoolground.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lldrawpoolsimple.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lldrawpoolsky.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lldrawpoolstars.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lldrawpoolterrain.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lldrawpooltree.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lldrawpoolwater.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lldynamictexture.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llface.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfeaturemanager.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llflexibleobject.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llglsandbox.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llglslshader.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpatchvertexarray.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpolymesh.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpolymorph.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llsky.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llspatialpartition.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llsphere.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llsprite.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llsurface.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llsurfacepatch.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lltexlayer.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewerimage.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewerimage.h&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewerimagelist.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewerjoint.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewerjointattachment.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewerjointmesh.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewerjointshape.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewerlayer.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewerobject.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewerobjectlist.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewerpartsim.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewerpartsource.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewertextureanim.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewervisualparam.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Input and Output - Audio ==&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|fmodwrapper.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|audioengine.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|audioengine.h&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|audioengine_fmod.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llaudiodecodemgr.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llaudiodecodemgr.h&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llaudiosourcevo.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llaudiostatus.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|vorbisdecode.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|vorbisdecode.h&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|vorbisencode.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Input and Output - Input ==&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|llviewerjoystick.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewerkeyboard.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Data and Communication - Agents ==&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|llagent.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llagentdata.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llagentpilot.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Data and Communication - Region and World ==&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|llviewerregion.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llworld.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Data and Communication - Network ==&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|llasynchostbyname.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llcaphttpsender.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llurl.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llurlwhitelist.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lluserauth.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewergenericmessage.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewermessage.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewermessage.h&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewernetwork.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewerthrottle.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llweb.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llxmlrpctransaction.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== User Interface - Alerts ==&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|llconfirmationmanager.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfirstuse.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llnotify.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== User Interface - Assets ==&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|llcompilequeue.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llcompilequeue.h&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloateranimpreview.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloatergesture.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloaterimagepreview.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloaterinspect.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloateropenobject.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloaterproperties.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloaterscriptdebug.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpreview.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpreviewanim.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpreviewgesture.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpreviewgesture.h&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpreviewlandmark.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpreviewnotecard.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpreviewnotecard.h&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpreviewscript.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpreviewscript.h&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpreviewsound.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpreviewtexture.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== User Interface - Avatar Appearance ==&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|llfloaterclothing.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloatercustomize.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llgenepool.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llgesturemgr.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llgesturemgr.h&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpanelmorph.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== User Interface - Chat, Instant Messaging, Notices, Reports ==&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|llchatbar.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloaterchat.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloatermute.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloaternewim.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloaterpostcard.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloaterreporter.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llgroupmgr.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llgroupnotify.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llimpanel.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llimview.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lllogchat.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llmutelist.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== User Interface - Data ==&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|llclassifiedinfo.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lleventinfo.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloaterabout.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloaterauction.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloateravatarinfo.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloatergroupinfo.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloatergroupinvite.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloatergroups.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloaterland.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloaterlandholdings.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloaterregioninfo.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloaterregioninfo.h&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloatertelehub.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloatertos.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloatertos.h&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpanelavatar.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpanelclassified.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpanelevent.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpanelgroup.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpanelgroupgeneral.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpanelgroupinvite.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpanelgrouplandmoney.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpanelgroupnotices.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpanelgrouproles.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpanelgroupvoting.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpanelland.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpanellandobjects.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpanellandoptions.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== User Interface - Data:Inventory ==&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|llcallingcard.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloaterfriends.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llinventoryactions.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llinventorybridge.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llinventoryclipboard.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llinventorymodel.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llinventoryview.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lllandmarklist.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lllandmarklist.h&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewerinventory.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== User Interface - Data:Money and Land ==&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|llcurrencyuimanager.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llgivemoney.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloaterbuy.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloaterbuycontents.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloaterbuycurrency.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloaterbuyland.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloatersellland.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== User Interface - Data:Search ==&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|llfloaterdirectory.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpaneldirbrowser.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpaneldirclassified.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpaneldirevents.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpaneldirfind.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpaneldirgroups.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpaneldirland.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpaneldirpeople.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpaneldirplaces.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpaneldirpopular.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpanelpick.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpanelplace.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== User Interface - Data:Map ==&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|llcompass.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloatermap.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloaterworldmap.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llmapresponders.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llnetmap.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llworldmap.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llworldmapview.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== User Interface - Objects and Edit Tools ==&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|llhoverview.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|llmanip.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|llmaniprotate.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|llmanipscale.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|llmaniptranslate.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|llfloaterbuildoptions.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|llfloaterbump.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|llfloatercolorpicker.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|llfloaterpermissionsmgr.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|llfloatertools.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|llpanelcontents.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|llpanelface.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|llpanelgeneral.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|llpanelinventory.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|llpanelobject.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|llpanelpermissions.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|llselectmgr.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|lltool.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|lltoolbar.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|lltoolbrush.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|lltoolcomp.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|lltooldraganddrop.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|lltoolface.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|lltoolfocus.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|lltoolgrab.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|lltoolgun.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|lltoolindividual.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|lltoolmgr.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|lltoolmorph.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|lltoolobjpicker.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|lltoolpie.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|lltoolpipette.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|lltoolplacer.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|lltoolselect.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|lltoolselectland.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|lltoolselectrect.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|lltoolview.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|llviewerparcelmgr.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|- &lt;br /&gt;
|llviewerparceloverlay.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== User Interface - HTML ==&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|llfloaterhtml.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloaterhtmlfind.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloaterhtmlhelp.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== User Interface - Import, Export, Upload ==&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|llfloaterimport.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloatersaveavatar.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloatersnapshot.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lluploaddialog.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== User Interface - Menus, Overlays, Login ==&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|llmediaremotectrl.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llmenucommands.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llmoveview.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lloverlaybar.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpanellogin.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llprogressview.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewermenu.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewermenu.h&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewermenufile.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== User Interface - Preferences ==&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|llfloaterpreference.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpanelaudioprefs.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llprefschat.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llprefsim.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpaneldisplay.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpanelmsgs.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpanelnetwork.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpanelvolume.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpanelweb.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== User Interface - Utility ==&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|llcolorscheme.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lldirpicker.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfilepicker.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloateravatarpicker.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloaternamedesc.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llsavedsettingsglue.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewchildren.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== User Interface - Widgets ==&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|llcolorswatch.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llcontainerview.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfolderview.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llnamebox.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llnameeditor.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llnamelistctrl.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lltexturectrl.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lljoystickbutton.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewertexteditor.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llvieweruictrlfactory.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llwebbrowserctrl.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== User Interface - Debug ==&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|llconsole.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lldebugmessagebox.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lldebugview.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfasttimerview.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llframestats.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llframestatview.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llmemoryview.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloateravatartextures.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloatereditui.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloatergodtools.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloatertest.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llfloatertopobjects.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llpaneldebug.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llstatbar.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llstatgraph.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llstatusbar.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llstatview.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lltextureview.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llvelocitybar.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewercontrol.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewerstats.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llviewerstats.h&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Unlisted in Viewer Source Files page ==&lt;br /&gt;
&lt;br /&gt;
{| cellborder=&amp;quot;3&amp;quot; border=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |VFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |gStaticVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLVFile&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |LLLFS&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |ll_apr_file&lt;br /&gt;
!width=&amp;quot;10%&amp;quot; |apr_file&lt;br /&gt;
|-&lt;br /&gt;
|llapr.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llapr.h&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llassetstorage.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llassetstorage.h&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llbvhloader.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llcrashlogger.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llextendedstatus.h&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llhttpassetstorage.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llhttpassetstorage.h&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llhttpclient.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llimage.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llimage.h&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llimagej2c.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llkeyframemotion.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llkeyframemotion.h&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llkeyframemotionparam.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llprocessor.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llprocessor.h&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llstatemachine.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llstatemachine.h&lt;br /&gt;
|&amp;lt;!-- VFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lltransfersourceasset.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lltransfersourceasset.h&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lltransfertargetvfile.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|lltransfertargetvfile.h&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llxfermanager.cpp&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|-&lt;br /&gt;
|llxfermanager.h&lt;br /&gt;
|&amp;lt;!-- VFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- gVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- gStaticVFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLVFS::YES --&amp;gt; &amp;lt;center&amp;gt;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;&#039;&#039;&#039;X&#039;&#039;&#039;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
|&amp;lt;!-- LLVFile::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- LLLFS::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|&amp;lt;!-- ll_apr_file::no --&amp;gt; &amp;amp;nbsp;&lt;br /&gt;
|apr_file::no&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Image_System&amp;diff=159943</id>
		<title>Image System</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Image_System&amp;diff=159943"/>
		<updated>2008-11-30T00:15:06Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: /* Format */ clarify&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ViewerArchNav}}&lt;br /&gt;
[[Category:Viewer Architecture]]&lt;br /&gt;
&lt;br /&gt;
= See Also =&lt;br /&gt;
* [[Texture Cache]]&lt;br /&gt;
* [[Image Pipeline]]&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
* This documentation describes the Image Subsystem as of 1.14.0, first released as &amp;quot;First Look: Render Pipeline Improvements&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Overview =&lt;br /&gt;
The image system handles the requesting, loading, and decoding of texture data. It also handles passing the data to OpenGL, and discarding unwanted data. It uses a priority scheme to determine what data to load and to discard.&lt;br /&gt;
&lt;br /&gt;
= Definitions =&lt;br /&gt;
== Format ==&lt;br /&gt;
SecondLife transmits [http://www.wikipedia.org/wiki/Jpeg_2000 JPEG 2000] image codestreams as described in Appendix A of [http://www.jpeg.org/public/fcd15444-1.pdf JPEG 2000 Part I Final Committee Draft Version 1.0] which are decoded in the client and sent to [http://www.wikipedia.org/wiki/Opengl OpenGL] as uncompressed 24 bit or 32 bit textures.&lt;br /&gt;
&lt;br /&gt;
JPEG-2000 is a highly efficient compression method, allowing for very small compressed file sizes, which in turn helps to reduce Linden Lab&#039;s asset storage. However, the cost to users of the Second Life client is that JPEG-2000 is much more processor intensive than other compression image methods, and so is a major contributing factor for the slow &amp;quot;rezzing&amp;quot; of textures by the client, even when these compressed textures exist in a local disk cache.&lt;br /&gt;
&lt;br /&gt;
After the image data has been decompressed, it is stored only in system memory of the client. When the avatar teleports to a new but similar location using similar textures, the decompressed data is simply discarded and every texture is regenerated from the original compressed JPEG-2000 textures. No attempt is made to write the decoded image data to a secondary image cache to eliminate the decompression penalty.&lt;br /&gt;
&lt;br /&gt;
== Discard Level and Mip Mapping ==&lt;br /&gt;
* Discard level&lt;br /&gt;
Discard level 0 represents the highest resolution version of a texture. Discard level 1 represents a texture half the resolution of discard level 0 in each dimension, so one quarter of the pixel area and one quarter of the required texture memory. It is primarily a function of total pixel area, e.g. if a 256x256 texture is covering a 128x128 portion of the screen, the desired discard level is 1.&lt;br /&gt;
* Mip Mapping is a technique where multiple resolutions of a texture are stored in order to optimize rendering. To support mipmapping, when discard level 0 is loaded, discard levels 1-N are also loaded (where N represents the smallest useful image). e.g. When a 256x128 texture is loaded, the following textures are also generated and loaded: 128x64, 64x32, 32x16, 16x8, 8x4. This incurs a 33% increase in the amount of texture memory consumed, but makes a significant improvement in performance and visual quality.&lt;br /&gt;
&lt;br /&gt;
== Prioritization ==&lt;br /&gt;
* Total pixel area&lt;br /&gt;
This is an approximation of the total number of pixels of a texture from all faces that are currently being rendered. This is a factor in determining the priority (see below) of a texture. &lt;br /&gt;
* Maximum pixel area&lt;br /&gt;
This is an approximation of the maximum number of pixels of a texture on a single face that are currently being rendered. This is the primary factor in determining the desired discard level (see below) of a texture. &lt;br /&gt;
* Boost level&lt;br /&gt;
This is used to increase the prioritization of some textures over others. For example, textures on selected faces are boosted.&lt;br /&gt;
* Priority&lt;br /&gt;
Also referred to as decode priority, this is used to determine in what order texture data is downloaded and decoded. It is a function of the total pixel area, the boost level, and the difference between the current discard level and the desired discard level.&lt;br /&gt;
&lt;br /&gt;
= Feature Description =&lt;br /&gt;
== Texture Pipeline ==&lt;br /&gt;
* See Also: [[Image Pipeline]]&lt;br /&gt;
* The render pipeline determines which textures are required, their desired discard level, and their priority.&lt;br /&gt;
* At this point, the following steps are followed:&lt;br /&gt;
# Requests are sent to the texture fetcher for texture data&lt;br /&gt;
# The texture fetcher does the following with each request:&lt;br /&gt;
## Load data from cache if available&lt;br /&gt;
## Send requests to the servers for additional texture data if needed&lt;br /&gt;
## Receive data from the servers&lt;br /&gt;
## Cache received data&lt;br /&gt;
## Decode the texture&lt;br /&gt;
# When the texture data is ready the render pipeline is notified&lt;br /&gt;
# The decoded texture data is passed to OpenGL for rendering&lt;br /&gt;
* Each frame a limited number of textures are examined and processed as follows:&lt;br /&gt;
** If the desired discard level of the texture decreases significantly, more texture data is requested and the texture is updated with the higher resolution data&lt;br /&gt;
** If the desired discard level of the texture increases significantly, the undesired discard levels are discarded from memory&lt;br /&gt;
&lt;br /&gt;
= Code Description =&lt;br /&gt;
== LLImage ==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot; cellspacing=&amp;quot;20&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[Image:Class_llimage_formatted.png]] || [[Image:Class_l_l_image_raw.png]] || [[Image:Class_l_l_image_worker.png]]&lt;br /&gt;
|}&lt;br /&gt;
* &#039;&#039;&#039;LLImageBase&#039;&#039;&#039; defines a set of generic interfaces to essential image information: Width, Height, Components, Data, and Data Size. It is only used as a base class.&lt;br /&gt;
* &#039;&#039;&#039;LLImageFormatted&#039;&#039;&#039; defines a set of interfaces to formatted image data, e.g. JPEG2000 or TGA.&lt;br /&gt;
* &#039;&#039;&#039;LLImageRaw&#039;&#039;&#039; defines special interfaces for handling raw (i.e. uncompressed 24 bit RGB, 32 bit RGBA, or 8 bit A) image data.&lt;br /&gt;
* &#039;&#039;&#039;LLImageWorker&#039;&#039;&#039; defines an interface for decoding textures which supports threading.&lt;br /&gt;
&lt;br /&gt;
== LLViewerImage ==&lt;br /&gt;
[[Image:class_l_l_viewer_image.png]]&lt;br /&gt;
* &#039;&#039;&#039;LLImageGL&#039;&#039;&#039; defines the interface between Second Life image data and OpenGL. It includes methods for setting the image data, reading it back, discarding mip levels, setting GL parameters (like clamping), and various accessors. &lt;br /&gt;
* &#039;&#039;&#039;LLViewerImage&#039;&#039;&#039; contains additional state data for calculating the image priority and desired discard level. It also has methods for texture fetching.&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Note:&#039;&#039;&#039;&#039;&#039; In 1.13.0 and earlier, the texture fetching code is integrated in LLViewerImage, and only supports textures over UDP (instead of HTTP) and the VFS for local caching (instead of a specialized texture cache). This code is being migrated to LLTextureFetch for 1.13.1 or 1.13.2, described below.&lt;br /&gt;
&lt;br /&gt;
== LLTextureFetch ==&lt;br /&gt;
* See [[Image Pipeline]]&lt;br /&gt;
[[Image:Class_l_l_texture_fetch.png]]&lt;br /&gt;
* &#039;&#039;&#039;LLTextureFetch&#039;&#039;&#039; is a worker thread interface class used for &amp;quot;fetching&amp;quot; texture data. &lt;br /&gt;
* It executes a state machine that manages the following states:&lt;br /&gt;
** Load from disk cache (see LLTextureCache)&lt;br /&gt;
** Load from the network (from the simulator process or through an HTTP request to the simulator host) &lt;br /&gt;
** Decode the image&lt;br /&gt;
** Write the image to the disk cache (see LLTextureCache)&lt;br /&gt;
&lt;br /&gt;
== LLTextureCache ==&lt;br /&gt;
* &#039;&#039;&#039;LLTextureCache&#039;&#039;&#039; is a worker thread interface class used for reading and writing texture data to the local disk cache&lt;br /&gt;
&lt;br /&gt;
More information can be found in the [[Texture cache]] article&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Image_System&amp;diff=159933</id>
		<title>Image System</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Image_System&amp;diff=159933"/>
		<updated>2008-11-30T00:11:46Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: /* Format */ Go into further detail about the decompression system ... it exacts a major client processing and rezzing penalty and the decompressed image data is just thrown away if the user teleports&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ViewerArchNav}}&lt;br /&gt;
[[Category:Viewer Architecture]]&lt;br /&gt;
&lt;br /&gt;
= See Also =&lt;br /&gt;
* [[Texture Cache]]&lt;br /&gt;
* [[Image Pipeline]]&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
* This documentation describes the Image Subsystem as of 1.14.0, first released as &amp;quot;First Look: Render Pipeline Improvements&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Overview =&lt;br /&gt;
The image system handles the requesting, loading, and decoding of texture data. It also handles passing the data to OpenGL, and discarding unwanted data. It uses a priority scheme to determine what data to load and to discard.&lt;br /&gt;
&lt;br /&gt;
= Definitions =&lt;br /&gt;
== Format ==&lt;br /&gt;
SecondLife transmits [http://www.wikipedia.org/wiki/Jpeg_2000 JPEG 2000] image codestreams as described in Appendix A of [http://www.jpeg.org/public/fcd15444-1.pdf JPEG 2000 Part I Final Committee Draft Version 1.0] which are decoded in the client and sent to [http://www.wikipedia.org/wiki/Opengl OpenGL] as uncompressed 24 bit or 32 bit textures.&lt;br /&gt;
&lt;br /&gt;
JPEG-2000 is a highly efficient compression method, allowing for very small compressed file sizes, which in turn helps to reduce Linden Lab&#039;s asset storage. However, the the cost of JPEG-2000 is that it is much more processor intensive than other compression methods, and so is a major contributing factor for the slow &amp;quot;rezzing&amp;quot; of textures by the client, even when these compressed textures exist in a local disk cache.&lt;br /&gt;
&lt;br /&gt;
After the image data has been decompressed, it is stored only in system memory of the client. When the avatar teleports to a new but similar location using similar textures, the decompressed data is simply discarded and every texture is regenerated from the original compressed JPEG-2000 textures. No attempt is made to write the decoded image data to a secondary image cache to eliminate the decompression penalty.&lt;br /&gt;
&lt;br /&gt;
== Discard Level and Mip Mapping ==&lt;br /&gt;
* Discard level&lt;br /&gt;
Discard level 0 represents the highest resolution version of a texture. Discard level 1 represents a texture half the resolution of discard level 0 in each dimension, so one quarter of the pixel area and one quarter of the required texture memory. It is primarily a function of total pixel area, e.g. if a 256x256 texture is covering a 128x128 portion of the screen, the desired discard level is 1.&lt;br /&gt;
* Mip Mapping is a technique where multiple resolutions of a texture are stored in order to optimize rendering. To support mipmapping, when discard level 0 is loaded, discard levels 1-N are also loaded (where N represents the smallest useful image). e.g. When a 256x128 texture is loaded, the following textures are also generated and loaded: 128x64, 64x32, 32x16, 16x8, 8x4. This incurs a 33% increase in the amount of texture memory consumed, but makes a significant improvement in performance and visual quality.&lt;br /&gt;
&lt;br /&gt;
== Prioritization ==&lt;br /&gt;
* Total pixel area&lt;br /&gt;
This is an approximation of the total number of pixels of a texture from all faces that are currently being rendered. This is a factor in determining the priority (see below) of a texture. &lt;br /&gt;
* Maximum pixel area&lt;br /&gt;
This is an approximation of the maximum number of pixels of a texture on a single face that are currently being rendered. This is the primary factor in determining the desired discard level (see below) of a texture. &lt;br /&gt;
* Boost level&lt;br /&gt;
This is used to increase the prioritization of some textures over others. For example, textures on selected faces are boosted.&lt;br /&gt;
* Priority&lt;br /&gt;
Also referred to as decode priority, this is used to determine in what order texture data is downloaded and decoded. It is a function of the total pixel area, the boost level, and the difference between the current discard level and the desired discard level.&lt;br /&gt;
&lt;br /&gt;
= Feature Description =&lt;br /&gt;
== Texture Pipeline ==&lt;br /&gt;
* See Also: [[Image Pipeline]]&lt;br /&gt;
* The render pipeline determines which textures are required, their desired discard level, and their priority.&lt;br /&gt;
* At this point, the following steps are followed:&lt;br /&gt;
# Requests are sent to the texture fetcher for texture data&lt;br /&gt;
# The texture fetcher does the following with each request:&lt;br /&gt;
## Load data from cache if available&lt;br /&gt;
## Send requests to the servers for additional texture data if needed&lt;br /&gt;
## Receive data from the servers&lt;br /&gt;
## Cache received data&lt;br /&gt;
## Decode the texture&lt;br /&gt;
# When the texture data is ready the render pipeline is notified&lt;br /&gt;
# The decoded texture data is passed to OpenGL for rendering&lt;br /&gt;
* Each frame a limited number of textures are examined and processed as follows:&lt;br /&gt;
** If the desired discard level of the texture decreases significantly, more texture data is requested and the texture is updated with the higher resolution data&lt;br /&gt;
** If the desired discard level of the texture increases significantly, the undesired discard levels are discarded from memory&lt;br /&gt;
&lt;br /&gt;
= Code Description =&lt;br /&gt;
== LLImage ==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot; cellspacing=&amp;quot;20&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|[[Image:Class_llimage_formatted.png]] || [[Image:Class_l_l_image_raw.png]] || [[Image:Class_l_l_image_worker.png]]&lt;br /&gt;
|}&lt;br /&gt;
* &#039;&#039;&#039;LLImageBase&#039;&#039;&#039; defines a set of generic interfaces to essential image information: Width, Height, Components, Data, and Data Size. It is only used as a base class.&lt;br /&gt;
* &#039;&#039;&#039;LLImageFormatted&#039;&#039;&#039; defines a set of interfaces to formatted image data, e.g. JPEG2000 or TGA.&lt;br /&gt;
* &#039;&#039;&#039;LLImageRaw&#039;&#039;&#039; defines special interfaces for handling raw (i.e. uncompressed 24 bit RGB, 32 bit RGBA, or 8 bit A) image data.&lt;br /&gt;
* &#039;&#039;&#039;LLImageWorker&#039;&#039;&#039; defines an interface for decoding textures which supports threading.&lt;br /&gt;
&lt;br /&gt;
== LLViewerImage ==&lt;br /&gt;
[[Image:class_l_l_viewer_image.png]]&lt;br /&gt;
* &#039;&#039;&#039;LLImageGL&#039;&#039;&#039; defines the interface between Second Life image data and OpenGL. It includes methods for setting the image data, reading it back, discarding mip levels, setting GL parameters (like clamping), and various accessors. &lt;br /&gt;
* &#039;&#039;&#039;LLViewerImage&#039;&#039;&#039; contains additional state data for calculating the image priority and desired discard level. It also has methods for texture fetching.&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Note:&#039;&#039;&#039;&#039;&#039; In 1.13.0 and earlier, the texture fetching code is integrated in LLViewerImage, and only supports textures over UDP (instead of HTTP) and the VFS for local caching (instead of a specialized texture cache). This code is being migrated to LLTextureFetch for 1.13.1 or 1.13.2, described below.&lt;br /&gt;
&lt;br /&gt;
== LLTextureFetch ==&lt;br /&gt;
* See [[Image Pipeline]]&lt;br /&gt;
[[Image:Class_l_l_texture_fetch.png]]&lt;br /&gt;
* &#039;&#039;&#039;LLTextureFetch&#039;&#039;&#039; is a worker thread interface class used for &amp;quot;fetching&amp;quot; texture data. &lt;br /&gt;
* It executes a state machine that manages the following states:&lt;br /&gt;
** Load from disk cache (see LLTextureCache)&lt;br /&gt;
** Load from the network (from the simulator process or through an HTTP request to the simulator host) &lt;br /&gt;
** Decode the image&lt;br /&gt;
** Write the image to the disk cache (see LLTextureCache)&lt;br /&gt;
&lt;br /&gt;
== LLTextureCache ==&lt;br /&gt;
* &#039;&#039;&#039;LLTextureCache&#039;&#039;&#039; is a worker thread interface class used for reading and writing texture data to the local disk cache&lt;br /&gt;
&lt;br /&gt;
More information can be found in the [[Texture cache]] article&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Creating_a_version_control_repository&amp;diff=83148</id>
		<title>Talk:Creating a version control repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Creating_a_version_control_repository&amp;diff=83148"/>
		<updated>2008-08-06T18:59:59Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: Moving down from \indra to \linden&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Moving down from \indra to \linden ==&lt;br /&gt;
&lt;br /&gt;
I started this page assuming only indra needs to be in the repository since that is where all the main source code is located.&lt;br /&gt;
&lt;br /&gt;
However, in one of my projects to add code to the viewer, I am going to need to add to the preferences file. That is not in \indra but in \etc.&lt;br /&gt;
&lt;br /&gt;
Presumably other people may need to do this as well, so I&#039;m going to be rewriting this to start in \linden so that \etc can be included in the repository.&lt;br /&gt;
&lt;br /&gt;
[[User:Scalar Tardis|Scalar Tardis]] 11:59, 6 August 2008 (PDT)&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Prim_and_Object_Hierarchy&amp;diff=81783</id>
		<title>Prim and Object Hierarchy</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Prim_and_Object_Hierarchy&amp;diff=81783"/>
		<updated>2008-07-31T18:39:35Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: In a Google Labs video presentation, Philip Rosedale said that a design decision was made when SL was first developed, to not implement skeletal/hierarchical object models&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;This article is a feature request&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Linden Lab position on object/model hierarchies ==&lt;br /&gt;
&lt;br /&gt;
In the Google video presentation [http://video.google.com/videoplay?docid=1059615355049894830 Glimpse Inside a Metaverse: The Virtual World of Second Life] at 30:11 to 31:00 [http://en.wikipedia.org/wiki/Philip_Rosedale Phillip Rosedale] says that one of the first design decisions made when Second Life was first created, that skeletal models and object hierarchies would not be implemented.&lt;br /&gt;
&lt;br /&gt;
== The problem ==&lt;br /&gt;
&lt;br /&gt;
Lets say that in SL we would want to make a human skeleton. When we want to do such correctly, we need to think about the bones and how they work together. Very soon we realize that if one bone moves, the bones which are connected to it and the bones connected to them, will follow the movement. Of cause, in the real world, this is only logical, but with a computer, this is a different story. It actually needs program code to make sure that the bones of the wrist, hand and fingers move along if the arm moves.&lt;br /&gt;
When you think about it, you see that the upper arm depends on the movement of the shoulder; the lower arm depends on the upper arm; the wrist depends on the lower arm, etc.. Clearly, there is a relation between these bones. This relation is often referred to as child and parent.&lt;br /&gt;
The shoulder in this example is the parent for the upper arm. The upper arm is itself then the parent to the lower arm, which is the parent for the wrist bone.&lt;br /&gt;
&lt;br /&gt;
In SL there is not such a relation between prims. It is possible to put several prims together in a set of linked prims, but if we would want to make something which needs a child-parent relation between prims, then the designer of the object needs to do this him or herself in LSL code, which is a difficult job that takes a lot of time and adds some extra code which makes the script less maintainable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The solution ==&lt;br /&gt;
&lt;br /&gt;
The solution is probably fairly easier for the user to understand than it is to make the changes to the viewer and server. For an easy solution, a prim could receive an extra flag indicating that it acts like a bone. If this flag is set (the box is ticked), then the prim has a few extra properties. Among which are a parent prim and child prim, but both are optional. In script some extra commands would be available:&lt;br /&gt;
&lt;br /&gt;
 prim llGetPrimParent(prim p);&lt;br /&gt;
   // This returns a pointer (be it a key, name or other) to the parent of the given prim.&lt;br /&gt;
 integer llGetPrimChildCount(prim p);&lt;br /&gt;
   // Returns the number of child prims linked to the given parent.&lt;br /&gt;
 prim llGetPrimChild(prim p, integer n);&lt;br /&gt;
   // Similar to llGetPrimParent(), but returns a pointer to the n&#039;th child.&lt;br /&gt;
 llSetPrimParent(prim child, prim parent);&lt;br /&gt;
   // This command takes two prims and links them by way of script. This is usefull for prims that are rezzed by script.&lt;br /&gt;
   // This sets the parent of the given child prim. Of cause it also sets the child of the given parent to the given child.&lt;br /&gt;
 llAddPrimChild(prim child, prim parent);&lt;br /&gt;
 llRemovePrimChild(prim child, prim parent);&lt;br /&gt;
   // Adds or removes a given child prim to the given parent prim. This seems to do the same as llSetPrimParent,&lt;br /&gt;
   // but there is a subtle difference. While a prim can only have one parent, it can have multiple children.&lt;br /&gt;
   // It is true that these can be used for most of the linkage, but the first prim in a chain never has a parent and to set this,&lt;br /&gt;
   // llSetPrimParent() is needed.&lt;br /&gt;
 llSetJointRotation(prim p, rotation rot);&lt;br /&gt;
   // This would set the angle between the given prim and it&#039;s parent. Thereby rotating it around the point where it meets it&#039;s parent.&lt;br /&gt;
 llSetSkinPoseRotation(prim p, rotation rot);&lt;br /&gt;
   // This would set a special angle value for the joint. It is called the skin pose, which is the rotation of the joint in a rest.&lt;br /&gt;
   // One might see the skin pose as the initial rotation or a rotation where you want the joint to reset to.&lt;br /&gt;
 llSetSkinPoseRotationAndPosition(prim p, rotation rot, vector pos, bool StretchConnectedPrims, bool MoveConnectedPrims);&lt;br /&gt;
   // Sometimes, it might be needed to also set the position of a child prim and stretch or move other prims accordingly.&lt;br /&gt;
 llSetSkinPose(prim p);&lt;br /&gt;
   // This is a command travels through the entire hierarchy and resets all the joints to their skin pose.&lt;br /&gt;
   // This should be just a bit faster than explicitly setting each joint to its skin pose from a script loop.&lt;br /&gt;
 llSetJointOmega(prim p, vector v, float speed, float time);&lt;br /&gt;
   // Like llSetTargetOmega(), but this one takes into account, the rotation of all the child prims.&lt;br /&gt;
   // By keeping two different commands for this, and the parent-child relationship needing probably a lot of extra code, it is&lt;br /&gt;
   // probably better to keep the function this one offers seperated from the existing llSetTargetOmega().&lt;br /&gt;
&lt;br /&gt;
More such commands could probably be invented. This allows for easy multi axis rotation of objects like disco lights and lots of other designs which need extra flexibility. -Xoren Raymaker&lt;br /&gt;
&lt;br /&gt;
[[Category:Feature Requests]]&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Template:Open_Source_Participate_Box&amp;diff=80331</id>
		<title>Template:Open Source Participate Box</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Template:Open_Source_Participate_Box&amp;diff=80331"/>
		<updated>2008-07-24T08:06:00Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: Add a new way to participiate: set up a local version control repository, to keep track of code edits and branches&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;floatright&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;navbox&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[Open Source Portal]]&amp;lt;/center&amp;gt;&lt;br /&gt;
*[[Documentation|Learning the System]]&lt;br /&gt;
*&#039;&#039;&#039;[[Participating|Ways to Participate]]&#039;&#039;&#039;&lt;br /&gt;
** {{NavBullet|Downloading test builds|alt=Download a test build|indent=**|parent={{{parent}}}}}&lt;br /&gt;
** {{NavBullet|Developer communication tools|alt=Communicate|indent=**|parent={{{parent}}}}}&lt;br /&gt;
** {{NavBullet|Get source and compile|alt=Get source and compile|indent=**|parent={{{parent}}}}}&lt;br /&gt;
** {{NavBullet|Bug_Reporting_101|alt=File and vet bugs|indent=**|parent={{{parent}}}}}&lt;br /&gt;
** {{NavBullet|Feature requests|alt=File and refine feature requests|indent=**|parent={{{parent}}}}}&lt;br /&gt;
** {{NavBullet|Creating a version control repository|alt=Create a version control repository|indent=**|parent={{{parent}}}}}&lt;br /&gt;
** {{NavBullet|Submitting code|alt=Submit code|indent=**|parent={{{parent}}}}}&lt;br /&gt;
*** {{NavBullet|Crash Reports|alt=Crash reports|indent=**|parent={{{parent}}}}}&lt;br /&gt;
*** {{NavBullet|Implementing new features|alt=Implement new features|indent=**|parent={{{parent}}}}}&lt;br /&gt;
*** {{NavBullet|Profiling and Optimization|alt=Profiling and Optimization|indent=**|parent={{{parent}}}}}&lt;br /&gt;
*** {{NavBullet|Finding leaks|alt=Finding memory leaks|indent=**|parent={{{parent}}}}}&lt;br /&gt;
*** {{NavBullet|Source contributions|alt=Contributions|indent=**|parent={{{parent}}}}}&lt;br /&gt;
** {{NavBullet|Architecture Working Group|alt=Architecture Working Group|indent=**|parent={{{parent}}}}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;[[Category:Open Source Portal]]&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Participating&amp;diff=80323</id>
		<title>Participating</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Participating&amp;diff=80323"/>
		<updated>2008-07-24T07:54:18Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: Insert a new step - if you&amp;#039;re serious about editing the client source, you will need a version control repository&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{OSWikiContribBox}}&lt;br /&gt;
&lt;br /&gt;
Ways to partcipate&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;{{OSWiki|Downloading test builds|alt=Download a test build}}&#039;&#039;&#039; - try downloading and testing out the latest version of the software.&lt;br /&gt;
* &#039;&#039;&#039;{{OSWiki|Communication tools|alt=Communicate}}&#039;&#039;&#039; - Let us know what you think by email, on the forum, or IRC. If it&#039;s not working for you, try to get help there. If it is working for you, try helping someone who isn&#039;t having as much luck as you are. &lt;br /&gt;
* &#039;&#039;&#039;{{OSWiki|Get source and compile|alt=Get source and compile}}&#039;&#039;&#039; - Download and compile - even if you don&#039;t plan to develop, just the act of downloading and compiling can uncover problems. If the version you download doesn&#039;t build on your platform, file a bug.&lt;br /&gt;
* &#039;&#039;&#039;{{OSWiki|Bug_Reporting_101|alt=File and vet bugs}}&#039;&#039;&#039; - if you run into issues, look through the bug database and see if a bug has been filed. If so, vote for the issue to be fixed. If not, file the bug.  Vetting bugs is just as important (if not more so) than filing bugs. We need to know whether each bug that&#039;s been filed is a problem for one person, or a problem for many. Try reproducing some of the bugs that have been filed, and see if they are problems for you. If you can&#039;t figure out how to reproduce the problem, make a comment on the bug, asking the person to describe their problem in more detail.&lt;br /&gt;
* &#039;&#039;&#039;{{OSWiki|Feature requests|alt=File and refine feature requests}}&#039;&#039;&#039; - We&#039;re always looking for new ideas. Please let us know what you would like to see done. Also, features are more likely to get implemented if the description of the feature is clear. For a complicated feature, a link to a specification on the wiki is a great way to help flesh out the idea.&lt;br /&gt;
* &#039;&#039;&#039;{{OSWiki|Profiling and Optimization|alt=Profile and optimize}}&#039;&#039;&#039; - If you&#039;re interested in improving the performance of the software, take a look at these notes on how to profile and optimize code.&lt;br /&gt;
* &#039;&#039;&#039;{{OSWiki|Creating a version control repository|alt=Create a version control repository}}&#039;&#039;&#039; - if you make extensive changes to the source download packages, it is easy to lose track of what files you changed, as well as remembering what you did and when. A version control repository keeps track of these file changes for you automatically, and allows you to track your changes over time, create branches for different projects, and to revert to a previous state if you don&#039;t like the way a project is going.&lt;br /&gt;
* &#039;&#039;&#039;{{OSWiki|Submitting code|alt=Submit code}}&#039;&#039;&#039; - Submit code - if you have a piece of source code (be it a fix or a new feature) submit the patches in a way that makes it easy for the Lindens to incorporate them into the source code.&lt;br /&gt;
** &#039;&#039;&#039;{{OSWiki|Crash Reports|alt=Crash Reports}}&#039;&#039;&#039; - Fix bugs - the easiest way to get involved as a developer is to start fixing bugs. The top 10 viewer crashes and the top 5 Mac crashes are listed. These are the most likely patches to get accepted&lt;br /&gt;
** &#039;&#039;&#039;{{OSWiki|Implementing new features|alt=Implement new features}}&#039;&#039;&#039; - Implement new features - Of course, a really valuable way to contribute is to add a new feature. Try to work with the community and with Linden Lab in planning the feature before running off and implementing new things. Though we appreciate your hard work, we can&#039;t accept every new feature, since maintaining new features comes with a cost. Try thinking of ways to use APIs to make plugins, or perhaps propose new APIs to make the viewer more extensible, before adding new things to the core viewer.&lt;br /&gt;
* &#039;&#039;&#039;[[Architecture Working Group]]&#039;&#039;&#039; - Participate in the working group Linden Lab has established to help forge the future protocols and architecture for Second Life.&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Microsoft_Windows_Builds&amp;diff=79325</id>
		<title>Microsoft Windows Builds</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Microsoft_Windows_Builds&amp;diff=79325"/>
		<updated>2008-07-19T09:58:46Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: Soft Linden has said on SLDEV that VS2005 will become the standard with 1.21. Ref: Wed, Jul 9, 2008 at 11:43 AM, Re: [sldev] 1.20.12 build problem on Windows regarding STL...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{multi-lang}}&lt;br /&gt;
{{CompileNav}}&lt;br /&gt;
On Windows, there are several options on build (compile) environment of the Second Life.&lt;br /&gt;
&lt;br /&gt;
== Linden-Supported Compilers ==&lt;br /&gt;
For release branches up to 1.20, the single supported MSVS version is:&lt;br /&gt;
&lt;br /&gt;
* Visual Studio .NET 2003 Professional&lt;br /&gt;
&lt;br /&gt;
Build instructions are on: [[Compiling the viewer (MSVS2003)]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE, upcoming change:&#039;&#039;&#039; Soft Linden has reported on the SLDev mailing list that starting with client 1.21, VS 2005 will become the new standard.&lt;br /&gt;
&lt;br /&gt;
== Community Supported Compilers ==&lt;br /&gt;
&lt;br /&gt;
For release branches up to 1.20, it is generally possible to build under these compilers with little or no extra effort:&lt;br /&gt;
* Visual Studio 2005 Professional&lt;br /&gt;
* Visual C++ 2005 Express&lt;br /&gt;
* Visual Studio 2008&lt;br /&gt;
Build instructions are on: [[Compiling the viewer (MSVS2005)]].&lt;br /&gt;
&lt;br /&gt;
== Community Experimental Compilers ==&lt;br /&gt;
&lt;br /&gt;
=== Visual Studio 2008 and Visual C++ 2008 Express ===&lt;br /&gt;
&lt;br /&gt;
Visual Studio 2008 is in need of TLC:&lt;br /&gt;
* Visual Studio 2008&lt;br /&gt;
* Visual C++ 2008 Express&lt;br /&gt;
&lt;br /&gt;
Build instructions are on: [[Compiling the Viewer (MSVS2008)]].&lt;br /&gt;
&lt;br /&gt;
=== Cross compiling with gcc on Linux ===&lt;br /&gt;
&lt;br /&gt;
mingw is in need of TLC:&lt;br /&gt;
* i686-mingw&lt;br /&gt;
&lt;br /&gt;
Build instructions are on: [[Cross compiling the viewer (i686-mingw32)]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Compiling viewer]]&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2003)&amp;diff=79324</id>
		<title>Compiling the viewer (MSVS2003)</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2003)&amp;diff=79324"/>
		<updated>2008-07-19T09:38:43Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: /* Building */ further clarify, develop.py doesn&amp;#039;t apply to 1.20 and older&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
The following instructions are for compiling the Second Life viewer on Windows for Visual Studio .Net 2003.  If you are using more recent versions of Visual Studio, see [[Compiling the viewer (MSVS2005)]]. For other platforms including MacOS and Linux, see [[Compiling the viewer]].&lt;br /&gt;
&lt;br /&gt;
If you get lost, or these instructions are incomplete, see [[communication tools]] for a list of ways to get in touch with people that can help.&lt;br /&gt;
&lt;br /&gt;
== Development Environment ==&lt;br /&gt;
The following dev environment is what LL uses for Windows development.  There is no reason that the Second Life viewer can not be built using other environments, but it will take some extra work.&lt;br /&gt;
&lt;br /&gt;
(Instructions for building the viewer using Microsoft&#039;s Visual Studio .NET 2005 Express can be found [[Compiling the viewer (MSVS2005)|on another page]]. At the time of writing, Express was freely available.)&lt;br /&gt;
&lt;br /&gt;
=== Visual Studio .NET 2003 Professional ===&lt;br /&gt;
* Setup [[Microsoft Visual Studio]].&lt;br /&gt;
&lt;br /&gt;
* Optional: If you wish to save disk space, consider the below. Otherwise, the default VS2003 install options are fine:&lt;br /&gt;
   It is not necessary to install every possible VS2003 component to compile the client source.&lt;br /&gt;
   &lt;br /&gt;
   For the installation prerequisites, it is not necessary to install the Internet Information Server (IIS) or SQL Server 2000.&lt;br /&gt;
   &lt;br /&gt;
   Only the following components are absolutely needed in VS2003:&lt;br /&gt;
   &lt;br /&gt;
   Visual Studio .NET Professional (Required)&amp;lt;br&amp;gt;&lt;br /&gt;
   1.2 Visual C++ .NET&amp;lt;br&amp;gt;&lt;br /&gt;
   1.2.1 Visual C++ Class &amp;amp; Template Libraries&amp;lt;br&amp;gt;&lt;br /&gt;
   1.2.2 Visual C++ Run-Time Libraries&amp;lt;br&amp;gt;&lt;br /&gt;
   1.2.2.1 Visual C++ Dynamic CRT Libraries&amp;lt;br&amp;gt;&lt;br /&gt;
   1.2.2.2 Visual C++ CRT Source Code&amp;lt;br&amp;gt;&lt;br /&gt;
   1.2.2.3 Visual C++ Static Single-Threaded CRT Libraries&amp;lt;br&amp;gt;&lt;br /&gt;
   1.2.2.4 Visual C++ Static Multi-Threaded CRT Libraries&amp;lt;br&amp;gt;&lt;br /&gt;
   1.2.3 Visual C++ Tools&amp;lt;br&amp;gt;&lt;br /&gt;
   1.2.3.2 Spy++&amp;lt;br&amp;gt;&lt;br /&gt;
   1.2.3.5 Visual C++ Error Lookup&amp;lt;br&amp;gt;&lt;br /&gt;
   1.6 Tools for Redistributing Applications&amp;lt;br&amp;gt;&lt;br /&gt;
   1.6.1 Graphics Library&amp;lt;br&amp;gt;&lt;br /&gt;
   1.6.2 Redistributable Merge Modules&lt;br /&gt;
&lt;br /&gt;
=== Other Development Tools === &lt;br /&gt;
You will also need some open source development tools.&lt;br /&gt;
==== Required ====&lt;br /&gt;
* [http://www.cmake.org/ CMake 2.4.8]&lt;br /&gt;
* [http://www.cygwin.com/ Cygwin]&lt;br /&gt;
** When you run the cygwin setup utility make sure you have selected to install &#039;&#039;&#039;patchutils&#039;&#039;&#039;, &#039;&#039;&#039;flex&#039;&#039;&#039;, and &#039;&#039;&#039;bison&#039;&#039;&#039; (all located under &amp;quot;devel&amp;quot;) which are not part of the default install. Older releases (&amp;lt; r79209) had several hardcoded references that expect Cygwin to be installed at &#039;&#039;&#039;C:\cygwin&#039;&#039;&#039; in the project files, however current releases rely on the build environment configuration instead.&lt;br /&gt;
* [http://www.activestate.com/Products/ActivePython/?mp=1 ActivePython 2.3x or later] - Latest Version is 2.5.1.1&lt;br /&gt;
** You should install this if compiling 1.18 or later viewers, or else hack the prebuild .bat files as in [http://jira.secondlife.com/browse/VWR-1267 VWR-1267].&lt;br /&gt;
==== Optional ====&lt;br /&gt;
* ActivePerl was recommended for previous versions on this Wiki, but it currently appears that it is not strictly necessary unless you are planning to build your own version of all libraries (which most likely you don&#039;t want to do).  So for a start it may be safe to skip it.&lt;br /&gt;
*: [http://www.activestate.com/Products/ActivePerl/?mp=1 ActivePerl]&lt;br /&gt;
&lt;br /&gt;
== Source Code ==&lt;br /&gt;
The easiest way to get this working is to get &#039;&#039;&#039;source&#039;&#039;&#039;, &#039;&#039;&#039;artwork&#039;&#039;&#039; and &#039;&#039;&#039;libraries&#039;&#039;&#039; for the same version from the [[source downloads]] page and unpack them all into the same directory/folder, which ideally would be a folder in (or near) the root directory with a short name like &#039;&#039;sl_1_16_0_5&#039;&#039;.&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Avoid folder names with spaces in them (this means avoid putting the project into your &#039;&#039;My Documents&#039;&#039; folder).&lt;br /&gt;
&lt;br /&gt;
== Open Source Libraries ==&lt;br /&gt;
&lt;br /&gt;
Some libraries can be distributed with the SL source and there is a library package available with the source.  As mentioned above (about the source), you can simply extract the &#039;&#039;&#039;library&#039;&#039;&#039; archive and copy the files to your code directory, maintaining the same directory structure.  &lt;br /&gt;
&lt;br /&gt;
If instead you are interested in compiling these libraries from their source (instead of using the above zip file of precompiled libraries provided by Linden Lab), see [[Compiling the viewer libraries (MSVS 2003)]]&lt;br /&gt;
&lt;br /&gt;
== Other Libraries ==&lt;br /&gt;
&lt;br /&gt;
Linden Lab included all the libraries/includes they can ship with their source, but we can not distribute the source to the following, and you will need to follow the instructions to acquire them, below.&lt;br /&gt;
&lt;br /&gt;
These steps are cumbersome and will have to be repeated for each new release (if you keep the source for each release in it&#039;s own folder).  It is a good idea to build an empty directory tree for the files below, then copy these library files there.  Once completed, copy the whole tree to the actual source folder (like &#039;&#039;XCOPY  olibs  sl_1_16_0_5 /S&#039;&#039;).  You will then only need to repeat the last step for each new release, reusing the tree you have already created.&lt;br /&gt;
&lt;br /&gt;
If you do not want to do this, of course you can just copy the files directly into the linden source paths.&lt;br /&gt;
&lt;br /&gt;
 rem OLIBS.CMD to build a folder tree for 3rd party libraries and includes&lt;br /&gt;
 md olibs&lt;br /&gt;
 md olibs\linden\&lt;br /&gt;
 md olibs\linden\libraries&lt;br /&gt;
 md olibs\linden\libraries\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_release&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_debug&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\GL&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\quicktime&lt;br /&gt;
 md olibs\linden\indra&lt;br /&gt;
 md olibs\linden\indra\newview&lt;br /&gt;
&lt;br /&gt;
==== Fmod ====&lt;br /&gt;
* Download &amp;amp; extract [http://www.fmod.org/index.php/download fmod 3.75 api for win32] (&#039;&#039;not&#039;&#039; 4.12).&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod_errors.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\lib\fmodvc.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\lib\fmodvc.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\fmod.dll&amp;quot; to &amp;quot;linden\indra\newview&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== gl (pre-1.20) ====&lt;br /&gt;
* Download [http://oss.sgi.com/projects/ogl-sample/sdk.html glext.h, glxext.h, and wglext.h]&lt;br /&gt;
* Copy them to &amp;quot;linden\libraries\i686-win32\include\GL&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note: From 1.20 forward, LL have found suitable redistributable equivalents and ship them in the source&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Quicktime (Optional) ====&lt;br /&gt;
* &#039;&#039;&#039;Note:&#039;&#039;&#039; Quicktime download can be skipped &#039;&#039;&#039;if you can live with a build that does not play in-world movies&#039;&#039;&#039; (some minor modifications to the project are necessary then, see &amp;quot;QuickTime removal&amp;quot; on the build instructions for [[Compiling the viewer (MSVS2005)|Visual Studio 2005]]).&lt;br /&gt;
* Download &amp;amp; install the [http://developer.apple.com/quicktime/download/ Quicktime SDK for Windows]&lt;br /&gt;
* Copy &amp;quot;QuicktimeSDK\Libraries\QTMLClient.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot;.&lt;br /&gt;
* Copy &amp;quot;QuicktimeSDK\Libraries\QTMLClient.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
* Copy the contents of &amp;quot;QuicktimeSDK\CIncludes&amp;quot; into &amp;quot;linden\libraries\i686-win32\include\quicktime&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
* &#039;&#039;&#039;For Viewer build versions 1.21 and newer,&#039;&#039;&#039; go into the &#039;&#039;&#039;indra&#039;&#039;&#039; folder, and run the &#039;&#039;&#039;develop.py&#039;&#039;&#039; script. (This step does not apply to build version 1.20 and older.)&lt;br /&gt;
* Open the &#039;&#039;&#039;indra\build-vc71\SecondLife.sln&#039;&#039;&#039; solution in Visual Studio&lt;br /&gt;
* Build either &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; (for debugging) or &#039;&#039;&#039;Release&#039;&#039;&#039; (for running or debugging production code).  See [[#Configurations/Debugging Info]] for details on these configurations.&lt;br /&gt;
** Note that the Release build also contains debug information, and can be run in the debugger.&lt;br /&gt;
* To run the executable outside VS, create a shortcut to SecondLife.exe, and change the start location to linden\indra\newview\ (all the .dll will be found there.)&lt;br /&gt;
** Alternately, copy the exe (possibly rename it) to your &amp;quot;c:\program files\second life&amp;quot; folder.&lt;br /&gt;
* There were additional steps required in version 1.15 which seem to be fixed now.  If you are trying to build 1.15 see an [https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_%28MSVS2003%29&amp;amp;oldid=23026 older version of this page].&lt;br /&gt;
&lt;br /&gt;
== Errors while building? ==&lt;br /&gt;
See [[Common compilation problems]] if you run into errors while building.&lt;br /&gt;
&lt;br /&gt;
== Configurations/Debugging Info ==&lt;br /&gt;
* You will usually compile/debug the &#039;&#039;&#039;RelWithDebInfo&#039;&#039;&#039; or Release configuration (&#039;&#039;&#039;Debug&#039;&#039;&#039; should also work but should not really be necessary).&lt;br /&gt;
* &#039;&#039;&#039;RelWithDebInfo&#039;&#039;&#039; compiles faster and has more debugging information, but this comes at a runtime penalty of about 50% of your FPS in busy areas, compared to ReleaseForDownload build.&lt;br /&gt;
* &#039;&#039;&#039;Release&#039;&#039;&#039; runs fine in the debugger, but times you may miss debugger access to some local variables or the debugger may even show wrong values for objects and members, because it is confused by the optimizations.&lt;br /&gt;
* &#039;&#039;&#039;RelWithDebInfo&#039;&#039;&#039; comes with a seperate debugging console window opens and stays open for the duration of your session.&lt;br /&gt;
* You can see the last few lines from the debugger console also by pressing Shift+Ctrl+4 in the viewer (all builds).&lt;br /&gt;
* The debug log (usually in application data) can also be redirected to a more file if you add &amp;quot;-log secondlife.log&amp;quot; to the command line (Newview, Properties, Debugging, Command line arguments).&lt;br /&gt;
* If you want to build a &#039;&#039;&#039;Debug&#039;&#039;&#039; configuration, see the specific section with compile instructions on [[Finding_leaks]]&lt;br /&gt;
&lt;br /&gt;
== Problems Running? ==&lt;br /&gt;
* Viewer Error: &#039;&#039;&#039;Second Life is unable to access a file that it needs.&#039;&#039;&#039;:  Did you neglect to download the Artworks archive from the [[source downloads]] page?  It is in the Viewer column, below the OS-specific Viewer archives.&lt;br /&gt;
* &#039;&#039;&#039;Can&#039;t connect&#039;&#039;&#039;: In the debug builds there is a selection box on the login screen to select the server to connect to.  &#039;&#039;&#039;Agni&#039;&#039;&#039; is the production grid, &#039;&#039;&#039;aditi&#039;&#039;&#039; is the beta grid.  (There seems to be a bug in this part of the code, you may have to make your selection, close the viewer and reopen it, before you can connect to the selected grid).&lt;br /&gt;
* &#039;&#039;&#039;Inventory errors&#039;&#039;&#039;: If you&#039;re getting errors while trying to load your inventory, try [[Help:Stuck logging in|clearing your cache and deleting other temporary files]].&lt;br /&gt;
* If you want to connect to the beta grid, add &#039;&#039;&#039;--aditi&#039;&#039;&#039; to the command line (Newview, Properties, Debugging, Command line argument).&lt;br /&gt;
* &#039;&#039;&#039;Missing smime3 DLL&#039;&#039;&#039;: Those are parts of the integrated web browser.  Copy &#039;smime3.dll&#039;, &#039;nss3.dll&#039;, &#039;softokn3.dll&#039;, and &#039;ssl3.dll&#039; files from your official client&#039;s main folder to &amp;quot;linden\indra\newview&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;assert with star_brightness&#039;&#039;&#039; and/or &#039;&#039;&#039;Black Screen&#039;&#039;&#039; under &#039;&#039;&#039;Windlight&#039;&#039;&#039;: Current distributions of the Windlight source are missing files from the app_settings/windlight folder.  Download the Linden Windlight viewer, install it and copy the files (and subfolders) into your development environment (linden/indra/newview/app_settings/windlight)&lt;br /&gt;
&lt;br /&gt;
== Submit Patches ==&lt;br /&gt;
This is probably far down the road, but if you make changes to the source and want to submit them, see the page about [[Submitting patches|submitting patches]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Compiling viewer]]&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2003)&amp;diff=79323</id>
		<title>Compiling the viewer (MSVS2003)</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2003)&amp;diff=79323"/>
		<updated>2008-07-19T09:35:51Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: /* Building */ Clarify that develop.py is for the newest 1.21 builds --- Ref: Soft Linden, SLDEV list, Sat, Jun 28, 2008 at 9:09 AM, Re: [sldev] Compiling/VS2003: Where is develop.py ?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
The following instructions are for compiling the Second Life viewer on Windows for Visual Studio .Net 2003.  If you are using more recent versions of Visual Studio, see [[Compiling the viewer (MSVS2005)]]. For other platforms including MacOS and Linux, see [[Compiling the viewer]].&lt;br /&gt;
&lt;br /&gt;
If you get lost, or these instructions are incomplete, see [[communication tools]] for a list of ways to get in touch with people that can help.&lt;br /&gt;
&lt;br /&gt;
== Development Environment ==&lt;br /&gt;
The following dev environment is what LL uses for Windows development.  There is no reason that the Second Life viewer can not be built using other environments, but it will take some extra work.&lt;br /&gt;
&lt;br /&gt;
(Instructions for building the viewer using Microsoft&#039;s Visual Studio .NET 2005 Express can be found [[Compiling the viewer (MSVS2005)|on another page]]. At the time of writing, Express was freely available.)&lt;br /&gt;
&lt;br /&gt;
=== Visual Studio .NET 2003 Professional ===&lt;br /&gt;
* Setup [[Microsoft Visual Studio]].&lt;br /&gt;
&lt;br /&gt;
* Optional: If you wish to save disk space, consider the below. Otherwise, the default VS2003 install options are fine:&lt;br /&gt;
   It is not necessary to install every possible VS2003 component to compile the client source.&lt;br /&gt;
   &lt;br /&gt;
   For the installation prerequisites, it is not necessary to install the Internet Information Server (IIS) or SQL Server 2000.&lt;br /&gt;
   &lt;br /&gt;
   Only the following components are absolutely needed in VS2003:&lt;br /&gt;
   &lt;br /&gt;
   Visual Studio .NET Professional (Required)&amp;lt;br&amp;gt;&lt;br /&gt;
   1.2 Visual C++ .NET&amp;lt;br&amp;gt;&lt;br /&gt;
   1.2.1 Visual C++ Class &amp;amp; Template Libraries&amp;lt;br&amp;gt;&lt;br /&gt;
   1.2.2 Visual C++ Run-Time Libraries&amp;lt;br&amp;gt;&lt;br /&gt;
   1.2.2.1 Visual C++ Dynamic CRT Libraries&amp;lt;br&amp;gt;&lt;br /&gt;
   1.2.2.2 Visual C++ CRT Source Code&amp;lt;br&amp;gt;&lt;br /&gt;
   1.2.2.3 Visual C++ Static Single-Threaded CRT Libraries&amp;lt;br&amp;gt;&lt;br /&gt;
   1.2.2.4 Visual C++ Static Multi-Threaded CRT Libraries&amp;lt;br&amp;gt;&lt;br /&gt;
   1.2.3 Visual C++ Tools&amp;lt;br&amp;gt;&lt;br /&gt;
   1.2.3.2 Spy++&amp;lt;br&amp;gt;&lt;br /&gt;
   1.2.3.5 Visual C++ Error Lookup&amp;lt;br&amp;gt;&lt;br /&gt;
   1.6 Tools for Redistributing Applications&amp;lt;br&amp;gt;&lt;br /&gt;
   1.6.1 Graphics Library&amp;lt;br&amp;gt;&lt;br /&gt;
   1.6.2 Redistributable Merge Modules&lt;br /&gt;
&lt;br /&gt;
=== Other Development Tools === &lt;br /&gt;
You will also need some open source development tools.&lt;br /&gt;
==== Required ====&lt;br /&gt;
* [http://www.cmake.org/ CMake 2.4.8]&lt;br /&gt;
* [http://www.cygwin.com/ Cygwin]&lt;br /&gt;
** When you run the cygwin setup utility make sure you have selected to install &#039;&#039;&#039;patchutils&#039;&#039;&#039;, &#039;&#039;&#039;flex&#039;&#039;&#039;, and &#039;&#039;&#039;bison&#039;&#039;&#039; (all located under &amp;quot;devel&amp;quot;) which are not part of the default install. Older releases (&amp;lt; r79209) had several hardcoded references that expect Cygwin to be installed at &#039;&#039;&#039;C:\cygwin&#039;&#039;&#039; in the project files, however current releases rely on the build environment configuration instead.&lt;br /&gt;
* [http://www.activestate.com/Products/ActivePython/?mp=1 ActivePython 2.3x or later] - Latest Version is 2.5.1.1&lt;br /&gt;
** You should install this if compiling 1.18 or later viewers, or else hack the prebuild .bat files as in [http://jira.secondlife.com/browse/VWR-1267 VWR-1267].&lt;br /&gt;
==== Optional ====&lt;br /&gt;
* ActivePerl was recommended for previous versions on this Wiki, but it currently appears that it is not strictly necessary unless you are planning to build your own version of all libraries (which most likely you don&#039;t want to do).  So for a start it may be safe to skip it.&lt;br /&gt;
*: [http://www.activestate.com/Products/ActivePerl/?mp=1 ActivePerl]&lt;br /&gt;
&lt;br /&gt;
== Source Code ==&lt;br /&gt;
The easiest way to get this working is to get &#039;&#039;&#039;source&#039;&#039;&#039;, &#039;&#039;&#039;artwork&#039;&#039;&#039; and &#039;&#039;&#039;libraries&#039;&#039;&#039; for the same version from the [[source downloads]] page and unpack them all into the same directory/folder, which ideally would be a folder in (or near) the root directory with a short name like &#039;&#039;sl_1_16_0_5&#039;&#039;.&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Avoid folder names with spaces in them (this means avoid putting the project into your &#039;&#039;My Documents&#039;&#039; folder).&lt;br /&gt;
&lt;br /&gt;
== Open Source Libraries ==&lt;br /&gt;
&lt;br /&gt;
Some libraries can be distributed with the SL source and there is a library package available with the source.  As mentioned above (about the source), you can simply extract the &#039;&#039;&#039;library&#039;&#039;&#039; archive and copy the files to your code directory, maintaining the same directory structure.  &lt;br /&gt;
&lt;br /&gt;
If instead you are interested in compiling these libraries from their source (instead of using the above zip file of precompiled libraries provided by Linden Lab), see [[Compiling the viewer libraries (MSVS 2003)]]&lt;br /&gt;
&lt;br /&gt;
== Other Libraries ==&lt;br /&gt;
&lt;br /&gt;
Linden Lab included all the libraries/includes they can ship with their source, but we can not distribute the source to the following, and you will need to follow the instructions to acquire them, below.&lt;br /&gt;
&lt;br /&gt;
These steps are cumbersome and will have to be repeated for each new release (if you keep the source for each release in it&#039;s own folder).  It is a good idea to build an empty directory tree for the files below, then copy these library files there.  Once completed, copy the whole tree to the actual source folder (like &#039;&#039;XCOPY  olibs  sl_1_16_0_5 /S&#039;&#039;).  You will then only need to repeat the last step for each new release, reusing the tree you have already created.&lt;br /&gt;
&lt;br /&gt;
If you do not want to do this, of course you can just copy the files directly into the linden source paths.&lt;br /&gt;
&lt;br /&gt;
 rem OLIBS.CMD to build a folder tree for 3rd party libraries and includes&lt;br /&gt;
 md olibs&lt;br /&gt;
 md olibs\linden\&lt;br /&gt;
 md olibs\linden\libraries&lt;br /&gt;
 md olibs\linden\libraries\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_release&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_debug&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\GL&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\quicktime&lt;br /&gt;
 md olibs\linden\indra&lt;br /&gt;
 md olibs\linden\indra\newview&lt;br /&gt;
&lt;br /&gt;
==== Fmod ====&lt;br /&gt;
* Download &amp;amp; extract [http://www.fmod.org/index.php/download fmod 3.75 api for win32] (&#039;&#039;not&#039;&#039; 4.12).&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod_errors.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\lib\fmodvc.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\lib\fmodvc.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\fmod.dll&amp;quot; to &amp;quot;linden\indra\newview&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== gl (pre-1.20) ====&lt;br /&gt;
* Download [http://oss.sgi.com/projects/ogl-sample/sdk.html glext.h, glxext.h, and wglext.h]&lt;br /&gt;
* Copy them to &amp;quot;linden\libraries\i686-win32\include\GL&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note: From 1.20 forward, LL have found suitable redistributable equivalents and ship them in the source&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Quicktime (Optional) ====&lt;br /&gt;
* &#039;&#039;&#039;Note:&#039;&#039;&#039; Quicktime download can be skipped &#039;&#039;&#039;if you can live with a build that does not play in-world movies&#039;&#039;&#039; (some minor modifications to the project are necessary then, see &amp;quot;QuickTime removal&amp;quot; on the build instructions for [[Compiling the viewer (MSVS2005)|Visual Studio 2005]]).&lt;br /&gt;
* Download &amp;amp; install the [http://developer.apple.com/quicktime/download/ Quicktime SDK for Windows]&lt;br /&gt;
* Copy &amp;quot;QuicktimeSDK\Libraries\QTMLClient.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot;.&lt;br /&gt;
* Copy &amp;quot;QuicktimeSDK\Libraries\QTMLClient.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
* Copy the contents of &amp;quot;QuicktimeSDK\CIncludes&amp;quot; into &amp;quot;linden\libraries\i686-win32\include\quicktime&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
* &#039;&#039;&#039;For Viewer build versions 1.21 and newer,&#039;&#039;&#039; go into the &#039;&#039;&#039;indra&#039;&#039;&#039; folder, and run the &#039;&#039;&#039;develop.py&#039;&#039;&#039; script.&lt;br /&gt;
* Open the &#039;&#039;&#039;indra\build-vc71\SecondLife.sln&#039;&#039;&#039; solution in Visual Studio&lt;br /&gt;
* Build either &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; (for debugging) or &#039;&#039;&#039;Release&#039;&#039;&#039; (for running or debugging production code).  See [[#Configurations/Debugging Info]] for details on these configurations.&lt;br /&gt;
** Note that the Release build also contains debug information, and can be run in the debugger.&lt;br /&gt;
* To run the executable outside VS, create a shortcut to SecondLife.exe, and change the start location to linden\indra\newview\ (all the .dll will be found there.)&lt;br /&gt;
** Alternately, copy the exe (possibly rename it) to your &amp;quot;c:\program files\second life&amp;quot; folder.&lt;br /&gt;
* There were additional steps required in version 1.15 which seem to be fixed now.  If you are trying to build 1.15 see an [https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_%28MSVS2003%29&amp;amp;oldid=23026 older version of this page].&lt;br /&gt;
&lt;br /&gt;
== Errors while building? ==&lt;br /&gt;
See [[Common compilation problems]] if you run into errors while building.&lt;br /&gt;
&lt;br /&gt;
== Configurations/Debugging Info ==&lt;br /&gt;
* You will usually compile/debug the &#039;&#039;&#039;RelWithDebInfo&#039;&#039;&#039; or Release configuration (&#039;&#039;&#039;Debug&#039;&#039;&#039; should also work but should not really be necessary).&lt;br /&gt;
* &#039;&#039;&#039;RelWithDebInfo&#039;&#039;&#039; compiles faster and has more debugging information, but this comes at a runtime penalty of about 50% of your FPS in busy areas, compared to ReleaseForDownload build.&lt;br /&gt;
* &#039;&#039;&#039;Release&#039;&#039;&#039; runs fine in the debugger, but times you may miss debugger access to some local variables or the debugger may even show wrong values for objects and members, because it is confused by the optimizations.&lt;br /&gt;
* &#039;&#039;&#039;RelWithDebInfo&#039;&#039;&#039; comes with a seperate debugging console window opens and stays open for the duration of your session.&lt;br /&gt;
* You can see the last few lines from the debugger console also by pressing Shift+Ctrl+4 in the viewer (all builds).&lt;br /&gt;
* The debug log (usually in application data) can also be redirected to a more file if you add &amp;quot;-log secondlife.log&amp;quot; to the command line (Newview, Properties, Debugging, Command line arguments).&lt;br /&gt;
* If you want to build a &#039;&#039;&#039;Debug&#039;&#039;&#039; configuration, see the specific section with compile instructions on [[Finding_leaks]]&lt;br /&gt;
&lt;br /&gt;
== Problems Running? ==&lt;br /&gt;
* Viewer Error: &#039;&#039;&#039;Second Life is unable to access a file that it needs.&#039;&#039;&#039;:  Did you neglect to download the Artworks archive from the [[source downloads]] page?  It is in the Viewer column, below the OS-specific Viewer archives.&lt;br /&gt;
* &#039;&#039;&#039;Can&#039;t connect&#039;&#039;&#039;: In the debug builds there is a selection box on the login screen to select the server to connect to.  &#039;&#039;&#039;Agni&#039;&#039;&#039; is the production grid, &#039;&#039;&#039;aditi&#039;&#039;&#039; is the beta grid.  (There seems to be a bug in this part of the code, you may have to make your selection, close the viewer and reopen it, before you can connect to the selected grid).&lt;br /&gt;
* &#039;&#039;&#039;Inventory errors&#039;&#039;&#039;: If you&#039;re getting errors while trying to load your inventory, try [[Help:Stuck logging in|clearing your cache and deleting other temporary files]].&lt;br /&gt;
* If you want to connect to the beta grid, add &#039;&#039;&#039;--aditi&#039;&#039;&#039; to the command line (Newview, Properties, Debugging, Command line argument).&lt;br /&gt;
* &#039;&#039;&#039;Missing smime3 DLL&#039;&#039;&#039;: Those are parts of the integrated web browser.  Copy &#039;smime3.dll&#039;, &#039;nss3.dll&#039;, &#039;softokn3.dll&#039;, and &#039;ssl3.dll&#039; files from your official client&#039;s main folder to &amp;quot;linden\indra\newview&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;assert with star_brightness&#039;&#039;&#039; and/or &#039;&#039;&#039;Black Screen&#039;&#039;&#039; under &#039;&#039;&#039;Windlight&#039;&#039;&#039;: Current distributions of the Windlight source are missing files from the app_settings/windlight folder.  Download the Linden Windlight viewer, install it and copy the files (and subfolders) into your development environment (linden/indra/newview/app_settings/windlight)&lt;br /&gt;
&lt;br /&gt;
== Submit Patches ==&lt;br /&gt;
This is probably far down the road, but if you make changes to the source and want to submit them, see the page about [[Submitting patches|submitting patches]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Compiling viewer]]&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Is_it_up_to_date%3F&amp;diff=76463</id>
		<title>Is it up to date?</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Is_it_up_to_date%3F&amp;diff=76463"/>
		<updated>2008-07-05T20:26:45Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: Add list of maintenance categories in the SL wiki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Second Life is a continuously innovating service (aka &#039;&#039;forever beta&#039;&#039;.)  Something appropriate yesturday may not today.  Although the [http://secondlife.com Second Life official web site] is maintained by paid Linden employees in timely mannar, this [http://wiki.secondlife.com Second Life wiki] is maintained by the community primarily as a voluntary activity.  As a result, some pages of this wiki carry out-of-date information. &lt;br /&gt;
&lt;br /&gt;
What should we do, then?&lt;br /&gt;
&lt;br /&gt;
== Checking Maintenance Tags ==&lt;br /&gt;
Many categories exist for classifying pages in need of updating or improvement. As of July 5th, 2008, this list covered:&lt;br /&gt;
&lt;br /&gt;
*[[:Category:Articles for Spanish translation]]&lt;br /&gt;
*[[:Category:Articles in need of expansion]]&lt;br /&gt;
*[[:Category:Articles in need of expansion/fr]]&lt;br /&gt;
*[[:Category:Articles in need of updating]]&lt;br /&gt;
*[[:Category:Articles with vital information missing]]&lt;br /&gt;
*[[:Category:Duplicated Images]]&lt;br /&gt;
*[[:Category:Feature Requests]]&lt;br /&gt;
*[[:Category:Images better suited as PNG]]&lt;br /&gt;
*[[:Category:Images better suited as SVG]]&lt;br /&gt;
*[[:Category:Images better suited as text]]&lt;br /&gt;
*[[:Category:Images that trigger MediaWiki errors]]&lt;br /&gt;
*[[:Category:LSL FixMe]]&lt;br /&gt;
*[[:Category:LSL FixMe/fr]]&lt;br /&gt;
*[[:Category:LSL FixMe/ja]]&lt;br /&gt;
*[[:Category:LSL Needs Example]]&lt;br /&gt;
*[[:Category:LSL Needs Example/fr]]&lt;br /&gt;
*[[:Category:LSL Needs Example/ja]]&lt;br /&gt;
*[[:Category:LSL Needs Example/nl]]&lt;br /&gt;
*[[:Category:LSL Needs Example/pl]]&lt;br /&gt;
*[[:Category:LSL Needs Example/pt]]&lt;br /&gt;
*[[:Category:LSL WishList]]&lt;br /&gt;
*[[:Category:Templates in need of documentation]]&lt;br /&gt;
*[[:Category:Tutorial stubs]]&lt;br /&gt;
*[[:Category:Workarounds]]&lt;br /&gt;
&lt;br /&gt;
== Checking last modified date ==&lt;br /&gt;
&lt;br /&gt;
On the bottom of every page, there is a &#039;&#039;foot bar&#039;&#039; highlighted with two orange lines.  Contained there is the last modified date of the page.  It is automatically generated by the system and is reliable.&lt;br /&gt;
&lt;br /&gt;
You can get a brief idea how old the page is, hence the information contained is.  For example, a page says something like &amp;quot;this will be fixed very soon&amp;quot;, and the last modified date is March 2007, the best bet is &amp;quot;it is already fixed.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Checking other readers&#039; comments ==&lt;br /&gt;
&lt;br /&gt;
On the top of each page, there will be a &#039;&#039;&#039;discussion&#039;&#039;&#039; tab.  If the word &amp;quot;discussion&amp;quot; is in blue, there are some comments and discussions regarding the content of the page.  You can read it by clicking on it.  The discussion page may contain something related to freshness of the content.  (As a convention, each comment on the discussion page has a timestamp, so you should not worry about when a comment was made.  If you find some important comment without the timestamp, you can even check the history of the discussion page.  See below.) &lt;br /&gt;
&lt;br /&gt;
== Checking page history ==&lt;br /&gt;
&lt;br /&gt;
On the top of every page, there is a &#039;&#039;&#039;history&#039;&#039;&#039; tab.  Clicking it shows you the recent page editing history.  The important part of this page, in this context, is the date of each edit.  Clicking on a date in the list shows you the past page of the date, so you can see what the page said on the particular date.&lt;br /&gt;
&lt;br /&gt;
If something on the page was not in a particular older day, that means the part is added more recently than the date.  If it was, the part is older than the date.  You can get more detailed idea how old some particular information on the page is.&lt;br /&gt;
&lt;br /&gt;
A typical pattern of the page edit is something like: several edits in a short period of time (say, five edits in two days), then some long pause (say, two months), then several edits, ...  Mediawiki allows you to compare versions of a page in two particular dates, giving you an idea what changes are made in a series of edits.  You can use radio buttons on the list to specify two particular versions of the page and &#039;&#039;&#039;Compare selected versions&#039;&#039;&#039; button to see the changes between two dates.  (The UI to do this seems somewhat complicated, IMHO, so you need to try and see how it works...)&lt;br /&gt;
&lt;br /&gt;
== Leaving comments ==&lt;br /&gt;
&lt;br /&gt;
When you find whole or parts of a page is out-of-date, it is a good idea to leave your findings as a comment for future readers.  (Remember, this is a community supported wiki, and wiki contents are maintained this way.)&lt;br /&gt;
&lt;br /&gt;
If you are sure something on this wiki is out-of-date and is inappropriate for the latest Second Life, you can add a comment to say so.  For example, &amp;quot;(this is fixed before June 2008)&amp;quot; or &amp;quot;(this is not applicable to the Second Life 2008 or later.)&amp;quot;  If you feel that particular out-of-date part has no value to be there, you can update the text to reflect the latest condition or even delete the applicable sentences/paragraph as a whole.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can leave a comment on a &#039;&#039;&#039;discussion&#039;&#039;&#039; page.  This is a better way when you are not very sure.&lt;br /&gt;
&lt;br /&gt;
== Marking a page as out-of-date ==&lt;br /&gt;
&lt;br /&gt;
If you find entire contents of a page is out-of-date and no value to be there, there are several ways you can do.&lt;br /&gt;
&lt;br /&gt;
* You can add something to say &amp;quot;This page is out-of-date&amp;quot; on the top of a page, keeping the page content as-is.&lt;br /&gt;
* You can add [[Template:Delete]] to request a deletion of the page.  (Non Linden residents are not allowed to delete an existing page on this wiki.)&lt;br /&gt;
* You can erase entire content of the page.&lt;br /&gt;
&lt;br /&gt;
Unless there are special circumstances, the first method is recommended.  You can use [[Template:Old-info]] for the purpose.&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=SLDEV_Discussion_-_Texture_Cache_Plan_of_Attack&amp;diff=75136</id>
		<title>SLDEV Discussion - Texture Cache Plan of Attack</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=SLDEV_Discussion_-_Texture_Cache_Plan_of_Attack&amp;diff=75136"/>
		<updated>2008-06-28T12:25:19Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: /* 1. Add separate UI controls for VFS and texture decode caches */ add descriptions of new widgets&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ViewerArchNav|parent=Image System}}&lt;br /&gt;
&lt;br /&gt;
Discussion is underway in the SLDev Mailing List regarding options to overhaul the texture cache. Mostly the plan involves storing decompressed textures, rather than the JPG2000 compressed versions, which allows the Texture Fetch operations to skip the decode, which is currently the major bottleneck in the cache system. This article is for summarizing, planning, and status of this project. Please discuss via the SLDev mailing list.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
=== Current Implementation ===&lt;br /&gt;
Currently, the client will download uncached JPG2000 textures from the region/asset servers, progressively decode and apply them to the faces rendered in whatever quality level is currently available. As more data is downloaded, it is further decoded, and the quality rendered goes up. Textures are cached in a three-part system sharing space with the [[VFS]], described in the [[Texture Cache]] article. &lt;br /&gt;
&lt;br /&gt;
=== New Plan ===&lt;br /&gt;
The discussion on the SLDev list has been very helpful in nailing down ways to improve the cache. The biggest change will be caching of textures in an un-compressed format - TGA or Raw - while preserving the existing obfuscation technique to prevent direct ripping of the cached images. In addition, the cache settings will be split into two separate caches - the VFS for objects that use it currently, and a completely new layer of cache exclusively for textures.&lt;br /&gt;
&lt;br /&gt;
== Steps ==&lt;br /&gt;
=== Rework Cache to store multiple formats ===&lt;br /&gt;
Currently, the texture cache can read TGA and JPG2000 files from the cache. However, it has no way to &#039;&#039;write&#039;&#039; TGA to the cache. The interface between llTextureFetch and llTextureCache will need to be refactored to support storing and retrieving in a format-agnostic way, allowing JPG2000, TGA, and Raw to exist simultaneously in the cache, with the possibility of adding others down the line if needed relatively easily.&lt;br /&gt;
&lt;br /&gt;
In short, the calls from llTextureFetch to llTextureCache, and the return data, should include a Format Identifier, a block of data for the image itself (in whatever format is indicated by the Format Identifier), and any other details that may be required such as data size, image dimensions, and (if necessary) color depth. llTexureCache should be able to store and retrieve this data in a format-agnostic way, ideally returning decoded data to llTextureFetch as a llRawImage object. Metadata would be stored in the cache index, discussed below, with the bulk of the data stored in the manner it is done now - subfolders with filenames equivalent to the UUID of the texture.&lt;br /&gt;
&lt;br /&gt;
=== Rework Cache Index for Greater Storage ===&lt;br /&gt;
Currently, the Texture Cache shares space with the VFS, and is limited to 800MB - 80% of the maximum total &amp;quot;cache size&amp;quot;, the other 20% of which is reserved for the VFS. With the cache capable of storing uncompressed files, it could grow much faster; and with the cost of disk space these days, limiting the cache to 1GB is ludicrously inadequate. A separate slider in the &amp;quot;Network&amp;quot; preferences tab should allow the individual specification of max VFS (&amp;quot;Object Cache&amp;quot;) and max Texture caches. In discussion, many commenters stated that they would allocate as much as 100GB to a texture cache. Aside from the speed benefit garnered from a larger cache, it also will dramatically reduce the amount of textures that would need to be re-downloaded due to a lower cache discard rate.&lt;br /&gt;
&lt;br /&gt;
The Cache Index would store Metadata about the texture - the Format ID, the dimensions, file size, and color depth (if necessary), and, like the current cache index, would also have the first (arbitrary number of) bytes of the actual data - primarily for obfuscation purposes, to prevent the casual ripping of textures from the cache. Multiple copies of the same texture could be stored in the cache, in different formats - for example, stored as JPG2000 while progressively downloading, then stored in uncompressed format once complete. The Texture Fetcher would simply request a texture, and the cache would respond with the cached version available with the lowest CPU-overhead - Raw first, then TGA, then JPG2000, with the network fetch as the fail-through option. Ideally, once a texture has been downloaded completely and decoded, it would be stored as a Raw image, and the JPG2000 version would be marked as &amp;quot;expired&amp;quot; or otherwise scheduled for purging from the cache. The bulk of the texture data, stored in the UUID-named file in the subfolders of the cache, will need to have an extension added to it that signifies the Format ID to allow co-existence of multiple encodings of the same texture.&lt;br /&gt;
&lt;br /&gt;
Some discussion was brought up about XORing the raw texture data with a hard-coded key, or perhaps one based on the Hardware Hash of each individual machine - in effect a fast but low-quality encryption. This has been largely disregarded in the interest of attaining the best speed - although it remains an option if the community demands more obfuscation than currently exists in the texture cache.&lt;br /&gt;
&lt;br /&gt;
=== Cache Discard Optimization ===&lt;br /&gt;
There is discussion on the [[Texture Cache]] page regarding further optimization or replacement of the Cache Discard algorithms, which should probably be moved here - however, this portion is not a part of the current ongoing discussion in SLDev. I will leave it to someone else to take the initiative on this.&lt;br /&gt;
&lt;br /&gt;
== Implementation Experiments: Separate cache size controls ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 1. Add separate UI controls for VFS and texture decode caches ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Revised Caching Preferences rev001.PNG]]&lt;br /&gt;
&lt;br /&gt;
IN FILE: &#039;&#039;&#039;panel_preferences_network.xml&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Widget: Slider &#039;&#039;CacheSize&#039;&#039; / &#039;&#039;cache_size&#039;&#039; ====&lt;br /&gt;
&lt;br /&gt;
Originally used to control compressed texture cache and VFS asset cache size. 80% of this value set the texture cache size and 20% the VFS asset cache size. Original slider scaling: 50 to 1000 megabytes&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changes:&#039;&#039;&#039; Will now only set the compressed texture cache size at 100% of this value. Scaling is still 50 to 1000 megabytes&lt;br /&gt;
&lt;br /&gt;
==== Widget: Checkbox &#039;&#039;CacheUseDecodeTextures&#039;&#039; / &#039;&#039;cache_use_decoded_textures&#039;&#039; ====&lt;br /&gt;
&lt;br /&gt;
New, for enabling or disabling use of the new decoded texture cache. Disabling would not clear the cache but just stop use of it, for troubleshooting purposes.&lt;br /&gt;
&lt;br /&gt;
==== Widget: Slider &#039;&#039;CacheSizeDecodedTextures&#039;&#039; / &#039;&#039;cache_size_decoded_textures&#039;&#039; ====&lt;br /&gt;
&lt;br /&gt;
Sets the size of the new decoded cache. Since this has the opportunity to greatly increase performance if more space is allocated to it, the size scaling is in gigabytes from 1 to 1000 GB, with a default size of 1 GB.&lt;br /&gt;
&lt;br /&gt;
==== Widget: Checkbox &#039;&#039;CacheRemoveDecodedTextures / &#039;&#039;cache_remove_decoded_textures&#039;&#039; ====&lt;br /&gt;
&lt;br /&gt;
This option deletes the original compressed texture out of the standard cache once it has been added to the decode cache, to conserve disk space usage.&lt;br /&gt;
&lt;br /&gt;
==== Widget: RadioButton &#039;&#039;CacheUseVFS&#039;&#039; / &#039;&#039;cache_use_vfs&#039;&#039; ====&lt;br /&gt;
&lt;br /&gt;
This enables use of the current, existing VFS asset caching method.&lt;br /&gt;
&lt;br /&gt;
==== Widget: Slider &#039;&#039;CacheSizeVFS&#039;&#039; / &#039;&#039;cache_size_vfs&#039;&#039; ====&lt;br /&gt;
&lt;br /&gt;
This sets the size of the existing VFS, as a separate control from the old single-function texture cache slider. Size is set as a percentage of total installed system memory, with a range from 1% to 50% of total memory.&lt;br /&gt;
&lt;br /&gt;
==== Widget: RadioButton &#039;&#039;CacheUseDiskAsset&#039;&#039; / &#039;&#039;cache_use_disk_asset&#039;&#039; ====&lt;br /&gt;
&lt;br /&gt;
This enables use of a purely disk-based cache for assets that is similar to the texture and decode caches, and completely deallocates the VFS from memory and disables it.&lt;br /&gt;
&lt;br /&gt;
==== Widget: Slider: &#039;&#039;CacheSizeDiskAsset&#039;&#039; / &#039;&#039;cache_size_disk_asset&#039;&#039; ====&lt;br /&gt;
&lt;br /&gt;
This sets the size of the new disk-based asset cache, and also has a very large scaling from 1 to 1000 GB, with a default size of 1 GB.&lt;br /&gt;
&lt;br /&gt;
==== Widget: Button &#039;&#039;CacheClearStandardTexture&#039;&#039;/ &#039;&#039;cache_clear_standard_texture&#039;&#039; ====&lt;br /&gt;
&lt;br /&gt;
Only clear the standard compressed texture cache.&lt;br /&gt;
&lt;br /&gt;
==== Widget: Button &#039;&#039;CacheClearStdVFS&#039;&#039;/ &#039;&#039;cache_clear_vfs&#039;&#039; ====&lt;br /&gt;
&lt;br /&gt;
Only clear the RAM-disk VFS. May need a viewer restart to achieve this.&lt;br /&gt;
&lt;br /&gt;
==== Widget: Button &#039;&#039;CacheClearDecodedTexture&#039;&#039; / &#039;&#039;cache_clear_decoded_texture&#039;&#039; ====&lt;br /&gt;
&lt;br /&gt;
Only clear the new decoded texture cache. Should offer a warning that this may take a while for gigabytes of data deletion.&lt;br /&gt;
&lt;br /&gt;
==== Widget: Button &#039;&#039;CacheClearDiskAsset&#039;&#039; / &#039;&#039;cache_clear_disk_asset&#039;&#039; ====&lt;br /&gt;
&lt;br /&gt;
Only clear the new disk-based asset cache. Should offer a warning that this may take a while for gigabytes of data deletion.&lt;br /&gt;
&lt;br /&gt;
==== Widget: Checkbox &#039;&#039;CacheClearOnMove / &#039;&#039;cache_clear_on_move&#039;&#039; ====&lt;br /&gt;
&lt;br /&gt;
Offer the option to delete all data from the old cache location, before creating a cache in the new location.&lt;br /&gt;
&lt;br /&gt;
[[Category:Design Discussions]]&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User_talk:Celierra_Darling&amp;diff=75130</id>
		<title>User talk:Celierra Darling</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User_talk:Celierra_Darling&amp;diff=75130"/>
		<updated>2008-06-28T11:23:45Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: /* Which version of 1.19.* uses settings.xml? */ found the answer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;messagebox&amp;quot; style=&amp;quot;width: 40%; min-height: 57px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: left&amp;quot;&amp;gt;&amp;lt;!-- spot for a picture, i.e. the WP logo --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 60px&amp;quot;&amp;gt;&#039;&#039;&#039;[http://en.wikipedia.org/wiki/Wikipedia:Soft_redirect Soft redirect]&#039;&#039;&#039; &amp;lt;br /&amp;gt; This page can be found at http://en.wikipedia.org/wiki/User_talk:AySz88.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(You can also leave messages here.)&lt;br /&gt;
&lt;br /&gt;
== Penises ==&lt;br /&gt;
&lt;br /&gt;
All technology is just satisfying the innate human desire to make a more perfect penis. :P [[User:Gigs Taggart|Gigs Taggart]] 14:06, 2 May 2007 (PDT)&lt;br /&gt;
: I have no idea what the context of this is... :P [[User:Celierra Darling|Celierra Darling]] 21:55, 25 June 2007 (PDT)&lt;br /&gt;
:: It was about the sculptie-prim faq edit revert. [[User:Gigs Taggart|Gigs Taggart]] 15:00, 26 June 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Re:  Section titles ==&lt;br /&gt;
&lt;br /&gt;
Thank you for the [[User talk:Alissa Sabre#Section titles|feedback]] on my edit.  I know some MediaWiki-based site is run under the policy to avoid the first level section headings, but I don&#039;t think it is not for SL wiki, because (1) the stylesheet for SL wiki seems preventing use of third or more levels (i.e., &amp;quot;===&amp;quot;) (and I&#039;m actually trying to avoid them as much as I can) and it is almost impossible to have just one level of section title, and (2) Some pages written by Lindens use the first level section title.  Also, I believe it&#039;s not bad to use the same formatting for page title and the section title, because the page title and the first level section title are easily identified by the position in the page, even if their styles are same.  Do you have any other reason why we should not use the first level section title?  -- [[User:Alissa Sabre|Alissa Sabre]] 08:36, 12 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== LSL Page Style Ideas ==&lt;br /&gt;
&lt;br /&gt;
There is a big of a movement afoot to rework the page styles again. With Mono coming down the pipe eventually, it&#039;s going to shake things up a bit. -- [[User:Strife Onizuka|Strife Onizuka]] 06:59, 17 May 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Correction: 1.20.* uses settings.xml ==&lt;br /&gt;
&lt;br /&gt;
In [[How preferences work]] you added: &#039;&#039;As of 1.19, this section is outdated. From the release notes, &amp;quot;The settings system has been significantly revamped. llcontroldef.cpp has been replaced with an XML file controlling all settings values: app_settings/settings.xml&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This was confusing me, but after some research I found it is actually for 1.20.* and newer. [[User:Scalar Tardis|Scalar Tardis]] 01:04, 28 June 2008 (PDT)&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=SLDEV_Discussion_-_Texture_Cache_Plan_of_Attack&amp;diff=75128</id>
		<title>SLDEV Discussion - Texture Cache Plan of Attack</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=SLDEV_Discussion_-_Texture_Cache_Plan_of_Attack&amp;diff=75128"/>
		<updated>2008-06-28T11:13:31Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: Add UI preferences panel mockup to support decoded-textures and VFS replacement caches&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ViewerArchNav|parent=Image System}}&lt;br /&gt;
&lt;br /&gt;
Discussion is underway in the SLDev Mailing List regarding options to overhaul the texture cache. Mostly the plan involves storing decompressed textures, rather than the JPG2000 compressed versions, which allows the Texture Fetch operations to skip the decode, which is currently the major bottleneck in the cache system. This article is for summarizing, planning, and status of this project. Please discuss via the SLDev mailing list.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
=== Current Implementation ===&lt;br /&gt;
Currently, the client will download uncached JPG2000 textures from the region/asset servers, progressively decode and apply them to the faces rendered in whatever quality level is currently available. As more data is downloaded, it is further decoded, and the quality rendered goes up. Textures are cached in a three-part system sharing space with the [[VFS]], described in the [[Texture Cache]] article. &lt;br /&gt;
&lt;br /&gt;
=== New Plan ===&lt;br /&gt;
The discussion on the SLDev list has been very helpful in nailing down ways to improve the cache. The biggest change will be caching of textures in an un-compressed format - TGA or Raw - while preserving the existing obfuscation technique to prevent direct ripping of the cached images. In addition, the cache settings will be split into two separate caches - the VFS for objects that use it currently, and a completely new layer of cache exclusively for textures.&lt;br /&gt;
&lt;br /&gt;
== Steps ==&lt;br /&gt;
=== Rework Cache to store multiple formats ===&lt;br /&gt;
Currently, the texture cache can read TGA and JPG2000 files from the cache. However, it has no way to &#039;&#039;write&#039;&#039; TGA to the cache. The interface between llTextureFetch and llTextureCache will need to be refactored to support storing and retrieving in a format-agnostic way, allowing JPG2000, TGA, and Raw to exist simultaneously in the cache, with the possibility of adding others down the line if needed relatively easily.&lt;br /&gt;
&lt;br /&gt;
In short, the calls from llTextureFetch to llTextureCache, and the return data, should include a Format Identifier, a block of data for the image itself (in whatever format is indicated by the Format Identifier), and any other details that may be required such as data size, image dimensions, and (if necessary) color depth. llTexureCache should be able to store and retrieve this data in a format-agnostic way, ideally returning decoded data to llTextureFetch as a llRawImage object. Metadata would be stored in the cache index, discussed below, with the bulk of the data stored in the manner it is done now - subfolders with filenames equivalent to the UUID of the texture.&lt;br /&gt;
&lt;br /&gt;
=== Rework Cache Index for Greater Storage ===&lt;br /&gt;
Currently, the Texture Cache shares space with the VFS, and is limited to 800MB - 80% of the maximum total &amp;quot;cache size&amp;quot;, the other 20% of which is reserved for the VFS. With the cache capable of storing uncompressed files, it could grow much faster; and with the cost of disk space these days, limiting the cache to 1GB is ludicrously inadequate. A separate slider in the &amp;quot;Network&amp;quot; preferences tab should allow the individual specification of max VFS (&amp;quot;Object Cache&amp;quot;) and max Texture caches. In discussion, many commenters stated that they would allocate as much as 100GB to a texture cache. Aside from the speed benefit garnered from a larger cache, it also will dramatically reduce the amount of textures that would need to be re-downloaded due to a lower cache discard rate.&lt;br /&gt;
&lt;br /&gt;
The Cache Index would store Metadata about the texture - the Format ID, the dimensions, file size, and color depth (if necessary), and, like the current cache index, would also have the first (arbitrary number of) bytes of the actual data - primarily for obfuscation purposes, to prevent the casual ripping of textures from the cache. Multiple copies of the same texture could be stored in the cache, in different formats - for example, stored as JPG2000 while progressively downloading, then stored in uncompressed format once complete. The Texture Fetcher would simply request a texture, and the cache would respond with the cached version available with the lowest CPU-overhead - Raw first, then TGA, then JPG2000, with the network fetch as the fail-through option. Ideally, once a texture has been downloaded completely and decoded, it would be stored as a Raw image, and the JPG2000 version would be marked as &amp;quot;expired&amp;quot; or otherwise scheduled for purging from the cache. The bulk of the texture data, stored in the UUID-named file in the subfolders of the cache, will need to have an extension added to it that signifies the Format ID to allow co-existence of multiple encodings of the same texture.&lt;br /&gt;
&lt;br /&gt;
Some discussion was brought up about XORing the raw texture data with a hard-coded key, or perhaps one based on the Hardware Hash of each individual machine - in effect a fast but low-quality encryption. This has been largely disregarded in the interest of attaining the best speed - although it remains an option if the community demands more obfuscation than currently exists in the texture cache.&lt;br /&gt;
&lt;br /&gt;
=== Cache Discard Optimization ===&lt;br /&gt;
There is discussion on the [[Texture Cache]] page regarding further optimization or replacement of the Cache Discard algorithms, which should probably be moved here - however, this portion is not a part of the current ongoing discussion in SLDev. I will leave it to someone else to take the initiative on this.&lt;br /&gt;
&lt;br /&gt;
== Implementation Experiments: Separate cache size controls ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 1. Add separate UI controls for VFS and texture decode caches ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Revised Caching Preferences rev001.PNG]]&lt;br /&gt;
&lt;br /&gt;
IN FILE: &#039;&#039;&#039;panel_preferences_network.xml&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Design Discussions]]&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=File:Revised_Caching_Preferences_rev001.PNG&amp;diff=75126</id>
		<title>File:Revised Caching Preferences rev001.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=File:Revised_Caching_Preferences_rev001.PNG&amp;diff=75126"/>
		<updated>2008-06-28T11:08:37Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: A mockup of how I&amp;#039;d like to see the client caching model changed, to add a decoded texture cache and a direct-to-disk asset cache to replace the VFS. ~~~~&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A mockup of how I&#039;d like to see the client caching model changed, to add a decoded texture cache and a direct-to-disk asset cache to replace the VFS. [[User:Scalar Tardis|Scalar Tardis]] 04:08, 28 June 2008 (PDT)&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=XUI&amp;diff=75118</id>
		<title>XUI</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=XUI&amp;diff=75118"/>
		<updated>2008-06-28T08:41:02Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: New page: XML may relate to:  * Skinning - &amp;#039;&amp;#039;Skinning refers broadly to the ability to customize the user interface. The Skinning project is part of the User Interface Roadmap and specifically d...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XML may relate to:&lt;br /&gt;
&lt;br /&gt;
* [[Skinning]] - &#039;&#039;Skinning refers broadly to the ability to customize the user interface. The Skinning project is part of the User Interface Roadmap and specifically describes a path to make the Second Life user interface entirely data driven and customizable by Linden Lab, 3rd party developers, and individuals, without requiring changes to the primary application source code, and maintainable across updates.&#039;&#039;&lt;br /&gt;
* [[Skinning HowTo/Basics]] - &#039;&#039;Basic XML reference page&#039;&#039;&lt;br /&gt;
* [[Adding a dialog]] - &#039;&#039;Windows and dialogs in Second Life are implemented as LLFloater objects, and which use XML description files.&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=How_preferences_work&amp;diff=75117</id>
		<title>How preferences work</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=How_preferences_work&amp;diff=75117"/>
		<updated>2008-06-28T08:11:18Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: /* Declaring a New Preference */ Version number correction, as per SLDev post, Wed Apr 9 14:32:14 PDT 2008 by Soft Linden, [sldev] &amp;quot;1.20 release notes&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{OSWikiLearnBox|parent=Viewer architecture}}&lt;br /&gt;
[[Category:Viewer Architecture]]&lt;br /&gt;
&lt;br /&gt;
This document contains information about how user preferences are stored and manipulated in the Second Life Viewer Client.&lt;br /&gt;
&lt;br /&gt;
== The gSavedSettings Control Group ==&lt;br /&gt;
&lt;br /&gt;
The values for user preferences are stored in gSavedSettings, a global variable of the class LLControlGroup (see &amp;quot;indra/llxml/llcontrol.cpp&amp;quot; for the definition of that class). At the end of the session (i.e. when the viewer client is quit), persistent settings are saved to &amp;quot;settings.xml&amp;quot;. They will be loaded from that file at the beginning of the next session.&lt;br /&gt;
&lt;br /&gt;
== Declaring a New Preference ==&lt;br /&gt;
&#039;&#039;&#039;As of 1.20, this section is outdated.&#039;&#039;&#039;  From the release notes, &amp;quot;The settings system has been significantly revamped. llcontroldef.cpp has been replaced with an XML file controlling all settings values: app_settings/settings.xml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Old description follows:&lt;br /&gt;
&lt;br /&gt;
All preferences must be declared in &amp;quot;indra/newview/llcontroldef.cpp&amp;quot; to be used. The declaration informs the client of details about the preference:&lt;br /&gt;
* its data type (e.g. color, string, float);&lt;br /&gt;
* its name (e.g. &amp;quot;EffectColor&amp;quot;);&lt;br /&gt;
* its initial (default) value;&lt;br /&gt;
* its documentation string, which is displayed in the &amp;quot;Debug Settings&amp;quot; floater (in the Client menu);&lt;br /&gt;
* (optional) its persistence, i.e. whether it will be saved between sessions.&lt;br /&gt;
&lt;br /&gt;
The following example (taken from &amp;quot;indra/newview/llcontroldef.cpp&amp;quot;) declares a preference which stores a 4-channel (RGBA) color, called &amp;quot;EffectColor&amp;quot;, with a default value of totally-opaque white (1, 1, 1, 1), and a documentation string, &amp;quot;Particle effects color&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 gSavedSettings.declareColor4(&amp;quot;EffectColor&amp;quot;, LLColor4(1.f, 1.f, 1.f, 1.f), &amp;quot;Particle effects color&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
This next example shows how you can specify that the preference should NOT persist between sessions, by giving &#039;&#039;&#039;NO_PERSIST&#039;&#039;&#039; as a fourth argument to the declaration:&lt;br /&gt;
&lt;br /&gt;
 gSavedSettings.declareBOOL(&amp;quot;ShowTools&amp;quot;, FALSE, &amp;quot;&amp;quot;, NO_PERSIST);&lt;br /&gt;
&lt;br /&gt;
The full list of data types, their declaration function names, and data type descriptions follows. Note that for data types which start with &amp;quot;LL&amp;quot; (e.g. LLString), the declare function name does not contain the leading &amp;quot;LL&amp;quot; (thus it becomes &amp;quot;declareString&amp;quot;, not &amp;quot;declare&#039;&#039;&#039;LL&#039;&#039;&#039;String&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;10px&amp;quot;&lt;br /&gt;
!Data Type !! Declare Function !! Description&lt;br /&gt;
|-&lt;br /&gt;
|U32 || declareU32 || Unsigned 32-bit Integer&lt;br /&gt;
|-&lt;br /&gt;
|S32 || declareS32 || Signed 32-bit Integer&lt;br /&gt;
|-&lt;br /&gt;
|F32 || declareF32 || 32-bit Float&lt;br /&gt;
|-&lt;br /&gt;
|BOOL || declareBOOL || Boolean (True/False)&lt;br /&gt;
|-&lt;br /&gt;
|LLString ||declareString ||  Character String (Text)&lt;br /&gt;
|-&lt;br /&gt;
|LLVector3 || declareVec3 || 3D Vector&lt;br /&gt;
|-&lt;br /&gt;
|LLVector3d || declareVec3d || 3D Vector (double data size)&lt;br /&gt;
|-&lt;br /&gt;
|LLRect || declareRect || Rectangle (left, bottom, width, height)&lt;br /&gt;
|-&lt;br /&gt;
|LLColor4U || declareColor4U || Unsigned 4-Channel Color (RGBA)&lt;br /&gt;
|-&lt;br /&gt;
|LLColor4 || declareColor4 || 4-Channel Color (RGBA)&lt;br /&gt;
|-&lt;br /&gt;
|LLColor3 || declareColor3 || 3-Channel Color (RGB)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Accessing Preference Data ==&lt;br /&gt;
&lt;br /&gt;
The LLControlGroup class (of which gSavedSettings is an instance) defines &amp;quot;get&amp;quot; and &amp;quot;set&amp;quot; functions for each of the data types. The functions follow this format, where &amp;quot;DataType&amp;quot; is replaced with the proper data type, e.g. BOOL, F32, LLColor4. (As with the declare functions, the get and set function names to not contain the leading &amp;quot;LL&amp;quot; for data types like LLString and LLColor4.)&lt;br /&gt;
&lt;br /&gt;
 LLControlGroup::getDataType( LLString name );&lt;br /&gt;
 LLControlGroup::setDataType( LLString name, DataType new_value );&lt;br /&gt;
&lt;br /&gt;
A contrived example of retrieving and then setting an LLColor4-typed preference:&lt;br /&gt;
&lt;br /&gt;
 LLColor4 my_color;&lt;br /&gt;
 my_color = gSavedSettings.getColor4( &amp;quot;EffectColor&amp;quot; );&lt;br /&gt;
 gSavedSettings.setColor4( &amp;quot;EffectColor&amp;quot;, my_color );&lt;br /&gt;
&lt;br /&gt;
There are three additional &amp;quot;get&amp;quot; functions for certain special cases:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;10px&amp;quot;&lt;br /&gt;
!Function Name!! Return Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| getWString || LLWString || Wide-Data Strings (multiple bytes per char)&lt;br /&gt;
|-&lt;br /&gt;
| getText || LLString || Special handler for strings from a file?&lt;br /&gt;
|-&lt;br /&gt;
| getColor || LLColor4 || Handles both LLColor4 and LLColor4u types.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User_talk:Celierra_Darling&amp;diff=75116</id>
		<title>User talk:Celierra Darling</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User_talk:Celierra_Darling&amp;diff=75116"/>
		<updated>2008-06-28T08:04:47Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: New section: Which version of 1.19.* uses settings.xml?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;messagebox&amp;quot; style=&amp;quot;width: 40%; min-height: 57px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: left&amp;quot;&amp;gt;&amp;lt;!-- spot for a picture, i.e. the WP logo --&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: 60px&amp;quot;&amp;gt;&#039;&#039;&#039;[http://en.wikipedia.org/wiki/Wikipedia:Soft_redirect Soft redirect]&#039;&#039;&#039; &amp;lt;br /&amp;gt; This page can be found at http://en.wikipedia.org/wiki/User_talk:AySz88.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(You can also leave messages here.)&lt;br /&gt;
&lt;br /&gt;
== Penises ==&lt;br /&gt;
&lt;br /&gt;
All technology is just satisfying the innate human desire to make a more perfect penis. :P [[User:Gigs Taggart|Gigs Taggart]] 14:06, 2 May 2007 (PDT)&lt;br /&gt;
: I have no idea what the context of this is... :P [[User:Celierra Darling|Celierra Darling]] 21:55, 25 June 2007 (PDT)&lt;br /&gt;
:: It was about the sculptie-prim faq edit revert. [[User:Gigs Taggart|Gigs Taggart]] 15:00, 26 June 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Re:  Section titles ==&lt;br /&gt;
&lt;br /&gt;
Thank you for the [[User talk:Alissa Sabre#Section titles|feedback]] on my edit.  I know some MediaWiki-based site is run under the policy to avoid the first level section headings, but I don&#039;t think it is not for SL wiki, because (1) the stylesheet for SL wiki seems preventing use of third or more levels (i.e., &amp;quot;===&amp;quot;) (and I&#039;m actually trying to avoid them as much as I can) and it is almost impossible to have just one level of section title, and (2) Some pages written by Lindens use the first level section title.  Also, I believe it&#039;s not bad to use the same formatting for page title and the section title, because the page title and the first level section title are easily identified by the position in the page, even if their styles are same.  Do you have any other reason why we should not use the first level section title?  -- [[User:Alissa Sabre|Alissa Sabre]] 08:36, 12 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== LSL Page Style Ideas ==&lt;br /&gt;
&lt;br /&gt;
There is a big of a movement afoot to rework the page styles again. With Mono coming down the pipe eventually, it&#039;s going to shake things up a bit. -- [[User:Strife Onizuka|Strife Onizuka]] 06:59, 17 May 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Which version of 1.19.* uses settings.xml? ==&lt;br /&gt;
&lt;br /&gt;
In [[How preferences work]] you added: &#039;&#039;As of 1.19, this section is outdated. From the release notes, &amp;quot;The settings system has been significantly revamped. llcontroldef.cpp has been replaced with an XML file controlling all settings values: app_settings/settings.xml&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Currently I am exploring the 1.19.1.4 code and I can find no evidence for this change you mention. It still uses llcontroldef.cpp and this new xml file cannot be found anywhere. Can you be more specific about the version number where this change appears? I am inclined revert your edit until I can determine what you really meant to say. [[User:Scalar Tardis|Scalar Tardis]] 01:04, 28 June 2008 (PDT)&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Common_compilation_problems&amp;diff=75012</id>
		<title>Common compilation problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Common_compilation_problems&amp;diff=75012"/>
		<updated>2008-06-27T18:46:55Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: /* Viewer 1.19.1.4 / VS2003 */ reference the cygwin link.exe error&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
= General Problems =&lt;br /&gt;
&lt;br /&gt;
*  Make sure you download not only the source, but the artwork zipfile, and the appropriate zipfile/tarball of libraries for your platform&lt;br /&gt;
&lt;br /&gt;
= Windows = &lt;br /&gt;
&lt;br /&gt;
== Viewer 1.19.1.4 / VS2003 ==&lt;br /&gt;
=== C1083: Cannot open include file: &#039;dxdiag.h&#039; ===&lt;br /&gt;
The DirectX SDK doesn&#039;t automatically insert its include directory into the VS2003 paths. For the June 2008 DirectX SDK release, go to Tools -&amp;gt; Options -&amp;gt; Projects (on left) -&amp;gt; VC++ Directories. On right show directories for Include files, and add:&lt;br /&gt;
* C:\Program Files\Microsoft DirectX SDK (June 2008)\Include&lt;br /&gt;
&lt;br /&gt;
=== C1083: Cannot open include file: &#039;unistd.h&#039; ===&lt;br /&gt;
On Apr 27, 2008 in thread &#039;&#039;[sldev] error while compiling on vc8/9 (unistd.h)&#039;&#039;, SLDev contributor wuhanzymail &amp;lt;wuhanzymail@163.com&amp;gt; recommended the following:&lt;br /&gt;
&lt;br /&gt;
1) right-click project lscript_compile, choose properties, c/c++, Preprocessor, add &#039;&#039;YY_NO_UNISTD_H&#039;&#039; to Preprcessor Definitions.&lt;br /&gt;
&lt;br /&gt;
2) in lex_yy.cpp, line 5915 change:&lt;br /&gt;
&amp;lt;php&amp;gt;           #ifndef __cplusplus&lt;br /&gt;
           extern int isatty (int );&lt;br /&gt;
           #endif&amp;lt;/php&amp;gt;&lt;br /&gt;
to:&lt;br /&gt;
&amp;lt;php&amp;gt;           #ifndef YY_NEVER_INTERACTIVE&lt;br /&gt;
           extern int isatty (int );&lt;br /&gt;
           #endif&amp;lt;/php&amp;gt;&lt;br /&gt;
3) still in lex_yy.cpp, line 5943 change:&lt;br /&gt;
&amp;lt;php&amp;gt;          b-&amp;gt;yy_is_interactive = file ? (isatty( fileno(file) ) &amp;gt; 0) : 0;&amp;lt;/php&amp;gt;&lt;br /&gt;
to:&lt;br /&gt;
&amp;lt;php&amp;gt;          #if YY_NEVER_INTERACTIVE&lt;br /&gt;
              b-&amp;gt;yy_is_interactive = 0;&lt;br /&gt;
          #else&lt;br /&gt;
              b-&amp;gt;yy_is_interactive = file ? (isatty( fileno(file) ) &amp;gt; 0) : 0;&lt;br /&gt;
          #endif&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== C4018: &#039;&amp;lt;&#039; : signed/unsigned mismatch ===&lt;br /&gt;
On Apr 30, 2008 in thread &#039;&#039;[sldev] cygwin flex lscript_compile workaround&#039;&#039;, SLDev contributor Steve Linden recommended the following:&lt;br /&gt;
&lt;br /&gt;
I&#039;m not sure whether this has already been addressed here, but we &lt;br /&gt;
discovered a problem with the latest version of Cygwin flex and &lt;br /&gt;
lscript_compile and I thought I would share the workaround. We&#039;ve &lt;br /&gt;
committed the workaround to our release-candidate branche so it should &lt;br /&gt;
be in an upcoming source drop as well.&lt;br /&gt;
&lt;br /&gt;
1. Add &#039;&#039;YY_NO_UNISTD_H&#039;&#039; to the list of Preprocessor Definitions in the &lt;br /&gt;
lscript_compile project file.&lt;br /&gt;
&lt;br /&gt;
2. Apply the following patch it indra.l:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;php&amp;gt;Index: indra.l&lt;br /&gt;
===================================================================&lt;br /&gt;
--- indra.l    (revision 86342)&lt;br /&gt;
+++ indra.l    (revision 86343)&lt;br /&gt;
@@ -12,6 +12,7 @@&lt;br /&gt;
 #include &amp;quot;linden_common.h&amp;quot;&lt;br /&gt;
 // Deal with the fact that lex/yacc generates unreachable code&lt;br /&gt;
 #ifdef LL_WINDOWS&lt;br /&gt;
+#pragma warning (disable : 4018) // warning C4018: signed/unsigned mismatch&lt;br /&gt;
 #pragma warning (disable : 4702) // warning C4702: unreachable code&lt;br /&gt;
 #endif    //    LL_WINDOWS&lt;br /&gt;
 #include &amp;quot;llmath.h&amp;quot;&lt;br /&gt;
@@ -44,7 +45,10 @@&lt;br /&gt;
 &lt;br /&gt;
 #define YYLMAX 16384&lt;br /&gt;
 #define YY_NEVER_INTERACTIVE 1 /* stops flex from calling isatty() */&lt;br /&gt;
-&lt;br /&gt;
+#ifdef LL_WINDOWS&lt;br /&gt;
+#define isatty(x) 0 /* hack for bug in cygwin flex 2.5.35 */&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
 #ifdef ECHO&lt;br /&gt;
 #undef ECHO&lt;br /&gt;
 #endif&lt;br /&gt;
&amp;lt;/php&amp;gt;&lt;br /&gt;
=== [...] error result returned from &#039;link.exe&#039; ===&lt;br /&gt;
By checking the Output window (View menu -&amp;gt; Other Windows), this shows up as an error saying: &#039;&#039;link: extra operand `/NOLOGO&#039; &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
As reported by Brad Linden, this is caused by having the compiler executable directories in the wrong order, with the Cygwin directory path listed above the Visual Studio paths. This causes the Cygwin linker to used instead of Visual Studio&#039;s linker.&lt;br /&gt;
&lt;br /&gt;
Go to Tools -&amp;gt; Options -&amp;gt; Projects -&amp;gt; VC++ Directories, show directories for Executables, and move &amp;quot;C:\cygwin\bin&amp;quot; to the bottom of the list.&lt;br /&gt;
&lt;br /&gt;
== Unresolved external symbol _CLSID_DxDiagProvider/_IID_IDxDiagProvider ==&lt;br /&gt;
* &#039;&#039;newview error LNK2001: unresolved external symbol _CLSID_DxDiagProvider&#039;&#039;&lt;br /&gt;
* &#039;&#039;newview error LNK2001: unresolved external symbol _IID_IDxDiagProvider&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These errors reportedly occur with MSVC 2003 and certain versions of the DirectX SDK.  To workaround, edit lldxhardware.cpp and replace the following (line 35):&lt;br /&gt;
&lt;br /&gt;
     #include &amp;lt;dxdiag.h&amp;gt;&lt;br /&gt;
with...&lt;br /&gt;
     #define INITGUID&lt;br /&gt;
     #include &amp;lt;dxdiag.h&amp;gt;&lt;br /&gt;
     #undef INITGUID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cannot open input file &#039;dxguid.lib&#039; ==&lt;br /&gt;
* &#039;&#039;fatal error LNK1181: cannot open input file &#039;dxguid.lib&#039; in ...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are using a fairly recent DirectX SDK (&amp;quot;December 2006&amp;quot; or newer), your VC++ Libraries Directory may be wrong because the SDK&#039;s lib folder now has 2 sub-folders for x64 and x86.  Try changing the path from &#039;&#039;C:\Program Files\Microsoft DirectX SDK (December 2006)\Lib&#039;&#039; to &#039;&#039;C:\Program Files\Microsoft DirectX SDK (December 2006)\&#039;&#039; &#039;&#039;&#039;Lib\x86&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open input file &#039;dxerr8.lib&#039; ==&lt;br /&gt;
* &#039;&#039;fatal error LNK1104: cannot open file &#039;dxerr8.lib&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are using the most recent DirectX SDK (&amp;quot;November 2007&amp;quot;), the file dxerr8.lib does no longer exist. To fix this, you&#039;ll need to change the newview project to include &#039;dxerr9.lib&#039; instead. To do this, right-lick newview &amp;gt; Configuration Properties &amp;gt; Linker &amp;gt; Input, click Additional Dependencies on the right to show a button labeled &amp;quot;...&amp;quot; on it at the very right on the line, then click the ... button. Scroll down the list to find &#039;dxerr8.lib&#039;. Rewrite it to &#039;dxerr9.lib&#039;. Remember to do this for both the ReleaseForDownload and the ReleaseNoOpt Configurations.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== A tool returned an error code from &amp;quot;Building ytab.cpp&amp;quot; ==&lt;br /&gt;
* &#039;&#039;lscript_compile_fb error PRJ0019: A tool returned an error code from &amp;quot;Building ytab.cpp&amp;quot; &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
One possible reason for this is that Visual Studio does not know where cygwin/bin is, especially if this is accompanied by an error relating to bison.exe being an invalid command.  Even if the directory for cygwin is in the environment variable PATH, Visual Studio maintains its own separate copy which does not seem to be automatically synchronized after the initial installation.&lt;br /&gt;
&lt;br /&gt;
For Visual Studio .NET 2003, go to Tools &amp;gt; Options &amp;gt; Projects &amp;gt; VC++ Directories.  In the &amp;quot;show directories for&amp;quot; dropdown, choose &amp;quot;Executable files&amp;quot;.  Make sure that your cygwin (default C:\cygwin\bin) and ActivePython (default C:\Python25) directories are listed.&lt;br /&gt;
&lt;br /&gt;
== Cannot open include file: &#039;ytab.h&#039;: No such file or directory ==&lt;br /&gt;
* &#039;&#039;indra.l (20) : fatal error C1083: Cannot open include file: &#039;ytab.h&#039;: No such file or directory.&#039;&#039;&lt;br /&gt;
Workaround: Manually copy &amp;quot;linden\indra\lscript\lscript_compile\ytab.hpp&amp;quot; to &amp;quot;linden\indra\lscript\lscript_compile\ytab.h&amp;quot; and build again. &lt;br /&gt;
&lt;br /&gt;
Note: The underlying issue is that in indra.y there is a postbuild step which should do this automatically, but which is missing in some configurations (e.g. in Debug builds).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;png.h&#039;: No such file or directory ==&lt;br /&gt;
* &#039;&#039;imagepng.cpp : fatal error C1083: Cannot open include file: &#039;libpng12/png.h&#039;: No such file or directory.&#039;&#039;&lt;br /&gt;
There are a couple of files missing since the 1.17. distribution.  You can either get the missing files from the internet (from the libpng and zlib projects) or download a set with just the missing files from [http://www.blueflash.cc/users/nicholaz/~libs here] (see the readme.txt inside the png archive there).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;glh/glh_linear.h&#039; or &#039;glh/glh_convenience.h&#039; ==&lt;br /&gt;
These files are currently missing from Linden Windlight distributions.  See [https://jira.secondlife.com/browse/VWR-3415 JIRA VWR-3415] or grab a copy from [http://www.blueflash.cc/users/nicholaz/~libs here] and put the files into a folder named linden/libraries/include/glh.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[LearCale]] -- as of 1.19, these appear to need to be in linden/libraries/include/GL .&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Errors relating to &amp;quot;template_verifier.py&amp;quot; ==&lt;br /&gt;
With version 1.18 a template verifier script written in Python is used to ensure the message template is correct.  In some distributions the file was missing.  You will also get an error if you have skipped the Python install.  In both cases it is safe to hack the prebuild.bat file in the newview folder as described on the JIRA [http://jira.secondlife.com/browse/VWR-1267 VWR-1267]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missing resources ==&lt;br /&gt;
* &#039;&#039;.\res\newViewRes.rc(64) : error RC2135 : file not found: ll_icon.ico&#039;&#039;&lt;br /&gt;
Some releases have missing files, which were reported to be last seen in the &#039;&#039;&#039;1.14.0.1&#039;&#039;&#039; release.&lt;br /&gt;
* Go to the [[source downloads]] page and grab the [[http://secondlife.com/developers/opensource/downloads/2007/04/slviewer-src-1.14.0.1.zip &#039;&#039;&#039;1.14.0.1&#039;&#039;&#039; viewer]] sources.&lt;br /&gt;
* Explore the archive to &amp;quot;linden/indra/newview/res&amp;quot; folder and extract content to your &amp;quot;linden/indra/newview/res&amp;quot; folder into current revision.&lt;br /&gt;
Missing folder in recent release, &amp;quot;&#039;&#039;&#039;1.17.0.12&#039;&#039;&#039;&amp;quot; which causes the SecondLife to hang while loading into the world.&lt;br /&gt;
* Go to the previous source and copy the missing folder, &amp;quot;Character&amp;quot; and place it into the &amp;quot;newview&amp;quot; folder&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Error code from &amp;quot;Copying message template&amp;quot; ==&lt;br /&gt;
* &#039;&#039;newview error PRJ0019: A tool returned an error code from &amp;quot;Copying message template&amp;quot;&#039;&#039;&lt;br /&gt;
This is caused by the script trying to do a copy command, but the source path isn&#039;t in quotes.  Open up newview.vcproj in notepad, and near the bottom there are 4 line that say:&lt;br /&gt;
     CommandLine=&amp;quot;copy $(InputPath) .\app_settings\message_template.msg&lt;br /&gt;
replace them with&lt;br /&gt;
     CommandLine=&amp;quot;copy &amp;amp;amp;quot;$(InputPath)&amp;amp;amp;quot; .\app_settings\message_template.msg&lt;br /&gt;
The source and destination paths on line 158 may also require wrapping in quotes.  In which case:&lt;br /&gt;
     CommandLine=&amp;quot;copy $(TargetDir)\$(TargetFileName) $(ProjectDir)&lt;br /&gt;
should become:&lt;br /&gt;
     CommandLine=&amp;quot;copy &amp;amp;amp;quot;$(TargetDir)\$(TargetFileName)&amp;amp;amp;quot; &amp;amp;amp;quot;$(ProjectDir)&amp;amp;amp;quot;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Can not find library ll*.lib ==&lt;br /&gt;
If you get a compile error for missing libraries with names of the projects (lscript_compile.lib, llaudio.lib, llcharacter.lib, etc.) go to newview &amp;gt; Properties &amp;gt; Linker &amp;gt; Input and remove these from the list of input libraries (they will be linked through the dependencies and should not be in the list).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;windows.h&#039; ==&lt;br /&gt;
If you run into this problem:&lt;br /&gt;
 ..\..\..\boost/regex/v4/fileiter.hpp(44) : fatal error C1083: Cannot open include file: &#039;windows.h&#039;: No such file or directory&lt;br /&gt;
Fix it with this: (thanks Fairlight!)&lt;br /&gt;
 set INCLUDE=C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include;%INCLUDE%&lt;br /&gt;
 set LIB=C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib;%LIB%&lt;br /&gt;
You might need to edit the above path to refer to your particular platform SDK.  If you don&#039;t have the Microsoft Windows Platform SDK installed, then you can download it for free from Microsoft.  It is version specific and can be tricky to find on their website.&lt;br /&gt;
&lt;br /&gt;
If you&#039;re having problems with windows.h in Visual Studio Express 2005, check out this forum post:&lt;br /&gt;
[http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1995837&amp;amp;SiteID=1 MSDN Forum Post]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unresolved external symbol &amp;quot;int __cdecl lscript_compile&amp;quot; (VS2005) ==&lt;br /&gt;
* &#039;&#039;llcompilequeue.obj : error LNK2019: unresolved external symbol &amp;quot;int __cdecl lscript_compile(char const *,char const *,char const *,int)&amp;quot; (?lscript_compile@@YAHPBD00H@Z) referenced in function &amp;quot;protected: void __thiscall LLFloaterCompileQueue::compile(char const *,class LLUUID const &amp;amp;)&amp;quot; (?compile@LLFloaterCompileQueue@@IAEXPBDABVLLUUID@@@Z)&#039;&#039;&lt;br /&gt;
* &#039;&#039;llpreviewscript.obj : error LNK2001: unresolved external symbol &amp;quot;int __cdecl lscript_compile(char const *,char const *,char const *,int)&amp;quot; (?lscript_compile@@YAHPBD00H@Z)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is not entirely clear, but there seems to be a problem with VS2005 if projects are unloaded while being in the dependency tree.  I have seen this error while I had win_crash_logger and win_updater unloaded from the project tree and the problem went away when I loaded them back and excluded them from the newview dependency first.&lt;br /&gt;
&lt;br /&gt;
Also make sure that in newview, properties, linker, input, input libraries, no libraries named ll*.lib and lscript_compile.lib are listed there (remove them if you find them).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unresolved external symbol __invalid_parameter_noinfo (VS2005) ==&lt;br /&gt;
* &#039;&#039;llmozlib-vc80.lib(llembeddedbrowserwindow.obj) : error LNK2019: unresolved external symbol __invalid_parameter_noinfo referenced&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You are most likely trying a debug build under VS2005.  For debug builds, see the compile instruction section on [[finding_leaks]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cannot open include file: &#039;ares.h&#039; ==&lt;br /&gt;
download src from http://daniel.haxx.se/projects/c-ares/&lt;br /&gt;
&lt;br /&gt;
compile c-ares-1.4.0/vc/areslib&lt;br /&gt;
&lt;br /&gt;
copy c-ares-1.4.0/vc/areslib/Release/areslib.lib to linden/libraries/i686-win32/lib_release and to lib_debug&lt;br /&gt;
&lt;br /&gt;
copy c-ares-1.4.0/*.h to linden/libraries/i686-win32/include/ares&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Other (older) notes ==&lt;br /&gt;
* Mozilla is not compatible with visual studio 2005, so we have not migrated the codebase, so we do not know if it works. &lt;br /&gt;
&lt;br /&gt;
* Added my errors at [[User:Adam_Zaius/MSVS2005 Errors]] [[User:Adam Zaius|Adam Zaius]] 09:40, 8 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
* To minimize the number of warnings for now: in C/C++-Preprocessor add &#039;;_CRT_SECURE_NO_DEPRECATE&#039; to the Preprocessor Definitions, that will supress deprecation warnings --[[User:Artm Udal|Artm Udal]] 12:42, 8 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Mac OS X =&lt;br /&gt;
&lt;br /&gt;
Getting:&lt;br /&gt;
&lt;br /&gt;
*/linden/indra/newview/../llwindow/llglheaders.h:377:31: error: GL/glh_extensions.h: No such file or directory&lt;br /&gt;
** This means you didn&#039;t [[Compiling the viewer (Mac OS X)#Viewer Source, Libraries, and Artwork|merge the libraries]] right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Linux = &lt;br /&gt;
&lt;br /&gt;
==== Packaging errors ====&lt;br /&gt;
&lt;br /&gt;
The final packaging step may fail with errors about the manifest if you are not using the &amp;lt;i&amp;gt;slviewer-linux-libs&amp;lt;/i&amp;gt; bundle; in this case, if you still wish to end up with an end-user viewer package incorporating your own libraries, you can edit the manifest file found at &amp;lt;b&amp;gt;indra/newview/viewer_manifest.py&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Various Compilation problems ====&lt;br /&gt;
* g++-3.4 -o linux_crash_logger/linux-crash-logger-i686-bin-globalsyms --no-keep-memory --reduce-memory-overheads /tmp/paul/home/paul/builds/secondlife/src/linden/indra/i686-linux-client-release/llcrashlogger/llcrashlogger.o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/i686-linux-client-release/linux_crash_logger/linux_crash_logger.o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/i686-linux-client-release/linux_crash_logger/llcrashloggerlinux.o -Llib_release_client/i686-linux -L/home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client -lllui -lllxml -lllmessage -lllvfs -lllmath -lllcommon -lcurl -lssl -lcrypto -laprutil-1 -lapr-1 -lcares -lexpat -ldb-4.2 -lgtk-x11-2.0&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libcurl.a when searching for -lcurl&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libssl.so when searching for -lssl&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libcrypto.so when searching for -lcrypto&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libaprutil-1.so when searching for -laprutil-1&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libapr-1.so when searching for -lapr-1&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libcares.a when searching for -lcares&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libexpat.so when searching for -lexpat&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libdb-4.2.so when searching for -ldb-4.2&lt;br /&gt;
/usr/bin/ld: cannot find -ldb-4.2&lt;br /&gt;
collect2: ld returned 1 exit status&lt;br /&gt;
&lt;br /&gt;
[paul@myhost secondlife]$ pacman -Q db&lt;br /&gt;
db 4.6.21-2&lt;br /&gt;
&lt;br /&gt;
[paul@myhost secondlife]$ uname -a&lt;br /&gt;
Linux myhost 2.6.23-ARCH #1 SMP PREEMPT Tue Jan 15 07:17:51 CET 2008 x86_64 Intel(R) Celeron(R) CPU 2.66GHz GenuineIntel GNU/Linux&lt;br /&gt;
&lt;br /&gt;
And using:&lt;br /&gt;
source=(&#039;secondlife.desktop&#039; &#039;secondlife.install&#039; &#039;secondlife.launcher&#039; \&lt;br /&gt;
&amp;quot;http://secondlife.com/developers/opensource/downloads/2008/01/slviewer-src-RC-${pkgver}.tar.gz&amp;quot; \&lt;br /&gt;
&#039;http://secondlife.com/developers/opensource/downloads/2007/12/slviewer-artwork-RC-1.18.6.2.zip&#039; \&lt;br /&gt;
&#039;http://secondlife.com/developers/opensource/downloads/2007/12/slviewer-linux-libs-RC-1.18.6.2.tar.gz&#039; \&lt;br /&gt;
&#039;http://www.fmod.org/index.php/release/version/fmodapi375linux.tar.gz&#039; \&lt;br /&gt;
&#039;http://secondlife.com/developers/opensource/downloads/2007/12/llmozlib-src-20071221.tar.gz&#039;)&lt;br /&gt;
&lt;br /&gt;
Hum ok, I was trying to use:&lt;br /&gt;
scons DISTCC=no BTARGET=client BUILD=release MOZLIB=yes&lt;br /&gt;
&lt;br /&gt;
I&#039;ll retry with:&lt;br /&gt;
scons BUILD=release ARCH=x86_64 BTARGET=client DISTCC=no MOZLIB=yes FMOD=yes GSTREAMER=yes STANDALONE=yes&lt;br /&gt;
(Sconstruct says that with STANDALONE=yes -db-4.2 will not be used)&lt;br /&gt;
&lt;br /&gt;
But at the beginning I get:&lt;br /&gt;
scons: Reading SConscript files ...&lt;br /&gt;
Building client 1.18.6.2 on x86_64-linux (release)&lt;br /&gt;
No CCACHE_DIR set.&lt;br /&gt;
&lt;br /&gt;
scons: warning: Two different environments were specified for target /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llcrashlogger/llcrashlogger.o,&lt;br /&gt;
	but they appear to have the same action: $CXX -o $TARGET -c $CXXFLAGS $_CCCOMCOM $SOURCES&lt;br /&gt;
File &amp;quot;/home/paul/builds/secondlife/src/linden/indra/SConstruct&amp;quot;, line 568, in create_executable&lt;br /&gt;
scons: done reading SConscript files.&lt;br /&gt;
scons: Building targets ...&lt;br /&gt;
&lt;br /&gt;
well, the new scons line give different problem:&lt;br /&gt;
g++ -o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.o -c -g -pipe -Wall -Wno-reorder -Wno-trigraphs -Wno-sign-compare -Werror -fexceptions -pthread -D_REENTRANT -fno-math-errno -fsigned-char -fno-strict-aliasing -falign-loops=16 -ffast-math -O2 -D_FORTIFY_SOURCE=2 -DLL_STANDALONE -DLL_MESA_HEADLESS=0 -DLL_MESA=0 -DLL_LINUX=1 -DAPPID=secondlife -DLL_SDL=1 -DLL_FMOD=0 -DLL_X11=1 -DLL_GTK=1 -DLL_LIBXUL_ENABLED=1 -DLL_GSTREAMER_ENABLED=1 -DNDEBUG -DLL_RELEASE=1 -Illcommon -Illmath -Illwindow -Illaudio -Illcharacter -Illcrashlogger -Illdatabase -Illhavok -Illimage -Illinventory -Illmedia -Illmessage -Illprimitive -Illrender -Illscene -Illui -Illvfs -Illwindow -Illxml -Ilscript -Ilscript/lscript_compile -I/home/paul/builds/secondlife/src/linden/libraries/include -I/home/paul/builds/secondlife/src/linden/libraries/include/havok -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include -I/usr/include/atk-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/SDL -I/usr/include/apr-1 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/gstreamer-0.10 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0/include -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/libxml2 /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp&lt;br /&gt;
cc1plus: warnings being treated as errors&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp: In function &#039;const char* OrderToString(LLQuaternion::Order)&#039;:&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:701: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:704: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:707: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:710: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:713: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:716: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
scons: *** [/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.o] Error 1&lt;br /&gt;
scons: building terminated because of errors.&lt;br /&gt;
&lt;br /&gt;
Well, STANDALONE=yes make it use g++ rather than g++-3.4, so I decided to remove it, keeping&lt;br /&gt;
ARCH=X86_64 and others, but I get:&lt;br /&gt;
ranlib lib_release_client/x86_64-linux/libllprimitive.a&lt;br /&gt;
g++-3.4 -o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.o -c -g -pipe -Wall -Wno-reorder -Wno-trigraphs -Wno-sign-compare -Werror -fexceptions -pthread -D_REENTRANT -fno-math-errno -fsigned-char -fno-strict-aliasing -falign-loops=16 -ffast-math -O2 -D_FORTIFY_SOURCE=2 -DLL_MESA_HEADLESS=0 -DLL_MESA=0 -DLL_LINUX=1 -DAPPID=secondlife -DLL_SDL=1 -DLL_FMOD=0 -DLL_X11=1 -DLL_GTK=1 -DLL_LIBXUL_ENABLED=1 -DLL_GSTREAMER_ENABLED=1 -DNDEBUG -DLL_RELEASE=1 -Illcommon -Illmath -Illwindow -Illaudio -Illcharacter -Illcrashlogger -Illdatabase -Illhavok -Illimage -Illinventory -Illmedia -Illmessage -Illprimitive -Illrender -Illscene -Illui -Illvfs -Illwindow -Illxml -Ilscript -Ilscript/lscript_compile -I/home/paul/builds/secondlife/src/linden/libraries/include -I/home/paul/builds/secondlife/src/linden/libraries/include/havok -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/ELFIO -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/atk-1.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/gtk-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/llfreetype2 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/pango-1.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/gstreamer-0.10 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0/include -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/libxml2 /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:41:44: llfreetype2/freetype/ft2build.h: No such file or directory&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:56: error: `FT_Render_Mode&#039; does not name a type&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:60: error: `FT_Library&#039; does not name a type&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp: In constructor `LLFontManager::LLFontManager()&#039;:&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:78: error: `gFTLibrary&#039; was not declared in this scope&lt;br /&gt;
... [many more errors]&lt;br /&gt;
&lt;br /&gt;
oh well, SConstruct says I need: cairo glib-2.0 atk gmobile-2.0 gdk-2.0 gdk-pixbuf-2.0 pango pangoft2 pangox pangoxft gtk+-2.0 sdl vorbis vorbisenc vorbisfile&lt;br /&gt;
&lt;br /&gt;
Maybe this is pangoft2 that is missing.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Unable to initialize communications&amp;quot;&lt;br /&gt;
** If the viewer just displays the error message &amp;quot; Unable to initialize communications&amp;quot; and exits, it can&#039;t find message_template.msg. You did remember to copy it over, right?&lt;br /&gt;
&lt;br /&gt;
* Blino&#039;s SL build/linking patches for &#039;&#039;&#039;gcc4&#039;&#039;&#039;: http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/secondlife/current/&lt;br /&gt;
* objcopy: &amp;lt;b&amp;gt;&#039;newview/linux_tools/exposed-symbols.txt&#039;&amp;lt;/b&amp;gt;: No such file&lt;br /&gt;
** Tofu says... &#039;This is an omission from our manifest which I&#039;ll fix.  Meanwhile it&#039;s a safe fix to create an empty file with that name.&#039;&lt;br /&gt;
&lt;br /&gt;
* Something like: &amp;lt;b&amp;gt;/usr/bin/ld: cannot find -lz&amp;lt;/b&amp;gt;&lt;br /&gt;
** Nadia says: Install the zlib development headers. (Ubuntu package zlib1g-dev, Red Hat zlib-devel.)&lt;br /&gt;
&lt;br /&gt;
* Something like: indra.y.cpp:17: &amp;lt;b&amp;gt;error: previous declaration of `int yyparse()&#039;&amp;lt;/b&amp;gt;&lt;br /&gt;
** Tofu says... &#039;This appears to be a problem with some versions of flex/bison.  A resident reports success when comment out the &amp;lt;i&amp;gt;#ifdef __cplusplus&amp;lt;/i&amp;gt; lines in lscript/lscript_compile/indra.y&#039;&lt;br /&gt;
** Nadia says: install the zlib development headers first and try recompiling. Commenting out those lines results in a error indra.l:666: &amp;lt;b&amp;gt;undefined     &lt;br /&gt;
* Linking failures (&amp;quot;script not found&amp;quot;) due to spaces in the LINKFLAGS variable?&lt;br /&gt;
** I saw a [http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4665538 report], and modified the SConstruct file to drop the trailing arguments (and spaces) in LINKFLAGS.&lt;br /&gt;
&lt;br /&gt;
* Building [https://lists.secondlife.com/pipermail/sldev/2007-January/000091.html 20070112a] using &#039;&#039;BUILD=releasefordownload&#039;&#039; I get many &#039;&#039;[: 89: ==: unexpected operator&#039;&#039; errors; &#039;&#039;cp: target `SecondLife_i686_1_13_1_7/app_settings/*’ is not a directory&#039;&#039; error, and same thing for character, fonts, help, skins, res-sdl; &#039;&#039;[: 111: ==: unexpected operator, [: 120: SecondLife_i686_1_13_1_7.tar.bz2: unexpected operator&#039;&#039;. I can succesfully run the client from the source tree.&lt;br /&gt;
** i think this has been fixed --[[User:Signore Iredell|Signore Iredell]] 06:09, 9 June 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
* scons: *** While building `[&#039;.../linden/indra/i686-linux-client-release/lscript/lscript_compile/indra.l.cpp&#039;]&#039;: Don&#039;t know how to build a file with suffix `.l&#039;.&lt;br /&gt;
** You probably don&#039;t have all the dependencies installed (I had the same problem). Check that you have flex and bison. --[[User:Random73 Janus|Random73 Janus]] 07:43, 16 May 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
* Something like: linden/indra/i686-linux-client-release/llrender/llimagegl.cpp:122: &amp;lt;b&amp;gt;error: `glActiveTextureARB&#039; was not declared in this scope&amp;lt;/b&amp;gt;	 &lt;br /&gt;
** Tofu says... &#039;You&#039;ll need to install OpenGL headers if you don&#039;t already have them: gl.h, glext.h, glu.h (The ones from &#039;mesa&#039; should work)	 &lt;br /&gt;
** two residents report good luck on Gentoo after doing &#039;eselect opengl set xorg-x11&#039; (&amp;lt;b&amp;gt;but note!!&amp;lt;/b&amp;gt; You must know what you&#039;re doing; this may change your default system OpenGL drivers, and you will probably want to change them back again after the compile, e.g. &#039;eselect opengl set nvidia&#039;)&#039;&lt;br /&gt;
&lt;br /&gt;
*Building Shared Library ELFIO [[Compiling_the_viewer_%28Linux%29]] on AMD64 ubuntu 6.10&lt;br /&gt;
     g++-3.4 -shared *.o -o libelfio.so&lt;br /&gt;
     /usr/bin/ld: ELFIDynamic.o: relocation R_X86_64_32 against `a local symbol&#039; can &lt;br /&gt;
     not be used when making a  shared object; recompile with -fPIC&lt;br /&gt;
     ELFIDynamic.o: could not read symbols: Bad value&#039;&#039;&#039;&lt;br /&gt;
** I got around this with &amp;quot;export CXXFLAGS=-fPIC&amp;quot; before configuring ELFIO. &lt;br /&gt;
&lt;br /&gt;
* Building Client on Ubuntu 7.04 AMD64&lt;br /&gt;
     /usr/bin/ld: skipping incompatible /home/dereck/Desktop/SLdev/linden/libraries/i686-linux/lib_release_client/libopenjpeg.a when searching for -lopenjpeg&lt;br /&gt;
     /usr/bin/ld: cannot find -lopenjpeg&lt;br /&gt;
     collect2: ld returned 1 exit status&lt;br /&gt;
** I went to the OpenJPEG website, downloaded the source, compiled for my system, installed it. The VWR compile  was happy after that. Although it&#039;s not done yet and I&#039;m still fixing another error, that I assume is unrelated.&lt;br /&gt;
&lt;br /&gt;
* C-Ares compatability issue.&lt;br /&gt;
Compiling with c-ares version 1.5.1 got a compile error in llares.cpp:&lt;br /&gt;
&lt;br /&gt;
linden/indra/x86_64-linux-client-release/llcommon/llares.cpp: In member function `void LLAres::getHostByName(const char*, LLAres::HostResponder*, int)&#039;:&lt;br /&gt;
&lt;br /&gt;
linden/indra/x86_64-linux-client-release/llcommon/llares.cpp:147: error: invalid conversion from `void (*)(void*, int, hostent*)&#039; to `void (*)(void*, int, int, hostent*)&#039;&lt;br /&gt;
&lt;br /&gt;
Fixed with patch from https://jira.secondlife.com/browse/VWR-3480&lt;br /&gt;
&lt;br /&gt;
==== scons got wild ====&lt;br /&gt;
&lt;br /&gt;
* AttributeError: SConsEnvironment instance has no attribute &#039;CFile&#039;&lt;br /&gt;
: This probably means you have no bison, flex, or equivalent tools installed on the standard locations on your system.&lt;br /&gt;
:* When your system has no bison installed, the above message will be supplemented as:&lt;br /&gt;
 env.CFile(target=build_dir+&#039;/lscript/lscript_compile/indra.y.c&#039;, source=&#039;lscript/lscript_compile/indra.y&#039;)&lt;br /&gt;
:* When your system has no flex installed, the above message will be supplemented as:&lt;br /&gt;
 env.CFile(target=build_dir+&#039;/lscript/lscript_compile/indra.l.cpp&#039;, source=&#039;lscript/lscript_compile/indra.l&#039;)&lt;br /&gt;
: Installing the appropriate package should solve this issue.&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Scalar_Tardis/NOLOGO-Compile-Err&amp;diff=74412</id>
		<title>User:Scalar Tardis/NOLOGO-Compile-Err</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Scalar_Tardis/NOLOGO-Compile-Err&amp;diff=74412"/>
		<updated>2008-06-25T10:36:01Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: add log with no problems with NOLOGO&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I&#039;m attempting to build 1.19.1.4 using VS2003.... this is the last of the compile errors.&lt;br /&gt;
&lt;br /&gt;
==Project: win_crash_logger==&lt;br /&gt;
===Build Log===&lt;br /&gt;
------- Build started: Project: win_crash_logger, Configuration: ReleaseNoOpt|Win32 -------&lt;br /&gt;
&lt;br /&gt;
===Command Lines===&lt;br /&gt;
Creating temporary file &amp;quot;c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\win_crash_logger\ReleaseNoOpt\RSP0000D5.rsp&amp;quot; with contents&lt;br /&gt;
[&lt;br /&gt;
/OUT:&amp;quot;win_crash_logger.exe&amp;quot; /INCREMENTAL:NO /NOLOGO /LIBPATH:&amp;quot;../lib_releasenoopt/i686-win32&amp;quot; /LIBPATH:&amp;quot;../../libraries/i686-win32/lib_release&amp;quot; /DEBUG /PDB:&amp;quot;ReleaseNoOpt/win_crash_logger.pdb&amp;quot; /SUBSYSTEM:WINDOWS /OPT:REF /OPT:ICF /MACHINE:X86 apr-1.lib aprutil-1.lib ws2_32.lib advapi32.lib comdlg32.lib dxguid.lib gdi32.lib kernel32.lib libexpatMT.lib netapi32.lib ole32.lib oleaut32.lib shell32.lib user32.lib wininet.lib winspool.lib libcurl.lib ssleay32.lib libeay32.lib zlib.lib winmm.lib psapi.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llvfs.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llmath.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llxml.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llmessage.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llcommon.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llwindow.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\apr-1.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\aprutil-1.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libexpatMT.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libcurl.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\ssleay32.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libeay32.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\zlib.lib&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;.\releasenoopt\llcrashlogger.obj&lt;br /&gt;
.\releasenoopt\llcrashloggerwindows.obj&lt;br /&gt;
.\releasenoopt\StdAfx.obj&lt;br /&gt;
.\releasenoopt\win_crash_logger.obj&lt;br /&gt;
.\releasenoopt\win_crash_logger.res&lt;br /&gt;
]&amp;lt;/pre&amp;gt;&lt;br /&gt;
Creating command line &amp;quot;link.exe @c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\win_crash_logger\ReleaseNoOpt\RSP0000D5.rsp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Output Window===&lt;br /&gt;
Linking...&lt;br /&gt;
&lt;br /&gt;
link: extra operand `/NOLOGO&#039;&lt;br /&gt;
&lt;br /&gt;
Try `link --help&#039; for more information.&lt;br /&gt;
&lt;br /&gt;
win_crash_logger : error PRJ0002 : error result returned from &#039;link.exe&#039;.&lt;br /&gt;
&lt;br /&gt;
===Results===&lt;br /&gt;
Build log was saved at &amp;quot;file://c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\win_crash_logger\ReleaseNoOpt\BuildLog.htm&amp;quot;&lt;br /&gt;
win_crash_logger - 1 error(s), 0 warning(s)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Project: win_updater==&lt;br /&gt;
===Build Log===&lt;br /&gt;
------- Build started: Project: win_updater, Configuration: ReleaseNoOpt|Win32 -------&lt;br /&gt;
&lt;br /&gt;
===Command Lines===&lt;br /&gt;
Creating temporary file &amp;quot;c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\win_updater\ReleaseNoOpt\RSP0000D6.rsp&amp;quot; with contents&lt;br /&gt;
[&lt;br /&gt;
/OUT:&amp;quot;updater.exe&amp;quot; /INCREMENTAL:NO /NOLOGO /LIBPATH:&amp;quot;../lib_ReleaseNoOpt/i686-win32&amp;quot; /LIBPATH:&amp;quot;../../libraries/i686-win32/lib_release&amp;quot; /DEBUG /PDB:&amp;quot;ReleaseNoOpt/win_updater.pdb&amp;quot; /SUBSYSTEM:WINDOWS /OPT:REF /OPT:ICF /MACHINE:X86 advapi32.lib comdlg32.lib gdi32.lib kernel32.lib odbc32.lib odbccp32.lib ole32.lib oleaut32.lib shell32.lib user32.lib uuid.lib wininet.lib winspool.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib&lt;br /&gt;
&amp;lt;pre&amp;gt;.\releasenoopt\updater.obj&amp;lt;/pre&amp;gt;&lt;br /&gt;
]&lt;br /&gt;
Creating command line &amp;quot;link.exe @c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\win_updater\ReleaseNoOpt\RSP0000D6.rsp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Output Window===&lt;br /&gt;
Linking...&lt;br /&gt;
&lt;br /&gt;
link: extra operand `/NOLOGO&#039;&lt;br /&gt;
&lt;br /&gt;
Try `link --help&#039; for more information.&lt;br /&gt;
&lt;br /&gt;
win_updater : error PRJ0002 : error result returned from &#039;link.exe&#039;.&lt;br /&gt;
&lt;br /&gt;
===Results===&lt;br /&gt;
Build log was saved at &amp;quot;file://c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\win_updater\ReleaseNoOpt\BuildLog.htm&amp;quot;&lt;br /&gt;
&lt;br /&gt;
win_updater - 1 error(s), 0 warning(s)&lt;br /&gt;
&lt;br /&gt;
==Project: test==&lt;br /&gt;
===Build Log=== 	 	&lt;br /&gt;
------- Build started: Project: test, Configuration: ReleaseNoOpt|Win32 -------&lt;br /&gt;
&lt;br /&gt;
===Command Lines===&lt;br /&gt;
Creating temporary file &amp;quot;c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\test\ReleaseNoOpt\RSP0000D7.rsp&amp;quot; with contents&lt;br /&gt;
[&lt;br /&gt;
/OUT:&amp;quot;ReleaseNoOpt/test.exe&amp;quot; /INCREMENTAL /NOLOGO /LIBPATH:&amp;quot;../lib_ReleaseNoOpt/i686-win32&amp;quot; /LIBPATH:&amp;quot;../../libraries/i686-win32/lib_release&amp;quot; /NODEFAULTLIB:&amp;quot;libcmt.lib&amp;quot; /DEBUG /PDB:&amp;quot;ReleaseNoOpt/test.pdb&amp;quot; /SUBSYSTEM:CONSOLE /MACHINE:X86 advapi32.lib apr-1.lib aprutil-1.lib comdlg32.lib gdi32.lib jpeglib_6b.lib kernel32.lib libboost_regex-vc71-mt-s.lib libcurl.lib libeay32.lib libexpatMT.lib mswsock.lib netapi32.lib odbc32.lib odbccp32.lib ole32.lib oleaut32.lib psapi.lib shell32.lib ssleay32.lib user32.lib winmm.lib winspool.lib ws2_32.lib xmlrpcepi.lib zlib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llvfs.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llmath.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\lscript_library.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llxml.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llmessage.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\lscript_compile.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llinventory.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\lscript_execute.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llprimitive.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llcommon.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\apr-1.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\aprutil-1.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\jpeglib_6b.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libboost_regex-vc71-mt-s.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libcurl.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libeay32.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libexpatMT.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\ssleay32.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\xmlrpcepi.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\zlib.lib&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;.\releasenoopt\common.obj&lt;br /&gt;
.\releasenoopt\inventory.obj&lt;br /&gt;
.\releasenoopt\io.obj&lt;br /&gt;
.\releasenoopt\llapp_tut.obj&lt;br /&gt;
.\releasenoopt\llbase64_tut.obj&lt;br /&gt;
.\releasenoopt\llbuffer_tut.obj&lt;br /&gt;
.\releasenoopt\lldate_tut.obj&lt;br /&gt;
.\releasenoopt\llerror_tut.obj&lt;br /&gt;
.\releasenoopt\llhost_tut.obj&lt;br /&gt;
.\releasenoopt\llhttpclient_tut.obj&lt;br /&gt;
.\releasenoopt\lljoint_tut.obj&lt;br /&gt;
.\releasenoopt\llmime_tut.obj&lt;br /&gt;
.\releasenoopt\llnamevalue_tut.obj&lt;br /&gt;
.\releasenoopt\llpermissions_tut.obj&lt;br /&gt;
.\releasenoopt\llpipeutil.obj&lt;br /&gt;
.\releasenoopt\llquaternion_tut.obj&lt;br /&gt;
.\releasenoopt\llrandom_tut.obj&lt;br /&gt;
.\releasenoopt\llsaleinfo_tut.obj&lt;br /&gt;
.\releasenoopt\llsd_new_tut.obj&lt;br /&gt;
.\releasenoopt\llsdmessagebuilder_tut.obj&lt;br /&gt;
.\releasenoopt\llsdmessagereader_tut.obj&lt;br /&gt;
.\releasenoopt\llsdserialize_tut.obj&lt;br /&gt;
.\releasenoopt\llsdutil_tut.obj&lt;br /&gt;
.\releasenoopt\llservicebuilder_tut.obj&lt;br /&gt;
.\releasenoopt\llstreamtools_tut.obj&lt;br /&gt;
.\releasenoopt\lltemplatemessagebuilder_tut.obj&lt;br /&gt;
.\releasenoopt\lltiming_tut.obj&lt;br /&gt;
.\releasenoopt\lltut.obj&lt;br /&gt;
.\releasenoopt\lluri_tut.obj&lt;br /&gt;
.\releasenoopt\lluserrelations_tut.obj&lt;br /&gt;
.\releasenoopt\lluuidhashmap_tut.obj&lt;br /&gt;
.\releasenoopt\math.obj&lt;br /&gt;
.\releasenoopt\reflection_tut.obj&lt;br /&gt;
.\releasenoopt\test.obj&lt;br /&gt;
.\releasenoopt\v2math_tut.obj&lt;br /&gt;
.\releasenoopt\v3color_tut.obj&lt;br /&gt;
.\releasenoopt\v3dmath_tut.obj&lt;br /&gt;
.\releasenoopt\v3math_tut.obj&lt;br /&gt;
.\releasenoopt\v4color_tut.obj&lt;br /&gt;
.\releasenoopt\v4coloru_tut.obj&lt;br /&gt;
.\releasenoopt\v4math_tut.obj&lt;br /&gt;
.\releasenoopt\xform_tut.obj&lt;br /&gt;
]&amp;lt;/pre&amp;gt;&lt;br /&gt;
Creating command line &amp;quot;link.exe @c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\test\ReleaseNoOpt\RSP0000D7.rsp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Output Window===&lt;br /&gt;
Linking...&lt;br /&gt;
&lt;br /&gt;
link: extra operand `/NOLOGO&#039;&lt;br /&gt;
&lt;br /&gt;
Try `link --help&#039; for more information.&lt;br /&gt;
&lt;br /&gt;
test : error PRJ0002 : error result returned from &#039;link.exe&#039;.&lt;br /&gt;
&lt;br /&gt;
===Results===&lt;br /&gt;
Build log was saved at &amp;quot;file://c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\test\ReleaseNoOpt\BuildLog.htm&amp;quot;&lt;br /&gt;
test - 1 error(s), 0 warning(s)&lt;br /&gt;
&lt;br /&gt;
==Project: newview==&lt;br /&gt;
===Build Log===&lt;br /&gt;
------- Build started: Project: newview, Configuration: ReleaseNoOpt|Win32 -------&lt;br /&gt;
&lt;br /&gt;
===Command Lines===&lt;br /&gt;
Creating temporary file &amp;quot;c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\newview\ReleaseNoOpt\RSP0000D8.rsp&amp;quot; with contents&lt;br /&gt;
[&lt;br /&gt;
/OUT:&amp;quot;ReleaseNoOpt/newview_noopt.exe&amp;quot; /INCREMENTAL /NOLOGO /LIBPATH:&amp;quot;../lib_releasenoopt/i686-win32&amp;quot; /LIBPATH:&amp;quot;../../libraries/i686-win32/lib_release&amp;quot; /NODEFAULTLIB:&amp;quot;msvcrt.lib&amp;quot; /NODEFAULTLIB:&amp;quot;libc.lib&amp;quot; /DEBUG /PDB:&amp;quot;newview_noopt.pdb&amp;quot; /SUBSYSTEM:WINDOWS /OPT:NOREF /OPT:NOICF /MACHINE:X86 advapi32.lib apr-1.lib aprutil-1.lib areslib.lib comdlg32.lib dinput8.lib dsound.lib dxerr8.lib dxguid.lib fmodvc.lib freetype.lib gdi32.lib glu32.lib jpeglib_6b.lib kernel32.lib libboost_regex-vc71-mt-s.lib libcurl.lib libeay32.lib libexpatMT.lib OpenJPEG.lib mswsock.lib netapi32.lib odbc32.lib odbccp32.lib ogg_static_mt.lib ole32.lib oleaut32.lib opengl32.lib png12.lib psapi.lib shell32.lib ssleay32.lib user32.lib Vfw32.lib vorbis_static_mt.lib vorbisenc_static_mt.lib vorbisfile_static_mt.lib winmm.lib winspool.lib ws2_32.lib xmlrpcepi.lib zlib.lib dnsapi.lib EZ_LCD_Wrapper.lib lgLcd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llvfs.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llcharacter.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llimagej2coj.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llmath.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\lscript_library.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llxml.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llmessage.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\lscript_compile.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llimage.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llinventory.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llui.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\lscript_execute.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llprimitive.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llcommon.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llaudio.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llwindow.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llrender.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llmedia.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\apr-1.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\aprutil-1.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\areslib.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\fmodvc.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\freetype.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\jpeglib_6b.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libboost_regex-vc71-mt-s.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libcurl.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libeay32.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libexpatMT.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\OpenJPEG.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\ogg_static_mt.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\png12.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\ssleay32.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\vorbis_static_mt.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\vorbisenc_static_mt.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\vorbisfile_static_mt.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\xmlrpcepi.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\zlib.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\EZ_LCD_Wrapper.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\lgLcd.lib&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;.\releasenoopt\fakevoicesoundsignal.obj&lt;br /&gt;
.\releasenoopt\head.obj&lt;br /&gt;
.\releasenoopt\llagent.obj&lt;br /&gt;
.\releasenoopt\llagentdata.obj&lt;br /&gt;
.\releasenoopt\llagentpilot.obj&lt;br /&gt;
.\releasenoopt\llappviewer.obj&lt;br /&gt;
.\releasenoopt\llappviewerwin32.obj&lt;br /&gt;
.\releasenoopt\llassetuploadresponders.obj&lt;br /&gt;
.\releasenoopt\llaudiosourcevo.obj&lt;br /&gt;
.\releasenoopt\llbbox.obj&lt;br /&gt;
.\releasenoopt\llbox.obj&lt;br /&gt;
.\releasenoopt\llcallbacklist.obj&lt;br /&gt;
.\releasenoopt\llcallingcard.obj&lt;br /&gt;
.\releasenoopt\llcameraview.obj&lt;br /&gt;
.\releasenoopt\llcaphttpsender.obj&lt;br /&gt;
.\releasenoopt\llchatbar.obj&lt;br /&gt;
.\releasenoopt\llclassifiedinfo.obj&lt;br /&gt;
.\releasenoopt\llclassifiedstatsresponder.obj&lt;br /&gt;
.\releasenoopt\llcloud.obj&lt;br /&gt;
.\releasenoopt\llcolorscheme.obj&lt;br /&gt;
.\releasenoopt\llcolorswatch.obj&lt;br /&gt;
.\releasenoopt\llcommandhandler.obj&lt;br /&gt;
.\releasenoopt\llcompass.obj&lt;br /&gt;
.\releasenoopt\llcompilequeue.obj&lt;br /&gt;
.\releasenoopt\llconfirmationmanager.obj&lt;br /&gt;
.\releasenoopt\llconsole.obj&lt;br /&gt;
.\releasenoopt\llcontainerview.obj&lt;br /&gt;
.\releasenoopt\llcontroldef.obj&lt;br /&gt;
.\releasenoopt\llcubemap.obj&lt;br /&gt;
.\releasenoopt\llcurrencyuimanager.obj&lt;br /&gt;
.\releasenoopt\llcylinder.obj&lt;br /&gt;
.\releasenoopt\lldebugmessagebox.obj&lt;br /&gt;
.\releasenoopt\lldebugview.obj&lt;br /&gt;
.\releasenoopt\lldirpicker.obj&lt;br /&gt;
.\releasenoopt\lldrawable.obj&lt;br /&gt;
.\releasenoopt\lldrawpool.obj&lt;br /&gt;
.\releasenoopt\lldrawpoolalpha.obj&lt;br /&gt;
.\releasenoopt\lldrawpoolavatar.obj&lt;br /&gt;
.\releasenoopt\lldrawpoolbump.obj&lt;br /&gt;
.\releasenoopt\lldrawpoolground.obj&lt;br /&gt;
.\releasenoopt\lldrawpoolsimple.obj&lt;br /&gt;
.\releasenoopt\lldrawpoolsky.obj&lt;br /&gt;
.\releasenoopt\lldrawpoolterrain.obj&lt;br /&gt;
.\releasenoopt\lldrawpooltree.obj&lt;br /&gt;
.\releasenoopt\lldrawpoolwater.obj&lt;br /&gt;
.\releasenoopt\lldrawpoolwlsky.obj&lt;br /&gt;
.\releasenoopt\lldriverparam.obj&lt;br /&gt;
.\releasenoopt\lldynamictexture.obj&lt;br /&gt;
.\releasenoopt\llemote.obj&lt;br /&gt;
.\releasenoopt\lleventinfo.obj&lt;br /&gt;
.\releasenoopt\lleventnotifier.obj&lt;br /&gt;
.\releasenoopt\lleventpoll.obj&lt;br /&gt;
.\releasenoopt\llface.obj&lt;br /&gt;
.\releasenoopt\llfasttimerview.obj&lt;br /&gt;
.\releasenoopt\llfeaturemanager.obj&lt;br /&gt;
.\releasenoopt\llfilepicker.obj&lt;br /&gt;
.\releasenoopt\llfirstuse.obj&lt;br /&gt;
.\releasenoopt\llflexibleobject.obj&lt;br /&gt;
.\releasenoopt\llfloaterabout.obj&lt;br /&gt;
.\releasenoopt\llfloateractivespeakers.obj&lt;br /&gt;
.\releasenoopt\llfloateranimpreview.obj&lt;br /&gt;
.\releasenoopt\llfloaterauction.obj&lt;br /&gt;
.\releasenoopt\llfloateravatarinfo.obj&lt;br /&gt;
.\releasenoopt\llfloateravatarpicker.obj&lt;br /&gt;
.\releasenoopt\llfloateravatartextures.obj&lt;br /&gt;
.\releasenoopt\llfloaterbuildoptions.obj&lt;br /&gt;
.\releasenoopt\llfloaterbump.obj&lt;br /&gt;
.\releasenoopt\llfloaterbuy.obj&lt;br /&gt;
.\releasenoopt\llfloaterbuycontents.obj&lt;br /&gt;
.\releasenoopt\llfloaterbuycurrency.obj&lt;br /&gt;
.\releasenoopt\llfloaterbuyland.obj&lt;br /&gt;
.\releasenoopt\llfloaterchat.obj&lt;br /&gt;
.\releasenoopt\llfloaterchatterbox.obj&lt;br /&gt;
.\releasenoopt\llfloaterclassified.obj&lt;br /&gt;
.\releasenoopt\llfloaterclothing.obj&lt;br /&gt;
.\releasenoopt\llfloatercolorpicker.obj&lt;br /&gt;
.\releasenoopt\llfloatercustomize.obj&lt;br /&gt;
.\releasenoopt\llfloaterdaycycle.obj&lt;br /&gt;
.\releasenoopt\llfloaterdirectory.obj&lt;br /&gt;
.\releasenoopt\llfloatereditui.obj&lt;br /&gt;
.\releasenoopt\llfloaterevent.obj&lt;br /&gt;
.\releasenoopt\llfloaterenvsettings.obj&lt;br /&gt;
.\releasenoopt\llfloaterfriends.obj&lt;br /&gt;
.\releasenoopt\llfloatergesture.obj&lt;br /&gt;
.\releasenoopt\llfloatergodtools.obj&lt;br /&gt;
.\releasenoopt\llfloatergroupinfo.obj&lt;br /&gt;
.\releasenoopt\llfloatergroupinvite.obj&lt;br /&gt;
.\releasenoopt\llfloatergroups.obj&lt;br /&gt;
.\releasenoopt\llfloaterhardwaresettings.obj&lt;br /&gt;
.\releasenoopt\llfloaterhtml.obj&lt;br /&gt;
.\releasenoopt\llfloaterhtmlhelp.obj&lt;br /&gt;
.\releasenoopt\llfloaterimagepreview.obj&lt;br /&gt;
.\releasenoopt\llfloaterinspect.obj&lt;br /&gt;
.\releasenoopt\llfloaterlagmeter.obj&lt;br /&gt;
.\releasenoopt\llfloaterland.obj&lt;br /&gt;
.\releasenoopt\llfloaterlandholdings.obj&lt;br /&gt;
.\releasenoopt\llfloaterlandmark.obj&lt;br /&gt;
.\releasenoopt\llfloatermap.obj&lt;br /&gt;
.\releasenoopt\llfloatermute.obj&lt;br /&gt;
.\releasenoopt\llfloaternamedesc.obj&lt;br /&gt;
.\releasenoopt\llfloaternewim.obj&lt;br /&gt;
.\releasenoopt\llfloateropenobject.obj&lt;br /&gt;
.\releasenoopt\llfloaterparcel.obj&lt;br /&gt;
.\releasenoopt\llfloaterpermissionsmgr.obj&lt;br /&gt;
.\releasenoopt\llfloaterpostcard.obj&lt;br /&gt;
.\releasenoopt\llfloaterpostprocess.obj&lt;br /&gt;
.\releasenoopt\llfloaterpreference.obj&lt;br /&gt;
.\releasenoopt\llfloaterproperties.obj&lt;br /&gt;
.\releasenoopt\llfloaterregioninfo.obj&lt;br /&gt;
.\releasenoopt\llfloaterreleasemsg.obj&lt;br /&gt;
.\releasenoopt\llfloaterreporter.obj&lt;br /&gt;
.\releasenoopt\llfloaterscriptdebug.obj&lt;br /&gt;
.\releasenoopt\llfloatersellland.obj&lt;br /&gt;
.\releasenoopt\llfloatersnapshot.obj&lt;br /&gt;
.\releasenoopt\llfloatertelehub.obj&lt;br /&gt;
.\releasenoopt\llfloatertest.obj&lt;br /&gt;
.\releasenoopt\llfloatertools.obj&lt;br /&gt;
.\releasenoopt\llfloatertopobjects.obj&lt;br /&gt;
.\releasenoopt\llfloatertos.obj&lt;br /&gt;
.\releasenoopt\llfloaterurldisplay.obj&lt;br /&gt;
.\releasenoopt\llfloaterurlentry.obj&lt;br /&gt;
.\releasenoopt\llfloatervoicewizard.obj&lt;br /&gt;
.\releasenoopt\llfloaterwater.obj&lt;br /&gt;
.\releasenoopt\llfloaterwindlight.obj&lt;br /&gt;
.\releasenoopt\llfloaterworldmap.obj&lt;br /&gt;
.\releasenoopt\llfolderview.obj&lt;br /&gt;
.\releasenoopt\llfollowcam.obj&lt;br /&gt;
.\releasenoopt\llframestats.obj&lt;br /&gt;
.\releasenoopt\llframestatview.obj&lt;br /&gt;
.\releasenoopt\llgenepool.obj&lt;br /&gt;
.\releasenoopt\llgesturemgr.obj&lt;br /&gt;
.\releasenoopt\llgivemoney.obj&lt;br /&gt;
.\releasenoopt\llglsandbox.obj&lt;br /&gt;
.\releasenoopt\llglslshader.obj&lt;br /&gt;
.\releasenoopt\llgroupmgr.obj&lt;br /&gt;
.\releasenoopt\llgroupnotify.obj&lt;br /&gt;
.\releasenoopt\llhippo.obj&lt;br /&gt;
.\releasenoopt\llhoverview.obj&lt;br /&gt;
.\releasenoopt\llhudeffect.obj&lt;br /&gt;
.\releasenoopt\llhudeffectbeam.obj&lt;br /&gt;
.\releasenoopt\llhudeffectlookat.obj&lt;br /&gt;
.\releasenoopt\llhudeffectpointat.obj&lt;br /&gt;
.\releasenoopt\llhudeffecttrail.obj&lt;br /&gt;
.\releasenoopt\llhudicon.obj&lt;br /&gt;
.\releasenoopt\llhudmanager.obj&lt;br /&gt;
.\releasenoopt\llhudobject.obj&lt;br /&gt;
.\releasenoopt\llhudrender.obj&lt;br /&gt;
.\releasenoopt\llhudtext.obj&lt;br /&gt;
.\releasenoopt\llhudview.obj&lt;br /&gt;
.\releasenoopt\llimpanel.obj&lt;br /&gt;
.\releasenoopt\llimview.obj&lt;br /&gt;
.\releasenoopt\llinventoryactions.obj&lt;br /&gt;
.\releasenoopt\llinventorybridge.obj&lt;br /&gt;
.\releasenoopt\llinventoryclipboard.obj&lt;br /&gt;
.\releasenoopt\llinventorymodel.obj&lt;br /&gt;
.\releasenoopt\llinventoryview.obj&lt;br /&gt;
.\releasenoopt\lljoystickbutton.obj&lt;br /&gt;
.\releasenoopt\lllandmarklist.obj&lt;br /&gt;
.\releasenoopt\lllcd.obj&lt;br /&gt;
.\releasenoopt\lllogchat.obj&lt;br /&gt;
.\releasenoopt\llmanip.obj&lt;br /&gt;
.\releasenoopt\llmaniprotate.obj&lt;br /&gt;
.\releasenoopt\llmanipscale.obj&lt;br /&gt;
.\releasenoopt\llmaniptranslate.obj&lt;br /&gt;
.\releasenoopt\llmapresponders.obj&lt;br /&gt;
.\releasenoopt\llmediaremotectrl.obj&lt;br /&gt;
.\releasenoopt\llmemoryview.obj&lt;br /&gt;
.\releasenoopt\llmenucommands.obj&lt;br /&gt;
.\releasenoopt\llmimetypes.obj&lt;br /&gt;
.\releasenoopt\llmorphview.obj&lt;br /&gt;
.\releasenoopt\llmoveview.obj&lt;br /&gt;
.\releasenoopt\llmutelist.obj&lt;br /&gt;
.\releasenoopt\llnamebox.obj&lt;br /&gt;
.\releasenoopt\llnameeditor.obj&lt;br /&gt;
.\releasenoopt\llnamelistctrl.obj&lt;br /&gt;
.\releasenoopt\llnetmap.obj&lt;br /&gt;
.\releasenoopt\llnotify.obj&lt;br /&gt;
.\releasenoopt\lloverlaybar.obj&lt;br /&gt;
.\releasenoopt\llpanelaudioprefs.obj&lt;br /&gt;
.\releasenoopt\llpanelaudiovolume.obj&lt;br /&gt;
.\releasenoopt\llpanelavatar.obj&lt;br /&gt;
.\releasenoopt\llpanelclassified.obj&lt;br /&gt;
.\releasenoopt\llpanelcontents.obj&lt;br /&gt;
.\releasenoopt\llpaneldebug.obj&lt;br /&gt;
.\releasenoopt\llpaneldirbrowser.obj&lt;br /&gt;
.\releasenoopt\llpaneldirclassified.obj&lt;br /&gt;
.\releasenoopt\llpaneldirevents.obj&lt;br /&gt;
.\releasenoopt\llpaneldirfind.obj&lt;br /&gt;
.\releasenoopt\llpaneldirgroups.obj&lt;br /&gt;
.\releasenoopt\llpaneldirland.obj&lt;br /&gt;
.\releasenoopt\llpaneldirpeople.obj&lt;br /&gt;
.\releasenoopt\llpaneldirplaces.obj&lt;br /&gt;
.\releasenoopt\llpaneldirpopular.obj&lt;br /&gt;
.\releasenoopt\llpaneldisplay.obj&lt;br /&gt;
.\releasenoopt\llpanelevent.obj&lt;br /&gt;
.\releasenoopt\llpanelface.obj&lt;br /&gt;
.\releasenoopt\llpanelgeneral.obj&lt;br /&gt;
.\releasenoopt\llpanelgroup.obj&lt;br /&gt;
.\releasenoopt\llpanelgroupgeneral.obj&lt;br /&gt;
.\releasenoopt\llpanelgroupinvite.obj&lt;br /&gt;
.\releasenoopt\llpanelgrouplandmoney.obj&lt;br /&gt;
.\releasenoopt\llpanelgroupnotices.obj&lt;br /&gt;
.\releasenoopt\llpanelgrouproles.obj&lt;br /&gt;
.\releasenoopt\llpanelgroupvoting.obj&lt;br /&gt;
.\releasenoopt\llpanelinput.obj&lt;br /&gt;
.\releasenoopt\llpanelinventory.obj&lt;br /&gt;
.\releasenoopt\llpanelland.obj&lt;br /&gt;
.\releasenoopt\llpanellandmedia.obj&lt;br /&gt;
.\releasenoopt\llpanellandobjects.obj&lt;br /&gt;
.\releasenoopt\llpanellandoptions.obj&lt;br /&gt;
.\releasenoopt\llpanelLCD.obj&lt;br /&gt;
.\releasenoopt\llpanellogin.obj&lt;br /&gt;
.\releasenoopt\llpanelmorph.obj&lt;br /&gt;
.\releasenoopt\llpanelmsgs.obj&lt;br /&gt;
.\releasenoopt\llpanelnetwork.obj&lt;br /&gt;
.\releasenoopt\llpanelobject.obj&lt;br /&gt;
.\releasenoopt\llpanelpermissions.obj&lt;br /&gt;
.\releasenoopt\llpanelpick.obj&lt;br /&gt;
.\releasenoopt\llpanelplace.obj&lt;br /&gt;
.\releasenoopt\llpanelvolume.obj&lt;br /&gt;
.\releasenoopt\llpanelweb.obj&lt;br /&gt;
.\releasenoopt\llparcelselection.obj&lt;br /&gt;
.\releasenoopt\llpatchvertexarray.obj&lt;br /&gt;
.\releasenoopt\llpolymesh.obj&lt;br /&gt;
.\releasenoopt\llpolymorph.obj&lt;br /&gt;
.\releasenoopt\llpostprocess.obj&lt;br /&gt;
.\releasenoopt\llprefschat.obj&lt;br /&gt;
.\releasenoopt\llprefsim.obj&lt;br /&gt;
.\releasenoopt\llprefsvoice.obj&lt;br /&gt;
.\releasenoopt\llpreview.obj&lt;br /&gt;
.\releasenoopt\llpreviewanim.obj&lt;br /&gt;
.\releasenoopt\llpreviewgesture.obj&lt;br /&gt;
.\releasenoopt\llpreviewlandmark.obj&lt;br /&gt;
.\releasenoopt\llpreviewnotecard.obj&lt;br /&gt;
.\releasenoopt\llpreviewscript.obj&lt;br /&gt;
.\releasenoopt\llpreviewsound.obj&lt;br /&gt;
.\releasenoopt\llpreviewtexture.obj&lt;br /&gt;
.\releasenoopt\llprogressview.obj&lt;br /&gt;
.\releasenoopt\llregionposition.obj&lt;br /&gt;
.\releasenoopt\llremoteparcelrequest.obj&lt;br /&gt;
.\releasenoopt\llsavedsettingsglue.obj&lt;br /&gt;
.\releasenoopt\llselectmgr.obj&lt;br /&gt;
.\releasenoopt\llsky.obj&lt;br /&gt;
.\releasenoopt\llspatialpartition.obj&lt;br /&gt;
.\releasenoopt\llsphere.obj&lt;br /&gt;
.\releasenoopt\llsprite.obj&lt;br /&gt;
.\releasenoopt\llsrv.obj&lt;br /&gt;
.\releasenoopt\llstartup.obj&lt;br /&gt;
.\releasenoopt\llstatbar.obj&lt;br /&gt;
.\releasenoopt\llstatgraph.obj&lt;br /&gt;
.\releasenoopt\llstatusbar.obj&lt;br /&gt;
.\releasenoopt\llstatview.obj&lt;br /&gt;
.\releasenoopt\llsurface.obj&lt;br /&gt;
.\releasenoopt\llsurfacepatch.obj&lt;br /&gt;
.\releasenoopt\lltexlayer.obj&lt;br /&gt;
.\releasenoopt\lltexturecache.obj&lt;br /&gt;
.\releasenoopt\lltexturectrl.obj&lt;br /&gt;
.\releasenoopt\lltexturefetch.obj&lt;br /&gt;
.\releasenoopt\lltextureview.obj&lt;br /&gt;
.\releasenoopt\lltool.obj&lt;br /&gt;
.\releasenoopt\lltoolbar.obj&lt;br /&gt;
.\releasenoopt\lltoolbrush.obj&lt;br /&gt;
.\releasenoopt\lltoolcomp.obj&lt;br /&gt;
.\releasenoopt\lltooldraganddrop.obj&lt;br /&gt;
.\releasenoopt\lltoolface.obj&lt;br /&gt;
.\releasenoopt\lltoolfocus.obj&lt;br /&gt;
.\releasenoopt\lltoolgrab.obj&lt;br /&gt;
.\releasenoopt\lltoolgun.obj&lt;br /&gt;
.\releasenoopt\lltoolindividual.obj&lt;br /&gt;
.\releasenoopt\lltoolmgr.obj&lt;br /&gt;
.\releasenoopt\lltoolmorph.obj&lt;br /&gt;
.\releasenoopt\lltoolobjpicker.obj&lt;br /&gt;
.\releasenoopt\lltoolpie.obj&lt;br /&gt;
.\releasenoopt\lltoolpipette.obj&lt;br /&gt;
.\releasenoopt\lltoolplacer.obj&lt;br /&gt;
.\releasenoopt\lltoolselect.obj&lt;br /&gt;
.\releasenoopt\lltoolselectland.obj&lt;br /&gt;
.\releasenoopt\lltoolselectrect.obj&lt;br /&gt;
.\releasenoopt\lltoolview.obj&lt;br /&gt;
.\releasenoopt\lltracker.obj&lt;br /&gt;
.\releasenoopt\lluploaddialog.obj&lt;br /&gt;
.\releasenoopt\llurl.obj&lt;br /&gt;
.\releasenoopt\llurldispatcher.obj&lt;br /&gt;
.\releasenoopt\llurlhistory.obj&lt;br /&gt;
.\releasenoopt\llurlsimstring.obj&lt;br /&gt;
.\releasenoopt\llurlwhitelist.obj&lt;br /&gt;
.\releasenoopt\lluserauth.obj&lt;br /&gt;
.\releasenoopt\llvectorperfoptions.obj&lt;br /&gt;
.\releasenoopt\llvelocitybar.obj&lt;br /&gt;
.\releasenoopt\llviewchildren.obj&lt;br /&gt;
.\releasenoopt\llviewerassetstorage.obj&lt;br /&gt;
.\releasenoopt\llvieweraudio.obj&lt;br /&gt;
.\releasenoopt\llviewercamera.obj&lt;br /&gt;
.\releasenoopt\llviewercontrol.obj&lt;br /&gt;
.\releasenoopt\llviewerdisplay.obj&lt;br /&gt;
.\releasenoopt\llviewergenericmessage.obj&lt;br /&gt;
.\releasenoopt\llviewergesture.obj&lt;br /&gt;
.\releasenoopt\llviewerimage.obj&lt;br /&gt;
.\releasenoopt\llviewerimagelist.obj&lt;br /&gt;
.\releasenoopt\llviewerinventory.obj&lt;br /&gt;
.\releasenoopt\llviewerjoint.obj&lt;br /&gt;
.\releasenoopt\llviewerjointattachment.obj&lt;br /&gt;
.\releasenoopt\llviewerjointmesh.obj&lt;br /&gt;
.\releasenoopt\llviewerjointmesh_sse.obj&lt;br /&gt;
.\releasenoopt\llviewerjointmesh_sse2.obj&lt;br /&gt;
.\releasenoopt\llviewerjointmesh_vec.obj&lt;br /&gt;
.\releasenoopt\llviewerjoystick.obj&lt;br /&gt;
.\releasenoopt\llviewerkeyboard.obj&lt;br /&gt;
.\releasenoopt\llviewerlayer.obj&lt;br /&gt;
.\releasenoopt\llviewermedia.obj&lt;br /&gt;
.\releasenoopt\llviewermenu.obj&lt;br /&gt;
.\releasenoopt\llviewermenufile.obj&lt;br /&gt;
.\releasenoopt\llviewermessage.obj&lt;br /&gt;
.\releasenoopt\llviewernetwork.obj&lt;br /&gt;
.\releasenoopt\llviewerobject.obj&lt;br /&gt;
.\releasenoopt\llviewerobjectlist.obj&lt;br /&gt;
.\releasenoopt\llviewerparcelmedia.obj&lt;br /&gt;
.\releasenoopt\llviewerparcelmediaautoplay.obj&lt;br /&gt;
.\releasenoopt\llviewerparcelmgr.obj&lt;br /&gt;
.\releasenoopt\llviewerparceloverlay.obj&lt;br /&gt;
.\releasenoopt\llviewerpartsim.obj&lt;br /&gt;
.\releasenoopt\llviewerpartsource.obj&lt;br /&gt;
.\releasenoopt\llviewerregion.obj&lt;br /&gt;
.\releasenoopt\llviewerstats.obj&lt;br /&gt;
.\releasenoopt\llviewertexteditor.obj&lt;br /&gt;
.\releasenoopt\llviewertextureanim.obj&lt;br /&gt;
.\releasenoopt\llviewerthrottle.obj&lt;br /&gt;
.\releasenoopt\llvieweruictrlfactory.obj&lt;br /&gt;
.\releasenoopt\llviewervisualparam.obj&lt;br /&gt;
.\releasenoopt\llviewerwindow.obj&lt;br /&gt;
.\releasenoopt\llvlcomposition.obj&lt;br /&gt;
.\releasenoopt\llvlmanager.obj&lt;br /&gt;
.\releasenoopt\llvoavatar.obj&lt;br /&gt;
.\releasenoopt\llvocache.obj&lt;br /&gt;
.\releasenoopt\llvoclouds.obj&lt;br /&gt;
.\releasenoopt\llvograss.obj&lt;br /&gt;
.\releasenoopt\llvoground.obj&lt;br /&gt;
.\releasenoopt\llvoiceclient.obj&lt;br /&gt;
.\releasenoopt\llvoiceremotectrl.obj&lt;br /&gt;
.\releasenoopt\llvoicevisualizer.obj&lt;br /&gt;
.\releasenoopt\llvoinventorylistener.obj&lt;br /&gt;
.\releasenoopt\llvopartgroup.obj&lt;br /&gt;
.\releasenoopt\llvosky.obj&lt;br /&gt;
.\releasenoopt\llvosurfacepatch.obj&lt;br /&gt;
.\releasenoopt\llvotextbubble.obj&lt;br /&gt;
.\releasenoopt\llvotree.obj&lt;br /&gt;
.\releasenoopt\llvovolume.obj&lt;br /&gt;
.\releasenoopt\llvowater.obj&lt;br /&gt;
.\releasenoopt\llvowlsky.obj&lt;br /&gt;
.\releasenoopt\llwaterparammanager.obj&lt;br /&gt;
.\releasenoopt\llwaterparamset.obj&lt;br /&gt;
.\releasenoopt\llwearable.obj&lt;br /&gt;
.\releasenoopt\llwearablelist.obj&lt;br /&gt;
.\releasenoopt\llweb.obj&lt;br /&gt;
.\releasenoopt\llwebbrowserctrl.obj&lt;br /&gt;
.\releasenoopt\llwind.obj&lt;br /&gt;
.\releasenoopt\llwindebug.obj&lt;br /&gt;
.\releasenoopt\llwlanimator.obj&lt;br /&gt;
.\releasenoopt\llwldaycycle.obj&lt;br /&gt;
.\releasenoopt\llwlparammanager.obj&lt;br /&gt;
.\releasenoopt\llwlparamset.obj&lt;br /&gt;
.\releasenoopt\llworld.obj&lt;br /&gt;
.\releasenoopt\llworldmap.obj&lt;br /&gt;
.\releasenoopt\llworldmapview.obj&lt;br /&gt;
.\releasenoopt\llxmlrpctransaction.obj&lt;br /&gt;
.\releasenoopt\moviemaker.obj&lt;br /&gt;
.\releasenoopt\noise.obj&lt;br /&gt;
.\releasenoopt\pipeline.obj&lt;br /&gt;
.\releasenoopt\newViewRes.res&lt;br /&gt;
.\releasenoopt\llviewerprecompiledheaders.obj&lt;br /&gt;
]&amp;lt;/pre&amp;gt;&lt;br /&gt;
Creating command line &amp;quot;link.exe @c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\newview\ReleaseNoOpt\RSP0000D8.rsp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Output Window===&lt;br /&gt;
Linking...&lt;br /&gt;
&lt;br /&gt;
link: extra operand `/NOLOGO&#039;&lt;br /&gt;
&lt;br /&gt;
Try `link --help&#039; for more information.&lt;br /&gt;
&lt;br /&gt;
newview : error PRJ0002 : error result returned from &#039;link.exe&#039;.&lt;br /&gt;
&lt;br /&gt;
===Results===&lt;br /&gt;
Build log was saved at &amp;quot;file://c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\newview\ReleaseNoOpt\BuildLog.htm&amp;quot;&lt;br /&gt;
newview - 1 error(s), 0 warning(s)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Log with NOLOGO and no problems: llprimitive==&lt;br /&gt;
===Build Log===	&lt;br /&gt;
------- Build started: Project: llprimitive, Configuration: ReleaseNoOpt|Win32 -------&lt;br /&gt;
&lt;br /&gt;
===Command Lines===&lt;br /&gt;
Creating temporary file &amp;quot;c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\llprimitive\ReleaseNoOpt\RSP0000B9.rsp&amp;quot; with contents&lt;br /&gt;
[&lt;br /&gt;
/Od /I &amp;quot;..\llxml&amp;quot; /I &amp;quot;..\llprimitive&amp;quot; /I &amp;quot;..\llcommon&amp;quot; /I &amp;quot;..\llmath&amp;quot; /I &amp;quot;..\llmessage&amp;quot; /I &amp;quot;..\..\libraries\i686-win32\include&amp;quot; /I &amp;quot;..\..\libraries\include\\&amp;quot; /D &amp;quot;WIN32&amp;quot; /D &amp;quot;NDEBUG&amp;quot; /D &amp;quot;_LIB&amp;quot; /D &amp;quot;LL_WINDOWS&amp;quot; /D &amp;quot;LL_RELEASE&amp;quot; /D &amp;quot;_UNICODE&amp;quot; /D &amp;quot;UNICODE&amp;quot; /FD /EHsc /MT /GS /Zc:forScope /Fo&amp;quot;ReleaseNoOpt/&amp;quot; /Fd&amp;quot;ReleaseNoOpt/vc70.pdb&amp;quot; /W3 /WX /c /Zi /TP  /Oy-&lt;br /&gt;
&amp;lt;pre&amp;gt;.\llvolumexml.cpp&lt;br /&gt;
.\llvolumemessage.cpp&lt;br /&gt;
.\lltreeparams.cpp&lt;br /&gt;
.\lltextureentry.cpp&lt;br /&gt;
.\lltextureanim.cpp&lt;br /&gt;
.\llprimitive.cpp&lt;br /&gt;
.\llmaterialtable.cpp&lt;br /&gt;
]&amp;lt;/pre&amp;gt;&lt;br /&gt;
Creating command line &amp;quot;cl.exe @c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\llprimitive\ReleaseNoOpt\RSP0000B9.rsp /nologo&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Creating temporary file &amp;quot;c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\llprimitive\ReleaseNoOpt\RSP0000BA.rsp&amp;quot; with contents&lt;br /&gt;
[&lt;br /&gt;
/OUT:&amp;quot;../lib_ReleaseNoOpt/i686-win32/llprimitive.lib&amp;quot; /NOLOGO&lt;br /&gt;
&amp;lt;pre&amp;gt;.\releasenoopt\llmaterialtable.obj&lt;br /&gt;
.\releasenoopt\llprimitive.obj&lt;br /&gt;
.\releasenoopt\lltextureanim.obj&lt;br /&gt;
.\releasenoopt\lltextureentry.obj&lt;br /&gt;
.\releasenoopt\lltreeparams.obj&lt;br /&gt;
.\releasenoopt\llvolumemessage.obj&lt;br /&gt;
.\releasenoopt\llvolumexml.obj&lt;br /&gt;
]&amp;lt;/pre&amp;gt;&lt;br /&gt;
Creating command line &amp;quot;lib.exe @c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\llprimitive\ReleaseNoOpt\RSP0000BA.rsp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Output Window===&lt;br /&gt;
Compiling...&lt;br /&gt;
llvolumexml.cpp&lt;br /&gt;
llvolumemessage.cpp&lt;br /&gt;
lltreeparams.cpp&lt;br /&gt;
lltextureentry.cpp&lt;br /&gt;
lltextureanim.cpp&lt;br /&gt;
llprimitive.cpp&lt;br /&gt;
llmaterialtable.cpp&lt;br /&gt;
Generating Code...&lt;br /&gt;
Creating library...&lt;br /&gt;
&lt;br /&gt;
===Results===&lt;br /&gt;
Build log was saved at &amp;quot;file://c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\llprimitive\ReleaseNoOpt\BuildLog.htm&amp;quot;&lt;br /&gt;
llprimitive - 0 error(s), 0 warning(s)&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Scalar_Tardis/NOLOGO-Compile-Err&amp;diff=74407</id>
		<title>User:Scalar Tardis/NOLOGO-Compile-Err</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Scalar_Tardis/NOLOGO-Compile-Err&amp;diff=74407"/>
		<updated>2008-06-25T10:26:25Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: summary info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I&#039;m attempting to build 1.19.1.4 using VS2003.... this is the last of the compile errors.&lt;br /&gt;
&lt;br /&gt;
==Project: win_crash_logger==&lt;br /&gt;
===Build Log===&lt;br /&gt;
------- Build started: Project: win_crash_logger, Configuration: ReleaseNoOpt|Win32 -------&lt;br /&gt;
&lt;br /&gt;
===Command Lines===&lt;br /&gt;
Creating temporary file &amp;quot;c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\win_crash_logger\ReleaseNoOpt\RSP0000D5.rsp&amp;quot; with contents&lt;br /&gt;
[&lt;br /&gt;
/OUT:&amp;quot;win_crash_logger.exe&amp;quot; /INCREMENTAL:NO /NOLOGO /LIBPATH:&amp;quot;../lib_releasenoopt/i686-win32&amp;quot; /LIBPATH:&amp;quot;../../libraries/i686-win32/lib_release&amp;quot; /DEBUG /PDB:&amp;quot;ReleaseNoOpt/win_crash_logger.pdb&amp;quot; /SUBSYSTEM:WINDOWS /OPT:REF /OPT:ICF /MACHINE:X86 apr-1.lib aprutil-1.lib ws2_32.lib advapi32.lib comdlg32.lib dxguid.lib gdi32.lib kernel32.lib libexpatMT.lib netapi32.lib ole32.lib oleaut32.lib shell32.lib user32.lib wininet.lib winspool.lib libcurl.lib ssleay32.lib libeay32.lib zlib.lib winmm.lib psapi.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llvfs.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llmath.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llxml.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llmessage.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llcommon.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llwindow.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\apr-1.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\aprutil-1.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libexpatMT.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libcurl.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\ssleay32.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libeay32.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\zlib.lib&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;.\releasenoopt\llcrashlogger.obj&lt;br /&gt;
.\releasenoopt\llcrashloggerwindows.obj&lt;br /&gt;
.\releasenoopt\StdAfx.obj&lt;br /&gt;
.\releasenoopt\win_crash_logger.obj&lt;br /&gt;
.\releasenoopt\win_crash_logger.res&lt;br /&gt;
]&amp;lt;/pre&amp;gt;&lt;br /&gt;
Creating command line &amp;quot;link.exe @c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\win_crash_logger\ReleaseNoOpt\RSP0000D5.rsp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Output Window===&lt;br /&gt;
Linking...&lt;br /&gt;
&lt;br /&gt;
link: extra operand `/NOLOGO&#039;&lt;br /&gt;
&lt;br /&gt;
Try `link --help&#039; for more information.&lt;br /&gt;
&lt;br /&gt;
win_crash_logger : error PRJ0002 : error result returned from &#039;link.exe&#039;.&lt;br /&gt;
&lt;br /&gt;
===Results===&lt;br /&gt;
Build log was saved at &amp;quot;file://c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\win_crash_logger\ReleaseNoOpt\BuildLog.htm&amp;quot;&lt;br /&gt;
win_crash_logger - 1 error(s), 0 warning(s)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Project: win_updater==&lt;br /&gt;
===Build Log===&lt;br /&gt;
------- Build started: Project: win_updater, Configuration: ReleaseNoOpt|Win32 -------&lt;br /&gt;
&lt;br /&gt;
===Command Lines===&lt;br /&gt;
Creating temporary file &amp;quot;c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\win_updater\ReleaseNoOpt\RSP0000D6.rsp&amp;quot; with contents&lt;br /&gt;
[&lt;br /&gt;
/OUT:&amp;quot;updater.exe&amp;quot; /INCREMENTAL:NO /NOLOGO /LIBPATH:&amp;quot;../lib_ReleaseNoOpt/i686-win32&amp;quot; /LIBPATH:&amp;quot;../../libraries/i686-win32/lib_release&amp;quot; /DEBUG /PDB:&amp;quot;ReleaseNoOpt/win_updater.pdb&amp;quot; /SUBSYSTEM:WINDOWS /OPT:REF /OPT:ICF /MACHINE:X86 advapi32.lib comdlg32.lib gdi32.lib kernel32.lib odbc32.lib odbccp32.lib ole32.lib oleaut32.lib shell32.lib user32.lib uuid.lib wininet.lib winspool.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib&lt;br /&gt;
&amp;lt;pre&amp;gt;.\releasenoopt\updater.obj&amp;lt;/pre&amp;gt;&lt;br /&gt;
]&lt;br /&gt;
Creating command line &amp;quot;link.exe @c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\win_updater\ReleaseNoOpt\RSP0000D6.rsp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Output Window===&lt;br /&gt;
Linking...&lt;br /&gt;
&lt;br /&gt;
link: extra operand `/NOLOGO&#039;&lt;br /&gt;
&lt;br /&gt;
Try `link --help&#039; for more information.&lt;br /&gt;
&lt;br /&gt;
win_updater : error PRJ0002 : error result returned from &#039;link.exe&#039;.&lt;br /&gt;
&lt;br /&gt;
===Results===&lt;br /&gt;
Build log was saved at &amp;quot;file://c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\win_updater\ReleaseNoOpt\BuildLog.htm&amp;quot;&lt;br /&gt;
&lt;br /&gt;
win_updater - 1 error(s), 0 warning(s)&lt;br /&gt;
&lt;br /&gt;
==Project: test==&lt;br /&gt;
===Build Log=== 	 	&lt;br /&gt;
------- Build started: Project: test, Configuration: ReleaseNoOpt|Win32 -------&lt;br /&gt;
&lt;br /&gt;
===Command Lines===&lt;br /&gt;
Creating temporary file &amp;quot;c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\test\ReleaseNoOpt\RSP0000D7.rsp&amp;quot; with contents&lt;br /&gt;
[&lt;br /&gt;
/OUT:&amp;quot;ReleaseNoOpt/test.exe&amp;quot; /INCREMENTAL /NOLOGO /LIBPATH:&amp;quot;../lib_ReleaseNoOpt/i686-win32&amp;quot; /LIBPATH:&amp;quot;../../libraries/i686-win32/lib_release&amp;quot; /NODEFAULTLIB:&amp;quot;libcmt.lib&amp;quot; /DEBUG /PDB:&amp;quot;ReleaseNoOpt/test.pdb&amp;quot; /SUBSYSTEM:CONSOLE /MACHINE:X86 advapi32.lib apr-1.lib aprutil-1.lib comdlg32.lib gdi32.lib jpeglib_6b.lib kernel32.lib libboost_regex-vc71-mt-s.lib libcurl.lib libeay32.lib libexpatMT.lib mswsock.lib netapi32.lib odbc32.lib odbccp32.lib ole32.lib oleaut32.lib psapi.lib shell32.lib ssleay32.lib user32.lib winmm.lib winspool.lib ws2_32.lib xmlrpcepi.lib zlib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llvfs.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llmath.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\lscript_library.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llxml.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llmessage.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\lscript_compile.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llinventory.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\lscript_execute.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llprimitive.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llcommon.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\apr-1.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\aprutil-1.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\jpeglib_6b.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libboost_regex-vc71-mt-s.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libcurl.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libeay32.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libexpatMT.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\ssleay32.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\xmlrpcepi.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\zlib.lib&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;.\releasenoopt\common.obj&lt;br /&gt;
.\releasenoopt\inventory.obj&lt;br /&gt;
.\releasenoopt\io.obj&lt;br /&gt;
.\releasenoopt\llapp_tut.obj&lt;br /&gt;
.\releasenoopt\llbase64_tut.obj&lt;br /&gt;
.\releasenoopt\llbuffer_tut.obj&lt;br /&gt;
.\releasenoopt\lldate_tut.obj&lt;br /&gt;
.\releasenoopt\llerror_tut.obj&lt;br /&gt;
.\releasenoopt\llhost_tut.obj&lt;br /&gt;
.\releasenoopt\llhttpclient_tut.obj&lt;br /&gt;
.\releasenoopt\lljoint_tut.obj&lt;br /&gt;
.\releasenoopt\llmime_tut.obj&lt;br /&gt;
.\releasenoopt\llnamevalue_tut.obj&lt;br /&gt;
.\releasenoopt\llpermissions_tut.obj&lt;br /&gt;
.\releasenoopt\llpipeutil.obj&lt;br /&gt;
.\releasenoopt\llquaternion_tut.obj&lt;br /&gt;
.\releasenoopt\llrandom_tut.obj&lt;br /&gt;
.\releasenoopt\llsaleinfo_tut.obj&lt;br /&gt;
.\releasenoopt\llsd_new_tut.obj&lt;br /&gt;
.\releasenoopt\llsdmessagebuilder_tut.obj&lt;br /&gt;
.\releasenoopt\llsdmessagereader_tut.obj&lt;br /&gt;
.\releasenoopt\llsdserialize_tut.obj&lt;br /&gt;
.\releasenoopt\llsdutil_tut.obj&lt;br /&gt;
.\releasenoopt\llservicebuilder_tut.obj&lt;br /&gt;
.\releasenoopt\llstreamtools_tut.obj&lt;br /&gt;
.\releasenoopt\lltemplatemessagebuilder_tut.obj&lt;br /&gt;
.\releasenoopt\lltiming_tut.obj&lt;br /&gt;
.\releasenoopt\lltut.obj&lt;br /&gt;
.\releasenoopt\lluri_tut.obj&lt;br /&gt;
.\releasenoopt\lluserrelations_tut.obj&lt;br /&gt;
.\releasenoopt\lluuidhashmap_tut.obj&lt;br /&gt;
.\releasenoopt\math.obj&lt;br /&gt;
.\releasenoopt\reflection_tut.obj&lt;br /&gt;
.\releasenoopt\test.obj&lt;br /&gt;
.\releasenoopt\v2math_tut.obj&lt;br /&gt;
.\releasenoopt\v3color_tut.obj&lt;br /&gt;
.\releasenoopt\v3dmath_tut.obj&lt;br /&gt;
.\releasenoopt\v3math_tut.obj&lt;br /&gt;
.\releasenoopt\v4color_tut.obj&lt;br /&gt;
.\releasenoopt\v4coloru_tut.obj&lt;br /&gt;
.\releasenoopt\v4math_tut.obj&lt;br /&gt;
.\releasenoopt\xform_tut.obj&lt;br /&gt;
]&amp;lt;/pre&amp;gt;&lt;br /&gt;
Creating command line &amp;quot;link.exe @c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\test\ReleaseNoOpt\RSP0000D7.rsp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Output Window===&lt;br /&gt;
Linking...&lt;br /&gt;
&lt;br /&gt;
link: extra operand `/NOLOGO&#039;&lt;br /&gt;
&lt;br /&gt;
Try `link --help&#039; for more information.&lt;br /&gt;
&lt;br /&gt;
test : error PRJ0002 : error result returned from &#039;link.exe&#039;.&lt;br /&gt;
&lt;br /&gt;
===Results===&lt;br /&gt;
Build log was saved at &amp;quot;file://c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\test\ReleaseNoOpt\BuildLog.htm&amp;quot;&lt;br /&gt;
test - 1 error(s), 0 warning(s)&lt;br /&gt;
&lt;br /&gt;
==Project: newview==&lt;br /&gt;
===Build Log===&lt;br /&gt;
------- Build started: Project: newview, Configuration: ReleaseNoOpt|Win32 -------&lt;br /&gt;
&lt;br /&gt;
===Command Lines===&lt;br /&gt;
Creating temporary file &amp;quot;c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\newview\ReleaseNoOpt\RSP0000D8.rsp&amp;quot; with contents&lt;br /&gt;
[&lt;br /&gt;
/OUT:&amp;quot;ReleaseNoOpt/newview_noopt.exe&amp;quot; /INCREMENTAL /NOLOGO /LIBPATH:&amp;quot;../lib_releasenoopt/i686-win32&amp;quot; /LIBPATH:&amp;quot;../../libraries/i686-win32/lib_release&amp;quot; /NODEFAULTLIB:&amp;quot;msvcrt.lib&amp;quot; /NODEFAULTLIB:&amp;quot;libc.lib&amp;quot; /DEBUG /PDB:&amp;quot;newview_noopt.pdb&amp;quot; /SUBSYSTEM:WINDOWS /OPT:NOREF /OPT:NOICF /MACHINE:X86 advapi32.lib apr-1.lib aprutil-1.lib areslib.lib comdlg32.lib dinput8.lib dsound.lib dxerr8.lib dxguid.lib fmodvc.lib freetype.lib gdi32.lib glu32.lib jpeglib_6b.lib kernel32.lib libboost_regex-vc71-mt-s.lib libcurl.lib libeay32.lib libexpatMT.lib OpenJPEG.lib mswsock.lib netapi32.lib odbc32.lib odbccp32.lib ogg_static_mt.lib ole32.lib oleaut32.lib opengl32.lib png12.lib psapi.lib shell32.lib ssleay32.lib user32.lib Vfw32.lib vorbis_static_mt.lib vorbisenc_static_mt.lib vorbisfile_static_mt.lib winmm.lib winspool.lib ws2_32.lib xmlrpcepi.lib zlib.lib dnsapi.lib EZ_LCD_Wrapper.lib lgLcd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llvfs.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llcharacter.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llimagej2coj.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llmath.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\lscript_library.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llxml.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llmessage.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\lscript_compile.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llimage.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llinventory.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llui.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\lscript_execute.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llprimitive.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llcommon.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llaudio.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llwindow.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llrender.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llmedia.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\apr-1.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\aprutil-1.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\areslib.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\fmodvc.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\freetype.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\jpeglib_6b.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libboost_regex-vc71-mt-s.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libcurl.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libeay32.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libexpatMT.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\OpenJPEG.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\ogg_static_mt.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\png12.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\ssleay32.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\vorbis_static_mt.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\vorbisenc_static_mt.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\vorbisfile_static_mt.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\xmlrpcepi.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\zlib.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\EZ_LCD_Wrapper.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\lgLcd.lib&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;.\releasenoopt\fakevoicesoundsignal.obj&lt;br /&gt;
.\releasenoopt\head.obj&lt;br /&gt;
.\releasenoopt\llagent.obj&lt;br /&gt;
.\releasenoopt\llagentdata.obj&lt;br /&gt;
.\releasenoopt\llagentpilot.obj&lt;br /&gt;
.\releasenoopt\llappviewer.obj&lt;br /&gt;
.\releasenoopt\llappviewerwin32.obj&lt;br /&gt;
.\releasenoopt\llassetuploadresponders.obj&lt;br /&gt;
.\releasenoopt\llaudiosourcevo.obj&lt;br /&gt;
.\releasenoopt\llbbox.obj&lt;br /&gt;
.\releasenoopt\llbox.obj&lt;br /&gt;
.\releasenoopt\llcallbacklist.obj&lt;br /&gt;
.\releasenoopt\llcallingcard.obj&lt;br /&gt;
.\releasenoopt\llcameraview.obj&lt;br /&gt;
.\releasenoopt\llcaphttpsender.obj&lt;br /&gt;
.\releasenoopt\llchatbar.obj&lt;br /&gt;
.\releasenoopt\llclassifiedinfo.obj&lt;br /&gt;
.\releasenoopt\llclassifiedstatsresponder.obj&lt;br /&gt;
.\releasenoopt\llcloud.obj&lt;br /&gt;
.\releasenoopt\llcolorscheme.obj&lt;br /&gt;
.\releasenoopt\llcolorswatch.obj&lt;br /&gt;
.\releasenoopt\llcommandhandler.obj&lt;br /&gt;
.\releasenoopt\llcompass.obj&lt;br /&gt;
.\releasenoopt\llcompilequeue.obj&lt;br /&gt;
.\releasenoopt\llconfirmationmanager.obj&lt;br /&gt;
.\releasenoopt\llconsole.obj&lt;br /&gt;
.\releasenoopt\llcontainerview.obj&lt;br /&gt;
.\releasenoopt\llcontroldef.obj&lt;br /&gt;
.\releasenoopt\llcubemap.obj&lt;br /&gt;
.\releasenoopt\llcurrencyuimanager.obj&lt;br /&gt;
.\releasenoopt\llcylinder.obj&lt;br /&gt;
.\releasenoopt\lldebugmessagebox.obj&lt;br /&gt;
.\releasenoopt\lldebugview.obj&lt;br /&gt;
.\releasenoopt\lldirpicker.obj&lt;br /&gt;
.\releasenoopt\lldrawable.obj&lt;br /&gt;
.\releasenoopt\lldrawpool.obj&lt;br /&gt;
.\releasenoopt\lldrawpoolalpha.obj&lt;br /&gt;
.\releasenoopt\lldrawpoolavatar.obj&lt;br /&gt;
.\releasenoopt\lldrawpoolbump.obj&lt;br /&gt;
.\releasenoopt\lldrawpoolground.obj&lt;br /&gt;
.\releasenoopt\lldrawpoolsimple.obj&lt;br /&gt;
.\releasenoopt\lldrawpoolsky.obj&lt;br /&gt;
.\releasenoopt\lldrawpoolterrain.obj&lt;br /&gt;
.\releasenoopt\lldrawpooltree.obj&lt;br /&gt;
.\releasenoopt\lldrawpoolwater.obj&lt;br /&gt;
.\releasenoopt\lldrawpoolwlsky.obj&lt;br /&gt;
.\releasenoopt\lldriverparam.obj&lt;br /&gt;
.\releasenoopt\lldynamictexture.obj&lt;br /&gt;
.\releasenoopt\llemote.obj&lt;br /&gt;
.\releasenoopt\lleventinfo.obj&lt;br /&gt;
.\releasenoopt\lleventnotifier.obj&lt;br /&gt;
.\releasenoopt\lleventpoll.obj&lt;br /&gt;
.\releasenoopt\llface.obj&lt;br /&gt;
.\releasenoopt\llfasttimerview.obj&lt;br /&gt;
.\releasenoopt\llfeaturemanager.obj&lt;br /&gt;
.\releasenoopt\llfilepicker.obj&lt;br /&gt;
.\releasenoopt\llfirstuse.obj&lt;br /&gt;
.\releasenoopt\llflexibleobject.obj&lt;br /&gt;
.\releasenoopt\llfloaterabout.obj&lt;br /&gt;
.\releasenoopt\llfloateractivespeakers.obj&lt;br /&gt;
.\releasenoopt\llfloateranimpreview.obj&lt;br /&gt;
.\releasenoopt\llfloaterauction.obj&lt;br /&gt;
.\releasenoopt\llfloateravatarinfo.obj&lt;br /&gt;
.\releasenoopt\llfloateravatarpicker.obj&lt;br /&gt;
.\releasenoopt\llfloateravatartextures.obj&lt;br /&gt;
.\releasenoopt\llfloaterbuildoptions.obj&lt;br /&gt;
.\releasenoopt\llfloaterbump.obj&lt;br /&gt;
.\releasenoopt\llfloaterbuy.obj&lt;br /&gt;
.\releasenoopt\llfloaterbuycontents.obj&lt;br /&gt;
.\releasenoopt\llfloaterbuycurrency.obj&lt;br /&gt;
.\releasenoopt\llfloaterbuyland.obj&lt;br /&gt;
.\releasenoopt\llfloaterchat.obj&lt;br /&gt;
.\releasenoopt\llfloaterchatterbox.obj&lt;br /&gt;
.\releasenoopt\llfloaterclassified.obj&lt;br /&gt;
.\releasenoopt\llfloaterclothing.obj&lt;br /&gt;
.\releasenoopt\llfloatercolorpicker.obj&lt;br /&gt;
.\releasenoopt\llfloatercustomize.obj&lt;br /&gt;
.\releasenoopt\llfloaterdaycycle.obj&lt;br /&gt;
.\releasenoopt\llfloaterdirectory.obj&lt;br /&gt;
.\releasenoopt\llfloatereditui.obj&lt;br /&gt;
.\releasenoopt\llfloaterevent.obj&lt;br /&gt;
.\releasenoopt\llfloaterenvsettings.obj&lt;br /&gt;
.\releasenoopt\llfloaterfriends.obj&lt;br /&gt;
.\releasenoopt\llfloatergesture.obj&lt;br /&gt;
.\releasenoopt\llfloatergodtools.obj&lt;br /&gt;
.\releasenoopt\llfloatergroupinfo.obj&lt;br /&gt;
.\releasenoopt\llfloatergroupinvite.obj&lt;br /&gt;
.\releasenoopt\llfloatergroups.obj&lt;br /&gt;
.\releasenoopt\llfloaterhardwaresettings.obj&lt;br /&gt;
.\releasenoopt\llfloaterhtml.obj&lt;br /&gt;
.\releasenoopt\llfloaterhtmlhelp.obj&lt;br /&gt;
.\releasenoopt\llfloaterimagepreview.obj&lt;br /&gt;
.\releasenoopt\llfloaterinspect.obj&lt;br /&gt;
.\releasenoopt\llfloaterlagmeter.obj&lt;br /&gt;
.\releasenoopt\llfloaterland.obj&lt;br /&gt;
.\releasenoopt\llfloaterlandholdings.obj&lt;br /&gt;
.\releasenoopt\llfloaterlandmark.obj&lt;br /&gt;
.\releasenoopt\llfloatermap.obj&lt;br /&gt;
.\releasenoopt\llfloatermute.obj&lt;br /&gt;
.\releasenoopt\llfloaternamedesc.obj&lt;br /&gt;
.\releasenoopt\llfloaternewim.obj&lt;br /&gt;
.\releasenoopt\llfloateropenobject.obj&lt;br /&gt;
.\releasenoopt\llfloaterparcel.obj&lt;br /&gt;
.\releasenoopt\llfloaterpermissionsmgr.obj&lt;br /&gt;
.\releasenoopt\llfloaterpostcard.obj&lt;br /&gt;
.\releasenoopt\llfloaterpostprocess.obj&lt;br /&gt;
.\releasenoopt\llfloaterpreference.obj&lt;br /&gt;
.\releasenoopt\llfloaterproperties.obj&lt;br /&gt;
.\releasenoopt\llfloaterregioninfo.obj&lt;br /&gt;
.\releasenoopt\llfloaterreleasemsg.obj&lt;br /&gt;
.\releasenoopt\llfloaterreporter.obj&lt;br /&gt;
.\releasenoopt\llfloaterscriptdebug.obj&lt;br /&gt;
.\releasenoopt\llfloatersellland.obj&lt;br /&gt;
.\releasenoopt\llfloatersnapshot.obj&lt;br /&gt;
.\releasenoopt\llfloatertelehub.obj&lt;br /&gt;
.\releasenoopt\llfloatertest.obj&lt;br /&gt;
.\releasenoopt\llfloatertools.obj&lt;br /&gt;
.\releasenoopt\llfloatertopobjects.obj&lt;br /&gt;
.\releasenoopt\llfloatertos.obj&lt;br /&gt;
.\releasenoopt\llfloaterurldisplay.obj&lt;br /&gt;
.\releasenoopt\llfloaterurlentry.obj&lt;br /&gt;
.\releasenoopt\llfloatervoicewizard.obj&lt;br /&gt;
.\releasenoopt\llfloaterwater.obj&lt;br /&gt;
.\releasenoopt\llfloaterwindlight.obj&lt;br /&gt;
.\releasenoopt\llfloaterworldmap.obj&lt;br /&gt;
.\releasenoopt\llfolderview.obj&lt;br /&gt;
.\releasenoopt\llfollowcam.obj&lt;br /&gt;
.\releasenoopt\llframestats.obj&lt;br /&gt;
.\releasenoopt\llframestatview.obj&lt;br /&gt;
.\releasenoopt\llgenepool.obj&lt;br /&gt;
.\releasenoopt\llgesturemgr.obj&lt;br /&gt;
.\releasenoopt\llgivemoney.obj&lt;br /&gt;
.\releasenoopt\llglsandbox.obj&lt;br /&gt;
.\releasenoopt\llglslshader.obj&lt;br /&gt;
.\releasenoopt\llgroupmgr.obj&lt;br /&gt;
.\releasenoopt\llgroupnotify.obj&lt;br /&gt;
.\releasenoopt\llhippo.obj&lt;br /&gt;
.\releasenoopt\llhoverview.obj&lt;br /&gt;
.\releasenoopt\llhudeffect.obj&lt;br /&gt;
.\releasenoopt\llhudeffectbeam.obj&lt;br /&gt;
.\releasenoopt\llhudeffectlookat.obj&lt;br /&gt;
.\releasenoopt\llhudeffectpointat.obj&lt;br /&gt;
.\releasenoopt\llhudeffecttrail.obj&lt;br /&gt;
.\releasenoopt\llhudicon.obj&lt;br /&gt;
.\releasenoopt\llhudmanager.obj&lt;br /&gt;
.\releasenoopt\llhudobject.obj&lt;br /&gt;
.\releasenoopt\llhudrender.obj&lt;br /&gt;
.\releasenoopt\llhudtext.obj&lt;br /&gt;
.\releasenoopt\llhudview.obj&lt;br /&gt;
.\releasenoopt\llimpanel.obj&lt;br /&gt;
.\releasenoopt\llimview.obj&lt;br /&gt;
.\releasenoopt\llinventoryactions.obj&lt;br /&gt;
.\releasenoopt\llinventorybridge.obj&lt;br /&gt;
.\releasenoopt\llinventoryclipboard.obj&lt;br /&gt;
.\releasenoopt\llinventorymodel.obj&lt;br /&gt;
.\releasenoopt\llinventoryview.obj&lt;br /&gt;
.\releasenoopt\lljoystickbutton.obj&lt;br /&gt;
.\releasenoopt\lllandmarklist.obj&lt;br /&gt;
.\releasenoopt\lllcd.obj&lt;br /&gt;
.\releasenoopt\lllogchat.obj&lt;br /&gt;
.\releasenoopt\llmanip.obj&lt;br /&gt;
.\releasenoopt\llmaniprotate.obj&lt;br /&gt;
.\releasenoopt\llmanipscale.obj&lt;br /&gt;
.\releasenoopt\llmaniptranslate.obj&lt;br /&gt;
.\releasenoopt\llmapresponders.obj&lt;br /&gt;
.\releasenoopt\llmediaremotectrl.obj&lt;br /&gt;
.\releasenoopt\llmemoryview.obj&lt;br /&gt;
.\releasenoopt\llmenucommands.obj&lt;br /&gt;
.\releasenoopt\llmimetypes.obj&lt;br /&gt;
.\releasenoopt\llmorphview.obj&lt;br /&gt;
.\releasenoopt\llmoveview.obj&lt;br /&gt;
.\releasenoopt\llmutelist.obj&lt;br /&gt;
.\releasenoopt\llnamebox.obj&lt;br /&gt;
.\releasenoopt\llnameeditor.obj&lt;br /&gt;
.\releasenoopt\llnamelistctrl.obj&lt;br /&gt;
.\releasenoopt\llnetmap.obj&lt;br /&gt;
.\releasenoopt\llnotify.obj&lt;br /&gt;
.\releasenoopt\lloverlaybar.obj&lt;br /&gt;
.\releasenoopt\llpanelaudioprefs.obj&lt;br /&gt;
.\releasenoopt\llpanelaudiovolume.obj&lt;br /&gt;
.\releasenoopt\llpanelavatar.obj&lt;br /&gt;
.\releasenoopt\llpanelclassified.obj&lt;br /&gt;
.\releasenoopt\llpanelcontents.obj&lt;br /&gt;
.\releasenoopt\llpaneldebug.obj&lt;br /&gt;
.\releasenoopt\llpaneldirbrowser.obj&lt;br /&gt;
.\releasenoopt\llpaneldirclassified.obj&lt;br /&gt;
.\releasenoopt\llpaneldirevents.obj&lt;br /&gt;
.\releasenoopt\llpaneldirfind.obj&lt;br /&gt;
.\releasenoopt\llpaneldirgroups.obj&lt;br /&gt;
.\releasenoopt\llpaneldirland.obj&lt;br /&gt;
.\releasenoopt\llpaneldirpeople.obj&lt;br /&gt;
.\releasenoopt\llpaneldirplaces.obj&lt;br /&gt;
.\releasenoopt\llpaneldirpopular.obj&lt;br /&gt;
.\releasenoopt\llpaneldisplay.obj&lt;br /&gt;
.\releasenoopt\llpanelevent.obj&lt;br /&gt;
.\releasenoopt\llpanelface.obj&lt;br /&gt;
.\releasenoopt\llpanelgeneral.obj&lt;br /&gt;
.\releasenoopt\llpanelgroup.obj&lt;br /&gt;
.\releasenoopt\llpanelgroupgeneral.obj&lt;br /&gt;
.\releasenoopt\llpanelgroupinvite.obj&lt;br /&gt;
.\releasenoopt\llpanelgrouplandmoney.obj&lt;br /&gt;
.\releasenoopt\llpanelgroupnotices.obj&lt;br /&gt;
.\releasenoopt\llpanelgrouproles.obj&lt;br /&gt;
.\releasenoopt\llpanelgroupvoting.obj&lt;br /&gt;
.\releasenoopt\llpanelinput.obj&lt;br /&gt;
.\releasenoopt\llpanelinventory.obj&lt;br /&gt;
.\releasenoopt\llpanelland.obj&lt;br /&gt;
.\releasenoopt\llpanellandmedia.obj&lt;br /&gt;
.\releasenoopt\llpanellandobjects.obj&lt;br /&gt;
.\releasenoopt\llpanellandoptions.obj&lt;br /&gt;
.\releasenoopt\llpanelLCD.obj&lt;br /&gt;
.\releasenoopt\llpanellogin.obj&lt;br /&gt;
.\releasenoopt\llpanelmorph.obj&lt;br /&gt;
.\releasenoopt\llpanelmsgs.obj&lt;br /&gt;
.\releasenoopt\llpanelnetwork.obj&lt;br /&gt;
.\releasenoopt\llpanelobject.obj&lt;br /&gt;
.\releasenoopt\llpanelpermissions.obj&lt;br /&gt;
.\releasenoopt\llpanelpick.obj&lt;br /&gt;
.\releasenoopt\llpanelplace.obj&lt;br /&gt;
.\releasenoopt\llpanelvolume.obj&lt;br /&gt;
.\releasenoopt\llpanelweb.obj&lt;br /&gt;
.\releasenoopt\llparcelselection.obj&lt;br /&gt;
.\releasenoopt\llpatchvertexarray.obj&lt;br /&gt;
.\releasenoopt\llpolymesh.obj&lt;br /&gt;
.\releasenoopt\llpolymorph.obj&lt;br /&gt;
.\releasenoopt\llpostprocess.obj&lt;br /&gt;
.\releasenoopt\llprefschat.obj&lt;br /&gt;
.\releasenoopt\llprefsim.obj&lt;br /&gt;
.\releasenoopt\llprefsvoice.obj&lt;br /&gt;
.\releasenoopt\llpreview.obj&lt;br /&gt;
.\releasenoopt\llpreviewanim.obj&lt;br /&gt;
.\releasenoopt\llpreviewgesture.obj&lt;br /&gt;
.\releasenoopt\llpreviewlandmark.obj&lt;br /&gt;
.\releasenoopt\llpreviewnotecard.obj&lt;br /&gt;
.\releasenoopt\llpreviewscript.obj&lt;br /&gt;
.\releasenoopt\llpreviewsound.obj&lt;br /&gt;
.\releasenoopt\llpreviewtexture.obj&lt;br /&gt;
.\releasenoopt\llprogressview.obj&lt;br /&gt;
.\releasenoopt\llregionposition.obj&lt;br /&gt;
.\releasenoopt\llremoteparcelrequest.obj&lt;br /&gt;
.\releasenoopt\llsavedsettingsglue.obj&lt;br /&gt;
.\releasenoopt\llselectmgr.obj&lt;br /&gt;
.\releasenoopt\llsky.obj&lt;br /&gt;
.\releasenoopt\llspatialpartition.obj&lt;br /&gt;
.\releasenoopt\llsphere.obj&lt;br /&gt;
.\releasenoopt\llsprite.obj&lt;br /&gt;
.\releasenoopt\llsrv.obj&lt;br /&gt;
.\releasenoopt\llstartup.obj&lt;br /&gt;
.\releasenoopt\llstatbar.obj&lt;br /&gt;
.\releasenoopt\llstatgraph.obj&lt;br /&gt;
.\releasenoopt\llstatusbar.obj&lt;br /&gt;
.\releasenoopt\llstatview.obj&lt;br /&gt;
.\releasenoopt\llsurface.obj&lt;br /&gt;
.\releasenoopt\llsurfacepatch.obj&lt;br /&gt;
.\releasenoopt\lltexlayer.obj&lt;br /&gt;
.\releasenoopt\lltexturecache.obj&lt;br /&gt;
.\releasenoopt\lltexturectrl.obj&lt;br /&gt;
.\releasenoopt\lltexturefetch.obj&lt;br /&gt;
.\releasenoopt\lltextureview.obj&lt;br /&gt;
.\releasenoopt\lltool.obj&lt;br /&gt;
.\releasenoopt\lltoolbar.obj&lt;br /&gt;
.\releasenoopt\lltoolbrush.obj&lt;br /&gt;
.\releasenoopt\lltoolcomp.obj&lt;br /&gt;
.\releasenoopt\lltooldraganddrop.obj&lt;br /&gt;
.\releasenoopt\lltoolface.obj&lt;br /&gt;
.\releasenoopt\lltoolfocus.obj&lt;br /&gt;
.\releasenoopt\lltoolgrab.obj&lt;br /&gt;
.\releasenoopt\lltoolgun.obj&lt;br /&gt;
.\releasenoopt\lltoolindividual.obj&lt;br /&gt;
.\releasenoopt\lltoolmgr.obj&lt;br /&gt;
.\releasenoopt\lltoolmorph.obj&lt;br /&gt;
.\releasenoopt\lltoolobjpicker.obj&lt;br /&gt;
.\releasenoopt\lltoolpie.obj&lt;br /&gt;
.\releasenoopt\lltoolpipette.obj&lt;br /&gt;
.\releasenoopt\lltoolplacer.obj&lt;br /&gt;
.\releasenoopt\lltoolselect.obj&lt;br /&gt;
.\releasenoopt\lltoolselectland.obj&lt;br /&gt;
.\releasenoopt\lltoolselectrect.obj&lt;br /&gt;
.\releasenoopt\lltoolview.obj&lt;br /&gt;
.\releasenoopt\lltracker.obj&lt;br /&gt;
.\releasenoopt\lluploaddialog.obj&lt;br /&gt;
.\releasenoopt\llurl.obj&lt;br /&gt;
.\releasenoopt\llurldispatcher.obj&lt;br /&gt;
.\releasenoopt\llurlhistory.obj&lt;br /&gt;
.\releasenoopt\llurlsimstring.obj&lt;br /&gt;
.\releasenoopt\llurlwhitelist.obj&lt;br /&gt;
.\releasenoopt\lluserauth.obj&lt;br /&gt;
.\releasenoopt\llvectorperfoptions.obj&lt;br /&gt;
.\releasenoopt\llvelocitybar.obj&lt;br /&gt;
.\releasenoopt\llviewchildren.obj&lt;br /&gt;
.\releasenoopt\llviewerassetstorage.obj&lt;br /&gt;
.\releasenoopt\llvieweraudio.obj&lt;br /&gt;
.\releasenoopt\llviewercamera.obj&lt;br /&gt;
.\releasenoopt\llviewercontrol.obj&lt;br /&gt;
.\releasenoopt\llviewerdisplay.obj&lt;br /&gt;
.\releasenoopt\llviewergenericmessage.obj&lt;br /&gt;
.\releasenoopt\llviewergesture.obj&lt;br /&gt;
.\releasenoopt\llviewerimage.obj&lt;br /&gt;
.\releasenoopt\llviewerimagelist.obj&lt;br /&gt;
.\releasenoopt\llviewerinventory.obj&lt;br /&gt;
.\releasenoopt\llviewerjoint.obj&lt;br /&gt;
.\releasenoopt\llviewerjointattachment.obj&lt;br /&gt;
.\releasenoopt\llviewerjointmesh.obj&lt;br /&gt;
.\releasenoopt\llviewerjointmesh_sse.obj&lt;br /&gt;
.\releasenoopt\llviewerjointmesh_sse2.obj&lt;br /&gt;
.\releasenoopt\llviewerjointmesh_vec.obj&lt;br /&gt;
.\releasenoopt\llviewerjoystick.obj&lt;br /&gt;
.\releasenoopt\llviewerkeyboard.obj&lt;br /&gt;
.\releasenoopt\llviewerlayer.obj&lt;br /&gt;
.\releasenoopt\llviewermedia.obj&lt;br /&gt;
.\releasenoopt\llviewermenu.obj&lt;br /&gt;
.\releasenoopt\llviewermenufile.obj&lt;br /&gt;
.\releasenoopt\llviewermessage.obj&lt;br /&gt;
.\releasenoopt\llviewernetwork.obj&lt;br /&gt;
.\releasenoopt\llviewerobject.obj&lt;br /&gt;
.\releasenoopt\llviewerobjectlist.obj&lt;br /&gt;
.\releasenoopt\llviewerparcelmedia.obj&lt;br /&gt;
.\releasenoopt\llviewerparcelmediaautoplay.obj&lt;br /&gt;
.\releasenoopt\llviewerparcelmgr.obj&lt;br /&gt;
.\releasenoopt\llviewerparceloverlay.obj&lt;br /&gt;
.\releasenoopt\llviewerpartsim.obj&lt;br /&gt;
.\releasenoopt\llviewerpartsource.obj&lt;br /&gt;
.\releasenoopt\llviewerregion.obj&lt;br /&gt;
.\releasenoopt\llviewerstats.obj&lt;br /&gt;
.\releasenoopt\llviewertexteditor.obj&lt;br /&gt;
.\releasenoopt\llviewertextureanim.obj&lt;br /&gt;
.\releasenoopt\llviewerthrottle.obj&lt;br /&gt;
.\releasenoopt\llvieweruictrlfactory.obj&lt;br /&gt;
.\releasenoopt\llviewervisualparam.obj&lt;br /&gt;
.\releasenoopt\llviewerwindow.obj&lt;br /&gt;
.\releasenoopt\llvlcomposition.obj&lt;br /&gt;
.\releasenoopt\llvlmanager.obj&lt;br /&gt;
.\releasenoopt\llvoavatar.obj&lt;br /&gt;
.\releasenoopt\llvocache.obj&lt;br /&gt;
.\releasenoopt\llvoclouds.obj&lt;br /&gt;
.\releasenoopt\llvograss.obj&lt;br /&gt;
.\releasenoopt\llvoground.obj&lt;br /&gt;
.\releasenoopt\llvoiceclient.obj&lt;br /&gt;
.\releasenoopt\llvoiceremotectrl.obj&lt;br /&gt;
.\releasenoopt\llvoicevisualizer.obj&lt;br /&gt;
.\releasenoopt\llvoinventorylistener.obj&lt;br /&gt;
.\releasenoopt\llvopartgroup.obj&lt;br /&gt;
.\releasenoopt\llvosky.obj&lt;br /&gt;
.\releasenoopt\llvosurfacepatch.obj&lt;br /&gt;
.\releasenoopt\llvotextbubble.obj&lt;br /&gt;
.\releasenoopt\llvotree.obj&lt;br /&gt;
.\releasenoopt\llvovolume.obj&lt;br /&gt;
.\releasenoopt\llvowater.obj&lt;br /&gt;
.\releasenoopt\llvowlsky.obj&lt;br /&gt;
.\releasenoopt\llwaterparammanager.obj&lt;br /&gt;
.\releasenoopt\llwaterparamset.obj&lt;br /&gt;
.\releasenoopt\llwearable.obj&lt;br /&gt;
.\releasenoopt\llwearablelist.obj&lt;br /&gt;
.\releasenoopt\llweb.obj&lt;br /&gt;
.\releasenoopt\llwebbrowserctrl.obj&lt;br /&gt;
.\releasenoopt\llwind.obj&lt;br /&gt;
.\releasenoopt\llwindebug.obj&lt;br /&gt;
.\releasenoopt\llwlanimator.obj&lt;br /&gt;
.\releasenoopt\llwldaycycle.obj&lt;br /&gt;
.\releasenoopt\llwlparammanager.obj&lt;br /&gt;
.\releasenoopt\llwlparamset.obj&lt;br /&gt;
.\releasenoopt\llworld.obj&lt;br /&gt;
.\releasenoopt\llworldmap.obj&lt;br /&gt;
.\releasenoopt\llworldmapview.obj&lt;br /&gt;
.\releasenoopt\llxmlrpctransaction.obj&lt;br /&gt;
.\releasenoopt\moviemaker.obj&lt;br /&gt;
.\releasenoopt\noise.obj&lt;br /&gt;
.\releasenoopt\pipeline.obj&lt;br /&gt;
.\releasenoopt\newViewRes.res&lt;br /&gt;
.\releasenoopt\llviewerprecompiledheaders.obj&lt;br /&gt;
]&amp;lt;/pre&amp;gt;&lt;br /&gt;
Creating command line &amp;quot;link.exe @c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\newview\ReleaseNoOpt\RSP0000D8.rsp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Output Window===&lt;br /&gt;
Linking...&lt;br /&gt;
&lt;br /&gt;
link: extra operand `/NOLOGO&#039;&lt;br /&gt;
&lt;br /&gt;
Try `link --help&#039; for more information.&lt;br /&gt;
&lt;br /&gt;
newview : error PRJ0002 : error result returned from &#039;link.exe&#039;.&lt;br /&gt;
&lt;br /&gt;
===Results===&lt;br /&gt;
Build log was saved at &amp;quot;file://c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\newview\ReleaseNoOpt\BuildLog.htm&amp;quot;&lt;br /&gt;
newview - 1 error(s), 0 warning(s)&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Scalar_Tardis/NOLOGO-Compile-Err&amp;diff=74406</id>
		<title>User:Scalar Tardis/NOLOGO-Compile-Err</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Scalar_Tardis/NOLOGO-Compile-Err&amp;diff=74406"/>
		<updated>2008-06-25T10:25:13Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: New page: ==Project: win_crash_logger== ===Build Log=== ------- Build started: Project: win_crash_logger, Configuration: ReleaseNoOpt|Win32 -------  ===Command Lines=== Creating temporary file &amp;quot;c:\S...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Project: win_crash_logger==&lt;br /&gt;
===Build Log===&lt;br /&gt;
------- Build started: Project: win_crash_logger, Configuration: ReleaseNoOpt|Win32 -------&lt;br /&gt;
&lt;br /&gt;
===Command Lines===&lt;br /&gt;
Creating temporary file &amp;quot;c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\win_crash_logger\ReleaseNoOpt\RSP0000D5.rsp&amp;quot; with contents&lt;br /&gt;
[&lt;br /&gt;
/OUT:&amp;quot;win_crash_logger.exe&amp;quot; /INCREMENTAL:NO /NOLOGO /LIBPATH:&amp;quot;../lib_releasenoopt/i686-win32&amp;quot; /LIBPATH:&amp;quot;../../libraries/i686-win32/lib_release&amp;quot; /DEBUG /PDB:&amp;quot;ReleaseNoOpt/win_crash_logger.pdb&amp;quot; /SUBSYSTEM:WINDOWS /OPT:REF /OPT:ICF /MACHINE:X86 apr-1.lib aprutil-1.lib ws2_32.lib advapi32.lib comdlg32.lib dxguid.lib gdi32.lib kernel32.lib libexpatMT.lib netapi32.lib ole32.lib oleaut32.lib shell32.lib user32.lib wininet.lib winspool.lib libcurl.lib ssleay32.lib libeay32.lib zlib.lib winmm.lib psapi.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llvfs.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llmath.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llxml.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llmessage.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llcommon.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llwindow.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\apr-1.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\aprutil-1.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libexpatMT.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libcurl.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\ssleay32.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libeay32.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\zlib.lib&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;.\releasenoopt\llcrashlogger.obj&lt;br /&gt;
.\releasenoopt\llcrashloggerwindows.obj&lt;br /&gt;
.\releasenoopt\StdAfx.obj&lt;br /&gt;
.\releasenoopt\win_crash_logger.obj&lt;br /&gt;
.\releasenoopt\win_crash_logger.res&lt;br /&gt;
]&amp;lt;/pre&amp;gt;&lt;br /&gt;
Creating command line &amp;quot;link.exe @c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\win_crash_logger\ReleaseNoOpt\RSP0000D5.rsp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Output Window===&lt;br /&gt;
Linking...&lt;br /&gt;
&lt;br /&gt;
link: extra operand `/NOLOGO&#039;&lt;br /&gt;
&lt;br /&gt;
Try `link --help&#039; for more information.&lt;br /&gt;
&lt;br /&gt;
win_crash_logger : error PRJ0002 : error result returned from &#039;link.exe&#039;.&lt;br /&gt;
&lt;br /&gt;
===Results===&lt;br /&gt;
Build log was saved at &amp;quot;file://c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\win_crash_logger\ReleaseNoOpt\BuildLog.htm&amp;quot;&lt;br /&gt;
win_crash_logger - 1 error(s), 0 warning(s)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Project: win_updater==&lt;br /&gt;
===Build Log===&lt;br /&gt;
------- Build started: Project: win_updater, Configuration: ReleaseNoOpt|Win32 -------&lt;br /&gt;
&lt;br /&gt;
===Command Lines===&lt;br /&gt;
Creating temporary file &amp;quot;c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\win_updater\ReleaseNoOpt\RSP0000D6.rsp&amp;quot; with contents&lt;br /&gt;
[&lt;br /&gt;
/OUT:&amp;quot;updater.exe&amp;quot; /INCREMENTAL:NO /NOLOGO /LIBPATH:&amp;quot;../lib_ReleaseNoOpt/i686-win32&amp;quot; /LIBPATH:&amp;quot;../../libraries/i686-win32/lib_release&amp;quot; /DEBUG /PDB:&amp;quot;ReleaseNoOpt/win_updater.pdb&amp;quot; /SUBSYSTEM:WINDOWS /OPT:REF /OPT:ICF /MACHINE:X86 advapi32.lib comdlg32.lib gdi32.lib kernel32.lib odbc32.lib odbccp32.lib ole32.lib oleaut32.lib shell32.lib user32.lib uuid.lib wininet.lib winspool.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib&lt;br /&gt;
&amp;lt;pre&amp;gt;.\releasenoopt\updater.obj&amp;lt;/pre&amp;gt;&lt;br /&gt;
]&lt;br /&gt;
Creating command line &amp;quot;link.exe @c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\win_updater\ReleaseNoOpt\RSP0000D6.rsp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Output Window===&lt;br /&gt;
Linking...&lt;br /&gt;
&lt;br /&gt;
link: extra operand `/NOLOGO&#039;&lt;br /&gt;
&lt;br /&gt;
Try `link --help&#039; for more information.&lt;br /&gt;
&lt;br /&gt;
win_updater : error PRJ0002 : error result returned from &#039;link.exe&#039;.&lt;br /&gt;
&lt;br /&gt;
===Results===&lt;br /&gt;
Build log was saved at &amp;quot;file://c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\win_updater\ReleaseNoOpt\BuildLog.htm&amp;quot;&lt;br /&gt;
&lt;br /&gt;
win_updater - 1 error(s), 0 warning(s)&lt;br /&gt;
&lt;br /&gt;
==Project: test==&lt;br /&gt;
===Build Log=== 	 	&lt;br /&gt;
------- Build started: Project: test, Configuration: ReleaseNoOpt|Win32 -------&lt;br /&gt;
&lt;br /&gt;
===Command Lines===&lt;br /&gt;
Creating temporary file &amp;quot;c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\test\ReleaseNoOpt\RSP0000D7.rsp&amp;quot; with contents&lt;br /&gt;
[&lt;br /&gt;
/OUT:&amp;quot;ReleaseNoOpt/test.exe&amp;quot; /INCREMENTAL /NOLOGO /LIBPATH:&amp;quot;../lib_ReleaseNoOpt/i686-win32&amp;quot; /LIBPATH:&amp;quot;../../libraries/i686-win32/lib_release&amp;quot; /NODEFAULTLIB:&amp;quot;libcmt.lib&amp;quot; /DEBUG /PDB:&amp;quot;ReleaseNoOpt/test.pdb&amp;quot; /SUBSYSTEM:CONSOLE /MACHINE:X86 advapi32.lib apr-1.lib aprutil-1.lib comdlg32.lib gdi32.lib jpeglib_6b.lib kernel32.lib libboost_regex-vc71-mt-s.lib libcurl.lib libeay32.lib libexpatMT.lib mswsock.lib netapi32.lib odbc32.lib odbccp32.lib ole32.lib oleaut32.lib psapi.lib shell32.lib ssleay32.lib user32.lib winmm.lib winspool.lib ws2_32.lib xmlrpcepi.lib zlib.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llvfs.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llmath.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\lscript_library.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llxml.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llmessage.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\lscript_compile.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llinventory.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\lscript_execute.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llprimitive.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llcommon.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\apr-1.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\aprutil-1.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\jpeglib_6b.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libboost_regex-vc71-mt-s.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libcurl.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libeay32.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libexpatMT.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\ssleay32.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\xmlrpcepi.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\zlib.lib&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;.\releasenoopt\common.obj&lt;br /&gt;
.\releasenoopt\inventory.obj&lt;br /&gt;
.\releasenoopt\io.obj&lt;br /&gt;
.\releasenoopt\llapp_tut.obj&lt;br /&gt;
.\releasenoopt\llbase64_tut.obj&lt;br /&gt;
.\releasenoopt\llbuffer_tut.obj&lt;br /&gt;
.\releasenoopt\lldate_tut.obj&lt;br /&gt;
.\releasenoopt\llerror_tut.obj&lt;br /&gt;
.\releasenoopt\llhost_tut.obj&lt;br /&gt;
.\releasenoopt\llhttpclient_tut.obj&lt;br /&gt;
.\releasenoopt\lljoint_tut.obj&lt;br /&gt;
.\releasenoopt\llmime_tut.obj&lt;br /&gt;
.\releasenoopt\llnamevalue_tut.obj&lt;br /&gt;
.\releasenoopt\llpermissions_tut.obj&lt;br /&gt;
.\releasenoopt\llpipeutil.obj&lt;br /&gt;
.\releasenoopt\llquaternion_tut.obj&lt;br /&gt;
.\releasenoopt\llrandom_tut.obj&lt;br /&gt;
.\releasenoopt\llsaleinfo_tut.obj&lt;br /&gt;
.\releasenoopt\llsd_new_tut.obj&lt;br /&gt;
.\releasenoopt\llsdmessagebuilder_tut.obj&lt;br /&gt;
.\releasenoopt\llsdmessagereader_tut.obj&lt;br /&gt;
.\releasenoopt\llsdserialize_tut.obj&lt;br /&gt;
.\releasenoopt\llsdutil_tut.obj&lt;br /&gt;
.\releasenoopt\llservicebuilder_tut.obj&lt;br /&gt;
.\releasenoopt\llstreamtools_tut.obj&lt;br /&gt;
.\releasenoopt\lltemplatemessagebuilder_tut.obj&lt;br /&gt;
.\releasenoopt\lltiming_tut.obj&lt;br /&gt;
.\releasenoopt\lltut.obj&lt;br /&gt;
.\releasenoopt\lluri_tut.obj&lt;br /&gt;
.\releasenoopt\lluserrelations_tut.obj&lt;br /&gt;
.\releasenoopt\lluuidhashmap_tut.obj&lt;br /&gt;
.\releasenoopt\math.obj&lt;br /&gt;
.\releasenoopt\reflection_tut.obj&lt;br /&gt;
.\releasenoopt\test.obj&lt;br /&gt;
.\releasenoopt\v2math_tut.obj&lt;br /&gt;
.\releasenoopt\v3color_tut.obj&lt;br /&gt;
.\releasenoopt\v3dmath_tut.obj&lt;br /&gt;
.\releasenoopt\v3math_tut.obj&lt;br /&gt;
.\releasenoopt\v4color_tut.obj&lt;br /&gt;
.\releasenoopt\v4coloru_tut.obj&lt;br /&gt;
.\releasenoopt\v4math_tut.obj&lt;br /&gt;
.\releasenoopt\xform_tut.obj&lt;br /&gt;
]&amp;lt;/pre&amp;gt;&lt;br /&gt;
Creating command line &amp;quot;link.exe @c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\test\ReleaseNoOpt\RSP0000D7.rsp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Output Window===&lt;br /&gt;
Linking...&lt;br /&gt;
&lt;br /&gt;
link: extra operand `/NOLOGO&#039;&lt;br /&gt;
&lt;br /&gt;
Try `link --help&#039; for more information.&lt;br /&gt;
&lt;br /&gt;
test : error PRJ0002 : error result returned from &#039;link.exe&#039;.&lt;br /&gt;
&lt;br /&gt;
===Results===&lt;br /&gt;
Build log was saved at &amp;quot;file://c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\test\ReleaseNoOpt\BuildLog.htm&amp;quot;&lt;br /&gt;
test - 1 error(s), 0 warning(s)&lt;br /&gt;
&lt;br /&gt;
==Project: newview==&lt;br /&gt;
===Build Log===&lt;br /&gt;
------- Build started: Project: newview, Configuration: ReleaseNoOpt|Win32 -------&lt;br /&gt;
&lt;br /&gt;
===Command Lines===&lt;br /&gt;
Creating temporary file &amp;quot;c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\newview\ReleaseNoOpt\RSP0000D8.rsp&amp;quot; with contents&lt;br /&gt;
[&lt;br /&gt;
/OUT:&amp;quot;ReleaseNoOpt/newview_noopt.exe&amp;quot; /INCREMENTAL /NOLOGO /LIBPATH:&amp;quot;../lib_releasenoopt/i686-win32&amp;quot; /LIBPATH:&amp;quot;../../libraries/i686-win32/lib_release&amp;quot; /NODEFAULTLIB:&amp;quot;msvcrt.lib&amp;quot; /NODEFAULTLIB:&amp;quot;libc.lib&amp;quot; /DEBUG /PDB:&amp;quot;newview_noopt.pdb&amp;quot; /SUBSYSTEM:WINDOWS /OPT:NOREF /OPT:NOICF /MACHINE:X86 advapi32.lib apr-1.lib aprutil-1.lib areslib.lib comdlg32.lib dinput8.lib dsound.lib dxerr8.lib dxguid.lib fmodvc.lib freetype.lib gdi32.lib glu32.lib jpeglib_6b.lib kernel32.lib libboost_regex-vc71-mt-s.lib libcurl.lib libeay32.lib libexpatMT.lib OpenJPEG.lib mswsock.lib netapi32.lib odbc32.lib odbccp32.lib ogg_static_mt.lib ole32.lib oleaut32.lib opengl32.lib png12.lib psapi.lib shell32.lib ssleay32.lib user32.lib Vfw32.lib vorbis_static_mt.lib vorbisenc_static_mt.lib vorbisfile_static_mt.lib winmm.lib winspool.lib ws2_32.lib xmlrpcepi.lib zlib.lib dnsapi.lib EZ_LCD_Wrapper.lib lgLcd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llvfs.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llcharacter.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llimagej2coj.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llmath.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\lscript_library.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llxml.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llmessage.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\lscript_compile.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llimage.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llinventory.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llui.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\lscript_execute.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llprimitive.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llcommon.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llaudio.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llwindow.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llrender.lib&amp;quot; &amp;quot;\sl_viewer_builds\1_19_1_4_release\linden\indra\lib_releasenoopt\i686-win32\llmedia.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\apr-1.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\aprutil-1.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\areslib.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\fmodvc.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\freetype.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\jpeglib_6b.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libboost_regex-vc71-mt-s.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libcurl.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libeay32.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\libexpatMT.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\OpenJPEG.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\ogg_static_mt.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\png12.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\ssleay32.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\vorbis_static_mt.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\vorbisenc_static_mt.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\vorbisfile_static_mt.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\xmlrpcepi.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\zlib.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\EZ_LCD_Wrapper.lib&amp;quot; &amp;quot;\SL_Viewer_Builds\1_19_1_4_release\linden\libraries\i686-win32\lib_release\lgLcd.lib&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;.\releasenoopt\fakevoicesoundsignal.obj&lt;br /&gt;
.\releasenoopt\head.obj&lt;br /&gt;
.\releasenoopt\llagent.obj&lt;br /&gt;
.\releasenoopt\llagentdata.obj&lt;br /&gt;
.\releasenoopt\llagentpilot.obj&lt;br /&gt;
.\releasenoopt\llappviewer.obj&lt;br /&gt;
.\releasenoopt\llappviewerwin32.obj&lt;br /&gt;
.\releasenoopt\llassetuploadresponders.obj&lt;br /&gt;
.\releasenoopt\llaudiosourcevo.obj&lt;br /&gt;
.\releasenoopt\llbbox.obj&lt;br /&gt;
.\releasenoopt\llbox.obj&lt;br /&gt;
.\releasenoopt\llcallbacklist.obj&lt;br /&gt;
.\releasenoopt\llcallingcard.obj&lt;br /&gt;
.\releasenoopt\llcameraview.obj&lt;br /&gt;
.\releasenoopt\llcaphttpsender.obj&lt;br /&gt;
.\releasenoopt\llchatbar.obj&lt;br /&gt;
.\releasenoopt\llclassifiedinfo.obj&lt;br /&gt;
.\releasenoopt\llclassifiedstatsresponder.obj&lt;br /&gt;
.\releasenoopt\llcloud.obj&lt;br /&gt;
.\releasenoopt\llcolorscheme.obj&lt;br /&gt;
.\releasenoopt\llcolorswatch.obj&lt;br /&gt;
.\releasenoopt\llcommandhandler.obj&lt;br /&gt;
.\releasenoopt\llcompass.obj&lt;br /&gt;
.\releasenoopt\llcompilequeue.obj&lt;br /&gt;
.\releasenoopt\llconfirmationmanager.obj&lt;br /&gt;
.\releasenoopt\llconsole.obj&lt;br /&gt;
.\releasenoopt\llcontainerview.obj&lt;br /&gt;
.\releasenoopt\llcontroldef.obj&lt;br /&gt;
.\releasenoopt\llcubemap.obj&lt;br /&gt;
.\releasenoopt\llcurrencyuimanager.obj&lt;br /&gt;
.\releasenoopt\llcylinder.obj&lt;br /&gt;
.\releasenoopt\lldebugmessagebox.obj&lt;br /&gt;
.\releasenoopt\lldebugview.obj&lt;br /&gt;
.\releasenoopt\lldirpicker.obj&lt;br /&gt;
.\releasenoopt\lldrawable.obj&lt;br /&gt;
.\releasenoopt\lldrawpool.obj&lt;br /&gt;
.\releasenoopt\lldrawpoolalpha.obj&lt;br /&gt;
.\releasenoopt\lldrawpoolavatar.obj&lt;br /&gt;
.\releasenoopt\lldrawpoolbump.obj&lt;br /&gt;
.\releasenoopt\lldrawpoolground.obj&lt;br /&gt;
.\releasenoopt\lldrawpoolsimple.obj&lt;br /&gt;
.\releasenoopt\lldrawpoolsky.obj&lt;br /&gt;
.\releasenoopt\lldrawpoolterrain.obj&lt;br /&gt;
.\releasenoopt\lldrawpooltree.obj&lt;br /&gt;
.\releasenoopt\lldrawpoolwater.obj&lt;br /&gt;
.\releasenoopt\lldrawpoolwlsky.obj&lt;br /&gt;
.\releasenoopt\lldriverparam.obj&lt;br /&gt;
.\releasenoopt\lldynamictexture.obj&lt;br /&gt;
.\releasenoopt\llemote.obj&lt;br /&gt;
.\releasenoopt\lleventinfo.obj&lt;br /&gt;
.\releasenoopt\lleventnotifier.obj&lt;br /&gt;
.\releasenoopt\lleventpoll.obj&lt;br /&gt;
.\releasenoopt\llface.obj&lt;br /&gt;
.\releasenoopt\llfasttimerview.obj&lt;br /&gt;
.\releasenoopt\llfeaturemanager.obj&lt;br /&gt;
.\releasenoopt\llfilepicker.obj&lt;br /&gt;
.\releasenoopt\llfirstuse.obj&lt;br /&gt;
.\releasenoopt\llflexibleobject.obj&lt;br /&gt;
.\releasenoopt\llfloaterabout.obj&lt;br /&gt;
.\releasenoopt\llfloateractivespeakers.obj&lt;br /&gt;
.\releasenoopt\llfloateranimpreview.obj&lt;br /&gt;
.\releasenoopt\llfloaterauction.obj&lt;br /&gt;
.\releasenoopt\llfloateravatarinfo.obj&lt;br /&gt;
.\releasenoopt\llfloateravatarpicker.obj&lt;br /&gt;
.\releasenoopt\llfloateravatartextures.obj&lt;br /&gt;
.\releasenoopt\llfloaterbuildoptions.obj&lt;br /&gt;
.\releasenoopt\llfloaterbump.obj&lt;br /&gt;
.\releasenoopt\llfloaterbuy.obj&lt;br /&gt;
.\releasenoopt\llfloaterbuycontents.obj&lt;br /&gt;
.\releasenoopt\llfloaterbuycurrency.obj&lt;br /&gt;
.\releasenoopt\llfloaterbuyland.obj&lt;br /&gt;
.\releasenoopt\llfloaterchat.obj&lt;br /&gt;
.\releasenoopt\llfloaterchatterbox.obj&lt;br /&gt;
.\releasenoopt\llfloaterclassified.obj&lt;br /&gt;
.\releasenoopt\llfloaterclothing.obj&lt;br /&gt;
.\releasenoopt\llfloatercolorpicker.obj&lt;br /&gt;
.\releasenoopt\llfloatercustomize.obj&lt;br /&gt;
.\releasenoopt\llfloaterdaycycle.obj&lt;br /&gt;
.\releasenoopt\llfloaterdirectory.obj&lt;br /&gt;
.\releasenoopt\llfloatereditui.obj&lt;br /&gt;
.\releasenoopt\llfloaterevent.obj&lt;br /&gt;
.\releasenoopt\llfloaterenvsettings.obj&lt;br /&gt;
.\releasenoopt\llfloaterfriends.obj&lt;br /&gt;
.\releasenoopt\llfloatergesture.obj&lt;br /&gt;
.\releasenoopt\llfloatergodtools.obj&lt;br /&gt;
.\releasenoopt\llfloatergroupinfo.obj&lt;br /&gt;
.\releasenoopt\llfloatergroupinvite.obj&lt;br /&gt;
.\releasenoopt\llfloatergroups.obj&lt;br /&gt;
.\releasenoopt\llfloaterhardwaresettings.obj&lt;br /&gt;
.\releasenoopt\llfloaterhtml.obj&lt;br /&gt;
.\releasenoopt\llfloaterhtmlhelp.obj&lt;br /&gt;
.\releasenoopt\llfloaterimagepreview.obj&lt;br /&gt;
.\releasenoopt\llfloaterinspect.obj&lt;br /&gt;
.\releasenoopt\llfloaterlagmeter.obj&lt;br /&gt;
.\releasenoopt\llfloaterland.obj&lt;br /&gt;
.\releasenoopt\llfloaterlandholdings.obj&lt;br /&gt;
.\releasenoopt\llfloaterlandmark.obj&lt;br /&gt;
.\releasenoopt\llfloatermap.obj&lt;br /&gt;
.\releasenoopt\llfloatermute.obj&lt;br /&gt;
.\releasenoopt\llfloaternamedesc.obj&lt;br /&gt;
.\releasenoopt\llfloaternewim.obj&lt;br /&gt;
.\releasenoopt\llfloateropenobject.obj&lt;br /&gt;
.\releasenoopt\llfloaterparcel.obj&lt;br /&gt;
.\releasenoopt\llfloaterpermissionsmgr.obj&lt;br /&gt;
.\releasenoopt\llfloaterpostcard.obj&lt;br /&gt;
.\releasenoopt\llfloaterpostprocess.obj&lt;br /&gt;
.\releasenoopt\llfloaterpreference.obj&lt;br /&gt;
.\releasenoopt\llfloaterproperties.obj&lt;br /&gt;
.\releasenoopt\llfloaterregioninfo.obj&lt;br /&gt;
.\releasenoopt\llfloaterreleasemsg.obj&lt;br /&gt;
.\releasenoopt\llfloaterreporter.obj&lt;br /&gt;
.\releasenoopt\llfloaterscriptdebug.obj&lt;br /&gt;
.\releasenoopt\llfloatersellland.obj&lt;br /&gt;
.\releasenoopt\llfloatersnapshot.obj&lt;br /&gt;
.\releasenoopt\llfloatertelehub.obj&lt;br /&gt;
.\releasenoopt\llfloatertest.obj&lt;br /&gt;
.\releasenoopt\llfloatertools.obj&lt;br /&gt;
.\releasenoopt\llfloatertopobjects.obj&lt;br /&gt;
.\releasenoopt\llfloatertos.obj&lt;br /&gt;
.\releasenoopt\llfloaterurldisplay.obj&lt;br /&gt;
.\releasenoopt\llfloaterurlentry.obj&lt;br /&gt;
.\releasenoopt\llfloatervoicewizard.obj&lt;br /&gt;
.\releasenoopt\llfloaterwater.obj&lt;br /&gt;
.\releasenoopt\llfloaterwindlight.obj&lt;br /&gt;
.\releasenoopt\llfloaterworldmap.obj&lt;br /&gt;
.\releasenoopt\llfolderview.obj&lt;br /&gt;
.\releasenoopt\llfollowcam.obj&lt;br /&gt;
.\releasenoopt\llframestats.obj&lt;br /&gt;
.\releasenoopt\llframestatview.obj&lt;br /&gt;
.\releasenoopt\llgenepool.obj&lt;br /&gt;
.\releasenoopt\llgesturemgr.obj&lt;br /&gt;
.\releasenoopt\llgivemoney.obj&lt;br /&gt;
.\releasenoopt\llglsandbox.obj&lt;br /&gt;
.\releasenoopt\llglslshader.obj&lt;br /&gt;
.\releasenoopt\llgroupmgr.obj&lt;br /&gt;
.\releasenoopt\llgroupnotify.obj&lt;br /&gt;
.\releasenoopt\llhippo.obj&lt;br /&gt;
.\releasenoopt\llhoverview.obj&lt;br /&gt;
.\releasenoopt\llhudeffect.obj&lt;br /&gt;
.\releasenoopt\llhudeffectbeam.obj&lt;br /&gt;
.\releasenoopt\llhudeffectlookat.obj&lt;br /&gt;
.\releasenoopt\llhudeffectpointat.obj&lt;br /&gt;
.\releasenoopt\llhudeffecttrail.obj&lt;br /&gt;
.\releasenoopt\llhudicon.obj&lt;br /&gt;
.\releasenoopt\llhudmanager.obj&lt;br /&gt;
.\releasenoopt\llhudobject.obj&lt;br /&gt;
.\releasenoopt\llhudrender.obj&lt;br /&gt;
.\releasenoopt\llhudtext.obj&lt;br /&gt;
.\releasenoopt\llhudview.obj&lt;br /&gt;
.\releasenoopt\llimpanel.obj&lt;br /&gt;
.\releasenoopt\llimview.obj&lt;br /&gt;
.\releasenoopt\llinventoryactions.obj&lt;br /&gt;
.\releasenoopt\llinventorybridge.obj&lt;br /&gt;
.\releasenoopt\llinventoryclipboard.obj&lt;br /&gt;
.\releasenoopt\llinventorymodel.obj&lt;br /&gt;
.\releasenoopt\llinventoryview.obj&lt;br /&gt;
.\releasenoopt\lljoystickbutton.obj&lt;br /&gt;
.\releasenoopt\lllandmarklist.obj&lt;br /&gt;
.\releasenoopt\lllcd.obj&lt;br /&gt;
.\releasenoopt\lllogchat.obj&lt;br /&gt;
.\releasenoopt\llmanip.obj&lt;br /&gt;
.\releasenoopt\llmaniprotate.obj&lt;br /&gt;
.\releasenoopt\llmanipscale.obj&lt;br /&gt;
.\releasenoopt\llmaniptranslate.obj&lt;br /&gt;
.\releasenoopt\llmapresponders.obj&lt;br /&gt;
.\releasenoopt\llmediaremotectrl.obj&lt;br /&gt;
.\releasenoopt\llmemoryview.obj&lt;br /&gt;
.\releasenoopt\llmenucommands.obj&lt;br /&gt;
.\releasenoopt\llmimetypes.obj&lt;br /&gt;
.\releasenoopt\llmorphview.obj&lt;br /&gt;
.\releasenoopt\llmoveview.obj&lt;br /&gt;
.\releasenoopt\llmutelist.obj&lt;br /&gt;
.\releasenoopt\llnamebox.obj&lt;br /&gt;
.\releasenoopt\llnameeditor.obj&lt;br /&gt;
.\releasenoopt\llnamelistctrl.obj&lt;br /&gt;
.\releasenoopt\llnetmap.obj&lt;br /&gt;
.\releasenoopt\llnotify.obj&lt;br /&gt;
.\releasenoopt\lloverlaybar.obj&lt;br /&gt;
.\releasenoopt\llpanelaudioprefs.obj&lt;br /&gt;
.\releasenoopt\llpanelaudiovolume.obj&lt;br /&gt;
.\releasenoopt\llpanelavatar.obj&lt;br /&gt;
.\releasenoopt\llpanelclassified.obj&lt;br /&gt;
.\releasenoopt\llpanelcontents.obj&lt;br /&gt;
.\releasenoopt\llpaneldebug.obj&lt;br /&gt;
.\releasenoopt\llpaneldirbrowser.obj&lt;br /&gt;
.\releasenoopt\llpaneldirclassified.obj&lt;br /&gt;
.\releasenoopt\llpaneldirevents.obj&lt;br /&gt;
.\releasenoopt\llpaneldirfind.obj&lt;br /&gt;
.\releasenoopt\llpaneldirgroups.obj&lt;br /&gt;
.\releasenoopt\llpaneldirland.obj&lt;br /&gt;
.\releasenoopt\llpaneldirpeople.obj&lt;br /&gt;
.\releasenoopt\llpaneldirplaces.obj&lt;br /&gt;
.\releasenoopt\llpaneldirpopular.obj&lt;br /&gt;
.\releasenoopt\llpaneldisplay.obj&lt;br /&gt;
.\releasenoopt\llpanelevent.obj&lt;br /&gt;
.\releasenoopt\llpanelface.obj&lt;br /&gt;
.\releasenoopt\llpanelgeneral.obj&lt;br /&gt;
.\releasenoopt\llpanelgroup.obj&lt;br /&gt;
.\releasenoopt\llpanelgroupgeneral.obj&lt;br /&gt;
.\releasenoopt\llpanelgroupinvite.obj&lt;br /&gt;
.\releasenoopt\llpanelgrouplandmoney.obj&lt;br /&gt;
.\releasenoopt\llpanelgroupnotices.obj&lt;br /&gt;
.\releasenoopt\llpanelgrouproles.obj&lt;br /&gt;
.\releasenoopt\llpanelgroupvoting.obj&lt;br /&gt;
.\releasenoopt\llpanelinput.obj&lt;br /&gt;
.\releasenoopt\llpanelinventory.obj&lt;br /&gt;
.\releasenoopt\llpanelland.obj&lt;br /&gt;
.\releasenoopt\llpanellandmedia.obj&lt;br /&gt;
.\releasenoopt\llpanellandobjects.obj&lt;br /&gt;
.\releasenoopt\llpanellandoptions.obj&lt;br /&gt;
.\releasenoopt\llpanelLCD.obj&lt;br /&gt;
.\releasenoopt\llpanellogin.obj&lt;br /&gt;
.\releasenoopt\llpanelmorph.obj&lt;br /&gt;
.\releasenoopt\llpanelmsgs.obj&lt;br /&gt;
.\releasenoopt\llpanelnetwork.obj&lt;br /&gt;
.\releasenoopt\llpanelobject.obj&lt;br /&gt;
.\releasenoopt\llpanelpermissions.obj&lt;br /&gt;
.\releasenoopt\llpanelpick.obj&lt;br /&gt;
.\releasenoopt\llpanelplace.obj&lt;br /&gt;
.\releasenoopt\llpanelvolume.obj&lt;br /&gt;
.\releasenoopt\llpanelweb.obj&lt;br /&gt;
.\releasenoopt\llparcelselection.obj&lt;br /&gt;
.\releasenoopt\llpatchvertexarray.obj&lt;br /&gt;
.\releasenoopt\llpolymesh.obj&lt;br /&gt;
.\releasenoopt\llpolymorph.obj&lt;br /&gt;
.\releasenoopt\llpostprocess.obj&lt;br /&gt;
.\releasenoopt\llprefschat.obj&lt;br /&gt;
.\releasenoopt\llprefsim.obj&lt;br /&gt;
.\releasenoopt\llprefsvoice.obj&lt;br /&gt;
.\releasenoopt\llpreview.obj&lt;br /&gt;
.\releasenoopt\llpreviewanim.obj&lt;br /&gt;
.\releasenoopt\llpreviewgesture.obj&lt;br /&gt;
.\releasenoopt\llpreviewlandmark.obj&lt;br /&gt;
.\releasenoopt\llpreviewnotecard.obj&lt;br /&gt;
.\releasenoopt\llpreviewscript.obj&lt;br /&gt;
.\releasenoopt\llpreviewsound.obj&lt;br /&gt;
.\releasenoopt\llpreviewtexture.obj&lt;br /&gt;
.\releasenoopt\llprogressview.obj&lt;br /&gt;
.\releasenoopt\llregionposition.obj&lt;br /&gt;
.\releasenoopt\llremoteparcelrequest.obj&lt;br /&gt;
.\releasenoopt\llsavedsettingsglue.obj&lt;br /&gt;
.\releasenoopt\llselectmgr.obj&lt;br /&gt;
.\releasenoopt\llsky.obj&lt;br /&gt;
.\releasenoopt\llspatialpartition.obj&lt;br /&gt;
.\releasenoopt\llsphere.obj&lt;br /&gt;
.\releasenoopt\llsprite.obj&lt;br /&gt;
.\releasenoopt\llsrv.obj&lt;br /&gt;
.\releasenoopt\llstartup.obj&lt;br /&gt;
.\releasenoopt\llstatbar.obj&lt;br /&gt;
.\releasenoopt\llstatgraph.obj&lt;br /&gt;
.\releasenoopt\llstatusbar.obj&lt;br /&gt;
.\releasenoopt\llstatview.obj&lt;br /&gt;
.\releasenoopt\llsurface.obj&lt;br /&gt;
.\releasenoopt\llsurfacepatch.obj&lt;br /&gt;
.\releasenoopt\lltexlayer.obj&lt;br /&gt;
.\releasenoopt\lltexturecache.obj&lt;br /&gt;
.\releasenoopt\lltexturectrl.obj&lt;br /&gt;
.\releasenoopt\lltexturefetch.obj&lt;br /&gt;
.\releasenoopt\lltextureview.obj&lt;br /&gt;
.\releasenoopt\lltool.obj&lt;br /&gt;
.\releasenoopt\lltoolbar.obj&lt;br /&gt;
.\releasenoopt\lltoolbrush.obj&lt;br /&gt;
.\releasenoopt\lltoolcomp.obj&lt;br /&gt;
.\releasenoopt\lltooldraganddrop.obj&lt;br /&gt;
.\releasenoopt\lltoolface.obj&lt;br /&gt;
.\releasenoopt\lltoolfocus.obj&lt;br /&gt;
.\releasenoopt\lltoolgrab.obj&lt;br /&gt;
.\releasenoopt\lltoolgun.obj&lt;br /&gt;
.\releasenoopt\lltoolindividual.obj&lt;br /&gt;
.\releasenoopt\lltoolmgr.obj&lt;br /&gt;
.\releasenoopt\lltoolmorph.obj&lt;br /&gt;
.\releasenoopt\lltoolobjpicker.obj&lt;br /&gt;
.\releasenoopt\lltoolpie.obj&lt;br /&gt;
.\releasenoopt\lltoolpipette.obj&lt;br /&gt;
.\releasenoopt\lltoolplacer.obj&lt;br /&gt;
.\releasenoopt\lltoolselect.obj&lt;br /&gt;
.\releasenoopt\lltoolselectland.obj&lt;br /&gt;
.\releasenoopt\lltoolselectrect.obj&lt;br /&gt;
.\releasenoopt\lltoolview.obj&lt;br /&gt;
.\releasenoopt\lltracker.obj&lt;br /&gt;
.\releasenoopt\lluploaddialog.obj&lt;br /&gt;
.\releasenoopt\llurl.obj&lt;br /&gt;
.\releasenoopt\llurldispatcher.obj&lt;br /&gt;
.\releasenoopt\llurlhistory.obj&lt;br /&gt;
.\releasenoopt\llurlsimstring.obj&lt;br /&gt;
.\releasenoopt\llurlwhitelist.obj&lt;br /&gt;
.\releasenoopt\lluserauth.obj&lt;br /&gt;
.\releasenoopt\llvectorperfoptions.obj&lt;br /&gt;
.\releasenoopt\llvelocitybar.obj&lt;br /&gt;
.\releasenoopt\llviewchildren.obj&lt;br /&gt;
.\releasenoopt\llviewerassetstorage.obj&lt;br /&gt;
.\releasenoopt\llvieweraudio.obj&lt;br /&gt;
.\releasenoopt\llviewercamera.obj&lt;br /&gt;
.\releasenoopt\llviewercontrol.obj&lt;br /&gt;
.\releasenoopt\llviewerdisplay.obj&lt;br /&gt;
.\releasenoopt\llviewergenericmessage.obj&lt;br /&gt;
.\releasenoopt\llviewergesture.obj&lt;br /&gt;
.\releasenoopt\llviewerimage.obj&lt;br /&gt;
.\releasenoopt\llviewerimagelist.obj&lt;br /&gt;
.\releasenoopt\llviewerinventory.obj&lt;br /&gt;
.\releasenoopt\llviewerjoint.obj&lt;br /&gt;
.\releasenoopt\llviewerjointattachment.obj&lt;br /&gt;
.\releasenoopt\llviewerjointmesh.obj&lt;br /&gt;
.\releasenoopt\llviewerjointmesh_sse.obj&lt;br /&gt;
.\releasenoopt\llviewerjointmesh_sse2.obj&lt;br /&gt;
.\releasenoopt\llviewerjointmesh_vec.obj&lt;br /&gt;
.\releasenoopt\llviewerjoystick.obj&lt;br /&gt;
.\releasenoopt\llviewerkeyboard.obj&lt;br /&gt;
.\releasenoopt\llviewerlayer.obj&lt;br /&gt;
.\releasenoopt\llviewermedia.obj&lt;br /&gt;
.\releasenoopt\llviewermenu.obj&lt;br /&gt;
.\releasenoopt\llviewermenufile.obj&lt;br /&gt;
.\releasenoopt\llviewermessage.obj&lt;br /&gt;
.\releasenoopt\llviewernetwork.obj&lt;br /&gt;
.\releasenoopt\llviewerobject.obj&lt;br /&gt;
.\releasenoopt\llviewerobjectlist.obj&lt;br /&gt;
.\releasenoopt\llviewerparcelmedia.obj&lt;br /&gt;
.\releasenoopt\llviewerparcelmediaautoplay.obj&lt;br /&gt;
.\releasenoopt\llviewerparcelmgr.obj&lt;br /&gt;
.\releasenoopt\llviewerparceloverlay.obj&lt;br /&gt;
.\releasenoopt\llviewerpartsim.obj&lt;br /&gt;
.\releasenoopt\llviewerpartsource.obj&lt;br /&gt;
.\releasenoopt\llviewerregion.obj&lt;br /&gt;
.\releasenoopt\llviewerstats.obj&lt;br /&gt;
.\releasenoopt\llviewertexteditor.obj&lt;br /&gt;
.\releasenoopt\llviewertextureanim.obj&lt;br /&gt;
.\releasenoopt\llviewerthrottle.obj&lt;br /&gt;
.\releasenoopt\llvieweruictrlfactory.obj&lt;br /&gt;
.\releasenoopt\llviewervisualparam.obj&lt;br /&gt;
.\releasenoopt\llviewerwindow.obj&lt;br /&gt;
.\releasenoopt\llvlcomposition.obj&lt;br /&gt;
.\releasenoopt\llvlmanager.obj&lt;br /&gt;
.\releasenoopt\llvoavatar.obj&lt;br /&gt;
.\releasenoopt\llvocache.obj&lt;br /&gt;
.\releasenoopt\llvoclouds.obj&lt;br /&gt;
.\releasenoopt\llvograss.obj&lt;br /&gt;
.\releasenoopt\llvoground.obj&lt;br /&gt;
.\releasenoopt\llvoiceclient.obj&lt;br /&gt;
.\releasenoopt\llvoiceremotectrl.obj&lt;br /&gt;
.\releasenoopt\llvoicevisualizer.obj&lt;br /&gt;
.\releasenoopt\llvoinventorylistener.obj&lt;br /&gt;
.\releasenoopt\llvopartgroup.obj&lt;br /&gt;
.\releasenoopt\llvosky.obj&lt;br /&gt;
.\releasenoopt\llvosurfacepatch.obj&lt;br /&gt;
.\releasenoopt\llvotextbubble.obj&lt;br /&gt;
.\releasenoopt\llvotree.obj&lt;br /&gt;
.\releasenoopt\llvovolume.obj&lt;br /&gt;
.\releasenoopt\llvowater.obj&lt;br /&gt;
.\releasenoopt\llvowlsky.obj&lt;br /&gt;
.\releasenoopt\llwaterparammanager.obj&lt;br /&gt;
.\releasenoopt\llwaterparamset.obj&lt;br /&gt;
.\releasenoopt\llwearable.obj&lt;br /&gt;
.\releasenoopt\llwearablelist.obj&lt;br /&gt;
.\releasenoopt\llweb.obj&lt;br /&gt;
.\releasenoopt\llwebbrowserctrl.obj&lt;br /&gt;
.\releasenoopt\llwind.obj&lt;br /&gt;
.\releasenoopt\llwindebug.obj&lt;br /&gt;
.\releasenoopt\llwlanimator.obj&lt;br /&gt;
.\releasenoopt\llwldaycycle.obj&lt;br /&gt;
.\releasenoopt\llwlparammanager.obj&lt;br /&gt;
.\releasenoopt\llwlparamset.obj&lt;br /&gt;
.\releasenoopt\llworld.obj&lt;br /&gt;
.\releasenoopt\llworldmap.obj&lt;br /&gt;
.\releasenoopt\llworldmapview.obj&lt;br /&gt;
.\releasenoopt\llxmlrpctransaction.obj&lt;br /&gt;
.\releasenoopt\moviemaker.obj&lt;br /&gt;
.\releasenoopt\noise.obj&lt;br /&gt;
.\releasenoopt\pipeline.obj&lt;br /&gt;
.\releasenoopt\newViewRes.res&lt;br /&gt;
.\releasenoopt\llviewerprecompiledheaders.obj&lt;br /&gt;
]&amp;lt;/pre&amp;gt;&lt;br /&gt;
Creating command line &amp;quot;link.exe @c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\newview\ReleaseNoOpt\RSP0000D8.rsp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Output Window===&lt;br /&gt;
Linking...&lt;br /&gt;
&lt;br /&gt;
link: extra operand `/NOLOGO&#039;&lt;br /&gt;
&lt;br /&gt;
Try `link --help&#039; for more information.&lt;br /&gt;
&lt;br /&gt;
newview : error PRJ0002 : error result returned from &#039;link.exe&#039;.&lt;br /&gt;
&lt;br /&gt;
===Results===&lt;br /&gt;
Build log was saved at &amp;quot;file://c:\SL_Viewer_Builds\1_19_1_4_release\linden\indra\newview\ReleaseNoOpt\BuildLog.htm&amp;quot;&lt;br /&gt;
newview - 1 error(s), 0 warning(s)&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Common_compilation_problems&amp;diff=74365</id>
		<title>Common compilation problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Common_compilation_problems&amp;diff=74365"/>
		<updated>2008-06-25T04:45:00Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: /* C4018: &amp;#039;&amp;lt;&amp;#039; : signed/unsigned mismatch */ whoops should be subsection&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
= General Problems =&lt;br /&gt;
&lt;br /&gt;
*  Make sure you download not only the source, but the artwork zipfile, and the appropriate zipfile/tarball of libraries for your platform&lt;br /&gt;
&lt;br /&gt;
= Windows = &lt;br /&gt;
&lt;br /&gt;
== Viewer 1.19.1.4 / VS2003 ==&lt;br /&gt;
=== C1083: Cannot open include file: &#039;dxdiag.h&#039; ===&lt;br /&gt;
The DirectX SDK doesn&#039;t automatically insert its include directory into the VS2003 paths. For the June 2008 DirectX SDK release, go to Tools -&amp;gt; Options -&amp;gt; Projects (on left) -&amp;gt; VC++ Directories. On right show directories for Include files, and add:&lt;br /&gt;
* C:\Program Files\Microsoft DirectX SDK (June 2008)\Include&lt;br /&gt;
&lt;br /&gt;
=== C1083: Cannot open include file: &#039;unistd.h&#039; ===&lt;br /&gt;
On Apr 27, 2008 in thread &#039;&#039;[sldev] error while compiling on vc8/9 (unistd.h)&#039;&#039;, SLDev contributor wuhanzymail &amp;lt;wuhanzymail@163.com&amp;gt; recommended the following:&lt;br /&gt;
&lt;br /&gt;
1) right-click project lscript_compile, choose properties, c/c++, Preprocessor, add &#039;&#039;YY_NO_UNISTD_H&#039;&#039; to Preprcessor Definitions.&lt;br /&gt;
&lt;br /&gt;
2) in lex_yy.cpp, line 5915 change:&lt;br /&gt;
&amp;lt;php&amp;gt;           #ifndef __cplusplus&lt;br /&gt;
           extern int isatty (int );&lt;br /&gt;
           #endif&amp;lt;/php&amp;gt;&lt;br /&gt;
to:&lt;br /&gt;
&amp;lt;php&amp;gt;           #ifndef YY_NEVER_INTERACTIVE&lt;br /&gt;
           extern int isatty (int );&lt;br /&gt;
           #endif&amp;lt;/php&amp;gt;&lt;br /&gt;
3) still in lex_yy.cpp, line 5943 change:&lt;br /&gt;
&amp;lt;php&amp;gt;          b-&amp;gt;yy_is_interactive = file ? (isatty( fileno(file) ) &amp;gt; 0) : 0;&amp;lt;/php&amp;gt;&lt;br /&gt;
to:&lt;br /&gt;
&amp;lt;php&amp;gt;          #if YY_NEVER_INTERACTIVE&lt;br /&gt;
              b-&amp;gt;yy_is_interactive = 0;&lt;br /&gt;
          #else&lt;br /&gt;
              b-&amp;gt;yy_is_interactive = file ? (isatty( fileno(file) ) &amp;gt; 0) : 0;&lt;br /&gt;
          #endif&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== C4018: &#039;&amp;lt;&#039; : signed/unsigned mismatch ===&lt;br /&gt;
On Apr 30, 2008 in thread &#039;&#039;[sldev] cygwin flex lscript_compile workaround&#039;&#039;, SLDev contributor Steve Linden recommended the following:&lt;br /&gt;
&lt;br /&gt;
I&#039;m not sure whether this has already been addressed here, but we &lt;br /&gt;
discovered a problem with the latest version of Cygwin flex and &lt;br /&gt;
lscript_compile and I thought I would share the workaround. We&#039;ve &lt;br /&gt;
committed the workaround to our release-candidate branche so it should &lt;br /&gt;
be in an upcoming source drop as well.&lt;br /&gt;
&lt;br /&gt;
1. Add &#039;&#039;YY_NO_UNISTD_H&#039;&#039; to the list of Preprocessor Definitions in the &lt;br /&gt;
lscript_compile project file.&lt;br /&gt;
&lt;br /&gt;
2. Apply the following patch it indra.l:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;php&amp;gt;Index: indra.l&lt;br /&gt;
===================================================================&lt;br /&gt;
--- indra.l    (revision 86342)&lt;br /&gt;
+++ indra.l    (revision 86343)&lt;br /&gt;
@@ -12,6 +12,7 @@&lt;br /&gt;
 #include &amp;quot;linden_common.h&amp;quot;&lt;br /&gt;
 // Deal with the fact that lex/yacc generates unreachable code&lt;br /&gt;
 #ifdef LL_WINDOWS&lt;br /&gt;
+#pragma warning (disable : 4018) // warning C4018: signed/unsigned mismatch&lt;br /&gt;
 #pragma warning (disable : 4702) // warning C4702: unreachable code&lt;br /&gt;
 #endif    //    LL_WINDOWS&lt;br /&gt;
 #include &amp;quot;llmath.h&amp;quot;&lt;br /&gt;
@@ -44,7 +45,10 @@&lt;br /&gt;
 &lt;br /&gt;
 #define YYLMAX 16384&lt;br /&gt;
 #define YY_NEVER_INTERACTIVE 1 /* stops flex from calling isatty() */&lt;br /&gt;
-&lt;br /&gt;
+#ifdef LL_WINDOWS&lt;br /&gt;
+#define isatty(x) 0 /* hack for bug in cygwin flex 2.5.35 */&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
 #ifdef ECHO&lt;br /&gt;
 #undef ECHO&lt;br /&gt;
 #endif&lt;br /&gt;
&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unresolved external symbol _CLSID_DxDiagProvider/_IID_IDxDiagProvider ==&lt;br /&gt;
* &#039;&#039;newview error LNK2001: unresolved external symbol _CLSID_DxDiagProvider&#039;&#039;&lt;br /&gt;
* &#039;&#039;newview error LNK2001: unresolved external symbol _IID_IDxDiagProvider&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These errors reportedly occur with MSVC 2003 and certain versions of the DirectX SDK.  To workaround, edit lldxhardware.cpp and replace the following (line 35):&lt;br /&gt;
&lt;br /&gt;
     #include &amp;lt;dxdiag.h&amp;gt;&lt;br /&gt;
with...&lt;br /&gt;
     #define INITGUID&lt;br /&gt;
     #include &amp;lt;dxdiag.h&amp;gt;&lt;br /&gt;
     #undef INITGUID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cannot open input file &#039;dxguid.lib&#039; ==&lt;br /&gt;
* &#039;&#039;fatal error LNK1181: cannot open input file &#039;dxguid.lib&#039; in ...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are using a fairly recent DirectX SDK (&amp;quot;December 2006&amp;quot; or newer), your VC++ Libraries Directory may be wrong because the SDK&#039;s lib folder now has 2 sub-folders for x64 and x86.  Try changing the path from &#039;&#039;C:\Program Files\Microsoft DirectX SDK (December 2006)\Lib&#039;&#039; to &#039;&#039;C:\Program Files\Microsoft DirectX SDK (December 2006)\&#039;&#039; &#039;&#039;&#039;Lib\x86&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open input file &#039;dxerr8.lib&#039; ==&lt;br /&gt;
* &#039;&#039;fatal error LNK1104: cannot open file &#039;dxerr8.lib&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are using the most recent DirectX SDK (&amp;quot;November 2007&amp;quot;), the file dxerr8.lib does no longer exist. To fix this, you&#039;ll need to change the newview project to include &#039;dxerr9.lib&#039; instead. To do this, right-lick newview &amp;gt; Configuration Properties &amp;gt; Linker &amp;gt; Input, click Additional Dependencies on the right to show a button labeled &amp;quot;...&amp;quot; on it at the very right on the line, then click the ... button. Scroll down the list to find &#039;dxerr8.lib&#039;. Rewrite it to &#039;dxerr9.lib&#039;. Remember to do this for both the ReleaseForDownload and the ReleaseNoOpt Configurations.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== A tool returned an error code from &amp;quot;Building ytab.cpp&amp;quot; ==&lt;br /&gt;
* &#039;&#039;lscript_compile_fb error PRJ0019: A tool returned an error code from &amp;quot;Building ytab.cpp&amp;quot; &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
One possible reason for this is that Visual Studio does not know where cygwin/bin is, especially if this is accompanied by an error relating to bison.exe being an invalid command.  Even if the directory for cygwin is in the environment variable PATH, Visual Studio maintains its own separate copy which does not seem to be automatically synchronized after the initial installation.&lt;br /&gt;
&lt;br /&gt;
For Visual Studio .NET 2003, go to Tools &amp;gt; Options &amp;gt; Projects &amp;gt; VC++ Directories.  In the &amp;quot;show directories for&amp;quot; dropdown, choose &amp;quot;Executable files&amp;quot;.  Make sure that your cygwin (default C:\cygwin\bin) and ActivePython (default C:\Python25) directories are listed.&lt;br /&gt;
&lt;br /&gt;
== Cannot open include file: &#039;ytab.h&#039;: No such file or directory ==&lt;br /&gt;
* &#039;&#039;indra.l (20) : fatal error C1083: Cannot open include file: &#039;ytab.h&#039;: No such file or directory.&#039;&#039;&lt;br /&gt;
Workaround: Manually copy &amp;quot;linden\indra\lscript\lscript_compile\ytab.hpp&amp;quot; to &amp;quot;linden\indra\lscript\lscript_compile\ytab.h&amp;quot; and build again. &lt;br /&gt;
&lt;br /&gt;
Note: The underlying issue is that in indra.y there is a postbuild step which should do this automatically, but which is missing in some configurations (e.g. in Debug builds).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;png.h&#039;: No such file or directory ==&lt;br /&gt;
* &#039;&#039;imagepng.cpp : fatal error C1083: Cannot open include file: &#039;libpng12/png.h&#039;: No such file or directory.&#039;&#039;&lt;br /&gt;
There are a couple of files missing since the 1.17. distribution.  You can either get the missing files from the internet (from the libpng and zlib projects) or download a set with just the missing files from [http://www.blueflash.cc/users/nicholaz/~libs here] (see the readme.txt inside the png archive there).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;glh/glh_linear.h&#039; or &#039;glh/glh_convenience.h&#039; ==&lt;br /&gt;
These files are currently missing from Linden Windlight distributions.  See [https://jira.secondlife.com/browse/VWR-3415 JIRA VWR-3415] or grab a copy from [http://www.blueflash.cc/users/nicholaz/~libs here] and put the files into a folder named linden/libraries/include/glh.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[LearCale]] -- as of 1.19, these appear to need to be in linden/libraries/include/GL .&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Errors relating to &amp;quot;template_verifier.py&amp;quot; ==&lt;br /&gt;
With version 1.18 a template verifier script written in Python is used to ensure the message template is correct.  In some distributions the file was missing.  You will also get an error if you have skipped the Python install.  In both cases it is safe to hack the prebuild.bat file in the newview folder as described on the JIRA [http://jira.secondlife.com/browse/VWR-1267 VWR-1267]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missing resources ==&lt;br /&gt;
* &#039;&#039;.\res\newViewRes.rc(64) : error RC2135 : file not found: ll_icon.ico&#039;&#039;&lt;br /&gt;
Some releases have missing files, which were reported to be last seen in the &#039;&#039;&#039;1.14.0.1&#039;&#039;&#039; release.&lt;br /&gt;
* Go to the [[source downloads]] page and grab the [[http://secondlife.com/developers/opensource/downloads/2007/04/slviewer-src-1.14.0.1.zip &#039;&#039;&#039;1.14.0.1&#039;&#039;&#039; viewer]] sources.&lt;br /&gt;
* Explore the archive to &amp;quot;linden/indra/newview/res&amp;quot; folder and extract content to your &amp;quot;linden/indra/newview/res&amp;quot; folder into current revision.&lt;br /&gt;
Missing folder in recent release, &amp;quot;&#039;&#039;&#039;1.17.0.12&#039;&#039;&#039;&amp;quot; which causes the SecondLife to hang while loading into the world.&lt;br /&gt;
* Go to the previous source and copy the missing folder, &amp;quot;Character&amp;quot; and place it into the &amp;quot;newview&amp;quot; folder&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Error code from &amp;quot;Copying message template&amp;quot; ==&lt;br /&gt;
* &#039;&#039;newview error PRJ0019: A tool returned an error code from &amp;quot;Copying message template&amp;quot;&#039;&#039;&lt;br /&gt;
This is caused by the script trying to do a copy command, but the source path isn&#039;t in quotes.  Open up newview.vcproj in notepad, and near the bottom there are 4 line that say:&lt;br /&gt;
     CommandLine=&amp;quot;copy $(InputPath) .\app_settings\message_template.msg&lt;br /&gt;
replace them with&lt;br /&gt;
     CommandLine=&amp;quot;copy &amp;amp;amp;quot;$(InputPath)&amp;amp;amp;quot; .\app_settings\message_template.msg&lt;br /&gt;
The source and destination paths on line 158 may also require wrapping in quotes.  In which case:&lt;br /&gt;
     CommandLine=&amp;quot;copy $(TargetDir)\$(TargetFileName) $(ProjectDir)&lt;br /&gt;
should become:&lt;br /&gt;
     CommandLine=&amp;quot;copy &amp;amp;amp;quot;$(TargetDir)\$(TargetFileName)&amp;amp;amp;quot; &amp;amp;amp;quot;$(ProjectDir)&amp;amp;amp;quot;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Can not find library ll*.lib ==&lt;br /&gt;
If you get a compile error for missing libraries with names of the projects (lscript_compile.lib, llaudio.lib, llcharacter.lib, etc.) go to newview &amp;gt; Properties &amp;gt; Linker &amp;gt; Input and remove these from the list of input libraries (they will be linked through the dependencies and should not be in the list).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;windows.h&#039; ==&lt;br /&gt;
If you run into this problem:&lt;br /&gt;
 ..\..\..\boost/regex/v4/fileiter.hpp(44) : fatal error C1083: Cannot open include file: &#039;windows.h&#039;: No such file or directory&lt;br /&gt;
Fix it with this: (thanks Fairlight!)&lt;br /&gt;
 set INCLUDE=C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include;%INCLUDE%&lt;br /&gt;
 set LIB=C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib;%LIB%&lt;br /&gt;
You might need to edit the above path to refer to your particular platform SDK.  If you don&#039;t have the Microsoft Windows Platform SDK installed, then you can download it for free from Microsoft.  It is version specific and can be tricky to find on their website.&lt;br /&gt;
&lt;br /&gt;
If you&#039;re having problems with windows.h in Visual Studio Express 2005, check out this forum post:&lt;br /&gt;
[http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1995837&amp;amp;SiteID=1 MSDN Forum Post]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unresolved external symbol &amp;quot;int __cdecl lscript_compile&amp;quot; (VS2005) ==&lt;br /&gt;
* &#039;&#039;llcompilequeue.obj : error LNK2019: unresolved external symbol &amp;quot;int __cdecl lscript_compile(char const *,char const *,char const *,int)&amp;quot; (?lscript_compile@@YAHPBD00H@Z) referenced in function &amp;quot;protected: void __thiscall LLFloaterCompileQueue::compile(char const *,class LLUUID const &amp;amp;)&amp;quot; (?compile@LLFloaterCompileQueue@@IAEXPBDABVLLUUID@@@Z)&#039;&#039;&lt;br /&gt;
* &#039;&#039;llpreviewscript.obj : error LNK2001: unresolved external symbol &amp;quot;int __cdecl lscript_compile(char const *,char const *,char const *,int)&amp;quot; (?lscript_compile@@YAHPBD00H@Z)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is not entirely clear, but there seems to be a problem with VS2005 if projects are unloaded while being in the dependency tree.  I have seen this error while I had win_crash_logger and win_updater unloaded from the project tree and the problem went away when I loaded them back and excluded them from the newview dependency first.&lt;br /&gt;
&lt;br /&gt;
Also make sure that in newview, properties, linker, input, input libraries, no libraries named ll*.lib and lscript_compile.lib are listed there (remove them if you find them).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unresolved external symbol __invalid_parameter_noinfo (VS2005) ==&lt;br /&gt;
* &#039;&#039;llmozlib-vc80.lib(llembeddedbrowserwindow.obj) : error LNK2019: unresolved external symbol __invalid_parameter_noinfo referenced&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You are most likely trying a debug build under VS2005.  For debug builds, see the compile instruction section on [[finding_leaks]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cannot open include file: &#039;ares.h&#039; ==&lt;br /&gt;
download src from http://daniel.haxx.se/projects/c-ares/&lt;br /&gt;
&lt;br /&gt;
compile c-ares-1.4.0/vc/areslib&lt;br /&gt;
&lt;br /&gt;
copy c-ares-1.4.0/vc/areslib/Release/areslib.lib to linden/libraries/i686-win32/lib_release and to lib_debug&lt;br /&gt;
&lt;br /&gt;
copy c-ares-1.4.0/*.h to linden/libraries/i686-win32/include/ares&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Other (older) notes ==&lt;br /&gt;
* Mozilla is not compatible with visual studio 2005, so we have not migrated the codebase, so we do not know if it works. &lt;br /&gt;
&lt;br /&gt;
* Added my errors at [[User:Adam_Zaius/MSVS2005 Errors]] [[User:Adam Zaius|Adam Zaius]] 09:40, 8 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
* To minimize the number of warnings for now: in C/C++-Preprocessor add &#039;;_CRT_SECURE_NO_DEPRECATE&#039; to the Preprocessor Definitions, that will supress deprecation warnings --[[User:Artm Udal|Artm Udal]] 12:42, 8 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Mac OS X =&lt;br /&gt;
&lt;br /&gt;
Getting:&lt;br /&gt;
&lt;br /&gt;
*/linden/indra/newview/../llwindow/llglheaders.h:377:31: error: GL/glh_extensions.h: No such file or directory&lt;br /&gt;
** This means you didn&#039;t [[Compiling the viewer (Mac OS X)#Viewer Source, Libraries, and Artwork|merge the libraries]] right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Linux = &lt;br /&gt;
&lt;br /&gt;
==== Packaging errors ====&lt;br /&gt;
&lt;br /&gt;
The final packaging step may fail with errors about the manifest if you are not using the &amp;lt;i&amp;gt;slviewer-linux-libs&amp;lt;/i&amp;gt; bundle; in this case, if you still wish to end up with an end-user viewer package incorporating your own libraries, you can edit the manifest file found at &amp;lt;b&amp;gt;indra/newview/viewer_manifest.py&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Various Compilation problems ====&lt;br /&gt;
* g++-3.4 -o linux_crash_logger/linux-crash-logger-i686-bin-globalsyms --no-keep-memory --reduce-memory-overheads /tmp/paul/home/paul/builds/secondlife/src/linden/indra/i686-linux-client-release/llcrashlogger/llcrashlogger.o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/i686-linux-client-release/linux_crash_logger/linux_crash_logger.o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/i686-linux-client-release/linux_crash_logger/llcrashloggerlinux.o -Llib_release_client/i686-linux -L/home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client -lllui -lllxml -lllmessage -lllvfs -lllmath -lllcommon -lcurl -lssl -lcrypto -laprutil-1 -lapr-1 -lcares -lexpat -ldb-4.2 -lgtk-x11-2.0&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libcurl.a when searching for -lcurl&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libssl.so when searching for -lssl&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libcrypto.so when searching for -lcrypto&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libaprutil-1.so when searching for -laprutil-1&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libapr-1.so when searching for -lapr-1&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libcares.a when searching for -lcares&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libexpat.so when searching for -lexpat&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libdb-4.2.so when searching for -ldb-4.2&lt;br /&gt;
/usr/bin/ld: cannot find -ldb-4.2&lt;br /&gt;
collect2: ld returned 1 exit status&lt;br /&gt;
&lt;br /&gt;
[paul@myhost secondlife]$ pacman -Q db&lt;br /&gt;
db 4.6.21-2&lt;br /&gt;
&lt;br /&gt;
[paul@myhost secondlife]$ uname -a&lt;br /&gt;
Linux myhost 2.6.23-ARCH #1 SMP PREEMPT Tue Jan 15 07:17:51 CET 2008 x86_64 Intel(R) Celeron(R) CPU 2.66GHz GenuineIntel GNU/Linux&lt;br /&gt;
&lt;br /&gt;
And using:&lt;br /&gt;
source=(&#039;secondlife.desktop&#039; &#039;secondlife.install&#039; &#039;secondlife.launcher&#039; \&lt;br /&gt;
&amp;quot;http://secondlife.com/developers/opensource/downloads/2008/01/slviewer-src-RC-${pkgver}.tar.gz&amp;quot; \&lt;br /&gt;
&#039;http://secondlife.com/developers/opensource/downloads/2007/12/slviewer-artwork-RC-1.18.6.2.zip&#039; \&lt;br /&gt;
&#039;http://secondlife.com/developers/opensource/downloads/2007/12/slviewer-linux-libs-RC-1.18.6.2.tar.gz&#039; \&lt;br /&gt;
&#039;http://www.fmod.org/index.php/release/version/fmodapi375linux.tar.gz&#039; \&lt;br /&gt;
&#039;http://secondlife.com/developers/opensource/downloads/2007/12/llmozlib-src-20071221.tar.gz&#039;)&lt;br /&gt;
&lt;br /&gt;
Hum ok, I was trying to use:&lt;br /&gt;
scons DISTCC=no BTARGET=client BUILD=release MOZLIB=yes&lt;br /&gt;
&lt;br /&gt;
I&#039;ll retry with:&lt;br /&gt;
scons BUILD=release ARCH=x86_64 BTARGET=client DISTCC=no MOZLIB=yes FMOD=yes GSTREAMER=yes STANDALONE=yes&lt;br /&gt;
(Sconstruct says that with STANDALONE=yes -db-4.2 will not be used)&lt;br /&gt;
&lt;br /&gt;
But at the beginning I get:&lt;br /&gt;
scons: Reading SConscript files ...&lt;br /&gt;
Building client 1.18.6.2 on x86_64-linux (release)&lt;br /&gt;
No CCACHE_DIR set.&lt;br /&gt;
&lt;br /&gt;
scons: warning: Two different environments were specified for target /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llcrashlogger/llcrashlogger.o,&lt;br /&gt;
	but they appear to have the same action: $CXX -o $TARGET -c $CXXFLAGS $_CCCOMCOM $SOURCES&lt;br /&gt;
File &amp;quot;/home/paul/builds/secondlife/src/linden/indra/SConstruct&amp;quot;, line 568, in create_executable&lt;br /&gt;
scons: done reading SConscript files.&lt;br /&gt;
scons: Building targets ...&lt;br /&gt;
&lt;br /&gt;
well, the new scons line give different problem:&lt;br /&gt;
g++ -o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.o -c -g -pipe -Wall -Wno-reorder -Wno-trigraphs -Wno-sign-compare -Werror -fexceptions -pthread -D_REENTRANT -fno-math-errno -fsigned-char -fno-strict-aliasing -falign-loops=16 -ffast-math -O2 -D_FORTIFY_SOURCE=2 -DLL_STANDALONE -DLL_MESA_HEADLESS=0 -DLL_MESA=0 -DLL_LINUX=1 -DAPPID=secondlife -DLL_SDL=1 -DLL_FMOD=0 -DLL_X11=1 -DLL_GTK=1 -DLL_LIBXUL_ENABLED=1 -DLL_GSTREAMER_ENABLED=1 -DNDEBUG -DLL_RELEASE=1 -Illcommon -Illmath -Illwindow -Illaudio -Illcharacter -Illcrashlogger -Illdatabase -Illhavok -Illimage -Illinventory -Illmedia -Illmessage -Illprimitive -Illrender -Illscene -Illui -Illvfs -Illwindow -Illxml -Ilscript -Ilscript/lscript_compile -I/home/paul/builds/secondlife/src/linden/libraries/include -I/home/paul/builds/secondlife/src/linden/libraries/include/havok -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include -I/usr/include/atk-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/SDL -I/usr/include/apr-1 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/gstreamer-0.10 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0/include -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/libxml2 /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp&lt;br /&gt;
cc1plus: warnings being treated as errors&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp: In function &#039;const char* OrderToString(LLQuaternion::Order)&#039;:&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:701: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:704: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:707: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:710: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:713: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:716: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
scons: *** [/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.o] Error 1&lt;br /&gt;
scons: building terminated because of errors.&lt;br /&gt;
&lt;br /&gt;
Well, STANDALONE=yes make it use g++ rather than g++-3.4, so I decided to remove it, keeping&lt;br /&gt;
ARCH=X86_64 and others, but I get:&lt;br /&gt;
ranlib lib_release_client/x86_64-linux/libllprimitive.a&lt;br /&gt;
g++-3.4 -o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.o -c -g -pipe -Wall -Wno-reorder -Wno-trigraphs -Wno-sign-compare -Werror -fexceptions -pthread -D_REENTRANT -fno-math-errno -fsigned-char -fno-strict-aliasing -falign-loops=16 -ffast-math -O2 -D_FORTIFY_SOURCE=2 -DLL_MESA_HEADLESS=0 -DLL_MESA=0 -DLL_LINUX=1 -DAPPID=secondlife -DLL_SDL=1 -DLL_FMOD=0 -DLL_X11=1 -DLL_GTK=1 -DLL_LIBXUL_ENABLED=1 -DLL_GSTREAMER_ENABLED=1 -DNDEBUG -DLL_RELEASE=1 -Illcommon -Illmath -Illwindow -Illaudio -Illcharacter -Illcrashlogger -Illdatabase -Illhavok -Illimage -Illinventory -Illmedia -Illmessage -Illprimitive -Illrender -Illscene -Illui -Illvfs -Illwindow -Illxml -Ilscript -Ilscript/lscript_compile -I/home/paul/builds/secondlife/src/linden/libraries/include -I/home/paul/builds/secondlife/src/linden/libraries/include/havok -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/ELFIO -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/atk-1.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/gtk-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/llfreetype2 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/pango-1.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/gstreamer-0.10 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0/include -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/libxml2 /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:41:44: llfreetype2/freetype/ft2build.h: No such file or directory&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:56: error: `FT_Render_Mode&#039; does not name a type&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:60: error: `FT_Library&#039; does not name a type&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp: In constructor `LLFontManager::LLFontManager()&#039;:&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:78: error: `gFTLibrary&#039; was not declared in this scope&lt;br /&gt;
... [many more errors]&lt;br /&gt;
&lt;br /&gt;
oh well, SConstruct says I need: cairo glib-2.0 atk gmobile-2.0 gdk-2.0 gdk-pixbuf-2.0 pango pangoft2 pangox pangoxft gtk+-2.0 sdl vorbis vorbisenc vorbisfile&lt;br /&gt;
&lt;br /&gt;
Maybe this is pangoft2 that is missing.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Unable to initialize communications&amp;quot;&lt;br /&gt;
** If the viewer just displays the error message &amp;quot; Unable to initialize communications&amp;quot; and exits, it can&#039;t find message_template.msg. You did remember to copy it over, right?&lt;br /&gt;
&lt;br /&gt;
* Blino&#039;s SL build/linking patches for &#039;&#039;&#039;gcc4&#039;&#039;&#039;: http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/secondlife/current/&lt;br /&gt;
* objcopy: &amp;lt;b&amp;gt;&#039;newview/linux_tools/exposed-symbols.txt&#039;&amp;lt;/b&amp;gt;: No such file&lt;br /&gt;
** Tofu says... &#039;This is an omission from our manifest which I&#039;ll fix.  Meanwhile it&#039;s a safe fix to create an empty file with that name.&#039;&lt;br /&gt;
&lt;br /&gt;
* Something like: &amp;lt;b&amp;gt;/usr/bin/ld: cannot find -lz&amp;lt;/b&amp;gt;&lt;br /&gt;
** Nadia says: Install the zlib development headers. (Ubuntu package zlib1g-dev, Red Hat zlib-devel.)&lt;br /&gt;
&lt;br /&gt;
* Something like: indra.y.cpp:17: &amp;lt;b&amp;gt;error: previous declaration of `int yyparse()&#039;&amp;lt;/b&amp;gt;&lt;br /&gt;
** Tofu says... &#039;This appears to be a problem with some versions of flex/bison.  A resident reports success when comment out the &amp;lt;i&amp;gt;#ifdef __cplusplus&amp;lt;/i&amp;gt; lines in lscript/lscript_compile/indra.y&#039;&lt;br /&gt;
** Nadia says: install the zlib development headers first and try recompiling. Commenting out those lines results in a error indra.l:666: &amp;lt;b&amp;gt;undefined     &lt;br /&gt;
* Linking failures (&amp;quot;script not found&amp;quot;) due to spaces in the LINKFLAGS variable?&lt;br /&gt;
** I saw a [http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4665538 report], and modified the SConstruct file to drop the trailing arguments (and spaces) in LINKFLAGS.&lt;br /&gt;
&lt;br /&gt;
* Building [https://lists.secondlife.com/pipermail/sldev/2007-January/000091.html 20070112a] using &#039;&#039;BUILD=releasefordownload&#039;&#039; I get many &#039;&#039;[: 89: ==: unexpected operator&#039;&#039; errors; &#039;&#039;cp: target `SecondLife_i686_1_13_1_7/app_settings/*’ is not a directory&#039;&#039; error, and same thing for character, fonts, help, skins, res-sdl; &#039;&#039;[: 111: ==: unexpected operator, [: 120: SecondLife_i686_1_13_1_7.tar.bz2: unexpected operator&#039;&#039;. I can succesfully run the client from the source tree.&lt;br /&gt;
** i think this has been fixed --[[User:Signore Iredell|Signore Iredell]] 06:09, 9 June 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
* scons: *** While building `[&#039;.../linden/indra/i686-linux-client-release/lscript/lscript_compile/indra.l.cpp&#039;]&#039;: Don&#039;t know how to build a file with suffix `.l&#039;.&lt;br /&gt;
** You probably don&#039;t have all the dependencies installed (I had the same problem). Check that you have flex and bison. --[[User:Random73 Janus|Random73 Janus]] 07:43, 16 May 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
* Something like: linden/indra/i686-linux-client-release/llrender/llimagegl.cpp:122: &amp;lt;b&amp;gt;error: `glActiveTextureARB&#039; was not declared in this scope&amp;lt;/b&amp;gt;	 &lt;br /&gt;
** Tofu says... &#039;You&#039;ll need to install OpenGL headers if you don&#039;t already have them: gl.h, glext.h, glu.h (The ones from &#039;mesa&#039; should work)	 &lt;br /&gt;
** two residents report good luck on Gentoo after doing &#039;eselect opengl set xorg-x11&#039; (&amp;lt;b&amp;gt;but note!!&amp;lt;/b&amp;gt; You must know what you&#039;re doing; this may change your default system OpenGL drivers, and you will probably want to change them back again after the compile, e.g. &#039;eselect opengl set nvidia&#039;)&#039;&lt;br /&gt;
&lt;br /&gt;
*Building Shared Library ELFIO [[Compiling_the_viewer_%28Linux%29]] on AMD64 ubuntu 6.10&lt;br /&gt;
     g++-3.4 -shared *.o -o libelfio.so&lt;br /&gt;
     /usr/bin/ld: ELFIDynamic.o: relocation R_X86_64_32 against `a local symbol&#039; can &lt;br /&gt;
     not be used when making a  shared object; recompile with -fPIC&lt;br /&gt;
     ELFIDynamic.o: could not read symbols: Bad value&#039;&#039;&#039;&lt;br /&gt;
** I got around this with &amp;quot;export CXXFLAGS=-fPIC&amp;quot; before configuring ELFIO. &lt;br /&gt;
&lt;br /&gt;
* Building Client on Ubuntu 7.04 AMD64&lt;br /&gt;
     /usr/bin/ld: skipping incompatible /home/dereck/Desktop/SLdev/linden/libraries/i686-linux/lib_release_client/libopenjpeg.a when searching for -lopenjpeg&lt;br /&gt;
     /usr/bin/ld: cannot find -lopenjpeg&lt;br /&gt;
     collect2: ld returned 1 exit status&lt;br /&gt;
** I went to the OpenJPEG website, downloaded the source, compiled for my system, installed it. The VWR compile  was happy after that. Although it&#039;s not done yet and I&#039;m still fixing another error, that I assume is unrelated.&lt;br /&gt;
&lt;br /&gt;
* C-Ares compatability issue.&lt;br /&gt;
Compiling with c-ares version 1.5.1 got a compile error in llares.cpp:&lt;br /&gt;
&lt;br /&gt;
linden/indra/x86_64-linux-client-release/llcommon/llares.cpp: In member function `void LLAres::getHostByName(const char*, LLAres::HostResponder*, int)&#039;:&lt;br /&gt;
&lt;br /&gt;
linden/indra/x86_64-linux-client-release/llcommon/llares.cpp:147: error: invalid conversion from `void (*)(void*, int, hostent*)&#039; to `void (*)(void*, int, int, hostent*)&#039;&lt;br /&gt;
&lt;br /&gt;
Fixed with patch from https://jira.secondlife.com/browse/VWR-3480&lt;br /&gt;
&lt;br /&gt;
==== scons got wild ====&lt;br /&gt;
&lt;br /&gt;
* AttributeError: SConsEnvironment instance has no attribute &#039;CFile&#039;&lt;br /&gt;
: This probably means you have no bison, flex, or equivalent tools installed on the standard locations on your system.&lt;br /&gt;
:* When your system has no bison installed, the above message will be supplemented as:&lt;br /&gt;
 env.CFile(target=build_dir+&#039;/lscript/lscript_compile/indra.y.c&#039;, source=&#039;lscript/lscript_compile/indra.y&#039;)&lt;br /&gt;
:* When your system has no flex installed, the above message will be supplemented as:&lt;br /&gt;
 env.CFile(target=build_dir+&#039;/lscript/lscript_compile/indra.l.cpp&#039;, source=&#039;lscript/lscript_compile/indra.l&#039;)&lt;br /&gt;
: Installing the appropriate package should solve this issue.&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Common_compilation_problems&amp;diff=74364</id>
		<title>Common compilation problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Common_compilation_problems&amp;diff=74364"/>
		<updated>2008-06-25T04:43:48Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: /* Viewer 1.19.1.4 / VS2003 */ add sldev notes on C4018: &amp;#039;&amp;lt;&amp;#039; : signed/unsigned mismatch&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
= General Problems =&lt;br /&gt;
&lt;br /&gt;
*  Make sure you download not only the source, but the artwork zipfile, and the appropriate zipfile/tarball of libraries for your platform&lt;br /&gt;
&lt;br /&gt;
= Windows = &lt;br /&gt;
&lt;br /&gt;
== Viewer 1.19.1.4 / VS2003 ==&lt;br /&gt;
=== C1083: Cannot open include file: &#039;dxdiag.h&#039; ===&lt;br /&gt;
The DirectX SDK doesn&#039;t automatically insert its include directory into the VS2003 paths. For the June 2008 DirectX SDK release, go to Tools -&amp;gt; Options -&amp;gt; Projects (on left) -&amp;gt; VC++ Directories. On right show directories for Include files, and add:&lt;br /&gt;
* C:\Program Files\Microsoft DirectX SDK (June 2008)\Include&lt;br /&gt;
&lt;br /&gt;
=== C1083: Cannot open include file: &#039;unistd.h&#039; ===&lt;br /&gt;
On Apr 27, 2008 in thread &#039;&#039;[sldev] error while compiling on vc8/9 (unistd.h)&#039;&#039;, SLDev contributor wuhanzymail &amp;lt;wuhanzymail@163.com&amp;gt; recommended the following:&lt;br /&gt;
&lt;br /&gt;
1) right-click project lscript_compile, choose properties, c/c++, Preprocessor, add &#039;&#039;YY_NO_UNISTD_H&#039;&#039; to Preprcessor Definitions.&lt;br /&gt;
&lt;br /&gt;
2) in lex_yy.cpp, line 5915 change:&lt;br /&gt;
&amp;lt;php&amp;gt;           #ifndef __cplusplus&lt;br /&gt;
           extern int isatty (int );&lt;br /&gt;
           #endif&amp;lt;/php&amp;gt;&lt;br /&gt;
to:&lt;br /&gt;
&amp;lt;php&amp;gt;           #ifndef YY_NEVER_INTERACTIVE&lt;br /&gt;
           extern int isatty (int );&lt;br /&gt;
           #endif&amp;lt;/php&amp;gt;&lt;br /&gt;
3) still in lex_yy.cpp, line 5943 change:&lt;br /&gt;
&amp;lt;php&amp;gt;          b-&amp;gt;yy_is_interactive = file ? (isatty( fileno(file) ) &amp;gt; 0) : 0;&amp;lt;/php&amp;gt;&lt;br /&gt;
to:&lt;br /&gt;
&amp;lt;php&amp;gt;          #if YY_NEVER_INTERACTIVE&lt;br /&gt;
              b-&amp;gt;yy_is_interactive = 0;&lt;br /&gt;
          #else&lt;br /&gt;
              b-&amp;gt;yy_is_interactive = file ? (isatty( fileno(file) ) &amp;gt; 0) : 0;&lt;br /&gt;
          #endif&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== C4018: &#039;&amp;lt;&#039; : signed/unsigned mismatch ==&lt;br /&gt;
On Apr 30, 2008 in thread &#039;&#039;[sldev] cygwin flex lscript_compile workaround&#039;&#039;, SLDev contributor Steve Linden recommended the following:&lt;br /&gt;
&lt;br /&gt;
I&#039;m not sure whether this has already been addressed here, but we &lt;br /&gt;
discovered a problem with the latest version of Cygwin flex and &lt;br /&gt;
lscript_compile and I thought I would share the workaround. We&#039;ve &lt;br /&gt;
committed the workaround to our release-candidate branche so it should &lt;br /&gt;
be in an upcoming source drop as well.&lt;br /&gt;
&lt;br /&gt;
1. Add &#039;&#039;YY_NO_UNISTD_H&#039;&#039; to the list of Preprocessor Definitions in the &lt;br /&gt;
lscript_compile project file.&lt;br /&gt;
&lt;br /&gt;
2. Apply the following patch it indra.l:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;php&amp;gt;Index: indra.l&lt;br /&gt;
===================================================================&lt;br /&gt;
--- indra.l    (revision 86342)&lt;br /&gt;
+++ indra.l    (revision 86343)&lt;br /&gt;
@@ -12,6 +12,7 @@&lt;br /&gt;
 #include &amp;quot;linden_common.h&amp;quot;&lt;br /&gt;
 // Deal with the fact that lex/yacc generates unreachable code&lt;br /&gt;
 #ifdef LL_WINDOWS&lt;br /&gt;
+#pragma warning (disable : 4018) // warning C4018: signed/unsigned mismatch&lt;br /&gt;
 #pragma warning (disable : 4702) // warning C4702: unreachable code&lt;br /&gt;
 #endif    //    LL_WINDOWS&lt;br /&gt;
 #include &amp;quot;llmath.h&amp;quot;&lt;br /&gt;
@@ -44,7 +45,10 @@&lt;br /&gt;
 &lt;br /&gt;
 #define YYLMAX 16384&lt;br /&gt;
 #define YY_NEVER_INTERACTIVE 1 /* stops flex from calling isatty() */&lt;br /&gt;
-&lt;br /&gt;
+#ifdef LL_WINDOWS&lt;br /&gt;
+#define isatty(x) 0 /* hack for bug in cygwin flex 2.5.35 */&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
 #ifdef ECHO&lt;br /&gt;
 #undef ECHO&lt;br /&gt;
 #endif&lt;br /&gt;
&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unresolved external symbol _CLSID_DxDiagProvider/_IID_IDxDiagProvider ==&lt;br /&gt;
* &#039;&#039;newview error LNK2001: unresolved external symbol _CLSID_DxDiagProvider&#039;&#039;&lt;br /&gt;
* &#039;&#039;newview error LNK2001: unresolved external symbol _IID_IDxDiagProvider&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These errors reportedly occur with MSVC 2003 and certain versions of the DirectX SDK.  To workaround, edit lldxhardware.cpp and replace the following (line 35):&lt;br /&gt;
&lt;br /&gt;
     #include &amp;lt;dxdiag.h&amp;gt;&lt;br /&gt;
with...&lt;br /&gt;
     #define INITGUID&lt;br /&gt;
     #include &amp;lt;dxdiag.h&amp;gt;&lt;br /&gt;
     #undef INITGUID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cannot open input file &#039;dxguid.lib&#039; ==&lt;br /&gt;
* &#039;&#039;fatal error LNK1181: cannot open input file &#039;dxguid.lib&#039; in ...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are using a fairly recent DirectX SDK (&amp;quot;December 2006&amp;quot; or newer), your VC++ Libraries Directory may be wrong because the SDK&#039;s lib folder now has 2 sub-folders for x64 and x86.  Try changing the path from &#039;&#039;C:\Program Files\Microsoft DirectX SDK (December 2006)\Lib&#039;&#039; to &#039;&#039;C:\Program Files\Microsoft DirectX SDK (December 2006)\&#039;&#039; &#039;&#039;&#039;Lib\x86&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open input file &#039;dxerr8.lib&#039; ==&lt;br /&gt;
* &#039;&#039;fatal error LNK1104: cannot open file &#039;dxerr8.lib&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are using the most recent DirectX SDK (&amp;quot;November 2007&amp;quot;), the file dxerr8.lib does no longer exist. To fix this, you&#039;ll need to change the newview project to include &#039;dxerr9.lib&#039; instead. To do this, right-lick newview &amp;gt; Configuration Properties &amp;gt; Linker &amp;gt; Input, click Additional Dependencies on the right to show a button labeled &amp;quot;...&amp;quot; on it at the very right on the line, then click the ... button. Scroll down the list to find &#039;dxerr8.lib&#039;. Rewrite it to &#039;dxerr9.lib&#039;. Remember to do this for both the ReleaseForDownload and the ReleaseNoOpt Configurations.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== A tool returned an error code from &amp;quot;Building ytab.cpp&amp;quot; ==&lt;br /&gt;
* &#039;&#039;lscript_compile_fb error PRJ0019: A tool returned an error code from &amp;quot;Building ytab.cpp&amp;quot; &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
One possible reason for this is that Visual Studio does not know where cygwin/bin is, especially if this is accompanied by an error relating to bison.exe being an invalid command.  Even if the directory for cygwin is in the environment variable PATH, Visual Studio maintains its own separate copy which does not seem to be automatically synchronized after the initial installation.&lt;br /&gt;
&lt;br /&gt;
For Visual Studio .NET 2003, go to Tools &amp;gt; Options &amp;gt; Projects &amp;gt; VC++ Directories.  In the &amp;quot;show directories for&amp;quot; dropdown, choose &amp;quot;Executable files&amp;quot;.  Make sure that your cygwin (default C:\cygwin\bin) and ActivePython (default C:\Python25) directories are listed.&lt;br /&gt;
&lt;br /&gt;
== Cannot open include file: &#039;ytab.h&#039;: No such file or directory ==&lt;br /&gt;
* &#039;&#039;indra.l (20) : fatal error C1083: Cannot open include file: &#039;ytab.h&#039;: No such file or directory.&#039;&#039;&lt;br /&gt;
Workaround: Manually copy &amp;quot;linden\indra\lscript\lscript_compile\ytab.hpp&amp;quot; to &amp;quot;linden\indra\lscript\lscript_compile\ytab.h&amp;quot; and build again. &lt;br /&gt;
&lt;br /&gt;
Note: The underlying issue is that in indra.y there is a postbuild step which should do this automatically, but which is missing in some configurations (e.g. in Debug builds).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;png.h&#039;: No such file or directory ==&lt;br /&gt;
* &#039;&#039;imagepng.cpp : fatal error C1083: Cannot open include file: &#039;libpng12/png.h&#039;: No such file or directory.&#039;&#039;&lt;br /&gt;
There are a couple of files missing since the 1.17. distribution.  You can either get the missing files from the internet (from the libpng and zlib projects) or download a set with just the missing files from [http://www.blueflash.cc/users/nicholaz/~libs here] (see the readme.txt inside the png archive there).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;glh/glh_linear.h&#039; or &#039;glh/glh_convenience.h&#039; ==&lt;br /&gt;
These files are currently missing from Linden Windlight distributions.  See [https://jira.secondlife.com/browse/VWR-3415 JIRA VWR-3415] or grab a copy from [http://www.blueflash.cc/users/nicholaz/~libs here] and put the files into a folder named linden/libraries/include/glh.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[LearCale]] -- as of 1.19, these appear to need to be in linden/libraries/include/GL .&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Errors relating to &amp;quot;template_verifier.py&amp;quot; ==&lt;br /&gt;
With version 1.18 a template verifier script written in Python is used to ensure the message template is correct.  In some distributions the file was missing.  You will also get an error if you have skipped the Python install.  In both cases it is safe to hack the prebuild.bat file in the newview folder as described on the JIRA [http://jira.secondlife.com/browse/VWR-1267 VWR-1267]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missing resources ==&lt;br /&gt;
* &#039;&#039;.\res\newViewRes.rc(64) : error RC2135 : file not found: ll_icon.ico&#039;&#039;&lt;br /&gt;
Some releases have missing files, which were reported to be last seen in the &#039;&#039;&#039;1.14.0.1&#039;&#039;&#039; release.&lt;br /&gt;
* Go to the [[source downloads]] page and grab the [[http://secondlife.com/developers/opensource/downloads/2007/04/slviewer-src-1.14.0.1.zip &#039;&#039;&#039;1.14.0.1&#039;&#039;&#039; viewer]] sources.&lt;br /&gt;
* Explore the archive to &amp;quot;linden/indra/newview/res&amp;quot; folder and extract content to your &amp;quot;linden/indra/newview/res&amp;quot; folder into current revision.&lt;br /&gt;
Missing folder in recent release, &amp;quot;&#039;&#039;&#039;1.17.0.12&#039;&#039;&#039;&amp;quot; which causes the SecondLife to hang while loading into the world.&lt;br /&gt;
* Go to the previous source and copy the missing folder, &amp;quot;Character&amp;quot; and place it into the &amp;quot;newview&amp;quot; folder&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Error code from &amp;quot;Copying message template&amp;quot; ==&lt;br /&gt;
* &#039;&#039;newview error PRJ0019: A tool returned an error code from &amp;quot;Copying message template&amp;quot;&#039;&#039;&lt;br /&gt;
This is caused by the script trying to do a copy command, but the source path isn&#039;t in quotes.  Open up newview.vcproj in notepad, and near the bottom there are 4 line that say:&lt;br /&gt;
     CommandLine=&amp;quot;copy $(InputPath) .\app_settings\message_template.msg&lt;br /&gt;
replace them with&lt;br /&gt;
     CommandLine=&amp;quot;copy &amp;amp;amp;quot;$(InputPath)&amp;amp;amp;quot; .\app_settings\message_template.msg&lt;br /&gt;
The source and destination paths on line 158 may also require wrapping in quotes.  In which case:&lt;br /&gt;
     CommandLine=&amp;quot;copy $(TargetDir)\$(TargetFileName) $(ProjectDir)&lt;br /&gt;
should become:&lt;br /&gt;
     CommandLine=&amp;quot;copy &amp;amp;amp;quot;$(TargetDir)\$(TargetFileName)&amp;amp;amp;quot; &amp;amp;amp;quot;$(ProjectDir)&amp;amp;amp;quot;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Can not find library ll*.lib ==&lt;br /&gt;
If you get a compile error for missing libraries with names of the projects (lscript_compile.lib, llaudio.lib, llcharacter.lib, etc.) go to newview &amp;gt; Properties &amp;gt; Linker &amp;gt; Input and remove these from the list of input libraries (they will be linked through the dependencies and should not be in the list).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;windows.h&#039; ==&lt;br /&gt;
If you run into this problem:&lt;br /&gt;
 ..\..\..\boost/regex/v4/fileiter.hpp(44) : fatal error C1083: Cannot open include file: &#039;windows.h&#039;: No such file or directory&lt;br /&gt;
Fix it with this: (thanks Fairlight!)&lt;br /&gt;
 set INCLUDE=C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include;%INCLUDE%&lt;br /&gt;
 set LIB=C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib;%LIB%&lt;br /&gt;
You might need to edit the above path to refer to your particular platform SDK.  If you don&#039;t have the Microsoft Windows Platform SDK installed, then you can download it for free from Microsoft.  It is version specific and can be tricky to find on their website.&lt;br /&gt;
&lt;br /&gt;
If you&#039;re having problems with windows.h in Visual Studio Express 2005, check out this forum post:&lt;br /&gt;
[http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1995837&amp;amp;SiteID=1 MSDN Forum Post]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unresolved external symbol &amp;quot;int __cdecl lscript_compile&amp;quot; (VS2005) ==&lt;br /&gt;
* &#039;&#039;llcompilequeue.obj : error LNK2019: unresolved external symbol &amp;quot;int __cdecl lscript_compile(char const *,char const *,char const *,int)&amp;quot; (?lscript_compile@@YAHPBD00H@Z) referenced in function &amp;quot;protected: void __thiscall LLFloaterCompileQueue::compile(char const *,class LLUUID const &amp;amp;)&amp;quot; (?compile@LLFloaterCompileQueue@@IAEXPBDABVLLUUID@@@Z)&#039;&#039;&lt;br /&gt;
* &#039;&#039;llpreviewscript.obj : error LNK2001: unresolved external symbol &amp;quot;int __cdecl lscript_compile(char const *,char const *,char const *,int)&amp;quot; (?lscript_compile@@YAHPBD00H@Z)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is not entirely clear, but there seems to be a problem with VS2005 if projects are unloaded while being in the dependency tree.  I have seen this error while I had win_crash_logger and win_updater unloaded from the project tree and the problem went away when I loaded them back and excluded them from the newview dependency first.&lt;br /&gt;
&lt;br /&gt;
Also make sure that in newview, properties, linker, input, input libraries, no libraries named ll*.lib and lscript_compile.lib are listed there (remove them if you find them).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unresolved external symbol __invalid_parameter_noinfo (VS2005) ==&lt;br /&gt;
* &#039;&#039;llmozlib-vc80.lib(llembeddedbrowserwindow.obj) : error LNK2019: unresolved external symbol __invalid_parameter_noinfo referenced&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You are most likely trying a debug build under VS2005.  For debug builds, see the compile instruction section on [[finding_leaks]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cannot open include file: &#039;ares.h&#039; ==&lt;br /&gt;
download src from http://daniel.haxx.se/projects/c-ares/&lt;br /&gt;
&lt;br /&gt;
compile c-ares-1.4.0/vc/areslib&lt;br /&gt;
&lt;br /&gt;
copy c-ares-1.4.0/vc/areslib/Release/areslib.lib to linden/libraries/i686-win32/lib_release and to lib_debug&lt;br /&gt;
&lt;br /&gt;
copy c-ares-1.4.0/*.h to linden/libraries/i686-win32/include/ares&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Other (older) notes ==&lt;br /&gt;
* Mozilla is not compatible with visual studio 2005, so we have not migrated the codebase, so we do not know if it works. &lt;br /&gt;
&lt;br /&gt;
* Added my errors at [[User:Adam_Zaius/MSVS2005 Errors]] [[User:Adam Zaius|Adam Zaius]] 09:40, 8 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
* To minimize the number of warnings for now: in C/C++-Preprocessor add &#039;;_CRT_SECURE_NO_DEPRECATE&#039; to the Preprocessor Definitions, that will supress deprecation warnings --[[User:Artm Udal|Artm Udal]] 12:42, 8 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Mac OS X =&lt;br /&gt;
&lt;br /&gt;
Getting:&lt;br /&gt;
&lt;br /&gt;
*/linden/indra/newview/../llwindow/llglheaders.h:377:31: error: GL/glh_extensions.h: No such file or directory&lt;br /&gt;
** This means you didn&#039;t [[Compiling the viewer (Mac OS X)#Viewer Source, Libraries, and Artwork|merge the libraries]] right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Linux = &lt;br /&gt;
&lt;br /&gt;
==== Packaging errors ====&lt;br /&gt;
&lt;br /&gt;
The final packaging step may fail with errors about the manifest if you are not using the &amp;lt;i&amp;gt;slviewer-linux-libs&amp;lt;/i&amp;gt; bundle; in this case, if you still wish to end up with an end-user viewer package incorporating your own libraries, you can edit the manifest file found at &amp;lt;b&amp;gt;indra/newview/viewer_manifest.py&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Various Compilation problems ====&lt;br /&gt;
* g++-3.4 -o linux_crash_logger/linux-crash-logger-i686-bin-globalsyms --no-keep-memory --reduce-memory-overheads /tmp/paul/home/paul/builds/secondlife/src/linden/indra/i686-linux-client-release/llcrashlogger/llcrashlogger.o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/i686-linux-client-release/linux_crash_logger/linux_crash_logger.o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/i686-linux-client-release/linux_crash_logger/llcrashloggerlinux.o -Llib_release_client/i686-linux -L/home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client -lllui -lllxml -lllmessage -lllvfs -lllmath -lllcommon -lcurl -lssl -lcrypto -laprutil-1 -lapr-1 -lcares -lexpat -ldb-4.2 -lgtk-x11-2.0&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libcurl.a when searching for -lcurl&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libssl.so when searching for -lssl&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libcrypto.so when searching for -lcrypto&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libaprutil-1.so when searching for -laprutil-1&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libapr-1.so when searching for -lapr-1&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libcares.a when searching for -lcares&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libexpat.so when searching for -lexpat&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libdb-4.2.so when searching for -ldb-4.2&lt;br /&gt;
/usr/bin/ld: cannot find -ldb-4.2&lt;br /&gt;
collect2: ld returned 1 exit status&lt;br /&gt;
&lt;br /&gt;
[paul@myhost secondlife]$ pacman -Q db&lt;br /&gt;
db 4.6.21-2&lt;br /&gt;
&lt;br /&gt;
[paul@myhost secondlife]$ uname -a&lt;br /&gt;
Linux myhost 2.6.23-ARCH #1 SMP PREEMPT Tue Jan 15 07:17:51 CET 2008 x86_64 Intel(R) Celeron(R) CPU 2.66GHz GenuineIntel GNU/Linux&lt;br /&gt;
&lt;br /&gt;
And using:&lt;br /&gt;
source=(&#039;secondlife.desktop&#039; &#039;secondlife.install&#039; &#039;secondlife.launcher&#039; \&lt;br /&gt;
&amp;quot;http://secondlife.com/developers/opensource/downloads/2008/01/slviewer-src-RC-${pkgver}.tar.gz&amp;quot; \&lt;br /&gt;
&#039;http://secondlife.com/developers/opensource/downloads/2007/12/slviewer-artwork-RC-1.18.6.2.zip&#039; \&lt;br /&gt;
&#039;http://secondlife.com/developers/opensource/downloads/2007/12/slviewer-linux-libs-RC-1.18.6.2.tar.gz&#039; \&lt;br /&gt;
&#039;http://www.fmod.org/index.php/release/version/fmodapi375linux.tar.gz&#039; \&lt;br /&gt;
&#039;http://secondlife.com/developers/opensource/downloads/2007/12/llmozlib-src-20071221.tar.gz&#039;)&lt;br /&gt;
&lt;br /&gt;
Hum ok, I was trying to use:&lt;br /&gt;
scons DISTCC=no BTARGET=client BUILD=release MOZLIB=yes&lt;br /&gt;
&lt;br /&gt;
I&#039;ll retry with:&lt;br /&gt;
scons BUILD=release ARCH=x86_64 BTARGET=client DISTCC=no MOZLIB=yes FMOD=yes GSTREAMER=yes STANDALONE=yes&lt;br /&gt;
(Sconstruct says that with STANDALONE=yes -db-4.2 will not be used)&lt;br /&gt;
&lt;br /&gt;
But at the beginning I get:&lt;br /&gt;
scons: Reading SConscript files ...&lt;br /&gt;
Building client 1.18.6.2 on x86_64-linux (release)&lt;br /&gt;
No CCACHE_DIR set.&lt;br /&gt;
&lt;br /&gt;
scons: warning: Two different environments were specified for target /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llcrashlogger/llcrashlogger.o,&lt;br /&gt;
	but they appear to have the same action: $CXX -o $TARGET -c $CXXFLAGS $_CCCOMCOM $SOURCES&lt;br /&gt;
File &amp;quot;/home/paul/builds/secondlife/src/linden/indra/SConstruct&amp;quot;, line 568, in create_executable&lt;br /&gt;
scons: done reading SConscript files.&lt;br /&gt;
scons: Building targets ...&lt;br /&gt;
&lt;br /&gt;
well, the new scons line give different problem:&lt;br /&gt;
g++ -o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.o -c -g -pipe -Wall -Wno-reorder -Wno-trigraphs -Wno-sign-compare -Werror -fexceptions -pthread -D_REENTRANT -fno-math-errno -fsigned-char -fno-strict-aliasing -falign-loops=16 -ffast-math -O2 -D_FORTIFY_SOURCE=2 -DLL_STANDALONE -DLL_MESA_HEADLESS=0 -DLL_MESA=0 -DLL_LINUX=1 -DAPPID=secondlife -DLL_SDL=1 -DLL_FMOD=0 -DLL_X11=1 -DLL_GTK=1 -DLL_LIBXUL_ENABLED=1 -DLL_GSTREAMER_ENABLED=1 -DNDEBUG -DLL_RELEASE=1 -Illcommon -Illmath -Illwindow -Illaudio -Illcharacter -Illcrashlogger -Illdatabase -Illhavok -Illimage -Illinventory -Illmedia -Illmessage -Illprimitive -Illrender -Illscene -Illui -Illvfs -Illwindow -Illxml -Ilscript -Ilscript/lscript_compile -I/home/paul/builds/secondlife/src/linden/libraries/include -I/home/paul/builds/secondlife/src/linden/libraries/include/havok -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include -I/usr/include/atk-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/SDL -I/usr/include/apr-1 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/gstreamer-0.10 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0/include -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/libxml2 /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp&lt;br /&gt;
cc1plus: warnings being treated as errors&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp: In function &#039;const char* OrderToString(LLQuaternion::Order)&#039;:&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:701: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:704: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:707: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:710: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:713: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:716: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
scons: *** [/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.o] Error 1&lt;br /&gt;
scons: building terminated because of errors.&lt;br /&gt;
&lt;br /&gt;
Well, STANDALONE=yes make it use g++ rather than g++-3.4, so I decided to remove it, keeping&lt;br /&gt;
ARCH=X86_64 and others, but I get:&lt;br /&gt;
ranlib lib_release_client/x86_64-linux/libllprimitive.a&lt;br /&gt;
g++-3.4 -o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.o -c -g -pipe -Wall -Wno-reorder -Wno-trigraphs -Wno-sign-compare -Werror -fexceptions -pthread -D_REENTRANT -fno-math-errno -fsigned-char -fno-strict-aliasing -falign-loops=16 -ffast-math -O2 -D_FORTIFY_SOURCE=2 -DLL_MESA_HEADLESS=0 -DLL_MESA=0 -DLL_LINUX=1 -DAPPID=secondlife -DLL_SDL=1 -DLL_FMOD=0 -DLL_X11=1 -DLL_GTK=1 -DLL_LIBXUL_ENABLED=1 -DLL_GSTREAMER_ENABLED=1 -DNDEBUG -DLL_RELEASE=1 -Illcommon -Illmath -Illwindow -Illaudio -Illcharacter -Illcrashlogger -Illdatabase -Illhavok -Illimage -Illinventory -Illmedia -Illmessage -Illprimitive -Illrender -Illscene -Illui -Illvfs -Illwindow -Illxml -Ilscript -Ilscript/lscript_compile -I/home/paul/builds/secondlife/src/linden/libraries/include -I/home/paul/builds/secondlife/src/linden/libraries/include/havok -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/ELFIO -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/atk-1.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/gtk-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/llfreetype2 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/pango-1.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/gstreamer-0.10 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0/include -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/libxml2 /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:41:44: llfreetype2/freetype/ft2build.h: No such file or directory&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:56: error: `FT_Render_Mode&#039; does not name a type&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:60: error: `FT_Library&#039; does not name a type&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp: In constructor `LLFontManager::LLFontManager()&#039;:&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:78: error: `gFTLibrary&#039; was not declared in this scope&lt;br /&gt;
... [many more errors]&lt;br /&gt;
&lt;br /&gt;
oh well, SConstruct says I need: cairo glib-2.0 atk gmobile-2.0 gdk-2.0 gdk-pixbuf-2.0 pango pangoft2 pangox pangoxft gtk+-2.0 sdl vorbis vorbisenc vorbisfile&lt;br /&gt;
&lt;br /&gt;
Maybe this is pangoft2 that is missing.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Unable to initialize communications&amp;quot;&lt;br /&gt;
** If the viewer just displays the error message &amp;quot; Unable to initialize communications&amp;quot; and exits, it can&#039;t find message_template.msg. You did remember to copy it over, right?&lt;br /&gt;
&lt;br /&gt;
* Blino&#039;s SL build/linking patches for &#039;&#039;&#039;gcc4&#039;&#039;&#039;: http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/secondlife/current/&lt;br /&gt;
* objcopy: &amp;lt;b&amp;gt;&#039;newview/linux_tools/exposed-symbols.txt&#039;&amp;lt;/b&amp;gt;: No such file&lt;br /&gt;
** Tofu says... &#039;This is an omission from our manifest which I&#039;ll fix.  Meanwhile it&#039;s a safe fix to create an empty file with that name.&#039;&lt;br /&gt;
&lt;br /&gt;
* Something like: &amp;lt;b&amp;gt;/usr/bin/ld: cannot find -lz&amp;lt;/b&amp;gt;&lt;br /&gt;
** Nadia says: Install the zlib development headers. (Ubuntu package zlib1g-dev, Red Hat zlib-devel.)&lt;br /&gt;
&lt;br /&gt;
* Something like: indra.y.cpp:17: &amp;lt;b&amp;gt;error: previous declaration of `int yyparse()&#039;&amp;lt;/b&amp;gt;&lt;br /&gt;
** Tofu says... &#039;This appears to be a problem with some versions of flex/bison.  A resident reports success when comment out the &amp;lt;i&amp;gt;#ifdef __cplusplus&amp;lt;/i&amp;gt; lines in lscript/lscript_compile/indra.y&#039;&lt;br /&gt;
** Nadia says: install the zlib development headers first and try recompiling. Commenting out those lines results in a error indra.l:666: &amp;lt;b&amp;gt;undefined     &lt;br /&gt;
* Linking failures (&amp;quot;script not found&amp;quot;) due to spaces in the LINKFLAGS variable?&lt;br /&gt;
** I saw a [http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4665538 report], and modified the SConstruct file to drop the trailing arguments (and spaces) in LINKFLAGS.&lt;br /&gt;
&lt;br /&gt;
* Building [https://lists.secondlife.com/pipermail/sldev/2007-January/000091.html 20070112a] using &#039;&#039;BUILD=releasefordownload&#039;&#039; I get many &#039;&#039;[: 89: ==: unexpected operator&#039;&#039; errors; &#039;&#039;cp: target `SecondLife_i686_1_13_1_7/app_settings/*’ is not a directory&#039;&#039; error, and same thing for character, fonts, help, skins, res-sdl; &#039;&#039;[: 111: ==: unexpected operator, [: 120: SecondLife_i686_1_13_1_7.tar.bz2: unexpected operator&#039;&#039;. I can succesfully run the client from the source tree.&lt;br /&gt;
** i think this has been fixed --[[User:Signore Iredell|Signore Iredell]] 06:09, 9 June 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
* scons: *** While building `[&#039;.../linden/indra/i686-linux-client-release/lscript/lscript_compile/indra.l.cpp&#039;]&#039;: Don&#039;t know how to build a file with suffix `.l&#039;.&lt;br /&gt;
** You probably don&#039;t have all the dependencies installed (I had the same problem). Check that you have flex and bison. --[[User:Random73 Janus|Random73 Janus]] 07:43, 16 May 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
* Something like: linden/indra/i686-linux-client-release/llrender/llimagegl.cpp:122: &amp;lt;b&amp;gt;error: `glActiveTextureARB&#039; was not declared in this scope&amp;lt;/b&amp;gt;	 &lt;br /&gt;
** Tofu says... &#039;You&#039;ll need to install OpenGL headers if you don&#039;t already have them: gl.h, glext.h, glu.h (The ones from &#039;mesa&#039; should work)	 &lt;br /&gt;
** two residents report good luck on Gentoo after doing &#039;eselect opengl set xorg-x11&#039; (&amp;lt;b&amp;gt;but note!!&amp;lt;/b&amp;gt; You must know what you&#039;re doing; this may change your default system OpenGL drivers, and you will probably want to change them back again after the compile, e.g. &#039;eselect opengl set nvidia&#039;)&#039;&lt;br /&gt;
&lt;br /&gt;
*Building Shared Library ELFIO [[Compiling_the_viewer_%28Linux%29]] on AMD64 ubuntu 6.10&lt;br /&gt;
     g++-3.4 -shared *.o -o libelfio.so&lt;br /&gt;
     /usr/bin/ld: ELFIDynamic.o: relocation R_X86_64_32 against `a local symbol&#039; can &lt;br /&gt;
     not be used when making a  shared object; recompile with -fPIC&lt;br /&gt;
     ELFIDynamic.o: could not read symbols: Bad value&#039;&#039;&#039;&lt;br /&gt;
** I got around this with &amp;quot;export CXXFLAGS=-fPIC&amp;quot; before configuring ELFIO. &lt;br /&gt;
&lt;br /&gt;
* Building Client on Ubuntu 7.04 AMD64&lt;br /&gt;
     /usr/bin/ld: skipping incompatible /home/dereck/Desktop/SLdev/linden/libraries/i686-linux/lib_release_client/libopenjpeg.a when searching for -lopenjpeg&lt;br /&gt;
     /usr/bin/ld: cannot find -lopenjpeg&lt;br /&gt;
     collect2: ld returned 1 exit status&lt;br /&gt;
** I went to the OpenJPEG website, downloaded the source, compiled for my system, installed it. The VWR compile  was happy after that. Although it&#039;s not done yet and I&#039;m still fixing another error, that I assume is unrelated.&lt;br /&gt;
&lt;br /&gt;
* C-Ares compatability issue.&lt;br /&gt;
Compiling with c-ares version 1.5.1 got a compile error in llares.cpp:&lt;br /&gt;
&lt;br /&gt;
linden/indra/x86_64-linux-client-release/llcommon/llares.cpp: In member function `void LLAres::getHostByName(const char*, LLAres::HostResponder*, int)&#039;:&lt;br /&gt;
&lt;br /&gt;
linden/indra/x86_64-linux-client-release/llcommon/llares.cpp:147: error: invalid conversion from `void (*)(void*, int, hostent*)&#039; to `void (*)(void*, int, int, hostent*)&#039;&lt;br /&gt;
&lt;br /&gt;
Fixed with patch from https://jira.secondlife.com/browse/VWR-3480&lt;br /&gt;
&lt;br /&gt;
==== scons got wild ====&lt;br /&gt;
&lt;br /&gt;
* AttributeError: SConsEnvironment instance has no attribute &#039;CFile&#039;&lt;br /&gt;
: This probably means you have no bison, flex, or equivalent tools installed on the standard locations on your system.&lt;br /&gt;
:* When your system has no bison installed, the above message will be supplemented as:&lt;br /&gt;
 env.CFile(target=build_dir+&#039;/lscript/lscript_compile/indra.y.c&#039;, source=&#039;lscript/lscript_compile/indra.y&#039;)&lt;br /&gt;
:* When your system has no flex installed, the above message will be supplemented as:&lt;br /&gt;
 env.CFile(target=build_dir+&#039;/lscript/lscript_compile/indra.l.cpp&#039;, source=&#039;lscript/lscript_compile/indra.l&#039;)&lt;br /&gt;
: Installing the appropriate package should solve this issue.&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Common_compilation_problems&amp;diff=74358</id>
		<title>Common compilation problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Common_compilation_problems&amp;diff=74358"/>
		<updated>2008-06-25T03:54:47Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: /* C1083: Cannot open include file: &amp;#039;unistd.h&amp;#039; */ formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
= General Problems =&lt;br /&gt;
&lt;br /&gt;
*  Make sure you download not only the source, but the artwork zipfile, and the appropriate zipfile/tarball of libraries for your platform&lt;br /&gt;
&lt;br /&gt;
= Windows = &lt;br /&gt;
&lt;br /&gt;
== Viewer 1.19.1.4 / VS2003 ==&lt;br /&gt;
=== C1083: Cannot open include file: &#039;dxdiag.h&#039; ===&lt;br /&gt;
The DirectX SDK doesn&#039;t automatically insert its include directory into the VS2003 paths. For the June 2008 DirectX SDK release, go to Tools -&amp;gt; Options -&amp;gt; Projects (on left) -&amp;gt; VC++ Directories. On right show directories for Include files, and add:&lt;br /&gt;
* C:\Program Files\Microsoft DirectX SDK (June 2008)\Include&lt;br /&gt;
&lt;br /&gt;
=== C1083: Cannot open include file: &#039;unistd.h&#039; ===&lt;br /&gt;
On Apr 27, 2008 in thread &#039;&#039;[sldev] error while compiling on vc8/9 (unistd.h)&#039;&#039;, SLDev contributor wuhanzymail &amp;lt;wuhanzymail@163.com&amp;gt; recommended the following:&lt;br /&gt;
&lt;br /&gt;
1) right-click project lscript_compile, choose properties, c/c++, Preprocessor, add &#039;&#039;YY_NO_UNISTD_H&#039;&#039; to Preprcessor Definitions.&lt;br /&gt;
&lt;br /&gt;
2) in lex_yy.cpp, line 5915 change:&lt;br /&gt;
&amp;lt;php&amp;gt;           #ifndef __cplusplus&lt;br /&gt;
           extern int isatty (int );&lt;br /&gt;
           #endif&amp;lt;/php&amp;gt;&lt;br /&gt;
to:&lt;br /&gt;
&amp;lt;php&amp;gt;           #ifndef YY_NEVER_INTERACTIVE&lt;br /&gt;
           extern int isatty (int );&lt;br /&gt;
           #endif&amp;lt;/php&amp;gt;&lt;br /&gt;
3) still in lex_yy.cpp, line 5943 change:&lt;br /&gt;
&amp;lt;php&amp;gt;          b-&amp;gt;yy_is_interactive = file ? (isatty( fileno(file) ) &amp;gt; 0) : 0;&amp;lt;/php&amp;gt;&lt;br /&gt;
to:&lt;br /&gt;
&amp;lt;php&amp;gt;          #if YY_NEVER_INTERACTIVE&lt;br /&gt;
              b-&amp;gt;yy_is_interactive = 0;&lt;br /&gt;
          #else&lt;br /&gt;
              b-&amp;gt;yy_is_interactive = file ? (isatty( fileno(file) ) &amp;gt; 0) : 0;&lt;br /&gt;
          #endif&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unresolved external symbol _CLSID_DxDiagProvider/_IID_IDxDiagProvider ==&lt;br /&gt;
* &#039;&#039;newview error LNK2001: unresolved external symbol _CLSID_DxDiagProvider&#039;&#039;&lt;br /&gt;
* &#039;&#039;newview error LNK2001: unresolved external symbol _IID_IDxDiagProvider&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These errors reportedly occur with MSVC 2003 and certain versions of the DirectX SDK.  To workaround, edit lldxhardware.cpp and replace the following (line 35):&lt;br /&gt;
&lt;br /&gt;
     #include &amp;lt;dxdiag.h&amp;gt;&lt;br /&gt;
with...&lt;br /&gt;
     #define INITGUID&lt;br /&gt;
     #include &amp;lt;dxdiag.h&amp;gt;&lt;br /&gt;
     #undef INITGUID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cannot open input file &#039;dxguid.lib&#039; ==&lt;br /&gt;
* &#039;&#039;fatal error LNK1181: cannot open input file &#039;dxguid.lib&#039; in ...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are using a fairly recent DirectX SDK (&amp;quot;December 2006&amp;quot; or newer), your VC++ Libraries Directory may be wrong because the SDK&#039;s lib folder now has 2 sub-folders for x64 and x86.  Try changing the path from &#039;&#039;C:\Program Files\Microsoft DirectX SDK (December 2006)\Lib&#039;&#039; to &#039;&#039;C:\Program Files\Microsoft DirectX SDK (December 2006)\&#039;&#039; &#039;&#039;&#039;Lib\x86&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open input file &#039;dxerr8.lib&#039; ==&lt;br /&gt;
* &#039;&#039;fatal error LNK1104: cannot open file &#039;dxerr8.lib&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are using the most recent DirectX SDK (&amp;quot;November 2007&amp;quot;), the file dxerr8.lib does no longer exist. To fix this, you&#039;ll need to change the newview project to include &#039;dxerr9.lib&#039; instead. To do this, right-lick newview &amp;gt; Configuration Properties &amp;gt; Linker &amp;gt; Input, click Additional Dependencies on the right to show a button labeled &amp;quot;...&amp;quot; on it at the very right on the line, then click the ... button. Scroll down the list to find &#039;dxerr8.lib&#039;. Rewrite it to &#039;dxerr9.lib&#039;. Remember to do this for both the ReleaseForDownload and the ReleaseNoOpt Configurations.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== A tool returned an error code from &amp;quot;Building ytab.cpp&amp;quot; ==&lt;br /&gt;
* &#039;&#039;lscript_compile_fb error PRJ0019: A tool returned an error code from &amp;quot;Building ytab.cpp&amp;quot; &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
One possible reason for this is that Visual Studio does not know where cygwin/bin is, especially if this is accompanied by an error relating to bison.exe being an invalid command.  Even if the directory for cygwin is in the environment variable PATH, Visual Studio maintains its own separate copy which does not seem to be automatically synchronized after the initial installation.&lt;br /&gt;
&lt;br /&gt;
For Visual Studio .NET 2003, go to Tools &amp;gt; Options &amp;gt; Projects &amp;gt; VC++ Directories.  In the &amp;quot;show directories for&amp;quot; dropdown, choose &amp;quot;Executable files&amp;quot;.  Make sure that your cygwin (default C:\cygwin\bin) and ActivePython (default C:\Python25) directories are listed.&lt;br /&gt;
&lt;br /&gt;
== Cannot open include file: &#039;ytab.h&#039;: No such file or directory ==&lt;br /&gt;
* &#039;&#039;indra.l (20) : fatal error C1083: Cannot open include file: &#039;ytab.h&#039;: No such file or directory.&#039;&#039;&lt;br /&gt;
Workaround: Manually copy &amp;quot;linden\indra\lscript\lscript_compile\ytab.hpp&amp;quot; to &amp;quot;linden\indra\lscript\lscript_compile\ytab.h&amp;quot; and build again. &lt;br /&gt;
&lt;br /&gt;
Note: The underlying issue is that in indra.y there is a postbuild step which should do this automatically, but which is missing in some configurations (e.g. in Debug builds).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;png.h&#039;: No such file or directory ==&lt;br /&gt;
* &#039;&#039;imagepng.cpp : fatal error C1083: Cannot open include file: &#039;libpng12/png.h&#039;: No such file or directory.&#039;&#039;&lt;br /&gt;
There are a couple of files missing since the 1.17. distribution.  You can either get the missing files from the internet (from the libpng and zlib projects) or download a set with just the missing files from [http://www.blueflash.cc/users/nicholaz/~libs here] (see the readme.txt inside the png archive there).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;glh/glh_linear.h&#039; or &#039;glh/glh_convenience.h&#039; ==&lt;br /&gt;
These files are currently missing from Linden Windlight distributions.  See [https://jira.secondlife.com/browse/VWR-3415 JIRA VWR-3415] or grab a copy from [http://www.blueflash.cc/users/nicholaz/~libs here] and put the files into a folder named linden/libraries/include/glh.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[LearCale]] -- as of 1.19, these appear to need to be in linden/libraries/include/GL .&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Errors relating to &amp;quot;template_verifier.py&amp;quot; ==&lt;br /&gt;
With version 1.18 a template verifier script written in Python is used to ensure the message template is correct.  In some distributions the file was missing.  You will also get an error if you have skipped the Python install.  In both cases it is safe to hack the prebuild.bat file in the newview folder as described on the JIRA [http://jira.secondlife.com/browse/VWR-1267 VWR-1267]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missing resources ==&lt;br /&gt;
* &#039;&#039;.\res\newViewRes.rc(64) : error RC2135 : file not found: ll_icon.ico&#039;&#039;&lt;br /&gt;
Some releases have missing files, which were reported to be last seen in the &#039;&#039;&#039;1.14.0.1&#039;&#039;&#039; release.&lt;br /&gt;
* Go to the [[source downloads]] page and grab the [[http://secondlife.com/developers/opensource/downloads/2007/04/slviewer-src-1.14.0.1.zip &#039;&#039;&#039;1.14.0.1&#039;&#039;&#039; viewer]] sources.&lt;br /&gt;
* Explore the archive to &amp;quot;linden/indra/newview/res&amp;quot; folder and extract content to your &amp;quot;linden/indra/newview/res&amp;quot; folder into current revision.&lt;br /&gt;
Missing folder in recent release, &amp;quot;&#039;&#039;&#039;1.17.0.12&#039;&#039;&#039;&amp;quot; which causes the SecondLife to hang while loading into the world.&lt;br /&gt;
* Go to the previous source and copy the missing folder, &amp;quot;Character&amp;quot; and place it into the &amp;quot;newview&amp;quot; folder&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Error code from &amp;quot;Copying message template&amp;quot; ==&lt;br /&gt;
* &#039;&#039;newview error PRJ0019: A tool returned an error code from &amp;quot;Copying message template&amp;quot;&#039;&#039;&lt;br /&gt;
This is caused by the script trying to do a copy command, but the source path isn&#039;t in quotes.  Open up newview.vcproj in notepad, and near the bottom there are 4 line that say:&lt;br /&gt;
     CommandLine=&amp;quot;copy $(InputPath) .\app_settings\message_template.msg&lt;br /&gt;
replace them with&lt;br /&gt;
     CommandLine=&amp;quot;copy &amp;amp;amp;quot;$(InputPath)&amp;amp;amp;quot; .\app_settings\message_template.msg&lt;br /&gt;
The source and destination paths on line 158 may also require wrapping in quotes.  In which case:&lt;br /&gt;
     CommandLine=&amp;quot;copy $(TargetDir)\$(TargetFileName) $(ProjectDir)&lt;br /&gt;
should become:&lt;br /&gt;
     CommandLine=&amp;quot;copy &amp;amp;amp;quot;$(TargetDir)\$(TargetFileName)&amp;amp;amp;quot; &amp;amp;amp;quot;$(ProjectDir)&amp;amp;amp;quot;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Can not find library ll*.lib ==&lt;br /&gt;
If you get a compile error for missing libraries with names of the projects (lscript_compile.lib, llaudio.lib, llcharacter.lib, etc.) go to newview &amp;gt; Properties &amp;gt; Linker &amp;gt; Input and remove these from the list of input libraries (they will be linked through the dependencies and should not be in the list).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;windows.h&#039; ==&lt;br /&gt;
If you run into this problem:&lt;br /&gt;
 ..\..\..\boost/regex/v4/fileiter.hpp(44) : fatal error C1083: Cannot open include file: &#039;windows.h&#039;: No such file or directory&lt;br /&gt;
Fix it with this: (thanks Fairlight!)&lt;br /&gt;
 set INCLUDE=C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include;%INCLUDE%&lt;br /&gt;
 set LIB=C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib;%LIB%&lt;br /&gt;
You might need to edit the above path to refer to your particular platform SDK.  If you don&#039;t have the Microsoft Windows Platform SDK installed, then you can download it for free from Microsoft.  It is version specific and can be tricky to find on their website.&lt;br /&gt;
&lt;br /&gt;
If you&#039;re having problems with windows.h in Visual Studio Express 2005, check out this forum post:&lt;br /&gt;
[http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1995837&amp;amp;SiteID=1 MSDN Forum Post]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unresolved external symbol &amp;quot;int __cdecl lscript_compile&amp;quot; (VS2005) ==&lt;br /&gt;
* &#039;&#039;llcompilequeue.obj : error LNK2019: unresolved external symbol &amp;quot;int __cdecl lscript_compile(char const *,char const *,char const *,int)&amp;quot; (?lscript_compile@@YAHPBD00H@Z) referenced in function &amp;quot;protected: void __thiscall LLFloaterCompileQueue::compile(char const *,class LLUUID const &amp;amp;)&amp;quot; (?compile@LLFloaterCompileQueue@@IAEXPBDABVLLUUID@@@Z)&#039;&#039;&lt;br /&gt;
* &#039;&#039;llpreviewscript.obj : error LNK2001: unresolved external symbol &amp;quot;int __cdecl lscript_compile(char const *,char const *,char const *,int)&amp;quot; (?lscript_compile@@YAHPBD00H@Z)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is not entirely clear, but there seems to be a problem with VS2005 if projects are unloaded while being in the dependency tree.  I have seen this error while I had win_crash_logger and win_updater unloaded from the project tree and the problem went away when I loaded them back and excluded them from the newview dependency first.&lt;br /&gt;
&lt;br /&gt;
Also make sure that in newview, properties, linker, input, input libraries, no libraries named ll*.lib and lscript_compile.lib are listed there (remove them if you find them).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unresolved external symbol __invalid_parameter_noinfo (VS2005) ==&lt;br /&gt;
* &#039;&#039;llmozlib-vc80.lib(llembeddedbrowserwindow.obj) : error LNK2019: unresolved external symbol __invalid_parameter_noinfo referenced&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You are most likely trying a debug build under VS2005.  For debug builds, see the compile instruction section on [[finding_leaks]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cannot open include file: &#039;ares.h&#039; ==&lt;br /&gt;
download src from http://daniel.haxx.se/projects/c-ares/&lt;br /&gt;
&lt;br /&gt;
compile c-ares-1.4.0/vc/areslib&lt;br /&gt;
&lt;br /&gt;
copy c-ares-1.4.0/vc/areslib/Release/areslib.lib to linden/libraries/i686-win32/lib_release and to lib_debug&lt;br /&gt;
&lt;br /&gt;
copy c-ares-1.4.0/*.h to linden/libraries/i686-win32/include/ares&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Other (older) notes ==&lt;br /&gt;
* Mozilla is not compatible with visual studio 2005, so we have not migrated the codebase, so we do not know if it works. &lt;br /&gt;
&lt;br /&gt;
* Added my errors at [[User:Adam_Zaius/MSVS2005 Errors]] [[User:Adam Zaius|Adam Zaius]] 09:40, 8 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
* To minimize the number of warnings for now: in C/C++-Preprocessor add &#039;;_CRT_SECURE_NO_DEPRECATE&#039; to the Preprocessor Definitions, that will supress deprecation warnings --[[User:Artm Udal|Artm Udal]] 12:42, 8 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Mac OS X =&lt;br /&gt;
&lt;br /&gt;
Getting:&lt;br /&gt;
&lt;br /&gt;
*/linden/indra/newview/../llwindow/llglheaders.h:377:31: error: GL/glh_extensions.h: No such file or directory&lt;br /&gt;
** This means you didn&#039;t [[Compiling the viewer (Mac OS X)#Viewer Source, Libraries, and Artwork|merge the libraries]] right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Linux = &lt;br /&gt;
&lt;br /&gt;
==== Packaging errors ====&lt;br /&gt;
&lt;br /&gt;
The final packaging step may fail with errors about the manifest if you are not using the &amp;lt;i&amp;gt;slviewer-linux-libs&amp;lt;/i&amp;gt; bundle; in this case, if you still wish to end up with an end-user viewer package incorporating your own libraries, you can edit the manifest file found at &amp;lt;b&amp;gt;indra/newview/viewer_manifest.py&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Various Compilation problems ====&lt;br /&gt;
* g++-3.4 -o linux_crash_logger/linux-crash-logger-i686-bin-globalsyms --no-keep-memory --reduce-memory-overheads /tmp/paul/home/paul/builds/secondlife/src/linden/indra/i686-linux-client-release/llcrashlogger/llcrashlogger.o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/i686-linux-client-release/linux_crash_logger/linux_crash_logger.o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/i686-linux-client-release/linux_crash_logger/llcrashloggerlinux.o -Llib_release_client/i686-linux -L/home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client -lllui -lllxml -lllmessage -lllvfs -lllmath -lllcommon -lcurl -lssl -lcrypto -laprutil-1 -lapr-1 -lcares -lexpat -ldb-4.2 -lgtk-x11-2.0&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libcurl.a when searching for -lcurl&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libssl.so when searching for -lssl&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libcrypto.so when searching for -lcrypto&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libaprutil-1.so when searching for -laprutil-1&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libapr-1.so when searching for -lapr-1&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libcares.a when searching for -lcares&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libexpat.so when searching for -lexpat&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libdb-4.2.so when searching for -ldb-4.2&lt;br /&gt;
/usr/bin/ld: cannot find -ldb-4.2&lt;br /&gt;
collect2: ld returned 1 exit status&lt;br /&gt;
&lt;br /&gt;
[paul@myhost secondlife]$ pacman -Q db&lt;br /&gt;
db 4.6.21-2&lt;br /&gt;
&lt;br /&gt;
[paul@myhost secondlife]$ uname -a&lt;br /&gt;
Linux myhost 2.6.23-ARCH #1 SMP PREEMPT Tue Jan 15 07:17:51 CET 2008 x86_64 Intel(R) Celeron(R) CPU 2.66GHz GenuineIntel GNU/Linux&lt;br /&gt;
&lt;br /&gt;
And using:&lt;br /&gt;
source=(&#039;secondlife.desktop&#039; &#039;secondlife.install&#039; &#039;secondlife.launcher&#039; \&lt;br /&gt;
&amp;quot;http://secondlife.com/developers/opensource/downloads/2008/01/slviewer-src-RC-${pkgver}.tar.gz&amp;quot; \&lt;br /&gt;
&#039;http://secondlife.com/developers/opensource/downloads/2007/12/slviewer-artwork-RC-1.18.6.2.zip&#039; \&lt;br /&gt;
&#039;http://secondlife.com/developers/opensource/downloads/2007/12/slviewer-linux-libs-RC-1.18.6.2.tar.gz&#039; \&lt;br /&gt;
&#039;http://www.fmod.org/index.php/release/version/fmodapi375linux.tar.gz&#039; \&lt;br /&gt;
&#039;http://secondlife.com/developers/opensource/downloads/2007/12/llmozlib-src-20071221.tar.gz&#039;)&lt;br /&gt;
&lt;br /&gt;
Hum ok, I was trying to use:&lt;br /&gt;
scons DISTCC=no BTARGET=client BUILD=release MOZLIB=yes&lt;br /&gt;
&lt;br /&gt;
I&#039;ll retry with:&lt;br /&gt;
scons BUILD=release ARCH=x86_64 BTARGET=client DISTCC=no MOZLIB=yes FMOD=yes GSTREAMER=yes STANDALONE=yes&lt;br /&gt;
(Sconstruct says that with STANDALONE=yes -db-4.2 will not be used)&lt;br /&gt;
&lt;br /&gt;
But at the beginning I get:&lt;br /&gt;
scons: Reading SConscript files ...&lt;br /&gt;
Building client 1.18.6.2 on x86_64-linux (release)&lt;br /&gt;
No CCACHE_DIR set.&lt;br /&gt;
&lt;br /&gt;
scons: warning: Two different environments were specified for target /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llcrashlogger/llcrashlogger.o,&lt;br /&gt;
	but they appear to have the same action: $CXX -o $TARGET -c $CXXFLAGS $_CCCOMCOM $SOURCES&lt;br /&gt;
File &amp;quot;/home/paul/builds/secondlife/src/linden/indra/SConstruct&amp;quot;, line 568, in create_executable&lt;br /&gt;
scons: done reading SConscript files.&lt;br /&gt;
scons: Building targets ...&lt;br /&gt;
&lt;br /&gt;
well, the new scons line give different problem:&lt;br /&gt;
g++ -o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.o -c -g -pipe -Wall -Wno-reorder -Wno-trigraphs -Wno-sign-compare -Werror -fexceptions -pthread -D_REENTRANT -fno-math-errno -fsigned-char -fno-strict-aliasing -falign-loops=16 -ffast-math -O2 -D_FORTIFY_SOURCE=2 -DLL_STANDALONE -DLL_MESA_HEADLESS=0 -DLL_MESA=0 -DLL_LINUX=1 -DAPPID=secondlife -DLL_SDL=1 -DLL_FMOD=0 -DLL_X11=1 -DLL_GTK=1 -DLL_LIBXUL_ENABLED=1 -DLL_GSTREAMER_ENABLED=1 -DNDEBUG -DLL_RELEASE=1 -Illcommon -Illmath -Illwindow -Illaudio -Illcharacter -Illcrashlogger -Illdatabase -Illhavok -Illimage -Illinventory -Illmedia -Illmessage -Illprimitive -Illrender -Illscene -Illui -Illvfs -Illwindow -Illxml -Ilscript -Ilscript/lscript_compile -I/home/paul/builds/secondlife/src/linden/libraries/include -I/home/paul/builds/secondlife/src/linden/libraries/include/havok -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include -I/usr/include/atk-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/SDL -I/usr/include/apr-1 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/gstreamer-0.10 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0/include -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/libxml2 /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp&lt;br /&gt;
cc1plus: warnings being treated as errors&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp: In function &#039;const char* OrderToString(LLQuaternion::Order)&#039;:&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:701: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:704: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:707: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:710: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:713: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:716: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
scons: *** [/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.o] Error 1&lt;br /&gt;
scons: building terminated because of errors.&lt;br /&gt;
&lt;br /&gt;
Well, STANDALONE=yes make it use g++ rather than g++-3.4, so I decided to remove it, keeping&lt;br /&gt;
ARCH=X86_64 and others, but I get:&lt;br /&gt;
ranlib lib_release_client/x86_64-linux/libllprimitive.a&lt;br /&gt;
g++-3.4 -o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.o -c -g -pipe -Wall -Wno-reorder -Wno-trigraphs -Wno-sign-compare -Werror -fexceptions -pthread -D_REENTRANT -fno-math-errno -fsigned-char -fno-strict-aliasing -falign-loops=16 -ffast-math -O2 -D_FORTIFY_SOURCE=2 -DLL_MESA_HEADLESS=0 -DLL_MESA=0 -DLL_LINUX=1 -DAPPID=secondlife -DLL_SDL=1 -DLL_FMOD=0 -DLL_X11=1 -DLL_GTK=1 -DLL_LIBXUL_ENABLED=1 -DLL_GSTREAMER_ENABLED=1 -DNDEBUG -DLL_RELEASE=1 -Illcommon -Illmath -Illwindow -Illaudio -Illcharacter -Illcrashlogger -Illdatabase -Illhavok -Illimage -Illinventory -Illmedia -Illmessage -Illprimitive -Illrender -Illscene -Illui -Illvfs -Illwindow -Illxml -Ilscript -Ilscript/lscript_compile -I/home/paul/builds/secondlife/src/linden/libraries/include -I/home/paul/builds/secondlife/src/linden/libraries/include/havok -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/ELFIO -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/atk-1.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/gtk-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/llfreetype2 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/pango-1.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/gstreamer-0.10 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0/include -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/libxml2 /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:41:44: llfreetype2/freetype/ft2build.h: No such file or directory&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:56: error: `FT_Render_Mode&#039; does not name a type&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:60: error: `FT_Library&#039; does not name a type&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp: In constructor `LLFontManager::LLFontManager()&#039;:&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:78: error: `gFTLibrary&#039; was not declared in this scope&lt;br /&gt;
... [many more errors]&lt;br /&gt;
&lt;br /&gt;
oh well, SConstruct says I need: cairo glib-2.0 atk gmobile-2.0 gdk-2.0 gdk-pixbuf-2.0 pango pangoft2 pangox pangoxft gtk+-2.0 sdl vorbis vorbisenc vorbisfile&lt;br /&gt;
&lt;br /&gt;
Maybe this is pangoft2 that is missing.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Unable to initialize communications&amp;quot;&lt;br /&gt;
** If the viewer just displays the error message &amp;quot; Unable to initialize communications&amp;quot; and exits, it can&#039;t find message_template.msg. You did remember to copy it over, right?&lt;br /&gt;
&lt;br /&gt;
* Blino&#039;s SL build/linking patches for &#039;&#039;&#039;gcc4&#039;&#039;&#039;: http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/secondlife/current/&lt;br /&gt;
* objcopy: &amp;lt;b&amp;gt;&#039;newview/linux_tools/exposed-symbols.txt&#039;&amp;lt;/b&amp;gt;: No such file&lt;br /&gt;
** Tofu says... &#039;This is an omission from our manifest which I&#039;ll fix.  Meanwhile it&#039;s a safe fix to create an empty file with that name.&#039;&lt;br /&gt;
&lt;br /&gt;
* Something like: &amp;lt;b&amp;gt;/usr/bin/ld: cannot find -lz&amp;lt;/b&amp;gt;&lt;br /&gt;
** Nadia says: Install the zlib development headers. (Ubuntu package zlib1g-dev, Red Hat zlib-devel.)&lt;br /&gt;
&lt;br /&gt;
* Something like: indra.y.cpp:17: &amp;lt;b&amp;gt;error: previous declaration of `int yyparse()&#039;&amp;lt;/b&amp;gt;&lt;br /&gt;
** Tofu says... &#039;This appears to be a problem with some versions of flex/bison.  A resident reports success when comment out the &amp;lt;i&amp;gt;#ifdef __cplusplus&amp;lt;/i&amp;gt; lines in lscript/lscript_compile/indra.y&#039;&lt;br /&gt;
** Nadia says: install the zlib development headers first and try recompiling. Commenting out those lines results in a error indra.l:666: &amp;lt;b&amp;gt;undefined     &lt;br /&gt;
* Linking failures (&amp;quot;script not found&amp;quot;) due to spaces in the LINKFLAGS variable?&lt;br /&gt;
** I saw a [http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4665538 report], and modified the SConstruct file to drop the trailing arguments (and spaces) in LINKFLAGS.&lt;br /&gt;
&lt;br /&gt;
* Building [https://lists.secondlife.com/pipermail/sldev/2007-January/000091.html 20070112a] using &#039;&#039;BUILD=releasefordownload&#039;&#039; I get many &#039;&#039;[: 89: ==: unexpected operator&#039;&#039; errors; &#039;&#039;cp: target `SecondLife_i686_1_13_1_7/app_settings/*’ is not a directory&#039;&#039; error, and same thing for character, fonts, help, skins, res-sdl; &#039;&#039;[: 111: ==: unexpected operator, [: 120: SecondLife_i686_1_13_1_7.tar.bz2: unexpected operator&#039;&#039;. I can succesfully run the client from the source tree.&lt;br /&gt;
** i think this has been fixed --[[User:Signore Iredell|Signore Iredell]] 06:09, 9 June 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
* scons: *** While building `[&#039;.../linden/indra/i686-linux-client-release/lscript/lscript_compile/indra.l.cpp&#039;]&#039;: Don&#039;t know how to build a file with suffix `.l&#039;.&lt;br /&gt;
** You probably don&#039;t have all the dependencies installed (I had the same problem). Check that you have flex and bison. --[[User:Random73 Janus|Random73 Janus]] 07:43, 16 May 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
* Something like: linden/indra/i686-linux-client-release/llrender/llimagegl.cpp:122: &amp;lt;b&amp;gt;error: `glActiveTextureARB&#039; was not declared in this scope&amp;lt;/b&amp;gt;	 &lt;br /&gt;
** Tofu says... &#039;You&#039;ll need to install OpenGL headers if you don&#039;t already have them: gl.h, glext.h, glu.h (The ones from &#039;mesa&#039; should work)	 &lt;br /&gt;
** two residents report good luck on Gentoo after doing &#039;eselect opengl set xorg-x11&#039; (&amp;lt;b&amp;gt;but note!!&amp;lt;/b&amp;gt; You must know what you&#039;re doing; this may change your default system OpenGL drivers, and you will probably want to change them back again after the compile, e.g. &#039;eselect opengl set nvidia&#039;)&#039;&lt;br /&gt;
&lt;br /&gt;
*Building Shared Library ELFIO [[Compiling_the_viewer_%28Linux%29]] on AMD64 ubuntu 6.10&lt;br /&gt;
     g++-3.4 -shared *.o -o libelfio.so&lt;br /&gt;
     /usr/bin/ld: ELFIDynamic.o: relocation R_X86_64_32 against `a local symbol&#039; can &lt;br /&gt;
     not be used when making a  shared object; recompile with -fPIC&lt;br /&gt;
     ELFIDynamic.o: could not read symbols: Bad value&#039;&#039;&#039;&lt;br /&gt;
** I got around this with &amp;quot;export CXXFLAGS=-fPIC&amp;quot; before configuring ELFIO. &lt;br /&gt;
&lt;br /&gt;
* Building Client on Ubuntu 7.04 AMD64&lt;br /&gt;
     /usr/bin/ld: skipping incompatible /home/dereck/Desktop/SLdev/linden/libraries/i686-linux/lib_release_client/libopenjpeg.a when searching for -lopenjpeg&lt;br /&gt;
     /usr/bin/ld: cannot find -lopenjpeg&lt;br /&gt;
     collect2: ld returned 1 exit status&lt;br /&gt;
** I went to the OpenJPEG website, downloaded the source, compiled for my system, installed it. The VWR compile  was happy after that. Although it&#039;s not done yet and I&#039;m still fixing another error, that I assume is unrelated.&lt;br /&gt;
&lt;br /&gt;
* C-Ares compatability issue.&lt;br /&gt;
Compiling with c-ares version 1.5.1 got a compile error in llares.cpp:&lt;br /&gt;
&lt;br /&gt;
linden/indra/x86_64-linux-client-release/llcommon/llares.cpp: In member function `void LLAres::getHostByName(const char*, LLAres::HostResponder*, int)&#039;:&lt;br /&gt;
&lt;br /&gt;
linden/indra/x86_64-linux-client-release/llcommon/llares.cpp:147: error: invalid conversion from `void (*)(void*, int, hostent*)&#039; to `void (*)(void*, int, int, hostent*)&#039;&lt;br /&gt;
&lt;br /&gt;
Fixed with patch from https://jira.secondlife.com/browse/VWR-3480&lt;br /&gt;
&lt;br /&gt;
==== scons got wild ====&lt;br /&gt;
&lt;br /&gt;
* AttributeError: SConsEnvironment instance has no attribute &#039;CFile&#039;&lt;br /&gt;
: This probably means you have no bison, flex, or equivalent tools installed on the standard locations on your system.&lt;br /&gt;
:* When your system has no bison installed, the above message will be supplemented as:&lt;br /&gt;
 env.CFile(target=build_dir+&#039;/lscript/lscript_compile/indra.y.c&#039;, source=&#039;lscript/lscript_compile/indra.y&#039;)&lt;br /&gt;
:* When your system has no flex installed, the above message will be supplemented as:&lt;br /&gt;
 env.CFile(target=build_dir+&#039;/lscript/lscript_compile/indra.l.cpp&#039;, source=&#039;lscript/lscript_compile/indra.l&#039;)&lt;br /&gt;
: Installing the appropriate package should solve this issue.&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Common_compilation_problems&amp;diff=74357</id>
		<title>Common compilation problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Common_compilation_problems&amp;diff=74357"/>
		<updated>2008-06-25T03:52:54Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: /* Viewer 1.19.1.4 */ workaround for unistd.h error&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
= General Problems =&lt;br /&gt;
&lt;br /&gt;
*  Make sure you download not only the source, but the artwork zipfile, and the appropriate zipfile/tarball of libraries for your platform&lt;br /&gt;
&lt;br /&gt;
= Windows = &lt;br /&gt;
&lt;br /&gt;
== Viewer 1.19.1.4 / VS2003 ==&lt;br /&gt;
=== C1083: Cannot open include file: &#039;dxdiag.h&#039; ===&lt;br /&gt;
The DirectX SDK doesn&#039;t automatically insert its include directory into the VS2003 paths. For the June 2008 DirectX SDK release, go to Tools -&amp;gt; Options -&amp;gt; Projects (on left) -&amp;gt; VC++ Directories. On right show directories for Include files, and add:&lt;br /&gt;
* C:\Program Files\Microsoft DirectX SDK (June 2008)\Include&lt;br /&gt;
&lt;br /&gt;
=== C1083: Cannot open include file: &#039;unistd.h&#039; ===&lt;br /&gt;
On Apr 27, 2008 in thread &#039;&#039;[sldev] error while compiling on vc8/9 (unistd.h)&#039;&#039;, SLDev contributor wuhanzymail &amp;lt;wuhanzymail@163.com&amp;gt; recommended the following:&lt;br /&gt;
&lt;br /&gt;
1) right click project lscript_compile, choose properties, c/c++, Preprocessor, add &#039;&#039;YY_NO_UNISTD_H&#039;&#039; to Preprcessor Definitions.&lt;br /&gt;
2) in lex_yy.cpp, line 5915 change:&lt;br /&gt;
&amp;lt;php&amp;gt;           #ifndef __cplusplus&lt;br /&gt;
           extern int isatty (int );&lt;br /&gt;
           #endif&amp;lt;/php&amp;gt;&lt;br /&gt;
to:&lt;br /&gt;
&amp;lt;php&amp;gt;           #ifndef YY_NEVER_INTERACTIVE&lt;br /&gt;
           extern int isatty (int );&lt;br /&gt;
           #endif&amp;lt;/php&amp;gt;&lt;br /&gt;
3) still in lex_yy.cpp, line 5943 change:&lt;br /&gt;
&amp;lt;php&amp;gt;          b-&amp;gt;yy_is_interactive = file ? (isatty( fileno(file) ) &amp;gt; 0) : 0;&amp;lt;/php&amp;gt;&lt;br /&gt;
to:&lt;br /&gt;
&amp;lt;php&amp;gt;          #if YY_NEVER_INTERACTIVE&lt;br /&gt;
              b-&amp;gt;yy_is_interactive = 0;&lt;br /&gt;
          #else&lt;br /&gt;
              b-&amp;gt;yy_is_interactive = file ? (isatty( fileno(file) ) &amp;gt; 0) : 0;&lt;br /&gt;
          #endif&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unresolved external symbol _CLSID_DxDiagProvider/_IID_IDxDiagProvider ==&lt;br /&gt;
* &#039;&#039;newview error LNK2001: unresolved external symbol _CLSID_DxDiagProvider&#039;&#039;&lt;br /&gt;
* &#039;&#039;newview error LNK2001: unresolved external symbol _IID_IDxDiagProvider&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These errors reportedly occur with MSVC 2003 and certain versions of the DirectX SDK.  To workaround, edit lldxhardware.cpp and replace the following (line 35):&lt;br /&gt;
&lt;br /&gt;
     #include &amp;lt;dxdiag.h&amp;gt;&lt;br /&gt;
with...&lt;br /&gt;
     #define INITGUID&lt;br /&gt;
     #include &amp;lt;dxdiag.h&amp;gt;&lt;br /&gt;
     #undef INITGUID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cannot open input file &#039;dxguid.lib&#039; ==&lt;br /&gt;
* &#039;&#039;fatal error LNK1181: cannot open input file &#039;dxguid.lib&#039; in ...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are using a fairly recent DirectX SDK (&amp;quot;December 2006&amp;quot; or newer), your VC++ Libraries Directory may be wrong because the SDK&#039;s lib folder now has 2 sub-folders for x64 and x86.  Try changing the path from &#039;&#039;C:\Program Files\Microsoft DirectX SDK (December 2006)\Lib&#039;&#039; to &#039;&#039;C:\Program Files\Microsoft DirectX SDK (December 2006)\&#039;&#039; &#039;&#039;&#039;Lib\x86&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open input file &#039;dxerr8.lib&#039; ==&lt;br /&gt;
* &#039;&#039;fatal error LNK1104: cannot open file &#039;dxerr8.lib&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are using the most recent DirectX SDK (&amp;quot;November 2007&amp;quot;), the file dxerr8.lib does no longer exist. To fix this, you&#039;ll need to change the newview project to include &#039;dxerr9.lib&#039; instead. To do this, right-lick newview &amp;gt; Configuration Properties &amp;gt; Linker &amp;gt; Input, click Additional Dependencies on the right to show a button labeled &amp;quot;...&amp;quot; on it at the very right on the line, then click the ... button. Scroll down the list to find &#039;dxerr8.lib&#039;. Rewrite it to &#039;dxerr9.lib&#039;. Remember to do this for both the ReleaseForDownload and the ReleaseNoOpt Configurations.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== A tool returned an error code from &amp;quot;Building ytab.cpp&amp;quot; ==&lt;br /&gt;
* &#039;&#039;lscript_compile_fb error PRJ0019: A tool returned an error code from &amp;quot;Building ytab.cpp&amp;quot; &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
One possible reason for this is that Visual Studio does not know where cygwin/bin is, especially if this is accompanied by an error relating to bison.exe being an invalid command.  Even if the directory for cygwin is in the environment variable PATH, Visual Studio maintains its own separate copy which does not seem to be automatically synchronized after the initial installation.&lt;br /&gt;
&lt;br /&gt;
For Visual Studio .NET 2003, go to Tools &amp;gt; Options &amp;gt; Projects &amp;gt; VC++ Directories.  In the &amp;quot;show directories for&amp;quot; dropdown, choose &amp;quot;Executable files&amp;quot;.  Make sure that your cygwin (default C:\cygwin\bin) and ActivePython (default C:\Python25) directories are listed.&lt;br /&gt;
&lt;br /&gt;
== Cannot open include file: &#039;ytab.h&#039;: No such file or directory ==&lt;br /&gt;
* &#039;&#039;indra.l (20) : fatal error C1083: Cannot open include file: &#039;ytab.h&#039;: No such file or directory.&#039;&#039;&lt;br /&gt;
Workaround: Manually copy &amp;quot;linden\indra\lscript\lscript_compile\ytab.hpp&amp;quot; to &amp;quot;linden\indra\lscript\lscript_compile\ytab.h&amp;quot; and build again. &lt;br /&gt;
&lt;br /&gt;
Note: The underlying issue is that in indra.y there is a postbuild step which should do this automatically, but which is missing in some configurations (e.g. in Debug builds).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;png.h&#039;: No such file or directory ==&lt;br /&gt;
* &#039;&#039;imagepng.cpp : fatal error C1083: Cannot open include file: &#039;libpng12/png.h&#039;: No such file or directory.&#039;&#039;&lt;br /&gt;
There are a couple of files missing since the 1.17. distribution.  You can either get the missing files from the internet (from the libpng and zlib projects) or download a set with just the missing files from [http://www.blueflash.cc/users/nicholaz/~libs here] (see the readme.txt inside the png archive there).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;glh/glh_linear.h&#039; or &#039;glh/glh_convenience.h&#039; ==&lt;br /&gt;
These files are currently missing from Linden Windlight distributions.  See [https://jira.secondlife.com/browse/VWR-3415 JIRA VWR-3415] or grab a copy from [http://www.blueflash.cc/users/nicholaz/~libs here] and put the files into a folder named linden/libraries/include/glh.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[LearCale]] -- as of 1.19, these appear to need to be in linden/libraries/include/GL .&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Errors relating to &amp;quot;template_verifier.py&amp;quot; ==&lt;br /&gt;
With version 1.18 a template verifier script written in Python is used to ensure the message template is correct.  In some distributions the file was missing.  You will also get an error if you have skipped the Python install.  In both cases it is safe to hack the prebuild.bat file in the newview folder as described on the JIRA [http://jira.secondlife.com/browse/VWR-1267 VWR-1267]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missing resources ==&lt;br /&gt;
* &#039;&#039;.\res\newViewRes.rc(64) : error RC2135 : file not found: ll_icon.ico&#039;&#039;&lt;br /&gt;
Some releases have missing files, which were reported to be last seen in the &#039;&#039;&#039;1.14.0.1&#039;&#039;&#039; release.&lt;br /&gt;
* Go to the [[source downloads]] page and grab the [[http://secondlife.com/developers/opensource/downloads/2007/04/slviewer-src-1.14.0.1.zip &#039;&#039;&#039;1.14.0.1&#039;&#039;&#039; viewer]] sources.&lt;br /&gt;
* Explore the archive to &amp;quot;linden/indra/newview/res&amp;quot; folder and extract content to your &amp;quot;linden/indra/newview/res&amp;quot; folder into current revision.&lt;br /&gt;
Missing folder in recent release, &amp;quot;&#039;&#039;&#039;1.17.0.12&#039;&#039;&#039;&amp;quot; which causes the SecondLife to hang while loading into the world.&lt;br /&gt;
* Go to the previous source and copy the missing folder, &amp;quot;Character&amp;quot; and place it into the &amp;quot;newview&amp;quot; folder&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Error code from &amp;quot;Copying message template&amp;quot; ==&lt;br /&gt;
* &#039;&#039;newview error PRJ0019: A tool returned an error code from &amp;quot;Copying message template&amp;quot;&#039;&#039;&lt;br /&gt;
This is caused by the script trying to do a copy command, but the source path isn&#039;t in quotes.  Open up newview.vcproj in notepad, and near the bottom there are 4 line that say:&lt;br /&gt;
     CommandLine=&amp;quot;copy $(InputPath) .\app_settings\message_template.msg&lt;br /&gt;
replace them with&lt;br /&gt;
     CommandLine=&amp;quot;copy &amp;amp;amp;quot;$(InputPath)&amp;amp;amp;quot; .\app_settings\message_template.msg&lt;br /&gt;
The source and destination paths on line 158 may also require wrapping in quotes.  In which case:&lt;br /&gt;
     CommandLine=&amp;quot;copy $(TargetDir)\$(TargetFileName) $(ProjectDir)&lt;br /&gt;
should become:&lt;br /&gt;
     CommandLine=&amp;quot;copy &amp;amp;amp;quot;$(TargetDir)\$(TargetFileName)&amp;amp;amp;quot; &amp;amp;amp;quot;$(ProjectDir)&amp;amp;amp;quot;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Can not find library ll*.lib ==&lt;br /&gt;
If you get a compile error for missing libraries with names of the projects (lscript_compile.lib, llaudio.lib, llcharacter.lib, etc.) go to newview &amp;gt; Properties &amp;gt; Linker &amp;gt; Input and remove these from the list of input libraries (they will be linked through the dependencies and should not be in the list).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;windows.h&#039; ==&lt;br /&gt;
If you run into this problem:&lt;br /&gt;
 ..\..\..\boost/regex/v4/fileiter.hpp(44) : fatal error C1083: Cannot open include file: &#039;windows.h&#039;: No such file or directory&lt;br /&gt;
Fix it with this: (thanks Fairlight!)&lt;br /&gt;
 set INCLUDE=C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include;%INCLUDE%&lt;br /&gt;
 set LIB=C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib;%LIB%&lt;br /&gt;
You might need to edit the above path to refer to your particular platform SDK.  If you don&#039;t have the Microsoft Windows Platform SDK installed, then you can download it for free from Microsoft.  It is version specific and can be tricky to find on their website.&lt;br /&gt;
&lt;br /&gt;
If you&#039;re having problems with windows.h in Visual Studio Express 2005, check out this forum post:&lt;br /&gt;
[http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1995837&amp;amp;SiteID=1 MSDN Forum Post]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unresolved external symbol &amp;quot;int __cdecl lscript_compile&amp;quot; (VS2005) ==&lt;br /&gt;
* &#039;&#039;llcompilequeue.obj : error LNK2019: unresolved external symbol &amp;quot;int __cdecl lscript_compile(char const *,char const *,char const *,int)&amp;quot; (?lscript_compile@@YAHPBD00H@Z) referenced in function &amp;quot;protected: void __thiscall LLFloaterCompileQueue::compile(char const *,class LLUUID const &amp;amp;)&amp;quot; (?compile@LLFloaterCompileQueue@@IAEXPBDABVLLUUID@@@Z)&#039;&#039;&lt;br /&gt;
* &#039;&#039;llpreviewscript.obj : error LNK2001: unresolved external symbol &amp;quot;int __cdecl lscript_compile(char const *,char const *,char const *,int)&amp;quot; (?lscript_compile@@YAHPBD00H@Z)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is not entirely clear, but there seems to be a problem with VS2005 if projects are unloaded while being in the dependency tree.  I have seen this error while I had win_crash_logger and win_updater unloaded from the project tree and the problem went away when I loaded them back and excluded them from the newview dependency first.&lt;br /&gt;
&lt;br /&gt;
Also make sure that in newview, properties, linker, input, input libraries, no libraries named ll*.lib and lscript_compile.lib are listed there (remove them if you find them).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unresolved external symbol __invalid_parameter_noinfo (VS2005) ==&lt;br /&gt;
* &#039;&#039;llmozlib-vc80.lib(llembeddedbrowserwindow.obj) : error LNK2019: unresolved external symbol __invalid_parameter_noinfo referenced&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You are most likely trying a debug build under VS2005.  For debug builds, see the compile instruction section on [[finding_leaks]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cannot open include file: &#039;ares.h&#039; ==&lt;br /&gt;
download src from http://daniel.haxx.se/projects/c-ares/&lt;br /&gt;
&lt;br /&gt;
compile c-ares-1.4.0/vc/areslib&lt;br /&gt;
&lt;br /&gt;
copy c-ares-1.4.0/vc/areslib/Release/areslib.lib to linden/libraries/i686-win32/lib_release and to lib_debug&lt;br /&gt;
&lt;br /&gt;
copy c-ares-1.4.0/*.h to linden/libraries/i686-win32/include/ares&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Other (older) notes ==&lt;br /&gt;
* Mozilla is not compatible with visual studio 2005, so we have not migrated the codebase, so we do not know if it works. &lt;br /&gt;
&lt;br /&gt;
* Added my errors at [[User:Adam_Zaius/MSVS2005 Errors]] [[User:Adam Zaius|Adam Zaius]] 09:40, 8 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
* To minimize the number of warnings for now: in C/C++-Preprocessor add &#039;;_CRT_SECURE_NO_DEPRECATE&#039; to the Preprocessor Definitions, that will supress deprecation warnings --[[User:Artm Udal|Artm Udal]] 12:42, 8 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Mac OS X =&lt;br /&gt;
&lt;br /&gt;
Getting:&lt;br /&gt;
&lt;br /&gt;
*/linden/indra/newview/../llwindow/llglheaders.h:377:31: error: GL/glh_extensions.h: No such file or directory&lt;br /&gt;
** This means you didn&#039;t [[Compiling the viewer (Mac OS X)#Viewer Source, Libraries, and Artwork|merge the libraries]] right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Linux = &lt;br /&gt;
&lt;br /&gt;
==== Packaging errors ====&lt;br /&gt;
&lt;br /&gt;
The final packaging step may fail with errors about the manifest if you are not using the &amp;lt;i&amp;gt;slviewer-linux-libs&amp;lt;/i&amp;gt; bundle; in this case, if you still wish to end up with an end-user viewer package incorporating your own libraries, you can edit the manifest file found at &amp;lt;b&amp;gt;indra/newview/viewer_manifest.py&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Various Compilation problems ====&lt;br /&gt;
* g++-3.4 -o linux_crash_logger/linux-crash-logger-i686-bin-globalsyms --no-keep-memory --reduce-memory-overheads /tmp/paul/home/paul/builds/secondlife/src/linden/indra/i686-linux-client-release/llcrashlogger/llcrashlogger.o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/i686-linux-client-release/linux_crash_logger/linux_crash_logger.o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/i686-linux-client-release/linux_crash_logger/llcrashloggerlinux.o -Llib_release_client/i686-linux -L/home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client -lllui -lllxml -lllmessage -lllvfs -lllmath -lllcommon -lcurl -lssl -lcrypto -laprutil-1 -lapr-1 -lcares -lexpat -ldb-4.2 -lgtk-x11-2.0&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libcurl.a when searching for -lcurl&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libssl.so when searching for -lssl&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libcrypto.so when searching for -lcrypto&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libaprutil-1.so when searching for -laprutil-1&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libapr-1.so when searching for -lapr-1&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libcares.a when searching for -lcares&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libexpat.so when searching for -lexpat&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libdb-4.2.so when searching for -ldb-4.2&lt;br /&gt;
/usr/bin/ld: cannot find -ldb-4.2&lt;br /&gt;
collect2: ld returned 1 exit status&lt;br /&gt;
&lt;br /&gt;
[paul@myhost secondlife]$ pacman -Q db&lt;br /&gt;
db 4.6.21-2&lt;br /&gt;
&lt;br /&gt;
[paul@myhost secondlife]$ uname -a&lt;br /&gt;
Linux myhost 2.6.23-ARCH #1 SMP PREEMPT Tue Jan 15 07:17:51 CET 2008 x86_64 Intel(R) Celeron(R) CPU 2.66GHz GenuineIntel GNU/Linux&lt;br /&gt;
&lt;br /&gt;
And using:&lt;br /&gt;
source=(&#039;secondlife.desktop&#039; &#039;secondlife.install&#039; &#039;secondlife.launcher&#039; \&lt;br /&gt;
&amp;quot;http://secondlife.com/developers/opensource/downloads/2008/01/slviewer-src-RC-${pkgver}.tar.gz&amp;quot; \&lt;br /&gt;
&#039;http://secondlife.com/developers/opensource/downloads/2007/12/slviewer-artwork-RC-1.18.6.2.zip&#039; \&lt;br /&gt;
&#039;http://secondlife.com/developers/opensource/downloads/2007/12/slviewer-linux-libs-RC-1.18.6.2.tar.gz&#039; \&lt;br /&gt;
&#039;http://www.fmod.org/index.php/release/version/fmodapi375linux.tar.gz&#039; \&lt;br /&gt;
&#039;http://secondlife.com/developers/opensource/downloads/2007/12/llmozlib-src-20071221.tar.gz&#039;)&lt;br /&gt;
&lt;br /&gt;
Hum ok, I was trying to use:&lt;br /&gt;
scons DISTCC=no BTARGET=client BUILD=release MOZLIB=yes&lt;br /&gt;
&lt;br /&gt;
I&#039;ll retry with:&lt;br /&gt;
scons BUILD=release ARCH=x86_64 BTARGET=client DISTCC=no MOZLIB=yes FMOD=yes GSTREAMER=yes STANDALONE=yes&lt;br /&gt;
(Sconstruct says that with STANDALONE=yes -db-4.2 will not be used)&lt;br /&gt;
&lt;br /&gt;
But at the beginning I get:&lt;br /&gt;
scons: Reading SConscript files ...&lt;br /&gt;
Building client 1.18.6.2 on x86_64-linux (release)&lt;br /&gt;
No CCACHE_DIR set.&lt;br /&gt;
&lt;br /&gt;
scons: warning: Two different environments were specified for target /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llcrashlogger/llcrashlogger.o,&lt;br /&gt;
	but they appear to have the same action: $CXX -o $TARGET -c $CXXFLAGS $_CCCOMCOM $SOURCES&lt;br /&gt;
File &amp;quot;/home/paul/builds/secondlife/src/linden/indra/SConstruct&amp;quot;, line 568, in create_executable&lt;br /&gt;
scons: done reading SConscript files.&lt;br /&gt;
scons: Building targets ...&lt;br /&gt;
&lt;br /&gt;
well, the new scons line give different problem:&lt;br /&gt;
g++ -o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.o -c -g -pipe -Wall -Wno-reorder -Wno-trigraphs -Wno-sign-compare -Werror -fexceptions -pthread -D_REENTRANT -fno-math-errno -fsigned-char -fno-strict-aliasing -falign-loops=16 -ffast-math -O2 -D_FORTIFY_SOURCE=2 -DLL_STANDALONE -DLL_MESA_HEADLESS=0 -DLL_MESA=0 -DLL_LINUX=1 -DAPPID=secondlife -DLL_SDL=1 -DLL_FMOD=0 -DLL_X11=1 -DLL_GTK=1 -DLL_LIBXUL_ENABLED=1 -DLL_GSTREAMER_ENABLED=1 -DNDEBUG -DLL_RELEASE=1 -Illcommon -Illmath -Illwindow -Illaudio -Illcharacter -Illcrashlogger -Illdatabase -Illhavok -Illimage -Illinventory -Illmedia -Illmessage -Illprimitive -Illrender -Illscene -Illui -Illvfs -Illwindow -Illxml -Ilscript -Ilscript/lscript_compile -I/home/paul/builds/secondlife/src/linden/libraries/include -I/home/paul/builds/secondlife/src/linden/libraries/include/havok -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include -I/usr/include/atk-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/SDL -I/usr/include/apr-1 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/gstreamer-0.10 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0/include -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/libxml2 /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp&lt;br /&gt;
cc1plus: warnings being treated as errors&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp: In function &#039;const char* OrderToString(LLQuaternion::Order)&#039;:&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:701: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:704: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:707: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:710: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:713: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:716: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
scons: *** [/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.o] Error 1&lt;br /&gt;
scons: building terminated because of errors.&lt;br /&gt;
&lt;br /&gt;
Well, STANDALONE=yes make it use g++ rather than g++-3.4, so I decided to remove it, keeping&lt;br /&gt;
ARCH=X86_64 and others, but I get:&lt;br /&gt;
ranlib lib_release_client/x86_64-linux/libllprimitive.a&lt;br /&gt;
g++-3.4 -o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.o -c -g -pipe -Wall -Wno-reorder -Wno-trigraphs -Wno-sign-compare -Werror -fexceptions -pthread -D_REENTRANT -fno-math-errno -fsigned-char -fno-strict-aliasing -falign-loops=16 -ffast-math -O2 -D_FORTIFY_SOURCE=2 -DLL_MESA_HEADLESS=0 -DLL_MESA=0 -DLL_LINUX=1 -DAPPID=secondlife -DLL_SDL=1 -DLL_FMOD=0 -DLL_X11=1 -DLL_GTK=1 -DLL_LIBXUL_ENABLED=1 -DLL_GSTREAMER_ENABLED=1 -DNDEBUG -DLL_RELEASE=1 -Illcommon -Illmath -Illwindow -Illaudio -Illcharacter -Illcrashlogger -Illdatabase -Illhavok -Illimage -Illinventory -Illmedia -Illmessage -Illprimitive -Illrender -Illscene -Illui -Illvfs -Illwindow -Illxml -Ilscript -Ilscript/lscript_compile -I/home/paul/builds/secondlife/src/linden/libraries/include -I/home/paul/builds/secondlife/src/linden/libraries/include/havok -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/ELFIO -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/atk-1.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/gtk-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/llfreetype2 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/pango-1.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/gstreamer-0.10 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0/include -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/libxml2 /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:41:44: llfreetype2/freetype/ft2build.h: No such file or directory&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:56: error: `FT_Render_Mode&#039; does not name a type&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:60: error: `FT_Library&#039; does not name a type&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp: In constructor `LLFontManager::LLFontManager()&#039;:&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:78: error: `gFTLibrary&#039; was not declared in this scope&lt;br /&gt;
... [many more errors]&lt;br /&gt;
&lt;br /&gt;
oh well, SConstruct says I need: cairo glib-2.0 atk gmobile-2.0 gdk-2.0 gdk-pixbuf-2.0 pango pangoft2 pangox pangoxft gtk+-2.0 sdl vorbis vorbisenc vorbisfile&lt;br /&gt;
&lt;br /&gt;
Maybe this is pangoft2 that is missing.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Unable to initialize communications&amp;quot;&lt;br /&gt;
** If the viewer just displays the error message &amp;quot; Unable to initialize communications&amp;quot; and exits, it can&#039;t find message_template.msg. You did remember to copy it over, right?&lt;br /&gt;
&lt;br /&gt;
* Blino&#039;s SL build/linking patches for &#039;&#039;&#039;gcc4&#039;&#039;&#039;: http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/secondlife/current/&lt;br /&gt;
* objcopy: &amp;lt;b&amp;gt;&#039;newview/linux_tools/exposed-symbols.txt&#039;&amp;lt;/b&amp;gt;: No such file&lt;br /&gt;
** Tofu says... &#039;This is an omission from our manifest which I&#039;ll fix.  Meanwhile it&#039;s a safe fix to create an empty file with that name.&#039;&lt;br /&gt;
&lt;br /&gt;
* Something like: &amp;lt;b&amp;gt;/usr/bin/ld: cannot find -lz&amp;lt;/b&amp;gt;&lt;br /&gt;
** Nadia says: Install the zlib development headers. (Ubuntu package zlib1g-dev, Red Hat zlib-devel.)&lt;br /&gt;
&lt;br /&gt;
* Something like: indra.y.cpp:17: &amp;lt;b&amp;gt;error: previous declaration of `int yyparse()&#039;&amp;lt;/b&amp;gt;&lt;br /&gt;
** Tofu says... &#039;This appears to be a problem with some versions of flex/bison.  A resident reports success when comment out the &amp;lt;i&amp;gt;#ifdef __cplusplus&amp;lt;/i&amp;gt; lines in lscript/lscript_compile/indra.y&#039;&lt;br /&gt;
** Nadia says: install the zlib development headers first and try recompiling. Commenting out those lines results in a error indra.l:666: &amp;lt;b&amp;gt;undefined     &lt;br /&gt;
* Linking failures (&amp;quot;script not found&amp;quot;) due to spaces in the LINKFLAGS variable?&lt;br /&gt;
** I saw a [http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4665538 report], and modified the SConstruct file to drop the trailing arguments (and spaces) in LINKFLAGS.&lt;br /&gt;
&lt;br /&gt;
* Building [https://lists.secondlife.com/pipermail/sldev/2007-January/000091.html 20070112a] using &#039;&#039;BUILD=releasefordownload&#039;&#039; I get many &#039;&#039;[: 89: ==: unexpected operator&#039;&#039; errors; &#039;&#039;cp: target `SecondLife_i686_1_13_1_7/app_settings/*’ is not a directory&#039;&#039; error, and same thing for character, fonts, help, skins, res-sdl; &#039;&#039;[: 111: ==: unexpected operator, [: 120: SecondLife_i686_1_13_1_7.tar.bz2: unexpected operator&#039;&#039;. I can succesfully run the client from the source tree.&lt;br /&gt;
** i think this has been fixed --[[User:Signore Iredell|Signore Iredell]] 06:09, 9 June 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
* scons: *** While building `[&#039;.../linden/indra/i686-linux-client-release/lscript/lscript_compile/indra.l.cpp&#039;]&#039;: Don&#039;t know how to build a file with suffix `.l&#039;.&lt;br /&gt;
** You probably don&#039;t have all the dependencies installed (I had the same problem). Check that you have flex and bison. --[[User:Random73 Janus|Random73 Janus]] 07:43, 16 May 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
* Something like: linden/indra/i686-linux-client-release/llrender/llimagegl.cpp:122: &amp;lt;b&amp;gt;error: `glActiveTextureARB&#039; was not declared in this scope&amp;lt;/b&amp;gt;	 &lt;br /&gt;
** Tofu says... &#039;You&#039;ll need to install OpenGL headers if you don&#039;t already have them: gl.h, glext.h, glu.h (The ones from &#039;mesa&#039; should work)	 &lt;br /&gt;
** two residents report good luck on Gentoo after doing &#039;eselect opengl set xorg-x11&#039; (&amp;lt;b&amp;gt;but note!!&amp;lt;/b&amp;gt; You must know what you&#039;re doing; this may change your default system OpenGL drivers, and you will probably want to change them back again after the compile, e.g. &#039;eselect opengl set nvidia&#039;)&#039;&lt;br /&gt;
&lt;br /&gt;
*Building Shared Library ELFIO [[Compiling_the_viewer_%28Linux%29]] on AMD64 ubuntu 6.10&lt;br /&gt;
     g++-3.4 -shared *.o -o libelfio.so&lt;br /&gt;
     /usr/bin/ld: ELFIDynamic.o: relocation R_X86_64_32 against `a local symbol&#039; can &lt;br /&gt;
     not be used when making a  shared object; recompile with -fPIC&lt;br /&gt;
     ELFIDynamic.o: could not read symbols: Bad value&#039;&#039;&#039;&lt;br /&gt;
** I got around this with &amp;quot;export CXXFLAGS=-fPIC&amp;quot; before configuring ELFIO. &lt;br /&gt;
&lt;br /&gt;
* Building Client on Ubuntu 7.04 AMD64&lt;br /&gt;
     /usr/bin/ld: skipping incompatible /home/dereck/Desktop/SLdev/linden/libraries/i686-linux/lib_release_client/libopenjpeg.a when searching for -lopenjpeg&lt;br /&gt;
     /usr/bin/ld: cannot find -lopenjpeg&lt;br /&gt;
     collect2: ld returned 1 exit status&lt;br /&gt;
** I went to the OpenJPEG website, downloaded the source, compiled for my system, installed it. The VWR compile  was happy after that. Although it&#039;s not done yet and I&#039;m still fixing another error, that I assume is unrelated.&lt;br /&gt;
&lt;br /&gt;
* C-Ares compatability issue.&lt;br /&gt;
Compiling with c-ares version 1.5.1 got a compile error in llares.cpp:&lt;br /&gt;
&lt;br /&gt;
linden/indra/x86_64-linux-client-release/llcommon/llares.cpp: In member function `void LLAres::getHostByName(const char*, LLAres::HostResponder*, int)&#039;:&lt;br /&gt;
&lt;br /&gt;
linden/indra/x86_64-linux-client-release/llcommon/llares.cpp:147: error: invalid conversion from `void (*)(void*, int, hostent*)&#039; to `void (*)(void*, int, int, hostent*)&#039;&lt;br /&gt;
&lt;br /&gt;
Fixed with patch from https://jira.secondlife.com/browse/VWR-3480&lt;br /&gt;
&lt;br /&gt;
==== scons got wild ====&lt;br /&gt;
&lt;br /&gt;
* AttributeError: SConsEnvironment instance has no attribute &#039;CFile&#039;&lt;br /&gt;
: This probably means you have no bison, flex, or equivalent tools installed on the standard locations on your system.&lt;br /&gt;
:* When your system has no bison installed, the above message will be supplemented as:&lt;br /&gt;
 env.CFile(target=build_dir+&#039;/lscript/lscript_compile/indra.y.c&#039;, source=&#039;lscript/lscript_compile/indra.y&#039;)&lt;br /&gt;
:* When your system has no flex installed, the above message will be supplemented as:&lt;br /&gt;
 env.CFile(target=build_dir+&#039;/lscript/lscript_compile/indra.l.cpp&#039;, source=&#039;lscript/lscript_compile/indra.l&#039;)&lt;br /&gt;
: Installing the appropriate package should solve this issue.&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Common_compilation_problems&amp;diff=74338</id>
		<title>Common compilation problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Common_compilation_problems&amp;diff=74338"/>
		<updated>2008-06-25T02:18:25Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: /* C1083: Cannot open include file: &amp;#039;unistd.h&amp;#039; */ er, it&amp;#039;s dxdiag.h&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
= General Problems =&lt;br /&gt;
&lt;br /&gt;
*  Make sure you download not only the source, but the artwork zipfile, and the appropriate zipfile/tarball of libraries for your platform&lt;br /&gt;
&lt;br /&gt;
= Windows = &lt;br /&gt;
&lt;br /&gt;
== Viewer 1.19.1.4 ==&lt;br /&gt;
=== C1083: Cannot open include file: &#039;dxdiag.h&#039; ===&lt;br /&gt;
The DirectX SDK doesn&#039;t automatically insert its include directory into the VS2003 paths. For the June 2008 DirectX SDK release, go to Tools -&amp;gt; Options -&amp;gt; Projects (on left) -&amp;gt; VC++ Directories. On right show directories for Include files, and add:&lt;br /&gt;
* C:\Program Files\Microsoft DirectX SDK (June 2008)\Include&lt;br /&gt;
&lt;br /&gt;
== Unresolved external symbol _CLSID_DxDiagProvider/_IID_IDxDiagProvider ==&lt;br /&gt;
* &#039;&#039;newview error LNK2001: unresolved external symbol _CLSID_DxDiagProvider&#039;&#039;&lt;br /&gt;
* &#039;&#039;newview error LNK2001: unresolved external symbol _IID_IDxDiagProvider&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These errors reportedly occur with MSVC 2003 and certain versions of the DirectX SDK.  To workaround, edit lldxhardware.cpp and replace the following (line 35):&lt;br /&gt;
&lt;br /&gt;
     #include &amp;lt;dxdiag.h&amp;gt;&lt;br /&gt;
with...&lt;br /&gt;
     #define INITGUID&lt;br /&gt;
     #include &amp;lt;dxdiag.h&amp;gt;&lt;br /&gt;
     #undef INITGUID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cannot open input file &#039;dxguid.lib&#039; ==&lt;br /&gt;
* &#039;&#039;fatal error LNK1181: cannot open input file &#039;dxguid.lib&#039; in ...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are using a fairly recent DirectX SDK (&amp;quot;December 2006&amp;quot; or newer), your VC++ Libraries Directory may be wrong because the SDK&#039;s lib folder now has 2 sub-folders for x64 and x86.  Try changing the path from &#039;&#039;C:\Program Files\Microsoft DirectX SDK (December 2006)\Lib&#039;&#039; to &#039;&#039;C:\Program Files\Microsoft DirectX SDK (December 2006)\&#039;&#039; &#039;&#039;&#039;Lib\x86&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open input file &#039;dxerr8.lib&#039; ==&lt;br /&gt;
* &#039;&#039;fatal error LNK1104: cannot open file &#039;dxerr8.lib&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are using the most recent DirectX SDK (&amp;quot;November 2007&amp;quot;), the file dxerr8.lib does no longer exist. To fix this, you&#039;ll need to change the newview project to include &#039;dxerr9.lib&#039; instead. To do this, right-lick newview &amp;gt; Configuration Properties &amp;gt; Linker &amp;gt; Input, click Additional Dependencies on the right to show a button labeled &amp;quot;...&amp;quot; on it at the very right on the line, then click the ... button. Scroll down the list to find &#039;dxerr8.lib&#039;. Rewrite it to &#039;dxerr9.lib&#039;. Remember to do this for both the ReleaseForDownload and the ReleaseNoOpt Configurations.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== A tool returned an error code from &amp;quot;Building ytab.cpp&amp;quot; ==&lt;br /&gt;
* &#039;&#039;lscript_compile_fb error PRJ0019: A tool returned an error code from &amp;quot;Building ytab.cpp&amp;quot; &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
One possible reason for this is that Visual Studio does not know where cygwin/bin is, especially if this is accompanied by an error relating to bison.exe being an invalid command.  Even if the directory for cygwin is in the environment variable PATH, Visual Studio maintains its own separate copy which does not seem to be automatically synchronized after the initial installation.&lt;br /&gt;
&lt;br /&gt;
For Visual Studio .NET 2003, go to Tools &amp;gt; Options &amp;gt; Projects &amp;gt; VC++ Directories.  In the &amp;quot;show directories for&amp;quot; dropdown, choose &amp;quot;Executable files&amp;quot;.  Make sure that your cygwin (default C:\cygwin\bin) and ActivePython (default C:\Python25) directories are listed.&lt;br /&gt;
&lt;br /&gt;
== Cannot open include file: &#039;ytab.h&#039;: No such file or directory ==&lt;br /&gt;
* &#039;&#039;indra.l (20) : fatal error C1083: Cannot open include file: &#039;ytab.h&#039;: No such file or directory.&#039;&#039;&lt;br /&gt;
Workaround: Manually copy &amp;quot;linden\indra\lscript\lscript_compile\ytab.hpp&amp;quot; to &amp;quot;linden\indra\lscript\lscript_compile\ytab.h&amp;quot; and build again. &lt;br /&gt;
&lt;br /&gt;
Note: The underlying issue is that in indra.y there is a postbuild step which should do this automatically, but which is missing in some configurations (e.g. in Debug builds).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;png.h&#039;: No such file or directory ==&lt;br /&gt;
* &#039;&#039;imagepng.cpp : fatal error C1083: Cannot open include file: &#039;libpng12/png.h&#039;: No such file or directory.&#039;&#039;&lt;br /&gt;
There are a couple of files missing since the 1.17. distribution.  You can either get the missing files from the internet (from the libpng and zlib projects) or download a set with just the missing files from [http://www.blueflash.cc/users/nicholaz/~libs here] (see the readme.txt inside the png archive there).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;glh/glh_linear.h&#039; or &#039;glh/glh_convenience.h&#039; ==&lt;br /&gt;
These files are currently missing from Linden Windlight distributions.  See [https://jira.secondlife.com/browse/VWR-3415 JIRA VWR-3415] or grab a copy from [http://www.blueflash.cc/users/nicholaz/~libs here] and put the files into a folder named linden/libraries/include/glh.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[LearCale]] -- as of 1.19, these appear to need to be in linden/libraries/include/GL .&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Errors relating to &amp;quot;template_verifier.py&amp;quot; ==&lt;br /&gt;
With version 1.18 a template verifier script written in Python is used to ensure the message template is correct.  In some distributions the file was missing.  You will also get an error if you have skipped the Python install.  In both cases it is safe to hack the prebuild.bat file in the newview folder as described on the JIRA [http://jira.secondlife.com/browse/VWR-1267 VWR-1267]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missing resources ==&lt;br /&gt;
* &#039;&#039;.\res\newViewRes.rc(64) : error RC2135 : file not found: ll_icon.ico&#039;&#039;&lt;br /&gt;
Some releases have missing files, which were reported to be last seen in the &#039;&#039;&#039;1.14.0.1&#039;&#039;&#039; release.&lt;br /&gt;
* Go to the [[source downloads]] page and grab the [[http://secondlife.com/developers/opensource/downloads/2007/04/slviewer-src-1.14.0.1.zip &#039;&#039;&#039;1.14.0.1&#039;&#039;&#039; viewer]] sources.&lt;br /&gt;
* Explore the archive to &amp;quot;linden/indra/newview/res&amp;quot; folder and extract content to your &amp;quot;linden/indra/newview/res&amp;quot; folder into current revision.&lt;br /&gt;
Missing folder in recent release, &amp;quot;&#039;&#039;&#039;1.17.0.12&#039;&#039;&#039;&amp;quot; which causes the SecondLife to hang while loading into the world.&lt;br /&gt;
* Go to the previous source and copy the missing folder, &amp;quot;Character&amp;quot; and place it into the &amp;quot;newview&amp;quot; folder&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Error code from &amp;quot;Copying message template&amp;quot; ==&lt;br /&gt;
* &#039;&#039;newview error PRJ0019: A tool returned an error code from &amp;quot;Copying message template&amp;quot;&#039;&#039;&lt;br /&gt;
This is caused by the script trying to do a copy command, but the source path isn&#039;t in quotes.  Open up newview.vcproj in notepad, and near the bottom there are 4 line that say:&lt;br /&gt;
     CommandLine=&amp;quot;copy $(InputPath) .\app_settings\message_template.msg&lt;br /&gt;
replace them with&lt;br /&gt;
     CommandLine=&amp;quot;copy &amp;amp;amp;quot;$(InputPath)&amp;amp;amp;quot; .\app_settings\message_template.msg&lt;br /&gt;
The source and destination paths on line 158 may also require wrapping in quotes.  In which case:&lt;br /&gt;
     CommandLine=&amp;quot;copy $(TargetDir)\$(TargetFileName) $(ProjectDir)&lt;br /&gt;
should become:&lt;br /&gt;
     CommandLine=&amp;quot;copy &amp;amp;amp;quot;$(TargetDir)\$(TargetFileName)&amp;amp;amp;quot; &amp;amp;amp;quot;$(ProjectDir)&amp;amp;amp;quot;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Can not find library ll*.lib ==&lt;br /&gt;
If you get a compile error for missing libraries with names of the projects (lscript_compile.lib, llaudio.lib, llcharacter.lib, etc.) go to newview &amp;gt; Properties &amp;gt; Linker &amp;gt; Input and remove these from the list of input libraries (they will be linked through the dependencies and should not be in the list).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;windows.h&#039; ==&lt;br /&gt;
If you run into this problem:&lt;br /&gt;
 ..\..\..\boost/regex/v4/fileiter.hpp(44) : fatal error C1083: Cannot open include file: &#039;windows.h&#039;: No such file or directory&lt;br /&gt;
Fix it with this: (thanks Fairlight!)&lt;br /&gt;
 set INCLUDE=C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include;%INCLUDE%&lt;br /&gt;
 set LIB=C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib;%LIB%&lt;br /&gt;
You might need to edit the above path to refer to your particular platform SDK.  If you don&#039;t have the Microsoft Windows Platform SDK installed, then you can download it for free from Microsoft.  It is version specific and can be tricky to find on their website.&lt;br /&gt;
&lt;br /&gt;
If you&#039;re having problems with windows.h in Visual Studio Express 2005, check out this forum post:&lt;br /&gt;
[http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1995837&amp;amp;SiteID=1 MSDN Forum Post]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unresolved external symbol &amp;quot;int __cdecl lscript_compile&amp;quot; (VS2005) ==&lt;br /&gt;
* &#039;&#039;llcompilequeue.obj : error LNK2019: unresolved external symbol &amp;quot;int __cdecl lscript_compile(char const *,char const *,char const *,int)&amp;quot; (?lscript_compile@@YAHPBD00H@Z) referenced in function &amp;quot;protected: void __thiscall LLFloaterCompileQueue::compile(char const *,class LLUUID const &amp;amp;)&amp;quot; (?compile@LLFloaterCompileQueue@@IAEXPBDABVLLUUID@@@Z)&#039;&#039;&lt;br /&gt;
* &#039;&#039;llpreviewscript.obj : error LNK2001: unresolved external symbol &amp;quot;int __cdecl lscript_compile(char const *,char const *,char const *,int)&amp;quot; (?lscript_compile@@YAHPBD00H@Z)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is not entirely clear, but there seems to be a problem with VS2005 if projects are unloaded while being in the dependency tree.  I have seen this error while I had win_crash_logger and win_updater unloaded from the project tree and the problem went away when I loaded them back and excluded them from the newview dependency first.&lt;br /&gt;
&lt;br /&gt;
Also make sure that in newview, properties, linker, input, input libraries, no libraries named ll*.lib and lscript_compile.lib are listed there (remove them if you find them).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unresolved external symbol __invalid_parameter_noinfo (VS2005) ==&lt;br /&gt;
* &#039;&#039;llmozlib-vc80.lib(llembeddedbrowserwindow.obj) : error LNK2019: unresolved external symbol __invalid_parameter_noinfo referenced&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You are most likely trying a debug build under VS2005.  For debug builds, see the compile instruction section on [[finding_leaks]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cannot open include file: &#039;ares.h&#039; ==&lt;br /&gt;
download src from http://daniel.haxx.se/projects/c-ares/&lt;br /&gt;
&lt;br /&gt;
compile c-ares-1.4.0/vc/areslib&lt;br /&gt;
&lt;br /&gt;
copy c-ares-1.4.0/vc/areslib/Release/areslib.lib to linden/libraries/i686-win32/lib_release and to lib_debug&lt;br /&gt;
&lt;br /&gt;
copy c-ares-1.4.0/*.h to linden/libraries/i686-win32/include/ares&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Other (older) notes ==&lt;br /&gt;
* Mozilla is not compatible with visual studio 2005, so we have not migrated the codebase, so we do not know if it works. &lt;br /&gt;
&lt;br /&gt;
* Added my errors at [[User:Adam_Zaius/MSVS2005 Errors]] [[User:Adam Zaius|Adam Zaius]] 09:40, 8 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
* To minimize the number of warnings for now: in C/C++-Preprocessor add &#039;;_CRT_SECURE_NO_DEPRECATE&#039; to the Preprocessor Definitions, that will supress deprecation warnings --[[User:Artm Udal|Artm Udal]] 12:42, 8 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Mac OS X =&lt;br /&gt;
&lt;br /&gt;
Getting:&lt;br /&gt;
&lt;br /&gt;
*/linden/indra/newview/../llwindow/llglheaders.h:377:31: error: GL/glh_extensions.h: No such file or directory&lt;br /&gt;
** This means you didn&#039;t [[Compiling the viewer (Mac OS X)#Viewer Source, Libraries, and Artwork|merge the libraries]] right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Linux = &lt;br /&gt;
&lt;br /&gt;
==== Packaging errors ====&lt;br /&gt;
&lt;br /&gt;
The final packaging step may fail with errors about the manifest if you are not using the &amp;lt;i&amp;gt;slviewer-linux-libs&amp;lt;/i&amp;gt; bundle; in this case, if you still wish to end up with an end-user viewer package incorporating your own libraries, you can edit the manifest file found at &amp;lt;b&amp;gt;indra/newview/viewer_manifest.py&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Various Compilation problems ====&lt;br /&gt;
* g++-3.4 -o linux_crash_logger/linux-crash-logger-i686-bin-globalsyms --no-keep-memory --reduce-memory-overheads /tmp/paul/home/paul/builds/secondlife/src/linden/indra/i686-linux-client-release/llcrashlogger/llcrashlogger.o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/i686-linux-client-release/linux_crash_logger/linux_crash_logger.o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/i686-linux-client-release/linux_crash_logger/llcrashloggerlinux.o -Llib_release_client/i686-linux -L/home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client -lllui -lllxml -lllmessage -lllvfs -lllmath -lllcommon -lcurl -lssl -lcrypto -laprutil-1 -lapr-1 -lcares -lexpat -ldb-4.2 -lgtk-x11-2.0&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libcurl.a when searching for -lcurl&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libssl.so when searching for -lssl&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libcrypto.so when searching for -lcrypto&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libaprutil-1.so when searching for -laprutil-1&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libapr-1.so when searching for -lapr-1&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libcares.a when searching for -lcares&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libexpat.so when searching for -lexpat&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libdb-4.2.so when searching for -ldb-4.2&lt;br /&gt;
/usr/bin/ld: cannot find -ldb-4.2&lt;br /&gt;
collect2: ld returned 1 exit status&lt;br /&gt;
&lt;br /&gt;
[paul@myhost secondlife]$ pacman -Q db&lt;br /&gt;
db 4.6.21-2&lt;br /&gt;
&lt;br /&gt;
[paul@myhost secondlife]$ uname -a&lt;br /&gt;
Linux myhost 2.6.23-ARCH #1 SMP PREEMPT Tue Jan 15 07:17:51 CET 2008 x86_64 Intel(R) Celeron(R) CPU 2.66GHz GenuineIntel GNU/Linux&lt;br /&gt;
&lt;br /&gt;
And using:&lt;br /&gt;
source=(&#039;secondlife.desktop&#039; &#039;secondlife.install&#039; &#039;secondlife.launcher&#039; \&lt;br /&gt;
&amp;quot;http://secondlife.com/developers/opensource/downloads/2008/01/slviewer-src-RC-${pkgver}.tar.gz&amp;quot; \&lt;br /&gt;
&#039;http://secondlife.com/developers/opensource/downloads/2007/12/slviewer-artwork-RC-1.18.6.2.zip&#039; \&lt;br /&gt;
&#039;http://secondlife.com/developers/opensource/downloads/2007/12/slviewer-linux-libs-RC-1.18.6.2.tar.gz&#039; \&lt;br /&gt;
&#039;http://www.fmod.org/index.php/release/version/fmodapi375linux.tar.gz&#039; \&lt;br /&gt;
&#039;http://secondlife.com/developers/opensource/downloads/2007/12/llmozlib-src-20071221.tar.gz&#039;)&lt;br /&gt;
&lt;br /&gt;
Hum ok, I was trying to use:&lt;br /&gt;
scons DISTCC=no BTARGET=client BUILD=release MOZLIB=yes&lt;br /&gt;
&lt;br /&gt;
I&#039;ll retry with:&lt;br /&gt;
scons BUILD=release ARCH=x86_64 BTARGET=client DISTCC=no MOZLIB=yes FMOD=yes GSTREAMER=yes STANDALONE=yes&lt;br /&gt;
(Sconstruct says that with STANDALONE=yes -db-4.2 will not be used)&lt;br /&gt;
&lt;br /&gt;
But at the beginning I get:&lt;br /&gt;
scons: Reading SConscript files ...&lt;br /&gt;
Building client 1.18.6.2 on x86_64-linux (release)&lt;br /&gt;
No CCACHE_DIR set.&lt;br /&gt;
&lt;br /&gt;
scons: warning: Two different environments were specified for target /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llcrashlogger/llcrashlogger.o,&lt;br /&gt;
	but they appear to have the same action: $CXX -o $TARGET -c $CXXFLAGS $_CCCOMCOM $SOURCES&lt;br /&gt;
File &amp;quot;/home/paul/builds/secondlife/src/linden/indra/SConstruct&amp;quot;, line 568, in create_executable&lt;br /&gt;
scons: done reading SConscript files.&lt;br /&gt;
scons: Building targets ...&lt;br /&gt;
&lt;br /&gt;
well, the new scons line give different problem:&lt;br /&gt;
g++ -o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.o -c -g -pipe -Wall -Wno-reorder -Wno-trigraphs -Wno-sign-compare -Werror -fexceptions -pthread -D_REENTRANT -fno-math-errno -fsigned-char -fno-strict-aliasing -falign-loops=16 -ffast-math -O2 -D_FORTIFY_SOURCE=2 -DLL_STANDALONE -DLL_MESA_HEADLESS=0 -DLL_MESA=0 -DLL_LINUX=1 -DAPPID=secondlife -DLL_SDL=1 -DLL_FMOD=0 -DLL_X11=1 -DLL_GTK=1 -DLL_LIBXUL_ENABLED=1 -DLL_GSTREAMER_ENABLED=1 -DNDEBUG -DLL_RELEASE=1 -Illcommon -Illmath -Illwindow -Illaudio -Illcharacter -Illcrashlogger -Illdatabase -Illhavok -Illimage -Illinventory -Illmedia -Illmessage -Illprimitive -Illrender -Illscene -Illui -Illvfs -Illwindow -Illxml -Ilscript -Ilscript/lscript_compile -I/home/paul/builds/secondlife/src/linden/libraries/include -I/home/paul/builds/secondlife/src/linden/libraries/include/havok -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include -I/usr/include/atk-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/SDL -I/usr/include/apr-1 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/gstreamer-0.10 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0/include -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/libxml2 /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp&lt;br /&gt;
cc1plus: warnings being treated as errors&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp: In function &#039;const char* OrderToString(LLQuaternion::Order)&#039;:&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:701: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:704: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:707: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:710: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:713: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:716: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
scons: *** [/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.o] Error 1&lt;br /&gt;
scons: building terminated because of errors.&lt;br /&gt;
&lt;br /&gt;
Well, STANDALONE=yes make it use g++ rather than g++-3.4, so I decided to remove it, keeping&lt;br /&gt;
ARCH=X86_64 and others, but I get:&lt;br /&gt;
ranlib lib_release_client/x86_64-linux/libllprimitive.a&lt;br /&gt;
g++-3.4 -o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.o -c -g -pipe -Wall -Wno-reorder -Wno-trigraphs -Wno-sign-compare -Werror -fexceptions -pthread -D_REENTRANT -fno-math-errno -fsigned-char -fno-strict-aliasing -falign-loops=16 -ffast-math -O2 -D_FORTIFY_SOURCE=2 -DLL_MESA_HEADLESS=0 -DLL_MESA=0 -DLL_LINUX=1 -DAPPID=secondlife -DLL_SDL=1 -DLL_FMOD=0 -DLL_X11=1 -DLL_GTK=1 -DLL_LIBXUL_ENABLED=1 -DLL_GSTREAMER_ENABLED=1 -DNDEBUG -DLL_RELEASE=1 -Illcommon -Illmath -Illwindow -Illaudio -Illcharacter -Illcrashlogger -Illdatabase -Illhavok -Illimage -Illinventory -Illmedia -Illmessage -Illprimitive -Illrender -Illscene -Illui -Illvfs -Illwindow -Illxml -Ilscript -Ilscript/lscript_compile -I/home/paul/builds/secondlife/src/linden/libraries/include -I/home/paul/builds/secondlife/src/linden/libraries/include/havok -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/ELFIO -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/atk-1.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/gtk-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/llfreetype2 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/pango-1.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/gstreamer-0.10 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0/include -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/libxml2 /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:41:44: llfreetype2/freetype/ft2build.h: No such file or directory&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:56: error: `FT_Render_Mode&#039; does not name a type&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:60: error: `FT_Library&#039; does not name a type&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp: In constructor `LLFontManager::LLFontManager()&#039;:&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:78: error: `gFTLibrary&#039; was not declared in this scope&lt;br /&gt;
... [many more errors]&lt;br /&gt;
&lt;br /&gt;
oh well, SConstruct says I need: cairo glib-2.0 atk gmobile-2.0 gdk-2.0 gdk-pixbuf-2.0 pango pangoft2 pangox pangoxft gtk+-2.0 sdl vorbis vorbisenc vorbisfile&lt;br /&gt;
&lt;br /&gt;
Maybe this is pangoft2 that is missing.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Unable to initialize communications&amp;quot;&lt;br /&gt;
** If the viewer just displays the error message &amp;quot; Unable to initialize communications&amp;quot; and exits, it can&#039;t find message_template.msg. You did remember to copy it over, right?&lt;br /&gt;
&lt;br /&gt;
* Blino&#039;s SL build/linking patches for &#039;&#039;&#039;gcc4&#039;&#039;&#039;: http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/secondlife/current/&lt;br /&gt;
* objcopy: &amp;lt;b&amp;gt;&#039;newview/linux_tools/exposed-symbols.txt&#039;&amp;lt;/b&amp;gt;: No such file&lt;br /&gt;
** Tofu says... &#039;This is an omission from our manifest which I&#039;ll fix.  Meanwhile it&#039;s a safe fix to create an empty file with that name.&#039;&lt;br /&gt;
&lt;br /&gt;
* Something like: &amp;lt;b&amp;gt;/usr/bin/ld: cannot find -lz&amp;lt;/b&amp;gt;&lt;br /&gt;
** Nadia says: Install the zlib development headers. (Ubuntu package zlib1g-dev, Red Hat zlib-devel.)&lt;br /&gt;
&lt;br /&gt;
* Something like: indra.y.cpp:17: &amp;lt;b&amp;gt;error: previous declaration of `int yyparse()&#039;&amp;lt;/b&amp;gt;&lt;br /&gt;
** Tofu says... &#039;This appears to be a problem with some versions of flex/bison.  A resident reports success when comment out the &amp;lt;i&amp;gt;#ifdef __cplusplus&amp;lt;/i&amp;gt; lines in lscript/lscript_compile/indra.y&#039;&lt;br /&gt;
** Nadia says: install the zlib development headers first and try recompiling. Commenting out those lines results in a error indra.l:666: &amp;lt;b&amp;gt;undefined     &lt;br /&gt;
* Linking failures (&amp;quot;script not found&amp;quot;) due to spaces in the LINKFLAGS variable?&lt;br /&gt;
** I saw a [http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4665538 report], and modified the SConstruct file to drop the trailing arguments (and spaces) in LINKFLAGS.&lt;br /&gt;
&lt;br /&gt;
* Building [https://lists.secondlife.com/pipermail/sldev/2007-January/000091.html 20070112a] using &#039;&#039;BUILD=releasefordownload&#039;&#039; I get many &#039;&#039;[: 89: ==: unexpected operator&#039;&#039; errors; &#039;&#039;cp: target `SecondLife_i686_1_13_1_7/app_settings/*’ is not a directory&#039;&#039; error, and same thing for character, fonts, help, skins, res-sdl; &#039;&#039;[: 111: ==: unexpected operator, [: 120: SecondLife_i686_1_13_1_7.tar.bz2: unexpected operator&#039;&#039;. I can succesfully run the client from the source tree.&lt;br /&gt;
** i think this has been fixed --[[User:Signore Iredell|Signore Iredell]] 06:09, 9 June 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
* scons: *** While building `[&#039;.../linden/indra/i686-linux-client-release/lscript/lscript_compile/indra.l.cpp&#039;]&#039;: Don&#039;t know how to build a file with suffix `.l&#039;.&lt;br /&gt;
** You probably don&#039;t have all the dependencies installed (I had the same problem). Check that you have flex and bison. --[[User:Random73 Janus|Random73 Janus]] 07:43, 16 May 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
* Something like: linden/indra/i686-linux-client-release/llrender/llimagegl.cpp:122: &amp;lt;b&amp;gt;error: `glActiveTextureARB&#039; was not declared in this scope&amp;lt;/b&amp;gt;	 &lt;br /&gt;
** Tofu says... &#039;You&#039;ll need to install OpenGL headers if you don&#039;t already have them: gl.h, glext.h, glu.h (The ones from &#039;mesa&#039; should work)	 &lt;br /&gt;
** two residents report good luck on Gentoo after doing &#039;eselect opengl set xorg-x11&#039; (&amp;lt;b&amp;gt;but note!!&amp;lt;/b&amp;gt; You must know what you&#039;re doing; this may change your default system OpenGL drivers, and you will probably want to change them back again after the compile, e.g. &#039;eselect opengl set nvidia&#039;)&#039;&lt;br /&gt;
&lt;br /&gt;
*Building Shared Library ELFIO [[Compiling_the_viewer_%28Linux%29]] on AMD64 ubuntu 6.10&lt;br /&gt;
     g++-3.4 -shared *.o -o libelfio.so&lt;br /&gt;
     /usr/bin/ld: ELFIDynamic.o: relocation R_X86_64_32 against `a local symbol&#039; can &lt;br /&gt;
     not be used when making a  shared object; recompile with -fPIC&lt;br /&gt;
     ELFIDynamic.o: could not read symbols: Bad value&#039;&#039;&#039;&lt;br /&gt;
** I got around this with &amp;quot;export CXXFLAGS=-fPIC&amp;quot; before configuring ELFIO. &lt;br /&gt;
&lt;br /&gt;
* Building Client on Ubuntu 7.04 AMD64&lt;br /&gt;
     /usr/bin/ld: skipping incompatible /home/dereck/Desktop/SLdev/linden/libraries/i686-linux/lib_release_client/libopenjpeg.a when searching for -lopenjpeg&lt;br /&gt;
     /usr/bin/ld: cannot find -lopenjpeg&lt;br /&gt;
     collect2: ld returned 1 exit status&lt;br /&gt;
** I went to the OpenJPEG website, downloaded the source, compiled for my system, installed it. The VWR compile  was happy after that. Although it&#039;s not done yet and I&#039;m still fixing another error, that I assume is unrelated.&lt;br /&gt;
&lt;br /&gt;
* C-Ares compatability issue.&lt;br /&gt;
Compiling with c-ares version 1.5.1 got a compile error in llares.cpp:&lt;br /&gt;
&lt;br /&gt;
linden/indra/x86_64-linux-client-release/llcommon/llares.cpp: In member function `void LLAres::getHostByName(const char*, LLAres::HostResponder*, int)&#039;:&lt;br /&gt;
&lt;br /&gt;
linden/indra/x86_64-linux-client-release/llcommon/llares.cpp:147: error: invalid conversion from `void (*)(void*, int, hostent*)&#039; to `void (*)(void*, int, int, hostent*)&#039;&lt;br /&gt;
&lt;br /&gt;
Fixed with patch from https://jira.secondlife.com/browse/VWR-3480&lt;br /&gt;
&lt;br /&gt;
==== scons got wild ====&lt;br /&gt;
&lt;br /&gt;
* AttributeError: SConsEnvironment instance has no attribute &#039;CFile&#039;&lt;br /&gt;
: This probably means you have no bison, flex, or equivalent tools installed on the standard locations on your system.&lt;br /&gt;
:* When your system has no bison installed, the above message will be supplemented as:&lt;br /&gt;
 env.CFile(target=build_dir+&#039;/lscript/lscript_compile/indra.y.c&#039;, source=&#039;lscript/lscript_compile/indra.y&#039;)&lt;br /&gt;
:* When your system has no flex installed, the above message will be supplemented as:&lt;br /&gt;
 env.CFile(target=build_dir+&#039;/lscript/lscript_compile/indra.l.cpp&#039;, source=&#039;lscript/lscript_compile/indra.l&#039;)&lt;br /&gt;
: Installing the appropriate package should solve this issue.&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Common_compilation_problems&amp;diff=74337</id>
		<title>Common compilation problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Common_compilation_problems&amp;diff=74337"/>
		<updated>2008-06-25T02:14:18Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: /* Windows */ can&amp;#039;t find unistd.h&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
= General Problems =&lt;br /&gt;
&lt;br /&gt;
*  Make sure you download not only the source, but the artwork zipfile, and the appropriate zipfile/tarball of libraries for your platform&lt;br /&gt;
&lt;br /&gt;
= Windows = &lt;br /&gt;
&lt;br /&gt;
== Viewer 1.19.1.4 ==&lt;br /&gt;
=== C1083: Cannot open include file: &#039;unistd.h&#039; ===&lt;br /&gt;
The DirectX SDK doesn&#039;t automatically insert its include directory into the VS2003 paths. For the June 2008 DirectX SDK release, go to Tools -&amp;gt; Options -&amp;gt; Projects (on left) -&amp;gt; VC++ Directories. On right show directories for Include files, and add:&lt;br /&gt;
* C:\Program Files\Microsoft DirectX SDK (June 2008)\Include&lt;br /&gt;
&lt;br /&gt;
== Unresolved external symbol _CLSID_DxDiagProvider/_IID_IDxDiagProvider ==&lt;br /&gt;
* &#039;&#039;newview error LNK2001: unresolved external symbol _CLSID_DxDiagProvider&#039;&#039;&lt;br /&gt;
* &#039;&#039;newview error LNK2001: unresolved external symbol _IID_IDxDiagProvider&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These errors reportedly occur with MSVC 2003 and certain versions of the DirectX SDK.  To workaround, edit lldxhardware.cpp and replace the following (line 35):&lt;br /&gt;
&lt;br /&gt;
     #include &amp;lt;dxdiag.h&amp;gt;&lt;br /&gt;
with...&lt;br /&gt;
     #define INITGUID&lt;br /&gt;
     #include &amp;lt;dxdiag.h&amp;gt;&lt;br /&gt;
     #undef INITGUID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cannot open input file &#039;dxguid.lib&#039; ==&lt;br /&gt;
* &#039;&#039;fatal error LNK1181: cannot open input file &#039;dxguid.lib&#039; in ...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are using a fairly recent DirectX SDK (&amp;quot;December 2006&amp;quot; or newer), your VC++ Libraries Directory may be wrong because the SDK&#039;s lib folder now has 2 sub-folders for x64 and x86.  Try changing the path from &#039;&#039;C:\Program Files\Microsoft DirectX SDK (December 2006)\Lib&#039;&#039; to &#039;&#039;C:\Program Files\Microsoft DirectX SDK (December 2006)\&#039;&#039; &#039;&#039;&#039;Lib\x86&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open input file &#039;dxerr8.lib&#039; ==&lt;br /&gt;
* &#039;&#039;fatal error LNK1104: cannot open file &#039;dxerr8.lib&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you are using the most recent DirectX SDK (&amp;quot;November 2007&amp;quot;), the file dxerr8.lib does no longer exist. To fix this, you&#039;ll need to change the newview project to include &#039;dxerr9.lib&#039; instead. To do this, right-lick newview &amp;gt; Configuration Properties &amp;gt; Linker &amp;gt; Input, click Additional Dependencies on the right to show a button labeled &amp;quot;...&amp;quot; on it at the very right on the line, then click the ... button. Scroll down the list to find &#039;dxerr8.lib&#039;. Rewrite it to &#039;dxerr9.lib&#039;. Remember to do this for both the ReleaseForDownload and the ReleaseNoOpt Configurations.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== A tool returned an error code from &amp;quot;Building ytab.cpp&amp;quot; ==&lt;br /&gt;
* &#039;&#039;lscript_compile_fb error PRJ0019: A tool returned an error code from &amp;quot;Building ytab.cpp&amp;quot; &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
One possible reason for this is that Visual Studio does not know where cygwin/bin is, especially if this is accompanied by an error relating to bison.exe being an invalid command.  Even if the directory for cygwin is in the environment variable PATH, Visual Studio maintains its own separate copy which does not seem to be automatically synchronized after the initial installation.&lt;br /&gt;
&lt;br /&gt;
For Visual Studio .NET 2003, go to Tools &amp;gt; Options &amp;gt; Projects &amp;gt; VC++ Directories.  In the &amp;quot;show directories for&amp;quot; dropdown, choose &amp;quot;Executable files&amp;quot;.  Make sure that your cygwin (default C:\cygwin\bin) and ActivePython (default C:\Python25) directories are listed.&lt;br /&gt;
&lt;br /&gt;
== Cannot open include file: &#039;ytab.h&#039;: No such file or directory ==&lt;br /&gt;
* &#039;&#039;indra.l (20) : fatal error C1083: Cannot open include file: &#039;ytab.h&#039;: No such file or directory.&#039;&#039;&lt;br /&gt;
Workaround: Manually copy &amp;quot;linden\indra\lscript\lscript_compile\ytab.hpp&amp;quot; to &amp;quot;linden\indra\lscript\lscript_compile\ytab.h&amp;quot; and build again. &lt;br /&gt;
&lt;br /&gt;
Note: The underlying issue is that in indra.y there is a postbuild step which should do this automatically, but which is missing in some configurations (e.g. in Debug builds).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;png.h&#039;: No such file or directory ==&lt;br /&gt;
* &#039;&#039;imagepng.cpp : fatal error C1083: Cannot open include file: &#039;libpng12/png.h&#039;: No such file or directory.&#039;&#039;&lt;br /&gt;
There are a couple of files missing since the 1.17. distribution.  You can either get the missing files from the internet (from the libpng and zlib projects) or download a set with just the missing files from [http://www.blueflash.cc/users/nicholaz/~libs here] (see the readme.txt inside the png archive there).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;glh/glh_linear.h&#039; or &#039;glh/glh_convenience.h&#039; ==&lt;br /&gt;
These files are currently missing from Linden Windlight distributions.  See [https://jira.secondlife.com/browse/VWR-3415 JIRA VWR-3415] or grab a copy from [http://www.blueflash.cc/users/nicholaz/~libs here] and put the files into a folder named linden/libraries/include/glh.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[LearCale]] -- as of 1.19, these appear to need to be in linden/libraries/include/GL .&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Errors relating to &amp;quot;template_verifier.py&amp;quot; ==&lt;br /&gt;
With version 1.18 a template verifier script written in Python is used to ensure the message template is correct.  In some distributions the file was missing.  You will also get an error if you have skipped the Python install.  In both cases it is safe to hack the prebuild.bat file in the newview folder as described on the JIRA [http://jira.secondlife.com/browse/VWR-1267 VWR-1267]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Missing resources ==&lt;br /&gt;
* &#039;&#039;.\res\newViewRes.rc(64) : error RC2135 : file not found: ll_icon.ico&#039;&#039;&lt;br /&gt;
Some releases have missing files, which were reported to be last seen in the &#039;&#039;&#039;1.14.0.1&#039;&#039;&#039; release.&lt;br /&gt;
* Go to the [[source downloads]] page and grab the [[http://secondlife.com/developers/opensource/downloads/2007/04/slviewer-src-1.14.0.1.zip &#039;&#039;&#039;1.14.0.1&#039;&#039;&#039; viewer]] sources.&lt;br /&gt;
* Explore the archive to &amp;quot;linden/indra/newview/res&amp;quot; folder and extract content to your &amp;quot;linden/indra/newview/res&amp;quot; folder into current revision.&lt;br /&gt;
Missing folder in recent release, &amp;quot;&#039;&#039;&#039;1.17.0.12&#039;&#039;&#039;&amp;quot; which causes the SecondLife to hang while loading into the world.&lt;br /&gt;
* Go to the previous source and copy the missing folder, &amp;quot;Character&amp;quot; and place it into the &amp;quot;newview&amp;quot; folder&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Error code from &amp;quot;Copying message template&amp;quot; ==&lt;br /&gt;
* &#039;&#039;newview error PRJ0019: A tool returned an error code from &amp;quot;Copying message template&amp;quot;&#039;&#039;&lt;br /&gt;
This is caused by the script trying to do a copy command, but the source path isn&#039;t in quotes.  Open up newview.vcproj in notepad, and near the bottom there are 4 line that say:&lt;br /&gt;
     CommandLine=&amp;quot;copy $(InputPath) .\app_settings\message_template.msg&lt;br /&gt;
replace them with&lt;br /&gt;
     CommandLine=&amp;quot;copy &amp;amp;amp;quot;$(InputPath)&amp;amp;amp;quot; .\app_settings\message_template.msg&lt;br /&gt;
The source and destination paths on line 158 may also require wrapping in quotes.  In which case:&lt;br /&gt;
     CommandLine=&amp;quot;copy $(TargetDir)\$(TargetFileName) $(ProjectDir)&lt;br /&gt;
should become:&lt;br /&gt;
     CommandLine=&amp;quot;copy &amp;amp;amp;quot;$(TargetDir)\$(TargetFileName)&amp;amp;amp;quot; &amp;amp;amp;quot;$(ProjectDir)&amp;amp;amp;quot;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Can not find library ll*.lib ==&lt;br /&gt;
If you get a compile error for missing libraries with names of the projects (lscript_compile.lib, llaudio.lib, llcharacter.lib, etc.) go to newview &amp;gt; Properties &amp;gt; Linker &amp;gt; Input and remove these from the list of input libraries (they will be linked through the dependencies and should not be in the list).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
== Cannot open include file: &#039;windows.h&#039; ==&lt;br /&gt;
If you run into this problem:&lt;br /&gt;
 ..\..\..\boost/regex/v4/fileiter.hpp(44) : fatal error C1083: Cannot open include file: &#039;windows.h&#039;: No such file or directory&lt;br /&gt;
Fix it with this: (thanks Fairlight!)&lt;br /&gt;
 set INCLUDE=C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include;%INCLUDE%&lt;br /&gt;
 set LIB=C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib;%LIB%&lt;br /&gt;
You might need to edit the above path to refer to your particular platform SDK.  If you don&#039;t have the Microsoft Windows Platform SDK installed, then you can download it for free from Microsoft.  It is version specific and can be tricky to find on their website.&lt;br /&gt;
&lt;br /&gt;
If you&#039;re having problems with windows.h in Visual Studio Express 2005, check out this forum post:&lt;br /&gt;
[http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1995837&amp;amp;SiteID=1 MSDN Forum Post]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unresolved external symbol &amp;quot;int __cdecl lscript_compile&amp;quot; (VS2005) ==&lt;br /&gt;
* &#039;&#039;llcompilequeue.obj : error LNK2019: unresolved external symbol &amp;quot;int __cdecl lscript_compile(char const *,char const *,char const *,int)&amp;quot; (?lscript_compile@@YAHPBD00H@Z) referenced in function &amp;quot;protected: void __thiscall LLFloaterCompileQueue::compile(char const *,class LLUUID const &amp;amp;)&amp;quot; (?compile@LLFloaterCompileQueue@@IAEXPBDABVLLUUID@@@Z)&#039;&#039;&lt;br /&gt;
* &#039;&#039;llpreviewscript.obj : error LNK2001: unresolved external symbol &amp;quot;int __cdecl lscript_compile(char const *,char const *,char const *,int)&amp;quot; (?lscript_compile@@YAHPBD00H@Z)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is not entirely clear, but there seems to be a problem with VS2005 if projects are unloaded while being in the dependency tree.  I have seen this error while I had win_crash_logger and win_updater unloaded from the project tree and the problem went away when I loaded them back and excluded them from the newview dependency first.&lt;br /&gt;
&lt;br /&gt;
Also make sure that in newview, properties, linker, input, input libraries, no libraries named ll*.lib and lscript_compile.lib are listed there (remove them if you find them).&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unresolved external symbol __invalid_parameter_noinfo (VS2005) ==&lt;br /&gt;
* &#039;&#039;llmozlib-vc80.lib(llembeddedbrowserwindow.obj) : error LNK2019: unresolved external symbol __invalid_parameter_noinfo referenced&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You are most likely trying a debug build under VS2005.  For debug builds, see the compile instruction section on [[finding_leaks]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cannot open include file: &#039;ares.h&#039; ==&lt;br /&gt;
download src from http://daniel.haxx.se/projects/c-ares/&lt;br /&gt;
&lt;br /&gt;
compile c-ares-1.4.0/vc/areslib&lt;br /&gt;
&lt;br /&gt;
copy c-ares-1.4.0/vc/areslib/Release/areslib.lib to linden/libraries/i686-win32/lib_release and to lib_debug&lt;br /&gt;
&lt;br /&gt;
copy c-ares-1.4.0/*.h to linden/libraries/i686-win32/include/ares&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Other (older) notes ==&lt;br /&gt;
* Mozilla is not compatible with visual studio 2005, so we have not migrated the codebase, so we do not know if it works. &lt;br /&gt;
&lt;br /&gt;
* Added my errors at [[User:Adam_Zaius/MSVS2005 Errors]] [[User:Adam Zaius|Adam Zaius]] 09:40, 8 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
* To minimize the number of warnings for now: in C/C++-Preprocessor add &#039;;_CRT_SECURE_NO_DEPRECATE&#039; to the Preprocessor Definitions, that will supress deprecation warnings --[[User:Artm Udal|Artm Udal]] 12:42, 8 January 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Mac OS X =&lt;br /&gt;
&lt;br /&gt;
Getting:&lt;br /&gt;
&lt;br /&gt;
*/linden/indra/newview/../llwindow/llglheaders.h:377:31: error: GL/glh_extensions.h: No such file or directory&lt;br /&gt;
** This means you didn&#039;t [[Compiling the viewer (Mac OS X)#Viewer Source, Libraries, and Artwork|merge the libraries]] right.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Linux = &lt;br /&gt;
&lt;br /&gt;
==== Packaging errors ====&lt;br /&gt;
&lt;br /&gt;
The final packaging step may fail with errors about the manifest if you are not using the &amp;lt;i&amp;gt;slviewer-linux-libs&amp;lt;/i&amp;gt; bundle; in this case, if you still wish to end up with an end-user viewer package incorporating your own libraries, you can edit the manifest file found at &amp;lt;b&amp;gt;indra/newview/viewer_manifest.py&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Various Compilation problems ====&lt;br /&gt;
* g++-3.4 -o linux_crash_logger/linux-crash-logger-i686-bin-globalsyms --no-keep-memory --reduce-memory-overheads /tmp/paul/home/paul/builds/secondlife/src/linden/indra/i686-linux-client-release/llcrashlogger/llcrashlogger.o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/i686-linux-client-release/linux_crash_logger/linux_crash_logger.o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/i686-linux-client-release/linux_crash_logger/llcrashloggerlinux.o -Llib_release_client/i686-linux -L/home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client -lllui -lllxml -lllmessage -lllvfs -lllmath -lllcommon -lcurl -lssl -lcrypto -laprutil-1 -lapr-1 -lcares -lexpat -ldb-4.2 -lgtk-x11-2.0&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libcurl.a when searching for -lcurl&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libssl.so when searching for -lssl&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libcrypto.so when searching for -lcrypto&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libaprutil-1.so when searching for -laprutil-1&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libapr-1.so when searching for -lapr-1&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libcares.a when searching for -lcares&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libexpat.so when searching for -lexpat&lt;br /&gt;
/usr/bin/ld: skipping incompatible /home/paul/builds/secondlife/src/linden/libraries/i686-linux/lib_release_client/libdb-4.2.so when searching for -ldb-4.2&lt;br /&gt;
/usr/bin/ld: cannot find -ldb-4.2&lt;br /&gt;
collect2: ld returned 1 exit status&lt;br /&gt;
&lt;br /&gt;
[paul@myhost secondlife]$ pacman -Q db&lt;br /&gt;
db 4.6.21-2&lt;br /&gt;
&lt;br /&gt;
[paul@myhost secondlife]$ uname -a&lt;br /&gt;
Linux myhost 2.6.23-ARCH #1 SMP PREEMPT Tue Jan 15 07:17:51 CET 2008 x86_64 Intel(R) Celeron(R) CPU 2.66GHz GenuineIntel GNU/Linux&lt;br /&gt;
&lt;br /&gt;
And using:&lt;br /&gt;
source=(&#039;secondlife.desktop&#039; &#039;secondlife.install&#039; &#039;secondlife.launcher&#039; \&lt;br /&gt;
&amp;quot;http://secondlife.com/developers/opensource/downloads/2008/01/slviewer-src-RC-${pkgver}.tar.gz&amp;quot; \&lt;br /&gt;
&#039;http://secondlife.com/developers/opensource/downloads/2007/12/slviewer-artwork-RC-1.18.6.2.zip&#039; \&lt;br /&gt;
&#039;http://secondlife.com/developers/opensource/downloads/2007/12/slviewer-linux-libs-RC-1.18.6.2.tar.gz&#039; \&lt;br /&gt;
&#039;http://www.fmod.org/index.php/release/version/fmodapi375linux.tar.gz&#039; \&lt;br /&gt;
&#039;http://secondlife.com/developers/opensource/downloads/2007/12/llmozlib-src-20071221.tar.gz&#039;)&lt;br /&gt;
&lt;br /&gt;
Hum ok, I was trying to use:&lt;br /&gt;
scons DISTCC=no BTARGET=client BUILD=release MOZLIB=yes&lt;br /&gt;
&lt;br /&gt;
I&#039;ll retry with:&lt;br /&gt;
scons BUILD=release ARCH=x86_64 BTARGET=client DISTCC=no MOZLIB=yes FMOD=yes GSTREAMER=yes STANDALONE=yes&lt;br /&gt;
(Sconstruct says that with STANDALONE=yes -db-4.2 will not be used)&lt;br /&gt;
&lt;br /&gt;
But at the beginning I get:&lt;br /&gt;
scons: Reading SConscript files ...&lt;br /&gt;
Building client 1.18.6.2 on x86_64-linux (release)&lt;br /&gt;
No CCACHE_DIR set.&lt;br /&gt;
&lt;br /&gt;
scons: warning: Two different environments were specified for target /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llcrashlogger/llcrashlogger.o,&lt;br /&gt;
	but they appear to have the same action: $CXX -o $TARGET -c $CXXFLAGS $_CCCOMCOM $SOURCES&lt;br /&gt;
File &amp;quot;/home/paul/builds/secondlife/src/linden/indra/SConstruct&amp;quot;, line 568, in create_executable&lt;br /&gt;
scons: done reading SConscript files.&lt;br /&gt;
scons: Building targets ...&lt;br /&gt;
&lt;br /&gt;
well, the new scons line give different problem:&lt;br /&gt;
g++ -o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.o -c -g -pipe -Wall -Wno-reorder -Wno-trigraphs -Wno-sign-compare -Werror -fexceptions -pthread -D_REENTRANT -fno-math-errno -fsigned-char -fno-strict-aliasing -falign-loops=16 -ffast-math -O2 -D_FORTIFY_SOURCE=2 -DLL_STANDALONE -DLL_MESA_HEADLESS=0 -DLL_MESA=0 -DLL_LINUX=1 -DAPPID=secondlife -DLL_SDL=1 -DLL_FMOD=0 -DLL_X11=1 -DLL_GTK=1 -DLL_LIBXUL_ENABLED=1 -DLL_GSTREAMER_ENABLED=1 -DNDEBUG -DLL_RELEASE=1 -Illcommon -Illmath -Illwindow -Illaudio -Illcharacter -Illcrashlogger -Illdatabase -Illhavok -Illimage -Illinventory -Illmedia -Illmessage -Illprimitive -Illrender -Illscene -Illui -Illvfs -Illwindow -Illxml -Ilscript -Ilscript/lscript_compile -I/home/paul/builds/secondlife/src/linden/libraries/include -I/home/paul/builds/secondlife/src/linden/libraries/include/havok -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include -I/usr/include/atk-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/SDL -I/usr/include/apr-1 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/gstreamer-0.10 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0/include -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/libxml2 /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp&lt;br /&gt;
cc1plus: warnings being treated as errors&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp: In function &#039;const char* OrderToString(LLQuaternion::Order)&#039;:&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:701: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:704: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:707: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:710: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:713: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.cpp:716: warning: deprecated conversion from string constant to &#039;char*&#039;&lt;br /&gt;
scons: *** [/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llmath/llquaternion.o] Error 1&lt;br /&gt;
scons: building terminated because of errors.&lt;br /&gt;
&lt;br /&gt;
Well, STANDALONE=yes make it use g++ rather than g++-3.4, so I decided to remove it, keeping&lt;br /&gt;
ARCH=X86_64 and others, but I get:&lt;br /&gt;
ranlib lib_release_client/x86_64-linux/libllprimitive.a&lt;br /&gt;
g++-3.4 -o /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.o -c -g -pipe -Wall -Wno-reorder -Wno-trigraphs -Wno-sign-compare -Werror -fexceptions -pthread -D_REENTRANT -fno-math-errno -fsigned-char -fno-strict-aliasing -falign-loops=16 -ffast-math -O2 -D_FORTIFY_SOURCE=2 -DLL_MESA_HEADLESS=0 -DLL_MESA=0 -DLL_LINUX=1 -DAPPID=secondlife -DLL_SDL=1 -DLL_FMOD=0 -DLL_X11=1 -DLL_GTK=1 -DLL_LIBXUL_ENABLED=1 -DLL_GSTREAMER_ENABLED=1 -DNDEBUG -DLL_RELEASE=1 -Illcommon -Illmath -Illwindow -Illaudio -Illcharacter -Illcrashlogger -Illdatabase -Illhavok -Illimage -Illinventory -Illmedia -Illmessage -Illprimitive -Illrender -Illscene -Illui -Illvfs -Illwindow -Illxml -Ilscript -Ilscript/lscript_compile -I/home/paul/builds/secondlife/src/linden/libraries/include -I/home/paul/builds/secondlife/src/linden/libraries/include/havok -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/ELFIO -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/atk-1.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/gtk-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/llfreetype2 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/pango-1.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/gstreamer-0.10 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0 -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/glib-2.0/include -I/home/paul/builds/secondlife/src/linden/libraries/x86_64-linux/include/libxml2 /tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:41:44: llfreetype2/freetype/ft2build.h: No such file or directory&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:56: error: `FT_Render_Mode&#039; does not name a type&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:60: error: `FT_Library&#039; does not name a type&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp: In constructor `LLFontManager::LLFontManager()&#039;:&lt;br /&gt;
/tmp/paul/home/paul/builds/secondlife/src/linden/indra/x86_64-linux-client-release/llrender/llfont.cpp:78: error: `gFTLibrary&#039; was not declared in this scope&lt;br /&gt;
... [many more errors]&lt;br /&gt;
&lt;br /&gt;
oh well, SConstruct says I need: cairo glib-2.0 atk gmobile-2.0 gdk-2.0 gdk-pixbuf-2.0 pango pangoft2 pangox pangoxft gtk+-2.0 sdl vorbis vorbisenc vorbisfile&lt;br /&gt;
&lt;br /&gt;
Maybe this is pangoft2 that is missing.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Unable to initialize communications&amp;quot;&lt;br /&gt;
** If the viewer just displays the error message &amp;quot; Unable to initialize communications&amp;quot; and exits, it can&#039;t find message_template.msg. You did remember to copy it over, right?&lt;br /&gt;
&lt;br /&gt;
* Blino&#039;s SL build/linking patches for &#039;&#039;&#039;gcc4&#039;&#039;&#039;: http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/secondlife/current/&lt;br /&gt;
* objcopy: &amp;lt;b&amp;gt;&#039;newview/linux_tools/exposed-symbols.txt&#039;&amp;lt;/b&amp;gt;: No such file&lt;br /&gt;
** Tofu says... &#039;This is an omission from our manifest which I&#039;ll fix.  Meanwhile it&#039;s a safe fix to create an empty file with that name.&#039;&lt;br /&gt;
&lt;br /&gt;
* Something like: &amp;lt;b&amp;gt;/usr/bin/ld: cannot find -lz&amp;lt;/b&amp;gt;&lt;br /&gt;
** Nadia says: Install the zlib development headers. (Ubuntu package zlib1g-dev, Red Hat zlib-devel.)&lt;br /&gt;
&lt;br /&gt;
* Something like: indra.y.cpp:17: &amp;lt;b&amp;gt;error: previous declaration of `int yyparse()&#039;&amp;lt;/b&amp;gt;&lt;br /&gt;
** Tofu says... &#039;This appears to be a problem with some versions of flex/bison.  A resident reports success when comment out the &amp;lt;i&amp;gt;#ifdef __cplusplus&amp;lt;/i&amp;gt; lines in lscript/lscript_compile/indra.y&#039;&lt;br /&gt;
** Nadia says: install the zlib development headers first and try recompiling. Commenting out those lines results in a error indra.l:666: &amp;lt;b&amp;gt;undefined     &lt;br /&gt;
* Linking failures (&amp;quot;script not found&amp;quot;) due to spaces in the LINKFLAGS variable?&lt;br /&gt;
** I saw a [http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4665538 report], and modified the SConstruct file to drop the trailing arguments (and spaces) in LINKFLAGS.&lt;br /&gt;
&lt;br /&gt;
* Building [https://lists.secondlife.com/pipermail/sldev/2007-January/000091.html 20070112a] using &#039;&#039;BUILD=releasefordownload&#039;&#039; I get many &#039;&#039;[: 89: ==: unexpected operator&#039;&#039; errors; &#039;&#039;cp: target `SecondLife_i686_1_13_1_7/app_settings/*’ is not a directory&#039;&#039; error, and same thing for character, fonts, help, skins, res-sdl; &#039;&#039;[: 111: ==: unexpected operator, [: 120: SecondLife_i686_1_13_1_7.tar.bz2: unexpected operator&#039;&#039;. I can succesfully run the client from the source tree.&lt;br /&gt;
** i think this has been fixed --[[User:Signore Iredell|Signore Iredell]] 06:09, 9 June 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
* scons: *** While building `[&#039;.../linden/indra/i686-linux-client-release/lscript/lscript_compile/indra.l.cpp&#039;]&#039;: Don&#039;t know how to build a file with suffix `.l&#039;.&lt;br /&gt;
** You probably don&#039;t have all the dependencies installed (I had the same problem). Check that you have flex and bison. --[[User:Random73 Janus|Random73 Janus]] 07:43, 16 May 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
* Something like: linden/indra/i686-linux-client-release/llrender/llimagegl.cpp:122: &amp;lt;b&amp;gt;error: `glActiveTextureARB&#039; was not declared in this scope&amp;lt;/b&amp;gt;	 &lt;br /&gt;
** Tofu says... &#039;You&#039;ll need to install OpenGL headers if you don&#039;t already have them: gl.h, glext.h, glu.h (The ones from &#039;mesa&#039; should work)	 &lt;br /&gt;
** two residents report good luck on Gentoo after doing &#039;eselect opengl set xorg-x11&#039; (&amp;lt;b&amp;gt;but note!!&amp;lt;/b&amp;gt; You must know what you&#039;re doing; this may change your default system OpenGL drivers, and you will probably want to change them back again after the compile, e.g. &#039;eselect opengl set nvidia&#039;)&#039;&lt;br /&gt;
&lt;br /&gt;
*Building Shared Library ELFIO [[Compiling_the_viewer_%28Linux%29]] on AMD64 ubuntu 6.10&lt;br /&gt;
     g++-3.4 -shared *.o -o libelfio.so&lt;br /&gt;
     /usr/bin/ld: ELFIDynamic.o: relocation R_X86_64_32 against `a local symbol&#039; can &lt;br /&gt;
     not be used when making a  shared object; recompile with -fPIC&lt;br /&gt;
     ELFIDynamic.o: could not read symbols: Bad value&#039;&#039;&#039;&lt;br /&gt;
** I got around this with &amp;quot;export CXXFLAGS=-fPIC&amp;quot; before configuring ELFIO. &lt;br /&gt;
&lt;br /&gt;
* Building Client on Ubuntu 7.04 AMD64&lt;br /&gt;
     /usr/bin/ld: skipping incompatible /home/dereck/Desktop/SLdev/linden/libraries/i686-linux/lib_release_client/libopenjpeg.a when searching for -lopenjpeg&lt;br /&gt;
     /usr/bin/ld: cannot find -lopenjpeg&lt;br /&gt;
     collect2: ld returned 1 exit status&lt;br /&gt;
** I went to the OpenJPEG website, downloaded the source, compiled for my system, installed it. The VWR compile  was happy after that. Although it&#039;s not done yet and I&#039;m still fixing another error, that I assume is unrelated.&lt;br /&gt;
&lt;br /&gt;
* C-Ares compatability issue.&lt;br /&gt;
Compiling with c-ares version 1.5.1 got a compile error in llares.cpp:&lt;br /&gt;
&lt;br /&gt;
linden/indra/x86_64-linux-client-release/llcommon/llares.cpp: In member function `void LLAres::getHostByName(const char*, LLAres::HostResponder*, int)&#039;:&lt;br /&gt;
&lt;br /&gt;
linden/indra/x86_64-linux-client-release/llcommon/llares.cpp:147: error: invalid conversion from `void (*)(void*, int, hostent*)&#039; to `void (*)(void*, int, int, hostent*)&#039;&lt;br /&gt;
&lt;br /&gt;
Fixed with patch from https://jira.secondlife.com/browse/VWR-3480&lt;br /&gt;
&lt;br /&gt;
==== scons got wild ====&lt;br /&gt;
&lt;br /&gt;
* AttributeError: SConsEnvironment instance has no attribute &#039;CFile&#039;&lt;br /&gt;
: This probably means you have no bison, flex, or equivalent tools installed on the standard locations on your system.&lt;br /&gt;
:* When your system has no bison installed, the above message will be supplemented as:&lt;br /&gt;
 env.CFile(target=build_dir+&#039;/lscript/lscript_compile/indra.y.c&#039;, source=&#039;lscript/lscript_compile/indra.y&#039;)&lt;br /&gt;
:* When your system has no flex installed, the above message will be supplemented as:&lt;br /&gt;
 env.CFile(target=build_dir+&#039;/lscript/lscript_compile/indra.l.cpp&#039;, source=&#039;lscript/lscript_compile/indra.l&#039;)&lt;br /&gt;
: Installing the appropriate package should solve this issue.&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=NPIOF&amp;diff=74114</id>
		<title>NPIOF</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=NPIOF&amp;diff=74114"/>
		<updated>2008-06-24T08:43:48Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: I need a defintion page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NPIOF - an abbreviation for &amp;quot;No Payment Info on File&amp;quot;&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2003)&amp;diff=73913</id>
		<title>Compiling the viewer (MSVS2003)</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2003)&amp;diff=73913"/>
		<updated>2008-06-23T15:22:15Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: /* Visual Studio .NET 2003 Professional */ list reformat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
The following instructions are for compiling the Second Life viewer on Windows for Visual Studio .Net 2003.  If you are using more recent versions of Visual Studio, see [[Compiling the viewer (MSVS2005)]]. For other platforms including MacOS and Linux, see [[Compiling the viewer]].&lt;br /&gt;
&lt;br /&gt;
If you get lost, or these instructions are incomplete, see [[communication tools]] for a list of ways to get in touch with people that can help.&lt;br /&gt;
&lt;br /&gt;
== Development Environment ==&lt;br /&gt;
The following dev environment is what LL uses for Windows development.  There is no reason that the Second Life viewer can not be built using other environments, but it will take some extra work.&lt;br /&gt;
&lt;br /&gt;
(Instructions for building the viewer using Microsoft&#039;s Visual Studio .NET 2005 Express can be found [[Compiling the viewer (MSVS2005)|on another page]]. At the time of writing, Express was freely available.)&lt;br /&gt;
&lt;br /&gt;
=== Visual Studio .NET 2003 Professional ===&lt;br /&gt;
* Setup [[Microsoft Visual Studio]].&lt;br /&gt;
&lt;br /&gt;
It is not necessary to install every possible VS2003 component to compile the client source.&lt;br /&gt;
&lt;br /&gt;
For the installation prerequisites, it is not necessary to install the Internet Information Server (IIS) or SQL Server 2000.&lt;br /&gt;
&lt;br /&gt;
Only the following components are absolutely needed in VS2003:&lt;br /&gt;
&lt;br /&gt;
Visual Studio .NET Professional (Required)&amp;lt;br&amp;gt;&lt;br /&gt;
1.2 Visual C++ .NET&amp;lt;br&amp;gt;&lt;br /&gt;
1.2.1 Visual C++ Class &amp;amp; Template Libraries&amp;lt;br&amp;gt;&lt;br /&gt;
1.2.2 Visual C++ Run-Time Libraries&amp;lt;br&amp;gt;&lt;br /&gt;
1.2.2.1 Visual C++ Dynamic CRT Libraries&amp;lt;br&amp;gt;&lt;br /&gt;
1.2.2.2 Visual C++ CRT Source Code&amp;lt;br&amp;gt;&lt;br /&gt;
1.2.2.3 Visual C++ Static Single-Threaded CRT Libraries&amp;lt;br&amp;gt;&lt;br /&gt;
1.2.2.4 Visual C++ Static Multi-Threaded CRT Libraries&amp;lt;br&amp;gt;&lt;br /&gt;
1.2.3 Visual C++ Tools&amp;lt;br&amp;gt;&lt;br /&gt;
1.2.3.2 Spy++&amp;lt;br&amp;gt;&lt;br /&gt;
1.2.3.5 Visual C++ Error Lookup&amp;lt;br&amp;gt;&lt;br /&gt;
1.6 Tools for Redistributing Applications&amp;lt;br&amp;gt;&lt;br /&gt;
1.6.1 Graphics Library&amp;lt;br&amp;gt;&lt;br /&gt;
1.6.2 Redistributable Merge Modules&lt;br /&gt;
&lt;br /&gt;
=== Other Development Tools === &lt;br /&gt;
You will also need some open source development tools.&lt;br /&gt;
==== Required ====&lt;br /&gt;
* [http://www.cmake.org/ CMake 2.4.8]&lt;br /&gt;
* [http://www.cygwin.com/ Cygwin]&lt;br /&gt;
** When you run the cygwin setup utility make sure you have selected to install &#039;&#039;&#039;patchutils&#039;&#039;&#039;, &#039;&#039;&#039;flex&#039;&#039;&#039;, and &#039;&#039;&#039;bison&#039;&#039;&#039; (all located under &amp;quot;devel&amp;quot;) which are not part of the default install. Older releases (&amp;lt; r79209) had several hardcoded references that expect Cygwin to be installed at &#039;&#039;&#039;C:\cygwin&#039;&#039;&#039; in the project files, however current releases rely on the build environment configuration instead.&lt;br /&gt;
* [http://www.activestate.com/Products/ActivePython/?mp=1 ActivePython 2.3x or later] - Latest Version is 2.5.1.1&lt;br /&gt;
** You should install this if compiling 1.18 or later viewers, or else hack the prebuild .bat files as in [http://jira.secondlife.com/browse/VWR-1267 VWR-1267].&lt;br /&gt;
==== Optional ====&lt;br /&gt;
* ActivePerl was recommended for previous versions on this Wiki, but it currently appears that it is not strictly necessary unless you are planning to build your own version of all libraries (which most likely you don&#039;t want to do).  So for a start it may be safe to skip it.&lt;br /&gt;
*: [http://www.activestate.com/Products/ActivePerl/?mp=1 ActivePerl]&lt;br /&gt;
&lt;br /&gt;
== Source Code ==&lt;br /&gt;
The easiest way to get this working is to get &#039;&#039;&#039;source&#039;&#039;&#039;, &#039;&#039;&#039;artwork&#039;&#039;&#039; and &#039;&#039;&#039;libraries&#039;&#039;&#039; for the same version from the [[source downloads]] page and unpack them all into the same directory/folder, which ideally would be a folder in (or near) the root directory with a short name like &#039;&#039;sl_1_16_0_5&#039;&#039;.&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Avoid folder names with spaces in them (this means avoid putting the project into your &#039;&#039;My Documents&#039;&#039; folder).&lt;br /&gt;
&lt;br /&gt;
== Open Source Libraries ==&lt;br /&gt;
&lt;br /&gt;
Some libraries can be distributed with the SL source and there is a library package available with the source.  As mentioned above (about the source), you can simply extract the &#039;&#039;&#039;library&#039;&#039;&#039; archive and copy the files to your code directory, maintaining the same directory structure.  &lt;br /&gt;
&lt;br /&gt;
If instead you are interested in compiling these libraries from their source (instead of using the above zip file of precompiled libraries provided by Linden Lab), see [[Compiling the viewer libraries (MSVS 2003)]]&lt;br /&gt;
&lt;br /&gt;
== Other Libraries ==&lt;br /&gt;
&lt;br /&gt;
Linden Lab included all the libraries/includes they can ship with their source, but we can not distribute the source to the following, and you will need to follow the instructions to acquire them, below.&lt;br /&gt;
&lt;br /&gt;
These steps are cumbersome and will have to be repeated for each new release (if you keep the source for each release in it&#039;s own folder).  It is a good idea to build an empty directory tree for the files below, then copy these library files there.  Once completed, copy the whole tree to the actual source folder (like &#039;&#039;XCOPY  olibs  sl_1_16_0_5 /S&#039;&#039;).  You will then only need to repeat the last step for each new release, reusing the tree you have already created.&lt;br /&gt;
&lt;br /&gt;
If you do not want to do this, of course you can just copy the files directly into the linden source paths.&lt;br /&gt;
&lt;br /&gt;
 rem OLIBS.CMD to build a folder tree for 3rd party libraries and includes&lt;br /&gt;
 md olibs&lt;br /&gt;
 md olibs\linden\&lt;br /&gt;
 md olibs\linden\libraries&lt;br /&gt;
 md olibs\linden\libraries\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_release&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_debug&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\GL&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\quicktime&lt;br /&gt;
 md olibs\linden\indra&lt;br /&gt;
 md olibs\linden\indra\newview&lt;br /&gt;
&lt;br /&gt;
==== Fmod ====&lt;br /&gt;
* Download &amp;amp; extract [http://www.fmod.org/index.php/download fmod 3.75 api for win32] (&#039;&#039;not&#039;&#039; 4.12).&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod_errors.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\lib\fmodvc.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\lib\fmodvc.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\fmod.dll&amp;quot; to &amp;quot;linden\indra\newview&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== gl (pre-1.20) ====&lt;br /&gt;
* Download [http://oss.sgi.com/projects/ogl-sample/sdk.html glext.h, glxext.h, and wglext.h]&lt;br /&gt;
* Copy them to &amp;quot;linden\libraries\i686-win32\include\GL&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note: From 1.20 forward, LL have found suitable redistributable equivalents and ship them in the source&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Quicktime (Optional) ====&lt;br /&gt;
* &#039;&#039;&#039;Note:&#039;&#039;&#039; Quicktime download can be skipped &#039;&#039;&#039;if you can live with a build that does not play in-world movies&#039;&#039;&#039; (some minor modifications to the project are necessary then, see &amp;quot;QuickTime removal&amp;quot; on the build instructions for [[Compiling the viewer (MSVS2005)|Visual Studio 2005]]).&lt;br /&gt;
* Download &amp;amp; install the [http://developer.apple.com/quicktime/download/ Quicktime SDK for Windows]&lt;br /&gt;
* Copy &amp;quot;QuicktimeSDK\Libraries\QTMLClient.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot;.&lt;br /&gt;
* Copy &amp;quot;QuicktimeSDK\Libraries\QTMLClient.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
* Copy the contents of &amp;quot;QuicktimeSDK\CIncludes&amp;quot; into &amp;quot;linden\libraries\i686-win32\include\quicktime&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
* Go into the &#039;&#039;&#039;indra&#039;&#039;&#039; folder, and run the &#039;&#039;&#039;develop.py&#039;&#039;&#039; script.&lt;br /&gt;
* Open the &#039;&#039;&#039;indra\build-vc71\SecondLife.sln&#039;&#039;&#039; solution in Visual Studio&lt;br /&gt;
* Build either &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; (for debugging) or &#039;&#039;&#039;Release&#039;&#039;&#039; (for running or debugging production code).  See [[#Configurations/Debugging Info]] for details on these configurations.&lt;br /&gt;
** Note that the Release build also contains debug information, and can be run in the debugger.&lt;br /&gt;
* To run the executable outside VS, create a shortcut to SecondLife.exe, and change the start location to linden\indra\newview\ (all the .dll will be found there.)&lt;br /&gt;
** Alternately, copy the exe (possibly rename it) to your &amp;quot;c:\program files\second life&amp;quot; folder.&lt;br /&gt;
* There were additional steps required in version 1.15 which seem to be fixed now.  If you are trying to build 1.15 see an [https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_%28MSVS2003%29&amp;amp;oldid=23026 older version of this page].&lt;br /&gt;
&lt;br /&gt;
== Errors while building? ==&lt;br /&gt;
See [[Common compilation problems]] if you run into errors while building.&lt;br /&gt;
&lt;br /&gt;
== Configurations/Debugging Info ==&lt;br /&gt;
* You will usually compile/debug the &#039;&#039;&#039;RelWithDebInfo&#039;&#039;&#039; or Release configuration (&#039;&#039;&#039;Debug&#039;&#039;&#039; should also work but should not really be necessary).&lt;br /&gt;
* &#039;&#039;&#039;RelWithDebInfo&#039;&#039;&#039; compiles faster and has more debugging information, but this comes at a runtime penalty of about 50% of your FPS in busy areas, compared to ReleaseForDownload build.&lt;br /&gt;
* &#039;&#039;&#039;Release&#039;&#039;&#039; runs fine in the debugger, but times you may miss debugger access to some local variables or the debugger may even show wrong values for objects and members, because it is confused by the optimizations.&lt;br /&gt;
* &#039;&#039;&#039;RelWithDebInfo&#039;&#039;&#039; comes with a seperate debugging console window opens and stays open for the duration of your session.&lt;br /&gt;
* You can see the last few lines from the debugger console also by pressing Shift+Ctrl+4 in the viewer (all builds).&lt;br /&gt;
* The debug log (usually in application data) can also be redirected to a more file if you add &amp;quot;-log secondlife.log&amp;quot; to the command line (Newview, Properties, Debugging, Command line arguments).&lt;br /&gt;
* If you want to build a &#039;&#039;&#039;Debug&#039;&#039;&#039; configuration, see the specific section with compile instructions on [[Finding_leaks]]&lt;br /&gt;
&lt;br /&gt;
== Problems Running? ==&lt;br /&gt;
* Viewer Error: &#039;&#039;&#039;Second Life is unable to access a file that it needs.&#039;&#039;&#039;:  Did you neglect to download the Artworks archive from the [[source downloads]] page?  It is in the Viewer column, below the OS-specific Viewer archives.&lt;br /&gt;
* &#039;&#039;&#039;Can&#039;t connect&#039;&#039;&#039;: In the debug builds there is a selection box on the login screen to select the server to connect to.  &#039;&#039;&#039;Agni&#039;&#039;&#039; is the production grid, &#039;&#039;&#039;aditi&#039;&#039;&#039; is the beta grid.  (There seems to be a bug in this part of the code, you may have to make your selection, close the viewer and reopen it, before you can connect to the selected grid).&lt;br /&gt;
* &#039;&#039;&#039;Inventory errors&#039;&#039;&#039;: If you&#039;re getting errors while trying to load your inventory, try [[Help:Stuck logging in|clearing your cache and deleting other temporary files]].&lt;br /&gt;
* If you want to connect to the beta grid, add &#039;&#039;&#039;--aditi&#039;&#039;&#039; to the command line (Newview, Properties, Debugging, Command line argument).&lt;br /&gt;
* &#039;&#039;&#039;Missing smime3 DLL&#039;&#039;&#039;: Those are parts of the integrated web browser.  Copy &#039;smime3.dll&#039;, &#039;nss3.dll&#039;, &#039;softokn3.dll&#039;, and &#039;ssl3.dll&#039; files from your official client&#039;s main folder to &amp;quot;linden\indra\newview&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;assert with star_brightness&#039;&#039;&#039; and/or &#039;&#039;&#039;Black Screen&#039;&#039;&#039; under &#039;&#039;&#039;Windlight&#039;&#039;&#039;: Current distributions of the Windlight source are missing files from the app_settings/windlight folder.  Download the Linden Windlight viewer, install it and copy the files (and subfolders) into your development environment (linden/indra/newview/app_settings/windlight)&lt;br /&gt;
&lt;br /&gt;
== Submit Patches ==&lt;br /&gt;
This is probably far down the road, but if you make changes to the source and want to submit them, see the page about [[Submitting patches|submitting patches]].&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2003)&amp;diff=73909</id>
		<title>Compiling the viewer (MSVS2003)</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_(MSVS2003)&amp;diff=73909"/>
		<updated>2008-06-23T15:18:26Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: /* Visual Studio .NET 2003 Professional */ Add minimum VS2003 Required Install Components list&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
The following instructions are for compiling the Second Life viewer on Windows for Visual Studio .Net 2003.  If you are using more recent versions of Visual Studio, see [[Compiling the viewer (MSVS2005)]]. For other platforms including MacOS and Linux, see [[Compiling the viewer]].&lt;br /&gt;
&lt;br /&gt;
If you get lost, or these instructions are incomplete, see [[communication tools]] for a list of ways to get in touch with people that can help.&lt;br /&gt;
&lt;br /&gt;
== Development Environment ==&lt;br /&gt;
The following dev environment is what LL uses for Windows development.  There is no reason that the Second Life viewer can not be built using other environments, but it will take some extra work.&lt;br /&gt;
&lt;br /&gt;
(Instructions for building the viewer using Microsoft&#039;s Visual Studio .NET 2005 Express can be found [[Compiling the viewer (MSVS2005)|on another page]]. At the time of writing, Express was freely available.)&lt;br /&gt;
&lt;br /&gt;
=== Visual Studio .NET 2003 Professional ===&lt;br /&gt;
* Setup [[Microsoft Visual Studio]].&lt;br /&gt;
&lt;br /&gt;
It is not necessary to install every possible VS2003 component to compile the client source. For the initial prerequisites, it is not necessary to install the Internet Information Server (IIS) or SQL Server 2000.&lt;br /&gt;
&lt;br /&gt;
Only the following components are absolutely needed in VS2003:&lt;br /&gt;
&lt;br /&gt;
Visual Studio .NET Professional (Required)&lt;br /&gt;
1.2 Visual C++ .NET&lt;br /&gt;
1.2.1 Visual C++ Class &amp;amp; Template Libraries&lt;br /&gt;
1.2.2 Visual C++ Run-Time Libraries&lt;br /&gt;
1.2.2.1 Visual C++ Dynamic CRT Libraries&lt;br /&gt;
1.2.2.2 Visual C++ CRT Source Code&lt;br /&gt;
1.2.2.3 Visual C++ Static Single-Threaded CRT Libraries&lt;br /&gt;
1.2.2.4 Visual C++ Static Multi-Threaded CRT Libraries&lt;br /&gt;
1.2.3 Visual C++ Tools&lt;br /&gt;
1.2.3.2 Spy++&lt;br /&gt;
1.2.3.5 Visual C++ Error Lookup&lt;br /&gt;
1.6 Tools for Redistributing Applications&lt;br /&gt;
1.6.1 Graphics Library&lt;br /&gt;
1.6.2 Redistributable Merge Modules&lt;br /&gt;
&lt;br /&gt;
=== Other Development Tools === &lt;br /&gt;
You will also need some open source development tools.&lt;br /&gt;
==== Required ====&lt;br /&gt;
* [http://www.cmake.org/ CMake 2.4.8]&lt;br /&gt;
* [http://www.cygwin.com/ Cygwin]&lt;br /&gt;
** When you run the cygwin setup utility make sure you have selected to install &#039;&#039;&#039;patchutils&#039;&#039;&#039;, &#039;&#039;&#039;flex&#039;&#039;&#039;, and &#039;&#039;&#039;bison&#039;&#039;&#039; (all located under &amp;quot;devel&amp;quot;) which are not part of the default install. Older releases (&amp;lt; r79209) had several hardcoded references that expect Cygwin to be installed at &#039;&#039;&#039;C:\cygwin&#039;&#039;&#039; in the project files, however current releases rely on the build environment configuration instead.&lt;br /&gt;
* [http://www.activestate.com/Products/ActivePython/?mp=1 ActivePython 2.3x or later] - Latest Version is 2.5.1.1&lt;br /&gt;
** You should install this if compiling 1.18 or later viewers, or else hack the prebuild .bat files as in [http://jira.secondlife.com/browse/VWR-1267 VWR-1267].&lt;br /&gt;
==== Optional ====&lt;br /&gt;
* ActivePerl was recommended for previous versions on this Wiki, but it currently appears that it is not strictly necessary unless you are planning to build your own version of all libraries (which most likely you don&#039;t want to do).  So for a start it may be safe to skip it.&lt;br /&gt;
*: [http://www.activestate.com/Products/ActivePerl/?mp=1 ActivePerl]&lt;br /&gt;
&lt;br /&gt;
== Source Code ==&lt;br /&gt;
The easiest way to get this working is to get &#039;&#039;&#039;source&#039;&#039;&#039;, &#039;&#039;&#039;artwork&#039;&#039;&#039; and &#039;&#039;&#039;libraries&#039;&#039;&#039; for the same version from the [[source downloads]] page and unpack them all into the same directory/folder, which ideally would be a folder in (or near) the root directory with a short name like &#039;&#039;sl_1_16_0_5&#039;&#039;.&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Avoid folder names with spaces in them (this means avoid putting the project into your &#039;&#039;My Documents&#039;&#039; folder).&lt;br /&gt;
&lt;br /&gt;
== Open Source Libraries ==&lt;br /&gt;
&lt;br /&gt;
Some libraries can be distributed with the SL source and there is a library package available with the source.  As mentioned above (about the source), you can simply extract the &#039;&#039;&#039;library&#039;&#039;&#039; archive and copy the files to your code directory, maintaining the same directory structure.  &lt;br /&gt;
&lt;br /&gt;
If instead you are interested in compiling these libraries from their source (instead of using the above zip file of precompiled libraries provided by Linden Lab), see [[Compiling the viewer libraries (MSVS 2003)]]&lt;br /&gt;
&lt;br /&gt;
== Other Libraries ==&lt;br /&gt;
&lt;br /&gt;
Linden Lab included all the libraries/includes they can ship with their source, but we can not distribute the source to the following, and you will need to follow the instructions to acquire them, below.&lt;br /&gt;
&lt;br /&gt;
These steps are cumbersome and will have to be repeated for each new release (if you keep the source for each release in it&#039;s own folder).  It is a good idea to build an empty directory tree for the files below, then copy these library files there.  Once completed, copy the whole tree to the actual source folder (like &#039;&#039;XCOPY  olibs  sl_1_16_0_5 /S&#039;&#039;).  You will then only need to repeat the last step for each new release, reusing the tree you have already created.&lt;br /&gt;
&lt;br /&gt;
If you do not want to do this, of course you can just copy the files directly into the linden source paths.&lt;br /&gt;
&lt;br /&gt;
 rem OLIBS.CMD to build a folder tree for 3rd party libraries and includes&lt;br /&gt;
 md olibs&lt;br /&gt;
 md olibs\linden\&lt;br /&gt;
 md olibs\linden\libraries&lt;br /&gt;
 md olibs\linden\libraries\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_release&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\lib_debug&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\GL&lt;br /&gt;
 md olibs\linden\libraries\i686-win32\include\quicktime&lt;br /&gt;
 md olibs\linden\indra&lt;br /&gt;
 md olibs\linden\indra\newview&lt;br /&gt;
&lt;br /&gt;
==== Fmod ====&lt;br /&gt;
* Download &amp;amp; extract [http://www.fmod.org/index.php/download fmod 3.75 api for win32] (&#039;&#039;not&#039;&#039; 4.12).&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\inc\fmod_errors.h&amp;quot; to &amp;quot;linden\libraries\include&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\lib\fmodvc.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\lib\fmodvc.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;&lt;br /&gt;
* Copy &amp;quot;fmodapi375win\api\fmod.dll&amp;quot; to &amp;quot;linden\indra\newview&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== gl (pre-1.20) ====&lt;br /&gt;
* Download [http://oss.sgi.com/projects/ogl-sample/sdk.html glext.h, glxext.h, and wglext.h]&lt;br /&gt;
* Copy them to &amp;quot;linden\libraries\i686-win32\include\GL&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note: From 1.20 forward, LL have found suitable redistributable equivalents and ship them in the source&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Quicktime (Optional) ====&lt;br /&gt;
* &#039;&#039;&#039;Note:&#039;&#039;&#039; Quicktime download can be skipped &#039;&#039;&#039;if you can live with a build that does not play in-world movies&#039;&#039;&#039; (some minor modifications to the project are necessary then, see &amp;quot;QuickTime removal&amp;quot; on the build instructions for [[Compiling the viewer (MSVS2005)|Visual Studio 2005]]).&lt;br /&gt;
* Download &amp;amp; install the [http://developer.apple.com/quicktime/download/ Quicktime SDK for Windows]&lt;br /&gt;
* Copy &amp;quot;QuicktimeSDK\Libraries\QTMLClient.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_release&amp;quot;.&lt;br /&gt;
* Copy &amp;quot;QuicktimeSDK\Libraries\QTMLClient.lib&amp;quot; to &amp;quot;linden\libraries\i686-win32\lib_debug&amp;quot;.&lt;br /&gt;
* Copy the contents of &amp;quot;QuicktimeSDK\CIncludes&amp;quot; into &amp;quot;linden\libraries\i686-win32\include\quicktime&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
* Go into the &#039;&#039;&#039;indra&#039;&#039;&#039; folder, and run the &#039;&#039;&#039;develop.py&#039;&#039;&#039; script.&lt;br /&gt;
* Open the &#039;&#039;&#039;indra\build-vc71\SecondLife.sln&#039;&#039;&#039; solution in Visual Studio&lt;br /&gt;
* Build either &#039;&#039;&#039;ReleaseNoOpt&#039;&#039;&#039; (for debugging) or &#039;&#039;&#039;Release&#039;&#039;&#039; (for running or debugging production code).  See [[#Configurations/Debugging Info]] for details on these configurations.&lt;br /&gt;
** Note that the Release build also contains debug information, and can be run in the debugger.&lt;br /&gt;
* To run the executable outside VS, create a shortcut to SecondLife.exe, and change the start location to linden\indra\newview\ (all the .dll will be found there.)&lt;br /&gt;
** Alternately, copy the exe (possibly rename it) to your &amp;quot;c:\program files\second life&amp;quot; folder.&lt;br /&gt;
* There were additional steps required in version 1.15 which seem to be fixed now.  If you are trying to build 1.15 see an [https://wiki.secondlife.com/w/index.php?title=Compiling_the_viewer_%28MSVS2003%29&amp;amp;oldid=23026 older version of this page].&lt;br /&gt;
&lt;br /&gt;
== Errors while building? ==&lt;br /&gt;
See [[Common compilation problems]] if you run into errors while building.&lt;br /&gt;
&lt;br /&gt;
== Configurations/Debugging Info ==&lt;br /&gt;
* You will usually compile/debug the &#039;&#039;&#039;RelWithDebInfo&#039;&#039;&#039; or Release configuration (&#039;&#039;&#039;Debug&#039;&#039;&#039; should also work but should not really be necessary).&lt;br /&gt;
* &#039;&#039;&#039;RelWithDebInfo&#039;&#039;&#039; compiles faster and has more debugging information, but this comes at a runtime penalty of about 50% of your FPS in busy areas, compared to ReleaseForDownload build.&lt;br /&gt;
* &#039;&#039;&#039;Release&#039;&#039;&#039; runs fine in the debugger, but times you may miss debugger access to some local variables or the debugger may even show wrong values for objects and members, because it is confused by the optimizations.&lt;br /&gt;
* &#039;&#039;&#039;RelWithDebInfo&#039;&#039;&#039; comes with a seperate debugging console window opens and stays open for the duration of your session.&lt;br /&gt;
* You can see the last few lines from the debugger console also by pressing Shift+Ctrl+4 in the viewer (all builds).&lt;br /&gt;
* The debug log (usually in application data) can also be redirected to a more file if you add &amp;quot;-log secondlife.log&amp;quot; to the command line (Newview, Properties, Debugging, Command line arguments).&lt;br /&gt;
* If you want to build a &#039;&#039;&#039;Debug&#039;&#039;&#039; configuration, see the specific section with compile instructions on [[Finding_leaks]]&lt;br /&gt;
&lt;br /&gt;
== Problems Running? ==&lt;br /&gt;
* Viewer Error: &#039;&#039;&#039;Second Life is unable to access a file that it needs.&#039;&#039;&#039;:  Did you neglect to download the Artworks archive from the [[source downloads]] page?  It is in the Viewer column, below the OS-specific Viewer archives.&lt;br /&gt;
* &#039;&#039;&#039;Can&#039;t connect&#039;&#039;&#039;: In the debug builds there is a selection box on the login screen to select the server to connect to.  &#039;&#039;&#039;Agni&#039;&#039;&#039; is the production grid, &#039;&#039;&#039;aditi&#039;&#039;&#039; is the beta grid.  (There seems to be a bug in this part of the code, you may have to make your selection, close the viewer and reopen it, before you can connect to the selected grid).&lt;br /&gt;
* &#039;&#039;&#039;Inventory errors&#039;&#039;&#039;: If you&#039;re getting errors while trying to load your inventory, try [[Help:Stuck logging in|clearing your cache and deleting other temporary files]].&lt;br /&gt;
* If you want to connect to the beta grid, add &#039;&#039;&#039;--aditi&#039;&#039;&#039; to the command line (Newview, Properties, Debugging, Command line argument).&lt;br /&gt;
* &#039;&#039;&#039;Missing smime3 DLL&#039;&#039;&#039;: Those are parts of the integrated web browser.  Copy &#039;smime3.dll&#039;, &#039;nss3.dll&#039;, &#039;softokn3.dll&#039;, and &#039;ssl3.dll&#039; files from your official client&#039;s main folder to &amp;quot;linden\indra\newview&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;assert with star_brightness&#039;&#039;&#039; and/or &#039;&#039;&#039;Black Screen&#039;&#039;&#039; under &#039;&#039;&#039;Windlight&#039;&#039;&#039;: Current distributions of the Windlight source are missing files from the app_settings/windlight folder.  Download the Linden Windlight viewer, install it and copy the files (and subfolders) into your development environment (linden/indra/newview/app_settings/windlight)&lt;br /&gt;
&lt;br /&gt;
== Submit Patches ==&lt;br /&gt;
This is probably far down the road, but if you make changes to the source and want to submit them, see the page about [[Submitting patches|submitting patches]].&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Ongoing_JIRA_Policy_Debates&amp;diff=73883</id>
		<title>Ongoing JIRA Policy Debates</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Ongoing_JIRA_Policy_Debates&amp;diff=73883"/>
		<updated>2008-06-23T07:38:01Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: update description to match LL policy page description&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;+1&amp;quot;&amp;gt;&#039;&#039;&#039;NOTICE: This page was not created by Linden Lab staff and has not been approved to speak for the company or its employees.&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There have been many requests involving different aspects of LL&#039;s policies on a wide range of topics, however no such centralized page yet exists in the Wiki. The goal of this article is to provide a jumping-off point to existing official policies, as well as non-LL end-user attempts to research and document unofficial policies and planning agendas, and to provide easy-to-find links to ongoing hotbutton policy discussions in the JIRA.&lt;br /&gt;
&lt;br /&gt;
* Back to [[Linden Lab Policies]]&lt;br /&gt;
* Link to [[User-Documented Policies]] and development pages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ongoing JIRA debates ==&lt;br /&gt;
* [https://jira.secondlife.com/browse/MISC-1267 MISC-1267]: Devise better way to discuss hotbutton issues on sldev&lt;br /&gt;
* [https://jira.secondlife.com/browse/MISC-44 MISC-44]: Split off new mailing list from sldev for non-development discussion&lt;br /&gt;
* [https://jira.secondlife.com/browse/SVC-241 SVC-241]: Meta-issue: Improved In-world Privacy&lt;br /&gt;
* [https://jira.secondlife.com/browse/VWR-2909 VWR-2909]: Users are misled into thinking texture permissions do anything.&lt;br /&gt;
* [https://jira.secondlife.com/browse/MISC-1272 MISC-1272]: (Devise methodology to deal with asset transfers to non-SL grids)&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User-Documented_Policies&amp;diff=73882</id>
		<title>User-Documented Policies</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User-Documented_Policies&amp;diff=73882"/>
		<updated>2008-06-23T07:37:40Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: update description to match LL policy page description&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;+1&amp;quot;&amp;gt;&#039;&#039;&#039;NOTICE: This page was not created by Linden Lab staff and has not been approved to speak for the company or its employees.&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There have been many requests involving different aspects of LL&#039;s policies on a wide range of topics, however no such centralized page yet exists in the Wiki. The goal of this article is to provide a jumping-off point to existing official policies, as well as non-LL end-user attempts to research and document unofficial policies and planning agendas, and to provide easy-to-find links to ongoing hotbutton policy discussions in the JIRA.&lt;br /&gt;
&lt;br /&gt;
* Back to [[Linden Lab Policies]]&lt;br /&gt;
* Link to [[Ongoing JIRA Policy Debates]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== User-documented general policies ==&lt;br /&gt;
* [[Proposing Features to LL FAQ | FAQ: Proposing Features to LL]]&lt;br /&gt;
&lt;br /&gt;
== User-documented Viewer policy pages ==&lt;br /&gt;
* [[Unofficial Licensing FAQ | Unofficial Viewer Licensing FAQ]]&lt;br /&gt;
&lt;br /&gt;
== User-contributed Code Development pages ==&lt;br /&gt;
* [[Local data storage methods used in the viewer]]&lt;br /&gt;
* [[SLDEV Discussion - Texture Cache Plan of Attack]]&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Linden_Lab_Policies&amp;diff=73881</id>
		<title>Linden Lab Policies</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Linden_Lab_Policies&amp;diff=73881"/>
		<updated>2008-06-23T07:31:50Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: expand article description&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;+1&amp;quot;&amp;gt;&#039;&#039;&#039;NOTICE: This page was not created by Linden Lab staff and has not been approved to speak for the company or its employees.&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There have been many requests involving different aspects of LL&#039;s policies on a wide range of topics, however no such centralized page yet exists in the Wiki. The goal of this article is to provide a jumping-off point to existing official policies, as well as non-LL end-user attempts to research and document unofficial policies and planning agendas, and to provide easy-to-find links to ongoing hotbutton policy discussions in the JIRA.&lt;br /&gt;
&lt;br /&gt;
* Link to [[User-Documented Policies]] and development pages&lt;br /&gt;
* Link to [[Ongoing JIRA Policy Debates]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Second Life policy pages ==&lt;br /&gt;
* [http://secondlife.com/ Second Life Home Page and links]&lt;br /&gt;
* [http://secondlife.com/corporate/privacy.php Privacy Policy]&lt;br /&gt;
* [http://secondlife.com/corporate/cs.php Community Standards]&lt;br /&gt;
* [http://secondlife.com/corporate/tos.php Terms of Service]&lt;br /&gt;
* [http://secondlife.com/corporate/dmca.php Digital Millenium Copright Act] (Wikipedia Article: [http://en.wikipedia.org/wiki/DMCA DMCA])&lt;br /&gt;
* [http://secondlife.com/corporate/brand/ Second Life Brand Center]&lt;br /&gt;
* [http://secondlife.com/policy/security/ Online Safety]&lt;br /&gt;
* [http://secondlife.com/corporate/vat.php Value-Added Tax (VAT)] (Wikipedia Article: [http://en.wikipedia.org/wiki/VAT VAT])&lt;br /&gt;
* [[What Is Our Antivirus Protection Policy]]&lt;br /&gt;
&lt;br /&gt;
== SL Volunteer pages ==&lt;br /&gt;
* [[Volunteer Portal]]&lt;br /&gt;
* [[Volunteer Title Activation / Conditions]]&lt;br /&gt;
* [[Volunteer Mailing List Guidelines]]&lt;br /&gt;
* [[Quickie Wiki Intro]]&lt;br /&gt;
&lt;br /&gt;
== SL Wiki policy pages ==&lt;br /&gt;
* [[Project:About | About the SL Wiki]]&lt;br /&gt;
* [[Project:Terms of Use | SL Wiki Terms of Use]]&lt;br /&gt;
* [[Project:Editing Guidelines | SL Wiki Editing Guidelines]]&lt;br /&gt;
&lt;br /&gt;
== SL Open-Source / Viewer Design Policies == &lt;br /&gt;
* [[Open Source Portal]]&lt;br /&gt;
* [http://secondlifegrid.net/programs/open_source/faq Open Source Development FAQs]&lt;br /&gt;
* [[Extended FAQ | Open Source Extended FAQ]]&lt;br /&gt;
* [[Viewer Roadmap]]&lt;br /&gt;
* [[SLDev | SLDev: SL Developer Mailing List]]&lt;br /&gt;
* [[Coding Standard]]&lt;br /&gt;
&lt;br /&gt;
== SL Viewer Code Development Pages ==&lt;br /&gt;
* [[Patch Updater Design]]&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Linden_Lab_Policies&amp;diff=73876</id>
		<title>Linden Lab Policies</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Linden_Lab_Policies&amp;diff=73876"/>
		<updated>2008-06-23T06:56:05Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: /* SL Volunteer pages */ Add these back, since they are policy pages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;+1&amp;quot;&amp;gt;&#039;&#039;&#039;NOTICE: This page was not created by Linden Lab staff and has not been approved to speak for the company or its employees.&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There have been many requests involving different aspects of LL&#039;s policies on a wide range of topics, however no such centralized page yet exists in the Wiki. The goal of this article is to provide a jumping-off point to existing official policies, as well as non-LL end-user attempts to research and document unofficial policies and planning agendas.&lt;br /&gt;
&lt;br /&gt;
* Link to [[User-Documented Policies]] and development pages&lt;br /&gt;
* Link to [[Ongoing JIRA Policy Debates]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Second Life policy pages ==&lt;br /&gt;
* [http://secondlife.com/ Second Life Home Page and links]&lt;br /&gt;
* [http://secondlife.com/corporate/privacy.php Privacy Policy]&lt;br /&gt;
* [http://secondlife.com/corporate/cs.php Community Standards]&lt;br /&gt;
* [http://secondlife.com/corporate/tos.php Terms of Service]&lt;br /&gt;
* [http://secondlife.com/corporate/dmca.php Digital Millenium Copright Act] (Wikipedia Article: [http://en.wikipedia.org/wiki/DMCA DMCA])&lt;br /&gt;
* [http://secondlife.com/corporate/brand/ Second Life Brand Center]&lt;br /&gt;
* [http://secondlife.com/policy/security/ Online Safety]&lt;br /&gt;
* [http://secondlife.com/corporate/vat.php Value-Added Tax (VAT)] (Wikipedia Article: [http://en.wikipedia.org/wiki/VAT VAT])&lt;br /&gt;
* [[What Is Our Antivirus Protection Policy]]&lt;br /&gt;
&lt;br /&gt;
== SL Volunteer pages ==&lt;br /&gt;
* [[Volunteer Portal]]&lt;br /&gt;
* [[Volunteer Title Activation / Conditions]]&lt;br /&gt;
* [[Volunteer Mailing List Guidelines]]&lt;br /&gt;
* [[Quickie Wiki Intro]]&lt;br /&gt;
&lt;br /&gt;
== SL Wiki policy pages ==&lt;br /&gt;
* [[Project:About | About the SL Wiki]]&lt;br /&gt;
* [[Project:Terms of Use | SL Wiki Terms of Use]]&lt;br /&gt;
* [[Project:Editing Guidelines | SL Wiki Editing Guidelines]]&lt;br /&gt;
&lt;br /&gt;
== SL Open-Source / Viewer Design Policies == &lt;br /&gt;
* [[Open Source Portal]]&lt;br /&gt;
* [http://secondlifegrid.net/programs/open_source/faq Open Source Development FAQs]&lt;br /&gt;
* [[Extended FAQ | Open Source Extended FAQ]]&lt;br /&gt;
* [[Viewer Roadmap]]&lt;br /&gt;
* [[SLDev | SLDev: SL Developer Mailing List]]&lt;br /&gt;
* [[Coding Standard]]&lt;br /&gt;
&lt;br /&gt;
== SL Viewer Code Development Pages ==&lt;br /&gt;
* [[Patch Updater Design]]&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Ongoing_JIRA_Policy_Debates&amp;diff=73872</id>
		<title>Ongoing JIRA Policy Debates</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Ongoing_JIRA_Policy_Debates&amp;diff=73872"/>
		<updated>2008-06-23T06:40:54Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;+1&amp;quot;&amp;gt;&#039;&#039;&#039;NOTICE: This page was not created by Linden Lab staff and has not been approved to speak for the company or its employees.&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There have been many requests involving different aspects of LL&#039;s policies on a wide range of topics, however no such centralized page yet exists in the Wiki. The goal of this article is to provide a jumping-off point to existing official policies, as well as non-LL end-user attempts to research and document unofficial policies and planning agendas.&lt;br /&gt;
&lt;br /&gt;
* Back to [[Linden Lab Policies]]&lt;br /&gt;
* Link to [[User-Documented Policies]] and development pages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ongoing JIRA debates ==&lt;br /&gt;
* [https://jira.secondlife.com/browse/MISC-1267 MISC-1267]: Devise better way to discuss hotbutton issues on sldev&lt;br /&gt;
* [https://jira.secondlife.com/browse/MISC-44 MISC-44]: Split off new mailing list from sldev for non-development discussion&lt;br /&gt;
* [https://jira.secondlife.com/browse/SVC-241 SVC-241]: Meta-issue: Improved In-world Privacy&lt;br /&gt;
* [https://jira.secondlife.com/browse/VWR-2909 VWR-2909]: Users are misled into thinking texture permissions do anything.&lt;br /&gt;
* [https://jira.secondlife.com/browse/MISC-1272 MISC-1272]: (Devise methodology to deal with asset transfers to non-SL grids)&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Linden_Lab_Policies&amp;diff=73871</id>
		<title>Linden Lab Policies</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Linden_Lab_Policies&amp;diff=73871"/>
		<updated>2008-06-23T06:36:18Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: having moved user-generated content to another page, &amp;quot;official&amp;quot; is an unnecessary word for each section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;+1&amp;quot;&amp;gt;&#039;&#039;&#039;NOTICE: This page was not created by Linden Lab staff and has not been approved to speak for the company or its employees.&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There have been many requests involving different aspects of LL&#039;s policies on a wide range of topics, however no such centralized page yet exists in the Wiki. The goal of this article is to provide a jumping-off point to existing official policies, as well as non-LL end-user attempts to research and document unofficial policies and planning agendas.&lt;br /&gt;
&lt;br /&gt;
* Link to [[User-Documented Policies]] and development pages&lt;br /&gt;
* Link to [[Ongoing JIRA Policy Debates]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Second Life policy pages ==&lt;br /&gt;
* [http://secondlife.com/ Second Life Home Page and links]&lt;br /&gt;
* [http://secondlife.com/corporate/privacy.php Privacy Policy]&lt;br /&gt;
* [http://secondlife.com/corporate/cs.php Community Standards]&lt;br /&gt;
* [http://secondlife.com/corporate/tos.php Terms of Service]&lt;br /&gt;
* [http://secondlife.com/corporate/dmca.php Digital Millenium Copright Act] (Wikipedia Article: [http://en.wikipedia.org/wiki/DMCA DMCA])&lt;br /&gt;
* [http://secondlife.com/corporate/brand/ Second Life Brand Center]&lt;br /&gt;
* [http://secondlife.com/policy/security/ Online Safety]&lt;br /&gt;
* [http://secondlife.com/corporate/vat.php Value-Added Tax (VAT)] (Wikipedia Article: [http://en.wikipedia.org/wiki/VAT VAT])&lt;br /&gt;
* [[What Is Our Antivirus Protection Policy]]&lt;br /&gt;
&lt;br /&gt;
== SL Volunteer pages ==&lt;br /&gt;
* [[Volunteer Portal]]&lt;br /&gt;
&lt;br /&gt;
== SL Wiki policy pages ==&lt;br /&gt;
* [[Project:About | About the SL Wiki]]&lt;br /&gt;
* [[Project:Terms of Use | SL Wiki Terms of Use]]&lt;br /&gt;
* [[Project:Editing Guidelines | SL Wiki Editing Guidelines]]&lt;br /&gt;
&lt;br /&gt;
== SL Open-Source / Viewer Design Policies == &lt;br /&gt;
* [[Open Source Portal]]&lt;br /&gt;
* [http://secondlifegrid.net/programs/open_source/faq Open Source Development FAQs]&lt;br /&gt;
* [[Extended FAQ | Open Source Extended FAQ]]&lt;br /&gt;
* [[Viewer Roadmap]]&lt;br /&gt;
* [[SLDev | SLDev: SL Developer Mailing List]]&lt;br /&gt;
* [[Coding Standard]]&lt;br /&gt;
&lt;br /&gt;
== SL Viewer Code Development Pages ==&lt;br /&gt;
* [[Patch Updater Design]]&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Ongoing_JIRA_Policy_Debates&amp;diff=73870</id>
		<title>Ongoing JIRA Policy Debates</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Ongoing_JIRA_Policy_Debates&amp;diff=73870"/>
		<updated>2008-06-23T06:34:59Z</updated>

		<summary type="html">&lt;p&gt;Scalar Tardis: ick, line wrapping. Adding bullets to remove wrapping&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;font size=&amp;quot;+1&amp;quot;&amp;gt;&#039;&#039;&#039;NOTICE: This page was not created by Linden Lab staff and has not been approved to speak for the company or its employees.&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There have been many requests involving different aspects of LL&#039;s policies on a wide range of topics, however no such centralized page yet exists in the Wiki. The goal of this article is to provide a jumping-off point to existing official policies, as well as non-LL end-user attempts to research and document unofficial policies and planning agendas.&lt;br /&gt;
&lt;br /&gt;
* Back to [[Linden Lab Policies]]&lt;br /&gt;
* Link to [[User-Documented Policies]] and development pages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ongoing JIRA debates ==&lt;br /&gt;
* [https://jira.secondlife.com/browse/MISC-44 MISC-44]: Split off new mailing list from sldev for non-development discussion&lt;br /&gt;
* [https://jira.secondlife.com/browse/SVC-241 SVC-241]: Meta-issue: Improved In-world Privacy&lt;br /&gt;
* [https://jira.secondlife.com/browse/VWR-2909 VWR-2909]: Users are misled into thinking texture permissions do anything.&lt;br /&gt;
* [https://jira.secondlife.com/browse/MISC-1267 MISC-1267]: Devise better way to discuss hotbutton issues on sldev&lt;/div&gt;</summary>
		<author><name>Scalar Tardis</name></author>
	</entry>
</feed>