Not signed in (Sign In)

Vanilla 1.1.9 is a product of Lussumo. More Information: Documentation, Community Support.

    • CommentAuthorMCC (Moderator)
    • CommentTimeApr 28th 2011
     
    Tapir, I request an "Input Action" handler, which is like an action handler, but with inputs, like a function (would work with entity custom properties, CCats, etc). I've run into the need of having a function to work with entity custom properties a couple of times.

    Now particularly, I need a function to set an entity custom property in every element of an entity array, and don't know how to do it efficiently, since I have many arrays to apply this function to. It can be worked around with normal actions, but still, if you could add this feature...-----------------
    I'm still around... observing.
    I leave all that I own to my cat guppy
    •  
      CommentAuthorJodi850
    • CommentTimeApr 29th 2011
     
    i mean you cant change a local variable deflaut value like global variables-----------------
    (insert good signature here)
    •  
      CommentAuthorTapir
    • CommentTimeApr 29th 2011
     
    @MCC
    Ok, I will add it.
    The current custom functions will be called pure functions, for they are level independent.
    The new function entities will be called dirty functions, for they are level dependent. :)

    @builder
    a supplement for my last comment.
    Currently, the first using of a local variable in a function must be as an output variable.-----------------
    My games: Tapir Games
    My phyards: Tapir@phyard
    •  
      CommentAuthorBioManiac R2 (Moderator)
    • CommentTimeMay 2nd 2011
     
    Hey Tapir, i know i could make a "get brothers" using a while loop,
    but if there is a simpler method, such as an array that exists already in the program, which has the brothers listed, could you add a get brothers API?
    it could take input of a specific shape, and then get the array of brothers that the shape is in, then output the rest of that array
    i only ask this because the source code usually has a bunch of brothers listed in an array style... im not sure if that means this is possible this way?
    •  
      CommentAuthorTapir
    • CommentTimeMay 2nd 2011
     
    do you want a a list of all entities attached together?
    or just shapes?-----------------
    My games: Tapir Games
    My phyards: Tapir@phyard
    •  
      CommentAuthorBioManiac R2 (Moderator)
    • CommentTimeMay 2nd 2011
     
    hmmm... good question... because if all entiteis would include the camera too right? ... maybe make those two different settings xD ?
    •  
      CommentAuthorTapir
    • CommentTimeMay 2nd 2011
     
    camera is also a shape.
    Currently, entities are mainly divided into 3 categories: shapes, joints and categories.

    ok, I will add this API, which will return all shapes attached together.-----------------
    My games: Tapir Games
    My phyards: Tapir@phyard
    •  
      CommentAuthorJodi850
    • CommentTimeMay 3rd 2011
     
    a center joint button?-----------------
    (insert good signature here)
    •  
      CommentAuthorTapir
    • CommentTimeMay 3rd 2011
     
    @BioManiac R2 and @xyuzhg,
    GetBrothers API is added.

    @builder,
    do you mean "move joint to the center of shape"?
    You can select both the joint and shape then press + key.-----------------
    My games: Tapir Games
    My phyards: Tapir@phyard
  1.  
    my idea
    set text color
    set text size
    set text bold
    set text italic
    set text underline
    get text color
    get text size
    is text bold
    is text italic
    is text underline
    set radius
    all.-----------------
    My sig deleted....
    •  
      CommentAuthorVanderwaal
    • CommentTimeMay 9th 2011
     
    Be able to make private discussions sticky and mybe too that discussions of a month or older automatic get closed to prevent spamming? I know that last one might cause some problems.
    •  
      CommentAuthorBioManiac R2 (Moderator)
    • CommentTimeMay 9th 2011
     
    i like both ideas vanderwaal, but i think a month is too short, perhaps half year ?
    •  
      CommentAuthorTapir
    • CommentTimeMay 10th 2011 edited
     
    Good ideas.
    Discsssions on phyard will be sinked when thry are one month old and will be closed them when they are half year. (not implemented yet)

    @ABC boy
    text APIs is in todo list now. But I'm still hesitating in two implementation methods.-----------------
    My games: Tapir Games
    My phyards: Tapir@phyard
    •  
      CommentAuthorBioManiac R2 (Moderator)
    • CommentTimeMay 11th 2011
     
    hey Tapir is it possible to add a "Get moment of inertia" API ?
    because do the integral for a polygon myself seams somewhat impossible...
    unless i can somehow convert inertia into moment of inertia?
    •  
      CommentAuthorTapir
    • CommentTimeMay 11th 2011
     
    The 'Get Inertia" API is exactly "Get moment of inertia".
    Sorry for the mistaken name, it will be fixed in the next version.-----------------
    My games: Tapir Games
    My phyards: Tapir@phyard
    •  
      CommentAuthorBioManiac R2 (Moderator)
    • CommentTimeMay 11th 2011
     
    but Tapir, if they were the same i would have noticed such, but instead your calculations in the API are slightly higher than the calculations i used to get the moment of inertia....
    and i find the smaller the circle radius i test this on, the larger the error between the two... S:
    •  
      CommentAuthorTapir
    • CommentTimeMay 11th 2011
     
    yes, this mainly caused by the border.-----------------
    My games: Tapir Games
    My phyards: Tapir@phyard
    •  
      CommentAuthorBioManiac R2 (Moderator)
    • CommentTimeMay 12th 2011
     
    LOL wow, thanks Tapir, xD 0 boreder = perfect moment of inertia, that saves me the time of calculating it for polygone :) xD
    wish i noticed that lol, the error is proportional to the size of the border lol
    • CommentAuthorMCC (Moderator)
    • CommentTimeMay 14th 2011 edited
     
    Hey, Tapir, when cloning a event handler and an entity assigner connected to each other, or any other triggers connected with lines (condition gates, etc), the connections aren't kept. In fact, the cloned triggers are connected to the original triggers. I don't know if this is intentional, but it is undesired most of the times. ;)-----------------
    I'm still around... observing.
    I leave all that I own to my cat guppy
    •  
      CommentAuthorTapir
    • CommentTimeMay 15th 2011 edited
     
    This problem will be fixed in the next version v1.56, which will be the biggest update since v1.10.-----------------
    My games: Tapir Games
    My phyards: Tapir@phyard
    •  
      CommentAuthorBioManiac R2 (Moderator)
    • CommentTimeMay 15th 2011
     
    biggest update since 1.1 !?!? i dont know what to say O_o i thought these were all pretty big updates all along...
    Tapir i cant wait to see it :P
    •  
      CommentAuthorBioManiac R2 (Moderator)
    • CommentTimeMay 15th 2011
     
    oh also, i'd like to request the ability to zoom out more...
    after that bug i just sent you, you can take a guess why lol...
    • CommentAuthorMCC (Moderator)
    • CommentTimeMay 15th 2011
     
    Listen to that! Biggest update since v1.10...
    I'm sitting and waiting with you, BioManiac!! :D
    Tapir has never let me down... he's a box of surprises!
    I can't wait to see what's next. Certainly, the updates since v1.10 were already very important. ;)-----------------
    I'm still around... observing.
    I leave all that I own to my cat guppy
    •  
      CommentAuthorMadball (Advanced Member)
    • CommentTimeMay 19th 2011 edited
     
    Maybe you`ll make some API or function like "String -> Array" that will assign string from beginning to 1st separator(input value) to 0th element, from 1st separator to 2nd separator to 1st element, from 2nd separator to 3rd separator to 2nd element and so until the end of string?

    Input:
    Separator: " "
    String: "This is the input string."

    Output:
    Array:
    0: "This"
    1: "is"
    2: "the"
    3: "input"
    4: "string."

    It would be good if there was "Number -> Array", that works the same (even with string input), but automatically converts strings to numbers.-----------------
    LD35!
    •  
      CommentAuthorFiremil (Advanced Member)
    • CommentTimeMay 19th 2011 edited
     
    @Madball
    that's already possible to make, I'll post it later here... (failed)-----------------
    •  
      CommentAuthorBioManiac R2 (Moderator)
    • CommentTimeMay 19th 2011
     
    hey Tapir, i just realized, do we not have a "get gravity by vector" API ? there's all the set ones but not a get S: ...
    •  
      CommentAuthorTapir
    • CommentTimeMay 21st 2011
     
    @Madball and @BioManiac R2,
    String.Split and World.GetGravity will be added in the next version.
    "Number -> Array" is not very basic so it will not be added.-----------------
    My games: Tapir Games
    My phyards: Tapir@phyard
    •  
      CommentAuthorBioManiac R2 (Moderator)
    • CommentTimeJun 14th 2011
     
    hey Tapir, i thought we had an API that was for "create link" or "break link" ? i cant find it S: did we not have one?
    now that we're able to add new shapes we have a purpose for them lol
    • CommentAuthorXyuzhg (Moderator)
    • CommentTimeJun 14th 2011 edited
     
    (About above:)
    True. However, looking at the release thread under 'New Components', there is:
    "Entity Script Filter and Entity Pair Script Filter. The 2 components are very useful for runtime-created entities."

    Tapir, before doing those API (though I would gladly have them ;D), can you first tell us exactly how to use those?
    And while you're at it, I'd like an explanation of the functions of the Task Aggregator.
    I know some about it, but exactly what happens after the task status result is finished/failed?
    ----
    Oh, I just answered my own questions. :P
    But an explanation may help others.-----------------
    Hopefully PA is inconsistent.
    • CommentAuthorMCC (Moderator)
    • CommentTimeJun 14th 2011
     
    Indeed, an explanation on how Entity Script Filters work would be important. I still don't get how to use them... although I didn't experiment much either. ;)

    And, I've come here to make a feature request: layer management APIs. These APIs weren't so important before, but now that we can create entites at runtime, they come to be necessary.
    Currently, every created shape will be sent to the top. This isn't always a good idea; for example, if you have an interface with menus that should remain above of every other entity.
    So the suggested APIs would be:
    -Send Entity to Top/Bottom Layer
    -Send Entity to Layer Below/Above Entity
    (the second one places the entity one layer above or below a specified input entity)-----------------
    I'm still around... observing.
    I leave all that I own to my cat guppy
    •  
      CommentAuthorTapir
    • CommentTimeJun 14th 2011 edited
     
    @BioManiac R2
    "create link"? you mean "create joints"? I will add it when the custom value type feature is implemented.

    @Xyuzhg and MCC
    for "Entity Script Filter and Entity Pair Script Filter", like the Basic Condition component, they have one boolean ouput parameter, but have one/two entity input parameter(s). If the return value is true, then it means the input entity or entity pair are valid for some event handlers.

    here is an example. a contact pair will be destroyed only when one is rectangle and the other is circle:



    @MCC,
    yes the layer, or z-depth, are important. There will be many ways to adjust entity layers later.
    I will implement you requested soon. (I remember someone else also ever request these APis, :))

    ------------------------

    here is an example of pre and post handling of entity timer event handlers. the example will stat the number of circle with radius larger 0.5:



    Before understanding the Task Aggregator component, you should know what is the task status of an entity: http://wiki.colorinfection.com/index...
    Basically, you can view the task status of an entity as a predefined triple value type custom entity variable.
    You can link some entity assigners or entity script filters to a Task Aggregator entity.
    Task Aggregator component is not very basic, but sometime using it cleverly will simplify the designing process.
    Still not very understand? :), I will make an example recently.-----------------
    My games: Tapir Games
    My phyards: Tapir@phyard
    •  
      CommentAuthorBioManiac R2 (Moderator)
    • CommentTimeJun 14th 2011 edited
     
    Tapir, from my understanding, this is like putting "ANY" as the shape choise for the selector and then specifying the requirements in the event? is there any difference (give or take a little efficiency)
    example:



    ALSO : i found a bug lol... you can destroy the world border xD ...
    and Tapir i did not mean "create joints" i mean "create links" like, the links between event handlers and objects through the entity assigners and stuff....
    • CommentAuthorMCC (Moderator)
    • CommentTimeJun 14th 2011
     
    Thanks a lot for the explanation, Tapir! Very mind-clearing.
    I now understand how it works.
    Entity Filters does can be simulated with v1.55, as BioManiac pointed out, but as I see it, they're still a helpful tool. These time-saving aids are never hurts! ;)

    @BioManiac
    Ah! That's a very fun bug... or... feature? Or is it a bug-a-ture? =S
    Anyway, I think it's a good idea to allow us to detect the world border via event handlers... it could prove useful for some designs. At least now the "Is World Border?" API makes some sense. I just don't know if we should be allowed to destroy them... but I guess it's not going to change much wether it is possible or it is not. ;)-----------------
    I'm still around... observing.
    I leave all that I own to my cat guppy
    •  
      CommentAuthorBioManiac R2 (Moderator)
    • CommentTimeJun 14th 2011
     
    hey Tapir, im not sure why i haven't requested this before since i've always wanted them to be API's,

    are two entities coliding? - input two entities - output true/false if they are coliding
    find coliding shapes with: - input one entity - output array of coliding entities
    etc

    similar to the events for coliding stuff, but it does not run when the shapes start/stop or during coliding, and can be used during click or keyboard events too
    currently im using the colide events to make an array of such my second request API would do :/ ....
    •  
      CommentAuthorTapir
    • CommentTimeJun 15th 2011 edited
     
    I don't think "destroy the world border" is a bug. :)

    About the "Create links", currently, I will try to make sure links are only built in entities placed in editor.
    There will be APIs to register/unregister event handlers for any entities.

    I will add GetCeontactedShapings and IsTwoShapeContacting APis soon.-----------------
    My games: Tapir Games
    My phyards: Tapir@phyard
    •  
      CommentAuthorBioManiac R2 (Moderator)
    • CommentTimeJun 15th 2011
     
    yay Tapir!!! but another one to add, "getlocation of colisionbetween2shapes" - input 2 shapes - return location of colision - null if not coliding
    - i've written the code already for this one if you want it lol ? used it for the light show game i made
    • CommentAuthorXyuzhg (Moderator)
    • CommentTimeJun 16th 2011 edited
     
    Tapir!!! This is important (to me)!
    Why is there a Get Physics Shapes At Point but no Get (All) Shapes at Point?!?
    I must have it- ASAP!

    *ahem*

    Well, this would really reduce CPU consumption in certain levels like the Rubik's Cube.
    Alternatively, a Set Entity Enabled API will be very useful, but not as efficient.-----------------
    Hopefully PA is inconsistent.
    •  
      CommentAuthorBioManiac R2 (Moderator)
    • CommentTimeJun 16th 2011
     
    hey Tapir, i made a function that worked any shapes, first by checking a feature of all the shapes going through the list until it reaches a null shape...
    this caused a problem when cloning shapes because for some reason, the shape that cloned it, even though it was the highest ID number, the clone shape still remained 6 ID above it ??
    could you tell me what's going on here? what are the few null shapes that are between? S:
    •  
      CommentAuthorTapir
    • CommentTimeJun 17th 2011 edited
     
    @BioManiac R2,
    "getlocation of colisionbetween2shapes"?
    I will try to find an optimized way for this. Currently, when a contact event is handled, the contacted 2 shapes may have already seperated apart.
    This is because the contact events are handled delayedly.
    I will check your method in your light show game. Maybe I will implement it in a core API.

    For runtime-created shapes, a creation id will be assigned to them when they are created, the id is just increased from the highest id of the entities placed in editor.
    For examples, if there are 5 entities in eidtor, in playing, the 4 border entities will get ids 5, 6, 7, 8. A new cloned shape will get id 9.
    And currently, the API GetEntityByOffset will only return an entity placed in editor. I will add a parameter for this API to make it able to return runtime-created entities.
    But one thing to note, to get destroyed entities placed in editor, this API will always not return null, but for a runtiem-created destroyed entity, this API may return null.

    And I will add a ForEachEntity API.

    @Xyuzhg,
    "Why is there a Get Physics Shapes At Point but no Get (All) Shapes at Point?!?"
    Now this API uses box2d engine to find shapes, so only physics shapes can be found.
    Why not use sensor shapes?

    "Set Entity Enabled API"
    The API is added already, but only valid for event handlers, power sources and txxt buttons.
    Do you mean a disabled shape will disalbe physics? In fact, this feature is planning.-----------------
    My games: Tapir Games
    My phyards: Tapir@phyard
    • CommentAuthorXyuzhg (Moderator)
    • CommentTimeJun 17th 2011
     
    Oh, I was a bit too motivated in my speech to clarify myself and think through my problems first.

    "Why not use sensor shapes?"
    Does that reduce the CPU consumption?
    If so, then there is no need for that addition :)
    If not, I wouldn't, as ideally my cube will run very smoothly.

    "Do you mean a disabled shape will disalbe physics?"
    Yes.
    "In fact, this feature is planning."
    Wonderful! I wait in anticipation.

    I have a question though.
    When should we expect a batch modify control?
    It would be extremely useful in many game ideas I have in mind.-----------------
    Hopefully PA is inconsistent.
    •  
      CommentAuthorTapir
    • CommentTimeJun 18th 2011
     
    what is "batch modify control"?

    Yes sensor shapes will consume more cpu time than non-physics shapes, but l consume less cpu time than non-sensor physics shapes.

    btw, some new APIs are added:
    - AdjustEntityAppearanceOrder
    - GetConnectedShapes (or GetSisters)
    - IsSister
    - GetConttactedShapes
    - IsContacted

    And add a param for GetEntityByIdOffset so that this API can return runtime-created entities.-----------------
    My games: Tapir Games
    My phyards: Tapir@phyard
    • CommentAuthorXyuzhg (Moderator)
    • CommentTimeJun 20th 2011
     
    Aah, nice.
    But just to clarify, what do you mean by 'connected'?
    I may start confusing brothers with sisters.
    By batch modification I mean changing the properties of multiple objects at one time.
    For example, you can select many similar entities and change the density of all of them at one time.-----------------
    Hopefully PA is inconsistent.
    • CommentAuthorMCC (Moderator)
    • CommentTimeJun 20th 2011 edited
     
    @Xyuzhg
    The feature you're asking for is already implemented and with the same name you suggest.
    To make use of it, select multiple entities, and right click the Settings button. There you will find the batch modifiers.
    By the way, every button with a small dot on the upper right corner can be right clicked as well. =)

    Which reminds me, appearance batch modifiers haven't been implemented yet. ;)

    And, I do not understand entirely the difference between brothers and sisters... is it that shapes have a gender? =P-----------------
    I'm still around... observing.
    I leave all that I own to my cat guppy
    •  
      CommentAuthorBioManiac R2 (Moderator)
    • CommentTimeJun 20th 2011
     
    haha i also am confused what sisters are xD
    •  
      CommentAuthorRanthowis
    • CommentTimeJun 20th 2011
     
    I believe Sisters are shapes that have joints connecting them, such as a distant or joint.
    While Brothers are shapes that are simply.. glued to each other, without the use of joints or distant joints.
    Kinda like Similes and Metaphors.-----------------
    Hi?....
    •  
      CommentAuthorTapir
    • CommentTimeJun 21st 2011
     
    :)
    Ok, I will change it back to "Connections".
    Or do you have a better name?-----------------
    My games: Tapir Games
    My phyards: Tapir@phyard
    •  
      CommentAuthorRanthowis
    • CommentTimeJun 21st 2011
     
    No, its not the name there asking about, its the thing they do there asking about.-----------------
    Hi?....
    •  
      CommentAuthorBioManiac R2 (Moderator)
    • CommentTimeJun 21st 2011
     
    i think leaving the name as connections would be more understandable for new users,
    as well as having brothers back to "glued shapes" or something, like it was back in the oldest editors
    •  
      CommentAuthorTapir
    • CommentTimeJun 21st 2011
     
    OK, I uploaded a new revision. "Batch entities properties modify" dialogs are redesigned.
    The name sister is changed back to connection.
    And "make brothers" can also be called "attach shapes" now.-----------------
    My games: Tapir Games
    My phyards: Tapir@phyard
    • CommentAuthorMCC (Moderator)
    • CommentTimeJun 21st 2011
     
    A very wise implementation!
    Now the entity batch modifiers are a lot easier to follow, as they look a lot more like the individual setting dialog.
    Thanks for giving out the appearance settings. They have been a need for a very long time. =)-----------------
    I'm still around... observing.
    I leave all that I own to my cat guppy