Skip to content

Commit 1a79f53

Browse files
committed
Merge remote-tracking branch 'upstream/develop' into random-anims
# Conflicts: # CREDITS.md # docs/New-or-Enhanced-Logics.md # docs/Whats-New.md # src/Ext/Techno/Body.Update.cpp # src/Ext/Techno/Body.h # src/Ext/TechnoType/Body.cpp # src/New/Entity/ShieldClass.cpp
2 parents 3178a90 + 9f09c20 commit 1a79f53

File tree

171 files changed

+29808
-6750
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

171 files changed

+29808
-6750
lines changed

.github/pull_request_template.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
<!-- Please add [Minor] to the title or the description if this change should not be mentioned in documentation, what's new and no credit needs to be given. -->
1+
<!-- Please add [Minor] to the title or the description if this change should not be mentioned in documentation, what's new and no credit needs to be given.
2+
If the changes are solely made to the documentation, please set the target branch to the pull request named "Weekly Regular Documentation Revisions", rather than the repository's existing branches. -->

CREDITS.md

Lines changed: 111 additions & 50 deletions
Large diffs are not rendered by default.

Phobos.vcxproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
</ItemGroup>
2020
<ItemGroup>
2121
<ClCompile Include="src\Ext\TechnoType\Hooks.MatrixOp.cpp" />
22+
<ClCompile Include="src\Ext\Unit\Hooks.Sinking.cpp" />
23+
<ClCompile Include="src\Misc\Hooks.AlphaImage.cpp" />
2224
<ClCompile Include="src\New\Entity\AttachEffectClass.cpp" />
2325
<ClCompile Include="src\New\Type\AttachEffectTypeClass.cpp" />
2426
<ClCompile Include="src\Commands\Commands.cpp" />

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
While Phobos is independent of Ares and does NOT require Ares specifically to function, Phobos complements some of the features found in Ares and vice versa.
1717

18+
EA has not endorsed and does not support this product.
19+
1820
Community
1921
---------
2022

@@ -54,6 +56,8 @@ Documentation
5456
-------------
5557

5658
- [Official docs](https://phobos.readthedocs.io) (also available in [Chinese](https://phobos.readthedocs.io/zh_CN/latest))
59+
- [Community Chinese docs](https://docs.qq.com/doc/p/dc3da1ce39a6e787b6e133f7d33d6aebef581cb4)
60+
- Because the Chinese translation of the official docs is currently underdeveloped, at the time it is recommended to use the community docs for Chinese users.
5761

5862
You can switch between versions (displays latest develop nightly version by default) in the bottom right corner, as well as download a PDF version.
5963

YRpp

Submodule YRpp updated 119 files

docs/AI-Scripting-and-Mapping.md

Lines changed: 70 additions & 70 deletions
Large diffs are not rendered by default.

docs/Contributing.md

Lines changed: 49 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,54 @@
22

33
This page describes ways to help or contribute to Phobos and lists the contributing guidelines that are used in the project.
44

5-
## Guidelines for contributors
5+
## Project guidelines and policies
6+
7+
### Phobos maintenance crew structure
8+
9+
Due to the size of the project and varying complexity of the codebase, we have established a maintenance crew structure to help with the project's development and maintenance. The structure is as follows:
10+
11+
- **Leads** (or `T3` maintainers) - primary decision makers, define where the project is headed and have the final say in case of disputes. They are responsible for the project's vision and direction, and are the main point of contact for the community.
12+
- **`T2` maintainers** - assigned to more complex PRs, can make releases.
13+
- **`T1` maintainers** - assigned to less complex PRs.
14+
- **Triages** - help triage/label/assign PRs, issues, discussions, help with communication with the community.
15+
16+
Those roles are assigned based on the complexity of the PRs and the experience of the contributors. The roles are not fixed and can change based on the contributor's experience and the complexity of the PRs they are working on. Also only the commonly occured roles are established in the list, in case of need - individual permissions can be assigned to contributors by leads (for example, to help with documentation translations).
17+
18+
### Types of contributions
19+
20+
To distribute the workload and make the project more manageable, we have established several commonly occuring types of contributions that can be made to the project. These types are as follows:
21+
22+
- Phobos bugfixes, including reconnection error (desync), crash (fatal error) fixes, and documentation fixes
23+
- `T1` complexity by default
24+
- Vanilla bugfixes
25+
- `T1` complexity by default
26+
- Unhardcodings/customizations - contributions that only make something customizable through the INI or other way (by the modder usually), without adding too much code to handle the customization
27+
- `T1` complexity by default
28+
- New features
29+
- Extensions of existing systems - add logic to existing systems, doesn't warrant it's own entity or type classes generally, but may introduce new hooks
30+
- Examples: feedback weapon logic, superweapon launch warhead logic, a new type of trajectory that uses existing custom trajectory framework, etc.
31+
- `T1` or `T2` complexity by default, depending on judgement of the one who assigns the PR
32+
- New systems - generally with their own classes that don't extend game classes/logics (or have such amount of code that should be separated into separate classes)
33+
- Examples: custom trajectories framework, interceptor logic, shield logic, etc.
34+
- `T2` complexity by default
35+
- Contributions to project infrastructure - changes to the project's build system, CI, documentation, etc.
36+
- `T2` complexity by default
37+
- Project policy changes - changes to the project's guidelines, contributing guidelines, etc.
38+
- `T3` complexity by default (has to be reviewed by leads)
39+
40+
```{hint}
41+
Modders are highly encouraged to submit feedback on reusability of added features (preferably most important takeaways should be tracked in pull requests, discussions and issues) in order to not bloat the project with one-off features.
42+
```
43+
44+
The list is not exhaustive, you are welcome to propose/submit changes to it (or to any project policies in order to improve how the project is maintained).
45+
46+
In absence of a fitting category - a lead should review it.
47+
48+
What can make any PR more controversial and requiring a higher level maintainer's assignment:
49+
- Modifying/breaking previous (or vanilla) behavior
50+
- Requiring migration
51+
- Mixing contribution types
52+
- Current level of maintainers not being sure about whether they can judge this PR
653

754
### Project structure
855

@@ -194,7 +241,7 @@ When you clone Phobos recursively - you also clone YRpp as a submodule. Basicall
194241

195242
The suggested workflow is as follows:
196243
1. In your IDE of choice rename fields and functions using symbol renaming feature (`Rename...` feature in Visual Studio (regular or Code), `[F2]` by default), then you will have two "levels" of changes displayed in your Git client:
197-
- for Phobos repository - changes in the Phobos code (as regular changes) and changes to YRpp (as one submodule change)
244+
- for Phobos repository - changes in the Phobos code (as regular changes) and changes to YRpp (as one submodule change).
198245
- for YRpp repository - changes to the field names and function names in YRpp as regular changes.
199246
2. Create a branch in YRpp repository (create a fork of it if you didn't yet), commit and push the changes and submit it as a pull request. After pushing it you have two options in Phobos repository:
200247
- wait until it's accepted, then checkout YRpp at the newest commit, then commit and push - this will save you having to commit and push multiple times, but you won't be able to get a nightly build for people to test;

0 commit comments

Comments
 (0)