Commit Graph

104 Commits (d1736ad0c8f10cea05baec60bede218e4fd1f6b0)

Author SHA1 Message Date
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 1522bda60b
Fix crash in getDistance when invoked before the game starts 7 years ago
Bret Curtis d785344fad purge all instances of <boost/shared_ptr.hpp>, clean up unused headers 8 years ago
Allofich ff3e307059 Pass parameters by const reference 8 years ago
MiroslavR d97e9cfe7e Fix InterpreterContext::updatePtr updating mLocals to the implicit ref's locals when interpreting a targeted global script (Fixes #3738)
The interpreter context of a targeted global script would point to the target's locals instead of the global script instance's locals when the target changed cell during script execution. Credit to scrawl for the solution.
8 years ago
scrawl 45fb4f04b1 Update reference of the interpreter context when an Activate results in a take action (Fixes #3727) 8 years ago
scrawl 70c5f64caa Fix mLocals not being updated in InterpreterContext::updatePtr 8 years ago
scrawl f99cd15f00 Vanilla-compatible activate / onActivate (Fixes #1629)
See https://forum.openmw.org/viewtopic.php?f=6&t=3074&p=34618#p34635
9 years ago
scrawl 04f7a8f8eb Remove redundant getId function 9 years ago
Emmanuel Anne af7b5e636e improves InterpreterContext::updatePtr
This checks the update is really on the right pointer. It fixes the boat
disappearing in "fishing academy", and it allows scripts linked to objects
not to loose their default reference when using the object-> notation on
another object.
9 years ago
scrawl 67bd6cd708 Remove empty line at the beginning of files
git ls-files -z | xargs -0 sed -i '1{/^$/d}'
10 years ago
Stanislav Bas 196be7283d Reset an activated reference after activation's exectution (Fix #1738) 10 years ago
dteviot e197f5318b fixing MSVC 2013 warning C4244: & C4305
conversion from 'const float' to 'int', possible loss of data
conversion from 'double' to 'int', possible loss of data
conversion from 'float' to 'int', possible loss of data
10 years ago
scrawl 2b7287cbd2 Merge branch 'master' of https://github.com/OpenMW/openmw into joystick
Conflicts:
	CMakeLists.txt
10 years ago
scrawl 97cc2522c0 Merge remote-tracking branch 'upstream/master'
Conflicts:
	apps/openmw/mwgui/settingswindow.cpp
	extern/oics/ICSInputControlSystem_joystick.cpp
	files/mygui/openmw_settings_window.layout
10 years ago
Digmaster 1e4a845b6f Minor code cleanup 10 years ago
scrawl 431f540791 ESSImport: fix NPC factions 10 years ago
scrawl 579f5d232f Move interactive messageBox to separate function 10 years ago
scrawl 2601b26217 Merge branch 'master' of https://github.com/OpenMW/openmw 10 years ago
scrawl d955017079 Don't report script operation status via messageBox (Bug #1942) 10 years ago
scrawl 7e8ca3fff1 Fix object movement between cells producing a stale Ptr within the script execution (Bug #1942) 10 years ago
Digmaster c37881ead1 Joystick Support 10 years ago
scrawl f7ba1dbfc8 Add error handling for getPcRank and similar defines (Fixes #2071) 10 years ago
MiroslavR ed3a3f717f Handle getdistance on objects inside a container (Fixes #2046) 10 years ago
Thoronador 4d62541b62 fix usage of numeric_limits static functions min() and max()
Functions min() and max() of std::numeric_limits<T> are static
and can therefore be accessed via class name and :: operator.
10 years ago
scrawl c4fa671381 Don't allow raising faction rank if the next rank has no name (Fixes #1975) 10 years ago
scrawl 7252cb63a6 Fix cppcheck issues 10 years ago
MiroslavR d64be1c092 Use CellId::mWorldspace to find out whether objects are in the same worldspace 10 years ago
MiroslavR 621e81fa7d Make getdistance return maximum value only if the given objects are in different worldspaces (Fixes #1895) 10 years ago
Marc Zinnschlag 52f6a2ec7b remote local variable access was always using variable with index 1 instead of the index specified by the access request (Fixes #1739) 11 years ago
Marc Zinnschlag 2e355df8b3 removed function ScriptManager::getLocalIndex (was redundant and was also depending on precompiled scripts) 11 years ago
Marc Zinnschlag 6a3ff211b1 automatically get target ID at InterpreterContext construction, if a reference is available 11 years ago
Marc Zinnschlag 27c84d6cb7 the reference for a targeted script is now determined when needed instead of at the start of the script execution 11 years ago
Marc Zinnschlag 75ab8de3d2 added opcode for running scripts with explicit references (targeted scripts) 11 years ago
scrawl 2ce8323a42 Fix getDistance not detecting references in inactive cells properly 11 years ago
scrawl 797134aa51 Handle activation scripts in AiActivate (Fixes #1478) 11 years ago
scrawl e68600eda2 Make Activate instruction work properly even when onActivate was not called in the same frame.
There are two major differences to the old implementation:
 - Activate can now be called on its own, e.g. in the console. In Vanilla this appears to be a no-op, so it is unlikely to be used and the potential for breakage is low.
 - The Action to execute is now determined when Activate is called, not when OnActivate is called. This however makes sense, since there may be a time difference between the two, and the object (or the player) could have changed in the meantime, requiring a different Action.

Fixes #1166 and #1346.
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 7f37f2c2be Fixes #1187: Make GetDistance handle actors in remote cells gracefully 11 years ago
scrawl 84961d7843 Fixes #1254: PcRank should return first rank if not in the faction 11 years ago
scrawl b2119441b9 Fix bug in PcRank / PcNextRank
It was using the first faction instead of the actor's faction.
11 years ago
Marc Zinnschlag 388735046f fixed broken remote member variable access 11 years ago
Marc Zinnschlag 3b990795c4 added access to remote access of local variables of global scripts 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 768d9f7237 Scripting: Add an optional 'required' parameter to getReference (default: true). If required=false, it will not throw an exception if there's no reference. Fixes PcExpell not working without a reference like it's supposed to, and makes the code nicer for some others (use required=false instead of catching the exception) 11 years ago
scrawl 098f9712f1 Add getPlayerPtr() utility method. Reduces dependencies a lot. 11 years ago
Marc Zinnschlag b38bfe1f21 removed a redundant function for listing global variables 11 years ago
Marc Zinnschlag b0eb5938bf removed some redundant code 11 years ago
Marc Zinnschlag 71436b1160 changed interface for global variable access 11 years ago
Marc Zinnschlag bc6fe682c9 replaced getCurrentCellName function with a more general getCellName function 11 years ago