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

18602 commits

Author SHA1 Message Date
jvoisin
43f64e9f75 Merge branch 'tasty_sujamma' into 'master'
Uncap attribute and skill damage for drain and absorb effects

See merge request OpenMW/openmw!1592
2022-01-30 17:59:49 +00:00
elsid
70623d0b23
Move FetchContent for benchmark to extern 2022-01-30 00:44:22 +01:00
psi29a
e46905450e Merge branch 'refactor/esm-recordnew' into 'master'
Use unique_ptr for ESM records

See merge request OpenMW/openmw!1603
2022-01-29 22:05:39 +00:00
psi29a
7dd02076f5 Merge branch 'offset_the_deads' into 'master'
#6410: Use the scaled mesh translation for collision shape position for living actors

See merge request OpenMW/openmw!1446
2022-01-29 20:28:23 +00: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
ζeh Matt
07eb6db030
Use unique_ptr for ESM records 2022-01-29 21:09:27 +02:00
Evil Eye
79dc600dae Uncap attribute and skill damage for drain and absorb effects 2022-01-29 16:29:50 +01:00
elsid
8b7ae9afd8
Fix use after free and possible deadlock on exit
Lock Simulation weak_ptr in all visitors to avoid use after free.

And swap order for weak_ptr locking with locking collision world mutex to avoid
deadlock when underlying object tries to lock the same mutex in the destructor.

Add SimulationImpl type to avoid use of FrameData without locking weak_ptr.
2022-01-29 14:59:51 +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
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
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
fac47ce0b5 Merge branch 'support_controller_gyro' into 'master'
Support controller gyro

Closes #6557

See merge request OpenMW/openmw!1571
2022-01-25 19:20:36 +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
jvoisin
4ae1ea1ee3 Merge branch 'refidref' into 'master'
Remove `getRefIdRef` because it is the same as `getRefId`.

See merge request OpenMW/openmw!1585
2022-01-25 16:23:51 +00:00
Evil Eye
783505011c Merge branch 'fix_deprecated_warning' into 'master'
Remove usage of deprecated std::iterator

See merge request OpenMW/openmw!1589
2022-01-25 15:32:22 +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
elsid
12df2deb70
Remove usage of deprecated std::iterator
/home/elsid/dev/openmw/apps/openmw/mwlua/../mwbase/../mwworld/containerstore.hpp:264:23: warning: 'iterator<std::forward_iterator_tag, MWWorld::Ptr>' is deprecated [-Wdeprecated-declarations]
        : public std::iterator<std::forward_iterator_tag, PtrType, std::ptrdiff_t, PtrType *, PtrType&>
                      ^
/home/elsid/dev/openmw/apps/openmw/mwlua/../mwworld/inventorystore.hpp:79:36: note: in instantiation of template class 'MWWorld::ContainerStoreIteratorBase<MWWorld::Ptr>' requested here
            ContainerStoreIterator mSelectedEnchantItem;
                                   ^
/usr/bin/../include/c++/v1/__iterator/iterator.h:27:29: note: 'iterator<std::forward_iterator_tag, MWWorld::Ptr>' has been explicitly marked deprecated here
struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX17 iterator
                            ^
/usr/bin/../include/c++/v1/__config:1016:39: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX17'
                                      ^
/usr/bin/../include/c++/v1/__config:993:48: note: expanded from macro '_LIBCPP_DEPRECATED'
                                               ^
2022-01-24 22:50:18 +01: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
uramer
39c7325db7 Merge branch 'lua_fix_onActorActive' into 'master'
Validate that object exists before onActorActive Lua handler

