-
-
Notifications
You must be signed in to change notification settings - Fork 124
Improve our existing tag name and discuss clear standards for it #1984
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Improve our existing tag name and discuss clear standards for it #1984
Conversation
|
This warrants further discussion for under which conditions it is acceptable to change INI syntax when no functionality change is present in this project. There are other INI key names that even more inconsistent or misleading than this one that have not been touched upon f.ex |
|
there's also a similar case elsewhere: while other tags are all |
|
I think |
|
My opinion is that the typos in docs should always be corrected ASAP without any preceding discussion because that's a doc mistake, and we also can then discuss unification of how the tags are written (with a mandatory migration script entry). |
Before completing the discussion on #1984, first correct the description of this parameter in the documentation and Debug Log based on the current source code.
Yeah, the standard needs to include the conditions for making this kind of processing.
A very useful suggestion, misleading is indeed very important. |
Nice, I have already listed it in the plan table at the end of the PR description. Can you list more such issues? |
The content in the develop branch has been corrected according to the current source code execution method, and Phobos-developers/PhobosSupplementaries#13 has been created for adding associated migration script changes. |
|
Nightly build for this pull request:
This comment is automatic and is meant to allow guests to get latest nightly builds for this pull request without registering. It is updated on every successful build. |
|
Since you're changing it, AffectsHouses= would still be inconsistent with Ares, as the tags there are singular, not plural (like SW.AffectsHouse= or SW.RequiresHouse=, or even SW.AffectsTarget= as opposed to DetonateOnAllMapObjects.AffectTargets= ). And don't know if anyone noticed it, but Phobos' AttachEffects also has AffectTargets= (not even AffectsTargets= ), so that too needs to be changed. |
I checked the issue you mentioned. Apart from Currently, among Phobos features, only Detonate Warhead on all objects on map uses Additionally, according to Ares-docs/Availability, it uses Tip Among these, As for |
|
SW.RequiredHouses= is not an enum, it lists actual house names, just like RequiredHouses=. Where actual entries are listed, even YR is inconsistent with itself as it uses plural for one thing, then singular for another (plural for RequiredHouses=, DebrisTypes= or DebrisAnims=, but then singular for Anim= despite it allowing multiple entries). Still, i think that for listing specific types (animations, units, warheads, specific houses, etc), tags should be using plural, and it's only enumerations that should be using singular. |
I understand that, from the perspective of where the enum values are introduced, it is indeed appropriate to use
|
|
|
Uncertain whether
You mentioned here "skip passive target selection checks altogether", but currently |
Right, I was not very clear. It skips all target-related checks but not whether or not the firer can passively acquire targets. That is still technically intentional per the way it currently works altho potentially misleading. |
Starting from this commit, changes to the source code will be reduced except for reading, and processing will be conducted after discussions are concluded and migration is prepared.
47194ad to
0da2d1a
Compare
Important
Since this involves historical usage and naming habits, we are opening this PR to collect opinions and discuss possible improvements. The goal is to establish clearer standards for similar cases in the future.
Take the problem that this PR initially hoped to fix as an example:
In the documentation,
Crit.AffectsAbovePercentis used, although it is more standard compared toCrit.AffectAbovePercent(s), but what is actually checked isthis->Crit_AffectAbovePercent.Read(exINI, pSection, "Crit.AffectAbovePercent");However, there is also a Debug Log that uses Affect s:
And, similarly, the warhead logic Customizable Warhead trigger conditions uses the following flags:
Unifying the use of Affect s has the following advantages:
Affectsis more standard in expression compared toAffect;But if we do this, we need to consider the issue of user INI flag Migration.
Crit.AffectBelowPercentwas added as early as DevBuild#27, meaning that since its addition, it has gone through two major versions, 0.3 and 0.4, whileCrit.AffectsAbovePercentor the one it should actually use,Crit.AffectBelowPercent, are both new content added in DevBuild#48.BelowPercentwas first introduced, the documentation also used Affect s, but this was corrected as a spelling error after 9 months.The above example issue has been temporarily fixed based on the source code operation method as the standard.
But indeed, we have always lacked specifications for handling such issues—whether naming or minor content INI tag changes such as typos. We need to clarify the handling methods for these types of problems.
Note
Currently, users have expressed two viewpoints: some believe that since it has already been added, it should not be changed; others believe that as a non-standard and inconsistent flag name, it should be unified, especially since we have MigrationUtility, which makes flag migration not troublesome.
In summary, for issues similar to it, please provide your opinions, such as
After sufficient discussion, we can pre-process all similar issues and descriptions of changes through this PR.
Currently existing tag replacement plan: