Skip to content
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

Implement the reading of UsingVinifera boolean value to ClientDefinitions.ini. #470

Open
CCHyper opened this issue Jun 6, 2023 · 7 comments

Comments

@CCHyper
Copy link

CCHyper commented Jun 6, 2023

Implement the reading of UsingVinifera boolean value to ClientDefinitions.ini to allow Vinifera support for specific features going forward.

Also, the following should be added to the bottom of the template ClientDefinitions.ini that ships with the client package;

; Set to true to if your mod uses Vinifera and needs to support any new features it provides (Tiberian Sun only).
UsingVinifera=false
@Metadorius
Copy link
Member

I don't think singling out extension-specific features this way is a correct move. We should not hardcode features and instead strive towards generalization. For example, to support Phobos new features Starkku remade settings and made it so custom settings can be added.

@CCHyper
Copy link
Author

CCHyper commented Jun 6, 2023

I don't think singling out extension-specific features this way is a correct move. We should not hardcode features and instead strive towards generalization. For example, to support Phobos new features Starkku remade settings and made it so custom settings can be added.

What do you suggest as a solution that would work for both extension projects?

@Metadorius
Copy link
Member

Metadorius commented Jun 6, 2023

What do you suggest as a solution that would work for both extension projects?

I would need to know what features on the client side specifically are needed. Currently Phobos doesn't require any specific features, the only client-side thing that interacts with Phobos is custom RA2MD.ini settings. If Vinifera needs custom setting toggles too - the client already supports them without any edits, have a look here: https://github.com/Starkku/cncnet-client-mod-base/blob/df5dbdf62cb1f7af5e333118ef9636f6e38f646d/ClientFiles/Resources/OptionsWindow.ini#L43

@CCHyper
Copy link
Author

CCHyper commented Jun 6, 2023

What do you suggest as a solution that would work for both extension projects?

I would need to know what features on the client side specifically are needed. Currently Phobos doesn't require any specific features, the only client-side thing that interacts with Phobos is custom RA2MD.ini settings. If Vinifera needs custom setting toggles too - the client already supports them without any edits, have a look here: https://github.com/Starkku/cncnet-client-mod-base/blob/df5dbdf62cb1f7af5e333118ef9636f6e38f646d/ClientFiles/Resources/OptionsWindow.ini#L43

Vinifera's support are not systems the end-user can toggle, these are required to support custom loading screens only when the mod uses Vinifera, for example.

For example;
SPAWN.INI

[Basic]
LS400BkgdName=LS400GDI1A.PCX
LS400TextLoc=200,150

Perhaps a new INI which defines what is to be written in addition to SPAWN.INI would be best.

@Metadorius
Copy link
Member

I would need to see more context later, but my general comment is that I think we don't need to gate all of the Vinifera-specific stuff behind such a toggle, but rather individual toggles for individual adjustments when they are implemented. For example, hypothetically this feature may be ported to Phobos, then the UsingVinifera toggle wouldn't fit.

@CCHyper
Copy link
Author

CCHyper commented Jun 6, 2023

I would need to see more context later, but my general comment is that I think we don't need to gate all of the Vinifera-specific stuff behind such a toggle, but rather individual toggles for individual adjustments when they are implemented. For example, hypothetically this feature may be ported to Phobos, then the UsingVinifera toggle wouldn't fit.

I agree in this case, but there still needs to be a system in place where any/all extension projects can define the control for their new features. A UI toggle is not a solution here, it needs to be a lower level as these can impact how the game initializes.

@Metadorius
Copy link
Member

I meant UI toggles for Phobos specific settings as an example of implementing a generalisation improvement instead of hardcoding the toggles into the client itself, not as a solution for this issue. Yeah I agree, I just think they need to be more granular and, if possible, more generalized.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Development

No branches or pull requests

2 participants