1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-06-27 02:11:37 +00:00
A mirror of the official openmw repository
Find a file
AnyOldName3 9e547e14d2 Allow setting up multiple build configurations at once
Also fix some bugs discovered in the process.

For multi-config generators, this basically just copies the DLLs for
each configuration, and for single-config, due to there being separate
build directories with separate extracted dependencies for each, it
defaults to just one, and will run the script several times if you
manually specify several.

Details include:
* Changing CONFIGURATION from a string to an array called
  CONFIGURATIONS. This gets iterated over in a bunch of places.
* Fixing a typo of 'cannot'
* Making the DLL lists arrays per-config, too.
* Some handling for the recursive stuff and a warning if configurations
  are set with a multi-config generator.
* Moving the configuration name sanitisation after they've been set.
* Myriad changes to Google Test:
  - Build it in a directory specific to the build tools - previously,
    having an MSVC 2017 and MSVC 2019 build on the same machine was
    impossible if unit tests were on, even though it's allowed otherwise
  - Use either Debug or Release Google Test as its finder isn't looking
    for RelWithDebInfo or capable of dealing with it if we try and use
    it anyway.
  - Always build Google Test with MSBuild as it's much less hassle due
    to CMake setting up the environment for us. Currently, MSVC always
    comes with something that can build solution files, no matter how
    you get it, so this shouldn't upset anyone.
  - Use CMake's --install mode so we can set the install prefix in the
    place that uses it.
  - Pass CMake both Debug and Release Google Test instead of risking a
    C/C++ library configuration mismatch causing linker and runtime
    errors - it'll pick a suitable one for each configuration.
  - Pass the library type explicitly as CMake can't cope without a
    Release library if you only gave it Debug, due to accessing a
    Release-specific variable unconditionally.
* Remove the -legacy flag from vswhere as it's only needed for MSVC
  2015, which we don't support any more.
* Fix the -version argument for vswhere as I'd massively cocked it up.
  I don't know how that happened as I did test it on a machine with
  multiple MSVC versions installed, which was the failure case, but it
  didn't fail then.
