Comments (7)
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.
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.
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.
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.
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.
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.
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)
- Replace TAL.DE.EU.GameSurge.net with LAN-Team.DE.EU.GameSurge.net HOT 5
- Please give us back Observers on Coop missions
- Favorite maps disappearing
- CnCNet Client WebSocket Support
- Will the 2.8.0.3 branch merge into the develop branch?
- Will it be updated to .NET8?
- VS issue with building, and can't start after compiling - file not found HOT 2
- YR - Players cannot select Germany faction when "No Yuri/No France" is enabled HOT 2
- Could not find required child control: PlayerOptionsPanel Could a pro please provide specific guidance on what to do? HOT 2
- Use Central Package Management
- Replace WebClient and WebRequest to HttpClient
- Support FinalSun/FinalAlert from Steam HOT 2
- IME support for East Asia users
- Reimplement/remove favourite maps feature
- Move SecondStageUpdater directory HOT 2
- Checking for update fails if the update mirror URL does not end with a trailing slash
- repo webhook test HOT 1
- Correct the updater path in docs
- "Start New Game" doing nothing :( HOT 1
- Running MentalOmega on WINE in 64 bit mac
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from xna-cncnet-client.