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

55 commits

Author SHA1 Message Date
Alexei Kotov
9a43ca2d00 Move NiGeometry triangulation to NiGeometry 2023-11-24 23:39:49 +03:00
Alexei Kotov
c7d5ea9fbf Improve BulletNifLoader handling of extra data
Only handle extra data for the root node(s)
Properly handle MRK flag editor marker filtering
Fix BSXFlags test
2023-11-14 01:30:36 +03:00
Alexei Kotov
40313019ef BulletNifLoader updates
Refactor root node, visual collision type and filename handling
Only handle BSXFlags for the root, handle BSXFlags collision flag and absence
Properly distinguish collision node and autogenerated flag
2023-10-15 15:22:59 +03:00
Alexei Kotov
a7cc4e6ba6 Rename Node->NiAVObject and update everything directly related
Update NiNode
Simplify RootCollisionNode handling in BulletNifLoader
2023-09-10 07:18:39 +03:00
Alexei Dobrohotov
2de8c6b3c0 Don't discard collision for the entire tree if BSXFlags marker flag is set 2023-07-10 23:37:37 +03:00
Alexei Dobrohotov
562461a659 Unify collision shape transformations 2023-03-10 00:12:12 +03:00
Alexei Kotov
7fd9b27b54 Don't combine static node collision geometry (bug #6027) 2023-03-01 00:41:04 +03:00
elsid
c338c1e5d3
Add Nif::FileView as read only interface for Nif::NIFFile
To make sure interface is scoped to what users require.
2022-09-24 19:10:21 +02:00
elsid
f2fb3d6de8
Separate NIFFileReader from NIFFile
NIFFile might not always be created from a file or stream containing NIF data.
Basically there are 2 different responsibilities for this class:
1. Read NIF file
2. Provide input for nifosg and bulletnifloader.

Remove no longer needed NIFFileMock since the state of NIFFfile can be
initialized independently from reading NIF file.
2022-09-24 19:10:14 +02:00
clang-format-bot
ddb0522bbf
Apply clang-format to code base 2022-09-22 21:35:26 +03:00
elsid
948e2f5db9
Do not use collision shapes with visual only collision to generate navmesh
These collision shapes are not used for actors movement physics simulation.
2022-08-25 00:56:03 +02:00
Petr Mikheev
8b8c304953 Treat empty RootCollisionNode in NIF as NCC flag and generate CameraOnly collision shape 2022-07-10 00:46:11 +02:00
fredzio
d05a2facf3 Handle NCC flag in Nif files. Objects with this flag will collide only with camera.
Expose objects with NC flag to be used by Lua mods.
2022-04-17 20:03:00 +02:00
elsid
3f14011087
Support multiple parents for NIF nodes
Choose a parent base on which node is used to iterate over children nodes.
This leads to duplicate handing of child nodes. A node will be handled so many
times how many parents it has.

For example:
p1 p2
 \ /
  c

Will be handled as:
p1 p2
|  |
c  c

