Evil Eye
7be005c9a5
Use std::array in CLDTstruct
2023-06-03 11:58:09 +02:00
Evil Eye
8a474b9807
Use std::array in RADTstruct
2023-06-03 10:45:32 +02:00
elsid
4a8471ce78
Use original RefId to remove info from InfoOrder
2023-06-03 01:12:21 +02:00
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.
2023-06-01 23:35:40 +02:00
psi29a
df57f8004b
Merge branch 'default' into 'master'
...
Replace some empty constructors and destructors with default
See merge request OpenMW/openmw!3078
2023-05-29 13:06:19 +00:00
Evil Eye
9214ffb50b
Replace some empty constructors and destructors with default
2023-05-29 13:37:19 +02:00
florent.teppe
ad8cfde4e0
ESM::LandData no longer a virtual interface
...
instead it is constructed from ESM::Land or ESM4::Land
2023-05-29 12:10:42 +02:00
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.
2023-05-29 12:10:42 +02:00
florent.teppe
e0fa15b727
Abstracted Land data that can be used by esm3 and esm4.
2023-05-29 11:31:37 +02:00
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.
2023-05-29 11:31:37 +02:00
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.
2023-05-29 11:31:36 +02:00
elsid
dc8dfe81ce
Add more details to exceptions
2023-05-25 20:56:07 +02:00
elsid
d852ac20f5
Log loading content file
2023-05-25 20:56:07 +02:00
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
2023-05-23 08:39:38 +00:00
elsid
8f47da46ec
Show magic effect name instead of IndexRefId
2023-05-22 18:02:21 +02:00
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.
2023-05-22 03:14:00 +02:00
elsid
0aa569d4fe
Add UniversalId argument type to exception message on invalid access
2023-05-22 03:14:00 +02:00
elsid
292983d57a
Show UniversalId value for all argument types in reports
2023-05-22 03:14:00 +02:00
elsid
7ba397da7d
Use std::span and std::string to define UniversalId related TypeData
2023-05-22 03:14:00 +02:00
elsid
ceab7557f3
Add rudimentary support for ESM::RefId in UniversalId
...
Ideally std::string support should be removed but this may affect too much code.
2023-05-22 03:12:16 +02:00
elsid
4cd5efc6ee
Implement UniversalId with std::variant
2023-05-22 03:03:05 +02:00
elsid
f2a3462e59
Fix UniversalId constructor from ESM::RefId
2023-05-22 02:47:06 +02:00
elsid
6541ac43f5
Add UniversalId unit tests
2023-05-22 02:47:04 +02:00
florent.teppe
56cb2a83ec
removed sDefaultWorldspace, only sDefaultWorldspaceId now.
...
sDefaultWorldspaceId is a StringRefId to be able to getvalue easily.
2023-05-12 22:05:53 +02:00
psi29a
83203ae4d9
Merge branch 'minor_header_cleanup_clion' into 'master'
...
Minor header cleanup
See merge request OpenMW/openmw!2991
2023-05-01 10:46:55 +00:00
psi29a
67c0138aee
Merge branch 'fix-7335-bis' into 'master'
...
OpenCS fixes the issues with the addon's saving
See merge request OpenMW/openmw!2952
2023-04-30 23:01:47 +00:00
jvoisin
c7a3f43915
Minor header cleanup
...
This has been done via CLion's "unused include directive",
set to "detect completely unused".
2023-04-30 16:26:03 +02:00
jvoisin
222365b5e3
Fix a qt deprecation warning in cmake
2023-04-25 22:00:20 +02:00
Bret Curtis
0db31207dc
remove remaining boost::filesystem cruft
2023-04-25 16:15:04 +02:00
Bret Curtis
249986b6e0
pathToQString makes things shorter
2023-04-25 11:21:16 +02:00
Bret Curtis
afc4e064cb
make use of pathToUnicodeString
2023-04-25 10:34:29 +02:00
Bret Curtis
3581f1b724
fix msvc build
2023-04-25 09:08:51 +02:00
psi29a
2e1820fefd
make use of QLockFile
2023-04-24 13:34:06 +00:00
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.
2023-04-21 14:55:24 +02:00
florent.teppe
6b5d9f3344
fixes reference saving stage
2023-04-20 10:03:35 +02:00
florent.teppe
cb4a97e50b
Displays references in exterior cells. A bit hackish.
2023-04-20 10:03:35 +02:00
florent.teppe
3bbf60373a
Keep things coherent between references and and cell table
2023-04-20 10:03:34 +02:00
florent.teppe
69f2285a95
fix issue #7335
2023-04-20 09:55:17 +02:00
psi29a
4fd8ed8f13
Merge branch 'qt_scene' into 'master'
...
Migrate from GraphicsWindowQt to QOpenGLWidget
See merge request OpenMW/openmw!2895
2023-04-11 10:51:07 +00:00
Petr Mikheev
f09a689a4f
Merge ESM::RefNum and ESM4::FormId
2023-04-09 00:23:32 +02:00
psi29a
ebb5820dd1
Merge branch 'pathgridgraph' into 'master'
...
Refactor pathgrid indices to use size_t instead of int
See merge request OpenMW/openmw!2900
2023-04-08 00:32:43 +00:00
Evil Eye
8d8207b734
Refactor pathgrid indices to use size_t instead of int
2023-04-08 00:32:43 +00:00
psi29a
c8f41f1c34
Merge branch 'slowfilter' into 'master'
...
Speedup filter in the CS
See merge request OpenMW/openmw!2901
2023-04-07 16:50:47 +00:00
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).
2023-04-07 15:34:26 +02:00
Andrei Kortunov
3e9cedf3b5
Use a compile-time check
2023-04-06 08:04:21 +04:00
Andrei Kortunov
8df7ce545e
Migrate from GraphicsWindowQt to QOpenGLWidget
2023-04-05 19:43:42 +04:00
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
2023-04-03 14:17:31 +02:00
florent.teppe
53b14c8b42
fix tests
...
hopefully also fixes clang tidy
2023-04-03 14:17:17 +02:00
florent.teppe
f99e65843a
Removes most cellId.hpp include, simplifies id generation for cells.
2023-04-03 14:16:32 +02:00
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.
2023-04-03 14:16:05 +02:00
elsid
e08d1e2c87
Show skill name in CS
...
Instead of RefId converted to string.
Show non StringRefId in deserializable format.
2023-04-02 18:02:18 +02:00
elsid
452d1e7e49
Store original string id for Dialogue records
2023-03-26 19:07:32 +02:00
elsid
06f42ba69c
Use fixed size enum type for ESM::Dialogue::mType
2023-03-26 19:07:25 +02:00
elsid
e1f580e7a0
Use static constexpr string_view for hardcoded ids
2023-03-26 15:21:49 +02:00
Andrei Kortunov
11484205f5
Use constexpr to do not generate an invalid code in templates
2023-03-23 14:29:26 +04:00
Evil Eye
6e33da6cfe
Don't capture temporaries by reference
2023-03-20 19:07:51 +01:00
elsid
04d7781424
Support not only StringRefId for checking first person body part
2023-03-19 17:49:41 +01:00
elsid
e6cf516e12
Support index RefId as pair of record type and std::uint32_t
2023-03-19 17:20:48 +01:00
elsid
0992624c8b
Support reading and writing typed ESM::RefId to ESM
2023-03-19 17:20:48 +01:00
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.
2023-03-19 17:20:43 +01:00
elsid
99069b02e4
Remove unused variable
2023-03-18 13:40:45 +01:00
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
2023-03-18 09:30:48 +00:00
Shi Han
a90e3b8c3b
Move from std::atoi to std::from_char
2023-03-18 09:30:48 +00:00
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.
2023-03-13 21:57:38 +01:00
elsid
899c302b14
Avoid nested ifs
2023-03-13 11:31:16 +01:00
elsid
c8402c0b14
Avoid double assignment on info saving
2023-03-13 11:31:16 +01:00
elsid
0d523c3793
Log loading errors
2023-03-13 11:31:16 +01:00
elsid
9598b26462
Make loading error messages copyable
2023-03-13 11:31:16 +01:00
elsid
6f6e452dfa
Add executable to run CS tests
2023-03-12 12:06:33 +01:00
elsid
59f2fccc9f
Split openmw-cs into binary and library
2023-03-12 12:06:33 +01:00
elsid
1cc4909144
Add --coverage to components_qt, benchmarks and openmw-cs
2023-03-10 21:36:12 +01:00
elsid
d03bec60e9
Avoid redundant conversion from RefId to string and back
2023-03-03 15:44:19 +01:00
elsid
191f207e78
Avoid redundant conversion to lower case for CommandDispatcher::mSelection items
2023-03-03 15:44:19 +01:00
elsid
7daef583cb
Use ESM::RefId as key for ScriptContext::mLocals
2023-03-03 15:44:18 +01:00
elsid
693f4c40f4
Use ESM::RefId as key for Data::mRefLoadCache
2023-03-03 15:44:18 +01:00
elsid
419a86f0b9
Use ESM::RefId for actor parts
...
To avoid redundant conversion RefId to string and back.
2023-03-03 15:44:14 +01:00
elsid
4cb095ce39
Use ESM::RefId as key for MergeReferencesStage::mIndex
2023-03-03 15:41:56 +01:00
elsid
3c9dbb11cc
Use ESM::RefId as key for SavingState::mSubRecords
2023-03-03 15:41:53 +01:00
elsid
dfcea389be
Add helper functions for string comparison to RefId
2023-03-03 00:39:55 +01:00
elsid
c03d3360d9
Remove redundant virtual modifiers, add override and final modifiers
2023-02-28 21:18:38 +01:00
elsid
a09612264c
Fix setRecordId overload declaration
...
To match other declarations arguments order.
2023-02-27 23:35:50 +01:00
elsid
4ed0960856
Remove redundant IdAccessor type
...
Use overloaded free functions instead.
2023-02-25 13:49:22 +01:00
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.
2023-02-18 01:07:15 +01:00
psi29a
d846a9fc15
Merge branch 'cs_optimize_saving' into 'master'
...
Fix editor saving performance
See merge request OpenMW/openmw!2741
2023-02-17 13:30:20 +00:00
elsid
e618026c69
Use ESM::RefId as index key in collections
2023-02-17 11:08:46 +01:00
elsid
b2299ef914
Optimize saving in editor
2023-02-17 11:05:25 +01:00
elsid
8383fa3547
Log time spent on document operations in editor
2023-02-17 00:23:02 +01:00
psi29a
18d488d968
Merge branch 'ref_id_class' into 'master'
...
Convert RefId to class
See merge request OpenMW/openmw!2739
2023-02-15 23:41:58 +00:00
elsid
996153f78d
Convert RefId to class
2023-02-15 23:20:44 +01:00
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.
2023-02-15 23:10:35 +01:00
elsid
de24cdc12c
Log content files loading time by editor
2023-02-15 21:29:13 +01:00
elsid
080700f8fe
Name all custom ESM format versions and add tests
2023-02-10 19:54:15 +01:00
psi29a
944931c9bf
Merge branch 'load_esm4_lights' into 'master'
...
Adds ESM4 light into ESM4 Cells
See merge request OpenMW/openmw!2692
2023-02-07 16:50:10 +00:00
Andrei Kortunov
9ad0e2f4e6
Migrate Grow Limit editor feature to a more modern code
2023-02-07 20:09:59 +04:00
florent.teppe
486d15b19e
moved light common to its own file
...
moved esm4light to it's own file
2023-02-07 16:29:17 +01:00
florent.teppe
dc961e3189
Adds the light into the scene.
...
Common struct for ESM3 and ESM4 light
2023-02-07 10:07:59 +01:00
psi29a
a0795ba7ae
Merge branch 'launch_fix' into 'master'
...
Fix some non-ASCII path issues
Closes #6817
See merge request OpenMW/openmw!2686
2023-02-06 19:50:30 +00:00
Andrei Kortunov
7e2aedf637
Add an initial Qt6 support
2023-02-06 18:38:59 +04:00
Andrei Kortunov
5836d27928
Fix ContentSelector usage with non-ASCII paths
2023-02-06 13:36:02 +04:00
unelsson
fe70285ac1
Fixes
2023-02-04 15:32:17 +02:00
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
2023-02-03 09:29:36 +00:00
elsid
c44bc5ade5
Setup logging with properly initialized configuration manager
...
Default constructed instance may provide different paths from initialized one.
2023-01-30 09:30:55 +01:00
unelsson
5bbe9bc5d8
cleanup and style (const ref instead of value, consistent ifndef naming)
2023-01-29 21:42:01 +02:00
unelsson
6b0998ff85
Implement enum class FilterType
2023-01-29 21:23:28 +02:00
unelsson
2e7d41373b
Remove unused includes, fix std::get logic at editwidget
2023-01-29 20:35:00 +02:00
unelsson
2fac4d0e40
Use struct with sensible member names
2023-01-29 17:25:25 +02:00
unelsson
9b808a495c
Use std::variant and std::visit instead of function overloads, add float type search, fix QMetaType and Type conversion
2023-01-26 00:05:51 +02:00
florent.teppe
3780033837
Reverts Cell name to a string
2023-01-21 18:39:42 +01:00
unelsson
ba6c47bb07
Implement record filter search by value and QVariant type recognition
2023-01-17 02:55:47 +02:00
unelsson
fc64ab0f5a
Promise constness
2023-01-17 02:55:03 +02:00
unelsson
6a864cd9f6
Implement basic filter generation from the dragged table cell (cell content and column header)
2023-01-16 23:47:32 +02:00
unelsson
bc1027ee95
First draft of getting the exact drag start location
2023-01-16 23:47:32 +02:00
Andrei Kortunov
cc1c8b2bb1
Do not use a deprecated way to get dimensions of screen where current widget is located
2023-01-15 20:23:18 +04:00
Andrei Kortunov
99a575b663
Init QVariant in Qt6-compatible way
2023-01-15 20:23:07 +04:00
Andrei Kortunov
0b3ba26d86
Init style in Qt6-compatible way
2023-01-15 20:09:56 +04:00
Andrei Kortunov
0de635dcdc
Do not use deprecated init() method
2023-01-15 20:09:56 +04:00
unelsson
50726636ba
clang-format
2023-01-14 21:42:33 +02:00
unelsson
7fce4bc8c4
Issue command passing through QLineInput
2023-01-14 21:30:25 +02:00
unelsson
0310b1cddf
Dragging Topics to TopicInfo window opens create TopicInfo BottomBox with the correct id
2023-01-14 20:36:49 +02:00
unelsson
7f8a84f2f2
Move Response column earlier
2023-01-14 16:19:37 +02:00
psi29a
203eb80afd
Merge branch 'qregexp' into 'master'
...
Simplify regex search in the editor
See merge request OpenMW/openmw!2610
2023-01-13 15:55:19 +00:00
Andrei Kortunov
7c8fb79745
Suppress a warnings spam when user entered an invalid regular expression
2023-01-13 12:08:42 +04:00
Andrei Kortunov
7c709167d9
Simplify regex search in the editor
2023-01-13 11:28:49 +04:00
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
2023-01-12 22:49:23 +01:00
Andrei Kortunov
307a60e87c
Migrate from QRegExp to more modern QRegularExpression
2023-01-11 11:21:46 +04:00
elsid
c173348cbe
Use default initializers for ESM::RefNum members
...
Instead of unset function that is removed now and assignments all over the code.
2023-01-10 00:44:51 +01:00
florent.teppe
0de6b79966
Fixes issue with topic info edition.
...
Also future proofs reference on RefId's string.
2023-01-08 12:59:47 +01:00
florent.teppe
1b66be9c70
Fix dangling reference.
2023-01-02 19:47:12 +01:00
florent.teppe
1ef1de974d
script blacklist => RefId
...
Applies changes from review
Fixed clang format
Clang format + review.
2022-12-27 19:16:21 +01:00
florent.teppe
2c30575b3b
CellName is now a RefId, makes more sense that way.
2022-12-27 19:16:21 +01:00
florent.teppe
6ff90b34a8
Fixed an issue with RefId in CellRefs where Ids wouldn't be loaded
...
Fixed multiple issues from the review.
2022-12-27 19:15:58 +01:00
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
2022-12-27 19:15:57 +01:00
florent.teppe
30a020883e
Avoids unecessary copies
...
Fixed issue with lowerCase
Oups fixed compialtion on openMW_test_suite
2022-12-27 19:15:57 +01:00
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
2022-12-27 19:15:57 +01:00
fteppe
09d461a8cd
fixed Topic selected event
...
Fix rebase
2022-12-27 19:15:56 +01:00
fteppe
62d8fe3fc2
changed a few hardcoded refIds used in mutliple places to be defined only once in a variable
2022-12-27 19:15:55 +01:00
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
2022-12-27 19:15:55 +01:00
psi29a
fa50890633
Merge branch 'sm-snap-to-reference' into 'master'
...
Open-CS: Snap to Reference
See merge request OpenMW/openmw!2484
2022-11-08 15:30:26 +00:00
Petr Mikheev
6025943fed
Add missing content=builtin.omwscripts if openmw is started via openmw-cs ( fixes #7056 )
2022-11-05 16:30:44 +01:00
Max Henzerling
897cdc62d8
Add snap to reference
2022-11-04 15:04:42 -07:00
psi29a
6960fc9304
Merge branch 'opencs_iwyu' into 'master'
...
Run IWYU on the opencs
See merge request OpenMW/openmw!2481
2022-11-02 21:41:53 +00:00
Evil Eye
45cd5bdbd7
Ignore 0 attributes on dead NPCs
2022-11-01 20:14:40 +01:00
jvoisin
1a326294c0
Run IWYU on the opencs
2022-10-31 21:04:01 +01:00
psi29a
da9cbbce8f
add some memory
2022-10-17 13:09:17 +00:00
jvoisin
cd29c181cf
Another pass with IWYU
2022-10-10 15:16:18 +02:00
elsid
843753da14
Remove unused includes
2022-10-09 16:44:18 +02:00
jvoisin
3cbf1dc042
First pass with include-what-you-use
2022-10-09 10:39:43 +00:00
Evil Eye
e6592aa850
Add key flag on load
2022-09-30 12:16:45 +02:00
clang-format-bot
88ec8a9523
Apply clang-format
2022-09-25 18:23:43 +02:00
Andrei Kortunov
3163d9ed56
Fix topic infos creation
2022-09-25 15:17:20 +04:00