madsbuvi
dc3045c970
mono-only version of the shader linking system introduced in the stereo MR
2022-04-26 19:54:24 +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
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
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
86d7f5a988
Fix tests
2022-04-16 22:58:08 +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
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
elsid
4447ab0ed7
Remove ESM:: namespace qualifier in components/esm3/ and tests
2022-04-12 02:04:24 +02:00
elsid
5eb8c4aebe
Avoid redundant conversion to const char* and use make_shared
2022-04-10 22:33:08 +02:00
Benjamin Winger
21ffbcc4b4
Lua i18n updates
2022-04-10 07:57:02 +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
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
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
2d5ccc804b
Exchange binary messages between navmeshtool and launcher
2022-03-30 19:24:54 +02: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
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
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
elsid
42d6032c8b
Support compilation with c++20
2022-02-24 00:49: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
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
9584cb7ac2
Use fixed size types for serialization
2022-02-18 21:01:53 +01:00
elsid
875d9dcead
Fix buffer resizing by StatelessUtf8Encoder
2022-02-15 23:02:32 +01: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
7884a01026
Add tests for Utf8Encoder
2022-02-13 17:19:08 +01:00
uramer
ede9d27437
Element-wise multiplication and division of Lua vectors
2022-02-10 19:43:27 +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
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
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
1b2954f2db
Remove unused z coordinate
2022-02-03 21:43:53 +01:00
elsid
542717394a
Remove objects, water and heightfields when no longer required
2022-02-03 02:43:35 +01:00
Petr Mikheev
5ca56a4f8a
New option "config" for specifying additional config directories.
2022-02-02 23:47:11 +01:00
elsid
7ea5aa250b
Revert "Cull navmesh objects by scene bounds"
...
This reverts commit b0ef20c303
.
2022-01-30 21:43:23 +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
elsid
bf692a4bfa
Add more tests for fixed string
2022-01-28 03:39:28 +01:00
Bret Curtis
022fdc49a5
update tests to use esm3 rename
2022-01-27 21:13:38 +01: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
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
psi29a
fdc08cf01e
Merge branch 'fix_storage' into 'master'
...
Fix heap use after free in components/lua/storage.cpp
See merge request OpenMW/openmw!1586
2022-01-24 12:17:19 +00:00
Petr Mikheev
067d71f7eb
Fix heap use after free in components/lua/storage.cpp
2022-01-23 22:37:04 +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
4b59ff2060
Include headers instead of source files
2022-01-23 15:40:30 +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
uramer
d1d8f058ac
Lua bindings for Colours
2022-01-17 22:35:06 +00:00
uramer
886dee57ee
Always use /bigobj, clean up scattered uses into one
2022-01-17 08:05:19 +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
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
Petr Mikheev
0f246e7365
Use a separate instance of Lua i18n for every context
2022-01-02 09:58:51 +01:00
elsid
aaf6c82e33
Do not write shapes to navmeshdb when writing is disabled
2021-12-16 22:57:35 +01: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
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
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
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
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
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
Petr Mikheev
d3df3efaf1
Precompile sol.hpp in order to reduce compilation time.
2021-12-04 11:32:39 +00:00
elsid
7dcb219ecf
Add raw heightfield data to navigator
2021-12-03 01:16:15 +01:00
elsid
8571c317d8
Add raw water data to navigator
2021-12-03 01:16:15 +01:00
elsid
f4f4458d01
Calculate recast mesh bounds when building navmesh
2021-12-03 01:16:15 +01:00
elsid
e10bbb9ad7
Shift heightfield and water in navigator tests
2021-12-03 01:16:15 +01:00
psi29a
7256654f29
Merge branch 'navmesh_render' into 'master'
...
Rework navmesh render (#6187 )
See merge request OpenMW/openmw!1338
2021-12-02 10:34:41 +00:00
psi29a
a332dec681
Merge branch 'fix_esm_loader' into 'master'
...
Load only supported content formats by EsmLoader
See merge request OpenMW/openmw!1427
2021-11-30 15:51:22 +00:00
psi29a
a15cc0959f
Merge branch 'murmur_hash' into 'master'
...
Use MurmurHash3_x64_128 for Files::getHash
See merge request OpenMW/openmw!1404
2021-11-30 15:50:11 +00:00
AnyOldName3
bc4b54157b
Remove commented-out test conditions
2021-11-28 20:30:16 +00:00
elsid
da0c5b54f0
Load only supported content formats by EsmLoader
2021-11-22 20:58:48 +01:00
AnyOldName3
84d6de3eba
Parse paths with boost rules when it's quoted, but use the string verbatim when it's not
2021-11-21 19:51:02 +00:00
elsid
6b7363bd59
Replace generation and revision by version
2021-11-21 17:40:54 +01:00
elsid
a665a38aca
Use MurmurHash3_x64_128 for file hash
2021-11-21 17:05:59 +01:00
Petr Mikheev
f9136d4392
Support multiple arguments in Lua callbacks.
2021-11-21 13:12:35 +01:00
Petr Mikheev
d5ca091d6e
Make util.rotateX, util.rotateY, rotate.Z consistent with morrowind rotation
2021-11-19 20:37:21 +01:00
uramer
68963538ae
Lua UI API
2021-11-18 15:19:54 +00:00
AnyOldName3
8fb0b5846e
Allow paths with trailing data, emmitting a warning
2021-11-14 00:22:44 +00:00
Alexei Kotov
49544cf7de
Merge branch 'no_one_likes_commas' into 'master'
...
Treat commas in scripts as whitespace
Closes #6380
See merge request OpenMW/openmw!1388
2021-11-13 17:19:22 +00:00
psi29a
41bd20e358
Merge branch 'bullet_shape_hash' into 'master'
...
Store BulletShape source file name and content hash
See merge request OpenMW/openmw!1379
2021-11-13 13:33:22 +00:00
Evil Eye
bee94e2afc
Treat commas in scripts as whitespace
2021-11-13 14:06:21 +01:00
elsid
d7041613ef
Store BulletShape source file name and content hash
2021-11-11 00:27:18 +01:00
Cédric Mocquillon
512d64e514
Extract correctSoundPath method to avoid code duplication. Add unit test for the new method
2021-11-10 23:06:35 +01:00
elsid
9f808fbe3a
Move findPath-like navigator functions into a separate header
2021-11-06 00:34:06 +01:00
Bo Svensson
1960e976e2
refactors stringops.hpp ( #3192 )
...
With this PR we refactor `StringUtils::replaceAll` to accept `string_view` as suggested in a code comment. In addition, while we are touching this rebuild happy file, we slim it down a bit by moving a few sparingly used functions elsewhere.
2021-11-05 10:53:52 +01:00