If c has children they will be handled X times c is handled.
2022-01-22 01:02:31 +01:00
elsid
4ac83f4c39
Add separate function to handle NiGeometry node
To force use a single source of data. All fields of Nif::Node are available in NiGeometry.
2021-11-02 22:44:32 +01:00
elsid
56eef691a8
Use reference type to pass nif node as argument where nullptr is not handled 2021-11-02 22:44:32 +01:00
elsid
a851ac5fea
Use custom deleter for btCompoundShape to delete children shapes 2021-10-30 03:48:02 +02:00
jvoisin
aec3c74fa5 Sprinkle some [[noreturn]] where possible 2021-06-22 12:51:08 +02:00
Andrei Kortunov
ee2416017e Fix tag mismatch 2020-12-28 12:19:22 +04:00
Alexei Dobrohotov
df9667e923 Read NIF bounding volume data correctly 2020-11-14 14:16:29 +03:00
capostrophic
91efdf18a9 Reduce Bullet part code duplication 2019-08-08 19:02:08 +03:00
capostrophic
8efbdeaa57 Load NiTriStrips/NiTriStripsData (don't do anything yet) 2019-08-08 17:09:06 +03:00
Bret Curtis
d6c674660a
Merge pull request #1633 from elsid/pathfinder_detour
Use recastnavigation for pathfinding (#2229)
2018-10-30 20:44:13 +01:00
Andrei Kortunov
61da6b6ecf Print warning if the RootCollisionNode is attached to non-root node (bug #4311) 2018-10-26 17:11:08 +04:00
Andrei Kortunov
6d91fe69b2 Revert "Handle RootCollisionNode, attached to non-root node (bug #4311)"
This reverts commit ec9a1b0d05.
2018-10-26 12:51:04 +04:00
elsid
f6a60790f8
Create collision shape for all avoided nodes 2018-10-13 22:16:31 +03:00
elsid
330e596c64
Remove useless parameter 2018-10-13 22:16:31 +03:00
Andrei Kortunov
1452684d9e Use new logging system for components 2018-08-14 19:42:41 +04:00
elsid
2de38142e2
Replace raw pointers by unique_ptr 2018-08-11 18:00:52 +03:00
elsid
f2a63bcf35
Add unit tests for BulletNifLoader 2018-08-11 18:00:52 +03:00
Andrei Kortunov
ec9a1b0d05 Handle RootCollisionNode, attached to non-root node (bug #4311) 2018-08-10 11:11:40 +04:00
scrawl
03554b2f4b Fix some style issues flagged by cppcheck 2017-10-15 17:06:58 +02:00
scrawl
8cf57ef6ac Move BulletShapeManager and BulletShape to resource/ 2015-11-17 00:20:15 +01:00
scrawl
cdc47fa874 Remove BulletNifLoader dependency on keyframe manager
This will make threaded loading easier.
2015-06-11 17:59:49 +02:00
scrawl
fe439e53ff Bullet include cleanup 2015-05-27 22:32:11 +02:00
scrawl
65f0195c71 Readded animated collision shape support 2015-05-12 16:26:11 +02:00
scrawl
47758c11cd Readded collision objects and movement physics 2015-05-12 03:02:15 +02:00
scrawl
c843cfc8e2 Physics stub in preparation for rewrite 2015-05-10 00:28:51 +02:00
scrawl
48ffeab191 Remove old BulletShapeManager 2015-05-09 01:06:55 +02:00
scrawl
604580d75d Move toMatrix to Nif::Node 2015-05-07 21:17:15 +02:00
scrawl
e1f4a7f647 Merge branch 'master' of https://github.com/OpenMW/openmw into osg
Conflicts:
	apps/openmw/engine.cpp
	apps/openmw/mwgui/mainmenu.cpp
	apps/openmw/mwgui/windowmanagerimp.cpp
	apps/openmw/mwinput/inputmanagerimp.cpp
	apps/openmw/mwrender/animation.cpp
	apps/openmw/mwrender/debugging.cpp
	apps/openmw/mwrender/npcanimation.cpp
	apps/openmw/mwrender/renderingmanager.cpp
	apps/openmw/mwrender/sky.cpp
	components/nif/nifkey.hpp
	components/nif/nifstream.hpp
	components/nifbullet/bulletnifloader.cpp
	components/nifogre/ogrenifloader.hpp
	libs/openengine/bullet/physic.cpp
	libs/openengine/gui/manager.cpp
2015-05-04 02:41:50 +02:00
scrawl
d9d84bd7b2 Remove bullet raycasting shapes, to be replaced with OSG ray casts 2015-05-01 21:43:21 +02:00
Rohit Nirmal
997347b01e Silence -Wreorder warnings. 2015-04-28 18:48:02 -05:00
dteviot
407cd50890 fixed warning C4099:
type name first seen using 'class' now seen using 'struct'
2015-03-06 21:36:42 +13:00
scrawl
f11ec653d0 Add setting for showing MRK nodes to NIF loaders
This makes marker objects show up in OpenCS.
2015-01-13 17:29:25 +01:00
scrawl
883f7ec7ce Move workaround for hiding markers from NIF loader to Scene 2015-01-13 17:19:39 +01:00
scrawl
41b3a9dba9 Rewrite animated collision shape support (Fixes #2123) 2015-01-13 05:37:37 +01:00
scrawl
04d6cead3b Autogenerated collision should only be disabled if RootCollisionNode is a child of the root node (Fixes #2133) 2015-01-12 23:29:57 +01:00
scrawl
0b34d8d2fd Add support for animated collision shapes (Fixes #1549) 2014-06-23 20:43:24 +02:00
scrawl
e002acdeae Physics: Create actor shapes outside of BulletNifLoader
This will allow to create a specialised shape instead, such as a capsule, which tends to work better for character controllers.
2014-06-21 23:37:16 +02:00