Mwscr
Original screenshots and videos from The Elder Scrolls III: Morrowind. No third-party mods. No color filters. No interface.
Install / Use
/learn @dehero/MwscrREADME
EN RU
Morrowind Screenshots
![]()
Original screenshots and videos from The Elder Scrolls III: Morrowind. No graphic and unlore mods. No color filters. No interface.
About the project
The goal of the project is to seek out the hidden beauty and celebrate the visual aesthetics of Morrowind, a computer game from Bethesda Softworks. Most of the content is created using the OpenMW open source engine. Main materials:
If you want to participate in the project, please read the contributing guidelines.
Main post types
- Shot - square or horizontal screenshot;
- Compilation - thematic set of four previously published screenshots;
- Wallpaper - horizontal or vertical screenshot suitable as desktop or smartphone wallpaper;
- Clip - a square or vertical video up to 1 minute long;
- Video - rectangular video up to 1 hour long.
Extra post types
- News - project news;
- Mention - mention of the project;
- Photoshop - a photomontage based on a previously published screenshot;
- Redrawing - a drawing based on a previously published screenshot;
- Outtakes - interesting screenshots that were rejected or violate the rules of the project;
- Achievement - a special achievement in the project or in the game;
- Merch - merch item which can be ordered to support the project.
Publication
Drafts that have successfully passed editing are placed on the shortlist, from where they are gradually taken to create new posts. A new post is selected every day.
The post is published simultaneously on all project accounts that support this type of post. The text of the post includes:
- title;
- description (if any);
- author (if the author is not the project administrator);
- requester (if the post was made by request);
- tags;
- location (if available).
Previously published posts may be published again, without changes, or as part of a different post type.
About the repository
Data
Information about main data/posts, extra data/extras, proposed
data/drafts and rejected data/rejects posts is stored by year in YAML format. The
original works, due to their large size, are represented by links to the store: external storage, which only the
project administrator has access to. Other files:
data/users.yml- information about project members inYAMLformat;data/locations.yml- list of game locations inYAMLformat.
Additional files
The assets folder contains:
assets/previews- previews of all images and videos that have ever hit the storage inAVIFformat;assets/plugins- set of auxiliary plugins for shooting;- additional images.
Scripts
The src folder contains scripts responsible for working with the repository, storage, and project accounts. You
need to install dependencies before running scripts locally:
npm ci
To work with external services and storage when running locally, create an .env file in the root of the repository
containing credentials:
INSTAGRAM_ACCESS_TOKEN=
VK_ACCESS_TOKEN=
TELEGRAM_PHONE_NUMBER=
TELEGRAM_SESSION=
TELEGRAM_API_APP_ID=
TELEGRAM_API_APP_HASH=
YOUTUBE_API_KEY=
YANDEX_DISK_STORE_PATH=
YANDEX_DISK_ACCESS_TOKEN=
LOCAL_STORE_PATH=
There is a receiving credentials help document for the project administrator to fill in these variables. Other contributors are limited in their possibilities when running the project locally.
Maintenance
The src/scripts/maintain.ts script runs every hour on a schedule, or on any change to the
repository in the main branch. Manual launch is also possible:
npm run maintain
The sequence of steps is:
- Create issue templates in
.github/ISSUE_TEMPLATEaccording to the descriptions insrc/scripts/github-issue-resolvers. - Add to
data/postsposts manually created in project accounts by the administrator. - Import to
data/draftsnew files from thestore:/inboxadded manually by the administrator. - Delete rejected posts to
data/rejects, restore posts from the rejects todata/drafts. - Get reactions to posts in
data/postsanddata/extrasfrom project accounts. - Create a new post in
data/postsordata/extrasaccording to the scenarios described insrc/core/scenarios/posting.ts. - Publish unpublished posts from
data/postsanddata/extrasto project accounts. - Create missing and delete unnecessary previews in
assets/previews.
Issue processing
The script src/scripts/resolve-github-issue.ts runs on creating or modifying an
Issue in the Issues section. Issues are the main tool for the administrator
and other contributors to interact with the project. The use of issues is described in the
contributing guidelines.
Data validation
The src/scripts/validate.ts script checks the integrity of data in the data
folder and store: storage. Runs manually:
npm run validate
Code validation
npm run test
Runs all scripts in the src folder with a filename ending with .test.ts to check if the code is working
correctly.
Creating a release
npm run release
Checks if there are any changes in the project from the previous release. If there are, it creates a commit with new release, incrementing the version in package.json and updating CHANGELOG.
Roadmap
As the project develops, it is planned to implement:
- [ ] support for publishing post types ~~
shot-set~~, ~~redrawing~~,clipandvideoto project accounts; - [x] lists of tags and locations with the number of posts in them;
- [x] adding multiple locations to a single post;
- [ ] ~~
wallpaper~~, ~~wallpaper-v~~ andvideo-vpost types; - [x] support for accessing storage via a local file system;
- [ ] Telegram bot for accepting requests ~~and works~~;
- [ ] monthly releases of the archive with works for the previous month;
- [x] project site for quick search of works by author, location, tags, etc.
License
You can use the parts of the project code for any purpose, but you may not copy the project as a whole. Feel free to use the content of the project for any purpose with the link to the original source and author.
