idlib 代码 文件夹 包括 以下 部分geogeryidLib contains stateless support classes and concrete types. Some classesdo have static variables, but such variables are initialized once andread-only after initialization (they do not maintain a modifiable state).idLib 包含 无状态支持 类 和 具体 类型。一些 类 有 静态变量但这样的 变量 初始化 一次 和 初始化 后 只读 (不保持可修改 状态)。The interface pointers idSys, idCommon, idCVarSystem and idFileSystemshould be set before using idLib.The pointers stored here should not be used by any part of the engine except for idLib.接口 指针 idSys, idCommon, idCVarSystem 和 idFileSystem 在使用idLib之前应该设置。..在使用idlib之前应设置接口指针idsys、idcommon、idcVarSystem和idFileSystem.。..除IDLIB外引擎的任何部分都不应使用此处存储的指针。几何idPatchidSurfaceidWindingidBrush容器类包括了很多定义 例如哈希表向量链表树winding2dtrace_modelsurface数学类向量四元数角度矩阵等等的处理了者也plane平面部分定义 函数主要用于这个 碰撞检测 部分的处理有待补充simd1,simd2,simd4,simd53dNow!指令 等等随机数的处理lcpbvodecomplex对于包围盒的处理了boundfrustum平截头体的处理了box的碰撞了spheremapfile地图文件的处理了者也这个还要分析q3的brush其实很多还是继承了Quake3等等以前的很多包括从doom1代码很多逐步的变化演化而来.........idmapEntity// filename does not require an extension// normally this will use a .reg file instead of a .map file if it exists,// filename 不需要 扩展名。// 通常这将使用.reg文件而不是.map文件如果存在。// which is what the game and dmap want,// but the editor will want to always load a .map file//这是 游戏和DMAP 想要的//但是 编辑器 总是想要 加载一个.map文件对于文件的crc的检查了者也对于文件的时间的检查了base64基于64位的处理了者也thread线程的处理parsertimer时间管理器的处理tokenstrbitmsglexer词法器的处理了者也System 的处理// System#include sys/sys_assert.h#include sys/sys_threading.h内存管理类 的 处理// memory management and arrays// 内存 管理 和 阵列#include Heap.h#include containers/Sort.h#include containers/List.h数学的处理了// math#include math/Simd.h#include math/Math.h#include math/Random.h#include math/Complex.h#include math/Vector.h#include math/VecX.h#include math/VectorI.h#include math/Matrix.h#include math/MatX.h#include math/Angles.h#include math/Quat.h#include math/Rotation.h#include math/Plane.h#include math/Pluecker.h#include math/Polynomial.h#include math/Extrapolate.h#include math/Interpolate.h#include math/Curve.h#include math/Ode.h#include math/Lcp.h包围盒的处理// bounding volumes//包围盒#include bv/Sphere.h#include bv/Bounds.h#include bv/Box.h几何的处理了// geometry#include geometry/RenderMatrix.h#include geometry/JointTransform.h#include geometry/DrawVert.h#include geometry/Winding.h#include geometry/Winding2D.h#include geometry/Surface.h#include geometry/Surface_Patch.h#include geometry/Surface_Polytope.h#include geometry/Surface_SweptSpline.h#include geometry/TraceModel.h文本处理了// text manipulation//文本处理#include Str.h#include StrStatic.h#include Token.h#include Lexer.h#include Parser.h#include Base64.h#include CmdArgs.h容器类的处理了// containers#include containers/Array.h#include containers/BTree.h#include containers/BinSearch.h#include containers/HashIndex.h#include containers/HashTable.h#include containers/StaticList.h#include containers/LinkList.h#include containers/Hierarchy.h#include containers/Queue.h#include containers/Stack.h#include containers/StrList.h#include containers/StrPool.h#include containers/VectorSet.h#include containers/PlaneSet.h哈希类的处理了// hashing#include hashing/CRC32.h#include hashing/MD4.h#include hashing/MD5.h// misc#include Dict.h#include LangDict.h#include DataQueue.h#include BitMsg.h#include MapFile.h#include Timer.h#include Thread.h#include Swap.h#include Callback.h#include ParallelJobList.h预编译部分的处理了者也#include sys/sys_defines.h#include sys/sys_builddefines.h#include sys/sys_includes.h#include sys/sys_assert.h#include sys/sys_types.h#include sys/sys_intrinsics.h#include sys/sys_threading.h//-----------------------------------------------------#define ID_TIME_T int64 // Signed because -1 means File not found and we dont want that to compare than any other time// non-portable system services#include ../sys/sys_public.hid lib部分// id lib#include ../idlib/Lib.h#include sys/sys_filesystem.h框架// framework#include ../framework/BuildVersion.h#include ../framework/Licensee.h#include ../framework/CmdSystem.h#include ../framework/CVarSystem.h#include ../framework/Common.h#include ../framework/File.h#include ../framework/File_Manifest.h#include ../framework/File_SaveGame.h#include ../framework/File_Resource.h#include ../framework/FileSystem.h#include ../framework/UsercmdGen.h#include ../framework/Serializer.h#include ../framework/PlayerProfile.h// decls#include ../framework/TokenParser.h#include ../framework/DeclManager.h#include ../framework/DeclTable.h#include ../framework/DeclSkin.h#include ../framework/DeclEntityDef.h#include ../framework/DeclFX.h#include ../framework/DeclParticle.h#include ../framework/DeclAF.h#include ../framework/DeclPDA.h对于对于声音和其他的系统的处理了// We have expression parsing and evaluation code in multiple places:// materials, sound shaders, and guis. We should unify them.const int MAX_EXPRESSION_OPS 4096;const int MAX_EXPRESSION_REGISTERS 4096;渲染器// renderer#include ../renderer/OpenGL/qgl.h#include ../renderer/Cinematic.h#include ../renderer/Material.h#include ../renderer/BufferObject.h#include ../renderer/VertexCache.h#include ../renderer/Model.h#include ../renderer/ModelManager.h#include ../renderer/RenderSystem.h#include ../renderer/RenderWorld.h// sound engine#include ../sound/sound.hui系统// user interfaces#include ../ui/ListGUI.h#include ../ui/UserInterface.h#include ../swf/SWF.h碰撞检测// collision detection system#include ../cm/CollisionModel.haas管理系统// AAS files and manager#include ../aas/AASFile.h#include ../aas/AASFileManager.h游戏逻辑系统// game#include ../d3xp/Game.h网路系统// Session / Network#include ../sys/LightweightCompression.h#include ../sys/Snapshot.h#include ../sys/PacketProcessor.h#include ../sys/SnapshotProcessor.h#include ../sys/sys_savegame.h#include ../sys/sys_session_savegames.h#include ../sys/sys_profile.h#include ../sys/sys_localuser.h#include ../sys/sys_signin.h#include ../sys/sys_stats_misc.h#include ../sys/sys_stats.h#include ../sys/sys_session.h#include ../sys/sys_achievements.h//-----------------------------------------------------#ifndef _D3SDK#ifdef GAME_DLL#include ../d3xp/Game_local.h#else#include ../framework/DemoChecksum.h// framework#include ../framework/Compressor.h#include ../framework/EventLoop.h#include ../framework/KeyInput.h#include ../framework/EditField.h#include ../framework/DebugGraph.h#include ../framework/Console.h#include ../framework/DemoFile.h#include ../framework/Common_dialog.h#endif /* !GAME_DLL */#endif /* !_D3SDK *///-----------------------------------------------------#undef min#undef max#include algorithm // for min / max / swap