Andrei Kortunov
fc74cc49dd
Add additional fields to save metadata (feature 7618)
2023-10-14 09:53:44 +04:00
Kindi
58a16dacbe
take2 resolve
2023-10-13 00:53:59 +08: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
Evil Eye
f9c5edf6b9
Replace more sized reads and unsized ints
2023-10-06 16:44:18 +02:00
Evil Eye
b59739a529
Replace more sized reads
2023-09-13 21:51:42 +02:00
Andrei Kortunov
6ee86dea82
Implement Lua API for factions (feature 7468)
2023-09-12 09:49:03 +04:00
Petr Mikheev
32f3a16db3
Change FormId::toString to be consistent with RefId. Remove FormIdRefId.
2023-08-27 09:55:06 +02:00
Evil Eye
10f1e9a4e0
Load the lowest faction reaction for every faction
2023-08-25 16:57:27 +02:00
psi29a
5b3e2fbf1c
Merge branch 'clickbait' into 'master'
...
Assign StringRefIds to attributes
See merge request OpenMW/openmw!3256
2023-08-21 18:59:44 +00:00
Evil Eye
62f47acf6b
Replace more explicitly sized reads and variable width integers
2023-08-20 11:34:05 +02:00
Evil Eye
e660a9ca16
Assign StringRefIds to attributes
2023-08-20 10:28:46 +02:00
elsid
bda29819cf
Reduce include dependency for land records
2023-08-19 01:30:17 +02:00
elsid
955790dc31
Split ESM::Land::loadData
2023-08-19 01:30:17 +02:00
elsid
bd426bac5c
Use static_cast
2023-08-19 01:30:16 +02:00
elsid
6f3b7072ac
Change mWnam type to std::array
2023-08-19 01:30:16 +02:00
elsid
0cb37742cb
Replace Land::swap by move assignment
2023-08-19 01:30:15 +02:00
elsid
c88e9dee27
Use unique_ptr to store LandData in ESM::Land
2023-08-19 01:30:15 +02:00
elsid
d0f8ab5767
Move getLandData definitions to class definition
2023-08-19 01:30:15 +02:00
elsid
07599d0bb0
Move condLoad to unnamed namespace
2023-08-19 01:30:13 +02:00
elsid
dad0cb3349
Move transposeTextureData to unnamed namespace
2023-08-18 18:30:06 +02:00
elsid
a2f2b1a3d1
Remove redundant ESM::Land and LandData default constructors
2023-08-18 18:30:06 +02:00
elsid
95a39b3281
Use sized types for land records members
2023-08-18 18:30:06 +02:00
elsid
f15ccec0d9
Remove unused ESM::Land functions
2023-08-18 18:30:05 +02:00
psi29a
5389d32b5c
Merge branch 'applycontentfile_coverity' into 'master'
...
Fix coverity warning in esm3/globalscript.cpp
See merge request OpenMW/openmw!3325
2023-08-18 08:22:26 +00:00
psi29a
c9f03b4174
Merge branch 'sizeup' into 'master'
...
Replace more sized reads
See merge request OpenMW/openmw!3322
2023-08-15 06:28:59 +00:00
elsid
5abbc56bf2
Use proper cell size for ESM4 cells in CoordinateConverter
2023-08-13 02:24:22 +02:00
Petr Mikheev
f5ddffa087
Fix coverity warning in esm3/globalscript.cpp
2023-08-12 12:35:08 +02:00
Evil Eye
9e376f3783
Replace explicitly sized reads in cellid, cellref
2023-08-08 21:41:44 +02:00
Evil Eye
48484c9416
Replace explicitly sized reads in aisequence
2023-08-08 21:06:49 +02:00
psi29a
7b4f7b7f07
Merge branch 'adjust_refnum' into 'master'
...
Adjust FormId in FormIdRefId and for items in containers when loading saves
See merge request OpenMW/openmw!3293
2023-08-08 08:54:00 +00:00
psi29a
5160fbc2a0
Merge branch 'fixedtimestamp' into 'master'
...
Move TimeStamp to ESM3 and remove sized reads
See merge request OpenMW/openmw!3295
2023-08-02 08:11:33 +00:00
psi29a
c86eecb2ea
Merge branch 'movable_objects' into 'master'
...
Move objects instead of copying where possible
See merge request OpenMW/openmw!3289
2023-08-01 10:43:44 +00:00
psi29a
23671ced33
Merge branch 'fix_use_after_move' into 'master'
...
Fix use after move in InfoOrder::insertInfo
See merge request OpenMW/openmw!3296
2023-08-01 07:25:17 +00:00
Andrei Kortunov
d3d7a663c6
Move some objects instead of copying
2023-07-31 20:43:46 +04:00
elsid
66c5944ecf
Fix use after move in InfoOrder::insertInfo
...
When it->second.mPosition->mPrev != value.mPrev value is first moved into
*mPosition and then used to get mPrev. Since mPrev is RefId and it's copy-only
type there is no real problem but coverity complains about it.
Also enforce contract of insertInfo to support move-only types by adding a test
for a value type with deleted copy constructors.
2023-07-30 13:37:53 +02:00
Evil Eye
79b3855c5b
Move TimeStamp to ESM3 and remove sized reads
2023-07-30 11:37:32 +02:00
Petr Mikheev
9a9f9d7081
Adjust FormId in FormIdRefId and for items in containers when loading saves
2023-07-30 02:01:09 +02:00
elsid
dd54857610
Add missing array include
2023-07-29 00:29:03 +02:00
psi29a
a6d6e16d48
Merge branch 'readsize' into 'master'
...
Disallow implicitly sized reads of ESM structs
See merge request OpenMW/openmw!3100
2023-07-28 07:01:32 +00:00
Mads Buvik Sandvei
364f2a98e9
Use refnum instead of slot for items during spellcast
2023-07-25 21:23:59 +00:00
Evil Eye
6e5d84ce37
inline
2023-07-22 08:40:02 +02:00
Evil Eye
9d4877d432
Treat std::array like regular arrays
2023-07-21 17:00:33 +02:00
Evil Eye
45ba05c0ed
Disallow implicitly sized reads of ESM structs
2023-07-20 19:16:53 +02:00
psi29a
ec9b4c4563
Merge branch 'caius4friends' into 'master'
...
Fix dialogue insertion again
See merge request OpenMW/openmw!3212
2023-07-20 15:29:57 +00:00
psi29a
03dbe1c9f3
Merge branch 'stringrefidskills' into 'master'
...
Assign StringRefIds to skills
See merge request OpenMW/openmw!3146
2023-07-20 07:15:49 +00:00
Evil Eye
2a1d520c9e
Address feedback
2023-07-17 19:37:28 +02:00
Evil Eye
7573004efc
Implement the NegativeLight flag
2023-07-17 18:00:15 +02: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
Evil Eye
ac9378fa08
Replace Skill::mIndex with Skill::refIdToIndex
2023-07-13 18:55:21 +02:00
Evil Eye
4eac137109
Change control flow to be easier to understand
2023-07-11 22:10:39 +02:00
Alexei Dobrohotov
66fd1f8862
Allow subrecords to overlap the following record (bug #6025 )
2023-07-10 21:09:22 +03:00
Evil Eye
d3c1928f01
Fix dialogue insertion again
2023-07-09 15:24:52 +02:00
elsid
f6fce5ee15
Cleanup includes
2023-07-08 11:28:56 +02:00
elsid
a6dbd819a1
Fix writing IndexRefId to ESM3
...
Use correct enum value.
2023-07-04 11:34:52 +02:00
Evil Eye
73c2387708
Merge schools into skills
2023-06-26 20:42:52 +02:00
psi29a
dd0d66513d
Merge branch 'clickbait' into 'master'
...
Mostly dehardcode attributes
See merge request OpenMW/openmw!3164
2023-06-25 20:11:19 +00:00
Zackhasacat
611a6429a9
Lua: Add effects to potionRecord, ingredientRecord
2023-06-20 10:00:05 +00:00
Evil Eye
bac6777fae
Reduce the number of magic numbers
2023-06-18 16:21:06 +02:00
psi29a
807893eb45
Merge branch 'clickbait' into 'master'
...
Mostly dehardcode skills
See merge request OpenMW/openmw!3112
2023-06-15 07:03:13 +00:00
Evil Eye
3c588900dd
Apply elsid's suggestion and revert 3a888ef543
2023-06-10 22:04:14 +02:00
Evil Eye
da4e04522b
More closely replicate Morrowind.exe's locks
2023-06-08 20:10:32 +02:00
Evil Eye
65b22975c9
Remove SkillEnum
2023-06-08 18:35:50 +02:00
Evil Eye
16c0f0d5cc
Use a regular TypedDynamicStore for ESM:Skill
2023-06-08 18:35:47 +02:00
Evil Eye
e01a3076dd
Use std::array in NpcStats
2023-06-03 14:26:37 +02:00
Evil Eye
a5bb6c7d8d
Use std::array in NPDTstruct52
2023-06-03 13:27:45 +02:00
Evil Eye
dd83da5eba
Use std::array in FADTstruct
2023-06-03 13:11:49 +02:00
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
Evil Eye
08f35fe839
Add ESM::Skill::mWerewolfValue
2023-05-31 17:45:20 +02:00
Evil Eye
eea730768b
Replace sIconNames with ESM::Skill::mIcon
2023-05-30 20:22:04 +02:00
Evil Eye
9c60a6fa4d
Replace sSkillNameIds with ESM::Skill::mName
2023-05-29 17:56:14 +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
florent.teppe
f600730459
fixes functions that were virtual but not tagged as override.
2023-05-29 12:10:41 +02:00
florent.teppe
e0fa15b727
Abstracted Land data that can be used by esm3 and esm4.
2023-05-29 11:31:37 +02:00
psi29a
16a580eb21
Merge branch 'clickbait' into 'master'
...
Remove sAttributeIds and sSkillIds
See merge request OpenMW/openmw!3071
2023-05-28 09:14:47 +00:00
unknown
14600de185
Remove sAttributeIds and sSkillIds
2023-05-27 21:54:13 +02:00
jvoisin
c98c532213
Replace all asserts in components/esm[34] with throw
2023-05-27 16:10:53 +02:00
Evil Eye
877f6747be
Deduplicate specialization code
2023-05-26 12:16:47 +02:00
elsid
dc8dfe81ce
Add more details to exceptions
2023-05-25 20:56:07 +02:00
Mads Buvik Sandvei
410e8b100a
Elsid comments
2023-05-23 19:30:29 +02:00
Mads Buvik Sandvei
5a8c6df633
clang'd
2023-05-23 18:12:06 +02:00
Mads Buvik Sandvei
4bf23f152b
Revert use of string_view to std::string for effectIdTo* methods.
2023-05-23 18:12:06 +02:00
Mads Buvik Sandvei
6cfc06d7d8
There is no typo
2023-05-23 18:12:06 +02:00
Mads Buvik Sandvei
9a59330561
refactor effect names in loadmgef. Added a map from effect index to non-gmst effect name for use in lua scripts.
2023-05-23 18:11:59 +02:00
Mads Buvik Sandvei
b791ce9132
Remove redundant qualifiers
2023-05-23 18:11:44 +02:00
Mads Buvik Sandvei
7ba43c9426
actor.ActiveEffects and actor.ActiveSpells
2023-05-23 18:11:44 +02:00
elsid
8f47da46ec
Show magic effect name instead of IndexRefId
2023-05-22 18:02:21 +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
a62e75fd19
Initial attempt at loading esm4 exteriors
2023-05-12 22:05:52 +02:00
elsid
0601d7213e
Remove ESM::RefId::sEmpty
...
This variable is only required to return empty RefId as const reference. There
is no point in doing so for a type cheap to copy.
2023-04-26 21:15:16 +02:00
elsid
b33d12b8e1
Add missing and remove redundant includes
2023-04-17 22:02:36 +02:00
Petr Mikheev
f09a689a4f
Merge ESM::RefNum and ESM4::FormId
2023-04-09 00:23:32 +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
21bd28542a
Applies review advice
...
2d coord hash moved to hash.hpp file
format version adds suffix to be more coherent
don't use ESM::RefId::sEmpty
RefId equality with string_view, conversion to refId unecessary
action teleport remove test that mCellId is empty
removes some const references, when copy is enough
invalid refid => empty refid
removes useless change
2023-04-03 14:17:35 +02: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
4c15064a83
Create new Vec2i RefId for ESM3 exterior cells.
...
Applies the necessary changes to use !2708 for the new Id type
2023-04-03 14:17:16 +02:00
florent.teppe
1e0c3bfdec
fixes integration tests
...
we still want to be able to write using old formats
2023-04-03 14:16:32 +02:00
florent.teppe
f99e65843a
Removes most cellId.hpp include, simplifies id generation for cells.
2023-04-03 14:16:32 +02:00