1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-16 10:19:55 +00:00
Commit graph

1838 commits

Author SHA1 Message Date
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
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