You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openmw/components/esm4
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
..
actor.hpp Merge ESM::RefNum and ESM4::FormId 2 years ago
cellgrid.hpp Merge ESM::RefNum and ESM4::FormId 2 years ago
common.hpp Split components/esm4/common.hpp header 2 years ago
dialogue.hpp Apply clang-format to code base 2 years ago
effect.hpp Merge ESM::RefNum and ESM4::FormId 2 years ago
formid.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
formid.hpp Merge ESM::RefNum and ESM4::FormId 2 years ago
grid.hpp Split components/esm4/common.hpp header 2 years ago
grouptype.hpp Split components/esm4/common.hpp header 2 years ago
inventory.hpp Merge ESM::RefNum and ESM4::FormId 2 years ago
lighting.hpp Minor header cleanup 2 years ago
loadachr.cpp Read ESM::FormId using ESM4::Reader::getFormId 2 years ago
loadachr.hpp Apply clang-format to code base 2 years ago
loadacre.cpp Read ESM::FormId using ESM4::Reader::getFormId 2 years ago
loadacre.hpp Apply clang-format to code base 2 years ago
loadacti.cpp Load more ESM4 records 2 years ago
loadacti.hpp Load more ESM4 records 2 years ago
loadalch.cpp Load more ESM4 records 2 years ago
loadalch.hpp Load more ESM4 records 2 years ago
loadaloc.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadaloc.hpp Apply clang-format to code base 2 years ago
loadammo.cpp Load more ESM4 records 2 years ago
loadammo.hpp Load more ESM4 records 2 years ago
loadanio.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadanio.hpp Apply clang-format to code base 2 years ago
loadappa.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadappa.hpp Apply clang-format to code base 2 years ago
loadarma.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadarma.hpp Apply clang-format to code base 2 years ago
loadarmo.cpp Load more ESM4 records 2 years ago
loadarmo.hpp Load more ESM4 records 2 years ago
loadaspc.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadaspc.hpp Apply clang-format to code base 2 years ago
loadbook.cpp Load more ESM4 records 2 years ago
loadbook.hpp Load more ESM4 records 2 years ago
loadbptd.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadbptd.hpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadcell.cpp mWater level disabled for skyrim. 2 years ago
loadcell.hpp Explicitly intialize the fields in `ESM4::Cell` that don't have default constructors. 2 years ago
loadclas.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadclas.hpp Apply clang-format to code base 2 years ago
loadclfm.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadclfm.hpp Apply clang-format to code base 2 years ago
loadclot.cpp Load more ESM4 records 2 years ago
loadclot.hpp Load more ESM4 records 2 years ago
loadcont.cpp Load more ESM4 records 2 years ago
loadcont.hpp Load more ESM4 records 2 years ago
loadcrea.cpp Read ESM::FormId using ESM4::Reader::getFormId 2 years ago
loadcrea.hpp Apply clang-format to code base 2 years ago
loaddial.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loaddial.hpp Remove unused includes 2 years ago
loaddobj.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loaddobj.hpp Apply clang-format to code base 2 years ago
loaddoor.cpp Load more ESM4 records 2 years ago
loaddoor.hpp Load more ESM4 records 2 years ago
loadeyes.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadeyes.hpp Apply clang-format to code base 2 years ago
loadflor.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadflor.hpp Apply clang-format to code base 2 years ago
loadflst.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadflst.hpp Apply clang-format to code base 2 years ago
loadfurn.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadfurn.hpp Apply clang-format to code base 2 years ago
loadglob.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadglob.hpp Apply clang-format to code base 2 years ago
loadgmst.cpp Support reading bool GMST by ESM4 2 years ago
loadgmst.hpp Support reading bool GMST by ESM4 2 years ago
loadgras.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadgras.hpp Apply clang-format to code base 2 years ago
loadgrup.hpp Minor header cleanup 2 years ago
loadhair.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadhair.hpp Apply clang-format to code base 2 years ago
loadhdpt.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadhdpt.hpp Apply clang-format to code base 2 years ago
loadidle.cpp Support ESM4 IDLE record 2 years ago
loadidle.hpp Support ESM4 IDLE record 2 years ago
loadidlm.cpp Read ESM::FormId using ESM4::Reader::getFormId 2 years ago
loadidlm.hpp Apply clang-format to code base 2 years ago
loadimod.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadimod.hpp Apply clang-format to code base 2 years ago
loadinfo.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadinfo.hpp Remove unused includes 2 years ago
loadingr.cpp Load more ESM4 records 2 years ago
loadingr.hpp Load more ESM4 records 2 years ago
loadkeym.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadkeym.hpp Apply clang-format to code base 2 years ago
loadland.cpp Fix regressions in ESM4 reader caused by !2902 2 years ago
loadland.hpp Fix regressions in ESM4 reader caused by !2902 2 years ago
loadlgtm.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadlgtm.hpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadligh.cpp Load more ESM4 records 2 years ago
loadligh.hpp Load light models in the engine. Doesn't emit light 2 years ago
loadltex.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadltex.hpp Apply clang-format to code base 2 years ago
loadlvlc.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadlvlc.hpp Apply clang-format to code base 2 years ago
loadlvli.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadlvli.hpp Apply clang-format to code base 2 years ago
loadlvln.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadlvln.hpp Apply clang-format to code base 2 years ago
loadmato.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadmato.hpp Apply clang-format to code base 2 years ago
loadmisc.cpp Load more ESM4 records 2 years ago
loadmisc.hpp Load more ESM4 records 2 years ago
loadmset.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadmset.hpp Apply clang-format to code base 2 years ago
loadmstt.cpp Read ESM::FormId using ESM4::Reader::getFormId 2 years ago
loadmstt.hpp Apply clang-format to code base 2 years ago
loadmusc.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadmusc.hpp Apply clang-format to code base 2 years ago
loadnavi.cpp Read ESM::FormId using ESM4::Reader::getFormId 2 years ago
loadnavi.hpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadnavm.cpp Read ESM::FormId using ESM4::Reader::getFormId 2 years ago
loadnavm.hpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadnote.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadnote.hpp Apply clang-format to code base 2 years ago
loadnpc.cpp Read ESM::FormId using ESM4::Reader::getFormId 2 years ago
loadnpc.hpp Apply clang-format to code base 2 years ago
loadotft.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadotft.hpp Apply clang-format to code base 2 years ago
loadpack.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadpack.hpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadpgrd.cpp Fix regressions in ESM4 reader caused by !2902 2 years ago
loadpgrd.hpp Apply clang-format to code base 2 years ago
loadpgre.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadpgre.hpp Apply clang-format to code base 2 years ago
loadpwat.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadpwat.hpp Apply clang-format to code base 2 years ago
loadqust.cpp Fix regressions in ESM4 reader caused by !2902 2 years ago
loadqust.hpp Apply clang-format to code base 2 years ago
loadrace.cpp Fix regressions in ESM4 reader caused by !2902 2 years ago
loadrace.hpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadrefr.cpp Make Store<ESM4::Reference> to use FormId instead of RefId 2 years ago
loadrefr.hpp Make Store<ESM4::Reference> to use FormId instead of RefId 2 years ago
loadregn.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadregn.hpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadroad.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadroad.hpp Apply clang-format to code base 2 years ago
loadsbsp.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadsbsp.hpp Fix -Wnon-virtual-dtor warnings 2 years ago
loadscol.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadscol.hpp Apply clang-format to code base 2 years ago
loadscpt.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadscpt.hpp Apply clang-format to code base 2 years ago
loadscrl.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadscrl.hpp Apply clang-format to code base 2 years ago
loadsgst.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadsgst.hpp Apply clang-format to code base 2 years ago
loadslgm.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadslgm.hpp Apply clang-format to code base 2 years ago
loadsndr.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadsndr.hpp Apply clang-format to code base 2 years ago
loadsoun.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadsoun.hpp Apply clang-format to code base 2 years ago
loadstat.cpp Load more ESM4 records 2 years ago
loadstat.hpp Restore original formId 2 years ago
loadtact.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadtact.hpp Apply clang-format to code base 2 years ago
loadterm.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadterm.hpp Apply clang-format to code base 2 years ago
loadtes4.cpp Guard an undefined behaviour 2 years ago
loadtes4.hpp Apply clang-format to code base 2 years ago
loadtree.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadtree.hpp Apply clang-format to code base 2 years ago
loadtxst.cpp Merge ESM::RefNum and ESM4::FormId 2 years ago
loadtxst.hpp Apply clang-format to code base 2 years ago
loadweap.cpp Load more ESM4 records 2 years ago
loadweap.hpp Load more ESM4 records 2 years ago
loadwrld.cpp Fix uninitialized mWaterLevel in esm4/loadwrld.cpp 2 years ago
loadwrld.hpp Initial attempt at loading esm4 exteriors 2 years ago
magiceffectid.hpp Split components/esm4/common.hpp header 2 years ago
reader.cpp Replace another `assert` with a `throw` 2 years ago
reader.hpp Read ESM::FormId using ESM4::Reader::getFormId 2 years ago
readerutils.hpp Split components/esm4/common.hpp header 2 years ago
records.hpp Support loading ESM4 GMST records 2 years ago
reference.hpp Merge ESM::RefNum and ESM4::FormId 2 years ago
script.hpp Merge ESM::RefNum and ESM4::FormId 2 years ago
typetraits.hpp Support loading ESM4 GMST records 2 years ago
vertex.hpp Split components/esm4/common.hpp header 2 years ago