Commit graph

9991 commits

Author SHA1 Message Date
David Cernat
fba4878fee Merge pull request #118 from OpenMW/master
Add OpenMW changes up to 27 Dec
2016-12-27 03:49:52 +02:00
MiroslavR
c9dd63af8d Merge pull request #1171 from NeveHanter/travel-followers-cost
Implemented "paying" for travelling followers
2016-12-26 22:34:39 +01:00
NeveHanter
8568cd049f Removed "less" character from the documentation by the requested opportunity. 2016-12-26 21:46:43 +01:00
Allofich
54fa921dad Change some AI combat engagements to not need LOS 2016-12-26 22:42:46 +09:00
Allofich
6fa0354a17 Make AI attack player also if it attacks follower 2016-12-26 22:42:45 +09:00
Allofich
5a6ea4e84e Cleanup 2016-12-26 22:42:44 +09:00
Allofich
e10c4d8814 Stop combat between AI when canFight is false 2016-12-26 22:42:42 +09:00
David Cernat
5bdfb72752 Merge pull request #116 from OpenMW/master
Add OpenMW changes up to 26 Dec
2016-12-26 01:09:20 +02:00
Allofich
e8c7ad2f4b Change environment check to canFight check
Instead of just checking that combatants are in compatible environments,
allow combat if in attack range using canFight. Together with previous
commit, fixes #3690.
2016-12-26 02:14:01 +09:00
Allofich
588442b6cc Make enemies start combat with player followers
Recreates vanilla behavior of enemies starting combat with player
followers and escorters. (Fixes #3691)
2016-12-26 02:13:54 +09:00
logzero
a5360483bb Back off slightly when we are touching something.
This can reduce the amount of movement solver failures significantly.
I've observed a drop of 8 iteration cases by almost factor of ten.
2016-12-25 15:34:43 +01:00
logzero
00f3bfba27 Use tracer hit height to skip stepping up in movement solver. 2016-12-24 23:07:44 +01:00
logzero
ab1724d3db Compare new velocity to the original velocity.
Using old velocity seems awkward,
probably a copypaste/refactoring bug.
2016-12-24 12:38:23 +01:00
logzero
e58de5e410 Remove superfluous velocity reflection in movement solver.
The slide projection negates the reflection effect.
Just to be sure I've compared the resulting vectors
with and without reflection at runtime.
2016-12-24 12:29:09 +01:00
NeveHanter
ff4aba2a6e Moved duplicated code to common ActionTeleport static method and reordered travel price calculations 2016-12-23 21:27:29 +01:00
MiroslavR
5f234f8952 Dialogue: "PC Rank" condition now uses speaker's faction if "PC Faction" is not given (Fixes #3689) 2016-12-23 19:03:59 +01:00
MiroslavR
87fd011a28 Clean-up saves by dropping references with invalid RefNums (Fixes #1956) 2016-12-22 20:48:58 +01:00
scrawl
cf496287f7 Silence static analysis warnings 2016-12-22 14:43:54 +01:00
logzero
50fd913058 Refactor stepMove function into a Stepper object
to be able to reuse up stepper results
for successive movement solver iterations.
This can reduce the number of convex casts
almost by half in some cases.
2016-12-21 19:02:42 +01:00
logzero
4f6e65e481 Apply sliding upward check to new velocity.
This helps to capture the case where new velocity
only differs in the z component (normal pointing up).
TODO: Find a better way to handle the normal pointing up case.
2016-12-21 19:02:42 +01:00
logzero
0b08802910 Integrate MinStep move attempt into stepMove.
This can save 1 to 3 convex casts per iteration.
2016-12-21 19:02:41 +01:00
logzero
25a0219e4d Use cosine of max slope angle for walkable slope checks in movement solver. 2016-12-21 19:02:41 +01:00
logzero
561e0cbbf9 Use squared length for distance checks in movement solver. 2016-12-21 19:02:40 +01:00
scrawl
dc1f788cff Use osg::PI over M_PI 2016-12-21 16:49:37 +01:00
Koncord
6e6237541a Fix "comparison between signed and unsigned integer expressions" 2016-12-21 16:13:39 +08:00
NeveHanter
15cd3c178b Clamp price multiplication to 1, as it resulted in player alone traveling at no fee. 2016-12-20 21:23:55 +01:00
NeveHanter
8902bb5b13 Player now pays for the following actors when travelling, with the exception of the first follower who travels for free, refactored getFollowers to getActorsFollowing/getActorsSidingWith 2016-12-20 12:38:51 +01:00
David Cernat
bf0a96d552 Merge pull request #114 from OpenMW/master while resolving conflicts
# Conflicts:
#	.travis.yml
2016-12-20 05:21:24 +02:00
Koncord
11be8ed005 Rename copyOldLog to renameOldLog 2016-12-18 12:48:23 +08:00
Koncord
e44ebca0aa Keep old client logs 2016-12-18 12:45:03 +08:00
scrawl
6140768783 Enable waterCollision after moving the player above water (Fixes #3672) 2016-12-17 23:21:33 +01:00
David Cernat
973db7c78a Merge pull request #113 from OpenMW/master
Add OpenMW commits up to 17 Dec
2016-12-17 23:27:09 +02:00
Aussiemon
2f66b91ac5 Added check to prevent attempted wandering of empty paths 2016-12-16 15:18:28 -07:00
scrawl
913a8fe1bd Merge pull request #1160 from Aussiemon/actorupdatecollision
[Do not merge yet] Added check before attempting to remove actor's collision object
2016-12-16 20:46:00 +01:00
Aussiemon
b794aa7c2f Helper methods for updateCollisionMask(), prevent water collision being removed twice, remove Bullet 2.8.5 methods 2016-12-16 12:22:07 -07:00
scrawl
f8690dcd20 Set the drag-and-drop state after initiating the drag, not before (Fixes #3134) 2016-12-16 20:16:59 +01:00
scrawl
cca75499ee Clear the Skeleton's bone cache when a node is added/removed (Fixes #3663) 2016-12-16 20:09:20 +01:00
Koncord
804259b2c9 Change some printf to LOG_MESSAGE_SIMPLE
printf is not streamed to files
2016-12-16 18:50:34 +08:00
Koncord
2eda48acca Fix issue #111 2016-12-16 18:13:44 +08:00
Koncord
3ee82a761b Remove redundant include 2016-12-16 17:51:00 +08:00
Koncord
4371a65fc6 fix spaces 2016-12-16 17:31:41 +08:00
Koncord
9ca206dda9 Add hooks for containers 2016-12-16 17:27:19 +08:00
Koncord
536715cf46 Cleanup tes3mp headers 2016-12-16 16:59:15 +08:00
Leon Krieg
12c8c3276a Disable NPC collision only when death animation has finished (#3666) 2016-12-15 19:33:14 +01:00
Leon Krieg
739cd5ba45 Fixed more spelling mistakes 2016-12-15 13:09:40 +01:00
Aussiemon
7c2a088b34 Added check before removing water collision object from world 2016-12-14 20:13:23 -07:00
Aussiemon
e30dfb13d3 Added check before attempting to remove actor's collision object from world 2016-12-14 19:05:30 -07:00
Leon Krieg
c7b4b2cdd7 Fixed multiple spelling mistakes 2016-12-14 16:39:33 +01:00
scrawl
8bdd5d1131 Merge pull request #1151 from Aussiemon/projectilelightsfix
Update to implementation of projectile lights
2016-12-14 14:33:09 +01:00
mrohrlach
71e74f5a93 Moved projectile light calculation to separate method 2016-12-13 18:04:20 -07:00
MiroslavR
76ee5845ac Fix swish sound ID and play swish sound effects for all creatures (Fixes #3653) 2016-12-11 19:35:53 +01:00
MiroslavR
8c97ac269d Remove item shadows properly (Fixes #3652) 2016-12-10 22:22:41 +01:00
mrohrlach
f0f78c9d64 Slight adjustments to disintegration fix 2016-12-09 19:55:26 -07:00
mrohrlach
9624d8aade Added new method and variable to track float remainders of disintegration effections 2016-12-09 19:48:56 -07:00
mrohrlach
f5da179a90 Removed two more bad casts 2016-12-09 18:15:40 -07:00
mrohrlach
3b0c791892 Removed bad casts and unnecessary comments 2016-12-09 18:10:06 -07:00
scrawl
876d9c6a84 Merge pull request #1148 from Allofich/aicombat
Require line of sight for AI attacks
2016-12-06 20:02:39 +01:00
Allofich
a6dae51d87 Require line of sight for AI attacks (Fixes #3646) 2016-12-07 01:35:30 +09:00
Allofich
6816e935f1 Fix fortify maximum magicka expiration (Fixes #3648) 2016-12-06 21:00:03 +09:00
mrohrlach
c2e5f24e98 Tidying up 2016-12-04 16:31:11 -07:00
mrohrlach
ef5cf76ad8 Implemented retrieval of effect colors for lights, made recommended changes 2016-12-04 16:11:21 -07:00
mrohrlach
e1deb8b1d4 Merge branch 'master' of https://github.com/openmw/openmw 2016-12-04 16:09:22 -07:00
mrohrlach
3816d0f6dc Changed light values to better match vanilla. Still need to pull diffusion properties from spells 2016-12-03 19:44:52 -07:00
mrohrlach
099e79edbe Changed a line that did not need to be changed apparently 2016-12-03 19:12:25 -07:00
mrohrlach
61097d93b9 Replaced tabs with spaces (oops) 2016-12-03 19:09:03 -07:00
mrohrlach
49ce80346c Changed methods slightly to ensure non-magic projectiles do not receive lights 2016-12-03 15:42:24 -07:00
mrohrlach
83945cf280 Added reasonable approximation of magic bolt lights 2016-12-03 15:24:21 -07:00
Koncord
753dc50131 Fix crash if connection has failed 2016-12-03 23:36:53 +08:00
Kurnevsky Evgeny
28639c3b2f Crash fix when item is disabled before it casts spell. 2016-12-03 17:13:31 +03:00
scrawl
908cc699ce Merge pull request #1141 from MiroslavR/water-sounds
Implement water sounds
2016-12-02 14:40:22 +01:00
scrawl
e0afd6d0f7 Movement solver: performance improvement for the minimum stepping distance check, no need to waste time doing a second stepMove if we did not hit a slope or the step was already large enough to begin with. 2016-12-02 02:25:05 +01:00
David Cernat
d30cc88450 Merge pull request #110 from OpenMW/master
Add OpenMW changes up to 29 Nov
2016-11-29 10:29:28 +02:00
MiroslavR
c34d85ffc2 Implement water sounds (Closes #451) 2016-11-28 21:34:58 +01:00
ShadowRadiance
354a89e3bc Slowfall now reduces momentum based on magnitude when jumping
(Allows Constant Effect Slowfall to work as in MW)
2016-11-26 06:27:11 -05:00
David Cernat
7bbeed629d Merge pull request #109 from OpenMW/master
Add OpenMW changes up to 25 Nov
2016-11-26 01:58:43 +02:00
scrawl
5297d7b5be Merge pull request #1137 from nikolaykasyanov/osx-structure
[macOS] Move all resources files inside application bundles (fixes #3566)
2016-11-25 02:51:32 +01:00
Nikolay Kasyanov
ea888519c7 [macOS] Set OpenMW working dir to <bundle>/Contents/MacOS 2016-11-23 22:32:54 +01:00
Nikolay Kasyanov
db69342b5d [macOS] Move all configs & resources into app bundles
Fixes #3566 (https://bugs.openmw.org/issues/3566).
2016-11-23 22:32:54 +01:00
scrawl
762460f042 Use negative count when restocking item to ensure that its properly tracked (Fixes #3635) 2016-11-22 22:42:04 +01:00
MiroslavR
46a3244107 Fix thrown weapon sources being used to apply on strike enchantments (Fixes #3634) 2016-11-22 18:18:20 +01:00
scrawl
b6d02d9b14 Fix order of operations when undoing werewolf transformation of an NPC 2016-11-22 16:37:49 +01:00
David Cernat
9e290ad799 Fix spacing irregularities 2016-11-21 23:40:50 +02:00
David Cernat
95efb77e53 Implement sending of ID_GAME_SPELLBOOK from client 2016-11-21 06:07:29 +02:00
David Cernat
6ea5f08e9c Create placeholder for ID_GAME_SPELLBOOK 2016-11-21 02:28:05 +02:00
David Cernat
1feec58ed2 Merge pull request #108 from OpenMW/master
Add OpenMW changes up to 20 Nov, part 3
2016-11-20 22:57:47 +02:00
David Cernat
ae39daf76a Add and implement ID_MUSIC_PLAY 2016-11-20 22:54:49 +02:00
scrawl
c326564e20 Merge pull request #1136 from Allofich/deletespell
Allow deleting spells that have the "always succeeds" flag
2016-11-20 19:23:25 +01:00
scrawl
16a913c549 Add emission of water ripple particles for water-walking actors (Fixes #3608) 2016-11-20 18:47:12 +01:00
David Cernat
f9ca98498d Merge pull request #107 from OpenMW/master
Add OpenMW commits up to 20 Nov, part 2
2016-11-20 19:30:24 +02:00
Allofich
c82df2553c Allow deleting spells that have the "always succeeds" flag (Fixes #3627) 2016-11-21 02:26:02 +09:00
scrawl
385db50f2d Merge pull request #1131 from Allofich/waterwalking
Make water walking mechanics closer to original MW
2016-11-20 17:19:15 +01:00
MiroslavR
c1e52bbcf7 Fix -Wmismatched-tags clang warning 2016-11-20 15:10:37 +01:00
Allofich
0e429ae41d Make water walking mechanics closer to original MW 2016-11-20 22:21:33 +09:00
David Cernat
456aee65d9 Add and implement ClearInventory() script function 2016-11-20 04:06:33 +02:00
David Cernat
80b40bfb70 Prevent inventory requests from making LocalPlayer send inventory twice 2016-11-20 03:21:15 +02:00
David Cernat
c6eac31d94 Merge pull request #106 from OpenMW/master
Add OpenMW changes up to 20 Nov
2016-11-20 01:20:25 +02:00
scrawl
f51e06bc47 Recreate shaders if necessary when the NpcAnimation is rebuilt
This fixes certain equipment losing the 'invisibility' effect after a view-mode switch with shaders enabled. Because the initial build of shaders done by the resource manager is not aware of the override state in the NpcAnimation's object root, we have to build new shaders here.
2016-11-19 23:53:22 +01:00
scrawl
e823cbf018 Fix incorrect priority of animation sources (Bug #3626) 2016-11-19 23:53:22 +01:00
MiroslavR
8f91732b09 Show starting abilities, powers and spells in stat-review window (Fixes #2410) 2016-11-19 21:51:19 +01:00
David Cernat
49a78d8462 Merge pull request #105 from OpenMW/master
Add OpenMW changes up to 19 Nov
2016-11-19 22:24:48 +02:00
David Cernat
843e84ba26 Once again use RakNetGUID as index for player map everywhere
Because of frequent server crashes, I tried to simplify the player map indexes with commit c91e240664, but it had no noticeable effect and was later partially reverted by Koncord in commit 902e968fd9, apparently for reasons of readability.

For the sake of consistency, this commit completes his reversion.
2016-11-19 22:16:21 +02:00
David Cernat
234266755e Prevent player-controlled NPCs from auto-unequipping candles and torches 2016-11-18 02:47:59 +02:00
David Cernat
7f25abb9c8 Implement UnequipItem() script function 2016-11-18 01:50:55 +02:00
David Cernat
c1bd4f1ce3 Use correct item count in LocalPlayer::setEquipment() for new items 2016-11-18 01:33:46 +02:00
David Cernat
fcd24ebb7e Rename methods to show they deal with Equipment instead of Inventory 2016-11-17 22:33:30 +02:00
David Cernat
c2abcd3869 Fix installation target for tes3mp 2016-11-17 21:43:05 +02:00
David Cernat
b028f0b51f Merge pull request #104 from OpenMW/master
Add OpenMW commits up to 17 Nov
2016-11-17 21:13:58 +02:00
David Cernat
6e630e6123 Send inventory packets when picking up world items 2016-11-17 20:51:07 +02:00
MiroslavR
7e5ba4d435 Fix default values of some GMSTs 2016-11-17 19:43:02 +01:00
scrawl
9d125bcaa2 Merge pull request #1129 from PhillipAnd/phillipand-cmake-fix
Fix various build issues with Visual Studio environment
2016-11-17 18:25:23 +01:00
scrawl
2368382ea5 Fix upside down rain particle texture 2016-11-17 17:52:20 +01:00
David Cernat
3a733eb122 Make tes3mp includes consistent 2016-11-17 17:16:25 +02:00
David Cernat
faea5221d3 Use LocalPlayer's updateInventory() every cell change, not every frame 2016-11-17 15:32:04 +02:00
Koncord
e2522fa366 Simplify LOG macros 2016-11-17 12:39:35 +08:00
David Cernat
eedd40328a Add and use SendInventory() method in LocalPlayer, and clarify some code 2016-11-16 21:34:46 +02:00
MiroslavR
5e46121046 Implement fleeing AI (Closes #1118) 2016-11-16 20:15:25 +01:00
David Cernat
c5c72a3b17 Use consistent names for booleans in LocalPlayer 2016-11-16 20:01:47 +02:00
David Cernat
6cd959fac8 Rename BasePlayer's GetCell() into getCell() 2016-11-16 17:43:58 +02:00
David Cernat
fa9d6e810e Use lowerCamelCase in tes3mp client function names like OpenMW does 2016-11-15 21:54:06 +02:00
David Cernat
527024a026 Stop WorldPackets about invalid cells from causing framelistener errors 2016-11-15 19:51:05 +02:00
David Cernat
a430ee011a Use WorldController to fetch CellStore for WorldPackets received 2016-11-15 19:13:36 +02:00
David Cernat
3dcb8738c1 Create placeholder WorldController class 2016-11-15 18:42:52 +02:00
David Cernat
8d2793401e Merge pull request #103 from OpenMW/master
Add OpenMW commits up to 13 Nov
2016-11-14 14:08:16 +02:00
Phillip Andrews
c18fc113e5 Changed missing library dependencies to simple fix 2016-11-14 00:01:22 -06:00
Phillip Andrews
aeaedbc57a Moved install commands to target-specific cmakelists so that all configurations work. 2016-11-13 22:49:01 -06:00
Phillip Andrews
59eba1dede Changed tabs to spaces, oops 2016-11-13 16:59:36 -06:00
Phillip Andrews
1861302dbd Include various libraries for Visual Studio environment 2016-11-13 14:27:59 -06:00
MiroslavR
175cfd4dff Fix overloaded virtual function warning 2016-11-13 17:22:50 +01:00
Allofich
fee39afe38 Don't allow resting on water with water walking 2016-11-13 19:50:33 +09:00
David Cernat
f7b5e5e638 Ignore packets from server that try to move LocalPlayer to invalid cells 2016-11-12 22:21:02 +02:00
Koncord
c85e6a5f91 Fix sucess chance 2016-11-12 20:43:18 +08:00
Koncord
799842b5da Reduce using of the CPU 2016-11-12 20:11:27 +08:00
Koncord
56959ebfda Implement magic 2016-11-12 19:39:16 +08:00
David Cernat
729da2c0ba Improve logic and clarity of LocalPlayer's charGenThread()
Until now, the fact that charGenThread() returned false whenever the player had a menu open was preventing Main::UpdateWorld() from running at all with a menu open.

The result was that no player packets from LocalPlayer::Update() were being sent by a player in a menu.
2016-11-11 23:46:17 +02:00
David Cernat
dc5bb32f2a Merge pull request #100 from OpenMW/master
Add OpenMW commits up to 11 Nov
2016-11-11 10:24:53 +02:00
scrawl
f0d5cf7afb Merge pull request #1112 from Assumeru/waterwalking
Move actors out of the water if there's room for them. Fixes #1138
2016-11-10 19:02:51 +01:00
Assumeru
05cc258ed3 Start trace from collision object origin 2016-11-10 15:38:14 +01:00
Assumeru
99bc4f733f Trace up to waterlevel + halfextent 2016-11-09 18:03:10 +01:00
David Cernat
48ca4d29bc Merge pull request #99 from OpenMW/master
Add OpenMW commits up to 7 Nov
2016-11-08 00:24:39 +02:00
David Cernat
8aaf44e5a8 Fix accidental line duplication 2016-11-06 19:07:03 +02:00
David Cernat
ec211e58d0 Merge pull request #98 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/CMakeLists.txt
2016-11-06 19:03:35 +02:00
MiroslavR
e80636f0ca Improve performance of repairing/recharging (Fixes #2493) 2016-11-06 11:01:46 +01:00
Nikolay Kasyanov
3adf4cb97f Link OpenMW with libz on macOS 2016-11-05 12:18:22 +01:00
Nikolay Kasyanov
0115a3a874 Revert "Link OpenMW with libz on macOS"
This reverts commit 0c4dd05118.
2016-11-05 12:11:04 +01:00
Nikolay Kasyanov
0c4dd05118 Link OpenMW with libz on macOS 2016-11-05 12:09:47 +01:00
David Cernat
817b63922c Put DedicatedPlayer in ToddTest if his cell doesn't exist on our client 2016-11-04 20:53:19 +02:00
David Cernat
25afa47e08 Only declare ptrCellStore for WorldPackets that need it 2016-11-04 15:47:55 +02:00
Koncord
37e9cafbf7 Add new API function: SetConsoleAllow
example:
tes3mp.SetConsoleAllow(pid, 0) -- disallow console to the player

The console is allowed by default
2016-11-04 03:01:26 +08:00
Koncord
3759127627 Woops 2016-11-04 00:57:51 +08:00
Koncord
adb49b7c7d Add New GUI dialog: ListBox
Example:

local GUI_LISTBOX = 42

function OnPlayerSendMessage(pid, message)
    if message == "/lb" then
        local items = "consectetur adipiscing elit\nsed do eiusmod tempor incididunt ut labore\net dolore magna aliqua." -- items can be separated through newline
        local label = "Lorem ipsum dolor sit amet"
        tes3mp.ListBox(pid, GUI_LISTBOX, label, items)
    end
end

function OnGUIAction(pid, idGui, data)
    if idGui == GUI_LISTBOX then
        print("ID: " .. idGui .. " data: " .. tostring(data)) -- if value higher than last item id
    end
end
2016-11-04 00:24:16 +08:00
David Cernat
107dacac6d Add OnPlayerChangeInventory server script callback 2016-11-03 16:39:31 +02:00
MiroslavR
5cd04af3fa Fix horrible performance when resizing/moving the settings window
Resize widgets instead of reconstructing them.
2016-11-01 16:37:00 +01:00
David Cernat
66e697953c Add missing break statement in Networking to prevent default nighttime 2016-10-31 22:53:32 +02:00
David Cernat
31d02e8bf1 Move Networking code for ID_GAME_INVENTORY next to ID_GAME_EQUIPMENT 2016-10-31 17:16:41 +02:00
David Cernat
06152fde77 Stop player-controlled NPCs from reporting crimes committed by players 2016-10-31 11:00:56 +02:00
David Cernat
4621363b65 Make capitalization reflect name of filename, and remove unused check 2016-10-31 01:23:31 +02:00
David Cernat
cd798d5f23 Merge pull request #89 from OpenMW/master
Add OpenMW commits up to 30 Oct
2016-10-30 21:49:07 +02:00
scrawl
e0f613661e Fix char -> int, fix shadowing warning 2016-10-30 20:10:33 +01:00
David Cernat
05cfc918f5 Temporarily use a whitelist for scripts instead of a blacklist 2016-10-30 21:00:54 +02:00
scrawl
cac8de0b29 Merge pull request #1116 from Allofich/paused
Don't update ripple simulation when paused
2016-10-30 19:26:56 +01:00
Allofich
19db070fca Don't update ripple simulation when paused 2016-10-31 01:19:38 +09:00
Allofich
125e94ef0e Fix shadowing warnings 2016-10-31 00:39:31 +09:00
David Cernat
3c4b74cd14 Fix frame listener errors for player markers 2016-10-30 16:39:59 +02:00
David Cernat
9c12aa2141 Fix formatting 2016-10-30 12:58:58 +02:00
David Cernat
cee7843576 Send ID_OBJECT_DELETE when taking world items through inventory screen 2016-10-30 02:26:32 +03:00
David Cernat
41504bd02a Use more accurate position for ID_OBJECT_PLACE 2016-10-30 00:51:23 +03:00
David Cernat
a4647de048 Break away from OpenMW by giving RefNum indexes to new created objects 2016-10-30 00:21:55 +03:00
David Cernat
937bf97883 Send gold values correctly with ID_OBJECT_PLACE 2016-10-29 00:34:46 +03:00
David Cernat
180aa3f2f3 Send item count ID_WORLD_OBJECT_PLACE 2016-10-28 22:35:01 +03:00
David Cernat
1f982e4dc7 Find objects from world packets using both ID and reference number 2016-10-28 21:31:41 +03:00
David Cernat
d93e66207e Update player markers only when getting a position packet 2016-10-27 19:09:05 +03:00
David Cernat
7f98cddfdf Don't send animation packets from blacklisted scripts 2016-10-27 17:41:48 +03:00
David Cernat
e414261121 Send ID_OBJECT_ANIM_PLAY from ingame scripts 2016-10-27 16:46:47 +03:00
David Cernat
46397a7dac Add and implement ID_OBJECT_ANIM_PLAY 2016-10-27 16:09:02 +03:00
David Cernat
344f2b535a Fix setting of index for ID_SCRIPT_MEMBER_SHORT in InterpreterContext 2016-10-27 15:02:40 +03:00
David Cernat
fff6833950 Send ID_SCRIPT_MEMBER_SHORT from MWScript::InterpreterContext 2016-10-27 02:18:27 +03:00
David Cernat
d5fca115f7 Fix variable name for ID_SCRIPT_GLOBAL_SHORT in InterpreterContext 2016-10-27 02:17:06 +03:00
David Cernat
c205e793cb Add and implement ID_SCRIPT_MEMBER_SHORT 2016-10-27 00:41:14 +03:00
David Cernat
c91e240664 Simplify the type of map that player objects are stored in 2016-10-26 21:36:58 +03:00
David Cernat
65363b0dd1 Avoid sending packets for 9 more ingame scripts 2016-10-26 21:33:13 +03:00
David Cernat
a9f6ea4d8d Use the name "guid" for RakNet IDs so as to not confuse with int IDs 2016-10-26 15:55:34 +03:00
David Cernat
47854d631b Avoid sending packets for 2 more ingame scripts 2016-10-26 15:24:53 +03:00
David Cernat
c99c3b1486 Avoid sending packets for 3 additional spammy ingame scripts 2016-10-26 12:43:26 +03:00
David Cernat
749c6db49e Send WorldPackets with script values from MWScript::InterpreterContext 2016-10-26 12:29:32 +03:00
David Cernat
97468980af Add and implement 3 new WorldPackets for ingame script variable values 2016-10-26 12:25:50 +03:00
Assumeru
25d64989b3 Check if the actor still exists /first/ 2016-10-26 11:04:54 +02:00
David Cernat
e7ebeb8eec Stop sending ID_OBJECT_MOVE and ID_OBJECT_ROTATE from scripts, because it clashes with syncing script variable values across players and makes movements and rotations happen twice 2016-10-26 10:01:55 +03:00
David Cernat
75f6d82f08 Add a way of filtering out ingame scripts for upcoming script packets 2016-10-25 22:44:15 +03:00
Assumeru
a72cd896ca Move actors out of the water if there's room for them. Fixes #1138 2016-10-25 19:26:17 +02:00
David Cernat
aaf4cc0d7e Prevent being in a menu from disabling script execution or actor damage 2016-10-25 17:48:00 +03:00
David Cernat
cc40b85034 Don't send packets for floating objects 2016-10-25 16:30:31 +03:00
David Cernat
b1051255e0 Send ID_OBJECT_ROTATE from ingame scripts 2016-10-25 14:42:54 +03:00
David Cernat
385b5f39e3 Add and implement ID_OBJECT_ROTATE 2016-10-25 14:28:39 +03:00
David Cernat
54ed9a7ab4 Implement ID_OBJECT_MOVE and send it from ingame scripts 2016-10-25 14:07:00 +03:00
David Cernat
c25ebc34b3 Shorten WorldPacket IDs by removing WORLD from them 2016-10-25 12:15:27 +03:00
David Cernat
bdb53e1cb4 Implement ID_WORLD_DOOR_ACTIVATE and send it from MWBase::World 2016-10-25 10:40:55 +03:00
David Cernat
7264f13b8e Implement ID_WORLD_OBJECT_SCALE and send it from ingame scripts 2016-10-25 00:52:42 +03:00
David Cernat
b2688777c1 Create marker once a player has been initialized properly and fix debug 2016-10-24 21:08:47 +03:00
David Cernat
be73265848 Send ID_WORLD_VIDEO_PLAY from ingame scripts 2016-10-24 17:55:10 +03:00
David Cernat
b6111d16cc Add and implement ID_WORLD_VIDEO_PLAY 2016-10-24 17:52:19 +03:00
David Cernat
c54af2b02b Make DedicatedPlayer's setMarkerState method actually enable markers 2016-10-24 16:26:51 +03:00
David Cernat
1e4d625c99 Make player markers show up in exterior cells 2016-10-24 15:29:10 +03:00
David Cernat
04eb051df6 Make markers get removed when their players quit, rename marker methods 2016-10-24 15:10:32 +03:00
David Cernat
aed884949c Send ID_WORLD_OBJECT_LOCK from ingame scripts 2016-10-24 13:22:46 +03:00
David Cernat
3fd93896f2 Add and implement ID_WORLD_OBJECT_LOCK 2016-10-24 13:20:04 +03:00
David Cernat
3a5a5e73a1 Send ID_WORLD_OBJECT_UNLOCK from ingame scripts and regular unlocking 2016-10-24 11:43:27 +03:00
David Cernat
08ea5163c4 Add and implement ID_WORLD_OBJECT_UNLOCK 2016-10-24 11:26:31 +03:00
David Cernat
94c5d6d2f9 Don't use autoEquip on player-controlled NPCs 2016-10-24 11:15:09 +03:00
David Cernat
47ebd24b4a Merge pull request #79 from OpenMW/master while resolving conflicts
# Conflicts:
#	.travis.yml
#	apps/openmw/mwinput/inputmanagerimp.cpp
2016-10-24 09:18:21 +03:00
David Cernat
a6fa0073a0 Find items by mRefNum.mIndex instead of mRefNum for WorldPackets 2016-10-23 23:13:42 +03:00
David Cernat
6bfaf3be50 Send an ID_WORLD_OBJECT_PLACE whenever ingame scripts place objects 2016-10-23 20:48:24 +03:00
David Cernat
e7567020bb Fix debug for ID_WORLD_OBJECT_DELETE in client's Networking 2016-10-23 19:10:21 +03:00
David Cernat
d85a1ee1a9 Fix errors remaining from merge with tes3mp-packetexpansion 2016-10-23 18:32:03 +03:00
David Cernat
c639337842 Merge with tes3mp-packetexpansion by fixing conflicts
# Conflicts:
#	apps/openmw-mp/Networking.cpp
#	apps/openmw/mwmp/Networking.cpp
#	components/CMakeLists.txt
#	components/openmw-mp/NetworkMessages.hpp
#	components/openmw-mp/PacketsController.cpp
2016-10-23 17:57:38 +03:00
David Cernat
025a847fd1 Send an ID_WORLD_OBJECT_DELETE whenever ingame scripts delete objects 2016-10-23 17:03:47 +03:00
David Cernat
0a44bea91d Send cell coordinates in tes3mp using mData instead of mCellId.mIndex 2016-10-23 16:55:30 +03:00
David Cernat
cbc132612a Use mRefNum.mIndex instead of just mRefNum and add extra debug 2016-10-23 16:33:53 +03:00
David Cernat
17f66e4e90 Implement ID_WORLD_OBJECT_PLACE 2016-10-23 13:30:32 +03:00
Koncord
df3886168f Word wrapping in chat 2016-10-23 14:33:43 +08:00
Koncord
c27351c19e Implement inventory functions
AddItem, RemoveItem, GetItemName, GetItemCount, GetItemHealth, GetInventorySize SendInventory
Example:
```lua
tes3mp.AddItem(pid, "glass dagger", 1, 50)
tes3mp.AddItem(pid, "glass dagger", 1, -1)
tes3mp.SendInventory(pid)
tes3mp.RemoveItem(pid, "glass dagger", 1)
tes3mp.SendInventory(pid)
local invSize = tes3mp.GetInventorySize(pid) - 1
for i = 0, invSize do
    print(("%s %d %d"):format(tes3mp.GetItemName(pid, i), tes3mp.GetItemCount(pid, i), tes3mp.GetItemHealth(pid, i)))
end
```
2016-10-23 02:57:49 +08:00
David Cernat
6e43baf73e Send Cell instead of CellId because of problems with the latter 2016-10-22 20:09:13 +03:00
David Cernat
103b1e3f72 Send CellId in ID_WORLD_OBJECT_DELETE 2016-10-22 18:44:13 +03:00
David Cernat
2e57e25675 Only delete object from ID_WORLD_OBJECT_DELETE if it actually exists 2016-10-22 18:19:57 +03:00
David Cernat
3c49157ed7 Rename WorldPackets to ID_WORLD_OBJECT_DELETE and ID_WORLD_OBJECT_PLACE 2016-10-22 18:05:32 +03:00
David Cernat
40f1db2d86 Create SearchByRefNumCustomVisitor in CellStore that returns entire Ptr 2016-10-22 17:47:21 +03:00
David Cernat
b3d6dad0c5 Send ID_WORLD_OBJECT_REMOVAL from actiontake.cpp and not worldimp.cpp 2016-10-22 17:10:57 +03:00
David Cernat
cc98a25dcf Add searchByRefNum method to OpenMW's CellStore 2016-10-22 16:47:11 +03:00
David Cernat
92463c4a03 Fix Windows server crash caused by printing event->CellRef()->mRefID 2016-10-22 14:13:16 +03:00
David Cernat
8080cceac6 Add some placeholder code so Stanislav can test it 2016-10-22 12:45:19 +03:00
Stanislav Zhukov
81dfd21d9a Merge pull request #76 from TES3MP/tes3mp-minimap
Show dedicated players on minimap
2016-10-22 17:21:02 +08:00
Koncord
b704519078 Show dedicated players on minimap 2016-10-22 17:06:26 +08:00
David Cernat
565e7e4b9f Create and implement placeholder for ID_WORLD_OBJECT_CREATION 2016-10-21 21:57:05 +03:00
David Cernat
32dc8cf63f Read contents of ID_WORLD_OBJECT_REMOVAL on client 2016-10-21 20:44:15 +03:00
David Cernat
36f218876a Add ProcessPlayerPacket and ProcessWorldPacket to client's Networking 2016-10-21 19:23:56 +03:00
David Cernat
ac666edebd Add a CellRef to WorldEvent 2016-10-20 22:15:47 +03:00
David Cernat
b2845cd17c Create and start using WorldEvent class 2016-10-20 14:28:19 +03:00
David Cernat
a42d5f2429 Make client send placeholder ID_WORLD_OBJECT_REMOVAL to server 2016-10-20 12:53:48 +03:00
MiroslavR
301dd77efb Save controls state (Fixes #3598) 2016-10-20 02:12:01 +02:00
MiroslavR
407abc605f Fix auto-equipping of blunt weapons 2016-10-19 22:37:45 +02:00
David Cernat
f218613231 Rename client Networking's GetPacket method into GetPlayerPacket 2016-10-19 22:49:35 +03:00
David Cernat
e27d1857ef Fix formatting in previous changes made by tes3mp to OpenMW's core 2016-10-19 22:06:11 +03:00
scrawl
9c549a85ce Merge pull request #1108 from MiroslavR/autoequip-weap
Auto-equip weapons
2016-10-19 20:45:47 +02:00
David Cernat
790d41e278 Move PlayerPackets into their own subfolder 2016-10-19 19:37:10 +03:00
David Cernat
d2212ef80b Rename PacketsController into PlayerPacketController 2016-10-19 16:31:07 +03:00
MiroslavR
76ddd9bebb Add a setting for merchant auto-equipping prevention 2016-10-19 02:22:49 +02:00
scrawl
a7d4928593 Properly handle moved references in respawning code (Fixes #3600) 2016-10-18 23:51:45 +02:00
MiroslavR
1d3008594d Autoequip weapons (Fixes #3562) 2016-10-18 13:57:35 +02:00
David Cernat
b8f4cb94fb Rename BasePacket into PlayerPacket 2016-10-17 15:54:36 +03:00
MiroslavR
14240cf7a2 Fix autoEquip to better match vanilla (Fixes #3590) 2016-10-16 17:27:17 +02:00
MiroslavR
7b59eda13a Import base weather states before loading region modifiers (Fixes #3594) 2016-10-15 17:34:03 +02:00