Commit graph

10506 commits

Author SHA1 Message Date
Rafael Moura
18a4b64f1a Porting more ContainerStoreIterator usage to const version #2 2017-02-27 21:50:10 +00:00
David Cernat
e6bc7ad463 [General] Make all flying players fly correctly, including TCL users 2017-02-27 23:01:33 +02:00
David Cernat
48125913c3 Merge pull request #175 from OpenMW/master
Add OpenMW commits up to 27 Feb 2017
2017-02-27 12:09:47 +02:00
David Cernat
02487dce13 [Client] Prevent invalid race used by other player from freezing client 2017-02-27 01:45:27 +02:00
scrawl
0772a03e98 Print the object ID that animateCollisionShapes did not find the node for 2017-02-27 00:41:27 +01:00
David Cernat
4110fac629 Merge pull request #174 from OpenMW/master
Add OpenMW commits up to 26 Feb 2017, part 2
2017-02-27 01:05:02 +02:00
David Cernat
8c8414f098 [Client] Spawn DedicatedPlayer in center of exterior cell 0,0 2017-02-27 01:02:59 +02:00
scrawl
d4781d419f Merge pull request #1220 from MiroslavR/tcl_collision
Fix actors colliding with noclipping player
2017-02-26 23:27:40 +01:00
Rafael Moura
05cc69f6f1 Porting more ContainerStoreIterator usage to const version 2017-02-26 21:24:51 +00:00
scrawl
6f4c03aa32 Avoid retrieving setting every frame 2017-02-26 17:34:24 +01:00
David Cernat
a58601fb2b [Client] Delineate tes3mp-only code more clearly, part 1 2017-02-26 16:59:53 +02:00
David Cernat
341ec28b1f [Client] Don't allow actors to cast spells that don't exist on client 2017-02-26 15:34:15 +02:00
MiroslavR
498a3d450b Fix actors colliding with noclipping player 2017-02-26 04:28:28 +01:00
David Cernat
9035908f6d [Client] Spawn DedicatedPlayer in exterior 0,0 (for other master files) 2017-02-25 23:18:50 +02:00
David Cernat
ff0d21ef38 [Client] Spawn in 0,0 if Pelagiad doesn't exist (for other master files) 2017-02-24 19:42:33 +02:00
David Cernat
aab5b69c80 [Client] Unready weapon & spell upon death to avoid attack inability bug 2017-02-24 11:50:43 +02:00
David Cernat
328e3b6618 Merge pull request #167 from OpenMW/master
Add OpenMW commits up to 24 Feb 2017
2017-02-24 06:57:39 +02:00
scrawl
75677f03e7 Remove SceneManager::notifyAttached 2017-02-24 02:58:41 +01:00
scrawl
afa39d121f Fix 'part has no parent' warning caused by destructing in the wrong order 2017-02-24 02:58:41 +01:00
scrawl
a55604c549 Avoid unnecessary AABB update when actor position has not changed 2017-02-24 02:58:41 +01:00
scrawl
fb073e5c14 Avoid unnecessary AABB update for rotationally invariant collision shapes 2017-02-24 02:58:41 +01:00
scrawl
5198fc897d Fix collision glitch caused by Bullet AABB not being updated when an actor moves without turning 2017-02-24 02:58:41 +01:00
scrawl
25ca89b560 Avoid redundant allocations in Store::search 2017-02-23 23:28:50 +01:00
scrawl
732212070d crashcatcher: complain when launching gdb fails 2017-02-23 23:28:49 +01:00
Koncord
cbace41e14 [Client] Fix crash on LInux 2017-02-23 17:40:22 +08:00
David Cernat
ed2176c984 [Client] Reuse 1 BaseEvent over and over instead of creating new ones 2017-02-23 09:19:09 +02:00
David Cernat
1b59ce8c8f [Client] Send ID_PLAYER_DRAWSTATE when teleported by server 2017-02-23 06:26:42 +02:00
Koncord
f8a25747ba [Client] Some tabs have been killed in GUIChat 2017-02-23 11:48:10 +08:00
David Cernat
586a7f6656 [Client] Prevent DedicatedPlayer from spawning on ground from 0 fatigue 2017-02-23 04:35:07 +02:00
David Cernat
d4ff136837 [Client] Add comments about spellcasting as a result of merge conflict 2017-02-23 01:05:45 +02:00
David Cernat
38ccc2671c Merge pull request #164 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwmechanics/spellcasting.cpp
2017-02-23 00:52:53 +02:00
Battlerax
fd845198ad [Client] You can now cancel the chat box by pressing enter without a message. 2017-02-22 15:03:59 -06:00
scrawl
d163228199 Fix updatePtr 2017-02-22 21:02:34 +01:00
scrawl
00d4fea91c Derive Animation from osg::Referenced to allow the UnrefQueue to delete it 2017-02-22 15:27:20 +01:00
scrawl
a5247394dc (Re)set the inventory listener outside of the Animation class 2017-02-22 15:08:22 +01:00
scrawl
8f79fa3d72 Add resource statistics panel opened with F4 2017-02-22 14:28:45 +01:00
Koncord
b0ebad8b83 [Client] Fix crash on Linux 2017-02-22 16:30:07 +08:00
David Cernat
90275f777e [Client] Don't crash when dying while inside a container 2017-02-22 06:41:25 +02:00
David Cernat
67b67ce1c4 [Client] Don't automatically rescale objects on cell change 2017-02-22 04:21:25 +02:00
scrawl
b40ca9b60a Set the window rectangle on the Viewer's EventQueue 2017-02-22 01:49:54 +01:00
David Cernat
e4ae8c5f9f [Client] Cancel drag for teleported players, fix ID_OBJECT_SCALE debug 2017-02-22 02:44:00 +02:00
scrawl
0fbd29ccb8 Use additive alpha blending on the character preview 2017-02-21 18:29:18 +01:00
scrawl
e38221edc9 Set character preview's simulationTime to 0 to avoid flickering lights 2017-02-21 18:25:25 +01:00
scrawl
a45335ffc3 Do not reduce magicka in god mode 2017-02-21 16:33:18 +01:00
scrawl
eefe1ed1a8 Fix being affected by Silence in god mode 2017-02-21 15:48:45 +01:00
David Cernat
a1988ac6ef Merge pull request #161 from OpenMW/master
Add OpenMW commits up to 21 Feb 2017
2017-02-21 07:02:59 +02:00
scrawl
b9740fd2a1 Fix btHeightFieldTerrainShape triangle layout to match rendering 2017-02-21 04:47:11 +01:00
scrawl
3f27c8cc97 Always print context for script warnings to remove the need for verbose option
(Fixes #2813)
2017-02-21 04:32:59 +01:00
David Cernat
37e7d2c15b [Client] Don't get invalid cells in LocalPlayer::sendJournalEntry() 2017-02-21 02:09:39 +02:00
David Cernat
b320910c5f [Client] Don't add/remove all spells from ingame scripts for LocalPlayer 2017-02-21 01:22:21 +02:00
David Cernat
bf2f932e18 [Client] If in a container, don't crash when teleported to another cell 2017-02-21 01:01:30 +02:00
David Cernat
f5470e0b49 [Client] Print cell descriptions for WorldEvents only once 2017-02-21 00:20:19 +02:00
David Cernat
92439e6e62 [Client] Reduce WorldPacket debug because it can cause freezes 2017-02-20 23:48:08 +02:00
scrawl
9728a6967e Reset fall height when teleporting (Fixes #2629) 2017-02-20 20:27:05 +01:00
scrawl
05ad0dca34 Use ActionTeleport in COE/COC commands 2017-02-20 20:26:45 +01:00
scrawl
7e02bb7348 Preload summoned creature models before the spell is cast 2017-02-20 19:58:00 +01:00
scrawl
22482b7eec Don't use xmesh.nif over mesh.nif for classes that don't make use of the separated keyframes 2017-02-20 19:04:02 +01:00
Koncord
ea9c31a8f7 [Client] Add password to client params and to config file 2017-02-20 22:40:09 +08:00
David Cernat
a4526605a6 [General] Remove goldValue from ContainerItem because it is never useful 2017-02-20 12:31:11 +02:00
David Cernat
cdffbc05f7 Merge pull request #159 from OpenMW/master
Add OpenMW commits up to 19 Feb 2017
2017-02-19 23:47:32 +02:00
David Cernat
ed91f20cd3 [General] Print action used for ID_CONTAINER when receiving one 2017-02-19 23:11:26 +02:00
Rafael Moura
9963601484 Porting code to ConstContainerStoreIterator #1 2017-02-19 15:18:35 +00:00
scrawl
481c440698 Print OSG version on startup 2017-02-19 13:26:45 +01:00
David Cernat
4f2b88df8a [General] Remove owner var from ContainerItem because it is always empty 2017-02-18 23:59:02 +02:00
Rafael Moura
ecbde7b11e Added ConstContainerStoreIterator
using base template for ContainerStoreIterators

less template arguments for ContainerStoreIteratorBase
2017-02-18 13:47:18 +00:00
Allofich
bc60421615 Change NPC equip logic to be more like original
(Bug #3754)
2017-02-18 21:59:09 +09:00
Koncord
74cfc4a821 [Client] Use enum instead magic values 2017-02-18 15:26:11 +08:00
David Cernat
0d75264221 Merge pull request #155 from OpenMW/master
Add OpenMW commits up to 17 Feb 2017, part 2
2017-02-17 23:19:30 +02:00
scrawl
f2174ee9f4 Merge pull request #1217 from Allofich/follow
Fix loading 0-duration Follow and Escort packages
2017-02-17 21:10:15 +01:00
Allofich
3897c49e30 Fix loading 0-duration Follow and Escort packages
(Fixes #3755)
2017-02-18 01:55:50 +09:00
David Cernat
e0bc557aa4 Merge pull request #154 from OpenMW/master
Add OpenMW commits up to 17 Feb 2017
2017-02-17 14:45:45 +02:00
MiroslavR
f883951d75 Fix incorrect calculation of armor rating (Bug #3754) 2017-02-17 03:11:37 +01:00
Allofich
621d3e56cf Fix Clang and OS X Travis CI warnings 2017-02-17 02:08:39 +09:00
David Cernat
5b3fabdb9d [Client] Send ID_CONTAINER with all containers in cell when requested 2017-02-16 13:34:32 +02:00
David Cernat
c32c004516 Merge pull request #151 from OpenMW/master
Add OpenMW commits up to 16 Feb 2017
2017-02-16 11:53:02 +02:00
scrawl
f10edb71cc Add environment variable for disabling IncrementalCompileOperation 2017-02-15 21:01:25 +01:00
scrawl
c4a89065a2 Preload VFX of spells selected by AI actors 2017-02-15 21:01:25 +01:00
scrawl
57b585570a Preload magic effect visuals of the player's selected weapon/spell 2017-02-15 21:01:25 +01:00
David Cernat
3b604a432e [General] Restructure ID_CONTAINER to allow multiple containers at once 2017-02-15 20:14:25 +02:00
David Cernat
88f891b5bd [Client] Make it possible to easily iterate through container items 2017-02-14 23:10:45 +02:00
David Cernat
c8cbfbef62 [General] Sketch out server requests to players for container data 2017-02-14 19:31:56 +02:00
David Cernat
2ed9ae5739 Merge pull request #149 from OpenMW/master
Add OpenMW commits up to 14 Feb 2017
2017-02-14 10:27:53 +02:00
scrawl
183c46b0ef Fix summoning effects 2017-02-14 07:58:16 +01:00
scrawl
a495b9b884 Fix wasteful allocations in Store<Land>::search 2017-02-14 07:58:16 +01:00
scrawl
72c6b11cf8 Move global map render to the worker thread 2017-02-14 07:58:16 +01:00
scrawl
026a05718f Construct the WorkQueue in Engine 2017-02-14 07:58:16 +01:00
scrawl
ddd6605608 Move WNAM out of LandData to avoid redundant (de)allocations on startup 2017-02-14 07:58:16 +01:00
scrawl
325bf66653 Return const Land in ESMStore 2017-02-14 07:58:16 +01:00
David Cernat
a5d7c5fd39 Merge pull request #148 from OpenMW/master
Add OpenMW commits up to 13 Feb 2017
2017-02-13 21:29:51 +02:00
Marc Zinnschlag
93c5630e02 Merge remote-tracking branch 'matahualpa/openmw-cs_tablecontents' 2017-02-13 10:06:08 +01:00
scrawl
051b4038d9 Merge pull request #1203 from Allofich/magic
Make AI not go hostile when absorbing/reflecting
2017-02-12 17:18:10 +01:00
MAtahualpa
c46eadae90 Update actionread.cpp
*grrr* Forgot to change the latter "mSkillID" in line 47...
2017-02-12 17:17:33 +01:00
scrawl
cdf65ef681 Merge pull request #1201 from Allofich/hit
Prevent AI actors from hitting unintended targets
2017-02-12 16:25:52 +01:00
scrawl
342c25dffa Fix weather sounds playing at full volume before fading in 2017-02-12 15:44:33 +01:00
Allofich
72c3ee0a3d Make AI not go hostile when absorbing/reflecting 2017-02-12 23:14:09 +09:00
MAtahualpa
7bc65ce05b Update actionread.cpp
Code cosmetics: Change member variable "mSkillID" to "mSkillId" for Book records.
2017-02-12 13:52:11 +01:00
Allofich
6b53541571 Prevent AI actors from hitting unintended targets
(Fixes #3254)
2017-02-12 19:51:19 +09:00
scrawl
9fa8e88366 Revert "Don't create a CharacterController for objects with no animations"
This reverts commit cce42b6e9d.
2017-02-12 10:22:11 +01:00
David Cernat
d528a0edb5 Merge pull request #147 from OpenMW/master
Add OpenMW commits up to 11 Feb 2017
2017-02-11 21:27:51 +02:00
scrawl
03a10f217a Catch exceptions in AiSequence::execute 2017-02-11 17:53:11 +01:00
scrawl
5a12407436 Revert "Rearranged check for better performance"
This reverts commit 332ceb51a2.
2017-02-11 17:53:11 +01:00
scrawl
f2d4f290cc traceDown fix 2017-02-11 17:53:11 +01:00
Allofich
e047679595 Fix trying to access stats on non-actors 2017-02-11 19:59:42 +09:00
David Cernat
6763718412 Merge pull request #146 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwclass/npc.cpp
#	apps/openmw/mwmechanics/actors.cpp
2017-02-10 21:39:16 +02:00
scrawl
332ceb51a2 Rearranged check for better performance 2017-02-10 06:48:03 +01:00
scrawl
8752ae9c6a Fix include 2017-02-10 06:28:23 +01:00
scrawl
bbcba57495 Disable hitAttemptActorId saving code for now 2017-02-10 06:26:32 +01:00
scrawl
2ea0db1d1a Merge pull request #1198 from Allofich/combat
Make combat engagement logic more like vanilla
2017-02-10 06:20:04 +01:00
scrawl
dd54887783 Fix node mask of CharacterPreview being reset 2017-02-10 03:31:37 +01:00
scrawl
6ecc008813 Fix an issue uncovered by the last commit related to changing actor position without properly moving the actor 2017-02-10 02:43:49 +01:00
scrawl
cf7b0098ed Slightly increase backoff value 2017-02-10 02:05:12 +01:00
scrawl
b3d5c2bd7f Use the actor's collision shape in findGround()
The cylinder base is no longer appropriate as of the change to capsules.

This also works around a bug when tracing a small cylinder/box shape apparently introduced with bullet 2.86.
2017-02-10 02:00:52 +01:00
David Cernat
f02840d638 [Client] Fix log messages when sending ID_CONTAINER 2017-02-09 21:48:22 +02:00
David Cernat
ae23c6d6a5 Merge pull request #145 from OpenMW/master while resolving conflicts
# Conflicts:
#	CMakeLists.txt
2017-02-09 12:17:27 +02:00
scrawl
67e4a7e37b Change some osg::clone's to direct copy constructor to avoid dynamic_cast overhead 2017-02-09 04:51:20 +01:00
scrawl
3f3d00ffc9 Add CellPreloader::clear to avoid potential dangling CellStore pointer and to more aggressively clear preload state from a previous game 2017-02-09 04:03:38 +01:00
scrawl
0be86f69bc Write the player object first to increase the chance of preloading the player cells in time 2017-02-09 03:55:10 +01:00
scrawl
1d8a9ff622 Preload player cell as soon as the player is read from the savegame
Giving the worker thread something to do while the rest of the savegame is parsed.
2017-02-09 03:47:36 +01:00
scrawl
d141b98f0c Add base animations to preloadCommonAssets 2017-02-09 03:32:40 +01:00
scrawl
066aa2e60e Always run preloadCommonAssets even when the menu is skipped
Move to before the content files are loaded so we can do preloading in parallel with content file loading
2017-02-09 03:16:36 +01:00
scrawl
c68f662c9a Predict player movement when preloading cells to better handle moving at high speed 2017-02-09 01:34:42 +01:00
scrawl
a46593fa74 Add PreloadItem::abort() to avoid no longer required cells from blocking the work thread 2017-02-09 01:08:07 +01:00
scrawl
d62c4259bd CellPreloader: load the terrain first to match the order in the main thread 2017-02-09 01:07:27 +01:00
scrawl
d1e86d22ca Check which local map textures actually need to be updated
On a typical exterior cell transition, we'll save 3 of 9 map renders. When moving back and forth between 2 cells, we can even reuse 6 of 9.
2017-02-08 22:20:57 +01:00
scrawl
43d9f3d5c7 Update bullet debug drawer even when the game is paused so the collision mesh will show instantly even when the console is up 2017-02-08 18:53:24 +01:00
scrawl
249fe9077b Handle 'tcb' command as an alias for 'tcg' 2017-02-08 18:51:07 +01:00
scrawl
206e2bf975 Fix camera rotation not being set after save game load (regressed with 1eb3384043) 2017-02-08 04:42:15 +01:00
scrawl
35bb467c7a Fix inverted setting of variable 2017-02-07 05:28:06 +01:00
David Cernat
5038353792 [General] Rename BaseEvent's state into doorState & adjust related funcs 2017-02-06 23:09:50 +02:00
David Cernat
e52823394c [Client] Use correct count for ID_CONTAINER when dropping items 2017-02-06 22:53:18 +02:00
David Cernat
d8a9a5f6c9 [General] Send item owner in ID_CONTAINER 2017-02-06 22:45:23 +02:00
David Cernat
ad3eac624f [Client] Disable quicksaving and quickloading 2017-02-06 21:34:54 +02:00
David Cernat
3614b21e10 [General] Send charge and goldValue in ID_CONTAINER 2017-02-06 21:28:03 +02:00
Allofich
5d2090684a Store mHitAttemptActorId in save files 2017-02-07 01:26:26 +09:00
Allofich
25c64dbb0f Make combat engagement logic more like vanilla
(Fixes #2678, Fixes #3705)
2017-02-07 01:25:12 +09:00
David Cernat
e703dd42aa [Client] Rename LocalEvent into WorldEvent 2017-02-06 17:40:32 +02:00
scrawl
5a939418fc Add missing avcodec_close (Fixes #3741) 2017-02-06 15:49:13 +01:00
David Cernat
182b238b5f [General] Rename WorldEvent into BaseEvent 2017-02-06 12:53:41 +02:00
David Cernat
27242cdab9 Merge pull request #142 from OpenMW/master
Add OpenMW commits up to 6 Feb 2017
2017-02-06 09:13:19 +02:00
scrawl
91939c4687 Switch actors to capsule shapes now that the jumping bug is gone (Fixes #2116, Fixes #2909)
The culprit was - surprise, surprise - d39d4f2619
2017-02-06 05:40:49 +01:00
scrawl
03aa270551 Construct PhysicActor as on ground by default to avoid a jumping animation from playing in the first frame after a savegame load 2017-02-06 05:23:00 +01:00
scrawl
bc29a99a53 Fix broken timer 2017-02-06 05:10:40 +01:00
scrawl
d39d4f2619 Revert a problematic and performance costly workaround that should never have been applied and is no longer required as of the last commit. 2017-02-06 04:52:41 +01:00
scrawl
541fbb4792 Movement solver: add usage of 'on slope' flag to improve handling of steep slopes
Previously we were handling 'on slope' synonymously with 'in air' which caused some odd effects.

Practical changes:
 - Sliding down a slope no longer applies fall damage.
 - Fixed a climbing exploit that would allow climbing steep slopes with repeated use of the Jump function.
2017-02-06 04:50:58 +01:00
scrawl
cce42b6e9d Don't create a CharacterController for objects with no animations 2017-02-06 03:43:08 +01:00
scrawl
fe0cf5be05 StatsWindow: don't rebuild all skill widgets when one skill changes 2017-02-06 02:40:35 +01:00
scrawl
e7b6ea4e3f Add cycle weapon/spell actions to the list of controller actions (Fixes #3613) 2017-02-05 20:23:49 +01:00
David Cernat
1f03c12d96 [Client] See when other players use the Take All button with a container 2017-02-05 20:04:50 +02:00
David Cernat
d2c5a3387a [Client] See when other players add items to containers 2017-02-05 19:33:11 +02:00
David Cernat
75392297b5 [General] Use vector::at in most places 2017-02-05 19:01:06 +02:00
David Cernat
60d6a6d463 [Client] See when other players remove items from containers 2017-02-05 18:45:23 +02:00
David Cernat
25d79dbcfe [Client] Revert c0d67f67fb after discovering its negative consequences 2017-02-05 17:40:10 +02:00
David Cernat
cdd796aba1 [Client] Send ID_PLAYER_INVENTORY from two more locations 2017-02-05 16:14:26 +02:00
David Cernat
c0d67f67fb [Client] Move code for sending a packet for picking up world items
Previously, an ID_OBJECT_DELETE was sent from inventorywindow.cpp, but this is now sent from hud.cpp because 2 other packets are also sent from there.
2017-02-05 15:50:21 +02:00
David Cernat
b2cdec8efa [Client] Send ID_PLAYER_INVENTORY upon dropping an item, 2nd attempt 2017-02-05 15:35:40 +02:00
David Cernat
f314b13edf [General] Rename item health into charge, for consistency with OpenMW 2017-02-05 14:56:27 +02:00
David Cernat
f03724be7b [Client] Send ID_PLAYER_INVENTORY upon dropping an item 2017-02-05 14:38:04 +02:00
David Cernat
ecc456fea9 [General] Include charge int in WorldObject & send it w/ ID_OBJECT_PLACE 2017-02-05 13:45:12 +02:00
David Cernat
04d45b9dbb [General] Rename packets to show they are for players only, not NPCs 2017-02-05 09:01:33 +02:00
David Cernat
3a29b2d41d Merge pull request #141 from OpenMW/master
Add OpenMW commits up to 5 Feb 2017
2017-02-05 07:11:45 +02:00
scrawl
3065600a86 Skip expensive visitEffectSources call if no summoned creatures or summon effects are active 2017-02-05 02:26:28 +01:00
scrawl
ee4073541c Animation: cache getVelocity() 2017-02-05 02:26:28 +01:00
scrawl
a2cede8f34 Add timer for updateEquippedLight 2017-02-05 02:26:28 +01:00
scrawl
1eb3384043 Avoid rotating by zero in CharacterController 2017-02-05 02:26:28 +01:00
scrawl
7201cf5fe2 ItemWidget: skip setImageTexture if the icon has not changed 2017-02-05 02:26:27 +01:00
David Cernat
9c76b805b2 [Client] Send ID_CONTAINER when starting to drag a container item 2017-02-04 21:33:50 +02:00
David Cernat
a07e616878 [General] Add ContainerItem and ContainerChanges structs to WorldEvent 2017-02-04 20:14:39 +02:00
scrawl
1447bfa215 Improve scene loading performance by creating collision objects with the correct rotation right away instead of adjusting it later 2017-02-04 15:12:01 +01:00
David Cernat
6328ffb9aa [General] In ID_GAME_ATTRIBUTE & ID_GAME_SKILL, rename GAME into PLAYER 2017-02-04 14:25:43 +02:00
David Cernat
57f54aa370 [Client] Don't store multiple cellStates for the same cell 2017-02-04 09:46:27 +02:00
David Cernat
a2e3fe18fe [Client] Send ID_PLAYER_CELL_STATE to server at end of CharGen
Also, allow requests for ID_PLAYER_CELL_STATE from the server.
2017-02-04 09:13:15 +02:00
David Cernat
44e27148d5 Merge pull request #140 from OpenMW/master
Add OpenMW commits up to 4 Feb 2017
2017-02-04 07:37:17 +02:00
scrawl
884d306bf3 Throw exception when told to use 0 threads 2017-02-04 05:58:12 +01:00
scrawl
2db7292bcb Add new setting for the number of preloading worker threads
If you have CPU cores to spare, consider setting 2 or 3. Up to about 3 threads, preloading performance seems to increase in a linear fashion, but with 4 or more threads I/O bottlenecks and synchronization overhead starts to show.
2017-02-04 02:59:28 +01:00
scrawl
eaeba4138b Move the deletion of PreloadItem to the worker thread 2017-02-04 02:36:44 +01:00
scrawl
33e654f94d Add explicit handling of most commonly used nodes to NodeVisitors to avoid excessive virtual function calls 2017-02-04 02:16:26 +01:00
scrawl
83a9435167 Fix unnecessary use of CopyFramebufferToTextureCallback when loading is too fast for a loading screen to be displayed 2017-02-03 23:39:39 +01:00
scrawl
767eba941f Speed up finding of attachment node by using the cached nodeMap 2017-02-03 23:15:37 +01:00
scrawl
a76d693627 Speed up ControllerVisitor by skipping sub graphs that have no ChildrenRequiringUpdateTraversal() 2017-02-03 23:10:14 +01:00
scrawl
c58fc6d276 Improve performance of loading screen by not recomputing the bounding sphere of the entire scene after each loading step 2017-02-03 22:29:38 +01:00
David Cernat
c1427b2558 [General] Simultaneously send loads & unloads in ID_PLAYER_CELL_STATE 2017-02-03 20:27:40 +02:00
David Cernat
63974af131 Merge pull request #139 from OpenMW/master
Add OpenMW commits up to 3 Feb 2017
2017-02-03 07:57:14 +02:00
scrawl
0be811c519 Update the resource cache every second instead of every frame
A dry run takes about ~1.5ms. Even though it's all done in the worker thread, the locks used can stall loading operations that are about to happen in other threads, and just in general this CPU load is unnecessary.
2017-02-03 03:44:30 +01:00
scrawl
6d8c414071 Set osgViewer ReleaseContextAtEndOfFrameHint to false for better performance when in SingleThreaded mode
The flag is normally set to off by default when using Viewer::run() - however since we're using our own frame loop, we have to unset the flag ourselves
2017-02-02 22:16:59 +01:00
scrawl
c5f8ff6e0e Add names to several nodes for debugging purposes 2017-02-02 21:49:52 +01:00
David Cernat
958ff06ca8 [General] Rename ID_DOOR_ACTIVATE into ID_DOOR_STATE 2017-02-01 11:54:40 +02:00
Koncord
f78c749981 [Client] Use "NULL" instead "nullptr"
nullptr keyword introduced in C++11
2017-02-01 15:58:29 +08:00
David Cernat
9f8f62b765 Merge pull request #137 from OpenMW/master
Add OpenMW commits up to 1 Feb
2017-02-01 09:28:23 +02:00
scrawl
1808b8567e Add 'small feature culling pixel size' setting specifically for water RTTs, by default set higher than the one in [Camera] 2017-02-01 06:00:14 +01:00
scrawl
fcb4129aee Add 'small feature culling pixel size' setting 2017-02-01 06:00:14 +01:00
scrawl
960d4a96c3 Reduce the number of osg::Material state by setting the default state on the graph root 2017-02-01 06:00:14 +01:00
scrawl
34deb6e7b1 Add 'showSceneGraph' command to export the scene or a particular object to .osgt for debugging purposes 2017-02-01 06:00:14 +01:00
David Cernat
703f253712 [Client] Delete new LocalEvents after sending them 2017-01-31 09:48:37 +02:00
Koncord
42b6a456f0 [Client] Fix code style 2017-01-30 22:53:22 +08:00
Koncord
c5035cd174 [Client] Fix crash and memory leak when erasing spellbook 2017-01-30 22:37:09 +08:00
David Cernat
da2f66d6ba Merge pull request #135 from OpenMW/master
Add OpenMW commits up to 29 Jan
2017-01-30 07:32:44 +02:00
David Cernat
d503a65849 [Client] Replace tab characters with spaces 2017-01-30 06:47:22 +02:00
MiroslavR
d97e9cfe7e Fix InterpreterContext::updatePtr updating mLocals to the implicit ref's locals when interpreting a targeted global script (Fixes #3738)
The interpreter context of a targeted global script would point to the target's locals instead of the global script instance's locals when the target changed cell during script execution. Credit to scrawl for the solution.
2017-01-29 13:29:53 +01:00
David Cernat
dddc253d70 [Client] Fix console message for LocalPlayer's cell change 2017-01-28 16:39:03 +02:00
David Cernat
9f1e491a75 [General] Make WorldEvents store information about multiple objects 2017-01-28 12:34:45 +02:00
David Cernat
624b85347a [Client] Create LocalEvent class and use it instead of WorldEvent 2017-01-27 20:57:47 +02:00
David Cernat
ee86c9161d [Client] Set InterpreterContext's sendPackets to false in constructor 2017-01-27 16:01:53 +02:00
David Cernat
7efb374f75 [Client] Avoid fetching guiMessageBox.type again for every condition 2017-01-27 10:41:10 +02:00
Koncord
ab3c2544b5 [Client] Use constant instead magic value 2017-01-26 21:47:28 +08:00
Koncord
34a46e6811 [Client] Simplify hasFinishedCharGen method 2017-01-26 21:42:12 +08:00
David Cernat
244da19a51 [General] Turn ID_PLAYER_CELL_LOAD into ID_PLAYER_CELL_STATE for clarity 2017-01-26 13:49:20 +02:00
David Cernat
055376c8ee [Client] Only send ID_PLAYER_CELL_LOAD when CharGen is over 2017-01-26 13:14:22 +02:00
David Cernat
b5b5551fcd [Client] Add LocalPlayer::hasFinishedCharGen() method 2017-01-26 13:13:43 +02:00
David Cernat
97aabf4a7d [General] Sketch out sending of cell loading/unloading info in packets 2017-01-26 09:02:01 +02:00
David Cernat
158d606477 [General] Leave one blank line at the end of every tes3mp code file 2017-01-26 06:17:29 +02:00
David Cernat
2158e94a96 [Client] Fix setting of attack parameters after recent changes 2017-01-25 18:04:20 +02:00
David Cernat
63c8a98083 [General] Stop using virtual functions in BasePlayer 2017-01-25 17:06:15 +02:00
David Cernat
1d9c6ddd81 [General] Add placeholders for the new packet ID_PLAYER_CELL_LOAD 2017-01-25 14:51:43 +02:00
David Cernat
35e453dec3 [General] Sketch out most of functionality for journal saving/loading 2017-01-24 19:32:25 +02:00
David Cernat
0cd7c3ea3d Merge pull request #131 from OpenMW/master
Add OpenMW commits up to 21 Jan
2017-01-22 11:20:20 +02:00
MiroslavR
c64351b3e8 ESS-import: player is no longer disabled (Bug #3246) 2017-01-21 03:39:51 +01:00
David Cernat
d308897f95 Rename PacketItems, PacketSpells into InventoryChanges, SpellbookChanges 2017-01-20 12:43:05 +02:00
David Cernat
e2c595fc5d Add preliminary structure for journal changes 2017-01-20 12:05:45 +02:00
David Cernat
e9b22814b9 Create placeholder for ID_GAME_JOURNAL 2017-01-20 11:15:10 +02:00
David Cernat
a69f294ef0 Rename ID_GAME_CELL into ID_PLAYER_CELL_CHANGE 2017-01-20 10:30:50 +02:00
David Cernat
83277a1512 Send spellbook in LocalPlayer CharGen & change UPDATE action name to SET 2017-01-20 09:07:07 +02:00
David Cernat
0f7748d9d2 When clearing LocalPlayer's spells, keep race and birthsign abilities 2017-01-20 08:06:48 +02:00
David Cernat
33e85c54de Rename BasePlayer Inventory & Spellbook into PacketItems & PacketSpells
This avoids confusion when either of those is used to store and send a single item, and no longer requires coming up with confusing variable names like realSpellbook or realInventory for actual full spellbooks and inventories.
2017-01-19 18:06:59 +02:00
David Cernat
be851f5e1a Send packet with spells gained at character generation 2017-01-19 16:56:21 +02:00
David Cernat
78c6ab2a99 Clean up client Networking by putting item & spell logic in LocalPlayer 2017-01-19 15:18:37 +02:00
David Cernat
b8a6020af1 Check for update to inventory when closing a container 2017-01-19 13:08:24 +02:00
David Cernat
c77120df6d Merge pull request #129 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwworld/actiontake.cpp
2017-01-19 06:34:09 +02:00
scrawl
cc19b4bd8a Fix door rotation order in collision case (Bug #3707) 2017-01-19 02:19:44 +01:00
scrawl
45fb4f04b1 Update reference of the interpreter context when an Activate results in a take action (Fixes #3727) 2017-01-18 21:57:50 +01:00
scrawl
70c5f64caa Fix mLocals not being updated in InterpreterContext::updatePtr 2017-01-18 21:55:58 +01:00
David Cernat
fa8650f99a Merge pull request #128 from OpenMW/master while resolving conflicts
# Conflicts:
#	apps/openmw/mwmechanics/combat.cpp
2017-01-18 15:38:18 +02:00
scrawl
c6822b9eb6 Merge pull request #1192 from damiel/water_refactor
Added refactoring of shader handling from visvalda's fog shader
2017-01-16 18:26:28 +01:00
Martin-Kevin Neumann
5a8efa1649 added refactoring of shader handling from visvalda's fog shader 2017-01-15 14:17:22 +01:00
NeveHanter
e82d542d89 Merge remote-tracking branch 'upstream/master' into bugfix-3617 2017-01-15 09:49:45 +01:00
NeveHanter
811e9ad9f3 Fixed bug https://bugs.openmw.org/issues/3617 by allowing touch and target enchantments from ranged weapons and their projectiles to explode even when colliding with non-activable objects, terrain, water slab or when shoot underwater.
Also allowed projectiles to fly through the dead bodies as in vanilla.
2017-01-15 09:49:25 +01:00
David Cernat
f376b8416e Merge pull request #127 from OpenMW/master
Add OpenMW commits up to 15 Jan
2017-01-15 02:51:15 +02:00
Allofich
f2240dde9c Allow command spells to work when cast by AI on AI
(Fixes #3723)
2017-01-15 01:56:22 +09:00
Allofich
e825010107 Apply command spell effects on impact
Command spells should apply their effects, including taking an actor out
of combat, every time a spell successfully hits, even if a previous
command effect is still active.
2017-01-15 01:53:22 +09:00
Allofich
a46c4de918 Stop combat when adding an AI package to an actor
(Fixes #3722)
2017-01-15 01:53:22 +09:00
scrawl
b87abb0456 Reset activation flags when an object is copied (Fixes #3671, Fixes #3719) 2017-01-14 15:29:36 +01:00
David Cernat
70b43ecef6 Merge pull request #126 from OpenMW/master
Add OpenMW commits up to 14 Jan
2017-01-14 05:59:16 +02:00
scrawl
69ce9f32bc Activate/OnActivate fix (Bug #3712) 2017-01-14 00:10:43 +01:00
David Cernat
253ded1ee3 Use new getFilenameStamp() method to generate timestamps for filenames 2017-01-13 08:49:21 +02:00
David Cernat
3932654d5d Use log filenames w/ timestamps instead of adding numbers to their ends 2017-01-13 07:58:40 +02:00
David Cernat
610ba1d867 Merge pull request #125 from OpenMW/master
Add OpenMW commits up to 12 Jan
2017-01-12 04:33:25 +02:00
scrawl
73aa07b81b Merge pull request #1189 from Allofich/attack
Match best attack selection to vanilla behavior
2017-01-11 18:36:10 +01:00
Allofich
2322ab3125 Don't make Command spells cancel AI packages
(Fixes #3649)
2017-01-12 00:07:22 +09:00
Allofich
c10585fb07 Match best attack selection to original MW
(Fixes #3721)
2017-01-11 22:22:46 +09:00
David Cernat
dfb87e9e0d Merge pull request #124 from OpenMW/master
Add OpenMW commits up to 11 Jan
2017-01-11 13:30:22 +02:00
MiroslavR
f1f9209814 Creatures now auto-equip shields (Fixes #3704) 2017-01-08 20:52:04 +01:00
Allofich
5e992a0342 Fix attempting to access NPC stats on creatures 2017-01-06 02:58:24 +09:00
Assumeru
1a073ca642 Fix teleportation being unreachable 2017-01-03 22:02:23 +01:00
Allofich
eee49b7ea7 Make dispel an instant effect again (Fixes #3695) 2017-01-02 17:35:50 +09:00
scrawl
80c008906b Fix texture coordinates 2017-01-02 04:50:33 +01:00
scrawl
48a23d61b2 Mask out water in global map overlay 2017-01-02 04:01:04 +01:00
scrawl
7b5f3e3cdc Fix crash in ProjectileManager when a sound id fails to play or is not found 2017-01-01 21:34:31 +01:00
scrawl
708009eac4 Merge pull request #1158 from logzero/move3
[RFC] Movement solver experiments
2017-01-01 20:44:41 +01:00
scrawl
212e85e810 Merge pull request #1174 from Allofich/combat
Adjustments to AI combat engaging and disengaging
2017-01-01 19:36:09 +01:00
scrawl
da3815f5a6 Merge pull request #1179 from Armada651/fix-audio-cutoff
OpenAL_Output: When a source is finished, rewind it instead of stopping it.
2017-01-01 19:13:32 +01:00
logzero
dbf0fa6766 Skip stepping if movement tracer hits actor. 2016-12-31 10:57:06 +01:00
David Cernat
59c3dbe6af Merge pull request #120 from OpenMW/master while resolving conflicts
# Conflicts:
#	README.md
2016-12-30 23:59:30 +02:00
Koncord
b9c3849cc7 Change keycode to scancode 2016-12-30 02:33:44 +08:00
Koncord
7595b33461 Implement spellbook 2016-12-29 21:19:57 +08:00
Marc Zinnschlag
dedd95f52a Merge remote-tracking branch 'miroslavr/save-cleanup' 2016-12-29 08:37:59 +01:00
Jules Blok
e9d8ff532f OpenAL_Output: When a source is finished, rewind it instead of stopping it.
This works around a bug in the MacOS OpenAL implementation.
2016-12-29 01:03:13 +01:00
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