1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-22 03:53:54 +00:00
Commit graph

18933 commits

Author SHA1 Message Date
cody glassman
05901a2480 add borderless windows, deprecate fullscreen mode 2022-05-08 22:56:39 -07:00
elsid
ef64587cbf
Mark unchanging static as const 2022-05-09 00:59:51 +02:00
elsid
66c9b6c199
Make MWMechanics::Actors local static variables to be members 2022-05-09 00:59:37 +02:00
elsid
87ca575d60
List private members of MWMechanics::Actors in a single place 2022-05-09 00:55:09 +02:00
Petr Mikheev
45161d91c9 Merge branch 'lua_record_types' into 'master'
Lua API for NPC and Creature records

See merge request OpenMW/openmw!1823
2022-05-08 20:32:00 +00:00
uramer
9c5887aab6 Add NPC and Creature record bindings 2022-05-08 16:36:17 +02:00
elsid
31bd87936f
Remove redundant virtual World::adjustSky function 2022-05-08 15:41:53 +02:00
elsid
b32a787cd8
Add explicit dependency to World from Scene
To avoid redundant MWBase::Environment::get().getWorld() calls and virtual
calls.
2022-05-08 15:41:53 +02:00
elsid
9320fb50ab
Remove redundant MWBase::Environment::get().getWorld() calls 2022-05-08 15:41:53 +02:00
elsid
f03360b666
Move RenderingManager::update call to World::update
There is no need to do that in Scene::update and pass paused argument there.
2022-05-08 15:41:52 +02:00
elsid
8473336b06
Remove redundant virtual functions 2022-05-08 15:41:52 +02:00
Petr Mikheev
6a97a21fbd [Lua] Fix stupid bug in tostring for ESM::Weapon and ESM::Door 2022-05-08 13:09:02 +02:00
psi29a
408540517a Merge branch 'refactor/fCombatInvisoMult' into 'master'
Avoid looking up settings from gmst each frame

See merge request OpenMW/openmw!1771
2022-05-08 10:43:08 +00:00
psi29a
49487a17e6 Merge branch 'environment' into 'master'
Make Environment a storage of referencing pointers instead of owned

See merge request OpenMW/openmw!1830
2022-05-08 08:47:34 +00:00
psi29a
71e4e5ceec Merge branch 'lua_activate' into 'master'
[Lua] Fix the bug that object:activate() doesn't trigger mwscripts

See merge request OpenMW/openmw!1834
2022-05-08 08:30:50 +00:00
Petr Mikheev
2d1d7e644c [Lua] Fix the bug the object:activate() doesn't trigger mwscripts 2022-05-06 23:46:36 +02:00
elsid
2dc6e755b2
Remove redundant update virtual functions 2022-05-06 23:44:04 +02:00
elsid
79676aee15
Make Environment a storage of referencing pointers instead of owned
Engine controls lifetime of managers therefore it should own them. Environment
is only access provider.

