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

6200 commits

Author SHA1 Message Date
ShadIK02
9649bfc4cb When building Win32 (VS 2019), there are problems in line 45.
This change solves the problem.

Special thanks to AnyOldName3 for the hint :)
2022-05-13 21:59:47 +00:00
uramer
e92c88a133 Make the documentation clearer, match the documentation when no buttons are pressed for an event 2022-05-10 20:00:42 +02:00
elsid
a75c7c49f0
Disable writes to navmeshdb on database is locked error
Simultaneously writing to sqlite3 database is not possible. Process exclusively
locks the database for this. Another process will fail to perform any request
when database is locked. Alternatively it can wait. Handling this situation
properly requires complexity that is not really needed. Users are not expected
to run multiple openmw processes simultaneously using the same navmeshdb.

Before this change running multiple openmw processes using the same navmeshdb
can lead to a crash when first transaction fails to start because there is
exception thrown and not catched.

Remove use of explicit transactions from DbWorker. Handling all possible
transaction states due to different errors brings unnecessary complexity.
Initially they were introduced to increase time between flushes to disk. This
makes sense for navmeshtool because of massive number of writes but for the
engine this is not an issue.
2022-05-09 22:54:46 +02:00
cody glassman
ad139f2f9a rename to windowed fullscreen 2022-05-08 22:56:39 -07:00
cody glassman
05901a2480 add borderless windows, deprecate fullscreen mode 2022-05-08 22:56:39 -07:00
uramer
1f5e3b78d4 Use Flex, don't force re-renders on layout table changes 2022-05-08 11:15:17 +02:00
uramer
aea2c019de Fix content names for layouts inserted with :add() 2022-05-08 11:15:16 +02: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
c0ffb289ab Merge branch 'ptmikheev-master-patch-72894' into 'master'
Fix #6731

Closes #6731

