tjvr / kurt

Python library for reading/writing MIT's Scratch file format.
https://kurt.tjvr.org
GNU General Public License v3.0
86 stars 24 forks source link

Sort list watchers properly #18

Open tjvr opened 10 years ago

tjvr commented 10 years ago

List watchers now show up in two places. The one in "lists" is for backward compatibility. The one in "children" allows interspersed ordering with sprites.

Kurt's loading code needs to be adjusted to stack stuff properly.

{
    "objName": "Stage",
    // ...
    "lists": [{
            "listName": "Operations",
            "contents": ["thing",
                "thing",
                // ...
                "thing"],
            "isPersistent": false,
            "x": 5,
            "y": 5,
            "width": 97,
            "height": 181,
            "visible": false
        },
        {
            "listName": "Results",
            "contents": ["Results  F 40 L 40 S 40 G 20 R 40 TS 39 TC 39 CTC 39"],
            "isPersistent": false,
            "x": 8,
            "y": 5,
            "width": 464,
            "height": 117,
            "visible": true
        }],
    // ...
    "currentCostumeIndex": 1,
    "penLayerMD5": "279467d0d49e152706ed66539b577c00.png",
    "tempoBPM": 60,
    "videoAlpha": 0.5,
    "children": [{
            "objName": "Gobo",
            // ...
        },
        {
            "objName": "Cat",
            // ...
        },
        {
            "objName": "Sprite3",
            // ...
        },
        {
            "objName": "Sprite12",
            // ...
        },
        {
            "objName": "Sprite11",
            // ...
        },
        {
            "objName": "Sprite10",
            // ...
        },
        {
            "objName": "Sprite9",
            // ...
        },
        {
            "objName": "Sprite8",
            // ...
        },
        {
            "objName": "Sprite4",
            // ...
        },
        {
            "objName": "Sprite7",
            // ...
        },
        {
            "objName": "Sprite5",
            // ...
        },
        {
            "objName": "Sprite6",
            // ...
        },
        {
            "listName": "Operations",
            "contents": ["thing",
                // ...
                "thing"],
            "isPersistent": false,
            "x": 5,
            "y": 5,
            "width": 97,
            "height": 181,
            "visible": false
        },
        {
            "listName": "Results",
            "contents": ["Results  F 40 L 40 S 40 G 20 R 40 TS 39 TC 39 CTC 39"],
            "isPersistent": false,
            "x": 8,
            "y": 5,
            "width": 464,
            "height": 117,
            "visible": true
        }],
    "info": {
        // ...
    }
}