world/maps/ | +---------------------oneworld/ | +--------------------- index.xml 0.0.0.xml 1.0.0.xml 2.0.0.xml 0.0.1.xml 0.0.2.xml -1.0.0.xml -2.0.0.xml -2.1.0.xml etc... | +----------------------twoworld/ | +---------------------index.xml 0.0.0.xml etc.... ------------------------------------------------------------------------- index.xml: region 0.0.0 x = -1 x = 0 x = +1 neighbors <-1.-1.-1> vector3df vector3df z = -1 vector3df vector3df vector3df z = 0 y = -1 vector3df vector3df vector3df z = +1 <-1.0.-1> vector3df vector3df z = -1 vector3df <0.0.0> vector3df z = 0 y = 0 "" vector3df <1.0.1> z = +1 vector3df vector3df vector3df z = -1 vector3df vector3df vector3df z = 0 y = +1 vector3df vector3df <1.1.1> z = +1 ----------------------------------------------------------------------------- 0.0.0.xml node node node light node object object etc... ----------------------------------------------------------------------------- 1.0.0.xml node node node light node object object etc... ----------------------------------------------------------------------------- -2000000000.0.-2000000999.xml node node node light node object object etc... -------- notes: index.xml: a reference to a region "0.0.0" for example points to a file called 0.0.0.xml which stores all the content, nodes, objects etc 0.0.0.xml a region file neighbors: a neighbor structure within the index specifies the neighbor regions as file name bases in an array of 27 string based vectors "" would specify that a region is empty, no file exists for that region at any one time a single array of 27 vectors indicating possible neighbors exists in memory, the central 0.0.0 representing the camera target location