cc9cii
98f77714ce
Per-cell pathgrid data and calculation moved off PathFinder. Now the edge cost calculations and strongly connected component searches are done only once per cell. Per-actor data and methods still remain with PathFinder.
...
This version still has debugging statements and needs cleaning up.
2014-04-03 21:43:44 +11:00
Jeffrey Haines
b1abef7a38
Cleaned up code
2014-04-03 01:07:56 -04:00
Jeffrey Haines
58b135a2be
Crime is now checked every frame call
2014-04-03 00:50:09 -04:00
cc9cii
f597d3e88b
Use duration rather than frame counts. Stops false detection of being "stuck" with high frame rates (e.g. indoors).
2014-04-03 07:46:26 +11:00
Jeffrey Haines
6f1211dd8d
Moved mWitnesses into Player. resetCrime for paying fine.
2014-04-02 12:23:38 -04:00
Jeffrey Haines
7c0b51fb7e
Ai pursue now controls guards pursuit of crimes
...
Should extend AiActivate in the future
2014-04-02 00:18:22 -04:00
Jeffrey Haines
50dac98a2b
Feature 1154 & 73: Crime and NPC reactions
2014-04-01 20:24:25 -04:00
Jeffrey Haines
4037f3705e
Feature 1154 & 73: NPCs react to crime
2014-04-01 14:15:55 -04:00
megaton
50af9bc0d3
General perfomance optimizations.
2014-03-30 19:45:27 +04:00
Jeffrey Haines
8ce938c6f1
Revert 6b28c06..98fd381
...
This rolls back to commit 6b28c06b2c6401d7a54a2df4e2f329b948acd7ed.
2014-03-29 22:26:53 -04:00
Jeffrey Haines
98fd381564
Feature #1154 Not all NPCs get aggressive when one is attacked
...
Compiling fix
2014-03-29 21:25:20 -04:00
Jeffrey Haines
6c866deb1b
Feature #1154 Not all NPCs get aggressive when one is attacked
...
Partially implemented
2014-03-29 21:23:34 -04:00
gus
d9ea7107b7
compile fix.
2014-03-29 18:36:32 +01:00
gus
bee057346b
Merge branch 'master' of https://github.com/OpenMW/openmw.git into AIFix2
...
Conflicts:
apps/openmw/mwmechanics/aifollow.cpp
2014-03-29 18:05:56 +01:00
Marc Zinnschlag
c7b969821f
silenced a warning
2014-03-29 11:11:43 +01:00
cc9cii
ebb1813b9b
Minor comment clarification.
2014-03-29 20:17:04 +11:00
cc9cii
07fd801d94
My previous analysis of the pathfinding issue was incorrect. It was in fact caused due to some of the pathgrid points being unreachable. Instead of returning an empty path in such a scenario, incorrect path + requested destination were being returned. There was also a defect where past cost was being used for selecting open points.
...
There is still an unresolved issue where mGraph and mSCComp are being rebuilt unnecessarily. The check mCell != cell in buildPath() is being triggered frequently. Not sure why.
2014-03-29 19:35:52 +11:00
cc9cii
267855c44e
Prevent NPC suicides off silt the strider platform in Seyda Neen. Added some comments as well. There may be opportunities for some optimization but left that out for now.
2014-03-29 19:35:52 +11:00
cc9cii
90a813ad2c
Allow interrupting a walking NPC to trigger a greeting.
2014-03-29 19:35:52 +11:00
Marc Zinnschlag
2c2106205d
Merge remote-tracking branch 'scrawl/master'
2014-03-28 09:56:35 +01:00
Jeffrey Haines
2a8bf46607
Trader Gold Reset Delay
...
Implemented traded gold reset delay.
Note:
Traders gold pool is still in inventory.
2014-03-27 01:23:56 -04:00
scrawl
793649c854
ToggleAI: Report current status on toggle
2014-03-26 19:55:52 +01:00
scrawl
688415ce54
Play deathknockout/deathknockdown animations when appropriate
2014-03-26 18:55:16 +01:00
scrawl
394284d0f8
Fixes #1209 : Tarhiel never falls
...
There are a few pitfalls with this code:
- Gravity is only considered when applying queued movement. Therefore, make sure to queue some movement every frame. (Could be refactored in the future?)
- The character controller never detects being in free fall (!World::isOnGround) unless movement has been applied.
2014-03-22 02:08:04 +01:00
scrawl
c8c0e5de38
Fixed code issues found with unity build. Missing include guards, duplicated functions, ...
2014-03-16 23:49:06 +01:00
cc9cii
e6977d00e8
Oops. Fix typo picked up by Zini.
2014-03-15 08:16:35 +11:00
cc9cii
b2e3fa70c2
Fix spelling errors in comments.
2014-03-14 07:04:39 +11:00
cc9cii
d54ae58ec9
Bug #900 fix - minor update to comments
2014-03-14 00:09:03 +11:00
cc9cii
d92740efc9
Bug #900 fix - only fixed AiWonder, AiCombat, AiTravel and others may need a different strategy to this.
2014-03-13 23:44:52 +11:00
scrawl
072dc6d438
Feature #50 : Implement marksman mechanics.
2014-03-08 06:03:45 +01: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
gus
d84319300a
fix
2014-03-05 11:27:16 +01:00
gus
f4879dacd5
add AIfollow to summoned creatures
2014-03-05 11:24:39 +01:00
Marc Zinnschlag
f9d2fde783
Merge branch 'openmw-29'
...
Conflicts:
apps/openmw/mwmechanics/aicombat.cpp
2014-03-04 09:34:38 +01:00
cc9cii
5b48ca114f
aicombat pathfinding fix - check the correct list
2014-02-25 08:31:14 +01:00
cc9cii
85c467f00f
Minor cleanup for aicombat pathfinding workaround.
2014-02-25 08:30:52 +01:00
Marc Zinnschlag
367919200f
moved CellRefList into a separate file
2014-02-23 20:11:05 +01:00
gus
95ff869163
Merge branch 'openmw-29' of https://github.com/zinnschlag/openmw.git into AIFix2
2014-02-23 17:07:49 +01:00
cc9cii
1bd2664cb0
aicombat pathfinding workaround
2014-02-23 11:47:25 +01:00
Marc Zinnschlag
7693f712bc
started making CellStore into a proper class; encapsulated mCell member
2014-02-21 11:35:46 +01:00
scrawl
d25b3ad9cb
Fix AiCombat for creatures with weapons
2014-02-19 11:23:03 +01:00
gus
d8f24ac499
bug fix
2014-02-17 15:49:49 +01:00
Marc Zinnschlag
ea16f79d77
Merge remote-tracking branch 'gus/AIFix2'
2014-02-17 10:54:07 +01:00
gus
84959eea28
woops, thanks scrawl
2014-02-17 10:50:10 +01:00
gus
6e1425321b
remove cout spam
2014-02-17 10:43:09 +01:00
Marc Zinnschlag
c18c3e51ee
handle IDs that don't exist anymore after loading
2014-02-16 16:23:05 +01:00
Marc Zinnschlag
9788bbcab9
partially store creature state in saved game files (only attributes and dynamics for now)
2014-02-16 15:56:36 +01:00
Marc Zinnschlag
b0532e0c85
store NPC state in saved game files
2014-02-16 15:51:45 +01:00
gus
a315d5cc2b
aiactivate works. Bug when you try to use it on a reference that doesn't exist. Need to clran up door.cpp
2014-02-14 12:55:14 +01:00