1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-02-03 02:45:33 +00:00
Commit graph

937 commits

Author SHA1 Message Date
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