Repository navigation
Conversation
|
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. |
|
@Metadorius Any issue other than #1949 (review)? |
|
TODO:
@Metadorius Please confirm the above summary, or supplement/correct the incorrect parts. |
|
@TaranDahl yeah, correct, there was also a comment about implementing press-and-drag mode (and not sure if the "same type" (infantry/buildings/vehicles/etc) is needed, since we have "same armor" mode). CrimRecya said it's too problematic, however I don't really see why, since we already have drag selection and we could reuse drag selection to calculate the radius. |
I think there is not enough labor force to add more features. |
This isn't a feature though? It is just a somewhat small improvement that brings it in line with how modern games do it.
From that you could calculate 2 points, get world coords via function above, use this info to draw a corresponding circle and set the mode to such. I am not sure what is complex here. If needed I can send my decompile for this. |
|
@Metadorius Is there any difference between |
|
@TaranDahl |
Judging from the current code, there seems to be no need for it to inherit from |
Which is a bad pattern. You have class fields and methods for that. |
|
Yeah I will make a new class to arrange the new buttons. But for the vanilla buttons, maybe we should just let them be? |
Yeah I didn't mean we should be squeezing vanilla static array shitcode into proper classes necessarily, should be good. |
|
If we want to implement dragging, how should we handle the selection range? |
update update doc 禁止分配到回收站 update update Update src/Commands/DistributionMode.cpp fix core disable force attack for distribution mode fix double keys breaking distribution command fix distribution mode crash add AffectsNeutral for distribution mode Update Phobos.vcxproj move things to new files update doc Button on bottom TODO Fit with FakeOf Fix include Separate functions Fix default value Remove useless Refactor remove unnecessary Grinder process Code style ... Low distance first Fix merge Message, sound and scroll action Global toggle Fix target outside units Fix target disguised units Fix target shrouded units Doc Add a hold down key to enable Fix target cloaked units Fix a typo Show range ring Draw at mouse Core Co-Authored-By: Kerbiter <crabiter@vivaldi.net> Co-Authored-By: Coronia <28055583+Coronia@users.noreply.github.com> Co-Authored-By: 绯红热茶 <169989423+CrimRecya@users.noreply.github.com>
|
maybe the default also the upper limit of as for the drag, I think instead of a choice between it and scroll, it'd better just make a toggle in rulesmd.ini to enable or disable it, like |
Have you addressed the design changes I requested? without that it would be a moot point to get deeper into code |
So there are no further issues with the design, right? |
you left some of my comments/suggestion unaddressed though, either by changes or replies, that's what I was pointing at |
Yeah I know it. I was looking forward to some other reviews, to deal with them together. |
# Conflicts: # src/Ext/TechnoType/Body.cpp
|
@Metadorius Please check again when you are free. |
|
The house filter is still needed for modders to decide targets from which houses could distribution command be applied to Also you get me wrong, I'm just saying that whether filter mode could be controlled by players should be decided by the modders, since it's affecting how the target will be selecting which can be balance-breaking. The hotkey itself could still be kept if modders allow that, which is why it's been put in rulesmd.ini instead of ra2md.ini and default to false And add some handling for Armor filter mode to make it take shield armor into account |
|
@TaranDahl @Metadorius after re-reviewing the current design I think only As for Last but not least, I'm still going back to the topic of 'whether a hotkey needs toggle'. Now I believe that every hotkey needs a toggle even if it's purely QoL change, because it'll still require the modders to manually set them up in client or it'll go wrong ingame, which can't be automatically completed whenever a new hotkey is added. I don't think it's a wise idea to let modders having to redefine client ini again when something new is added. If some hotkey is really about QoL, then we can make its toggle default to true, but it's still needed |
# Conflicts: # docs/User-Interface.md # src/Phobos.INI.cpp # src/Phobos.h

Reopen #1453 again.
[ ]Switch No-Move CommandAllowSwitchNoMoveCommandhotkey. If the behavior to be executed by the current techno is different from the behavior displayed by the mouse, and the behavior to be executed will make the techno move near the target, the behavior will be replaced with area guard. Regardless of whether or not switch hotkey is used, default behavior can be changed throughDefaultApplyNoMoveCommand.TXT_SWITCH_NOMOVEandTXT_SWITCH_NOMOVE_DESCinto your.csffile.In
rulesmd.ini:[ ]Distribution ModeAllowDistributionCommandis enabled. This behavior is like using the selected objects one by one to click on each target within the spread range.AllowDistributionFilterKeyEnabledallows you to set target filter by hotkey, which default toDefaultDistributionFilterMode.None, it is the default behavior of the game. If the range is not zero at this time, a green ring will be displayed. You can adjust the filter mode to:Like- only targets with the same armor type (Completely identicalArmor) will be selected among the targets allocated in the range. At this time, a blue ring will be displayed.Type- only targets of the same type (like infantries, vehicles or buildings) will be selected among the targets allocated in the range. At this time, a yellow ring will be displayed.Name- only targets of the same name (or with the sameGroupAs) will be selected among the targets allocated in the range. At this time, a red ring will be displayed.DefaultDistributionSpreadRangecontrols the initial spread range, which is a number that's corresponding to the amount of cell radius * 512.AllowDistributionSpreadKeyEnabledallows you to cycle through preset spread ranges by hotkey. There're 4 tiers of range that can be selected by this hotkey which are identical to 0, 4, 8 and 16 cells.AllowDistributionUseClickcontrols whether distribution mode is activated by clicking on a target. When set to false, distribution mode only works via press-and-drag, and the range ring will only be shown while dragging.AllowDistributionSpreadScrollset to true. This allows a more precise control of spread range that each step will increase/decrease it byDistributionSpreadScrollStep, with 20 cells as its maximum value.AllowDistributionSpreadDragallows you to adjust the spread range by pressing and dragging the mouse while holding down the specific hotkey. The drag distance from the starting point determines the spread range. This can naturally co-exist withAllowDistributionSpreadScroll.AllowDistributionCommandOnOwner,AllowDistributionCommandOnAllies,AllowDistributionCommandOnEnemies&AllowDistributionCommandOnNeutralallow the distribution command to work on owner, allies, enemies or neutral target. If picking a target that's not eligible, it'll fallback to vanilla command.DistributionModein theButtonListofAdvancedCommandBarandMultiplayerAdvancedCommandBar.sidec0x.mixfiles which correspond to different sides, with the namebutton12.shp.StartDistributionModeSoundandEndDistributionModeSound, which default to the planning mode sounds.AddDistributionModeCommandSound.TXT_SWITCH_NOMOVE,TXT_DISTR_SPREAD,TXT_DISTR_FILTER,TXT_DISTR_HOLDDOWN,TXT_SWITCH_NOMOVE_DESC,TXT_DISTR_SPREAD_DESC,TXT_DISTR_FILTER_DESC,TXT_DISTR_HOLDDOWN_DESC,MSG:DistributionModeOn,MSG:DistributionModeOff,TIP:DistributionModeinto your.csffile.In
rulesmd.ini:In
ra2md.ini:In
uimd.ini: