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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Bret Curtis
585313a71f
Merge pull request #1953 from Capostrophic/animation
...
Fix first person swimming animations
2018-10-06 14:24:48 +02: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
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
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
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
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
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
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
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
David Cernat
7281f9fc42
[Client] Prevent unilateral paralysis of dedicated players & actors
...
This is a temporary workaround until active effect synchronization is implemented.
2018-09-16 15:34:57 +03: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
David Cernat
33a0886790
[Client] Fix synchronization of knockdown states
2018-09-15 04:59:06 +03:00
David Cernat
490303dc0b
[Client] Clean up MechanicsHelper::processAttack() slightly
...
The debug is now more descriptive and some code is now skipped for non-ranged attacks.
2018-09-15 04:11:43 +03:00
Bret Curtis
6035636e29
Merge pull request #1915 from akortunov/enterfix
...
Disable repeating for Accept GUI action
2018-09-14 15:17:47 +02:00
David Cernat
9d2dc96a2e
[Client] Use RANGED type for ranged attacks that haven't hit a target
2018-09-14 13:23:43 +03:00
David Cernat
af49f711ca
[Client] Add isUsingRangedWeapon() method to MechanicsHelper
2018-09-14 13:21:45 +03:00
Marc Zinnschlag
ea053d9f47
Merged pull request #1881
2018-09-14 11:43:11 +02:00
Marc Zinnschlag
252ed9bd4b
Merged pull request #1914
2018-09-13 11:53:21 +02:00
Capostrophic
664c630ac0
Don't make sTo strings static references
2018-09-12 16:36:03 +03:00
Andrei Kortunov
e300a16b24
Use field for columns count instead of out integer
2018-09-12 14:31:01 +04:00
Andrei Kortunov
7a986f38da
Support for user-defined TrueType fonts
2018-09-12 14:31:01 +04:00
Andrei Kortunov
c9c0230d2a
Scale journal fonts separately from common ones
2018-09-12 14:31:01 +04:00
Andrei Kortunov
f89393fd62
Validate 'ttf resolution' option value
2018-09-12 14:31:01 +04:00
Andrei Kortunov
adbaeb7cca
Improve GUI scaling (bug #3288 )
2018-09-12 14:31:01 +04:00
Marc Zinnschlag
6100e34051
Merged pull request #1912
2018-09-12 12:04:49 +02:00
Marc Zinnschlag
2ba15c86f8
Merged pull request #1913
2018-09-12 12:01:13 +02:00
Marc Zinnschlag
3fd40e4a4e
Merged pull request #1916
2018-09-12 11:58:39 +02:00
Marc Zinnschlag
50775dd411
Merged pull request #1917
2018-09-12 11:38:52 +02:00
Andrei Kortunov
0136f0552b
Do not update mIdleState directly
2018-09-11 22:24:44 +04:00
Andrei Kortunov
929d78d6a3
Randomize attacks for non-bipedal creatures with Weapon flag
2018-09-11 22:24:44 +04:00
Andrei Kortunov
0440c11ccd
Fix swim crossbow animations
2018-09-11 22:24:44 +04:00
David Cernat
3f6ca6f22b
[Client] Bring drawState fallback for actors up-to-date w/ attack types
2018-09-11 15:12:11 +03:00
David Cernat
9d2cf6629b
[Client] Fix logic for hand-to-hand attack sync
2018-09-11 15:07:44 +03:00
David Cernat
fcd31bf4a6
[General] Fix problems with the synchronization of ranged attacks
...
Projectile hits now send Attack packets with RANGED attacks, and their success or failure is now synchronized.
Strike enchantments no longer require a valid victim to be synchronized.
Additional debug messages have been added for attacks.
2018-09-11 11:56:45 +03:00
Andrei Kortunov
9918212a1e
Set focus to Close button when opening the container window (bug #4333 )
2018-09-11 11:22:26 +04:00
Andrei Kortunov
c2c24a76a4
Handle MyGUI exceptions inside destructors
2018-09-11 11:11:27 +04:00
Andrei Kortunov
d5bcc49079
Initialize missing struct fields
2018-09-11 11:11:24 +04: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
31a9b77f34
[Client] Reset hitPosition in MechanicsHelper::resetAttack()
2018-09-10 12:34:33 +03: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
Andrei Kortunov
269ef7a559
Disable repeating for ENTER key in GUI
2018-09-10 12:55:00 +04:00
David Cernat
c9ad411dd3
[Client] Fix logic for setting applyProjectileEnchantment in attack sync
2018-09-09 22:33:48 +03:00
Andrei Kortunov
33a66b778f
Disable repeating for Accept action in keyboard navigation (bug #4260 )
2018-09-09 23:10:09 +04:00
Capostrophic
702868255a
Use sTo GMST in spellmaking menu (feature #4636 )
2018-09-09 13:56:58 +03:00
Capostrophic
6ab42919cf
Make sure the actor is actually crouching/running before tweaking movement speed
2018-09-08 22:43:09 +03:00
Evil Eye
6705e5aae4
forget about the setting till #2887 is implemented at least
2018-09-08 11:21:43 +02:00
David Cernat
8012d0d7b7
[General] Include hit position in PlayerAttack and ActorAttack packets
2018-09-08 05:29:49 +03:00
David Cernat
dcd4478028
[Client] Always stop sending weather updates when moving to an interior
2018-09-07 08:37:22 +03:00
Evil Eye
bbcdfd4078
Implements vanilla's off-by-one error, fixing #4611
2018-09-06 21:49:50 +02:00
Capostrophic
9408876b58
Utilize AI GMSTs for priority rating (feature #4632 )
...
Fix on-target effect rating calculation
2018-09-06 17:39:37 +03:00
David Cernat
113002ca19
[Client] Return early when processing actors that can't be initialized
2018-09-05 20:03:35 +03:00
Bret Curtis
86809af2cd
Merge pull request #1908 from akortunov/warnfix
...
Fix some warnings
2018-09-04 16:00:37 +02:00
Andrei Kortunov
aed7c1b2bb
Fix a couple of Clang warnings
2018-09-04 12:37:43 +04:00
Capostrophic
d758b573e2
Fix erroneous assumption that ranged weaponry has speed
...
Restrict speed mult to melee weaponry
2018-09-01 12:13:18 +03:00
Capostrophic
ceb6121b33
Better checks for enemy incapacitation
2018-09-01 12:13:18 +03:00
Capostrophic
2965373ed6
Avoid potential zero division
2018-09-01 12:13:18 +03:00
Capostrophic
e66be02e2e
Account for enemy armor rating in weapon rating
2018-09-01 12:13:18 +03:00
Capostrophic
fa3e45fa7d
Slight cleanup
2018-09-01 12:13:18 +03:00
Capostrophic
533b72eff6
Cache weapon type strings
2018-09-01 12:13:18 +03:00
Capostrophic
00c847db19
Make AI Blind, Sound and Silence effect rating more logical
2018-09-01 12:13:18 +03:00
Capostrophic
374e98d665
Make rateWeapon more sensible and account for weapon speed
2018-09-01 12:13:18 +03:00
Marc Zinnschlag
78a84042ad
Merged pull request #1901
2018-09-01 11:08:24 +02:00
Marc Zinnschlag
3b01355f27
Merged pull request #1895
2018-09-01 11:06:38 +02:00
Marc Zinnschlag
f2981a81c9
Merged pull request #1900
2018-09-01 11:06:10 +02:00
Marc Zinnschlag
ef72024e2c
Merged pull request #1902
2018-09-01 11:01:05 +02:00
Capostrophic
b673cdf70e
Grant Enchant experience even if recharging fails (bug #4622 )
2018-08-30 23:52:33 +03:00
Capostrophic
7ef6fa9f61
Remove deprecated GMST get* functions
2018-08-29 18:38:12 +03:00
Andrei Kortunov
5d54214acb
Optimize combat action iteration
2018-08-29 17:20:34 +04:00
Andrei Kortunov
2cac8b59b1
Use square distance to target
2018-08-29 17:20:32 +04:00
Andrei Kortunov
4c0ef4ddb6
Do not initialize magic schools map every time we access it
2018-08-29 17:20:32 +04:00
Capostrophic
23834b5ed8
Don't apply falling damage twice (bug #4608 )
2018-08-29 15:09:03 +03:00
Capostrophic
b8ba9092cb
Purge effects from all permanent spells with the same ID
2018-08-29 14:09:43 +03:00
Capostrophic
ed1f8f7be7
Remove effects from all active spells with the same ID
2018-08-29 13:52:03 +03:00
Capostrophic
6c47f95677
Make RemoveSpellEffects affect permanent spells (bug #3920 )
...
Also make it remove the effects but not the spells themselves
2018-08-29 13:52:03 +03:00
Marc Zinnschlag
c280a71b33
Merged pull request #1897
2018-08-29 12:15:05 +02:00
Marc Zinnschlag
57922a272c
Merged pull request #1899
2018-08-29 12:13:28 +02:00
Marc Zinnschlag
6fc6fef72e
Merged pull request #1892
2018-08-29 12:08:13 +02:00
Marc Zinnschlag
f05e494f6f
Merged pull request #1894
2018-08-29 12:06:42 +02:00
Marc Zinnschlag
21d414187f
Merged pull request #1896
2018-08-29 12:05:50 +02:00
Marc Zinnschlag
e4e18d6642
Merged pull request #1869
2018-08-29 12:02:56 +02:00
Capostrophic
7f459f0610
Knockdown and godmode fixes
...
Make sure an incapacitated player is not able to jump
Cleanup of redundant player and godmode checks in creature class
Make sure the player is not knocked down while in godmode
2018-08-28 16:42:15 +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
Andrei Kortunov
8fa6c6f726
Update pinned windows in-game (bug #4560 )
2018-08-27 09:44:04 +04:00
Andrei Kortunov
d448b802ef
Add a small threshold for player turning animations
2018-08-26 22:58:26 +04:00
Andrei Kortunov
60698e6f8a
Optimize new magic effects update system
2018-08-26 21:02:14 +04:00
Sophie Kirschner
a1e076a37e
Merge branch 'master' into pineapple/fix-video-incomplete-type-2
...
Resolve merge issues related to CHANGELOG.md
* master:
Optimize skinning (task #4605 )
Update changelog
Update some comments
Set the OpenAL source offset after setting the buffer
Make Move and MoveWorld console commands move actors standing on moving object (bug #2274 )
Adding Changelog entry
Allow messageboxes arguments to have newline characters (bug #3836 )
Check for impact immediately when launch a projectile (bug #3059 )
Fix gold count calculation in pickupObject (bug #4604 )
Correct special case soundgen comparisons
Move "land" check earlier
Fixes #3681
Play landing sound manually and ignore land soundgen textkeys (bug #2256 )
Make some more optimizations to actor processing loops
Fix freeze in getActorsSidingWith
Addiong missing "to" word
Adding common problems that were previous on the site FAQ
Treat <> and << operators as < and >< and >> as > in scripts
stage1: priorities for event music and other minor improvements to the music system
# Conflicts:
# CHANGELOG.md
2018-08-26 12:05:02 +03:00
Andrei Kortunov
c6dcfd1fce
Do not apply scale twice for animated collision nodes (bug #4607 )
2018-08-25 17:26:17 +04:00
Sophie Kirschner
dd01c4d224
Fix: 'sizeof' to an incomplete type 'Video::VideoPlayer'
...
Alternate solution to same problem reported in https://github.com/OpenMW/openmw/pull/1888
2018-08-25 11:53:43 +03:00
Chris Robinson
c2b3ca9638
Update some comments
...
It wasn't actually a bug in OSX like the comment said, but intended behavior.
2018-08-25 01:24:35 -07:00
Chris Robinson
4e3ae85c11
Set the OpenAL source offset after setting the buffer
...
This is to work around a bug in the Rapture3D driver.
2018-08-25 01:24:35 -07:00
Marc Zinnschlag
c2c595407c
Merged pull request #1883
2018-08-25 10:07:56 +02: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
Bret Curtis
78d9787212
Merge pull request #1880 from Capostrophic/landing
...
Play landing sound manually and ignore land soundgen textkeys (bug #2256 )
2018-08-23 08:40:55 +02:00
Capostrophic
3f76f1d3ed
Fix gold count calculation in pickupObject (bug #4604 )
2018-08-22 22:35:22 +03:00
Capostrophic
f74ebb64af
Correct special case soundgen comparisons
2018-08-22 16:36:15 +03:00
Capostrophic
ae0a6a22b3
Move "land" check earlier
2018-08-22 14:47:06 +03:00
Capostrophic
2b45fd84ea
Play landing sound manually and ignore land soundgen textkeys (bug #2256 )
2018-08-21 19:03:03 +03:00
Capostrophic
910065f38f
Make some more optimizations to actor processing loops
2018-08-21 17:02:56 +03:00
Capostrophic
b77d733c3e
Fix freeze in getActorsSidingWith
2018-08-21 16:47:29 +03:00
AnyOldName3
25e92481f4
Merge remote-tracking branch 'refs/remotes/upstream/master'
2018-08-21 14:00:58 +01: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
45b011452e
[Client] Combine methods for sending spell packets into a single one
2018-08-21 01:20:30 +03:00
Capostrophic
74229490e4
Use the correct skill for creature AI weapon hit chance rating
2018-08-20 21:38:57 +03:00
David Cernat
140e0ed52c
[Client] Also clear aiActors when clearing ActorList
2018-08-20 20:54:34 +03:00
David Cernat
aed4ca2fd2
[Client] Allow use of baseId for more record types
...
Additionally, don't allow new enchantment records to be created if they have no effects, to avoid a crash.
2018-08-20 15:24:20 +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
David Cernat
7efee0e968
[Client] Fix GCC build
2018-08-20 10:15:30 +03:00
Bret Curtis
3c827da702
Merge branch 'master' into combat_anims
2018-08-19 10:03:39 +02:00
Bret Curtis
3b2781bf89
Merge pull request #1720 from akortunov/playvfx
...
Rework spell VFX management
2018-08-19 10:00:38 +02:00
Marc Zinnschlag
20c53594de
Merged merge request !36
2018-08-18 12:06:35 +02:00
James Carty
4489838ea3
Fix incorrect function call
2018-08-17 22:35:04 +01:00
James Carty
513e99148e
Fix function with no return value
2018-08-17 20:18:20 +01:00
AnyOldName3
80082308f0
Merge upstream (shadermanager log system revamp)
2018-08-17 18:22:13 +01:00
Andrei Kortunov
d7ca087f59
AiCast: fix aiming
2018-08-17 12:41:13 +04: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
Marc Zinnschlag
ebdb991225
Merged pull request #1875
2018-08-17 09:37:12 +02:00
Marc Zinnschlag
3489951410
Merged pull request #1866
2018-08-17 09:36:44 +02:00
Capostrophic
ce78a34010
Use container ID in Equip command warning
2018-08-17 03:32:33 +03:00
Capostrophic
372697489b
Fix Equip command infinite loop (bug #3072 )
2018-08-17 02:52:18 +03:00
James Carty
43f1c9163c
Fix issue in which murder wouldn't be reported after paying fine
2018-08-16 18:58:51 +01:00
Andrei Kortunov
16edac8c47
Fix incorrect 'preparing' word spelling
2018-08-16 17:47:06 +04:00
Andrei Kortunov
a73d42e711
Do not stop idle animation in spellcasting stance
2018-08-16 16:56:42 +04:00
Andrei Kortunov
b7a448cf42
Update idle animations after reset of mIdleState (bug #4531 )
2018-08-16 16:56:42 +04:00
Andrei Kortunov
3a6c480d41
Do not reset idle animations when turning
2018-08-16 16:56:42 +04:00
Andrei Kortunov
15fa47827b
AiCombat: Avoid jittering when aiming in melee
2018-08-16 16:56:42 +04:00
Andrei Kortunov
e444b9581c
Do not play min attack -> max attack animation when attack strength is 0 (bug #4591 )
2018-08-16 16:56:39 +04:00
Andrei Kortunov
8a48258b1b
Fix attack after shoot
2018-08-16 15:51:11 +04:00
Bret Curtis
dcd381049c
Merge pull request #1872 from akortunov/extended_logging
...
Use new logging system
2018-08-16 11:38:29 +02:00
David Cernat
5bd2244898
[Client] Uninitialize DedicatedActors instantly in some situations
...
When LocalActors briefly become DedicatedActors as the result of a server script, the DedicatedActors are immediately uninitialized to avoid bugs like them jumping in place or rotating slightly.
Additionally, the playing of animations and sounds received in packets for DedicatedActors is no longer done during their next update, but is instead done instantly when the packets are received.
2018-08-16 03:50:41 +03:00
James Carty
4b0a6074e7
Add comment
2018-08-16 00:29:14 +01:00
James Carty
6889432030
Move code to seperate functions for reusability
2018-08-16 00:26:02 +01:00
Andrei Kortunov
5a4d0cec3a
Use new logging system for game itself
2018-08-14 23:05:43 +04:00
Yohaulticetl
7e9ce99062
Made the werewolf check optional
2018-08-14 19:56:40 +02:00
Yohaulticetl
18e51e0e98
Added check for werewolves
2018-08-14 19:44:03 +02:00
Yohaulticetl
d19cbdb652
Factored strength into hand-to-hand combat
2018-08-14 19:44:03 +02:00
Capostrophic
22162dcbda
Replace std::find with std::set::find where applicable
2018-08-14 18:14:43 +03:00
Capostrophic
53599290c3
Make search for followers in getEnemiesNearby recursive
2018-08-14 16:14:48 +03:00
Capostrophic
75bd6e1d28
Make search for allies in actorAttacked recursive
2018-08-14 15:41:34 +03:00
Capostrophic
7029ed0e8d
Refactor follower and enemy actor processing
...
Make another exception for wander packages when finding allies (bug #4304 )
2018-08-14 15:36:52 +03:00
Bret Curtis
d25147a930
Merge pull request #1863 from Capostrophic/aiming
...
Use the correct spell projectile speed GMST in AI aiming (bug #3948 )
2018-08-14 10:29:22 +02:00
Bret Curtis
6a32a4aed0
Merge pull request #1810 from akortunov/weaponfix
...
Use fallbacks for missing weapon animations
2018-08-14 10:29:01 +02:00
Bret Curtis
f7715db25f
Merge pull request #1871 from akortunov/extended_logging
...
[Regression] Move cerr initialization out of 'try' block
2018-08-14 10:26:12 +02:00
Andrei Kortunov
9a5b016293
Move crashcatcher initialization to components
2018-08-14 11:17:05 +04:00
David Cernat
5fd4113978
[General] Implement sending of ActorSpeech packets from server scripts
2018-08-13 20:39:03 +03:00
Allofich
fd89fa415a
Do modifiers for dynamic stats before attributes
...
(Fixes #4231 )
2018-08-13 21:59:27 +09:00
Allofich
2cc1b52baf
Drain and fortify fixes for dynamicStats
...
(Fixes #3049 )
2018-08-13 21:59:26 +09:00
Bret Curtis
61b34124e2
Merge pull request #1847 from akortunov/extended_logging
...
Improve console logging
2018-08-13 10:19:25 +02: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
8de3383612
Add zero-duration spells effects to effect list (bug #3533 )
2018-08-12 17:25:35 +04:00
Andrei Kortunov
307e0103dc
Use fallbacks for missing weapon animations (bug #4470 )
2018-08-12 16:14:24 +04:00
Andrei Kortunov
7d6e3673e0
Implement advanced logging system (feature #4581 )
2018-08-12 13:38:15 +04:00
David Cernat
338efdb705
[General] Fix issues with MechanicsHelper::getItemPtrFromStore()
2018-08-11 19:00:02 +03:00
David Cernat
9598212aad
[Client] Don't add bound items to inventory as a result of item packets
...
Additionally, don't include bound items when sending PlayerInventory packets.
2018-08-11 16:05:37 +03:00
David Cernat
a3b9274365
[Client] Make it possible to check if an item ID belongs to a bound item
2018-08-11 16:02:09 +03:00
David Cernat
a1933e7bc2
[Client] Don't declare variable twice in LocalPlayer's setEquipment()
...
The variable equipmentItem is identical to currentItem, so it should not have been added in commit 58a6a8c3bc
Addditionally, use a more descriptive variable name than "a" for item Ptrs.
2018-08-11 15:28:03 +03:00
Capostrophic
3527f3800e
Use the correct spell projectile speed GMST in AI aiming
2018-08-10 21:21:21 +03:00
Marc Zinnschlag
1cfc1f9bdb
Merged pull request #1666
2018-08-10 12:23:17 +02:00
Marc Zinnschlag
0aedb3aada
Merged puil request #1808
2018-08-10 12:22:13 +02:00
Marc Zinnschlag
24212d58e8
Merged pull request #1861
2018-08-10 12:21:05 +02:00
Andrei Kortunov
cde95979d0
Fix combat engagement for creatures
2018-08-10 09:29:01 +04:00
David Cernat
5d66a9bb66
[Client] Fix path to MechanicsHelper in ProcessorPlayerItemUse
2018-08-09 22:33:22 +03:00
David Cernat
8df08c7d10
[General] Implement PlayerItemUse packet
...
Players can no longer unilaterally use items on themselves in their inventory. When they try to use an item, they send a PlayerItemUse packet to the server with the item's details. A serverside script can then check the item and either send the packet back to make the item use go through or drop it.
2018-08-09 18:25:20 +03:00
Andrei Kortunov
780648b584
Do not reset idle animations if we do not have ammo
2018-08-09 16:39:46 +04:00
Andrei Kortunov
df577babe9
Increase priority of 1st-person weapon animations to avoid issues with animation blending
2018-08-09 16:39:20 +04:00
Andrei Kortunov
71bcc11ba5
Apply only crossbow reload animation to upper body
2018-08-09 16:37:08 +04:00
Andrei Kortunov
a0d0e5d2db
Give jumping animations higher priority than movement ones
2018-08-09 16:19:03 +04:00
Andrei Kortunov
6a03aa6fdb
Reduce jittering during turning animations for player
2018-08-09 16:19:00 +04:00
Andrei Kortunov
cd92014533
Do not touch GUI modes when taking screenshots (bug #4528 )
2018-08-09 16:19:00 +04:00
Marc Zinnschlag
fe19d8ff35
Merged pull request #1857
2018-08-09 13:52:51 +02:00
Marc Zinnschlag
a2a57cf694
Merged pull request #1858
2018-08-09 13:51:31 +02:00
Marc Zinnschlag
0f510011b3
Merged pull request #1852
2018-08-09 13:49:50 +02:00
Andrei Kortunov
126b2fdd42
Use the isPlayer variable to do not check if the current actor is player every time
2018-08-09 11:16:19 +04:00
AnyOldName3
1e48114492
Use JDGBOLT's indoor 'sun' direction.
2018-08-08 23:30:33 +01:00
AnyOldName3
a2b54714d4
Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm
2018-08-08 23:28:06 +01:00
AnyOldName3
586ac2d12d
Revert "Prevent accidental culling of first person meshes"
...
This reverts commit c38bf6757a
.
2018-08-08 22:53:56 +01:00
Andrei Kortunov
51af729305
Do not use headtracking in the 1st-person view (bug #4573 )
2018-08-08 23:29:03 +04:00
Andrei Kortunov
6202b4eca9
Do not touch GUI modes when taking screenshots (bug #4528 )
2018-08-08 22:10:53 +04:00
Capostrophic
e9e9c0dd6b
Fix guild guide fast travelling to exteriors time
2018-08-08 12:46:36 +03:00
Andrei Kortunov
b7859b3fa9
Cap underwater view distance (bug #4565 )
2018-08-08 13:22:40 +04:00
Capostrophic
bcd9cc4baa
Check the actor cell instead of the destination cell in fast travel price logic
2018-08-08 02:07:48 +03:00
Marc Zinnschlag
b75b5d139a
Merged pull request #1845
2018-08-05 12:28:38 +02:00
Capostrophic
7087bad580
Use special behavior for all topics with reserved names (bug #4557 )
2018-08-05 12:39:53 +03:00
David Cernat
888e1dfff8
[General] Allow setting of AI fight & dynamic stats in record packets
...
Additionally, allow the setting of the Autocalc flag for an NPC record based on an existing record.
2018-08-05 11:00:25 +03:00
Andrei Kortunov
b0f2e00e7f
Make forcegreeting a non-op for non-actor objects (bug #4553 )
2018-08-05 09:31:45 +04:00
Marc Zinnschlag
452a706047
Merged pull request #1837
2018-08-04 10:26:44 +02:00
Marc Zinnschlag
b6a919a2d1
Merged pull request #1838
2018-08-04 10:26:18 +02:00
Marc Zinnschlag
99c03d55f0
Merged pull request #1841
2018-08-04 10:25:52 +02:00
Marc Zinnschlag
2a621fedd1
Merged pull request #1842
2018-08-04 10:08:11 +02:00
Capostrophic
d15dcaff68
Don't adjust weapon rating according to weapon condition twice
2018-08-03 19:22:58 +03:00
Andrei Kortunov
e2519226aa
Move boost include
2018-08-03 17:04:07 +04:00
Andrei Kortunov
eeffe2e557
Check if item model exists inside drag and drop functions
2018-08-03 16:42:43 +04:00
Andrei Kortunov
c2a175c2e0
Move crash catcher wrapper to separate file
2018-08-03 15:51:17 +04:00
Capostrophic
725a9323c4
Merge branch 'master' into sound
2018-08-03 14:16:51 +03:00
Capostrophic
4c7f3cf626
Merge branch 'master' into weaponpriority
2018-08-03 14:07:11 +03:00
Marc Zinnschlag
4d280add81
Merged pull request #1843
2018-08-03 12:56:17 +02:00
Marc Zinnschlag
d7718aae9b
Merged pull request #1840
2018-08-03 12:54:56 +02:00
Marc Zinnschlag
eb5f558f6f
Merged pull request #1839
2018-08-03 12:53:55 +02:00
Andrei Kortunov
712c9995db
Rename mIsScripted variable because its name is ambiguous
2018-08-03 12:01:31 +04:00
Andrei Kortunov
c454f1bdad
Use log file for editor (feature #4012 )
2018-08-03 09:05:08 +04:00
AnyOldName3
8f4125134f
Merge remote-tracking branch 'refs/remotes/upstream/master'
2018-08-02 15:51:06 +01:00
AnyOldName3
c38bf6757a
Prevent accidental culling of first person meshes
2018-08-02 15:50:43 +01:00
Capostrophic
9d85b7c2d3
Use the actual damage for deducting weapon rating
2018-08-02 15:20:07 +03:00
Capostrophic
73d5496711
Revert addition change
2018-08-02 13:01:23 +03:00
Capostrophic
16af1a6c1c
Replace 0 sound range values separately
2018-08-02 12:40:53 +03:00
Capostrophic
3ac030d75a
Handle explicit calls before handling quotes
2018-08-02 09:49:53 +03:00
Capostrophic
80f3bd9f86
Don't apply iWereWolfFleeMod to creatures
2018-08-02 08:36:15 +03:00
Capostrophic
fa6c205e5d
Make tab autocompletion work with explicit reference calls
2018-08-02 03:24:31 +03:00
Capostrophic
bec47dfb7c
Make ranged weapon bonus a distance-dependent multiplier
2018-08-01 19:57:05 +03:00
Capostrophic
382b68a081
Combat AI: take the actual hit chance in account when rating weapon
2018-08-01 19:27:19 +03:00
Andrei Kortunov
12144de8ed
Initialize missing variables
2018-08-01 20:18:37 +04:00
Andrei Kortunov
c0bed0fde2
Handle case when index < 0
2018-08-01 20:17:59 +04:00
Andrei Kortunov
770d86f9bd
Initialize cubeSize variable for 360 degrees screenshots correctly
2018-08-01 19:36:55 +04:00
Andrei Kortunov
a08048da4e
Avoid dereference after null check
2018-08-01 19:30:30 +04:00
Capostrophic
ab29f9e13f
Add permanent barter disposition change option (feature #3103 )
2018-08-01 17:31:35 +03:00
Marc Zinnschlag
1c13256456
Merged pull request #1829
2018-08-01 16:17:37 +02:00
Marc Zinnschlag
0e75e3816a
Merged pull request #1830
2018-08-01 16:16:30 +02:00
Marc Zinnschlag
0c507b74bc
Merge pull request #1832
2018-08-01 16:13:59 +02:00
AnyOldName3
cc23a968d1
Merge upstream/master
2018-08-01 14:13:45 +01:00
Capostrophic
be2e7e9e09
Make casting caster-linked on-self effects no-op (bug #4378 )
2018-08-01 02:41:57 +03:00
Andrei Kortunov
5b92910829
Limit difficulty scaling, as mentioned in docs
2018-07-31 21:14:16 +04:00
Andrei Kortunov
c07cc0dc40
Reset animation state after weapon unequipping
2018-07-30 22:24:25 +04:00
Andrei Kortunov
0f2c3ecb17
Rescale player avatar (bug #4539 )
2018-07-30 17:41:43 +04:00
David Cernat
b57807407a
[General] Implement RecordDynamic packet, part 1
...
Spell, potion, enchantment, creature, NPC, armor, book, clothing, miscellaneous and weapon record data can now be sent in a RecordDynamic packet. Additionally, the packets include data related to associated magical effects (for spells, potions and enchantments), data related to default inventory contents (for creatures and NPCs) and data related to body parts affected (for armor and clothing).
The server now has associated script functions for setting most of the details of the above, with the main exception being individual creature and NPC stats.
Records can either be created entirely from scratch or can use an existing record (set via the baseId variable) as a starting point for their values. In the latter case, only the values that are specifically set override the starting values. Creature and NPC records also have an inventoryBaseId that can be used on top of the baseId to base their inventories on another existing record.
The client's RecordHelper class has been heavily expanded to allow for the above mentioned functionality.
When players create spells, potions and enchantments as part of regular gameplay, they send RecordDynamic packets that provide the server with the complete details of the records that should be created. When they create enchantments, they also provide the server with armor, book, clothing and weapon records corresponding to the items they've enchanted.
This functionality added by this packet was originally supposed to be exclusive to the rewrite, but I've gone ahead and tried to provide it for the pre-rewrite in a way that can mostly be reused for the rewrite.
2018-07-30 10:56:26 +03:00
Capostrophic
c79f96d0d2
Implement ranged crits (feature #3703 )
2018-07-29 19:42:44 +03:00
Andrei Kortunov
1d463d129d
Finish AiTarget package, if destination is blocked by other actor
2018-07-29 19:41:31 +04:00
Andrei Kortunov
75835c8326
Prevent NPC from chosing farther pathgrid node
2018-07-29 18:18:05 +04:00
Marc Zinnschlag
9e6cba09a6
Merged pull request #1827
2018-07-29 12:52:51 +02:00
Marc Zinnschlag
78121c1774
Merged pull request #1823
2018-07-29 12:49:50 +02:00
Marc Zinnschlag
3ba9229f47
Merged pull request #1815
2018-07-29 12:48:20 +02:00
Capostrophic
9c8e284ead
Fix quick key activation delay code (regression #4536 )
2018-07-29 12:52:29 +03:00
Andrei Kortunov
6d5d0039ec
Make sure we apply OT_Murder only once
2018-07-28 20:45:33 +04:00
Andrei Kortunov
bc82dbbd1b
Do not try to find missing animated collision shape again and again
2018-07-28 16:49:00 +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
Marc Zinnschlag
b7c159e5b6
Merged pull request #1816
2018-07-27 12:09:10 +02:00
Marc Zinnschlag
c508938674
Merged pull request #1817
2018-07-27 12:06:51 +02:00
Marc Zinnschlag
bbb22643e8
Merge remote-tracking branch 'capostrophic/warning'
2018-07-27 12:05:26 +02:00
David Cernat
9497c7f6f2
[Client] Add back mistakenly removed setting of mpNums for spawns
2018-07-27 00:36:05 +03:00
David Cernat
25fcd09780
[Client] Add doesNpcExist() method to RecordHelper
2018-07-26 23:57:42 +03:00
David Cernat
7995466e3c
[Client] Check validity of refIds in ObjectSpawn packets
...
This reverts c7bcf70c32
because it provides a better solution to the problem solved there, while solving another related problem as well.
2018-07-26 23:57:22 +03:00
David Cernat
8d286657d4
[Client] Update messages when unilaterally creating custom objects
2018-07-26 23:32:31 +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
c7bcf70c32
[Client] Ignore ObjectSpawn packets trying to spawn non-actors
2018-07-26 22:41:04 +03:00
David Cernat
d93b67ef21
[General] Sync soul refIds for items and add related script functions
2018-07-26 22:37:04 +03:00
David Cernat
f52364e05c
[Client] Always create new references for new creature disguises
...
Previously, attempts to reuse the same reference for multiple creature disguises led to movement animation issues, as well as a dynamic_cast error in Creature::getInventoryStore() that made a DedicatedPlayer vanish completely when they first lost their creature disguise, then disguised themselves as a creature that could not hold weapons and then disguised themselves as a creature that could hold weapons.
2018-07-26 21:08:12 +03:00
David Cernat
60bc7447d9
[Client] Rework RecordHelper and add methods for other record types
...
The usage of const_cast has been replaced with usage of MWWorld::getModifiableStore() and ESMStore::overrideRecord()
Methods whose names started with "update" now start with "override", for consistency with ESMStore's overrideRecord()
New methods have been added for "overriding" enchantment, potion and spell records, which actually leads to them being created with their already set refIds if they haven't been created yet, as per the description of ESMStore::overrideRecord(): "Insert a record with set ID, and allow it to override a pre-existing static record."
Usage of RecordHelper methods has been updated in DedicatedPlayer.
2018-07-26 21:01:59 +03:00
Capostrophic
51d369d4da
Add resumeGame method
2018-07-26 20:35:34 +03:00
David Cernat
4e78642273
[Client] Add getModifiableStore() to MWWorld
2018-07-26 20:05:36 +03:00
David Cernat
b4802e4201
[General] Use Time struct for time in BaseWorldstate
2018-07-26 19:01:27 +03:00
Andrei Kortunov
23d917df9c
Do not use magic numbers in capacity calculations
2018-07-26 18:06:36 +04:00
David Cernat
a4b588d1b5
[General] Add optional timestamps to journal entries in PlayerJournal
2018-07-26 04:36:12 +03:00
Capostrophic
cac2bc768e
Fix NPC "can't teach more" message (bug #4494 )
2018-07-25 12:34:33 +03:00
David Cernat
8fbed1f808
[General] Remove custom data from PlayerSpellbook packet
...
It has never made sense to have custom spell data in PlayerSpellbook packets, so it has been removed.
2018-07-24 20:58:55 +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
b69e6b96e6
[Client] Use verbose logging level for LocalActor debug
2018-07-23 22:11:59 +03:00
David Cernat
36ac2d9de4
[Client] Set packetOrigin for all ObjectList packets sent
2018-07-23 01:39:43 +03:00
David Cernat
692ee01340
[Client] Add ScriptController w/ contextType-to-packetOrigin method
2018-07-23 00:48:23 +03:00
David Cernat
63a86f145d
[Client] Record type of each InterpreterContext for later checking
2018-07-23 00:46:07 +03:00
David Cernat
b891acd46e
[Client] Send Container packets when items are added/removed via scripts
...
Additionally, disable unilateral addition and removal of items on clients, and expect the server to reply back with an approved addition or removal.
2018-07-22 17:04:17 +03:00
David Cernat
2189ea1a63
[Client] Clean up sending of Container packets
2018-07-22 16:43:27 +03:00
David Cernat
8c0b75d9f4
[Client] Limit PlayerEquipment packets sent by recharging enchantments
2018-07-22 15:30:40 +03:00
David Cernat
18f8725d33
[Client] Remove tab character that somehow made its way into a comment
2018-07-22 10:29:14 +03:00
David Cernat
038757b91a
[General] Temporarily revert to original rotation animation sync
...
I originally added rotation animation sync as part of commit 068a45be87
. Unfortunately, it meant the PlayerPosition packets were now twice as large as they had been before, which was less than ideal for such a frequently sent packet, which is why Koncord switched to a more optimized approach in commits 5f30dfd5db
and d67db1a9bd
.
Recently, there have since been some rotation animation problems in OpenMW, which have broken the way Koncord's approach looks. My original approach still looks somewhat okay, so I'm switching back to it until we can figure out how to reuse it under the current circumstances.
2018-07-21 19:27:36 +03:00
David Cernat
3944c8aec6
[Client] Ignore WorldRegionAuthority packets that have an empty region
2018-07-21 18:28:31 +03:00
David Cernat
99e64bdcd7
[Client] Remove unused localWeather variable from Worldstate
2018-07-21 16:25:49 +03:00
David Cernat
cd1fc590a7
[Client] Differentiate itemPtr from actor Ptr in DedicatedPlayer method
...
This fixes a mistake from 8f7da49152
2018-07-21 16:14:07 +03:00
David Cernat
5466092582
[Client] Reduce log level for actor cell changes
2018-07-21 14:41:48 +03:00
David Cernat
20e0100706
[General] Rework Attack packets and add synchronization for item magic
2018-07-21 14:41:27 +03:00
David Cernat
0f0e8b7c08
[Client] Adjust log levels used for weather and global map
2018-07-21 12:08:31 +03:00
David Cernat
f1315ef30d
[Cllient] Differentiate itemPtr from actor Ptr in DedicatedActor methods
...
2427a4f877
mistakenly used the variable name "ptr" for both the actor and the items in that actor's inventory.
2018-07-21 10:16:51 +03:00
David Cernat
b6324e3532
[Client] Clean up debug for spell usage
2018-07-21 09:41:36 +03:00
David Cernat
21d5bb4d4e
Merge pull request #460 from OpenMW/master
...
Add 0.7.0 commits up to 20 Jul 2018
2018-07-21 05:59:57 +03:00
David Cernat
421d0e7a99
[Client] Make forceWeather false by default for client-sent weather
2018-07-21 05:21:26 +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
Andrei Kortunov
8281fd903f
Set movement speed to 0 when unconscious (bug #4519 )
2018-07-19 20:17:32 +04:00
David Cernat
b6db570d9c
[Client] Display uniqueIndexes in a less confusing way in console
2018-07-19 11:57:06 +03:00
Marc Zinnschlag
78a2725169
Merged pull request #1806
2018-07-17 12:42:41 +02:00
Marc Zinnschlag
326a3e61f4
Merged pull request #1807
2018-07-17 12:42:12 +02:00
Andrei Kortunov
38fa4e0a8a
Do not play un-equipping animation when we switch to hand-to-hand
2018-07-17 14:10:04 +04:00
David Cernat
9823a77bf2
[General] Turn PlayerRegionAuthority into WorldRegionAuthority
...
WorldRegionAuthority is a Worldstate packet.
2018-07-17 09:21:13 +03:00
Andrei Kortunov
edd5769022
Show magic items count in spells window (feature #4509 )
2018-07-16 14:11:03 +04:00
Andrei Kortunov
30716344f2
Fix possible division by zero in the fatigue calculation (bug #4510 )
2018-07-16 13:24:12 +04:00
David Cernat
d5d3c0937f
[Client] Adjust log level for actor transfers in CellStore
2018-07-16 03:53:09 +03:00
David Cernat
35fdb833df
[Client] Verify integrity of credits file
2018-07-16 03:25:01 +03:00
David Cernat
0b5cb15f71
[General] Turn GameWeather into WorldWeather, now a WorldstatePacket
2018-07-16 02:20:43 +03:00
David Cernat
3649cf553f
[General] Rename PlayerKillCount into WorldKillCount
...
This should clarify the real meaning of the packet and its associated event.
The event itself has been renamed from OnPlayerKillCount to OnWorldKillCount.
2018-07-15 05:34:59 +03:00
David Cernat
18a2d238ab
[Client] Don't pop up dialogue screen when an NPC activates another NPC
2018-07-15 04:36:42 +03:00
David Cernat
4ef2aff11e
[Client] Remove "Not implemented" message when activating other player
...
Serverside scripts can now make lots of different things happen as the result of such activation, which is why the message was no longer current.
2018-07-15 04:16:40 +03:00
David Cernat
f13705e8be
[Client] Improve debug for ObjectActivate and ConsoleCommand
2018-07-15 04:09:19 +03:00
David Cernat
6ebe09375f
[General] Implement ObjectActivate packet & associated script functions
2018-07-15 03:16:04 +03:00
David Cernat
81b160cae8
[General] Add placeholder for ObjectActivate packet
2018-07-15 01:08:31 +03:00
David Cernat
61da0d2475
[General] Turn PlayerInteraction into PlayerInput
2018-07-15 00:36:07 +03:00
David Cernat
32b6134fad
[General] Add placeholder for CellReplace packet
2018-07-15 00:17:13 +03:00
David Cernat
a471f5e452
[General] Turn CellCreate into a Worldstate packet
2018-07-14 23:51:49 +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
6d43c8d63d
[Client] Send ActorAI with combat when an NPC's fight is set to 100
2018-07-14 02:55:38 +03:00
David Cernat
743933134d
[Client] Simplify sending of ActorAI packets for uninitialized actors
2018-07-14 01:00:27 +03:00
David Cernat
5f4ec1331f
[Client] Send ActorAI packet when combat is started via a client script
2018-07-14 00:07:15 +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
David Cernat
f0d4f1bbe5
[Client] Send ActorAI packets when followed by an NPC
...
The packet is sent regardless of whether we are the cell authority or not, so the server can decide what it wants to do with it.
2018-07-12 23:08:17 +03:00
David Cernat
6316f1e590
[Client] Add ActorList methods for sending ActorAI packets
...
Additionally, use consistent capitalization for AI-related methods.
2018-07-12 20:48:47 +03:00
David Cernat
0fd8f7660b
[Client] Replace LocalActor arg with BaseActor in ActorList functions
2018-07-12 20:15:04 +03:00
Andrei Kortunov
3d1daaebab
Rework manual spellcasting (e.g. via scripts)
2018-07-12 16:24:25 +04:00
David Cernat
bdf2f03c4f
[General] Remove unnecessary MapChanges struct from BaseWorldstate
2018-07-12 05:06:31 +03:00
David Cernat
59a56ca35e
[Client] Disallow clients from scaling their associated players
...
Additionally, display messages when trying to scale players.
2018-07-12 03:29:38 +03:00
David Cernat
8ca29dbaac
[Client] Fix remaining mistakes in debug for received ActorAI packets
2018-07-11 23:11:37 +03:00
David Cernat
25f7a55495
[Client] Improve debug for received ActorAI packets
2018-07-11 19:54:56 +03:00
Bret Curtis
99e4d49e7c
Merge pull request #1787 from akortunov/profilierfont
...
Use the DejaVuLGCSansMono.ttf for profiler output
2018-07-11 16:00:34 +02:00
Andrei Kortunov
70b6d4983d
Use the DejaVuLGCSansMono.ttf in profilier output
2018-07-11 14:41:49 +04:00
Marc Zinnschlag
ee759effce
Merged pull request #1798
2018-07-11 10:06:30 +02:00
David Cernat
bff6e9e235
[General] Implement ActorAI packet, part 5
...
Allow repetition for AiWander package to be turned on and off.
2018-07-10 23:18:32 +03:00
Andrei Kortunov
c77c50e92b
Make Equip console command to bypass most of restrictions (bug #4460 )
2018-07-11 00:06:21 +04:00
Capostrophic
5cb9dc9d12
Use SpellTurnLeft/TurnRight animation groups
2018-07-10 22:19:56 +03:00
Bret Curtis
df1576fcf5
Merge branch 'master' into crossbowfix
2018-07-10 19:15:37 +02:00
Andrei Kortunov
1c35e20fcc
Use 1h animations as fallback for crossbows
2018-07-10 17:02:51 +04:00
Andrei Kortunov
75dcbea365
Apply weapon reload animations only for upper body
2018-07-10 17:00:48 +04:00
David Cernat
2e31c212c0
[Client] Make any ActorAI packet override an actor's desire to fight
2018-07-10 11:33:07 +03:00
David Cernat
79ee976c95
[Client] Implement ACTIVATE action in DedicatedActor::setAI()
...
Additionally, clean up usage of CreatureStats in DedicatedActor.
2018-07-10 11:31:51 +03:00
David Cernat
0f30e21312
[Client] Add searchPtrViaRefIndex method to World to easily find objects
2018-07-10 11:30:32 +03:00
David Cernat
c984fc0881
[Client] Allow AiActivate to be used with specific Ptrs, not just refIds
2018-07-10 08:21:24 +03:00
David Cernat
00c13ae96c
[General] Implement ActorAI packet, part 4
...
The server can now make actors activate players and objects, at least in theory. In practice, OpenMW''s AiActivate package needs to be worked so it allows specific objects as targets instead of just refIds.
2018-07-10 07:07:37 +03:00
David Cernat
0e13207afe
[General] Implement ActorAI packet, part 3
...
The server can now cancel actor AI, make actors travel to a location, make actors wander, and make actors get escorted by a player or another actor.
2018-07-10 05:07:58 +03:00
David Cernat
5baef09f79
[General] Implement ActorAI packet, part 2
...
The server can now make actors start combat with players or other actors.
2018-07-10 02:47:52 +03:00
David Cernat
5628f3b977
[Client] Fix debug for DedicatedActor::setAI()
2018-07-10 02:05:10 +03:00
David Cernat
b86155dc11
[Client] Allow AiFollow package to have infinite distance when desired
2018-07-10 01:40:57 +03:00
David Cernat
864c66d1d4
[Client] Make sure hasAiTarget is set correctly for DedicatedActors
2018-07-10 01:35:38 +03:00
David Cernat
4d4bced929
[Client] Allow singleplayer-only saves in main menu during multiplayer
2018-07-09 22:53:18 +03:00
terrabyte25
48296a7452
Update trainingwindow.cpp
2018-07-09 23:13:52 +04:00
Alexander Stillich
725cc94210
Renamed cc_install to something less cryptic (crashCatcherInstall)
2018-07-09 16:25:55 +02:00
Doc West
467989cdd5
Moved crashcatcher to a component and also use it in CS
...
Reworked debugger detection (failed on gdb 7.11), it now uses /proc to detect the debugger
2018-07-09 16:25:55 +02: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
6ff7fa525e
[Client] Disable autosaving when waiting
2018-07-08 23:04:30 +03:00
David Cernat
04ba324290
[Client] Disable clientside disabling and enabling of objects
2018-07-08 03:31:48 +03:00
David Cernat
5043fb4246
[Client] Disable clientside disarming of traps
2018-07-08 02:38:10 +03:00
David Cernat
acdaf1a282
[Client] Disable clientside deletion of objects through console/scripts
...
Unfortunately, disabling clientside deletion of summons and items that can be picked up requires extra work on actors and inventories respectively, to avoid buggy situations.
2018-07-08 00:39:07 +03:00
David Cernat
8d9fde810e
[Client] Disable clientside scaling of objects
2018-07-08 00:28:31 +03:00
David Cernat
f3892d697b
[Client] Disable clientside locking and unlocking of objects
2018-07-08 00:06:01 +03:00
David Cernat
3ed9d89280
[General] Use separate variables for video & music filenames in packets
2018-07-07 14:40:35 +03:00
David Cernat
509882b5f6
[Client] Rework MechanicsHelper::getTarget() to avoid crashes
2018-07-07 11:43:57 +03:00
David Cernat
e3e1cfc549
[Client] Add forgotten comparison in crimeTime and deathTime check
2018-07-06 20:49:08 +03:00
Capostrophic
bded697f07
Make Goodbye block using hyperlinks
2018-07-06 19:38:36 +03:00
David Cernat
4eb72eecb1
[Client] Fix crash for invalid CellRefs in MechanicsHelper::getTarget()
2018-07-06 18:39:14 +03:00
David Cernat
4b30a44816
[Client] Compare crimeTime and deathTime when NPCs forgive player crimes
...
Previously, all crime witnesses stopped being hostile to a respawning player for as long as the player's diedSinceArrestAttempt was true. That meant that, in an area with no guards to arrest the player, crime witnesses did not enage in combat with the player at all ever again until diedSinceArrestAttempt became false.
This commit makes it so the time of the last crime is recorded for each witness, and that is then compared with the time of the LocalPlayer's last death for a one-time crime forgiveness during that player's current life.
This is essentially a gameplay adjustment for "singleplayer with respawns," and will have to be reworked to make sense for every player in multiplayer, though that requires reworking the crime system as a whole and is thus on hold.
2018-07-06 14:17:54 +03:00
Marc Zinnschlag
d9de8ccb5b
Merged pull request #1781
2018-07-06 11:55:45 +02:00
David Cernat
c23fc3446f
[Client] Avoid sending map tiles for Wilderness cells
2018-07-06 03:54:34 +03:00
David Cernat
17c234d9ca
[Client] Use initial values for LocalPlayer and LocalActor killers
2018-07-06 02:07:55 +03:00
David Cernat
97cd3effa7
[Client] Make actor debug consistent with object debug
2018-07-06 00:32:45 +03:00
Capostrophic
9abfabb065
Ensure forward-compatibility of death animations in old saves ( fixes #4274 )
2018-07-05 22:49:40 +03:00
David Cernat
c075496748
[General] Replace deathReason in death packets with a killer variable
...
Add serverside script functions for determining the killers of both players and actors.
Use unsigned ints for script functions returning an object or actor's refNumIndex or mpNum.
Remove updateDeadState() from LocalPlayer and make its code part of updateStatsDynamic() for simplicity.
2018-07-05 22:24:51 +03:00
David Cernat
f02492a593
[General] Temporarily include target names in mwmp::Target
...
These will be removed once the server can get the names matching refIds by reading content files.
2018-07-05 19:40:28 +03:00
David Cernat
691b332d03
[Client] Use MechanicsHelper::getTarget() for summoners in ObjectList
2018-07-05 16:38:03 +03:00
David Cernat
130a32ebb0
[Client] Add new methods for handling mwmp::Target in MechanicsHelper
2018-07-05 16:36:52 +03:00
Capostrophic
faf3e9ba5a
Make spellcasting stance transition more smooth ( fixes #4358 )
...
If a movement animation was identical to the previous one that was played, restart it from the point the previous animation ended
2018-07-05 01:57:34 +03:00
David Cernat
76731f5def
[Client] Don't remove SummonKeys with actorIds of -1
...
This prevents summon duplication caused by a SummonKey sometimes being deleted immediately after being created, before the server can send back an ObjectSpawn packet spawning a creature that can be attached to the SummonKey.
2018-07-05 01:11:45 +03:00
David Cernat
c2411982d2
[Client] Log object refNumIndexes and mpNums in a consistent way
2018-07-04 21:54:11 +03:00
David Cernat
7775780ad7
[Cllient] Update multiplayer code for handling quick keys
2018-07-04 05:56:10 +03:00
David Cernat
8a23a96da4
[Client] Update initialization of AiFollow packages in multiplayer code
2018-07-04 04:00:12 +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
fa2bf0663e
[General] Simplify vectorContains
2018-07-03 18:41:03 +08:00
Koncord
53346e2663
[Client] Return 0 if effect not found
2018-07-03 03:43:38 +08:00
Koncord
c5c1a160b2
[Client] Comment out an unused variable
2018-07-03 03:35:48 +08: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
David Cernat
bef53749ed
[General] Replace BaseObject's hasMaster variable with isSummon
...
Additionally, add a GetObjectSummonState() script function to the server.
2018-07-02 02:25:06 +03:00
David Cernat
8ce225b1cc
[Client] Use the casters of damage-dealing spells as death reasons
2018-07-02 00:42:32 +03:00
Finbar Crago
5d9035c6b2
[ Fixes #4482 ] Missing HandToHand on key quick key 0 (introduced in MR !11 for issue #4480 )
...
because apparently i can't count to ten...
2018-07-01 13:46:23 +10:00
David Cernat
958b220835
[General] Send summon duration to server in ObjectSpawn packets
2018-07-01 00:43:29 +03:00
Marc Zinnschlag
2ea85d0bb6
Merge remote-tracking branch 'gl_finbar-crago/fix_quickkey_segfalt'
2018-06-30 10:17:05 +02:00
Finbar Crago
09c9bd34c3
cleanup more unnecessary struct keywords...
2018-06-30 12:43:50 +10:00
Capostrophic
6e9c08083d
Add missing empty attacker checks
2018-06-29 20:35:45 +03:00
Capostrophic
bccba24c40
Make unarmed creature attacks not affect armor condition ( fixes #2455 )
2018-06-29 20:18:28 +03:00
Finbar Crago
596be205c1
cleanup unnecessary struct keywords...
2018-06-29 23:43:51 +10:00
Finbar Crago
2722ca50fb
fix QuickKeysMenu crash on reopening window after item drop + pickup [see: !11#note_85086570]
2018-06-29 23:32:05 +10:00
Finbar Crago
7ae388086b
Merge branch 'master' into fix_quickkey_segfalt
2018-06-29 12:34:53 +10:00
Finbar Crago
ed71656ea6
fix updateActivatedQuickKey() crash
...
keyboard numbers don't start at zero...
2018-06-29 01:58:57 +10:00
Finbar Crago
24d5fb09da
fix crash on simultaneous key presses
2018-06-28 22:55:02 +10:00
Bret Curtis
f07d50e5bf
Merge pull request #1785 from akortunov/warnfix
...
Fix some GCC warnings
2018-06-28 10:33:51 +02:00
Finbar Crago
d790a27060
Merge branch 'master' into fix_quickkey_segfalt
2018-06-28 18:16:00 +10:00
Andrei Kortunov
5455490ad2
Avoid fall-through in spell selection
2018-06-28 11:12:48 +04:00
Finbar Crago
80a3f0a0d4
switch mSelectedIndex/mActivatedIndex int to mSelected/mActivated keyData pointers
2018-06-28 17:02:25 +10:00
Finbar Crago
335e2c5897
add keyData struct + general cleanup
2018-06-28 13:27:08 +10:00
David Cernat
9102df7fde
[General] Make WorldCollisionOverride also work with specific refIds
...
For now, this only makes it possible to enforce collision for specific refIds for placed objects.
2018-06-28 04:53:00 +03:00
David Cernat
b81ca18316
[Client] Don't clear container Ptrs when disposing of corpses
...
The reason for this is that only the server should be determine whether a corpse can be disposed of or not.
2018-06-28 01:45:15 +03:00
Nikolay Kasyanov
5fcb091127
Replace FIXME with a detailed explanation of the issue
2018-06-27 22:40:09 +02:00
Nikolay Kasyanov
9c78364c45
Revert "Merge pull request #1771 from Xenkhan/master"
...
This reverts commit 9667dd051c
, reversing
changes made to f52e06fc19
.
2018-06-27 22:19:09 +02:00
David Cernat
7ffdb18bf9
[General] Implement ActorDeath packet, part 1
...
ActorDeath packets are sent for dead actors before their StatsDynamic packets. They contain the actor's deathReason in a manner similar to that of PlayerDeath packets.
A future commit will replace the deathReason with a variable named killer which will be an mwmp::Target.
2018-06-27 21:47:55 +03:00
Andrei Kortunov
ec73011617
Clean temporary storage if we assign new AI package (bug #4464 )
2018-06-27 12:52:43 +04:00
Andrei Kortunov
ee45f54b53
Refactor AiTemporaryStorage usage
2018-06-27 12:48:34 +04:00
Andrei Kortunov
3c7ab976c3
Ignore movement from scripted animations (bug #4475 )
2018-06-27 08:22:45 +04:00
Finbar Crago
cac6d59140
Merge branch 'master' into fix_quickkey_segfalt
2018-06-27 12:58:43 +10:00
David Cernat
7060ff59c5
[Client] Enforce the default global map cell size in multiplayer
2018-06-27 01:23:48 +03:00
David Cernat
fec500c4b0
[Client] Reduce container debug spam by requiring VERBOSE logging for it
2018-06-26 23:40:19 +03:00
David Cernat
914b79fcc9
[General] Make it possible to check which placed objects have containers
2018-06-26 16:56:08 +03:00
Finbar Crago
43c9fd4cec
check MWWorld::Ptr != NULL for MWGui ItemPtr tooltips
2018-06-26 13:41:53 +10:00
Finbar Crago
186ec8c50f
rm ContainerStore/refItem
2018-06-26 13:35:04 +10:00
Marc Zinnschlag
705b2dca0e
Merged pull request #1777
2018-06-25 11:58:12 +02:00
Marc Zinnschlag
baeaff2309
Merged pull request #1778
2018-06-25 11:57:45 +02:00
Andrei Kortunov
97d8cc0efe
Check if the local was not found, just for sure
2018-06-25 11:21:00 +04:00
Andrei Kortunov
7dff8d8fe2
Check cell for null
2018-06-25 10:26:58 +04:00
Finbar Crago
46c6abcf54
add string vectors for name/id in QuickKeysMenu for item lookups
2018-06-25 16:02:28 +10:00
Andrei Kortunov
441463327c
Validate map size
2018-06-25 09:57:40 +04:00
Andrei Kortunov
359e748c28
Initialize some missing fields in constructors
2018-06-25 09:35:42 +04:00
David Cernat
deda6ec071
[Client] Don't send WorldMap packets for already explored map tiles
2018-06-25 02:34:11 +03:00
Capostrophic
ecafcefae9
Fall back to regular head when getVampireHead fails
2018-06-24 14:39:48 +03:00
Capostrophic
35b0546737
Consider <p> tag when discarding post-EOL tag text (regression #4473 )
2018-06-23 14:27:40 +03:00
Finbar Crago
da4c55d5ad
prevent segfalt in QuickKeysMenu when item has been removed from player inventory
...
added a MWWorld::ContainerStore to hold item copies which are then used to find
real items with findReplacement().
(storing the RefId could be a better solution but would probably leave tooltips broken...)
2018-06-23 17:51:32 +10:00
AnyOldName3
f8e4f3fca5
Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm
2018-06-22 00:11:29 +01:00
Bret Curtis
a55583a395
Merge branch 'master' into master
2018-06-21 22:22:01 +02: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
Xenkhan
405a0caf29
Remove unneeded whitespace
2018-06-20 13:56:00 -05:00
Xenkhan
5a4817c147
Get rid of reinterpret_cast<>
2018-06-20 13:33:59 -05:00
Marc Zinnschlag
22eb037c18
Merged pull request #1773
2018-06-20 19:08:50 +02:00
Bret Curtis
6655b7e512
Merge pull request #1740 from nikolaykasyanov/software-cursor-decompression
...
Decompress cursors using SDL software renderer on Mac or if OSG >= 3.5.8 or if OPENMW_DECOMPRESS_TEXTURES is set
2018-06-20 17:19:48 +02:00
Bret Curtis
b619c0de2d
Merge pull request #1772 from akortunov/deathanim
...
Fast-forward death animation to end if death animation was finished earlier
2018-06-20 13:28:36 +02:00
Andrei Kortunov
c195144b17
Take transformation from first node with given name in file (bug #4469 )
2018-06-20 14:24:32 +04:00
Bret Curtis
664edc5a39
Merge pull request #1757 from akortunov/musicfix
...
Handle exception when try to load non-music file
2018-06-20 11:18:50 +02:00
Andrei Kortunov
c9756cee4c
Fast-forward death animation to end if death animation was finished earlier (regression #4468 )
2018-06-20 12:37:58 +04:00
AnyOldName3
553094669b
Merge upstream/master (& fix merge conflicts)
2018-06-20 00:11:23 +01:00
David Cernat
fd05beef94
[Client] Don't delete disposed of corpses on client
...
Clients should instead await a server reply approving the deletion.
2018-06-20 02:01:19 +03:00
Xenkhan
24ddb66af9
Retrieve SDL window settings instead of using magic numbers
2018-06-19 15:03:30 -05:00
Capostrophic
6c23caadd7
Fix crash when a target in a different cell is (un)locked
2018-06-19 20:43:18 +03:00
Capostrophic
0c4fa55f16
Make Open spells casted by anything trigger player crime event ( fixes #4461 )
2018-06-19 17:04:38 +03:00
Marc Zinnschlag
7cfb7063c2
Merged pull request #1767
2018-06-19 13:30:10 +02:00
Marc Zinnschlag
7be069fcd2
Merged pull request #1743
2018-06-19 13:29:20 +02:00
Andrei Kortunov
5fd3ec1035
Implement unlockable locks with 'lock 0' console command
2018-06-19 14:17:33 +04:00
Marc Zinnschlag
a8ad530db9
Merged pull request #1749
2018-06-19 11:33:08 +02:00
Marc Zinnschlag
2a52ade219
Merged pull request #1760
2018-06-19 11:26:41 +02:00
David Cernat
aa3639f2da
Merge pull request #450 from TES3MP/0.6.2
...
Add 0.6.2 commits up to 19 Jun 2018
2018-06-19 05:26:38 +03:00
David Cernat
5b461b09ca
[Client] Display error when receiving ID_INCOMPATIBLE_PROTOCOL_VERSION
2018-06-19 05:24:26 +03:00
David Cernat
29be79e852
[General] Switch RakNet enums to CrabNet enums
...
CrabNet is TES3MP's fork of RakNet that has deviated too far from RakNet to still be compatible with it.
2018-06-19 00:37:52 +03:00
Capostrophic
8376c8c68e
Allow partial matches in NotCell condition ( fixes #4459 )
2018-06-18 03:27:31 +03:00
Bret Curtis
e93104a6b3
Merge pull request #1758 from Capostrophic/screenshot
...
Remove screenshot taken message again
2018-06-17 22:26:00 +02:00
Bret Curtis
70dec71c00
Merge pull request #1763 from akortunov/activatedoor
...
Forbid actors to use teleporting doors
2018-06-17 10:13:16 +02:00
Bret Curtis
3cc6da1db2
Update door.cpp
...
typo fix
2018-06-17 10:13:03 +02:00
Bret Curtis
3f2dbdc8a8
Merge branch 'master' into wanderfix
2018-06-17 10:00:38 +02:00
Andrei Kortunov
f3f7487664
Fix arguments parsing for AiWander console command (bug #4458 )
2018-06-16 22:11:10 +04:00
Andrei Kortunov
e08b0d3070
Ignore lights without CanCarry flags when NPC selects torch (bug #4457 )
2018-06-16 17:34:49 +04:00
Andrei Kortunov
2a65aaf5ab
Forbid actors to use teleporting doors (bug #2562 )
2018-06-16 14:21:28 +04:00
Nikolay Kasyanov
359f87ab9f
Change imageToSurface to return a unique_ptr to avoid manual surface cleanup
2018-06-16 12:12:32 +02:00
Andrei Kortunov
9c3da41130
Add murder bounty when a player follower commits murder (bug #2852 )
2018-06-15 14:31:09 +04:00
Capostrophic
1abf749f03
Remove screenshot taken message
2018-06-14 22:08:53 +03:00
Andrei Kortunov
2854f6ca83
Handle exception if we try to play non-music file (bug #4416 )
2018-06-14 21:32:40 +04: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 Číž
dd00e438fe
Merge branch 'screenshot360' of https://github.com/drummyfish/openmw into screenshot360
2018-06-13 21:35:03 +02:00
Miloslav Číž
7178ee3a6e
Add FIXME comment
2018-06-13 21:34:43 +02:00
Miloslav Číž
d629c30fdb
Merge branch 'master' into screenshot360
2018-06-13 21:16:28 +02:00
Marc Zinnschlag
2b35c5efd7
Merge remote-tracking branch 'upstream/master'
2018-06-13 18:13:15 +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
Miloslav Číž
dcfbd554bb
Remove try catch block
2018-06-13 11:12:46 +02:00
Bret Curtis
3e4dc31e39
Merge branch 'master' into fatigue
2018-06-13 10:04:32 +02:00
Marc Zinnschlag
1ba0317905
Merged pull request #1670
2018-06-13 09:02:31 +02:00
Marc Zinnschlag
48711bbdde
Merged pull request #1592
2018-06-13 08:58:06 +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
9c45cc7e48
Use player reference instead of pointer
2018-06-12 22:05:00 +04:00
Capostrophic
1c8a20a54a
Set ok button focus in settings window by default ( fixes #4368 )
2018-06-12 19:45:43 +03:00
Andrei Kortunov
f299be8158
Play scripted animations even if SkipAnim is used
2018-06-12 16:07:36 +04:00
Andrei Kortunov
25bb7c1826
Make 'PlayGroup idle' to cancel scripted animations
2018-06-12 14:04:03 +04:00
Andrei Kortunov
0e441d48ac
Give scripted animations highest priority (bug #4286 )
2018-06-12 12:55:28 +04:00
Andrei Kortunov
0c92655250
Avoid code duplication in character manager
2018-06-12 11:51:54 +04:00
Andrei Kortunov
e3812f4075
Check creature stats only for actors
2018-06-12 11:27:18 +04:00
Andrei Kortunov
b0a140e714
Disable actor collision only after end of death animation
2018-06-12 10:00:38 +04:00
Andrei Kortunov
ebaa6fb5a2
Play death scream only once
2018-06-12 09:55:43 +04:00
Andrei Kortunov
427be928d0
Do not update animation state for dead actors
2018-06-11 23:17:54 +04:00
Andrei Kortunov
977a27ecb7
Do not clear corpses until end of death animation (bug #4307 )
2018-06-11 22:29:32 +04:00
Bret Curtis
7310e3c8c2
Merge pull request #1748 from akortunov/bookfix
...
Do not show any book text after last <BR> tag
2018-06-11 17:08:26 +02:00
Andrei Kortunov
a42c663fd7
Do not interrupt scripted animations by death animation (bug #4286 )
2018-06-11 18:53:25 +04:00
Andrei Kortunov
d0619cfb35
Play death animation for non-persisting actors with 0 health (bug #4291 )
2018-06-11 18:52:20 +04:00
Andrei Kortunov
6099735c60
Early out only when scripted animation is playing
2018-06-11 17:52:58 +04:00
Andrei Kortunov
e234dd2a36
Do not interrupt scripted animations
2018-06-11 17:18:51 +04:00
Andrei Kortunov
66a46ff03c
Do not show any book text after last <BR> tag.
2018-06-11 11:22:56 +04:00
Capostrophic
d43766d3c9
Make WakeUpPC interrupt waiting if it was supposed to be ( fixes #3629 )
2018-06-10 18:42:18 +03: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
f977c6876f
Bound items: store item ID instead of pointer
2018-06-10 16:21:19 +04:00
Andrei Kortunov
4de9d9fa77
Split adjustBoundItem()
2018-06-10 16:21:19 +04:00
Andrei Kortunov
d1b1cb748d
Reequip previous item only if the expired bound item was equipped
2018-06-10 16:21:19 +04:00
Andrei Kortunov
9b72a6ac69
Use the MWWorld::Ptr() instead of string ID
2018-06-10 16:21:19 +04:00
Andrei Kortunov
0375bedab2
Equip previous item after a bound item expires (bug #2326 )
2018-06-10 16:21:19 +04:00
Andrei Kortunov
ae87e0d3fc
Do not reset mUpperBodyState for weapon->weapon switch (regression #4446 )
2018-06-09 15:34:08 +04:00
Andrei Kortunov
4ba361fea6
Unhardcode sunset and sunrise settings (bug #1990 )
2018-06-09 13:09:17 +04:00
Marc Zinnschlag
7d9de93fd3
Merged pull request #1477
2018-06-09 10:52:35 +02:00
Marc Zinnschlag
551a69f1b1
Merged pull request #1559
2018-06-09 10:51:02 +02:00
Marc Zinnschlag
76972bb2f6
Merged pull request #1709
2018-06-09 10:46:02 +02:00
Andrei Kortunov
6ed2773299
Do not stack return packages
2018-06-08 21:53:47 +04:00
Andrei Kortunov
74a2cbe696
AI: return back after pursuit
2018-06-08 21:53:47 +04:00
Andrei Kortunov
3d0631cfcc
Store last AI package in savegame
2018-06-08 21:53:47 +04:00
Andrei Kortunov
3a0ee78d2b
AiTravel: store mHidden flag in savegame
2018-06-08 21:53:47 +04:00
Andrei Kortunov
2f5beb8853
Remove unnecessary hack
2018-06-08 21:53:47 +04:00
Andrei Kortunov
57d686131e
Remove redundant condition
2018-06-08 21:53:47 +04:00
Andrei Kortunov
5105c67642
Add mHidden field to AiTravel
2018-06-08 21:53:47 +04:00
Andrei Kortunov
81f29d8dcd
AiWander: resume moving to destination after combat
2018-06-08 21:53:47 +04:00
Andrei Kortunov
18ff097e4a
Add the parameter to AiSequence::stack() to control ability to cancel other AI packages
2018-06-08 21:53:47 +04:00
Andrei Kortunov
9d27eb197f
AiWander: return to initial position only after combat
2018-06-08 21:53:47 +04:00
Bret Curtis
61c969e970
Merge branch 'master' into hitboxfix
2018-06-08 18:36:44 +02:00
Capostrophic
b274931165
Revert erroneous changes
2018-06-08 19:18:53 +03:00
Capostrophic
dd2a11b243
Merge branch 'master' into goodbye
2018-06-08 19:16:36 +03:00
Capostrophic
24c1ee7744
Use relative stat difference for haggling
2018-06-08 19:00:45 +03:00
Capostrophic
b7026df551
Improve the offered price formula ( Fixes #2222 )
2018-06-08 19:00:45 +03:00
Andrei Kortunov
fed10e87aa
Store integer actor ID in AI packages (bug #4036 )
2018-06-08 19:57:41 +04:00
Marc Zinnschlag
9d0ce25052
Merged pull request #1738
2018-06-08 17:28:08 +02:00
Marc Zinnschlag
7899f44173
Merged pull request #1619
2018-06-08 17:07:38 +02:00
Andrei Kortunov
fea34bd73f
Added support for per-group animation files
2018-06-08 17:04:15 +04:00
Capostrophic
11103211c5
Make Goodbye and Choice choices mutually exclusive
2018-06-08 15:03:19 +03:00
Marc Zinnschlag
21ea49fe83
Merge remote-tracking branch 'capostrophic/physics'
2018-06-08 11:43:10 +02: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
Capostrophic
1a354f88ac
Make choices trigger goodbye if Goodbye is used ( fixes #3897 )
2018-06-07 22:09:55 +03:00
Andrei Kortunov
1b9edbe119
Add unequip animation during stance switching (bug #4327 )
2018-06-07 16:20:17 +04: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
f5dc9f0162
Use hitbox cone only as fallback
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
7b4a69ff2f
Merged pull request #1728
2018-06-07 13:14:53 +02:00
Marc Zinnschlag
362aa23546
Merged pull request #1724
2018-06-07 13:13:48 +02:00
Marc Zinnschlag
2ab31b0c18
Merged pull request #1723
2018-06-07 13:05:20 +02:00
David Cernat
2942bf6455
Merge pull request #445 from OpenMW/master
...
Add OpenMW commits up to 6 Jun 2018
2018-06-07 13:41:04 +03:00
David Cernat
72862dc255
[General] Turn PlayerMap into WorldMap, now a Worldstate packet
2018-06-07 12:51:45 +03:00
David Cernat
a28b27f5d9
Merge pull request #443 from OpenMW/master while resolving conflicts
...
# Conflicts:
# README.md
2018-06-05 20:57:50 +03:00
David Cernat
0d0c4ac235
[Client] Use REPLY_TO_REQUEST container sub-action for partial requests
2018-06-05 19:40:39 +03:00
David Cernat
04a2025340
Fix crash when adding items to certain disabled creatures (bug #4441 )
2018-06-05 18:09:10 +03:00
David Cernat
83014d6381
[Client] Set actors as the owners of their items when editing containers
2018-06-05 14:55:57 +03:00
David Cernat
494edbe5cb
[General] Add REPLY_TO_REQUEST container sub-action
2018-06-05 14:16:27 +03:00
David Cernat
8ea9485e6b
[Client] Make container debug information more useful
2018-06-05 12:01:16 +03: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
Marc Zinnschlag
cd7268e9af
Merge remote-tracking branch 'akortunov/effectResistFix' into openmw-44
2018-06-04 16:58:22 +02:00
Capostrophic
c14536a399
Update faction-owned items confiscation
2018-06-03 20:28:53 +03:00
Capostrophic
3810ade67a
Don't make unnecessary faction ID searches
2018-06-03 12:38:53 +03:00
Capostrophic
191cc76378
Consider faction ownerships in item stolen checks ( fixes #4293 )
2018-06-03 10:22:20 +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
be394870e4
Fix regressions in spell resistance
2018-06-01 20:08:53 +04:00
Andrei Kortunov
84c8fb9df7
Add pursue package only when crime was reported (bug #4433 )
2018-06-01 12:41:31 +04:00
Andrei Kortunov
24863f620b
RotateWorld: rotate around world axis (bug #4426 )
2018-05-30 16:35:52 +04:00
AnyOldName3
759e6fb804
Merge remote-tracking branch 'refs/remotes/upstream/master'
2018-05-27 15:41:42 +01: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
David Cernat
3efe05a88e
[General] Implement WorldCollisionOverride packet
2018-05-27 16:05:40 +03:00
David Cernat
5d30a884ba
[Client] Add Worldstate to CMakeLists
2018-05-27 16:00:14 +03:00
David Cernat
e8ec031a81
[Client] Create Worldstate class that inherits BaseWorldstate
2018-05-27 15:57:47 +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
Marc Zinnschlag
b151a89528
Merged pull request #1568
2018-05-26 12:17:07 +02:00
David Cernat
f7a084c824
[Client] Use faster check for whether actors are DedicatedPlayers
2018-05-26 08:13:26 +03:00
David Cernat
c8ec77875c
[Client] Update old comments for changes made by tes3mp
2018-05-26 05:11:41 +03:00
Marc Zinnschlag
832b4bb778
Merged pull request #1659
2018-05-25 11:32:08 +02:00
David Cernat
416ee77639
[General] Add placeholder for WorldCollisionOverride packet
2018-05-25 07:09:32 +03:00
David Cernat
2edb511a0b
[Client] Remove unnecessary condition from WorldTime processor
2018-05-25 07:08:51 +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
Andrei Kortunov
1abff5365b
Capitalize enchanted items names again in spells window
2018-05-24 13:03:47 +04:00
Andrei Kortunov
afae398b5c
Use utf8 lowercase function for journal index to avoid code duplication
2018-05-24 12:53:06 +04:00
Andrei Kortunov
b5374029e5
Implement case-insensitive search in spell window
2018-05-24 12:39:00 +04:00
Andrei Kortunov
9ac752ea70
Implement filtering in the spells window
2018-05-24 10:48:46 +04:00
David Cernat
46744ee90f
[General] Make WorldTime script functions more consistent with others
2018-05-24 09:38:06 +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
Marc Zinnschlag
2f958881b7
Merged pull request #4413
2018-05-23 13:45:35 +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
David Cernat
0be6de6607
[General] Turn RecordDynamic into a Worldstate packet
2018-05-23 07:48:28 +03:00
David Cernat
031a80ed5a
[Client] Don't advance time when waiting, traveling, training or jailed
2018-05-23 05:49:51 +03:00
David Cernat
da66face25
[General] Rename GameTime packet into WorldTime
2018-05-23 00:41:29 +03:00
David Cernat
296c69d788
Merge pull request #436 from OpenMW/master
...
Add OpenMW commits up to 22 May 2018
2018-05-23 00:40:51 +03:00
AnyOldName3
9ff31cc80d
Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm
2018-05-22 00:14:07 +01:00
AnyOldName3
9093ab59f6
Restore water object refractions and reflections.
2018-05-21 23:57:38 +01:00
declan-millar
b8df4b7c5a
Tidy in-code comment
2018-05-21 22:14:23 +01:00
declan-millar
844aef85f3
Replace spelling: soulgem -> soul gem in code comment
2018-05-21 22:12:19 +01:00
declan-millar
9ed4f33048
Replace spelling: soulgem -> soul gem
2018-05-21 19:10:24 +01:00
declan-millar
028b528c0b
Get soul magnitude before checking the rebalance setting
2018-05-21 18:16:04 +01:00
declan-millar
9346a552fa
Use Rebalance soulgem values option to set soulgem value
2018-05-21 13:59:20 +01:00
declan-millar
78e79d5775
Add advanced option to Rebalance soulgem values to the launcher
2018-05-21 13:33:42 +01:00
David Cernat
5af1150ab2
[General] Turn GameTime into a Worldstate packet
2018-05-21 07:14:08 +03:00
David Cernat
e87e1dbb30
[General] Fix Worldstate packets by adding missing lines
2018-05-21 07:12:55 +03:00
declan-millar
4b1247597e
Use soulgem value rebalance formula from morrowind code patch
2018-05-20 17:06:26 +01:00
Capostrophic
867a5938ca
Don't reset sneaking camera offset while in GUI ( fixes #4420 )
2018-05-20 10:24:20 +03:00
David Cernat
43a944ddaf
[General] Add and implement new Worldstate packet type
2018-05-18 06:40:28 +03:00
David Cernat
049d0d9ba7
[General] Fix remaining references to world packets/events
2018-05-17 00:08:37 +03:00
David Cernat
dc9a3bf73f
Merge pull request #429 from OpenMW/master
...
Add OpenMW commits up to 16 May 2018
2018-05-16 19:20:01 +03:00
Bret Curtis
67c381df4e
Merge pull request #1708 from akortunov/refidfix
...
fix GCC warnings
2018-05-16 15:59:31 +02:00
Andrei Kortunov
a68de93308
Initialize srate variable in openal_output
2018-05-16 16:34:58 +04:00
Andrei Kortunov
e5db5e2651
Fix 'maybe-uninitialized' warning in openal_output
2018-05-16 16:13:22 +04:00
Andrei Kortunov
df459199dd
Avoid left shift of negative value
2018-05-16 12:59:05 +04:00
Bret Curtis
caf1760251
Merge pull request #1707 from akortunov/weaponreach
...
Display weapon reach on tooltips in feet
2018-05-16 10:27:53 +02:00
Andrei Kortunov
164e3d12fe
Display weapon reach on tooltips in feet.
2018-05-16 11:18:22 +04:00
David Cernat
51698bed48
[Client] Rename WorldProcessor into ObjectProcessor
2018-05-15 22:56:47 +03:00
David Cernat
1e749938fb
Merge pull request #426 from OpenMW/master
...
Add OpenMW commits up to 15 May 2018
2018-05-15 21:01:33 +03:00
Bret Curtis
c75d774356
Merge pull request #1692 from akortunov/playsound
...
Prevent PlaySound overlapping
2018-05-15 19:03:01 +02:00
Andrei Kortunov
f8655d2425
Use actor's physics position as a ray origin in tracer
2018-05-14 20:38:53 +04:00
David Cernat
9b9dd4abaf
Merge pull request #425 from OpenMW/master
...
Add OpenMW commits up to 13 May 2018
2018-05-13 19:27:34 +03:00
Capostrophic
e32f38b939
Allow jumping when you're stuck on a slope ( fixes #4221 )
2018-05-13 17:19:33 +03:00
Capostrophic
409d466e42
Make 0/0 encumbrance 0% encumbrance
2018-05-13 17:18:45 +03:00
Capostrophic
ba077e7291
Fix movement fatigue loss encumbrance calculation ( fixes #4413 )
2018-05-13 17:18:45 +03:00
Capostrophic
1c9fba9a8c
Fix jumping encumbrance calculation
2018-05-13 17:18:45 +03:00
Marc Zinnschlag
0f22600a98
Merged pull request #1703
2018-05-13 09:08:40 +02:00
David Cernat
78234f9071
[General] Rename Event into ObjectList & WorldObject into BaseObject
2018-05-13 00:42:24 +03:00
David Cernat
6bf3a0be1e
[General] Rename WorldPackets into ObjectPackets for clarity
2018-05-12 19:40:00 +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
77389538e8
[General] Implement ActorAI packet, part 1
...
The server can now make actors become followers of players or other actors.
2018-05-12 06:29:11 +03:00
AnyOldName3
44b2cf2b7f
Merge upstream.
2018-05-11 19:15:04 +01:00
Marc Zinnschlag
b7cce1a665
Merged pull request #1702
2018-05-11 10:11:17 +02:00
David Cernat
57b791ea2a
[Client] Show selected object's refNum & mpNum in console window title
...
This allows for much easier debugging of all objects and actors.
2018-05-11 00:46:24 +03:00
David Cernat
7f00005f04
[Client] Fix GCC build
...
Based on 71040659ac
2018-05-10 07:16:33 +03:00
David Cernat
32d71de2f5
Update MapWindow every frame, not just when it's open (bug #4279 )
2018-05-09 07:33:45 +03:00
Alf Henrik Sauge
feeee50a88
Dropping a separate NPDTstruct12 object and instead use NPDTstruct52
...
NPDTstruct12 is now only used when loading and saving. Turning auto calc
on and off now no longer switches between to different set of values
2018-05-09 00:25:07 +02:00
Marc Zinnschlag
3197ebd8e7
Merged pull request #1694
2018-05-08 12:19:14 +02:00
David Cernat
715012f087
[General] Implement sending of image data for map tiles in PlayerMap
2018-05-08 05:57:04 +03:00
Andrei Kortunov
b15bed8e22
Avoid excessive loadSound calls
2018-05-07 20:40:53 +04:00
Marc Zinnschlag
53b6ef6f8c
minor code cleanup
2018-05-07 09:54:42 +02: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
David Cernat
df0f9b0f5e
[Client] Require a certain Skill progress amount before sending packet
2018-05-01 19:34:21 +03:00
David Cernat
1b1e5e86d1
[Client] Avoid sending CellStates to server after initialization
...
Although b4e8560698
made players instantly able to see each other on minimalist servers that did not change their cells from the default, it created problems with the default CoreScripts where players need to be logged in before receipt of a CellStates packet from them is taken into account, with the result being that a player was recorded as having loaded their initial cells on the server's C++ side but not on the Lua side.
It may simply be best to expect servers to set player cells.
2018-05-01 18:19:52 +03:00
Andrei Kortunov
4872edc5ed
Prevent PlaySound overlapping
2018-05-01 16:24:32 +04:00
Andrei Kortunov
22fb1f3403
Play spellcasting effects from objects
2018-04-30 17:12:06 +04:00
David Cernat
099f85be0a
[General] Implement PlayerMomentum packet & associated script functions
2018-04-29 23:47:17 +03:00
David Cernat
273179fd5a
Merge pull request #414 from OpenMW/master
...
Add OpenMW commits up to 29 Apr 2018
2018-04-29 22:35:05 +03:00
David Cernat
4b501a39f4
[General] Implement DoorDestination packet & associated script functions
2018-04-29 22:32:22 +03:00
scrawl
b995584ad2
Merge pull request #1688
2018-04-29 14:27:55 +00:00
David Cernat
3b07dc4b42
[Client] Send equipment packets whenever an item charge or count changes
...
Since the beginnings of TES3MP, equipment packets have only been sent whenever an item has been replaced by an item with a different refId, with changes in an item's charge or count not sending a packet (but being included in the next packet sent as a result of a refId change). The reason for this was ostensibly the fact that every single equipment packet always included the details for all 19 equipment items (as per Koncord's original design decision), which would have led to massive packet spam if such a packet was sent every time you shot an arrow or lost a little bit of your armor's condition.
With minimalist equipment packets, it is now viable to send equipment packets whenever any item changes in some way, by having the equipment packet contain only that one item.
2018-04-29 05:40:42 +03:00
David Cernat
399e049d87
[Client] Fix logic for minimal size packets in LocalPlayer
...
Previously, the index changes were not cleared at the start of their corresponding update functions, which in turn meant that an Attribute/Skill/StatsDynamic/Equipment packet received by a player from the server made that player send back the same packet, as the index changes from it were retained.
Additionally, exchangeFullInfo was not set to false, thus sometimes leading to constant full exchanges of information.
2018-04-27 03:45:17 +03:00
David Cernat
7db74509e0
Merge pull request #412 from OpenMW/master while resolving conflicts
...
# Conflicts:
# apps/openmw/mwscript/transformationextensions.cpp
2018-04-25 21:55:32 +03:00
Capostrophic
6b47f72959
Set character preview scene ambient to 0, 0, 0
2018-04-25 15:31:49 +03:00
scrawl
bdf1070852
Merge pull request #1688
2018-04-25 11:54:26 +00:00
scrawl
f0507e6b46
Merge pull request #1686
2018-04-25 10:27:38 +00:00
Capostrophic
bfcdf660f2
Utilize inventory character preview lighting rotation fallback settings
2018-04-23 22:48:15 +03:00
Capostrophic
9073e4d4ba
Initialize playlist file list in playPlaylist ( fixes #4134 )
2018-04-22 23:21:29 +03:00
Capostrophic
b69e812a52
Utilize inventory character preview lighting color fallback settings
2018-04-22 22:37:27 +03:00
scrawl
d8d26f1de8
Merge pull request #1685
2018-04-22 15:34:31 +00:00
scrawl
ec4e2f0064
Merge pull request #1684
2018-04-22 15:27:31 +00:00
David Cernat
608dcbafe6
[Client] Fix skill updates for LocalPlayer partially broken by 78441c769a
2018-04-22 11:22:36 +03:00
Evgeny Kurnevsky
c025b8f8f3
Remove useless comparison.
2018-04-21 17:10:49 +03:00
David Cernat
02eef933fd
Merge pull request #411 from OpenMW/master
...
Add OpenMW commits up to 19 Apr 2018
2018-04-21 17:00:55 +03:00
David Cernat
a541d7df3c
[General] Rework PlayerStatsDynamic packets so they are of minimal size
...
(cherry picked from commit fc5e883160
)
2018-04-21 00:43:49 +03:00
David Cernat
b9520c11da
[General] Rework PlayerEquipment packets so they are of minimal size
...
Moreover, rename BaseNetCreature's equipedItems into equipmentItems.
(cherry picked from commit d1ad0c91f8
)
2018-04-20 22:46:16 +03:00
Capostrophic
37dc3200d1
Inherit the calling object scale in PlaceAt ( fixes #4308 )
2018-04-20 00:15:26 +03:00
David Cernat
c5b08d6109
[General] Simplify storing of attribute and skill index changes
...
(cherry picked from commit bd9e8bd10f
)
2018-04-19 23:28:03 +03:00
David Cernat
2c77d5f498
[General] Set enforcedLogLevel to -1 when initializing BasePlayer
2018-04-19 20:42:27 +03:00
David Cernat
b6099024df
[General] Rework PlayerAttribute packets so they are of minimal size
...
Previously, whenever a single attribute value changed for a player, that player then sent a PlayerAttribute packet with all values for all 8 attributes.
This did not cause anywhere as much packet spam as PlayerSkill used to, but there was no good reason not to fix it as well.
(cherry picked from commit b0965f094a
)
2018-04-19 17:26:20 +03:00
David Cernat
78441c769a
[General] Rework PlayerSkill packets so they are of minimal size
...
Previously, whenever a single skill value changed for a player, that player then sent a PlayerSkill packet with all values for all 27 skills, plus the player's progress towards the next level and the bonuses to each attribute on the next level up as the result of sklll increases thus far.
This commit makes PlayerSkill contain only the values of specific skills, moves the player's progress towards the next level to PlayerLevel packets, and moves the bonuses to each attribute on the next level up to PlayerAttribute packets.
Players now also send a PlayerSkill packet whenever their progress towards a new point in a skill changes. This was previously avoided so as to not have massive packet spam.
(cherry picked from commit ef79a98544
)
2018-04-19 15:18:38 +03:00
scrawl
5d1b40c5ea
Merge pull request #1678
2018-04-19 12:18:24 +00:00
David Cernat
af4fcb7261
[Client] Don't force skill update on cell change
...
Previously, an attempt by the server to simultaneously change a player's cell and skills (as you'd expect when a player file is loaded) led to:
1) The server sending the cell packet first and the skill packet afterwards
2) The player receiving the cell packet and sending their own skill packet as part of the client's forced skill update
3) The player receiving the skill packet from the server
4) The server receiving the skill packet from the player
The result was that, if the player then left the server without sending another skill packet, the server's memory retained the skills the player had sent instead of the skills it had sent to the player.
This is the first step in a solution to that situation and similar ones.
(cherry picked from commit cac4684986
)
Note: In 0.6.x, this was only a problem if a player's cell was set by the server first and their skills were set next, i.e. this was not a problem in the default CoreScripts because the opposite order used there masked the problem. It was a more significant problem in 0.7 because all packets were queued for a player and sent in a specific hardcoded order.
2018-04-19 14:22:14 +03:00
David Cernat
57070b7f5c
[Client] Disable automatic transition to other chargen menus from OpenMW
...
Previously, after finishing the TES3MP chargen once, mCreationStage was set to 4 in OpenMW, which in turn made it impossible to go through only specific chargen menus again as the result of the relevant TES3MP script function (tes3mp.SetCharGenStage(pid, startStage, endStage) in 0.6.3, player:setCharGenStages(startStage, endStage) in 0.7). In other words, trying to allow a player to just choose their class again made it so the player started at that menu and went through all the other subsequent menus as well, i.e. the player went through the class, birthsign and review menus.
2018-04-19 13:47:42 +03:00
David Cernat
28f1c1b0d3
[General] Rework CharGen slightly for clarity purposes
...
Previously, charGenStage.end was doing double duty as both the variable indicating the number of CharGen stages and – when set to 0 – the variable indicating that CharGen was over. The latter role is now filled by a new boolean.
(cherry picked from commit 926106cf8c
)
2018-04-19 13:25:29 +03:00
David Cernat
9d46de88e0
[Client] Send cell states correctly after inputting name
...
Previously, initial cell states were sent in LocalPlayer::processCharGen() and were ignored by the server because the player was not yet regarded as loaded. The result was that existing players logging in could not see each other until they went through at least one cell change.
(cherry picked from commit b4e8560698
)
# Conflicts:
# apps/openmw/mwmp/LocalPlayer.cpp
2018-04-18 20:30:48 +03:00
Capostrophic
8617d0603b
Display a message if a spell the player tries to use via a quick key is missing ( fixes #4391 )
2018-04-18 19:10:46 +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
17678ee60f
Merge pull request #407 from OpenMW/master
...
Add OpenMW commits up to 17 Apr 2018
2018-04-17 15:25:28 +03:00
David Cernat
50fe54af5d
[Client] Update DedicatedPlayer creature if displayCreatureName changes
2018-04-17 15:23:10 +03:00
David Cernat
a01fc577f1
[Client] Add setAttributes() and setSkills() methods to DedicatedPlayer
2018-04-13 16:59:48 +03:00
David Cernat
716809f2db
[Client] Prevent errors from NPC-only packets for DedicatedPlayers
2018-04-13 16:23:42 +03:00
David Cernat
68ee64902d
[Client] Track & use previous race & creatureRefId for DedicatedPlayers
2018-04-13 16:16:43 +03:00
David Cernat
acb1335d78
[Client] Make creature disguises update correctly
2018-04-13 11:30:38 +03:00
David Cernat
70f9cb535e
[General] Use RecordHelper methods to create and update DedicatedPlayers
2018-04-13 08:37:06 +03:00
Andrei Kortunov
174b3d2249
Reset an inventory filter after reload or a new game start (bug #4392 )
2018-04-13 09:19:49 +04:00
David Cernat
49e94725aa
[Client] Prevent MechanicsManager::playerLoaded() from enabling AI
2018-04-12 17:18:06 +03:00
David Cernat
9d27f5f154
[Client] Create RecordHelper class with initial NPC and creature methods
2018-04-12 14:18:19 +03:00
David Cernat
9697595857
[Client] Don't equip already equipped items in local setEquipment()
...
This avoids the following error when receiving repeated PlayerBaseInfo packets: "Error in frame: Invalid slot, make sure you are not calling RefData::setCount for a container object"
Additionally, only re-equip items as the result of a PlayerBaseInfo packet if resetStats is true (because of its side effect of auto-equipping items for the player).
2018-04-10 19:02:55 +03:00
David Cernat
72463cfdb6
[Client] Refresh equipment for DedicatedPlayers when setting base info
...
Additionally, move default fatigue value to DedicatedPlayer initialization.
2018-04-10 19:02:55 +03: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
Capostrophic
d9acd19dc0
Merge branch 'master' into illusion
2018-04-09 23:33:11 +03:00
scrawl
0982d2175a
Merge pull request #1473
2018-04-09 20:23:43 +00:00
scrawl
92d0fb2981
Merge pull request #1667
2018-04-09 20:23:38 +00:00
scrawl
35300c04cd
Merge pull request #1671
2018-04-09 20:23:35 +00:00
scrawl
308551ad49
Merge pull request #1644
2018-04-09 20:23:24 +00:00
scrawl
cbddb4a0a9
Merge pull request #1638
2018-04-09 20:23:20 +00:00
David Cernat
73dea494c4
[General] Allow changes from PlayerBaseInfo without player stat reset
2018-04-09 19:21:19 +03:00
Capostrophic
cddc0914c8
Option to charge for all companions travelling ( fixes #4064 )
2018-04-09 19:19:50 +03:00
David Cernat
c132dc70d2
[Client] Make PlayerShapeshift turn DedicatedPlayers into creatures
2018-04-09 15:23:05 +03:00
David Cernat
141eb8b7c2
[Client] Streamline creation of references for DedicatedPlayers
...
Additionally, delete DedicatedPlayers who disconnect.
Previously, all disconnected DedicatedPlayers were still kept in memory, but never used again. There was code that suggested they were meant to be reused upon reconnecting, but that reuse had never actually been implemented, and would probably not be that useful anyway.
2018-04-08 15:02:43 +03:00
David Cernat
14f90e773d
[Client] Split up creation of DedicatedPlayers into multiple methods
...
Additionally, print player guids using their string representations for consistency.
The creation and updating of DedicatedPlayer references remains very inelegant, but this commit is the first step towards fixing that.
2018-04-08 10:56:33 +03:00
Capostrophic
77467f17c9
Fix a typo
2018-04-06 00:10:48 +03:00