User Tag List

Page 11 of 38 FirstFirst ... 9 10 11 12 13 21 ... LastLast
Results 101 to 110 of 375

Thread: Build 293.1 - Release version

  1. #101
    Clickteam Clickteam

    Join Date
    Jun 2006
    Location
    France
    Posts
    14,168
    Mentioned
    279 Post(s)
    Tagged
    3 Thread(s)
    Quote Originally Posted by dustingunn View Post
    I don't get it. Are you saying it's working as intended? That seems unintuitive/illogical for a parent event to always make a child event (which requires no object picking because it's a singleton) false.
    ? No, not at all. I say that Start Loop messes up the object selection, so it should not be used in the actions of a parent event (because the object selection is propagated to child events, and this is done after the last action of the parent event). Fixing this is a bit tricky and might cause performance issues, so I'm not sure this will be fixed. You should move the Start Loop action from the parent event to an Always line as first child event, so that the object selection is modified only in this new line and doesn't interfere with object scoping in other child events.

    It's a similar issue to the known one when you use Start Loop with other actions, sometimes you have to move Start Loop to a new event line if it modifies the selection of the objects used in other actions.

    Instead of the object picking being reset, it keeps the object selection but none of them qualify so it's like a list of 0 "Player Flag"s now being tested. In the first example, I make a condition designed to pick (Fixed Value = *) and instead of looking at all bullets, it checks a list of 0 bullets and finds none. Is that really how it's supposed to be?
    Maybe, not sure if I understand what you mean either. And no it's not supposed to work like that, it's due to the Start Loop action which doesn't preserve object scoping.

    Let me take your example:

    Code:
    * onJump of Player Controls = 1
    
    	+ Hanging of Player Flags = 1
    		Special : Start loop "TryUnduck" 1 times
    		 Special : Send Str$(Hanging( "Player Flags" )) to output window
    
    		+ Hanging of Player Flags = 1
    			Sound : Play sample click
    1. First line selects the Player Controls object that have the onJump value equal to 1.

    2. Second line selects the Player Flags object that have the Hanging value equal to 1, and runs the actions:
    => when Start Loop returns for some reason the Player Flags selection list is cleared, so zero Player Flags is marked as selected.
    => Send Str$(Hanging( "Player Flags" )) to output window will seem to work because IIRC in expressions if no object is selected the engine takes the first instance.
    => after callind these actions, the engine saves the current object scoping that will be used in each child event.

    3. Third line, as it's a child event it takes the object selection saved after the parent actions => no Player Flags is marked as selected. So the "Hanging of Player Flags = 1" will be false.

    If you move Start Loop to a new line, this works the normal way, as the Start Loop issue doesn't interfere with the other child ev:

    Code:
    * onJump of Player Controls = 1
    
    	+ Hanging of Player Flags = 1
    
    		+ Always
    			Special : Start loop "TryUnduck" 1 times
    			 Special : Send Str$(Hanging( "Player Flags" )) to output window
    
    		+ Hanging of Player Flags = 1
    			Sound : Play sample click
    1. First line selects the Player Controls object that have the onJump value equal to 1, no change.

    2. Second line selects the Player Flags object that have the Hanging value equal to 1. No action, so it just saves the current object selection, i.e. one Player Flags object is selected (and if the Player Controls object is used in child events this one is also saved).

    3. Third line, the Always event line. The object selection saved above is restored, and the actions are executed.

    4. Fourth line, the object selection saved above is also restored before the conditions are evaluated, in this case there is one Player Flags object selected, so the condition can be evaluated and is true.

    Hopefully it's more clear.

  2. #102
    Clickteam Clickteam

    Join Date
    Jun 2006
    Location
    France
    Posts
    14,168
    Mentioned
    279 Post(s)
    Tagged
    3 Thread(s)
    Quote Originally Posted by dsilvers View Post
    Normally when loading in a ContentID value, they'll roll over into the negatives, and if I'm lucky I'll get something like 2496e+10^9 or whatever.

    ...

    Is there any any ANY chance the number of significant digits Fusion can read can be upped from 8 to 16? Mondrian is heavily reliant on user generated content and this bug could basically kill the game and nearly force me to remove it from market.
    It depends. If it's a simple sign issue, then we can probably fix it. If they use values above 4,294,967,295 then it's a different story and we would need to add new actions/conditions/expressions (which is possible too but more complicated).

    EDIT: I don't see why a negative value would be a problem, it's probably just a display problem as the source code seems to use unsigned values (but maybe I didn't see everything).

  3. #103
    Clicker Fusion 2.5 DeveloperFusion 2.5+ DLCAndroid Export ModuleMac Export Module
    dsilvers's Avatar
    Join Date
    Jun 2008
    Location
    Boston, MA
    Posts
    660
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Yves View Post
    It depends. If it's a simple sign issue, then we can probably fix it. If they use values above 4,294,967,295 then it's a different story and we would need to add new actions/conditions/expressions (which is possible too but more complicated).

    EDIT: I don't see why a negative value would be a problem, it's probably just a display problem as the source code seems to use unsigned values (but maybe I didn't see everything).
    Been working with Phi and Naitor over on Discord, and here's what we discovered. Using the old .NET extension, Phi was able to whip up a function that converts a big number into a string. So loading the ContentID values works there, even if it is a bit ugly. The problem though is loading those ContentID strings back into the Steamworks extension to then download the files on Workshop, because once they're converted back into Val's, they take on the 2.23646e+09 format, and the extension can't understand that. Even if it did, the rounded number would be incorrect.

    Right now the files on our workshop are both sitting in the 2-billion range: 2236459396 and 2339258573 respectively. I don't know how Steam generates the numbers, whether they're completely random or adding up one at a time from Workshop items across the entire network. If they're random then there's a chance the billions spot could be any value between 1 and 9.

    The negative value is a problem because the numbers have to be loaded into a list or array first, and then fed back into the Steamworks object to download the files at the associated ContentIDs. Since the ContentID's on Steam side aren't negative, you just get a statusErrorFailedToDownloadFile.

    I feel like the best possible solution would be to load ContentID's in as strings, rather than values, since it's just pulling them from a URL essentially anyway.

  4. #104
    Clickteam Clickteam

    Join Date
    Jun 2006
    Location
    France
    Posts
    14,168
    Mentioned
    279 Post(s)
    Tagged
    3 Thread(s)
    Quote Originally Posted by dsilvers View Post
    Been working with Phi and Naitor over on Discord, and here's what we discovered. Using the old .NET extension, Phi was able to whip up a function that converts a big number into a string. So loading the ContentID values works there, even if it is a bit ugly. The problem though is loading those ContentID strings back into the Steamworks extension to then download the files on Workshop, because once they're converted back into Val's, they take on the 2.23646e+09 format, and the extension can't understand that. Even if it did, the rounded number would be incorrect.

    Right now the files on our workshop are both sitting in the 2-billion range: 2236459396 and 2339258573 respectively. I don't know how Steam generates the numbers, whether they're completely random or adding up one at a time from Workshop items across the entire network. If they're random then there's a chance the billions spot could be any value between 1 and 9.

    The negative value is a problem because the numbers have to be loaded into a list or array first, and then fed back into the Steamworks object to download the files at the associated ContentIDs. Since the ContentID's on Steam side aren't negative, you just get a statusErrorFailedToDownloadFile.
    Could you send me a little MFA that shows the problem so that I debug it and see what happens in the code?

  5. #105
    Clicker Fusion 2.5 DeveloperFusion 2.5+ DLCAndroid Export ModuleMac Export Module
    dsilvers's Avatar
    Join Date
    Jun 2008
    Location
    Boston, MA
    Posts
    660
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)
    Sure thing. Should I leave in the .NET extension or send the more baseline, no-crazy-C#-functions version?

  6. #106
    Clicker Fusion 2.5 DeveloperFusion 2.5+ DLCAndroid Export ModuleMac Export Module
    dsilvers's Avatar
    Join Date
    Jun 2008
    Location
    Boston, MA
    Posts
    660
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Yves View Post
    Could you send me a little MFA that shows the problem so that I debug it and see what happens in the code?
    Here's the barebones version. Includes a the Steamworks object, an Active, a List, and String.

    Edit: My bad, that still had the .NET extension in it by accident. Fixed now.
    Attached files Attached files

  7. #107
    Clickteam Clickteam

    Join Date
    Jun 2006
    Location
    France
    Posts
    14,168
    Mentioned
    279 Post(s)
    Tagged
    3 Thread(s)
    Quote Originally Posted by dsilvers View Post
    Here's the barebones version. Includes a the Steamworks object, an Active, a List, and String.

    Edit: My bad, that still had the .NET extension in it by accident. Fixed now.
    Thanks, I'll check it tomorrow.

  8. #108
    Clicker Fusion 2.5 DeveloperFusion 2.5+ DLCAndroid Export ModuleMac Export Module
    dsilvers's Avatar
    Join Date
    Jun 2008
    Location
    Boston, MA
    Posts
    660
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)
    Thanks, Yves. This one's really got me in a panic. I dunno what the plan is if content isn't downloadable.

  9. #109
    Clicker Fusion 2.5 DeveloperFusion 2.5+ DLCAndroid Export ModuleHTML5 Export ModuleiOS Export ModuleMac Export ModuleSWF Export ModuleXNA Export ModuleFirefly 3D Module
    MEHRDAD's Avatar
    Join Date
    Jan 2009
    Location
    Iran
    Posts
    491
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    @Yves
    Hi and sorry for mention it again. Is any news to MP4 object or animation play object for all exporters?

  10. #110
    Clickteam Clickteam

    Join Date
    Jun 2006
    Location
    France
    Posts
    14,168
    Mentioned
    279 Post(s)
    Tagged
    3 Thread(s)
    Quote Originally Posted by dsilvers View Post
    Thanks, Yves. This one's really got me in a panic. I dunno what the plan is if content isn't downloadable.
    In your example the problem comes from the Val function that you use to convert the string content from the List object. Val works with signed integers, and if the value is out of range (i.e. less than -2147483647 or greater than 2147483648), it converts it to a floating point value, and then when it's converted back to an integer value when it's passed to the Steamworks object, it gets out of range and an incorrect limit value is passed.

    A possible solution is that you store the content ID to the line data in the List box object, and directly retrieve it from there, instead of using Str$ and then Val:

    List : Set line fileNumber( "steamChecker" ) data to SteamLastUGCContentId( "SteamWorks" )

    ...

    SteamWorks : Download file to Apppath$ + "\Downloads\" for content with id List Data( "List", fileNumber( "steamChecker" ) ) at priority 0

    Is this possible and does this work?

Page 11 of 38 FirstFirst ... 9 10 11 12 13 21 ... LastLast

Similar Threads

  1. Build 289.0 - Beta version
    By Yves in forum Fusion 2.5
    Replies: 19
    Last Post: 28th May 2017, 09:06 PM
  2. Build 285.2 - beta version
    By Olivier in forum Fusion 2.5
    Replies: 39
    Last Post: 4th May 2016, 10:20 PM
  3. Build 285.0 - beta version
    By Yves in forum Fusion 2.5
    Replies: 69
    Last Post: 13th September 2015, 12:55 AM
  4. Build 284.2 - beta version
    By Yves in forum Fusion 2.5
    Replies: 89
    Last Post: 17th April 2015, 05:41 PM
  5. Build 283.0 - beta version
    By Yves in forum Fusion 2.5
    Replies: 89
    Last Post: 30th October 2014, 06:09 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •