Commit Graph

2248 Commits (master)

Author SHA1 Message Date
Andrei Kortunov 6f68df9ac2 Avoid redundant copies 1 year ago
elsid e07d8f3066
Add separate setting type for subcategory 1 year ago
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
elsid 08902371b4
Use settings values for Shaders settings 1 year ago
elsid 053a3caf7b
Pass cache expiry delay to GenericResourceManager constructor 1 year ago
Petr Mikheev f260fa006e Show OpenMW version and Lua API revision in documentation. 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
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 6b7e7acd16 Replace a number of incorrect index types 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
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
florent.teppe 56cb2a83ec removed sDefaultWorldspace, only sDefaultWorldspaceId now.
sDefaultWorldspaceId is a StringRefId to be able to getvalue easily.
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
florent.teppe cb4a97e50b Displays references in exterior cells. A bit hackish. 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
Evil Eye 8d8207b734 Refactor pathgrid indices to use size_t instead of int 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 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
Evil Eye 6e33da6cfe Don't capture temporaries by reference 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 0d523c3793
Log loading errors 2 years ago
elsid 9598b26462
Make loading error messages copyable 2 years ago
elsid d03bec60e9
Avoid redundant conversion from RefId to string and back 2 years ago
elsid 419a86f0b9
Use ESM::RefId for actor parts
To avoid redundant conversion RefId to string and back.
2 years ago
elsid e618026c69
Use ESM::RefId as index key in collections 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
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
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
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 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
Max Henzerling 897cdc62d8 Add snap to reference 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
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
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 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 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
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 b3882777ab
Cleanup opencs includes 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
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
Andrei Kortunov de58c9dff3 Get rid of obsolete osg::Geode where it is possible 2 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
jvoisin 8b9ed57348 Clean up Qt includes 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
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
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
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
Bret Curtis 32fd6f297a static_cast bitwise operation between different enumeration types 3 years ago
Bret Curtis 4b742dd461 explicit capture for lamda 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
psi29a 5c5c71778a Merge branch 'circular' into 'master'
Consistently sort content files

See merge request OpenMW/openmw!1350
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
Petr Mikheev 37386f417e Support *.omwscripts in openmw-launcher 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
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
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
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
psi29a 18f5762a76 Merge branch 'master' into 'OpenCS-preserve-blocked'
# Conflicts:
#   CHANGELOG.md
3 years ago
unelsson 70e210735a Optimize terrain editing brush drawing performance 3 years ago
pi03k e4eeb9cce9 Remove 'no relevant classes' moc warning 3 years ago
psi29a 0ab8a7ddd7 Merge branch 'create-objects-menu' into 'master'
OpenMW-CS: Usability changes to the drop-down menu when creating a new object.

See merge request OpenMW/openmw!1210
3 years ago
Lamoot 6e6214bc43 In OpenMW-CS, when creating a new object, sort the entries in the drop-down menu alphabetically. Also have the menu be tall enough to show all of them at once (without scroll bars). 3 years ago
elsid 6b7434ca69
Pass std::string_view instead of const std::string&
* Starting with Actor::getBodyPartMesh and ending with
  Misc::StringUtils::ciEqual.
* Add tests for Misc::StringUtils::ciEqual.
3 years ago
psi29a 6170971ea3 Merge branch 'bettermoveinstance' into 'master'
Set instance movement based on camera zoom

See merge request OpenMW/openmw!1186
3 years ago
elsid a8c16071dc
Fix -Wreturn-local-addr warning
/home/elsid/dev/openmw/apps/opencs/model/world/actoradapter.cpp: In member function ‘const string& CSMWorld::ActorAdapter::ActorData::getPart(ESM::PartReferenceType) const’:
/home/elsid/dev/openmw/apps/opencs/model/world/actoradapter.cpp:142:20: error: returning reference to temporary [-Werror=return-local-addr]
  142 |             return "";
      |                    ^~
3 years ago
unelsson f876ff2c14 Clear temporary movement data at the end of the drag 3 years ago
unelsson 53d315c862 XYZ-locking, mouse wheel move fix 3 years ago