From: <sv...@ww...> - 2004-09-12 23:46:46
|
Author: mkrose Date: 2004-09-12 16:46:39 -0700 (Sun, 12 Sep 2004) New Revision: 1226 Added: trunk/CSP/CSPSim/Include/Battlefield.h trunk/CSP/CSPSim/Include/SceneManager.h trunk/CSP/CSPSim/Include/SimpleSceneManager.h trunk/CSP/CSPSim/Source/Battlefield.cpp trunk/CSP/CSPSim/Source/SceneManager.cpp trunk/CSP/CSPSim/Source/SimpleSceneManager.cpp Modified: trunk/CSP/CSPSim/CHANGES.current trunk/CSP/CSPSim/Include/CSPSim.h trunk/CSP/CSPSim/Include/CSPSim.i trunk/CSP/CSPSim/Include/ClientNode.h trunk/CSP/CSPSim/Include/Dispatch.h trunk/CSP/CSPSim/Include/DispatchCenter.h trunk/CSP/CSPSim/Include/DynamicObject.h trunk/CSP/CSPSim/Include/SimNet/DispatchMessageHandler.h trunk/CSP/CSPSim/Include/SimNet/NetworkMessage.h trunk/CSP/CSPSim/Include/SimNet/NetworkMessageHandler.h trunk/CSP/CSPSim/Include/SimNet/Networking.h trunk/CSP/CSPSim/Include/SimObject.h trunk/CSP/CSPSim/Include/SynchronousUpdate.h trunk/CSP/CSPSim/Include/Theater/FeatureGroup.h trunk/CSP/CSPSim/Include/Views/View.h trunk/CSP/CSPSim/Include/VirtualScene.h trunk/CSP/CSPSim/Include/VirtualScene.i trunk/CSP/CSPSim/Makefile.in trunk/CSP/CSPSim/Source/CSPSim.cpp trunk/CSP/CSPSim/Source/ClientNode.cpp trunk/CSP/CSPSim/Source/DispatchCenter.cpp trunk/CSP/CSPSim/Source/DynamicObject.cpp trunk/CSP/CSPSim/Source/GameScreen.cpp trunk/CSP/CSPSim/Source/Makefile.in trunk/CSP/CSPSim/Source/PhysicsModel.cpp trunk/CSP/CSPSim/Source/ScreenInfo.cpp trunk/CSP/CSPSim/Source/SimNet/DispatchMessageHandler.cpp trunk/CSP/CSPSim/Source/SimObject.cpp trunk/CSP/CSPSim/Source/SynchronousUpdate.cpp trunk/CSP/CSPSim/Source/TankObject.cpp trunk/CSP/CSPSim/Source/Theater/FeatureGroup.cpp trunk/CSP/CSPSim/Source/Views/View.cpp trunk/CSP/CSPSim/Source/VirtualScene.cpp trunk/CSP/CSPSim/Source/cCSP.i Log: * Implemented a new Battlefield class to replace VirtualBattlefield. This class uses quadtree spatial indices instead of a fixed grid structure, and has a looser coupling to other components of CSP than the old battlefield. This should make it easier to reuse for the index server. * Defined a SceneManager interface to decouple the battlefield from the scene graph. Implemented the interface in SimpleSceneManager to provide basic addition and removal of objects from the scene graph. In the future it would be good to implemented a more sophisticated scene manager subclass that constructs the scene graph elements of FeatureGroups in a separate thread, and handles feature transparency to smoothly hide features at the edge of the visible range. * Added a method to synchronous update to allow update targets to be manually disconnected from an update master. * Revised the SimObject interface, consolidating some pieces that had spread to DynamicObject and FeatureGroup. SimObject is the only object class that the new battlefield needs to know about. * Minor tweaks to SimNet to reduce header dependencies. * Implemented a new view mode that places the camera in a fixed location 20 m behind the object and tracks the object motion from that point. This was useful when testing object visibility updates with the new battlefield code, but may be removed when no longer needed/desired. * Changed the makefile paths such that TOPDIR now refers to CSP/. Also added the SpatialIndex library (CSP/SpatialIndex/libspatialindex). * Fix .dep file dependencies, so that a .dep file will be regenerated whenever the corresponding object file is regenerated. Previously .dep files were only regenerated when the corresponding source file changed, but this neglected important header file changes. Linux developers should 'make clean-deps' (or just 'make clean') after this update to ensure that the dependency files are set up correctly. > Windows users: - build and link to the SpatialIndex library. - add Battlefield.cpp, SceneManager.cpp, and SimpleSceneManager.cpp to the build. - remove VirtualBattlefield.cpp from the build. Browse at: https://www.zerobar.net/viewcvs/viewcvs.cgi?view=rev&rev=1226 Diff omitted (123565 bytes). |