Commit graph

6146 commits

Author SHA1 Message Date
scrawl
e266aff561 Savegame: store projectiles 2014-05-17 05:24:32 +02:00
scrawl
9adb990143 Fix potentially unsafe use of MWWorld::Ptr 2014-05-17 02:52:24 +02:00
scrawl
e5a21aca53 Refactor projectiles to no longer use MW-objects 2014-05-16 13:33:30 +02:00
scrawl
18852c09d0 Manually re-added AiCombat portion of actorid changes. This is the only one that really matters, and will not suffer from the infinite recursion because it's not included in AiSequence::fill. 2014-05-16 12:28:23 +02:00
scrawl
36d9ae17cc Revert "Change all AI packages (except AiActivate) to use ActorIds"
Causes potential infinite loops (AiSequence::fill -> AiPackage() -> getCreatureStats -> ensureCustomData -> ..)

This reverts commit 2e9985c1a3.
2014-05-16 12:11:34 +02:00
scrawl
028e00c98f Add missing status report for some toggle commands 2014-05-16 09:21:28 +02:00
scrawl
868e38a07c Fix Assault crimes being reported when striking in self-defense
Last missing fix for Bug #1134.
2014-05-16 08:32:00 +02:00
scrawl
940a434479 Use ItemModel for moving items from a container to the world
Fixes owner not resetting when moving an item from a corpse to the world.
2014-05-16 03:19:38 +02:00
scrawl
d70306382e Don't create the player object until the game starts
Fixes a crash introduced in e591d23 when using --skip-menu=0.
2014-05-16 00:58:12 +02:00
mrcheko
5be37f04ef Feature 1314: make npc fight creatures 2014-05-16 00:03:48 +04:00
Marc Zinnschlag
3b2ba4f6cd Merge remote-tracking branch 'scrawl/master' 2014-05-15 14:25:36 +02:00
scrawl
0bc33fa86a Revert "AiCombat: Removed obsolete door back-off code (now handled in AiAvoidDoor)"
Apparently not working for AiCombat due to its higher getPriority(). What should we do here?

