1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-29 01:45:33 +00:00
Commit graph

3655 commits

Author SHA1 Message Date
James Stephens
bafbc0a055 Cancel door sound if collision is detected and the sound is playing 2019-09-05 07:49:53 +00:00
Roman Siromakha
41ad23ebdc
Revert "[WIP] Open door when it is on the way to a next path point (bug #5073)" 2019-08-27 20:55:03 +02:00
elsid
b4ec444057
Open door when it is on the way to a next path point 2019-08-27 20:49:35 +02:00
David Cernat
e0f623fb87 [Client] Move check for preventing auto equipping to correct spot 2019-08-26 15:39:56 +03:00
elsid
16170131b7
Add enum type for door state 2019-08-25 15:21:00 +02:00
David Cernat
9350e1d484 [General] Split up Attack packets into Attack and Cast ones
Create an entirely new PlayerCast packet for that purpose, but rename the already existing but unused ActorInteraction into ActorCast.
2019-08-25 09:35:23 +03:00
David Cernat
353e7d530a Add OpenMW commits up to 18 Aug 2019
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/mwmechanics/character.cpp
#	apps/openmw/mwmechanics/spellcasting.cpp
#	apps/openmw/mwworld/worldimp.hpp
2019-08-22 22:44:00 +03:00
David Cernat
ed05125f6a Add OpenMW commits up to 2 Aug 2019
# Conflicts:
#	apps/openmw/mwmechanics/combat.cpp
2019-08-22 15:38:15 +03:00
David Cernat
b57c0bcafe Add OpenMW commits up to 6 June 2019
# Conflicts:
#	apps/openmw/mwgui/hud.cpp
#	apps/openmw/mwgui/jailscreen.cpp
#	apps/openmw/mwgui/waitdialog.cpp
#	apps/openmw/mwinput/inputmanagerimp.cpp
#	apps/openmw/mwworld/worldimp.hpp
2019-08-22 11:42:02 +03:00
David Cernat
5181c601c0 Add OpenMW commits up to 2 May 2019
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
#	apps/openmw/mwscript/statsextensions.cpp
2019-08-22 08:40:32 +03:00
David Cernat
f671c0bddc Add OpenMW commits up to 1 Apr 2019
# Conflicts:
#	.travis.yml
#	CMakeLists.txt
#	apps/openmw/engine.cpp
#	apps/openmw/mwdialogue/dialoguemanagerimp.cpp
#	apps/openmw/mwgui/jailscreen.cpp
#	apps/openmw/mwgui/trainingwindow.cpp
#	apps/openmw/mwgui/travelwindow.cpp
#	apps/openmw/mwgui/waitdialog.cpp
2019-08-21 23:54:39 +03:00
David Cernat
8729c3c5e3 Add OpenMW commits up to 9 Mar 2019
# Conflicts:
#	.travis.yml
#	CI/before_script.linux.sh
#	README.md
#	apps/openmw/mwgui/jailscreen.cpp
#	apps/openmw/mwscript/animationextensions.cpp
#	apps/openmw/mwscript/guiextensions.cpp
#	apps/openmw/mwscript/miscextensions.cpp
#	apps/openmw/mwscript/soundextensions.cpp
2019-08-21 19:04:04 +03:00
David Cernat
95a5607509 Add OpenMW commits up to 22 Feb 2019
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/mwmechanics/spellcasting.cpp
#	apps/openmw/mwscript/containerextensions.cpp
2019-08-21 17:29:24 +03:00
David Cernat
6205ff6b04 Add OpenMW commits up to 30 Jan 2019
# Conflicts:
#	apps/openmw/mwworld/worldimp.cpp
2019-08-21 15:48:07 +03:00
David Cernat
6fdef4fd0a Add OpenMW commits up to 1 Jan 2019
# Conflicts:
#	.travis.yml
#	CMakeLists.txt
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwphysics/physicssystem.hpp
#	apps/openmw/mwworld/worldimp.cpp
#	apps/openmw/mwworld/worldimp.hpp
2019-08-21 14:37:54 +03:00
David Cernat
68886e7539 Add OpenMW commits up to 2 Dec 2018
# Conflicts:
#	.travis.yml
#	README.md
2019-08-21 13:08:56 +03:00
David Cernat
cbba81df03 Add OpenMW commits up to 14 Nov 2018
# Conflicts:
#	.travis.yml
#	CI/before_install.linux.sh
#	CI/before_script.linux.sh
#	CMakeLists.txt
#	apps/openmw/CMakeLists.txt
#	apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
#	apps/openmw/mwworld/containerstore.cpp
#	apps/openmw/mwworld/inventorystore.cpp
2019-08-21 09:04:36 +03:00
David Cernat
3efffe92e3 Add OpenMW commits up to 5 Nov 2018
# Conflicts:
#	CI/before_install.linux.sh
#	CMakeLists.txt
#	apps/openmw/mwmechanics/aifollow.cpp
#	apps/openmw/mwmechanics/mechanicsmanagerimp.hpp
#	apps/openmw/mwphysics/physicssystem.hpp
#	apps/openmw/mwworld/scene.cpp
#	apps/openmw/mwworld/worldimp.cpp
#	components/CMakeLists.txt
2019-08-21 05:08:50 +03:00
David Cernat
fba07194cf Add OpenMW commits up to 29 Oct 2018
# Conflicts:
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwinput/inputmanagerimp.cpp
#	apps/openmw/mwmechanics/actors.cpp
#	apps/openmw/mwmechanics/aicombat.cpp
#	apps/openmw/mwmechanics/character.cpp
#	apps/openmw/mwworld/worldimp.cpp
#	apps/openmw/mwworld/worldimp.hpp
2019-08-20 13:15:00 +03:00
David Cernat
056591b957 Add OpenMW commits up to 14 Sep 2018
# Conflicts:
#	apps/openmw/mwgui/container.cpp
#	apps/openmw/mwworld/worldimp.hpp
2019-08-20 12:14:57 +03:00
David Cernat
889bcec7f8 Add OpenMW commits up to 1 Sep 2018
# Conflicts:
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwclass/creature.cpp
#	apps/openmw/mwclass/npc.cpp
#	apps/openmw/mwgui/jailscreen.cpp
#	apps/openmw/mwmechanics/actors.cpp
#	apps/openmw/mwmechanics/difficultyscaling.cpp
#	apps/openmw/mwscript/transformationextensions.cpp
#	apps/openmw/mwworld/worldimp.hpp
2019-08-20 11:31:51 +03:00
David Cernat
84cab59057 Add OpenMW commits up to 19 Aug 2018
# Conflicts:
#	.travis.yml
#	CI/before_install.linux.sh
#	CI/before_script.linux.sh
#	apps/openmw/engine.cpp
#	apps/openmw/main.cpp
#	apps/openmw/mwgui/windowmanagerimp.cpp
#	apps/openmw/mwmechanics/actors.hpp
#	apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
#	apps/openmw/mwscript/aiextensions.cpp
#	apps/openmw/mwscript/containerextensions.cpp
#	apps/openmw/mwscript/dialogueextensions.cpp
#	apps/openmw/mwworld/cellstore.cpp
#	apps/openmw/mwworld/containerstore.cpp
#	apps/openmw/mwworld/scene.cpp
#	apps/openmw/mwworld/worldimp.cpp
#	components/misc/debugging.hpp
2019-08-20 10:06:15 +03:00
David Cernat
0339958e21 [General] Rename Log class into TimedLog 2019-08-19 21:39:33 +03:00
Andrei Kortunov
d0bc06b849
Merge pull request #2438 from Capostrophic/camera
Rewrite messed up playerlooking switch handling (bug #5078)
2019-08-17 23:15:21 +04:00
Andrei Kortunov
786a6c6d42 Use a common doors rotation code in the "lock" command handler 2019-08-16 21:30:24 +04:00
elsid
4d86bf3bf2
Update rotated world objects in navigator 2019-08-15 18:19:19 +02:00
Andrei Kortunov
f0cef772fa Refactor weapon types behaviour
1. Move weapon types behaviour from switches to the table (should allow
us to de-hardcode weapon types later)
2. Gereralize bones injection to actors skeletons (instead of using the
hardcoded xbase_anim_sh.nif)
2019-08-09 19:40:27 +04:00
Andrei Kortunov
8557346fbd Use glow for enchanted arrows (feature #5122) 2019-08-07 12:58:14 +04:00
Andrei Kortunov
4c92f0c4e1 Move getEnchantmentColor() from Animation to Class 2019-08-07 08:51:46 +04:00
capostrophic
6fe429c4e8 Don't force-trace down swimming actors (bug #5089) 2019-07-31 00:45:54 +03:00
Capostrophic
0b074f2211 Rewrite messed up playerlooking switch handling (bug #5078) 2019-07-29 15:44:17 +03:00
Alexei Dobrohotov
19dc01232c
Fix CenterOnCell target rotation 2019-06-30 16:03:24 +03:00
Capostrophic
3aa65273c5 Signedness fixes 2019-06-18 14:47:10 +03:00
David Cernat
301fff7fe5 [Client] Always allow spellcasting from dedicated players and actors 2019-06-17 04:21:43 +03:00
Capostrophic
d98a90194b Erase effects with invalid indices from spells (bug #5050) 2019-06-02 14:56:39 +03:00
Capostrophic
e7208bb80e Improve face shielding behavior in general case (bug #4240) 2019-05-30 12:16:25 +03:00
Andrei Kortunov
ab03b9ac1c Do not sort the Land store every savegame load - it is static anyway (bug #4844) 2019-05-24 08:04:20 +04:00
Andrei Kortunov
e679190f31 Introduce a custom format() function to get rid of boost::format() and hackish replace() 2019-05-20 09:20:01 +04:00
Capostrophic
144b1b9b06 Magic armor mitigation for creatures (feature #5033) 2019-05-11 19:21:49 +03:00
Alexei Dobrohotov
216f908a07
Merge pull request #2286 from akortunov/map
Do not re-render maps for all active cells during cell transitions
2019-05-11 02:30:38 +03:00
Alexei Dobrohotov
1d12d778ea
Merge pull request #2370 from akortunov/herbalism
Container search tweaks
2019-05-06 22:34:12 +03:00
Andrei Kortunov
7214f24f5c Ignore containers, when we search for owner 2019-05-06 23:06:13 +04:00
Andrei Kortunov
abe1009e98 Do not resolve container's content during search 2019-05-06 23:05:31 +04:00
Capostrophic
458c0bba41 Avoid using null pointer for player's cell in moveObjectImp 2019-05-05 16:43:32 +03:00
Andrei Kortunov
c91d1e7394 Ignore containers without resolved content for Detect spells 2019-05-04 14:40:32 +04:00
Andrei Kortunov
861d41f4a4 Native graphics herbalism support (feature #5010) 2019-05-02 23:03:47 +04:00
Andrei Kortunov
28252bb359 Merge branch 'hashRefID' into 'master'
Remove string copy in CellStore::search

See merge request OpenMW/openmw!77
2019-04-24 16:46:13 +00:00
David Cernat
f6db7d4fc5 [Client] Avoid sending repeated ObjectDelete packets about an object 2019-04-24 00:52:11 +03:00
Andrei Kortunov
626a05f825
Merge pull request #2128 from Capostrophic/blood
Support all eight possible blood types (feature #4958)
2019-04-21 21:14:30 +04:00
Capostrophic
f0433704b4 Only collect every unique magic bolt sound once (bug #4964) 2019-04-17 19:23:50 +03:00
Capostrophic
7814bd1b76 Support eight possible blood types (feature #4958) 2019-04-14 18:48:31 +03:00
Capostrophic
2c473d84ee Fix zero division in enchantment magnitude calculation 2019-04-14 12:47:11 +03:00
Bret Curtis
f4e113e7c1
Merge pull request #2277 from akortunov/terrain
Camera-related fixes
2019-04-12 11:17:20 +02:00
Andrei Kortunov
9b716a2f8d
Merge pull request #2311 from Capostrophic/random
Use dice rolls instead of chance for spell magnitude (bug #4945)
2019-04-12 07:59:38 +04:00
Andrei Kortunov
413207f9af Reset old record, if its ID does not match with ID of new record (bug #4932) 2019-04-08 22:24:49 +04:00
Capostrophic
d4c1bd81b6 Use dice rolls instead of chance for spell magnitude (bug #4945) 2019-04-08 20:25:30 +03:00
Andrei Kortunov
14b756a692 Use a generic logging system for RecastNavigation 2019-04-08 20:31:21 +04:00
Bret Curtis
ca6f1bdd13
Merge pull request #2288 from Capostrophic/magiceffect
Validate spell effect argument (bug #4927)
2019-04-08 13:51:02 +02:00
Bret Curtis
7808cbbfe8
Merge pull request #2292 from akortunov/fallback
Make fallback map static to simplify constructors
2019-04-07 17:43:59 +02:00
Andrei Kortunov
489e5c6cce Store preloaded terrain view in the main thread 2019-04-07 11:15:21 +04:00
bzzt
63ab7345be Reuse traversal result for different traversal with same view point
Rename eyePoint to viewPoint to match OSG conventions (eyePoint is the camera position, viewPoint is for LOD handling)
2019-04-07 11:14:37 +04:00
uramer
c89efd251c [General] Implement CellReset packet, stage 2 2019-04-07 01:27:15 +02:00
Capostrophic
7202f45771 Only allow resting in air when a bed is used 2019-04-04 17:22:24 +03:00
Capostrophic
be125aa996 Add spell effect argument validation (bug #4927) 2019-04-01 16:22:24 +03:00
Capostrophic
3a0e374dc6 Replicate vanilla Position/SetPos behavior more closely (bug #3109) 2019-03-31 14:17:06 +03:00
bzzt
ed4ce4609b Do not re-render maps for all active cells during cell transitions 2019-03-30 09:10:48 +04:00
Andrei Kortunov
a302ec9c65 Make fallback map static to simplify constructors 2019-03-29 15:30:49 +04:00
Bret Curtis
886c77bced
Merge pull request #2145 from akortunov/rest
Update jail state once instead of for every single hour
2019-03-27 13:14:22 +01:00
uramer
6cb4d5ec35 [General] Implement CellReset packet, stage 1 2019-03-24 13:23:13 +01:00
elsid
fa7b304e78
Use auto for map value_type in range-based for loops
To avoid implicit call of copy constructor for
pair<const K, V> to pair<K, V> conversion.
2019-03-21 23:09:42 +03:00
Bret Curtis
7b1a62fc1d
Merge pull request #2247 from akortunov/loadtex
Allow to override texture records in the game
2019-03-11 21:05:30 +01:00
Andrei Kortunov
943279abbb Consider land texture with given ID and index as override for base texture with the same ID and index (bug #4736) 2019-03-11 20:19:19 +04:00
elsid
518e34b403
Remove useless variables 2019-03-10 23:58:48 +03:00
Bret Curtis
9b190eceab
Merge pull request #2230 from akortunov/preloading
Minor preloading improvements
2019-03-09 17:56:18 +01:00
Bret Curtis
573e64e9c9
Merge pull request #2184 from elsid/fix_startup_script
[Testing needed] Always run startup script once at engine start (bug #4877)
2019-03-09 14:04:06 +01:00
Andrei Kortunov
12f9184d00 Allow to interrupt terrain preloading 2019-03-09 13:15:23 +04:00
Andrei Kortunov
4c21776b94 Use relative animation time only for bows and crossbows (bug #3778) 2019-03-08 20:16:02 +04:00
Andrei Kortunov
d23a0ce2ae Use C++11-style loops in the game world instead of iterators 2019-03-07 12:39:57 +04:00
elsid
5405efd3b5
Do not build path by navigator for pure water and flying creatures
They don't need to move by surfaces and to open/close doors.
2019-03-05 22:45:05 +03:00
fredzio
93ffdc915d SearchVisitor copy a new std::string everytime CellsStore::search is
called. Use a reference instead
2019-03-05 06:07:59 +01:00
elsid
80051db8f8
Update rotated objects in navigator 2019-03-04 22:59:39 +03:00
elsid
8c08c3c7d6
Update moved objects in navigator 2019-03-04 22:59:39 +03:00
elsid
27d7452267
Update scaled objects in navigator 2019-03-04 22:59:39 +03:00
elsid
2e063d59ce
Update scaled agent half extents in navigator (bug #4763) 2019-03-04 22:59:39 +03:00
elsid
43b39e8418
Use not scaled player half extents as default to find path 2019-03-04 22:59:38 +03:00
elsid
1218e4e15d
Use player half extents only to find path in exterior cells 2019-03-04 22:59:20 +03:00
Bret Curtis
14c93b3df0 Revert "Merge pull request #2204 from elsid/fix_navigator_update"
This reverts commit 26fb0e7a0f, reversing
changes made to 42b2391303.
2019-03-04 11:06:15 +01:00
elsid
b51a54e976
Update rotated objects in navigator 2019-03-03 16:46:41 +03:00
elsid
f394ace4d5
Update moved objects in navigator 2019-03-03 16:46:41 +03:00
elsid
133d7447f3
Update scaled objects in navigator 2019-03-03 16:46:41 +03:00
elsid
1f41d5721d
Update scaled agent half extents in navigator (bug #4763) 2019-03-03 16:46:39 +03:00
elsid
c066ee9dc5
Use not scaled player half extents as default to find path 2019-03-03 16:21:12 +03:00
elsid
a4f300f810
Use player half extents only to find path in exterior cells 2019-03-03 16:21:09 +03:00
Perry Hugh
313611b79d Analogue Joystick Movement 2019-03-02 23:46:48 +00:00
Grigory Latyshev
3872d7476b Move makeOsgVec3f() to settingsutils.hpp
Remove all other makeOsgVec3f() implementations
2019-02-28 20:03:42 +00:00
elsid
619a111a11
Run startup script once at engine start when game is running (bug #4877) 2019-02-27 22:55:13 +03:00
bzzt
5ffb40e8ba Don't preload terrain when loading an interior save 2019-02-27 00:02:57 +03:00
Andrei Kortunov
fcdb0c16bf Update jail state once instead of for every single hour 2019-02-23 09:17:06 +04:00
Andrei Kortunov
3032b177a1 Remove redundant includes 2019-02-23 08:02:12 +04:00
Bret Curtis
212f097b3c
Merge pull request #2172 from akortunov/pvs_fix
Fix some issues, found by PVS-Studio
2019-02-22 15:01:37 +01:00
Capostrophic
c03ed4cd50 Include cleanup 2019-02-19 18:40:33 +03:00
Bret Curtis
fdb84dddc8
Merge pull request #2059 from Capostrophic/stacks
Don't stack scripted items (bug #2969)
2019-02-18 16:02:55 +01:00
Andrei Kortunov
229bd8505e Init missing variables 2019-02-17 14:29:39 +04:00
elsid
9626b6ec42
Add option to disable DetourNavigator component to find paths 2019-02-16 15:50:58 +03:00
elsid
1d3668cd22
Add Navigator interface 2019-02-16 15:37:06 +03:00
elsid
c68e64a2a7
Make navigator from settings manager setting in separate function 2019-02-16 14:41:11 +03:00
Capostrophic
796b87fde7 Fix upside-down night-time lighting 2019-02-06 23:53:13 +03:00
Bret Curtis
a573efd30a
Merge pull request #2112 from Capostrophic/collision
[0.45.0 regression] Don't re-enable collision body for dead actors
2019-02-05 15:36:06 +01:00
Capostrophic
a584aa25ab Don't re-enable collision object for dead actors 2019-02-04 22:13:30 +03:00
Andrei Kortunov
9e4a339ad3 Daytime node switch support (feature #4836) 2019-02-02 10:50:15 +04:00
David Cernat
fd40e8c971 [Client] Prevent ObjectState spam by not resending an already sent state 2019-01-15 14:26:00 +02:00
Capostrophic
8bb270c2bb Update moved object collisions even if the cell is the same (bug #4800) 2019-01-14 00:56:43 +03:00
David Cernat
799241e8c6 [Client] Use informative error message for RefData::setCount() issue 2019-01-11 08:16:29 +02:00
Bret Curtis
8834ee95be
Merge pull request #2120 from Capostrophic/macros
Get rid of some remaining instances of C numeric limits
2019-01-10 18:59:34 +01:00
Bret Curtis
9c795195d0
Merge pull request #2109 from Capostrophic/loops
Simplify some world loops
2019-01-10 11:44:41 +01:00
Capostrophic
a71cfca580 Get rid of some remaining instances of C limit macros 2019-01-09 16:06:18 +03:00
Capostrophic
776c6c2fe6 Fix MSVC warning 2019-01-07 20:38:33 +03:00
Andrei Kortunov
0937f02598 Get rid of unnecessary string streams 2019-01-07 21:08:16 +04:00
Andrei Kortunov
b17702bf1f Do not restore birthsign abilities upon game load (bug #4329) 2019-01-07 20:18:21 +04:00
Capostrophic
a1af1ff487 Fix extra semicolon, redundant getStore calls and random creature spawn loop 2019-01-07 17:48:41 +03:00
Bret Curtis
573af17cf9
Merge pull request #2097 from akortunov/camerafix
Do not scale player's model in the 1st-person view depending on race
2019-01-07 13:57:21 +01:00
Andrei Kortunov
ab0841cc3d Split physics update from world update in the profiler 2019-01-07 14:44:43 +04:00
Andrei Kortunov
02a43d0b32 Do not scale player's model in the 1st-person view depending on race (bug #4383) 2019-01-07 12:58:47 +04:00
Capostrophic
27eb64c7f0 Clean up fallback record creation again 2019-01-02 13:49:04 +03:00
David Cernat
81e2e48561 [Client] Fix item magic casting synchronization for spell scrolls
Previously, spell scrolls were used up before their IDs could be included in attacks packets supposed to be sent for them.
2018-12-31 13:24:32 +02:00
Capostrophic
0ab5314755 Make scripted items not stack (bug #2969) 2018-12-30 18:18:33 +03:00
Capostrophic
8a266803eb Simplify some world loops 2018-12-30 15:36:42 +03:00
Bret Curtis
91b962c095
Merge pull request #2099 from xyzz/replace-volatile-atomic
Replace volatile bools with std::atomic<bool>
2018-12-28 16:41:07 +01:00
Capostrophic
7155e787b4 Clean up fallback record creation 2018-12-28 01:22:24 +03:00
David Cernat
f853368641 [Client] Fix loss of player items in ContainerStore::unstack()
Previously, unstacking items for a player led to a PlayerInventory packet being sent about the items' removal.

This change makes it so both a packet about their re-addition and their removal are sent instead, cancelling each other out, which is inelegant, but arguably preferable to complicating the sending of PlayerInventory packets again.
2018-12-26 12:24:26 +02:00
Ilya Zhuravlev
07e9ce84b3 Replace volatile bools with std::atomic<bool> 2018-12-24 14:19:35 -05:00
David Cernat
50714599d9 [Client] Spawn at exterior 0, -7 by default 2018-12-17 08:25:22 +02:00
Andrei Kortunov
a53333c3d5 Native animated containers support (feature #4730) 2018-12-13 23:11:16 +04:00
Capostrophic
7b33838b33 Don't consider non-solid actors truly levitating (bug #4746) 2018-12-05 23:37:32 +03:00
Capostrophic
5c8c079718 Fix incorrect event argument which messed with hidden light pointers 2018-12-04 17:07:03 +03:00
Capostrophic
c59513c30c Revert unnecessary case changes for fallback records 2018-12-01 17:12:27 +03:00
Andrei Kortunov
e8b3ae8706 Improve ResetActors command (bug #4723) 2018-11-20 21:53:27 +04:00
Bret Curtis
228f6b572f
Merge branch 'master' into prisonmarker 2018-11-08 21:11:24 +01:00
Capostrophic
4efe1bc892 Add prison marker record fallback definition (bug #4701) 2018-11-05 19:37:46 +03:00
Andrei Kortunov
92e45507d8 Weapon sheathing support, including quivers and scabbards (feature #4673) 2018-11-05 11:18:20 +04:00
elsid
db5638bf6d
Add global recast allocator to allocate temp buffers on stack 2018-11-04 18:11:15 +03:00
Andrei Kortunov
829faf7b2c Improve toggleactorspaths console command 2018-11-03 10:42:14 +04:00
elsid
49d81241db Merge branch 'master' into pathfinder_detour 2018-10-28 17:08:09 +03:00
Bret Curtis
3cd59d4a89
Merge pull request #1993 from akortunov/loadingbar
Center progress bar when there are active messageboxes
2018-10-28 14:43:33 +01:00
elsid
abc51a8a17 Add settings option to set max number of polygons per navmesh tile 2018-10-28 15:36:47 +03:00
Andrei Kortunov
6e05853478 Center progress bar when there are active messageboxes (bug #4691) 2018-10-28 14:40:48 +04:00
Marc Zinnschlag
9dd0d641bc Merged pull request #1931 2018-10-28 11:02:33 +01:00
David Cernat
c65d6c1328 [Client] Disable mListener methods in mwworld/containerstore
This should put an end to frequent crashes until I can fix the problem properly.
2018-10-27 02:19:45 +03:00
Andrei Kortunov
e7de6b974a Optimize actors processing
1. Do not update physics and animations for actors outside processing range (bug #4647)
2. Do not render such actors
3. Add transparency to actors near processing border, so they will not pop up suddenly
2018-10-25 22:52:59 +04:00
Capostrophic
c3e8d536cd Implement getNormalizedEnchantmentCharge() method and use it 2018-10-25 16:16:07 +03:00
Capostrophic
54bd7b2dcf Implement getItemNormalizedHealth() method and use it 2018-10-25 15:45:31 +03:00
Capostrophic
4ce35c6ad5 Fix fixme behavior in interiors 2018-10-24 01:43:38 +03:00
Andrei Kortunov
ca07e3a364 Check for obstacle before back up (bug #4656) 2018-10-14 12:22:43 +04:00
elsid
ed73d130f9
Cache navmesh tiles
Use LRU modification to hold currently used items. Use RecastMesh binary
data for item key.

Store original pointer of btCollisionShape in user pointer to make available
it as an identifier within all duplicates. Use pointer to heights data array
for btHeightfieldTerrainShape.
2018-10-13 22:22:12 +03:00
elsid
1a27489904
Add special type for object id 2018-10-13 22:16:35 +03:00
elsid
7c80bb9411
Support multiple threads for async nav mesh updater 2018-10-13 22:16:34 +03:00
elsid
ff478aba6d
Use actor half extent for interior cells 2018-10-13 22:16:33 +03:00
elsid
346e9e3141
Add off mesh connections for doors without teleport 2018-10-13 22:16:33 +03:00
elsid
f8dbd5902f
Update doors objects in navigator 2018-10-13 22:16:33 +03:00
elsid
dc09674362
Add command and settings option to enable actors paths render 2018-10-13 22:16:32 +03:00
elsid
c95cea414c
Support water for NavMesh 2018-10-13 22:16:32 +03:00
elsid
fa23b590a4
Add unwalkable areas to NavMesh 2018-10-13 22:16:32 +03:00
elsid
c3298d13a6
Add log sinks (stdout and file) 2018-10-13 22:16:31 +03:00
elsid
144e1a063b
Support animated objects 2018-10-13 22:16:30 +03:00
elsid
4aba0fa85f
Limit number of NavMesh tiles to add by distance from player tile 2018-10-13 22:16:30 +03:00
elsid
6f3028b8f9
Update navigator when unload cell or add/remove object to scene 2018-10-13 22:16:29 +03:00
elsid
02ce4a7e50
Log to detournavigator log cell load and unload 2018-10-13 22:16:28 +03:00
elsid
ed3a255f65
Do not use NavMesh to find changed tiles 2018-10-13 22:16:28 +03:00
elsid
70a369f70e
Add command to enable NavMesh render
togglenavmesh or tnm
2018-10-13 22:16:28 +03:00
elsid
dd5e6a61a3
Support btCompoundShape for RecastMesh 2018-10-13 22:16:27 +03:00
elsid
373adc6ec4
Option to enable/disable file names revisions 2018-10-13 22:16:27 +03:00
elsid
d1d034a1ec
Update NavMesh one by one tile in order from nearest to player 2018-10-13 22:16:26 +03:00
elsid
41caca24ee
Options to enable/disable write recast mesh and nav mesh into file 2018-10-13 22:16:26 +03:00
elsid
6d233ae868
Option in settings to enable/disable detour navigator debug log 2018-10-13 22:16:26 +03:00
elsid
0c8db84962
Load cells in order from nearest to player to furthest 2018-10-13 22:16:26 +03:00
elsid
0c8a7295e6
Use only player's half extents 2018-10-13 22:16:25 +03:00
elsid
fafba8ea0c
Use recastnavigation to find path 2018-10-13 22:16:25 +03:00
elsid
e707202f88
Use local constant 2018-10-13 22:16:24 +03:00
elsid
ed89126828
Fix warning implicit conversion changes singedness 2018-10-13 22:16:24 +03:00
David Cernat
d9dd7073cf [General] Send certain packets only when logged in
Previously, client mods adding packet-sending scripts to the spawn area made clients send the associated packets as soon as they inputted their character name when joining a server using those mods. This made the clients either get disconnected for not replying to a handshake first, or it made them get kicked for sending object packets that are disallowed for players who are not logged in.

To fix this, LocalPlayer's hasFinishedCharGen() has been replaced with isLoggedIn(), because the former was already returning true when players inputted their names.
2018-10-13 15:36:13 +03:00
Marc Zinnschlag
2d87d1d9d2 Merged pull request #1959 2018-10-10 15:05:29 +02:00
Marc Zinnschlag
d466785aa7 Merged pull request #1958 2018-10-10 15:04:32 +02:00
Andrei Kortunov
e06f0b797a Replace all NULLs to nullptr 2018-10-09 10:21:12 +04:00
Capostrophic
09aecb955c getSkill usage cleanup (bug #4671) 2018-10-08 17:06:30 +03:00
Capostrophic
cae2e84ab4 Trace the player down after enabling collision with TCL (bug #4669) 2018-10-08 16:15:15 +03:00
Marc Zinnschlag
33044add97 Merged pull request #1938 2018-09-28 11:31:45 +02:00
Marc Zinnschlag
3dc15d39e3 Merged pull request #1936 2018-09-28 11:30:13 +02:00
Capostrophic
2e98cad895 Fade out sun glare and specularity completely at night start, not sunset start 2018-09-27 17:34:46 +03:00
Marc Zinnschlag
43880ca47b Merged pull request #1919 2018-09-27 11:06:00 +02:00
Andrei Kortunov
8af021d729 Restore dynamic stats for actors in inactive cells (bug #1875) 2018-09-26 07:46:28 +04:00
Sergey Fukanchik
f00f35ba86 Add const to canRest() 2018-09-23 06:25:20 +03:00
Sergey Fukanchik
f2e11e6def Fix MSVC C4596 illegal qualified name 2018-09-23 04:06:29 +03:00
Capostrophic
52da65b776 Fix issues with sun specularity (bug #4527) 2018-09-23 03:39:06 +03:00
Sergey Fukanchik
44bcd9b25f Fix tab characters 2018-09-23 02:46:29 +03:00
Sergey Fukanchik
c50ee22772 Wrap up World::canRest() implementation by moving enemiesNearby() from InputManager::rest() to World::canRest(). 2018-09-23 01:52:56 +03:00
Andrei Kortunov
01b3f92f7e Make coc and fixme console commands close to vanilla (bug #4292, bug #4217) 2018-09-20 16:25:02 +04:00
Andrei Kortunov
70ed8fd1a9 Use constants instead of widely used magic numbers (task #4645) 2018-09-17 19:22:50 +04:00
Marc Zinnschlag
c6b62308cd Merged pull request #1921 2018-09-17 12:02:44 +02:00
Andrei Kortunov
ae1c054635 Make GetPCJumping return true only when jumping (bug #4641) 2018-09-16 11:58:01 +04:00
Capostrophic
5909297809 Make underwater SFX always apply based on camera position (bug #4532) 2018-09-15 23:26:07 +03:00
Marc Zinnschlag
6100e34051 Merged pull request #1912 2018-09-12 12:04:49 +02:00
Andrei Kortunov
e5a81b1f99 Fix some issues, found by Coverity Scan 2018-09-10 16:35:27 +04:00
Andrei Kortunov
dcc1a122f7 Use drag and drop for ActionTake when InventoryWindow is active (bug #4543) 2018-09-10 15:18:07 +04:00
David Cernat
7d221509cd [Client] Move item magic hook to correct location
Previously, synchronization for strike enchantments was partially broken because it triggered the sending of ITEM_MAGIC attack packets, which are only supposed to be sent when a spell is cast from a magical inventory item.
2018-09-10 12:02:21 +03:00
David Cernat
dcd4478028 [Client] Always stop sending weather updates when moving to an interior 2018-09-07 08:37:22 +03:00
Andrei Kortunov
aed7c1b2bb Fix a couple of Clang warnings 2018-09-04 12:37:43 +04:00
Capostrophic
7ef6fa9f61 Remove deprecated GMST get* functions 2018-08-29 18:38:12 +03:00
Capostrophic
079b60c1ea Don't allow actors to use sneaking while flying (bug #4618) 2018-08-28 14:32:03 +03:00
David Cernat
3bd8aa82fe [General] Reduce inventory-sending hooks to just 2 in ContainerStore
Whenever an item is added to or removed from the player's ContainerStore, that player sends a PlayerInventory packet with just that addition or removal.

This eliminates all the unnecessary packet spam related to oversized PlayerInventory packets that had existed in one form or another since the initial implementation of inventory sync in 1b259e2d33

Additionally, move booleans from BasePlayer to LocalPlayer when they are only needed on the client, and make the usage of the isReceivingQuickKeys boolean consistent with the new isReceivingInventory boolean by having them both in the processors of their associated packets.
2018-08-28 05:01:52 +03:00
Capostrophic
2564fcc37e Apply sneaking offset to camera while the character is in air (bug #4617) 2018-08-28 03:35:42 +03:00
Marc Zinnschlag
f25a9a6fb3 Merged pull request #1885 2018-08-25 10:00:22 +02:00
Andrei Kortunov
de08c1cb1b Make Move and MoveWorld console commands move actors standing on moving object (bug #2274) 2018-08-25 10:34:33 +04:00
Andrei Kortunov
3d4f5536d2 Check for impact immediately when launch a projectile (bug #3059) 2018-08-24 15:03:54 +04:00
David Cernat
03832f933b [Client] Send only individual items in PlayerInventory packets
For a long time, whenever a PlayerInventory packet was sent, it contained all the items in the player's inventory, because that's how Koncord originally implemented it and I always had too many other priorities to go back and rework it.

From now on, clients only send PlayerInventory packet with the one item added or removed, with the single exception being trading with merchants, where the entire inventory is still sent for the time being.
2018-08-21 10:10:06 +03:00
David Cernat
a083439139 Merge pull request #469 from davidcernat/master while resolving conflicts
# Conflicts:
#	apps/openmw/main.cpp
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwdialogue/dialoguemanagerimp.cpp
#	apps/openmw/mwmechanics/actors.cpp
#	apps/openmw/mwscript/dialogueextensions.cpp
#	apps/openmw/mwworld/worldimp.hpp
2018-08-20 14:08:44 +03:00
Andrei Kortunov
31f8bea1dd Rework spell effects management 2018-08-17 12:41:13 +04:00
Andrei Kortunov
8516aee6e0 Implement getHalfExtents() for non-actor objects 2018-08-17 12:40:01 +04:00
Marc Zinnschlag
088463ebe6 Merged pull request #1868 2018-08-17 09:37:49 +02:00
Andrei Kortunov
5a4d0cec3a Use new logging system for game itself 2018-08-14 23:05:43 +04:00
Andrei Kortunov
4003fa1296 Keep jailing state for one frame after leaving jail (bug #3788) 2018-08-13 11:10:01 +04:00
Andrei Kortunov
9dfd775bf2 Implement GetPCTraveling console command 2018-08-13 08:30:50 +04:00
Andrei Kortunov
a08048da4e Avoid dereference after null check 2018-08-01 19:30:30 +04:00
Andrei Kortunov
75835c8326 Prevent NPC from chosing farther pathgrid node 2018-07-29 18:18:05 +04:00
David Cernat
2332423527 [Client] Fix extra qualification error in CellRef when compiling w/ GCC 2018-07-27 21:56:45 +03:00
David Cernat
7136329a94 [Client] Add World::updatePtrsWithRefId() method
This makes it possible to "reload" the Ptrs in active cells when changes happen to the ESM record that they are based on. In practice, the old Ptrs are deleted, their RefNums and MpNums are blanked out, and new Ptrs are created that use the same RefNum and MpNum as before.

The above has required me to also add a method called setRefNum() to CellRef to allow setting a RefNum on the fly.

There may be a more elegant implementation available for updatePtrsWithRefIds(), but it requires additional research.
2018-07-27 21:42:08 +03:00
Capostrophic
f7887ab05f
Fix MSVC C4456 warning: declaration of 'stats' hides previous local declaration 2018-07-26 23:24:26 +03:00
David Cernat
4e78642273 [Client] Add getModifiableStore() to MWWorld 2018-07-26 20:05:36 +03:00
David Cernat
74fa1d0f01 [Client] Fix manual setting of inertial force
Actors who are on the ground have their inertial force ignored, so they are now made to not be regarded as being on the ground in World::setInertialForce()
2018-07-23 23:04:41 +03:00
David Cernat
36ac2d9de4 [Client] Set packetOrigin for all ObjectList packets sent 2018-07-23 01:39:43 +03:00
David Cernat
892d71ce71 [General] Reimplement weather synchronization to allow soft transitions
Although weather sync was added by Koncord to the rewrite in fd721143e2 in a way that used surprisingly few lines of code, it relied on the server requesting weather states every second from authority players and sending them to non-authority players, while also allowing only very sudden weather transitions across regions, i.e. if there was one player in the Ascadian Isles who had stormy weather, and another player with clear weather in the Bitter Coast Region walked across to the Ascadian Isles, that player was instantly made to have stormy weather with no kind of transition at all.

My approach solves both of those problems. It solves the packet spam by only sending weather updates to the server when weather changes happen or when there are new arrivals to a weather authority's region, and it allows for both sudden weather transitions when players teleport to a region and for soft, gradual transitions when players walk across to a region. It is inspired by my previous actor sync, and uses a WorldRegionAuthority packet to set players as region authorities in a similar way to how ActorAuthority sets players as cell AI authorities. Weather changes are created only by the region authority for a given region, and weather packets are also only sent by that authority.

However, it should be noted that gradual weather transitions are used by default in this implementation. To use sudden weather transitions, the serverside Lua scripts need to forward WorldWeather packets with the forceWeather boolean set to true. That is, however, already handled by our default Lua scripts in situations where it makes sense.
2018-07-21 05:20:26 +03:00
David Cernat
d5d3c0937f [Client] Adjust log level for actor transfers in CellStore 2018-07-16 03:53:09 +03:00
David Cernat
6ebe09375f [General] Implement ObjectActivate packet & associated script functions 2018-07-15 03:16:04 +03:00
David Cernat
6cb5ac6e63 Merge pull request #457 from OpenMW/master while resolving conflicts
Conflicts:
	CMakeLists.txt
	apps/openmw/engine.cpp
	apps/openmw/main.cpp
	apps/openmw/mwgui/windowmanagerimp.cpp
	apps/openmw/mwmechanics/character.cpp
	components/CMakeLists.txt
2018-07-14 03:57:05 +03:00
David Cernat
cc9e294cc0 [Client] Send ActorAI packet for new cell after being followed to it 2018-07-13 22:34:36 +03:00
David Cernat
528bd26a3b [General] Allow followers to follow non-authority players through cells 2018-07-13 21:27:29 +03:00
David Cernat
6c1173d598 [Client] Rename searchPtrViaRefIndex into searchPtrViaUniqueIndex 2018-07-13 04:33:54 +03:00
David Cernat
09da24f1ea [General] Rename all instances of refNumIndex into refNum
This creates symmetry with mpNum and should cause less confusion in the future.
2018-07-13 04:12:03 +03:00
Andrei Kortunov
3d1daaebab Rework manual spellcasting (e.g. via scripts) 2018-07-12 16:24:25 +04:00
Andrei Kortunov
c77c50e92b Make Equip console command to bypass most of restrictions (bug #4460) 2018-07-11 00:06:21 +04:00
David Cernat
0f30e21312 [Client] Add searchPtrViaRefIndex method to World to easily find objects 2018-07-10 11:30:32 +03:00
Capostrophic
d09c327b20 Update changelog 2018-07-09 12:36:19 +03:00
Capostrophic
14d3b213a1
Fix double call of addContainerScripts on player in moveObject (fixes #4490) 2018-07-08 23:08:57 +03:00
David Cernat
5043fb4246 [Client] Disable clientside disarming of traps 2018-07-08 02:38:10 +03:00
David Cernat
a236ffc4be Merge pull request #456 from OpenMW/master while resolving conflicts
# Conflicts:
#	.travis.yml
#	README.md
#	apps/openmw/mwgui/quickkeysmenu.cpp
#	apps/openmw/mwmechanics/actors.cpp
#	apps/openmw/mwmechanics/combat.cpp
2018-07-04 01:52:29 +03:00
Koncord
895634cd16 [General] Change type of MpNum to "unsigned int" 2018-07-03 03:25:54 +08:00
Thunderforge
7cbc4eeb49 Adding missing override keywords
Prevents compiler warnings such as this:

```
/Users/Will/CLionProjects/OpenMW/apps/openmw/mwgui/windowbase.hpp:65:22: warning: 'onOpen' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
        virtual void onOpen();
                     ^
/Users/Will/CLionProjects/OpenMW/apps/openmw/mwgui/windowbase.hpp:38:22: note: overridden virtual function is here
        virtual void onOpen() {}
                     ^
```
2018-07-01 19:17:50 -05:00
Andrei Kortunov
7dff8d8fe2 Check cell for null 2018-06-25 10:26:58 +04:00
David Cernat
7e90d1f2a4 [Client] Fix interior-to-exterior and v.v. cell transitions for actors
Make sure only players who are cell authorities can get actors to teleport across cells for them, and display a message box for players who are not cell authorities.
2018-06-21 16:44:49 +03:00
Marc Zinnschlag
7be069fcd2 Merged pull request #1743 2018-06-19 13:29:20 +02:00
Marc Zinnschlag
a8ad530db9 Merged pull request #1749 2018-06-19 11:33:08 +02:00
Miloslav Číž
477e1437d2 Resolve conflicts 2018-06-14 15:30:28 +02:00
Andrei Kortunov
49ba00a3ec Add NPC validation to esmstore (bug #2772) 2018-06-14 16:48:16 +04:00
Miloslav Číž
d629c30fdb
Merge branch 'master' into screenshot360 2018-06-13 21:16:28 +02:00
Marc Zinnschlag
aea481eacb Merged pull request #1753 2018-06-13 18:12:38 +02:00
Andrei Kortunov
61c968d550 Ignore broken items when search for replacement (bug #4453) 2018-06-13 18:39:02 +04:00
Andrei Kortunov
81b78a82e8 AI: try to open doors every AI_REACTION_TIME seconds (bug #4454) 2018-06-13 17:47:32 +04:00
Marc Zinnschlag
1ba0317905 Merged pull request #1670 2018-06-13 09:02:31 +02:00
Miloslav Číž
c3d7ee5a9e Resolve merge conflicts 2018-06-13 08:22:37 +02:00
Miloslav Číž
db8aaa74d6 Start cell border debug drawing 2018-06-13 01:48:31 +02:00
Andrei Kortunov
977a27ecb7 Do not clear corpses until end of death animation (bug #4307) 2018-06-11 22:29:32 +04:00
Andrei Kortunov
acd3cba5fa Store previous items in the savegame 2018-06-10 16:21:19 +04:00
Andrei Kortunov
9fd2d57b86 Move previous items to player 2018-06-10 16:21:19 +04:00
Andrei Kortunov
4ba361fea6 Unhardcode sunset and sunrise settings (bug #1990) 2018-06-09 13:09:17 +04:00
David Cernat
2a3c74bfcc Merge pull request #447 from OpenMW/master while resolving conflicts
# Conflicts:
#	README.md
2018-06-08 06:01:00 +03:00
Andrei Kortunov
bde1d07d4e Use hitboxes and focused object for touch spells (bug #3374) 2018-06-07 16:12:27 +04:00
Andrei Kortunov
4666a6a0ab Use default hit formula as fallback 2018-06-07 16:12:27 +04:00
Andrei Kortunov
9e5d577a71 Aim from center of attacker to center of target 2018-06-07 16:12:27 +04:00
Andrei Kortunov
ab433102a4 Increase hit distance for player by halfExtents 2018-06-07 16:12:27 +04:00
Marc Zinnschlag
2ab31b0c18 Merged pull request #1723 2018-06-07 13:05:20 +02:00
David Cernat
c20a0c72c5 Merge pull request #442 from OpenMW/master while resolving conflicts
# Conflicts:
#	CMakeLists.txt
2018-06-04 19:34:26 +03:00
elsid
dba79f4d4d
Fix warnings: catching polymorphic type by value
openmw/apps/openmw/mwworld/worldimp.cpp: In member function ‘virtual bool MWWorld::World::findExteriorPosition(const string&, ESM::Position&)’:
openmw/apps/openmw/mwworld/worldimp.cpp:2650:25: warning: catching polymorphic type ‘class std::invalid_argument’ by value [-Wcatch-value=]
             catch (std::invalid_argument)
                         ^~~~~~~~~~~~~~~~
openmw/apps/openmw/mwworld/worldimp.cpp:2654:25: warning: catching polymorphic type ‘class std::out_of_range’ by value [-Wcatch-value=]
             catch (std::out_of_range)
                         ^~~~~~~~~~~~

openmw/components/widgets/numericeditbox.cpp: In member function ‘void Gui::NumericEditBox::onEditTextChange(MyGUI::EditBox*)’:
openmw/components/widgets/numericeditbox.cpp:41:21: warning: catching polymorphic type ‘class std::invalid_argument’ by value [-Wcatch-value=]
         catch (std::invalid_argument)
                     ^~~~~~~~~~~~~~~~
openmw/components/widgets/numericeditbox.cpp:45:21: warning: catching polymorphic type ‘class std::out_of_range’ by value [-Wcatch-value=]
         catch (std::out_of_range)
                     ^~~~~~~~~~~~
2018-06-02 14:28:46 +03:00
Andrei Kortunov
24863f620b RotateWorld: rotate around world axis (bug #4426) 2018-05-30 16:35:52 +04:00
David Cernat
669d4d3d7e
Merge pull request #440 from OpenMW/master
Add OpenMW commits up to 27 May 2018
2018-05-27 16:10:16 +03:00
scrawl
cfdf99f601
Revert "Merged pull request #1573"
This reverts commit 7324bd368f, reversing
changes made to 810e4416f6.
2018-05-26 11:39:30 +00:00
scrawl
99ffaafe30
Revert "Merge pull request #1701 from akortunov/standfix"
This reverts commit da47fc79f5, reversing
changes made to 7324bd368f.
2018-05-26 11:35:48 +00:00
David Cernat
c8ec77875c [Client] Update old comments for changes made by tes3mp 2018-05-26 05:11:41 +03:00
David Cernat
3b5fb9cd6b [General] Make it possible to set year via WorldTime 2018-05-25 03:33:12 +03:00
David Cernat
4acf93b7db [General] Make it possible to set days passed via WorldTime 2018-05-24 14:02:04 +03:00
David Cernat
74c2a0b311
Merge pull request #438 from OpenMW/master
Add OpenMW commits up to 24 May 2018
2018-05-24 12:16:11 +03:00
Bret Curtis
da47fc79f5
Merge pull request #1701 from akortunov/standfix
Do not apply queue movement for standing actors
2018-05-23 22:35:08 +02:00
Marc Zinnschlag
7324bd368f Merged pull request #1573 2018-05-23 17:00:29 +02:00
Marc Zinnschlag
1564a3f6aa Merged pull request #1713 2018-05-23 13:51:32 +02:00
David Cernat
8d36d0d945 [General] Make it possible to change world's time scale via WorldTime 2018-05-23 08:31:25 +03:00
Capostrophic
867a5938ca Don't reset sneaking camera offset while in GUI (fixes #4420) 2018-05-20 10:24:20 +03:00
Capostrophic
409d466e42 Make 0/0 encumbrance 0% encumbrance 2018-05-13 17:18:45 +03:00
David Cernat
78234f9071 [General] Rename Event into ObjectList & WorldObject into BaseObject 2018-05-13 00:42:24 +03:00
David Cernat
5458e09c8a
Merge pull request #420 from OpenMW/master
Add OpenMW commits up to 11 May 2018
2018-05-12 06:32:01 +03:00
David Cernat
7f00005f04 [Client] Fix GCC build
Based on 71040659ac
2018-05-10 07:16:33 +03:00
Andrei Kortunov
17222eb821 Get rid of unnecessary find 2018-05-06 16:42:05 +04:00
Andrei Kortunov
3636cf2015 Do not apply queue movement for standing actors 2018-05-05 22:41:26 +04:00
Andrei Kortunov
1dd36329a3 Load default markers definitions (bug #4410) 2018-05-05 17:14:33 +04:00
Andrei Kortunov
22fb1f3403 Play spellcasting effects from objects 2018-04-30 17:12:06 +04:00
David Cernat
4b501a39f4 [General] Implement DoorDestination packet & associated script functions 2018-04-29 22:32:22 +03:00
David Cernat
9e5ddeac50
Merge pull request #408 from OpenMW/master
Add OpenMW commits up to 18 Apr 2018
2018-04-18 18:05:09 +03:00
tri4ng1e
d310d36ea3
[Fix] Some PVS-Studio and cppcheck fixes 2018-04-18 12:36:10 +00:00
tri4ng1e
d4d1703bcf
Some PVS-Studio and cppcheck fixes
cppcheck:
[apps/esmtool/record.cpp:697]: (performance) Prefer prefix ++/-- operators for non-primitive types.
[apps/esmtool/record.cpp:1126]: (performance) Prefer prefix ++/-- operators for non-primitive types.
[apps/esmtool/record.cpp:1138]: (performance) Prefer prefix ++/-- operators for non-primitive types.
[apps/niftest/niftest.cpp:36]: (performance) Function parameter 'filename' should be passed by reference.
[apps/niftest/niftest.cpp:41]: (performance) Function parameter 'filename' should be passed by reference.
[apps/opencs/model/prefs/boolsetting.cpp:25]: (warning) Possible leak in public function. The pointer 'mWidget' is not deallocated before it is allocated.
[apps/opencs/model/prefs/shortcuteventhandler.cpp:52]: (warning) Return value of std::remove() ignored. Elements remain in container.
[apps/openmw/mwstate/quicksavemanager.cpp:5]: (performance) Variable 'mSaveName' is assigned in constructor body. Consider performing initialization in initialization list.

PVS-Studio:
apps/opencs/model/filter/parser.cpp  582  warn  V560 A part of conditional expression is always true: allowPredefined.
apps/opencs/view/world/referencecreator.cpp  67  warn  V547 Expression '!errors.empty()' is always false.
apps/opencs/view/world/referencecreator.cpp  74  warn  V547 Expression '!errors.empty()' is always false.
apps/opencs/view/doc/loader.cpp  170  warn  V560 A part of conditional expression is always true: !completed.
apps/opencs/view/doc/loader.cpp  170  warn  V560 A part of conditional expression is always true: !error.empty().
apps/opencs/model/tools/pathgridcheck.cpp  32  err  V517 The use of 'if (A) {...} else if (A) {...}' pattern was detected. There is a probability of logical error presence. Check lines: 32, 34.
apps/opencs/model/world/refidadapterimp.cpp  1376  err  V547 Expression 'subColIndex < 3' is always true.

apps/openmw/mwgui/widgets.hpp  318  warn  V703 It is odd that the 'mEnableRepeat' field in derived class 'MWScrollBar' overwrites field in base class 'ScrollBar'. Check lines: widgets.hpp:318, MyGUI_ScrollBar.h:179.
apps/openmw/mwgui/widgets.hpp  319  warn  V703 It is odd that the 'mRepeatTriggerTime' field in derived class 'MWScrollBar' overwrites field in base class 'ScrollBar'. Check lines: widgets.hpp:319, MyGUI_ScrollBar.h:180.
apps/openmw/mwgui/widgets.hpp  320  warn  V703 It is odd that the 'mRepeatStepTime' field in derived class 'MWScrollBar' overwrites field in base class 'ScrollBar'. Check lines: widgets.hpp:320, MyGUI_ScrollBar.h:181
apps/openmw/mwmechanics/actors.cpp  1425  warn  V547 Expression '!detected' is always true.
apps/openmw/mwmechanics/character.cpp  2155  err  V547 Expression 'mode == 0' is always true.
apps/openmw/mwmechanics/character.cpp  1192  warn  V592 The expression was enclosed by parentheses twice: ((expression)). One pair of parentheses is unnecessary or misprint is present.
apps/openmw/mwmechanics/character.cpp  521  warn  V560 A part of conditional expression is always true: (idle == mIdleState).
apps/openmw/mwmechanics/pathfinding.cpp  317  err  V547 Expression 'mPath.size() >= 2' is always true.
apps/openmw/mwscript/interpretercontext.cpp  409  warn  V560 A part of conditional expression is always false: rank > 9.
apps/openmw/mwgui/windowbase.cpp  28  warn  V560 A part of conditional expression is always true: !visible.
apps/openmw/mwgui/journalwindow.cpp  561  warn  V547 Expression '!mAllQuests' is always false.
apps/openmw/mwgui/referenceinterface.cpp  18  warn  V571 Recurring check. The '!mPtr.isEmpty()' condition was already verified in line 16.
apps/openmw/mwworld/scene.cpp  463  warn  V547 Expression 'adjustPlayerPos' is always true.
apps/openmw/mwworld/worldimp.cpp  409  err  V766 An item with the same key '"sCompanionShare"' has already been added.
apps/openmw/mwworld/cellstore.cpp  691  warn  V519 The 'state.mWaterLevel' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 689, 691.
apps/openmw/mwworld/weather.cpp  1125  warn  V519 The 'mResult.mParticleEffect' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 1123, 1125.
apps/openmw/mwworld/weather.cpp  1137  warn  V519 The 'mResult.mParticleEffect' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 1135, 1137.

apps/wizard/unshield/unshieldworker.cpp  475  warn  V728 An excessive check can be simplified. The '(A && B) || (!A && !B)' expression is equivalent to the 'bool(A) == bool(B)' expression.
apps/wizard/installationpage.cpp  163  warn  V735 Possibly an incorrect HTML. The "</p" closing tag was encountered, while the "</span" tag was expected.

components/fontloader/fontloader.cpp  427  err  V547 Expression 'i == 1' is always true.
components/nifosg/nifloader.cpp  282  warn  V519 The 'created' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 278, 282.
components/esm/loadregn.cpp  119  err  V586 The 'clear' function is called twice for deallocation of the same resource. Check lines: 112, 119.
components/esm/cellref.cpp  178  warn  V581 The conditional expressions of the 'if' statements situated alongside each other are identical. Check lines: 175, 178.
components/esmterrain/storage.cpp  235  warn  V560 A part of conditional expression is always true: colStart == 0.
components/esmterrain/storage.cpp  237  warn  V560 A part of conditional expression is always true: rowStart == 0.
2018-04-18 12:36:10 +00:00
David Cernat
fa652964fd
Merge pull request #403 from OpenMW/master
Add OpenMW commits up to 9 Apr 2018
2018-04-10 06:43:24 +03:00
scrawl
0982d2175a
Merge pull request #1473 2018-04-09 20:23:43 +00:00
scrawl
308551ad49
Merge pull request #1644 2018-04-09 20:23:24 +00:00
David Cernat
e3c43c6af7 Merge pull request #400 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwmechanics/spellcasting.cpp
2018-04-03 01:25:17 +03:00
Capostrophic
4f64ba7b7f Implement sBookSkillMessage GMST 2018-04-02 21:12:38 +03:00
scrawl
8e37f6bf3e
Merge pull request #1656 2018-04-02 17:28:46 +00:00
scrawl
f36adfec5f
Merge pull request #1657 2018-04-02 17:28:12 +00:00
David Cernat
ec1311fcb7 [Client] Make it possible to check whether a class has a ContainerStore 2018-04-01 09:33:07 +03:00
Capostrophic
e6d9bce519 Implement fWerewolfHealth GMST (fixes #4142) 2018-03-30 19:27:18 +03:00
Capostrophic
76f50312f2
Remove a redundant check 2018-03-30 00:02:52 +03:00
David Cernat
ac82124a5d Merge pull request #395 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwmechanics/actors.cpp
2018-03-29 07:28:30 +03:00
scrawl
c02920bcd1
Merge pull request #1634
Conflicts:
	apps/openmw/mwworld/worldimp.hpp
2018-03-20 22:48:20 +00:00
Andrei Kortunov
fed3e56fc1 Weather manager: get rid of World dependency 2018-03-19 23:08:15 +04:00
Andrei Kortunov
53ef345680 Update magic effect particles after building new animation (bug #2254) 2018-03-19 10:43:22 +04:00
Andrei Kortunov
a0a30cdbf5 AI: hide torches during bad weather (bug #4334) 2018-03-19 08:03:53 +04:00
David Cernat
b7c6261e16 Merge pull request #392 from OpenMW/master while resolving conflicts
# Conflicts:
#	README.md
2018-03-09 21:07:46 +02:00
scrawl
870c658500
Remove missing souls, remove some runaway exceptions (Fixes #4111) 2018-03-08 23:38:04 +00:00
Thunderforge
dfcd243150 Remove the word "interior" from cell not found message 2018-03-07 19:57:54 -06:00
Chris Robinson
4caa7c9674 Workaround older MSVC quirk 2018-03-04 11:37:57 -08:00
Chris Robinson
154cc8c659 Use alternate fog parameters when distant land is enabled
This allows the distant land to actually be seen when the user enables it. The
values used are replicated from MGE XE's default settings and should probably
be exposed somewhere.
2018-03-04 11:37:57 -08:00
Miloslav Číž
db6107f12f
Merge branch 'master' into screenshot360 2018-02-25 11:25:19 +01:00
David Cernat
60f686ee43 [General] Implement setting of physics framerate as part of GameSettings 2018-02-14 05:53:44 +02:00
David Cernat
53d758ba16
Merge pull request #385 from OpenMW/master
Add OpenMW commits up to 13 Feb 2018
2018-02-13 05:22:41 +02:00
scrawl
a708ac488e
Don't call Store::setUp() unnecessarily
Fixes a threading issue with ESM::Land store caused by calling setUp() while it's being used.
2018-02-13 00:38:55 +00:00
David Cernat
4496625154
Merge pull request #381 from OpenMW/master
Add OpenMW commits up to 31 Jan 2018
2018-01-31 05:03:28 +02:00
scrawl
b1b8e31562
Use unique_ptr over new/delete (Fixes #4305) 2018-01-30 22:05:16 +00:00
David Cernat
ce11a1dfa9 [Client] Fix potential invalid pointer when storing cell unloads
Notably, builds of the client done with Clang were crashing on startup before this.
2018-01-29 00:14:26 +02:00
David Cernat
420dab10e1 [General] Track objects directly placed by players in ObjectPlace
This allows the OnPCDrop variable to get set correctly even when object placements have to go through the server first in order to gain a unique multiplayer index (mpNum).

Among other things, this makes it possible to roll marijuana joints in the popular mod "Tribunal Code Patch".
2018-01-28 17:46:51 +02:00
David Cernat
5d4b97645d Merge pull request #374 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/CMakeLists.txt
2018-01-27 22:52:59 +02:00
scrawl
e2e48e0a50
Add default value for 'sAnd' GMST (Fixes #4269) 2018-01-14 00:27:05 +00:00
scrawl
d9d8de3061
Catch exceptions in updateWindowManager (Bug #4269) 2018-01-14 00:26:37 +00:00
David Cernat
8316ec0fa7 [Client] Update tes3mp change comment for object rescaling 2018-01-08 02:19:05 +02:00
David Cernat
ecb0ad0d77 Merge pull request #359 from OpenMW/master while resolving conflicts
# Conflicts:
#	.travis.yml
2017-12-25 02:03:02 +02:00
Andrei Kortunov
1a58171e86 Do not allow to sell items from containers with zero capacity (bug #4268) 2017-12-17 18:09:25 +04:00
Andrei Kortunov
a28cc37501 Do not sell ingredients from organic containers 2017-12-05 10:24:58 +04:00
David Cernat
22521578eb
Merge pull request #349 from OpenMW/master
Add OpenMW commits up to 28 Nov 2017
2017-11-29 03:52:15 +02:00
scrawl
c50b18b3bb
Move PathgridGraph out of CellStore
By definition this is not 'Mutable state of a cell' and does not belong in CellStore.

This change should improve startup times (graph is now loaded on demand) and edits to 'pathgrid.hpp' no longer cause the entirety of OpenMW to be rebuilt.
2017-11-27 21:20:31 +00:00
scrawl
5fe68ab062
Merge pull request #1419 2017-11-27 21:13:11 +00:00
David Cernat
d06817a356
Merge pull request #347 from OpenMW/master
Add OpenMW commits up to 25 Nov 2017
2017-11-25 08:54:22 +02:00
Miloslav Číž
4373fea21e Correct projectile rotation 2017-11-23 20:27:22 +01:00
Miloslav Číž
d0a299caab Rotate thrown projectiles around the bb center 2017-11-23 20:02:38 +01:00
Miloslav Číž
38bda3bd71 Do not save thrown state for projectiles 2017-11-23 18:00:10 +01:00
Miloslav Číž
3dbcda6686 Make use of mEffectAnimationTime for projectile rotation 2017-11-23 15:14:15 +01:00
Miloslav Číž
2b9a0a7732 Save new projectile state 2017-11-23 12:11:26 +01:00
Miloslav Číž
de42aa9d03 Make thrown projectiles rotate 2017-11-23 00:32:22 +01:00
Miloslav Číž
4fc532d873 reference screenshot settings only from one place 2017-11-11 14:32:28 +01:00
Andrei Kortunov
9943bd4d74 AiWander fast forwarding improvements (bug #3638) 2017-11-11 15:31:06 +04:00
Miloslav Číž
319ed2f9b8 disable 360 screenshots in vanity/preview mode 2017-11-10 15:23:44 +01:00
David Cernat
f2a6957e16 Merge pull request #331 from OpenMW/master while resolving conflicts 2017-11-10 08:43:50 +02:00
Miloslav Číž
d4fd08a63f save 360 screenshots in the configured directory 2017-11-09 16:49:46 +01:00
scrawl
9ecdcc187f Clarify a warning message refers to inventory objects 2017-11-08 00:26:09 +00:00
Miloslav Číž
7feba7e498 basic setup for 360 screenshots 2017-11-07 13:07:11 +01:00
David Cernat
3a9e5e3a7b Merge pull request #319 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwworld/worldimp.hpp
2017-10-22 20:27:44 +03:00
scrawl
bb4ffb7743 Merge pull request #1514 from akortunov/ringfix
Do not replace an equpped ring of the same value
2017-10-21 13:35:55 +00:00
scrawl
5b2fe01375 Merge pull request #1508 from AnyOldName3/shut-up-travis
Mark worldimp functions as override to stop distracting Travis CI war…
2017-10-21 13:34:48 +00:00
Andrei Kortunov
e64f14b7ce Do not replace an equpped ring of the same value 2017-10-20 23:05:12 +04:00
AnyOldName3
03fc3353b9 Tidy up indentation 2 2017-10-19 16:34:50 +01:00
AnyOldName3
f3e6b26e6b Tidy up indentation 2017-10-19 16:34:11 +01:00
Rhiyo
d9fe3aac99 fixed new clothing replacing old clothing of same value
Found on the bug http://bugs.openmw.org/issues/4165.

In original Morrowind, new clothing of the same value wouldn't replace old clothing. Tested with common and expensive clothing by selling to merchants and using the AddItem console command in original Morrowind. 

In OpenMW, before this change, new clothing of the same value would replace old clothing, tested with the same methods used above.
2017-10-19 22:46:08 +10:30
AnyOldName3
2abff22c08 Make MWWorld::World final to enable compiler optimisations 2017-10-18 13:48:31 +01:00
AnyOldName3
7440cf37bc Remove redundant virtual keywords implied by override keywords 2017-10-18 13:37:37 +01:00
AnyOldName3
69da89be39 Mark a method I missed out the first time as override 2017-10-18 13:05:04 +01:00
AnyOldName3
2aad5bed7a Mark worldimp functions as override to stop distracting Travis CI warnings and prevent future typos 2017-10-18 05:06:09 +01:00
David Cernat
e164e6305e Merge pull request #313 from OpenMW/master while resolving conflicts
# Conflicts:
#	.travis.yml
#	CMakeLists.txt
#	apps/openmw/mwgui/jailscreen.cpp
#	apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
2017-10-16 07:37:29 +03:00
glbwsk
83a5c7c3d8 removed unnecessary comments, added gitignore for clion cmake 2017-10-13 20:32:52 +02:00
glbwsk
ff9cb22a58 npc swap cheaper ring during auto equip 2017-10-13 15:16:07 +02:00
glbwsk
e6e482ea98 added some comments for autoEquip 2017-10-13 14:47:26 +02:00
glbwsk
a25903b075 fixed autoequiping rings by npc - now checks if right hand is free 2017-10-13 14:39:44 +02:00
David Cernat
3e8d7c8416 Merge pull request #306 from OpenMW/master
Add OpenMW commits up to 7 Oct 2017
2017-10-07 21:54:21 +03:00
Andrei Kortunov
e2afd3690c Remove item by id from InventoryStore 2017-10-06 10:54:25 +04:00
David Cernat
38247ff086 Merge pull request #303 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwbase/dialoguemanager.hpp
#	apps/openmw/mwdialogue/dialoguemanagerimp.hpp
#	apps/openmw/mwgui/container.cpp
#	apps/openmw/mwgui/windowmanagerimp.cpp
#	apps/openmw/mwscript/dialogueextensions.cpp
2017-10-06 04:10:04 +03:00
scrawl
8c0790580a Add screen fading for exterior cell transitions 2017-10-05 18:41:02 +02:00
Andrei Kortunov
03daf2b9e3 Fix a failed assert in the getCell() check during a new game start 2017-09-29 22:28:09 +04:00
scrawl
64e27c032b Merge pull request #1481 from scrawl/keyfocus
WindowManager overhaul & improved keyboard support
2017-09-28 22:34:05 +00:00
David Cernat
ddf0dfed55 Merge pull request #298 from OpenMW/master
Add OpenMW commits up to 26 Sep 2017
2017-09-26 21:54:55 +03:00
scrawl
2ce79e07a4 Refactor dialogue GUI to talk to the dialogue manager, not the other way around and not both ways.
- Fix memory leaks in DialogueWindow
- Fix Link objects being deleted from their own event handler
2017-09-25 23:38:28 +02:00
scrawl
84657271c7 Improve WindowManager API with a generic way of passing a Ptr to the opened GUI window 2017-09-24 19:08:12 +02:00
Andrei Kortunov
7d703a13a3 Fix a crash in the World::isUnderwater() if the cell is empty 2017-09-24 16:28:05 +04:00
scrawl
2494c22d66 Merge pull request #1470 from MiroslavR/convertmprj
ESS-Importer: Convert magic projectiles
2017-09-23 22:55:56 +00:00
MiroslavR
b5f5268ff3 Clean up faraway projectiles 2017-09-23 18:54:17 +02:00
David Cernat
73e7aa838d Merge pull request #296 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwgui/container.cpp
2017-09-22 19:12:41 +03:00
scrawl
0e648222b8 Merge pull request #1446 from akortunov/takeallfix
Do not allow to equip a replacement, when take all items from a dead corpse
2017-09-22 09:14:21 +00:00
Andrei Kortunov
4580024d76 Unequip all items from dead corpse when take all items (bug #4095) 2017-09-22 12:32:47 +04:00
MiroslavR
f15de6d3ca ESS-Importer: Convert magic projectiles (Closes #2320) 2017-09-20 18:58:56 +02:00
David Cernat
960b91a53c Merge pull request #290 from OpenMW/master
Add OpenMW commits up to 17 Sep 2017
2017-09-17 10:53:33 +03:00
scrawl
5dd2e871c8 Merge pull request #1450 from kcat/master
Sound improvements
2017-09-16 15:59:13 +00:00
Andrei Kortunov
44738e1141 Clear player fields upon reload (bug #2639) 2017-09-15 22:39:56 +04:00
Chris Robinson
780e82480d Make the PlayMode and PlayType enums scoped
Also shorten them by putting them in the MWSound namespace
2017-09-15 02:36:59 -07:00
Chris Robinson
1fe60dd8e2 Replace some shared_ptrs with pointers to deque entries 2017-09-14 16:00:30 -07:00
David Cernat
98a7769b91 Merge branch 'master' into 0.6.0 2017-08-31 15:44:27 +03:00
David Cernat
4468e6ec4a Merge pull request #280 from OpenMW/master while resolving conflicts
# Conflicts:
#	.gitignore
#	apps/openmw/mwmechanics/actors.hpp
#	apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
2017-08-31 15:14:13 +03:00
David Cernat
f6d36d5d80 [Client] Ensure that objects searched for have a valid reference number 2017-08-31 03:40:36 +03:00
AnyOldName3
1578fcbec7 Escape content file names before sending them to the GUI 2017-08-25 10:05:56 +00:00
Andrei Kortunov
7c80ddc9de Owned crosshair improvements (bug #2789) 2017-08-18 17:08:15 +04:00
spycrab
632d39ca76 Allow starting at an (unnamed) exterior cell using --start (Feature #3941) 2017-08-06 22:31:07 +02:00
David Cernat
721b218cc2 Merge pull request #258 from OpenMW/master while resolving conflicts
# Conflicts:
#	.travis.yml
#	README.md
2017-08-05 00:09:34 +03:00
David Cernat
fbec0d9443 [Client] Remove inertia from players who are teleported via a packet 2017-08-04 21:43:01 +03:00
MiroslavR
d24286273b Prevent respawned references from being added to the scene twice in certain cases (Fixes #3864) 2017-08-01 00:11:14 +02:00
scrawl
333648c975 Merge pull request #1324 from akortunov/doorfix
Improved doors detection
2017-07-31 17:42:53 +00:00
Andrei Kortunov
10eb6ec75f AI: Check angle between actor and door 2017-07-31 19:28:02 +04:00
Andrei Kortunov
920021c61b Update effects during rest (bug #3679) 2017-07-28 16:50:52 +04:00
David Cernat
2c1ece79fc Merge pull request #245 from OpenMW/master
Add OpenMW commits up to 22 Jul 2017
2017-07-23 22:02:16 +03:00
scrawl
c9f8a220dc Update the tooltip when the focusObject is set 2017-07-20 20:59:36 +02:00
David Cernat
b8b3856c73 Merge pull request #244 from OpenMW/master
Add OpenMW commits up to 19 Jul 2017
2017-07-19 20:49:56 +03:00