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