Revision 28d1c5ef
Added by danij almost 13 years ago
Files
- added
- modified
- copied
- renamed
- deleted
- doomsday
- engine
- api
- dd_share.h (diff)
- doomsday.h (diff)
- data
- engine.pro (diff)
- portable
- include
- dam_blockmap.h
- de_dam.h (diff)
- m_gridmap.h (diff)
- p_bmap.h (diff)
- p_intercept.h (diff)
- p_mapdata.h (diff)
- p_maputil.h (diff)
- p_polyob.h (diff)
- p_think.h (diff)
- r_data.h (diff)
- r_model.h (diff)
- src
- dam_blockmap.c
- dam_main.c (diff)
- edit_map.c (diff)
- m_gridmap.c (diff)
- net_main.c (diff)
- p_bmap.c (diff)
- p_data.c (diff)
- p_dmu.c (diff)
- p_intercept.c (diff)
- p_maputil.c (diff)
- p_objlink.c (diff)
- p_particle.c (diff)
- p_polyob.c (diff)
- p_think.c (diff)
- p_ticker.c (diff)
- r_data.c (diff)
- r_lumobjs.c (diff)
- r_model.c (diff)
- r_shadow.c (diff)
- r_things.c (diff)
- rend_main.c (diff)
- rend_shadow.c (diff)
- rend_sprite.c (diff)
- sv_pool.c (diff)
- include
- api
- plugins
- common
- src
- g_update.c (diff)
- p_ceiling.c (diff)
- p_floor.c (diff)
- p_map.c (diff)
- p_mapsetup.c (diff)
- p_mapspec.c (diff)
- p_plat.c (diff)
- p_saveg.c (diff)
- p_start.c (diff)
- p_switch.c (diff)
- p_xgline.c (diff)
- p_xgsec.c (diff)
- rend_automap.c (diff)
- src
- jdoom
- src
- p_enemy.c (diff)
- p_maputl.c (diff)
- p_mobj.c (diff)
- p_oldsvg.c (diff)
- p_telept.c (diff)
- src
- jdoom64
- src
- p_enemy.c (diff)
- p_maputl.c (diff)
- p_mobj.c (diff)
- p_telept.c (diff)
- src
- jheretic
- src
- p_enemy.c (diff)
- p_maputl.c (diff)
- p_oldsvg.c (diff)
- p_telept.c (diff)
- src
- jhexen
- common
- engine
Reimplement Gridmap as a sparse region quadtree
All map data blockmaps have been replaced with quadtrees (i.e., LineDefs
Mobjs, Polyobjs, Subsectors and the "obj-link" structures) and all are
constructed piece-wise, with the objects of each cell managed using
ring linked lists.
Cleaned up the unfinished code I left behind during the floating point
switch over.
Todo: Replace/reimplement P_PathTraverse with an algorithm that removes
the assumption that all blockmaps use the same block size dimensions.
Todo: Improve Map_LinkLineDefInBlockmap to avoid traversing the whole
blockmap (straight forward; clip work set to LineDef's AABB in cell
coords).