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

72 commits

Author SHA1 Message Date
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
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
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
Andrei Kortunov
8084a336b5 Replace zeroes and nulls by nullptrs 2020-11-29 11:14:07 +04:00
Capostrophic
216a5d27c6 Avoid working with AMBI subrecord in tools unnecessarily (bug #5269) 2020-02-04 20:57:04 +03:00
Andrei Kortunov
d5bcc49079 Initialize missing struct fields 2018-09-11 11:11:24 +04:00
MiroslavR
d790747389 Implement deletion of moved references (Bug #3471) 2016-07-22 01:59:02 +02:00
scrawl
121bdd3e39 Update comment 2016-03-07 22:46:15 +01:00
scrawl
3d6323f13a Force-enable hasWater() for exterior cells (Fixes #3222) 2016-03-02 17:02:30 +01: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
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
e8a9567be3 Move DELE handling to CellRef record 2015-07-15 19:39:01 +03:00
Stanislav Bas
7ecb54a776 Set Deleted flag to false when initializing ESM records 2015-07-10 00:29:46 +03:00
Stanislav Bas
b667338a8f Add NAME and DELE handling to Cell record 2015-07-10 00:29:26 +03:00
scrawl
28caeadef4 Improve error message for not found records 2015-06-14 02:31:00 +02:00
Rohit Nirmal
997347b01e Silence -Wreorder warnings. 2015-04-28 18:48:02 -05:00
cc9cii
dcce59f76c Pass MovedCellRef info to RefCollection. Still has debugging code. 2015-04-25 17:20:02 +10:00
cc9cii
f1a58994c6 Merge branch 'master' into moveref
Conflicts:
	apps/opencs/model/world/columns.hpp
	apps/opencs/model/world/commands.cpp
	apps/opencs/model/world/commands.hpp
	apps/opencs/model/world/ref.cpp
	apps/opencs/view/world/dialoguesubview.cpp
	apps/opencs/view/world/dialoguesubview.hpp
	apps/opencs/view/world/util.cpp
	components/esm/cellref.hpp
2015-04-25 06:52:53 +10:00
dteviot
946dd16696 Fixed Windows warning.
warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
2015-01-26 13:57:22 +13:00
dteviot
e02bab67ba Fixed MSVC warnings.
warning C4099: 'ESM::ESMReader' : type name first seen using 'class' now seen using 'struct'
warning C4099: 'ESM::CellId' : type name first seen using 'struct' now seen using 'class'
2015-01-26 13:17:16 +13:00
Marc Zinnschlag
7f905470fa fixed moved reference loading 2015-01-24 15:01:38 +01:00
Thoronador
773669952b remove initializing constructors from "dumb structs"
As suggested by Marc Zinnschlag:
https://github.com/OpenMW/openmw/pull/423#issuecomment-68526701
2015-01-02 16:30:14 +01:00
Thoronador
87fac78823 fix uninitialized members in Cell and structures 2015-01-02 01:01:37 +01: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
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
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
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
874ce26bef added missing consts to record save functions 2013-09-16 12:32:35 +02:00
Chris Robinson
602be9bbe7 Avoid swimming into the air from underwater 2013-08-21 07:24:54 -07:00
Glorf
98baf9fac1 Bugfix #718 2013-04-28 16:36:12 +02:00
Marc Zinnschlag
0c33dd86d5 added basic cell table 2013-04-14 17:04:55 +02:00
Marc Zinnschlag
8c7d578ddc moved the CellRef struct to its own header 2013-04-04 12:13:15 +02:00
scrawl
6f1575d42a CELL record corrections 2013-03-27 17:27:43 +01:00
scrawl
8e2f9f5186 Fix CellRef to load current weapon/armor health correctly, also show it in the tooltips 2013-03-22 12:24:09 +01:00
greye
9133182f2f restore loading CELL records in esmtool 2013-03-05 20:25:20 +04:00
Chris Robinson
e2d7cc49e3 Merge remote-tracking branch 'zini/next' into animation2 2013-02-17 03:42:37 -08:00
Douglas Mencken
df5919f2c5 Use `signed char' explicitly where needed. It is important because:
- It is implementation-dependent if plain `char' signed or not.
- C standard defines three *distinct* types: char, signed char,
  and unsigned char.
- Assuming that char is always unsigned or signed can lead to
  compile-time and run-time errors.

You can also use int8_t, but then it would be less obvious for developers
to never assume that char is always unsigned (or always signed).

Conflicts:

	components/esm/loadcell.hpp
2013-02-15 20:28:14 +01:00