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

13245 commits

Author SHA1 Message Date
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
0fb9b6eefb On second thought, rename ID_OBJECT_MOVE_WORLD into ID_OBJECT_MOVE 2016-10-25 12:53:18 +03:00
David Cernat
947a677801 Replace ID_ACTIVATOR_ACTIVATE with ID_OBJECT_MOVE_WORLD 2016-10-25 12:42:29 +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
52d156e136 Make server able to receive the 5 new WorldPackets 2016-10-25 00:50:32 +03:00
David Cernat
ef6f20e3f7 In server console, print number of players remaining when one leaves 2016-10-24 22:47:52 +03:00
David Cernat
24bfe40bf7 Add debug about current server crash 2016-10-24 21:17:53 +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
3380c482c0 Fix errors remaining from merge with tes3mp-packetexpansion, part 2 2016-10-23 19:32:39 +03:00
David Cernat
b06a2f3119 Fix part about Breakpad in server's CMakeLists 2016-10-23 19:28:35 +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
a6467c9c47 Add breakpad to server 2016-10-23 17:07:46 +08: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
MiroslavR
cd9de94c0c Import teleporting and levitation disabled state from vanilla savegames (Fixes #3420) 2016-10-20 14:38:18 +02: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
f3ce0840be Import controls state from vanilla savegames 2016-10-20 02:14:36 +02: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
d0328f2553 Add placeholder ProcessWorldPacket method to server's Networking 2016-10-19 21:44:17 +03:00
David Cernat
2602c1f71a Add ProcessPlayerPacket method to server's Networking 2016-10-19 21:26:42 +03:00
David Cernat
f1ec01cc6b Add WorldPacketController to server's Networking 2016-10-19 20:51:51 +03:00
David Cernat
790d41e278 Move PlayerPackets into their own subfolder 2016-10-19 19:37:10 +03:00
David Cernat
bda1f867fd Rename server's GetController() method into GetPlayerController() 2016-10-19 16:54:39 +03:00
David Cernat
d2212ef80b Rename PacketsController into PlayerPacketController 2016-10-19 16:31:07 +03:00
David Cernat
5e0c0dd5f1 Use logger in server's Networking MainLoop 2016-10-19 13:00:33 +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
scrawl
1d58733880 Merge pull request #1104 from MiroslavR/missing-weather-states
Import base weather states before loading region modifiers
2016-10-15 22:17:20 +02:00
Allofich
ccacad51be Fix shadowing warnings 2016-10-16 01:34:54 +09:00
MiroslavR
7b59eda13a Import base weather states before loading region modifiers (Fixes #3594) 2016-10-15 17:34:03 +02:00
scrawl
9e63c3ce63 Merge pull request #1103 from Allofich/warnings
Fix shadowing warnings
2016-10-14 21:18:12 +02:00
scrawl
5ccbabc27d Fix build against bullet with profiler disabled (Fixes #3592) 2016-10-14 21:00:35 +02:00
David Cernat
3136a12051 Resolve conflicts in pull request #75
# Conflicts:
#	CMakeLists.txt
#	apps/openmw/CMakeLists.txt
2016-10-14 18:34:17 +03:00
Allofich
1c54f54ab8 Fix shadowing warnings 2016-10-15 00:12:46 +09:00
scrawl
2ed0277839 Merge pull request #1102 from Allofich/spells
Change several spell effects from instant to non-instant
2016-10-13 21:36:14 +02:00
scrawl
9d2e0124dc Revert "Fix the cell changed flag no longer being reset after the player dies"
This reverts commit d7acec74fd.
2016-10-13 17:44:03 +02:00
Allofich
610f36f47b Set magic effects that don't support variable durations to use duration of 1 2016-10-14 00:13:08 +09:00
Allofich
1c2e04747d Remove stray line 2016-10-13 23:38:21 +09:00
Allofich
675bd09462 Change several instant effects to be non-instant (Fixes #2054) 2016-10-13 23:38:21 +09:00
scrawl
db09858f59 Don't allow the player to activate objects when dead 2016-10-13 14:42:10 +02:00
scrawl
454d1ffaef Make the cell change check during actor update more robust 2016-10-13 14:39:58 +02:00
scrawl
d7acec74fd Fix the cell changed flag no longer being reset after the player dies 2016-10-13 14:38:35 +02:00
scrawl
612c3e995f Add drop shadow to ItemWidget (Fixes #3545) 2016-10-13 01:42:50 +02:00
scrawl
15046c961b Merge pull request #1101 from MiroslavR/ignored-light-sources-fix
Ignored light sources fix
2016-10-12 01:11:37 +02:00
MiroslavR
611d02ad43 Remove unused code 2016-10-11 22:16:17 +02:00
MiroslavR
1906d96064 Non-player actors emitting light from a non-portable light item should be illuminated (Fixes #3588) 2016-10-11 22:15:51 +02:00
MiroslavR
53b006eccb OpenMW-CS: Recognize special faction ID "FFFF" (no faction) during topic info verification (Fixes #3564) 2016-10-11 19:36:44 +02:00
scrawl
3dce155d96 Fix uninitialized variable 2016-10-11 14:50:13 +02:00
MiroslavR
8be8c7ca66 OpenMW-CS: Fix verification of "Not Local" info conditions (Bug #3564) 2016-10-11 02:55:17 +02:00
MiroslavR
14468262a7 Fix "Not Local" dialog test to also test variable value instead of just its existence (Fixes #3577) 2016-10-11 02:53:43 +02:00
scrawl
95a67bf0c2 Disable OSG 3.5.5 thread affinity setting in the scenewidget due to the interference with QT threads
Reference: http://forum.openscenegraph.org/viewtopic.php?t=16158
2016-10-10 18:23:06 +02:00
scrawl
530fb61ad0 Use OpenThreads instead of boost thread
This should allow OpenMW to work better with git versions of openscenegraph. OSG dev version 3.5.5 added the setting of thread affinity for the main thread. The problem is that in the boost/standard threading libraries, the affinity of a thread is inherited by any further threads launched from that thread, leading to these threads always running on the same core as the main thread unless you tell them not to.

With OpenThreads, the default affinity of a thread is none, no matter what parent thread it was launched from.

So, when using custom threading with OSG 3.6+, we have these options:
1. explicitely tell OSG to *not* set the thread affinity
or 2. explicitely set the thread affinity of additional threads created (possible with boost, but not possible with std::thread)
or 3. use OpenThreads
or 4. accept the suboptimal performance of non-OSG threads (in OpenMW's case the sound streaming & video threads) running on the same core as the main thread

This patch opts for 3.)

Reference: http://forum.openscenegraph.org/viewtopic.php?t=16158
2016-10-10 18:23:06 +02:00
scrawl
ae2036fa85 Merge pull request #1097 from Allofich/persuasion
Don't let intimidate bring disposition below 0 (Fixes #3584)
2016-10-09 20:20:43 +02:00
Allofich
028db21c8a Don't let disposition at end of dialogue be below 0 (Fixes #3584) 2016-10-10 02:20:24 +09:00
David Cernat
14bac1e533 Make player markers appear on inventory map 2016-10-09 13:41:00 +03:00
David Cernat
07acd7a721 Make player markers work in interiors and make them easier to test 2016-10-09 10:29:30 +03:00
scrawl
1893617ec9 Improvements to ignored light list setting
The pointer to the LightListCallback is now stored in the Animation, which eliminates the need for dynamic_cast. Also, when the object root is recreated, the previously used LightListCallback will be reused, so we no longer need the objectRootReset() notifier.

Finally, there was a bug when saving and reloading the game, the getIgnoredLightSources() were not being set, as the ActorAnimation constructor completes before the NpcAnimation sets the ObjectRoot. This was solved by creating the LightListCallback in advance in the Animation constructor.
2016-10-08 23:59:28 +02:00
MiroslavR
11565b5966 Make actors with non-portable lights in inventory glow (Closes #2042, #3338) 2016-10-08 23:17:12 +02:00
scrawl
50bcb65ee0 Move USED_OSG_PLUGINS to the top of the CMakeLists to be used by all platforms 2016-10-08 19:20:24 +02:00
scrawl
6615330430 Fix use of UnrefQueue in removeObject 2016-10-08 16:41:17 +02:00
scrawl
3019d70986 Use 'default icon' for items with no icon specified 2016-10-08 16:05:20 +02:00
Koncord
bd1b1fca64 Woops 2016-10-08 15:36:25 +08:00
Koncord
50d989d767 Fix server crash if player is not fully connected 2016-10-08 15:30:52 +08:00
Koncord
79532cf797 Detecting reason of death 2016-10-08 15:15:43 +08:00
Koncord
2e81034e53 Started work on the map markers 2016-10-07 13:17:44 +08:00
scrawl
37bfa88b2d Merge pull request #1094 from Allofich/alchemy
Fix reversed use of alembics and retorts
2016-10-06 19:02:24 +02:00
Allofich
498976775a Fix reversed use of alembics and retorts 2016-10-07 01:38:50 +09:00
scrawl
73b6c34a23 Merge pull request #1092 from Allofich/warnings
Fix shadowing warnings
2016-10-06 17:50:26 +02:00
Allofich
53e94b7c3f Fix shadowing warnings 2016-10-06 23:33:52 +09:00
David Cernat
6eae017561 Merge pull request #74 from OpenMW/master
Add OpenMW commits up to 5 Oct
2016-10-06 06:16:09 +03:00
Allofich
df03b32205 Coverity fixes 2016-10-05 23:32:26 +09:00
scrawl
721062a4bd Merge pull request #1089 from Allofich/bound
Corrections for bound equipment
2016-10-04 18:34:27 +02:00
Allofich
506d0e8e54 Correction to display of 0-weight tooltips 2016-10-04 23:02:45 +09:00
Allofich
160da0b149 Treat 0-weight armor as light armor in some respects 2016-10-04 23:02:25 +09:00
MiroslavR
a05649e1d5 Use loop fallback for movement animations (Fixes #3578) 2016-10-03 22:36:56 +02:00
sandstranger
5230bf6528 disable using shaders for gles1 and Android 2016-10-03 20:31:08 +04:00
scrawl
44dffe55ab Merge pull request #1083 from Allofich/onhit
Make AI response to spell hits more like original MW
2016-10-02 14:06:51 +02:00
scrawl
3d76ba5a7c Merge pull request #1086 from Allofich/warnings
Fix shadowing warnings
2016-10-02 14:03:02 +02:00
Allofich
6ec37b5cfb Fix shadowing warnings 2016-10-02 17:48:54 +09:00
Allofich
e78f02aaf2 Consider reflected/absorbed hostile spells as assaults 2016-10-02 16:08:24 +09:00
MiroslavR
210c02d98e Fix interactive ID validity checks in TypesetBookImpl 2016-10-01 21:07:17 +02:00
Allofich
a81a04e6d0 Remove unused line 2016-10-02 01:11:01 +09:00
Allofich
fa17784722 Change breaks to continues 2016-10-02 00:54:01 +09:00
scrawl
140be70a90 Merge pull request #1082 from Gladdy/master
Fix for segmentation fault on entering a cell
2016-10-01 16:42:47 +02:00
scrawl
b170efb9fa Merge pull request #1084 from Allofich/water
Don't let water-only creatures prevent resting
2016-10-01 16:14:19 +02:00
Allofich
a2e174a40f Don't let water-only creatures prevent resting 2016-10-01 22:15:31 +09:00
Allofich
266ec1aadc Make AI response to spell hits more like original MW 2016-10-01 21:38:17 +09:00
Koncord
fa0a55c2a9 Fix use of freed memory 2016-10-01 10:54:42 +08:00
Koncord
94d5efdfd3 Call LOG_QUIT after Networking's dtor call 2016-09-30 18:16:09 +08:00
David Cernat
add1a5e5b2 Merge pull request #72 from OpenMW/master
Add OpenMW commits up to 30 Sep
2016-09-30 12:37:29 +03:00
David Cernat
e0361835b0 Allow script-induced setting of equipment 2016-09-30 12:36:20 +03:00
David Cernat
4b96080521 Make GetItemSlot work and add SendEquipment in server item functions 2016-09-30 12:30:05 +03:00
Marc Zinnschlag
e918474a94 Merge remote-tracking branch 'rcutmore/bug-3277' 2016-09-30 09:37:45 +02:00
David Cernat
728a09e423 Reorder functions in LocalPlayer and make their names more consistent 2016-09-30 08:59:58 +03:00
David Cernat
6650b74498 Add handling of skill increases 2016-09-30 07:15:59 +03:00
David Cernat
15a4602482 Add getSkillIncrease, setSkillIncrease functions to OpenMW's NpcStats 2016-09-30 07:15:03 +03:00
David Cernat
f4621d8529 Use setLevelProgress when setting LocalPlayer's skills 2016-09-30 06:27:26 +03:00
David Cernat
8fbc6f31f1 Add setLevelProgress function to OpenMW's NpcStats 2016-09-30 06:26:43 +03:00