Skip to content

Commit

Permalink
fix: revert "tweak .prettierignore & run prettier" (#1508)
Browse files Browse the repository at this point in the history
This reverts commit ab541ff.
  • Loading branch information
Pospelove authored Jun 28, 2023
1 parent 1260edd commit 178a3a3
Show file tree
Hide file tree
Showing 200 changed files with 3,811 additions and 5,207 deletions.
6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/01-papyrus-event-bug.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: '[SkyMP] Papyrus Event Bug'
name: "[SkyMP] Papyrus Event Bug"
description: One of events works incorrectly such as ObjectReference.OnHit, ObjectReference.OnActivate, etc
title: 'Bug in <ClassName.OnEventName>'
labels: ['category:papyrus-bug']
title: "Bug in <ClassName.OnEventName>"
labels: ["category:papyrus-bug"]
body:
- type: textarea
attributes:
Expand Down
44 changes: 22 additions & 22 deletions .github/ISSUE_TEMPLATE/test.yml
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
name: Bug Report
description: A brief description of the problem, which allows you to quickly navigate the issue and describe it with simple “What? Where? When?"
title: '[Bug]: '
labels: ['bug-report']
title: "[Bug]: "
labels: ["bug-report"]
assignees:
- SupAidmi
body:
- type: markdown
attributes:
value: |
value: |
A brief description of the problem, which allows you to quickly navigate the issue and describe it with simple What? Where? When?
- type: dropdown
id: severity
attributes:
label: Severity
description: How important it is?
options:
- Critical. A critical defect that causes some key functionality to fail.
- Major. A crucial error that indicates a deviation from business logic or disrupts the program, but doesn't have a vital impact on the app.
- Minor. A minor defect that doesn''t violate the application''s functionality when tested, but influences the expected result. A design error wobe one example. A bug that doesn't affect the functionality or operation of the app but can be detected visually, for example, a typo in the text.
- Critical. A critical defect that causes some key functionality to fail.
- Major. A crucial error that indicates a deviation from business logic or disrupts the program, but doesn't have a vital impact on the app.
- Minor. A minor defect that doesn''t violate the application''s functionality when tested, but influences the expected result. A design error wobe one example. A bug that doesn't affect the functionality or operation of the app but can be detected visually, for example, a typo in the text.
validations:
required: true
- type: dropdown
Expand All @@ -26,9 +26,9 @@ body:
label: Priority
description: How priory it is?
options:
- High. Anything that impacts the typical user flow or blocks app usage.
- Medium. Anything that negatively affects the user experience.
- Low. All else (typos, missing icons, layout issues, etc.).
- High. Anything that impacts the typical user flow or blocks app usage.
- Medium. Anything that negatively affects the user experience.
- Low. All else (typos, missing icons, layout issues, etc.).
validations:
required: true
- type: textarea
Expand All @@ -37,7 +37,7 @@ body:
label: Description
description: This part elaborates on the Title field since quite often the table of contents becomes too cumbersome.
placeholder: Tell us what you see!
value: 'A bug happened!'
value: "A bug happened!"
validations:
required: true
- type: input
Expand All @@ -47,62 +47,62 @@ body:
description: What OS do you using for?
placeholder: Windows
validations:
required: true
required: true
- type: input
id: environment-os-version
attributes:
label: OS version
description: What verison of OS do you using for?
placeholder: '10'
placeholder: "10"
validations:
required: true
required: true
- type: input
id: environment-skyrim-version
attributes:
label: Skyrim version
description: What verison of Skyrim do you using for?
placeholder: 1.5.97.0.8
validations:
required: true
required: true
- type: input
id: environment-skse-version
attributes:
label: SKSE version
description: What verison of SKSE do you using for?
placeholder: 2.0.20
validations:
required: true
required: true
- type: input
id: environment-commit-client-hash
attributes:
label: client commit''s hash
description: What verison of client do you using for?
placeholder: a41d3ddb77df5fbb982d40d400852af32ab6fd99
validations:
required: true
required: true
- type: input
id: environment-commit-server-hash
attributes:
label: server commit''s hash
description: What verison of server do you using for?
placeholder: 60e1ad22f744b9003c8dbc40f05e2a62663ee8c7
validations:
required: true
required: true
- type: input
id: environment-videocard
attributes:
label: Videocard model
description: What verison of videocard do you using for?
placeholder: Voodoo 2
validations:
required: true
required: true
- type: textarea
id: steps-to-reproduce
attributes:
label: Steps to reproduce
description: This item should contain the minimum steps that describe the entire path of reproducing the bug.
description: This item should contain the minimum steps that describe the entire path of reproducing the bug.
placeholder: Tell us how to get this bug!
value: 'A bug happened!'
value: "A bug happened!"
validations:
required: true
- type: textarea
Expand All @@ -111,7 +111,7 @@ body:
label: Expected result
description: Be sure to describe the expected result according to the technical task.
placeholder: Tell us what do you expect?
value: 'A bug happened!'
value: "A bug happened!"
validations:
required: true
- type: textarea
Expand All @@ -120,6 +120,6 @@ body:
label: Actual result
description: This field describes the actual effect of the bug.
placeholder: Tell us what do you get?
value: 'A bug happened!'
value: "A bug happened!"
validations:
required: true
3 changes: 0 additions & 3 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,3 @@ node_modules
vcpkg
build
.clang-format
.github/workflows
skymp5-functions-lib
CONTRIBUTING.md
62 changes: 22 additions & 40 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,18 @@ You can find instructions on setting up the project locally below. To get a loca

These tools required regardless of your system:

- 64-bit [NodeJS](https://nodejs.org/en/download/) 17.x _(may also work for older versions)_
- [Yarn](https://yarnpkg.com/getting-started/install): `npm install --global yarn`
- [CMake 3.18.2](https://cmake.org/download/) or higher
* 64-bit [NodeJS](https://nodejs.org/en/download/) 17.x *(may also work for older versions)*
* [Yarn](https://yarnpkg.com/getting-started/install): `npm install --global yarn`
* [CMake 3.18.2](https://cmake.org/download/) or higher

### Windows

Before your start make sure that your system meets the conditions:

- Windows 7 or higher _([Windows 10](https://www.microsoft.com/en-us/software-download/windows10) is recommended)_
- [Visual Studio 2019/2022](https://visualstudio.microsoft.com/downloads/)
- .NET Framework SDK at 4.6.0 or higher _(Visual Studio Installer -> .NET desktop development)_
- Python 3.9.x 64bit or 32bit _(Visual Studio Installer -> Idividual components -> search for python)_
* Windows 7 or higher *([Windows 10](https://www.microsoft.com/en-us/software-download/windows10) is recommended)*
* [Visual Studio 2019/2022](https://visualstudio.microsoft.com/downloads/)
* .NET Framework SDK at 4.6.0 or higher *(Visual Studio Installer -> .NET desktop development)*
* Python 3.9.x 64bit or 32bit *(Visual Studio Installer -> Idividual components -> search for python)*

### Linux

Expand All @@ -38,27 +38,26 @@ As Skyrim has no native Linux version, client can only be built using MSVC,
but then can be run with Proton (though some crashes can occur on SP startup
and it can be tricky to get Skyrim itself to work with non-ASCII text, for example).

- Ubuntu 18.04 or 20.04. Other distros are not tested or are expected to fail:
- Alpine Linux doesn't work
- Arch-based distros also [won't be able to run the server](https://github.com/chakra-core/ChakraCore/issues/6613)
- Clang 12 _(GCC is not supported)_: `sudo apt install clang-12`
- Python 2 (not 3.x! It is needed to build ChakraCore. Don't worry, it won't conflict with Python 3):
* Ubuntu 18.04 or 20.04. Other distros are not tested or are expected to fail:
* Alpine Linux doesn't work
* Arch-based distros also [won't be able to run the server](https://github.com/chakra-core/ChakraCore/issues/6613)
* Clang 12 *(GCC is not supported)*: `sudo apt install clang-12`
* Python 2 (not 3.x! It is needed to build ChakraCore. Don't worry, it won't conflict with Python 3):
`sudo apt install python2`
- Make sure that your NodeJS and CMake are fresh enough:
- You can use [`nvm`](https://github.com/nvm-sh/nvm) or [Nodesource's apt repositories](https://github.com/nodesource/distributions) to install fresh Node
- The simpliest way to install fresh CMake is to download a `.tar.gz` from [CMake download page](https://cmake.org/download/),
* Make sure that your NodeJS and CMake are fresh enough:
* You can use [`nvm`](https://github.com/nvm-sh/nvm) or [Nodesource's apt repositories](https://github.com/nodesource/distributions) to install fresh Node
* The simpliest way to install fresh CMake is to download a `.tar.gz` from [CMake download page](https://cmake.org/download/),
unpack it to your home directory and add it to path:
`sh
```sh
echo 'export PATH="$HOME/apps/cmake-3.22.0-.../bin:$PATH"' >> ~/.bashrc
`
Also you can use containers to build and run server. More info can be found in the next section.
```
Also you can use containers to build and run server. More info can be found in the next section.

## Configuring and Building

### Common

1. Clone the repo, including submodules

```sh
git clone https://github.com/skyrim-multiplayer/skymp.git
cd skymp
Expand All @@ -75,29 +74,23 @@ and it can be tricky to get Skyrim itself to work with non-ASCII text, for examp
mkdir build
```
2. Generate project files with CMake (replace path with your actual Skyrim SE folder)

```sh
cd build
cmake .. -DSKYRIM_DIR="C:/Program Files (x86)/Steam/steamapps/common/Skyrim Special Edition"
```

For users who don't have Skyrim SE installed:

```sh
cd build
cmake ..
```

- Some tests would be skipped
- The server would require manual installation of Skyrim.esm and other master files
- Papyrus scripts that require Bethesda's compiler would not be compiled, prebuilts would be used
* Some tests would be skipped
* The server would require manual installation of Skyrim.esm and other master files
* Papyrus scripts that require Bethesda's compiler would not be compiled, prebuilts would be used

3. Build with CMake:

```sh
cmake --build . --config Debug
```

On Windows you also can open `build/skymp.sln` with Visual Studio, then `Build -> Build Solution`.

All build artifacts would be placed into `build/dist`.
Expand All @@ -119,25 +112,19 @@ you can use [a Docker image with preinstalled dependencies](https://hub.docker.c
-e VCPKG_DEFAULT_BINARY_CACHE=/home/skymp/.cache/vcpkg/archives \
$SKYMP_VCPKG_DEPS_IMAGE bash
```

`--security-opt label=disable` is used for users who have SELinux enabled and source code is located somewhere inside home directory.
Check `podman run` [documentation](https://docs.podman.io/en/latest/markdown/podman-run.1.html) for more information.
1. Generate project files with CMake wrapper (replace path with your actual Skyrim SE folder)

```sh
./build.sh --configure -DCMAKE_BUILD_TYPE=Debug \
-DSKYRIM_DIR="$HOME/.steam/debian-installation/steamapps/common/Skyrim Special Edition"
```

For users who don't have Skyrim SE installed:

```sh
./build.sh --configure -DCMAKE_BUILD_TYPE=Debug
```

If you're building for a production machine, change build type to Release:

```sh
./build.sh --configure -DCMAKE_BUILD_TYPE=Release
```
Expand All @@ -158,27 +145,22 @@ Check `podman run` [documentation](https://docs.podman.io/en/latest/markdown/pod
### Optional steps after build
1. Run tests:

```sh
ctest -C Debug --verbose
```

Some tests ([ESPMTest](https://github.com/skyrim-multiplayer/skymp/blob/main/skymp5-server/cpp/unit/EspmTest.cpp)) require Skyrim SE data files and will be skipped if you didn't specify `-DSKYRIM_DIR`.

In order to avoid potential errors, make sure:

1. You have installed it using Steam and it's up to date (currently last update was on [Nov 20, 2019](https://steamdb.info/depot/489832/history/?changeid=M:8702665189575304780)). See SteamDB for [hashes](https://steamdb.info/depot/489832/?show_hashes) and [update history](https://steamdb.info/depot/489832/history/).
2. You did not modify `Skyrim.esm`, `Update.esm`, `Dawnguard.esm`, `HearthFires.esm` and `Dragonborn.esm`. (Ideally, you should have pure Vanilla version installed.)
2. Calculate test coverage (Windows-only):

Install [OpenCppCoverage](https://github.com/OpenCppCoverage/OpenCppCoverage/releases) and then:

```sh
cmake .. -DCPPCOV_PATH="C:\Program Files\OpenCppCoverage"
ctest -C Debug --verbose
```

These commands would re-generate project files with coverage enabled and run tests. Coverage report would be in `build/__coverage`.
## Pull Requests
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# SkyMP

[![Discord Chat](https://img.shields.io/discord/699653182946803722?label=Discord&logo=Discord)](https://discord.gg/k39uQ9Yudt)
[![Discord Chat](https://img.shields.io/discord/699653182946803722?label=Discord&logo=Discord)](https://discord.gg/k39uQ9Yudt)
[![PR's Welcome](https://img.shields.io/badge/PRs%20-welcome-brightgreen.svg)](CONTRIBUTING.md)

SkyMP is an open-source multiplayer mod for Skyrim ⚡
Expand Down
Loading

0 comments on commit 178a3a3

Please sign in to comment.