Commit Graph

451 Commits (e1665f39450dd9b70fa67a47bd3b26f4d9bdb9e9)

Author SHA1 Message Date
elsid 8b8e4f78b6
Support cylinder and rotating box collision shape types for actors
Cylinder collision shape should give the best consistency between physics
simulation and pathfinding. Rotating box is already used by some actors, so
add it to have the same collision shape type for all actors.
2 years ago
Ivan Beloborodov f960e30d01 Implement Add switch for armor degradation fix. #6888 2 years ago
glassmancody.info fd4966f77a temporary fix for auto exposure 2 years ago
elsid 1a12c453d6
Support different agent collision shape type for pathfinding
Actors may have different collision shapes. Currently there are axis-aligned
bounding boxes and rotating bounding boxes. With AABB it's required to use
bounding cylinder for navmesh agent to avoid providing paths where actor can't
pass. But for rotating bounding boxes cylinder with diameter equal to the front
face width should be used to not reduce of available paths. For example rats
have rotating bounding box as collision shape because of the difference between
front and side faces width.

* Add agent bounds to navmesh tile db cache key. This is required to distinguish
  tiles for agents with different bounds.
* Increase navmesh version because navmesh tile db cache key and data has changed.
* Move navmesh version to the code to avoid misconfiguration by users.
* Fix all places where wrong half extents were used for pathfinding.
3 years ago
Petr Mikheev 3bf18c601c Better fog 3 years ago
Petr Mikheev 3fb470dcce Increase the size of the settings menu; reduce the size of Lua settings "number" in order to make camera settings look good with the default size of the settings menu. 3 years ago
Petr Mikheev 65efd6f1c2 Remove from settings.cfg camera settings that are controlled from Lua 3 years ago
psi29a b9b4f1c3c2 Merge branch 'console_log' into 'master'
In-game log viewer

See merge request OpenMW/openmw!1799
3 years ago
elsid 215b46503c
Support rendering for navmesh update frequency as a heatmap
Useful when need to find tiles with high number of updates.

Add debug Lua package with new functions to toggle render mode and set navmesh
render mode.
3 years ago
Petr Mikheev cf49b46d64 Show logs in the debug window
Some part of UI code is written by @andrew-app
3 years ago
cody glassman fee639a74f Correct default value 3 years ago
cody glassman 04843fed6d moddable post-processing pipeline 3 years ago
Cody Glassman de4a75821e Correct default window mode 3 years ago
cody glassman ad139f2f9a rename to windowed fullscreen 3 years ago
cody glassman 05901a2480 add borderless windows, deprecate fullscreen mode 3 years ago
psi29a 275bebb066 Merge branch 'Stereo-MR' into 'master'
Stereo

See merge request OpenMW/openmw!1757
3 years ago
Eris Caffee de291b0ec4 Issue-6706 Save the size of the Options window 3 years ago
madsbuvi dd5901d351 Initial commit
Multiview shaders.

Refactor Frustum management

Rewrite shared shadow map

cull mask should respect stereo

Stereo savegame screencap

LocalMap refactoring

use the vertex buffer hint instead of the display list patch to enable/disable display lists

Character preview fixes
3 years ago
Benjamin Winger 21ffbcc4b4 Lua i18n updates 3 years ago
Alexei Dobrohotov 98b2ddfd4c Make console and maximized window defaults mimic Morrowind 3 years ago
elsid 5b9dd10cbe
Limit max navmeshdb file size
Use "pragma max_page_count" to define max allowed file size in combination with
"pragma page_size" based on a new setting "max navmeshdb file size".

* Stop navmeshtool on the first db error.
* Disable writes to db in the engine on first "database or disk is full"
  SQLite3 error. There is no special error code for this error.
