elsid
18d3102148
Do not use union to access FIXED_STRING<4> as int
...
https://en.cppreference.com/w/cpp/language/union :
> It's undefined behavior to read from the member of the union that wasn't most recently written.
2021-10-17 17:16:21 +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
Evil Eye
5f84494046
Fail on invalid water levels
2021-07-21 16:00:25 +00: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
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
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
Capostrophic
aa5161f99e
Log some more things
2020-05-09 20:27:12 +03:00
Bret Curtis
8c2f3ff007
clean up code; purge const_cast
2020-04-19 16:31:54 +02:00
Capostrophic
216a5d27c6
Avoid working with AMBI subrecord in tools unnecessarily (bug #5269 )
2020-02-04 20:57:04 +03:00
Capostrophic
4b38bab0d9
Make sure empty cell name subrecords are saved (bug #5222 )
2019-12-03 18:47:02 +03:00
Andrei Kortunov
0937f02598
Get rid of unnecessary string streams
2019-01-07 21:08:16 +04:00
scrawl
b9b73d7b12
Replace "sys::default" with ESM::CellId::sDefaultWorldspace
2016-07-02 19:48:11 +02:00
Roman Proskuryakov
d5dfa89060
Rewrite NAME_T into FIXED_STRING.
2016-05-07 23:27:33 +03:00
scrawl
fbee32729a
Cache CellId
...
ESM::Cell::getCellId() was allocating a string on every call. This caused functions dealing with cellIds to be unnecessarily expensive.
For example, World::moveObject spent almost as much time comparing CellIds as it did updating Bullet's AABB after the move. OpGetDistance was by far the most expensive script instruction because it has to compare cellIds.
The total cost of getCellId() relative to the frame loop was about 0.3%.
2015-11-26 23:56:32 +01:00
scrawl
fc8e40889d
Move common subrecord definitions (NAME, DELE) to defs.hpp
2015-11-13 18:07:18 +01:00
Stanislav Bas
f9b0b7ede5
Make saving of deleted ESM records more consistent
2015-07-28 21:37:21 +03:00
Stanislav Bas
4a16eba716
Make deleted flag a parameter of load/save methods (instead of a record member) in ESM records
2015-07-22 19:26:00 +03:00
Stanislav Bas
5fd48efd28
Some refactoring. Remove unused code
2015-07-19 14:58:14 +03:00
Stanislav Bas
e8a9567be3
Move DELE handling to CellRef record
2015-07-15 19:39:01 +03:00
Stanislav Bas
b667338a8f
Add NAME and DELE handling to Cell record
2015-07-10 00:29:26 +03:00
cc9cii
5fd107a95c
Fix crash with array out of bounds when refNum index is incorrect.
2015-05-27 10:19:26 +10:00
cc9cii
7673be6d0f
Loading of moved refs complete.
2015-04-26 12:18:23 +10:00
cc9cii
dcce59f76c
Pass MovedCellRef info to RefCollection. Still has debugging code.
2015-04-25 17:20:02 +10:00
Marc Zinnschlag
7f905470fa
fixed moved reference loading
2015-01-24 15:01:38 +01:00
scrawl
f931ba2efc
Fix some static analysis issues (coverity)
2014-12-24 15:45:12 +01:00
cc9cii
5ae1554a75
Simplify skipping moved references (thanks scrawl)
2014-11-30 04:00:06 +11:00
cc9cii
33c454e073
Check whether any subrecords remain after skipping moved references. Should resolve bug #2070 .
2014-11-29 20:39:25 +11:00
scrawl
7252cb63a6
Fix cppcheck issues
2014-09-26 17:48:14 +02:00
scrawl
ccde462308
Fix typo (RefId -> RefNum)
2014-07-29 19:01:14 +02:00
scrawl
4e0c133fb3
Add comment to Cell NAM0 (it's a RefId counter)
2014-07-24 02:19:36 +02:00
scrawl
73be457805
Merge ESM::Cell fields by subrecord
...
Fixes an issue with the Morrowind Patched mod where cell ambient values would become black due to the new cell records not including an AMBI subrecord.
Also fixes a bug where mLeasedRefs was incorrectly cleared when overwriting a cell (*oldcell = *cell;)
2014-06-11 16:13:33 +02:00
scrawl
039398c8ae
Basic RefData and CellRef change tracking
...
Wrapped item charge handling in getItemHealth function
2014-05-25 14:30:07 +02:00
Marc Zinnschlag
6e8b9c88b2
changed name of default worldspace (should reduce chance of a name conflict)
2014-03-02 22:43:15 +01:00
Marc Zinnschlag
1b5301eec0
Merge branch 'savedgame'
...
Conflicts:
apps/openmw/mwbase/mechanicsmanager.hpp
apps/openmw/mwbase/soundmanager.hpp
apps/openmw/mwgui/mapwindow.hpp
apps/openmw/mwmechanics/actors.cpp
apps/openmw/mwmechanics/mechanicsmanagerimp.hpp
apps/openmw/mwsound/soundmanagerimp.hpp
components/esm/loadcell.cpp
2014-02-01 18:16:32 +01:00
scrawl
03cf383be7
Merge branch 'master' of https://github.com/zinnschlag/openmw into savedgame
...
Conflicts:
apps/openmw/mwgui/referenceinterface.cpp
apps/openmw/mwmechanics/actors.cpp
apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
apps/openmw/mwmechanics/mechanicsmanagerimp.hpp
apps/openmw/mwscript/cellextensions.cpp
apps/openmw/mwworld/cells.cpp
apps/openmw/mwworld/cells.hpp
apps/openmw/mwworld/cellstore.cpp
apps/openmw/mwworld/store.cpp
apps/openmw/mwworld/worldimp.cpp
2014-01-24 18:28:35 +01:00
scrawl
4c0045b418
Bug #1109 : Do not reset water level when loading a plugin with no water level record (for real this time)
2014-01-18 21:11:12 +01:00
Marc Zinnschlag
d8d4f1a15e
some fixes to record structs
2014-01-16 12:02:45 +01:00
scrawl
3ea1407ed3
Closes #1109 : Don't reset water level when loading a plugin that does include water level records
2014-01-15 14:53:29 +01:00
Marc Zinnschlag
8c5f313546
added savedgame-specifc record structs for objects state
2014-01-14 15:29:55 +01:00
Marc Zinnschlag
e453468eff
moved CellRef loading code to the CellRef class
2014-01-12 19:23:08 +01:00
Marc Zinnschlag
9025210965
Merge branch 'refnum' into savedgame
...
Conflicts:
apps/openmw/mwworld/cellstore.cpp
apps/openmw/mwworld/manualref.hpp
components/esm/cellref.hpp
2014-01-12 16:58:06 +01:00
Marc Zinnschlag
43dd3b8ef2
removed redundant deletion flag from CellRef
2014-01-06 13:53:20 +01:00
Marc Zinnschlag
c22e38f825
removing 255 content file limitation
2013-12-17 21:19:05 +01:00
Marc Zinnschlag
c42e74dadf
make 4 byte record type accessable from record struct
2013-09-24 13:17:28 +02:00
Marc Zinnschlag
d4b2a6b9f1
Merge remote-tracking branch 'graffy76/esxSelector' into saving
2013-09-23 10:09:43 +02:00
graffy76
cfdc19c427
Renamed esxSelector to contentSelector
...
Fixed datafilespage model implementation in launcher
Filtered addons in table view by selected game file
2013-09-21 23:06:29 -05:00
Marc Zinnschlag
874ce26bef
added missing consts to record save functions
2013-09-16 12:32:35 +02:00