Commit Graph

69 Commits (ee3aba149d55f2294adccd1b99cfa36f6beeb7dd)

Author SHA1 Message Date
scrawl b9b73d7b12 Replace "sys::default" with ESM::CellId::sDefaultWorldspace 9 years ago
Roman Proskuryakov d5dfa89060 Rewrite NAME_T into FIXED_STRING. 9 years ago
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%.
9 years ago
scrawl fc8e40889d Move common subrecord definitions (NAME, DELE) to defs.hpp 9 years ago
Stanislav Bas f9b0b7ede5 Make saving of deleted ESM records more consistent 10 years ago
Stanislav Bas 4a16eba716 Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records 10 years ago
Stanislav Bas 5fd48efd28 Some refactoring. Remove unused code 10 years ago
Stanislav Bas e8a9567be3 Move DELE handling to CellRef record 10 years ago
Stanislav Bas b667338a8f Add NAME and DELE handling to Cell record 10 years ago
cc9cii 5fd107a95c Fix crash with array out of bounds when refNum index is incorrect. 10 years ago
cc9cii 7673be6d0f Loading of moved refs complete. 10 years ago
cc9cii dcce59f76c Pass MovedCellRef info to RefCollection. Still has debugging code. 10 years ago
Marc Zinnschlag 7f905470fa fixed moved reference loading 10 years ago
scrawl f931ba2efc Fix some static analysis issues (coverity) 10 years ago
cc9cii 5ae1554a75 Simplify skipping moved references (thanks scrawl) 10 years ago
cc9cii 33c454e073 Check whether any subrecords remain after skipping moved references. Should resolve bug #2070. 10 years ago
scrawl 7252cb63a6 Fix cppcheck issues 10 years ago
scrawl ccde462308 Fix typo (RefId -> RefNum) 11 years ago
scrawl 4e0c133fb3 Add comment to Cell NAM0 (it's a RefId counter) 11 years ago
scrawl 73be457805 Merge ESM::Cell fields by subrecord
Fixes an issue with the Morrowind Patched mod where cell ambient values would become black due to the new cell records not including an AMBI subrecord.

Also fixes a bug where mLeasedRefs was incorrectly cleared when overwriting a cell (*oldcell = *cell;)
11 years ago
scrawl 039398c8ae Basic RefData and CellRef change tracking
Wrapped item charge handling in getItemHealth function
11 years ago
Marc Zinnschlag 6e8b9c88b2 changed name of default worldspace (should reduce chance of a name conflict) 11 years ago
Marc Zinnschlag 1b5301eec0 Merge branch 'savedgame'
Conflicts:
	apps/openmw/mwbase/mechanicsmanager.hpp
	apps/openmw/mwbase/soundmanager.hpp
	apps/openmw/mwgui/mapwindow.hpp
	apps/openmw/mwmechanics/actors.cpp
	apps/openmw/mwmechanics/mechanicsmanagerimp.hpp
	apps/openmw/mwsound/soundmanagerimp.hpp
	components/esm/loadcell.cpp
11 years ago
scrawl 03cf383be7 Merge branch 'master' of https://github.com/zinnschlag/openmw into savedgame
Conflicts:
	apps/openmw/mwgui/referenceinterface.cpp
	apps/openmw/mwmechanics/actors.cpp
	apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
	apps/openmw/mwmechanics/mechanicsmanagerimp.hpp
	apps/openmw/mwscript/cellextensions.cpp
	apps/openmw/mwworld/cells.cpp
	apps/openmw/mwworld/cells.hpp
	apps/openmw/mwworld/cellstore.cpp
	apps/openmw/mwworld/store.cpp
	apps/openmw/mwworld/worldimp.cpp
11 years ago
scrawl 4c0045b418 Bug #1109: Do not reset water level when loading a plugin with no water level record (for real this time) 11 years ago
Marc Zinnschlag d8d4f1a15e some fixes to record structs 11 years ago
scrawl 3ea1407ed3 Closes #1109: Don't reset water level when loading a plugin that does include water level records 11 years ago
Marc Zinnschlag 8c5f313546 added savedgame-specifc record structs for objects state 11 years ago
Marc Zinnschlag e453468eff moved CellRef loading code to the CellRef class 11 years ago
Marc Zinnschlag 9025210965 Merge branch 'refnum' into savedgame
Conflicts:
	apps/openmw/mwworld/cellstore.cpp
	apps/openmw/mwworld/manualref.hpp
	components/esm/cellref.hpp
11 years ago
Marc Zinnschlag 43dd3b8ef2 removed redundant deletion flag from CellRef 11 years ago
Marc Zinnschlag c22e38f825 removing 255 content file limitation 11 years ago
Marc Zinnschlag c42e74dadf make 4 byte record type accessable from record struct 11 years ago
Marc Zinnschlag d4b2a6b9f1 Merge remote-tracking branch 'graffy76/esxSelector' into saving 11 years ago
graffy76 cfdc19c427 Renamed esxSelector to contentSelector
Fixed datafilespage model implementation in launcher
Filtered addons in table view by selected game file
11 years ago
Marc Zinnschlag 874ce26bef added missing consts to record save functions 11 years ago
scrawl d086346b07 Fix loading of some cells in TR 12 years ago
Marc Zinnschlag 47f7bbd48a fixed OpenCS crash during cell loading when loading multiple ESX files 12 years ago
Marc Zinnschlag 744198fc44 added blank function to CellRef and moved a function that was in the wrong file 12 years ago
Glorf 6ea82333d4 Headers cleanup 12 years ago
Glorf 98baf9fac1 Bugfix #718 12 years ago
Marc Zinnschlag 0c33dd86d5 added basic cell table 12 years ago
scrawl 6f1575d42a CELL record corrections 12 years ago
scrawl 8e2f9f5186 Fix CellRef to load current weapon/armor health correctly, also show it in the tooltips 12 years ago
Marc Zinnschlag 9e68a420ae restructuring tes3 record structs 12 years ago
greye 9133182f2f restore loading CELL records in esmtool 12 years ago
lazydev 759b2e96bf fix for https://bugs.openmw.org/issues/577 12 years ago
Mark Siewert eefbdde6de - For pull request: remove all instances of maps used to track refnumbers.
- new file: apps/openmw/mwworld/store.cpp, had to move reference merging method out of the header file to prevent three-way recursion/unresolved forward references in custom compare operators.
12 years ago
Mark Siewert a8e02779b2 - Add support for multiple plugins trying to modify the same reference
- Fix a small signed/unsigned warning
12 years ago
Mark Siewert d6377fb2e3 - Support deleting references from a plugin
- Add preliminary support for loading some unique fields appearing only in savegames
- Add a few lines required for supporting respawning references. Incomplete.
12 years ago