xna-cncnet-client
xna-cncnet-client copied to clipboard
Implement the reading of `UsingVinifera` boolean value to `ClientDefinitions.ini`.
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
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.
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?
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
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.
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 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.
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.