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

17307 commits

Author SHA1 Message Date
David Cernat
343dd8b5ea [Client] Fix addition of items to player inventories
Previously, multiple stacks of the same item ID could overwrite data in each other because of how the logic in ContainerStore::add() works. For example, a stack of 5 grand soul gems with no souls would get added to the player, then the attempt to add a grand soul gem with a particular soul would retrieve the previous stack first before setting all of it to that soul, resulting in 6 grand soul gems with that soul.
2018-12-26 13:41:19 +02:00
David Cernat
76ac905efc [Client] Send PlayerInventory packets when trapping souls in soulgems 2018-12-26 12:25:00 +02: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
1bdec2399f Make sure CopyFramebufferToTextureCallback is only called once and not every frame 2018-12-25 11:56:24 -05:00
Ilya Zhuravlev
07e9ce84b3 Replace volatile bools with std::atomic<bool> 2018-12-24 14:19:35 -05:00
Ilya Zhuravlev
8e7c01b561 loadingscreen: Fix UaF in loading screen.
When the CopyFramebufferToTextureCallback callback is called, in its operator() it resets setInitialDrawCallback by providing a NULL pointer.
However, this causes the callback to get deleted. In turn, the "this" pointer is invalidated.
When execution returns to DrawCallback::run, it accesses a _nestedCallback member of deleted "this" which is UB.
2018-12-24 14:18:26 -05:00
Ilya Zhuravlev
98b2c04404 android: Add a method so that we can send relative mouse movements from java. 2018-12-23 15:14:29 -05:00
Capostrophic
793c2a19d2 Cherry-pick cc9cii's editor improvements 2018-12-23 20:10:16 +03:00
Capostrophic
0bbcc0e787 Avoid falling height reset if onGround state didn't change (bug #4411) 2018-12-23 13:39:35 +03:00
Ilya Zhuravlev
09585b7208 android_main.c: Replace nullptr back to NULL since there are no nullptr in C 2018-12-22 22:21:26 -05:00
Andrei Kortunov
8687a49c19 Editor: Added basic info window 2018-12-21 18:51:02 +04:00
Andrei Kortunov
b4f3ce2a0a Editor: Implement faction ranks table (feature #4209) 2018-12-21 14:16:40 +04:00
Capostrophic
2681435857 Editor: handle AI settings, regional sound and levelled list "none" chances as shorts (bug #2987) 2018-12-20 19:51:55 +03:00
AnyOldName3
e2515f6db7 Merge branch 'master' into osgshadow-test-vdsm 2018-12-18 19:51:27 +00:00
David Cernat
5e38e8abdb [Server] Add GetArchitectureType() script function
Additionally, bring GetOperatingSystem() up-to-date by making it use the renamed function in Utils.
2018-12-17 11:55:50 +02:00
David Cernat
fa1700e2ab [Server] Add GetOperatingSystemType() script function 2018-12-17 11:32:31 +02:00
Bret Curtis
6d7aacab5e
Merge pull request #2053 from akortunov/animatedContainers
Native animated containers support
2018-12-17 10:00:07 +01:00
Bret Curtis
d2c88f0983
Merge pull request #2071 from Capostrophic/sneaking
Don't interrupt sneak and swim idles in attack ready state in first person view (bug #4750)
2018-12-17 09:34:27 +01: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
terrabyte25
c31fa3074e
Sanity check for text input in toggleWalking 2018-12-12 14:40:15 -06:00
Capostrophic
6083e5ed4b Don't interrupt sneak and swim idles in first person view (bug #4750) 2018-12-10 00:05:06 +03:00
David Cernat
afd17e5a48 [Client] Don't finish drag & drop that is supposed to be unsuccessful
This prevents items from vanishing when your attempt to drop them in a full container is denied.
2018-12-06 18:11:52 +02:00
Marc Zinnschlag
d791dcfbf3 Merged pull request #2051 2018-12-06 13:10:48 +01:00
Bret Curtis
32624cb3ed
Merge branch 'master' into colors 2018-12-06 09:59:13 +01:00
Bret Curtis
b296c4a3bb
Merge pull request #2058 from Capostrophic/collision
Don't consider non-solid actors truly levitating (bug #4746)
2018-12-06 09:56:16 +01:00
Capostrophic
7b33838b33 Don't consider non-solid actors truly levitating (bug #4746) 2018-12-05 23:37:32 +03:00
Bret Curtis
35ea8ecb0b
Merge pull request #2056 from Capostrophic/esmtool
esmtool cleanup
2018-12-05 20:58:25 +01:00
Capostrophic
7cae0017ac Display Ambient, Sunlight and Fog field values as colors (bug #4745) 2018-12-05 17:25:26 +03:00
David Cernat
a6c6db89fc [Client] Send object packets when scripts use PlaceItem/PlaceItemCell 2018-12-05 01:56:27 +02:00
Capostrophic
5c8c079718 Fix incorrect event argument which messed with hidden light pointers 2018-12-04 17:07:03 +03:00
David Cernat
d05a82a734 [Client] Avoid repetitive code when unequipping items in resurrection 2018-12-04 03:55:03 +02:00
Capostrophic
832870dc79 esmtool cleanup 2018-12-02 23:10:29 +03:00
Bret Curtis
c2c86fc4a5
Merge pull request #2052 from mp3butcher/master
fix moc achieving to reach unparsable boost code
2018-12-02 19:28:35 +01:00
Bret Curtis
807cab568e
Merge pull request #2050 from Capostrophic/markers
[Regression] Revert unnecessary case changes for fallback records
2018-12-02 11:16:20 +01:00
Bret Curtis
b1ca6c6e95
Merge pull request #2045 from akortunov/animfix
[Testing needed] Fix regressions in the animation system
2018-12-02 11:14:44 +01:00
mp3butcher
9de6c630f2 fix moc achieving to reach unparsable boost code 2018-12-01 21:27:43 +01:00
terrabyte25
35755eb1f1
[Client] Disallow opening inventory menu when not logged in 2018-12-01 10:51:33 -06:00
Capostrophic
7b5932a49d Add Invert X Axis option (feature #3610) 2018-12-01 19:08:02 +03:00
Capostrophic
c59513c30c Revert unnecessary case changes for fallback records 2018-12-01 17:12:27 +03:00
David Cernat
b7090b2550 [Server] Add experimental option for not crashing from Lua script errors
Additionally, fix return type of GetPluginEnforcementState()
2018-12-01 03:03:39 +02:00
David Cernat
b39e3f518b [Client] Use correct log levels for inventory and dynamic record packets 2018-11-30 23:38:16 +02:00
David Cernat
d8ca268067 [Server] Move plugin enforcement functions to ServerFunctions 2018-11-30 22:43:10 +02:00
David Cernat
2933526995 [Server] Include errors related to Lua calls in server logs 2018-11-30 22:01:02 +02:00
AnyOldName3
642002b302 Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 2018-11-29 01:19:01 +00:00
Andrei Kortunov
880ec3ce7b Fix visible sheaths for invisible actors 2018-11-24 14:57:41 +04:00
Andrei Kortunov
671f2811d5 Fix regressions in the animation system (bug #4729) 2018-11-23 20:22:37 +04:00
Andrei Kortunov
e8b3ae8706 Improve ResetActors command (bug #4723) 2018-11-20 21:53:27 +04:00
Andrei Kortunov
7438e20ee1 Fix shield displaying on inventory avatar (bug #4720) 2018-11-17 22:42:29 +04:00
Testman
6b3f598837
Use more descriptive terminology for chat modes
Changed "Chat disabled" to "Chat hidden", "Chat enabled" to "Chat visible" and "Chat in hidden mode" to "Chat appearing when needed".
2018-11-17 16:54:14 +01:00
Andrei Kortunov
68c170f065 Refactor tools to do not use boost exceptions and exit() command 2018-11-15 18:10:19 +04:00
Andrei Kortunov
059a8fd32a Refactor dynamic casts in the editor 2018-11-15 17:50:23 +04:00
Bret Curtis
a21792657a
Merge pull request #2034 from akortunov/guifixes
Improve GUI cleanup
2018-11-15 07:31:57 +01:00
Andrei Kortunov
5ac81cfbff Throw exceptions with some info int the editor if dynamic_cast failed 2018-11-14 15:53:43 +04:00
Andrei Kortunov
f20d1b1b72 Catch exception in the NIFTest 2018-11-14 15:52:36 +04:00
Bret Curtis
419e7ea5a2
Merge pull request #2035 from akortunov/coverity
Fix many Coverity Scan warnings
2018-11-14 09:44:30 +01:00
Bret Curtis
8a66dec865
Merge pull request #2031 from akortunov/warnfix
Fix some Clang 7 warnings
2018-11-14 09:43:39 +01:00
Andrei Kortunov
4ee15ddcb9 Fix many Coverity Scan warnings 2018-11-14 11:21:49 +04:00
David Cernat
e834a4ec74 [Client] Find closest enchantmentCharge in getItemPtrFromStore()
Enchanted inventory items continuously recharge their enchantment charges, which getItemPtrFromStore() should account for.

Additionally, prevent framelistener errors caused by PlayerItemUse packets about non-existent items.
2018-11-13 20:36:31 +02:00
Andrei Kortunov
5e071e3eb0 Add a missing check if mPtr is empty (bug #4715) 2018-11-13 10:32:23 +04:00
Andrei Kortunov
71f1a53090 Improve tooltips cleanup (bug #4714) 2018-11-13 10:00:12 +04:00
Bret Curtis
194232abde
Merge pull request #2029 from akortunov/actorfix
[Regression] Handle case in the editor when actor's bodypart was not found
2018-11-12 11:44:28 +01:00
Bret Curtis
0f29a73fc9
Merge pull request #2025 from Capostrophic/actorloops
Use C++11 for close actor-iterating loops and avoid some redundant operations
2018-11-12 10:43:49 +01:00
Andrei Kortunov
d2613e35a2 Fix some Clang 7 warnings 2018-11-09 19:42:59 +04:00
Andrei Kortunov
0065bccf24 Handle case in the editor when actor's bodypart was not found 2018-11-09 14:51:45 +04:00
AnyOldName3
02a8c6a7ce
Merge branch 'master' into pr/fix-hidpi-resolution 2018-11-08 23:05:07 +00:00
Bret Curtis
228f6b572f
Merge branch 'master' into prisonmarker 2018-11-08 21:11:24 +01:00
Bret Curtis
f6243fae83
Merge pull request #1615 from akortunov/holstered_weapons
Weapon sheathing
2018-11-08 20:44:20 +01:00
Capostrophic
6d48d9329e Avoid making string copies instead of references 2018-11-08 17:03:29 +03:00
Bret Curtis
3751bc2c11
Merge pull request #2030 from akortunov/warnfix
Fix some compiler warnings
2018-11-08 12:19:04 +01:00
Andrei Kortunov
ad36834671 Fix some compiler warnings 2018-11-08 13:16:04 +04:00
Stanislaw Halik
8fd71fe4ad fix rain delay when exiting water
When the particle system updates its internal state noting that it's
been culled, it stops emitting any further particles. Prevent it from
having that knowledge.

v2: Fix off-by-one-frame error following review by @AnyOldName3
2018-11-07 20:55:45 +00:00
Capostrophic
4cb4f82431 Don't use bitwise AND 2018-11-07 19:44:17 +03:00
Capostrophic
39f8637e95 Simplify some actor loops and avoid some redundant calculations 2018-11-06 17:56:53 +03:00
Capostrophic
4efe1bc892 Add prison marker record fallback definition (bug #4701) 2018-11-05 19:37:46 +03:00
Stanislaw Halik
5e3e01cac0 fix resolution on HiDPI displays under Windows
The same Windows functionality as scaling user interface elements,
confuses fullscreen games unless they set a particular of metadata to
indicate that they perform the scaling by themselves.

What happened was treating 2160p as 1440p despite the former being
chosen. The same occured with other game title prior to introducing the
metadata bits.

Fortunately with CMake there's no need to invoke the mt.exe "manifest
tool" manually.

Note that the setting of "per-monitor DPI aware" still leaves openmw
confused, hence the choice of global-DPI-aware.
2018-11-05 16:16:09 +00:00
Andrei Kortunov
92e45507d8 Weapon sheathing support, including quivers and scabbards (feature #4673) 2018-11-05 11:18:20 +04:00
Bret Curtis
c114e1278e
Merge pull request #1978 from akortunov/ffmpeg3
Migrate to FFMPEG3
2018-11-05 07:52:43 +01:00
Bret Curtis
a8d944e756
Merge pull request #2023 from elsid/navmesh_cache_limit
Navmesh cache limit
2018-11-05 07:51:48 +01:00
elsid
6e78fbb538
Double key size for item cache size 2018-11-05 02:21:19 +03:00
elsid
db5638bf6d
Add global recast allocator to allocate temp buffers on stack 2018-11-04 18:11:15 +03:00
Andrei Kortunov
f88d5e808c Rewrite media decoder to use FFMpeg 3.2+ API (task #4686) 2018-11-03 22:34:25 +04:00
elsid
2ba026e2b2
Limit navmesh cache size by data size + key size 2018-11-03 16:14:07 +03:00
Andrei Kortunov
829faf7b2c Improve toggleactorspaths console command 2018-11-03 10:42:14 +04:00
AnyOldName3
b178e1868a Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 2018-11-03 00:27:40 +00:00
AnyOldName3
3c25e7b93d
Merge pull request #2010 from AnyOldName3/windows-debug-build-fix
Include missing Windows header before calling Windows-specific functions and switch CMake compile definitions to the new style.
2018-11-02 23:57:44 +00:00
AnyOldName3
e2ddb39591 Remove incorrect comment 2018-11-02 17:30:54 +00:00
Capostrophic
1de9674c81 AI package cleanup 2018-11-02 14:58:30 +03:00
Bret Curtis
5f5773f7df
Merge pull request #2009 from elsid/pathfinder_update_tolerance
Use default tolerance to drop last point from path
2018-11-02 00:21:08 +01:00
elsid
c52db75545 Use default tolerance to drop last point from path
Fixes AiEscort. Before actor tried to reach target with 0 tolerance.
Back to logic like it was before 4fe764c3a5 and bbd82a743 commits.
2018-11-02 01:12:41 +03:00
Capostrophic
a4eff1c871 Fix isWithinMaxRange function 2018-11-02 00:22:37 +03:00
AnyOldName3
d0c254bc7e Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 2018-11-01 16:48:21 +00:00
elsid
792a0585c0 Add recastnavigation as subdirectory 2018-11-01 17:01:22 +01:00
AnyOldName3
0208cb8616
Merge pull request #2001 from AnyOldName3/enable-osg-logging
Allow OSG objects to be sent to the debug log.
2018-10-31 22:14:36 +00:00
AnyOldName3
6bbc1cb308
Remove outdated include 2018-10-31 19:32:52 +00:00
AnyOldName3
93843d024c Remove another duplicate operator<< 2018-10-31 16:26:53 +00:00
Andrei Kortunov
f1eb702851 Mark virtual methods in the mechanicsmanagerimp.hpp as overrides 2018-10-31 10:09:32 +04:00
AnyOldName3
3785ba6aa0 Merge upstream/master 2018-10-30 22:38:09 +00:00
AnyOldName3
eb44de3e6b Disable shadows properly for water reflection/refraction RTT targets, eliminating remaining OpenGL errors. 2018-10-30 22:34:53 +00:00
Bret Curtis
d6c674660a
Merge pull request #1633 from elsid/pathfinder_detour
Use recastnavigation for pathfinding (#2229)
2018-10-30 20:44:13 +01:00
Koncord
e162af0003 [Server] Disallow non void callbacks 2018-10-30 15:32:52 +08:00
Koncord
07a5f5296c [Server] Rework OnRequestPluginList callback. Add AddPluginHash function 2018-10-30 14:56:54 +08:00
Koncord
20a7619a4a [Server] Remove result from the OnPlayerConnect callback
Now it's recommended to use tes3mp.Kick() function
2018-10-30 13:18:32 +08:00
Koncord
f1e8569291 [Server] Remove result from the OnPlayerSendMessage callback 2018-10-30 13:13:07 +08:00
Koncord
efa362031e [Server] Remove unused Main callback 2018-10-30 13:03:37 +08:00
Koncord
b83e4056a8 [Server] Remove CallFF dependency as it not fully supported by Windows and MacOS 2018-10-30 12:59:47 +08:00
Koncord
585557ad8a [Server] Remove argument cast in the Call with va_args 2018-10-30 12:58:15 +08:00
Koncord
3101de5f02 [Server] Add kicked load status 2018-10-30 12:56:50 +08:00
Bret Curtis
3c53fe16e9
Merge pull request #1986 from akortunov/rootfix
[Regression] Handle RootCollisionNode exactly as in original engine
2018-10-29 22:47:04 +01:00
Bret Curtis
e65f254f7f
Merge pull request #1999 from akortunov/resurrect
[Regression] Make sure we reset current weapon animation when resurrect actor
2018-10-29 20:43:54 +01:00
Andrei Kortunov
f98fc8d7b4 Make sure we reset current weapon animation when resurrect actor (addition to bug #2626) 2018-10-29 22:47:04 +04:00
Marc Zinnschlag
a5efe0d596 Merged pull request #1998 2018-10-29 10:02:52 +01:00
Capostrophic
434b1fd0e3 Use Shift-C and Shift-V keybindings for View and Preview (feature #2845) 2018-10-29 01:53:49 +03:00
Bret Curtis
7f2baa9373
Merge pull request #1995 from Capostrophic/icons
Add icons for record context menu actions (feature #4506)
2018-10-28 22:22:42 +01:00
Bret Curtis
6f8a15afb0
Merge pull request #1996 from Capostrophic/cleanup
Clean up redundant getClass() calls in classes
2018-10-28 19:39:39 +01:00
Capostrophic
8757b3edd1 Add icons for Edit and Touch actions (kudos to akortunov) 2018-10-28 21:06:42 +03:00
Capostrophic
89b8eb029f Add icons for record context menu actions 2018-10-28 20:35:58 +03:00
Capostrophic
77b0ff7a75 Use real thrown weapon damage in tooltips and weapon rating (feature #4697) 2018-10-28 19:46:46 +03:00
elsid
49d81241db Merge branch 'master' into pathfinder_detour 2018-10-28 17:08:09 +03:00
Capostrophic
4b1d287eda Clean up redundant getClass calls in classes 2018-10-28 17:03:38 +03:00
elsid
50b6ae3e10 Fix calculation for shape local AABB 2018-10-28 16:58:22 +03:00
Bret Curtis
e7892361f6
Merge pull request #1994 from akortunov/actor_culling
Minor tweaks for actors processing range setting
2018-10-28 14:44:12 +01: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
06d226a1b7 Minor tweaks for actors processing range setting 2018-10-28 15:08:24 +04: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
Koncord
e5e13b21ae [Client] Fix crash on drag&drop 2018-10-28 16:56:04 +08:00
Bret Curtis
9f4892ce92
Merge pull request #1990 from Capostrophic/absorption
Avoid making expensive visitEffectSources calls if no spell absorption effect is active
2018-10-27 17:45:48 +02:00
Capostrophic
abdf40e0d5 Avoid making expensive visitEffectSources calls if no spell absorption effect is active 2018-10-27 16:38:04 +03:00
Capostrophic
b6f23cd366 Make constants usage more obvious 2018-10-27 13:27:25 +03: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
Capostrophic
4873d33642 Adjust magic light source linear attenuation (bug #3890) 2018-10-27 01:27:05 +03:00
Andrei Kortunov
d2f3196ee8 Fix testcase for RootCollisionNode with MRK data 2018-10-26 21:21:34 +04:00
David Cernat
1baf82db32 [Client] Avoid PlayerSpellbook packet spam in some mods 2018-10-26 19:07:35 +03:00
Marc Zinnschlag
3ead33814f Merge remote-tracking branch 'upstream/master' 2018-10-26 13:02:06 +02:00
Capostrophic
19ce1abcdf Fix selected weapon HUD durability percentage 2018-10-26 12:53:15 +03:00
Andrei Kortunov
bf9e8c4556 Make spell absorption multiplicative (bug #4684) 2018-10-26 12:36:58 +04:00
David Cernat
d9bc1abf48 [Client] Don't send ObjectScale packets if not logged in 2018-10-26 02:33:47 +03:00
David Cernat
a8cf1e02c4 [Client] Allow unilateral scripted container changes not from console
This prevents infinite loops in certain client scripts from mods that use while loops to determine that all items of a certain type have been removed from a container, such as in the script BCSwap2Arg from  Better_Clothes.
2018-10-25 22:38: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
Bret Curtis
0fad2449f3
Merge pull request #1982 from Capostrophic/condition
Avoid item condition and charge zero divisions
2018-10-25 17:22:02 +02: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
Marc Zinnschlag
2c8bbde7ef Merged pull request #1979 2018-10-25 11:16:26 +02:00
Marc Zinnschlag
4d88d6dd58 Merged pull request #1980 2018-10-25 11:06:22 +02:00
Bret Curtis
375354ab6b
Merge pull request #1974 from akortunov/coverity
Fix some issues found by Coverity Scan
2018-10-25 09:42:51 +02:00
AnyOldName3
1e2bf9c447 Merge remote-tracking branch 'refs/remotes/upstream/master' 2018-10-24 20:13:13 +01:00
Capostrophic
67de61e1fb Avoid item condition and charge zero divisions 2018-10-24 19:06:55 +03:00
Capostrophic
4ce35c6ad5 Fix fixme behavior in interiors 2018-10-24 01:43:38 +03:00
David Cernat
99f8ef88a5 [Server] Add SetObjectActivatingPid() script function 2018-10-22 16:25:50 +03:00
Andrei Kortunov
61e6e359c4 Allow creatures to use the autogenerated collision box (feature #2787) 2018-10-22 15:48:23 +04:00
David Cernat
17f13872aa [Client] Use forceUpdate correctly in LocalPlayer::updateStatsDynamic()
Previously, the forceUpdate argument was useless, preventing dynamic stats from being sent by certain newly created characters.
2018-10-22 13:22:23 +03:00
Capostrophic
9809eef18e Utilize the default soundgen entries when necessary (bug #4689) 2018-10-21 11:32:23 +03:00
Andrei Kortunov
41e90bd56c Unify random generator usage 2018-10-19 16:16:18 +04:00
Andrei Kortunov
46bf45a6e2 Remove redundant code 2018-10-19 16:16:18 +04:00
Bret Curtis
6c4116cc8b
Merge pull request #1972 from akortunov/equipfix
Force actor to the 'weapon equipped' state if the weapon disappeared in the middle of attack
2018-10-18 16:43:05 +02:00
Andrei Kortunov
8fa0ffcfe4 Catch exceptions inside the loadVoice() (bug #4685) 2018-10-18 15:02:23 +04:00
Andrei Kortunov
d7d9050d4a Force actor to the 'weapon equipped' state if the weapon disappeared in the middle of attack (bug #4646) 2018-10-18 11:42:03 +04:00
AnyOldName3
474770eca8 Switch shadow map rendering to a specialised, simplified shader. 2018-10-16 21:23:31 +01:00
Bret Curtis
e406c5ff81
Merge pull request #1946 from akortunov/backupfix
Combat AI: check for obstacle before back up
2018-10-16 21:47:21 +02:00
Andrei Kortunov
13bd81f896 Try to use collisions from basic actor model if an animated one has no collisions (feature #4682) 2018-10-16 22:28:19 +04:00
David Cernat
bfd7c83c4d [Client] Fix backwards logic when setting type for AI attacks 2018-10-16 21:18:41 +03:00
elsid
03d4ce5e49
Log find path exception with level verbose, add more info to message 2018-10-15 23:25:42 +03:00
Bret Curtis
8cb407cfdf
Merge pull request #1969 from Capostrophic/soundgen
Support soundgen calls for activators (feature #4285)
2018-10-15 14:43:11 +02:00
Capostrophic
bf3f82b9d4 Cleanup 2018-10-14 21:28:43 +03:00
Capostrophic
6ef7be3fd3 Re-enable using soundgen land for creatures 2018-10-14 20:18:17 +03:00
Capostrophic
19fd404b7b Support soundgen calls for activators (feature #4285) 2018-10-14 15:36:07 +03:00
Andrei Kortunov
ca07e3a364 Check for obstacle before back up (bug #4656) 2018-10-14 12:22:43 +04:00
elsid
e57504ae7c
Lower log level 2018-10-13 22:22:15 +03: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
7c5bedc35a
Reset shorcutting if actor can't move by z-axis on reaction time
If actor was shortcutting because it was swimming, then when it started
walking it still be shortcutting, but there will be no new path, because
shortcut path builds only for actor able moving by z-axis and pathfinder
path only for not shortcutting actor.
2018-10-13 22:16:34 +03:00
elsid
92b34e8bb4
Check whether can actor move along z-axis in separate function 2018-10-13 22:16:34 +03:00
elsid
bbd82a743a
Use different tolerance for path point and destination 2018-10-13 22:16:34 +03:00
elsid
ab090108cb
Assign world to local variable once per function 2018-10-13 22:16:34 +03:00
elsid
27a74725f1
Use osg::Vec3f 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
661da42bd2
Build path by navigator 2018-10-13 22:16:33 +03:00
elsid
d02beae5a8
Find path for actors according to their abilities to swim and walk 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
72f211ef28
Add enums for area type and flags 2018-10-13 22:16:32 +03:00
elsid
fa23b590a4
Add unwalkable areas to NavMesh 2018-10-13 22:16:32 +03:00
elsid
f6a60790f8
Create collision shape for all avoided nodes 2018-10-13 22:16:31 +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
d2fd9abd51
Split RecastMesh into tiles 2018-10-13 22:16:30 +03:00
elsid
dbb1d99bff
Add NavMeshItem generation to fix update NavMesh for render 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
937e8e1803
Allow to create empty RecastMesh 2018-10-13 22:16:29 +03:00
elsid
faaf50446d
Option to initially enable NavMesh render 2018-10-13 22:16:28 +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
d1e71f9322
Support btBoxShape for RecastMesh 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
3d97e96f55
Add dependency to recastnavigation 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
elsid
c866fdff86
Move physics object, heightfield, ptrholder into separate files 2018-10-13 22:16:24 +03:00
elsid
4fe764c3a5
Update and check for complete Pathfinder path by different methods 2018-10-13 22:16:24 +03:00
elsid
b6dd2119a6
Make Pathfinder constructor inline 2018-10-13 22:16:24 +03:00
elsid
92f52287bf
Make PathFinder::ClearPath inline 2018-10-13 22:16:24 +03:00
elsid
3655f19373
Set PathFinder::mCell to nullptr when clear path 2018-10-13 22:16:23 +03:00
elsid
85bbf9d034
Clear path without check for empty 2018-10-13 22:16:23 +03:00
elsid
ca3d0594b3
Do not store pointer to Pathgrid in PathFinder 2018-10-13 22:16:23 +03:00
elsid
3565d92e11
Make PathFinder::getPathCell inline 2018-10-13 22:16:23 +03:00
elsid
2ad3543088
Fix constant style 2018-10-13 22:16:23 +03:00
elsid
f9c651bdf3
Add const 2018-10-13 22:16:23 +03:00
elsid
2c464bd682
Evade obstacles after set rotation 2018-10-13 22:16:22 +03:00
elsid
eb10add0c4
Remove unused parameters 2018-10-13 22:16:22 +03:00
elsid
66e5a4d591
Remove useless variable 2018-10-13 22:16:22 +03:00
elsid
1a95b7a154
Remove duplicate zTurn call 2018-10-13 22:16:22 +03:00
elsid
d0bc1b75e8
Remove unused parameters 2018-10-13 22:16:22 +03:00
elsid
63b3a70ca8
Remove useless else 2018-10-13 22:16:22 +03:00
elsid
c9f3064cbd
Update ObstacleCheck once per frame 2018-10-13 22:16:22 +03:00
elsid
ad027d13fa
Remove unused 2018-10-13 22:16:21 +03:00
elsid
6d89241178
Check is path completed by osg::Vec3f position 2018-10-13 22:16:21 +03:00
elsid
2c6daa74a9
Simplify PathFinder::checkPathCompleted 2018-10-13 22:16:21 +03:00
elsid
6411c1955d
Fix indent 2018-10-13 22:16:21 +03:00
elsid
d3667945c5
Remove unused functions 2018-10-13 22:16:21 +03:00
elsid
31340a212a
Fix functions name style 2018-10-13 22:16:21 +03:00
elsid
2f424f6be2
Store aStarSearch result to deque 2018-10-13 22:16:20 +03:00
elsid
9b3756f8bc
Store path points in deque 2018-10-13 22:16:20 +03:00
elsid
925d909fea
Use rbegin 2018-10-13 22:16:20 +03:00
elsid
fbaa525c6f
Fix warning 2018-10-13 22:16:20 +03:00
elsid
4d868bec92
Use osg::Vec3f to store path nodes in Pathfinder 2018-10-13 22:16:20 +03:00
elsid
33dfe284bd
Mark local variables const which one does not change 2018-10-13 22:16:20 +03:00
elsid
0cfdf0c7b6
Remove unused virtual 2018-10-13 22:16:20 +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
David Cernat
66d666d60c [Client] Use less confusing terminology when displaying plugin mismatch 2018-10-13 14:40:49 +03:00
Marc Zinnschlag
b30e309532 Merged pull request #1967 2018-10-13 11:15:45 +02:00
David Cernat
bb834748c5 [Server] Log player kicks 2018-10-13 09:34:29 +03:00
David Cernat
a3111fbcc1 [Server] Use clearer error message when failing to bind port 2018-10-13 08:35:07 +03:00
Andrei Kortunov
dad0b78901 Avoid overflow when handling output characters (bug #4676) 2018-10-12 20:41:03 +04:00
Sam Hellawell
df1667b6e4 Cleanup fix for equip item crash on Linux
Signed-off-by: Sam Hellawell <sshellawell@gmail.com>
2018-10-11 21:49:24 +01:00
Sam Hellawell
1e171ad9fd Fix crash when equipping item on linux
Signed-off-by: Sam Hellawell <sshellawell@gmail.com>
2018-10-11 20:13:22 +01:00
AnyOldName3
0124be5713 Merge upstream/master 2018-10-10 21:23:19 +01:00
Capostrophic
47b1b0ac39 Re-fix water reflections while making a no-GUI screenshot 2018-10-10 22:44:26 +03:00
Capostrophic
4ec727c50b Disallow to open the journal while settings window is open (bug #4674) 2018-10-10 18:33:56 +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
Marc Zinnschlag
38a3632be7 Merged pull request #1960 2018-10-10 14:56:51 +02:00
Andrei Kortunov
5617bb3f0c Improve pitch factor handling for crossbow animations (bug #4672) 2018-10-09 11:35:28 +04:00
David Cernat
e402a17757 [Client] Don't cast non-weapons to weapons in isUsingRangedWeapon()
This makes lockpicks and probes work again.
2018-10-09 09:54:13 +03: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
Capostrophic
768c532b8f Editor: display light source color as a color (bug #4668) 2018-10-07 19:43:51 +03:00
Marc Zinnschlag
71f80db886 Merged pull request #1954 2018-10-07 11:25:32 +02:00
Bret Curtis
585313a71f
Merge pull request #1953 from Capostrophic/animation
Fix first person swimming animations
2018-10-06 14:24:48 +02:00
Capostrophic
03788edd63 Fix redundant drag call in instance dragging (bug #4593) 2018-10-05 18:48:17 +03:00
Capostrophic
34e45efac3 Fix first person swimming animations 2018-10-05 17:29:49 +03:00
Marc Zinnschlag
503352e840 Merged pull request #1951 2018-10-03 13:23:56 +02:00
Marc Zinnschlag
b410d87aae Merged pull request #1952 2018-10-03 13:19:28 +02:00
David Cernat
292536439e [Server] Rename script functions for clearing packet vectors for players 2018-10-03 02:26:47 +03:00
Andrei Kortunov
07ccc5abdb Remove non-looping effects after rest 2018-10-01 21:57:13 +04:00
Andrei Kortunov
3896a2eba6 Do not use a PartHolder for spell effect node 2018-10-01 20:18:20 +04:00
Andrei Kortunov
632045e145 Improve the 'part has no parents' warning 2018-10-01 20:18:19 +04:00
Andrei Kortunov
4dc424036f Cleanup magic effects, when create a new ActorAnimation 2018-10-01 20:17:58 +04:00
David Cernat
c79660f721 [Server] Make inventory script functions consistent with others
Functions that add elements to a vector should not change the action. This fixes the last remaining oddity in Koncord's original implementation of inventory sync.
2018-10-01 18:29:50 +03:00
Capostrophic
674e33170b Fix quick key system regressions (bug #4662) 2018-09-30 21:16:02 +03:00
Marc Zinnschlag
38758a9555 Merged pull request #1944 2018-09-29 11:16:14 +02:00
Andrei Kortunov
43c7438e8e Move WeakCache to components/misc 2018-09-28 16:47:47 +04: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
Andrei Kortunov
35abf7367c Implement wearing priority for editor 2018-09-27 18:22:17 +04:00
Andrei Kortunov
ac848b0902 Use male bodyparts as fallback for females in the editor 2018-09-27 13:14:59 +04:00
Kyle Cooley
0096951f25 cleanup 2018-09-27 13:14:59 +04:00
Kyle Cooley
676fc48855 Re-add logic for empty model 2018-09-27 13:14:59 +04:00
Kyle Cooley
f43b70d77b Centralize actor data, simplify logic 2018-09-27 13:14:59 +04:00
Kyle Cooley
c1ec926f43 Workaround inconsistencies with record status changes 2018-09-27 13:14:59 +04:00
Kyle Cooley
1518d630ca Fix issue with body part events not propogating to actors 2018-09-27 13:14:59 +04:00
Kyle Cooley
031502b2ab Reorganize ActorAdapter data, use weak cache for sharing 2018-09-27 13:14:59 +04:00
Kyle Cooley
2a9ebac572 Simplify update logic, update when race parts are changed. 2018-09-27 13:14:59 +04:00
Kyle Cooley
1276e0fa9b Handle changes to race record when rendering actors 2018-09-27 13:14:59 +04:00
Kyle Cooley
b2115b60e6 Fix qt4 build 2018-09-27 13:14:59 +04:00
Kyle Cooley
6bece13a32 Use new Log class for error message 2018-09-27 13:14:59 +04:00
Kyle Cooley
97ac0a92dd Move data handling out of rendering code, equip armor/clothes 2018-09-27 13:14:59 +04:00
Kyle Cooley
6b42f37918 Handle creatures too 2018-09-27 13:14:59 +04:00
Kyle Cooley
e2ac392a40 Move common stuff to scene util, fix errors with 1st person meshes 2018-09-27 13:14:59 +04:00
Kyle Cooley
8444ee9981 Start rendering npc's 2018-09-27 13:14:59 +04:00
Marc Zinnschlag
5fa9b32e76 Merged pull request #1937 2018-09-27 11:06:21 +02:00
Marc Zinnschlag
43880ca47b Merged pull request #1919 2018-09-27 11:06:00 +02:00
Marc Zinnschlag
8b30f15df7 Merged pull request #1942 2018-09-27 11:05:22 +02:00
Marc Zinnschlag
c566514c9d Merged pull request #1940 2018-09-27 10:50:04 +02:00
Andrei Kortunov
ee4ca87352 Traverse child nodes of cell node in the editor (bug #4654) 2018-09-26 23:13:18 +04:00
Capostrophic
ba2fd8b795 Rename reflected absorb spells setting and add it to Advanced tab 2018-09-26 21:21:03 +03:00
Andrei Kortunov
8af021d729 Restore dynamic stats for actors in inactive cells (bug #1875) 2018-09-26 07:46:28 +04:00
David Cernat
b76e00c66e [Server] Call OnPlayerCellChange script event near start of cell change
This makes it possible to send custom records used by players for their equipment before the hardcoded exchange of equipment packets takes place.

Additionally, remove the check for dead players because it has no real use and can potentially cause problems.
2018-09-26 02:40:21 +03:00
Andrei Kortunov
0176ee389e Handle length of UTF-8 strings properly in plugin metadata (bug #4653) 2018-09-25 21:40:26 +04:00
Andrei Kortunov
bce8de5fe9 Respect selected encoding in the content selector (bug #4467) 2018-09-25 21:39:18 +04:00
Capostrophic
d2cad229f8 Ugly hack: don't reset player idle and movement animations in first person view 2018-09-25 17:09:54 +03:00
Marc Zinnschlag
0e06a25f21 Merged pull request #1935 2018-09-25 12:11:20 +02:00
Capostrophic
77fb4d6dd2 Make sure the idle animations are reset while jumping 2018-09-24 19:30:02 +03:00
Capostrophic
56ef11b023 Reset sneak and swim idle animations when moving 2018-09-24 19:30:02 +03:00
Capostrophic
713330351b Experimental animation regression fixes
Don't unnecessarily start movement and jump animations from loop start
Don't play movement animation until jumping animation finishes
2018-09-24 19:30:02 +03:00
Sergey Fukanchik
b2a52a5b6c Change 'after function'-style doxygen comment to normal. 2018-09-24 14:59:10 +03:00
Marc Zinnschlag
6ce6108eb4 Merged pull request #1932 2018-09-24 11:57:08 +02:00
Marc Zinnschlag
84a2752db9 Merged pull request #1933 2018-09-24 11:53:07 +02:00
David Cernat
f100a660d4 [General] Fix ranged attack sync when using last throwing weapon or ammo 2018-09-24 11:30:53 +03:00
David Cernat
3f304866fd [Client] Use clearer variable names in DedicatedPlayer::setEquipment() 2018-09-24 10:11:42 +03: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
David Cernat
995d20348f [General] Always use correct ranged weapon & ammo for ranged attack sync
Previously, the player's currently selected weapon was being used in ranged attacks as in the original melee-oriented attack sync, which meant that shooting one type of projectile and then equipping another while the old projectile was still in the air turned the old projectile into the new projectile upon impact.

Additionally, avoid running most of the code in MechanicsHelper::assignAttackTarget() for non-hitting melee and ranged attacks.
2018-09-23 02:30:31 +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
cd60d4fdf0 Store character controller in the variable make code less bulk 2018-09-22 21:13:00 +04:00
Andrei Kortunov
2ac2d01432 Optimize drowning state update 2018-09-22 21:12:56 +04:00
Andrei Kortunov
90d35aaa8f Handle current health level during levelup (bug #4649) 2018-09-22 07:48:47 +04:00
Andrei Kortunov
b3fd173e00 Check if current weapon has health at all in HUD (bug #4648) 2018-09-22 06:51:56 +04:00
Andrei Kortunov
1634284739 Cache player's position outside of loops 2018-09-21 22:39:47 +04:00
Andrei Kortunov
b9346798c6 Optimize combat music update 2018-09-21 22:34:18 +04:00
Andrei Kortunov
fb484c6fde Optimize AI loop a bit 2018-09-21 19:02:28 +04:00
Marc Zinnschlag
7be9f2ca45 Merged pull request #1891 2018-09-21 11:38:19 +02: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
bdd9eba2b8 Use C++ limits instead of C ones 2018-09-20 16:02:26 +04:00
Andrei Kortunov
276b7830a9 Mass potion creation (feature #4642) 2018-09-20 15:45:14 +04:00
Marc Zinnschlag
3761aaadfd Merged pull request #1928 2018-09-20 13:31:56 +02:00
Marc Zinnschlag
82d37dda20 Merged pull request #1927 2018-09-20 13:31:41 +02:00
Marc Zinnschlag
29bc5cbecf Merged pull request #1925 2018-09-20 13:14:55 +02:00
Andrei Kortunov
6f4f6a155f Combat AI: take ranged weapon speed in account 2018-09-19 12:23:24 +04:00
Andrei Kortunov
62f6f174cf Show attack speed of ranged weapons 2018-09-19 12:23:21 +04:00
Andrei Kortunov
989de05f80 Do not show duration for infinite light sources as -1 2018-09-18 15:23:16 +04:00
David Cernat
b5f46ada73 [General] Synchronize projectile speed for ranged attacks
This is done by including the final attackStrength used for ranged attacks in packets and then applying it in WeaponAnimation::releaseArrow() on other clients.
2018-09-18 01:13:48 +03:00
Andrei Kortunov
6d0e6ab012 Use book font by default in the text formatter 2018-09-17 22:24:21 +04:00
Andrei Kortunov
dda02bd696 Do not use book fonts for dialogue window 2018-09-17 19:56:36 +04:00
Andrei Kortunov
70ed8fd1a9 Use constants instead of widely used magic numbers (task #4645) 2018-09-17 19:22:50 +04:00
Bret Curtis
07be9ae8ac
Merge pull request #1926 from akortunov/warnfix
Fix MSVC warning about possibly uninitialized movestate variable
2018-09-17 17:10:25 +02:00
Andrei Kortunov
9c8fc0557a Fix MSVC warning about possibly uninitialized movestate variable 2018-09-17 14:45:16 +04:00
Marc Zinnschlag
06b2a23e74 Merged pull request #1768 2018-09-17 12:10:21 +02:00
Marc Zinnschlag
d76367918a Merged pull request #1907 2018-09-17 12:10:00 +02:00
Marc Zinnschlag
c6b62308cd Merged pull request #1921 2018-09-17 12:02:44 +02:00
Marc Zinnschlag
29f6ee30a6 Merged pull request #1922 2018-09-17 12:00:49 +02:00
Andrei Kortunov
2961f0d810 Allow to use the %Name for creatures (bug #4644) 2018-09-16 21:53:28 +04:00
Capostrophic
95aa05e41b Tweaks to script parser messages and pathgrid warnings 2018-09-16 16:47:33 +03:00