Flight strip annotation max size

Hi, I’m trying to diagnose an issue where one plugin’s flight strip annotation seamingly is overwriting the annotation in the next “cell”, index 0 into index 1.

The source of the other plugin is public and it doesn’t write to index 1, but it generates a very long combined string for all it’s values. Is the character length for an annotation limited in the Euroscope code or are you simply taking in the pointer to the allocated string without copying and there should be no limit?

Also not sure if it’s done in a later version, we are still on a quite old one in our VACC, but that long string in index 0 created by this other plugin is being “drawn” right over the other cells, including the assigned squawk, making it impossible to read. Any chance to truncate the rendering of any string to a limit that doesn’t impact the next cells to the right?

Can’t provide a verified answer for the first part, but from my limited plugin coding experience, my educated guess would be that the allocated storage for all the cells are just next to each other. Most values are limited to 16, but you need to ensure this on your own when coding a plugin. There is no check on the plugin interface. It’s C++, so you have the control - also to break it.
Wonder what plugin that is, but this should be an easy fix - on the plugin side of course.

The overlap of the index fields in the flight strip is also something I observe. I’m not using the latest version though due to compatibility and stability issues. Some UI improvement there would definitely help to make the content better readable.

Was thinking the same that the strings would be allocated next to each other. Can’t find anything in the documentation regarding max size though. Did some basic test to see if I could overflow into the neighbouring cell but at least locally it doesn’t seem to be the case. But not sure how it would behave in an actual controlling session on vatsim when it copies values from another controller.

Finally figured out what’s going on. I so far only added flight strip annotations “locally” but didn’t push to other controllers. But the new CDM plugin my VACC added recently, does - often, very often. So it constantly overrode my values. Luckily the code was available on Github so can easily adjust to push to the same controllers when making a change.

On the plus side, can confirm the limit for strings in the annotations is not 16, the cdm plugin stored well above 26 chars in there with no issues.

1 Like

I changed the output to be the left 5 chars to avoid overwrite.
I would be happy if plug-ins do not use this area for communications. But if I limit it now they will not work anymore.

I assume the scratch pad is the intended place to exchange such messages.

The only problem with this is that controllers connecting after such messages have been sent, will not get it. This is a known problem for things like a clearance flag, but also any “message” broadcasted by a plugin. Is there a suitable alternative (to update newly connected clients)?

Thanks for the 5 char limit, and I understand. Didn’t I see an API update wish list thread on here, a proper data exchange option between controllers using a plugin, and maybe even different plugins (if I mark my field readable/writable) would be great.

And I understand the backwards compatibility issue, I would leave it but make the new one easier to use - I for one would be very happy to update and not use the strip annotations anymore.

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.