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

2815 commits

Author SHA1 Message Date
Bret Curtis
0547d4b937 clang says that these must be in the MWWorld namespace 2016-08-14 16:17:09 +02:00
Allofich
cb9bb92b26 Play locked sounds on locked objects instead of actors 2016-08-10 21:31:14 +09:00
MiroslavR
b65f379b7f Save scripted animation state (Fixes #1931, #2150, #3393) 2016-08-03 03:52:35 +02:00
MiroslavR
4a3529488b Fix possible reference duplication when the refID is modified by a plugin (Bug #3471) 2016-07-22 03:58:23 +02:00
MiroslavR
dafe184220 Fix moved references disappearing when modified by a plugin 2016-07-22 02:12:03 +02:00
MiroslavR
d790747389 Implement deletion of moved references (Bug #3471) 2016-07-22 01:59:02 +02:00
scrawl
2329812988 Merge pull request #995 from Allofich/traps
Trap and lock fixes
2016-07-10 17:19:36 +02:00
scrawl
67d3571fac Fix activation distance in third person mode 2016-07-10 17:10:19 +02:00
Allofich
d4e656ceaf Play trap activation sound on trapped object, not actor 2016-07-10 21:39:53 +09:00
scrawl
6f376bd499 Merge pull request #983 from Allofich/telekinesis
Don't allow telekinesis on actors or teleport doors
2016-07-08 23:47:43 +02:00
Allofich
7a0f9a7989 Clean up, remove unnecessary code changes 2016-07-09 02:24:08 +09:00
Allofich
4e54338ce0 Implement and use getDistanceToFacedObject() 2016-07-08 23:28:49 +09:00
Allofich
0e5c3f781f Only allow trap distance check to apply to player 2016-07-07 22:10:38 +09:00
Allofich
7de3afaa7d Cleanups 2016-07-07 21:57:00 +09:00
Allofich
cb621939fd Streamline trap code 2016-07-07 21:56:54 +09:00
Allofich
35a23c3b49 Implement and use new method allowTelekinesis() 2016-07-07 21:54:31 +09:00
Allofich
8014f37879 Avoid duplicate code 2016-07-07 21:54:30 +09:00
Allofich
538209b0a2 Change variable to mRatio and initialize it 2016-07-07 21:54:29 +09:00
Allofich
e25e698978 Fix telekinesis check for activators 2016-07-07 21:54:29 +09:00
MiroslavR
d4e29e3e0c Clear projectiles on non-incremental time advances 2016-07-06 00:11:58 +02:00
Allofich
c1236f4113 Simplified code 2016-07-04 20:25:25 +09:00
Allofich
c02695e56d Cleanups and fixes 2016-07-04 16:06:16 +09:00
Allofich
64d298d2b5 Use raycast distance when player activates trapped object 2016-07-04 16:06:15 +09:00
Allofich
64d53a2314 Avoid double raycasts when using getFacedObject 2016-07-04 16:06:04 +09:00
Allofich
574e40db5e Don't allow telekinesis on activators 2016-07-04 01:50:47 +09:00
scrawl
d96e49c04a Do not set change flag when running forEach on an empty cell 2016-07-02 20:44:14 +02:00
scrawl
b9b73d7b12 Replace "sys::default" with ESM::CellId::sDefaultWorldspace 2016-07-02 19:48:11 +02:00
scrawl
96757a3b7c Fix non-predefined cells not being saved correctly 2016-07-02 19:43:08 +02:00
MiroslavR
54f52f7bae Implement effect removal for abilities (Fixes #3455) 2016-07-01 18:50:28 +02:00
Allofich
b29e9e9c77 Don't allow telekinesis on actors or teleport doors 2016-07-01 02:27:20 +09:00
MiroslavR
72d2daae90 Fix InventoryStore::purgeEffect being reverted by the next recalculation of mMagicEffects 2016-06-29 22:54:11 +02:00
scrawl
f549b5fb7a Add missing include 2016-06-17 04:34:31 +02:00
scrawl
c18de84798 Fix a crash that could occur when two or more plugins move a deleted ref to another cell (Fixes #3446) 2016-06-17 02:27:49 +02:00
scrawl
844cbc5a14 Add isNullAction() method to fix compiler warning 2016-06-11 18:26:20 +02:00
scrawl
a85932a62b Ignore the collision box offset when launching projectiles (Fixes #3201) 2016-06-10 23:47:01 +02:00
scrawl
c6601ab2ab Do not use the collision box offset for combat hit tests (Fixes #3201) 2016-06-10 23:47:01 +02:00
scrawl
12eea9ed69 Remove magic number in getMaxActivationDistance 2016-06-07 15:18:36 +02:00
scrawl
f417d7780a Fix the enemy nearby check (Bug #3423) 2016-06-07 01:55:34 +02:00
scrawl
3645b3357e Fix improper assignement of spawn point in placeAt for non-actors (Bug #3417) 2016-06-02 21:24:19 +02:00
scrawl
a2153a6213 Remove outdated comment 2016-05-25 21:41:05 +02:00
scrawl
5d4f58c828 Fix being unable to activate objects when scripts are disabled
The if statement was a leftover of the previous activate implementation and is no longer needed.
2016-05-25 21:37:56 +02:00
scrawl
3f1df4caa6 Don't auto-equip ammunition (Fixes #3401) 2016-05-24 13:21:43 +02:00
scrawl
b0180cb6b4 Fix current region check (Bug #3391) 2016-05-16 02:05:02 +02:00
scrawl
fcbcc004a3 Don't use unordered_map 2016-05-11 02:35:17 +02:00
scrawl
59cfcb38e2 Scale the sunlight specular color by weather's GlareView value (Fixes #3375) 2016-05-10 17:39:57 +02:00
scrawl
3584e59402 Fix incorrect parameter to changeCell (Fixes #3388) 2016-05-08 18:59:41 +02:00
Roman Proskuryakov
d5dfa89060 Rewrite NAME_T into FIXED_STRING. 2016-05-07 23:27:33 +03:00
scrawl
c64b8ab297 Merge pull request #928 from Salgat/bug-1320
AiWander - Creatures in cells without pathgrids do not wander (Bug #1320)
2016-04-17 18:10:47 +02:00
Austin Salgat
84179c262f Update manual wandering to prevent actor from leaving/entering water
Water creatures will stay in the water, while land creatures will stay on land when wandering.
2016-04-16 16:39:13 -05:00
scrawl
d784a77f4c Set the default player cell in the StateManager (Fixes #3269) 2016-04-15 00:49:36 +02:00
Bret Curtis
2c90b0b78d fix a few spelling mistakes 2016-04-07 11:55:49 +02:00
scrawl
cf62d860b2 Fix the adjustPlayerPos parameter not being respected in all cases 2016-03-30 01:54:03 +02:00
scrawl
e1dda9675d Add "preload instances" setting, disabling this may help if you are low on memory. 2016-03-30 00:13:37 +02:00
scrawl
5cda89c15d Don't attempt to preload more exterior cells than the cache can hold (Bug #3273) 2016-03-29 00:50:30 +02:00
scrawl
83f1ab6d25 Add a time threshold to the removing of preloaded cells when the maximum cache size is reached (Bug #3273) 2016-03-29 00:50:21 +02:00
scrawl
4ac276b06c Update the resource cache every frame (Bug #3273)
Not much of a point in limiting this to cell loadings, since the update is done from a background thread and should be fairly cheap anyway if there's nothing to unload.
2016-03-29 00:50:13 +02:00
scrawl
2f8be401cc Add the unref work items to the front of the workqueue (Bug #3273)
Ensures that memory still gets freed even if the workqueue is overloaded.
2016-03-29 00:27:56 +02:00
scrawl
5bd8ef247d Do not adjust the player position when loading a savegame (Fixes #2089) 2016-03-24 17:18:08 +01:00
scrawl
3e6cf17665 Warn about cellrefs with an empty refId (Bug #3238) 2016-03-07 22:44:03 +01:00
scrawl
d0aba0d9ee Catch exceptions thrown during reference loading (Bug #3238) 2016-03-07 21:28:50 +01:00
scrawl
004f0d37d5 Fix the projectile launch position for spells cast from objects (Fixes #3235) 2016-03-05 15:56:54 +01:00
scrawl
76b47c6d5d PlaceAt: don't correct spawn points for non-actors 2016-03-04 12:25:22 +01:00
scrawl
16dca126dd PlaceAt: don't use actor's X/Y rotation 2016-03-04 12:22:13 +01:00
scrawl
3d6323f13a Force-enable hasWater() for exterior cells (Fixes #3222) 2016-03-02 17:02:30 +01:00
scrawl
2821f46a18 Corpse clearing fix 2016-03-01 11:31:08 +01:00
scrawl
36bb255bc0 Use safePlaceObject in spawnRandomCreature 2016-02-29 17:30:38 +01:00
scrawl
be62ae758a Fall back to sides first 2016-02-29 17:26:52 +01:00
scrawl
6df71f6250 Factor out safePlaceObject function 2016-02-29 17:19:22 +01:00
scrawl
11f00e3aa9 Rename safePlaceObject to placeObject 2016-02-29 17:05:18 +01:00
scrawl
27577ce765 Add ESM::Land::DEFAULT_HEIGHT 2016-02-28 16:49:18 +01:00
scrawl
fc3de3302e Create a collision shape for the default terrain 2016-02-28 16:47:41 +01:00
scrawl
f2f601b958 Implement corpse clearing (Fixes #2363) 2016-02-27 13:20:50 +01:00
scrawl
c3ef387208 Vanilla-compatible creature/NPC respawning (Fixes #2369, Fixes #2467) 2016-02-27 12:53:07 +01:00
scrawl
f99cd15f00 Vanilla-compatible activate / onActivate (Fixes #1629)
See https://forum.openmw.org/viewtopic.php?f=6&t=3074&p=34618#p34635
2016-02-26 13:08:35 +01:00
scrawl
8bd16e4d5a Don't compute the world matrix multiple times 2016-02-22 18:58:19 +01:00
scrawl
6fb0022b35 Update preloading settings
Disable 'preload fast travel' by default.

Add 'min cache size' and 'max cache size' settings.

Split the 'cache expiry delay' into 'preload cell expiry delay' and 'cache expiry delay'.
2016-02-18 17:47:10 +01:00
scrawl
383524c688 Run physics in fixed timesteps, use the remainder to interpolate between current and previous state
Based on http://gafferongames.com/game-physics/fix-your-timestep/
2016-02-13 03:03:34 +01:00
scrawl
6bfeb118d7 Fix cleanup issue 2016-02-10 19:08:17 +01:00
scrawl
9f729667fb Remove debug output 2016-02-09 21:16:11 +01:00
scrawl
0865cea211 Preload terrain 2016-02-09 21:16:11 +01:00
scrawl
1457a0de78 Use the UnrefQueue to delete BulletShapeInstances 2016-02-09 19:04:59 +01:00
scrawl
246566cef4 Preload instances in BulletShapeManager 2016-02-09 18:48:49 +01:00
scrawl
e28dc3e72f Preload instances in SceneManager 2016-02-09 18:35:26 +01:00
scrawl
f6f9eff9a6 Preload levelled creatures 2016-02-09 03:06:00 +01:00
scrawl
6806741d9b Add settings for disabling the individual preloading types 2016-02-09 01:58:33 +01:00
scrawl
10a3e270a3 Preload fast travel destinations 2016-02-09 01:52:02 +01:00
scrawl
1cda2bf796 Preload sky & water from the main menu 2016-02-09 01:28:13 +01:00
scrawl
f9082502f8 Move construction of WorkQueue to RenderingManager 2016-02-09 01:02:40 +01:00
scrawl
d16450bff2 Fix correctActorModelPath in preloader not being used 2016-02-09 00:28:27 +01:00
scrawl
effe022bb2 Move preload model list to MWClass, preload NPC head/hair 2016-02-08 20:52:32 +01:00
scrawl
fc0be77e4c Preload keyframes 2016-02-08 15:51:31 +01:00
scrawl
ef5de94548 Fix correctActorModelPath 2016-02-08 15:31:09 +01:00
scrawl
e4e313fe12 Remove outdated comment 2016-02-08 14:41:21 +01:00
scrawl
c8054424c9 Preload items equipped by NPCs 2016-02-07 22:37:52 +01:00
scrawl
a81b10b415 Make the cache expiryDelay configurable 2016-02-07 19:05:55 +01:00
scrawl
5efaa9817c Add preloading settings 2016-02-07 18:01:14 +01:00
scrawl
610257cd3a Preload the exterior cell grid 2016-02-07 07:37:56 -08:00
scrawl
8592166eeb Preload surrounding cells when preloading an exterior cell destination 2016-02-07 05:27:19 -08:00
scrawl
023c87b215 Preload cell when the player goes near a teleport door. It works! 2016-02-07 05:13:46 -08:00
scrawl
d855a13b44 Clear the resource cache from the worker thread 2016-02-07 00:36:31 +01:00
scrawl
6f9ca0f68f Add basic cell preloader class
Not properly in use yet, but seems to be working.
2016-02-07 00:14:13 +01:00
scrawl
a72af4a1a3 cout that should be cerr 2016-02-05 23:25:01 +01:00
scrawl
6ef848b7c5 Remove TextureManager::getTexture2D
Instead use getImage and let the caller create the Texture. Sharing of textures is then handled in post by the SharedStateManager.

This is closer to what the OSG serializer does.

Streamlines the TextureManager and will make it easier to multithread.
2016-02-05 23:01:11 +01:00
scrawl
c9a67ab423 Do not add scripts from levelled creatures twice (Bug #2806)
Do not insert objects from within a CellStore visitor
2016-02-05 18:29:33 +01:00
scrawl
bd655c20fd Refactor local map updates
We don't need the delay any more because the rendering itself is part of the normal rendering traversal - so it's delayed anyway.

Don't request maps that we're not actually using (i.e. with cell grid sizes higher than the default 3, we were rendering more maps than the map window could show).
2016-02-05 01:19:45 +01:00
scrawl
300379617e Accept a const CellStore in findInteriorPositionInWorldSpace 2016-02-05 01:19:45 +01:00
scrawl
41ebf62fb1 Accept a const CellStore in getNorthVector 2016-02-05 01:19:45 +01:00
Marc Zinnschlag
11a4a31bfd Merge remote-tracking branch 'scrawl/localscripts' 2016-02-04 13:49:43 +01:00
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
scrawl
71d9e7dc52 Read Ambient Loop Sound ID and Rain Loop Sound ID from the INI file 2015-11-16 02:21:45 +01:00
Marc Zinnschlag
de98ee0062 Merge remote-tracking branch 'scrawl/esm_rewrite' 2015-11-14 14:25:08 +01:00
scrawl
05498ad592 Refactor: InputManager no longer depends on Engine 2015-11-14 03:01:24 +01:00
scrawl
b8e11cf197 Merge commit 'pull/upstream/678' into HEAD
Conflicts:
	apps/esmtool/record.cpp
	apps/opencs/model/doc/savingstages.cpp
	apps/opencs/model/world/land.cpp
	apps/opencs/model/world/land.hpp
	apps/opencs/model/world/landtexture.cpp
	apps/openmw/mwworld/store.cpp
	components/esm/loadland.cpp
	components/esm/loadland.hpp
2015-11-13 01:34:36 +01:00
scrawl
8cd41f0ed4 Increase the ray distance for dropObjectOnGround (Fixes #3010) 2015-11-12 23:05:44 +01:00
scrawl
9e3eb8291f Rotations: fix the rotation order for doors 2015-11-12 02:09:00 +01:00
scrawl
3647af8d73 Rotations: use different rotation order when object is rotated via script (Fixes #2062) 2015-11-12 01:44:00 +01:00
scrawl
b4ce73f179 Rotations: remove LocalRotation
This never existed in vanilla MW in the first place. The reason we got confused was because of a strange behaviour where the order of applying rotations changes as soon as a script touches the object's rotation.
2015-11-12 01:16:37 +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
8aacbc398f Rotations: don't wrap the angle values for non-actors
It's not really necessary, and just complicates logic elsewhere. Neither does vanilla MW do it. As well, the question is if wrapping to [-PI, PI] or [0, 2*PI] would be the desired range.
2015-11-12 00:52:36 +01:00
MatthewRock
a662a00c62 Fixing bug for merchant 2015-11-10 19:18:02 +01:00
scrawl
682f30ef9c Fix incorrect uses of PhysicsSystem::getHalfExtents
Did not account for translation of collision box (mMeshTranslation in actor.cpp)
2015-11-03 19:05:36 +01:00
scrawl
a5f8ffb83d aimToTarget: Fix the collision box translation not being taken into account 2015-11-03 18:15:47 +01:00
scrawl
de97a8a3da Do not allow disabling the player object 2015-11-03 17:53:57 +01:00
scrawl
802620a86b Use TimeOfDayInterpolator for Land Fog Depth
Fixes the sudden fog jump at nightfall.
2015-11-01 23:03:16 +01:00
scrawl
45bf3e6788 Create TimeOfDayInterpolator class to refactor time handling in WeatherManager 2015-11-01 22:59:26 +01:00
scrawl
8da4530957 Use INI-imported underwater fog settings (Fixes #2907, Fixes #1511) 2015-11-01 22:09:27 +01:00
scrawl
bd9dc58560 Use the correct scale for actor swim height (Fixes #2833) 2015-11-01 21:45:58 +01:00
scrawl
e13eb625d3 New water WIP
Changes compared to old (Ogre) water:
- Uses depth-texture readback to handle the underwater fog in the water shader, instead of handling it in the object shader
- Different clipping mechanism (glClipPlane instead of a skewed viewing frustum)
- Fixed bug where the reflection camera would look strange when the viewer was very close to the water surface
- Toned down light scattering, made the waterColor a bit darker at night
- Fixed flipped water normals and strange resulting logic in the shader

Still to do: see comments...
2015-10-29 00:25:23 +01:00
scrawl
f36d463617 Enchantment error handling fix (Fixes #2959)
Catch errors about missing enchantments before they propagate up the stack and interrupt the whole frame update.
2015-10-13 18:15:39 +02:00
Marc Zinnschlag
379d13c7b9 Merge remote-tracking branch 'scrawl/unstack_script' 2015-10-07 08:12:02 +02:00
scrawl
91bf5ae237 Add new script instance when a container item is unstacked (Bug #2962) 2015-10-07 02:43:21 +02:00
scrawl
7b6fe149f2 getSpellSuccessChance return 0 for used powers (Fixes #2944) 2015-10-05 15:41:43 +02:00
Marc Zinnschlag
9279ae4ba0 Merge remote-tracking branch 'zelurker/removed_items' 2015-09-26 11:24:56 +02:00
scrawl
b9c6a6862a Don't reset god mode, scripts enabled and sky enabled flags when loading a save game
These flags aren't stored in the save file, so it makes no sense to reset them to their default each time a save game is loaded. Instead, reset on "new game".
2015-09-26 01:49:58 +02:00
Emmanuel Anne
2fff6b06cc removed items by mods do not break cell loading
like fortify intelligence potions removed by sris_alchemy which break the
loading of the firewatch mages guild
2015-09-25 14:23:49 +02:00
Alexander "Ace" Olofsson
caa119f13c Fix instantiation on non-Visual Studio 2015-09-24 15:55:38 +02:00
Alexander "Ace" Olofsson
7d4125d97f Fixes for building with unity build 2015-09-24 15:21:42 +02:00
scrawl
385f4f729c Implement SunDiscSunsetColor, fade the sun during sunrise & sunset 2015-09-21 19:43:48 +02:00
scrawl
a2a4532e71 Add the full-screen sun glare effect 2015-09-21 17:20:08 +02:00
scrawl
8de3ce90a7 Add comments for weather IDs 2015-09-19 18:04:24 +02:00
Marc Zinnschlag
96880b4dfe Merge remote-tracking branch 'scrawl/tabs' 2015-09-17 09:30:31 +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
Marc Zinnschlag
2a981a5272 make sure local variables are loaded when trying to access them from outside of a script (Fixes #2659) 2015-09-15 13:58:07 +02:00
Marc Zinnschlag
2c37731494 Merge remote-tracking branch 'dteviot/MagicEffectsRefactorDraft3' 2015-09-12 08:41:12 +02:00
Marc Zinnschlag
0ff786bebd Merge remote-tracking branch 'origin/master' 2015-09-11 13:22:31 +02:00
Marc Zinnschlag
a445683312 Merge branch 'mergetool'
Conflicts:
	apps/opencs/CMakeLists.txt
	apps/opencs/model/tools/tools.cpp
2015-09-11 13:22:15 +02:00
dteviot
e9c796166a Added MWMechanics::isPlayerInCombat() 2015-09-10 18:48:34 +12:00
scrawl
cd0f8e556b Merge pull request #753 from slothlife/thunderstorm-support
Improve thunderstorm support.
2015-09-09 14:44:36 +02:00
slothlife
29d74f0249 Improve thunderstorm support.
Reversed settings for thunderstorms. Added thunder support to all
weather types. Implemented a simple lightning flash effect similar to
MW.
2015-09-08 22:05:33 -05:00