Bret Curtis
c99bddc8dc
Revert "Move reference to the right cell according to its geographical position"
...
This reverts commit d0677c3f07
.
2021-08-09 22:11:00 +02:00
psi29a
9b7e14ec00
Merge branch 'OpenCS-moved-reference' into 'master'
...
OpenCS - Fix moved reference - Issues #3514 and #4752
See merge request OpenMW/openmw!1051
(cherry picked from commit 2bee171c7990522da33c2667f7d079fa35f4ede0)
36c30f7f Fix for Issue #3514 where moving a reference to another cell is not handled properly.
40327681 Update the changelog.
2021-08-03 23:29:05 +00:00
Cédric Mocquillon
d0677c3f07
Move reference to the right cell according to its geographical position
2021-07-30 18:28:29 +02:00
Evil Eye
5f84494046
Fail on invalid water levels
2021-07-21 16:00:25 +00:00
jvoisin
7b32458aec
Improve a bit two esmreader logging call
2021-07-21 15:38:41 +02:00
elsid
aec4e02417
Ignore only CellRefs with preceding MVRF subrecord
...
MVRF subrecord means that only single following FRMR subrecord is moved not the
rest of subrecords.
2021-07-12 18:56:45 +02:00
elsid
cfdbd0d471
Indicate moved cell refs explicitly
...
This is less error prone approach than use of MovedCellRef fields.
Also make separate functions for skipping and reading moved cell refs to avoid
passing special flags logic and null pointers for unused arguments.
2021-07-12 18:56:42 +02:00
jvoisin
5aaac8e47e
Reduce a bit the size of getHT
...
Factoring common code parts outside of a template
is apparently a good practise to reduce code duplication
(and the size of openmw by around 0.5%),
and should improve a bit the performances,
since the whole `std::to_string` * 2 + string concatenation
dance results in quite a lot of code, preventing inlining on my machine.
2021-07-11 21:43:40 +02:00
Petr Mikheev
702eb19271
Fixes and refactoring
2021-07-09 20:48:54 +02:00
Petr Mikheev
8c6d303730
Saving/loading for Lua scripts (saves format is changed)
2021-07-09 20:24:56 +02:00
Petr Mikheev
6db2450c90
Initial support of generated RefNums with negative mContentFile.
2021-07-09 20:03:27 +02:00
Petr Mikheev
479856f812
Add components/lua/scriptscontainer and components/esm/luascripts
2021-07-09 20:03:27 +02:00
psi29a
c372c239a6
Merge branch 'master' into 'OpenCS_Bug6017'
...
# Conflicts:
# CHANGELOG.md
2021-07-06 07:52:49 +00:00
cc9cii
a47ebf5c9e
For consistency with TES CS, force DELE record writes to be 4 bytes (currently writes 1 byte).
2021-07-06 14:57:58 +10:00
cc9cii
fea1ac2c0f
Remove dead code from commit 024ad3276b
.
2021-07-06 14:21:17 +10:00
cc9cii
f68c81e631
Merge branch 'master' into 'OpenCS_Bug6017'
2021-07-06 03:10:46 +00:00
cc9cii
4b3de46bfa
Use enums in place of magic numbers. Ensure Creature and NPC cell references are always saved as persistent.
2021-07-06 12:37:02 +10:00
elsid
91cece5cc4
Define ESM::Land static constants as constexpr
...
To avoid linking issues.
2021-07-04 22:17:44 +02:00
cc9cii
f2a301653c
Remove redundant mPersistent member from ESM::NPC and ESM::Creature, replaced by mRecordFlags. Fixed the editing of the persistence flag value.
2021-06-30 08:20:29 +10:00
jvoisin
8561245fda
Minor refactor making use of std::clamp
2021-06-29 18:43:47 +02:00
cc9cii
2a76634f5f
Moved persistence flag from references to the header flags of referenceables (e.g. Static, Weapon, etc). Editing widget is not fully working.
2021-06-29 23:25:26 +10:00
cc9cii
024ad3276b
Partial fix for #6017 . The persistence flag of the references are saved but it is not yet possible to modify it via OpenCS.
2021-06-29 19:20:01 +10:00
jvoisin
2c8f328ac2
Use make_unique instead of unique_ptr+new
2021-06-25 20:55:38 +02:00
Evil Eye
080106e802
Merge branch 'inline' into 'master'
...
Inline a couple of methods in esmreader.cpp
See merge request OpenMW/openmw!945
2021-06-24 19:56:18 +00:00
Evil Eye
0998929608
Merge branch 'noreturn' into 'master'
...
Sprinkle some [[noreturn]] where possible
See merge request OpenMW/openmw!793
2021-06-24 19:21:29 +00:00
Evil Eye
1a421c3b2e
Merge branch 'multicast' into 'master'
...
Fix two excessive type casting instances
See merge request OpenMW/openmw!953
2021-06-24 17:32:25 +00:00
Evil Eye
7e9785941c
Merge branch 'default' into 'master'
...
Use `default` instead of empty constructors/destructors
See merge request OpenMW/openmw!957
2021-06-24 17:19:02 +00:00
jvoisin
5840279f16
Use default
instead of empty constructors/destructors
...
See https://pvs-studio.com/en/docs/warnings/v832/ for details
2021-06-24 00:26:15 +02:00
jvoisin
b2c170efa0
Use initialization lists where possible
2021-06-23 23:36:43 +02:00
jvoisin
33e035cc95
Fix two excessive type casting instances
...
No need to to a string -> char* -> string dance.
2021-06-23 22:19:08 +02:00
jvoisin
aec3c74fa5
Sprinkle some [[noreturn]] where possible
2021-06-22 12:51:08 +02:00
jvoisin
17e0c75d30
Some more constexpr in esm/variant.cpp
2021-06-22 12:49:09 +02:00
jvoisin
6140c9c3fd
Don't catch exceptions in EsmReader::getExact
2021-06-21 20:06:45 +00:00
jvoisin
cff11fbca9
Inline a couple of methods in esmreader.cpp
2021-06-21 14:22:26 +02:00
psi29a
afda721d4b
Merge branch 'race_floats' into 'master'
...
Display Race record height/weight as a float
See merge request OpenMW/openmw!880
2021-06-19 00:29:21 +00:00
psi29a
a6b695e15b
Merge branch 'esmcleanup' into 'master'
...
More ESM cleanup
See merge request OpenMW/openmw!903
2021-06-19 00:23:52 +00:00
jvoisin
22153cca7b
Reduce a bit the code bloat in hot paths/small functions
...
There is no need to bloat hot/small functions with
a ton of function calls and involving locales
for simple error messages.
2021-06-15 17:57:14 +02:00
Dobrohotov Alexei
e68a454fd8
More ESM cleanup
2021-05-23 16:02:05 +03:00
Benjamin Winger
21f04f0d0f
Fixed data subrecord name for Armour record used in error
2021-05-17 18:36:59 -04:00
Benjamin Winger
41cfcfdc0f
Display Race record height/weight as a float
2021-05-17 18:33:02 -04:00
Bret Curtis
66a527c3de
Merge pull request #3075 from akortunov/warnfix
...
Fix MSVC's C4244 and C4267 warnings
2021-05-14 21:28:56 +02:00
Petr Mikheev
4a7147e222
Merge branch 'constexpr_esm' into 'master'
...
Use a constexpr for esm cc
See merge request OpenMW/openmw!849
2021-05-13 13:30:01 +00:00
jvoisin
bcd8190516
Fix a crash in aipackage.cpp
2021-05-13 14:19:12 +02:00
jvoisin
89f721fad3
Use a constexpr for esm cc
2021-05-12 22:35:00 +02:00
Andrei Kortunov
963e1b8b3f
Fix MSVC's C4244 warnings
2021-05-12 10:34:40 +04:00
Andrei Kortunov
f9d42ed396
Fix MSVC's C4267 warnings
2021-05-12 10:34:39 +04:00
elsid
b806445a36
Use existing min implementation
2021-05-09 13:58:05 +02:00
psi29a
08e1a8e0fb
Merge branch 'esm_opti' into 'master'
...
Teensy optimisation for esmtool
See merge request OpenMW/openmw!826
2021-05-07 14:21:37 +00:00
jvoisin
8a56ba6aaa
Fix compilation
2021-05-07 13:58:30 +02:00
elsid
fbeccc2908
Apply 1 suggestion(s) to 1 file(s)
2021-05-07 09:28:47 +00:00
jvoisin
e97e4d07dd
Teensy optimisation for esmtool
...
- Use an unordered_set instead of a list to
keep track of skipped records.
- Reduce the number of conditions when parsing 4-letters
records by using a switch-case instead of cascading conditions.
- Add a const
2021-05-06 22:41:20 +02:00
Dobrohotov Alexei
57c372a50e
ESM code cleanup
2021-05-05 22:23:06 +03:00
psi29a
e94181b2b2
Merge branch 'constexpr' into 'master'
...
Sprinkle a couple of constexpr found by VS
See merge request OpenMW/openmw!800
(cherry picked from commit 5e8ea624bc85acebf457592dd10b790124ecf6ef)
5704b2ac Sprinkle a couple of constexpr found by VS
2021-05-04 21:09:20 +00:00
jvoisin
5f65583a3a
Fix a heap overflow in loadpgrd.cpp
2021-04-30 12:04:41 +00:00
Evil Eye
abb120b439
Don't log a warning for reading to the end of the subrecord
2021-04-27 14:57:07 +02:00
Alexei Dobrohotov
add04a4ea0
Merge branch 'fix_esm' into 'master'
...
Fix a read head-buffer-overflow in esm
See merge request OpenMW/openmw!751
2021-04-25 21:56:52 +00:00
jvoisin
032ba1e9a0
Fix the compilation
2021-04-18 13:26:26 +02:00
jvoisin
c0f7e0d585
Use isnan
2021-04-17 20:58:37 +02:00
jvoisin
38316cdaf8
Fix various warnings found by clang
...
- unused alias
- inefficient use of push_back
- exceptions not inheriting from std::exception
- weird use of a comma
- value compared against itself
2021-04-17 19:06:33 +02:00
jvoisin
a35eae3dd1
Fix a read head-buffer-overflow in esm
...
The check forgot to account for the terminal zero.
2021-04-17 15:36:38 +02:00
Evil Eye
80266d435c
Merge branch 'fix_crash' into 'master'
...
Fix an off-by-one in loadscpt
See merge request OpenMW/openmw!728
2021-04-16 18:02:47 +00:00
Andrei Kortunov
016a1d45df
Remove outdated field - remnant from earlier implementation
2021-04-14 10:58:44 +04:00
jvoisin
54adb9cbed
Fix an off-by-one in loadscpt
2021-04-12 12:03:20 +02:00
psi29a
301411c5c5
Merge branch 'esm_variant' into 'master'
...
Use std::variant for ESM::Variant implementation
See merge request OpenMW/openmw!719
2021-04-10 12:53:11 +00:00
Andrei Kortunov
124a33d8a3
Fix uninitialized variables
2021-04-10 10:58:00 +04:00
elsid
8e1c92d9af
Use std::variant for ESM::Variant implementation
2021-04-08 19:39:31 +02:00
elsid
03fc3ec803
Do not allow write variant of string as local variable
...
To be consitent with read where it's not allowed.
2021-04-04 23:09:27 +02:00
Gleb Mazovetskiy
b9c2f6ea1a
Minor cleanup: Remove using namespace std
...
I came across these while trying to figure why MSVC build triggers
https://developercommunity.visualstudio.com/t/error-c2872-byte-ambiguous-symbol/93889
In the end, the issue was not in openmw but in OSG, but it's good to
clean up here anyway.
2021-03-16 19:58:02 +00:00
Andrei Kortunov
4d48c81998
Add move assignment operator and move constructor for the ESM::Variant
2021-03-13 22:28:13 +04:00
Andrei Kortunov
f40e227686
Remove redundant formatting changes
2021-01-26 22:29:41 +04:00
Andrei Kortunov
d12a0fdcb3
Mark only instances from groundcover files as groundcover objects
2021-01-26 22:29:41 +04:00
Andrei Kortunov
14cf0ce1dc
Implement instanced groundcover
2021-01-26 22:29:41 +04:00
Andrei Kortunov
89f3f860ed
Allow to get a rotation vector from ESM::Position
2021-01-13 14:25:25 +04:00
elsid
7b54415c40
Fix reference binding to null
...
/usr/include/c++/10.2.0/bits/stl_vector.h:1046:34: runtime error: reference binding to null pointer of type 'value_type'
#0 0x55e37f50008a in std::vector<char, std::allocator<char> >::operator[](unsigned long) /usr/include/c++/10.2.0/bits/stl_vector.h:1046
#1 0x55e37f50008a in ESM::SavedGame::load(ESM::ESMReader&) /home/elsid/dev/openmw/components/esm/savedgame.cpp:28
#2 0x55e37e726139 in MWState::Character::addSlot(boost::filesystem::path const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/elsid/dev/openmw/apps/openmw/mwstate/character.cpp:31
#3 0x55e37e742b39 in MWState::Character::Character(boost::filesystem::path const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/elsid/dev/openmw/apps/openmw/mwstate/character.cpp:88
#4 0x55e37e7006e1 in MWState::CharacterManager::CharacterManager(boost::filesystem::path const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/elsid/dev/openmw/apps/openmw/mwstate/charactermanager.cpp:25
#5 0x55e37e6d4140 in MWState::StateManager::StateManager(boost::filesystem::path const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/elsid/dev/openmw/apps/openmw/mwstate/statemanagerimp.cpp:90
#6 0x55e37e82595a in OMW::Engine::prepareEngine(Settings::Manager&) /home/elsid/dev/openmw/apps/openmw/engine.cpp:641
#7 0x55e37e8439fd in OMW::Engine::go() /home/elsid/dev/openmw/apps/openmw/engine.cpp:867
#8 0x55e37e782760 in runApplication(int, char**) /home/elsid/dev/openmw/apps/openmw/main.cpp:289
#9 0x55e37f6483c3 in wrapApplication(int (*)(int, char**), int, char**, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/elsid/dev/openmw/components/debug/debugging.cpp:200
#10 0x55e37ba8e3fe in main /home/elsid/dev/openmw/apps/openmw/main.cpp:301
#11 0x7f013e845151 in __libc_start_main (/usr/lib/libc.so.6+0x28151)
#12 0x55e37baa0e3d in _start (/home/elsid/dev/openmw/build/gcc/ubsan/openmw+0x6c11e3d)
2021-01-09 22:59:24 +01:00
Andrei Kortunov
8084a336b5
Replace zeroes and nulls by nullptrs
2020-11-29 11:14:07 +04:00
Alexei Dobrohotov
53f91a3aa5
Merge pull request #3018 from akortunov/emplace
...
Use emplace_back instead of push_back
2020-11-01 01:58:56 +03:00
Andrei Kortunov
64ba81ecf2
Fix some issues, found by CoverityScan
2020-10-28 18:02:31 +04:00
Bret Curtis
5a824d0333
components/compiler cleanup; also cleaned up related cascading warnings; fixed up final/override issues
2020-10-22 23:57:53 +02:00
Andrei Kortunov
065ed5138e
Use emplace_back instead of push_back
2020-10-18 10:27:35 +04:00
Andrei Kortunov
8ca3c3b123
Mark overrided methods by override keyword
2020-10-16 22:18:54 +04:00
Assumeru
72549651e0
Rework container resolution ( #3006 )
...
* Rework container resolution
* add optional argument to getCount
* remove now-redundant changes
* undo worldimp changes
* move save-fixing code to InventoryState
* replace Rng instances with Seeds
2020-10-13 17:46:32 +02:00
Andrei Kortunov
822764d0fa
Rework fixed strings handling
2020-10-05 21:52:22 +04:00
Andrei Kortunov
9f1fbd56a3
Fix SummonKey comparison function
2020-09-04 13:45:38 +04:00
Andrei Kortunov
67eace1028
Use struct instead of tuple
2020-08-29 11:24:08 +04:00
Andrei Kortunov
924f634bda
Support for multiple summons with same ID in the single spell
2020-08-28 21:14:54 +04:00
Evil Eye
6ad20ec9c7
Mutate base records when adding/removing spells
2020-07-28 08:33:28 +02:00
Andrei Kortunov
d0fe15b095
Use meaningful names instead of mSkill1 and mSkill2
2020-06-26 11:47:59 +04:00
bzzt lost a hitlab login
26ab176389
profiling
...
Signed-off-by: Bret Curtis <psi29a@gmail.com>
2020-06-13 00:22:28 +02:00
Andrei Kortunov
d997842f8d
Use FourCC to declare all ESM record names
2020-06-09 10:07:37 +04:00
Bret Curtis
cd97d0c61c
Merge branch 'master' into automove
2020-06-08 11:42:05 +02:00
Roman Siromakha
27a113167c
Merge pull request #2890 from akortunov/position
...
Do not store object position, if it is the same as in CellRef
2020-06-08 01:12:47 +02:00
Andrei Kortunov
75e7a3e8b1
Do not store object position, if it is the same as in CellRef
2020-06-07 09:25:46 +04:00
elsid
5209f5ff6d
Mark all derived classes from ESM::ObjectsState and overriden functions as final
2020-06-06 23:00:53 +02:00
Capostrophic
1873da4c91
Don't save to or read automove state from saved games ( #5452 )
2020-06-06 15:58:21 +03:00
Bret Curtis
204d2acf25
Merge pull request #2092 from akortunov/float_stats
...
Store attributes and skills values as floats
2020-06-05 22:38:12 +02:00
Andrei Kortunov
81805b7263
Introduce a separate class to control world date and time
2020-06-05 12:07:32 +04:00
Andrei Kortunov
5468fcb29f
Store attributes and skills values as floats (bug #4021 )
2020-06-03 17:34:15 +04:00
Andrei Kortunov
3dce225f28
Implement vanilla-style corprus handling (bug #3714 , bug #4623 )
2020-06-03 12:58:17 +04:00
Andrei Kortunov
b5833f3c59
Use real time to update spell effects instead of game timestamps (bug #5165 )
2020-05-16 11:00:28 +04:00
Andrei Kortunov
e6ca95174a
Optimize characters data in savegame
2020-05-14 21:07:31 +04:00
Andrei Kortunov
d5806fd0ed
Fix merge conflicts
2020-05-12 14:33:00 +04:00
Bret Curtis
42cba092b7
Merge pull request #2716 from akortunov/png
...
Store fog of war as a PNG image instead of TGA
2020-05-12 11:52:23 +02:00
Bret Curtis
4b30bf5699
Merge pull request #2829 from Capostrophic/logging
...
Log some more things
2020-05-12 11:44:05 +02:00
unknown
3b4782959e
Allow targeting non-unique actors with StartScript (bug #2311 )
2020-05-10 14:57:06 +02:00
Capostrophic
aa5161f99e
Log some more things
2020-05-09 20:27:12 +03:00
Bret Curtis
e7795f2bf7
Merge pull request #2775 from Capostrophic/dooractivation
...
Only disarm traps with keys when the door/container is locked (bug #5370 )
2020-04-24 08:46:24 +02:00
Bret Curtis
8c2f3ff007
clean up code; purge const_cast
2020-04-19 16:31:54 +02:00
Capostrophic
bbed9a70c5
Ignore traps of initially unlocked refs with assigned keys
2020-04-14 17:49:03 +03:00
Capostrophic
ad333e88fe
Handle enchantment autocalc flag as a flag (bug #5363 )
2020-04-11 00:03:14 +03:00
Andrei Kortunov
028760e108
Merge pull request #2758 from akortunov/warnfix
...
Fix some issues, found by CoverityScan
2020-04-04 21:34:26 +04:00
Capostrophic
5732b8e026
Use std::fill instead of loops to reset some arrays to defaults
2020-04-04 17:53:36 +03:00
Capostrophic
27d4fe9ee1
Fix ESM::Land oversights
2020-04-04 16:48:38 +03:00
Andrei Kortunov
a68d9aed4c
Fix issues, found by CoverityScan
2020-04-04 17:45:26 +04:00
elsid
ef4a7089e4
Use template specialization for writeHNT to write raw arrays
...
To avoid passing explicit size argument where it's possible.
2020-04-04 01:12:49 +02:00
Andrei Kortunov
e20d156904
Do not write empty trade time
2020-03-18 13:31:26 +04:00
Bret Curtis
79517f3f42
Merge pull request #2724 from akortunov/factions
...
Cleanup ownership for items in containers
2020-03-18 10:00:36 +01:00
Andrei Kortunov
ea30e27370
Cleanup ownership for items in containers
2020-03-17 17:22:39 +04:00
Andrei Kortunov
dea2018d9f
Do not use dynamic casts when using ObjectState
2020-03-17 15:18:40 +04:00
Andrei Kortunov
94df2114c1
Store fog of war as a PNG image instead of TGA (bug #5108 )
2020-03-07 11:05:32 +04:00
Capostrophic
216a5d27c6
Avoid working with AMBI subrecord in tools unnecessarily (bug #5269 )
2020-02-04 20:57:04 +03:00
capostrophic
89055f1c6c
Generate WNAM upon saving terrain
2020-01-11 02:42:04 +03:00
capostrophic
0467e8ee15
Avoid heap corruption while reading SCVR (bug #4680 )
2020-01-04 01:34:41 +03:00
Alexei Dobrohotov
2693598d82
Merge pull request #2642 from akortunov/warnfix2
...
Add safety checks for door state
2019-12-23 21:22:56 +03:00
Andrei Kortunov
24044b08e0
Do not store gold-specific value for everything
2019-12-23 19:34:57 +04:00
Andrei Kortunov
88a695f251
Add safety checks for door state
2019-12-23 19:29:12 +04:00
Assumeru
737aa1e4e8
Remove FactionID editing from OpenCS ( #2636 )
...
* Remove FactionID editing
* remove useless comments
* rename FactionID to Unknown
2019-12-18 20:42:54 +03:00
Assumeru
dfbe0021a5
Change rescaling to be more inline with vanilla ( fixes #5214 ) ( #2635 )
...
* move rescaling to loadData
* clamp on save
2019-12-18 19:37:45 +03:00
Capostrophic
4b38bab0d9
Make sure empty cell name subrecords are saved (bug #5222 )
2019-12-03 18:47:02 +03:00
Andrei Kortunov
6eb8e0cf4d
Display magic effects according to research page
2019-11-07 11:05:18 +04:00
Bret Curtis
0ec4e51922
Revert "Store raw data about fog of war instead of RGBA images"
2019-10-30 14:48:44 +01:00
Bret Curtis
36614dba2a
Merge pull request #2453 from akortunov/fog_compression
...
Store raw data about fog of war instead of RGBA images
2019-10-30 13:45:55 +01:00
Andrei Kortunov
b2e12f0a73
Attempt to fix a regression - crash on ARM
2019-10-28 18:58:16 +04:00
Andrei Kortunov
2fc819cdae
Encode ID's in all places to UTF-8 (bug #3977 )
2019-10-10 20:52:32 +04:00
Nelsson Huotari
2fdaacf23c
remove for array, just std::swap
2019-10-06 23:50:16 +03:00
Nelsson Huotari
e35ed960ee
for -> std::copy
2019-10-06 21:57:10 +03:00
Nelsson Huotari
7f030fc3ee
copy mWnam record in copy constructor and custom assignment operator
2019-10-06 21:50:40 +03:00
Andrei Kortunov
b360deaec3
Store raw data about fog of war instead of RGBA images (bug #5108 )
2019-09-22 19:59:12 +04:00
Andrei Kortunov
f0cef772fa
Refactor weapon types behaviour
...
1. Move weapon types behaviour from switches to the table (should allow
us to de-hardcode weapon types later)
2. Gereralize bones injection to actors skeletons (instead of using the
hardcoded xbase_anim_sh.nif)
2019-08-09 19:40:27 +04:00
Andrei Kortunov
b9a1e4d796
Merge pull request #2425 from Capostrophic/esm
...
Signedness fixes
2019-06-21 10:01:10 +04:00
Capostrophic
3aa65273c5
Signedness fixes
2019-06-18 14:47:10 +03:00
Evil Eye
698c90b3ee
fix builds against MyGUI master
2019-06-16 14:41:34 +02:00
Alexei Dobrohotov
2c956398c1
Actually fix bug 4938
2019-05-15 21:41:49 +03:00
Capostrophic
7814bd1b76
Support eight possible blood types (feature #4958 )
2019-04-14 18:48:31 +03:00
Capostrophic
4b6fc5f720
Make sure the record hasn't ended in getHString hack (bug #4938 )
2019-03-30 20:11:22 +03:00
elsid
c91deaf7af
Use std::vector::data method to avoid reference binding to null pointer
2019-03-16 00:46:00 +03:00
Andrei Kortunov
943279abbb
Consider land texture with given ID and index as override for base texture with the same ID and index (bug #4736 )
2019-03-11 20:19:19 +04:00
Bret Curtis
56d5fc788c
Merge pull request #2163 from Capostrophic/hello
...
AI data handling minor revisions
2019-02-24 20:14:08 +01:00
Bret Curtis
d4564a9be7
Merge pull request #2180 from akortunov/includes
...
Remove redundant includes
2019-02-24 01:14:16 +01:00
Bret Curtis
44920352ce
Merge pull request #2181 from Capostrophic/boost
...
Get rid of Boost.Array
2019-02-23 23:54:30 +01:00
Capostrophic
594ea39f5d
Revise AI data handling
...
Make Hello 16-bit unsigned as it's intended to be
Get rid of redundant mHasAI boolean
Always save AI data subrecord
Adjust creature and NPC default rating values to Morrowind defaults
2019-02-23 21:00:47 +03:00
Bret Curtis
4a69d96483
Merge branch 'esm_name_template_fix' into 'master'
...
Make sure that proper operator function of ESM:FIXED_STRING is used for char[N] argument
See merge request OpenMW/openmw!63
2019-02-23 13:39:15 +00:00
Adam Fandrejewski
75c204cdd8
Fix #4835 - undefined behavior - uninitialized mCtx
2019-02-23 13:35:25 +00:00
Andrei Kortunov
3032b177a1
Remove redundant includes
2019-02-23 08:02:12 +04:00
Capostrophic
58788de7c4
Get rid of Boost.Array
2019-02-22 23:16:34 +03:00
Andrei Kortunov
573b3f4f1d
Init target for AI packages from old saves
2019-02-05 08:03:31 +04:00
Azdul
7940317e42
Make sure that proper operator function is used for char[N] argument
2019-02-03 09:32:32 +01:00
Bret Curtis
8834ee95be
Merge pull request #2120 from Capostrophic/macros
...
Get rid of some remaining instances of C numeric limits
2019-01-10 18:59:34 +01:00
Capostrophic
a71cfca580
Get rid of some remaining instances of C limit macros
2019-01-09 16:06:18 +03:00
Andrei Kortunov
0937f02598
Get rid of unnecessary string streams
2019-01-07 21:08:16 +04:00
Capostrophic
d1e0a10136
Make sure AI data is initialized when loading actor records
2019-01-06 21:03:19 +03:00
Capostrophic
7155e787b4
Clean up fallback record creation
2018-12-28 01:22:24 +03:00
Capostrophic
4efe1bc892
Add prison marker record fallback definition (bug #4701 )
2018-11-05 19:37:46 +03:00
jvoisin
ca8744af56
Fix crash in the ESM reader, when SCVR has no variable names
...
Fixes bug [#4678 ](https://gitlab.com/OpenMW/openmw/issues/4678 )
The `loadSCVR` method assumes that the list of variable
names won't be empty, which it might.
Instead of crashing, we show a warning and ignore the record.
2018-10-12 11:28:14 +02:00
Andrei Kortunov
f9271fd7f0
Fix crash in the ESM reader, when list is empty (bug #4677 )
2018-10-12 10:38:32 +04:00
Andrei Kortunov
e06f0b797a
Replace all NULLs to nullptr
2018-10-09 10:21:12 +04:00
Kyle Cooley
8444ee9981
Start rendering npc's
2018-09-27 13:14:59 +04:00
Andrei Kortunov
0176ee389e
Handle length of UTF-8 strings properly in plugin metadata (bug #4653 )
2018-09-25 21:40:26 +04:00
Andrei Kortunov
70ed8fd1a9
Use constants instead of widely used magic numbers (task #4645 )
2018-09-17 19:22:50 +04:00
Andrei Kortunov
d5bcc49079
Initialize missing struct fields
2018-09-11 11:11:24 +04:00
Capostrophic
65ff346b61
Make NPC record reputation, disposition and faction rank have unsigned char type
2018-09-03 16:45:38 +03:00
Marc Zinnschlag
78a84042ad
Merged pull request #1901
2018-09-01 11:08:24 +02:00
Capostrophic
7ef6fa9f61
Remove deprecated GMST get* functions
2018-08-29 18:38:12 +03:00
Andrei Kortunov
b0ac0b0b22
Do not initialize map every call
2018-08-29 16:47:12 +04:00
Andrei Kortunov
1452684d9e
Use new logging system for components
2018-08-14 19:42:41 +04:00
Andrei Kortunov
359e748c28
Initialize some missing fields in constructors
2018-06-25 09:35:42 +04:00
Andrei Kortunov
5fd3ec1035
Implement unlockable locks with 'lock 0' console command
2018-06-19 14:17:33 +04:00
Andrei Kortunov
acd3cba5fa
Store previous items in the savegame
2018-06-10 16:21:19 +04:00
Marc Zinnschlag
7d9de93fd3
Merged pull request #1477
2018-06-09 10:52:35 +02:00
Andrei Kortunov
3d0631cfcc
Store last AI package in savegame
2018-06-08 21:53:47 +04:00
Andrei Kortunov
3a0ee78d2b
AiTravel: store mHidden flag in savegame
2018-06-08 21:53:47 +04:00
Andrei Kortunov
fed10e87aa
Store integer actor ID in AI packages (bug #4036 )
2018-06-08 19:57:41 +04:00
Capostrophic
eecde340cf
Make weapon health short unsigned ( fixes #4435 )
2018-06-02 15:44:59 +03:00
Marc Zinnschlag
d92d754834
Merged pull request #1697
2018-05-23 16:01:11 +02:00
Marc Zinnschlag
b7cce1a665
Merged pull request #1702
2018-05-11 10:11:17 +02:00
Alf Henrik Sauge
d4f278a113
Replacing tab with spaces
2018-05-09 18:02:02 +02:00
Alf Henrik Sauge
feeee50a88
Dropping a separate NPDTstruct12 object and instead use NPDTstruct52
...
NPDTstruct12 is now only used when loading and saving. Turning auto calc
on and off now no longer switches between to different set of values
2018-05-09 00:25:07 +02:00
Andrei Kortunov
1dd36329a3
Load default markers definitions (bug #4410 )
2018-05-05 17:14:33 +04:00
tri4ng1e
f5b7a230fc
ESMReader::close now clears mHeader
2018-05-05 14:40:58 +03:00
tri4ng1e
d4d1703bcf
Some PVS-Studio and cppcheck fixes
...
cppcheck:
[apps/esmtool/record.cpp:697]: (performance) Prefer prefix ++/-- operators for non-primitive types.
[apps/esmtool/record.cpp:1126]: (performance) Prefer prefix ++/-- operators for non-primitive types.
[apps/esmtool/record.cpp:1138]: (performance) Prefer prefix ++/-- operators for non-primitive types.
[apps/niftest/niftest.cpp:36]: (performance) Function parameter 'filename' should be passed by reference.
[apps/niftest/niftest.cpp:41]: (performance) Function parameter 'filename' should be passed by reference.
[apps/opencs/model/prefs/boolsetting.cpp:25]: (warning) Possible leak in public function. The pointer 'mWidget' is not deallocated before it is allocated.
[apps/opencs/model/prefs/shortcuteventhandler.cpp:52]: (warning) Return value of std::remove() ignored. Elements remain in container.
[apps/openmw/mwstate/quicksavemanager.cpp:5]: (performance) Variable 'mSaveName' is assigned in constructor body. Consider performing initialization in initialization list.
PVS-Studio:
apps/opencs/model/filter/parser.cpp 582 warn V560 A part of conditional expression is always true: allowPredefined.
apps/opencs/view/world/referencecreator.cpp 67 warn V547 Expression '!errors.empty()' is always false.
apps/opencs/view/world/referencecreator.cpp 74 warn V547 Expression '!errors.empty()' is always false.
apps/opencs/view/doc/loader.cpp 170 warn V560 A part of conditional expression is always true: !completed.
apps/opencs/view/doc/loader.cpp 170 warn V560 A part of conditional expression is always true: !error.empty().
apps/opencs/model/tools/pathgridcheck.cpp 32 err V517 The use of 'if (A) {...} else if (A) {...}' pattern was detected. There is a probability of logical error presence. Check lines: 32, 34.
apps/opencs/model/world/refidadapterimp.cpp 1376 err V547 Expression 'subColIndex < 3' is always true.
apps/openmw/mwgui/widgets.hpp 318 warn V703 It is odd that the 'mEnableRepeat' field in derived class 'MWScrollBar' overwrites field in base class 'ScrollBar'. Check lines: widgets.hpp:318, MyGUI_ScrollBar.h:179.
apps/openmw/mwgui/widgets.hpp 319 warn V703 It is odd that the 'mRepeatTriggerTime' field in derived class 'MWScrollBar' overwrites field in base class 'ScrollBar'. Check lines: widgets.hpp:319, MyGUI_ScrollBar.h:180.
apps/openmw/mwgui/widgets.hpp 320 warn V703 It is odd that the 'mRepeatStepTime' field in derived class 'MWScrollBar' overwrites field in base class 'ScrollBar'. Check lines: widgets.hpp:320, MyGUI_ScrollBar.h:181
apps/openmw/mwmechanics/actors.cpp 1425 warn V547 Expression '!detected' is always true.
apps/openmw/mwmechanics/character.cpp 2155 err V547 Expression 'mode == 0' is always true.
apps/openmw/mwmechanics/character.cpp 1192 warn V592 The expression was enclosed by parentheses twice: ((expression)). One pair of parentheses is unnecessary or misprint is present.
apps/openmw/mwmechanics/character.cpp 521 warn V560 A part of conditional expression is always true: (idle == mIdleState).
apps/openmw/mwmechanics/pathfinding.cpp 317 err V547 Expression 'mPath.size() >= 2' is always true.
apps/openmw/mwscript/interpretercontext.cpp 409 warn V560 A part of conditional expression is always false: rank > 9.
apps/openmw/mwgui/windowbase.cpp 28 warn V560 A part of conditional expression is always true: !visible.
apps/openmw/mwgui/journalwindow.cpp 561 warn V547 Expression '!mAllQuests' is always false.
apps/openmw/mwgui/referenceinterface.cpp 18 warn V571 Recurring check. The '!mPtr.isEmpty()' condition was already verified in line 16.
apps/openmw/mwworld/scene.cpp 463 warn V547 Expression 'adjustPlayerPos' is always true.
apps/openmw/mwworld/worldimp.cpp 409 err V766 An item with the same key '"sCompanionShare"' has already been added.
apps/openmw/mwworld/cellstore.cpp 691 warn V519 The 'state.mWaterLevel' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 689, 691.
apps/openmw/mwworld/weather.cpp 1125 warn V519 The 'mResult.mParticleEffect' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 1123, 1125.
apps/openmw/mwworld/weather.cpp 1137 warn V519 The 'mResult.mParticleEffect' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 1135, 1137.
apps/wizard/unshield/unshieldworker.cpp 475 warn V728 An excessive check can be simplified. The '(A && B) || (!A && !B)' expression is equivalent to the 'bool(A) == bool(B)' expression.
apps/wizard/installationpage.cpp 163 warn V735 Possibly an incorrect HTML. The "</p" closing tag was encountered, while the "</span" tag was expected.
components/fontloader/fontloader.cpp 427 err V547 Expression 'i == 1' is always true.
components/nifosg/nifloader.cpp 282 warn V519 The 'created' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 278, 282.
components/esm/loadregn.cpp 119 err V586 The 'clear' function is called twice for deallocation of the same resource. Check lines: 112, 119.
components/esm/cellref.cpp 178 warn V581 The conditional expressions of the 'if' statements situated alongside each other are identical. Check lines: 175, 178.
components/esmterrain/storage.cpp 235 warn V560 A part of conditional expression is always true: colStart == 0.
components/esmterrain/storage.cpp 237 warn V560 A part of conditional expression is always true: rowStart == 0.
2018-04-18 12:36:10 +00:00
Ilya Zhuravlev
9e9f6f3132
loadtes3: don't pack() non-POD structs
2018-01-26 21:35:51 -05:00
Marc Zinnschlag
bdabace7e2
Merge remote-tracking branch 'aesylwinn/LLmerge'
2017-10-19 14:24:58 +02:00
Kyle Cooley
11eae16645
Get rid of duplicate function, fix flag checking
2017-10-14 15:09:12 -04:00
Andrei Kortunov
30b05b557b
ExtraSpell magic effect: a basic implementation
2017-10-14 16:55:00 +04:00
Marc Zinnschlag
dd17f70068
Merge remote-tracking branch 'aesylwinn/landrecords'
2017-10-03 13:32:02 +02:00
scrawl
64e27c032b
Merge pull request #1481 from scrawl/keyfocus
...
WindowManager overhaul & improved keyboard support
2017-09-28 22:34:05 +00:00
scrawl
19e07fad30
Remove redundant Services enum
2017-09-25 19:52:20 +02:00
scrawl
82a211ba03
Fix duplicate code
2017-09-25 17:47:30 +02:00
MiroslavR
f15de6d3ca
ESS-Importer: Convert magic projectiles ( Closes #2320 )
2017-09-20 18:58:56 +02:00
Kyle Cooley
50d9d9f78f
Get rid of some templates, exceptions instead of assert, and other small changes.
2017-09-17 20:29:51 -04:00
Kyle Cooley
09e645a0e0
Fix careless mistake.
2017-09-09 23:18:09 -04:00
Kyle Cooley
25d4a0370f
Changes to land data access in tables, also update Land once per frame in scene view.
2017-09-09 15:37:52 -04:00
Kyle Cooley
d030b595f8
Fix potential segfault, cleanup, get rid of warnings.
2017-09-09 11:48:13 -04:00
Kyle Cooley
72cb405de2
Some bug fixes, changes to land load code.
2017-09-08 21:03:52 -04:00
Kyle Cooley
ab607f3028
Tweaks to land loading, land cloning, terrain signals, placeholder land update handling
2017-09-08 00:51:46 -04:00
Kyle Cooley
d3014cf394
Temporary fix for adding new lands, cloned lands will still reference old data though
2017-09-04 15:13:45 -04:00
Kyle Cooley
7cc95a11a4
Add more land table columns
2017-09-03 20:00:19 -04:00
Kyle Cooley
9e41f1340a
Replace nonconst getId with setId, add template specialization and specialized derived classes for LandTexture
2017-08-31 22:09:49 -04:00
Andrei Kortunov
2bd105f5e2
Change mValue type for clothes to unsigned short ( fixes #3960 )
2017-07-18 11:51:19 +04:00
Bret Curtis
d48b829b45
replace and purge boost::lexical_cast
2017-06-09 19:08:53 +02:00
Bret Curtis
d785344fad
purge all instances of <boost/shared_ptr.hpp>, clean up unused headers
2017-06-09 19:08:53 +02:00
Ewan Higgs
38a2de3c51
convert std::autor_ptr to std::unique_ptr, originally by Ewan Higgs and updated by Bret Curtis
2017-06-09 16:49:25 +02:00
Allofich
ff3e307059
Pass parameters by const reference
2017-04-20 23:47:03 +09:00
Allofich
2a505b427d
Remove second LAND_SIZE definition
2017-03-27 03:45:53 +09:00
MiroslavR
06dc94552f
Log a warning if size in SCHD (script header) does not match SCDT (bytecode) size instead of failing
2017-03-18 15:42:24 +01:00
scrawl
b384087e28
Fix handling in fillVertexBuffers when the chunk is >1 ESM::Cell
2017-03-14 19:27:55 +01:00
scrawl
0fc465da59
Store the min/max height in LandData
2017-03-14 19:27:55 +01:00
scrawl
80a0398f9d
Load LandData into the LandObject to avoid threading conflicts when the same data is being loaded by two threads
2017-03-14 19:27:55 +01:00
scrawl
20d30bb8d7
Move mDataLoaded into LandData
2017-03-14 19:27:55 +01:00
scrawl
29556a1802
More consistent wording of errors/warnings
...
A Warning indicates a potential problem in the content file(s) that the user told OpenMW to load. E.g. this might cause an object to not display at all or as intended, however the rest of the game will run fine.
An Error, however, is more likely to be a bug with the engine itself - it means that basic assumptions have been violated and the engine might not run correctly anymore.
The above mostly applies to errors/warnings during game-play; startup issues are handled differently: when a file is completely invalid/corrupted to the point that the engine can not start, that might cause messages that are worded as Error due to the severity of the issue but are not necessarily the engine's fault.
Hopefully, being a little more consistent here will alleviate confusion among users as to when a log message should be reported and to whom.
2017-03-04 21:48:31 +01:00
scrawl
ddd6605608
Move WNAM out of LandData to avoid redundant (de)allocations on startup
2017-02-14 07:58:16 +01:00
scrawl
e00b420f68
Move saving of LandData into Land::save
2017-02-14 07:58:16 +01:00
scrawl
325bf66653
Return const Land in ESMStore
2017-02-14 07:58:16 +01:00
MAtahualpa
b4ef9e2314
Update loadbook.cpp
2017-02-12 13:53:10 +01:00
MAtahualpa
5a58ab1837
Update loadbook.hpp
2017-02-12 13:52:36 +01:00
scrawl
bbcba57495
Disable hitAttemptActorId saving code for now
2017-02-10 06:26:32 +01:00
scrawl
2ea0db1d1a
Merge pull request #1198 from Allofich/combat
...
Make combat engagement logic more like vanilla
2017-02-10 06:20:04 +01:00
scrawl
d3e1dbe920
Fix race conditions in terrain loader caused by static variables
2017-02-09 00:53:48 +01:00
Allofich
5d2090684a
Store mHitAttemptActorId in save files
2017-02-07 01:26:26 +09:00
mrohrlach
f0f78c9d64
Slight adjustments to disintegration fix
2016-12-09 19:55:26 -07:00
mrohrlach
9624d8aade
Added new method and variable to track float remainders of disintegration effections
2016-12-09 19:48:56 -07:00
scrawl
505250f6ec
Do not use architecture dependent type size_t in esm format ( Fixes #3633 )
2016-11-22 15:47:06 +01:00
Assumeru
f6ef1ce276
Fix Calm/Frenzy/Demoralize/Rally Creature weakness and resistance
2016-10-25 15:42:37 +02:00
MiroslavR
301dd77efb
Save controls state ( Fixes #3598 )
2016-10-20 02:12:01 +02:00
Allofich
f6f16b68de
Don't let Weakness to Magicka affect paralysis
2016-10-08 17:56:12 +09:00
Allofich
498976775a
Fix reversed use of alembics and retorts
2016-10-07 01:38:50 +09:00
MiroslavR
55e670c5fe
Fix animation state not saving
...
References with animation state changed but otherwise identical to their content file counterparts
were previously considered unchanged and thus dropped while saving.
2016-09-15 16:11:54 +02:00
scrawl
a5da3a269e
Fix shadowing warnings
2016-08-29 12:20:00 +02:00
MiroslavR
b65f379b7f
Save scripted animation state ( Fixes #1931 , #2150 , #3393 )
2016-08-03 03:52:35 +02:00
MiroslavR
d790747389
Implement deletion of moved references (Bug #3471 )
2016-07-22 01:59:02 +02:00
scrawl
b9b73d7b12
Replace "sys::default" with ESM::CellId::sDefaultWorldspace
2016-07-02 19:48:11 +02:00
MiroslavR
54f52f7bae
Implement effect removal for abilities ( Fixes #3455 )
2016-07-01 18:50:28 +02:00
MiroslavR
b99611a730
Initialize mSpecIncreases in ESM::NpcStats::load
2016-06-26 15:16:32 +02:00
MiroslavR
dfc62c99b4
Show correct class image in level-up dialog ( Fixes #3443 )
2016-06-26 03:22:58 +02:00
scrawl
372f2e2f18
Merge pull request #962 from Allofich/AIPackageFixes
...
Duration fixes for Follow and Escort
2016-06-14 20:47:32 +02:00
Allofich
3bebbab78e
Duration fixes for Follow and Escort
2016-06-15 02:11:30 +09:00
scrawl
197e81206a
Assume mDeathAnimationFinished is true for older save files
2016-06-12 19:46:00 +02:00
scrawl
a825882c6b
Process death events at the end of the death animation ( Fixes #1873 )
2016-06-12 00:04:50 +02:00
Allofich
55ac1fab68
Change Wander duration to run on a counter
2016-06-10 04:36:18 +09:00
Marc Zinnschlag
b079db7913
Merge remote-tracking branch 'aesylwinn/EditPathgrid'
2016-06-07 08:35:16 +02:00
Aesylwinn
564d0db68c
Move pathgrid abstraction handling to save code.
2016-05-26 22:11:27 -04:00