Commit Graph

245 Commits

Author SHA1 Message Date
jvoisin a204f392c9 Minor simplification in multidircollection.cpp 2022-06-02 20:23:19 +02:00
Petr Mikheev c7ab67c2c1 Allow relative paths in openmw.cfg; support --replace=config. 2022-04-28 00:39:41 +02:00
elsid 0dcb1f5aac
Fix build on Windows
Use wrapper header over Windows.h to undefine far and near in a single place.
2022-04-25 00:25:46 +02:00
elsid 94c1d0cced
Use unique_ptr to store istream 2022-04-22 18:27:17 +02:00
elsid c94d8be7bf
Add generic StreamWithBuffer owning the underlying buffer 2022-04-22 18:27:17 +02:00
elsid 9d6d0c6ffb
Move ConstrainedStreamBuf into separate file 2022-04-22 18:27:17 +02:00
elsid fbc853804d
Fix recover from errors in Files::getHash 2022-04-15 21:43:54 +02:00
elsid b09570692e
Use ifstream for ESMReader
ESMReader reads the whole file, there is no need in the ConstrainedFileStream.
2022-04-15 02:58:57 +02:00
elsid 5eb8c4aebe
Avoid redundant conversion to const char* and use make_shared 2022-04-10 22:33:08 +02:00
Petr Mikheev 5f74df75c6 Add default value for `config`. 2022-02-06 23:09:06 +01:00
Petr Mikheev ac5cd6c80a Add default value for `user-data` in openmw.cfg 2022-02-06 21:07:14 +01:00
Petr Mikheev 6084dbfc3a Add a warning if replace==config is used. 2022-02-03 00:07:30 +01:00
Petr Mikheev 5b23ba3faf Fix `defaulted` in ConfigurationManager::mergeComposingVariables 2022-02-02 23:47:11 +01:00
Petr Mikheev 9c1ff16b62 Add config variable `user-data="?userdata?"`. Allows to override paths to saves and screenshots. 2022-02-02 23:47:11 +01:00
Petr Mikheev 5ff2fc55ac Make ConfigurationManager::getUserConfigPath to return the actual config path where the settings, logs, and Lua storage are stored. 2022-02-02 23:47:11 +01:00
Petr Mikheev 5ca56a4f8a New option "config" for specifying additional config directories. 2022-02-02 23:47:11 +01:00
elsid ecbcdd0e54
Add missing initialization 2022-01-29 06:31:14 +01:00
AnyOldName3 8fc09f8c51 Merge remote-tracking branch 'upstream/master' into detain-hash-selectively-reluctant
Merge conflicts included:
* One setting being removed (branch had changed its type).
* One setting's description being changed (branch had changed its type).
* List of files in components/files was changed both upstream and on the
  branch.
