SaveId

From Blood Wiki
(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
 
{{article unfinished}}
 
{{article unfinished}}
  
SaveId - entity savegame identificator key. It is a number, unique withing a level, assigned with [[RWGTools]] NetRadiant plugin to a "sid" entity field. It is required to store information about levels that was already visited. Instead of entity number (assigned by engine when entity is spawned) SaveId cannot be reused when new entity created. Also SaveId survives level editing and recompilation, allowing to extend existing game levels without [[break savegame | breaking saved games]].
+
SaveId - entity savegame identificator key. It is a number, unique within a level, assigned with [[RWGTools]] to a "sid" entity field. It is required for gamecode to store information about levels that was already visited. Instead of entity number (assigned by engine when entity is spawned) SaveId cannot be reused when new entity is created. Also SaveId survives level editing and recompilation, allowing to extend existing game levels without [[break savegame | breaking saved games]].
  
 
RWGTools have this options to manipulate SaveId's:
 
RWGTools have this options to manipulate SaveId's:
Line 10: Line 10:
 
* Check - checks map for duplicate saveid's and other errors
 
* Check - checks map for duplicate saveid's and other errors
  
SaveID's is a courtesy of level re-entering which was core game feature of Blood Omen, but has no core support Darkplaces engine. Re-entering is a part of Blood Omnicide gamelogic. It follows this rules:
+
SaveID's is a courtesy of level re-entering which is core game feature in Blood Omen, but has no core support in Darkplaces engine. Re-entering is a part of Blood Omnicide gamelogic. It follows this rules:
  
* On level exit, all entrities with SaveId launch their saving function (class-dependent) which forms a savestring for each entity (it stores entity properties that was changed comparing to level initial state), then all savestrings with saveid's are into the level save table.
+
* On level exit, all entrities with SaveId launch their saving function (class-dependent) which forms a savestring for each entity (storing entity properties that was changed comparing to level initial state), then all savestrings get packed into the level save lumps.
 +
* When level is loaded, gamecode checks if this level has save lump, and loads it into the reenter array of savestrings.
 +
* Each entity when spawned, checks for corresponding record in reenter table and loads properties from there.
  
 
[[Category:Glossary]]
 
[[Category:Glossary]]

Revision as of 20:13, 16 July 2012

Template:Article unfinished

SaveId - entity savegame identificator key. It is a number, unique within a level, assigned with RWGTools to a "sid" entity field. It is required for gamecode to store information about levels that was already visited. Instead of entity number (assigned by engine when entity is spawned) SaveId cannot be reused when new entity is created. Also SaveId survives level editing and recompilation, allowing to extend existing game levels without breaking saved games.

RWGTools have this options to manipulate SaveId's:

  • Add - mark SaveId's on new entities
  • Remove - remove SaveID's on selected entities (when they are significatly changed, they will get new number with next 'Add' operation)
  • Clear - remove all SaveId's and clear world counter
  • Check - checks map for duplicate saveid's and other errors

SaveID's is a courtesy of level re-entering which is core game feature in Blood Omen, but has no core support in Darkplaces engine. Re-entering is a part of Blood Omnicide gamelogic. It follows this rules:

  • On level exit, all entrities with SaveId launch their saving function (class-dependent) which forms a savestring for each entity (storing entity properties that was changed comparing to level initial state), then all savestrings get packed into the level save lumps.
  • When level is loaded, gamecode checks if this level has save lump, and loads it into the reenter array of savestrings.
  • Each entity when spawned, checks for corresponding record in reenter table and loads properties from there.
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox