ζeh Matt
aa65df8872
Rename meta.hpp to tuplemeta.hpp
2022-09-08 15:03:01 +03:00
ζeh Matt
c856095562
Use compile time generated indices for tuples types
2022-09-08 03:38:07 +03:00
ζeh Matt
8f7703d5c8
Rename HasMember to TupleHasType and move code into misc/meta.hpp
2022-09-08 00:13:50 +03:00
jvoisin
9f62f0c292
Reserve the output buffer in lowerCaseUtf8
...
Since lowercasing an utf8 string shouldn't change its size very much,
it does make sense to reserve the output buffer, to reduce
memory allocations.
2022-09-05 19:46:39 +02:00
Cédric Mocquillon
83ee25711e
Use the pattern according to the esm version
2022-09-03 18:55:06 +02:00
Cédric Mocquillon
6a3d27ce82
Add a dictionary to retrieve the LOD mesh name of a mesh cache
2022-09-03 18:52:27 +02:00
Evil Eye
02bbb0be45
Improve format workaround and add unit tests
2022-08-26 19:43:57 +00:00
Evil Eye
4e2e5ad002
Revert format change and ensure string_view args are null-terminated
2022-08-24 23:10:05 +02:00
Evil Eye
1d21330fcc
Return string_view from getGameSettingString
2022-08-24 22:16:03 +02:00
psi29a
1f5277349c
Merge branch 'span' into 'master'
...
Replace Misc::Span by std::span
See merge request OpenMW/openmw!2324
2022-08-22 17:34:51 +00:00
psi29a
9c24d6b390
Merge branch 'ci_starts_with' into 'master'
...
Replace ciCompareLen with ciStartsWith where possible
See merge request OpenMW/openmw!2325
2022-08-22 17:34:03 +00:00
Evil Eye
150d1840d6
Use more string_view and const string&
2022-08-22 16:55:53 +02:00
elsid
5dc612aa54
Replace ciCompareLen with ciStartsWith where possible
...
`ciCompareLen(a, b, b.size()) == 0` expression is an equivalent of checking for
equality of `a` prefix with size `b.size()` with `b`.
`ciCompareLen(a, b, a.size()) == 0` is also the same thing but `a` is a prefix
`b` should start with.
2022-08-22 09:32:22 +02:00
elsid
e4a254deb7
Replace Misc::Span by std::span
2022-08-21 23:53:27 +02:00
psi29a
bf40f9b287
Merge branch 'name_view' into 'master'
...
Make Class::getName return string_view
See merge request OpenMW/openmw!2289
2022-08-17 20:14:27 +00:00
Evil Eye
4ff12d8945
Make Class::getName return string_view
2022-08-16 21:15:03 +02:00
elsid
cc8c7002ea
Cleanup components includes
2022-08-16 19:14:04 +02:00
Matt
e6868fd211
Allow constexpr hashing
2022-08-14 19:06:29 +00:00
Evil Eye
de8d9b8db3
Use Fowler-Noll-Vo hash instead of std::hash
2022-08-14 19:55:32 +02:00
Evil Eye
de51525c76
Allow string_view lookups in MWWorld::Store and get some use out of that
2022-08-09 20:43:14 +02:00
elsid
f99ed6f1db
Split components/misc/stringops.hpp into multiple headers
...
Replace all ciEqual overloads with one having std::string_view as argument.
2022-08-03 22:06:24 +02:00
Andrei Kortunov
de58c9dff3
Get rid of obsolete osg::Geode where it is possible
2022-07-20 15:28:56 +04:00
Andrei Kortunov
6f6b5ba04b
Some refactoring
2022-07-17 22:01:48 +04:00
elsid
22ed6d5c1e
Use unsigned to define number of threads
2022-07-12 15:19:52 +02:00
Andrei Kortunov
fe785ea788
Don't cast away const when we can avoid it
2022-07-03 16:36:41 +04:00
glassmancody.info
b09411d396
allow soft particles on meshes and add extra data extensions
2022-06-29 18:15:12 -07:00
elsid
6abb963bd9
Use string_view for StringUtils functions
2022-06-21 19:40:28 +02:00
uramer
1fb136a417
Correct icon and mesh paths in Lua records
2022-06-12 11:30:29 +02:00
psi29a
a737b05d84
Merge branch 'faster_toLower' into 'master'
...
Improve the speed of toLower
See merge request OpenMW/openmw!1889
2022-05-24 07:53:01 +00:00
jvoisin
998f1c960e
Improve the speed of toLower
...
This significantly improves the speed of my fuzzer,
by something like 15%.
2022-05-23 21:24:17 +02:00
Evil Eye
e79f803402
Change includes
2022-05-21 10:48:32 +02:00
Evil Eye
c6ca0e78c9
Make getStringLiteral return a string_view
2022-05-21 01:21:55 +02:00
cody glassman
0cb63ca4e6
experimental point light bindings
2022-05-15 10:03:58 -07: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
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
elsid
39da3bfef8
Ignore player when checking whether AiTravel destination is occupied by other actor
2022-04-11 19:30:54 +02:00
elsid
2d5ccc804b
Exchange binary messages between navmeshtool and launcher
2022-03-30 19:24:54 +02:00
ζeh Matt
d7de17a1ac
Add a comment explaining the pick of the prng
2022-03-22 17:09:36 +02: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
d83a381f79
Refactor and rename some things around Misc::Rng
2022-03-06 17:28:28 +02:00
Bret Curtis
6601274992
constify weakcache overloaded operators
2022-03-01 10:53:01 +01:00
elsid
42d6032c8b
Support compilation with c++20
2022-02-24 00:49:40 +01:00
elsid
1b2954f2db
Remove unused z coordinate
2022-02-03 21:43:53 +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
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
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