Internal List Object

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.
  • The Internal List Object lets you keep an internal list similar to the list object, but with immense speed advantages compared to the regular List object. Even a hidden List object can be 100 to 1000 times slower than the Internal List object, mainly because the regular List Object is a Windows control. The Internal List Object also allows some more advanced features, such as sorting portions of the list at runtime, and saving/loading the list in a string format.

  • Hi LB,

    Would it be possible to make this extension unicode compatible or get the source code on Please login to see this link.?

    I could create a new extension but I would prefer just to fix what it is missing in yours.

    Damien

  • I don't know about the license, but the source code is available from Please login to see this link.

    .:::.Joshtek.:::.

    Visit Please login to see this link. to publish your freeware Click games and play games made by others or check out Please login to see this link. to enjoy or contribute to our archive of over 3,200 older Click games.

  • Hi LB,

    I tried the version 2.0.0 that you pre release on your github. Thank you very much for your work.
    It will save me time and increase performance of my game runtime. And it is a "must-have" extension for any project from my point of view

    I have encountered 1 issue though with copy from another list action. With the following code:

    * Lors de l'événement timer "check_next_event"
    + listGetAt$( "EventParser", 1 ) = "LoadSubEvent"
    EventList : Change current list to "SubEvents"
    EventList : Clear list
    EventList : Load list from file Apppath$ + "subevent.list", delimiter = NewLine$, escape = ""; and insert before 0
    EventList : Save list to file Apppath$ + "test.list", delimiter = NewLine$, escape = ""
    EventList : Change current list to "Main"
    EventList : Delete range [0, 1)
    EventList : From "SubEvents" to current list, copy range [0, 10) to 0, overwrite = 0
    EventList : Save list to file Apppath$ + "test2.list", delimiter = NewLine$, escape = ""

    The test.list file contains the subevent.list items and the test2.list contains "Main" list items so the files were saved correctly.
    But the main list does not contain the "SubEvents" items.

    I checked your code and I do not see any issue.

    Do you have any idea where it is coming from: my MMF code or the extension?

    Damien

  • Actually, there is an issue in code:

    [TABLE='class: highlight tab-size js-file-line-container']
    [TR='bgcolor: initial']
    [TD='class: blob-code blob-code-inner js-file-line'][COLOR=var(--color-prettylights-syntax-constant)]string_view_t[/COLOR] [COLOR=var(--color-prettylights-syntax-keyword)]const[/COLOR] list_from_name = [COLOR=var(--color-prettylights-syntax-keyword)]reinterpret_cast[/COLOR]<[COLOR=var(--color-prettylights-syntax-constant)]char_t[/COLOR] [COLOR=var(--color-prettylights-syntax-keyword)]const[/COLOR] *>([COLOR=var(--color-prettylights-syntax-constant)]CNC_GetStringParameter[/COLOR](run_data));
    ...
    auto [COLOR=var(--color-prettylights-syntax-keyword)]const[/COLOR] *[COLOR=var(--color-prettylights-syntax-keyword)]const[/COLOR] list_from_ptr = run_data->[COLOR=var(--color-prettylights-syntax-constant)]current_optional[/COLOR]();

    current_optional is not set to the list with the "list_from_name" name.

    Do you have time to fix? Otherwise I need to download your RSDK and compile it myself?[/TD]
    [/TR]
    [tr][/tr]

    [tr]
    [TD='class: blob-num js-line-number, align: right'][/TD]
    [TD='class: blob-code blob-code-inner js-file-line'][/TD]
    [/tr]


    [TR='bgcolor: initial']
    [TD='class: blob-num js-line-number, align: right'][/TD]
    [TD='class: blob-code blob-code-inner js-file-line'][/TD]
    [/TR]
    [/TABLE]


    Damien

  • Hi all,

    LB released a version 2.0.1 which is really working well:
    Please login to see this link.

    In order to replace the traditional list object, there is still something I am wondering: handling of binary files.
    It seems that Internal List Object does not have this trick to handle directly binary data without extracting and release actions (list or array objects have this feature for example).
    It is a time saving feature that I want to add in Internal List Object.

    Do some of you have a link to some existing c++ code or know how this is handled in array or list objects?

    Damien

  • Do some of you have a link to some existing c++ code or know how this is handled in array or list objects?

    You can use the mV->GetFile(), ReleaseFile() etc functions. There are Please login to see this link. and Please login to see this link. variants.

    Darkwire Software Lead Programmer (C++ & C#)
    Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.

  • I've got this object loading a list with the deliminator of newline$, no escape character and inserted before 0.

    It saves the list to file correctly, but at runtime it says there's only 1 total item and it's "ÿþa"

    What am I doing wrong?

Participate now!

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