See merge request OpenMW/openmw!1832
2022-05-08 08:33:43 +00: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
Petr Mikheev
86d6ab593e Fix #6731 2022-05-06 19:57:41 +00: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
Evil Eye
a64979e25d Replace empty std::string assignments 2022-05-04 22:33:39 +02:00
uramer
03659bef86 MWUI interface (resolve https://gitlab.com/OpenMW/openmw/-/issues/6594) 2022-05-03 17:36:49 +00:00
jvoisin
143dcad0e8 Use an if instead of an assert 2022-05-02 21:17:24 +00:00
elsid
b67a0a8f2b
Fix uninitialized coverity warnings 2022-05-01 18:36:16 +02:00
elsid
92538dde89
End SNAM record as SNAM record 2022-05-01 15:45:22 +02:00
psi29a
275bebb066 Merge branch 'Stereo-MR' into 'master'
Stereo

See merge request OpenMW/openmw!1757
2022-04-30 16:40:09 +00:00
Evil Eye
9a96d64611 Use subrecord size instead of version to load WEAT 2022-04-30 10:11:49 +02:00
madsbuvi
31a97141b7 Mac 2022-04-29 21:59:26 +02:00
madsbuvi
79577f37de Rebase artifacts + cleaned up the remaining unnecessary exposures of stereo awareness. 2022-04-29 17:35:24 +02: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
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
4b28d51d5e
Remove virtual modifiers from ESM4 record functions
There is no need to have virtual functions.
2022-04-25 17:35:25 +02:00
elsid
2c9b6fffe5
Remove preloading logic from ESM4::Cell
This logic does not belong here. If client of ESM4::Cell needs to cache load
results it can be done separately.
2022-04-25 17:35:25 +02:00
elsid
13c970b37a
Add const modifier to encoder type 2022-04-25 17:35:25 +02:00
elsid
c7ba4100e1
Remove undefined and redundant ESM4 record type constructors 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
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
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
elsid
4a49bc4941
Remove undefined constructor declaration 2022-04-23 01:27:45 +02:00
elsid
d71a1efa92
Rename components/esm4/acti.hpp -> components/esm4/loadacti.hpp 2022-04-23 00:40:45 +02:00
elsid
d5fb2f8091
Use ESM::fourCC to define ESM4 record types 2022-04-23 00:32:52 +02:00
elsid
761a04ce00
Remove duplicated enum definition 2022-04-23 00:32:52 +02:00
elsid
3abcf3dd0d
Fix style guide 2022-04-23 00:32:52 +02:00
elsid
94c1d0cced
Use unique_ptr to store istream 2022-04-22 18:27:17 +02:00
elsid
c94d8be7bf
Add generic StreamWithBuffer owning the underlying buffer 2022-04-22 18:27:17 +02:00
elsid
9d6d0c6ffb
Move ConstrainedStreamBuf into separate file 2022-04-22 18:27:17 +02:00
elsid
e777e35414
Use system_clock for time in logs
high_resolution_clock may not give real time. MSVC implements it as
steady_clock that is basically CPU time which is usually desynchronized with
real time.
2022-04-21 23:03:40 +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
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
Evil Eye
22d02e86b0 Respect ignored flag in navmeshtool and groundcover 2022-04-17 09:23:09 +02:00
Evil Eye
61ea678a96 Implement ignored records 2022-04-16 16:28:39 +02:00
elsid
fbc853804d
Fix recover from errors in Files::getHash 2022-04-15 21:43:54 +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
psi29a
ea6b84ce1f Merge branch 'fix_esm_loader_prepare_records' into 'master'
Fix loading order in EsmLoader (#6671)

Closes #6671

See merge request OpenMW/openmw!1774
2022-04-14 18:26:40 +00:00
Petr Mikheev
45c9635e94 Fix getmetatable, fix pairsForReadonly, add util.loadCode, _G 2022-04-14 01:00:02 +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
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
elsid
39da3bfef8
Ignore player when checking whether AiTravel destination is occupied by other actor 2022-04-11 19:30:54 +02:00
Bret Curtis
7fe6c39aa2 const the key/value 2022-04-11 16:59:46 +02:00
Bret Curtis
db3f9da08a coverity fixes and other bits 2022-04-11 14:37:22 +02:00
psi29a
5820e5701a Merge branch 'refactor/shadowtechnique' into 'master'
Cleanup code in mwshadowtechnique.cpp

See merge request OpenMW/openmw!1756
2022-04-11 11:15:27 +00: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
psi29a
cf1764f255 Merge branch 'constrained_file_stream' into 'master'
Avoid redundant conversion to const char* and use make_shared

See merge request OpenMW/openmw!1763
2022-04-11 07:26:53 +00:00
elsid
6481324eb1
Read when need to skip few bytes 2022-04-11 01:55:05 +02:00
elsid
5eb8c4aebe
Avoid redundant conversion to const char* and use make_shared 2022-04-10 22:33:08 +02:00
elsid
db44f91fd5
Remove redundant include from esm3/esmreader.hpp 2022-04-10 22:16:32 +02:00
ζeh Matt
b39aea4346
Move extremeEdges into queue instead of copying 2022-04-10 20:56:52 +03:00
ζeh Matt
19df9c3d17
Use vector for edge queue 2022-04-10 20:38:59 +03:00
elsid
c3a924de23
Fix skip DATA in cell ref loading 2022-04-10 19:16:30 +02:00
ζeh Matt
0790af962e
Cleanup code in mwshadowtechnique.cpp 2022-04-10 20:16:15 +03: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
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
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
7038c82690
Configure mav navmeshdb file size from the launcher 2022-04-07 16:38:01 +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
psi29a
f5bc78cac3 Merge branch 'lua_ui_flex' into 'master'
Lua UI Flex widget

Closes #6646

See merge request OpenMW/openmw!1743
2022-04-06 23:29:23 +00:00
psi29a
8d3d01902a Merge branch 'optimizer' into 'master'
Optimizer-related fixes

See merge request OpenMW/openmw!1744
2022-04-06 23:00:17 +00:00
Wolfgang Lieff
373776170d refactor for NiFltAnimationNode 2022-04-07 00:49:08 +02:00
Bret Curtis
af41560c3f reverse the reverse flag check; set duration to 0.2f which matches openmw to morrowind speed which is measured in 1/5 seconds 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
uramer
02bbd226b8 Less primary/secondary coordinate boilerplate in Flex 2022-04-06 23:36:44 +02:00
Petr Mikheev
eca64b48e8 Bitwise operations in Lua 2022-04-06 21:55:05 +02:00
Alexei Dobrohotov
eafa66ff40 Don't consider NiCollisionSwitch unoptimizeable 2022-04-06 06:42:06 +03:00
Alexei Dobrohotov
81e9212db9 Slightly optimize MergeGroupsVisitor's xenophobia 2022-04-06 06:37:42 +03:00
uramer
3c74a20335 Refactor horizontal/vertical cases in Flex 2022-04-05 17:51:04 +02:00
Alexei Dobrohotov
c28f997c87 Make NiPlanarCollider finite-size 2022-04-05 01:33:36 +03:00
Alexei Dobrohotov
9d8f6064a1 Detail the unused parts of controlled.cpp defs 2022-04-05 01:33:36 +03:00
uramer
788745e004 Make coordinate calculation more robust, implement Flex widget type 2022-04-04 23:10:03 +02:00
elsid
2d5ccc804b
Exchange binary messages between navmeshtool and launcher 2022-03-30 19:24:54 +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
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
psi29a
1542a0392c Merge branch 'gloss' into 'master'
Gloss-mapping

Closes #6541

See merge request OpenMW/openmw!1552
2022-03-24 11:22:58 +00: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
psi29a
d2f2393de8 Merge branch 'opacity_color_bindings' into 'master'
Bindings for image color and widget alpha (#6654)

Closes #6654

See merge request OpenMW/openmw!1723
2022-03-23 08:32:15 +00:00
ζeh Matt
d7de17a1ac
Add a comment explaining the pick of the prng 2022-03-22 17:09:36 +02:00
Cody Glassman
b3e0275e89 Lua UI API: Let image manager handle missing textures 2022-03-22 05:41:26 +00:00
glassmancody.info
26c7e308ed mygui bindings for color and alpha 2022-03-21 22:00:32 -07:00
ζeh Matt
5df76f5051
Remove unnecessary debug output 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
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
uramer
8e81b6c645 Fix updating UI image resource 2022-03-19 21:26:02 +01:00
psi29a
40b1d81050 Merge branch 'order_please' into 'master'
Base dialogue order solely on mPrev

Closes #6670

See merge request OpenMW/openmw!1714
2022-03-19 12:24:42 +00: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
Evil Eye
484a7c7b7e Base dialogue order solely on mPrev 2022-03-16 18:09:21 +01:00
Petr Mikheev
fa115418eb [Lua] Remove queries 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
uramer
36c46ada6f Pass unhandled Lua UI events to the parent 2022-03-14 19:07:23 +00: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
Martin Otto
96e48e5492 Make settings loader differentiate between engine and editor (fixes #6658). 2022-03-04 09:44:52 +00: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
6601274992 constify weakcache overloaded operators 2022-03-01 10:53:01 +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
Cédric Mocquillon
ff7ad93bac Avoid missusing of CompressedBSAFile with private inheritance 2022-02-27 20:40:35 +01:00
uramer
67879bac55 MR feedack 2022-02-26 17:01:46 +01:00
Cédric Mocquillon
fe13fa850e Fix bug on memorystream 2022-02-26 14:38:33 +01:00
uramer
a7bb87d8a1 Use StringUtils::format 2022-02-25 18:18:27 +01:00
uramer
e7ed709e5e Fix Lua TextEdit skin 2022-02-25 18:18:26 +01: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
elsid
42d6032c8b
Support compilation with c++20 2022-02-24 00:49:40 +01:00
elsid
3c66a927d8
Fix coverity issue about uninitialized members of LevelledListBase
* Remove explicit constructor.
* Use static constexpr where possible.
* Use CRTP to get RecName.
2022-02-23 20:39:05 +01:00
elsid
595c2e0a8e
Use unique_ptr to manage AiPackage lifetime 2022-02-23 00:39:30 +01:00
elsid
f516e34688
Remove used-defined constructors from ESM4 types
To avoid explicit initialization. It should happen in the load functions anyway.

* Move all non-zero initializations to corresponding class definition.
* Replace std::vector by std::array when it has constant size.
2022-02-22 20:11:45 +01: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
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
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
psi29a
fd2b2e4871 Merge branch 'fix_esm4_quest_init' into 'master'
Remove user-defined constructor from ESM4::Quest

See merge request OpenMW/openmw!1676
2022-02-19 12:15:43 +00:00
psi29a
dbab48d7da Merge branch 'nif' into 'master'
NIF stuff

See merge request OpenMW/openmw!1674
2022-02-19 12:12:40 +00:00
psi29a
6f5c6171dd Merge branch 'navmeshdb_sqlite_open_nomutex' into 'master'
Use SQLITE_OPEN_NOMUTEX for navmeshdb

See merge request OpenMW/openmw!1673
2022-02-19 12:09:20 +00:00
elsid
57c1f2e231
Make sure everything compiles in ESM4 2022-02-19 02:52:49 +01:00
elsid
96463cbb02
Remove malformed and unused esm4/records.hpp file 2022-02-19 02:52:49 +01:00
elsid
cccfb14785
Remove user-defined constructor from ESM4::Quest
To avoid explicit initialization. It should happen in the load functions anyway.
2022-02-19 02:08:30 +01:00
Alexei Dobrohotov
54df5031b7 Add XYZ rotation axis order support 2022-02-19 02:22:08 +03:00
elsid
8b4362ece7
Disable navmesh disk cache when db is failed to open 2022-02-18 22:41:45 +01:00
elsid
5913036638
Use SQLITE_OPEN_NOMUTEX 2022-02-18 22:39:26 +01:00
Alexei Dobrohotov
76ba5025e3 Clarify root node transformation discard 2022-02-19 00:39:02 +03: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
52b3a87dae
Make constexpr variable defined in header inline 2022-02-18 21:01:53 +01:00
elsid
9584cb7ac2
Use fixed size types for serialization 2022-02-18 21:01:53 +01:00
Alexei Dobrohotov
dd473d06df Implement gloss-mapping (feature #6541) 2022-02-18 06:24:06 +03:00
psi29a
b011809056 Merge branch 'master' into 'sort_me_baby_one_more_time'
# Conflicts:
#   components/nif/niffile.cpp
2022-02-17 09:24:50 +00: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
psi29a
3af037d2ae Merge branch 'esm4' into 'master'
ESM4 Support

See merge request OpenMW/openmw!1610
2022-02-16 20:57:24 +00:00
elsid
b96c41df07
Initialize string_view with explicit size
Otherwise size is detected by null terminating character.
2022-02-16 17:11:25 +01:00
Bret Curtis
0f43455dc3 merge in master 2022-02-16 16:57:59 +01:00
elsid
139ae9325a Fix compile errors by using StatelessUtf8Encoder 2022-02-16 16:41:23 +01:00
elsid
4a06351c3b update to_utf8 and translation to make use of new stateless utf8 2022-02-16 10:48:49 +01:00
elsid
875d9dcead
Fix buffer resizing by StatelessUtf8Encoder 2022-02-15 23:02:32 +01:00
psi29a
8a0fb4d633 Merge branch 'stateless_utf8_encoder' into 'master'
Add StatelessUtf8Encoder to support caller provided buffer for output

See merge request OpenMW/openmw!1660
2022-02-15 08:35:31 +00:00
psi29a
776b286286 Merge branch 'esm_name' into 'master'
Use ESM::NAME instead of const char* and std::string as argument type

See merge request OpenMW/openmw!1659
2022-02-15 08:11:12 +00:00
elsid
3305b400dc
Use ESM::NAME instead of const char* and std::string as argument type 2022-02-14 23:40:40 +01:00
elsid
c044bef6a7
Add StatelessUtf8Encoder to support caller provided buffer for output 2022-02-14 23:19:49 +01:00
elsid
fbbf871067
Avoid extra copy for Utf8Encoder::getUtf8 result 2022-02-14 23:01:32 +01:00
elsid
b617d0aec4 Merge branch 'fix_empty_utf8' into 'master'
Fix out of bounds access for std::string_view

See merge request OpenMW/openmw!1658
2022-02-14 21:42:10 +00:00
elsid
071ab3f650
Fix out of bounds access for std::string_view 2022-02-14 19:56:50 +01:00
Evil Eye
649c2f8286 Fix stats not working right for saves started before version 17 2022-02-14 18:38:37 +01:00
psi29a
149ef56b60 Merge branch 'utf8_encoder_tests' into 'master'
Add tests for Utf8Encoder

See merge request OpenMW/openmw!1654
2022-02-14 06:39:39 +00:00
elsid
7884a01026
Add tests for Utf8Encoder 2022-02-13 17:19:08 +01:00
psi29a
a2a741c71f Merge branch 'lua_require' into 'master'
Allow `require` to return not a table in Lua

See merge request OpenMW/openmw!1650
2022-02-13 15:30:37 +00:00
psi29a
cd8967e265 Merge branch 'utf8_encoder_string_view' into 'master'
Use std::string_view for argument and return type of Utf8Encoder functions

See merge request OpenMW/openmw!1652
2022-02-12 18:07:26 +00:00
elsid
c75e938c46
Return string_view from Utf8Encoder functions
To avoid redundant std::string constructions.
2022-02-12 17:11:54 +01:00
elsid
c9c7fb7e49
Remove redundant functions from Utf8Encoder interface 2022-02-12 13:47:46 +01:00
Petr Mikheev
6876851766 Allow require to return not a table in Lua 2022-02-12 12:02:17 +01:00
elsid
2a87cf1720
Replace unordered_map by switch statement
Add handling for missing Nif::BSLightingShaderType::ShaderType_SkinTint. Use
string_view instead of string to avoid lifetime issues for returning value.
osg::Object::setUserValue will anyway copy string.
2022-02-11 22:12:39 +01:00
elsid
e1fe501013
Use proper type for Record::recType 2022-02-11 21:52:00 +01:00
elsid
283b68025c
Avoid possible race condition on NIFFile::sLoadUnsupportedFiles
Its value is written from the main thread but other threads read it.
2022-02-11 21:41:08 +01:00
elsid
fbd95516f4
Repalce raw for-loops by corresponding algorithms 2022-02-11 21:41:08 +01:00
elsid
082810f924
Store record type as a part of construct function type 2022-02-11 21:41:08 +01:00
elsid
d097c16206
Use unique_ptr to manage nif record lifetime 2022-02-11 20:40:38 +01:00
glassmancody.info
712107de2d nisortadjust support 2022-02-10 11:59:49 -08:00
uramer
ede9d27437 Element-wise multiplication and division of Lua vectors 2022-02-10 19:43:27 +00:00
Alexei Dobrohotov
85053941b3 Properly postprocess NiSortAdjustNode 2022-02-09 13:55:32 +03:00
psi29a
9183fa897e Merge branch 'particle_vertex_palooza' into 'master'
Support vertex emitters (#6592)

Closes #6592

See merge request OpenMW/openmw!1638
2022-02-09 08:35:09 +00:00
glassmancody.info
27d2daabc1 move depth define to header, missing on mac 2022-02-08 14:12:17 -08:00
glassmancody.info
a05e029aa0 search for stencil enabled flag correctly 2022-02-08 13:49:05 -08:00
glassmancody.info
88f02913d5 use vertex emitters on array particle controllers when appropriate 2022-02-07 19:46:42 -08:00
glassmancody.info
8c2c322d92 add stencil to water RTTs, reword some comments 2022-02-07 14:35:15 -08:00
glassmancody.info
bbc9c53423 support morrowind stenciling 2022-02-07 11:51:59 -08:00
Evil Eye
7a7a95407a Merge branch 'lua_pairs' into 'master'
Proper support of `pairs` and `ipairs` in Lua; fix bug in `makeReadOnly`.

See merge request OpenMW/openmw!1628
2022-02-06 22:10:21 +00:00
Petr Mikheev
a294adcdaf Proper support of pairs and ipairs in Lua; fix bug in makeReadOnly. 2022-02-06 22:10:20 +00:00
Petr Mikheev
5f74df75c6 Add default value for config. 2022-02-06 23:09:06 +01:00
uramer
581c3f4882 Update and document Lua Text and TextEdit widget types, fix some issues with Lua UI 2022-02-06 20:22:38 +00:00
Petr Mikheev
ac5cd6c80a Add default value for user-data in openmw.cfg 2022-02-06 21:07:14 +01:00
elsid
e7f3524924
Add a tool to load and print information about all bullet objects in all cells 2022-02-04 16:14:52 +01:00
psi29a
becffef142 Merge branch 'cull_navmesh_objects' into 'master'
Cull navmesh objects by scene bounds (#5858)

Closes #5858

See merge request OpenMW/openmw!1625
2022-02-04 14:07:13 +00:00
elsid
0b644a897e
Explicitly bind TileCachedRecastMeshManager with mutex 2022-02-03 22:24:26 +01:00
elsid
05b54cbfb8
Cull navmesh objects by scene bounds
If object is too big iteration over all tiles covering it can take too much
time. Limit bounds to a square around a player position to cover only tiles
that will be present in navmesh based on max tiles number option.

Each object is associated with a set of tiles its present in. Culling can
reduce this set but it has to be update when bounds change position. Do this
in TileCachedRecastMeshManager::setBounds updating the set and adding/removing
objects to the corresponding CachedRecastMeshManagers.
2022-02-03 22:09:37 +01:00
elsid
563f3f87dd
Reduce critical sections size 2022-02-03 21:44:37 +01:00
elsid
a5b078e9a7
Allow to represent empty range with TilesPositionsRange 2022-02-03 21:43:56 +01:00
elsid
1b2954f2db
Remove unused z coordinate 2022-02-03 21:43:53 +01:00
elsid
1a52a2a029
Clamp tile position 2022-02-03 02:44:04 +01:00
elsid
542717394a
Remove objects, water and heightfields when no longer required 2022-02-03 02:43:35 +01:00
Petr Mikheev
6084dbfc3a Add a warning if replace==config is used. 2022-02-03 00:07:30 +01:00
Petr Mikheev
5b23ba3faf Fix defaulted in ConfigurationManager::mergeComposingVariables 2022-02-02 23:47:11 +01:00
Petr Mikheev
9c1ff16b62 Add config variable user-data="?userdata?". Allows to override paths to saves and screenshots. 2022-02-02 23:47:11 +01:00
Petr Mikheev
5ff2fc55ac Make ConfigurationManager::getUserConfigPath to return the actual config path where the settings, logs, and Lua storage are stored. 2022-02-02 23:47:11 +01:00
Petr Mikheev
a453e5c198 Reuse the same code to load settings in apps/openmw, apps/launcher, apps/opencs 2022-02-02 23:47:11 +01:00
Petr Mikheev
1bcc4a8bcc Read settings.cfg from all active config dirs 2022-02-02 23:47:11 +01:00
Petr Mikheev
5ca56a4f8a New option "config" for specifying additional config directories. 2022-02-02 23:47:11 +01:00
Petr Mikheev
dd5ba5c57b Redirect log only after parsing configuration 2022-02-02 23:47:11 +01:00
psi29a
cf8d49bb9a Merge branch 'lua_settings_ui' into 'master'
Lua settings UI

Closes #6454

See merge request OpenMW/openmw!1595
2022-02-02 21:04:18 +00:00
Alexei Dobrohotov
142b6fdf2f Fix double precision bound issues in std::max/std::clamp 2022-02-02 16:57:59 +03:00
Alexei Dobrohotov
aaea2bc0f6 Implement transformBoundingSphere for both sphere types (bug #6579) 2022-02-02 16:51:35 +03:00
uramer
ef1e72dc17 Revert from settings description to searchHints 2022-02-01 19:50:03 +01:00
uramer
7f796d148e Clean up 2022-02-01 19:50:03 +01:00
uramer
67641dcdb7 Fix compile errors 2022-02-01 19:50:03 +01:00
uramer
f07f05ddd3 Add Container widget type, use it to make Adapter code less hacky 2022-02-01 19:50:03 +01:00
uramer
086a7d9bc5 Wrap Lua settings widgets into an Adapter widget 2022-02-01 19:50:03 +01:00
uramer
1455aa3e02 Allow changing script settings pages after registering them 2022-02-01 19:50:02 +01:00
uramer
5f7ab49880 Implement script setting pages' descriptions 2022-02-01 19:50:02 +01:00
uramer
a005f25c4b Use page terminology for script settings 2022-02-01 19:50:02 +01:00
uramer
e78b8402fa Fix warnings 2022-02-01 19:50:02 +01:00
uramer
a972a54ea9 Allow changing element root widget type, prevent use after free in script settings 2022-02-01 19:50:02 +01:00
uramer
fba82eb1a7 Script settings tab 2022-02-01 19:50:02 +01:00
Bret Curtis
8113620dce handle a few wearnings raised as errors 2022-01-31 08:58:45 +01:00
cc9cii
ba3ae448d4 Initial import of esm4 by cc9cii 2022-01-31 08:58:45 +01:00
elsid
7ea5aa250b
Revert "Cull navmesh objects by scene bounds"
This reverts commit b0ef20c303.
2022-01-30 21:43:23 +01:00
jvoisin
d291b17c68 Merge branch 'refactor/script-cleanup' into 'master'
Use pop_back to shrink the stack

See merge request OpenMW/openmw!1597
2022-01-30 18:50:01 +00:00
jvoisin
4cd6d2dacf Merge branch 'rework_fixed_string' into 'master'
Rework fixed string

See merge request OpenMW/openmw!1596
2022-01-30 18:47:06 +00:00
psi29a
e18393d7d6 Merge branch 'prevent_wrong_use_of_write' into 'master'
Disallow to call ESMWriter::writeT with pointer type

See merge request OpenMW/openmw!1609
2022-01-30 16:34:45 +00:00
psi29a
ff11377bc0 Merge branch 'sanitizers' into 'master'
Add gitlab jobs to run tests and benchmarks with ASAN, TSAN and UBSAN

See merge request OpenMW/openmw!1608
2022-01-30 13:59:54 +00:00
elsid
b17c9a22ff
Disallow to call ESMWriter::writeT with pointer type
This will make ESMWriter to use a pointer to this pointer to access the data
that is unlikely an intent. For example:
68ef96410c.
2022-01-30 14:13:02 +01:00
Petr Mikheev
4554a075e7 Merge branch 'fix_save_corruption' into 'master'
Fix save corruption introduced by https://gitlab.com/OpenMW/openmw/-/merge_requests/1600

See merge request OpenMW/openmw!1607
2022-01-30 11:59:30 +00:00
uramer
de2383ec98 Fix save corruption introduced by https://gitlab.com/OpenMW/openmw/-/merge_requests/1600 2022-01-30 11:59:30 +00:00
elsid
bebeff8881
Fix build with libc++
/home/elsid/dev/openmw/components/esm3/objectstate.cpp:33:30: error: implicit instantiation of undefined template 'std::array<float, 6>'
        std::array<float, 6> pos;
                             ^
/usr/bin/../include/c++/v1/__tuple:219:64: note: template is declared here
template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array;
                                                               ^
/home/elsid/dev/openmw/components/esm3/objectstate.cpp:78:30: error: implicit instantiation of undefined template 'std::array<float, 6>'
        std::array<float, 6> pos;
                             ^
/usr/bin/../include/c++/v1/__tuple:219:64: note: template is declared here
template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array;
                                                               ^
2022-01-30 02:19:29 +01:00
elsid
b0f192d878
Fix warning: maybe-uninitialized
../../components/misc/color.cpp: In static member function 'static Misc::Color Misc::Color::fromHex(std::string_view)':
../../components/misc/color.cpp:36:24: error: 'v' may be used uninitialized in this function [-Werror=maybe-uninitialized]
   36 |             rgb[i] = v / 255.0f;
      |                      ~~^~~~~~~~
2022-01-30 00:44:22 +01:00
psi29a
7bab714825 Merge branch 'fix_circling_fargoth' into 'master'
Remove unnecessary loops from path (#6510)

Closes #6510

See merge request OpenMW/openmw!1584
2022-01-29 19:48:02 +00:00
psi29a
a0c0ea09b2 Merge branch 'youwe' into 'master'
Fix unavailable UV set handling in NIF models

See merge request OpenMW/openmw!1594
2022-01-29 19:42:17 +00:00
psi29a
cb4c96b155 Merge branch 'unpack_position' into 'master'
Make ESM::Position not packed (should fix #6566)

Closes #6566

See merge request OpenMW/openmw!1600
2022-01-29 12:46:10 +00:00
elsid
ecbcdd0e54
Add missing initialization 2022-01-29 06:31:14 +01:00
Petr Mikheev
68ef96410c Make ESM::Position not packed (should fix #6566) 2022-01-29 02:32:58 +01:00
elsid
45db56b382
Rework fixed string
* Avoid inheritance.
* Define equality operators out of the class definition.
* Replace toString with toStringView where it doesn't make sense to create a string.
2022-01-28 18:39:09 +01:00
ζeh Matt
1832ed6a48
Use pop_back to shrink the stack 2022-01-28 16:26:43 +02:00
Petr Mikheev
53f2dfd1c0 Merge branch 'lua_ui_templates' into 'master'
Lua UI templates

See merge request OpenMW/openmw!1475
2022-01-28 09:31:46 +00:00
uramer
960dd1f708 Lua UI templates 2022-01-28 09:31:45 +00:00
elsid
3877d227f4
Avoid unnecessary copies 2022-01-28 01:07:27 +01:00
Alexei Dobrohotov
4521d3987c Fix out of bounds UV set handling 2022-01-28 01:15:15 +03:00
psi29a
84e209308d Merge branch 'refactor/interpreter' into 'master'
Cleanup interpreter code a bit

Closes #6553

See merge request OpenMW/openmw!1556
2022-01-27 19:18:57 +00:00
Matt
34723c8ea8 Cleanup interpreter code a bit 2022-01-27 19:18:57 +00:00
psi29a
6f7a067e0c Merge branch 'esmrename' into 'master'
esm refactor work

See merge request OpenMW/openmw!1575
2022-01-27 17:52:42 +00:00
psi29a
21ef9d4058 Merge branch 'nif_multi_parents' into 'master'
Support multiple parents for NIF nodes (#6552)

Closes #6552

See merge request OpenMW/openmw!1577
2022-01-25 19:17:19 +00:00
elsid
9069e97dce
Filter out triangles with NaN coordinates
Sorting a vector with such values gives invalid result because comparison with
NaN is always false.
2022-01-25 17:08:52 +01:00
elsid
b0ef20c303
Cull navmesh objects by scene bounds
If object is too big iteration over all tiles covering it can take too much
time. Limit bounds to a square around a player position to cover only tiles
that will be present in navmesh based on max tiles number option.
2022-01-25 17:08:45 +01:00
elsid
bba7beb0c5
Split tiles position range creation and iteration over 2022-01-25 16:34:03 +01:00
elsid
12ce82980c
Revert "Limit and filter navmesh input (#5858)"
This reverts commit ecc654a369.
2022-01-25 16:33:53 +01:00
Evil Eye
903ef60f9d Merge branch 'navmesh_scene_bounds' into 'master'
Limit and filter navmesh input (#5858)

Closes #5858

See merge request OpenMW/openmw!1583
2022-01-25 14:06:53 +00:00
elsid
ecc654a369 Limit and filter navmesh input (#5858) 2022-01-25 14:06:53 +00:00
elsid
7ec7c57879
Remove unnecessary loops from path
This prevents actors going back when a new shortest path includes a point
behind them where they were right before. Such situation can happen when path
includes off mesh connection. Resulting cost of such path can be lower than
the real one because off mesh connections are straight lines and walking
surface usually is not a plane but a surface.

Skip to path point where distance from current position to the line between
previous and this point is less than point tolerance. Which means actor is
standing very close to the edge between those points. Additionally check by
navmesh raycasting to make sure there is actually a valid path.
2022-01-24 22:32:04 +01:00
Petr Mikheev
067d71f7eb Fix heap use after free in components/lua/storage.cpp 2022-01-23 22:37:04 +01:00
Bret Curtis
74e7cfc023 remove unused includes: part1
remove unused imports: part2

revert one tidy we will keep for c++20
2022-01-23 17:30:25 +01:00
Bret Curtis
cdbab2325f rename esmterrain to esm3terrain 2022-01-23 17:19:30 +01:00
Bret Curtis
a126e29a19 relative to absolute path 2022-01-23 17:04:48 +01:00
Bret Curtis
d1fb854521 move most of the files from esm to esm3, keep common code in esm; this is make space for a future with esm4
esm typo

esm typo
2022-01-23 17:04:48 +01:00
elsid
3f14011087
Support multiple parents for NIF nodes
Choose a parent base on which node is used to iterate over children nodes.
This leads to duplicate handing of child nodes. A node will be handled so many
times how many parents it has.

For example:
p1 p2
 \ /
  c

Will be handled as:
p1 p2
|  |
c  c

If c has children they will be handled X times c is handled.
2022-01-22 01:02:31 +01:00
psi29a
6eb36c6b76 Merge branch 'ripple_fix' into 'master'
Restore ripples with soft particles

See merge request OpenMW/openmw!1566
2022-01-19 11:32:38 +00:00
Cody Glassman
9cafc31c0d Restore ripples with soft particles 2022-01-19 11:32:38 +00:00
elsid
a2002bc983
Support frequency of ProgressReporter calls lower than interval 2022-01-19 01:10:58 +01:00
Petr Mikheev
9d0e427ec1 Merge branch 'dispose_lua_ui_correctly' into 'master'
Dispose Lua UI elements correctly

See merge request OpenMW/openmw!1561
2022-01-18 08:12:56 +00:00
uramer
cc528d2e08 Dispose Lua UI elements correctly 2022-01-18 08:12:56 +00:00
uramer
d1d8f058ac Lua bindings for Colours 2022-01-17 22:35:06 +00:00
uramer
c07fb75bf7 Merge branch 'lua_settings' into 'master'
Permanent storage for Lua

See merge request OpenMW/openmw!1489
2022-01-15 21:52:09 +00:00
Petr Mikheev
97d56e198f Use double precision for vectors serialization in Lua 2022-01-15 11:25:30 +01:00
ζeh Matt
ba30b37bb4
Add missing include to unordered_map 2022-01-13 22:46:00 +02:00
Petr Mikheev
a182fdeea1 Permanent storage for Lua data 2022-01-11 11:21:03 +01:00
Petr Mikheev
2d1b100239 Change terminology of gameSecond/gameHour to simulationTime/gameTime 2022-01-10 21:03:35 +01:00
Josquin Frei
d9672f7d46 Add serialization for TransformM and TransformQ 2022-01-10 12:42:03 +00:00
Alexei Dobrohotov
b5a7ad6d62 Fix multilayer parallax parameter reading 2022-01-08 01:58:52 +03:00
psi29a
d8d7a3b372 Merge branch 'softparticles_patch' into 'master'
Shadervisitor adjustments and Mac OS fix for soft particles

See merge request OpenMW/openmw!1380
2022-01-06 13:13:52 +00:00
psi29a
1d4de71d35 Merge branch 'fix2' into 'master'
Fixes in components/lua

Closes #6535

See merge request OpenMW/openmw!1538
2022-01-06 08:49:17 +00:00
psi29a
555e0b1f53 Merge branch 'brainfreeze' into 'master'
Attempt to catch freezes on Windows

See merge request OpenMW/openmw!1493
2022-01-06 08:47:23 +00:00
Petr Mikheev
6a19a66ae5 Fix #6535 2022-01-05 20:08:03 +01:00
Petr Mikheev
5eca122f04 Avoid creating multiple i18n contexts with the same name. 2022-01-05 19:50:52 +01:00
psi29a
bafde5c9c4 Merge branch 'cleanup' into 'master'
Remove constant conditions

See merge request OpenMW/openmw!1527
2022-01-05 10:48:13 +00:00
psi29a
8355153047 Merge branch 'const_looop' into 'master'
Fix "warning: loop variable is copied but only used as const reference;...

See merge request OpenMW/openmw!1530
2022-01-05 10:44:44 +00:00
jvoisin
1a6be08149 Fix "warning: loop variable is copied but only used as const reference;... 2022-01-05 10:44:44 +00:00
psi29a
24b9c91ef8 Merge branch 'fix_copy_init' into 'master'
Fix unnecessary-copy-initialization

See merge request OpenMW/openmw!1531
2022-01-05 09:05:57 +00:00
glassmancody.info
2c52695361 fix regression where LEQUAL was used instead of LESS for depth function 2022-01-04 12:23:37 -08:00
jvoisin
421e6629ad Fix unnecessary-copy-initialization
> warning: the variable 'key' is copy-constructed from a const reference but is
only used as const reference; consider making it a const reference
[performance-unnecessary-copy-initialization]

Found by clang-tidy.
2022-01-04 20:42:09 +01:00
Evil Eye
5a7a3a0d2d Silence a signed/unsigned mismatch warning 2022-01-04 17:11:55 +01:00
Evil Eye
bdfad27e05 Remove constant conditions 2022-01-04 16:50:04 +01:00
psi29a
0766e1310b Merge branch 'lunacy' into 'master'
Don't touch base stats when turning into a werewolf

Closes #6333

See merge request OpenMW/openmw!1511
2022-01-04 10:27:48 +00:00
Petr Mikheev
0f246e7365 Use a separate instance of Lua i18n for every context 2022-01-02 09:58:51 +01:00
AnyOldName3
14a330609f ShaderVisitor improvements
* Adds comments explaining the less-than-obvious aspects.
* Adds comments explaining what to do when adding new stuff.
* Some fixes caused by those comments not historically existing.
* Add a TODO comment to something which may catch fire in the future.
2021-12-29 13:45:42 -08:00
Evil Eye
6f870a464b Replace magic numbers with enums 2021-12-29 12:34:12 +00:00
Evil Eye
debdcf2953 Don't touch base stats when turning into a werewolf 2021-12-27 00:47:33 +01:00
Evil Eye
93e355801d Merge branch 'fix' into 'master'
Fix compilation error on windows: cannot convert from 'std::filesystem::path'...

See merge request OpenMW/openmw!1510
2021-12-26 18:04:21 +00:00
Petr Mikheev
7fe5351f55 Fix compilation error on windows: cannot convert from 'std::filesystem::path'... 2021-12-26 18:04:20 +00:00
Evil Eye
ea5bd822c2 Merge branch 'rehashrehashing' into 'master'
Rehash morph loading rehashing

See merge request OpenMW/openmw!1509
2021-12-26 17:09:44 +00:00
Evil Eye
ac747f02f3 Don't teleport NPCs to unknown cells 2021-12-26 15:27:25 +00:00
Alexei Dobrohotov
9b2978f143 Rehash morph loading rehashing 2021-12-26 17:56:19 +03:00
psi29a
4e3e2598a2 Merge branch 'fix_6502' into 'master'
Fix #6502

Closes #6502

See merge request OpenMW/openmw!1491
2021-12-26 12:40:38 +00:00
AnyOldName3
fa05b0b96c Include <atomic>
Should fix compilation on CI
2021-12-26 02:10:37 +00:00
AnyOldName3
0e29a760d8 Tidy up includes 2021-12-26 02:09:14 +00:00
psi29a
04346b43b0 Merge branch 'keychain' into 'master'
Rehash key group and morph loading (bug #6517)

Closes #6517

See merge request OpenMW/openmw!1500
2021-12-25 15:58:57 +00:00
Evil Eye
c1f59b1221 Automatically drop workaround when the format is next updated 2021-12-24 23:17:50 +01:00
Alexei Dobrohotov
26dfce1114 Rehash key group and morph loading (bug #6517) 2021-12-24 07:21:30 +03:00
Petr Mikheev
b06248a31f Fix #6502 2021-12-23 12:33:14 +01:00
AnyOldName3
f05cd901cf Show messagebox while OpenMW appears to be frozen
If it thaws, the messagebox disappears again.
The user can press the Abort button to kill OpenMW and generate a crash
dump.
2021-12-21 23:19:13 +00:00
AnyOldName3
d15c2922a9 Stop monitoring closed windows
If it gets repalced, the new one will be watched instead
2021-12-20 22:24:47 +00:00
AnyOldName3
97396da74c Get rid of break
It might look confusing with the breaks in the switch below
2021-12-20 22:23:44 +00:00
AnyOldName3
fe1523d16d Fix signed/unsigned mismatch 2021-12-20 22:13:11 +00:00
AnyOldName3
c746a8abb7 Attempt to catch freezes on Windows 2021-12-18 21:34:15 +00:00
psi29a
844266b58e Merge branch 'restrict_navmesh_cache_writes' into 'master'
Do not write shapes to navmeshdb when writing is disabled (#6498)

Closes #6498

See merge request OpenMW/openmw!1486
2021-12-17 07:28:53 +00:00
elsid
aaf6c82e33
Do not write shapes to navmeshdb when writing is disabled 2021-12-16 22:57:35 +01:00
uramer
3f52ede9cb Remove unnecessary myguicompat 2021-12-16 19:48:10 +01:00
uramer
2bc81e47a6 Remove all MyGUI version checks 2021-12-16 19:22:07 +01:00
AnyOldName3
d66907ba67 Log OpenGL Vendor, Renderer and Version on startup 2021-12-15 22:17:38 +00:00
psi29a
a57df67d09 Merge branch 'include' into 'master'
Add missing include

Closes #6357

See merge request OpenMW/openmw!1480
2021-12-15 13:11:48 +00:00
Petr Mikheev
7549496162 A few small fixes + expose makeReadOnly to Lua + an option to apply makeReadOnly during deserialize 2021-12-15 02:38:54 +01:00
Evil Eye
b834527813 Add missing include 2021-12-14 21:36:11 +01:00
uramer
c865114b9b Lua UI Layers 2021-12-14 17:38:06 +00:00
psi29a
2988ab55d5 Merge branch 'navmeshtool' into 'master'
Navmesh disk cache (#6189)

Closes #6189

See merge request OpenMW/openmw!1058
2021-12-11 16:32:08 +00:00
Alexei Dobrohotov
a64057fb36 Some NIF cleanup
Clean up keyframe controller construction
Make LOD and switch node generation static
Clarify decal map implementation
2021-12-11 16:16:16 +03:00
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.
2021-12-11 00:22:04 +01:00
elsid
9e0451c714
Support navmesh generation from launcher 2021-12-11 00:22:04 +01:00
elsid
c9b8ba7b46
Read navmesh tile data from database
When tile is not found in memory cache try to find it in the database.
2021-12-11 00:22:04 +01:00
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.
2021-12-11 00:21:56 +01:00
elsid
b5c689976e
Serialize arithmetic and enum types in little endian encoding 2021-12-10 23:55:04 +01:00
elsid
23ad1b2b9f
Move enum related serialization logic from format to visitors 2021-12-10 23:55:04 +01:00
elsid
5325495f46
Move serialization detournavigator/ -> components/ 2021-12-10 23:55:04 +01:00
elsid
01c712d5f1
Split navigator settings into subtypes
Mostly to distinguish settings that affect properties of the generated navmesh.
2021-12-10 23:55:03 +01:00
elsid
33bb18850d
Move operator<< to debug.hpp 2021-12-10 23:55:03 +01:00
elsid
5a6b39f8e0
Store mesh source data in recast mesh 2021-12-10 23:55:02 +01:00
psi29a
4883cbf590 Merge branch 'detain-hash-selectively-reluctant' into 'master'
Get rid of EscapeHashX classes option 5 (attempt 2): Use boost::filesystem::path rules if the path starts with ", and consume the whole thing verbatim otherwise

Closes #5804

See merge request OpenMW/openmw!1436
2021-12-10 08:38:06 +00:00
psi29a
3baf966219 Merge branch 'msvc-only-precompile' into 'master'
Only precompile headers with MSVC

See merge request OpenMW/openmw!1467
2021-12-09 18:10:47 +00:00
AnyOldName3
8fc09f8c51 Merge remote-tracking branch 'upstream/master' into detain-hash-selectively-reluctant
Merge conflicts included:
* One setting being removed (branch had changed its type).
* One setting's description being changed (branch had changed its type).
* List of files in components/files was changed both upstream and on the
  branch.
* Upstream had changed something in a file the branch deletes.
2021-12-09 17:09:52 +00:00
AnyOldName3
221e425fe6 Only precompile headers with MSVC 2021-12-09 14:59:17 +00:00
elsid
5129ab39fc
Check extension in lower case 2021-12-09 00:06:33 +01:00
psi29a
e04e139f37 Merge branch 'navmesh_raw' into 'master'
Add to navigator unmodified water and heightfield data

See merge request OpenMW/openmw!1373
2021-12-08 13:36:17 +00:00
psi29a
59ab947f3b Merge branch 't800' into 'master'
Keep only one '\0' in NIF strings (bug #6473)

Closes #6473

See merge request OpenMW/openmw!1458
2021-12-06 14:45:57 +00:00
psi29a
6c7dc2d72f Merge branch 'assorted' into 'master'
Load NiSortAdjustNode and NiAccumulators

See merge request OpenMW/openmw!1396
2021-12-06 13:49:47 +00:00
Alexei Dobrohotov
dd15b30a27 Keep only one '\0' in NIF strings (bug #6473) 2021-12-05 15:56:58 +03:00