Giter VIP home page Giter VIP logo

directorcastripper's Introduction

Director Cast Ripper

Director Cast Ripper exports assets and information from Macromedia / Adobe Director files, including standard and compressed (Shockwave) movies and casts. It features both a friendly graphical interface and a command-line interface. Created with Director itself, its functionality is implemented using a variety of built-in functions and third-party Xtras.

Download

Download Director Cast Ripper from the Releases page.

Two variants are offered: one built with Director MX 2004 (10) and one built with Director 12. The most important difference is that the Director 12 build supports exporting Shockwave 3D cast members, while the Director 10 build does not. But the Director 10 build may be more compatible with older files, so it is also worth trying.

Supported Member Types

The following table lists member types that Director Cast Ripper can export, along with file formats that it can save them to.

Member Types File formats
Bitmap, Picture PNG, BMP
Sound WAV
Flash, Vector shape SWF
Shockwave 3D W3D
Text HTML, RTF, TXT
Field TXT

Other Features

Director Cast Ripper exports information about movies and cast members into CSV spreadsheets. When adding and removing files, it allows multiselection of files using Shift-click or Ctrl-click. Files can also be added by dragging them into the window. All of its functionality is also accessible via the command line; run DirectorCastRipper.exe --help for details. Director Cast Ripper can also integrate with ProjectorRays; just download the EXE file and place it in Cast Ripper's Tools folder.

Although Cast Ripper runs within the Director Player, it disables scripting for all loaded movies, preventing their code from interfering with the export process. But the Director Player still attempts to load any cast files, linked cast members, and Xtras that each movie depends on. Therefore when exporting it is best to keep movies in their original folders and to copy any required Xtras into Cast Ripper's Xtras folder, otherwise error dialogs may pop up during the export process. If you are using Cast Ripper to process many files and don't know what Xtras they may need, Cast Ripper provides an option to auto-dismiss the error dialogs, preventing the export process from stalling.

Credits

Director Cast Ripper uses several third-party Xtras which are listed below.

Special thanks to Tomysshadow for his extensive help and guidance throughout the development process, and to Valentin for developing so many great and useful Xtras!

directorcastripper's People

Contributors

n0samu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

jakesteam

directorcastripper's Issues

bug: Random crashes in D12 build - access violation in TextXtra

The Director 12 build of Cast Ripper occasionally crashes due to an access violation error in TextXtra. When this happens, the program quits immediately without any warning; this is not something Lingo code can catch and handle. I've already tried a number of possible workarounds, but nothing has been able to address the problem.

Here is a movie that is known to occasionally trigger this crash (shared by @skiesofravens):
splat.zip

Here is an example of how the crash is shown in Event Viewer:

Faulting application name: DirectorCastRipper.exe, version: 12.0.1.122, time stamp: 0x519a586f
Faulting module name: TextXtra.x32, version: 12.0.0.111, time stamp: 0x51012eeb
Exception code: 0xc0000005
Fault offset: 0x0007c877
Faulting process id: 0x2260
Faulting application start time: 0x01da1291229d5d24
Faulting application path: E:\Director\CastRipperC\DirectorCastRipper.exe
Faulting module path: E:\Director\CastRipperC\xtras\Xtras\FirstParty\TextXtra.x32

The fault offset seems to be consistent between runs.

Here is part of the call stack shown in WinDbg, which shows that the Font and Font Asset Xtras are also involved:

006fcd94 61e5a338     031e0c34 1250e6f8 00000000 TextXtra+0x22ab0
006fcdb4 63037012     032118d8 1250e6f8 00000000 TextXtra+0xa338
006fd234 63037ba7     82eb6210 1250e6d8 1250e75c Font_Xtra+0x27012
006fd524 640e4fa3     12463aa4 dd014281 1250e6d8 Font_Xtra+0x27ba7
006fd7d8 640e57b1     1250e6d8 05b43b24 00000000 Font_Asset+0x4fa3
006fd868 64493254     12515224 1250a544 02b380c0 Font_Asset+0x57b1

The movie has a font cast member, lending credence to the theory that this is a bug in Director's font handling.

feature: Improve file/folder selection UX

Currently I am using the Buddy API Xtra for file and folder selection dialogs, which displays XP-style dialogs even in Windows 10. Considering the age of Director MX 2004, it doesn't seem like any existing Xtras support the modern Common Item Dialog for file and folder selection. It might be a fun exercise to make my own Xtra for that. ๐Ÿ˜„

As a shorter-term goal, I should integrate Drop Xtra to allow adding files via drag and drop.

feature: Extract movies and casts from projectors

The director-files-extract script can do this. I should integrate it with Cast Ripper to make it easier to use.

The challenge: I need to receive and parse the command-line output of the script to know what files it extracted. I can use Shell Xtra for that. I also need to think about what happens if the script tries to overwrite an existing file. Might need to modify the script or extract to an empty folder as an intermediate step.

Failure to extract Director 4 movie

The file easyData.dxr when ran with projectorrays decompile -o easyData.dir easyData.dxr yields a good result:
Decompiled Macromedia Director 4.0 movie easyData.dxr to easyData.dir

However attempting to extract easyData.dir with DirectorCastRipper_D12 fails with: The specified movie file could not be loaded: easyData.dir

Using DirectorCastRipper_D10 it gets a little bit further with some Where is popups, but it also fails in the end just producing a single nearly empty Casts.csv file.

Here is what discmaster 1 extracted (it directly used macromedia director at the time): https://discmaster.textfiles.com/browse/20874/Mac%20Magazin%20and%20MacEasy%20Magazine%20CD%20-%20Issue%2034.iso/MacEasy%20CD/easyData.dxr/easyData.dxr

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.