1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-31 19:45:34 +00:00
openmw/components/esm4
elsid 358b7ad3ec
Keep ESM4 localized strings in memory
Size of the files is in order of megabytes at max. Storing offset lookup table
to read from file on demand is less efficient than reading from memory for such
size.

Read and store offsets first. Sort them to read values sequentially. Memoize
last offset and value to avoid reading the same value twice. Use seek only when
current possition does not match offset. Optimize seek for short distance by
calling read instead.
2023-05-22 22:09:06 +02:00
..
actor.hpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
cellgrid.hpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
common.hpp Split components/esm4/common.hpp header 2023-04-04 10:12:20 +02:00
dialogue.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
effect.hpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
formid.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
formid.hpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
grid.hpp Split components/esm4/common.hpp header 2023-04-04 10:12:20 +02:00
grouptype.hpp Split components/esm4/common.hpp header 2023-04-04 10:12:20 +02:00
inventory.hpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
lighting.hpp Minor header cleanup 2023-04-30 16:26:03 +02:00
loadachr.cpp Read ESM::FormId using ESM4::Reader::getFormId 2023-05-17 22:59:29 +02:00
loadachr.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadacre.cpp Read ESM::FormId using ESM4::Reader::getFormId 2023-05-17 22:59:29 +02:00
loadacre.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadacti.cpp Load more ESM4 records 2023-04-09 18:52:11 +02:00
loadacti.hpp Load more ESM4 records 2023-04-09 18:52:11 +02:00
loadalch.cpp Load more ESM4 records 2023-04-09 18:52:11 +02:00
loadalch.hpp Load more ESM4 records 2023-04-09 18:52:11 +02:00
loadaloc.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadaloc.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadammo.cpp Load more ESM4 records 2023-04-09 18:52:11 +02:00
loadammo.hpp Load more ESM4 records 2023-04-09 18:52:11 +02:00
loadanio.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadanio.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadappa.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadappa.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadarma.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadarma.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadarmo.cpp Load more ESM4 records 2023-04-09 18:52:11 +02:00
loadarmo.hpp Load more ESM4 records 2023-04-09 18:52:11 +02:00
loadaspc.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadaspc.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadbook.cpp Load more ESM4 records 2023-04-09 18:52:11 +02:00
loadbook.hpp Load more ESM4 records 2023-04-09 18:52:11 +02:00
loadbptd.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadbptd.hpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadcell.cpp mWater level disabled for skyrim. 2023-05-12 22:05:54 +02:00
loadcell.hpp Explicitly intialize the fields in ESM4::Cell that don't have default constructors. 2023-05-18 20:21:47 +02:00
loadclas.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadclas.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadclfm.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadclfm.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadclot.cpp Load more ESM4 records 2023-04-09 18:52:11 +02:00
loadclot.hpp Load more ESM4 records 2023-04-09 18:52:11 +02:00
loadcont.cpp Load more ESM4 records 2023-04-09 18:52:11 +02:00
loadcont.hpp Load more ESM4 records 2023-04-09 18:52:11 +02:00
loadcrea.cpp Read ESM::FormId using ESM4::Reader::getFormId 2023-05-17 22:59:29 +02:00
loadcrea.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loaddial.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loaddial.hpp Remove unused includes 2022-10-09 16:44:18 +02:00
loaddobj.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loaddobj.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loaddoor.cpp Load more ESM4 records 2023-04-09 18:52:11 +02:00
loaddoor.hpp Load more ESM4 records 2023-04-09 18:52:11 +02:00
loadeyes.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadeyes.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadflor.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadflor.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadflst.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadflst.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadfurn.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadfurn.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadglob.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadglob.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadgmst.cpp Support reading bool GMST by ESM4 2023-05-17 22:59:34 +02:00
loadgmst.hpp Support reading bool GMST by ESM4 2023-05-17 22:59:34 +02:00
loadgras.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadgras.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadgrup.hpp Minor header cleanup 2023-04-30 16:26:03 +02:00
loadhair.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadhair.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadhdpt.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadhdpt.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadidle.cpp Support ESM4 IDLE record 2023-05-17 22:59:34 +02:00
loadidle.hpp Support ESM4 IDLE record 2023-05-17 22:59:34 +02:00
loadidlm.cpp Read ESM::FormId using ESM4::Reader::getFormId 2023-05-17 22:59:29 +02:00
loadidlm.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadimod.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadimod.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadinfo.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadinfo.hpp Remove unused includes 2022-10-09 16:44:18 +02:00
loadingr.cpp Load more ESM4 records 2023-04-09 18:52:11 +02:00
loadingr.hpp Load more ESM4 records 2023-04-09 18:52:11 +02:00
loadkeym.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadkeym.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadland.cpp Fix regressions in ESM4 reader caused by !2902 2023-04-22 17:07:54 +02:00
loadland.hpp Fix regressions in ESM4 reader caused by !2902 2023-04-22 17:07:54 +02:00
loadlgtm.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadlgtm.hpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadligh.cpp Load more ESM4 records 2023-04-09 18:52:11 +02:00
loadligh.hpp Load light models in the engine. Doesn't emit light 2023-02-06 20:22:17 +01:00
loadltex.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadltex.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadlvlc.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadlvlc.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadlvli.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadlvli.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadlvln.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadlvln.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadmato.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadmato.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadmisc.cpp Load more ESM4 records 2023-04-09 18:52:11 +02:00
loadmisc.hpp Load more ESM4 records 2023-04-09 18:52:11 +02:00
loadmset.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadmset.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadmstt.cpp Read ESM::FormId using ESM4::Reader::getFormId 2023-05-17 22:59:29 +02:00
loadmstt.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadmusc.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadmusc.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadnavi.cpp Read ESM::FormId using ESM4::Reader::getFormId 2023-05-17 22:59:29 +02:00
loadnavi.hpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadnavm.cpp Read ESM::FormId using ESM4::Reader::getFormId 2023-05-17 22:59:29 +02:00
loadnavm.hpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadnote.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadnote.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadnpc.cpp Read ESM::FormId using ESM4::Reader::getFormId 2023-05-17 22:59:29 +02:00
loadnpc.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadotft.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadotft.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadpack.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadpack.hpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadpgrd.cpp Fix regressions in ESM4 reader caused by !2902 2023-04-22 17:07:54 +02:00
loadpgrd.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadpgre.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadpgre.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadpwat.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadpwat.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadqust.cpp Fix regressions in ESM4 reader caused by !2902 2023-04-22 17:07:54 +02:00
loadqust.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadrace.cpp Fix regressions in ESM4 reader caused by !2902 2023-04-22 17:07:54 +02:00
loadrace.hpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadrefr.cpp Make Store<ESM4::Reference> to use FormId instead of RefId 2023-04-20 01:47:16 +02:00
loadrefr.hpp Make Store<ESM4::Reference> to use FormId instead of RefId 2023-04-20 01:47:16 +02:00
loadregn.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadregn.hpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadroad.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadroad.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadsbsp.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadsbsp.hpp Fix -Wnon-virtual-dtor warnings 2023-02-03 23:00:09 +01:00
loadscol.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadscol.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadscpt.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadscpt.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadscrl.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadscrl.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadsgst.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadsgst.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadslgm.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadslgm.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadsndr.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadsndr.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadsoun.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadsoun.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadstat.cpp Load more ESM4 records 2023-04-09 18:52:11 +02:00
loadstat.hpp Restore original formId 2023-01-29 02:35:06 +01:00
loadtact.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadtact.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadterm.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadterm.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadtes4.cpp Guard an undefined behaviour 2023-05-20 19:35:06 +02:00
loadtes4.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadtree.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadtree.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadtxst.cpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
loadtxst.hpp Apply clang-format to code base 2022-09-22 21:35:26 +03:00
loadweap.cpp Load more ESM4 records 2023-04-09 18:52:11 +02:00
loadweap.hpp Load more ESM4 records 2023-04-09 18:52:11 +02:00
loadwrld.cpp Fix uninitialized mWaterLevel in esm4/loadwrld.cpp 2023-05-18 02:10:39 +02:00
loadwrld.hpp Initial attempt at loading esm4 exteriors 2023-05-12 22:05:52 +02:00
magiceffectid.hpp Split components/esm4/common.hpp header 2023-04-04 10:12:20 +02:00
reader.cpp Keep ESM4 localized strings in memory 2023-05-22 22:09:06 +02:00
reader.hpp Keep ESM4 localized strings in memory 2023-05-22 22:09:06 +02:00
readerutils.hpp Split components/esm4/common.hpp header 2023-04-04 10:12:20 +02:00
records.hpp Support loading ESM4 GMST records 2023-04-04 09:59:35 +02:00
reference.hpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
script.hpp Merge ESM::RefNum and ESM4::FormId 2023-04-09 00:23:32 +02:00
typetraits.hpp Support loading ESM4 GMST records 2023-04-04 09:59:35 +02:00
vertex.hpp Split components/esm4/common.hpp header 2023-04-04 10:12:20 +02:00