# do not edit -- automatically generated by arch changelog # arch-tag: automatic-ChangeLog--nathan@cournia.com--ienasa-2004/ien--mainline--0.1.0 # 2005-03-08 01:41:02 GMT Nathan Cournia patch-34 Summary: launcher should output proper cvars Revision: ien--mainline--0.1.0--patch-34 - The command "untrack all" untracks all currently tracked cvars. - Added getRecorder to client logic interface. - Added recording time limit support to ien. - A message is now display telling the user how to start recording and when recording has finished. - "recordstart" is now bound to F1. This means F1 will now start recording. - "showbingings" has been rebound to F6 from F1. - New cvars: - recordTimeLimit - Maximum number of milliseconds recording can last. Once this limit has been reached, recording is stopped. - Launcher now calls "untrack all" before setting its own cvars to track. - Launcher now accepts maximum search time. - Launcher now accepts clickings on the "Use Crosshair" checkbox. - Launcher now creates $HOME/.ien/trials if it does not exists. - Launcher now computes the name of the trial and creates a directory to store the recorded files: $HOME/.ien/trials/$TRIAL. - Launcher now outputs: - Task - task - Max search time - recordSearchTime - Subject - subject (same as "name") - User who ran the program - admin - Where to record files - recorddir - Use crosshair - pointerShowIntersection modified files: ien/client/ienClientCmd.cpp ien/client/ienIClientLogic.cpp ien/client/ienIClientLogic.h ien/client/ienRecorder.cpp ien/client/ienRecorder.h ien/client/ienTracker.cpp ien/client/ienTracker.h ien/inspect/client/inspectClientLogic.cpp ien/inspect/data/bindings.cfg launcher/WinTask.cpp 2005-03-07 21:17:07 GMT Nathan Cournia patch-33 Summary: output defect list/time to libtal Revision: ien--mainline--0.1.0--patch-33 - inspect::Defect has been updated to to send the list of defect names and the trial time to tal::DefectStream. modified files: ien/inspect/client/inspectDefect.cpp 2005-03-04 05:25:29 GMT Nathan Cournia patch-32 Summary: integrate libtal Revision: ien--mainline--0.1.0--patch-32 - libtal is now used for all file recording. This means that alot of Brians old file writing code has been removed. Overall, by using libtal, a great deal of code was removed from ien. - Added libtal dependency to build system. - The Recordable interface has changed. start() and stop() no longer implicitly open data streams for writing. Objects that inherit from Recordable are now responsible for using libtal (which has its own method to write files). - ien::Recorder now uses ien::Client::getFrameStart rather than ien::Client::getMilliseconds to record the current time. - ien::Recorder now uses libtal to record the master recording file. - Added constants ien::RECORD_EVERY_FRAME and ien::RECORD_AT_STOP for code clarity. - ien::Recorder now maintains a running recording time. This time is used by ien::Recordables to time stamp data points. With this running recording time, it is easy to account for trial operator software pauses (though this hasn't been tested as of yet). - Data is recorded at 33Hz by default. - Updated ien::Camera to use libtal for recording data. - Updated ien::inspect::Defect to use libtal for recording data. - Updated ien::inspect::Settings to use libtal for recording data. modified files: ien/SConscript ien/client/ienCamera.cpp ien/client/ienCamera.h ien/client/ienRecordable.cpp ien/client/ienRecordable.h ien/client/ienRecorder.cpp ien/client/ienRecorder.h ien/inspect/client/inspectDefect.cpp ien/inspect/client/inspectDefect.h ien/inspect/client/inspectSettings.cpp ien/inspect/client/inspectSettings.h 2005-02-22 22:12:34 GMT Nathan Cournia patch-31 Summary: detach fob mouse position from head Revision: ien--mainline--0.1.0--patch-31 - The fob mouse position is no longer attached to the head when casting intersection rays and projecting textures. The fob mouse position is approximated by finding the real world distance between the fob mouse and hmd, then adding the resultant vector to the camera's origin. A scaling factor did not seem to be neccessary. modified files: ien/inspect/client/inspectClientLogic.cpp ien/inspect/data/fob-eye.cfg ien/inspect/data/fob-view.cfg 2005-02-22 16:25:55 GMT Nathan Cournia patch-30 Summary: env lights casts shadows Revision: ien--mainline--0.1.0--patch-30 - The local entity model is now updated by the client. This is to allow proper shadows to be cast by the local entity's geometry. - OpenGL's global ambient lighting term has been disabled. - Each Light now stores a field of view. The lights.cfg file format has been updated to match the new fov var. - A Light's orienation is now computed in ien::Environment::openLights. - Added ien::Environment::enableNonShadowLights, which enables non shadow casting lights in the environment. - In addition to disabling lighting, ien::Environment::disableLights now disables each individual OpenGL light. - Screen space gaze icon and eye status are no longer rendered by default. - Most inspect::Shadows methods now take field of view as a parameter. - When rendering shadow maps, the local entity is now rendered. This allows the client to see his own shadow. - Fixed bug where flashlight's lighting power was at 0.25 instead of 1.0. - Removed alot redundant logic in inspect::ClientLogic rendering code to check for NULL environments. - Updated bay environment's lights. The env now has 4 shadow casting lights, 2 at each main light point at the walls. Lighting looks washed out when not rendering shadows with this light setup. This wil have to be addressed in a future patch. - Added inpsect::Spotlight. This object is in charge of projecting textures from env lights. It's pretty much a rip of inspect::Flashlight. - Environment lights now cast shadows. - A pass has been dedicated to environment lights that do not cast shadows. - Added spotlight texture: "spotlight.png". - Added client cvars: - showLights - If true, renders spheres at the location of each light. Shadow casting lights are orange and are rendered with a direction vector. Non-shadow casting lights are green. - pointerShowIntersection - If true renders a red sphere at the client's pointer location. This is useful when detecting defects. new files: ien/inspect/client/.arch-ids/inspectSpotlight.cpp.id ien/inspect/client/.arch-ids/inspectSpotlight.h.id ien/inspect/client/inspectSpotlight.cpp ien/inspect/client/inspectSpotlight.h ien/inspect/data/.arch-ids/spotlight.png.id ien/inspect/data/spotlight.png modified files: ien/SConscript ien/client/ienClient.cpp ien/client/ienVideo.cpp ien/common/ienEnvironment.h ien/inspect/client/inspectClientLogic.cpp ien/inspect/client/inspectClientLogic.h ien/inspect/client/inspectFlashlight.cpp ien/inspect/client/inspectFlashlight.h ien/inspect/client/inspectShadows.cpp ien/inspect/client/inspectShadows.h ien/inspect/data/env/bay/lights.cfg 2005-02-21 07:00:47 GMT Nathan Cournia patch-29 Summary: add flashlights cast shadows Revision: ien--mainline--0.1.0--patch-29 - Default far clip plane is now set at 400 instead of 300. This is to accomadate the bay environment's larger size. - ien::Video no longer is in charge of the shadow map. As such, all render_texture code has been removed from ien::Video. - Default flashlight texture is now "flashlight.png". - Moved flashlight rendering code in inspect::ClientLogic to its own method: inspect::ClientLogic::renderEntityPasses. - Cleaned up inspect::Flashlight code. - F12 will now ungrab the mouse. - Added inspect::Shadows, which is responsible for generating shadows in the environment. The underlying shadow generation algorithm is standard shadow maps. - Shadows are generated from flashlights. However, shadows are not generated from environment lights. This will have to wait until a later patch. - Added the following shadow related cvars: - shadowsEnabled - Given a boolean, globally enables/disables shadows for the local client. This is 1 by default and probably shouldn't be changed until I test it further. - shadowsFOV - Changes the field of view while rendering the shadow map. Defaults to 45. Should always be the same as flashlightFOV, though no checks are made to make sure that the two vars are consistant. This cvar will probably disappear in the future since the FOV should be on a per light basis. - shadowsReverseOffset - Defines how far to move the reverse projection clip plane down the light's -Z axis. - shadowsFactor - Defines the polygon offset factor when rendering the shadowmap. - shadowsUnits - Defines the polygon offset units when rendering the shadowmap. - shadowsCullFront - If true, culls front faces when rendering the shadow map. This helps to avoid shadow artifacts but fails to produce correct shadow if the geometry rendered is not closed. By default this is set to true as most of our geometry is closed. new files: ien/inspect/client/.arch-ids/inspectShadows.cpp.id ien/inspect/client/.arch-ids/inspectShadows.h.id ien/inspect/client/inspectShadows.cpp ien/inspect/client/inspectShadows.h modified files: ien/SConscript ien/client/ienVideo.cpp ien/client/ienVideo.h ien/inspect/client/inspectClientLogic.cpp ien/inspect/client/inspectClientLogic.h ien/inspect/client/inspectFlashlight.cpp ien/inspect/data/bindings.cfg rt/render_texture.cpp rt/render_texture.h 2005-02-21 01:46:45 GMT Nathan Cournia patch-28 Summary: add render texture support Revision: ien--mainline--0.1.0--patch-28 - Added rt library. The main class in rt is render_texture. render_texture is a wrapper to the GPGPU crowd's RenderTexture class. This wrapper was neccessary since RenderTexture uses GLEW for an extension loader while uber uses extgl. The wrapper hides the fact that RenderTexture is being used to do all of the work. This has the added benefit of perhaps easing the transition to EXT_frame_buffer_object. - ien::Video now creates a shadow map render texture. This texture is intended to store a depth texture used when shadow mapping. - Moved the light struct out of ien::Environment. This is to avoid messy template code. - Added ien::Environment::enable/disableLights which are used to enable and disable the lights in the environment. These methods are useful in multi-pass algorithms when we want to selectively enable lights during a pass. - Added ien::Environment::getLights which returns a list of lights in the environment. - Changed the light.cfg format. Light direction and if the light casts shadows has been added. - Update lights.cfg for the bay environment. - When rendering the flashlight pass, a light is now placed at the flashlight's origin and environment lights are disabled. - Mucked with the client environment rendering code to correctly call ien::Environment::enable/disableLights. new files: rt/.arch-ids/.arch-inventory.id rt/.arch-ids/=id rt/.arch-ids/RenderTexture.cpp.id rt/.arch-ids/RenderTexture.h.id rt/.arch-ids/SConscript.id rt/.arch-ids/render_texture.cpp.id rt/.arch-ids/render_texture.h.id rt/.arch-inventory rt/GL/.arch-ids/=id rt/GL/.arch-ids/glew.c.id rt/GL/.arch-ids/glew.h.id rt/GL/.arch-ids/glxew.h.id rt/GL/.arch-ids/wglew.h.id rt/GL/glew.c rt/GL/glew.h rt/GL/glxew.h rt/GL/wglew.h rt/RenderTexture.cpp rt/RenderTexture.h rt/SConscript rt/render_texture.cpp rt/render_texture.h modified files: SConstruct ien/SConscript ien/client/ienClient.cpp ien/client/ienVideo.cpp ien/client/ienVideo.h ien/common/ienEnvironment.h ien/inspect/client/inspectClientLogic.cpp ien/inspect/data/env/bay/lights.cfg new directories: rt rt/.arch-ids rt/GL rt/GL/.arch-ids 2005-02-20 07:37:11 GMT Nathan Cournia patch-27 Summary: enable flashlight support in launcher Revision: ien--mainline--0.1.0--patch-27 - Using the launcher to run inspect will now automatically load the requested scenarios and options. Daniel said he wrote this code in a previous patch, but it doesn't work. The "launcherControl" cvar was not being honored by the client shell nor was the launcherControl cvar even being sent to inspect from the launcher. This is the exact opposite of "working". - The "Turn on Flashlight" option in the launcher is now activated and is honored by inspect. modified files: ien/client/ienClient.cpp launcher/WinTask.cpp 2005-02-20 06:28:59 GMT Nathan Cournia patch-26 Summary: improve rendering speed Revision: ien--mainline--0.1.0--patch-26 - Added "renderer" interface to uber. The renderer object is attached to a mesh3 object via mesh3::set_renderer (the mesh3 object then owns the renderer's memory). Once a renderer object has been attached, calls to mesh3::render will be intercepted by the renderer. This allows custom rendering alogrithms to access mesh3's hidden data. - Added mesh3::get_uvs/normals/vertexes/planes_ptr. These functions are used to get constant pointers to mesh3's internal data arrays. - Added "vbo_renderer" which is a "renderer" that sends a mesh3's geometry to the GPU via vertex buffer objects (VBO). This renderer significantly improves performance when rendering geometry with many triangles. vbo_renderer creates a vertex buffer object for each surface. If the surface contains normals and texture coordinates, additional vertex buffer objects are created. - Added methods to ien::Environment to take advantage of uber's new renderer interface. ien::Environment::set/getRenderer. - ien::Client now attaches a vbo_renderer to the environment's geometry if the GPU supports the vertex buffer object extension. - ien::Video now tells uber about itself. By telling uber that a valid video object is attached, uber will load all OpenGL extension pointers. - Flashlight renderering is now disabled by default. - Added client commands: - vbo - Accepts a boolean argument. If true, attempts to use OpenGL vertex buffer objects (VBO) to send environment geometry to the GPU. VBO will be enabled only if the GPU is capable of accepting geometry via VBO. By default, VBO will be used if it is supported on the card. The vbo command can be used to dynamically enable/disable sending geometry to the card via VBO. new files: uber/include/uber/.arch-ids/renderer.h.id uber/include/uber/.arch-ids/vbo_renderer.h.id uber/include/uber/renderer.h uber/include/uber/vbo_renderer.h uber/src/.arch-ids/vbo_renderer.cpp.id uber/src/vbo_renderer.cpp modified files: ien/client/ienClient.cpp ien/client/ienClientCmd.cpp ien/client/ienClientCmd.h ien/client/ienVideo.cpp ien/common/ienEnvironment.h ien/inspect/client/inspectFlashlight.cpp uber/include/uber/mesh3.h uber/src/SConscript uber/src/mesh3.cpp 2005-02-19 01:06:03 GMT Nathan Cournia patch-25 Summary: flashlight clipplane fix/flashlight tex cmd Revision: ien--mainline--0.1.0--patch-25 - Before the last patch I accidently removed the multiplication of the pointer's model matrix by the reverse clip plane. I've added it back in, so clipping flashlight reverse projections should now be working. - Added flashlight cmd: - flashlighttexture - If no arguments are passes, returns the name of the current flashlight texture. If a filename is passed, sets the flashlight's texture to the filename given. - Added flashlight.png texture. new files: ien/inspect/data/.arch-ids/flashlight.png.id ien/inspect/data/flashlight.png modified files: ien/inspect/client/inspectClientLogic.cpp ien/inspect/client/inspectClientLogic.h ien/inspect/client/inspectFlashlight.cpp ien/inspect/client/inspectFlashlight.h 2005-02-18 22:40:47 GMT Nathan Cournia patch-24 Summary: fix reverse projection of flashlight texture Revision: ien--mainline--0.1.0--patch-24 - Fixed reverse projection of flashlight texture. This is achieved by setting a clipplane at the flashlight's location when render the flashlight's lighting contribution. - Added camera cvars: - cameraPointerOffset - Distance to move the local client's pointer origin along the camera's -Z axis when use the camera as the pointer. This is useful to avoid local illumination of the avatar's head when projecting textures. - Added flashlight cvars: - flashlightReverseOffset - Distance to move clip plane along the pointer's -Z axis. This is useful to avoid local illumination of geometry around the the pointer when projecting textures. modified files: ien/inspect/client/inspectClientLogic.cpp ien/inspect/client/inspectClientLogic.h ien/inspect/client/inspectFlashlight.cpp ien/inspect/client/inspectFlashlight.h 2005-02-18 21:32:12 GMT Nathan Cournia patch-23 Summary: add multi-client flashlight support Revision: ien--mainline--0.1.0--patch-23 - Added MODULATE_AMBIENT, MODULATE_DIFFUSE, and DIFFUSE_SPECULAR to gl::material. MODULATE_$rgb sets the current color to $rgb and enables the diffuse texture if one is available. DIFFUSE_SPECULAR set the diffuse and specular material colors (sets the ambient material color to black) and enables any available textures. These new lighting models are intended to be used in multi-pass algorithms where the ambient and diffuse lighting terms are rendered on seperate passes. - All geometry objects (Environment, Avatar, Model, Eye) now have convenience methods to render the object with only either ambient light or diffuse and specular lighting. This change added quite a few methods. However, most are methods transparent upon inspection. - Moved environment light parsing code into a seperate method: ien::Environment::openLights(). - inspectClientLogic now renders the scene in multiple passes if flashlights are enabled. This code is in inspect::ClientLogic::renderEnvironmentPasses(). A pass is dedicated to ambient lighting. For each client with a flashlight on, another pass is rendered. For flashlight passes, lighting in the environment is provided by the environment's lights. Idealy, a dynamic spot light would be created from the flashlight and a seperate pass would be dedicated to each environment light. This will be addressed in future patches. If flashlights are no enabled, the old rendering path is used. - The calib environment has been updated to include ambient lighting terms in its materials. modified files: ien/common/ienAvatar.cpp ien/common/ienAvatar.h ien/common/ienEnvironment.h ien/common/ienEye.cpp ien/common/ienEye.h ien/common/ienModel.cpp ien/common/ienModel.h ien/inspect/client/inspectClientLogic.cpp ien/inspect/client/inspectClientLogic.h ien/inspect/data/env/calib/env.mtl uber/include/uber/material.h uber/src/material.cpp 2005-02-18 02:55:14 GMT Nathan Cournia patch-22 Summary: add fob mouse to pointer code Revision: ien--mainline--0.1.0--patch-22 - The cvar flashlightEnabled is now honored. - The local client's pointer data is now filled with data from the client's fob mouse. If a fob mouse is not attached, pointer data is retrieved from the client's camera (which may be driven by a HMD or desktop mouse). - Added command: - defectsIntersectPointer - Intersects a ray from the local client's pointer (fob mouse, eyes, HMD, etc) origin/direction with the environment's defect object. The intersection test is recorded by the defect system and visual cues may appear based on settings set within the defect system. - New bindings: - FOB mouse button 3 (right mouse button AUX3) will shoot a ray from the mouse into the scenario's defect object (i.e calls defectsIntersectPointer). modified files: ien/inspect/client/inspectClientLogic.cpp ien/inspect/client/inspectClientLogic.h ien/inspect/data/bindings.cfg ien/inspect/data/fob-view.cfg 2005-02-17 21:20:49 GMT Nathan Cournia patch-21 Summary: add intermediate flashlight support Revision: ien--mainline--0.1.0--patch-21 - Added pointer cvars: - pointerOrigin - Location of the local client's pointer in world space. - pointerIntersection - Intersection of a ray from the local client's pointer onto the environments geometry. - Entities origins are now at <0.0, 25.0, 0.0> by default instead of the previous <0.0, 0.0, 0.0>. By doing this we eliminate a great deal of the +/- 25.0 y-axis translation logic that was scattered throughout the code. For this patch I just commented out the old translation code, in a future patch it should be deleted. - Added renderEnvironment and renderEnvironmentHud to the client logic interface. This is to break up rendering the environment and the hud into two steps. This is needed by the texgen flashlight code and future multipass code. - Added inspectFlashlight. Given an entity, this object take's the entity's pointer data and creates a texgen matrix suitable for projecting a texture from the pointer. inspectFlashlight maintains the flashlight texture and is responsible for enabled and disable texture coordinate generation on a given texture unit. - Currently, inspectClient only renders the flashlight for the local client. Fragments are either black, or mudulated by the flashlight texture. In a future patch, this code needs to be extended to account for ambient light and client's with multiple flashlights. - Added flashlight cvars: - flashlightEnabled - Globally enables/disables flashlight rendering. - flashlightFOV - Field of view used when creating the flashlight projection matrix. Value should be between (0.0-90.0). Larger values result in a larger flashlight area. new files: ien/inspect/client/.arch-ids/inspectFlashlight.cpp.id ien/inspect/client/.arch-ids/inspectFlashlight.h.id ien/inspect/client/inspectFlashlight.cpp ien/inspect/client/inspectFlashlight.h ien/inspect/data/.arch-ids/rgbtrans.png.id ien/inspect/data/rgbtrans.png modified files: SConstruct ien/SConscript ien/client/ienCamera.cpp ien/client/ienClient.cpp ien/client/ienClient.h ien/client/ienIClientLogic.cpp ien/client/ienIClientLogic.h ien/client/ienInput.cpp ien/inspect/SConscript ien/inspect/client/inspectClientLogic.cpp ien/inspect/client/inspectClientLogic.h ien/inspect/client/inspectDefect.cpp ien/server/ienServerNet.cpp 2004-12-12 18:55:48 GMT Nathan Cournia patch-20 Summary: improve recording, enhance launcher Revision: ien--mainline--0.1.0--patch-20 - Added recordBinary flag as console variable. If true, the recorded data will be recorded in binary, otherwise ASCII. (defaults to ASCII currently) - Added the recording of a master file which outputs key value pairs of information. - Added the recording of a settings file which outputs key value pairs of console variables which include the CV_RECORD flag. (new files are inspectSettings.h and inspectSettings.cpp) - Fixed the recording of POR file to support binary and ASCII output (data taken from camera). - Fixed the recording of a MPT file to support binary and ASCII output (data taken from defects). - If data is being recorded and the user quits, disconnects, or changes environments, recording is automatically stopped now. This is important because certain things aren't recorded until recording is stopped. forgetting to stop recording is easy to do so this sucked until now. - Fixed the launcher so that it will alert the user at the beginning and fail if either inspect or the environment variable cannot be found. - Made autosearching for results during smart search in the launcher. - Allowed launcher to propagate command lines to inspect. - Added client cvar so inspect knows when to exectute launcher.cfg so old commands from launcher are not run on manaul launch. new files: ien/inspect/client/.arch-ids/inspectSettings.cpp.id ien/inspect/client/.arch-ids/inspectSettings.h.id ien/inspect/client/inspectSettings.cpp ien/inspect/client/inspectSettings.h modified files: ien/SConscript ien/client/ienCamera.cpp ien/client/ienCamera.h ien/client/ienClient.cpp ien/client/ienClient.h ien/client/ienRecordable.cpp ien/client/ienRecordable.h ien/client/ienRecorder.cpp ien/client/ienRecorder.h ien/inspect/client/inspectClientLogic.cpp ien/inspect/client/inspectClientLogic.h ien/inspect/client/inspectDefect.cpp ien/inspect/client/inspectDefect.h 2004-12-01 03:16:28 GMT Nathan Cournia patch-19 Summary: add pointer intersection/orientation protocal Revision: ien--mainline--0.1.0--patch-19 - Added cvar clientPosition: Tracks the local client's world space position. - ien::Camera now stores a quaternion representing the camera's orientation. - The local client's pointer type, origin, and position are now sent to the server each client frame (in the EntityInput packet). - Upon receiving pointer information from a client, the server cast a ray from the pointer into the environment. The pointer ray/environment intersection is stored and sent to every client. - The server now transmit's to each client every client's pointer type, origin, orientation, and environment intersection point. The information is sent in the Update packet. - Disabled the old inspect code that computed the pointer ray/env intersection on the client instead of the server - clientPosition is now tracked by default. I'll probably remove this in the near future. modified files: ien/client/ienCamera.cpp ien/client/ienCamera.h ien/client/ienClient.cpp ien/common/ienEntity.h ien/common/net/ienPayloadUpdate.cpp ien/inspect/client/inspectClientLogic.cpp ien/inspect/data/autoexec.cfg ien/inspect/server/inspectServerLogic.cpp ien/inspect/server/inspectServerLogic.h ien/server/ienServer.cpp 2004-11-30 20:36:25 GMT Nathan Cournia patch-18 Summary: add READONLY/SAVE/RECORD cvar flags Revision: ien--mainline--0.1.0--patch-18 - Added the following flags for shell variables: - CV_READONLY - set this flag if the variable in question should be read-only - CV_SAVE - set this flag if the variable in question and its value should be cached to config files (to be used for next session) - CV_RECORD - set this flag if the variable in question and its value should be written to the master recording file - Added the following functions for shell variables: - bool hasFlags( CvFlag flags ) const; - void setFlags( CvFlag flags ); - void addFlags( CvFlag flags ); - void removeFlags( CvFlag flags ); - void toggleFlags( CvFlag flags ); The above methods are written such that you can pass a single flag or multiple bitwise or'd flags. setFlags overwrites the flags variable completely, while addFlags adds to the existing variable. The others are self explanatory. - Changed variables that were flagged wrong as CV_CLCONFIG to CV_SAVE. - Changed inspectClientLogic to to write all cvars marked as CV_SAVE to client config files. modified files: ien/client/ienClient.cpp ien/client/ienClientCmd.h ien/client/ienConsole.cpp ien/client/ienRecorder.cpp ien/client/ienTracker.cpp ien/client/ienVideo.cpp ien/common/ienShell.h ien/common/ienShellTypes.h ien/inspect/client/inspectClientLogic.cpp 2004-11-19 02:48:40 GMT Nathan Cournia patch-17 Summary: fix launcher release recursion Revision: ien--mainline--0.1.0--patch-17 - findBinary searches for "inspect" which happens to be the name of the script that executes the launcher in releases. This lead to the launcher executing itself. I fixed findBinary to only search for "inspect-bin". modified files: launcher/WinTask.cpp 2004-11-17 20:53:03 GMT Nathan Cournia patch-16 Summary: add graphical launcher for ien Revision: ien--mainline--0.1.0--patch-16 - Added graphical launcher for ien. - Fixed bug in the POSIX verion utils::get_valid_absolute_dir where symlinks to directories were not being treated as directories. - scons now builds binaries with a -bin extension. new files: launcher/.arch-ids/.arch-inventory.id launcher/.arch-ids/BUILD.id launcher/.arch-ids/BuildUtils.py.id launcher/.arch-ids/FileUtils.cpp.id launcher/.arch-ids/FileUtils.h.id launcher/.arch-ids/SConscript.id launcher/.arch-ids/Users.cpp.id launcher/.arch-ids/Users.h.id launcher/.arch-ids/Widget.h.id launcher/.arch-ids/WidgetBlock.cpp.id launcher/.arch-ids/WidgetBlock.h.id launcher/.arch-ids/WinTask.cpp.id launcher/.arch-ids/WinTask.h.id launcher/.arch-ids/data.id launcher/.arch-ids/launcher.cpp.id launcher/.arch-ids/launcher.glade.id launcher/.arch-ids/posix.cpp.id launcher/.arch-ids/users.txt.id launcher/.arch-ids/utils.cpp.id launcher/.arch-ids/utils.h.id launcher/.arch-inventory launcher/BUILD launcher/BuildUtils.py launcher/FileUtils.cpp launcher/FileUtils.h launcher/SConscript launcher/Users.cpp launcher/Users.h launcher/Widget.h launcher/WidgetBlock.cpp launcher/WidgetBlock.h launcher/WinTask.cpp launcher/WinTask.h launcher/data launcher/launcher.cpp launcher/launcher.glade launcher/posix.cpp launcher/users.txt launcher/utils.cpp launcher/utils.h modified files: SConstruct ien/SConscript ien/inspect/.arch-inventory ien/inspect/SConscript uber/src/posix.cpp uber/src/vfs.cpp 2004-11-17 18:22:16 GMT Nathan Cournia patch-15 Summary: add support for launcher in ien Revision: ien--mainline--0.1.0--patch-15 - This patch only covers changes needed by the launcher in ien. The launcher is not included in this patch. - The file "launcher.cfg" is now executed by the client on the client's first frame. The script is only executed once. - inspect::Defect no longer resets its console variables when a new defect model is loaded. The idea behind this is that you'll want to keep the defect render settings between environment loads. - Added cvars: - userid - The system login name of the user executing the program. modified files: ien/client/ienClient.cpp ien/client/ienClient.h ien/inspect/client/inspectDefect.cpp 2004-11-17 00:45:18 GMT Nathan Cournia patch-14 Summary: add pause/unpause to timers Revision: ien--mainline--0.1.0--patch-14 - Timers can now be paused, unpaused, or toggled. - Added the following commands: - timerpause - Given a timer name, pauses the timer. - timerunpause - Given a timer name, unpauses the timer. - timertoggle - Given a timer name, toggles if the timer is paused or not. modified files: ien/client/ienClient.cpp ien/client/ienClient.h ien/client/ienRecorder.cpp ien/client/ienTimer.cpp ien/client/ienTimer.h ien/inspect/client/inspectDefect.cpp 2004-11-10 22:18:04 GMT Nathan Cournia patch-13 Summary: add data recording Revision: ien--mainline--0.1.0--patch-13 - Added Recorder and Recordable class. - Camera and Defect now inherit from Recordable. This allows the camera and defect selection to be recorded. - Added commands: - recordStart - Starts recording. - recordStop - Stops recording. - recordDirectory - Set the recording base directory. - recordFile - Sets the master recording file. - recordRate - Set the number of times a second data is recorded. - Added cvars: - recording - If true, data is being recorded. - recordAppend - If true, data will be appending to existing data files upon recordStart. - recordCameraFile - File to which to record camera data. - recordDefectsFile - File to which to record defect selection data. new files: ien/client/.arch-ids/ienRecordable.cpp.id ien/client/.arch-ids/ienRecordable.h.id ien/client/.arch-ids/ienRecorder.cpp.id ien/client/.arch-ids/ienRecorder.h.id ien/client/ienRecordable.cpp ien/client/ienRecordable.h ien/client/ienRecorder.cpp ien/client/ienRecorder.h modified files: ien/SConscript ien/client/ienCamera.cpp ien/client/ienCamera.h ien/client/ienClient.cpp ien/client/ienClient.h ien/inspect/client/inspectDefect.cpp ien/inspect/client/inspectDefect.h 2004-11-08 22:32:05 GMT Nathan Cournia patch-12 Summary: add ability to mouse click defects Revision: ien--mainline--0.1.0--patch-12 - Added the following cvars: - showMouse - If true, displays the mouse pointer at all times. - Added the following commands: - defectsIntersectMouse - Attempts to select the defect at the last recorded pointer down location. Regardless if a defect was hit or not, the intersection test will be internally recorded (unless the test fails to hit the environment). - Started code to transmit pointer orientation/type information over the network. The code isn't complete, but shouldn't break anything that we'll be needing in the near future. - Added ien::Client::getCamera, ien::Client::getEnvironment, ien::Input::getPointerRay,getPointerDownRay,getRay. - Added ien::Camera:getWorldNearFar. Given a x, y coord (normalized in screen coordinates [0,1]), returns the world space coord of the screen coordinate on the near and far clip plane. - PacketSteam can now transmit/receive quaternions. - MOUSE1 is now bound to defectsIntersectMouse. This means that left clicking the mouse will select defects underneath the mouse cursor. modified files: ien/client/ienCamera.cpp ien/client/ienCamera.h ien/client/ienClient.cpp ien/client/ienClient.h ien/client/ienDriverSdl.cpp ien/client/ienDriverSdl.h ien/client/ienInput.cpp ien/client/ienInput.h ien/common/ienEntity.cpp ien/common/ienEntity.h ien/common/net/ienPayloadEntityInput.cpp ien/inspect/client/inspectClientLogic.cpp ien/inspect/client/inspectClientLogic.h ien/inspect/client/inspectDefect.cpp ien/inspect/data/bindings.cfg ien/inspect/server/inspectServerLogic.cpp ien/inspect/server/inspectServerLogic.h ien/net/packetstream.h uber/include/uber/quaternion.h uber/include/uber/vector.h uber/src/mesh3.cpp 2004-11-03 22:32:47 GMT Nathan Cournia patch-11 Summary: add ability to pause timers Revision: ien--mainline--0.1.0--patch-11 - Added paused field to timer struct. - Added pause method that accepts a string. This method pauses the specified timer. - Added pauseAll method which pauses all timers. - Added unpause method that accepts a string. This method unpauses the specified timer. - Added unpauseAll method which unpauses all timers modified files: ien/client/ienTimer.cpp ien/client/ienTimer.h 2004-11-03 22:14:53 GMT Nathan Cournia patch-10 Summary: add automatic environment correction Revision: ien--mainline--0.1.0--patch-10 - The environment format from inspector/vspec has changed for inspect. While the data format is the same (OBJ), to convert between the two the envs must be scaled, translated, and rotated. The textures must also be flip along the u axis. I added code to detect the old environments, and correct them when the old environment is loaded. User's should be able to copy the old environments from inspector directly into ien as long as the main OBJ file is called env.obj (this can be sovled with symlinks). - aw_mtl, aw_obj, and aw_obj_data now take a prefix argument. This argument represents a directory prefix that will be used to find data dependencies for the objects (materials, textures, etc.) This was needed because the old environment format referenced materials and textures with relative path names. The new environment format references texture/materials with vfs files names. - Added "exists" member function to vfs code. Returns true if the given string is a file in the vfs. - Added code to mesh3/aw_obj/aw_obj_data to recompute the bounding sphere of the vertexes when the vertexes are scaled or translated. I'll have to take a look at this code to make sure it works for non-aw_obj* mesh3 objects. New mesh3 methods: dirty_radius, compute_radius. modified files: ien/common/ienEnvironment.h ien/server/ienServer.cpp uber/include/uber/aw_mtl.h uber/include/uber/aw_obj.h uber/include/uber/aw_obj_data.h uber/include/uber/aw_obj_data_cache.h uber/include/uber/caches.h uber/include/uber/file_manager.h uber/include/uber/material.h uber/include/uber/mesh3.h uber/include/uber/vfs.h uber/src/aw_mtl.cpp uber/src/aw_obj.cpp uber/src/aw_obj_data.cpp uber/src/intersection.cpp uber/src/material.cpp uber/src/mesh3.cpp uber/src/vfs.cpp 2004-10-12 01:43:20 GMT Nathan Cournia patch-9 Summary: add generic timers Revision: ien--mainline--0.1.0--patch-9 Added ien::TimerManager class which has functions to add, remove, and modify any number of timers Added 4 cvars in ien::Client: - timerProgramMsec - Ugly number representing running time of inspect. - timerProgram - Pretty formatted string representing above. - timerScenarioMsec - Ugly number representing running time of current scenario. - timerScenario - Pretty formatted string representing above. Added 1 member variable in ien::Client: - m_timers - instane of ien::TimerManager to manage any timers we want Added code to manipulate two timers in m_timers: - "program" - timer to control running time of inspect (always updating) - "scenario" - timer to control running time of current scenario (added and removed as one connects to or disconnects from scenarios) - Added updateTimers method in ien::Client, which is called from ien::Client::frame new files: ien/client/.arch-ids/ienTimer.cpp.id ien/client/.arch-ids/ienTimer.h.id ien/client/ienTimer.cpp ien/client/ienTimer.h modified files: ien/SConscript ien/client/ienClient.cpp ien/client/ienClient.h 2004-10-12 01:12:17 GMT Nathan Cournia patch-8 Summary: add defect loading/rendering Revision: ien--mainline--0.1.0--patch-8 Added getEnvironmentName to client logic interface. It returns the string in Client::cv_environment (ex: "calib", "bay", etc). Added Error::peekErrorMessage. This method returns the error message generated by the object. It does not clear the error flag (as getErrorMessage does). Added ien::fixEnvironmentScale. This method is used to scale old "inspect" objects to ien's scale. We must be careful in the future to make sure that vspec knows that all data output by ien is on a different scale. Added inspect::Defect class. It is a client side object. This object: - loads and enumerates defects - handles all defect intersection test - records all intersection test hit/misses (also records all known information about the intersection (time, origin, etc.)) - maintains/provides the following client side cvars: - defectsShowAll - If true renders all defects (for debugging). - defectsOffsetFactor - Controls the factor for glPolygonOffset. - defectsOffsetUnits - Controls the units for glPolygonOffset. - defectsShowSelected - If true renders all selected (hit) defects. - defectsSelectedColor - RGB color for selected (hit) defects - defectsSelectedAlpha - Transparency of selected (hit) defect. - defectsShowClicks - If true renders small spheres where the tried to select a defect. - defectsClickColor - RGB color of the sphere that represents defect clicks. - defectsClickSphereRadius - Radius of the rendered click spheres. - defectsClickSphereResolution - Resolution of the rendered click sphere. The higher the better the spheres will look. - defectsFound - Number of defects successfully clicked. - defectsMissing - Number of defects currently not clicked. inspect::ClientLogic::loadMedia now trys to load defect files (by calling inspect::Defect::open). If a defect file is not loaded the program will continue as usual. inspect::ClientLogic::unLoadMedia unloads the defect file. The Defect object now renders if a valid defect file has been loaded. Added server cvar "clip". When true (the default), collision detection is enabled, otherwise no collision detection happens. The user is still restricted to 0 movment along the y axis. Added mesh3::translate and mesh3::rotate. These modify the mesh's vertex data. new files: ien/inspect/client/.arch-ids/inspectDefect.cpp.id ien/inspect/client/.arch-ids/inspectDefect.h.id ien/inspect/client/inspectDefect.cpp ien/inspect/client/inspectDefect.h modified files: ien/SConscript ien/client/ienIClientLogic.cpp ien/client/ienIClientLogic.h ien/common/Error.h ien/common/ienEnvironment.h ien/inspect/SConscript ien/inspect/client/inspectClientLogic.cpp ien/inspect/client/inspectClientLogic.h ien/server/ienServer.cpp ien/server/ienServer.h uber/include/uber/mesh3.h uber/src/mesh3.cpp 2004-10-07 20:07:45 GMT Nathan Cournia patch-7 Summary: record mouse click/position Revision: ien--mainline--0.1.0--patch-7 Added pointerX, pointerY, pointerDownX, and pointerDownY cvars. The first two cvars record the position of the mouse at all times in uber's virtual window coordinates. The *Down* cvars record the position of the pointer in virtual window coordinates whenever a pointer button is pressed. Added pointer access/mutator methods to ienInput. modified files: ien/client/ienDriverSdl.cpp ien/client/ienInput.cpp ien/client/ienInput.h 2004-10-04 16:44:43 GMT Nathan Cournia patch-6 Summary: fix fob jet settings Revision: ien--mainline--0.1.0--patch-6 The config file for jet's FOB referenced an incorrect serial port. I changed it to reference the correct port. jet's fob pin settings were incorrect (it was set to a slave). It is now set as a stand-alone master. modified files: ien/inspect/data/fob-jet.cfg 2004-09-27 23:18:06 GMT Nathan Cournia patch-5 Summary: fix user profile directory location Revision: ien--mainline--0.1.0--patch-5 There was an old reference to .inspect laying around. I changed it .ien. modified files: ien/inspect/common/inspectCommon.cpp 2004-09-26 22:41:30 GMT Nathan Cournia patch-4 Summary: add runtime version/build information Revision: ien--mainline--0.1.0--patch-4 Added libversion. libversion is simply a small library that is created by scons at compile time which contains version information and build data information. Edit version/Version.cpp as needed. Do no edit version/build.cpp, as it is generated by scons. Added "version" and "build" cvars. "version" contains the ien version (such as 0.1.0). "build" contains the date the executable was built. Version/Build information is now printed out when "inspect" is ran (added to autoexec.cfg). User's profile directory is now "$HOME/.ien", not "$HOME/.inspect". This is to avoid issues with old client.cfg and binding.cfg files laying around. "inspect" will now add "/pub/research/ienasa/releases/share" to the virtual file system. Note that this directory is added after "./data" and before "$HOME/.ien". new files: version/.arch-ids/.arch-inventory.id version/.arch-ids/=id version/.arch-ids/SConscript.id version/.arch-ids/Version.cpp.id version/.arch-ids/Version.h.id version/.arch-inventory version/SConscript version/Version.cpp version/Version.h modified files: SConstruct ien/SConscript ien/client/ienClient.cpp ien/client/ienClient.h ien/common/ienCommon.cpp ien/inspect/client/inspectClientLogic.cpp ien/inspect/data/autoexec.cfg ien/inspect/data/bindings.cfg new directories: version version/.arch-ids 2004-09-21 22:18:53 GMT Nathan Cournia patch-3 Summary: add surface level intersection test Revision: ien--mainline--0.1.0--patch-3 Added loadMedia and unLoadMedia to client logic interfaces. These methods are called during Client::loadMedia and Client::unLoadMedia. The default implementation does nothing. libuber.so is no longer built (since we only use libuber.a). This reduces compile times about 25%. Added mesh3::surface::intersect. This means we no longer have to test for intersections at the mesh level (mesh's are collection of surfaces). This is useful for testing individual groups in OBJ files (since each group is a mesh3::surface). Note that this method only works for surfaces which have parent mesh3 objects. The md3 object is an examples of a mesh that does not have a mesh3 data parent. Updated mesh3 code to correctly update/set the new mesh3::surface::m_parent member. modified files: ien/client/ienClient.cpp ien/client/ienIClientLogic.h uber/SConscript uber/include/uber/mesh3.h uber/src/SConscript uber/src/aw_obj.cpp uber/src/aw_obj_data.cpp uber/src/gl_program.cpp uber/src/md2.cpp uber/src/md3_data.cpp uber/src/mesh3.cpp 2004-09-14 23:29:44 GMT Nathan Cournia patch-2 Summary: add joystick support. user profile writing. gcc 3.4.x fixes Revision: ien--mainline--0.1.0--patch-2 Added joystick support. If a joystick is present, it will be automatically detected and any events sent from the joystick will be processed. Only 1 joystick and four buttons are supported at this time. The following key symbols can be bound to: JOY_UP, JOY_DOWN, JOY_RIGHT, JOY_LEFT, JOY1, JOY2, JOY3, JOY4. client.cfg and bindings.cfg are no longer written to the user's profile directory. uclient.cfg and ubindings.cfg are now written to the user's profile directory at program exit and are loaded at run-time after client.cfg and bindings.cfg are loaded. This allows us to add system level key bindings and cvar definitions and ensure that those system level keybindings and cvars are loaded. Added the cvar "warnRebind". When set to true (the default), any key that is rebound will produce a warning message containing the keys previous binding. Note this is the behaviour we have expected in the past. ubindings.cfg sets this cvar to 0 to avoid warning spam on the console when ubindings.cfg is loaded. Fixed net/packetstream.h so that it will compile on GCC 3.4.x. Here m_position was being increment in a non-ISO C++ manner (which GCC refused to compile). I added a macro that incremented m_position correctly. modified files: ien/client/ienClient.cpp ien/client/ienDriverSdl.cpp ien/client/ienDriverSdl.h ien/client/ienInput.cpp ien/client/ienInput.h ien/client/ienKeys.cpp ien/client/ienKeys.h ien/inspect/client/inspectClientLogic.cpp ien/inspect/data/bindings.cfg ien/net/packetstream.h 2004-09-14 18:10:47 GMT Nathan Cournia patch-1 Summary: tell arch to ignore .sconsign and model. fix scons includes Revision: ien--mainline--0.1.0--patch-1 Arch should no longer complain about .sconsign files being littered all of the source tree. ien/inspect/data/models is now marked as "precious" by arch. Fixed the include path problems with scons. Using CFLAGS = "-Iblah" within a scons environment causes scons to incorrectly compute dependencies. I now include files by setting the environments CPPPATH key instead of the CFLAGS key. Note that work still needs to be done to parse CFLAGS from the environment. new files: ien/inspect/data/.arch-ids/.arch-inventory.id ien/inspect/data/.arch-inventory modified files: SConstruct {arch}/=tagging-method 2004-09-08 00:52:23 GMT Nathan Cournia base-0 Summary: initial import Revision: ien--mainline--0.1.0--base-0 Initial import of the IENASA projects ien codebase. The code includes libuber, libien, and inspect (cve). new files: SConstruct ien/SConscript ien/STYLE ien/TODO ien/client/ienCamera.cpp ien/client/ienCamera.h ien/client/ienClient.cpp ien/client/ienClient.h ien/client/ienClientCmd.cpp ien/client/ienClientCmd.h ien/client/ienClientNet.cpp ien/client/ienClientNet.h ien/client/ienConBuf.cpp ien/client/ienConBuf.h ien/client/ienConsole.cpp ien/client/ienConsole.h ien/client/ienDriverFob.cpp ien/client/ienDriverFob.h ien/client/ienDriverIscan.cpp ien/client/ienDriverIscan.h ien/client/ienDriverSdl.cpp ien/client/ienDriverSdl.h ien/client/ienIClient.cpp ien/client/ienIClient.h ien/client/ienIClientLogic.cpp ien/client/ienIClientLogic.h ien/client/ienIClientNet.cpp ien/client/ienIClientNet.h ien/client/ienIClientNetLogic.cpp ien/client/ienIClientNetLogic.h ien/client/ienIDriver.cpp ien/client/ienIDriver.h ien/client/ienInput.cpp ien/client/ienInput.h ien/client/ienKeys.cpp ien/client/ienKeys.h ien/client/ienTracker.cpp ien/client/ienTracker.h ien/client/ienVideo.cpp ien/client/ienVideo.h ien/common/CircularList.h ien/common/Error.h ien/common/ienAvatar.cpp ien/common/ienAvatar.h ien/common/ienCmd.h ien/common/ienCommon.cpp ien/common/ienCommon.h ien/common/ienConstants.h ien/common/ienEntity.cpp ien/common/ienEntity.h ien/common/ienEnvironment.h ien/common/ienEye.cpp ien/common/ienEye.h ien/common/ienModel.cpp ien/common/ienModel.h ien/common/ienShell.h ien/common/ienShellHelpers.h ien/common/ienShellTypes.h ien/common/ienStatistics.cpp ien/common/ienStatistics.h ien/common/net/ienConnection.cpp ien/common/net/ienConnection.h ien/common/net/ienConnectionInfo.cpp ien/common/net/ienConnectionInfo.h ien/common/net/ienIChannel.h ien/common/net/ienINetwork.cpp ien/common/net/ienINetwork.h ien/common/net/ienNetwork.cpp ien/common/net/ienNetwork.h ien/common/net/ienPayload.h ien/common/net/ienPayloadCLSVCommand.cpp ien/common/net/ienPayloadCLSVCommand.h ien/common/net/ienPayloadConnect.cpp ien/common/net/ienPayloadConnect.h ien/common/net/ienPayloadConnectCommand.cpp ien/common/net/ienPayloadConnectCommand.h ien/common/net/ienPayloadConnectConfig.cpp ien/common/net/ienPayloadConnectConfig.h ien/common/net/ienPayloadDeny.cpp ien/common/net/ienPayloadDeny.h ien/common/net/ienPayloadDisconnect.cpp ien/common/net/ienPayloadDisconnect.h ien/common/net/ienPayloadEntityInput.cpp ien/common/net/ienPayloadEntityInput.h ien/common/net/ienPayloadInitialState.cpp ien/common/net/ienPayloadInitialState.h ien/common/net/ienPayloadSVCLCommand.cpp ien/common/net/ienPayloadSVCLCommand.h ien/common/net/ienPayloadServerConfig.cpp ien/common/net/ienPayloadServerConfig.h ien/common/net/ienPayloadSpawn.cpp ien/common/net/ienPayloadSpawn.h ien/common/net/ienPayloadText.cpp ien/common/net/ienPayloadText.h ien/common/net/ienPayloadUpdate.cpp ien/common/net/ienPayloadUpdate.h ien/common/net/ienReliable.cpp ien/common/net/ienReliable.h ien/common/net/ienUnreliable.cpp ien/common/net/ienUnreliable.h ien/inspect/SConscript ien/inspect/client/inspectCalibrator.cpp ien/inspect/client/inspectCalibrator.h ien/inspect/client/inspectClientLogic.cpp ien/inspect/client/inspectClientLogic.h ien/inspect/client/inspectClientNetLogic.cpp ien/inspect/client/inspectClientNetLogic.h ien/inspect/client/inspectEyeStatus.cpp ien/inspect/client/inspectEyeStatus.h ien/inspect/client/inspectEyeTracker.cpp ien/inspect/client/inspectEyeTracker.h ien/inspect/common/inspectCommon.cpp ien/inspect/common/inspectCommon.h ien/inspect/common/inspectPayload.h ien/inspect/common/inspectPayloadScript.cpp ien/inspect/common/inspectPayloadScript.h ien/inspect/data/autoexec.cfg ien/inspect/data/bindings.cfg ien/inspect/data/both.tga ien/inspect/data/client.cfg ien/inspect/data/deictic.script ien/inspect/data/env/bay/env.mtl ien/inspect/data/env/bay/env.obj ien/inspect/data/env/bay/hull.obj ien/inspect/data/env/bay/lights.cfg ien/inspect/data/env/calib/defect.obj ien/inspect/data/env/calib/env.mb ien/inspect/data/env/calib/env.mtl ien/inspect/data/env/calib/env.obj ien/inspect/data/env/calib/floor2.png ien/inspect/data/env/calib/s_backwall.png ien/inspect/data/env/calib/s_ceiling.png ien/inspect/data/env/calib/s_floor.png ien/inspect/data/env/calib/s_frontwall.png ien/inspect/data/env/calib/s_left_wall_1.png ien/inspect/data/env/calib/s_left_wall_2.png ien/inspect/data/env/calib/s_left_wall_3.png ien/inspect/data/env/calib/s_left_wall_4.png ien/inspect/data/env/calib/s_lws.png ien/inspect/data/env/calib/s_right_wall_1.png ien/inspect/data/env/calib/s_right_wall_2.png ien/inspect/data/env/calib/s_right_wall_3.png ien/inspect/data/env/calib/s_right_wall_4.png ien/inspect/data/env/calib/s_rws.png ien/inspect/data/env/signs/backwall.tga ien/inspect/data/env/signs/backwall.xcf ien/inspect/data/env/signs/ceiling.tga ien/inspect/data/env/signs/ceiling.xcf ien/inspect/data/env/signs/env.mb ien/inspect/data/env/signs/env.mtl ien/inspect/data/env/signs/env.obj ien/inspect/data/env/signs/floor.tga ien/inspect/data/env/signs/floor.xcf ien/inspect/data/env/signs/frontwall.tga ien/inspect/data/env/signs/frontwall.xcf ien/inspect/data/env/signs/leftwall.tga ien/inspect/data/env/signs/leftwall.xcf ien/inspect/data/env/signs/rightwall.tga ien/inspect/data/env/signs/rightwall.xcf ien/inspect/data/env/signs/signs.xcf ien/inspect/data/eye.png ien/inspect/data/eye.tga ien/inspect/data/feb.cfg ien/inspect/data/feb4.script ien/inspect/data/fob-eye.cfg ien/inspect/data/fob-jet.cfg ien/inspect/data/fob-view.cfg ien/inspect/data/head.tga ien/inspect/data/iscan.cfg ien/inspect/data/master.cfg ien/inspect/data/round.png ien/inspect/data/server.cfg ien/inspect/data/signs.script ien/inspect/data/statusbg.png ien/inspect/data/subject.cfg ien/inspect/data/trainee.cfg ien/inspect/data/trainer.cfg ien/inspect/data/ttf/ariblk.ttf ien/inspect/data/ttf/nasa.ttf ien/inspect/inspect.cpp ien/inspect/server/inspectScriptManager.cpp ien/inspect/server/inspectScriptManager.h ien/inspect/server/inspectServerLogic.cpp ien/inspect/server/inspectServerLogic.h ien/inspect/server/inspectServerNetLogic.cpp ien/inspect/server/inspectServerNetLogic.h ien/net/packet.cpp ien/net/packet.h ien/net/packetheader.cpp ien/net/packetheader.h ien/net/packetpayload.cpp ien/net/packetpayload.h ien/net/packetstream.cpp ien/net/packetstream.h ien/net/payloadfactory.cpp ien/net/payloadfactory.h ien/net/payloadtype.h ien/net/socket.cpp ien/net/socket.h ien/net/streambuffer.cpp ien/net/streambuffer.h ien/net/tcp.cpp ien/net/tcp.h ien/net/udp.cpp ien/net/udp.h ien/server/ienIServer.cpp ien/server/ienIServer.h ien/server/ienIServerLogic.cpp ien/server/ienIServerLogic.h ien/server/ienIServerNet.cpp ien/server/ienIServerNet.h ien/server/ienIServerNetLogic.cpp ien/server/ienIServerNetLogic.h ien/server/ienServer.cpp ien/server/ienServer.h ien/server/ienServerCmd.cpp ien/server/ienServerCmd.h ien/server/ienServerNet.cpp ien/server/ienServerNet.h uber/SConscript uber/include/uber/GL/glx.h uber/include/uber/GL/glxtokens.h uber/include/uber/Math.h uber/include/uber/Matrix.h uber/include/uber/aw_mtl.h uber/include/uber/aw_obj.h uber/include/uber/aw_obj_data.h uber/include/uber/aw_obj_data_cache.h uber/include/uber/caches.h uber/include/uber/camera.h uber/include/uber/camera_cache.h uber/include/uber/chair.h uber/include/uber/clocker.h uber/include/uber/commandoptions.h uber/include/uber/config.h uber/include/uber/console.h uber/include/uber/constream.h uber/include/uber/error_base.h uber/include/uber/extgl.h uber/include/uber/file_h.h uber/include/uber/file_manager.h uber/include/uber/fob.h uber/include/uber/fragment_program.h uber/include/uber/fragment_program_cache.h uber/include/uber/gl.h uber/include/uber/gl_matrix.h uber/include/uber/gl_program.h uber/include/uber/gmatrix.h uber/include/uber/gvector.h uber/include/uber/handle.h uber/include/uber/image.h uber/include/uber/image_loader.h uber/include/uber/intersection.h uber/include/uber/iscan.h uber/include/uber/light.h uber/include/uber/light_cache.h uber/include/uber/lod_tri_mesh.h uber/include/uber/material.h uber/include/uber/material_cache.h uber/include/uber/mathematics.h uber/include/uber/matrix.h uber/include/uber/md2.h uber/include/uber/md2_data.h uber/include/uber/md2_data_cache.h uber/include/uber/md3.h uber/include/uber/md3_data.h uber/include/uber/md3_data_cache.h uber/include/uber/md3_inst.h uber/include/uber/mesh3.h uber/include/uber/normalmap.h uber/include/uber/pbuffer.h uber/include/uber/ply.h uber/include/uber/ppm_image.h uber/include/uber/quaternion.h uber/include/uber/rect.h uber/include/uber/regcombiners.h uber/include/uber/sdl_image.h uber/include/uber/shader.h uber/include/uber/shell.h uber/include/uber/singleton.h uber/include/uber/texture.h uber/include/uber/texture_cache.h uber/include/uber/tga_image.h uber/include/uber/tri_mesh.h uber/include/uber/ttf.h uber/include/uber/ttf_cache.h uber/include/uber/uber.h uber/include/uber/uber_shell.h uber/include/uber/utils.h uber/include/uber/vector.h uber/include/uber/vertex_program.h uber/include/uber/vertex_program_cache.h uber/include/uber/vfs.h uber/include/uber/video_X.h uber/include/uber/video_base.h uber/include/uber/video_sdl.h uber/src/SConscript uber/src/aw_mtl.cpp uber/src/aw_obj.cpp uber/src/aw_obj_data.cpp uber/src/chair.cpp uber/src/clocker.cpp uber/src/commandoptions.cpp uber/src/console.cpp uber/src/constream.cpp uber/src/extgl.c uber/src/fob.cpp uber/src/gl.cpp uber/src/gl_matrix.cpp uber/src/gl_program.cpp uber/src/gmatrix.cpp uber/src/gvector.cpp uber/src/image.cpp uber/src/image_loader.cpp uber/src/intersection.cpp uber/src/iscan.cpp uber/src/lod_tri_mesh.cpp uber/src/material.cpp uber/src/matrix.cpp uber/src/md2.cpp uber/src/md2_data.cpp uber/src/md3.cpp uber/src/md3_data.cpp uber/src/md3_inst.cpp uber/src/mesh3.cpp uber/src/normalmap.cpp uber/src/pbuffer.cpp uber/src/ply.cpp uber/src/posix.cpp uber/src/ppm_image.cpp uber/src/quaternion.cpp uber/src/regcombiners.cpp uber/src/sdl_image.cpp uber/src/shell.cpp uber/src/texture.cpp uber/src/tga_image.cpp uber/src/tri_mesh.cpp uber/src/tri_mesh_simplify.cpp uber/src/ttf.cpp uber/src/uber_shell.cpp uber/src/utils.cpp uber/src/vector.cpp uber/src/vfs.cpp uber/src/video_X.cpp uber/src/video_base.cpp uber/src/video_sdl.cpp uber/src/win32.cpp