openmw-tes3coop/components/esm
scrawl fbee32729a Cache CellId
ESM::Cell::getCellId() was allocating a string on every call. This caused functions dealing with cellIds to be unnecessarily expensive.

For example, World::moveObject spent almost as much time comparing CellIds as it did updating Bullet's AABB after the move. OpGetDistance was by far the most expensive script instruction because it has to compare cellIds.

The total cost of getCellId() relative to the frame loop was about 0.3%.
2015-11-26 23:56:32 +01:00
..
activespells.cpp Savegame: store ActiveSpells 2014-05-14 23:54:15 +02:00
activespells.hpp Savegame: store ActiveSpells 2014-05-14 23:54:15 +02:00
aipackage.cpp Don't rely on subrecord order part 2 2015-02-12 05:43:22 +01:00
aipackage.hpp reverted mShouldRepeat back to unsigned char. 2015-03-07 11:04:54 +13:00
aisequence.cpp Store original actor position in AiWander package (Fixes #2200) 2015-01-01 03:38:49 +01:00
aisequence.hpp reverted mShouldRepeat back to unsigned char. 2015-03-07 11:04:54 +13:00
attr.cpp Handle werewolf stats 2013-08-09 05:14:58 -07:00
attr.hpp Handle werewolf stats 2013-08-09 05:14:58 -07:00
cellid.cpp Remove empty line at the beginning of files 2015-08-18 23:06:12 +02:00
cellid.hpp Use multimap to speed up custom map marker code 2015-07-17 20:49:10 +02:00
cellref.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
cellref.hpp Make saving of deleted ESM records more consistent 2015-07-28 21:37:21 +03:00
cellstate.cpp Remove empty line at the beginning of files 2015-08-18 23:06:12 +02:00
cellstate.hpp Feature #32: Implement respawn for containers, creatures and NPCs 2014-05-17 09:09:00 +02:00
containerstate.cpp Remove empty line at the beginning of files 2015-08-18 23:06:12 +02:00
containerstate.hpp store content of containers in saved game files 2014-01-31 13:25:32 +01:00
creaturelevliststate.cpp Feature #32: Implement respawn for containers, creatures and NPCs 2014-05-17 09:09:00 +02:00
creaturelevliststate.hpp Feature #32: Implement respawn for containers, creatures and NPCs 2014-05-17 09:09:00 +02:00
creaturestate.cpp Remove empty line at the beginning of files 2015-08-18 23:06:12 +02:00
creaturestate.hpp ESSImport: player is placed in correct cell, npc cellrefs work 2015-01-18 20:01:50 +01:00
creaturestats.cpp Explicitly instantiate ESM::StatState 2015-07-07 19:19:37 +02:00
creaturestats.hpp Move attackingOrSpell flag to the CharacterController 2015-07-02 19:14:28 +02:00
custommarkerstate.cpp ESSImport: convert custom map markers, not working for interiors yet 2015-01-19 09:29:21 +01:00
custommarkerstate.hpp ESSImport: convert custom map markers, not working for interiors yet 2015-01-19 09:29:21 +01:00
debugprofile.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
debugprofile.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
defs.hpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
dialoguestate.cpp Remove empty line at the beginning of files 2015-08-18 23:06:12 +02:00
dialoguestate.hpp ESSImport: convert faction reactions and known dialogue topics 2015-01-20 15:56:07 +01:00
doorstate.cpp Savegame: store door movement state (Closes #747) 2014-05-15 09:54:10 +02:00
doorstate.hpp Savegame: store door movement state (Closes #747) 2014-05-15 09:54:10 +02:00
effectlist.cpp Don't rely on subrecord order part 2 2015-02-12 05:43:22 +01:00
effectlist.hpp Don't rely on subrecord order part 2 2015-02-12 05:43:22 +01:00
esmcommon.hpp Remove no longer required strnlen wrapper 2015-03-18 23:37:54 +02:00
esmreader.cpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
esmreader.hpp Refine DELE handling in ESM records. Add position-independent DELE search 2015-07-19 14:57:59 +03:00
esmwriter.cpp Handle encoding conversions when saving TES3 header (Fixes #2727) 2015-06-26 20:16:32 +02:00
esmwriter.hpp Handle encoding conversions when saving TES3 header (Fixes #2727) 2015-06-26 20:16:32 +02:00
filter.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
filter.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
fogstate.cpp Savegame: store fog of war (Closes #1177) 2014-05-11 02:07:58 +02:00
fogstate.hpp Savegame: store fog of war (Closes #1177) 2014-05-11 02:07:58 +02:00
globalmap.cpp Fix global map markers being duplicated when cell is visited again 2014-09-26 16:51:48 +02:00
globalmap.hpp Fix global map markers being duplicated when cell is visited again 2014-09-26 16:51:48 +02:00
globalscript.cpp Remove empty line at the beginning of files 2015-08-18 23:06:12 +02:00
globalscript.hpp ESSImport: convert running global scripts 2015-01-27 23:05:20 +01:00
inventorystate.cpp Remove empty line at the beginning of files 2015-08-18 23:06:12 +02:00
inventorystate.hpp Store selected enchant item in savegame (Fixes #1702) 2015-01-23 16:45:47 +01:00
journalentry.cpp Remove empty line at the beginning of files 2015-08-18 23:06:12 +02:00
journalentry.hpp Feature #764: Store the actor that gave the dialog response 2014-02-01 18:42:01 +01:00
loadacti.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadacti.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadalch.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadalch.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadappa.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadappa.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadarmo.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadarmo.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadbody.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadbody.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadbook.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadbook.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadbsgn.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadbsgn.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadcell.cpp Cache CellId 2015-11-26 23:56:32 +01:00
loadcell.hpp Cache CellId 2015-11-26 23:56:32 +01:00
loadclas.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadclas.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadclot.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadclot.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadcont.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadcont.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadcrea.cpp Ignore Creature INDX subrecords 2015-11-18 16:47:03 +01:00
loadcrea.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loaddial.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loaddial.hpp Remove unused includes 2015-07-22 22:18:26 +03:00
loaddoor.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loaddoor.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadench.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadench.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadfact.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadfact.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadglob.cpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadglob.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadgmst.cpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadgmst.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadinfo.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadinfo.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadingr.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadingr.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadland.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadland.hpp Merge commit 'pull/upstream/678' into HEAD 2015-11-13 01:34:36 +01:00
loadlevlist.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadlevlist.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadligh.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadligh.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadlock.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadlock.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadltex.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadltex.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadmgef.cpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadmgef.hpp Merge commit 'pull/upstream/678' into HEAD 2015-11-13 01:34:36 +01:00
loadmisc.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadmisc.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadnpc.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadnpc.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadpgrd.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadpgrd.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadprob.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadprob.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadrace.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadrace.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadregn.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadregn.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadrepa.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadrepa.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadscpt.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadscpt.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadskil.cpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadskil.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadsndg.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadsndg.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadsoun.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadsoun.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadspel.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadspel.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadsscr.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadsscr.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadstat.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadstat.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
loadtes3.cpp Remove empty line at the beginning of files 2015-08-18 23:06:12 +02:00
loadtes3.hpp Don't rely on subrecord order part 2 2015-02-12 05:43:22 +01:00
loadweap.cpp Move common subrecord definitions (NAME, DELE) to defs.hpp 2015-11-13 18:07:18 +01:00
loadweap.hpp Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 2015-07-22 19:26:00 +03:00
locals.cpp Remove empty line at the beginning of files 2015-08-18 23:06:12 +02:00
locals.hpp store global script state in saved game files 2013-12-15 16:16:50 +01:00
magiceffects.cpp Store magic effect Base values in savegame (Fixes #1489) 2014-08-17 05:38:48 +02:00
magiceffects.hpp Store magic effect Base values in savegame (Fixes #1489) 2014-08-17 05:38:48 +02:00
npcstate.cpp Remove empty line at the beginning of files 2015-08-18 23:06:12 +02:00
npcstate.hpp ESSImport: player is placed in correct cell, npc cellrefs work 2015-01-18 20:01:50 +01:00
npcstats.cpp Move attackStrength to the CharacterController, where it should have been to begin with 2015-06-26 05:15:07 +02:00
npcstats.hpp Werewolf stats compatibility with old save files 2015-06-21 18:45:49 +02:00
objectstate.cpp Merge commit 'pull/upstream/678' into HEAD 2015-11-13 01:34:36 +01:00
objectstate.hpp Rotations: remove LocalRotation 2015-11-12 01:16:37 +01:00
player.cpp Remove empty line at the beginning of files 2015-08-18 23:06:12 +02:00
player.hpp Loading/saving for player's original skills/attributes (prior to becoming a werewolf) 2015-06-21 17:36:49 +02:00
projectilestate.cpp Fix projectile hit bug where the incorrect attackStrength would be used if a new attack has been performed in the meantime 2015-06-26 02:32:41 +02:00
projectilestate.hpp Fix projectile hit bug where the incorrect attackStrength would be used if a new attack has been performed in the meantime 2015-06-26 02:32:41 +02:00
queststate.cpp Remove empty line at the beginning of files 2015-08-18 23:06:12 +02:00
queststate.hpp ESSImport: convert journal indices 2015-01-27 23:12:21 +01:00
quickkeys.cpp Savegame: store most of CreatureStats 2014-05-12 21:37:36 +02:00
quickkeys.hpp Move to esm component 2014-05-02 12:48:07 +02:00
records.hpp Remove some unused code, include cleanup 2015-01-27 23:12:13 +01:00
savedgame.cpp Discard old save game weather records 2015-08-27 09:57:32 -05:00
savedgame.hpp Use the format field instead of version field 2015-06-30 17:26:33 +02:00
spelllist.cpp Don't rely on subrecord order part 2 2015-02-12 05:43:22 +01:00
spelllist.hpp Don't rely on subrecord order part 2 2015-02-12 05:43:22 +01:00
spellstate.cpp Implement removal of corprus spells 2014-08-22 03:34:31 +02:00
spellstate.hpp Don't clear known spells when reading from the savegame 2015-01-23 15:34:14 +01:00
statstate.cpp Instantiate struct as a struct 2015-07-09 22:45:25 +02:00
statstate.hpp Explicitly instantiate ESM::StatState 2015-07-07 19:19:37 +02:00
stolenitems.cpp Stolen item tracking overhaul part 2 (Fixes #2338) 2015-02-06 01:27:16 +01:00
stolenitems.hpp Stolen item tracking overhaul part 2 (Fixes #2338) 2015-02-06 01:27:16 +01:00
transport.cpp Add travel service support for creatures (Fixes #2432) 2015-03-09 03:15:11 +01:00
transport.hpp Add travel service support for creatures (Fixes #2432) 2015-03-09 03:15:11 +01:00
util.hpp Remove unused includes 2015-07-22 22:18:26 +03:00
variant.cpp ESSImport: convert script local variables 2015-01-24 16:45:36 +01:00
variant.hpp ESSImport: convert script local variables 2015-01-24 16:45:36 +01:00
variantimp.cpp Remove empty line at the beginning of files 2015-08-18 23:06:12 +02:00
variantimp.hpp added variant class 2013-03-04 14:32:23 +01:00
weatherstate.cpp Refactor weather transitions to act more like MW 2015-08-26 22:59:21 -05:00
weatherstate.hpp Refactor weather transitions to act more like MW 2015-08-26 22:59:21 -05:00