PDA

View Full Version : Wrong tyre compounds in rF2



ZMitya
10-31-2018, 09:53 PM
Hi Gents,

I am a newbie to CrewChief. I could set it up almost I wanted, I could define my own macros etc..

The only thing I missed at the moment is it can't recognise the tyre compoung for some reason.

We use ASR 2018 mod, and for HyperSoft, UltraSoft and SuperSoft it says "Soft" only.

Can I change/fix it somehow ?

Thanks,
Mitya

mr_belowski
10-31-2018, 10:15 PM
Actually there's a bug here - we should recognise ultra and super soft, but we don't. Unfortunately we don't have a 'hyper soft' tyre in the app. I'll add it and fix that bug some time this week

ZMitya
10-31-2018, 10:50 PM
Actually there's a bug here - we should recognise ultra and super soft, but we don't. Unfortunately we don't have a 'hyper soft' tyre in the app. I'll add it and fix that bug some time this week

This sounds great, thanks!

Looking forward to it.

Cheers,
Mitya

mr_belowski
11-01-2018, 10:04 AM
ok, that fix is in today's release and the hyper-soft sound recordings are in today's sound pack update (along with a new spotter - Florian). Give me a shout if it doesn't work :)

ZMitya
11-01-2018, 06:33 PM
Hi mr_belowski,

Wow, thanks for the quick fix :)
It is better, but not yet perfect.. :)

Let me describe the issue and you will see what can be done with this...

In ASR 2018 there are multiple compound groups you can choose.

For example if I choose the (SS, S, M) group like this:

http://mitya.madein.hu/ss/snapshot-2018-11-01-19-30-06.png

It does work well, it says SuperSoft, Soft, Medium.

But if I choose the (HS, US, SS) group,

http://mitya.madein.hu/ss/snapshot-2018-11-01-19-32-24.png

It still says: SuperSoft, Soft, Mediu respectively...

Do you know why ? Is it a mod issue ?

Really appreciate your quick fix ! :)

Regards,
Mitya

mr_belowski
11-02-2018, 08:24 AM
Can you try a little test when you get the chance. If you quit the app and re-launch it after changing to a different tyre group it might work. Obviously there's a code fix needed if this indeed the case.

When you change to a different tyre group, is this something that you only do at the start of a session, or can you change part way through?

[edit]

as i can't find this mod on Workshop, I think you'll need to provide a debug trace of this happening so i can reproduce it and work out what's going on

[edit2]

is is possible for different drivers to choose different compound groups in the same race? So you're on hyper-ultra-super, and an opponent is on super-soft-medium?

ZMitya
11-02-2018, 10:49 AM
Can you try a little test when you get the chance. If you quit the app and re-launch it after changing to a different tyre group it might work. Obviously there's a code fix needed if this indeed the case.

I can confirm that it does work well when I restart the game, so it is good enough I think ! :)
(I wish I could have tried it...)


When you change to a different tyre group, is this something that you only do at the start of a session, or can you change part way through?

Theoretically the tyre groups are changed only between races. (at least this is the logical way to do it).

The race directors define the usable compounds for each race, lets say SS, S, M.
The rules say that you need to use at least 2 compounds during the race.
So if you know that you will do your race only on 2 compounds (SS + S), there are multiple groups which contains that 2 compounds.
e.g: (SS, S, M), (US, SS, S)

So it is possible that 2 drivers use different tyre groups, but they use the exact same compounds during the race.

Since it is possible to change the groups during a session (CAR SELECT menu, then TUNING, choose the new group and press "BACK" and then "RACE" button) if you wanted to do a "bullet proof" system, you should handle the in-session change as well.
However I think this is just a nice to have feature, in practice this is unlikely to happen or at least it is a corner case.



as i can't find this mod on Workshop, I think you'll need to provide a debug trace of this happening so i can reproduce it and work out what's going on

You can download our car from here: http://mitya2.s3-eu-central-1.amazonaws.com/tmp/OldBoys_2018_Hybrid_v1.0.rfcmp

