Dispersion Reticle

Dispersion Reticle

5.4k Downloads

Version 3.0.0 changes proposal

Pruszko opened this issue ยท 10 comments

commented

TL;DR

I'd like to hear from You what you want to see, so I've made a simple strawpool where you can freely vote.
Below you have description what I mean by "simplicity" and "customization, but complexity".
Link: https://strawpoll.com/3RnYlme2Wye

Context

Since my custom rendering system on a simple server reticle is technically able to render any type of reticles, I'd like to add ability to configure dispersion reticle and latency reticle similar way.
However, current config file is already quite big (despite having not-so-much params) and adding similar sections for, let's call it - simple dispersion reticle and simple latency reticle - would become thrice as big.

Not only that, but having vanilla reticles and my simple ones, despite having mostly same purpose (simple server vs vanilla server), would have been unconventionally next to each other instead of being combined as one with some "type selection".
It's because they are not exactly the same:

  • vanilla ones displays reload, simple ones does not,
  • vanilla dashed reticle changes blend strength depending on reload state, simple does not,
  • vanilla shape changes by in-game settings, simple changes by my shape config,
  • vanilla is generally not possible to be altered, in simple I can do whatever I want.

I could potentially add "reload" section with color selection etc, but changing blend strength dynamically on reload only for some shapes would be akward for users (what if someone would want it constant? for darker colors they rather would like zero blend strength).
Should there be blend strength selection with color as well?
It would also enlarge already enlarged config.

There is also #6 request that would also add even more complexity with shape customization to EACH reticle.

Feedback

I'd like to hear from You what you want to see, so I've made a simple strawpool where you can freely vote.
Below you have description what I mean by "simplicity" and "customization, but complexity".
Link: https://strawpoll.com/3RnYlme2Wye

What I want to do overall:

  • move each similar reticle to separate config file (for ex. config-server-reticle.json would have vanilla and simple server reticle)
  • probably add above #6 request to some extend

Simplicity (and generally non-breaking compatibility):

  • only add simple reticle type for dispersion and latency reticles
  • simple latency reticle wouldn't be able to replace standard reticle (vanilla latency reticle still could replace it)

Customization, but complexity (also breaks some behavior):

  • remove all vanilla reticles and maintain them only for SPGs,
  • instead, add them as simple reticles configurable and add "reload" customization with color and blend params to be even able to basically 1:1 reproduce vanilla reticles, but on my rendering system
  • shape of additional reticles changes with my config, it WILL NOT change with in-game setting shape change
  • you lose double-barrel shot reticle transition that additional vanilla reticles have
  • latency reticle with hide-standard-reticle option checked would just become vanilla reticle with latency behavior

So, general question:

  • simplicity or customization?
commented

so that you can do a fast narrowing like strv or slow like fv 4005, in general, so that the speed can be adjusted. I am writing through a translator)

commented

Hi Pruszko! Firstly, thank you so much for your modding efforts!

A some questions on the proposed changes:

  1. Do both the Simplicity and Customization considerations include the overall changes that you listed?
  2. Would these options maintain compatibility with custom crosshair mods?
  3. Any consideration for also combining in your ReticleSizeLimitRemover mod (potentially with min. size configuration)?

Ideally for me, it would be great if the upcoming version had the overall changes + Simplicity + ReticleSizeLimitRemover and removed the in-game config (directly editing the json and being able to refresh the config in game is fantastic).

Just my thoughts.

commented
  1. Yes
  2. With crosshair mods, yes. With reticle mods that changes circle shape/color, partially yes. The main difference in "complexity" would be that additional reticles would be completely independent from other mods, but the standard reticle will still be moddable by them. Just that changes by SWF files from other mods wouldn't be applied anymore to additional reticles.
  3. I wanted them to be separated because they are not colliding each other, but I can think of including it to be configurable and still keep ReticleSizeLimitRemover as standalone.

In-game config generally has to exists (it's not the problem to maintain it as it is) because this mod is in Aslain modpack (and maybe some others). My mod already has enough diverse configuration (and it will get even bigger) that having each combination in his modpack would take enormous amount of space in the list.

commented

Probably will go with Simplicity.
It will be easier to make and users will be able decide which reticle type to choose (more vanilla-like or much more customizable one).

It will include #6 request, but for that I'd like to split config params across config files for each reticle type, but it will require to refactor current mechanism to support it.
Or just make everything in one file as it is for the sake of simplier code, I'll choose one or another way

commented

Working on it

Current progress:

  • renamed simple-server-reticle to server-reticle-extended (well, it's not "simple" anymore)
  • renamed latency-reticle to hybrid-reticle (latency is hard to translate in many languages)
  • added new reticles similar to server-reticle-extended
    • focused-reticle-extended
    • hybrid-reticle-extended
  • extended reticles now respect minimal reticle size
  • (won't do; reverted because it wasn't so good)
    • split main config.json file into files dedicated to reticle types
  • migration to new configs happens automatically based on previous config
  • reorganized gui in mod configurator
  • added ability in basic reticles to change between GREEN and PURPLE color
  • added ability in extended reticles to configure layer to render above/below in-game basic reticles
  • significantly improved extended reticle scalling in figure-based shapes
  • added ability in extended reticles to configure shapes parameters per reticle type
  • improved center dot configuration in extended reticles
  • overall improved config error handling
    • fix config reset when directly incorrectly edited config file before WoT client starts
    • display warning window with error message (at least json syntax errors), so users don't have to check python logs, lmao
  • update images to live up for new features
  • updated translations
commented

Used v3.0.0 "beta" for about 30 games. Tried all of the different options at least twice, but primarily played with Server Reticle Extended. All working well, no issues as of yet.

Fantastic work with the updated. Really appreciate the effort with this great quality mod!

commented

Progress looks great. If you need any testers for the new version please let me know.

commented

Ok, I think mod is in state which we can call "beta".
It's still missing ru and zh_cn translations, but I think functionally it's basically complete.

I'll post here wotmod ready for testing/translating, but while doing so:

  1. Make a backup of config file, because before I release 3.0.0 I might still change something.
  2. Some translations are now common between reticles, so try to use "this" (or similar words) instead of certain reticle name in them:
  • reticle.* for basic reticles,
  • reticleExtended.* for extended reticles.

Changes are in branch 3.0.0.
DispersionReticle.zip

commented

Nice to hear!

Also Chinese and Russian translations were contributed as well

I'll spend tomorrow a little more time myself as well to test everything out, because there was quite a lot more changes than usual (like, over 4 000 lines of code changed) to make sure I didn't miss something

commented

Released in version 3.0.0