Project

General

Profile

« Previous | Next » 

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

View differences