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

44 commits

Author SHA1 Message Date
florent.teppe
3b2d9161c4 Applied review advice
better deals with templated functions meant for esm3 used by esm4s.
simplified loading of esm4 and dealing with unhandled record types.
2023-01-02 19:20:03 +01:00
florent.teppe
077cf97bc4 The esm4 reader logic is mutualised
to avoid copy pasting code, readerutils gives functions that take visitors as params to decide how a record must be handled

Check encoder exists, and get value of stateless encoder.

fixes code formatting conventions

Fixed output of record with RefId

also fixed readTypedRecord and readRecord to have the proper return types

Check if the type has a sRecordId
2023-01-01 19:22:27 +01:00
florent.teppe
c721a6cafa Initial commit to load ESM4
Some data is actually loaded and store in ESM Store
Any new ESM4 will go through the same code path and be automatically sent to the right store
2023-01-01 16:22:57 +01:00
elsid
baa39c06bb
Move fourCC to a separate file 2022-11-06 15:35:16 +01:00
elsid
843753da14
Remove unused includes 2022-10-09 16:44:18 +02:00
elsid
063fff7fa4
Fix and prevent -Wextra-semi warning 2022-10-06 00:26:43 +02:00
clang-format-bot
ddb0522bbf
Apply clang-format to code base 2022-09-22 21:35:26 +03:00
elsid
6f00641c8a
Fix reading array of zero terminated strings
NIFZ and KFFZ subrecords store multiple strings separated by \0 character.
2022-09-15 00:01:19 +02:00
elsid
4f7dcd5ae5
Fix conversion to UTF8 for ESM4 Reader strings
toUtf8 returns a string view to the input when input string is ASCII and nothing
is written to the buffer which means output string of Reader::getStringImpl is
not modified.

Move input to the output string and resize it in this case.
2022-09-12 01:42:01 +02:00
Project579
886b8c7af2 Fix build error with stdlibc++ due to includes shuffling. 2022-09-11 14:41:21 +02:00
Project579
a13709c510 Replace implicit convertions from std::filesystem::path to std::string with correctly converting functions. 2022-09-11 14:41:20 +02:00
Project579
e5c417c968 Make sure all paths are passed as std::filesystem::path instead of std::string where possible. 2022-09-11 14:41:15 +02:00
elsid
ac1688f9c1
Remove ESM::Reader base class
This class does not serve any useful purpose now. It was added as a first step
in attempt to define common interface for ESM3 and ESM4 readers. But this is not
going to happen.
2022-09-10 15:17:49 +02:00
florent.teppe
252550d86f Added records for ESM4s the throw std:: logic error ensures at compile time that there is no collision
static_assert doesn't work because the function can be called at run time
2022-09-05 17:35:35 +02:00
AnyOldName3
4e8e2e1c60 Eliminate &thing[0] pattern 2022-09-03 16:41:35 +01:00
elsid
f99ed6f1db
Split components/misc/stringops.hpp into multiple headers
Replace all ciEqual overloads with one having std::string_view as argument.
2022-08-03 22:06:24 +02:00
elsid
6c8ed4d19c
Move Files::IStreamPtr alias to a separate header
To avoid transitive include of Windows.h all over the engine.
2022-07-17 11:35:39 +02:00
Andrei Kortunov
14b5674d32 Init missing data members 2022-07-03 15:44:50 +04:00
Andrei Kortunov
523ad825c2 There is no point to compare an unsigned value with 0 2022-07-03 15:44:31 +04:00
jvoisin
aeb3733e57 Remove boost:: constructs
Namely boost::scoped_array and boost::to_lower_copy.
2022-05-29 21:21:51 +02:00
jvoisin
4e4debb1cb Remove even more of boost::filesystem 2022-05-25 18:29:02 +00:00
jvoisin
331363d469 Merge branch 'fix_uninit' into 'master'
Fix uninitialized coverity warnings

See merge request OpenMW/openmw!1819
2022-05-05 17:35:16 +00:00
Evil Eye
a64979e25d Replace empty std::string assignments 2022-05-04 22:33:39 +02:00
jvoisin
143dcad0e8 Use an if instead of an assert 2022-05-02 21:17:24 +00:00
elsid
b67a0a8f2b
Fix uninitialized coverity warnings 2022-05-01 18:36:16 +02:00
elsid
d2510284ec
Support TES4 in esmtool dump 2022-04-25 17:35:26 +02:00
elsid
4b28d51d5e
Remove virtual modifiers from ESM4 record functions
There is no need to have virtual functions.
2022-04-25 17:35:25 +02:00
elsid
2c9b6fffe5
Remove preloading logic from ESM4::Cell
This logic does not belong here. If client of ESM4::Cell needs to cache load
results it can be done separately.
2022-04-25 17:35:25 +02:00
elsid
13c970b37a
Add const modifier to encoder type 2022-04-25 17:35:25 +02:00
elsid
c7ba4100e1
Remove undefined and redundant ESM4 record type constructors 2022-04-25 17:35:25 +02:00
psi29a
f99f818c0c Merge branch 'esm4_cleanup' into 'master'
ESM4 cleanup

See merge request OpenMW/openmw!1792
2022-04-23 15:27:28 +00:00
elsid
4a49bc4941
Remove undefined constructor declaration 2022-04-23 01:27:45 +02:00
elsid
d71a1efa92
Rename components/esm4/acti.hpp -> components/esm4/loadacti.hpp 2022-04-23 00:40:45 +02:00
elsid
d5fb2f8091
Use ESM::fourCC to define ESM4 record types 2022-04-23 00:32:52 +02:00
elsid
3abcf3dd0d
Fix style guide 2022-04-23 00:32:52 +02:00
elsid
94c1d0cced
Use unique_ptr to store istream 2022-04-22 18:27:17 +02:00
elsid
5eb8c4aebe
Avoid redundant conversion to const char* and use make_shared 2022-04-10 22:33:08 +02:00
elsid
f516e34688
Remove used-defined constructors from ESM4 types
To avoid explicit initialization. It should happen in the load functions anyway.

* Move all non-zero initializations to corresponding class definition.
* Replace std::vector by std::array when it has constant size.
2022-02-22 20:11:45 +01:00
psi29a
1c1581bdab Merge branch 'check_esm4_compilation' into 'master'
Check ESM4 compilation

See merge request OpenMW/openmw!1677
2022-02-19 12:18:43 +00:00
elsid
96463cbb02
Remove malformed and unused esm4/records.hpp file 2022-02-19 02:52:49 +01:00
elsid
cccfb14785
Remove user-defined constructor from ESM4::Quest
To avoid explicit initialization. It should happen in the load functions anyway.
2022-02-19 02:08:30 +01:00
elsid
139ae9325a Fix compile errors by using StatelessUtf8Encoder 2022-02-16 16:41:23 +01:00
Bret Curtis
8113620dce handle a few wearnings raised as errors 2022-01-31 08:58:45 +01:00
cc9cii
ba3ae448d4 Initial import of esm4 by cc9cii 2022-01-31 08:58:45 +01:00