Commit Graph

3916 Commits (master)

Author SHA1 Message Date
elsid fb6e429dad
Remove "separators" from cs settings
Those are just empty widgets which do not make significant visible difference in
the UI.
1 year ago
elsid 335dbffe6e
Avoid std::string to QString conversion for label 1 year ago
Andrei Kortunov ba71eefbae Fix GCC warnings 1 year ago
psi29a 9259f5c056 Merge branch 'merryweather' into 'master'
Replace more sized reads and change weather loading

See merge request OpenMW/openmw!3496
1 year ago
AnyOldName3 2ed584428c Add missing headers to components/CMakeLists.txt
Otherwise, they won't show up as part of the project in IDEs.
1 year ago
Evil Eye fbafa13b3d Appease the compiler 1 year ago
Evil Eye 514723a4e6 Use fixed size ints for Region and use an array for weather odds 1 year ago
elsid 08902371b4
Use settings values for Shaders settings 1 year ago
Evil Eye b99f58613e Remove signed/unsigned conversions in pathgrid loading code and use meaningful member names 1 year ago
elsid 1d94527a19
Avoid using settings in components to get actor model
Settings::Values are initialized only for engine. Accessing them from other
binaries leads to a crash.
1 year ago
Evil Eye b59739a529 Replace more sized reads 1 year ago
elsid 053a3caf7b
Pass cache expiry delay to GenericResourceManager constructor 1 year ago
psi29a 5a0a04684a
Merge branch 'nocliffracerschooling' into 'master'
Editor: Remove Training service for creatures

See merge request OpenMW/openmw!3396
1 year ago
Alexei Kotov 16cc1ad59f Editor: Disable Training service for creatures 1 year ago
Petr Mikheev d39552962f Validate version of resources 1 year ago
Petr Mikheev f260fa006e Show OpenMW version and Lua API revision in documentation. 1 year ago
Petr Mikheev 32f3a16db3 Change FormId::toString to be consistent with RefId. Remove FormIdRefId. 1 year ago
elsid 28614730da
Pass land reference to LandObject constructor 1 year ago
elsid 2a49919b53
Move esm3terrain to esmterrain 1 year ago
psi29a 4aaffa72e5 Merge branch 'more_coverity_fixes' into 'master'
More coverity fixes

See merge request OpenMW/openmw!3304
1 year ago
Andrei Kortunov 0723b44a65 Do not copy QVectors twice 1 year ago
Andrei Kortunov 35561450f1 Do not copy osg::ref_ptr when possible 1 year ago
Andrei Kortunov d3d7a663c6 Move some objects instead of copying 1 year ago
Andrei Kortunov b1c8a968ae Do not use invalid iterators 1 year ago
Andrei Kortunov d8ec78d732 Fix some Coverity warnings 1 year ago
psi29a 9410eed9e5 Merge branch 'bump-cmake-version' into 'master'
Bump required CMake version to 3.16

See merge request OpenMW/openmw!3242
1 year ago
AnyOldName3 34fcfb63cf Eliminate redundant version checks 1 year ago
Evil Eye cd8f2355c0 Only allow StringRefId for Skill ids 1 year ago
Evil Eye 967b5d205b Use StringRefId for skills 1 year ago
Evil Eye ac9378fa08 Replace Skill::mIndex with Skill::refIdToIndex 1 year ago
psi29a 6601b0cb15 Merge branch 'fastandloose' into 'master'
Drop support for --fs-strict

Closes #7394

See merge request OpenMW/openmw!3093
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
Matjaž Lamut d12426f1b0 Add white space and larger default opening size of OpenMW-CS preferences window. Improves first-impression and overall readability. 2 years ago
Evil Eye eeda48ec50 Drop support for --fs-strict 2 years ago
psi29a 25c1e6abee Merge branch 'clickbait' into 'master'
Use std::array in various ESM structs

See merge request OpenMW/openmw!3103
2 years ago
Evil Eye 6b7e7acd16 Replace a number of incorrect index types 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
elsid 4a8471ce78
Use original RefId to remove info from InfoOrder 2 years ago
elsid 6a3b6c6e4f
Fix handling deleted DIAL records
* Use composite RefId to remove INFO record of deleted DIAL record. OrderedInfo
  stores original RefId while InfoCollection stores composite one.
* Do not erase deleted topic from InfoOrderByTopic map. To keep all deleted
  record ids for InfoCollection::sort call to make sure reorderRowsImp is called
  with correct number of indices.
2 years ago
psi29a df57f8004b Merge branch 'default' into 'master'
Replace some empty constructors and destructors with default

See merge request OpenMW/openmw!3078
2 years ago
Evil Eye 9214ffb50b Replace some empty constructors and destructors with default 2 years ago
florent.teppe ad8cfde4e0 ESM::LandData no longer a virtual interface
instead it is constructed from ESM::Land or ESM4::Land
2 years ago
fteppe 22dc383f63 fixes errors and warnings
Applies review comments

getWorldspaceTerrain => returns a reference because never null
crashfix in navigator
updateLandPositions fixes naming of it
const ESM4::Land* MWWorld::Store<ESM4::Land>::search(ESM::ExteriorCellLocation cellLocation) const removes useless else
ExteriorCellLocation uses default initializers
get terrain height returns -MAX_FLOAT when there is no esm4 terrain.

applied review comments

use default initlializer when possible
factorise code
uses pattern matching in for loop.
2 years ago
florent.teppe e0fa15b727 Abstracted Land data that can be used by esm3 and esm4. 2 years ago
florent.teppe 1b718f09c5 adding worldspace info to terrain data structures
Rendering manager can have multiple terrain, one for each queried worldspace
Terrain::World has a worldspace member
storage functions require a worldspace parameter.
2 years ago
florent.teppe 93e7b0d946 Terrain has a mandatory worldspace in constructor
getTerrainHeightAt takes a worldspace.

Doesn't change anything for now => Therrain is created with the default ESM3 worldspace, and is never changed.
2 years ago
elsid dc8dfe81ce
Add more details to exceptions 2 years ago
elsid d852ac20f5
Log loading content file 2 years ago
psi29a 01705485b8 Merge branch 'grow_limit' into 'master'
[Needs testing] Migrate Grow Limit editor feature to a more modern code

See merge request OpenMW/openmw!2637
2 years ago
elsid 8f47da46ec
Show magic effect name instead of IndexRefId 2 years ago
elsid 63e01d86a3
Use string based UniversalId to check script for blacklist
Blacklist is a vector of strings and isBlacklisted internally calls getId which
throws exception for RefId based UniversalId.
2 years ago
elsid 0aa569d4fe
Add UniversalId argument type to exception message on invalid access 2 years ago
elsid 292983d57a
Show UniversalId value for all argument types in reports 2 years ago
elsid 7ba397da7d
Use std::span and std::string to define UniversalId related TypeData 2 years ago
elsid ceab7557f3
Add rudimentary support for ESM::RefId in UniversalId
Ideally std::string support should be removed but this may affect too much code.
2 years ago
elsid 4cd5efc6ee
Implement UniversalId with std::variant 2 years ago
elsid f2a3462e59
Fix UniversalId constructor from ESM::RefId 2 years ago
elsid 6541ac43f5
Add UniversalId unit tests 2 years ago
florent.teppe 56cb2a83ec removed sDefaultWorldspace, only sDefaultWorldspaceId now.
sDefaultWorldspaceId is a StringRefId to be able to getvalue easily.
2 years ago
psi29a 83203ae4d9 Merge branch 'minor_header_cleanup_clion' into 'master'
Minor header cleanup

See merge request OpenMW/openmw!2991
2 years ago
psi29a 67c0138aee Merge branch 'fix-7335-bis' into 'master'
OpenCS fixes the issues with the addon's saving

See merge request OpenMW/openmw!2952
2 years ago
jvoisin c7a3f43915 Minor header cleanup
This has been done via CLion's "unused include directive",
set to "detect completely unused".
2 years ago
jvoisin 222365b5e3 Fix a qt deprecation warning in cmake 2 years ago
Bret Curtis 0db31207dc remove remaining boost::filesystem cruft 2 years ago
Bret Curtis 249986b6e0 pathToQString makes things shorter 2 years ago
Bret Curtis afc4e064cb make use of pathToUnicodeString 2 years ago
Bret Curtis 3581f1b724 fix msvc build 2 years ago
psi29a 2e1820fefd make use of QLockFile 2 years ago
florent.teppe b5f774ae64 fixes the issues with the addons
the OpenCS reference's cellId uses a string to be sure it is coherent with the cell's Id type in the editor.
2 years ago
florent.teppe 6b5d9f3344 fixes reference saving stage 2 years ago
florent.teppe cb4a97e50b Displays references in exterior cells. A bit hackish. 2 years ago
florent.teppe 3bbf60373a Keep things coherent between references and and cell table 2 years ago
florent.teppe 69f2285a95 fix issue #7335 2 years ago
psi29a 4fd8ed8f13 Merge branch 'qt_scene' into 'master'
Migrate from GraphicsWindowQt to QOpenGLWidget

See merge request OpenMW/openmw!2895
2 years ago
Petr Mikheev f09a689a4f Merge ESM::RefNum and ESM4::FormId 2 years ago
psi29a ebb5820dd1 Merge branch 'pathgridgraph' into 'master'
Refactor pathgrid indices to use size_t instead of int

See merge request OpenMW/openmw!2900
2 years ago
Evil Eye 8d8207b734 Refactor pathgrid indices to use size_t instead of int 2 years ago
psi29a c8f41f1c34 Merge branch 'slowfilter' into 'master'
Speedup filter in the CS

See merge request OpenMW/openmw!2901
2 years ago
fredzio 8717e8e487 Create the QRegularExpression in the TextNode constructor instead of for
each row in the filtered table.
On a table of more than 1M entries it speeds up filtering almost tenfold (from 35s to 4s).
2 years ago
Andrei Kortunov 3e9cedf3b5 Use a compile-time check 2 years ago
Andrei Kortunov 8df7ce545e Migrate from GraphicsWindowQt to QOpenGLWidget 2 years ago
florent.teppe d782d37ee2 Make sure Vec2iRefId is trivially copyable on GCC 11.3
std::pair<int, int> isn't trivially copyable on some compilers
so a specific struct is defined, it's an int pair, but it should be recognised by GCC 11.3 as trivially copyable

Vec2iRefId => ESM3ExteriorCellRefId

more explcit name and use mX,mY instead of pair
renamed files and enum
2 years ago
florent.teppe 53b14c8b42 fix tests
hopefully also fixes clang tidy
2 years ago
florent.teppe f99e65843a Removes most cellId.hpp include, simplifies id generation for cells. 2 years ago
florent.teppe c2182c2fcc Get Rid of ESM::CellId almost everywhere
it was a competing concept from using RefIds for cell.
There is almost no point to it now, except to load older data.
2 years ago
elsid e08d1e2c87
Show skill name in CS
Instead of RefId converted to string.

Show non StringRefId in deserializable format.
2 years ago
elsid 452d1e7e49
Store original string id for Dialogue records 2 years ago
elsid 06f42ba69c
Use fixed size enum type for ESM::Dialogue::mType 2 years ago
elsid e1f580e7a0
Use static constexpr string_view for hardcoded ids 2 years ago
Andrei Kortunov 11484205f5 Use constexpr to do not generate an invalid code in templates 2 years ago
Evil Eye 6e33da6cfe Don't capture temporaries by reference 2 years ago
elsid 04d7781424
Support not only StringRefId for checking first person body part 2 years ago
elsid e6cf516e12
Support index RefId as pair of record type and std::uint32_t 2 years ago
elsid 0992624c8b
Support reading and writing typed ESM::RefId to ESM 2 years ago
elsid 069d4255b9
Make ESM::RefId to be fixed size cheap to copy
Use std::variant. Store refId strings in unordered_set and use pointer to an
item there. Inserts to unordered_set do not invalidate pointers to values so the
pointer is always valid. Elements are not removed. Assume there is finite number
of string refIds.
2 years ago
elsid 99069b02e4
Remove unused variable 2 years ago
psi29a d64eea2fc6 Merge branch '7113-move-from-std-atoi-to-std-from_char' into 'master'
Move from std::atoi to std::from_char

Closes #7113

See merge request OpenMW/openmw!2760
2 years ago
Shi Han a90e3b8c3b Move from std::atoi to std::from_char 2 years ago
elsid e892c62b10
Fix loading, inserting and moving topic info records
Topic info records need to have specific order defined via mNext and mPrev
fields (next and previous records). When loading multiple files a record may be
inserted into middle of the topic but neighborhood records may not be aware of
it. Having the order it's possible to move the records within one topic.

Sort the record once after loading all content files but preserve the order for
all other operations. Use std::map to group info ids by topic to make sure the
topics order is stable. Keep order within a topic for info ids on loading new
records. Use this order later for sorting the records.
2 years ago
elsid 899c302b14
Avoid nested ifs 2 years ago
elsid c8402c0b14
Avoid double assignment on info saving 2 years ago
elsid 0d523c3793
Log loading errors 2 years ago
elsid 9598b26462
Make loading error messages copyable 2 years ago
elsid 6f6e452dfa
Add executable to run CS tests 2 years ago
elsid 59f2fccc9f
Split openmw-cs into binary and library 2 years ago
elsid 1cc4909144
Add --coverage to components_qt, benchmarks and openmw-cs 2 years ago
elsid d03bec60e9
Avoid redundant conversion from RefId to string and back 2 years ago
elsid 191f207e78
Avoid redundant conversion to lower case for CommandDispatcher::mSelection items 2 years ago
elsid 7daef583cb
Use ESM::RefId as key for ScriptContext::mLocals 2 years ago
elsid 693f4c40f4
Use ESM::RefId as key for Data::mRefLoadCache 2 years ago
elsid 419a86f0b9
Use ESM::RefId for actor parts
To avoid redundant conversion RefId to string and back.
2 years ago
elsid 4cb095ce39
Use ESM::RefId as key for MergeReferencesStage::mIndex 2 years ago
elsid 3c9dbb11cc
Use ESM::RefId as key for SavingState::mSubRecords 2 years ago
elsid dfcea389be
Add helper functions for string comparison to RefId 2 years ago
elsid c03d3360d9
Remove redundant virtual modifiers, add override and final modifiers 2 years ago
elsid a09612264c
Fix setRecordId overload declaration
To match other declarations arguments order.
2 years ago
elsid 4ed0960856
Remove redundant IdAccessor type
Use overloaded free functions instead.
2 years ago
elsid b5ec584be2
Replace ESM::RefId::sEmpty by default constructed RefId where possible
Static const is only required to provide a reference or a pointer when it is not
possible with default constructed temporary.
2 years ago
psi29a d846a9fc15 Merge branch 'cs_optimize_saving' into 'master'
Fix editor saving performance

See merge request OpenMW/openmw!2741
2 years ago
elsid e618026c69
Use ESM::RefId as index key in collections 2 years ago
elsid b2299ef914
Optimize saving in editor 2 years ago
elsid 8383fa3547
Log time spent on document operations in editor 2 years ago
psi29a 18d488d968 Merge branch 'ref_id_class' into 'master'
Convert RefId to class

See merge request OpenMW/openmw!2739
2 years ago
elsid 996153f78d
Convert RefId to class 2 years ago
elsid b6a2fd8fc1
Simplify InfoCollection
There was additional logic to create topic infos index by topic id to make
getTopicInfos and removeDialogueInfos functions faster. In practice it makes
loading slower.

Move infos index by topic to CSMWorld::Data and use only on loading.
2 years ago
elsid de24cdc12c
Log content files loading time by editor 2 years ago
elsid 080700f8fe
Name all custom ESM format versions and add tests 2 years ago
psi29a 944931c9bf Merge branch 'load_esm4_lights' into 'master'
Adds ESM4 light into ESM4 Cells

See merge request OpenMW/openmw!2692
2 years ago
Andrei Kortunov 9ad0e2f4e6 Migrate Grow Limit editor feature to a more modern code 2 years ago
florent.teppe 486d15b19e moved light common to its own file
moved esm4light to it's own file
2 years ago
florent.teppe dc961e3189 Adds the light into the scene.
Common struct for ESM3 and ESM4 light
2 years ago
psi29a a0795ba7ae Merge branch 'launch_fix' into 'master'
Fix some non-ASCII path issues

Closes #6817

See merge request OpenMW/openmw!2686
2 years ago
Andrei Kortunov 7e2aedf637 Add an initial Qt6 support 2 years ago
Andrei Kortunov 5836d27928 Fix ContentSelector usage with non-ASCII paths 2 years ago
unelsson fe70285ac1 Fixes 2 years ago
psi29a 3f9cae7947 Merge branch 'dragdetails' into 'master'
[OpenMW-CS] Generate record filters based on cell content and column header

Closes #7161

See merge request OpenMW/openmw!2617
2 years ago
elsid c44bc5ade5
Setup logging with properly initialized configuration manager
Default constructed instance may provide different paths from initialized one.
2 years ago
unelsson 5bbe9bc5d8 cleanup and style (const ref instead of value, consistent ifndef naming) 2 years ago
unelsson 6b0998ff85 Implement enum class FilterType 2 years ago
unelsson 2e7d41373b Remove unused includes, fix std::get logic at editwidget 2 years ago
unelsson 2fac4d0e40 Use struct with sensible member names 2 years ago
unelsson 9b808a495c Use std::variant and std::visit instead of function overloads, add float type search, fix QMetaType and Type conversion 2 years ago
florent.teppe 3780033837 Reverts Cell name to a string 2 years ago
unelsson ba6c47bb07 Implement record filter search by value and QVariant type recognition 2 years ago
unelsson fc64ab0f5a Promise constness 2 years ago
unelsson 6a864cd9f6 Implement basic filter generation from the dragged table cell (cell content and column header) 2 years ago
unelsson bc1027ee95 First draft of getting the exact drag start location 2 years ago
Andrei Kortunov cc1c8b2bb1 Do not use a deprecated way to get dimensions of screen where current widget is located 2 years ago
Andrei Kortunov 99a575b663 Init QVariant in Qt6-compatible way 2 years ago
Andrei Kortunov 0b3ba26d86 Init style in Qt6-compatible way 2 years ago
Andrei Kortunov 0de635dcdc Do not use deprecated init() method 2 years ago
unelsson 50726636ba clang-format 2 years ago
unelsson 7fce4bc8c4 Issue command passing through QLineInput 2 years ago
unelsson 0310b1cddf Dragging Topics to TopicInfo window opens create TopicInfo BottomBox with the correct id 2 years ago
unelsson 7f8a84f2f2 Move Response column earlier 2 years ago
psi29a 203eb80afd Merge branch 'qregexp' into 'master'
Simplify regex search in the editor

