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

3655 commits

Author SHA1 Message Date
Capostrophic
483b37bb3f Disallow resting if the fall height hasn't been reset (bug #4802) 2019-12-12 15:26:02 +03:00
David Cernat
3aaf64a984 [Client] Only send DoorState packets for logged in players
This prevents problems with content that uses scripted doors in the area players are spawned in before they log in.
2019-12-03 12:23:05 +02:00
David Cernat
385ef55848 [Client] Avoid crashes by only using inventory listeners in loaded cells
Previously, receiving a Container packet about an actor with a previously initialized listener who was currently located in an unloaded cell crashed the game.
2019-12-02 09:37:10 +02:00
David Cernat
9d6f3fdd09 Add OpenMW commits up to 1 Dec 2019
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/mwscript/aiextensions.cpp
#	apps/openmw/mwscript/statsextensions.cpp
2019-12-01 23:52:42 +02:00
Andrei Kortunov
058bbf4b0f
Merge pull request #2620 from elsid/fix_cage_door_rotation
Rotate door object using direct rotation order once
2019-12-01 09:54:38 +04:00
elsid
3cfd5fca4e
Rotate door object using direct rotation order once
Instead of rotating using inverse and then applying the direct rotation.
To properly update object in navigator.
2019-11-30 14:09:00 +01:00
Andrei Kortunov
1b98fe4395 Fix GCC9 warnings about implicit declarations 2019-11-29 12:41:23 +04:00
David Cernat
0c98c5d09e Add OpenMW commits up to 19 Nov 2019
# Conflicts:
#	apps/openmw/mwmechanics/aipursue.cpp
#	apps/openmw/mwmechanics/summoning.cpp
2019-11-19 17:16:48 +02:00
Andrei Kortunov
73f43ba750 Do not use screen fading during game loading if there is no current cell (bug #5211) 2019-11-18 22:24:19 +04:00
Andrei Kortunov
4118b20608 Allow ActionOpen and ActionTalk only for player (bug #5210 2019-11-18 12:41:11 +04:00
Alexei Dobrohotov
4208f10e81
Merge pull request #2600 from akortunov/master
Take in account caster's race height when launch magic bolt
2019-11-17 21:04:55 +03:00
Andrei Kortunov
6861d9d5e5
Merge pull request #2510 from elsid/ai_open_door
Open door when it is on the way to a next path point (bug #5073)
2019-11-17 21:21:22 +04:00
Andrei Kortunov
d1e0fa575e Take in account caster's race height when launch magic bolt (bug #5209) 2019-11-17 16:37:38 +04:00
Andrei Kortunov
3970baeb84 Fix possible usage of destroyed variable 2019-11-13 15:46:49 +04:00
David Cernat
54301f5f89 Add OpenMW commits up to 29 Oct 2019
# Conflicts:
#	apps/openmw/mwmechanics/combat.cpp
#	apps/openmw/mwworld/inventorystore.cpp
2019-10-29 23:49:31 +02:00
David Cernat
bde9f7b817 Add OpenMW commits up to 20 Oct 2019
# Conflicts:
#	apps/openmw/mwgui/recharge.cpp
#	apps/openmw/mwrender/globalmap.cpp
#	apps/openmw/mwrender/globalmap.hpp
#	apps/openmw/mwworld/inventorystore.cpp
2019-10-29 22:26:35 +02:00
Capostrophic
c6e431d862 Avoid copying strings in SearchVisitor and readReferenceCollection 2019-10-28 19:28:14 +03:00
Capostrophic
ee4fa93bd4 Rework prevent merchant equipping setting again 2019-10-28 01:58:23 +03:00
David Cernat
0e94eb8b74 [General] Use regular ints for weather states for consistency w/ OpenMW 2019-10-24 20:08:08 +03:00
Bret Curtis
2040ca5637
Merge pull request #2555 from akortunov/encoding
Encode ID's in all places to UTF-8
2019-10-24 00:48:12 +02:00
Capostrophic
43b1b9dfa2 Weather-related fixes (incl. bug #4783)
Simplify some calculations
Fix Blizzard weather direction
Fix sky direction during storm
2019-10-19 22:47:21 +03:00
Alexei Dobrohotov
dec64a7fba
Fix typos in invalid spell effect warnings, clarify them 2019-10-17 23:45:27 +03:00
Andrei Kortunov
606b73ee96 Use rain settings from openmw.cfg (bug #4262) 2019-10-13 22:32:23 +04:00
Andrei Kortunov
31e78ed41f Rework 'prevent merchant equipping' feature 2019-10-12 14:17:03 +04:00
Alexei Dobrohotov
cdbe58c33a
Merge branch 'master' into windspeed 2019-10-11 02:04:30 +03:00
Andrei Kortunov
2fc819cdae Encode ID's in all places to UTF-8 (bug #3977) 2019-10-10 20:52:32 +04:00
Alexei Dobrohotov
b7a1e6561b
Merge pull request #2080 from akortunov/recharge
Recharge items outside of player inventory
2019-10-09 23:37:10 +03:00
Andrei Kortunov
c51aba0b13 Recharge items outside of player's inventory (bug #4077) 2019-10-07 22:59:43 +04:00
David Cernat
4a34666c59 Add OpenMW commits up to 7 Oct 2019
# Conflicts:
#	apps/openmw/mwmechanics/aiactivate.cpp
2019-10-07 08:19:21 +03:00
Andrei Kortunov
f0b73e0a27 Do not store owners for items in container stores (bug #1933) 2019-10-05 17:29:00 +04:00
Alexei Dobrohotov
6f99747fff
Merge pull request #2507 from elsid/door_stuck
Fix actors stuck in closing door (bug #5138)
2019-10-01 22:39:58 +03:00
elsid
6253d2a7ac
Undo door rotation once 2019-09-29 13:42:51 +02:00
Andrei Kortunov
ca46da8b04 Do not stack initially added scripted items (bug #5136) 2019-09-29 13:08:52 +04:00
David Cernat
18a7ac5940 [Client] Make it possible to override Cell records in ESMStore 2019-09-28 13:10:43 +03:00
David Cernat
0b85829e38 [Client] Make it possible to unload Cells & clear CellStores from World 2019-09-28 13:09:03 +03:00
Andrei Kortunov
e5564df8cb Implement vanilla-style wind speed calculations (bug #4449) 2019-09-24 10:59:58 +04:00
David Cernat
339428872e [Client] Fix infinite loop in CellController
Previously, using CellController::getCellStore() to get an unloaded CellStore would make its references get loaded in the process, with the CellStore's loadRefs() then running updateMergedRefs(), which in turn – before getting as far as setting the CellStore's state to State_Loaded – would call CellController::hasLocalAuthority() on its accompanying ESM::Cell, which would then run CellController::isActiveWorldCell(), which would then run CellController::getCellStore() to get the CellStore again, which – still being marked as unloaded – would run the whole loop again... and again.
2019-09-23 21:18:38 +03:00
Andrei Kortunov
0ff8e83a39
Merge pull request #2532 from Assumeru/undefined
Fix undefined behaviour
2019-09-21 18:35:08 +04:00
Evil Eye
3d3ffdfcd8 override eraseStatic for dialogue 2019-09-21 16:24:05 +02:00
Andrei Kortunov
a4d196f33f Force view change when using Force1stPerson and Force3rdPerson commands (bug #5168) 2019-09-19 21:48:43 +04:00
David Cernat
cc25612b8d Add OpenMW commits up to 18 Sep 2019
# Conflicts:
#	apps/openmw/mwclass/container.cpp
#	apps/openmw/mwclass/door.cpp
#	apps/openmw/mwmechanics/security.cpp
#	apps/openmw/mwmechanics/spellcasting.cpp
#	apps/openmw/mwscript/miscextensions.cpp
2019-09-18 23:46:08 +03:00
Evil Eye
32de86d114 merge master 2019-09-17 20:31:53 +02:00
Evil Eye
7c8b82f45c move locking behaviour to cellref 2019-09-17 20:30:37 +02:00
elsid
209e33f5ce
Open door when it is on the way to a next path point 2019-09-15 21:16:00 +02:00
David Cernat
ceb16bb6f8 [Client] Reimplement temporary fix from c65d6c1328
The real reason for the crash remains to be fixed.
2019-09-14 19:41:34 +03:00
Evil Eye
85d52ec183 oops 2019-09-11 22:05:24 +02:00
Capostrophic
718dbd3f9a Use object ID as the substitution for their name (bug #5158) 2019-09-11 00:06:50 +03:00
Capostrophic
6b74630f6e Preparation work
Phase out canBeActivated() to unify activation checks
Use getName() for the name caption in tooltips
Always use tooltips for non-activator objects
Invert hasTooltip default value
2019-09-10 23:38:16 +03:00
Evil Eye
a86a8ecc0e Allow locking/picking just about everything 2019-09-10 21:53:26 +02:00
David Cernat
ca67587b89 Add OpenMW commits up to 5 Sep 2019
# Conflicts:
#	apps/openmw/mwgui/container.cpp
#	apps/openmw/mwmechanics/actors.cpp
#	apps/openmw/mwworld/worldimp.hpp
2019-09-05 21:41:50 +03:00
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