An interactive archive of Club Penguin SWFs by year.
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.
This website uses Ruffle so a Flash installation isn't necessary
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.
- Install Elm
git clone --recursive git@github.com: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.html
totrue
, this redirects all archive requests tolocalhost:8000