This allows to avoid redundant virtual calls and also some functions from
managers base classes can be removed if they are used only by Engine.
2022-05-06 23:44:01 +02:00
Petr Mikheev
70c7f1880d [Lua] pairs and ipairs for ObjectList (resolves #6732) 2022-05-06 23:11:47 +02:00
AnyOldName3
d975e9e138 Merge branch 'position_in_radians' into 'master'
Fix copy paste error

See merge request OpenMW/openmw!1829
2022-05-05 20:57:47 +00:00
Evil Eye
bc5e43ab60 Fix copy paste error 2022-05-05 21:53:20 +02:00
jvoisin
331363d469 Merge branch 'fix_uninit' into 'master'
Fix uninitialized coverity warnings

See merge request OpenMW/openmw!1819
2022-05-05 17:35:16 +00:00
Alexei Kotov
6aaf2c33bf Merge branch 'refactor/5336-1' into 'master'
#5336 (1): Refactor World::updatePlayer in to Player::update

See merge request OpenMW/openmw!1828
2022-05-05 06:46:28 +00:00
Alexei Kotov
6857f4f7ff Merge branch 'empty_and_clear' into 'master'
Replace empty std::string assignments

See merge request OpenMW/openmw!1827
2022-05-05 06:43:30 +00:00
ζeh Matt
2bbd0ba976
#5336: Refactor World::updatePlayer in to Player::update 2022-05-05 00:57:15 +03:00
Evil Eye
a64979e25d Replace empty std::string assignments 2022-05-04 22:33:39 +02:00
Evil Eye
55d32432b9 Don't mark idle animations as bad when blocking them 2022-05-04 21:15:08 +02:00
Alexei Kotov
bbec296891 Merge branch 'we-are-anonymous-we-are-quivers-apparently' into 'master'
Don't return a random anonymous node from getArrowBone when the current weapon doesn't fire arrows.

Closes #6718

See merge request OpenMW/openmw!1822
2022-05-04 03:00:57 +00:00
uramer
03659bef86 MWUI interface (resolve https://gitlab.com/OpenMW/openmw/-/issues/6594) 2022-05-03 17:36:49 +00:00
AnyOldName3
a6c9c9d1f8 Don't return a random anonymous node from getArrowBone when the current weapon doesn't fire arrows. 2022-05-02 20:11:01 +01:00
Max Henzerling
41be5a17f4 comments from PR 2022-05-01 11:52:19 -07:00
Max Henzerling
af5b1b3083 Add option to open record editting subviews in new windows instead of exclusive docking. 2022-05-01 11:52:19 -07:00
elsid
b67a0a8f2b
Fix uninitialized coverity warnings 2022-05-01 18:36:16 +02:00
psi29a
dccbd3e980 Merge branch 'try_and_hit_me' into 'master'
Bring HitAttemptOnMe in line with HitOnMe

See merge request OpenMW/openmw!1816
2022-04-30 18:26:30 +00:00
psi29a
265fa51128 Merge branch 'respect_water_filtering' into 'master'
Simple water should respect filter settings (#5989)

Closes #5989

See merge request OpenMW/openmw!1813
2022-04-30 17:02:32 +00:00
psi29a
828f394200 Merge branch 'stacked_up' into 'master'
Make stack manipulation unconditional

Closes #6717

See merge request OpenMW/openmw!1815
2022-04-30 16:58:57 +00:00
psi29a
275bebb066 Merge branch 'Stereo-MR' into 'master'
Stereo

See merge request OpenMW/openmw!1757
2022-04-30 16:40:09 +00:00
unknown
1bc24d5120 Bring HitAttemptOnMe in line with HitOnMe 2022-04-30 18:32:10 +02:00
Evil Eye
db19700599 Make stack manipulation unconditional 2022-04-30 16:45:45 +02:00
cody glassman
ed6cd487ee allow updating filtering at runtime 2022-04-29 17:26:09 -07:00
cody glassman
13a05dbd63 simple water should respect filter settings 2022-04-29 17:01:28 -07:00
madsbuvi
79577f37de Rebase artifacts + cleaned up the remaining unnecessary exposures of stereo awareness. 2022-04-29 17:35:24 +02:00
psi29a
51024a8208 Merge branch 'issue-6706-save-the-size-of-the-options-window' into 'master'
Issue-6706 Save the size of the Options window

Closes #6706

See merge request OpenMW/openmw!1798
2022-04-29 09:56:09 +00:00
Eris Caffee
de291b0ec4 Issue-6706 Save the size of the Options window 2022-04-29 09:56:08 +00:00
psi29a
a707f5b0e0 Merge branch 'portable' into 'master'
Make OpenMW more portable (follow up of !1555)

See merge request OpenMW/openmw!1805
2022-04-28 19:35:29 +00:00
Mads Buvik Sandvei
606a795a54 multiview linker-method 2022-04-28 21:09:06 +02:00
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
2022-04-28 21:05:34 +02:00
fredzio
bab5e56768 Make the launcher dara directory and bsa list play nicer with dark
themes.

Known issue: the padding icon for disabled data directories is of wrong
color.
2022-04-28 15:19:54 +02:00
Petr Mikheev
c7ab67c2c1 Allow relative paths in openmw.cfg; support --replace=config. 2022-04-28 00:39:41 +02:00
psi29a
07056802eb Merge branch 'esmtool_tes4' into 'master'
Support esmtool dump for TES4

See merge request OpenMW/openmw!1800
2022-04-27 21:07:25 +00:00
psi29a
dad9f24867 Merge branch 'link-shaders' into 'master'
Shader linking

See merge request OpenMW/openmw!1803
2022-04-27 21:04:08 +00:00
Frederic Chardon
ad1ab1c880 Follow up to !192 2022-04-27 19:51:54 +00:00
psi29a
66a96bfa5e Merge branch 'launcher-datadirs' into 'master'
Make launcher handle data dirs #2858 and BSA

See merge request OpenMW/openmw!192
2022-04-27 17:31:52 +00:00
madsbuvi
dc3045c970 mono-only version of the shader linking system introduced in the stereo MR 2022-04-26 19:54:24 +02:00
elsid
d2510284ec
Support TES4 in esmtool dump 2022-04-25 17:35:26 +02:00
elsid
43b2892cc3
Move ESMData, reader and writer out of esmtool Arguments 2022-04-25 17:35:25 +02:00
psi29a
c930aabf17 Merge branch 'fix_windows_build' into 'master'
Fix build on Windows

See merge request OpenMW/openmw!1796
2022-04-25 06:38:33 +00:00
elsid
0dcb1f5aac
Fix build on Windows
Use wrapper header over Windows.h to undefine far and near in a single place.
2022-04-25 00:25:46 +02:00
psi29a
eceb7406aa Merge branch 'lua_storage' into 'master'
[Lua] Update openmw.storage

See merge request OpenMW/openmw!1795
2022-04-24 20:13:59 +00:00
jvoisin
3621b9a759 Merge branch 'clean' into 'master'
Appease some clang warnings

See merge request OpenMW/openmw!1794
2022-04-24 11:34:29 +00:00
Petr Mikheev
eae1e87081 [Lua] Update openmw.storage 2022-04-23 18:55:12 +02:00
psi29a
f99f818c0c Merge branch 'esm4_cleanup' into 'master'
ESM4 cleanup

See merge request OpenMW/openmw!1792
2022-04-23 15:27:28 +00:00
psi29a
cfcc88f64c Merge branch 'istream_unique_ptr' into 'master'
Use unique_ptr to store istream

See merge request OpenMW/openmw!1793
2022-04-23 11:19:27 +00:00
fredzio
b88d32ff5b Add 3 tabs in the "Data Files" page
1 with the data directories
2 with the BSA archives
3 with the content selector

When user select a directory to be added, first we walk the directory
hierarchy to make a list of all potential data= entries. If we find
none, the selected directory is added.

If more than one data directory is found, user is presented with a
directory list to check which one(s) are to be added.

Directories containing one or more content file are marked with an icon.

data= and fallback-archive= lines are handled like content= lines:
- they are part of the profile in launcher.cfg, prefixed by the profile
name
- they are updated in openmw.cfg when profile is selected / created

Directories can be moved in the list by drag and drop or by buttons.
Insertion is possible anywhere in the list.
Global data path and data local are shown but are greyed out, as they
are always included.

No attempt is made to ensure that the user choice are valid
(dependencies, overwrite of content).

After a profile is loaded, any added content is highlighted in green.
2022-04-23 09:54:45 +02:00
fredzio
5a1a987f6c Remove write-only variable. 2022-04-23 09:13:22 +02:00
elsid
d71a1efa92
Rename components/esm4/acti.hpp -> components/esm4/loadacti.hpp 2022-04-23 00:40:45 +02:00
elsid
94c1d0cced
Use unique_ptr to store istream 2022-04-22 18:27:17 +02:00
Petr Mikheev
88d09c336c Lua console 2022-04-21 21:57:07 +02:00
Alexei Kotov
6d794cf9ca Merge branch 'fix-savegamerecords' into 'master'
Include random state record in count of saved records

See merge request OpenMW/openmw!1790
2022-04-21 10:38:49 +00:00
ζeh Matt
51a84aaef8
Include random state record in count of saved records 2022-04-21 11:51:10 +03:00
elsid
a2d596dbc7
Prepare navmesh scene asynchronously
It is expensive operation to generate new osg::Group for updated navmesh tile
which noticeably slows down main thread primarily because of
SceneManager::recreateShaders call. Move it to the preload work queue that is
used by RenderingManager. Leave to main thread only manipulations on the root
node.

Also move deallocation of no more needed data to the work queue. It's also
quite expensive operation because SceneManager::recreateShaders allocates a
new state set for each osg::Geometry. Deallocating them takes time.

Avoid creating another work item if there is existing one that is not started
yet.

Make sure results are accepted in the proper serialized order by selecting
completed work item with maximum {id, version}.
2022-04-20 23:14:31 +02:00
psi29a
c14796fc57 Merge branch 'ncc' into 'master'
#6496 Handle NCC flag in Nif files

See merge request OpenMW/openmw!1516
2022-04-17 20:29:41 +00:00
psi29a
4e723cad59 Merge branch 'issue-6667-pressing_escape_during_wait_causes_black_screen' into 'master'
issue-6667 pressing escape during wait causes black screen

See merge request OpenMW/openmw!1783
2022-04-17 20:26:23 +00:00
Eris Caffee
627656ace0 issue-6667 pressing escape during wait causes black screen 2022-04-17 20:26:23 +00:00
psi29a
58f77ab3ef Merge branch 'issue-5279-console_stops_scrolling_properly_after_selection' into 'master'
issue-5279 console stops scrolling properly after selection

See merge request OpenMW/openmw!1781
2022-04-17 20:25:10 +00:00
Eris Caffee
b2c6c49999 issue-5279 console stops scrolling properly after selection 2022-04-17 20:25:09 +00:00
fredzio
d05a2facf3 Handle NCC flag in Nif files. Objects with this flag will collide only with camera.
Expose objects with NC flag to be used by Lua mods.
2022-04-17 20:03:00 +02:00
psi29a
c17b6de787 Merge branch 'refactor/cache-target' into 'master'
Cache the target for ai packages instead of looking for it every frame

See merge request OpenMW/openmw!1772
2022-04-17 17:15:01 +00:00
Matt
56a1505885 Cache the target for ai packages instead of looking for it every frame 2022-04-17 17:15:00 +00:00
psi29a
4575df957e Merge branch 'issue-6685' into 'master'
issue 6685 - wizard failure if config dir does not exist

See merge request OpenMW/openmw!1735
2022-04-17 17:13:31 +00:00
Eris Caffee
ba57d0651f issue 6685 - wizard failure if config dir does not exist 2022-04-17 17:13:31 +00:00
psi29a
8f02cd7d17 Merge branch 'fix_6627' into 'master'
Fix #6627

Closes #6627

See merge request OpenMW/openmw!1762
2022-04-17 17:13:13 +00:00
psi29a
517bca803c Merge branch 'issue-2766-warn_user_if_old_MW_version_installed' into 'master'
Issue 2766 Warn user of old MW version detected

See merge request OpenMW/openmw!1748
2022-04-17 16:28:15 +00:00
Eris Caffee
db84d9e649 Issue 2766 Warn user of old MW version detected 2022-04-17 16:28:14 +00:00
psi29a
a0d0f60490 Merge branch 'dont_look_at_me_im_hideous' into 'master'
Ignored flag part 2

Closes #6699

See merge request OpenMW/openmw!1782
2022-04-17 09:42:49 +00:00
Evil Eye
6c87219ba3 Print record flags in esmtool 2022-04-17 09:00:58 +02:00
psi29a
e66008c4e2 Merge branch 'dont_look_at_me_im_hideous' into 'master'
Implement ignored records

Closes #6699

See merge request OpenMW/openmw!1779
2022-04-16 22:15:00 +00:00
Evil Eye
86d7f5a988 Fix tests 2022-04-16 22:58:08 +02:00
Evil Eye
61ea678a96 Implement ignored records 2022-04-16 16:28:39 +02:00
Evil Eye
68799cfd2b Merge branch 'cleancmakelist' into 'master'
Update CMakeLists.txt after a file was removed.

See merge request OpenMW/openmw!1778
2022-04-16 10:58:30 +00:00
elsid
fbc853804d
Fix recover from errors in Files::getHash 2022-04-15 21:43:54 +02:00
fredzio
3e4c683ba9 Update CMakeLists.txt after a file was removed. 2022-04-15 19:14:18 +02:00
elsid
b09570692e
Use ifstream for ESMReader
ESMReader reads the whole file, there is no need in the ConstrainedFileStream.
2022-04-15 02:58:57 +02:00
elsid
194c11f214
Fix loading order in EsmLoader
Need to load the last present record from a sequence of loaded records. That
means reverse should be called before unique or unique should be applied for
a reversed range. Since unique keeps only the first element from a sub
sequence of equal elements.

Use forEachUnique with reversed range to avoid redundant container
modifications.
2022-04-13 09:33:24 +02:00
psi29a
d3d9abede4 Merge branch 'refactor/predictAndAvoidCollisions' into 'master'
Use active package in predictAndAvoidCollisions

See merge request OpenMW/openmw!1770
2022-04-12 19:20:33 +00:00
uramer
5aa8e475a4 Merge branch 'rendering_raycast' into 'master'
Rendering raycasts in Lua

See merge request OpenMW/openmw!1768
2022-04-12 19:15:28 +00:00
ζeh Matt
b2739dc84a
Avoid looking up settings from gmst each frame 2022-04-12 18:58:13 +03:00
ζeh Matt
1a41cefab3
Use active package in predictAndAvoidCollisions 2022-04-12 18:32:58 +03:00
psi29a
9809b873a0 Merge branch 'esm_namespace_qualifiers' into 'master'
Remove ESM:: namespace qualifier in components/esm3/ and tests

See merge request OpenMW/openmw!1769
2022-04-12 08:08:31 +00:00
elsid
4447ab0ed7
Remove ESM:: namespace qualifier in components/esm3/ and tests 2022-04-12 02:04:24 +02:00
Petr Mikheev
51845e9553 Rendering raycasts in Lua 2022-04-11 23:36:54 +02:00
Petr Mikheev
a65f8ebbc6 Reorganize delayed Lua actions 2022-04-11 22:19:51 +02:00
elsid
39da3bfef8
Ignore player when checking whether AiTravel destination is occupied by other actor 2022-04-11 19:30:54 +02:00
psi29a
84458baa8b Merge branch 'VA_OpenMW-CS' into 'master'
OpenMW-CS: Issue #3245 Add configurable instance grid, angle, and scale snapping

Closes #3245

See merge request OpenMW/openmw!1737
2022-04-11 16:03:30 +00:00
Vidi_Aquam
035fe778b2 Temporary workaround for angle snapping
Made the angle snap only apply to an object when the drag is finished, which is much more usable until the rotation system can be fixed completely
2022-04-11 08:12:38 -05:00
psi29a
03806eb75e Merge branch 'esm_rm_redundant_include' into 'master'
Remove redundant include from esm3/esmreader.hpp

See merge request OpenMW/openmw!1761
2022-04-11 07:47:48 +00:00
elsid
5eb8c4aebe
Avoid redundant conversion to const char* and use make_shared 2022-04-10 22:33:08 +02:00
Petr Mikheev
fa29b9d6f7 Fix #6627 2022-04-10 22:31:09 +02:00
elsid
db44f91fd5
Remove redundant include from esm3/esmreader.hpp 2022-04-10 22:16:32 +02:00
elsid
6b464a9330
Check ESMReader value size in compile time 2022-04-10 19:16:11 +02:00
Benjamin Winger
21ffbcc4b4 Lua i18n updates 2022-04-10 07:57:02 +00:00
ζeh Matt
058da82823
Reduce calls in CharacterController::updateState 2022-04-09 01:52:52 +03:00
ζeh Matt
dd222b9ef1
Reduce calls in CharacterController::updateIdleStormState 2022-04-09 01:21:34 +03:00
ζeh Matt
e85a979f10
Reduce calls in CharacterController::handleTextKey 2022-04-09 01:20:53 +03:00
ζeh Matt
25b26f6fa7
Reduce calls in CharacterController::refreshHitRecoilAnims 2022-04-09 01:06:15 +03:00
psi29a
9275b3c08f Merge branch 'make_shared' into 'master'
Use std::make_shared instead of new

See merge request OpenMW/openmw!1753
2022-04-08 21:35:55 +00:00
elsid
4509b05bc8
Use std::make_shared instead of new
make_shared allocates single storage for ref counter and the object.
std::shared_ptr<T>(new T) allocates 2 storages.
2022-04-08 22:50:09 +02:00
elsid
df092b558b
Replace shared_ptr by unique_ptr 2022-04-08 22:42:22 +02:00
elsid
bbfdb347bd
Skip load cell ref when there is no need
Primarily to avoid temporary allocations by ESMReader::getHString.
2022-04-08 19:16:38 +02:00
elsid
ec3674b40a
Use unique_ptr instead of shared_ptr
for MWWorld::Action, ProjectileManager and ESSImport::Converter.

shared_ptr has additional cost of reference counter and requires additional
allocation when constructed as shared_ptr<T>(new T).
2022-04-08 16:12:36 +02:00
psi29a
320e86156e Merge branch 'registered_class' into 'master'
Use static object to register classes

See merge request OpenMW/openmw!1746
2022-04-08 08:36:24 +00:00
elsid
5156ee94be
Store static id key in lower case 2022-04-08 01:22:48 +02:00
elsid
7038c82690
Configure mav navmeshdb file size from the launcher 2022-04-07 16:38:01 +02:00
elsid
1baee5ddba
Add check box to remove unused tiles 2022-04-07 15:55:12 +02:00
psi29a
1ac7eaa6b0 Merge branch 'NiFltAnimationNode' into 'master'
Add NiFltAnimationNode support

Closes #6684

See merge request OpenMW/openmw!1732
2022-04-06 23:59:04 +00:00
psi29a
fc5605fc7f Merge branch 'navmeshtool_binary_log' into 'master'
Send status of navmeshtool to launcher using type binary messages

See merge request OpenMW/openmw!1630
2022-04-06 23:40:45 +00:00
Bret Curtis
c376f3793e check that the index is now -1; otherwise bad things happen 2022-04-07 00:09:11 +02:00
Bret Curtis
0db5415976 refactor to use mInternal, support Flag_Reverse and updated changelog/authors.md 2022-04-07 00:09:11 +02:00
Wolfgang Lieff
ead73fce31 initial NiFltAnimationNode support 2022-04-07 00:09:11 +02:00
psi29a
8b2c5e4801 Merge branch 'replace_boost_variant' into 'master'
Replace boost::variant by std::variant

See merge request OpenMW/openmw!1747
2022-04-06 22:07:44 +00:00
elsid
a46714df67
Replace boost::variant by std::variant 2022-04-06 23:01:58 +02:00
Petr Mikheev
3af8ea5dfc Update Lua bindings for the camera 2022-04-06 21:55:05 +02:00
Petr Mikheev
7186ea8ab4 [Lua] New overload Actor.equipment(actor, slot). 2022-04-06 21:55:05 +02:00
Petr Mikheev
5ed22c4c7a Minor fix in actors.cpp 2022-04-06 21:55:05 +02:00
elsid
dc20e799e1
Use static object to register classes 2022-04-06 16:49:25 +02:00
Matt
49e21e121a Revert "Merge branch 'refactor/6677-2' into 'master'"
This reverts merge request !1733
2022-04-04 17:09:52 +00:00
psi29a
ca77ae336f Merge branch 'refactor/6677-2' into 'master'
Introduce IndexedVector

See merge request OpenMW/openmw!1733
2022-04-04 13:56:20 +00:00
Matt
21e4c10fa9 Introduce IndexedVector 2022-04-04 13:56:19 +00:00
psi29a
e510612e46 Merge branch 'issue-6558-move_away_from_md5_in_cmake' into 'master'
Issue 6558 Move away from md5 in cmake

See merge request OpenMW/openmw!1740
2022-04-04 13:47:21 +00:00
Eris Caffee
14b5bef64f Issue 6558 Move away from md5 in cmake
Updated CMakeLists.txt files to use sha512 instead of md5 to verify downloads
2022-04-03 22:46:39 -05:00
elsid
6e0d660dd5 Check whether model is empty before trying to insert object 2022-04-03 17:38:33 +00:00
Vidi_Aquam
abf0c8048e Change reading of settings and add missing logic to mouse wheel drag 2022-04-03 09:04:12 -05:00
Vidi_Aquam
6d7c8f25fc Implement grid snapping and angle snapping in OpenMW-CS
Adds configurable snap settings for instance movement, rotation and scaling, used with the secondary edit button
2022-04-02 19:25:57 -05:00
elsid
3878a12ed3
Delay cell grid change until scene update
This allows proper profiling. Changing cell grid is not a part of physics
system, it's a part of world system.
2022-04-01 21:46:20 +02:00
elsid
2d5ccc804b
Exchange binary messages between navmeshtool and launcher 2022-03-30 19:24:54 +02:00
elsid
a21c17ab26
Use crash catcher in launcher 2022-03-30 19:23:10 +02:00
Petr Mikheev
fbc84465c5 Merge branch 'futureproof_layers' into 'master'
Add layer size, make layers API more flexible

See merge request OpenMW/openmw!1724
2022-03-29 20:11:11 +00:00
ζeh Matt
c3d02492df
Cleanup stopMovement 2022-03-29 19:49:02 +03:00
ζeh Matt
33706923a3
Restructure function updateCrimePursuit 2022-03-28 17:25:22 +03:00
ζeh Matt
9821982944
Restructure function updateEquippedLight 2022-03-28 16:48:16 +03:00
ζeh Matt
127366a948
Restructure function updateDrowning 2022-03-28 16:38:39 +03:00
ζeh Matt
0b306bc1ea
Restructure function engageCombat 2022-03-28 16:32:56 +03:00
ζeh Matt
8631b96680
Restructure function updateGreetingState 2022-03-28 16:25:33 +03:00
ζeh Matt
5e44dd41eb
Restructure function updateMovementSpeed 2022-03-28 16:20:24 +03:00
ζeh Matt
23615e653a
Mark getActivePackage const 2022-03-28 16:17:42 +03:00
ζeh Matt
cba51e5e1c
Restructure function updateHeadTracking 2022-03-28 16:13:40 +03:00
ζeh Matt
f5b527e445
Restructure function isCommanded 2022-03-28 16:07:20 +03:00
psi29a
1c70b9790c Merge branch 'covid_wont_stop_me' into 'master'
Don't reset last hit object if the ID doesn't match

Closes #6682

See merge request OpenMW/openmw!1727
2022-03-28 11:40:46 +00:00
Evil Eye
c1d700f770 Don't reset last hit object if the ID doesn't match 2022-03-28 11:40:46 +00:00
Evil Eye
7695f03c4c Remove unused variable 2022-03-27 17:20:22 +02:00
psi29a
2b83df09b6 Merge branch 'refactor/spell-vector' into 'master'
Refactor mUsedPowers to use vector

See merge request OpenMW/openmw!1725
2022-03-27 09:56:22 +00:00
psi29a
1f14f97d17 Merge branch 'navmeshdb_max_file_size' into 'master'
Limit max navmeshdb file size (#6649)

Closes #6649

See merge request OpenMW/openmw!1716
2022-03-27 09:07:56 +00:00
Nelsson Huotari
6869fa18e4 Fix unsafe memory access at object.cpp 2022-03-26 15:16:22 +00:00
Evil Eye
93d195646c Lua stats 2022-03-25 20:03:13 +00:00
ζeh Matt
edca5ac0b8
Rename hasDisease to hasSpellType and refactor function 2022-03-25 20:47:43 +02:00
ζeh Matt
dcdba227f7
Use vector for mUsedPowers for deterministic order 2022-03-25 20:42:01 +02:00
uramer
5d1fe6c2bc Add layer size, make layers API more flexible 2022-03-23 15:04:49 +01:00
psi29a
6d55317d57 Merge branch 'refactor/prng-2' into 'master'
Save random state and refactor usage of generators

See merge request OpenMW/openmw!1715
2022-03-23 09:50:54 +00:00
ζeh Matt
769be88d43
Adjust DetourNavigatorNavigatorTest to the new prng values 2022-03-21 17:49:42 +02:00
ζeh Matt
8103ff2e6f
Make the CI happy 2022-03-21 17:49:42 +02:00
ζeh Matt
f8f3bb2421
Use std::minstd_rand and split serialization from save/load 2022-03-21 17:49:42 +02:00
ζeh Matt
0611a8c3a7
Start new game with specified seed in options 2022-03-21 17:49:42 +02:00
ζeh Matt
151770ccf1
Separate global vs world rng functions and use custom prng 2022-03-21 17:49:42 +02:00
ζeh Matt
08fae7be6e
Pass the prng from world where appropriate 2022-03-21 17:49:42 +02:00
ζeh Matt
b502dc12f0
Add prng to World instance and serialize state in Save 2022-03-21 17:49:42 +02:00
jvoisin
eb46bde75e Merge branch 'lua_records' into 'master'
Lua bindings for ESM::Door and ESM::Weapon records

See merge request OpenMW/openmw!1717
2022-03-20 15:39:48 +00:00
Petr Mikheev
1b1e81b90e Lua bindings for ESM::Door and ESM::Weapon records 2022-03-20 15:39:48 +00:00
Petr Mikheev
d185cb6dce Add Lua function ui.screenSize() 2022-03-20 00:16:41 +01:00
Evil Eye
d7d1a85143 Restore dialogue autocompletion in the console 2022-03-19 12:02:26 +01:00
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.
2022-03-18 19:08:46 +01:00
Petr Mikheev
fa115418eb [Lua] Remove queries 2022-03-15 23:35:36 +01:00
Petr Mikheev
0f84bfde51 [Lua] Replace cell.selectObjects with cell.getAll 2022-03-15 23:35:36 +01:00
Petr Mikheev
43bed7f0d2 [Lua] Split obj.inventory into Actor.inventory(obj) and Container.content(obj) 2022-03-15 23:35:36 +01:00
Petr Mikheev
d251c4e2a1 [Lua] Change behavior of obj.type 2022-03-15 23:35:36 +01:00
Petr Mikheev
af93ebf433 [Lua] Move class-specific functions to openmw.types 2022-03-15 19:23:26 +01:00
AnyOldName3
696be1cc39 Merge branch 'fix_6589' into 'master'
Add default value for `user-data` in openmw.cfg

Closes #6589

See merge request OpenMW/openmw!1632
2022-03-13 18:51:34 +00:00
duncanspumpkin
3a117cac22 Switch to a constexpr for FourCC constant
Add static asssert on wrong size
2022-03-08 14:48:37 +00:00
jvoisin
8a182c130a Merge branch 'refactor/prng' into 'master'
Refactor and rename some things around Misc::Rng

See merge request OpenMW/openmw!1710
2022-03-07 10:19:41 +00:00
Matt
54e114d83e Avoid string copies for ESM::Variant::getString 2022-03-06 17:38:58 +00:00
ζeh Matt
d83a381f79
Refactor and rename some things around Misc::Rng 2022-03-06 17:28:28 +02:00
Petr Mikheev
696c2135ef Merge branch 'FixSettingsLoaderForEditor' into 'master'
Make settings loader differentiate between engine and editor (fixes #6658).

Closes #6658

See merge request OpenMW/openmw!1706
2022-03-04 09:44:52 +00:00
Martin Otto
96e48e5492 Make settings loader differentiate between engine and editor (fixes #6658). 2022-03-04 09:44:52 +00:00
Petr Mikheev
df41b4080d Merge branch 'refactor/headtracking' into 'master'
Small improvement for headtracking

See merge request OpenMW/openmw!1683
2022-03-03 20:39:53 +00:00
Matt
0b528d3bfb Small improvement for headtracking 2022-03-03 20:39:53 +00:00
ζeh Matt
129d68e299
Fix #6660: Crash during intro video when closing the game 2022-03-03 20:25:35 +02:00
psi29a
3afa46b25e Merge branch 'CPP20_support' into 'master'
Support C++20

See merge request OpenMW/openmw!1705
2022-03-01 11:11:37 +00:00
Bret Curtis
32fd6f297a static_cast bitwise operation between different enumeration types 2022-03-01 10:53:01 +01:00
Bret Curtis
1927b1c6d9 use static cast to handle: deprecated between enumerations of different types 2022-03-01 10:53:01 +01:00
Bret Curtis
ad11cc8d8a reinstall fontconfig as needed; const an imbigious == operator 2022-03-01 10:53:01 +01:00
Bret Curtis
4b742dd461 explicit capture for lamda 2022-03-01 09:43:08 +01:00
psi29a
3558196098 Merge branch 'Newer-Bsa-formats-no-longer-load' into 'master'
#6651 Newer bsa formats no longer load

Closes #6651

See merge request OpenMW/openmw!1703
2022-03-01 07:22:04 +00:00
Evil Eye
25feea9b16 Prevent write to empty vector element 2022-02-28 16:42:22 +01:00
psi29a
ceae2d664d Merge branch 'refactor/stdlist' into 'master'
Use std::vector instead of std::list for some functions

See merge request OpenMW/openmw!1699
2022-02-28 07:40:21 +00:00
Cédric Mocquillon
ff7ad93bac Avoid missusing of CompressedBSAFile with private inheritance 2022-02-27 20:40:35 +01:00
uramer
6845d681f2 Update hardcoded layers (hotfix for https://gitlab.com/OpenMW/openmw/-/merge_requests/1681) 2022-02-27 11:59:55 +00:00
psi29a
2d4e9b38ae Merge branch 'lua_ui_image' into 'master'
Document the Lua Image widget, add UI texture resources

See merge request OpenMW/openmw!1637
2022-02-26 17:48:50 +00:00
uramer
67879bac55 MR feedack 2022-02-26 17:01:46 +01:00
Petr Mikheev
6afafbbe30 Merge branch 'refactor_layers' into 'master'
Refactor UI layers

See merge request OpenMW/openmw!1681
2022-02-26 13:54:42 +00:00
uramer
21a363d96f Refactor UI layers 2022-02-26 13:54:42 +00:00
uramer
fc50724f5c Render text and images correctly in templates with slots 2022-02-25 18:18:26 +01:00
uramer
e092ee2624 Document the Lua Image widget, add UI texture resources 2022-02-25 18:18:26 +01:00
jvoisin
7f3058d501 Use toStringView in esmtool instead of toString 2022-02-25 17:40:27 +01:00
ζeh Matt
eca405e5c7
Use std::vector instead of std::list 2022-02-25 04:02:21 +02:00
elsid
42d6032c8b
Support compilation with c++20 2022-02-24 00:49:40 +01:00
psi29a
7e4e78b1a7 Merge branch 'engarde' into 'master'
Always reduce weapon condition by the raw damage (bug #6559)

Closes #6559

See merge request OpenMW/openmw!1694
2022-02-23 21:49:57 +00:00
Alexei Dobrohotov
fdd9e6a793 Always reduce weapon condition by the raw damage (bug #6559) 2022-02-23 16:37:56 +03:00
psi29a
34be9329eb Merge branch 'ascivilaspossible' into 'master'
Increase the base actor angular velocity to 900°/sec (#5192)

Closes #5192

See merge request OpenMW/openmw!1690
2022-02-23 10:09:17 +00:00
psi29a
dd281e1e93 Merge branch 'fix_collision_boxes' into 'master'
Fix #6616: Fix incorrect collision box calculations

Closes #6616

See merge request OpenMW/openmw!1687
2022-02-23 08:26:50 +00:00
Alexei Kotov
38a0659b7f Merge branch 'weak_ptr' into 'master'
Store std::weak_ptr into mUpdateAabb.

See merge request OpenMW/openmw!1578
2022-02-23 06:10:29 +00:00
Alexei Kotov
4a3d7a1ff7 Merge branch 'esm3_ai_package' into 'master'
Use unique_ptr to manage AiPackage lifetime

See merge request OpenMW/openmw!1691
2022-02-23 05:55:49 +00:00
Alexei Kotov
087084abdc Merge branch 'projectilefix' into 'master'
Fix for projectile movement simulation (#6526 and probably #6434)

See merge request OpenMW/openmw!1518
2022-02-23 05:34:35 +00:00
elsid
595c2e0a8e
Use unique_ptr to manage AiPackage lifetime 2022-02-23 00:39:30 +01:00
Alexei Dobrohotov
1a15ad216d Increase the base angular velocity to 900°/sec (#5192) 2022-02-23 02:13:31 +03:00
Abdu Sharif
de3092f014 Revert "Merge branch 'offset_the_deads' into 'master'"
This reverts commit 7dd02076f5
2022-02-22 04:04:08 +00:00
Petr Mikheev
ff7ac7192b Merge branch 'ui_pairs' into 'master'
Implement pairs and ipairs for ui.content and ui.layers. Document all iterable types in a uniform way.

See merge request OpenMW/openmw!1643
2022-02-21 20:43:29 +00:00
uramer
a1abc84f59 Implement pairs and ipairs for ui.content and ui.layers. Document all iterable types in a uniform way. 2022-02-21 20:43:27 +00:00
uramer
cc6dce5443 Support controller touchpads (Resolves https://gitlab.com/OpenMW/openmw/-/issues/6639) 2022-02-21 19:49:00 +00:00
jvoisin
a55f1ad103 Merge branch 'bullet_object_tool' into 'master'
Add a tool to load and print information about all bullet objects in all cells

See merge request OpenMW/openmw!1627
2022-02-20 14:09:26 +00:00
elsid
6fd251e8f7
Avoid starting async png writing when overlay image is null 2022-02-19 21:41:40 +01:00
psi29a
b03f9e430c Merge branch 'navmesh_disk_rm_unused_tiles' into 'master'
Add navmeshtool flag to remove unused tiles from navmesh disk cache

See merge request OpenMW/openmw!1671
2022-02-19 13:56:44 +00:00
psi29a
85c0d93274 Merge branch 'fix-6633' into 'master'
Fix #6633: AiSequence packages being removed incorrectly

Closes #6633

See merge request OpenMW/openmw!1678
2022-02-19 13:55:42 +00:00
ζeh Matt
b997e28e57
Fix #6633: AiSequence packages being removed incorrectly 2022-02-19 14:56:51 +02:00
psi29a
1c1581bdab Merge branch 'check_esm4_compilation' into 'master'
Check ESM4 compilation

See merge request OpenMW/openmw!1677
2022-02-19 12:18:43 +00:00
elsid
57c1f2e231
Make sure everything compiles in ESM4 2022-02-19 02:52:49 +01:00
elsid
a7e76c6f3d
Remove redundant include 2022-02-18 22:31:40 +01:00
elsid
ab1a6e034e
Add navmeshtool flag to remove unused tiles from navmesh disk cache
* Remove tiles outside processing range. Useful when new content profile map
  has different bounds.
* Remove ignored tiles. For a case when content profile maps have intersection
  but there is no more data for navmesh.
* Remove older tiles at the same worldspace position. If navmesh tile data has
  changed with new content, the old ones unlikely to be used.
* Vacuum the database when there are modifications. SQLite leaves empty pages
  in the file on database modification. Vacuum cleans up unused pages reducing
  the file size.
2022-02-18 21:57:23 +01:00
elsid
67741402b5
Replace reference to const std::string by std::string_view for navmeshdb related arguments 2022-02-18 21:45:50 +01:00
elsid
9584cb7ac2
Use fixed size types for serialization 2022-02-18 21:01:53 +01:00
elsid
de7f9f6439
Replace raw for loop by algorithm
To fix compilation error with -D_GLIBCXX_DEBUG:
/home/elsid/dev/openmw/apps/openmw/mwdialogue/dialoguemanagerimp.cpp: In member function ‘virtual void MWDialogue::DialogueManager::write(ESM::ESMWriter&, Loading::Listener&) const’:
/home/elsid/dev/openmw/apps/openmw/mwdialogue/dialoguemanagerimp.cpp:679:78: error: no matching function for call to ‘__gnu_debug::_Safe_iterator<std::_Rb_tree_const_iterator<std::__cxx11::basic_string<char> >, std::__debug::set<std::__cxx11::basic_string<char> >, std::bidirectional_iterator_tag>::_Safe_iterator(std::__debug::set<std::__cxx11::basic_string<char>, Misc::StringUtils::CiComp>::const_iterator)’
  679 |         for (std::set<std::string>::const_iterator iter (mKnownTopics.begin());
      |                                                                              ^
2022-02-17 01:04:44 +01:00
psi29a
4a2302ff2b Merge branch 'hand_to_nixhound' into 'master'
Disallow non-bipedal hand-to-hand refreshes

See merge request OpenMW/openmw!1667
2022-02-16 22:30:39 +00:00
Alexei Kotov
4fdf55601c Merge branch 'bigboi' into 'master'
Force a scale update when changing view modes

Closes #6623

See merge request OpenMW/openmw!1662
2022-02-16 22:29:13 +00:00
psi29a
8da1cc3dd2 Merge branch 'fix-6618' into 'master'
Fix #6618

Closes #6618

See merge request OpenMW/openmw!1666
2022-02-16 21:24:21 +00:00
psi29a
cc8d05bd9a Merge branch 'async_save_map' into 'master'
Write png image of the global map for save asynchronously

See merge request OpenMW/openmw!1656
2022-02-16 21:11:07 +00:00
Evil Eye
7bd4971e0c Disallow non-bipedal hand-to-hand refreshes 2022-02-16 21:58:22 +01:00
psi29a
b73eaadf20 Merge branch 'use_utf8_string_view' into 'master'
Avoid extra copy for Utf8Encoder::getUtf8 result

See merge request OpenMW/openmw!1661
2022-02-16 20:58:12 +00:00
ζeh Matt
0ce29a6131
Simplify logic in AiSequence::execute 2022-02-16 20:21:10 +02:00
ζeh Matt
e60e0b55eb
Fix potential another crash 2022-02-16 18:19:55 +02:00
ζeh Matt
83be3826ff
Fix #6618: Crash due to iterator invalidation 2022-02-16 18:19:10 +02:00
psi29a
d680870e8f Merge branch 'fix_aabb' into 'master'
Fix btAABB initialization (#6489)

Closes #6489

See merge request OpenMW/openmw!1664
2022-02-16 08:01:23 +00:00
elsid
2e38f0b641
Fix btAABB initialization 2022-02-16 02:58:59 +01:00