String parser and fast loop name length limit?"

Welcome to our brand new Clickteam Community Hub! We hope you will enjoy using the new features, which we will be further expanding in the coming months.

A few features including Passport are unavailable initially whilst we monitor stability of the new platform, we hope to bring these online very soon. Small issues will crop up following the import from our old system, including some message formatting, translation accuracy and other things.

Thank you for your patience whilst we've worked on this and we look forward to more exciting community developments soon!

Clickteam.
  • Has anyone else run into a limit on fast loop name lengths? I was running a loop with maybe 100 characters in the name and then String Parser wasn't able to get the elements of the line anymore; it kept using the first element instead of the index of the loop. I shortened the name and now it's working. :| Is there anything else I should know about this?

  • For future reference, fast loop names are limited to 63 characters long. Any fast loop with a name longer than 63 characters will not run. I Please login to see this link. already but I wanted it noted here, too.

  • good to know, thanks snail.

    Do you think CT did that with a thought rather than on purpose? I've never used a loop longer than 30 characters. Do you think it's a predefined char string[64] with cursor (=63 chars)?

    I'm very interested in the datatypes of Fusion, CT seem very aware of our scenarios before we/I make the features. Any thoughts on the subject?

    Please login to see this link.

  • Yves and Francois are not daft. They fully appreciate and understand the need for flexibility without constraining too much. Fusion 2.5 was a HUGE update. Granted, some things DO get overlooked but that's what BETA testers are for. Personally, I can't see anyone reporting FastLoop names over 63 characters in testing or even over a year since its release because... Who would actually use a FastLoop name that is greater than 63 characters? Secondly, for those that do... WHY?

    I really don't see this as anything more than a simple thing that needs to be reported to the BugBox and not the forum. There is no sentiment in making a mountain out of a molehill. Well done for finding this issue but it belongs in the BugBox where Yves/Francois can address this for the next update.

    Game Launcher Creator V3 - Please login to see this link.
    Bespoke Software Development - Please login to see this link.
    Learn Clickteam Fusion 2.5 - Please login to see this link.

    Danny // Clickteam

  • A limit was probably introduced since doing a string comparison for the loop name is an expensive operation, especially since it's done a lot of times each frame.
    Yves mentioned it's fixed in the next build though, so now you just need to wait :)

    Edited once, last by Simon: CP (February 19, 2018 at 9:27 PM).

  • Quote

    A limit was probably introduced since doing a string comparison for the loop name is an expensive operation, especially since it's done a lot of times each frame.

    The performance issue with loop names was already fixed in 2.5, except in the Loop Index function that was apparently forgotten (this one is fixed in the next build).

  • Not at all Tompa, it wasn't aimed at anyone. Just in general, regarding the topic :)

    Game Launcher Creator V3 - Please login to see this link.
    Bespoke Software Development - Please login to see this link.
    Learn Clickteam Fusion 2.5 - Please login to see this link.

    Danny // Clickteam

  • The performance issue with loop names was already fixed in 2.5, except in the Loop Index function that was apparently forgotten (this one is fixed in the next build).

    I see! I suppose you do some caching of the loops with static names, and for dynamic names, you fall back to the old method?
    For dynamic names, you could generate a perfect hash function using something like gperf.

    Edited once, last by Simon: CP (February 19, 2018 at 9:27 PM).

  • I have to say I'm astounded people are using lengths like 63 chars or even close! ClickConverse is a very complex program which uses hundreds of loops and I don't think a single one has a name longer than maybe 20 characters at a maximum.

    I would highly recommend adjusting your naming style here. Doing something like getting the loop index in an expression and being able to quickly type it in rather than having to copy/paste (which I assume you're doing) is incredibly valuable in its efficiency, especially when using loops as functions.

  • I disagree with that. If you can use variable loop names, then it has to support unlimited characters or the limit needs to be made clear and obvious to the user because the loop will fail and the user won't know why. Change the title of the expression editor for loops to the following:

    "Enter the number of loops (no more than 63 characters)"

    That's the difference between supporting a feature (unlimited characters) and obfuscating the fact that it doesn't exist (limited characters but no mention of this limit).

    I'm glad to hear that this is already fixed, Yves! :) Thanks.

    Edited once, last by Snail (January 29, 2015 at 5:58 PM).

  • Regardless of this point, I still say it's bad coding style to use that sort of length. It's fixed now so it won't be a stumbling block for anyone, but I would never in a million years recommend this sort of practice. The rapid readability factor alone should have been the clue not to ;)

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!