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

2557 commits

Author SHA1 Message Date
scrawl
69c2c4fcc1 updateMergedRefs before reading MVRF tags (Fixes #3161) 2016-02-03 19:13:26 +01:00
scrawl
cc3563359e Refactor local script iteration (Fixes #2806, Fixes #3108)
This should be much safer. Don't use recursion. Don't fail if mIgnore happens to be in the list twice. Don't rely on preconditions / assertions.
2016-02-03 16:16:20 +01:00
scrawl
187d2bccda Warn about adding a local script twice (Bug #2806) 2016-02-03 16:09:10 +01:00
scrawl
c403a6b113 Don't apply constant magic effects to dead actors (Fixes #3174) 2016-02-01 22:30:08 +01:00
scrawl
aec8c38461 Move observer_ptr include where it belongs 2016-01-25 21:03:33 +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
scrawl
f0971ee8ad Implement Fixme script instruction 2016-01-20 04:07:07 +01:00
scrawl
ce9a18fb87 Merge pull request #879 from jordan-ayers/bugfix/1544
Improve Drop Command - Bugfix/1544
2016-01-19 15:02:51 +01:00
Jordan Ayers
c82d9a1e87 Adjust ContainerStore / InventoryStore to allow partial unequip of items. 2016-01-18 19:56:35 -06:00
scrawl
41c571d4f4 Merge branch 'master' of https://github.com/OpenMW/openmw into lighting
Conflicts:
	apps/opencs/view/render/instancemode.cpp
2016-01-15 15:46:10 +01:00
scrawl
4f2a031f4e Improve error message 2016-01-14 18:34:47 +01:00
scrawl
0b84b3c2cf Don't crash when region weather chances don't add to 100
The invalid weather ID was resulting in out-of-bounds vector access later in the code.
2016-01-14 17:41:39 +01:00
Jordan Ayers
2ce2e8a1e7 Add missing OOB slot check to InventoryStore. 2016-01-12 21:35:23 -06:00
scrawl
ef1a1125e0 Fix an error in restocking logic (Fixes #3131) 2016-01-12 17:10:23 +01: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
6546c05428 Move Fallback map to components/ 2016-01-11 23:10:16 +01:00
scrawl
4f8f166f69 Fix GetPcInJail to work as in the original engine 2016-01-11 22:57:25 +01:00
scrawl
1905f0bf2d Add support for placing BodyParts in a cell (Bug #3118) 2016-01-02 01:30:06 +01:00
scrawl
6fde02ea42 LocalScripts: initialize mIter 2016-01-01 02:59:55 +01:00
scrawl
f052c05018 Move werewolf functions from World to MechanicsManager 2015-12-26 18:23:13 +01:00
scrawl
a1e163ed20 Correct an error in the timestamp subtracting logic (Fixes #3105) 2015-12-26 00:26:13 +01:00
scrawl
e5d9ee30f4 Add count argument to copyObjectToCell
Fixes the gold bug introduced in c9ca5bc946
2015-12-19 16:48:32 +01:00
scrawl
32d5dece58 Add count argument to getToolTipInfo 2015-12-19 16:29:07 +01:00
scrawl
0d4729dcd5 Use the const version of CustomData::as* 2015-12-19 16:19:52 +01:00
scrawl
b0894ea20d Accept a ConstPtr in hasToolTip 2015-12-19 16:15:45 +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
7a2ca5580a Accept a ConstPtr in RippleSimulation 2015-12-19 15:51:41 +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
2c51e7345f Use a separate collision type for doors (Fixes #1962) 2015-12-18 18:32:42 +01:00
scrawl
a0fb31e3b1 Accept a ConstPtr in getLOS 2015-12-18 18:03:47 +01:00
scrawl
029d467ea5 Accept a ConstPtr in getItemsOwnedBy, getContainersOwnedBy 2015-12-18 18:00:18 +01:00
scrawl
388aed1748 Accept a ConstPtr in findContainer, collision script functions, getUnderwater functions 2015-12-18 17:56:48 +01:00
scrawl
ed101ad35a Remove redundant getPlayerAnimation function 2015-12-18 17:44:57 +01:00
scrawl
c9ca5bc946 Accept a ConstPtr in placeObject 2015-12-18 17:42:59 +01:00
scrawl
6c505ca06f Accept a ConstPtr in getHitContact 2015-12-18 17:38:21 +01:00
scrawl
0796f49c17 Accept a ConstPtr in various physics getters 2015-12-18 17:36:14 +01:00
scrawl
553132cb51 Accept a ConstPtr in launchProjectile 2015-12-18 17:13:54 +01:00
scrawl
8f9fc87565 Accept a ConstPtr in LocalScripts::setIgnore 2015-12-18 17:09:11 +01:00
scrawl
1212c07266 Pass a string by reference 2015-12-18 17:08:26 +01:00
scrawl
f35ab12979 Accept a ConstPtr in InventoryStore::isEquipped 2015-12-18 17:06:58 +01:00
scrawl
3856f931db Accept a ConstPtr in ContainerStore::addNewStack 2015-12-18 17:04:54 +01:00
scrawl
e1c6261fee Accept a ConstPtr in ContainerStore::getType 2015-12-18 17:03:49 +01:00
scrawl
edde5bd065 Accept a ConstPtr in ContainerStore::stacks 2015-12-18 17:01:21 +01:00
scrawl
04f7a8f8eb Remove redundant getId function 2015-12-18 16:58:38 +01:00
scrawl
266fbbef48 Accept a ConstPtr in canLock 2015-12-18 16:50:32 +01:00
scrawl
c43f80633a Accept a ConstPtr in getEnchantmentPoints 2015-12-18 16:48:19 +01:00
scrawl
303521002d Accept a ConstPtr in adjustScale 2015-12-18 16:46:02 +01:00
scrawl
09bdb0ad4b Accept a ConstPtr in getServices 2015-12-18 16:44:35 +01:00
scrawl
648ee6e7fb Accept a ConstPtr in applyEnchantment 2015-12-18 16:43:11 +01:00
scrawl
3c98f8dde3 Accept a ConstPtr in isPersistent 2015-12-18 16:41:37 +01:00
scrawl
3fe3091275 Accept a ConstPtr in isEssential 2015-12-18 16:39:35 +01:00
scrawl
4a47fc32fa Accept a ConstPtr in getBloodTexture 2015-12-18 16:39:08 +01:00
scrawl
2bd8d60e9f Accept a ConstPtr in getPrimaryFaction, getPrimaryFactionRank 2015-12-18 16:33:54 +01:00
scrawl
2ac92012e8 Accept a ConstPtr in isClass 2015-12-18 16:29:30 +01:00
scrawl
5b082be79f Accept a ConstPtr in getBaseGold 2015-12-18 16:28:20 +01:00
scrawl
da7ebfde99 Accept a ConstPtr in copyToCell 2015-12-18 16:27:18 +01:00
scrawl
954186fe1e Accept a ConstPtr in canFly, canSwim & canWalk 2015-12-18 16:27:18 +01:00
scrawl
b09bdd6af5 Accept a ConstPtr in isBipedal 2015-12-18 16:27:18 +01:00
scrawl
92a3acfa56 Accept a ConstPtr in getBaseFightRating 2015-12-18 16:12:35 +01:00
scrawl
d120f76031 Accept a ConstPtr in getSound 2015-12-18 16:11:03 +01:00
scrawl
d77f785cbc Accept a ConstPtr in get*SoundId 2015-12-18 16:09:54 +01:00
scrawl
dc92fefd2b Accept a ConstPtr in canBeEquipped, getEquipmentSlots & hasItemHealth 2015-12-18 16:06:31 +01:00
scrawl
e0bb284804 Accept a ConstPtr in getWeight 2015-12-18 16:00:50 +01:00
scrawl
0047a2d330 Accept a ConstPtr in canSell 2015-12-18 15:58:45 +01:00
scrawl
2bc851c7d3 Accept a ConstPtr in getEnchantment 2015-12-18 15:56:45 +01:00
scrawl
beb8805a12 Accept a ConstPtr in getInventoryIcon 2015-12-18 15:53:47 +01:00
scrawl
f258c5c508 Accept a ConstPtr in getModel 2015-12-18 15:51:05 +01:00
scrawl
d9bbd83b09 Accept a ConstPtr in getToolTipInfo
Accept a ConstPtr in functions used by getToolTipInfo
2015-12-18 15:47:16 +01:00
scrawl
bc50587e71 Remove comment 2015-12-18 14:33:15 +01:00
scrawl
a344183247 Comment fix 2015-12-18 02:34:42 +01:00
scrawl
ed3486e816 Improve const-correctness in writeAdditionalState 2015-12-18 00:19:06 +01:00
scrawl
b48445dea7 Accept a ConstPtr in getScript 2015-12-18 00:12:03 +01:00
scrawl
19d87c78f2 Add CellStore::forEachConst 2015-12-17 23:59:18 +01:00
scrawl
d4eba794c3 Add ConstPtr 2015-12-17 23:34:52 +01:00
scrawl
2fe2f53b02 Set the changed flag in CellStore::search (Fixes #3089) 2015-12-17 22:37:41 +01:00
scrawl
04b6571d7d Fix logic for scripting access of deleted objects 2015-12-17 20:34:50 +01:00
scrawl
e564c26314 Fix deleted objects being accessible in the Cells cache 2015-12-17 20:18:15 +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
d6bcb7906d Fix crash in a warning message 2015-12-17 16:11:20 +01:00
scrawl
271fcb80c6 Remove container scripts before deleting container 2015-12-14 02:57:55 +01:00
scrawl
359b0b3772 Rename for clarity 2015-12-12 22:37:23 +01:00
scrawl
18cce3a6f9 Don't reset delete flag when loading reference from a save game (Fixes #2724) 2015-12-12 22:34:59 +01:00
scrawl
850092a5e5 Store: be consistent about struct / class usage
Don't inherit a struct from a class, and vice versa.
2015-12-12 22:34:59 +01:00
scrawl
cc2315a0de Minor fix 2015-12-11 16:59:13 +01:00
scrawl
b856460f86 ESMStore: fill mIds in setUp() 2015-12-11 16:55:28 +01:00
Chris Robinson
808f701013 Use the actor's Head position for Say streams 2015-12-10 17:48:45 -08:00
Chris Robinson
a47bdecac7 Add missing include
Since Ptr is used directly in the header, a forward declaration isn't good
enough.
2015-12-10 17:47:55 -08:00
scrawl
57b7cac13f Merge pull request #850 from MatthewRock/fix-2952-2
Fix for bug #2952: Enchantment Merchant Items reshuffled EVERY time 'barter' is clicked
2015-12-09 20:12:45 +01:00
MatthewRock
ddd4004c95 Fix: remove space 2015-12-09 18:26:33 +01:00
MatthewRock
3b254ad631 Allows the same item to have multiple ancestors 2015-12-09 18:24:35 +01:00
scrawl
bdae572264 Merge pull request #840 from scrawl/movedrefs
Object movement between cells
2015-12-09 14:10:57 +01:00
scrawl
bc1f7499ab Do not allow deleting the player object (Fixes #2982) 2015-12-09 00:26:39 +01:00
MatthewRock
b0e6a52595 Replace ancestor with parent 2015-12-08 22:45:16 +01:00
MatthewRock
aa721fe1f6 Fix bug 2952 with merchant and levelled items 2015-12-08 22:39:11 +01:00
Marc Zinnschlag
071ba3a4df Merge remote-tracking branch 'scrawl/werewolf' 2015-12-08 09:28:35 +01:00
scrawl
07b064f616 Rename to lowerCaseInPlace 2015-12-07 22:49:15 +01:00
scrawl
136a425cec Use the Werewolf field of view override (Fixes #3064)
Need to re-run the settings importer for the feature to work.
2015-12-07 16:11:47 +01:00
scrawl
621347b20f Remove moved ref handling from listRefs()
Not needed since we now load cells when a reference is moved there.
2015-12-07 03:55:26 +01:00
scrawl
1875aa4a18 Restore getNearbyDoor 2015-12-07 03:53:46 +01:00
scrawl
f9dd549bff Restore FindContainerVisitor 2015-12-07 03:47:40 +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
4b0ecaa0a0 Fix physics bug 2015-12-06 22:10:01 +01:00
scrawl
51b892195b Restore getReadOnlyDoors() 2015-12-06 21:58:25 +01:00
scrawl
abcf91be5b Port over more game logic to the visitor pattern 2015-12-06 20:43:50 +01:00
scrawl
9ea475d00c Port LocalScripts::addCell to new CellStore interfaces 2015-12-06 20:33:22 +01:00
scrawl
a517f4f9ba Add CellStore::forEachType to help with porting over game logic to the new interfaces 2015-12-06 20:32:39 +01:00
scrawl
0af33b5abd Throw exception if moveTo() is passed an object not part of *this 2015-12-06 20:05:13 +01:00
scrawl
176a3c16f4 Resolve moved references loaded from a save game 2015-12-06 20:00:24 +01:00
scrawl
671561ea37 Write moved references to the save game file (not resolved on loading yet) 2015-12-06 19:11:25 +01:00
scrawl
2219231230 Missing updateMergedRefs() 2015-12-06 18:46:49 +01:00
scrawl
138957c49a Special case objects with no refnum 2015-12-06 18:43:52 +01:00
scrawl
5e99a3eda6 Rename CellStore Functor to Visitor 2015-12-06 18:13:04 +01:00
scrawl
2301080c63 Load CellStore when an object is moved there 2015-12-06 18:04:48 +01:00
scrawl
811df1e97b Pass the ESM reader list to CellStore constructor 2015-12-06 18:03:55 +01:00
scrawl
67a6a8f5d4 Make projectiles receive lighting 2015-12-05 00:44:18 +01:00
scrawl
6181594251 Disable freezeOnCull for magic projectile particles 2015-12-05 00:33:01 +01:00
scrawl
a8938589f6 Magic projectiles rotate during flight 2015-12-05 00:33:01 +01:00
scrawl
3f93af4181 Projectiles interact with the water surface (Fixes #2986) 2015-12-04 23:28:11 +01:00
scrawl
3dcefd17fc Fix CellStore::count() 2015-12-04 20:03:14 +01:00
scrawl
3aa53f3cb4 Object cell movement tracker works. Savegame handling is still missing and some game functionality is still stubbed out. 2015-12-04 19:46:02 +01:00
scrawl
64b4926127 Add reference moving logic - untested 2015-12-04 18:29:41 +01:00
scrawl
7a983340bf Add comment 2015-12-04 18:29:41 +01:00
scrawl
fc449233be Restore support for inserting objects into a cell 2015-12-04 18:29:41 +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
Marc Zinnschlag
e0c9265148 Merge remote-tracking branch 'origin/master' 2015-12-03 15:56:24 +01:00
scrawl
d0c6b407b4 Fix isUnderwater checks being off by one for exterior cells 2015-12-03 15:16:50 +01:00
scrawl
86881bcf39 In first person mode, attach sound listener to the camera 2015-12-03 15:16:20 +01:00
Chris Robinson
816015d6e6 Avoid inheriting from Sound for sound types 2015-12-02 16:09:24 -08:00
scrawl
3d12b2ca9d Add NifFileManager to avoid duplicate parsing of the NIFFile in SceneManager and BulletShapeManager. 2015-12-02 14:59:32 +01:00
scrawl
cd4a1ffd16 Fast version of dynamic_cast for MWClass 2015-11-29 14:26:52 +01:00
scrawl
c9bfe01120 Fix applying of weather changes after serving a jail sentence 2015-11-28 17:57:35 +01:00
Marc Zinnschlag
6facce9d13 Merge remote-tracking branch 'origin/master' 2015-11-28 10:02:37 +01:00
scrawl
d97dda05c9 Don't attempt to play unset weather sounds 2015-11-28 05:55:36 +01:00
scrawl
4687c4baad Do not assert() for invalid land data in plugins (Bug #3037)
The resizing of LTEX store to the correct number of plugins was done in the load() method, but the load method won't be called if a plugin contains LAND records but doesn't contain LTEX records. For such plugins the Store<ESM::LandTexture>::search() function would then fail an assertion.
2015-11-27 21:57:15 +01:00
scrawl
89783e047b Fix typo 2015-11-27 19:40:31 +01: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
aac903484c Remove a really unnecessary method 2015-11-25 04:24:26 -08:00
Chris Robinson
73448c72f6 Replace Play_NoTrack with playManualSound3D, and rename the latter 2015-11-25 04:24:26 -08:00
scrawl
edfcb45ad7 Fix crash when onPcEquip script removes the equipped item (Fixes #3016) 2015-11-24 22:55:17 +01:00
scrawl
71cd57a3b5 Optimize World::getTimeStamp
World::getTimeStamp was searching through the globals store on every call. Not a big issue, but slow enough to show up in the profiler.
2015-11-22 23:55:21 +01:00
scrawl
62169a7039 Use a single-precision PositionAttitudeTransform in speed critical places 2015-11-22 19:54:26 +01:00
scrawl
43de13fa99 Do not allow resting on lava 2015-11-20 19:22:31 +01:00
scrawl
2d302aef99 Implement stayOutside script variable 2015-11-20 05:05:43 +01:00
scrawl
27617468c8 Fix the collision shape not updating when scaling an object via script 2015-11-20 03:29:58 +01:00
scrawl
5f143dee2d Fix lighting incontinuity at nightfall and sunrise 2015-11-20 03:22:35 +01:00
scrawl
3453353091 AiCombat distance check takes into account collision box (Fixes #1699) 2015-11-18 19:00:43 +01:00