scrawl
11f00e3aa9
Rename safePlaceObject to placeObject
2016-02-29 17:05:18 +01:00
scrawl
c3ef387208
Vanilla-compatible creature/NPC respawning ( Fixes #2369 , Fixes #2467 )
2016-02-27 12:53:07 +01:00
scrawl
a97eae864d
Fix the ObstacleCheck time step ( Fixes #3211 )
2016-02-26 13:15:41 +01:00
scrawl
d05603c7fe
Directly apply On Target 'When Strikes' enchantments instead of launching a projectile ( Fixes #3212 )
2016-02-22 19:42:54 +01:00
scrawl
90a99991d1
Use empty() instead of !size()
2016-02-22 19:06:12 +01:00
scrawl
8bd16e4d5a
Don't compute the world matrix multiple times
2016-02-22 18:58:19 +01:00
scrawl
c4d38bb42d
Fix clang analyzer warnings
2016-02-16 19:17:04 +01:00
scrawl
48ac0bef3e
Repair save games affected by bug #3080 ( Fixes #3160 )
2016-02-11 16:34:02 +01:00
scrawl
a7b217def2
AI: don't cast fortify effects ( Fixes #3184 )
2016-02-07 01:29:11 +01:00
scrawl
162287b82d
AI combat actions: rename 'target' to 'enemy'
2016-02-07 01:29:11 +01:00
scrawl
94c05c6baa
AI: don't cast useless resist spells ( Fixes #2760 )
2016-02-07 01:29:02 +01:00
scrawl
d3415387a5
AI: take into account success chance when rating a spell
2016-02-07 01:18:20 +01:00
scrawl
b9d1d6144a
Don't reveal unknown potion effects in alchemy window ( Fixes #3146 )
2016-02-02 22:50:11 +01:00
scrawl
d3b76b7006
Don't stack Ai packages ( Fixes #3101 , Fixes #3080 , Fixes #2697 )
2016-02-02 22:20:56 +01:00
scrawl
7aeafd3bb9
Revert "Apply the AiTravel maxRange to AiEscort as well ( Fixes #2697 )"
...
This reverts commit 1f543b4d79
.
2016-02-02 22:08:12 +01:00
scrawl
145756c0a1
Partly revert "Avoid directly iterating the actor map ( Fixes #3173 )"
...
Caused issues when a summoned creature is removed as part of the magic effect update.
Fixes #3178
2016-02-02 15:57:15 +01:00
scrawl
59d2de118f
Avoid directly iterating the actor map ( Fixes #3173 )
2016-02-02 00:50:21 +01:00
scrawl
50ed061154
AiWander: reset mAllowedNodes on cell change ( Fixes #3176 , Fixes #3130 )
2016-02-02 00:41:40 +01:00
scrawl
dda4273349
Actors that start the game as dead do not float to the surface ( Fixes #3177 )
...
This has a minor bug (can you spot it?) that affects the vanilla engine as well, unfortunately not so simple to fix.
2016-02-01 23:18:18 +01:00
scrawl
832eaae27b
Do not apply effects with CasterLinked flag when there is no valid caster
2016-02-01 22:57:08 +01:00
scrawl
c34314ae26
When an actor dies purge all spell effects cast by that actor ( Fixes #3175 )
2016-02-01 22:52:28 +01:00
Tobias Kortkamp
0659687bfb
Some fixes for building on FreeBSD
2016-01-25 14:13:16 +01:00
scrawl
b0431833a1
Fix some defects reported by Coverity CI
2016-01-21 16:08:04 +01:00
mrcheko
b304e98568
implement ActionWeapon::getCombatRange (move logic from AiCombat)
2016-01-15 21:49:27 +03:00
scrawl
4e6a60672d
When a spell explodes on an actor do not apply it to that actor twice ( Fixes #3142 )
2016-01-12 00:40:09 +01:00
scrawl
daa94cc50e
Fix cppcheck warnings
2016-01-03 20:19:38 +01:00
mrcheko
bcb1f4ed05
refactor AiCombat: remove all pathfinding code, adopt new version of
...
AiPackage::pathTo;
fix couple of warnings;
2016-01-03 15:33:52 +03:00
Poncho
b1020dcd42
Use correct direction multipliers during awareness check
2016-01-02 12:24:39 -06:00
mrcheko
b960b0af93
rewrite pathTo for clearer logic; reapply Scrawl's aifollow threshold
2016-01-01 16:41:45 +03:00
mrcheko
d7d5cc6689
Merge remote-tracking branch 'upstream/master' into pathfinding
...
Conflicts:
apps/openmw/mwmechanics/aicombat.cpp
apps/openmw/mwmechanics/aifollow.cpp
apps/openmw/mwmechanics/aipackage.cpp
apps/openmw/mwmechanics/aipackage.hpp
apps/openmw/mwmechanics/aiwander.cpp
apps/openmw/mwmechanics/pathfinding.hpp
Ogre::Vector3->osg::Vec3f; REACTION_INTERVAL->AI_REACTION_TIME; MakeOgreVec3->MakeOsgVec3
2015-12-29 19:15:40 +03:00
scrawl
63b9b075aa
Do not allow soul trapping the same creature more than once ( Fixes #3102 )
2015-12-26 18:47:22 +01:00
scrawl
0bec6e5fbe
Fix 'failed to find animation' warnings when a spell was equipped before the werewolf transformation
2015-12-26 18:45:09 +01:00
scrawl
6b67911658
Unset DrawState_Spell when becoming a werewolf
2015-12-26 18:26:55 +01:00
scrawl
f052c05018
Move werewolf functions from World to MechanicsManager
2015-12-26 18:23:13 +01:00
scrawl
29d0f448b4
Add const version of World::getAnimation
2015-12-19 16:15:45 +01:00
scrawl
51c77c5045
Accept a ConstPtr in getDoorState
2015-12-19 16:15:45 +01:00
scrawl
53f4b92426
AiEscort do not follow target through doors
...
Testing revealed a problem where the guard on the prison ship would incorrectly follow the player outside. Upon further investigation in vanilla MW, it appears that with AiEscort the actor only follows the target through doors once the AiEscort package has completed, *and* no new AI package is running yet.
2015-12-19 15:15:44 +01:00
scrawl
04f7a8f8eb
Remove redundant getId function
2015-12-18 16:58:38 +01:00
scrawl
b2add6470b
Missing include fix
2015-12-18 02:58:38 +01:00
scrawl
1c8244276d
Exception handling improvements (Bug #3090 )
2015-12-18 02:36:34 +01:00
scrawl
689dea4cb3
Add instant spell effects to the actor's magic effect list
...
Via http://forum.openmw.org/viewtopic.php?f=2&t=3212&start=20#p36208
2015-12-17 19:49:37 +01:00
scrawl
375caf037d
Don't applyInstantEffect when magnitude is zero
2015-12-15 20:46:05 +01:00
scrawl
4af376133b
Don't tick effects when duration is zero
2015-12-15 20:41:00 +01:00
scrawl
572786bff2
Instant effects that were added by a permanent ability are applied every frame
...
Via http://forum.openmw.org/viewtopic.php?f=2&t=3212&p=36120#p36121
2015-12-14 03:27:49 +01:00
scrawl
a7e0562e1c
Fix improper handling of multiple AiFollow packages with the same target ( Fixes #3077 )
2015-12-13 17:42:11 +01:00
scrawl
f1f82af64e
Fix improper swimming animations in first person mode
2015-12-11 01:24:42 +01:00
scrawl
bdae572264
Merge pull request #840 from scrawl/movedrefs
...
Object movement between cells
2015-12-09 14:10:57 +01:00
scrawl
6f98982bc2
Make sure that health is >= 1 when resurrecting the player ( Fixes #2972 )
2015-12-09 01:52:20 +01:00
scrawl
34f48d63f3
Apply spell absorption once per effect ( Fixes #2942 )
2015-12-09 00:35:54 +01:00
scrawl
07b064f616
Rename to lowerCaseInPlace
2015-12-07 22:49:15 +01:00
scrawl
1875aa4a18
Restore getNearbyDoor
2015-12-07 03:53:46 +01:00
scrawl
1f543b4d79
Apply the AiTravel maxRange to AiEscort as well ( Fixes #2697 )
2015-12-07 00:26:17 +01:00
scrawl
965bea45c0
AiEscort makes the actor side with target in fights (Bug #2697 )
...
Also will follow the player through teleport doors.
2015-12-06 23:38:51 +01:00
scrawl
4e678ce6b3
Handle mCellId in AiEscort
2015-12-06 23:38:51 +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
14b143231c
Don't crash OpGetTarget when the target disappeared ( Fixes #3048 )
2015-11-30 15:26:43 +01:00
Marc Zinnschlag
ff5582e318
Merge remote-tracking branch 'scrawl/ltex'
2015-11-28 09:51:57 +01:00
scrawl
5b8fd79b4b
Fix crash when exception is thrown in startNewGame()
2015-11-27 21:38:57 +01:00
Chris Robinson
5f8a09df97
Play player sounds (except footsteps) local to the listener
2015-11-27 02:01:18 -08:00
Marc Zinnschlag
7cc950ed64
Merge remote-tracking branch 'origin/master'
2015-11-27 10:34:22 +01:00
scrawl
44dd62067e
Remove some unnecessary per-frame store searches
2015-11-27 02:13:56 +01:00
scrawl
783594033a
Optimize MWMechanics::Spells
...
Use pointers as map keys instead of string IDs. Resolves a nasty performance bottleneck on functions like hasCommonDisease() that previously had to look up all contained spells from the ESM store on every call. hasCommonDisease() is called hundreds of times per frame by the AI target update since it's used to calculate target disposition.
The total cost of hasCommonDisease() was 2.7% of the frame loop, now it's negligible.
2015-11-27 01:07:15 +01:00
Chris Robinson
73448c72f6
Replace Play_NoTrack with playManualSound3D, and rename the latter
2015-11-25 04:24:26 -08:00
scrawl
62169a7039
Use a single-precision PositionAttitudeTransform in speed critical places
2015-11-22 19:54:26 +01:00
scrawl
3453353091
AiCombat distance check takes into account collision box ( Fixes #1699 )
2015-11-18 19:00:43 +01:00
scrawl
666fbba1e0
Rotations: World::rotateObject takes radians instead of degrees
...
Cuts down on the amount of redundant degree<->radians conversions in the codebase.
2015-11-12 01:09:39 +01:00
scrawl
6405049add
Rotations: move doors via Rotation rather than LocalRotation
...
Now LocalRotation is unneeded, will remove in next commit.
2015-11-12 00:58:29 +01:00
scrawl
637cd3a628
Adjust the FirstPersonNeckController to follow the camera with a reduced factor ( Fixes #1784 )
2015-11-10 01:01:41 +01:00
scrawl
3c338b9da9
ObstacleCheck: tweak the stuck detection parameters
...
The netch_betty wander animation starts up so slowly that the creature thought it was stuck, even though it's not.
2015-11-09 20:35:31 +01:00
scrawl
d233bc483d
ObstacleCheck: fix evasion issue
...
The check if (samePosition... would not work as intended because actors do not move in every frame when the framerate is higher than the physics framerate. In that case the actor would change its evasion direction almost every frame.
2015-11-09 20:35:31 +01:00
scrawl
caa523a959
ObstacleCheck: fix the framerate not being taken into account
2015-11-09 20:35:31 +01:00
scrawl
801dc8eee3
ObstacleCheck: fix weird distance calculation
2015-11-09 20:17:21 +01:00
scrawl
c996702b56
Fix some uninitialised variables found by static analysis
2015-11-04 20:34:50 +01:00
scrawl
46e07e4b19
Head tracking: fall back to target collision box center if the target has no head node
2015-11-03 18:27:15 +01:00
scrawl
b72d5c5190
Don't play idlestorm animation when swimming
2015-11-03 17:48:35 +01:00
scrawl
8459a79a2c
Fix AI being able to open locked doors ( Fixes #2948 )
2015-10-13 19:05:17 +02:00
Marc Zinnschlag
7e7215b3b3
Merge remote-tracking branch 'scrawl/master'
2015-10-07 08:09:27 +02:00
scrawl
7b6fe149f2
getSpellSuccessChance return 0 for used powers ( Fixes #2944 )
2015-10-05 15:41:43 +02:00
scrawl
77cb438714
Fix potential case smashing issue
2015-10-05 15:41:07 +02:00
artemutin@yandex.ru
ec4fff588d
uncomment updateActor call in buildPlayer for magicka recalc
2015-10-05 23:07:13 +10:00
scrawl
387624e158
Add a threshold to AiFollow distance
...
Idle animations can move the actor around slightly, which sometimes causes AiFollow to constantly toggle between "arrived" and "following" state even when the player isn't moving. Could be observed by summoning a bonelord.
2015-09-26 02:02:50 +02:00
Alexander "Ace" Olofsson
7d4125d97f
Fixes for building with unity build
2015-09-24 15:21:42 +02:00
dteviot
60d0ad9283
When stuck, try moving backwards as well as to side.
2015-09-19 16:14:00 +12:00
dteviot
5369d20682
Moved pathfinding logic from AiCombat to Pathfinding.
2015-09-19 15:34:02 +12:00
Marc Zinnschlag
b58a63e14e
Merge remote-tracking branch 'scrawl/deathanim'
2015-09-17 14:54:29 +02:00
Marc Zinnschlag
96880b4dfe
Merge remote-tracking branch 'scrawl/tabs'
2015-09-17 09:30:31 +02:00
Marc Zinnschlag
c35ce88ee7
Merge remote-tracking branch 'scrawl/aiming'
2015-09-17 09:25:33 +02:00
scrawl
a7f898057b
Don't activate the initial death animation when skipAnim is set ( Fixes #2513 )
2015-09-17 04:38:42 +02:00
scrawl
c4b5a41ac3
Improve combat AI vertical aiming ( Fixes #1366 , Fixes #1330 )
2015-09-17 03:41:15 +02:00
scrawl
a47617c21f
Fix tab indentations in apps/ and components/
2015-09-16 20:45:37 +02:00
scrawl
126960261f
Keep playing IdleSneak on the lower body when casting spells / using weapons
2015-09-16 16:14:17 +02:00
scrawl
5692ef1eae
Add convenience operator [] to AnimPriority
2015-09-16 15:43:42 +02:00
scrawl
84747fbdd7
Use the actual sneak state to determine visibility of indicator ( Fixes #2915 )
2015-09-16 15:37:36 +02:00
dteviot
0feae19140
AiCombat use evadeObstacles() from AiPackage.
2015-09-14 19:57:22 +12:00
dteviot
8e2fe1985d
Fixed errors pointed out by Zini.
...
1. Removed "Actor" from name of function isActorNearInactiveCell().
2. Corrected case of CoordinateConverter member function names.
2015-09-12 14:17:46 +12:00
dteviot
10eabc9d51
actorutil.hpp includes mwworld/ptr.hpp
...
As pointed out by Scrawl, fixes compiler error if getPlayer() is called before MWWorld::Ptr is defined, because getPlayer() returns a Ptr by value.
2015-09-11 18:43:06 +12:00
dteviot
6f97187bb6
Fix travis warning about no newline at end of file.
2015-09-10 22:26:33 +12:00
dteviot
573a14993a
Moved isActorNearInactiveCell() logic to own function.
...
Also, triggers when actor is near edge of cell, not when less than 1/2 way to edge.
2015-09-10 21:53:31 +12:00
dteviot
e9c796166a
Added MWMechanics::isPlayerInCombat()
2015-09-10 18:48:34 +12:00
dteviot
96e3933ee9
Fixed bug in smoothTurn()
...
Now correctly handles changing direction from 178 to -178 degrees.
2015-09-06 17:39:48 +12:00
dteviot
1dfe438a5d
reduce "reset if stuck" AiWander timeout.
...
Now is about 14 seconds, instead of 300.
2015-08-30 16:43:35 +12:00
dteviot
39c2ba8efe
Pathfinding bugfix.
...
Observed at Ebonheart (coe 1, -13). Especially at the western tower. Guards try to walk though tower door.
Cause: buildPath() adds destination (even when unreachable) when only using single node from pathgrid.
2015-08-30 16:12:51 +12:00
dteviot
f2c9b9351f
Try going right and left to "unstick" actor.
2015-08-30 10:06:09 +12:00
dteviot
31d82b6b0c
Unifiy evadeObstacles() logic between AiWander and AiPackage
...
Can't use same code, but logic is now same.
2015-08-30 08:32:47 +12:00
dteviot
f59e918a3b
removed useless code.
...
zTurn ignores turns < 0.0087 radians.
2015-08-29 17:34:33 +12:00
dteviot
0677799839
movement logic in AiPackage uses ObstacleCheck.
2015-08-29 17:21:18 +12:00
Marc Zinnschlag
a52b947efe
Merge remote-tracking branch 'dteviot/MagicEffectsRefactorDraft3'
2015-08-23 12:11:30 +02:00
Marc Zinnschlag
50ec8b10f5
Merge remote-tracking branch 'dteviot/Bug2871'
2015-08-22 10:37:43 +02:00
dteviot
5dd0ad6841
Fixed rest of travis errors.
2015-08-21 22:41:31 +12:00
dteviot
77a1d947cc
extracted MWMechanics::getPlayer()
2015-08-21 21:12:39 +12:00
dteviot
85bc41dedb
replaced FLT_MAX with numeric_limits.
2015-08-21 19:34:28 +12:00
dteviot
3b231b85bb
removed incorrect optimization.
...
Now it fixes #2871
2015-08-21 06:55:54 +12:00
Marc Zinnschlag
08325d14ca
Merge remote-tracking branch 'dteviot/Bug2871'
2015-08-20 20:42:35 +02:00
Marc Zinnschlag
5cb0353b5c
Merge remote-tracking branch 'jeffreyhaines/npcsdontscream'
2015-08-20 20:28:36 +02:00
dteviot
c0d3804b4f
Correctly handle disjoint pathgrid ( Fixes #2871 )
...
Bugfix:
When
1. Cell has multiple subgrids (i.e. path grid is disjoint)
2. Distance between destination and pathgrid point 0 is less than distance to points of subgrid closest to start point
Then getClosestReachablePoint() returns pathgrid point 0 as the end point.
This is invalid, this end point cannot be reached from the start point.
2015-08-20 21:50:58 +12:00
dteviot
0ee7407101
extracted common sub-expressions.
2015-08-20 18:17:02 +12:00
dteviot
ff5ef7055e
extracted function CreatureStats::isParalyzed()
2015-08-20 18:12:37 +12:00
Marc Zinnschlag
9918b57341
Merge remote-tracking branch 'origin/master'
2015-08-19 16:03:01 +02:00
Jeffrey Haines
e1baf1ea48
NPCs scream when they die
2015-08-19 09:51:04 -04:00
scrawl
232dfdc07e
Make an error message slightly more helpful
2015-08-19 01:24:54 +02: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
dca08b0b42
Remove a firing assert ( Fixes #2871 )
2015-08-18 14:51:32 +02:00
Marc Zinnschlag
3992125b61
Merge remote-tracking branch 'scrawl/master'
2015-08-17 14:05:51 +02:00
Marc Zinnschlag
dc72b24f4e
Merge remote-tracking branch 'dteviot/PathfindingRefactorDraft'
2015-08-17 14:04:56 +02:00
Jordan Ayers
be7bd9529d
Classes shouldn't use MWBase::Environment to access their own members.
2015-08-16 16:56:44 -05:00
dteviot
4d9d8a060d
Pathing bugfix.
...
When path contains one one point from path grid, point is no longer being discarded.
2015-08-16 18:56:28 +12:00
dteviot
942a987d52
centralize the world/cell coordinate conversion logic.
2015-08-16 18:55:02 +12:00
dteviot
5049c9ab6a
removed unnecessary tests.
2015-08-16 17:41:33 +12:00
scrawl
8241976368
Don't attempt to play non-existing hit animations ( Fixes #2856 )
2015-08-15 23:27:37 +02:00
scrawl
d76fb2d266
Apply disintegrate only to weapons and armor ( Fixes #2853 )
2015-08-14 13:38:39 +02:00
Marc Zinnschlag
5aeabe22f0
Merge remote-tracking branch 'dteviot/PathfindingRefactor'
2015-08-14 10:13:04 +02:00
scrawl
1e18a73b1c
Don't play magic effect sounds & visual effects for unsuitable targets ( Fixes #2811 )
2015-08-13 17:08:21 +02:00
scrawl
211deeb63e
Don't attempt to lock or unlock unsuitable objects ( Fixes #2826 )
2015-08-13 17:08:21 +02:00
dteviot
55e3aaaa35
made variable const.
2015-08-10 20:30:43 +12:00
dteviot
e42a2478dc
Removed tests that are not necessary.
2015-08-09 17:58:40 +12:00
dteviot
2b9e22f593
extracted function stopAttack().
2015-08-09 14:29:38 +12:00
dteviot
0884a3796f
extracted function isTargetMagicallyHidden().
2015-08-09 14:20:55 +12:00
dteviot
038851420d
Removed unneeded temp variables.
...
Corrected case of function names.
2015-08-09 14:18:55 +12:00
dteviot
50ddcd1953
more attack logic moved into AiCombatStorage.
2015-08-09 14:10:08 +12:00
dteviot
0735e3e06e
move start attack logic to AiCombatStorage.
...
Basically, copied from mrchenko's 1d4be08f6e4c2dbd89cc0c3408a8231ee4497277
2015-08-09 14:08:42 +12:00
dteviot
1676bf917e
CombatMove logic moved into AiCombatStorage.
...
Basically, copied from mrcheko's 1d4be08f6e4c2dbd89cc0c3408a8231ee4497277
2015-08-09 14:06:52 +12:00
Marc Zinnschlag
d29862eac3
Merge remote-tracking branch 'emperorarthur/anim_fail'
2015-08-08 10:47:46 +02:00
dteviot
58f732ebc9
Update path following checks each frame in AiCombat.
2015-08-04 18:20:05 +12:00
dteviot
ad9bab0b68
Removed redundant if.
2015-08-04 18:17:08 +12:00
dteviot
4256e151b1
Fixed error in deciding type of attack
2015-08-04 18:15:58 +12:00
dteviot
21e249cb92
pass parameters as const &
2015-08-04 18:14:36 +12:00
Arthur Moore
08d5aaf0fc
Remove more comments
2015-07-31 18:23:07 -04:00
Arthur Moore
6fce49bfb5
Don't warn twice when unable to play an idle animation
2015-07-31 18:01:02 -04:00
Arthur Moore
61c3835637
Don't try to play animations we know are bad
...
Prevents log spam
2015-07-31 18:01:02 -04:00
scrawl
7644a46ded
Creatures with no movement should not attempt to start combat ( Fixes #2786 )
2015-07-31 01:26:26 +02:00
scrawl
f326b8e5d2
Fix weapon animations playing on the lowerbody when swimming
2015-07-31 00:52:34 +02:00
scrawl
e8cbdcfb1e
Play swimming animation fallback on the upper body when possible
2015-07-31 00:35:41 +02:00
Arthur Moore
5ea596f38d
Refactor onChooseActionStatePerFrameActions
...
This prevents playIdle errors from tyring to play idleAnimation 0
2015-07-30 08:15:45 -04:00
Arthur Moore
f69de1f263
Alert the user if trying to play a non-idle animation
...
Continue to propagate success/failure up the call stack.
2015-07-30 08:08:58 -04:00
Arthur Moore
5e6fcc2aef
Alert the user if attempting to play an animation fails
...
This is mostly propogating the error up the stack so the game can do something about it.
Working on avoiding log spam from calling an animation that doesn't exist every frame.
2015-07-30 08:00:26 -04:00
Marc Zinnschlag
26ea3aa1ad
Merge remote-tracking branch 'dteviot/refactoringAiWander'
2015-07-30 10:26:40 +02:00
dteviot
04aee1fe20
extracted function reactionTimeActions().
2015-07-26 17:32:29 +12:00
dteviot
c7aacaee70
extracted function returnToStartLocation().
2015-07-26 17:29:32 +12:00
dteviot
5e519ef550
extract function isPackageFinished().
2015-07-26 17:29:01 +12:00
dteviot
ad0d807103
extracted function reactionTimeActions().
2015-07-26 17:28:32 +12:00
dteviot
9c0e3d6c28
extracted functions doPerFrameActionsForState() and onChooseActionStatePerFrameActions().
2015-07-26 17:25:44 +12:00
dteviot
76f95eafe7
extract function onWalkingStatePerFrameActions().
2015-07-26 17:25:00 +12:00
dteviot
5ec310dfba
extract function onIdleStatePerFrameActions().
2015-07-26 17:24:33 +12:00
dteviot
b3d5b47fea
extracted function UpdateActorsMovement().
2015-07-26 17:23:45 +12:00
scrawl
dff84adf7e
Fix weapon animation priority
2015-07-26 01:35:36 +02:00
dteviot
aba7225817
Removed some duplicated operations.
2015-07-26 11:15:21 +12:00
scrawl
41996b0aad
Don't play turning animations in first person mode
2015-07-25 18:59:16 +02:00
scrawl
e0ee2fc01b
Adjust the movement animation speed every frame ( Fixes #1921 )
2015-07-25 18:22:48 +02:00
scrawl
278076e609
Include cleanup
2015-07-25 04:14:22 +02:00
scrawl
b3f5ac5dbb
Include cleanup
2015-07-25 02:11:49 +02:00
scrawl
e6b28d84f0
Outdated comment fix
2015-07-25 00:28:47 +02:00
scrawl
7f66339790
Remove a redundant function
2015-07-24 20:23:27 +02:00
scrawl
8286dc6c5a
Player followers don't report crimes ( Fixes #2457 )
2015-07-23 02:29:09 +02:00
Marc Zinnschlag
f3d3cbc58b
Merge remote-tracking branch 'dteviot/refactoringAiWander'
2015-07-20 09:57:46 +02:00
dteviot
2a4d35b98c
fixed "comma at end of enumerator list" warning.
2015-07-20 18:20:57 +12:00
Marc Zinnschlag
9b3d5c958f
Merge remote-tracking branch 'scrawl/music'
2015-07-19 11:49:00 +02:00
dteviot
00eef585af
renamed mPlayedIdle to mIdleAnimation.
2015-07-19 18:04:42 +12:00
dteviot
22f49128cc
replaced multiple booleans with single state variable.
2015-07-19 18:02:13 +12:00
dteviot
1ed6e95c07
Got rid of some radians to degrees to radians conversions.
2015-07-19 18:01:25 +12:00
dteviot
3ebe9fb34f
renamed mRotate to mTurnActorGivingGreetingToFacePlayer
2015-07-19 18:00:49 +12:00
scrawl
b01abe4d19
Stop title music when the game starts ( Fixes #2468 )
2015-07-19 02:08:24 +02:00
scrawl
278a078e9d
Unify magic effect tick functions
...
- Removes duplicated code
- Handle some zero-duration instant effects that were not handled before (disintegrate, sun damage, elemental damage)
2015-07-18 20:39:45 +02:00
scrawl
77f1387da8
Include cleanup
2015-07-18 20:36:28 +02:00
scrawl
111cf5462b
Merge pull request #666 from scrawl/animation
...
Animation refactoring & fixes
2015-07-18 13:33:41 +02:00
Jiří Kuneš
72728b9c01
disable cusor when item/container is owned
2015-07-17 16:32:35 +02:00
scrawl
660e7f5d89
Don't update animation states in skipAnim mode ( Fixes #2782 )
2015-07-17 03:28:17 +02:00
scrawl
cc59493cb2
Don't restart the jump animation when equipping a different weapon ( Fixes #2286 )
2015-07-16 20:03:16 +02:00
scrawl
b5c79738f1
Fix enchantments casting more than once per button press, broken by a1432b0255
2015-07-16 19:56:09 +02:00
scrawl
17ada63fcb
Don't play turning animations on the upperbody when in first person mode ( Fixes #2287 )
2015-07-15 16:43:11 +02:00
scrawl
83cceeee72
Use the extended animation priority for Block animations, allow starting attacks during a block animation ( Fixes #2761 )
2015-07-15 16:43:11 +02:00
scrawl
cf14d1748c
Use the extended animation priority for Hit animations
2015-07-15 16:33:10 +02:00
scrawl
50db6ed396
Use the extended animation priority for weapon animations
2015-07-15 14:40:36 +02:00
scrawl
335ef97cf5
Rename Animation::Group to Animation::BlendMask
...
The old naming is problematic, because the term group was being used for another feature (text key groups) already.
2015-07-15 13:49:16 +02:00
dteviot
e294cd95cd
extracted function playIdleDialogueRandomly()
2015-07-12 17:15:14 +12:00
dteviot
22059d68f6
Remove duplicated code.
2015-07-12 17:14:48 +12:00
dteviot
0b089a5564
extracted function evadeObstacles()
2015-07-12 16:38:36 +12:00
dteviot
1ef78b1e56
extracted playGreetingIfPlayerGetsTooClose()
2015-07-12 16:37:31 +12:00
dteviot
df421fce92
extracted function setPathToAnAllowedNode()
2015-07-12 16:35:15 +12:00
dteviot
b508846a64
Renamed mStoredAvailableNodes to mPopulateAvailableNodes.
...
Don't call getAllowedNodes() needlessly.
2015-07-12 16:32:48 +12:00
Marc Zinnschlag
08d2b196bd
Merge remote-tracking branch 'ace/explicit-instantiation'
2015-07-10 08:58:53 +02:00
Alexander "Ace" Olofsson
b3b55a5842
Explicitly instantiate MWWorld::Store
2015-07-09 19:22:04 +02:00
Alexander "Ace" Olofsson
b1cc74dd9a
Explicity instantiate MWMechanics::Stat
2015-07-09 14:41:37 +02:00
dteviot
f1774ee7c3
Fixed compile failing on OSX and Linux.
2015-07-08 19:34:33 +12:00
dteviot
52cf8541f5
End point tolerance restored to 64 units.
...
Corrected problem pointed out by Scrawl.
Destination needs tolerance of 64 to avoid overcrowding.
2015-07-08 18:41:03 +12:00
Alexander "Ace" Olofsson
3655ef16af
Explicitly instantiate ESM::StatState
2015-07-07 19:19:37 +02:00
dteviot
40a925ad37
Merge branch 'Bug1317MakeExtraWaypoints' into Bug2726
2015-07-07 18:16:15 +12:00
Marc Zinnschlag
88f1220a77
Merge remote-tracking branch 'dteviot/Bug2726'
2015-07-06 13:07:40 +02:00
scrawl
531bca1273
Add a threshold for changing aicombat targets ( Fixes #2755 )
2015-07-05 18:09:13 +02:00
dteviot
1239667cb4
AiWander uses points between PathGrid points ( Fixes #1317 )
...
When there is only on PathGrid point within a NPC's wander distance, expand possible wander destinations by using positions between PathGrid points.
2015-07-05 18:21:35 +12:00
dteviot
eb2aa965b9
Extracted function SetCurrentNodeToClosestAllowedNode()
2015-07-05 18:17:18 +12:00
dteviot
0095737c40
Use correct type of variable. Remove unnecessary casts.
2015-07-05 18:09:14 +12:00
dteviot
f942db2b27
Simplified code.
2015-07-05 18:08:09 +12:00
dteviot
9a02a85a24
Pulled duplicate code into function.
2015-07-05 18:07:14 +12:00
mrcheko
c773ed9f9a
move checkWayIsClear to pathfinding; move shortcut logic to separate func (AiPackage::shortcutPath); rework AiPackage::pathTo
2015-07-04 18:00:16 +03:00
dteviot
fae93e3d82
Bugfix: was not resetting mStuckCount.
2015-07-04 19:00:27 +12:00
dteviot
46a654286b
Remove fix for #1317
...
Expanding the AiWander distance for path grid nodes causes bigger problems than it solved.
2015-07-04 18:57:56 +12:00
dteviot
164994f3d3
Made PathFinder::buildPath() private.
...
Now all paths are built by calling PathFinder::buildSyncedPath().
Also removed useless comment.
2015-07-04 18:47:26 +12:00
scrawl
6bcea21e14
Use fCombatDelayCreature, fCombatDelayNpc for random delays between aicombat attacks (Bug #1876 )
2015-07-04 05:19:05 +02:00
scrawl
a7bd050928
Accurate attack timings in AiCombat
2015-07-03 05:58:12 +02:00
scrawl
741e5db862
Fix for non-bipedal creatures that use weapons, e.g. rieklings
2015-07-03 05:37:18 +02:00
scrawl
82740c1645
Remove completely broken code
2015-07-03 02:29:42 +02:00
scrawl
d07b176b36
Take into account hit recovery, knockdown and other animations for AiCombat attack timing
2015-07-03 02:18:35 +02:00
scrawl
520a832a9a
Remove an already resolved todo comment
2015-07-02 22:24:23 +02:00
scrawl
a1432b0255
Move attackingOrSpell flag to the CharacterController
2015-07-02 19:14:28 +02:00
scrawl
1956e2c988
Merge branch 'master' of https://github.com/OpenMW/openmw into osg
...
Conflicts:
apps/opencs/CMakeLists.txt
2015-06-28 00:38:39 +02:00
scrawl
59db9664ba
Pass the CharacterController to AiPackage::execute
2015-06-26 17:47:04 +02:00
scrawl
882e359008
Move attackStrength to the CharacterController, where it should have been to begin with
...
Only relevant for actors in active cells, so doesn't belong in CreatureStats. This change should slightly reduce the game's memory usage.
2015-06-26 05:15:07 +02:00
scrawl
beb1086260
Fix attackStrength being unset for creatures with no weapons
2015-06-26 04:21:10 +02:00
scrawl
5bc6513e2d
Fix projectile hit bug where the incorrect attackStrength would be used if a new attack has been performed in the meantime
2015-06-26 02:32:41 +02:00
scrawl
6f34a0501a
Attempting to make a potion with no effects removes the ingredients ( Fixes #2722 )
2015-06-24 05:17:45 +02:00
scrawl
33a3dabc31
An alchemy effect listed more than once in the same ingredient should not automatically create a potion of that effect (Bug #2722 )
2015-06-24 05:17:45 +02:00
scrawl
a5670b5133
Merge branch 'master' of https://github.com/OpenMW/openmw into osg
...
Conflicts:
apps/opencs/CMakeLists.txt
apps/opencs/main.cpp
apps/openmw/mwworld/player.hpp
2015-06-22 20:09:02 +02:00
Marc Zinnschlag
83961e9109
Merge remote-tracking branch 'dteviot/FixRunningInCircles'
2015-06-22 15:20:58 +02:00
scrawl
2ce269c0fc
Werewolf stats compatibility with old save files
2015-06-21 18:45:49 +02:00
scrawl
44582fe3b3
Don't use separate werewolf skills/attributes for non-player werewolves
...
Still need to deal with save files.
2015-06-21 17:28:18 +02:00
dteviot
c65e7a31e7
Aquatic creatures no longer try to get onto land.
...
AiWander for aquatic creatures no longer uses path grid points as they're usually on land.
2015-06-21 16:23:40 +12:00
scrawl
c719b7038e
Merge branch 'master' of https://github.com/OpenMW/openmw into osg
2015-06-18 15:00:21 +02:00
scrawl
6e5f3339ad
Make sure to play IdleSwim when the character is swimming (Bug #2696 )
2015-06-17 20:49:01 +02:00
Marc Zinnschlag
5a5c2bb5bc
Merge remote-tracking branch 'dteviot/FixRunningInCircles'
2015-06-17 15:56:01 +02:00
scrawl
3663511cdb
Merge branch 'master' of https://github.com/OpenMW/openmw into osg
...
Conflicts:
apps/opencs/CMakeLists.txt
extern/ogre-ffmpeg-videoplayer/CMakeLists.txt
2015-06-16 19:53:41 +02:00
scrawl
5347d407d8
Disallow AiWander fast-forward for water creatures
...
Pathgrid nodes are usually above the water level, so appearing at a random node would have the creature break out of the water level it's supposed to be constrained to.
2015-06-15 20:13:59 +02:00
scrawl
98a77f68a3
Fix AiWander::fastForward using incorrect pathgrid coordinates when actor recently moved to a new cell
2015-06-15 20:04:36 +02:00
scrawl
f017fd6860
Reduce includes in animation.hpp
2015-06-14 23:13:26 +02:00
scrawl
cad18969e3
Merge branch 'master' of https://github.com/OpenMW/openmw into osg
...
Conflicts:
apps/openmw/mwmechanics/aicombat.cpp
apps/openmw/mwmechanics/aitravel.cpp
2015-06-14 16:32:13 +02:00
dteviot
520fbd63c4
simplified pathfinding code.
...
remove mIsPathConstructed. Instead call !mPath.empty().
2015-06-14 15:14:02 +12:00
dteviot
bfff84ba8f
replaced #include with forward class declaration, as suggested by slaugherfish.
2015-06-14 10:30:55 +12:00
scrawl
d4c45efb2b
Remove useless #undef's for windows now that we have NOMINMAX flag
2015-06-12 04:39:44 +02:00
dteviot
cb8ca2f03a
Moved logic for building a Sync'ed path from AiCombat to PathFinding.
...
Is now used by AiFollow, which should fix "running in circles" bug caused when recalc a path and closest way point is the one NPC has just passed.
2015-06-11 18:31:35 +12:00
dteviot
6d7e6cd30c
AiTravel logic merged into AiPackage.
2015-06-11 18:28:31 +12:00
scrawl
4c09ecef72
Normalize fixes
2015-06-05 03:41:10 +02:00
scrawl
a0b0ae9bd1
Remove an unused variable
2015-06-04 21:51:24 +02:00
scrawl
78ac37b52a
Remove BOOST_STATIC_ASSERT to fix clang warnings
2015-06-04 20:11:40 +02:00
scrawl
4bb3cbf0fb
Remove last remains of Ogre
2015-06-03 23:04:35 +02:00
scrawl
b70383d127
Remove last remains of Ogre math
2015-06-03 21:37:21 +02:00
scrawl
2eec0caca0
Remove dependency on Ogre::StringConverter
2015-06-03 19:59:54 +02:00
scrawl
7bacb9418d
Various math code ported to osg
2015-06-03 19:41:19 +02:00
scrawl
974fda5bde
Merge branch 'master' of https://github.com/OpenMW/openmw into osg
...
Conflicts:
extern/sdl4ogre/sdlwindowhelper.cpp
2015-06-03 03:18:29 +02:00
scrawl
58ebf57154
Apply a comment that got lost in the endless depths of my git stash
2015-06-02 17:13:30 +02:00
scrawl
de8e5f0db1
Restore projectiles
2015-06-01 21:41:13 +02:00
scrawl
ccd95419e5
Restore various raycasting
2015-06-01 01:57:15 +02:00
scrawl
71bafcb52b
Restore head tracking
2015-05-31 18:04:14 +02:00
Marc Zinnschlag
9f0ccdc37a
Merge remote-tracking branch 'scrawl/master'
2015-05-31 11:05:43 +02:00
scrawl
a066b24303
Restore WeaponAnimation
2015-05-31 01:07:43 +02:00
scrawl
988a9cad58
getHitContact Head exception fix
2015-05-30 01:41:38 +02:00
scrawl
fd50be0fb8
Restore various gameplay
2015-05-30 01:00:24 +02:00
scrawl
af2f26d04d
Particle fixes
2015-05-29 20:45:27 +02:00
scrawl
f4ee805e3b
Object animation fix
2015-05-28 15:44:58 +02:00
scrawl
22f01b1232
Merge branch 'master' of https://github.com/OpenMW/openmw into osg
...
Conflicts:
apps/launcher/graphicspage.cpp
apps/opencs/editor.cpp
apps/opencs/model/doc/document.cpp
apps/opencs/view/render/cell.cpp
apps/opencs/view/render/mousestate.cpp
apps/opencs/view/render/textoverlay.cpp
apps/opencs/view/render/worldspacewidget.cpp
apps/openmw/mwclass/creature.cpp
apps/openmw/mwclass/npc.cpp
apps/openmw/mwgui/inventorywindow.cpp
apps/openmw/mwgui/loadingscreen.cpp
apps/openmw/mwgui/mapwindow.cpp
apps/openmw/mwgui/pickpocketitemmodel.cpp
apps/openmw/mwgui/waitdialog.cpp
apps/openmw/mwmechanics/combat.cpp
apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
apps/openmw/mwrender/globalmap.cpp
apps/openmw/mwworld/physicssystem.cpp
apps/openmw/mwworld/refdata.cpp
apps/openmw/mwworld/scene.cpp
apps/openmw/mwworld/worldimp.cpp
components/sdlutil/sdlinputwrapper.cpp
extern/shiny/Main/Factory.cpp
extern/shiny/Main/MaterialInstance.cpp
extern/shiny/Main/Platform.cpp
extern/shiny/Main/ShaderSet.cpp
2015-05-23 20:33:44 +02:00
scrawl
d1b6289cad
Don't teleport followers when using teleportation spells
2015-05-22 19:57:02 +02:00
Rohit Nirmal
396fba7fa9
Silence -Wreorder warnings, and remove -Wno-reorder.
2015-05-21 22:46:44 -05:00
scrawl
2235d2978b
Restore animation text key handling
2015-05-22 04:36:33 +02:00
scrawl
ccab8cc9a1
Register Player in the PhysicsSystem
2015-05-12 17:40:42 +02:00
scrawl
47758c11cd
Readded collision objects and movement physics
2015-05-12 03:02:15 +02:00
scrawl
5abeab21ed
Various integer/floating point roll adjustments based on wiki
2015-05-11 16:55:09 +02:00
scrawl
9d86e5b028
GetSpellEffects returns true for active abilities ( Fixes #2530 )
2015-05-11 16:38:16 +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
Marc Zinnschlag
83a7eea2a9
Merge remote-tracking branch 'scrawl/master'
2015-05-03 09:54:32 +02:00
scrawl
9cf9c2876e
Pathgrid rendering
2015-05-02 22:45:39 +02:00
scrawl
bd8f0248f0
Player rendering
2015-05-01 18:21:50 +02:00
scrawl
83c6ba97c0
Disable skinning updates for actors beyond the AI processing distance
2015-04-30 00:10:24 +02:00
Rohit Nirmal
997347b01e
Silence -Wreorder warnings.
2015-04-28 18:48:02 -05:00
scrawl
0ff7b2ff11
MechanicsManager, frame update
2015-04-25 15:19:17 +02:00
scrawl
a3417a9c49
CharacterController compiles
2015-04-25 01:20:07 +02:00
scrawl
8c810e3620
Move rng to components
2015-04-22 17:58:55 +02:00
scrawl
e49b8fe690
Fix persuasion mechanics using player stats instead of NPC's ( Fixes #2475 )
2015-04-22 01:17:34 +02:00
scrawl
68f93294da
Port EffectManager
2015-04-19 17:55:56 +02:00
scrawl
1699759d12
Merge branch 'master' of https://github.com/OpenMW/openmw into osg
...
Conflicts:
apps/opencs/view/render/cell.cpp
2015-04-19 02:29:16 +02:00
scrawl
c92592493e
OpenMW: create a window and render the starting cell(s)
2015-04-12 15:38:30 +02:00
scrawl
4e69e7cc0f
OpenMW compiles and runs w/o render window
2015-04-01 17:02:15 +02:00
dteviot
be6ee927b9
AiWander, use closest two points if distance is too small ( Fixes #1317 )
...
In AiWander, if wander distance is set too small to get two points, take the closest two points.
2015-03-28 20:05:54 +13:00
dteviot
63ab856024
Removed duplicated code.
2015-03-23 20:57:36 +13:00
dteviot
eb1090a1b6
Waypoint check only considers X & Y distance ( Fixes #2423 )
...
When pathfinder checks if actor has reached a waypoint, ignore actor's altitude.
2015-03-23 20:09:46 +13:00
scrawl
5cb61fa01c
Don't mark gold as stolen, adjust stolen tooltip ( Fixes #2465 )
2015-03-22 17:28:27 +01:00
Marc Zinnschlag
86d39cede9
Merge remote-tracking branch 'dteviot/Rng'
2015-03-15 22:04:26 +01:00
dteviot
3f28634d1f
consolidate random number logic
...
Note, I suspect Rng::rollClosedProbability() is not needed. The only difference between it and rollProbability() is that one time in 37k (on Windows), it will give an output of 1.0.
On some versions of Linux, the value of 1.0 will occur about 1 time in 4 billion.
2015-03-15 14:07:47 +13:00
dteviot
1d7f3474fa
Fixed more MSVC 2013 warnings.
2015-03-15 08:49:03 +13:00
scrawl
767624f518
Combat mechanic fixes
2015-03-12 03:08:58 +01:00
scrawl
a846bb1aa3
Update hit chance according to wiki and implement fCombatInvisoMult
2015-03-12 02:47:16 +01:00
scrawl
3879ce6ac1
Get rid of "player" string checks ( Fixes #2216 )
2015-03-11 23:07:39 +01:00
scrawl
68de876051
Switch to weapon drawstate when creating a bound weapon ( Fixes #2387 )
2015-03-11 21:12:08 +01:00