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

3655 commits

Author SHA1 Message Date
Capostrophic
d72152183f Update spell effects during death animation (#5403) 2020-05-30 23:24:06 +03:00
Bret Curtis
9d0855baa5
Merge pull request #2866 from elsid/extend_osg_stats
Extend OSG stats
2020-05-29 23:23:38 +02:00
David Cernat
76538ab3cd [Client] Don't send ObjectSound packets for dedicated actor actions 2020-05-25 23:43:20 +03:00
elsid
69df6098e5
Report frame number, number of actors and objects to stats 2020-05-22 17:39:18 +02:00
Capostrophic
c9c9599ec5 Improve GetDistance and object search warnings (bug #5427)
Allow GetDistance to work with a non-existent object argument or with inventory items that belong to a container store that doesn't exist
2020-05-22 15:50:04 +03:00
unknown
3b4782959e Allow targeting non-unique actors with StartScript (bug #2311) 2020-05-10 14:57:06 +02:00
David Cernat
053a5a6258 Add OpenMW commits up to 9 May 2020
# Conflicts:
#	apps/openmw/mwmechanics/spellcasting.cpp
#	apps/openmw/mwscript/aiextensions.cpp
2020-05-09 15:17:04 +03:00
Capostrophic
8d22e075e6 Separate functions that don't belong to CastSpell class 2020-04-26 22:17:38 +03:00
Capostrophic
db13984db0 Separate spell resistance 2020-04-26 21:13:59 +03:00
Capostrophic
5535a7fb44 Move getSummonedCreature() to summoning 2020-04-26 18:58:33 +03:00
David Cernat
a20f8e77dc Add OpenMW commits up to 25 Apr 2020
# Conflicts:
#	.travis.yml
#	apps/openmw/mwclass/container.cpp
#	apps/openmw/mwclass/door.cpp
2020-04-25 09:52:58 +03:00
Bret Curtis
c359406473 taking anyoldname3 review comments to heart; typo fixes plus rebase 2020-04-22 20:29:50 +02:00
bzzt
1cd4b9ee68 fixes shadows on savegame screenshot 2020-04-22 20:18:29 +02:00
Bret Curtis
8a8107e837 as it says; revert vismask and uncomplicate openmw 2020-04-20 20:57:38 +02:00
Bret Curtis
8c2f3ff007 clean up code; purge const_cast 2020-04-19 16:31:54 +02:00
David Cernat
25a632c650 Add OpenMW commits up to 13 Apr 2020
# Conflicts:
#	CMakeLists.txt
#	README.md
#	apps/openmw/engine.cpp
#	apps/openmw/mwclass/creaturelevlist.cpp
#	apps/openmw/mwgui/quickkeysmenu.cpp
2020-04-13 19:53:42 +03:00
Andrei Kortunov
7545256d1f Do not try to launch magic bolt when direction to target is empty (bug #5350) 2020-04-04 22:39:13 +04:00
Roman Siromakha
3bd2c114a7
Merge pull request #2741 from akortunov/warnfix
Fix C5204 warnings by adding default virtual destructors
2020-04-04 00:12:07 +02:00
David Cernat
7bc3298ed4 Add OpenMW commits up to 1 Apr 2020
# Conflicts:
#	.travis.yml
#	CI/before_install.linux.sh
#	apps/openmw/mwphysics/physicssystem.cpp
2020-04-01 19:24:11 +03:00
Capostrophic
ca6cce0c7e Separate Stepper 2020-03-31 00:38:34 +03:00
Andrei Kortunov
2e7712a390 Fix C5204 warnings by adding default virtual destructors 2020-03-26 14:49:12 +04:00
Andrei Kortunov
d2a2c74e08 Trace down dead persistent actors underwater (regression #5317) 2020-03-21 10:41:35 +04:00
Andrei Kortunov
ea30e27370 Cleanup ownership for items in containers 2020-03-17 17:22:39 +04:00
David Cernat
43e7df6df8 Add OpenMW commits up to 11 Mar 2020 2020-03-11 22:17:17 +02:00
Alexei Dobrohotov
7e6a533a29
Merge pull request #2695 from elsid/aiwander_check_destination
Add more destination checks for AiWander without pathgrid
2020-03-11 20:48:22 +03:00
David Cernat
27d35d73a2 [General] Implement OnObjectSound packet
Many interactions between players and objects now have their sounds sent to other players.
2020-02-29 18:15:41 +02:00
Capostrophic
d44dcc3242 Revert infinite fall failsafe addition 2020-02-25 16:46:53 +03:00
David Cernat
31c0f5c976 [Client] Use clearer boolean name for checks regarding inventory sending 2020-02-22 23:59:42 +02:00
David Cernat
85fb1d1a0b Add OpenMW commits up to 19 Feb 2020
# Conflicts:
#	apps/openmw/mwworld/scene.cpp
2020-02-20 01:51:47 +02:00
Bret Curtis
a0902bb98e
Merge pull request #2700 from akortunov/masks
Move VisMask to components
2020-02-17 11:58:53 +01:00
Andrei Kortunov
84979fa8b7 Move VisMask to components 2020-02-16 16:03:35 +04:00
Capostrophic
9db0bbf255 Make infinite failsafe logic more forgiving 2020-02-14 15:32:50 +03:00
Bret Curtis
3bbd32fe98
Merge pull request #2667 from Capostrophic/infinitefall
Add an infinite fall failsafe (feature 1415)
2020-02-13 09:23:05 +01:00
elsid
1e4565a15c
Avoid using temporary vector to get items owned by 2020-02-11 22:24:18 +01:00
Capostrophic
61b60c8a94 Add an infinite fall failsafe (feature 1415) 2020-02-11 18:26:58 +03:00
David Cernat
a13cef9913 Merge branch '0.7.0reset' of https://github.com/uramer/openmw into 0.7.1
# Conflicts:
#	apps/openmw-mp/Script/Functions/Worldstate.cpp
#	apps/openmw-mp/Script/Functions/Worldstate.hpp
#	apps/openmw/mwbase/world.hpp
#	apps/openmw/mwmp/CellController.cpp
#	apps/openmw/mwworld/cellstore.cpp
#	apps/openmw/mwworld/worldimp.cpp
#	apps/openmw/mwworld/worldimp.hpp
2020-02-11 15:41:38 +02:00
elsid
4a0c056489
Do not wander to occupied area by other actor 2020-02-10 22:29:54 +01:00
elsid
85414e2353
Check for line of sight for wander destination 2020-02-10 22:29:54 +01:00
David Cernat
59a38164ea [Client] Add generic objects to ObjectList using addObjectGeneric() 2020-01-23 09:03:40 +02:00
David Cernat
989188c171 [Client] Remove ObjectList's confusing addObjectDelete() function 2020-01-22 14:35:51 +02:00
David Cernat
60b6f92fa3 Add OpenMW commits up to 13 Jan 2020
# Conflicts:
#	apps/openmw/mwmechanics/actors.cpp
2020-01-15 07:49:26 +02:00
capostrophic
1251b32f0f Slightly reduce code duplication 2020-01-09 22:17:01 +03:00
capostrophic
9b28420875 [Regression] Make creatures autoequip shields properly again 2020-01-05 23:49:19 +03:00
David Cernat
a58f09fd6c Add OpenMW commits up to 2 Jan 2020
# Conflicts:
#	apps/openmw/mwmechanics/enchanting.cpp
#	apps/openmw/mwworld/scene.cpp
2020-01-02 22:09:54 +02:00
Andrei Kortunov
71e1d576cd Allow to enchant multiple projectiles at once (feature #3517) 2019-12-31 21:31:49 +04:00
Andrei Kortunov
24ce242941 Implement TestCells (feature #5219) 2019-12-22 11:13:42 +04:00
David Cernat
ca9cd90a4d Add OpenMW commits up to 20 Dec 2019
# Conflicts:
#	apps/openmw/mwworld/scene.cpp
2019-12-20 15:43:50 +02:00
Assumeru
dfbe0021a5 Change rescaling to be more inline with vanilla (fixes #5214) (#2635)
* move rescaling to loadData

* clamp on save
2019-12-18 19:37:45 +03:00
David Cernat
2249450b0e [Client] Fix inability for actors to talk to players caused by 4118b20608 2019-12-15 11:50:15 +02:00
Andrei Kortunov
97ee4bc349 Improve equipment logic (bug #5223) 2019-12-14 22:30:27 +04:00
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