Commit Graph

250 Commits (7cea0344b28125c5afbff74c234d4c942597f552)

Author SHA1 Message Date
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 9c291535bb
Dump NIFZ and KFFZ sub records by esmtool 2 years ago
elsid 51314db2f1
Remove AI_CNDT from AI package types
AI_CNDT is a label of subrecord containing cell name. It's not AI package type.
2 years ago
psi29a 20abe6dcf5 Merge branch 'esmtool_string_view' into 'master'
Use std::string_view for esmtool labels

See merge request OpenMW/openmw!2396
2 years ago
elsid 52b7b66e9f
Add comma to the last array element to prevent putting multiple elements on a single line 2 years ago
elsid 4698a4cd2d
Use raw string literals to format command usage messages 2 years ago
elsid 40e899f56d
Use std::string_view for esmtool labels 2 years ago
elsid 6ae15f08e0
Avoid chained operator() calls to prevent formatting issues 2 years ago
elsid a9826342b2
Print ESM4 EditorId and Model by esmtool dump 2 years ago
Project579 c226b35f1f Fix some remaining encoding errors due to std::filesystem transition. 2 years ago
Project579 4e428dee12 Update some settings that accept paths by "std::string" to accept them as "std::filesystem::path" instead. 2 years ago
Project579 a13709c510 Replace implicit convertions from std::filesystem::path to std::string with correctly converting functions. 2 years ago
Project579 864112b5db Fixed Windows build when using MSVC 14.26 and MacOS build. 2 years ago
Project579 6bf4c7a04f Upgraded "input-file" command line option to Files::MaybeQuotedPath from std::string to allow unicode characters on Windows. 2 years ago
Project579 e5c417c968 Make sure all paths are passed as std::filesystem::path instead of std::string where possible. 2 years ago
elsid ac1688f9c1
Remove ESM::Reader base class
This class does not serve any useful purpose now. It was added as a first step
in attempt to define common interface for ESM3 and ESM4 readers. But this is not
going to happen.
2 years ago
elsid 3057fa6bee
Remove redundant components/esm/records.hpp include 2 years ago
elsid 73f885db0e
Cleanup includes 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 2 years ago
elsid 7e6c13630a Use target_precompile_headers for the most expensive headers 3 years ago
jvoisin 23eccebe9e Convert esmtool from `const std::string&` to `std::string_view` 3 years ago
elsid b67a0a8f2b
Fix uninitialized coverity warnings 3 years ago
elsid d2510284ec
Support TES4 in esmtool dump 3 years ago
elsid 43b2892cc3
Move ESMData, reader and writer out of esmtool Arguments 3 years ago
Evil Eye 6c87219ba3 Print record flags in esmtool 3 years ago
jvoisin 7f3058d501 Use toStringView in esmtool instead of toString 3 years ago
elsid 3305b400dc
Use ESM::NAME instead of const char* and std::string as argument type 3 years ago
ζeh Matt 07eb6db030
Use unique_ptr for ESM records 3 years ago
Bret Curtis 74e7cfc023 remove unused includes: part1
remove unused imports: part2

revert one tidy we will keep for c++20
3 years ago
Bret Curtis d1fb854521 move most of the files from esm to esm3, keep common code in esm; this is make space for a future with esm4
esm typo

esm typo
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 5e3f000b66 Add a std::noboolalpha to a std::boolalpha 4 years ago
elsid 5c9af1742a
Dump moved cell refs in esmtool 4 years ago
elsid f90c4ae22f
Add yaml-like separator between cell refs
To be able to separate records visually.
4 years ago
jvoisin 3925c0fecf Remplace a ton of std::endl with \n
endl is calling flush, which is really nuking performances,
and I care about esmtool's performances because I'm
using it for fuzzing.
4 years ago
jvoisin d651f9e60c Remove some useless variables from esmtool 4 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 f308dde254 Clean up MSVC warnings 4 years ago
Bret Curtis 355996c2ff supress -> suppress 5 years ago
Andrei Kortunov d0fe15b095 Use meaningful names instead of mSkill1 and mSkill2 5 years ago
Andrei Kortunov 0d66369efb Use overrides, when needed 5 years ago
Andrei Kortunov aacb569acb Use more C++11 in tools code 5 years ago
Capostrophic 4e22f03ece Revise esmtool cell reference output 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 34873b6065 Fix dead code 5 years ago
Andrei Kortunov 6eb8e0cf4d Display magic effects according to research page 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
Andrei Kortunov 68c170f065 Refactor tools to do not use boost exceptions and exit() command 6 years ago
Andrei Kortunov 4ee15ddcb9 Fix many Coverity Scan warnings 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
AnyOldName3 8c74f16247 Restore trailing new lines to shrink PR 7 years ago
AnyOldName3 5ce34f1cbf Move new behaviour into macro to reduce code duplication 7 years ago
AnyOldName3 3c0ec0d6d0 If CMake supports it, sets the debugger working directory for Visual Studio 7 years ago
Bret Curtis c781d1f8ed purge unnecessary imports
add fstream back