* Upstream had changed something in a file the branch deletes.
2021-12-09 17:09:52 +00:00
AnyOldName3 b991263a92 Work around https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89062 2021-11-29 20:16:49 +00:00
AnyOldName3 5e9d460032 Remove redundant conversion operator 2021-11-28 20:33:17 +00:00
AnyOldName3 84d6de3eba Parse paths with boost rules when it's quoted, but use the string verbatim when it's not 2021-11-21 19:51:02 +00:00
elsid a665a38aca
Use MurmurHash3_x64_128 for file hash 2021-11-21 17:05:59 +01:00
Evil Eye 751e8cf76b Do a bounds check before calling functions defined in cctype 2021-11-14 11:26:15 +01:00
AnyOldName3 8fb0b5846e Allow paths with trailing data, emmitting a warning 2021-11-14 00:22:44 +00:00
elsid d7041613ef
Store BulletShape source file name and content hash 2021-11-11 00:27:18 +01:00
Bo Svensson 1960e976e2
refactors stringops.hpp (#3192)
With this PR we refactor `StringUtils::replaceAll` to accept `string_view` as suggested in a code comment. In addition, while we are touching this rebuild happy file, we slim it down a bit by moving a few sparingly used functions elsewhere.
2021-11-05 10:53:52 +01:00
AnyOldName3 9be606a40d Finish removing old Escape classes 2021-10-17 23:40:34 +01:00
AnyOldName3 1b83b08d80 Merge remote-tracking branch 'upstream/master' into detain-hash
Tests which no longer work are commented out.
Some of these don't work because they're effectively testing for the
presence of bugs in the old implementation.
Others don't work because we're no longer accidentally disabling the
boost::program_options feature where it generates an error if only part
of a token gets consumed.
These will be fixed by later commits.
2021-10-10 23:50:50 +01:00
AnyOldName3 af0d399103 Purge all uses of Escape Hash types 2021-10-09 01:49:08 +01:00
AnyOldName3 cf3596fbb4 Add copyright preamble 2021-10-07 00:44:50 +01:00
AnyOldName3 e382f71aea Add implementation of config file parser lifted from Boost 2021-10-07 00:39:23 +01:00
elsid 035307b012
Add tests for openmw options
In attempt to document current behaviour. Add commented out checks as desired
behaviour.
2021-10-05 22:51:12 +02:00
AnyOldName3 4727ae4b3b Make it possible to opt out of composing variables 2021-08-01 02:47:10 +01:00
jvoisin 22153cca7b Reduce a bit the code bloat in hot paths/small functions
There is no need to bloat hot/small functions with
a ton of function calls and involving locales
for simple error messages.
2021-06-15 17:57:14 +02:00
Andrei Kortunov f9d42ed396 Fix MSVC's C4267 warnings 2021-05-12 10:34:39 +04:00
Andrei Kortunov 801e2d6ad0 Avoid to use uninitialized variables 2021-01-09 13:36:40 +04:00
Andrei Kortunov 8084a336b5 Replace zeroes and nulls by nullptrs 2020-11-29 11:14:07 +04:00
Andrei Kortunov 4acd910b37 Rework file error messages handling 2020-11-26 18:53:56 +04:00
Alexei Dobrohotov 53f91a3aa5
Merge pull request #3018 from akortunov/emplace
Use emplace_back instead of push_back
2020-11-01 01:58:56 +03:00
AnyOldName3 5869ac71e3 Merge all composing variables, not just those in destination already
This resolves a regression where the local openmw.cfg doesn't exist, so
we fall back to the global openmw.cfg, but because we've not loaded
anything from the local openmw.cfg, there are no variables with which to
merge.
2020-10-28 00:36:49 +00:00
AnyOldName3 8b28b6e55e Compose BSA, context and script blacklist lists
These would only take their value from the highest priority source, so
specifying `openmw --content anExtraEsp.esp` would override all the
content files in the user cfg file, and the user cfg file would override
any in the global/local one.
2020-10-23 01:58:43 +01:00
AnyOldName3 fca8634b74 Remove debugging lines 2020-10-23 01:46:49 +01:00
AnyOldName3 cf81f1bbb7 Make composing variables compose in the expected order 2020-10-23 01:41:28 +01:00
AnyOldName3 6c311f4a3d Partially revert 3a912485
While it solved the bug it was supposed to, it caused a regression where
the user config could no longer override the global config.
2020-10-22 21:38:22 +01:00
Andrei Kortunov 065ed5138e Use emplace_back instead of push_back 2020-10-18 10:27:35 +04:00
Andrei Kortunov 8ca3c3b123 Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
Fanael Linithien e8ec62b298 Use all-lowercase names for windows API headers
This allows the code to successfully cross-compile from hosts with case
sensitive file names, like linux.
2020-05-24 16:49:20 +02:00
p4r4digm 0741fe5b80 removed path configuration and made screenshots just save in a folder 2020-04-20 09:22:50 -07:00
p4r4digm 2b54e6216b Added setting to change the directory screenshots are stored in 2020-04-19 16:38:57 -07:00
Andrei Kortunov 75fed1d236 Print error code when failed to open file on Windows 2020-01-02 09:28:38 +04:00