Closed CrimRecya closed 1 month ago
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.
I have 2 questions: is it scrollable and what's with Techno's positioned behind it?
Does the custom stuff like floating numbers, digital display etc. get properly excluded from the SW sidebar?
No, it's not scrollable yet. At least not now. This image should be able to illustrate the drawing well. It will be drawn after all map content is completed, before the several timers.
I think you don't need scrolling though, you can just make the pyramid shape as it is in C&C3.
I'm just thinking about possibility of exploiting it to hide troops from enemy.
At present, there is too little information known about ControlClass
and SelectClass
, and I cannot meet these requirement. I will close this PR.
You don't need to close the PR. How can we help you figure it out? I've sent the IDA definitions of the relevant classes and vtable layouts, so you can insert them in IDA and read the codes.
Now supports SW.UseAITargeting
and can be hidden. I won't redo it through SelectClass, for me, this is already a complete feature.
I only set one SW.InScreen.Show=yes on a major SW for a quick test so far, and what it seems to be doing (at least in a singleplayer mission test map) is: when it's not scrolled to the top of the Armory tab, it wants to launch the SW that is in the top-right corner just 1 row beyond the visible range (the first cameo on the right "hidden" by the sidebar tab buttons). Depending on how positioned your Armory tab is, it will want to launch a different SW.
The same thing happened for additionally defined SWs on the left side when I added 2 more: these cameos all wanted to launch the SW "hidden to the right" when Armory tab was not scrolled to the top. Game resolution was 1400x900 for this test, if it matters.
These new icons only want to launch the properly defined SW when the Armory tab is scrolled to the top.
EDIT: Oh, if my tab is set to something else than SWs and scrolled down, clicking on an icon on the left results in starting production of whatever object is "located/hidden" at the same spot rather than firing the intended SW.
I only set one SW.InScreen.Show=yes on a major SW for a quick test so far, and what it seems to be doing (at least in a singleplayer mission test map) is: when it's not scrolled to the top of the Armory tab, it wants to launch the SW that is in the top-right corner just 1 row beyond the visible range (the first cameo on the right "hidden" by the sidebar tab buttons). Depending on how positioned your Armory tab is, it will want to launch a different SW.
The same thing happened for additionally defined SWs on the left side when I added 2 more: these cameos all wanted to launch the SW "hidden to the right" when Armory tab was not scrolled to the top. Game resolution was 1400x900 for this test, if it matters.
These new icons only want to launch the properly defined SW when the Armory tab is scrolled to the top.
EDIT: Oh, if my tab is set to something else than SWs and scrolled down, clicking on an icon on the left results in starting production of whatever object is "located/hidden" at the same spot rather than firing the intended SW.
Thank you so much for your feedback. I think I have some preliminary ideas about this issue and I will fix it soon.
@CrimRecya as you see we now have two pull requests open that implement the same feature.
From what I see, your pull request is more feature-rich but @NetsuNegi's pull request is based on YR's ControlClass
, which is more preferable from the code standpoint, so both implementations have their strengths and weaknesses.
I suggest that you and @NetsuNegi cooperate and produce a unified pull request which would include the best work from you both. Maybe take his pull feature as a base and bring on all the nice features that your sidebar has, but ultimately that is up to you how you want to deal with this.
What do you think of this?
For reference, I am talking about this PR if you haven't seen it: https://github.com/Phobos-developers/Phobos/pull/1384
@CrimRecya as you see we now have two pull requests open that implement the same feature.
From what I see, your pull request is more feature-rich but @NetsuNegi's pull request is based on YR's
ControlClass
, which is more preferable from the code standpoint, so both implementations have their strengths and weaknesses.I suggest that you and @NetsuNegi cooperate and produce a unified pull request which would include the best work from you both. Maybe take his pull feature as a base and bring on all the nice features that your sidebar has, but ultimately that is up to you how you want to deal with this.
What do you think of this?
Oh, I saw his great implement. However, although I am willing to collaborate to create a better implement, in fact, I am currently busy with my daily work and limited to small modifications and fixes for all my implements I have made. I don't have enough time to make drastic changes to this implement right now, at least until next year. In addition, this implement also laid the foundation for another implement that I have public but not pull request yet. So in the current stable state, I think I will temporarily put this on hold here. Of course, if necessary, I can also close it or convert it into a draft.
SWSidebarBackground
controls whether to draw the background shape of the exclusive sidebar.SWSidebarBackground.OnPCX
andSWSidebarBackground.OffPCX
controlled the shapes of this exclusive sidebar's switch displaying, respectively used in non-hidden and hidden. Required sizes are all10 * 50
.SWSidebarBackground.TopPCX
,SWSidebarBackground.CenterPCX
andSWSidebarBackground.BottomPCX
controlled the materials that were combined to create the entire exclusive sidebar background shape. Their required sizes are respectively80 * 20
,80 * 50
and80 * 20
. InSWSidebarBackground.CenterPCX
, the position of the superweapon'sSidebarPCX
is 5 pixels away from the left contour of this background, 15 pixels away from the right contour, and 1 pixel away from both the upper and lower contours.SW.InScreen.Show
controls whether the superweapon should be displayed first in the exclusive sidebar. If the exclusive sidebar is full (up to 10 are displayed), the overflowing superweapon's cameo will be added back to the original sidebar. If there is an empty space in the exclusive sidebar afterwards, it will no longer return to the exclusive sidebar, unless the permission to use the superweapon is regained (lost and gained again). Therefore, it is not recommended to place all superweapons in the exclusive sidebar.SW.InScreen.PriorityHouses
controls if the superweapon is displayed first in the exclusive sidebar, players belonging to these houses will have priority in placing the superweapon cameo in the exclusive sidebar.SW.InScreen.RequiredHouses
controls if the superweapon is displayed first in the exclusive sidebar, players must belong to these houses in order to have superweapon a real chance of being displayed in the exclusive sidebar. The default is empty, which means this condition will always be met.SW.QuickFireAtMouse
controls whether the superweapon which is command by keyboards will forcibly launch to the mouse position without all Ares conditions check except charging and funds. If the mouse is not in the tactical map now, the superweapon will launch likeSW.QuickFireInScreen=true
do.SW.QuickFireInScreen
controls whether the superweapon will forcibly launch to the center position of the current screen without all Ares conditions check except charging and funds.In
rulesmd.ini
: