1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-21 13:23:53 +00:00
Commit graph

1339 commits

Author SHA1 Message Date
Dave Corley
1b1f0c4971 Switch height/weight in names and make the stats a simple struct instead 2024-02-14 18:01:31 -06:00
Dave Corley
98ad059806 Cleanup(actoradapter): Use more explicit names & vec2 for racial height/weight 2024-02-14 16:42:27 -06:00
Dave Corley
049550d73e Cleanup(Actoradapter.cpp): Create new struct for race stats, use
std::pair instead
2024-02-14 16:42:27 -06:00
Dave Corley
b31664a78f Fix(CS): Scale actors according to their race's stats 2024-02-14 16:42:27 -06:00
psi29a
6136e3d8fc Merge branch 'csspellarg' into 'master'
Editor: Reset effect arguments when the effect ID changes (#7785)

Closes #7785

See merge request OpenMW/openmw!3802
2024-01-31 10:52:13 +00:00
psi29a
7450b11402 Merge branch 'vfs_normalized_path_1' into 'master'
Use normalized path for VFS manager and RecursiveDirectoryIterator

See merge request OpenMW/openmw!3806
2024-01-28 21:34:01 +00:00
Alexei Kotov
b83b30f0dc Editor: Reset effect arguments when the effect ID changes (#7785) 2024-01-28 15:37:53 +03:00
Evil Eye
aa9a99bde5 Merge branch 'magic_effects_fix' into 'master'
Fix magic effects in the editor

Closes #7481

See merge request OpenMW/openmw!3798
2024-01-26 16:33:51 +00:00
elsid
70061329a1
Return Path::Normalized from RecursiveDirectoryIterator 2024-01-24 22:19:03 +01:00
jvoisin
ec6ac8058b Merge branch 'vfs_normalized_path' into 'master'
Add type for normalized VFS path and use for VFS::Manager file map key

See merge request OpenMW/openmw!3781
2024-01-23 20:42:48 +00:00
Andrei Kortunov
737d3b499b Use move semantics for tools 2024-01-21 20:20:37 +04:00
Andrei Kortunov
e01e2f1ae0 Fix magic effects in the editor 2024-01-21 17:50:45 +04:00
psi29a
c23cd8e544 Merge branch 'umlautontherocks' into 'master'
Convert strings in nif files to utf8

Closes #7780

See merge request OpenMW/openmw!3783
2024-01-20 11:56:59 +00:00
psi29a
6ead5f9321 Merge branch 'touch_record' into 'master'
Fix Touch command

See merge request OpenMW/openmw!3778
2024-01-19 08:32:03 +00:00
Evil Eye
48db113149 Address feedback 2024-01-17 18:10:42 +01:00
Evil Eye
27fa411f4f Convert strings in nif files to utf8 2024-01-16 20:56:58 +01:00
elsid
a2147d70cc
Use forward declaration for some VFS types
This will allow to save on preprocessed code size in the future changes.
2024-01-16 01:32:11 +01:00
Andrei Kortunov
a91e557c68 Fix Touch command (bug 7765) 2024-01-14 22:10:18 +04:00
Andrei Kortunov
074ab682ab Move local variables in the editor 2024-01-12 10:10:27 +04:00
Dave Corley
c93b6dca0a Fix(CS): Add record type to selection groups to fix #7759 2024-01-05 19:39:53 -06:00
jvoisin
29c20cdb41 Merge branch 'fix_universal_id' into 'master'
Add missing UniversalId::mClass initialization

See merge request OpenMW/openmw!3707
2024-01-01 23:05:57 +00:00
elsid
94409ce172
Add missing UniversalId::mClass initialization 2024-01-01 01:12:19 +01:00
Evil Eye
e63933efa6 Use NAM9 for stack count 2023-12-31 17:12:46 +00:00
Alexei Kotov
8a91e7057f Merge branch 'ref_id_universal_id' into 'master'
Fix RefId based UniversalId (#7747)

Closes #7747

See merge request OpenMW/openmw!3702
2023-12-30 10:59:03 +00:00
elsid
39dd73263d
Avoid converting UniversalId to a different type via string 2023-12-29 14:15:28 +01:00
elsid
7b5310b569
Write StringRefId as is when converting UniversalId to string
To avoid adding quotes which on conversion ESM::StringRefId -> UniversalId ->
std::string -> UniversalId changes the string value adding quotes.
2023-12-29 14:12:36 +01:00
elsid
0fc78aa173
Make ESM::StringRefId compatible with std::string UniversalId 2023-12-29 13:10:13 +01:00
jvoisin
f80ba4e28c Apply 1 suggestion(s) to 1 file(s) 2023-12-26 13:54:23 +00:00
Dave Corley
24443e00bf Feat(CS): Implement selection groups into data model 2023-12-23 15:05:13 -06:00
jvoisin
2873f971a6 Merge branch 'downsized' into 'master'
Remove explicitly sized reads

See merge request OpenMW/openmw!3663
2023-12-21 22:50:10 +00:00
Evil Eye
37415b0382 Don't use getExact to read structs 2023-12-17 15:16:32 +01:00
Evil Eye
a9e6e63c4e Remove fixed size reads 2023-12-17 13:00:14 +01:00
Dave Corley
2bb8ceef56 Fix(CS): Correct invalid refNum for cloned objects so they actually
appear ingame
2023-12-13 16:06:46 -06:00
elsid
4c13ecea23
Use settings values for editor 2023-12-03 17:18:26 +01:00
Evil Eye
fbafa13b3d Appease the compiler 2023-10-14 17:01:55 +02:00
Evil Eye
514723a4e6 Use fixed size ints for Region and use an array for weather odds 2023-10-14 16:36:45 +02:00
Evil Eye
b99f58613e Remove signed/unsigned conversions in pathgrid loading code and use meaningful member names 2023-10-06 16:46:09 +02:00
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.
2023-09-27 21:00:46 +02:00
Evil Eye
b59739a529 Replace more sized reads 2023-09-13 21:51:42 +02:00
elsid
053a3caf7b
Pass cache expiry delay to GenericResourceManager constructor 2023-09-09 19:35:20 +02:00
Alexei Kotov
16cc1ad59f Editor: Disable Training service for creatures 2023-09-02 17:52:15 +03:00
Petr Mikheev
32f3a16db3 Change FormId::toString to be consistent with RefId. Remove FormIdRefId. 2023-08-27 09:55:06 +02:00
psi29a
4aaffa72e5 Merge branch 'more_coverity_fixes' into 'master'
More coverity fixes

See merge request OpenMW/openmw!3304
2023-08-03 07:15:34 +00:00
Andrei Kortunov
d3d7a663c6 Move some objects instead of copying 2023-07-31 20:43:46 +04:00
Andrei Kortunov
b1c8a968ae Do not use invalid iterators 2023-07-31 17:53:33 +04:00
Andrei Kortunov
d8ec78d732 Fix some Coverity warnings 2023-07-28 20:58:18 +04:00
Evil Eye
cd8f2355c0 Only allow StringRefId for Skill ids 2023-07-14 17:33:32 +02:00
Evil Eye
967b5d205b Use StringRefId for skills 2023-07-13 18:55:22 +02:00
psi29a
6601b0cb15 Merge branch 'fastandloose' into 'master'
Drop support for --fs-strict

Closes #7394

See merge request OpenMW/openmw!3093
2023-07-02 19:24:14 +00:00
Evil Eye
73c2387708 Merge schools into skills 2023-06-26 20:42:52 +02:00
Evil Eye
bac6777fae Reduce the number of magic numbers 2023-06-18 16:21:06 +02:00
Evil Eye
eeda48ec50 Drop support for --fs-strict 2023-06-08 21:10:09 +02:00
psi29a
25c1e6abee Merge branch 'clickbait' into 'master'
Use std::array in various ESM structs

See merge request OpenMW/openmw!3103
2023-06-05 07:19:38 +00:00
Evil Eye
6b7e7acd16 Replace a number of incorrect index types 2023-06-03 16:30:35 +02:00
Evil Eye
dd83da5eba Use std::array in FADTstruct 2023-06-03 13:11:49 +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
Evil Eye
9214ffb50b Replace some empty constructors and destructors with default 2023-05-29 13:37:19 +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
elsid
8f47da46ec
Show magic effect name instead of IndexRefId 2023-05-22 18:02:21 +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
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
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
Evil Eye
8d8207b734 Refactor pathgrid indices to use size_t instead of int 2023-04-08 00:32:43 +00: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
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
Andrei Kortunov
11484205f5 Use constexpr to do not generate an invalid code in templates 2023-03-23 14:29:26 +04: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
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
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