But if I can help, I can do whatever you want, please let me know what you need.



is is possible for different drivers to choose different compound groups in the same race? So you're on hyper-ultra-super, and an opponent is on super-soft-medium?

I think it is answered above, but in short: YES, there are groups which have the 2 intersection of compounds.

mr_belowski
11-02-2018, 11:41 AM
OK, i'll think on it.

The app gets the tyre name from the game on each frame, so I have the raw data. However, mapping this to the tyre type on every frame is expensive (byte array -> String -> lookup). The game also sends a tyre type index integer. So the app will use the name at first, then store the result (for the session) against the tyre type integer. Then it just uses that to lookup the tyre type so it doesn't have to keep processing the String all the time.

I think this is where it's going wrong - the tyre compound groups and tyre type index must be confusing things - e.g. it starts out with [hyper, ultra, super] assigned to index [0, 1, 2]. Then you (or an opponent car) selects a different group but the game now sends [ultra, super, soft] but with the same indexes - [0, 1, 2]. So the app doesn't know that index[1] now refers to super soft. Or something like that.

One workaround is to allow the index stuff to be switched off and process the tyre name string for each car once at the start of each track sector, and when the car is in the pits. This is slightly less efficient but should prevent the app using stale index data in this case. This would be a new Property setting

ZMitya
11-02-2018, 12:43 PM
I think this is where it's going wrong - the tyre compound groups and tyre type index must be confusing things - e.g. it starts out with [hyper, ultra, super] assigned to index [0, 1, 2]. Then you (or an opponent car) selects a different group but the game now sends [ultra, super, soft] but with the same indexes - [0, 1, 2]. So the app doesn't know that index[1] now refers to super soft. Or something like that.

I think this is exactly what happens ...



One workaround is to allow the index stuff to be switched off and process the tyre name string for each car once at the start of each track sector, and when the car is in the pits. This is slightly less efficient but should prevent the app using stale index data in this case. This would be a new Property setting

Maybe it is enough to do this in the pit only, that is the place where they can change the tyre isn't it ?

Having a config flag for this is a good idea :)

Thanks,
Mitya

mr_belowski
11-02-2018, 01:25 PM
the tyre data sent by the game in the pitlane can be a bit weird - sometimes the selected tyre changes rapidly between compounds. Also, at the start of a race session none of the cars will be in the pits, so i think it's necessary to re-check the tyre compounds out on track. Once per sector isn't going to be noticable

[edit]

it would help a lot if you could collect a repro trace:

http://thecrewchief.org/showthread.php?142-How-to-collect-Crew-Chief-repro-traces

ZMitya
11-02-2018, 03:22 PM
Hi,

I have reproduced the issue and collected the DEBUG trace..

Here it is:
http://mitya2.s3-eu-central-1.amazonaws.com/tmp/RF2_64BIT_2018-02-11--16-15-39.gz

What I did is choosed the (HS, US, SS) group and picked the HS and checked what I have...

Then switched to the (SS, S, M) group and went out to the pit and checked my tyre again.

It said HyperSoft again, as we expedted...

I hope that the trace is good..

Cheers,
Mitya

mr_belowski
11-02-2018, 03:37 PM
yes, that's helpful. Debugging for just the player data, I get this:

Index = 2 name = SUPERSOFT
Index = 2 name = SUPERSOFT
Index = 2 name = SUPERSOFT
....
Index = 4 name = SUPERSOFT
Index = 4 name = SUPERSOFT
Index = 4 name = SUPERSOFT

....
Index = 2 name = HYPERSOFT
Index = 2 name = HYPERSOFT
Index = 2 name = HYPERSOFT
Index = 2 name = HYPERSOFT

so it looks like the tyre type index isn't usable here

mr_belowski
11-08-2018, 11:53 AM
this has now changed to use the tyre compound name instead of the index, so this issue should be resolved in today's release