xxbbcc's Forum Posts

  • 9 posts
  • Guizmus: thank you, the use of the Browser object is a good idea, although I probably won't do it in this case - I assume that the overhead of "eval" is far more expensive than a few extra local variables and "else"-s.

  • aruche, thanks for typing all that up. Since there were no replies to the thread (and since I couldn't find anything to the contracry), I assume the answer is no.

  • Ashley, thanks for your quick reply - that change will definitely be a step in the right direction. It's hard to say if it's enough to prevent issues with source control but I'll give it a try when it's out. Currently we keep the project file locked (read-only) because of the overwhelming number of changes to it when anything changes. I'd like to avoid spamming source control with unnecessary changes so I usually revert the file every time but that gets old quickly.

    I'd recommend refactoring some of the stuff out of it to other .xml files - I think that'd make using C2 for teams a lot easier. For example, if I have folders under "Object Types" and I open / close a folder, the project file gets updated when this is a UI state and really belongs to the uistate.xml file. This is true for the "Preview browser" setting under "Game Properties".

    These two latter issues are a lot easier to live with, though - thanks for the fix again.

  • Thanks but I'm not sure I understand either reply.

    I simply asked if it's possible to use a plugin to inject a return statement into a function's logic in C2 since the Function object only allows setting a return value but doesn't terminate the function.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • I have a fairly complex function where I want to return from multiple points, depending on logic. I *could* use Else blocks but I want the function to exit as soon as possible and it'd keep the logic cleaner too (I need to use extra local variables to keep track of some conditions when a <font face="Courier New, Courier, mono">return</font> would simply leave the function.)

    The <font face="Courier New, Courier, mono">Function</font> object doesn't have anything like this - is there a plugin that adds the ability? If not, is it possible to do this with a plugin? (I took a quick look at the SDK but it seems that plugin functionality is limited to functions being called from C2 but it doesn't seem possible to actually inject Javascript instructions into a C2 function at a given place.)

  • Note, that this is made worse when the .caproj file is read-only (under source control). C2 fails to save the file and no other changes are saved until the read-only flag is cleared from the .caproj file.

    C2 should honor read-only flags until a change has to be saved into the read-only file. As it is, it's near impossible to use C2 in a team environment because the project file keeps getting changed all the time and C2 tries to write the file for most (even trivial) changes.

  • Link to .capx file (required! If link is blocked remove the http and www parts):

    dl.dropboxusercontent.com/u/92823662/IDEBug.zip

    Steps to reproduce:

    1. Unzip the attached file to a folder - this is a multi-file project.

    2. Open project in C2.

    3. Open "Event sheet 1".

    4. Right-click the "System -> Every tick" event and add a comment.

    5. Save the project.

    Observed result:

    Notice that the "New project.caproj" file has changed. The <font face="Courier New, Courier, mono"><used-plugins></font> and <font face="Courier New, Courier, mono"><used-behaviors></font> elements are randomly reordered. This results in a project file that constantly changes which defeats the purpose of source control.

    Expected result:

    The project file should only be updated when a project-related setting changes. When the only change is to an event sheet the project file should not be updated.

    Browsers affected:

        Not applicable - IDE bug

    Operating system & service pack:

        Windows 8.1

    Construct 2 version:

        158.2 (x64)

  • I only started using C2 a few days ago but I can confirm that dragging code blocks around / undoing and some other (undetermined) actions make the editor unstable. I can't reproduce any of these problems at will but I've already seen a few crashes using r158 (I was looking at a few bigger tutorial projects with several event sheets, etc. when I ran into crashes.)

  • I just recently started playing with C2 to see what it can do. I'm using Subversion for source control and noticed that renaming objects like sprites also renames file system folders.

    For example, I added a sprite to a layout with its default name 'Sprite' and added some animation frames to it. I then checked in the entire project to the repository.

    Later I realized that I didn't want to name the sprite 'Sprite' but 'Character' - I made the change but this also changed the name of an already source-controlled folder.

    This, unfortunately, defeats the purpose of source control entirely: I now have an orphaned folder (with subfolders and files) in SVN and I have an entire subtree on disk that's not under source control.

    I'd suggest to add a new XML element PATH that'd describe the file / folder path of an item. For example (excerpt from layout XML):

    <instances>
      <instance type="Sprite" uid="6">
      <font color=blue>[b]<path>C:\project\sprite1\</path>[/b]</font>    
        <properties>
          <initial-visibility>Visible</initial-visibility>
          <initial-animation>Default</initial-animation>
          <initial-frame>0</initial-frame>
    

    The PATH element describes the folder used for the sprite. Animations would have their own PATH element to describe the folder name of each animation.

    If the PATH element is missing, C2 could fall back to the current behavior where the object name is used to form the path. If PATH is present, then that's where the files are, regardless of what the object name is.

    This would solve the problem with source controlled items and old, existing projects would continue to work.

  • 9 posts