add fstream back

add fstream back

add fstream back

add fstream back

add fstream back

add fstream back
8 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
Roman Proskuryakov d5dfa89060 Rewrite NAME_T into FIXED_STRING. 9 years ago
Marc Zinnschlag 57101c1b19 added namespace and include to previous commit 9 years ago
Alexander Kjäll 32123aec2b
made logarithm function for calculating column widths in the output be more generic 9 years ago
scrawl 9116c701d5 esmtool fix 9 years ago
scrawl b8e11cf197 Merge commit 'pull/upstream/678' into HEAD
Conflicts:
	apps/esmtool/record.cpp
	apps/opencs/model/doc/savingstages.cpp
	apps/opencs/model/world/land.cpp
	apps/opencs/model/world/land.hpp
	apps/opencs/model/world/landtexture.cpp
	apps/openmw/mwworld/store.cpp
	components/esm/loadland.cpp
	components/esm/loadland.hpp
9 years ago
scrawl a47617c21f Fix tab indentations in apps/ and components/ 9 years ago
Marc Zinnschlag 69b9eadb52 refactored loading of land data 9 years ago
Stanislav Bas 8243fb2479 Load methods (for ESM records) accept a deleted flag in ESMTool 10 years ago
Stanislav Bas ede4bfcf52 Rework EsmTool code. Remove explicit NAME handling 10 years ago
scrawl cad18969e3 Merge branch 'master' of https://github.com/OpenMW/openmw into osg
Conflicts:
	apps/openmw/mwmechanics/aicombat.cpp
	apps/openmw/mwmechanics/aitravel.cpp
10 years ago
Marc Zinnschlag e17f7ac81a Merge remote-tracking branch 'cc9cii/master' 10 years ago
scrawl f70250a296 Merge branch 'master' of https://github.com/OpenMW/openmw into osg
Conflicts:
	apps/launcher/CMakeLists.txt
	apps/opencs/CMakeLists.txt
	apps/opencs/view/render/worldspacewidget.cpp
	apps/openmw/CMakeLists.txt
	components/CMakeLists.txt
	extern/osg-ffmpeg-videoplayer/CMakeLists.txt
10 years ago
cc9cii b81454d226 Fix using wrong bit flag for NPC stats auto-calculation. Also set the corresponding mNpdtType which is used when determining which data structure to save. Should resolve Bug #2668. 10 years ago
scrawl cf95d3fc35 Refactor cmake scripts, reducing the amount of find_package(Boost) 10 years ago
scrawl 236d628884 Merge branch 'master' of https://github.com/OpenMW/openmw into osg
Conflicts:
	apps/opencs/model/doc/document.cpp
	apps/opencs/model/doc/documentmanager.cpp
	components/CMakeLists.txt
	components/bsa/resources.cpp
	components/nif/data.hpp
	components/nif/node.cpp
	components/nifogre/mesh.hpp
	components/nifogre/ogrenifloader.cpp
	components/nifogre/particles.cpp
10 years ago
scrawl e30f240ba2 Add travel service support for creatures (Fixes #2432) 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
dteviot f2ac939e61 reverted mShouldRepeat back to unsigned char.
As recommended by Scrawl.
10 years ago
dteviot 45b6538820 fixed MSVC 2013 warning C4800
forcing value to bool 'true' or 'false'
10 years ago
Marc Zinnschlag bf92d5cde9 removed redundant mScript field in ESM::StartScript 10 years ago
scrawl 227c7bb55f esmtool works again 10 years ago
scrawl 5096e5dc0c esmtool minor/major skills fix 10 years ago
scrawl 6d097fbfbd Normalise spelling of "levelled" throughout the code 10 years ago
scrawl e712b0353b Terrain refactoring, reduce game startup time and memory usage 10 years ago
scrawl 6367b4dc0b Improve INFO struct naming 10 years ago
scrawl 89132ff741 Add --name option to esmtool to print record with the given name 10 years ago
scrawl 9d3f0b2ed5 Remove some unused code, include cleanup 10 years ago
scrawl c883a73d30 Several warning fixes 10 years ago
scrawl c7d15e6f74 Revert "Revert "Light charge handling fix""
This reverts commit b95748d044.
10 years ago
scrawl b95748d044 Revert "Light charge handling fix"
This reverts commit 5e0428243b.
10 years ago
scrawl 5e0428243b Light charge handling fix 10 years ago