Emanuel Guevel
1e4a854433
Remove static method MWWorld::Class::get(&Ptr)
...
It was just adding a level of indirection to Ptr.getClass().
All the call were replaced by that instead. The number of lines changed
is important, but the change itself is trivial, so everything should be
fine. :)
2014-05-22 20:50:00 +02:00
Marc Zinnschlag
56c4367c1a
Merge remote-tracking branch 'mrcheko/master'
2014-05-18 18:42:23 +02:00
cc9cii
12dc5cf4ea
Bug #1303 - resolves the bug by tweaking the slope constant (the value 49 was selected to mimic vanilla behaviour for a low level character exploring Seyda Neen). The feature to vary the climbable angle based on acrobatics is still to be implemented.
2014-05-18 12:05:08 +10:00
mrcheko
aa5647b45e
merge master, resolve conflicts
2014-05-17 19:20:57 +04:00
scrawl
386604bc9d
Fixes #869 : Added methods to control external and internal collision modes separately
...
When an actor dies, we should only disable external collisions, i.e. prevent other actors from colliding with the dead body. The dead actor, however, should still have gravity and collision applied.
Also moved disableCollision to when the death animation finishes, not as soon as the actor's health is 0.
2014-05-13 01:43:52 +02:00
mrcheko
725f6cac5e
AiPursue infinite package updating bug resolved
2014-05-13 00:05:30 +04:00
mrcheko
e4fe78937a
Merge remote-tracking branch 'upstream/master'
2014-05-12 22:06:26 +04:00
mrcheko
f596b698d9
fixes to slow-down at jump startup and infinite air intertia growth
2014-05-04 18:15:07 +04:00
scrawl
7331a64e34
Restore fix for Bug #875 (commit 602be9bbe7
, was broken by 43757efdc4
)
2014-05-03 11:33:20 +02:00
Marc Zinnschlag
8fea2cfa2a
Merge remote-tracking branch 'mrcheko/master'
2014-04-29 10:03:29 +02:00
Thoronador
1b8c975d5b
minor performance improvements in apps/openmw
...
Checking for emptiness using size() might be inefficient, because
it can take linear time, while empty() is guaranteed to take only
constant time.
For non-primitive types, postfix ++ operators are inefficient
compared to prefix ++ operators, because post-increment usually
involves keeping a copy of the previous value around.
2014-04-27 19:10:23 +02:00
mrcheko
82121e0401
some checks reworked
2014-04-27 16:59:21 +04:00
cc9cii
d2a41167d0
Allow flying and swimming creatures to step inclines. Should have listen to Chris in the first place, see https://forum.openmw.org/viewtopic.php?f=6&t=2075
2014-04-11 21:24:00 +10:00
cc9cii
772a49b2a6
Just some notes for future maintenance.
2014-03-23 13:38:11 +11:00
cc9cii
f71fb83bfc
Cleaned up more inaccurate comments.
2014-03-16 20:56:11 +11:00
cc9cii
f57c11254f
Revert to original variable names.
2014-03-16 20:09:18 +11:00
cc9cii
22c544d9d7
Remove unnecessary comment.
2014-03-16 12:51:12 +11:00
cc9cii
fdbd564700
Apparently fall trace needs to be done with the middle of the object.
2014-03-16 08:57:55 +11:00
cc9cii
43757efdc4
Feature #1030 - partial fix to stop creatures unable to walk/fly to come out of water. Does not necessarily handle situations where they are already out of water, however.
2014-03-16 08:09:14 +11:00
scrawl
12de0afb03
Feature #50 : Spawn projectiles
...
Fix a bug in copyObjectToCell.
Make actor rotations more consistent.
2014-03-08 01:31:27 +01:00
scrawl
edb5a54092
Include some more required Ogre headers explicitely.
2014-03-05 21:46:37 +01:00
Marc Zinnschlag
367919200f
moved CellRefList into a separate file
2014-02-23 20:11:05 +01:00
Marc Zinnschlag
7693f712bc
started making CellStore into a proper class; encapsulated mCell member
2014-02-21 11:35:46 +01:00
scrawl
c76a0448a3
Closes #1123 : Implement SlowFall magic effect
2014-01-17 15:47:34 +01:00
scrawl
0f2b2fabdb
Implement water walking
2014-01-02 02:03:44 +01:00
scrawl
7265b427fe
Bug #1013 : Rewrote fall height detection
2013-12-27 21:21:18 +01:00
Chris Robinson
f2889e4bb5
Remove unused functions and parameters
2013-08-25 16:08:45 -07:00
Chris Robinson
3843357cd2
Fix actor stepping
2013-08-25 16:08:43 -07:00
Chris Robinson
ca24a809fc
Use the position of the actor to determine if they're swimming
2013-08-23 13:44:16 -07:00
Chris Robinson
3fa65f21dd
Use a proper cone shape with a contact test to check for melee hits
2013-08-23 12:27:40 -07:00
Chris Robinson
f5d03a16c1
Rename getFacedObject and getFacedHandle for melee hits
2013-08-23 12:27:39 -07:00
Chris Robinson
602be9bbe7
Avoid swimming into the air from underwater
2013-08-21 07:24:54 -07:00
Chris Robinson
9f09bb6f6f
Use separate inputs for swimming and flying
2013-08-21 07:24:54 -07:00
Chris Robinson
a546ace94d
Remove an unused method
2013-08-21 07:24:54 -07:00
Chris Robinson
1a9672e31b
Don't update player physics more than 60 times a second
...
Bullet and/or our collision handling code doesn't like timesteps much
smaller than that. Ideally we should do physics in 60fps (or even 30fps)
steps and use prediction and interpolation to get more, but that's not
straight forward and needs a fixed timestep loop to lock physics and
logic together.
2013-08-20 11:31:49 -07:00
Chris Robinson
d9040df9d6
Increase the max number of physics iterations
...
Should help with highly tessellated collision meshes with high
framerates.
2013-08-20 04:41:52 -07:00
Chris Robinson
a17997a973
Continually add bits of input velocity to inertia when falling
2013-08-20 02:10:18 -07:00
Chris Robinson
48e594b7c4
Improve stepping down when starting on the ground
2013-08-19 08:09:23 -07:00
Chris Robinson
1aa92067c2
Fix tracing down
2013-08-19 04:56:02 -07:00
Chris Robinson
7770203dff
Some physics cleanup
...
Gets rid of some unneeded/unused variables, and halves the 'on ground'
offset.
2013-08-18 08:24:39 -07:00
Chris Robinson
8c3564326e
Improve movement inertia
...
Handles all 3 axis. Incoming velocity is only added to inertia when
leaving the ground, and does not continually add to it.
2013-08-18 05:38:50 -07:00
Chris Robinson
9d56e2d86d
Apply movement by queueing it to do later
2013-08-17 22:34:38 -07:00
Chris Robinson
96bab88da6
Add physics methods to queue and apply movements
2013-08-17 07:48:45 -07:00
Chris Robinson
0481e64b02
Fix tracing down
2013-08-17 05:09:34 -07:00
Chris Robinson
8bcce0fb55
Clean up the trace struct
2013-08-17 05:09:33 -07:00
Chris Robinson
62c7b3698d
Get rid of the old newtrace method
2013-08-17 05:09:33 -07:00
Chris Robinson
65ce3c6ba5
Use a better method to do actor physics traces
2013-08-17 05:09:32 -07:00
Chris Robinson
d82f54c771
Improve actor movement collision handling
2013-08-17 05:09:30 -07:00
Marc Zinnschlag
41b2fa985b
silenced some warnings
2013-08-03 15:26:53 +02:00
Marc Zinnschlag
9123afa863
Merge remote-tracking branch 'gus/MeleeCombat2'
2013-08-03 15:23:36 +02:00
gus
a23e7fac93
clean up
2013-08-03 13:58:16 +02:00
gus
c8bb32c40d
small maths correction
2013-08-03 12:29:18 +02:00
gus
a25ee360dc
use angles and GMST. not sure this work as it should
2013-08-03 12:16:51 +02:00
gus
830762722d
first attempt: hit detection with a sphere (not finished)
2013-08-03 11:26:36 +02:00
scrawl
7dc30a01cd
Some changes suggested by cppcheck
2013-07-31 18:46:32 +02:00
scrawl
04b90b7d14
Other actors no longer collide with an actor that has collision disabled
2013-07-30 22:00:48 +02:00
Chris Robinson
6195062d72
Try to figure out what gets hit
...
This isn't the greatest. The distance multiplier is a guess, and a sphere cast
may be better.
2013-07-25 12:58:43 -07:00
scrawl
c81b852071
Fixes inaccurate ray casts; rely on getCameraToViewportRay
2013-07-15 00:39:37 +02:00
scrawl
c41f119ba6
Added new game button
2013-05-15 17:54:18 +02:00
gus
603af21715
little interface improvement
2013-05-07 19:42:21 +01:00
gus
a328a03bd3
more fix. Fargoth quest almost work as in vanilla now.
2013-05-07 19:35:10 +01:00
gus
006f25d1c0
First try to improve AI. Does not work yet due to strange bug in physicsystem
2013-05-06 00:46:50 +01:00
scrawl
627c3fdb6b
Added GetStandingPC, GetStandingActor; Fixed GetStartingPos
2013-05-01 11:15:43 +02:00
scrawl
1420a2cb33
Tweaked adjustPosition. Now uses a very thin box for tracing the feet only.
2013-04-30 20:43:38 +02:00
scrawl
91c89e5db4
Use sphere cast instead of ray for camera distance adjustment; use the box orientation value in newtrace
2013-04-30 20:26:59 +02:00
Chris Robinson
d17e1e83d5
Rename MWRender's Player to Camera
2013-04-29 05:50:40 -07:00
Chris Robinson
24e503330b
Merge remote-tracking branch 'zini/master' into animations
2013-04-28 09:41:31 -07:00
scrawl
9343b4459e
Opening doors
2013-04-28 14:59:15 +02:00
Chris Robinson
ce7bc20fa1
Avoid special-casing player rotation
2013-04-28 01:14:58 -07:00
scrawl
ebaf80d539
Trace actors onto the ground after load, when moved to a different cell by the console or on player cell change.
2013-04-03 23:55:57 +02:00
scrawl
84afd87321
Placeable objects should not collide unless they have a NiRootCollisionNode
2013-03-14 03:04:02 +01:00
scrawl
d7c4a622cf
Create a separate rigid body / shape with full details for raycasting, remove the occlusion query hack
2013-03-08 23:46:25 +01:00
Marc Zinnschlag
7e100c36b5
Merge remote-tracking branch 'gus/AI'
2013-03-06 19:05:55 +01:00
gus
8b6f0e0770
Correct orientation sign
2013-03-05 18:28:57 +00:00
gus
48b3f1e0cf
Clean up. But still a little hacky
2013-03-04 12:08:35 +00:00
gus
7fb2ff18a3
Fix bug induced by previous commit (player orientation wasn't stored correctly), and fix NPC not beeing able to move with certain angles (like angle Z 70) because the trace function was hitting NPC own hitboxes. The solution prposed here is a little hacky, but i works. Need a little clean up(mBody shouldn't be public)
2013-03-03 13:06:45 +00:00
Nathan Jeffords
109dff2d29
renamed high level NIF files...
2013-03-02 13:23:09 -08:00
scrawl
cd68012498
Z-up conversion: raycasts
2013-02-26 14:28:35 +01:00
Chris Robinson
90cb9ee0ac
Don't set a vertical velocity when on the ground
2013-02-23 16:30:11 -08:00
Chris Robinson
4eb8ea0c95
Fix stepping and vertical force accumulation
2013-02-20 07:51:36 -08:00
Chris Robinson
b14def7c09
Set the character as being on the ground when colliding with a shallow enough slope
2013-02-20 05:24:38 -08:00
Chris Robinson
fe6fa9ebe7
Simplify newtrace a bit
2013-02-20 04:14:52 -08:00
Chris Robinson
5d55b41714
Remove a now-unneeded(?) hack
2013-02-19 04:59:38 -08:00
Chris Robinson
89fabdb3a9
Update the PhysicActor's RigidBody when moving
...
This works, but is less than ideal. As it is now, the rigid body gets updated
twice as the position and rotation are set separately. They should instead be
updated together.
2013-02-19 04:18:15 -08:00
Chris Robinson
a510adc572
Allow stepping when not being affected by gravity
2013-02-19 02:25:57 -08:00
Chris Robinson
c694161272
Don't try to step if not on the ground
2013-02-19 01:28:02 -08:00
Chris Robinson
c965bd8e18
Increase step size to 30
2013-02-15 17:22:55 -08:00
Chris Robinson
c57001e3bd
Remove an unused field
2013-02-15 05:11:06 -08:00
Chris Robinson
18b606fddf
Use the PhysicActor's set/getOnGround method
2013-02-14 20:10:04 -08:00
Chris Robinson
15dc82f454
Increase step size to 15
2013-02-14 18:59:05 -08:00
Chris Robinson
a729b1b12a
Snap to the ground after moving
...
Depends on two factors:
* End up close enough above to a walkable plane (it's within sMaxStep units
down and is angled sMaxSlope or less)
* Started out on the ground without any upward movement
This also reduces the distance needed to be to the ground to 4 (from 10), and
ensures the actor is 2 units above the ground when on it. Downward force is
also removed when starting on the ground.
2013-02-14 18:34:51 -08:00
Chris Robinson
f5afa43db5
Remove an unneeded parameter
2013-02-07 17:45:41 -08:00
Chris Robinson
d47d2216f2
Use some const references where appropriate
2013-02-07 16:33:44 -08:00
Chris Robinson
cbdd459500
Remove unneeded playerMove from PhysicActor
2013-02-07 15:48:41 -08:00
Chris Robinson
ca6f8b6d88
Reorganize a bit of code in the movement solver
2013-02-07 13:18:16 -08:00
Chris Robinson
fe0e6c452d
Remove the unneeded playerMove object from PhysicsSystem
2013-02-07 12:11:10 -08:00
Chris Robinson
8de2d24d0e
Restore old ground check
2013-02-06 21:57:59 -08:00
Chris Robinson
e577ee2de8
Add a method to set/retrieve being on the ground
2013-02-06 21:44:58 -08:00
Chris Robinson
dfd16c4424
Fix movement rotations
2013-02-06 12:39:26 -08:00
Chris Robinson
9cf30f39bd
Don't apply gravity when swimming
2013-02-05 19:45:51 -08:00