1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-26 09:35:28 +00:00

55 Commits

Author SHA1 Message Date
Bo Svensson
ef906cbfa8
improves MWClass mapping (#3166)
Currently, we use a peculiar mapping of ESM classes by their std::type_info::name. This mapping is an undefined behaviour because std::type_info::name is strictly implementation defined. It could return a non-unique value on some platforms. With this PR we use the unsigned int sRecordId of the ESM class as a more efficient lookup type that does not build on undefined behaviour. We can expect marginally faster save-game loading with these changes as well.
2021-10-11 13:46:21 +02:00
Bret Curtis
8309910d9d Restore the cell grid to its former non-exorbitant size, reducing stutter and also threw in a simple alternative fix for the actor position adjustment issue. 2021-09-30 22:58:40 +02:00
jvoisin
74fab99b89 Use a const-ref for an osg::Quat
Since an osg::Quat contains at least 4 floats,
it should be worth it to use a const-ref instead
of passing it by value.
2021-07-22 21:33:18 +02:00
Evil Eye
0a15d7740a Delay physics for objects created by scripts 2021-07-05 18:34:06 +02:00
fredzio
c795e0bce6 Some actors are supposed to spawn on an object that belongs to an adjacent cell.
Since actors can be active in 3x3 grid around the player, we need to
first load all objects in a 5x5 grid around the player.

Split load and unloading in 2 phases. Add an mInactiveCells set into the
scene, which contains all cells inside the aforementioned 5x5 grid.
These cells contains only heightfields and non-animated physics objects.

Animated objects are tied to the scene graph, which doesn't exists yet
in these cells, so we skip them.
2021-06-28 09:36:04 +02:00
Andrei Kortunov
7b727e4d70 Revert "Remove physics dependency on basenode"
This reverts commit 165c7314928dc281a364fa1a0143c45fd6d2adfd.
2021-01-29 16:51:13 +04:00
Andrei Kortunov
165af1c365 Revert "Some actors are supposed to spawn on a static object that belong to an adjacent cell."
This reverts commit f031a191b847443c848637b17d0936a43b5070b5.
2021-01-29 16:51:05 +04:00
fredzio
f031a191b8 Some actors are supposed to spawn on a static object that belong to an adjacent cell.
Since actors can be active in 3x3 grid around the player, we need to
first load all statics in a 5x5 grid around the player.

Split load and unloading in 2 phases. Add an mInactiveCells set into the
scene, which contains all cells inside the aforementioned 5x5 grid.
These cells contains only heightfields and physics objects of static
class.
2021-01-24 14:11:10 +01:00
fredzio
165c731492 Remove physics dependency on basenode
Necessary to be able to load physics objects from inactive cells.
2021-01-24 14:10:27 +01:00
Bret Curtis
8a8107e837 as it says; revert vismask and uncomplicate openmw 2020-04-20 20:57:38 +02:00
Andrei Kortunov
84979fa8b7 Move VisMask to components 2020-02-16 16:03:35 +04:00
Capostrophic
6b74630f6e Preparation work
Phase out canBeActivated() to unify activation checks
Use getName() for the name caption in tooltips
Always use tooltips for non-activator objects
Invert hasTooltip default value
2019-09-10 23:38:16 +03:00
Andrei Kortunov
00ab552184 Add more settings to water reflections in exteriors (feature #4859) 2019-03-02 14:26:14 +04:00
Bret Curtis
d785344fad purge all instances of <boost/shared_ptr.hpp>, clean up unused headers 2017-06-09 19:08:53 +02:00
scrawl
04f7a8f8eb Remove redundant getId function 2015-12-18 16:58:38 +01:00
scrawl
da7ebfde99 Accept a ConstPtr in copyToCell 2015-12-18 16:27:18 +01:00
scrawl
f258c5c508 Accept a ConstPtr in getModel 2015-12-18 15:51:05 +01:00
scrawl
d9bbd83b09 Accept a ConstPtr in getToolTipInfo
Accept a ConstPtr in functions used by getToolTipInfo
2015-12-18 15:47:16 +01:00
scrawl
fc449233be Restore support for inserting objects into a cell 2015-12-04 18:29:41 +01:00
scrawl
0975f60d59 Stub out CellStore::get<T> accessors in preparation of reference movement between cells 2015-12-04 18:29:41 +01:00
scrawl
67bd6cd708 Remove empty line at the beginning of files
git ls-files -z | xargs -0 sed -i '1{/^$/d}'
2015-08-18 23:06:12 +02:00
scrawl
c31b416ba1 Move physicssystem to a new mwphysics module 2015-05-10 01:09:00 +02:00
scrawl
642c1d2d36 Build fix 2015-04-10 15:31:19 +02:00
scrawl
41b3a9dba9 Rewrite animated collision shape support (Fixes #2123) 2015-01-13 05:37:37 +01:00
Marc Zinnschlag
4fb897f2f8 added missing getId functions to classes derived from MWWorld::Class 2014-07-18 09:56:58 +02:00
scrawl
823ccb1b3d Don't batch statics that have "references persist" set (temporary fix for Arkngthand door - Fixes #1386) 2014-06-08 11:22:37 +02:00
Marc Zinnschlag
83ded18af0 encapsulated reference collections 2014-02-23 21:21:27 +01:00
Marc Zinnschlag
367919200f moved CellRefList into a separate file 2014-02-23 20:11:05 +01:00
Chris Robinson
076e7d8e16 Make insertBegin internal 2013-08-07 03:56:07 -07:00
Chris Robinson
0458fd5531 Remove unused/unneeded parameters 2013-08-07 03:56:06 -07:00
Marc Zinnschlag
918316168f Merge remote-tracking branch 'greye/store' into next
Conflicts:
	apps/openmw/mwclass/light.cpp
	apps/openmw/mwworld/worldimp.cpp
2012-11-07 19:34:28 +01:00
emoose
7a7825577a Changed: use MWWorld::Ptr for PhysicsSystem arguments 2012-11-05 19:37:27 +00:00
greye
3c2ce25f5f m prefix for mwworld/cellstore.hpp 2012-11-05 16:07:59 +04:00
greye
7606ebafd6 resolving conflicts, minor update 2012-09-17 11:37:50 +04:00
greye
26595f22f6 float* -> Vector3, moveToCell -> copyToCell, fixed placeObject() 2012-07-26 16:14:11 +04:00
greye
e7666d3a7f move responsibility for cell changing from CellStore::insertObject to Class::moveToCell 2012-07-25 20:31:39 +04:00
greye
6a3a728a56 Class::getModel implementation 2012-07-25 20:31:39 +04:00
Marc Zinnschlag
5a7b95bf7a Issue #107: cleaned up includes in apps/openmw/mwworld/class.hpp 2012-07-03 13:15:20 +02:00
Marc Zinnschlag
7fcd41c69d Issue #107: Detemplateised CellStore; some include cleanup 2012-06-29 18:54:23 +02:00
Marc Zinnschlag
76174098c7 Issue #107: CellStore moved from ESMS to MWWorld 2012-06-29 16:48:50 +02:00
Marc Zinnschlag
35f478071e Issue #255: deleted the old environment class and using the new one instead 2012-04-23 15:27:03 +02:00
Marc Zinnschlag
e02cba58b1 Merge branch 'master' into next
Conflicts:
	apps/openmw/mwclass/light.cpp
2012-02-20 14:34:27 +01:00
Marc Zinnschlag
c471aa950f re-enabled batching for statics; fixed a misplaced assert 2012-02-06 09:42:24 +01:00
Marc Zinnschlag
8de6761a79 general cleanup 2012-01-27 15:11:02 +01:00
Jason Hooks
7319f7a8c6 Many bugs fixed related to changing cells 2011-11-19 01:01:19 -05:00
Jason Hooks
15fcdc8b72 Physics working 2011-11-17 19:38:52 -05:00
Jason Hooks
a0947cd432 Player handle changed;Interior removed;Exterior removed;Cellimp removed; Probe fixed 2011-11-16 21:15:49 -05:00
Jason Hooks
c7dadec840 Updating the rest of mwclass 2011-11-11 23:01:12 -05:00
Jacob Essex
9aac625000 Changes to move the mutable ESM::Position data to RefData 2011-11-08 00:08:00 +00:00
Marc Zinnschlag
7192bc4f89 added static flag 2011-05-23 19:12:28 +02:00