See merge request OpenMW/openmw!2610
2 years ago
Andrei Kortunov 7c8fb79745 Suppress a warnings spam when user entered an invalid regular expression 2 years ago
Andrei Kortunov 7c709167d9 Simplify regex search in the editor 2 years ago
jvoisin 853ca5827e Simplify a regex and fix a typo
- The usage of `|` is wrong
- It's `mWhiteListQuotes` and not `mWhiteListQoutes`
- Replace weird usage of `{}`-based quantifiers
2 years ago
Andrei Kortunov 307a60e87c Migrate from QRegExp to more modern QRegularExpression 2 years ago
elsid c173348cbe
Use default initializers for ESM::RefNum members
Instead of unset function that is removed now and assignments all over the code.
2 years ago
florent.teppe 0de6b79966 Fixes issue with topic info edition.
Also future proofs reference on RefId's string.
2 years ago
florent.teppe 1b66be9c70 Fix dangling reference. 2 years ago
florent.teppe 1ef1de974d script blacklist => RefId
Applies changes from review

Fixed clang format

Clang format + review.
2 years ago
florent.teppe 2c30575b3b CellName is now a RefId, makes more sense that way. 2 years ago
florent.teppe 6ff90b34a8 Fixed an issue with RefId in CellRefs where Ids wouldn't be loaded
Fixed multiple issues from the review.
2 years ago
florent.teppe 0f3499f504 Renamed string => Id, makes more sense considering the new underlying type
Fixes unnecessary copies, and issues with case sensitive comparisons.

fixed modification that wasn't necessary

Fixed type mismatch, and unecessary copy
2 years ago
florent.teppe 30a020883e Avoids unecessary copies
Fixed issue with lowerCase

Oups fixed compialtion on openMW_test_suite
2 years ago
florent.teppe 65cdd489fb create a specific esm reader function for RefID to avoid allocation for string and then again for RefId
Fixed some types

removed useless header

applied clang format

fixed compile tests

fixed clang tidy, and closer to logic before this MR

Removed hardcoded refids

unless there is a returned value we don't use static RefIds
can use == between RefId and hardcoded string

Fix clang format

Fixed a few instances where std::string was used, when only const std::string& was needed

removed unused variable
2 years ago
fteppe 09d461a8cd fixed Topic selected event
Fix rebase
2 years ago
fteppe 62d8fe3fc2 changed a few hardcoded refIds used in mutliple places to be defined only once in a variable 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
psi29a fa50890633 Merge branch 'sm-snap-to-reference' into 'master'
Open-CS: Snap to Reference

