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