* Change default "write to navmeshdb" to true.
* Use time intervals for transaction duration instead of number of changes.
3 years ago
Abdu Sharif ebaee9d08c Update settings-default.cfg 3 years ago
uramer 4021d23cff Refactor sensor manager axis correction 3 years ago
Cody Glassman 8ec0a52605 Toggable day night switch (#5928) 3 years ago
Abdu Sharif cd1bea080f Update changelog and remove an unused setting from settings-default.cfg 3 years ago
Petr Mikheev 0f246e7365 Use a separate instance of Lua i18n for every context 3 years ago
elsid 96eb8d7be9
Write generated navmesh to navmeshdb
Perform all request to db in a single thread to avoid blocking navmesh
generator threads due to slow write operations.

Write to db navmesh for all changes except update as it done for memory cache.

Batch multiple db operations into a single transaction to speed up writing by
not executing fsync after each insert/update query. All reads are performed in
the same transaction so they see uncommited data.
3 years ago
elsid c9b8ba7b46
Read navmesh tile data from database
When tile is not found in memory cache try to find it in the database.
3 years ago
elsid 953a4c5550
Add a binary to generate navmesh from content files
Load content files based on the engine config files. Generate navmesh per cell
for all cells and store into SQLite database.
3 years ago
elsid 01c712d5f1
Split navigator settings into subtypes
Mostly to distinguish settings that affect properties of the generated navmesh.
3 years ago
uramer 4a976a8e23 Use a setting to enable Lua Action tracebacks 3 years ago
psi29a 68e7a4083e Merge branch 'master' into 'master'
Overhaul raindrop water ripple effect

Closes #6360

See merge request OpenMW/openmw!1316
3 years ago
glassmancody.info 4461366761 settings update and launcher option 3 years ago
wareya e1378cd290 Replace uniform with define 3 years ago
wareya 226d3eac0d Improve performance, add simpler ripples, add a setting, fix nighttime brightness 3 years ago
glassmancody.info 8c3b00164e soft particles 3 years ago
elsid 144862aa35
Define default actor half extents in settings
Player's half extents may change over time when wolfskin model is used for
example. Having it in settings is a more presistent approach.
3 years ago
Bo Svensson d854e247b8
reword warning in settings-default.cfg (#3124)
* reword warning in settings-default.cfg

The warning at the head of settings-default.cfg is somewhat confusing for users, overly verbose and lacking the most crucial piece of information in its first sentence. Hence, it is unsurprising some users fail to heed the warning, as observed through user support requests on Matrix.

* settings-default.cfg
3 years ago
Cédric Mocquillon 98a0819d52 Debug terrain chunks 3 years ago
Bo Svensson 9d661359a1
Groundcover consolidation (#3096)
* chunkmanager.hpp viewdistance

* chunkmanager.cpp viewdistance

* chunkmanager.hpp viewdistance

* quadtreeworld.cpp viewdistance

* quadtreeworld.cpp consolidate

* quadtreeworld.hpp consolidate

* renderingmanager.cpp groundcover consolidate

* renderingmanager.hpp groundcover consolidate

* renderingmanager.cpp updater move

* renderingmanager.hpp updater move

* groundcover.hpp activegrid consolidation

* groundcover.cpp activegrid consolidation

* settings-default.cfg dead settings remove

* viewdata.cpp revert

* wrong file paste mistake

* wrong file paste mistake

* wrong file paste mistake

* renderingmanager.cpp updatecallback fix

* renderingmanager.cpp namespace fix

* groundcover.hpp redefinition fix

* groundcover.cpp redefinition fix

* renderingmanager.cpp crash fix

* renderingmanager.cpp euclidean groundcover distance

* viewdata.hpp getreusedistance

* quadtreeworld.cpp reusedistance

* groundcover.rst [ci skip]
3 years ago
Cédric Mocquillon b0e30e4bb6 Change setting to clamp the local viewing distance to fix value (instead of coeff) 3 years ago
glassmancody.info 09e03fde2e refactor and fix wobbly shores 3 years ago
glassmancody.info cad0b151cb enable shaders path and dehardcode depth formats 3 years ago
CedricMocquillon 8c87defddf [Local map] Use the distance view in the local map 3 years ago
Cédric Mocquillon 3373afcc83 [Settings] Set values 3 years ago
fredzio 643a64cb2f Change some settings for async physics:
- default to 1 thread
- default to always use defered aabb update, remove option
- always keep a cache of LOS request for at least the current frame.
This decreases number of raycast, especially when a lot of actors are
involved and "NPCs avoid collisions" is on
4 years ago
Petr Mikheev 403d31313c New setting "lua num threads". Thread syncronization is changed from std:🧵:yield to std::condition_variable. 4 years ago
elsid 4259f7f230
Add setting to enable/disabled notification for saved screenshots 4 years ago
psi29a 4bc7012104 Merge branch 'pack-default-settings' into 'master'
Pack default settings

Closes #5925

See merge request OpenMW/openmw!822
4 years ago
psi29a fd89582e0c Merge branch 'navmesh_wait' into 'master'
Wait until navmesh is generated within given distance around player (#5500)

Closes #5500

See merge request OpenMW/openmw!819
4 years ago
Andrei Kortunov 49a744b65a Make groundcover to use rendering distance in units instead of cells 4 years ago
Andrei Kortunov 08f30e6f50 Temporary increase default near clip distance, until reverse-z depth buffer is implemented 4 years ago
AnyOldName3 92325976e9 Update documentation to refer to defaults.bin 4 years ago
elsid 7a51d0db18
Wait until navmesh is generated within given distance around player
Add a setting to change this distance.

To prevent situations when there is not enough navmesh generated and actors
can't find path correctly.
4 years ago
elsid ec87b3f8f7
Remove redundant ChunkyTriMesh
This AABB tree required when need to filter out input mesh that has not
influence navmesh tile output. This filtering is already done before. Each
recast mesh corresponds to a single navmesh tile and has appropriate bounds.
4 years ago
AnyOldName3 ce3ed28403 Control stomping via settings. 4 years ago
psi29a 4e3f338826 Now that the lighting issue has been fixed, we can now enable active grid by default (which is guarded by distant land). 4 years ago
psi29a f1cfdafd4d Merge branch 'why_are_the_christmas_lights_still_up' into 'master'
Remove 8 light limit and add configurable lighting enhancements

See merge request OpenMW/openmw!618
4 years ago
glassmancody.info 531a6e1979 Code review fixes, remove implicit GLSL casts 4 years ago
glassmancody.info 582f7b52cf Merge remote-tracking branch 'upstream/master' into why_are_the_christmas_lights_still_up 4 years ago
glassmancody.info 9e80091aff clear up force shaders and make it less convoluted 4 years ago
glassmancody.info 3d713e8602 Fix incorrect minimum ambient 4 years ago
glassmancody.info d195602a9d Switch to shared layout, some rewording 4 years ago
glassmancody.info cc31e1eea1 Ambient luminance threshold setting 4 years ago
glassmancody.info 690995988b More formatting, OpenCS cells are unbroken 4 years ago
glassmancody.info ec27e60284 Cutoff conditional in light shader 4 years ago
glassmancody.info 05a5cee132 Brighter point lights and light fade 4 years ago
glassmancody.info 43ac32921c Rewrite, support different lighting methods 4 years ago
glassmancody.info dda735c54a initial commit 4 years ago
elsid 634556be9d
Add setting to allow following creatures to find path over water surface 4 years ago
Matjaž Lamut 2cb4b62b83 De-hardcode references to mesh files used by the sky. 4 years ago
AnyOldName3 4ed67d8597 Improve A2C setting name 4 years ago
AnyOldName3 4f510d85ba Merge remote-tracking branch 'upstream/master' into alpha-meddling 4 years ago
Nelsson Huotari 382324173b \ to / 4 years ago
Nelsson Huotari 2c67f34c6d Update base_anim file settings 4 years ago
Nelsson Huotari 3194520dcd Move base_anim settings to settings-default.cfg 4 years ago
Andrei Kortunov 8874e88ff1 Drop fading setting 4 years ago
Andrei Kortunov 14cf0ce1dc Implement instanced groundcover 4 years ago
Alexei Dobrohotov e4e19bab1b Make min and max view distance accurate to vanilla 4 years ago
AnyOldName3 8f4b856b44 Initial A2C implementation 4 years ago
Evil Eye 275b9aea4d rename setting 4 years ago
Evil Eye e62fff5f2e Add a setting to disable graphical herbalism 4 years ago
Alexei Dobrohotov 7e63afdecf Allow loading arbitrary NIF files 4 years ago
Alexei Dobrohotov 9859565f8d Improve grammar in [Physics] category of the default settings 4 years ago
psi29a f513ee1f1d Merge branch 'configurable_turning_delay' into 'master'
Makes the delay of turning while run configurable (part of "smooth movement")

See merge request OpenMW/openmw!349
4 years ago
psi29a 9d350ec824 Merge branch 'head_bobbing' into 'master'
Add head bobbing in first person mode

Closes #5043

See merge request OpenMW/openmw!320
4 years ago
Petr Mikheev 9ec6fce446 Makes the delay of turning while run configurable (part of "smooth movement"). 4 years ago
fredzio 3c2504b442 Process movement queue in one or several background threads
Before movement calculation, the main thread prepare a
vector of ActorFrameData, which contains all data necessary to perform
the simulation, and feed it to the solver. At the same time it fetches
the result from the previous background simulation, which in turn is
used by the game mechanics.
Other functions of the physics system (weapon hit for instance)
interrupt the background simulation, with some exceptions described
below.

The number of threads is controlled by the numeric setting

[Physics]
async num threads

In case 'async num threads' > 1 and Bullet doesn't support multiple threads,
1 async thread will be used. 0 means synchronous solver.
Additional settings (will be silently switched off if async num threads = 0)

[Physics]
defer aabb update

Update AABBs of actors and objects in the background thread(s). It is not an especially
costly operation, but it needs exclusive access to the collision world, which blocks
other operations. Since AABB needs to be updated for collision detection, one can queue
them to defer update before start of the movement solver. Extensive tests on as much
as one installation (mine) show no drawback having that switched on.

[Physics]
lineofsight keep inactive cache

Control for how long (how many frames) the line of sight (LOS) request will be kept updated.
When a request for LOS is made for the first time, the background threads are stopped to
service it. From now on, the LOS will be refreshed preemptively as part of the background
routine until it is not required for lineofsight keep inactive cache frames. This mean
that subsequent request will not interrupt the background computation.
4 years ago
Petr Mikheev be27b51279 Add head bobbing in first person mode 4 years ago
Petr Mikheev b838782557 Avoid collisions between actors. 4 years ago
Petr Mikheev 71ba94a89a Smooth turning; smooth stopping; combat headtracking 4 years ago
Petr Mikheev 6a4fa8a8b5 Add more settings to openmw-launcher 4 years ago
Capostrophic 9c930e38fa Add option to always allow stealing from KO'd actors (feature #5545) 5 years ago
Petr Mikheev 2e6aa155a3 New settings 'preview if stand still' and 'deferred preview rotation'. 5 years ago
Petr Mikheev 8ac7ffc32b Remove 'separate preview camera' and make the new behavior the default one.
Also minor refactoring in camera.cpp
5 years ago
Petr Mikheev 4d206d2c67 Improved preview mode 5 years ago
Petr Mikheev 383fa3d3ab Make 'zoom out when move' configurable. 5 years ago
Petr Mikheev ef03f2c033 Auto switch shoulder 5 years ago
Petr Mikheev 280862f58b New setting "third person camera distance" 5 years ago
psi29a 46db69a349 Merge branch 'swimming' into 'master'
Swimming-related fixes

See merge request OpenMW/openmw!247

(cherry picked from commit 8be328ef80f29e9692e29d24beefa8ced16537a7)

738c71fd Extend the "turn to movement direction" mode for swimming up and down.
10d3e82b New setting "swim upward coef"
5 years ago