1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-02-22 12:39:42 +00:00
Commit graph

146 commits

Author SHA1 Message Date
Alexei Kotov
c706a46dc4 ESM4::RACE: fix loading more than 5 head parts in FO4 2023-08-17 02:12:31 +03:00
Alexei Kotov
426eae3843 ESM4::RACE: don't use current index if it's unset
To be safer. Doesn't help with FO4 segfaults though
2023-08-17 02:12:31 +03:00
Alexei Kotov
4605894a5a Updating RACE for FO4, first pass 2023-08-17 02:12:31 +03:00
Alexei Kotov
0c05bbea37 Skip CTDA target condition subrecords 2023-08-17 02:12:31 +03:00
Alexei Kotov
22fb744751 Skip PRPS object property subrecords 2023-08-17 02:12:31 +03:00
Alexei Kotov
84d693324b ESM4: read texture set material 2023-08-17 02:12:31 +03:00
Alexei Kotov
e426dd045f Read string GMSTs correctly in >=TES5 2023-08-17 02:12:31 +03:00
Alexei Kotov
0e94ff4a73 Support unsigned int GMSTs 2023-08-17 02:12:31 +03:00
Alexei Kotov
891be9744d Skip TES4::TNAM 2023-08-17 02:12:31 +03:00
Zackhasacat
3e8a1cce7c Load ESM4 Terminal objects, add lua bindings for them 2023-08-15 06:23:38 +00:00
elsid
5abbc56bf2
Use proper cell size for ESM4 cells in CoordinateConverter 2023-08-13 02:24:22 +02:00
Petr Mikheev
5d54ca6fdb Refactor components/esm4 2023-08-05 13:12:24 +02:00
psi29a
9c2a2e1946 Merge branch 'nvpp_fixes' into 'master'
Improve safety of NVPP ESM records

See merge request OpenMW/openmw!3307
2023-08-03 07:15:43 +00:00
psi29a
4aaffa72e5 Merge branch 'more_coverity_fixes' into 'master'
More coverity fixes

See merge request OpenMW/openmw!3304
2023-08-03 07:15:34 +00:00
Andrei Kortunov
4e531524be Improve safety of NVPP ESM records 2023-08-01 10:39:34 +04:00
Andrei Kortunov
1ae2a994f0 Avoid null pointer dereference 2023-07-31 16:35:29 +04:00
elsid
798f3cc385
Support ESM4 record FullName, CellFlags, X, Y fields by esmtool 2023-07-30 18:20:10 +02:00
elsid
fd01b4cad7
Avoid casts to read cell flags 2023-07-30 17:59:54 +02:00
Petr Mikheev
9b511fdf7a Load ESM4 actors 2023-07-26 11:47:50 +02:00
Alexei Kotov
32022e9b5c Read STAT::MNAM 2023-07-24 10:36:39 +03:00
Alexei Kotov
727e5c5af2 Read IDLM model data 2023-07-17 22:51:25 +03:00
Alexei Kotov
1e7fef979a Skip MISC destruction data 2023-07-17 22:51:25 +03:00
Alexei Kotov
09f6032c9b Skip TACT::VMAD/MODS 2023-07-17 22:51:25 +03:00
Alexei Kotov
332f38b7ab Read SCRL::YNAM/ZNAM 2023-07-17 22:51:25 +03:00
Alexei Kotov
7e1e43f9c6 Allow GMSTs with empty EDID 2023-07-17 22:51:25 +03:00
Alexei Kotov
22cc7f3020 Skip LIGH destruction data 2023-07-17 22:51:25 +03:00
Alexei Dobrohotov
c6882dbc6b Skip REFR::XPTL
Needed by Yukichigai Unofficial Patch
2023-07-13 10:22:25 +03:00
elsid
11204d35d6
Use zlib directly for ESM4
Fallback to decompression by block of fixed size when decompressing the
whole archive fails.
2023-06-10 00:12:57 +02:00
elsid
f841a1377f
Skip ATTR subrecord in CLAS record
Present in FalloutNV.esm.
2023-06-09 23:44:39 +02:00
elsid
e8ef1a2a0c
Add default initialization for ESM4::TeleportDest::flags 2023-06-04 01:50:08 +02:00
jvoisin
3152078c7e Restore missing std::endl removed by an overeager regex 2023-06-01 13:48:41 +02:00
jvoisin
0e33730f5d Remove useless logging
As suggested in https://gitlab.com/OpenMW/openmw/-/merge_requests/3086#note_1413234840
2023-06-01 13:31:48 +02:00
jvoisin
a58dc6fd30 Use the logging system instead of std::cout in components/esm4
- Remove debug-related includes
- Add some trivial missing includes
- Remove useless {}
- Move the known-but-skipped-records are the end of the switch-cases
- Always throw on unknown records
2023-06-01 13:31:48 +02:00
psi29a
27a879de9a Merge branch 'tree_and_furniture' into 'master'
Load ESM4::Tree and ESM4::Furniture

See merge request OpenMW/openmw!3040
2023-06-01 09:15:46 +00:00
Petr Mikheev
5cb4c66266 Avoid using ESM4::Cell with uninitialized fields 2023-05-29 22:37:25 +02:00
Petr Mikheev
1b669db017 Load ESM4::Tree and ESM4::Furniture 2023-05-29 18:47:27 +02:00
florent.teppe
12304d36aa std::cout => Log(Debug::Verbose) 2023-05-29 12:10:42 +02:00
florent.teppe
ad8cfde4e0 ESM::LandData no longer a virtual interface
instead it is constructed from ESM::Land or ESM4::Land
2023-05-29 12:10:42 +02:00
florent.teppe
f600730459 fixes functions that were virtual but not tagged as override. 2023-05-29 12:10:41 +02:00
florent.teppe
2bb17279df linux build
clang format 14.0

Arm64 build
2023-05-29 12:10:41 +02:00
florent.teppe
d0211acf9e Fixes bug in terrain loading + collision heightmap works
although terrain rendering is 100% broken right now
2023-05-29 11:32:13 +02:00
florent.teppe
c35c7b3640 ESM4::Land loaded, added to store and to land objects
it does not work yet. Some things are displayed, but it looks all wrong.
2023-05-29 11:31:37 +02:00
florent.teppe
fffcf52316 land manager cache's key is an ExteriorCellLocation
ESM4::Land is now a ESM::LandData
2023-05-29 11:31:37 +02:00
jvoisin
c98c532213 Replace all asserts in components/esm[34] with throw 2023-05-27 16:10:53 +02:00
jvoisin
44a65512e8 Replace another assert with a throw 2023-05-26 10:23:58 +00:00
elsid
2f18da08d7
Add missing include 2023-05-23 12:26:16 +02:00
elsid
7c16ecb258
Skip more unknown ESM4 subrecords
CNAM from HDPT is a part of Dawnguard.esm.
ATKR from RACE is a part of Dawnguard.esm.
CIS2 from SCRL is a part of Dragonborn.esm.
SPMV from RACE is a part of Dragonborn.esm.
2023-05-22 22:09:08 +02:00
elsid
e537d1d0d4
Ignore missing localization string files by esmtool
Dawnguard.esm from Skyrim depends on files stored in Dawnguard.bsa which is not
processed by esmtool.
2023-05-22 22:09:08 +02:00
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
Alexei Kotov
401ebfd7f2 Merge branch 'fix_oblivion_loading' into 'master'
Fix Oblivion loading

See merge request OpenMW/openmw!3050
2023-05-22 18:18:35 +00:00