Commit Graph

101 Commits (828c40c710f798ea60937bdd6045809b6c2362ec)

Author SHA1 Message Date
Evil Eye 37415b0382 Don't use getExact to read structs 1 year ago
Evil Eye a9e6e63c4e Remove fixed size reads 1 year ago
elsid 7a0d1a0868
Print uint8_t as unsigned 1 year ago
Evil Eye 514723a4e6 Use fixed size ints for Region and use an array for weather odds 1 year ago
Evil Eye b99f58613e Remove signed/unsigned conversions in pathgrid loading code and use meaningful member names 1 year ago
Evil Eye b59739a529 Replace more sized reads 1 year ago
Evil Eye e660a9ca16 Assign StringRefIds to attributes 1 year ago
Evil Eye ac9378fa08 Replace Skill::mIndex with Skill::refIdToIndex 2 years ago
Evil Eye 73c2387708 Merge schools into skills 2 years ago
Evil Eye bac6777fae Reduce the number of magic numbers 2 years ago
Evil Eye 6b7e7acd16 Replace a number of incorrect index types 2 years ago
Evil Eye a5bb6c7d8d Use std::array in NPDTstruct52 2 years ago
Evil Eye dd83da5eba Use std::array in FADTstruct 2 years ago
Evil Eye 7be005c9a5 Use std::array in CLDTstruct 2 years ago
Evil Eye 8a474b9807 Use std::array in RADTstruct 2 years ago
Evil Eye 8d8207b734 Refactor pathgrid indices to use size_t instead of int 2 years ago
florent.teppe c39dd576f8 Gets rid of most ESM::CellId 2 years ago
elsid 452d1e7e49
Store original string id for Dialogue records 2 years ago
Shi Han a90e3b8c3b Move from std::atoi to std::from_char 2 years ago
elsid 8a62a4fe4d
Support dump for ESM3 CSTA record in esmtool 2 years ago
elsid 4b8941677d
Do not write binary data to std::cout by esmtool 2 years ago
florent.teppe 3780033837 Reverts Cell name to a string 2 years ago
florent.teppe 2c30575b3b CellName is now a RefId, makes more sense that way. 2 years ago
fteppe 20da0892ef openMW_test_suite compiles and runs
Slowly moving through the open-cs errors

Good progress in openCS

Very good progress on openCS

Getting closer with openCS

OpenCS compiles and runs! Didn't have time to test it all though

ix openMW

everything compiles on windows??

Fix gcc

Fix Clang
2 years ago
Evil Eye 60c26832d2 Use class service flags for autocalc NPCs 2 years ago
Evil Eye e6592aa850 Add key flag on load 2 years ago
clang-format-bot ddb0522bbf
Apply clang-format to code base 2 years ago
elsid 40e899f56d
Use std::string_view for esmtool labels 2 years ago
Alexei Kotov e537f2b6f3 Fix display for some package settings 2 years ago
elsid f99ed6f1db
Split components/misc/stringops.hpp into multiple headers
Replace all ciEqual overloads with one having std::string_view as argument.
2 years ago
Evil Eye 3967509cdd Use meaningful names instead of pretending we don't know what snow is 3 years ago
ζeh Matt 07eb6db030
Use unique_ptr for ESM records 3 years ago
Evil Eye 3c57ffd81f Save repeat and duration 3 years ago
elsid 18d3102148
Do not use union to access FIXED_STRING<4> as int
https://en.cppreference.com/w/cpp/language/union:
> It's undefined behavior to read from the member of the union that wasn't most recently written.
3 years ago
jvoisin e97e4d07dd Teensy optimisation for esmtool
- Use an unordered_set instead of a list to
  keep track of skipped records.
- Reduce the number of conditions when parsing 4-letters
  records by using a switch-case instead of cascading conditions.
- Add a const
4 years ago
Andrei Kortunov d0fe15b095 Use meaningful names instead of mSkill1 and mSkill2 5 years ago
Andrei Kortunov aacb569acb Use more C++11 in tools code 5 years ago
Capostrophic ad333e88fe Handle enchantment autocalc flag as a flag (bug #5363) 5 years ago
Capostrophic 216a5d27c6 Avoid working with AMBI subrecord in tools unnecessarily (bug #5269) 5 years ago
Andrei Kortunov 5220177ebc Fix ESMTool build 5 years ago
Assumeru 737aa1e4e8 Remove FactionID editing from OpenCS (#2636)
* Remove FactionID editing

* remove useless comments

* rename FactionID to Unknown
5 years ago
Andrei Kortunov 2fc819cdae Encode ID's in all places to UTF-8 (bug #3977) 5 years ago
Andrei Kortunov e679190f31 Introduce a custom format() function to get rid of boost::format() and hackish replace() 6 years ago
Capostrophic 7814bd1b76 Support eight possible blood types (feature #4958) 6 years ago
elsid fa7b304e78
Use auto for map value_type in range-based for loops
To avoid implicit call of copy constructor for
pair<const K, V> to pair<K, V> conversion.
6 years ago
Capostrophic 594ea39f5d Revise AI data handling
Make Hello 16-bit unsigned as it's intended to be
Get rid of redundant mHasAI boolean
Always save AI data subrecord
Adjust creature and NPC default rating values to Morrowind defaults
6 years ago
Capostrophic 832870dc79 esmtool cleanup 6 years ago
Alf Henrik Sauge feeee50a88 Dropping a separate NPDTstruct12 object and instead use NPDTstruct52
NPDTstruct12 is now only used when loading and saving. Turning auto calc
on and off now no longer switches between to different set of values
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
MAtahualpa 2d1af3ee4a Update record.cpp
This should be the last instance of "mSkillID". Let's see what Travis says about it...
8 years ago