scrawl
9fa8e88366
Revert "Don't create a CharacterController for objects with no animations"
...
This reverts commit cce42b6e9d
.
2017-02-12 10:22:11 +01:00
scrawl
03a10f217a
Catch exceptions in AiSequence::execute
2017-02-11 17:53:11 +01:00
scrawl
5a12407436
Revert "Rearranged check for better performance"
...
This reverts commit 332ceb51a2
.
2017-02-11 17:53:11 +01:00
scrawl
f2d4f290cc
traceDown fix
2017-02-11 17:53:11 +01:00
Allofich
e047679595
Fix trying to access stats on non-actors
2017-02-11 19:59:42 +09:00
scrawl
332ceb51a2
Rearranged check for better performance
2017-02-10 06:48:03 +01:00
scrawl
8752ae9c6a
Fix include
2017-02-10 06:28:23 +01:00
scrawl
bbcba57495
Disable hitAttemptActorId saving code for now
2017-02-10 06:26:32 +01:00
scrawl
2ea0db1d1a
Merge pull request #1198 from Allofich/combat
...
Make combat engagement logic more like vanilla
2017-02-10 06:20:04 +01:00
scrawl
dd54887783
Fix node mask of CharacterPreview being reset
2017-02-10 03:31:37 +01:00
scrawl
6ecc008813
Fix an issue uncovered by the last commit related to changing actor position without properly moving the actor
2017-02-10 02:43:49 +01:00
scrawl
cf7b0098ed
Slightly increase backoff value
2017-02-10 02:05:12 +01:00
scrawl
b3d5c2bd7f
Use the actor's collision shape in findGround()
...
The cylinder base is no longer appropriate as of the change to capsules.
This also works around a bug when tracing a small cylinder/box shape apparently introduced with bullet 2.86.
2017-02-10 02:00:52 +01:00
scrawl
67e4a7e37b
Change some osg::clone's to direct copy constructor to avoid dynamic_cast overhead
2017-02-09 04:51:20 +01:00
scrawl
3f3d00ffc9
Add CellPreloader::clear to avoid potential dangling CellStore pointer and to more aggressively clear preload state from a previous game
2017-02-09 04:03:38 +01:00
scrawl
0be86f69bc
Write the player object first to increase the chance of preloading the player cells in time
2017-02-09 03:55:10 +01:00
scrawl
1d8a9ff622
Preload player cell as soon as the player is read from the savegame
...
Giving the worker thread something to do while the rest of the savegame is parsed.
2017-02-09 03:47:36 +01:00
scrawl
d141b98f0c
Add base animations to preloadCommonAssets
2017-02-09 03:32:40 +01:00
scrawl
066aa2e60e
Always run preloadCommonAssets even when the menu is skipped
...
Move to before the content files are loaded so we can do preloading in parallel with content file loading
2017-02-09 03:16:36 +01:00
scrawl
c68f662c9a
Predict player movement when preloading cells to better handle moving at high speed
2017-02-09 01:34:42 +01:00
scrawl
a46593fa74
Add PreloadItem::abort() to avoid no longer required cells from blocking the work thread
2017-02-09 01:08:07 +01:00
scrawl
d62c4259bd
CellPreloader: load the terrain first to match the order in the main thread
2017-02-09 01:07:27 +01:00
scrawl
d1e86d22ca
Check which local map textures actually need to be updated
...
On a typical exterior cell transition, we'll save 3 of 9 map renders. When moving back and forth between 2 cells, we can even reuse 6 of 9.
2017-02-08 22:20:57 +01:00
scrawl
43d9f3d5c7
Update bullet debug drawer even when the game is paused so the collision mesh will show instantly even when the console is up
2017-02-08 18:53:24 +01:00
scrawl
249fe9077b
Handle 'tcb' command as an alias for 'tcg'
2017-02-08 18:51:07 +01:00
scrawl
206e2bf975
Fix camera rotation not being set after save game load (regressed with 1eb3384043
)
2017-02-08 04:42:15 +01:00
scrawl
35bb467c7a
Fix inverted setting of variable
2017-02-07 05:28:06 +01:00
Allofich
5d2090684a
Store mHitAttemptActorId in save files
2017-02-07 01:26:26 +09:00
Allofich
25c64dbb0f
Make combat engagement logic more like vanilla
...
(Fixes #2678 , Fixes #3705 )
2017-02-07 01:25:12 +09:00
scrawl
5a939418fc
Add missing avcodec_close ( Fixes #3741 )
2017-02-06 15:49:13 +01:00
scrawl
91939c4687
Switch actors to capsule shapes now that the jumping bug is gone ( Fixes #2116 , Fixes #2909 )
...
The culprit was - surprise, surprise - d39d4f2619
2017-02-06 05:40:49 +01:00
scrawl
03aa270551
Construct PhysicActor as on ground by default to avoid a jumping animation from playing in the first frame after a savegame load
2017-02-06 05:23:00 +01:00
scrawl
bc29a99a53
Fix broken timer
2017-02-06 05:10:40 +01:00
scrawl
d39d4f2619
Revert a problematic and performance costly workaround that should never have been applied and is no longer required as of the last commit.
2017-02-06 04:52:41 +01:00
scrawl
541fbb4792
Movement solver: add usage of 'on slope' flag to improve handling of steep slopes
...
Previously we were handling 'on slope' synonymously with 'in air' which caused some odd effects.
Practical changes:
- Sliding down a slope no longer applies fall damage.
- Fixed a climbing exploit that would allow climbing steep slopes with repeated use of the Jump function.
2017-02-06 04:50:58 +01:00
scrawl
cce42b6e9d
Don't create a CharacterController for objects with no animations
2017-02-06 03:43:08 +01:00
scrawl
fe0cf5be05
StatsWindow: don't rebuild all skill widgets when one skill changes
2017-02-06 02:40:35 +01:00
scrawl
e7b6ea4e3f
Add cycle weapon/spell actions to the list of controller actions ( Fixes #3613 )
2017-02-05 20:23:49 +01:00
scrawl
3065600a86
Skip expensive visitEffectSources call if no summoned creatures or summon effects are active
2017-02-05 02:26:28 +01:00
scrawl
ee4073541c
Animation: cache getVelocity()
2017-02-05 02:26:28 +01:00
scrawl
a2cede8f34
Add timer for updateEquippedLight
2017-02-05 02:26:28 +01:00
scrawl
1eb3384043
Avoid rotating by zero in CharacterController
2017-02-05 02:26:28 +01:00
scrawl
7201cf5fe2
ItemWidget: skip setImageTexture if the icon has not changed
2017-02-05 02:26:27 +01:00
scrawl
1447bfa215
Improve scene loading performance by creating collision objects with the correct rotation right away instead of adjusting it later
2017-02-04 15:12:01 +01:00
scrawl
884d306bf3
Throw exception when told to use 0 threads
2017-02-04 05:58:12 +01:00
scrawl
2db7292bcb
Add new setting for the number of preloading worker threads
...
If you have CPU cores to spare, consider setting 2 or 3. Up to about 3 threads, preloading performance seems to increase in a linear fashion, but with 4 or more threads I/O bottlenecks and synchronization overhead starts to show.
2017-02-04 02:59:28 +01:00
scrawl
eaeba4138b
Move the deletion of PreloadItem to the worker thread
2017-02-04 02:36:44 +01:00
scrawl
33e654f94d
Add explicit handling of most commonly used nodes to NodeVisitors to avoid excessive virtual function calls
2017-02-04 02:16:26 +01:00
scrawl
83a9435167
Fix unnecessary use of CopyFramebufferToTextureCallback when loading is too fast for a loading screen to be displayed
2017-02-03 23:39:39 +01:00
scrawl
767eba941f
Speed up finding of attachment node by using the cached nodeMap
2017-02-03 23:15:37 +01:00
scrawl
a76d693627
Speed up ControllerVisitor by skipping sub graphs that have no ChildrenRequiringUpdateTraversal()
2017-02-03 23:10:14 +01:00
scrawl
c58fc6d276
Improve performance of loading screen by not recomputing the bounding sphere of the entire scene after each loading step
2017-02-03 22:29:38 +01:00
scrawl
0be811c519
Update the resource cache every second instead of every frame
...
A dry run takes about ~1.5ms. Even though it's all done in the worker thread, the locks used can stall loading operations that are about to happen in other threads, and just in general this CPU load is unnecessary.
2017-02-03 03:44:30 +01:00
scrawl
6d8c414071
Set osgViewer ReleaseContextAtEndOfFrameHint to false for better performance when in SingleThreaded mode
...
The flag is normally set to off by default when using Viewer::run() - however since we're using our own frame loop, we have to unset the flag ourselves
2017-02-02 22:16:59 +01:00
scrawl
c5f8ff6e0e
Add names to several nodes for debugging purposes
2017-02-02 21:49:52 +01:00
scrawl
1808b8567e
Add 'small feature culling pixel size' setting specifically for water RTTs, by default set higher than the one in [Camera]
2017-02-01 06:00:14 +01:00
scrawl
fcb4129aee
Add 'small feature culling pixel size' setting
2017-02-01 06:00:14 +01:00
scrawl
960d4a96c3
Reduce the number of osg::Material state by setting the default state on the graph root
2017-02-01 06:00:14 +01:00
scrawl
34deb6e7b1
Add 'showSceneGraph' command to export the scene or a particular object to .osgt for debugging purposes
2017-02-01 06:00:14 +01:00
MiroslavR
d97e9cfe7e
Fix InterpreterContext::updatePtr updating mLocals to the implicit ref's locals when interpreting a targeted global script ( Fixes #3738 )
...
The interpreter context of a targeted global script would point to the target's locals instead of the global script instance's locals when the target changed cell during script execution. Credit to scrawl for the solution.
2017-01-29 13:29:53 +01:00
MiroslavR
c64351b3e8
ESS-import: player is no longer disabled (Bug #3246 )
2017-01-21 03:39:51 +01:00
scrawl
cc19b4bd8a
Fix door rotation order in collision case (Bug #3707 )
2017-01-19 02:19:44 +01:00
scrawl
45fb4f04b1
Update reference of the interpreter context when an Activate results in a take action ( Fixes #3727 )
2017-01-18 21:57:50 +01:00
scrawl
70c5f64caa
Fix mLocals not being updated in InterpreterContext::updatePtr
2017-01-18 21:55:58 +01:00
scrawl
c6822b9eb6
Merge pull request #1192 from damiel/water_refactor
...
Added refactoring of shader handling from visvalda's fog shader
2017-01-16 18:26:28 +01:00
Martin-Kevin Neumann
5a8efa1649
added refactoring of shader handling from visvalda's fog shader
2017-01-15 14:17:22 +01:00
NeveHanter
e82d542d89
Merge remote-tracking branch 'upstream/master' into bugfix-3617
2017-01-15 09:49:45 +01:00
NeveHanter
811e9ad9f3
Fixed bug https://bugs.openmw.org/issues/3617 by allowing touch and target enchantments from ranged weapons and their projectiles to explode even when colliding with non-activable objects, terrain, water slab or when shoot underwater.
...
Also allowed projectiles to fly through the dead bodies as in vanilla.
2017-01-15 09:49:25 +01:00
Allofich
f2240dde9c
Allow command spells to work when cast by AI on AI
...
(Fixes #3723 )
2017-01-15 01:56:22 +09:00
Allofich
e825010107
Apply command spell effects on impact
...
Command spells should apply their effects, including taking an actor out
of combat, every time a spell successfully hits, even if a previous
command effect is still active.
2017-01-15 01:53:22 +09:00
Allofich
a46c4de918
Stop combat when adding an AI package to an actor
...
(Fixes #3722 )
2017-01-15 01:53:22 +09:00
scrawl
b87abb0456
Reset activation flags when an object is copied ( Fixes #3671 , Fixes #3719 )
2017-01-14 15:29:36 +01:00
scrawl
69ce9f32bc
Activate/OnActivate fix (Bug #3712 )
2017-01-14 00:10:43 +01:00
scrawl
73aa07b81b
Merge pull request #1189 from Allofich/attack
...
Match best attack selection to vanilla behavior
2017-01-11 18:36:10 +01:00
Allofich
2322ab3125
Don't make Command spells cancel AI packages
...
(Fixes #3649 )
2017-01-12 00:07:22 +09:00
Allofich
c10585fb07
Match best attack selection to original MW
...
(Fixes #3721 )
2017-01-11 22:22:46 +09:00
MiroslavR
f1f9209814
Creatures now auto-equip shields ( Fixes #3704 )
2017-01-08 20:52:04 +01:00
Allofich
5e992a0342
Fix attempting to access NPC stats on creatures
2017-01-06 02:58:24 +09:00
Assumeru
1a073ca642
Fix teleportation being unreachable
2017-01-03 22:02:23 +01:00
Allofich
eee49b7ea7
Make dispel an instant effect again ( Fixes #3695 )
2017-01-02 17:35:50 +09:00
scrawl
80c008906b
Fix texture coordinates
2017-01-02 04:50:33 +01:00
scrawl
48a23d61b2
Mask out water in global map overlay
2017-01-02 04:01:04 +01:00
scrawl
7b5f3e3cdc
Fix crash in ProjectileManager when a sound id fails to play or is not found
2017-01-01 21:34:31 +01:00
scrawl
708009eac4
Merge pull request #1158 from logzero/move3
...
[RFC] Movement solver experiments
2017-01-01 20:44:41 +01:00
scrawl
212e85e810
Merge pull request #1174 from Allofich/combat
...
Adjustments to AI combat engaging and disengaging
2017-01-01 19:36:09 +01:00
scrawl
da3815f5a6
Merge pull request #1179 from Armada651/fix-audio-cutoff
...
OpenAL_Output: When a source is finished, rewind it instead of stopping it.
2017-01-01 19:13:32 +01:00
logzero
dbf0fa6766
Skip stepping if movement tracer hits actor.
2016-12-31 10:57:06 +01:00
Marc Zinnschlag
dedd95f52a
Merge remote-tracking branch 'miroslavr/save-cleanup'
2016-12-29 08:37:59 +01:00
Jules Blok
e9d8ff532f
OpenAL_Output: When a source is finished, rewind it instead of stopping it.
...
This works around a bug in the MacOS OpenAL implementation.
2016-12-29 01:03:13 +01:00
MiroslavR
c9dd63af8d
Merge pull request #1171 from NeveHanter/travel-followers-cost
...
Implemented "paying" for travelling followers
2016-12-26 22:34:39 +01:00
NeveHanter
8568cd049f
Removed "less" character from the documentation by the requested opportunity.
2016-12-26 21:46:43 +01:00
Allofich
54fa921dad
Change some AI combat engagements to not need LOS
2016-12-26 22:42:46 +09:00
Allofich
6fa0354a17
Make AI attack player also if it attacks follower
2016-12-26 22:42:45 +09:00
Allofich
5a6ea4e84e
Cleanup
2016-12-26 22:42:44 +09:00
Allofich
e10c4d8814
Stop combat between AI when canFight is false
2016-12-26 22:42:42 +09:00
Allofich
e8c7ad2f4b
Change environment check to canFight check
...
Instead of just checking that combatants are in compatible environments,
allow combat if in attack range using canFight. Together with previous
commit, fixes #3690 .
2016-12-26 02:14:01 +09:00
Allofich
588442b6cc
Make enemies start combat with player followers
...
Recreates vanilla behavior of enemies starting combat with player
followers and escorters. (Fixes #3691 )
2016-12-26 02:13:54 +09:00
logzero
a5360483bb
Back off slightly when we are touching something.
...
This can reduce the amount of movement solver failures significantly.
I've observed a drop of 8 iteration cases by almost factor of ten.
2016-12-25 15:34:43 +01:00
logzero
00f3bfba27
Use tracer hit height to skip stepping up in movement solver.
2016-12-24 23:07:44 +01:00
logzero
ab1724d3db
Compare new velocity to the original velocity.
...
Using old velocity seems awkward,
probably a copypaste/refactoring bug.
2016-12-24 12:38:23 +01:00
logzero
e58de5e410
Remove superfluous velocity reflection in movement solver.
...
The slide projection negates the reflection effect.
Just to be sure I've compared the resulting vectors
with and without reflection at runtime.
2016-12-24 12:29:09 +01:00
NeveHanter
ff4aba2a6e
Moved duplicated code to common ActionTeleport static method and reordered travel price calculations
2016-12-23 21:27:29 +01:00
MiroslavR
5f234f8952
Dialogue: "PC Rank" condition now uses speaker's faction if "PC Faction" is not given ( Fixes #3689 )
2016-12-23 19:03:59 +01:00
MiroslavR
87fd011a28
Clean-up saves by dropping references with invalid RefNums ( Fixes #1956 )
2016-12-22 20:48:58 +01:00
scrawl
cf496287f7
Silence static analysis warnings
2016-12-22 14:43:54 +01:00
logzero
50fd913058
Refactor stepMove function into a Stepper object
...
to be able to reuse up stepper results
for successive movement solver iterations.
This can reduce the number of convex casts
almost by half in some cases.
2016-12-21 19:02:42 +01:00
logzero
4f6e65e481
Apply sliding upward check to new velocity.
...
This helps to capture the case where new velocity
only differs in the z component (normal pointing up).
TODO: Find a better way to handle the normal pointing up case.
2016-12-21 19:02:42 +01:00
logzero
0b08802910
Integrate MinStep move attempt into stepMove.
...
This can save 1 to 3 convex casts per iteration.
2016-12-21 19:02:41 +01:00
logzero
25a0219e4d
Use cosine of max slope angle for walkable slope checks in movement solver.
2016-12-21 19:02:41 +01:00
logzero
561e0cbbf9
Use squared length for distance checks in movement solver.
2016-12-21 19:02:40 +01:00
scrawl
dc1f788cff
Use osg::PI over M_PI
2016-12-21 16:49:37 +01:00
NeveHanter
15cd3c178b
Clamp price multiplication to 1, as it resulted in player alone traveling at no fee.
2016-12-20 21:23:55 +01:00
NeveHanter
8902bb5b13
Player now pays for the following actors when travelling, with the exception of the first follower who travels for free, refactored getFollowers to getActorsFollowing/getActorsSidingWith
2016-12-20 12:38:51 +01:00
scrawl
6140768783
Enable waterCollision after moving the player above water ( Fixes #3672 )
2016-12-17 23:21:33 +01:00
Aussiemon
2f66b91ac5
Added check to prevent attempted wandering of empty paths
2016-12-16 15:18:28 -07:00
scrawl
913a8fe1bd
Merge pull request #1160 from Aussiemon/actorupdatecollision
...
[Do not merge yet] Added check before attempting to remove actor's collision object
2016-12-16 20:46:00 +01:00
Aussiemon
b794aa7c2f
Helper methods for updateCollisionMask(), prevent water collision being removed twice, remove Bullet 2.8.5 methods
2016-12-16 12:22:07 -07:00
scrawl
f8690dcd20
Set the drag-and-drop state after initiating the drag, not before ( Fixes #3134 )
2016-12-16 20:16:59 +01:00
scrawl
cca75499ee
Clear the Skeleton's bone cache when a node is added/removed ( Fixes #3663 )
2016-12-16 20:09:20 +01:00
Leon Krieg
12c8c3276a
Disable NPC collision only when death animation has finished ( #3666 )
2016-12-15 19:33:14 +01:00
Leon Krieg
739cd5ba45
Fixed more spelling mistakes
2016-12-15 13:09:40 +01:00
Aussiemon
7c2a088b34
Added check before removing water collision object from world
2016-12-14 20:13:23 -07:00
Aussiemon
e30dfb13d3
Added check before attempting to remove actor's collision object from world
2016-12-14 19:05:30 -07:00
Leon Krieg
c7b4b2cdd7
Fixed multiple spelling mistakes
2016-12-14 16:39:33 +01:00
scrawl
8bdd5d1131
Merge pull request #1151 from Aussiemon/projectilelightsfix
...
Update to implementation of projectile lights
2016-12-14 14:33:09 +01:00
mrohrlach
71e74f5a93
Moved projectile light calculation to separate method
2016-12-13 18:04:20 -07:00
MiroslavR
76ee5845ac
Fix swish sound ID and play swish sound effects for all creatures ( Fixes #3653 )
2016-12-11 19:35:53 +01:00
MiroslavR
8c97ac269d
Remove item shadows properly ( Fixes #3652 )
2016-12-10 22:22:41 +01:00
mrohrlach
f0f78c9d64
Slight adjustments to disintegration fix
2016-12-09 19:55:26 -07:00
mrohrlach
9624d8aade
Added new method and variable to track float remainders of disintegration effections
2016-12-09 19:48:56 -07:00
mrohrlach
f5da179a90
Removed two more bad casts
2016-12-09 18:15:40 -07:00
mrohrlach
3b0c791892
Removed bad casts and unnecessary comments
2016-12-09 18:10:06 -07:00
scrawl
876d9c6a84
Merge pull request #1148 from Allofich/aicombat
...
Require line of sight for AI attacks
2016-12-06 20:02:39 +01:00
Allofich
a6dae51d87
Require line of sight for AI attacks ( Fixes #3646 )
2016-12-07 01:35:30 +09:00
Allofich
6816e935f1
Fix fortify maximum magicka expiration ( Fixes #3648 )
2016-12-06 21:00:03 +09:00
mrohrlach
c2e5f24e98
Tidying up
2016-12-04 16:31:11 -07:00
mrohrlach
ef5cf76ad8
Implemented retrieval of effect colors for lights, made recommended changes
2016-12-04 16:11:21 -07:00
mrohrlach
e1deb8b1d4
Merge branch 'master' of https://github.com/openmw/openmw
2016-12-04 16:09:22 -07:00
mrohrlach
3816d0f6dc
Changed light values to better match vanilla. Still need to pull diffusion properties from spells
2016-12-03 19:44:52 -07:00
mrohrlach
099e79edbe
Changed a line that did not need to be changed apparently
2016-12-03 19:12:25 -07:00
mrohrlach
61097d93b9
Replaced tabs with spaces (oops)
2016-12-03 19:09:03 -07:00
mrohrlach
49ce80346c
Changed methods slightly to ensure non-magic projectiles do not receive lights
2016-12-03 15:42:24 -07:00
mrohrlach
83945cf280
Added reasonable approximation of magic bolt lights
2016-12-03 15:24:21 -07:00
Kurnevsky Evgeny
28639c3b2f
Crash fix when item is disabled before it casts spell.
2016-12-03 17:13:31 +03:00
scrawl
908cc699ce
Merge pull request #1141 from MiroslavR/water-sounds
...
Implement water sounds
2016-12-02 14:40:22 +01:00
scrawl
e0afd6d0f7
Movement solver: performance improvement for the minimum stepping distance check, no need to waste time doing a second stepMove if we did not hit a slope or the step was already large enough to begin with.
2016-12-02 02:25:05 +01:00
MiroslavR
c34d85ffc2
Implement water sounds ( Closes #451 )
2016-11-28 21:34:58 +01:00
ShadowRadiance
354a89e3bc
Slowfall now reduces momentum based on magnitude when jumping
...
(Allows Constant Effect Slowfall to work as in MW)
2016-11-26 06:27:11 -05:00
scrawl
5297d7b5be
Merge pull request #1137 from nikolaykasyanov/osx-structure
...
[macOS] Move all resources files inside application bundles (fixes #3566 )
2016-11-25 02:51:32 +01:00
Nikolay Kasyanov
ea888519c7
[macOS] Set OpenMW working dir to <bundle>/Contents/MacOS
2016-11-23 22:32:54 +01:00