See merge request OpenMW/openmw!2484
2 years ago
Petr Mikheev 6025943fed Add missing content=builtin.omwscripts if openmw is started via openmw-cs (fixes #7056) 2 years ago
Max Henzerling 897cdc62d8 Add snap to reference 2 years ago
psi29a 6960fc9304 Merge branch 'opencs_iwyu' into 'master'
Run IWYU on the opencs

See merge request OpenMW/openmw!2481
2 years ago
Evil Eye 45cd5bdbd7 Ignore 0 attributes on dead NPCs 2 years ago
jvoisin 1a326294c0 Run IWYU on the opencs 2 years ago
psi29a da9cbbce8f add some memory 2 years ago
jvoisin cd29c181cf Another pass with IWYU 2 years ago
elsid 843753da14
Remove unused includes 2 years ago
jvoisin 3cbf1dc042 First pass with include-what-you-use 2 years ago
Evil Eye e6592aa850 Add key flag on load 2 years ago
clang-format-bot 88ec8a9523
Apply clang-format 2 years ago
Andrei Kortunov 3163d9ed56 Fix topic infos creation 2 years ago
Project579 5cf2a958eb Make conversions between std::chrono time_point and string safer by not using "localtime" directly. 2 years ago
clang-format-bot ddb0522bbf
Apply clang-format to code base 2 years ago
elsid 410a2881fe
Add comma to the last array element to prevent putting multiple elements on a single line 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
elsid 52b7b66e9f
Add comma to the last array element to prevent putting multiple elements on a single line 2 years ago
elsid f269406061
Do not wrap emit expresison with parenthesis
To avoid warnings like following after clang-format applied:

apps/launcher/utils/profilescombobox.cpp:85:9: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
    emit(signalProfileChanged(mOldProfile, currentText()));
        ^
apps/launcher/utils/profilescombobox.cpp:82:5: note: previous statement is here
    if (index == -1)
    ^
2 years ago
elsid 6ae15f08e0
Avoid chained operator() calls to prevent formatting issues 2 years ago
Project579 ca14fc00dc Added dedicated functions for conversions between QString and std::filesystem::path. 2 years ago
Project579 c226b35f1f Fix some remaining encoding errors due to std::filesystem transition. 2 years ago
Project579 a13709c510 Replace implicit convertions from std::filesystem::path to std::string with correctly converting functions. 2 years ago
Project579 4d47e8d055 openmw-cs: model: world: data: Remove dead code. 2 years ago
Project579 864112b5db Fixed Windows build when using MSVC 14.26 and MacOS build. 2 years ago
Project579 e5c417c968 Make sure all paths are passed as std::filesystem::path instead of std::string where possible. 2 years ago
Project579 35fe214588 Updated components/misc/timeconvert.hpp to fix the Android build. 2 years ago
Project579 5446571aec Circumvent QT MOC bugs by including the filesystem header in a specific order. 2 years ago
Project579 e97eeca281 Attempt to work around QT MOC bugs caused by the filesystem header. 2 years ago
Project579 4bb07282c9 Replace all remaining occurrences of boost::filesystem with std::filesystem. 2 years ago
Evil Eye fb9bc5f535 Use string_view in Fallback::Map 2 years ago
Evil Eye 2222b47e3d Make Settings::Manager::getString return a reference 2 years ago
mpeco 9040209046 functor-based Qt signal-slot syntax construction set: changing visibility of certain slots for connecting on external/derived classes 2 years ago
mpeco 78700eee57 functor-based Qt signal-slot syntax construction set 2 years ago
elsid 2a79a8074a
Use forward declarations 2 years ago
elsid b3882777ab
Cleanup opencs includes 2 years ago
elsid bf1f4f2117
Mark private template functions defined in cpp as inline 2 years ago
Alexei Kotov aee8150d65 Autoresize table subview columns (bug #6939)
Use the contents of the first 500 records, clamp the width to [100, 300]
2 years ago
Alexei Kotov e537f2b6f3 Fix display for some package settings 2 years ago
psi29a b551e69b6f #5534 remove OSG 3.4 support and require at least 3.6.5 support 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
elsid 228a0dc723
Avoid redundant lowerCase call 2 years ago
elsid ba69146ced
Use std::string_view to avoid redundant std::string construction 2 years ago
Alexei Kotov 0d18f76271 Editor: Decouple levelled list columns (bug #6705) 2 years ago
Andrei Kortunov de58c9dff3 Get rid of obsolete osg::Geode where it is possible 2 years ago
Evil Eye 3967509cdd Use meaningful names instead of pretending we don't know what snow is 2 years ago
psi29a 0eb674ec84 Merge branch 'settings_fix' into 'master'
Refactor usage of settings storage in the launcher and editor

See merge request OpenMW/openmw!2123
3 years ago
Andrei Kortunov 4b257e496e Use static settings map for launcher and editor - the Settings::Manager has a static data anyway 3 years ago
Andrei Kortunov a5b0ef0912 Avoid possible null dereference 3 years ago
Andrei Kortunov 42b9a6daaf Do not use an invalid iterator 3 years ago
elsid 7501597813
Do not use float as loop variable
apps/opencs/view/render/instanceselectionmode.cpp:294:9: warning: Variable 'i' with floating point type 'float' should not be used as a loop counter [clang-analyzer-security.FloatLoopCounter]
        for (float i = 0.0; i <= resolution; i += 2)
        ^                   ~                ~
3 years ago
elsid bef15edf0b
Remove redundant ostream, istream, iostream and sstream includes
* Replace by std::to_string and operator+ where possible.
* Move the code requiring to include <sstream> from .hpp to .cpp files.
3 years ago
Andrei Kortunov aa349f2ed9 Initialize some missing variables 3 years ago
elsid 7e6c13630a Use target_precompile_headers for the most expensive headers 3 years ago
elsid 10fbf170a2
Reduce number of includes for boost/program_options 3 years ago
Bret Curtis 37a440a0ee add one include back 3 years ago
jvoisin 8b9ed57348 Clean up Qt includes 3 years ago
psi29a 9c1970dce4 Merge branch 'lua_esm' into 'master'
Advanced Lua scripts configuration in omwaddon

See merge request OpenMW/openmw!1947
3 years ago
ζeh Matt d5ec959449
Create platform component for platform specific things 3 years ago
Petr Mikheev a70d5831c5 Lua scripts configuration in omwaddon 3 years ago
Cody Glassman ce49aa1202 Attach lights at origin when missing AttachLight node 3 years ago
Evil Eye db1a372e5b Replace new with make_unique in opencs 3 years ago
Michał Plichta 5ee5e8f2f7
Correct CS typo described in #6704 3 years ago
elsid 98f53eca65
Fix gcc warning: -Wuninitialized
/home/elsid/dev/openmw/apps/opencs/model/world/data.cpp: In constructor ‘CSMWorld::Data::Data(ToUTF8::FromType, bool, const Files::PathContainer&, const std::vector<std::__cxx11::basic_string<char> >&, const boost::filesystem::path&)’:
/home/elsid/dev/openmw/apps/opencs/model/world/data.cpp:69:36: warning: member ‘CSMWorld::Data::mCells’ is used uninitialized [-Wuninitialized]
   69 | : mEncoder (encoding), mPathgrids (mCells), mRefs (mCells),
      |                                    ^~~~~~
3 years ago
cody glassman 04843fed6d moddable post-processing pipeline 3 years ago
Evil Eye a64979e25d Replace empty std::string assignments 3 years ago
Max Henzerling 41be5a17f4 comments from PR 3 years ago
Max Henzerling af5b1b3083 Add option to open record editting subviews in new windows instead of exclusive docking. 3 years ago
Petr Mikheev c7ab67c2c1 Allow relative paths in openmw.cfg; support --replace=config. 3 years ago
elsid 0dcb1f5aac
Fix build on Windows
Use wrapper header over Windows.h to undefine far and near in a single place.
3 years ago
psi29a 84458baa8b Merge branch 'VA_OpenMW-CS' into 'master'
OpenMW-CS: Issue #3245 Add configurable instance grid, angle, and scale snapping

Closes #3245

See merge request OpenMW/openmw!1737
3 years ago
Vidi_Aquam 035fe778b2 Temporary workaround for angle snapping
Made the angle snap only apply to an object when the drag is finished, which is much more usable until the rotation system can be fixed completely
3 years ago
elsid db44f91fd5
Remove redundant include from esm3/esmreader.hpp 3 years ago
elsid 4509b05bc8
Use std::make_shared instead of new
make_shared allocates single storage for ref counter and the object.
std::shared_ptr<T>(new T) allocates 2 storages.
3 years ago
Vidi_Aquam abf0c8048e Change reading of settings and add missing logic to mouse wheel drag 3 years ago
Vidi_Aquam 6d7c8f25fc Implement grid snapping and angle snapping in OpenMW-CS
Adds configurable snap settings for instance movement, rotation and scaling, used with the secondary edit button
3 years ago
Martin Otto 96e48e5492 Make settings loader differentiate between engine and editor (fixes #6658). 3 years ago
Bret Curtis 32fd6f297a static_cast bitwise operation between different enumeration types 3 years ago
Bret Curtis 4b742dd461 explicit capture for lamda 3 years ago
elsid c044bef6a7
Add StatelessUtf8Encoder to support caller provided buffer for output 3 years ago
Petr Mikheev a453e5c198 Reuse the same code to load settings in apps/openmw, apps/launcher, apps/opencs 3 years ago
Petr Mikheev 5ca56a4f8a New option "config" for specifying additional config directories. 3 years ago
Petr Mikheev dd5ba5c57b Redirect log only after parsing configuration 3 years ago
elsid 45db56b382
Rework fixed string
* Avoid inheritance.
* Define equality operators out of the class definition.
* Replace toString with toStringView where it doesn't make sense to create a string.
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 cdbab2325f rename esmterrain to esm3terrain 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
Cody Glassman 8ec0a52605 Toggable day night switch (#5928) 3 years ago
AnyOldName3 8fc09f8c51 Merge remote-tracking branch 'upstream/master' into detain-hash-selectively-reluctant
Merge conflicts included:
* One setting being removed (branch had changed its type).
* One setting's description being changed (branch had changed its type).
* List of files in components/files was changed both upstream and on the
  branch.
* Upstream had changed something in a file the branch deletes.
3 years ago
Bret Curtis 9336626927 use OPENMW_RESOURCES_ROOT instead 3 years ago
Bret Curtis a9bf53d4ed modified builtin_scripts to be macOS aware; simplified things as the SHADER and MYGUI dir were just pointing to the OpenMW_BINARY_DIR anyway, so removing the code duplication 3 years ago
AnyOldName3 84d6de3eba Parse paths with boost rules when it's quoted, but use the string verbatim when it's not 3 years ago
Evil Eye 52f9634624 Allow the CS to handle the repeat flag for all types 3 years ago
psi29a 5c5c71778a Merge branch 'circular' into 'master'
Consistently sort content files

See merge request OpenMW/openmw!1350
3 years ago
Evil Eye 6daefe3ddc Cast to the unsigned char expected by cctype functions 3 years ago
Evil Eye f23bd51175 Don't check bounds when the type is unambiguously a char 3 years ago
Evil Eye 751e8cf76b Do a bounds check before calling functions defined in cctype 3 years ago
AnyOldName3 8fb0b5846e Allow paths with trailing data, emmitting a warning 3 years ago
Evil Eye a3e039d862 Explicitely sort by file name after adding all data dirs 3 years ago
Alexei Dobrohotov 7a0c13fcf8 Make better use of std::clamp 3 years ago
Bo Svensson 6cf74f7041
refactors ESM::Land (#3213)
With this PR we reduce coupling, simplify code, encapsulate a variable and separate actual `ESM` data from its context.
3 years ago
Petr Mikheev 37386f417e Support *.omwscripts in openmw-launcher 3 years ago
Evil Eye 9b565c4cf9 Remove dead code 3 years ago
Bo Svensson c9c8d02332
fixes a crash (#3183)
This PR fixes a crash caused by the improperly ensured lifetime of RigGeometry::mSourceGeometry. mSourceGeometry was not adequate to ensure mSourceGeometry would outlive mGeometry because we extend mGeometrys lifetime beyond this lifetime by passing mGeometry to the draw traversal instead of this.
In addition,

We add important comments.
We detect and prevent generally unsafe operations in high level code.
We add a sprinkling of const to help clarify intentions.
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
unelsson 14c4bba4a3 Remove unused include 3 years ago
unelsson 28278e9a82 Drawing duplicate lines is faster than iterating through big containers 3 years ago
unelsson 55456a19fc Only iterate through temporary selection when using toggle 3 years ago
unelsson 46960825ef Various terrain selection and editmode dragging fixes 3 years ago
unelsson 89a20b6ea5 Call dragEnded instead of pressed also after aborted operation 3 years ago
unelsson 3df9ceda03 Remove measurement code 3 years ago
unelsson 7602d677fa Terrain selection optimizations, measurements, renderBin change 3 years ago
Petr Mikheev a8acc19988 Avoid copying std::string in MWWorld::Ptr::getTypeDescription() 3 years ago
AnyOldName3 1b83b08d80 Merge remote-tracking branch 'upstream/master' into detain-hash
Tests which no longer work are commented out.
Some of these don't work because they're effectively testing for the
presence of bugs in the old implementation.
Others don't work because we're no longer accidentally disabling the
boost::program_options feature where it generates an error if only part
of a token gets consumed.
These will be fixed by later commits.
3 years ago
AnyOldName3 af0d399103 Purge all uses of Escape Hash types 3 years ago
psi29a fc7e13d76a Merge branch 'omwaddon_dep' into 'master'
Allow creating omwaddons without a dependency on an omwgame

See merge request OpenMW/openmw!1243
3 years ago
psi29a 555224a0fb Merge branch 'fixes' into 'master'
Make compilers happy and fix the changelog

See merge request OpenMW/openmw!1260
3 years ago
Evil Eye d680aa26e9 Disallow switch fallthrough 3 years ago
Matjaž Lamut 1c9f06f742 Minor UI tweaks all around OpenMW-CS 3 years ago
psi29a 782e0710af Merge branch 'OpenCS-preserve-blocked' into 'master'
OpenCS - Preserve "blocked" record flags when saving. #6288

Closes #6288

See merge request OpenMW/openmw!1052
3 years ago
psi29a ade6cd0127 Merge branch 'editor_columns_filtering' into 'master'
Toggling table columns visibility. Partially implements #890

Closes #890

See merge request OpenMW/openmw!1232
3 years ago
Petr Mikheev 413ac067ec Allow creating omwaddons without a dependency on an omwgame 3 years ago
psi29a e2e5161d81 Merge branch 'optimizebrushdraw' into 'master'
Optimize terrain editing brush drawing performance

Closes #6285

See merge request OpenMW/openmw!1226
3 years ago
Pi03k e641bea606 Toggling table columns visibility 3 years ago
Evil Eye 831055f878 Merge branch 'OpenCS-fix-modify' into 'master'
OpenCS - Re-implement the fix for Issue #6067.

See merge request OpenMW/openmw!1173
3 years ago