I think what Yann really needs is a stable branch; or perhaps Tim needs an unstable branch. I've worked on some very large projects and you really have to be able to destabilize the tree at certain points to make any progress. Overlays sound like a very useful feature for the large map work that is going on. But that obviously shouldn't destabilize an active server like 'mids'. By branching the CVS trunk at some point it would be possible to continue patching problems in the stable branch while adding more dangerous but also more exciting changes to the main branch. Porting patches back to the main trunk can become a bit of a chore, but ultimately when the next stable version is branched it will stabilize regardless of whether the patches have all been moved or not. Cheers, -kls On Wed, Jan 02, 2002 at 03:11:21PM -0700, Tim Rightnour wrote: > > On 02-Jan-02 Yann Chachkoff wrote: > > Again unstable and undocumented feature popped out on the CVS code. > > Although I understand quite well the motivations of acting so, as well as the > > problems any OpenSource project like Crossfire needs to handle, I do not > > approve them. > > Well.. I sincerely apologize for not posting first.. I really should have done > so. So there are two things I'd like to try and do to rectify this: > > 1) Open this up for discussion. Yes, it's allready committed.. but I'm > completely willing to backout and/or make changes. Since I screwed up, and > didn't post first.. I will take complete responsibility for a backout if people > want me to back it out. > > 2) Describe what it is that I did, and attempt to document it here for everyone. > > The overlay code does the following: > > An overlay is a partial map, which is loaded on top of the original map. > Any items on the overlay are loaded in addition to items normally on the map > from the standard map files. > > Overlay maps are not normally saved. There are two situations when an overlay > map is saved. 1) During an emergency save. 2) When using the new world maps, > the world map is slowly processed and re-saved via overlays. > > Overlays allow one to make modifications to a map, without modifying the > original maps. In this way, information such as temperature or weather > conditions can be saved in the map headers, and continually updated regardless > of a new version of the map being downloaded. In addition, things such as > additions by DM's can be saved on these overlays. Nothing alive is ever saved > on an overlay. > > When a map is loaded via ready_map, it attempts to load the overlay for that > map. If none exists, it continues without it. If one does exist, it loads the > overlay, and replaces the map header with the one on the overlay. It also > loads and places any items on the overlay map onto the map. > > There also exists a decay algorithim, which fires off at ready_map(). This > algorithim looks over the entire map for things that were not loaded as part of > the original maps (marked with a flag FLAG_OBJ_ORIGINAL) and slowly decays > those objects, to prevent them from accumulating forever. In addition, the > weather code, which slowly processes the entire worldmap over the course of a > day, runs the decay as it goes. > > --- > Tim Rightnour < root at garbled.net > > NetBSD: Free multi-architecture OS http://www.netbsd.org/ > NetBSD supported hardware database: http://mail-index.netbsd.org/cgi-bin/hw.cgi > _______________________________________________ > crossfire-devel mailing list > crossfire-devel at lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel -- // .--=, .....::://::::::::::::::::::::::::::::.. (o O & kevin at ank.com :::::::: //:::://://://:/:://::||_// / V K :::::://:::://:/:|//'/' // _,|' r , 'qk :'''/____ // / // |_// // || .'~. .~`, kls \_/-=\_/