cp-swf
                                
                                 cp-swf copied to clipboard
                                
                                    cp-swf copied to clipboard
                            
                            
                            
                        Interactive archive of Club Penguin SWFs by year
cp-swf
An interactive archive of Club Penguin SWFs by year.
 
About
Archive
The SWF archive is included as a git submodule, the repository can be found here: cp-swf-archive.
Feel free to contribute by adding any missing files.
Flash
This website uses Ruffle so a Flash installation isn't necessary
How it works
First a JSON file with the structure of the SWF folder is generated with tree -J cp-swf-archive, example:
[
  {"type":"directory","name":".","contents":[
    {"type":"directory","name":"2017","contents":[
      {"type":"directory","name":"default","contents":[
        {"type":"file","name":"attic.swf"},
        // ...
      ]},
    {"type":"directory","name":"unknown","contents":[
      {"type":"file","name":"party10solo.swf"},
        // ...
    ]}
  {"type":"report","directories":9,"files":98}
]
Then this JSON gets decoded into the following recursive custom type:
type alias Archive =
    List Node
type Node
    = Directory { name : String, contents : List Node }
    | File String
    | Report { directories : Int, files : Int }
This gives the necessary tree structure to represent the files, their hierarchy and the total number of files and directories.
Compiling and Debug
- Install Elm
- git clone --recursive [email protected]:aBARICHELLO/cp-swf.git
- Using elm-live: elm-live src/Main.elm --start-page=index.html -- --output=main.js --debug
- Update local archive file by running tree -J cp-swf-archive > cp-swf-archive/archive.json
- To use debug mode edit the flag in index.htmltotrue, this redirects all archive requests tolocalhost:8000