Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Sausage Johnson
    @sausagejohnson
    And if protect doesn't stop deleting, I can get my own Resource section, store it, manipulate it, and (I think) push it somewhere else and reload it.
    iarwain
    @iarwain
    Mmh, I'm not sure I follow entirely, but once your program has started, it won't use the Resource section anymore, so it can freely be modified
    Have to run to the xmas school dinner, sorry!
    Sausage Johnson
    @sausagejohnson
    That's cool. I'll explain later. Have a good one.
    Oh orxRESOURCE and adding storage. I think I'm on the right track now.
    Sausage Johnson
    @sausagejohnson
    Getting a little success so that's good.
    One thing we haven't discussed (and this is mainly for you @enobayram ) is once you choose a config from another project, how do we display the objects?
    Some objects are top level, and some are children etc etc.
    The only thing I can think of it to walk through all objects in the config and create them all. But this will mean that child objects will be created twice on screen, once by itself, but into world space, and then as part of a parent.
    Not quite sure how to deal with this cleanly. I'm hesitant to expect the user to create a root object like a scene with a specific name for the sake of the visualizer. That would be no good.
    Enis Bayramoğlu
    @enobayram
    @sausagejohnson what exactly do you mean by choosing a config from another project? Does that mean I'm normally working with project X and I just want to load a config from project Y?
    Sausage Johnson
    @sausagejohnson
    No not quite like that. When you fire up the vizualizer, it is itself, an orx application with it's own minimal config.
    Enis Bayramoğlu
    @enobayram
    Ah, I see. So the design is still that the first thing you do is to go load a project's root config
    Sausage Johnson
    @sausagejohnson
    So the idea is, fire up the visualizer
    Then press L to bring up the file dialog, choose config from your project that you are working on

    Ah, I see. So the design is still that the first thing you do is to go load a project's root config

    Yes for the moment, unless a better way comes along.

    Enis Bayramoğlu
    @enobayram
    I think it'd be an uphill battle to try to salvage things from a plain config. I'm sure there would be many ambiguities etc. I can think of two solutions:
    Have a [Visualizer] section that lists the "sections of interests", such as Objects = A # B # ..., Graphics: ...
    Have a special key in each section such as VisualizeAs: Object
    Sausage Johnson
    @sausagejohnson
    Actually that's not bad.
    Or... every object section is listed if there is no [Visualizer] root defined.
    And you can click on one.
    Enis Bayramoğlu
    @enobayram
    How do you know a section belongs to an object?
    Sausage Johnson
    @sausagejohnson
    Next time you load the viz, it will resume from that object.
    I guess you can clue in if it has a graphic property
    Or inherits one.
    Enis Bayramoğlu
    @enobayram
    What if there's a default property Graphics=@ for all sections?
    as I said, that's an uphill battle
    Sausage Johnson
    @sausagejohnson
    I suppose so. But if it was default like that, it's free game. You could try to visualise it, but it won't show anything perhaps.
    Enis Bayramoğlu
    @enobayram
    BTW, I think you're imagining the visualizer as a stand-alone executable that loads other projects' config files
    Sausage Johnson
    @sausagejohnson
    Correct.
    For now. We talked about it being part of orx itself, but that's a step too far for me right now
    Enis Bayramoğlu
    @enobayram
    Hmm, I guess it would be useful for beginners, but in a big project, many of your objects would have behavior defined by code
    Sausage Johnson
    @sausagejohnson
    Yes. I am not sure we can support any code related stuff. This is more for placement, testing FX and spawner behaviour
    Tweaking speeds
    Enis Bayramoğlu
    @enobayram
    I see, that'd be very useful anyway
    but I think it's still better to look ahead, so that one doesn't start with a design that will have to be scrapped in order to add the more advanced features
    Sausage Johnson
    @sausagejohnson
    Yep. Would be for me anyway. But if it turns out that it's not overly useful what I'm proposing, I'm happy to bite the bullet and not go forward with it.
    That's the agile way!
    Enis Bayramoğlu
    @enobayram
    guess so :)
    Sausage Johnson
    @sausagejohnson
    There's not a whole lot of code to make this as proposed.
    The dialog is working, I have a basic import of external configs.
    Just needs some zoom keys, mouse scrolling of the screen, and way of displaying Object Sections in a list.
    Enis Bayramoğlu
    @enobayram
    Well, then, I guess it could serve as a nice prototype
    Sausage Johnson
    @sausagejohnson
    Plus much more that I'm not seeing yet :)
    Yep I think so.
    This is just get a stake driven in to the ground.
    Enis Bayramoğlu
    @enobayram
    Sounds good :)
    Sausage Johnson
    @sausagejohnson
    This is some scratchy test code to test placing an object on screen located in a config from another project:
        orxObject_CreateFromConfig("ObjectFromThisProject"); 
    
    
    
        orxConfig_Load("C:/Work/orx-projects/kachingbox/project/bin/windows/kachingbox.ini"); //Will display log errors first time due to unknown paths. This is the root ini chosen by the visualizer's file dialog.
    
        orxResource_AddStorage("Config", "C:/Work/orx-projects/kachingbox/project/bin/windows", false); //Add a config location from another project
        orxResource_AddStorage("Config", "C:/Work/orx-projects/kachingbox/project/bin/windows/../../data/config", false); //Add the location of the other project's child config location. TODO: Gather these paths programmatically.
    
        orxResource_AddStorage("Sound", "C:/Work/orx-projects/kachingbox/project/bin/windows/../../data/sound", false); //do the same for sound and texture.
        orxResource_AddStorage("Texture", "C:/Work/orx-projects/kachingbox/project/bin/windows/../../data/object", false);
    
    
        orxConfig_Load("kachingbox.ini"); //Load it again now that the child config locations are  known.
    
        orxObject_CreateFromConfig("ObjectFromAnotherProject");
    This seems to be working well.