This reverts commit a6e1d7ffd6.
2014-05-15 10:14:47 +02:00
scrawl
b16d444f0f Fix never clearing graveyard. Oops 2014-05-15 10:05:35 +02:00
scrawl
6de7e16550 Fix searchPtrViaActorId not skipping over deleted references
Fixes an issue when an actor has moved cell: searchPtrViaActorId would randomly return the deleted Ptr from the old cell.
2014-05-15 09:57:09 +02:00
scrawl
b6a7aee42e Fix player not being allowed to use his own items 2014-05-15 09:54:10 +02:00
scrawl
eb40032bde Fix item owner not resetting when dragging an item from a corpse to the player avatar 2014-05-15 09:54:10 +02:00
scrawl
bac4d875df Fix a potential exploit that made it possible to reset the owner of any item 2014-05-15 09:54:10 +02:00
scrawl
a6e1d7ffd6 AiCombat: Removed obsolete door back-off code (now handled in AiAvoidDoor) 2014-05-15 09:54:10 +02:00
scrawl
2e9985c1a3 Change all AI packages (except AiActivate) to use ActorIds
More robust in case the target changes cell or there are multiple targets with the same RefId
2014-05-15 09:54:10 +02:00
scrawl
2f13a17a39 Add some more safety checks to spellcasting 2014-05-15 09:54:10 +02:00
scrawl
f2c193ce3d Fix searching the player's actorId 2014-05-15 09:54:10 +02:00
scrawl
a609dc5674 Fix exception when getting hit by a trap 2014-05-15 09:54:10 +02:00
scrawl
a76e391ad0 Savegame: store door movement state (Closes #747) 2014-05-15 09:54:10 +02:00
scrawl
37b9d2fb0c Fix a wrong use of reference that causes potential crash 2014-05-15 09:54:10 +02:00
scrawl
471bbd0021 Savegame: store levelled creature state and move to actorIds
(Closes #1332)
2014-05-15 09:54:04 +02:00
Marc Zinnschlag
d08869a25d Merge remote-tracking branch 'slothlife/msvc_warning_cleanup'
Conflicts:
	apps/openmw/mwrender/localmap.cpp
2014-05-15 08:13:15 +02:00
slothlife
f33559fead Fixes for MSVC warnings, less overall changes
Kept some fixes from the first round of review. Found out that several
targets weren't being built with the same basic warnings disabled.
Disabled a few warnings for external libraries specifically, rather than
applying them to all targets.
2014-05-14 20:12:52 -05:00
scrawl
9b67fcc4d7 Merge branch 'master' of https://github.com/OpenMW/openmw 2014-05-14 23:54:25 +02:00
scrawl
9052cc4a57 Savegame: store ActiveSpells 2014-05-14 23:54:15 +02:00
Thomas
d2aada95b4 Fixed AiPursue by fixing underlying issue is Pathto() 2014-05-14 14:11:34 -04:00
Thomas
2425d2c2ab Added stuck mitigation for AiAvoidDoor 2014-05-14 13:38:10 -04:00
Thomas
993ef1be43 Actor avoiding door asks all surrounding actors to do the same. 2014-05-14 04:05:18 -04:00
scrawl
1141c1f3f2 Change projectiles to use actorIds 2014-05-14 09:48:16 +02:00
scrawl
61187c2fef Savegame: store actorIds 2014-05-14 09:47:49 +02:00
Thomas
cbcf0f6039 Changed AiEScort to use new PathTo function 2014-05-14 01:44:11 -04:00
scrawl
dfacf8c044 Change ActiveSpells to use ActorId 2014-05-14 07:14:08 +02:00
scrawl
67e942e733 Bug #869: Some fixes to the previous fix 2014-05-14 07:13:12 +02:00
slothlife
c160a04ede Revert "Fixes for warnings when building with MSVC"
This reverts commit 46eb20b98c.
2014-05-14 00:03:30 -05:00
scrawl
7697ab37e0 Fixes #1129: Change summoned creatures to use ActorId
Gracefully handles summoned creatures that are left behind in inactive cells.
2014-05-14 06:37:31 +02:00
Thomas
7cd4c93fa4 Changed getNearbyDoor to use MWWorld::Ptr 2014-05-13 23:46:00 -04:00
scrawl
99b4bc721b Don't attempt to inflict spells on dead actors 2014-05-14 05:37:53 +02:00
scrawl
6c7b3074f5 Fix self-defense for creatures when attacked with a spell 2014-05-14 05:31:19 +02:00
Thomas
58bf7624be Made code a bit more efficient 2014-05-13 21:52:05 -04:00
scrawl
3cdbcf3c28 Merge branch 'actorid' of https://github.com/OpenMW/openmw
Conflicts:
	apps/openmw/mwmechanics/creaturestats.cpp
2014-05-14 02:35:05 +02:00
Thomas
203ef580cf Fixed moving activatable object being incorrectly activated. 2014-05-13 20:32:29 -04:00
scrawl
365ca6c7e1 Fixes #1331: Manually disable movement state for dead actors.
For dead actors, refreshCurrentAnims is no longer called, so we need to disable the movement state manually.
2014-05-13 21:47:45 +02:00
Thomas
6d540c4e07 Removed merging error 2014-05-13 14:24:48 -04:00
Thomas
680890c846 Clarification on some documentation points 2014-05-13 14:21:59 -04:00
Thomas
d6d4d9f75d Removed destructor documentation 2014-05-13 14:08:08 -04:00
Thomas
ee36ace00b Undid some code clean up changes, and changed how some includes work 2014-05-13 13:43:50 -04:00
Thomas
598221a8e7 Forgot some files 2014-05-13 13:07:27 -04:00
scrawl
e591d23880 Fixes #894: Make sure the player's CharacterController is updated when the player is rebuilt. Necessary if the race is changed while we are still in a GUI (e.g. in the review dialog), and an update normally wouldn't occur. 2014-05-13 19:01:02 +02:00
Thomas
9dbe53c722 Merge remote-tracking branch 'upstream/master' 2014-05-13 04:11:07 -04:00
Thomas
2db3c89a9e Ensures destination is far enough to care about getting stuck 2014-05-13 04:09:21 -04:00
Thomas
cbfa282f8d Changed implementations of aifollow/pursue/activate slightly, added ability for NPCs to go through unlocked doors (They even try locked ones), and step back from opening doors (Although it still needs some work)
Notes - When the door hits them while it's about to finish closing they will try to walk through the door.
      - Considerably more works is needed in making the NPC work out troublesome areas where they get stuck
2014-05-13 03:58:32 -04:00
Thomas
2c74ea381e Moved pathfinding code to aiPackage, implemented it's use with aiFollow and aiPursue 2014-05-12 21:05:32 -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
scrawl
6cc691115b Savegame: store most of CreatureStats 2014-05-12 21:37:36 +02:00
Thomas
645d174a96 Merge remote-tracking branch 'upstream/master'
Conflicts:
	apps/openmw/mwmechanics/aisequence.hpp
2014-05-12 14:49:08 -04:00
mrcheko
e4fe78937a Merge remote-tracking branch 'upstream/master' 2014-05-12 22:06:26 +04:00
scrawl
117b812fb1 Fix invisibility not breaking on certain actions 2014-05-12 02:20:56 +02:00
scrawl
b0fbea9d57 Removed a wrong assertion. Max drowning time is defined by GMST. 2014-05-11 21:03:27 +02:00
scrawl
2bc2684a66 Fixes #275: force updating exterior cell maps even if already in cache 2014-05-11 18:01:47 +02:00
scrawl
54a893994a Also update local map when paused, to make it update properly when teleporting via GUI/console 2014-05-11 18:01:47 +02:00
scrawl
7428511ea0 Bug #772: Do not show door markers for disabled doors 2014-05-11 18:01:47 +02:00
scrawl
961c4d4dc4 Fixes #772: Give scripts a chance to run before updating map, so that disabled objects are not visible 2014-05-11 18:01:47 +02:00
scrawl
ac8abd3398 assert -> exception to gracefully handle corrupted savegames 2014-05-11 18:01:47 +02:00
Marc Zinnschlag
368c868623 Merge remote-tracking branch 'scrawl/master' 2014-05-11 11:10:51 +02:00
Marc Zinnschlag
a85c73cf35 Merge remote-tracking branch 'filkry/bug1047dialoglinks' 2014-05-11 11:07:23 +02:00
scrawl
c39a0368cf Bug #618: Make local map textures static in an attempt to fix the disappearing maps with D3D.
Also removed problematic DISCARDABLE flag for fog of war textures.
2014-05-11 02:40:15 +02:00
scrawl
c98bea2a88 Moved local map update to LocalMap::updatePlayer to fix a brief desync on cell transitions due to sFogOfWarSkip 2014-05-11 02:27:43 +02:00
scrawl
a4a9794417 Savegame: store fog of war (Closes #1177) 2014-05-11 02:07:58 +02:00
scrawl
7b46e9f914 Get rid of no longer needed widget names 2014-05-11 01:05:49 +02:00
scrawl
041319c43e Fixes #1234: Store dynamic record counter in savegame to prevent name clashes 2014-05-11 00:32:22 +02:00
scrawl
07d9845aa0 Fix a bug in ESMStore code that checks for duplicate record insertions 2014-05-11 00:10:28 +02:00
Fil Krynicki
eb5ef270ba Bug 1047 update - defaults and edge case
Handles edge case where it was possible to highlight adjacent
sub-terms without whitespace between them.

Also makes ignoring words not prefixed by whitespace the
assumed behaviour.
2014-05-10 17:47:21 -04:00
scrawl
dab4db87ff Fix a bug in marker placement for interior maps 2014-05-10 23:47:00 +02:00
Fil Krynicki
9095a45ba7 Bug 1047 Fix
Dialog links can no longer be highlighted if they appear in the
middle of the word. This is achieved by confirming that the
character before a match is not alphabetic, so that words
following hyphens can still potentially match.
2014-05-10 17:05:15 -04:00
scrawl
b358cf2423 Fix a potential crash when loading script locals from savegame 2014-05-10 21:31:49 +02:00
scrawl
9fb5cef287 Oops, committed debug code 2014-05-10 21:31:49 +02:00
Marc Zinnschlag
2009cf9ad7 Merge remote-tracking branch 'scrawl/master' into openmw-30 2014-05-10 10:48:40 +02:00
scrawl
242e19a136 Fix crash when exiting OpenMW while dialogue/journal is opened and mouse cursor on a topic
(Fixes #1300)
2014-05-10 01:37:34 +02:00
scrawl
5163358478 Fix a crash when exiting OpenMW while the mouse cursor is over a local map marker 2014-05-10 01:14:12 +02:00
scrawl
d86585b153 Fix clearing of local map markers
destroyWidget changes the child count, so the for loop is flawed.
2014-05-10 01:07:40 +02:00
scrawl
1444cd9051 Fix AiCombat exception when actor has a lockpick/probe equipped.
Don't make NPCs autoEquip lockpicks/probes, since they can't use them.
2014-05-10 00:37:36 +02:00
scrawl
136813a882 Bug #1319: Fix references not coming from a content file incorrectly overwriting each other 2014-05-10 00:01:30 +02:00
scrawl
e7a004824c Fix a search that should have been find 2014-05-09 23:58:24 +02:00
scrawl
872d9be1b4 Fix potential issue with dialogue globals
Make sure they are updated throughout the conversation
2014-05-09 19:19:21 +02:00
scrawl
731bc9c275 Fix broken isClass check and renamed variable for clarity 2014-05-09 18:45:49 +02:00
slothlife
46eb20b98c Fixes for warnings when building with MSVC
Most warnings are innocuous (wrong type-specifier for forward
declarations, conversion of literals into unsigned integers, warnings
about methods optimized out), but I believe actual bugs were revealed in
vartypedelegate.cpp and combat.cpp.
2014-05-09 08:32:52 -05:00
cc9cii
cf23721f1b Windows debug build crash fix. 2014-05-09 20:43:24 +10:00
scrawl
312dc84fa4 Fix a bug where the player's inventory could be opened as a container
If an NPC uses AiActivate on the player (i.e. to activate dialogue) precisely in the frame where the player just died, the player's inventory would be opened as a container instead.
2014-05-08 20:40:45 +02:00
mrcheko
01810f24b0 A* misses 1st closest node fix 2014-05-06 23:29:39 +04:00
Marc Zinnschlag
729e079b0b Merge remote-tracking branch 'scrawl/master' 2014-05-06 20:18:19 +02:00
scrawl
1c8c26072d Crime and self defense fixes
- NPCs should still shout messages such as "thief" even if they did not report the crime
 - Fixed self defense for NPCs (they no longer attack the player when they were attacked by a non-player actor)
 - Fixed self defense for creatures (Fixes #1203)
2014-05-06 19:15:43 +02:00
scrawl
d2beb814e7 Remove superfluous attack phrases (already done by startCombat) 2014-05-06 18:05:53 +02:00
scrawl
dd9117809d Say an attack phrase when combat starts
Move combat start to a helper method

Added some todo comments
2014-05-06 00:13:31 +02:00
scrawl
d4492b56db Added header file missing from CMakeLists 2014-05-05 23:52:09 +02:00
scrawl
536fc5e192 Fix autosaves 2014-05-05 22:38:08 +02:00
Jeffrey Haines
d4812c3af9 fixed placement of else statement 2014-05-04 17:54:33 -04:00
Jeffrey Haines
78f76842a6 Added else statement
Its still dodgy though
2014-05-04 16:56:30 -04:00
Jeffrey Haines
7d5dab214c #58 - Sneak Skill: functional sneaking
Removed sneak checking from individual actor update.
Added sneak checking to Actors::update()
2014-05-04 16:20:09 -04:00
Jeffrey Haines
a65e8393bb Merged files 2014-05-04 11:33:27 -04:00
mrcheko
f596b698d9 fixes to slow-down at jump startup and infinite air intertia growth 2014-05-04 18:15:07 +04:00
Jeffrey Haines
a469444e53 Player can't detect self 2014-05-04 08:05:32 -04:00
Thomas
dbf06d8c8b Merge remote-tracking branch 'upstream/master'
Conflicts:
	apps/openmw/mwmechanics/aipursue.hpp
	apps/openmw/mwmechanics/aisequence.hpp
2014-05-04 02:06:43 -04:00
Thoronador
be89654eef remove audiere_decoder + mpgsnd_decoder from CMake file for openmw 2014-05-03 22:05:21 +02:00
Thoronador
620a8ccaf3 remove Audiere and MPG123+Sndfile decoder sources 2014-05-03 21:49:57 +02:00
Jeffrey Haines
e1e23447f2 Removed initial check form setSneak
It wasn’t needed.
2014-05-03 13:16:07 -04:00
Jeffrey Haines
05e326bdc3 Added update sneak to actors
Intends to check the state of a players sneak by asking the question if
each npc can see the player.
2014-05-03 12:48:07 -04:00
scrawl
658c37a299 AiPursue: If we reached the path end, that does not mean we reached the target. Rebuild the path if the target has moved in the meantime.
Fixes guards in pursuit activating the dialogue too early.

Also tweaked the activation distance.
2014-05-03 17:17:00 +02:00
scrawl
7bddfc0025 Fix some spelling mistakes. 2014-05-03 12:23:22 +02:00
scrawl
122e606e30 Crime: improvement to arrest on sight for large bounties
iCrimeThreshold controls the needed bounty to have guards run to the player and force dialogue. In vanilla, the greeting dialogue is scripted to either arrest the player (< 5000 bounty) or present a death sentence and attack (>= 5000 bounty).
2014-05-03 12:17:44 +02:00
scrawl
7331a64e34 Restore fix for Bug #875 (commit 602be9bbe7, was broken by 43757efdc4) 2014-05-03 11:33:20 +02:00
scrawl
1b074e5524 Call setAttacked even if the attack missed. Unsuccessful hits should also evoke a response. 2014-05-02 22:38:39 +02:00
scrawl
df1694c27b Console autocompletion: List candidates when repeatedly pressing tab (bash-style) 2014-05-02 22:19:02 +02:00
scrawl
92467ba6bc Fix sunlight for interiors 2014-05-02 21:20:27 +02:00
scrawl
8560b43464 Move to esm component 2014-05-02 12:48:07 +02:00
scrawl
f8cc328b5e Slightly prettier backdrop when loading game from main menu. 2014-05-02 12:48:01 +02:00
scrawl
6381b1e938 Fixes #1309: Do not allow saving while dialogs are opened, just like vanilla
This limitation could be removed post-1.0 by serializing the state of open windows.
2014-05-02 11:20:43 +02:00
scrawl
17bb8d7f9a Fixes #1252: Add item/magic keybindings to savegame 2014-05-01 21:16:32 +02:00
scrawl
fc7e79027a Fixes #1144: Don't refreshCurrentAnims when adding already dead actors 2014-05-01 16:55:16 +02:00
scrawl
64a30ad182 Fix another leak 2014-05-01 16:55:16 +02:00
scrawl
6f7fbc867f Fix several leaks 2014-05-01 16:55:15 +02:00
scrawl
f99eda1a54 Fixes #1302: Do not attempt to set OnPcAdd before the script has been added 2014-05-01 16:55:15 +02:00
scrawl
5415ca6a63 Fix exception when shift+click on empty space in save dialog 2014-05-01 16:55:15 +02:00
mrcheko
9e79fb5b87 fix to broken aiwander logic 2014-05-01 11:41:25 +04:00
mrcheko
e8f7d12c01 uninit bool and invalid iterator bugs fixes 2014-04-30 23:57:19 +04:00
Jeffrey Haines
5c9c467b26 Improved sneak. 2014-04-30 08:06:36 -04:00
Jeffrey Haines
14ebd8b110 Fixed logic in commit crime 2014-04-30 07:44:29 -04:00
Thomas
10a5bb9464 Made code a bit more standardized and added a good bit of documentation. 2014-04-29 23:40:59 -04:00
Marc Zinnschlag
0c2843b0f7 some missing cleanup 2014-04-29 19:56:33 +02:00
Marc Zinnschlag
9a1b5dc1c6 a bit of cleanup 2014-04-29 15:32:00 +02:00
Marc Zinnschlag
f6a876bc3d added actor ID 2014-04-29 15:27:49 +02:00
Marc Zinnschlag
4eeed4e2c7 Merge remote-tracking branch 'scrawl/return' 2014-04-29 12:27:27 +02:00
scrawl
28ef236f0e Don't allow setting a new return position if there already is one and we haven't reached it yet 2014-04-29 11:17:07 +02:00
Marc Zinnschlag
8fea2cfa2a Merge remote-tracking branch 'mrcheko/master' 2014-04-29 10:03:29 +02:00
scrawl
1fd7a07b5e Merge branch 'master' of https://github.com/OpenMW/openmw into return
Conflicts:
	apps/openmw/mwmechanics/aisequence.cpp
	apps/openmw/mwmechanics/aiwander.cpp
2014-04-29 09:14:13 +02:00
scrawl
9b36a13821 Feature #1289: NPCs return to default position
Make stationary NPCs return to their previous position once combat/crime AI finishes.
2014-04-29 09:09:51 +02:00
scrawl
3780503275 Removed quicksave/quickload message boxes, now that the same text is shown in the progress bar 2014-04-29 07:07:03 +02:00
Marc Zinnschlag
3013c34d9b Merge remote-tracking branch 'scrawl/master' 2014-04-28 21:46:05 +02:00
scrawl
7a0aeeaa38 Allow to delete savegames (shift + click) 2014-04-28 20:57:45 +02:00
scrawl
7f37f2c2be Fixes #1187: Make GetDistance handle actors in remote cells gracefully 2014-04-28 19:23:25 +02:00
Marc Zinnschlag
2e7b4e798e Merge remote-tracking branch 'digmaster/master' 2014-04-28 19:22:54 +02:00
scrawl
a35f7c73ae Fixes #1286 (Dialogue topic list clips with window frame)
The first problem was with the ScrollView skin, which had a full-sized client area. Since the scrollbar starts out visible, MyGUI expects the client area to be smaller to accomodate for the scrollbar width. As a result, the starting canvas size becomes bigger than the view size.
Another bug was with the MWList code: reducing the canvas size for the scrollbar is not needed, since MyGUI is already doing that, and attempting to do it manually interferes with the view offset.
2014-04-28 18:40:29 +02:00
scrawl
518a32c19d Fixes #1195: Make NPCs equip torches in interiors under certain conditions 2014-04-28 18:33:42 +02:00
Thomas
885228ec02 Merge remote-tracking branch 'upstream/master'
Conflicts:
	apps/openmw/mwmechanics/actors.cpp
2014-04-28 12:27:57 -04:00
Lars Söderberg
04e5b9c72c Right aligned version/revision
I've always felt that having the version/revision text at the bottom
center in the main menu was a bit out of place. A more common place for
this kind of thing is in one of the corners. I chose bottom right.

Aditionally I right aligned it and changed the v and r in version and
revision to capital letters.

Comments?
2014-04-28 16:23:07 +02:00
scrawl
84961d7843 Fixes #1254: PcRank should return first rank if not in the faction 2014-04-28 15:31:18 +02:00