Commit Graph

70 Commits (openmw-36)

Author SHA1 Message Date
scrawl e3f1cb8305 Remove "loading cell" message
This spams the log too much, in particular when loading a savegame.
10 years ago
scrawl d13335ba40 Ensure the item can be equipped in the given slot when loading inventory 10 years ago
scrawl c65f9cb3c0 Revert "Change save format to store relative equipment index"
This reverts commit 89d9649b50.
10 years ago
scrawl 89d9649b50 Change save format to store relative equipment index
Store the index for the allowedSlots vector instead of the absolute slot index. This will more gracefully handle edge cases like the available slots for an item having changed when loading the game, or the "allows stacking" property having changed. However the main reason this was done is to ease work on the essimporter.
10 years ago
scrawl 9014dc48ee Don't require the object type id for reading references from savegames
This is redundant, since we can look it up from the RefID.
10 years ago
scrawl 235683e449 Remove LightState from openmw save format to streamline inventory loading 10 years ago
dteviot 7aa0f887c0 Minor changes to ESM::RefNum
1. Changed mIndex to unsigned, to solve potential implementation defined behavior with right shift.
2. Refactoring to minimize use of magic number -1 to indicate "no Content File".
10 years ago
scrawl 0fe7500f74 Work around pathgrid record limitation (Fixes #2195) 10 years ago
scrawl 48d5789aeb Use a separate flag for references deleted by a content file (Fixes #2018)
The flag must be separate so as to not contaminate the user's savegame.

Fixes the following use cases that were broken before:

 - Content file edits a reference that was already deleted by a previously loaded content file -> reference must stay deleted
 - Changed or new content file deletes a reference that is already present in the user's savegame -> reference must be deleted
 - Said content file is disabled again - reference must be undeleted
10 years ago
scrawl 7afd2ca614 Consider moved references in CellStore::listRefs 11 years ago
scrawl 395f98e476 Fix triggering changed flag for all references when cell is visited
The InsertFunctor for cells was calling localRotateObject() for all references which set the mChanged flag in RefData to true.

Also clean up RefData interface slightly.
11 years ago
scrawl 039398c8ae Basic RefData and CellRef change tracking
Wrapped item charge handling in getItemHealth function
11 years ago
Emanuel Guevel 1e4a854433 Remove static method MWWorld::Class::get(&Ptr)
It was just adding a level of indirection to Ptr.getClass().
All the call were replaced by that instead. The number of lines changed
is important, but the change itself is trivial, so everything should be
fine. :)
11 years ago
scrawl ae66d28c87 Feature #32: Implement respawn for containers, creatures and NPCs 11 years ago
scrawl 6de7e16550 Fix searchPtrViaActorId not skipping over deleted references
Fixes an issue when an actor has moved cell: searchPtrViaActorId would randomly return the deleted Ptr from the old cell.
11 years ago
scrawl a76e391ad0 Savegame: store door movement state (Closes #747) 11 years ago
scrawl 471bbd0021 Savegame: store levelled creature state and move to actorIds
(Closes #1332)
11 years ago
scrawl 3cdbcf3c28 Merge branch 'actorid' of https://github.com/OpenMW/openmw
Conflicts:
	apps/openmw/mwmechanics/creaturestats.cpp
11 years ago
scrawl a4a9794417 Savegame: store fog of war (Closes #1177) 11 years ago
scrawl 136813a882 Bug #1319: Fix references not coming from a content file incorrectly overwriting each other 11 years ago
Marc Zinnschlag f6a876bc3d added actor ID 11 years ago
Thoronador 1b8c975d5b minor performance improvements in apps/openmw
Checking for emptiness using size() might be inefficient, because
it can take linear time, while empty() is guaranteed to take only
constant time.

For non-primitive types, postfix ++ operators are inefficient
compared to prefix ++ operators, because post-increment usually
involves keeping a copy of the previous value around.
11 years ago
scrawl cd1b4218e7 Fix dynamically placed objects being discarded when loading game 11 years ago
cc9cii f59226265a Remove redundant parameter from aStarSearch. Also update some comments. 11 years ago
cc9cii 040d4f8fc4 Move PathgridGraph into separate files. 11 years ago
cc9cii 98f77714ce Per-cell pathgrid data and calculation moved off PathFinder. Now the edge cost calculations and strongly connected component searches are done only once per cell. Per-actor data and methods still remain with PathFinder.
This version still has debugging statements and needs cleaning up.
11 years ago
Marc Zinnschlag 9b18e01507 keep track of which cells have state that needs to be saved 11 years ago
Marc Zinnschlag bfcd768078 various bits of cleanup 11 years ago
Marc Zinnschlag 83ded18af0 encapsulated reference collections 11 years ago
Marc Zinnschlag f220867144 make Ptr a bit more pointer-like 11 years ago
Marc Zinnschlag b72c1c2c58 encapsulated water level 11 years ago
Marc Zinnschlag 79e723ad06 encapsulated mIds 11 years ago
Marc Zinnschlag 8ea686c6c8 encapsulated mState 11 years ago
Marc Zinnschlag 7693f712bc started making CellStore into a proper class; encapsulated mCell member 11 years ago
Marc Zinnschlag 5b04c10e1d added creature/NPC state to saved games (only container/inventory for now) 11 years ago
Marc Zinnschlag dd674566a2 store content of containers in saved game files 11 years ago
Marc Zinnschlag 900532a6ca store additional state of lights in saved game files 11 years ago
Marc Zinnschlag 29c3a288e3 load and save of reference in cells (without CustomData state) 11 years ago
Marc Zinnschlag 460089c0aa ignore deleted references that did not came from a content file 11 years ago
Marc Zinnschlag 419e3a7d30 write references in cells to saved game file 11 years ago
Marc Zinnschlag 22cb4784b5 store cell state in saved game files (no references yet) 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
scrawl 3f8a69b4ad Don't crash when trying to delete a reference that doesn't exist anymore 12 years ago
Marc Zinnschlag e94fcce622 accessing references via their ID now also works for references in containers in active cells 12 years ago
scrawl 7dc30a01cd Some changes suggested by cppcheck 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 dca8dc4fdb Merge remote-tracking branch 'upstream/master' into multiple_esm_esp
Conflicts:
	apps/openmw/engine.cpp
	apps/openmw/mwworld/cellstore.cpp
	apps/openmw/mwworld/store.hpp
	apps/openmw/mwworld/worldimp.cpp
	apps/openmw/mwworld/worldimp.hpp
	components/esm/esmreader.hpp

- Quick hack: OMW::Engine::prepareEngine only loads translation data for the first master file.
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