Revision 610e1338
Added by danij almost 14 years ago
Continuing work on ringzero:
- All file and Material references in the DED database now use de::Uri
- All public references to Materials now use either their global unique id or an absolute resource path.
- Always clear all event/command bindings during game unload; do not trust subsequently loaded configs to do it for us.
- Defer saving of the game-specific config files until after calling a game's shutdown routine. Rationale: we can defer destruction of the console databases so as to afford the game another opportunity to make changes.
- Always set the desired transition style during game plugin init as the engine is not yet capable of restoring default values (must fix!).
- Changed ccmd load to allow a game (must be the first argument) and a set of extra resources to be loaded at once (e.g., "load doom2 dv.wad").
- Fixed potential fatal error in con_main.c's executeSubCmd() - ccmds which invoke a full console database update and then return false would result in dereferencing the (now invalid) local ccmd pointer.
- Fixed potential fatal error in con_main.c's executeSubCmd() - cvars whose notification callbacks invoke a full console database update could result in dereferencing the (now invalid) local cvar pointer.
- Tweaked various log and error messages to be a bit more readable/friendly.
- In "null-game" mode - any key now opens the console and the shift+esc shortcut to the control panel is disabled.
- Changed: CCmd "help" now looks for matching aliases and displays the associated command string if found.
- Disable use of CCmd "fog" in "null-game" mode.
- Fixed: cvar "con-snapback" was missing a help description.
- Implemented a version of de::ZBlockSet that allocates from the heap called de::BlockSet
- Redesigned memory management for the console object databases (cvars/ccmds/caliases and knownWords).
- Various algorithm changes in the console databases to revise how known words are used. This addresses concurrency issues with the auto-complete feature of the interactive console. Moved caching of the sorted known words list into con_data.c
- Changed sort algorithms for cvars and caliases in the console database to a simple insertion sort at creation time; this is a better match for how these objects are allocated (periodically, in batches).
- Fixed: ccmd "listcmds" would output duplicate elements for overloaded console commands.
- Stabilized the sorting of console command overloads into creation order.
- Avoid rebuilds of the known words dictionary when possible; deletion of elements and overloaded console command registration.
- Fixed visible popup of the first line of the console history buffer and various other minor rendering issues in the console.
Files
- added
- modified
- copied
- renamed
- deleted
- doomsday
- build
- engine
- api
- dd_share.h (diff)
- dd_types.h (diff)
- dd_uri.h (diff)
- doomsday.def (diff)
- doomsday.h (diff)
- data
- defs
- portable
- include
- b_context.h (diff)
- blockset.h
- con_main.h (diff)
- dd_main.h (diff)
- dd_pinit.h (diff)
- dd_zone.h (diff)
- def_data.h (diff)
- def_main.h (diff)
- gameinfo.h (diff)
- gl_texmanager.h (diff)
- m_misc.h (diff)
- mapdata.hs (diff)
- p_maptypes.h (diff)
- p_materialmanager.h (diff)
- pathdirectory.h (diff)
- r_data.h (diff)
- r_draw.h (diff)
- rend_console.h (diff)
- resourcenamespace.h (diff)
- s_environ.h (diff)
- sys_reslocator.h (diff)
- src
- b_context.c (diff)
- blockset.c
- bsp_edge.c (diff)
- cl_oldworld.c (diff)
- con_busy.c (diff)
- con_config.c (diff)
- con_data.c (diff)
- con_main.c (diff)
- dam_file.c (diff)
- dd_help.c (diff)
- dd_main.c (diff)
- dd_pinit.c (diff)
- dd_wad.c (diff)
- dd_zone.c (diff)
- def_data.c (diff)
- def_main.c (diff)
- def_read.c (diff)
- edit_map.c (diff)
- finaleinterpreter.c (diff)
- gameinfo.c (diff)
- gl_drawcompositefont.c (diff)
- gl_font.c (diff)
- gl_main.c (diff)
- gl_tex.c (diff)
- gl_texmanager.c (diff)
- m_misc.c (diff)
- m_string.c (diff)
- net_main.c (diff)
- p_materialmanager.c (diff)
- r_data.c (diff)
- r_draw.c (diff)
- r_lumobjs.c (diff)
- r_main.c (diff)
- r_model.c (diff)
- r_shadow.c (diff)
- r_things.c (diff)
- r_world.c (diff)
- rend_bias.c (diff)
- rend_console.c (diff)
- rend_decor.c (diff)
- rend_main.c (diff)
- rend_model.c (diff)
- rend_particle.c (diff)
- rend_sky.c (diff)
- rend_sprite.c (diff)
- resourcenamespace.c (diff)
- s_environ.c (diff)
- s_mus.c (diff)
- sys_reslocator.c (diff)
- ui_mpi.c (diff)
- ui_panel.c (diff)
- uri.c (diff)
- include
- unix
- win32
- api
- plugins
- common
- include
- src
- g_game.c (diff)
- g_update.c (diff)
- hu_menu.c (diff)
- hu_pspr.c (diff)
- hu_stuff.c (diff)
- m_multi.c (diff)
- p_inventory.c (diff)
- p_mapsetup.c (diff)
- p_saveg.c (diff)
- p_start.c (diff)
- p_svtexarc.c (diff)
- p_switch.c (diff)
- p_terraintype.c (diff)
- p_xgsave.c (diff)
- jdoom
- jdoom64
- jheretic
- jhexen
- wadmapconverter
- common