Commit Graph

115 Commits (d1736ad0c8f10cea05baec60bede218e4fd1f6b0)

Author SHA1 Message Date
Andrei Kortunov 977a27ecb7 Do not clear corpses until end of death animation (bug #4307) 7 years ago
tri4ng1e d310d36ea3
[Fix] Some PVS-Studio and cppcheck fixes 7 years ago
tri4ng1e d4d1703bcf
Some PVS-Studio and cppcheck fixes
cppcheck:
[apps/esmtool/record.cpp:697]: (performance) Prefer prefix ++/-- operators for non-primitive types.
[apps/esmtool/record.cpp:1126]: (performance) Prefer prefix ++/-- operators for non-primitive types.
[apps/esmtool/record.cpp:1138]: (performance) Prefer prefix ++/-- operators for non-primitive types.
[apps/niftest/niftest.cpp:36]: (performance) Function parameter 'filename' should be passed by reference.
[apps/niftest/niftest.cpp:41]: (performance) Function parameter 'filename' should be passed by reference.
[apps/opencs/model/prefs/boolsetting.cpp:25]: (warning) Possible leak in public function. The pointer 'mWidget' is not deallocated before it is allocated.
[apps/opencs/model/prefs/shortcuteventhandler.cpp:52]: (warning) Return value of std::remove() ignored. Elements remain in container.
[apps/openmw/mwstate/quicksavemanager.cpp:5]: (performance) Variable 'mSaveName' is assigned in constructor body. Consider performing initialization in initialization list.

PVS-Studio:
apps/opencs/model/filter/parser.cpp  582  warn  V560 A part of conditional expression is always true: allowPredefined.
apps/opencs/view/world/referencecreator.cpp  67  warn  V547 Expression '!errors.empty()' is always false.
apps/opencs/view/world/referencecreator.cpp  74  warn  V547 Expression '!errors.empty()' is always false.
apps/opencs/view/doc/loader.cpp  170  warn  V560 A part of conditional expression is always true: !completed.
apps/opencs/view/doc/loader.cpp  170  warn  V560 A part of conditional expression is always true: !error.empty().
apps/opencs/model/tools/pathgridcheck.cpp  32  err  V517 The use of 'if (A) {...} else if (A) {...}' pattern was detected. There is a probability of logical error presence. Check lines: 32, 34.
apps/opencs/model/world/refidadapterimp.cpp  1376  err  V547 Expression 'subColIndex < 3' is always true.

apps/openmw/mwgui/widgets.hpp  318  warn  V703 It is odd that the 'mEnableRepeat' field in derived class 'MWScrollBar' overwrites field in base class 'ScrollBar'. Check lines: widgets.hpp:318, MyGUI_ScrollBar.h:179.
apps/openmw/mwgui/widgets.hpp  319  warn  V703 It is odd that the 'mRepeatTriggerTime' field in derived class 'MWScrollBar' overwrites field in base class 'ScrollBar'. Check lines: widgets.hpp:319, MyGUI_ScrollBar.h:180.
apps/openmw/mwgui/widgets.hpp  320  warn  V703 It is odd that the 'mRepeatStepTime' field in derived class 'MWScrollBar' overwrites field in base class 'ScrollBar'. Check lines: widgets.hpp:320, MyGUI_ScrollBar.h:181
apps/openmw/mwmechanics/actors.cpp  1425  warn  V547 Expression '!detected' is always true.
apps/openmw/mwmechanics/character.cpp  2155  err  V547 Expression 'mode == 0' is always true.
apps/openmw/mwmechanics/character.cpp  1192  warn  V592 The expression was enclosed by parentheses twice: ((expression)). One pair of parentheses is unnecessary or misprint is present.
apps/openmw/mwmechanics/character.cpp  521  warn  V560 A part of conditional expression is always true: (idle == mIdleState).
apps/openmw/mwmechanics/pathfinding.cpp  317  err  V547 Expression 'mPath.size() >= 2' is always true.
apps/openmw/mwscript/interpretercontext.cpp  409  warn  V560 A part of conditional expression is always false: rank > 9.
apps/openmw/mwgui/windowbase.cpp  28  warn  V560 A part of conditional expression is always true: !visible.
apps/openmw/mwgui/journalwindow.cpp  561  warn  V547 Expression '!mAllQuests' is always false.
apps/openmw/mwgui/referenceinterface.cpp  18  warn  V571 Recurring check. The '!mPtr.isEmpty()' condition was already verified in line 16.
apps/openmw/mwworld/scene.cpp  463  warn  V547 Expression 'adjustPlayerPos' is always true.
apps/openmw/mwworld/worldimp.cpp  409  err  V766 An item with the same key '"sCompanionShare"' has already been added.
apps/openmw/mwworld/cellstore.cpp  691  warn  V519 The 'state.mWaterLevel' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 689, 691.
apps/openmw/mwworld/weather.cpp  1125  warn  V519 The 'mResult.mParticleEffect' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 1123, 1125.
apps/openmw/mwworld/weather.cpp  1137  warn  V519 The 'mResult.mParticleEffect' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 1135, 1137.

apps/wizard/unshield/unshieldworker.cpp  475  warn  V728 An excessive check can be simplified. The '(A && B) || (!A && !B)' expression is equivalent to the 'bool(A) == bool(B)' expression.
apps/wizard/installationpage.cpp  163  warn  V735 Possibly an incorrect HTML. The "</p" closing tag was encountered, while the "</span" tag was expected.

components/fontloader/fontloader.cpp  427  err  V547 Expression 'i == 1' is always true.
components/nifosg/nifloader.cpp  282  warn  V519 The 'created' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 278, 282.
components/esm/loadregn.cpp  119  err  V586 The 'clear' function is called twice for deallocation of the same resource. Check lines: 112, 119.
components/esm/cellref.cpp  178  warn  V581 The conditional expressions of the 'if' statements situated alongside each other are identical. Check lines: 175, 178.
components/esmterrain/storage.cpp  235  warn  V560 A part of conditional expression is always true: colStart == 0.
components/esmterrain/storage.cpp  237  warn  V560 A part of conditional expression is always true: rowStart == 0.
7 years ago
scrawl c50b18b3bb
Move PathgridGraph out of CellStore
By definition this is not 'Mutable state of a cell' and does not belong in CellStore.

This change should improve startup times (graph is now loaded on demand) and edits to 'pathgrid.hpp' no longer cause the entirety of OpenMW to be rebuilt.
7 years ago
Andrei Kortunov 9943bd4d74 AiWander fast forwarding improvements (bug #3638) 7 years ago
scrawl 29556a1802 More consistent wording of errors/warnings
A Warning indicates a potential problem in the content file(s) that the user told OpenMW to load. E.g. this might cause an object to not display at all or as intended, however the rest of the game will run fine.

An Error, however, is more likely to be a bug with the engine itself - it means that basic assumptions have been violated and the engine might not run correctly anymore.

The above mostly applies to errors/warnings during game-play; startup issues are handled differently: when a file is completely invalid/corrupted to the point that the engine can not start, that might cause messages that are worded as Error due to the severity of the issue but are not necessarily the engine's fault.

Hopefully, being a little more consistent here will alleviate confusion among users as to when a log message should be reported and to whom.
8 years ago
MiroslavR 87fd011a28 Clean-up saves by dropping references with invalid RefNums (Fixes #1956) 8 years ago
scrawl a7d4928593 Properly handle moved references in respawning code (Fixes #3600) 8 years ago
MiroslavR 4a3529488b Fix possible reference duplication when the refID is modified by a plugin (Bug #3471) 9 years ago
MiroslavR d790747389 Implement deletion of moved references (Bug #3471) 9 years ago
Bret Curtis 2c90b0b78d fix a few spelling mistakes 9 years ago
scrawl 3e6cf17665 Warn about cellrefs with an empty refId (Bug #3238) 9 years ago
scrawl d0aba0d9ee Catch exceptions thrown during reference loading (Bug #3238) 9 years ago
scrawl 2821f46a18 Corpse clearing fix 9 years ago
scrawl f2f601b958 Implement corpse clearing (Fixes #2363) 9 years ago
scrawl c3ef387208 Vanilla-compatible creature/NPC respawning (Fixes #2369, Fixes #2467) 9 years ago
scrawl 6f9ca0f68f Add basic cell preloader class
Not properly in use yet, but seems to be working.
9 years ago
scrawl 69c2c4fcc1 updateMergedRefs before reading MVRF tags (Fixes #3161) 9 years ago
scrawl 1905f0bf2d Add support for placing BodyParts in a cell (Bug #3118) 9 years ago
scrawl e5d9ee30f4 Add count argument to copyObjectToCell
Fixes the gold bug introduced in c9ca5bc946
9 years ago
scrawl a344183247 Comment fix 9 years ago
scrawl 19d87c78f2 Add CellStore::forEachConst 9 years ago
scrawl 2fe2f53b02 Set the changed flag in CellStore::search (Fixes #3089) 9 years ago
scrawl d6bcb7906d Fix crash in a warning message 9 years ago
scrawl 359b0b3772 Rename for clarity 9 years ago
scrawl bdae572264 Merge pull request #840 from scrawl/movedrefs
Object movement between cells
9 years ago
scrawl 07b064f616 Rename to lowerCaseInPlace 9 years ago
scrawl 621347b20f Remove moved ref handling from listRefs()
Not needed since we now load cells when a reference is moved there.
9 years ago
scrawl 4b0ecaa0a0 Fix physics bug 9 years ago
scrawl 0af33b5abd Throw exception if moveTo() is passed an object not part of *this 9 years ago
scrawl 176a3c16f4 Resolve moved references loaded from a save game 9 years ago
scrawl 671561ea37 Write moved references to the save game file (not resolved on loading yet) 9 years ago
scrawl 2219231230 Missing updateMergedRefs() 9 years ago
scrawl 138957c49a Special case objects with no refnum 9 years ago
scrawl 5e99a3eda6 Rename CellStore Functor to Visitor 9 years ago
scrawl 2301080c63 Load CellStore when an object is moved there 9 years ago
scrawl 811df1e97b Pass the ESM reader list to CellStore constructor 9 years ago
scrawl 3dcefd17fc Fix CellStore::count() 9 years ago
scrawl 3aa53f3cb4 Object cell movement tracker works. Savegame handling is still missing and some game functionality is still stubbed out. 9 years ago
scrawl 64b4926127 Add reference moving logic - untested 9 years ago
scrawl d0c6b407b4 Fix isUnderwater checks being off by one for exterior cells 9 years ago
Stanislav Bas 67c8f95c4e Load/read methods (for ESM records) accept a deleted flag in OpenMW 10 years ago
Stanislav Bas e8a9567be3 Move DELE handling to CellRef record 10 years ago
Alexander "Ace" Olofsson 3655ef16af Explicitly instantiate ESM::StatState 10 years ago
scrawl 19988d5e45 Remove RefData::getHandle 10 years ago
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