Viewer source

From Second Life Wiki
Revision as of 06:57, 4 January 2007 by Tofu Linden (Talk | contribs)

Jump to: navigation, search

Once you have gotten the source, you may be wondering what it is you are looking at.


Most of the action is in the indra directory. Here's an alphabetical list of subdirectories, along with a brief description of what the code in that directory is for, and perhaps a pointer to more information:

  • indra_complete - Solution File
  • launcher - Sim Launcher
  • linux_crash_logger - Crash Logger
  • llaudio - Audio Engine. See Sound System for more detail.
  • llcharacter - Part of Rendering/Viewer - controls appearance of avatars. See Avatar Appearance for more
  • llcommon - Common Helper Functions (Hashing, Structured Data, Container Classes (deprecated) etc.)
    • Location for linden_preprocessor.h - global constants
  • llimage - Image Storage Class - Loading Targa Files, Textured images, Fileformats - Convert to GL image for rendering. See Image System for more.
  • llinventory - manages the inventory of a user (permissions, inventory, parcels). See Inventory for more.
  • llmath - Vectors
  • llmedia - wrappers over Quicktime
  • llmessage - Messaging/IPC TCP/UDP, Helper classes, Uses Apache Portable Runtime
  • llprimitive - More of Rendering - Object Transmission, Shared source for representation on client/server. PMC for objects.
  • llrender - Font, AGP wrappers
  • llscene - Scene Mgmt for GL
  • llui - XML UI layer (a.k.a. "XUI") menu, menuitem, spin controls, panels
  • llvfs - Virtual file system. x-platform file handling (open, read/write, close)
  • llwindow - Cross-platform window abstraction (Getting messages, keyboard/mouse, GL context set-up, other low level UI stuff. Below llui in stack)
  • llxml - Wrapper for expat.
  • lscript - LL Scripting
  • mac_crash_logger - Crash Logger
  • mac_updater
  • newview - Viewer
  • SConstruct - for the SCons build system
  • test - Test Code
  • win_crash_logger - Crash Logger
  • win_updater - Updater


Not much in this directory. However, one key file that lives here is message_template.msg, which describes each message in the protocol.