See merge request OpenMW/openmw!1580
2022-01-24 13:25:20 +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
Petr Mikheev
203ee492c8 Remove getRefIdRef because it is the same as getRefId. 2022-01-23 21:01:44 +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
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
Petr Mikheev
24989e7bc1 Validate that object exists before onActorActive Lua handler 2022-01-23 11:30:22 +01:00
fredzio
26bdba88a2 Store std::weak_ptr into mUpdateAabb. This avoid extending the lifetime
of collision objects beyond what they should.
2022-01-22 17:17:20 +01:00
uramer
a85f2b0b2a Remove unnecessary mGuiCursorEnabled; from sensor manager 2022-01-22 13:28:07 +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
elsid
580edf18b9 Use weak_ptr for Actor and Projectile simulations (#6515) 2022-01-21 00:28:56 +00:00
uramer
183ca3079e Merge gyroaxis into gyro manager 2022-01-20 15:42:01 +01:00
uramer
57ac592973 Fix warning 2022-01-19 22:35:32 +01:00
uramer
15e9c6615c Disable controller gyro with older SDL 2022-01-19 21:32:46 +01:00
uramer
4021d23cff Refactor sensor manager axis correction 2022-01-19 18:09:37 +01:00
Cody Glassman
9cafc31c0d Restore ripples with soft particles 2022-01-19 11:32:38 +00:00
uramer
a496f16cdb Implement gyro camera for controllers 2022-01-18 22:47:49 +01:00
uramer
9fa0faf944 Refactor sensor manager to match controller manager gyro API 2022-01-18 21:11:25 +01:00
uramer
55f95f1ea3 Enable controller gyro and capture the values 2022-01-18 20:23:16 +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
psi29a
4e93716584 Merge branch 'always_bigobj' into 'master'
Always use /bigobj, clean up scattered uses into one

See merge request OpenMW/openmw!1476
2022-01-17 08:05:19 +00:00
uramer
886dee57ee Always use /bigobj, clean up scattered uses into one 2022-01-17 08:05:19 +00:00
wareya
20cbf941fb re-introduce short circuiting, but only under certain circumstances 2022-01-16 17:58:04 -05:00
wareya
784b1888a9 Merge branch 'upstream' into movement_tweaks 2022-01-16 17:19:20 -05:00
psi29a
fd7e0b74cc Merge branch '6303-jail-stuck-attack' into 'master'
#6303 Made player stop attacking and sheathe weapon when going to jail

See merge request OpenMW/openmw!1551
2022-01-16 10:15:47 +00:00
Artem Nykolenko
a5cdc889a2 #6303 Made player stop attacking and sheathe weapon when going to jail 2022-01-16 10:15:47 +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
jvoisin
2142e4b241 Merge branch 'scale_your_guar' into 'master'
Make scaleObject a no-op when not changing scale

Closes #6551

See merge request OpenMW/openmw!1559
2022-01-15 17:17:18 +00:00
uramer
ae641811cf Merge branch 'lua_vector' into 'master'
Use double precision for vectors serialization in Lua

See merge request OpenMW/openmw!1558
2022-01-15 16:14:04 +00:00
Petr Mikheev
4677912997 Remove incorrect destructor that was added in !1557. 2022-01-15 13:59:22 +01:00
Evil Eye
5fcb2cabc8 Make scaleObject a no-op when not changing scale 2022-01-15 13:04:15 +01:00
Petr Mikheev
1b7e923b2c Lua fixes 2022-01-15 12:01:30 +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
psi29a
781b014183 Merge branch 'toggable_daynightswitch' into 'master'
Toggable day night switch (#5928)

Closes #5928

See merge request OpenMW/openmw!1549
2022-01-11 09:34:19 +00:00
Cody Glassman
8ec0a52605 Toggable day night switch (#5928) 2022-01-11 09:34:19 +00: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
psi29a
a1f8db7600 Merge branch 'bright_spells' into 'master'
Replicate Morrowind spell lighting (#4949)

Closes #4949

See merge request OpenMW/openmw!1544
2022-01-09 11:07:14 +00:00
cody glassman
8216410e7d add white ambient to spell VFX as in Morrowind 2022-01-08 16:19:42 -08:00
cody glassman
e32d3d11ce ensure readbuffer is bound before using glReadPixels 2022-01-08 16:12:24 -08:00
psi29a
011a26684a Merge branch 'fix_wizard_dialogs' into 'master'
Fix wizard dialogs

See merge request OpenMW/openmw!1519
2022-01-07 14:35:12 +00:00
Josquin Frei
63a8bc5f9b Fix wizard dialogs 2022-01-07 14:35:11 +00:00
Cody Glassman
cdae1c4c97 Heavily mitigate jittery objects far from origin 2022-01-06 22:01:28 +00: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
Evil Eye
cd6edb961a Remove dead code 2022-01-05 17:22:22 +01:00
psi29a
e0612db01c Merge branch 'viewport_update' into 'master'
Use updated resolutions when setting projection matrix

See merge request OpenMW/openmw!1533
2022-01-05 10:43:30 +00:00
Cody Glassman
a7166aa05c Use updated resolutions when setting projection matrix 2022-01-05 10:43:30 +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
psi29a
5eba352c98 Merge branch 'correct_depth_function' into 'master'
Use correct depth functions (#6537)

Closes #6537

See merge request OpenMW/openmw!1534
2022-01-05 08:38:05 +00:00
psi29a
d8cc08a7a0 Merge branch 'ripple_fix' into 'master'
Fix persistent ripples (#6531)

Closes #6531

See merge request OpenMW/openmw!1535
2022-01-05 08:37:27 +00:00
glassmancody.info
909aa43ba1 update sky particle node correctly 2022-01-04 14:10:39 -08:00
jvoisin
27af776735 Fix unnecessary float-to-double promotion 2022-01-04 22:01:52 +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
psi29a
476d8b7e86 Merge branch 'fix_asan_error' into 'master'
Fix ASAN error: heap-use-after-free

See merge request OpenMW/openmw!1495
2022-01-04 10:29:37 +00: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
psi29a
e16245278e Merge branch 'lit_ur' into 'master'
Fix Dagoth Ur's Fire Shield not being visible

See merge request OpenMW/openmw!1514
2022-01-04 10:22:45 +00:00
psi29a
0dc4a668c3 Merge branch 'moralizing' into 'master'
Fix demoralize and rally being swapped

Closes #6532

See merge request OpenMW/openmw!1524
2022-01-04 08:49:10 +00:00
Evil Eye
aab0473c28 Only prevent recasting by the actor who cast the spell 2022-01-03 21:05:14 +01:00
Evil Eye
97ab7cf457 Fix demoralize and rally being swapped 2022-01-03 19:17:56 +01:00
Petr Mikheev
0f246e7365 Use a separate instance of Lua i18n for every context 2022-01-02 09:58:51 +01:00
Frederic Chardon
63bf4bf868 Solve 2 bugs in projectile movement simulation:
- properly initialize mSimulationPosition in the constructor. Unlucky thread scheduling can cause processHits to be called before the first simulation run, causing the projectile to vanish to whatever value the variable happens to contains.
- don't continue moving the projectile after a hit. The position would continue to be updated to some senseless value.
2021-12-29 15:20:44 +01:00
Evil Eye
dc946d0a47 Fix Dagoth Ur's Fire Shield not being visible 2021-12-27 22:30:25 +01:00
elsid
ba281a0da0 Fix coverity issues 2021-12-27 16:08:00 +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
c166341ec0 Merge branch 'gh_sync' into 'master'
Resovles #6519 Do not display effects duration for ingredient

See merge request OpenMW/openmw!1506
2021-12-26 19:50:20 +00:00
psi29a
81c9ef947f Resovles #6519 Do not display effects duration for ingredient 2021-12-26 19:50:19 +00:00
psi29a
01ac96e900 Merge branch 'stats_gave_me_a_headache' into 'master'
Make Set- and ModStat behave as they should

Closes #2036

See merge request OpenMW/openmw!1410
2021-12-26 19:47:09 +00:00
Evil Eye
ac747f02f3 Don't teleport NPCs to unknown cells 2021-12-26 15:27:25 +00:00
psi29a
5c67c5316d Merge branch 'issue_6501' into 'master'
Fix Stuttering in the dialogue menu #6501

See merge request OpenMW/openmw!1492
2021-12-25 16:00:15 +00:00
Evil Eye
c1f59b1221 Automatically drop workaround when the format is next updated 2021-12-24 23:17:50 +01:00
myrix
88fc038ceb with mutable, without World and ESMStore interface change 2021-12-24 12:04:26 +03:00
myrix
9c7835e27f explicit instantiation error fix 2021-12-24 02:04:26 +03:00
myrix
27cc7a5172 caching dialog keyword search in Store<ESM::Dialogue> 2021-12-24 00:54:00 +03:00
Evil Eye
55b066d2bd Preserve the original caster if classic reflected absorb spells behaviour is on 2021-12-21 10:50:28 +01:00
elsid
ed3286994c
Fix ASAN error: heap-use-after-free
=================================================================
==20931==ERROR: AddressSanitizer: heap-use-after-free on address 0x607000206030 at pc 0x7fc8b0f3a72b bp 0x7ffcee176860 sp 0x7ffcee176008
READ of size 13 at 0x607000206030 thread T0
    #0 0x7fc8b0f3a72a in __interceptor_strlen /build/gcc/src/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:389
    #1 0x562e069a0af7 in QString::fromUtf8(char const*, int) /usr/include/qt/QtCore/qstring.h:706
    #2 0x562e069a0af7 in Launcher::AdvancedPage::AdvancedPage(Config::GameSettings&, QWidget*) /home/elsid/dev/openmw/apps/launcher/advancedpage.cpp:29
    #3 0x562e06959613 in Launcher::MainDialog::createPages() /home/elsid/dev/openmw/apps/launcher/maindialog.cpp:127
    #4 0x562e069691d2 in Launcher::MainDialog::setup() /home/elsid/dev/openmw/apps/launcher/maindialog.cpp:228
    #5 0x562e06969d88 in Launcher::MainDialog::showFirstRunDialog() /home/elsid/dev/openmw/apps/launcher/maindialog.cpp:188
    #6 0x562e06957025 in main /home/elsid/dev/openmw/apps/launcher/main.cpp:35
    #7 0x7fc8ad0d9b24 in __libc_start_main (/usr/lib/libc.so.6+0x27b24)
    #8 0x562e0690fced in _start (/home/elsid/dev/openmw/build/gcc/asan/openmw-launcher+0x56ced)

0x607000206030 is located 16 bytes inside of 64-byte region [0x607000206020,0x607000206060)
freed by thread T0 here:
    #0 0x7fc8b0fb3f19 in __interceptor_free /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cpp:127
    #1 0x7fc8b0de3388  (/usr/lib/libopenal.so.1+0x40388)

previously allocated by thread T0 here:
    #0 0x7fc8b0fb4fd6 in __interceptor_posix_memalign /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cpp:226
    #1 0x7fc8b0e379cb  (/usr/lib/libopenal.so.1+0x949cb)

SUMMARY: AddressSanitizer: heap-use-after-free /build/gcc/src/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:389 in __interceptor_strlen
Shadow bytes around the buggy address:
  0x0c0e80038bb0: 00 00 00 00 00 00 00 00 00 fa fa fa fa fa 00 00
  0x0c0e80038bc0: 00 00 00 00 00 00 00 fa fa fa fa fa 00 00 00 00
  0x0c0e80038bd0: 00 00 00 00 00 fa fa fa fa fa 00 00 00 00 00 00
  0x0c0e80038be0: 00 00 02 fa fa fa fa fa 00 00 00 00 00 00 00 00
  0x0c0e80038bf0: 02 fa fa fa fa fa fd fd fd fd fd fd fd fd fa fa
=>0x0c0e80038c00: fa fa fa fa fd fd[fd]fd fd fd fd fd fa fa fa fa
  0x0c0e80038c10: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c0e80038c20: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c0e80038c30: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c0e80038c40: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c0e80038c50: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  Shadow gap:              cc
==20931==ABORTING
2021-12-20 23:32:47 +01:00
myrix
3a9cfbfa53 HyperTextParser as a class with proper keyword search caching 2021-12-19 14:00:49 +03:00
myrix
0688f55171 optimized keyword parsing 2021-12-18 20:07:41 +03:00
Evil Eye
a2964f2244 Don't consider underwater sneaking to be sneaking 2021-12-18 15:16:37 +01:00
psi29a
6bd89cb6ef Merge branch 'im_walking_on_water_whoa_oh' into 'master'
Move target checking code so it applies to all sources

Closes #6486

See merge request OpenMW/openmw!1472
2021-12-17 09:11:30 +00:00
psi29a
0aa103c6d8 Merge branch 'fix_build' into 'master'
Fix build on ubuntu 18.04

See merge request OpenMW/openmw!1487
2021-12-17 07:36:31 +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
psi29a
307bc57cde Merge branch 'launcher_navmesh_cache_progress' into 'master'
Fix navmesh cache progress bar jumps (#6499)

Closes #6499

See merge request OpenMW/openmw!1485
2021-12-17 07:23:08 +00:00
elsid
b0c2317d34
Fix build on ubuntu 18.04
/<<BUILDDIR>>/openmw-0.47.0+git202112160802~ubuntu18.04.1/apps/navmeshtool/worldspacedata.cpp:213:109: error: class template argument deduction failed:
             heightfields.emplace_back(std::vector(std::begin(landData.mHeights), std::end(landData.mHeights)));
                                                                                                             ^
/<<BUILDDIR>>/openmw-0.47.0+git202112160802~ubuntu18.04.1/apps/navmeshtool/worldspacedata.cpp:213:109: error: no matching function for call to ‘vector(float*, float*)’
In file included from /usr/include/c++/7/vector:64:0,
                 from /<<BUILDDIR>>/openmw-0.47.0+git202112160802~ubuntu18.04.1/components/esm/loadpgrd.hpp:5,
                 from /<<BUILDDIR>>/openmw-0.47.0+git202112160802~ubuntu18.04.1/components/misc/convert.hpp:5,
                 from /<<BUILDDIR>>/openmw-0.47.0+git202112160802~ubuntu18.04.1/components/bullethelpers/collisionobject.hpp:4,
                 from /<<BUILDDIR>>/openmw-0.47.0+git202112160802~ubuntu18.04.1/apps/navmeshtool/worldspacedata.hpp:4,
                 from /<<BUILDDIR>>/openmw-0.47.0+git202112160802~ubuntu18.04.1/apps/navmeshtool/worldspacedata.cpp:1:
/usr/include/c++/7/bits/stl_vector.h:411:2: note: candidate: template<class _Tp, class _Alloc, class _InputIterator, class> vector(_InputIterator, _InputIterator, const _Alloc&)-> std::vector<_Tp, _Alloc>
  vector(_InputIterator __first, _InputIterator __last,
  ^~~~~~
2021-12-17 00:06:38 +01:00
elsid
aaf6c82e33
Do not write shapes to navmeshdb when writing is disabled 2021-12-16 22:57:35 +01:00
elsid
8fedca5780
Fix navmesh cache progress bar jumps
When initial approximation of maximum progress based on numer of cells is too
high comparing to real number of navmesh tiles.
2021-12-16 21:48:50 +01:00
uramer
2bc81e47a6 Remove all MyGUI version checks 2021-12-16 19:22:07 +01:00
psi29a
cc97c4450a Merge branch 'which-gpu-are-you' into 'master'
Log OpenGL Vendor, Renderer and Version on startup

See merge request OpenMW/openmw!1482
2021-12-16 08:02:24 +00:00
psi29a
dc4d73e76c Merge branch 'msgboxvanillastyle' into 'master'
Vanilla style encumbrance messagebox

Closes #6191

See merge request OpenMW/openmw!1437
2021-12-16 07:59:43 +00:00
AnyOldName3
d66907ba67 Log OpenGL Vendor, Renderer and Version on startup 2021-12-15 22:17:38 +00:00
psi29a
92c9ae3eb7 Merge branch 'locked_and_loaded' into 'master'
Change the legalities of opening unlocked objects

Closes #6493

See merge request OpenMW/openmw!1479
2021-12-15 13:13:24 +00:00
Petr Mikheev
db72380ba9 Allow Lua scripts to handle input actions when UI is opened. Also fixes #6456. 2021-12-15 02:38:54 +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
Evil Eye
a204b4da96 Change the legalities of opening unlocked objects 2021-12-14 21:06:40 +01:00
uramer
c865114b9b Lua UI Layers 2021-12-14 17:38:06 +00:00
kuyondo
2fce89e64f changes 2021-12-14 22:40:05 +08:00
psi29a
0f17f14cec Merge branch 'no_more_i_yield' into 'master'
Explicitely add the initial actor to the set of its allies

See merge request OpenMW/openmw!1474
2021-12-11 16:36:54 +00:00
Evil Eye
ff9f010d99 Explicitely add the initial actor to the set of its allies 2021-12-11 15:30:57 +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
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
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
Evil Eye
9257c27fe1 Move target checking code so it applies to all sources 2021-12-10 18:51:37 +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
psi29a
f3f385fd5e Merge branch 'removed_isnt_remove' into 'master'
Actually remove effects before proclaiming they've been removed

Closes #6480

See merge request OpenMW/openmw!1465
2021-12-09 15:08:41 +00:00
AnyOldName3
221e425fe6 Only precompile headers with MSVC 2021-12-09 14:59:17 +00:00
Bret Curtis
454ddfa304
Merge pull request #3224 from Vulpen/feature-AA-alpha-test
Issue #6019 AA Alpha Test Option In Launcher
2021-12-09 01:02:16 +01:00
Evil Eye
4b67fe5351 Actually remove effects before proclaiming they've been removed 2021-12-08 17:18:08 +01:00
psi29a
ad492c5735 Merge branch 'mac_mac_great_again_lua_edition' into 'master'
modified builtin_scripts to be macOS aware; simplified things as the SHADER...

Closes #6459

See merge request OpenMW/openmw!1463
2021-12-08 15:10:23 +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
Bret Curtis
9336626927 use OPENMW_RESOURCES_ROOT instead 2021-12-08 14:33:49 +01:00
Bret Curtis
a9bf53d4ed modified builtin_scripts to be macOS aware; simplified things as the SHADER and MYGUI dir were just pointing to the OpenMW_BINARY_DIR anyway, so removing the code duplication 2021-12-08 14:28:56 +01:00
psi29a
694f697f61 Merge branch 'it_isnt_theft_if_they_were_dead_when_you_started' into 'master'
Force the loot UI open if it was open while resurrecting the lootee

Closes #6453

See merge request OpenMW/openmw!1452
2021-12-06 14:49:01 +00:00
psi29a
c844e5d045 Merge branch 'racer_recursion_limited' into 'master'
Check if a leveled creature is in an unloaded cell before deciding it doesn't exist

Closes #4376

See merge request OpenMW/openmw!1420

(cherry picked from commit 782371cb2e7f6653d72305090033557b53bbcf3a)

6d945da7 Check if a leveled creature is in an unloaded cell before deciding it doesn't exist
2021-12-06 13:58:35 +00:00
Evil Eye
99bfe024ef Cap temp disposition change properly 2021-12-05 18:36:35 +01:00
Petr Mikheev
c5e10dfa85 Merge branch 'refactor_sdlmappings' into 'master'
Move SDL-MyGUI input mappings to components, map both ways

See merge request OpenMW/openmw!1444
2021-12-04 12:16:38 +00:00
uramer
15c7bddd57 Move SDL-MyGUI input mappings to components, map both ways 2021-12-04 12:16:38 +00:00
Petr Mikheev
d3df3efaf1 Precompile sol.hpp in order to reduce compilation time. 2021-12-04 11:32:39 +00:00
Evil Eye
4d346fefd6 Merge branch 'regionnotfound' into 'master'
Raise a warning when entering non-existent region

Closes #6358

See merge request OpenMW/openmw!1454
2021-12-03 16:05:18 +00:00
Kindi
47ff6a87a3 Raise a warning when entering non-existent region 2021-12-03 16:05:18 +00:00
Petr Mikheev
620748480b Merge branch 'lua_missing_key_codes' into 'master'
Lua binding for SDL_GetKeyName, two missing scan codes

See merge request OpenMW/openmw!1450

(cherry picked from commit d86e7d4c9a28bc96af0a5638b26879fa49b8a847)

9a073baa Add Apostrophe and Period scan codes
d66f3a35 Add getKeyName to Lua input API
ed64add9 Replace mentions of KeyEvent with KEY
2021-12-03 13:35:57 +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
Evil Eye
58b888a38e Preserve inventories when resurrecting actors while looting them 2021-12-02 20:36:42 +01:00
Evil Eye
b35cb038d0 Merge branch 'drowningbar' into 'master'
Bug #5434: Pinned windows shouldn't cover breath progress bar

Closes #5434

See merge request OpenMW/openmw!1448
2021-12-02 17:01:40 +00:00
andrew-app
13400b2c5f Bug #5434: Pinned windows shouldn't cover breath progress bar 2021-12-02 17:01:40 +00: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
1654bebfc8 Merge branch 'master' into 'master'
#6419 Topic shouldn't be greyed out if they can produce another topic reference.

See merge request OpenMW/openmw!1442
2021-12-02 08:04:32 +00:00
Ivan Beloborodov
ead0cb5ce0 #6419 Topic shouldn't be greyed out if they can produce another topic reference. 2021-12-02 08:04:29 +00:00
Evil Eye
dca0fa0a41 Remove teleportation effects after they've been applied 2021-12-01 21:39:53 +00:00
Evil Eye
893d569529 Force the loot UI open if it was open while resurrecting the lootee 2021-12-01 18:21:21 +01:00
Thomas Lowe
f50cbcad81 * AA combo box no longer disables the AA alpha test checkbox.
* Updated AA alpha test description to be more accurate
2021-11-30 20:07:29 -05:00
Evil Eye
f1ec8db393 Make Set- and ModStat behave as they should 2021-11-30 19:39:15 +01:00
psi29a
a9008d224a Merge branch 'light_refactors' into 'master'
LightManager consolidation

Closes #6389

See merge request OpenMW/openmw!1400
2021-11-30 16:02:28 +00:00
psi29a
e221013692 Merge branch 'recalculate-projection-matrix-on-window-resize' into 'master'
Recalculate the Projection Matrix every time the window is resized.

See merge request OpenMW/openmw!1382
2021-11-30 16:00:31 +00:00
OnlyForF1
c5b33185b5 Recalculate the Projection Matrix every time the window is resized. 2021-11-30 16:00:30 +00:00
psi29a
7f2c0df3fd Merge branch 'follow_the_path_of_peace' into 'master'
Remove allies from combat when stopping combat

Closes #1930

See merge request OpenMW/openmw!1441
2021-11-30 15:59:06 +00:00
psi29a
12167291a3 Merge branch 'plz_no_particles' into 'master'
Hopefully fix #6353 once and for all

Closes #6353

See merge request OpenMW/openmw!1433
2021-11-30 15:57:38 +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
Thomas Lowe
4f77c18af4 Removed unneeded signal. 2021-11-29 20:44:47 -05:00
elsid
c4cd2f36c3
Move convertMagicEffects into separate file
As completely unrelated to EsmLoader.
2021-11-29 22:45:35 +01:00
elsid
47219b4def
Avoid base class call antipattern in classes derived from ContentLoader 2021-11-29 22:45:08 +01:00
Bret Curtis
246912f73a
Merge pull request #3206 from akortunov/groundcover_loading
Use a separate storage for groundcover data
2021-11-29 20:09:21 +01:00
Thomas Lowe
5f355a14cd Changed default setting for anti-alias alpha test to true.
Added checkbox in advanced page for anti-alias alpha test, connected to AA combobox in the graphics page.
2021-11-29 07:18:49 -05:00
kuyondo
01a9eaf4a8 fix#6451 2021-11-29 19:04:34 +08:00
AnyOldName3
bc4b54157b Remove commented-out test conditions 2021-11-28 20:30:16 +00:00
fredzio
989f09930a Use the scaled mesh translation for collision shape position for living actors. It seems only (some) dead
actors really needs to use the vertical half-extent.
2021-11-28 18:58:40 +01:00
kuyondo
6e43206d69 remove empty/redundant lines 2021-11-28 04:58:49 +08:00
kuyondo
eadad7a4b3 new alternate 2021-11-28 04:47:14 +08:00
Frederic Chardon
9d7a53b701 Merge branch 'fix_physics_deadlock' into 'master'
Fix deadlock in physics system (#6414)

Closes #6414

See merge request OpenMW/openmw!1440
2021-11-27 19:56:37 +00:00
kuyondo
df9f601ed7 initialize constants 2021-11-28 02:22:34 +08:00
kuyondo
1f2311538d vanilla style messagebox 2 2021-11-26 05:20:58 +08:00
Evil Eye
d6f06fbf9a Remove allies from combat when stopping combat 2021-11-25 22:00:52 +01:00
Evil Eye
a231037449 Merge branch 'accumroot' into 'master'
Use the anim source to find mAccumRoot (bug #6417)

Closes #6417

See merge request OpenMW/openmw!1431
2021-11-25 19:13:21 +00:00
elsid
6b43ce0662
Fix deadlock in physics system
1. Reorder unlock and notify_all calls to avoid notifying when not all worker
   threads are waiting.
2. Make sure main thread does not attempt to exclusively lock mSimulationMutex
   while not all workers are done with previous frame.
3. Replace mNewFrame flag by counter to avoid modification from multiple
   threads.
2021-11-25 19:28:31 +01:00
kuyondo
11925b17ea Remove mOverencumberedMessageDelay 2021-11-24 19:39:22 +08:00
kuyondo
30ff688c70 Create only one overencumbered messagebox 2021-11-24 19:35:39 +08:00
Evil Eye
90f94caaaf Merge branch 'quickkeyvalidation' into 'master'
Validate Quick Keys

Closes #6433

See merge request OpenMW/openmw!1428
2021-11-23 19:06:26 +00:00
kuyondo
60a345f5cc Better indentation 2021-11-24 01:44:14 +08:00
Evil Eye
fb4c611570 Merge branch 'sunglare_fix' into 'master'
Fix sunglare in sky shaders

See merge request OpenMW/openmw!1430
2021-11-23 16:47:08 +00:00
Evil Eye
f18b8adfea Truncate instead of rounding to deal with negative values 2021-11-23 17:00:53 +01:00
kuyondo
d55682f833 remove debug code 2021-11-23 15:14:59 +08:00
kuyondo
503f0e62e7 Validate Argument is Index instead of Player 2021-11-23 14:55:50 +08:00
Alexei Dobrohotov
fd58e5ba77 Use the anim source to find mAccumRoot (bug #6417) 2021-11-23 04:53:03 +03:00
glassmancody.info
44d5c96183 sunglare fix 2021-11-22 17:35:00 -08:00
kuyondo
1b1de86b4a Validate Quick Keys 2021-11-23 04:07:10 +08:00
elsid
da0c5b54f0
Load only supported content formats by EsmLoader 2021-11-22 20:58:48 +01:00
Petr Mikheev
6f5e0e7697 Merge branch 'solve_6430' into 'master'
Use a setting to enable Lua Action tracebacks

See merge request OpenMW/openmw!1419
2021-11-22 19:39:47 +00:00
uramer
4a976a8e23 Use a setting to enable Lua Action tracebacks 2021-11-22 19:39:47 +00:00
Petr Mikheev
a39305b108 Merge branch 'clean_lua_ui' into 'master'
Clear Lua-created UI on game load and reloadlua command

See merge request OpenMW/openmw!1418
2021-11-22 19:17:36 +00:00
uramer
5b8cba7323 Clear Lua-created UI on game load and reloadlua command 2021-11-22 19:17:36 +00: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
cffcb6a897
Share state set between all navmesh tiles
Do not change GL_DEPTH because it's always disabled anyway.
2021-11-21 18:01:26 +01:00
elsid
3c41d0efc3
Render each navmesh tile independently 2021-11-21 17:42:27 +01: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
psi29a
53e14eb238 Merge branch 'reset' into 'master'
AI reset argument

Closes #6177 and #1465

See merge request OpenMW/openmw!1405
2021-11-21 09:39:55 +00:00
glassmancody.info
9389cfaa42 mac os driver workaround and shadervisitor fixes 2021-11-20 18:39:20 -08:00
AnyOldName3
3d381bf0d3 Merge branch 'depth_refactor' into 'master'
Depth refactor

See merge request OpenMW/openmw!1326
2021-11-21 02:25:06 +00:00
Cody Glassman
d85f772269 Depth refactor 2021-11-21 02:25:05 +00:00
Petr Mikheev
5f195b7576 Make arguments passed to LuaManager::synchronizedUpdate consistent with arguments passed to LuaManager::update. Fixes #6431. 2021-11-21 01:48:28 +01:00
AnyOldName3
a9d7598532 Merge branch 'camera2' into 'master'
Dehardcode camera

See merge request OpenMW/openmw!1030
2021-11-20 18:17:12 +00:00
Evil Eye
52f9634624 Allow the CS to handle the repeat flag for all types 2021-11-20 11:03:08 +01:00
Evil Eye
3c57ffd81f Save repeat and duration 2021-11-20 11:03:07 +01:00
Evil Eye
231da19aa4 Load repeat flag and use reset argument 2021-11-20 11:02:58 +01:00
Evil Eye
c5de69f9c6 Merge branch 'faceyourfears' into 'master'
Make AiExtensions less toxic (bug #6429)

Closes #6429

See merge request OpenMW/openmw!1411
2021-11-20 09:59:49 +00:00
Alexei Dobrohotov
fcef92e3ea Make AiExtensions less toxic (bug #6429) 2021-11-20 03:15:15 +03:00
Evil Eye
42020bc2c3 Ignore the axis argument when rotating the player 2021-11-20 00:02:48 +00:00
Petr Mikheev
ded8997362 Avoid problems if builtin.omwscripts is above Morrowind.esm in content list. 2021-11-19 20:37:21 +01:00
Petr Mikheev
3941c42a71 Use applyDeferredPreviewRotationToPlayer only after applying values from luaControls. Otherwise camera rotation is not smooth when movement is controlled from lua. 2021-11-19 20:37:21 +01:00
Petr Mikheev
f42badd7be Dehardcode camera 2021-11-19 20:37:21 +01:00
Petr Mikheev
e56ee2c735 Apply lua handlers for user input in the main thread in order to reduce latency. 2021-11-19 20:37:21 +01:00
Petr Mikheev
47cbdcba15 Camera refactoring 2021-11-19 20:37:21 +01:00
Petr Mikheev
d5ca091d6e Make util.rotateX, util.rotateY, rotate.Z consistent with morrowind rotation 2021-11-19 20:37:21 +01:00
glassmancody.info
750514cda2 simply lightmanager and fix racey behavior 2021-11-18 19:40:13 -08:00
uramer
68963538ae Lua UI API 2021-11-18 15:19:54 +00:00
Evil Eye
71f020c23b Merge branch 'lua_input' into 'master'
Fix compiler warnings in apps/openmw/mwlua/inputbindings.cpp

See merge request OpenMW/openmw!1403
2021-11-16 16:41:38 +00:00
Alexei Kotov
37c27ce072 Merge branch 'vengeful_dremora_protection' into 'master'
Unset store listeners for creatures

See merge request OpenMW/openmw!1402
2021-11-15 23:34:33 +00:00
Petr Mikheev
e53d5ed91b Fix compiler warnings in apps/openmw/mwlua/inputbindings.cpp 2021-11-15 17:31:57 +01:00
Evil Eye
c277e8bf3f Unset store listeners for creatures 2021-11-15 16:31:38 +01:00
Petr Mikheev
c7d6620c35 Add error checking in MWLua::Action 2021-11-15 01:17:53 +01:00
psi29a
5c5c71778a Merge branch 'circular' into 'master'
Consistently sort content files

See merge request OpenMW/openmw!1350
2021-11-14 20:24:18 +00:00
psi29a
d4e8a58351 Merge branch 'headsup' into 'master'
Force assign head animation timer (bug #4389)

Closes #4389

See merge request OpenMW/openmw!1361
2021-11-14 19:59:31 +00:00
psi29a
bd694128b9 Merge branch 'lua_input' into 'master'
Update Lua package openmw.input

See merge request OpenMW/openmw!1356
2021-11-14 19:57:37 +00:00
Andrei Kortunov
3275440f0d Use a separate storage for groundcover data 2021-11-14 19:11:42 +04:00
Alexei Kotov
ec63546a37 Merge branch 'save_me_utf8' into 'master'
Handle non-ASCII characters without triggering an assertion

Closes #6396

See merge request OpenMW/openmw!1375
2021-11-14 12:38:36 +00:00
Evil Eye
6daefe3ddc Cast to the unsigned char expected by cctype functions 2021-11-14 11:26:18 +01:00
Evil Eye
f23bd51175 Don't check bounds when the type is unambiguously a char 2021-11-14 11:26:18 +01:00
Evil Eye
751e8cf76b Do a bounds check before calling functions defined in cctype 2021-11-14 11:26:15 +01:00
Evil Eye
c01ba41aa6 Handle character directories like save names 2021-11-14 11:26:14 +01:00
Evil Eye
8f48a1f030 Handle non-ASCII characters while saving without triggering an assertion 2021-11-14 11:26:06 +01:00