2020-09-08 00:18:18 +01:00
apps Merge pull request #2899 from akortunov/multiple_effects 2020-09-01 14:17:49 +02:00
CI Allow setting up multiple build configurations at once 2020-09-08 00:18:18 +01:00
cmake Delete FindFreetype.cmake; as it is provided by cmake as of 3.0.2 and we require 3.1.0. 2020-07-10 12:27:22 +00:00
components Use struct instead of tuple 2020-08-29 11:24:08 +04:00
docs Add more settings to openmw-launcher 2020-08-07 20:17:44 +00:00
extern Merge pull request #2932 from elsid/replace_open_threads 2020-07-04 13:11:23 +02:00
files Use two columns when there is too many checkboxes in launcher's tab 2020-08-22 09:26:15 +04:00
manual/opencs remove latex error 2015-05-25 18:45:42 +09:00
.editorconfig Update .editorconfig to include GLSL 2018-06-21 14:23:30 +00:00
.gitignore Ignore VS Code files 2020-05-18 16:37:18 +01:00
.gitlab-ci.yml Unpin CMake version now latest is fixed 2020-09-03 13:50:24 +00:00
.travis.yml [macOS, CI] Use Xcode 11.6 (#2970) 2020-07-22 21:54:18 +02:00
appveyor.yml Update bullet for windows up to 2.87 2020-05-13 19:24:29 +02:00
AUTHORS.md Merge branch 'authors_project_leader_update' into 'master' 2020-07-31 20:03:59 +00:00
CHANGELOG.md Merge branch 'master' into 'resize_breaks_window' 2020-08-05 17:10:16 +00:00
CHANGELOG_PR.md Update PR changelog file for 0.47.0 2020-05-12 22:33:48 +02:00
CMakeLists.txt Merge branch 'small_fixes' into 'master' 2020-08-21 17:24:08 +00:00
CONTRIBUTING.md Fix outdated bug tracker links 2020-04-22 01:45:11 +03:00
LICENSE http to https for supported urls (#1625) 2018-03-08 21:23:24 +01:00
README.md update DejaVuFontLicense entry 2020-07-26 22:53:46 +02:00
readthedocs.yml Force RTD to not build any other types of docs. 2018-07-19 14:34:06 +00:00

OpenMW

Build Status Build status Coverity Scan Build Status pipeline status

OpenMW is an open-source game engine that supports playing Morrowind by Bethesda Softworks. You need to own the game for OpenMW to play Morrowind.

OpenMW also comes with OpenMW-CS, a replacement for Bethesda's Construction Set.

Font Licenses:

Current Status

The main quests in Morrowind, Tribunal and Bloodmoon are all completable. Some issues with side quests are to be expected (but rare). Check the bug tracker for a list of issues we need to resolve before the "1.0" release. Even before the "1.0" release however, OpenMW boasts some new features, such as improved graphics and user interfaces.

Pre-existing modifications created for the original Morrowind engine can be hit-and-miss. The OpenMW script compiler performs more thorough error-checking than Morrowind does, meaning that a mod created for Morrowind may not necessarily run in OpenMW. Some mods also rely on quirky behaviour or engine bugs in order to work. We are considering such compatibility issues on a case-by-case basis - in some cases adding a workaround to OpenMW may be feasible, in other cases fixing the mod will be the only option. If you know of any mods that work or don't work, feel free to add them to the Mod status wiki page.

Getting Started

The data path

The data path tells OpenMW where to find your Morrowind files. If you run the launcher, OpenMW should be able to pick up the location of these files on its own, if both Morrowind and OpenMW are installed properly (installing Morrowind under WINE is considered a proper install).

Command line options

Syntax: openmw <options>
Allowed options:
  --help                                print help message
  --version                             print version information and quit
  --data arg (=data)                    set data directories (later directories
                                        have higher priority)
  --data-local arg                      set local data directory (highest
                                        priority)
  --fallback-archive arg (=fallback-archive)
                                        set fallback BSA archives (later
                                        archives have higher priority)
  --resources arg (=resources)          set resources directory
  --start arg                           set initial cell
  --content arg                         content file(s): esm/esp, or
                                        omwgame/omwaddon
  --no-sound [=arg(=1)] (=0)            disable all sounds
  --script-verbose [=arg(=1)] (=0)      verbose script output
  --script-all [=arg(=1)] (=0)          compile all scripts (excluding dialogue
                                        scripts) at startup
  --script-all-dialogue [=arg(=1)] (=0) compile all dialogue scripts at startup
  --script-console [=arg(=1)] (=0)      enable console-only script
                                        functionality
  --script-run arg                      select a file containing a list of
                                        console commands that is executed on
                                        startup
  --script-warn [=arg(=1)] (=1)         handling of warnings when compiling
                                        scripts
                                        0 - ignore warning
                                        1 - show warning but consider script as
                                        correctly compiled anyway
                                        2 - treat warnings as errors
  --script-blacklist arg                ignore the specified script (if the use
                                        of the blacklist is enabled)
  --script-blacklist-use [=arg(=1)] (=1)
                                        enable script blacklisting
  --load-savegame arg                   load a save game file on game startup
                                        (specify an absolute filename or a
                                        filename relative to the current
                                        working directory)
  --skip-menu [=arg(=1)] (=0)           skip main menu on game startup
  --new-game [=arg(=1)] (=0)            run new game sequence (ignored if
                                        skip-menu=0)
  --fs-strict [=arg(=1)] (=0)           strict file system handling (no case
                                        folding)
  --encoding arg (=win1252)             Character encoding used in OpenMW game
                                        messages:

                                        win1250 - Central and Eastern European
                                        such as Polish, Czech, Slovak,
                                        Hungarian, Slovene, Bosnian, Croatian,
                                        Serbian (Latin script), Romanian and
                                        Albanian languages

                                        win1251 - Cyrillic alphabet such as
                                        Russian, Bulgarian, Serbian Cyrillic
                                        and other languages

                                        win1252 - Western European (Latin)
                                        alphabet, used by default
  --fallback arg                        fallback values
  --no-grab                             Don't grab mouse cursor
  --export-fonts [=arg(=1)] (=0)        Export Morrowind .fnt fonts to PNG
                                        image and XML file in current directory
  --activate-dist arg (=-1)             activation distance override
  --random-seed arg (=<impl defined>)   seed value for random number generator