Commit Graph

1000 Commits (448853fbcf156c29ba88f978a8ccc7c61a5068b3)

Author SHA1 Message Date
elsid da0a1ac9ba
Do compile time checks in compile time instead of tests 2 years ago
elsid 6c8ed4d19c
Move Files::IStreamPtr alias to a separate header
To avoid transitive include of Windows.h all over the engine.
3 years ago
elsid bef15edf0b
Remove redundant ostream, istream, iostream and sstream includes
* Replace by std::to_string and operator+ where possible.
* Move the code requiring to include <sstream> from .hpp to .cpp files.
3 years ago
Petr Mikheev a70d5831c5 Lua scripts configuration in omwaddon 3 years ago
elsid d2510284ec
Support TES4 in esmtool dump 3 years ago
elsid 13c970b37a
Add const modifier to encoder type 3 years ago
psi29a f99f818c0c Merge branch 'esm4_cleanup' into 'master'
ESM4 cleanup

See merge request OpenMW/openmw!1792
3 years ago
elsid 761a04ce00
Remove duplicated enum definition 3 years ago
elsid 94c1d0cced
Use unique_ptr to store istream 3 years ago
Evil Eye 61ea678a96 Implement ignored records 3 years ago
elsid 5eb8c4aebe
Avoid redundant conversion to const char* and use make_shared 3 years ago
psi29a 6d55317d57 Merge branch 'refactor/prng-2' into 'master'
Save random state and refactor usage of generators

See merge request OpenMW/openmw!1715
3 years ago
ζeh Matt b502dc12f0
Add prng to World instance and serialize state in Save 3 years ago
Petr Mikheev d251c4e2a1 [Lua] Change behavior of `obj.type` 3 years ago
duncanspumpkin 3a117cac22 Switch to a constexpr for FourCC constant
Add static asssert on wrong size
3 years ago
Bret Curtis 0f43455dc3 merge in master 3 years ago
elsid 139ae9325a Fix compile errors by using StatelessUtf8Encoder 3 years ago
elsid 3305b400dc
Use ESM::NAME instead of const char* and std::string as argument type 3 years ago
cc9cii ba3ae448d4 Initial import of esm4 by cc9cii 3 years ago
jvoisin 4cd6d2dacf Merge branch 'rework_fixed_string' into 'master'
Rework fixed string

See merge request OpenMW/openmw!1596
3 years ago
Petr Mikheev 68ef96410c Make ESM::Position not packed (should fix #6566) 3 years ago
elsid 45db56b382
Rework fixed string
* Avoid inheritance.
* Define equality operators out of the class definition.
* Replace toString with toStringView where it doesn't make sense to create a string.
3 years ago
Bret Curtis d1fb854521 move most of the files from esm to esm3, keep common code in esm; this is make space for a future with esm4
esm typo

esm typo
3 years ago
Petr Mikheev 2d1b100239 Change terminology of gameSecond/gameHour to simulationTime/gameTime 3 years ago
psi29a bafde5c9c4 Merge branch 'cleanup' into 'master'
Remove constant conditions

See merge request OpenMW/openmw!1527
3 years ago
jvoisin 421e6629ad Fix unnecessary-copy-initialization
> warning: the variable 'key' is copy-constructed from a const reference but is
only used as const reference; consider making it a const reference
[performance-unnecessary-copy-initialization]

Found by clang-tidy.
3 years ago
Evil Eye 5a7a3a0d2d Silence a signed/unsigned mismatch warning 3 years ago
Evil Eye bdfad27e05 Remove constant conditions 3 years ago
psi29a 0766e1310b Merge branch 'lunacy' into 'master'
Don't touch base stats when turning into a werewolf

Closes #6333

See merge request OpenMW/openmw!1511
3 years ago
Evil Eye 6f870a464b Replace magic numbers with enums 3 years ago
Evil Eye debdcf2953 Don't touch base stats when turning into a werewolf 3 years ago
Evil Eye c1f59b1221 Automatically drop workaround when the format is next updated 3 years ago
elsid 5a6b39f8e0
Store mesh source data in recast mesh 3 years ago
psi29a 53e14eb238 Merge branch 'reset' into 'master'
AI reset argument

Closes #6177 and #1465

See merge request OpenMW/openmw!1405
3 years ago
Evil Eye 3c57ffd81f Save repeat and duration 3 years ago
Evil Eye 231da19aa4 Load repeat flag and use reset argument 3 years ago
Petr Mikheev ded8997362 Avoid problems if `builtin.omwscripts` is above `Morrowind.esm` in content list. 3 years ago
Bo Svensson a62b22cd31
isolates groundcover content files (#3208)
Specifications developed in PR #3206 require that groundcover content files must not be allowed to corrupt normal content files. With this PR we simply isolate our existing loading logic by instantiating a separate `ESMStore` for `Groundcover`. In addition, we remove some outdated workarounds.
3 years ago
Evil Eye 5f406158b5 Zero initialize context index 3 years ago
Alexei Dobrohotov 7a0c13fcf8 Make better use of std::clamp 3 years ago
Bo Svensson 6cf74f7041
refactors ESM::Land (#3213)
With this PR we reduce coupling, simplify code, encapsulate a variable and separate actual `ESM` data from its context.
3 years ago
Bo Svensson 4657c655b1 refactors parentFileIndices (#3211)
This PR aims to start addressing `ESM` design issues that have silenced errors we incorporated into groundcover `ESM` loading approaches.

- We move the resolution of `parentFileIndices` from `ESMStore` to `ESMReader` as suggested in a `TODO` comment.
- We improve a highly misleading comment which downplayed the significance of `parentFileIndices`.
- We document important preconditions.
- We move a user facing error message to the highest level and improve its context.
- We remove an inappropriate `setGlobalReaderList` method. We now pass this reader list into the method that requires it.
- We remove a thoroughly pointless optimisation of `Store<ESM::LandTexture>`'s construction that has unnecessarily depended on `getGlobalReaderList`.

There should be no functional changes for `master`, but this PR should remove an issue blocking PR #3208.
3 years ago
psi29a 4c81518abb Merge branch 'puddle' into 'master'
Give each reflect and spell absorption effect a chance to apply

Closes #6255 and #6253

See merge request OpenMW/openmw!1279
3 years ago
Petr Mikheev 47c89567fb Load LuaScriptsCfg from both *.omwscripts and *.omwaddon files. 3 years ago
Petr Mikheev 6aab246879 Add ESM records that are needed to store Lua scripts configuration;
Use ptr.getType() (i.e. esm record names) instead of typeid(ptr.getClass()) in apps/openmw/mwlua.
3 years ago
Evil Eye 4ec927829f Give each reflect and spell absorption effect a chance to apply 3 years ago
Andrei Kortunov 0f3c0cb0a0 Fix argument types mismatch 3 years ago
elsid 18d3102148
Do not use union to access FIXED_STRING<4> as int
https://en.cppreference.com/w/cpp/language/union:
> It's undefined behavior to read from the member of the union that wasn't most recently written.
3 years ago
Petr Mikheev a8acc19988 Avoid copying std::string in MWWorld::Ptr::getTypeDescription() 3 years ago
Evil Eye dc1fe62dde Overhaul magic effects to work with onApply and onEnd events 3 years ago