Commit Graph

31099 Commits (1b718f09c51bc6b295b3650166b2968b993ccf69)
 

Author SHA1 Message Date
psi29a 6f8c152487 Merge branch 'convert_camera_settings' into 'master'
Use settings values for Camera settings (#6876)

See merge request OpenMW/openmw!3041
2 years ago
psi29a dab616f4e2 Merge branch 'guiew' into 'master'
Use string_view in more places and reduce the number of empty string literals

See merge request OpenMW/openmw!3042
2 years ago
psi29a c939781cfd Merge branch 'cs_universal_id_ref_id' into 'master'
Fix verification error reporting in Editor (#7387)

Closes #7387

See merge request OpenMW/openmw!3044
2 years ago
psi29a def5839c8d Merge branch 'assert_again' into 'master'
Replace another `assert` with a `throw`

See merge request OpenMW/openmw!3043
2 years ago
elsid 63e01d86a3
Use string based UniversalId to check script for blacklist
Blacklist is a vector of strings and isBlacklisted internally calls getId which
throws exception for RefId based UniversalId.
2 years ago
elsid 0aa569d4fe
Add UniversalId argument type to exception message on invalid access 2 years ago
elsid 292983d57a
Show UniversalId value for all argument types in reports 2 years ago
elsid 7ba397da7d
Use std::span and std::string to define UniversalId related TypeData 2 years ago
elsid ceab7557f3
Add rudimentary support for ESM::RefId in UniversalId
Ideally std::string support should be removed but this may affect too much code.
2 years ago
elsid 4cd5efc6ee
Implement UniversalId with std::variant 2 years ago
elsid f2a3462e59
Fix UniversalId constructor from ESM::RefId 2 years ago
elsid 6541ac43f5
Add UniversalId unit tests 2 years ago
jvoisin 534e20cf3a Replace another `assert` with a `throw`
It fixes the following crash:

```nasm
[----------------------------------registers-----------------------------------]
RAX: 0xffffffffffffffe4
RBX: 0x7fffffffbd88 --> 0x0
RCX: 0x555555861f01 --> 0xd6000055555582fa
RDX: 0x1
RSI: 0x0
RDI: 0xff
RBP: 0x2e94
RSP: 0x7fffffff9bb0 --> 0x0
RIP: 0x55555574e286 (<_ZN4ESM44Cell4loadERNS_6ReaderE+182>:	mov    eax,DWORD PTR [rax+0xc])
R8 : 0x0
R9 : 0x555555836bd0 --> 0x555555861f90 --> 0x100000000000000
R10: 0xffffffff
R11: 0x0
R12: 0x7fffffffbd88 --> 0x0
R13: 0x7fffffffbd30 --> 0x7fffffffbd28 --> 0xff0001
R14: 0x7fffffff9da0 --> 0x10fc
R15: 0x7fffffff9ea8 --> 0x7fffffff9eb8 --> 0x0
EFLAGS: 0x10206 (carry PARITY adjust zero sign trap INTERRUPT direction overflow)
[-------------------------------------code-------------------------------------]
   0x55555574e27c <_ZN4ESM44Cell4loadERNS_6ReaderE+172>:	mov    rdi,r12
   0x55555574e27f <_ZN4ESM44Cell4loadERNS_6ReaderE+175>:	xor    esi,esi
   0x55555574e281 <_ZN4ESM44Cell4loadERNS_6ReaderE+177>:	call   0x5555557edfb0 <_ZNK4ESM46Reader3grpEm>
=> 0x55555574e286 <_ZN4ESM44Cell4loadERNS_6ReaderE+182>:	mov    eax,DWORD PTR [rax+0xc]
   0x55555574e289 <_ZN4ESM44Cell4loadERNS_6ReaderE+185>:	cmp    eax,0xff
   0x55555574e28e <_ZN4ESM44Cell4loadERNS_6ReaderE+190>:	ja     0x55555574e314 <_ZN4ESM44Cell4loadERNS_6ReaderE+324>
   0x55555574e294 <_ZN4ESM44Cell4loadERNS_6ReaderE+196>:	cmp    al,0x5
   0x55555574e296 <_ZN4ESM44Cell4loadERNS_6ReaderE+198>:	jne    0x55555574e314 <_ZN4ESM44Cell4loadERNS_6ReaderE+324>
[------------------------------------stack-------------------------------------]
0000| 0x7fffffff9bb0 --> 0x0
0008| 0x7fffffff9bb8 --> 0x0
0016| 0x7fffffff9bc0 --> 0x0
0024| 0x7fffffff9bc8 --> 0x0
0032| 0x7fffffff9bd0 --> 0x0
0040| 0x7fffffff9bd8 --> 0x0
0048| 0x7fffffff9be0 --> 0x0
0056| 0x7fffffff9be8 --> 0x0
[------------------------------------------------------------------------------]
Legend: code, data, rodata, value
Stopped reason: SIGSEGV
0x000055555574e286 in ESM4::Cell::load (this=0x7fffffff9da0, reader=...) at /home/jvoisin/dev/openmw/openmw/components/esm4/loadcell.cpp:68
68	   if (reader.grp().type == ESM4::Grp_ExteriorSubCell && reader.grp().label.grid[1] == 0
gdb-peda$ bt
    this=<optimized out>, reader=...) at /home/jvoisin/dev/openmw/openmw/apps/esmtool/tes4.cpp:547
    recordInvocable=...) at /home/jvoisin/dev/openmw/openmw/./components/esm4/readerutils.hpp:31
    at /home/jvoisin/dev/openmw/openmw/./components/esm4/readerutils.hpp:23
    at ../csu/libc-start.c:381
```
2 years ago
Evil Eye ed7b6dc2a7 Clarify CharacterCreation::setValue 2 years ago
psi29a 364bc91f5b Merge branch 'fix_element_destroy' into 'master'
Fix bug in LuaUi::Element::destroy() that sometimes leads to an infinite loop on UI cleanup

See merge request OpenMW/openmw!3033
2 years ago
psi29a 458ee4abaa Merge branch 'coc_destination' into 'master'
Improve coc destination search in ESM4 cells

See merge request OpenMW/openmw!3034
2 years ago
psi29a e1754b840a Merge branch 'fix_empty_vector' into 'master'
Guard an undefined behaviour

Closes #6725

See merge request OpenMW/openmw!3037
2 years ago
Tetramir 3d574f16a1 Merge branch 'grid_update' into 'master'
Update mHalfGridSize in Scene::changeCellGrid before using it

See merge request OpenMW/openmw!3030
2 years ago
Evil Eye 4e05dd3cd3 Make FontWrapper conditional 2 years ago
Evil Eye 492e336c0c Use string_view in more UI code 2 years ago
Alexei Kotov 08dc48586e Merge branch 'assert_throw' into 'master'
Replace an `assert` with a conditional throw

See merge request OpenMW/openmw!3038
2 years ago
Alexei Dobrohotov 3e8a9d1de4 Read BSTreeNode, handle as NiNode 2 years ago
Evil Eye 5491512905 Use string_view in more places and reduce the number of empty string literals 2 years ago
Petr Mikheev 9b6808f83d Improve coc destination search in ESM4 cells 2 years ago
elsid 5d5e6844d1
Use settings values for Camera settings 2 years ago
jvoisin 81bd034a9e Guard an undefined behaviour
`std::vector.back()` on an empty `std::vector` is undefined.
This should fix #6725.

Thanks to @Capostrophic for the investigation.
2 years ago
jvoisin cde7aeac3d Replace an `asert` with a conditional throw
The assert is reachable, resulting in a brutal `abort`
instead of a nice exception.
2 years ago
Alexei Kotov 5b36ea0179 Merge branch 'fix_cell_settings_type' into 'master'
Map SettingValueType Cell to float setting type (#7382)

Closes #7382

See merge request OpenMW/openmw!3035
2 years ago
elsid 4be43a2dca
Map SettingValueType Cell to float setting type 2 years ago
Petr Mikheev fdd80f93e9 Merge branch 'bb_fix_lua' into 'master'
lua - fix bounding box in active grid

See merge request OpenMW/openmw!3031
2 years ago
Petr Mikheev c6eed2a6c6 Fix bug in LuaUi::Element::destroy() that sometimes leads to an infinite loop on UI cleanup 2 years ago
glassmancody.info 06676fd623 lua - fix bounding box in active grid 2 years ago
Petr Mikheev 1d55844f26 Update mHalfGridSize in Scene::changeCellGrid before using it. 2 years ago
Alexei Kotov 5f6ca2a6d1 Merge branch 'fix_worldspaces' into 'master'
Bugfix: Unload active cells when teleporting to another exterior worldspace

See merge request OpenMW/openmw!3028
2 years ago
Petr Mikheev 690c752984 Unload active cells when teleporting to another exterior worldspace 2 years ago
psi29a 1ce35fa9e7 Merge branch 'lua-bounding-box' into 'master'
Expose game object's bounding box in lua api

See merge request OpenMW/openmw!3009
2 years ago
psi29a e952eac501 Merge branch 'initialize' into 'master'
Explicitly intialize the fields in `ESM4::Cell` that don't have default constructors.

See merge request OpenMW/openmw!3027
2 years ago
Petr Mikheev be26fbdacb Explicitly intialize the fields in `ESM4::Cell` that don't have default constructors. 2 years ago
glassmancody.info a7b7f99d72 Expose game object's bounding box in lua api 2 years ago
psi29a a939834a8b Merge branch 'esm4refs' into 'master'
ESM4 walking simulator improvements

See merge request OpenMW/openmw!3024
2 years ago
Petr Mikheev 61232f4b75 Fix uninitialized mWaterLevel in esm4/loadwrld.cpp 2 years ago
Petr Mikheev 493858127a Drop NIF root node transformation for Skyrim models the same way as for Morrowind models. 2 years ago
Petr Mikheev 169859025c Don't use `getTerrainHeightAt(pos)` when adjusting position in ESM4 cell because this function is currently specific to ESM3. 2 years ago
Petr Mikheev c8056f6561 Hide ESM4 LOD objects and markers 2 years ago
Petr Mikheev 29031d0586 Increase ESM4 active grid 2 years ago
Petr Mikheev ac65246389 Speedup ESM4 cell loading; load objects from permanent cells (exterior doors in particular) 2 years ago
Petr Mikheev b1409182bc Merge branch 'esm4_reading_fixes' into 'master'
ESM4 reading fixes

See merge request OpenMW/openmw!3026
2 years ago
elsid 15f3e3ae71
Support ESM4 IDLE record 2 years ago
elsid 584c0dbcdc
Support reading bool GMST by ESM4 2 years ago
elsid ee3956e4f2
Print FormId as hex by esmtool dump 2 years ago