Giter Site home page Giter Site logo

Comments (7)

Metadorius avatar Metadorius commented on June 12, 2024

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.

from xna-cncnet-client.

CCHyper avatar CCHyper commented on June 12, 2024

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?

from xna-cncnet-client.

Metadorius avatar Metadorius commented on June 12, 2024

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

from xna-cncnet-client.

CCHyper avatar CCHyper commented on June 12, 2024

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.

from xna-cncnet-client.

Metadorius avatar Metadorius commented on June 12, 2024

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.

from xna-cncnet-client.

CCHyper avatar CCHyper commented on June 12, 2024

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.

from xna-cncnet-client.

Metadorius avatar Metadorius commented on June 12, 2024

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.

from xna-cncnet-client.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.